diff --git a/docs/.vitepress/theme/components/SurveyAskOverlay.vue b/docs/.vitepress/theme/components/SurveyAskOverlay.vue index fd693c90d..e1e7947a7 100644 --- a/docs/.vitepress/theme/components/SurveyAskOverlay.vue +++ b/docs/.vitepress/theme/components/SurveyAskOverlay.vue @@ -73,7 +73,7 @@ function hidePopup() { :iconNode="x" name="x" :size="20" - absoluteStrokeWidth + nonScalingStroke /> diff --git a/docs/.vitepress/theme/components/base/Switch.vue b/docs/.vitepress/theme/components/base/Switch.vue index cd5de267a..1da8613a4 100644 --- a/docs/.vitepress/theme/components/base/Switch.vue +++ b/docs/.vitepress/theme/components/base/Switch.vue @@ -6,6 +6,10 @@ modelValue: { type: Boolean, default: false + }, + id: { + type: String, + default: '' } }) @@ -23,6 +27,7 @@ @update:model-value="emit('update:modelValue', $event)" class="switch" :class="{ enabled: isHydrated && modelValue }" + :id="id" > diff --git a/docs/.vitepress/theme/components/home/HomeIconCustomizer.vue b/docs/.vitepress/theme/components/home/HomeIconCustomizer.vue index 67ad6bf7f..b5599fedc 100644 --- a/docs/.vitepress/theme/components/home/HomeIconCustomizer.vue +++ b/docs/.vitepress/theme/components/home/HomeIconCustomizer.vue @@ -9,7 +9,7 @@ import ResetButton from '../base/ResetButton.vue'; import HomeIconCustomizerIcons from './HomeIconCustomizerIcons.vue'; import Switch from '../base/Switch.vue'; -const { color, strokeWidth, size, absoluteStrokeWidth, isCustomized, resetStyle } = useIconStyle(); +const { color, strokeWidth, size, nonScalingStroke, isCustomized, resetStyle } = useIconStyle(); const iconStyle = computed(() => ({ '--home-icon-color': color.value, @@ -85,14 +85,14 @@ const iconStyle = computed(() => ({ @@ -101,7 +101,7 @@ const iconStyle = computed(() => ({
diff --git a/docs/.vitepress/theme/components/home/HomeIconCustomizerIcons.vue b/docs/.vitepress/theme/components/home/HomeIconCustomizerIcons.vue index 7f0ca5bb9..bfd558982 100644 --- a/docs/.vitepress/theme/components/home/HomeIconCustomizerIcons.vue +++ b/docs/.vitepress/theme/components/home/HomeIconCustomizerIcons.vue @@ -79,7 +79,7 @@ const onIntersectionObserver: IntersectionObserverCallback = ([{ isIntersecting max-height: 3rem; } -.icon-grid.absolute-stroke-width .lucide-icon { +.icon-grid.non-scaling-stroke .lucide-icon { stroke-width: calc(var(--home-icon-stroke-width, 2) * 24 / var(--home-icon-size, 24)); } diff --git a/docs/.vitepress/theme/components/icons/CarbonAdOverlay.vue b/docs/.vitepress/theme/components/icons/CarbonAdOverlay.vue index e1bce79c9..3e5eafff4 100644 --- a/docs/.vitepress/theme/components/icons/CarbonAdOverlay.vue +++ b/docs/.vitepress/theme/components/icons/CarbonAdOverlay.vue @@ -48,7 +48,7 @@ onMounted(() => { :iconNode="x" name="x" :size="20" - absoluteStrokeWidth + nonScalingStroke /> diff --git a/docs/.vitepress/theme/components/icons/CopyCodeButton.vue b/docs/.vitepress/theme/components/icons/CopyCodeButton.vue index a58fcf4f5..9a50081b3 100644 --- a/docs/.vitepress/theme/components/icons/CopyCodeButton.vue +++ b/docs/.vitepress/theme/components/icons/CopyCodeButton.vue @@ -9,7 +9,7 @@ const props = defineProps<{ name: string; popoverPosition?: 'top' | 'bottom'; }>(); -const { size, color, strokeWidth, absoluteStrokeWidth } = useIconStyleContext(); +const { size, color, strokeWidth, nonScalingStroke } = useIconStyleContext(); const { animate, confetti } = useConfetti(); const componentName = computed(() => { return (toPascalCase(props.name) as string).replace(/\s/g, ''); @@ -30,8 +30,8 @@ function copyJSX() { attrs.push(`strokeWidth={${strokeWidth.value}}`); } - if (absoluteStrokeWidth.value) { - attrs.push(`absoluteStrokeWidth`); + if (nonScalingStroke.value) { + attrs.push(`nonScalingStroke`); } const code = `<${componentName.value}${attrs.join(' ')} />`; @@ -60,8 +60,8 @@ function copyVue() { attrs.push(`:stroke-width="${strokeWidth.value}"`); } - if (absoluteStrokeWidth.value) { - attrs.push(`absoluteStrokeWidth`); + if (nonScalingStroke.value) { + attrs.push(`nonScalingStroke`); } const code = `<${componentName.value}${attrs.join(' ')} />`; @@ -86,8 +86,8 @@ function copyAngular() { attrs.push(`[strokeWidth]="${strokeWidth.value}"`); } - if (absoluteStrokeWidth.value) { - attrs.push(`[absoluteStrokeWidth]="true"`); + if (nonScalingStroke.value) { + attrs.push(`[nonScalingStroke]="true"`); } const code = ``; diff --git a/docs/.vitepress/theme/components/icons/IconItem.vue b/docs/.vitepress/theme/components/icons/IconItem.vue index 762dcdc80..78b27a846 100644 --- a/docs/.vitepress/theme/components/icons/IconItem.vue +++ b/docs/.vitepress/theme/components/icons/IconItem.vue @@ -204,7 +204,7 @@ const DiamondIcon = createLucideIcon('Diamond', diamond); max-height: 3rem; } -html.absolute-stroke-width .lucide-icon.customizable { +html.non-scaling-stroke .lucide-icon.customizable { stroke-width: calc(var(--customize-strokeWidth, 2) * 24 / var(--customize-size, 24)); } diff --git a/docs/.vitepress/theme/components/icons/IconPreview.vue b/docs/.vitepress/theme/components/icons/IconPreview.vue index 6651b08f0..a4e65e56e 100644 --- a/docs/.vitepress/theme/components/icons/IconPreview.vue +++ b/docs/.vitepress/theme/components/icons/IconPreview.vue @@ -1,7 +1,7 @@