@brightspot/ui 1.0.1-wc.4 → 1.1.0

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 (73) hide show
  1. package/README.md +4 -0
  2. package/dist/components/avatar/Avatar.d.ts +82 -0
  3. package/dist/components/avatar/Avatar.d.ts.map +1 -0
  4. package/dist/components/avatar/Avatar.js +162 -0
  5. package/dist/components/avatar/Avatar.js.map +1 -0
  6. package/dist/components/avatar/AvatarGroup.d.ts +70 -0
  7. package/dist/components/avatar/AvatarGroup.d.ts.map +1 -0
  8. package/dist/components/avatar/AvatarGroup.js +145 -0
  9. package/dist/components/avatar/AvatarGroup.js.map +1 -0
  10. package/dist/components/badge/Badge.d.ts +75 -0
  11. package/dist/components/badge/Badge.d.ts.map +1 -0
  12. package/dist/components/badge/Badge.js +118 -0
  13. package/dist/components/badge/Badge.js.map +1 -0
  14. package/dist/custom-elements.json +437 -0
  15. package/dist/storybook/assets/Avatar.stories-BONZm4v8.js +209 -0
  16. package/dist/storybook/assets/AvatarGroup.stories-DDKujPh2.js +211 -0
  17. package/dist/storybook/assets/Badge.stories-C8Ahfpp6.js +134 -0
  18. package/dist/storybook/assets/{Button.stories-BH3fEuOH.js → Button.stories-Cwdvbnu1.js} +1 -1
  19. package/dist/storybook/assets/{Color-64QXVMR3-BV_8WWIP.js → Color-64QXVMR3-CqLd5_0n.js} +1 -1
  20. package/dist/storybook/assets/{Colors.stories-CcpJ2Txp.js → Colors.stories-BajWDIwn.js} +1 -1
  21. package/dist/storybook/assets/Events.stories-B32yjxgf.js +108 -0
  22. package/dist/storybook/assets/{Heading.stories-cqZamo-6.js → Heading.stories-C0ji1wRG.js} +1 -1
  23. package/dist/storybook/assets/{Icon.stories-uPhO3RBG.js → Icon.stories-DeEHMd7f.js} +1 -1
  24. package/dist/storybook/assets/{Loader.stories-D7Bl-LN9.js → Loader.stories-NxZ0SGA0.js} +1 -1
  25. package/dist/storybook/assets/ReadyMixin.stories-DavcxbQ0.js +55 -0
  26. package/dist/storybook/assets/{ScrollShadow.stories-CWKYDYLk.js → ScrollShadow.stories-1W8nsrPe.js} +1 -1
  27. package/dist/storybook/assets/{WithTooltip-SK46ZJ2J-DyavE1Bj.js → WithTooltip-SK46ZJ2J-BO-IGPcG.js} +5 -5
  28. package/dist/storybook/assets/formatter-OMEEQ6HG-wqmAyL2n.js +1 -0
  29. package/dist/storybook/assets/iframe-BEH5EoNR.css +1 -0
  30. package/dist/storybook/assets/{iframe-mIh0R_Av.js → iframe-BIFmrRK7.js} +152 -125
  31. package/dist/storybook/assets/{index-C8IjQgz6.js → index-B4dkQq9N.js} +1 -1
  32. package/dist/storybook/assets/{syntaxhighlighter-CAVLW7PM-36bUIV4n.js → syntaxhighlighter-CAVLW7PM-kyZrfiLk.js} +1 -1
  33. package/dist/storybook/iframe.html +2 -2
  34. package/dist/storybook/index.json +1 -1
  35. package/dist/storybook/project.json +1 -1
  36. package/dist/tailwind-plugin-avatar.d.ts +2 -0
  37. package/dist/tailwind-plugin-avatar.d.ts.map +1 -0
  38. package/dist/tailwind-plugin-avatar.js +130 -0
  39. package/dist/tailwind-plugin-avatar.js.map +1 -0
  40. package/dist/tailwind-plugin-avatar.ts +181 -0
  41. package/dist/tailwind-plugin-badge.js +24 -9
  42. package/dist/tailwind-plugin-badge.js.map +1 -1
  43. package/dist/tailwind-plugin-badge.ts +30 -11
  44. package/dist/tailwind-plugin-button.js +3 -6
  45. package/dist/tailwind-plugin-button.js.map +1 -1
  46. package/dist/tailwind-plugin-button.ts +3 -7
  47. package/dist/tailwind.config.js +2 -2
  48. package/dist/tailwind.config.js.map +1 -1
  49. package/dist/tailwind.config.ts +2 -2
  50. package/dist/utils/EventEmitterMixin.d.ts +19 -16
  51. package/dist/utils/EventEmitterMixin.d.ts.map +1 -1
  52. package/dist/utils/EventEmitterMixin.js +7 -7
  53. package/dist/utils/EventEmitterMixin.js.map +1 -1
  54. package/dist/utils/ReadyMixin.d.ts +31 -0
  55. package/dist/utils/ReadyMixin.d.ts.map +1 -0
  56. package/dist/utils/ReadyMixin.js +42 -0
  57. package/dist/utils/ReadyMixin.js.map +1 -0
  58. package/package.json +7 -6
  59. package/custom-elements.json +0 -214
  60. package/dist/components/widget/Widget.css +0 -118
  61. package/dist/components/widget/Widget.d.ts +0 -90
  62. package/dist/components/widget/Widget.d.ts.map +0 -1
  63. package/dist/components/widget/Widget.js +0 -196
  64. package/dist/components/widget/Widget.js.map +0 -1
  65. package/dist/components/widget/WidgetUtils.d.ts +0 -14
  66. package/dist/components/widget/WidgetUtils.d.ts.map +0 -1
  67. package/dist/components/widget/WidgetUtils.js +0 -42
  68. package/dist/components/widget/WidgetUtils.js.map +0 -1
  69. package/dist/storybook/assets/Badge.stories-cKvztBhm.js +0 -43
  70. package/dist/storybook/assets/Widget-CRTwFkFc.css +0 -1
  71. package/dist/storybook/assets/Widget.stories-CcjywoYR.js +0 -300
  72. package/dist/storybook/assets/formatter-OMEEQ6HG-DBJ97XaR.js +0 -1
  73. package/dist/storybook/assets/iframe-BdHEYpHD.css +0 -1
@@ -0,0 +1,118 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { LitElement, html } from 'lit';
8
+ import { property } from 'lit/decorators.js';
9
+ import { EventEmitterMixin } from '../../utils/EventEmitterMixin.js';
10
+ import { ReadyMixin } from '../../utils/ReadyMixin.js';
11
+ /**
12
+ * A badge component for highlighting important information.
13
+ *
14
+ * Badges help highlight notifications, status, or new messages.
15
+ * Primarily used for communicating secondary or additional information.
16
+ *
17
+ * @element btu-badge
18
+ *
19
+ * @fires {CustomEvent} btu-badge-ready - Fired after first render and initialization
20
+ *
21
+ * @cssprop --badge-color-foreground - Text color (overrides theme color)
22
+ * @cssprop --badge-color-background - Background color (overrides theme color)
23
+ * @cssprop --badge-radius-size - Border radius size (overrides shape default, default: 999px)
24
+ * @cssprop --badge-px - Horizontal padding (overrides size default)
25
+ * @cssprop --badge-py - Vertical padding (overrides size default)
26
+ * @cssprop --badge-dot-size - Size of the dot affordance (default: 6px)
27
+ *
28
+ * @example
29
+ * ```html
30
+ * <!-- Badge with dot -->
31
+ * <btu-badge variant="info" size="sm" dot>New</btu-badge>
32
+ *
33
+ * <!-- Badge with icon -->
34
+ * <btu-badge variant="success" size="md">
35
+ * <btu-icon symbol="check"></btu-icon>
36
+ * Success
37
+ * </btu-badge>
38
+ * ```
39
+ */
40
+ export default class Badge extends EventEmitterMixin(ReadyMixin(LitElement)) {
41
+ constructor() {
42
+ super(...arguments);
43
+ /**
44
+ * Style of the badge.
45
+ * - 'info': Informational (default)
46
+ * - 'primary': Primary action or emphasis
47
+ * - 'error': Error or danger state
48
+ * - 'success': Success or completion state
49
+ * - 'warning': Warning or caution state
50
+ * @attr
51
+ */
52
+ this.variant = 'info';
53
+ /**
54
+ * Should a dot be displayed before the label?
55
+ * @attr
56
+ */
57
+ this.dot = false;
58
+ /**
59
+ * Size variant.
60
+ * - 'sm': Small (default)
61
+ * - 'md': Medium
62
+ * - 'lg': Large
63
+ * @attr
64
+ */
65
+ this.size = 'sm';
66
+ /** @internal */
67
+ this.initialClasses = [];
68
+ }
69
+ connectedCallback() {
70
+ super.connectedCallback();
71
+ // Capture initial classes from backend HTML
72
+ if (this.className) {
73
+ this.initialClasses = this.className.split(' ').filter(c => c.trim());
74
+ }
75
+ }
76
+ createRenderRoot() {
77
+ return this;
78
+ }
79
+ willUpdate() {
80
+ // Map variant to theme color (info → gray)
81
+ const colorMap = {
82
+ info: 'gray',
83
+ primary: 'primary',
84
+ error: 'error',
85
+ success: 'success',
86
+ warning: 'warning',
87
+ };
88
+ const classes = [
89
+ ...this.initialClasses,
90
+ 'btu-badge',
91
+ `btu-badge-${this.size}`,
92
+ `btu-badge-${colorMap[this.variant]}`,
93
+ this.dot ? 'btu-badge-dot' : '',
94
+ ];
95
+ this.className = classes.filter(Boolean).join(' ');
96
+ }
97
+ firstUpdated() {
98
+ this.emit('btu-badge-ready');
99
+ }
100
+ render() {
101
+ return html ``;
102
+ }
103
+ }
104
+ __decorate([
105
+ property({ type: String })
106
+ ], Badge.prototype, "variant", void 0);
107
+ __decorate([
108
+ property({ type: Boolean })
109
+ ], Badge.prototype, "dot", void 0);
110
+ __decorate([
111
+ property({ type: String })
112
+ ], Badge.prototype, "size", void 0);
113
+ // Register custom element with guard to prevent double registration
114
+ // (common with yarn link, HMR, or webpack bundle duplication)
115
+ if (!customElements.get('btu-badge')) {
116
+ customElements.define('btu-badge', Badge);
117
+ }
118
+ //# sourceMappingURL=Badge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Badge.js","sourceRoot":"","sources":["../../../src/components/badge/Badge.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,CAAA;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAQtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,iBAAiB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAA5E;;QACE;;;;;;;;WAQG;QAEH,YAAO,GAAyD,MAAM,CAAA;QAEtE;;;WAGG;QAEH,QAAG,GAAG,KAAK,CAAA;QAEX;;;;;;WAMG;QAEH,SAAI,GAAG,IAAI,CAAA;QAEX,gBAAgB;QACR,mBAAc,GAAa,EAAE,CAAA;IA0CvC,CAAC;IAxCC,iBAAiB;QACf,KAAK,CAAC,iBAAiB,EAAE,CAAA;QACzB,4CAA4C;QAC5C,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;QACvE,CAAC;IACH,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAA;IACb,CAAC;IAED,UAAU;QACR,2CAA2C;QAC3C,MAAM,QAAQ,GAAmD;YAC/D,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,SAAS;YAClB,KAAK,EAAE,OAAO;YACd,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE,SAAS;SACnB,CAAA;QAED,MAAM,OAAO,GAAG;YACd,GAAG,IAAI,CAAC,cAAc;YACtB,WAAW;YACX,aAAa,IAAI,CAAC,IAAI,EAAE;YACxB,aAAa,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YACrC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE;SAChC,CAAA;QAED,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACpD,CAAC;IAED,YAAY;QACV,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;IAC9B,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAA,EAAE,CAAA;IACf,CAAC;CACF;AA9DC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;sCAC2C;AAOtE;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;kCACjB;AAUX;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;mCAChB;AA+Cb,oEAAoE;AACpE,8DAA8D;AAC9D,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;IACrC,cAAc,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;AAC3C,CAAC"}
@@ -0,0 +1,437 @@
1
+ {
2
+ "schemaVersion": "1.0.0",
3
+ "readme": "",
4
+ "modules": [
5
+ {
6
+ "kind": "javascript-module",
7
+ "path": "src/components/avatar/Avatar.ts",
8
+ "declarations": [
9
+ {
10
+ "kind": "class",
11
+ "description": "An avatar component for displaying user profile images with fallback support.\n\nAvatars display user profile images with automatic fallback to initials when\nthe image fails to load or is not provided.",
12
+ "name": "Avatar",
13
+ "cssProperties": [
14
+ {
15
+ "description": "Custom size (overrides size prop)",
16
+ "name": "--avatar-size"
17
+ },
18
+ {
19
+ "description": "Fallback background color (default: purple-600)",
20
+ "name": "--avatar-bg-color"
21
+ },
22
+ {
23
+ "description": "How rounded is the avatar (default: circle)",
24
+ "name": "--avatar-corner-rounding"
25
+ },
26
+ {
27
+ "description": "Optional ring border color",
28
+ "name": "--avatar-ring-color"
29
+ },
30
+ {
31
+ "description": "Ring border width (default: 2px)",
32
+ "name": "--avatar-ring-width"
33
+ }
34
+ ],
35
+ "members": [
36
+ {
37
+ "kind": "field",
38
+ "name": "src",
39
+ "type": {
40
+ "text": "string"
41
+ },
42
+ "default": "''",
43
+ "description": "Image source URL",
44
+ "attribute": "src"
45
+ },
46
+ {
47
+ "kind": "field",
48
+ "name": "alt",
49
+ "type": {
50
+ "text": "string"
51
+ },
52
+ "default": "''",
53
+ "description": "Alt text for the image",
54
+ "attribute": "alt"
55
+ },
56
+ {
57
+ "kind": "field",
58
+ "name": "fallback",
59
+ "type": {
60
+ "text": "string"
61
+ },
62
+ "default": "''",
63
+ "description": "Fallback text (typically user initials)",
64
+ "attribute": "fallback"
65
+ },
66
+ {
67
+ "kind": "field",
68
+ "name": "size",
69
+ "type": {
70
+ "text": "'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl'"
71
+ },
72
+ "default": "'md'",
73
+ "description": "Size variant.\n- 'xs': Extra small (1.5rem)\n- 'sm': Small (2.25rem)\n- 'md': Medium (2.5rem) - default\n- 'lg': Large (3rem)\n- 'xl': Extra large (3.5rem)\n- 'xxl': Extra extra large (4rem)",
74
+ "attribute": "size"
75
+ }
76
+ ],
77
+ "events": [
78
+ {
79
+ "type": {
80
+ "text": "CustomEvent"
81
+ },
82
+ "description": "Fired after first render and initialization",
83
+ "name": "btu-avatar-ready"
84
+ },
85
+ {
86
+ "type": {
87
+ "text": "CustomEvent<{src: string}>"
88
+ },
89
+ "description": "Fired when image successfully loads",
90
+ "name": "btu-avatar-image-loaded"
91
+ },
92
+ {
93
+ "type": {
94
+ "text": "CustomEvent<{src: string, error: Event}>"
95
+ },
96
+ "description": "Fired when image fails to load",
97
+ "name": "btu-avatar-image-error"
98
+ }
99
+ ],
100
+ "attributes": [
101
+ {
102
+ "name": "src",
103
+ "type": {
104
+ "text": "string"
105
+ },
106
+ "default": "''",
107
+ "description": "Image source URL",
108
+ "fieldName": "src",
109
+ "attribute": "src"
110
+ },
111
+ {
112
+ "name": "alt",
113
+ "type": {
114
+ "text": "string"
115
+ },
116
+ "default": "''",
117
+ "description": "Alt text for the image",
118
+ "fieldName": "alt",
119
+ "attribute": "alt"
120
+ },
121
+ {
122
+ "name": "fallback",
123
+ "type": {
124
+ "text": "string"
125
+ },
126
+ "default": "''",
127
+ "description": "Fallback text (typically user initials)",
128
+ "fieldName": "fallback",
129
+ "attribute": "fallback"
130
+ },
131
+ {
132
+ "name": "size",
133
+ "type": {
134
+ "text": "'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl'"
135
+ },
136
+ "default": "'md'",
137
+ "description": "Size variant.\n- 'xs': Extra small (1.5rem)\n- 'sm': Small (2.25rem)\n- 'md': Medium (2.5rem) - default\n- 'lg': Large (3rem)\n- 'xl': Extra large (3.5rem)\n- 'xxl': Extra extra large (4rem)",
138
+ "fieldName": "size",
139
+ "attribute": "size"
140
+ }
141
+ ],
142
+ "mixins": [
143
+ {
144
+ "name": "EventEmitterMixin",
145
+ "module": "/src/utils/EventEmitterMixin.js"
146
+ },
147
+ {
148
+ "name": "ReadyMixin",
149
+ "module": "/src/utils/ReadyMixin.js"
150
+ }
151
+ ],
152
+ "superclass": {
153
+ "name": "LitElement",
154
+ "package": "lit"
155
+ },
156
+ "tagName": "btu-avatar",
157
+ "customElement": true
158
+ }
159
+ ],
160
+ "exports": [
161
+ {
162
+ "kind": "js",
163
+ "name": "default",
164
+ "declaration": {
165
+ "name": "Avatar",
166
+ "module": "src/components/avatar/Avatar.ts"
167
+ }
168
+ },
169
+ {
170
+ "kind": "custom-element-definition",
171
+ "name": "btu-avatar",
172
+ "declaration": {
173
+ "name": "Avatar",
174
+ "module": "src/components/avatar/Avatar.ts"
175
+ }
176
+ }
177
+ ]
178
+ },
179
+ {
180
+ "kind": "javascript-module",
181
+ "path": "src/components/avatar/AvatarGroup.ts",
182
+ "declarations": [
183
+ {
184
+ "kind": "class",
185
+ "description": "A container component for grouping multiple avatars with consistent styling.\n\nAvatarGroup wraps multiple avatar elements and provides:\n- Overflow handling (shows \"+N\" for excess avatars)\n- Consistent spacing and ring borders\n- Size inheritance for all child avatars",
186
+ "name": "AvatarGroup",
187
+ "members": [
188
+ {
189
+ "kind": "field",
190
+ "name": "max",
191
+ "type": {
192
+ "text": "number | undefined"
193
+ },
194
+ "description": "Maximum number of visible avatars. Remaining avatars shown as \"+N\"",
195
+ "attribute": "max"
196
+ },
197
+ {
198
+ "kind": "field",
199
+ "name": "size",
200
+ "type": {
201
+ "text": "'xs' | 'sm' | 'md'"
202
+ },
203
+ "default": "'md'",
204
+ "description": "Size variant for all child avatars (unless individually overridden)",
205
+ "attribute": "size"
206
+ },
207
+ {
208
+ "kind": "method",
209
+ "name": "processAvatars",
210
+ "return": {
211
+ "type": {
212
+ "text": "void"
213
+ }
214
+ },
215
+ "description": "Process all avatar children: apply size, handle overflow\nCall this method when avatars are dynamically added or removed"
216
+ }
217
+ ],
218
+ "events": [
219
+ {
220
+ "type": {
221
+ "text": "CustomEvent"
222
+ },
223
+ "description": "Fired after first render and initialization",
224
+ "name": "btu-avatar-group-ready"
225
+ },
226
+ {
227
+ "type": {
228
+ "text": "CustomEvent<{hidden: number}>"
229
+ },
230
+ "description": "Fired when avatars are hidden due to max limit",
231
+ "name": "btu-avatar-group-overflow"
232
+ }
233
+ ],
234
+ "attributes": [
235
+ {
236
+ "name": "max",
237
+ "type": {
238
+ "text": "number | undefined"
239
+ },
240
+ "description": "Maximum number of visible avatars. Remaining avatars shown as \"+N\"",
241
+ "fieldName": "max",
242
+ "attribute": "max"
243
+ },
244
+ {
245
+ "name": "size",
246
+ "type": {
247
+ "text": "'xs' | 'sm' | 'md'"
248
+ },
249
+ "default": "'md'",
250
+ "description": "Size variant for all child avatars (unless individually overridden)",
251
+ "fieldName": "size",
252
+ "attribute": "size"
253
+ }
254
+ ],
255
+ "mixins": [
256
+ {
257
+ "name": "EventEmitterMixin",
258
+ "module": "/src/utils/EventEmitterMixin.js"
259
+ },
260
+ {
261
+ "name": "ReadyMixin",
262
+ "module": "/src/utils/ReadyMixin.js"
263
+ }
264
+ ],
265
+ "superclass": {
266
+ "name": "LitElement",
267
+ "package": "lit"
268
+ },
269
+ "tagName": "btu-avatar-group",
270
+ "customElement": true
271
+ }
272
+ ],
273
+ "exports": [
274
+ {
275
+ "kind": "js",
276
+ "name": "default",
277
+ "declaration": {
278
+ "name": "AvatarGroup",
279
+ "module": "src/components/avatar/AvatarGroup.ts"
280
+ }
281
+ },
282
+ {
283
+ "kind": "custom-element-definition",
284
+ "name": "btu-avatar-group",
285
+ "declaration": {
286
+ "name": "AvatarGroup",
287
+ "module": "src/components/avatar/AvatarGroup.ts"
288
+ }
289
+ }
290
+ ]
291
+ },
292
+ {
293
+ "kind": "javascript-module",
294
+ "path": "src/components/badge/Badge.ts",
295
+ "declarations": [
296
+ {
297
+ "kind": "class",
298
+ "description": "A badge component for highlighting important information.\n\nBadges help highlight notifications, status, or new messages.\nPrimarily used for communicating secondary or additional information.",
299
+ "name": "Badge",
300
+ "cssProperties": [
301
+ {
302
+ "description": "Text color (overrides theme color)",
303
+ "name": "--badge-color-foreground"
304
+ },
305
+ {
306
+ "description": "Background color (overrides theme color)",
307
+ "name": "--badge-color-background"
308
+ },
309
+ {
310
+ "description": "Border radius size (overrides shape default, default: 999px)",
311
+ "name": "--badge-radius-size"
312
+ },
313
+ {
314
+ "description": "Horizontal padding (overrides size default)",
315
+ "name": "--badge-px"
316
+ },
317
+ {
318
+ "description": "Vertical padding (overrides size default)",
319
+ "name": "--badge-py"
320
+ },
321
+ {
322
+ "description": "Size of the dot affordance (default: 6px)",
323
+ "name": "--badge-dot-size"
324
+ }
325
+ ],
326
+ "members": [
327
+ {
328
+ "kind": "field",
329
+ "name": "variant",
330
+ "type": {
331
+ "text": "'info' | 'primary' | 'error' | 'success' | 'warning'"
332
+ },
333
+ "default": "'info'",
334
+ "description": "Style of the badge.\n- 'info': Informational (default)\n- 'primary': Primary action or emphasis\n- 'error': Error or danger state\n- 'success': Success or completion state\n- 'warning': Warning or caution state",
335
+ "attribute": "variant"
336
+ },
337
+ {
338
+ "kind": "field",
339
+ "name": "dot",
340
+ "type": {
341
+ "text": "boolean"
342
+ },
343
+ "default": "false",
344
+ "description": "Should a dot be displayed before the label?",
345
+ "attribute": "dot"
346
+ },
347
+ {
348
+ "kind": "field",
349
+ "name": "size",
350
+ "type": {
351
+ "text": "string"
352
+ },
353
+ "default": "'sm'",
354
+ "description": "Size variant.\n- 'sm': Small (default)\n- 'md': Medium\n- 'lg': Large",
355
+ "attribute": "size"
356
+ }
357
+ ],
358
+ "events": [
359
+ {
360
+ "type": {
361
+ "text": "CustomEvent"
362
+ },
363
+ "description": "Fired after first render and initialization",
364
+ "name": "btu-badge-ready"
365
+ }
366
+ ],
367
+ "attributes": [
368
+ {
369
+ "name": "variant",
370
+ "type": {
371
+ "text": "'info' | 'primary' | 'error' | 'success' | 'warning'"
372
+ },
373
+ "default": "'info'",
374
+ "description": "Style of the badge.\n- 'info': Informational (default)\n- 'primary': Primary action or emphasis\n- 'error': Error or danger state\n- 'success': Success or completion state\n- 'warning': Warning or caution state",
375
+ "fieldName": "variant",
376
+ "attribute": "variant"
377
+ },
378
+ {
379
+ "name": "dot",
380
+ "type": {
381
+ "text": "boolean"
382
+ },
383
+ "default": "false",
384
+ "description": "Should a dot be displayed before the label?",
385
+ "fieldName": "dot",
386
+ "attribute": "dot"
387
+ },
388
+ {
389
+ "name": "size",
390
+ "type": {
391
+ "text": "string"
392
+ },
393
+ "default": "'sm'",
394
+ "description": "Size variant.\n- 'sm': Small (default)\n- 'md': Medium\n- 'lg': Large",
395
+ "fieldName": "size",
396
+ "attribute": "size"
397
+ }
398
+ ],
399
+ "mixins": [
400
+ {
401
+ "name": "EventEmitterMixin",
402
+ "module": "/src/utils/EventEmitterMixin.js"
403
+ },
404
+ {
405
+ "name": "ReadyMixin",
406
+ "module": "/src/utils/ReadyMixin.js"
407
+ }
408
+ ],
409
+ "superclass": {
410
+ "name": "LitElement",
411
+ "package": "lit"
412
+ },
413
+ "tagName": "btu-badge",
414
+ "customElement": true
415
+ }
416
+ ],
417
+ "exports": [
418
+ {
419
+ "kind": "js",
420
+ "name": "default",
421
+ "declaration": {
422
+ "name": "Badge",
423
+ "module": "src/components/badge/Badge.ts"
424
+ }
425
+ },
426
+ {
427
+ "kind": "custom-element-definition",
428
+ "name": "btu-badge",
429
+ "declaration": {
430
+ "name": "Badge",
431
+ "module": "src/components/badge/Badge.ts"
432
+ }
433
+ }
434
+ ]
435
+ }
436
+ ]
437
+ }