@brightspot/ui 1.11.0 → 3.0.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 (244) hide show
  1. package/dist/components/action-bar/ActionBar.d.ts +1 -1
  2. package/dist/components/action-bar/ActionBar.js +7 -7
  3. package/dist/components/action-bar/ActionBar.js.map +1 -1
  4. package/dist/components/action-bar/ActionItem.d.ts +5 -5
  5. package/dist/components/action-bar/ActionItem.d.ts.map +1 -1
  6. package/dist/components/action-bar/ActionItem.js +13 -13
  7. package/dist/components/action-bar/ActionItem.js.map +1 -1
  8. package/dist/components/avatar/AvatarGroup.d.ts +3 -0
  9. package/dist/components/avatar/AvatarGroup.d.ts.map +1 -1
  10. package/dist/components/avatar/AvatarGroup.js +3 -0
  11. package/dist/components/avatar/AvatarGroup.js.map +1 -1
  12. package/dist/components/badge/Badge.d.ts +3 -1
  13. package/dist/components/badge/Badge.d.ts.map +1 -1
  14. package/dist/components/badge/Badge.js +2 -0
  15. package/dist/components/badge/Badge.js.map +1 -1
  16. package/dist/components/button-group/ButtonGroup.d.ts +138 -0
  17. package/dist/components/button-group/ButtonGroup.d.ts.map +1 -0
  18. package/dist/components/button-group/ButtonGroup.js +436 -0
  19. package/dist/components/button-group/ButtonGroup.js.map +1 -0
  20. package/dist/components/checkbox/Checkbox.d.ts +107 -0
  21. package/dist/components/checkbox/Checkbox.d.ts.map +1 -0
  22. package/dist/components/checkbox/Checkbox.js +224 -0
  23. package/dist/components/checkbox/Checkbox.js.map +1 -0
  24. package/dist/components/circular-progress/CircularProgress.d.ts +2 -2
  25. package/dist/components/circular-progress/CircularProgress.js +2 -2
  26. package/dist/components/copy-to-clipboard/CopyToClipboard.d.ts +7 -2
  27. package/dist/components/copy-to-clipboard/CopyToClipboard.d.ts.map +1 -1
  28. package/dist/components/copy-to-clipboard/CopyToClipboard.js +10 -5
  29. package/dist/components/copy-to-clipboard/CopyToClipboard.js.map +1 -1
  30. package/dist/components/dropdown/Dropdown.d.ts +5 -5
  31. package/dist/components/dropdown/Dropdown.d.ts.map +1 -1
  32. package/dist/components/dropdown/Dropdown.js +11 -16
  33. package/dist/components/dropdown/Dropdown.js.map +1 -1
  34. package/dist/components/dropdown/DropdownItem.d.ts +14 -6
  35. package/dist/components/dropdown/DropdownItem.d.ts.map +1 -1
  36. package/dist/components/dropdown/DropdownItem.js +21 -15
  37. package/dist/components/dropdown/DropdownItem.js.map +1 -1
  38. package/dist/components/dropdown/DropdownMenu.d.ts +4 -4
  39. package/dist/components/dropdown/DropdownMenu.d.ts.map +1 -1
  40. package/dist/components/dropdown/DropdownMenu.js +6 -6
  41. package/dist/components/dropdown/DropdownMenu.js.map +1 -1
  42. package/dist/components/empty-state/EmptyState.css +4 -0
  43. package/dist/components/empty-state/EmptyState.d.ts +103 -0
  44. package/dist/components/empty-state/EmptyState.d.ts.map +1 -0
  45. package/dist/components/empty-state/EmptyState.js +209 -0
  46. package/dist/components/empty-state/EmptyState.js.map +1 -0
  47. package/dist/components/icon/Icon.d.ts +23 -10
  48. package/dist/components/icon/Icon.d.ts.map +1 -1
  49. package/dist/components/icon/Icon.js +40 -9
  50. package/dist/components/icon/Icon.js.map +1 -1
  51. package/dist/components/icon-button/IconButton.d.ts +7 -21
  52. package/dist/components/icon-button/IconButton.d.ts.map +1 -1
  53. package/dist/components/icon-button/IconButton.js +12 -18
  54. package/dist/components/icon-button/IconButton.js.map +1 -1
  55. package/dist/components/linear-progress/LinearProgress.d.ts +2 -2
  56. package/dist/components/linear-progress/LinearProgress.js +2 -2
  57. package/dist/components/pagination/Pagination.js +10 -10
  58. package/dist/components/popover/Popover.d.ts +6 -0
  59. package/dist/components/popover/Popover.d.ts.map +1 -1
  60. package/dist/components/popover/Popover.js +6 -0
  61. package/dist/components/popover/Popover.js.map +1 -1
  62. package/dist/components/switch/Switch.d.ts +5 -1
  63. package/dist/components/switch/Switch.d.ts.map +1 -1
  64. package/dist/components/switch/Switch.js +10 -6
  65. package/dist/components/switch/Switch.js.map +1 -1
  66. package/dist/components/tabs/Tab.d.ts +4 -4
  67. package/dist/components/tabs/Tab.d.ts.map +1 -1
  68. package/dist/components/tabs/Tab.js +5 -5
  69. package/dist/components/tabs/Tab.js.map +1 -1
  70. package/dist/components/tabs/Tabs.d.ts +3 -3
  71. package/dist/components/tabs/Tabs.d.ts.map +1 -1
  72. package/dist/components/tabs/Tabs.js +20 -20
  73. package/dist/components/tabs/Tabs.js.map +1 -1
  74. package/dist/components/upload/Upload.d.ts +157 -0
  75. package/dist/components/upload/Upload.d.ts.map +1 -0
  76. package/dist/components/upload/Upload.js +538 -0
  77. package/dist/components/upload/Upload.js.map +1 -0
  78. package/dist/components/upload/UploadItem.d.ts +73 -0
  79. package/dist/components/upload/UploadItem.d.ts.map +1 -0
  80. package/dist/components/upload/UploadItem.js +180 -0
  81. package/dist/components/upload/UploadItem.js.map +1 -0
  82. package/dist/components/widget/Widget.d.ts +1 -6
  83. package/dist/components/widget/Widget.d.ts.map +1 -1
  84. package/dist/components/widget/Widget.js +1 -6
  85. package/dist/components/widget/Widget.js.map +1 -1
  86. package/dist/custom-elements.json +7499 -2087
  87. package/dist/storybook/assets/{ActionBar.stories--nAeDC-G.js → ActionBar.stories-DRIVI-W2.js} +65 -65
  88. package/dist/storybook/assets/{ActionItem.stories-BHrGjk-P.js → ActionItem.stories-5qlgxYNB.js} +41 -41
  89. package/dist/storybook/assets/{Avatar.stories-Da-mRj6_.js → Avatar.stories-B3VkhRhP.js} +2 -2
  90. package/dist/storybook/assets/{AvatarGroup.stories-BQlaC_yl.js → AvatarGroup.stories-DOfim2NY.js} +5 -5
  91. package/dist/storybook/assets/{Badge.stories-DnVnOrnF.js → Badge.stories-B04VNAcc.js} +2 -2
  92. package/dist/storybook/assets/{Button-CFLAI1H9.js → Button-CILTcGRT.js} +1 -1
  93. package/dist/storybook/assets/{Button.stories-DxaBOjwv.js → Button.stories-CzWAltrX.js} +1 -1
  94. package/dist/storybook/assets/ButtonGroup.stories-1uAJf79o.js +588 -0
  95. package/dist/storybook/assets/{Celebrate.stories-CuMm15Nr.js → Celebrate.stories-BEqj0VnW.js} +7 -7
  96. package/dist/storybook/assets/Checkbox.stories-DXAGFS0M.js +141 -0
  97. package/dist/storybook/assets/{CircularProgress.stories-DRN8Mtvj.js → CircularProgress.stories-D4rftw22.js} +7 -7
  98. package/dist/storybook/assets/{ClipboardMixin.stories-DR7Ou2Av.js → ClipboardMixin.stories-z2n2HWt1.js} +31 -28
  99. package/dist/storybook/assets/{Color-6BZIO3FS-Die62Y0Z.js → Color-6BZIO3FS-C6KyMgZz.js} +1 -1
  100. package/dist/storybook/assets/{Colors.stories-bIq_ssbI.js → Colors.stories-CX-Ny3B_.js} +1 -1
  101. package/dist/storybook/assets/{CombinedEffects.stories-CtKzOUZn.js → CombinedEffects.stories-BkqtiVHp.js} +33 -33
  102. package/dist/storybook/assets/{ComponentStatesMixin-DMLCk9fE.js → ComponentStatesMixin-DLd0feFg.js} +1 -1
  103. package/dist/storybook/assets/{ComponentStatesMixin.stories-D8UI9o-d.js → ComponentStatesMixin.stories-D6Yc5Jgl.js} +3 -3
  104. package/dist/storybook/assets/{CopyToClipboard.stories-ti6CpJNp.js → CopyToClipboard.stories-B-omwDDJ.js} +16 -16
  105. package/dist/storybook/assets/{Debounce.stories-DzZUSvbk.js → Debounce.stories-B2vE5QIx.js} +9 -9
  106. package/dist/storybook/assets/{DocsRenderer-LL677BLK-CIRGv5IX.js → DocsRenderer-LL677BLK-DNUlRvMg.js} +3 -3
  107. package/dist/storybook/assets/{Dropdown.stories-Lt4cY0Re.js → Dropdown.stories-_bx4WDLr.js} +60 -60
  108. package/dist/storybook/assets/EmptyState.stories-CGMbmo77.js +318 -0
  109. package/dist/storybook/assets/{Events.stories-B1ddcgpT.js → Events.stories-CkQYKcoZ.js} +1 -1
  110. package/dist/storybook/assets/{Heading.stories-DI4w61cf.js → Heading.stories-BU5Do_od.js} +1 -1
  111. package/dist/storybook/assets/{HueRipple.stories-DjhoxxEw.js → HueRipple.stories-Di2zmxo3.js} +11 -11
  112. package/dist/storybook/assets/Icon.stories-Dk4ZXhhJ.js +441 -0
  113. package/dist/storybook/assets/{IconButton.stories-KjN28hfc.js → IconButton.stories-BSCiXPXa.js} +126 -146
  114. package/dist/storybook/assets/{LinearProgress.stories-DcIpdz6R.js → LinearProgress.stories-BGxPZuni.js} +7 -7
  115. package/dist/storybook/assets/{Pagination.stories-BBkLEwoP.js → Pagination.stories-z3Zq8b4f.js} +6 -6
  116. package/dist/storybook/assets/{Popover.stories-DLv48c2h.js → Popover.stories-C9GxWcax.js} +33 -62
  117. package/dist/storybook/assets/ReadyMixin-CQw8N6P9.js +1 -0
  118. package/dist/storybook/assets/{RovingTabindexMixin.stories-BWaFx9mu.js → RovingTabindexMixin.stories-ByxLBi6m.js} +6 -6
  119. package/dist/storybook/assets/{Rtc.stories-Ve7Bwo_l.js → Rtc.stories-DQJlCXWR.js} +3 -3
  120. package/dist/storybook/assets/{ScrollShadow.stories-C6XmrRLm.js → ScrollShadow.stories-gjTIAbUA.js} +2 -2
  121. package/dist/storybook/assets/{Switch.stories-Cf8WM1LG.js → Switch.stories-BEeqPZiP.js} +21 -21
  122. package/dist/storybook/assets/{Tab.stories-CEtdEtOx.js → Tab.stories-DpB3I-WZ.js} +33 -33
  123. package/dist/storybook/assets/{Tabs.stories-CIAO1bPO.js → Tabs.stories-C6mG6Xi7.js} +2 -2
  124. package/dist/storybook/assets/{Throttle.stories-BqxVIb-r.js → Throttle.stories-x9tpGeQh.js} +10 -10
  125. package/dist/storybook/assets/{Tooltip.stories-B6fw6875.js → Tooltip.stories-CqcLqdmc.js} +2 -2
  126. package/dist/storybook/assets/Upload.stories-CMaAbCSH.js +447 -0
  127. package/dist/storybook/assets/UploadItem.stories-GB98L3JQ.js +167 -0
  128. package/dist/storybook/assets/{Welcome.stories-CfJtSM19.js → Welcome.stories-6h9cUZ7v.js} +1 -1
  129. package/dist/storybook/assets/{Widget.stories-CiOho7lO.js → Widget.stories-DiA1PR6Y.js} +13 -13
  130. package/dist/storybook/assets/{WithTooltip-65CFNBJE-PGcopp73.js → WithTooltip-65CFNBJE-DTsHhBb_.js} +1 -1
  131. package/dist/storybook/assets/{blocks-dP2DwISI.js → blocks-IXdn9TGW.js} +5 -5
  132. package/dist/storybook/assets/{formatter-EIJCOSYU-CZSAC3tg.js → formatter-EIJCOSYU-Cum4J6N4.js} +1 -1
  133. package/dist/storybook/assets/if-defined-CgfCxQoV.js +1 -0
  134. package/dist/storybook/assets/iframe-BgFj0b5u.css +1 -0
  135. package/dist/storybook/assets/{iframe-DloIUNZz.js → iframe-Sf9RHZFu.js} +191 -191
  136. package/dist/storybook/assets/{index-DKF0ypu5.js → index-D605PvQH.js} +1 -1
  137. package/dist/storybook/assets/{onFind-C0l4Gew0.js → onFind-C41m8c_a.js} +1 -1
  138. package/dist/storybook/assets/{onFind.stories-DOTt9puO.js → onFind.stories-MOTfGlJd.js} +53 -77
  139. package/dist/storybook/assets/{onRemove.stories-CQ9ZC5dm.js → onRemove.stories-DX58Bf6f.js} +6 -10
  140. package/dist/storybook/assets/{onVisible.stories-Cbj5_Vz0.js → onVisible.stories-NNFeFeD8.js} +3 -3
  141. package/dist/storybook/assets/{style-map-DLXysq3r.js → style-map-B99QiqCo.js} +1 -1
  142. package/dist/storybook/assets/{syntaxhighlighter-ED5Y7EFY-Bjjbl9ca.js → syntaxhighlighter-ED5Y7EFY-BqQ-o9mS.js} +1 -1
  143. package/dist/storybook/box-illustration.svg +51 -0
  144. package/dist/storybook/cloud-illustration.svg +49 -0
  145. package/dist/storybook/docs-illustration.svg +92 -0
  146. package/dist/storybook/iframe.html +2 -2
  147. package/dist/storybook/index.json +1 -1
  148. package/dist/storybook/project.json +1 -1
  149. package/dist/tailwind-plugin-badge.js +1 -1
  150. package/dist/tailwind-plugin-badge.ts +1 -1
  151. package/dist/tailwind-plugin-button-group.d.ts +2 -0
  152. package/dist/tailwind-plugin-button-group.d.ts.map +1 -0
  153. package/dist/tailwind-plugin-button-group.js +215 -0
  154. package/dist/tailwind-plugin-button-group.js.map +1 -0
  155. package/dist/tailwind-plugin-button-group.ts +238 -0
  156. package/dist/tailwind-plugin-button.js +1 -1
  157. package/dist/tailwind-plugin-button.ts +1 -1
  158. package/dist/tailwind-plugin-checkbox.d.ts +2 -0
  159. package/dist/tailwind-plugin-checkbox.d.ts.map +1 -0
  160. package/dist/tailwind-plugin-checkbox.js +246 -0
  161. package/dist/tailwind-plugin-checkbox.js.map +1 -0
  162. package/dist/tailwind-plugin-checkbox.ts +281 -0
  163. package/dist/tailwind-plugin-empty-state.d.ts +2 -0
  164. package/dist/tailwind-plugin-empty-state.d.ts.map +1 -0
  165. package/dist/tailwind-plugin-empty-state.js +113 -0
  166. package/dist/tailwind-plugin-empty-state.js.map +1 -0
  167. package/dist/tailwind-plugin-empty-state.ts +124 -0
  168. package/dist/tailwind-plugin-icon.js +122 -18
  169. package/dist/tailwind-plugin-icon.js.map +1 -1
  170. package/dist/tailwind-plugin-icon.ts +131 -18
  171. package/dist/tailwind-plugin-loader.js +3 -3
  172. package/dist/tailwind-plugin-loader.ts +3 -3
  173. package/dist/tailwind-plugin-tabs.js +7 -0
  174. package/dist/tailwind-plugin-tabs.js.map +1 -1
  175. package/dist/tailwind-plugin-tabs.ts +7 -0
  176. package/dist/tailwind-plugin-upload.d.ts +2 -0
  177. package/dist/tailwind-plugin-upload.d.ts.map +1 -0
  178. package/dist/tailwind-plugin-upload.js +322 -0
  179. package/dist/tailwind-plugin-upload.js.map +1 -0
  180. package/dist/tailwind-plugin-upload.ts +362 -0
  181. package/dist/tailwind.config.d.ts.map +1 -1
  182. package/dist/tailwind.config.js +1 -0
  183. package/dist/tailwind.config.js.map +1 -1
  184. package/dist/tailwind.config.ts +1 -0
  185. package/dist/util/ClipboardMixin.d.ts +7 -2
  186. package/dist/util/ClipboardMixin.d.ts.map +1 -1
  187. package/dist/util/ClipboardMixin.js +15 -13
  188. package/dist/util/ClipboardMixin.js.map +1 -1
  189. package/dist/util/ComponentStatesMixin.d.ts +2 -1
  190. package/dist/util/ComponentStatesMixin.d.ts.map +1 -1
  191. package/dist/util/ComponentStatesMixin.js +4 -0
  192. package/dist/util/ComponentStatesMixin.js.map +1 -1
  193. package/dist/util/EventEmitterMixin.d.ts +42 -4
  194. package/dist/util/EventEmitterMixin.d.ts.map +1 -1
  195. package/dist/util/EventEmitterMixin.js +5 -2
  196. package/dist/util/EventEmitterMixin.js.map +1 -1
  197. package/dist/util/ProgressMixin.d.ts +9 -2
  198. package/dist/util/ProgressMixin.d.ts.map +1 -1
  199. package/dist/util/ProgressMixin.js +22 -18
  200. package/dist/util/ProgressMixin.js.map +1 -1
  201. package/dist/util/RovingTabindexMixin.d.ts +8 -0
  202. package/dist/util/RovingTabindexMixin.d.ts.map +1 -1
  203. package/dist/util/RovingTabindexMixin.js +8 -8
  204. package/dist/util/RovingTabindexMixin.js.map +1 -1
  205. package/dist/util/TetherLayout.d.ts.map +1 -1
  206. package/dist/util/TetherLayout.js +3 -0
  207. package/dist/util/TetherLayout.js.map +1 -1
  208. package/dist/util/TooltipMixin.d.ts.map +1 -1
  209. package/dist/util/TooltipMixin.js +5 -4
  210. package/dist/util/TooltipMixin.js.map +1 -1
  211. package/dist/util/upload.d.ts +53 -0
  212. package/dist/util/upload.d.ts.map +1 -0
  213. package/dist/util/upload.js +113 -0
  214. package/dist/util/upload.js.map +1 -0
  215. package/docs/components/ActionBar.md +6 -0
  216. package/docs/components/ActionItem.md +52 -27
  217. package/docs/components/Avatar.md +42 -12
  218. package/docs/components/AvatarGroup.md +4 -3
  219. package/docs/components/Badge.md +13 -1
  220. package/docs/components/ButtonGroup.md +91 -0
  221. package/docs/components/Checkbox.md +91 -0
  222. package/docs/components/CircularProgress.md +41 -12
  223. package/docs/components/CopyToClipboard.md +13 -11
  224. package/docs/components/Dropdown.md +44 -19
  225. package/docs/components/DropdownItem.md +39 -26
  226. package/docs/components/DropdownMenu.md +9 -9
  227. package/docs/components/EmptyState.md +75 -0
  228. package/docs/components/Icon.md +22 -14
  229. package/docs/components/IconButton.md +46 -21
  230. package/docs/components/LinearProgress.md +43 -4
  231. package/docs/components/Pagination.md +11 -10
  232. package/docs/components/Popover.md +16 -0
  233. package/docs/components/README.md +5 -0
  234. package/docs/components/Switch.md +21 -16
  235. package/docs/components/Tab.md +8 -2
  236. package/docs/components/Tabs.md +8 -0
  237. package/docs/components/Upload.md +112 -0
  238. package/docs/components/UploadItem.md +61 -0
  239. package/docs/components/Widget.md +12 -6
  240. package/package.json +4 -2
  241. package/dist/storybook/assets/Icon.stories-CpziAhae.js +0 -264
  242. package/dist/storybook/assets/ReadyMixin-Cw2Dfbu2.js +0 -1
  243. package/dist/storybook/assets/if-defined-B1RdczOE.js +0 -1
  244. package/dist/storybook/assets/iframe-bJgLXZKK.css +0 -1
@@ -0,0 +1,322 @@
1
+ import plugin from 'tailwindcss/plugin';
2
+ /**
3
+ * Upload component styling.
4
+ *
5
+ * Class Names:
6
+ *
7
+ * btu-upload - Base upload container
8
+ * btu-upload-dropzone - Drop zone area
9
+ * btu-upload-dropzone-icon - Drop zone icon circle
10
+ * btu-upload-dropzone-prompt - Prompt layer wrap hosting text + drag overlay
11
+ * btu-upload-dropzone-text - Drop zone text (resting prompt)
12
+ * btu-upload-dropzone-drag-message - Drag-over message overlay (absolute, fades in on dragover)
13
+ * btu-upload-dropzone-action - Drop zone "select" link
14
+ * btu-upload-dropzone-count - Corner count pill (visible only when max-files is finite and > 1)
15
+ * btu-upload-dropzone-dragover - Drag-over state (dashed border + crossfade)
16
+ * btu-upload-dropzone-disabled - Disabled drop zone
17
+ * btu-upload-list - File list container
18
+ * btu-upload-item - Individual file item
19
+ * btu-upload-item-active - Active/uploading item
20
+ * btu-upload-item-complete - Completed upload item
21
+ * btu-upload-item-error - Error state item
22
+ * btu-upload-item-icon - File type icon (uses btu-icon emphasize)
23
+ * btu-upload-item-icon-error - Error variant icon color
24
+ * btu-upload-item-info - File info container
25
+ * btu-upload-item-name - File name text
26
+ * btu-upload-item-size - File size text
27
+ * btu-upload-item-progress - Progress bar container
28
+ * btu-upload-item-percent - Progress percentage text
29
+ * btu-upload-item-check - Success color override for the completion btu-icon (uses emphasize="pulse")
30
+ * btu-upload-item-remove - Remove button positioning (uses btu-icon-button)
31
+ * btu-upload-item-error-text - Error message text
32
+ * btu-upload-item-error-filename - Error state filename
33
+ * btu-upload-item-retry - Retry link
34
+ *
35
+ * @cssprop --upload-dropzone-bg - Drop zone background color
36
+ * @cssprop --upload-dropzone-border-color - Drop zone border color
37
+ * @cssprop --upload-dropzone-border-radius - Drop zone border radius
38
+ * @cssprop --upload-dropzone-hover-bg - Drop zone hover background (hover default: gray-50; drag-over default: primary-25)
39
+ * @cssprop --upload-dropzone-hover-border-color - Drop zone hover border
40
+ * @cssprop --upload-dropzone-focus-ring-color - Drop zone focus ring
41
+ * @cssprop --upload-item-bg - Item background
42
+ * @cssprop --upload-item-border-color - Item border color
43
+ * @cssprop --upload-item-active-border-color - Item active/in-progress border
44
+ * @cssprop --upload-item-complete-border-color - Item completed border
45
+ * @cssprop --upload-item-error-bg - Item error background
46
+ * @cssprop --upload-item-error-border-color - Item error border
47
+ */
48
+ module.exports = plugin(function ({ addComponents, theme, config }) {
49
+ const fontSizeSm = config('theme.fontSize.sm')?.[0] ?? '0.875rem';
50
+ const lineHeightSm = config('theme.fontSize.sm')?.[1] ?? '1.25rem';
51
+ const fontSizeXs = config('theme.fontSize.xs')?.[0] ?? '0.75rem';
52
+ const lineHeightXs = config('theme.fontSize.xs')?.[1] ?? '1.125rem';
53
+ const components = {
54
+ /* ─── Upload Container ─── */
55
+ '.btu-upload': {
56
+ display: 'flex',
57
+ flexDirection: 'column',
58
+ gap: '0.75rem',
59
+ width: '100%',
60
+ },
61
+ /* ─── Drop Zone ─── */
62
+ '.btu-upload-dropzone': {
63
+ position: 'relative',
64
+ display: 'flex',
65
+ flexDirection: 'column',
66
+ alignItems: 'center',
67
+ justifyContent: 'center',
68
+ gap: '0.5rem',
69
+ padding: '16px 24px',
70
+ borderWidth: '1px',
71
+ borderStyle: 'solid',
72
+ borderColor: 'var(--upload-dropzone-border-color, oklch(var(--btu-theme-gray-300)))',
73
+ borderRadius: `var(--upload-dropzone-border-radius, ${theme('borderRadius.lg')})`,
74
+ backgroundColor: 'var(--upload-dropzone-bg, oklch(var(--btu-theme-gray-25)))',
75
+ cursor: 'pointer',
76
+ transition: 'background-color 150ms ease, border-color 150ms ease, box-shadow 150ms ease',
77
+ textAlign: 'center',
78
+ '@media (prefers-reduced-motion: reduce)': {
79
+ transition: 'background-color 0.01ms ease, border-color 0.01ms ease, box-shadow 0.01ms ease',
80
+ },
81
+ '&:hover': {
82
+ backgroundColor: 'var(--upload-dropzone-hover-bg, oklch(var(--btu-theme-gray-50)))',
83
+ borderColor: 'var(--upload-dropzone-hover-border-color, oklch(var(--btu-theme-primary-300)))',
84
+ },
85
+ '&:focus-within': {
86
+ boxShadow: '0 0 0 4px var(--upload-dropzone-focus-ring-color, oklch(var(--btu-theme-primary-100)))',
87
+ borderColor: 'var(--upload-dropzone-hover-border-color, oklch(var(--btu-theme-primary-300)))',
88
+ },
89
+ /* High-contrast */
90
+ ':root.is-moreContrast &': {
91
+ borderColor: 'var(--upload-dropzone-border-color, oklch(var(--btu-theme-gray-400)))',
92
+ },
93
+ '@media screen and (prefers-contrast: more) and (forced-colors: none)': {
94
+ ':root:not(.is-normalContrast) &': {
95
+ borderColor: 'var(--upload-dropzone-border-color, oklch(var(--btu-theme-gray-400)))',
96
+ },
97
+ },
98
+ },
99
+ '.btu-upload-dropzone-icon': {
100
+ display: 'flex',
101
+ alignItems: 'center',
102
+ justifyContent: 'center',
103
+ width: '2.5rem',
104
+ height: '2.5rem',
105
+ borderRadius: '9999px',
106
+ backgroundColor: 'oklch(var(--btu-theme-gray-100))',
107
+ color: 'oklch(var(--btu-theme-gray-500))',
108
+ transition: 'transform 150ms ease',
109
+ '@media (prefers-reduced-motion: reduce)': {
110
+ transition: 'transform 0.01ms ease',
111
+ },
112
+ },
113
+ /* Prompt layer wrap — hosts both the resting text and the drag-over overlay. */
114
+ '.btu-upload-dropzone-prompt': {
115
+ position: 'relative',
116
+ display: 'flex',
117
+ alignItems: 'center',
118
+ justifyContent: 'center',
119
+ width: '100%',
120
+ },
121
+ '.btu-upload-dropzone-text': {
122
+ fontSize: fontSizeSm,
123
+ lineHeight: lineHeightSm,
124
+ color: 'oklch(var(--btu-theme-gray-500))',
125
+ transition: 'opacity 150ms ease',
126
+ '@media (prefers-reduced-motion: reduce)': {
127
+ transition: 'opacity 0.01ms ease',
128
+ },
129
+ },
130
+ /* Drag-over message — absolutely positioned overlay so the dropzone height stays constant. */
131
+ '.btu-upload-dropzone-drag-message': {
132
+ position: 'absolute',
133
+ inset: '0',
134
+ display: 'flex',
135
+ alignItems: 'center',
136
+ justifyContent: 'center',
137
+ fontSize: fontSizeSm,
138
+ lineHeight: lineHeightSm,
139
+ color: 'oklch(var(--btu-theme-gray-500))',
140
+ opacity: '0',
141
+ pointerEvents: 'none',
142
+ transition: 'opacity 150ms ease',
143
+ '@media (prefers-reduced-motion: reduce)': {
144
+ transition: 'opacity 0.01ms ease',
145
+ },
146
+ },
147
+ '.btu-upload-dropzone-action': {
148
+ // Button reset — the element is a <button> so default UA chrome must be cleared.
149
+ background: 'transparent',
150
+ border: '0',
151
+ padding: '0',
152
+ font: 'inherit',
153
+ color: 'oklch(var(--btu-theme-primary-600))',
154
+ fontWeight: '600',
155
+ cursor: 'pointer',
156
+ textDecoration: 'none',
157
+ '&:hover': {
158
+ textDecoration: 'underline',
159
+ },
160
+ '&:disabled': {
161
+ cursor: 'not-allowed',
162
+ opacity: '0.6',
163
+ },
164
+ },
165
+ /* Corner count pill — shown when max-files is finite and > 1. */
166
+ '.btu-upload-dropzone-count': {
167
+ position: 'absolute',
168
+ top: '0.5rem',
169
+ right: '0.5rem',
170
+ padding: '0.125rem 0.5rem',
171
+ borderRadius: '9999px',
172
+ fontSize: fontSizeXs,
173
+ lineHeight: lineHeightXs,
174
+ fontWeight: '500',
175
+ backgroundColor: 'oklch(var(--btu-theme-gray-100))',
176
+ color: 'oklch(var(--btu-theme-gray-700))',
177
+ pointerEvents: 'none',
178
+ },
179
+ /* Drag-over state — dashed border + crossfade overlay. */
180
+ '.btu-upload-dropzone-dragover': {
181
+ borderStyle: 'dashed',
182
+ borderWidth: '2px',
183
+ borderColor: 'var(--upload-dropzone-hover-border-color, oklch(var(--btu-theme-primary-400)))',
184
+ backgroundColor: 'var(--upload-dropzone-hover-bg, oklch(var(--btu-theme-primary-25)))',
185
+ '& .btu-upload-dropzone-text': {
186
+ opacity: '0',
187
+ },
188
+ '& .btu-upload-dropzone-drag-message': {
189
+ opacity: '1',
190
+ },
191
+ '& .btu-upload-dropzone-icon': {
192
+ transform: 'scale(1.15)',
193
+ },
194
+ },
195
+ /* Disabled state */
196
+ '.btu-upload-dropzone-disabled': {
197
+ opacity: '0.5',
198
+ pointerEvents: 'none',
199
+ cursor: 'default',
200
+ backgroundColor: 'var(--upload-dropzone-bg, oklch(var(--btu-theme-gray-50)))',
201
+ borderColor: 'var(--upload-dropzone-border-color, oklch(var(--btu-theme-gray-200)))',
202
+ },
203
+ /* ─── File List ─── */
204
+ '.btu-upload-list': {
205
+ display: 'flex',
206
+ flexDirection: 'column',
207
+ gap: '0.5rem',
208
+ margin: '0',
209
+ padding: '0',
210
+ listStyle: 'none',
211
+ },
212
+ /* ─── Upload Item ─── */
213
+ '.btu-upload-item': {
214
+ display: 'flex',
215
+ alignItems: 'flex-start',
216
+ gap: '0.75rem',
217
+ padding: '0.75rem 1rem',
218
+ borderWidth: '1px',
219
+ borderStyle: 'solid',
220
+ borderColor: 'var(--upload-item-border-color, oklch(var(--btu-theme-gray-200)))',
221
+ borderRadius: theme('borderRadius.lg'),
222
+ backgroundColor: 'var(--upload-item-bg, var(--btu-theme-white))',
223
+ },
224
+ /* Active/uploading state */
225
+ '.btu-upload-item-active': {
226
+ borderColor: 'var(--upload-item-active-border-color, oklch(var(--btu-theme-gray-300)))',
227
+ },
228
+ /* Complete state */
229
+ '.btu-upload-item-complete': {
230
+ borderColor: 'var(--upload-item-complete-border-color, oklch(var(--btu-theme-primary-500)))',
231
+ },
232
+ /* Error state */
233
+ '.btu-upload-item-error': {
234
+ backgroundColor: 'var(--upload-item-error-bg, oklch(var(--btu-theme-error-25)))',
235
+ borderColor: 'var(--upload-item-error-border-color, oklch(var(--btu-theme-error-300)))',
236
+ },
237
+ /* ─── Icon (uses btu-icon emphasize for tonal circle) ─── */
238
+ '.btu-upload-item-icon': {
239
+ flexShrink: '0',
240
+ color: 'oklch(var(--btu-theme-primary-600))',
241
+ },
242
+ '.btu-upload-item-icon-error': {
243
+ color: 'oklch(var(--btu-theme-error-600))',
244
+ },
245
+ /* ─── Item Info ─── */
246
+ '.btu-upload-item-info': {
247
+ display: 'flex',
248
+ flexDirection: 'column',
249
+ flex: '1',
250
+ minWidth: '0',
251
+ gap: '0.25rem',
252
+ },
253
+ '.btu-upload-item-name': {
254
+ fontSize: fontSizeSm,
255
+ lineHeight: lineHeightSm,
256
+ fontWeight: '500',
257
+ color: 'oklch(var(--btu-theme-gray-700))',
258
+ overflow: 'hidden',
259
+ textOverflow: 'ellipsis',
260
+ whiteSpace: 'nowrap',
261
+ },
262
+ '.btu-upload-item-size': {
263
+ fontSize: fontSizeXs,
264
+ lineHeight: lineHeightXs,
265
+ color: 'oklch(var(--btu-theme-gray-500))',
266
+ },
267
+ '.btu-upload-item-progress': {
268
+ display: 'flex',
269
+ alignItems: 'center',
270
+ gap: '0.5rem',
271
+ width: '100%',
272
+ },
273
+ '.btu-upload-item-percent': {
274
+ fontSize: fontSizeXs,
275
+ lineHeight: lineHeightXs,
276
+ color: 'oklch(var(--btu-theme-gray-500))',
277
+ flexShrink: '0',
278
+ minWidth: '2rem',
279
+ textAlign: 'right',
280
+ },
281
+ /* Double-class selector beats .btu-icon-emphasize's default primary color; flex-shrink: 0 keeps the circle round inside the progress row's flex layout. */
282
+ '.btu-icon-emphasize.btu-upload-item-check': {
283
+ flexShrink: '0',
284
+ color: 'oklch(var(--btu-theme-success-600))',
285
+ },
286
+ /* ─── Remove Button (uses btu-icon-button destructive) ─── */
287
+ '.btu-upload-item-remove': {
288
+ alignSelf: 'flex-start',
289
+ flexShrink: '0',
290
+ },
291
+ /* ─── Error Text ─── */
292
+ '.btu-upload-item-error-text': {
293
+ fontSize: fontSizeSm,
294
+ lineHeight: lineHeightSm,
295
+ color: 'oklch(var(--btu-theme-error-600))',
296
+ },
297
+ '.btu-upload-item-error-filename': {
298
+ fontSize: fontSizeXs,
299
+ lineHeight: lineHeightXs,
300
+ color: 'oklch(var(--btu-theme-gray-500))',
301
+ },
302
+ /* ─── Retry Link ─── */
303
+ '.btu-upload-item-retry': {
304
+ fontSize: fontSizeSm,
305
+ lineHeight: lineHeightSm,
306
+ fontWeight: '600',
307
+ color: 'oklch(var(--btu-theme-error-600))',
308
+ cursor: 'pointer',
309
+ textDecoration: 'none',
310
+ textAlign: 'left',
311
+ alignSelf: 'flex-start',
312
+ background: 'none',
313
+ border: 'none',
314
+ padding: '0',
315
+ '&:hover': {
316
+ textDecoration: 'underline',
317
+ },
318
+ },
319
+ };
320
+ addComponents(components);
321
+ });
322
+ //# sourceMappingURL=tailwind-plugin-upload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tailwind-plugin-upload.js","sourceRoot":"","sources":["../src/tailwind-plugin-upload.ts"],"names":[],"mappings":"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"}