@bitrix24/b24ui-nuxt 0.4.0 → 0.4.2
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/button.ts +8 -0
- package/.nuxt/b24ui/index.ts +1 -0
- package/.nuxt/b24ui/modal.ts +21 -3
- package/.nuxt/b24ui/prose/blockquote.ts +5 -0
- package/.nuxt/b24ui/prose/em.ts +5 -0
- package/.nuxt/b24ui/prose/h1.ts +6 -0
- package/.nuxt/b24ui/prose/h2.ts +16 -0
- package/.nuxt/b24ui/prose/h3.ts +16 -0
- package/.nuxt/b24ui/prose/h4.ts +16 -0
- package/.nuxt/b24ui/prose/h5.ts +16 -0
- package/.nuxt/b24ui/prose/h6.ts +16 -0
- package/.nuxt/b24ui/prose/hr.ts +5 -0
- package/.nuxt/b24ui/prose/li.ts +5 -0
- package/.nuxt/b24ui/prose/ol.ts +5 -0
- package/.nuxt/b24ui/prose/p.ts +5 -0
- package/.nuxt/b24ui/prose/strong.ts +5 -0
- package/.nuxt/b24ui/prose/ul.ts +5 -0
- package/.nuxt/b24ui/slideover.ts +26 -7
- package/dist/meta.cjs +32768 -29015
- package/dist/meta.d.cts +32768 -29015
- package/dist/meta.d.mts +32768 -29015
- package/dist/meta.d.ts +32768 -29015
- package/dist/meta.mjs +32768 -29015
- package/dist/module.cjs +6 -1
- package/dist/module.json +1 -1
- package/dist/module.mjs +6 -1
- package/dist/runtime/components/Advice.vue +3 -0
- package/dist/runtime/components/Alert.vue +17 -2
- package/dist/runtime/components/Avatar.vue +7 -0
- package/dist/runtime/components/AvatarGroup.vue +3 -0
- package/dist/runtime/components/Badge.vue +21 -3
- package/dist/runtime/components/Button.vue +120 -52
- package/dist/runtime/components/ButtonGroup.vue +7 -1
- package/dist/runtime/components/Checkbox.vue +6 -0
- package/dist/runtime/components/Chip.vue +18 -2
- package/dist/runtime/components/Countdown.vue +32 -8
- package/dist/runtime/components/{content/DescriptionList.vue → DescriptionList.vue} +19 -8
- package/dist/runtime/components/DropdownMenu.vue +14 -2
- package/dist/runtime/components/DropdownMenuContent.vue +6 -0
- package/dist/runtime/components/FormField.vue +6 -0
- package/dist/runtime/components/Input.vue +50 -6
- package/dist/runtime/components/InputMenu.vue +67 -15
- package/dist/runtime/components/InputNumber.vue +42 -8
- package/dist/runtime/components/Kbd.vue +6 -0
- package/dist/runtime/components/Link.vue +8 -4
- package/dist/runtime/components/Modal.vue +22 -5
- package/dist/runtime/components/Progress.vue +19 -3
- package/dist/runtime/components/RadioGroup.vue +6 -0
- package/dist/runtime/components/Range.vue +9 -1
- package/dist/runtime/components/Select.vue +47 -10
- package/dist/runtime/components/SelectMenu.vue +52 -12
- package/dist/runtime/components/Separator.vue +16 -2
- package/dist/runtime/components/Slideover.vue +22 -4
- package/dist/runtime/components/Switch.vue +19 -3
- package/dist/runtime/components/Tabs.vue +12 -0
- package/dist/runtime/components/Textarea.vue +50 -6
- package/dist/runtime/components/Toast.vue +13 -2
- package/dist/runtime/components/Toaster.vue +8 -0
- package/dist/runtime/components/{prose → content}/TableWrapper.vue +27 -3
- package/dist/runtime/composables/useComponentIcons.d.ts +9 -2
- package/dist/runtime/index.css +1 -1
- package/dist/runtime/prose/Blockquote.vue +36 -0
- package/dist/runtime/prose/Em.vue +36 -0
- package/dist/runtime/prose/H1.vue +36 -0
- package/dist/runtime/prose/H2.vue +36 -0
- package/dist/runtime/prose/H3.vue +36 -0
- package/dist/runtime/prose/H4.vue +36 -0
- package/dist/runtime/prose/H5.vue +36 -0
- package/dist/runtime/prose/H6.vue +36 -0
- package/dist/runtime/prose/Hr.vue +30 -0
- package/dist/runtime/prose/Li.vue +36 -0
- package/dist/runtime/prose/Ol.vue +36 -0
- package/dist/runtime/prose/P.vue +36 -0
- package/dist/runtime/prose/Strong.vue +36 -0
- package/dist/runtime/prose/Ul.vue +36 -0
- package/dist/runtime/types/index.d.ts +16 -2
- package/dist/runtime/types/index.js +16 -2
- package/dist/runtime/utils/index.js +1 -1
- package/dist/runtime/vue/components/Link.vue +10 -6
- package/dist/shared/{b24ui-nuxt.BT9wxrhm.cjs → b24ui-nuxt.Bt28CeAD.cjs} +350 -90
- package/dist/shared/{b24ui-nuxt.CBO0gAWn.mjs → b24ui-nuxt.Bx_-_mhu.mjs} +350 -90
- package/dist/unplugin.cjs +4 -4
- package/dist/unplugin.mjs +4 -4
- package/dist/vite.cjs +1 -1
- package/dist/vite.mjs +1 -1
- package/package.json +7 -6
- /package/.nuxt/b24ui/{prose → content}/table-wrapper.ts +0 -0
- /package/.nuxt/b24ui/{content/description-list.ts → description-list.ts} +0 -0
|
@@ -17,6 +17,10 @@ type SelectMenuVariants = VariantProps<typeof selectMenu>
|
|
|
17
17
|
|
|
18
18
|
export interface SelectMenuItem {
|
|
19
19
|
label?: string
|
|
20
|
+
/**
|
|
21
|
+
* Display an icon on the left side.
|
|
22
|
+
* @IconComponent
|
|
23
|
+
*/
|
|
20
24
|
icon?: IconComponent
|
|
21
25
|
avatar?: AvatarProps
|
|
22
26
|
color?: SelectMenuVariants['color']
|
|
@@ -37,31 +41,57 @@ export interface SelectMenuProps<T extends MaybeArrayOfArrayItem<I>, I extends M
|
|
|
37
41
|
/**
|
|
38
42
|
* Whether to display the search input or not.
|
|
39
43
|
* Can be an object to pass additional props to the input.
|
|
40
|
-
* `{ placeholder: 'Search...', type: 'search' }`{lang="ts
|
|
44
|
+
* `{ placeholder: 'Search...', type: 'search' }`{lang="ts"}
|
|
41
45
|
* @defaultValue true
|
|
42
46
|
*/
|
|
43
47
|
searchInput?: boolean | InputProps
|
|
48
|
+
/**
|
|
49
|
+
* @defaultValue 'primary'
|
|
50
|
+
*/
|
|
44
51
|
color?: SelectMenuVariants['color']
|
|
52
|
+
/**
|
|
53
|
+
* @defaultValue 'md'
|
|
54
|
+
*/
|
|
45
55
|
size?: SelectMenuVariants['size']
|
|
46
|
-
/**
|
|
56
|
+
/**
|
|
57
|
+
* Removes padding from input
|
|
58
|
+
* @defaultValue false
|
|
59
|
+
*/
|
|
47
60
|
noPadding?: boolean
|
|
48
|
-
/**
|
|
61
|
+
/**
|
|
62
|
+
* Removes all borders (rings)
|
|
63
|
+
* @defaultValue false
|
|
64
|
+
*/
|
|
49
65
|
noBorder?: boolean
|
|
50
|
-
/**
|
|
66
|
+
/**
|
|
67
|
+
* Removes all borders (rings) except the bottom one
|
|
68
|
+
* @defaultValue false
|
|
69
|
+
*/
|
|
51
70
|
underline?: boolean
|
|
52
|
-
/**
|
|
71
|
+
/**
|
|
72
|
+
* Rounds the corners of the button
|
|
73
|
+
* @defaultValue false
|
|
74
|
+
*/
|
|
53
75
|
rounded?: boolean
|
|
54
76
|
tag?: string
|
|
77
|
+
/**
|
|
78
|
+
* @defaultValue 'primary'
|
|
79
|
+
*/
|
|
55
80
|
tagColor?: SelectMenuVariants['tagColor']
|
|
81
|
+
/**
|
|
82
|
+
* @defaultValue false
|
|
83
|
+
*/
|
|
56
84
|
required?: boolean
|
|
57
85
|
/**
|
|
58
86
|
* The icon displayed to open the menu.
|
|
59
|
-
* @defaultValue icons.chevronDown
|
|
87
|
+
* @defaultValue icons.chevronDown
|
|
88
|
+
* @IconComponent
|
|
60
89
|
*/
|
|
61
90
|
trailingIcon?: IconComponent
|
|
62
91
|
/**
|
|
63
92
|
* The icon displayed when an item is selected.
|
|
64
|
-
* @defaultValue icons.check
|
|
93
|
+
* @defaultValue icons.check
|
|
94
|
+
* @IconComponent
|
|
65
95
|
*/
|
|
66
96
|
selectedIcon?: IconComponent
|
|
67
97
|
/**
|
|
@@ -90,13 +120,23 @@ export interface SelectMenuProps<T extends MaybeArrayOfArrayItem<I>, I extends M
|
|
|
90
120
|
*/
|
|
91
121
|
labelKey?: V
|
|
92
122
|
items?: I
|
|
93
|
-
/**
|
|
123
|
+
/**
|
|
124
|
+
* The value of the SelectMenu when initially rendered. Use when you do not need to control the state of the SelectMenu
|
|
125
|
+
*/
|
|
94
126
|
defaultValue?: SelectModelValue<T, V, M>
|
|
95
|
-
/**
|
|
127
|
+
/**
|
|
128
|
+
* The controlled value of the SelectMenu. Can be binded-with with `v-model`
|
|
129
|
+
*/
|
|
96
130
|
modelValue?: SelectModelValue<T, V, M>
|
|
97
|
-
/**
|
|
131
|
+
/**
|
|
132
|
+
* Whether multiple options can be selected or not
|
|
133
|
+
* @defaultValue false
|
|
134
|
+
*/
|
|
98
135
|
multiple?: M & boolean
|
|
99
|
-
/**
|
|
136
|
+
/**
|
|
137
|
+
* Highlight the ring color like a focus state
|
|
138
|
+
* @defaultValue false
|
|
139
|
+
*/
|
|
100
140
|
highlight?: boolean
|
|
101
141
|
/**
|
|
102
142
|
* Determines if custom user input that does not exist in options can be added.
|
|
@@ -189,7 +229,7 @@ const searchTerm = defineModel<string>('searchTerm', { default: '' })
|
|
|
189
229
|
const { t } = useLocale()
|
|
190
230
|
const { contains } = useFilter({ sensitivity: 'base' })
|
|
191
231
|
|
|
192
|
-
const rootProps = useForwardPropsEmits(reactivePick(props, 'modelValue', 'defaultValue', 'open', 'defaultOpen', 'multiple', 'resetSearchTermOnBlur', 'highlightOnHover'), emits)
|
|
232
|
+
const rootProps = useForwardPropsEmits(reactivePick(props, 'modelValue', 'defaultValue', 'open', 'defaultOpen', 'required', 'multiple', 'resetSearchTermOnBlur', 'highlightOnHover'), emits)
|
|
193
233
|
const contentProps = toRef(() => defu(props.content, { side: 'bottom', sideOffset: 8, collisionPadding: 8, position: 'popper' }) as ComboboxContentProps)
|
|
194
234
|
const arrowProps = toRef(() => props.arrow as ComboboxArrowProps)
|
|
195
235
|
const searchInputProps = toRef(() => defu(props.searchInput, { placeholder: t('selectMenu.search'), type: 'search' }) as InputProps)
|
|
@@ -21,12 +21,26 @@ export interface SeparatorProps extends Pick<_SeparatorProps, 'decorative'> {
|
|
|
21
21
|
as?: any
|
|
22
22
|
/** Display a label in the middle. */
|
|
23
23
|
label?: string
|
|
24
|
-
/**
|
|
24
|
+
/**
|
|
25
|
+
* Display an icon in the middle
|
|
26
|
+
* @IconComponent
|
|
27
|
+
*/
|
|
25
28
|
icon?: IconComponent
|
|
26
|
-
/**
|
|
29
|
+
/**
|
|
30
|
+
* Display an avatar in the middle
|
|
31
|
+
*/
|
|
27
32
|
avatar?: AvatarProps
|
|
33
|
+
/**
|
|
34
|
+
* @defaultValue 'default'
|
|
35
|
+
*/
|
|
28
36
|
color?: SeparatorVariants['color']
|
|
37
|
+
/**
|
|
38
|
+
* @defaultValue 'xs'
|
|
39
|
+
*/
|
|
29
40
|
size?: SeparatorVariants['size']
|
|
41
|
+
/**
|
|
42
|
+
* @defaultValue 'solid'
|
|
43
|
+
*/
|
|
30
44
|
type?: SeparatorVariants['type']
|
|
31
45
|
/**
|
|
32
46
|
* The orientation of the separator.
|
|
@@ -16,18 +16,30 @@ type SlideoverVariants = VariantProps<typeof slideover>
|
|
|
16
16
|
export interface SlideoverProps extends DialogRootProps {
|
|
17
17
|
title?: string
|
|
18
18
|
description?: string
|
|
19
|
-
/**
|
|
19
|
+
/**
|
|
20
|
+
* The content of the slideover
|
|
21
|
+
*/
|
|
20
22
|
content?: Omit<DialogContentProps, 'as' | 'asChild' | 'forceMount'>
|
|
21
23
|
/**
|
|
22
24
|
* Render an overlay behind the slideover.
|
|
23
25
|
* @defaultValue true
|
|
24
26
|
*/
|
|
25
27
|
overlay?: boolean
|
|
28
|
+
/**
|
|
29
|
+
* Render an overlay blur behind the slideover.
|
|
30
|
+
* `auto` use `motion-safe`.
|
|
31
|
+
* @defaultValue 'auto'
|
|
32
|
+
*/
|
|
33
|
+
overlayBlur?: SlideoverVariants['overlayBlur']
|
|
26
34
|
/**
|
|
27
35
|
* Animate the slideover when opening or closing.
|
|
28
36
|
* @defaultValue true
|
|
29
37
|
*/
|
|
30
38
|
transition?: boolean
|
|
39
|
+
/**
|
|
40
|
+
* The side of the slideover.
|
|
41
|
+
* @defaultValue 'right'
|
|
42
|
+
*/
|
|
31
43
|
side?: SlideoverVariants['side']
|
|
32
44
|
/**
|
|
33
45
|
* Render the slideover in a portal.
|
|
@@ -44,13 +56,17 @@ export interface SlideoverProps extends DialogRootProps {
|
|
|
44
56
|
/**
|
|
45
57
|
* The icon displayed in the close button.
|
|
46
58
|
* @defaultValue icons.close
|
|
59
|
+
* @IconifyIcon
|
|
47
60
|
*/
|
|
48
61
|
closeIcon?: IconComponent
|
|
49
62
|
/**
|
|
50
63
|
* When `false`, the slideover will not close when clicking outside or pressing escape.
|
|
51
|
-
* @defaultValue
|
|
64
|
+
* @defaultValue false
|
|
52
65
|
*/
|
|
53
66
|
dismissible?: boolean
|
|
67
|
+
/**
|
|
68
|
+
* @defaultValue true
|
|
69
|
+
*/
|
|
54
70
|
scrollbarThin?: boolean
|
|
55
71
|
class?: any
|
|
56
72
|
b24ui?: Partial<typeof slideover.slots>
|
|
@@ -88,7 +104,8 @@ const props = withDefaults(defineProps<SlideoverProps>(), {
|
|
|
88
104
|
modal: true,
|
|
89
105
|
dismissible: true,
|
|
90
106
|
side: 'right',
|
|
91
|
-
scrollbarThin: true
|
|
107
|
+
scrollbarThin: true,
|
|
108
|
+
overlayBlur: 'auto'
|
|
92
109
|
})
|
|
93
110
|
const emits = defineEmits<SlideoverEmits>()
|
|
94
111
|
const slots = defineSlots<SlideoverSlots>()
|
|
@@ -114,7 +131,8 @@ const contentEvents = computed(() => {
|
|
|
114
131
|
|
|
115
132
|
const b24ui = computed(() => slideover({
|
|
116
133
|
transition: props.transition,
|
|
117
|
-
side: props.side
|
|
134
|
+
side: props.side,
|
|
135
|
+
overlayBlur: props.overlayBlur
|
|
118
136
|
}))
|
|
119
137
|
</script>
|
|
120
138
|
|
|
@@ -20,18 +20,34 @@ export interface SwitchProps extends Pick<SwitchRootProps, 'disabled' | 'id' | '
|
|
|
20
20
|
* @defaultValue 'div'
|
|
21
21
|
*/
|
|
22
22
|
as?: any
|
|
23
|
+
/**
|
|
24
|
+
* @defaultValue 'primary'
|
|
25
|
+
*/
|
|
23
26
|
color?: SwitchVariants['color']
|
|
27
|
+
/**
|
|
28
|
+
* @defaultValue 'md'
|
|
29
|
+
*/
|
|
24
30
|
size?: SwitchVariants['size']
|
|
25
|
-
/**
|
|
31
|
+
/**
|
|
32
|
+
* When `true`, the loading icon will be displayed
|
|
33
|
+
* @defaultValue false
|
|
34
|
+
*/
|
|
26
35
|
loading?: boolean
|
|
27
36
|
/**
|
|
28
37
|
* The icon when the `loading` prop is `true`.
|
|
29
38
|
* @defaultValue icons.refresh
|
|
39
|
+
* @IconComponent
|
|
30
40
|
*/
|
|
31
41
|
loadingIcon?: IconComponent
|
|
32
|
-
/**
|
|
42
|
+
/**
|
|
43
|
+
* Display an icon when the switch is checked.
|
|
44
|
+
* @IconComponent
|
|
45
|
+
*/
|
|
33
46
|
checkedIcon?: IconComponent
|
|
34
|
-
/**
|
|
47
|
+
/**
|
|
48
|
+
* Display an icon when the switch is unchecked.
|
|
49
|
+
* @IconComponent
|
|
50
|
+
*/
|
|
35
51
|
uncheckedIcon?: IconComponent
|
|
36
52
|
label?: string
|
|
37
53
|
description?: string
|
|
@@ -14,6 +14,9 @@ const tabs = tv({ extend: tv(theme), ...(appConfigTabs.b24ui?.tabs || {}) })
|
|
|
14
14
|
|
|
15
15
|
export interface TabsItem {
|
|
16
16
|
label?: string
|
|
17
|
+
/**
|
|
18
|
+
* @IconComponent
|
|
19
|
+
*/
|
|
17
20
|
icon?: IconComponent
|
|
18
21
|
avatar?: AvatarProps
|
|
19
22
|
slot?: string
|
|
@@ -32,8 +35,17 @@ export interface TabsProps<T> extends Pick<TabsRootProps<string | number>, 'defa
|
|
|
32
35
|
*/
|
|
33
36
|
as?: any
|
|
34
37
|
items?: T[]
|
|
38
|
+
/**
|
|
39
|
+
* @defaultValue 'default'
|
|
40
|
+
*/
|
|
35
41
|
color?: TabsVariants['color']
|
|
42
|
+
/**
|
|
43
|
+
* @defaultValue 'link'
|
|
44
|
+
*/
|
|
36
45
|
variant?: TabsVariants['variant']
|
|
46
|
+
/**
|
|
47
|
+
* @defaultValue 'md'
|
|
48
|
+
*/
|
|
37
49
|
size?: TabsVariants['size']
|
|
38
50
|
/**
|
|
39
51
|
* The orientation of the tabs.
|
|
@@ -20,27 +20,71 @@ export interface TextareaProps {
|
|
|
20
20
|
as?: any
|
|
21
21
|
id?: string
|
|
22
22
|
name?: string
|
|
23
|
-
/**
|
|
23
|
+
/**
|
|
24
|
+
* The placeholder text when the textarea is empty
|
|
25
|
+
*/
|
|
24
26
|
placeholder?: string
|
|
27
|
+
/**
|
|
28
|
+
* @defaultValue 'primary'
|
|
29
|
+
*/
|
|
25
30
|
color?: TextareaVariants['color']
|
|
26
|
-
/**
|
|
31
|
+
/**
|
|
32
|
+
* Removes padding from input
|
|
33
|
+
* @defaultValue false
|
|
34
|
+
*/
|
|
27
35
|
noPadding?: boolean
|
|
28
|
-
/**
|
|
36
|
+
/**
|
|
37
|
+
* Removes all borders (rings)
|
|
38
|
+
* @defaultValue false
|
|
39
|
+
*/
|
|
29
40
|
noBorder?: boolean
|
|
30
|
-
/**
|
|
41
|
+
/**
|
|
42
|
+
* Removes all borders (rings) except the bottom one
|
|
43
|
+
* @defaultValue false
|
|
44
|
+
*/
|
|
31
45
|
underline?: boolean
|
|
32
|
-
/**
|
|
46
|
+
/**
|
|
47
|
+
* Rounds the corners of the button
|
|
48
|
+
* @defaultValue false
|
|
49
|
+
*/
|
|
33
50
|
rounded?: boolean
|
|
51
|
+
/**
|
|
52
|
+
* @defaultValue false
|
|
53
|
+
*/
|
|
34
54
|
required?: boolean
|
|
55
|
+
/**
|
|
56
|
+
* @defaultValue false
|
|
57
|
+
*/
|
|
35
58
|
autofocus?: boolean
|
|
59
|
+
/**
|
|
60
|
+
* @defaultValue 0
|
|
61
|
+
*/
|
|
36
62
|
autofocusDelay?: number
|
|
63
|
+
/**
|
|
64
|
+
* @defaultValue false
|
|
65
|
+
*/
|
|
37
66
|
disabled?: boolean
|
|
67
|
+
/**
|
|
68
|
+
* @defaultValue 3
|
|
69
|
+
*/
|
|
38
70
|
rows?: number
|
|
71
|
+
/**
|
|
72
|
+
* @defaultValue 5
|
|
73
|
+
*/
|
|
39
74
|
maxrows?: number
|
|
75
|
+
/**
|
|
76
|
+
* @defaultValue false
|
|
77
|
+
*/
|
|
40
78
|
autoresize?: boolean
|
|
41
79
|
tag?: string
|
|
80
|
+
/**
|
|
81
|
+
* @defaultValue 'primary'
|
|
82
|
+
*/
|
|
42
83
|
tagColor?: TextareaVariants['tagColor']
|
|
43
|
-
/**
|
|
84
|
+
/**
|
|
85
|
+
* Highlight the ring color like a focus state
|
|
86
|
+
* @defaultValue false
|
|
87
|
+
*/
|
|
44
88
|
highlight?: boolean
|
|
45
89
|
class?: any
|
|
46
90
|
b24ui?: PartialString<typeof textarea.slots>
|
|
@@ -22,26 +22,37 @@ export interface ToastProps extends Pick<ToastRootProps, 'defaultOpen' | 'open'
|
|
|
22
22
|
as?: any
|
|
23
23
|
title?: StringOrVNode
|
|
24
24
|
description?: StringOrVNode
|
|
25
|
+
/**
|
|
26
|
+
* @IconComponent
|
|
27
|
+
*/
|
|
25
28
|
icon?: IconComponent
|
|
26
29
|
avatar?: AvatarProps
|
|
30
|
+
/**
|
|
31
|
+
* @defaultValue 'default'
|
|
32
|
+
*/
|
|
27
33
|
color?: ToastVariants['color']
|
|
34
|
+
/**
|
|
35
|
+
* The orientation between the content and the actions
|
|
36
|
+
* @defaultValue 'vertical'
|
|
37
|
+
*/
|
|
28
38
|
orientation?: ToastVariants['orientation']
|
|
29
39
|
/**
|
|
30
40
|
* Display a list of actions:
|
|
31
41
|
* - under the title and description when orientation is `vertical`
|
|
32
42
|
* - next to the close button when orientation is `horizontal`
|
|
33
|
-
* `{ size: 'xs' }`{lang="ts
|
|
43
|
+
* `{ size: 'xs' }`{lang="ts"}
|
|
34
44
|
*/
|
|
35
45
|
actions?: ButtonProps[]
|
|
36
46
|
/**
|
|
37
47
|
* Display a close button to dismiss the toast.
|
|
38
|
-
* `{ size: 'md', color: 'neutral', variant: 'link' }`{lang="ts
|
|
48
|
+
* `{ size: 'md', color: 'neutral', variant: 'link' }`{lang="ts"}
|
|
39
49
|
* @defaultValue true
|
|
40
50
|
*/
|
|
41
51
|
close?: boolean | Partial<ButtonProps>
|
|
42
52
|
/**
|
|
43
53
|
* The icon displayed in the close button.
|
|
44
54
|
* @defaultValue icons.close
|
|
55
|
+
* @IconComponent
|
|
45
56
|
*/
|
|
46
57
|
closeIcon?: IconComponent
|
|
47
58
|
class?: any
|
|
@@ -13,6 +13,10 @@ const toaster = tv({ extend: tv(theme), ...(appConfigToaster.b24ui?.toaster || {
|
|
|
13
13
|
type ToasterVariants = VariantProps<typeof toaster>
|
|
14
14
|
|
|
15
15
|
export interface ToasterProps extends Omit<ToastProviderProps, 'swipeDirection'> {
|
|
16
|
+
/**
|
|
17
|
+
* The position on the screen to display the toasts.
|
|
18
|
+
* @defaultValue 'top-right'
|
|
19
|
+
*/
|
|
16
20
|
position?: ToasterVariants['position']
|
|
17
21
|
/**
|
|
18
22
|
* Expand the toasts to show multiple toasts at once.
|
|
@@ -24,6 +28,10 @@ export interface ToasterProps extends Omit<ToastProviderProps, 'swipeDirection'>
|
|
|
24
28
|
* @defaultValue true
|
|
25
29
|
*/
|
|
26
30
|
portal?: boolean
|
|
31
|
+
/**
|
|
32
|
+
* @defaultValue 5000
|
|
33
|
+
*/
|
|
34
|
+
duration?: number
|
|
27
35
|
class?: any
|
|
28
36
|
b24ui?: Partial<typeof toaster.slots>
|
|
29
37
|
}
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
import type { VariantProps } from 'tailwind-variants'
|
|
3
3
|
import type { AppConfig } from '@nuxt/schema'
|
|
4
4
|
import _appConfig from '#build/app.config'
|
|
5
|
-
import theme from '#build/b24ui/
|
|
5
|
+
import theme from '#build/b24ui/content/table-wrapper'
|
|
6
6
|
import { tv } from '../../utils/tv'
|
|
7
7
|
|
|
8
|
-
const appConfigTableWrapper = _appConfig as AppConfig & { b24ui: {
|
|
8
|
+
const appConfigTableWrapper = _appConfig as AppConfig & { b24ui: { content: { tableWrapper: Partial<typeof theme> } } }
|
|
9
9
|
|
|
10
|
-
const tableWrapper = tv({ extend: tv(theme), ...(appConfigTableWrapper.b24ui?.
|
|
10
|
+
const tableWrapper = tv({ extend: tv(theme), ...(appConfigTableWrapper.b24ui?.content?.tableWrapper || {}) })
|
|
11
11
|
|
|
12
12
|
type TableWrapperVariants = VariantProps<typeof tableWrapper>
|
|
13
13
|
|
|
@@ -17,13 +17,37 @@ export interface TableWrapperProps {
|
|
|
17
17
|
* @defaultValue 'div'
|
|
18
18
|
*/
|
|
19
19
|
as?: any
|
|
20
|
+
/**
|
|
21
|
+
* @defaultValue 'md'
|
|
22
|
+
*/
|
|
20
23
|
size?: TableWrapperVariants['size']
|
|
24
|
+
/**
|
|
25
|
+
* @defaultValue false
|
|
26
|
+
*/
|
|
21
27
|
rounded?: boolean
|
|
28
|
+
/**
|
|
29
|
+
* @defaultValue false
|
|
30
|
+
*/
|
|
22
31
|
zebra?: boolean
|
|
32
|
+
/**
|
|
33
|
+
* @defaultValue false
|
|
34
|
+
*/
|
|
23
35
|
pinRows?: boolean
|
|
36
|
+
/**
|
|
37
|
+
* @defaultValue false
|
|
38
|
+
*/
|
|
24
39
|
pinCols?: boolean
|
|
40
|
+
/**
|
|
41
|
+
* @defaultValue false
|
|
42
|
+
*/
|
|
25
43
|
rowHover?: boolean
|
|
44
|
+
/**
|
|
45
|
+
* @defaultValue false
|
|
46
|
+
*/
|
|
26
47
|
bordered?: boolean
|
|
48
|
+
/**
|
|
49
|
+
* @defaultValue true
|
|
50
|
+
*/
|
|
27
51
|
scrollbarThin?: boolean
|
|
28
52
|
class?: any
|
|
29
53
|
b24ui?: Partial<typeof tableWrapper.slots>
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import { type MaybeRefOrGetter } from 'vue';
|
|
2
2
|
import type { AvatarProps, IconComponent } from '../types';
|
|
3
3
|
export interface UseComponentIconsProps {
|
|
4
|
-
/**
|
|
4
|
+
/**
|
|
5
|
+
* Display an icon on the left side.
|
|
6
|
+
* @defaultValue icons.loading
|
|
7
|
+
* @IconComponent
|
|
8
|
+
*/
|
|
5
9
|
icon?: IconComponent;
|
|
6
10
|
/** Display an avatar on the left side. */
|
|
7
11
|
avatar?: AvatarProps;
|
|
@@ -9,7 +13,10 @@ export interface UseComponentIconsProps {
|
|
|
9
13
|
loading?: boolean;
|
|
10
14
|
/** When `true`, the icon will be displayed on the right side. */
|
|
11
15
|
trailing?: boolean;
|
|
12
|
-
/**
|
|
16
|
+
/**
|
|
17
|
+
* Display an icon on the right side.
|
|
18
|
+
* @IconComponent
|
|
19
|
+
*/
|
|
13
20
|
trailingIcon?: IconComponent;
|
|
14
21
|
}
|
|
15
22
|
export declare function useComponentIcons(componentProps: MaybeRefOrGetter<UseComponentIconsProps>): {
|
package/dist/runtime/index.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@plugin "@bitrix24/b24style";@import "#build/b24ui.css";@import "./keyframes.css";@variant light (&:where(.light, .light *));@variant dark (&:where(.dark, .dark *));@layer base{body{@apply antialiased scheme-light dark:scheme-dark}.scrollbar-thin{scrollbar-width:thin}}
|
|
1
|
+
@plugin "@bitrix24/b24style";@import "#build/b24ui.css";@import "./keyframes.css";@variant light (&:where(.light, .light *));@variant dark (&:where(.dark, .dark *));@layer base{--b24ui-header-height:calc(var(--spacing)*16);body{@apply antialiased scheme-light dark:scheme-dark}.scrollbar-thin{scrollbar-width:thin}}@layer theme{:host,:root{--spacing:.25rem}}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { AppConfig } from '@nuxt/schema'
|
|
3
|
+
import _appConfig from '#build/app.config'
|
|
4
|
+
import theme from '#build/b24ui/prose/blockquote'
|
|
5
|
+
import { tv } from '../utils/tv'
|
|
6
|
+
|
|
7
|
+
const appConfigProseBlockquote = _appConfig as AppConfig & { b24ui: { prose: { blockquote: Partial<typeof theme> } } }
|
|
8
|
+
|
|
9
|
+
const proseBlockquote = tv({ extend: tv(theme), ...(appConfigProseBlockquote.b24ui?.prose?.blockquote || {}) })
|
|
10
|
+
|
|
11
|
+
export interface proseBlockquoteProps {
|
|
12
|
+
class?: any
|
|
13
|
+
b24ui?: Partial<typeof proseBlockquote.slots>
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export interface proseBlockquoteSlots {
|
|
17
|
+
default(props?: {}): any
|
|
18
|
+
}
|
|
19
|
+
</script>
|
|
20
|
+
|
|
21
|
+
<script setup lang="ts">
|
|
22
|
+
defineOptions({ inheritAttrs: false })
|
|
23
|
+
|
|
24
|
+
const props = defineProps<proseBlockquoteProps>()
|
|
25
|
+
|
|
26
|
+
// eslint-disable-next-line vue/no-dupe-keys
|
|
27
|
+
const b24ui = proseBlockquote({})
|
|
28
|
+
</script>
|
|
29
|
+
|
|
30
|
+
<template>
|
|
31
|
+
<blockquote
|
|
32
|
+
:class="b24ui.base({ class: [props.class, props.b24ui?.base] })"
|
|
33
|
+
>
|
|
34
|
+
<slot />
|
|
35
|
+
</blockquote>
|
|
36
|
+
</template>
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { AppConfig } from '@nuxt/schema'
|
|
3
|
+
import _appConfig from '#build/app.config'
|
|
4
|
+
import theme from '#build/b24ui/prose/em'
|
|
5
|
+
import { tv } from '../utils/tv'
|
|
6
|
+
|
|
7
|
+
const appConfigPproseEm = _appConfig as AppConfig & { b24ui: { prose: { em: Partial<typeof theme> } } }
|
|
8
|
+
|
|
9
|
+
const pproseEm = tv({ extend: tv(theme), ...(appConfigPproseEm.b24ui?.prose?.em || {}) })
|
|
10
|
+
|
|
11
|
+
export interface pproseEmProps {
|
|
12
|
+
class?: any
|
|
13
|
+
b24ui?: Partial<typeof pproseEm.slots>
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export interface pproseEmSlots {
|
|
17
|
+
default(props?: {}): any
|
|
18
|
+
}
|
|
19
|
+
</script>
|
|
20
|
+
|
|
21
|
+
<script setup lang="ts">
|
|
22
|
+
defineOptions({ inheritAttrs: false })
|
|
23
|
+
|
|
24
|
+
const props = defineProps<pproseEmProps>()
|
|
25
|
+
|
|
26
|
+
// eslint-disable-next-line vue/no-dupe-keys
|
|
27
|
+
const b24ui = pproseEm({})
|
|
28
|
+
</script>
|
|
29
|
+
|
|
30
|
+
<template>
|
|
31
|
+
<em
|
|
32
|
+
:class="b24ui.base({ class: [props.class, props.b24ui?.base] })"
|
|
33
|
+
>
|
|
34
|
+
<slot />
|
|
35
|
+
</em>
|
|
36
|
+
</template>
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { AppConfig } from '@nuxt/schema'
|
|
3
|
+
import _appConfig from '#build/app.config'
|
|
4
|
+
import theme from '#build/b24ui/prose/h1'
|
|
5
|
+
import { tv } from '../utils/tv'
|
|
6
|
+
|
|
7
|
+
const appConfigProseH1 = _appConfig as AppConfig & { b24ui: { prose: { h1: Partial<typeof theme> } } }
|
|
8
|
+
|
|
9
|
+
const proseH1 = tv({ extend: tv(theme), ...(appConfigProseH1.b24ui?.prose?.h1 || {}) })
|
|
10
|
+
|
|
11
|
+
export interface proseH1Props {
|
|
12
|
+
class?: any
|
|
13
|
+
b24ui?: Partial<typeof proseH1.slots>
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export interface proseH1Slots {
|
|
17
|
+
default(props?: {}): any
|
|
18
|
+
}
|
|
19
|
+
</script>
|
|
20
|
+
|
|
21
|
+
<script setup lang="ts">
|
|
22
|
+
defineOptions({ inheritAttrs: false })
|
|
23
|
+
|
|
24
|
+
const props = defineProps<proseH1Props>()
|
|
25
|
+
|
|
26
|
+
// eslint-disable-next-line vue/no-dupe-keys
|
|
27
|
+
const b24ui = proseH1({})
|
|
28
|
+
</script>
|
|
29
|
+
|
|
30
|
+
<template>
|
|
31
|
+
<h1
|
|
32
|
+
:class="b24ui.base({ class: [props.class, props.b24ui?.base] })"
|
|
33
|
+
>
|
|
34
|
+
<slot />
|
|
35
|
+
</h1>
|
|
36
|
+
</template>
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { AppConfig } from '@nuxt/schema'
|
|
3
|
+
import _appConfig from '#build/app.config'
|
|
4
|
+
import theme from '#build/b24ui/prose/h2'
|
|
5
|
+
import { tv } from '../utils/tv'
|
|
6
|
+
|
|
7
|
+
const appConfigProseH2 = _appConfig as AppConfig & { b24ui: { prose: { h2: Partial<typeof theme> } } }
|
|
8
|
+
|
|
9
|
+
const proseH2 = tv({ extend: tv(theme), ...(appConfigProseH2.b24ui?.prose?.h2 || {}) })
|
|
10
|
+
|
|
11
|
+
export interface proseH2Props {
|
|
12
|
+
class?: any
|
|
13
|
+
b24ui?: Partial<typeof proseH2.slots>
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export interface proseH2Slots {
|
|
17
|
+
default(props?: {}): any
|
|
18
|
+
}
|
|
19
|
+
</script>
|
|
20
|
+
|
|
21
|
+
<script setup lang="ts">
|
|
22
|
+
defineOptions({ inheritAttrs: false })
|
|
23
|
+
|
|
24
|
+
const props = defineProps<proseH2Props>()
|
|
25
|
+
|
|
26
|
+
// eslint-disable-next-line vue/no-dupe-keys
|
|
27
|
+
const b24ui = proseH2({})
|
|
28
|
+
</script>
|
|
29
|
+
|
|
30
|
+
<template>
|
|
31
|
+
<h2
|
|
32
|
+
:class="b24ui.base({ class: [props.class, props.b24ui?.base] })"
|
|
33
|
+
>
|
|
34
|
+
<slot />
|
|
35
|
+
</h2>
|
|
36
|
+
</template>
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { AppConfig } from '@nuxt/schema'
|
|
3
|
+
import _appConfig from '#build/app.config'
|
|
4
|
+
import theme from '#build/b24ui/prose/h3'
|
|
5
|
+
import { tv } from '../utils/tv'
|
|
6
|
+
|
|
7
|
+
const appConfigProseH3 = _appConfig as AppConfig & { b24ui: { prose: { h3: Partial<typeof theme> } } }
|
|
8
|
+
|
|
9
|
+
const proseH3 = tv({ extend: tv(theme), ...(appConfigProseH3.b24ui?.prose?.h3 || {}) })
|
|
10
|
+
|
|
11
|
+
export interface proseH3Props {
|
|
12
|
+
class?: any
|
|
13
|
+
b24ui?: Partial<typeof proseH3.slots>
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export interface proseH3Slots {
|
|
17
|
+
default(props?: {}): any
|
|
18
|
+
}
|
|
19
|
+
</script>
|
|
20
|
+
|
|
21
|
+
<script setup lang="ts">
|
|
22
|
+
defineOptions({ inheritAttrs: false })
|
|
23
|
+
|
|
24
|
+
const props = defineProps<proseH3Props>()
|
|
25
|
+
|
|
26
|
+
// eslint-disable-next-line vue/no-dupe-keys
|
|
27
|
+
const b24ui = proseH3({})
|
|
28
|
+
</script>
|
|
29
|
+
|
|
30
|
+
<template>
|
|
31
|
+
<h3
|
|
32
|
+
:class="b24ui.base({ class: [props.class, props.b24ui?.base] })"
|
|
33
|
+
>
|
|
34
|
+
<slot />
|
|
35
|
+
</h3>
|
|
36
|
+
</template>
|