@bitrix24/b24ui-nuxt 0.5.9 → 0.5.10

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 (196) hide show
  1. package/.nuxt/b24ui/navigation-menu.ts +0 -2
  2. package/.nuxt/b24ui/popover.ts +1 -1
  3. package/dist/meta.d.mts +4789 -4897
  4. package/dist/meta.mjs +4789 -4897
  5. package/dist/module.json +5 -5
  6. package/dist/module.mjs +11 -7
  7. package/dist/runtime/components/Advice.vue +47 -54
  8. package/dist/runtime/components/Advice.vue.d.ts +170 -0
  9. package/dist/runtime/components/Alert.vue +71 -96
  10. package/dist/runtime/components/Alert.vue.d.ts +464 -0
  11. package/dist/runtime/components/App.vue +37 -34
  12. package/dist/runtime/components/App.vue.d.ts +23 -0
  13. package/dist/runtime/components/Avatar.vue +69 -81
  14. package/dist/runtime/components/Avatar.vue.d.ts +281 -0
  15. package/dist/runtime/components/AvatarGroup.vue +53 -76
  16. package/dist/runtime/components/AvatarGroup.vue.d.ts +204 -0
  17. package/dist/runtime/components/Badge.vue +83 -83
  18. package/dist/runtime/components/Badge.vue.d.ts +517 -0
  19. package/dist/runtime/components/Button.vue +219 -149
  20. package/dist/runtime/components/Button.vue.d.ts +640 -0
  21. package/dist/runtime/components/ButtonGroup.vue +35 -51
  22. package/dist/runtime/components/ButtonGroup.vue.d.ts +116 -0
  23. package/dist/runtime/components/Calendar.vue +186 -152
  24. package/dist/runtime/components/Calendar.vue.d.ts +437 -0
  25. package/dist/runtime/components/Checkbox.vue +84 -73
  26. package/dist/runtime/components/Checkbox.vue.d.ts +354 -0
  27. package/dist/runtime/components/Chip.vue +59 -74
  28. package/dist/runtime/components/Chip.vue.d.ts +271 -0
  29. package/dist/runtime/components/Collapsible.vue +44 -41
  30. package/dist/runtime/components/Collapsible.vue.d.ts +118 -0
  31. package/dist/runtime/components/Container.vue +18 -27
  32. package/dist/runtime/components/Container.vue.d.ts +27 -0
  33. package/dist/runtime/components/Countdown.vue +198 -378
  34. package/dist/runtime/components/Countdown.vue.d.ts +356 -0
  35. package/dist/runtime/components/DescriptionList.vue +102 -149
  36. package/dist/runtime/components/DescriptionList.vue.d.ts +379 -0
  37. package/dist/runtime/components/DropdownMenu.vue +83 -139
  38. package/dist/runtime/components/DropdownMenu.vue.d.ts +533 -0
  39. package/dist/runtime/components/DropdownMenuContent.vue +137 -81
  40. package/dist/runtime/components/DropdownMenuContent.vue.d.ts +228 -0
  41. package/dist/runtime/components/Form.vue +162 -216
  42. package/dist/runtime/components/Form.vue.d.ts +55 -0
  43. package/dist/runtime/components/FormField.vue +76 -80
  44. package/dist/runtime/components/FormField.vue.d.ts +282 -0
  45. package/dist/runtime/components/Input.vue +160 -179
  46. package/dist/runtime/components/Input.vue.d.ts +755 -0
  47. package/dist/runtime/components/InputMenu.vue +300 -381
  48. package/dist/runtime/components/InputMenu.vue.d.ts +1504 -0
  49. package/dist/runtime/components/InputNumber.vue +178 -175
  50. package/dist/runtime/components/InputNumber.vue.d.ts +658 -0
  51. package/dist/runtime/components/Kbd.vue +33 -45
  52. package/dist/runtime/components/Kbd.vue.d.ts +109 -0
  53. package/dist/runtime/components/Link.vue +179 -173
  54. package/dist/runtime/components/Link.vue.d.ts +129 -0
  55. package/dist/runtime/components/LinkBase.vue +64 -42
  56. package/dist/runtime/components/LinkBase.vue.d.ts +48 -0
  57. package/dist/runtime/components/Modal.vue +105 -127
  58. package/dist/runtime/components/Modal.vue.d.ts +327 -0
  59. package/dist/runtime/components/ModalDialogClose.vue +4 -8
  60. package/dist/runtime/components/ModalDialogClose.vue.d.ts +10 -0
  61. package/dist/runtime/components/Navbar.vue +24 -33
  62. package/dist/runtime/components/Navbar.vue.d.ts +101 -0
  63. package/dist/runtime/components/NavbarDivider.vue +24 -33
  64. package/dist/runtime/components/NavbarDivider.vue.d.ts +101 -0
  65. package/dist/runtime/components/NavbarSection.vue +24 -33
  66. package/dist/runtime/components/NavbarSection.vue.d.ts +101 -0
  67. package/dist/runtime/components/NavbarSpacer.vue +24 -33
  68. package/dist/runtime/components/NavbarSpacer.vue.d.ts +101 -0
  69. package/dist/runtime/components/NavigationMenu.vue +152 -216
  70. package/dist/runtime/components/NavigationMenu.vue.d.ts +824 -0
  71. package/dist/runtime/components/OverlayProvider.vue +13 -17
  72. package/dist/runtime/components/OverlayProvider.vue.d.ts +2 -0
  73. package/dist/runtime/components/Popover.vue +81 -81
  74. package/dist/runtime/components/Popover.vue.d.ts +147 -0
  75. package/dist/runtime/components/Progress.vue +109 -136
  76. package/dist/runtime/components/Progress.vue.d.ts +592 -0
  77. package/dist/runtime/components/RadioGroup.vue +120 -134
  78. package/dist/runtime/components/RadioGroup.vue.d.ts +723 -0
  79. package/dist/runtime/components/Range.vue +94 -85
  80. package/dist/runtime/components/Range.vue.d.ts +417 -0
  81. package/dist/runtime/components/Select.vue +212 -260
  82. package/dist/runtime/components/Select.vue.d.ts +1200 -0
  83. package/dist/runtime/components/SelectMenu.vue +272 -366
  84. package/dist/runtime/components/SelectMenu.vue.d.ts +1298 -0
  85. package/dist/runtime/components/Separator.vue +61 -71
  86. package/dist/runtime/components/Separator.vue.d.ts +400 -0
  87. package/dist/runtime/components/Sidebar.vue +24 -33
  88. package/dist/runtime/components/Sidebar.vue.d.ts +101 -0
  89. package/dist/runtime/components/SidebarBody.vue +30 -38
  90. package/dist/runtime/components/SidebarBody.vue.d.ts +90 -0
  91. package/dist/runtime/components/SidebarFooter.vue +24 -33
  92. package/dist/runtime/components/SidebarFooter.vue.d.ts +101 -0
  93. package/dist/runtime/components/SidebarHeader.vue +24 -33
  94. package/dist/runtime/components/SidebarHeader.vue.d.ts +101 -0
  95. package/dist/runtime/components/SidebarHeading.vue +24 -33
  96. package/dist/runtime/components/SidebarHeading.vue.d.ts +101 -0
  97. package/dist/runtime/components/SidebarLayout.vue +40 -70
  98. package/dist/runtime/components/SidebarLayout.vue.d.ts +222 -0
  99. package/dist/runtime/components/SidebarSection.vue +24 -33
  100. package/dist/runtime/components/SidebarSection.vue.d.ts +101 -0
  101. package/dist/runtime/components/SidebarSpacer.vue +24 -33
  102. package/dist/runtime/components/SidebarSpacer.vue.d.ts +101 -0
  103. package/dist/runtime/components/Skeleton.vue +17 -22
  104. package/dist/runtime/components/Skeleton.vue.d.ts +26 -0
  105. package/dist/runtime/components/Slideover.vue +108 -131
  106. package/dist/runtime/components/Slideover.vue.d.ts +360 -0
  107. package/dist/runtime/components/StackedLayout.vue +40 -73
  108. package/dist/runtime/components/StackedLayout.vue.d.ts +192 -0
  109. package/dist/runtime/components/Switch.vue +100 -95
  110. package/dist/runtime/components/Switch.vue.d.ts +587 -0
  111. package/dist/runtime/components/Tabs.vue +83 -105
  112. package/dist/runtime/components/Tabs.vue.d.ts +453 -0
  113. package/dist/runtime/components/Textarea.vue +177 -201
  114. package/dist/runtime/components/Textarea.vue.d.ts +601 -0
  115. package/dist/runtime/components/Toast.vue +94 -105
  116. package/dist/runtime/components/Toast.vue.d.ts +438 -0
  117. package/dist/runtime/components/Toaster.vue +94 -111
  118. package/dist/runtime/components/Toaster.vue.d.ts +219 -0
  119. package/dist/runtime/components/Tooltip.vue +78 -64
  120. package/dist/runtime/components/Tooltip.vue.d.ts +186 -0
  121. package/dist/runtime/components/content/TableWrapper.vue +58 -70
  122. package/dist/runtime/components/content/TableWrapper.vue.d.ts +237 -0
  123. package/dist/runtime/composables/useAvatarGroup.d.ts +1 -1
  124. package/dist/runtime/composables/useButtonGroup.d.ts +2 -2
  125. package/dist/runtime/composables/useComponentIcons.d.ts +1 -1
  126. package/dist/runtime/composables/useFormField.d.ts +1 -1
  127. package/dist/runtime/prose/A.vue +18 -23
  128. package/dist/runtime/prose/A.vue.d.ts +84 -0
  129. package/dist/runtime/prose/Blockquote.vue +18 -23
  130. package/dist/runtime/prose/Blockquote.vue.d.ts +84 -0
  131. package/dist/runtime/prose/Code.vue +23 -31
  132. package/dist/runtime/prose/Code.vue.d.ts +97 -0
  133. package/dist/runtime/prose/Em.vue +18 -23
  134. package/dist/runtime/prose/Em.vue.d.ts +84 -0
  135. package/dist/runtime/prose/H1.vue +18 -23
  136. package/dist/runtime/prose/H1.vue.d.ts +97 -0
  137. package/dist/runtime/prose/H2.vue +18 -23
  138. package/dist/runtime/prose/H2.vue.d.ts +123 -0
  139. package/dist/runtime/prose/H3.vue +18 -23
  140. package/dist/runtime/prose/H3.vue.d.ts +123 -0
  141. package/dist/runtime/prose/H4.vue +18 -23
  142. package/dist/runtime/prose/H4.vue.d.ts +123 -0
  143. package/dist/runtime/prose/H5.vue +18 -23
  144. package/dist/runtime/prose/H5.vue.d.ts +123 -0
  145. package/dist/runtime/prose/H6.vue +18 -23
  146. package/dist/runtime/prose/H6.vue.d.ts +123 -0
  147. package/dist/runtime/prose/Hr.vue +18 -19
  148. package/dist/runtime/prose/Hr.vue.d.ts +74 -0
  149. package/dist/runtime/prose/Img.vue +18 -23
  150. package/dist/runtime/prose/Img.vue.d.ts +77 -0
  151. package/dist/runtime/prose/Li.vue +18 -23
  152. package/dist/runtime/prose/Li.vue.d.ts +84 -0
  153. package/dist/runtime/prose/Ol.vue +18 -23
  154. package/dist/runtime/prose/Ol.vue.d.ts +84 -0
  155. package/dist/runtime/prose/P.vue +18 -23
  156. package/dist/runtime/prose/P.vue.d.ts +84 -0
  157. package/dist/runtime/prose/Pre.vue +28 -33
  158. package/dist/runtime/prose/Pre.vue.d.ts +117 -0
  159. package/dist/runtime/prose/Strong.vue +18 -23
  160. package/dist/runtime/prose/Strong.vue.d.ts +84 -0
  161. package/dist/runtime/prose/Table.vue +44 -54
  162. package/dist/runtime/prose/Table.vue.d.ts +144 -0
  163. package/dist/runtime/prose/Tbody.vue +18 -23
  164. package/dist/runtime/prose/Tbody.vue.d.ts +84 -0
  165. package/dist/runtime/prose/Td.vue +18 -23
  166. package/dist/runtime/prose/Td.vue.d.ts +84 -0
  167. package/dist/runtime/prose/Th.vue +18 -23
  168. package/dist/runtime/prose/Th.vue.d.ts +84 -0
  169. package/dist/runtime/prose/Thead.vue +18 -23
  170. package/dist/runtime/prose/Thead.vue.d.ts +84 -0
  171. package/dist/runtime/prose/Tr.vue +18 -23
  172. package/dist/runtime/prose/Tr.vue.d.ts +84 -0
  173. package/dist/runtime/prose/Ul.vue +18 -23
  174. package/dist/runtime/prose/Ul.vue.d.ts +84 -0
  175. package/dist/runtime/vue/components/Link.vue +201 -202
  176. package/dist/runtime/vue/components/Link.vue.d.ts +129 -0
  177. package/dist/runtime/vue/stubs.d.ts +3 -3
  178. package/dist/shared/{b24ui-nuxt.C1lGF53R.mjs → b24ui-nuxt.CS9Lf0os.mjs} +4 -3
  179. package/dist/types.d.mts +3 -5
  180. package/dist/unplugin.mjs +1 -1
  181. package/dist/vite.mjs +1 -1
  182. package/package.json +59 -32
  183. package/dist/meta.cjs +0 -72220
  184. package/dist/meta.d.cts +0 -72218
  185. package/dist/meta.d.ts +0 -72218
  186. package/dist/module.cjs +0 -59
  187. package/dist/module.d.cts +0 -15
  188. package/dist/module.d.ts +0 -15
  189. package/dist/shared/b24ui-nuxt.BVg3rkkG.cjs +0 -7720
  190. package/dist/types.d.ts +0 -7
  191. package/dist/unplugin.cjs +0 -236
  192. package/dist/unplugin.d.cts +0 -33
  193. package/dist/unplugin.d.ts +0 -33
  194. package/dist/vite.cjs +0 -21
  195. package/dist/vite.d.cts +0 -14
  196. package/dist/vite.d.ts +0 -14
@@ -1,142 +1,141 @@
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/textarea'
6
- import type { UseComponentIconsProps } from '../composables/useComponentIcons'
7
- import { tv } from '../utils/tv'
8
- import type { AvatarProps } from '../types'
9
- import type { PartialString } from '../types/utils'
10
-
11
- const appConfigTextarea = _appConfig as AppConfig & { b24ui: { textarea: Partial<typeof theme> } }
12
-
13
- const textarea = tv({ extend: tv(theme), ...(appConfigTextarea.b24ui?.textarea || {}) })
14
-
15
- type TextareaVariants = VariantProps<typeof textarea>
16
-
17
- export interface TextareaProps extends UseComponentIconsProps {
18
- /**
19
- * The element or component this component should render as.
20
- * @defaultValue 'div'
21
- */
22
- as?: any
23
- id?: string
24
- name?: string
25
- /**
26
- * The placeholder text when the textarea is empty
27
- */
28
- placeholder?: string
29
- /**
30
- * @defaultValue 'primary'
31
- */
32
- color?: TextareaVariants['color']
33
- /**
34
- * Removes padding from input
35
- * @defaultValue false
36
- */
37
- noPadding?: boolean
38
- /**
39
- * Removes all borders (rings)
40
- * @defaultValue false
41
- */
42
- noBorder?: boolean
43
- /**
44
- * Removes all borders (rings) except the bottom one
45
- * @defaultValue false
46
- */
47
- underline?: boolean
48
- /**
49
- * Rounds the corners of the button
50
- * @defaultValue false
51
- */
52
- rounded?: boolean
53
- /**
54
- * @defaultValue false
55
- */
56
- required?: boolean
57
- /**
58
- * @defaultValue false
59
- */
60
- autofocus?: boolean
61
- /**
62
- * @defaultValue 0
63
- */
64
- autofocusDelay?: number
65
- /**
66
- * @defaultValue false
67
- */
68
- autoresize?: boolean
69
- /**
70
- * @defaultValue 0
71
- */
72
- autoresizeDelay?: number
73
- /**
74
- * @defaultValue false
75
- */
76
- disabled?: boolean
77
- /**
78
- * @defaultValue 3
79
- */
80
- rows?: number
81
- /**
82
- * @defaultValue 5
83
- */
84
- maxrows?: number
85
- tag?: string
86
- /**
87
- * @defaultValue 'primary'
88
- */
89
- tagColor?: TextareaVariants['tagColor']
90
- /**
91
- * Highlight the ring color like a focus state
92
- * @defaultValue false
93
- */
94
- highlight?: boolean
95
- class?: any
96
- b24ui?: PartialString<typeof textarea.slots>
97
- }
98
-
99
- export interface TextareaEmits {
100
- (e: 'update:modelValue', payload: string | number): void
101
- (e: 'blur', event: FocusEvent): void
102
- (e: 'change', event: Event): void
103
- }
104
-
105
- export interface TextareaSlots {
106
- leading(props?: {}): any
107
- default(props?: {}): any
108
- trailing(props?: {}): any
109
- }
1
+ <script>
2
+ import _appConfig from "#build/app.config";
3
+ import theme from "#build/b24ui/textarea";
4
+ import { tv } from "../utils/tv";
5
+ const appConfigTextarea = _appConfig;
6
+ const textarea = tv({ extend: tv(theme), ...appConfigTextarea.b24ui?.textarea || {} });
110
7
  </script>
111
8
 
112
- <script setup lang="ts">
113
- import { ref, computed, onMounted, nextTick, watch } from 'vue'
114
- import { Primitive } from 'reka-ui'
115
- import { useComponentIcons } from '../composables/useComponentIcons'
116
- import { useFormField } from '../composables/useFormField'
117
- import { looseToNumber } from '../utils'
118
- import B24Avatar from './Avatar.vue'
119
-
120
- defineOptions({ inheritAttrs: false })
121
-
122
- const props = withDefaults(defineProps<TextareaProps>(), {
123
- rows: 3,
124
- maxrows: 5,
125
- autofocusDelay: 0,
126
- autoresizeDelay: 0
127
- })
128
- const slots = defineSlots<TextareaSlots>()
129
- const emits = defineEmits<TextareaEmits>()
130
-
131
- const [modelValue, modelModifiers] = defineModel<string | number | null>()
132
-
133
- const { emitFormFocus, emitFormBlur, emitFormInput, emitFormChange, color, id, name, highlight, disabled, ariaAttrs } = useFormField<TextareaProps>(props, { deferInputValidation: true })
134
- const { isLeading, isTrailing, leadingIconName, trailingIconName } = useComponentIcons(props)
135
-
9
+ <script setup>
10
+ import { ref, computed, onMounted, nextTick, watch } from "vue";
11
+ import { useComponentIcons } from "../composables/useComponentIcons";
12
+ import { useFormField } from "../composables/useFormField";
13
+ import { looseToNumber } from "../utils";
14
+ defineOptions({ inheritAttrs: false });
15
+ const props = defineProps({
16
+ as: {
17
+ type: null,
18
+ required: false
19
+ },
20
+ id: {
21
+ type: String,
22
+ required: false
23
+ },
24
+ name: {
25
+ type: String,
26
+ required: false
27
+ },
28
+ placeholder: {
29
+ type: String,
30
+ required: false
31
+ },
32
+ color: {
33
+ type: null,
34
+ required: false
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
+ required: {
53
+ type: Boolean,
54
+ required: false
55
+ },
56
+ autofocus: {
57
+ type: Boolean,
58
+ required: false
59
+ },
60
+ autofocusDelay: {
61
+ type: Number,
62
+ required: false,
63
+ default: 0
64
+ },
65
+ autoresize: {
66
+ type: Boolean,
67
+ required: false
68
+ },
69
+ autoresizeDelay: {
70
+ type: Number,
71
+ required: false,
72
+ default: 0
73
+ },
74
+ disabled: {
75
+ type: Boolean,
76
+ required: false
77
+ },
78
+ rows: {
79
+ type: Number,
80
+ required: false,
81
+ default: 3
82
+ },
83
+ maxrows: {
84
+ type: Number,
85
+ required: false,
86
+ default: 5
87
+ },
88
+ tag: {
89
+ type: String,
90
+ required: false
91
+ },
92
+ tagColor: {
93
+ type: null,
94
+ required: false
95
+ },
96
+ highlight: {
97
+ type: Boolean,
98
+ required: false
99
+ },
100
+ class: {
101
+ type: null,
102
+ required: false
103
+ },
104
+ b24ui: {
105
+ type: null,
106
+ required: false
107
+ },
108
+ icon: {
109
+ type: [Function, Object],
110
+ required: false
111
+ },
112
+ avatar: {
113
+ type: Object,
114
+ required: false
115
+ },
116
+ loading: {
117
+ type: Boolean,
118
+ required: false
119
+ },
120
+ trailing: {
121
+ type: Boolean,
122
+ required: false
123
+ },
124
+ trailingIcon: {
125
+ type: [Function, Object],
126
+ required: false
127
+ }
128
+ });
129
+ const slots = defineSlots();
130
+ const emits = defineEmits(["update:modelValue", "blur", "change"]);
131
+ const [modelValue, modelModifiers] = defineModel({
132
+ "type": [String, Number, null]
133
+ });
134
+ const { emitFormFocus, emitFormBlur, emitFormInput, emitFormChange, color, id, name, highlight, disabled, ariaAttrs } = useFormField(props, { deferInputValidation: true });
135
+ const { isLeading, isTrailing, leadingIconName, trailingIconName } = useComponentIcons(props);
136
136
  const isTag = computed(() => {
137
- return props.tag
138
- })
139
-
137
+ return props.tag;
138
+ });
140
139
  const b24ui = computed(() => textarea({
141
140
  color: color.value,
142
141
  loading: props.loading,
@@ -149,102 +148,79 @@ const b24ui = computed(() => textarea({
149
148
  underline: Boolean(props.underline),
150
149
  leading: Boolean(isLeading.value || !!props.avatar || !!slots.leading),
151
150
  trailing: Boolean(isTrailing.value || !!slots.trailing)
152
- }))
153
-
154
- const textareaRef = ref<HTMLTextAreaElement | null>(null)
155
-
156
- // Custom function to handle the v-model properties
157
- function updateInput(value: string | null) {
151
+ }));
152
+ const textareaRef = ref(null);
153
+ function updateInput(value) {
158
154
  if (modelModifiers.trim) {
159
- value = value?.trim() ?? null
155
+ value = value?.trim() ?? null;
160
156
  }
161
-
162
157
  if (modelModifiers.number) {
163
- value = looseToNumber(value)
158
+ value = looseToNumber(value);
164
159
  }
165
-
166
160
  if (modelModifiers.nullify) {
167
- value ||= null
161
+ value ||= null;
168
162
  }
169
-
170
- modelValue.value = value
171
- emitFormInput()
163
+ modelValue.value = value;
164
+ emitFormInput();
172
165
  }
173
-
174
- function onInput(event: Event) {
175
- autoResize()
176
-
166
+ function onInput(event) {
167
+ autoResize();
177
168
  if (!modelModifiers.lazy) {
178
- updateInput((event.target as HTMLInputElement).value)
169
+ updateInput(event.target.value);
179
170
  }
180
171
  }
181
-
182
- function onChange(event: Event) {
183
- const value = (event.target as HTMLInputElement).value
184
-
172
+ function onChange(event) {
173
+ const value = event.target.value;
185
174
  if (modelModifiers.lazy) {
186
- updateInput(value)
175
+ updateInput(value);
187
176
  }
188
-
189
- // Update trimmed textarea so that it has same behavior as native textarea https://github.com/vuejs/core/blob/5ea8a8a4fab4e19a71e123e4d27d051f5e927172/packages/runtime-dom/src/directives/vModel.ts#L63
190
177
  if (modelModifiers.trim) {
191
- (event.target as HTMLInputElement).value = value.trim()
178
+ event.target.value = value.trim();
192
179
  }
193
-
194
- emitFormChange()
195
- emits('change', event)
180
+ emitFormChange();
181
+ emits("change", event);
196
182
  }
197
-
198
- function onBlur(event: FocusEvent) {
199
- emitFormBlur()
200
- emits('blur', event)
183
+ function onBlur(event) {
184
+ emitFormBlur();
185
+ emits("blur", event);
201
186
  }
202
-
203
187
  function autoFocus() {
204
188
  if (props.autofocus) {
205
- textareaRef.value?.focus()
189
+ textareaRef.value?.focus();
206
190
  }
207
191
  }
208
-
209
192
  function autoResize() {
210
193
  if (props.autoresize && textareaRef.value) {
211
- textareaRef.value.rows = props.rows
212
- const overflow = textareaRef.value.style.overflow
213
- textareaRef.value.style.overflow = 'hidden'
214
-
215
- const styles = window.getComputedStyle(textareaRef.value)
216
- const paddingTop = Number.parseInt(styles.paddingTop)
217
- const paddingBottom = Number.parseInt(styles.paddingBottom)
218
- const padding = paddingTop + paddingBottom
219
- const lineHeight = Number.parseInt(styles.lineHeight)
220
- const { scrollHeight } = textareaRef.value
221
- const newRows = (scrollHeight - padding) / lineHeight
222
-
194
+ textareaRef.value.rows = props.rows;
195
+ const overflow = textareaRef.value.style.overflow;
196
+ textareaRef.value.style.overflow = "hidden";
197
+ const styles = window.getComputedStyle(textareaRef.value);
198
+ const paddingTop = Number.parseInt(styles.paddingTop);
199
+ const paddingBottom = Number.parseInt(styles.paddingBottom);
200
+ const padding = paddingTop + paddingBottom;
201
+ const lineHeight = Number.parseInt(styles.lineHeight);
202
+ const { scrollHeight } = textareaRef.value;
203
+ const newRows = (scrollHeight - padding) / lineHeight;
223
204
  if (newRows > props.rows) {
224
- textareaRef.value.rows = props.maxrows ? Math.min(newRows, props.maxrows) : newRows
205
+ textareaRef.value.rows = props.maxrows ? Math.min(newRows, props.maxrows) : newRows;
225
206
  }
226
-
227
- textareaRef.value.style.overflow = overflow
207
+ textareaRef.value.style.overflow = overflow;
228
208
  }
229
209
  }
230
-
231
210
  watch(modelValue, () => {
232
- nextTick(autoResize)
233
- })
234
-
211
+ nextTick(autoResize);
212
+ });
235
213
  onMounted(() => {
236
214
  setTimeout(() => {
237
- autoFocus()
238
- }, props.autofocusDelay)
239
-
215
+ autoFocus();
216
+ }, props.autofocusDelay);
240
217
  setTimeout(() => {
241
- autoResize()
242
- }, props.autoresizeDelay)
243
- })
244
-
218
+ autoResize();
219
+ }, props.autoresizeDelay);
220
+ });
245
221
  defineExpose({
246
222
  textareaRef
247
- })
223
+ });
248
224
  </script>
249
225
 
250
226
  <template>
@@ -281,7 +257,7 @@ defineExpose({
281
257
  />
282
258
  <B24Avatar
283
259
  v-else-if="!!avatar"
284
- :size="((props.b24ui?.leadingAvatarSize || b24ui.leadingAvatarSize()) as AvatarProps['size'])"
260
+ :size="props.b24ui?.leadingAvatarSize || b24ui.leadingAvatarSize()"
285
261
  v-bind="avatar"
286
262
  :class="b24ui.leadingAvatar({ class: props.b24ui?.leadingAvatar })"
287
263
  />