@brightspot/ui 1.9.0 → 1.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (178) hide show
  1. package/dist/components/action-bar/ActionBar.d.ts +163 -0
  2. package/dist/components/action-bar/ActionBar.d.ts.map +1 -0
  3. package/dist/components/action-bar/ActionBar.js +479 -0
  4. package/dist/components/action-bar/ActionBar.js.map +1 -0
  5. package/dist/components/action-bar/ActionItem.d.ts +103 -0
  6. package/dist/components/action-bar/ActionItem.d.ts.map +1 -0
  7. package/dist/components/action-bar/ActionItem.js +237 -0
  8. package/dist/components/action-bar/ActionItem.js.map +1 -0
  9. package/dist/components/copy-to-clipboard/CopyToClipboard.d.ts.map +1 -1
  10. package/dist/components/copy-to-clipboard/CopyToClipboard.js +4 -0
  11. package/dist/components/copy-to-clipboard/CopyToClipboard.js.map +1 -1
  12. package/dist/components/dropdown/Dropdown.d.ts +3 -1
  13. package/dist/components/dropdown/Dropdown.d.ts.map +1 -1
  14. package/dist/components/dropdown/Dropdown.js +22 -6
  15. package/dist/components/dropdown/Dropdown.js.map +1 -1
  16. package/dist/components/dropdown/DropdownItem.d.ts +14 -1
  17. package/dist/components/dropdown/DropdownItem.d.ts.map +1 -1
  18. package/dist/components/dropdown/DropdownItem.js +20 -1
  19. package/dist/components/dropdown/DropdownItem.js.map +1 -1
  20. package/dist/components/dropdown/DropdownMenu.d.ts +3 -5
  21. package/dist/components/dropdown/DropdownMenu.d.ts.map +1 -1
  22. package/dist/components/dropdown/DropdownMenu.js +17 -32
  23. package/dist/components/dropdown/DropdownMenu.js.map +1 -1
  24. package/dist/components/pagination/Pagination.d.ts +33 -4
  25. package/dist/components/pagination/Pagination.d.ts.map +1 -1
  26. package/dist/components/pagination/Pagination.js +80 -16
  27. package/dist/components/pagination/Pagination.js.map +1 -1
  28. package/dist/components/switch/Switch.d.ts +92 -0
  29. package/dist/components/switch/Switch.d.ts.map +1 -0
  30. package/dist/components/switch/Switch.js +189 -0
  31. package/dist/components/switch/Switch.js.map +1 -0
  32. package/dist/components/tabs/Tab.d.ts +108 -0
  33. package/dist/components/tabs/Tab.d.ts.map +1 -0
  34. package/dist/components/tabs/Tab.js +152 -0
  35. package/dist/components/tabs/Tab.js.map +1 -0
  36. package/dist/components/tabs/Tabs.d.ts +126 -0
  37. package/dist/components/tabs/Tabs.d.ts.map +1 -0
  38. package/dist/components/tabs/Tabs.js +390 -0
  39. package/dist/components/tabs/Tabs.js.map +1 -0
  40. package/dist/custom-elements.json +2736 -1390
  41. package/dist/effects/celebrate.d.ts +18 -0
  42. package/dist/effects/celebrate.d.ts.map +1 -0
  43. package/dist/effects/celebrate.js +81 -0
  44. package/dist/effects/celebrate.js.map +1 -0
  45. package/dist/effects/ripple.d.ts +31 -0
  46. package/dist/effects/ripple.d.ts.map +1 -0
  47. package/dist/effects/ripple.js +131 -0
  48. package/dist/effects/ripple.js.map +1 -0
  49. package/dist/effects/sparkle-worklet.d.ts +7 -0
  50. package/dist/effects/sparkle-worklet.d.ts.map +1 -0
  51. package/dist/effects/sparkle-worklet.js +211 -0
  52. package/dist/effects/sparkle-worklet.js.map +1 -0
  53. package/dist/effects/sparkle.d.ts +6 -0
  54. package/dist/effects/sparkle.d.ts.map +1 -0
  55. package/dist/effects/sparkle.js +91 -0
  56. package/dist/effects/sparkle.js.map +1 -0
  57. package/dist/storybook/BSPLogoMark.svg +3 -0
  58. package/dist/storybook/WelcomeBG.svg +292 -0
  59. package/dist/storybook/assets/ActionBar.stories--nAeDC-G.js +408 -0
  60. package/dist/storybook/assets/ActionItem.stories-BHrGjk-P.js +203 -0
  61. package/dist/storybook/assets/{Avatar.stories-Du1qM73U.js → Avatar.stories-Da-mRj6_.js} +1 -1
  62. package/dist/storybook/assets/{AvatarGroup.stories-DxwZQE-q.js → AvatarGroup.stories-BQlaC_yl.js} +1 -1
  63. package/dist/storybook/assets/{Badge.stories-CfvkMIx2.js → Badge.stories-DnVnOrnF.js} +1 -1
  64. package/dist/storybook/assets/Button-CFLAI1H9.js +10 -0
  65. package/dist/storybook/assets/Button.stories-DxaBOjwv.js +54 -0
  66. package/dist/storybook/assets/Celebrate.stories-CuMm15Nr.js +184 -0
  67. package/dist/storybook/assets/{CircularProgress.stories-rPzKwQYD.js → CircularProgress.stories-DRN8Mtvj.js} +1 -1
  68. package/dist/storybook/assets/{ClipboardMixin.stories-BlUeYDSi.js → ClipboardMixin.stories-DR7Ou2Av.js} +1 -1
  69. package/dist/storybook/assets/Color-6BZIO3FS-Die62Y0Z.js +1 -0
  70. package/dist/storybook/assets/{Colors.stories-BspfjZ5q.js → Colors.stories-bIq_ssbI.js} +1 -1
  71. package/dist/storybook/assets/CombinedEffects.stories-CtKzOUZn.js +355 -0
  72. package/dist/storybook/assets/{ComponentStatesMixin-eTV7XXqB.js → ComponentStatesMixin-DMLCk9fE.js} +1 -1
  73. package/dist/storybook/assets/{ComponentStatesMixin.stories-BbLSY3df.js → ComponentStatesMixin.stories-D8UI9o-d.js} +1 -1
  74. package/dist/storybook/assets/{CopyToClipboard.stories-B2ailiFF.js → CopyToClipboard.stories-ti6CpJNp.js} +1 -1
  75. package/dist/storybook/assets/{Debounce.stories-DJmp4eNo.js → Debounce.stories-DzZUSvbk.js} +1 -1
  76. package/dist/storybook/assets/DocsRenderer-LL677BLK-CIRGv5IX.js +10 -0
  77. package/dist/storybook/assets/{Dropdown.stories-Dd6vKiDd.js → Dropdown.stories-Lt4cY0Re.js} +41 -14
  78. package/dist/storybook/assets/{Events.stories-Byj-VOM9.js → Events.stories-B1ddcgpT.js} +1 -1
  79. package/dist/storybook/assets/{Heading.stories-Dqw-wzpx.js → Heading.stories-DI4w61cf.js} +1 -1
  80. package/dist/storybook/assets/HueRipple.stories-DjhoxxEw.js +310 -0
  81. package/dist/storybook/assets/{Icon.stories-Bp1nvWER.js → Icon.stories-CpziAhae.js} +1 -1
  82. package/dist/storybook/assets/{IconButton.stories-o9g9mGdh.js → IconButton.stories-KjN28hfc.js} +1 -1
  83. package/dist/storybook/assets/{LinearProgress.stories-DnXQVpzX.js → LinearProgress.stories-DcIpdz6R.js} +1 -1
  84. package/dist/storybook/assets/Pagination.stories-BBkLEwoP.js +252 -0
  85. package/dist/storybook/assets/{Popover.stories-BvavsRfq.js → Popover.stories-DLv48c2h.js} +3 -11
  86. package/dist/storybook/assets/{ReadyMixin-6On1MFFr.js → ReadyMixin-Cw2Dfbu2.js} +1 -1
  87. package/dist/storybook/assets/RovingTabindexMixin.stories-BWaFx9mu.js +192 -0
  88. package/dist/storybook/assets/{Rtc.stories-Bb5Y-908.js → Rtc.stories-Ve7Bwo_l.js} +1 -1
  89. package/dist/storybook/assets/ScrollShadow.stories-C6XmrRLm.js +17 -0
  90. package/dist/storybook/assets/Switch.stories-Cf8WM1LG.js +312 -0
  91. package/dist/storybook/assets/Tab.stories-CEtdEtOx.js +218 -0
  92. package/dist/storybook/assets/Tabs.stories-CIAO1bPO.js +211 -0
  93. package/dist/storybook/assets/{Throttle.stories-DmP-yKke.js → Throttle.stories-BqxVIb-r.js} +1 -1
  94. package/dist/storybook/assets/{Tooltip.stories-Dl6xHBaM.js → Tooltip.stories-B6fw6875.js} +3 -7
  95. package/dist/storybook/assets/Welcome.stories-CfJtSM19.js +215 -0
  96. package/dist/storybook/assets/{Widget.stories-BjXfgNjZ.js → Widget.stories-CiOho7lO.js} +1 -1
  97. package/dist/storybook/assets/WithTooltip-65CFNBJE-PGcopp73.js +9 -0
  98. package/dist/storybook/assets/blocks-dP2DwISI.js +707 -0
  99. package/dist/storybook/assets/celebrate-KwPoF1K3.js +21 -0
  100. package/dist/storybook/assets/formatter-EIJCOSYU-CZSAC3tg.js +1 -0
  101. package/dist/storybook/assets/if-defined-B1RdczOE.js +1 -0
  102. package/dist/storybook/assets/iframe-DloIUNZz.js +1104 -0
  103. package/dist/storybook/assets/{iframe-CNxIA3cQ.css → iframe-bJgLXZKK.css} +1 -1
  104. package/dist/storybook/assets/index-DKF0ypu5.js +1 -0
  105. package/dist/storybook/assets/onFind-C0l4Gew0.js +1 -0
  106. package/dist/storybook/assets/{onFind.stories-B2GYLrjV.js → onFind.stories-DOTt9puO.js} +2 -2
  107. package/dist/storybook/assets/{onRemove.stories-CoLJFkWa.js → onRemove.stories-CQ9ZC5dm.js} +1 -1
  108. package/dist/storybook/assets/{onVisible.stories-DOeZx7wi.js → onVisible.stories-Cbj5_Vz0.js} +2 -2
  109. package/dist/storybook/assets/position-CFNQy3J6.js +1 -0
  110. package/dist/storybook/assets/ripple-DQbyyRUw.js +251 -0
  111. package/dist/storybook/assets/style-map-DLXysq3r.js +1 -0
  112. package/dist/storybook/assets/syntaxhighlighter-ED5Y7EFY-Bjjbl9ca.js +6 -0
  113. package/dist/storybook/brightspot-logo.svg +19 -0
  114. package/dist/storybook/iframe.html +23 -3
  115. package/dist/storybook/index.html +42 -1
  116. package/dist/storybook/index.json +1 -1
  117. package/dist/storybook/project.json +1 -1
  118. package/dist/storybook/sb-addons/storybook-3/manager-bundle.js +3 -0
  119. package/dist/tailwind-plugin-action-bar.d.ts +2 -0
  120. package/dist/tailwind-plugin-action-bar.d.ts.map +1 -0
  121. package/dist/tailwind-plugin-action-bar.js +120 -0
  122. package/dist/tailwind-plugin-action-bar.js.map +1 -0
  123. package/dist/tailwind-plugin-action-bar.ts +134 -0
  124. package/dist/tailwind-plugin-badge.js +4 -5
  125. package/dist/tailwind-plugin-badge.js.map +1 -1
  126. package/dist/tailwind-plugin-badge.ts +4 -5
  127. package/dist/tailwind-plugin-button.js +1 -0
  128. package/dist/tailwind-plugin-button.js.map +1 -1
  129. package/dist/tailwind-plugin-button.ts +1 -0
  130. package/dist/tailwind-plugin-pagination.js +13 -23
  131. package/dist/tailwind-plugin-pagination.js.map +1 -1
  132. package/dist/tailwind-plugin-pagination.ts +15 -25
  133. package/dist/tailwind-plugin-switch.d.ts +2 -0
  134. package/dist/tailwind-plugin-switch.d.ts.map +1 -0
  135. package/dist/tailwind-plugin-switch.js +223 -0
  136. package/dist/tailwind-plugin-switch.js.map +1 -0
  137. package/dist/tailwind-plugin-switch.ts +252 -0
  138. package/dist/tailwind-plugin-tabs.d.ts +2 -0
  139. package/dist/tailwind-plugin-tabs.d.ts.map +1 -0
  140. package/dist/tailwind-plugin-tabs.js +151 -0
  141. package/dist/tailwind-plugin-tabs.js.map +1 -0
  142. package/dist/tailwind-plugin-tabs.ts +162 -0
  143. package/dist/util/EventEmitterMixin.d.ts +21 -0
  144. package/dist/util/EventEmitterMixin.d.ts.map +1 -1
  145. package/dist/util/EventEmitterMixin.js.map +1 -1
  146. package/dist/util/RovingTabindexMixin.d.ts +38 -0
  147. package/dist/util/RovingTabindexMixin.d.ts.map +1 -0
  148. package/dist/util/RovingTabindexMixin.js +83 -0
  149. package/dist/util/RovingTabindexMixin.js.map +1 -0
  150. package/dist/util/position.d.ts +9 -0
  151. package/dist/util/position.d.ts.map +1 -0
  152. package/dist/util/position.js +11 -0
  153. package/dist/util/position.js.map +1 -0
  154. package/docs/components/ActionBar.md +71 -0
  155. package/docs/components/ActionItem.md +76 -0
  156. package/docs/components/Dropdown.md +7 -7
  157. package/docs/components/DropdownItem.md +9 -5
  158. package/docs/components/DropdownMenu.md +12 -12
  159. package/docs/components/Pagination.md +37 -34
  160. package/docs/components/README.md +5 -0
  161. package/docs/components/Switch.md +79 -0
  162. package/docs/components/Tab.md +73 -0
  163. package/docs/components/Tabs.md +77 -0
  164. package/package.json +2 -1
  165. package/dist/storybook/assets/Button.stories-hDMDDh81.js +0 -63
  166. package/dist/storybook/assets/Color-6BZIO3FS-C_nQSB2u.js +0 -1
  167. package/dist/storybook/assets/DocsRenderer-LL677BLK-56Pige1J.js +0 -758
  168. package/dist/storybook/assets/Pagination.stories-DQD8uvDc.js +0 -272
  169. package/dist/storybook/assets/ScrollShadow.stories-ZovRXpte.js +0 -17
  170. package/dist/storybook/assets/WithTooltip-65CFNBJE-CGB5q-AN.js +0 -9
  171. package/dist/storybook/assets/_commonjsHelpers-CqkleIqs.js +0 -1
  172. package/dist/storybook/assets/formatter-EIJCOSYU-BhNtSFM9.js +0 -1
  173. package/dist/storybook/assets/if-defined-BFyUeSVF.js +0 -1
  174. package/dist/storybook/assets/iframe-BeKreX-l.js +0 -1061
  175. package/dist/storybook/assets/index-Uz2kGy8J.js +0 -1
  176. package/dist/storybook/assets/onFind-DqriYjEB.js +0 -1
  177. package/dist/storybook/assets/style-map-CmHqpCu1.js +0 -1
  178. package/dist/storybook/assets/syntaxhighlighter-ED5Y7EFY-BqFfcc7x.js +0 -6
@@ -0,0 +1,38 @@
1
+ import { LitElement } from 'lit';
2
+ type Constructor<T = object> = new (...args: any[]) => T;
3
+ export declare class RovingTabindexInterface {
4
+ _rovingIndex: number;
5
+ _getRovingTargets(): HTMLElement[];
6
+ _rovingFocus(index: number, shouldFocus?: boolean): void;
7
+ _rovingNext(): void;
8
+ _rovingPrev(): void;
9
+ _rovingFirst(): void;
10
+ _rovingLast(): void;
11
+ _rovingCurrentIndex(): number;
12
+ }
13
+ /**
14
+ * @mixin
15
+ * Mixin that provides roving tabindex navigation primitives for toolbar
16
+ * and menu components following WAI-ARIA keyboard patterns.
17
+ *
18
+ * Subclasses override `_getRovingTargets()` to return the focusable HTMLElements
19
+ * in DOM order. The mixin manages tabindex across those targets (one `0`, rest `-1`)
20
+ * and provides wrapping next/prev/first/last navigation.
21
+ *
22
+ * Does NOT install a keydown handler — each component defines its own
23
+ * (horizontal vs vertical, RTL, extra keys like Enter/Escape).
24
+ *
25
+ * @example
26
+ * ```typescript
27
+ * import { RovingTabindexMixin } from './RovingTabindexMixin'
28
+ *
29
+ * class MyToolbar extends RovingTabindexMixin(LitElement) {
30
+ * _getRovingTargets(): HTMLElement[] {
31
+ * return Array.from(this.querySelectorAll('button'))
32
+ * }
33
+ * }
34
+ * ```
35
+ */
36
+ export declare const RovingTabindexMixin: <T extends Constructor<LitElement>>(superClass: T) => Constructor<RovingTabindexInterface> & T;
37
+ export {};
38
+ //# sourceMappingURL=RovingTabindexMixin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RovingTabindexMixin.d.ts","sourceRoot":"","sources":["../../src/util/RovingTabindexMixin.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;AAExD,MAAM,CAAC,OAAO,OAAO,uBAAuB;IAC1C,YAAY,EAAE,MAAM,CAAA;IACpB,iBAAiB,IAAI,WAAW,EAAE;IAClC,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,IAAI;IACxD,WAAW,IAAI,IAAI;IACnB,WAAW,IAAI,IAAI;IACnB,YAAY,IAAI,IAAI;IACpB,WAAW,IAAI,IAAI;IACnB,mBAAmB,IAAI,MAAM;CAC9B;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,mBAAmB,GAAI,CAAC,SAAS,WAAW,CAAC,UAAU,CAAC,EAAE,YAAY,CAAC,KAuDpD,WAAW,CAAC,uBAAuB,CAAC,GAAG,CACtE,CAAA"}
@@ -0,0 +1,83 @@
1
+ import { LitElement } from 'lit';
2
+ /**
3
+ * @mixin
4
+ * Mixin that provides roving tabindex navigation primitives for toolbar
5
+ * and menu components following WAI-ARIA keyboard patterns.
6
+ *
7
+ * Subclasses override `_getRovingTargets()` to return the focusable HTMLElements
8
+ * in DOM order. The mixin manages tabindex across those targets (one `0`, rest `-1`)
9
+ * and provides wrapping next/prev/first/last navigation.
10
+ *
11
+ * Does NOT install a keydown handler — each component defines its own
12
+ * (horizontal vs vertical, RTL, extra keys like Enter/Escape).
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * import { RovingTabindexMixin } from './RovingTabindexMixin'
17
+ *
18
+ * class MyToolbar extends RovingTabindexMixin(LitElement) {
19
+ * _getRovingTargets(): HTMLElement[] {
20
+ * return Array.from(this.querySelectorAll('button'))
21
+ * }
22
+ * }
23
+ * ```
24
+ */
25
+ export const RovingTabindexMixin = (superClass) => {
26
+ class RovingTabindexClass extends superClass {
27
+ constructor() {
28
+ super(...arguments);
29
+ /** Index of the last focused target */
30
+ this._rovingIndex = 0;
31
+ }
32
+ /** Override: return focusable HTMLElements in navigation order */
33
+ _getRovingTargets() {
34
+ return [];
35
+ }
36
+ /** Set tabindex 0 on target at index, -1 on all others. Optionally focus. */
37
+ _rovingFocus(index, shouldFocus = true) {
38
+ const targets = this._getRovingTargets();
39
+ if (targets.length === 0)
40
+ return;
41
+ const clamped = Math.max(0, Math.min(index, targets.length - 1));
42
+ targets.forEach((t, i) => t.setAttribute('tabindex', i === clamped ? '0' : '-1'));
43
+ if (shouldFocus)
44
+ targets[clamped]?.focus();
45
+ this._rovingIndex = clamped;
46
+ }
47
+ /** Move to next target (wraps to first) */
48
+ _rovingNext() {
49
+ const targets = this._getRovingTargets();
50
+ if (targets.length === 0)
51
+ return;
52
+ const current = this._rovingCurrentIndex();
53
+ const next = current < targets.length - 1 ? current + 1 : 0;
54
+ this._rovingFocus(next);
55
+ }
56
+ /** Move to previous target (wraps to last) */
57
+ _rovingPrev() {
58
+ const targets = this._getRovingTargets();
59
+ if (targets.length === 0)
60
+ return;
61
+ const current = this._rovingCurrentIndex();
62
+ const prev = current > 0 ? current - 1 : targets.length - 1;
63
+ this._rovingFocus(prev);
64
+ }
65
+ /** Focus first target */
66
+ _rovingFirst() {
67
+ this._rovingFocus(0);
68
+ }
69
+ /** Focus last target */
70
+ _rovingLast() {
71
+ const targets = this._getRovingTargets();
72
+ if (targets.length > 0)
73
+ this._rovingFocus(targets.length - 1);
74
+ }
75
+ /** Find index of currently focused target */
76
+ _rovingCurrentIndex() {
77
+ const active = document.activeElement;
78
+ return this._getRovingTargets().findIndex(t => t === active || t.contains(active));
79
+ }
80
+ }
81
+ return RovingTabindexClass;
82
+ };
83
+ //# sourceMappingURL=RovingTabindexMixin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RovingTabindexMixin.js","sourceRoot":"","sources":["../../src/util/RovingTabindexMixin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAehC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAoC,UAAa,EAAE,EAAE;IACtF,MAAM,mBAAoB,SAAQ,UAAU;QAA5C;;YACE,uCAAuC;YACvC,iBAAY,GAAG,CAAC,CAAA;QAmDlB,CAAC;QAjDC,kEAAkE;QAClE,iBAAiB;YACf,OAAO,EAAE,CAAA;QACX,CAAC;QAED,6EAA6E;QAC7E,YAAY,CAAC,KAAa,EAAE,WAAW,GAAG,IAAI;YAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAA;YACxC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAM;YAChC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAA;YAChE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;YACjF,IAAI,WAAW;gBAAE,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAA;YAC1C,IAAI,CAAC,YAAY,GAAG,OAAO,CAAA;QAC7B,CAAC;QAED,2CAA2C;QAC3C,WAAW;YACT,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAA;YACxC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAM;YAChC,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAA;YAC1C,MAAM,IAAI,GAAG,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAC3D,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;QACzB,CAAC;QAED,8CAA8C;QAC9C,WAAW;YACT,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAA;YACxC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAM;YAChC,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAA;YAC1C,MAAM,IAAI,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAA;YAC3D,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;QACzB,CAAC;QAED,yBAAyB;QACzB,YAAY;YACV,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;QACtB,CAAC;QAED,wBAAwB;QACxB,WAAW;YACT,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAA;YACxC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;gBAAE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QAC/D,CAAC;QAED,6CAA6C;QAC7C,mBAAmB;YACjB,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAA;YACrC,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;QACpF,CAAC;KACF;IACD,OAAO,mBAA+D,CAAA;AACxE,CAAC,CAAA"}
@@ -0,0 +1,9 @@
1
+ export type EffectPosition = {
2
+ x: number;
3
+ y: number;
4
+ } | MouseEvent | Element;
5
+ export declare function resolvePosition(position: EffectPosition): {
6
+ x: number;
7
+ y: number;
8
+ };
9
+ //# sourceMappingURL=position.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"position.d.ts","sourceRoot":"","sources":["../../src/util/position.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,UAAU,GAAG,OAAO,CAAA;AAE5E,wBAAgB,eAAe,CAAC,QAAQ,EAAE,cAAc,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CASlF"}
@@ -0,0 +1,11 @@
1
+ export function resolvePosition(position) {
2
+ if (position instanceof MouseEvent) {
3
+ return { x: position.clientX, y: position.clientY };
4
+ }
5
+ if (position instanceof Element) {
6
+ const rect = position.getBoundingClientRect();
7
+ return { x: rect.left + rect.width / 2, y: rect.top + rect.height / 2 };
8
+ }
9
+ return position;
10
+ }
11
+ //# sourceMappingURL=position.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"position.js","sourceRoot":"","sources":["../../src/util/position.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,eAAe,CAAC,QAAwB;IACtD,IAAI,QAAQ,YAAY,UAAU,EAAE,CAAC;QACnC,OAAO,EAAE,CAAC,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAA;IACrD,CAAC;IACD,IAAI,QAAQ,YAAY,OAAO,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,QAAQ,CAAC,qBAAqB,EAAE,CAAA;QAC7C,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAA;IACzE,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC"}
@@ -0,0 +1,71 @@
1
+ # `src/components/action-bar/ActionBar.ts`:
2
+
3
+ ## class: `ActionBar`, `btu-action-bar`
4
+
5
+ ### Superclass
6
+
7
+ | Name | Module | Package |
8
+ | ------------ | ------ | ------- |
9
+ | `LitElement` | | lit |
10
+
11
+ ### Mixins
12
+
13
+ | Name | Module | Package |
14
+ | --------------------- | -------------------------------- | ------- |
15
+ | `RovingTabindexMixin` | /src/util/RovingTabindexMixin.js | |
16
+ | `EventEmitterMixin` | /src/util/EventEmitterMixin.js | |
17
+ | `ReadyMixin` | /src/util/ReadyMixin.js | |
18
+
19
+ ### Fields
20
+
21
+ | Name | Privacy | Type | Default | Description | Inherited From |
22
+ | ----------- | ------- | ----------- | ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------- |
23
+ | `position` | | `Position` | `'bottom'` | Bar position: 'top' or 'bottom' (default). | |
24
+ | `sticky` | | `boolean` | `false` | Enables CSS sticky positioning. When combined with position='top',&#xA;the bar sticks to the top of the scroll container. With position='bottom'&#xA;(default), it sticks to the bottom. | |
25
+ | `alignment` | | `Alignment` | `'default'` | Content alignment: 'default' (two-zone), 'start', 'center', 'end'.&#xA;Non-default alignments disable two-zone layout. | |
26
+ | `shadow` | | `boolean` | `false` | Adds a box-shadow to the bar. | |
27
+ | `label` | | `string` | `''` | Accessible label for the toolbar region. | |
28
+ | `compact` | | `boolean` | `false` | Enables progressive label compacting. When space shrinks, items marked&#xA;\`compactable\` (with icons) have their labels hidden one-by-one&#xA;from least to most important before items overflow into "More". | |
29
+
30
+ ### Events
31
+
32
+ | Name | Type | Description | Inherited From |
33
+ | ----------------------- | ------------------------------ | ------------------------------------------------------------------- | -------------- |
34
+ | `btu-action-bar-ready` | `CustomEvent` | Fired after first render and initialization | |
35
+ | `btu-action-item-click` | `CustomEvent<{label: string}>` | Fired when an action item is clicked (bubbles from btu-action-item) | |
36
+
37
+ ### Attributes
38
+
39
+ | Name | Field | Inherited From |
40
+ | ---------------- | --------- | -------------- |
41
+ | `position` | position | |
42
+ | `sticky` | sticky | |
43
+ | `item-alignment` | alignment | |
44
+ | `shadow` | shadow | |
45
+ | `label` | label | |
46
+ | `compact` | compact | |
47
+
48
+ ### CSS Properties
49
+
50
+ | Name | Default | Description |
51
+ | --------------------------- | ------- | ------------------------------------ |
52
+ | `--action-bar-gap` | | Gap between items (default: 0.75rem) |
53
+ | `--action-bar-padding` | | Bar padding (default: 1.5rem) |
54
+ | `--action-bar-background` | | Background color (default: white) |
55
+ | `--action-bar-border-color` | | Border color (default: gray-200) |
56
+ | `--action-bar-z-index` | | Z-index (default: 100) |
57
+
58
+ ### Slots
59
+
60
+ | Name | Description |
61
+ | ---- | ---------------------------------------- |
62
+ | | One or more \`btu-action-item\` elements |
63
+
64
+ <hr/>
65
+
66
+ ## Exports
67
+
68
+ | Kind | Name | Declaration | Module | Package |
69
+ | --------------------------- | ---------------- | ----------- | -------------------------------------- | ------- |
70
+ | `js` | `default` | ActionBar | src/components/action-bar/ActionBar.ts | |
71
+ | `custom-element-definition` | `btu-action-bar` | ActionBar | src/components/action-bar/ActionBar.ts | |
@@ -0,0 +1,76 @@
1
+ # `src/components/action-bar/ActionItem.ts`:
2
+
3
+ ## class: `ActionItem`, `btu-action-item`
4
+
5
+ ### Superclass
6
+
7
+ | Name | Module | Package |
8
+ | ------------ | ------ | ------- |
9
+ | `LitElement` | | lit |
10
+
11
+ ### Mixins
12
+
13
+ | Name | Module | Package |
14
+ | ------------------- | ------------------------------ | ------- |
15
+ | `TooltipMixin` | /src/util/TooltipMixin.js | |
16
+ | `EventEmitterMixin` | /src/util/EventEmitterMixin.js | |
17
+ | `ReadyMixin` | /src/util/ReadyMixin.js | |
18
+
19
+ ### Fields
20
+
21
+ | Name | Privacy | Type | Default | Description | Inherited From |
22
+ | ------------- | ------- | ------------------------ | ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------- |
23
+ | `label` | | `string` | `''` | Button label text. | |
24
+ | `variant` | | `ActionItemVariant` | `'secondary'` | Visual variant: 'primary', 'secondary', 'tertiary', 'destructive'. | |
25
+ | `iconName` | | `string` | `''` | Lucide icon name for the leading icon. | |
26
+ | `iconOnly` | | `boolean` | `false` | Show icon only, hiding the label. Tooltip activates automatically with the label text. | |
27
+ | `disabled` | | `boolean` | `false` | Disables the action item. The button remains focusable for accessibility&#xA;but click events are suppressed. | |
28
+ | `loading` | | `boolean` | `false` | Shows a loading spinner and prevents interaction. | |
29
+ | `zone` | | `'start' \| 'end' \| ''` | `''` | Zone placement: 'start' or 'end'. Used by ActionBar for two-zone layout.&#xA;If unset, auto-detected from variant (destructive → start, others → end). | |
30
+ | `compactable` | | `boolean` | `false` | Opt-in for progressive label compacting. When the parent bar has \`compact\`&#xA;enabled and space shrinks, compactable items with icons have their labels&#xA;hidden one-by-one (least important first) before overflowing.&#xA;Items without an icon ignore this attribute and go directly to overflow. | |
31
+
32
+ ### Methods
33
+
34
+ | Name | Privacy | Description | Parameters | Return | Inherited From |
35
+ | --------------------- | ------- | ----------- | ---------- | ------------------------ | -------------- |
36
+ | `_relayTooltipAttrs` | private | | | `void` | |
37
+ | `_handleClick` | private | | | `void` | |
38
+ | `_getSpinnerColor` | private | | | `string` | |
39
+ | `_buildButtonClasses` | private | | | `string` | |
40
+ | `_getButtonStyles` | private | | | `Record<string, string>` | |
41
+
42
+ ### Events
43
+
44
+ | Name | Type | Description | Inherited From |
45
+ | ----------------------- | ------------------------------ | -------------------------------------------------------------------------- | -------------- |
46
+ | `btu-action-item-click` | `CustomEvent<{label: string}>` | Fired when the action item is clicked (not fired when disabled or loading) | |
47
+
48
+ ### Attributes
49
+
50
+ | Name | Field | Inherited From |
51
+ | ------------- | ----------- | -------------- |
52
+ | `label` | label | |
53
+ | `variant` | variant | |
54
+ | `icon-name` | iconName | |
55
+ | `icon-only` | iconOnly | |
56
+ | `disabled` | disabled | |
57
+ | `loading` | loading | |
58
+ | `zone` | zone | |
59
+ | `compactable` | compactable | |
60
+
61
+ ### CSS Properties
62
+
63
+ | Name | Default | Description |
64
+ | ------------------------ | ------- | -------------------------------- |
65
+ | `--button-color` | | Override button background color |
66
+ | `--button-text-color` | | Override button text color |
67
+ | `--button-border-radius` | | Override button border radius |
68
+
69
+ <hr/>
70
+
71
+ ## Exports
72
+
73
+ | Kind | Name | Declaration | Module | Package |
74
+ | --------------------------- | ----------------- | ----------- | --------------------------------------- | ------- |
75
+ | `js` | `default` | ActionItem | src/components/action-bar/ActionItem.ts | |
76
+ | `custom-element-definition` | `btu-action-item` | ActionItem | src/components/action-bar/ActionItem.ts | |
@@ -42,13 +42,13 @@
42
42
 
43
43
  ### Events
44
44
 
45
- | Name | Type | Description | Inherited From |
46
- | ---------------------------- | -------------------------------------------------- | ----------------------------------------------------------------------------- | -------------- |
47
- | `btu-dropdown-ready` | `CustomEvent` | Fired after first render and initialization | |
48
- | `btu-dropdown-show` | `CustomEvent` | Fired when the dropdown panel opens | |
49
- | `btu-dropdown-hide` | `CustomEvent` | Fired when the dropdown panel closes | |
50
- | `btu-dropdown-item-select` | `CustomEvent<{label: string, selected: boolean}>` | Fired when a menu item is activated (bubbles from btu-dropdown-item) | |
51
- | `btu-dropdown-item-favorite` | `CustomEvent<{label: string, favorited: boolean}>` | Fired when a menu item's favorite is toggled (bubbles from btu-dropdown-item) | |
45
+ | Name | Type | Description | Inherited From |
46
+ | ---------------------------- | ---------------------------------------------------------------- | ----------------------------------------------------------------------------- | -------------- |
47
+ | `btu-dropdown-ready` | `CustomEvent` | Fired after first render and initialization | |
48
+ | `btu-dropdown-show` | `CustomEvent` | Fired when the dropdown panel opens | |
49
+ | `btu-dropdown-hide` | `CustomEvent` | Fired when the dropdown panel closes | |
50
+ | `btu-dropdown-item-select` | `CustomEvent<{label: string, value: string, selected: boolean}>` | Fired when a menu item is activated (bubbles from btu-dropdown-item) | |
51
+ | `btu-dropdown-item-favorite` | `CustomEvent<{label: string, favorited: boolean}>` | Fired when a menu item's favorite is toggled (bubbles from btu-dropdown-item) | |
52
52
 
53
53
  ### Attributes
54
54
 
@@ -23,9 +23,11 @@
23
23
  | `type` | | `'default' \| 'divider' \| 'subhead'` | `'default'` | Item type: 'default', 'divider', or 'subhead'. | |
24
24
  | `iconSymbol` | | `string` | `''` | Lucide icon symbol. | |
25
25
  | `shortcut` | | `string` | `''` | Keyboard shortcut display text. | |
26
+ | `value` | | `string` | `''` | Optional data value associated with the item. | |
26
27
  | `disabled` | | `boolean` | `false` | Whether the item is disabled. | |
27
28
  | `selected` | | `boolean` | `false` | Whether the item is selected/checked. | |
28
29
  | `favorited` | | `boolean` | `false` | Whether the item is favorited. | |
30
+ | `error` | | `boolean` | `false` | Whether the item has an error. | |
29
31
 
30
32
  ### Methods
31
33
 
@@ -36,11 +38,11 @@
36
38
 
37
39
  ### Events
38
40
 
39
- | Name | Type | Description | Inherited From |
40
- | ---------------------------- | -------------------------------------------------- | ------------------------------ | -------------- |
41
- | `btu-dropdown-item-ready` | `CustomEvent` | Fired after first render | |
42
- | `btu-dropdown-item-select` | `CustomEvent<{label: string, selected: boolean}>` | Fired when item is activated | |
43
- | `btu-dropdown-item-favorite` | `CustomEvent<{label: string, favorited: boolean}>` | Fired when favorite is toggled | |
41
+ | Name | Type | Description | Inherited From |
42
+ | ---------------------------- | ---------------------------------------------------------------- | ------------------------------ | -------------- |
43
+ | `btu-dropdown-item-ready` | `CustomEvent` | Fired after first render | |
44
+ | `btu-dropdown-item-select` | `CustomEvent<{label: string, value: string, selected: boolean}>` | Fired when item is activated | |
45
+ | `btu-dropdown-item-favorite` | `CustomEvent<{label: string, favorited: boolean}>` | Fired when favorite is toggled | |
44
46
 
45
47
  ### Attributes
46
48
 
@@ -50,9 +52,11 @@
50
52
  | `type` | type | |
51
53
  | `icon-symbol` | iconSymbol | |
52
54
  | `shortcut` | shortcut | |
55
+ | `value` | value | |
53
56
  | `disabled` | disabled | |
54
57
  | `selected` | selected | |
55
58
  | `favorited` | favorited | |
59
+ | `error` | error | |
56
60
 
57
61
  <hr/>
58
62
 
@@ -10,10 +10,11 @@
10
10
 
11
11
  ### Mixins
12
12
 
13
- | Name | Module | Package |
14
- | ------------------- | ------------------------------ | ------- |
15
- | `EventEmitterMixin` | /src/util/EventEmitterMixin.js | |
16
- | `ReadyMixin` | /src/util/ReadyMixin.js | |
13
+ | Name | Module | Package |
14
+ | --------------------- | -------------------------------- | ------- |
15
+ | `RovingTabindexMixin` | /src/util/RovingTabindexMixin.js | |
16
+ | `EventEmitterMixin` | /src/util/EventEmitterMixin.js | |
17
+ | `ReadyMixin` | /src/util/ReadyMixin.js | |
17
18
 
18
19
  ### Fields
19
20
 
@@ -31,14 +32,13 @@
31
32
 
32
33
  ### Methods
33
34
 
34
- | Name | Privacy | Description | Parameters | Return | Inherited From |
35
- | ----------------------- | ------- | --------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------- | -------------- |
36
- | `_configureItems` | private | Configure all child items with menu-level settings | | `void` | |
37
- | `_getAllItems` | private | Get all btu-dropdown-item children | | `DropdownItem[]` | |
38
- | `_getFocusableItems` | private | Get only focusable items (default type, skip dividers/subheads) | | `DropdownItem[]` | |
39
- | `_getCurrentFocusIndex` | private | Find the current focused item index | `focusable: DropdownItem[]` | `number` | |
40
- | `_findNextIndex` | private | Find next index wrapping around, moving in direction (+1 or -1) | `focusable: DropdownItem[], current: number, direction: 1 \| -1` | `number` | |
41
- | `_handleTypeahead` | private | Typeahead character matching with 500ms accumulation | `char: string, focusable: DropdownItem[]` | `void` | |
35
+ | Name | Privacy | Description | Parameters | Return | Inherited From |
36
+ | -------------------- | ------- | --------------------------------------------------------------- | ----------------------------------------- | ---------------- | -------------- |
37
+ | `_getRovingTargets` | | Override: return menuitem elements from focusable items | | `HTMLElement[]` | |
38
+ | `_configureItems` | private | Configure all child items with menu-level settings | | `void` | |
39
+ | `_getAllItems` | private | Get all btu-dropdown-item children | | `DropdownItem[]` | |
40
+ | `_getFocusableItems` | private | Get only focusable items (default type, skip dividers/subheads) | | `DropdownItem[]` | |
41
+ | `_handleTypeahead` | private | Typeahead character matching with 500ms accumulation | `char: string, focusable: DropdownItem[]` | `void` | |
42
42
 
43
43
  ### Events
44
44
 
@@ -17,35 +17,37 @@
17
17
 
18
18
  ### Fields
19
19
 
20
- | Name | Privacy | Type | Default | Description | Inherited From |
21
- | ------------------------ | ------- | --------------------- | -------------- | ------------------------------------------------- | -------------- |
22
- | `page` | | `number` | `1` | Current page number (1-based) | |
23
- | `pageSize` | | `number` | `0` | Number of items per page | |
24
- | `disabled` | | `boolean` | `false` | Disables all pagination controls | |
25
- | `loading` | | `boolean` | `false` | Shows loading spinner and dims controls | |
26
- | `hideOnSinglePage` | | `boolean` | `true` | Hide controls when there is only one page | |
27
- | `pageSizeChanger` | | `boolean` | `true` | Show the page size dropdown | |
28
- | `pageSizeOptions` | | `string` | `'10, 20, 50'` | Comma-separated page size options | |
29
- | `totalItems` | | `number` | `0` | Total number of items across all pages | |
30
- | `boundaryButtons` | | `boolean` | `true` | Show first and last page buttons | |
31
- | `hideTotalCount` | | `boolean` | `false` | Hide the item count display (e.g., "1-10 of 200") | |
32
- | `label` | | `string \| undefined` | | Accessible label for the pagination nav landmark | |
33
- | `_parsedPageSizeOptions` | private | `number[]` | | | |
34
- | `_totalPages` | private | `number` | | | |
35
- | `_startItem` | private | `number` | | | |
36
- | `_endItem` | private | `number` | | | |
20
+ | Name | Privacy | Type | Default | Description | Inherited From |
21
+ | ------------------------ | ------- | --------------------- | -------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------- |
22
+ | `page` | | `number` | `1` | Current page number (1-based) | |
23
+ | `pageSize` | | `number` | `0` | Number of items per page | |
24
+ | `disabled` | | `boolean` | `false` | Disables all pagination controls | |
25
+ | `loading` | | `boolean` | `false` | Shows loading spinner and dims controls | |
26
+ | `hideOnSinglePage` | | `boolean` | `true` | Hide controls when there is only one page | |
27
+ | `pageSizeChanger` | | `boolean` | `true` | Show the page size dropdown | |
28
+ | `pageSizeOptions` | | `string` | `'10, 20, 50'` | Comma-separated page size options | |
29
+ | `totalItems` | | `number` | `0` | Total number of items across all pages | |
30
+ | `boundaryButtons` | | `boolean` | `true` | Show first and last page buttons | |
31
+ | `hideTotalCount` | | `boolean` | `false` | Hide the item count display (e.g., "1-10 of 200") | |
32
+ | `pageJumper` | | `boolean` | `false` | Show the page jumper dropdown. Intended for moderate page counts (under \~100 pages).&#xA;For large datasets, use a custom \`slot="jumper"\` with a virtualized or input-based control. | |
33
+ | `label` | | `string \| undefined` | | Accessible label for the pagination nav landmark | |
34
+ | `_parsedPageSizeOptions` | private | `number[]` | | | |
35
+ | `_totalPages` | private | `number` | | | |
36
+ | `_startItem` | private | `number` | | | |
37
+ | `_endItem` | private | `number` | | | |
37
38
 
38
39
  ### Methods
39
40
 
40
- | Name | Privacy | Description | Parameters | Return | Inherited From |
41
- | ---------------------- | ------- | ----------- | --------------------------- | ------ | -------------- |
42
- | `_setupSlots` | private | | | `void` | |
43
- | `_goToFirstPage` | private | | `e: Event` | `void` | |
44
- | `_goToPreviousPage` | private | | `e: Event` | `void` | |
45
- | `_goToNextPage` | private | | `e: Event` | `void` | |
46
- | `_goToLastPage` | private | | `e: Event` | `void` | |
47
- | `_manageBoundaryFocus` | private | | `clickedButton: IconButton` | `void` | |
48
- | `_onPageSizeChange` | private | | `e: Event` | `void` | |
41
+ | Name | Privacy | Description | Parameters | Return | Inherited From |
42
+ | -------------------------- | ------- | ----------- | --------------------------- | ------ | -------------- |
43
+ | `_setupSlots` | private | | | `void` | |
44
+ | `_goToFirstPage` | private | | `e: Event` | `void` | |
45
+ | `_goToPreviousPage` | private | | `e: Event` | `void` | |
46
+ | `_goToNextPage` | private | | `e: Event` | `void` | |
47
+ | `_goToLastPage` | private | | `e: Event` | `void` | |
48
+ | `_manageBoundaryFocus` | private | | `clickedButton: IconButton` | `void` | |
49
+ | `_onBuiltinPageSizeSelect` | private | | `e: Event` | `void` | |
50
+ | `_onBuiltinJumperSelect` | private | | `e: Event` | `void` | |
49
51
 
50
52
  ### Events
51
53
 
@@ -69,21 +71,22 @@
69
71
  | `total-items` | totalItems | |
70
72
  | `boundary-buttons` | boundaryButtons | |
71
73
  | `hide-total-count` | hideTotalCount | |
74
+ | `page-jumper` | pageJumper | |
72
75
  | `label` | label | |
73
76
 
74
77
  ### CSS Properties
75
78
 
76
- | Name | Default | Description |
77
- | ------------------------------- | ------- | ------------------------------------------------ |
78
- | `--pagination-color-background` | | Background color for select, buttons, and jumper |
79
- | `--pagination-color-foreground` | | Text/icon color |
79
+ | Name | Default | Description |
80
+ | ------------------------------- | ------- | --------------------------------------------------- |
81
+ | `--pagination-color-background` | | Background color for dropdowns, buttons, and jumper |
82
+ | `--pagination-color-foreground` | | Text/icon color |
80
83
 
81
84
  ### Slots
82
85
 
83
- | Name | Description |
84
- | ----------- | ----------------------------------------------------------- |
85
- | `page-size` | Custom page-size selector (replaces built-in select) |
86
- | `jumper` | Custom jumper content (e.g., page dropdown, "Today" button) |
86
+ | Name | Description |
87
+ | ----------- | ---------------------------------------------------------------------------------------------- |
88
+ | `page-size` | Custom page-size selector (replaces built-in dropdown). Consumer manages all behavior. |
89
+ | `jumper` | Custom jumper content (replaces built-in page jumper dropdown). Consumer manages all behavior. |
87
90
 
88
91
  <hr/>
89
92
 
@@ -4,6 +4,8 @@ This directory contains auto-generated API documentation for all Brightspot UI w
4
4
 
5
5
  ## Components
6
6
 
7
+ - [`<btu-action-bar>` - ActionBar](ActionBar.md)
8
+ - [`<btu-action-item>` - ActionItem](ActionItem.md)
7
9
  - [`<btu-avatar>` - Avatar](Avatar.md)
8
10
  - [`<btu-avatar-group>` - AvatarGroup](AvatarGroup.md)
9
11
  - [`<btu-badge>` - Badge](Badge.md)
@@ -17,6 +19,9 @@ This directory contains auto-generated API documentation for all Brightspot UI w
17
19
  - [`<btu-linear-progress>` - LinearProgress](LinearProgress.md)
18
20
  - [`<btu-pagination>` - Pagination](Pagination.md)
19
21
  - [`<btu-popover>` - Popover](Popover.md)
22
+ - [`<btu-switch>` - Switch](Switch.md)
23
+ - [`<btu-tab>` - Tab](Tab.md)
24
+ - [`<btu-tabs>` - Tabs](Tabs.md)
20
25
  - [`<btu-widget>` - Widget](Widget.md)
21
26
 
22
27
  ---