@dxos/react-ui 0.1.12 → 0.1.14

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 (493) hide show
  1. package/README.md +83 -5
  2. package/dist/lib/browser/index.mjs +2092 -0
  3. package/dist/lib/browser/index.mjs.map +7 -0
  4. package/dist/lib/browser/meta.json +1 -0
  5. package/dist/plugin/node/esbuild-plugin.cjs +469 -0
  6. package/dist/plugin/node/esbuild-plugin.cjs.map +7 -0
  7. package/dist/plugin/node/meta.json +1 -0
  8. package/dist/plugin/node/plugin.cjs +460 -0
  9. package/dist/plugin/node/plugin.cjs.map +7 -0
  10. package/dist/{src → plugin/node}/theme.css +15 -19
  11. package/dist/plugin/node/theme.css.map +7 -0
  12. package/dist/{src → types/src}/components/Alert/Alert.d.ts +7 -2
  13. package/dist/types/src/components/Alert/Alert.d.ts.map +1 -0
  14. package/dist/{src → types/src}/components/Alert/Alert.stories.d.ts +1 -1
  15. package/dist/types/src/components/Alert/Alert.stories.d.ts.map +1 -0
  16. package/dist/{src → types/src}/components/Alert/index.d.ts +0 -0
  17. package/dist/types/src/components/Alert/index.d.ts.map +1 -0
  18. package/dist/types/src/components/AlertDialog/AlertDialog.d.ts +26 -0
  19. package/dist/types/src/components/AlertDialog/AlertDialog.d.ts.map +1 -0
  20. package/dist/{src → types/src}/components/AlertDialog/AlertDialog.stories.d.ts +1 -1
  21. package/dist/types/src/components/AlertDialog/AlertDialog.stories.d.ts.map +1 -0
  22. package/dist/{src → types/src}/components/AlertDialog/index.d.ts +0 -0
  23. package/dist/types/src/components/AlertDialog/index.d.ts.map +1 -0
  24. package/dist/types/src/components/Avatar/Avatar.d.ts +22 -0
  25. package/dist/types/src/components/Avatar/Avatar.d.ts.map +1 -0
  26. package/dist/types/src/components/Avatar/Avatar.stories.d.ts +12 -0
  27. package/dist/types/src/components/Avatar/Avatar.stories.d.ts.map +1 -0
  28. package/dist/{src → types/src}/components/Avatar/index.d.ts +0 -0
  29. package/dist/types/src/components/Avatar/index.d.ts.map +1 -0
  30. package/dist/types/src/components/Button/Button.d.ts +4 -0
  31. package/dist/types/src/components/Button/Button.d.ts.map +1 -0
  32. package/dist/types/src/components/Button/Button.stories.d.ts +13 -0
  33. package/dist/types/src/components/Button/Button.stories.d.ts.map +1 -0
  34. package/dist/{src → types/src}/components/Button/ButtonGroup.d.ts +0 -0
  35. package/dist/types/src/components/Button/ButtonGroup.d.ts.map +1 -0
  36. package/dist/{src → types/src}/components/Button/ButtonProps.d.ts +0 -2
  37. package/dist/types/src/components/Button/ButtonProps.d.ts.map +1 -0
  38. package/dist/{src → types/src}/components/Button/buttonStyles.d.ts +0 -0
  39. package/dist/types/src/components/Button/buttonStyles.d.ts.map +1 -0
  40. package/dist/{src → types/src}/components/Button/index.d.ts +0 -0
  41. package/dist/types/src/components/Button/index.d.ts.map +1 -0
  42. package/dist/{src → types/src}/components/CompoundButton/CompoundButton.d.ts +0 -0
  43. package/dist/types/src/components/CompoundButton/CompoundButton.d.ts.map +1 -0
  44. package/dist/{src → types/src}/components/CompoundButton/CompoundButton.stories.d.ts +0 -0
  45. package/dist/types/src/components/CompoundButton/CompoundButton.stories.d.ts.map +1 -0
  46. package/dist/{src → types/src}/components/CompoundButton/index.d.ts +0 -0
  47. package/dist/types/src/components/CompoundButton/index.d.ts.map +1 -0
  48. package/dist/types/src/components/Dialog/Dialog.d.ts +26 -0
  49. package/dist/types/src/components/Dialog/Dialog.d.ts.map +1 -0
  50. package/dist/{src → types/src}/components/Dialog/Dialog.stories.d.ts +1 -1
  51. package/dist/types/src/components/Dialog/Dialog.stories.d.ts.map +1 -0
  52. package/dist/{src → types/src}/components/Dialog/index.d.ts +0 -0
  53. package/dist/types/src/components/Dialog/index.d.ts.map +1 -0
  54. package/dist/{src → types/src}/components/Group/Group.d.ts +1 -1
  55. package/dist/types/src/components/Group/Group.d.ts.map +1 -0
  56. package/dist/{src → types/src}/components/Group/Group.stories.d.ts +1 -1
  57. package/dist/types/src/components/Group/Group.stories.d.ts.map +1 -0
  58. package/dist/{src → types/src}/components/Group/index.d.ts +0 -0
  59. package/dist/types/src/components/Group/index.d.ts.map +1 -0
  60. package/dist/{src → types/src}/components/Heading/Heading.d.ts +5 -8
  61. package/dist/types/src/components/Heading/Heading.d.ts.map +1 -0
  62. package/dist/{src → types/src}/components/Heading/Heading.stories.d.ts +5 -8
  63. package/dist/{src → types/src}/components/Heading/Heading.stories.d.ts.map +1 -1
  64. package/dist/{src → types/src}/components/Heading/index.d.ts +0 -0
  65. package/dist/types/src/components/Heading/index.d.ts.map +1 -0
  66. package/dist/{src → types/src}/components/Input/BarePinInput.d.ts +17 -16
  67. package/dist/types/src/components/Input/BarePinInput.d.ts.map +1 -0
  68. package/dist/types/src/components/Input/BareTextInput.d.ts +7 -0
  69. package/dist/types/src/components/Input/BareTextInput.d.ts.map +1 -0
  70. package/dist/types/src/components/Input/BareTextareaInput.d.ts +7 -0
  71. package/dist/types/src/components/Input/BareTextareaInput.d.ts.map +1 -0
  72. package/dist/types/src/components/Input/Input.d.ts +4 -0
  73. package/dist/types/src/components/Input/Input.d.ts.map +1 -0
  74. package/dist/{src → types/src}/components/Input/Input.stories.d.ts +1 -1
  75. package/dist/types/src/components/Input/Input.stories.d.ts.map +1 -0
  76. package/dist/types/src/components/Input/InputProps.d.ts +37 -0
  77. package/dist/types/src/components/Input/InputProps.d.ts.map +1 -0
  78. package/dist/{src → types/src}/components/Input/index.d.ts +0 -0
  79. package/dist/types/src/components/Input/index.d.ts.map +1 -0
  80. package/dist/types/src/components/Loading/Loading.d.ts +15 -0
  81. package/dist/types/src/components/Loading/Loading.d.ts.map +1 -0
  82. package/dist/{src → types/src}/components/Loading/Loading.stories.d.ts +1 -3
  83. package/dist/types/src/components/Loading/Loading.stories.d.ts.map +1 -0
  84. package/dist/{src → types/src}/components/Loading/index.d.ts +0 -0
  85. package/dist/types/src/components/Loading/index.d.ts.map +1 -0
  86. package/dist/{src → types/src}/components/NavMenu/NavMenu.d.ts +11 -3
  87. package/dist/types/src/components/NavMenu/NavMenu.d.ts.map +1 -0
  88. package/dist/{src → types/src}/components/NavMenu/NavMenu.stories.d.ts +1 -1
  89. package/dist/types/src/components/NavMenu/NavMenu.stories.d.ts.map +1 -0
  90. package/dist/{src → types/src}/components/NavMenu/index.d.ts +0 -0
  91. package/dist/types/src/components/NavMenu/index.d.ts.map +1 -0
  92. package/dist/types/src/components/Popover/Popover.d.ts +21 -0
  93. package/dist/types/src/components/Popover/Popover.d.ts.map +1 -0
  94. package/dist/{src → types/src}/components/Popover/Popover.stories.d.ts +1 -1
  95. package/dist/types/src/components/Popover/Popover.stories.d.ts.map +1 -0
  96. package/dist/{src → types/src}/components/Popover/index.d.ts +0 -0
  97. package/dist/types/src/components/Popover/index.d.ts.map +1 -0
  98. package/dist/types/src/components/QrCode/QrCode.d.ts +39 -0
  99. package/dist/types/src/components/QrCode/QrCode.d.ts.map +1 -0
  100. package/dist/{src → types/src}/components/QrCode/QrCode.stories.d.ts +1 -1
  101. package/dist/types/src/components/QrCode/QrCode.stories.d.ts.map +1 -0
  102. package/dist/{src → types/src}/components/QrCode/index.d.ts +0 -0
  103. package/dist/types/src/components/QrCode/index.d.ts.map +1 -0
  104. package/dist/types/src/components/Tag/Tag.d.ts +8 -0
  105. package/dist/types/src/components/Tag/Tag.d.ts.map +1 -0
  106. package/dist/{src → types/src}/components/Tag/Tag.stories.d.ts +1 -1
  107. package/dist/types/src/components/Tag/Tag.stories.d.ts.map +1 -0
  108. package/dist/{src → types/src}/components/Tag/index.d.ts +0 -0
  109. package/dist/types/src/components/Tag/index.d.ts.map +1 -0
  110. package/dist/{src → types/src}/components/Toast/Toast.d.ts +10 -1
  111. package/dist/types/src/components/Toast/Toast.d.ts.map +1 -0
  112. package/dist/{src → types/src}/components/Toast/Toast.stories.d.ts +1 -1
  113. package/dist/types/src/components/Toast/Toast.stories.d.ts.map +1 -0
  114. package/dist/{src → types/src}/components/Toast/index.d.ts +0 -0
  115. package/dist/types/src/components/Toast/index.d.ts.map +1 -0
  116. package/dist/types/src/components/Tooltip/Tooltip.d.ts +19 -0
  117. package/dist/types/src/components/Tooltip/Tooltip.d.ts.map +1 -0
  118. package/dist/{src → types/src}/components/Tooltip/Tooltip.stories.d.ts +1 -1
  119. package/dist/types/src/components/Tooltip/Tooltip.stories.d.ts.map +1 -0
  120. package/dist/{src → types/src}/components/Tooltip/index.d.ts +0 -0
  121. package/dist/types/src/components/Tooltip/index.d.ts.map +1 -0
  122. package/dist/{src → types/src}/components/UiProvider/UiProvider.d.ts +1 -1
  123. package/dist/types/src/components/UiProvider/UiProvider.d.ts.map +1 -0
  124. package/dist/{src → types/src}/components/UiProvider/index.d.ts +0 -0
  125. package/dist/types/src/components/UiProvider/index.d.ts.map +1 -0
  126. package/dist/{src → types/src}/components/index.d.ts +0 -0
  127. package/dist/types/src/components/index.d.ts.map +1 -0
  128. package/dist/types/src/config/index.d.ts +2 -0
  129. package/dist/types/src/config/index.d.ts.map +1 -0
  130. package/dist/types/src/config/tailwind.d.ts +7 -0
  131. package/dist/types/src/config/tailwind.d.ts.map +1 -0
  132. package/dist/types/src/esbuild-plugin.d.ts +6 -0
  133. package/dist/types/src/esbuild-plugin.d.ts.map +1 -0
  134. package/dist/{src → types/src}/hooks/index.d.ts +0 -0
  135. package/dist/types/src/hooks/index.d.ts.map +1 -0
  136. package/dist/{src → types/src}/hooks/useForwardedRef.d.ts +0 -0
  137. package/dist/types/src/hooks/useForwardedRef.d.ts.map +1 -0
  138. package/dist/{src → types/src}/hooks/useId.d.ts +0 -0
  139. package/dist/types/src/hooks/useId.d.ts.map +1 -0
  140. package/dist/{src → types/src}/hooks/useIsFocused.d.ts +0 -0
  141. package/dist/types/src/hooks/useIsFocused.d.ts.map +1 -0
  142. package/dist/{src → types/src}/index.d.ts +3 -2
  143. package/dist/types/src/index.d.ts.map +1 -0
  144. package/dist/{src → types/src}/plugin.d.ts +1 -1
  145. package/dist/types/src/plugin.d.ts.map +1 -0
  146. package/dist/types/src/props/Elevation.d.ts +2 -0
  147. package/dist/types/src/props/Elevation.d.ts.map +1 -0
  148. package/dist/types/src/props/MessageValence.d.ts +2 -0
  149. package/dist/types/src/props/MessageValence.d.ts.map +1 -0
  150. package/dist/types/src/props/Size.d.ts +2 -0
  151. package/dist/types/src/props/Size.d.ts.map +1 -0
  152. package/dist/{src → types/src}/props/index.d.ts +0 -0
  153. package/dist/types/src/props/index.d.ts.map +1 -0
  154. package/dist/{src → types/src}/styles/active.d.ts +0 -0
  155. package/dist/types/src/styles/active.d.ts.map +1 -0
  156. package/dist/{src → types/src}/styles/disabled.d.ts +0 -0
  157. package/dist/types/src/styles/disabled.d.ts.map +1 -0
  158. package/dist/{src → types/src}/styles/focus.d.ts +0 -0
  159. package/dist/types/src/styles/focus.d.ts.map +1 -0
  160. package/dist/{src → types/src}/styles/group.d.ts +0 -0
  161. package/dist/types/src/styles/group.d.ts.map +1 -0
  162. package/dist/{src → types/src}/styles/hover.d.ts +0 -0
  163. package/dist/types/src/styles/hover.d.ts.map +1 -0
  164. package/dist/{src → types/src}/styles/index.d.ts +0 -0
  165. package/dist/types/src/styles/index.d.ts.map +1 -0
  166. package/dist/types/src/styles/input.d.ts +11 -0
  167. package/dist/types/src/styles/input.d.ts.map +1 -0
  168. package/dist/{src → types/src}/styles/ornament.d.ts +0 -0
  169. package/dist/types/src/styles/ornament.d.ts.map +1 -0
  170. package/dist/{src → types/src}/styles/shimmer.d.ts +0 -0
  171. package/dist/types/src/styles/shimmer.d.ts.map +1 -0
  172. package/dist/{src → types/src}/styles/size.d.ts +1 -1
  173. package/dist/types/src/styles/size.d.ts.map +1 -0
  174. package/dist/{src → types/src}/styles/text.d.ts +0 -0
  175. package/dist/types/src/styles/text.d.ts.map +1 -0
  176. package/dist/{src → types/src}/styles/valence.d.ts +0 -0
  177. package/dist/types/src/styles/valence.d.ts.map +1 -0
  178. package/dist/{src → types/src}/testing/index.d.ts +0 -0
  179. package/dist/types/src/testing/index.d.ts.map +1 -0
  180. package/dist/{src → types/src}/testing/templateForComponent.d.ts +0 -0
  181. package/dist/types/src/testing/templateForComponent.d.ts.map +1 -0
  182. package/dist/types/src/util/index.d.ts +2 -0
  183. package/dist/types/src/util/index.d.ts.map +1 -0
  184. package/dist/types/src/util/mx.d.ts +2 -0
  185. package/dist/types/src/util/mx.d.ts.map +1 -0
  186. package/dist/types/src/util/withLogical.d.ts +3 -0
  187. package/dist/types/src/util/withLogical.d.ts.map +1 -0
  188. package/package.json +9 -5
  189. package/plugin.d.ts +1 -1
  190. package/plugin.js +1 -1
  191. package/src/components/Alert/Alert.tsx +12 -6
  192. package/src/components/AlertDialog/AlertDialog.tsx +31 -11
  193. package/src/components/Avatar/Avatar.tsx +35 -13
  194. package/src/components/Button/Button.tsx +11 -13
  195. package/src/components/Button/ButtonGroup.tsx +3 -2
  196. package/src/components/Button/ButtonProps.ts +0 -2
  197. package/src/components/Button/buttonStyles.ts +4 -7
  198. package/src/components/CompoundButton/CompoundButton.tsx +3 -3
  199. package/src/components/Dialog/Dialog.tsx +47 -14
  200. package/src/components/Group/Group.tsx +10 -5
  201. package/src/components/Heading/Heading.tsx +5 -4
  202. package/src/components/Input/BarePinInput.tsx +18 -13
  203. package/src/components/Input/BareTextInput.tsx +18 -15
  204. package/src/components/Input/BareTextareaInput.tsx +17 -16
  205. package/src/components/Input/Input.tsx +17 -23
  206. package/src/components/Input/InputProps.ts +23 -11
  207. package/src/components/Loading/Loading.tsx +18 -8
  208. package/src/components/NavMenu/NavMenu.stories.tsx +1 -1
  209. package/src/components/NavMenu/NavMenu.tsx +42 -19
  210. package/src/components/Popover/Popover.stories.tsx +7 -3
  211. package/src/components/Popover/Popover.tsx +54 -20
  212. package/src/components/QrCode/QrCode.tsx +61 -49
  213. package/src/components/Tag/Tag.tsx +6 -6
  214. package/src/components/Toast/Toast.tsx +48 -26
  215. package/src/components/Tooltip/Tooltip.tsx +32 -13
  216. package/src/components/UiProvider/UiProvider.tsx +3 -3
  217. package/src/config/index.ts +5 -0
  218. package/src/config/tailwind.ts +250 -0
  219. package/src/esbuild-plugin.ts +42 -0
  220. package/src/index.ts +3 -2
  221. package/src/plugin.ts +5 -240
  222. package/src/styles/active.ts +2 -2
  223. package/src/styles/group.ts +2 -3
  224. package/src/styles/input.ts +7 -26
  225. package/src/styles/size.ts +3 -4
  226. package/src/typings.d.ts +0 -1
  227. package/src/util/index.ts +5 -0
  228. package/src/util/mx.ts +28 -0
  229. package/src/util/withLogical.ts +103 -0
  230. package/dist/src/components/Alert/Alert.d.ts.map +0 -1
  231. package/dist/src/components/Alert/Alert.js +0 -21
  232. package/dist/src/components/Alert/Alert.js.map +0 -1
  233. package/dist/src/components/Alert/Alert.stories.d.ts.map +0 -1
  234. package/dist/src/components/Alert/Alert.stories.js +0 -30
  235. package/dist/src/components/Alert/Alert.stories.js.map +0 -1
  236. package/dist/src/components/Alert/index.d.ts.map +0 -1
  237. package/dist/src/components/Alert/index.js +0 -21
  238. package/dist/src/components/Alert/index.js.map +0 -1
  239. package/dist/src/components/AlertDialog/AlertDialog.d.ts +0 -17
  240. package/dist/src/components/AlertDialog/AlertDialog.d.ts.map +0 -1
  241. package/dist/src/components/AlertDialog/AlertDialog.js +0 -65
  242. package/dist/src/components/AlertDialog/AlertDialog.js.map +0 -1
  243. package/dist/src/components/AlertDialog/AlertDialog.stories.d.ts.map +0 -1
  244. package/dist/src/components/AlertDialog/AlertDialog.stories.js +0 -37
  245. package/dist/src/components/AlertDialog/AlertDialog.stories.js.map +0 -1
  246. package/dist/src/components/AlertDialog/index.d.ts.map +0 -1
  247. package/dist/src/components/AlertDialog/index.js +0 -21
  248. package/dist/src/components/AlertDialog/index.js.map +0 -1
  249. package/dist/src/components/Avatar/Avatar.d.ts +0 -13
  250. package/dist/src/components/Avatar/Avatar.d.ts.map +0 -1
  251. package/dist/src/components/Avatar/Avatar.js +0 -53
  252. package/dist/src/components/Avatar/Avatar.js.map +0 -1
  253. package/dist/src/components/Avatar/Avatar.stories.d.ts +0 -10
  254. package/dist/src/components/Avatar/Avatar.stories.d.ts.map +0 -1
  255. package/dist/src/components/Avatar/Avatar.stories.js +0 -30
  256. package/dist/src/components/Avatar/Avatar.stories.js.map +0 -1
  257. package/dist/src/components/Avatar/index.d.ts.map +0 -1
  258. package/dist/src/components/Avatar/index.js +0 -21
  259. package/dist/src/components/Avatar/index.js.map +0 -1
  260. package/dist/src/components/Button/Button.d.ts +0 -4
  261. package/dist/src/components/Button/Button.d.ts.map +0 -1
  262. package/dist/src/components/Button/Button.js +0 -37
  263. package/dist/src/components/Button/Button.js.map +0 -1
  264. package/dist/src/components/Button/Button.stories.d.ts +0 -13
  265. package/dist/src/components/Button/Button.stories.d.ts.map +0 -1
  266. package/dist/src/components/Button/Button.stories.js +0 -33
  267. package/dist/src/components/Button/Button.stories.js.map +0 -1
  268. package/dist/src/components/Button/ButtonGroup.d.ts.map +0 -1
  269. package/dist/src/components/Button/ButtonGroup.js +0 -16
  270. package/dist/src/components/Button/ButtonGroup.js.map +0 -1
  271. package/dist/src/components/Button/ButtonProps.d.ts.map +0 -1
  272. package/dist/src/components/Button/ButtonProps.js +0 -6
  273. package/dist/src/components/Button/ButtonProps.js.map +0 -1
  274. package/dist/src/components/Button/buttonStyles.d.ts.map +0 -1
  275. package/dist/src/components/Button/buttonStyles.js +0 -26
  276. package/dist/src/components/Button/buttonStyles.js.map +0 -1
  277. package/dist/src/components/Button/index.d.ts.map +0 -1
  278. package/dist/src/components/Button/index.js +0 -24
  279. package/dist/src/components/Button/index.js.map +0 -1
  280. package/dist/src/components/CompoundButton/CompoundButton.d.ts.map +0 -1
  281. package/dist/src/components/CompoundButton/CompoundButton.js +0 -27
  282. package/dist/src/components/CompoundButton/CompoundButton.js.map +0 -1
  283. package/dist/src/components/CompoundButton/CompoundButton.stories.d.ts.map +0 -1
  284. package/dist/src/components/CompoundButton/CompoundButton.stories.js +0 -40
  285. package/dist/src/components/CompoundButton/CompoundButton.stories.js.map +0 -1
  286. package/dist/src/components/CompoundButton/index.d.ts.map +0 -1
  287. package/dist/src/components/CompoundButton/index.js +0 -21
  288. package/dist/src/components/CompoundButton/index.js.map +0 -1
  289. package/dist/src/components/Dialog/Dialog.d.ts +0 -14
  290. package/dist/src/components/Dialog/Dialog.d.ts.map +0 -1
  291. package/dist/src/components/Dialog/Dialog.js +0 -59
  292. package/dist/src/components/Dialog/Dialog.js.map +0 -1
  293. package/dist/src/components/Dialog/Dialog.stories.d.ts.map +0 -1
  294. package/dist/src/components/Dialog/Dialog.stories.js +0 -37
  295. package/dist/src/components/Dialog/Dialog.stories.js.map +0 -1
  296. package/dist/src/components/Dialog/index.d.ts.map +0 -1
  297. package/dist/src/components/Dialog/index.js +0 -21
  298. package/dist/src/components/Dialog/index.js.map +0 -1
  299. package/dist/src/components/Group/Group.d.ts.map +0 -1
  300. package/dist/src/components/Group/Group.js +0 -22
  301. package/dist/src/components/Group/Group.js.map +0 -1
  302. package/dist/src/components/Group/Group.stories.d.ts.map +0 -1
  303. package/dist/src/components/Group/Group.stories.js +0 -27
  304. package/dist/src/components/Group/Group.stories.js.map +0 -1
  305. package/dist/src/components/Group/index.d.ts.map +0 -1
  306. package/dist/src/components/Group/index.js +0 -21
  307. package/dist/src/components/Group/index.js.map +0 -1
  308. package/dist/src/components/Heading/Heading.d.ts.map +0 -1
  309. package/dist/src/components/Heading/Heading.js +0 -28
  310. package/dist/src/components/Heading/Heading.js.map +0 -1
  311. package/dist/src/components/Heading/Heading.stories.js +0 -34
  312. package/dist/src/components/Heading/Heading.stories.js.map +0 -1
  313. package/dist/src/components/Heading/index.d.ts.map +0 -1
  314. package/dist/src/components/Heading/index.js +0 -21
  315. package/dist/src/components/Heading/index.js.map +0 -1
  316. package/dist/src/components/Input/BarePinInput.d.ts.map +0 -1
  317. package/dist/src/components/Input/BarePinInput.js +0 -62
  318. package/dist/src/components/Input/BarePinInput.js.map +0 -1
  319. package/dist/src/components/Input/BareTextInput.d.ts +0 -5
  320. package/dist/src/components/Input/BareTextInput.d.ts.map +0 -1
  321. package/dist/src/components/Input/BareTextInput.js +0 -29
  322. package/dist/src/components/Input/BareTextInput.js.map +0 -1
  323. package/dist/src/components/Input/BareTextareaInput.d.ts +0 -5
  324. package/dist/src/components/Input/BareTextareaInput.d.ts.map +0 -1
  325. package/dist/src/components/Input/BareTextareaInput.js +0 -23
  326. package/dist/src/components/Input/BareTextareaInput.js.map +0 -1
  327. package/dist/src/components/Input/Input.d.ts +0 -4
  328. package/dist/src/components/Input/Input.d.ts.map +0 -1
  329. package/dist/src/components/Input/Input.js +0 -87
  330. package/dist/src/components/Input/Input.js.map +0 -1
  331. package/dist/src/components/Input/Input.stories.d.ts.map +0 -1
  332. package/dist/src/components/Input/Input.stories.js +0 -86
  333. package/dist/src/components/Input/Input.stories.js.map +0 -1
  334. package/dist/src/components/Input/InputProps.d.ts +0 -26
  335. package/dist/src/components/Input/InputProps.d.ts.map +0 -1
  336. package/dist/src/components/Input/InputProps.js +0 -6
  337. package/dist/src/components/Input/InputProps.js.map +0 -1
  338. package/dist/src/components/Input/index.d.ts.map +0 -1
  339. package/dist/src/components/Input/index.js +0 -21
  340. package/dist/src/components/Input/index.js.map +0 -1
  341. package/dist/src/components/Loading/Loading.d.ts +0 -12
  342. package/dist/src/components/Loading/Loading.d.ts.map +0 -1
  343. package/dist/src/components/Loading/Loading.js +0 -29
  344. package/dist/src/components/Loading/Loading.js.map +0 -1
  345. package/dist/src/components/Loading/Loading.stories.d.ts.map +0 -1
  346. package/dist/src/components/Loading/Loading.stories.js +0 -39
  347. package/dist/src/components/Loading/Loading.stories.js.map +0 -1
  348. package/dist/src/components/Loading/index.d.ts.map +0 -1
  349. package/dist/src/components/Loading/index.js +0 -21
  350. package/dist/src/components/Loading/index.js.map +0 -1
  351. package/dist/src/components/NavMenu/NavMenu.d.ts.map +0 -1
  352. package/dist/src/components/NavMenu/NavMenu.js +0 -71
  353. package/dist/src/components/NavMenu/NavMenu.js.map +0 -1
  354. package/dist/src/components/NavMenu/NavMenu.stories.d.ts.map +0 -1
  355. package/dist/src/components/NavMenu/NavMenu.stories.js +0 -50
  356. package/dist/src/components/NavMenu/NavMenu.stories.js.map +0 -1
  357. package/dist/src/components/NavMenu/index.d.ts.map +0 -1
  358. package/dist/src/components/NavMenu/index.js +0 -21
  359. package/dist/src/components/NavMenu/index.js.map +0 -1
  360. package/dist/src/components/Popover/Popover.d.ts +0 -11
  361. package/dist/src/components/Popover/Popover.d.ts.map +0 -1
  362. package/dist/src/components/Popover/Popover.js +0 -56
  363. package/dist/src/components/Popover/Popover.js.map +0 -1
  364. package/dist/src/components/Popover/Popover.stories.d.ts.map +0 -1
  365. package/dist/src/components/Popover/Popover.stories.js +0 -39
  366. package/dist/src/components/Popover/Popover.stories.js.map +0 -1
  367. package/dist/src/components/Popover/index.d.ts.map +0 -1
  368. package/dist/src/components/Popover/index.js +0 -21
  369. package/dist/src/components/Popover/index.js.map +0 -1
  370. package/dist/src/components/QrCode/QrCode.d.ts +0 -22
  371. package/dist/src/components/QrCode/QrCode.d.ts.map +0 -1
  372. package/dist/src/components/QrCode/QrCode.js +0 -79
  373. package/dist/src/components/QrCode/QrCode.js.map +0 -1
  374. package/dist/src/components/QrCode/QrCode.stories.d.ts.map +0 -1
  375. package/dist/src/components/QrCode/QrCode.stories.js +0 -42
  376. package/dist/src/components/QrCode/QrCode.stories.js.map +0 -1
  377. package/dist/src/components/QrCode/index.d.ts.map +0 -1
  378. package/dist/src/components/QrCode/index.js +0 -21
  379. package/dist/src/components/QrCode/index.js.map +0 -1
  380. package/dist/src/components/Tag/Tag.d.ts +0 -8
  381. package/dist/src/components/Tag/Tag.d.ts.map +0 -1
  382. package/dist/src/components/Tag/Tag.js +0 -23
  383. package/dist/src/components/Tag/Tag.js.map +0 -1
  384. package/dist/src/components/Tag/Tag.stories.d.ts.map +0 -1
  385. package/dist/src/components/Tag/Tag.stories.js +0 -24
  386. package/dist/src/components/Tag/Tag.stories.js.map +0 -1
  387. package/dist/src/components/Tag/index.d.ts.map +0 -1
  388. package/dist/src/components/Tag/index.js +0 -21
  389. package/dist/src/components/Tag/index.js.map +0 -1
  390. package/dist/src/components/Toast/Toast.d.ts.map +0 -1
  391. package/dist/src/components/Toast/Toast.js +0 -54
  392. package/dist/src/components/Toast/Toast.js.map +0 -1
  393. package/dist/src/components/Toast/Toast.stories.d.ts.map +0 -1
  394. package/dist/src/components/Toast/Toast.stories.js +0 -32
  395. package/dist/src/components/Toast/Toast.stories.js.map +0 -1
  396. package/dist/src/components/Toast/index.d.ts.map +0 -1
  397. package/dist/src/components/Toast/index.js +0 -21
  398. package/dist/src/components/Toast/index.js.map +0 -1
  399. package/dist/src/components/Tooltip/Tooltip.d.ts +0 -12
  400. package/dist/src/components/Tooltip/Tooltip.d.ts.map +0 -1
  401. package/dist/src/components/Tooltip/Tooltip.js +0 -50
  402. package/dist/src/components/Tooltip/Tooltip.js.map +0 -1
  403. package/dist/src/components/Tooltip/Tooltip.stories.d.ts.map +0 -1
  404. package/dist/src/components/Tooltip/Tooltip.stories.js +0 -30
  405. package/dist/src/components/Tooltip/Tooltip.stories.js.map +0 -1
  406. package/dist/src/components/Tooltip/index.d.ts.map +0 -1
  407. package/dist/src/components/Tooltip/index.js +0 -21
  408. package/dist/src/components/Tooltip/index.js.map +0 -1
  409. package/dist/src/components/UiProvider/UiProvider.d.ts.map +0 -1
  410. package/dist/src/components/UiProvider/UiProvider.js +0 -21
  411. package/dist/src/components/UiProvider/UiProvider.js.map +0 -1
  412. package/dist/src/components/UiProvider/index.d.ts.map +0 -1
  413. package/dist/src/components/UiProvider/index.js +0 -21
  414. package/dist/src/components/UiProvider/index.js.map +0 -1
  415. package/dist/src/components/index.d.ts.map +0 -1
  416. package/dist/src/components/index.js +0 -37
  417. package/dist/src/components/index.js.map +0 -1
  418. package/dist/src/hooks/index.d.ts.map +0 -1
  419. package/dist/src/hooks/index.js +0 -23
  420. package/dist/src/hooks/index.js.map +0 -1
  421. package/dist/src/hooks/useForwardedRef.d.ts.map +0 -1
  422. package/dist/src/hooks/useForwardedRef.js +0 -24
  423. package/dist/src/hooks/useForwardedRef.js.map +0 -1
  424. package/dist/src/hooks/useId.d.ts.map +0 -1
  425. package/dist/src/hooks/useId.js +0 -20
  426. package/dist/src/hooks/useId.js.map +0 -1
  427. package/dist/src/hooks/useIsFocused.d.ts.map +0 -1
  428. package/dist/src/hooks/useIsFocused.js +0 -34
  429. package/dist/src/hooks/useIsFocused.js.map +0 -1
  430. package/dist/src/index.d.ts.map +0 -1
  431. package/dist/src/index.js +0 -24
  432. package/dist/src/index.js.map +0 -1
  433. package/dist/src/plugin.d.ts.map +0 -1
  434. package/dist/src/plugin.js +0 -276
  435. package/dist/src/plugin.js.map +0 -1
  436. package/dist/src/props/Elevation.d.ts +0 -2
  437. package/dist/src/props/Elevation.d.ts.map +0 -1
  438. package/dist/src/props/Elevation.js +0 -6
  439. package/dist/src/props/Elevation.js.map +0 -1
  440. package/dist/src/props/MessageValence.d.ts +0 -2
  441. package/dist/src/props/MessageValence.d.ts.map +0 -1
  442. package/dist/src/props/MessageValence.js +0 -6
  443. package/dist/src/props/MessageValence.js.map +0 -1
  444. package/dist/src/props/Size.d.ts +0 -2
  445. package/dist/src/props/Size.d.ts.map +0 -1
  446. package/dist/src/props/Size.js +0 -6
  447. package/dist/src/props/Size.js.map +0 -1
  448. package/dist/src/props/index.d.ts.map +0 -1
  449. package/dist/src/props/index.js +0 -23
  450. package/dist/src/props/index.js.map +0 -1
  451. package/dist/src/styles/active.d.ts.map +0 -1
  452. package/dist/src/styles/active.js +0 -12
  453. package/dist/src/styles/active.js.map +0 -1
  454. package/dist/src/styles/disabled.d.ts.map +0 -1
  455. package/dist/src/styles/disabled.js +0 -8
  456. package/dist/src/styles/disabled.js.map +0 -1
  457. package/dist/src/styles/focus.d.ts.map +0 -1
  458. package/dist/src/styles/focus.js +0 -9
  459. package/dist/src/styles/focus.js.map +0 -1
  460. package/dist/src/styles/group.d.ts.map +0 -1
  461. package/dist/src/styles/group.js +0 -26
  462. package/dist/src/styles/group.js.map +0 -1
  463. package/dist/src/styles/hover.d.ts.map +0 -1
  464. package/dist/src/styles/hover.js +0 -12
  465. package/dist/src/styles/hover.js.map +0 -1
  466. package/dist/src/styles/index.d.ts.map +0 -1
  467. package/dist/src/styles/index.js +0 -30
  468. package/dist/src/styles/index.js.map +0 -1
  469. package/dist/src/styles/input.d.ts +0 -17
  470. package/dist/src/styles/input.d.ts.map +0 -1
  471. package/dist/src/styles/input.js +0 -24
  472. package/dist/src/styles/input.js.map +0 -1
  473. package/dist/src/styles/ornament.d.ts.map +0 -1
  474. package/dist/src/styles/ornament.js +0 -9
  475. package/dist/src/styles/ornament.js.map +0 -1
  476. package/dist/src/styles/shimmer.d.ts.map +0 -1
  477. package/dist/src/styles/shimmer.js +0 -9
  478. package/dist/src/styles/shimmer.js.map +0 -1
  479. package/dist/src/styles/size.d.ts.map +0 -1
  480. package/dist/src/styles/size.js +0 -89
  481. package/dist/src/styles/size.js.map +0 -1
  482. package/dist/src/styles/text.d.ts.map +0 -1
  483. package/dist/src/styles/text.js +0 -11
  484. package/dist/src/styles/text.js.map +0 -1
  485. package/dist/src/styles/valence.d.ts.map +0 -1
  486. package/dist/src/styles/valence.js +0 -66
  487. package/dist/src/styles/valence.js.map +0 -1
  488. package/dist/src/testing/index.d.ts.map +0 -1
  489. package/dist/src/testing/index.js +0 -21
  490. package/dist/src/testing/index.js.map +0 -1
  491. package/dist/src/testing/templateForComponent.d.ts.map +0 -1
  492. package/dist/src/testing/templateForComponent.js +0 -18
  493. package/dist/src/testing/templateForComponent.js.map +0 -1
@@ -0,0 +1,250 @@
1
+ //
2
+ // Copyright 2022 DXOS.org
3
+ //
4
+
5
+ import tailwindcssForms from '@tailwindcss/forms';
6
+ import { resolve } from 'node:path';
7
+ import type { Config } from 'tailwindcss';
8
+ import tailwindcssLogical from 'tailwindcss-logical';
9
+ import tailwindcssRadix from 'tailwindcss-radix';
10
+ import tailwindColors from 'tailwindcss/colors';
11
+ import defaultConfig from 'tailwindcss/stubs/defaultConfig.stub.js';
12
+
13
+ export const tailwindConfig = ({
14
+ env = 'production',
15
+ root = './',
16
+ content = []
17
+ }: {
18
+ env?: string;
19
+ root?: string;
20
+ content?: string[];
21
+ }): Config => ({
22
+ darkMode: 'class',
23
+ theme: {
24
+ fontFamily: {
25
+ body: ['Roboto FlexVariable', ...defaultConfig.theme.fontFamily.sans],
26
+ display: ['Space GroteskVariable', 'Roboto FlexVariable', ...defaultConfig.theme.fontFamily.sans],
27
+ mono: ['Fira CodeVariable', ...defaultConfig.theme.fontFamily.mono]
28
+ },
29
+ extend: {
30
+ colors: {
31
+ success: tailwindColors.emerald,
32
+ warning: tailwindColors.amber,
33
+ error: tailwindColors.rose,
34
+ info: tailwindColors.cyan,
35
+ neutral: {
36
+ // Key color #707076
37
+ // Hue torsion 0.0º
38
+ // C*CP black 0.80, C*CP white 0.88
39
+ 950: '#101012',
40
+ 900: '#1b1b1e',
41
+ 850: '#252529',
42
+ 800: '#303034',
43
+ 750: '#3b3b3f',
44
+ 700: '#46464b',
45
+ 650: '#525257',
46
+ 600: '#5e5e64',
47
+ 550: '#6a6a70',
48
+ 500: '#77767d',
49
+ 450: '#838389',
50
+ 400: '#909096',
51
+ 350: '#9d9da4',
52
+ 300: '#ababb1',
53
+ 250: '#b8b8be',
54
+ 200: '#c6c6cc',
55
+ 150: '#d4d4d9',
56
+ 100: '#e2e2e7',
57
+ 50: '#f1f1f4'
58
+ },
59
+ primary: {
60
+ // Key color #00e0e0
61
+ // Hue torsion -73.5º
62
+ // C*CP black 1.0, C*CP white 1.0
63
+ 950: '#110c2a',
64
+ 900: '#101940',
65
+ 850: '#0b2453',
66
+ 800: '#003164',
67
+ 750: '#003e70',
68
+ 700: '#004b7c',
69
+ 650: '#005887',
70
+ 600: '#006693',
71
+ 550: '#00749e',
72
+ 500: '#0082a9',
73
+ 450: '#0091b3',
74
+ 400: '#00a0be',
75
+ 350: '#00afc7',
76
+ 300: '#00bed0',
77
+ 250: '#00ced8',
78
+ 200: '#00dedf',
79
+ 150: '#3cede4',
80
+ 100: '#69fae8',
81
+ 50: '#b9ffee'
82
+ },
83
+ transparent: 'transparent',
84
+ current: 'currentColor',
85
+ white: '#ffffff',
86
+ black: '#000000'
87
+ },
88
+ fontSize: {
89
+ // Base size 16px
90
+ // Scale 1.125
91
+ xs: ['0.790rem', { lineHeight: '1rem' }],
92
+ sm: ['0.889rem', { lineHeight: '1.25rem' }],
93
+ base: ['1rem', { lineHeight: '1.5rem' }],
94
+ lg: ['1.125rem', { lineHeight: '1.75rem' }],
95
+ xl: ['1.266rem', { lineHeight: '1.75rem' }],
96
+ '2xl': ['1.424rem', { lineHeight: '2rem' }],
97
+ '3xl': ['1.602rem', { lineHeight: '2.25rem' }],
98
+ '4xl': ['1.802rem', { lineHeight: '2.5rem' }],
99
+ '5xl': ['2.027rem', { lineHeight: '2.5rem' }],
100
+ '6xl': ['2.281rem', { lineHeight: '2.5rem' }],
101
+ '7xl': ['2.566rem', { lineHeight: '2.75rem' }],
102
+ '8xl': ['2.887rem', { lineHeight: '3rem' }],
103
+ '9xl': ['3.247rem', { lineHeight: '3.25rem' }]
104
+ },
105
+ outlineWidth: {
106
+ 3: '3px'
107
+ },
108
+ boxShadow: {
109
+ slider: '0 0 0 5px rgba(0, 0, 0, 0.3)'
110
+ },
111
+ keyframes: {
112
+ // Dropdown menu
113
+ 'scale-in': {
114
+ '0%': { opacity: '0', transform: 'scale(0)' },
115
+ '100%': { opacity: '1', transform: 'scale(1)' }
116
+ },
117
+ 'slide-down': {
118
+ '0%': { opacity: '0', transform: 'translateY(-10px)' },
119
+ '100%': { opacity: '1', transform: 'translateY(0)' }
120
+ },
121
+ 'slide-up': {
122
+ '0%': { opacity: '0', transform: 'translateY(10px)' },
123
+ '100%': { opacity: '1', transform: 'translateY(0)' }
124
+ },
125
+ // Tooltip
126
+ 'slide-up-fade': {
127
+ '0%': { opacity: '0', transform: 'translateY(2px)' },
128
+ '100%': { opacity: '1', transform: 'translateY(0)' }
129
+ },
130
+ 'slide-right-fade': {
131
+ '0%': { opacity: '0', transform: 'translateX(-2px)' },
132
+ '100%': { opacity: '1', transform: 'translateX(0)' }
133
+ },
134
+ 'slide-down-fade': {
135
+ '0%': { opacity: '0', transform: 'translateY(-2px)' },
136
+ '100%': { opacity: '1', transform: 'translateY(0)' }
137
+ },
138
+ 'slide-left-fade': {
139
+ '0%': { opacity: '0', transform: 'translateX(2px)' },
140
+ '100%': { opacity: '1', transform: 'translateX(0)' }
141
+ },
142
+ // Navigation menu
143
+ 'enter-from-right': {
144
+ '0%': { transform: 'translateX(200px)', opacity: '0' },
145
+ '100%': { transform: 'translateX(0)', opacity: '1' }
146
+ },
147
+ 'enter-from-left': {
148
+ '0%': { transform: 'translateX(-200px)', opacity: '0' },
149
+ '100%': { transform: 'translateX(0)', opacity: '1' }
150
+ },
151
+ 'exit-to-right': {
152
+ '0%': { transform: 'translateX(0)', opacity: '1' },
153
+ '100%': { transform: 'translateX(200px)', opacity: '0' }
154
+ },
155
+ 'exit-to-left': {
156
+ '0%': { transform: 'translateX(0)', opacity: '1' },
157
+ '100%': {
158
+ transform: 'translateX(-200px)',
159
+ opacity: '0'
160
+ }
161
+ },
162
+ 'scale-in-content': {
163
+ '0%': {
164
+ transform: 'rotateX(-30deg) scale(0.9)',
165
+ opacity: '0'
166
+ },
167
+ '100%': {
168
+ transform: 'rotateX(0deg) scale(1)',
169
+ opacity: '1'
170
+ }
171
+ },
172
+ 'scale-out-content': {
173
+ '0%': {
174
+ transform: 'rotateX(0deg) scale(1)',
175
+ opacity: '1'
176
+ },
177
+ '100%': {
178
+ transform: 'rotateX(-10deg) scale(0.95)',
179
+ opacity: '0'
180
+ }
181
+ },
182
+ 'fade-in': {
183
+ '0%': { opacity: '0' },
184
+ '100%': { opacity: '1' }
185
+ },
186
+ 'fade-out': {
187
+ '0%': { opacity: '1' },
188
+ '100%': { opacity: '0' }
189
+ },
190
+ // Toast
191
+ 'toast-hide': {
192
+ '0%': { opacity: '1' },
193
+ '100%': { opacity: '0' }
194
+ },
195
+ 'toast-slide-in-right': {
196
+ '0%': { transform: 'translateX(calc(100% + 1rem))' },
197
+ '100%': { transform: 'translateX(0)' }
198
+ },
199
+ 'toast-slide-in-bottom': {
200
+ '0%': { transform: 'translateY(calc(100% + 1rem))' },
201
+ '100%': { transform: 'translateY(0)' }
202
+ },
203
+ 'toast-swipe-out': {
204
+ '0%': {
205
+ transform: 'translateX(var(--radix-toast-swipe-end-x))'
206
+ },
207
+ '100%': {
208
+ transform: 'translateX(calc(100% + 1rem))'
209
+ }
210
+ },
211
+ // Shimmer
212
+ 'shimmer-loop': {
213
+ '100%': {
214
+ transform: 'translateX(100%)'
215
+ }
216
+ }
217
+ },
218
+ animation: {
219
+ // Dropdown menu
220
+ 'scale-in': 'scale-in 0.2s ease-in-out',
221
+ 'slide-down': 'slide-down 0.6s cubic-bezier(0.16, 1, 0.3, 1)',
222
+ 'slide-up': 'slide-up 0.6s cubic-bezier(0.16, 1, 0.3, 1)',
223
+ // Tooltip
224
+ 'slide-up-fade': 'slide-up-fade 0.4s cubic-bezier(0.16, 1, 0.3, 1)',
225
+ 'slide-right-fade': 'slide-right-fade 0.4s cubic-bezier(0.16, 1, 0.3, 1)',
226
+ 'slide-down-fade': 'slide-down-fade 0.4s cubic-bezier(0.16, 1, 0.3, 1)',
227
+ 'slide-left-fade': 'slide-left-fade 0.4s cubic-bezier(0.16, 1, 0.3, 1)',
228
+ // Navigation menu
229
+ 'enter-from-right': 'enter-from-right 0.25s ease',
230
+ 'enter-from-left': 'enter-from-left 0.25s ease',
231
+ 'exit-to-right': 'exit-to-right 0.25s ease',
232
+ 'exit-to-left': 'exit-to-left 0.25s ease',
233
+ 'scale-in-content': 'scale-in-content 0.2s ease',
234
+ 'scale-out-content': 'scale-out-content 0.2s ease',
235
+ 'fade-in': 'fade-in 0.2s ease',
236
+ 'fade-out': 'fade-out 0.2s ease',
237
+ // Toast
238
+ 'toast-hide': 'toast-hide 100ms ease-in forwards',
239
+ 'toast-slide-in-right': 'toast-slide-in-right 150ms cubic-bezier(0.16, 1, 0.3, 1)',
240
+ 'toast-slide-in-bottom': 'toast-slide-in-bottom 150ms cubic-bezier(0.16, 1, 0.3, 1)',
241
+ 'toast-swipe-out': 'toast-swipe-out 100ms ease-out forwards',
242
+ // Shimmer
243
+ shimmer: 'shimmer-loop 2s infinite'
244
+ }
245
+ }
246
+ },
247
+ plugins: [tailwindcssLogical, tailwindcssForms, tailwindcssRadix()],
248
+ ...(env === 'development' && { mode: 'jit' }),
249
+ content: [resolve(root, 'node_modules/@dxos/react-ui/dist/**/*.mjs'), ...content]
250
+ });
@@ -0,0 +1,42 @@
1
+ //
2
+ // Copyright 2022 DXOS.org
3
+ //
4
+
5
+ import autoprefixer from 'autoprefixer';
6
+ import type { Plugin } from 'esbuild';
7
+ import stylePlugin from 'esbuild-style-plugin';
8
+ import { mkdir, cp } from 'node:fs/promises';
9
+ import { resolve, relative, join, basename } from 'node:path';
10
+ import tailwindcss from 'tailwindcss';
11
+
12
+ import { tailwindConfig } from './config';
13
+
14
+ export const themePlugins = (options: { content: string[]; outdir: string }): Plugin[] => {
15
+ return [
16
+ // TODO (thure): This really shouldn’t be this way, but after hours of searching for a reasonable way to do this I came up empty. The prior art I found was mainly this thread, though it’s only tangentially related: https://github.com/evanw/esbuild/issues/800#issuecomment-786151076
17
+ {
18
+ name: 'esbuild-plugin-dxos-ui-theme-resolvers',
19
+ setup: async (build) => {
20
+ const fontsDir = join(options.outdir, 'node_modules/@dxos/react-ui/fonts');
21
+ try {
22
+ await mkdir(fontsDir);
23
+ } catch (_e) {}
24
+ build.onResolve({ filter: /\.woff2$/ }, async (args) => {
25
+ const depPath = resolve(args.resolveDir, args.path);
26
+ const destPath = join(fontsDir, basename(args.path));
27
+ try {
28
+ await cp(depPath, destPath);
29
+ } catch (_e) {}
30
+ return { path: `./${relative(options.outdir, join('fonts', basename(args.path)))}`, external: true };
31
+ });
32
+ }
33
+ },
34
+ // TODO (thure): theme.css must be part of entryPoints in order to be processed with `stylePlugin`, but this should not be necessary. ESBuild would not load theme.css using stylePlugin if referenced within index.ts(x) as with the Vite plugin.
35
+ // TODO (thure): Note also that because it is an entryPoint, the developer has to reference the built theme.css from `index.html`, which is inflexible and possibly inconvenient.
36
+ stylePlugin({
37
+ postcss: {
38
+ plugins: [tailwindcss(tailwindConfig({ env: process.env.NODE_ENV, content: options.content })), autoprefixer]
39
+ }
40
+ })
41
+ ];
42
+ };
package/src/index.ts CHANGED
@@ -3,6 +3,7 @@
3
3
  //
4
4
 
5
5
  export * from './components';
6
- export * from './styles';
7
- export * from './props';
8
6
  export * from './hooks';
7
+ export * from './props';
8
+ export * from './styles';
9
+ export * from './util';
package/src/plugin.ts CHANGED
@@ -2,16 +2,13 @@
2
2
  // Copyright 2022 DXOS.org
3
3
  //
4
4
 
5
- import tailwindcssForms from '@tailwindcss/forms';
6
5
  import autoprefixer from 'autoprefixer';
7
- import { resolve } from 'path';
6
+ import { resolve } from 'node:path';
8
7
  import tailwindcss from 'tailwindcss';
9
- import tailwindcssLogical from 'tailwindcss-logical';
10
- import tailwindcssRadix from 'tailwindcss-radix';
11
- import tailwindColors from 'tailwindcss/colors';
12
- import defaultConfig from 'tailwindcss/stubs/defaultConfig.stub.js';
13
8
  import { Plugin } from 'vite';
14
9
 
10
+ import { tailwindConfig } from './config';
11
+
15
12
  export interface VitePluginTailwindOptions {
16
13
  jit?: boolean;
17
14
  cssPath?: string;
@@ -19,7 +16,7 @@ export interface VitePluginTailwindOptions {
19
16
  content: string[];
20
17
  }
21
18
 
22
- export const themePlugin = (options: VitePluginTailwindOptions) => {
19
+ export const themePlugin = (options: Pick<VitePluginTailwindOptions, 'content'>) => {
23
20
  const config: VitePluginTailwindOptions = {
24
21
  jit: true,
25
22
  cssPath: resolve(__dirname, './theme.css'),
@@ -33,239 +30,7 @@ export const themePlugin = (options: VitePluginTailwindOptions) => {
33
30
  return {
34
31
  css: {
35
32
  postcss: {
36
- plugins: [
37
- tailwindcss({
38
- darkMode: 'class',
39
- theme: {
40
- fontFamily: {
41
- body: ['Roboto FlexVariable', ...defaultConfig.theme.fontFamily.sans],
42
- display: ['Space GroteskVariable', 'Roboto FlexVariable', ...defaultConfig.theme.fontFamily.sans],
43
- mono: ['Fira CodeVariable', ...defaultConfig.theme.fontFamily.mono]
44
- },
45
- extend: {
46
- colors: {
47
- success: tailwindColors.emerald,
48
- warning: tailwindColors.amber,
49
- error: tailwindColors.red,
50
- info: tailwindColors.cyan,
51
- neutral: {
52
- // Key color #707076
53
- // Hue torsion 0.0º
54
- // C*CP black 0.80, C*CP white 0.88
55
- 950: '#101012',
56
- 900: '#1b1b1e',
57
- 850: '#252529',
58
- 800: '#303034',
59
- 750: '#3b3b3f',
60
- 700: '#46464b',
61
- 650: '#525257',
62
- 600: '#5e5e64',
63
- 550: '#6a6a70',
64
- 500: '#77767d',
65
- 450: '#838389',
66
- 400: '#909096',
67
- 350: '#9d9da4',
68
- 300: '#ababb1',
69
- 250: '#b8b8be',
70
- 200: '#c6c6cc',
71
- 150: '#d4d4d9',
72
- 100: '#e2e2e7',
73
- 50: '#f1f1f4'
74
- },
75
- primary: {
76
- // Key color #00e0e0
77
- // Hue torsion -73.5º
78
- // C*CP black 1.0, C*CP white 1.0
79
- 950: '#110c2a',
80
- 900: '#101940',
81
- 850: '#0b2453',
82
- 800: '#003164',
83
- 750: '#003e70',
84
- 700: '#004b7c',
85
- 650: '#005887',
86
- 600: '#006693',
87
- 550: '#00749e',
88
- 500: '#0082a9',
89
- 450: '#0091b3',
90
- 400: '#00a0be',
91
- 350: '#00afc7',
92
- 300: '#00bed0',
93
- 250: '#00ced8',
94
- 200: '#00dedf',
95
- 150: '#3cede4',
96
- 100: '#69fae8',
97
- 50: '#b9ffee'
98
- },
99
- transparent: 'transparent',
100
- current: 'currentColor',
101
- white: '#ffffff',
102
- black: '#000000'
103
- },
104
- fontSize: {
105
- // Base size 16px
106
- // Scale 1.125
107
- xs: ['0.79rem', { lineHeight: '1rem' }],
108
- sm: ['0.889rem', { lineHeight: '1.25rem' }],
109
- base: ['1rem', { lineHeight: '1.5rem' }],
110
- lg: ['1.125rem', { lineHeight: '1.75rem' }],
111
- xl: ['1.266rem', { lineHeight: '1.75rem' }],
112
- '2xl': ['1.424rem', { lineHeight: '2rem' }],
113
- '3xl': ['1.602rem', { lineHeight: '2.25rem' }],
114
- '4xl': ['1.802rem', { lineHeight: '2.5rem' }],
115
- '5xl': ['2.027rem', { lineHeight: '1' }],
116
- '6xl': ['2.281rem', { lineHeight: '1' }],
117
- '7xl': ['2.566rem', { lineHeight: '1' }],
118
- '8xl': ['2.887rem', { lineHeight: '1' }],
119
- '9xl': ['3.247rem', { lineHeight: '1' }]
120
- },
121
- outlineWidth: {
122
- 3: '3px'
123
- },
124
- boxShadow: {
125
- slider: '0 0 0 5px rgba(0, 0, 0, 0.3)'
126
- },
127
- keyframes: {
128
- // Dropdown menu
129
- 'scale-in': {
130
- '0%': { opacity: '0', transform: 'scale(0)' },
131
- '100%': { opacity: '1', transform: 'scale(1)' }
132
- },
133
- 'slide-down': {
134
- '0%': { opacity: '0', transform: 'translateY(-10px)' },
135
- '100%': { opacity: '1', transform: 'translateY(0)' }
136
- },
137
- 'slide-up': {
138
- '0%': { opacity: '0', transform: 'translateY(10px)' },
139
- '100%': { opacity: '1', transform: 'translateY(0)' }
140
- },
141
- // Tooltip
142
- 'slide-up-fade': {
143
- '0%': { opacity: '0', transform: 'translateY(2px)' },
144
- '100%': { opacity: '1', transform: 'translateY(0)' }
145
- },
146
- 'slide-right-fade': {
147
- '0%': { opacity: '0', transform: 'translateX(-2px)' },
148
- '100%': { opacity: '1', transform: 'translateX(0)' }
149
- },
150
- 'slide-down-fade': {
151
- '0%': { opacity: '0', transform: 'translateY(-2px)' },
152
- '100%': { opacity: '1', transform: 'translateY(0)' }
153
- },
154
- 'slide-left-fade': {
155
- '0%': { opacity: '0', transform: 'translateX(2px)' },
156
- '100%': { opacity: '1', transform: 'translateX(0)' }
157
- },
158
- // Navigation menu
159
- 'enter-from-right': {
160
- '0%': { transform: 'translateX(200px)', opacity: '0' },
161
- '100%': { transform: 'translateX(0)', opacity: '1' }
162
- },
163
- 'enter-from-left': {
164
- '0%': { transform: 'translateX(-200px)', opacity: '0' },
165
- '100%': { transform: 'translateX(0)', opacity: '1' }
166
- },
167
- 'exit-to-right': {
168
- '0%': { transform: 'translateX(0)', opacity: '1' },
169
- '100%': { transform: 'translateX(200px)', opacity: '0' }
170
- },
171
- 'exit-to-left': {
172
- '0%': { transform: 'translateX(0)', opacity: '1' },
173
- '100%': {
174
- transform: 'translateX(-200px)',
175
- opacity: '0'
176
- }
177
- },
178
- 'scale-in-content': {
179
- '0%': {
180
- transform: 'rotateX(-30deg) scale(0.9)',
181
- opacity: '0'
182
- },
183
- '100%': {
184
- transform: 'rotateX(0deg) scale(1)',
185
- opacity: '1'
186
- }
187
- },
188
- 'scale-out-content': {
189
- '0%': {
190
- transform: 'rotateX(0deg) scale(1)',
191
- opacity: '1'
192
- },
193
- '100%': {
194
- transform: 'rotateX(-10deg) scale(0.95)',
195
- opacity: '0'
196
- }
197
- },
198
- 'fade-in': {
199
- '0%': { opacity: '0' },
200
- '100%': { opacity: '1' }
201
- },
202
- 'fade-out': {
203
- '0%': { opacity: '1' },
204
- '100%': { opacity: '0' }
205
- },
206
- // Toast
207
- 'toast-hide': {
208
- '0%': { opacity: '1' },
209
- '100%': { opacity: '0' }
210
- },
211
- 'toast-slide-in-right': {
212
- '0%': { transform: 'translateX(calc(100% + 1rem))' },
213
- '100%': { transform: 'translateX(0)' }
214
- },
215
- 'toast-slide-in-bottom': {
216
- '0%': { transform: 'translateY(calc(100% + 1rem))' },
217
- '100%': { transform: 'translateY(0)' }
218
- },
219
- 'toast-swipe-out': {
220
- '0%': {
221
- transform: 'translateX(var(--radix-toast-swipe-end-x))'
222
- },
223
- '100%': {
224
- transform: 'translateX(calc(100% + 1rem))'
225
- }
226
- },
227
- // Shimmer
228
- 'shimmer-loop': {
229
- '100%': {
230
- transform: 'translateX(100%)'
231
- }
232
- }
233
- },
234
- animation: {
235
- // Dropdown menu
236
- 'scale-in': 'scale-in 0.2s ease-in-out',
237
- 'slide-down': 'slide-down 0.6s cubic-bezier(0.16, 1, 0.3, 1)',
238
- 'slide-up': 'slide-up 0.6s cubic-bezier(0.16, 1, 0.3, 1)',
239
- // Tooltip
240
- 'slide-up-fade': 'slide-up-fade 0.4s cubic-bezier(0.16, 1, 0.3, 1)',
241
- 'slide-right-fade': 'slide-right-fade 0.4s cubic-bezier(0.16, 1, 0.3, 1)',
242
- 'slide-down-fade': 'slide-down-fade 0.4s cubic-bezier(0.16, 1, 0.3, 1)',
243
- 'slide-left-fade': 'slide-left-fade 0.4s cubic-bezier(0.16, 1, 0.3, 1)',
244
- // Navigation menu
245
- 'enter-from-right': 'enter-from-right 0.25s ease',
246
- 'enter-from-left': 'enter-from-left 0.25s ease',
247
- 'exit-to-right': 'exit-to-right 0.25s ease',
248
- 'exit-to-left': 'exit-to-left 0.25s ease',
249
- 'scale-in-content': 'scale-in-content 0.2s ease',
250
- 'scale-out-content': 'scale-out-content 0.2s ease',
251
- 'fade-in': 'fade-in 0.2s ease',
252
- 'fade-out': 'fade-out 0.2s ease',
253
- // Toast
254
- 'toast-hide': 'toast-hide 100ms ease-in forwards',
255
- 'toast-slide-in-right': 'toast-slide-in-right 150ms cubic-bezier(0.16, 1, 0.3, 1)',
256
- 'toast-slide-in-bottom': 'toast-slide-in-bottom 150ms cubic-bezier(0.16, 1, 0.3, 1)',
257
- 'toast-swipe-out': 'toast-swipe-out 100ms ease-out forwards',
258
- // Shimmer
259
- shimmer: 'shimmer-loop 2s infinite'
260
- }
261
- }
262
- },
263
- plugins: [tailwindcssLogical, tailwindcssForms, tailwindcssRadix()],
264
- ...(env.mode === 'development' && { mode: 'jit' }),
265
- content: [resolve(root || './', 'node_modules/@dxos/react-ui/dist/**/*.js'), ...config.content]
266
- }),
267
- autoprefixer
268
- ]
33
+ plugins: [tailwindcss(tailwindConfig({ env: env.mode, root, content: options.content })), autoprefixer]
269
34
  }
270
35
  }
271
36
  };
@@ -2,9 +2,9 @@
2
2
  // Copyright 2022 DXOS.org
3
3
  //
4
4
 
5
- import cx from 'classnames';
5
+ import { mx } from '../util';
6
6
 
7
- export const defaultActive = cx(
7
+ export const defaultActive = mx(
8
8
  'radix-state-open:outline-2 radix-state-open:outline-offset-1 radix-state-open:outline-primary-300 radix-state-open:outline-offset-transparent dark:radix-state-open:outline-primary-400 dark:radix-state-open:outline-offset-transparent',
9
9
  'radix-state-on:outline-2 radix-state-on:outline-offset-1 radix-state-on:outline-primary-300 radix-state-on:outline-offset-transparent dark:radix-state-on:outline-primary-400 dark:radix-state-on:outline-offset-transparent',
10
10
  'radix-state-instant-open:outline-2 radix-state-instant-open:outline-offset-1 radix-state-instant-open:outline-primary-300 radix-state-instant-open:outline-offset-transparent dark:radix-state-instant-open:outline-primary-400 dark:radix-state-instant-open:outline-offset-transparent'
@@ -2,9 +2,8 @@
2
2
  // Copyright 2022 DXOS.org
3
3
  //
4
4
 
5
- import cx from 'classnames';
6
-
7
5
  import { Elevation } from '../props';
6
+ import { mx } from '../util';
8
7
 
9
8
  const elevationClassNameMap = new Map<number, string>([
10
9
  [0, 'shadow-none'],
@@ -25,7 +24,7 @@ export const defaultGroup = ({
25
24
  rounding?: string;
26
25
  spacing?: string;
27
26
  }) => {
28
- return cx(
27
+ return mx(
29
28
  rounding ?? 'rounded-lg',
30
29
  spacing ?? 'p-4',
31
30
  elevation === 0
@@ -2,9 +2,8 @@
2
2
  // Copyright 2022 DXOS.org
3
3
  //
4
4
 
5
- import cx from 'classnames';
6
-
7
5
  import { MessageValence } from '../props';
6
+ import { mx } from '../util';
8
7
  import { defaultDisabled } from './disabled';
9
8
  import { defaultFocus, staticFocus } from './focus';
10
9
  import { defaultHover } from './hover';
@@ -12,53 +11,35 @@ import { defaultPlaceholder } from './text';
12
11
  import { valenceInputBorder } from './valence';
13
12
 
14
13
  export const defaultInput = ({
15
- borders,
16
- typography,
17
- rounding,
18
14
  disabled,
19
15
  validationValence
20
16
  }: {
21
- borders?: string;
22
- typography?: string;
23
- rounding?: string;
24
17
  disabled?: boolean;
25
18
  validationValence?: MessageValence;
26
19
  }) => {
27
- return cx(
20
+ return mx(
21
+ 'text-base border rounded bg-white/50 text-neutral-900 dark:bg-neutral-700/50 dark:text-white',
28
22
  defaultFocus,
29
23
  defaultPlaceholder,
30
24
  defaultHover({ disabled }),
31
- 'bg-white/50 text-neutral-900 dark:bg-neutral-700/50 dark:text-white',
32
- typography ?? 'text-base',
33
- borders ?? 'border',
34
- borders ?? valenceInputBorder(validationValence),
35
- rounding ?? 'rounded',
25
+ valenceInputBorder(validationValence),
36
26
  disabled && defaultDisabled
37
27
  );
38
28
  };
39
29
 
40
30
  export const staticInput = ({
41
- borders,
42
- typography,
43
- rounding,
44
31
  disabled,
45
32
  focused,
46
33
  validationValence
47
34
  }: {
48
- borders?: string;
49
- typography?: string;
50
- rounding?: string;
51
35
  disabled?: boolean;
52
36
  focused?: boolean;
53
37
  validationValence?: MessageValence;
54
38
  }) => {
55
- return cx(
39
+ return mx(
56
40
  defaultPlaceholder,
57
- 'bg-white/50 text-neutral-900 dark:bg-neutral-700/50 dark:text-white',
58
- typography ?? 'text-base',
59
- borders ?? 'border',
60
- borders ?? valenceInputBorder(validationValence),
61
- rounding ?? 'rounded',
41
+ 'text-base border rounded bg-white/50 text-neutral-900 dark:bg-neutral-700/50 dark:text-white',
42
+ valenceInputBorder(validationValence),
62
43
  disabled && defaultDisabled,
63
44
  focused && staticFocus
64
45
  );