From fb4e05c65f331478cb06f9b1679d4062b199a62d Mon Sep 17 00:00:00 2001 From: Romain Hamel Date: Tue, 4 Mar 2025 10:40:13 +0100 Subject: [PATCH] chore(components): add `@IconifyIcon` tag on icon properties (#3445) --- src/runtime/components/Accordion.vue | 7 +++++++ src/runtime/components/Alert.vue | 4 ++++ src/runtime/components/Avatar.vue | 3 +++ src/runtime/components/Breadcrumb.vue | 1 + src/runtime/components/Calendar.vue | 4 ++++ src/runtime/components/Carousel.vue | 2 ++ src/runtime/components/Checkbox.vue | 1 + src/runtime/components/CommandPalette.vue | 7 ++++++- src/runtime/components/ContextMenu.vue | 3 +++ src/runtime/components/ContextMenuContent.vue | 9 +++++++++ src/runtime/components/DropdownMenu.vue | 3 +++ src/runtime/components/DropdownMenuContent.vue | 9 +++++++++ src/runtime/components/InputMenu.vue | 3 +++ src/runtime/components/InputNumber.vue | 2 ++ src/runtime/components/Modal.vue | 1 + src/runtime/components/NavigationMenu.vue | 5 +++++ src/runtime/components/Pagination.vue | 5 +++++ src/runtime/components/Select.vue | 2 ++ src/runtime/components/SelectMenu.vue | 3 +++ src/runtime/components/Slideover.vue | 1 + src/runtime/components/Switch.vue | 11 +++++++++-- src/runtime/components/Toast.vue | 1 + src/runtime/components/Tree.vue | 9 +++++++++ src/runtime/composables/useComponentIcons.ts | 16 +++++++++++++--- 24 files changed, 106 insertions(+), 6 deletions(-) diff --git a/src/runtime/components/Accordion.vue b/src/runtime/components/Accordion.vue index d9c9a1ca..5d06196d 100644 --- a/src/runtime/components/Accordion.vue +++ b/src/runtime/components/Accordion.vue @@ -12,7 +12,13 @@ const accordion = tv({ extend: tv(theme), ...(appConfigAccordion.ui?.accordion | export interface AccordionItem { label?: string + /** + * @IconifyIcon + */ icon?: string + /** + * @IconifyIcon + */ trailingIcon?: string slot?: string content?: string @@ -31,6 +37,7 @@ export interface AccordionProps extends Pick { /** * The icon to use as a separator. * @defaultValue appConfig.ui.icons.chevronRight + * @IconifyIcon */ separatorIcon?: string /** diff --git a/src/runtime/components/Calendar.vue b/src/runtime/components/Calendar.vue index ca5e0f5a..bfaa2b3a 100644 --- a/src/runtime/components/Calendar.vue +++ b/src/runtime/components/Calendar.vue @@ -29,21 +29,25 @@ export interface CalendarProps extends Omi /** * The icon to use for the next year control. * @defaultValue appConfig.ui.icons.chevronDoubleRight + * @IconifyIcon */ nextYearIcon?: string /** * The icon to use for the next month control. * @defaultValue appConfig.ui.icons.chevronRight + * @IconifyIcon */ nextMonthIcon?: string /** * The icon to use for the previous year control. * @defaultValue appConfig.ui.icons.chevronDoubleLeft + * @IconifyIcon */ prevYearIcon?: string /** * The icon to use for the previous month control. * @defaultValue appConfig.ui.icons.chevronLeft + * @IconifyIcon */ prevMonthIcon?: string color?: CalendarVariants['color'] diff --git a/src/runtime/components/Carousel.vue b/src/runtime/components/Carousel.vue index f4f725b5..f8a2b149 100644 --- a/src/runtime/components/Carousel.vue +++ b/src/runtime/components/Carousel.vue @@ -35,6 +35,7 @@ export interface CarouselProps extends Omit extends Omit { ignoreFilter?: boolean /** Filter group items after the search happened. */ postFilter?: (searchTerm: string, items: T[]) => T[] - /** The icon displayed when an item is highlighted. */ + /** + * The icon displayed when an item is highlighted. + * @IconifyIcon + */ highlightedIcon?: string } @@ -60,6 +63,7 @@ export interface CommandPaletteProps extends Pick extends Pick extends Omit { /** * The icon displayed when an item is checked. * @defaultValue appConfig.ui.icons.check + * @IconifyIcon */ checkedIcon?: string /** * The icon displayed when an item is loading. * @defaultValue appConfig.ui.icons.loading + * @IconifyIcon */ loadingIcon?: string /** * The icon displayed when the item is an external link. * Set to `false` to hide the external icon. * @defaultValue appConfig.ui.icons.external + * @IconifyIcon */ externalIcon?: boolean | string /** The content of the menu. */ diff --git a/src/runtime/components/ContextMenuContent.vue b/src/runtime/components/ContextMenuContent.vue index 22db5f55..cc8def87 100644 --- a/src/runtime/components/ContextMenuContent.vue +++ b/src/runtime/components/ContextMenuContent.vue @@ -11,8 +11,17 @@ interface ContextMenuContentProps extends Omit extends Omit /** * The icon displayed when an item is checked. * @defaultValue appConfig.ui.icons.check + * @IconifyIcon */ checkedIcon?: string /** * The icon displayed when an item is loading. * @defaultValue appConfig.ui.icons.loading + * @IconifyIcon */ loadingIcon?: string /** * The icon displayed when the item is an external link. * Set to `false` to hide the external icon. * @defaultValue appConfig.ui.icons.external + * @IconifyIcon */ externalIcon?: boolean | string /** diff --git a/src/runtime/components/DropdownMenuContent.vue b/src/runtime/components/DropdownMenuContent.vue index 8405b6c0..90c0f976 100644 --- a/src/runtime/components/DropdownMenuContent.vue +++ b/src/runtime/components/DropdownMenuContent.vue @@ -12,8 +12,17 @@ interface DropdownMenuContentProps extends Omit, I extends Ma /** * The icon displayed to open the menu. * @defaultValue appConfig.ui.icons.chevronDown + * @IconifyIcon */ trailingIcon?: string /** * The icon displayed when an item is selected. * @defaultValue appConfig.ui.icons.check + * @IconifyIcon */ selectedIcon?: string /** * The icon displayed to delete a tag. * Works only when `multiple` is `true`. * @defaultValue appConfig.ui.icons.close + * @IconifyIcon */ deleteIcon?: string /** diff --git a/src/runtime/components/InputNumber.vue b/src/runtime/components/InputNumber.vue index 12918fbc..315fdecc 100644 --- a/src/runtime/components/InputNumber.vue +++ b/src/runtime/components/InputNumber.vue @@ -40,6 +40,7 @@ export interface InputNumberProps extends Pick extends Pick, I extends Maybe /** * The icon displayed to open the menu. * @defaultValue appConfig.ui.icons.chevronDown + * @IconifyIcon */ trailingIcon?: string /** * The icon displayed when an item is selected. * @defaultValue appConfig.ui.icons.check + * @IconifyIcon */ selectedIcon?: string /** diff --git a/src/runtime/components/SelectMenu.vue b/src/runtime/components/SelectMenu.vue index f8e0fbd7..0cf3c59c 100644 --- a/src/runtime/components/SelectMenu.vue +++ b/src/runtime/components/SelectMenu.vue @@ -47,11 +47,13 @@ export interface SelectMenuProps, I extends M /** * The icon displayed to open the menu. * @defaultValue appConfig.ui.icons.chevronDown + * @IconifyIcon */ trailingIcon?: string /** * The icon displayed when an item is selected. * @defaultValue appConfig.ui.icons.check + * @IconifyIcon */ selectedIcon?: string /** @@ -62,6 +64,7 @@ export interface SelectMenuProps, I extends M /** * Display an arrow alongside the menu. * @defaultValue false + * @IconifyIcon */ arrow?: boolean | Omit /** diff --git a/src/runtime/components/Slideover.vue b/src/runtime/components/Slideover.vue index 631b5614..869bc1f0 100644 --- a/src/runtime/components/Slideover.vue +++ b/src/runtime/components/Slideover.vue @@ -43,6 +43,7 @@ export interface SlideoverProps extends DialogRootProps { /** * The icon displayed in the close button. * @defaultValue appConfig.ui.icons.close + * @IconifyIcon */ closeIcon?: string /** diff --git a/src/runtime/components/Switch.vue b/src/runtime/components/Switch.vue index 7b48f3d9..0add71a1 100644 --- a/src/runtime/components/Switch.vue +++ b/src/runtime/components/Switch.vue @@ -26,11 +26,18 @@ export interface SwitchProps extends Pick export type TreeItem = { + /** + * @IconifyIcon + */ icon?: string label?: string + /** + * @IconifyIcon + */ trailingIcon?: string defaultExpanded?: boolean disabled?: boolean @@ -47,16 +53,19 @@ export interface TreeProps