diff --git a/docs/.vitepress/components/ColorPicker.vue b/docs/.vitepress/components/ColorPicker.vue new file mode 100644 index 000000000..a81bff831 --- /dev/null +++ b/docs/.vitepress/components/ColorPicker.vue @@ -0,0 +1,87 @@ + + + + + + + + + + + + + diff --git a/docs/.vitepress/components/HomeContainer.vue b/docs/.vitepress/components/HomeContainer.vue index 6b745da86..859490f1f 100644 --- a/docs/.vitepress/components/HomeContainer.vue +++ b/docs/.vitepress/components/HomeContainer.vue @@ -7,18 +7,29 @@ diff --git a/docs/.vitepress/components/HomeHeroIconsCard.vue b/docs/.vitepress/components/HomeHeroIconsCard.vue index 88592de4e..34a2e3499 100644 --- a/docs/.vitepress/components/HomeHeroIconsCard.vue +++ b/docs/.vitepress/components/HomeHeroIconsCard.vue @@ -32,12 +32,16 @@ function insert() { items.value[replaceIndex] = newIcon } +function startInterval() { + intervalTime.value = setInterval(() => { + insert() + }, 2000) +} + // TODO: Try maybe something else for better pref performance -// onMounted(() => { -// intervalTime.value = setInterval(() => { -// insert() -// }, 2000) -// }) +onMounted(() => { + window.addEventListener('mousemove', startInterval, { once: true }) +}) onBeforeUnmount(() => { clearInterval(intervalTime.value) @@ -76,7 +80,7 @@ onBeforeUnmount(() => { /* padding: 0 24px; */ margin-left: auto; margin-bottom: auto; - margin-top: 48px;; + margin-top: 48px; } .icons-card { background: var(--vp-c-bg-alt); diff --git a/docs/.vitepress/components/HomeIconCustomizer.vue b/docs/.vitepress/components/HomeIconCustomizer.vue new file mode 100644 index 000000000..a0ebe41b6 --- /dev/null +++ b/docs/.vitepress/components/HomeIconCustomizer.vue @@ -0,0 +1,175 @@ + + + + + + + + + + Style as you please + + + Lucide has a lot of customization options to match the icons with you UI. + + + + + + + + + + + + {{ strokeWidth }}px + + + + + + + {{ size }}px + + + + + + + + + + + + + + diff --git a/docs/.vitepress/components/HomeIconCustomizerIcons.vue b/docs/.vitepress/components/HomeIconCustomizerIcons.vue new file mode 100644 index 000000000..3984f2bfe --- /dev/null +++ b/docs/.vitepress/components/HomeIconCustomizerIcons.vue @@ -0,0 +1,66 @@ + + + + + + + + + + + diff --git a/docs/.vitepress/components/IconCustomizer.vue b/docs/.vitepress/components/IconCustomizer.vue deleted file mode 100644 index abc9e380f..000000000 --- a/docs/.vitepress/components/IconCustomizer.vue +++ /dev/null @@ -1,244 +0,0 @@ - - - - - - - Customizer - - - - - - - - - Color - - - - - - - - - - - - - - Stroke width - - - {{ strokeWidth }}px - - - - - - - - Size - - - {{ size }}px - - - - - - - - diff --git a/docs/.vitepress/components/InputField.vue b/docs/.vitepress/components/InputField.vue new file mode 100644 index 000000000..bc819ed2f --- /dev/null +++ b/docs/.vitepress/components/InputField.vue @@ -0,0 +1,48 @@ + + + + + + + {{ label }} + + + + + + + + + + diff --git a/docs/.vitepress/components/InputSearch.vue b/docs/.vitepress/components/InputSearch.vue index 7f839598b..800d3382d 100644 --- a/docs/.vitepress/components/InputSearch.vue +++ b/docs/.vitepress/components/InputSearch.vue @@ -36,10 +36,11 @@ const value = computed({ diff --git a/docs/.vitepress/components/RangeSlider.vue b/docs/.vitepress/components/RangeSlider.vue index 020a8e083..e92b29d2b 100644 --- a/docs/.vitepress/components/RangeSlider.vue +++ b/docs/.vitepress/components/RangeSlider.vue @@ -5,6 +5,7 @@ interface Props { modelValue: number; min?: number; max?: number; + steps?: number; } const props = withDefaults(defineProps(), { @@ -15,6 +16,7 @@ const props = withDefaults(defineProps(), { defineEmits(['update:modelValue']) const percentage = computed(() => `${((props.modelValue - props.min) / (props.max - props.min)) * 100}%`); +// TODO: Steps must be implemented @@ -37,6 +39,7 @@ const percentage = computed(() => `${((props.modelValue - props.min) / ( width: 100%; line-height: 10px; height: 20px; + --bar-color: var(--slider-bar-color, var(--vp-c-bg-soft)); } .slider:hover input{ @@ -64,7 +67,7 @@ const percentage = computed(() => `${((props.modelValue - props.min) / ( border-bottom-left-radius: 4px; } .slider .bar:after { - background: var(--vp-c-bg-soft); + background: var(--bar-color); width: calc(100% - v-bind(percentage)); right: 0; border-top-right-radius: 4px; diff --git a/docs/.vitepress/components/SidebarIconCustomizer.vue b/docs/.vitepress/components/SidebarIconCustomizer.vue new file mode 100644 index 000000000..25dae1403 --- /dev/null +++ b/docs/.vitepress/components/SidebarIconCustomizer.vue @@ -0,0 +1,164 @@ + + + + + + + Customizer + + + + + + + + + + + + + + {{ strokeWidth }}px + + + + + + + {{ size }}px + + + + + + + diff --git a/docs/.vitepress/components/Test.vue b/docs/.vitepress/components/Test.vue deleted file mode 100644 index 198e5c732..000000000 --- a/docs/.vitepress/components/Test.vue +++ /dev/null @@ -1,5 +0,0 @@ - - - hellow world - - \ No newline at end of file diff --git a/docs/.vitepress/lib/createCodeExamples.ts b/docs/.vitepress/lib/createCodeExamples.ts index 05690a229..c52b4f068 100644 --- a/docs/.vitepress/lib/createCodeExamples.ts +++ b/docs/.vitepress/lib/createCodeExamples.ts @@ -42,11 +42,7 @@ const getIconCodes = (name: string): CodeExampleType => { const App = () => { return ( - <${pascalCase} - color="red" - size={48} - strokeWidth={1.5} - /> + <${pascalCase}/> ); }; @@ -63,7 +59,7 @@ export default App; { language: 'vue', code: ` - <${pascalCase} color="red" :size="32" /> + <${pascalCase} /> -<${pascalCase} - color={red} - size={48} - strokeWidth={1.5} -/> +<${pascalCase}/> `, metastring: '{2,5}', }, @@ -104,11 +96,7 @@ import { ${pascalCase} } from 'lucide-svelte'; const App = () => { return ( - <${pascalCase} - color="red" - size={48} - strokeWidth={1.5} - /> + <${pascalCase}/> ); }; @@ -128,11 +116,7 @@ export default App; const App = () => { return ( - <${pascalCase} - color="red" - size={48} - strokeWidth={1.5} - /> + <${pascalCase}/> ); }; diff --git a/docs/.vitepress/theme/layouts/IconsSidebarNavAfter.vue b/docs/.vitepress/theme/layouts/IconsSidebarNavAfter.vue index 86645b49b..7484ca052 100644 --- a/docs/.vitepress/theme/layouts/IconsSidebarNavAfter.vue +++ b/docs/.vitepress/theme/layouts/IconsSidebarNavAfter.vue @@ -2,7 +2,7 @@ import { useData } from 'vitepress' import CategoryList from '../../components/CategoryList.vue' -import IconCustomizer from '../../components/IconCustomizer.vue' +import SidebarIconCustomizer from '../../components/SidebarIconCustomizer.vue' const { page } = useData() @@ -10,7 +10,7 @@ const { page } = useData() - + diff --git a/docs/.vitepress/theme/style.css b/docs/.vitepress/theme/style.css index 0e24a67ca..a9da3831d 100644 --- a/docs/.vitepress/theme/style.css +++ b/docs/.vitepress/theme/style.css @@ -16,6 +16,7 @@ .VPNavBarTitle .logo { height: 36px; + width: 36px; } .VPNavBarTitle .title { diff --git a/docs/.vitepress/vercel.json b/docs/.vitepress/vercel.json deleted file mode 100644 index 831dfac3e..000000000 --- a/docs/.vitepress/vercel.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "cleanUrls" : true, - "redirects": [ - { - "source": "/icon/:path*", - "destination":"/icons/:path*", - "permanent": true - } - ] -} diff --git a/docs/icons/[name].md b/docs/icons/[name].md index a5a545d45..ab3d59c51 100644 --- a/docs/icons/[name].md +++ b/docs/icons/[name].md @@ -54,7 +54,7 @@ const codeExample = computed(() => params.value.codeExamples?.map( max-width: 240px; } - @media (min-width: 640px) { + (min-width: 640px) { .layout { align-items: flex-start; display: grid; diff --git a/docs/index.md b/docs/index.md index ea6012bfa..a3a36c9ef 100644 --- a/docs/index.md +++ b/docs/index.md @@ -50,6 +50,8 @@ features: + diff --git a/docs/vercel.json b/docs/vercel.json deleted file mode 100644 index e3a27b5b5..000000000 --- a/docs/vercel.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "cleanUrls" : true, - "routes": [ - { - "source": "/icon/:path*", - "destination": "/icons/:path*", - "permanent": true - } - ] -} diff --git a/scripts/writeVercelOutput.mjs b/scripts/writeVercelOutput.mjs index cdeabad11..1bcaa18ab 100644 --- a/scripts/writeVercelOutput.mjs +++ b/scripts/writeVercelOutput.mjs @@ -6,7 +6,7 @@ const currentDir = process.cwd(); const vercelRouteConfig = { version: 3, overrides: {}, - // cleanUrls: true, + cleanUrls: true, routes: [ { handle: 'filesystem',
+ Lucide has a lot of customization options to match the icons with you UI. +