@bitrix24/b24ui-nuxt 0.5.11 → 0.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.nuxt/b24ui/advice.ts +10 -2
- package/.nuxt/b24ui/alert.ts +10 -2
- package/.nuxt/b24ui/avatar-group.ts +10 -2
- package/.nuxt/b24ui/avatar.ts +10 -2
- package/.nuxt/b24ui/badge.ts +10 -2
- package/.nuxt/b24ui/button-group.ts +10 -2
- package/.nuxt/b24ui/button.ts +16 -6
- package/.nuxt/b24ui/calendar.ts +10 -2
- package/.nuxt/b24ui/checkbox.ts +10 -2
- package/.nuxt/b24ui/chip.ts +10 -2
- package/.nuxt/b24ui/collapsible.ts +10 -2
- package/.nuxt/b24ui/container.ts +10 -2
- package/.nuxt/b24ui/countdown.ts +10 -2
- package/.nuxt/b24ui/description-list.ts +10 -2
- package/.nuxt/b24ui/dropdown-menu.ts +10 -2
- package/.nuxt/b24ui/form-field.ts +10 -2
- package/.nuxt/b24ui/form.ts +10 -2
- package/.nuxt/b24ui/input-menu.ts +12 -4
- package/.nuxt/b24ui/input-number.ts +10 -2
- package/.nuxt/b24ui/input.ts +10 -2
- package/.nuxt/b24ui/kbd.ts +10 -2
- package/.nuxt/b24ui/link.ts +10 -2
- package/.nuxt/b24ui/modal.ts +10 -2
- package/.nuxt/b24ui/navbar-divider.ts +10 -2
- package/.nuxt/b24ui/navbar-section.ts +10 -2
- package/.nuxt/b24ui/navbar-spacer.ts +10 -2
- package/.nuxt/b24ui/navbar.ts +10 -2
- package/.nuxt/b24ui/navigation-menu.ts +10 -2
- package/.nuxt/b24ui/popover.ts +10 -2
- package/.nuxt/b24ui/progress.ts +10 -2
- package/.nuxt/b24ui/radio-group.ts +10 -2
- package/.nuxt/b24ui/range.ts +10 -2
- package/.nuxt/b24ui/select-menu.ts +14 -6
- package/.nuxt/b24ui/select.ts +12 -4
- package/.nuxt/b24ui/separator.ts +10 -2
- package/.nuxt/b24ui/sidebar-body.ts +10 -2
- package/.nuxt/b24ui/sidebar-footer.ts +10 -2
- package/.nuxt/b24ui/sidebar-header.ts +10 -2
- package/.nuxt/b24ui/sidebar-heading.ts +10 -2
- package/.nuxt/b24ui/sidebar-layout.ts +10 -2
- package/.nuxt/b24ui/sidebar-section.ts +10 -2
- package/.nuxt/b24ui/sidebar-spacer.ts +10 -2
- package/.nuxt/b24ui/sidebar.ts +10 -2
- package/.nuxt/b24ui/skeleton.ts +10 -2
- package/.nuxt/b24ui/slideover.ts +10 -2
- package/.nuxt/b24ui/stacked-layout.ts +10 -2
- package/.nuxt/b24ui/switch.ts +10 -2
- package/.nuxt/b24ui/tabs.ts +10 -2
- package/.nuxt/b24ui/textarea.ts +10 -2
- package/.nuxt/b24ui/toast.ts +10 -2
- package/.nuxt/b24ui/toaster.ts +10 -2
- package/.nuxt/b24ui/tooltip.ts +10 -2
- package/cli/templates.mjs +19 -15
- package/dist/meta.d.mts +5675 -7513
- package/dist/meta.mjs +5675 -7513
- package/dist/module.json +3 -3
- package/dist/module.mjs +2 -2
- package/dist/runtime/components/Advice.vue +27 -55
- package/dist/runtime/components/Advice.vue.d.ts +56 -0
- package/dist/runtime/components/Alert.vue +35 -97
- package/dist/runtime/components/Alert.vue.d.ts +97 -0
- package/dist/runtime/components/App.vue +24 -34
- package/dist/runtime/components/App.vue.d.ts +23 -0
- package/dist/runtime/components/Avatar.vue +43 -82
- package/dist/runtime/components/Avatar.vue.d.ts +62 -0
- package/dist/runtime/components/AvatarGroup.vue +40 -77
- package/dist/runtime/components/AvatarGroup.vue.d.ts +40 -0
- package/dist/runtime/components/Badge.vue +40 -84
- package/dist/runtime/components/Badge.vue.d.ts +78 -0
- package/dist/runtime/components/Button.vue +107 -164
- package/dist/runtime/components/Button.vue.d.ts +115 -0
- package/dist/runtime/components/ButtonGroup.vue +25 -52
- package/dist/runtime/components/ButtonGroup.vue.d.ts +63 -0
- package/dist/runtime/components/Calendar.vue +73 -153
- package/dist/runtime/components/Calendar.vue.d.ts +107 -0
- package/dist/runtime/components/Checkbox.vue +42 -74
- package/dist/runtime/components/Checkbox.vue.d.ts +55 -0
- package/dist/runtime/components/Chip.vue +26 -75
- package/dist/runtime/components/Chip.vue.d.ts +77 -0
- package/dist/runtime/components/Collapsible.vue +22 -41
- package/dist/runtime/components/Collapsible.vue.d.ts +50 -0
- package/dist/runtime/components/Container.vue +15 -28
- package/dist/runtime/components/Container.vue.d.ts +27 -0
- package/dist/runtime/components/Countdown.vue +153 -379
- package/dist/runtime/components/Countdown.vue.d.ts +122 -0
- package/dist/runtime/components/DescriptionList.vue +78 -150
- package/dist/runtime/components/DescriptionList.vue.d.ts +109 -0
- package/dist/runtime/components/DropdownMenu.vue +38 -140
- package/dist/runtime/components/DropdownMenu.vue.d.ts +133 -0
- package/dist/runtime/components/DropdownMenuContent.vue +65 -79
- package/dist/runtime/components/DropdownMenuContent.vue.d.ts +51 -0
- package/dist/runtime/components/Form.vue +132 -218
- package/dist/runtime/components/Form.vue.d.ts +55 -0
- package/dist/runtime/components/FormField.vue +36 -81
- package/dist/runtime/components/FormField.vue.d.ts +73 -0
- package/dist/runtime/components/Input.vue +79 -180
- package/dist/runtime/components/Input.vue.d.ts +135 -0
- package/dist/runtime/components/InputMenu.vue +185 -382
- package/dist/runtime/components/InputMenu.vue.d.ts +357 -0
- package/dist/runtime/components/InputNumber.vue +77 -176
- package/dist/runtime/components/InputNumber.vue.d.ts +238 -0
- package/dist/runtime/components/Kbd.vue +20 -46
- package/dist/runtime/components/Kbd.vue.d.ts +55 -0
- package/dist/runtime/components/Link.vue +99 -179
- package/dist/runtime/components/Link.vue.d.ts +129 -0
- package/dist/runtime/components/LinkBase.vue +33 -42
- package/dist/runtime/components/LinkBase.vue.d.ts +48 -0
- package/dist/runtime/components/Modal.vue +48 -128
- package/dist/runtime/components/Modal.vue.d.ts +124 -0
- package/dist/runtime/components/ModalDialogClose.vue +5 -8
- package/dist/runtime/components/ModalDialogClose.vue.d.ts +10 -0
- package/dist/runtime/components/Navbar.vue +15 -33
- package/dist/runtime/components/Navbar.vue.d.ts +46 -0
- package/dist/runtime/components/NavbarDivider.vue +15 -33
- package/dist/runtime/components/NavbarDivider.vue.d.ts +46 -0
- package/dist/runtime/components/NavbarSection.vue +15 -33
- package/dist/runtime/components/NavbarSection.vue.d.ts +46 -0
- package/dist/runtime/components/NavbarSpacer.vue +15 -33
- package/dist/runtime/components/NavbarSpacer.vue.d.ts +46 -0
- package/dist/runtime/components/NavigationMenu.vue +74 -209
- package/dist/runtime/components/NavigationMenu.vue.d.ts +159 -0
- package/dist/runtime/components/OverlayProvider.vue +14 -18
- package/dist/runtime/components/OverlayProvider.vue.d.ts +2 -0
- package/dist/runtime/components/Popover.vue +40 -82
- package/dist/runtime/components/Popover.vue.d.ts +79 -0
- package/dist/runtime/components/Progress.vue +70 -137
- package/dist/runtime/components/Progress.vue.d.ts +103 -0
- package/dist/runtime/components/RadioGroup.vue +59 -135
- package/dist/runtime/components/RadioGroup.vue.d.ts +88 -0
- package/dist/runtime/components/Range.vue +46 -86
- package/dist/runtime/components/Range.vue.d.ts +73 -0
- package/dist/runtime/components/Select.vue +110 -261
- package/dist/runtime/components/Select.vue.d.ts +170 -0
- package/dist/runtime/components/SelectMenu.vue +161 -348
- package/dist/runtime/components/SelectMenu.vue.d.ts +217 -0
- package/dist/runtime/components/Separator.vue +28 -72
- package/dist/runtime/components/Separator.vue.d.ts +77 -0
- package/dist/runtime/components/Sidebar.vue +15 -33
- package/dist/runtime/components/Sidebar.vue.d.ts +46 -0
- package/dist/runtime/components/SidebarBody.vue +17 -39
- package/dist/runtime/components/SidebarBody.vue.d.ts +53 -0
- package/dist/runtime/components/SidebarFooter.vue +15 -33
- package/dist/runtime/components/SidebarFooter.vue.d.ts +46 -0
- package/dist/runtime/components/SidebarHeader.vue +15 -33
- package/dist/runtime/components/SidebarHeader.vue.d.ts +46 -0
- package/dist/runtime/components/SidebarHeading.vue +15 -33
- package/dist/runtime/components/SidebarHeading.vue.d.ts +46 -0
- package/dist/runtime/components/SidebarLayout.vue +34 -71
- package/dist/runtime/components/SidebarLayout.vue.d.ts +65 -0
- package/dist/runtime/components/SidebarSection.vue +15 -33
- package/dist/runtime/components/SidebarSection.vue.d.ts +46 -0
- package/dist/runtime/components/SidebarSpacer.vue +15 -33
- package/dist/runtime/components/SidebarSpacer.vue.d.ts +46 -0
- package/dist/runtime/components/Skeleton.vue +14 -23
- package/dist/runtime/components/Skeleton.vue.d.ts +26 -0
- package/dist/runtime/components/Slideover.vue +50 -132
- package/dist/runtime/components/Slideover.vue.d.ts +127 -0
- package/dist/runtime/components/StackedLayout.vue +34 -74
- package/dist/runtime/components/StackedLayout.vue.d.ts +65 -0
- package/dist/runtime/components/Switch.vue +46 -96
- package/dist/runtime/components/Switch.vue.d.ts +77 -0
- package/dist/runtime/components/Tabs.vue +41 -106
- package/dist/runtime/components/Tabs.vue.d.ts +104 -0
- package/dist/runtime/components/Textarea.vue +92 -202
- package/dist/runtime/components/Textarea.vue.d.ts +141 -0
- package/dist/runtime/components/Toast.vue +47 -106
- package/dist/runtime/components/Toast.vue.d.ts +95 -0
- package/dist/runtime/components/Toaster.vue +70 -116
- package/dist/runtime/components/Toaster.vue.d.ts +70 -0
- package/dist/runtime/components/Tooltip.vue +36 -65
- package/dist/runtime/components/Tooltip.vue.d.ts +65 -0
- package/dist/runtime/components/content/TableWrapper.vue +24 -71
- package/dist/runtime/components/content/TableWrapper.vue.d.ts +83 -0
- package/dist/runtime/composables/useAvatarGroup.d.ts +1 -1
- package/dist/runtime/composables/useButtonGroup.d.ts +2 -2
- package/dist/runtime/composables/useComponentIcons.d.ts +3 -3
- package/dist/runtime/composables/useFormField.d.ts +2 -2
- package/dist/runtime/composables/useOverlay.d.ts +14 -7
- package/dist/runtime/composables/useOverlay.js +14 -6
- package/dist/runtime/prose/A.vue +16 -26
- package/dist/runtime/prose/A.vue.d.ts +27 -0
- package/dist/runtime/prose/Blockquote.vue +14 -26
- package/dist/runtime/prose/Blockquote.vue.d.ts +27 -0
- package/dist/runtime/prose/Code.vue +15 -32
- package/dist/runtime/prose/Code.vue.d.ts +31 -0
- package/dist/runtime/prose/Em.vue +16 -26
- package/dist/runtime/prose/Em.vue.d.ts +27 -0
- package/dist/runtime/prose/H1.vue +14 -26
- package/dist/runtime/prose/H1.vue.d.ts +27 -0
- package/dist/runtime/prose/H2.vue +14 -26
- package/dist/runtime/prose/H2.vue.d.ts +27 -0
- package/dist/runtime/prose/H3.vue +14 -26
- package/dist/runtime/prose/H3.vue.d.ts +27 -0
- package/dist/runtime/prose/H4.vue +14 -26
- package/dist/runtime/prose/H4.vue.d.ts +27 -0
- package/dist/runtime/prose/H5.vue +14 -26
- package/dist/runtime/prose/H5.vue.d.ts +27 -0
- package/dist/runtime/prose/H6.vue +14 -26
- package/dist/runtime/prose/H6.vue.d.ts +27 -0
- package/dist/runtime/prose/Hr.vue +13 -22
- package/dist/runtime/prose/Hr.vue.d.ts +19 -0
- package/dist/runtime/prose/Img.vue +13 -26
- package/dist/runtime/prose/Img.vue.d.ts +19 -0
- package/dist/runtime/prose/Li.vue +14 -26
- package/dist/runtime/prose/Li.vue.d.ts +27 -0
- package/dist/runtime/prose/Ol.vue +14 -26
- package/dist/runtime/prose/Ol.vue.d.ts +27 -0
- package/dist/runtime/prose/P.vue +14 -26
- package/dist/runtime/prose/P.vue.d.ts +27 -0
- package/dist/runtime/prose/Pre.vue +17 -33
- package/dist/runtime/prose/Pre.vue.d.ts +47 -0
- package/dist/runtime/prose/Strong.vue +14 -26
- package/dist/runtime/prose/Strong.vue.d.ts +27 -0
- package/dist/runtime/prose/Table.vue +21 -57
- package/dist/runtime/prose/Table.vue.d.ts +74 -0
- package/dist/runtime/prose/Tbody.vue +14 -26
- package/dist/runtime/prose/Tbody.vue.d.ts +27 -0
- package/dist/runtime/prose/Td.vue +14 -26
- package/dist/runtime/prose/Td.vue.d.ts +27 -0
- package/dist/runtime/prose/Th.vue +14 -26
- package/dist/runtime/prose/Th.vue.d.ts +27 -0
- package/dist/runtime/prose/Thead.vue +14 -26
- package/dist/runtime/prose/Thead.vue.d.ts +27 -0
- package/dist/runtime/prose/Tr.vue +14 -26
- package/dist/runtime/prose/Tr.vue.d.ts +27 -0
- package/dist/runtime/prose/Ul.vue +14 -26
- package/dist/runtime/prose/Ul.vue.d.ts +27 -0
- package/dist/runtime/types/form.d.ts +1 -0
- package/dist/runtime/types/utils.d.ts +42 -3
- package/dist/runtime/utils/link.d.ts +3 -3
- package/dist/runtime/utils/tv.js +2 -2
- package/dist/runtime/vue/components/Link.vue +122 -208
- package/dist/runtime/vue/components/Link.vue.d.ts +129 -0
- package/dist/shared/{b24ui-nuxt.CS9Lf0os.mjs → b24ui-nuxt.wBs9vEU5.mjs} +33 -8
- package/dist/types.d.mts +3 -5
- package/dist/unplugin.mjs +1 -1
- package/dist/vite.mjs +1 -1
- package/package.json +19 -27
- package/dist/meta.cjs +0 -72112
- package/dist/meta.d.cts +0 -72110
- package/dist/meta.d.ts +0 -72110
- package/dist/module.cjs +0 -63
- package/dist/module.d.cts +0 -15
- package/dist/module.d.ts +0 -15
- package/dist/shared/b24ui-nuxt.DrKwIWoc.cjs +0 -7721
- package/dist/types.d.ts +0 -7
- package/dist/unplugin.cjs +0 -236
- package/dist/unplugin.d.cts +0 -33
- package/dist/unplugin.d.ts +0 -33
- package/dist/vite.cjs +0 -21
- package/dist/vite.d.cts +0 -14
- package/dist/vite.d.ts +0 -14
|
@@ -1,140 +1,60 @@
|
|
|
1
|
-
<script
|
|
2
|
-
import
|
|
3
|
-
import type { VariantProps } from 'tailwind-variants'
|
|
4
|
-
import type { AppConfig } from '@nuxt/schema'
|
|
5
|
-
import _appConfig from '#build/app.config'
|
|
6
|
-
import theme from '#build/b24ui/modal'
|
|
7
|
-
import { tv } from '../utils/tv'
|
|
8
|
-
import type { ButtonProps, IconComponent } from '../types'
|
|
9
|
-
import type { EmitsToProps } from '../types/utils'
|
|
10
|
-
|
|
11
|
-
const appConfigModal = _appConfig as AppConfig & { b24ui: { modal: Partial<typeof theme> } }
|
|
12
|
-
|
|
13
|
-
const modal = tv({ extend: tv(theme), ...(appConfigModal.b24ui?.modal || {}) })
|
|
14
|
-
|
|
15
|
-
type ModalVariants = VariantProps<typeof modal>
|
|
16
|
-
|
|
17
|
-
export interface ModalProps extends DialogRootProps {
|
|
18
|
-
title?: string
|
|
19
|
-
description?: string
|
|
20
|
-
/**
|
|
21
|
-
* The content of the modal
|
|
22
|
-
*/
|
|
23
|
-
content?: Omit<DialogContentProps, 'as' | 'asChild' | 'forceMount'> & Partial<EmitsToProps<DialogContentEmits>>
|
|
24
|
-
/**
|
|
25
|
-
* Render an overlay behind the modal.
|
|
26
|
-
* @defaultValue true
|
|
27
|
-
*/
|
|
28
|
-
overlay?: boolean
|
|
29
|
-
/**
|
|
30
|
-
* Render an overlay blur behind the modal.
|
|
31
|
-
* `auto` use `motion-safe`.
|
|
32
|
-
* @defaultValue 'auto'
|
|
33
|
-
*/
|
|
34
|
-
overlayBlur?: ModalVariants['overlayBlur']
|
|
35
|
-
/**
|
|
36
|
-
* Animate the modal when opening or closing.
|
|
37
|
-
* @defaultValue true
|
|
38
|
-
*/
|
|
39
|
-
transition?: boolean
|
|
40
|
-
/**
|
|
41
|
-
* When `true`, the modal will take up the full screen.
|
|
42
|
-
* @defaultValue false
|
|
43
|
-
*/
|
|
44
|
-
fullscreen?: boolean
|
|
45
|
-
/**
|
|
46
|
-
* Render the modal in a portal.
|
|
47
|
-
* @defaultValue true
|
|
48
|
-
*/
|
|
49
|
-
portal?: boolean
|
|
50
|
-
/**
|
|
51
|
-
* Display a close button to dismiss the modal.
|
|
52
|
-
* `{ size: 'xs', color: 'link' }`{lang="ts"}
|
|
53
|
-
* @defaultValue true
|
|
54
|
-
*/
|
|
55
|
-
close?: boolean | Partial<ButtonProps>
|
|
56
|
-
/**
|
|
57
|
-
* The icon displayed in the close button.
|
|
58
|
-
* @defaultValue icons.close
|
|
59
|
-
* @IconComponent
|
|
60
|
-
*/
|
|
61
|
-
closeIcon?: IconComponent
|
|
62
|
-
/**
|
|
63
|
-
* When `false`, the modal will not close when clicking outside or pressing escape.
|
|
64
|
-
* @defaultValue false
|
|
65
|
-
*/
|
|
66
|
-
dismissible?: boolean
|
|
67
|
-
/**
|
|
68
|
-
* @defaultValue true
|
|
69
|
-
*/
|
|
70
|
-
scrollbarThin?: boolean
|
|
71
|
-
class?: any
|
|
72
|
-
b24ui?: Partial<typeof modal.slots>
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
export interface ModalEmits extends DialogRootEmits {
|
|
76
|
-
'after:leave': []
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
export interface ModalSlots {
|
|
80
|
-
default(props: { open: boolean }): any
|
|
81
|
-
content(props?: {}): any
|
|
82
|
-
header(props?: {}): any
|
|
83
|
-
title(props?: {}): any
|
|
84
|
-
description(props?: {}): any
|
|
85
|
-
close(props: { b24ui: ReturnType<typeof modal> }): any
|
|
86
|
-
body(props?: {}): any
|
|
87
|
-
footer(props?: {}): any
|
|
88
|
-
}
|
|
1
|
+
<script>
|
|
2
|
+
import theme from "#build/b24ui/modal";
|
|
89
3
|
</script>
|
|
90
4
|
|
|
91
|
-
<script setup
|
|
92
|
-
import { computed, toRef } from
|
|
93
|
-
import { DialogRoot, DialogTrigger, DialogPortal, DialogOverlay, DialogContent, DialogTitle, DialogDescription, DialogClose, VisuallyHidden, useForwardPropsEmits } from
|
|
94
|
-
import { reactivePick } from
|
|
95
|
-
import {
|
|
96
|
-
import
|
|
97
|
-
import
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
5
|
+
<script setup>
|
|
6
|
+
import { computed, toRef } from "vue";
|
|
7
|
+
import { DialogRoot, DialogTrigger, DialogPortal, DialogOverlay, DialogContent, DialogTitle, DialogDescription, DialogClose, VisuallyHidden, useForwardPropsEmits } from "reka-ui";
|
|
8
|
+
import { reactivePick } from "@vueuse/core";
|
|
9
|
+
import { useAppConfig } from "#imports";
|
|
10
|
+
import { useLocale } from "../composables/useLocale";
|
|
11
|
+
import { tv } from "../utils/tv";
|
|
12
|
+
import icons from "../dictionary/icons";
|
|
13
|
+
import B24Button from "./Button.vue";
|
|
14
|
+
const props = defineProps({
|
|
15
|
+
title: { type: String, required: false },
|
|
16
|
+
description: { type: String, required: false },
|
|
17
|
+
content: { type: Object, required: false },
|
|
18
|
+
overlay: { type: Boolean, required: false, default: true },
|
|
19
|
+
overlayBlur: { type: null, required: false, default: "auto" },
|
|
20
|
+
transition: { type: Boolean, required: false, default: true },
|
|
21
|
+
fullscreen: { type: Boolean, required: false },
|
|
22
|
+
portal: { type: Boolean, required: false, default: true },
|
|
23
|
+
close: { type: [Boolean, Object], required: false, default: true },
|
|
24
|
+
closeIcon: { type: [Function, Object], required: false },
|
|
25
|
+
dismissible: { type: Boolean, required: false, default: true },
|
|
26
|
+
scrollbarThin: { type: Boolean, required: false, default: true },
|
|
27
|
+
class: { type: null, required: false },
|
|
28
|
+
b24ui: { type: null, required: false },
|
|
29
|
+
open: { type: Boolean, required: false },
|
|
30
|
+
defaultOpen: { type: Boolean, required: false },
|
|
31
|
+
modal: { type: Boolean, required: false, default: true }
|
|
32
|
+
});
|
|
33
|
+
const emits = defineEmits(["after:leave", "update:open"]);
|
|
34
|
+
const slots = defineSlots();
|
|
35
|
+
const { t } = useLocale();
|
|
36
|
+
const appConfig = useAppConfig();
|
|
37
|
+
const rootProps = useForwardPropsEmits(reactivePick(props, "open", "defaultOpen", "modal"), emits);
|
|
38
|
+
const contentProps = toRef(() => props.content);
|
|
116
39
|
const contentEvents = computed(() => {
|
|
117
40
|
const events = {
|
|
118
|
-
closeAutoFocus: (e
|
|
119
|
-
}
|
|
120
|
-
|
|
41
|
+
closeAutoFocus: (e) => e.preventDefault()
|
|
42
|
+
};
|
|
121
43
|
if (!props.dismissible) {
|
|
122
44
|
return {
|
|
123
|
-
pointerDownOutside: (e
|
|
124
|
-
interactOutside: (e
|
|
125
|
-
escapeKeyDown: (e
|
|
45
|
+
pointerDownOutside: (e) => e.preventDefault(),
|
|
46
|
+
interactOutside: (e) => e.preventDefault(),
|
|
47
|
+
escapeKeyDown: (e) => e.preventDefault(),
|
|
126
48
|
...events
|
|
127
|
-
}
|
|
49
|
+
};
|
|
128
50
|
}
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
})
|
|
132
|
-
|
|
133
|
-
const b24ui = computed(() => modal({
|
|
51
|
+
return events;
|
|
52
|
+
});
|
|
53
|
+
const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.modal || {} })({
|
|
134
54
|
transition: props.transition,
|
|
135
55
|
fullscreen: props.fullscreen,
|
|
136
56
|
overlayBlur: props.overlayBlur
|
|
137
|
-
}))
|
|
57
|
+
}));
|
|
138
58
|
</script>
|
|
139
59
|
|
|
140
60
|
<template>
|
|
@@ -147,7 +67,7 @@ const b24ui = computed(() => modal({
|
|
|
147
67
|
<DialogOverlay v-if="overlay" :class="b24ui.overlay({ class: props.b24ui?.overlay })" />
|
|
148
68
|
|
|
149
69
|
<DialogContent :class="b24ui.content({ class: [!slots.default && props.class, props.b24ui?.content] })" v-bind="contentProps" @after-leave="emits('after:leave')" v-on="contentEvents">
|
|
150
|
-
<VisuallyHidden v-if="!!slots.content && (
|
|
70
|
+
<VisuallyHidden v-if="!!slots.content && (title || !!slots.title || (description || !!slots.description))">
|
|
151
71
|
<DialogTitle v-if="title || !!slots.title">
|
|
152
72
|
<slot name="title">
|
|
153
73
|
{{ title }}
|
|
@@ -186,7 +106,7 @@ const b24ui = computed(() => modal({
|
|
|
186
106
|
size="xs"
|
|
187
107
|
color="link"
|
|
188
108
|
:aria-label="t('modal.close')"
|
|
189
|
-
v-bind="
|
|
109
|
+
v-bind="typeof close === 'object' ? close : {}"
|
|
190
110
|
:class="b24ui.close({ class: props.b24ui?.close })"
|
|
191
111
|
/>
|
|
192
112
|
</slot>
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import type { DialogRootProps, DialogRootEmits, DialogContentProps, DialogContentEmits } from 'reka-ui';
|
|
2
|
+
import type { AppConfig } from '@nuxt/schema';
|
|
3
|
+
import theme from '#build/b24ui/modal';
|
|
4
|
+
import type { ButtonProps, IconComponent } from '../types';
|
|
5
|
+
import type { EmitsToProps, ComponentConfig } from '../types/utils';
|
|
6
|
+
type Modal = ComponentConfig<typeof theme, AppConfig, 'modal'>;
|
|
7
|
+
export interface ModalProps extends DialogRootProps {
|
|
8
|
+
title?: string;
|
|
9
|
+
description?: string;
|
|
10
|
+
/**
|
|
11
|
+
* The content of the modal
|
|
12
|
+
*/
|
|
13
|
+
content?: Omit<DialogContentProps, 'as' | 'asChild' | 'forceMount'> & Partial<EmitsToProps<DialogContentEmits>>;
|
|
14
|
+
/**
|
|
15
|
+
* Render an overlay behind the modal.
|
|
16
|
+
* @defaultValue true
|
|
17
|
+
*/
|
|
18
|
+
overlay?: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Render an overlay blur behind the modal.
|
|
21
|
+
* `auto` use `motion-safe`.
|
|
22
|
+
* @defaultValue 'auto'
|
|
23
|
+
*/
|
|
24
|
+
overlayBlur?: Modal['variants']['overlayBlur'];
|
|
25
|
+
/**
|
|
26
|
+
* Animate the modal when opening or closing.
|
|
27
|
+
* @defaultValue true
|
|
28
|
+
*/
|
|
29
|
+
transition?: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* When `true`, the modal will take up the full screen.
|
|
32
|
+
* @defaultValue false
|
|
33
|
+
*/
|
|
34
|
+
fullscreen?: boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Render the modal in a portal.
|
|
37
|
+
* @defaultValue true
|
|
38
|
+
*/
|
|
39
|
+
portal?: boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Display a close button to dismiss the modal.
|
|
42
|
+
* `{ size: 'xs', color: 'link' }`{lang="ts"}
|
|
43
|
+
* @defaultValue true
|
|
44
|
+
*/
|
|
45
|
+
close?: boolean | Partial<ButtonProps>;
|
|
46
|
+
/**
|
|
47
|
+
* The icon displayed in the close button.
|
|
48
|
+
* @defaultValue icons.close
|
|
49
|
+
* @IconComponent
|
|
50
|
+
*/
|
|
51
|
+
closeIcon?: IconComponent;
|
|
52
|
+
/**
|
|
53
|
+
* When `false`, the modal will not close when clicking outside or pressing escape.
|
|
54
|
+
* @defaultValue false
|
|
55
|
+
*/
|
|
56
|
+
dismissible?: boolean;
|
|
57
|
+
/**
|
|
58
|
+
* @defaultValue true
|
|
59
|
+
*/
|
|
60
|
+
scrollbarThin?: boolean;
|
|
61
|
+
class?: any;
|
|
62
|
+
b24ui?: Modal['slots'];
|
|
63
|
+
}
|
|
64
|
+
export interface ModalEmits extends DialogRootEmits {
|
|
65
|
+
'after:leave': [];
|
|
66
|
+
}
|
|
67
|
+
export interface ModalSlots {
|
|
68
|
+
default(props: {
|
|
69
|
+
open: boolean;
|
|
70
|
+
}): any;
|
|
71
|
+
content(props?: {}): any;
|
|
72
|
+
header(props?: {}): any;
|
|
73
|
+
title(props?: {}): any;
|
|
74
|
+
description(props?: {}): any;
|
|
75
|
+
close(props: {
|
|
76
|
+
b24ui: {
|
|
77
|
+
[K in keyof Required<Modal['slots']>]: (props?: Record<string, any>) => string;
|
|
78
|
+
};
|
|
79
|
+
}): any;
|
|
80
|
+
body(props?: {}): any;
|
|
81
|
+
footer(props?: {}): any;
|
|
82
|
+
}
|
|
83
|
+
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<ModalProps>, {
|
|
84
|
+
close: boolean;
|
|
85
|
+
portal: boolean;
|
|
86
|
+
overlay: boolean;
|
|
87
|
+
transition: boolean;
|
|
88
|
+
modal: boolean;
|
|
89
|
+
dismissible: boolean;
|
|
90
|
+
scrollbarThin: boolean;
|
|
91
|
+
overlayBlur: string;
|
|
92
|
+
}>>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, any, string, import("vue").PublicProps, any, {
|
|
93
|
+
close: boolean | Partial<ButtonProps>;
|
|
94
|
+
modal: boolean;
|
|
95
|
+
transition: boolean;
|
|
96
|
+
portal: boolean;
|
|
97
|
+
overlay: boolean;
|
|
98
|
+
overlayBlur: Modal["variants"]["overlayBlur"];
|
|
99
|
+
dismissible: boolean;
|
|
100
|
+
scrollbarThin: boolean;
|
|
101
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, Readonly<ModalSlots> & ModalSlots>;
|
|
102
|
+
export default _default;
|
|
103
|
+
type __VLS_WithDefaults<P, D> = {
|
|
104
|
+
[K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_PrettifyLocal<P[K] & {
|
|
105
|
+
default: D[K];
|
|
106
|
+
}> : P[K];
|
|
107
|
+
};
|
|
108
|
+
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
109
|
+
type __VLS_TypePropsToOption<T> = {
|
|
110
|
+
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
111
|
+
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
|
|
112
|
+
} : {
|
|
113
|
+
type: import('vue').PropType<T[K]>;
|
|
114
|
+
required: true;
|
|
115
|
+
};
|
|
116
|
+
};
|
|
117
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
118
|
+
new (): {
|
|
119
|
+
$slots: S;
|
|
120
|
+
};
|
|
121
|
+
};
|
|
122
|
+
type __VLS_PrettifyLocal<T> = {
|
|
123
|
+
[K in keyof T]: T[K];
|
|
124
|
+
} & {};
|
|
@@ -1,13 +1,10 @@
|
|
|
1
|
-
<script
|
|
2
|
-
export interface ModalDialogCloseSlots {
|
|
3
|
-
default(props: {}): any
|
|
4
|
-
}
|
|
5
|
-
</script>
|
|
1
|
+
<script>
|
|
6
2
|
|
|
7
|
-
|
|
8
|
-
import { DialogClose } from 'reka-ui'
|
|
3
|
+
</script>
|
|
9
4
|
|
|
10
|
-
|
|
5
|
+
<script setup>
|
|
6
|
+
import { DialogClose } from "reka-ui";
|
|
7
|
+
defineSlots();
|
|
11
8
|
</script>
|
|
12
9
|
|
|
13
10
|
<template>
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface ModalDialogCloseSlots {
|
|
2
|
+
default(props: {}): any;
|
|
3
|
+
}
|
|
4
|
+
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, Readonly<ModalDialogCloseSlots> & ModalDialogCloseSlots>;
|
|
5
|
+
export default _default;
|
|
6
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
7
|
+
new (): {
|
|
8
|
+
$slots: S;
|
|
9
|
+
};
|
|
10
|
+
};
|
|
@@ -1,38 +1,20 @@
|
|
|
1
|
-
<script
|
|
2
|
-
import
|
|
3
|
-
import _appConfig from '#build/app.config'
|
|
4
|
-
import theme from '#build/b24ui/navbar'
|
|
5
|
-
import { tv } from '../utils/tv'
|
|
6
|
-
|
|
7
|
-
const appConfigNavbar = _appConfig as AppConfig & { b24ui: { navbar: Partial<typeof theme> } }
|
|
8
|
-
|
|
9
|
-
const navbar = tv({ extend: tv(theme), ...(appConfigNavbar.b24ui?.navbar || {}) })
|
|
10
|
-
|
|
11
|
-
export interface NavbarProps {
|
|
12
|
-
/**
|
|
13
|
-
* The element or component this component should render as.
|
|
14
|
-
* @defaultValue 'nav'
|
|
15
|
-
*/
|
|
16
|
-
as?: any
|
|
17
|
-
class?: any
|
|
18
|
-
b24ui?: Partial<typeof navbar.slots>
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
export interface NavbarSlots {
|
|
22
|
-
default(props?: {}): any
|
|
23
|
-
}
|
|
1
|
+
<script>
|
|
2
|
+
import theme from "#build/b24ui/navbar";
|
|
24
3
|
</script>
|
|
25
4
|
|
|
26
|
-
<script setup
|
|
27
|
-
import {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
5
|
+
<script setup>
|
|
6
|
+
import { computed } from "vue";
|
|
7
|
+
import { Primitive } from "reka-ui";
|
|
8
|
+
import { useAppConfig } from "#imports";
|
|
9
|
+
import { tv } from "../utils/tv";
|
|
10
|
+
const props = defineProps({
|
|
11
|
+
as: { type: null, required: false, default: "nav" },
|
|
12
|
+
class: { type: null, required: false },
|
|
13
|
+
b24ui: { type: null, required: false }
|
|
14
|
+
});
|
|
15
|
+
defineSlots();
|
|
16
|
+
const appConfig = useAppConfig();
|
|
17
|
+
const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.navbar || {} })());
|
|
36
18
|
</script>
|
|
37
19
|
|
|
38
20
|
<template>
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { AppConfig } from '@nuxt/schema';
|
|
2
|
+
import theme from '#build/b24ui/navbar';
|
|
3
|
+
import type { ComponentConfig } from '../types/utils';
|
|
4
|
+
type Navbar = ComponentConfig<typeof theme, AppConfig, 'navbar'>;
|
|
5
|
+
export interface NavbarProps {
|
|
6
|
+
/**
|
|
7
|
+
* The element or component this component should render as.
|
|
8
|
+
* @defaultValue 'nav'
|
|
9
|
+
*/
|
|
10
|
+
as?: any;
|
|
11
|
+
class?: any;
|
|
12
|
+
b24ui?: Navbar['slots'];
|
|
13
|
+
}
|
|
14
|
+
export interface NavbarSlots {
|
|
15
|
+
default(props?: {}): any;
|
|
16
|
+
}
|
|
17
|
+
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<NavbarProps>, {
|
|
18
|
+
as: string;
|
|
19
|
+
}>>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<NavbarProps>, {
|
|
20
|
+
as: string;
|
|
21
|
+
}>>> & Readonly<{}>, {
|
|
22
|
+
as: any;
|
|
23
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, Readonly<NavbarSlots> & NavbarSlots>;
|
|
24
|
+
export default _default;
|
|
25
|
+
type __VLS_WithDefaults<P, D> = {
|
|
26
|
+
[K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_PrettifyLocal<P[K] & {
|
|
27
|
+
default: D[K];
|
|
28
|
+
}> : P[K];
|
|
29
|
+
};
|
|
30
|
+
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
31
|
+
type __VLS_TypePropsToOption<T> = {
|
|
32
|
+
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
33
|
+
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
|
|
34
|
+
} : {
|
|
35
|
+
type: import('vue').PropType<T[K]>;
|
|
36
|
+
required: true;
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
40
|
+
new (): {
|
|
41
|
+
$slots: S;
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
type __VLS_PrettifyLocal<T> = {
|
|
45
|
+
[K in keyof T]: T[K];
|
|
46
|
+
} & {};
|
|
@@ -1,38 +1,20 @@
|
|
|
1
|
-
<script
|
|
2
|
-
import
|
|
3
|
-
import _appConfig from '#build/app.config'
|
|
4
|
-
import theme from '#build/b24ui/navbar-divider'
|
|
5
|
-
import { tv } from '../utils/tv'
|
|
6
|
-
|
|
7
|
-
const appConfigNavbarDivider = _appConfig as AppConfig & { b24ui: { navbarDivider: Partial<typeof theme> } }
|
|
8
|
-
|
|
9
|
-
const navbarDivider = tv({ extend: tv(theme), ...(appConfigNavbarDivider.b24ui?.navbarDivider || {}) })
|
|
10
|
-
|
|
11
|
-
export interface NavbarDividerProps {
|
|
12
|
-
/**
|
|
13
|
-
* The element or component this component should render as.
|
|
14
|
-
* @defaultValue 'div'
|
|
15
|
-
*/
|
|
16
|
-
as?: any
|
|
17
|
-
class?: any
|
|
18
|
-
b24ui?: Partial<typeof navbarDivider.slots>
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
export interface NavbarDividerSlots {
|
|
22
|
-
default(props?: {}): any
|
|
23
|
-
}
|
|
1
|
+
<script>
|
|
2
|
+
import theme from "#build/b24ui/navbar-divider";
|
|
24
3
|
</script>
|
|
25
4
|
|
|
26
|
-
<script setup
|
|
27
|
-
import {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
5
|
+
<script setup>
|
|
6
|
+
import { computed } from "vue";
|
|
7
|
+
import { Primitive } from "reka-ui";
|
|
8
|
+
import { useAppConfig } from "#imports";
|
|
9
|
+
import { tv } from "../utils/tv";
|
|
10
|
+
const props = defineProps({
|
|
11
|
+
as: { type: null, required: false, default: "div" },
|
|
12
|
+
class: { type: null, required: false },
|
|
13
|
+
b24ui: { type: null, required: false }
|
|
14
|
+
});
|
|
15
|
+
defineSlots();
|
|
16
|
+
const appConfig = useAppConfig();
|
|
17
|
+
const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.navbarDivider || {} })());
|
|
36
18
|
</script>
|
|
37
19
|
|
|
38
20
|
<template>
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { AppConfig } from '@nuxt/schema';
|
|
2
|
+
import theme from '#build/b24ui/navbar-divider';
|
|
3
|
+
import type { ComponentConfig } from '../types/utils';
|
|
4
|
+
type NavbarDivider = ComponentConfig<typeof theme, AppConfig, 'navbarDivider'>;
|
|
5
|
+
export interface NavbarDividerProps {
|
|
6
|
+
/**
|
|
7
|
+
* The element or component this component should render as.
|
|
8
|
+
* @defaultValue 'div'
|
|
9
|
+
*/
|
|
10
|
+
as?: any;
|
|
11
|
+
class?: any;
|
|
12
|
+
b24ui?: NavbarDivider['slots'];
|
|
13
|
+
}
|
|
14
|
+
export interface NavbarDividerSlots {
|
|
15
|
+
default(props?: {}): any;
|
|
16
|
+
}
|
|
17
|
+
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<NavbarDividerProps>, {
|
|
18
|
+
as: string;
|
|
19
|
+
}>>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<NavbarDividerProps>, {
|
|
20
|
+
as: string;
|
|
21
|
+
}>>> & Readonly<{}>, {
|
|
22
|
+
as: any;
|
|
23
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, Readonly<NavbarDividerSlots> & NavbarDividerSlots>;
|
|
24
|
+
export default _default;
|
|
25
|
+
type __VLS_WithDefaults<P, D> = {
|
|
26
|
+
[K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_PrettifyLocal<P[K] & {
|
|
27
|
+
default: D[K];
|
|
28
|
+
}> : P[K];
|
|
29
|
+
};
|
|
30
|
+
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
31
|
+
type __VLS_TypePropsToOption<T> = {
|
|
32
|
+
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
33
|
+
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
|
|
34
|
+
} : {
|
|
35
|
+
type: import('vue').PropType<T[K]>;
|
|
36
|
+
required: true;
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
40
|
+
new (): {
|
|
41
|
+
$slots: S;
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
type __VLS_PrettifyLocal<T> = {
|
|
45
|
+
[K in keyof T]: T[K];
|
|
46
|
+
} & {};
|
|
@@ -1,38 +1,20 @@
|
|
|
1
|
-
<script
|
|
2
|
-
import
|
|
3
|
-
import _appConfig from '#build/app.config'
|
|
4
|
-
import theme from '#build/b24ui/navbar-section'
|
|
5
|
-
import { tv } from '../utils/tv'
|
|
6
|
-
|
|
7
|
-
const appConfigNavSection = _appConfig as AppConfig & { b24ui: { navbarSection: Partial<typeof theme> } }
|
|
8
|
-
|
|
9
|
-
const navbarSection = tv({ extend: tv(theme), ...(appConfigNavSection.b24ui?.navbarSection || {}) })
|
|
10
|
-
|
|
11
|
-
export interface NavbarSectionProps {
|
|
12
|
-
/**
|
|
13
|
-
* The element or component this component should render as.
|
|
14
|
-
* @defaultValue 'div'
|
|
15
|
-
*/
|
|
16
|
-
as?: any
|
|
17
|
-
class?: any
|
|
18
|
-
b24ui?: Partial<typeof navbarSection.slots>
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
export interface NavbarSectionSlots {
|
|
22
|
-
default(props?: {}): any
|
|
23
|
-
}
|
|
1
|
+
<script>
|
|
2
|
+
import theme from "#build/b24ui/navbar-section";
|
|
24
3
|
</script>
|
|
25
4
|
|
|
26
|
-
<script setup
|
|
27
|
-
import {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
5
|
+
<script setup>
|
|
6
|
+
import { computed } from "vue";
|
|
7
|
+
import { Primitive } from "reka-ui";
|
|
8
|
+
import { useAppConfig } from "#imports";
|
|
9
|
+
import { tv } from "../utils/tv";
|
|
10
|
+
const props = defineProps({
|
|
11
|
+
as: { type: null, required: false, default: "div" },
|
|
12
|
+
class: { type: null, required: false },
|
|
13
|
+
b24ui: { type: null, required: false }
|
|
14
|
+
});
|
|
15
|
+
defineSlots();
|
|
16
|
+
const appConfig = useAppConfig();
|
|
17
|
+
const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.navbarSection || {} })());
|
|
36
18
|
</script>
|
|
37
19
|
|
|
38
20
|
<template>
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { AppConfig } from '@nuxt/schema';
|
|
2
|
+
import theme from '#build/b24ui/navbar-section';
|
|
3
|
+
import type { ComponentConfig } from '../types/utils';
|
|
4
|
+
type NavSection = ComponentConfig<typeof theme, AppConfig, 'navbarSection'>;
|
|
5
|
+
export interface NavbarSectionProps {
|
|
6
|
+
/**
|
|
7
|
+
* The element or component this component should render as.
|
|
8
|
+
* @defaultValue 'div'
|
|
9
|
+
*/
|
|
10
|
+
as?: any;
|
|
11
|
+
class?: any;
|
|
12
|
+
b24ui?: NavSection['slots'];
|
|
13
|
+
}
|
|
14
|
+
export interface NavbarSectionSlots {
|
|
15
|
+
default(props?: {}): any;
|
|
16
|
+
}
|
|
17
|
+
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<NavbarSectionProps>, {
|
|
18
|
+
as: string;
|
|
19
|
+
}>>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<NavbarSectionProps>, {
|
|
20
|
+
as: string;
|
|
21
|
+
}>>> & Readonly<{}>, {
|
|
22
|
+
as: any;
|
|
23
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, Readonly<NavbarSectionSlots> & NavbarSectionSlots>;
|
|
24
|
+
export default _default;
|
|
25
|
+
type __VLS_WithDefaults<P, D> = {
|
|
26
|
+
[K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_PrettifyLocal<P[K] & {
|
|
27
|
+
default: D[K];
|
|
28
|
+
}> : P[K];
|
|
29
|
+
};
|
|
30
|
+
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
31
|
+
type __VLS_TypePropsToOption<T> = {
|
|
32
|
+
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
33
|
+
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
|
|
34
|
+
} : {
|
|
35
|
+
type: import('vue').PropType<T[K]>;
|
|
36
|
+
required: true;
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
40
|
+
new (): {
|
|
41
|
+
$slots: S;
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
type __VLS_PrettifyLocal<T> = {
|
|
45
|
+
[K in keyof T]: T[K];
|
|
46
|
+
} & {};
|