@brightspot/ui 1.0.1-5 → 1.0.1-pr18.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.
- package/custom-elements.json +187 -0
- package/dist/LucideDynamicLoader.js +2 -2
- package/dist/LucideDynamicLoader.js.map +1 -1
- package/dist/LucideDynamicLoader.ts +2 -2
- package/dist/components/badge/Badge.d.ts +83 -0
- package/dist/components/badge/Badge.d.ts.map +1 -0
- package/dist/components/badge/Badge.js +121 -0
- package/dist/components/badge/Badge.js.map +1 -0
- package/dist/global.d.ts +14 -0
- package/dist/storybook/assets/Badge.stories-DEsdluIh.js +121 -0
- package/dist/storybook/assets/{Button.stories-BxwD2JsV.js → Button.stories-gjqwP9Dd.js} +1 -1
- package/dist/storybook/assets/{Color-64QXVMR3-tXPJkzyM.js → Color-64QXVMR3-zvVywvcs.js} +1 -1
- package/dist/storybook/assets/{Colors.stories-Cmp-AEM5.js → Colors.stories-BSHTes66.js} +1 -1
- package/dist/storybook/assets/{Heading.stories-C_fXiWQt.js → Heading.stories-CuxV5Ha4.js} +1 -1
- package/dist/storybook/assets/{Icon.stories-BaAKG0vC.js → Icon.stories-ECH3sQLo.js} +1 -1
- package/dist/storybook/assets/{Loader.stories-Bfft_9Qc.js → Loader.stories-C_Nt0MWZ.js} +1 -1
- package/dist/storybook/assets/{ScrollShadow.stories-FG3lcV3j.js → ScrollShadow.stories-AVqXbAPK.js} +1 -1
- package/dist/storybook/assets/{WithTooltip-SK46ZJ2J-BQsmdHUK.js → WithTooltip-SK46ZJ2J-CfHHW7CI.js} +5 -5
- package/dist/storybook/assets/formatter-OMEEQ6HG-f5NO_AKZ.js +1 -0
- package/dist/storybook/assets/iframe-ubZg9Abb.css +1 -0
- package/dist/storybook/assets/{iframe-D3S76tLX.js → iframe-zcxd989B.js} +229 -171
- package/dist/storybook/assets/{index-BywqDQuf.js → index-DCmyvMEs.js} +1 -1
- package/dist/storybook/assets/{syntaxhighlighter-CAVLW7PM-C8o3mi7K.js → syntaxhighlighter-CAVLW7PM-MI_0amTU.js} +1 -1
- package/dist/storybook/iframe.html +2 -2
- package/dist/storybook/index.json +1 -1
- package/dist/storybook/project.json +1 -1
- package/dist/tailwind-plugin-badge.js +24 -9
- package/dist/tailwind-plugin-badge.js.map +1 -1
- package/dist/tailwind-plugin-badge.ts +30 -11
- package/dist/tailwind-plugin-icon.js +2 -2
- package/dist/tailwind-plugin-icon.js.map +1 -1
- package/dist/tailwind-plugin-icon.ts +2 -2
- package/dist/utils/EventEmitterMixin.d.ts +63 -0
- package/dist/utils/EventEmitterMixin.d.ts.map +1 -0
- package/dist/utils/EventEmitterMixin.js +74 -0
- package/dist/utils/EventEmitterMixin.js.map +1 -0
- package/package.json +30 -6
- package/dist/storybook/assets/Badge.stories-BUWscv-N.js +0 -43
- package/dist/storybook/assets/formatter-OMEEQ6HG-VMKmNmlI.js +0 -1
- package/dist/storybook/assets/iframe-F_do0w2Z.css +0 -1
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "1.0.0",
|
|
3
|
+
"readme": "",
|
|
4
|
+
"modules": [
|
|
5
|
+
{
|
|
6
|
+
"kind": "javascript-module",
|
|
7
|
+
"path": "src/components/badge/Badge.ts",
|
|
8
|
+
"declarations": [
|
|
9
|
+
{
|
|
10
|
+
"kind": "class",
|
|
11
|
+
"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.",
|
|
12
|
+
"name": "Badge",
|
|
13
|
+
"cssProperties": [
|
|
14
|
+
{
|
|
15
|
+
"description": "Text color (overrides theme color)",
|
|
16
|
+
"name": "--badge-color-foreground"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"description": "Background color (overrides theme color)",
|
|
20
|
+
"name": "--badge-color-background"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"description": "Border radius size (overrides shape default, default: 999px)",
|
|
24
|
+
"name": "--badge-radius-size"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"description": "Horizontal padding (overrides size default)",
|
|
28
|
+
"name": "--badge-pad-x"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"description": "Vertical padding (overrides size default)",
|
|
32
|
+
"name": "--badge-pad-y"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"description": "Size of the dot affordance (default: 6px)",
|
|
36
|
+
"name": "--badge-dot-size"
|
|
37
|
+
}
|
|
38
|
+
],
|
|
39
|
+
"members": [
|
|
40
|
+
{
|
|
41
|
+
"kind": "field",
|
|
42
|
+
"name": "variant",
|
|
43
|
+
"type": {
|
|
44
|
+
"text": "'info' | 'primary' | 'error' | 'success' | 'warning'"
|
|
45
|
+
},
|
|
46
|
+
"default": "'info'",
|
|
47
|
+
"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",
|
|
48
|
+
"attribute": "variant"
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"kind": "field",
|
|
52
|
+
"name": "dot",
|
|
53
|
+
"type": {
|
|
54
|
+
"text": "boolean"
|
|
55
|
+
},
|
|
56
|
+
"default": "false",
|
|
57
|
+
"description": "Should a dot be displayed before the label?",
|
|
58
|
+
"attribute": "dot"
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"kind": "field",
|
|
62
|
+
"name": "size",
|
|
63
|
+
"type": {
|
|
64
|
+
"text": "string"
|
|
65
|
+
},
|
|
66
|
+
"default": "'sm'",
|
|
67
|
+
"description": "Size variant.\n- 'sm': Small (default)\n- 'md': Medium\n- 'lg': Large",
|
|
68
|
+
"attribute": "size"
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"kind": "field",
|
|
72
|
+
"name": "shape",
|
|
73
|
+
"type": {
|
|
74
|
+
"text": "'pill' | 'rect'"
|
|
75
|
+
},
|
|
76
|
+
"default": "'pill'",
|
|
77
|
+
"description": "The shape of the badge.\n- 'pill': Pill shape (default)\n- 'rect': Rectangle shape",
|
|
78
|
+
"attribute": "shape"
|
|
79
|
+
}
|
|
80
|
+
],
|
|
81
|
+
"events": [
|
|
82
|
+
{
|
|
83
|
+
"type": {
|
|
84
|
+
"text": "CustomEvent"
|
|
85
|
+
},
|
|
86
|
+
"description": "Inherited from EventEmitterMixin, fired when element connects to DOM",
|
|
87
|
+
"name": "btu-brightspot-element-connected"
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"type": {
|
|
91
|
+
"text": "CustomEvent"
|
|
92
|
+
},
|
|
93
|
+
"description": "Inherited from EventEmitterMixin, fired when element disconnects from DOM",
|
|
94
|
+
"name": "btu-brightspot-element-disconnected"
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
"type": {
|
|
98
|
+
"text": "CustomEvent<{error: Error}>"
|
|
99
|
+
},
|
|
100
|
+
"description": "Inherited from EventEmitterMixin, fired on connection error",
|
|
101
|
+
"name": "btu-brightspot-element-error"
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"type": {
|
|
105
|
+
"text": "CustomEvent"
|
|
106
|
+
},
|
|
107
|
+
"description": "Fired after first render and initialization",
|
|
108
|
+
"name": "btu-badge-ready"
|
|
109
|
+
}
|
|
110
|
+
],
|
|
111
|
+
"attributes": [
|
|
112
|
+
{
|
|
113
|
+
"name": "variant",
|
|
114
|
+
"type": {
|
|
115
|
+
"text": "'info' | 'primary' | 'error' | 'success' | 'warning'"
|
|
116
|
+
},
|
|
117
|
+
"default": "'info'",
|
|
118
|
+
"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",
|
|
119
|
+
"fieldName": "variant",
|
|
120
|
+
"attribute": "variant"
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
"name": "dot",
|
|
124
|
+
"type": {
|
|
125
|
+
"text": "boolean"
|
|
126
|
+
},
|
|
127
|
+
"default": "false",
|
|
128
|
+
"description": "Should a dot be displayed before the label?",
|
|
129
|
+
"fieldName": "dot",
|
|
130
|
+
"attribute": "dot"
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
"name": "size",
|
|
134
|
+
"type": {
|
|
135
|
+
"text": "string"
|
|
136
|
+
},
|
|
137
|
+
"default": "'sm'",
|
|
138
|
+
"description": "Size variant.\n- 'sm': Small (default)\n- 'md': Medium\n- 'lg': Large",
|
|
139
|
+
"fieldName": "size",
|
|
140
|
+
"attribute": "size"
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
"name": "shape",
|
|
144
|
+
"type": {
|
|
145
|
+
"text": "'pill' | 'rect'"
|
|
146
|
+
},
|
|
147
|
+
"default": "'pill'",
|
|
148
|
+
"description": "The shape of the badge.\n- 'pill': Pill shape (default)\n- 'rect': Rectangle shape",
|
|
149
|
+
"fieldName": "shape",
|
|
150
|
+
"attribute": "shape"
|
|
151
|
+
}
|
|
152
|
+
],
|
|
153
|
+
"mixins": [
|
|
154
|
+
{
|
|
155
|
+
"name": "EventEmitterMixin",
|
|
156
|
+
"module": "/src/utils/EventEmitterMixin.js"
|
|
157
|
+
}
|
|
158
|
+
],
|
|
159
|
+
"superclass": {
|
|
160
|
+
"name": "LitElement",
|
|
161
|
+
"package": "lit"
|
|
162
|
+
},
|
|
163
|
+
"tagName": "btu-badge",
|
|
164
|
+
"customElement": true
|
|
165
|
+
}
|
|
166
|
+
],
|
|
167
|
+
"exports": [
|
|
168
|
+
{
|
|
169
|
+
"kind": "js",
|
|
170
|
+
"name": "default",
|
|
171
|
+
"declaration": {
|
|
172
|
+
"name": "Badge",
|
|
173
|
+
"module": "src/components/badge/Badge.ts"
|
|
174
|
+
}
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
"kind": "custom-element-definition",
|
|
178
|
+
"name": "btu-badge",
|
|
179
|
+
"declaration": {
|
|
180
|
+
"name": "Badge",
|
|
181
|
+
"module": "src/components/badge/Badge.ts"
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
]
|
|
185
|
+
}
|
|
186
|
+
]
|
|
187
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as LucideIcons from 'lucide-static';
|
|
2
2
|
import icons from 'lucide-static/font/info.json' with { type: 'json' };
|
|
3
|
-
import { kebabToPascal } from '
|
|
4
|
-
import { addNameSpaceXML, encodeSVG } from '
|
|
3
|
+
import { kebabToPascal } from './util/string.js';
|
|
4
|
+
import { addNameSpaceXML, encodeSVG } from './util/svg.js';
|
|
5
5
|
export function getIcon(iconName) {
|
|
6
6
|
try {
|
|
7
7
|
const kebabName = iconName.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LucideDynamicLoader.js","sourceRoot":"","sources":["../src/LucideDynamicLoader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,MAAM,8BAA8B,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"LucideDynamicLoader.js","sourceRoot":"","sources":["../src/LucideDynamicLoader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,MAAM,8BAA8B,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAE1D,MAAM,UAAU,OAAO,CAAC,QAAgB;IACtC,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE,CAAA;QAC5E,MAAM,UAAU,GAAG,aAAa,CAAC,SAAS,CAAC,CAAA;QAE3C,IAAI,WAAW,CAAC,UAAsC,CAAC,EAAE,CAAC;YACxD,MAAM,GAAG,GAAG,WAAW,CAAC,UAAsC,CAAW,CAAA;YACzE,MAAM,UAAU,GAAG,SAAS,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAA;YAElD,OAAO;gBACL,MAAM,EAAE,KAAK,CAAC,SAA+B,CAAC,EAAE,WAAW,IAAI,EAAE;gBACjE,OAAO,EAAE,UAAU;aACpB,CAAA;QACH,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,CAAC,CAAC,CAAA;IAC5D,CAAC;AACH,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as LucideIcons from 'lucide-static'
|
|
2
2
|
import icons from 'lucide-static/font/info.json' with { type: 'json' }
|
|
3
|
-
import { kebabToPascal } from '
|
|
4
|
-
import { addNameSpaceXML, encodeSVG } from '
|
|
3
|
+
import { kebabToPascal } from './util/string.js'
|
|
4
|
+
import { addNameSpaceXML, encodeSVG } from './util/svg.js'
|
|
5
5
|
|
|
6
6
|
export function getIcon(iconName: string) {
|
|
7
7
|
try {
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
|
+
export interface BadgeProps {
|
|
3
|
+
variant?: 'info' | 'primary' | 'error' | 'success' | 'warning';
|
|
4
|
+
dot?: boolean;
|
|
5
|
+
size?: 'sm' | 'md' | 'lg';
|
|
6
|
+
shape?: 'pill' | 'rect';
|
|
7
|
+
}
|
|
8
|
+
declare const Badge_base: (new (...args: any[]) => import("../../utils/EventEmitterMixin.js").EventEmitterMixinInterface) & typeof LitElement;
|
|
9
|
+
/**
|
|
10
|
+
* A badge component for highlighting important information.
|
|
11
|
+
*
|
|
12
|
+
* Badges help highlight notifications, status, or new messages.
|
|
13
|
+
* Primarily used for communicating secondary or additional information.
|
|
14
|
+
*
|
|
15
|
+
* @element btu-badge
|
|
16
|
+
*
|
|
17
|
+
* @fires {CustomEvent} btu-brightspot-element-connected - Inherited from EventEmitterMixin, fired when element connects to DOM
|
|
18
|
+
* @fires {CustomEvent} btu-brightspot-element-disconnected - Inherited from EventEmitterMixin, fired when element disconnects from DOM
|
|
19
|
+
* @fires {CustomEvent<{error: Error}>} btu-brightspot-element-error - Inherited from EventEmitterMixin, fired on connection error
|
|
20
|
+
* @fires {CustomEvent} btu-badge-ready - Fired after first render and initialization
|
|
21
|
+
*
|
|
22
|
+
* @cssprop --badge-color-foreground - Text color (overrides theme color)
|
|
23
|
+
* @cssprop --badge-color-background - Background color (overrides theme color)
|
|
24
|
+
* @cssprop --badge-radius-size - Border radius size (overrides shape default, default: 999px)
|
|
25
|
+
* @cssprop --badge-pad-x - Horizontal padding (overrides size default)
|
|
26
|
+
* @cssprop --badge-pad-y - Vertical padding (overrides size default)
|
|
27
|
+
* @cssprop --badge-dot-size - Size of the dot affordance (default: 6px)
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ```html
|
|
31
|
+
* <!-- Badge with dot -->
|
|
32
|
+
* <btu-badge variant="info" size="sm" dot>New</btu-badge>
|
|
33
|
+
*
|
|
34
|
+
* <!-- Badge with icon -->
|
|
35
|
+
* <btu-badge variant="success" size="md">
|
|
36
|
+
* <btu-icon symbol="check"></btu-icon>
|
|
37
|
+
* Success
|
|
38
|
+
* </btu-badge>
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
41
|
+
export default class Badge extends Badge_base {
|
|
42
|
+
/**
|
|
43
|
+
* Style of the badge.
|
|
44
|
+
* - 'info': Informational (default)
|
|
45
|
+
* - 'primary': Primary action or emphasis
|
|
46
|
+
* - 'error': Error or danger state
|
|
47
|
+
* - 'success': Success or completion state
|
|
48
|
+
* - 'warning': Warning or caution state
|
|
49
|
+
* @attr
|
|
50
|
+
*/
|
|
51
|
+
variant: 'info' | 'primary' | 'error' | 'success' | 'warning';
|
|
52
|
+
/**
|
|
53
|
+
* Should a dot be displayed before the label?
|
|
54
|
+
* @attr
|
|
55
|
+
*/
|
|
56
|
+
dot: boolean;
|
|
57
|
+
/**
|
|
58
|
+
* Size variant.
|
|
59
|
+
* - 'sm': Small (default)
|
|
60
|
+
* - 'md': Medium
|
|
61
|
+
* - 'lg': Large
|
|
62
|
+
* @attr
|
|
63
|
+
*/
|
|
64
|
+
size: string;
|
|
65
|
+
/**
|
|
66
|
+
* The shape of the badge.
|
|
67
|
+
* - 'pill': Pill shape (default)
|
|
68
|
+
* - 'rect': Rectangle shape
|
|
69
|
+
* @attr
|
|
70
|
+
*/
|
|
71
|
+
shape: 'pill' | 'rect';
|
|
72
|
+
createRenderRoot(): this;
|
|
73
|
+
willUpdate(): void;
|
|
74
|
+
firstUpdated(): void;
|
|
75
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
76
|
+
}
|
|
77
|
+
declare global {
|
|
78
|
+
interface HTMLElementTagNameMap {
|
|
79
|
+
'btu-badge': Badge;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
export {};
|
|
83
|
+
//# sourceMappingURL=Badge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Badge.d.ts","sourceRoot":"","sources":["../../../src/components/badge/Badge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAQ,MAAM,KAAK,CAAA;AAItC,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAAA;IAC9D,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;IACzB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CACxB;;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,UAA6B;IAC9D;;;;;;;;OAQG;IAEH,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAAS;IAEtE;;;OAGG;IAEH,GAAG,UAAQ;IAEX;;;;;;OAMG;IAEH,IAAI,SAAO;IAEX;;;;;OAKG;IAEH,KAAK,EAAE,MAAM,GAAG,MAAM,CAAS;IAE/B,gBAAgB;IAIhB,UAAU,IAAI,IAAI;IAqBlB,YAAY,IAAI,IAAI;IAIpB,MAAM;CAGP;AAQD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,WAAW,EAAE,KAAK,CAAA;KACnB;CACF"}
|
|
@@ -0,0 +1,121 @@
|
|
|
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
|
+
/**
|
|
11
|
+
* A badge component for highlighting important information.
|
|
12
|
+
*
|
|
13
|
+
* Badges help highlight notifications, status, or new messages.
|
|
14
|
+
* Primarily used for communicating secondary or additional information.
|
|
15
|
+
*
|
|
16
|
+
* @element btu-badge
|
|
17
|
+
*
|
|
18
|
+
* @fires {CustomEvent} btu-brightspot-element-connected - Inherited from EventEmitterMixin, fired when element connects to DOM
|
|
19
|
+
* @fires {CustomEvent} btu-brightspot-element-disconnected - Inherited from EventEmitterMixin, fired when element disconnects from DOM
|
|
20
|
+
* @fires {CustomEvent<{error: Error}>} btu-brightspot-element-error - Inherited from EventEmitterMixin, fired on connection error
|
|
21
|
+
* @fires {CustomEvent} btu-badge-ready - Fired after first render and initialization
|
|
22
|
+
*
|
|
23
|
+
* @cssprop --badge-color-foreground - Text color (overrides theme color)
|
|
24
|
+
* @cssprop --badge-color-background - Background color (overrides theme color)
|
|
25
|
+
* @cssprop --badge-radius-size - Border radius size (overrides shape default, default: 999px)
|
|
26
|
+
* @cssprop --badge-pad-x - Horizontal padding (overrides size default)
|
|
27
|
+
* @cssprop --badge-pad-y - Vertical padding (overrides size default)
|
|
28
|
+
* @cssprop --badge-dot-size - Size of the dot affordance (default: 6px)
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```html
|
|
32
|
+
* <!-- Badge with dot -->
|
|
33
|
+
* <btu-badge variant="info" size="sm" dot>New</btu-badge>
|
|
34
|
+
*
|
|
35
|
+
* <!-- Badge with icon -->
|
|
36
|
+
* <btu-badge variant="success" size="md">
|
|
37
|
+
* <btu-icon symbol="check"></btu-icon>
|
|
38
|
+
* Success
|
|
39
|
+
* </btu-badge>
|
|
40
|
+
* ```
|
|
41
|
+
*/
|
|
42
|
+
export default class Badge extends EventEmitterMixin(LitElement) {
|
|
43
|
+
constructor() {
|
|
44
|
+
super(...arguments);
|
|
45
|
+
/**
|
|
46
|
+
* Style of the badge.
|
|
47
|
+
* - 'info': Informational (default)
|
|
48
|
+
* - 'primary': Primary action or emphasis
|
|
49
|
+
* - 'error': Error or danger state
|
|
50
|
+
* - 'success': Success or completion state
|
|
51
|
+
* - 'warning': Warning or caution state
|
|
52
|
+
* @attr
|
|
53
|
+
*/
|
|
54
|
+
this.variant = 'info';
|
|
55
|
+
/**
|
|
56
|
+
* Should a dot be displayed before the label?
|
|
57
|
+
* @attr
|
|
58
|
+
*/
|
|
59
|
+
this.dot = false;
|
|
60
|
+
/**
|
|
61
|
+
* Size variant.
|
|
62
|
+
* - 'sm': Small (default)
|
|
63
|
+
* - 'md': Medium
|
|
64
|
+
* - 'lg': Large
|
|
65
|
+
* @attr
|
|
66
|
+
*/
|
|
67
|
+
this.size = 'sm';
|
|
68
|
+
/**
|
|
69
|
+
* The shape of the badge.
|
|
70
|
+
* - 'pill': Pill shape (default)
|
|
71
|
+
* - 'rect': Rectangle shape
|
|
72
|
+
* @attr
|
|
73
|
+
*/
|
|
74
|
+
this.shape = 'pill';
|
|
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
|
+
'btu-badge',
|
|
90
|
+
`btu-badge-${this.size}`,
|
|
91
|
+
`btu-badge-${colorMap[this.variant]}`,
|
|
92
|
+
this.shape === 'rect' ? '[--badge-radius-size:0px]' : '',
|
|
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
|
+
__decorate([
|
|
114
|
+
property({ type: String })
|
|
115
|
+
], Badge.prototype, "shape", void 0);
|
|
116
|
+
// Register custom element with guard to prevent double registration
|
|
117
|
+
// (common with yarn link, HMR, or webpack bundle duplication)
|
|
118
|
+
if (!customElements.get('btu-badge')) {
|
|
119
|
+
customElements.define('btu-badge', Badge);
|
|
120
|
+
}
|
|
121
|
+
//# 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;AASpE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,iBAAiB,CAAC,UAAU,CAAC;IAAhE;;QACE;;;;;;;;WAQG;QAEH,YAAO,GAAyD,MAAM,CAAA;QAEtE;;;WAGG;QAEH,QAAG,GAAG,KAAK,CAAA;QAEX;;;;;;WAMG;QAEH,SAAI,GAAG,IAAI,CAAA;QAEX;;;;;WAKG;QAEH,UAAK,GAAoB,MAAM,CAAA;IAkCjC,CAAC;IAhCC,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,WAAW;YACX,aAAa,IAAI,CAAC,IAAI,EAAE;YACxB,aAAa,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YACrC,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,EAAE;YACxD,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;AA5DC;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;AASX;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;oCACI;AAoCjC,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"}
|
package/dist/global.d.ts
ADDED
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import{g as m,x as o}from"./iframe-zcxd989B.js";import"./preload-helper-PPVm8Dsz.js";const{events:g,args:u,argTypes:i}=m("btu-badge"),I=["info","primary","error","success","warning"],h={title:"Components/Badge",component:"btu-badge",tags:["autodocs"],parameters:{docs:{subtitle:"A component for highlighting important information",description:{component:`
|
|
2
|
+
<h3>When to use:</h3>
|
|
3
|
+
<ul>
|
|
4
|
+
<li>To call attention to something</li>
|
|
5
|
+
<li>For presenting status</li>
|
|
6
|
+
<li>For anything longer than a very short number</li>
|
|
7
|
+
</ul>
|
|
8
|
+
|
|
9
|
+
<h3>When not to use:</h3>
|
|
10
|
+
<ul>
|
|
11
|
+
<li>For very short numbers. Instead use a notification</li>
|
|
12
|
+
<li>For circled notifications</li>
|
|
13
|
+
</ul>
|
|
14
|
+
`}},actions:{handles:g},controls:{expanded:!0}},args:{...u,variant:"success",dot:!1,size:"sm",shape:"pill",customForegroundColor:"",customBackgroundColor:"",customRadiusSize:"",customPadX:"",customPadY:"",customDotSize:""},argTypes:{...i,"--badge-color-foreground":{table:{disable:!0}},"--badge-color-background":{table:{disable:!0}},"--badge-radius-size":{table:{disable:!0}},"--badge-pad-x":{table:{disable:!0}},"--badge-pad-y":{table:{disable:!0}},"--badge-dot-size":{table:{disable:!0}},variant:{...i.variant,control:{type:"select"},options:I},dot:{...i.dot,control:{type:"boolean"}},size:{...i.size,control:{type:"select"},options:["sm","md","lg"]},shape:{...i.shape,control:{type:"select"},options:["pill","rect"]},customBackgroundColor:{name:"--badge-color-background",control:{type:"color"},description:"Custom background color - overrides the theme color",table:{category:"CSS Properties"}},customForegroundColor:{name:"--badge-color-foreground",control:{type:"color"},description:"Custom foreground (text) color - overrides the theme color",table:{category:"CSS Properties"}},customRadiusSize:{name:"--badge-radius-size",control:{type:"text"},description:"Custom border radius size - overrides the shape default (default: 999px)",table:{category:"CSS Properties"}},customPadX:{name:"--badge-pad-x",control:{type:"text"},description:"Horizontal padding - overrides the size default",table:{category:"CSS Properties"}},customPadY:{name:"--badge-pad-y",control:{type:"text"},description:"Vertical padding - overrides the size default",table:{category:"CSS Properties"}},customDotSize:{name:"--badge-dot-size",control:{type:"text"},description:"Size of the dot affordance (default: 6px)",table:{category:"CSS Properties"}}},render:e=>{const a=[];e.customBackgroundColor&&a.push(`--badge-color-background: ${e.customBackgroundColor}`),e.customForegroundColor&&a.push(`--badge-color-foreground: ${e.customForegroundColor}`),e.customRadiusSize&&a.push(`--badge-radius-size: ${e.customRadiusSize}`),e.customPadX&&a.push(`--badge-pad-x: ${e.customPadX}`),e.customPadY&&a.push(`--badge-pad-y: ${e.customPadY}`),e.customDotSize&&a.push(`--badge-dot-size: ${e.customDotSize}`);const l=a.length>0?a.join("; "):"";return o`<btu-badge
|
|
15
|
+
variant="${e.variant}"
|
|
16
|
+
?dot="${e.dot}"
|
|
17
|
+
size="${e.size}"
|
|
18
|
+
shape="${e.shape}"
|
|
19
|
+
style="${l}"
|
|
20
|
+
>Badge</btu-badge
|
|
21
|
+
>`}},t={args:{}},r={args:{variant:"primary",size:"lg",customBackgroundColor:"#dce34d",customForegroundColor:"#a04b4b"},parameters:{docs:{description:{story:"Badge supports custom colors using the CSS custom properties that override theme colors `--badge-color-background` and `--badge-color-foreground`."}}}},s={args:{variant:"success",size:"lg"},render:e=>o`<a href="#" class="hover:text-primary inline-flex items-center gap-2 hover:underline">
|
|
22
|
+
Hover over me to see the
|
|
23
|
+
<btu-badge variant="${e.variant}" size="${e.size}">Linked Badge</btu-badge>
|
|
24
|
+
in action.
|
|
25
|
+
</a>`,parameters:{docs:{description:{story:"Badges inside anchor elements automatically handle underlines properly. The underline uses the badge background color instead of the default link color, ensuring proper visual hierarchy when badges are used within linked elements."}}}},n={render:()=>o`<div class="flex items-center gap-4">
|
|
26
|
+
<btu-badge variant="primary" size="md" shape="pill">Pill</btu-badge>
|
|
27
|
+
<btu-badge variant="success" size="md" shape="rect">Rectangle</btu-badge>
|
|
28
|
+
</div>`,parameters:{docs:{description:{story:"Badges support two shape variants: pill (default with rounded ends) and rect (rectangle with square corners). A circle shape can be accomplished by using pill and setting equal width and height via custom CSS properties, but you should probably be using a notification component instead."}}}},c={args:{variant:"warning",size:"md",dot:!1},render:e=>o`<btu-badge variant="${e.variant}" size="${e.size}">
|
|
29
|
+
<div aria-label="warning icon" class="before:btu-icon before:btu-icon-md before:btu-icon-triangle-alert"></div>
|
|
30
|
+
Warning
|
|
31
|
+
</btu-badge>`,parameters:{docs:{description:{story:"Badges can have other children besides text. Place an icon element inside the badge along with your label text. The icon will automatically be placed to fit within the badge layout. Icons should always be placed before the label text."}}}},d={args:{variant:"primary",size:"md",dot:!1},render:e=>o`<btu-badge variant="${e.variant}" size="${e.size}">
|
|
32
|
+
<div
|
|
33
|
+
class="-ms-[--badge-pad-x] aspect-square w-[20px] bg-cover bg-center bg-no-repeat [clipPath:circle(50%_at_center)]"
|
|
34
|
+
style="background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMjM1IDY1MCIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPg0KPGRlZnM+DQo8ZyBpZD0idW5pb24iPg0KPHVzZSB5PSItLjIxNiIgeGxpbms6aHJlZj0iI3g0Ii8+DQo8dXNlIHhsaW5rOmhyZWY9IiN4NCIvPg0KPHVzZSB5PSIuMjE2IiB4bGluazpocmVmPSIjczYiLz4NCjwvZz4NCjxnIGlkPSJ4NCI+DQo8dXNlIHhsaW5rOmhyZWY9IiNzNiIvPg0KPHVzZSB5PSIuMDU0IiB4bGluazpocmVmPSIjczUiLz4NCjx1c2UgeT0iLjEwOCIgeGxpbms6aHJlZj0iI3M2Ii8+DQo8dXNlIHk9Ii4xNjIiIHhsaW5rOmhyZWY9IiNzNSIvPg0KPC9nPg0KPGcgaWQ9InM1Ij4NCjx1c2UgeD0iLS4yNTIiIHhsaW5rOmhyZWY9IiNzdGFyIi8+DQo8dXNlIHg9Ii0uMTI2IiB4bGluazpocmVmPSIjc3RhciIvPg0KPHVzZSB4bGluazpocmVmPSIjc3RhciIvPg0KPHVzZSB4PSIuMTI2IiB4bGluazpocmVmPSIjc3RhciIvPg0KPHVzZSB4PSIuMjUyIiB4bGluazpocmVmPSIjc3RhciIvPg0KPC9nPg0KPGcgaWQ9InM2Ij4NCjx1c2UgeD0iLS4wNjMiIHhsaW5rOmhyZWY9IiNzNSIvPg0KPHVzZSB4PSIuMzE1IiB4bGluazpocmVmPSIjc3RhciIvPg0KPC9nPg0KPGcgaWQ9InN0YXIiPg0KPHVzZSB4bGluazpocmVmPSIjcHQiIHRyYW5zZm9ybT0ibWF0cml4KC0uODA5MDIgLS41ODc3OSAuNTg3NzkgLS44MDkwMiAwIDApIi8+DQo8dXNlIHhsaW5rOmhyZWY9IiNwdCIgdHJhbnNmb3JtPSJtYXRyaXgoLjMwOTAyIC0uOTUxMDYgLjk1MTA2IC4zMDkwMiAwIDApIi8+DQo8dXNlIHhsaW5rOmhyZWY9IiNwdCIvPg0KPHVzZSB4bGluazpocmVmPSIjcHQiIHRyYW5zZm9ybT0icm90YXRlKDcyKSIvPg0KPHVzZSB4bGluazpocmVmPSIjcHQiIHRyYW5zZm9ybT0icm90YXRlKDE0NCkiLz4NCjwvZz4NCjxwYXRoIGZpbGw9IiNmZmYiIGlkPSJwdCIgZD0iTS0uMTYyNSwwIDAtLjUgLjE2MjUsMHoiIHRyYW5zZm9ybT0ic2NhbGUoLjA2MTYpIi8+DQo8cGF0aCBmaWxsPSIjYmYwYTMwIiBpZD0ic3RyaXBlIiBkPSJtMCwwaDEyMzV2NTBoLTEyMzV6Ii8+DQo8L2RlZnM+DQo8cGF0aCBmaWxsPSIjZmZmIiBkPSJtMCwwaDEyMzV2NjUwaC0xMjM1eiIvPg0KPHVzZSB4bGluazpocmVmPSIjc3RyaXBlIi8+DQo8dXNlIHk9IjEwMCIgeGxpbms6aHJlZj0iI3N0cmlwZSIvPg0KPHVzZSB5PSIyMDAiIHhsaW5rOmhyZWY9IiNzdHJpcGUiLz4NCjx1c2UgeT0iMzAwIiB4bGluazpocmVmPSIjc3RyaXBlIi8+DQo8dXNlIHk9IjQwMCIgeGxpbms6aHJlZj0iI3N0cmlwZSIvPg0KPHVzZSB5PSI1MDAiIHhsaW5rOmhyZWY9IiNzdHJpcGUiLz4NCjx1c2UgeT0iNjAwIiB4bGluazpocmVmPSIjc3RyaXBlIi8+DQo8cGF0aCBmaWxsPSIjMDAyODY4IiBkPSJtMCwwaDQ5NHYzNTBoLTQ5NHoiLz4NCjx1c2UgeGxpbms6aHJlZj0iI3VuaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCg2NTAgMCAwIDY1MCAyNDcgMTc1KSIvPg0KPC9zdmc+DQo=')"
|
|
35
|
+
aria-label="Flag"
|
|
36
|
+
></div>
|
|
37
|
+
United States
|
|
38
|
+
</btu-badge>`,parameters:{docs:{description:{story:"Badges can include images like avatars or flags. This example shows a flag icon rendered as a background image on a div element alongside label text."}}}};t.parameters={...t.parameters,docs:{...t.parameters?.docs,source:{originalSource:`{
|
|
39
|
+
args: {}
|
|
40
|
+
}`,...t.parameters?.docs?.source}}};r.parameters={...r.parameters,docs:{...r.parameters?.docs,source:{originalSource:`{
|
|
41
|
+
args: {
|
|
42
|
+
variant: 'primary',
|
|
43
|
+
size: 'lg',
|
|
44
|
+
customBackgroundColor: '#dce34d',
|
|
45
|
+
customForegroundColor: '#a04b4b'
|
|
46
|
+
},
|
|
47
|
+
parameters: {
|
|
48
|
+
docs: {
|
|
49
|
+
description: {
|
|
50
|
+
story: \`Badge supports custom colors using the CSS custom properties that override theme colors \\\`--badge-color-background\\\` and \\\`--badge-color-foreground\\\`.\`
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}`,...r.parameters?.docs?.source}}};s.parameters={...s.parameters,docs:{...s.parameters?.docs,source:{originalSource:`{
|
|
55
|
+
args: {
|
|
56
|
+
variant: 'success',
|
|
57
|
+
size: 'lg'
|
|
58
|
+
},
|
|
59
|
+
render: args => html\`<a href="#" class="hover:text-primary inline-flex items-center gap-2 hover:underline">
|
|
60
|
+
Hover over me to see the
|
|
61
|
+
<btu-badge variant="\${args.variant}" size="\${args.size}">Linked Badge</btu-badge>
|
|
62
|
+
in action.
|
|
63
|
+
</a>\`,
|
|
64
|
+
parameters: {
|
|
65
|
+
docs: {
|
|
66
|
+
description: {
|
|
67
|
+
story: \`Badges inside anchor elements automatically handle underlines properly. The underline uses the badge background color instead of the default link color, ensuring proper visual hierarchy when badges are used within linked elements.\`
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}`,...s.parameters?.docs?.source}}};n.parameters={...n.parameters,docs:{...n.parameters?.docs,source:{originalSource:`{
|
|
72
|
+
render: () => html\`<div class="flex items-center gap-4">
|
|
73
|
+
<btu-badge variant="primary" size="md" shape="pill">Pill</btu-badge>
|
|
74
|
+
<btu-badge variant="success" size="md" shape="rect">Rectangle</btu-badge>
|
|
75
|
+
</div>\`,
|
|
76
|
+
parameters: {
|
|
77
|
+
docs: {
|
|
78
|
+
description: {
|
|
79
|
+
story: \`Badges support two shape variants: pill (default with rounded ends) and rect (rectangle with square corners). A circle shape can be accomplished by using pill and setting equal width and height via custom CSS properties, but you should probably be using a notification component instead.\`
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}`,...n.parameters?.docs?.source}}};c.parameters={...c.parameters,docs:{...c.parameters?.docs,source:{originalSource:`{
|
|
84
|
+
args: {
|
|
85
|
+
variant: 'warning',
|
|
86
|
+
size: 'md',
|
|
87
|
+
dot: false
|
|
88
|
+
},
|
|
89
|
+
render: args => html\`<btu-badge variant="\${args.variant}" size="\${args.size}">
|
|
90
|
+
<div aria-label="warning icon" class="before:btu-icon before:btu-icon-md before:btu-icon-triangle-alert"></div>
|
|
91
|
+
Warning
|
|
92
|
+
</btu-badge>\`,
|
|
93
|
+
parameters: {
|
|
94
|
+
docs: {
|
|
95
|
+
description: {
|
|
96
|
+
story: \`Badges can have other children besides text. Place an icon element inside the badge along with your label text. The icon will automatically be placed to fit within the badge layout. Icons should always be placed before the label text.\`
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}`,...c.parameters?.docs?.source}}};d.parameters={...d.parameters,docs:{...d.parameters?.docs,source:{originalSource:`{
|
|
101
|
+
args: {
|
|
102
|
+
variant: 'primary',
|
|
103
|
+
size: 'md',
|
|
104
|
+
dot: false
|
|
105
|
+
},
|
|
106
|
+
render: args => html\`<btu-badge variant="\${args.variant}" size="\${args.size}">
|
|
107
|
+
<div
|
|
108
|
+
class="-ms-[--badge-pad-x] aspect-square w-[20px] bg-cover bg-center bg-no-repeat [clipPath:circle(50%_at_center)]"
|
|
109
|
+
style="background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMjM1IDY1MCIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPg0KPGRlZnM+DQo8ZyBpZD0idW5pb24iPg0KPHVzZSB5PSItLjIxNiIgeGxpbms6aHJlZj0iI3g0Ii8+DQo8dXNlIHhsaW5rOmhyZWY9IiN4NCIvPg0KPHVzZSB5PSIuMjE2IiB4bGluazpocmVmPSIjczYiLz4NCjwvZz4NCjxnIGlkPSJ4NCI+DQo8dXNlIHhsaW5rOmhyZWY9IiNzNiIvPg0KPHVzZSB5PSIuMDU0IiB4bGluazpocmVmPSIjczUiLz4NCjx1c2UgeT0iLjEwOCIgeGxpbms6aHJlZj0iI3M2Ii8+DQo8dXNlIHk9Ii4xNjIiIHhsaW5rOmhyZWY9IiNzNSIvPg0KPC9nPg0KPGcgaWQ9InM1Ij4NCjx1c2UgeD0iLS4yNTIiIHhsaW5rOmhyZWY9IiNzdGFyIi8+DQo8dXNlIHg9Ii0uMTI2IiB4bGluazpocmVmPSIjc3RhciIvPg0KPHVzZSB4bGluazpocmVmPSIjc3RhciIvPg0KPHVzZSB4PSIuMTI2IiB4bGluazpocmVmPSIjc3RhciIvPg0KPHVzZSB4PSIuMjUyIiB4bGluazpocmVmPSIjc3RhciIvPg0KPC9nPg0KPGcgaWQ9InM2Ij4NCjx1c2UgeD0iLS4wNjMiIHhsaW5rOmhyZWY9IiNzNSIvPg0KPHVzZSB4PSIuMzE1IiB4bGluazpocmVmPSIjc3RhciIvPg0KPC9nPg0KPGcgaWQ9InN0YXIiPg0KPHVzZSB4bGluazpocmVmPSIjcHQiIHRyYW5zZm9ybT0ibWF0cml4KC0uODA5MDIgLS41ODc3OSAuNTg3NzkgLS44MDkwMiAwIDApIi8+DQo8dXNlIHhsaW5rOmhyZWY9IiNwdCIgdHJhbnNmb3JtPSJtYXRyaXgoLjMwOTAyIC0uOTUxMDYgLjk1MTA2IC4zMDkwMiAwIDApIi8+DQo8dXNlIHhsaW5rOmhyZWY9IiNwdCIvPg0KPHVzZSB4bGluazpocmVmPSIjcHQiIHRyYW5zZm9ybT0icm90YXRlKDcyKSIvPg0KPHVzZSB4bGluazpocmVmPSIjcHQiIHRyYW5zZm9ybT0icm90YXRlKDE0NCkiLz4NCjwvZz4NCjxwYXRoIGZpbGw9IiNmZmYiIGlkPSJwdCIgZD0iTS0uMTYyNSwwIDAtLjUgLjE2MjUsMHoiIHRyYW5zZm9ybT0ic2NhbGUoLjA2MTYpIi8+DQo8cGF0aCBmaWxsPSIjYmYwYTMwIiBpZD0ic3RyaXBlIiBkPSJtMCwwaDEyMzV2NTBoLTEyMzV6Ii8+DQo8L2RlZnM+DQo8cGF0aCBmaWxsPSIjZmZmIiBkPSJtMCwwaDEyMzV2NjUwaC0xMjM1eiIvPg0KPHVzZSB4bGluazpocmVmPSIjc3RyaXBlIi8+DQo8dXNlIHk9IjEwMCIgeGxpbms6aHJlZj0iI3N0cmlwZSIvPg0KPHVzZSB5PSIyMDAiIHhsaW5rOmhyZWY9IiNzdHJpcGUiLz4NCjx1c2UgeT0iMzAwIiB4bGluazpocmVmPSIjc3RyaXBlIi8+DQo8dXNlIHk9IjQwMCIgeGxpbms6aHJlZj0iI3N0cmlwZSIvPg0KPHVzZSB5PSI1MDAiIHhsaW5rOmhyZWY9IiNzdHJpcGUiLz4NCjx1c2UgeT0iNjAwIiB4bGluazpocmVmPSIjc3RyaXBlIi8+DQo8cGF0aCBmaWxsPSIjMDAyODY4IiBkPSJtMCwwaDQ5NHYzNTBoLTQ5NHoiLz4NCjx1c2UgeGxpbms6aHJlZj0iI3VuaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCg2NTAgMCAwIDY1MCAyNDcgMTc1KSIvPg0KPC9zdmc+DQo=')"
|
|
110
|
+
aria-label="Flag"
|
|
111
|
+
></div>
|
|
112
|
+
United States
|
|
113
|
+
</btu-badge>\`,
|
|
114
|
+
parameters: {
|
|
115
|
+
docs: {
|
|
116
|
+
description: {
|
|
117
|
+
story: \`Badges can include images like avatars or flags. This example shows a flag icon rendered as a background image on a div element alongside label text.\`
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}`,...d.parameters?.docs?.source}}};const z=["Default","CustomColors","InsideAnchor","DifferentShapes","WithIcon","WithImage"];export{r as CustomColors,t as Default,n as DifferentShapes,s as InsideAnchor,c as WithIcon,d as WithImage,z as __namedExportsOrder,h as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{x as v}from"./iframe-
|
|
1
|
+
import{x as v}from"./iframe-zcxd989B.js";import"./preload-helper-PPVm8Dsz.js";const I=({color:r="primary",pressed:a,fill:i,contained:c,outlined:l,size:d="sm",label:u,icon:b,hideText:p,disabled:m})=>{const g=i?"":"btu-button-fill-none",y=c?"":"btu-button-container-none",h=l?"btu-button-outline":"",f=p?"btu-button-text-hidden":"",x=b?["before:btu-icon","before:btu-icon-smile"]:[];return v`
|
|
2
2
|
<button
|
|
3
3
|
type="button"
|
|
4
4
|
class=${["btu-button",`btu-button-${r}`,`btu-button-${d}`,g,y,h,f,...x].join(" ")}
|