@brightspot/ui 5.0.3 → 5.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/button-group/ButtonGroup.d.ts +7 -2
- package/dist/components/button-group/ButtonGroup.d.ts.map +1 -1
- package/dist/components/button-group/ButtonGroup.js +23 -16
- package/dist/components/button-group/ButtonGroup.js.map +1 -1
- package/dist/components/card/Card.css +7 -0
- package/dist/components/card/Card.d.ts +244 -0
- package/dist/components/card/Card.d.ts.map +1 -0
- package/dist/components/card/Card.js +512 -0
- package/dist/components/card/Card.js.map +1 -0
- package/dist/components/empty-state/EmptyState.d.ts +11 -2
- package/dist/components/empty-state/EmptyState.d.ts.map +1 -1
- package/dist/components/empty-state/EmptyState.js +19 -8
- package/dist/components/empty-state/EmptyState.js.map +1 -1
- package/dist/components/widget/Widget.d.ts +11 -2
- package/dist/components/widget/Widget.d.ts.map +1 -1
- package/dist/components/widget/Widget.js +21 -10
- package/dist/components/widget/Widget.js.map +1 -1
- package/dist/custom-elements.json +484 -0
- package/dist/storybook/assets/{ActionBar.stories-cyX9vc6C.js → ActionBar.stories-D9ok2eVg.js} +1 -1
- package/dist/storybook/assets/{ActionItem.stories-Bs-Kxp5J.js → ActionItem.stories-DjPfYpgA.js} +1 -1
- package/dist/storybook/assets/{Avatar.stories-B1Uee53f.js → Avatar.stories-Di3s5wxK.js} +1 -1
- package/dist/storybook/assets/{AvatarGroup.stories-W2EtKQBu.js → AvatarGroup.stories-CT7lYX_U.js} +1 -1
- package/dist/storybook/assets/{Badge.stories-BotNIO18.js → Badge.stories-9unZqfhH.js} +1 -1
- package/dist/storybook/assets/{Button-YTBnP55L.js → Button-DuuAvVjP.js} +1 -1
- package/dist/storybook/assets/{Button.stories-B-X7_d_i.js → Button.stories-KDBmJ9xt.js} +1 -1
- package/dist/storybook/assets/{ButtonGroup.stories-BM-pxfK2.js → ButtonGroup.stories-BeWYMkDy.js} +1 -1
- package/dist/storybook/assets/Card.stories-BNMJ-H5I.js +556 -0
- package/dist/storybook/assets/{Celebrate.stories-D9EJwzxo.js → Celebrate.stories-Cue8O4hb.js} +1 -1
- package/dist/storybook/assets/{Checkbox.stories-f5VLVSw5.js → Checkbox.stories-DLe4npId.js} +1 -1
- package/dist/storybook/assets/{CircularProgress.stories-BI9e372u.js → CircularProgress.stories-BHB2K82M.js} +1 -1
- package/dist/storybook/assets/{ClipboardMixin.stories-CsyJDNxc.js → ClipboardMixin.stories-mU-JGoHp.js} +1 -1
- package/dist/storybook/assets/{Color-6BZIO3FS-ClVOLIJG.js → Color-6BZIO3FS-D3GAvUXG.js} +1 -1
- package/dist/storybook/assets/{Colors.stories-hUYBvymM.js → Colors.stories-a83X2cLQ.js} +1 -1
- package/dist/storybook/assets/{CombinedEffects.stories-DkokyKCS.js → CombinedEffects.stories-sLTopxBQ.js} +1 -1
- package/dist/storybook/assets/{ComponentStatesMixin-C4I_rtgt.js → ComponentStatesMixin-CJ9pmXHc.js} +1 -1
- package/dist/storybook/assets/{ComponentStatesMixin.stories-BeLCYevK.js → ComponentStatesMixin.stories-DSkFzAxR.js} +1 -1
- package/dist/storybook/assets/{CopyToClipboard.stories-DN9oagz-.js → CopyToClipboard.stories-DqMxtd4b.js} +1 -1
- package/dist/storybook/assets/{Debounce.stories-CtNQAJxO.js → Debounce.stories-DV30whKw.js} +1 -1
- package/dist/storybook/assets/{DocsRenderer-LL677BLK-Bx1Fds2q.js → DocsRenderer-LL677BLK-DmVtYsJx.js} +3 -3
- package/dist/storybook/assets/{Dropdown.stories-B862-mco.js → Dropdown.stories-sCz8_Hkw.js} +1 -1
- package/dist/storybook/assets/{EmptyState.stories-Im3Vr4ZL.js → EmptyState.stories-kBKfr87C.js} +1 -1
- package/dist/storybook/assets/{Events.stories-B0tluV0t.js → Events.stories-BXdHEFJR.js} +1 -1
- package/dist/storybook/assets/{Heading.stories-6CzGqAAc.js → Heading.stories-B2XJMBD8.js} +1 -1
- package/dist/storybook/assets/{HueRipple.stories-DaQiDn9K.js → HueRipple.stories-BfzsAQYM.js} +1 -1
- package/dist/storybook/assets/{Icon.stories-CFkYO_7w.js → Icon.stories--pcHe1x-.js} +1 -1
- package/dist/storybook/assets/{IconButton.stories-DwBTqvTi.js → IconButton.stories-dbXfrgH3.js} +1 -1
- package/dist/storybook/assets/{LinearProgress.stories-Coxmgjmo.js → LinearProgress.stories-CApOBX0x.js} +1 -1
- package/dist/storybook/assets/OnFindMixin.stories-df6ckqw3.js +300 -0
- package/dist/storybook/assets/{Pagination.stories-CYrKX5iI.js → Pagination.stories-_MiDRipW.js} +1 -1
- package/dist/storybook/assets/{Popover.stories-BkGiUOfu.js → Popover.stories-9hVZFeMx.js} +1 -1
- package/dist/storybook/assets/{ReadyMixin-CP6tQ4FB.js → ReadyMixin-HHwtCrVi.js} +1 -1
- package/dist/storybook/assets/{RovingTabindexMixin.stories-CzkPw8Nl.js → RovingTabindexMixin.stories-B6MPGbVh.js} +1 -1
- package/dist/storybook/assets/{Rtc.stories-CVch488H.js → Rtc.stories-D3tZOSkM.js} +1 -1
- package/dist/storybook/assets/{ScrollShadow.stories-BGh-Irt7.js → ScrollShadow.stories-B1dTcJR4.js} +1 -1
- package/dist/storybook/assets/{Switch.stories-DPfP0QVK.js → Switch.stories-Bp-Guy3z.js} +1 -1
- package/dist/storybook/assets/{Tab.stories-CBcuRcDB.js → Tab.stories-Caxi7G_1.js} +1 -1
- package/dist/storybook/assets/{Tabs.stories-CDOBjYbs.js → Tabs.stories-g5Nb7YDi.js} +1 -1
- package/dist/storybook/assets/{Throttle.stories-Bqyul0aW.js → Throttle.stories-BzWv-mzN.js} +1 -1
- package/dist/storybook/assets/{Tooltip.stories-B9dohX1h.js → Tooltip.stories-BlaTc14X.js} +1 -1
- package/dist/storybook/assets/{Upload.stories-C7dq2Wdk.js → Upload.stories-a9edmUmW.js} +1 -1
- package/dist/storybook/assets/{UploadItem.stories-35zsIKTv.js → UploadItem.stories-BOIu5j_i.js} +1 -1
- package/dist/storybook/assets/{Welcome.stories-BuD3fpke.js → Welcome.stories-D33npbIl.js} +1 -1
- package/dist/storybook/assets/{Widget.stories-D2UYzfyE.js → Widget.stories-D0vHPAyP.js} +1 -1
- package/dist/storybook/assets/{WithTooltip-65CFNBJE-DGiY8cz9.js → WithTooltip-65CFNBJE-WOhnQufs.js} +1 -1
- package/dist/storybook/assets/{blocks-YjKl5E55.js → blocks-B17JEOI8.js} +5 -5
- package/dist/storybook/assets/{formatter-EIJCOSYU-XYAiuXAN.js → formatter-EIJCOSYU-QKmiwKu7.js} +1 -1
- package/dist/storybook/assets/if-defined-0srVwUDm.js +1 -0
- package/dist/storybook/assets/{iframe-CufEXQ5F.js → iframe-BqpRijx3.js} +225 -225
- package/dist/storybook/assets/iframe-DfU9RLLj.css +1 -0
- package/dist/storybook/assets/{index-DbEDIsEB.js → index-CpksO7cK.js} +1 -1
- package/dist/storybook/assets/onFind-C_VPLxg8.js +1 -0
- package/dist/storybook/assets/{onFind.stories-UpwJxFqR.js → onFind.stories-BuZMC3tk.js} +15 -15
- package/dist/storybook/assets/{onRemove.stories-BMwQGBCl.js → onRemove.stories-HDkMhdmO.js} +1 -1
- package/dist/storybook/assets/{onVisible.stories-axSo0Zv3.js → onVisible.stories-CRCllRfN.js} +1 -1
- package/dist/storybook/assets/{style-map-BkaK9546.js → style-map-DukvFNCc.js} +1 -1
- package/dist/storybook/assets/{syntaxhighlighter-ED5Y7EFY-CDDZTVRn.js → syntaxhighlighter-ED5Y7EFY-BUo_WYvV.js} +1 -1
- package/dist/storybook/iframe.html +48 -2
- package/dist/storybook/index.json +1 -1
- package/dist/storybook/project.json +1 -1
- package/dist/tailwind-plugin-card.d.ts +2 -0
- package/dist/tailwind-plugin-card.d.ts.map +1 -0
- package/dist/tailwind-plugin-card.js +438 -0
- package/dist/tailwind-plugin-card.js.map +1 -0
- package/dist/tailwind-plugin-card.ts +515 -0
- package/dist/tailwind.config.d.ts.map +1 -1
- package/dist/tailwind.config.js +2 -0
- package/dist/tailwind.config.js.map +1 -1
- package/dist/tailwind.config.ts +2 -0
- package/dist/util/EventEmitterMixin.d.ts +1 -0
- package/dist/util/EventEmitterMixin.d.ts.map +1 -1
- package/dist/util/EventEmitterMixin.js.map +1 -1
- package/dist/util/OnFindMixin.d.ts +55 -0
- package/dist/util/OnFindMixin.d.ts.map +1 -0
- package/dist/util/OnFindMixin.js +70 -0
- package/dist/util/OnFindMixin.js.map +1 -0
- package/dist/util/onFind.d.ts +4 -2
- package/dist/util/onFind.d.ts.map +1 -1
- package/dist/util/onFind.js +12 -0
- package/dist/util/onFind.js.map +1 -1
- package/docs/components/ButtonGroup.md +7 -3
- package/docs/components/Card.md +83 -0
- package/docs/components/EmptyState.md +10 -6
- package/docs/components/README.md +1 -0
- package/docs/components/Widget.md +18 -14
- package/package.json +1 -1
- package/src/legacy/tool-ui/src/AIInline.css +1 -1
- package/src/legacy/tool-ui/src/SearchWidget.ts +10 -1
- package/src/legacy/tool-ui/src/main/webapp/dist/{RTEProseMirror.945bd28778b1a3e937c7.js → RTEProseMirror.e8344eaeea387c600257.js} +12 -12
- package/src/legacy/tool-ui/src/main/webapp/dist/{v4.c5bcef50efdfa2d2e35f.js → v4.b892feb8ec199202fd18.js} +4 -4
- package/src/legacy/tool-ui/src/main/webapp/dist/{v5.86effb9bf858ae7b0640.js → v5.493c3ddf65c4fa599ff0.js} +4 -4
- package/src/legacy/tool-ui/src/main/webapp/dist/v5.d49a759cb0b7cffd76e4.css +5 -0
- package/src/legacy/tool-ui/src/v5.ts +3 -1
- package/dist/storybook/assets/if-defined-f_e-RnGa.js +0 -1
- package/dist/storybook/assets/iframe-PeGbyIdX.css +0 -1
- package/dist/storybook/assets/onFind-C7Wi8jr6.js +0 -1
- package/src/legacy/tool-ui/src/main/webapp/dist/v5.f60c05ef0c9b89aae888.css +0 -5
- /package/src/legacy/tool-ui/src/main/webapp/dist/{RTEProseMirror.945bd28778b1a3e937c7.js.LICENSE.txt → RTEProseMirror.e8344eaeea387c600257.js.LICENSE.txt} +0 -0
- /package/src/legacy/tool-ui/src/main/webapp/dist/{v4.c5bcef50efdfa2d2e35f.js.LICENSE.txt → v4.b892feb8ec199202fd18.js.LICENSE.txt} +0 -0
- /package/src/legacy/tool-ui/src/main/webapp/dist/{v5.86effb9bf858ae7b0640.js.LICENSE.txt → v5.493c3ddf65c4fa599ff0.js.LICENSE.txt} +0 -0
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
|
+
import { type Selectors } from './onFind.js';
|
|
3
|
+
type Constructor<T = object> = new (...args: any[]) => T;
|
|
4
|
+
export interface OnFindRegistration {
|
|
5
|
+
/** Selector(s) passed to onFind, scoped to this element as the root. */
|
|
6
|
+
selectors: Selectors;
|
|
7
|
+
/** Invoked for each matching element onFind discovers. Must be idempotent. */
|
|
8
|
+
callback: (el: Element) => void;
|
|
9
|
+
}
|
|
10
|
+
export declare class OnFindMixinInterface {
|
|
11
|
+
/**
|
|
12
|
+
* Return this component's onFind registration(s), or null to skip registering
|
|
13
|
+
* (e.g. required containers aren't present yet). Return an array to register
|
|
14
|
+
* several independent sweeps; each is disposed together on disconnect.
|
|
15
|
+
* Re-invoked on every (re)registration — query containers HERE rather than
|
|
16
|
+
* capturing them once, so a reattach re-binds against the current DOM.
|
|
17
|
+
*/
|
|
18
|
+
onFindRegistration(): OnFindRegistration | OnFindRegistration[] | null;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* @mixin
|
|
22
|
+
* Registers an {@link onFind} child-redistribution callback and tears it down on
|
|
23
|
+
* disconnect, so a detached component is garbage-collectable and stops being
|
|
24
|
+
* visited on every document mutation. Handles the detach/reattach dance: the
|
|
25
|
+
* onFind registration only lives while connected, and is re-armed on reattach
|
|
26
|
+
* (Lit's `firstUpdated` fires only once).
|
|
27
|
+
*
|
|
28
|
+
* Subclasses declare what to register via {@link onFindRegistration} and MUST
|
|
29
|
+
* call `super.firstUpdated()` so the initial registration runs. Return a single
|
|
30
|
+
* registration, or an array for several independent sweeps (all disposed
|
|
31
|
+
* together on disconnect).
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* ```typescript
|
|
35
|
+
* class Card extends OnFindMixin(LitElement) {
|
|
36
|
+
* firstUpdated(changed) {
|
|
37
|
+
* super.firstUpdated(changed) // arms onFind
|
|
38
|
+
* }
|
|
39
|
+
* onFindRegistration() {
|
|
40
|
+
* return { selectors: ':scope > [slot]', callback: el => this.place(el) }
|
|
41
|
+
* }
|
|
42
|
+
* }
|
|
43
|
+
*
|
|
44
|
+
* // Or several independent sweeps:
|
|
45
|
+
* onFindRegistration() {
|
|
46
|
+
* return [
|
|
47
|
+
* { selectors: ':scope > [slot]', callback: el => this.place(el) },
|
|
48
|
+
* { selectors: '.btu-deep-thing', callback: el => this.enhance(el) },
|
|
49
|
+
* ]
|
|
50
|
+
* }
|
|
51
|
+
* ```
|
|
52
|
+
*/
|
|
53
|
+
export declare const OnFindMixin: <T extends Constructor<LitElement>>(superClass: T) => Constructor<OnFindMixinInterface> & T;
|
|
54
|
+
export {};
|
|
55
|
+
//# sourceMappingURL=OnFindMixin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OnFindMixin.d.ts","sourceRoot":"","sources":["../../src/util/OnFindMixin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAChC,OAAe,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAA;AAEpD,KAAK,WAAW,CAAC,CAAC,GAAG,MAAM,IAAI,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;AAExD,MAAM,WAAW,kBAAkB;IACjC,wEAAwE;IACxE,SAAS,EAAE,SAAS,CAAA;IACpB,8EAA8E;IAC9E,QAAQ,EAAE,CAAC,EAAE,EAAE,OAAO,KAAK,IAAI,CAAA;CAChC;AAED,MAAM,CAAC,OAAO,OAAO,oBAAoB;IACvC;;;;;;OAMG;IACH,kBAAkB,IAAI,kBAAkB,GAAG,kBAAkB,EAAE,GAAG,IAAI;CACvE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,WAAW,CAAC,UAAU,CAAC,EAAE,YAAY,CAAC,KAkC/C,WAAW,CAAC,oBAAoB,CAAC,GAAG,CAChE,CAAA"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
|
+
import onFind, {} from './onFind.js';
|
|
3
|
+
/**
|
|
4
|
+
* @mixin
|
|
5
|
+
* Registers an {@link onFind} child-redistribution callback and tears it down on
|
|
6
|
+
* disconnect, so a detached component is garbage-collectable and stops being
|
|
7
|
+
* visited on every document mutation. Handles the detach/reattach dance: the
|
|
8
|
+
* onFind registration only lives while connected, and is re-armed on reattach
|
|
9
|
+
* (Lit's `firstUpdated` fires only once).
|
|
10
|
+
*
|
|
11
|
+
* Subclasses declare what to register via {@link onFindRegistration} and MUST
|
|
12
|
+
* call `super.firstUpdated()` so the initial registration runs. Return a single
|
|
13
|
+
* registration, or an array for several independent sweeps (all disposed
|
|
14
|
+
* together on disconnect).
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```typescript
|
|
18
|
+
* class Card extends OnFindMixin(LitElement) {
|
|
19
|
+
* firstUpdated(changed) {
|
|
20
|
+
* super.firstUpdated(changed) // arms onFind
|
|
21
|
+
* }
|
|
22
|
+
* onFindRegistration() {
|
|
23
|
+
* return { selectors: ':scope > [slot]', callback: el => this.place(el) }
|
|
24
|
+
* }
|
|
25
|
+
* }
|
|
26
|
+
*
|
|
27
|
+
* // Or several independent sweeps:
|
|
28
|
+
* onFindRegistration() {
|
|
29
|
+
* return [
|
|
30
|
+
* { selectors: ':scope > [slot]', callback: el => this.place(el) },
|
|
31
|
+
* { selectors: '.btu-deep-thing', callback: el => this.enhance(el) },
|
|
32
|
+
* ]
|
|
33
|
+
* }
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
export const OnFindMixin = (superClass) => {
|
|
37
|
+
class OnFindMixinClass extends superClass {
|
|
38
|
+
#stopFns = [];
|
|
39
|
+
onFindRegistration() {
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
#armFind() {
|
|
43
|
+
if (this.#stopFns.length)
|
|
44
|
+
return; // idempotent — already registered
|
|
45
|
+
const reg = this.onFindRegistration();
|
|
46
|
+
if (!reg)
|
|
47
|
+
return;
|
|
48
|
+
const regs = Array.isArray(reg) ? reg : [reg];
|
|
49
|
+
this.#stopFns = regs.map(r => onFind(this, r.selectors, r.callback));
|
|
50
|
+
}
|
|
51
|
+
connectedCallback() {
|
|
52
|
+
super.connectedCallback();
|
|
53
|
+
// Re-arm on reattach only. On first connect the render root doesn't exist
|
|
54
|
+
// yet, so firstUpdated does the initial registration.
|
|
55
|
+
if (this.hasUpdated)
|
|
56
|
+
this.#armFind();
|
|
57
|
+
}
|
|
58
|
+
firstUpdated(changedProperties) {
|
|
59
|
+
super.firstUpdated(changedProperties);
|
|
60
|
+
this.#armFind();
|
|
61
|
+
}
|
|
62
|
+
disconnectedCallback() {
|
|
63
|
+
super.disconnectedCallback();
|
|
64
|
+
this.#stopFns.forEach(stop => stop());
|
|
65
|
+
this.#stopFns = [];
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
return OnFindMixinClass;
|
|
69
|
+
};
|
|
70
|
+
//# sourceMappingURL=OnFindMixin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OnFindMixin.js","sourceRoot":"","sources":["../../src/util/OnFindMixin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAChC,OAAO,MAAM,EAAE,EAAkB,MAAM,aAAa,CAAA;AAsBpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAoC,UAAa,EAAE,EAAE;IAC9E,MAAM,gBAAiB,SAAQ,UAAU;QACvC,QAAQ,GAAsB,EAAE,CAAA;QAEhC,kBAAkB;YAChB,OAAO,IAAI,CAAA;QACb,CAAC;QAED,QAAQ;YACN,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM;gBAAE,OAAM,CAAC,kCAAkC;YACnE,MAAM,GAAG,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAA;YACrC,IAAI,CAAC,GAAG;gBAAE,OAAM;YAChB,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;YAC7C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAU,IAAI,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAA;QAC/E,CAAC;QAED,iBAAiB;YACf,KAAK,CAAC,iBAAiB,EAAE,CAAA;YACzB,0EAA0E;YAC1E,sDAAsD;YACtD,IAAI,IAAI,CAAC,UAAU;gBAAE,IAAI,CAAC,QAAQ,EAAE,CAAA;QACtC,CAAC;QAED,YAAY,CAAC,iBAAyD;YACpE,KAAK,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAA;YACrC,IAAI,CAAC,QAAQ,EAAE,CAAA;QACjB,CAAC;QAED,oBAAoB;YAClB,KAAK,CAAC,oBAAoB,EAAE,CAAA;YAC5B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAA;YACrC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAA;QACpB,CAAC;KACF;IACD,OAAO,gBAAyD,CAAA;AAClE,CAAC,CAAA"}
|
package/dist/util/onFind.d.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
export type CallbackFunction<E extends Element> = (element: E) => void;
|
|
2
2
|
export type Selectors = string | string[];
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
/** Unregisters a callback registered via {@link onFind}. Safe to call more than once. */
|
|
4
|
+
export type Unregister = () => void;
|
|
5
|
+
declare function onFind<E extends Element>(root: ParentNode, selectors: Selectors, fn: CallbackFunction<E>): Unregister;
|
|
6
|
+
declare function onFind<E extends Element>(selectors: Selectors, fn: CallbackFunction<E>): Unregister;
|
|
5
7
|
declare namespace onFind {
|
|
6
8
|
var triggerCallbacks: (mutations?: MutationRecord[]) => void;
|
|
7
9
|
var pause: () => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onFind.d.ts","sourceRoot":"","sources":["../../src/util/onFind.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,IAAI,CAAA;AACtE,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;AA0OzC,iBAAS,MAAM,CAAC,CAAC,SAAS,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,
|
|
1
|
+
{"version":3,"file":"onFind.d.ts","sourceRoot":"","sources":["../../src/util/onFind.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,IAAI,CAAA;AACtE,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;AA0OzC,yFAAyF;AACzF,MAAM,MAAM,UAAU,GAAG,MAAM,IAAI,CAAA;AAEnC,iBAAS,MAAM,CAAC,CAAC,SAAS,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,UAAU,CAAA;AAE/G,iBAAS,MAAM,CAAC,CAAC,SAAS,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,UAAU,CAAA;kBAApF,MAAM;uCAlHuB,cAAc,EAAE;;;+BAwKvB,MAAM,EAAE;;AAcvC,eAAe,MAAM,CAAA"}
|
package/dist/util/onFind.js
CHANGED
|
@@ -204,6 +204,18 @@ function onFind(rootOrSelectors, selectorsOrFn, fn) {
|
|
|
204
204
|
const callback = new Callback(root, selectors, fn);
|
|
205
205
|
callback.trigger();
|
|
206
206
|
getState().callbacks.push(callback);
|
|
207
|
+
// Returns a disposer so callers with a lifecycle (e.g. web components) can
|
|
208
|
+
// remove their callback on teardown — otherwise it lives for the page and
|
|
209
|
+
// keeps `root` reachable. Re-reads state and guards the index so it is safe
|
|
210
|
+
// to call multiple times. The disposer only ever runs from a caller's own
|
|
211
|
+
// teardown (synchronous), never while `triggerCallbacks` is iterating the
|
|
212
|
+
// array (async via the observer / rAF), so the splice cannot corrupt a loop.
|
|
213
|
+
return () => {
|
|
214
|
+
const { callbacks } = getState();
|
|
215
|
+
const i = callbacks.indexOf(callback);
|
|
216
|
+
if (i !== -1)
|
|
217
|
+
callbacks.splice(i, 1);
|
|
218
|
+
};
|
|
207
219
|
}
|
|
208
220
|
onFind.triggerCallbacks = triggerCallbacks;
|
|
209
221
|
onFind.pause = () => {
|
package/dist/util/onFind.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onFind.js","sourceRoot":"","sources":["../../src/util/onFind.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,UAAU,CAAA;AAK1B,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAA;AAc3C,IAAI,MAA+B,CAAA;AAEnC,SAAS,QAAQ;IACf,IAAI,MAAM;QAAE,OAAO,MAAM,CAAA;IAEzB,MAAM,GAAI,UAAkB,CAAC,GAAG,CAA4B,CAAA;IAE5D,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,GAAG;YACP,WAAW,EAAE,CAAC;YACd,SAAS,EAAE,EAAE;YACb,SAAS,EAAE,EAAE;YACb,aAAa,EAAE,KAAK;YACpB,eAAe,EAAE,KAAK;YACtB,UAAU,EAAE,KAAK;YACjB,eAAe,EAAE,EAAE;YACnB,YAAY,EAAE,CAAC;YACf,WAAW,EAAE,KAAK;SACnB,CACA;QAAC,UAAkB,CAAC,GAAG,CAAC,GAAG,MAAM,CAAA;IACpC,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAM,QAAQ;IACZ,KAAK,CAAA;IACL,OAAO,CAAA;IACP,UAAU,CAAA;IACV,GAAG,CAAA;IACH,QAAQ,CAAA;IAER,YAAY,IAAgB,EAAE,SAAoB,EAAE,EAAuB;QACzE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;QACjB,IAAI,CAAC,OAAO,GAAG,WAAW,QAAQ,EAAE,CAAC,WAAW,EAAE,EAAE,CAAA;QAEpD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9B,SAAS,GAAG,CAAC,SAAS,CAAC,CAAA;QACzB,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,SAAS;aACxB,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,OAAO,IAAI,CAAC;aAC3F,IAAI,CAAC,GAAG,CAAC,CAAA;QAEZ,IAAI,CAAC,GAAG,GAAG,EAAE,CAAA;QAEb,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;QAElG,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM,EAAE,CAAC;YACxC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAA;QACzB,CAAC;IACH,CAAC;IAED,kBAAkB,CAAC,eAA0B,EAAE,OAAgB;QAC7D,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACjC,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBACrC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAC/B,CAAC;YAED,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC1D,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACzB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,CAAC,QAAc;QACpB,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YACtC,OAAM;QACR,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAChD,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;gBAC7B,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAI,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBACtE,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;YAC7B,CAAC;QACH,CAAC;IACH,CAAC;IAED,aAAa,CAAC,OAAU;QACtB,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;YACzB,OAAM;QACR,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACxC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;YAEtC,IAAI,CAAC;gBACH,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YACnB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,GAAG,CAAC,KAAK,CAAC,kBAAkB,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;YAC/C,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAED,SAAS,WAAW,CAAC,IAAU;IAC7B,IAAI,CAAC,CAAC,IAAI,YAAY,OAAO,CAAC;QAAE,OAAO,KAAK,CAAA;IAC5C,MAAM,EAAE,SAAS,EAAE,GAAG,QAAQ,EAAE,CAAA;IAChC,OAAO,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAA;AAC9E,CAAC;AAED,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAA;AACnC,MAAM,MAAM,GAAG,CAAC,IAAU,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,CAAA;AAE/D,SAAS,gBAAgB,CAAC,SAA4B;IACpD,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAA;IAExB,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;QACxB,KAAK,CAAC,eAAe,GAAG,IAAI,CAAA;QAC5B,OAAM;IACR,CAAC;IAED,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IAC/C,MAAM,cAAc,GAAG,EAAE,CAAA;IAEzB,IAAI,cAAc,EAAE,CAAC;QACnB,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAA;YAE9B,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;gBACxB,SAAQ;YACV,CAAC;YAED,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACtB,KAAK,YAAY;oBACf,IAAI,QAAQ,CAAC,QAAQ,KAAM,MAAkB,CAAC,YAAY,CAAC,QAAQ,CAAC,aAAuB,CAAC,EAAE,CAAC;wBAC7F,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;oBAC/B,CAAC;oBACD,MAAK;gBACP,KAAK,WAAW;oBACd,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,EAAE,CAAC;wBAC3F,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;oBAC/B,CAAC;oBACD,MAAK;YACT,CAAC;QACH,CAAC;QAED,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,OAAM;QACR,CAAC;IACH,CAAC;IAED,IAAI,cAAc,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QAChC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAA;IACzB,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;QACtB,IAAI,cAAc,EAAE,CAAC;YACnB,KAAK,MAAM,QAAQ,IAAI,cAAc,EAAE,CAAC;gBACtC,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAiB,CAAA;gBAE1C,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;oBACtB,KAAK,YAAY;wBACf,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;wBACnC,MAAK;oBACP,KAAK,WAAW;wBACd,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;4BACvC,QAAQ,CAAC,kBAAkB,CAAC,KAAK,CAAC,eAAe,EAAE,OAAO,CAAC,CAAA;wBAC7D,CAAC;wBACD,MAAK;gBACT,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,UAAU,GAAG,IAAI,CAAA;QACzB,CAAC;IACH,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;QAClF,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC,qBAAqB,CAAC,GAAG,EAAE;YACrD,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAA;YACrE,KAAK,CAAC,UAAU,GAAG,KAAK,CAAA;YACxB,KAAK,CAAC,eAAe,GAAG,EAAE,CAAA;YAC1B,KAAK,CAAC,YAAY,GAAG,CAAC,CAAA;YAEtB,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAA;QACjE,CAAC,CAAC,CAAA;IACJ,CAAC;AACH,CAAC;AAED,SAAS,UAAU;IACjB,gBAAgB,EAAE,CAAA;IAElB,IAAI,gBAAgB,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE;QACvD,UAAU,EAAE,IAAI;QAChB,eAAe,EAAE;YACf,OAAO;YACP,qBAAqB;YACrB,iBAAiB;YACjB,gBAAgB;YAChB,oBAAoB;YACpB,UAAU;YACV,MAAM;YACN,KAAK;YACL,QAAQ;SACT;QACD,iBAAiB,EAAE,IAAI;QACvB,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,IAAI;KACd,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,iBAAiB;IACxB,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAA;IACxB,IAAI,KAAK,CAAC,WAAW;QAAE,OAAM;IAC7B,KAAK,CAAC,WAAW,GAAG,IAAI,CAAA;IAExB,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACtC,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,UAAU,CAAC,CAAA;IAC3D,CAAC;SAAM,CAAC;QACN,UAAU,EAAE,CAAA;IACd,CAAC;AACH,CAAC;
|
|
1
|
+
{"version":3,"file":"onFind.js","sourceRoot":"","sources":["../../src/util/onFind.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
| `RovingTabindexMixin` | /src/util/RovingTabindexMixin.js | |
|
|
16
16
|
| `ComponentStatesMixin` | /src/util/ComponentStatesMixin.js | |
|
|
17
17
|
| `EventEmitterMixin` | /src/util/EventEmitterMixin.js | |
|
|
18
|
+
| `OnFindMixin` | /src/util/OnFindMixin.js | |
|
|
18
19
|
| `ReadyMixin` | /src/util/ReadyMixin.js | |
|
|
19
20
|
|
|
20
21
|
### Static Fields
|
|
@@ -35,12 +36,15 @@
|
|
|
35
36
|
| `selection` | | `'none' \| 'single' \| 'multiple'` | `'none'` | Enables toggle/selection behavior.
\`single\` allows one active button; \`multiple\` allows many. | |
|
|
36
37
|
| `value` | | `string` | `''` | Reflects the currently selected button value(s).
For \`single\`, the value of the active button.
For \`multiple\`, a comma-delimited list of active values. | |
|
|
37
38
|
| `name` | | `string` | `''` | When set, creates hidden input(s) for native form participation. | |
|
|
39
|
+
| `#stopFns` | private | `Array<() => void>` | `[]` | | OnFindMixin |
|
|
38
40
|
|
|
39
41
|
### Methods
|
|
40
42
|
|
|
41
|
-
| Name
|
|
42
|
-
|
|
|
43
|
-
| `emit`
|
|
43
|
+
| Name | Privacy | Description | Parameters | Return | Inherited From |
|
|
44
|
+
| -------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------- | ---------------------------------------------------- | ----------------- |
|
|
45
|
+
| `emit` | | Dispatches a type-safe CustomEvent with standardized configuration.

All events are configured with:
- bubbles: true (event propagates up the DOM tree)
- cancelable: false (event cannot be cancelled)
- composed: true (event crosses shadow DOM boundaries) | `type: K, detail: UnpackCustomEvent<CustomEventMap[K]>` | `boolean` | EventEmitterMixin |
|
|
46
|
+
| `onFindRegistration` | | | | `OnFindRegistration \| OnFindRegistration[] \| null` | OnFindMixin |
|
|
47
|
+
| `#armFind` | private | | | | OnFindMixin |
|
|
44
48
|
|
|
45
49
|
### Events
|
|
46
50
|
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# `src/components/card/Card.ts`:
|
|
2
|
+
|
|
3
|
+
## class: `Card`, `btu-card`
|
|
4
|
+
|
|
5
|
+
### Superclass
|
|
6
|
+
|
|
7
|
+
| Name | Module | Package |
|
|
8
|
+
| ------------ | ------ | ------- |
|
|
9
|
+
| `LitElement` | | lit |
|
|
10
|
+
|
|
11
|
+
### Mixins
|
|
12
|
+
|
|
13
|
+
| Name | Module | Package |
|
|
14
|
+
| ------------------- | ------------------------------ | ------- |
|
|
15
|
+
| `EventEmitterMixin` | /src/util/EventEmitterMixin.js | |
|
|
16
|
+
| `OnFindMixin` | /src/util/OnFindMixin.js | |
|
|
17
|
+
| `ReadyMixin` | /src/util/ReadyMixin.js | |
|
|
18
|
+
|
|
19
|
+
### Fields
|
|
20
|
+
|
|
21
|
+
| Name | Privacy | Type | Default | Description | Inherited From |
|
|
22
|
+
| -------------- | ------- | --------------------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | -------------- |
|
|
23
|
+
| `heading` | | `string` | `''` | Heading text displayed on the card. | |
|
|
24
|
+
| `headingLevel` | | `number` | `2` | Heading level (1-6) for the card heading element. Drives the semantic h1–h6 tag.
Invalid values log a warning and fall back to the default (2). | |
|
|
25
|
+
| `description` | | `string \| undefined` | | Supporting body text. Truncated to 3 lines via CSS. | |
|
|
26
|
+
| `compact` | | `boolean` | `false` | Renders the card as a compact quick-start tile.
Badge, image, fields, and secondary-action children are ignored in this case. | |
|
|
27
|
+
| `disabled` | | `boolean` | `false` | Whether the card is disabled. | |
|
|
28
|
+
| `href` | | `string \| undefined` | | Navigation URL for the entire card surface.
When set, the card renders as a link. | |
|
|
29
|
+
| `#stopFns` | private | `Array<() => void>` | `[]` | | OnFindMixin |
|
|
30
|
+
|
|
31
|
+
### Methods
|
|
32
|
+
|
|
33
|
+
| Name | Privacy | Description | Parameters | Return | Inherited From |
|
|
34
|
+
| -------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------- | ---------------------------------------------------- | ----------------- |
|
|
35
|
+
| `emit` | | Dispatches a type-safe CustomEvent with standardized configuration.

All events are configured with:
- bubbles: true (event propagates up the DOM tree)
- cancelable: false (event cannot be cancelled)
- composed: true (event crosses shadow DOM boundaries) | `type: K, detail: UnpackCustomEvent<CustomEventMap[K]>` | `boolean` | EventEmitterMixin |
|
|
36
|
+
| `onFindRegistration` | | | | `OnFindRegistration \| OnFindRegistration[] \| null` | OnFindMixin |
|
|
37
|
+
| `#armFind` | private | | | | OnFindMixin |
|
|
38
|
+
|
|
39
|
+
### Events
|
|
40
|
+
|
|
41
|
+
| Name | Type | Description | Inherited From |
|
|
42
|
+
| ---------------- | ------------- | ------------------------------------------- | -------------- |
|
|
43
|
+
| `btu-card-ready` | `CustomEvent` | Fired after first render and initialization | |
|
|
44
|
+
|
|
45
|
+
### Attributes
|
|
46
|
+
|
|
47
|
+
| Name | Field | Inherited From |
|
|
48
|
+
| --------------- | ------------ | -------------- |
|
|
49
|
+
| `heading` | heading | |
|
|
50
|
+
| `heading-level` | headingLevel | |
|
|
51
|
+
| `description` | description | |
|
|
52
|
+
| `compact` | compact | |
|
|
53
|
+
| `disabled` | disabled | |
|
|
54
|
+
| `href` | href | |
|
|
55
|
+
|
|
56
|
+
### CSS Properties
|
|
57
|
+
|
|
58
|
+
| Name | Default | Description |
|
|
59
|
+
| ------------------------ | ------- | ----------------------------------------------------------------------------------------------------- |
|
|
60
|
+
| `--card-min-width` | | Minimum width of the card (default: 160px) |
|
|
61
|
+
| `--card-background` | | Background color (default: var(--btu-theme-white)) |
|
|
62
|
+
| `--card-border` | | Border style (default: 1px solid gray-200) |
|
|
63
|
+
| `--card-radius` | | Corner rounding (default: 8px) |
|
|
64
|
+
| `--card-img-ratio` | | Fixed aspect ratio for the thumbnail when an \`\<img>\` child is present (default: 16 / 9) |
|
|
65
|
+
| `--card-img-fit` | | Object-fit mode for the \`\<img>\` child thumbnail (default: contain) |
|
|
66
|
+
| `--card-icon-background` | | Background color behind the composed icon (compact card and media-image fallback) (default: gray-100) |
|
|
67
|
+
|
|
68
|
+
### Slots
|
|
69
|
+
|
|
70
|
+
| Name | Description |
|
|
71
|
+
| ------------------ | ------------------------------------------------------------------------------- |
|
|
72
|
+
| `action` | Intended for a single action in the top-right corner of the card. |
|
|
73
|
+
| `secondary-action` | Intended for a single action next to the title. |
|
|
74
|
+
| `fields` | Intended for additional metadata fields displayed below the title & description |
|
|
75
|
+
|
|
76
|
+
<hr/>
|
|
77
|
+
|
|
78
|
+
## Exports
|
|
79
|
+
|
|
80
|
+
| Kind | Name | Declaration | Module | Package |
|
|
81
|
+
| --------------------------- | ---------- | ----------- | --------------------------- | ------- |
|
|
82
|
+
| `js` | `default` | Card | src/components/card/Card.ts | |
|
|
83
|
+
| `custom-element-definition` | `btu-card` | Card | src/components/card/Card.ts | |
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
| Name | Module | Package |
|
|
14
14
|
| ------------------- | ------------------------------ | ------- |
|
|
15
15
|
| `EventEmitterMixin` | /src/util/EventEmitterMixin.js | |
|
|
16
|
+
| `OnFindMixin` | /src/util/OnFindMixin.js | |
|
|
16
17
|
| `ReadyMixin` | /src/util/ReadyMixin.js | |
|
|
17
18
|
|
|
18
19
|
### Fields
|
|
@@ -24,15 +25,18 @@
|
|
|
24
25
|
| `size` | | `'sm' \| 'md' \| 'lg'` | `'md'` | Size variant of the empty state. Affects spacing, description text, graphic size,
and — when \`heading-level\` is unset — the default heading level (sm→5, md→4, lg→3). | |
|
|
25
26
|
| `headingLevel` | | `number \| undefined` | | Heading level (1-6). When set to a valid integer 1-6, overrides the size-based
default and drives both the semantic h1-h6 tag and the visual heading size
(btu-heading-1 through btu-heading-6). Invalid values log a warning and fall
back to the size-based default. | |
|
|
26
27
|
| `initialClasses` | private | `string[]` | `[]` | | |
|
|
28
|
+
| `#stopFns` | private | `Array<() => void>` | `[]` | | OnFindMixin |
|
|
27
29
|
|
|
28
30
|
### Methods
|
|
29
31
|
|
|
30
|
-
| Name | Privacy | Description | Parameters | Return
|
|
31
|
-
| --------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------- |
|
|
32
|
-
| `syncGraphicIconSize` | private | | | `void`
|
|
33
|
-
| `resolveHeadingLevel` | private | | | `HeadingLevel`
|
|
34
|
-
| `renderHeading` | private | | `level: HeadingLevel, className: string` | `TemplateResult \| string`
|
|
35
|
-
| `emit` | | Dispatches a type-safe CustomEvent with standardized configuration.

All events are configured with:
- bubbles: true (event propagates up the DOM tree)
- cancelable: false (event cannot be cancelled)
- composed: true (event crosses shadow DOM boundaries) | `type: K, detail: UnpackCustomEvent<CustomEventMap[K]>` | `boolean`
|
|
32
|
+
| Name | Privacy | Description | Parameters | Return | Inherited From |
|
|
33
|
+
| --------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------- | ---------------------------------------------------- | ----------------- |
|
|
34
|
+
| `syncGraphicIconSize` | private | | | `void` | |
|
|
35
|
+
| `resolveHeadingLevel` | private | | | `HeadingLevel` | |
|
|
36
|
+
| `renderHeading` | private | | `level: HeadingLevel, className: string` | `TemplateResult \| string` | |
|
|
37
|
+
| `emit` | | Dispatches a type-safe CustomEvent with standardized configuration.

All events are configured with:
- bubbles: true (event propagates up the DOM tree)
- cancelable: false (event cannot be cancelled)
- composed: true (event crosses shadow DOM boundaries) | `type: K, detail: UnpackCustomEvent<CustomEventMap[K]>` | `boolean` | EventEmitterMixin |
|
|
38
|
+
| `onFindRegistration` | | | | `OnFindRegistration \| OnFindRegistration[] \| null` | OnFindMixin |
|
|
39
|
+
| `#armFind` | private | | | | OnFindMixin |
|
|
36
40
|
|
|
37
41
|
### Events
|
|
38
42
|
|
|
@@ -10,6 +10,7 @@ This directory contains auto-generated API documentation for all Brightspot UI w
|
|
|
10
10
|
- [`<btu-avatar-group>` - AvatarGroup](AvatarGroup.md)
|
|
11
11
|
- [`<btu-badge>` - Badge](Badge.md)
|
|
12
12
|
- [`<btu-button-group>` - ButtonGroup](ButtonGroup.md)
|
|
13
|
+
- [`<btu-card>` - Card](Card.md)
|
|
13
14
|
- [`<btu-checkbox>` - Checkbox](Checkbox.md)
|
|
14
15
|
- [`<btu-circular-progress>` - CircularProgress](CircularProgress.md)
|
|
15
16
|
- [`<btu-copy-to-clipboard>` - CopyToClipboard](CopyToClipboard.md)
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
| Name | Module | Package |
|
|
14
14
|
| ------------------- | ------------------------------ | ------- |
|
|
15
15
|
| `EventEmitterMixin` | /src/util/EventEmitterMixin.js | |
|
|
16
|
+
| `OnFindMixin` | /src/util/OnFindMixin.js | |
|
|
16
17
|
| `ReadyMixin` | /src/util/ReadyMixin.js | |
|
|
17
18
|
|
|
18
19
|
### Static Fields
|
|
@@ -23,23 +24,26 @@
|
|
|
23
24
|
|
|
24
25
|
### Fields
|
|
25
26
|
|
|
26
|
-
| Name | Privacy | Type
|
|
27
|
-
| -------------------- | ------- |
|
|
28
|
-
| `_internals` | private |
|
|
29
|
-
| `heading` | | `string`
|
|
30
|
-
| `collapsible` | | `boolean`
|
|
31
|
-
| `collapsed` | | `boolean`
|
|
32
|
-
| `fullscreenable` | | `boolean`
|
|
33
|
-
| `_isFullscreen` | private | `boolean`
|
|
34
|
-
| `_collapseTooltip` | private |
|
|
35
|
-
| `_fullscreenTooltip` | private |
|
|
36
|
-
| `isFullscreen` | | `boolean`
|
|
27
|
+
| Name | Privacy | Type | Default | Description | Inherited From |
|
|
28
|
+
| -------------------- | ------- | ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | -------------- |
|
|
29
|
+
| `_internals` | private | | | | |
|
|
30
|
+
| `heading` | | `string` | `''` | Heading text displayed in the header. | |
|
|
31
|
+
| `collapsible` | | `boolean` | `false` | Whether the widget can be collapsed/expanded.
When true, a chevron toggle button appears in the header. | |
|
|
32
|
+
| `collapsed` | | `boolean` | `false` | Whether the widget is currently collapsed.
When true, body and footer are hidden. Implies collapsible. | |
|
|
33
|
+
| `fullscreenable` | | `boolean` | `false` | Whether the widget can enter fullscreen mode.
When true, a fullscreen toggle button appears in the header. | |
|
|
34
|
+
| `_isFullscreen` | private | `boolean` | `false` | | |
|
|
35
|
+
| `_collapseTooltip` | private | | `new TooltipController(this, { target: 'button[data-tooltip="collapse"]', text: () => (this.collapsed ? 'Expand' : 'Collapse'), position: 'bottom', noArrow: true, offset: 'sm', })` | | |
|
|
36
|
+
| `_fullscreenTooltip` | private | | `new TooltipController(this, { target: 'button[data-tooltip="fullscreen"]', text: () => (this._isFullscreen ? 'Exit fullscreen' : 'Enter fullscreen'), position: 'bottom', noArrow: true, offset: 'sm', })` | | |
|
|
37
|
+
| `isFullscreen` | | `boolean` | | Whether the widget is currently in fullscreen mode (read-only).
Use \`btu-widget-fullscreen-changed\` event to react to changes. | |
|
|
38
|
+
| `#stopFns` | private | `Array<() => void>` | `[]` | | OnFindMixin |
|
|
37
39
|
|
|
38
40
|
### Methods
|
|
39
41
|
|
|
40
|
-
| Name
|
|
41
|
-
|
|
|
42
|
-
| `emit`
|
|
42
|
+
| Name | Privacy | Description | Parameters | Return | Inherited From |
|
|
43
|
+
| -------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------- | ---------------------------------------------------- | ----------------- |
|
|
44
|
+
| `emit` | | Dispatches a type-safe CustomEvent with standardized configuration.

All events are configured with:
- bubbles: true (event propagates up the DOM tree)
- cancelable: false (event cannot be cancelled)
- composed: true (event crosses shadow DOM boundaries) | `type: K, detail: UnpackCustomEvent<CustomEventMap[K]>` | `boolean` | EventEmitterMixin |
|
|
45
|
+
| `onFindRegistration` | | | | `OnFindRegistration \| OnFindRegistration[] \| null` | OnFindMixin |
|
|
46
|
+
| `#armFind` | private | | | | OnFindMixin |
|
|
43
47
|
|
|
44
48
|
### Events
|
|
45
49
|
|
package/package.json
CHANGED
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
@apply m-0 p-0;
|
|
44
44
|
|
|
45
45
|
> button {
|
|
46
|
-
@apply flex w-full cursor-pointer items-center gap-1
|
|
46
|
+
@apply flex w-full cursor-pointer items-center gap-1 px-3 py-2 text-start text-sm text-gray-900 hover:bg-gray-100;
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
49
|
}
|
|
@@ -148,7 +148,16 @@ onFind('.searchFiltersType', (element) => {
|
|
|
148
148
|
? document.querySelector('.Page-search input[name="q"]')
|
|
149
149
|
: element.nextElementSibling?.querySelector('input[name="q"]')
|
|
150
150
|
|
|
151
|
-
|
|
151
|
+
// Only seed the sticky value into an empty, unfocused field so we never
|
|
152
|
+
// overwrite text the user has typed. This re-fires on every search frame
|
|
153
|
+
// reload; without the guard a reload overwrites the field with the saved
|
|
154
|
+
// (possibly empty) query and discards what the user just typed.
|
|
155
|
+
if (
|
|
156
|
+
targetQuery &&
|
|
157
|
+
targetQuery instanceof HTMLInputElement &&
|
|
158
|
+
!targetQuery.value &&
|
|
159
|
+
document.activeElement !== targetQuery
|
|
160
|
+
) {
|
|
152
161
|
targetQuery.value = sourceQuery.value
|
|
153
162
|
}
|
|
154
163
|
})
|