mirror of
https://github.com/lucide-icons/lucide.git
synced 2026-08-29 12:18:23 +02:00
* add new docs
* Add styling
* Move files
* Add active selection
* improve grid overview
* improve grid
* Add icon detail page
* Minor changes
* Fix icon preview
* optimize home card
* Add code examples
* Add gitignore
* correct temp directory
* Add first cusotmizer
* Add customizer
* fix images paths
* Add reset function
* Adjust category rendering
* Add packages section
* Some fixes
* Fix vercel build icon
* Small code adjustment
* move file
* Try this
* Add code groups with syntax highlighting
* Add search icon
* Cleanup
* update lockfile
* turnoff 404
* remove docs/iconMetaData.ts
* fix build
* Fix build 2
* cleanup
* Add icon customizer
* Fix build
* Add steps
* Add Button menu
* A lot off fixes!
* cleanup
* Fix build
* Css fixes
* Override menu icon
* try this to improve preformance
* minor improvements
* add comment
* add readme
* Add title
* minor fixes
* Fixes sliders + removes random backticks from index
* Added package list base, still WIP
* Added Guide+Source buttons to package list items
* Responsive support for XS screens
* Map categories count
* Adjust tooltip hover position
* Add see in action icon
* Add download options
* Aligns category list items to baseline and decreases category count weight
* Fixes event target error for categorylistitems
* Added icon release metadata builder
* Adds version badges to hero + icon detail overlay
* Added contributors.
Added Copy Angular.
Added release info to icon page.
* Centres contributor tooltip
* Fixed stroke step + added reset button
* Extracted reset button as a separate component for reusability
* Makes HomeIconCustomizerIcons less dense
* Fixes Button menu
* adjust versions and contributors styling on detail page
* Fix build?
* Fix build 2?
* Fix build 3
* Fix build 4
* Fix build 5?
* Add latest gh-icon changes
* Add comment
* Try fetch tags to retrieve release data
* try fetch all tags
* Add related icons
* Add stikcy search bar
* Add no results components
* Try to fix animation
* Try optimizing for categories
* Hide buggy animated icon
* minor fixes
* Add footer
* Add contributute link in footer
* Add copy name
* Add 100% preview icons
* remove site directory
* clean up
* Add redirects
* Fix build?
* fix redirect?
* minor improvements
* Fix icons preview on mobile
* Small preformance improvement
* Dark mode fixes for package icons
* Sort related icons by similarity + somewhat better name similarity matching
* Replace icon design guide images with uniform SVGs
* update lockfile
* Adds git clone to manually fetch the main repository for creating release metadata
* Remove initial v0.0.0 from release metadata
* Add extra CTA to no results behaviour
* Remove tags, as they are too overused
* Revert "Remove tags, as they are too overused"
This reverts commit 909b7563c0.
* Checkout icons from main
* Add absoluteStrokeWidth switch
* Add absolute strokewidth to home customizer
* Add absolute strokewidth to copy code button
* remove unused import
* compare build time
* improve build speed
* Try new release meta data script
* add fetch tags
* try with branch and remote
* try with url
* try without ssh
* Fix fetch tags in build file
* Cleanup
* Fix fallback
* improve release data
* delete relatedIcons.json, because it should be gitignored
* Add icon details
* Fix import
* minor fixes
* Try running script parallel
* Revert icon details
* include aliases in release meta data
* Final fixes
* Final fixes 2
* minor code adjustment
* Fix build
* test
* Revert concurrent build flow
* switch back to concurrent build strategy
* revert icon changes
* update package.json
* update package.json
* dedube packages
---------
Co-authored-by: Karsa <karsa@karsa.org>
78 lines
1.8 KiB
Vue
78 lines
1.8 KiB
Vue
<script setup lang="ts">
|
|
import { ref } from 'vue';
|
|
import { data } from './HomeHeroIconsCard.data'
|
|
import LucideIcon from '../base/LucideIcon.vue'
|
|
import { vIntersectionObserver } from '@vueuse/components'
|
|
|
|
const getInitialItems = () => data.icons.slice(0, 64)
|
|
const items = ref(getInitialItems())
|
|
const showIcons = ref(false)
|
|
|
|
// Added intersection observer to improve performance
|
|
const onIntersectionObserver: IntersectionObserverCallback = ([{ isIntersecting }]) => {
|
|
if (isIntersecting) {
|
|
showIcons.value = true
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<template>
|
|
<div class="icon-grid" v-intersection-observer="onIntersectionObserver">
|
|
<template v-if="showIcons">
|
|
<div
|
|
v-for="icon in items"
|
|
class="icon-grid-item"
|
|
>
|
|
<LucideIcon v-bind="icon" class="lucide-icon"/>
|
|
</div>
|
|
</template>
|
|
</div>
|
|
</template>
|
|
|
|
<style scoped>
|
|
.icon-grid {
|
|
display: grid;
|
|
gap: 1px;
|
|
grid-template-columns: repeat(auto-fill, minmax(68px, 1fr));
|
|
grid-template-rows: repeat(auto-fill, minmax(68px, 1fr));
|
|
width: 100%;
|
|
height:100%;
|
|
max-height: 360px;
|
|
gap: 1px;
|
|
overflow: hidden;
|
|
position: relative;
|
|
border-radius: 12px;
|
|
border: 8px solid var(--vp-c-bg);
|
|
position: relative;
|
|
top: 48px;
|
|
right: 0;
|
|
box-shadow: var(--vp-shadow-4);
|
|
}
|
|
|
|
.icon-grid-item {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
background: var(--vp-c-bg);
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.icon-grid {
|
|
top: 0;
|
|
right: -48px;
|
|
}
|
|
}
|
|
|
|
.lucide-icon {
|
|
will-change: width, height, stroke-width, stroke;
|
|
color: var(--customize-color, currentColor);
|
|
stroke-width: var(--customize-strokeWidth, 2);
|
|
width: calc(var(--customize-size, 24) * 1px);
|
|
height: calc(var(--customize-size, 24) * 1px);
|
|
}
|
|
|
|
.icons-container.absolute-stroke-width .lucide-icon {
|
|
stroke-width: calc(var(--customize-strokeWidth, 2) * 24 / var(--customize-size, 24));
|
|
}
|
|
</style>
|