@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.
Files changed (88) hide show
  1. package/.nuxt/b24ui/button.ts +8 -0
  2. package/.nuxt/b24ui/index.ts +1 -0
  3. package/.nuxt/b24ui/modal.ts +21 -3
  4. package/.nuxt/b24ui/prose/blockquote.ts +5 -0
  5. package/.nuxt/b24ui/prose/em.ts +5 -0
  6. package/.nuxt/b24ui/prose/h1.ts +6 -0
  7. package/.nuxt/b24ui/prose/h2.ts +16 -0
  8. package/.nuxt/b24ui/prose/h3.ts +16 -0
  9. package/.nuxt/b24ui/prose/h4.ts +16 -0
  10. package/.nuxt/b24ui/prose/h5.ts +16 -0
  11. package/.nuxt/b24ui/prose/h6.ts +16 -0
  12. package/.nuxt/b24ui/prose/hr.ts +5 -0
  13. package/.nuxt/b24ui/prose/li.ts +5 -0
  14. package/.nuxt/b24ui/prose/ol.ts +5 -0
  15. package/.nuxt/b24ui/prose/p.ts +5 -0
  16. package/.nuxt/b24ui/prose/strong.ts +5 -0
  17. package/.nuxt/b24ui/prose/ul.ts +5 -0
  18. package/.nuxt/b24ui/slideover.ts +26 -7
  19. package/dist/meta.cjs +32768 -29015
  20. package/dist/meta.d.cts +32768 -29015
  21. package/dist/meta.d.mts +32768 -29015
  22. package/dist/meta.d.ts +32768 -29015
  23. package/dist/meta.mjs +32768 -29015
  24. package/dist/module.cjs +6 -1
  25. package/dist/module.json +1 -1
  26. package/dist/module.mjs +6 -1
  27. package/dist/runtime/components/Advice.vue +3 -0
  28. package/dist/runtime/components/Alert.vue +17 -2
  29. package/dist/runtime/components/Avatar.vue +7 -0
  30. package/dist/runtime/components/AvatarGroup.vue +3 -0
  31. package/dist/runtime/components/Badge.vue +21 -3
  32. package/dist/runtime/components/Button.vue +120 -52
  33. package/dist/runtime/components/ButtonGroup.vue +7 -1
  34. package/dist/runtime/components/Checkbox.vue +6 -0
  35. package/dist/runtime/components/Chip.vue +18 -2
  36. package/dist/runtime/components/Countdown.vue +32 -8
  37. package/dist/runtime/components/{content/DescriptionList.vue → DescriptionList.vue} +19 -8
  38. package/dist/runtime/components/DropdownMenu.vue +14 -2
  39. package/dist/runtime/components/DropdownMenuContent.vue +6 -0
  40. package/dist/runtime/components/FormField.vue +6 -0
  41. package/dist/runtime/components/Input.vue +50 -6
  42. package/dist/runtime/components/InputMenu.vue +67 -15
  43. package/dist/runtime/components/InputNumber.vue +42 -8
  44. package/dist/runtime/components/Kbd.vue +6 -0
  45. package/dist/runtime/components/Link.vue +8 -4
  46. package/dist/runtime/components/Modal.vue +22 -5
  47. package/dist/runtime/components/Progress.vue +19 -3
  48. package/dist/runtime/components/RadioGroup.vue +6 -0
  49. package/dist/runtime/components/Range.vue +9 -1
  50. package/dist/runtime/components/Select.vue +47 -10
  51. package/dist/runtime/components/SelectMenu.vue +52 -12
  52. package/dist/runtime/components/Separator.vue +16 -2
  53. package/dist/runtime/components/Slideover.vue +22 -4
  54. package/dist/runtime/components/Switch.vue +19 -3
  55. package/dist/runtime/components/Tabs.vue +12 -0
  56. package/dist/runtime/components/Textarea.vue +50 -6
  57. package/dist/runtime/components/Toast.vue +13 -2
  58. package/dist/runtime/components/Toaster.vue +8 -0
  59. package/dist/runtime/components/{prose → content}/TableWrapper.vue +27 -3
  60. package/dist/runtime/composables/useComponentIcons.d.ts +9 -2
  61. package/dist/runtime/index.css +1 -1
  62. package/dist/runtime/prose/Blockquote.vue +36 -0
  63. package/dist/runtime/prose/Em.vue +36 -0
  64. package/dist/runtime/prose/H1.vue +36 -0
  65. package/dist/runtime/prose/H2.vue +36 -0
  66. package/dist/runtime/prose/H3.vue +36 -0
  67. package/dist/runtime/prose/H4.vue +36 -0
  68. package/dist/runtime/prose/H5.vue +36 -0
  69. package/dist/runtime/prose/H6.vue +36 -0
  70. package/dist/runtime/prose/Hr.vue +30 -0
  71. package/dist/runtime/prose/Li.vue +36 -0
  72. package/dist/runtime/prose/Ol.vue +36 -0
  73. package/dist/runtime/prose/P.vue +36 -0
  74. package/dist/runtime/prose/Strong.vue +36 -0
  75. package/dist/runtime/prose/Ul.vue +36 -0
  76. package/dist/runtime/types/index.d.ts +16 -2
  77. package/dist/runtime/types/index.js +16 -2
  78. package/dist/runtime/utils/index.js +1 -1
  79. package/dist/runtime/vue/components/Link.vue +10 -6
  80. package/dist/shared/{b24ui-nuxt.BT9wxrhm.cjs → b24ui-nuxt.Bt28CeAD.cjs} +350 -90
  81. package/dist/shared/{b24ui-nuxt.CBO0gAWn.mjs → b24ui-nuxt.Bx_-_mhu.mjs} +350 -90
  82. package/dist/unplugin.cjs +4 -4
  83. package/dist/unplugin.mjs +4 -4
  84. package/dist/vite.cjs +1 -1
  85. package/dist/vite.mjs +1 -1
  86. package/package.json +7 -6
  87. /package/.nuxt/b24ui/{prose → content}/table-wrapper.ts +0 -0
  88. /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-type"}
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
- /** Removes padding from input. */
56
+ /**
57
+ * Removes padding from input
58
+ * @defaultValue false
59
+ */
47
60
  noPadding?: boolean
48
- /** removes all borders (rings). */
61
+ /**
62
+ * Removes all borders (rings)
63
+ * @defaultValue false
64
+ */
49
65
  noBorder?: boolean
50
- /** removes all borders (rings) except the bottom one. */
66
+ /**
67
+ * Removes all borders (rings) except the bottom one
68
+ * @defaultValue false
69
+ */
51
70
  underline?: boolean
52
- /** Rounds the corners of the button. */
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 = `ChevronDownIcon`
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 = `CheckIcon`
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
- /** The value of the SelectMenu when initially rendered. Use when you do not need to control the state of the SelectMenu. */
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
- /** The controlled value of the SelectMenu. Can be binded-with with `v-model`. */
127
+ /**
128
+ * The controlled value of the SelectMenu. Can be binded-with with `v-model`
129
+ */
96
130
  modelValue?: SelectModelValue<T, V, M>
97
- /** Whether multiple options can be selected or not. */
131
+ /**
132
+ * Whether multiple options can be selected or not
133
+ * @defaultValue false
134
+ */
98
135
  multiple?: M & boolean
99
- /** Highlight the ring color like a focus state. */
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
- /** Display an icon in the middle. */
24
+ /**
25
+ * Display an icon in the middle
26
+ * @IconComponent
27
+ */
25
28
  icon?: IconComponent
26
- /** Display an avatar in the middle. */
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
- /** The content of the slideover. */
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 true
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
- /** When `true`, the loading icon will be displayed. */
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
- /** Display an icon when the switch is checked. */
42
+ /**
43
+ * Display an icon when the switch is checked.
44
+ * @IconComponent
45
+ */
33
46
  checkedIcon?: IconComponent
34
- /** Display an icon when the switch is unchecked. */
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
- /** The placeholder text when the textarea is empty. */
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
- /** Removes padding from input. */
31
+ /**
32
+ * Removes padding from input
33
+ * @defaultValue false
34
+ */
27
35
  noPadding?: boolean
28
- /** removes all borders (rings). */
36
+ /**
37
+ * Removes all borders (rings)
38
+ * @defaultValue false
39
+ */
29
40
  noBorder?: boolean
30
- /** removes all borders (rings) except the bottom one. */
41
+ /**
42
+ * Removes all borders (rings) except the bottom one
43
+ * @defaultValue false
44
+ */
31
45
  underline?: boolean
32
- /** Rounds the corners of the button. */
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
- /** Highlight the ring color like a focus state. */
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-type"}
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-type"}
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/prose/table-wrapper'
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: { prose: { tableWrapper: Partial<typeof theme> } } }
8
+ const appConfigTableWrapper = _appConfig as AppConfig & { b24ui: { content: { tableWrapper: Partial<typeof theme> } } }
9
9
 
10
- const tableWrapper = tv({ extend: tv(theme), ...(appConfigTableWrapper.b24ui?.prose?.tableWrapper || {}) })
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
- /** Display an icon on the left side. */
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
- /** Display an icon on the right side. */
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>): {
@@ -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>