@bitrix24/b24ui-nuxt 0.5.10 → 0.5.11
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/dist/meta.cjs +72112 -0
- package/dist/meta.d.cts +72110 -0
- package/dist/meta.d.mts +5060 -5060
- package/dist/meta.d.ts +72110 -0
- package/dist/meta.mjs +5060 -5060
- package/dist/module.cjs +63 -0
- package/dist/module.d.cts +15 -0
- package/dist/module.d.ts +15 -0
- package/dist/module.json +3 -3
- package/dist/module.mjs +1 -1
- package/dist/runtime/components/Advice.vue +54 -47
- package/dist/runtime/components/Alert.vue +96 -71
- package/dist/runtime/components/App.vue +34 -37
- package/dist/runtime/components/Avatar.vue +81 -69
- package/dist/runtime/components/AvatarGroup.vue +76 -53
- package/dist/runtime/components/Badge.vue +83 -83
- package/dist/runtime/components/Button.vue +157 -220
- package/dist/runtime/components/ButtonGroup.vue +51 -35
- package/dist/runtime/components/Calendar.vue +152 -186
- package/dist/runtime/components/Checkbox.vue +73 -84
- package/dist/runtime/components/Chip.vue +74 -59
- package/dist/runtime/components/Collapsible.vue +41 -44
- package/dist/runtime/components/Container.vue +27 -18
- package/dist/runtime/components/Countdown.vue +378 -198
- package/dist/runtime/components/DescriptionList.vue +149 -102
- package/dist/runtime/components/DropdownMenu.vue +139 -83
- package/dist/runtime/components/DropdownMenuContent.vue +84 -137
- package/dist/runtime/components/Form.vue +216 -162
- package/dist/runtime/components/FormField.vue +80 -76
- package/dist/runtime/components/Input.vue +179 -160
- package/dist/runtime/components/InputMenu.vue +380 -300
- package/dist/runtime/components/InputNumber.vue +175 -178
- package/dist/runtime/components/Kbd.vue +45 -33
- package/dist/runtime/components/Link.vue +173 -179
- package/dist/runtime/components/LinkBase.vue +42 -64
- package/dist/runtime/components/Modal.vue +127 -105
- package/dist/runtime/components/ModalDialogClose.vue +8 -4
- package/dist/runtime/components/Navbar.vue +33 -24
- package/dist/runtime/components/NavbarDivider.vue +33 -24
- package/dist/runtime/components/NavbarSection.vue +33 -24
- package/dist/runtime/components/NavbarSpacer.vue +33 -24
- package/dist/runtime/components/NavigationMenu.vue +210 -144
- package/dist/runtime/components/OverlayProvider.vue +17 -13
- package/dist/runtime/components/Popover.vue +81 -81
- package/dist/runtime/components/Progress.vue +136 -109
- package/dist/runtime/components/RadioGroup.vue +134 -120
- package/dist/runtime/components/Range.vue +85 -94
- package/dist/runtime/components/Select.vue +260 -212
- package/dist/runtime/components/SelectMenu.vue +365 -272
- package/dist/runtime/components/Separator.vue +71 -61
- package/dist/runtime/components/Sidebar.vue +33 -24
- package/dist/runtime/components/SidebarBody.vue +38 -30
- package/dist/runtime/components/SidebarFooter.vue +33 -24
- package/dist/runtime/components/SidebarHeader.vue +33 -24
- package/dist/runtime/components/SidebarHeading.vue +33 -24
- package/dist/runtime/components/SidebarLayout.vue +70 -40
- package/dist/runtime/components/SidebarSection.vue +33 -24
- package/dist/runtime/components/SidebarSpacer.vue +33 -24
- package/dist/runtime/components/Skeleton.vue +22 -17
- package/dist/runtime/components/Slideover.vue +131 -108
- package/dist/runtime/components/StackedLayout.vue +73 -40
- package/dist/runtime/components/Switch.vue +95 -100
- package/dist/runtime/components/Tabs.vue +107 -81
- package/dist/runtime/components/Textarea.vue +201 -177
- package/dist/runtime/components/Toast.vue +105 -94
- package/dist/runtime/components/Toaster.vue +116 -94
- package/dist/runtime/components/Tooltip.vue +64 -78
- package/dist/runtime/components/content/TableWrapper.vue +70 -58
- 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 +1 -1
- package/dist/runtime/prose/A.vue +23 -18
- package/dist/runtime/prose/Blockquote.vue +23 -18
- package/dist/runtime/prose/Code.vue +31 -23
- package/dist/runtime/prose/Em.vue +23 -18
- package/dist/runtime/prose/H1.vue +23 -18
- package/dist/runtime/prose/H2.vue +23 -18
- package/dist/runtime/prose/H3.vue +23 -18
- package/dist/runtime/prose/H4.vue +23 -18
- package/dist/runtime/prose/H5.vue +23 -18
- package/dist/runtime/prose/H6.vue +23 -18
- package/dist/runtime/prose/Hr.vue +19 -18
- package/dist/runtime/prose/Img.vue +23 -18
- package/dist/runtime/prose/Li.vue +23 -18
- package/dist/runtime/prose/Ol.vue +23 -18
- package/dist/runtime/prose/P.vue +23 -18
- package/dist/runtime/prose/Pre.vue +33 -28
- package/dist/runtime/prose/Strong.vue +23 -18
- package/dist/runtime/prose/Table.vue +54 -44
- package/dist/runtime/prose/Tbody.vue +23 -18
- package/dist/runtime/prose/Td.vue +23 -18
- package/dist/runtime/prose/Th.vue +23 -18
- package/dist/runtime/prose/Thead.vue +23 -18
- package/dist/runtime/prose/Tr.vue +23 -18
- package/dist/runtime/prose/Ul.vue +23 -18
- package/dist/runtime/vue/components/Link.vue +202 -201
- package/dist/shared/b24ui-nuxt.DrKwIWoc.cjs +7721 -0
- package/dist/types.d.mts +5 -3
- package/dist/types.d.ts +7 -0
- package/dist/unplugin.cjs +236 -0
- package/dist/unplugin.d.cts +33 -0
- package/dist/unplugin.d.ts +33 -0
- package/dist/vite.cjs +21 -0
- package/dist/vite.d.cts +14 -0
- package/dist/vite.d.ts +14 -0
- package/package.json +25 -13
- package/dist/runtime/components/Advice.vue.d.ts +0 -170
- package/dist/runtime/components/Alert.vue.d.ts +0 -464
- package/dist/runtime/components/App.vue.d.ts +0 -23
- package/dist/runtime/components/Avatar.vue.d.ts +0 -281
- package/dist/runtime/components/AvatarGroup.vue.d.ts +0 -204
- package/dist/runtime/components/Badge.vue.d.ts +0 -517
- package/dist/runtime/components/Button.vue.d.ts +0 -640
- package/dist/runtime/components/ButtonGroup.vue.d.ts +0 -116
- package/dist/runtime/components/Calendar.vue.d.ts +0 -437
- package/dist/runtime/components/Checkbox.vue.d.ts +0 -354
- package/dist/runtime/components/Chip.vue.d.ts +0 -271
- package/dist/runtime/components/Collapsible.vue.d.ts +0 -118
- package/dist/runtime/components/Container.vue.d.ts +0 -27
- package/dist/runtime/components/Countdown.vue.d.ts +0 -356
- package/dist/runtime/components/DescriptionList.vue.d.ts +0 -379
- package/dist/runtime/components/DropdownMenu.vue.d.ts +0 -533
- package/dist/runtime/components/DropdownMenuContent.vue.d.ts +0 -228
- package/dist/runtime/components/Form.vue.d.ts +0 -55
- package/dist/runtime/components/FormField.vue.d.ts +0 -282
- package/dist/runtime/components/Input.vue.d.ts +0 -755
- package/dist/runtime/components/InputMenu.vue.d.ts +0 -1504
- package/dist/runtime/components/InputNumber.vue.d.ts +0 -658
- package/dist/runtime/components/Kbd.vue.d.ts +0 -109
- package/dist/runtime/components/Link.vue.d.ts +0 -129
- package/dist/runtime/components/LinkBase.vue.d.ts +0 -48
- package/dist/runtime/components/Modal.vue.d.ts +0 -327
- package/dist/runtime/components/ModalDialogClose.vue.d.ts +0 -10
- package/dist/runtime/components/Navbar.vue.d.ts +0 -101
- package/dist/runtime/components/NavbarDivider.vue.d.ts +0 -101
- package/dist/runtime/components/NavbarSection.vue.d.ts +0 -101
- package/dist/runtime/components/NavbarSpacer.vue.d.ts +0 -101
- package/dist/runtime/components/NavigationMenu.vue.d.ts +0 -824
- package/dist/runtime/components/OverlayProvider.vue.d.ts +0 -2
- package/dist/runtime/components/Popover.vue.d.ts +0 -147
- package/dist/runtime/components/Progress.vue.d.ts +0 -592
- package/dist/runtime/components/RadioGroup.vue.d.ts +0 -723
- package/dist/runtime/components/Range.vue.d.ts +0 -417
- package/dist/runtime/components/Select.vue.d.ts +0 -1200
- package/dist/runtime/components/SelectMenu.vue.d.ts +0 -1298
- package/dist/runtime/components/Separator.vue.d.ts +0 -400
- package/dist/runtime/components/Sidebar.vue.d.ts +0 -101
- package/dist/runtime/components/SidebarBody.vue.d.ts +0 -90
- package/dist/runtime/components/SidebarFooter.vue.d.ts +0 -101
- package/dist/runtime/components/SidebarHeader.vue.d.ts +0 -101
- package/dist/runtime/components/SidebarHeading.vue.d.ts +0 -101
- package/dist/runtime/components/SidebarLayout.vue.d.ts +0 -222
- package/dist/runtime/components/SidebarSection.vue.d.ts +0 -101
- package/dist/runtime/components/SidebarSpacer.vue.d.ts +0 -101
- package/dist/runtime/components/Skeleton.vue.d.ts +0 -26
- package/dist/runtime/components/Slideover.vue.d.ts +0 -360
- package/dist/runtime/components/StackedLayout.vue.d.ts +0 -192
- package/dist/runtime/components/Switch.vue.d.ts +0 -587
- package/dist/runtime/components/Tabs.vue.d.ts +0 -453
- package/dist/runtime/components/Textarea.vue.d.ts +0 -601
- package/dist/runtime/components/Toast.vue.d.ts +0 -438
- package/dist/runtime/components/Toaster.vue.d.ts +0 -219
- package/dist/runtime/components/Tooltip.vue.d.ts +0 -186
- package/dist/runtime/components/content/TableWrapper.vue.d.ts +0 -237
- package/dist/runtime/prose/A.vue.d.ts +0 -84
- package/dist/runtime/prose/Blockquote.vue.d.ts +0 -84
- package/dist/runtime/prose/Code.vue.d.ts +0 -97
- package/dist/runtime/prose/Em.vue.d.ts +0 -84
- package/dist/runtime/prose/H1.vue.d.ts +0 -97
- package/dist/runtime/prose/H2.vue.d.ts +0 -123
- package/dist/runtime/prose/H3.vue.d.ts +0 -123
- package/dist/runtime/prose/H4.vue.d.ts +0 -123
- package/dist/runtime/prose/H5.vue.d.ts +0 -123
- package/dist/runtime/prose/H6.vue.d.ts +0 -123
- package/dist/runtime/prose/Hr.vue.d.ts +0 -74
- package/dist/runtime/prose/Img.vue.d.ts +0 -77
- package/dist/runtime/prose/Li.vue.d.ts +0 -84
- package/dist/runtime/prose/Ol.vue.d.ts +0 -84
- package/dist/runtime/prose/P.vue.d.ts +0 -84
- package/dist/runtime/prose/Pre.vue.d.ts +0 -117
- package/dist/runtime/prose/Strong.vue.d.ts +0 -84
- package/dist/runtime/prose/Table.vue.d.ts +0 -144
- package/dist/runtime/prose/Tbody.vue.d.ts +0 -84
- package/dist/runtime/prose/Td.vue.d.ts +0 -84
- package/dist/runtime/prose/Th.vue.d.ts +0 -84
- package/dist/runtime/prose/Thead.vue.d.ts +0 -84
- package/dist/runtime/prose/Tr.vue.d.ts +0 -84
- package/dist/runtime/prose/Ul.vue.d.ts +0 -84
- package/dist/runtime/vue/components/Link.vue.d.ts +0 -129
|
@@ -1,118 +1,140 @@
|
|
|
1
|
-
<script>
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { DialogRootProps, DialogRootEmits, DialogContentProps, DialogContentEmits } from 'reka-ui'
|
|
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
|
+
}
|
|
7
89
|
</script>
|
|
8
90
|
|
|
9
|
-
<script setup>
|
|
10
|
-
import { computed, toRef } from
|
|
11
|
-
import { useForwardPropsEmits } from
|
|
12
|
-
import { reactivePick } from
|
|
13
|
-
import { useLocale } from
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
required: false,
|
|
35
|
-
default: "auto"
|
|
36
|
-
},
|
|
37
|
-
transition: {
|
|
38
|
-
type: Boolean,
|
|
39
|
-
required: false,
|
|
40
|
-
default: true
|
|
41
|
-
},
|
|
42
|
-
fullscreen: {
|
|
43
|
-
type: Boolean,
|
|
44
|
-
required: false
|
|
45
|
-
},
|
|
46
|
-
portal: {
|
|
47
|
-
type: Boolean,
|
|
48
|
-
required: false,
|
|
49
|
-
default: true
|
|
50
|
-
},
|
|
51
|
-
close: {
|
|
52
|
-
type: [Boolean, Object],
|
|
53
|
-
required: false,
|
|
54
|
-
default: true
|
|
55
|
-
},
|
|
56
|
-
closeIcon: {
|
|
57
|
-
type: [Function, Object],
|
|
58
|
-
required: false
|
|
59
|
-
},
|
|
60
|
-
dismissible: {
|
|
61
|
-
type: Boolean,
|
|
62
|
-
required: false,
|
|
63
|
-
default: true
|
|
64
|
-
},
|
|
65
|
-
scrollbarThin: {
|
|
66
|
-
type: Boolean,
|
|
67
|
-
required: false,
|
|
68
|
-
default: true
|
|
69
|
-
},
|
|
70
|
-
class: {
|
|
71
|
-
type: null,
|
|
72
|
-
required: false
|
|
73
|
-
},
|
|
74
|
-
b24ui: {
|
|
75
|
-
type: Object,
|
|
76
|
-
required: false
|
|
77
|
-
},
|
|
78
|
-
open: {
|
|
79
|
-
type: Boolean,
|
|
80
|
-
required: false
|
|
81
|
-
},
|
|
82
|
-
defaultOpen: {
|
|
83
|
-
type: Boolean,
|
|
84
|
-
required: false
|
|
85
|
-
},
|
|
86
|
-
modal: {
|
|
87
|
-
type: Boolean,
|
|
88
|
-
required: false,
|
|
89
|
-
default: true
|
|
90
|
-
}
|
|
91
|
-
});
|
|
92
|
-
const emits = defineEmits(["after:leave", "update:open"]);
|
|
93
|
-
const slots = defineSlots();
|
|
94
|
-
const { t } = useLocale();
|
|
95
|
-
const rootProps = useForwardPropsEmits(reactivePick(props, "open", "defaultOpen", "modal"), emits);
|
|
96
|
-
const contentProps = toRef(() => props.content);
|
|
91
|
+
<script setup lang="ts">
|
|
92
|
+
import { computed, toRef } from 'vue'
|
|
93
|
+
import { DialogRoot, DialogTrigger, DialogPortal, DialogOverlay, DialogContent, DialogTitle, DialogDescription, DialogClose, VisuallyHidden, useForwardPropsEmits } from 'reka-ui'
|
|
94
|
+
import { reactivePick } from '@vueuse/core'
|
|
95
|
+
import { useLocale } from '../composables/useLocale'
|
|
96
|
+
import icons from '../dictionary/icons'
|
|
97
|
+
import B24Button from './Button.vue'
|
|
98
|
+
|
|
99
|
+
const props = withDefaults(defineProps<ModalProps>(), {
|
|
100
|
+
close: true,
|
|
101
|
+
portal: true,
|
|
102
|
+
overlay: true,
|
|
103
|
+
transition: true,
|
|
104
|
+
modal: true,
|
|
105
|
+
dismissible: true,
|
|
106
|
+
scrollbarThin: true,
|
|
107
|
+
overlayBlur: 'auto'
|
|
108
|
+
})
|
|
109
|
+
const emits = defineEmits<ModalEmits>()
|
|
110
|
+
const slots = defineSlots<ModalSlots>()
|
|
111
|
+
|
|
112
|
+
const { t } = useLocale()
|
|
113
|
+
|
|
114
|
+
const rootProps = useForwardPropsEmits(reactivePick(props, 'open', 'defaultOpen', 'modal'), emits)
|
|
115
|
+
const contentProps = toRef(() => props.content)
|
|
97
116
|
const contentEvents = computed(() => {
|
|
98
117
|
const events = {
|
|
99
|
-
closeAutoFocus: (e) => e.preventDefault()
|
|
100
|
-
}
|
|
118
|
+
closeAutoFocus: (e: Event) => e.preventDefault()
|
|
119
|
+
}
|
|
120
|
+
|
|
101
121
|
if (!props.dismissible) {
|
|
102
122
|
return {
|
|
103
|
-
pointerDownOutside: (e) => e.preventDefault(),
|
|
104
|
-
interactOutside: (e) => e.preventDefault(),
|
|
105
|
-
escapeKeyDown: (e) => e.preventDefault(),
|
|
123
|
+
pointerDownOutside: (e: Event) => e.preventDefault(),
|
|
124
|
+
interactOutside: (e: Event) => e.preventDefault(),
|
|
125
|
+
escapeKeyDown: (e: Event) => e.preventDefault(),
|
|
106
126
|
...events
|
|
107
|
-
}
|
|
127
|
+
}
|
|
108
128
|
}
|
|
109
|
-
|
|
110
|
-
|
|
129
|
+
|
|
130
|
+
return events
|
|
131
|
+
})
|
|
132
|
+
|
|
111
133
|
const b24ui = computed(() => modal({
|
|
112
134
|
transition: props.transition,
|
|
113
135
|
fullscreen: props.fullscreen,
|
|
114
136
|
overlayBlur: props.overlayBlur
|
|
115
|
-
}))
|
|
137
|
+
}))
|
|
116
138
|
</script>
|
|
117
139
|
|
|
118
140
|
<template>
|
|
@@ -125,7 +147,7 @@ const b24ui = computed(() => modal({
|
|
|
125
147
|
<DialogOverlay v-if="overlay" :class="b24ui.overlay({ class: props.b24ui?.overlay })" />
|
|
126
148
|
|
|
127
149
|
<DialogContent :class="b24ui.content({ class: [!slots.default && props.class, props.b24ui?.content] })" v-bind="contentProps" @after-leave="emits('after:leave')" v-on="contentEvents">
|
|
128
|
-
<VisuallyHidden v-if="!!slots.content && (title || !!slots.title || (description || !!slots.description))">
|
|
150
|
+
<VisuallyHidden v-if="!!slots.content && ((title || !!slots.title) || (description || !!slots.description))">
|
|
129
151
|
<DialogTitle v-if="title || !!slots.title">
|
|
130
152
|
<slot name="title">
|
|
131
153
|
{{ title }}
|
|
@@ -164,7 +186,7 @@ const b24ui = computed(() => modal({
|
|
|
164
186
|
size="xs"
|
|
165
187
|
color="link"
|
|
166
188
|
:aria-label="t('modal.close')"
|
|
167
|
-
v-bind="typeof close === 'object' ? close : {}"
|
|
189
|
+
v-bind="(typeof close === 'object' ? close as Partial<ButtonProps> : {})"
|
|
168
190
|
:class="b24ui.close({ class: props.b24ui?.close })"
|
|
169
191
|
/>
|
|
170
192
|
</slot>
|
|
@@ -1,9 +1,13 @@
|
|
|
1
|
-
<script>
|
|
2
|
-
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
export interface ModalDialogCloseSlots {
|
|
3
|
+
default(props: {}): any
|
|
4
|
+
}
|
|
3
5
|
</script>
|
|
4
6
|
|
|
5
|
-
<script setup>
|
|
6
|
-
|
|
7
|
+
<script setup lang="ts">
|
|
8
|
+
import { DialogClose } from 'reka-ui'
|
|
9
|
+
|
|
10
|
+
defineSlots<ModalDialogCloseSlots>()
|
|
7
11
|
</script>
|
|
8
12
|
|
|
9
13
|
<template>
|
|
@@ -1,29 +1,38 @@
|
|
|
1
|
-
<script>
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { AppConfig } from '@nuxt/schema'
|
|
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
|
+
}
|
|
7
24
|
</script>
|
|
8
25
|
|
|
9
|
-
<script setup>
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
},
|
|
20
|
-
b24ui: {
|
|
21
|
-
type: Object,
|
|
22
|
-
required: false
|
|
23
|
-
}
|
|
24
|
-
});
|
|
25
|
-
defineSlots();
|
|
26
|
-
const b24ui = navbar();
|
|
26
|
+
<script setup lang="ts">
|
|
27
|
+
import { Primitive } from 'reka-ui'
|
|
28
|
+
|
|
29
|
+
const props = withDefaults(defineProps<NavbarProps>(), {
|
|
30
|
+
as: 'nav'
|
|
31
|
+
})
|
|
32
|
+
defineSlots<NavbarSlots>()
|
|
33
|
+
|
|
34
|
+
// eslint-disable-next-line vue/no-dupe-keys
|
|
35
|
+
const b24ui = navbar()
|
|
27
36
|
</script>
|
|
28
37
|
|
|
29
38
|
<template>
|
|
@@ -1,29 +1,38 @@
|
|
|
1
|
-
<script>
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { AppConfig } from '@nuxt/schema'
|
|
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
|
+
}
|
|
7
24
|
</script>
|
|
8
25
|
|
|
9
|
-
<script setup>
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
},
|
|
20
|
-
b24ui: {
|
|
21
|
-
type: Object,
|
|
22
|
-
required: false
|
|
23
|
-
}
|
|
24
|
-
});
|
|
25
|
-
defineSlots();
|
|
26
|
-
const b24ui = navbarDivider();
|
|
26
|
+
<script setup lang="ts">
|
|
27
|
+
import { Primitive } from 'reka-ui'
|
|
28
|
+
|
|
29
|
+
const props = withDefaults(defineProps<NavbarDividerProps>(), {
|
|
30
|
+
as: 'div'
|
|
31
|
+
})
|
|
32
|
+
defineSlots<NavbarDividerSlots>()
|
|
33
|
+
|
|
34
|
+
// eslint-disable-next-line vue/no-dupe-keys
|
|
35
|
+
const b24ui = navbarDivider()
|
|
27
36
|
</script>
|
|
28
37
|
|
|
29
38
|
<template>
|
|
@@ -1,29 +1,38 @@
|
|
|
1
|
-
<script>
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { AppConfig } from '@nuxt/schema'
|
|
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
|
+
}
|
|
7
24
|
</script>
|
|
8
25
|
|
|
9
|
-
<script setup>
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
},
|
|
20
|
-
b24ui: {
|
|
21
|
-
type: Object,
|
|
22
|
-
required: false
|
|
23
|
-
}
|
|
24
|
-
});
|
|
25
|
-
defineSlots();
|
|
26
|
-
const b24ui = navbarSection();
|
|
26
|
+
<script setup lang="ts">
|
|
27
|
+
import { Primitive } from 'reka-ui'
|
|
28
|
+
|
|
29
|
+
const props = withDefaults(defineProps<NavbarSectionProps>(), {
|
|
30
|
+
as: 'div'
|
|
31
|
+
})
|
|
32
|
+
defineSlots<NavbarSectionSlots>()
|
|
33
|
+
|
|
34
|
+
// eslint-disable-next-line vue/no-dupe-keys
|
|
35
|
+
const b24ui = navbarSection()
|
|
27
36
|
</script>
|
|
28
37
|
|
|
29
38
|
<template>
|
|
@@ -1,29 +1,38 @@
|
|
|
1
|
-
<script>
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { AppConfig } from '@nuxt/schema'
|
|
3
|
+
import _appConfig from '#build/app.config'
|
|
4
|
+
import theme from '#build/b24ui/navbar-spacer'
|
|
5
|
+
import { tv } from '../utils/tv'
|
|
6
|
+
|
|
7
|
+
const appConfigNavbarSpacer = _appConfig as AppConfig & { b24ui: { navbarSpacer: Partial<typeof theme> } }
|
|
8
|
+
|
|
9
|
+
const navbarSpacer = tv({ extend: tv(theme), ...(appConfigNavbarSpacer.b24ui?.navbarSpacer || {}) })
|
|
10
|
+
|
|
11
|
+
export interface NavbarSpacerProps {
|
|
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 navbarSpacer.slots>
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export interface NavbarSpacerSlots {
|
|
22
|
+
default(props?: {}): any
|
|
23
|
+
}
|
|
7
24
|
</script>
|
|
8
25
|
|
|
9
|
-
<script setup>
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
},
|
|
20
|
-
b24ui: {
|
|
21
|
-
type: Object,
|
|
22
|
-
required: false
|
|
23
|
-
}
|
|
24
|
-
});
|
|
25
|
-
defineSlots();
|
|
26
|
-
const b24ui = navbarSpacer();
|
|
26
|
+
<script setup lang="ts">
|
|
27
|
+
import { Primitive } from 'reka-ui'
|
|
28
|
+
|
|
29
|
+
const props = withDefaults(defineProps<NavbarSpacerProps>(), {
|
|
30
|
+
as: 'div'
|
|
31
|
+
})
|
|
32
|
+
defineSlots<NavbarSpacerSlots>()
|
|
33
|
+
|
|
34
|
+
// eslint-disable-next-line vue/no-dupe-keys
|
|
35
|
+
const b24ui = navbarSpacer()
|
|
27
36
|
</script>
|
|
28
37
|
|
|
29
38
|
<template>
|