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.
- package/dist/bromcom-ui/bromcom-ui.css +1 -1
- package/dist/bromcom-ui/bromcom-ui.esm.js +1 -1
- package/dist/bromcom-ui/bromcom-ui.esm.js.map +1 -1
- package/dist/bromcom-ui/global/global.js +14 -15
- package/dist/bromcom-ui/p-04f6d730.entry.js +2 -0
- package/dist/bromcom-ui/p-04f6d730.entry.js.map +1 -0
- package/dist/bromcom-ui/{p-b36f4f44.js → p-12360e4c.js} +1 -1
- package/dist/bromcom-ui/p-15fe392b.js +3 -0
- package/dist/bromcom-ui/p-15fe392b.js.map +1 -0
- package/dist/bromcom-ui/p-1b11150b.entry.js +2 -0
- package/dist/bromcom-ui/p-1b11150b.entry.js.map +1 -0
- package/dist/bromcom-ui/p-1d86c1cf.entry.js +2 -0
- package/dist/bromcom-ui/p-1d86c1cf.entry.js.map +1 -0
- package/dist/bromcom-ui/p-31354aaa.js +2 -0
- package/dist/bromcom-ui/p-31354aaa.js.map +1 -0
- package/dist/bromcom-ui/p-3b607038.entry.js +2 -0
- package/dist/bromcom-ui/p-3b607038.entry.js.map +1 -0
- package/dist/bromcom-ui/p-5d0838e9.entry.js +2 -0
- package/dist/bromcom-ui/p-5d0838e9.entry.js.map +1 -0
- package/dist/bromcom-ui/p-729a870f.js +2 -0
- package/dist/bromcom-ui/p-729a870f.js.map +1 -0
- package/dist/bromcom-ui/p-a590f793.entry.js +2 -0
- package/dist/bromcom-ui/p-a590f793.entry.js.map +1 -0
- package/dist/bromcom-ui/p-cd437280.entry.js +2 -0
- package/dist/bromcom-ui/p-cd437280.entry.js.map +1 -0
- package/dist/bromcom-ui/p-dcea8d62.entry.js +2 -0
- package/dist/bromcom-ui/{p-0a74cf15.entry.js.map → p-dcea8d62.entry.js.map} +1 -1
- package/dist/bromcom-ui/p-ebed10d5.entry.js +2 -0
- package/dist/bromcom-ui/{p-2d836917.entry.js.map → p-ebed10d5.entry.js.map} +1 -1
- package/dist/cjs/app-globals-29edfda4.js +39 -0
- package/dist/cjs/app-globals-29edfda4.js.map +1 -0
- package/dist/cjs/bcm-accordion-group.cjs.entry.js +92 -0
- package/dist/cjs/bcm-accordion-group.cjs.entry.js.map +1 -0
- package/dist/cjs/bcm-accordion.cjs.entry.js +128 -0
- package/dist/cjs/bcm-accordion.cjs.entry.js.map +1 -0
- package/dist/cjs/bcm-alert.cjs.entry.js +2 -2
- package/dist/cjs/bcm-alert.cjs.entry.js.map +1 -1
- package/dist/cjs/bcm-avatar_4.cjs.entry.js +577 -0
- package/dist/cjs/bcm-avatar_4.cjs.entry.js.map +1 -0
- package/dist/cjs/bcm-chip.cjs.entry.js +130 -0
- package/dist/cjs/bcm-chip.cjs.entry.js.map +1 -0
- package/dist/cjs/bcm-divider.cjs.entry.js +81 -0
- package/dist/cjs/bcm-divider.cjs.entry.js.map +1 -0
- package/dist/cjs/bcm-input.cjs.entry.js +313 -0
- package/dist/cjs/bcm-input.cjs.entry.js.map +1 -0
- package/dist/cjs/bcm-text.cjs.entry.js +4 -4
- package/dist/cjs/bcm-text.cjs.entry.js.map +1 -1
- package/dist/cjs/bcm-textarea.cjs.entry.js +316 -0
- package/dist/cjs/bcm-textarea.cjs.entry.js.map +1 -0
- package/dist/cjs/bromcom-ui.cjs.js +3 -3
- package/dist/cjs/{index-638f2d15.js → index-4795c073.js} +43 -5
- package/dist/cjs/index-4795c073.js.map +1 -0
- package/dist/{components/p-b36f4f44.js → cjs/index-5a88e57b.js} +5 -3
- package/dist/cjs/{index-a4eea4bb.js.map → index-5a88e57b.js.map} +1 -1
- package/dist/cjs/loader.cjs.js +3 -3
- package/dist/cjs/validation-messages-c36e5c31.js +134 -0
- package/dist/cjs/validation-messages-c36e5c31.js.map +1 -0
- package/dist/collection/collection-manifest.json +6 -1
- package/dist/collection/components/accordion/accordion.component.js +5 -5
- package/dist/collection/components/accordion/accordion.component.js.map +1 -1
- package/dist/collection/components/accordion/accordion.css +1 -1
- package/dist/collection/components/accordion-group/accordion-group.component.js +1 -1
- package/dist/collection/components/accordion-group/accordion-group.component.js.map +1 -1
- package/dist/collection/components/accordion-group/accordion-group.css +1 -1
- package/dist/collection/components/alert/alert.css +1 -1
- package/dist/collection/components/avatar/avatar.component.js.map +1 -1
- package/dist/collection/components/avatar/avatar.css +1 -1
- package/dist/collection/components/badge/badge.component.js +373 -0
- package/dist/collection/components/badge/badge.component.js.map +1 -0
- package/dist/collection/components/badge/badge.css +1 -0
- package/dist/collection/components/basic-badge/basic-badge.component.js +236 -0
- package/dist/collection/components/basic-badge/basic-badge.component.js.map +1 -0
- package/dist/collection/components/basic-badge/basic-badge.css +1 -0
- package/dist/collection/components/button/button.component.js +3 -3
- package/dist/collection/components/button/button.component.js.map +1 -1
- package/dist/collection/components/button/button.css +1 -1
- package/dist/collection/components/chip/chip.component.js +2 -2
- package/dist/collection/components/chip/chip.component.js.map +1 -1
- package/dist/collection/components/chip/chip.css +1 -1
- package/dist/collection/components/divider/divider.component.js +190 -0
- package/dist/collection/components/divider/divider.component.js.map +1 -0
- package/dist/collection/components/divider/divider.css +1 -0
- package/dist/collection/components/input/input.component.js +1050 -0
- package/dist/collection/components/input/input.component.js.map +1 -0
- package/dist/collection/components/input/input.css +2 -0
- package/dist/collection/components/input/types.js +11 -0
- package/dist/collection/components/input/types.js.map +1 -0
- package/dist/collection/components/text/text.component.js +1 -1
- package/dist/collection/components/text/text.css +1 -1
- package/dist/collection/components/textarea/textarea.component.js +1013 -0
- package/dist/collection/components/textarea/textarea.component.js.map +1 -0
- package/dist/collection/components/textarea/textarea.css +2 -0
- package/dist/collection/components/textarea/types.js +2 -0
- package/dist/collection/components/textarea/types.js.map +1 -0
- package/dist/collection/global/global.js +14 -15
- package/dist/collection/utils/i18n.js +29 -0
- package/dist/collection/utils/i18n.js.map +1 -0
- package/dist/collection/utils/id/generate-id.js +16 -0
- package/dist/collection/utils/id/generate-id.js.map +1 -0
- package/dist/collection/utils/slot/check-slot-content.js +15 -0
- package/dist/collection/utils/slot/check-slot-content.js.map +1 -0
- package/dist/collection/utils/validation-messages.js +17 -0
- package/dist/collection/utils/validation-messages.js.map +1 -0
- package/dist/components/bcm-accordion-group.js +3 -3
- package/dist/components/bcm-accordion-group.js.map +1 -1
- package/dist/components/bcm-accordion.js +7 -7
- package/dist/components/bcm-accordion.js.map +1 -1
- package/dist/components/bcm-alert.js +2 -2
- package/dist/components/bcm-alert.js.map +1 -1
- package/dist/components/bcm-avatar.js +13 -7
- package/dist/components/bcm-avatar.js.map +1 -1
- package/dist/components/bcm-badge.d.ts +11 -0
- package/dist/components/bcm-badge.js +8 -0
- package/dist/components/bcm-badge.js.map +1 -0
- package/dist/components/bcm-basic-badge.d.ts +11 -0
- package/dist/components/bcm-basic-badge.js +113 -0
- package/dist/components/bcm-basic-badge.js.map +1 -0
- package/dist/components/bcm-button.js +5 -5
- package/dist/components/bcm-button.js.map +1 -1
- package/dist/components/bcm-chip.js +4 -4
- package/dist/components/bcm-chip.js.map +1 -1
- package/dist/components/bcm-divider.d.ts +11 -0
- package/dist/components/bcm-divider.js +100 -0
- package/dist/components/bcm-divider.js.map +1 -0
- package/dist/components/bcm-input.d.ts +11 -0
- package/dist/components/bcm-input.js +369 -0
- package/dist/components/bcm-input.js.map +1 -0
- package/dist/components/bcm-text.js +4 -4
- package/dist/components/bcm-text.js.map +1 -1
- package/dist/components/bcm-textarea.d.ts +11 -0
- package/dist/components/bcm-textarea.js +369 -0
- package/dist/components/bcm-textarea.js.map +1 -0
- package/dist/components/index.js +12 -16
- package/dist/components/index.js.map +1 -1
- package/dist/{esm/index-f0e9d579.js → components/p-12360e4c.js} +3 -3
- package/dist/components/{p-b36f4f44.js.map → p-12360e4c.js.map} +1 -1
- package/dist/components/{p-0adcc84f.js → p-13582168.js} +34 -3
- package/dist/components/p-13582168.js.map +1 -0
- package/dist/components/p-31354aaa.js +129 -0
- package/dist/components/p-31354aaa.js.map +1 -0
- package/dist/components/p-39637e05.js +145 -0
- package/dist/components/p-39637e05.js.map +1 -0
- package/dist/esm/app-globals-bfa07b76.js +37 -0
- package/dist/esm/app-globals-bfa07b76.js.map +1 -0
- package/dist/esm/bcm-accordion-group.entry.js +88 -0
- package/dist/esm/bcm-accordion-group.entry.js.map +1 -0
- package/dist/esm/bcm-accordion.entry.js +124 -0
- package/dist/esm/bcm-accordion.entry.js.map +1 -0
- package/dist/esm/bcm-alert.entry.js +2 -2
- package/dist/esm/bcm-alert.entry.js.map +1 -1
- package/dist/esm/bcm-avatar_4.entry.js +570 -0
- package/dist/esm/bcm-avatar_4.entry.js.map +1 -0
- package/dist/esm/bcm-chip.entry.js +126 -0
- package/dist/esm/bcm-chip.entry.js.map +1 -0
- package/dist/esm/bcm-divider.entry.js +77 -0
- package/dist/esm/bcm-divider.entry.js.map +1 -0
- package/dist/esm/bcm-input.entry.js +309 -0
- package/dist/esm/bcm-input.entry.js.map +1 -0
- package/dist/esm/bcm-text.entry.js +4 -4
- package/dist/esm/bcm-text.entry.js.map +1 -1
- package/dist/esm/bcm-textarea.entry.js +312 -0
- package/dist/esm/bcm-textarea.entry.js.map +1 -0
- package/dist/esm/bromcom-ui.js +4 -4
- package/dist/{cjs/index-a4eea4bb.js → esm/index-097075ad.js} +3 -5
- package/dist/esm/{index-f0e9d579.js.map → index-097075ad.js.map} +1 -1
- package/dist/esm/{index-ce2fac11.js → index-27cc1bac.js} +43 -5
- package/dist/esm/index-27cc1bac.js.map +1 -0
- package/dist/esm/loader.js +4 -4
- package/dist/esm/validation-messages-a29d53be.js +129 -0
- package/dist/esm/validation-messages-a29d53be.js.map +1 -0
- package/dist/types/components/badge/badge.component.d.ts +87 -0
- package/dist/types/components/basic-badge/basic-badge.component.d.ts +54 -0
- package/dist/types/components/divider/divider.component.d.ts +40 -0
- package/dist/types/components/input/input.component.d.ts +93 -0
- package/dist/types/components/input/types.d.ts +13 -0
- package/dist/types/components/textarea/textarea.component.d.ts +85 -0
- package/dist/types/components/textarea/types.d.ts +7 -0
- package/dist/types/components.d.ts +889 -0
- package/dist/types/utils/i18n.d.ts +8 -0
- package/dist/types/utils/id/generate-id.d.ts +9 -0
- package/dist/types/utils/slot/check-slot-content.d.ts +7 -0
- package/dist/types/utils/validation-messages.d.ts +11 -0
- package/package.json +3 -2
- package/dist/bromcom-ui/p-0a74cf15.entry.js +0 -2
- package/dist/bromcom-ui/p-27c997d8.js +0 -3
- package/dist/bromcom-ui/p-27c997d8.js.map +0 -1
- package/dist/bromcom-ui/p-2d836917.entry.js +0 -2
- package/dist/bromcom-ui/p-40643b53.js +0 -2
- package/dist/bromcom-ui/p-40643b53.js.map +0 -1
- package/dist/bromcom-ui/p-84a5dcdb.entry.js +0 -2
- package/dist/bromcom-ui/p-84a5dcdb.entry.js.map +0 -1
- package/dist/bromcom-ui/p-f0c61f8c.entry.js +0 -2
- package/dist/bromcom-ui/p-f0c61f8c.entry.js.map +0 -1
- package/dist/cjs/app-globals-e8faea0d.js +0 -43
- package/dist/cjs/app-globals-e8faea0d.js.map +0 -1
- package/dist/cjs/bcm-accordion_4.cjs.entry.js +0 -623
- package/dist/cjs/bcm-accordion_4.cjs.entry.js.map +0 -1
- package/dist/cjs/bcm-avatar.cjs.entry.js +0 -89
- package/dist/cjs/bcm-avatar.cjs.entry.js.map +0 -1
- package/dist/cjs/index-638f2d15.js.map +0 -1
- package/dist/components/p-0adcc84f.js.map +0 -1
- package/dist/esm/app-globals-f781c325.js +0 -41
- package/dist/esm/app-globals-f781c325.js.map +0 -1
- package/dist/esm/bcm-accordion_4.entry.js +0 -616
- package/dist/esm/bcm-accordion_4.entry.js.map +0 -1
- package/dist/esm/bcm-avatar.entry.js +0 -85
- package/dist/esm/bcm-avatar.entry.js.map +0 -1
- package/dist/esm/index-ce2fac11.js.map +0 -1
- /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
|
}
|