From e88852260c2468b0379698a6147fa77f4aa1a0cd Mon Sep 17 00:00:00 2001 From: Benjamin Canac Date: Fri, 10 Oct 2025 16:24:22 +0200 Subject: [PATCH 1/3] feat(components): expose `ui` in slot props where used --- src/runtime/components/Accordion.vue | 14 +++--- src/runtime/components/Alert.vue | 6 +-- src/runtime/components/AuthForm.vue | 4 +- src/runtime/components/Badge.vue | 8 ++-- src/runtime/components/Banner.vue | 6 +-- src/runtime/components/Breadcrumb.vue | 12 ++--- src/runtime/components/Button.vue | 8 ++-- src/runtime/components/ChatMessage.vue | 4 +- src/runtime/components/CommandPalette.vue | 16 +++---- src/runtime/components/ContextMenu.vue | 4 +- src/runtime/components/ContextMenuContent.vue | 12 ++--- src/runtime/components/DashboardNavbar.vue | 12 ++--- src/runtime/components/DashboardSidebar.vue | 8 ++-- src/runtime/components/DropdownMenu.vue | 4 +- .../components/DropdownMenuContent.vue | 12 ++--- src/runtime/components/FileUpload.vue | 12 ++--- src/runtime/components/FooterColumns.vue | 10 ++-- src/runtime/components/Header.vue | 4 +- src/runtime/components/Input.vue | 8 ++-- src/runtime/components/InputMenu.vue | 46 ++++++++----------- src/runtime/components/InputTags.vue | 14 +++--- src/runtime/components/Modal.vue | 4 +- src/runtime/components/NavigationMenu.vue | 10 ++-- src/runtime/components/PageAnchors.vue | 10 ++-- src/runtime/components/PageCard.vue | 4 +- src/runtime/components/PageFeature.vue | 4 +- src/runtime/components/PageLinks.vue | 10 ++-- src/runtime/components/PageSection.vue | 4 +- src/runtime/components/Select.vue | 37 ++++++--------- src/runtime/components/SelectMenu.vue | 37 ++++++--------- src/runtime/components/Slideover.vue | 4 +- src/runtime/components/Stepper.vue | 4 +- src/runtime/components/Tabs.vue | 16 +++---- src/runtime/components/Textarea.vue | 8 ++-- src/runtime/components/Toast.vue | 6 +-- src/runtime/components/Tree.vue | 12 +++-- src/runtime/components/User.vue | 4 +- .../components/content/ContentNavigation.vue | 12 ++--- .../components/content/ContentSurround.vue | 10 ++-- src/runtime/components/content/ContentToc.vue | 8 ++-- src/runtime/types/tv.ts | 5 ++ 41 files changed, 205 insertions(+), 228 deletions(-) diff --git a/src/runtime/components/Accordion.vue b/src/runtime/components/Accordion.vue index 81f329a02f..70a6f0c9ef 100644 --- a/src/runtime/components/Accordion.vue +++ b/src/runtime/components/Accordion.vue @@ -53,15 +53,15 @@ export interface AccordionProps extends export interface AccordionEmits extends AccordionRootEmits {} -type SlotProps = (props: { item: T, index: number, open: boolean }) => any +type SlotProps = (props: { item: T, index: number, open: boolean, ui: Accordion['ui'] }) => any export type AccordionSlots = { leading: SlotProps - default: SlotProps + default(props: { item: T, index: number, open: boolean }): any trailing: SlotProps content: SlotProps body: SlotProps -} & DynamicSlots +} & DynamicSlots @@ -104,7 +104,7 @@ const ui = computed(() => tv({ extend: tv(theme), ...(appConfig.ui?.accordion || > - + @@ -112,16 +112,16 @@ const ui = computed(() => tv({ extend: tv(theme), ...(appConfig.ui?.accordion || {{ get(item, props.labelKey as string) }} - + - +
- + {{ item.content }}
diff --git a/src/runtime/components/Alert.vue b/src/runtime/components/Alert.vue index 1d9ab5c5c1..32fbb51fc6 100644 --- a/src/runtime/components/Alert.vue +++ b/src/runtime/components/Alert.vue @@ -61,11 +61,11 @@ export interface AlertEmits { } export interface AlertSlots { - leading(props?: {}): any + leading(props: { ui: Alert['ui'] }): any title(props?: {}): any description(props?: {}): any actions(props?: {}): any - close(props: { ui: { [K in keyof Required]: (props?: Record) => string } }): any + close(props: { ui: Alert['ui'] }): any } @@ -98,7 +98,7 @@ const ui = computed(() => tv({ extend: tv(theme), ...(appConfig.ui?.alert || {})