@bitrix24/b24ui-nuxt 2.3.0 → 2.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cli/package.json +1 -1
- package/dist/module.d.mts +2 -1
- package/dist/module.json +1 -1
- package/dist/module.mjs +3 -2
- package/dist/runtime/air-design-tokens/013_b24_mobile_light.css +1 -0
- package/dist/runtime/air-design-tokens/014_b24_mobile_dark.css +1 -0
- package/dist/runtime/air-design-tokens/015_b24_mobile_edge-light.css +1 -0
- package/dist/runtime/air-design-tokens/016_b24_mobile_edge-dark.css +1 -0
- package/dist/runtime/air-design-tokens/023_b24_desktop_light.css +1 -0
- package/dist/runtime/air-design-tokens/024_b24_desktop_dark.css +1 -0
- package/dist/runtime/air-design-tokens/025_b24_desktop_edge-light.css +1 -0
- package/dist/runtime/air-design-tokens/026_b24_desktop_edge-dark.css +1 -0
- package/dist/runtime/air-design-tokens/design-tokens/app.json +23812 -0
- package/dist/runtime/air-design-tokens/design-tokens/mobileapp.json +7476 -0
- package/dist/runtime/air-design-tokens/index.css +1 -1
- package/dist/runtime/components/Accordion.vue +11 -9
- package/dist/runtime/components/Advice.vue +13 -11
- package/dist/runtime/components/Alert.vue +11 -9
- package/dist/runtime/components/Avatar.vue +6 -4
- package/dist/runtime/components/AvatarGroup.vue +5 -3
- package/dist/runtime/components/Badge.vue +9 -7
- package/dist/runtime/components/Banner.vue +11 -9
- package/dist/runtime/components/Breadcrumb.vue +12 -10
- package/dist/runtime/components/Button.vue +14 -12
- package/dist/runtime/components/Calendar.vue +14 -12
- package/dist/runtime/components/Card.vue +6 -4
- package/dist/runtime/components/ChatMessage.vue +10 -8
- package/dist/runtime/components/ChatMessages.vue +14 -9
- package/dist/runtime/components/ChatPalette.vue +5 -3
- package/dist/runtime/components/ChatPrompt.vue +9 -6
- package/dist/runtime/components/ChatPromptSubmit.d.vue.ts +4 -4
- package/dist/runtime/components/ChatPromptSubmit.vue +4 -2
- package/dist/runtime/components/ChatPromptSubmit.vue.d.ts +4 -4
- package/dist/runtime/components/Checkbox.vue +18 -11
- package/dist/runtime/components/CheckboxGroup.d.vue.ts +2 -2
- package/dist/runtime/components/CheckboxGroup.vue +7 -5
- package/dist/runtime/components/CheckboxGroup.vue.d.ts +2 -2
- package/dist/runtime/components/Chip.d.vue.ts +1 -1
- package/dist/runtime/components/Chip.vue +5 -3
- package/dist/runtime/components/Chip.vue.d.ts +1 -1
- package/dist/runtime/components/Collapsible.vue +4 -2
- package/dist/runtime/components/ColorPicker.vue +9 -7
- package/dist/runtime/components/CommandPalette.d.vue.ts +4 -4
- package/dist/runtime/components/CommandPalette.vue +33 -31
- package/dist/runtime/components/CommandPalette.vue.d.ts +4 -4
- package/dist/runtime/components/Container.d.vue.ts +3 -0
- package/dist/runtime/components/Container.vue +5 -2
- package/dist/runtime/components/Container.vue.d.ts +3 -0
- package/dist/runtime/components/ContextMenu.vue +4 -2
- package/dist/runtime/components/Countdown.vue +11 -9
- package/dist/runtime/components/DashboardGroup.d.vue.ts +7 -2
- package/dist/runtime/components/DashboardGroup.vue +15 -11
- package/dist/runtime/components/DashboardGroup.vue.d.ts +7 -2
- package/dist/runtime/components/DashboardNavbar.d.vue.ts +59 -0
- package/dist/runtime/components/DashboardNavbar.vue +79 -0
- package/dist/runtime/components/DashboardNavbar.vue.d.ts +59 -0
- package/dist/runtime/components/DashboardPanel.d.vue.ts +31 -0
- package/dist/runtime/components/DashboardPanel.vue +66 -0
- package/dist/runtime/components/DashboardPanel.vue.d.ts +31 -0
- package/dist/runtime/components/DashboardResizeHandle.d.vue.ts +22 -0
- package/dist/runtime/components/DashboardResizeHandle.vue +30 -0
- package/dist/runtime/components/DashboardResizeHandle.vue.d.ts +22 -0
- package/dist/runtime/components/DashboardSearch.vue +5 -2
- package/dist/runtime/components/DashboardSearchButton.d.vue.ts +2 -2
- package/dist/runtime/components/DashboardSearchButton.vue +10 -6
- package/dist/runtime/components/DashboardSearchButton.vue.d.ts +2 -2
- package/dist/runtime/components/DashboardSidebar.d.vue.ts +89 -0
- package/dist/runtime/components/DashboardSidebar.vue +169 -0
- package/dist/runtime/components/DashboardSidebar.vue.d.ts +89 -0
- package/dist/runtime/components/DashboardSidebarCollapse.d.vue.ts +21 -0
- package/dist/runtime/components/DashboardSidebarCollapse.vue +64 -0
- package/dist/runtime/components/DashboardSidebarCollapse.vue.d.ts +21 -0
- package/dist/runtime/components/DashboardSidebarToggle.d.vue.ts +21 -0
- package/dist/runtime/components/DashboardSidebarToggle.vue +65 -0
- package/dist/runtime/components/DashboardSidebarToggle.vue.d.ts +21 -0
- package/dist/runtime/components/DashboardToolbar.d.vue.ts +26 -0
- package/dist/runtime/components/DashboardToolbar.vue +34 -0
- package/dist/runtime/components/DashboardToolbar.vue.d.ts +26 -0
- package/dist/runtime/components/DescriptionList.vue +15 -13
- package/dist/runtime/components/Drawer.d.vue.ts +100 -0
- package/dist/runtime/components/Drawer.vue +133 -0
- package/dist/runtime/components/Drawer.vue.d.ts +100 -0
- package/dist/runtime/components/DropdownMenu.vue +6 -9
- package/dist/runtime/components/DropdownMenuContent.vue +3 -1
- package/dist/runtime/components/Editor.d.vue.ts +2 -1
- package/dist/runtime/components/Editor.vue +15 -3
- package/dist/runtime/components/Editor.vue.d.ts +2 -1
- package/dist/runtime/components/EditorDragHandle.d.vue.ts +2 -2
- package/dist/runtime/components/EditorDragHandle.vue +5 -3
- package/dist/runtime/components/EditorDragHandle.vue.d.ts +2 -2
- package/dist/runtime/components/EditorMentionMenu.vue +4 -1
- package/dist/runtime/components/EditorToolbar.vue +6 -4
- package/dist/runtime/components/Empty.vue +11 -9
- package/dist/runtime/components/Error.vue +7 -5
- package/dist/runtime/components/FieldGroup.d.vue.ts +3 -1
- package/dist/runtime/components/FieldGroup.vue +3 -1
- package/dist/runtime/components/FieldGroup.vue.d.ts +3 -1
- package/dist/runtime/components/FileUpload.vue +17 -15
- package/dist/runtime/components/Footer.d.vue.ts +30 -0
- package/dist/runtime/components/Footer.vue +47 -0
- package/dist/runtime/components/Footer.vue.d.ts +30 -0
- package/dist/runtime/components/FooterColumns.d.vue.ts +69 -0
- package/dist/runtime/components/FooterColumns.vue +83 -0
- package/dist/runtime/components/FooterColumns.vue.d.ts +69 -0
- package/dist/runtime/components/Form.d.vue.ts +3 -0
- package/dist/runtime/components/Form.vue +10 -2
- package/dist/runtime/components/Form.vue.d.ts +3 -0
- package/dist/runtime/components/FormField.vue +12 -10
- package/dist/runtime/components/Header.d.vue.ts +81 -0
- package/dist/runtime/components/Header.vue +147 -0
- package/dist/runtime/components/Header.vue.d.ts +81 -0
- package/dist/runtime/components/Input.d.vue.ts +53 -11
- package/dist/runtime/components/Input.vue +16 -12
- package/dist/runtime/components/Input.vue.d.ts +53 -11
- package/dist/runtime/components/InputDate.d.vue.ts +4 -1
- package/dist/runtime/components/InputDate.vue +19 -12
- package/dist/runtime/components/InputDate.vue.d.ts +4 -1
- package/dist/runtime/components/InputMenu.d.vue.ts +154 -26
- package/dist/runtime/components/InputMenu.vue +53 -61
- package/dist/runtime/components/InputMenu.vue.d.ts +154 -26
- package/dist/runtime/components/InputNumber.d.vue.ts +15 -14
- package/dist/runtime/components/InputNumber.vue +19 -11
- package/dist/runtime/components/InputNumber.vue.d.ts +15 -14
- package/dist/runtime/components/InputTags.d.vue.ts +2 -0
- package/dist/runtime/components/InputTags.vue +17 -13
- package/dist/runtime/components/InputTags.vue.d.ts +2 -0
- package/dist/runtime/components/InputTime.d.vue.ts +4 -1
- package/dist/runtime/components/InputTime.vue +17 -10
- package/dist/runtime/components/InputTime.vue.d.ts +4 -1
- package/dist/runtime/components/Kbd.d.vue.ts +1 -0
- package/dist/runtime/components/Kbd.vue +5 -2
- package/dist/runtime/components/Kbd.vue.d.ts +1 -0
- package/dist/runtime/components/Link.d.vue.ts +1 -1
- package/dist/runtime/components/Link.vue +7 -7
- package/dist/runtime/components/Link.vue.d.ts +1 -1
- package/dist/runtime/components/LinkBase.d.vue.ts +1 -1
- package/dist/runtime/components/LinkBase.vue.d.ts +1 -1
- package/dist/runtime/components/Main.d.vue.ts +24 -0
- package/dist/runtime/components/Main.vue +26 -0
- package/dist/runtime/components/Main.vue.d.ts +24 -0
- package/dist/runtime/components/Modal.d.vue.ts +6 -6
- package/dist/runtime/components/Modal.vue +14 -12
- package/dist/runtime/components/Modal.vue.d.ts +6 -6
- package/dist/runtime/components/Navbar.vue +3 -1
- package/dist/runtime/components/NavbarDivider.vue +3 -1
- package/dist/runtime/components/NavbarSection.vue +3 -1
- package/dist/runtime/components/NavbarSpacer.vue +3 -1
- package/dist/runtime/components/NavigationMenu.d.vue.ts +18 -19
- package/dist/runtime/components/NavigationMenu.vue +125 -65
- package/dist/runtime/components/NavigationMenu.vue.d.ts +18 -19
- package/dist/runtime/components/Page.d.vue.ts +26 -0
- package/dist/runtime/components/Page.vue +39 -0
- package/dist/runtime/components/Page.vue.d.ts +26 -0
- package/dist/runtime/components/PageAside.d.vue.ts +28 -0
- package/dist/runtime/components/PageAside.vue +38 -0
- package/dist/runtime/components/PageAside.vue.d.ts +28 -0
- package/dist/runtime/components/PageBody.d.vue.ts +22 -0
- package/dist/runtime/components/PageBody.vue +26 -0
- package/dist/runtime/components/PageBody.vue.d.ts +22 -0
- package/dist/runtime/components/PageCard.vue +12 -10
- package/dist/runtime/components/PageColumns.d.vue.ts +3 -0
- package/dist/runtime/components/PageColumns.vue +5 -2
- package/dist/runtime/components/PageColumns.vue.d.ts +3 -0
- package/dist/runtime/components/PageFeature.d.vue.ts +47 -0
- package/dist/runtime/components/PageFeature.vue +79 -0
- package/dist/runtime/components/PageFeature.vue.d.ts +47 -0
- package/dist/runtime/components/PageGrid.d.vue.ts +3 -0
- package/dist/runtime/components/PageGrid.vue +5 -2
- package/dist/runtime/components/PageGrid.vue.d.ts +3 -0
- package/dist/runtime/components/PageHeader.d.vue.ts +37 -0
- package/dist/runtime/components/PageHeader.vue +67 -0
- package/dist/runtime/components/PageHeader.vue.d.ts +37 -0
- package/dist/runtime/components/PageLinks.vue +11 -9
- package/dist/runtime/components/PageList.d.vue.ts +3 -0
- package/dist/runtime/components/PageList.vue +5 -2
- package/dist/runtime/components/PageList.vue.d.ts +3 -0
- package/dist/runtime/components/PageSection.d.vue.ts +71 -0
- package/dist/runtime/components/PageSection.vue +110 -0
- package/dist/runtime/components/PageSection.vue.d.ts +71 -0
- package/dist/runtime/components/Pagination.d.vue.ts +2 -2
- package/dist/runtime/components/Pagination.vue +10 -8
- package/dist/runtime/components/Pagination.vue.d.ts +2 -2
- package/dist/runtime/components/PinInput.d.vue.ts +4 -1
- package/dist/runtime/components/PinInput.vue +10 -3
- package/dist/runtime/components/PinInput.vue.d.ts +4 -1
- package/dist/runtime/components/Popover.vue +4 -2
- package/dist/runtime/components/Progress.vue +8 -6
- package/dist/runtime/components/RadioGroup.d.vue.ts +2 -2
- package/dist/runtime/components/RadioGroup.vue +12 -10
- package/dist/runtime/components/RadioGroup.vue.d.ts +2 -2
- package/dist/runtime/components/Range.vue +7 -5
- package/dist/runtime/components/ScrollArea.d.vue.ts +7 -0
- package/dist/runtime/components/ScrollArea.vue +34 -10
- package/dist/runtime/components/ScrollArea.vue.d.ts +7 -0
- package/dist/runtime/components/Select.d.vue.ts +64 -20
- package/dist/runtime/components/Select.vue +35 -36
- package/dist/runtime/components/Select.vue.d.ts +64 -20
- package/dist/runtime/components/SelectMenu.d.vue.ts +116 -31
- package/dist/runtime/components/SelectMenu.vue +56 -60
- package/dist/runtime/components/SelectMenu.vue.d.ts +116 -31
- package/dist/runtime/components/Separator.d.vue.ts +2 -2
- package/dist/runtime/components/Separator.vue +9 -7
- package/dist/runtime/components/Separator.vue.d.ts +2 -2
- package/dist/runtime/components/Sidebar.vue +3 -1
- package/dist/runtime/components/SidebarBody.d.vue.ts +0 -3
- package/dist/runtime/components/SidebarBody.vue +3 -1
- package/dist/runtime/components/SidebarBody.vue.d.ts +0 -3
- package/dist/runtime/components/SidebarFooter.d.vue.ts +0 -3
- package/dist/runtime/components/SidebarFooter.vue +3 -1
- package/dist/runtime/components/SidebarFooter.vue.d.ts +0 -3
- package/dist/runtime/components/SidebarHeader.d.vue.ts +0 -3
- package/dist/runtime/components/SidebarHeader.vue +3 -1
- package/dist/runtime/components/SidebarHeader.vue.d.ts +0 -3
- package/dist/runtime/components/SidebarHeading.d.vue.ts +0 -3
- package/dist/runtime/components/SidebarHeading.vue +3 -1
- package/dist/runtime/components/SidebarHeading.vue.d.ts +0 -3
- package/dist/runtime/components/SidebarLayout.d.vue.ts +1 -1
- package/dist/runtime/components/SidebarLayout.vue +21 -19
- package/dist/runtime/components/SidebarLayout.vue.d.ts +1 -1
- package/dist/runtime/components/SidebarSection.d.vue.ts +0 -3
- package/dist/runtime/components/SidebarSection.vue +3 -1
- package/dist/runtime/components/SidebarSection.vue.d.ts +0 -3
- package/dist/runtime/components/SidebarSpacer.d.vue.ts +0 -3
- package/dist/runtime/components/SidebarSpacer.vue +3 -1
- package/dist/runtime/components/SidebarSpacer.vue.d.ts +0 -3
- package/dist/runtime/components/Skeleton.vue +3 -1
- package/dist/runtime/components/Slideover.d.vue.ts +3 -3
- package/dist/runtime/components/Slideover.vue +19 -17
- package/dist/runtime/components/Slideover.vue.d.ts +3 -3
- package/dist/runtime/components/Stepper.vue +14 -12
- package/dist/runtime/components/Switch.vue +19 -13
- package/dist/runtime/components/Table.vue +25 -23
- package/dist/runtime/components/TableWrapper.vue +3 -1
- package/dist/runtime/components/Tabs.d.vue.ts +2 -1
- package/dist/runtime/components/Tabs.vue +17 -12
- package/dist/runtime/components/Tabs.vue.d.ts +2 -1
- package/dist/runtime/components/Textarea.d.vue.ts +53 -11
- package/dist/runtime/components/Textarea.vue +18 -14
- package/dist/runtime/components/Textarea.vue.d.ts +53 -11
- package/dist/runtime/components/Theme.d.vue.ts +17 -0
- package/dist/runtime/components/Theme.vue +17 -0
- package/dist/runtime/components/Theme.vue.d.ts +17 -0
- package/dist/runtime/components/Timeline.vue +11 -9
- package/dist/runtime/components/Toast.vue +15 -15
- package/dist/runtime/components/Toaster.d.vue.ts +1 -1
- package/dist/runtime/components/Toaster.vue +6 -3
- package/dist/runtime/components/Toaster.vue.d.ts +1 -1
- package/dist/runtime/components/Tooltip.vue +8 -6
- package/dist/runtime/components/User.vue +8 -6
- package/dist/runtime/components/color-mode/ColorModeButton.d.vue.ts +1 -1
- package/dist/runtime/components/color-mode/ColorModeButton.vue +4 -2
- package/dist/runtime/components/color-mode/ColorModeButton.vue.d.ts +1 -1
- package/dist/runtime/components/color-mode/ColorModeImage.vue +8 -3
- package/dist/runtime/components/color-mode/ColorModeSelect.vue +1 -1
- package/dist/runtime/components/content/ContentSearch.vue +5 -2
- package/dist/runtime/components/content/ContentSearchButton.d.vue.ts +2 -2
- package/dist/runtime/components/content/ContentSearchButton.vue +5 -3
- package/dist/runtime/components/content/ContentSearchButton.vue.d.ts +2 -2
- package/dist/runtime/components/content/ContentSurround.vue +8 -6
- package/dist/runtime/components/content/ContentToc.vue +15 -13
- package/dist/runtime/components/locale/LocaleSelect.d.vue.ts +1 -1
- package/dist/runtime/components/locale/LocaleSelect.vue +1 -1
- package/dist/runtime/components/locale/LocaleSelect.vue.d.ts +1 -1
- package/dist/runtime/components/prose/A.vue +3 -1
- package/dist/runtime/components/prose/Accordion.vue +3 -1
- package/dist/runtime/components/prose/AccordionItem.d.vue.ts +3 -0
- package/dist/runtime/components/prose/AccordionItem.vue +5 -2
- package/dist/runtime/components/prose/AccordionItem.vue.d.ts +3 -0
- package/dist/runtime/components/prose/Badge.d.vue.ts +3 -0
- package/dist/runtime/components/prose/Badge.vue +5 -2
- package/dist/runtime/components/prose/Badge.vue.d.ts +3 -0
- package/dist/runtime/components/prose/Blockquote.d.vue.ts +0 -3
- package/dist/runtime/components/prose/Blockquote.vue +3 -1
- package/dist/runtime/components/prose/Blockquote.vue.d.ts +0 -3
- package/dist/runtime/components/prose/Callout.vue +5 -3
- package/dist/runtime/components/prose/Card.vue +7 -5
- package/dist/runtime/components/prose/CardGroup.d.vue.ts +3 -0
- package/dist/runtime/components/prose/CardGroup.vue +5 -2
- package/dist/runtime/components/prose/CardGroup.vue.d.ts +3 -0
- package/dist/runtime/components/prose/Code.vue +3 -1
- package/dist/runtime/components/prose/CodeCollapse.vue +6 -4
- package/dist/runtime/components/prose/CodeGroup.vue +8 -6
- package/dist/runtime/components/prose/CodePreview.vue +5 -3
- package/dist/runtime/components/prose/Collapsible.vue +6 -4
- package/dist/runtime/components/prose/Em.d.vue.ts +0 -3
- package/dist/runtime/components/prose/Em.vue +3 -1
- package/dist/runtime/components/prose/Em.vue.d.ts +0 -3
- package/dist/runtime/components/prose/Field.vue +9 -7
- package/dist/runtime/components/prose/FieldGroup.d.vue.ts +3 -0
- package/dist/runtime/components/prose/FieldGroup.vue +5 -2
- package/dist/runtime/components/prose/FieldGroup.vue.d.ts +3 -0
- package/dist/runtime/components/prose/H1.vue +4 -2
- package/dist/runtime/components/prose/H2.vue +6 -4
- package/dist/runtime/components/prose/H3.vue +6 -4
- package/dist/runtime/components/prose/H4.vue +6 -4
- package/dist/runtime/components/prose/H5.vue +3 -1
- package/dist/runtime/components/prose/H6.vue +3 -1
- package/dist/runtime/components/prose/Hr.d.vue.ts +0 -6
- package/dist/runtime/components/prose/Hr.vue +3 -1
- package/dist/runtime/components/prose/Hr.vue.d.ts +0 -6
- package/dist/runtime/components/prose/Img.vue +9 -8
- package/dist/runtime/components/prose/Kbd.d.vue.ts +3 -0
- package/dist/runtime/components/prose/Kbd.vue +5 -2
- package/dist/runtime/components/prose/Kbd.vue.d.ts +3 -0
- package/dist/runtime/components/prose/Li.d.vue.ts +0 -3
- package/dist/runtime/components/prose/Li.vue +3 -1
- package/dist/runtime/components/prose/Li.vue.d.ts +0 -3
- package/dist/runtime/components/prose/Ol.d.vue.ts +0 -3
- package/dist/runtime/components/prose/Ol.vue +3 -1
- package/dist/runtime/components/prose/Ol.vue.d.ts +0 -3
- package/dist/runtime/components/prose/P.vue +3 -1
- package/dist/runtime/components/prose/Pre.vue +8 -6
- package/dist/runtime/components/prose/Steps.d.vue.ts +3 -0
- package/dist/runtime/components/prose/Steps.vue +5 -2
- package/dist/runtime/components/prose/Steps.vue.d.ts +3 -0
- package/dist/runtime/components/prose/Strong.d.vue.ts +0 -3
- package/dist/runtime/components/prose/Strong.vue +3 -1
- package/dist/runtime/components/prose/Strong.vue.d.ts +0 -3
- package/dist/runtime/components/prose/Table.vue +4 -2
- package/dist/runtime/components/prose/Tabs.vue +3 -1
- package/dist/runtime/components/prose/TabsItem.d.vue.ts +3 -0
- package/dist/runtime/components/prose/TabsItem.vue +5 -2
- package/dist/runtime/components/prose/TabsItem.vue.d.ts +3 -0
- package/dist/runtime/components/prose/Tbody.d.vue.ts +0 -3
- package/dist/runtime/components/prose/Tbody.vue +3 -1
- package/dist/runtime/components/prose/Tbody.vue.d.ts +0 -3
- package/dist/runtime/components/prose/Td.vue +3 -1
- package/dist/runtime/components/prose/Th.vue +3 -1
- package/dist/runtime/components/prose/Thead.d.vue.ts +0 -3
- package/dist/runtime/components/prose/Thead.vue +3 -1
- package/dist/runtime/components/prose/Thead.vue.d.ts +0 -3
- package/dist/runtime/components/prose/Tr.d.vue.ts +0 -3
- package/dist/runtime/components/prose/Tr.vue +3 -1
- package/dist/runtime/components/prose/Tr.vue.d.ts +0 -3
- package/dist/runtime/components/prose/Ul.d.vue.ts +0 -3
- package/dist/runtime/components/prose/Ul.vue +3 -1
- package/dist/runtime/components/prose/Ul.vue.d.ts +0 -3
- package/dist/runtime/composables/color-mode/useColorMode.d.ts +6 -0
- package/dist/runtime/composables/color-mode/useColorMode.js +15 -6
- package/dist/runtime/composables/defineShortcuts.js +4 -1
- package/dist/runtime/composables/internal/useFilter.d.ts +9 -0
- package/dist/runtime/composables/internal/useFilter.js +60 -0
- package/dist/runtime/composables/useAvatarGroup.d.ts +1 -1
- package/dist/runtime/composables/useComponentUI.d.ts +33 -0
- package/dist/runtime/composables/useComponentUI.js +13 -0
- package/dist/runtime/composables/useEditorMenu.d.ts +11 -0
- package/dist/runtime/composables/useEditorMenu.js +144 -166
- package/dist/runtime/composables/useFieldGroup.d.ts +1 -1
- package/dist/runtime/composables/useFormField.d.ts +1 -1
- package/dist/runtime/composables/useLoading.d.ts +3 -0
- package/dist/runtime/composables/useResizable.d.ts +1 -1
- package/dist/runtime/composables/useResizable.js +1 -1
- package/dist/runtime/composables/useToast.d.ts +4 -0
- package/dist/runtime/composables/useToast.js +25 -1
- package/dist/runtime/dictionary/icons.d.ts +3 -0
- package/dist/runtime/dictionary/icons.js +7 -1
- package/dist/runtime/index.css +1 -1
- package/dist/runtime/keyframes.css +1 -1
- package/dist/runtime/plugins/platform.d.ts +34 -0
- package/dist/runtime/plugins/platform.js +31 -0
- package/dist/runtime/plugins/ui-version.d.ts +1 -1
- package/dist/runtime/types/color-mode.d.ts +1 -1
- package/dist/runtime/types/index.d.ts +19 -0
- package/dist/runtime/types/index.js +19 -0
- package/dist/runtime/types/input.d.ts +16 -6
- package/dist/runtime/types/utils.d.ts +10 -8
- package/dist/runtime/utils/dashboard.d.ts +4 -5
- package/dist/runtime/utils/dashboard.js +1 -1
- package/dist/runtime/utils/index.d.ts +2 -1
- package/dist/runtime/utils/index.js +11 -1
- package/dist/runtime/vue/components/color-mode/ColorModeSelect.vue +1 -1
- package/dist/runtime/vue/overrides/inertia/Link.d.vue.ts +1 -1
- package/dist/runtime/vue/overrides/inertia/Link.vue.d.ts +1 -1
- package/dist/runtime/vue/overrides/inertia/LinkBase.d.vue.ts +1 -1
- package/dist/runtime/vue/overrides/inertia/LinkBase.vue.d.ts +1 -1
- package/dist/runtime/vue/overrides/none/Link.d.vue.ts +1 -1
- package/dist/runtime/vue/overrides/none/Link.vue.d.ts +1 -1
- package/dist/runtime/vue/overrides/vue-router/Link.d.vue.ts +1 -1
- package/dist/runtime/vue/overrides/vue-router/Link.vue.d.ts +1 -1
- package/dist/runtime/vue/stubs/base.d.ts +9 -13
- package/dist/runtime/vue/stubs/base.js +11 -33
- package/dist/shared/{b24ui-nuxt.DEyBXBFe.mjs → b24ui-nuxt.DstlkmYO.mjs} +653 -51
- package/dist/unplugin.d.mts +2 -1
- package/dist/unplugin.mjs +2 -1
- package/dist/vite.mjs +1 -1
- package/package.json +50 -52
|
@@ -3,9 +3,9 @@ import type { AppConfig } from '@nuxt/schema';
|
|
|
3
3
|
import theme from '#build/b24ui/input-menu';
|
|
4
4
|
import type { UseComponentIconsProps } from '../composables/useComponentIcons';
|
|
5
5
|
import type { AvatarProps, ButtonProps, ChipProps, LinkPropsKeys, BadgeProps, IconComponent } from '../types';
|
|
6
|
-
import type { ModelModifiers } from '../types/input';
|
|
6
|
+
import type { ModelModifiers, ApplyModifiers } from '../types/input';
|
|
7
7
|
import type { InputHTMLAttributes } from '../types/html';
|
|
8
|
-
import type { AcceptableValue, ArrayOrNested, GetItemKeys, GetModelValue,
|
|
8
|
+
import type { AcceptableValue, ArrayOrNested, GetItemKeys, GetModelValue, NestedItem, EmitsToProps } from '../types/utils';
|
|
9
9
|
import type { ComponentConfig } from '../types/tv';
|
|
10
10
|
type InputMenu = ComponentConfig<typeof theme, AppConfig, 'inputMenu'>;
|
|
11
11
|
export type InputMenuValue = AcceptableValue;
|
|
@@ -30,7 +30,11 @@ export type InputMenuItem = InputMenuValue | {
|
|
|
30
30
|
b24ui?: Pick<InputMenu['slots'], 'tagsItem' | 'tagsItemText' | 'tagsItemDelete' | 'tagsItemDeleteIcon' | 'label' | 'separator' | 'item' | 'itemLeadingIcon' | 'itemLeadingAvatarSize' | 'itemLeadingAvatar' | 'itemLeadingChip' | 'itemLeadingChipSize' | 'itemWrapper' | 'itemLabel' | 'itemDescription' | 'itemTrailing' | 'itemTrailingIcon'>;
|
|
31
31
|
[key: string]: any;
|
|
32
32
|
};
|
|
33
|
-
|
|
33
|
+
type ExcludeItem = {
|
|
34
|
+
type: 'label' | 'separator';
|
|
35
|
+
};
|
|
36
|
+
type IsClearUsed<M extends boolean, C extends boolean | object> = M extends false ? (C extends true ? null : C extends object ? null : never) : never;
|
|
37
|
+
export interface InputMenuProps<T extends ArrayOrNested<InputMenuItem> = ArrayOrNested<InputMenuItem>, VK extends GetItemKeys<T> | undefined = undefined, M extends boolean = false, Mod extends Omit<ModelModifiers, 'lazy'> = Omit<ModelModifiers, 'lazy'>, C extends boolean | object = false> extends Pick<ComboboxRootProps<T>, 'open' | 'defaultOpen' | 'disabled' | 'name' | 'resetSearchTermOnBlur' | 'resetSearchTermOnSelect' | 'resetModelValueOnClear' | 'highlightOnHover' | 'openOnClick' | 'openOnFocus' | 'by'>, UseComponentIconsProps, /** @vue-ignore */ Omit<InputHTMLAttributes, 'disabled' | 'name' | 'type' | 'placeholder' | 'autofocus' | 'maxlength' | 'minlength' | 'pattern' | 'size' | 'min' | 'max' | 'step'> {
|
|
34
38
|
/**
|
|
35
39
|
* The element or component this component should render as.
|
|
36
40
|
* @defaultValue 'div'
|
|
@@ -90,11 +94,11 @@ export interface InputMenuProps<T extends ArrayOrNested<InputMenuItem> = ArrayOr
|
|
|
90
94
|
* Can be an object to pass additional props to the Button.
|
|
91
95
|
* @defaultValue false
|
|
92
96
|
*/
|
|
93
|
-
clear?: boolean | Partial<Omit<ButtonProps, LinkPropsKeys
|
|
97
|
+
clear?: (C & boolean) | (C & Partial<Omit<ButtonProps, LinkPropsKeys>>);
|
|
94
98
|
/**
|
|
95
99
|
* The icon displayed in the clear button.
|
|
96
100
|
* @defaultValue icons.close
|
|
97
|
-
* @
|
|
101
|
+
* @IconComponent
|
|
98
102
|
*/
|
|
99
103
|
clearIcon?: IconComponent;
|
|
100
104
|
/**
|
|
@@ -146,10 +150,10 @@ export interface InputMenuProps<T extends ArrayOrNested<InputMenuItem> = ArrayOr
|
|
|
146
150
|
descriptionKey?: GetItemKeys<T>;
|
|
147
151
|
items?: T;
|
|
148
152
|
/** The value of the InputMenu when initially rendered. Use when you do not need to control the state of the InputMenu. */
|
|
149
|
-
defaultValue?: GetModelValue<T, VK, M>;
|
|
153
|
+
defaultValue?: ApplyModifiers<GetModelValue<T, VK, M, ExcludeItem>, Mod> | IsClearUsed<M, C>;
|
|
150
154
|
/** The controlled value of the InputMenu. Can be binded-with with `v-model`. */
|
|
151
|
-
modelValue?: GetModelValue<T, VK, M>;
|
|
152
|
-
modelModifiers?:
|
|
155
|
+
modelValue?: ApplyModifiers<GetModelValue<T, VK, M, ExcludeItem>, Mod> | IsClearUsed<M, C>;
|
|
156
|
+
modelModifiers?: Mod;
|
|
153
157
|
/** Whether multiple options can be selected or not. */
|
|
154
158
|
multiple?: M & boolean;
|
|
155
159
|
tag?: string;
|
|
@@ -159,6 +163,8 @@ export interface InputMenuProps<T extends ArrayOrNested<InputMenuItem> = ArrayOr
|
|
|
159
163
|
tagColor?: BadgeProps['color'];
|
|
160
164
|
/** Highlight the ring color like a focus state. */
|
|
161
165
|
highlight?: boolean;
|
|
166
|
+
/** Keep the mobile text size on all breakpoints. (Left for backward compatibility.) */
|
|
167
|
+
fixed?: boolean;
|
|
162
168
|
/**
|
|
163
169
|
* Determines if custom user input that does not exist in options can be added.
|
|
164
170
|
* @defaultValue false
|
|
@@ -180,7 +186,7 @@ export interface InputMenuProps<T extends ArrayOrNested<InputMenuItem> = ArrayOr
|
|
|
180
186
|
class?: any;
|
|
181
187
|
b24ui?: InputMenu['slots'];
|
|
182
188
|
}
|
|
183
|
-
export
|
|
189
|
+
export interface InputMenuEmits<A extends ArrayOrNested<InputMenuItem>, VK extends GetItemKeys<A> | undefined = undefined, M extends boolean = false, Mod extends Omit<ModelModifiers, 'lazy'> = Omit<ModelModifiers, 'lazy'>, C extends boolean | object = false> extends Pick<ComboboxRootEmits, 'update:open'> {
|
|
184
190
|
'change': [event: Event];
|
|
185
191
|
'blur': [event: FocusEvent];
|
|
186
192
|
'focus': [event: FocusEvent];
|
|
@@ -190,24 +196,26 @@ export type InputMenuEmits<A extends ArrayOrNested<InputMenuItem>, VK extends Ge
|
|
|
190
196
|
'highlight': [
|
|
191
197
|
payload: {
|
|
192
198
|
ref: HTMLElement;
|
|
193
|
-
value: GetModelValue<A, VK, M>;
|
|
199
|
+
value: ApplyModifiers<GetModelValue<A, VK, M, ExcludeItem>, Mod> | IsClearUsed<M, C>;
|
|
194
200
|
} | undefined
|
|
195
201
|
];
|
|
196
|
-
'remove-tag': [item: GetModelValue<A, VK, M>];
|
|
197
|
-
|
|
202
|
+
'remove-tag': [item: ApplyModifiers<GetModelValue<A, VK, M, ExcludeItem>, Mod> | IsClearUsed<M, C>];
|
|
203
|
+
/** Event handler called when the value changes. */
|
|
204
|
+
'update:modelValue': [value: ApplyModifiers<GetModelValue<A, VK, M, ExcludeItem>, Mod> | IsClearUsed<M, C>];
|
|
205
|
+
}
|
|
198
206
|
type SlotProps<T extends InputMenuItem> = (props: {
|
|
199
207
|
item: T;
|
|
200
208
|
index: number;
|
|
201
209
|
b24ui: InputMenu['b24ui'];
|
|
202
210
|
}) => any;
|
|
203
|
-
export interface InputMenuSlots<A extends ArrayOrNested<InputMenuItem> = ArrayOrNested<InputMenuItem>, VK extends GetItemKeys<A> | undefined = undefined, M extends boolean = false, T extends NestedItem<A> = NestedItem<A>> {
|
|
211
|
+
export interface InputMenuSlots<A extends ArrayOrNested<InputMenuItem> = ArrayOrNested<InputMenuItem>, VK extends GetItemKeys<A> | undefined = undefined, M extends boolean = false, Mod extends Omit<ModelModifiers, 'lazy'> = Omit<ModelModifiers, 'lazy'>, C extends boolean | object = false, T extends NestedItem<A> = NestedItem<A>> {
|
|
204
212
|
'leading'(props: {
|
|
205
|
-
modelValue?: GetModelValue<A, VK, M>;
|
|
213
|
+
modelValue?: ApplyModifiers<GetModelValue<A, VK, M, ExcludeItem>, Mod> | IsClearUsed<M, C>;
|
|
206
214
|
open: boolean;
|
|
207
215
|
b24ui: InputMenu['b24ui'];
|
|
208
216
|
}): any;
|
|
209
217
|
'trailing'(props: {
|
|
210
|
-
modelValue?: GetModelValue<A, VK, M>;
|
|
218
|
+
modelValue?: ApplyModifiers<GetModelValue<A, VK, M, ExcludeItem>, Mod> | IsClearUsed<M, C>;
|
|
211
219
|
open: boolean;
|
|
212
220
|
b24ui: InputMenu['b24ui'];
|
|
213
221
|
}): any;
|
|
@@ -238,23 +246,83 @@ export interface InputMenuSlots<A extends ArrayOrNested<InputMenuItem> = ArrayOr
|
|
|
238
246
|
}
|
|
239
247
|
declare const _default: typeof __VLS_export;
|
|
240
248
|
export default _default;
|
|
241
|
-
declare const __VLS_export: <T extends ArrayOrNested<InputMenuItem>, VK extends GetItemKeys<T> | undefined = undefined, M extends boolean = false>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
242
|
-
props: import("vue").PublicProps & __VLS_PrettifyLocal<(InputMenuProps<T, VK, M> & {
|
|
249
|
+
declare const __VLS_export: <T extends ArrayOrNested<InputMenuItem>, VK extends GetItemKeys<T> | undefined = undefined, M extends boolean = false, Mod extends Omit<ModelModifiers, "lazy"> = Omit<ModelModifiers, "lazy">, C extends boolean | object = false>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
250
|
+
props: import("vue").PublicProps & __VLS_PrettifyLocal<(InputMenuProps<T, VK, M, Mod, C> & {
|
|
243
251
|
searchTerm?: string;
|
|
244
252
|
}) & {
|
|
245
253
|
onClear?: (() => any) | undefined;
|
|
246
254
|
onBlur?: ((event: FocusEvent) => any) | undefined;
|
|
247
255
|
onChange?: ((event: Event) => any) | undefined;
|
|
248
256
|
onFocus?: ((event: FocusEvent) => any) | undefined;
|
|
249
|
-
"onUpdate:open"?: ((value: boolean) => any) | undefined;
|
|
250
|
-
onCreate?: ((item: string) => any) | undefined;
|
|
251
|
-
"onUpdate:modelValue"?: ((value: GetModelValue<T, VK, M>) => any) | undefined;
|
|
252
257
|
onHighlight?: ((payload: {
|
|
253
258
|
ref: HTMLElement;
|
|
254
|
-
value:
|
|
259
|
+
value: (Mod extends {
|
|
260
|
+
number: true;
|
|
261
|
+
} ? (Mod extends {
|
|
262
|
+
optional: true;
|
|
263
|
+
} ? (Mod extends {
|
|
264
|
+
nullable: true;
|
|
265
|
+
} ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) | undefined : Mod extends {
|
|
266
|
+
nullable: true;
|
|
267
|
+
} ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) extends infer T_1 ? T_1 extends (Mod extends {
|
|
268
|
+
optional: true;
|
|
269
|
+
} ? (Mod extends {
|
|
270
|
+
nullable: true;
|
|
271
|
+
} ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) | undefined : Mod extends {
|
|
272
|
+
nullable: true;
|
|
273
|
+
} ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) ? T_1 extends string ? number | T_1 : T_1 : never : never : Mod extends {
|
|
274
|
+
optional: true;
|
|
275
|
+
} ? (Mod extends {
|
|
276
|
+
nullable: true;
|
|
277
|
+
} ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) | undefined : Mod extends {
|
|
278
|
+
nullable: true;
|
|
279
|
+
} ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) | IsClearUsed<M, C>;
|
|
255
280
|
} | undefined) => any) | undefined;
|
|
281
|
+
"onUpdate:open"?: ((value: boolean) => any) | undefined;
|
|
282
|
+
onCreate?: ((item: string) => any) | undefined;
|
|
283
|
+
"onUpdate:modelValue"?: ((value: (Mod extends {
|
|
284
|
+
number: true;
|
|
285
|
+
} ? (Mod extends {
|
|
286
|
+
optional: true;
|
|
287
|
+
} ? (Mod extends {
|
|
288
|
+
nullable: true;
|
|
289
|
+
} ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) | undefined : Mod extends {
|
|
290
|
+
nullable: true;
|
|
291
|
+
} ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) extends infer T_1 ? T_1 extends (Mod extends {
|
|
292
|
+
optional: true;
|
|
293
|
+
} ? (Mod extends {
|
|
294
|
+
nullable: true;
|
|
295
|
+
} ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) | undefined : Mod extends {
|
|
296
|
+
nullable: true;
|
|
297
|
+
} ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) ? T_1 extends string ? number | T_1 : T_1 : never : never : Mod extends {
|
|
298
|
+
optional: true;
|
|
299
|
+
} ? (Mod extends {
|
|
300
|
+
nullable: true;
|
|
301
|
+
} ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) | undefined : Mod extends {
|
|
302
|
+
nullable: true;
|
|
303
|
+
} ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) | IsClearUsed<M, C>) => any) | undefined;
|
|
256
304
|
"onUpdate:searchTerm"?: ((value: string) => any) | undefined;
|
|
257
|
-
"onRemove-tag"?: ((item:
|
|
305
|
+
"onRemove-tag"?: ((item: (Mod extends {
|
|
306
|
+
number: true;
|
|
307
|
+
} ? (Mod extends {
|
|
308
|
+
optional: true;
|
|
309
|
+
} ? (Mod extends {
|
|
310
|
+
nullable: true;
|
|
311
|
+
} ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) | undefined : Mod extends {
|
|
312
|
+
nullable: true;
|
|
313
|
+
} ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) extends infer T_1 ? T_1 extends (Mod extends {
|
|
314
|
+
optional: true;
|
|
315
|
+
} ? (Mod extends {
|
|
316
|
+
nullable: true;
|
|
317
|
+
} ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) | undefined : Mod extends {
|
|
318
|
+
nullable: true;
|
|
319
|
+
} ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) ? T_1 extends string ? number | T_1 : T_1 : never : never : Mod extends {
|
|
320
|
+
optional: true;
|
|
321
|
+
} ? (Mod extends {
|
|
322
|
+
nullable: true;
|
|
323
|
+
} ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) | undefined : Mod extends {
|
|
324
|
+
nullable: true;
|
|
325
|
+
} ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) | IsClearUsed<M, C>) => any) | undefined;
|
|
258
326
|
}> & (typeof globalThis extends {
|
|
259
327
|
__VLS_PROPS_FALLBACK: infer P;
|
|
260
328
|
} ? P : {});
|
|
@@ -263,11 +331,71 @@ declare const __VLS_export: <T extends ArrayOrNested<InputMenuItem>, VK extends
|
|
|
263
331
|
viewportRef: Readonly<import("vue").Ref<HTMLDivElement | null, HTMLDivElement | null>>;
|
|
264
332
|
}>) => void;
|
|
265
333
|
attrs: any;
|
|
266
|
-
slots: InputMenuSlots<T, VK, M, NestedItem<T>>;
|
|
267
|
-
emit: (((evt: "clear") => void) & ((evt: "blur", event: FocusEvent) => void) & ((evt: "change", event: Event) => void) & ((evt: "focus", event: FocusEvent) => void) & ((evt: "
|
|
334
|
+
slots: InputMenuSlots<T, VK, M, Mod, C, NestedItem<T>>;
|
|
335
|
+
emit: (((evt: "clear") => void) & ((evt: "blur", event: FocusEvent) => void) & ((evt: "change", event: Event) => void) & ((evt: "focus", event: FocusEvent) => void) & ((evt: "highlight", payload: {
|
|
268
336
|
ref: HTMLElement;
|
|
269
|
-
value:
|
|
270
|
-
|
|
337
|
+
value: (Mod extends {
|
|
338
|
+
number: true;
|
|
339
|
+
} ? (Mod extends {
|
|
340
|
+
optional: true;
|
|
341
|
+
} ? (Mod extends {
|
|
342
|
+
nullable: true;
|
|
343
|
+
} ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) | undefined : Mod extends {
|
|
344
|
+
nullable: true;
|
|
345
|
+
} ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) extends infer T_1 ? T_1 extends (Mod extends {
|
|
346
|
+
optional: true;
|
|
347
|
+
} ? (Mod extends {
|
|
348
|
+
nullable: true;
|
|
349
|
+
} ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) | undefined : Mod extends {
|
|
350
|
+
nullable: true;
|
|
351
|
+
} ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) ? T_1 extends string ? number | T_1 : T_1 : never : never : Mod extends {
|
|
352
|
+
optional: true;
|
|
353
|
+
} ? (Mod extends {
|
|
354
|
+
nullable: true;
|
|
355
|
+
} ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) | undefined : Mod extends {
|
|
356
|
+
nullable: true;
|
|
357
|
+
} ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) | IsClearUsed<M, C>;
|
|
358
|
+
} | undefined) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "create", item: string) => void) & ((evt: "update:modelValue", value: (Mod extends {
|
|
359
|
+
number: true;
|
|
360
|
+
} ? (Mod extends {
|
|
361
|
+
optional: true;
|
|
362
|
+
} ? (Mod extends {
|
|
363
|
+
nullable: true;
|
|
364
|
+
} ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) | undefined : Mod extends {
|
|
365
|
+
nullable: true;
|
|
366
|
+
} ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) extends infer T_1 ? T_1 extends (Mod extends {
|
|
367
|
+
optional: true;
|
|
368
|
+
} ? (Mod extends {
|
|
369
|
+
nullable: true;
|
|
370
|
+
} ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) | undefined : Mod extends {
|
|
371
|
+
nullable: true;
|
|
372
|
+
} ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) ? T_1 extends string ? number | T_1 : T_1 : never : never : Mod extends {
|
|
373
|
+
optional: true;
|
|
374
|
+
} ? (Mod extends {
|
|
375
|
+
nullable: true;
|
|
376
|
+
} ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) | undefined : Mod extends {
|
|
377
|
+
nullable: true;
|
|
378
|
+
} ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) | IsClearUsed<M, C>) => void) & ((evt: "remove-tag", item: (Mod extends {
|
|
379
|
+
number: true;
|
|
380
|
+
} ? (Mod extends {
|
|
381
|
+
optional: true;
|
|
382
|
+
} ? (Mod extends {
|
|
383
|
+
nullable: true;
|
|
384
|
+
} ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) | undefined : Mod extends {
|
|
385
|
+
nullable: true;
|
|
386
|
+
} ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) extends infer T_1 ? T_1 extends (Mod extends {
|
|
387
|
+
optional: true;
|
|
388
|
+
} ? (Mod extends {
|
|
389
|
+
nullable: true;
|
|
390
|
+
} ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) | undefined : Mod extends {
|
|
391
|
+
nullable: true;
|
|
392
|
+
} ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) ? T_1 extends string ? number | T_1 : T_1 : never : never : Mod extends {
|
|
393
|
+
optional: true;
|
|
394
|
+
} ? (Mod extends {
|
|
395
|
+
nullable: true;
|
|
396
|
+
} ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) | undefined : Mod extends {
|
|
397
|
+
nullable: true;
|
|
398
|
+
} ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) | IsClearUsed<M, C>) => void)) & ((event: "update:searchTerm", value: string) => void);
|
|
271
399
|
}>) => import("vue").VNode & {
|
|
272
400
|
__ctx?: Awaited<typeof __VLS_setup>;
|
|
273
401
|
};
|
|
@@ -4,14 +4,16 @@ import theme from "#build/b24ui/input-menu";
|
|
|
4
4
|
|
|
5
5
|
<script setup>
|
|
6
6
|
import { computed, useTemplateRef, toRef, onMounted, toRaw, nextTick } from "vue";
|
|
7
|
-
import { ComboboxRoot, ComboboxArrow, ComboboxAnchor, ComboboxInput, ComboboxTrigger, ComboboxCancel, ComboboxPortal, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxVirtualizer, ComboboxLabel, ComboboxSeparator, ComboboxItem, ComboboxItemIndicator, TagsInputRoot, TagsInputItem, TagsInputItemText, TagsInputItemDelete, TagsInputInput, useForwardPropsEmits
|
|
7
|
+
import { ComboboxRoot, ComboboxArrow, ComboboxAnchor, ComboboxInput, ComboboxTrigger, ComboboxCancel, ComboboxPortal, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxVirtualizer, ComboboxLabel, ComboboxSeparator, ComboboxItem, ComboboxItemIndicator, TagsInputRoot, TagsInputItem, TagsInputItemText, TagsInputItemDelete, TagsInputInput, useForwardPropsEmits } from "reka-ui";
|
|
8
8
|
import { defu } from "defu";
|
|
9
9
|
import { isEqual } from "ohash/utils";
|
|
10
10
|
import { reactivePick, createReusableTemplate } from "@vueuse/core";
|
|
11
11
|
import { useAppConfig } from "#imports";
|
|
12
|
+
import { useComponentUI } from "../composables/useComponentUI";
|
|
12
13
|
import { useFieldGroup } from "../composables/useFieldGroup";
|
|
13
14
|
import { useComponentIcons } from "../composables/useComponentIcons";
|
|
14
15
|
import { useFormField } from "../composables/useFormField";
|
|
16
|
+
import { useFilter } from "../composables/internal/useFilter";
|
|
15
17
|
import { useLocale } from "../composables/useLocale";
|
|
16
18
|
import { usePortal } from "../composables/usePortal";
|
|
17
19
|
import { compare, get, getDisplayValue, isArrayOfArray, looseToNumber } from "../utils";
|
|
@@ -51,11 +53,12 @@ const props = defineProps({
|
|
|
51
53
|
items: { type: null, required: false },
|
|
52
54
|
defaultValue: { type: null, required: false },
|
|
53
55
|
modelValue: { type: null, required: false },
|
|
54
|
-
modelModifiers: { type:
|
|
56
|
+
modelModifiers: { type: null, required: false },
|
|
55
57
|
multiple: { type: Boolean, required: false },
|
|
56
58
|
tag: { type: String, required: false },
|
|
57
59
|
tagColor: { type: null, required: false },
|
|
58
60
|
highlight: { type: Boolean, required: false },
|
|
61
|
+
fixed: { type: Boolean, required: false },
|
|
59
62
|
createItem: { type: [Boolean, String, Object], required: false },
|
|
60
63
|
filterFields: { type: Array, required: false },
|
|
61
64
|
ignoreFilter: { type: Boolean, required: false },
|
|
@@ -77,12 +80,13 @@ const props = defineProps({
|
|
|
77
80
|
loading: { type: Boolean, required: false },
|
|
78
81
|
trailing: { type: Boolean, required: false }
|
|
79
82
|
});
|
|
80
|
-
const emits = defineEmits(["
|
|
83
|
+
const emits = defineEmits(["change", "blur", "focus", "create", "clear", "highlight", "remove-tag", "update:modelValue", "update:open"]);
|
|
81
84
|
const slots = defineSlots();
|
|
82
85
|
const searchTerm = defineModel("searchTerm", { type: String, ...{ default: "" } });
|
|
83
86
|
const { t } = useLocale();
|
|
84
87
|
const appConfig = useAppConfig();
|
|
85
|
-
const
|
|
88
|
+
const uiProp = useComponentUI("inputMenu", props);
|
|
89
|
+
const { filterGroups } = useFilter();
|
|
86
90
|
const rootProps = useForwardPropsEmits(reactivePick(props, "as", "modelValue", "defaultValue", "open", "defaultOpen", "required", "multiple", "resetSearchTermOnBlur", "resetSearchTermOnSelect", "resetModelValueOnClear", "highlightOnHover", "openOnClick", "openOnFocus", "by"), emits);
|
|
87
91
|
const portalProps = usePortal(toRef(() => props.portal));
|
|
88
92
|
const contentProps = toRef(() => defu(props.content, { side: "bottom", sideOffset: 8, collisionPadding: 8, position: "popper" }));
|
|
@@ -119,6 +123,7 @@ const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.inputMe
|
|
|
119
123
|
size: inputSize?.value,
|
|
120
124
|
loading: props.loading,
|
|
121
125
|
highlight: highlight.value,
|
|
126
|
+
fixed: props.fixed,
|
|
122
127
|
rounded: Boolean(props.rounded),
|
|
123
128
|
noBorder: Boolean(props.noBorder),
|
|
124
129
|
underline: Boolean(props.underline),
|
|
@@ -144,23 +149,10 @@ const filteredGroups = computed(() => {
|
|
|
144
149
|
return groups.value;
|
|
145
150
|
}
|
|
146
151
|
const fields = Array.isArray(props.filterFields) ? props.filterFields : [props.labelKey];
|
|
147
|
-
return groups.value
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
if (typeof item !== "object") {
|
|
152
|
-
return contains(String(item), searchTerm.value);
|
|
153
|
-
}
|
|
154
|
-
if (item.type && ["label", "separator"].includes(item.type)) {
|
|
155
|
-
return true;
|
|
156
|
-
}
|
|
157
|
-
return fields.some((field) => {
|
|
158
|
-
const value = get(item, field);
|
|
159
|
-
return value !== void 0 && value !== null && contains(String(value), searchTerm.value);
|
|
160
|
-
});
|
|
161
|
-
})).filter((group) => group.filter(
|
|
162
|
-
(item) => !isInputItem(item) || (!item.type || !["label", "separator"].includes(item.type))
|
|
163
|
-
).length > 0);
|
|
152
|
+
return filterGroups(groups.value, searchTerm.value, {
|
|
153
|
+
fields,
|
|
154
|
+
isStructural: (item) => isInputItem(item) && !!item.type && ["label", "separator"].includes(item.type)
|
|
155
|
+
});
|
|
164
156
|
});
|
|
165
157
|
const filteredItems = computed(() => filteredGroups.value.flatMap((group) => group));
|
|
166
158
|
const createItem = computed(() => {
|
|
@@ -192,7 +184,7 @@ function onUpdate(value) {
|
|
|
192
184
|
if (toRaw(props.modelValue) === value) {
|
|
193
185
|
return;
|
|
194
186
|
}
|
|
195
|
-
if (props.modelModifiers?.trim) {
|
|
187
|
+
if (props.modelModifiers?.trim && (typeof value === "string" || value === null || value === void 0)) {
|
|
196
188
|
value = value?.trim() ?? null;
|
|
197
189
|
}
|
|
198
190
|
if (props.modelModifiers?.number) {
|
|
@@ -201,7 +193,7 @@ function onUpdate(value) {
|
|
|
201
193
|
if (props.modelModifiers?.nullable) {
|
|
202
194
|
value ??= null;
|
|
203
195
|
}
|
|
204
|
-
if (props.modelModifiers?.optional) {
|
|
196
|
+
if (props.modelModifiers?.optional && !props.modelModifiers?.nullable && value !== null) {
|
|
205
197
|
value ??= void 0;
|
|
206
198
|
}
|
|
207
199
|
const event = new Event("change", { target: { value } });
|
|
@@ -285,16 +277,16 @@ defineExpose({
|
|
|
285
277
|
<DefineCreateItemTemplate>
|
|
286
278
|
<ComboboxItem
|
|
287
279
|
data-slot="item"
|
|
288
|
-
:class="b24ui.item({ addNew: true, class:
|
|
280
|
+
:class="b24ui.item({ addNew: true, class: uiProp?.item })"
|
|
289
281
|
:value="searchTerm"
|
|
290
282
|
@select="onCreate"
|
|
291
283
|
>
|
|
292
|
-
<span data-slot="itemLabel" :class="b24ui.itemLabel({ addNew: true, class:
|
|
284
|
+
<span data-slot="itemLabel" :class="b24ui.itemLabel({ addNew: true, class: uiProp?.itemLabel })">
|
|
293
285
|
<slot name="create-item-label" :item="searchTerm">
|
|
294
286
|
<Component
|
|
295
287
|
:is="icons.plus"
|
|
296
288
|
data-slot="itemLeadingIcon"
|
|
297
|
-
:class="b24ui.itemLeadingIcon({ addNew: true, class:
|
|
289
|
+
:class="b24ui.itemLeadingIcon({ addNew: true, class: uiProp?.itemLeadingIcon })"
|
|
298
290
|
/>
|
|
299
291
|
{{ t("inputMenu.create", { label: searchTerm }) }}
|
|
300
292
|
</slot>
|
|
@@ -303,27 +295,27 @@ defineExpose({
|
|
|
303
295
|
</DefineCreateItemTemplate>
|
|
304
296
|
|
|
305
297
|
<DefineItemTemplate v-slot="{ item, index }">
|
|
306
|
-
<ComboboxLabel v-if="isInputItem(item) && item.type === 'label'" data-slot="label" :class="b24ui.label({ class: [
|
|
298
|
+
<ComboboxLabel v-if="isInputItem(item) && item.type === 'label'" data-slot="label" :class="b24ui.label({ class: [uiProp?.label, item.b24ui?.label, item.class] })">
|
|
307
299
|
{{ get(item, props.labelKey) }}
|
|
308
300
|
</ComboboxLabel>
|
|
309
301
|
|
|
310
|
-
<ComboboxSeparator v-else-if="isInputItem(item) && item.type === 'separator'" data-slot="separator" :class="b24ui.separator({ class: [
|
|
302
|
+
<ComboboxSeparator v-else-if="isInputItem(item) && item.type === 'separator'" data-slot="separator" :class="b24ui.separator({ class: [uiProp?.separator, item.b24ui?.separator, item.class] })" />
|
|
311
303
|
|
|
312
304
|
<ComboboxItem
|
|
313
305
|
v-else
|
|
314
306
|
data-slot="item"
|
|
315
|
-
:class="b24ui.item({ class: [
|
|
307
|
+
:class="b24ui.item({ class: [uiProp?.item, isInputItem(item) && item.b24ui?.item, isInputItem(item) && item.class], colorItem: isInputItem(item) ? item?.color : void 0 })"
|
|
316
308
|
:disabled="isInputItem(item) && item.disabled"
|
|
317
309
|
:value="props.valueKey && isInputItem(item) ? get(item, props.valueKey) : item"
|
|
318
310
|
@select="onSelect($event, item)"
|
|
319
311
|
>
|
|
320
312
|
<slot name="item" :item="item" :index="index" :b24ui="b24ui">
|
|
321
313
|
<slot name="item-leading" :item="item" :index="index" :b24ui="b24ui">
|
|
322
|
-
<B24Avatar v-if="isInputItem(item) && item.avatar" :size="item.b24ui?.itemLeadingAvatarSize ||
|
|
314
|
+
<B24Avatar v-if="isInputItem(item) && item.avatar" :size="item.b24ui?.itemLeadingAvatarSize || uiProp?.itemLeadingAvatarSize || b24ui.itemLeadingAvatarSize()" v-bind="item.avatar" data-slot="itemLeadingAvatar" :class="b24ui.itemLeadingAvatar({ class: [uiProp?.itemLeadingAvatar, item.b24ui?.itemLeadingAvatar], colorItem: item?.color })" />
|
|
323
315
|
</slot>
|
|
324
316
|
|
|
325
|
-
<span data-slot="itemWrapper" :class="b24ui.itemWrapper({ class: [
|
|
326
|
-
<span data-slot="itemLabel" :class="b24ui.itemLabel({ class: [
|
|
317
|
+
<span data-slot="itemWrapper" :class="b24ui.itemWrapper({ class: [uiProp?.itemWrapper, isInputItem(item) && item.b24ui?.itemWrapper] })">
|
|
318
|
+
<span data-slot="itemLabel" :class="b24ui.itemLabel({ class: [uiProp?.itemLabel, isInputItem(item) && item.b24ui?.itemLabel] })">
|
|
327
319
|
<slot name="item-label" :item="item" :index="index">
|
|
328
320
|
{{ isInputItem(item) ? get(item, props.labelKey) : item }}
|
|
329
321
|
</slot>
|
|
@@ -332,7 +324,7 @@ defineExpose({
|
|
|
332
324
|
<span
|
|
333
325
|
v-if="isInputItem(item) && (get(item, props.descriptionKey) || !!slots['item-description'])"
|
|
334
326
|
data-slot="itemDescription"
|
|
335
|
-
:class="b24ui.itemDescription({ class: [
|
|
327
|
+
:class="b24ui.itemDescription({ class: [uiProp?.itemDescription, isInputItem(item) && item.b24ui?.itemDescription] })"
|
|
336
328
|
>
|
|
337
329
|
<slot
|
|
338
330
|
name="item-description"
|
|
@@ -344,12 +336,12 @@ defineExpose({
|
|
|
344
336
|
</span>
|
|
345
337
|
</span>
|
|
346
338
|
|
|
347
|
-
<span data-slot="itemTrailing" :class="b24ui.itemTrailing({ class: [
|
|
339
|
+
<span data-slot="itemTrailing" :class="b24ui.itemTrailing({ class: [uiProp?.itemTrailing, isInputItem(item) && item.b24ui?.itemTrailing], colorItem: isInputItem(item) ? item?.color : void 0 })">
|
|
348
340
|
<ComboboxItemIndicator as-child>
|
|
349
341
|
<Component
|
|
350
342
|
:is="selectedIcon || icons.check"
|
|
351
343
|
data-slot="itemTrailingIcon"
|
|
352
|
-
:class="b24ui.itemTrailingIcon({ class: [
|
|
344
|
+
:class="b24ui.itemTrailingIcon({ class: [uiProp?.itemTrailingIcon, isInputItem(item) && item.b24ui?.itemTrailingIcon], colorItem: isInputItem(item) ? item?.color : void 0 })"
|
|
353
345
|
/>
|
|
354
346
|
</ComboboxItemIndicator>
|
|
355
347
|
|
|
@@ -358,16 +350,16 @@ defineExpose({
|
|
|
358
350
|
:is="item.icon"
|
|
359
351
|
v-if="isInputItem(item) && item.icon"
|
|
360
352
|
data-slot="itemLeadingIcon"
|
|
361
|
-
:class="b24ui.itemLeadingIcon({ class: [
|
|
353
|
+
:class="b24ui.itemLeadingIcon({ class: [uiProp?.itemLeadingIcon, item.b24ui?.itemLeadingIcon], colorItem: item?.color })"
|
|
362
354
|
/>
|
|
363
355
|
<B24Chip
|
|
364
356
|
v-else-if="isInputItem(item) && item.chip"
|
|
365
|
-
:size="item.b24ui?.itemLeadingChipSize ||
|
|
357
|
+
:size="item.b24ui?.itemLeadingChipSize || uiProp?.itemLeadingChipSize || b24ui.itemLeadingChipSize()"
|
|
366
358
|
inset
|
|
367
359
|
standalone
|
|
368
360
|
v-bind="item.chip"
|
|
369
361
|
data-slot="itemLeadingChip"
|
|
370
|
-
:class="b24ui.itemLeadingChip({ class: [
|
|
362
|
+
:class="b24ui.itemLeadingChip({ class: [uiProp?.itemLeadingChip, item.b24ui?.itemLeadingChip], colorItem: item?.color })"
|
|
371
363
|
/>
|
|
372
364
|
</slot>
|
|
373
365
|
</span>
|
|
@@ -381,7 +373,7 @@ defineExpose({
|
|
|
381
373
|
:name="name"
|
|
382
374
|
:disabled="disabled"
|
|
383
375
|
data-slot="root"
|
|
384
|
-
:class="b24ui.root({ class: [
|
|
376
|
+
:class="b24ui.root({ class: [uiProp?.root, props.class] })"
|
|
385
377
|
:as-child="!!multiple"
|
|
386
378
|
ignore-filter
|
|
387
379
|
@update:model-value="onUpdate"
|
|
@@ -390,12 +382,12 @@ defineExpose({
|
|
|
390
382
|
<B24Badge
|
|
391
383
|
v-if="!multiple && isTag"
|
|
392
384
|
data-slot="tag"
|
|
393
|
-
:class="b24ui.tag({ class:
|
|
385
|
+
:class="b24ui.tag({ class: uiProp?.tag })"
|
|
394
386
|
:color="props.tagColor"
|
|
395
387
|
:label="props.tag"
|
|
396
388
|
size="xs"
|
|
397
389
|
/>
|
|
398
|
-
<ComboboxAnchor :as-child="!multiple" data-slot="base" :class="b24ui.base({ class:
|
|
390
|
+
<ComboboxAnchor :as-child="!multiple" data-slot="base" :class="b24ui.base({ class: uiProp?.base })">
|
|
399
391
|
<TagsInputRoot
|
|
400
392
|
v-if="multiple"
|
|
401
393
|
v-slot="{ modelValue: tags }"
|
|
@@ -411,24 +403,24 @@ defineExpose({
|
|
|
411
403
|
<B24Badge
|
|
412
404
|
v-if="!!multiple && isTag"
|
|
413
405
|
data-slot="tag"
|
|
414
|
-
:class="b24ui.tag({ class:
|
|
406
|
+
:class="b24ui.tag({ class: uiProp?.tag })"
|
|
415
407
|
:color="props.tagColor"
|
|
416
408
|
:label="props.tag"
|
|
417
409
|
size="xs"
|
|
418
410
|
/>
|
|
419
|
-
<TagsInputItem v-for="(item, index) in tags" :key="index" :value="item" data-slot="tagsItem" :class="b24ui.tagsItem({ class: [
|
|
420
|
-
<TagsInputItemText data-slot="tagsItemText" :class="b24ui.tagsItemText({ class: [
|
|
411
|
+
<TagsInputItem v-for="(item, index) in tags" :key="index" :value="item" data-slot="tagsItem" :class="b24ui.tagsItem({ class: [uiProp?.tagsItem, isInputItem(item) && item.b24ui?.tagsItem] })">
|
|
412
|
+
<TagsInputItemText data-slot="tagsItemText" :class="b24ui.tagsItemText({ class: [uiProp?.tagsItemText, isInputItem(item) && item.b24ui?.tagsItemText] })">
|
|
421
413
|
<slot name="tags-item-text" :item="item" :index="index">
|
|
422
414
|
{{ displayValue(item) }}
|
|
423
415
|
</slot>
|
|
424
416
|
</TagsInputItemText>
|
|
425
417
|
|
|
426
|
-
<TagsInputItemDelete data-slot="tagsItemDelete" :class="b24ui.tagsItemDelete({ class: [
|
|
418
|
+
<TagsInputItemDelete data-slot="tagsItemDelete" :class="b24ui.tagsItemDelete({ class: [uiProp?.tagsItemDelete, isInputItem(item) && item.b24ui?.tagsItemDelete] })" :disabled="disabled">
|
|
427
419
|
<slot name="tags-item-delete" :item="item" :index="index" :b24ui="b24ui">
|
|
428
420
|
<Component
|
|
429
421
|
:is="deleteIcon || icons.close"
|
|
430
422
|
data-slot="tagsItemDeleteIcon"
|
|
431
|
-
:class="b24ui.tagsItemDeleteIcon({ class: [
|
|
423
|
+
:class="b24ui.tagsItemDeleteIcon({ class: [uiProp?.tagsItemDeleteIcon, isInputItem(item) && item.b24ui?.tagsItemDeleteIcon] })"
|
|
432
424
|
/>
|
|
433
425
|
</slot>
|
|
434
426
|
</TagsInputItemDelete>
|
|
@@ -441,7 +433,7 @@ defineExpose({
|
|
|
441
433
|
v-bind="{ ...$attrs, ...ariaAttrs }"
|
|
442
434
|
:placeholder="placeholder"
|
|
443
435
|
data-slot="tagsInput"
|
|
444
|
-
:class="b24ui.tagsInput({ class:
|
|
436
|
+
:class="b24ui.tagsInput({ class: uiProp?.tagsInput })"
|
|
445
437
|
@change.stop
|
|
446
438
|
/>
|
|
447
439
|
</ComboboxInput>
|
|
@@ -462,25 +454,25 @@ defineExpose({
|
|
|
462
454
|
@update:model-value="searchTerm = $event"
|
|
463
455
|
/>
|
|
464
456
|
|
|
465
|
-
<span v-if="isLeading || !!avatar || !!slots.leading" data-slot="leading" :class="b24ui.leading({ class:
|
|
457
|
+
<span v-if="isLeading || !!avatar || !!slots.leading" data-slot="leading" :class="b24ui.leading({ class: uiProp?.leading })">
|
|
466
458
|
<slot name="leading" :model-value="modelValue" :open="open" :b24ui="b24ui">
|
|
467
459
|
<Component
|
|
468
460
|
:is="leadingIconName"
|
|
469
461
|
v-if="isLeading && leadingIconName"
|
|
470
462
|
data-slot="leadingIcon"
|
|
471
|
-
:class="b24ui.leadingIcon({ class:
|
|
463
|
+
:class="b24ui.leadingIcon({ class: uiProp?.leadingIcon })"
|
|
472
464
|
/>
|
|
473
465
|
<B24Avatar
|
|
474
466
|
v-else-if="!!avatar"
|
|
475
|
-
:size="
|
|
467
|
+
:size="uiProp?.itemLeadingAvatarSize || b24ui.itemLeadingAvatarSize()"
|
|
476
468
|
v-bind="avatar"
|
|
477
469
|
data-slot="itemLeadingAvatar"
|
|
478
|
-
:class="b24ui.itemLeadingAvatar({ class:
|
|
470
|
+
:class="b24ui.itemLeadingAvatar({ class: uiProp?.itemLeadingAvatar })"
|
|
479
471
|
/>
|
|
480
472
|
</slot>
|
|
481
473
|
</span>
|
|
482
474
|
|
|
483
|
-
<ComboboxTrigger v-if="isTrailing || !!slots.trailing || !!clear" data-slot="trailing" :class="b24ui.trailing({ class:
|
|
475
|
+
<ComboboxTrigger v-if="isTrailing || !!slots.trailing || !!clear" data-slot="trailing" :class="b24ui.trailing({ class: uiProp?.trailing })">
|
|
484
476
|
<slot name="trailing" :model-value="modelValue" :open="open" :b24ui="b24ui">
|
|
485
477
|
<ComboboxCancel v-if="!!clear && !isModelValueEmpty(modelValue)" as-child>
|
|
486
478
|
<B24Button
|
|
@@ -491,7 +483,7 @@ defineExpose({
|
|
|
491
483
|
tabindex="-1"
|
|
492
484
|
v-bind="clearProps"
|
|
493
485
|
data-slot="trailingClear"
|
|
494
|
-
:class="b24ui.trailingClear({ class:
|
|
486
|
+
:class="b24ui.trailingClear({ class: uiProp?.trailingClear })"
|
|
495
487
|
@click.stop="onClear"
|
|
496
488
|
/>
|
|
497
489
|
</ComboboxCancel>
|
|
@@ -500,17 +492,17 @@ defineExpose({
|
|
|
500
492
|
:is="trailingIconName"
|
|
501
493
|
v-else-if="trailingIconName"
|
|
502
494
|
data-slot="trailingIcon"
|
|
503
|
-
:class="b24ui.trailingIcon({ class:
|
|
495
|
+
:class="b24ui.trailingIcon({ class: uiProp?.trailingIcon })"
|
|
504
496
|
/>
|
|
505
497
|
</slot>
|
|
506
498
|
</ComboboxTrigger>
|
|
507
499
|
</ComboboxAnchor>
|
|
508
500
|
|
|
509
501
|
<ComboboxPortal v-bind="portalProps">
|
|
510
|
-
<ComboboxContent data-slot="content" :class="b24ui.content({ class:
|
|
502
|
+
<ComboboxContent data-slot="content" :class="b24ui.content({ class: uiProp?.content })" v-bind="contentProps" @focus-outside.prevent>
|
|
511
503
|
<slot name="content-top" />
|
|
512
504
|
|
|
513
|
-
<ComboboxEmpty data-slot="empty" :class="b24ui.empty({ class:
|
|
505
|
+
<ComboboxEmpty data-slot="empty" :class="b24ui.empty({ class: uiProp?.empty })">
|
|
514
506
|
<slot name="empty" :search-term="searchTerm">
|
|
515
507
|
{{ searchTerm ? t("inputMenu.noMatch", { searchTerm }) : t("inputMenu.noData") }}
|
|
516
508
|
</slot>
|
|
@@ -520,7 +512,7 @@ defineExpose({
|
|
|
520
512
|
ref="viewportRef"
|
|
521
513
|
role="presentation"
|
|
522
514
|
data-slot="viewport"
|
|
523
|
-
:class="b24ui.viewport({ class:
|
|
515
|
+
:class="b24ui.viewport({ class: uiProp?.viewport })"
|
|
524
516
|
>
|
|
525
517
|
<template v-if="!!virtualize">
|
|
526
518
|
<ReuseCreateItemTemplate v-if="createItem && createItemPosition === 'top'" />
|
|
@@ -538,15 +530,15 @@ defineExpose({
|
|
|
538
530
|
</template>
|
|
539
531
|
|
|
540
532
|
<template v-else>
|
|
541
|
-
<ComboboxGroup v-if="createItem && createItemPosition === 'top'" data-slot="group" :class="b24ui.group({ class:
|
|
533
|
+
<ComboboxGroup v-if="createItem && createItemPosition === 'top'" data-slot="group" :class="b24ui.group({ class: uiProp?.group })">
|
|
542
534
|
<ReuseCreateItemTemplate />
|
|
543
535
|
</ComboboxGroup>
|
|
544
536
|
|
|
545
|
-
<ComboboxGroup v-for="(group, groupIndex) in filteredGroups" :key="`group-${groupIndex}`" data-slot="group" :class="b24ui.group({ class:
|
|
537
|
+
<ComboboxGroup v-for="(group, groupIndex) in filteredGroups" :key="`group-${groupIndex}`" data-slot="group" :class="b24ui.group({ class: uiProp?.group })">
|
|
546
538
|
<ReuseItemTemplate v-for="(item, index) in group" :key="`group-${groupIndex}-${index}`" :item="item" :index="index" />
|
|
547
539
|
</ComboboxGroup>
|
|
548
540
|
|
|
549
|
-
<ComboboxGroup v-if="createItem && createItemPosition === 'bottom'" data-slot="group" :class="b24ui.group({ class:
|
|
541
|
+
<ComboboxGroup v-if="createItem && createItemPosition === 'bottom'" data-slot="group" :class="b24ui.group({ class: uiProp?.group })">
|
|
550
542
|
<ReuseCreateItemTemplate />
|
|
551
543
|
</ComboboxGroup>
|
|
552
544
|
</template>
|
|
@@ -554,7 +546,7 @@ defineExpose({
|
|
|
554
546
|
|
|
555
547
|
<slot name="content-bottom" />
|
|
556
548
|
|
|
557
|
-
<ComboboxArrow v-if="!!arrow" v-bind="arrowProps" data-slot="arrow" :class="b24ui.arrow({ class:
|
|
549
|
+
<ComboboxArrow v-if="!!arrow" v-bind="arrowProps" data-slot="arrow" :class="b24ui.arrow({ class: uiProp?.arrow })" />
|
|
558
550
|
</ComboboxContent>
|
|
559
551
|
</ComboboxPortal>
|
|
560
552
|
</ComboboxRoot>
|