bromcom-ui-next 0.1.2 → 0.1.4

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 (209) hide show
  1. package/dist/bromcom-ui/bromcom-ui.css +1 -1
  2. package/dist/bromcom-ui/bromcom-ui.esm.js +1 -1
  3. package/dist/bromcom-ui/bromcom-ui.esm.js.map +1 -1
  4. package/dist/bromcom-ui/global/global.js +14 -15
  5. package/dist/bromcom-ui/p-04f6d730.entry.js +2 -0
  6. package/dist/bromcom-ui/p-04f6d730.entry.js.map +1 -0
  7. package/dist/bromcom-ui/{p-b36f4f44.js → p-12360e4c.js} +1 -1
  8. package/dist/bromcom-ui/p-15fe392b.js +3 -0
  9. package/dist/bromcom-ui/p-15fe392b.js.map +1 -0
  10. package/dist/bromcom-ui/p-1b11150b.entry.js +2 -0
  11. package/dist/bromcom-ui/p-1b11150b.entry.js.map +1 -0
  12. package/dist/bromcom-ui/p-1d86c1cf.entry.js +2 -0
  13. package/dist/bromcom-ui/p-1d86c1cf.entry.js.map +1 -0
  14. package/dist/bromcom-ui/p-31354aaa.js +2 -0
  15. package/dist/bromcom-ui/p-31354aaa.js.map +1 -0
  16. package/dist/bromcom-ui/p-3b607038.entry.js +2 -0
  17. package/dist/bromcom-ui/p-3b607038.entry.js.map +1 -0
  18. package/dist/bromcom-ui/p-5d0838e9.entry.js +2 -0
  19. package/dist/bromcom-ui/p-5d0838e9.entry.js.map +1 -0
  20. package/dist/bromcom-ui/p-729a870f.js +2 -0
  21. package/dist/bromcom-ui/p-729a870f.js.map +1 -0
  22. package/dist/bromcom-ui/p-a590f793.entry.js +2 -0
  23. package/dist/bromcom-ui/p-a590f793.entry.js.map +1 -0
  24. package/dist/bromcom-ui/p-cd437280.entry.js +2 -0
  25. package/dist/bromcom-ui/p-cd437280.entry.js.map +1 -0
  26. package/dist/bromcom-ui/p-dcea8d62.entry.js +2 -0
  27. package/dist/bromcom-ui/{p-0a74cf15.entry.js.map → p-dcea8d62.entry.js.map} +1 -1
  28. package/dist/bromcom-ui/p-ebed10d5.entry.js +2 -0
  29. package/dist/bromcom-ui/{p-2d836917.entry.js.map → p-ebed10d5.entry.js.map} +1 -1
  30. package/dist/cjs/app-globals-29edfda4.js +39 -0
  31. package/dist/cjs/app-globals-29edfda4.js.map +1 -0
  32. package/dist/cjs/bcm-accordion-group.cjs.entry.js +92 -0
  33. package/dist/cjs/bcm-accordion-group.cjs.entry.js.map +1 -0
  34. package/dist/cjs/bcm-accordion.cjs.entry.js +128 -0
  35. package/dist/cjs/bcm-accordion.cjs.entry.js.map +1 -0
  36. package/dist/cjs/bcm-alert.cjs.entry.js +2 -2
  37. package/dist/cjs/bcm-alert.cjs.entry.js.map +1 -1
  38. package/dist/cjs/bcm-avatar_4.cjs.entry.js +577 -0
  39. package/dist/cjs/bcm-avatar_4.cjs.entry.js.map +1 -0
  40. package/dist/cjs/bcm-chip.cjs.entry.js +130 -0
  41. package/dist/cjs/bcm-chip.cjs.entry.js.map +1 -0
  42. package/dist/cjs/bcm-divider.cjs.entry.js +81 -0
  43. package/dist/cjs/bcm-divider.cjs.entry.js.map +1 -0
  44. package/dist/cjs/bcm-input.cjs.entry.js +313 -0
  45. package/dist/cjs/bcm-input.cjs.entry.js.map +1 -0
  46. package/dist/cjs/bcm-text.cjs.entry.js +4 -4
  47. package/dist/cjs/bcm-text.cjs.entry.js.map +1 -1
  48. package/dist/cjs/bcm-textarea.cjs.entry.js +316 -0
  49. package/dist/cjs/bcm-textarea.cjs.entry.js.map +1 -0
  50. package/dist/cjs/bromcom-ui.cjs.js +3 -3
  51. package/dist/cjs/{index-638f2d15.js → index-4795c073.js} +43 -5
  52. package/dist/cjs/index-4795c073.js.map +1 -0
  53. package/dist/{components/p-b36f4f44.js → cjs/index-5a88e57b.js} +5 -3
  54. package/dist/cjs/{index-a4eea4bb.js.map → index-5a88e57b.js.map} +1 -1
  55. package/dist/cjs/loader.cjs.js +3 -3
  56. package/dist/cjs/validation-messages-c36e5c31.js +134 -0
  57. package/dist/cjs/validation-messages-c36e5c31.js.map +1 -0
  58. package/dist/collection/collection-manifest.json +6 -1
  59. package/dist/collection/components/accordion/accordion.component.js +5 -5
  60. package/dist/collection/components/accordion/accordion.component.js.map +1 -1
  61. package/dist/collection/components/accordion/accordion.css +1 -1
  62. package/dist/collection/components/accordion-group/accordion-group.component.js +1 -1
  63. package/dist/collection/components/accordion-group/accordion-group.component.js.map +1 -1
  64. package/dist/collection/components/accordion-group/accordion-group.css +1 -1
  65. package/dist/collection/components/alert/alert.css +1 -1
  66. package/dist/collection/components/avatar/avatar.component.js.map +1 -1
  67. package/dist/collection/components/avatar/avatar.css +1 -1
  68. package/dist/collection/components/badge/badge.component.js +373 -0
  69. package/dist/collection/components/badge/badge.component.js.map +1 -0
  70. package/dist/collection/components/badge/badge.css +1 -0
  71. package/dist/collection/components/basic-badge/basic-badge.component.js +236 -0
  72. package/dist/collection/components/basic-badge/basic-badge.component.js.map +1 -0
  73. package/dist/collection/components/basic-badge/basic-badge.css +1 -0
  74. package/dist/collection/components/button/button.component.js +3 -3
  75. package/dist/collection/components/button/button.component.js.map +1 -1
  76. package/dist/collection/components/button/button.css +1 -1
  77. package/dist/collection/components/chip/chip.component.js +2 -2
  78. package/dist/collection/components/chip/chip.component.js.map +1 -1
  79. package/dist/collection/components/chip/chip.css +1 -1
  80. package/dist/collection/components/divider/divider.component.js +190 -0
  81. package/dist/collection/components/divider/divider.component.js.map +1 -0
  82. package/dist/collection/components/divider/divider.css +1 -0
  83. package/dist/collection/components/input/input.component.js +1050 -0
  84. package/dist/collection/components/input/input.component.js.map +1 -0
  85. package/dist/collection/components/input/input.css +2 -0
  86. package/dist/collection/components/input/types.js +11 -0
  87. package/dist/collection/components/input/types.js.map +1 -0
  88. package/dist/collection/components/text/text.component.js +1 -1
  89. package/dist/collection/components/text/text.css +1 -1
  90. package/dist/collection/components/textarea/textarea.component.js +1013 -0
  91. package/dist/collection/components/textarea/textarea.component.js.map +1 -0
  92. package/dist/collection/components/textarea/textarea.css +2 -0
  93. package/dist/collection/components/textarea/types.js +2 -0
  94. package/dist/collection/components/textarea/types.js.map +1 -0
  95. package/dist/collection/global/global.js +14 -15
  96. package/dist/collection/utils/i18n.js +29 -0
  97. package/dist/collection/utils/i18n.js.map +1 -0
  98. package/dist/collection/utils/id/generate-id.js +16 -0
  99. package/dist/collection/utils/id/generate-id.js.map +1 -0
  100. package/dist/collection/utils/slot/check-slot-content.js +15 -0
  101. package/dist/collection/utils/slot/check-slot-content.js.map +1 -0
  102. package/dist/collection/utils/validation-messages.js +17 -0
  103. package/dist/collection/utils/validation-messages.js.map +1 -0
  104. package/dist/components/bcm-accordion-group.js +3 -3
  105. package/dist/components/bcm-accordion-group.js.map +1 -1
  106. package/dist/components/bcm-accordion.js +7 -7
  107. package/dist/components/bcm-accordion.js.map +1 -1
  108. package/dist/components/bcm-alert.js +2 -2
  109. package/dist/components/bcm-alert.js.map +1 -1
  110. package/dist/components/bcm-avatar.js +13 -7
  111. package/dist/components/bcm-avatar.js.map +1 -1
  112. package/dist/components/bcm-badge.d.ts +11 -0
  113. package/dist/components/bcm-badge.js +8 -0
  114. package/dist/components/bcm-badge.js.map +1 -0
  115. package/dist/components/bcm-basic-badge.d.ts +11 -0
  116. package/dist/components/bcm-basic-badge.js +113 -0
  117. package/dist/components/bcm-basic-badge.js.map +1 -0
  118. package/dist/components/bcm-button.js +5 -5
  119. package/dist/components/bcm-button.js.map +1 -1
  120. package/dist/components/bcm-chip.js +4 -4
  121. package/dist/components/bcm-chip.js.map +1 -1
  122. package/dist/components/bcm-divider.d.ts +11 -0
  123. package/dist/components/bcm-divider.js +100 -0
  124. package/dist/components/bcm-divider.js.map +1 -0
  125. package/dist/components/bcm-input.d.ts +11 -0
  126. package/dist/components/bcm-input.js +369 -0
  127. package/dist/components/bcm-input.js.map +1 -0
  128. package/dist/components/bcm-text.js +4 -4
  129. package/dist/components/bcm-text.js.map +1 -1
  130. package/dist/components/bcm-textarea.d.ts +11 -0
  131. package/dist/components/bcm-textarea.js +369 -0
  132. package/dist/components/bcm-textarea.js.map +1 -0
  133. package/dist/components/index.js +12 -16
  134. package/dist/components/index.js.map +1 -1
  135. package/dist/{esm/index-f0e9d579.js → components/p-12360e4c.js} +3 -3
  136. package/dist/components/{p-b36f4f44.js.map → p-12360e4c.js.map} +1 -1
  137. package/dist/components/{p-0adcc84f.js → p-13582168.js} +34 -3
  138. package/dist/components/p-13582168.js.map +1 -0
  139. package/dist/components/p-31354aaa.js +129 -0
  140. package/dist/components/p-31354aaa.js.map +1 -0
  141. package/dist/components/p-39637e05.js +145 -0
  142. package/dist/components/p-39637e05.js.map +1 -0
  143. package/dist/esm/app-globals-bfa07b76.js +37 -0
  144. package/dist/esm/app-globals-bfa07b76.js.map +1 -0
  145. package/dist/esm/bcm-accordion-group.entry.js +88 -0
  146. package/dist/esm/bcm-accordion-group.entry.js.map +1 -0
  147. package/dist/esm/bcm-accordion.entry.js +124 -0
  148. package/dist/esm/bcm-accordion.entry.js.map +1 -0
  149. package/dist/esm/bcm-alert.entry.js +2 -2
  150. package/dist/esm/bcm-alert.entry.js.map +1 -1
  151. package/dist/esm/bcm-avatar_4.entry.js +570 -0
  152. package/dist/esm/bcm-avatar_4.entry.js.map +1 -0
  153. package/dist/esm/bcm-chip.entry.js +126 -0
  154. package/dist/esm/bcm-chip.entry.js.map +1 -0
  155. package/dist/esm/bcm-divider.entry.js +77 -0
  156. package/dist/esm/bcm-divider.entry.js.map +1 -0
  157. package/dist/esm/bcm-input.entry.js +309 -0
  158. package/dist/esm/bcm-input.entry.js.map +1 -0
  159. package/dist/esm/bcm-text.entry.js +4 -4
  160. package/dist/esm/bcm-text.entry.js.map +1 -1
  161. package/dist/esm/bcm-textarea.entry.js +312 -0
  162. package/dist/esm/bcm-textarea.entry.js.map +1 -0
  163. package/dist/esm/bromcom-ui.js +4 -4
  164. package/dist/{cjs/index-a4eea4bb.js → esm/index-097075ad.js} +3 -5
  165. package/dist/esm/{index-f0e9d579.js.map → index-097075ad.js.map} +1 -1
  166. package/dist/esm/{index-ce2fac11.js → index-27cc1bac.js} +43 -5
  167. package/dist/esm/index-27cc1bac.js.map +1 -0
  168. package/dist/esm/loader.js +4 -4
  169. package/dist/esm/validation-messages-a29d53be.js +129 -0
  170. package/dist/esm/validation-messages-a29d53be.js.map +1 -0
  171. package/dist/types/components/badge/badge.component.d.ts +87 -0
  172. package/dist/types/components/basic-badge/basic-badge.component.d.ts +54 -0
  173. package/dist/types/components/divider/divider.component.d.ts +40 -0
  174. package/dist/types/components/input/input.component.d.ts +93 -0
  175. package/dist/types/components/input/types.d.ts +13 -0
  176. package/dist/types/components/textarea/textarea.component.d.ts +85 -0
  177. package/dist/types/components/textarea/types.d.ts +7 -0
  178. package/dist/types/components.d.ts +889 -0
  179. package/dist/types/utils/i18n.d.ts +8 -0
  180. package/dist/types/utils/id/generate-id.d.ts +9 -0
  181. package/dist/types/utils/slot/check-slot-content.d.ts +7 -0
  182. package/dist/types/utils/validation-messages.d.ts +11 -0
  183. package/package.json +3 -2
  184. package/dist/bromcom-ui/p-0a74cf15.entry.js +0 -2
  185. package/dist/bromcom-ui/p-27c997d8.js +0 -3
  186. package/dist/bromcom-ui/p-27c997d8.js.map +0 -1
  187. package/dist/bromcom-ui/p-2d836917.entry.js +0 -2
  188. package/dist/bromcom-ui/p-40643b53.js +0 -2
  189. package/dist/bromcom-ui/p-40643b53.js.map +0 -1
  190. package/dist/bromcom-ui/p-84a5dcdb.entry.js +0 -2
  191. package/dist/bromcom-ui/p-84a5dcdb.entry.js.map +0 -1
  192. package/dist/bromcom-ui/p-f0c61f8c.entry.js +0 -2
  193. package/dist/bromcom-ui/p-f0c61f8c.entry.js.map +0 -1
  194. package/dist/cjs/app-globals-e8faea0d.js +0 -43
  195. package/dist/cjs/app-globals-e8faea0d.js.map +0 -1
  196. package/dist/cjs/bcm-accordion_4.cjs.entry.js +0 -623
  197. package/dist/cjs/bcm-accordion_4.cjs.entry.js.map +0 -1
  198. package/dist/cjs/bcm-avatar.cjs.entry.js +0 -89
  199. package/dist/cjs/bcm-avatar.cjs.entry.js.map +0 -1
  200. package/dist/cjs/index-638f2d15.js.map +0 -1
  201. package/dist/components/p-0adcc84f.js.map +0 -1
  202. package/dist/esm/app-globals-f781c325.js +0 -41
  203. package/dist/esm/app-globals-f781c325.js.map +0 -1
  204. package/dist/esm/bcm-accordion_4.entry.js +0 -616
  205. package/dist/esm/bcm-accordion_4.entry.js.map +0 -1
  206. package/dist/esm/bcm-avatar.entry.js +0 -85
  207. package/dist/esm/bcm-avatar.entry.js.map +0 -1
  208. package/dist/esm/index-ce2fac11.js.map +0 -1
  209. /package/dist/bromcom-ui/{p-b36f4f44.js.map → p-12360e4c.js.map} +0 -0
@@ -11,14 +11,20 @@ import { AlertKind, AlertSize, AlertStatus } from "./components/alert/types";
11
11
  import { AvatarShape, AvatarSize, AvatarStatus } from "./components/avatar/types";
12
12
  import { ButtonKind, ButtonSize, ButtonStatus, ButtonType, ButtonVariant, IconPosition } from "./components/button/types";
13
13
  import { ChipKind, ChipSize, ChipStatus } from "./components/chip/types";
14
+ import { InputSize, InputStatus, InputType } from "./components/input/types";
15
+ import { Event } from "./stencil-public-runtime";
14
16
  import { TextSize, TextVariant } from "./components/text/text.types";
17
+ import { InputSize as InputSize1, InputStatus as InputStatus1, TextareaResize } from "./components/textarea/types";
15
18
  export { AccordionChangeEventType } from "./components/accordion/types";
16
19
  export { AccordionGroupChangeEventType } from "./components/accordion-group/types";
17
20
  export { AlertKind, AlertSize, AlertStatus } from "./components/alert/types";
18
21
  export { AvatarShape, AvatarSize, AvatarStatus } from "./components/avatar/types";
19
22
  export { ButtonKind, ButtonSize, ButtonStatus, ButtonType, ButtonVariant, IconPosition } from "./components/button/types";
20
23
  export { ChipKind, ChipSize, ChipStatus } from "./components/chip/types";
24
+ export { InputSize, InputStatus, InputType } from "./components/input/types";
25
+ export { Event } from "./stencil-public-runtime";
21
26
  export { TextSize, TextVariant } from "./components/text/text.types";
27
+ export { InputSize as InputSize1, InputStatus as InputStatus1, TextareaResize } from "./components/textarea/types";
22
28
  export namespace Components {
23
29
  /**
24
30
  * @component BcmAccordion
@@ -242,6 +248,120 @@ export namespace Components {
242
248
  */
243
249
  "status": AvatarStatus;
244
250
  }
251
+ /**
252
+ * @component BcmBadge
253
+ * @description A versatile badge component that can be positioned around its container.
254
+ * Supports different sizes, variants (dot/text), colors, and positioning options.
255
+ * Can display status indicators with optional blinking animation.
256
+ * @example Basic usage
257
+ * <bcm-badge color="primary" position="top-right">
258
+ * <div>Container Content</div>
259
+ * <span slot="badge">New</span>
260
+ * </bcm-badge>
261
+ * @example Status indicator with blink
262
+ * <bcm-badge variant="dot" color="success" blink={true} status="Online">
263
+ * <div>User Profile</div>
264
+ * </bcm-badge>
265
+ */
266
+ interface BcmBadge {
267
+ /**
268
+ * Enables blinking animation for the badge. Useful for drawing attention or indicating active status.
269
+ * @type {boolean}
270
+ * @default false
271
+ */
272
+ "blink": boolean;
273
+ /**
274
+ * Defines the color of the badge. Uses system color variables (e.g., 'primary', 'success', 'warning', etc.)
275
+ * @type {string}
276
+ * @optional
277
+ */
278
+ "color"?: string;
279
+ /**
280
+ * Fine-tune the badge position with custom offset. Format: "x,y" in pixels (e.g., "10,-5")
281
+ * @type {string}
282
+ * @optional
283
+ */
284
+ "offset": string;
285
+ /**
286
+ * Sets the position of the badge relative to its container.
287
+ * @type {'top-right' | 'top-left' | 'bottom-right' | 'bottom-left'}
288
+ * @default 'top-right'
289
+ */
290
+ "position": 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left';
291
+ /**
292
+ * Determines the size of the badge.
293
+ * @type {'small' | 'medium' | 'large'}
294
+ * @default 'medium'
295
+ */
296
+ "size": 'small' | 'medium' | 'large';
297
+ /**
298
+ * Enables soft color mode for the badge. When true, uses lighter tones and pastel colors.
299
+ * @type {boolean}
300
+ * @default false
301
+ */
302
+ "soft": boolean;
303
+ /**
304
+ * Status message for accessibility purposes. Will be read by screen readers.
305
+ * @type {string}
306
+ * @optional
307
+ */
308
+ "status"?: string;
309
+ /**
310
+ * Text to be displayed inside the badge. Used when variant is set to 'text'. Can be overridden using the "badge" slot.
311
+ * @type {string}
312
+ * @optional
313
+ */
314
+ "text"?: string;
315
+ /**
316
+ * Sets the visual variant of the badge. 'dot': Appears as a small dot indicator 'text': Displays content as text
317
+ * @type {'dot' | 'text'}
318
+ * @default 'text'
319
+ */
320
+ "variant": 'dot' | 'text';
321
+ }
322
+ /**
323
+ * @component BcmBasicBadge
324
+ * @description A basic badge component that can be used as a status indicator or to highlight content.
325
+ * Supports dot and text variants with different sizes and color options.
326
+ * @example Basic usage
327
+ * <bcm-basic-badge size="medium" color="primary">
328
+ * New
329
+ * </bcm-basic-badge>
330
+ * @example Dot variant
331
+ * <bcm-basic-badge variant="dot" color="success" />
332
+ */
333
+ interface BcmBasicBadge {
334
+ /**
335
+ * Defines the color of the badge. Uses system color variables (e.g., 'primary', 'success', 'warning', etc.)
336
+ * @type {string}
337
+ * @optional
338
+ */
339
+ "color"?: string;
340
+ /**
341
+ * Determines the size of the badge.
342
+ * @type {'small' | 'medium' | 'large'}
343
+ * @default 'medium'
344
+ */
345
+ "size": 'small' | 'medium' | 'large';
346
+ /**
347
+ * Enables soft color mode for the badge. When true, uses lighter tones and pastel colors.
348
+ * @type {boolean}
349
+ * @default false
350
+ */
351
+ "soft": boolean;
352
+ /**
353
+ * Text to be displayed inside the badge. Used when variant is set to 'text'.
354
+ * @type {string}
355
+ * @optional
356
+ */
357
+ "text"?: string;
358
+ /**
359
+ * Sets the visual variant of the badge. 'dot': Appears as a small dot indicator 'text': Displays content as text
360
+ * @type {'dot' | 'text'}
361
+ * @default 'text'
362
+ */
363
+ "variant": 'dot' | 'text';
364
+ }
245
365
  interface BcmButton {
246
366
  /**
247
367
  * Active state
@@ -361,6 +481,153 @@ export namespace Components {
361
481
  */
362
482
  "status"?: ChipStatus;
363
483
  }
484
+ /**
485
+ * @component BCM Divider
486
+ * @description A versatile divider component that creates a visual separation between content.
487
+ * It supports horizontal or vertical orientation with customizable styles and sizes.
488
+ * The component uses CSS variables for theming and Tailwind for styling.
489
+ */
490
+ interface BcmDivider {
491
+ /**
492
+ * @prop {('horizontal'|'vertical')} direction
493
+ * @description Determines the orientation of the divider
494
+ * @default 'horizontal'
495
+ * @example <bcm-divider direction="vertical" />
496
+ */
497
+ "direction": 'horizontal' | 'vertical';
498
+ /**
499
+ * @prop {('small'|'medium'|'large')} size
500
+ * @description Controls the thickness of the divider
501
+ * @default 'medium'
502
+ * @values - small: 1px border - medium: 2px border - large: 4px border
503
+ * @example <bcm-divider size="large" />
504
+ */
505
+ "size": 'small' | 'medium' | 'large';
506
+ /**
507
+ * @prop {('solid'|'dashed'|'dotted')} variant
508
+ * @description Sets the border style of the divider
509
+ * @default 'solid'
510
+ * @example <bcm-divider variant="dashed" />
511
+ */
512
+ "variant": 'solid' | 'dashed' | 'dotted';
513
+ }
514
+ interface BcmInput {
515
+ /**
516
+ * Input id
517
+ */
518
+ "_id"?: string;
519
+ /**
520
+ * Input autocomplete attribute
521
+ */
522
+ "autocomplete"?: string;
523
+ /**
524
+ * Caption text to display below input
525
+ */
526
+ "captionText"?: string;
527
+ /**
528
+ * ID of associated caption/error text element
529
+ */
530
+ "describedby"?: string;
531
+ /**
532
+ * Whether the input is disabled
533
+ */
534
+ "disabled": boolean;
535
+ /**
536
+ * Error message to display
537
+ */
538
+ "errorMessage"?: string;
539
+ /**
540
+ * Full width input
541
+ */
542
+ "fullWidth": boolean;
543
+ /**
544
+ * Input label for accessibility
545
+ */
546
+ "label"?: string;
547
+ /**
548
+ * ID of associated label element
549
+ */
550
+ "labelledby"?: string;
551
+ /**
552
+ * Max value for number input
553
+ */
554
+ "max"?: number;
555
+ /**
556
+ * Max length for text input
557
+ */
558
+ "maxLength"?: number;
559
+ /**
560
+ * Min value for number input
561
+ */
562
+ "min"?: number;
563
+ /**
564
+ * Min length for text input
565
+ */
566
+ "minLength"?: number;
567
+ /**
568
+ * Input name
569
+ */
570
+ "name"?: string;
571
+ /**
572
+ * Pattern for validation
573
+ */
574
+ "pattern"?: string;
575
+ /**
576
+ * Input placeholder text
577
+ */
578
+ "placeholder"?: string;
579
+ /**
580
+ * Prefix icon class name
581
+ */
582
+ "prefixIcon"?: string;
583
+ /**
584
+ * Whether the input is readonly
585
+ */
586
+ "readonly": boolean;
587
+ /**
588
+ * Whether the input is required
589
+ */
590
+ "required": boolean;
591
+ "select": () => Promise<void>;
592
+ "setBlur": () => Promise<void>;
593
+ "setFocus": () => Promise<void>;
594
+ /**
595
+ * Sets locale and messages for all inputs
596
+ */
597
+ "setLocale": (locale: string, messages: Record<string, string>) => Promise<void>;
598
+ /**
599
+ * Controls the input size
600
+ */
601
+ "size": InputSize;
602
+ /**
603
+ * Defines the input's status/state
604
+ */
605
+ "status": InputStatus;
606
+ /**
607
+ * Step value for number input
608
+ */
609
+ "step"?: number;
610
+ /**
611
+ * Suffix icon class name
612
+ */
613
+ "suffixIcon"?: string;
614
+ /**
615
+ * HTML input type
616
+ */
617
+ "type": InputType;
618
+ /**
619
+ * Whether to use native form validation If false, component will handle validation internally
620
+ */
621
+ "useNativeValidation": boolean;
622
+ /**
623
+ * Custom validation function
624
+ */
625
+ "validator"?: (value: string) => string | undefined;
626
+ /**
627
+ * Input value
628
+ */
629
+ "value": string;
630
+ }
364
631
  interface BcmText {
365
632
  /**
366
633
  * Text size
@@ -375,6 +642,111 @@ export namespace Components {
375
642
  */
376
643
  "variant": TextVariant;
377
644
  }
645
+ interface BcmTextarea {
646
+ /**
647
+ * Input id
648
+ */
649
+ "_id"?: string;
650
+ /**
651
+ * Auto grow height based on content
652
+ */
653
+ "autoGrow": boolean;
654
+ /**
655
+ * Caption text to display below textarea
656
+ */
657
+ "captionText"?: string;
658
+ /**
659
+ * Textarea cols
660
+ */
661
+ "cols"?: number;
662
+ /**
663
+ * ID of associated caption/error text element
664
+ */
665
+ "describedby"?: string;
666
+ /**
667
+ * Whether the textarea is disabled
668
+ */
669
+ "disabled": boolean;
670
+ /**
671
+ * Error message to display
672
+ */
673
+ "errorMessage"?: string;
674
+ /**
675
+ * Full width textarea
676
+ */
677
+ "fullWidth": boolean;
678
+ /**
679
+ * Textarea label for accessibility
680
+ */
681
+ "label"?: string;
682
+ /**
683
+ * ID of associated label element
684
+ */
685
+ "labelledby"?: string;
686
+ /**
687
+ * Max length for text input
688
+ */
689
+ "maxLength"?: number;
690
+ /**
691
+ * Maximum height in rows
692
+ */
693
+ "maxRows"?: number;
694
+ /**
695
+ * Min length for text input
696
+ */
697
+ "minLength"?: number;
698
+ /**
699
+ * Minimum height in rows
700
+ */
701
+ "minRows"?: number;
702
+ /**
703
+ * Input name
704
+ */
705
+ "name"?: string;
706
+ /**
707
+ * Input placeholder text
708
+ */
709
+ "placeholder"?: string;
710
+ /**
711
+ * Whether the textarea is readonly
712
+ */
713
+ "readonly": boolean;
714
+ /**
715
+ * Whether the textarea is required
716
+ */
717
+ "required": boolean;
718
+ /**
719
+ * Resize behavior
720
+ */
721
+ "resize": TextareaResize;
722
+ /**
723
+ * Textarea rows
724
+ */
725
+ "rows"?: number;
726
+ "select": () => Promise<void>;
727
+ "setBlur": () => Promise<void>;
728
+ "setFocus": () => Promise<void>;
729
+ /**
730
+ * Show character counter
731
+ */
732
+ "showCounter": boolean;
733
+ /**
734
+ * Controls the textarea size
735
+ */
736
+ "size": InputSize1;
737
+ /**
738
+ * Defines the textarea's status/state
739
+ */
740
+ "status": InputStatus1;
741
+ /**
742
+ * Custom validation function
743
+ */
744
+ "validator"?: (value: string) => string | undefined;
745
+ /**
746
+ * Textarea value
747
+ */
748
+ "value": string;
749
+ }
378
750
  }
379
751
  export interface BcmAccordionCustomEvent<T> extends CustomEvent<T> {
380
752
  detail: T;
@@ -396,6 +768,14 @@ export interface BcmChipCustomEvent<T> extends CustomEvent<T> {
396
768
  detail: T;
397
769
  target: HTMLBcmChipElement;
398
770
  }
771
+ export interface BcmInputCustomEvent<T> extends CustomEvent<T> {
772
+ detail: T;
773
+ target: HTMLBcmInputElement;
774
+ }
775
+ export interface BcmTextareaCustomEvent<T> extends CustomEvent<T> {
776
+ detail: T;
777
+ target: HTMLBcmTextareaElement;
778
+ }
399
779
  declare global {
400
780
  interface HTMLBcmAccordionElementEventMap {
401
781
  "bcmAccordionChange": AccordionChangeEventType;
@@ -555,6 +935,44 @@ declare global {
555
935
  prototype: HTMLBcmAvatarElement;
556
936
  new (): HTMLBcmAvatarElement;
557
937
  };
938
+ /**
939
+ * @component BcmBadge
940
+ * @description A versatile badge component that can be positioned around its container.
941
+ * Supports different sizes, variants (dot/text), colors, and positioning options.
942
+ * Can display status indicators with optional blinking animation.
943
+ * @example Basic usage
944
+ * <bcm-badge color="primary" position="top-right">
945
+ * <div>Container Content</div>
946
+ * <span slot="badge">New</span>
947
+ * </bcm-badge>
948
+ * @example Status indicator with blink
949
+ * <bcm-badge variant="dot" color="success" blink={true} status="Online">
950
+ * <div>User Profile</div>
951
+ * </bcm-badge>
952
+ */
953
+ interface HTMLBcmBadgeElement extends Components.BcmBadge, HTMLStencilElement {
954
+ }
955
+ var HTMLBcmBadgeElement: {
956
+ prototype: HTMLBcmBadgeElement;
957
+ new (): HTMLBcmBadgeElement;
958
+ };
959
+ /**
960
+ * @component BcmBasicBadge
961
+ * @description A basic badge component that can be used as a status indicator or to highlight content.
962
+ * Supports dot and text variants with different sizes and color options.
963
+ * @example Basic usage
964
+ * <bcm-basic-badge size="medium" color="primary">
965
+ * New
966
+ * </bcm-basic-badge>
967
+ * @example Dot variant
968
+ * <bcm-basic-badge variant="dot" color="success" />
969
+ */
970
+ interface HTMLBcmBasicBadgeElement extends Components.BcmBasicBadge, HTMLStencilElement {
971
+ }
972
+ var HTMLBcmBasicBadgeElement: {
973
+ prototype: HTMLBcmBasicBadgeElement;
974
+ new (): HTMLBcmBasicBadgeElement;
975
+ };
558
976
  interface HTMLBcmButtonElementEventMap {
559
977
  "bcmClick": MouseEvent;
560
978
  "bcmFocus": FocusEvent;
@@ -612,20 +1030,81 @@ declare global {
612
1030
  prototype: HTMLBcmChipElement;
613
1031
  new (): HTMLBcmChipElement;
614
1032
  };
1033
+ /**
1034
+ * @component BCM Divider
1035
+ * @description A versatile divider component that creates a visual separation between content.
1036
+ * It supports horizontal or vertical orientation with customizable styles and sizes.
1037
+ * The component uses CSS variables for theming and Tailwind for styling.
1038
+ */
1039
+ interface HTMLBcmDividerElement extends Components.BcmDivider, HTMLStencilElement {
1040
+ }
1041
+ var HTMLBcmDividerElement: {
1042
+ prototype: HTMLBcmDividerElement;
1043
+ new (): HTMLBcmDividerElement;
1044
+ };
1045
+ interface HTMLBcmInputElementEventMap {
1046
+ "bcmInput": InputEvent;
1047
+ "bcmChange": Event;
1048
+ "bcmFocus": FocusEvent;
1049
+ "bcmBlur": FocusEvent;
1050
+ "bcmKeyDown": KeyboardEvent;
1051
+ "bcmKeyUp": KeyboardEvent;
1052
+ }
1053
+ interface HTMLBcmInputElement extends Components.BcmInput, HTMLStencilElement {
1054
+ addEventListener<K extends keyof HTMLBcmInputElementEventMap>(type: K, listener: (this: HTMLBcmInputElement, ev: BcmInputCustomEvent<HTMLBcmInputElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
1055
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1056
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1057
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1058
+ removeEventListener<K extends keyof HTMLBcmInputElementEventMap>(type: K, listener: (this: HTMLBcmInputElement, ev: BcmInputCustomEvent<HTMLBcmInputElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
1059
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1060
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1061
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1062
+ }
1063
+ var HTMLBcmInputElement: {
1064
+ prototype: HTMLBcmInputElement;
1065
+ new (): HTMLBcmInputElement;
1066
+ };
615
1067
  interface HTMLBcmTextElement extends Components.BcmText, HTMLStencilElement {
616
1068
  }
617
1069
  var HTMLBcmTextElement: {
618
1070
  prototype: HTMLBcmTextElement;
619
1071
  new (): HTMLBcmTextElement;
620
1072
  };
1073
+ interface HTMLBcmTextareaElementEventMap {
1074
+ "bcmInput": InputEvent;
1075
+ "bcmChange": Event;
1076
+ "bcmFocus": FocusEvent;
1077
+ "bcmBlur": FocusEvent;
1078
+ "bcmKeyDown": KeyboardEvent;
1079
+ "bcmKeyUp": KeyboardEvent;
1080
+ }
1081
+ interface HTMLBcmTextareaElement extends Components.BcmTextarea, HTMLStencilElement {
1082
+ addEventListener<K extends keyof HTMLBcmTextareaElementEventMap>(type: K, listener: (this: HTMLBcmTextareaElement, ev: BcmTextareaCustomEvent<HTMLBcmTextareaElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
1083
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1084
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1085
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1086
+ removeEventListener<K extends keyof HTMLBcmTextareaElementEventMap>(type: K, listener: (this: HTMLBcmTextareaElement, ev: BcmTextareaCustomEvent<HTMLBcmTextareaElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
1087
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1088
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1089
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1090
+ }
1091
+ var HTMLBcmTextareaElement: {
1092
+ prototype: HTMLBcmTextareaElement;
1093
+ new (): HTMLBcmTextareaElement;
1094
+ };
621
1095
  interface HTMLElementTagNameMap {
622
1096
  "bcm-accordion": HTMLBcmAccordionElement;
623
1097
  "bcm-accordion-group": HTMLBcmAccordionGroupElement;
624
1098
  "bcm-alert": HTMLBcmAlertElement;
625
1099
  "bcm-avatar": HTMLBcmAvatarElement;
1100
+ "bcm-badge": HTMLBcmBadgeElement;
1101
+ "bcm-basic-badge": HTMLBcmBasicBadgeElement;
626
1102
  "bcm-button": HTMLBcmButtonElement;
627
1103
  "bcm-chip": HTMLBcmChipElement;
1104
+ "bcm-divider": HTMLBcmDividerElement;
1105
+ "bcm-input": HTMLBcmInputElement;
628
1106
  "bcm-text": HTMLBcmTextElement;
1107
+ "bcm-textarea": HTMLBcmTextareaElement;
629
1108
  }
630
1109
  }
631
1110
  declare namespace LocalJSX {
@@ -831,6 +1310,120 @@ declare namespace LocalJSX {
831
1310
  */
832
1311
  "status"?: AvatarStatus;
833
1312
  }
1313
+ /**
1314
+ * @component BcmBadge
1315
+ * @description A versatile badge component that can be positioned around its container.
1316
+ * Supports different sizes, variants (dot/text), colors, and positioning options.
1317
+ * Can display status indicators with optional blinking animation.
1318
+ * @example Basic usage
1319
+ * <bcm-badge color="primary" position="top-right">
1320
+ * <div>Container Content</div>
1321
+ * <span slot="badge">New</span>
1322
+ * </bcm-badge>
1323
+ * @example Status indicator with blink
1324
+ * <bcm-badge variant="dot" color="success" blink={true} status="Online">
1325
+ * <div>User Profile</div>
1326
+ * </bcm-badge>
1327
+ */
1328
+ interface BcmBadge {
1329
+ /**
1330
+ * Enables blinking animation for the badge. Useful for drawing attention or indicating active status.
1331
+ * @type {boolean}
1332
+ * @default false
1333
+ */
1334
+ "blink"?: boolean;
1335
+ /**
1336
+ * Defines the color of the badge. Uses system color variables (e.g., 'primary', 'success', 'warning', etc.)
1337
+ * @type {string}
1338
+ * @optional
1339
+ */
1340
+ "color"?: string;
1341
+ /**
1342
+ * Fine-tune the badge position with custom offset. Format: "x,y" in pixels (e.g., "10,-5")
1343
+ * @type {string}
1344
+ * @optional
1345
+ */
1346
+ "offset"?: string;
1347
+ /**
1348
+ * Sets the position of the badge relative to its container.
1349
+ * @type {'top-right' | 'top-left' | 'bottom-right' | 'bottom-left'}
1350
+ * @default 'top-right'
1351
+ */
1352
+ "position"?: 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left';
1353
+ /**
1354
+ * Determines the size of the badge.
1355
+ * @type {'small' | 'medium' | 'large'}
1356
+ * @default 'medium'
1357
+ */
1358
+ "size"?: 'small' | 'medium' | 'large';
1359
+ /**
1360
+ * Enables soft color mode for the badge. When true, uses lighter tones and pastel colors.
1361
+ * @type {boolean}
1362
+ * @default false
1363
+ */
1364
+ "soft"?: boolean;
1365
+ /**
1366
+ * Status message for accessibility purposes. Will be read by screen readers.
1367
+ * @type {string}
1368
+ * @optional
1369
+ */
1370
+ "status"?: string;
1371
+ /**
1372
+ * Text to be displayed inside the badge. Used when variant is set to 'text'. Can be overridden using the "badge" slot.
1373
+ * @type {string}
1374
+ * @optional
1375
+ */
1376
+ "text"?: string;
1377
+ /**
1378
+ * Sets the visual variant of the badge. 'dot': Appears as a small dot indicator 'text': Displays content as text
1379
+ * @type {'dot' | 'text'}
1380
+ * @default 'text'
1381
+ */
1382
+ "variant"?: 'dot' | 'text';
1383
+ }
1384
+ /**
1385
+ * @component BcmBasicBadge
1386
+ * @description A basic badge component that can be used as a status indicator or to highlight content.
1387
+ * Supports dot and text variants with different sizes and color options.
1388
+ * @example Basic usage
1389
+ * <bcm-basic-badge size="medium" color="primary">
1390
+ * New
1391
+ * </bcm-basic-badge>
1392
+ * @example Dot variant
1393
+ * <bcm-basic-badge variant="dot" color="success" />
1394
+ */
1395
+ interface BcmBasicBadge {
1396
+ /**
1397
+ * Defines the color of the badge. Uses system color variables (e.g., 'primary', 'success', 'warning', etc.)
1398
+ * @type {string}
1399
+ * @optional
1400
+ */
1401
+ "color"?: string;
1402
+ /**
1403
+ * Determines the size of the badge.
1404
+ * @type {'small' | 'medium' | 'large'}
1405
+ * @default 'medium'
1406
+ */
1407
+ "size"?: 'small' | 'medium' | 'large';
1408
+ /**
1409
+ * Enables soft color mode for the badge. When true, uses lighter tones and pastel colors.
1410
+ * @type {boolean}
1411
+ * @default false
1412
+ */
1413
+ "soft"?: boolean;
1414
+ /**
1415
+ * Text to be displayed inside the badge. Used when variant is set to 'text'.
1416
+ * @type {string}
1417
+ * @optional
1418
+ */
1419
+ "text"?: string;
1420
+ /**
1421
+ * Sets the visual variant of the badge. 'dot': Appears as a small dot indicator 'text': Displays content as text
1422
+ * @type {'dot' | 'text'}
1423
+ * @default 'text'
1424
+ */
1425
+ "variant"?: 'dot' | 'text';
1426
+ }
834
1427
  interface BcmButton {
835
1428
  /**
836
1429
  * Active state
@@ -954,6 +1547,152 @@ declare namespace LocalJSX {
954
1547
  */
955
1548
  "status"?: ChipStatus;
956
1549
  }
1550
+ /**
1551
+ * @component BCM Divider
1552
+ * @description A versatile divider component that creates a visual separation between content.
1553
+ * It supports horizontal or vertical orientation with customizable styles and sizes.
1554
+ * The component uses CSS variables for theming and Tailwind for styling.
1555
+ */
1556
+ interface BcmDivider {
1557
+ /**
1558
+ * @prop {('horizontal'|'vertical')} direction
1559
+ * @description Determines the orientation of the divider
1560
+ * @default 'horizontal'
1561
+ * @example <bcm-divider direction="vertical" />
1562
+ */
1563
+ "direction"?: 'horizontal' | 'vertical';
1564
+ /**
1565
+ * @prop {('small'|'medium'|'large')} size
1566
+ * @description Controls the thickness of the divider
1567
+ * @default 'medium'
1568
+ * @values - small: 1px border - medium: 2px border - large: 4px border
1569
+ * @example <bcm-divider size="large" />
1570
+ */
1571
+ "size"?: 'small' | 'medium' | 'large';
1572
+ /**
1573
+ * @prop {('solid'|'dashed'|'dotted')} variant
1574
+ * @description Sets the border style of the divider
1575
+ * @default 'solid'
1576
+ * @example <bcm-divider variant="dashed" />
1577
+ */
1578
+ "variant"?: 'solid' | 'dashed' | 'dotted';
1579
+ }
1580
+ interface BcmInput {
1581
+ /**
1582
+ * Input id
1583
+ */
1584
+ "_id"?: string;
1585
+ /**
1586
+ * Input autocomplete attribute
1587
+ */
1588
+ "autocomplete"?: string;
1589
+ /**
1590
+ * Caption text to display below input
1591
+ */
1592
+ "captionText"?: string;
1593
+ /**
1594
+ * ID of associated caption/error text element
1595
+ */
1596
+ "describedby"?: string;
1597
+ /**
1598
+ * Whether the input is disabled
1599
+ */
1600
+ "disabled"?: boolean;
1601
+ /**
1602
+ * Error message to display
1603
+ */
1604
+ "errorMessage"?: string;
1605
+ /**
1606
+ * Full width input
1607
+ */
1608
+ "fullWidth"?: boolean;
1609
+ /**
1610
+ * Input label for accessibility
1611
+ */
1612
+ "label"?: string;
1613
+ /**
1614
+ * ID of associated label element
1615
+ */
1616
+ "labelledby"?: string;
1617
+ /**
1618
+ * Max value for number input
1619
+ */
1620
+ "max"?: number;
1621
+ /**
1622
+ * Max length for text input
1623
+ */
1624
+ "maxLength"?: number;
1625
+ /**
1626
+ * Min value for number input
1627
+ */
1628
+ "min"?: number;
1629
+ /**
1630
+ * Min length for text input
1631
+ */
1632
+ "minLength"?: number;
1633
+ /**
1634
+ * Input name
1635
+ */
1636
+ "name"?: string;
1637
+ "onBcmBlur"?: (event: BcmInputCustomEvent<FocusEvent>) => void;
1638
+ "onBcmChange"?: (event: BcmInputCustomEvent<Event>) => void;
1639
+ "onBcmFocus"?: (event: BcmInputCustomEvent<FocusEvent>) => void;
1640
+ "onBcmInput"?: (event: BcmInputCustomEvent<InputEvent>) => void;
1641
+ "onBcmKeyDown"?: (event: BcmInputCustomEvent<KeyboardEvent>) => void;
1642
+ "onBcmKeyUp"?: (event: BcmInputCustomEvent<KeyboardEvent>) => void;
1643
+ /**
1644
+ * Pattern for validation
1645
+ */
1646
+ "pattern"?: string;
1647
+ /**
1648
+ * Input placeholder text
1649
+ */
1650
+ "placeholder"?: string;
1651
+ /**
1652
+ * Prefix icon class name
1653
+ */
1654
+ "prefixIcon"?: string;
1655
+ /**
1656
+ * Whether the input is readonly
1657
+ */
1658
+ "readonly"?: boolean;
1659
+ /**
1660
+ * Whether the input is required
1661
+ */
1662
+ "required"?: boolean;
1663
+ /**
1664
+ * Controls the input size
1665
+ */
1666
+ "size"?: InputSize;
1667
+ /**
1668
+ * Defines the input's status/state
1669
+ */
1670
+ "status"?: InputStatus;
1671
+ /**
1672
+ * Step value for number input
1673
+ */
1674
+ "step"?: number;
1675
+ /**
1676
+ * Suffix icon class name
1677
+ */
1678
+ "suffixIcon"?: string;
1679
+ /**
1680
+ * HTML input type
1681
+ */
1682
+ "type"?: InputType;
1683
+ /**
1684
+ * Whether to use native form validation If false, component will handle validation internally
1685
+ */
1686
+ "useNativeValidation"?: boolean;
1687
+ /**
1688
+ * Custom validation function
1689
+ */
1690
+ "validator"?: (value: string) => string | undefined;
1691
+ /**
1692
+ * Input value
1693
+ */
1694
+ "value"?: string;
1695
+ }
957
1696
  interface BcmText {
958
1697
  /**
959
1698
  * Text size
@@ -968,14 +1707,127 @@ declare namespace LocalJSX {
968
1707
  */
969
1708
  "variant"?: TextVariant;
970
1709
  }
1710
+ interface BcmTextarea {
1711
+ /**
1712
+ * Input id
1713
+ */
1714
+ "_id"?: string;
1715
+ /**
1716
+ * Auto grow height based on content
1717
+ */
1718
+ "autoGrow"?: boolean;
1719
+ /**
1720
+ * Caption text to display below textarea
1721
+ */
1722
+ "captionText"?: string;
1723
+ /**
1724
+ * Textarea cols
1725
+ */
1726
+ "cols"?: number;
1727
+ /**
1728
+ * ID of associated caption/error text element
1729
+ */
1730
+ "describedby"?: string;
1731
+ /**
1732
+ * Whether the textarea is disabled
1733
+ */
1734
+ "disabled"?: boolean;
1735
+ /**
1736
+ * Error message to display
1737
+ */
1738
+ "errorMessage"?: string;
1739
+ /**
1740
+ * Full width textarea
1741
+ */
1742
+ "fullWidth"?: boolean;
1743
+ /**
1744
+ * Textarea label for accessibility
1745
+ */
1746
+ "label"?: string;
1747
+ /**
1748
+ * ID of associated label element
1749
+ */
1750
+ "labelledby"?: string;
1751
+ /**
1752
+ * Max length for text input
1753
+ */
1754
+ "maxLength"?: number;
1755
+ /**
1756
+ * Maximum height in rows
1757
+ */
1758
+ "maxRows"?: number;
1759
+ /**
1760
+ * Min length for text input
1761
+ */
1762
+ "minLength"?: number;
1763
+ /**
1764
+ * Minimum height in rows
1765
+ */
1766
+ "minRows"?: number;
1767
+ /**
1768
+ * Input name
1769
+ */
1770
+ "name"?: string;
1771
+ "onBcmBlur"?: (event: BcmTextareaCustomEvent<FocusEvent>) => void;
1772
+ "onBcmChange"?: (event: BcmTextareaCustomEvent<Event>) => void;
1773
+ "onBcmFocus"?: (event: BcmTextareaCustomEvent<FocusEvent>) => void;
1774
+ "onBcmInput"?: (event: BcmTextareaCustomEvent<InputEvent>) => void;
1775
+ "onBcmKeyDown"?: (event: BcmTextareaCustomEvent<KeyboardEvent>) => void;
1776
+ "onBcmKeyUp"?: (event: BcmTextareaCustomEvent<KeyboardEvent>) => void;
1777
+ /**
1778
+ * Input placeholder text
1779
+ */
1780
+ "placeholder"?: string;
1781
+ /**
1782
+ * Whether the textarea is readonly
1783
+ */
1784
+ "readonly"?: boolean;
1785
+ /**
1786
+ * Whether the textarea is required
1787
+ */
1788
+ "required"?: boolean;
1789
+ /**
1790
+ * Resize behavior
1791
+ */
1792
+ "resize"?: TextareaResize;
1793
+ /**
1794
+ * Textarea rows
1795
+ */
1796
+ "rows"?: number;
1797
+ /**
1798
+ * Show character counter
1799
+ */
1800
+ "showCounter"?: boolean;
1801
+ /**
1802
+ * Controls the textarea size
1803
+ */
1804
+ "size"?: InputSize1;
1805
+ /**
1806
+ * Defines the textarea's status/state
1807
+ */
1808
+ "status"?: InputStatus1;
1809
+ /**
1810
+ * Custom validation function
1811
+ */
1812
+ "validator"?: (value: string) => string | undefined;
1813
+ /**
1814
+ * Textarea value
1815
+ */
1816
+ "value"?: string;
1817
+ }
971
1818
  interface IntrinsicElements {
972
1819
  "bcm-accordion": BcmAccordion;
973
1820
  "bcm-accordion-group": BcmAccordionGroup;
974
1821
  "bcm-alert": BcmAlert;
975
1822
  "bcm-avatar": BcmAvatar;
1823
+ "bcm-badge": BcmBadge;
1824
+ "bcm-basic-badge": BcmBasicBadge;
976
1825
  "bcm-button": BcmButton;
977
1826
  "bcm-chip": BcmChip;
1827
+ "bcm-divider": BcmDivider;
1828
+ "bcm-input": BcmInput;
978
1829
  "bcm-text": BcmText;
1830
+ "bcm-textarea": BcmTextarea;
979
1831
  }
980
1832
  }
981
1833
  export { LocalJSX as JSX };
@@ -1087,6 +1939,34 @@ declare module "@stencil/core" {
1087
1939
  */
1088
1940
  "bcm-alert": LocalJSX.BcmAlert & JSXBase.HTMLAttributes<HTMLBcmAlertElement>;
1089
1941
  "bcm-avatar": LocalJSX.BcmAvatar & JSXBase.HTMLAttributes<HTMLBcmAvatarElement>;
1942
+ /**
1943
+ * @component BcmBadge
1944
+ * @description A versatile badge component that can be positioned around its container.
1945
+ * Supports different sizes, variants (dot/text), colors, and positioning options.
1946
+ * Can display status indicators with optional blinking animation.
1947
+ * @example Basic usage
1948
+ * <bcm-badge color="primary" position="top-right">
1949
+ * <div>Container Content</div>
1950
+ * <span slot="badge">New</span>
1951
+ * </bcm-badge>
1952
+ * @example Status indicator with blink
1953
+ * <bcm-badge variant="dot" color="success" blink={true} status="Online">
1954
+ * <div>User Profile</div>
1955
+ * </bcm-badge>
1956
+ */
1957
+ "bcm-badge": LocalJSX.BcmBadge & JSXBase.HTMLAttributes<HTMLBcmBadgeElement>;
1958
+ /**
1959
+ * @component BcmBasicBadge
1960
+ * @description A basic badge component that can be used as a status indicator or to highlight content.
1961
+ * Supports dot and text variants with different sizes and color options.
1962
+ * @example Basic usage
1963
+ * <bcm-basic-badge size="medium" color="primary">
1964
+ * New
1965
+ * </bcm-basic-badge>
1966
+ * @example Dot variant
1967
+ * <bcm-basic-badge variant="dot" color="success" />
1968
+ */
1969
+ "bcm-basic-badge": LocalJSX.BcmBasicBadge & JSXBase.HTMLAttributes<HTMLBcmBasicBadgeElement>;
1090
1970
  "bcm-button": LocalJSX.BcmButton & JSXBase.HTMLAttributes<HTMLBcmButtonElement>;
1091
1971
  /**
1092
1972
  * @component BcmChip
@@ -1110,7 +1990,16 @@ declare module "@stencil/core" {
1110
1990
  * @csspart dismiss-icon - The dismiss button icon
1111
1991
  */
1112
1992
  "bcm-chip": LocalJSX.BcmChip & JSXBase.HTMLAttributes<HTMLBcmChipElement>;
1993
+ /**
1994
+ * @component BCM Divider
1995
+ * @description A versatile divider component that creates a visual separation between content.
1996
+ * It supports horizontal or vertical orientation with customizable styles and sizes.
1997
+ * The component uses CSS variables for theming and Tailwind for styling.
1998
+ */
1999
+ "bcm-divider": LocalJSX.BcmDivider & JSXBase.HTMLAttributes<HTMLBcmDividerElement>;
2000
+ "bcm-input": LocalJSX.BcmInput & JSXBase.HTMLAttributes<HTMLBcmInputElement>;
1113
2001
  "bcm-text": LocalJSX.BcmText & JSXBase.HTMLAttributes<HTMLBcmTextElement>;
2002
+ "bcm-textarea": LocalJSX.BcmTextarea & JSXBase.HTMLAttributes<HTMLBcmTextareaElement>;
1114
2003
  }
1115
2004
  }
1116
2005
  }