@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.
Files changed (46) hide show
  1. package/dist/LucideDynamicLoader.js +2 -2
  2. package/dist/LucideDynamicLoader.js.map +1 -1
  3. package/dist/LucideDynamicLoader.ts +2 -2
  4. package/dist/components/badge/Badge.d.ts +75 -0
  5. package/dist/components/badge/Badge.d.ts.map +1 -0
  6. package/dist/components/badge/Badge.js +118 -0
  7. package/dist/components/badge/Badge.js.map +1 -0
  8. package/dist/custom-elements.json +150 -0
  9. package/dist/global.d.ts +14 -0
  10. package/dist/storybook/assets/Badge.stories-IDiQBqoG.js +134 -0
  11. package/dist/storybook/assets/{Button.stories-BxwD2JsV.js → Button.stories-BJ7xYoAn.js} +1 -1
  12. package/dist/storybook/assets/{Color-64QXVMR3-tXPJkzyM.js → Color-64QXVMR3-C99RDtm5.js} +1 -1
  13. package/dist/storybook/assets/{Colors.stories-Cmp-AEM5.js → Colors.stories-DHX3REQM.js} +1 -1
  14. package/dist/storybook/assets/Events.stories-D5Qewoi1.js +108 -0
  15. package/dist/storybook/assets/{Heading.stories-C_fXiWQt.js → Heading.stories-DvZpV-7f.js} +1 -1
  16. package/dist/storybook/assets/{Icon.stories-BaAKG0vC.js → Icon.stories-B84kg3ID.js} +1 -1
  17. package/dist/storybook/assets/{Loader.stories-Bfft_9Qc.js → Loader.stories-p7KYzS21.js} +1 -1
  18. package/dist/storybook/assets/ReadyMixin.stories-DavcxbQ0.js +55 -0
  19. package/dist/storybook/assets/{ScrollShadow.stories-FG3lcV3j.js → ScrollShadow.stories-7cskWb6D.js} +1 -1
  20. package/dist/storybook/assets/{WithTooltip-SK46ZJ2J-BQsmdHUK.js → WithTooltip-SK46ZJ2J-DKh-Y05I.js} +5 -5
  21. package/dist/storybook/assets/formatter-OMEEQ6HG-20tmez3v.js +1 -0
  22. package/dist/storybook/assets/iframe-9mlxmT2J.css +1 -0
  23. package/dist/storybook/assets/{iframe-D3S76tLX.js → iframe-DEAT_PRS.js} +225 -171
  24. package/dist/storybook/assets/{index-BywqDQuf.js → index-BGllmwBL.js} +1 -1
  25. package/dist/storybook/assets/{syntaxhighlighter-CAVLW7PM-C8o3mi7K.js → syntaxhighlighter-CAVLW7PM-B9DN7qXL.js} +1 -1
  26. package/dist/storybook/iframe.html +2 -2
  27. package/dist/storybook/index.json +1 -1
  28. package/dist/storybook/project.json +1 -1
  29. package/dist/tailwind-plugin-badge.js +24 -9
  30. package/dist/tailwind-plugin-badge.js.map +1 -1
  31. package/dist/tailwind-plugin-badge.ts +30 -11
  32. package/dist/tailwind-plugin-icon.js +2 -2
  33. package/dist/tailwind-plugin-icon.js.map +1 -1
  34. package/dist/tailwind-plugin-icon.ts +2 -2
  35. package/dist/utils/EventEmitterMixin.d.ts +53 -0
  36. package/dist/utils/EventEmitterMixin.d.ts.map +1 -0
  37. package/dist/utils/EventEmitterMixin.js +74 -0
  38. package/dist/utils/EventEmitterMixin.js.map +1 -0
  39. package/dist/utils/ReadyMixin.d.ts +31 -0
  40. package/dist/utils/ReadyMixin.d.ts.map +1 -0
  41. package/dist/utils/ReadyMixin.js +42 -0
  42. package/dist/utils/ReadyMixin.js.map +1 -0
  43. package/package.json +29 -5
  44. package/dist/storybook/assets/Badge.stories-BUWscv-N.js +0 -43
  45. package/dist/storybook/assets/formatter-OMEEQ6HG-VMKmNmlI.js +0 -1
  46. 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;IACnD,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC,CAAA;IAChC,MAAM,MAAM,GAAoB,KAAK,CAAC,QAAQ,CAAC,CAAA;IAC/C,MAAM,SAAS,GAAkC,KAAK,CAAC,UAAU,CAAC,CAAA;IAClE,MAAM,SAAS,GAAkB,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,CAAA;IAExD,6DAA6D;IAC7D,cAAc,CACZ;QACE,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;YAChC,0BAA0B,EAAE,KAAK;SAClC,CAAC;KACH,EACD,EAAE,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CACpD,CAAA;IAED,cAAc,CACZ;QACE,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;YAChC,0BAA0B,EAAE,KAAK;SAClC,CAAC;KACH,EACD,EAAE,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CACpD,CAAA;IAED,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,WAAW,GAAoB,EAAE,CAAA;QACvC,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACzB,WAAW,CAAC,IAAI,CAAC;gBACf,CAAC,GAAG,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;oBAC1B,aAAa,EAAE,SAAS,CAAC,IAAI,CAAC;oBAC9B,0BAA0B,EAAE,yBAAyB,GAAG,OAAO;oBAC/D,0BAA0B,EAAE,yBAAyB,GAAG,QAAQ;oBAChE,eAAe,EAAE,+BAA+B;oBAChD,KAAK,EAAE,+BAA+B;oBACtC,cAAc,EAAE,WAAW;oBAC3B,mBAAmB,EAAE,+BAA+B;iBACrD;aACF,CAAC,CAAA;QACJ,CAAC;QACD,aAAa,CAAC,WAAW,CAAC,CAAA;IAC5B,CAAC;IAED,IAAI,KAAK,IAAI,SAAS,EAAE,CAAC;QACvB,MAAM,UAAU,GAAoB,EAAE,CAAA;QACtC,MAAM,cAAc,GAAG;YACrB,OAAO,EAAE,cAAc;YACvB,YAAY,EAAE,MAAM;SACrB,CAAA;QAED,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;YACxB,MAAM,IAAI,GAAS,KAAK,CAAC,GAAG,CAAC,CAAA;YAC7B,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAEzC,IAAI,QAAQ,EAAE,CAAC;gBACb,UAAU,CAAC,IAAI,CAAC;oBACd,CAAC,GAAG,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;wBAC1B,UAAU,EAAE,QAAQ;wBACpB,GAAG,EAAE,SAAS;wBACd,GAAG,cAAc;wBACjB,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;wBACrB,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;wBACvB,OAAO,EAAE,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,YAAY,EAAE;wBAClD,QAAQ,EAAE,IAAI,CAAC,QAAQ;wBACvB,QAAQ,EAAE,aAAa;wBACvB,OAAO,EAAE,aAAa;qBACvB;iBACF,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;QACD,aAAa,CAAC,UAAU,CAAC,CAAA;IAC3B,CAAC;AACH,CAAC,EACD;IACE,KAAK,EAAE;QACL,SAAS,EAAE;YACT,EAAE,EAAE;gBACF,QAAQ,EAAE,IAAI;gBACd,UAAU,EAAE,QAAQ;gBACpB,YAAY,EAAE,OAAO;gBACrB,QAAQ,EAAE,UAAU;aACrB;YACD,EAAE,EAAE;gBACF,QAAQ,EAAE,IAAI;gBACd,UAAU,EAAE,QAAQ;gBACpB,YAAY,EAAE,QAAQ;gBACtB,QAAQ,EAAE,UAAU;aACrB;YACD,EAAE,EAAE;gBACF,QAAQ,EAAE,IAAI;gBACd,UAAU,EAAE,QAAQ;gBACpB,YAAY,EAAE,QAAQ;gBACtB,QAAQ,EAAE,UAAU;aACrB;SACF;KACF;CACF,CACF,CAAA"}
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: '1rem',
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: `${size.paddingTop} ${size.paddingRight}`,
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":"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"}
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-5",
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.ts",
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
- "build": "yarn clean && tsc --noEmitOnError && shx cp ./src/*.ts ./dist && shx rm ./dist/tailwind.storybook.config* && shx rm -Rf ./dist/stories",
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};