@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,252 @@
1
+ import plugin from 'tailwindcss/plugin'
2
+ import type { CSSRuleObject } from 'tailwindcss/types/config'
3
+ declare let module: any
4
+
5
+ /**
6
+ * Switch component — a styled checkbox visually rendered as a sliding switch.
7
+ *
8
+ * Class Names:
9
+ *
10
+ * btu-switch - Wrapper element (use as <label>)
11
+ * btu-switch-input - The hidden <input type="checkbox">
12
+ * btu-switch-track - The pill/track element
13
+ * btu-switch-knob - The sliding circular handle (child of btu-switch-track)
14
+ * btu-switch-text - Optional container for label + description (flex column)
15
+ * btu-switch-label - Primary label text
16
+ * btu-switch-description - Secondary description text
17
+ * btu-switch-[md|lg] - Size variants (default: sm dimensions)
18
+ * btu-switch-label-start - Positions label/text before the track
19
+ * btu-switch-track-icon-on - Icon displayed on the track when checked (sm: 0.5rem, md: 0.625rem, lg: 0.75rem)
20
+ * btu-switch-track-icon-off - Icon displayed on the track when unchecked (sm: 0.5rem, md: 0.625rem, lg: 0.75rem)
21
+ *
22
+ * CSS Custom Properties:
23
+ *
24
+ * --switch-color-track-on - Track background when checked (default: primary-700)
25
+ * --switch-color-track-off - Track background when unchecked (default: gray-300)
26
+ * --switch-color-knob - Knob/handle color (default: white)
27
+ * --switch-label-spacing - Gap between track and label text (default: 0.75rem)
28
+ *
29
+ * Example Usage:
30
+ *
31
+ * <label class="btu-switch">
32
+ * <input type="checkbox" role="switch" class="btu-switch-input">
33
+ * <span class="btu-switch-track">
34
+ * <btu-icon class="btu-switch-track-icon-on" symbol="check"></btu-icon>
35
+ * <span class="btu-switch-knob"></span>
36
+ * <btu-icon class="btu-switch-track-icon-off" symbol="x"></btu-icon>
37
+ * </span>
38
+ * <span class="btu-switch-text">
39
+ * <span class="btu-switch-label">Enable notifications</span>
40
+ * <span class="btu-switch-description">Receive updates via email</span>
41
+ * </span>
42
+ * </label>
43
+ */
44
+
45
+ module.exports = plugin(function ({ addComponents, config, theme }) {
46
+ const components: CSSRuleObject = {
47
+ // -------------------------------------------------------------------------
48
+ // Wrapper
49
+ // -------------------------------------------------------------------------
50
+ '.btu-switch': {
51
+ '--switch-track-width': '1.75rem',
52
+ '--switch-track-height': '1rem',
53
+ '--switch-knob-size': '0.75rem',
54
+ '--switch-knob-padding': '0.125rem',
55
+ '--switch-track-icon-size': '0.5rem',
56
+ display: 'inline-flex',
57
+ alignItems: 'center',
58
+ gap: 'var(--switch-label-spacing, 0.75rem)',
59
+ cursor: 'pointer',
60
+ userSelect: 'none',
61
+ },
62
+
63
+ // -------------------------------------------------------------------------
64
+ // Hidden input (sr-only pattern)
65
+ // -------------------------------------------------------------------------
66
+ '.btu-switch-input': {
67
+ position: 'absolute',
68
+ width: '1px',
69
+ height: '1px',
70
+ padding: '0',
71
+ margin: '-1px',
72
+ overflow: 'hidden',
73
+ clipPath: 'inset(50%)',
74
+ whiteSpace: 'nowrap',
75
+ borderWidth: '0',
76
+ },
77
+
78
+ // -------------------------------------------------------------------------
79
+ // Track
80
+ // -------------------------------------------------------------------------
81
+ '.btu-switch-track': {
82
+ flexShrink: '0',
83
+ position: 'relative',
84
+ display: 'inline-flex',
85
+ alignItems: 'center',
86
+ width: 'var(--switch-track-width)',
87
+ height: 'var(--switch-track-height)',
88
+ padding: 'var(--switch-knob-padding)',
89
+ borderRadius: '999px',
90
+ background: 'var(--switch-color-track-off, oklch(var(--btu-theme-gray-300)))',
91
+ transition: 'background 150ms ease-in-out',
92
+ },
93
+
94
+ // -------------------------------------------------------------------------
95
+ // Knob
96
+ // -------------------------------------------------------------------------
97
+ '.btu-switch-knob': {
98
+ flexShrink: '0',
99
+ width: 'var(--switch-knob-size)',
100
+ height: 'var(--switch-knob-size)',
101
+ borderRadius: '50%',
102
+ background: 'var(--switch-color-knob, var(--btu-theme-white))',
103
+ boxShadow: theme('boxShadow.sm'),
104
+ transition: 'transform 170ms cubic-bezier(.895, .03, .685, .22)',
105
+ },
106
+
107
+ // -------------------------------------------------------------------------
108
+ // Track icons (on/off)
109
+ // -------------------------------------------------------------------------
110
+ '.btu-switch-track-icon-on, .btu-switch-track-icon-off': {
111
+ position: 'absolute',
112
+ top: '50%',
113
+ opacity: '0',
114
+ color: 'var(--switch-color-knob, var(--btu-theme-white))',
115
+ pointerEvents: 'none',
116
+ transition: 'opacity 150ms ease-in-out',
117
+ },
118
+
119
+ '.btu-switch-track-icon-on': {
120
+ left: 'calc((var(--switch-track-width) - var(--switch-knob-size) - var(--switch-knob-padding)) / 2)',
121
+ transform: 'translate(-50%, -50%)',
122
+ },
123
+
124
+ '.btu-switch-track-icon-off': {
125
+ right: 'calc((var(--switch-track-width) - var(--switch-knob-size) - var(--switch-knob-padding)) / 2)',
126
+ transform: 'translate(50%, -50%)',
127
+ },
128
+
129
+ '.btu-switch-input:not(:checked) ~ .btu-switch-track .btu-switch-track-icon-off': {
130
+ opacity: '1',
131
+ },
132
+
133
+ // -------------------------------------------------------------------------
134
+ // Checked state
135
+ // -------------------------------------------------------------------------
136
+ '.btu-switch-input:checked ~ .btu-switch-track': {
137
+ background: 'var(--switch-color-track-on, oklch(var(--btu-theme-primary-700)))',
138
+ },
139
+
140
+ '.btu-switch-input:checked ~ .btu-switch-track .btu-switch-track-icon-on': {
141
+ opacity: '1',
142
+ },
143
+
144
+ '.btu-switch-input:checked ~ .btu-switch-track .btu-switch-knob': {
145
+ transform:
146
+ 'translateX(calc(var(--switch-track-width) - var(--switch-knob-size) - var(--switch-knob-padding) * 2))',
147
+ },
148
+
149
+ // -------------------------------------------------------------------------
150
+ // Hover state
151
+ // -------------------------------------------------------------------------
152
+ '.btu-switch:hover .btu-switch-input:not(:disabled) ~ .btu-switch-track': {
153
+ background: 'var(--switch-color-track-off, oklch(var(--btu-theme-gray-400)))',
154
+ },
155
+
156
+ '.btu-switch:hover .btu-switch-input:not(:disabled):checked ~ .btu-switch-track': {
157
+ background: 'var(--switch-color-track-on, oklch(var(--btu-theme-primary-800)))',
158
+ },
159
+
160
+ // -------------------------------------------------------------------------
161
+ // Focus visible — ring on the track
162
+ // -------------------------------------------------------------------------
163
+ '.btu-switch-input:focus-visible ~ .btu-switch-track': {
164
+ outline: '3px solid oklch(var(--btu-theme-primary-200))',
165
+ outlineOffset: '0px',
166
+ },
167
+
168
+ // -------------------------------------------------------------------------
169
+ // Disabled state
170
+ // -------------------------------------------------------------------------
171
+ '.btu-switch-input:disabled ~ .btu-switch-track': {
172
+ opacity: '0.5',
173
+ pointerEvents: 'none',
174
+ },
175
+
176
+ '.btu-switch-input:disabled:checked ~ .btu-switch-track': {
177
+ background: 'oklch(var(--btu-theme-primary-200))',
178
+ opacity: '1',
179
+ },
180
+
181
+ '.btu-switch-input:disabled ~ .btu-switch-text': {
182
+ color: 'oklch(var(--btu-theme-gray-300))',
183
+ },
184
+
185
+ '.btu-switch:has(.btu-switch-input:disabled)': {
186
+ pointerEvents: 'none',
187
+ },
188
+
189
+ // -------------------------------------------------------------------------
190
+ // Text elements
191
+ // -------------------------------------------------------------------------
192
+ '.btu-switch-text': {
193
+ display: 'flex',
194
+ flexDirection: 'column',
195
+ gap: '0.125rem',
196
+ },
197
+
198
+ '.btu-switch-label': {
199
+ fontSize: config('theme.fontSize.sm')?.[0] ?? '0.875rem',
200
+ lineHeight: config('theme.fontSize.sm')?.[1] ?? '1.25rem',
201
+ fontWeight: '500',
202
+ color: 'oklch(var(--btu-theme-gray-700))',
203
+ },
204
+
205
+ '.btu-switch-description': {
206
+ fontSize: config('theme.fontSize.xs')?.[0] ?? '0.75rem',
207
+ lineHeight: config('theme.fontSize.xs')?.[1] ?? '1.125rem',
208
+ color: 'oklch(var(--btu-theme-gray-500))',
209
+ },
210
+
211
+ // -------------------------------------------------------------------------
212
+ // Label position: start (label/text before track)
213
+ // -------------------------------------------------------------------------
214
+ '.btu-switch-label-start': {
215
+ flexDirection: 'row-reverse',
216
+ },
217
+
218
+ // -------------------------------------------------------------------------
219
+ // Size variants
220
+ // -------------------------------------------------------------------------
221
+ '.btu-switch-md': {
222
+ '--switch-track-width': '2.25rem',
223
+ '--switch-track-height': '1.25rem',
224
+ '--switch-knob-size': '1rem',
225
+ '--switch-track-icon-size': '0.625rem',
226
+ },
227
+
228
+ '.btu-switch-lg': {
229
+ '--switch-track-width': '2.75rem',
230
+ '--switch-track-height': '1.5rem',
231
+ '--switch-knob-size': '1.25rem',
232
+ '--switch-track-icon-size': '0.75rem',
233
+ },
234
+
235
+ // -------------------------------------------------------------------------
236
+ // Reduced motion
237
+ // -------------------------------------------------------------------------
238
+ '@media (prefers-reduced-motion: reduce)': {
239
+ '.btu-switch-track': {
240
+ transition: 'background 0.01ms ease',
241
+ },
242
+ '.btu-switch-knob': {
243
+ transition: 'transform 0.01ms ease',
244
+ },
245
+ '.btu-switch-track-icon-on, .btu-switch-track-icon-off': {
246
+ transition: 'opacity 0.01ms ease',
247
+ },
248
+ },
249
+ }
250
+
251
+ addComponents(components)
252
+ })
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=tailwind-plugin-tabs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tailwind-plugin-tabs.d.ts","sourceRoot":"","sources":["../src/tailwind-plugin-tabs.ts"],"names":[],"mappings":""}
@@ -0,0 +1,151 @@
1
+ import plugin from 'tailwindcss/plugin';
2
+ /**
3
+ * Tabs component styles.
4
+ *
5
+ * Class Names:
6
+ *
7
+ * btu-tabs - Root container
8
+ * btu-tabs-xs - Extra small container padding
9
+ * btu-tabs-sm - Small container padding
10
+ * btu-tabs-md - Medium container padding (default)
11
+ * btu-tabs-lg - Large container padding
12
+ * btu-tab - Individual tab wrapper
13
+ * btu-tab-button - Inner tab button
14
+ * btu-tab-button-xs - Extra small button height/text
15
+ * btu-tab-button-sm - Small button height/text
16
+ * btu-tab-button-md - Medium button height/text (default)
17
+ * btu-tab-button-lg - Large button height/text
18
+ * btu-tab-indicator - Active tab underline indicator
19
+ * btu-tabs-menu-mode - Menu variant overflow override
20
+ * btu-tab-menu-wrapper - Menu variant wrapper for label and dropdown
21
+ * btu-tab-menu-label - Menu variant active tab label
22
+ *
23
+ * CSS Custom Properties:
24
+ *
25
+ * --tabs-active-color - Text and icon color of the active tab (default: gray-700)
26
+ * --tabs-active-indicator-color - Color of the active tab underline indicator (default: primary gradient)
27
+ * --tabs-border-color - Bottom border divider color (default: gray-200)
28
+ * --tabs-color - Text and icon color for all tabs (default: gray-500)
29
+ * --tabs-background - Background color for all tab buttons (default: transparent)
30
+ * --tabs-container-background - Background color of the tabs container (default: theme white)
31
+ * --tabs-hover-background - Background color of a tab on hover (default: gray-100)
32
+ * --tabs-hover-color - Text and icon color of a tab on hover (default: gray-700)
33
+ * --tabs-gap - Spacing between tabs (default: 1rem)
34
+ */
35
+ module.exports = plugin(function ({ addComponents, addBase, config, theme }) {
36
+ const fontSize_xs = config('theme.fontSize.xs')?.[0] ?? '0.75rem';
37
+ const fontSize_sm = config('theme.fontSize.sm')?.[0] ?? '0.875rem';
38
+ const fontSize_base = config('theme.fontSize.base')?.[0] ?? '1rem';
39
+ addBase({
40
+ '@keyframes btu-tab-draw': {
41
+ from: { transform: 'scaleX(0)' },
42
+ to: { transform: 'scaleX(1)' },
43
+ },
44
+ });
45
+ addComponents({
46
+ '.btu-tabs': {
47
+ display: 'flex',
48
+ alignItems: 'center',
49
+ gap: 'var(--tabs-gap, 1rem)',
50
+ position: 'relative',
51
+ borderBottom: '1px solid var(--tabs-border-color, oklch(var(--btu-theme-gray-200)))',
52
+ backgroundColor: 'var(--tabs-container-background, var(--btu-theme-white))',
53
+ overflowX: 'auto',
54
+ overflowY: 'clip',
55
+ },
56
+ // In menu mode, disable scrolling so the dropdown can extend beyond the container
57
+ '.btu-tabs-menu-mode': {
58
+ overflowX: 'visible',
59
+ overflowY: 'visible',
60
+ },
61
+ '.btu-tabs-xs': { paddingInline: '1rem' },
62
+ '.btu-tabs-sm': { paddingInline: '1rem' },
63
+ '.btu-tabs-md': { paddingInline: '1.5rem' },
64
+ '.btu-tabs-lg': { paddingInline: '1.5rem' },
65
+ '.btu-tab': {
66
+ display: 'inline-flex',
67
+ flexDirection: 'column',
68
+ alignItems: 'center',
69
+ flexShrink: '0',
70
+ },
71
+ '.btu-tab-button': {
72
+ position: 'relative',
73
+ display: 'inline-flex',
74
+ alignItems: 'center',
75
+ justifyContent: 'center',
76
+ gap: '0.5rem',
77
+ paddingInline: '0.5rem',
78
+ cursor: 'pointer',
79
+ whiteSpace: 'nowrap',
80
+ boxSizing: 'border-box',
81
+ backgroundColor: 'var(--tabs-background, transparent)',
82
+ color: 'var(--tabs-color, oklch(var(--btu-theme-gray-500)))',
83
+ transitionProperty: 'color, background-color',
84
+ transitionDuration: '150ms',
85
+ transitionTimingFunction: 'ease',
86
+ '&:hover:not([aria-disabled="true"])': {
87
+ backgroundColor: 'var(--tabs-hover-background, oklch(var(--btu-theme-gray-100)))',
88
+ color: 'var(--tabs-hover-color, oklch(var(--btu-theme-gray-700)))',
89
+ },
90
+ '&[aria-selected="true"]:not([aria-disabled="true"])': {
91
+ color: 'var(--tabs-active-color, oklch(var(--btu-theme-gray-700)))',
92
+ },
93
+ '&[aria-disabled="true"]': {
94
+ color: 'oklch(var(--btu-theme-gray-300))',
95
+ cursor: 'not-allowed',
96
+ },
97
+ '&:focus-visible': {
98
+ outline: 'none',
99
+ boxShadow: 'inset 0 0 0 3px oklch(var(--btu-theme-primary-100)), inset 0 0 0 4px oklch(var(--btu-theme-primary-600))',
100
+ },
101
+ '@media (prefers-reduced-motion: reduce)': {
102
+ transitionDuration: '0.01ms',
103
+ },
104
+ },
105
+ '.btu-tab-button-xs': {
106
+ height: '2.25rem',
107
+ fontSize: fontSize_xs,
108
+ fontWeight: '400',
109
+ },
110
+ '.btu-tab-button-sm': {
111
+ height: '2.75rem',
112
+ fontSize: fontSize_sm,
113
+ fontWeight: '500',
114
+ },
115
+ '.btu-tab-button-md': {
116
+ height: '3.25rem',
117
+ fontSize: fontSize_sm,
118
+ fontWeight: '500',
119
+ },
120
+ '.btu-tab-button-lg': {
121
+ height: '3.5rem',
122
+ fontSize: fontSize_base,
123
+ fontWeight: '500',
124
+ },
125
+ '.btu-tab-indicator': {
126
+ position: 'absolute',
127
+ bottom: '0',
128
+ left: '0',
129
+ right: '0',
130
+ height: '0.125rem',
131
+ background: `var(--tabs-active-indicator-color, ${theme('backgroundImage.primary-gradient')})`,
132
+ transformOrigin: 'left',
133
+ animation: 'btu-tab-draw 200ms ease-out',
134
+ '@media (prefers-reduced-motion: reduce)': {
135
+ animationDuration: '0.01ms',
136
+ },
137
+ },
138
+ '.btu-tab-menu-wrapper': {
139
+ display: 'inline-flex',
140
+ alignItems: 'center',
141
+ gap: '0.5rem',
142
+ },
143
+ '.btu-tab-menu-label': {
144
+ fontSize: fontSize_sm,
145
+ fontWeight: '500',
146
+ color: 'var(--tabs-active-color, oklch(var(--btu-theme-gray-700)))',
147
+ whiteSpace: 'nowrap',
148
+ },
149
+ });
150
+ });
151
+ //# sourceMappingURL=tailwind-plugin-tabs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tailwind-plugin-tabs.js","sourceRoot":"","sources":["../src/tailwind-plugin-tabs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,162 @@
1
+ import plugin from 'tailwindcss/plugin'
2
+ declare let module: any
3
+
4
+ /**
5
+ * Tabs component styles.
6
+ *
7
+ * Class Names:
8
+ *
9
+ * btu-tabs - Root container
10
+ * btu-tabs-xs - Extra small container padding
11
+ * btu-tabs-sm - Small container padding
12
+ * btu-tabs-md - Medium container padding (default)
13
+ * btu-tabs-lg - Large container padding
14
+ * btu-tab - Individual tab wrapper
15
+ * btu-tab-button - Inner tab button
16
+ * btu-tab-button-xs - Extra small button height/text
17
+ * btu-tab-button-sm - Small button height/text
18
+ * btu-tab-button-md - Medium button height/text (default)
19
+ * btu-tab-button-lg - Large button height/text
20
+ * btu-tab-indicator - Active tab underline indicator
21
+ * btu-tabs-menu-mode - Menu variant overflow override
22
+ * btu-tab-menu-wrapper - Menu variant wrapper for label and dropdown
23
+ * btu-tab-menu-label - Menu variant active tab label
24
+ *
25
+ * CSS Custom Properties:
26
+ *
27
+ * --tabs-active-color - Text and icon color of the active tab (default: gray-700)
28
+ * --tabs-active-indicator-color - Color of the active tab underline indicator (default: primary gradient)
29
+ * --tabs-border-color - Bottom border divider color (default: gray-200)
30
+ * --tabs-color - Text and icon color for all tabs (default: gray-500)
31
+ * --tabs-background - Background color for all tab buttons (default: transparent)
32
+ * --tabs-container-background - Background color of the tabs container (default: theme white)
33
+ * --tabs-hover-background - Background color of a tab on hover (default: gray-100)
34
+ * --tabs-hover-color - Text and icon color of a tab on hover (default: gray-700)
35
+ * --tabs-gap - Spacing between tabs (default: 1rem)
36
+ */
37
+
38
+ module.exports = plugin(function ({ addComponents, addBase, config, theme }) {
39
+ const fontSize_xs = config('theme.fontSize.xs')?.[0] ?? '0.75rem'
40
+ const fontSize_sm = config('theme.fontSize.sm')?.[0] ?? '0.875rem'
41
+ const fontSize_base = config('theme.fontSize.base')?.[0] ?? '1rem'
42
+
43
+ addBase({
44
+ '@keyframes btu-tab-draw': {
45
+ from: { transform: 'scaleX(0)' },
46
+ to: { transform: 'scaleX(1)' },
47
+ },
48
+ })
49
+
50
+ addComponents({
51
+ '.btu-tabs': {
52
+ display: 'flex',
53
+ alignItems: 'center',
54
+ gap: 'var(--tabs-gap, 1rem)',
55
+ position: 'relative',
56
+ borderBottom: '1px solid var(--tabs-border-color, oklch(var(--btu-theme-gray-200)))',
57
+ backgroundColor: 'var(--tabs-container-background, var(--btu-theme-white))',
58
+ overflowX: 'auto',
59
+ overflowY: 'clip',
60
+ },
61
+ // In menu mode, disable scrolling so the dropdown can extend beyond the container
62
+ '.btu-tabs-menu-mode': {
63
+ overflowX: 'visible',
64
+ overflowY: 'visible',
65
+ },
66
+ '.btu-tabs-xs': { paddingInline: '1rem' },
67
+ '.btu-tabs-sm': { paddingInline: '1rem' },
68
+ '.btu-tabs-md': { paddingInline: '1.5rem' },
69
+ '.btu-tabs-lg': { paddingInline: '1.5rem' },
70
+
71
+ '.btu-tab': {
72
+ display: 'inline-flex',
73
+ flexDirection: 'column',
74
+ alignItems: 'center',
75
+ flexShrink: '0',
76
+ },
77
+
78
+ '.btu-tab-button': {
79
+ position: 'relative',
80
+ display: 'inline-flex',
81
+ alignItems: 'center',
82
+ justifyContent: 'center',
83
+ gap: '0.5rem',
84
+ paddingInline: '0.5rem',
85
+ cursor: 'pointer',
86
+ whiteSpace: 'nowrap',
87
+ boxSizing: 'border-box',
88
+ backgroundColor: 'var(--tabs-background, transparent)',
89
+ color: 'var(--tabs-color, oklch(var(--btu-theme-gray-500)))',
90
+ transitionProperty: 'color, background-color',
91
+ transitionDuration: '150ms',
92
+ transitionTimingFunction: 'ease',
93
+ '&:hover:not([aria-disabled="true"])': {
94
+ backgroundColor: 'var(--tabs-hover-background, oklch(var(--btu-theme-gray-100)))',
95
+ color: 'var(--tabs-hover-color, oklch(var(--btu-theme-gray-700)))',
96
+ },
97
+ '&[aria-selected="true"]:not([aria-disabled="true"])': {
98
+ color: 'var(--tabs-active-color, oklch(var(--btu-theme-gray-700)))',
99
+ },
100
+ '&[aria-disabled="true"]': {
101
+ color: 'oklch(var(--btu-theme-gray-300))',
102
+ cursor: 'not-allowed',
103
+ },
104
+ '&:focus-visible': {
105
+ outline: 'none',
106
+ boxShadow:
107
+ 'inset 0 0 0 3px oklch(var(--btu-theme-primary-100)), inset 0 0 0 4px oklch(var(--btu-theme-primary-600))',
108
+ },
109
+ '@media (prefers-reduced-motion: reduce)': {
110
+ transitionDuration: '0.01ms',
111
+ },
112
+ },
113
+
114
+ '.btu-tab-button-xs': {
115
+ height: '2.25rem',
116
+ fontSize: fontSize_xs,
117
+ fontWeight: '400',
118
+ },
119
+ '.btu-tab-button-sm': {
120
+ height: '2.75rem',
121
+ fontSize: fontSize_sm,
122
+ fontWeight: '500',
123
+ },
124
+ '.btu-tab-button-md': {
125
+ height: '3.25rem',
126
+ fontSize: fontSize_sm,
127
+ fontWeight: '500',
128
+ },
129
+ '.btu-tab-button-lg': {
130
+ height: '3.5rem',
131
+ fontSize: fontSize_base,
132
+ fontWeight: '500',
133
+ },
134
+
135
+ '.btu-tab-indicator': {
136
+ position: 'absolute',
137
+ bottom: '0',
138
+ left: '0',
139
+ right: '0',
140
+ height: '0.125rem',
141
+ background: `var(--tabs-active-indicator-color, ${theme('backgroundImage.primary-gradient')})`,
142
+ transformOrigin: 'left',
143
+ animation: 'btu-tab-draw 200ms ease-out',
144
+ '@media (prefers-reduced-motion: reduce)': {
145
+ animationDuration: '0.01ms',
146
+ },
147
+ },
148
+
149
+ '.btu-tab-menu-wrapper': {
150
+ display: 'inline-flex',
151
+ alignItems: 'center',
152
+ gap: '0.5rem',
153
+ },
154
+
155
+ '.btu-tab-menu-label': {
156
+ fontSize: fontSize_sm,
157
+ fontWeight: '500',
158
+ color: 'var(--tabs-active-color, oklch(var(--btu-theme-gray-700)))',
159
+ whiteSpace: 'nowrap',
160
+ },
161
+ })
162
+ })
@@ -60,12 +60,33 @@ export interface CustomEventMap {
60
60
  'btu-dropdown-item-ready': CustomEvent<unknown>;
61
61
  'btu-dropdown-item-select': CustomEvent<{
62
62
  label: string;
63
+ value: string;
63
64
  selected: boolean;
64
65
  }>;
65
66
  'btu-dropdown-item-favorite': CustomEvent<{
66
67
  label: string;
67
68
  favorited: boolean;
68
69
  }>;
70
+ 'btu-tabs-ready': CustomEvent<unknown>;
71
+ 'btu-tab-ready': CustomEvent<unknown>;
72
+ 'btu-tab-change': CustomEvent<{
73
+ name: string;
74
+ }>;
75
+ 'btu-tabs-show': CustomEvent<{
76
+ name: string;
77
+ }>;
78
+ 'btu-tabs-hide': CustomEvent<{
79
+ name: string;
80
+ }>;
81
+ 'btu-switch-ready': CustomEvent<unknown>;
82
+ 'btu-switch-change': CustomEvent<{
83
+ checked: boolean;
84
+ }>;
85
+ 'btu-switch-focus': CustomEvent<unknown>;
86
+ 'btu-action-bar-ready': CustomEvent<unknown>;
87
+ 'btu-action-item-click': CustomEvent<{
88
+ label: string;
89
+ }>;
69
90
  }
70
91
  interface CombinedEventMap extends HTMLElementEventMap, CustomEventMap {
71
92
  }
@@ -1 +1 @@
1
- {"version":3,"file":"EventEmitterMixin.d.ts","sourceRoot":"","sources":["../../src/util/EventEmitterMixin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EventEmitterMixin.d.ts","sourceRoot":"","sources":["../../src/util/EventEmitterMixin.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"EventEmitterMixin.js","sourceRoot":"","sources":["../../src/util/EventEmitterMixin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAiEhC;;;;;;;;;;;;;;;;;;;;;;;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"}
1
+ {"version":3,"file":"EventEmitterMixin.js","sourceRoot":"","sources":["../../src/util/EventEmitterMixin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AA2EhC;;;;;;;;;;;;;;;;;;;;;;;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"}