@brightspot/ui 5.0.2 → 5.0.3-css-bloat.1

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 (180) hide show
  1. package/dist/components/button-group/ButtonGroup.d.ts +14 -4
  2. package/dist/components/button-group/ButtonGroup.d.ts.map +1 -1
  3. package/dist/components/button-group/ButtonGroup.js +14 -4
  4. package/dist/components/button-group/ButtonGroup.js.map +1 -1
  5. package/dist/components/circular-progress/CircularProgress.js +2 -2
  6. package/dist/components/dropdown/DropdownItem.d.ts.map +1 -1
  7. package/dist/components/dropdown/DropdownItem.js +3 -4
  8. package/dist/components/dropdown/DropdownItem.js.map +1 -1
  9. package/dist/components/icon/Icon.d.ts.map +1 -1
  10. package/dist/components/icon/Icon.js +7 -4
  11. package/dist/components/icon/Icon.js.map +1 -1
  12. package/dist/components/linear-progress/LinearProgress.js +1 -1
  13. package/dist/components/tabs/Tab.js +1 -1
  14. package/dist/components/tabs/Tab.js.map +1 -1
  15. package/dist/components/upload/UploadItem.js +1 -1
  16. package/dist/components/upload/UploadItem.js.map +1 -1
  17. package/dist/components/widget/Widget.css +1 -1
  18. package/dist/components/widget/Widget.js +1 -1
  19. package/dist/custom-elements.json +1238 -1226
  20. package/dist/storybook/assets/{ActionBar.stories-DR8qKNFC.js → ActionBar.stories-mJT7v57p.js} +1 -1
  21. package/dist/storybook/assets/{ActionItem.stories-n0lxOjIK.js → ActionItem.stories-BlFf4xEA.js} +1 -1
  22. package/dist/storybook/assets/{Avatar.stories-DWNXboUH.js → Avatar.stories--_L9Vbdp.js} +1 -1
  23. package/dist/storybook/assets/{AvatarGroup.stories-CJy1A8Mq.js → AvatarGroup.stories-C51JkHGo.js} +5 -5
  24. package/dist/storybook/assets/{Badge.stories-BkrU56BA.js → Badge.stories-Cb7xiaXg.js} +1 -1
  25. package/dist/storybook/assets/{Button-DqChP2U6.js → Button-CUSnc1o5.js} +1 -1
  26. package/dist/storybook/assets/{Button.stories-C1SqU1BT.js → Button.stories-DYN1XkuS.js} +1 -1
  27. package/dist/storybook/assets/{ButtonGroup.stories-CF1Mh2ug.js → ButtonGroup.stories-DG8aRtzR.js} +48 -48
  28. package/dist/storybook/assets/{Celebrate.stories-ClqAmUk2.js → Celebrate.stories-DTEESbu8.js} +7 -7
  29. package/dist/storybook/assets/{Checkbox.stories-hmxev_eW.js → Checkbox.stories-C9YH29GV.js} +1 -1
  30. package/dist/storybook/assets/{CircularProgress.stories-cWJl_EBP.js → CircularProgress.stories-DdYXxjoB.js} +1 -1
  31. package/dist/storybook/assets/{ClipboardMixin.stories-E6G4v8eu.js → ClipboardMixin.stories-CmZELLpR.js} +2 -2
  32. package/dist/storybook/assets/{Color-6BZIO3FS-mGoabL41.js → Color-6BZIO3FS-o42Z8gTi.js} +1 -1
  33. package/dist/storybook/assets/{Colors.stories-CjWwNT2v.js → Colors.stories-DjuerTf9.js} +1 -1
  34. package/dist/storybook/assets/{CombinedEffects.stories-DahZszMM.js → CombinedEffects.stories-C_AMq9k4.js} +1 -1
  35. package/dist/storybook/assets/{ComponentStatesMixin-iXss03sN.js → ComponentStatesMixin-kk-5wcvM.js} +1 -1
  36. package/dist/storybook/assets/{ComponentStatesMixin.stories-C1b3zMgf.js → ComponentStatesMixin.stories-cy7-TcbF.js} +3 -3
  37. package/dist/storybook/assets/{CopyToClipboard.stories-BEFwR9iw.js → CopyToClipboard.stories-nM41pfEH.js} +1 -1
  38. package/dist/storybook/assets/{Debounce.stories-m7227tf1.js → Debounce.stories-B8jBQli0.js} +3 -3
  39. package/dist/storybook/assets/{DocsRenderer-LL677BLK-ByZAmSPf.js → DocsRenderer-LL677BLK-wNqfOPga.js} +3 -3
  40. package/dist/storybook/assets/{Dropdown.stories-CELZm3nV.js → Dropdown.stories-D_TlsBqs.js} +3 -3
  41. package/dist/storybook/assets/{EmptyState.stories-DbIlZsvG.js → EmptyState.stories-BI98FUIg.js} +15 -15
  42. package/dist/storybook/assets/{Events.stories-E8SpdK9f.js → Events.stories-BoH9pXaI.js} +1 -1
  43. package/dist/storybook/assets/{Heading.stories-DIHkdyir.js → Heading.stories-BmjIILOl.js} +1 -1
  44. package/dist/storybook/assets/{HueRipple.stories-TE5VhBNI.js → HueRipple.stories-DOeusr2J.js} +1 -1
  45. package/dist/storybook/assets/{Icon.stories-V9A8zx3l.js → Icon.stories-DUSkJwNE.js} +7 -7
  46. package/dist/storybook/assets/{IconButton.stories-kyYFPqat.js → IconButton.stories-Bj5mC5rr.js} +1 -1
  47. package/dist/storybook/assets/{LinearProgress.stories-DMQkVCfc.js → LinearProgress.stories-BtVWYb-l.js} +1 -1
  48. package/dist/storybook/assets/{Pagination.stories-B4Kikiss.js → Pagination.stories-tspgl3pY.js} +3 -3
  49. package/dist/storybook/assets/{Popover.stories-DKYzeCVX.js → Popover.stories-CBZaxHo7.js} +18 -18
  50. package/dist/storybook/assets/{ReadyMixin-CfbnRH2m.js → ReadyMixin-DH37_O0o.js} +1 -1
  51. package/dist/storybook/assets/{RovingTabindexMixin.stories-B1QUtSUN.js → RovingTabindexMixin.stories-C1QArA31.js} +6 -6
  52. package/dist/storybook/assets/{Rtc.stories-DPk94cW8.js → Rtc.stories-zWf-zb6K.js} +1 -1
  53. package/dist/storybook/assets/{ScrollShadow.stories-BzsVosZE.js → ScrollShadow.stories-CtVTMAY-.js} +1 -1
  54. package/dist/storybook/assets/{Switch.stories-2ixJ66i0.js → Switch.stories-BGFvlrF1.js} +5 -5
  55. package/dist/storybook/assets/{Tab.stories-DjPAaRUe.js → Tab.stories-fFHdA-0z.js} +1 -1
  56. package/dist/storybook/assets/{Tabs.stories-DNGYpwdL.js → Tabs.stories-DUxUf-8D.js} +1 -1
  57. package/dist/storybook/assets/{Throttle.stories-DqiX39Q4.js → Throttle.stories-BUBzkB-y.js} +5 -5
  58. package/dist/storybook/assets/{Tooltip.stories-RWvjZUq6.js → Tooltip.stories-BRZ9x5GZ.js} +1 -1
  59. package/dist/storybook/assets/{Upload.stories-BPImkf-w.js → Upload.stories-9PNQJTXv.js} +1 -1
  60. package/dist/storybook/assets/{UploadItem.stories-sF91eklH.js → UploadItem.stories-Dg1Osr5_.js} +1 -1
  61. package/dist/storybook/assets/{Welcome.stories-C7T0lxjn.js → Welcome.stories-BbidbZpj.js} +1 -1
  62. package/dist/storybook/assets/{Widget.stories-hIm4Mgoy.js → Widget.stories-B5MKOa3i.js} +12 -12
  63. package/dist/storybook/assets/{WithTooltip-65CFNBJE-FBY88pP9.js → WithTooltip-65CFNBJE-DEoC8S9g.js} +1 -1
  64. package/dist/storybook/assets/{blocks-DNAwNK2O.js → blocks-BzEtLpfg.js} +5 -5
  65. package/dist/storybook/assets/{formatter-EIJCOSYU--IWOLjx2.js → formatter-EIJCOSYU-Dpapfc1g.js} +1 -1
  66. package/dist/storybook/assets/if-defined-CzvBkd64.js +1 -0
  67. package/dist/storybook/assets/{iframe-apn1Lgr_.js → iframe-Bi6noyvR.js} +5 -5
  68. package/dist/storybook/assets/iframe-PeGbyIdX.css +1 -0
  69. package/dist/storybook/assets/{index-BSiX30xx.js → index-B6rDQTSl.js} +1 -1
  70. package/dist/storybook/assets/{onFind-BrtZPfAg.js → onFind-eyMIAO26.js} +1 -1
  71. package/dist/storybook/assets/{onFind.stories-CdBIAJjT.js → onFind.stories-CPJuRapJ.js} +25 -25
  72. package/dist/storybook/assets/{onRemove.stories-BhaBwi44.js → onRemove.stories-Dbwmibgi.js} +3 -3
  73. package/dist/storybook/assets/{onVisible.stories-BOsxDhRj.js → onVisible.stories-C_V2xOaA.js} +1 -1
  74. package/dist/storybook/assets/{style-map-CAjfRbcg.js → style-map-D3mT-6Qa.js} +1 -1
  75. package/dist/storybook/assets/{syntaxhighlighter-ED5Y7EFY-5ISl-7xc.js → syntaxhighlighter-ED5Y7EFY-BJK43TGw.js} +1 -1
  76. package/dist/storybook/iframe.html +2 -2
  77. package/dist/storybook/project.json +1 -1
  78. package/dist/tailwind-plugin-button-group.js +43 -44
  79. package/dist/tailwind-plugin-button-group.js.map +1 -1
  80. package/dist/tailwind-plugin-button-group.ts +43 -43
  81. package/dist/tailwind-plugin-button.js +22 -2
  82. package/dist/tailwind-plugin-button.js.map +1 -1
  83. package/dist/tailwind-plugin-button.ts +22 -2
  84. package/dist/tailwind-plugin-dropdown.js +6 -2
  85. package/dist/tailwind-plugin-dropdown.js.map +1 -1
  86. package/dist/tailwind-plugin-dropdown.ts +6 -2
  87. package/dist/tailwind-plugin-pagination.js +12 -8
  88. package/dist/tailwind-plugin-pagination.js.map +1 -1
  89. package/dist/tailwind-plugin-pagination.ts +12 -8
  90. package/dist/tailwind-plugin-upload.js +3 -2
  91. package/dist/tailwind-plugin-upload.js.map +1 -1
  92. package/dist/tailwind-plugin-upload.ts +3 -2
  93. package/dist/tailwind.config.d.ts +1 -4
  94. package/dist/tailwind.config.d.ts.map +1 -1
  95. package/dist/tailwind.config.js +74 -6
  96. package/dist/tailwind.config.js.map +1 -1
  97. package/dist/tailwind.config.ts +74 -6
  98. package/docs/adr/0001-monolith-css-delivery.md +20 -0
  99. package/docs/adr/0002-complete-component-preset.md +26 -0
  100. package/docs/adr/0003-plugin-selector-isolation.md +24 -0
  101. package/docs/adr/0004-dynamic-icon-names-route-through-runtime-injectors.md +50 -0
  102. package/docs/adr/0005-rtl-conditional-overlay.md +44 -0
  103. package/docs/adr/0006-editor-has-runtime-perf.md +33 -0
  104. package/docs/components/ButtonGroup.md +15 -12
  105. package/package.json +4 -3
  106. package/src/legacy/tool-ui/src/AIInline.css +1 -1
  107. package/src/legacy/tool-ui/src/Admin.css +2 -2
  108. package/src/legacy/tool-ui/src/Base.css +1 -1
  109. package/src/legacy/tool-ui/src/BulkUpload.css +1 -1
  110. package/src/legacy/tool-ui/src/CIGCluster.css +1 -1
  111. package/src/legacy/tool-ui/src/Card.css +1 -1
  112. package/src/legacy/tool-ui/src/CodeMirror.css +4 -4
  113. package/src/legacy/tool-ui/src/ColorInputSpectrum.css +2 -2
  114. package/src/legacy/tool-ui/src/ComboInput.css +3 -3
  115. package/src/legacy/tool-ui/src/Compat.css +6 -4
  116. package/src/legacy/tool-ui/src/ContentEdit.css +12 -12
  117. package/src/legacy/tool-ui/src/ContentEditDrawer.css +6 -6
  118. package/src/legacy/tool-ui/src/ContentInputGroup.css +5 -10
  119. package/src/legacy/tool-ui/src/ContentReporting.css +2 -2
  120. package/src/legacy/tool-ui/src/ContentSelector.css +5 -5
  121. package/src/legacy/tool-ui/src/ContentSummary.css +1 -3
  122. package/src/legacy/tool-ui/src/ContentTemplatesWidget.css +1 -1
  123. package/src/legacy/tool-ui/src/ContentTools.css +1 -1
  124. package/src/legacy/tool-ui/src/Conversation.css +2 -2
  125. package/src/legacy/tool-ui/src/Conversation.ts +10 -54
  126. package/src/legacy/tool-ui/src/Crosslinker.css +3 -3
  127. package/src/legacy/tool-ui/src/DashboardWidget.css +1 -1
  128. package/src/legacy/tool-ui/src/Dialog.css +4 -2
  129. package/src/legacy/tool-ui/src/Diff.css +1 -1
  130. package/src/legacy/tool-ui/src/Dropdown.css +2 -2
  131. package/src/legacy/tool-ui/src/Enhancement.css +1 -1
  132. package/src/legacy/tool-ui/src/FileInput.css +2 -2
  133. package/src/legacy/tool-ui/src/FormFilter.css +3 -3
  134. package/src/legacy/tool-ui/src/FullscreenView.css +4 -4
  135. package/src/legacy/tool-ui/src/Guide.css +6 -6
  136. package/src/legacy/tool-ui/src/Hierarchy.css +4 -4
  137. package/src/legacy/tool-ui/src/ImageEditor.css +13 -13
  138. package/src/legacy/tool-ui/src/LinkCarousel.css +1 -1
  139. package/src/legacy/tool-ui/src/LiveBlog.css +2 -2
  140. package/src/legacy/tool-ui/src/LocationMap.css +1 -1
  141. package/src/legacy/tool-ui/src/MailPublishing.css +1 -1
  142. package/src/legacy/tool-ui/src/MenuView.css +4 -4
  143. package/src/legacy/tool-ui/src/Message.css +1 -1
  144. package/src/legacy/tool-ui/src/Page.css +35 -16
  145. package/src/legacy/tool-ui/src/Popup.css +8 -3
  146. package/src/legacy/tool-ui/src/ProseMirror.css +1 -1
  147. package/src/legacy/tool-ui/src/ProseMirrorContainer.css +1 -1
  148. package/src/legacy/tool-ui/src/ProseMirrorEnhancementMenu.css +2 -2
  149. package/src/legacy/tool-ui/src/ProseMirrorFindReplace.css +2 -2
  150. package/src/legacy/tool-ui/src/QueryField.css +1 -1
  151. package/src/legacy/tool-ui/src/RepeatableContentInputGroup.css +1 -1
  152. package/src/legacy/tool-ui/src/RepeatableContentSelector.css +1 -1
  153. package/src/legacy/tool-ui/src/RichText.css +1 -1
  154. package/src/legacy/tool-ui/src/SearchFields.css +3 -2
  155. package/src/legacy/tool-ui/src/SearchResult.css +3 -3
  156. package/src/legacy/tool-ui/src/SearchWidget.css +1 -1
  157. package/src/legacy/tool-ui/src/SearchWidgetAdvanced.css +1 -1
  158. package/src/legacy/tool-ui/src/StyleEmbeddedContent.css +3 -3
  159. package/src/legacy/tool-ui/src/TabBar.css +1 -1
  160. package/src/legacy/tool-ui/src/Table.css +1 -1
  161. package/src/legacy/tool-ui/src/Taxonomy.css +4 -4
  162. package/src/legacy/tool-ui/src/ThemeBundleEditor.css +1 -1
  163. package/src/legacy/tool-ui/src/TimedContent.css +2 -2
  164. package/src/legacy/tool-ui/src/ViewWatchers.css +1 -1
  165. package/src/legacy/tool-ui/src/Widget.css +3 -2
  166. package/src/legacy/tool-ui/src/Workflow.css +3 -3
  167. package/src/legacy/tool-ui/src/main/webapp/dist/{7718.a937b0cafa8cf7c039d2.css → 2111.70d9e2ee26ead4bd147b.css} +1 -1
  168. package/src/legacy/tool-ui/src/main/webapp/dist/{6216.2d532054fcb8e634f96b.js → 6216.cf8adc1990ee1111f065.js} +1 -1
  169. package/src/legacy/tool-ui/src/main/webapp/dist/{2111.a937b0cafa8cf7c039d2.css → 7718.70d9e2ee26ead4bd147b.css} +1 -1
  170. package/src/legacy/tool-ui/src/main/webapp/dist/{RTEProseMirror.945bd28778b1a3e937c7.js → RTEProseMirror.e8521581e28e90ef6f30.js} +2 -2
  171. package/src/legacy/tool-ui/src/main/webapp/dist/{v4.dc7d7c1a18ddb6117061.js → v4.ab96a7dd75fa7af9c970.js} +3 -3
  172. package/src/legacy/tool-ui/src/main/webapp/dist/v5.58cad1e6193f2106d271.css +5 -0
  173. package/src/legacy/tool-ui/src/main/webapp/dist/{v5.7eea426a9a47341f03f8.js → v5.e48c1d8f41b5e088bef0.js} +3 -3
  174. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/table_manager/views/ProseMirror-table.less +1 -28
  175. package/dist/storybook/assets/if-defined-Cxz6E-2i.js +0 -1
  176. package/dist/storybook/assets/iframe-D0roG0J-.css +0 -1
  177. package/src/legacy/tool-ui/src/main/webapp/dist/v5.951c664100c4fb201fd8.css +0 -5
  178. /package/src/legacy/tool-ui/src/main/webapp/dist/{RTEProseMirror.945bd28778b1a3e937c7.js.LICENSE.txt → RTEProseMirror.e8521581e28e90ef6f30.js.LICENSE.txt} +0 -0
  179. /package/src/legacy/tool-ui/src/main/webapp/dist/{v4.dc7d7c1a18ddb6117061.js.LICENSE.txt → v4.ab96a7dd75fa7af9c970.js.LICENSE.txt} +0 -0
  180. /package/src/legacy/tool-ui/src/main/webapp/dist/{v5.7eea426a9a47341f03f8.js.LICENSE.txt → v5.e48c1d8f41b5e088bef0.js.LICENSE.txt} +0 -0
@@ -3,9 +3,15 @@ import plugin from 'tailwindcss/plugin';
3
3
  * Button Group — Tailwind CSS plugin for grouping related buttons.
4
4
  *
5
5
  * Provides connected (joined) and spaced layouts with horizontal/vertical orientation.
6
- * Supports both direct `.btu-button` children and `btu-icon-button` children.
7
- * `btu-icon-button` uses `display: contents` so its inner button participates
8
- * directly in the group's flex layout.
6
+ * Supports both direct `<button class="btu-button">` children and `btu-icon-button`
7
+ * children. `btu-icon-button` uses `display: contents` so its inner `<button>`
8
+ * participates directly in the group's flex layout.
9
+ *
10
+ * Selectors target the `button` element, not the `.btu-button` class. So an
11
+ * anchor styled as `.btu-button` (`<a class="btu-button">`) slotted directly
12
+ * into a connected group will NOT get the outer-corner radius. Use a real
13
+ * `<button>` (or `<btu-icon-button>`) for grouped controls; for link-styled
14
+ * ones, use the spaced variant.
9
15
  *
10
16
  * Selection uses a circular wipe transition: a `::after` pseudo-element with
11
17
  * `clip-path: circle()` reveals the selection color from the center outward.
@@ -22,15 +28,13 @@ import plugin from 'tailwindcss/plugin';
22
28
  * --button-group-selection-bg - Selection background color (auto-set per color variant)
23
29
  * --button-group-selection-color - Selection text color (auto-set per color variant)
24
30
  */
25
- module.exports = plugin(function ({ addComponents, addBase, theme }) {
31
+ module.exports = plugin(function ({ addComponents, addBase }) {
26
32
  const connected = 'btu-button-group[variant="connected"]';
27
33
  const connectedH = `${connected}[orientation="horizontal"]`;
28
34
  const connectedV = `${connected}[orientation="vertical"]`;
29
35
  const allSelected = `${connected}[data-all-selected]`;
30
36
  const borderColor = 'var(--button-group-border-color, oklch(var(--btu-theme-gray-300)))';
31
37
  const outerRadius = 'var(--button-group-border-radius, 0.5rem)';
32
- const skipColors = new Set(['currentColor', 'transparent', 'white', 'black', 'ai']);
33
- const colors = theme('colors') || {};
34
38
  const components = {
35
39
  // ─── Base ─────────────────────────────────────────────────────────
36
40
  '.btu-button-group': {
@@ -52,31 +56,31 @@ module.exports = plugin(function ({ addComponents, addBase, theme }) {
52
56
  gap: 'var(--button-group-gap, var(--gap-s, 0.5rem))',
53
57
  },
54
58
  // ─── slot="end" auto-margin ──────────────────────────────────────
55
- // Direct children and inner .btu-button (for display:contents wrappers like btu-icon-button)
56
- 'btu-button-group[orientation="horizontal"] > [slot="end"], btu-button-group[orientation="horizontal"] > [slot="end"] > .btu-button': {
59
+ // Direct children and inner button (for display:contents wrappers like btu-icon-button)
60
+ 'btu-button-group[orientation="horizontal"] > [slot="end"], btu-button-group[orientation="horizontal"] > [slot="end"] > button': {
57
61
  marginInlineStart: 'auto',
58
62
  },
59
- 'btu-button-group[orientation="vertical"] > [slot="end"], btu-button-group[orientation="vertical"] > [slot="end"] > .btu-button': {
63
+ 'btu-button-group[orientation="vertical"] > [slot="end"], btu-button-group[orientation="vertical"] > [slot="end"] > button': {
60
64
  marginBlockStart: 'auto',
61
65
  },
62
66
  // ─── Size propagation via CSS ─────────────────────────────────────
63
- 'btu-button-group[size="small"] .btu-button': {
67
+ 'btu-button-group[size="small"] button': {
64
68
  padding: 'var(--button-padding-sm)',
65
69
  width: 'var(--button-size-sm, auto)',
66
70
  height: 'var(--button-size-sm, auto)',
67
71
  },
68
- 'btu-button-group[size="medium"] .btu-button': {
72
+ 'btu-button-group[size="medium"] button': {
69
73
  padding: 'var(--button-padding-md)',
70
74
  width: 'var(--button-size-md, auto)',
71
75
  height: 'var(--button-size-md, auto)',
72
76
  },
73
- 'btu-button-group[size="large"] .btu-button': {
77
+ 'btu-button-group[size="large"] button': {
74
78
  padding: 'var(--button-padding-lg)',
75
79
  width: 'var(--button-size-lg, auto)',
76
80
  height: 'var(--button-size-lg, auto)',
77
81
  },
78
82
  // ─── Connected: convert outline buttons to border-based ───────────
79
- [`${connected} .btu-button`]: {
83
+ [`${connected} button`]: {
80
84
  outline: 'none',
81
85
  border: `1px solid ${borderColor}`,
82
86
  transition: 'box-shadow 100ms ease, filter 100ms ease',
@@ -87,52 +91,54 @@ module.exports = plugin(function ({ addComponents, addBase, theme }) {
87
91
  },
88
92
  },
89
93
  // ─── Disabled buttons ─────────────────────────────────────────────
90
- '.btu-button-group .btu-button:disabled, .btu-button-group .btu-button[disabled]': {
94
+ '.btu-button-group button:disabled, .btu-button-group button[disabled]': {
91
95
  opacity: '0.5',
92
96
  cursor: 'default',
93
97
  },
94
98
  // ─── Selection wipe: disable button plugin's instant pressed toggle ─
95
99
  // The ::after pseudo handles the pressed background via clip-path wipe,
96
100
  // so the button itself must stay at its normal (non-pressed) color.
97
- '.btu-button-group .btu-button[aria-pressed]': {
101
+ // Selection colors default to the button's own --button-tint-* shades,
102
+ // overridable via the documented --button-group-* properties.
103
+ '.btu-button-group button[aria-pressed]': {
98
104
  '--button-pressed-color': 'initial',
99
105
  '--button-pressed-text-color': 'initial',
100
106
  isolation: 'isolate',
101
107
  transition: 'color 150ms ease-in',
102
108
  },
103
- '.btu-button-group .btu-button[aria-pressed]::after': {
109
+ '.btu-button-group button[aria-pressed]::after': {
104
110
  content: '""',
105
111
  position: 'absolute',
106
112
  inset: '0',
107
113
  zIndex: '-1',
108
114
  borderRadius: 'inherit',
109
- background: 'var(--button-group-selection-bg)',
115
+ background: 'var(--button-group-selection-bg, var(--button-tint-subtle))',
110
116
  clipPath: 'circle(0% at center)',
111
117
  transition: 'clip-path 150ms ease-in',
112
118
  },
113
119
  // ─── Selection wipe: active state ─────────────────────────────────
114
- '.btu-button-group .btu-button[aria-pressed="true"]': {
115
- color: 'var(--button-group-selection-color)',
120
+ '.btu-button-group button[aria-pressed="true"]': {
121
+ color: 'var(--button-group-selection-color, var(--button-tint-strong))',
116
122
  transition: 'color 200ms ease-out',
117
123
  },
118
- '.btu-button-group .btu-button[aria-pressed="true"]::after': {
124
+ '.btu-button-group button[aria-pressed="true"]::after': {
119
125
  clipPath: 'circle(75% at center)',
120
126
  transition: 'clip-path 200ms ease-out',
121
127
  },
122
128
  // ─── Reduced motion ─────────────────────────────────────────────────
123
129
  '@media (prefers-reduced-motion: reduce)': {
124
- '.btu-button-group .btu-button[aria-pressed]': {
130
+ '.btu-button-group button[aria-pressed]': {
125
131
  transition: 'color 0.01ms ease',
126
132
  },
127
- '.btu-button-group .btu-button[aria-pressed]::after': {
133
+ '.btu-button-group button[aria-pressed]::after': {
128
134
  transition: 'clip-path 0.01ms ease',
129
135
  },
130
- [`${allSelected} .btu-button[aria-pressed="true"]`]: {
136
+ [`${allSelected} button[aria-pressed="true"]`]: {
131
137
  animation: 'none',
132
138
  },
133
139
  },
134
140
  // ─── Connected variant — horizontal ───────────────────────────────
135
- [`${connectedH} .btu-button`]: {
141
+ [`${connectedH} button`]: {
136
142
  borderRadius: '0',
137
143
  marginInlineEnd: '-1px',
138
144
  position: 'relative',
@@ -143,17 +149,17 @@ module.exports = plugin(function ({ addComponents, addBase, theme }) {
143
149
  zIndex: '2',
144
150
  },
145
151
  },
146
- [`${connectedH} > :first-child:is(.btu-button), ${connectedH} > :first-child > .btu-button`]: {
152
+ [`${connectedH} > :first-child:is(button), ${connectedH} > :first-child > button`]: {
147
153
  borderStartStartRadius: outerRadius,
148
154
  borderEndStartRadius: outerRadius,
149
155
  },
150
- [`${connectedH} > :last-child:is(.btu-button), ${connectedH} > :last-child > .btu-button`]: {
156
+ [`${connectedH} > :last-child:is(button), ${connectedH} > :last-child > button`]: {
151
157
  borderStartEndRadius: outerRadius,
152
158
  borderEndEndRadius: outerRadius,
153
159
  marginInlineEnd: '0',
154
160
  },
155
161
  // ─── Connected variant — vertical ─────────────────────────────────
156
- [`${connectedV} .btu-button`]: {
162
+ [`${connectedV} button`]: {
157
163
  borderRadius: '0',
158
164
  marginBlockEnd: '-1px',
159
165
  position: 'relative',
@@ -164,11 +170,11 @@ module.exports = plugin(function ({ addComponents, addBase, theme }) {
164
170
  zIndex: '2',
165
171
  },
166
172
  },
167
- [`${connectedV} > :first-child:is(.btu-button), ${connectedV} > :first-child > .btu-button`]: {
173
+ [`${connectedV} > :first-child:is(button), ${connectedV} > :first-child > button`]: {
168
174
  borderStartStartRadius: outerRadius,
169
175
  borderStartEndRadius: outerRadius,
170
176
  },
171
- [`${connectedV} > :last-child:is(.btu-button), ${connectedV} > :last-child > .btu-button`]: {
177
+ [`${connectedV} > :last-child:is(button), ${connectedV} > :last-child > button`]: {
172
178
  borderEndStartRadius: outerRadius,
173
179
  borderEndEndRadius: outerRadius,
174
180
  marginBlockEnd: '0',
@@ -182,32 +188,25 @@ module.exports = plugin(function ({ addComponents, addBase, theme }) {
182
188
  };
183
189
  // ─── All-selected shimmer (connected only) ─────────────────────────
184
190
  // Text color pulse + border color pulse on each button, staggered.
185
- components[`${allSelected} .btu-button[aria-pressed="true"]`] = {
191
+ components[`${allSelected} button[aria-pressed="true"]`] = {
186
192
  animation: 'btu-shimmer-all 500ms ease-in-out both',
187
193
  animationDelay: 'calc((var(--_btn-index, 1) - 1) * 100ms)',
188
194
  };
189
- // ─── Selection color variants ─────────────────────────────────────
190
- for (const key in colors) {
191
- if (skipColors.has(key))
192
- continue;
193
- const pressedKey = key === 'gray' ? 'primary' : key;
194
- components[`.btu-button-group .btu-button-${key}`] = {
195
- '--button-group-selection-bg': `oklch(var(--btu-theme-${pressedKey}-50))`,
196
- '--button-group-selection-color': `oklch(var(--btu-theme-${pressedKey}-800))`,
197
- '--button-group-shimmer-highlight': `oklch(var(--btu-theme-${pressedKey}-200))`,
198
- };
199
- }
195
+ // Selection colors come from each button's own --button-tint-* shades
196
+ // (set by the button plugin per color variant). The documented
197
+ // --button-group-selection-* / --button-group-shimmer-highlight properties
198
+ // still override them.
200
199
  addComponents(components);
201
200
  // Keyframes must be added via addBase (not addComponents)
202
201
  addBase({
203
202
  '@keyframes btu-shimmer-all': {
204
203
  '0%, 100%': {
205
- color: 'var(--button-group-selection-color)',
204
+ color: 'var(--button-group-selection-color, var(--button-tint-strong))',
206
205
  borderColor: 'var(--button-group-border-color, oklch(var(--btu-theme-gray-300)))',
207
206
  },
208
207
  '40%, 60%': {
209
- color: 'var(--button-group-shimmer-highlight)',
210
- borderColor: 'var(--button-group-shimmer-highlight)',
208
+ color: 'var(--button-group-shimmer-highlight, var(--button-tint-highlight))',
209
+ borderColor: 'var(--button-group-shimmer-highlight, var(--button-tint-highlight))',
211
210
  },
212
211
  },
213
212
  });
@@ -1 +1 @@
1
- {"version":3,"file":"tailwind-plugin-button-group.js","sourceRoot":"","sources":["../src/tailwind-plugin-button-group.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tailwind-plugin-button-group.js","sourceRoot":"","sources":["../src/tailwind-plugin-button-group.ts"],"names":[],"mappings":"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"}
@@ -6,9 +6,15 @@ declare let module: any
6
6
  * Button Group — Tailwind CSS plugin for grouping related buttons.
7
7
  *
8
8
  * Provides connected (joined) and spaced layouts with horizontal/vertical orientation.
9
- * Supports both direct `.btu-button` children and `btu-icon-button` children.
10
- * `btu-icon-button` uses `display: contents` so its inner button participates
11
- * directly in the group's flex layout.
9
+ * Supports both direct `<button class="btu-button">` children and `btu-icon-button`
10
+ * children. `btu-icon-button` uses `display: contents` so its inner `<button>`
11
+ * participates directly in the group's flex layout.
12
+ *
13
+ * Selectors target the `button` element, not the `.btu-button` class. So an
14
+ * anchor styled as `.btu-button` (`<a class="btu-button">`) slotted directly
15
+ * into a connected group will NOT get the outer-corner radius. Use a real
16
+ * `<button>` (or `<btu-icon-button>`) for grouped controls; for link-styled
17
+ * ones, use the spaced variant.
12
18
  *
13
19
  * Selection uses a circular wipe transition: a `::after` pseudo-element with
14
20
  * `clip-path: circle()` reveals the selection color from the center outward.
@@ -26,15 +32,13 @@ declare let module: any
26
32
  * --button-group-selection-color - Selection text color (auto-set per color variant)
27
33
  */
28
34
 
29
- module.exports = plugin(function ({ addComponents, addBase, theme }) {
35
+ module.exports = plugin(function ({ addComponents, addBase }) {
30
36
  const connected = 'btu-button-group[variant="connected"]'
31
37
  const connectedH = `${connected}[orientation="horizontal"]`
32
38
  const connectedV = `${connected}[orientation="vertical"]`
33
39
  const allSelected = `${connected}[data-all-selected]`
34
40
  const borderColor = 'var(--button-group-border-color, oklch(var(--btu-theme-gray-300)))'
35
41
  const outerRadius = 'var(--button-group-border-radius, 0.5rem)'
36
- const skipColors = new Set(['currentColor', 'transparent', 'white', 'black', 'ai'])
37
- const colors: CSSRuleObject = theme('colors') || {}
38
42
 
39
43
  const components: CSSRuleObject = {
40
44
  // ─── Base ─────────────────────────────────────────────────────────
@@ -61,35 +65,35 @@ module.exports = plugin(function ({ addComponents, addBase, theme }) {
61
65
  },
62
66
 
63
67
  // ─── slot="end" auto-margin ──────────────────────────────────────
64
- // Direct children and inner .btu-button (for display:contents wrappers like btu-icon-button)
65
- 'btu-button-group[orientation="horizontal"] > [slot="end"], btu-button-group[orientation="horizontal"] > [slot="end"] > .btu-button':
68
+ // Direct children and inner button (for display:contents wrappers like btu-icon-button)
69
+ 'btu-button-group[orientation="horizontal"] > [slot="end"], btu-button-group[orientation="horizontal"] > [slot="end"] > button':
66
70
  {
67
71
  marginInlineStart: 'auto',
68
72
  },
69
- 'btu-button-group[orientation="vertical"] > [slot="end"], btu-button-group[orientation="vertical"] > [slot="end"] > .btu-button':
73
+ 'btu-button-group[orientation="vertical"] > [slot="end"], btu-button-group[orientation="vertical"] > [slot="end"] > button':
70
74
  {
71
75
  marginBlockStart: 'auto',
72
76
  },
73
77
 
74
78
  // ─── Size propagation via CSS ─────────────────────────────────────
75
- 'btu-button-group[size="small"] .btu-button': {
79
+ 'btu-button-group[size="small"] button': {
76
80
  padding: 'var(--button-padding-sm)',
77
81
  width: 'var(--button-size-sm, auto)',
78
82
  height: 'var(--button-size-sm, auto)',
79
83
  },
80
- 'btu-button-group[size="medium"] .btu-button': {
84
+ 'btu-button-group[size="medium"] button': {
81
85
  padding: 'var(--button-padding-md)',
82
86
  width: 'var(--button-size-md, auto)',
83
87
  height: 'var(--button-size-md, auto)',
84
88
  },
85
- 'btu-button-group[size="large"] .btu-button': {
89
+ 'btu-button-group[size="large"] button': {
86
90
  padding: 'var(--button-padding-lg)',
87
91
  width: 'var(--button-size-lg, auto)',
88
92
  height: 'var(--button-size-lg, auto)',
89
93
  },
90
94
 
91
95
  // ─── Connected: convert outline buttons to border-based ───────────
92
- [`${connected} .btu-button`]: {
96
+ [`${connected} button`]: {
93
97
  outline: 'none',
94
98
  border: `1px solid ${borderColor}`,
95
99
  transition: 'box-shadow 100ms ease, filter 100ms ease',
@@ -101,7 +105,7 @@ module.exports = plugin(function ({ addComponents, addBase, theme }) {
101
105
  },
102
106
 
103
107
  // ─── Disabled buttons ─────────────────────────────────────────────
104
- '.btu-button-group .btu-button:disabled, .btu-button-group .btu-button[disabled]': {
108
+ '.btu-button-group button:disabled, .btu-button-group button[disabled]': {
105
109
  opacity: '0.5',
106
110
  cursor: 'default',
107
111
  },
@@ -109,49 +113,51 @@ module.exports = plugin(function ({ addComponents, addBase, theme }) {
109
113
  // ─── Selection wipe: disable button plugin's instant pressed toggle ─
110
114
  // The ::after pseudo handles the pressed background via clip-path wipe,
111
115
  // so the button itself must stay at its normal (non-pressed) color.
112
- '.btu-button-group .btu-button[aria-pressed]': {
116
+ // Selection colors default to the button's own --button-tint-* shades,
117
+ // overridable via the documented --button-group-* properties.
118
+ '.btu-button-group button[aria-pressed]': {
113
119
  '--button-pressed-color': 'initial',
114
120
  '--button-pressed-text-color': 'initial',
115
121
  isolation: 'isolate',
116
122
  transition: 'color 150ms ease-in',
117
123
  },
118
- '.btu-button-group .btu-button[aria-pressed]::after': {
124
+ '.btu-button-group button[aria-pressed]::after': {
119
125
  content: '""',
120
126
  position: 'absolute',
121
127
  inset: '0',
122
128
  zIndex: '-1',
123
129
  borderRadius: 'inherit',
124
- background: 'var(--button-group-selection-bg)',
130
+ background: 'var(--button-group-selection-bg, var(--button-tint-subtle))',
125
131
  clipPath: 'circle(0% at center)',
126
132
  transition: 'clip-path 150ms ease-in',
127
133
  },
128
134
 
129
135
  // ─── Selection wipe: active state ─────────────────────────────────
130
- '.btu-button-group .btu-button[aria-pressed="true"]': {
131
- color: 'var(--button-group-selection-color)',
136
+ '.btu-button-group button[aria-pressed="true"]': {
137
+ color: 'var(--button-group-selection-color, var(--button-tint-strong))',
132
138
  transition: 'color 200ms ease-out',
133
139
  },
134
140
 
135
- '.btu-button-group .btu-button[aria-pressed="true"]::after': {
141
+ '.btu-button-group button[aria-pressed="true"]::after': {
136
142
  clipPath: 'circle(75% at center)',
137
143
  transition: 'clip-path 200ms ease-out',
138
144
  },
139
145
 
140
146
  // ─── Reduced motion ─────────────────────────────────────────────────
141
147
  '@media (prefers-reduced-motion: reduce)': {
142
- '.btu-button-group .btu-button[aria-pressed]': {
148
+ '.btu-button-group button[aria-pressed]': {
143
149
  transition: 'color 0.01ms ease',
144
150
  },
145
- '.btu-button-group .btu-button[aria-pressed]::after': {
151
+ '.btu-button-group button[aria-pressed]::after': {
146
152
  transition: 'clip-path 0.01ms ease',
147
153
  },
148
- [`${allSelected} .btu-button[aria-pressed="true"]`]: {
154
+ [`${allSelected} button[aria-pressed="true"]`]: {
149
155
  animation: 'none',
150
156
  },
151
157
  },
152
158
 
153
159
  // ─── Connected variant — horizontal ───────────────────────────────
154
- [`${connectedH} .btu-button`]: {
160
+ [`${connectedH} button`]: {
155
161
  borderRadius: '0',
156
162
  marginInlineEnd: '-1px',
157
163
  position: 'relative',
@@ -162,18 +168,18 @@ module.exports = plugin(function ({ addComponents, addBase, theme }) {
162
168
  zIndex: '2',
163
169
  },
164
170
  },
165
- [`${connectedH} > :first-child:is(.btu-button), ${connectedH} > :first-child > .btu-button`]: {
171
+ [`${connectedH} > :first-child:is(button), ${connectedH} > :first-child > button`]: {
166
172
  borderStartStartRadius: outerRadius,
167
173
  borderEndStartRadius: outerRadius,
168
174
  },
169
- [`${connectedH} > :last-child:is(.btu-button), ${connectedH} > :last-child > .btu-button`]: {
175
+ [`${connectedH} > :last-child:is(button), ${connectedH} > :last-child > button`]: {
170
176
  borderStartEndRadius: outerRadius,
171
177
  borderEndEndRadius: outerRadius,
172
178
  marginInlineEnd: '0',
173
179
  },
174
180
 
175
181
  // ─── Connected variant — vertical ─────────────────────────────────
176
- [`${connectedV} .btu-button`]: {
182
+ [`${connectedV} button`]: {
177
183
  borderRadius: '0',
178
184
  marginBlockEnd: '-1px',
179
185
  position: 'relative',
@@ -184,11 +190,11 @@ module.exports = plugin(function ({ addComponents, addBase, theme }) {
184
190
  zIndex: '2',
185
191
  },
186
192
  },
187
- [`${connectedV} > :first-child:is(.btu-button), ${connectedV} > :first-child > .btu-button`]: {
193
+ [`${connectedV} > :first-child:is(button), ${connectedV} > :first-child > button`]: {
188
194
  borderStartStartRadius: outerRadius,
189
195
  borderStartEndRadius: outerRadius,
190
196
  },
191
- [`${connectedV} > :last-child:is(.btu-button), ${connectedV} > :last-child > .btu-button`]: {
197
+ [`${connectedV} > :last-child:is(button), ${connectedV} > :last-child > button`]: {
192
198
  borderEndStartRadius: outerRadius,
193
199
  borderEndEndRadius: outerRadius,
194
200
  marginBlockEnd: '0',
@@ -204,21 +210,15 @@ module.exports = plugin(function ({ addComponents, addBase, theme }) {
204
210
 
205
211
  // ─── All-selected shimmer (connected only) ─────────────────────────
206
212
  // Text color pulse + border color pulse on each button, staggered.
207
- components[`${allSelected} .btu-button[aria-pressed="true"]`] = {
213
+ components[`${allSelected} button[aria-pressed="true"]`] = {
208
214
  animation: 'btu-shimmer-all 500ms ease-in-out both',
209
215
  animationDelay: 'calc((var(--_btn-index, 1) - 1) * 100ms)',
210
216
  }
211
217
 
212
- // ─── Selection color variants ─────────────────────────────────────
213
- for (const key in colors) {
214
- if (skipColors.has(key)) continue
215
- const pressedKey = key === 'gray' ? 'primary' : key
216
- components[`.btu-button-group .btu-button-${key}`] = {
217
- '--button-group-selection-bg': `oklch(var(--btu-theme-${pressedKey}-50))`,
218
- '--button-group-selection-color': `oklch(var(--btu-theme-${pressedKey}-800))`,
219
- '--button-group-shimmer-highlight': `oklch(var(--btu-theme-${pressedKey}-200))`,
220
- }
221
- }
218
+ // Selection colors come from each button's own --button-tint-* shades
219
+ // (set by the button plugin per color variant). The documented
220
+ // --button-group-selection-* / --button-group-shimmer-highlight properties
221
+ // still override them.
222
222
 
223
223
  addComponents(components)
224
224
 
@@ -226,12 +226,12 @@ module.exports = plugin(function ({ addComponents, addBase, theme }) {
226
226
  addBase({
227
227
  '@keyframes btu-shimmer-all': {
228
228
  '0%, 100%': {
229
- color: 'var(--button-group-selection-color)',
229
+ color: 'var(--button-group-selection-color, var(--button-tint-strong))',
230
230
  borderColor: 'var(--button-group-border-color, oklch(var(--btu-theme-gray-300)))',
231
231
  },
232
232
  '40%, 60%': {
233
- color: 'var(--button-group-shimmer-highlight)',
234
- borderColor: 'var(--button-group-shimmer-highlight)',
233
+ color: 'var(--button-group-shimmer-highlight, var(--button-tint-highlight))',
234
+ borderColor: 'var(--button-group-shimmer-highlight, var(--button-tint-highlight))',
235
235
  },
236
236
  },
237
237
  })
@@ -19,6 +19,14 @@ import plugin from 'tailwindcss/plugin';
19
19
  *
20
20
  * Search toolbar icon button -> btu-button btu-button-text-hidden btu-button-fill-none
21
21
  * btu-button-gray before:btu-icon before:btu-icon-search
22
+ *
23
+ * Each color variant exposes a few CSS custom properties so a parent (e.g.
24
+ * btu-button-group) can pick up the button's color family without having to
25
+ * name its color class:
26
+ *
27
+ * --button-tint-subtle - light shade (selected background)
28
+ * --button-tint-strong - dark shade (selected text)
29
+ * --button-tint-highlight - mid shade (accent/highlight)
22
30
  */
23
31
  module.exports = plugin(function ({ addComponents, addUtilities, theme }) {
24
32
  const textSizes = theme('fontSize');
@@ -41,6 +49,12 @@ module.exports = plugin(function ({ addComponents, addUtilities, theme }) {
41
49
  '--button-text-color': '',
42
50
  '--button-pressed': 'initial',
43
51
  '--button-fill-none': 'initial',
52
+ // Baseline color-family tints so an uncolored .btu-button still has
53
+ // sensible values for components that read these (e.g. btu-button-group
54
+ // selection background). Per-color variants overwrite further below.
55
+ '--button-tint-subtle': 'oklch(var(--btu-theme-primary-50))',
56
+ '--button-tint-strong': 'oklch(var(--btu-theme-primary-800))',
57
+ '--button-tint-highlight': 'oklch(var(--btu-theme-primary-200))',
44
58
  '--button-padding-xs': '0.25rem 0.5rem',
45
59
  '--button-padding-sm': '0.5rem 0.875rem',
46
60
  '--button-padding-md': '0.625rem 1rem',
@@ -145,6 +159,8 @@ module.exports = plugin(function ({ addComponents, addUtilities, theme }) {
145
159
  if (key === 'currentColor' || key === 'transparent' || key === 'white' || key === 'black' || key === 'ai')
146
160
  continue;
147
161
  const ringColorKey = key === 'success' || key === 'error' ? key : 'primary';
162
+ // Gray buttons borrow primary for their pressed/selected tint.
163
+ const tintKey = key === 'gray' ? 'primary' : key;
148
164
  const focusStyle = {
149
165
  '--button-color': `oklch(var(--btu-theme-${key}-${key === 'gray' ? '100' : key === 'success' ? '700' : '600'}))`,
150
166
  '--button-fill-none-color': `transparent`,
@@ -166,8 +182,12 @@ module.exports = plugin(function ({ addComponents, addUtilities, theme }) {
166
182
  '--button-disabled-color-fill': `oklch(var(--btu-theme-${key}-${key === 'gray' ? '100' : key === 'primary' ? '300' : '200'}))`,
167
183
  '--button-disabled-color-fill-none': `var(--button-fill-none) oklch(var(--btu-theme-white))`,
168
184
  '--button-disabled-text-color-fill-none': `var(--button-fill-none) oklch(var(--btu-theme-${key}-${key === 'gray' ? '400' : '300'}))`,
169
- '--button-pressed-color': `var(--button-pressed) var(--button-disabled-color, oklch(var(--btu-theme-${key === 'gray' ? 'primary' : key}-50)))`,
170
- '--button-pressed-text-color': `var(--button-pressed) var(--button-disabled-text-color, oklch(var(--btu-theme-${key === 'gray' ? 'primary' : key}-800)))`,
185
+ '--button-pressed-color': `var(--button-pressed) var(--button-disabled-color, oklch(var(--btu-theme-${tintKey}-50)))`,
186
+ '--button-pressed-text-color': `var(--button-pressed) var(--button-disabled-text-color, oklch(var(--btu-theme-${tintKey}-800)))`,
187
+ // Plain color tints other components can read (always set, no toggle).
188
+ '--button-tint-subtle': `oklch(var(--btu-theme-${tintKey}-50))`,
189
+ '--button-tint-strong': `oklch(var(--btu-theme-${tintKey}-800))`,
190
+ '--button-tint-highlight': `oklch(var(--btu-theme-${tintKey}-200))`,
171
191
  '&:hover': {
172
192
  '--button-color': `oklch(var(--btu-theme-${key}-${key === 'gray' ? '200' : key === 'success' ? '800' : '700'}))`,
173
193
  '--button-fill-none-color': `oklch(var(--btu-theme-${key}-${key === 'gray' ? '200' : '50'}))`,
@@ -1 +1 @@
1
- {"version":3,"file":"tailwind-plugin-button.js","sourceRoot":"","sources":["../src/tailwind-plugin-button.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tailwind-plugin-button.js","sourceRoot":"","sources":["../src/tailwind-plugin-button.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,14 @@ declare let module: any
22
22
  *
23
23
  * Search toolbar icon button -> btu-button btu-button-text-hidden btu-button-fill-none
24
24
  * btu-button-gray before:btu-icon before:btu-icon-search
25
+ *
26
+ * Each color variant exposes a few CSS custom properties so a parent (e.g.
27
+ * btu-button-group) can pick up the button's color family without having to
28
+ * name its color class:
29
+ *
30
+ * --button-tint-subtle - light shade (selected background)
31
+ * --button-tint-strong - dark shade (selected text)
32
+ * --button-tint-highlight - mid shade (accent/highlight)
25
33
  */
26
34
 
27
35
  module.exports = plugin(function ({ addComponents, addUtilities, theme }) {
@@ -48,6 +56,12 @@ module.exports = plugin(function ({ addComponents, addUtilities, theme }) {
48
56
  '--button-text-color': '',
49
57
  '--button-pressed': 'initial',
50
58
  '--button-fill-none': 'initial',
59
+ // Baseline color-family tints so an uncolored .btu-button still has
60
+ // sensible values for components that read these (e.g. btu-button-group
61
+ // selection background). Per-color variants overwrite further below.
62
+ '--button-tint-subtle': 'oklch(var(--btu-theme-primary-50))',
63
+ '--button-tint-strong': 'oklch(var(--btu-theme-primary-800))',
64
+ '--button-tint-highlight': 'oklch(var(--btu-theme-primary-200))',
51
65
  '--button-padding-xs': '0.25rem 0.5rem',
52
66
  '--button-padding-sm': '0.5rem 0.875rem',
53
67
  '--button-padding-md': '0.625rem 1rem',
@@ -153,6 +167,8 @@ module.exports = plugin(function ({ addComponents, addUtilities, theme }) {
153
167
  for (const key in colors) {
154
168
  if (key === 'currentColor' || key === 'transparent' || key === 'white' || key === 'black' || key === 'ai') continue
155
169
  const ringColorKey = key === 'success' || key === 'error' ? key : 'primary'
170
+ // Gray buttons borrow primary for their pressed/selected tint.
171
+ const tintKey = key === 'gray' ? 'primary' : key
156
172
  const focusStyle: CSSRuleObject = {
157
173
  '--button-color': `oklch(var(--btu-theme-${key}-${key === 'gray' ? '100' : key === 'success' ? '700' : '600'}))`,
158
174
  '--button-fill-none-color': `transparent`,
@@ -174,8 +190,12 @@ module.exports = plugin(function ({ addComponents, addUtilities, theme }) {
174
190
  '--button-disabled-color-fill': `oklch(var(--btu-theme-${key}-${key === 'gray' ? '100' : key === 'primary' ? '300' : '200'}))`,
175
191
  '--button-disabled-color-fill-none': `var(--button-fill-none) oklch(var(--btu-theme-white))`,
176
192
  '--button-disabled-text-color-fill-none': `var(--button-fill-none) oklch(var(--btu-theme-${key}-${key === 'gray' ? '400' : '300'}))`,
177
- '--button-pressed-color': `var(--button-pressed) var(--button-disabled-color, oklch(var(--btu-theme-${key === 'gray' ? 'primary' : key}-50)))`,
178
- '--button-pressed-text-color': `var(--button-pressed) var(--button-disabled-text-color, oklch(var(--btu-theme-${key === 'gray' ? 'primary' : key}-800)))`,
193
+ '--button-pressed-color': `var(--button-pressed) var(--button-disabled-color, oklch(var(--btu-theme-${tintKey}-50)))`,
194
+ '--button-pressed-text-color': `var(--button-pressed) var(--button-disabled-text-color, oklch(var(--btu-theme-${tintKey}-800)))`,
195
+ // Plain color tints other components can read (always set, no toggle).
196
+ '--button-tint-subtle': `oklch(var(--btu-theme-${tintKey}-50))`,
197
+ '--button-tint-strong': `oklch(var(--btu-theme-${tintKey}-800))`,
198
+ '--button-tint-highlight': `oklch(var(--btu-theme-${tintKey}-200))`,
179
199
  '&:hover': {
180
200
  '--button-color': `oklch(var(--btu-theme-${key}-${key === 'gray' ? '200' : key === 'success' ? '800' : '700'}))`,
181
201
  '--button-fill-none-color': `oklch(var(--btu-theme-${key}-${key === 'gray' ? '200' : '50'}))`,
@@ -192,8 +192,12 @@ module.exports = plugin(function ({ addComponents, config, theme }) {
192
192
  transition: 'transform 200ms ease',
193
193
  flexShrink: '0',
194
194
  },
195
- /* Icon-only trigger with chevron: override square sizing so both icons fit */
196
- '.btu-button-text-hidden:has(.btu-dropdown-chevron)': {
195
+ /* Trigger with chevron: restore auto width + gap so the icon and chevron
196
+ fit. Matches every chevron trigger, but is a no-op on labelled triggers
197
+ (`.btu-button` already defaults to width:auto/gap:0.5rem). The effective
198
+ target is icon-only triggers, where `.btu-button-text-hidden` forces a
199
+ fixed square width and gap:0 — which would otherwise clip the chevron. */
200
+ 'btu-dropdown > button:has(.btu-dropdown-chevron)': {
197
201
  width: 'auto',
198
202
  gap: '0.5rem',
199
203
  },