@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.
Files changed (190) hide show
  1. package/dist/meta.cjs +72112 -0
  2. package/dist/meta.d.cts +72110 -0
  3. package/dist/meta.d.mts +5060 -5060
  4. package/dist/meta.d.ts +72110 -0
  5. package/dist/meta.mjs +5060 -5060
  6. package/dist/module.cjs +63 -0
  7. package/dist/module.d.cts +15 -0
  8. package/dist/module.d.ts +15 -0
  9. package/dist/module.json +3 -3
  10. package/dist/module.mjs +1 -1
  11. package/dist/runtime/components/Advice.vue +54 -47
  12. package/dist/runtime/components/Alert.vue +96 -71
  13. package/dist/runtime/components/App.vue +34 -37
  14. package/dist/runtime/components/Avatar.vue +81 -69
  15. package/dist/runtime/components/AvatarGroup.vue +76 -53
  16. package/dist/runtime/components/Badge.vue +83 -83
  17. package/dist/runtime/components/Button.vue +157 -220
  18. package/dist/runtime/components/ButtonGroup.vue +51 -35
  19. package/dist/runtime/components/Calendar.vue +152 -186
  20. package/dist/runtime/components/Checkbox.vue +73 -84
  21. package/dist/runtime/components/Chip.vue +74 -59
  22. package/dist/runtime/components/Collapsible.vue +41 -44
  23. package/dist/runtime/components/Container.vue +27 -18
  24. package/dist/runtime/components/Countdown.vue +378 -198
  25. package/dist/runtime/components/DescriptionList.vue +149 -102
  26. package/dist/runtime/components/DropdownMenu.vue +139 -83
  27. package/dist/runtime/components/DropdownMenuContent.vue +84 -137
  28. package/dist/runtime/components/Form.vue +216 -162
  29. package/dist/runtime/components/FormField.vue +80 -76
  30. package/dist/runtime/components/Input.vue +179 -160
  31. package/dist/runtime/components/InputMenu.vue +380 -300
  32. package/dist/runtime/components/InputNumber.vue +175 -178
  33. package/dist/runtime/components/Kbd.vue +45 -33
  34. package/dist/runtime/components/Link.vue +173 -179
  35. package/dist/runtime/components/LinkBase.vue +42 -64
  36. package/dist/runtime/components/Modal.vue +127 -105
  37. package/dist/runtime/components/ModalDialogClose.vue +8 -4
  38. package/dist/runtime/components/Navbar.vue +33 -24
  39. package/dist/runtime/components/NavbarDivider.vue +33 -24
  40. package/dist/runtime/components/NavbarSection.vue +33 -24
  41. package/dist/runtime/components/NavbarSpacer.vue +33 -24
  42. package/dist/runtime/components/NavigationMenu.vue +210 -144
  43. package/dist/runtime/components/OverlayProvider.vue +17 -13
  44. package/dist/runtime/components/Popover.vue +81 -81
  45. package/dist/runtime/components/Progress.vue +136 -109
  46. package/dist/runtime/components/RadioGroup.vue +134 -120
  47. package/dist/runtime/components/Range.vue +85 -94
  48. package/dist/runtime/components/Select.vue +260 -212
  49. package/dist/runtime/components/SelectMenu.vue +365 -272
  50. package/dist/runtime/components/Separator.vue +71 -61
  51. package/dist/runtime/components/Sidebar.vue +33 -24
  52. package/dist/runtime/components/SidebarBody.vue +38 -30
  53. package/dist/runtime/components/SidebarFooter.vue +33 -24
  54. package/dist/runtime/components/SidebarHeader.vue +33 -24
  55. package/dist/runtime/components/SidebarHeading.vue +33 -24
  56. package/dist/runtime/components/SidebarLayout.vue +70 -40
  57. package/dist/runtime/components/SidebarSection.vue +33 -24
  58. package/dist/runtime/components/SidebarSpacer.vue +33 -24
  59. package/dist/runtime/components/Skeleton.vue +22 -17
  60. package/dist/runtime/components/Slideover.vue +131 -108
  61. package/dist/runtime/components/StackedLayout.vue +73 -40
  62. package/dist/runtime/components/Switch.vue +95 -100
  63. package/dist/runtime/components/Tabs.vue +107 -81
  64. package/dist/runtime/components/Textarea.vue +201 -177
  65. package/dist/runtime/components/Toast.vue +105 -94
  66. package/dist/runtime/components/Toaster.vue +116 -94
  67. package/dist/runtime/components/Tooltip.vue +64 -78
  68. package/dist/runtime/components/content/TableWrapper.vue +70 -58
  69. package/dist/runtime/composables/useAvatarGroup.d.ts +1 -1
  70. package/dist/runtime/composables/useButtonGroup.d.ts +2 -2
  71. package/dist/runtime/composables/useComponentIcons.d.ts +3 -3
  72. package/dist/runtime/composables/useFormField.d.ts +1 -1
  73. package/dist/runtime/prose/A.vue +23 -18
  74. package/dist/runtime/prose/Blockquote.vue +23 -18
  75. package/dist/runtime/prose/Code.vue +31 -23
  76. package/dist/runtime/prose/Em.vue +23 -18
  77. package/dist/runtime/prose/H1.vue +23 -18
  78. package/dist/runtime/prose/H2.vue +23 -18
  79. package/dist/runtime/prose/H3.vue +23 -18
  80. package/dist/runtime/prose/H4.vue +23 -18
  81. package/dist/runtime/prose/H5.vue +23 -18
  82. package/dist/runtime/prose/H6.vue +23 -18
  83. package/dist/runtime/prose/Hr.vue +19 -18
  84. package/dist/runtime/prose/Img.vue +23 -18
  85. package/dist/runtime/prose/Li.vue +23 -18
  86. package/dist/runtime/prose/Ol.vue +23 -18
  87. package/dist/runtime/prose/P.vue +23 -18
  88. package/dist/runtime/prose/Pre.vue +33 -28
  89. package/dist/runtime/prose/Strong.vue +23 -18
  90. package/dist/runtime/prose/Table.vue +54 -44
  91. package/dist/runtime/prose/Tbody.vue +23 -18
  92. package/dist/runtime/prose/Td.vue +23 -18
  93. package/dist/runtime/prose/Th.vue +23 -18
  94. package/dist/runtime/prose/Thead.vue +23 -18
  95. package/dist/runtime/prose/Tr.vue +23 -18
  96. package/dist/runtime/prose/Ul.vue +23 -18
  97. package/dist/runtime/vue/components/Link.vue +202 -201
  98. package/dist/shared/b24ui-nuxt.DrKwIWoc.cjs +7721 -0
  99. package/dist/types.d.mts +5 -3
  100. package/dist/types.d.ts +7 -0
  101. package/dist/unplugin.cjs +236 -0
  102. package/dist/unplugin.d.cts +33 -0
  103. package/dist/unplugin.d.ts +33 -0
  104. package/dist/vite.cjs +21 -0
  105. package/dist/vite.d.cts +14 -0
  106. package/dist/vite.d.ts +14 -0
  107. package/package.json +25 -13
  108. package/dist/runtime/components/Advice.vue.d.ts +0 -170
  109. package/dist/runtime/components/Alert.vue.d.ts +0 -464
  110. package/dist/runtime/components/App.vue.d.ts +0 -23
  111. package/dist/runtime/components/Avatar.vue.d.ts +0 -281
  112. package/dist/runtime/components/AvatarGroup.vue.d.ts +0 -204
  113. package/dist/runtime/components/Badge.vue.d.ts +0 -517
  114. package/dist/runtime/components/Button.vue.d.ts +0 -640
  115. package/dist/runtime/components/ButtonGroup.vue.d.ts +0 -116
  116. package/dist/runtime/components/Calendar.vue.d.ts +0 -437
  117. package/dist/runtime/components/Checkbox.vue.d.ts +0 -354
  118. package/dist/runtime/components/Chip.vue.d.ts +0 -271
  119. package/dist/runtime/components/Collapsible.vue.d.ts +0 -118
  120. package/dist/runtime/components/Container.vue.d.ts +0 -27
  121. package/dist/runtime/components/Countdown.vue.d.ts +0 -356
  122. package/dist/runtime/components/DescriptionList.vue.d.ts +0 -379
  123. package/dist/runtime/components/DropdownMenu.vue.d.ts +0 -533
  124. package/dist/runtime/components/DropdownMenuContent.vue.d.ts +0 -228
  125. package/dist/runtime/components/Form.vue.d.ts +0 -55
  126. package/dist/runtime/components/FormField.vue.d.ts +0 -282
  127. package/dist/runtime/components/Input.vue.d.ts +0 -755
  128. package/dist/runtime/components/InputMenu.vue.d.ts +0 -1504
  129. package/dist/runtime/components/InputNumber.vue.d.ts +0 -658
  130. package/dist/runtime/components/Kbd.vue.d.ts +0 -109
  131. package/dist/runtime/components/Link.vue.d.ts +0 -129
  132. package/dist/runtime/components/LinkBase.vue.d.ts +0 -48
  133. package/dist/runtime/components/Modal.vue.d.ts +0 -327
  134. package/dist/runtime/components/ModalDialogClose.vue.d.ts +0 -10
  135. package/dist/runtime/components/Navbar.vue.d.ts +0 -101
  136. package/dist/runtime/components/NavbarDivider.vue.d.ts +0 -101
  137. package/dist/runtime/components/NavbarSection.vue.d.ts +0 -101
  138. package/dist/runtime/components/NavbarSpacer.vue.d.ts +0 -101
  139. package/dist/runtime/components/NavigationMenu.vue.d.ts +0 -824
  140. package/dist/runtime/components/OverlayProvider.vue.d.ts +0 -2
  141. package/dist/runtime/components/Popover.vue.d.ts +0 -147
  142. package/dist/runtime/components/Progress.vue.d.ts +0 -592
  143. package/dist/runtime/components/RadioGroup.vue.d.ts +0 -723
  144. package/dist/runtime/components/Range.vue.d.ts +0 -417
  145. package/dist/runtime/components/Select.vue.d.ts +0 -1200
  146. package/dist/runtime/components/SelectMenu.vue.d.ts +0 -1298
  147. package/dist/runtime/components/Separator.vue.d.ts +0 -400
  148. package/dist/runtime/components/Sidebar.vue.d.ts +0 -101
  149. package/dist/runtime/components/SidebarBody.vue.d.ts +0 -90
  150. package/dist/runtime/components/SidebarFooter.vue.d.ts +0 -101
  151. package/dist/runtime/components/SidebarHeader.vue.d.ts +0 -101
  152. package/dist/runtime/components/SidebarHeading.vue.d.ts +0 -101
  153. package/dist/runtime/components/SidebarLayout.vue.d.ts +0 -222
  154. package/dist/runtime/components/SidebarSection.vue.d.ts +0 -101
  155. package/dist/runtime/components/SidebarSpacer.vue.d.ts +0 -101
  156. package/dist/runtime/components/Skeleton.vue.d.ts +0 -26
  157. package/dist/runtime/components/Slideover.vue.d.ts +0 -360
  158. package/dist/runtime/components/StackedLayout.vue.d.ts +0 -192
  159. package/dist/runtime/components/Switch.vue.d.ts +0 -587
  160. package/dist/runtime/components/Tabs.vue.d.ts +0 -453
  161. package/dist/runtime/components/Textarea.vue.d.ts +0 -601
  162. package/dist/runtime/components/Toast.vue.d.ts +0 -438
  163. package/dist/runtime/components/Toaster.vue.d.ts +0 -219
  164. package/dist/runtime/components/Tooltip.vue.d.ts +0 -186
  165. package/dist/runtime/components/content/TableWrapper.vue.d.ts +0 -237
  166. package/dist/runtime/prose/A.vue.d.ts +0 -84
  167. package/dist/runtime/prose/Blockquote.vue.d.ts +0 -84
  168. package/dist/runtime/prose/Code.vue.d.ts +0 -97
  169. package/dist/runtime/prose/Em.vue.d.ts +0 -84
  170. package/dist/runtime/prose/H1.vue.d.ts +0 -97
  171. package/dist/runtime/prose/H2.vue.d.ts +0 -123
  172. package/dist/runtime/prose/H3.vue.d.ts +0 -123
  173. package/dist/runtime/prose/H4.vue.d.ts +0 -123
  174. package/dist/runtime/prose/H5.vue.d.ts +0 -123
  175. package/dist/runtime/prose/H6.vue.d.ts +0 -123
  176. package/dist/runtime/prose/Hr.vue.d.ts +0 -74
  177. package/dist/runtime/prose/Img.vue.d.ts +0 -77
  178. package/dist/runtime/prose/Li.vue.d.ts +0 -84
  179. package/dist/runtime/prose/Ol.vue.d.ts +0 -84
  180. package/dist/runtime/prose/P.vue.d.ts +0 -84
  181. package/dist/runtime/prose/Pre.vue.d.ts +0 -117
  182. package/dist/runtime/prose/Strong.vue.d.ts +0 -84
  183. package/dist/runtime/prose/Table.vue.d.ts +0 -144
  184. package/dist/runtime/prose/Tbody.vue.d.ts +0 -84
  185. package/dist/runtime/prose/Td.vue.d.ts +0 -84
  186. package/dist/runtime/prose/Th.vue.d.ts +0 -84
  187. package/dist/runtime/prose/Thead.vue.d.ts +0 -84
  188. package/dist/runtime/prose/Tr.vue.d.ts +0 -84
  189. package/dist/runtime/prose/Ul.vue.d.ts +0 -84
  190. package/dist/runtime/vue/components/Link.vue.d.ts +0 -129
@@ -1,165 +1,153 @@
1
- <script>
2
- import _appConfig from "#build/app.config";
3
- import theme from "#build/b24ui/input-number";
4
- import { tv } from "../utils/tv";
5
- const appConfigInputNumber = _appConfig;
6
- const inputNumber = tv({ extend: tv(theme), ...appConfigInputNumber.b24ui?.inputNumber || {} });
1
+ <script lang="ts">
2
+ import type { VariantProps } from 'tailwind-variants'
3
+ import type { NumberFieldRootProps } from 'reka-ui'
4
+ import type { AppConfig } from '@nuxt/schema'
5
+ import _appConfig from '#build/app.config'
6
+ import theme from '#build/b24ui/input-number'
7
+ import { tv } from '../utils/tv'
8
+ import type { ButtonProps, IconComponent } from '../types'
9
+ import type { PartialString } from '../types/utils'
10
+
11
+ const appConfigInputNumber = _appConfig as AppConfig & { b24ui: { inputNumber: Partial<typeof theme> } }
12
+
13
+ const inputNumber = tv({ extend: tv(theme), ...(appConfigInputNumber.b24ui?.inputNumber || {}) })
14
+
15
+ type InputNumberVariants = VariantProps<typeof inputNumber>
16
+
17
+ export interface InputNumberProps extends Pick<NumberFieldRootProps, 'modelValue' | 'defaultValue' | 'min' | 'max' | 'stepSnapping' | 'step' | 'disabled' | 'required' | 'id' | 'name' | 'formatOptions' | 'disableWheelChange'> {
18
+ /**
19
+ * The element or component this component should render as.
20
+ * @defaultValue 'div'
21
+ */
22
+ as?: any
23
+ /**
24
+ * The placeholder text when the input is empty
25
+ */
26
+ placeholder?: string
27
+ /**
28
+ * @defaultValue 'primary'
29
+ */
30
+ color?: InputNumberVariants['color']
31
+ /**
32
+ * @defaultValue 'md'
33
+ */
34
+ size?: InputNumberVariants['size']
35
+ /**
36
+ * Removes padding from input
37
+ * @defaultValue false
38
+ */
39
+ noPadding?: boolean
40
+ /**
41
+ * Removes all borders (rings)
42
+ * @defaultValue false
43
+ */
44
+ noBorder?: boolean
45
+ /**
46
+ * Removes all borders (rings) except the bottom one
47
+ * @defaultValue false
48
+ */
49
+ underline?: boolean
50
+ /**
51
+ * Rounds the corners of the button
52
+ * @defaultValue false
53
+ */
54
+ rounded?: boolean
55
+ tag?: string
56
+ /**
57
+ * @defaultValue 'primary'
58
+ */
59
+ tagColor?: InputNumberVariants['tagColor']
60
+ /**
61
+ * Highlight the ring color like a focus state
62
+ * @defaultValue false
63
+ */
64
+ highlight?: boolean
65
+ /**
66
+ * The orientation of the input menu.
67
+ * @defaultValue 'horizontal'
68
+ */
69
+ orientation?: 'vertical' | 'horizontal'
70
+ /**
71
+ * Configure the increment button. The `size` is inherited.
72
+ * @defaultValue { color: 'link', depth: 'light' }
73
+ */
74
+ increment?: ButtonProps
75
+ /**
76
+ * The icon displayed to increment the value.
77
+ * @defaultValue icons.plus
78
+ * @IconComponent
79
+ */
80
+ incrementIcon?: IconComponent
81
+ /**
82
+ * Configure the decrement button. The `size` is inherited.
83
+ * @defaultValue { color: 'link', depth: 'light' }
84
+ */
85
+ decrement?: ButtonProps
86
+ /**
87
+ * The icon displayed to decrement the value.
88
+ * @defaultValue icons.minus
89
+ * @IconComponent
90
+ */
91
+ decrementIcon?: IconComponent
92
+ /**
93
+ * @defaultValue false
94
+ */
95
+ autofocus?: boolean
96
+ /**
97
+ * @defaultValue 0
98
+ */
99
+ autofocusDelay?: number
100
+ /**
101
+ * The locale to use for formatting and parsing numbers.
102
+ * @defaultValue B24App.locale.code
103
+ */
104
+ locale?: string
105
+ class?: any
106
+ b24ui?: PartialString<typeof inputNumber.slots>
107
+ }
108
+
109
+ export interface InputNumberEmits {
110
+ (e: 'update:modelValue', payload: number): void
111
+ (e: 'blur', event: FocusEvent): void
112
+ (e: 'change', payload: Event): void
113
+ }
114
+
115
+ export interface InputNumberSlots {
116
+ increment(props?: {}): any
117
+ decrement(props?: {}): any
118
+ }
7
119
  </script>
8
120
 
9
- <script setup>
10
- import { onMounted, ref, computed } from "vue";
11
- import { useForwardPropsEmits } from "reka-ui";
12
- import { reactivePick } from "@vueuse/core";
13
- import { useFormField } from "../composables/useFormField";
14
- import { useLocale } from "../composables/useLocale";
15
- import icons from "../dictionary/icons";
16
- defineOptions({ inheritAttrs: false });
17
- const props = defineProps({
18
- as: {
19
- type: null,
20
- required: false
21
- },
22
- placeholder: {
23
- type: String,
24
- required: false
25
- },
26
- color: {
27
- type: null,
28
- required: false,
29
- default: "primary"
30
- },
31
- size: {
32
- type: null,
33
- required: false,
34
- default: "md"
35
- },
36
- noPadding: {
37
- type: Boolean,
38
- required: false
39
- },
40
- noBorder: {
41
- type: Boolean,
42
- required: false
43
- },
44
- underline: {
45
- type: Boolean,
46
- required: false
47
- },
48
- rounded: {
49
- type: Boolean,
50
- required: false
51
- },
52
- tag: {
53
- type: String,
54
- required: false
55
- },
56
- tagColor: {
57
- type: null,
58
- required: false
59
- },
60
- highlight: {
61
- type: Boolean,
62
- required: false
63
- },
64
- orientation: {
65
- type: String,
66
- required: false,
67
- default: "horizontal"
68
- },
69
- increment: {
70
- type: Object,
71
- required: false
72
- },
73
- incrementIcon: {
74
- type: [Function, Object],
75
- required: false
76
- },
77
- decrement: {
78
- type: Object,
79
- required: false
80
- },
81
- decrementIcon: {
82
- type: [Function, Object],
83
- required: false
84
- },
85
- autofocus: {
86
- type: Boolean,
87
- required: false
88
- },
89
- autofocusDelay: {
90
- type: Number,
91
- required: false
92
- },
93
- locale: {
94
- type: String,
95
- required: false
96
- },
97
- class: {
98
- type: null,
99
- required: false
100
- },
101
- b24ui: {
102
- type: null,
103
- required: false
104
- },
105
- modelValue: {
106
- type: [Number, null],
107
- required: false
108
- },
109
- defaultValue: {
110
- type: Number,
111
- required: false
112
- },
113
- min: {
114
- type: Number,
115
- required: false
116
- },
117
- max: {
118
- type: Number,
119
- required: false
120
- },
121
- stepSnapping: {
122
- type: Boolean,
123
- required: false
124
- },
125
- step: {
126
- type: Number,
127
- required: false
128
- },
129
- disabled: {
130
- type: Boolean,
131
- required: false
132
- },
133
- required: {
134
- type: Boolean,
135
- required: false
136
- },
137
- id: {
138
- type: String,
139
- required: false
140
- },
141
- name: {
142
- type: String,
143
- required: false
144
- },
145
- formatOptions: {
146
- type: null,
147
- required: false
148
- },
149
- disableWheelChange: {
150
- type: Boolean,
151
- required: false
152
- }
153
- });
154
- const emits = defineEmits(["update:modelValue", "blur", "change"]);
155
- defineSlots();
156
- const rootProps = useForwardPropsEmits(reactivePick(props, "as", "modelValue", "defaultValue", "min", "max", "step", "stepSnapping", "formatOptions", "disableWheelChange"), emits);
157
- const { emitFormBlur, emitFormFocus, emitFormChange, emitFormInput, id, color, size, name, highlight, disabled, ariaAttrs } = useFormField(props);
158
- const { t, code: codeLocale } = useLocale();
159
- const locale = computed(() => props.locale || codeLocale.value);
121
+ <script setup lang="ts">
122
+ import { onMounted, ref, computed } from 'vue'
123
+ import { NumberFieldRoot, NumberFieldInput, NumberFieldDecrement, NumberFieldIncrement, useForwardPropsEmits } from 'reka-ui'
124
+ import { reactivePick } from '@vueuse/core'
125
+ import { useFormField } from '../composables/useFormField'
126
+ import { useLocale } from '../composables/useLocale'
127
+ import icons from '../dictionary/icons'
128
+ import B24Button from './Button.vue'
129
+
130
+ defineOptions({ inheritAttrs: false })
131
+
132
+ const props = withDefaults(defineProps<InputNumberProps>(), {
133
+ orientation: 'horizontal',
134
+ color: 'primary',
135
+ size: 'md'
136
+ })
137
+ const emits = defineEmits<InputNumberEmits>()
138
+ defineSlots<InputNumberSlots>()
139
+
140
+ const rootProps = useForwardPropsEmits(reactivePick(props, 'as', 'modelValue', 'defaultValue', 'min', 'max', 'step', 'stepSnapping', 'formatOptions', 'disableWheelChange'), emits)
141
+
142
+ const { emitFormBlur, emitFormFocus, emitFormChange, emitFormInput, id, color, size, name, highlight, disabled, ariaAttrs } = useFormField<InputNumberProps>(props)
143
+
144
+ const { t, code: codeLocale } = useLocale()
145
+ const locale = computed(() => props.locale || codeLocale.value)
146
+
160
147
  const isTag = computed(() => {
161
- return props.tag;
162
- });
148
+ return props.tag
149
+ })
150
+
163
151
  const b24ui = computed(() => inputNumber({
164
152
  color: color.value,
165
153
  size: size.value,
@@ -170,33 +158,42 @@ const b24ui = computed(() => inputNumber({
170
158
  noBorder: Boolean(props.noBorder),
171
159
  underline: Boolean(props.underline),
172
160
  orientation: props.orientation
173
- }));
174
- const incrementIcon = computed(() => props.incrementIcon || (props.orientation === "horizontal" ? icons.plus : icons.chevronUp));
175
- const decrementIcon = computed(() => props.decrementIcon || (props.orientation === "horizontal" ? icons.minus : icons.chevronDown));
176
- const inputRef = ref(null);
177
- function onUpdate(value) {
178
- const event = new Event("change", { target: { value } });
179
- emits("change", event);
180
- emitFormChange();
181
- emitFormInput();
161
+ }))
162
+
163
+ const incrementIcon = computed(() => props.incrementIcon || (props.orientation === 'horizontal' ? icons.plus : icons.chevronUp))
164
+ const decrementIcon = computed(() => props.decrementIcon || (props.orientation === 'horizontal' ? icons.minus : icons.chevronDown))
165
+
166
+ const inputRef = ref<InstanceType<typeof NumberFieldInput> | null>(null)
167
+
168
+ function onUpdate(value: number) {
169
+ // @ts-expect-error - 'target' does not exist in type 'EventInit'
170
+ const event = new Event('change', { target: { value } })
171
+ emits('change', event)
172
+
173
+ emitFormChange()
174
+ emitFormInput()
182
175
  }
183
- function onBlur(event) {
184
- emitFormBlur();
185
- emits("blur", event);
176
+
177
+ function onBlur(event: FocusEvent) {
178
+ emitFormBlur()
179
+ emits('blur', event)
186
180
  }
181
+
187
182
  function autoFocus() {
188
183
  if (props.autofocus) {
189
- inputRef.value?.$el?.focus();
184
+ inputRef.value?.$el?.focus()
190
185
  }
191
186
  }
187
+
192
188
  onMounted(() => {
193
189
  setTimeout(() => {
194
- autoFocus();
195
- }, props.autofocusDelay);
196
- });
190
+ autoFocus()
191
+ }, props.autofocusDelay)
192
+ })
193
+
197
194
  defineExpose({
198
195
  inputRef
199
- });
196
+ })
200
197
  </script>
201
198
 
202
199
  <template>
@@ -232,7 +229,7 @@ defineExpose({
232
229
  color="link"
233
230
  depth="light"
234
231
  :aria-label="t('inputNumber.increment')"
235
- v-bind="typeof increment === 'object' ? increment : void 0"
232
+ v-bind="typeof increment === 'object' ? increment : undefined"
236
233
  />
237
234
  </slot>
238
235
  </NumberFieldIncrement>
@@ -247,7 +244,7 @@ defineExpose({
247
244
  color="link"
248
245
  depth="light"
249
246
  :aria-label="t('inputNumber.decrement')"
250
- v-bind="typeof decrement === 'object' ? decrement : void 0"
247
+ v-bind="typeof decrement === 'object' ? decrement : undefined"
251
248
  />
252
249
  </slot>
253
250
  </NumberFieldDecrement>
@@ -1,38 +1,50 @@
1
- <script>
2
- import _appConfig from "#build/app.config";
3
- import theme from "#build/b24ui/kbd";
4
- import { tv } from "../utils/tv";
5
- const appConfigKbd = _appConfig;
6
- const kbd = tv({ extend: tv(theme), ...appConfigKbd.b24ui?.kbd || {} });
1
+ <script lang="ts">
2
+ import type { VariantProps } from 'tailwind-variants'
3
+ import type { AppConfig } from '@nuxt/schema'
4
+ import _appConfig from '#build/app.config'
5
+ import theme from '#build/b24ui/kbd'
6
+ import type { KbdKey } from '../composables/useKbd'
7
+ import { tv } from '../utils/tv'
8
+
9
+ const appConfigKbd = _appConfig as AppConfig & { b24ui: { kbd: Partial<typeof theme> } }
10
+
11
+ const kbd = tv({ extend: tv(theme), ...(appConfigKbd.b24ui?.kbd || {}) })
12
+
13
+ type KbdVariants = VariantProps<typeof kbd>
14
+
15
+ export interface KbdProps {
16
+ /**
17
+ * The element or component this component should render as.
18
+ * @defaultValue 'kbd'
19
+ */
20
+ as?: any
21
+ value?: KbdKey | string
22
+ /**
23
+ * @defaultValue 'light'
24
+ */
25
+ depth?: KbdVariants['depth']
26
+ /**
27
+ * @defaultValue 'md'
28
+ */
29
+ size?: KbdVariants['size']
30
+ class?: any
31
+ }
32
+
33
+ export interface KbdSlots {
34
+ default(props?: {}): any
35
+ }
7
36
  </script>
8
37
 
9
- <script setup>
10
- import { useKbd } from "../composables/useKbd";
11
- const props = defineProps({
12
- as: {
13
- type: null,
14
- required: false,
15
- default: "kbd"
16
- },
17
- value: {
18
- type: null,
19
- required: false
20
- },
21
- depth: {
22
- type: null,
23
- required: false
24
- },
25
- size: {
26
- type: null,
27
- required: false
28
- },
29
- class: {
30
- type: null,
31
- required: false
32
- }
33
- });
34
- defineSlots();
35
- const { getKbdKey } = useKbd();
38
+ <script setup lang="ts">
39
+ import { Primitive } from 'reka-ui'
40
+ import { useKbd } from '../composables/useKbd'
41
+
42
+ const props = withDefaults(defineProps<KbdProps>(), {
43
+ as: 'kbd'
44
+ })
45
+ defineSlots<KbdSlots>()
46
+
47
+ const { getKbdKey } = useKbd()
36
48
  </script>
37
49
 
38
50
  <template>