@eslamdevui/ui 4.0.0 → 4.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.nuxt/ui/auth-form.ts +2 -2
- package/.nuxt/ui/calendar.ts +221 -9
- package/.nuxt/ui/chat-message.ts +10 -3
- package/.nuxt/ui/command-palette.ts +12 -2
- package/.nuxt/ui/content/content-search.ts +8 -1
- package/.nuxt/ui/context-menu.ts +3 -1
- package/.nuxt/ui/dashboard-panel.ts +1 -1
- package/.nuxt/ui/dashboard-search.ts +8 -1
- package/.nuxt/ui/dashboard-sidebar.ts +1 -1
- package/.nuxt/ui/drawer.ts +23 -0
- package/.nuxt/ui/dropdown-menu.ts +3 -1
- package/.nuxt/ui/empty.ts +83 -0
- package/.nuxt/ui/index.ts +1 -0
- package/.nuxt/ui/input-menu.ts +12 -2
- package/.nuxt/ui/input-number.ts +25 -14
- package/.nuxt/ui/kbd.ts +1 -1
- package/.nuxt/ui/prose/code-tree.ts +1 -1
- package/.nuxt/ui/prose/img.ts +2 -1
- package/.nuxt/ui/select-menu.ts +12 -2
- package/.nuxt/ui/select.ts +4 -2
- package/.nuxt/ui/table.ts +8 -2
- package/.nuxt/ui/tree.ts +25 -11
- package/cli/templates.mjs +14 -2
- package/dist/module.d.mts +15 -0
- package/dist/module.json +2 -2
- package/dist/module.mjs +5 -2
- package/dist/runtime/components/Accordion.d.vue.ts +11 -6
- package/dist/runtime/components/Accordion.vue +4 -4
- package/dist/runtime/components/Accordion.vue.d.ts +11 -6
- package/dist/runtime/components/Alert.d.vue.ts +6 -5
- package/dist/runtime/components/Alert.vue +1 -1
- package/dist/runtime/components/Alert.vue.d.ts +6 -5
- package/dist/runtime/components/App.d.vue.ts +5 -4
- package/dist/runtime/components/App.vue +1 -1
- package/dist/runtime/components/App.vue.d.ts +5 -4
- package/dist/runtime/components/AuthForm.d.vue.ts +33 -51
- package/dist/runtime/components/AuthForm.vue +35 -23
- package/dist/runtime/components/AuthForm.vue.d.ts +33 -51
- package/dist/runtime/components/Avatar.d.vue.ts +6 -4
- package/dist/runtime/components/Avatar.vue +10 -4
- package/dist/runtime/components/Avatar.vue.d.ts +6 -4
- package/dist/runtime/components/AvatarGroup.d.vue.ts +2 -1
- package/dist/runtime/components/AvatarGroup.vue.d.ts +2 -1
- package/dist/runtime/components/Badge.d.vue.ts +11 -4
- package/dist/runtime/components/Badge.vue +3 -3
- package/dist/runtime/components/Badge.vue.d.ts +11 -4
- package/dist/runtime/components/Banner.d.vue.ts +6 -3
- package/dist/runtime/components/Banner.vue +1 -1
- package/dist/runtime/components/Banner.vue.d.ts +6 -3
- package/dist/runtime/components/BlogPost.d.vue.ts +11 -4
- package/dist/runtime/components/BlogPost.vue +2 -2
- package/dist/runtime/components/BlogPost.vue.d.ts +11 -4
- package/dist/runtime/components/BlogPosts.d.vue.ts +23 -13
- package/dist/runtime/components/BlogPosts.vue +8 -2
- package/dist/runtime/components/BlogPosts.vue.d.ts +23 -13
- package/dist/runtime/components/Breadcrumb.d.vue.ts +23 -7
- package/dist/runtime/components/Breadcrumb.vue +8 -8
- package/dist/runtime/components/Breadcrumb.vue.d.ts +23 -7
- package/dist/runtime/components/Button.d.vue.ts +11 -4
- package/dist/runtime/components/Button.vue +3 -3
- package/dist/runtime/components/Button.vue.d.ts +11 -4
- package/dist/runtime/components/Calendar.d.vue.ts +8 -8
- package/dist/runtime/components/Calendar.vue +3 -1
- package/dist/runtime/components/Calendar.vue.d.ts +8 -8
- package/dist/runtime/components/Card.d.vue.ts +2 -1
- package/dist/runtime/components/Card.vue.d.ts +2 -1
- package/dist/runtime/components/Carousel.d.vue.ts +5 -6
- package/dist/runtime/components/Carousel.vue +33 -12
- package/dist/runtime/components/Carousel.vue.d.ts +5 -6
- package/dist/runtime/components/ChangelogVersion.d.vue.ts +14 -5
- package/dist/runtime/components/ChangelogVersion.vue +3 -3
- package/dist/runtime/components/ChangelogVersion.vue.d.ts +14 -5
- package/dist/runtime/components/ChangelogVersions.d.vue.ts +12 -39
- package/dist/runtime/components/ChangelogVersions.vue +2 -2
- package/dist/runtime/components/ChangelogVersions.vue.d.ts +12 -39
- package/dist/runtime/components/ChatMessage.d.vue.ts +3 -1
- package/dist/runtime/components/ChatMessage.vue +1 -1
- package/dist/runtime/components/ChatMessage.vue.d.ts +3 -1
- package/dist/runtime/components/ChatMessages.d.vue.ts +16 -16
- package/dist/runtime/components/ChatMessages.vue +31 -13
- package/dist/runtime/components/ChatMessages.vue.d.ts +16 -16
- package/dist/runtime/components/ChatPalette.d.vue.ts +2 -1
- package/dist/runtime/components/ChatPalette.vue.d.ts +2 -1
- package/dist/runtime/components/ChatPrompt.d.vue.ts +4 -3
- package/dist/runtime/components/ChatPrompt.vue.d.ts +4 -3
- package/dist/runtime/components/ChatPromptSubmit.d.vue.ts +2 -1
- package/dist/runtime/components/ChatPromptSubmit.vue.d.ts +2 -1
- package/dist/runtime/components/Checkbox.d.vue.ts +2 -1
- package/dist/runtime/components/Checkbox.vue.d.ts +2 -1
- package/dist/runtime/components/CheckboxGroup.d.vue.ts +4 -6
- package/dist/runtime/components/CheckboxGroup.vue.d.ts +4 -6
- package/dist/runtime/components/Chip.d.vue.ts +2 -1
- package/dist/runtime/components/Chip.vue.d.ts +2 -1
- package/dist/runtime/components/Collapsible.d.vue.ts +2 -1
- package/dist/runtime/components/Collapsible.vue.d.ts +2 -1
- package/dist/runtime/components/ColorPicker.d.vue.ts +3 -2
- package/dist/runtime/components/ColorPicker.vue.d.ts +3 -2
- package/dist/runtime/components/CommandPalette.d.vue.ts +51 -26
- package/dist/runtime/components/CommandPalette.vue +134 -68
- package/dist/runtime/components/CommandPalette.vue.d.ts +51 -26
- package/dist/runtime/components/Container.d.vue.ts +2 -1
- package/dist/runtime/components/Container.vue.d.ts +2 -1
- package/dist/runtime/components/ContextMenu.d.vue.ts +32 -11
- package/dist/runtime/components/ContextMenu.vue +2 -0
- package/dist/runtime/components/ContextMenu.vue.d.ts +32 -11
- package/dist/runtime/components/ContextMenuContent.d.vue.ts +6 -12
- package/dist/runtime/components/ContextMenuContent.vue +21 -11
- package/dist/runtime/components/ContextMenuContent.vue.d.ts +6 -12
- package/dist/runtime/components/DashboardGroup.d.vue.ts +2 -1
- package/dist/runtime/components/DashboardGroup.vue.d.ts +2 -1
- package/dist/runtime/components/DashboardNavbar.d.vue.ts +11 -4
- package/dist/runtime/components/DashboardNavbar.vue +3 -3
- package/dist/runtime/components/DashboardNavbar.vue.d.ts +11 -4
- package/dist/runtime/components/DashboardPanel.d.vue.ts +2 -1
- package/dist/runtime/components/DashboardPanel.vue.d.ts +2 -1
- package/dist/runtime/components/DashboardResizeHandle.d.vue.ts +2 -1
- package/dist/runtime/components/DashboardResizeHandle.vue.d.ts +2 -1
- package/dist/runtime/components/DashboardSearch.d.vue.ts +8 -4
- package/dist/runtime/components/DashboardSearch.vue +19 -6
- package/dist/runtime/components/DashboardSearch.vue.d.ts +8 -4
- package/dist/runtime/components/DashboardSearchButton.d.vue.ts +2 -1
- package/dist/runtime/components/DashboardSearchButton.vue +2 -2
- package/dist/runtime/components/DashboardSearchButton.vue.d.ts +2 -1
- package/dist/runtime/components/DashboardSidebar.d.vue.ts +10 -8
- package/dist/runtime/components/DashboardSidebar.vue +4 -4
- package/dist/runtime/components/DashboardSidebar.vue.d.ts +10 -8
- package/dist/runtime/components/DashboardSidebarCollapse.d.vue.ts +2 -1
- package/dist/runtime/components/DashboardSidebarCollapse.vue.d.ts +2 -1
- package/dist/runtime/components/DashboardSidebarToggle.d.vue.ts +2 -1
- package/dist/runtime/components/DashboardSidebarToggle.vue.d.ts +2 -1
- package/dist/runtime/components/DashboardToolbar.d.vue.ts +2 -1
- package/dist/runtime/components/DashboardToolbar.vue.d.ts +2 -1
- package/dist/runtime/components/Drawer.d.vue.ts +5 -1
- package/dist/runtime/components/Drawer.vue +16 -5
- package/dist/runtime/components/Drawer.vue.d.ts +5 -1
- package/dist/runtime/components/DropdownMenu.d.vue.ts +32 -11
- package/dist/runtime/components/DropdownMenu.vue +2 -0
- package/dist/runtime/components/DropdownMenu.vue.d.ts +32 -11
- package/dist/runtime/components/DropdownMenuContent.d.vue.ts +12 -14
- package/dist/runtime/components/DropdownMenuContent.vue +21 -11
- package/dist/runtime/components/DropdownMenuContent.vue.d.ts +12 -14
- package/dist/runtime/components/Empty.d.vue.ts +53 -0
- package/dist/runtime/components/Empty.vue +68 -0
- package/dist/runtime/components/Empty.vue.d.ts +53 -0
- package/dist/runtime/components/Error.d.vue.ts +2 -2
- package/dist/runtime/components/Error.vue +1 -1
- package/dist/runtime/components/Error.vue.d.ts +2 -2
- package/dist/runtime/components/FieldGroup.d.vue.ts +2 -1
- package/dist/runtime/components/FieldGroup.vue +1 -1
- package/dist/runtime/components/FieldGroup.vue.d.ts +2 -1
- package/dist/runtime/components/FileUpload.d.vue.ts +12 -9
- package/dist/runtime/components/FileUpload.vue +8 -7
- package/dist/runtime/components/FileUpload.vue.d.ts +12 -9
- package/dist/runtime/components/Footer.d.vue.ts +2 -1
- package/dist/runtime/components/Footer.vue.d.ts +2 -1
- package/dist/runtime/components/FooterColumns.d.vue.ts +13 -5
- package/dist/runtime/components/FooterColumns.vue +2 -2
- package/dist/runtime/components/FooterColumns.vue.d.ts +13 -5
- package/dist/runtime/components/Form.d.vue.ts +5 -7
- package/dist/runtime/components/Form.vue.d.ts +5 -7
- package/dist/runtime/components/FormField.d.vue.ts +2 -1
- package/dist/runtime/components/FormField.vue.d.ts +2 -1
- package/dist/runtime/components/Header.d.vue.ts +9 -7
- package/dist/runtime/components/Header.vue +3 -3
- package/dist/runtime/components/Header.vue.d.ts +9 -7
- package/dist/runtime/components/Icon.d.vue.ts +2 -1
- package/dist/runtime/components/Icon.vue.d.ts +2 -1
- package/dist/runtime/components/Input.d.vue.ts +14 -11
- package/dist/runtime/components/Input.vue +3 -3
- package/dist/runtime/components/Input.vue.d.ts +14 -11
- package/dist/runtime/components/InputMenu.d.vue.ts +49 -28
- package/dist/runtime/components/InputMenu.vue +117 -65
- package/dist/runtime/components/InputMenu.vue.d.ts +49 -28
- package/dist/runtime/components/InputNumber.d.vue.ts +6 -3
- package/dist/runtime/components/InputNumber.vue +7 -5
- package/dist/runtime/components/InputNumber.vue.d.ts +6 -3
- package/dist/runtime/components/InputTags.d.vue.ts +16 -16
- package/dist/runtime/components/InputTags.vue +5 -5
- package/dist/runtime/components/InputTags.vue.d.ts +16 -16
- package/dist/runtime/components/Kbd.d.vue.ts +2 -1
- package/dist/runtime/components/Kbd.vue.d.ts +2 -1
- package/dist/runtime/components/Link.d.vue.ts +3 -2
- package/dist/runtime/components/Link.vue.d.ts +3 -2
- package/dist/runtime/components/LinkBase.d.vue.ts +3 -2
- package/dist/runtime/components/LinkBase.vue.d.ts +3 -2
- package/dist/runtime/components/Main.d.vue.ts +3 -4
- package/dist/runtime/components/Main.vue +1 -1
- package/dist/runtime/components/Main.vue.d.ts +3 -4
- package/dist/runtime/components/Marquee.d.vue.ts +22 -1
- package/dist/runtime/components/Marquee.vue +1 -1
- package/dist/runtime/components/Marquee.vue.d.ts +22 -1
- package/dist/runtime/components/Modal.d.vue.ts +4 -6
- package/dist/runtime/components/Modal.vue +3 -6
- package/dist/runtime/components/Modal.vue.d.ts +4 -6
- package/dist/runtime/components/NavigationMenu.d.vue.ts +20 -9
- package/dist/runtime/components/NavigationMenu.vue +14 -7
- package/dist/runtime/components/NavigationMenu.vue.d.ts +20 -9
- package/dist/runtime/components/OverlayProvider.d.vue.ts +2 -1
- package/dist/runtime/components/OverlayProvider.vue.d.ts +2 -1
- package/dist/runtime/components/Page.d.vue.ts +2 -1
- package/dist/runtime/components/Page.vue.d.ts +2 -1
- package/dist/runtime/components/PageAnchors.d.vue.ts +13 -5
- package/dist/runtime/components/PageAnchors.vue +2 -2
- package/dist/runtime/components/PageAnchors.vue.d.ts +13 -5
- package/dist/runtime/components/PageAside.d.vue.ts +2 -1
- package/dist/runtime/components/PageAside.vue.d.ts +2 -1
- package/dist/runtime/components/PageBody.d.vue.ts +2 -1
- package/dist/runtime/components/PageBody.vue.d.ts +2 -1
- package/dist/runtime/components/PageCTA.d.vue.ts +2 -1
- package/dist/runtime/components/PageCTA.vue.d.ts +2 -1
- package/dist/runtime/components/PageCard.d.vue.ts +5 -2
- package/dist/runtime/components/PageCard.vue +1 -1
- package/dist/runtime/components/PageCard.vue.d.ts +5 -2
- package/dist/runtime/components/PageColumns.d.vue.ts +2 -1
- package/dist/runtime/components/PageColumns.vue.d.ts +2 -1
- package/dist/runtime/components/PageFeature.d.vue.ts +5 -2
- package/dist/runtime/components/PageFeature.vue +1 -1
- package/dist/runtime/components/PageFeature.vue.d.ts +5 -2
- package/dist/runtime/components/PageGrid.d.vue.ts +2 -1
- package/dist/runtime/components/PageGrid.vue.d.ts +2 -1
- package/dist/runtime/components/PageHeader.d.vue.ts +2 -1
- package/dist/runtime/components/PageHeader.vue.d.ts +2 -1
- package/dist/runtime/components/PageHero.d.vue.ts +2 -1
- package/dist/runtime/components/PageHero.vue.d.ts +2 -1
- package/dist/runtime/components/PageLinks.d.vue.ts +13 -5
- package/dist/runtime/components/PageLinks.vue +2 -2
- package/dist/runtime/components/PageLinks.vue.d.ts +13 -5
- package/dist/runtime/components/PageList.d.vue.ts +2 -1
- package/dist/runtime/components/PageList.vue.d.ts +2 -1
- package/dist/runtime/components/PageLogos.d.vue.ts +2 -1
- package/dist/runtime/components/PageLogos.vue.d.ts +2 -1
- package/dist/runtime/components/PageSection.d.vue.ts +5 -2
- package/dist/runtime/components/PageSection.vue +1 -1
- package/dist/runtime/components/PageSection.vue.d.ts +5 -2
- package/dist/runtime/components/Pagination.d.vue.ts +5 -2
- package/dist/runtime/components/Pagination.vue +5 -5
- package/dist/runtime/components/Pagination.vue.d.ts +5 -2
- package/dist/runtime/components/PinInput.d.vue.ts +5 -9
- package/dist/runtime/components/PinInput.vue.d.ts +5 -9
- package/dist/runtime/components/Popover.d.vue.ts +22 -23
- package/dist/runtime/components/Popover.vue +4 -4
- package/dist/runtime/components/Popover.vue.d.ts +22 -23
- package/dist/runtime/components/PricingPlan.d.vue.ts +11 -4
- package/dist/runtime/components/PricingPlan.vue +3 -3
- package/dist/runtime/components/PricingPlan.vue.d.ts +11 -4
- package/dist/runtime/components/PricingPlans.d.vue.ts +21 -13
- package/dist/runtime/components/PricingPlans.vue +7 -1
- package/dist/runtime/components/PricingPlans.vue.d.ts +21 -13
- package/dist/runtime/components/PricingTable.d.vue.ts +4 -3
- package/dist/runtime/components/PricingTable.vue.d.ts +4 -3
- package/dist/runtime/components/Progress.d.vue.ts +2 -1
- package/dist/runtime/components/Progress.vue +1 -1
- package/dist/runtime/components/Progress.vue.d.ts +2 -1
- package/dist/runtime/components/RadioGroup.d.vue.ts +4 -6
- package/dist/runtime/components/RadioGroup.vue.d.ts +4 -6
- package/dist/runtime/components/Select.d.vue.ts +25 -19
- package/dist/runtime/components/Select.vue +18 -9
- package/dist/runtime/components/Select.vue.d.ts +25 -19
- package/dist/runtime/components/SelectMenu.d.vue.ts +46 -26
- package/dist/runtime/components/SelectMenu.vue +114 -61
- package/dist/runtime/components/SelectMenu.vue.d.ts +46 -26
- package/dist/runtime/components/Separator.d.vue.ts +5 -2
- package/dist/runtime/components/Separator.vue +1 -1
- package/dist/runtime/components/Separator.vue.d.ts +5 -2
- package/dist/runtime/components/Skeleton.d.vue.ts +2 -1
- package/dist/runtime/components/Skeleton.vue.d.ts +2 -1
- package/dist/runtime/components/Slideover.d.vue.ts +4 -6
- package/dist/runtime/components/Slideover.vue +3 -6
- package/dist/runtime/components/Slideover.vue.d.ts +4 -6
- package/dist/runtime/components/Slider.d.vue.ts +5 -7
- package/dist/runtime/components/Slider.vue.d.ts +5 -7
- package/dist/runtime/components/Stepper.d.vue.ts +10 -10
- package/dist/runtime/components/Stepper.vue +1 -1
- package/dist/runtime/components/Stepper.vue.d.ts +10 -10
- package/dist/runtime/components/Switch.d.vue.ts +2 -1
- package/dist/runtime/components/Switch.vue.d.ts +2 -1
- package/dist/runtime/components/Table.d.vue.ts +27 -20
- package/dist/runtime/components/Table.vue +145 -61
- package/dist/runtime/components/Table.vue.d.ts +27 -20
- package/dist/runtime/components/Tabs.d.vue.ts +13 -9
- package/dist/runtime/components/Tabs.vue +3 -3
- package/dist/runtime/components/Tabs.vue.d.ts +13 -9
- package/dist/runtime/components/Textarea.d.vue.ts +14 -11
- package/dist/runtime/components/Textarea.vue +3 -3
- package/dist/runtime/components/Textarea.vue.d.ts +14 -11
- package/dist/runtime/components/Timeline.d.vue.ts +5 -6
- package/dist/runtime/components/Timeline.vue.d.ts +5 -6
- package/dist/runtime/components/Toast.d.vue.ts +6 -5
- package/dist/runtime/components/Toast.vue +1 -1
- package/dist/runtime/components/Toast.vue.d.ts +6 -5
- package/dist/runtime/components/Toaster.d.vue.ts +8 -1
- package/dist/runtime/components/Toaster.vue +6 -3
- package/dist/runtime/components/Toaster.vue.d.ts +8 -1
- package/dist/runtime/components/Tooltip.d.vue.ts +5 -2
- package/dist/runtime/components/Tooltip.vue +1 -1
- package/dist/runtime/components/Tooltip.vue.d.ts +5 -2
- package/dist/runtime/components/Tree.d.vue.ts +46 -10
- package/dist/runtime/components/Tree.vue +169 -81
- package/dist/runtime/components/Tree.vue.d.ts +46 -10
- package/dist/runtime/components/User.d.vue.ts +5 -2
- package/dist/runtime/components/User.vue +1 -1
- package/dist/runtime/components/User.vue.d.ts +5 -2
- package/dist/runtime/components/color-mode/ColorModeAvatar.d.vue.ts +2 -1
- package/dist/runtime/components/color-mode/ColorModeAvatar.vue.d.ts +2 -1
- package/dist/runtime/components/color-mode/ColorModeButton.d.vue.ts +2 -1
- package/dist/runtime/components/color-mode/ColorModeButton.vue.d.ts +2 -1
- package/dist/runtime/components/color-mode/ColorModeImage.d.vue.ts +2 -1
- package/dist/runtime/components/color-mode/ColorModeImage.vue.d.ts +2 -1
- package/dist/runtime/components/color-mode/ColorModeSelect.d.vue.ts +2 -1
- package/dist/runtime/components/color-mode/ColorModeSelect.vue.d.ts +2 -1
- package/dist/runtime/components/color-mode/ColorModeSwitch.d.vue.ts +2 -1
- package/dist/runtime/components/color-mode/ColorModeSwitch.vue.d.ts +2 -1
- package/dist/runtime/components/content/ContentNavigation.d.vue.ts +5 -5
- package/dist/runtime/components/content/ContentNavigation.vue +19 -9
- package/dist/runtime/components/content/ContentNavigation.vue.d.ts +5 -5
- package/dist/runtime/components/content/ContentSearch.d.vue.ts +11 -10
- package/dist/runtime/components/content/ContentSearch.vue +21 -6
- package/dist/runtime/components/content/ContentSearch.vue.d.ts +11 -10
- package/dist/runtime/components/content/ContentSearchButton.d.vue.ts +2 -1
- package/dist/runtime/components/content/ContentSearchButton.vue +2 -2
- package/dist/runtime/components/content/ContentSearchButton.vue.d.ts +2 -1
- package/dist/runtime/components/content/ContentSurround.d.vue.ts +5 -3
- package/dist/runtime/components/content/ContentSurround.vue +4 -4
- package/dist/runtime/components/content/ContentSurround.vue.d.ts +5 -3
- package/dist/runtime/components/content/ContentToc.d.vue.ts +6 -6
- package/dist/runtime/components/content/ContentToc.vue +2 -2
- package/dist/runtime/components/content/ContentToc.vue.d.ts +6 -6
- package/dist/runtime/components/locale/LocaleSelect.d.vue.ts +2 -1
- package/dist/runtime/components/locale/LocaleSelect.vue.d.ts +2 -1
- package/dist/runtime/components/prose/A.d.vue.ts +2 -1
- package/dist/runtime/components/prose/A.vue.d.ts +2 -1
- package/dist/runtime/components/prose/Accordion.d.vue.ts +8 -1
- package/dist/runtime/components/prose/Accordion.vue +3 -2
- package/dist/runtime/components/prose/Accordion.vue.d.ts +8 -1
- package/dist/runtime/components/prose/AccordionItem.d.vue.ts +2 -1
- package/dist/runtime/components/prose/AccordionItem.vue.d.ts +2 -1
- package/dist/runtime/components/prose/Badge.d.vue.ts +2 -1
- package/dist/runtime/components/prose/Badge.vue.d.ts +2 -1
- package/dist/runtime/components/prose/Blockquote.d.vue.ts +2 -1
- package/dist/runtime/components/prose/Blockquote.vue.d.ts +2 -1
- package/dist/runtime/components/prose/Callout.d.vue.ts +2 -1
- package/dist/runtime/components/prose/Callout.vue.d.ts +2 -1
- package/dist/runtime/components/prose/Card.d.vue.ts +2 -1
- package/dist/runtime/components/prose/Card.vue.d.ts +2 -1
- package/dist/runtime/components/prose/CardGroup.d.vue.ts +2 -1
- package/dist/runtime/components/prose/CardGroup.vue.d.ts +2 -1
- package/dist/runtime/components/prose/Code.d.vue.ts +2 -1
- package/dist/runtime/components/prose/Code.vue.d.ts +2 -1
- package/dist/runtime/components/prose/CodeCollapse.d.vue.ts +2 -1
- package/dist/runtime/components/prose/CodeCollapse.vue.d.ts +2 -1
- package/dist/runtime/components/prose/CodeGroup.d.vue.ts +2 -1
- package/dist/runtime/components/prose/CodeGroup.vue.d.ts +2 -1
- package/dist/runtime/components/prose/CodeIcon.d.vue.ts +2 -1
- package/dist/runtime/components/prose/CodeIcon.vue.d.ts +2 -1
- package/dist/runtime/components/prose/CodePreview.d.vue.ts +2 -1
- package/dist/runtime/components/prose/CodePreview.vue.d.ts +2 -1
- package/dist/runtime/components/prose/CodeTree.d.vue.ts +2 -1
- package/dist/runtime/components/prose/CodeTree.vue +40 -36
- package/dist/runtime/components/prose/CodeTree.vue.d.ts +2 -1
- package/dist/runtime/components/prose/Collapsible.d.vue.ts +4 -3
- package/dist/runtime/components/prose/Collapsible.vue +2 -2
- package/dist/runtime/components/prose/Collapsible.vue.d.ts +4 -3
- package/dist/runtime/components/prose/Em.d.vue.ts +2 -1
- package/dist/runtime/components/prose/Em.vue.d.ts +2 -1
- package/dist/runtime/components/prose/Field.d.vue.ts +3 -2
- package/dist/runtime/components/prose/Field.vue.d.ts +3 -2
- package/dist/runtime/components/prose/FieldGroup.d.vue.ts +2 -1
- package/dist/runtime/components/prose/FieldGroup.vue.d.ts +2 -1
- package/dist/runtime/components/prose/H1.d.vue.ts +2 -1
- package/dist/runtime/components/prose/H1.vue.d.ts +2 -1
- package/dist/runtime/components/prose/H2.d.vue.ts +2 -1
- package/dist/runtime/components/prose/H2.vue.d.ts +2 -1
- package/dist/runtime/components/prose/H3.d.vue.ts +2 -1
- package/dist/runtime/components/prose/H3.vue.d.ts +2 -1
- package/dist/runtime/components/prose/H4.d.vue.ts +2 -1
- package/dist/runtime/components/prose/H4.vue.d.ts +2 -1
- package/dist/runtime/components/prose/Hr.d.vue.ts +2 -1
- package/dist/runtime/components/prose/Hr.vue.d.ts +2 -1
- package/dist/runtime/components/prose/Icon.d.vue.ts +2 -1
- package/dist/runtime/components/prose/Icon.vue.d.ts +2 -1
- package/dist/runtime/components/prose/Img.d.vue.ts +2 -1
- package/dist/runtime/components/prose/Img.vue +14 -3
- package/dist/runtime/components/prose/Img.vue.d.ts +2 -1
- package/dist/runtime/components/prose/Kbd.d.vue.ts +2 -1
- package/dist/runtime/components/prose/Kbd.vue.d.ts +2 -1
- package/dist/runtime/components/prose/Li.d.vue.ts +2 -1
- package/dist/runtime/components/prose/Li.vue.d.ts +2 -1
- package/dist/runtime/components/prose/Ol.d.vue.ts +2 -1
- package/dist/runtime/components/prose/Ol.vue.d.ts +2 -1
- package/dist/runtime/components/prose/P.d.vue.ts +2 -1
- package/dist/runtime/components/prose/P.vue.d.ts +2 -1
- package/dist/runtime/components/prose/Pre.d.vue.ts +2 -1
- package/dist/runtime/components/prose/Pre.vue.d.ts +2 -1
- package/dist/runtime/components/prose/Script.d.vue.ts +2 -1
- package/dist/runtime/components/prose/Script.vue.d.ts +2 -1
- package/dist/runtime/components/prose/Steps.d.vue.ts +2 -1
- package/dist/runtime/components/prose/Steps.vue.d.ts +2 -1
- package/dist/runtime/components/prose/Strong.d.vue.ts +2 -1
- package/dist/runtime/components/prose/Strong.vue.d.ts +2 -1
- package/dist/runtime/components/prose/Table.d.vue.ts +2 -1
- package/dist/runtime/components/prose/Table.vue.d.ts +2 -1
- package/dist/runtime/components/prose/Tabs.d.vue.ts +8 -1
- package/dist/runtime/components/prose/Tabs.vue +3 -2
- package/dist/runtime/components/prose/Tabs.vue.d.ts +8 -1
- package/dist/runtime/components/prose/TabsItem.d.vue.ts +2 -1
- package/dist/runtime/components/prose/TabsItem.vue.d.ts +2 -1
- package/dist/runtime/components/prose/Tbody.d.vue.ts +2 -1
- package/dist/runtime/components/prose/Tbody.vue.d.ts +2 -1
- package/dist/runtime/components/prose/Td.d.vue.ts +2 -1
- package/dist/runtime/components/prose/Td.vue.d.ts +2 -1
- package/dist/runtime/components/prose/Th.d.vue.ts +2 -1
- package/dist/runtime/components/prose/Th.vue.d.ts +2 -1
- package/dist/runtime/components/prose/Thead.d.vue.ts +2 -1
- package/dist/runtime/components/prose/Thead.vue.d.ts +2 -1
- package/dist/runtime/components/prose/Tr.d.vue.ts +2 -1
- package/dist/runtime/components/prose/Tr.vue.d.ts +2 -1
- package/dist/runtime/components/prose/Ul.d.vue.ts +2 -1
- package/dist/runtime/components/prose/Ul.vue.d.ts +2 -1
- package/dist/runtime/components/prose/callout/Caution.d.vue.ts +3 -2
- package/dist/runtime/components/prose/callout/Caution.vue.d.ts +3 -2
- package/dist/runtime/components/prose/callout/Note.d.vue.ts +3 -2
- package/dist/runtime/components/prose/callout/Note.vue.d.ts +3 -2
- package/dist/runtime/components/prose/callout/Tip.d.vue.ts +3 -2
- package/dist/runtime/components/prose/callout/Tip.vue.d.ts +3 -2
- package/dist/runtime/components/prose/callout/Warning.d.vue.ts +3 -2
- package/dist/runtime/components/prose/callout/Warning.vue.d.ts +3 -2
- package/dist/runtime/composables/useKbd.js +2 -2
- package/dist/runtime/composables/usePortal.d.ts +3 -3
- package/dist/runtime/composables/usePortal.js +5 -10
- package/dist/runtime/composables/useToast.d.ts +3 -1
- package/dist/runtime/composables/useToast.js +4 -3
- package/dist/runtime/inertia/components/Link.d.vue.ts +3 -2
- package/dist/runtime/inertia/components/Link.vue +12 -6
- package/dist/runtime/inertia/components/Link.vue.d.ts +3 -2
- package/dist/runtime/inertia/components/LinkBase.d.vue.ts +3 -2
- package/dist/runtime/inertia/components/LinkBase.vue.d.ts +3 -2
- package/dist/runtime/inertia/stubs.d.ts +1 -1
- package/dist/runtime/inertia/stubs.js +2 -2
- package/dist/runtime/locale/ar.js +5 -5
- package/dist/runtime/locale/az.js +5 -5
- package/dist/runtime/locale/bg.js +3 -3
- package/dist/runtime/locale/bn.js +5 -5
- package/dist/runtime/locale/ca.js +5 -5
- package/dist/runtime/locale/ckb.js +15 -15
- package/dist/runtime/locale/cs.js +5 -5
- package/dist/runtime/locale/da.js +5 -5
- package/dist/runtime/locale/de.js +5 -5
- package/dist/runtime/locale/de_ch.js +5 -5
- package/dist/runtime/locale/el.js +5 -5
- package/dist/runtime/locale/en.js +5 -5
- package/dist/runtime/locale/es.js +5 -5
- package/dist/runtime/locale/et.js +5 -5
- package/dist/runtime/locale/fa_ir.js +5 -5
- package/dist/runtime/locale/fi.js +5 -5
- package/dist/runtime/locale/fr.js +5 -5
- package/dist/runtime/locale/he.js +5 -5
- package/dist/runtime/locale/hi.js +5 -5
- package/dist/runtime/locale/hr.d.ts +3 -0
- package/dist/runtime/locale/hr.js +129 -0
- package/dist/runtime/locale/hu.js +5 -5
- package/dist/runtime/locale/hy.js +4 -4
- package/dist/runtime/locale/id.js +5 -5
- package/dist/runtime/locale/index.d.ts +1 -0
- package/dist/runtime/locale/index.js +1 -0
- package/dist/runtime/locale/it.js +5 -5
- package/dist/runtime/locale/ja.js +5 -5
- package/dist/runtime/locale/ka.js +5 -5
- package/dist/runtime/locale/kk.js +3 -3
- package/dist/runtime/locale/km.js +5 -5
- package/dist/runtime/locale/ko.js +5 -5
- package/dist/runtime/locale/ky.js +4 -4
- package/dist/runtime/locale/lb.js +4 -4
- package/dist/runtime/locale/lt.js +5 -5
- package/dist/runtime/locale/mn.js +5 -5
- package/dist/runtime/locale/ms.js +5 -5
- package/dist/runtime/locale/nb_no.js +5 -5
- package/dist/runtime/locale/nl.js +5 -5
- package/dist/runtime/locale/pl.js +5 -5
- package/dist/runtime/locale/pt.js +5 -5
- package/dist/runtime/locale/pt_br.js +5 -5
- package/dist/runtime/locale/ro.js +5 -5
- package/dist/runtime/locale/ru.js +5 -5
- package/dist/runtime/locale/sk.js +5 -5
- package/dist/runtime/locale/sl.js +5 -5
- package/dist/runtime/locale/sv.js +5 -5
- package/dist/runtime/locale/th.js +5 -5
- package/dist/runtime/locale/tj.js +3 -3
- package/dist/runtime/locale/tr.js +5 -5
- package/dist/runtime/locale/ug_cn.js +3 -3
- package/dist/runtime/locale/uk.js +5 -5
- package/dist/runtime/locale/ur.js +4 -4
- package/dist/runtime/locale/uz.js +5 -5
- package/dist/runtime/locale/vi.js +5 -5
- package/dist/runtime/locale/zh_cn.js +5 -5
- package/dist/runtime/locale/zh_tw.js +5 -5
- package/dist/runtime/types/index.d.ts +2 -1
- package/dist/runtime/types/index.js +2 -1
- package/dist/runtime/types/tv.d.ts +6 -0
- package/dist/runtime/vue/components/Icon.d.vue.ts +2 -1
- package/dist/runtime/vue/components/Icon.vue.d.ts +2 -1
- package/dist/runtime/vue/components/Link.d.vue.ts +3 -2
- package/dist/runtime/vue/components/Link.vue.d.ts +3 -2
- package/dist/runtime/vue/components/color-mode/ColorModeButton.d.vue.ts +2 -1
- package/dist/runtime/vue/components/color-mode/ColorModeButton.vue.d.ts +2 -1
- package/dist/runtime/vue/components/color-mode/ColorModeSelect.d.vue.ts +2 -1
- package/dist/runtime/vue/components/color-mode/ColorModeSelect.vue.d.ts +2 -1
- package/dist/runtime/vue/components/color-mode/ColorModeSwitch.d.vue.ts +2 -1
- package/dist/runtime/vue/components/color-mode/ColorModeSwitch.vue.d.ts +2 -1
- package/dist/runtime/vue/stubs.d.ts +1 -1
- package/dist/runtime/vue/stubs.js +2 -2
- package/dist/shared/{ui.BBlr3wu_.mjs → ui.Dy8dMbVj.mjs} +489 -114
- package/dist/unplugin.mjs +11 -3
- package/dist/vite.mjs +3 -2
- package/package.json +23 -21
|
@@ -3,10 +3,10 @@ import theme from "#build/ui/command-palette";
|
|
|
3
3
|
</script>
|
|
4
4
|
|
|
5
5
|
<script setup>
|
|
6
|
-
import { computed, ref, useTemplateRef } from "vue";
|
|
7
|
-
import { ListboxRoot, ListboxFilter, ListboxContent, ListboxGroup, ListboxGroupLabel, ListboxItem, ListboxItemIndicator, useForwardProps, useForwardPropsEmits } from "reka-ui";
|
|
6
|
+
import { computed, ref, useTemplateRef, toRef } from "vue";
|
|
7
|
+
import { ListboxRoot, ListboxFilter, ListboxContent, ListboxGroup, ListboxGroupLabel, ListboxVirtualizer, ListboxItem, ListboxItemIndicator, useForwardProps, useForwardPropsEmits } from "reka-ui";
|
|
8
8
|
import { defu } from "defu";
|
|
9
|
-
import { reactivePick } from "@vueuse/core";
|
|
9
|
+
import { reactivePick, createReusableTemplate } from "@vueuse/core";
|
|
10
10
|
import { useFuse } from "@vueuse/integrations/useFuse";
|
|
11
11
|
import { useAppConfig } from "#imports";
|
|
12
12
|
import { useLocale } from "../composables/useLocale";
|
|
@@ -25,8 +25,9 @@ import UKbd from "./Kbd.vue";
|
|
|
25
25
|
const props = defineProps({
|
|
26
26
|
as: { type: null, required: false },
|
|
27
27
|
icon: { type: [String, Object], required: false },
|
|
28
|
-
selectedIcon: { type: [String, Object], required: false },
|
|
29
28
|
trailingIcon: { type: [String, Object], required: false },
|
|
29
|
+
selectedIcon: { type: [String, Object], required: false },
|
|
30
|
+
childrenIcon: { type: [String, Object], required: false },
|
|
30
31
|
placeholder: { type: String, required: false },
|
|
31
32
|
autofocus: { type: Boolean, required: false, default: true },
|
|
32
33
|
close: { type: [Boolean, Object], required: false },
|
|
@@ -35,14 +36,17 @@ const props = defineProps({
|
|
|
35
36
|
backIcon: { type: [String, Object], required: false },
|
|
36
37
|
groups: { type: Array, required: false },
|
|
37
38
|
fuse: { type: Object, required: false },
|
|
39
|
+
virtualize: { type: [Boolean, Object], required: false, default: false },
|
|
38
40
|
labelKey: { type: null, required: false, default: "label" },
|
|
41
|
+
descriptionKey: { type: null, required: false, default: "description" },
|
|
42
|
+
preserveGroupOrder: { type: Boolean, required: false, default: false },
|
|
39
43
|
class: { type: null, required: false },
|
|
40
44
|
ui: { type: null, required: false },
|
|
41
45
|
multiple: { type: Boolean, required: false },
|
|
42
46
|
disabled: { type: Boolean, required: false },
|
|
43
47
|
modelValue: { type: null, required: false, default: "" },
|
|
44
48
|
defaultValue: { type: null, required: false },
|
|
45
|
-
highlightOnHover: { type: Boolean, required: false },
|
|
49
|
+
highlightOnHover: { type: Boolean, required: false, default: true },
|
|
46
50
|
selectionBehavior: { type: String, required: false },
|
|
47
51
|
loading: { type: Boolean, required: false },
|
|
48
52
|
loadingIcon: { type: [String, Object], required: false }
|
|
@@ -54,7 +58,26 @@ const { t } = useLocale();
|
|
|
54
58
|
const appConfig = useAppConfig();
|
|
55
59
|
const rootProps = useForwardPropsEmits(reactivePick(props, "as", "disabled", "multiple", "modelValue", "defaultValue", "highlightOnHover"), emits);
|
|
56
60
|
const inputProps = useForwardProps(reactivePick(props, "loading"));
|
|
57
|
-
const
|
|
61
|
+
const virtualizerProps = toRef(() => !!props.virtualize && defu(typeof props.virtualize === "boolean" ? {} : props.virtualize, { estimateSize: 32 }));
|
|
62
|
+
const [DefineItemTemplate, ReuseItemTemplate] = createReusableTemplate({
|
|
63
|
+
props: {
|
|
64
|
+
item: {
|
|
65
|
+
type: Object,
|
|
66
|
+
required: true
|
|
67
|
+
},
|
|
68
|
+
group: {
|
|
69
|
+
type: Object,
|
|
70
|
+
required: false
|
|
71
|
+
},
|
|
72
|
+
index: {
|
|
73
|
+
type: Number,
|
|
74
|
+
required: false
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.commandPalette || {} })({
|
|
79
|
+
virtualize: !!props.virtualize
|
|
80
|
+
}));
|
|
58
81
|
const fuse = computed(() => defu({}, props.fuse, {
|
|
59
82
|
fuseOptions: {
|
|
60
83
|
ignoreLocation: true,
|
|
@@ -103,6 +126,19 @@ const filteredGroups = computed(() => {
|
|
|
103
126
|
acc[item.group]?.push({ ...item, matches });
|
|
104
127
|
return acc;
|
|
105
128
|
}, {});
|
|
129
|
+
if (props.preserveGroupOrder) {
|
|
130
|
+
const processedGroups = [];
|
|
131
|
+
for (const group of groups.value || []) {
|
|
132
|
+
if (!group.items?.length) {
|
|
133
|
+
continue;
|
|
134
|
+
}
|
|
135
|
+
const items2 = group.ignoreFilter ? group.items : groupsById[group.id];
|
|
136
|
+
if (items2?.length) {
|
|
137
|
+
processedGroups.push(getGroupWithItems(group, items2));
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
return processedGroups;
|
|
141
|
+
}
|
|
106
142
|
const fuseGroups = Object.entries(groupsById).map(([id, items2]) => {
|
|
107
143
|
const group = groups.value?.find((group2) => group2.id === id);
|
|
108
144
|
if (!group) {
|
|
@@ -116,6 +152,7 @@ const filteredGroups = computed(() => {
|
|
|
116
152
|
return acc;
|
|
117
153
|
}, [...fuseGroups]);
|
|
118
154
|
});
|
|
155
|
+
const filteredItems = computed(() => filteredGroups.value.flatMap((group) => group.items || []));
|
|
119
156
|
const listboxRootRef = useTemplateRef("listboxRootRef");
|
|
120
157
|
function navigate(item) {
|
|
121
158
|
if (!item.children?.length) {
|
|
@@ -155,6 +192,73 @@ function onSelect(e, item) {
|
|
|
155
192
|
</script>
|
|
156
193
|
|
|
157
194
|
<template>
|
|
195
|
+
<DefineItemTemplate v-slot="{ item, index, group }">
|
|
196
|
+
<ListboxItem
|
|
197
|
+
:value="omit(item, ['matches', 'group', 'onSelect', 'labelHtml', 'suffixHtml', 'children'])"
|
|
198
|
+
:disabled="item.disabled"
|
|
199
|
+
as-child
|
|
200
|
+
@select="onSelect($event, item)"
|
|
201
|
+
>
|
|
202
|
+
<ULink v-slot="{ active, ...slotProps }" v-bind="pickLinkProps(item)" custom>
|
|
203
|
+
<ULinkBase v-bind="slotProps" :class="ui.item({ class: [props.ui?.item, item.ui?.item, item.class], active: active || item.active })">
|
|
204
|
+
<slot :name="item.slot || group?.slot || 'item'" :item="item" :index="index" :ui="ui">
|
|
205
|
+
<slot :name="item.slot ? `${item.slot}-leading` : group?.slot ? `${group.slot}-leading` : `item-leading`" :item="item" :index="index" :ui="ui">
|
|
206
|
+
<UIcon v-if="item.loading" :name="loadingIcon || appConfig.ui.icons.loading" :class="ui.itemLeadingIcon({ class: [props.ui?.itemLeadingIcon, item.ui?.itemLeadingIcon], loading: true })" />
|
|
207
|
+
<UIcon v-else-if="item.icon" :name="item.icon" :class="ui.itemLeadingIcon({ class: [props.ui?.itemLeadingIcon, item.ui?.itemLeadingIcon], active: active || item.active })" />
|
|
208
|
+
<UAvatar v-else-if="item.avatar" :size="item.ui?.itemLeadingAvatarSize || props.ui?.itemLeadingAvatarSize || ui.itemLeadingAvatarSize()" v-bind="item.avatar" :class="ui.itemLeadingAvatar({ class: [props.ui?.itemLeadingAvatar, item.ui?.itemLeadingAvatar], active: active || item.active })" />
|
|
209
|
+
<UChip
|
|
210
|
+
v-else-if="item.chip"
|
|
211
|
+
:size="item.ui?.itemLeadingChipSize || props.ui?.itemLeadingChipSize || ui.itemLeadingChipSize()"
|
|
212
|
+
inset
|
|
213
|
+
standalone
|
|
214
|
+
v-bind="item.chip"
|
|
215
|
+
:class="ui.itemLeadingChip({ class: [props.ui?.itemLeadingChip, item.ui?.itemLeadingChip], active: active || item.active })"
|
|
216
|
+
/>
|
|
217
|
+
</slot>
|
|
218
|
+
|
|
219
|
+
<span v-if="item.prefix || (item.labelHtml || get(item, props.labelKey)) || (item.suffixHtml || item.suffix) || !!slots[item.slot ? `${item.slot}-label` : group?.slot ? `${group.slot}-label` : `item-label`] || (get(item, props.descriptionKey) || !!slots[item.slot ? `${item.slot}-description` : group?.slot ? `${group.slot}-description` : `item-description`])" :class="ui.itemWrapper({ class: [props.ui?.itemWrapper, item.ui?.itemWrapper] })">
|
|
220
|
+
<span :class="ui.itemLabel({ class: [props.ui?.itemLabel, item.ui?.itemLabel], active: active || item.active })">
|
|
221
|
+
<slot :name="item.slot ? `${item.slot}-label` : group?.slot ? `${group.slot}-label` : `item-label`" :item="item" :index="index" :ui="ui">
|
|
222
|
+
<span v-if="item.prefix" :class="ui.itemLabelPrefix({ class: [props.ui?.itemLabelPrefix, item.ui?.itemLabelPrefix] })">{{ item.prefix }}</span>
|
|
223
|
+
|
|
224
|
+
<span :class="ui.itemLabelBase({ class: [props.ui?.itemLabelBase, item.ui?.itemLabelBase], active: active || item.active })" v-html="item.labelHtml || get(item, props.labelKey)" />
|
|
225
|
+
|
|
226
|
+
<span :class="ui.itemLabelSuffix({ class: [props.ui?.itemLabelSuffix, item.ui?.itemLabelSuffix], active: active || item.active })" v-html="item.suffixHtml || item.suffix" />
|
|
227
|
+
</slot>
|
|
228
|
+
</span>
|
|
229
|
+
|
|
230
|
+
<span v-if="get(item, props.descriptionKey)" :class="ui.itemDescription({ class: [props.ui?.itemDescription, item.ui?.itemDescription] })">
|
|
231
|
+
<slot :name="item.slot ? `${item.slot}-description` : group?.slot ? `${group.slot}-description` : `item-description`" :item="item" :index="index" :ui="ui">
|
|
232
|
+
{{ get(item, props.descriptionKey) }}
|
|
233
|
+
</slot>
|
|
234
|
+
</span>
|
|
235
|
+
</span>
|
|
236
|
+
|
|
237
|
+
<span :class="ui.itemTrailing({ class: [props.ui?.itemTrailing, item.ui?.itemTrailing] })">
|
|
238
|
+
<slot :name="item.slot ? `${item.slot}-trailing` : group?.slot ? `${group.slot}-trailing` : `item-trailing`" :item="item" :index="index" :ui="ui">
|
|
239
|
+
<UIcon
|
|
240
|
+
v-if="item.children && item.children.length > 0"
|
|
241
|
+
:name="childrenIcon || appConfig.ui.icons.chevronRight"
|
|
242
|
+
:class="ui.itemTrailingIcon({ class: [props.ui?.itemTrailingIcon, item.ui?.itemTrailingIcon] })"
|
|
243
|
+
/>
|
|
244
|
+
|
|
245
|
+
<span v-else-if="item.kbds?.length" :class="ui.itemTrailingKbds({ class: [props.ui?.itemTrailingKbds, item.ui?.itemTrailingKbds] })">
|
|
246
|
+
<UKbd v-for="(kbd, kbdIndex) in item.kbds" :key="kbdIndex" :size="item.ui?.itemTrailingKbdsSize || props.ui?.itemTrailingKbdsSize || ui.itemTrailingKbdsSize()" v-bind="typeof kbd === 'string' ? { value: kbd } : kbd" />
|
|
247
|
+
</span>
|
|
248
|
+
|
|
249
|
+
<UIcon v-else-if="group?.highlightedIcon" :name="group.highlightedIcon" :class="ui.itemTrailingHighlightedIcon({ class: [props.ui?.itemTrailingHighlightedIcon, item.ui?.itemTrailingHighlightedIcon] })" />
|
|
250
|
+
</slot>
|
|
251
|
+
|
|
252
|
+
<ListboxItemIndicator v-if="!item.children?.length" as-child>
|
|
253
|
+
<UIcon :name="selectedIcon || appConfig.ui.icons.check" :class="ui.itemTrailingIcon({ class: [props.ui?.itemTrailingIcon, item.ui?.itemTrailingIcon] })" />
|
|
254
|
+
</ListboxItemIndicator>
|
|
255
|
+
</span>
|
|
256
|
+
</slot>
|
|
257
|
+
</ULinkBase>
|
|
258
|
+
</ULink>
|
|
259
|
+
</ListboxItem>
|
|
260
|
+
</DefineItemTemplate>
|
|
261
|
+
|
|
158
262
|
<ListboxRoot v-bind="rootProps" ref="listboxRootRef" :selection-behavior="selectionBehavior" :class="ui.root({ class: [props.ui?.root, props.class] })">
|
|
159
263
|
<ListboxFilter v-model="searchTerm" as-child>
|
|
160
264
|
<UInput
|
|
@@ -163,6 +267,7 @@ function onSelect(e, item) {
|
|
|
163
267
|
:autofocus="autofocus"
|
|
164
268
|
v-bind="inputProps"
|
|
165
269
|
:loading-icon="loadingIcon"
|
|
270
|
+
:trailing-icon="trailingIcon"
|
|
166
271
|
:icon="icon || appConfig.ui.icons.search"
|
|
167
272
|
:class="ui.input({ class: props.ui?.input })"
|
|
168
273
|
@keydown.backspace="onBackspace"
|
|
@@ -200,70 +305,31 @@ function onSelect(e, item) {
|
|
|
200
305
|
|
|
201
306
|
<ListboxContent :class="ui.content({ class: props.ui?.content })">
|
|
202
307
|
<div v-if="filteredGroups?.length" role="presentation" :class="ui.viewport({ class: props.ui?.viewport })">
|
|
203
|
-
<
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
:disabled="item.disabled"
|
|
213
|
-
as-child
|
|
214
|
-
@select="onSelect($event, item)"
|
|
215
|
-
>
|
|
216
|
-
<ULink v-slot="{ active, ...slotProps }" v-bind="pickLinkProps(item)" custom>
|
|
217
|
-
<ULinkBase v-bind="slotProps" :class="ui.item({ class: [props.ui?.item, item.ui?.item, item.class], active: active || item.active })">
|
|
218
|
-
<slot :name="item.slot || group.slot || 'item'" :item="item" :index="index">
|
|
219
|
-
<slot :name="item.slot ? `${item.slot}-leading` : group.slot ? `${group.slot}-leading` : `item-leading`" :item="item" :index="index">
|
|
220
|
-
<UIcon v-if="item.loading" :name="loadingIcon || appConfig.ui.icons.loading" :class="ui.itemLeadingIcon({ class: [props.ui?.itemLeadingIcon, item.ui?.itemLeadingIcon], loading: true })" />
|
|
221
|
-
<UIcon v-else-if="item.icon" :name="item.icon" :class="ui.itemLeadingIcon({ class: [props.ui?.itemLeadingIcon, item.ui?.itemLeadingIcon], active: active || item.active })" />
|
|
222
|
-
<UAvatar v-else-if="item.avatar" :size="item.ui?.itemLeadingAvatarSize || props.ui?.itemLeadingAvatarSize || ui.itemLeadingAvatarSize()" v-bind="item.avatar" :class="ui.itemLeadingAvatar({ class: [props.ui?.itemLeadingAvatar, item.ui?.itemLeadingAvatar], active: active || item.active })" />
|
|
223
|
-
<UChip
|
|
224
|
-
v-else-if="item.chip"
|
|
225
|
-
:size="item.ui?.itemLeadingChipSize || props.ui?.itemLeadingChipSize || ui.itemLeadingChipSize()"
|
|
226
|
-
inset
|
|
227
|
-
standalone
|
|
228
|
-
v-bind="item.chip"
|
|
229
|
-
:class="ui.itemLeadingChip({ class: [props.ui?.itemLeadingChip, item.ui?.itemLeadingChip], active: active || item.active })"
|
|
230
|
-
/>
|
|
231
|
-
</slot>
|
|
232
|
-
|
|
233
|
-
<span v-if="item.labelHtml || get(item, props.labelKey) || !!slots[item.slot ? `${item.slot}-label` : group.slot ? `${group.slot}-label` : `item-label`]" :class="ui.itemLabel({ class: [props.ui?.itemLabel, item.ui?.itemLabel], active: active || item.active })">
|
|
234
|
-
<slot :name="item.slot ? `${item.slot}-label` : group.slot ? `${group.slot}-label` : `item-label`" :item="item" :index="index">
|
|
235
|
-
<span v-if="item.prefix" :class="ui.itemLabelPrefix({ class: [props.ui?.itemLabelPrefix, item.ui?.itemLabelPrefix] })">{{ item.prefix }}</span>
|
|
308
|
+
<ListboxVirtualizer
|
|
309
|
+
v-if="!!virtualize"
|
|
310
|
+
v-slot="{ option: item, virtualItem }"
|
|
311
|
+
:options="filteredItems"
|
|
312
|
+
:text-content="(item2) => get(item2, props.labelKey)"
|
|
313
|
+
v-bind="virtualizerProps"
|
|
314
|
+
>
|
|
315
|
+
<ReuseItemTemplate :item="item" :index="virtualItem.index" />
|
|
316
|
+
</ListboxVirtualizer>
|
|
236
317
|
|
|
237
|
-
|
|
318
|
+
<template v-else>
|
|
319
|
+
<ListboxGroup v-for="group in filteredGroups" :key="`group-${group.id}`" :class="ui.group({ class: props.ui?.group })">
|
|
320
|
+
<ListboxGroupLabel v-if="get(group, props.labelKey)" :class="ui.label({ class: props.ui?.label })">
|
|
321
|
+
{{ get(group, props.labelKey) }}
|
|
322
|
+
</ListboxGroupLabel>
|
|
238
323
|
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
:class="ui.itemTrailingIcon({ class: [props.ui?.itemTrailingIcon, item.ui?.itemTrailingIcon] })"
|
|
249
|
-
/>
|
|
250
|
-
|
|
251
|
-
<span v-else-if="item.kbds?.length" :class="ui.itemTrailingKbds({ class: [props.ui?.itemTrailingKbds, item.ui?.itemTrailingKbds] })">
|
|
252
|
-
<UKbd v-for="(kbd, kbdIndex) in item.kbds" :key="kbdIndex" :size="item.ui?.itemTrailingKbdsSize || props.ui?.itemTrailingKbdsSize || ui.itemTrailingKbdsSize()" v-bind="typeof kbd === 'string' ? { value: kbd } : kbd" />
|
|
253
|
-
</span>
|
|
254
|
-
|
|
255
|
-
<UIcon v-else-if="group.highlightedIcon" :name="group.highlightedIcon" :class="ui.itemTrailingHighlightedIcon({ class: [props.ui?.itemTrailingHighlightedIcon, item.ui?.itemTrailingHighlightedIcon] })" />
|
|
256
|
-
</slot>
|
|
257
|
-
|
|
258
|
-
<ListboxItemIndicator v-if="!item.children?.length" as-child>
|
|
259
|
-
<UIcon :name="selectedIcon || appConfig.ui.icons.check" :class="ui.itemTrailingIcon({ class: [props.ui?.itemTrailingIcon, item.ui?.itemTrailingIcon] })" />
|
|
260
|
-
</ListboxItemIndicator>
|
|
261
|
-
</span>
|
|
262
|
-
</slot>
|
|
263
|
-
</ULinkBase>
|
|
264
|
-
</ULink>
|
|
265
|
-
</ListboxItem>
|
|
266
|
-
</ListboxGroup>
|
|
324
|
+
<ReuseItemTemplate
|
|
325
|
+
v-for="(item, index) in group.items"
|
|
326
|
+
:key="`group-${group.id}-${index}`"
|
|
327
|
+
:item="item"
|
|
328
|
+
:index="index"
|
|
329
|
+
:group="group"
|
|
330
|
+
/>
|
|
331
|
+
</ListboxGroup>
|
|
332
|
+
</template>
|
|
267
333
|
</div>
|
|
268
334
|
|
|
269
335
|
<div v-else :class="ui.empty({ class: props.ui?.empty })">
|
|
@@ -11,6 +11,7 @@ export interface CommandPaletteItem extends Omit<LinkProps, 'type' | 'raw' | 'cu
|
|
|
11
11
|
prefix?: string;
|
|
12
12
|
label?: string;
|
|
13
13
|
suffix?: string;
|
|
14
|
+
description?: string;
|
|
14
15
|
/**
|
|
15
16
|
* @IconifyIcon
|
|
16
17
|
*/
|
|
@@ -27,9 +28,9 @@ export interface CommandPaletteItem extends Omit<LinkProps, 'type' | 'raw' | 'cu
|
|
|
27
28
|
*/
|
|
28
29
|
placeholder?: string;
|
|
29
30
|
children?: CommandPaletteItem[];
|
|
30
|
-
onSelect
|
|
31
|
+
onSelect?: (e: Event) => void;
|
|
31
32
|
class?: any;
|
|
32
|
-
ui?: Pick<CommandPalette['slots'], 'item' | 'itemLeadingIcon' | 'itemLeadingAvatarSize' | 'itemLeadingAvatar' | 'itemLeadingChipSize' | 'itemLeadingChip' | 'itemLabel' | 'itemLabelPrefix' | 'itemLabelBase' | 'itemLabelSuffix' | 'itemTrailing' | 'itemTrailingKbds' | 'itemTrailingKbdsSize' | 'itemTrailingHighlightedIcon' | 'itemTrailingIcon'>;
|
|
33
|
+
ui?: Pick<CommandPalette['slots'], 'item' | 'itemLeadingIcon' | 'itemLeadingAvatarSize' | 'itemLeadingAvatar' | 'itemLeadingChipSize' | 'itemLeadingChip' | 'itemWrapper' | 'itemLabel' | 'itemDescription' | 'itemLabelPrefix' | 'itemLabelBase' | 'itemLabelSuffix' | 'itemTrailing' | 'itemTrailingKbds' | 'itemTrailingKbdsSize' | 'itemTrailingHighlightedIcon' | 'itemTrailingIcon'>;
|
|
33
34
|
[key: string]: any;
|
|
34
35
|
}
|
|
35
36
|
export interface CommandPaletteGroup<T extends CommandPaletteItem = CommandPaletteItem> {
|
|
@@ -63,6 +64,12 @@ export interface CommandPaletteProps<G extends CommandPaletteGroup<T> = CommandP
|
|
|
63
64
|
* @IconifyIcon
|
|
64
65
|
*/
|
|
65
66
|
icon?: IconProps['name'];
|
|
67
|
+
/**
|
|
68
|
+
* The icon displayed on the right side of the input.
|
|
69
|
+
* @defaultValue appConfig.ui.icons.search
|
|
70
|
+
* @IconifyIcon
|
|
71
|
+
*/
|
|
72
|
+
trailingIcon?: IconProps['name'];
|
|
66
73
|
/**
|
|
67
74
|
* The icon displayed when an item is selected.
|
|
68
75
|
* @defaultValue appConfig.ui.icons.check
|
|
@@ -74,7 +81,7 @@ export interface CommandPaletteProps<G extends CommandPaletteGroup<T> = CommandP
|
|
|
74
81
|
* @defaultValue appConfig.ui.icons.chevronRight
|
|
75
82
|
* @IconifyIcon
|
|
76
83
|
*/
|
|
77
|
-
|
|
84
|
+
childrenIcon?: IconProps['name'];
|
|
78
85
|
/**
|
|
79
86
|
* The placeholder text for the input.
|
|
80
87
|
* @defaultValue t('commandPalette.placeholder')
|
|
@@ -124,11 +131,39 @@ export interface CommandPaletteProps<G extends CommandPaletteGroup<T> = CommandP
|
|
|
124
131
|
}
|
|
125
132
|
*/
|
|
126
133
|
fuse?: UseFuseOptions<T>;
|
|
134
|
+
/**
|
|
135
|
+
* Enable virtualization for large lists.
|
|
136
|
+
* Note: when enabled, all groups are flattened into a single list due to a limitation of Reka UI (https://github.com/unovue/reka-ui/issues/1885).
|
|
137
|
+
* @defaultValue false
|
|
138
|
+
*/
|
|
139
|
+
virtualize?: boolean | {
|
|
140
|
+
/**
|
|
141
|
+
* Number of items rendered outside the visible area
|
|
142
|
+
* @defaultValue 12
|
|
143
|
+
*/
|
|
144
|
+
overscan?: number;
|
|
145
|
+
/**
|
|
146
|
+
* Estimated size (in px) of each item
|
|
147
|
+
* @defaultValue 32
|
|
148
|
+
*/
|
|
149
|
+
estimateSize?: number;
|
|
150
|
+
};
|
|
127
151
|
/**
|
|
128
152
|
* The key used to get the label from the item.
|
|
129
153
|
* @defaultValue 'label'
|
|
130
154
|
*/
|
|
131
155
|
labelKey?: GetItemKeys<T>;
|
|
156
|
+
/**
|
|
157
|
+
* The key used to get the description from the item.
|
|
158
|
+
* @defaultValue 'description'
|
|
159
|
+
*/
|
|
160
|
+
descriptionKey?: GetItemKeys<T>;
|
|
161
|
+
/**
|
|
162
|
+
* Whether to preserve the order of groups as defined in the `groups` prop when filtering.
|
|
163
|
+
* When `false`, groups will appear based on item matches.
|
|
164
|
+
* @defaultValue false
|
|
165
|
+
*/
|
|
166
|
+
preserveGroupOrder?: boolean;
|
|
132
167
|
class?: any;
|
|
133
168
|
ui?: CommandPalette['slots'];
|
|
134
169
|
}
|
|
@@ -138,46 +173,35 @@ export type CommandPaletteEmits<T extends CommandPaletteItem = CommandPaletteIte
|
|
|
138
173
|
type SlotProps<T> = (props: {
|
|
139
174
|
item: T;
|
|
140
175
|
index: number;
|
|
176
|
+
ui: CommandPalette['ui'];
|
|
141
177
|
}) => any;
|
|
142
178
|
export type CommandPaletteSlots<G extends CommandPaletteGroup<T> = CommandPaletteGroup<any>, T extends CommandPaletteItem = CommandPaletteItem> = {
|
|
143
179
|
'empty'(props: {
|
|
144
180
|
searchTerm?: string;
|
|
145
181
|
}): any;
|
|
146
182
|
'footer'(props: {
|
|
147
|
-
ui:
|
|
148
|
-
[K in keyof Required<CommandPalette['slots']>]: (props?: Record<string, any>) => string;
|
|
149
|
-
};
|
|
183
|
+
ui: CommandPalette['ui'];
|
|
150
184
|
}): any;
|
|
151
185
|
'back'(props: {
|
|
152
|
-
ui:
|
|
153
|
-
[K in keyof Required<CommandPalette['slots']>]: (props?: Record<string, any>) => string;
|
|
154
|
-
};
|
|
186
|
+
ui: CommandPalette['ui'];
|
|
155
187
|
}): any;
|
|
156
188
|
'close'(props: {
|
|
157
|
-
ui:
|
|
158
|
-
[K in keyof Required<CommandPalette['slots']>]: (props?: Record<string, any>) => string;
|
|
159
|
-
};
|
|
189
|
+
ui: CommandPalette['ui'];
|
|
160
190
|
}): any;
|
|
161
191
|
'item': SlotProps<T>;
|
|
162
192
|
'item-leading': SlotProps<T>;
|
|
163
193
|
'item-label': SlotProps<T>;
|
|
194
|
+
'item-description': SlotProps<T>;
|
|
164
195
|
'item-trailing': SlotProps<T>;
|
|
165
196
|
} & Record<string, SlotProps<G>> & Record<string, SlotProps<T>>;
|
|
166
|
-
declare const
|
|
167
|
-
props: __VLS_PrettifyLocal<
|
|
168
|
-
readonly "onUpdate:open"?: ((value: boolean) => any) | undefined;
|
|
169
|
-
readonly "onUpdate:modelValue"?: ((value: T) => any) | undefined;
|
|
170
|
-
readonly onHighlight?: ((payload: {
|
|
171
|
-
ref: HTMLElement;
|
|
172
|
-
value: T;
|
|
173
|
-
} | undefined) => any) | undefined;
|
|
174
|
-
readonly "onUpdate:searchTerm"?: ((value: string) => any) | undefined;
|
|
175
|
-
readonly onEntryFocus?: ((event: CustomEvent<any>) => any) | undefined;
|
|
176
|
-
readonly onLeave?: ((event: Event) => any) | undefined;
|
|
177
|
-
} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>, "onUpdate:open" | "onUpdate:modelValue" | "onHighlight" | "onUpdate:searchTerm" | "onEntryFocus" | "onLeave"> & (CommandPaletteProps<G, T> & {
|
|
197
|
+
declare const __VLS_export: <G extends CommandPaletteGroup<T>, T extends CommandPaletteItem>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
198
|
+
props: __VLS_PrettifyLocal<(CommandPaletteProps<G, T> & {
|
|
178
199
|
searchTerm?: string;
|
|
179
|
-
}) &
|
|
180
|
-
|
|
200
|
+
}) & __VLS_EmitsToProps<__VLS_NormalizeEmits<((evt: "update:open", value: boolean) => void) & ((evt: "update:modelValue", value: T) => void) & ((evt: "highlight", payload: {
|
|
201
|
+
ref: HTMLElement;
|
|
202
|
+
value: T;
|
|
203
|
+
} | undefined) => void) & ((evt: "entryFocus", event: CustomEvent<any>) => void) & ((evt: "leave", event: Event) => void) & ((evt: "update:searchTerm", value: string) => void)>>> & import("vue").PublicProps;
|
|
204
|
+
expose: (exposed: {}) => void;
|
|
181
205
|
attrs: any;
|
|
182
206
|
slots: CommandPaletteSlots<G, T>;
|
|
183
207
|
emit: (((evt: "update:open", value: boolean) => void) & ((evt: "update:modelValue", value: T) => void) & ((evt: "highlight", payload: {
|
|
@@ -187,6 +211,7 @@ declare const _default: <G extends CommandPaletteGroup<T>, T extends CommandPale
|
|
|
187
211
|
}>) => import("vue").VNode & {
|
|
188
212
|
__ctx?: Awaited<typeof __VLS_setup>;
|
|
189
213
|
};
|
|
214
|
+
declare const _default: typeof __VLS_export;
|
|
190
215
|
export default _default;
|
|
191
216
|
type __VLS_PrettifyLocal<T> = {
|
|
192
217
|
[K in keyof T as K]: T[K];
|
|
@@ -9,7 +9,8 @@ export interface ContainerProps {
|
|
|
9
9
|
export interface ContainerSlots {
|
|
10
10
|
default(props?: {}): any;
|
|
11
11
|
}
|
|
12
|
-
declare const
|
|
12
|
+
declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<ContainerProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ContainerProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, ContainerSlots>;
|
|
13
|
+
declare const _default: typeof __VLS_export;
|
|
13
14
|
export default _default;
|
|
14
15
|
type __VLS_WithSlots<T, S> = T & {
|
|
15
16
|
new (): {
|
|
@@ -9,7 +9,8 @@ export interface ContainerProps {
|
|
|
9
9
|
export interface ContainerSlots {
|
|
10
10
|
default(props?: {}): any;
|
|
11
11
|
}
|
|
12
|
-
declare const
|
|
12
|
+
declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<ContainerProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ContainerProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, ContainerSlots>;
|
|
13
|
+
declare const _default: typeof __VLS_export;
|
|
13
14
|
export default _default;
|
|
14
15
|
type __VLS_WithSlots<T, S> = T & {
|
|
15
16
|
new (): {
|
|
@@ -7,13 +7,16 @@ import type { ComponentConfig } from '../types/tv';
|
|
|
7
7
|
type ContextMenu = ComponentConfig<typeof theme, AppConfig, 'contextMenu'>;
|
|
8
8
|
export interface ContextMenuItem extends Omit<LinkProps, 'type' | 'raw' | 'custom'> {
|
|
9
9
|
label?: string;
|
|
10
|
+
description?: string;
|
|
10
11
|
/**
|
|
11
12
|
* @IconifyIcon
|
|
12
13
|
*/
|
|
13
14
|
icon?: IconProps['name'];
|
|
14
15
|
color?: ContextMenu['variants']['color'];
|
|
15
16
|
avatar?: AvatarProps;
|
|
16
|
-
content?: Omit<ContextMenuContentProps, 'as' | 'asChild' | 'forceMount'> &
|
|
17
|
+
content?: Omit<ContextMenuContentProps, 'as' | 'asChild' | 'forceMount'> & {
|
|
18
|
+
class?: any;
|
|
19
|
+
} & Partial<EmitsToProps<ContextMenuContentEmits>>;
|
|
17
20
|
kbds?: KbdProps['value'][] | KbdProps[];
|
|
18
21
|
/**
|
|
19
22
|
* The item type.
|
|
@@ -27,10 +30,10 @@ export interface ContextMenuItem extends Omit<LinkProps, 'type' | 'raw' | 'custo
|
|
|
27
30
|
open?: boolean;
|
|
28
31
|
defaultOpen?: boolean;
|
|
29
32
|
children?: ArrayOrNested<ContextMenuItem>;
|
|
30
|
-
onSelect
|
|
31
|
-
onUpdateChecked
|
|
33
|
+
onSelect?: (e: Event) => void;
|
|
34
|
+
onUpdateChecked?: (checked: boolean) => void;
|
|
32
35
|
class?: any;
|
|
33
|
-
ui?: Pick<ContextMenu['slots'], 'item' | 'label' | 'separator' | 'itemLeadingIcon' | 'itemLeadingAvatarSize' | 'itemLeadingAvatar' | 'itemLabel' | 'itemLabelExternalIcon' | 'itemTrailing' | 'itemTrailingIcon' | 'itemTrailingKbds' | 'itemTrailingKbdsSize'>;
|
|
36
|
+
ui?: Pick<ContextMenu['slots'], 'content' | 'item' | 'label' | 'separator' | 'itemLeadingIcon' | 'itemLeadingAvatarSize' | 'itemLeadingAvatar' | 'itemWrapper' | 'itemLabel' | 'itemDescription' | 'itemLabelExternalIcon' | 'itemTrailing' | 'itemTrailingIcon' | 'itemTrailingKbds' | 'itemTrailingKbdsSize'>;
|
|
34
37
|
[key: string]: any;
|
|
35
38
|
}
|
|
36
39
|
export interface ContextMenuProps<T extends ArrayOrNested<ContextMenuItem> = ArrayOrNested<ContextMenuItem>> extends Omit<ContextMenuRootProps, 'dir'> {
|
|
@@ -70,6 +73,11 @@ export interface ContextMenuProps<T extends ArrayOrNested<ContextMenuItem> = Arr
|
|
|
70
73
|
* @defaultValue 'label'
|
|
71
74
|
*/
|
|
72
75
|
labelKey?: GetItemKeys<T>;
|
|
76
|
+
/**
|
|
77
|
+
* The key used to get the description from the item.
|
|
78
|
+
* @defaultValue 'description'
|
|
79
|
+
*/
|
|
80
|
+
descriptionKey?: GetItemKeys<T>;
|
|
73
81
|
disabled?: boolean;
|
|
74
82
|
class?: any;
|
|
75
83
|
ui?: ContextMenu['slots'];
|
|
@@ -80,30 +88,43 @@ type SlotProps<T extends ContextMenuItem> = (props: {
|
|
|
80
88
|
item: T;
|
|
81
89
|
active?: boolean;
|
|
82
90
|
index: number;
|
|
91
|
+
ui: ContextMenu['ui'];
|
|
83
92
|
}) => any;
|
|
84
93
|
export type ContextMenuSlots<A extends ArrayOrNested<ContextMenuItem> = ArrayOrNested<ContextMenuItem>, T extends NestedItem<A> = NestedItem<A>> = {
|
|
85
94
|
'default'(props?: {}): any;
|
|
86
95
|
'item': SlotProps<T>;
|
|
87
96
|
'item-leading': SlotProps<T>;
|
|
88
|
-
'item-label':
|
|
97
|
+
'item-label': (props: {
|
|
98
|
+
item: T;
|
|
99
|
+
active?: boolean;
|
|
100
|
+
index: number;
|
|
101
|
+
}) => any;
|
|
102
|
+
'item-description': (props: {
|
|
103
|
+
item: T;
|
|
104
|
+
active?: boolean;
|
|
105
|
+
index: number;
|
|
106
|
+
}) => any;
|
|
89
107
|
'item-trailing': SlotProps<T>;
|
|
90
108
|
'content-top': (props?: {}) => any;
|
|
91
109
|
'content-bottom': (props?: {}) => any;
|
|
92
|
-
} & DynamicSlots<MergeTypes<T>, '
|
|
110
|
+
} & DynamicSlots<MergeTypes<T>, 'label' | 'description', {
|
|
111
|
+
active?: boolean;
|
|
112
|
+
index: number;
|
|
113
|
+
}> & DynamicSlots<MergeTypes<T>, 'leading' | 'trailing', {
|
|
93
114
|
active?: boolean;
|
|
94
115
|
index: number;
|
|
116
|
+
ui: ContextMenu['ui'];
|
|
95
117
|
}>;
|
|
96
|
-
declare const
|
|
97
|
-
props: __VLS_PrettifyLocal<
|
|
98
|
-
|
|
99
|
-
} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>, "onUpdate:open"> & ContextMenuProps<T> & {}> & import("vue").PublicProps;
|
|
100
|
-
expose(exposed: import("vue").ShallowUnwrapRef<{}>): void;
|
|
118
|
+
declare const __VLS_export: <T extends ArrayOrNested<ContextMenuItem>>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
119
|
+
props: __VLS_PrettifyLocal<ContextMenuProps<T> & __VLS_EmitsToProps<__VLS_NormalizeEmits<(evt: "update:open", payload: boolean) => void>>> & import("vue").PublicProps;
|
|
120
|
+
expose: (exposed: {}) => void;
|
|
101
121
|
attrs: any;
|
|
102
122
|
slots: ContextMenuSlots<T, NestedItem<T>>;
|
|
103
123
|
emit: (evt: "update:open", payload: boolean) => void;
|
|
104
124
|
}>) => import("vue").VNode & {
|
|
105
125
|
__ctx?: Awaited<typeof __VLS_setup>;
|
|
106
126
|
};
|
|
127
|
+
declare const _default: typeof __VLS_export;
|
|
107
128
|
export default _default;
|
|
108
129
|
type __VLS_PrettifyLocal<T> = {
|
|
109
130
|
[K in keyof T as K]: T[K];
|
|
@@ -19,6 +19,7 @@ const props = defineProps({
|
|
|
19
19
|
content: { type: Object, required: false },
|
|
20
20
|
portal: { type: [Boolean, String], required: false, skipCheck: true, default: true },
|
|
21
21
|
labelKey: { type: null, required: false, default: "label" },
|
|
22
|
+
descriptionKey: { type: null, required: false, default: "description" },
|
|
22
23
|
disabled: { type: Boolean, required: false },
|
|
23
24
|
class: { type: null, required: false },
|
|
24
25
|
ui: { type: null, required: false },
|
|
@@ -50,6 +51,7 @@ const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.contextMenu |
|
|
|
50
51
|
:items="items"
|
|
51
52
|
:portal="portal"
|
|
52
53
|
:label-key="labelKey"
|
|
54
|
+
:description-key="descriptionKey"
|
|
53
55
|
:checked-icon="checkedIcon"
|
|
54
56
|
:loading-icon="loadingIcon"
|
|
55
57
|
:external-icon="externalIcon"
|