@brightspot/ui 1.0.1-5 → 1.0.1-6
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/LucideDynamicLoader.js +2 -2
- package/dist/LucideDynamicLoader.js.map +1 -1
- package/dist/LucideDynamicLoader.ts +2 -2
- package/dist/components/badge/Badge.d.ts +75 -0
- package/dist/components/badge/Badge.d.ts.map +1 -0
- package/dist/components/badge/Badge.js +118 -0
- package/dist/components/badge/Badge.js.map +1 -0
- package/dist/custom-elements.json +150 -0
- package/dist/global.d.ts +14 -0
- package/dist/storybook/assets/Badge.stories-IDiQBqoG.js +134 -0
- package/dist/storybook/assets/{Button.stories-BxwD2JsV.js → Button.stories-BJ7xYoAn.js} +1 -1
- package/dist/storybook/assets/{Color-64QXVMR3-tXPJkzyM.js → Color-64QXVMR3-C99RDtm5.js} +1 -1
- package/dist/storybook/assets/{Colors.stories-Cmp-AEM5.js → Colors.stories-DHX3REQM.js} +1 -1
- package/dist/storybook/assets/Events.stories-D5Qewoi1.js +108 -0
- package/dist/storybook/assets/{Heading.stories-C_fXiWQt.js → Heading.stories-DvZpV-7f.js} +1 -1
- package/dist/storybook/assets/{Icon.stories-BaAKG0vC.js → Icon.stories-B84kg3ID.js} +1 -1
- package/dist/storybook/assets/{Loader.stories-Bfft_9Qc.js → Loader.stories-p7KYzS21.js} +1 -1
- package/dist/storybook/assets/ReadyMixin.stories-DavcxbQ0.js +55 -0
- package/dist/storybook/assets/{ScrollShadow.stories-FG3lcV3j.js → ScrollShadow.stories-7cskWb6D.js} +1 -1
- package/dist/storybook/assets/{WithTooltip-SK46ZJ2J-BQsmdHUK.js → WithTooltip-SK46ZJ2J-DKh-Y05I.js} +5 -5
- package/dist/storybook/assets/formatter-OMEEQ6HG-20tmez3v.js +1 -0
- package/dist/storybook/assets/iframe-9mlxmT2J.css +1 -0
- package/dist/storybook/assets/{iframe-D3S76tLX.js → iframe-DEAT_PRS.js} +225 -171
- package/dist/storybook/assets/{index-BywqDQuf.js → index-BGllmwBL.js} +1 -1
- package/dist/storybook/assets/{syntaxhighlighter-CAVLW7PM-C8o3mi7K.js → syntaxhighlighter-CAVLW7PM-B9DN7qXL.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 +53 -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/dist/utils/ReadyMixin.d.ts +31 -0
- package/dist/utils/ReadyMixin.d.ts.map +1 -0
- package/dist/utils/ReadyMixin.js +42 -0
- package/dist/utils/ReadyMixin.js.map +1 -0
- package/package.json +29 -5
- 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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tailwind-plugin-badge.js","sourceRoot":"","sources":["../src/tailwind-plugin-badge.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAA;AA4BvC,MAAM,SAAS,GAAG,YAAY,CAAA;AAE9B,MAAM,CAAC,OAAO,GAAG,MAAM,CACrB,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,EAAE,cAAc,EAAE;
|
|
1
|
+
{"version":3,"file":"tailwind-plugin-badge.js","sourceRoot":"","sources":["../src/tailwind-plugin-badge.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,15 +21,15 @@ declare let module: any
|
|
|
21
21
|
|
|
22
22
|
type Size = {
|
|
23
23
|
fontSize: 'xs' | 'sm'
|
|
24
|
-
paddingTop: string
|
|
25
|
-
paddingRight: string
|
|
26
24
|
minWidth: string
|
|
25
|
+
px: string
|
|
26
|
+
py: string
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
const className = '.btu-badge'
|
|
30
30
|
|
|
31
31
|
module.exports = plugin(
|
|
32
|
-
function ({ addComponents, theme, e, matchUtilities }) {
|
|
32
|
+
function ({ addComponents, theme, e, matchUtilities, addUtilities }) {
|
|
33
33
|
const sizes = theme('badgeSize')
|
|
34
34
|
const colors: [CSSRuleObject] = theme('colors')
|
|
35
35
|
const fontSizes: Record<string, CSSRuleObject> = theme('fontSize')
|
|
@@ -54,6 +54,23 @@ module.exports = plugin(
|
|
|
54
54
|
{ values: theme('colors'), type: ['color', 'any'] },
|
|
55
55
|
)
|
|
56
56
|
|
|
57
|
+
addUtilities(
|
|
58
|
+
{
|
|
59
|
+
'.btu-badge-dot': {
|
|
60
|
+
'--badge-dot-size': '6px',
|
|
61
|
+
'&::before': {
|
|
62
|
+
content: "''",
|
|
63
|
+
display: 'inline-block',
|
|
64
|
+
width: 'var(--badge-dot-size)',
|
|
65
|
+
height: 'var(--badge-dot-size)',
|
|
66
|
+
backgroundColor: 'currentColor',
|
|
67
|
+
clipPath: 'circle(50% at center)',
|
|
68
|
+
},
|
|
69
|
+
},
|
|
70
|
+
},
|
|
71
|
+
{},
|
|
72
|
+
)
|
|
73
|
+
|
|
57
74
|
if (colors) {
|
|
58
75
|
const badgeColors: CSSRuleObject[] = []
|
|
59
76
|
for (const key in colors) {
|
|
@@ -76,7 +93,7 @@ module.exports = plugin(
|
|
|
76
93
|
const badgeSizes: CSSRuleObject[] = []
|
|
77
94
|
const fontSizeStyles = {
|
|
78
95
|
display: 'inline-block',
|
|
79
|
-
borderRadius: '
|
|
96
|
+
borderRadius: 'var(--badge-radius-size, 999px)',
|
|
80
97
|
}
|
|
81
98
|
|
|
82
99
|
for (const key in sizes) {
|
|
@@ -86,12 +103,14 @@ module.exports = plugin(
|
|
|
86
103
|
if (fontSize) {
|
|
87
104
|
badgeSizes.push({
|
|
88
105
|
[`${className}-${e(key)}`]: {
|
|
106
|
+
'--badge-px': size.px,
|
|
107
|
+
'--badge-py': size.py,
|
|
89
108
|
alignItems: 'center',
|
|
90
109
|
gap: '0.38rem',
|
|
91
110
|
...fontSizeStyles,
|
|
92
111
|
fontSize: fontSize[0],
|
|
93
112
|
lineHeight: fontSize[1],
|
|
94
|
-
padding:
|
|
113
|
+
padding: `var(--badge-py) var(--badge-px)`,
|
|
95
114
|
minWidth: size.minWidth,
|
|
96
115
|
maxWidth: 'max-content',
|
|
97
116
|
display: 'inline-flex',
|
|
@@ -106,21 +125,21 @@ module.exports = plugin(
|
|
|
106
125
|
theme: {
|
|
107
126
|
badgeSize: {
|
|
108
127
|
sm: {
|
|
128
|
+
px: '0.5rem',
|
|
129
|
+
py: '.13rem',
|
|
109
130
|
fontSize: 'xs',
|
|
110
|
-
paddingTop: '.13rem',
|
|
111
|
-
paddingRight: '.5rem',
|
|
112
131
|
minWidth: '1.375rem',
|
|
113
132
|
},
|
|
114
133
|
md: {
|
|
134
|
+
px: '0.63rem',
|
|
135
|
+
py: '.13rem',
|
|
115
136
|
fontSize: 'sm',
|
|
116
|
-
paddingTop: '.13rem',
|
|
117
|
-
paddingRight: '.63rem',
|
|
118
137
|
minWidth: '1.813rem',
|
|
119
138
|
},
|
|
120
139
|
lg: {
|
|
140
|
+
px: '0.75rem',
|
|
141
|
+
py: '.25rem',
|
|
121
142
|
fontSize: 'sm',
|
|
122
|
-
paddingTop: '.25rem',
|
|
123
|
-
paddingRight: '.75rem',
|
|
124
143
|
minWidth: '1.813rem',
|
|
125
144
|
},
|
|
126
145
|
},
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as LucideExports from 'lucide-static/dist/cjs/lucide-static';
|
|
2
2
|
import icons from 'lucide-static/font/info.json' with { type: 'json' };
|
|
3
3
|
import plugin from 'tailwindcss/plugin';
|
|
4
|
-
import { pascalToKebab } from './util/string';
|
|
5
|
-
import { addNameSpaceXML, encodeSVG } from './util/svg';
|
|
4
|
+
import { pascalToKebab } from './util/string.js';
|
|
5
|
+
import { addNameSpaceXML, encodeSVG } from './util/svg.js';
|
|
6
6
|
/**
|
|
7
7
|
* Lucide Icons | https://lucide.dev/icons/
|
|
8
8
|
* Each icon is designed on a 24x24 grid with an emphasis on simplicity, consistency and readability.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tailwind-plugin-icon.js","sourceRoot":"","sources":["../src/tailwind-plugin-icon.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,aAAa,MAAM,sCAAsC,CAAA;AACrE,OAAO,KAAK,MAAM,8BAA8B,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AACtE,OAAO,MAAM,MAAM,oBAAoB,CAAA;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"tailwind-plugin-icon.js","sourceRoot":"","sources":["../src/tailwind-plugin-icon.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as LucideExports from 'lucide-static/dist/cjs/lucide-static'
|
|
2
2
|
import icons from 'lucide-static/font/info.json' with { type: 'json' }
|
|
3
3
|
import plugin from 'tailwindcss/plugin'
|
|
4
|
-
import { pascalToKebab } from './util/string'
|
|
5
|
-
import { addNameSpaceXML, encodeSVG } from './util/svg'
|
|
4
|
+
import { pascalToKebab } from './util/string.js'
|
|
5
|
+
import { addNameSpaceXML, encodeSVG } from './util/svg.js'
|
|
6
6
|
declare let module: any
|
|
7
7
|
|
|
8
8
|
/**
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
|
+
type Constructor<T = object> = new (...args: any[]) => T;
|
|
3
|
+
type UnpackCustomEvent<T> = T extends CustomEvent<infer U> ? U : never;
|
|
4
|
+
/**
|
|
5
|
+
* Map of custom events emitted by Brightspot UI components.
|
|
6
|
+
* All events use CustomEvent and bubble through the DOM with composed: true.
|
|
7
|
+
*/
|
|
8
|
+
interface CustomEventMap {
|
|
9
|
+
'btu-element-connected': CustomEvent<unknown>;
|
|
10
|
+
'btu-element-disconnected': CustomEvent<unknown>;
|
|
11
|
+
'btu-element-error': CustomEvent<{
|
|
12
|
+
error: Error;
|
|
13
|
+
}>;
|
|
14
|
+
'btu-badge-ready': CustomEvent<unknown>;
|
|
15
|
+
}
|
|
16
|
+
interface CombinedEventMap extends HTMLElementEventMap, CustomEventMap {
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Interface for components using EventEmitterMixin.
|
|
20
|
+
* Provides type-safe event emission and listener management.
|
|
21
|
+
*/
|
|
22
|
+
export declare class EventEmitterMixinInterface {
|
|
23
|
+
emit: <K extends keyof CustomEventMap>(type: K, detail?: UnpackCustomEvent<CustomEventMap[K]>) => void;
|
|
24
|
+
addEventListener<K extends keyof CombinedEventMap>(type: K, listener: (this: HTMLElement, ev: CombinedEventMap[K]) => void, options?: boolean | AddEventListenerOptions): void;
|
|
25
|
+
removeEventListener<K extends keyof CombinedEventMap>(type: K, listener: (this: HTMLElement, ev: CombinedEventMap[K]) => void, options?: boolean | EventListenerOptions): void;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Mixin that adds standardized event emission capabilities to LitElement components.
|
|
29
|
+
*
|
|
30
|
+
* Automatically emits lifecycle events when components connect/disconnect from the DOM.
|
|
31
|
+
* Provides a type-safe `emit()` method for dispatching custom events with consistent
|
|
32
|
+
* configuration (bubbles, composed, cancelable).
|
|
33
|
+
*
|
|
34
|
+
* @mixin
|
|
35
|
+
*
|
|
36
|
+
* @fires {CustomEvent} btu-element-connected - Fired when element connects to DOM
|
|
37
|
+
* @fires {CustomEvent} btu-element-disconnected - Fired when element disconnects from DOM
|
|
38
|
+
* @fires {CustomEvent<{error: Error}>} btu-element-error - Fired on connection error
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* ```typescript
|
|
42
|
+
* import { EventEmitterMixin } from './EventEmitterMixin'
|
|
43
|
+
*
|
|
44
|
+
* class MyComponent extends EventEmitterMixin(LitElement) {
|
|
45
|
+
* handleClick() {
|
|
46
|
+
* this.emit('my-custom-event', { data: 'value' })
|
|
47
|
+
* }
|
|
48
|
+
* }
|
|
49
|
+
* ```
|
|
50
|
+
*/
|
|
51
|
+
export declare const EventEmitterMixin: <T extends Constructor<LitElement>>(superClass: T) => Constructor<EventEmitterMixinInterface> & T;
|
|
52
|
+
export {};
|
|
53
|
+
//# sourceMappingURL=EventEmitterMixin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EventEmitterMixin.d.ts","sourceRoot":"","sources":["../../src/utils/EventEmitterMixin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAEhC,KAAK,WAAW,CAAC,CAAC,GAAG,MAAM,IAAI,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;AACxD,KAAK,iBAAiB,CAAC,CAAC,IAAI,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;AAEtE;;;GAGG;AACH,UAAU,cAAc;IACtB,uBAAuB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;IAC7C,0BAA0B,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;IAChD,mBAAmB,EAAE,WAAW,CAAC;QAAE,KAAK,EAAE,KAAK,CAAA;KAAE,CAAC,CAAA;IAClD,iBAAiB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;CACxC;AAED,UAAU,gBAAiB,SAAQ,mBAAmB,EAAE,cAAc;CAAG;AAEzE;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,0BAA0B;IAC7C,IAAI,EAAE,CAAC,CAAC,SAAS,MAAM,cAAc,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,iBAAiB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAA;IACtG,gBAAgB,CAAC,CAAC,SAAS,MAAM,gBAAgB,EAC/C,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,IAAI,EAC9D,OAAO,CAAC,EAAE,OAAO,GAAG,uBAAuB,GAC1C,IAAI;IACP,mBAAmB,CAAC,CAAC,SAAS,MAAM,gBAAgB,EAClD,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,IAAI,EAC9D,OAAO,CAAC,EAAE,OAAO,GAAG,oBAAoB,GACvC,IAAI;CACR;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,WAAW,CAAC,UAAU,CAAC,EAAE,YAAY,CAAC,KAqD/C,WAAW,CAAC,0BAA0B,CAAC,GAAG,CAC5E,CAAA"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
|
+
/**
|
|
3
|
+
* Mixin that adds standardized event emission capabilities to LitElement components.
|
|
4
|
+
*
|
|
5
|
+
* Automatically emits lifecycle events when components connect/disconnect from the DOM.
|
|
6
|
+
* Provides a type-safe `emit()` method for dispatching custom events with consistent
|
|
7
|
+
* configuration (bubbles, composed, cancelable).
|
|
8
|
+
*
|
|
9
|
+
* @mixin
|
|
10
|
+
*
|
|
11
|
+
* @fires {CustomEvent} btu-element-connected - Fired when element connects to DOM
|
|
12
|
+
* @fires {CustomEvent} btu-element-disconnected - Fired when element disconnects from DOM
|
|
13
|
+
* @fires {CustomEvent<{error: Error}>} btu-element-error - Fired on connection error
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```typescript
|
|
17
|
+
* import { EventEmitterMixin } from './EventEmitterMixin'
|
|
18
|
+
*
|
|
19
|
+
* class MyComponent extends EventEmitterMixin(LitElement) {
|
|
20
|
+
* handleClick() {
|
|
21
|
+
* this.emit('my-custom-event', { data: 'value' })
|
|
22
|
+
* }
|
|
23
|
+
* }
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
export const EventEmitterMixin = (superClass) => {
|
|
27
|
+
class EventEmitterMixinClass extends superClass {
|
|
28
|
+
/**
|
|
29
|
+
* Lifecycle callback fired when element is connected to the DOM.
|
|
30
|
+
* Emits btu-element-connected or btu-element-error.
|
|
31
|
+
* @internal
|
|
32
|
+
*/
|
|
33
|
+
connectedCallback() {
|
|
34
|
+
super.connectedCallback();
|
|
35
|
+
Promise.resolve().then(() => this.emit('btu-element-connected', {}), error => this.emit('btu-element-error', { error }));
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Lifecycle callback fired when element is disconnected from the DOM.
|
|
39
|
+
* Emits btu-element-disconnected.
|
|
40
|
+
* @internal
|
|
41
|
+
*/
|
|
42
|
+
disconnectedCallback() {
|
|
43
|
+
super.disconnectedCallback();
|
|
44
|
+
this.emit('btu-element-disconnected');
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Dispatches a type-safe CustomEvent with standardized configuration.
|
|
48
|
+
*
|
|
49
|
+
* All events are configured with:
|
|
50
|
+
* - bubbles: true (event propagates up the DOM tree)
|
|
51
|
+
* - cancelable: false (event cannot be cancelled)
|
|
52
|
+
* - composed: true (event crosses shadow DOM boundaries)
|
|
53
|
+
*
|
|
54
|
+
* @param type - Event name from CustomEventMap
|
|
55
|
+
* @param detail - Optional event detail payload
|
|
56
|
+
* @returns {boolean} False if event is cancelable and was cancelled, true otherwise
|
|
57
|
+
*
|
|
58
|
+
* @example
|
|
59
|
+
* ```typescript
|
|
60
|
+
* this.emit('btu-widget-toggle', { collapsed: true })
|
|
61
|
+
* ```
|
|
62
|
+
*/
|
|
63
|
+
emit(type, detail) {
|
|
64
|
+
return this.dispatchEvent(new CustomEvent(type, {
|
|
65
|
+
bubbles: true,
|
|
66
|
+
cancelable: false,
|
|
67
|
+
composed: true,
|
|
68
|
+
detail,
|
|
69
|
+
}));
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return EventEmitterMixinClass;
|
|
73
|
+
};
|
|
74
|
+
//# sourceMappingURL=EventEmitterMixin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EventEmitterMixin.js","sourceRoot":"","sources":["../../src/utils/EventEmitterMixin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAoChC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAoC,UAAa,EAAE,EAAE;IACpF,MAAM,sBAAuB,SAAQ,UAAU;QAC7C;;;;WAIG;QACH,iBAAiB;YACf,KAAK,CAAC,iBAAiB,EAAE,CAAA;YACzB,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CACpB,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,CAAC,EAC5C,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,KAAK,EAAE,CAAC,CACnD,CAAA;QACH,CAAC;QAED;;;;WAIG;QACH,oBAAoB;YAClB,KAAK,CAAC,oBAAoB,EAAE,CAAA;YAC5B,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAA;QACvC,CAAC;QAED;;;;;;;;;;;;;;;;WAgBG;QACH,IAAI,CAAiC,IAAO,EAAE,MAA6C;YACzF,OAAO,IAAI,CAAC,aAAa,CACvB,IAAI,WAAW,CAAC,IAAI,EAAE;gBACpB,OAAO,EAAE,IAAI;gBACb,UAAU,EAAE,KAAK;gBACjB,QAAQ,EAAE,IAAI;gBACd,MAAM;aACP,CAAC,CACH,CAAA;QACH,CAAC;KACF;IACD,OAAO,sBAAqE,CAAA;AAC9E,CAAC,CAAA"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
|
+
type Constructor<T = object> = new (...args: any[]) => T;
|
|
3
|
+
export declare class ReadyMixinInterface {
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* @mixin
|
|
7
|
+
* Mixin that ensures DOM is fully loaded before initializing component
|
|
8
|
+
* Prevents components from querying or manipulating DOM elements before
|
|
9
|
+
* they're available by deferring \`super.connectedCallback()\` until the DOM is ready.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```typescript
|
|
13
|
+
* import { ReadyMixin } from './ReadyMixin'
|
|
14
|
+
*
|
|
15
|
+
* // Basic usage
|
|
16
|
+
* class MyComponent extends ReadyMixin(LitElement) {
|
|
17
|
+
* connectedCallback() {
|
|
18
|
+
* super.connectedCallback()
|
|
19
|
+
* // DOM is guaranteed to be ready here
|
|
20
|
+
* const child = this.querySelector('.child')
|
|
21
|
+
* }
|
|
22
|
+
* }
|
|
23
|
+
*
|
|
24
|
+
* // With multiple mixins
|
|
25
|
+
* class NavRail extends EventEmitterMixin(ReadyMixin(LitElement)) {
|
|
26
|
+
* // All mixins benefit from DOM-ready guarantee
|
|
27
|
+
* }
|
|
28
|
+
*/
|
|
29
|
+
export declare const ReadyMixin: <T extends Constructor<LitElement>>(superClass: T) => Constructor<ReadyMixinInterface> & T;
|
|
30
|
+
export {};
|
|
31
|
+
//# sourceMappingURL=ReadyMixin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReadyMixin.d.ts","sourceRoot":"","sources":["../../src/utils/ReadyMixin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAChC,KAAK,WAAW,CAAC,CAAC,GAAG,MAAM,IAAI,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;AAExD,MAAM,CAAC,OAAO,OAAO,mBAAmB;CAAG;AAE3C;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,UAAU,GAAI,CAAC,SAAS,WAAW,CAAC,UAAU,CAAC,EAAE,YAAY,CAAC,KAc/C,WAAW,CAAC,mBAAmB,CAAC,GAAG,CAC9D,CAAA"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
|
+
/**
|
|
3
|
+
* @mixin
|
|
4
|
+
* Mixin that ensures DOM is fully loaded before initializing component
|
|
5
|
+
* Prevents components from querying or manipulating DOM elements before
|
|
6
|
+
* they're available by deferring \`super.connectedCallback()\` until the DOM is ready.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```typescript
|
|
10
|
+
* import { ReadyMixin } from './ReadyMixin'
|
|
11
|
+
*
|
|
12
|
+
* // Basic usage
|
|
13
|
+
* class MyComponent extends ReadyMixin(LitElement) {
|
|
14
|
+
* connectedCallback() {
|
|
15
|
+
* super.connectedCallback()
|
|
16
|
+
* // DOM is guaranteed to be ready here
|
|
17
|
+
* const child = this.querySelector('.child')
|
|
18
|
+
* }
|
|
19
|
+
* }
|
|
20
|
+
*
|
|
21
|
+
* // With multiple mixins
|
|
22
|
+
* class NavRail extends EventEmitterMixin(ReadyMixin(LitElement)) {
|
|
23
|
+
* // All mixins benefit from DOM-ready guarantee
|
|
24
|
+
* }
|
|
25
|
+
*/
|
|
26
|
+
export const ReadyMixin = (superClass) => {
|
|
27
|
+
class ReadyMixinClass extends superClass {
|
|
28
|
+
connectedCallback() {
|
|
29
|
+
const init = () => {
|
|
30
|
+
super.connectedCallback();
|
|
31
|
+
};
|
|
32
|
+
if (document.readyState !== 'loading') {
|
|
33
|
+
init();
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
document.addEventListener('DOMContentLoaded', () => init());
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return ReadyMixinClass;
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=ReadyMixin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReadyMixin.js","sourceRoot":"","sources":["../../src/utils/ReadyMixin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAKhC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAoC,UAAa,EAAE,EAAE;IAC7E,MAAM,eAAgB,SAAQ,UAAU;QACtC,iBAAiB;YACf,MAAM,IAAI,GAAG,GAAG,EAAE;gBAChB,KAAK,CAAC,iBAAiB,EAAE,CAAA;YAC3B,CAAC,CAAA;YAED,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;gBACtC,IAAI,EAAE,CAAA;YACR,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAA;YAC7D,CAAC;QACH,CAAC;KACF;IACD,OAAO,eAAuD,CAAA;AAChE,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,28 +1,41 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@brightspot/ui",
|
|
3
|
-
"version": "1.0.1-
|
|
3
|
+
"version": "1.0.1-6",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"description": "A UI library for building Brightspot CMS components.",
|
|
7
|
-
"main": "./dist/tailwind.config.
|
|
7
|
+
"main": "./dist/tailwind.config.js",
|
|
8
|
+
"customElements": "dist/custom-elements.json",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": "./dist/tailwind.config.js",
|
|
11
|
+
"./dist/*": "./dist/*",
|
|
12
|
+
"./custom-elements.json": "./dist/custom-elements.json"
|
|
13
|
+
},
|
|
8
14
|
"scripts": {
|
|
9
15
|
"format": "prettier --write --ignore-unknown .",
|
|
10
16
|
"clean": "shx rm -rf ./dist/*",
|
|
11
|
-
"
|
|
17
|
+
"cem": "cem analyze --litelement",
|
|
18
|
+
"cem:watch": "cem analyze --litelement --watch",
|
|
19
|
+
"cem:docs": "yarn cem && node scripts/generate-docs.mjs",
|
|
20
|
+
"build": "yarn clean && tsc --noEmitOnError && yarn cem && node scripts/copy-component-css.mjs && shx cp ./src/*.ts ./dist && shx rm ./dist/tailwind.storybook.config* && shx rm -Rf ./dist/stories",
|
|
12
21
|
"prepack": "yarn build && yarn build-storybook",
|
|
13
|
-
"storybook": "storybook dev -p 6006",
|
|
14
|
-
"build-storybook": "storybook build -o ./dist/storybook",
|
|
22
|
+
"storybook": "yarn cem && storybook dev -p 6006",
|
|
23
|
+
"build-storybook": "yarn cem && storybook build -o ./dist/storybook",
|
|
15
24
|
"prepare": "husky"
|
|
16
25
|
},
|
|
17
26
|
"devDependencies": {
|
|
18
27
|
"@commitlint/cli": "^20.1.0",
|
|
19
28
|
"@commitlint/config-conventional": "^20.0.0",
|
|
29
|
+
"@custom-elements-manifest/analyzer": "^0.11.0",
|
|
30
|
+
"@custom-elements-manifest/to-markdown": "^0.1.0",
|
|
20
31
|
"@eslint/js": "^9.23.0",
|
|
21
32
|
"@storybook/addon-docs": "^10.0.6",
|
|
22
33
|
"@storybook/addon-themes": "^10.0.6",
|
|
23
34
|
"@storybook/web-components-vite": "^10.0.6",
|
|
24
35
|
"@tailwindcss/container-queries": "^0.1.1",
|
|
25
36
|
"@types/node": "^24.10.0",
|
|
37
|
+
"@types/postcss-import": "^14.0.3",
|
|
38
|
+
"@wc-toolkit/storybook-helpers": "^10.0.0",
|
|
26
39
|
"autoprefixer": "10.4.21",
|
|
27
40
|
"css-loader": "^6.7.1",
|
|
28
41
|
"eslint": "^9.39.1",
|
|
@@ -54,10 +67,21 @@
|
|
|
54
67
|
"lucide-static": "0.508.0",
|
|
55
68
|
"tailwindcss": "^3.4.13"
|
|
56
69
|
},
|
|
70
|
+
"peerDependencies": {
|
|
71
|
+
"lit": "^3.0.0"
|
|
72
|
+
},
|
|
73
|
+
"sideEffects": [
|
|
74
|
+
"dist/components/**/*.js"
|
|
75
|
+
],
|
|
57
76
|
"files": [
|
|
58
77
|
"dist/**/*"
|
|
59
78
|
],
|
|
60
79
|
"lint-staged": {
|
|
80
|
+
"src/components/**/*.ts": [
|
|
81
|
+
"node scripts/run-cem.cjs",
|
|
82
|
+
"node scripts/generate-docs.mjs",
|
|
83
|
+
"git add docs/api.md"
|
|
84
|
+
],
|
|
61
85
|
"*": "yarn format"
|
|
62
86
|
}
|
|
63
87
|
}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import{x as i}from"./iframe-D3S76tLX.js";import"./preload-helper-PPVm8Dsz.js";const p=({color:e="gray",affordance:a,size:u="sm",customForegroundColor:n,customBackgroundColor:c,label:g})=>{let l=!1,d=!1;a==="dot"?l=!0:a==="icon"&&(d=!0);const o=[];return n&&o.push(`--badge-color-foreground: ${n}`),c&&o.push(`--badge-color-background: ${c}`),i`
|
|
2
|
-
<span
|
|
3
|
-
class=${["btu-badge",`btu-badge-${u}`,`btu-badge-${e}`,l?"before:size-2 before:rounded-lg before:bg-[currentColor]":"",d?"before:btu-icon before:btu-icon-xs before:btu-icon-salad":""].join(" ")}
|
|
4
|
-
style=${o.length>0?o.join("; "):""}
|
|
5
|
-
>
|
|
6
|
-
${g}
|
|
7
|
-
</span>
|
|
8
|
-
`},m=["black","white","primary","teal","gray","purple","rose","error","warning","success"],f={title:"Components/Badge",component:"btu-badge",tags:["autodocs"],parameters:{docs:{subtitle:"btu-badge"},controls:{expanded:!0}},render:e=>p(e),argTypes:{color:{control:{type:"select"},options:m},affordance:{control:{type:"select"},options:["dot","icon"],description:"Display a design affordance next to the label"},size:{control:{type:"select"},options:["sm","md","lg"]},customForegroundColor:{control:{type:"color"},description:"Custom foreground (text) color - overrides the theme color"},customBackgroundColor:{control:{type:"color"},description:"Custom background color - overrides the theme color"}},args:{color:"purple",affordance:"dot",size:"sm",customForegroundColor:"",customBackgroundColor:"",label:"Badge"}},r={args:{}},s={args:{color:"primary",size:"lg",label:"Custom Colors Badge",customForegroundColor:"#a04b4b",customBackgroundColor:"#dce34d"},parameters:{docs:{description:{story:"Badge supports custom colors using the btu-badge-foreground and btu-badge-background utilities. Setting these values will override any theme colors."}}}},t={args:{color:"success",size:"lg",label:"Linked Badge"},decorators:[e=>i`<a href="#" class="hover:text-primary inline-flex items-center gap-2 hover:underline"
|
|
9
|
-
>Hover over me to see the ${e()} in action.</a
|
|
10
|
-
>`],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 as clickable elements."}}}};r.parameters={...r.parameters,docs:{...r.parameters?.docs,source:{originalSource:`{
|
|
11
|
-
args: {}
|
|
12
|
-
}`,...r.parameters?.docs?.source}}};s.parameters={...s.parameters,docs:{...s.parameters?.docs,source:{originalSource:`{
|
|
13
|
-
args: {
|
|
14
|
-
color: 'primary',
|
|
15
|
-
size: 'lg',
|
|
16
|
-
label: 'Custom Colors Badge',
|
|
17
|
-
customForegroundColor: '#a04b4b',
|
|
18
|
-
customBackgroundColor: '#dce34d'
|
|
19
|
-
},
|
|
20
|
-
parameters: {
|
|
21
|
-
docs: {
|
|
22
|
-
description: {
|
|
23
|
-
story: \`Badge supports custom colors using the btu-badge-foreground and btu-badge-background utilities. Setting these values will override any theme colors.\`
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
}`,...s.parameters?.docs?.source}}};t.parameters={...t.parameters,docs:{...t.parameters?.docs,source:{originalSource:`{
|
|
28
|
-
args: {
|
|
29
|
-
color: 'success',
|
|
30
|
-
size: 'lg',
|
|
31
|
-
label: 'Linked Badge'
|
|
32
|
-
},
|
|
33
|
-
decorators: [story => html\`<a href="#" class="hover:text-primary inline-flex items-center gap-2 hover:underline"
|
|
34
|
-
>Hover over me to see the \${story()} in action.</a
|
|
35
|
-
>\`],
|
|
36
|
-
parameters: {
|
|
37
|
-
docs: {
|
|
38
|
-
description: {
|
|
39
|
-
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 as clickable elements.\`
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
}`,...t.parameters?.docs?.source}}};const y=["Default","CustomColors","InsideAnchor"];export{s as CustomColors,r as Default,t as InsideAnchor,y as __namedExportsOrder,f as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{d as i,a as t}from"./WithTooltip-SK46ZJ2J-BQsmdHUK.js";import{c as m}from"./iframe-D3S76tLX.js";import"./preload-helper-PPVm8Dsz.js";var a=m(t(),1),d=(0,a.default)(2)(async(e,r)=>e===!1?r:i(r));export{d as formatter};
|