diff --git a/docs/.vitepress/theme/components/icons/IconGrid.vue b/docs/.vitepress/theme/components/icons/IconGrid.vue
index 351b99fb3..363faecde 100644
--- a/docs/.vitepress/theme/components/icons/IconGrid.vue
+++ b/docs/.vitepress/theme/components/icons/IconGrid.vue
@@ -8,6 +8,7 @@ const props = defineProps<{
icons: IconEntity[]
activeIcon?: string
overlayMode?: boolean
+ hideIcons?: boolean
}>()
function setActiveIcon(name: string) {
@@ -25,6 +26,7 @@ function setActiveIcon(name: string) {
:active="activeIcon === icon.name"
customizable
:overlayMode="overlayMode"
+ :hideIcon="hideIcons"
/>
diff --git a/docs/.vitepress/theme/components/icons/IconItem.vue b/docs/.vitepress/theme/components/icons/IconItem.vue
index f5e8d6be5..3c12440bb 100644
--- a/docs/.vitepress/theme/components/icons/IconItem.vue
+++ b/docs/.vitepress/theme/components/icons/IconItem.vue
@@ -15,6 +15,7 @@ const props = defineProps<{
active: boolean;
customizable?: boolean;
overlayMode?: boolean
+ hideIcon?: boolean
}>()
const emit = defineEmits(['setActiveIcon'])
@@ -45,7 +46,12 @@ function navigateToIcon() {
:href="`/icons/${props.name}`"
>
-
+
diff --git a/docs/.vitepress/theme/components/icons/IconsCategory.vue b/docs/.vitepress/theme/components/icons/IconsCategory.vue
new file mode 100644
index 000000000..5977910b1
--- /dev/null
+++ b/docs/.vitepress/theme/components/icons/IconsCategory.vue
@@ -0,0 +1,56 @@
+
+
+
+
+
+
+ {{ category.title }}
+
+ $emit('setActiveIcon', $event)"
+ overlayMode
+ :hideIcons="!showIcons"
+ />
+
+
+
+
diff --git a/docs/.vitepress/theme/components/icons/IconsCategoryOverview.vue b/docs/.vitepress/theme/components/icons/IconsCategoryOverview.vue
index c91c10787..86783c095 100644
--- a/docs/.vitepress/theme/components/icons/IconsCategoryOverview.vue
+++ b/docs/.vitepress/theme/components/icons/IconsCategoryOverview.vue
@@ -2,11 +2,11 @@
import { ref, computed, defineAsyncComponent } from 'vue'
import type { IconEntity, Category } from '../../types'
import IconDetailOverlay from './IconDetailOverlay.vue'
-import IconGrid from './IconGrid.vue'
import useSearch from '../../composables/useSearch'
import InputSearch from '../base/InputSearch.vue'
import useSearchInput from '../../composables/useSearchInput'
import StickyBar from './StickyBar.vue'
+import IconsCategory from './IconsCategory.vue'
const props = defineProps<{
icons: IconEntity[]
@@ -58,7 +58,7 @@ const NoResults = defineAsyncComponent(() =>
-
+
:searchQuery="searchQuery"
@clear="searchQuery = ''"
/>
-
-
-
- {{ category.title }}
-
-
-
+
diff --git a/docs/.vitepress/theme/components/icons/StickyBar.vue b/docs/.vitepress/theme/components/icons/StickyBar.vue
index 737f73935..72c5cce9b 100644
--- a/docs/.vitepress/theme/components/icons/StickyBar.vue
+++ b/docs/.vitepress/theme/components/icons/StickyBar.vue
@@ -8,13 +8,13 @@
.search-bar {
margin-bottom: 16px;
position: sticky;
- z-index: 70;
+ z-index: 30;
top: 48px;
padding-top: 24px;
margin-top: -32px;
width: 100%;
display: flex;
- margin-bottom: 32px;;
+ margin-bottom: 32px;
background: var(--vp-c-bg);
box-shadow: 0 16px 24px var(--vp-c-bg);
}
diff --git a/docs/.vitepress/theme/types.ts b/docs/.vitepress/theme/types.ts
index 933512fd9..2b6085bd5 100644
--- a/docs/.vitepress/theme/types.ts
+++ b/docs/.vitepress/theme/types.ts
@@ -15,6 +15,7 @@ export interface Category {
title: string
icon?: string
iconCount: number
+ icons?: IconEntity[]
}
interface Shield {