@nuxt/ui 4.1.0 → 4.2.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/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 +9 -8
- package/dist/runtime/components/Alert.vue +9 -8
- 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 +28 -20
- 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 +4 -2
- package/dist/runtime/components/Avatar.vue.d.ts +2 -1
- package/dist/runtime/components/AvatarGroup.vue +3 -3
- package/dist/runtime/components/Badge.vue +5 -5
- package/dist/runtime/components/Banner.vue +9 -8
- package/dist/runtime/components/BlogPost.vue +19 -10
- package/dist/runtime/components/Breadcrumb.vue +9 -9
- package/dist/runtime/components/Button.vue +6 -4
- package/dist/runtime/components/Calendar.vue +12 -8
- package/dist/runtime/components/Card.vue +4 -4
- package/dist/runtime/components/Carousel.vue +10 -5
- package/dist/runtime/components/ChangelogVersion.vue +22 -14
- package/dist/runtime/components/ChangelogVersions.vue +4 -4
- package/dist/runtime/components/ChatMessage.vue +7 -7
- package/dist/runtime/components/ChatMessages.vue +4 -2
- 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 +4 -4
- package/dist/runtime/components/ChatPromptSubmit.vue +51 -4
- package/dist/runtime/components/ChatPromptSubmit.vue.d.ts +4 -4
- package/dist/runtime/components/Checkbox.d.vue.ts +2 -1
- package/dist/runtime/components/Checkbox.vue +9 -8
- package/dist/runtime/components/Checkbox.vue.d.ts +2 -1
- package/dist/runtime/components/CheckboxGroup.vue +7 -4
- 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 +62 -37
- package/dist/runtime/components/ContextMenuContent.vue +19 -17
- package/dist/runtime/components/DashboardNavbar.vue +7 -6
- package/dist/runtime/components/DashboardPanel.vue +3 -1
- package/dist/runtime/components/DashboardSearch.vue +2 -1
- package/dist/runtime/components/DashboardSearchButton.d.vue.ts +2 -3
- package/dist/runtime/components/DashboardSearchButton.vue +47 -9
- 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 +1 -1
- package/dist/runtime/components/DropdownMenuContent.vue +19 -17
- package/dist/runtime/components/Empty.vue +8 -8
- 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 +34 -24
- 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/Input.d.vue.ts +6 -6
- package/dist/runtime/components/Input.vue +9 -8
- 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 +50 -42
- 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 +8 -9
- 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 +19 -15
- 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 +4 -49
- package/dist/runtime/components/Link.vue +1 -0
- package/dist/runtime/components/Link.vue.d.ts +4 -49
- 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 +52 -16
- 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 +73 -43
- 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 +11 -10
- package/dist/runtime/components/PageFeature.vue +6 -6
- 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 +13 -13
- package/dist/runtime/components/Pagination.d.vue.ts +2 -2
- package/dist/runtime/components/Pagination.vue +8 -8
- 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 +26 -23
- 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 +54 -40
- package/dist/runtime/components/SelectMenu.vue.d.ts +6 -105
- package/dist/runtime/components/Separator.vue +7 -7
- package/dist/runtime/components/Slideover.d.vue.ts +2 -2
- package/dist/runtime/components/Slideover.vue +9 -7
- 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 +10 -9
- 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 +9 -8
- package/dist/runtime/components/Textarea.vue.d.ts +6 -5
- package/dist/runtime/components/Timeline.vue +16 -7
- package/dist/runtime/components/Toast.vue +15 -12
- 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 +18 -11
- 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 +59 -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 +13 -12
- package/dist/runtime/components/content/ContentSearch.vue +60 -65
- package/dist/runtime/components/content/ContentSearchButton.d.vue.ts +2 -3
- package/dist/runtime/components/content/ContentSearchButton.vue +47 -9
- package/dist/runtime/components/content/ContentSearchButton.vue.d.ts +2 -3
- package/dist/runtime/components/content/ContentSurround.vue +6 -6
- package/dist/runtime/components/content/ContentToc.vue +15 -15
- 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/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/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 +17 -10
- package/dist/runtime/inertia/components/Link.vue +7 -6
- package/dist/runtime/inertia/components/Link.vue.d.ts +17 -10
- 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/Link.d.vue.ts +8 -37
- package/dist/runtime/vue/components/Link.vue +5 -10
- package/dist/runtime/vue/components/Link.vue.d.ts +8 -37
- 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 -34
- 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/.nuxt/ui.css +0 -146
- 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
|
@@ -81,9 +81,9 @@ nuxtApp.hooks.hook("page:transition:finish", () => {
|
|
|
81
81
|
<DefineListTemplate v-slot="{ links, level }">
|
|
82
82
|
<ul :class="level > 0 ? ui.listWithChildren({ class: props.ui?.listWithChildren }) : ui.list({ class: props.ui?.list })">
|
|
83
83
|
<li v-for="(link, index) in links" :key="index" :class="link.children && link.children.length > 0 ? ui.itemWithChildren({ class: [props.ui?.itemWithChildren, link.ui?.itemWithChildren] }) : ui.item({ class: [props.ui?.item, link.ui?.item] })">
|
|
84
|
-
<a :href="`#${link.id}`" :class="ui.link({ class: [props.ui?.link, link.ui?.link, link.class], active: activeHeadings.includes(link.id) })" @click.prevent="scrollToHeading(link.id)">
|
|
84
|
+
<a :href="`#${link.id}`" data-slot="link" :class="ui.link({ class: [props.ui?.link, link.ui?.link, link.class], active: activeHeadings.includes(link.id) })" @click.prevent="scrollToHeading(link.id)">
|
|
85
85
|
<slot name="link" :link="link">
|
|
86
|
-
<span :class="ui.linkText({ class: [props.ui?.linkText, link.ui?.linkText] })">
|
|
86
|
+
<span data-slot="linkText" :class="ui.linkText({ class: [props.ui?.linkText, link.ui?.linkText] })">
|
|
87
87
|
{{ link.text }}
|
|
88
88
|
</span>
|
|
89
89
|
</slot>
|
|
@@ -97,42 +97,42 @@ nuxtApp.hooks.hook("page:transition:finish", () => {
|
|
|
97
97
|
<DefineTriggerTemplate v-slot="{ open }">
|
|
98
98
|
<slot name="leading" :open="open" :ui="ui" />
|
|
99
99
|
|
|
100
|
-
<span :class="ui.title({ class: props.ui?.title })">
|
|
100
|
+
<span data-slot="title" :class="ui.title({ class: props.ui?.title })">
|
|
101
101
|
<slot :open="open">{{ title || t("contentToc.title") }}</slot>
|
|
102
102
|
</span>
|
|
103
103
|
|
|
104
|
-
<span :class="ui.trailing({ class: props.ui?.trailing })">
|
|
104
|
+
<span data-slot="trailing" :class="ui.trailing({ class: props.ui?.trailing })">
|
|
105
105
|
<slot name="trailing" :open="open" :ui="ui">
|
|
106
|
-
<UIcon :name="trailingIcon || appConfig.ui.icons.chevronDown" :class="ui.trailingIcon({ class: props.ui?.trailingIcon })" />
|
|
106
|
+
<UIcon :name="trailingIcon || appConfig.ui.icons.chevronDown" data-slot="trailingIcon" :class="ui.trailingIcon({ class: props.ui?.trailingIcon })" />
|
|
107
107
|
</slot>
|
|
108
108
|
</span>
|
|
109
109
|
</DefineTriggerTemplate>
|
|
110
110
|
|
|
111
|
-
<CollapsibleRoot v-slot="{ open }" v-bind="{ ...rootProps, ...$attrs }" :default-open="defaultOpen" :class="ui.root({ class: [props.ui?.root, props.class] })">
|
|
112
|
-
<div :class="ui.container({ class: props.ui?.container })">
|
|
113
|
-
<div v-if="!!slots.top" :class="ui.top({ class: props.ui?.top })">
|
|
111
|
+
<CollapsibleRoot v-slot="{ open }" v-bind="{ ...rootProps, ...$attrs }" :default-open="defaultOpen" data-slot="root" :class="ui.root({ class: [props.ui?.root, props.class] })">
|
|
112
|
+
<div data-slot="container" :class="ui.container({ class: props.ui?.container })">
|
|
113
|
+
<div v-if="!!slots.top" data-slot="top" :class="ui.top({ class: props.ui?.top })">
|
|
114
114
|
<slot name="top" :links="links" />
|
|
115
115
|
</div>
|
|
116
116
|
|
|
117
117
|
<template v-if="links?.length">
|
|
118
|
-
<CollapsibleTrigger :class="ui.trigger({ class: 'lg:hidden' })">
|
|
118
|
+
<CollapsibleTrigger data-slot="trigger" :class="ui.trigger({ class: 'lg:hidden' })">
|
|
119
119
|
<ReuseTriggerTemplate :open="open" />
|
|
120
120
|
</CollapsibleTrigger>
|
|
121
121
|
|
|
122
|
-
<CollapsibleContent :class="ui.content({ class: [props.ui?.content, 'lg:hidden'] })">
|
|
123
|
-
<div v-if="highlight" :class="ui.indicator({ class: props.ui?.indicator })" :style="indicatorStyle" />
|
|
122
|
+
<CollapsibleContent data-slot="content" :class="ui.content({ class: [props.ui?.content, 'lg:hidden'] })">
|
|
123
|
+
<div v-if="highlight" data-slot="indicator" :class="ui.indicator({ class: props.ui?.indicator })" :style="indicatorStyle" />
|
|
124
124
|
|
|
125
125
|
<slot name="content" :links="links">
|
|
126
126
|
<ReuseListTemplate :links="links" :level="0" />
|
|
127
127
|
</slot>
|
|
128
128
|
</CollapsibleContent>
|
|
129
129
|
|
|
130
|
-
<p :class="ui.trigger({ class: 'hidden lg:flex' })">
|
|
130
|
+
<p data-slot="trigger" :class="ui.trigger({ class: 'hidden lg:flex' })">
|
|
131
131
|
<ReuseTriggerTemplate :open="open" />
|
|
132
132
|
</p>
|
|
133
133
|
|
|
134
|
-
<div :class="ui.content({ class: [props.ui?.content, 'hidden lg:flex'] })">
|
|
135
|
-
<div v-if="highlight" :class="ui.indicator({ class: props.ui?.indicator })" :style="indicatorStyle" />
|
|
134
|
+
<div data-slot="content" :class="ui.content({ class: [props.ui?.content, 'hidden lg:flex'] })">
|
|
135
|
+
<div v-if="highlight" data-slot="indicator" :class="ui.indicator({ class: props.ui?.indicator })" :style="indicatorStyle" />
|
|
136
136
|
|
|
137
137
|
<slot name="content" :links="links">
|
|
138
138
|
<ReuseListTemplate :links="links" :level="0" />
|
|
@@ -140,7 +140,7 @@ nuxtApp.hooks.hook("page:transition:finish", () => {
|
|
|
140
140
|
</div>
|
|
141
141
|
</template>
|
|
142
142
|
|
|
143
|
-
<div v-if="!!slots.bottom" :class="ui.bottom({ class: props.ui?.bottom, body: !!slots.top || !!links?.length })">
|
|
143
|
+
<div v-if="!!slots.bottom" data-slot="bottom" :class="ui.bottom({ class: props.ui?.bottom, body: !!slots.top || !!links?.length })">
|
|
144
144
|
<slot name="bottom" :links="links" />
|
|
145
145
|
</div>
|
|
146
146
|
</div>
|
|
@@ -1,16 +1,20 @@
|
|
|
1
1
|
import type { SelectMenuProps } from '../../types';
|
|
2
2
|
import type { Locale } from '../../types/locale';
|
|
3
|
-
export interface LocaleSelectProps extends
|
|
3
|
+
export interface LocaleSelectProps extends Omit<SelectMenuProps<Locale<any>[], 'code', false>, 'items' | 'modelValue'> {
|
|
4
4
|
locales?: Locale<any>[];
|
|
5
5
|
}
|
|
6
6
|
declare const __VLS_export: import("vue").DefineComponent<LocaleSelectProps & {
|
|
7
|
-
modelValue
|
|
7
|
+
modelValue: string;
|
|
8
8
|
}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
9
|
-
"update:modelValue": (value: string
|
|
9
|
+
"update:modelValue": (value: string) => any;
|
|
10
10
|
}, string, import("vue").PublicProps, Readonly<LocaleSelectProps & {
|
|
11
|
-
modelValue
|
|
11
|
+
modelValue: string;
|
|
12
12
|
}> & Readonly<{
|
|
13
|
-
"onUpdate:modelValue"?: ((value: string
|
|
14
|
-
}>, {
|
|
13
|
+
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
14
|
+
}>, {
|
|
15
|
+
valueKey: "code";
|
|
16
|
+
labelKey: string;
|
|
17
|
+
searchInput: boolean | import("../Input.vue").InputProps;
|
|
18
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
15
19
|
declare const _default: typeof __VLS_export;
|
|
16
20
|
export default _default;
|
|
@@ -3,11 +3,55 @@
|
|
|
3
3
|
</script>
|
|
4
4
|
|
|
5
5
|
<script setup>
|
|
6
|
+
import { useForwardProps } from "reka-ui";
|
|
7
|
+
import { reactiveOmit } from "@vueuse/core";
|
|
6
8
|
import USelectMenu from "../SelectMenu.vue";
|
|
7
|
-
|
|
8
|
-
|
|
9
|
+
defineOptions({ inheritAttrs: false });
|
|
10
|
+
const props = defineProps({
|
|
11
|
+
locales: { type: Array, required: false },
|
|
12
|
+
id: { type: String, required: false },
|
|
13
|
+
placeholder: { type: String, required: false },
|
|
14
|
+
searchInput: { type: [Boolean, Object], required: false, default: false },
|
|
15
|
+
color: { type: null, required: false },
|
|
16
|
+
variant: { type: null, required: false },
|
|
17
|
+
size: { type: null, required: false },
|
|
18
|
+
required: { type: Boolean, required: false },
|
|
19
|
+
trailingIcon: { type: [String, Object], required: false },
|
|
20
|
+
selectedIcon: { type: [String, Object], required: false },
|
|
21
|
+
content: { type: Object, required: false },
|
|
22
|
+
arrow: { type: [Boolean, Object], required: false },
|
|
23
|
+
portal: { type: [Boolean, String], required: false, skipCheck: true },
|
|
24
|
+
virtualize: { type: [Boolean, Object], required: false },
|
|
25
|
+
valueKey: { type: String, required: false, default: "code" },
|
|
26
|
+
labelKey: { type: null, required: false, default: "name" },
|
|
27
|
+
descriptionKey: { type: null, required: false },
|
|
28
|
+
defaultValue: { type: null, required: false },
|
|
29
|
+
multiple: { type: Boolean, required: false },
|
|
30
|
+
highlight: { type: Boolean, required: false },
|
|
31
|
+
createItem: { type: [Boolean, String, Object], required: false },
|
|
32
|
+
filterFields: { type: Array, required: false },
|
|
33
|
+
ignoreFilter: { type: Boolean, required: false },
|
|
34
|
+
autofocus: { type: Boolean, required: false },
|
|
35
|
+
autofocusDelay: { type: Number, required: false },
|
|
36
|
+
class: { type: null, required: false },
|
|
37
|
+
ui: { type: null, required: false },
|
|
38
|
+
open: { type: Boolean, required: false },
|
|
39
|
+
defaultOpen: { type: Boolean, required: false },
|
|
40
|
+
disabled: { type: Boolean, required: false },
|
|
41
|
+
name: { type: String, required: false },
|
|
42
|
+
resetSearchTermOnBlur: { type: Boolean, required: false },
|
|
43
|
+
resetSearchTermOnSelect: { type: Boolean, required: false },
|
|
44
|
+
highlightOnHover: { type: Boolean, required: false },
|
|
45
|
+
icon: { type: [String, Object], required: false },
|
|
46
|
+
avatar: { type: Object, required: false },
|
|
47
|
+
leading: { type: Boolean, required: false },
|
|
48
|
+
leadingIcon: { type: [String, Object], required: false },
|
|
49
|
+
trailing: { type: Boolean, required: false },
|
|
50
|
+
loading: { type: Boolean, required: false },
|
|
51
|
+
loadingIcon: { type: [String, Object], required: false }
|
|
9
52
|
});
|
|
10
|
-
const
|
|
53
|
+
const selectMenuProps = useForwardProps(reactiveOmit(props, "locales"));
|
|
54
|
+
const modelValue = defineModel({ type: String, ...{ required: true } });
|
|
11
55
|
function getEmojiFlag(locale) {
|
|
12
56
|
const languageToCountry = {
|
|
13
57
|
ar: "sa",
|
|
@@ -28,6 +72,8 @@ function getEmojiFlag(locale) {
|
|
|
28
72
|
// English -> Great Britain
|
|
29
73
|
et: "ee",
|
|
30
74
|
// Estonian -> Estonia
|
|
75
|
+
gl: "es",
|
|
76
|
+
// Galician -> Spain
|
|
31
77
|
he: "il",
|
|
32
78
|
// Hebrew -> Israel
|
|
33
79
|
hi: "in",
|
|
@@ -36,6 +82,8 @@ function getEmojiFlag(locale) {
|
|
|
36
82
|
// Armenian -> Armenia
|
|
37
83
|
ja: "jp",
|
|
38
84
|
// Japanese -> Japan
|
|
85
|
+
ka: "ge",
|
|
86
|
+
// Georgian -> Georgia
|
|
39
87
|
kk: "kz",
|
|
40
88
|
// Kazakh -> Kazakhstan
|
|
41
89
|
km: "kh",
|
|
@@ -52,6 +100,8 @@ function getEmojiFlag(locale) {
|
|
|
52
100
|
// Norwegian Bokmål -> Norway
|
|
53
101
|
sl: "si",
|
|
54
102
|
// Slovenian -> Slovenia
|
|
103
|
+
sq: "al",
|
|
104
|
+
// Albanian -> Albania
|
|
55
105
|
sv: "se",
|
|
56
106
|
// Swedish -> Sweden
|
|
57
107
|
uk: "ua",
|
|
@@ -70,9 +120,7 @@ function getEmojiFlag(locale) {
|
|
|
70
120
|
<template>
|
|
71
121
|
<USelectMenu
|
|
72
122
|
v-model="modelValue"
|
|
73
|
-
|
|
74
|
-
value-key="code"
|
|
75
|
-
label-key="name"
|
|
123
|
+
v-bind="{ ...selectMenuProps, ...$attrs }"
|
|
76
124
|
:items="locales"
|
|
77
125
|
>
|
|
78
126
|
<template #leading>
|
|
@@ -1,16 +1,20 @@
|
|
|
1
1
|
import type { SelectMenuProps } from '../../types';
|
|
2
2
|
import type { Locale } from '../../types/locale';
|
|
3
|
-
export interface LocaleSelectProps extends
|
|
3
|
+
export interface LocaleSelectProps extends Omit<SelectMenuProps<Locale<any>[], 'code', false>, 'items' | 'modelValue'> {
|
|
4
4
|
locales?: Locale<any>[];
|
|
5
5
|
}
|
|
6
6
|
declare const __VLS_export: import("vue").DefineComponent<LocaleSelectProps & {
|
|
7
|
-
modelValue
|
|
7
|
+
modelValue: string;
|
|
8
8
|
}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
9
|
-
"update:modelValue": (value: string
|
|
9
|
+
"update:modelValue": (value: string) => any;
|
|
10
10
|
}, string, import("vue").PublicProps, Readonly<LocaleSelectProps & {
|
|
11
|
-
modelValue
|
|
11
|
+
modelValue: string;
|
|
12
12
|
}> & Readonly<{
|
|
13
|
-
"onUpdate:modelValue"?: ((value: string
|
|
14
|
-
}>, {
|
|
13
|
+
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
14
|
+
}>, {
|
|
15
|
+
valueKey: "code";
|
|
16
|
+
labelKey: string;
|
|
17
|
+
searchInput: boolean | import("../Input.vue").InputProps;
|
|
18
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
15
19
|
declare const _default: typeof __VLS_export;
|
|
16
20
|
export default _default;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * from "./defineLocale.js";
|
|
2
|
+
export * from "./defineShortcuts.js";
|
|
3
|
+
export * from "./useFileUpload.js";
|
|
4
|
+
export * from "./useKbd.js";
|
|
5
|
+
export * from "./useOverlay.js";
|
|
6
|
+
export * from "./useResizable.js";
|
|
7
|
+
export * from "./useScrollspy.js";
|
|
8
|
+
export * from "./useToast.js";
|
|
@@ -6,5 +6,5 @@ export declare const avatarGroupInjectionKey: InjectionKey<ComputedRef<{
|
|
|
6
6
|
export declare function useAvatarGroup(props: {
|
|
7
7
|
size: AvatarGroupProps['size'];
|
|
8
8
|
}): {
|
|
9
|
-
size: ComputedRef<"
|
|
9
|
+
size: ComputedRef<"md" | "3xs" | "2xs" | "xs" | "sm" | "lg" | "xl" | "2xl" | "3xl" | undefined>;
|
|
10
10
|
};
|
|
@@ -1,5 +1,10 @@
|
|
|
1
|
+
import type { ContentNavigationItem } from '@nuxt/content';
|
|
2
|
+
import type { ContentSearchFile, ContentSearchItem } from '../components/content/ContentSearch.vue';
|
|
1
3
|
declare function _useContentSearch(): {
|
|
2
4
|
open: import("vue").Ref<boolean, boolean>;
|
|
5
|
+
mapFile: (file: ContentSearchFile, link: ContentNavigationItem, parent?: ContentNavigationItem) => ContentSearchItem;
|
|
6
|
+
mapNavigationItems: (children: ContentNavigationItem[], files: ContentSearchFile[], parent?: ContentNavigationItem) => ContentSearchItem[];
|
|
7
|
+
postFilter: (query: string, items: ContentSearchItem[]) => ContentSearchItem[];
|
|
3
8
|
};
|
|
4
9
|
export declare const useContentSearch: typeof _useContentSearch;
|
|
5
10
|
export {};
|
|
@@ -1,9 +1,39 @@
|
|
|
1
1
|
import { ref } from "vue";
|
|
2
2
|
import { createSharedComposable } from "@vueuse/core";
|
|
3
|
+
import { useAppConfig } from "#imports";
|
|
3
4
|
function _useContentSearch() {
|
|
4
5
|
const open = ref(false);
|
|
6
|
+
const appConfig = useAppConfig();
|
|
7
|
+
function mapFile(file, link, parent) {
|
|
8
|
+
const prefix = [...new Set([parent?.title, ...file.titles].filter(Boolean))];
|
|
9
|
+
return {
|
|
10
|
+
prefix: prefix?.length ? prefix.join(" > ") + " >" : void 0,
|
|
11
|
+
label: file.id === link.path ? link.title : file.title,
|
|
12
|
+
suffix: file.content.replaceAll("<", "<").replaceAll(">", ">"),
|
|
13
|
+
to: file.id,
|
|
14
|
+
icon: link.icon || parent?.icon || (file.level > 1 ? appConfig.ui.icons.hash : appConfig.ui.icons.file),
|
|
15
|
+
level: file.level
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
function mapNavigationItems(children, files, parent) {
|
|
19
|
+
return children.flatMap((link) => {
|
|
20
|
+
if (link.children?.length) {
|
|
21
|
+
return mapNavigationItems(link.children, files, link);
|
|
22
|
+
}
|
|
23
|
+
return files?.filter((file) => file.id === link.path || file.id.startsWith(`${link.path}#`))?.map((file) => mapFile(file, link, parent)) || [];
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
function postFilter(query, items) {
|
|
27
|
+
if (!query) {
|
|
28
|
+
return items?.filter((item) => item.level === 1);
|
|
29
|
+
}
|
|
30
|
+
return items;
|
|
31
|
+
}
|
|
5
32
|
return {
|
|
6
|
-
open
|
|
33
|
+
open,
|
|
34
|
+
mapFile,
|
|
35
|
+
mapNavigationItems,
|
|
36
|
+
postFilter
|
|
7
37
|
};
|
|
8
38
|
}
|
|
9
39
|
export const useContentSearch = /* @__PURE__ */ createSharedComposable(_useContentSearch);
|
|
@@ -10,6 +10,6 @@ type Props<T> = {
|
|
|
10
10
|
};
|
|
11
11
|
export declare function useFieldGroup<T>(props: Props<T>): {
|
|
12
12
|
orientation: ComputedRef<"horizontal" | "vertical" | undefined>;
|
|
13
|
-
size: ComputedRef<"
|
|
13
|
+
size: ComputedRef<"md" | "xs" | "sm" | "lg" | "xl" | NonNullable<GetObjectField<T, "size">> | undefined>;
|
|
14
14
|
};
|
|
15
15
|
export {};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { ComponentPublicInstance } from 'vue';
|
|
1
2
|
import type { MaybeRef } from '@vueuse/core';
|
|
2
3
|
export interface UseFileUploadOptions {
|
|
3
4
|
/**
|
|
@@ -14,6 +15,6 @@ export interface UseFileUploadOptions {
|
|
|
14
15
|
export declare function useFileUpload(options: UseFileUploadOptions): {
|
|
15
16
|
isDragging: import("vue").Ref<boolean, boolean>;
|
|
16
17
|
open: () => void;
|
|
17
|
-
inputRef: import("vue").Ref<
|
|
18
|
+
inputRef: import("vue").Ref<ComponentPublicInstance | undefined, ComponentPublicInstance | undefined>;
|
|
18
19
|
dropzoneRef: import("vue").Ref<HTMLDivElement | undefined, HTMLDivElement | undefined>;
|
|
19
20
|
};
|
|
@@ -26,7 +26,7 @@ export function useFileUpload(options) {
|
|
|
26
26
|
const inputRef = ref();
|
|
27
27
|
const dropzoneRef = ref();
|
|
28
28
|
const dataTypes = computed(() => parseAcceptToDataTypes(unref(accept)));
|
|
29
|
-
const onDrop = (files) => {
|
|
29
|
+
const onDrop = (files, fromDropZone = false) => {
|
|
30
30
|
if (!files || files.length === 0) {
|
|
31
31
|
return;
|
|
32
32
|
}
|
|
@@ -36,6 +36,15 @@ export function useFileUpload(options) {
|
|
|
36
36
|
if (files.length > 1 && !multiple) {
|
|
37
37
|
files = [files[0]];
|
|
38
38
|
}
|
|
39
|
+
if (fromDropZone && inputRef.value?.$el) {
|
|
40
|
+
try {
|
|
41
|
+
const dt = new DataTransfer();
|
|
42
|
+
files.forEach((file) => dt.items.add(file));
|
|
43
|
+
inputRef.value.$el.files = dt.files;
|
|
44
|
+
} catch (e) {
|
|
45
|
+
console.warn("Could not sync files to input element:", e);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
39
48
|
onUpdate(files);
|
|
40
49
|
};
|
|
41
50
|
const isDragging = ref(false);
|
|
@@ -47,18 +56,18 @@ export function useFileUpload(options) {
|
|
|
47
56
|
fileDialog.open();
|
|
48
57
|
}
|
|
49
58
|
onMounted(() => {
|
|
50
|
-
const { isOverDropZone } = dropzone ? useDropZone(dropzoneRef, { dataTypes: dataTypes.value, onDrop }) : { isOverDropZone: ref(false) };
|
|
59
|
+
const { isOverDropZone } = dropzone ? useDropZone(dropzoneRef, { dataTypes: dataTypes.value, onDrop: (files) => onDrop(files, true) }) : { isOverDropZone: ref(false) };
|
|
51
60
|
watch(isOverDropZone, (value) => {
|
|
52
61
|
isDragging.value = value;
|
|
53
62
|
});
|
|
54
63
|
const { onChange, open: open2 } = useFileDialog({
|
|
55
64
|
accept: unref(accept),
|
|
56
65
|
multiple,
|
|
57
|
-
input: unref(inputRef),
|
|
66
|
+
input: unref(inputRef)?.$el,
|
|
58
67
|
reset
|
|
59
68
|
});
|
|
60
69
|
fileDialog.open = open2;
|
|
61
|
-
onChange((fileList) => onDrop(fileList));
|
|
70
|
+
onChange((fileList) => onDrop(fileList, false));
|
|
62
71
|
});
|
|
63
72
|
return {
|
|
64
73
|
isDragging,
|
|
@@ -28,7 +28,7 @@ export declare function useFormField<T>(props?: Props<T>, opts?: {
|
|
|
28
28
|
}): {
|
|
29
29
|
id: ComputedRef<string | undefined>;
|
|
30
30
|
name: ComputedRef<string | undefined>;
|
|
31
|
-
size: ComputedRef<"
|
|
31
|
+
size: ComputedRef<"md" | "xs" | "sm" | "lg" | "xl" | NonNullable<GetObjectField<T, "size">> | undefined>;
|
|
32
32
|
color: ComputedRef<"error" | GetObjectField<T, "color"> | undefined>;
|
|
33
33
|
highlight: ComputedRef<boolean | undefined>;
|
|
34
34
|
disabled: ComputedRef<boolean | undefined>;
|
package/dist/runtime/index.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@import "#build/ui.css";@import "./keyframes.css";@source "./components";@variant light (&:where(.light, .light *));@variant dark (&:where(.dark, .dark *));@layer
|
|
1
|
+
@import "#build/ui.css";@import "./keyframes.css";@source "./components";@variant light (&:where(.light, .light *));@variant dark (&:where(.dark, .dark *));@layer theme{:host,:root{--ui-header-height:--spacing(16)}.light,:host,:root{--ui-text-dimmed:var(--ui-color-neutral-400);--ui-text-muted:var(--ui-color-neutral-500);--ui-text-toned:var(--ui-color-neutral-600);--ui-text:var(--ui-color-neutral-700);--ui-text-highlighted:var(--ui-color-neutral-900);--ui-text-inverted:#fff;--ui-bg:#fff;--ui-bg-muted:var(--ui-color-neutral-50);--ui-bg-elevated:var(--ui-color-neutral-100);--ui-bg-accented:var(--ui-color-neutral-200);--ui-bg-inverted:var(--ui-color-neutral-900);--ui-border:var(--ui-color-neutral-200);--ui-border-muted:var(--ui-color-neutral-200);--ui-border-accented:var(--ui-color-neutral-300);--ui-border-inverted:var(--ui-color-neutral-900);--ui-radius:0.25rem;--ui-container:80rem}.dark{--ui-text-dimmed:var(--ui-color-neutral-500);--ui-text-muted:var(--ui-color-neutral-400);--ui-text-toned:var(--ui-color-neutral-300);--ui-text:var(--ui-color-neutral-200);--ui-text-highlighted:#fff;--ui-text-inverted:var(--ui-color-neutral-900);--ui-bg:var(--ui-color-neutral-900);--ui-bg-muted:var(--ui-color-neutral-800);--ui-bg-elevated:var(--ui-color-neutral-800);--ui-bg-accented:var(--ui-color-neutral-700);--ui-bg-inverted:#fff;--ui-border:var(--ui-color-neutral-800);--ui-border-muted:var(--ui-color-neutral-700);--ui-border-accented:var(--ui-color-neutral-700);--ui-border-inverted:#fff}}
|
|
@@ -1,6 +1,11 @@
|
|
|
1
|
-
import type { ButtonHTMLAttributes } from 'vue';
|
|
2
1
|
import type { InertiaLinkProps } from '@inertiajs/vue3';
|
|
3
|
-
|
|
2
|
+
import type { ButtonHTMLAttributes, AnchorHTMLAttributes } from '../../types/html';
|
|
3
|
+
export interface LinkProps extends Partial<Omit<InertiaLinkProps, 'href' | 'onClick'>>, /** @vue-ignore */ Omit<ButtonHTMLAttributes, 'type' | 'disabled'>, /** @vue-ignore */ Omit<AnchorHTMLAttributes, 'href' | 'target' | 'rel' | 'type'> {
|
|
4
|
+
/**
|
|
5
|
+
* The element or component this component should render as when not a link.
|
|
6
|
+
* @defaultValue 'button'
|
|
7
|
+
*/
|
|
8
|
+
as?: any;
|
|
4
9
|
activeClass?: string;
|
|
5
10
|
/**
|
|
6
11
|
* Route Location the link should navigate to when clicked on.
|
|
@@ -9,7 +14,7 @@ interface NuxtLinkProps extends Omit<InertiaLinkProps, 'href' | 'onClick'> {
|
|
|
9
14
|
/**
|
|
10
15
|
* An alias for `to`. If used with `to`, `href` will be ignored
|
|
11
16
|
*/
|
|
12
|
-
href?:
|
|
17
|
+
href?: LinkProps['to'];
|
|
13
18
|
/**
|
|
14
19
|
* Forces the link to be considered as external (true) or internal (false). This is helpful to handle edge-cases
|
|
15
20
|
*/
|
|
@@ -18,14 +23,16 @@ interface NuxtLinkProps extends Omit<InertiaLinkProps, 'href' | 'onClick'> {
|
|
|
18
23
|
* Where to display the linked URL, as the name for a browsing context.
|
|
19
24
|
*/
|
|
20
25
|
target?: '_blank' | '_parent' | '_self' | '_top' | (string & {}) | null;
|
|
21
|
-
ariaCurrentValue?: string;
|
|
22
|
-
}
|
|
23
|
-
export interface LinkProps extends NuxtLinkProps {
|
|
24
26
|
/**
|
|
25
|
-
*
|
|
26
|
-
* @defaultValue 'button'
|
|
27
|
+
* A rel attribute value to apply on the link. Defaults to "noopener noreferrer" for external links.
|
|
27
28
|
*/
|
|
28
|
-
|
|
29
|
+
rel?: 'noopener' | 'noreferrer' | 'nofollow' | 'sponsored' | 'ugc' | (string & {}) | null;
|
|
30
|
+
/**
|
|
31
|
+
* Value passed to the attribute `aria-current` when the link is exact active.
|
|
32
|
+
*
|
|
33
|
+
* @defaultValue `'page'`
|
|
34
|
+
*/
|
|
35
|
+
ariaCurrentValue?: 'page' | 'step' | 'location' | 'date' | 'time' | 'true' | 'false';
|
|
29
36
|
/**
|
|
30
37
|
* The type of the button when not a link.
|
|
31
38
|
* @defaultValue 'button'
|
|
@@ -51,8 +58,8 @@ export interface LinkSlots {
|
|
|
51
58
|
declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<LinkProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<LinkProps> & Readonly<{}>, {
|
|
52
59
|
type: "reset" | "submit" | "button";
|
|
53
60
|
as: any;
|
|
54
|
-
activeClass: string;
|
|
55
61
|
active: boolean;
|
|
62
|
+
activeClass: string;
|
|
56
63
|
inactiveClass: string;
|
|
57
64
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, LinkSlots>;
|
|
58
65
|
declare const _default: typeof __VLS_export;
|
|
@@ -15,6 +15,13 @@ import ULinkBase from "../../components/LinkBase.vue";
|
|
|
15
15
|
defineOptions({ inheritAttrs: false });
|
|
16
16
|
const props = defineProps({
|
|
17
17
|
as: { type: null, required: false, default: "button" },
|
|
18
|
+
activeClass: { type: String, required: false, default: "" },
|
|
19
|
+
to: { type: String, required: false },
|
|
20
|
+
href: { type: String, required: false },
|
|
21
|
+
external: { type: Boolean, required: false },
|
|
22
|
+
target: { type: [String, Object, null], required: false },
|
|
23
|
+
rel: { type: [String, Object, null], required: false },
|
|
24
|
+
ariaCurrentValue: { type: String, required: false },
|
|
18
25
|
type: { type: null, required: false, default: "button" },
|
|
19
26
|
disabled: { type: Boolean, required: false },
|
|
20
27
|
active: { type: Boolean, required: false, default: void 0 },
|
|
@@ -23,12 +30,6 @@ const props = defineProps({
|
|
|
23
30
|
custom: { type: Boolean, required: false },
|
|
24
31
|
raw: { type: Boolean, required: false },
|
|
25
32
|
class: { type: null, required: false },
|
|
26
|
-
activeClass: { type: String, required: false, default: "" },
|
|
27
|
-
to: { type: String, required: false },
|
|
28
|
-
href: { type: String, required: false },
|
|
29
|
-
external: { type: Boolean, required: false },
|
|
30
|
-
target: { type: [String, Object, null], required: false },
|
|
31
|
-
ariaCurrentValue: { type: String, required: false },
|
|
32
33
|
data: { type: null, required: false },
|
|
33
34
|
method: { type: String, required: false },
|
|
34
35
|
replace: { type: Boolean, required: false },
|
|
@@ -1,6 +1,11 @@
|
|
|
1
|
-
import type { ButtonHTMLAttributes } from 'vue';
|
|
2
1
|
import type { InertiaLinkProps } from '@inertiajs/vue3';
|
|
3
|
-
|
|
2
|
+
import type { ButtonHTMLAttributes, AnchorHTMLAttributes } from '../../types/html';
|
|
3
|
+
export interface LinkProps extends Partial<Omit<InertiaLinkProps, 'href' | 'onClick'>>, /** @vue-ignore */ Omit<ButtonHTMLAttributes, 'type' | 'disabled'>, /** @vue-ignore */ Omit<AnchorHTMLAttributes, 'href' | 'target' | 'rel' | 'type'> {
|
|
4
|
+
/**
|
|
5
|
+
* The element or component this component should render as when not a link.
|
|
6
|
+
* @defaultValue 'button'
|
|
7
|
+
*/
|
|
8
|
+
as?: any;
|
|
4
9
|
activeClass?: string;
|
|
5
10
|
/**
|
|
6
11
|
* Route Location the link should navigate to when clicked on.
|
|
@@ -9,7 +14,7 @@ interface NuxtLinkProps extends Omit<InertiaLinkProps, 'href' | 'onClick'> {
|
|
|
9
14
|
/**
|
|
10
15
|
* An alias for `to`. If used with `to`, `href` will be ignored
|
|
11
16
|
*/
|
|
12
|
-
href?:
|
|
17
|
+
href?: LinkProps['to'];
|
|
13
18
|
/**
|
|
14
19
|
* Forces the link to be considered as external (true) or internal (false). This is helpful to handle edge-cases
|
|
15
20
|
*/
|
|
@@ -18,14 +23,16 @@ interface NuxtLinkProps extends Omit<InertiaLinkProps, 'href' | 'onClick'> {
|
|
|
18
23
|
* Where to display the linked URL, as the name for a browsing context.
|
|
19
24
|
*/
|
|
20
25
|
target?: '_blank' | '_parent' | '_self' | '_top' | (string & {}) | null;
|
|
21
|
-
ariaCurrentValue?: string;
|
|
22
|
-
}
|
|
23
|
-
export interface LinkProps extends NuxtLinkProps {
|
|
24
26
|
/**
|
|
25
|
-
*
|
|
26
|
-
* @defaultValue 'button'
|
|
27
|
+
* A rel attribute value to apply on the link. Defaults to "noopener noreferrer" for external links.
|
|
27
28
|
*/
|
|
28
|
-
|
|
29
|
+
rel?: 'noopener' | 'noreferrer' | 'nofollow' | 'sponsored' | 'ugc' | (string & {}) | null;
|
|
30
|
+
/**
|
|
31
|
+
* Value passed to the attribute `aria-current` when the link is exact active.
|
|
32
|
+
*
|
|
33
|
+
* @defaultValue `'page'`
|
|
34
|
+
*/
|
|
35
|
+
ariaCurrentValue?: 'page' | 'step' | 'location' | 'date' | 'time' | 'true' | 'false';
|
|
29
36
|
/**
|
|
30
37
|
* The type of the button when not a link.
|
|
31
38
|
* @defaultValue 'button'
|
|
@@ -51,8 +58,8 @@ export interface LinkSlots {
|
|
|
51
58
|
declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<LinkProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<LinkProps> & Readonly<{}>, {
|
|
52
59
|
type: "reset" | "submit" | "button";
|
|
53
60
|
as: any;
|
|
54
|
-
activeClass: string;
|
|
55
61
|
active: boolean;
|
|
62
|
+
activeClass: string;
|
|
56
63
|
inactiveClass: string;
|
|
57
64
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, LinkSlots>;
|
|
58
65
|
declare const _default: typeof __VLS_export;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
@keyframes accordion-up{0%{height:var(--reka-accordion-content-height)}to{height:0}}@keyframes accordion-down{0%{height:0}to{height:var(--reka-accordion-content-height)}}@keyframes collapsible-up{0%{height:var(--reka-collapsible-content-height)}to{height:0}}@keyframes collapsible-down{0%{height:0}to{height:var(--reka-collapsible-content-height)}}@keyframes toast-collapsed-closed{0%{transform:var(--transform)}to{transform:translateY(calc((var(--before) - var(--height))*var(--gap))) scale(var(--scale))}}@keyframes toast-closed{0%{transform:var(--transform)}to{transform:translateY(calc((var(--offset) - var(--height))*var(--translate-factor)))}}@keyframes toast-slide-left{0%{transform:translateX(0) translateY(var(--translate))}to{transform:translateX(-100%) translateY(var(--translate))}}@keyframes toast-slide-right{0%{transform:translateX(0) translateY(var(--translate))}to{transform:translateX(100%) translateY(var(--translate))}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes scale-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}@keyframes slide-in-from-top{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes slide-out-to-top{0%{transform:translateY(0)}to{transform:translateY(-100%)}}@keyframes slide-in-from-right{0%{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes slide-out-to-right{0%{transform:translateX(0)}to{transform:translateX(100%)}}@keyframes slide-in-from-bottom{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slide-out-to-bottom{0%{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes slide-in-from-left{0%{transform:translateX(-100%)}to{transform:translateX(0)}}@keyframes slide-out-to-left{0%{transform:translateX(0)}to{transform:translateX(-100%)}}@keyframes slide-in-from-top-and-fade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-out-to-top-and-fade{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-4px)}}@keyframes slide-in-from-right-and-fade{0%{opacity:0;transform:translateX(4px)}to{opacity:1;transform:translateX(0)}}@keyframes slide-out-to-right-and-fade{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(4px)}}@keyframes slide-in-from-bottom-and-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-out-to-bottom-and-fade{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(4px)}}@keyframes slide-in-from-left-and-fade{0%{opacity:0;transform:translateX(-4px)}to{opacity:1;transform:translateX(0)}}@keyframes slide-out-to-left-and-fade{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-4px)}}@keyframes enter-from-right{0%{opacity:0;transform:translateX(200px)}to{opacity:1;transform:translateX(0)}}@keyframes enter-from-left{0%{opacity:0;transform:translateX(-200px)}to{opacity:1;transform:translateX(0)}}@keyframes exit-to-right{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(200px)}}@keyframes exit-to-left{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-200px)}}@keyframes carousel{0%,to{width:50%}0%{transform:translateX(-100%)}to{transform:translateX(200%)}}@keyframes carousel-rtl{0%,to{width:50%}0%{transform:translateX(100%)}to{transform:translateX(-200%)}}@keyframes carousel-vertical{0%,to{height:50%}0%{transform:translateY(-100%)}to{transform:translateY(200%)}}@keyframes carousel-inverse{0%,to{width:50%}0%{transform:translateX(200%)}to{transform:translateX(-100%)}}@keyframes carousel-inverse-rtl{0%,to{width:50%}0%{transform:translateX(-200%)}to{transform:translateX(100%)}}@keyframes carousel-inverse-vertical{0%,to{height:50%}0%{transform:translateY(200%)}to{transform:translateY(-100%)}}@keyframes swing{0%,to{width:50%}0%,to{transform:translateX(-25%)}50%{transform:translateX(125%)}}@keyframes swing-vertical{0%,to{height:50%}0%,to{transform:translateY(-25%)}50%{transform:translateY(125%)}}@keyframes elastic{0%,to{margin-left:25%;width:50%}50%{margin-left:5%;width:90%}}@keyframes elastic-vertical{0%,to{height:50%;margin-top:25%}50%{height:90%;margin-top:5%}}
|
|
1
|
+
@keyframes accordion-up{0%{height:var(--reka-accordion-content-height)}to{height:0}}@keyframes accordion-down{0%{height:0}to{height:var(--reka-accordion-content-height)}}@keyframes collapsible-up{0%{height:var(--reka-collapsible-content-height)}to{height:0}}@keyframes collapsible-down{0%{height:0}to{height:var(--reka-collapsible-content-height)}}@keyframes toast-collapsed-closed{0%{transform:var(--transform)}to{transform:translateY(calc((var(--before) - var(--height))*var(--gap))) scale(var(--scale))}}@keyframes toast-closed{0%{transform:var(--transform)}to{transform:translateY(calc((var(--offset) - var(--height))*var(--translate-factor)))}}@keyframes toast-slide-left{0%{transform:translateX(0) translateY(var(--translate))}to{transform:translateX(-100%) translateY(var(--translate))}}@keyframes toast-slide-right{0%{transform:translateX(0) translateY(var(--translate))}to{transform:translateX(100%) translateY(var(--translate))}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes scale-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}@keyframes slide-in-from-top{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes slide-out-to-top{0%{transform:translateY(0)}to{transform:translateY(-100%)}}@keyframes slide-in-from-right{0%{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes slide-out-to-right{0%{transform:translateX(0)}to{transform:translateX(100%)}}@keyframes slide-in-from-bottom{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slide-out-to-bottom{0%{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes slide-in-from-left{0%{transform:translateX(-100%)}to{transform:translateX(0)}}@keyframes slide-out-to-left{0%{transform:translateX(0)}to{transform:translateX(-100%)}}@keyframes slide-in-from-top-and-fade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-out-to-top-and-fade{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-4px)}}@keyframes slide-in-from-right-and-fade{0%{opacity:0;transform:translateX(4px)}to{opacity:1;transform:translateX(0)}}@keyframes slide-out-to-right-and-fade{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(4px)}}@keyframes slide-in-from-bottom-and-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-out-to-bottom-and-fade{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(4px)}}@keyframes slide-in-from-left-and-fade{0%{opacity:0;transform:translateX(-4px)}to{opacity:1;transform:translateX(0)}}@keyframes slide-out-to-left-and-fade{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-4px)}}@keyframes enter-from-right{0%{opacity:0;transform:translateX(200px)}to{opacity:1;transform:translateX(0)}}@keyframes enter-from-left{0%{opacity:0;transform:translateX(-200px)}to{opacity:1;transform:translateX(0)}}@keyframes exit-to-right{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(200px)}}@keyframes exit-to-left{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-200px)}}@keyframes carousel{0%,to{width:50%}0%{transform:translateX(-100%)}to{transform:translateX(200%)}}@keyframes carousel-rtl{0%,to{width:50%}0%{transform:translateX(100%)}to{transform:translateX(-200%)}}@keyframes carousel-vertical{0%,to{height:50%}0%{transform:translateY(-100%)}to{transform:translateY(200%)}}@keyframes carousel-inverse{0%,to{width:50%}0%{transform:translateX(200%)}to{transform:translateX(-100%)}}@keyframes carousel-inverse-rtl{0%,to{width:50%}0%{transform:translateX(-200%)}to{transform:translateX(100%)}}@keyframes carousel-inverse-vertical{0%,to{height:50%}0%{transform:translateY(200%)}to{transform:translateY(-100%)}}@keyframes swing{0%,to{width:50%}0%,to{transform:translateX(-25%)}50%{transform:translateX(125%)}}@keyframes swing-vertical{0%,to{height:50%}0%,to{transform:translateY(-25%)}50%{transform:translateY(125%)}}@keyframes elastic{0%,to{margin-left:25%;width:50%}50%{margin-left:5%;width:90%}}@keyframes elastic-vertical{0%,to{height:50%;margin-top:25%}50%{height:90%;margin-top:5%}}@keyframes marquee{0%{transform:translateZ(0)}to{transform:translate3d(calc(-100% - var(--gap)),0,0)}}@keyframes marquee-rtl{0%{transform:translateZ(0)}to{transform:translate3d(calc(100% + var(--gap)),0,0)}}@keyframes marquee-vertical{0%{transform:translateZ(0)}to{transform:translate3d(0,calc(-100% - var(--gap)),0)}}@keyframes marquee-vertical-rtl{0%{transform:translate3d(0,calc(-100% - var(--gap)),0)}to{transform:translate3d(0,calc(-100%*var(--gap)),0)}}
|