From b9983549a4b743724ea3ef99cc4a243f5ca41e53 Mon Sep 17 00:00:00 2001 From: Sandro Circi Date: Mon, 24 Mar 2025 21:38:13 +0100 Subject: [PATCH] fix(components): improve generic types (#3331) Co-authored-by: Benjamin Canac --- docs/app/components/content/ComponentCode.vue | 19 ++- .../components/content/ComponentExample.vue | 3 +- .../accordion/AccordionBodySlotExample.vue | 4 +- .../accordion/AccordionContentSlotExample.vue | 4 +- .../accordion/AccordionCustomSlotExample.vue | 6 +- .../accordion/AccordionModelValueExample.vue | 4 +- .../BreadcrumbCustomSlotExample.vue | 6 +- .../BreadcrumbSeparatorSlotExample.vue | 4 +- .../ButtonGroupDropdownExample.vue | 4 +- .../CommandPaletteCustomSlotExample.vue | 4 +- .../ContextMenuCheckboxItemsExample.vue | 4 +- .../ContextMenuColorItemsExample.vue | 4 +- .../ContextMenuCustomSlotExample.vue | 4 +- .../DropdownMenuCheckboxItemsExample.vue | 4 +- .../DropdownMenuColorItemsExample.vue | 10 +- .../DropdownMenuCustomSlotExample.vue | 26 ++-- .../dropdown-menu/DropdownMenuOpenExample.vue | 24 ++-- .../input-menu/InputMenuCountriesExample.vue | 2 +- .../input-menu/InputMenuFetchExample.vue | 8 +- .../InputMenuFilterFieldsExample.vue | 8 +- .../InputMenuIgnoreFilterExample.vue | 8 +- .../InputMenuItemsAvatarExample.vue | 12 +- .../input-menu/InputMenuItemsChipExample.vue | 13 +- .../input-menu/InputMenuItemsIconExample.vue | 5 +- .../NavigationMenuContentSlotExample.vue | 8 +- .../NavigationMenuCustomSlotExample.vue | 4 +- .../NavigationMenuModelValueExample.vue | 4 +- .../SelectMenuCountriesExample.vue | 3 +- .../select-menu/SelectMenuFetchExample.vue | 8 +- .../SelectMenuFilterFieldsExample.vue | 8 +- .../SelectMenuIgnoreFilterExample.vue | 8 +- .../SelectMenuItemsAvatarExample.vue | 12 +- .../SelectMenuItemsChipExample.vue | 12 +- .../SelectMenuItemsIconExample.vue | 4 +- .../examples/select/SelectFetchExample.vue | 11 +- .../select/SelectItemsAvatarExample.vue | 14 +- .../select/SelectItemsChipExample.vue | 17 ++- .../select/SelectItemsIconExample.vue | 6 +- .../stepper/StepperContentSlotExample.vue | 4 +- .../stepper/StepperCustomSlotExample.vue | 4 +- .../stepper/StepperModelValueExample.vue | 3 +- .../stepper/StepperWithControlsExample.vue | 4 +- .../examples/tabs/TabsContentSlotExample.vue | 4 +- .../examples/tabs/TabsCustomSlotExample.vue | 8 +- .../examples/tabs/TabsModelValueExample.vue | 4 +- .../examples/tree/TreeCustomSlotExample.vue | 6 +- .../examples/tree/TreeModelValueExample.vue | 2 +- docs/content/3.components/accordion.md | 12 ++ docs/content/3.components/breadcrumb.md | 4 + docs/content/3.components/context-menu.md | 6 + docs/content/3.components/dropdown-menu.md | 14 +- docs/content/3.components/navigation-menu.md | 18 +++ docs/content/3.components/radio-group.md | 19 +++ docs/content/3.components/stepper.md | 10 ++ docs/content/3.components/tabs.md | 14 ++ docs/package.json | 2 +- playground/app/pages/components/accordion.vue | 6 + .../app/pages/components/dropdown-menu.vue | 4 - .../app/pages/components/input-menu.vue | 8 +- .../app/pages/components/select-menu.vue | 12 +- playground/app/pages/components/select.vue | 11 +- playground/app/pages/components/stepper.vue | 24 ++-- playground/app/pages/components/tree.vue | 24 ++-- pnpm-lock.yaml | 30 +--- src/runtime/components/Accordion.vue | 17 +-- src/runtime/components/Alert.vue | 2 +- src/runtime/components/App.vue | 2 +- src/runtime/components/Breadcrumb.vue | 21 +-- src/runtime/components/Calendar.vue | 22 ++- src/runtime/components/Carousel.vue | 10 +- src/runtime/components/CommandPalette.vue | 17 +-- src/runtime/components/ContextMenu.vue | 36 +++-- src/runtime/components/ContextMenuContent.vue | 37 +++-- src/runtime/components/DropdownMenu.vue | 35 +++-- .../components/DropdownMenuContent.vue | 37 +++-- src/runtime/components/InputMenu.vue | 132 +++++++++++------- src/runtime/components/Modal.vue | 2 +- src/runtime/components/NavigationMenu.vue | 74 ++++++---- src/runtime/components/RadioGroup.vue | 35 +++-- src/runtime/components/Select.vue | 111 +++++++++------ src/runtime/components/SelectMenu.vue | 127 +++++++++++------ src/runtime/components/Slideover.vue | 2 +- src/runtime/components/Stepper.vue | 21 +-- src/runtime/components/Tabs.vue | 11 +- src/runtime/components/Toast.vue | 2 +- src/runtime/components/Tree.vue | 78 ++++++----- src/runtime/types/utils.ts | 67 +++++++-- src/runtime/utils/index.ts | 4 + test/components/Accordion.spec.ts | 4 +- test/components/Breadcrumb.spec.ts | 2 +- test/components/Carousel.spec.ts | 2 +- test/components/Chip.spec.ts | 2 +- test/components/ContextMenu.spec.ts | 27 +++- test/components/DropdownMenu.spec.ts | 27 +++- test/components/InputMenu.spec.ts | 6 +- test/components/NavigationMenu.spec.ts | 2 +- test/components/RadioGroup.spec.ts | 2 +- test/components/Select.spec.ts | 6 +- test/components/SelectMenu.spec.ts | 6 +- test/components/Stepper.spec.ts | 2 +- test/components/Tabs.spec.ts | 2 +- test/components/Tree.spec.ts | 18 ++- .../__snapshots__/InputMenu-vue.spec.ts.snap | 38 +++++ .../__snapshots__/InputMenu.spec.ts.snap | 38 +++++ .../__snapshots__/SelectMenu-vue.spec.ts.snap | 43 ++++++ .../__snapshots__/SelectMenu.spec.ts.snap | 43 ++++++ 106 files changed, 1203 insertions(+), 535 deletions(-) diff --git a/docs/app/components/content/ComponentCode.vue b/docs/app/components/content/ComponentCode.vue index ed081833..2478caac 100644 --- a/docs/app/components/content/ComponentCode.vue +++ b/docs/app/components/content/ComponentCode.vue @@ -1,5 +1,6 @@