@basic-ui/material 1.0.0-alpha.51 → 1.0.0-alpha.54

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 (673) hide show
  1. package/README.md +3 -3
  2. package/build/cjs/index.js +520 -447
  3. package/build/cjs/index.js.map +1 -1
  4. package/build/esm/Alert/Alert.d.ts +5 -6
  5. package/build/esm/Alert/Alert.js +14 -16
  6. package/build/esm/Alert/Alert.js.map +1 -1
  7. package/build/esm/Alert/index.d.ts +1 -1
  8. package/build/esm/Alert/index.js.map +1 -1
  9. package/build/esm/AppBar/AppBar.d.ts +9 -9
  10. package/build/esm/AppBar/AppBar.js +25 -34
  11. package/build/esm/AppBar/AppBar.js.map +1 -1
  12. package/build/esm/AppBar/AppBarButton.d.ts +3 -4
  13. package/build/esm/AppBar/AppBarButton.js +12 -14
  14. package/build/esm/AppBar/AppBarButton.js.map +1 -1
  15. package/build/esm/AppBar/context.d.ts +4 -5
  16. package/build/esm/AppBar/context.js +8 -6
  17. package/build/esm/AppBar/context.js.map +1 -1
  18. package/build/esm/AppBar/index.d.ts +3 -3
  19. package/build/esm/AppBar/index.js.map +1 -1
  20. package/build/esm/Badge/Badge.d.ts +5 -6
  21. package/build/esm/Badge/Badge.js +25 -26
  22. package/build/esm/Badge/Badge.js.map +1 -1
  23. package/build/esm/Badge/index.d.ts +1 -1
  24. package/build/esm/Badge/index.js.map +1 -1
  25. package/build/esm/BaseLine/BaseLine.d.ts +1 -1
  26. package/build/esm/BaseLine/BaseLine.js +4 -6
  27. package/build/esm/BaseLine/BaseLine.js.map +1 -1
  28. package/build/esm/BaseLine/index.d.ts +1 -1
  29. package/build/esm/BaseLine/index.js.map +1 -1
  30. package/build/esm/BottomSheet/BottomSheet.d.ts +6 -7
  31. package/build/esm/BottomSheet/BottomSheet.js +17 -21
  32. package/build/esm/BottomSheet/BottomSheet.js.map +1 -1
  33. package/build/esm/BottomSheet/BottomSheetSurface.d.ts +4 -5
  34. package/build/esm/BottomSheet/BottomSheetSurface.js +14 -14
  35. package/build/esm/BottomSheet/BottomSheetSurface.js.map +1 -1
  36. package/build/esm/BottomSheet/index.d.ts +1 -1
  37. package/build/esm/BottomSheet/index.js.map +1 -1
  38. package/build/esm/Box/Box.d.ts +23 -23
  39. package/build/esm/Box/Box.js +26 -26
  40. package/build/esm/Box/Box.js.map +1 -1
  41. package/build/esm/Box/index.d.ts +1 -1
  42. package/build/esm/Box/index.js.map +1 -1
  43. package/build/esm/Button/BaseButton.d.ts +14 -7
  44. package/build/esm/Button/BaseButton.js +107 -36
  45. package/build/esm/Button/BaseButton.js.map +1 -1
  46. package/build/esm/Button/Button.d.ts +14 -13
  47. package/build/esm/Button/Button.js +66 -48
  48. package/build/esm/Button/Button.js.map +1 -1
  49. package/build/esm/Button/ButtonGroup.d.ts +4 -5
  50. package/build/esm/Button/ButtonGroup.js +119 -21
  51. package/build/esm/Button/ButtonGroup.js.map +1 -1
  52. package/build/esm/Button/FilledButton.d.ts +10 -11
  53. package/build/esm/Button/FilledButton.js +18 -60
  54. package/build/esm/Button/FilledButton.js.map +1 -1
  55. package/build/esm/Button/FloatingActionButton.d.ts +9 -7
  56. package/build/esm/Button/FloatingActionButton.js +5 -4
  57. package/build/esm/Button/FloatingActionButton.js.map +1 -1
  58. package/build/esm/Button/IconButton.d.ts +8 -8
  59. package/build/esm/Button/IconButton.js +3 -3
  60. package/build/esm/Button/IconButton.js.map +1 -1
  61. package/build/esm/Button/IconFilledButton.d.ts +2 -0
  62. package/build/esm/Button/IconFilledButton.js +3 -0
  63. package/build/esm/Button/IconFilledButton.js.map +1 -0
  64. package/build/esm/Button/IconOutlinedButton.d.ts +2 -0
  65. package/build/esm/Button/IconOutlinedButton.js +3 -0
  66. package/build/esm/Button/IconOutlinedButton.js.map +1 -0
  67. package/build/esm/Button/OutlinedButton.d.ts +3 -4
  68. package/build/esm/Button/OutlinedButton.js +3 -43
  69. package/build/esm/Button/OutlinedButton.js.map +1 -1
  70. package/build/esm/Button/SplitButton.d.ts +9 -0
  71. package/build/esm/Button/SplitButton.js +32 -0
  72. package/build/esm/Button/SplitButton.js.map +1 -0
  73. package/build/esm/Button/TransparentButton.d.ts +10 -11
  74. package/build/esm/Button/TransparentButton.js +11 -54
  75. package/build/esm/Button/TransparentButton.js.map +1 -1
  76. package/build/esm/Button/context.d.ts +9 -8
  77. package/build/esm/Button/context.js +5 -4
  78. package/build/esm/Button/context.js.map +1 -1
  79. package/build/esm/Button/index.d.ts +3 -2
  80. package/build/esm/Button/index.js +1 -0
  81. package/build/esm/Button/index.js.map +1 -1
  82. package/build/esm/CheckBox/CheckBox.d.ts +13 -13
  83. package/build/esm/CheckBox/CheckBox.js +45 -61
  84. package/build/esm/CheckBox/CheckBox.js.map +1 -1
  85. package/build/esm/CheckBox/CheckBoxIcon.d.ts +10 -10
  86. package/build/esm/CheckBox/CheckBoxIcon.js +19 -24
  87. package/build/esm/CheckBox/CheckBoxIcon.js.map +1 -1
  88. package/build/esm/CheckBox/CheckPath.d.ts +3 -3
  89. package/build/esm/CheckBox/CheckPath.js +15 -16
  90. package/build/esm/CheckBox/CheckPath.js.map +1 -1
  91. package/build/esm/CheckBox/IndeterminatePath.d.ts +3 -3
  92. package/build/esm/CheckBox/IndeterminatePath.js +14 -16
  93. package/build/esm/CheckBox/IndeterminatePath.js.map +1 -1
  94. package/build/esm/CheckBox/index.d.ts +1 -1
  95. package/build/esm/CheckBox/index.js.map +1 -1
  96. package/build/esm/Chip/ButtonChip.d.ts +9 -9
  97. package/build/esm/Chip/ButtonChip.js +20 -24
  98. package/build/esm/Chip/ButtonChip.js.map +1 -1
  99. package/build/esm/Chip/Chip.d.ts +4 -4
  100. package/build/esm/Chip/Chip.js.map +1 -1
  101. package/build/esm/Chip/ChipBase.d.ts +10 -10
  102. package/build/esm/Chip/ChipBase.js +50 -54
  103. package/build/esm/Chip/ChipBase.js.map +1 -1
  104. package/build/esm/Chip/ChoiceChip.d.ts +10 -10
  105. package/build/esm/Chip/ChoiceChip.js +34 -38
  106. package/build/esm/Chip/ChoiceChip.js.map +1 -1
  107. package/build/esm/Chip/index.d.ts +2 -2
  108. package/build/esm/Chip/index.js.map +1 -1
  109. package/build/esm/Combobox/Combobox.d.ts +23 -23
  110. package/build/esm/Combobox/Combobox.js +126 -107
  111. package/build/esm/Combobox/Combobox.js.map +1 -1
  112. package/build/esm/Combobox/index.d.ts +1 -1
  113. package/build/esm/Combobox/index.js.map +1 -1
  114. package/build/esm/Dialog/Dialog.d.ts +19 -20
  115. package/build/esm/Dialog/Dialog.js +38 -42
  116. package/build/esm/Dialog/Dialog.js.map +1 -1
  117. package/build/esm/Dialog/DialogBackdrop.d.ts +6 -7
  118. package/build/esm/Dialog/DialogBackdrop.js +18 -17
  119. package/build/esm/Dialog/DialogBackdrop.js.map +1 -1
  120. package/build/esm/Dialog/DialogContainer.d.ts +3 -4
  121. package/build/esm/Dialog/DialogContainer.js +12 -12
  122. package/build/esm/Dialog/DialogContainer.js.map +1 -1
  123. package/build/esm/Dialog/DialogSurface.d.ts +6 -7
  124. package/build/esm/Dialog/DialogSurface.js +26 -26
  125. package/build/esm/Dialog/DialogSurface.js.map +1 -1
  126. package/build/esm/Dialog/Scrim.d.ts +3 -4
  127. package/build/esm/Dialog/Scrim.js +12 -12
  128. package/build/esm/Dialog/Scrim.js.map +1 -1
  129. package/build/esm/Dialog/index.d.ts +2 -2
  130. package/build/esm/Dialog/index.js.map +1 -1
  131. package/build/esm/Dialog/useDialogAnimation.d.ts +57 -824
  132. package/build/esm/Dialog/useDialogAnimation.js +23 -24
  133. package/build/esm/Dialog/useDialogAnimation.js.map +1 -1
  134. package/build/esm/Divider/Divider.d.ts +7 -7
  135. package/build/esm/Divider/Divider.js +27 -28
  136. package/build/esm/Divider/Divider.js.map +1 -1
  137. package/build/esm/Divider/index.d.ts +1 -1
  138. package/build/esm/Divider/index.js.map +1 -1
  139. package/build/esm/FloatingLabel/FloatingLabel.d.ts +13 -13
  140. package/build/esm/FloatingLabel/FloatingLabel.js +27 -33
  141. package/build/esm/FloatingLabel/FloatingLabel.js.map +1 -1
  142. package/build/esm/FloatingLabel/index.d.ts +1 -1
  143. package/build/esm/FloatingLabel/index.js.map +1 -1
  144. package/build/esm/LineRipple/LineRipple.d.ts +9 -9
  145. package/build/esm/LineRipple/LineRipple.js +30 -38
  146. package/build/esm/LineRipple/LineRipple.js.map +1 -1
  147. package/build/esm/LineRipple/index.d.ts +1 -1
  148. package/build/esm/LineRipple/index.js.map +1 -1
  149. package/build/esm/Link/Link.d.ts +9 -9
  150. package/build/esm/Link/Link.js +15 -17
  151. package/build/esm/Link/Link.js.map +1 -1
  152. package/build/esm/Link/index.d.ts +1 -1
  153. package/build/esm/Link/index.js.map +1 -1
  154. package/build/esm/List/List.d.ts +8 -8
  155. package/build/esm/List/List.js +19 -26
  156. package/build/esm/List/List.js.map +1 -1
  157. package/build/esm/List/index.d.ts +1 -1
  158. package/build/esm/List/index.js.map +1 -1
  159. package/build/esm/ListItem/ListItem.d.ts +14 -14
  160. package/build/esm/ListItem/ListItem.js +28 -31
  161. package/build/esm/ListItem/ListItem.js.map +1 -1
  162. package/build/esm/ListItem/ListItemText.d.ts +7 -7
  163. package/build/esm/ListItem/ListItemText.js +12 -16
  164. package/build/esm/ListItem/ListItemText.js.map +1 -1
  165. package/build/esm/ListItem/index.d.ts +2 -2
  166. package/build/esm/ListItem/index.js.map +1 -1
  167. package/build/esm/Menu/Menu.d.ts +18 -18
  168. package/build/esm/Menu/Menu.js +70 -60
  169. package/build/esm/Menu/Menu.js.map +1 -1
  170. package/build/esm/Menu/animation.d.ts +2 -2
  171. package/build/esm/Menu/animation.js +3 -3
  172. package/build/esm/Menu/animation.js.map +1 -1
  173. package/build/esm/Menu/index.d.ts +2 -2
  174. package/build/esm/Menu/index.js.map +1 -1
  175. package/build/esm/NavRail/NavRailItem.d.ts +15 -15
  176. package/build/esm/NavRail/NavRailItem.js +82 -86
  177. package/build/esm/NavRail/NavRailItem.js.map +1 -1
  178. package/build/esm/NavRail/icons/test-icons.d.ts +4 -4
  179. package/build/esm/NavRail/icons/test-icons.js +33 -40
  180. package/build/esm/NavRail/icons/test-icons.js.map +1 -1
  181. package/build/esm/NavRail/index.d.ts +1 -1
  182. package/build/esm/NavRail/index.js.map +1 -1
  183. package/build/esm/NotchedOutline/NotchedOutline.d.ts +14 -14
  184. package/build/esm/NotchedOutline/NotchedOutline.js +26 -34
  185. package/build/esm/NotchedOutline/NotchedOutline.js.map +1 -1
  186. package/build/esm/NotchedOutline/context.d.ts +5 -6
  187. package/build/esm/NotchedOutline/context.js +8 -7
  188. package/build/esm/NotchedOutline/context.js.map +1 -1
  189. package/build/esm/NotchedOutline/index.d.ts +1 -1
  190. package/build/esm/NotchedOutline/index.js.map +1 -1
  191. package/build/esm/NotchedOutline/styledComponents.d.ts +15 -575
  192. package/build/esm/NotchedOutline/styledComponents.js +65 -64
  193. package/build/esm/NotchedOutline/styledComponents.js.map +1 -1
  194. package/build/esm/Paper/Paper.d.ts +11 -11
  195. package/build/esm/Paper/Paper.js +25 -25
  196. package/build/esm/Paper/Paper.js.map +1 -1
  197. package/build/esm/Paper/index.d.ts +1 -1
  198. package/build/esm/Paper/index.js.map +1 -1
  199. package/build/esm/Popover/Popover.d.ts +13 -14
  200. package/build/esm/Popover/Popover.js +33 -39
  201. package/build/esm/Popover/Popover.js.map +1 -1
  202. package/build/esm/Popover/PopoverContainer.d.ts +3 -4
  203. package/build/esm/Popover/PopoverContainer.js +12 -12
  204. package/build/esm/Popover/PopoverContainer.js.map +1 -1
  205. package/build/esm/Popover/PopoverSurface.d.ts +4 -5
  206. package/build/esm/Popover/PopoverSurface.js +15 -15
  207. package/build/esm/Popover/PopoverSurface.js.map +1 -1
  208. package/build/esm/Popover/index.d.ts +1 -1
  209. package/build/esm/Popover/index.js.map +1 -1
  210. package/build/esm/ProgressSpinner/ProgressSpinner.d.ts +7 -8
  211. package/build/esm/ProgressSpinner/ProgressSpinner.js +31 -33
  212. package/build/esm/ProgressSpinner/ProgressSpinner.js.map +1 -1
  213. package/build/esm/ProgressSpinner/index.d.ts +1 -1
  214. package/build/esm/ProgressSpinner/index.js.map +1 -1
  215. package/build/esm/RadioButton/RadioButton.d.ts +3 -4
  216. package/build/esm/RadioButton/RadioButton.js +29 -32
  217. package/build/esm/RadioButton/RadioButton.js.map +1 -1
  218. package/build/esm/RadioButton/RadioButtonIcon.d.ts +6 -6
  219. package/build/esm/RadioButton/RadioButtonIcon.js +10 -12
  220. package/build/esm/RadioButton/RadioButtonIcon.js.map +1 -1
  221. package/build/esm/RadioButton/RadioGroup.d.ts +4 -5
  222. package/build/esm/RadioButton/RadioGroup.js +9 -11
  223. package/build/esm/RadioButton/RadioGroup.js.map +1 -1
  224. package/build/esm/RadioButton/index.d.ts +2 -2
  225. package/build/esm/RadioButton/index.js.map +1 -1
  226. package/build/esm/Ripple/Ripple.d.ts +10 -11
  227. package/build/esm/Ripple/Ripple.js +12 -10
  228. package/build/esm/Ripple/Ripple.js.map +1 -1
  229. package/build/esm/Ripple/RippleBox.d.ts +5 -5
  230. package/build/esm/Ripple/RippleBox.js +32 -29
  231. package/build/esm/Ripple/RippleBox.js.map +1 -1
  232. package/build/esm/Ripple/constants.d.ts +7 -7
  233. package/build/esm/Ripple/constants.js +7 -7
  234. package/build/esm/Ripple/constants.js.map +1 -1
  235. package/build/esm/Ripple/index.d.ts +5 -5
  236. package/build/esm/Ripple/index.js.map +1 -1
  237. package/build/esm/Ripple/keyframes.d.ts +4 -4
  238. package/build/esm/Ripple/keyframes.js +7 -7
  239. package/build/esm/Ripple/keyframes.js.map +1 -1
  240. package/build/esm/Ripple/useRipple.d.ts +14 -14
  241. package/build/esm/Ripple/useRipple.js +79 -84
  242. package/build/esm/Ripple/useRipple.js.map +1 -1
  243. package/build/esm/Ripple/useRippleHandlers.d.ts +8 -8
  244. package/build/esm/Ripple/useRippleHandlers.js +21 -30
  245. package/build/esm/Ripple/useRippleHandlers.js.map +1 -1
  246. package/build/esm/Ripple/useRippleSurface.d.ts +22 -787
  247. package/build/esm/Ripple/useRippleSurface.js +87 -88
  248. package/build/esm/Ripple/useRippleSurface.js.map +1 -1
  249. package/build/esm/SearchBar/SearchBar.d.ts +15 -15
  250. package/build/esm/SearchBar/SearchBar.js +48 -63
  251. package/build/esm/SearchBar/SearchBar.js.map +1 -1
  252. package/build/esm/SearchBar/index.d.ts +1 -1
  253. package/build/esm/SearchBar/index.js.map +1 -1
  254. package/build/esm/Select/CustomContainerExample.d.ts +2 -3
  255. package/build/esm/Select/CustomContainerExample.js +29 -34
  256. package/build/esm/Select/CustomContainerExample.js.map +1 -1
  257. package/build/esm/Select/Select.d.ts +33 -32
  258. package/build/esm/Select/Select.js +68 -113
  259. package/build/esm/Select/Select.js.map +1 -1
  260. package/build/esm/Select/SelectIcon.d.ts +6 -6
  261. package/build/esm/Select/SelectIcon.js +11 -13
  262. package/build/esm/Select/SelectIcon.js.map +1 -1
  263. package/build/esm/Select/context.d.ts +9 -9
  264. package/build/esm/Select/context.js +10 -8
  265. package/build/esm/Select/context.js.map +1 -1
  266. package/build/esm/Select/defaultRender.d.ts +3 -3
  267. package/build/esm/Select/defaultRender.js +33 -38
  268. package/build/esm/Select/defaultRender.js.map +1 -1
  269. package/build/esm/Select/index.d.ts +1 -1
  270. package/build/esm/Select/index.js.map +1 -1
  271. package/build/esm/Select/styledComponents.d.ts +15 -15
  272. package/build/esm/Select/styledComponents.js +20 -23
  273. package/build/esm/Select/styledComponents.js.map +1 -1
  274. package/build/esm/SelectItem/SelectItem.d.ts +11 -11
  275. package/build/esm/SelectItem/SelectItem.js +37 -47
  276. package/build/esm/SelectItem/SelectItem.js.map +1 -1
  277. package/build/esm/SelectItem/index.d.ts +1 -1
  278. package/build/esm/SelectItem/index.js.map +1 -1
  279. package/build/esm/SelectionControl/SelectionControlLabel.d.ts +7 -7
  280. package/build/esm/SelectionControl/SelectionControlLabel.js +13 -14
  281. package/build/esm/SelectionControl/SelectionControlLabel.js.map +1 -1
  282. package/build/esm/SelectionControl/SelectionControlText.d.ts +8 -8
  283. package/build/esm/SelectionControl/SelectionControlText.js +20 -20
  284. package/build/esm/SelectionControl/SelectionControlText.js.map +1 -1
  285. package/build/esm/SelectionControl/index.d.ts +2 -2
  286. package/build/esm/SelectionControl/index.js.map +1 -1
  287. package/build/esm/Skeleton/DelayAppearance.d.ts +13 -13
  288. package/build/esm/Skeleton/DelayAppearance.js +18 -20
  289. package/build/esm/Skeleton/DelayAppearance.js.map +1 -1
  290. package/build/esm/Skeleton/Skeleton.d.ts +9 -9
  291. package/build/esm/Skeleton/Skeleton.js +18 -19
  292. package/build/esm/Skeleton/Skeleton.js.map +1 -1
  293. package/build/esm/Skeleton/animation.d.ts +8 -8
  294. package/build/esm/Skeleton/animation.js +11 -11
  295. package/build/esm/Skeleton/animation.js.map +1 -1
  296. package/build/esm/Skeleton/index.d.ts +2 -2
  297. package/build/esm/Skeleton/index.js.map +1 -1
  298. package/build/esm/Slider/Slider.d.ts +17 -17
  299. package/build/esm/Slider/Slider.js +93 -85
  300. package/build/esm/Slider/Slider.js.map +1 -1
  301. package/build/esm/Slider/index.d.ts +1 -1
  302. package/build/esm/Slider/index.js.map +1 -1
  303. package/build/esm/Snackbar/Snackbar.d.ts +10 -8
  304. package/build/esm/Snackbar/Snackbar.js +33 -33
  305. package/build/esm/Snackbar/Snackbar.js.map +1 -1
  306. package/build/esm/Snackbar/Stack.d.ts +31 -31
  307. package/build/esm/Snackbar/Stack.js +74 -106
  308. package/build/esm/Snackbar/Stack.js.map +1 -1
  309. package/build/esm/Snackbar/index.d.ts +3 -3
  310. package/build/esm/Snackbar/index.js.map +1 -1
  311. package/build/esm/Snackbar/useSnackbarAnimation.d.ts +6 -6
  312. package/build/esm/Snackbar/useSnackbarAnimation.js +103 -132
  313. package/build/esm/Snackbar/useSnackbarAnimation.js.map +1 -1
  314. package/build/esm/Switch/Switch.d.ts +13 -13
  315. package/build/esm/Switch/Switch.js +59 -56
  316. package/build/esm/Switch/Switch.js.map +1 -1
  317. package/build/esm/Switch/index.d.ts +1 -1
  318. package/build/esm/Switch/index.js.map +1 -1
  319. package/build/esm/Switch/styledComponents.d.ts +13 -13
  320. package/build/esm/Switch/styledComponents.js +47 -47
  321. package/build/esm/Switch/styledComponents.js.map +1 -1
  322. package/build/esm/Tab/Tab.d.ts +5 -5
  323. package/build/esm/Tab/Tab.js +47 -55
  324. package/build/esm/Tab/Tab.js.map +1 -1
  325. package/build/esm/Tab/TabList.d.ts +9 -10
  326. package/build/esm/Tab/TabList.js +28 -32
  327. package/build/esm/Tab/TabList.js.map +1 -1
  328. package/build/esm/Tab/TabPanel.d.ts +4 -5
  329. package/build/esm/Tab/TabPanel.js +18 -19
  330. package/build/esm/Tab/TabPanel.js.map +1 -1
  331. package/build/esm/Tab/TabPanels.d.ts +4 -4
  332. package/build/esm/Tab/TabPanels.js.map +1 -1
  333. package/build/esm/Tab/Tabs.d.ts +4 -4
  334. package/build/esm/Tab/Tabs.js.map +1 -1
  335. package/build/esm/Tab/context.d.ts +8 -9
  336. package/build/esm/Tab/context.js +8 -7
  337. package/build/esm/Tab/context.js.map +1 -1
  338. package/build/esm/Tab/index.d.ts +5 -5
  339. package/build/esm/Tab/index.js.map +1 -1
  340. package/build/esm/TabIndicator/TabIndicator.d.ts +9 -9
  341. package/build/esm/TabIndicator/TabIndicator.js +69 -86
  342. package/build/esm/TabIndicator/TabIndicator.js.map +1 -1
  343. package/build/esm/TabIndicator/context.d.ts +6 -6
  344. package/build/esm/TabIndicator/context.js +8 -7
  345. package/build/esm/TabIndicator/context.js.map +1 -1
  346. package/build/esm/TabIndicator/index.d.ts +2 -2
  347. package/build/esm/TabIndicator/index.js.map +1 -1
  348. package/build/esm/Table/Table.d.ts +3 -4
  349. package/build/esm/Table/Table.js +13 -14
  350. package/build/esm/Table/Table.js.map +1 -1
  351. package/build/esm/Table/TableBody.d.ts +3 -4
  352. package/build/esm/Table/TableBody.js +9 -11
  353. package/build/esm/Table/TableBody.js.map +1 -1
  354. package/build/esm/Table/TableCell.d.ts +3 -4
  355. package/build/esm/Table/TableCell.js +14 -15
  356. package/build/esm/Table/TableCell.js.map +1 -1
  357. package/build/esm/Table/TableHead.d.ts +3 -4
  358. package/build/esm/Table/TableHead.js +13 -14
  359. package/build/esm/Table/TableHead.js.map +1 -1
  360. package/build/esm/Table/TableRow.d.ts +3 -4
  361. package/build/esm/Table/TableRow.js +13 -14
  362. package/build/esm/Table/TableRow.js.map +1 -1
  363. package/build/esm/Table/context.d.ts +2 -3
  364. package/build/esm/Table/context.js +7 -7
  365. package/build/esm/Table/context.js.map +1 -1
  366. package/build/esm/Table/index.d.ts +5 -5
  367. package/build/esm/Table/index.js.map +1 -1
  368. package/build/esm/Text/LoremIpsum.d.ts +4 -4
  369. package/build/esm/Text/LoremIpsum.js +10 -12
  370. package/build/esm/Text/LoremIpsum.js.map +1 -1
  371. package/build/esm/Text/Text.d.ts +10 -11
  372. package/build/esm/Text/Text.js +15 -19
  373. package/build/esm/Text/Text.js.map +1 -1
  374. package/build/esm/Text/index.d.ts +1 -1
  375. package/build/esm/Text/index.js.map +1 -1
  376. package/build/esm/TextField/FilledContainer.d.ts +18 -18
  377. package/build/esm/TextField/FilledContainer.js +75 -80
  378. package/build/esm/TextField/FilledContainer.js.map +1 -1
  379. package/build/esm/TextField/HelperText.d.ts +10 -10
  380. package/build/esm/TextField/HelperText.js +19 -26
  381. package/build/esm/TextField/HelperText.js.map +1 -1
  382. package/build/esm/TextField/IconContainer.d.ts +5 -5
  383. package/build/esm/TextField/IconContainer.js +21 -9
  384. package/build/esm/TextField/IconContainer.js.map +1 -1
  385. package/build/esm/TextField/Input.d.ts +11 -11
  386. package/build/esm/TextField/Input.js +39 -40
  387. package/build/esm/TextField/Input.js.map +1 -1
  388. package/build/esm/TextField/OutlinedContainer.d.ts +17 -17
  389. package/build/esm/TextField/OutlinedContainer.js +30 -47
  390. package/build/esm/TextField/OutlinedContainer.js.map +1 -1
  391. package/build/esm/TextField/TextField.d.ts +19 -19
  392. package/build/esm/TextField/TextField.js +50 -77
  393. package/build/esm/TextField/TextField.js.map +1 -1
  394. package/build/esm/TextField/consts.d.ts +5 -5
  395. package/build/esm/TextField/consts.js +5 -5
  396. package/build/esm/TextField/consts.js.map +1 -1
  397. package/build/esm/TextField/index.d.ts +4 -4
  398. package/build/esm/TextField/index.js.map +1 -1
  399. package/build/esm/ThemeExplorer/BorderSlider.d.ts +7 -7
  400. package/build/esm/ThemeExplorer/BorderSlider.js +8 -14
  401. package/build/esm/ThemeExplorer/BorderSlider.js.map +1 -1
  402. package/build/esm/ThemeExplorer/ColorPicker.d.ts +8 -8
  403. package/build/esm/ThemeExplorer/ColorPicker.js +19 -24
  404. package/build/esm/ThemeExplorer/ColorPicker.js.map +1 -1
  405. package/build/esm/ThemeExplorer/ColorSchemePicker.d.ts +10 -10
  406. package/build/esm/ThemeExplorer/ColorSchemePicker.js +16 -21
  407. package/build/esm/ThemeExplorer/ColorSchemePicker.js.map +1 -1
  408. package/build/esm/ThemeExplorer/FontAutoComplete.d.ts +9 -9
  409. package/build/esm/ThemeExplorer/FontAutoComplete.js +28 -48
  410. package/build/esm/ThemeExplorer/FontAutoComplete.js.map +1 -1
  411. package/build/esm/ThemeExplorer/TextFieldColorPicker.d.ts +8 -9
  412. package/build/esm/ThemeExplorer/TextFieldColorPicker.js +29 -60
  413. package/build/esm/ThemeExplorer/TextFieldColorPicker.js.map +1 -1
  414. package/build/esm/ThemeExplorer/ThemeBuilder.d.ts +11 -11
  415. package/build/esm/ThemeExplorer/ThemeBuilder.js +155 -184
  416. package/build/esm/ThemeExplorer/ThemeBuilder.js.map +1 -1
  417. package/build/esm/ThemeExplorer/ThemeColors.d.ts +4 -5
  418. package/build/esm/ThemeExplorer/ThemeColors.js +54 -54
  419. package/build/esm/ThemeExplorer/ThemeColors.js.map +1 -1
  420. package/build/esm/ThemeExplorer/components.d.ts +31 -31
  421. package/build/esm/ThemeExplorer/components.js +52 -61
  422. package/build/esm/ThemeExplorer/components.js.map +1 -1
  423. package/build/esm/ThemeExplorer/googleFonts.d.ts +1 -1
  424. package/build/esm/ThemeExplorer/googleFonts.js +1 -1
  425. package/build/esm/ThemeExplorer/googleFonts.js.map +1 -1
  426. package/build/esm/ThemeExplorer/index.d.ts +1 -1
  427. package/build/esm/ThemeExplorer/index.js.map +1 -1
  428. package/build/esm/ThemeExplorer/makeColorScheme.d.ts +98 -98
  429. package/build/esm/ThemeExplorer/makeColorScheme.js +0 -1
  430. package/build/esm/ThemeExplorer/makeColorScheme.js.map +1 -1
  431. package/build/esm/ThemeExplorer/makeTailwindTheme.d.ts +2 -2
  432. package/build/esm/ThemeExplorer/makeTailwindTheme.js +20 -20
  433. package/build/esm/ThemeExplorer/makeTailwindTheme.js.map +1 -1
  434. package/build/esm/ThemeExplorer/updateGoogleFonts.js +23 -64
  435. package/build/esm/ThemeExplorer/updateGoogleFonts.js.map +1 -1
  436. package/build/esm/ThemeExplorer/useDeferredColor.d.ts +3 -3
  437. package/build/esm/ThemeExplorer/useDeferredColor.js +2 -9
  438. package/build/esm/ThemeExplorer/useDeferredColor.js.map +1 -1
  439. package/build/esm/ThemeExplorer/useLocalStorageCachedState.d.ts +1 -1
  440. package/build/esm/ThemeExplorer/useLocalStorageCachedState.js +2 -10
  441. package/build/esm/ThemeExplorer/useLocalStorageCachedState.js.map +1 -1
  442. package/build/esm/Tooltip/Tooltip.d.ts +8 -8
  443. package/build/esm/Tooltip/Tooltip.js +21 -25
  444. package/build/esm/Tooltip/Tooltip.js.map +1 -1
  445. package/build/esm/Tooltip/index.d.ts +1 -1
  446. package/build/esm/Tooltip/index.js.map +1 -1
  447. package/build/esm/color.d.ts +8 -8
  448. package/build/esm/color.js +23 -31
  449. package/build/esm/color.js.map +1 -1
  450. package/build/esm/css.d.ts +1 -1
  451. package/build/esm/css.js.map +1 -1
  452. package/build/esm/hooks/useAnimation.d.ts +20 -20
  453. package/build/esm/hooks/useAnimation.js +42 -53
  454. package/build/esm/hooks/useAnimation.js.map +1 -1
  455. package/build/esm/index.d.ts +42 -42
  456. package/build/esm/index.js.map +1 -1
  457. package/build/esm/motion.d.ts +7 -7
  458. package/build/esm/motion.js +7 -7
  459. package/build/esm/motion.js.map +1 -1
  460. package/build/esm/tailwind/extendColors.d.ts +5 -5
  461. package/build/esm/tailwind/extendColors.js +17 -29
  462. package/build/esm/tailwind/extendColors.js.map +1 -1
  463. package/build/esm/tailwind/index.d.ts +8 -8
  464. package/build/esm/tailwind/index.js +17 -29
  465. package/build/esm/tailwind/index.js.map +1 -1
  466. package/build/esm/theme/index.d.ts +2 -2
  467. package/build/esm/theme/index.js.map +1 -1
  468. package/build/esm/theme/theme.d.ts +590 -562
  469. package/build/esm/theme/theme.js +49 -22
  470. package/build/esm/theme/theme.js.map +1 -1
  471. package/build/esm/theme/typography-raleway.d.ts +112 -112
  472. package/build/esm/theme/typography-raleway.js +1 -1
  473. package/build/esm/theme/typography-raleway.js.map +1 -1
  474. package/build/esm/theme/typography-roboto.d.ts +111 -111
  475. package/build/esm/theme/typography-roboto.js +1 -1
  476. package/build/esm/theme/typography-roboto.js.map +1 -1
  477. package/build/esm/theme/useTheme.d.ts +594 -566
  478. package/build/esm/theme/useTheme.js +1 -3
  479. package/build/esm/theme/useTheme.js.map +1 -1
  480. package/build/tsconfig-build.tsbuildinfo +1 -1
  481. package/package.json +12 -11
  482. package/src/Alert/index.ts +1 -1
  483. package/src/AppBar/AppBar.story.tsx +69 -69
  484. package/src/AppBar/AppBar.tsx +85 -85
  485. package/src/AppBar/AppBarButton.tsx +25 -25
  486. package/src/AppBar/context.ts +13 -13
  487. package/src/AppBar/index.ts +3 -3
  488. package/src/Badge/Badge.story.tsx +68 -68
  489. package/src/Badge/Badge.tsx +47 -47
  490. package/src/Badge/index.ts +1 -1
  491. package/src/BaseLine/BaseLine.tsx +100 -100
  492. package/src/BaseLine/index.ts +1 -1
  493. package/src/BottomSheet/BottomSheet.story.tsx +35 -35
  494. package/src/BottomSheet/BottomSheet.tsx +39 -39
  495. package/src/BottomSheet/BottomSheetSurface.tsx +49 -49
  496. package/src/BottomSheet/index.ts +1 -1
  497. package/src/Box/Box.tsx +133 -127
  498. package/src/Box/index.ts +1 -1
  499. package/src/Button/BaseButton.tsx +123 -18
  500. package/src/Button/Button.story.tsx +236 -72
  501. package/src/Button/Button.tsx +44 -15
  502. package/src/Button/ButtonGroup.story.tsx +263 -101
  503. package/src/Button/ButtonGroup.tsx +103 -7
  504. package/src/Button/FilledButton.tsx +2 -43
  505. package/src/Button/FloatingActionButton.tsx +14 -9
  506. package/src/Button/IconFilledButton.tsx +3 -0
  507. package/src/Button/IconOutlinedButton.tsx +3 -0
  508. package/src/Button/OutlinedButton.tsx +2 -41
  509. package/src/Button/SpinnerButton.story.tsx +91 -91
  510. package/src/Button/SplitButton.story.tsx +110 -0
  511. package/src/Button/SplitButton.tsx +40 -0
  512. package/src/Button/TransparentButton.tsx +1 -43
  513. package/src/Button/context.tsx +19 -17
  514. package/src/Button/index.ts +3 -2
  515. package/src/CheckBox/CheckBox.story.tsx +155 -155
  516. package/src/CheckBox/CheckBox.tsx +170 -170
  517. package/src/CheckBox/CheckBoxIcon.tsx +63 -64
  518. package/src/CheckBox/CheckPath.tsx +18 -18
  519. package/src/CheckBox/IndeterminatePath.tsx +16 -16
  520. package/src/CheckBox/index.ts +1 -1
  521. package/src/Chip/ButtonChip.tsx +86 -86
  522. package/src/Chip/Chip.story.tsx +242 -242
  523. package/src/Chip/Chip.tsx +5 -5
  524. package/src/Chip/ChipBase.tsx +141 -141
  525. package/src/Chip/ChoiceChip.tsx +127 -127
  526. package/src/Chip/index.ts +2 -2
  527. package/src/Combobox/Combobox.tsx +274 -274
  528. package/src/Combobox/index.ts +1 -1
  529. package/src/Dialog/Dialog.story.tsx +53 -53
  530. package/src/Dialog/Dialog.tsx +73 -73
  531. package/src/Dialog/DialogBackdrop.tsx +42 -42
  532. package/src/Dialog/DialogContainer.tsx +31 -31
  533. package/src/Dialog/DialogSurface.tsx +55 -55
  534. package/src/Dialog/Scrim.tsx +35 -35
  535. package/src/Dialog/index.ts +2 -2
  536. package/src/Dialog/useDialogAnimation.tsx +59 -49
  537. package/src/Divider/Divider.story.tsx +39 -39
  538. package/src/Divider/Divider.tsx +48 -48
  539. package/src/Divider/index.ts +1 -1
  540. package/src/FloatingLabel/FloatingLabel.story.tsx +55 -55
  541. package/src/FloatingLabel/FloatingLabel.tsx +77 -77
  542. package/src/FloatingLabel/index.ts +1 -1
  543. package/src/LineRipple/LineRipple.story.tsx +43 -43
  544. package/src/LineRipple/LineRipple.tsx +81 -81
  545. package/src/LineRipple/index.ts +1 -1
  546. package/src/Link/Link.story.tsx +14 -14
  547. package/src/Link/Link.tsx +65 -65
  548. package/src/Link/index.ts +1 -1
  549. package/src/List/List.tsx +46 -46
  550. package/src/List/index.ts +1 -1
  551. package/src/ListItem/ListItem.story.tsx +43 -43
  552. package/src/ListItem/ListItem.tsx +104 -104
  553. package/src/ListItem/ListItemText.tsx +35 -35
  554. package/src/ListItem/index.ts +2 -2
  555. package/src/Menu/ContextMenu.story.tsx +34 -34
  556. package/src/Menu/Menu.story.tsx +54 -54
  557. package/src/Menu/Menu.tsx +124 -124
  558. package/src/Menu/animation.ts +16 -16
  559. package/src/Menu/index.ts +2 -2
  560. package/src/NavRail/NavRail.story.tsx +146 -146
  561. package/src/NavRail/NavRailItem.tsx +176 -175
  562. package/src/NavRail/icons/test-icons.tsx +46 -46
  563. package/src/NavRail/index.ts +1 -1
  564. package/src/NotchedOutline/NotchedOutline.story.tsx +99 -99
  565. package/src/NotchedOutline/NotchedOutline.tsx +80 -80
  566. package/src/NotchedOutline/context.ts +12 -12
  567. package/src/NotchedOutline/index.ts +1 -1
  568. package/src/NotchedOutline/styledComponents.ts +122 -122
  569. package/src/Paper/Paper.story.tsx +50 -50
  570. package/src/Paper/Paper.tsx +67 -67
  571. package/src/Paper/index.ts +1 -1
  572. package/src/Popover/PopoverSurface.tsx +51 -51
  573. package/src/Popover/index.ts +1 -1
  574. package/src/ProgressSpinner/ProgressSpinner.story.tsx +35 -35
  575. package/src/ProgressSpinner/ProgressSpinner.tsx +119 -119
  576. package/src/ProgressSpinner/index.ts +1 -1
  577. package/src/RadioButton/RadioButton.story.tsx +109 -109
  578. package/src/RadioButton/RadioButton.tsx +112 -112
  579. package/src/RadioButton/RadioButtonIcon.tsx +44 -44
  580. package/src/RadioButton/RadioGroup.tsx +26 -27
  581. package/src/RadioButton/index.ts +2 -2
  582. package/src/Ripple/Ripple.story.tsx +78 -78
  583. package/src/Ripple/Ripple.tsx +33 -33
  584. package/src/Ripple/RippleBox.tsx +52 -52
  585. package/src/Ripple/constants.ts +15 -15
  586. package/src/Ripple/index.ts +5 -5
  587. package/src/Ripple/keyframes.ts +36 -36
  588. package/src/Ripple/useRipple.ts +209 -209
  589. package/src/Ripple/useRippleHandlers.ts +54 -54
  590. package/src/Ripple/useRippleSurface.ts +162 -155
  591. package/src/SearchBar/SearchBar.tsx +5 -6
  592. package/src/Select/CustomContainerExample.tsx +59 -59
  593. package/src/Select/PaymentMethodSelect.story.tsx +320 -316
  594. package/src/Select/Select.story.tsx +225 -225
  595. package/src/Select/Select.tsx +284 -283
  596. package/src/Select/SelectIcon.tsx +43 -43
  597. package/src/Select/SelectMultiple.story.tsx +214 -215
  598. package/src/Select/context.ts +22 -22
  599. package/src/Select/defaultRender.tsx +60 -49
  600. package/src/Select/index.ts +1 -1
  601. package/src/Select/styledComponents.tsx +38 -38
  602. package/src/SelectItem/SelectItem.tsx +92 -92
  603. package/src/SelectItem/index.ts +1 -1
  604. package/src/SelectionControl/SelectionControlLabel.tsx +34 -34
  605. package/src/SelectionControl/SelectionControlText.tsx +37 -37
  606. package/src/SelectionControl/index.ts +2 -2
  607. package/src/Skeleton/DelayAppearance.tsx +41 -41
  608. package/src/Skeleton/Skeleton.story.tsx +57 -57
  609. package/src/Skeleton/Skeleton.tsx +40 -40
  610. package/src/Skeleton/animation.ts +54 -54
  611. package/src/Skeleton/index.ts +2 -2
  612. package/src/Slider/Slider.story.tsx +36 -36
  613. package/src/Slider/Slider.tsx +275 -275
  614. package/src/Slider/index.ts +1 -1
  615. package/src/Snackbar/Snackbar.story.tsx +99 -99
  616. package/src/Snackbar/Snackbar.tsx +19 -16
  617. package/src/Switch/Switch.story.tsx +97 -98
  618. package/src/Switch/Switch.tsx +170 -170
  619. package/src/Switch/index.ts +1 -1
  620. package/src/Switch/styledComponents.tsx +117 -117
  621. package/src/Tab/Tab.story.tsx +209 -209
  622. package/src/Tab/Tab.tsx +120 -120
  623. package/src/Tab/TabList.tsx +61 -61
  624. package/src/Tab/TabPanel.tsx +31 -31
  625. package/src/Tab/TabPanels.tsx +5 -5
  626. package/src/Tab/Tabs.tsx +5 -5
  627. package/src/Tab/context.ts +17 -17
  628. package/src/Tab/index.ts +5 -5
  629. package/src/TabIndicator/TabIndicator.tsx +146 -146
  630. package/src/TabIndicator/context.ts +13 -13
  631. package/src/TabIndicator/index.ts +2 -2
  632. package/src/Table/context.ts +6 -6
  633. package/src/Text/LoremIpsum.tsx +18 -18
  634. package/src/Text/Text.story.tsx +79 -75
  635. package/src/Text/Text.tsx +84 -84
  636. package/src/Text/index.ts +1 -1
  637. package/src/TextField/FilledContainer.tsx +173 -173
  638. package/src/TextField/HelperText.tsx +63 -63
  639. package/src/TextField/OutlinedContainer.tsx +116 -116
  640. package/src/TextField/consts.ts +7 -7
  641. package/src/TextField/index.ts +4 -4
  642. package/src/ThemeExplorer/BorderSlider.tsx +73 -73
  643. package/src/ThemeExplorer/ColorPicker.tsx +104 -104
  644. package/src/ThemeExplorer/ColorSchemePicker.tsx +55 -55
  645. package/src/ThemeExplorer/FontAutoComplete.tsx +139 -139
  646. package/src/ThemeExplorer/TextFieldColorPicker.tsx +112 -115
  647. package/src/ThemeExplorer/ThemeBuilder.story.tsx +8 -8
  648. package/src/ThemeExplorer/ThemeBuilder.tsx +437 -353
  649. package/src/ThemeExplorer/ThemeColors.tsx +122 -118
  650. package/src/ThemeExplorer/components.tsx +195 -195
  651. package/src/ThemeExplorer/googleFonts.ts +1436 -1436
  652. package/src/ThemeExplorer/index.ts +1 -1
  653. package/src/ThemeExplorer/makeColorScheme.tsx +111 -111
  654. package/src/ThemeExplorer/makeTailwindTheme.ts +44 -44
  655. package/src/ThemeExplorer/updateGoogleFonts.js +32 -33
  656. package/src/ThemeExplorer/useDeferredColor.tsx +21 -21
  657. package/src/ThemeExplorer/useLocalStorageCachedState.ts +18 -18
  658. package/src/Tooltip/Tooltip.story.tsx +35 -35
  659. package/src/Tooltip/Tooltip.tsx +67 -67
  660. package/src/Tooltip/index.ts +1 -1
  661. package/src/css.ts +2 -2
  662. package/src/hooks/useAnimation.ts +111 -111
  663. package/src/motion.ts +7 -7
  664. package/src/tailwind/extendColors.ts +51 -51
  665. package/src/tailwind/index.ts +57 -56
  666. package/src/tailwind/tests/extendColors.test.ts +123 -123
  667. package/src/theme/index.ts +2 -2
  668. package/src/theme/theme.ts +36 -8
  669. package/src/theme/typography-raleway.ts +114 -114
  670. package/src/theme/typography-roboto.ts +113 -113
  671. package/src/theme/useTheme.ts +17 -18
  672. package/tailwind/package.json +5 -5
  673. package/theme-explorer/package.json +5 -5
@@ -1,6 +1,6 @@
1
- import _extends from "@babel/runtime/helpers/extends";
2
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
- import { useState, useMemo, useEffect } from 'react';
1
+ 'use client';
2
+
3
+ import { useState, useMemo, useEffect, useCallback } from 'react';
4
4
  import { argbFromHex, hexFromArgb, TonalPalette, HCT } from '@material/material-color-utilities';
5
5
  import { toColor } from '@basic-ui/color-picker';
6
6
  import { THEME_OVERRIDE_STORAGE_KEY, injectThemeOverride, transformTheme, loadGoogleFont } from '@basic-ui/dynamic-theme';
@@ -17,10 +17,7 @@ import { FontAutoComplete, parseMainFont } from './FontAutoComplete';
17
17
  import { BorderSlider } from './BorderSlider';
18
18
  import { ColorSchemePicker } from './ColorSchemePicker';
19
19
  import { makeTailwindThemeCSS } from './makeTailwindTheme';
20
- import { jsx as _jsx } from "react/jsx-runtime";
21
- import { jsxs as _jsxs } from "react/jsx-runtime";
22
- import { Fragment as _Fragment } from "react/jsx-runtime";
23
-
20
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
24
21
  function DefaultHighlighter(props) {
25
22
  return /*#__PURE__*/_jsx(Box, {
26
23
  as: "pre",
@@ -29,70 +26,98 @@ function DefaultHighlighter(props) {
29
26
  children: props.children
30
27
  });
31
28
  }
32
-
33
- export var ThemeBuilder = function ThemeBuilder(props) {
34
- var _useState = useState(false),
35
- _useState2 = _slicedToArray(_useState, 2),
36
- mounted = _useState2[0],
37
- setMounted = _useState2[1];
38
-
39
- useEffect(function () {
29
+ function isCssVariableFont(font) {
30
+ return Boolean(font?.includes('var('));
31
+ }
32
+ function resolveCssVariables(value) {
33
+ if (typeof document === 'undefined') {
34
+ return value;
35
+ }
36
+ const rootStyles = getComputedStyle(document.documentElement);
37
+ return value.replace(/var\((--[^,)]+)(?:,[^)]+)?\)/g, (match, varName) => {
38
+ const resolvedValue = rootStyles.getPropertyValue(varName).trim();
39
+ return resolvedValue || match;
40
+ });
41
+ }
42
+ function getFontDisplayValue(fontStack) {
43
+ return parseMainFont(resolveCssVariables(fontStack)) || fontStack;
44
+ }
45
+ function getStoredFont(fontStorageKey) {
46
+ try {
47
+ const storedFont = JSON.parse(localStorage.getItem(fontStorageKey) || 'null');
48
+ if (typeof storedFont !== 'string' || !storedFont) {
49
+ return undefined;
50
+ }
51
+ if (isCssVariableFont(storedFont)) {
52
+ localStorage.removeItem(fontStorageKey);
53
+ return undefined;
54
+ }
55
+ return storedFont;
56
+ } catch (err) {
57
+ return undefined;
58
+ }
59
+ }
60
+ function formatThemeFont(font, fallback) {
61
+ if (!font) {
62
+ return fallback;
63
+ }
64
+ if (isCssVariableFont(font) || font.includes(',')) {
65
+ return font;
66
+ }
67
+ return `"${font}", sans-serif`;
68
+ }
69
+ function saveFontOverride(fontStorageKey, font) {
70
+ if (isCssVariableFont(font)) {
71
+ localStorage.removeItem(fontStorageKey);
72
+ return;
73
+ }
74
+ localStorage.setItem(fontStorageKey, JSON.stringify(font));
75
+ }
76
+ export const ThemeBuilder = props => {
77
+ const [mounted, setMounted] = useState(false);
78
+ useEffect(() => {
40
79
  setMounted(true);
41
80
  }, []);
42
81
  if (!mounted) return null;
43
- return /*#__PURE__*/_jsx(ThemeBuilderImpl, _extends({}, props));
82
+ return /*#__PURE__*/_jsx(ThemeBuilderImpl, {
83
+ ...props
84
+ });
44
85
  };
45
-
46
- var ThemeBuilderImpl = function ThemeBuilderImpl(props) {
47
- var theme = props.baseTheme,
48
- _props$CodeHighlighti = props.CodeHighlightingComponent,
49
- CodeHighlightingComponent = _props$CodeHighlighti === void 0 ? DefaultHighlighter : _props$CodeHighlighti;
50
-
51
- var _useLocalStorageCache = useLocalStorageCachedState(parseMainFont(theme.fonts.plain), 'fontFamily.plain'),
52
- _useLocalStorageCache2 = _slicedToArray(_useLocalStorageCache, 2),
53
- plainFont = _useLocalStorageCache2[0],
54
- setPlainFont = _useLocalStorageCache2[1];
55
-
56
- var _useLocalStorageCache3 = useLocalStorageCachedState(parseMainFont(theme.fonts.brand), 'fontFamily.brand'),
57
- _useLocalStorageCache4 = _slicedToArray(_useLocalStorageCache3, 2),
58
- brandFont = _useLocalStorageCache4[0],
59
- setBrandFont = _useLocalStorageCache4[1];
60
-
61
- var _useLocalStorageCache5 = useLocalStorageCachedState(parseInt(remToPx(theme.radii['extra-small'])), 'radii.extra-small'),
62
- _useLocalStorageCache6 = _slicedToArray(_useLocalStorageCache5, 2),
63
- radiusExtraSmall = _useLocalStorageCache6[0],
64
- setRadiusExtraSmall = _useLocalStorageCache6[1];
65
-
66
- var _useLocalStorageCache7 = useLocalStorageCachedState(parseInt(remToPx(theme.radii['small'])), 'radii.small'),
67
- _useLocalStorageCache8 = _slicedToArray(_useLocalStorageCache7, 2),
68
- radiusSmall = _useLocalStorageCache8[0],
69
- setRadiusSmall = _useLocalStorageCache8[1];
70
-
71
- var _useLocalStorageCache9 = useLocalStorageCachedState(parseInt(remToPx(theme.radii['medium'])), 'radii.medium'),
72
- _useLocalStorageCache10 = _slicedToArray(_useLocalStorageCache9, 2),
73
- radiusMedium = _useLocalStorageCache10[0],
74
- setRadiusMedium = _useLocalStorageCache10[1];
75
-
76
- var _useLocalStorageCache11 = useLocalStorageCachedState(parseInt(remToPx(theme.radii['large'])), 'radii.large'),
77
- _useLocalStorageCache12 = _slicedToArray(_useLocalStorageCache11, 2),
78
- radiusLarge = _useLocalStorageCache12[0],
79
- setRadiusLarge = _useLocalStorageCache12[1];
80
-
81
- var _useLocalStorageCache13 = useLocalStorageCachedState(parseInt(remToPx(theme.radii['extra-large'])), 'radii.extra-large'),
82
- _useLocalStorageCache14 = _slicedToArray(_useLocalStorageCache13, 2),
83
- radiusExtraLarge = _useLocalStorageCache14[0],
84
- setRadiusExtraLarge = _useLocalStorageCache14[1];
85
-
86
- var _useLocalStorageCache15 = useLocalStorageCachedState(toColor('hex', theme.colors.primary), 'primary'),
87
- _useLocalStorageCache16 = _slicedToArray(_useLocalStorageCache15, 2),
88
- primaryColor = _useLocalStorageCache16[0],
89
- setPrimaryColor = _useLocalStorageCache16[1];
90
-
91
- var _useMemo = useMemo(function () {
86
+ const ThemeBuilderImpl = props => {
87
+ const {
88
+ baseTheme: theme,
89
+ CodeHighlightingComponent = DefaultHighlighter
90
+ } = props;
91
+ const defaultPlainFontDisplayValue = useMemo(() => getFontDisplayValue(theme.fonts.plain), [theme.fonts.plain]);
92
+ const defaultBrandFontDisplayValue = useMemo(() => getFontDisplayValue(theme.fonts.brand), [theme.fonts.brand]);
93
+ const [plainFont, _setPlainFont] = useState(() => getStoredFont('fontFamily.plain') || theme.fonts.plain);
94
+ const [brandFont, _setBrandFont] = useState(() => getStoredFont('fontFamily.brand') || theme.fonts.brand);
95
+ const setPlainFont = useCallback(font => {
96
+ _setPlainFont(font);
97
+ saveFontOverride('fontFamily.plain', font);
98
+ }, []);
99
+ const setBrandFont = useCallback(font => {
100
+ _setBrandFont(font);
101
+ saveFontOverride('fontFamily.brand', font);
102
+ }, []);
103
+ const [radiusExtraSmall, setRadiusExtraSmall] = useLocalStorageCachedState(parseInt(remToPx(theme.radii['extra-small'])), 'radii.extra-small');
104
+ const [radiusSmall, setRadiusSmall] = useLocalStorageCachedState(parseInt(remToPx(theme.radii['small'])), 'radii.small');
105
+ const [radiusMedium, setRadiusMedium] = useLocalStorageCachedState(parseInt(remToPx(theme.radii['medium'])), 'radii.medium');
106
+ const [radiusLarge, setRadiusLarge] = useLocalStorageCachedState(parseInt(remToPx(theme.radii['large'])), 'radii.large');
107
+ const [radiusExtraLarge, setRadiusExtraLarge] = useLocalStorageCachedState(parseInt(remToPx(theme.radii['extra-large'])), 'radii.extra-large');
108
+ const [primaryColor, setPrimaryColor] = useLocalStorageCachedState(toColor('hex', theme.colors.primary), 'primary');
109
+ const {
110
+ a1,
111
+ a2,
112
+ a3,
113
+ error,
114
+ n1,
115
+ n2
116
+ } = useMemo(() => {
92
117
  /* This is from CorePalette.of(...) */
93
- var argb = argbFromHex(primaryColor.hex);
94
- var hct = HCT.fromInt(argb);
95
- var hue = hct.hue;
118
+ const argb = argbFromHex(primaryColor.hex);
119
+ const hct = HCT.fromInt(argb);
120
+ const hue = hct.hue;
96
121
  return {
97
122
  a1: TonalPalette.fromHueAndChroma(hue, Math.max(48, hct.chroma)),
98
123
  a2: TonalPalette.fromHueAndChroma(hue, 16),
@@ -101,71 +126,43 @@ var ThemeBuilderImpl = function ThemeBuilderImpl(props) {
101
126
  n2: TonalPalette.fromHueAndChroma(hue, 8),
102
127
  error: TonalPalette.fromHueAndChroma(25, 84)
103
128
  };
104
- }, [primaryColor.hex]),
105
- a1 = _useMemo.a1,
106
- a2 = _useMemo.a2,
107
- a3 = _useMemo.a3,
108
- error = _useMemo.error,
109
- n1 = _useMemo.n1,
110
- n2 = _useMemo.n2;
111
-
112
- var _useDeferredColor = useDeferredColor('secondary', a2),
113
- _useDeferredColor2 = _slicedToArray(_useDeferredColor, 3),
114
- secondaryColor = _useDeferredColor2[0],
115
- secondaryColorTonal = _useDeferredColor2[1],
116
- setSecondaryColor = _useDeferredColor2[2];
117
-
118
- var _useDeferredColor3 = useDeferredColor('tertiary', a3),
119
- _useDeferredColor4 = _slicedToArray(_useDeferredColor3, 3),
120
- tertiaryColor = _useDeferredColor4[0],
121
- tertiaryColorTonal = _useDeferredColor4[1],
122
- setTertiaryColor = _useDeferredColor4[2];
123
-
124
- var _useDeferredColor5 = useDeferredColor('neutral', n1),
125
- _useDeferredColor6 = _slicedToArray(_useDeferredColor5, 3),
126
- neutralColor = _useDeferredColor6[0],
127
- neutralColorTonal = _useDeferredColor6[1],
128
- setNeutralColor = _useDeferredColor6[2];
129
-
130
- var scheme = useMemo(function () {
131
- return makeColorScheme({
132
- primary: a1,
133
- secondary: secondaryColorTonal,
134
- tertiary: tertiaryColorTonal,
135
- error: error,
136
- neutral: neutralColorTonal,
137
- neutralVariant: n2
138
- });
139
- }, [a1, secondaryColorTonal, tertiaryColorTonal, error, neutralColorTonal, n2]);
140
- var newTheme = useMemo(function () {
141
- return {
142
- colors: scheme,
143
- fonts: {
144
- plain: "\"".concat(plainFont, "\""),
145
- brand: "\"".concat(brandFont, "\"")
146
- },
147
- radii: {
148
- 'extra-small': rem(radiusExtraSmall),
149
- 'extra-small_top': "".concat(rem(radiusExtraSmall), " ").concat(rem(radiusExtraSmall), " 0 0"),
150
- small: rem(radiusSmall),
151
- medium: rem(radiusMedium),
152
- large: rem(radiusLarge),
153
- large_end: "0 ".concat(rem(radiusLarge), " ").concat(rem(radiusLarge), " 0"),
154
- large_top: "".concat(rem(radiusLarge), " ").concat(rem(radiusLarge), " 0 0"),
155
- 'extra-large': rem(radiusExtraLarge),
156
- 'extra-large_top': "".concat(rem(radiusExtraLarge), " ").concat(rem(radiusExtraLarge), " 0 0")
157
- }
158
- };
159
- }, [scheme, plainFont, brandFont, radiusExtraSmall, radiusSmall, radiusMedium, radiusLarge, radiusExtraLarge]);
160
- var colorModes = useMemo(function () {
161
- return transformTheme(newTheme, ['fonts', 'radii']).colorModes;
162
- }, [newTheme]);
163
- useEffect(function () {
129
+ }, [primaryColor.hex]);
130
+ const [secondaryColor, secondaryColorTonal, setSecondaryColor] = useDeferredColor('secondary', a2);
131
+ const [tertiaryColor, tertiaryColorTonal, setTertiaryColor] = useDeferredColor('tertiary', a3);
132
+ const [neutralColor, neutralColorTonal, setNeutralColor] = useDeferredColor('neutral', n1);
133
+ const scheme = useMemo(() => makeColorScheme({
134
+ primary: a1,
135
+ secondary: secondaryColorTonal,
136
+ tertiary: tertiaryColorTonal,
137
+ error: error,
138
+ neutral: neutralColorTonal,
139
+ neutralVariant: n2
140
+ }), [a1, secondaryColorTonal, tertiaryColorTonal, error, neutralColorTonal, n2]);
141
+ const newTheme = useMemo(() => ({
142
+ colors: scheme,
143
+ fonts: {
144
+ plain: formatThemeFont(plainFont, theme.fonts.plain),
145
+ brand: formatThemeFont(brandFont, theme.fonts.brand)
146
+ },
147
+ radii: {
148
+ 'extra-small': rem(radiusExtraSmall),
149
+ 'extra-small_top': `${rem(radiusExtraSmall)} ${rem(radiusExtraSmall)} 0 0`,
150
+ small: rem(radiusSmall),
151
+ medium: rem(radiusMedium),
152
+ large: rem(radiusLarge),
153
+ large_end: `0 ${rem(radiusLarge)} ${rem(radiusLarge)} 0`,
154
+ large_top: `${rem(radiusLarge)} ${rem(radiusLarge)} 0 0`,
155
+ 'extra-large': rem(radiusExtraLarge),
156
+ 'extra-large_top': `${rem(radiusExtraLarge)} ${rem(radiusExtraLarge)} 0 0`
157
+ }
158
+ }), [scheme, plainFont, brandFont, theme.fonts.plain, theme.fonts.brand, radiusExtraSmall, radiusSmall, radiusMedium, radiusLarge, radiusExtraLarge]);
159
+ const colorModes = useMemo(() => transformTheme(newTheme, ['fonts', 'radii']).colorModes, [newTheme]);
160
+ useEffect(() => {
164
161
  localStorage.setItem(THEME_OVERRIDE_STORAGE_KEY, JSON.stringify({
165
- colorModes: colorModes
162
+ colorModes
166
163
  }));
167
164
  injectThemeOverride({
168
- colorModes: colorModes
165
+ colorModes
169
166
  });
170
167
  }, [colorModes]);
171
168
  return /*#__PURE__*/_jsxs(_Fragment, {
@@ -182,50 +179,40 @@ var ThemeBuilderImpl = function ThemeBuilderImpl(props) {
182
179
  children: [/*#__PURE__*/_jsx(BorderSlider, {
183
180
  label: "Extra small",
184
181
  defaultValue: radiusExtraSmall,
185
- onChange: function onChange(v) {
186
- return setRadiusExtraSmall(v);
187
- },
188
- onReset: function onReset() {
182
+ onChange: v => setRadiusExtraSmall(v),
183
+ onReset: () => {
189
184
  setRadiusExtraSmall(parseInt(remToPx(theme.radii['extra-small'])));
190
185
  },
191
186
  resetDisabled: rem(radiusExtraSmall) === theme.radii['extra-small']
192
187
  }), /*#__PURE__*/_jsx(BorderSlider, {
193
188
  label: "Small",
194
189
  defaultValue: radiusSmall,
195
- onChange: function onChange(v) {
196
- return setRadiusSmall(v);
197
- },
198
- onReset: function onReset() {
190
+ onChange: v => setRadiusSmall(v),
191
+ onReset: () => {
199
192
  setRadiusSmall(parseInt(remToPx(theme.radii['small'])));
200
193
  },
201
194
  resetDisabled: rem(radiusSmall) === theme.radii.small
202
195
  }), /*#__PURE__*/_jsx(BorderSlider, {
203
196
  label: "Medium",
204
197
  defaultValue: radiusMedium,
205
- onChange: function onChange(v) {
206
- return setRadiusMedium(v);
207
- },
208
- onReset: function onReset() {
198
+ onChange: v => setRadiusMedium(v),
199
+ onReset: () => {
209
200
  setRadiusMedium(parseInt(remToPx(theme.radii['medium'])));
210
201
  },
211
202
  resetDisabled: rem(radiusMedium) === theme.radii['medium']
212
203
  }), /*#__PURE__*/_jsx(BorderSlider, {
213
204
  label: "Large",
214
205
  defaultValue: radiusLarge,
215
- onChange: function onChange(v) {
216
- return setRadiusLarge(v);
217
- },
218
- onReset: function onReset() {
206
+ onChange: v => setRadiusLarge(v),
207
+ onReset: () => {
219
208
  setRadiusLarge(parseInt(remToPx(theme.radii['large'])));
220
209
  },
221
210
  resetDisabled: rem(radiusLarge) === theme.radii['large']
222
211
  }), /*#__PURE__*/_jsx(BorderSlider, {
223
212
  label: "Extra large",
224
213
  defaultValue: radiusExtraLarge,
225
- onChange: function onChange(v) {
226
- return setRadiusExtraLarge(v);
227
- },
228
- onReset: function onReset() {
214
+ onChange: v => setRadiusExtraLarge(v),
215
+ onReset: () => {
229
216
  setRadiusExtraLarge(parseInt(remToPx(theme.radii['extra-large'])));
230
217
  },
231
218
  resetDisabled: rem(radiusExtraLarge) === theme.radii['extra-large']
@@ -242,8 +229,8 @@ var ThemeBuilderImpl = function ThemeBuilderImpl(props) {
242
229
  },
243
230
  children: [/*#__PURE__*/_jsx(FontAutoComplete, {
244
231
  label: "Brand",
245
- initialValue: brandFont,
246
- onSelect: function onSelect(f) {
232
+ initialValue: brandFont === theme.fonts.brand ? defaultBrandFontDisplayValue : brandFont,
233
+ onSelect: f => {
247
234
  if (f) {
248
235
  setBrandFont(f);
249
236
  loadGoogleFont([{
@@ -252,14 +239,14 @@ var ThemeBuilderImpl = function ThemeBuilderImpl(props) {
252
239
  }]);
253
240
  }
254
241
  },
255
- onReset: function onReset() {
256
- setBrandFont(parseMainFont(theme.fonts.brand));
242
+ onReset: () => {
243
+ setBrandFont(theme.fonts.brand);
257
244
  },
258
- resetDisabled: brandFont === parseMainFont(theme.fonts.brand)
245
+ resetDisabled: brandFont === theme.fonts.brand
259
246
  }), /*#__PURE__*/_jsx(FontAutoComplete, {
260
247
  label: "Plain",
261
- initialValue: plainFont,
262
- onSelect: function onSelect(f) {
248
+ initialValue: plainFont === theme.fonts.plain ? defaultPlainFontDisplayValue : plainFont,
249
+ onSelect: f => {
263
250
  if (f) {
264
251
  setPlainFont(f);
265
252
  loadGoogleFont([{
@@ -268,10 +255,10 @@ var ThemeBuilderImpl = function ThemeBuilderImpl(props) {
268
255
  }]);
269
256
  }
270
257
  },
271
- onReset: function onReset() {
272
- setPlainFont(parseMainFont(theme.fonts.plain));
258
+ onReset: () => {
259
+ setPlainFont(theme.fonts.plain);
273
260
  },
274
- resetDisabled: plainFont === parseMainFont(theme.fonts.plain)
261
+ resetDisabled: plainFont === theme.fonts.plain
275
262
  })]
276
263
  }), /*#__PURE__*/_jsx(Text, {
277
264
  variant: "headline-small",
@@ -286,42 +273,26 @@ var ThemeBuilderImpl = function ThemeBuilderImpl(props) {
286
273
  children: [/*#__PURE__*/_jsx(ColorSchemePicker, {
287
274
  label: "Primary color",
288
275
  initialValue: primaryColor,
289
- onChange: function onChange(c) {
290
- return setPrimaryColor(c);
291
- },
292
- onReset: function onReset() {
293
- return setPrimaryColor(toColor('hex', theme.colors.primary));
294
- },
276
+ onChange: c => setPrimaryColor(c),
277
+ onReset: () => setPrimaryColor(toColor('hex', theme.colors.primary)),
295
278
  resetDisabled: primaryColor.hex === toColor('hex', theme.colors.primary).hex
296
279
  }), /*#__PURE__*/_jsx(ColorSchemePicker, {
297
280
  label: "Secondary color",
298
281
  initialValue: secondaryColor || toColor('hex', hexFromArgb(secondaryColorTonal.tone(40))),
299
- onChange: function onChange(c) {
300
- return setSecondaryColor(c);
301
- },
302
- onReset: function onReset() {
303
- return setSecondaryColor(null);
304
- },
282
+ onChange: c => setSecondaryColor(c),
283
+ onReset: () => setSecondaryColor(null),
305
284
  resetDisabled: secondaryColor === null
306
285
  }), /*#__PURE__*/_jsx(ColorSchemePicker, {
307
286
  label: "Tertiary color",
308
287
  initialValue: tertiaryColor || toColor('hex', hexFromArgb(tertiaryColorTonal.tone(40))),
309
- onChange: function onChange(c) {
310
- return setTertiaryColor(c);
311
- },
312
- onReset: function onReset() {
313
- return setTertiaryColor(null);
314
- },
288
+ onChange: c => setTertiaryColor(c),
289
+ onReset: () => setTertiaryColor(null),
315
290
  resetDisabled: tertiaryColor === null
316
291
  }), /*#__PURE__*/_jsx(ColorSchemePicker, {
317
292
  label: "Neutral color",
318
293
  initialValue: neutralColor || toColor('hex', hexFromArgb(neutralColorTonal.tone(40))),
319
- onChange: function onChange(c) {
320
- return setNeutralColor(c);
321
- },
322
- onReset: function onReset() {
323
- return setNeutralColor(null);
324
- },
294
+ onChange: c => setNeutralColor(c),
295
+ onReset: () => setNeutralColor(null),
325
296
  resetDisabled: neutralColor === null
326
297
  })]
327
298
  }), /*#__PURE__*/_jsxs(Box, {
@@ -386,13 +357,13 @@ var ThemeBuilderImpl = function ThemeBuilderImpl(props) {
386
357
  variant: "headline-small",
387
358
  children: "Theme"
388
359
  }), /*#__PURE__*/_jsx(CodeHighlightingComponent, {
389
- className: "language-json",
360
+ className: `language-json`,
390
361
  children: JSON.stringify(newTheme, null, 2)
391
362
  }), /*#__PURE__*/_jsx(Text, {
392
363
  variant: "headline-small",
393
364
  children: "Tailwind Theme"
394
365
  }), /*#__PURE__*/_jsx(CodeHighlightingComponent, {
395
- className: "language-css",
366
+ className: `language-css`,
396
367
  children: makeTailwindThemeCSS(newTheme)
397
368
  })]
398
369
  });
@@ -1 +1 @@
1
- {"version":3,"file":"ThemeBuilder.js","names":["useState","useMemo","useEffect","argbFromHex","hexFromArgb","TonalPalette","HCT","toColor","THEME_OVERRIDE_STORAGE_KEY","injectThemeOverride","transformTheme","loadGoogleFont","rem","remToPx","Box","TonalColors","ThemeColors","makeColorScheme","Text","useLocalStorageCachedState","useDeferredColor","FontAutoComplete","parseMainFont","BorderSlider","ColorSchemePicker","makeTailwindThemeCSS","DefaultHighlighter","props","children","ThemeBuilder","mounted","setMounted","ThemeBuilderImpl","theme","baseTheme","CodeHighlightingComponent","fonts","plain","plainFont","setPlainFont","brand","brandFont","setBrandFont","parseInt","radii","radiusExtraSmall","setRadiusExtraSmall","radiusSmall","setRadiusSmall","radiusMedium","setRadiusMedium","radiusLarge","setRadiusLarge","radiusExtraLarge","setRadiusExtraLarge","colors","primary","primaryColor","setPrimaryColor","argb","hex","hct","fromInt","hue","a1","fromHueAndChroma","Math","max","chroma","a2","a3","n1","n2","error","secondaryColor","secondaryColorTonal","setSecondaryColor","tertiaryColor","tertiaryColorTonal","setTertiaryColor","neutralColor","neutralColorTonal","setNeutralColor","scheme","secondary","tertiary","neutral","neutralVariant","newTheme","small","medium","large","large_end","large_top","colorModes","localStorage","setItem","JSON","stringify","gap","flexWrap","v","f","family","weights","c","tone","modes","dark"],"sources":["../../../src/ThemeExplorer/ThemeBuilder.tsx"],"sourcesContent":["import type { ComponentType } from 'react';\r\nimport { useState, useMemo, useEffect } from 'react';\r\nimport {\r\n argbFromHex,\r\n hexFromArgb,\r\n TonalPalette,\r\n HCT,\r\n} from '@material/material-color-utilities';\r\nimport type { Color } from '@basic-ui/color-picker';\r\nimport { toColor } from '@basic-ui/color-picker';\r\nimport {\r\n THEME_OVERRIDE_STORAGE_KEY,\r\n injectThemeOverride,\r\n transformTheme,\r\n loadGoogleFont,\r\n} from '@basic-ui/dynamic-theme';\r\nimport { rem } from 'polished';\r\nimport remToPx from 'polished/lib/helpers/remToPx';\r\n\r\nimport { Box } from '../Box';\r\nimport { TonalColors } from './components';\r\nimport { ThemeColors } from './ThemeColors';\r\nimport { makeColorScheme } from './makeColorScheme';\r\nimport { Text } from '../Text';\r\nimport { useLocalStorageCachedState } from './useLocalStorageCachedState';\r\nimport { useDeferredColor } from './useDeferredColor';\r\nimport { FontAutoComplete, parseMainFont } from './FontAutoComplete';\r\nimport type { Theme } from '../theme/theme';\r\nimport { BorderSlider } from './BorderSlider';\r\nimport { ColorSchemePicker } from './ColorSchemePicker';\r\nimport { makeTailwindThemeCSS } from './makeTailwindTheme';\r\n\r\nexport interface ThemeBuilderProps {\r\n CodeHighlightingComponent?: ComponentType<{\r\n children: string;\r\n className: string;\r\n showButtons?: boolean;\r\n }>;\r\n baseTheme: Theme;\r\n}\r\n\r\nfunction DefaultHighlighter(props: { children: string }) {\r\n return (\r\n <Box as=\"pre\" fontFamily=\"monospace\" fontSize=\"12px\">\r\n {props.children}\r\n </Box>\r\n );\r\n}\r\n\r\nexport const ThemeBuilder = (props: ThemeBuilderProps) => {\r\n const [mounted, setMounted] = useState(false);\r\n useEffect(() => {\r\n setMounted(true);\r\n }, []);\r\n if (!mounted) return null;\r\n return <ThemeBuilderImpl {...props} />;\r\n};\r\n\r\nconst ThemeBuilderImpl = (props: ThemeBuilderProps) => {\r\n const { baseTheme: theme, CodeHighlightingComponent = DefaultHighlighter } =\r\n props;\r\n const [plainFont, setPlainFont] = useLocalStorageCachedState(\r\n parseMainFont(theme.fonts.plain),\r\n 'fontFamily.plain'\r\n );\r\n const [brandFont, setBrandFont] = useLocalStorageCachedState(\r\n parseMainFont(theme.fonts.brand),\r\n 'fontFamily.brand'\r\n );\r\n\r\n const [radiusExtraSmall, setRadiusExtraSmall] =\r\n useLocalStorageCachedState<number>(\r\n parseInt(remToPx(theme.radii['extra-small'])),\r\n 'radii.extra-small'\r\n );\r\n\r\n const [radiusSmall, setRadiusSmall] = useLocalStorageCachedState<number>(\r\n parseInt(remToPx(theme.radii['small'])),\r\n 'radii.small'\r\n );\r\n\r\n const [radiusMedium, setRadiusMedium] = useLocalStorageCachedState<number>(\r\n parseInt(remToPx(theme.radii['medium'])),\r\n 'radii.medium'\r\n );\r\n\r\n const [radiusLarge, setRadiusLarge] = useLocalStorageCachedState<number>(\r\n parseInt(remToPx(theme.radii['large'])),\r\n 'radii.large'\r\n );\r\n\r\n const [radiusExtraLarge, setRadiusExtraLarge] =\r\n useLocalStorageCachedState<number>(\r\n parseInt(remToPx(theme.radii['extra-large'])),\r\n 'radii.extra-large'\r\n );\r\n\r\n const [primaryColor, setPrimaryColor] = useLocalStorageCachedState<Color>(\r\n toColor('hex', theme.colors.primary),\r\n 'primary'\r\n );\r\n\r\n const { a1, a2, a3, error, n1, n2 } = useMemo(() => {\r\n /* This is from CorePalette.of(...) */\r\n const argb = argbFromHex(primaryColor.hex);\r\n const hct = HCT.fromInt(argb);\r\n const hue = hct.hue;\r\n return {\r\n a1: TonalPalette.fromHueAndChroma(hue, Math.max(48, hct.chroma)),\r\n a2: TonalPalette.fromHueAndChroma(hue, 16),\r\n a3: TonalPalette.fromHueAndChroma(hue + 60, 24),\r\n n1: TonalPalette.fromHueAndChroma(hue, 6),\r\n n2: TonalPalette.fromHueAndChroma(hue, 8),\r\n error: TonalPalette.fromHueAndChroma(25, 84),\r\n };\r\n }, [primaryColor.hex]);\r\n\r\n const [secondaryColor, secondaryColorTonal, setSecondaryColor] =\r\n useDeferredColor('secondary', a2);\r\n const [tertiaryColor, tertiaryColorTonal, setTertiaryColor] =\r\n useDeferredColor('tertiary', a3);\r\n const [neutralColor, neutralColorTonal, setNeutralColor] = useDeferredColor(\r\n 'neutral',\r\n n1\r\n );\r\n\r\n const scheme = useMemo(\r\n () =>\r\n makeColorScheme({\r\n primary: a1,\r\n secondary: secondaryColorTonal,\r\n tertiary: tertiaryColorTonal,\r\n error: error,\r\n neutral: neutralColorTonal,\r\n neutralVariant: n2,\r\n }),\r\n [a1, secondaryColorTonal, tertiaryColorTonal, error, neutralColorTonal, n2]\r\n );\r\n\r\n const newTheme = useMemo(\r\n () => ({\r\n colors: scheme,\r\n fonts: { plain: `\"${plainFont}\"`, brand: `\"${brandFont}\"` },\r\n radii: {\r\n 'extra-small': rem(radiusExtraSmall),\r\n 'extra-small_top': `${rem(radiusExtraSmall)} ${rem(\r\n radiusExtraSmall\r\n )} 0 0`,\r\n small: rem(radiusSmall),\r\n medium: rem(radiusMedium),\r\n large: rem(radiusLarge),\r\n large_end: `0 ${rem(radiusLarge)} ${rem(radiusLarge)} 0`,\r\n large_top: `${rem(radiusLarge)} ${rem(radiusLarge)} 0 0`,\r\n 'extra-large': rem(radiusExtraLarge),\r\n 'extra-large_top': `${rem(radiusExtraLarge)} ${rem(\r\n radiusExtraLarge\r\n )} 0 0`,\r\n },\r\n }),\r\n [\r\n scheme,\r\n plainFont,\r\n brandFont,\r\n radiusExtraSmall,\r\n radiusSmall,\r\n radiusMedium,\r\n radiusLarge,\r\n radiusExtraLarge,\r\n ]\r\n );\r\n\r\n const colorModes = useMemo(\r\n () => transformTheme(newTheme, ['fonts', 'radii']).colorModes,\r\n [newTheme]\r\n );\r\n\r\n useEffect(() => {\r\n localStorage.setItem(\r\n THEME_OVERRIDE_STORAGE_KEY,\r\n JSON.stringify({ colorModes })\r\n );\r\n injectThemeOverride({ colorModes });\r\n }, [colorModes]);\r\n\r\n return (\r\n <>\r\n {/* Shape */}\r\n <Text variant=\"headline-small\">Shape</Text>\r\n <Box display=\"flex\" my={3} sx={{ gap: 3, flexWrap: 'wrap' }}>\r\n <BorderSlider\r\n label=\"Extra small\"\r\n defaultValue={radiusExtraSmall}\r\n onChange={(v) => setRadiusExtraSmall(v)}\r\n onReset={() => {\r\n setRadiusExtraSmall(parseInt(remToPx(theme.radii['extra-small'])));\r\n }}\r\n resetDisabled={rem(radiusExtraSmall) === theme.radii['extra-small']}\r\n />\r\n <BorderSlider\r\n label=\"Small\"\r\n defaultValue={radiusSmall}\r\n onChange={(v) => setRadiusSmall(v)}\r\n onReset={() => {\r\n setRadiusSmall(parseInt(remToPx(theme.radii['small'])));\r\n }}\r\n resetDisabled={rem(radiusSmall) === theme.radii.small}\r\n />\r\n <BorderSlider\r\n label=\"Medium\"\r\n defaultValue={radiusMedium}\r\n onChange={(v) => setRadiusMedium(v)}\r\n onReset={() => {\r\n setRadiusMedium(parseInt(remToPx(theme.radii['medium'])));\r\n }}\r\n resetDisabled={rem(radiusMedium) === theme.radii['medium']}\r\n />\r\n <BorderSlider\r\n label=\"Large\"\r\n defaultValue={radiusLarge}\r\n onChange={(v) => setRadiusLarge(v)}\r\n onReset={() => {\r\n setRadiusLarge(parseInt(remToPx(theme.radii['large'])));\r\n }}\r\n resetDisabled={rem(radiusLarge) === theme.radii['large']}\r\n />\r\n <BorderSlider\r\n label=\"Extra large\"\r\n defaultValue={radiusExtraLarge}\r\n onChange={(v) => setRadiusExtraLarge(v)}\r\n onReset={() => {\r\n setRadiusExtraLarge(parseInt(remToPx(theme.radii['extra-large'])));\r\n }}\r\n resetDisabled={rem(radiusExtraLarge) === theme.radii['extra-large']}\r\n />\r\n </Box>\r\n {/* Font pickers */}\r\n <Text variant=\"headline-small\">Typography</Text>\r\n <Box display=\"flex\" my={3} sx={{ gap: 3, flexWrap: 'wrap' }}>\r\n <FontAutoComplete\r\n label=\"Brand\"\r\n initialValue={brandFont}\r\n onSelect={(f) => {\r\n if (f) {\r\n setBrandFont(f);\r\n loadGoogleFont([\r\n { family: f, weights: [300, 400, 500, 600, 700] },\r\n ]);\r\n }\r\n }}\r\n onReset={() => {\r\n setBrandFont(parseMainFont(theme.fonts.brand));\r\n }}\r\n resetDisabled={brandFont === parseMainFont(theme.fonts.brand)}\r\n />\r\n <FontAutoComplete\r\n label=\"Plain\"\r\n initialValue={plainFont}\r\n onSelect={(f) => {\r\n if (f) {\r\n setPlainFont(f);\r\n loadGoogleFont([\r\n { family: f, weights: [300, 400, 500, 600, 700] },\r\n ]);\r\n }\r\n }}\r\n onReset={() => {\r\n setPlainFont(parseMainFont(theme.fonts.plain));\r\n }}\r\n resetDisabled={plainFont === parseMainFont(theme.fonts.plain)}\r\n />\r\n </Box>\r\n {/* Color pickers */}\r\n <Text variant=\"headline-small\">Color schemes</Text>\r\n <Box display=\"flex\" my={3} sx={{ gap: 3, flexWrap: 'wrap' }}>\r\n <ColorSchemePicker\r\n label=\"Primary color\"\r\n initialValue={primaryColor}\r\n onChange={(c) => setPrimaryColor(c)}\r\n onReset={() => setPrimaryColor(toColor('hex', theme.colors.primary))}\r\n resetDisabled={\r\n primaryColor.hex === toColor('hex', theme.colors.primary).hex\r\n }\r\n />\r\n <ColorSchemePicker\r\n label=\"Secondary color\"\r\n initialValue={\r\n secondaryColor ||\r\n toColor('hex', hexFromArgb(secondaryColorTonal.tone(40)))\r\n }\r\n onChange={(c) => setSecondaryColor(c)}\r\n onReset={() => setSecondaryColor(null)}\r\n resetDisabled={secondaryColor === null}\r\n />\r\n <ColorSchemePicker\r\n label=\"Tertiary color\"\r\n initialValue={\r\n tertiaryColor ||\r\n toColor('hex', hexFromArgb(tertiaryColorTonal.tone(40)))\r\n }\r\n onChange={(c) => setTertiaryColor(c)}\r\n onReset={() => setTertiaryColor(null)}\r\n resetDisabled={tertiaryColor === null}\r\n />\r\n <ColorSchemePicker\r\n label=\"Neutral color\"\r\n initialValue={\r\n neutralColor ||\r\n toColor('hex', hexFromArgb(neutralColorTonal.tone(40)))\r\n }\r\n onChange={(c) => setNeutralColor(c)}\r\n onReset={() => setNeutralColor(null)}\r\n resetDisabled={neutralColor === null}\r\n />\r\n </Box>\r\n <Box width=\"100%\">\r\n <Box display=\"flex\" flexDirection=\"column\" sx={{ gap: 4 }}>\r\n <Box flex=\"1\">\r\n <Text variant=\"title-medium\" as=\"h1\" pb={'0.3em'} pt={3}>\r\n Light theme\r\n </Text>\r\n <ThemeColors scheme={scheme} />\r\n </Box>\r\n <Box flex=\"1\">\r\n <Text variant=\"title-medium\" as=\"h1\" pb={'0.3em'} pt={3}>\r\n Dark theme\r\n </Text>\r\n <ThemeColors scheme={scheme.modes.dark} />\r\n </Box>\r\n </Box>\r\n <Box my={4} display=\"flex\" sx={{ gap: 3 }} flexDirection=\"column\">\r\n <Text variant=\"title-medium\" as=\"h1\" pb={'0.3em'} pt={3}>\r\n Palettes\r\n </Text>\r\n <TonalColors palette={a1} />\r\n <TonalColors palette={secondaryColorTonal} />\r\n <TonalColors palette={tertiaryColorTonal} />\r\n <TonalColors palette={error} />\r\n <TonalColors palette={neutralColorTonal} />\r\n <TonalColors palette={n2} />\r\n </Box>\r\n </Box>\r\n {/* Code pickers */}\r\n <Text variant=\"headline-small\">Theme</Text>\r\n <CodeHighlightingComponent className={`language-json`}>\r\n {JSON.stringify(newTheme, null, 2)}\r\n </CodeHighlightingComponent>\r\n <Text variant=\"headline-small\">Tailwind Theme</Text>\r\n <CodeHighlightingComponent className={`language-css`}>\r\n {makeTailwindThemeCSS(newTheme as any)}\r\n </CodeHighlightingComponent>\r\n </>\r\n );\r\n};\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"ThemeBuilder.js","names":["useState","useMemo","useEffect","useCallback","argbFromHex","hexFromArgb","TonalPalette","HCT","toColor","THEME_OVERRIDE_STORAGE_KEY","injectThemeOverride","transformTheme","loadGoogleFont","rem","remToPx","Box","TonalColors","ThemeColors","makeColorScheme","Text","useLocalStorageCachedState","useDeferredColor","FontAutoComplete","parseMainFont","BorderSlider","ColorSchemePicker","makeTailwindThemeCSS","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","DefaultHighlighter","props","as","fontFamily","fontSize","children","isCssVariableFont","font","Boolean","includes","resolveCssVariables","value","document","rootStyles","getComputedStyle","documentElement","replace","match","varName","resolvedValue","getPropertyValue","trim","getFontDisplayValue","fontStack","getStoredFont","fontStorageKey","storedFont","JSON","parse","localStorage","getItem","undefined","removeItem","err","formatThemeFont","fallback","saveFontOverride","setItem","stringify","ThemeBuilder","mounted","setMounted","ThemeBuilderImpl","baseTheme","theme","CodeHighlightingComponent","defaultPlainFontDisplayValue","fonts","plain","defaultBrandFontDisplayValue","brand","plainFont","_setPlainFont","brandFont","_setBrandFont","setPlainFont","setBrandFont","radiusExtraSmall","setRadiusExtraSmall","parseInt","radii","radiusSmall","setRadiusSmall","radiusMedium","setRadiusMedium","radiusLarge","setRadiusLarge","radiusExtraLarge","setRadiusExtraLarge","primaryColor","setPrimaryColor","colors","primary","a1","a2","a3","error","n1","n2","argb","hex","hct","fromInt","hue","fromHueAndChroma","Math","max","chroma","secondaryColor","secondaryColorTonal","setSecondaryColor","tertiaryColor","tertiaryColorTonal","setTertiaryColor","neutralColor","neutralColorTonal","setNeutralColor","scheme","secondary","tertiary","neutral","neutralVariant","newTheme","small","medium","large","large_end","large_top","colorModes","variant","display","my","sx","gap","flexWrap","label","defaultValue","onChange","v","onReset","resetDisabled","initialValue","onSelect","f","family","weights","c","tone","width","flexDirection","flex","pb","pt","modes","dark","palette","className"],"sources":["../../../src/ThemeExplorer/ThemeBuilder.tsx"],"sourcesContent":["'use client';\nimport type { ComponentType } from 'react';\nimport { useState, useMemo, useEffect, useCallback } from 'react';\nimport {\n argbFromHex,\n hexFromArgb,\n TonalPalette,\n HCT,\n} from '@material/material-color-utilities';\nimport type { Color } from '@basic-ui/color-picker';\nimport { toColor } from '@basic-ui/color-picker';\nimport {\n THEME_OVERRIDE_STORAGE_KEY,\n injectThemeOverride,\n transformTheme,\n loadGoogleFont,\n} from '@basic-ui/dynamic-theme';\nimport { rem } from 'polished';\nimport remToPx from 'polished/lib/helpers/remToPx';\n\nimport { Box } from '../Box';\nimport { TonalColors } from './components';\nimport { ThemeColors } from './ThemeColors';\nimport { makeColorScheme } from './makeColorScheme';\nimport { Text } from '../Text';\nimport { useLocalStorageCachedState } from './useLocalStorageCachedState';\nimport { useDeferredColor } from './useDeferredColor';\nimport { FontAutoComplete, parseMainFont } from './FontAutoComplete';\nimport type { Theme } from '../theme/theme';\nimport { BorderSlider } from './BorderSlider';\nimport { ColorSchemePicker } from './ColorSchemePicker';\nimport { makeTailwindThemeCSS } from './makeTailwindTheme';\n\nexport interface ThemeBuilderProps {\n CodeHighlightingComponent?: ComponentType<{\n children: string;\n className: string;\n showButtons?: boolean;\n }>;\n baseTheme: Theme;\n}\n\nfunction DefaultHighlighter(props: { children: string }) {\n return (\n <Box as=\"pre\" fontFamily=\"monospace\" fontSize=\"12px\">\n {props.children}\n </Box>\n );\n}\n\nfunction isCssVariableFont(font: string | undefined): boolean {\n return Boolean(font?.includes('var('));\n}\n\nfunction resolveCssVariables(value: string): string {\n if (typeof document === 'undefined') {\n return value;\n }\n\n const rootStyles = getComputedStyle(document.documentElement);\n return value.replace(/var\\((--[^,)]+)(?:,[^)]+)?\\)/g, (match, varName) => {\n const resolvedValue = rootStyles.getPropertyValue(varName).trim();\n return resolvedValue || match;\n });\n}\n\nfunction getFontDisplayValue(fontStack: string): string {\n return parseMainFont(resolveCssVariables(fontStack)) || fontStack;\n}\n\nfunction getStoredFont(fontStorageKey: string): string | undefined {\n try {\n const storedFont = JSON.parse(\n localStorage.getItem(fontStorageKey) || 'null'\n );\n if (typeof storedFont !== 'string' || !storedFont) {\n return undefined;\n }\n if (isCssVariableFont(storedFont)) {\n localStorage.removeItem(fontStorageKey);\n return undefined;\n }\n return storedFont;\n } catch (err) {\n return undefined;\n }\n}\n\nfunction formatThemeFont(font: string | undefined, fallback: string): string {\n if (!font) {\n return fallback;\n }\n if (isCssVariableFont(font) || font.includes(',')) {\n return font;\n }\n return `\"${font}\", sans-serif`;\n}\n\nfunction saveFontOverride(fontStorageKey: string, font: string): void {\n if (isCssVariableFont(font)) {\n localStorage.removeItem(fontStorageKey);\n return;\n }\n localStorage.setItem(fontStorageKey, JSON.stringify(font));\n}\n\nexport const ThemeBuilder = (props: ThemeBuilderProps) => {\n const [mounted, setMounted] = useState(false);\n useEffect(() => {\n setMounted(true);\n }, []);\n if (!mounted) return null;\n return <ThemeBuilderImpl {...props} />;\n};\n\nconst ThemeBuilderImpl = (props: ThemeBuilderProps) => {\n const { baseTheme: theme, CodeHighlightingComponent = DefaultHighlighter } =\n props;\n const defaultPlainFontDisplayValue = useMemo(\n () => getFontDisplayValue(theme.fonts.plain),\n [theme.fonts.plain]\n );\n const defaultBrandFontDisplayValue = useMemo(\n () => getFontDisplayValue(theme.fonts.brand),\n [theme.fonts.brand]\n );\n const [plainFont, _setPlainFont] = useState(\n () => getStoredFont('fontFamily.plain') || theme.fonts.plain\n );\n const [brandFont, _setBrandFont] = useState(\n () => getStoredFont('fontFamily.brand') || theme.fonts.brand\n );\n const setPlainFont = useCallback((font: string) => {\n _setPlainFont(font);\n saveFontOverride('fontFamily.plain', font);\n }, []);\n const setBrandFont = useCallback((font: string) => {\n _setBrandFont(font);\n saveFontOverride('fontFamily.brand', font);\n }, []);\n\n const [radiusExtraSmall, setRadiusExtraSmall] =\n useLocalStorageCachedState<number>(\n parseInt(remToPx(theme.radii['extra-small'])),\n 'radii.extra-small'\n );\n\n const [radiusSmall, setRadiusSmall] = useLocalStorageCachedState<number>(\n parseInt(remToPx(theme.radii['small'])),\n 'radii.small'\n );\n\n const [radiusMedium, setRadiusMedium] = useLocalStorageCachedState<number>(\n parseInt(remToPx(theme.radii['medium'])),\n 'radii.medium'\n );\n\n const [radiusLarge, setRadiusLarge] = useLocalStorageCachedState<number>(\n parseInt(remToPx(theme.radii['large'])),\n 'radii.large'\n );\n\n const [radiusExtraLarge, setRadiusExtraLarge] =\n useLocalStorageCachedState<number>(\n parseInt(remToPx(theme.radii['extra-large'])),\n 'radii.extra-large'\n );\n\n const [primaryColor, setPrimaryColor] = useLocalStorageCachedState<Color>(\n toColor('hex', theme.colors.primary),\n 'primary'\n );\n\n const { a1, a2, a3, error, n1, n2 } = useMemo(() => {\n /* This is from CorePalette.of(...) */\n const argb = argbFromHex(primaryColor.hex);\n const hct = HCT.fromInt(argb);\n const hue = hct.hue;\n return {\n a1: TonalPalette.fromHueAndChroma(hue, Math.max(48, hct.chroma)),\n a2: TonalPalette.fromHueAndChroma(hue, 16),\n a3: TonalPalette.fromHueAndChroma(hue + 60, 24),\n n1: TonalPalette.fromHueAndChroma(hue, 6),\n n2: TonalPalette.fromHueAndChroma(hue, 8),\n error: TonalPalette.fromHueAndChroma(25, 84),\n };\n }, [primaryColor.hex]);\n\n const [secondaryColor, secondaryColorTonal, setSecondaryColor] =\n useDeferredColor('secondary', a2);\n const [tertiaryColor, tertiaryColorTonal, setTertiaryColor] =\n useDeferredColor('tertiary', a3);\n const [neutralColor, neutralColorTonal, setNeutralColor] = useDeferredColor(\n 'neutral',\n n1\n );\n\n const scheme = useMemo(\n () =>\n makeColorScheme({\n primary: a1,\n secondary: secondaryColorTonal,\n tertiary: tertiaryColorTonal,\n error: error,\n neutral: neutralColorTonal,\n neutralVariant: n2,\n }),\n [a1, secondaryColorTonal, tertiaryColorTonal, error, neutralColorTonal, n2]\n );\n\n const newTheme = useMemo(\n () => ({\n colors: scheme,\n fonts: {\n plain: formatThemeFont(plainFont, theme.fonts.plain),\n brand: formatThemeFont(brandFont, theme.fonts.brand),\n },\n radii: {\n 'extra-small': rem(radiusExtraSmall),\n 'extra-small_top': `${rem(radiusExtraSmall)} ${rem(\n radiusExtraSmall\n )} 0 0`,\n small: rem(radiusSmall),\n medium: rem(radiusMedium),\n large: rem(radiusLarge),\n large_end: `0 ${rem(radiusLarge)} ${rem(radiusLarge)} 0`,\n large_top: `${rem(radiusLarge)} ${rem(radiusLarge)} 0 0`,\n 'extra-large': rem(radiusExtraLarge),\n 'extra-large_top': `${rem(radiusExtraLarge)} ${rem(\n radiusExtraLarge\n )} 0 0`,\n },\n }),\n [\n scheme,\n plainFont,\n brandFont,\n theme.fonts.plain,\n theme.fonts.brand,\n radiusExtraSmall,\n radiusSmall,\n radiusMedium,\n radiusLarge,\n radiusExtraLarge,\n ]\n );\n\n const colorModes = useMemo(\n () => transformTheme(newTheme, ['fonts', 'radii']).colorModes,\n [newTheme]\n );\n\n useEffect(() => {\n localStorage.setItem(\n THEME_OVERRIDE_STORAGE_KEY,\n JSON.stringify({ colorModes })\n );\n injectThemeOverride({ colorModes });\n }, [colorModes]);\n\n return (\n <>\n {/* Shape */}\n <Text variant=\"headline-small\">Shape</Text>\n <Box display=\"flex\" my={3} sx={{ gap: 3, flexWrap: 'wrap' }}>\n <BorderSlider\n label=\"Extra small\"\n defaultValue={radiusExtraSmall}\n onChange={(v) => setRadiusExtraSmall(v)}\n onReset={() => {\n setRadiusExtraSmall(parseInt(remToPx(theme.radii['extra-small'])));\n }}\n resetDisabled={rem(radiusExtraSmall) === theme.radii['extra-small']}\n />\n <BorderSlider\n label=\"Small\"\n defaultValue={radiusSmall}\n onChange={(v) => setRadiusSmall(v)}\n onReset={() => {\n setRadiusSmall(parseInt(remToPx(theme.radii['small'])));\n }}\n resetDisabled={rem(radiusSmall) === theme.radii.small}\n />\n <BorderSlider\n label=\"Medium\"\n defaultValue={radiusMedium}\n onChange={(v) => setRadiusMedium(v)}\n onReset={() => {\n setRadiusMedium(parseInt(remToPx(theme.radii['medium'])));\n }}\n resetDisabled={rem(radiusMedium) === theme.radii['medium']}\n />\n <BorderSlider\n label=\"Large\"\n defaultValue={radiusLarge}\n onChange={(v) => setRadiusLarge(v)}\n onReset={() => {\n setRadiusLarge(parseInt(remToPx(theme.radii['large'])));\n }}\n resetDisabled={rem(radiusLarge) === theme.radii['large']}\n />\n <BorderSlider\n label=\"Extra large\"\n defaultValue={radiusExtraLarge}\n onChange={(v) => setRadiusExtraLarge(v)}\n onReset={() => {\n setRadiusExtraLarge(parseInt(remToPx(theme.radii['extra-large'])));\n }}\n resetDisabled={rem(radiusExtraLarge) === theme.radii['extra-large']}\n />\n </Box>\n {/* Font pickers */}\n <Text variant=\"headline-small\">Typography</Text>\n <Box display=\"flex\" my={3} sx={{ gap: 3, flexWrap: 'wrap' }}>\n <FontAutoComplete\n label=\"Brand\"\n initialValue={\n brandFont === theme.fonts.brand\n ? defaultBrandFontDisplayValue\n : brandFont\n }\n onSelect={(f) => {\n if (f) {\n setBrandFont(f);\n loadGoogleFont([\n { family: f, weights: [300, 400, 500, 600, 700] },\n ]);\n }\n }}\n onReset={() => {\n setBrandFont(theme.fonts.brand);\n }}\n resetDisabled={brandFont === theme.fonts.brand}\n />\n <FontAutoComplete\n label=\"Plain\"\n initialValue={\n plainFont === theme.fonts.plain\n ? defaultPlainFontDisplayValue\n : plainFont\n }\n onSelect={(f) => {\n if (f) {\n setPlainFont(f);\n loadGoogleFont([\n { family: f, weights: [300, 400, 500, 600, 700] },\n ]);\n }\n }}\n onReset={() => {\n setPlainFont(theme.fonts.plain);\n }}\n resetDisabled={plainFont === theme.fonts.plain}\n />\n </Box>\n {/* Color pickers */}\n <Text variant=\"headline-small\">Color schemes</Text>\n <Box display=\"flex\" my={3} sx={{ gap: 3, flexWrap: 'wrap' }}>\n <ColorSchemePicker\n label=\"Primary color\"\n initialValue={primaryColor}\n onChange={(c) => setPrimaryColor(c)}\n onReset={() => setPrimaryColor(toColor('hex', theme.colors.primary))}\n resetDisabled={\n primaryColor.hex === toColor('hex', theme.colors.primary).hex\n }\n />\n <ColorSchemePicker\n label=\"Secondary color\"\n initialValue={\n secondaryColor ||\n toColor('hex', hexFromArgb(secondaryColorTonal.tone(40)))\n }\n onChange={(c) => setSecondaryColor(c)}\n onReset={() => setSecondaryColor(null)}\n resetDisabled={secondaryColor === null}\n />\n <ColorSchemePicker\n label=\"Tertiary color\"\n initialValue={\n tertiaryColor ||\n toColor('hex', hexFromArgb(tertiaryColorTonal.tone(40)))\n }\n onChange={(c) => setTertiaryColor(c)}\n onReset={() => setTertiaryColor(null)}\n resetDisabled={tertiaryColor === null}\n />\n <ColorSchemePicker\n label=\"Neutral color\"\n initialValue={\n neutralColor ||\n toColor('hex', hexFromArgb(neutralColorTonal.tone(40)))\n }\n onChange={(c) => setNeutralColor(c)}\n onReset={() => setNeutralColor(null)}\n resetDisabled={neutralColor === null}\n />\n </Box>\n <Box width=\"100%\">\n <Box display=\"flex\" flexDirection=\"column\" sx={{ gap: 4 }}>\n <Box flex=\"1\">\n <Text variant=\"title-medium\" as=\"h1\" pb={'0.3em'} pt={3}>\n Light theme\n </Text>\n <ThemeColors scheme={scheme} />\n </Box>\n <Box flex=\"1\">\n <Text variant=\"title-medium\" as=\"h1\" pb={'0.3em'} pt={3}>\n Dark theme\n </Text>\n <ThemeColors scheme={scheme.modes.dark} />\n </Box>\n </Box>\n <Box my={4} display=\"flex\" sx={{ gap: 3 }} flexDirection=\"column\">\n <Text variant=\"title-medium\" as=\"h1\" pb={'0.3em'} pt={3}>\n Palettes\n </Text>\n <TonalColors palette={a1} />\n <TonalColors palette={secondaryColorTonal} />\n <TonalColors palette={tertiaryColorTonal} />\n <TonalColors palette={error} />\n <TonalColors palette={neutralColorTonal} />\n <TonalColors palette={n2} />\n </Box>\n </Box>\n {/* Code pickers */}\n <Text variant=\"headline-small\">Theme</Text>\n <CodeHighlightingComponent className={`language-json`}>\n {JSON.stringify(newTheme, null, 2)}\n </CodeHighlightingComponent>\n <Text variant=\"headline-small\">Tailwind Theme</Text>\n <CodeHighlightingComponent className={`language-css`}>\n {makeTailwindThemeCSS(newTheme as any)}\n </CodeHighlightingComponent>\n </>\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,4 @@
1
- /// <reference types="react" />
2
- import type { makeColorScheme } from './makeColorScheme';
3
- export declare const ThemeColors: import("react").MemoExoticComponent<({ scheme, }: {
4
- scheme: Omit<ReturnType<typeof makeColorScheme>, 'modes'>;
5
- }) => JSX.Element>;
1
+ import type { makeColorScheme } from './makeColorScheme';
2
+ export declare const ThemeColors: import("react").MemoExoticComponent<({ scheme, }: {
3
+ scheme: Omit<ReturnType<typeof makeColorScheme>, "modes">;
4
+ }) => import("react/jsx-runtime").JSX.Element>;