mirror of
https://github.com/lucide-icons/lucide.git
synced 2026-08-29 09:28:23 +02:00
* chore: upgrade eslint to v9 latest with compatible lint deps Agent-Logs-Url: https://github.com/lucide-icons/lucide/sessions/f7c1f1b5-d213-4afa-91a8-b799a16397ec * Fix eslint config * Fix a lot of eslint errors * Fix eslint * Fix eslint errors * Fix eslint errors * Fix types * Fix eslint warning * Format code * Add eslint 10 * Remove unused vars * Update pnpm * Update deps --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
35 lines
743 B
TypeScript
35 lines
743 B
TypeScript
import { ref, inject, Ref } from 'vue';
|
|
|
|
export const ICON_STYLE_CONTEXT = Symbol('style');
|
|
|
|
interface IconSizeContext {
|
|
size: Ref<number>;
|
|
strokeWidth: Ref<number>;
|
|
color: Ref<string>;
|
|
absoluteStrokeWidth: Ref<boolean>;
|
|
}
|
|
|
|
export const STYLE_DEFAULTS = {
|
|
size: 24,
|
|
strokeWidth: 2,
|
|
color: 'currentColor',
|
|
absoluteStrokeWidth: false,
|
|
};
|
|
|
|
export const iconStyleContext = {
|
|
size: ref(24),
|
|
strokeWidth: ref(2),
|
|
color: ref('currentColor'),
|
|
absoluteStrokeWidth: ref(false),
|
|
};
|
|
|
|
export function useIconStyleContext(): IconSizeContext {
|
|
const context = inject<IconSizeContext>(ICON_STYLE_CONTEXT);
|
|
|
|
if (!context) {
|
|
throw new Error('useIconStyleContext must be used with useIconStyleProvider');
|
|
}
|
|
|
|
return context;
|
|
}
|