@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
|
@@ -8,6 +8,7 @@ import { NavigationMenuRoot, NavigationMenuList, NavigationMenuItem, NavigationM
|
|
|
8
8
|
import { defu } from "defu";
|
|
9
9
|
import { reactivePick, createReusableTemplate } from "@vueuse/core";
|
|
10
10
|
import { useAppConfig } from "#imports";
|
|
11
|
+
import { useComponentUI } from "../composables/useComponentUI";
|
|
11
12
|
import { get, isArrayOfArray } from "../utils";
|
|
12
13
|
import { tv } from "../utils/tv";
|
|
13
14
|
import { pickLinkProps } from "../utils/link";
|
|
@@ -16,6 +17,7 @@ import B24LinkBase from "./LinkBase.vue";
|
|
|
16
17
|
import B24Link from "./Link.vue";
|
|
17
18
|
import B24Avatar from "./Avatar.vue";
|
|
18
19
|
import B24Badge from "./Badge.vue";
|
|
20
|
+
import B24Chip from "./Chip.vue";
|
|
19
21
|
import B24Popover from "./Popover.vue";
|
|
20
22
|
import B24Tooltip from "./Tooltip.vue";
|
|
21
23
|
defineOptions({ inheritAttrs: false });
|
|
@@ -48,6 +50,7 @@ const props = defineProps({
|
|
|
48
50
|
const emits = defineEmits(["update:modelValue"]);
|
|
49
51
|
const slots = defineSlots();
|
|
50
52
|
const appConfig = useAppConfig();
|
|
53
|
+
const uiProp = useComponentUI("navigationMenu", props);
|
|
51
54
|
const rootProps = useForwardPropsEmits(computed(() => ({
|
|
52
55
|
as: props.as,
|
|
53
56
|
delayDuration: props.delayDuration,
|
|
@@ -60,14 +63,15 @@ const rootProps = useForwardPropsEmits(computed(() => ({
|
|
|
60
63
|
})), emits);
|
|
61
64
|
const accordionProps = useForwardPropsEmits(reactivePick(props, "collapsible", "disabled", "type", "unmountOnHide"), emits);
|
|
62
65
|
const contentProps = toRef(() => props.content);
|
|
63
|
-
const tooltipProps = toRef(() => defu(typeof props.tooltip === "boolean" ? {} : props.tooltip, { delayDuration: 0, content: { side: "right" } }));
|
|
66
|
+
const tooltipProps = toRef(() => defu(typeof props.tooltip === "boolean" ? {} : props.tooltip, { ...props.orientation === "vertical" && { delayDuration: 0, content: { side: "right" } } }));
|
|
64
67
|
const popoverProps = toRef(() => defu(typeof props.popover === "boolean" ? {} : props.popover, { arrow: true, mode: "hover", content: { side: "right", align: "center", alignOffset: 2 } }));
|
|
65
68
|
const [DefineLinkTemplate, ReuseLinkTemplate] = createReusableTemplate();
|
|
66
69
|
const [DefineItemTemplate, ReuseItemTemplate] = createReusableTemplate({
|
|
67
70
|
props: {
|
|
68
71
|
item: Object,
|
|
69
72
|
index: Number,
|
|
70
|
-
level: Number
|
|
73
|
+
level: Number,
|
|
74
|
+
listIndex: Number
|
|
71
75
|
}
|
|
72
76
|
});
|
|
73
77
|
const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.navigationMenu || {} })({
|
|
@@ -77,21 +81,36 @@ const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.navigat
|
|
|
77
81
|
const lists = computed(
|
|
78
82
|
() => props.items?.length ? isArrayOfArray(props.items) ? props.items : [props.items] : []
|
|
79
83
|
);
|
|
80
|
-
function
|
|
84
|
+
function getItemValue(item, index, level, listIndex) {
|
|
85
|
+
const prefix = lists.value.length > 1 ? `group-${listIndex}-` : "";
|
|
86
|
+
return get(item, props.valueKey) ?? (level > 0 ? `${prefix}item-${level}-${index}` : `${prefix}item-${index}`);
|
|
87
|
+
}
|
|
88
|
+
function getAccordionDefaultValue(list, level = 0, listIndex = 0) {
|
|
81
89
|
const indexes = list.reduce((acc, item, index) => {
|
|
82
90
|
if (item.defaultOpen || item.open) {
|
|
83
|
-
acc.push(
|
|
91
|
+
acc.push(getItemValue(item, index, level, listIndex));
|
|
84
92
|
}
|
|
85
93
|
return acc;
|
|
86
94
|
}, []);
|
|
87
95
|
return props.type === "single" ? indexes[0] : indexes;
|
|
88
96
|
}
|
|
97
|
+
function onLinkTrailingClick(e, item) {
|
|
98
|
+
if (!item.children?.length) {
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
if (props.orientation === "horizontal") {
|
|
102
|
+
e.preventDefault();
|
|
103
|
+
} else if (props.orientation === "vertical" && !props.collapsed) {
|
|
104
|
+
e.preventDefault();
|
|
105
|
+
e.stopPropagation();
|
|
106
|
+
}
|
|
107
|
+
}
|
|
89
108
|
</script>
|
|
90
109
|
|
|
91
110
|
<template>
|
|
92
111
|
<DefineLinkTemplate v-slot="{ item, active, index }">
|
|
93
112
|
<slot :name="item.slot || 'item'" :item="item" :index="index" :active="active" :b24ui="b24ui">
|
|
94
|
-
<span data-slot="linkLabelWrapper" :class="b24ui.linkLabelWrapper({ class:
|
|
113
|
+
<span data-slot="linkLabelWrapper" :class="b24ui.linkLabelWrapper({ class: uiProp?.linkLabelWrapper, active })">
|
|
95
114
|
<slot
|
|
96
115
|
:name="item.slot ? `${item.slot}-leading` : 'item-leading'"
|
|
97
116
|
:item="item"
|
|
@@ -100,52 +119,65 @@ function getAccordionDefaultValue(list, level = 0) {
|
|
|
100
119
|
:b24ui="b24ui"
|
|
101
120
|
>
|
|
102
121
|
<template v-if="orientation === 'vertical' && item.type !== 'label'">
|
|
122
|
+
<B24Chip
|
|
123
|
+
v-if="item.icon && item.chip"
|
|
124
|
+
:size="item.b24ui?.linkLeadingChipSize || uiProp?.linkLeadingChipSize || b24ui.linkLeadingChipSize()"
|
|
125
|
+
inset
|
|
126
|
+
v-bind="typeof item.chip === 'object' ? item.chip : {}"
|
|
127
|
+
data-slot="linkLeadingChip"
|
|
128
|
+
>
|
|
129
|
+
<Component
|
|
130
|
+
:is="item.icon"
|
|
131
|
+
data-slot="linkLeadingIcon"
|
|
132
|
+
:class="b24ui.linkLeadingIcon({ class: [uiProp?.linkLeadingIcon, item.b24ui?.linkLeadingIcon], active, disabled: !!item.disabled })"
|
|
133
|
+
/>
|
|
134
|
+
</B24Chip>
|
|
103
135
|
<Component
|
|
104
136
|
:is="item.icon"
|
|
105
|
-
v-if="item.icon"
|
|
137
|
+
v-else-if="item.icon"
|
|
106
138
|
data-slot="linkLeadingIcon"
|
|
107
|
-
:class="b24ui.linkLeadingIcon({ class: [
|
|
139
|
+
:class="b24ui.linkLeadingIcon({ class: [uiProp?.linkLeadingIcon, item.b24ui?.linkLeadingIcon], active, disabled: !!item.disabled })"
|
|
108
140
|
/>
|
|
109
141
|
<B24Avatar
|
|
110
142
|
v-else-if="item.avatar"
|
|
111
|
-
:size="item.b24ui?.linkLeadingAvatarSize ||
|
|
143
|
+
:size="item.b24ui?.linkLeadingAvatarSize || uiProp?.linkLeadingAvatarSize || b24ui.linkLeadingAvatarSize()"
|
|
112
144
|
v-bind="item.avatar"
|
|
113
145
|
data-slot="linkLeadingAvatar"
|
|
114
|
-
:class="b24ui.linkLeadingAvatar({ class: [
|
|
146
|
+
:class="b24ui.linkLeadingAvatar({ class: [uiProp?.linkLeadingAvatar, item.b24ui?.linkLeadingAvatar], active, disabled: !!item.disabled })"
|
|
115
147
|
/>
|
|
116
148
|
</template>
|
|
117
149
|
<div
|
|
118
150
|
v-if="item.hint && item.type !== 'label' && orientation === 'horizontal'"
|
|
119
151
|
data-slot="linkLeadingHint"
|
|
120
|
-
:class="b24ui.linkLeadingHint({ class: [
|
|
152
|
+
:class="b24ui.linkLeadingHint({ class: [uiProp?.linkLeadingHint, item.b24ui?.linkLeadingHint] })"
|
|
121
153
|
>
|
|
122
154
|
{{ item.hint }}
|
|
123
155
|
</div>
|
|
124
156
|
<B24Badge
|
|
125
157
|
v-if="(item.badge || item.badge === 0) && item.type !== 'label'"
|
|
126
158
|
color="air-primary-alert"
|
|
127
|
-
:size="item.b24ui?.linkLeadingBadgeSize ||
|
|
159
|
+
:size="item.b24ui?.linkLeadingBadgeSize || uiProp?.linkLeadingBadgeSize || b24ui.linkLeadingBadgeSize()"
|
|
128
160
|
v-bind="typeof item.badge === 'string' || typeof item.badge === 'number' ? { label: item.badge } : item.badge"
|
|
129
161
|
data-slot="linkLeadingBadge"
|
|
130
|
-
:class="b24ui.linkLeadingBadge({ class: [
|
|
162
|
+
:class="b24ui.linkLeadingBadge({ class: [uiProp?.linkLeadingBadge, item.b24ui?.linkLeadingBadge] })"
|
|
131
163
|
/>
|
|
132
164
|
</slot>
|
|
133
165
|
|
|
134
166
|
<span
|
|
135
167
|
v-if="get(item, props.labelKey) || !!slots[item.slot ? `${item.slot}-label` : 'item-label']"
|
|
136
168
|
data-slot="linkLabel"
|
|
137
|
-
:class="b24ui.linkLabel({ class: [
|
|
169
|
+
:class="b24ui.linkLabel({ class: [uiProp?.linkLabel, item.b24ui?.linkLabel], active })"
|
|
138
170
|
>
|
|
139
171
|
<slot :name="item.slot ? `${item.slot}-label` : 'item-label'" :item="item" :active="active" :index="index">
|
|
140
172
|
{{ get(item, props.labelKey) }}
|
|
141
173
|
</slot>
|
|
142
|
-
<Component
|
|
143
|
-
:is="typeof externalIcon !== 'boolean' ? externalIcon : icons.external"
|
|
144
|
-
v-if="item.target === '_blank' && externalIcon !== false"
|
|
145
|
-
data-slot="linkLabelExternalIcon"
|
|
146
|
-
:class="b24ui.linkLabelExternalIcon({ class: [props.b24ui?.linkLabelExternalIcon, item.b24ui?.linkLabelExternalIcon], active })"
|
|
147
|
-
/>
|
|
148
174
|
</span>
|
|
175
|
+
<Component
|
|
176
|
+
:is="typeof externalIcon !== 'boolean' ? externalIcon : icons.external"
|
|
177
|
+
v-if="item.target === '_blank' && externalIcon !== false"
|
|
178
|
+
data-slot="linkLabelExternalIcon"
|
|
179
|
+
:class="b24ui.linkLabelExternalIcon({ class: [uiProp?.linkLabelExternalIcon, item.b24ui?.linkLabelExternalIcon], active })"
|
|
180
|
+
/>
|
|
149
181
|
</span>
|
|
150
182
|
|
|
151
183
|
<component
|
|
@@ -154,10 +186,10 @@ function getAccordionDefaultValue(list, level = 0) {
|
|
|
154
186
|
/* (item.badge || item.badge === 0) || */
|
|
155
187
|
orientation === 'horizontal' && (item.children?.length || !!slots[item.slot ? `${item.slot}-content` : 'item-content']) || orientation === 'vertical' && item.children?.length || item.trailingIcon || !!slots[item.slot ? `${item.slot}-trailing` : 'item-trailing']
|
|
156
188
|
"
|
|
157
|
-
as="span"
|
|
189
|
+
:as="orientation === 'vertical' && item.children?.length && !collapsed ? 'span' : void 0"
|
|
158
190
|
data-slot="linkTrailing"
|
|
159
|
-
:class="b24ui.linkTrailing({ class: [
|
|
160
|
-
@click
|
|
191
|
+
:class="b24ui.linkTrailing({ class: [uiProp?.linkTrailing, item.b24ui?.linkTrailing] })"
|
|
192
|
+
@click="(e) => onLinkTrailingClick(e, item)"
|
|
161
193
|
>
|
|
162
194
|
<slot
|
|
163
195
|
:name="item.slot ? `${item.slot}-trailing` : 'item-trailing'"
|
|
@@ -170,29 +202,29 @@ function getAccordionDefaultValue(list, level = 0) {
|
|
|
170
202
|
:is="item.trailingIcon || trailingIcon || icons.chevronDown"
|
|
171
203
|
v-if="orientation === 'horizontal' && (item.children?.length || !!slots[item.slot ? `${item.slot}-content` : 'item-content']) || orientation === 'vertical' && item.children?.length"
|
|
172
204
|
data-slot="linkTrailingIcon"
|
|
173
|
-
:class="b24ui.linkTrailingIcon({ class: [
|
|
205
|
+
:class="b24ui.linkTrailingIcon({ class: [uiProp?.linkTrailingIcon, item.b24ui?.linkTrailingIcon], active })"
|
|
174
206
|
/>
|
|
175
207
|
<Component
|
|
176
208
|
:is="item.trailingIcon"
|
|
177
209
|
v-else-if="item.trailingIcon"
|
|
178
210
|
data-slot="linkTrailingIcon"
|
|
179
|
-
:class="b24ui.linkTrailingIcon({ class: [
|
|
211
|
+
:class="b24ui.linkTrailingIcon({ class: [uiProp?.linkTrailingIcon, item.b24ui?.linkTrailingIcon], active })"
|
|
180
212
|
/>
|
|
181
213
|
</slot>
|
|
182
214
|
</component>
|
|
183
215
|
</slot>
|
|
184
216
|
</DefineLinkTemplate>
|
|
185
217
|
|
|
186
|
-
<DefineItemTemplate v-slot="{ item, index, level = 0 }">
|
|
218
|
+
<DefineItemTemplate v-slot="{ item, index, level = 0, listIndex = 0 }">
|
|
187
219
|
<component
|
|
188
220
|
:is="orientation === 'vertical' && !collapsed ? AccordionItem : NavigationMenuItem"
|
|
189
221
|
as="li"
|
|
190
|
-
:value="
|
|
222
|
+
:value="getItemValue(item, index, level, listIndex)"
|
|
191
223
|
>
|
|
192
224
|
<div
|
|
193
225
|
v-if="orientation === 'vertical' && item.type === 'label' && !collapsed"
|
|
194
226
|
data-slot="label"
|
|
195
|
-
:class="b24ui.label({ class: [
|
|
227
|
+
:class="b24ui.label({ class: [uiProp?.label, item.b24ui?.label, item.class] })"
|
|
196
228
|
>
|
|
197
229
|
<ReuseLinkTemplate :item="item" :index="index" />
|
|
198
230
|
</div>
|
|
@@ -212,13 +244,13 @@ function getAccordionDefaultValue(list, level = 0) {
|
|
|
212
244
|
<B24Popover
|
|
213
245
|
v-if="orientation === 'vertical' && collapsed && item.children?.length && (!!props.popover || !!item.popover)"
|
|
214
246
|
v-bind="{ ...popoverProps, ...typeof item.popover === 'boolean' ? {} : item.popover || {} }"
|
|
215
|
-
:b24ui="{ content: b24ui.content({ class: [
|
|
247
|
+
:b24ui="{ content: b24ui.content({ class: [uiProp?.content, item.b24ui?.content] }) }"
|
|
216
248
|
>
|
|
217
249
|
<B24LinkBase
|
|
218
250
|
v-bind="slotProps"
|
|
219
251
|
data-slot="link"
|
|
220
252
|
:class="b24ui.link({
|
|
221
|
-
class: [
|
|
253
|
+
class: [uiProp?.link, item.b24ui?.link, item.class],
|
|
222
254
|
active: active || item.active,
|
|
223
255
|
disabled: !!item.disabled,
|
|
224
256
|
level: level > 0
|
|
@@ -228,7 +260,7 @@ function getAccordionDefaultValue(list, level = 0) {
|
|
|
228
260
|
</B24LinkBase>
|
|
229
261
|
|
|
230
262
|
<template #content="{ close }">
|
|
231
|
-
<div data-slot="popoverWrapper" :class="b24ui.popoverWrapper({ class:
|
|
263
|
+
<div data-slot="popoverWrapper" :class="b24ui.popoverWrapper({ class: uiProp?.popoverWrapper })">
|
|
232
264
|
<slot
|
|
233
265
|
:name="item.slot ? `${item.slot}-content` : 'item-content'"
|
|
234
266
|
:item="item"
|
|
@@ -237,45 +269,58 @@ function getAccordionDefaultValue(list, level = 0) {
|
|
|
237
269
|
:b24ui="b24ui"
|
|
238
270
|
:close="close"
|
|
239
271
|
>
|
|
240
|
-
<ul data-slot="childList" :class="b24ui.childList({ class: [
|
|
241
|
-
<li data-slot="childLabel" :class="b24ui.childLabel({ class: [
|
|
272
|
+
<ul data-slot="childList" :class="b24ui.childList({ class: [uiProp?.childList, item.b24ui?.childList] })">
|
|
273
|
+
<li data-slot="childLabel" :class="b24ui.childLabel({ class: [uiProp?.childLabel, item.b24ui?.childLabel] })">
|
|
242
274
|
{{ get(item, props.labelKey) }}
|
|
243
275
|
</li>
|
|
244
276
|
<li
|
|
245
277
|
v-for="(childItem, childIndex) in item.children"
|
|
246
278
|
:key="childIndex"
|
|
247
279
|
data-slot="childItem"
|
|
248
|
-
:class="b24ui.childItem({ class: [
|
|
280
|
+
:class="b24ui.childItem({ class: [uiProp?.childItem, item.b24ui?.childItem] })"
|
|
249
281
|
>
|
|
250
282
|
<B24Link v-slot="{ active: childActive, ...childSlotProps }" v-bind="pickLinkProps(childItem)" custom>
|
|
251
283
|
<NavigationMenuLink as-child :active="childActive" @select="childItem.onSelect">
|
|
252
284
|
<B24LinkBase
|
|
253
285
|
v-bind="childSlotProps"
|
|
254
286
|
data-slot="childLink"
|
|
255
|
-
:class="b24ui.childLink({ class: [
|
|
287
|
+
:class="b24ui.childLink({ class: [uiProp?.childLink, item.b24ui?.childLink, childItem.class], active: childActive })"
|
|
256
288
|
>
|
|
289
|
+
<B24Chip
|
|
290
|
+
v-if="childItem.icon && childItem.chip"
|
|
291
|
+
:size="childItem.b24ui?.linkLeadingChipSize || uiProp?.linkLeadingChipSize || b24ui.linkLeadingChipSize()"
|
|
292
|
+
inset
|
|
293
|
+
v-bind="typeof childItem.chip === 'object' ? childItem.chip : {}"
|
|
294
|
+
data-slot="linkLeadingChip"
|
|
295
|
+
>
|
|
296
|
+
<Component
|
|
297
|
+
:is="childItem.icon"
|
|
298
|
+
data-slot="childLinkIcon"
|
|
299
|
+
:class="b24ui.childLinkIcon({ class: [uiProp?.childLinkIcon, item.b24ui?.childLinkIcon], active: childActive })"
|
|
300
|
+
/>
|
|
301
|
+
</B24Chip>
|
|
257
302
|
<Component
|
|
258
303
|
:is="childItem.icon"
|
|
259
|
-
v-if="childItem.icon"
|
|
304
|
+
v-else-if="childItem.icon"
|
|
260
305
|
data-slot="childLinkIcon"
|
|
261
|
-
:class="b24ui.childLinkIcon({ class: [
|
|
306
|
+
:class="b24ui.childLinkIcon({ class: [uiProp?.childLinkIcon, item.b24ui?.childLinkIcon], active: childActive })"
|
|
262
307
|
/>
|
|
263
308
|
<div
|
|
264
309
|
v-if="childItem.hint"
|
|
265
310
|
data-slot="childLinkHint"
|
|
266
|
-
:class="b24ui.childLinkHint({ class: [
|
|
311
|
+
:class="b24ui.childLinkHint({ class: [uiProp?.childLinkHint, item.b24ui?.childLinkHint] })"
|
|
267
312
|
>
|
|
268
313
|
{{ childItem.hint }}
|
|
269
314
|
</div>
|
|
270
315
|
|
|
271
|
-
<span data-slot="childLinkLabel" :class="b24ui.childLinkLabel({ class: [
|
|
316
|
+
<span data-slot="childLinkLabel" :class="b24ui.childLinkLabel({ class: [uiProp?.childLinkLabel, item.b24ui?.childLinkLabel], active: childActive })">
|
|
272
317
|
{{ get(childItem, props.labelKey) }}
|
|
273
318
|
</span>
|
|
274
319
|
<Component
|
|
275
320
|
:is="typeof externalIcon === 'boolean' ? icons.external : externalIcon"
|
|
276
321
|
v-if="childItem.target === '_blank' && externalIcon !== false"
|
|
277
322
|
data-slot="childLinkLabelExternalIcon"
|
|
278
|
-
:class="b24ui.childLinkLabelExternalIcon({ class: [
|
|
323
|
+
:class="b24ui.childLinkLabelExternalIcon({ class: [uiProp?.childLinkLabelExternalIcon, item.b24ui?.childLinkLabelExternalIcon], active: childActive })"
|
|
279
324
|
/>
|
|
280
325
|
</B24LinkBase>
|
|
281
326
|
</NavigationMenuLink>
|
|
@@ -287,7 +332,7 @@ function getAccordionDefaultValue(list, level = 0) {
|
|
|
287
332
|
</template>
|
|
288
333
|
</B24Popover>
|
|
289
334
|
<B24Tooltip
|
|
290
|
-
v-else-if="orientation === 'vertical' && collapsed && (!!props.tooltip || !!item.tooltip)"
|
|
335
|
+
v-else-if="orientation === 'vertical' && collapsed && (!!props.tooltip || !!item.tooltip) || orientation === 'horizontal' && !!item.tooltip"
|
|
291
336
|
:text="get(item, props.labelKey)"
|
|
292
337
|
v-bind="{ ...tooltipProps, ...typeof item.tooltip === 'boolean' ? {} : item.tooltip || {} }"
|
|
293
338
|
>
|
|
@@ -295,7 +340,7 @@ function getAccordionDefaultValue(list, level = 0) {
|
|
|
295
340
|
v-bind="slotProps"
|
|
296
341
|
data-slot="link"
|
|
297
342
|
:class="b24ui.link({
|
|
298
|
-
class: [
|
|
343
|
+
class: [uiProp?.link, item.b24ui?.link, item.class],
|
|
299
344
|
active: active || item.active,
|
|
300
345
|
disabled: !!item.disabled,
|
|
301
346
|
level: level > 0
|
|
@@ -309,7 +354,7 @@ function getAccordionDefaultValue(list, level = 0) {
|
|
|
309
354
|
v-bind="slotProps"
|
|
310
355
|
data-slot="link"
|
|
311
356
|
:class="b24ui.link({
|
|
312
|
-
class: [
|
|
357
|
+
class: [uiProp?.link, item.b24ui?.link, item.class],
|
|
313
358
|
active: active || item.active,
|
|
314
359
|
disabled: !!item.disabled,
|
|
315
360
|
level: orientation === 'horizontal' || level > 0
|
|
@@ -324,7 +369,7 @@ function getAccordionDefaultValue(list, level = 0) {
|
|
|
324
369
|
v-bind="contentProps"
|
|
325
370
|
:data-viewport="item.viewportRtl ? 'rtl' : 'ltr'"
|
|
326
371
|
data-slot="content"
|
|
327
|
-
:class="b24ui.content({ class: [
|
|
372
|
+
:class="b24ui.content({ class: [uiProp?.content, item.b24ui?.content] })"
|
|
328
373
|
>
|
|
329
374
|
<slot
|
|
330
375
|
:name="item.slot ? `${item.slot}-content` : 'item-content'"
|
|
@@ -333,12 +378,12 @@ function getAccordionDefaultValue(list, level = 0) {
|
|
|
333
378
|
:index="index"
|
|
334
379
|
:b24ui="b24ui"
|
|
335
380
|
>
|
|
336
|
-
<ul data-slot="childList" :class="b24ui.childList({ class: [
|
|
381
|
+
<ul data-slot="childList" :class="b24ui.childList({ class: [uiProp?.childList, item.b24ui?.childList] })">
|
|
337
382
|
<li
|
|
338
383
|
v-for="(childItem, childIndex) in item.children"
|
|
339
384
|
:key="childIndex"
|
|
340
385
|
data-slot="childItem"
|
|
341
|
-
:class="b24ui.childItem({ class: [
|
|
386
|
+
:class="b24ui.childItem({ class: [uiProp?.childItem, item.b24ui?.childItem] })"
|
|
342
387
|
>
|
|
343
388
|
<B24Link
|
|
344
389
|
v-slot="{ active: childActive, ...childSlotProps }"
|
|
@@ -349,40 +394,53 @@ function getAccordionDefaultValue(list, level = 0) {
|
|
|
349
394
|
<B24LinkBase
|
|
350
395
|
v-bind="childSlotProps"
|
|
351
396
|
data-slot="childLink"
|
|
352
|
-
:class="b24ui.childLink({ class: [
|
|
397
|
+
:class="b24ui.childLink({ class: [uiProp?.childLink, childItem.childLink, childItem.class], active: childActive })"
|
|
353
398
|
>
|
|
399
|
+
<B24Chip
|
|
400
|
+
v-if="childItem.icon && childItem.chip"
|
|
401
|
+
:size="childItem.b24ui?.linkLeadingChipSize || uiProp?.linkLeadingChipSize || b24ui.linkLeadingChipSize()"
|
|
402
|
+
inset
|
|
403
|
+
v-bind="typeof childItem.chip === 'object' ? childItem.chip : {}"
|
|
404
|
+
data-slot="linkLeadingChip"
|
|
405
|
+
>
|
|
406
|
+
<Component
|
|
407
|
+
:is="childItem.icon"
|
|
408
|
+
data-slot="childLinkIcon"
|
|
409
|
+
:class="b24ui.childLinkIcon({ class: [uiProp?.childLinkIcon, item.b24ui?.childLinkIcon], active: childActive })"
|
|
410
|
+
/>
|
|
411
|
+
</B24Chip>
|
|
354
412
|
<Component
|
|
355
413
|
:is="childItem.icon"
|
|
356
|
-
v-if="childItem.icon"
|
|
414
|
+
v-else-if="childItem.icon"
|
|
357
415
|
data-slot="childLinkIcon"
|
|
358
|
-
:class="b24ui.childLinkIcon({ class: [
|
|
416
|
+
:class="b24ui.childLinkIcon({ class: [uiProp?.childLinkIcon, item.b24ui?.childLinkIcon], active: childActive })"
|
|
359
417
|
/>
|
|
360
418
|
|
|
361
419
|
<div
|
|
362
420
|
v-if="childItem.hint"
|
|
363
421
|
data-slot="childLinkHint"
|
|
364
|
-
:class="b24ui.childLinkHint({ class: [
|
|
422
|
+
:class="b24ui.childLinkHint({ class: [uiProp?.childLinkHint, item.b24ui?.childLinkHint] })"
|
|
365
423
|
>
|
|
366
424
|
{{ childItem.hint }}
|
|
367
425
|
</div>
|
|
368
|
-
<div data-slot="childLinkWrapper" :class="b24ui.childLinkWrapper({ class: [
|
|
369
|
-
<p data-slot="childLinkLabel" :class="b24ui.childLinkLabel({ class: [
|
|
426
|
+
<div data-slot="childLinkWrapper" :class="b24ui.childLinkWrapper({ class: [uiProp?.childLinkWrapper, item.b24ui?.childLinkWrapper] })">
|
|
427
|
+
<p data-slot="childLinkLabel" :class="b24ui.childLinkLabel({ class: [uiProp?.childLinkLabel, item.b24ui?.childLinkLabel], active: childActive })">
|
|
370
428
|
{{ get(childItem, props.labelKey) }}
|
|
371
429
|
</p>
|
|
372
430
|
<B24Badge
|
|
373
431
|
v-if="childItem.badge !== void 0"
|
|
374
432
|
color="air-primary-alert"
|
|
375
|
-
:size="item.b24ui?.childLinkBadgeSize ||
|
|
433
|
+
:size="item.b24ui?.childLinkBadgeSize || uiProp?.childLinkBadgeSize || b24ui.childLinkBadgeSize()"
|
|
376
434
|
v-bind="typeof childItem.badge === 'string' || typeof childItem.badge === 'number' ? { label: childItem.badge } : childItem.badge"
|
|
377
435
|
data-slot="childLinkBadge"
|
|
378
|
-
:class="b24ui.childLinkBadge({ class: [
|
|
436
|
+
:class="b24ui.childLinkBadge({ class: [uiProp?.childLinkBadge, item.b24ui?.childLinkBadge] })"
|
|
379
437
|
/>
|
|
380
438
|
</div>
|
|
381
439
|
<Component
|
|
382
440
|
:is="typeof externalIcon === 'boolean' ? icons.external : externalIcon"
|
|
383
441
|
v-if="childItem.target === '_blank' && externalIcon !== false"
|
|
384
442
|
data-slot="childLinkLabelExternalIcon"
|
|
385
|
-
:class="b24ui.childLinkLabelExternalIcon({ class: [
|
|
443
|
+
:class="b24ui.childLinkLabelExternalIcon({ class: [uiProp?.childLinkLabelExternalIcon, item.b24ui?.childLinkLabelExternalIcon], active: childActive })"
|
|
386
444
|
/>
|
|
387
445
|
</B24LinkBase>
|
|
388
446
|
</NavigationMenuLink>
|
|
@@ -396,16 +454,16 @@ function getAccordionDefaultValue(list, level = 0) {
|
|
|
396
454
|
<AccordionContent
|
|
397
455
|
v-if="orientation === 'vertical' && item.children?.length && !collapsed"
|
|
398
456
|
data-slot="content"
|
|
399
|
-
:class="b24ui.content({ class: [
|
|
457
|
+
:class="b24ui.content({ class: [uiProp?.content, item.b24ui?.content] })"
|
|
400
458
|
>
|
|
401
459
|
<AccordionRoot
|
|
402
460
|
v-bind="{
|
|
403
461
|
...accordionProps,
|
|
404
|
-
defaultValue: getAccordionDefaultValue(item.children, level + 1)
|
|
462
|
+
defaultValue: getAccordionDefaultValue(item.children, level + 1, listIndex)
|
|
405
463
|
}"
|
|
406
464
|
as="ul"
|
|
407
465
|
data-slot="childList"
|
|
408
|
-
:class="b24ui.childList({ class:
|
|
466
|
+
:class="b24ui.childList({ class: uiProp?.childList })"
|
|
409
467
|
>
|
|
410
468
|
<ReuseItemTemplate
|
|
411
469
|
v-for="(childItem, childIndex) in item.children"
|
|
@@ -413,8 +471,9 @@ function getAccordionDefaultValue(list, level = 0) {
|
|
|
413
471
|
:item="childItem"
|
|
414
472
|
:index="childIndex"
|
|
415
473
|
:level="level + 1"
|
|
474
|
+
:list-index="listIndex"
|
|
416
475
|
data-slot="childItem"
|
|
417
|
-
:class="b24ui.childItem({ class: [
|
|
476
|
+
:class="b24ui.childItem({ class: [uiProp?.childItem, childItem.b24ui?.childItem] })"
|
|
418
477
|
/>
|
|
419
478
|
</AccordionRoot>
|
|
420
479
|
</AccordionContent>
|
|
@@ -433,7 +492,7 @@ function getAccordionDefaultValue(list, level = 0) {
|
|
|
433
492
|
:data-collapsed="collapsed"
|
|
434
493
|
data-component="section"
|
|
435
494
|
data-slot="root"
|
|
436
|
-
:class="b24ui.root({ class: [
|
|
495
|
+
:class="b24ui.root({ class: [uiProp?.root, props.class] })"
|
|
437
496
|
>
|
|
438
497
|
<slot name="list-leading" />
|
|
439
498
|
|
|
@@ -442,30 +501,31 @@ function getAccordionDefaultValue(list, level = 0) {
|
|
|
442
501
|
v-bind="orientation === 'vertical' && !collapsed ? {
|
|
443
502
|
...accordionProps,
|
|
444
503
|
modelValue,
|
|
445
|
-
defaultValue: defaultValue ?? getAccordionDefaultValue(list)
|
|
504
|
+
defaultValue: defaultValue ?? getAccordionDefaultValue(list, 0, listIndex)
|
|
446
505
|
} : {}"
|
|
447
506
|
:is="orientation === 'vertical' ? AccordionRoot : NavigationMenuList"
|
|
448
507
|
as="ul"
|
|
449
508
|
data-slot="list"
|
|
450
|
-
:class="b24ui.list({ class:
|
|
509
|
+
:class="b24ui.list({ class: uiProp?.list })"
|
|
451
510
|
>
|
|
452
511
|
<ReuseItemTemplate
|
|
453
512
|
v-for="(item, index) in list"
|
|
454
513
|
:key="`list-${listIndex}-${index}`"
|
|
455
514
|
:item="item"
|
|
456
515
|
:index="index"
|
|
516
|
+
:list-index="listIndex"
|
|
457
517
|
data-slot="item"
|
|
458
|
-
:class="b24ui.item({ class: [
|
|
518
|
+
:class="b24ui.item({ class: [uiProp?.item, item.b24ui?.item] })"
|
|
459
519
|
/>
|
|
460
520
|
</component>
|
|
461
521
|
|
|
462
|
-
<div v-if="orientation === 'vertical' && listIndex < lists.length - 1" data-slot="separator" :class="b24ui.separator({ class:
|
|
522
|
+
<div v-if="orientation === 'vertical' && listIndex < lists.length - 1" data-slot="separator" :class="b24ui.separator({ class: uiProp?.separator })" />
|
|
463
523
|
</template>
|
|
464
524
|
|
|
465
525
|
<slot name="list-trailing" />
|
|
466
526
|
|
|
467
|
-
<div v-if="orientation === 'horizontal'" data-slot="viewportWrapper" :class="b24ui.viewportWrapper({ class:
|
|
468
|
-
<NavigationMenuViewport data-slot="viewport" :class="b24ui.viewport({ class:
|
|
527
|
+
<div v-if="orientation === 'horizontal'" data-slot="viewportWrapper" :class="b24ui.viewportWrapper({ class: uiProp?.viewportWrapper })">
|
|
528
|
+
<NavigationMenuViewport data-slot="viewport" :class="b24ui.viewport({ class: uiProp?.viewport })" />
|
|
469
529
|
</div>
|
|
470
530
|
</NavigationMenuRoot>
|
|
471
531
|
</template>
|
|
@@ -1,18 +1,15 @@
|
|
|
1
1
|
import type { NavigationMenuRootProps, NavigationMenuContentProps, NavigationMenuContentEmits, AccordionRootProps } from 'reka-ui';
|
|
2
2
|
import type { AppConfig } from '@nuxt/schema';
|
|
3
3
|
import theme from '#build/b24ui/navigation-menu';
|
|
4
|
-
import type { AvatarProps, BadgeProps, IconComponent, LinkProps, PopoverProps, TooltipProps } from '../types';
|
|
4
|
+
import type { AvatarProps, BadgeProps, ChipProps, IconComponent, LinkProps, PopoverProps, TooltipProps } from '../types';
|
|
5
5
|
import type { ArrayOrNested, DynamicSlots, GetItemKeys, MergeTypes, NestedItem, EmitsToProps } from '../types/utils';
|
|
6
6
|
import type { ComponentConfig } from '../types/tv';
|
|
7
7
|
type NavigationMenu = ComponentConfig<typeof theme, AppConfig, 'navigationMenu'>;
|
|
8
8
|
/**
|
|
9
|
-
* @memo
|
|
10
|
-
*
|
|
11
|
-
* - avatar
|
|
12
|
-
* - b24ui
|
|
13
|
-
* - children - only 1 level
|
|
9
|
+
* @memo only 1 level
|
|
10
|
+
* @memo not use in NavigationMenuChildItem: `b24ui` | `description` | `avatar` | `children` | `description`
|
|
14
11
|
*/
|
|
15
|
-
export interface NavigationMenuChildItem extends Omit<NavigationMenuItem, 'type' | 'b24ui' | 'avatar' | 'children'> {
|
|
12
|
+
export interface NavigationMenuChildItem extends Omit<NavigationMenuItem, 'type' | 'b24ui' | 'avatar' | 'children' | 'description'> {
|
|
16
13
|
[key: string]: any;
|
|
17
14
|
}
|
|
18
15
|
export interface NavigationMenuItem extends Omit<LinkProps, 'type' | 'raw' | 'custom'> {
|
|
@@ -29,16 +26,22 @@ export interface NavigationMenuItem extends Omit<LinkProps, 'type' | 'raw' | 'cu
|
|
|
29
26
|
avatar?: AvatarProps;
|
|
30
27
|
/**
|
|
31
28
|
* Display a badge on the item.
|
|
32
|
-
* `{ size: 'xs', color: 'air-primary-alert' }`{lang="ts"}
|
|
29
|
+
* `{ size: 'xs', color: 'air-primary-alert' }`{lang="ts-type"}
|
|
33
30
|
*/
|
|
34
31
|
badge?: string | number | BadgeProps;
|
|
32
|
+
/**
|
|
33
|
+
* Display a chip around the icon of the item.
|
|
34
|
+
* `{ inset: true }`{lang="ts-type"}
|
|
35
|
+
*/
|
|
36
|
+
chip?: boolean | ChipProps;
|
|
35
37
|
/**
|
|
36
38
|
* Display a hint on the item in `horizontal` orientation.
|
|
37
39
|
*/
|
|
38
40
|
hint?: string;
|
|
39
41
|
/**
|
|
40
|
-
* Display a tooltip on the item
|
|
41
|
-
*
|
|
42
|
+
* Display a tooltip on the item with the label of the item.
|
|
43
|
+
* In `vertical` orientation, only works when the menu is `collapsed`.
|
|
44
|
+
* In `horizontal` orientation, works on any item.
|
|
42
45
|
*/
|
|
43
46
|
tooltip?: boolean | TooltipProps;
|
|
44
47
|
/**
|
|
@@ -60,7 +63,7 @@ export interface NavigationMenuItem extends Omit<LinkProps, 'type' | 'raw' | 'cu
|
|
|
60
63
|
slot?: string;
|
|
61
64
|
/**
|
|
62
65
|
* The value of the item. Avoid using `index` as the value to prevent conflicts in horizontal orientation with Reka UI.
|
|
63
|
-
* @defaultValue `item-${index}`
|
|
66
|
+
* @defaultValue `item-${index}`, `item-${level}-${index}` for nested children, or `group-${listIndex}-item-${index}` when using grouped items
|
|
64
67
|
*/
|
|
65
68
|
value?: string;
|
|
66
69
|
children?: NavigationMenuChildItem[];
|
|
@@ -72,19 +75,14 @@ export interface NavigationMenuItem extends Omit<LinkProps, 'type' | 'raw' | 'cu
|
|
|
72
75
|
open?: boolean;
|
|
73
76
|
onSelect?: (e: Event) => void;
|
|
74
77
|
class?: any;
|
|
75
|
-
b24ui?: Pick<NavigationMenu['slots'], 'item' | 'linkLeadingAvatarSize' | 'linkLeadingAvatar' | 'linkLeadingIcon' | 'linkLabel' | 'linkLabelExternalIcon' | 'linkTrailing' | 'linkLeadingHint' | 'linkLeadingBadgeSize' | 'linkLeadingBadge' | 'linkTrailingIcon' | 'label' | 'link' | 'content' | 'childList' | 'childLabel' | 'childItem' | 'childLink' | 'childLinkIcon' | 'childLinkHint' | 'childLinkBadgeSize' | 'childLinkBadge' | 'childLinkWrapper' | 'childLinkLabel' | 'childLinkLabelExternalIcon' | 'popoverWrapper'>;
|
|
78
|
+
b24ui?: Pick<NavigationMenu['slots'], 'item' | 'linkLeadingAvatarSize' | 'linkLeadingAvatar' | 'linkLeadingIcon' | 'linkLeadingChipSize' | 'linkLabel' | 'linkLabelExternalIcon' | 'linkTrailing' | 'linkLeadingHint' | 'linkLeadingBadgeSize' | 'linkLeadingBadge' | 'linkTrailingIcon' | 'label' | 'link' | 'content' | 'childList' | 'childLabel' | 'childItem' | 'childLink' | 'childLinkIcon' | 'childLinkHint' | 'childLinkBadgeSize' | 'childLinkBadge' | 'childLinkWrapper' | 'childLinkLabel' | 'childLinkLabelExternalIcon' | 'popoverWrapper'>;
|
|
76
79
|
[key: string]: any;
|
|
77
80
|
}
|
|
78
81
|
type SingleOrMultipleType = 'single' | 'multiple';
|
|
79
82
|
type Orientation = NavigationMenu['variants']['orientation'];
|
|
80
83
|
type NavigationMenuModelValue<K extends SingleOrMultipleType = SingleOrMultipleType, O extends Orientation = Orientation> = O extends 'horizontal' ? string : K extends 'single' ? string : K extends 'multiple' ? string[] : string | string[];
|
|
81
84
|
/**
|
|
82
|
-
* @memo remove contentOrientation
|
|
83
|
-
* @memo remove highlight
|
|
84
|
-
* @memo remove highlightColor
|
|
85
|
-
* @memo remove arrow
|
|
86
|
-
* @memo remove color
|
|
87
|
-
* @memo remove variant (link) -> use variant.pill
|
|
85
|
+
* @memo remove contentOrientation | highlight | highlightColor | arrow | color | variant (link) -> use variant.pill
|
|
88
86
|
*/
|
|
89
87
|
export interface NavigationMenuProps<T extends ArrayOrNested<NavigationMenuItem> = ArrayOrNested<NavigationMenuItem>, K extends SingleOrMultipleType = SingleOrMultipleType, O extends Orientation = Orientation> extends Pick<NavigationMenuRootProps, 'delayDuration' | 'disableClickTrigger' | 'disableHoverTrigger' | 'skipDelayDuration' | 'disablePointerLeaveClose' | 'unmountOnHide'>, Pick<AccordionRootProps, 'disabled' | 'collapsible'> {
|
|
90
88
|
/**
|
|
@@ -143,7 +141,8 @@ export interface NavigationMenuProps<T extends ArrayOrNested<NavigationMenuItem>
|
|
|
143
141
|
*/
|
|
144
142
|
collapsed?: boolean;
|
|
145
143
|
/**
|
|
146
|
-
* Display a tooltip on the items
|
|
144
|
+
* Display a tooltip on the items with the label of the item.
|
|
145
|
+
* Only works when `orientation` is `vertical` and `collapsed` is `true`.
|
|
147
146
|
* `{ delayDuration: 0, content: { side: 'right' } }`{lang="ts-type"}
|
|
148
147
|
* @defaultValue false
|
|
149
148
|
*/
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { AppConfig } from '@nuxt/schema';
|
|
2
|
+
import theme from '#build/b24ui/page';
|
|
3
|
+
import type { ComponentConfig } from '../types/tv';
|
|
4
|
+
type Page = ComponentConfig<typeof theme, AppConfig, 'page'>;
|
|
5
|
+
export interface PageProps {
|
|
6
|
+
/**
|
|
7
|
+
* The element or component this component should render as.
|
|
8
|
+
* @defaultValue 'div'
|
|
9
|
+
*/
|
|
10
|
+
as?: any;
|
|
11
|
+
class?: any;
|
|
12
|
+
b24ui?: Page['slots'];
|
|
13
|
+
}
|
|
14
|
+
export interface PageSlots {
|
|
15
|
+
left(props?: {}): any;
|
|
16
|
+
default(props?: {}): any;
|
|
17
|
+
right(props?: {}): any;
|
|
18
|
+
}
|
|
19
|
+
declare const _default: typeof __VLS_export;
|
|
20
|
+
export default _default;
|
|
21
|
+
declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<PageProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<PageProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, PageSlots>;
|
|
22
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
23
|
+
new (): {
|
|
24
|
+
$slots: S;
|
|
25
|
+
};
|
|
26
|
+
};
|