@nuxt/ui 4.2.1 → 4.4.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.css +2 -0
- package/README.md +6 -5
- package/cli/package.json +1 -1
- package/dist/module.json +1 -1
- package/dist/module.mjs +4 -4
- package/dist/runtime/components/Accordion.d.vue.ts +16 -7
- package/dist/runtime/components/Accordion.vue +2 -1
- package/dist/runtime/components/Accordion.vue.d.ts +16 -7
- package/dist/runtime/components/Alert.d.vue.ts +4 -4
- package/dist/runtime/components/Alert.vue.d.ts +4 -4
- package/dist/runtime/components/App.d.vue.ts +10 -6
- package/dist/runtime/components/App.vue.d.ts +10 -6
- package/dist/runtime/components/AuthForm.d.vue.ts +53 -11
- package/dist/runtime/components/AuthForm.vue.d.ts +53 -11
- package/dist/runtime/components/Avatar.d.vue.ts +2 -2
- package/dist/runtime/components/Avatar.vue.d.ts +2 -2
- package/dist/runtime/components/AvatarGroup.d.vue.ts +1 -1
- package/dist/runtime/components/AvatarGroup.vue.d.ts +1 -1
- package/dist/runtime/components/Badge.d.vue.ts +2 -2
- package/dist/runtime/components/Badge.vue.d.ts +2 -2
- package/dist/runtime/components/Banner.d.vue.ts +5 -6
- package/dist/runtime/components/Banner.vue +49 -23
- package/dist/runtime/components/Banner.vue.d.ts +5 -6
- package/dist/runtime/components/BlogPost.d.vue.ts +2 -2
- package/dist/runtime/components/BlogPost.vue +0 -1
- package/dist/runtime/components/BlogPost.vue.d.ts +2 -2
- package/dist/runtime/components/BlogPosts.d.vue.ts +10 -6
- package/dist/runtime/components/BlogPosts.vue.d.ts +10 -6
- package/dist/runtime/components/Breadcrumb.d.vue.ts +10 -6
- package/dist/runtime/components/Breadcrumb.vue.d.ts +10 -6
- package/dist/runtime/components/Button.d.vue.ts +1 -1
- package/dist/runtime/components/Button.vue.d.ts +1 -1
- package/dist/runtime/components/Calendar.d.vue.ts +17 -12
- package/dist/runtime/components/Calendar.vue +13 -2
- package/dist/runtime/components/Calendar.vue.d.ts +17 -12
- package/dist/runtime/components/Card.d.vue.ts +1 -1
- package/dist/runtime/components/Card.vue.d.ts +1 -1
- package/dist/runtime/components/Carousel.d.vue.ts +14 -10
- package/dist/runtime/components/Carousel.vue +22 -0
- package/dist/runtime/components/Carousel.vue.d.ts +14 -10
- package/dist/runtime/components/ChangelogVersion.d.vue.ts +2 -2
- package/dist/runtime/components/ChangelogVersion.vue +0 -1
- package/dist/runtime/components/ChangelogVersion.vue.d.ts +2 -2
- package/dist/runtime/components/ChangelogVersions.d.vue.ts +14 -8
- package/dist/runtime/components/ChangelogVersions.vue +3 -2
- package/dist/runtime/components/ChangelogVersions.vue.d.ts +14 -8
- package/dist/runtime/components/ChatMessage.d.vue.ts +2 -2
- package/dist/runtime/components/ChatMessage.vue.d.ts +2 -2
- package/dist/runtime/components/ChatMessages.d.vue.ts +5 -5
- package/dist/runtime/components/ChatMessages.vue.d.ts +5 -5
- package/dist/runtime/components/ChatPalette.d.vue.ts +1 -1
- package/dist/runtime/components/ChatPalette.vue.d.ts +1 -1
- package/dist/runtime/components/ChatPrompt.d.vue.ts +3 -3
- package/dist/runtime/components/ChatPrompt.vue.d.ts +3 -3
- package/dist/runtime/components/ChatPromptSubmit.d.vue.ts +7 -7
- package/dist/runtime/components/ChatPromptSubmit.vue +1 -20
- package/dist/runtime/components/ChatPromptSubmit.vue.d.ts +7 -7
- package/dist/runtime/components/Checkbox.d.vue.ts +2 -2
- package/dist/runtime/components/Checkbox.vue.d.ts +2 -2
- package/dist/runtime/components/CheckboxGroup.d.vue.ts +12 -8
- package/dist/runtime/components/CheckboxGroup.vue.d.ts +12 -8
- package/dist/runtime/components/Chip.d.vue.ts +2 -2
- package/dist/runtime/components/Chip.vue.d.ts +2 -2
- package/dist/runtime/components/Collapsible.d.vue.ts +2 -2
- package/dist/runtime/components/Collapsible.vue.d.ts +2 -2
- package/dist/runtime/components/ColorPicker.d.vue.ts +2 -2
- package/dist/runtime/components/ColorPicker.vue.d.ts +2 -2
- package/dist/runtime/components/CommandPalette.d.vue.ts +31 -13
- package/dist/runtime/components/CommandPalette.vue +26 -18
- package/dist/runtime/components/CommandPalette.vue.d.ts +31 -13
- package/dist/runtime/components/Container.d.vue.ts +1 -1
- package/dist/runtime/components/Container.vue.d.ts +1 -1
- package/dist/runtime/components/ContextMenu.d.vue.ts +17 -9
- package/dist/runtime/components/ContextMenu.vue.d.ts +17 -9
- package/dist/runtime/components/ContextMenuContent.d.vue.ts +11 -7
- package/dist/runtime/components/ContextMenuContent.vue +12 -13
- package/dist/runtime/components/ContextMenuContent.vue.d.ts +11 -7
- package/dist/runtime/components/DashboardGroup.d.vue.ts +2 -2
- package/dist/runtime/components/DashboardGroup.vue.d.ts +2 -2
- package/dist/runtime/components/DashboardNavbar.d.vue.ts +5 -5
- package/dist/runtime/components/DashboardNavbar.vue.d.ts +5 -5
- package/dist/runtime/components/DashboardPanel.d.vue.ts +2 -2
- package/dist/runtime/components/DashboardPanel.vue.d.ts +2 -2
- package/dist/runtime/components/DashboardResizeHandle.d.vue.ts +1 -1
- package/dist/runtime/components/DashboardResizeHandle.vue.d.ts +1 -1
- package/dist/runtime/components/DashboardSearch.d.vue.ts +10 -6
- package/dist/runtime/components/DashboardSearch.vue +3 -1
- package/dist/runtime/components/DashboardSearch.vue.d.ts +10 -6
- package/dist/runtime/components/DashboardSearchButton.d.vue.ts +5 -5
- package/dist/runtime/components/DashboardSearchButton.vue +1 -20
- package/dist/runtime/components/DashboardSearchButton.vue.d.ts +5 -5
- package/dist/runtime/components/DashboardSidebar.d.vue.ts +13 -9
- package/dist/runtime/components/DashboardSidebar.vue.d.ts +13 -9
- package/dist/runtime/components/DashboardSidebarCollapse.d.vue.ts +5 -5
- package/dist/runtime/components/DashboardSidebarCollapse.vue +1 -20
- package/dist/runtime/components/DashboardSidebarCollapse.vue.d.ts +5 -5
- package/dist/runtime/components/DashboardSidebarToggle.d.vue.ts +5 -5
- package/dist/runtime/components/DashboardSidebarToggle.vue +1 -20
- package/dist/runtime/components/DashboardSidebarToggle.vue.d.ts +5 -5
- package/dist/runtime/components/DashboardToolbar.d.vue.ts +1 -1
- package/dist/runtime/components/DashboardToolbar.vue.d.ts +1 -1
- package/dist/runtime/components/Drawer.d.vue.ts +3 -3
- package/dist/runtime/components/Drawer.vue.d.ts +3 -3
- package/dist/runtime/components/DropdownMenu.d.vue.ts +17 -9
- package/dist/runtime/components/DropdownMenu.vue.d.ts +17 -9
- package/dist/runtime/components/DropdownMenuContent.d.vue.ts +11 -7
- package/dist/runtime/components/DropdownMenuContent.vue +12 -13
- package/dist/runtime/components/DropdownMenuContent.vue.d.ts +11 -7
- package/dist/runtime/components/Editor.d.vue.ts +101 -0
- package/dist/runtime/components/Editor.vue +199 -0
- package/dist/runtime/components/Editor.vue.d.ts +101 -0
- package/dist/runtime/components/EditorDragHandle.d.vue.ts +68 -0
- package/dist/runtime/components/EditorDragHandle.vue +127 -0
- package/dist/runtime/components/EditorDragHandle.vue.d.ts +68 -0
- package/dist/runtime/components/EditorEmojiMenu.d.vue.ts +41 -0
- package/dist/runtime/components/EditorEmojiMenu.vue +73 -0
- package/dist/runtime/components/EditorEmojiMenu.vue.d.ts +41 -0
- package/dist/runtime/components/EditorMentionMenu.d.vue.ts +49 -0
- package/dist/runtime/components/EditorMentionMenu.vue +79 -0
- package/dist/runtime/components/EditorMentionMenu.vue.d.ts +49 -0
- package/dist/runtime/components/EditorSuggestionMenu.d.vue.ts +58 -0
- package/dist/runtime/components/EditorSuggestionMenu.vue +83 -0
- package/dist/runtime/components/EditorSuggestionMenu.vue.d.ts +58 -0
- package/dist/runtime/components/EditorToolbar.d.vue.ts +92 -0
- package/dist/runtime/components/EditorToolbar.vue +242 -0
- package/dist/runtime/components/EditorToolbar.vue.d.ts +92 -0
- package/dist/runtime/components/Empty.d.vue.ts +1 -1
- package/dist/runtime/components/Empty.vue.d.ts +1 -1
- package/dist/runtime/components/Error.d.vue.ts +6 -5
- package/dist/runtime/components/Error.vue +1 -1
- package/dist/runtime/components/Error.vue.d.ts +6 -5
- package/dist/runtime/components/FieldGroup.d.vue.ts +2 -2
- package/dist/runtime/components/FieldGroup.vue.d.ts +2 -2
- package/dist/runtime/components/FileUpload.d.vue.ts +13 -9
- package/dist/runtime/components/FileUpload.vue +2 -2
- package/dist/runtime/components/FileUpload.vue.d.ts +13 -9
- package/dist/runtime/components/Footer.d.vue.ts +2 -2
- package/dist/runtime/components/Footer.vue.d.ts +2 -2
- package/dist/runtime/components/FooterColumns.d.vue.ts +10 -6
- package/dist/runtime/components/FooterColumns.vue.d.ts +10 -6
- package/dist/runtime/components/Form.d.vue.ts +11 -7
- package/dist/runtime/components/Form.vue.d.ts +11 -7
- package/dist/runtime/components/FormField.d.vue.ts +8 -1
- package/dist/runtime/components/FormField.vue +6 -5
- package/dist/runtime/components/FormField.vue.d.ts +8 -1
- package/dist/runtime/components/Header.d.vue.ts +13 -9
- package/dist/runtime/components/Header.vue.d.ts +13 -9
- package/dist/runtime/components/Icon.d.vue.ts +1 -1
- package/dist/runtime/components/Icon.vue.d.ts +1 -1
- package/dist/runtime/components/Input.d.vue.ts +14 -10
- package/dist/runtime/components/Input.vue.d.ts +14 -10
- package/dist/runtime/components/InputDate.d.vue.ts +13 -9
- package/dist/runtime/components/InputDate.vue.d.ts +13 -9
- package/dist/runtime/components/InputMenu.d.vue.ts +34 -13
- package/dist/runtime/components/InputMenu.vue +56 -11
- package/dist/runtime/components/InputMenu.vue.d.ts +34 -13
- package/dist/runtime/components/InputNumber.d.vue.ts +18 -14
- package/dist/runtime/components/InputNumber.vue +1 -1
- package/dist/runtime/components/InputNumber.vue.d.ts +18 -14
- package/dist/runtime/components/InputTags.d.vue.ts +13 -9
- package/dist/runtime/components/InputTags.vue.d.ts +13 -9
- package/dist/runtime/components/InputTime.d.vue.ts +4 -4
- package/dist/runtime/components/InputTime.vue.d.ts +4 -4
- package/dist/runtime/components/Kbd.d.vue.ts +2 -2
- package/dist/runtime/components/Kbd.vue.d.ts +2 -2
- package/dist/runtime/components/Link.d.vue.ts +8 -3
- package/dist/runtime/components/Link.vue.d.ts +8 -3
- package/dist/runtime/components/LinkBase.d.vue.ts +3 -3
- package/dist/runtime/components/LinkBase.vue.d.ts +3 -3
- package/dist/runtime/components/Main.d.vue.ts +4 -2
- package/dist/runtime/components/Main.vue +1 -1
- package/dist/runtime/components/Main.vue.d.ts +4 -2
- package/dist/runtime/components/Marquee.d.vue.ts +3 -3
- package/dist/runtime/components/Marquee.vue.d.ts +3 -3
- package/dist/runtime/components/Modal.d.vue.ts +7 -7
- package/dist/runtime/components/Modal.vue.d.ts +7 -7
- package/dist/runtime/components/NavigationMenu.d.vue.ts +17 -8
- package/dist/runtime/components/NavigationMenu.vue +3 -2
- package/dist/runtime/components/NavigationMenu.vue.d.ts +17 -8
- package/dist/runtime/components/Page.d.vue.ts +1 -1
- package/dist/runtime/components/Page.vue.d.ts +1 -1
- package/dist/runtime/components/PageAnchors.d.vue.ts +10 -6
- package/dist/runtime/components/PageAnchors.vue.d.ts +10 -6
- package/dist/runtime/components/PageAside.d.vue.ts +2 -2
- package/dist/runtime/components/PageAside.vue.d.ts +2 -2
- package/dist/runtime/components/PageBody.d.vue.ts +1 -1
- package/dist/runtime/components/PageBody.vue.d.ts +1 -1
- package/dist/runtime/components/PageCTA.d.vue.ts +2 -2
- package/dist/runtime/components/PageCTA.vue.d.ts +2 -2
- package/dist/runtime/components/PageCard.d.vue.ts +2 -2
- package/dist/runtime/components/PageCard.vue.d.ts +2 -2
- package/dist/runtime/components/PageColumns.d.vue.ts +1 -1
- package/dist/runtime/components/PageColumns.vue.d.ts +1 -1
- package/dist/runtime/components/PageFeature.d.vue.ts +2 -2
- package/dist/runtime/components/PageFeature.vue +2 -2
- package/dist/runtime/components/PageFeature.vue.d.ts +2 -2
- package/dist/runtime/components/PageGrid.d.vue.ts +1 -1
- package/dist/runtime/components/PageGrid.vue.d.ts +1 -1
- package/dist/runtime/components/PageHeader.d.vue.ts +1 -1
- package/dist/runtime/components/PageHeader.vue.d.ts +1 -1
- package/dist/runtime/components/PageHero.d.vue.ts +2 -2
- package/dist/runtime/components/PageHero.vue.d.ts +2 -2
- package/dist/runtime/components/PageLinks.d.vue.ts +10 -6
- package/dist/runtime/components/PageLinks.vue.d.ts +10 -6
- package/dist/runtime/components/PageList.d.vue.ts +2 -2
- package/dist/runtime/components/PageList.vue.d.ts +2 -2
- package/dist/runtime/components/PageLogos.d.vue.ts +2 -2
- package/dist/runtime/components/PageLogos.vue.d.ts +2 -2
- package/dist/runtime/components/PageSection.d.vue.ts +2 -2
- package/dist/runtime/components/PageSection.vue.d.ts +2 -2
- package/dist/runtime/components/Pagination.d.vue.ts +4 -5
- package/dist/runtime/components/Pagination.vue.d.ts +4 -5
- package/dist/runtime/components/PinInput.d.vue.ts +13 -9
- package/dist/runtime/components/PinInput.vue +1 -1
- package/dist/runtime/components/PinInput.vue.d.ts +13 -9
- package/dist/runtime/components/Popover.d.vue.ts +11 -7
- package/dist/runtime/components/Popover.vue.d.ts +11 -7
- package/dist/runtime/components/PricingPlan.d.vue.ts +2 -2
- package/dist/runtime/components/PricingPlan.vue.d.ts +2 -2
- package/dist/runtime/components/PricingPlans.d.vue.ts +10 -6
- package/dist/runtime/components/PricingPlans.vue.d.ts +10 -6
- package/dist/runtime/components/PricingTable.d.vue.ts +10 -6
- package/dist/runtime/components/PricingTable.vue.d.ts +10 -6
- package/dist/runtime/components/Progress.d.vue.ts +2 -2
- package/dist/runtime/components/Progress.vue.d.ts +2 -2
- package/dist/runtime/components/RadioGroup.d.vue.ts +12 -8
- package/dist/runtime/components/RadioGroup.vue.d.ts +12 -8
- package/dist/runtime/components/ScrollArea.d.vue.ts +85 -0
- package/dist/runtime/components/ScrollArea.vue +187 -0
- package/dist/runtime/components/ScrollArea.vue.d.ts +85 -0
- package/dist/runtime/components/Select.d.vue.ts +21 -9
- package/dist/runtime/components/Select.vue +24 -6
- package/dist/runtime/components/Select.vue.d.ts +21 -9
- package/dist/runtime/components/SelectMenu.d.vue.ts +34 -13
- package/dist/runtime/components/SelectMenu.vue +58 -12
- package/dist/runtime/components/SelectMenu.vue.d.ts +34 -13
- package/dist/runtime/components/Separator.d.vue.ts +4 -4
- package/dist/runtime/components/Separator.vue.d.ts +4 -4
- package/dist/runtime/components/Skeleton.d.vue.ts +2 -2
- package/dist/runtime/components/Skeleton.vue.d.ts +2 -2
- package/dist/runtime/components/Slideover.d.vue.ts +12 -7
- package/dist/runtime/components/Slideover.vue +3 -1
- package/dist/runtime/components/Slideover.vue.d.ts +12 -7
- package/dist/runtime/components/Slider.d.vue.ts +12 -8
- package/dist/runtime/components/Slider.vue +2 -2
- package/dist/runtime/components/Slider.vue.d.ts +12 -8
- package/dist/runtime/components/Stepper.d.vue.ts +21 -9
- package/dist/runtime/components/Stepper.vue +20 -16
- package/dist/runtime/components/Stepper.vue.d.ts +21 -9
- package/dist/runtime/components/Switch.d.vue.ts +2 -2
- package/dist/runtime/components/Switch.vue.d.ts +2 -2
- package/dist/runtime/components/Table.d.vue.ts +27 -23
- package/dist/runtime/components/Table.vue +55 -33
- package/dist/runtime/components/Table.vue.d.ts +27 -23
- package/dist/runtime/components/Tabs.d.vue.ts +17 -8
- package/dist/runtime/components/Tabs.vue +5 -4
- package/dist/runtime/components/Tabs.vue.d.ts +17 -8
- package/dist/runtime/components/Textarea.d.vue.ts +14 -10
- package/dist/runtime/components/Textarea.vue.d.ts +14 -10
- package/dist/runtime/components/Timeline.d.vue.ts +24 -10
- package/dist/runtime/components/Timeline.vue +26 -17
- package/dist/runtime/components/Timeline.vue.d.ts +24 -10
- package/dist/runtime/components/Toast.d.vue.ts +5 -5
- package/dist/runtime/components/Toast.vue.d.ts +5 -5
- package/dist/runtime/components/Toaster.d.vue.ts +2 -2
- package/dist/runtime/components/Toaster.vue.d.ts +2 -2
- package/dist/runtime/components/Tooltip.d.vue.ts +2 -2
- package/dist/runtime/components/Tooltip.vue.d.ts +2 -2
- package/dist/runtime/components/Tree.d.vue.ts +13 -9
- package/dist/runtime/components/Tree.vue.d.ts +13 -9
- package/dist/runtime/components/User.d.vue.ts +2 -2
- package/dist/runtime/components/User.vue +0 -1
- package/dist/runtime/components/User.vue.d.ts +2 -2
- package/dist/runtime/components/color-mode/ColorModeAvatar.d.vue.ts +1 -1
- package/dist/runtime/components/color-mode/ColorModeAvatar.vue.d.ts +1 -1
- package/dist/runtime/components/color-mode/ColorModeButton.d.vue.ts +5 -5
- package/dist/runtime/components/color-mode/ColorModeButton.vue +3 -22
- package/dist/runtime/components/color-mode/ColorModeButton.vue.d.ts +5 -5
- package/dist/runtime/components/color-mode/ColorModeImage.d.vue.ts +1 -1
- package/dist/runtime/components/color-mode/ColorModeImage.vue.d.ts +1 -1
- package/dist/runtime/components/color-mode/ColorModeSelect.d.vue.ts +2 -2
- package/dist/runtime/components/color-mode/ColorModeSelect.vue +5 -0
- package/dist/runtime/components/color-mode/ColorModeSelect.vue.d.ts +2 -2
- package/dist/runtime/components/color-mode/ColorModeSwitch.d.vue.ts +1 -1
- package/dist/runtime/components/color-mode/ColorModeSwitch.vue.d.ts +1 -1
- package/dist/runtime/components/content/ContentNavigation.d.vue.ts +11 -7
- package/dist/runtime/components/content/ContentNavigation.vue.d.ts +11 -7
- package/dist/runtime/components/content/ContentSearch.d.vue.ts +18 -10
- package/dist/runtime/components/content/ContentSearch.vue +3 -1
- package/dist/runtime/components/content/ContentSearch.vue.d.ts +18 -10
- package/dist/runtime/components/content/ContentSearchButton.d.vue.ts +5 -5
- package/dist/runtime/components/content/ContentSearchButton.vue +1 -20
- package/dist/runtime/components/content/ContentSearchButton.vue.d.ts +5 -5
- package/dist/runtime/components/content/ContentSurround.d.vue.ts +10 -6
- package/dist/runtime/components/content/ContentSurround.vue +1 -1
- package/dist/runtime/components/content/ContentSurround.vue.d.ts +10 -6
- package/dist/runtime/components/content/ContentToc.d.vue.ts +11 -7
- package/dist/runtime/components/content/ContentToc.vue.d.ts +11 -7
- package/dist/runtime/components/locale/LocaleSelect.d.vue.ts +2 -2
- package/dist/runtime/components/locale/LocaleSelect.vue +14 -3
- package/dist/runtime/components/locale/LocaleSelect.vue.d.ts +2 -2
- package/dist/runtime/components/prose/A.d.vue.ts +1 -1
- package/dist/runtime/components/prose/A.vue.d.ts +1 -1
- package/dist/runtime/components/prose/Accordion.d.vue.ts +2 -2
- package/dist/runtime/components/prose/Accordion.vue.d.ts +2 -2
- package/dist/runtime/components/prose/AccordionItem.d.vue.ts +1 -1
- package/dist/runtime/components/prose/AccordionItem.vue.d.ts +1 -1
- package/dist/runtime/components/prose/Badge.d.vue.ts +1 -1
- package/dist/runtime/components/prose/Badge.vue.d.ts +1 -1
- package/dist/runtime/components/prose/Blockquote.d.vue.ts +1 -1
- package/dist/runtime/components/prose/Blockquote.vue.d.ts +1 -1
- package/dist/runtime/components/prose/Callout.d.vue.ts +1 -1
- package/dist/runtime/components/prose/Callout.vue +0 -1
- package/dist/runtime/components/prose/Callout.vue.d.ts +1 -1
- package/dist/runtime/components/prose/Card.d.vue.ts +1 -1
- package/dist/runtime/components/prose/Card.vue +0 -1
- package/dist/runtime/components/prose/Card.vue.d.ts +1 -1
- package/dist/runtime/components/prose/CardGroup.d.vue.ts +1 -1
- package/dist/runtime/components/prose/CardGroup.vue.d.ts +1 -1
- package/dist/runtime/components/prose/Code.d.vue.ts +1 -1
- package/dist/runtime/components/prose/Code.vue.d.ts +1 -1
- package/dist/runtime/components/prose/CodeCollapse.d.vue.ts +2 -2
- package/dist/runtime/components/prose/CodeCollapse.vue.d.ts +2 -2
- package/dist/runtime/components/prose/CodeGroup.d.vue.ts +2 -2
- package/dist/runtime/components/prose/CodeGroup.vue.d.ts +2 -2
- package/dist/runtime/components/prose/CodeIcon.d.vue.ts +1 -1
- package/dist/runtime/components/prose/CodeIcon.vue.d.ts +1 -1
- package/dist/runtime/components/prose/CodePreview.d.vue.ts +1 -1
- package/dist/runtime/components/prose/CodePreview.vue.d.ts +1 -1
- package/dist/runtime/components/prose/CodeTree.d.vue.ts +20 -1
- package/dist/runtime/components/prose/CodeTree.vue +34 -7
- package/dist/runtime/components/prose/CodeTree.vue.d.ts +20 -1
- package/dist/runtime/components/prose/Collapsible.d.vue.ts +1 -1
- package/dist/runtime/components/prose/Collapsible.vue.d.ts +1 -1
- package/dist/runtime/components/prose/Em.d.vue.ts +1 -1
- package/dist/runtime/components/prose/Em.vue.d.ts +1 -1
- package/dist/runtime/components/prose/Field.d.vue.ts +1 -1
- package/dist/runtime/components/prose/Field.vue.d.ts +1 -1
- package/dist/runtime/components/prose/FieldGroup.d.vue.ts +1 -1
- package/dist/runtime/components/prose/FieldGroup.vue.d.ts +1 -1
- package/dist/runtime/components/prose/H1.d.vue.ts +1 -1
- package/dist/runtime/components/prose/H1.vue.d.ts +1 -1
- package/dist/runtime/components/prose/H2.d.vue.ts +1 -1
- package/dist/runtime/components/prose/H2.vue.d.ts +1 -1
- package/dist/runtime/components/prose/H3.d.vue.ts +1 -1
- package/dist/runtime/components/prose/H3.vue.d.ts +1 -1
- package/dist/runtime/components/prose/H4.d.vue.ts +1 -1
- package/dist/runtime/components/prose/H4.vue.d.ts +1 -1
- package/dist/runtime/components/prose/Hr.d.vue.ts +1 -1
- package/dist/runtime/components/prose/Hr.vue.d.ts +1 -1
- package/dist/runtime/components/prose/Icon.d.vue.ts +1 -1
- package/dist/runtime/components/prose/Icon.vue.d.ts +1 -1
- package/dist/runtime/components/prose/Img.d.vue.ts +2 -2
- package/dist/runtime/components/prose/Img.vue.d.ts +2 -2
- package/dist/runtime/components/prose/Kbd.d.vue.ts +1 -1
- package/dist/runtime/components/prose/Kbd.vue.d.ts +1 -1
- package/dist/runtime/components/prose/Li.d.vue.ts +1 -1
- package/dist/runtime/components/prose/Li.vue.d.ts +1 -1
- package/dist/runtime/components/prose/Ol.d.vue.ts +1 -1
- package/dist/runtime/components/prose/Ol.vue.d.ts +1 -1
- package/dist/runtime/components/prose/P.d.vue.ts +1 -1
- package/dist/runtime/components/prose/P.vue.d.ts +1 -1
- package/dist/runtime/components/prose/Pre.d.vue.ts +1 -1
- package/dist/runtime/components/prose/Pre.vue.d.ts +1 -1
- package/dist/runtime/components/prose/Steps.d.vue.ts +1 -1
- package/dist/runtime/components/prose/Steps.vue.d.ts +1 -1
- package/dist/runtime/components/prose/Strong.d.vue.ts +1 -1
- package/dist/runtime/components/prose/Strong.vue.d.ts +1 -1
- package/dist/runtime/components/prose/Table.d.vue.ts +1 -1
- package/dist/runtime/components/prose/Table.vue.d.ts +1 -1
- package/dist/runtime/components/prose/Tabs.d.vue.ts +2 -2
- package/dist/runtime/components/prose/Tabs.vue.d.ts +2 -2
- package/dist/runtime/components/prose/TabsItem.d.vue.ts +1 -1
- package/dist/runtime/components/prose/TabsItem.vue.d.ts +1 -1
- package/dist/runtime/components/prose/Tbody.d.vue.ts +1 -1
- package/dist/runtime/components/prose/Tbody.vue.d.ts +1 -1
- package/dist/runtime/components/prose/Td.d.vue.ts +2 -1
- package/dist/runtime/components/prose/Td.vue +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 +2 -1
- package/dist/runtime/components/prose/Th.vue.d.ts +2 -1
- package/dist/runtime/components/prose/Thead.d.vue.ts +1 -1
- package/dist/runtime/components/prose/Thead.vue.d.ts +1 -1
- package/dist/runtime/components/prose/Tr.d.vue.ts +1 -1
- package/dist/runtime/components/prose/Tr.vue.d.ts +1 -1
- package/dist/runtime/components/prose/Ul.d.vue.ts +1 -1
- package/dist/runtime/components/prose/Ul.vue.d.ts +1 -1
- package/dist/runtime/components/prose/callout/Caution.d.vue.ts +2 -2
- package/dist/runtime/components/prose/callout/Caution.vue.d.ts +2 -2
- package/dist/runtime/components/prose/callout/Note.d.vue.ts +2 -2
- package/dist/runtime/components/prose/callout/Note.vue.d.ts +2 -2
- package/dist/runtime/components/prose/callout/Tip.d.vue.ts +2 -2
- package/dist/runtime/components/prose/callout/Tip.vue.d.ts +2 -2
- package/dist/runtime/components/prose/callout/Warning.d.vue.ts +2 -2
- package/dist/runtime/components/prose/callout/Warning.vue.d.ts +2 -2
- package/dist/runtime/composables/defineShortcuts.d.ts +2 -1
- package/dist/runtime/composables/defineShortcuts.js +63 -16
- package/dist/runtime/composables/useEditorMenu.d.ts +75 -0
- package/dist/runtime/composables/useEditorMenu.js +435 -0
- package/dist/runtime/composables/useFileUpload.d.ts +1 -2
- package/dist/runtime/composables/useOverlay.d.ts +3 -1
- package/dist/runtime/locale/cs.js +2 -2
- package/dist/runtime/locale/en_gb.d.ts +3 -0
- package/dist/runtime/locale/en_gb.js +7 -0
- package/dist/runtime/locale/eu.d.ts +3 -0
- package/dist/runtime/locale/eu.js +129 -0
- package/dist/runtime/locale/index.d.ts +3 -0
- package/dist/runtime/locale/index.js +3 -0
- package/dist/runtime/locale/lo.d.ts +3 -0
- package/dist/runtime/locale/lo.js +129 -0
- package/dist/runtime/locale/sk.js +2 -2
- package/dist/runtime/types/editor.d.ts +70 -0
- package/dist/runtime/types/editor.js +0 -0
- package/dist/runtime/types/index.d.ts +8 -0
- package/dist/runtime/types/index.js +8 -0
- package/dist/runtime/utils/ai.d.ts +7 -0
- package/dist/runtime/utils/content.d.ts +2 -2
- package/dist/runtime/utils/editor.d.ts +69 -0
- package/dist/runtime/utils/editor.js +382 -0
- package/dist/runtime/utils/fuse.js +22 -3
- package/dist/runtime/utils/index.d.ts +1 -0
- package/dist/runtime/utils/index.js +2 -2
- package/dist/runtime/utils/locale.d.ts +1 -2
- package/dist/runtime/utils/virtualizer.d.ts +1 -3
- package/dist/runtime/utils/virtualizer.js +15 -6
- package/dist/runtime/vue/components/Icon.d.vue.ts +1 -1
- package/dist/runtime/vue/components/Icon.vue.d.ts +1 -1
- package/dist/runtime/vue/components/color-mode/ColorModeSelect.d.vue.ts +2 -2
- package/dist/runtime/vue/components/color-mode/ColorModeSelect.vue +5 -0
- package/dist/runtime/vue/components/color-mode/ColorModeSelect.vue.d.ts +2 -2
- package/dist/runtime/vue/components/color-mode/ColorModeSwitch.d.vue.ts +1 -1
- package/dist/runtime/vue/components/color-mode/ColorModeSwitch.vue.d.ts +1 -1
- package/dist/runtime/{inertia/components → vue/overrides/inertia}/Link.d.vue.ts +4 -4
- package/dist/runtime/{inertia/components → vue/overrides/inertia}/Link.vue +3 -3
- package/dist/runtime/{inertia/components → vue/overrides/inertia}/Link.vue.d.ts +4 -4
- package/dist/runtime/{inertia/components → vue/overrides/inertia}/LinkBase.d.vue.ts +4 -4
- package/dist/runtime/{inertia/components → vue/overrides/inertia}/LinkBase.vue.d.ts +4 -4
- package/dist/runtime/vue/overrides/none/Link.d.vue.ts +76 -0
- package/dist/runtime/vue/overrides/none/Link.vue +130 -0
- package/dist/runtime/vue/overrides/none/Link.vue.d.ts +76 -0
- package/dist/runtime/vue/{components → overrides/vue-router}/Link.d.vue.ts +4 -4
- package/dist/runtime/vue/{components → overrides/vue-router}/Link.vue +6 -6
- package/dist/runtime/vue/{components → overrides/vue-router}/Link.vue.d.ts +4 -4
- package/dist/runtime/vue/plugins/router.d.ts +4 -0
- package/dist/runtime/vue/plugins/router.js +7 -0
- package/dist/runtime/vue/{stubs.d.ts → stubs/base.d.ts} +4 -5
- package/dist/runtime/vue/{stubs.js → stubs/base.js} +4 -5
- package/dist/runtime/vue/stubs/inertia.d.ts +5 -0
- package/dist/runtime/vue/stubs/inertia.js +10 -0
- package/dist/runtime/vue/stubs/none.d.ts +56 -0
- package/dist/runtime/vue/stubs/none.js +48 -0
- package/dist/runtime/vue/stubs/vue-router.d.ts +2 -0
- package/dist/runtime/vue/stubs/vue-router.js +2 -0
- package/dist/shared/{ui.B77q-Dvh.mjs → ui.Ddb3hKxo.mjs} +511 -81
- package/dist/unplugin.d.mts +14 -0
- package/dist/unplugin.mjs +77 -50
- package/dist/vite.d.mts +2 -3
- package/dist/vite.mjs +1 -1
- package/package.json +64 -34
- package/dist/runtime/inertia/stubs.d.ts +0 -44
- package/dist/runtime/inertia/stubs.js +0 -84
- /package/dist/runtime/{inertia/components → vue/overrides/inertia}/LinkBase.vue +0 -0
|
@@ -12,7 +12,7 @@ import { useFieldGroup } from "../composables/useFieldGroup";
|
|
|
12
12
|
import { useComponentIcons } from "../composables/useComponentIcons";
|
|
13
13
|
import { useFormField } from "../composables/useFormField";
|
|
14
14
|
import { usePortal } from "../composables/usePortal";
|
|
15
|
-
import { get, getDisplayValue, isArrayOfArray } from "../utils";
|
|
15
|
+
import { get, getDisplayValue, isArrayOfArray, looseToNumber } from "../utils";
|
|
16
16
|
import { tv } from "../utils/tv";
|
|
17
17
|
import UIcon from "./Icon.vue";
|
|
18
18
|
import UAvatar from "./Avatar.vue";
|
|
@@ -35,7 +35,9 @@ const props = defineProps({
|
|
|
35
35
|
items: { type: null, required: false },
|
|
36
36
|
defaultValue: { type: null, required: false },
|
|
37
37
|
modelValue: { type: null, required: false },
|
|
38
|
+
modelModifiers: { type: Object, required: false },
|
|
38
39
|
multiple: { type: Boolean, required: false },
|
|
40
|
+
by: { type: [String, Function], required: false },
|
|
39
41
|
highlight: { type: Boolean, required: false },
|
|
40
42
|
autofocus: { type: Boolean, required: false },
|
|
41
43
|
autofocusDelay: { type: Number, required: false, default: 0 },
|
|
@@ -58,7 +60,7 @@ const props = defineProps({
|
|
|
58
60
|
const emits = defineEmits(["update:open", "change", "blur", "focus", "update:modelValue"]);
|
|
59
61
|
const slots = defineSlots();
|
|
60
62
|
const appConfig = useAppConfig();
|
|
61
|
-
const rootProps = useForwardPropsEmits(reactivePick(props, "open", "defaultOpen", "disabled", "autocomplete", "required", "multiple"), emits);
|
|
63
|
+
const rootProps = useForwardPropsEmits(reactivePick(props, "open", "defaultOpen", "disabled", "autocomplete", "required", "multiple", "by"), emits);
|
|
62
64
|
const portalProps = usePortal(toRef(() => props.portal));
|
|
63
65
|
const contentProps = toRef(() => defu(props.content, { side: "bottom", sideOffset: 8, collisionPadding: 8, position: "popper" }));
|
|
64
66
|
const arrowProps = toRef(() => props.arrow);
|
|
@@ -84,13 +86,15 @@ function displayValue(value) {
|
|
|
84
86
|
if (props.multiple && Array.isArray(value)) {
|
|
85
87
|
const displayedValues = value.map((item) => getDisplayValue(items.value, item, {
|
|
86
88
|
labelKey: props.labelKey,
|
|
87
|
-
valueKey: props.valueKey
|
|
89
|
+
valueKey: props.valueKey,
|
|
90
|
+
by: props.by
|
|
88
91
|
})).filter((v) => v != null && v !== "");
|
|
89
92
|
return displayedValues.length > 0 ? displayedValues.join(", ") : void 0;
|
|
90
93
|
}
|
|
91
94
|
return getDisplayValue(items.value, value, {
|
|
92
95
|
labelKey: props.labelKey,
|
|
93
|
-
valueKey: props.valueKey
|
|
96
|
+
valueKey: props.valueKey,
|
|
97
|
+
by: props.by
|
|
94
98
|
});
|
|
95
99
|
}
|
|
96
100
|
const triggerRef = useTemplateRef("triggerRef");
|
|
@@ -107,6 +111,18 @@ onMounted(() => {
|
|
|
107
111
|
}, props.autofocusDelay);
|
|
108
112
|
});
|
|
109
113
|
function onUpdate(value) {
|
|
114
|
+
if (props.modelModifiers?.trim) {
|
|
115
|
+
value = value?.trim() ?? null;
|
|
116
|
+
}
|
|
117
|
+
if (props.modelModifiers?.number) {
|
|
118
|
+
value = looseToNumber(value);
|
|
119
|
+
}
|
|
120
|
+
if (props.modelModifiers?.nullable) {
|
|
121
|
+
value ??= null;
|
|
122
|
+
}
|
|
123
|
+
if (props.modelModifiers?.optional) {
|
|
124
|
+
value ??= void 0;
|
|
125
|
+
}
|
|
110
126
|
const event = new Event("change", { target: { value } });
|
|
111
127
|
emits("change", event);
|
|
112
128
|
emitFormChange();
|
|
@@ -126,8 +142,10 @@ function onUpdateOpen(value) {
|
|
|
126
142
|
function isSelectItem(item) {
|
|
127
143
|
return typeof item === "object" && item !== null;
|
|
128
144
|
}
|
|
145
|
+
const viewportRef = useTemplateRef("viewportRef");
|
|
129
146
|
defineExpose({
|
|
130
|
-
triggerRef: toRef(() => triggerRef.value?.$el)
|
|
147
|
+
triggerRef: toRef(() => triggerRef.value?.$el),
|
|
148
|
+
viewportRef: toRef(() => viewportRef.value)
|
|
131
149
|
});
|
|
132
150
|
</script>
|
|
133
151
|
|
|
@@ -179,7 +197,7 @@ defineExpose({
|
|
|
179
197
|
<SelectContent data-slot="content" :class="ui.content({ class: props.ui?.content })" v-bind="contentProps">
|
|
180
198
|
<slot name="content-top" />
|
|
181
199
|
|
|
182
|
-
<div role="presentation" data-slot="viewport" :class="ui.viewport({ class: props.ui?.viewport })">
|
|
200
|
+
<div ref="viewportRef" role="presentation" data-slot="viewport" :class="ui.viewport({ class: props.ui?.viewport })">
|
|
183
201
|
<SelectGroup v-for="(group, groupIndex) in groups" :key="`group-${groupIndex}`" data-slot="group" :class="ui.group({ class: props.ui?.group })">
|
|
184
202
|
<template v-for="(item, index) in group" :key="`group-${groupIndex}-${index}`">
|
|
185
203
|
<SelectLabel v-if="isSelectItem(item) && item.type === 'label'" data-slot="label" :class="ui.label({ class: [props.ui?.label, item.ui?.label, item.class] })">
|
|
@@ -3,6 +3,7 @@ import type { AppConfig } from '@nuxt/schema';
|
|
|
3
3
|
import theme from '#build/ui/select';
|
|
4
4
|
import type { UseComponentIconsProps } from '../composables/useComponentIcons';
|
|
5
5
|
import type { AvatarProps, ChipProps, IconProps } from '../types';
|
|
6
|
+
import type { ModelModifiers } from '../types/input';
|
|
6
7
|
import type { ButtonHTMLAttributes } from '../types/html';
|
|
7
8
|
import type { AcceptableValue, ArrayOrNested, GetItemKeys, GetModelValue, GetModelValueEmits, NestedItem, EmitsToProps } from '../types/utils';
|
|
8
9
|
import type { ComponentConfig } from '../types/tv';
|
|
@@ -92,8 +93,14 @@ export interface SelectProps<T extends ArrayOrNested<SelectItem> = ArrayOrNested
|
|
|
92
93
|
defaultValue?: GetModelValue<T, VK, M>;
|
|
93
94
|
/** The controlled value of the Select. Can be bind as `v-model`. */
|
|
94
95
|
modelValue?: GetModelValue<T, VK, M>;
|
|
96
|
+
modelModifiers?: Omit<ModelModifiers<GetModelValue<T, VK, M>>, 'lazy'>;
|
|
95
97
|
/** Whether multiple options can be selected or not. */
|
|
96
98
|
multiple?: M & boolean;
|
|
99
|
+
/**
|
|
100
|
+
* Use a custom comparator to compare objects.
|
|
101
|
+
* This can be a string (key) or a function that compares two objects.
|
|
102
|
+
*/
|
|
103
|
+
by?: string | ((a: any, b: any) => boolean);
|
|
97
104
|
/** Highlight the ring color like a focus state. */
|
|
98
105
|
highlight?: boolean;
|
|
99
106
|
autofocus?: boolean;
|
|
@@ -141,25 +148,30 @@ export interface SelectSlots<A extends ArrayOrNested<SelectItem> = ArrayOrNested
|
|
|
141
148
|
'content-top': (props?: {}) => any;
|
|
142
149
|
'content-bottom': (props?: {}) => any;
|
|
143
150
|
}
|
|
144
|
-
declare const
|
|
145
|
-
|
|
146
|
-
|
|
151
|
+
declare const _default: typeof __VLS_export;
|
|
152
|
+
export default _default;
|
|
153
|
+
declare const __VLS_export: <T extends ArrayOrNested<SelectItem>, VK extends GetItemKeys<T> = "value", M extends boolean = false>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
154
|
+
props: import("vue").PublicProps & __VLS_PrettifyLocal<SelectProps<T, VK, M> & {
|
|
147
155
|
onBlur?: ((event: FocusEvent) => any) | undefined;
|
|
156
|
+
onChange?: ((event: Event) => any) | undefined;
|
|
148
157
|
onFocus?: ((event: FocusEvent) => any) | undefined;
|
|
149
158
|
"onUpdate:open"?: ((value: boolean) => any) | undefined;
|
|
150
159
|
"onUpdate:modelValue"?: ((value: GetModelValue<T, VK, M>) => any) | undefined;
|
|
151
|
-
}> &
|
|
160
|
+
}> & (typeof globalThis extends {
|
|
161
|
+
__VLS_PROPS_FALLBACK: infer P;
|
|
162
|
+
} ? P : {});
|
|
152
163
|
expose: (exposed: import("vue").ShallowUnwrapRef<{
|
|
153
164
|
triggerRef: Readonly<import("vue").Ref<HTMLButtonElement, HTMLButtonElement>>;
|
|
165
|
+
viewportRef: Readonly<import("vue").Ref<HTMLDivElement | null, HTMLDivElement | null>>;
|
|
154
166
|
}>) => void;
|
|
155
167
|
attrs: any;
|
|
156
168
|
slots: SelectSlots<T, VK, M, NestedItem<T>>;
|
|
157
|
-
emit: ((evt: "
|
|
169
|
+
emit: ((evt: "blur", event: FocusEvent) => void) & ((evt: "change", event: Event) => void) & ((evt: "focus", event: FocusEvent) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "update:modelValue", value: GetModelValue<T, VK, M>) => void);
|
|
158
170
|
}>) => import("vue").VNode & {
|
|
159
171
|
__ctx?: Awaited<typeof __VLS_setup>;
|
|
160
172
|
};
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
173
|
+
type __VLS_PrettifyLocal<T> = (T extends any ? {
|
|
174
|
+
[K in keyof T]: T[K];
|
|
175
|
+
} : {
|
|
164
176
|
[K in keyof T as K]: T[K];
|
|
165
|
-
} & {};
|
|
177
|
+
}) & {};
|
|
@@ -2,7 +2,8 @@ import type { ComboboxRootProps, ComboboxRootEmits, ComboboxContentProps, Combob
|
|
|
2
2
|
import type { AppConfig } from '@nuxt/schema';
|
|
3
3
|
import theme from '#build/ui/select-menu';
|
|
4
4
|
import type { UseComponentIconsProps } from '../composables/useComponentIcons';
|
|
5
|
-
import type { AvatarProps, ChipProps, IconProps, InputProps } from '../types';
|
|
5
|
+
import type { AvatarProps, ButtonProps, ChipProps, IconProps, InputProps, LinkPropsKeys } from '../types';
|
|
6
|
+
import type { ModelModifiers } from '../types/input';
|
|
6
7
|
import type { ButtonHTMLAttributes } from '../types/html';
|
|
7
8
|
import type { AcceptableValue, ArrayOrNested, GetItemKeys, GetModelValue, GetModelValueEmits, NestedItem, EmitsToProps } from '../types/utils';
|
|
8
9
|
import type { ComponentConfig } from '../types/tv';
|
|
@@ -28,7 +29,7 @@ export type SelectMenuItem = SelectMenuValue | {
|
|
|
28
29
|
ui?: Pick<SelectMenu['slots'], 'label' | 'separator' | 'item' | 'itemLeadingIcon' | 'itemLeadingAvatarSize' | 'itemLeadingAvatar' | 'itemLeadingChipSize' | 'itemLeadingChip' | 'itemWrapper' | 'itemLabel' | 'itemDescription' | 'itemTrailing' | 'itemTrailingIcon'>;
|
|
29
30
|
[key: string]: any;
|
|
30
31
|
};
|
|
31
|
-
export interface SelectMenuProps<T extends ArrayOrNested<SelectMenuItem> = ArrayOrNested<SelectMenuItem>, VK extends GetItemKeys<T> | undefined = undefined, M extends boolean = false> extends Pick<ComboboxRootProps<T>, 'open' | 'defaultOpen' | 'disabled' | 'name' | 'resetSearchTermOnBlur' | 'resetSearchTermOnSelect' | 'highlightOnHover'>, UseComponentIconsProps, /** @vue-ignore */ Omit<ButtonHTMLAttributes, 'type' | 'disabled' | 'name'> {
|
|
32
|
+
export interface SelectMenuProps<T extends ArrayOrNested<SelectMenuItem> = ArrayOrNested<SelectMenuItem>, VK extends GetItemKeys<T> | undefined = undefined, M extends boolean = false> extends Pick<ComboboxRootProps<T>, 'open' | 'defaultOpen' | 'disabled' | 'name' | 'resetSearchTermOnBlur' | 'resetSearchTermOnSelect' | 'resetModelValueOnClear' | 'highlightOnHover' | 'by'>, UseComponentIconsProps, /** @vue-ignore */ Omit<ButtonHTMLAttributes, 'type' | 'disabled' | 'name'> {
|
|
32
33
|
id?: string;
|
|
33
34
|
/** The placeholder text when the select is empty. */
|
|
34
35
|
placeholder?: string;
|
|
@@ -64,6 +65,18 @@ export interface SelectMenuProps<T extends ArrayOrNested<SelectMenuItem> = Array
|
|
|
64
65
|
* @IconifyIcon
|
|
65
66
|
*/
|
|
66
67
|
selectedIcon?: IconProps['name'];
|
|
68
|
+
/**
|
|
69
|
+
* Display a clear button to reset the model value.
|
|
70
|
+
* Can be an object to pass additional props to the Button.
|
|
71
|
+
* @defaultValue false
|
|
72
|
+
*/
|
|
73
|
+
clear?: boolean | Partial<Omit<ButtonProps, LinkPropsKeys>>;
|
|
74
|
+
/**
|
|
75
|
+
* The icon displayed in the clear button.
|
|
76
|
+
* @defaultValue appConfig.ui.icons.close
|
|
77
|
+
* @IconifyIcon
|
|
78
|
+
*/
|
|
79
|
+
clearIcon?: IconProps['name'];
|
|
67
80
|
/**
|
|
68
81
|
* The content of the menu.
|
|
69
82
|
* @defaultValue { side: 'bottom', sideOffset: 8, collisionPadding: 8, position: 'popper' }
|
|
@@ -92,10 +105,10 @@ export interface SelectMenuProps<T extends ArrayOrNested<SelectMenuItem> = Array
|
|
|
92
105
|
*/
|
|
93
106
|
overscan?: number;
|
|
94
107
|
/**
|
|
95
|
-
* Estimated size (in px) of each item
|
|
108
|
+
* Estimated size (in px) of each item, or a function that returns the size for a given index
|
|
96
109
|
* @defaultValue 32
|
|
97
110
|
*/
|
|
98
|
-
estimateSize?: number;
|
|
111
|
+
estimateSize?: number | ((index: number) => number);
|
|
99
112
|
};
|
|
100
113
|
/**
|
|
101
114
|
* When `items` is an array of objects, select the field to use as the value instead of the object itself.
|
|
@@ -117,6 +130,7 @@ export interface SelectMenuProps<T extends ArrayOrNested<SelectMenuItem> = Array
|
|
|
117
130
|
defaultValue?: GetModelValue<T, VK, M>;
|
|
118
131
|
/** The controlled value of the SelectMenu. Can be binded-with with `v-model`. */
|
|
119
132
|
modelValue?: GetModelValue<T, VK, M>;
|
|
133
|
+
modelModifiers?: Omit<ModelModifiers<GetModelValue<T, VK, M>>, 'lazy'>;
|
|
120
134
|
/** Whether multiple options can be selected or not. */
|
|
121
135
|
multiple?: M & boolean;
|
|
122
136
|
/** Highlight the ring color like a focus state. */
|
|
@@ -149,6 +163,7 @@ export type SelectMenuEmits<A extends ArrayOrNested<SelectMenuItem>, VK extends
|
|
|
149
163
|
blur: [event: FocusEvent];
|
|
150
164
|
focus: [event: FocusEvent];
|
|
151
165
|
create: [item: string];
|
|
166
|
+
clear: [];
|
|
152
167
|
/** Event handler when highlighted element changes. */
|
|
153
168
|
highlight: [
|
|
154
169
|
payload: {
|
|
@@ -198,12 +213,15 @@ export interface SelectMenuSlots<A extends ArrayOrNested<SelectMenuItem> = Array
|
|
|
198
213
|
item: string;
|
|
199
214
|
}): any;
|
|
200
215
|
}
|
|
201
|
-
declare const
|
|
202
|
-
|
|
216
|
+
declare const _default: typeof __VLS_export;
|
|
217
|
+
export default _default;
|
|
218
|
+
declare const __VLS_export: <T extends ArrayOrNested<SelectMenuItem>, VK extends GetItemKeys<T> | undefined = undefined, M extends boolean = false>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
219
|
+
props: import("vue").PublicProps & __VLS_PrettifyLocal<(SelectMenuProps<T, VK, M> & {
|
|
203
220
|
searchTerm?: string;
|
|
204
221
|
}) & {
|
|
205
|
-
|
|
222
|
+
onClear?: (() => any) | undefined;
|
|
206
223
|
onBlur?: ((event: FocusEvent) => any) | undefined;
|
|
224
|
+
onChange?: ((event: Event) => any) | undefined;
|
|
207
225
|
onFocus?: ((event: FocusEvent) => any) | undefined;
|
|
208
226
|
"onUpdate:open"?: ((value: boolean) => any) | undefined;
|
|
209
227
|
onCreate?: ((item: string) => any) | undefined;
|
|
@@ -213,21 +231,24 @@ declare const __VLS_export: <T extends ArrayOrNested<SelectMenuItem>, VK extends
|
|
|
213
231
|
value: GetModelValue<T, VK, M>;
|
|
214
232
|
} | undefined) => any) | undefined;
|
|
215
233
|
"onUpdate:searchTerm"?: ((value: string) => any) | undefined;
|
|
216
|
-
}> &
|
|
234
|
+
}> & (typeof globalThis extends {
|
|
235
|
+
__VLS_PROPS_FALLBACK: infer P;
|
|
236
|
+
} ? P : {});
|
|
217
237
|
expose: (exposed: import("vue").ShallowUnwrapRef<{
|
|
218
238
|
triggerRef: Readonly<import("vue").Ref<HTMLButtonElement, HTMLButtonElement>>;
|
|
239
|
+
viewportRef: Readonly<import("vue").Ref<HTMLDivElement | null, HTMLDivElement | null>>;
|
|
219
240
|
}>) => void;
|
|
220
241
|
attrs: any;
|
|
221
242
|
slots: SelectMenuSlots<T, VK, M, NestedItem<T>>;
|
|
222
|
-
emit: (((evt: "
|
|
243
|
+
emit: (((evt: "clear") => void) & ((evt: "blur", event: FocusEvent) => void) & ((evt: "change", event: Event) => void) & ((evt: "focus", event: FocusEvent) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "create", item: string) => void) & ((evt: "update:modelValue", value: GetModelValue<T, VK, M>) => void) & ((evt: "highlight", payload: {
|
|
223
244
|
ref: HTMLElement;
|
|
224
245
|
value: GetModelValue<T, VK, M>;
|
|
225
246
|
} | undefined) => void)) & ((evt: "update:searchTerm", value: string) => void);
|
|
226
247
|
}>) => import("vue").VNode & {
|
|
227
248
|
__ctx?: Awaited<typeof __VLS_setup>;
|
|
228
249
|
};
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
250
|
+
type __VLS_PrettifyLocal<T> = (T extends any ? {
|
|
251
|
+
[K in keyof T]: T[K];
|
|
252
|
+
} : {
|
|
232
253
|
[K in keyof T as K]: T[K];
|
|
233
|
-
} & {};
|
|
254
|
+
}) & {};
|
|
@@ -4,7 +4,7 @@ import theme from "#build/ui/select-menu";
|
|
|
4
4
|
|
|
5
5
|
<script setup>
|
|
6
6
|
import { useTemplateRef, computed, onMounted, toRef, toRaw } from "vue";
|
|
7
|
-
import { ComboboxRoot, ComboboxArrow, ComboboxAnchor, ComboboxInput, ComboboxTrigger, ComboboxPortal, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxVirtualizer, ComboboxLabel, ComboboxSeparator, ComboboxItem, ComboboxItemIndicator, FocusScope, useForwardPropsEmits, useFilter } from "reka-ui";
|
|
7
|
+
import { ComboboxRoot, ComboboxArrow, ComboboxAnchor, ComboboxInput, ComboboxTrigger, ComboboxCancel, ComboboxPortal, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxVirtualizer, ComboboxLabel, ComboboxSeparator, ComboboxItem, ComboboxItemIndicator, FocusScope, useForwardPropsEmits, useFilter } from "reka-ui";
|
|
8
8
|
import { defu } from "defu";
|
|
9
9
|
import { reactivePick, createReusableTemplate } from "@vueuse/core";
|
|
10
10
|
import { useAppConfig } from "#imports";
|
|
@@ -13,11 +13,12 @@ import { useComponentIcons } from "../composables/useComponentIcons";
|
|
|
13
13
|
import { useFormField } from "../composables/useFormField";
|
|
14
14
|
import { useLocale } from "../composables/useLocale";
|
|
15
15
|
import { usePortal } from "../composables/usePortal";
|
|
16
|
-
import { compare, get, getDisplayValue, isArrayOfArray } from "../utils";
|
|
16
|
+
import { compare, get, getDisplayValue, isArrayOfArray, looseToNumber } from "../utils";
|
|
17
17
|
import { getEstimateSize } from "../utils/virtualizer";
|
|
18
18
|
import { tv } from "../utils/tv";
|
|
19
19
|
import UIcon from "./Icon.vue";
|
|
20
20
|
import UAvatar from "./Avatar.vue";
|
|
21
|
+
import UButton from "./Button.vue";
|
|
21
22
|
import UChip from "./Chip.vue";
|
|
22
23
|
import UInput from "./Input.vue";
|
|
23
24
|
defineOptions({ inheritAttrs: false });
|
|
@@ -31,6 +32,8 @@ const props = defineProps({
|
|
|
31
32
|
required: { type: Boolean, required: false },
|
|
32
33
|
trailingIcon: { type: null, required: false },
|
|
33
34
|
selectedIcon: { type: null, required: false },
|
|
35
|
+
clear: { type: [Boolean, Object], required: false },
|
|
36
|
+
clearIcon: { type: null, required: false },
|
|
34
37
|
content: { type: Object, required: false },
|
|
35
38
|
arrow: { type: [Boolean, Object], required: false },
|
|
36
39
|
portal: { type: [Boolean, String], required: false, skipCheck: true, default: true },
|
|
@@ -41,6 +44,7 @@ const props = defineProps({
|
|
|
41
44
|
items: { type: null, required: false },
|
|
42
45
|
defaultValue: { type: null, required: false },
|
|
43
46
|
modelValue: { type: null, required: false },
|
|
47
|
+
modelModifiers: { type: Object, required: false },
|
|
44
48
|
multiple: { type: Boolean, required: false },
|
|
45
49
|
highlight: { type: Boolean, required: false },
|
|
46
50
|
createItem: { type: [Boolean, String, Object], required: false },
|
|
@@ -56,7 +60,9 @@ const props = defineProps({
|
|
|
56
60
|
name: { type: String, required: false },
|
|
57
61
|
resetSearchTermOnBlur: { type: Boolean, required: false, default: true },
|
|
58
62
|
resetSearchTermOnSelect: { type: Boolean, required: false, default: true },
|
|
63
|
+
resetModelValueOnClear: { type: Boolean, required: false, default: true },
|
|
59
64
|
highlightOnHover: { type: Boolean, required: false },
|
|
65
|
+
by: { type: [String, Function], required: false },
|
|
60
66
|
icon: { type: null, required: false },
|
|
61
67
|
avatar: { type: Object, required: false },
|
|
62
68
|
leading: { type: Boolean, required: false },
|
|
@@ -65,20 +71,21 @@ const props = defineProps({
|
|
|
65
71
|
loading: { type: Boolean, required: false },
|
|
66
72
|
loadingIcon: { type: null, required: false }
|
|
67
73
|
});
|
|
68
|
-
const emits = defineEmits(["update:open", "change", "blur", "focus", "create", "highlight", "update:modelValue"]);
|
|
74
|
+
const emits = defineEmits(["update:open", "change", "blur", "focus", "create", "clear", "highlight", "update:modelValue"]);
|
|
69
75
|
const slots = defineSlots();
|
|
70
76
|
const searchTerm = defineModel("searchTerm", { type: String, ...{ default: "" } });
|
|
71
77
|
const { t } = useLocale();
|
|
72
78
|
const appConfig = useAppConfig();
|
|
73
79
|
const { contains } = useFilter({ sensitivity: "base" });
|
|
74
|
-
const rootProps = useForwardPropsEmits(reactivePick(props, "modelValue", "defaultValue", "open", "defaultOpen", "required", "multiple", "resetSearchTermOnBlur", "resetSearchTermOnSelect", "highlightOnHover"), emits);
|
|
80
|
+
const rootProps = useForwardPropsEmits(reactivePick(props, "modelValue", "defaultValue", "open", "defaultOpen", "required", "multiple", "resetSearchTermOnBlur", "resetSearchTermOnSelect", "resetModelValueOnClear", "highlightOnHover", "by"), emits);
|
|
75
81
|
const portalProps = usePortal(toRef(() => props.portal));
|
|
76
82
|
const contentProps = toRef(() => defu(props.content, { side: "bottom", sideOffset: 8, collisionPadding: 8, position: "popper" }));
|
|
77
83
|
const arrowProps = toRef(() => props.arrow);
|
|
84
|
+
const clearProps = computed(() => typeof props.clear === "object" ? props.clear : {});
|
|
78
85
|
const virtualizerProps = toRef(() => {
|
|
79
86
|
if (!props.virtualize) return false;
|
|
80
87
|
return defu(typeof props.virtualize === "boolean" ? {} : props.virtualize, {
|
|
81
|
-
estimateSize: getEstimateSize(
|
|
88
|
+
estimateSize: getEstimateSize(filteredItems.value, selectSize.value || "md", props.descriptionKey, !!slots["item-description"])
|
|
82
89
|
});
|
|
83
90
|
});
|
|
84
91
|
const searchInputProps = toRef(() => defu(props.searchInput, { placeholder: t("selectMenu.search"), variant: "none" }));
|
|
@@ -114,13 +121,15 @@ function displayValue(value) {
|
|
|
114
121
|
if (props.multiple && Array.isArray(value)) {
|
|
115
122
|
const displayedValues = value.map((item) => getDisplayValue(items.value, item, {
|
|
116
123
|
labelKey: props.labelKey,
|
|
117
|
-
valueKey: props.valueKey
|
|
124
|
+
valueKey: props.valueKey,
|
|
125
|
+
by: props.by
|
|
118
126
|
})).filter((v) => v != null && v !== "");
|
|
119
127
|
return displayedValues.length > 0 ? displayedValues.join(", ") : void 0;
|
|
120
128
|
}
|
|
121
129
|
return getDisplayValue(items.value, value, {
|
|
122
130
|
labelKey: props.labelKey,
|
|
123
|
-
valueKey: props.valueKey
|
|
131
|
+
valueKey: props.valueKey,
|
|
132
|
+
by: props.by
|
|
124
133
|
});
|
|
125
134
|
}
|
|
126
135
|
const groups = computed(
|
|
@@ -157,7 +166,7 @@ const createItem = computed(() => {
|
|
|
157
166
|
}
|
|
158
167
|
const newItem = props.valueKey ? { [props.valueKey]: searchTerm.value } : searchTerm.value;
|
|
159
168
|
if (typeof props.createItem === "object" && props.createItem.when === "always" || props.createItem === "always") {
|
|
160
|
-
return !filteredItems.value.find((item) => compare(item, newItem, props.valueKey));
|
|
169
|
+
return !filteredItems.value.find((item) => compare(item, newItem, props.by ?? props.valueKey));
|
|
161
170
|
}
|
|
162
171
|
return !filteredItems.value.length;
|
|
163
172
|
});
|
|
@@ -179,6 +188,18 @@ function onUpdate(value) {
|
|
|
179
188
|
if (toRaw(props.modelValue) === value) {
|
|
180
189
|
return;
|
|
181
190
|
}
|
|
191
|
+
if (props.modelModifiers?.trim) {
|
|
192
|
+
value = value?.trim() ?? null;
|
|
193
|
+
}
|
|
194
|
+
if (props.modelModifiers?.number) {
|
|
195
|
+
value = looseToNumber(value);
|
|
196
|
+
}
|
|
197
|
+
if (props.modelModifiers?.nullable) {
|
|
198
|
+
value ??= null;
|
|
199
|
+
}
|
|
200
|
+
if (props.modelModifiers?.optional) {
|
|
201
|
+
value ??= void 0;
|
|
202
|
+
}
|
|
182
203
|
const event = new Event("change", { target: { value } });
|
|
183
204
|
emits("change", event);
|
|
184
205
|
emitFormChange();
|
|
@@ -224,8 +245,19 @@ function onSelect(e, item) {
|
|
|
224
245
|
function isSelectItem(item) {
|
|
225
246
|
return typeof item === "object" && item !== null;
|
|
226
247
|
}
|
|
248
|
+
function isModelValueEmpty(modelValue) {
|
|
249
|
+
if (props.multiple && Array.isArray(modelValue)) {
|
|
250
|
+
return modelValue.length === 0;
|
|
251
|
+
}
|
|
252
|
+
return modelValue === void 0 || modelValue === null || modelValue === "";
|
|
253
|
+
}
|
|
254
|
+
function onClear() {
|
|
255
|
+
emits("clear");
|
|
256
|
+
}
|
|
257
|
+
const viewportRef = useTemplateRef("viewportRef");
|
|
227
258
|
defineExpose({
|
|
228
|
-
triggerRef: toRef(() => triggerRef.value?.$el)
|
|
259
|
+
triggerRef: toRef(() => triggerRef.value?.$el),
|
|
260
|
+
viewportRef: toRef(() => viewportRef.value)
|
|
229
261
|
});
|
|
230
262
|
</script>
|
|
231
263
|
|
|
@@ -331,9 +363,23 @@ defineExpose({
|
|
|
331
363
|
</template>
|
|
332
364
|
</slot>
|
|
333
365
|
|
|
334
|
-
<span v-if="isTrailing || !!slots.trailing" data-slot="trailing" :class="ui.trailing({ class: props.ui?.trailing })">
|
|
366
|
+
<span v-if="isTrailing || !!slots.trailing || !!clear" data-slot="trailing" :class="ui.trailing({ class: props.ui?.trailing })">
|
|
335
367
|
<slot name="trailing" :model-value="modelValue" :open="open" :ui="ui">
|
|
336
|
-
<
|
|
368
|
+
<ComboboxCancel v-if="!!clear && !isModelValueEmpty(modelValue)" as-child>
|
|
369
|
+
<UButton
|
|
370
|
+
as="span"
|
|
371
|
+
:icon="clearIcon || appConfig.ui.icons.close"
|
|
372
|
+
variant="link"
|
|
373
|
+
color="neutral"
|
|
374
|
+
tabindex="-1"
|
|
375
|
+
v-bind="clearProps"
|
|
376
|
+
data-slot="trailingClear"
|
|
377
|
+
:class="ui.trailingClear({ class: props.ui?.trailingClear })"
|
|
378
|
+
@click.stop="onClear"
|
|
379
|
+
/>
|
|
380
|
+
</ComboboxCancel>
|
|
381
|
+
|
|
382
|
+
<UIcon v-else-if="trailingIconName" :name="trailingIconName" data-slot="trailingIcon" :class="ui.trailingIcon({ class: props.ui?.trailingIcon })" />
|
|
337
383
|
</slot>
|
|
338
384
|
</span>
|
|
339
385
|
</ComboboxTrigger>
|
|
@@ -362,7 +408,7 @@ defineExpose({
|
|
|
362
408
|
</slot>
|
|
363
409
|
</ComboboxEmpty>
|
|
364
410
|
|
|
365
|
-
<div role="presentation" data-slot="viewport" :class="ui.viewport({ class: props.ui?.viewport })">
|
|
411
|
+
<div ref="viewportRef" role="presentation" data-slot="viewport" :class="ui.viewport({ class: props.ui?.viewport })">
|
|
366
412
|
<template v-if="!!virtualize">
|
|
367
413
|
<ReuseCreateItemTemplate v-if="createItem && createItemPosition === 'top'" />
|
|
368
414
|
|
|
@@ -2,7 +2,8 @@ import type { ComboboxRootProps, ComboboxRootEmits, ComboboxContentProps, Combob
|
|
|
2
2
|
import type { AppConfig } from '@nuxt/schema';
|
|
3
3
|
import theme from '#build/ui/select-menu';
|
|
4
4
|
import type { UseComponentIconsProps } from '../composables/useComponentIcons';
|
|
5
|
-
import type { AvatarProps, ChipProps, IconProps, InputProps } from '../types';
|
|
5
|
+
import type { AvatarProps, ButtonProps, ChipProps, IconProps, InputProps, LinkPropsKeys } from '../types';
|
|
6
|
+
import type { ModelModifiers } from '../types/input';
|
|
6
7
|
import type { ButtonHTMLAttributes } from '../types/html';
|
|
7
8
|
import type { AcceptableValue, ArrayOrNested, GetItemKeys, GetModelValue, GetModelValueEmits, NestedItem, EmitsToProps } from '../types/utils';
|
|
8
9
|
import type { ComponentConfig } from '../types/tv';
|
|
@@ -28,7 +29,7 @@ export type SelectMenuItem = SelectMenuValue | {
|
|
|
28
29
|
ui?: Pick<SelectMenu['slots'], 'label' | 'separator' | 'item' | 'itemLeadingIcon' | 'itemLeadingAvatarSize' | 'itemLeadingAvatar' | 'itemLeadingChipSize' | 'itemLeadingChip' | 'itemWrapper' | 'itemLabel' | 'itemDescription' | 'itemTrailing' | 'itemTrailingIcon'>;
|
|
29
30
|
[key: string]: any;
|
|
30
31
|
};
|
|
31
|
-
export interface SelectMenuProps<T extends ArrayOrNested<SelectMenuItem> = ArrayOrNested<SelectMenuItem>, VK extends GetItemKeys<T> | undefined = undefined, M extends boolean = false> extends Pick<ComboboxRootProps<T>, 'open' | 'defaultOpen' | 'disabled' | 'name' | 'resetSearchTermOnBlur' | 'resetSearchTermOnSelect' | 'highlightOnHover'>, UseComponentIconsProps, /** @vue-ignore */ Omit<ButtonHTMLAttributes, 'type' | 'disabled' | 'name'> {
|
|
32
|
+
export interface SelectMenuProps<T extends ArrayOrNested<SelectMenuItem> = ArrayOrNested<SelectMenuItem>, VK extends GetItemKeys<T> | undefined = undefined, M extends boolean = false> extends Pick<ComboboxRootProps<T>, 'open' | 'defaultOpen' | 'disabled' | 'name' | 'resetSearchTermOnBlur' | 'resetSearchTermOnSelect' | 'resetModelValueOnClear' | 'highlightOnHover' | 'by'>, UseComponentIconsProps, /** @vue-ignore */ Omit<ButtonHTMLAttributes, 'type' | 'disabled' | 'name'> {
|
|
32
33
|
id?: string;
|
|
33
34
|
/** The placeholder text when the select is empty. */
|
|
34
35
|
placeholder?: string;
|
|
@@ -64,6 +65,18 @@ export interface SelectMenuProps<T extends ArrayOrNested<SelectMenuItem> = Array
|
|
|
64
65
|
* @IconifyIcon
|
|
65
66
|
*/
|
|
66
67
|
selectedIcon?: IconProps['name'];
|
|
68
|
+
/**
|
|
69
|
+
* Display a clear button to reset the model value.
|
|
70
|
+
* Can be an object to pass additional props to the Button.
|
|
71
|
+
* @defaultValue false
|
|
72
|
+
*/
|
|
73
|
+
clear?: boolean | Partial<Omit<ButtonProps, LinkPropsKeys>>;
|
|
74
|
+
/**
|
|
75
|
+
* The icon displayed in the clear button.
|
|
76
|
+
* @defaultValue appConfig.ui.icons.close
|
|
77
|
+
* @IconifyIcon
|
|
78
|
+
*/
|
|
79
|
+
clearIcon?: IconProps['name'];
|
|
67
80
|
/**
|
|
68
81
|
* The content of the menu.
|
|
69
82
|
* @defaultValue { side: 'bottom', sideOffset: 8, collisionPadding: 8, position: 'popper' }
|
|
@@ -92,10 +105,10 @@ export interface SelectMenuProps<T extends ArrayOrNested<SelectMenuItem> = Array
|
|
|
92
105
|
*/
|
|
93
106
|
overscan?: number;
|
|
94
107
|
/**
|
|
95
|
-
* Estimated size (in px) of each item
|
|
108
|
+
* Estimated size (in px) of each item, or a function that returns the size for a given index
|
|
96
109
|
* @defaultValue 32
|
|
97
110
|
*/
|
|
98
|
-
estimateSize?: number;
|
|
111
|
+
estimateSize?: number | ((index: number) => number);
|
|
99
112
|
};
|
|
100
113
|
/**
|
|
101
114
|
* When `items` is an array of objects, select the field to use as the value instead of the object itself.
|
|
@@ -117,6 +130,7 @@ export interface SelectMenuProps<T extends ArrayOrNested<SelectMenuItem> = Array
|
|
|
117
130
|
defaultValue?: GetModelValue<T, VK, M>;
|
|
118
131
|
/** The controlled value of the SelectMenu. Can be binded-with with `v-model`. */
|
|
119
132
|
modelValue?: GetModelValue<T, VK, M>;
|
|
133
|
+
modelModifiers?: Omit<ModelModifiers<GetModelValue<T, VK, M>>, 'lazy'>;
|
|
120
134
|
/** Whether multiple options can be selected or not. */
|
|
121
135
|
multiple?: M & boolean;
|
|
122
136
|
/** Highlight the ring color like a focus state. */
|
|
@@ -149,6 +163,7 @@ export type SelectMenuEmits<A extends ArrayOrNested<SelectMenuItem>, VK extends
|
|
|
149
163
|
blur: [event: FocusEvent];
|
|
150
164
|
focus: [event: FocusEvent];
|
|
151
165
|
create: [item: string];
|
|
166
|
+
clear: [];
|
|
152
167
|
/** Event handler when highlighted element changes. */
|
|
153
168
|
highlight: [
|
|
154
169
|
payload: {
|
|
@@ -198,12 +213,15 @@ export interface SelectMenuSlots<A extends ArrayOrNested<SelectMenuItem> = Array
|
|
|
198
213
|
item: string;
|
|
199
214
|
}): any;
|
|
200
215
|
}
|
|
201
|
-
declare const
|
|
202
|
-
|
|
216
|
+
declare const _default: typeof __VLS_export;
|
|
217
|
+
export default _default;
|
|
218
|
+
declare const __VLS_export: <T extends ArrayOrNested<SelectMenuItem>, VK extends GetItemKeys<T> | undefined = undefined, M extends boolean = false>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
219
|
+
props: import("vue").PublicProps & __VLS_PrettifyLocal<(SelectMenuProps<T, VK, M> & {
|
|
203
220
|
searchTerm?: string;
|
|
204
221
|
}) & {
|
|
205
|
-
|
|
222
|
+
onClear?: (() => any) | undefined;
|
|
206
223
|
onBlur?: ((event: FocusEvent) => any) | undefined;
|
|
224
|
+
onChange?: ((event: Event) => any) | undefined;
|
|
207
225
|
onFocus?: ((event: FocusEvent) => any) | undefined;
|
|
208
226
|
"onUpdate:open"?: ((value: boolean) => any) | undefined;
|
|
209
227
|
onCreate?: ((item: string) => any) | undefined;
|
|
@@ -213,21 +231,24 @@ declare const __VLS_export: <T extends ArrayOrNested<SelectMenuItem>, VK extends
|
|
|
213
231
|
value: GetModelValue<T, VK, M>;
|
|
214
232
|
} | undefined) => any) | undefined;
|
|
215
233
|
"onUpdate:searchTerm"?: ((value: string) => any) | undefined;
|
|
216
|
-
}> &
|
|
234
|
+
}> & (typeof globalThis extends {
|
|
235
|
+
__VLS_PROPS_FALLBACK: infer P;
|
|
236
|
+
} ? P : {});
|
|
217
237
|
expose: (exposed: import("vue").ShallowUnwrapRef<{
|
|
218
238
|
triggerRef: Readonly<import("vue").Ref<HTMLButtonElement, HTMLButtonElement>>;
|
|
239
|
+
viewportRef: Readonly<import("vue").Ref<HTMLDivElement | null, HTMLDivElement | null>>;
|
|
219
240
|
}>) => void;
|
|
220
241
|
attrs: any;
|
|
221
242
|
slots: SelectMenuSlots<T, VK, M, NestedItem<T>>;
|
|
222
|
-
emit: (((evt: "
|
|
243
|
+
emit: (((evt: "clear") => void) & ((evt: "blur", event: FocusEvent) => void) & ((evt: "change", event: Event) => void) & ((evt: "focus", event: FocusEvent) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "create", item: string) => void) & ((evt: "update:modelValue", value: GetModelValue<T, VK, M>) => void) & ((evt: "highlight", payload: {
|
|
223
244
|
ref: HTMLElement;
|
|
224
245
|
value: GetModelValue<T, VK, M>;
|
|
225
246
|
} | undefined) => void)) & ((evt: "update:searchTerm", value: string) => void);
|
|
226
247
|
}>) => import("vue").VNode & {
|
|
227
248
|
__ctx?: Awaited<typeof __VLS_setup>;
|
|
228
249
|
};
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
250
|
+
type __VLS_PrettifyLocal<T> = (T extends any ? {
|
|
251
|
+
[K in keyof T]: T[K];
|
|
252
|
+
} : {
|
|
232
253
|
[K in keyof T as K]: T[K];
|
|
233
|
-
} & {};
|
|
254
|
+
}) & {};
|
|
@@ -36,7 +36,7 @@ export interface SeparatorProps extends Pick<_SeparatorProps, 'decorative'> {
|
|
|
36
36
|
* The orientation of the separator.
|
|
37
37
|
* @defaultValue 'horizontal'
|
|
38
38
|
*/
|
|
39
|
-
orientation?:
|
|
39
|
+
orientation?: Separator['variants']['orientation'];
|
|
40
40
|
class?: any;
|
|
41
41
|
ui?: Separator['slots'];
|
|
42
42
|
}
|
|
@@ -45,11 +45,11 @@ export interface SeparatorSlots {
|
|
|
45
45
|
ui: Separator['ui'];
|
|
46
46
|
}): any;
|
|
47
47
|
}
|
|
48
|
-
declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<SeparatorProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<SeparatorProps> & Readonly<{}>, {
|
|
49
|
-
orientation: "horizontal" | "vertical";
|
|
50
|
-
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, SeparatorSlots>;
|
|
51
48
|
declare const _default: typeof __VLS_export;
|
|
52
49
|
export default _default;
|
|
50
|
+
declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<SeparatorProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<SeparatorProps> & Readonly<{}>, {
|
|
51
|
+
orientation: Separator["variants"]["orientation"];
|
|
52
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, SeparatorSlots>;
|
|
53
53
|
type __VLS_WithSlots<T, S> = T & {
|
|
54
54
|
new (): {
|
|
55
55
|
$slots: S;
|
|
@@ -36,7 +36,7 @@ export interface SeparatorProps extends Pick<_SeparatorProps, 'decorative'> {
|
|
|
36
36
|
* The orientation of the separator.
|
|
37
37
|
* @defaultValue 'horizontal'
|
|
38
38
|
*/
|
|
39
|
-
orientation?:
|
|
39
|
+
orientation?: Separator['variants']['orientation'];
|
|
40
40
|
class?: any;
|
|
41
41
|
ui?: Separator['slots'];
|
|
42
42
|
}
|
|
@@ -45,11 +45,11 @@ export interface SeparatorSlots {
|
|
|
45
45
|
ui: Separator['ui'];
|
|
46
46
|
}): any;
|
|
47
47
|
}
|
|
48
|
-
declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<SeparatorProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<SeparatorProps> & Readonly<{}>, {
|
|
49
|
-
orientation: "horizontal" | "vertical";
|
|
50
|
-
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, SeparatorSlots>;
|
|
51
48
|
declare const _default: typeof __VLS_export;
|
|
52
49
|
export default _default;
|
|
50
|
+
declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<SeparatorProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<SeparatorProps> & Readonly<{}>, {
|
|
51
|
+
orientation: Separator["variants"]["orientation"];
|
|
52
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, SeparatorSlots>;
|
|
53
53
|
type __VLS_WithSlots<T, S> = T & {
|
|
54
54
|
new (): {
|
|
55
55
|
$slots: S;
|
|
@@ -6,11 +6,11 @@ export interface SkeletonProps {
|
|
|
6
6
|
as?: any;
|
|
7
7
|
class?: any;
|
|
8
8
|
}
|
|
9
|
+
declare const _default: typeof __VLS_export;
|
|
10
|
+
export default _default;
|
|
9
11
|
declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<SkeletonProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<SkeletonProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
|
|
10
12
|
default?: (props: {}) => any;
|
|
11
13
|
}>;
|
|
12
|
-
declare const _default: typeof __VLS_export;
|
|
13
|
-
export default _default;
|
|
14
14
|
type __VLS_WithSlots<T, S> = T & {
|
|
15
15
|
new (): {
|
|
16
16
|
$slots: S;
|
|
@@ -6,11 +6,11 @@ export interface SkeletonProps {
|
|
|
6
6
|
as?: any;
|
|
7
7
|
class?: any;
|
|
8
8
|
}
|
|
9
|
+
declare const _default: typeof __VLS_export;
|
|
10
|
+
export default _default;
|
|
9
11
|
declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<SkeletonProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<SkeletonProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
|
|
10
12
|
default?: (props: {}) => any;
|
|
11
13
|
}>;
|
|
12
|
-
declare const _default: typeof __VLS_export;
|
|
13
|
-
export default _default;
|
|
14
14
|
type __VLS_WithSlots<T, S> = T & {
|
|
15
15
|
new (): {
|
|
16
16
|
$slots: S;
|