@nuxt/ui 4.1.0 → 4.2.1
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 +6 -0
- package/cli/templates.mjs +2 -2
- package/dist/module.d.mts +10 -0
- package/dist/module.json +1 -1
- package/dist/module.mjs +7 -7
- package/dist/runtime/components/Accordion.vue +10 -9
- package/dist/runtime/components/Alert.vue +11 -10
- package/dist/runtime/components/App.d.vue.ts +1 -1
- package/dist/runtime/components/App.vue +2 -1
- package/dist/runtime/components/App.vue.d.ts +1 -1
- package/dist/runtime/components/AuthForm.d.vue.ts +9 -8
- package/dist/runtime/components/AuthForm.vue +29 -21
- package/dist/runtime/components/AuthForm.vue.d.ts +9 -8
- package/dist/runtime/components/Avatar.d.vue.ts +2 -1
- package/dist/runtime/components/Avatar.vue +5 -3
- package/dist/runtime/components/Avatar.vue.d.ts +2 -1
- package/dist/runtime/components/AvatarGroup.vue +3 -3
- package/dist/runtime/components/Badge.vue +8 -8
- package/dist/runtime/components/Banner.vue +11 -10
- package/dist/runtime/components/BlogPost.vue +19 -10
- package/dist/runtime/components/Breadcrumb.vue +10 -10
- package/dist/runtime/components/Button.vue +10 -8
- package/dist/runtime/components/Calendar.vue +16 -12
- package/dist/runtime/components/Card.vue +4 -4
- package/dist/runtime/components/Carousel.vue +12 -7
- package/dist/runtime/components/ChangelogVersion.vue +22 -14
- package/dist/runtime/components/ChangelogVersions.vue +4 -4
- package/dist/runtime/components/ChatMessage.vue +8 -8
- package/dist/runtime/components/ChatMessages.vue +5 -3
- package/dist/runtime/components/ChatPalette.vue +3 -3
- package/dist/runtime/components/ChatPrompt.d.vue.ts +3 -6
- package/dist/runtime/components/ChatPrompt.vue +23 -14
- package/dist/runtime/components/ChatPrompt.vue.d.ts +3 -6
- package/dist/runtime/components/ChatPromptSubmit.d.vue.ts +10 -10
- package/dist/runtime/components/ChatPromptSubmit.vue +61 -14
- package/dist/runtime/components/ChatPromptSubmit.vue.d.ts +10 -10
- package/dist/runtime/components/Checkbox.d.vue.ts +2 -1
- package/dist/runtime/components/Checkbox.vue +11 -10
- package/dist/runtime/components/Checkbox.vue.d.ts +2 -1
- package/dist/runtime/components/CheckboxGroup.vue +8 -5
- package/dist/runtime/components/Chip.vue +2 -2
- package/dist/runtime/components/Collapsible.vue +2 -2
- package/dist/runtime/components/ColorPicker.vue +7 -3
- package/dist/runtime/components/CommandPalette.vue +69 -44
- package/dist/runtime/components/ContextMenu.vue +3 -3
- package/dist/runtime/components/ContextMenuContent.vue +22 -20
- package/dist/runtime/components/DashboardNavbar.vue +8 -7
- package/dist/runtime/components/DashboardPanel.vue +3 -1
- package/dist/runtime/components/DashboardSearch.vue +5 -4
- package/dist/runtime/components/DashboardSearchButton.d.vue.ts +2 -3
- package/dist/runtime/components/DashboardSearchButton.vue +48 -10
- package/dist/runtime/components/DashboardSearchButton.vue.d.ts +2 -3
- package/dist/runtime/components/DashboardSidebar.vue +9 -6
- package/dist/runtime/components/DashboardSidebarCollapse.d.vue.ts +7 -4
- package/dist/runtime/components/DashboardSidebarCollapse.vue +51 -7
- package/dist/runtime/components/DashboardSidebarCollapse.vue.d.ts +7 -4
- package/dist/runtime/components/DashboardSidebarToggle.d.vue.ts +7 -4
- package/dist/runtime/components/DashboardSidebarToggle.vue +52 -7
- package/dist/runtime/components/DashboardSidebarToggle.vue.d.ts +7 -4
- package/dist/runtime/components/DashboardToolbar.vue +3 -3
- package/dist/runtime/components/Drawer.d.vue.ts +1 -1
- package/dist/runtime/components/Drawer.vue +9 -9
- package/dist/runtime/components/Drawer.vue.d.ts +1 -1
- package/dist/runtime/components/DropdownMenu.vue +4 -4
- package/dist/runtime/components/DropdownMenuContent.vue +22 -20
- package/dist/runtime/components/Empty.vue +9 -9
- package/dist/runtime/components/Error.d.vue.ts +1 -1
- package/dist/runtime/components/Error.vue +5 -5
- package/dist/runtime/components/Error.vue.d.ts +1 -1
- package/dist/runtime/components/FileUpload.d.vue.ts +8 -2
- package/dist/runtime/components/FileUpload.vue +37 -27
- package/dist/runtime/components/FileUpload.vue.d.ts +8 -2
- package/dist/runtime/components/Footer.vue +7 -7
- package/dist/runtime/components/FooterColumns.vue +11 -11
- package/dist/runtime/components/Form.d.vue.ts +3 -2
- package/dist/runtime/components/Form.vue +3 -4
- package/dist/runtime/components/Form.vue.d.ts +3 -2
- package/dist/runtime/components/FormField.vue +8 -8
- package/dist/runtime/components/Header.vue +9 -8
- package/dist/runtime/components/Icon.d.vue.ts +1 -1
- package/dist/runtime/components/Icon.vue +1 -1
- package/dist/runtime/components/Icon.vue.d.ts +1 -1
- package/dist/runtime/components/Input.d.vue.ts +6 -6
- package/dist/runtime/components/Input.vue +13 -12
- package/dist/runtime/components/Input.vue.d.ts +6 -6
- package/dist/runtime/components/InputDate.d.vue.ts +89 -0
- package/dist/runtime/components/InputDate.vue +161 -0
- package/dist/runtime/components/InputDate.vue.d.ts +89 -0
- package/dist/runtime/components/InputMenu.d.vue.ts +6 -127
- package/dist/runtime/components/InputMenu.vue +56 -48
- package/dist/runtime/components/InputMenu.vue.d.ts +6 -127
- package/dist/runtime/components/InputNumber.d.vue.ts +24 -127
- package/dist/runtime/components/InputNumber.vue +10 -11
- package/dist/runtime/components/InputNumber.vue.d.ts +24 -127
- package/dist/runtime/components/InputTags.d.vue.ts +5 -108
- package/dist/runtime/components/InputTags.vue +24 -20
- package/dist/runtime/components/InputTags.vue.d.ts +5 -108
- package/dist/runtime/components/InputTime.d.vue.ts +72 -0
- package/dist/runtime/components/InputTime.vue +137 -0
- package/dist/runtime/components/InputTime.vue.d.ts +72 -0
- package/dist/runtime/components/Link.d.vue.ts +8 -3
- package/dist/runtime/components/Link.vue +1 -0
- package/dist/runtime/components/Link.vue.d.ts +8 -3
- package/dist/runtime/components/Marquee.d.vue.ts +1 -1
- package/dist/runtime/components/Marquee.vue +2 -6
- package/dist/runtime/components/Marquee.vue.d.ts +1 -1
- package/dist/runtime/components/Modal.d.vue.ts +7 -2
- package/dist/runtime/components/Modal.vue +53 -17
- package/dist/runtime/components/Modal.vue.d.ts +7 -2
- package/dist/runtime/components/NavigationMenu.d.vue.ts +44 -9
- package/dist/runtime/components/NavigationMenu.vue +75 -45
- package/dist/runtime/components/NavigationMenu.vue.d.ts +44 -9
- package/dist/runtime/components/Page.vue +4 -4
- package/dist/runtime/components/PageAnchors.vue +8 -8
- package/dist/runtime/components/PageAside.vue +6 -6
- package/dist/runtime/components/PageCTA.vue +9 -9
- package/dist/runtime/components/PageCard.vue +12 -11
- package/dist/runtime/components/PageFeature.vue +7 -7
- package/dist/runtime/components/PageHeader.vue +7 -7
- package/dist/runtime/components/PageHero.vue +10 -10
- package/dist/runtime/components/PageLinks.vue +8 -8
- package/dist/runtime/components/PageLogos.vue +6 -3
- package/dist/runtime/components/PageSection.vue +14 -14
- package/dist/runtime/components/Pagination.d.vue.ts +2 -2
- package/dist/runtime/components/Pagination.vue +13 -13
- package/dist/runtime/components/Pagination.vue.d.ts +2 -2
- package/dist/runtime/components/PinInput.d.vue.ts +2 -2
- package/dist/runtime/components/PinInput.vue +2 -0
- package/dist/runtime/components/PinInput.vue.d.ts +2 -2
- package/dist/runtime/components/Popover.vue +2 -2
- package/dist/runtime/components/PricingPlan.vue +28 -21
- package/dist/runtime/components/PricingTable.vue +35 -31
- package/dist/runtime/components/Progress.d.vue.ts +1 -1
- package/dist/runtime/components/Progress.vue +6 -6
- package/dist/runtime/components/Progress.vue.d.ts +1 -1
- package/dist/runtime/components/RadioGroup.d.vue.ts +5 -5
- package/dist/runtime/components/RadioGroup.vue +13 -11
- package/dist/runtime/components/RadioGroup.vue.d.ts +5 -5
- package/dist/runtime/components/Select.d.vue.ts +5 -106
- package/dist/runtime/components/Select.vue +31 -28
- package/dist/runtime/components/Select.vue.d.ts +5 -106
- package/dist/runtime/components/SelectMenu.d.vue.ts +6 -105
- package/dist/runtime/components/SelectMenu.vue +59 -45
- package/dist/runtime/components/SelectMenu.vue.d.ts +6 -105
- package/dist/runtime/components/Separator.vue +8 -8
- package/dist/runtime/components/Slideover.d.vue.ts +2 -2
- package/dist/runtime/components/Slideover.vue +10 -8
- package/dist/runtime/components/Slideover.vue.d.ts +2 -2
- package/dist/runtime/components/Slider.vue +5 -4
- package/dist/runtime/components/Stepper.vue +12 -10
- package/dist/runtime/components/Switch.d.vue.ts +2 -1
- package/dist/runtime/components/Switch.vue +13 -12
- package/dist/runtime/components/Switch.vue.d.ts +2 -1
- package/dist/runtime/components/Table.d.vue.ts +7 -6
- package/dist/runtime/components/Table.vue +37 -18
- package/dist/runtime/components/Table.vue.d.ts +7 -6
- package/dist/runtime/components/Tabs.vue +10 -7
- package/dist/runtime/components/Textarea.d.vue.ts +6 -5
- package/dist/runtime/components/Textarea.vue +13 -12
- package/dist/runtime/components/Textarea.vue.d.ts +6 -5
- package/dist/runtime/components/Timeline.vue +16 -7
- package/dist/runtime/components/Toast.vue +17 -14
- package/dist/runtime/components/Toaster.d.vue.ts +1 -1
- package/dist/runtime/components/Toaster.vue +2 -0
- package/dist/runtime/components/Toaster.vue.d.ts +1 -1
- package/dist/runtime/components/Tooltip.vue +4 -4
- package/dist/runtime/components/Tree.d.vue.ts +1 -1
- package/dist/runtime/components/Tree.vue +21 -14
- package/dist/runtime/components/Tree.vue.d.ts +1 -1
- package/dist/runtime/components/User.vue +13 -6
- package/dist/runtime/components/color-mode/ColorModeAvatar.d.vue.ts +3 -3
- package/dist/runtime/components/color-mode/ColorModeAvatar.vue +16 -4
- package/dist/runtime/components/color-mode/ColorModeAvatar.vue.d.ts +3 -3
- package/dist/runtime/components/color-mode/ColorModeButton.d.vue.ts +6 -13
- package/dist/runtime/components/color-mode/ColorModeButton.vue +60 -18
- package/dist/runtime/components/color-mode/ColorModeButton.vue.d.ts +6 -13
- package/dist/runtime/components/color-mode/ColorModeImage.d.vue.ts +4 -3
- package/dist/runtime/components/color-mode/ColorModeImage.vue +4 -0
- package/dist/runtime/components/color-mode/ColorModeImage.vue.d.ts +4 -3
- package/dist/runtime/components/color-mode/ColorModeSelect.d.vue.ts +5 -3
- package/dist/runtime/components/color-mode/ColorModeSelect.vue +45 -5
- package/dist/runtime/components/color-mode/ColorModeSelect.vue.d.ts +5 -3
- package/dist/runtime/components/color-mode/ColorModeSwitch.d.vue.ts +2 -2
- package/dist/runtime/components/color-mode/ColorModeSwitch.vue +29 -5
- package/dist/runtime/components/color-mode/ColorModeSwitch.vue.d.ts +2 -2
- package/dist/runtime/components/content/ContentNavigation.vue +14 -13
- package/dist/runtime/components/content/ContentSearch.vue +63 -68
- package/dist/runtime/components/content/ContentSearchButton.d.vue.ts +2 -3
- package/dist/runtime/components/content/ContentSearchButton.vue +48 -10
- package/dist/runtime/components/content/ContentSearchButton.vue.d.ts +2 -3
- package/dist/runtime/components/content/ContentSurround.vue +8 -8
- package/dist/runtime/components/content/ContentToc.vue +16 -16
- package/dist/runtime/components/locale/LocaleSelect.d.vue.ts +10 -6
- package/dist/runtime/components/locale/LocaleSelect.vue +54 -6
- package/dist/runtime/components/locale/LocaleSelect.vue.d.ts +10 -6
- package/dist/runtime/components/prose/Callout.vue +1 -1
- package/dist/runtime/components/prose/Card.vue +1 -1
- package/dist/runtime/components/prose/CodeCollapse.vue +1 -1
- package/dist/runtime/components/prose/CodeIcon.vue +1 -1
- package/dist/runtime/components/prose/Collapsible.vue +1 -1
- package/dist/runtime/components/prose/Pre.vue +1 -1
- package/dist/runtime/composables/index.d.ts +8 -0
- package/dist/runtime/composables/index.js +8 -0
- package/dist/runtime/composables/useAvatarGroup.d.ts +1 -1
- package/dist/runtime/composables/useComponentIcons.d.ts +2 -2
- package/dist/runtime/composables/useContentSearch.d.ts +5 -0
- package/dist/runtime/composables/useContentSearch.js +31 -1
- package/dist/runtime/composables/useFieldGroup.d.ts +1 -1
- package/dist/runtime/composables/useFileUpload.d.ts +2 -1
- package/dist/runtime/composables/useFileUpload.js +13 -4
- package/dist/runtime/composables/useFormField.d.ts +1 -1
- package/dist/runtime/index.css +1 -1
- package/dist/runtime/inertia/components/Link.d.vue.ts +21 -11
- package/dist/runtime/inertia/components/Link.vue +30 -10
- package/dist/runtime/inertia/components/Link.vue.d.ts +21 -11
- package/dist/runtime/inertia/components/LinkBase.d.vue.ts +1 -0
- package/dist/runtime/inertia/components/LinkBase.vue +5 -2
- package/dist/runtime/inertia/components/LinkBase.vue.d.ts +1 -0
- package/dist/runtime/inertia/stubs.js +1 -1
- package/dist/runtime/keyframes.css +1 -1
- package/dist/runtime/locale/gl.d.ts +3 -0
- package/dist/runtime/locale/gl.js +129 -0
- package/dist/runtime/locale/index.d.ts +2 -0
- package/dist/runtime/locale/index.js +2 -0
- package/dist/runtime/locale/sq.d.ts +3 -0
- package/dist/runtime/locale/sq.js +129 -0
- package/dist/runtime/plugins/colors.js +8 -6
- package/dist/runtime/types/html.d.ts +8 -0
- package/dist/runtime/types/html.js +0 -0
- package/dist/runtime/types/index.d.ts +5 -0
- package/dist/runtime/types/index.js +5 -0
- package/dist/runtime/types/input.d.ts +5 -5
- package/dist/runtime/types/utils.d.ts +2 -0
- package/dist/runtime/utils/content.d.ts +2 -2
- package/dist/runtime/utils/link.d.ts +1 -0
- package/dist/runtime/utils/link.js +40 -24
- package/dist/runtime/utils/virtualizer.d.ts +6 -0
- package/dist/runtime/utils/virtualizer.js +30 -0
- package/dist/runtime/vue/components/Icon.vue +1 -1
- package/dist/runtime/vue/components/Link.d.vue.ts +8 -35
- package/dist/runtime/vue/components/Link.vue +36 -18
- package/dist/runtime/vue/components/Link.vue.d.ts +8 -35
- package/dist/runtime/vue/components/color-mode/ColorModeSelect.d.vue.ts +5 -3
- package/dist/runtime/vue/components/color-mode/ColorModeSelect.vue +44 -3
- package/dist/runtime/vue/components/color-mode/ColorModeSelect.vue.d.ts +5 -3
- package/dist/runtime/vue/components/color-mode/ColorModeSwitch.d.vue.ts +1 -1
- package/dist/runtime/vue/components/color-mode/ColorModeSwitch.vue +24 -3
- package/dist/runtime/vue/components/color-mode/ColorModeSwitch.vue.d.ts +1 -1
- package/dist/runtime/vue/stubs.d.ts +1 -1
- package/dist/runtime/vue/stubs.js +1 -1
- package/dist/shared/{ui.Cmctwxv6.mjs → ui.B77q-Dvh.mjs} +397 -153
- package/dist/unplugin.d.mts +1 -0
- package/dist/unplugin.mjs +31 -3
- package/dist/vite.mjs +5 -3
- package/package.json +39 -30
- package/.nuxt/ui/accordion.ts +0 -20
- package/.nuxt/ui/alert.ts +0 -264
- package/.nuxt/ui/auth-form.ts +0 -20
- package/.nuxt/ui/avatar-group.ts +0 -52
- package/.nuxt/ui/avatar.ts +0 -54
- package/.nuxt/ui/badge.ts +0 -263
- package/.nuxt/ui/banner.ts +0 -108
- package/.nuxt/ui/blog-post.ts +0 -142
- package/.nuxt/ui/blog-posts.ts +0 -9
- package/.nuxt/ui/breadcrumb.ts +0 -45
- package/.nuxt/ui/button.ts +0 -378
- package/.nuxt/ui/calendar.ts +0 -315
- package/.nuxt/ui/card.ts +0 -34
- package/.nuxt/ui/carousel.ts +0 -38
- package/.nuxt/ui/changelog-version.ts +0 -41
- package/.nuxt/ui/changelog-versions.ts +0 -8
- package/.nuxt/ui/chat-message.ts +0 -136
- package/.nuxt/ui/chat-messages.ts +0 -14
- package/.nuxt/ui/chat-palette.ts +0 -8
- package/.nuxt/ui/chat-prompt-submit.ts +0 -5
- package/.nuxt/ui/chat-prompt.ts +0 -35
- package/.nuxt/ui/checkbox-group.ts +0 -204
- package/.nuxt/ui/checkbox.ts +0 -236
- package/.nuxt/ui/chip.ts +0 -96
- package/.nuxt/ui/collapsible.ts +0 -6
- package/.nuxt/ui/color-picker.ts +0 -47
- package/.nuxt/ui/command-palette.ts +0 -62
- package/.nuxt/ui/container.ts +0 -3
- package/.nuxt/ui/content/content-navigation.ts +0 -368
- package/.nuxt/ui/content/content-search-button.ts +0 -6
- package/.nuxt/ui/content/content-search.ts +0 -13
- package/.nuxt/ui/content/content-surround.ts +0 -34
- package/.nuxt/ui/content/content-toc.ts +0 -155
- package/.nuxt/ui/context-menu.ts +0 -219
- package/.nuxt/ui/dashboard-group.ts +0 -3
- package/.nuxt/ui/dashboard-navbar.ts +0 -21
- package/.nuxt/ui/dashboard-panel.ts +0 -17
- package/.nuxt/ui/dashboard-resize-handle.ts +0 -3
- package/.nuxt/ui/dashboard-search-button.ts +0 -6
- package/.nuxt/ui/dashboard-search.ts +0 -13
- package/.nuxt/ui/dashboard-sidebar-collapse.ts +0 -9
- package/.nuxt/ui/dashboard-sidebar-toggle.ts +0 -9
- package/.nuxt/ui/dashboard-sidebar.ts +0 -37
- package/.nuxt/ui/dashboard-toolbar.ts +0 -7
- package/.nuxt/ui/drawer.ts +0 -149
- package/.nuxt/ui/dropdown-menu.ts +0 -220
- package/.nuxt/ui/empty.ts +0 -83
- package/.nuxt/ui/error.ts +0 -9
- package/.nuxt/ui/field-group.ts +0 -16
- package/.nuxt/ui/file-upload.ts +0 -290
- package/.nuxt/ui/footer-columns.ts +0 -28
- package/.nuxt/ui/footer.ts +0 -11
- package/.nuxt/ui/form-field.ts +0 -48
- package/.nuxt/ui/form.ts +0 -3
- package/.nuxt/ui/header.ts +0 -25
- package/.nuxt/ui/index.ts +0 -106
- package/.nuxt/ui/input-menu.ts +0 -460
- package/.nuxt/ui/input-number.ts +0 -256
- package/.nuxt/ui/input-tags.ts +0 -310
- package/.nuxt/ui/input.ts +0 -289
- package/.nuxt/ui/kbd.ts +0 -195
- package/.nuxt/ui/link.ts +0 -22
- package/.nuxt/ui/main.ts +0 -3
- package/.nuxt/ui/marquee.ts +0 -66
- package/.nuxt/ui/modal.ts +0 -29
- package/.nuxt/ui/navigation-menu.ts +0 -510
- package/.nuxt/ui/page-anchors.ts +0 -30
- package/.nuxt/ui/page-aside.ts +0 -10
- package/.nuxt/ui/page-body.ts +0 -3
- package/.nuxt/ui/page-card.ts +0 -279
- package/.nuxt/ui/page-columns.ts +0 -3
- package/.nuxt/ui/page-cta.ts +0 -70
- package/.nuxt/ui/page-feature.ts +0 -26
- package/.nuxt/ui/page-grid.ts +0 -3
- package/.nuxt/ui/page-header.ts +0 -18
- package/.nuxt/ui/page-hero.ts +0 -44
- package/.nuxt/ui/page-links.ts +0 -25
- package/.nuxt/ui/page-list.ts +0 -8
- package/.nuxt/ui/page-logos.ts +0 -15
- package/.nuxt/ui/page-section.ts +0 -84
- package/.nuxt/ui/page.ts +0 -32
- package/.nuxt/ui/pagination.ts +0 -13
- package/.nuxt/ui/pin-input.ts +0 -171
- package/.nuxt/ui/popover.ts +0 -6
- package/.nuxt/ui/pricing-plan.ts +0 -101
- package/.nuxt/ui/pricing-plans.ts +0 -22
- package/.nuxt/ui/pricing-table.ts +0 -51
- package/.nuxt/ui/progress.ts +0 -297
- package/.nuxt/ui/prose/a.ts +0 -6
- package/.nuxt/ui/prose/accordion-item.ts +0 -3
- package/.nuxt/ui/prose/accordion.ts +0 -6
- package/.nuxt/ui/prose/badge.ts +0 -3
- package/.nuxt/ui/prose/blockquote.ts +0 -3
- package/.nuxt/ui/prose/callout.ts +0 -129
- package/.nuxt/ui/prose/card-group.ts +0 -3
- package/.nuxt/ui/prose/card.ts +0 -119
- package/.nuxt/ui/prose/code-collapse.ts +0 -19
- package/.nuxt/ui/prose/code-group.ts +0 -13
- package/.nuxt/ui/prose/code-icon.ts +0 -66
- package/.nuxt/ui/prose/code-preview.ts +0 -14
- package/.nuxt/ui/prose/code-tree.ts +0 -28
- package/.nuxt/ui/prose/code.ts +0 -27
- package/.nuxt/ui/prose/collapsible.ts +0 -12
- package/.nuxt/ui/prose/em.ts +0 -3
- package/.nuxt/ui/prose/field-group.ts +0 -3
- package/.nuxt/ui/prose/field.ts +0 -11
- package/.nuxt/ui/prose/h1.ts +0 -6
- package/.nuxt/ui/prose/h2.ts +0 -14
- package/.nuxt/ui/prose/h3.ts +0 -14
- package/.nuxt/ui/prose/h4.ts +0 -6
- package/.nuxt/ui/prose/hr.ts +0 -3
- package/.nuxt/ui/prose/icon.ts +0 -3
- package/.nuxt/ui/prose/img.ts +0 -23
- package/.nuxt/ui/prose/index.ts +0 -41
- package/.nuxt/ui/prose/kbd.ts +0 -3
- package/.nuxt/ui/prose/li.ts +0 -3
- package/.nuxt/ui/prose/ol.ts +0 -3
- package/.nuxt/ui/prose/p.ts +0 -3
- package/.nuxt/ui/prose/pre.ts +0 -17
- package/.nuxt/ui/prose/steps.ts +0 -19
- package/.nuxt/ui/prose/strong.ts +0 -3
- package/.nuxt/ui/prose/table.ts +0 -6
- package/.nuxt/ui/prose/tabs-item.ts +0 -3
- package/.nuxt/ui/prose/tabs.ts +0 -5
- package/.nuxt/ui/prose/tbody.ts +0 -3
- package/.nuxt/ui/prose/td.ts +0 -3
- package/.nuxt/ui/prose/th.ts +0 -3
- package/.nuxt/ui/prose/thead.ts +0 -3
- package/.nuxt/ui/prose/tr.ts +0 -3
- package/.nuxt/ui/prose/ul.ts +0 -3
- package/.nuxt/ui/radio-group.ts +0 -350
- package/.nuxt/ui/select-menu.ts +0 -361
- package/.nuxt/ui/select.ts +0 -348
- package/.nuxt/ui/separator.ts +0 -172
- package/.nuxt/ui/skeleton.ts +0 -3
- package/.nuxt/ui/slideover.ts +0 -71
- package/.nuxt/ui/slider.ts +0 -171
- package/.nuxt/ui/stepper.ts +0 -202
- package/.nuxt/ui/switch.ts +0 -131
- package/.nuxt/ui/table.ts +0 -162
- package/.nuxt/ui/tabs.ts +0 -258
- package/.nuxt/ui/textarea.ts +0 -294
- package/.nuxt/ui/timeline.ts +0 -321
- package/.nuxt/ui/toast.ts +0 -74
- package/.nuxt/ui/toaster.ts +0 -91
- package/.nuxt/ui/tooltip.ts +0 -9
- package/.nuxt/ui/tree.ts +0 -168
- package/.nuxt/ui/user.ts +0 -101
- package/dist/runtime/vue/components/color-mode/ColorModeButton.d.vue.ts +0 -17
- package/dist/runtime/vue/components/color-mode/ColorModeButton.vue +0 -35
- package/dist/runtime/vue/components/color-mode/ColorModeButton.vue.d.ts +0 -17
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import type { ComponentPublicInstance } from 'vue';
|
|
2
|
+
import type { TimeFieldRootProps, TimeFieldRootEmits } from 'reka-ui';
|
|
3
|
+
import type { AppConfig } from '@nuxt/schema';
|
|
4
|
+
import theme from '#build/ui/input-time';
|
|
5
|
+
import type { UseComponentIconsProps } from '../composables/useComponentIcons';
|
|
6
|
+
import type { ComponentConfig } from '../types/tv';
|
|
7
|
+
type InputTime = ComponentConfig<typeof theme, AppConfig, 'inputTime'>;
|
|
8
|
+
export interface InputTimeProps extends Omit<TimeFieldRootProps, 'as' | 'asChild' | 'locale' | 'dir'>, UseComponentIconsProps {
|
|
9
|
+
/**
|
|
10
|
+
* The element or component this component should render as.
|
|
11
|
+
* @defaultValue 'div'
|
|
12
|
+
*/
|
|
13
|
+
as?: any;
|
|
14
|
+
/**
|
|
15
|
+
* @defaultValue 'primary'
|
|
16
|
+
*/
|
|
17
|
+
color?: InputTime['variants']['color'];
|
|
18
|
+
/**
|
|
19
|
+
* @defaultValue 'outline'
|
|
20
|
+
*/
|
|
21
|
+
variant?: InputTime['variants']['variant'];
|
|
22
|
+
/**
|
|
23
|
+
* @defaultValue 'md'
|
|
24
|
+
*/
|
|
25
|
+
size?: InputTime['variants']['size'];
|
|
26
|
+
/** Highlight the ring color like a focus state. */
|
|
27
|
+
highlight?: boolean;
|
|
28
|
+
autofocus?: boolean;
|
|
29
|
+
autofocusDelay?: number;
|
|
30
|
+
class?: any;
|
|
31
|
+
ui?: InputTime['slots'];
|
|
32
|
+
}
|
|
33
|
+
export interface InputTimeEmits extends TimeFieldRootEmits {
|
|
34
|
+
change: [event: Event];
|
|
35
|
+
blur: [event: FocusEvent];
|
|
36
|
+
focus: [event: FocusEvent];
|
|
37
|
+
}
|
|
38
|
+
export interface InputTimeSlots {
|
|
39
|
+
leading(props: {
|
|
40
|
+
ui: InputTime['ui'];
|
|
41
|
+
}): any;
|
|
42
|
+
default(props: {
|
|
43
|
+
ui: InputTime['ui'];
|
|
44
|
+
}): any;
|
|
45
|
+
trailing(props: {
|
|
46
|
+
ui: InputTime['ui'];
|
|
47
|
+
}): any;
|
|
48
|
+
}
|
|
49
|
+
declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<InputTimeProps, {
|
|
50
|
+
inputsRef: import("vue").Ref<ComponentPublicInstance[], ComponentPublicInstance[]>;
|
|
51
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
52
|
+
change: (event: Event) => any;
|
|
53
|
+
blur: (event: FocusEvent) => any;
|
|
54
|
+
focus: (event: FocusEvent) => any;
|
|
55
|
+
"update:modelValue": (date: (import("@internationalized/date").CalendarDateTime | import("@internationalized/date").ZonedDateTime | import("@internationalized/date").Time) | undefined) => any;
|
|
56
|
+
"update:placeholder": (date: import("@internationalized/date").CalendarDateTime | import("@internationalized/date").ZonedDateTime | import("@internationalized/date").Time) => any;
|
|
57
|
+
}, string, import("vue").PublicProps, Readonly<InputTimeProps> & Readonly<{
|
|
58
|
+
onChange?: ((event: Event) => any) | undefined;
|
|
59
|
+
onBlur?: ((event: FocusEvent) => any) | undefined;
|
|
60
|
+
onFocus?: ((event: FocusEvent) => any) | undefined;
|
|
61
|
+
"onUpdate:modelValue"?: ((date: (import("@internationalized/date").CalendarDateTime | import("@internationalized/date").ZonedDateTime | import("@internationalized/date").Time) | undefined) => any) | undefined;
|
|
62
|
+
"onUpdate:placeholder"?: ((date: import("@internationalized/date").CalendarDateTime | import("@internationalized/date").ZonedDateTime | import("@internationalized/date").Time) => any) | undefined;
|
|
63
|
+
}>, {
|
|
64
|
+
autofocusDelay: number;
|
|
65
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, InputTimeSlots>;
|
|
66
|
+
declare const _default: typeof __VLS_export;
|
|
67
|
+
export default _default;
|
|
68
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
69
|
+
new (): {
|
|
70
|
+
$slots: S;
|
|
71
|
+
};
|
|
72
|
+
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { ButtonHTMLAttributes } from 'vue';
|
|
2
1
|
import type { RouterLinkProps, RouteLocationRaw } from 'vue-router';
|
|
2
|
+
import type { ButtonHTMLAttributes, AnchorHTMLAttributes } from '../types/html';
|
|
3
3
|
interface NuxtLinkProps extends Omit<RouterLinkProps, 'to'> {
|
|
4
4
|
/**
|
|
5
5
|
* Route Location the link should navigate to when clicked on.
|
|
@@ -44,8 +44,13 @@ interface NuxtLinkProps extends Omit<RouterLinkProps, 'to'> {
|
|
|
44
44
|
* Escape hatch to disable `prefetch` attribute.
|
|
45
45
|
*/
|
|
46
46
|
noPrefetch?: boolean;
|
|
47
|
+
/**
|
|
48
|
+
* An option to either add or remove trailing slashes in the `href` for this specific link.
|
|
49
|
+
* Overrides the global `trailingSlash` option if provided.
|
|
50
|
+
*/
|
|
51
|
+
trailingSlash?: 'append' | 'remove';
|
|
47
52
|
}
|
|
48
|
-
export interface LinkProps extends NuxtLinkProps {
|
|
53
|
+
export interface LinkProps extends NuxtLinkProps, /** @vue-ignore */ Omit<ButtonHTMLAttributes, 'type' | 'disabled'>, /** @vue-ignore */ Omit<AnchorHTMLAttributes, 'href' | 'target' | 'rel' | 'type'> {
|
|
49
54
|
/**
|
|
50
55
|
* The element or component this component should render as when not a link.
|
|
51
56
|
* @defaultValue 'button'
|
|
@@ -80,8 +85,8 @@ export interface LinkSlots {
|
|
|
80
85
|
declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<LinkProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<LinkProps> & Readonly<{}>, {
|
|
81
86
|
type: "reset" | "submit" | "button";
|
|
82
87
|
as: any;
|
|
83
|
-
ariaCurrentValue: "page" | "step" | "location" | "date" | "time" | "true" | "false";
|
|
84
88
|
active: boolean;
|
|
89
|
+
ariaCurrentValue: "page" | "step" | "location" | "date" | "time" | "true" | "false";
|
|
85
90
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, LinkSlots>;
|
|
86
91
|
declare const _default: typeof __VLS_export;
|
|
87
92
|
export default _default;
|
|
@@ -36,6 +36,7 @@ const props = defineProps({
|
|
|
36
36
|
prefetch: { type: Boolean, required: false },
|
|
37
37
|
prefetchOn: { type: [String, Object], required: false },
|
|
38
38
|
noPrefetch: { type: Boolean, required: false },
|
|
39
|
+
trailingSlash: { type: String, required: false },
|
|
39
40
|
activeClass: { type: String, required: false },
|
|
40
41
|
exactActiveClass: { type: String, required: false },
|
|
41
42
|
ariaCurrentValue: { type: String, required: false, default: "page" },
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { ButtonHTMLAttributes } from 'vue';
|
|
2
1
|
import type { RouterLinkProps, RouteLocationRaw } from 'vue-router';
|
|
2
|
+
import type { ButtonHTMLAttributes, AnchorHTMLAttributes } from '../types/html';
|
|
3
3
|
interface NuxtLinkProps extends Omit<RouterLinkProps, 'to'> {
|
|
4
4
|
/**
|
|
5
5
|
* Route Location the link should navigate to when clicked on.
|
|
@@ -44,8 +44,13 @@ interface NuxtLinkProps extends Omit<RouterLinkProps, 'to'> {
|
|
|
44
44
|
* Escape hatch to disable `prefetch` attribute.
|
|
45
45
|
*/
|
|
46
46
|
noPrefetch?: boolean;
|
|
47
|
+
/**
|
|
48
|
+
* An option to either add or remove trailing slashes in the `href` for this specific link.
|
|
49
|
+
* Overrides the global `trailingSlash` option if provided.
|
|
50
|
+
*/
|
|
51
|
+
trailingSlash?: 'append' | 'remove';
|
|
47
52
|
}
|
|
48
|
-
export interface LinkProps extends NuxtLinkProps {
|
|
53
|
+
export interface LinkProps extends NuxtLinkProps, /** @vue-ignore */ Omit<ButtonHTMLAttributes, 'type' | 'disabled'>, /** @vue-ignore */ Omit<AnchorHTMLAttributes, 'href' | 'target' | 'rel' | 'type'> {
|
|
49
54
|
/**
|
|
50
55
|
* The element or component this component should render as when not a link.
|
|
51
56
|
* @defaultValue 'button'
|
|
@@ -80,8 +85,8 @@ export interface LinkSlots {
|
|
|
80
85
|
declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<LinkProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<LinkProps> & Readonly<{}>, {
|
|
81
86
|
type: "reset" | "submit" | "button";
|
|
82
87
|
as: any;
|
|
83
|
-
ariaCurrentValue: "page" | "step" | "location" | "date" | "time" | "true" | "false";
|
|
84
88
|
active: boolean;
|
|
89
|
+
ariaCurrentValue: "page" | "step" | "location" | "date" | "time" | "true" | "false";
|
|
85
90
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, LinkSlots>;
|
|
86
91
|
declare const _default: typeof __VLS_export;
|
|
87
92
|
export default _default;
|
|
@@ -40,9 +40,9 @@ export interface MarqueeSlots {
|
|
|
40
40
|
default(props?: {}): any;
|
|
41
41
|
}
|
|
42
42
|
declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<MarqueeProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<MarqueeProps> & Readonly<{}>, {
|
|
43
|
+
overlay: boolean;
|
|
43
44
|
repeat: number;
|
|
44
45
|
orientation: Marquee["variants"]["orientation"];
|
|
45
|
-
overlay: boolean;
|
|
46
46
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, MarqueeSlots>;
|
|
47
47
|
declare const _default: typeof __VLS_export;
|
|
48
48
|
export default _default;
|
|
@@ -28,13 +28,9 @@ const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.marquee || {}
|
|
|
28
28
|
</script>
|
|
29
29
|
|
|
30
30
|
<template>
|
|
31
|
-
<Primitive :as="as" :data-orientation="orientation" :class="ui.root({ class: [props.ui?.root, props.class] })">
|
|
32
|
-
<div v-for="i in repeat" :key="i" :class="ui.content({ class: [props.ui?.content] })">
|
|
31
|
+
<Primitive :as="as" :data-orientation="orientation" data-slot="root" :class="ui.root({ class: [props.ui?.root, props.class] })">
|
|
32
|
+
<div v-for="i in repeat" :key="i" data-slot="content" :class="ui.content({ class: [props.ui?.content] })">
|
|
33
33
|
<slot />
|
|
34
34
|
</div>
|
|
35
35
|
</Primitive>
|
|
36
36
|
</template>
|
|
37
|
-
|
|
38
|
-
<style>
|
|
39
|
-
@keyframes marquee{0%{transform:translateZ(0);will-change:transform}to{transform:translate3d(calc(-100% - var(--gap)),0,0);will-change:transform}}@keyframes marquee-rtl{0%{transform:translateZ(0);will-change:transform}to{transform:translate3d(calc(100% + var(--gap)),0,0);will-change:transform}}@keyframes marquee-vertical{0%{transform:translateZ(0);will-change:transform}to{transform:translate3d(0,calc(-100% - var(--gap)),0);will-change:transform}}@keyframes marquee-vertical-rtl{0%{transform:translate3d(0,calc(-100% - var(--gap)),0);will-change:transform}to{transform:translate3d(0,calc(-100%*var(--gap)),0);will-change:transform}}
|
|
40
|
-
</style>
|
|
@@ -40,9 +40,9 @@ export interface MarqueeSlots {
|
|
|
40
40
|
default(props?: {}): any;
|
|
41
41
|
}
|
|
42
42
|
declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<MarqueeProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<MarqueeProps> & Readonly<{}>, {
|
|
43
|
+
overlay: boolean;
|
|
43
44
|
repeat: number;
|
|
44
45
|
orientation: Marquee["variants"]["orientation"];
|
|
45
|
-
overlay: boolean;
|
|
46
46
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, MarqueeSlots>;
|
|
47
47
|
declare const _default: typeof __VLS_export;
|
|
48
48
|
export default _default;
|
|
@@ -15,6 +15,11 @@ export interface ModalProps extends DialogRootProps {
|
|
|
15
15
|
* @defaultValue true
|
|
16
16
|
*/
|
|
17
17
|
overlay?: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* When `true`, enables scrollable overlay mode where content scrolls within the overlay.
|
|
20
|
+
* @defaultValue false
|
|
21
|
+
*/
|
|
22
|
+
scrollable?: boolean;
|
|
18
23
|
/**
|
|
19
24
|
* Animate the modal when opening or closing.
|
|
20
25
|
* @defaultValue true
|
|
@@ -89,11 +94,11 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<ModalP
|
|
|
89
94
|
"onAfter:enter"?: (() => any) | undefined;
|
|
90
95
|
"onClose:prevent"?: (() => any) | undefined;
|
|
91
96
|
}>, {
|
|
97
|
+
overlay: boolean;
|
|
92
98
|
close: boolean | Partial<ButtonProps>;
|
|
93
|
-
modal: boolean;
|
|
94
99
|
transition: boolean;
|
|
100
|
+
modal: boolean;
|
|
95
101
|
portal: boolean | string | HTMLElement;
|
|
96
|
-
overlay: boolean;
|
|
97
102
|
dismissible: boolean;
|
|
98
103
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, ModalSlots>;
|
|
99
104
|
declare const _default: typeof __VLS_export;
|
|
@@ -5,7 +5,7 @@ import theme from "#build/ui/modal";
|
|
|
5
5
|
<script setup>
|
|
6
6
|
import { computed, toRef } from "vue";
|
|
7
7
|
import { DialogRoot, DialogTrigger, DialogPortal, DialogOverlay, DialogContent, DialogTitle, DialogDescription, DialogClose, VisuallyHidden, useForwardPropsEmits } from "reka-ui";
|
|
8
|
-
import { reactivePick } from "@vueuse/core";
|
|
8
|
+
import { reactivePick, createReusableTemplate } from "@vueuse/core";
|
|
9
9
|
import { useAppConfig } from "#imports";
|
|
10
10
|
import { useLocale } from "../composables/useLocale";
|
|
11
11
|
import { usePortal } from "../composables/usePortal";
|
|
@@ -16,11 +16,12 @@ const props = defineProps({
|
|
|
16
16
|
description: { type: String, required: false },
|
|
17
17
|
content: { type: Object, required: false },
|
|
18
18
|
overlay: { type: Boolean, required: false, default: true },
|
|
19
|
+
scrollable: { type: Boolean, required: false },
|
|
19
20
|
transition: { type: Boolean, required: false, default: true },
|
|
20
21
|
fullscreen: { type: Boolean, required: false },
|
|
21
22
|
portal: { type: [Boolean, String], required: false, skipCheck: true, default: true },
|
|
22
23
|
close: { type: [Boolean, Object], required: false, default: true },
|
|
23
|
-
closeIcon: { type:
|
|
24
|
+
closeIcon: { type: null, required: false },
|
|
24
25
|
dismissible: { type: Boolean, required: false, default: true },
|
|
25
26
|
class: { type: null, required: false },
|
|
26
27
|
ui: { type: null, required: false },
|
|
@@ -46,24 +47,40 @@ const contentEvents = computed(() => {
|
|
|
46
47
|
return acc;
|
|
47
48
|
}, {});
|
|
48
49
|
}
|
|
50
|
+
if (props.scrollable) {
|
|
51
|
+
return {
|
|
52
|
+
// FIXME: This is a workaround to prevent the modal from closing when clicking on the scrollbar https://reka-ui.com/docs/components/dialog#scrollable-overlay but it's not working on Mac OS.
|
|
53
|
+
pointerDownOutside: (e) => {
|
|
54
|
+
const originalEvent = e.detail.originalEvent;
|
|
55
|
+
const target = originalEvent.target;
|
|
56
|
+
if (originalEvent.offsetX > target.clientWidth || originalEvent.offsetY > target.clientHeight) {
|
|
57
|
+
e.preventDefault();
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
}
|
|
49
62
|
return {};
|
|
50
63
|
});
|
|
64
|
+
const [DefineContentTemplate, ReuseContentTemplate] = createReusableTemplate();
|
|
51
65
|
const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.modal || {} })({
|
|
52
66
|
transition: props.transition,
|
|
53
|
-
fullscreen: props.fullscreen
|
|
67
|
+
fullscreen: props.fullscreen,
|
|
68
|
+
overlay: props.overlay,
|
|
69
|
+
scrollable: props.scrollable
|
|
54
70
|
}));
|
|
55
71
|
</script>
|
|
56
72
|
|
|
57
73
|
<template>
|
|
58
74
|
<DialogRoot v-slot="{ open, close }" v-bind="rootProps">
|
|
59
|
-
<
|
|
60
|
-
<
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
75
|
+
<DefineContentTemplate>
|
|
76
|
+
<DialogContent
|
|
77
|
+
data-slot="content"
|
|
78
|
+
:class="ui.content({ class: [!slots.default && props.class, props.ui?.content] })"
|
|
79
|
+
v-bind="contentProps"
|
|
80
|
+
@after-enter="emits('after:enter')"
|
|
81
|
+
@after-leave="emits('after:leave')"
|
|
82
|
+
v-on="contentEvents"
|
|
83
|
+
>
|
|
67
84
|
<VisuallyHidden v-if="!!slots.content && (title || !!slots.title || (description || !!slots.description))">
|
|
68
85
|
<DialogTitle v-if="title || !!slots.title">
|
|
69
86
|
<slot name="title">
|
|
@@ -79,16 +96,16 @@ const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.modal || {} }
|
|
|
79
96
|
</VisuallyHidden>
|
|
80
97
|
|
|
81
98
|
<slot name="content" :close="close">
|
|
82
|
-
<div v-if="!!slots.header || (title || !!slots.title) || (description || !!slots.description) || (props.close || !!slots.close)" :class="ui.header({ class: props.ui?.header })">
|
|
99
|
+
<div v-if="!!slots.header || (title || !!slots.title) || (description || !!slots.description) || (props.close || !!slots.close)" data-slot="header" :class="ui.header({ class: props.ui?.header })">
|
|
83
100
|
<slot name="header" :close="close">
|
|
84
|
-
<div :class="ui.wrapper({ class: props.ui?.wrapper })">
|
|
85
|
-
<DialogTitle v-if="title || !!slots.title" :class="ui.title({ class: props.ui?.title })">
|
|
101
|
+
<div data-slot="wrapper" :class="ui.wrapper({ class: props.ui?.wrapper })">
|
|
102
|
+
<DialogTitle v-if="title || !!slots.title" data-slot="title" :class="ui.title({ class: props.ui?.title })">
|
|
86
103
|
<slot name="title">
|
|
87
104
|
{{ title }}
|
|
88
105
|
</slot>
|
|
89
106
|
</DialogTitle>
|
|
90
107
|
|
|
91
|
-
<DialogDescription v-if="description || !!slots.description" :class="ui.description({ class: props.ui?.description })">
|
|
108
|
+
<DialogDescription v-if="description || !!slots.description" data-slot="description" :class="ui.description({ class: props.ui?.description })">
|
|
92
109
|
<slot name="description">
|
|
93
110
|
{{ description }}
|
|
94
111
|
</slot>
|
|
@@ -106,6 +123,7 @@ const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.modal || {} }
|
|
|
106
123
|
variant="ghost"
|
|
107
124
|
:aria-label="t('modal.close')"
|
|
108
125
|
v-bind="typeof props.close === 'object' ? props.close : {}"
|
|
126
|
+
data-slot="close"
|
|
109
127
|
:class="ui.close({ class: props.ui?.close })"
|
|
110
128
|
/>
|
|
111
129
|
</slot>
|
|
@@ -113,15 +131,33 @@ const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.modal || {} }
|
|
|
113
131
|
</slot>
|
|
114
132
|
</div>
|
|
115
133
|
|
|
116
|
-
<div v-if="!!slots.body" :class="ui.body({ class: props.ui?.body })">
|
|
134
|
+
<div v-if="!!slots.body" data-slot="body" :class="ui.body({ class: props.ui?.body })">
|
|
117
135
|
<slot name="body" :close="close" />
|
|
118
136
|
</div>
|
|
119
137
|
|
|
120
|
-
<div v-if="!!slots.footer" :class="ui.footer({ class: props.ui?.footer })">
|
|
138
|
+
<div v-if="!!slots.footer" data-slot="footer" :class="ui.footer({ class: props.ui?.footer })">
|
|
121
139
|
<slot name="footer" :close="close" />
|
|
122
140
|
</div>
|
|
123
141
|
</slot>
|
|
124
142
|
</DialogContent>
|
|
143
|
+
</DefineContentTemplate>
|
|
144
|
+
|
|
145
|
+
<DialogTrigger v-if="!!slots.default" as-child :class="props.class">
|
|
146
|
+
<slot :open="open" />
|
|
147
|
+
</DialogTrigger>
|
|
148
|
+
|
|
149
|
+
<DialogPortal v-bind="portalProps">
|
|
150
|
+
<template v-if="scrollable">
|
|
151
|
+
<DialogOverlay data-slot="overlay" :class="ui.overlay({ class: props.ui?.overlay })">
|
|
152
|
+
<ReuseContentTemplate />
|
|
153
|
+
</DialogOverlay>
|
|
154
|
+
</template>
|
|
155
|
+
|
|
156
|
+
<template v-else>
|
|
157
|
+
<DialogOverlay v-if="overlay" data-slot="overlay" :class="ui.overlay({ class: props.ui?.overlay })" />
|
|
158
|
+
|
|
159
|
+
<ReuseContentTemplate />
|
|
160
|
+
</template>
|
|
125
161
|
</DialogPortal>
|
|
126
162
|
</DialogRoot>
|
|
127
163
|
</template>
|
|
@@ -15,6 +15,11 @@ export interface ModalProps extends DialogRootProps {
|
|
|
15
15
|
* @defaultValue true
|
|
16
16
|
*/
|
|
17
17
|
overlay?: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* When `true`, enables scrollable overlay mode where content scrolls within the overlay.
|
|
20
|
+
* @defaultValue false
|
|
21
|
+
*/
|
|
22
|
+
scrollable?: boolean;
|
|
18
23
|
/**
|
|
19
24
|
* Animate the modal when opening or closing.
|
|
20
25
|
* @defaultValue true
|
|
@@ -89,11 +94,11 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<ModalP
|
|
|
89
94
|
"onAfter:enter"?: (() => any) | undefined;
|
|
90
95
|
"onClose:prevent"?: (() => any) | undefined;
|
|
91
96
|
}>, {
|
|
97
|
+
overlay: boolean;
|
|
92
98
|
close: boolean | Partial<ButtonProps>;
|
|
93
|
-
modal: boolean;
|
|
94
99
|
transition: boolean;
|
|
100
|
+
modal: boolean;
|
|
95
101
|
portal: boolean | string | HTMLElement;
|
|
96
|
-
overlay: boolean;
|
|
97
102
|
dismissible: boolean;
|
|
98
103
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, ModalSlots>;
|
|
99
104
|
declare const _default: typeof __VLS_export;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { NavigationMenuRootProps,
|
|
1
|
+
import type { NavigationMenuRootProps, NavigationMenuContentProps, NavigationMenuContentEmits, AccordionRootProps } from 'reka-ui';
|
|
2
2
|
import type { AppConfig } from '@nuxt/schema';
|
|
3
3
|
import theme from '#build/ui/navigation-menu';
|
|
4
4
|
import type { AvatarProps, BadgeProps, IconProps, LinkProps, PopoverProps, TooltipProps } from '../types';
|
|
@@ -57,12 +57,40 @@ export interface NavigationMenuItem extends Omit<LinkProps, 'type' | 'raw' | 'cu
|
|
|
57
57
|
ui?: Pick<NavigationMenu['slots'], 'item' | 'linkLeadingAvatarSize' | 'linkLeadingAvatar' | 'linkLeadingIcon' | 'linkLabel' | 'linkLabelExternalIcon' | 'linkTrailing' | 'linkTrailingBadgeSize' | 'linkTrailingBadge' | 'linkTrailingIcon' | 'label' | 'link' | 'content' | 'childList' | 'childLabel' | 'childItem' | 'childLink' | 'childLinkIcon' | 'childLinkWrapper' | 'childLinkLabel' | 'childLinkLabelExternalIcon' | 'childLinkDescription'>;
|
|
58
58
|
[key: string]: any;
|
|
59
59
|
}
|
|
60
|
-
|
|
60
|
+
type SingleOrMultipleType = 'single' | 'multiple';
|
|
61
|
+
type Orientation = NavigationMenuRootProps['orientation'];
|
|
62
|
+
type NavigationMenuModelValue<K extends SingleOrMultipleType = SingleOrMultipleType, O extends Orientation = Orientation> = O extends 'horizontal' ? string : K extends 'single' ? string : K extends 'multiple' ? string[] : string | string[];
|
|
63
|
+
export interface NavigationMenuProps<T extends ArrayOrNested<NavigationMenuItem> = ArrayOrNested<NavigationMenuItem>, K extends SingleOrMultipleType = SingleOrMultipleType, O extends Orientation = Orientation> extends Pick<NavigationMenuRootProps, 'delayDuration' | 'disableClickTrigger' | 'disableHoverTrigger' | 'skipDelayDuration' | 'disablePointerLeaveClose' | 'unmountOnHide'>, Pick<AccordionRootProps, 'disabled' | 'collapsible'> {
|
|
61
64
|
/**
|
|
62
65
|
* The element or component this component should render as.
|
|
63
66
|
* @defaultValue 'div'
|
|
64
67
|
*/
|
|
65
68
|
as?: any;
|
|
69
|
+
/**
|
|
70
|
+
* Determines whether a "single" or "multiple" items can be selected at a time.
|
|
71
|
+
*
|
|
72
|
+
* Only works when `orientation` is `vertical`.
|
|
73
|
+
* @defaultValue 'multiple'
|
|
74
|
+
*/
|
|
75
|
+
type?: K;
|
|
76
|
+
/**
|
|
77
|
+
* The controlled value of the active item(s).
|
|
78
|
+
* - In horizontal orientation: always `string`
|
|
79
|
+
* - In vertical orientation with `type="single"`: `string`
|
|
80
|
+
* - In vertical orientation with `type="multiple"`: `string[]`
|
|
81
|
+
*
|
|
82
|
+
* Use this when you need to control the state of the items. Can be binded with `v-model`
|
|
83
|
+
*/
|
|
84
|
+
modelValue?: NavigationMenuModelValue<K, O>;
|
|
85
|
+
/**
|
|
86
|
+
* The default active value of the item(s).
|
|
87
|
+
* - In horizontal orientation: always `string`
|
|
88
|
+
* - In vertical orientation with `type="single"`: `string`
|
|
89
|
+
* - In vertical orientation with `type="multiple"`: `string[]`
|
|
90
|
+
*
|
|
91
|
+
* Use when you do not need to control the state of the item(s).
|
|
92
|
+
*/
|
|
93
|
+
defaultValue?: NavigationMenuModelValue<K, O>;
|
|
66
94
|
/**
|
|
67
95
|
* The icon displayed to open the menu.
|
|
68
96
|
* @defaultValue appConfig.ui.icons.chevronDown
|
|
@@ -89,7 +117,7 @@ export interface NavigationMenuProps<T extends ArrayOrNested<NavigationMenuItem>
|
|
|
89
117
|
* The orientation of the menu.
|
|
90
118
|
* @defaultValue 'horizontal'
|
|
91
119
|
*/
|
|
92
|
-
orientation?:
|
|
120
|
+
orientation?: O;
|
|
93
121
|
/**
|
|
94
122
|
* Collapse the navigation menu to only show icons.
|
|
95
123
|
* Only works when `orientation` is `vertical`.
|
|
@@ -135,8 +163,15 @@ export interface NavigationMenuProps<T extends ArrayOrNested<NavigationMenuItem>
|
|
|
135
163
|
class?: any;
|
|
136
164
|
ui?: NavigationMenu['slots'];
|
|
137
165
|
}
|
|
138
|
-
export
|
|
139
|
-
|
|
166
|
+
export type NavigationMenuEmits<K extends SingleOrMultipleType = SingleOrMultipleType, O extends Orientation = Orientation> = {
|
|
167
|
+
/**
|
|
168
|
+
* Event handler called when the value changes.
|
|
169
|
+
* - In horizontal orientation: emits `string`
|
|
170
|
+
* - In vertical orientation with `type="single"`: emits `string | undefined`
|
|
171
|
+
* - In vertical orientation with `type="multiple"`: emits `string[] | undefined`
|
|
172
|
+
*/
|
|
173
|
+
'update:modelValue': [value: NavigationMenuModelValue<K, O> | undefined];
|
|
174
|
+
};
|
|
140
175
|
type SlotProps<T extends NavigationMenuItem> = (props: {
|
|
141
176
|
item: T;
|
|
142
177
|
index: number;
|
|
@@ -166,14 +201,14 @@ export type NavigationMenuSlots<A extends ArrayOrNested<NavigationMenuItem> = Ar
|
|
|
166
201
|
active?: boolean;
|
|
167
202
|
ui: NavigationMenu['ui'];
|
|
168
203
|
}>;
|
|
169
|
-
declare const __VLS_export: <T extends ArrayOrNested<NavigationMenuItem
|
|
170
|
-
props: __VLS_PrettifyLocal<NavigationMenuProps<T> & {
|
|
171
|
-
"onUpdate:modelValue"?: ((value:
|
|
204
|
+
declare const __VLS_export: <T extends ArrayOrNested<NavigationMenuItem>, K extends SingleOrMultipleType = SingleOrMultipleType, O extends Orientation = Orientation>(__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<{
|
|
205
|
+
props: __VLS_PrettifyLocal<NavigationMenuProps<T, K, O> & {
|
|
206
|
+
"onUpdate:modelValue"?: ((value: NavigationMenuModelValue<K, O> | undefined) => any) | undefined;
|
|
172
207
|
}> & import("vue").PublicProps;
|
|
173
208
|
expose: (exposed: {}) => void;
|
|
174
209
|
attrs: any;
|
|
175
210
|
slots: NavigationMenuSlots<T, NestedItem<T>>;
|
|
176
|
-
emit: (evt: "update:modelValue", value:
|
|
211
|
+
emit: (evt: "update:modelValue", value: NavigationMenuModelValue<K, O> | undefined) => void;
|
|
177
212
|
}>) => import("vue").VNode & {
|
|
178
213
|
__ctx?: Awaited<typeof __VLS_setup>;
|
|
179
214
|
};
|