@brightspot/ui 6.3.5 → 6.4.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 (142) hide show
  1. package/README.md +2 -0
  2. package/dist/components/popover/Popover.d.ts +21 -0
  3. package/dist/components/popover/Popover.d.ts.map +1 -1
  4. package/dist/components/popover/Popover.js +85 -0
  5. package/dist/components/popover/Popover.js.map +1 -1
  6. package/dist/components/tabs/Tab.d.ts +1 -1
  7. package/dist/components/tabs/Tab.js +1 -1
  8. package/dist/custom-elements.json +14 -1
  9. package/dist/storybook/assets/{ActionBar.stories-CgkvHW27.js → ActionBar.stories-CyrWbZkU.js} +1 -1
  10. package/dist/storybook/assets/{ActionItem.stories-CyxwhrvR.js → ActionItem.stories-D289PqhK.js} +1 -1
  11. package/dist/storybook/assets/{AiSparkle.stories-h2LSw10e.js → AiSparkle.stories-Dej2Wktc.js} +1 -1
  12. package/dist/storybook/assets/{Avatar.stories-CQ3eFTbI.js → Avatar.stories-DGUhUkwq.js} +1 -1
  13. package/dist/storybook/assets/{AvatarGroup.stories-CIyZOd7R.js → AvatarGroup.stories-CPwRaMIK.js} +1 -1
  14. package/dist/storybook/assets/{Badge.stories-CwPkYUuY.js → Badge.stories-0KzitC2n.js} +1 -1
  15. package/dist/storybook/assets/{Banner.stories-B7AhWymc.js → Banner.stories-DNtqnXAp.js} +1 -1
  16. package/dist/storybook/assets/{Button-fLz-Mqji.js → Button-CWHtTXwM.js} +1 -1
  17. package/dist/storybook/assets/{Button.stories-Bj_cB5Tr.js → Button.stories-Bi-MajOM.js} +1 -1
  18. package/dist/storybook/assets/{ButtonGroup.stories-DMAr8q3A.js → ButtonGroup.stories-DRVCaM3T.js} +1 -1
  19. package/dist/storybook/assets/{Card.stories-CouVkvTr.js → Card.stories-Ca21MUf2.js} +1 -1
  20. package/dist/storybook/assets/{Celebrate.stories-Cai7aITx.js → Celebrate.stories-d4ouDVSf.js} +1 -1
  21. package/dist/storybook/assets/{Checkbox.stories-BTzuHih7.js → Checkbox.stories-DGYMCoPL.js} +1 -1
  22. package/dist/storybook/assets/{CircularProgress.stories-DwiMDCrW.js → CircularProgress.stories-TLUKn59S.js} +1 -1
  23. package/dist/storybook/assets/{ClipboardMixin.stories-BTzKKsAG.js → ClipboardMixin.stories-D4sLLX3A.js} +1 -1
  24. package/dist/storybook/assets/{Color-6BZIO3FS-z5x4axZs.js → Color-6BZIO3FS-DasxsVys.js} +1 -1
  25. package/dist/storybook/assets/{Colors.stories-LjQN3QJP.js → Colors.stories-BcaxhrWi.js} +1 -1
  26. package/dist/storybook/assets/{CombinedEffects.stories-CcWkxBPD.js → CombinedEffects.stories-Da1vPYog.js} +1 -1
  27. package/dist/storybook/assets/{ComponentStatesMixin-6JmalSeW.js → ComponentStatesMixin-C5-EArF-.js} +1 -1
  28. package/dist/storybook/assets/{ComponentStatesMixin.stories-wr7wl9D5.js → ComponentStatesMixin.stories-DPp1pnlh.js} +1 -1
  29. package/dist/storybook/assets/{CopyToClipboard.stories-CBL_GlzJ.js → CopyToClipboard.stories-CrYOAXIE.js} +1 -1
  30. package/dist/storybook/assets/{Debounce.stories-DDW0347e.js → Debounce.stories-OHpSSOWP.js} +1 -1
  31. package/dist/storybook/assets/{DocsRenderer-LL677BLK-LHrG4h5r.js → DocsRenderer-LL677BLK-BBjqnKJz.js} +3 -3
  32. package/dist/storybook/assets/{Dropdown.stories-BixGKdVC.js → Dropdown.stories-Ca_3OzYk.js} +1 -1
  33. package/dist/storybook/assets/{EmptyState.stories-DYCizkT5.js → EmptyState.stories-IJOBvkeQ.js} +1 -1
  34. package/dist/storybook/assets/{EscaAvatar.stories-IV0FybUu.js → EscaAvatar.stories-Ca5mrHK5.js} +1 -1
  35. package/dist/storybook/assets/{Events.stories-9X1B5LFU.js → Events.stories-mk3o4H-1.js} +1 -1
  36. package/dist/storybook/assets/{Heading.stories-BWFKyeYP.js → Heading.stories-BCmCdDGL.js} +1 -1
  37. package/dist/storybook/assets/{HueRipple.stories-KJySD4yc.js → HueRipple.stories-DFtimmD-.js} +1 -1
  38. package/dist/storybook/assets/{Icon.stories-n4-_RBwe.js → Icon.stories-CfsBM1vA.js} +1 -1
  39. package/dist/storybook/assets/{IconButton.stories--cc9Az0q.js → IconButton.stories-BqMbwr3s.js} +1 -1
  40. package/dist/storybook/assets/{LinearProgress.stories-CXISMQqr.js → LinearProgress.stories-BWdemzi0.js} +1 -1
  41. package/dist/storybook/assets/{Message.stories-DCgZ9H2r.js → Message.stories-Z_H9PmGg.js} +1 -1
  42. package/dist/storybook/assets/{OnFindMixin.stories-DwYEl4q4.js → OnFindMixin.stories-DmCtF_Py.js} +1 -1
  43. package/dist/storybook/assets/{Pagination.stories-B8AqV3jI.js → Pagination.stories-BbiH-XdZ.js} +1 -1
  44. package/dist/storybook/assets/{Popover.stories-Dj8TUysk.js → Popover.stories-bxWb2l8c.js} +97 -14
  45. package/dist/storybook/assets/{ReadyMixin-B1y8EBLz.js → ReadyMixin-DehOcbYB.js} +1 -1
  46. package/dist/storybook/assets/{RovingTabindexMixin.stories-BTYV78Cy.js → RovingTabindexMixin.stories-PDi3Gbmt.js} +1 -1
  47. package/dist/storybook/assets/{Rtc.stories-CiQ4OgEf.js → Rtc.stories-fVPUs7VO.js} +1 -1
  48. package/dist/storybook/assets/{ScrollShadow.stories-BRpbl9WU.js → ScrollShadow.stories-D7MTe49h.js} +1 -1
  49. package/dist/storybook/assets/{Switch.stories-Dfw56-LB.js → Switch.stories-_Xgp_9V4.js} +1 -1
  50. package/dist/storybook/assets/{Tab.stories-DCIPSPwr.js → Tab.stories-DgO_oZX0.js} +4 -4
  51. package/dist/storybook/assets/{Tabs.stories-DrT2D2oW.js → Tabs.stories-ChN1szFL.js} +1 -1
  52. package/dist/storybook/assets/{Throttle.stories-B5Y8K9s3.js → Throttle.stories-ClFkiAMe.js} +1 -1
  53. package/dist/storybook/assets/{Tooltip.stories-CUjm8cuW.js → Tooltip.stories-BHOdZEw2.js} +1 -1
  54. package/dist/storybook/assets/{Upload.stories-Dt7V8qIe.js → Upload.stories-BLs0X2F6.js} +1 -1
  55. package/dist/storybook/assets/{UploadItem.stories-DSXxGs8M.js → UploadItem.stories-CHCpPL7t.js} +1 -1
  56. package/dist/storybook/assets/{Welcome.stories-BDFQb8oF.js → Welcome.stories-DLoiQCnZ.js} +1 -1
  57. package/dist/storybook/assets/{Widget.stories-CQnE1dST.js → Widget.stories-Bk4jjx7Q.js} +1 -1
  58. package/dist/storybook/assets/{WithTooltip-65CFNBJE-D1OYJPzp.js → WithTooltip-65CFNBJE-Ckgk7wzk.js} +1 -1
  59. package/dist/storybook/assets/{blocks-Z0quNc1U.js → blocks-wSKOBuKH.js} +5 -5
  60. package/dist/storybook/assets/{formatter-EIJCOSYU-DwWzDvJC.js → formatter-EIJCOSYU-DEpJ5Gq0.js} +1 -1
  61. package/dist/storybook/assets/if-defined-DphVHb7j.js +1 -0
  62. package/dist/storybook/assets/{iframe-WTEmYHJj.js → iframe-BSHPpSig.js} +4 -4
  63. package/dist/storybook/assets/iframe-D7jBrFjV.css +1 -0
  64. package/dist/storybook/assets/{index-BvPCa7_B.js → index-Cn8vvE6a.js} +1 -1
  65. package/dist/storybook/assets/{onFind-CqIRRMTv.js → onFind-DJOHkvQ2.js} +1 -1
  66. package/dist/storybook/assets/{onFind.stories-C4PPQTaQ.js → onFind.stories-CTmXCV_g.js} +1 -1
  67. package/dist/storybook/assets/{onRemove.stories-BGFCh6DN.js → onRemove.stories-r7-2gQn3.js} +1 -1
  68. package/dist/storybook/assets/{onVisible.stories-4ni7syfJ.js → onVisible.stories-B_Lx-0SL.js} +1 -1
  69. package/dist/storybook/assets/{style-map-BhvFBtuB.js → style-map-uSz4USKK.js} +1 -1
  70. package/dist/storybook/assets/{syntaxhighlighter-ED5Y7EFY-D_cJwnoJ.js → syntaxhighlighter-ED5Y7EFY-D36nxrU2.js} +1 -1
  71. package/dist/storybook/iframe.html +2 -2
  72. package/dist/storybook/index.json +1 -1
  73. package/dist/storybook/project.json +1 -1
  74. package/dist/tailwind-plugin-badge.js +2 -2
  75. package/dist/tailwind-plugin-badge.ts +3 -3
  76. package/dist/tailwind-plugin-button-group.js +50 -27
  77. package/dist/tailwind-plugin-button-group.js.map +1 -1
  78. package/dist/tailwind-plugin-button-group.ts +61 -33
  79. package/dist/tailwind-plugin-button.js +15 -5
  80. package/dist/tailwind-plugin-button.js.map +1 -1
  81. package/dist/tailwind-plugin-button.ts +16 -5
  82. package/dist/tailwind-plugin-pagination.js +4 -1
  83. package/dist/tailwind-plugin-pagination.js.map +1 -1
  84. package/dist/tailwind-plugin-pagination.ts +4 -1
  85. package/dist/tailwind-plugin-popover.js +90 -23
  86. package/dist/tailwind-plugin-popover.js.map +1 -1
  87. package/dist/tailwind-plugin-popover.ts +95 -25
  88. package/dist/tailwind-plugin-tooltip.js +3 -0
  89. package/dist/tailwind-plugin-tooltip.js.map +1 -1
  90. package/dist/tailwind-plugin-tooltip.ts +3 -0
  91. package/docs/components/ActionBar.md +9 -8
  92. package/docs/components/Avatar.md +20 -19
  93. package/docs/components/AvatarGroup.md +5 -4
  94. package/docs/components/Badge.md +8 -7
  95. package/docs/components/ButtonGroup.md +12 -11
  96. package/docs/components/Icon.md +8 -7
  97. package/docs/components/Pagination.md +19 -18
  98. package/docs/components/Popover.md +21 -17
  99. package/docs/components/Tab.md +13 -12
  100. package/docs/components/Tabs.md +13 -12
  101. package/package.json +1 -1
  102. package/src/legacy/tool-ui/src/Admin.css +10 -1
  103. package/src/legacy/tool-ui/src/CodeMirror.css +4 -3
  104. package/src/legacy/tool-ui/src/ContentInputGroup.css +86 -62
  105. package/src/legacy/tool-ui/src/ContentInputGroup.ts +33 -0
  106. package/src/legacy/tool-ui/src/Conversation.ts +3 -0
  107. package/src/legacy/tool-ui/src/Entry.ts +1 -0
  108. package/src/legacy/tool-ui/src/Global.d.ts +3 -0
  109. package/src/legacy/tool-ui/src/LocationMap.css +106 -2
  110. package/src/legacy/tool-ui/src/MenuView.css +1 -2
  111. package/src/legacy/tool-ui/src/NewTabLinks.ts +25 -0
  112. package/src/legacy/tool-ui/src/Notification.css +20 -2
  113. package/src/legacy/tool-ui/src/Notifications.ts +5 -0
  114. package/src/legacy/tool-ui/src/RepeatableContentInputGroup.css +28 -21
  115. package/src/legacy/tool-ui/src/RepeatableContentSelector.css +50 -50
  116. package/src/legacy/tool-ui/src/SearchResult.css +5 -0
  117. package/src/legacy/tool-ui/src/Suggestions.css +1 -1
  118. package/src/legacy/tool-ui/src/form/CodeInput/CodeMirror.ts +0 -1
  119. package/src/legacy/tool-ui/src/main/webapp/dist/130.8cc1870de35c48fb16bc.js +1 -0
  120. package/src/legacy/tool-ui/src/main/webapp/dist/CodeMirror.deeefe0da1691332b8d9.js +1 -0
  121. package/src/legacy/tool-ui/src/main/webapp/dist/{RTEProseMirror.420477026fe7508c83cf.js → RTEProseMirror.3ab7e02ee7ea42af94e5.js} +6 -6
  122. package/src/legacy/tool-ui/src/main/webapp/dist/iframeResizer.contentWindow.min.ea954ff5c2278da22eb4.js +2 -0
  123. package/src/legacy/tool-ui/src/main/webapp/dist/iframeResizer.contentWindow.min.ea954ff5c2278da22eb4.js.LICENSE.txt +7 -0
  124. package/src/legacy/tool-ui/src/main/webapp/dist/lucide.a0ab0ebd23916ff7c28c.woff2 +0 -0
  125. package/src/legacy/tool-ui/src/main/webapp/dist/{v4.f3d988f6f7e664a8ac1f.js → v4.77773a9500063c0e2e37.js} +6 -6
  126. package/src/legacy/tool-ui/src/main/webapp/dist/v4.d48271241dbf3eecc14e.css +3 -0
  127. package/src/legacy/tool-ui/src/main/webapp/dist/v5.78c144a01e1cf543642b.css +5 -0
  128. package/src/legacy/tool-ui/src/main/webapp/dist/{v5.9aca525c9803b3173f73.js → v5.9f309b0ce98df4565933.js} +6 -6
  129. package/src/legacy/tool-ui/src/main/webapp/v4/ContentEdit.less +1 -0
  130. package/src/legacy/tool-ui/src/main/webapp/v4/Entry.less +7 -0
  131. package/src/legacy/tool-ui/src/main/webapp/v4/SearchResult.less +7 -0
  132. package/src/legacy/tool-ui/src/v5.css +9 -0
  133. package/src/legacy/tool-ui/src/v5.ts +13 -0
  134. package/dist/storybook/assets/if-defined-Dl8MuiCE.js +0 -1
  135. package/dist/storybook/assets/iframe-HDp5BmO_.css +0 -1
  136. package/src/legacy/tool-ui/src/main/webapp/dist/2825.c1342ac2662d11fd4125.js +0 -1
  137. package/src/legacy/tool-ui/src/main/webapp/dist/CodeMirror.5ddffe054374f883d6f8.js +0 -1
  138. package/src/legacy/tool-ui/src/main/webapp/dist/v4.05d6a78ae435b930dd53.css +0 -3
  139. package/src/legacy/tool-ui/src/main/webapp/dist/v5.95b7459d6c50c61b6480.css +0 -5
  140. /package/src/legacy/tool-ui/src/main/webapp/dist/{RTEProseMirror.420477026fe7508c83cf.js.LICENSE.txt → RTEProseMirror.3ab7e02ee7ea42af94e5.js.LICENSE.txt} +0 -0
  141. /package/src/legacy/tool-ui/src/main/webapp/dist/{v4.f3d988f6f7e664a8ac1f.js.LICENSE.txt → v4.77773a9500063c0e2e37.js.LICENSE.txt} +0 -0
  142. /package/src/legacy/tool-ui/src/main/webapp/dist/{v5.9aca525c9803b3173f73.js.LICENSE.txt → v5.9f309b0ce98df4565933.js.LICENSE.txt} +0 -0
@@ -1 +1 @@
1
- {"generatedAt":1789745803583,"hasCustomBabel":false,"hasCustomWebpack":false,"hasStaticDirs":true,"hasStorybookEslint":true,"refCount":0,"knownPackages":{"testPackages":{"@storybook/addon-vitest":"10.2.12","@vitest/browser-playwright":"4.0.18","playwright":"1.58.2","vitest":"4.0.18"},"stylingPackages":{"tailwindcss":"^3.4.13","autoprefixer":"10.4.21"}},"hasRouterPackage":false,"packageManager":{"type":"yarn","agent":"yarn","nodeLinker":"undefined"},"preview":{"usesGlobals":true},"framework":{"name":"@storybook/web-components-vite","options":{}},"builder":"@storybook/builder-vite","renderer":"@storybook/web-components","portableStoriesFileCount":0,"applicationFileCount":6,"storybookVersion":"10.2.12","storybookVersionSpecifier":"10.2.12","language":"typescript","storybookPackages":{"@storybook/addon-themes":{"version":"10.2.12"},"@storybook/web-components-vite":{"version":"10.2.12"},"@wc-toolkit/storybook-helpers":{"version":"10.0.0"},"eslint-plugin-storybook":{"version":"10.0.7"},"storybook":{}},"addons":{"@storybook/addon-docs":{"version":"10.2.12"},"@storybook/addon-vitest":{"version":"10.2.12"}},"packageJsonType":"module"}
1
+ {"generatedAt":1789748067369,"hasCustomBabel":false,"hasCustomWebpack":false,"hasStaticDirs":true,"hasStorybookEslint":true,"refCount":0,"knownPackages":{"testPackages":{"@storybook/addon-vitest":"10.2.12","@vitest/browser-playwright":"4.0.18","playwright":"1.58.2","vitest":"4.0.18"},"stylingPackages":{"tailwindcss":"^3.4.13","autoprefixer":"10.4.21"}},"hasRouterPackage":false,"packageManager":{"type":"yarn","agent":"yarn","nodeLinker":"undefined"},"preview":{"usesGlobals":true},"framework":{"name":"@storybook/web-components-vite","options":{}},"builder":"@storybook/builder-vite","renderer":"@storybook/web-components","portableStoriesFileCount":0,"applicationFileCount":6,"storybookVersion":"10.2.12","storybookVersionSpecifier":"10.2.12","language":"typescript","storybookPackages":{"@storybook/addon-themes":{"version":"10.2.12"},"@storybook/web-components-vite":{"version":"10.2.12"},"@wc-toolkit/storybook-helpers":{"version":"10.0.0"},"eslint-plugin-storybook":{"version":"10.0.7"},"storybook":{}},"addons":{"@storybook/addon-docs":{"version":"10.2.12"},"@storybook/addon-vitest":{"version":"10.2.12"}},"packageJsonType":"module"}
@@ -55,7 +55,7 @@ module.exports = plugin(function ({ addBase, addComponents, theme, e, matchUtili
55
55
  [`${className}-${e(key)}`]: {
56
56
  '--icon-size': iconSizes['xs'],
57
57
  backgroundColor: fill,
58
- color: `var(--badge-color-foreground, oklch(var(--btu-theme-${key}-700)))`,
58
+ color: `var(--badge-color-foreground, oklch(var(--btu-theme-${key}-800)))`,
59
59
  textDecoration: 'underline',
60
60
  textDecorationColor: `var(--badge-color-background, oklch(var(--btu-theme-${key}-50)))`,
61
61
  },
@@ -75,7 +75,7 @@ module.exports = plugin(function ({ addBase, addComponents, theme, e, matchUtili
75
75
  // the fill/text/underline all read, so one declaration flips all three
76
76
  // coherently (and the busy pill-fill layer follows the fill var).
77
77
  [`${className}-solid${className}-${e(key)}`]: {
78
- '--badge-color-background': `oklch(var(--btu-theme-${key}-700))`,
78
+ '--badge-color-background': `oklch(var(--btu-theme-${key}-800))`,
79
79
  '--badge-color-foreground': `oklch(var(--btu-theme-${key}-50))`,
80
80
  },
81
81
  // Solid busy: foreground and background are swapped versus soft, so reuse
@@ -12,7 +12,7 @@ declare let module: any
12
12
  * btu-badge-[sm|md|lg] - Size of the Badge.
13
13
  * btu-badge-[$theme-colors] - Color of the Badge (includes text-decoration-color support).
14
14
  * btu-badge-solid - Solid fill: swaps the resting foreground/background shades
15
- * (fill -> X-700, text -> X-50) for a filled pill instead of
15
+ * (fill -> X-800, text -> X-50) for a filled pill instead of
16
16
  * the default soft fill. Combine with a btu-badge-<color>
17
17
  * class; on its own it has no effect.
18
18
  *
@@ -113,7 +113,7 @@ module.exports = plugin(
113
113
  [`${className}-${e(key)}`]: {
114
114
  '--icon-size': iconSizes['xs'],
115
115
  backgroundColor: fill,
116
- color: `var(--badge-color-foreground, oklch(var(--btu-theme-${key}-700)))`,
116
+ color: `var(--badge-color-foreground, oklch(var(--btu-theme-${key}-800)))`,
117
117
  textDecoration: 'underline',
118
118
  textDecorationColor: `var(--badge-color-background, oklch(var(--btu-theme-${key}-50)))`,
119
119
  },
@@ -133,7 +133,7 @@ module.exports = plugin(
133
133
  // the fill/text/underline all read, so one declaration flips all three
134
134
  // coherently (and the busy pill-fill layer follows the fill var).
135
135
  [`${className}-solid${className}-${e(key)}`]: {
136
- '--badge-color-background': `oklch(var(--btu-theme-${key}-700))`,
136
+ '--badge-color-background': `oklch(var(--btu-theme-${key}-800))`,
137
137
  '--badge-color-foreground': `oklch(var(--btu-theme-${key}-50))`,
138
138
  },
139
139
  // Solid busy: foreground and background are swapped versus soft, so reuse
@@ -7,11 +7,14 @@ import plugin from 'tailwindcss/plugin';
7
7
  * children. `btu-icon-button` uses `display: contents` so its inner `<button>`
8
8
  * participates directly in the group's flex layout.
9
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.
10
+ * Grouped controls may be `<button>`, `<btu-icon-button>`, or an anchor carrying
11
+ * `.btu-button` (`<a class="btu-button">`) — a segmented view-switcher made of real
12
+ * links is a normal pattern, so anchors get the connected corners and the selection
13
+ * treatment too. A bare `<a>` without `.btu-button` is left alone.
14
+ *
15
+ * Selected state is read per element type: `aria-pressed="true"` on a button, and
16
+ * `aria-current` (any value but `false`) on an anchor, which is the correct attribute
17
+ * for a link marking the active destination.
15
18
  *
16
19
  * Selection uses a circular wipe transition: a `::after` pseudo-element with
17
20
  * `clip-path: circle()` reveals the selection color from the center outward.
@@ -35,6 +38,26 @@ module.exports = plugin(function ({ addComponents, addBase }) {
35
38
  const allSelected = `${connected}[data-all-selected]`;
36
39
  const borderColor = 'var(--button-group-border-color, oklch(var(--btu-theme-gray-300)))';
37
40
  const outerRadius = 'var(--button-group-border-radius, 0.5rem)';
41
+ // A grouped control is normally a <button>, but a navigational group is built from
42
+ // links, and those need the same connected and selected treatment. An anchor must
43
+ // carry .btu-button to opt in — a bare <a> in a group isn't a control.
44
+ //
45
+ // Each element type keeps its own selected-state signal: aria-pressed belongs to
46
+ // toggle buttons, aria-current to a link marking the active destination. Rules are
47
+ // emitted as comma-separated selectors rather than :is(button, a.btu-button) so the
48
+ // existing button rules keep their original specificity.
49
+ //
50
+ // The anchor is matched as `a[class~="btu-button"]`, not `a.btu-button`. `@apply
51
+ // btu-button` clones every rule whose selector references the `.btu-button` class,
52
+ // once per apply-site — the legacy tool-ui has ~200 of them, so the class form
53
+ // multiplied this plugin's output ~198x and put 1.27 MB into v5.css. The attribute
54
+ // form selects the same elements at the same specificity without being treated as a
55
+ // reference to the component. See test/css-bloat.
56
+ const ITEMS = [
57
+ { sel: 'button', armed: '[aria-pressed]', on: '[aria-pressed="true"]' },
58
+ { sel: 'a[class~="btu-button"]', armed: '[aria-current]', on: '[aria-current]:not([aria-current="false"])' },
59
+ ];
60
+ const over = (tpl) => ITEMS.map(tpl).join(', ');
38
61
  const components = {
39
62
  // ─── Base ─────────────────────────────────────────────────────────
40
63
  '.btu-button-group': {
@@ -57,30 +80,30 @@ module.exports = plugin(function ({ addComponents, addBase }) {
57
80
  },
58
81
  // ─── slot="end" auto-margin ──────────────────────────────────────
59
82
  // 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': {
83
+ [over(i => `btu-button-group[orientation="horizontal"] > [slot="end"], btu-button-group[orientation="horizontal"] > [slot="end"] > ${i.sel}`)]: {
61
84
  marginInlineStart: 'auto',
62
85
  },
63
- 'btu-button-group[orientation="vertical"] > [slot="end"], btu-button-group[orientation="vertical"] > [slot="end"] > button': {
86
+ [over(i => `btu-button-group[orientation="vertical"] > [slot="end"], btu-button-group[orientation="vertical"] > [slot="end"] > ${i.sel}`)]: {
64
87
  marginBlockStart: 'auto',
65
88
  },
66
89
  // ─── Size propagation via CSS ─────────────────────────────────────
67
- 'btu-button-group[size="small"] button': {
90
+ [over(i => `btu-button-group[size="small"] ${i.sel}`)]: {
68
91
  padding: 'var(--button-padding-sm)',
69
92
  width: 'var(--button-size-sm, auto)',
70
93
  height: 'var(--button-size-sm, auto)',
71
94
  },
72
- 'btu-button-group[size="medium"] button': {
95
+ [over(i => `btu-button-group[size="medium"] ${i.sel}`)]: {
73
96
  padding: 'var(--button-padding-md)',
74
97
  width: 'var(--button-size-md, auto)',
75
98
  height: 'var(--button-size-md, auto)',
76
99
  },
77
- 'btu-button-group[size="large"] button': {
100
+ [over(i => `btu-button-group[size="large"] ${i.sel}`)]: {
78
101
  padding: 'var(--button-padding-lg)',
79
102
  width: 'var(--button-size-lg, auto)',
80
103
  height: 'var(--button-size-lg, auto)',
81
104
  },
82
105
  // ─── Connected: convert outline buttons to border-based ───────────
83
- [`${connected} button`]: {
106
+ [over(i => `${connected} ${i.sel}`)]: {
84
107
  outline: 'none',
85
108
  border: `1px solid ${borderColor}`,
86
109
  transition: 'box-shadow 100ms ease, filter 100ms ease',
@@ -100,13 +123,13 @@ module.exports = plugin(function ({ addComponents, addBase }) {
100
123
  // so the button itself must stay at its normal (non-pressed) color.
101
124
  // Selection colors default to the button's own --button-tint-* shades,
102
125
  // overridable via the documented --button-group-* properties.
103
- '.btu-button-group button[aria-pressed]': {
126
+ [over(i => `.btu-button-group ${i.sel}${i.armed}`)]: {
104
127
  '--button-pressed-color': 'initial',
105
128
  '--button-pressed-text-color': 'initial',
106
129
  isolation: 'isolate',
107
130
  transition: 'color 150ms ease-in',
108
131
  },
109
- '.btu-button-group button[aria-pressed]::after': {
132
+ [over(i => `.btu-button-group ${i.sel}${i.armed}::after`)]: {
110
133
  content: '""',
111
134
  position: 'absolute',
112
135
  inset: '0',
@@ -117,64 +140,64 @@ module.exports = plugin(function ({ addComponents, addBase }) {
117
140
  transition: 'clip-path 150ms ease-in',
118
141
  },
119
142
  // ─── Selection wipe: active state ─────────────────────────────────
120
- '.btu-button-group button[aria-pressed="true"]': {
143
+ [over(i => `.btu-button-group ${i.sel}${i.on}`)]: {
121
144
  color: 'var(--button-group-selection-color, var(--button-tint-strong))',
122
145
  transition: 'color 200ms ease-out',
123
146
  },
124
- '.btu-button-group button[aria-pressed="true"]::after': {
147
+ [over(i => `.btu-button-group ${i.sel}${i.on}::after`)]: {
125
148
  clipPath: 'circle(75% at center)',
126
149
  transition: 'clip-path 200ms ease-out',
127
150
  },
128
151
  // ─── Reduced motion ─────────────────────────────────────────────────
129
152
  '@media (prefers-reduced-motion: reduce)': {
130
- '.btu-button-group button[aria-pressed]': {
153
+ [over(i => `.btu-button-group ${i.sel}${i.armed}`)]: {
131
154
  transition: 'color 0.01ms ease',
132
155
  },
133
- '.btu-button-group button[aria-pressed]::after': {
156
+ [over(i => `.btu-button-group ${i.sel}${i.armed}::after`)]: {
134
157
  transition: 'clip-path 0.01ms ease',
135
158
  },
136
- [`${allSelected} button[aria-pressed="true"]`]: {
159
+ [over(i => `${allSelected} ${i.sel}${i.on}`)]: {
137
160
  animation: 'none',
138
161
  },
139
162
  },
140
163
  // ─── Connected variant — horizontal ───────────────────────────────
141
- [`${connectedH} button`]: {
164
+ [over(i => `${connectedH} ${i.sel}`)]: {
142
165
  borderRadius: '0',
143
166
  marginInlineEnd: '-1px',
144
167
  position: 'relative',
145
- '&:hover, &:focus-visible, &:active, &[aria-pressed="true"]': {
168
+ '&:hover, &:focus-visible, &:active, &[aria-pressed="true"], &[aria-current]:not([aria-current="false"])': {
146
169
  zIndex: '1',
147
170
  },
148
171
  '&:focus-visible': {
149
172
  zIndex: '2',
150
173
  },
151
174
  },
152
- [`${connectedH} > :first-child:is(button), ${connectedH} > :first-child > button`]: {
175
+ [over(i => `${connectedH} > :first-child:is(${i.sel}), ${connectedH} > :first-child > ${i.sel}`)]: {
153
176
  borderStartStartRadius: outerRadius,
154
177
  borderEndStartRadius: outerRadius,
155
178
  },
156
- [`${connectedH} > :last-child:is(button), ${connectedH} > :last-child > button`]: {
179
+ [over(i => `${connectedH} > :last-child:is(${i.sel}), ${connectedH} > :last-child > ${i.sel}`)]: {
157
180
  borderStartEndRadius: outerRadius,
158
181
  borderEndEndRadius: outerRadius,
159
182
  marginInlineEnd: '0',
160
183
  },
161
184
  // ─── Connected variant — vertical ─────────────────────────────────
162
- [`${connectedV} button`]: {
185
+ [over(i => `${connectedV} ${i.sel}`)]: {
163
186
  borderRadius: '0',
164
187
  marginBlockEnd: '-1px',
165
188
  position: 'relative',
166
- '&:hover, &:focus-visible, &:active, &[aria-pressed="true"]': {
189
+ '&:hover, &:focus-visible, &:active, &[aria-pressed="true"], &[aria-current]:not([aria-current="false"])': {
167
190
  zIndex: '1',
168
191
  },
169
192
  '&:focus-visible': {
170
193
  zIndex: '2',
171
194
  },
172
195
  },
173
- [`${connectedV} > :first-child:is(button), ${connectedV} > :first-child > button`]: {
196
+ [over(i => `${connectedV} > :first-child:is(${i.sel}), ${connectedV} > :first-child > ${i.sel}`)]: {
174
197
  borderStartStartRadius: outerRadius,
175
198
  borderStartEndRadius: outerRadius,
176
199
  },
177
- [`${connectedV} > :last-child:is(button), ${connectedV} > :last-child > button`]: {
200
+ [over(i => `${connectedV} > :last-child:is(${i.sel}), ${connectedV} > :last-child > ${i.sel}`)]: {
178
201
  borderEndStartRadius: outerRadius,
179
202
  borderEndEndRadius: outerRadius,
180
203
  marginBlockEnd: '0',
@@ -188,7 +211,7 @@ module.exports = plugin(function ({ addComponents, addBase }) {
188
211
  };
189
212
  // ─── All-selected shimmer (connected only) ─────────────────────────
190
213
  // Text color pulse + border color pulse on each button, staggered.
191
- components[`${allSelected} button[aria-pressed="true"]`] = {
214
+ components[over(i => `${allSelected} ${i.sel}${i.on}`)] = {
192
215
  animation: 'btu-shimmer-all 500ms ease-in-out both',
193
216
  animationDelay: 'calc((var(--_btn-index, 1) - 1) * 100ms)',
194
217
  };
@@ -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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"}
@@ -10,11 +10,14 @@ declare let module: any
10
10
  * children. `btu-icon-button` uses `display: contents` so its inner `<button>`
11
11
  * participates directly in the group's flex layout.
12
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.
13
+ * Grouped controls may be `<button>`, `<btu-icon-button>`, or an anchor carrying
14
+ * `.btu-button` (`<a class="btu-button">`) — a segmented view-switcher made of real
15
+ * links is a normal pattern, so anchors get the connected corners and the selection
16
+ * treatment too. A bare `<a>` without `.btu-button` is left alone.
17
+ *
18
+ * Selected state is read per element type: `aria-pressed="true"` on a button, and
19
+ * `aria-current` (any value but `false`) on an anchor, which is the correct attribute
20
+ * for a link marking the active destination.
18
21
  *
19
22
  * Selection uses a circular wipe transition: a `::after` pseudo-element with
20
23
  * `clip-path: circle()` reveals the selection color from the center outward.
@@ -40,6 +43,27 @@ module.exports = plugin(function ({ addComponents, addBase }) {
40
43
  const borderColor = 'var(--button-group-border-color, oklch(var(--btu-theme-gray-300)))'
41
44
  const outerRadius = 'var(--button-group-border-radius, 0.5rem)'
42
45
 
46
+ // A grouped control is normally a <button>, but a navigational group is built from
47
+ // links, and those need the same connected and selected treatment. An anchor must
48
+ // carry .btu-button to opt in — a bare <a> in a group isn't a control.
49
+ //
50
+ // Each element type keeps its own selected-state signal: aria-pressed belongs to
51
+ // toggle buttons, aria-current to a link marking the active destination. Rules are
52
+ // emitted as comma-separated selectors rather than :is(button, a.btu-button) so the
53
+ // existing button rules keep their original specificity.
54
+ //
55
+ // The anchor is matched as `a[class~="btu-button"]`, not `a.btu-button`. `@apply
56
+ // btu-button` clones every rule whose selector references the `.btu-button` class,
57
+ // once per apply-site — the legacy tool-ui has ~200 of them, so the class form
58
+ // multiplied this plugin's output ~198x and put 1.27 MB into v5.css. The attribute
59
+ // form selects the same elements at the same specificity without being treated as a
60
+ // reference to the component. See test/css-bloat.
61
+ const ITEMS = [
62
+ { sel: 'button', armed: '[aria-pressed]', on: '[aria-pressed="true"]' },
63
+ { sel: 'a[class~="btu-button"]', armed: '[aria-current]', on: '[aria-current]:not([aria-current="false"])' },
64
+ ]
65
+ const over = (tpl: (i: (typeof ITEMS)[number]) => string) => ITEMS.map(tpl).join(', ')
66
+
43
67
  const components: CSSRuleObject = {
44
68
  // ─── Base ─────────────────────────────────────────────────────────
45
69
  '.btu-button-group': {
@@ -66,34 +90,38 @@ module.exports = plugin(function ({ addComponents, addBase }) {
66
90
 
67
91
  // ─── slot="end" auto-margin ──────────────────────────────────────
68
92
  // 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':
70
- {
71
- marginInlineStart: 'auto',
72
- },
73
- 'btu-button-group[orientation="vertical"] > [slot="end"], btu-button-group[orientation="vertical"] > [slot="end"] > button':
74
- {
75
- marginBlockStart: 'auto',
76
- },
93
+ [over(
94
+ i =>
95
+ `btu-button-group[orientation="horizontal"] > [slot="end"], btu-button-group[orientation="horizontal"] > [slot="end"] > ${i.sel}`,
96
+ )]: {
97
+ marginInlineStart: 'auto',
98
+ },
99
+ [over(
100
+ i =>
101
+ `btu-button-group[orientation="vertical"] > [slot="end"], btu-button-group[orientation="vertical"] > [slot="end"] > ${i.sel}`,
102
+ )]: {
103
+ marginBlockStart: 'auto',
104
+ },
77
105
 
78
106
  // ─── Size propagation via CSS ─────────────────────────────────────
79
- 'btu-button-group[size="small"] button': {
107
+ [over(i => `btu-button-group[size="small"] ${i.sel}`)]: {
80
108
  padding: 'var(--button-padding-sm)',
81
109
  width: 'var(--button-size-sm, auto)',
82
110
  height: 'var(--button-size-sm, auto)',
83
111
  },
84
- 'btu-button-group[size="medium"] button': {
112
+ [over(i => `btu-button-group[size="medium"] ${i.sel}`)]: {
85
113
  padding: 'var(--button-padding-md)',
86
114
  width: 'var(--button-size-md, auto)',
87
115
  height: 'var(--button-size-md, auto)',
88
116
  },
89
- 'btu-button-group[size="large"] button': {
117
+ [over(i => `btu-button-group[size="large"] ${i.sel}`)]: {
90
118
  padding: 'var(--button-padding-lg)',
91
119
  width: 'var(--button-size-lg, auto)',
92
120
  height: 'var(--button-size-lg, auto)',
93
121
  },
94
122
 
95
123
  // ─── Connected: convert outline buttons to border-based ───────────
96
- [`${connected} button`]: {
124
+ [over(i => `${connected} ${i.sel}`)]: {
97
125
  outline: 'none',
98
126
  border: `1px solid ${borderColor}`,
99
127
  transition: 'box-shadow 100ms ease, filter 100ms ease',
@@ -115,13 +143,13 @@ module.exports = plugin(function ({ addComponents, addBase }) {
115
143
  // so the button itself must stay at its normal (non-pressed) color.
116
144
  // Selection colors default to the button's own --button-tint-* shades,
117
145
  // overridable via the documented --button-group-* properties.
118
- '.btu-button-group button[aria-pressed]': {
146
+ [over(i => `.btu-button-group ${i.sel}${i.armed}`)]: {
119
147
  '--button-pressed-color': 'initial',
120
148
  '--button-pressed-text-color': 'initial',
121
149
  isolation: 'isolate',
122
150
  transition: 'color 150ms ease-in',
123
151
  },
124
- '.btu-button-group button[aria-pressed]::after': {
152
+ [over(i => `.btu-button-group ${i.sel}${i.armed}::after`)]: {
125
153
  content: '""',
126
154
  position: 'absolute',
127
155
  inset: '0',
@@ -133,68 +161,68 @@ module.exports = plugin(function ({ addComponents, addBase }) {
133
161
  },
134
162
 
135
163
  // ─── Selection wipe: active state ─────────────────────────────────
136
- '.btu-button-group button[aria-pressed="true"]': {
164
+ [over(i => `.btu-button-group ${i.sel}${i.on}`)]: {
137
165
  color: 'var(--button-group-selection-color, var(--button-tint-strong))',
138
166
  transition: 'color 200ms ease-out',
139
167
  },
140
168
 
141
- '.btu-button-group button[aria-pressed="true"]::after': {
169
+ [over(i => `.btu-button-group ${i.sel}${i.on}::after`)]: {
142
170
  clipPath: 'circle(75% at center)',
143
171
  transition: 'clip-path 200ms ease-out',
144
172
  },
145
173
 
146
174
  // ─── Reduced motion ─────────────────────────────────────────────────
147
175
  '@media (prefers-reduced-motion: reduce)': {
148
- '.btu-button-group button[aria-pressed]': {
176
+ [over(i => `.btu-button-group ${i.sel}${i.armed}`)]: {
149
177
  transition: 'color 0.01ms ease',
150
178
  },
151
- '.btu-button-group button[aria-pressed]::after': {
179
+ [over(i => `.btu-button-group ${i.sel}${i.armed}::after`)]: {
152
180
  transition: 'clip-path 0.01ms ease',
153
181
  },
154
- [`${allSelected} button[aria-pressed="true"]`]: {
182
+ [over(i => `${allSelected} ${i.sel}${i.on}`)]: {
155
183
  animation: 'none',
156
184
  },
157
185
  },
158
186
 
159
187
  // ─── Connected variant — horizontal ───────────────────────────────
160
- [`${connectedH} button`]: {
188
+ [over(i => `${connectedH} ${i.sel}`)]: {
161
189
  borderRadius: '0',
162
190
  marginInlineEnd: '-1px',
163
191
  position: 'relative',
164
- '&:hover, &:focus-visible, &:active, &[aria-pressed="true"]': {
192
+ '&:hover, &:focus-visible, &:active, &[aria-pressed="true"], &[aria-current]:not([aria-current="false"])': {
165
193
  zIndex: '1',
166
194
  },
167
195
  '&:focus-visible': {
168
196
  zIndex: '2',
169
197
  },
170
198
  },
171
- [`${connectedH} > :first-child:is(button), ${connectedH} > :first-child > button`]: {
199
+ [over(i => `${connectedH} > :first-child:is(${i.sel}), ${connectedH} > :first-child > ${i.sel}`)]: {
172
200
  borderStartStartRadius: outerRadius,
173
201
  borderEndStartRadius: outerRadius,
174
202
  },
175
- [`${connectedH} > :last-child:is(button), ${connectedH} > :last-child > button`]: {
203
+ [over(i => `${connectedH} > :last-child:is(${i.sel}), ${connectedH} > :last-child > ${i.sel}`)]: {
176
204
  borderStartEndRadius: outerRadius,
177
205
  borderEndEndRadius: outerRadius,
178
206
  marginInlineEnd: '0',
179
207
  },
180
208
 
181
209
  // ─── Connected variant — vertical ─────────────────────────────────
182
- [`${connectedV} button`]: {
210
+ [over(i => `${connectedV} ${i.sel}`)]: {
183
211
  borderRadius: '0',
184
212
  marginBlockEnd: '-1px',
185
213
  position: 'relative',
186
- '&:hover, &:focus-visible, &:active, &[aria-pressed="true"]': {
214
+ '&:hover, &:focus-visible, &:active, &[aria-pressed="true"], &[aria-current]:not([aria-current="false"])': {
187
215
  zIndex: '1',
188
216
  },
189
217
  '&:focus-visible': {
190
218
  zIndex: '2',
191
219
  },
192
220
  },
193
- [`${connectedV} > :first-child:is(button), ${connectedV} > :first-child > button`]: {
221
+ [over(i => `${connectedV} > :first-child:is(${i.sel}), ${connectedV} > :first-child > ${i.sel}`)]: {
194
222
  borderStartStartRadius: outerRadius,
195
223
  borderStartEndRadius: outerRadius,
196
224
  },
197
- [`${connectedV} > :last-child:is(button), ${connectedV} > :last-child > button`]: {
225
+ [over(i => `${connectedV} > :last-child:is(${i.sel}), ${connectedV} > :last-child > ${i.sel}`)]: {
198
226
  borderEndStartRadius: outerRadius,
199
227
  borderEndEndRadius: outerRadius,
200
228
  marginBlockEnd: '0',
@@ -210,7 +238,7 @@ module.exports = plugin(function ({ addComponents, addBase }) {
210
238
 
211
239
  // ─── All-selected shimmer (connected only) ─────────────────────────
212
240
  // Text color pulse + border color pulse on each button, staggered.
213
- components[`${allSelected} button[aria-pressed="true"]`] = {
241
+ components[over(i => `${allSelected} ${i.sel}${i.on}`)] = {
214
242
  animation: 'btu-shimmer-all 500ms ease-in-out both',
215
243
  animationDelay: 'calc((var(--_btn-index, 1) - 1) * 100ms)',
216
244
  }
@@ -157,6 +157,16 @@ module.exports = plugin(function ({ addComponents, addUtilities, theme }) {
157
157
  },
158
158
  };
159
159
  // background & text colors for buttons in different states
160
+ // -600 doesn't clear WCAG AA (4.5:1) against white for these hues, either as a solid
161
+ // fill under white text or as fill-none (the color used as text on the page).
162
+ // Measured against white: warning 3.49:1, teal 3.80:1 — vs primary 5.44:1 and error
163
+ // 4.85:1, which pass. At -700 warning is 5.43:1 and teal 5.57:1. success was already
164
+ // stepped down for the same reason; it just predates the other two being noticed.
165
+ const needsDarkerStep = new Set(['success', 'warning', 'teal']);
166
+ const solidStep = (k) => (k === 'gray' ? '100' : needsDarkerStep.has(k) ? '700' : '600');
167
+ const hoverStep = (k) => (k === 'gray' ? '200' : needsDarkerStep.has(k) ? '800' : '700');
168
+ // success keeps -600 here: only the two measured failures move.
169
+ const onSurfaceStep = (k) => (k === 'gray' || k === 'warning' || k === 'teal' ? '700' : '600');
160
170
  for (const key in colors) {
161
171
  if (key === 'currentColor' || key === 'transparent' || key === 'white' || key === 'black' || key === 'ai')
162
172
  continue;
@@ -164,9 +174,9 @@ module.exports = plugin(function ({ addComponents, addUtilities, theme }) {
164
174
  // Gray buttons borrow primary for their pressed/selected tint.
165
175
  const tintKey = key === 'gray' ? 'primary' : key;
166
176
  const focusStyle = {
167
- '--button-color': `oklch(var(--btu-theme-${key}-${key === 'gray' ? '100' : key === 'success' ? '700' : '600'}))`,
177
+ '--button-color': `oklch(var(--btu-theme-${key}-${solidStep(key)}))`,
168
178
  '--button-fill-none-color': `transparent`,
169
- '--button-fill-none-text-color': `oklch(var(--btu-theme-${key}-${key === 'gray' ? '700' : '600'}))`,
179
+ '--button-fill-none-text-color': `oklch(var(--btu-theme-${key}-${onSurfaceStep(key)}))`,
170
180
  '--tw-ring-opacity': '1',
171
181
  '--tw-ring-color': `oklch(var(--btu-theme-${ringColorKey}-100))`,
172
182
  '--tw-ring-offset-width': '1px',
@@ -176,10 +186,10 @@ module.exports = plugin(function ({ addComponents, addUtilities, theme }) {
176
186
  '--tw-ring-color': `oklch(var(--btu-theme-${ringColorKey}-400))`,
177
187
  };
178
188
  components[prefix + '-' + key] = {
179
- '--button-color': `oklch(var(--btu-theme-${key}-${key === 'gray' ? '100' : key === 'success' ? '700' : '600'}))`,
189
+ '--button-color': `oklch(var(--btu-theme-${key}-${solidStep(key)}))`,
180
190
  '--button-text-color': `${key === 'gray' ? 'oklch(var(--btu-theme-gray-700))' : 'var(--btu-theme-white)'}`,
181
191
  '--button-fill-none-color': 'transparent',
182
- '--button-fill-none-text-color': `oklch(var(--btu-theme-${key}-${key === 'gray' ? '700' : '600'}))`,
192
+ '--button-fill-none-text-color': `oklch(var(--btu-theme-${key}-${onSurfaceStep(key)}))`,
183
193
  '--button-outline-color': `oklch(var(--btu-theme-${key}-300))`,
184
194
  '--button-disabled-color-fill': `oklch(var(--btu-theme-${key}-${key === 'gray' ? '100' : key === 'primary' ? '300' : '200'}))`,
185
195
  '--button-disabled-color-fill-none': `var(--button-fill-none) oklch(var(--btu-theme-white))`,
@@ -191,7 +201,7 @@ module.exports = plugin(function ({ addComponents, addUtilities, theme }) {
191
201
  '--button-tint-strong': `oklch(var(--btu-theme-${tintKey}-800))`,
192
202
  '--button-tint-highlight': `oklch(var(--btu-theme-${tintKey}-200))`,
193
203
  '&:hover': {
194
- '--button-color': `oklch(var(--btu-theme-${key}-${key === 'gray' ? '200' : key === 'success' ? '800' : '700'}))`,
204
+ '--button-color': `oklch(var(--btu-theme-${key}-${hoverStep(key)}))`,
195
205
  '--button-fill-none-color': `oklch(var(--btu-theme-${key}-${key === 'gray' ? '200' : '50'}))`,
196
206
  '--button-fill-none-text-color': `oklch(var(--btu-theme-${key}-${key === 'gray' ? '900' : '800'}))`,
197
207
  },
@@ -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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"}