@doist/reactist 10.0.0 → 11.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (562) hide show
  1. package/dist/reactist.cjs.development.js +3083 -1766
  2. package/dist/reactist.cjs.development.js.map +1 -1
  3. package/dist/reactist.cjs.production.min.js +1 -1
  4. package/dist/reactist.cjs.production.min.js.map +1 -1
  5. package/es/_virtual/_rollupPluginBabelHelpers.js +34 -20
  6. package/es/_virtual/_rollupPluginBabelHelpers.js.map +1 -1
  7. package/es/components/{button/button.js → deprecated-button/deprecated-button.js} +8 -3
  8. package/es/components/deprecated-button/deprecated-button.js.map +1 -0
  9. package/es/components/{button → deprecated-button}/index.js +1 -1
  10. package/es/components/{button → deprecated-button}/index.js.map +0 -0
  11. package/es/components/{loading/loading.js → deprecated-loading/deprecated-loading.js} +3 -1
  12. package/es/components/deprecated-loading/deprecated-loading.js.map +1 -0
  13. package/es/components/{modal/modal.js → deprecated-modal/deprecated-modal.js} +14 -6
  14. package/es/components/deprecated-modal/deprecated-modal.js.map +1 -0
  15. package/es/components/{modal → deprecated-modal}/index.js +1 -1
  16. package/es/components/deprecated-modal/index.js.map +1 -0
  17. package/es/components/dropdown/dropdown.js +5 -3
  18. package/es/components/dropdown/dropdown.js.map +1 -1
  19. package/es/components/key-capturer/key-capturer.js +1 -1
  20. package/es/components/key-capturer/key-capturer.js.map +1 -1
  21. package/es/components/keyboard-shortcut/keyboard-shortcut.js +3 -2
  22. package/es/components/keyboard-shortcut/keyboard-shortcut.js.map +1 -1
  23. package/es/components/menu/menu.js +51 -29
  24. package/es/components/menu/menu.js.map +1 -1
  25. package/es/components/notification/notification.js +9 -4
  26. package/es/components/notification/notification.js.map +1 -1
  27. package/es/components/popover/popover.js +1 -1
  28. package/es/components/popover/popover.js.map +1 -1
  29. package/es/components/popover/positioning-utils.js.map +1 -1
  30. package/es/components/progress-bar/progress-bar.js +8 -2
  31. package/es/components/progress-bar/progress-bar.js.map +1 -1
  32. package/es/components/select/select.js +4 -2
  33. package/es/components/select/select.js.map +1 -1
  34. package/es/components/time/time-utils.js.map +1 -1
  35. package/es/components/time/time.js +1 -1
  36. package/es/components/time/time.js.map +1 -1
  37. package/es/components/tooltip/tooltip.js +4 -2
  38. package/es/components/tooltip/tooltip.js.map +1 -1
  39. package/es/hooks/use-previous/use-previous.js +26 -0
  40. package/es/hooks/use-previous/use-previous.js.map +1 -0
  41. package/es/index.js +32 -13
  42. package/es/index.js.map +1 -1
  43. package/es/new-components/alert/alert.js +38 -0
  44. package/es/new-components/alert/alert.js.map +1 -0
  45. package/es/new-components/alert/alert.module.css.js +4 -0
  46. package/es/new-components/alert/alert.module.css.js.map +1 -0
  47. package/es/new-components/base-button/base-button.js +72 -0
  48. package/es/new-components/base-button/base-button.js.map +1 -0
  49. package/es/new-components/base-button/base-button.module.css.js +4 -0
  50. package/es/new-components/base-button/base-button.module.css.js.map +1 -0
  51. package/es/new-components/base-field/base-field.js +65 -0
  52. package/es/new-components/base-field/base-field.js.map +1 -0
  53. package/es/new-components/base-field/base-field.module.css.js +4 -0
  54. package/es/new-components/base-field/base-field.module.css.js.map +1 -0
  55. package/es/new-components/box/box.js +75 -0
  56. package/es/new-components/box/box.js.map +1 -0
  57. package/es/new-components/box/box.module.css.js +4 -0
  58. package/es/new-components/box/box.module.css.js.map +1 -0
  59. package/es/new-components/box/margin.module.css.js +4 -0
  60. package/es/new-components/box/margin.module.css.js.map +1 -0
  61. package/es/new-components/box/padding.module.css.js +4 -0
  62. package/es/new-components/box/padding.module.css.js.map +1 -0
  63. package/es/new-components/box/width.module.css.js +4 -0
  64. package/es/new-components/box/width.module.css.js.map +1 -0
  65. package/es/new-components/button/button.js +41 -0
  66. package/es/new-components/button/button.js.map +1 -0
  67. package/es/new-components/button-link/button-link.js +42 -0
  68. package/es/new-components/button-link/button-link.js.map +1 -0
  69. package/es/new-components/checkbox-field/checkbox-field.js +88 -0
  70. package/es/new-components/checkbox-field/checkbox-field.js.map +1 -0
  71. package/es/new-components/checkbox-field/checkbox-field.module.css.js +4 -0
  72. package/es/new-components/checkbox-field/checkbox-field.module.css.js.map +1 -0
  73. package/es/new-components/checkbox-field/checkbox-icon.js +61 -0
  74. package/es/new-components/checkbox-field/checkbox-icon.js.map +1 -0
  75. package/es/new-components/columns/columns.js +59 -0
  76. package/es/new-components/columns/columns.js.map +1 -0
  77. package/es/new-components/columns/columns.module.css.js +4 -0
  78. package/es/new-components/columns/columns.module.css.js.map +1 -0
  79. package/es/new-components/common-helpers.js +24 -0
  80. package/es/new-components/common-helpers.js.map +1 -0
  81. package/es/new-components/divider/divider.js +21 -0
  82. package/es/new-components/divider/divider.js.map +1 -0
  83. package/es/new-components/divider/divider.module.css.js +4 -0
  84. package/es/new-components/divider/divider.module.css.js.map +1 -0
  85. package/es/new-components/heading/heading.js +37 -0
  86. package/es/new-components/heading/heading.js.map +1 -0
  87. package/es/new-components/heading/heading.module.css.js +4 -0
  88. package/es/new-components/heading/heading.module.css.js.map +1 -0
  89. package/es/new-components/hidden/hidden.js +55 -0
  90. package/es/new-components/hidden/hidden.js.map +1 -0
  91. package/es/new-components/hidden/hidden.module.css.js +4 -0
  92. package/es/new-components/hidden/hidden.module.css.js.map +1 -0
  93. package/es/new-components/hidden-visually/hidden-visually.js +22 -0
  94. package/es/new-components/hidden-visually/hidden-visually.js.map +1 -0
  95. package/es/new-components/hidden-visually/hidden-visually.module.css.js +4 -0
  96. package/es/new-components/hidden-visually/hidden-visually.module.css.js.map +1 -0
  97. package/es/new-components/icons/alert-icon.js +77 -0
  98. package/es/new-components/icons/alert-icon.js.map +1 -0
  99. package/es/new-components/icons/close-icon.js +15 -0
  100. package/es/new-components/icons/close-icon.js.map +1 -0
  101. package/es/new-components/icons/password-hidden-icon.js +29 -0
  102. package/es/new-components/icons/password-hidden-icon.js.map +1 -0
  103. package/es/new-components/icons/password-visible-icon.js +22 -0
  104. package/es/new-components/icons/password-visible-icon.js.map +1 -0
  105. package/es/new-components/inline/inline.js +36 -0
  106. package/es/new-components/inline/inline.js.map +1 -0
  107. package/es/new-components/inline/inline.module.css.js +4 -0
  108. package/es/new-components/inline/inline.module.css.js.map +1 -0
  109. package/es/new-components/loading/loading.js +37 -0
  110. package/es/new-components/loading/loading.js.map +1 -0
  111. package/es/new-components/modal/modal.js +224 -0
  112. package/es/new-components/modal/modal.js.map +1 -0
  113. package/es/new-components/modal/modal.module.css.js +4 -0
  114. package/es/new-components/modal/modal.module.css.js.map +1 -0
  115. package/es/new-components/notice/notice.js +28 -0
  116. package/es/new-components/notice/notice.js.map +1 -0
  117. package/es/new-components/notice/notice.module.css.js +4 -0
  118. package/es/new-components/notice/notice.module.css.js.map +1 -0
  119. package/es/new-components/password-field/password-field.js +76 -0
  120. package/es/new-components/password-field/password-field.js.map +1 -0
  121. package/es/new-components/password-field/password-field.module.css.js +4 -0
  122. package/es/new-components/password-field/password-field.module.css.js.map +1 -0
  123. package/es/new-components/responsive-props.js +75 -0
  124. package/es/new-components/responsive-props.js.map +1 -0
  125. package/es/new-components/select-field/select-field.js +53 -0
  126. package/es/new-components/select-field/select-field.js.map +1 -0
  127. package/es/new-components/select-field/select-field.module.css.js +4 -0
  128. package/es/new-components/select-field/select-field.module.css.js.map +1 -0
  129. package/es/new-components/spinner/spinner.js +26 -0
  130. package/es/new-components/spinner/spinner.js.map +1 -0
  131. package/es/new-components/spinner/spinner.module.css.js +4 -0
  132. package/es/new-components/spinner/spinner.module.css.js.map +1 -0
  133. package/es/new-components/stack/stack.js +42 -0
  134. package/es/new-components/stack/stack.js.map +1 -0
  135. package/es/new-components/stack/stack.module.css.js +4 -0
  136. package/es/new-components/stack/stack.module.css.js.map +1 -0
  137. package/es/new-components/switch-field/switch-field.js +96 -0
  138. package/es/new-components/switch-field/switch-field.js.map +1 -0
  139. package/es/new-components/switch-field/switch-field.module.css.js +4 -0
  140. package/es/new-components/switch-field/switch-field.module.css.js.map +1 -0
  141. package/es/new-components/tabs/tabs.js +147 -0
  142. package/es/new-components/tabs/tabs.js.map +1 -0
  143. package/es/new-components/tabs/tabs.module.css.js +4 -0
  144. package/es/new-components/tabs/tabs.module.css.js.map +1 -0
  145. package/es/new-components/text/text.js +36 -0
  146. package/es/new-components/text/text.js.map +1 -0
  147. package/es/new-components/text/text.module.css.js +4 -0
  148. package/es/new-components/text/text.module.css.js.map +1 -0
  149. package/es/new-components/text-area/text-area.js +34 -0
  150. package/es/new-components/text-area/text-area.js.map +1 -0
  151. package/es/new-components/text-area/text-area.module.css.js +4 -0
  152. package/es/new-components/text-area/text-area.module.css.js.map +1 -0
  153. package/es/new-components/text-field/text-field.js +41 -0
  154. package/es/new-components/text-field/text-field.js.map +1 -0
  155. package/es/new-components/text-field/text-field.module.css.js +4 -0
  156. package/es/new-components/text-field/text-field.module.css.js.map +1 -0
  157. package/es/new-components/text-link/text-link.js +27 -0
  158. package/es/new-components/text-link/text-link.js.map +1 -0
  159. package/es/new-components/text-link/text-link.module.css.js +4 -0
  160. package/es/new-components/text-link/text-link.module.css.js.map +1 -0
  161. package/es/utils/polymorphism.js +17 -0
  162. package/es/utils/polymorphism.js.map +1 -0
  163. package/lib/_virtual/_rollupPluginBabelHelpers.js +1 -1
  164. package/lib/components/avatar/avatar.test.d.ts +1 -0
  165. package/lib/components/checkbox/checkbox.test.d.ts +1 -0
  166. package/lib/components/color-picker/color-picker.test.d.ts +1 -0
  167. package/lib/components/{button/button.d.ts → deprecated-button/deprecated-button.d.ts} +7 -1
  168. package/lib/components/deprecated-button/deprecated-button.js +2 -0
  169. package/lib/components/deprecated-button/deprecated-button.js.map +1 -0
  170. package/lib/components/deprecated-button/deprecated-button.test.d.ts +1 -0
  171. package/lib/components/deprecated-button/index.d.ts +4 -0
  172. package/lib/components/{button → deprecated-button}/index.js +1 -1
  173. package/lib/components/{button → deprecated-button}/index.js.map +0 -0
  174. package/lib/components/{loading/loading.d.ts → deprecated-loading/deprecated-loading.d.ts} +2 -1
  175. package/lib/components/{loading/loading.js → deprecated-loading/deprecated-loading.js} +1 -1
  176. package/lib/components/deprecated-loading/deprecated-loading.js.map +1 -0
  177. package/lib/components/deprecated-loading/deprecated-loading.test.d.ts +1 -0
  178. package/lib/components/deprecated-loading/index.d.ts +1 -0
  179. package/lib/components/{modal/modal.d.ts → deprecated-modal/deprecated-modal.d.ts} +7 -2
  180. package/lib/components/deprecated-modal/deprecated-modal.js +2 -0
  181. package/lib/components/deprecated-modal/deprecated-modal.js.map +1 -0
  182. package/lib/components/deprecated-modal/deprecated-modal.test.d.ts +1 -0
  183. package/lib/components/{modal → deprecated-modal}/index.d.ts +2 -2
  184. package/lib/components/deprecated-modal/index.js +2 -0
  185. package/lib/components/deprecated-modal/index.js.map +1 -0
  186. package/lib/components/dropdown/dropdown.js +1 -1
  187. package/lib/components/dropdown/dropdown.js.map +1 -1
  188. package/lib/components/dropdown/dropdown.test.d.ts +1 -0
  189. package/lib/components/input/input.test.d.ts +1 -0
  190. package/lib/components/key-capturer/key-capturer.js +1 -1
  191. package/lib/components/key-capturer/key-capturer.test.d.ts +1 -0
  192. package/lib/components/keyboard-shortcut/keyboard-shortcut.js +1 -1
  193. package/lib/components/keyboard-shortcut/keyboard-shortcut.js.map +1 -1
  194. package/lib/components/keyboard-shortcut/keyboard-shortcut.test.d.ts +1 -0
  195. package/lib/components/menu/menu.d.ts +8 -10
  196. package/lib/components/menu/menu.js +1 -1
  197. package/lib/components/menu/menu.js.map +1 -1
  198. package/lib/components/menu/menu.test.d.ts +1 -0
  199. package/lib/components/notification/notification.d.ts +4 -2
  200. package/lib/components/notification/notification.js +1 -1
  201. package/lib/components/notification/notification.js.map +1 -1
  202. package/lib/components/notification/notification.test.d.ts +1 -0
  203. package/lib/components/popover/popover.js +1 -1
  204. package/lib/components/popover/popover.test.d.ts +1 -0
  205. package/lib/components/progress-bar/progress-bar.d.ts +3 -1
  206. package/lib/components/progress-bar/progress-bar.js +1 -1
  207. package/lib/components/progress-bar/progress-bar.js.map +1 -1
  208. package/lib/components/progress-bar/progress-bar.test.d.ts +1 -0
  209. package/lib/components/select/select.js +1 -1
  210. package/lib/components/select/select.js.map +1 -1
  211. package/lib/components/select/select.test.d.ts +1 -0
  212. package/lib/components/time/time.js +1 -1
  213. package/lib/components/time/time.test.d.ts +1 -0
  214. package/lib/components/tooltip/tooltip.js +1 -1
  215. package/lib/components/tooltip/tooltip.js.map +1 -1
  216. package/lib/components/tooltip/tooltip.test.d.ts +1 -0
  217. package/lib/hooks/use-previous/index.d.ts +1 -0
  218. package/lib/hooks/use-previous/use-previous.d.ts +15 -0
  219. package/lib/hooks/use-previous/use-previous.js +2 -0
  220. package/lib/hooks/use-previous/use-previous.js.map +1 -0
  221. package/lib/index.d.ts +32 -12
  222. package/lib/index.js +1 -1
  223. package/lib/new-components/alert/alert.d.ts +17 -0
  224. package/lib/new-components/alert/alert.js +2 -0
  225. package/lib/new-components/alert/alert.js.map +1 -0
  226. package/lib/new-components/alert/alert.module.css.js +2 -0
  227. package/lib/new-components/alert/alert.module.css.js.map +1 -0
  228. package/lib/new-components/alert/index.d.ts +1 -0
  229. package/lib/new-components/base-button/base-button.d.ts +65 -0
  230. package/lib/new-components/base-button/base-button.js +2 -0
  231. package/lib/new-components/base-button/base-button.js.map +1 -0
  232. package/lib/new-components/base-button/base-button.module.css.js +2 -0
  233. package/lib/new-components/base-button/base-button.module.css.js.map +1 -0
  234. package/lib/new-components/base-button/index.d.ts +1 -0
  235. package/lib/new-components/base-field/base-field.d.ts +64 -0
  236. package/lib/new-components/base-field/base-field.js +2 -0
  237. package/lib/new-components/base-field/base-field.js.map +1 -0
  238. package/lib/new-components/base-field/base-field.module.css.js +2 -0
  239. package/lib/new-components/base-field/base-field.module.css.js.map +1 -0
  240. package/lib/new-components/base-field/index.d.ts +1 -0
  241. package/lib/new-components/box/box.d.ts +57 -0
  242. package/lib/new-components/box/box.js +2 -0
  243. package/lib/new-components/box/box.js.map +1 -0
  244. package/lib/new-components/box/box.module.css.js +2 -0
  245. package/lib/new-components/box/box.module.css.js.map +1 -0
  246. package/lib/new-components/box/box.test.d.ts +1 -0
  247. package/lib/new-components/box/index.d.ts +1 -0
  248. package/lib/new-components/box/margin.module.css.js +2 -0
  249. package/lib/new-components/box/margin.module.css.js.map +1 -0
  250. package/lib/new-components/box/padding.module.css.js +2 -0
  251. package/lib/new-components/box/padding.module.css.js.map +1 -0
  252. package/lib/new-components/box/width.module.css.js +2 -0
  253. package/lib/new-components/box/width.module.css.js.map +1 -0
  254. package/lib/new-components/button/button.d.ts +48 -0
  255. package/lib/new-components/button/button.js +2 -0
  256. package/lib/new-components/button/button.js.map +1 -0
  257. package/lib/new-components/button/button.test.d.ts +1 -0
  258. package/lib/new-components/button/index.d.ts +1 -0
  259. package/lib/new-components/button-link/button-link-story-wrapper.d.ts +7 -0
  260. package/lib/new-components/button-link/button-link.d.ts +15 -0
  261. package/lib/new-components/button-link/button-link.js +2 -0
  262. package/lib/new-components/button-link/button-link.js.map +1 -0
  263. package/lib/new-components/button-link/button-link.test.d.ts +1 -0
  264. package/lib/new-components/button-link/index.d.ts +1 -0
  265. package/lib/new-components/checkbox-field/checkbox-field.d.ts +21 -0
  266. package/lib/new-components/checkbox-field/checkbox-field.js +2 -0
  267. package/lib/new-components/checkbox-field/checkbox-field.js.map +1 -0
  268. package/lib/new-components/checkbox-field/checkbox-field.module.css.js +2 -0
  269. package/lib/new-components/checkbox-field/checkbox-field.module.css.js.map +1 -0
  270. package/lib/new-components/checkbox-field/checkbox-field.test.d.ts +1 -0
  271. package/lib/new-components/checkbox-field/checkbox-icon.d.ts +8 -0
  272. package/lib/new-components/checkbox-field/checkbox-icon.js +2 -0
  273. package/lib/new-components/checkbox-field/checkbox-icon.js.map +1 -0
  274. package/lib/new-components/checkbox-field/index.d.ts +1 -0
  275. package/lib/new-components/columns/columns.d.ts +20 -0
  276. package/lib/new-components/columns/columns.js +2 -0
  277. package/lib/new-components/columns/columns.js.map +1 -0
  278. package/lib/new-components/columns/columns.module.css.js +2 -0
  279. package/lib/new-components/columns/columns.module.css.js.map +1 -0
  280. package/lib/new-components/columns/columns.test.d.ts +1 -0
  281. package/lib/new-components/columns/index.d.ts +1 -0
  282. package/lib/new-components/common-helpers.d.ts +2 -0
  283. package/lib/new-components/common-helpers.js +2 -0
  284. package/lib/new-components/common-helpers.js.map +1 -0
  285. package/lib/new-components/common-types.d.ts +23 -0
  286. package/lib/new-components/divider/divider.d.ts +8 -0
  287. package/lib/new-components/divider/divider.js +2 -0
  288. package/lib/new-components/divider/divider.js.map +1 -0
  289. package/lib/new-components/divider/divider.module.css.js +2 -0
  290. package/lib/new-components/divider/divider.module.css.js.map +1 -0
  291. package/lib/new-components/divider/index.d.ts +1 -0
  292. package/lib/new-components/heading/heading.d.ts +115 -0
  293. package/lib/new-components/heading/heading.js +2 -0
  294. package/lib/new-components/heading/heading.js.map +1 -0
  295. package/lib/new-components/heading/heading.module.css.js +2 -0
  296. package/lib/new-components/heading/heading.module.css.js.map +1 -0
  297. package/lib/new-components/heading/heading.test.d.ts +1 -0
  298. package/lib/new-components/heading/index.d.ts +1 -0
  299. package/lib/new-components/hidden/hidden.d.ts +49 -0
  300. package/lib/new-components/hidden/hidden.js +2 -0
  301. package/lib/new-components/hidden/hidden.js.map +1 -0
  302. package/lib/new-components/hidden/hidden.module.css.js +2 -0
  303. package/lib/new-components/hidden/hidden.module.css.js.map +1 -0
  304. package/lib/new-components/hidden/hidden.test.d.ts +1 -0
  305. package/lib/new-components/hidden/index.d.ts +1 -0
  306. package/lib/new-components/hidden-visually/hidden-visually.d.ts +11 -0
  307. package/lib/new-components/hidden-visually/hidden-visually.js +2 -0
  308. package/lib/new-components/hidden-visually/hidden-visually.js.map +1 -0
  309. package/lib/new-components/hidden-visually/hidden-visually.module.css.js +2 -0
  310. package/lib/new-components/hidden-visually/hidden-visually.module.css.js.map +1 -0
  311. package/lib/new-components/hidden-visually/hidden-visually.test.d.ts +1 -0
  312. package/lib/new-components/hidden-visually/index.d.ts +1 -0
  313. package/lib/new-components/icons/alert-icon.d.ts +6 -0
  314. package/lib/new-components/icons/alert-icon.js +2 -0
  315. package/lib/new-components/icons/alert-icon.js.map +1 -0
  316. package/lib/new-components/icons/close-icon.d.ts +3 -0
  317. package/lib/new-components/icons/close-icon.js +2 -0
  318. package/lib/new-components/icons/close-icon.js.map +1 -0
  319. package/lib/new-components/icons/password-hidden-icon.d.ts +3 -0
  320. package/lib/new-components/icons/password-hidden-icon.js +2 -0
  321. package/lib/new-components/icons/password-hidden-icon.js.map +1 -0
  322. package/lib/new-components/icons/password-visible-icon.d.ts +3 -0
  323. package/lib/new-components/icons/password-visible-icon.js +2 -0
  324. package/lib/new-components/icons/password-visible-icon.js.map +1 -0
  325. package/lib/new-components/inline/index.d.ts +1 -0
  326. package/lib/new-components/inline/inline.d.ts +12 -0
  327. package/lib/new-components/inline/inline.js +2 -0
  328. package/lib/new-components/inline/inline.js.map +1 -0
  329. package/lib/new-components/inline/inline.module.css.js +2 -0
  330. package/lib/new-components/inline/inline.module.css.js.map +1 -0
  331. package/lib/new-components/inline/inline.test.d.ts +1 -0
  332. package/lib/new-components/loading/index.d.ts +1 -0
  333. package/lib/new-components/loading/loading.d.ts +27 -0
  334. package/lib/new-components/loading/loading.js +2 -0
  335. package/lib/new-components/loading/loading.js.map +1 -0
  336. package/lib/new-components/loading/loading.test.d.ts +1 -0
  337. package/lib/new-components/modal/index.d.ts +1 -0
  338. package/lib/new-components/modal/modal-stories-components.d.ts +35 -0
  339. package/lib/new-components/modal/modal.d.ts +155 -0
  340. package/lib/new-components/modal/modal.js +2 -0
  341. package/lib/new-components/modal/modal.js.map +1 -0
  342. package/lib/new-components/modal/modal.module.css.js +2 -0
  343. package/lib/new-components/modal/modal.module.css.js.map +1 -0
  344. package/lib/new-components/modal/modal.test.d.ts +1 -0
  345. package/lib/new-components/notice/index.d.ts +1 -0
  346. package/lib/new-components/notice/notice.d.ts +10 -0
  347. package/lib/new-components/notice/notice.js +2 -0
  348. package/lib/new-components/notice/notice.js.map +1 -0
  349. package/lib/new-components/notice/notice.module.css.js +2 -0
  350. package/lib/new-components/notice/notice.module.css.js.map +1 -0
  351. package/lib/new-components/password-field/index.d.ts +1 -0
  352. package/lib/new-components/password-field/password-field.d.ts +8 -0
  353. package/lib/new-components/password-field/password-field.js +2 -0
  354. package/lib/new-components/password-field/password-field.js.map +1 -0
  355. package/lib/new-components/password-field/password-field.module.css.js +2 -0
  356. package/lib/new-components/password-field/password-field.module.css.js.map +1 -0
  357. package/lib/new-components/password-field/password-field.test.d.ts +1 -0
  358. package/lib/new-components/responsive-props.d.ts +44 -0
  359. package/lib/new-components/responsive-props.js +2 -0
  360. package/lib/new-components/responsive-props.js.map +1 -0
  361. package/lib/new-components/select-field/index.d.ts +1 -0
  362. package/lib/new-components/select-field/select-field.d.ts +6 -0
  363. package/lib/new-components/select-field/select-field.js +2 -0
  364. package/lib/new-components/select-field/select-field.js.map +1 -0
  365. package/lib/new-components/select-field/select-field.module.css.js +2 -0
  366. package/lib/new-components/select-field/select-field.module.css.js.map +1 -0
  367. package/lib/new-components/select-field/select-field.test.d.ts +1 -0
  368. package/lib/new-components/spinner/index.d.ts +1 -0
  369. package/lib/new-components/spinner/spinner.d.ts +5 -0
  370. package/lib/new-components/spinner/spinner.js +2 -0
  371. package/lib/new-components/spinner/spinner.js.map +1 -0
  372. package/lib/new-components/spinner/spinner.module.css.js +2 -0
  373. package/lib/new-components/spinner/spinner.module.css.js.map +1 -0
  374. package/lib/new-components/stack/index.d.ts +1 -0
  375. package/lib/new-components/stack/stack.d.ts +15 -0
  376. package/lib/new-components/stack/stack.js +2 -0
  377. package/lib/new-components/stack/stack.js.map +1 -0
  378. package/lib/new-components/stack/stack.module.css.js +2 -0
  379. package/lib/new-components/stack/stack.module.css.js.map +1 -0
  380. package/lib/new-components/stack/stack.test.d.ts +1 -0
  381. package/lib/new-components/switch-field/index.d.ts +1 -0
  382. package/lib/new-components/switch-field/switch-field.d.ts +13 -0
  383. package/lib/new-components/switch-field/switch-field.js +2 -0
  384. package/lib/new-components/switch-field/switch-field.js.map +1 -0
  385. package/lib/new-components/switch-field/switch-field.module.css.js +2 -0
  386. package/lib/new-components/switch-field/switch-field.module.css.js.map +1 -0
  387. package/lib/new-components/switch-field/switch-field.test.d.ts +1 -0
  388. package/lib/new-components/tabs/index.d.ts +1 -0
  389. package/lib/new-components/tabs/tabs.d.ts +92 -0
  390. package/lib/new-components/tabs/tabs.js +2 -0
  391. package/lib/new-components/tabs/tabs.js.map +1 -0
  392. package/lib/new-components/tabs/tabs.module.css.js +2 -0
  393. package/lib/new-components/tabs/tabs.module.css.js.map +1 -0
  394. package/lib/new-components/tabs/tabs.test.d.ts +1 -0
  395. package/lib/new-components/test-helpers.d.ts +9 -0
  396. package/lib/new-components/text/index.d.ts +1 -0
  397. package/lib/new-components/text/text.d.ts +47 -0
  398. package/lib/new-components/text/text.js +2 -0
  399. package/lib/new-components/text/text.js.map +1 -0
  400. package/lib/new-components/text/text.module.css.js +2 -0
  401. package/lib/new-components/text/text.module.css.js.map +1 -0
  402. package/lib/new-components/text/text.test.d.ts +1 -0
  403. package/lib/new-components/text-area/index.d.ts +1 -0
  404. package/lib/new-components/text-area/text-area.d.ts +6 -0
  405. package/lib/new-components/text-area/text-area.js +2 -0
  406. package/lib/new-components/text-area/text-area.js.map +1 -0
  407. package/lib/new-components/text-area/text-area.module.css.js +2 -0
  408. package/lib/new-components/text-area/text-area.module.css.js.map +1 -0
  409. package/lib/new-components/text-field/index.d.ts +1 -0
  410. package/lib/new-components/text-field/text-field.d.ts +9 -0
  411. package/lib/new-components/text-field/text-field.js +2 -0
  412. package/lib/new-components/text-field/text-field.js.map +1 -0
  413. package/lib/new-components/text-field/text-field.module.css.js +2 -0
  414. package/lib/new-components/text-field/text-field.module.css.js.map +1 -0
  415. package/lib/new-components/text-field/text-field.test.d.ts +1 -0
  416. package/lib/new-components/text-link/index.d.ts +1 -0
  417. package/lib/new-components/text-link/text-link.d.ts +5 -0
  418. package/lib/new-components/text-link/text-link.js +2 -0
  419. package/lib/new-components/text-link/text-link.js.map +1 -0
  420. package/lib/new-components/text-link/text-link.module.css.js +2 -0
  421. package/lib/new-components/text-link/text-link.module.css.js.map +1 -0
  422. package/lib/utils/polymorphism.d.ts +151 -0
  423. package/lib/utils/polymorphism.js +2 -0
  424. package/lib/utils/polymorphism.js.map +1 -0
  425. package/package.json +25 -16
  426. package/styles/alert.css +6 -0
  427. package/styles/alert.module.css.css +1 -0
  428. package/styles/base-button.css +7 -0
  429. package/styles/base-button.module.css.css +1 -0
  430. package/styles/base-field.css +8 -0
  431. package/styles/base-field.module.css.css +1 -0
  432. package/styles/box.css +4 -0
  433. package/styles/box.module.css.css +1 -0
  434. package/styles/checkbox-field.css +6 -0
  435. package/styles/checkbox-field.module.css.css +1 -0
  436. package/styles/color-picker.css +2 -2
  437. package/styles/columns.css +5 -0
  438. package/styles/columns.module.css.css +1 -0
  439. package/styles/{button.css → deprecated-button.css} +2 -2
  440. package/styles/deprecated-loading.css +1 -0
  441. package/styles/deprecated-modal.css +1 -0
  442. package/styles/divider.css +5 -0
  443. package/styles/divider.module.css.css +1 -0
  444. package/styles/dropdown.css +3 -3
  445. package/styles/heading.css +5 -0
  446. package/styles/heading.module.css.css +1 -0
  447. package/styles/hidden-visually.css +5 -0
  448. package/styles/hidden-visually.module.css.css +1 -0
  449. package/styles/hidden.css +5 -0
  450. package/styles/hidden.module.css.css +1 -0
  451. package/styles/inline.css +5 -0
  452. package/styles/inline.module.css.css +1 -0
  453. package/styles/loading.css +5 -1
  454. package/styles/margin.module.css.css +1 -0
  455. package/styles/modal.css +11 -1
  456. package/styles/modal.module.css.css +1 -0
  457. package/styles/notice.css +6 -0
  458. package/styles/notice.module.css.css +1 -0
  459. package/styles/padding.module.css.css +1 -0
  460. package/styles/password-field.css +11 -0
  461. package/styles/password-field.module.css.css +1 -0
  462. package/styles/progress-bar.css +5 -0
  463. package/styles/reactist.css +33 -11
  464. package/styles/select-field.css +9 -0
  465. package/styles/select-field.module.css.css +1 -0
  466. package/styles/spinner.module.css.css +1 -0
  467. package/styles/stack.css +6 -0
  468. package/styles/stack.module.css.css +1 -0
  469. package/styles/switch-field.css +10 -0
  470. package/styles/switch-field.module.css.css +1 -0
  471. package/styles/tabs.css +6 -1
  472. package/styles/tabs.module.css.css +1 -0
  473. package/styles/text-area.css +9 -0
  474. package/styles/text-area.module.css.css +1 -0
  475. package/styles/text-field.css +9 -0
  476. package/styles/text-field.module.css.css +1 -0
  477. package/styles/text-link.css +5 -0
  478. package/styles/text-link.module.css.css +1 -0
  479. package/styles/text.css +5 -0
  480. package/styles/text.module.css.css +1 -0
  481. package/styles/time.css +2 -2
  482. package/styles/width.module.css.css +1 -0
  483. package/es/components/button/button.js.map +0 -1
  484. package/es/components/error-message/error-message.js +0 -90
  485. package/es/components/error-message/error-message.js.map +0 -1
  486. package/es/components/error-message/index.js +0 -6
  487. package/es/components/error-message/index.js.map +0 -1
  488. package/es/components/icon/icon.js +0 -96
  489. package/es/components/icon/icon.js.map +0 -1
  490. package/es/components/icon/index.js +0 -6
  491. package/es/components/icon/index.js.map +0 -1
  492. package/es/components/icons/ThinQuestionMarkIcon.svg.js +0 -24
  493. package/es/components/icons/ThinQuestionMarkIcon.svg.js.map +0 -1
  494. package/es/components/icons/ThreeDotsIcon.svg.js +0 -40
  495. package/es/components/icons/ThreeDotsIcon.svg.js.map +0 -1
  496. package/es/components/loading/index.js +0 -6
  497. package/es/components/loading/index.js.map +0 -1
  498. package/es/components/loading/loading.js.map +0 -1
  499. package/es/components/menu/type-helpers.js +0 -9
  500. package/es/components/menu/type-helpers.js.map +0 -1
  501. package/es/components/modal/index.js.map +0 -1
  502. package/es/components/modal/modal.js.map +0 -1
  503. package/es/components/range-input/index.js +0 -6
  504. package/es/components/range-input/index.js.map +0 -1
  505. package/es/components/range-input/range-input.js +0 -55
  506. package/es/components/range-input/range-input.js.map +0 -1
  507. package/es/components/tabs/tabs.js +0 -123
  508. package/es/components/tabs/tabs.js.map +0 -1
  509. package/es/components/tip/index.js +0 -6
  510. package/es/components/tip/index.js.map +0 -1
  511. package/es/components/tip/tip.js +0 -30
  512. package/es/components/tip/tip.js.map +0 -1
  513. package/lib/components/button/button.js +0 -2
  514. package/lib/components/button/button.js.map +0 -1
  515. package/lib/components/button/index.d.ts +0 -4
  516. package/lib/components/error-message/error-message.d.ts +0 -23
  517. package/lib/components/error-message/error-message.js +0 -2
  518. package/lib/components/error-message/error-message.js.map +0 -1
  519. package/lib/components/error-message/index.d.ts +0 -2
  520. package/lib/components/error-message/index.js +0 -2
  521. package/lib/components/error-message/index.js.map +0 -1
  522. package/lib/components/icon/icon.d.ts +0 -31
  523. package/lib/components/icon/icon.js +0 -2
  524. package/lib/components/icon/icon.js.map +0 -1
  525. package/lib/components/icon/index.d.ts +0 -2
  526. package/lib/components/icon/index.js +0 -2
  527. package/lib/components/icon/index.js.map +0 -1
  528. package/lib/components/icons/ThinQuestionMarkIcon.svg.js +0 -2
  529. package/lib/components/icons/ThinQuestionMarkIcon.svg.js.map +0 -1
  530. package/lib/components/icons/ThreeDotsIcon.svg.js +0 -2
  531. package/lib/components/icons/ThreeDotsIcon.svg.js.map +0 -1
  532. package/lib/components/loading/index.d.ts +0 -2
  533. package/lib/components/loading/index.js +0 -2
  534. package/lib/components/loading/index.js.map +0 -1
  535. package/lib/components/loading/loading.js.map +0 -1
  536. package/lib/components/menu/type-helpers.d.ts +0 -25
  537. package/lib/components/menu/type-helpers.js +0 -2
  538. package/lib/components/menu/type-helpers.js.map +0 -1
  539. package/lib/components/modal/index.js +0 -2
  540. package/lib/components/modal/index.js.map +0 -1
  541. package/lib/components/modal/modal.js +0 -2
  542. package/lib/components/modal/modal.js.map +0 -1
  543. package/lib/components/range-input/index.d.ts +0 -2
  544. package/lib/components/range-input/index.js +0 -2
  545. package/lib/components/range-input/index.js.map +0 -1
  546. package/lib/components/range-input/range-input.d.ts +0 -25
  547. package/lib/components/range-input/range-input.js +0 -2
  548. package/lib/components/range-input/range-input.js.map +0 -1
  549. package/lib/components/tabs/index.d.ts +0 -1
  550. package/lib/components/tabs/tabs.d.ts +0 -33
  551. package/lib/components/tabs/tabs.js +0 -2
  552. package/lib/components/tabs/tabs.js.map +0 -1
  553. package/lib/components/tip/index.d.ts +0 -2
  554. package/lib/components/tip/index.js +0 -2
  555. package/lib/components/tip/index.js.map +0 -1
  556. package/lib/components/tip/tip.d.ts +0 -20
  557. package/lib/components/tip/tip.js +0 -2
  558. package/lib/components/tip/tip.js.map +0 -1
  559. package/styles/error-message.css +0 -1
  560. package/styles/icon.css +0 -2
  561. package/styles/range-input.css +0 -1
  562. package/styles/tip.css +0 -4
@@ -1 +1 @@
1
- {"version":3,"file":"time.js","sources":["../../../src/components/time/time.tsx"],"sourcesContent":["import React from 'react'\n\nimport { Tooltip } from '../tooltip'\nimport { TimeUtils, TimeConfig } from './time-utils'\n\nimport './time.less'\n\nconst DELAY = 60000\n\ntype Props = {\n /** UNIX timestamp of the time to display. */\n time?: number\n /** Configuration for localization. */\n config?: TimeConfig\n /** Additional css class applied to the time element. */\n className?: string\n tooltipOnHover?: boolean\n /** Refresh the component every DELAY seconds. */\n refresh?: boolean\n /** If you don't want to use the default time format on the tooltip use this prop to supply a custom text */\n tooltip?: React.ReactNode\n /** When hovering over time it expands to short absolute version. */\n expandOnHover?: boolean\n /** When hovering over time it expands to the full absolute version. */\n expandFullyOnHover?: boolean\n}\n\ntype State = {\n hovered: boolean\n mouseX?: number\n mouseY?: number\n}\n\nclass Time extends React.Component<Props, State> {\n public static displayName: string\n public static defaultProps: Props\n\n constructor(props: Props) {\n super(props)\n this.refreshInterval = undefined\n\n this.state = {\n hovered: false,\n mouseX: undefined,\n mouseY: undefined,\n }\n }\n\n componentDidMount() {\n if (this.props.refresh) {\n this._refresh()\n }\n }\n\n componentDidUpdate(prevProps: Props) {\n if (!prevProps.refresh && this.props.refresh) {\n this._refresh()\n }\n\n if (prevProps.refresh && !this.props.refresh) {\n if (this.refreshInterval) {\n clearTimeout(this.refreshInterval)\n }\n }\n }\n\n componentWillUnmount() {\n if (this.refreshInterval) {\n clearTimeout(this.refreshInterval)\n }\n }\n\n refreshInterval?: ReturnType<typeof setTimeout>\n\n _setHovered(hovered: boolean, event: React.MouseEvent) {\n const { mouseX, mouseY } = this.state\n const { clientX, clientY } = event\n if (clientX !== mouseX || clientY !== mouseY) {\n // mouse has moved\n this.setState(() => ({\n hovered,\n mouseX: clientX,\n mouseY: clientY,\n }))\n }\n }\n\n _renderTime(config: Props['config']) {\n if (!this.props.time) {\n return\n }\n if (this.state.hovered) {\n if (this.props.expandFullyOnHover && !this.props.tooltipOnHover) {\n return TimeUtils.formatTimeLong(this.props.time, config)\n }\n if (this.props.expandOnHover && !this.props.tooltipOnHover) {\n return TimeUtils.formatTime(this.props.time, config)\n }\n }\n return TimeUtils.timeAgo(this.props.time, config)\n }\n\n _refresh() {\n this.refreshInterval = setInterval(() => {\n this.forceUpdate()\n }, DELAY)\n }\n\n render() {\n let className = 'reactist_time'\n if (this.props.className) {\n className = this.props.className\n }\n\n const timeComponent = this._renderTime(this.props.config)\n\n return (\n <time\n className={className}\n onMouseEnter={(event) => this._setHovered(true, event)}\n onMouseLeave={(event) => this._setHovered(false, event)}\n >\n {this.props.tooltipOnHover ? (\n <Tooltip\n content={\n this.props.tooltip ||\n (this.props.time &&\n TimeUtils.formatTimeLong(this.props.time, this.props.config))\n }\n >\n <span>{timeComponent}</span>\n </Tooltip>\n ) : (\n timeComponent\n )}\n </time>\n )\n }\n}\nTime.displayName = 'Time'\n\nTime.defaultProps = {\n expandOnHover: false,\n expandFullyOnHover: false,\n tooltipOnHover: false,\n refresh: true,\n config: {\n locale: 'en',\n daysSuffix: 'd',\n hoursSuffix: 'h',\n minutesSuffix: 'm',\n momentsAgo: 'moments ago',\n },\n}\n\nexport { Time }\n"],"names":["DELAY","Time","props","refreshInterval","undefined","state","hovered","mouseX","mouseY","componentDidMount","refresh","_refresh","componentDidUpdate","prevProps","clearTimeout","componentWillUnmount","_setHovered","event","clientX","clientY","setState","_renderTime","config","time","expandFullyOnHover","tooltipOnHover","TimeUtils","formatTimeLong","expandOnHover","formatTime","timeAgo","setInterval","forceUpdate","render","className","timeComponent","React","onMouseEnter","onMouseLeave","Tooltip","content","tooltip","Component","displayName","defaultProps","locale","daysSuffix","hoursSuffix","minutesSuffix","momentsAgo"],"mappings":"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"}
1
+ {"version":3,"file":"time.js","sources":["../../../src/components/time/time.tsx"],"sourcesContent":["import React from 'react'\n\nimport { Tooltip } from '../tooltip'\nimport { TimeUtils, TimeConfig } from './time-utils'\n\nimport './time.less'\n\nconst DELAY = 60000\n\ntype Props = {\n /** UNIX timestamp of the time to display. */\n time?: number\n /** Configuration for localization. */\n config?: TimeConfig\n /** Additional css class applied to the time element. */\n className?: string\n tooltipOnHover?: boolean\n /** Refresh the component every DELAY seconds. */\n refresh?: boolean\n /** If you don't want to use the default time format on the tooltip use this prop to supply a custom text */\n tooltip?: React.ReactNode\n /** When hovering over time it expands to short absolute version. */\n expandOnHover?: boolean\n /** When hovering over time it expands to the full absolute version. */\n expandFullyOnHover?: boolean\n}\n\ntype State = {\n hovered: boolean\n mouseX?: number\n mouseY?: number\n}\n\nclass Time extends React.Component<Props, State> {\n public static displayName: string\n public static defaultProps: Props\n\n constructor(props: Props) {\n super(props)\n this.refreshInterval = undefined\n\n this.state = {\n hovered: false,\n mouseX: undefined,\n mouseY: undefined,\n }\n }\n\n componentDidMount() {\n if (this.props.refresh) {\n this._refresh()\n }\n }\n\n componentDidUpdate(prevProps: Props) {\n if (!prevProps.refresh && this.props.refresh) {\n this._refresh()\n }\n\n if (prevProps.refresh && !this.props.refresh) {\n if (this.refreshInterval) {\n clearTimeout(this.refreshInterval)\n }\n }\n }\n\n componentWillUnmount() {\n if (this.refreshInterval) {\n clearTimeout(this.refreshInterval)\n }\n }\n\n refreshInterval?: ReturnType<typeof setTimeout>\n\n _setHovered(hovered: boolean, event: React.MouseEvent) {\n const { mouseX, mouseY } = this.state\n const { clientX, clientY } = event\n if (clientX !== mouseX || clientY !== mouseY) {\n // mouse has moved\n this.setState(() => ({\n hovered,\n mouseX: clientX,\n mouseY: clientY,\n }))\n }\n }\n\n _renderTime(config: Props['config']) {\n if (!this.props.time) {\n return\n }\n if (this.state.hovered) {\n if (this.props.expandFullyOnHover && !this.props.tooltipOnHover) {\n return TimeUtils.formatTimeLong(this.props.time, config)\n }\n if (this.props.expandOnHover && !this.props.tooltipOnHover) {\n return TimeUtils.formatTime(this.props.time, config)\n }\n }\n return TimeUtils.timeAgo(this.props.time, config)\n }\n\n _refresh() {\n this.refreshInterval = setInterval(() => {\n this.forceUpdate()\n }, DELAY)\n }\n\n render() {\n let className = 'reactist_time'\n if (this.props.className) {\n className = this.props.className\n }\n\n const timeComponent = this._renderTime(this.props.config)\n\n return (\n <time\n className={className}\n onMouseEnter={(event) => this._setHovered(true, event)}\n onMouseLeave={(event) => this._setHovered(false, event)}\n >\n {this.props.tooltipOnHover ? (\n <Tooltip\n content={\n this.props.tooltip ||\n (this.props.time &&\n TimeUtils.formatTimeLong(this.props.time, this.props.config))\n }\n >\n <span>{timeComponent}</span>\n </Tooltip>\n ) : (\n timeComponent\n )}\n </time>\n )\n }\n}\nTime.displayName = 'Time'\n\nTime.defaultProps = {\n expandOnHover: false,\n expandFullyOnHover: false,\n tooltipOnHover: false,\n refresh: true,\n config: {\n locale: 'en',\n daysSuffix: 'd',\n hoursSuffix: 'h',\n minutesSuffix: 'm',\n momentsAgo: 'moments ago',\n },\n}\n\nexport { Time }\n"],"names":["DELAY","Time","props","refreshInterval","undefined","state","hovered","mouseX","mouseY","componentDidMount","refresh","_refresh","componentDidUpdate","prevProps","clearTimeout","componentWillUnmount","_setHovered","event","clientX","clientY","setState","_renderTime","config","time","expandFullyOnHover","tooltipOnHover","TimeUtils","formatTimeLong","expandOnHover","formatTime","timeAgo","setInterval","forceUpdate","render","className","timeComponent","React","onMouseEnter","onMouseLeave","Tooltip","content","tooltip","Component","displayName","defaultProps","locale","daysSuffix","hoursSuffix","minutesSuffix","momentsAgo"],"mappings":"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"}
@@ -1,8 +1,10 @@
1
+ import { objectWithoutPropertiesLoose as _objectWithoutPropertiesLoose, objectSpread2 as _objectSpread2 } from '../../_virtual/_rollupPluginBabelHelpers.js';
1
2
  import React__default from 'react';
2
3
  import classNames from 'classnames';
3
- import { objectWithoutPropertiesLoose as _objectWithoutPropertiesLoose, objectSpread2 as _objectSpread2 } from '../../_virtual/_rollupPluginBabelHelpers.js';
4
4
  import { TooltipReference, Tooltip as Tooltip$1, useTooltipState } from 'reakit/Tooltip';
5
5
 
6
+ var _excluded = ["children", "content", "position", "gapSize", "className"];
7
+
6
8
  var SHOW_DELAY = 500;
7
9
  var HIDE_DELAY = 100;
8
10
 
@@ -29,7 +31,7 @@ function Tooltip(_ref) {
29
31
  _ref$gapSize = _ref.gapSize,
30
32
  gapSize = _ref$gapSize === void 0 ? 3 : _ref$gapSize,
31
33
  className = _ref.className,
32
- props = _objectWithoutPropertiesLoose(_ref, ["children", "content", "position", "gapSize", "className"]);
34
+ props = _objectWithoutPropertiesLoose(_ref, _excluded);
33
35
 
34
36
  var tooltip = useDelayedTooltipState({
35
37
  placement: position,
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip.js","sources":["../../../src/components/tooltip/tooltip.tsx"],"sourcesContent":["import React from 'react'\nimport classNames from 'classnames'\n\nimport {\n useTooltipState,\n TooltipInitialState,\n Tooltip as ReakitTooltip,\n TooltipReference,\n TooltipProps as ReakitTooltipProps,\n} from 'reakit/Tooltip'\nimport { PopoverState } from 'reakit/Popover'\n\nimport './tooltip.less'\n\ntype TooltipProps = Omit<ReakitTooltipProps, 'children'> & {\n children: React.ReactNode\n content: React.ReactNode | (() => React.ReactNode)\n position?: PopoverState['placement']\n gapSize?: number\n}\n\n// These are exported to be used in the tests, they are not meant to be exported publicly\nexport const SHOW_DELAY = 500\nexport const HIDE_DELAY = 100\n\nfunction useDelayedTooltipState(initialState: TooltipInitialState) {\n const tooltipState = useTooltipState(initialState)\n const delay = useDelay()\n return React.useMemo(\n () => ({\n ...tooltipState,\n show: delay(() => tooltipState.show(), SHOW_DELAY),\n hide: delay(() => tooltipState.hide(), HIDE_DELAY),\n }),\n [delay, tooltipState],\n )\n}\n\nfunction Tooltip({\n children,\n content,\n position = 'top',\n gapSize = 3,\n className,\n ...props\n}: TooltipProps) {\n const tooltip = useDelayedTooltipState({ placement: position, gutter: gapSize })\n\n const child = React.Children.only<React.ReactElement>(children as React.ReactElement)\n if (!content) {\n return child\n }\n\n /**\n * Prevents the tooltip from automatically firing on focus all the time. This is to prevent\n * tooltips from showing when the trigger element is focused back after a popover or dialog that\n * it opened was closed. See link below for more details.\n * @see https://github.com/reakit/reakit/discussions/749\n */\n function handleFocus(event: React.FocusEvent) {\n // If focus is not followed by a key up event, does it mean that it's not\n // an intentional keyboard focus? Not sure but it seems to work.\n // This may be resolved soon in an upcoming version of reakit:\n // https://github.com/reakit/reakit/issues/750\n function handleKeyUp(e: Event) {\n const eventKey = (e as KeyboardEvent).key\n if (eventKey !== 'Escape' && eventKey !== 'Enter' && eventKey !== 'Space') {\n tooltip.show()\n }\n }\n event.currentTarget.addEventListener('keyup', handleKeyUp, { once: true })\n // Prevent tooltip.show from being called by TooltipReference\n event.preventDefault()\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access\n if (typeof child.props.onFocus === 'function') child.props.onFocus(event)\n }\n\n return (\n <>\n <TooltipReference\n {...tooltip}\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-assignment\n ref={(child as any).ref}\n {...child.props}\n onFocus={handleFocus}\n >\n {(referenceProps) => React.cloneElement(child, referenceProps)}\n </TooltipReference>\n {tooltip.visible ? (\n <ReakitTooltip\n {...tooltip}\n {...props}\n className={classNames('reactist_tooltip', className)}\n >\n {typeof content === 'function' ? content() : content}\n </ReakitTooltip>\n ) : null}\n </>\n )\n}\n\nexport type { TooltipProps }\nexport { Tooltip }\n\n//\n// Internal helpers\n//\n\n/**\n * Returns a function offering the same interface as setTimeout, but cleans up on unmount.\n *\n * The timeout state is shared, and only one delayed function can be active at any given time. If\n * a new delayed function is called while another one was waiting for its time to run, that older\n * invocation is cleared and it never runs.\n *\n * This is suitable for our use case here, but probably not the most intuitive thing in general.\n * That's why this is not made a shared util or something like it.\n */\nfunction useDelay() {\n const timeoutRef = React.useRef<ReturnType<typeof setTimeout>>()\n\n const clearTimeouts = React.useCallback(function clearTimeouts() {\n if (timeoutRef.current != null) {\n clearTimeout(timeoutRef.current)\n }\n }, [])\n\n // Runs clearTimeouts when the component is unmounted\n React.useEffect(() => clearTimeouts, [clearTimeouts])\n\n return React.useCallback(\n function delay(fn: () => void, delay: number) {\n return () => {\n clearTimeouts()\n timeoutRef.current = setTimeout(fn, delay)\n }\n },\n [clearTimeouts],\n )\n}\n"],"names":["SHOW_DELAY","HIDE_DELAY","useDelayedTooltipState","initialState","tooltipState","useTooltipState","delay","useDelay","React","useMemo","show","hide","Tooltip","children","content","position","gapSize","className","props","tooltip","placement","gutter","child","Children","only","handleFocus","event","handleKeyUp","e","eventKey","key","currentTarget","addEventListener","once","preventDefault","onFocus","TooltipReference","ref","referenceProps","cloneElement","visible","ReakitTooltip","classNames","timeoutRef","useRef","clearTimeouts","useCallback","current","clearTimeout","useEffect","fn","setTimeout"],"mappings":"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"}
1
+ {"version":3,"file":"tooltip.js","sources":["../../../src/components/tooltip/tooltip.tsx"],"sourcesContent":["import React from 'react'\nimport classNames from 'classnames'\n\nimport {\n useTooltipState,\n TooltipInitialState,\n Tooltip as ReakitTooltip,\n TooltipReference,\n TooltipProps as ReakitTooltipProps,\n} from 'reakit/Tooltip'\nimport { PopoverState } from 'reakit/Popover'\n\nimport './tooltip.less'\n\ntype TooltipProps = Omit<ReakitTooltipProps, 'children'> & {\n children: React.ReactNode\n content: React.ReactNode | (() => React.ReactNode)\n position?: PopoverState['placement']\n gapSize?: number\n}\n\n// These are exported to be used in the tests, they are not meant to be exported publicly\nexport const SHOW_DELAY = 500\nexport const HIDE_DELAY = 100\n\nfunction useDelayedTooltipState(initialState: TooltipInitialState) {\n const tooltipState = useTooltipState(initialState)\n const delay = useDelay()\n return React.useMemo(\n () => ({\n ...tooltipState,\n show: delay(() => tooltipState.show(), SHOW_DELAY),\n hide: delay(() => tooltipState.hide(), HIDE_DELAY),\n }),\n [delay, tooltipState],\n )\n}\n\nfunction Tooltip({\n children,\n content,\n position = 'top',\n gapSize = 3,\n className,\n ...props\n}: TooltipProps) {\n const tooltip = useDelayedTooltipState({ placement: position, gutter: gapSize })\n\n const child = React.Children.only<React.ReactElement>(children as React.ReactElement)\n if (!content) {\n return child\n }\n\n /**\n * Prevents the tooltip from automatically firing on focus all the time. This is to prevent\n * tooltips from showing when the trigger element is focused back after a popover or dialog that\n * it opened was closed. See link below for more details.\n * @see https://github.com/reakit/reakit/discussions/749\n */\n function handleFocus(event: React.FocusEvent) {\n // If focus is not followed by a key up event, does it mean that it's not\n // an intentional keyboard focus? Not sure but it seems to work.\n // This may be resolved soon in an upcoming version of reakit:\n // https://github.com/reakit/reakit/issues/750\n function handleKeyUp(e: Event) {\n const eventKey = (e as KeyboardEvent).key\n if (eventKey !== 'Escape' && eventKey !== 'Enter' && eventKey !== 'Space') {\n tooltip.show()\n }\n }\n event.currentTarget.addEventListener('keyup', handleKeyUp, { once: true })\n // Prevent tooltip.show from being called by TooltipReference\n event.preventDefault()\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access\n if (typeof child.props.onFocus === 'function') child.props.onFocus(event)\n }\n\n return (\n <>\n <TooltipReference\n {...tooltip}\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-assignment\n ref={(child as any).ref}\n {...child.props}\n onFocus={handleFocus}\n >\n {(referenceProps) => React.cloneElement(child, referenceProps)}\n </TooltipReference>\n {tooltip.visible ? (\n <ReakitTooltip\n {...tooltip}\n {...props}\n className={classNames('reactist_tooltip', className)}\n >\n {typeof content === 'function' ? content() : content}\n </ReakitTooltip>\n ) : null}\n </>\n )\n}\n\nexport type { TooltipProps }\nexport { Tooltip }\n\n//\n// Internal helpers\n//\n\n/**\n * Returns a function offering the same interface as setTimeout, but cleans up on unmount.\n *\n * The timeout state is shared, and only one delayed function can be active at any given time. If\n * a new delayed function is called while another one was waiting for its time to run, that older\n * invocation is cleared and it never runs.\n *\n * This is suitable for our use case here, but probably not the most intuitive thing in general.\n * That's why this is not made a shared util or something like it.\n */\nfunction useDelay() {\n const timeoutRef = React.useRef<ReturnType<typeof setTimeout>>()\n\n const clearTimeouts = React.useCallback(function clearTimeouts() {\n if (timeoutRef.current != null) {\n clearTimeout(timeoutRef.current)\n }\n }, [])\n\n // Runs clearTimeouts when the component is unmounted\n React.useEffect(() => clearTimeouts, [clearTimeouts])\n\n return React.useCallback(\n function delay(fn: () => void, delay: number) {\n return () => {\n clearTimeouts()\n timeoutRef.current = setTimeout(fn, delay)\n }\n },\n [clearTimeouts],\n )\n}\n"],"names":["SHOW_DELAY","HIDE_DELAY","useDelayedTooltipState","initialState","tooltipState","useTooltipState","delay","useDelay","React","useMemo","show","hide","Tooltip","children","content","position","gapSize","className","props","tooltip","placement","gutter","child","Children","only","handleFocus","event","handleKeyUp","e","eventKey","key","currentTarget","addEventListener","once","preventDefault","onFocus","TooltipReference","ref","referenceProps","cloneElement","visible","ReakitTooltip","classNames","timeoutRef","useRef","clearTimeouts","useCallback","current","clearTimeout","useEffect","fn","setTimeout"],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import { useRef, useEffect } from 'react';
2
+
3
+ /**
4
+ * usePrevious tracks the change of the given value -
5
+ * when a given value has been changed from a previous call,
6
+ * it will return the value prior to the change.
7
+ *
8
+ * Example:
9
+ *
10
+ * const [x, setX] = useState(1)
11
+ * const prevX = usePrevious(x)
12
+ *
13
+ * Suppose `setX(2)` is called, then in the next component render
14
+ * x = 2 and prevX = 1
15
+ */
16
+
17
+ function usePrevious(value) {
18
+ var ref = useRef(null);
19
+ useEffect(function () {
20
+ ref.current = value;
21
+ }, [value]);
22
+ return ref.current;
23
+ }
24
+
25
+ export { usePrevious };
26
+ //# sourceMappingURL=use-previous.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-previous.js","sources":["../../../src/hooks/use-previous/use-previous.ts"],"sourcesContent":["import * as React from 'react'\n\n/**\n * usePrevious tracks the change of the given value -\n * when a given value has been changed from a previous call,\n * it will return the value prior to the change.\n *\n * Example:\n *\n * const [x, setX] = useState(1)\n * const prevX = usePrevious(x)\n *\n * Suppose `setX(2)` is called, then in the next component render\n * x = 2 and prevX = 1\n */\nfunction usePrevious<T>(value: T): T | null {\n const ref = React.useRef<T | null>(null)\n\n React.useEffect(() => {\n ref.current = value\n }, [value])\n\n return ref.current\n}\n\nexport { usePrevious }\n"],"names":["usePrevious","value","ref","React","current"],"mappings":";;AAEA;;;;;;;;;;;;;;AAaA,SAASA,WAAT,CAAwBC,KAAxB;AACI,MAAMC,GAAG,GAAGC,MAAA,CAAuB,IAAvB,CAAZ;AAEAA,EAAAA,SAAA,CAAgB;AACZD,IAAAA,GAAG,CAACE,OAAJ,GAAcH,KAAd;AACH,GAFD,EAEG,CAACA,KAAD,CAFH;AAIA,SAAOC,GAAG,CAACE,OAAX;AACH;;;;"}
package/es/index.js CHANGED
@@ -1,25 +1,44 @@
1
- export { default as Avatar } from './components/avatar/index.js';
1
+ export { Box } from './new-components/box/box.js';
2
+ export { Column, Columns } from './new-components/columns/columns.js';
3
+ export { Divider } from './new-components/divider/divider.js';
4
+ export { Inline } from './new-components/inline/inline.js';
5
+ export { Stack } from './new-components/stack/stack.js';
6
+ export { Hidden } from './new-components/hidden/hidden.js';
7
+ export { HiddenVisually } from './new-components/hidden-visually/hidden-visually.js';
8
+ export { Alert } from './new-components/alert/alert.js';
9
+ export { Loading } from './new-components/loading/loading.js';
10
+ export { Notice } from './new-components/notice/notice.js';
11
+ export { Heading } from './new-components/heading/heading.js';
12
+ export { Text } from './new-components/text/text.js';
2
13
  export { Tooltip } from './components/tooltip/tooltip.js';
3
- export { default as Button } from './components/button/index.js';
14
+ export { Button } from './new-components/button/button.js';
15
+ export { ButtonLink } from './new-components/button-link/button-link.js';
16
+ export { TextLink } from './new-components/text-link/text-link.js';
17
+ export { CheckboxField } from './new-components/checkbox-field/checkbox-field.js';
18
+ export { PasswordField } from './new-components/password-field/password-field.js';
19
+ export { SelectField } from './new-components/select-field/select-field.js';
20
+ export { SwitchField } from './new-components/switch-field/switch-field.js';
21
+ export { TextArea } from './new-components/text-area/text-area.js';
22
+ export { TextField } from './new-components/text-field/text-field.js';
23
+ export { usePrevious } from './hooks/use-previous/use-previous.js';
24
+ export { Tab, TabAwareSlot, TabList, TabPanel, Tabs } from './new-components/tabs/tabs.js';
25
+ export { Modal, ModalActions, ModalBody, ModalCloseButton, ModalFooter, ModalHeader } from './new-components/modal/modal.js';
26
+ export { default as Avatar } from './components/avatar/index.js';
4
27
  export { default as Checkbox } from './components/checkbox/index.js';
28
+ export { default as DeprecatedButton } from './components/deprecated-button/index.js';
5
29
  export { default as Dropdown } from './components/dropdown/index.js';
6
30
  export { COLORS } from './components/color-picker/color-picker.js';
7
31
  export { default as ColorPicker } from './components/color-picker/index.js';
8
- export { default as ErrorMessage } from './components/error-message/index.js';
9
- export { default as Icon } from './components/icon/index.js';
10
32
  export { default as Input } from './components/input/index.js';
33
+ export { default as KeyboardShortcut } from './components/keyboard-shortcut/index.js';
11
34
  export { SUPPORTED_KEYS } from './components/key-capturer/key-capturer.js';
12
35
  export { default as KeyCapturer } from './components/key-capturer/index.js';
13
- export { default as KeyboardShortcut } from './components/keyboard-shortcut/index.js';
14
- export { default as Loading } from './components/loading/index.js';
15
- export { Menu, MenuButton, MenuGroup, MenuItem, MenuList, SubMenu } from './components/menu/menu.js';
16
- export { default as Modal } from './components/modal/index.js';
17
- export { Notification } from './components/notification/notification.js';
36
+ export { default as Popover } from './components/popover/index.js';
18
37
  export { default as ProgressBar } from './components/progress-bar/index.js';
19
- export { default as RangeInput } from './components/range-input/index.js';
20
38
  export { default as Select } from './components/select/index.js';
21
- export { Tab, Tabs } from './components/tabs/tabs.js';
22
39
  export { default as Time } from './components/time/index.js';
23
- export { default as Tip } from './components/tip/index.js';
24
- export { default as Popover } from './components/popover/index.js';
40
+ export { Notification } from './components/notification/notification.js';
41
+ export { Menu, MenuButton, MenuGroup, MenuItem, MenuList, SubMenu } from './components/menu/menu.js';
42
+ export { default as DeprecatedModal } from './components/deprecated-modal/index.js';
43
+ export { Loading as DeprecatedLoading } from './components/deprecated-loading/deprecated-loading.js';
25
44
  //# sourceMappingURL=index.js.map
package/es/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,38 @@
1
+ import { createElement } from 'react';
2
+ import { getClassNames } from '../responsive-props.js';
3
+ import { Box } from '../box/box.js';
4
+ import { Columns, Column } from '../columns/columns.js';
5
+ import { AlertIcon } from '../icons/alert-icon.js';
6
+ import { CloseIcon } from '../icons/close-icon.js';
7
+ import styles from './alert.module.css.js';
8
+
9
+ function Alert(_ref) {
10
+ var id = _ref.id,
11
+ children = _ref.children,
12
+ tone = _ref.tone,
13
+ closeLabel = _ref.closeLabel,
14
+ onClose = _ref.onClose;
15
+ return /*#__PURE__*/createElement(Box, {
16
+ id: id,
17
+ role: "alert",
18
+ "aria-live": "polite",
19
+ padding: "small",
20
+ className: [styles.container, getClassNames(styles, 'tone', tone)]
21
+ }, /*#__PURE__*/createElement(Columns, {
22
+ space: "small",
23
+ alignY: "top"
24
+ }, /*#__PURE__*/createElement(Column, {
25
+ width: "content"
26
+ }, /*#__PURE__*/createElement(AlertIcon, {
27
+ tone: tone
28
+ })), /*#__PURE__*/createElement(Column, null, children), onClose != null ? /*#__PURE__*/createElement(Column, {
29
+ width: "content"
30
+ }, /*#__PURE__*/createElement("button", {
31
+ type: "button",
32
+ onClick: onClose,
33
+ "aria-label": closeLabel
34
+ }, /*#__PURE__*/createElement(CloseIcon, null))) : null));
35
+ }
36
+
37
+ export { Alert };
38
+ //# sourceMappingURL=alert.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alert.js","sources":["../../../src/new-components/alert/alert.tsx"],"sourcesContent":["import * as React from 'react'\nimport { AlertTone } from '../common-types'\nimport { getClassNames } from '../responsive-props'\nimport { Box } from '../box'\nimport { Columns, Column } from '../columns'\n\nimport { AlertIcon } from '../icons/alert-icon'\nimport { CloseIcon } from '../icons/close-icon'\n\nimport styles from './alert.module.css'\n\ntype AllOrNone<T> = T | { [K in keyof T]?: never }\n\ntype AlertCloseProps = AllOrNone<{\n closeLabel: string\n onClose: () => void\n}>\n\ntype AlertProps = {\n id?: string\n children: React.ReactNode\n tone: AlertTone\n} & AlertCloseProps\n\nfunction Alert({ id, children, tone, closeLabel, onClose }: AlertProps) {\n return (\n <Box\n id={id}\n role=\"alert\"\n aria-live=\"polite\"\n padding=\"small\"\n className={[styles.container, getClassNames(styles, 'tone', tone)]}\n >\n <Columns space=\"small\" alignY=\"top\">\n <Column width=\"content\">\n <AlertIcon tone={tone} />\n </Column>\n <Column>{children}</Column>\n {onClose != null ? (\n <Column width=\"content\">\n <button type=\"button\" onClick={onClose} aria-label={closeLabel}>\n <CloseIcon />\n </button>\n </Column>\n ) : null}\n </Columns>\n </Box>\n )\n}\n\nexport { Alert }\nexport type { AlertProps }\n"],"names":["Alert","id","children","tone","closeLabel","onClose","React","Box","role","padding","className","styles","container","getClassNames","Columns","space","alignY","Column","width","AlertIcon","type","onClick","CloseIcon"],"mappings":";;;;;;;;AAwBA,SAASA,KAAT;MAAiBC,UAAAA;MAAIC,gBAAAA;MAAUC,YAAAA;MAAMC,kBAAAA;MAAYC,eAAAA;AAC7C,sBACIC,aAAA,CAACC,GAAD;AACIN,IAAAA,EAAE,EAAEA;AACJO,IAAAA,IAAI,EAAC;iBACK;AACVC,IAAAA,OAAO,EAAC;AACRC,IAAAA,SAAS,EAAE,CAACC,MAAM,CAACC,SAAR,EAAmBC,aAAa,CAACF,MAAD,EAAS,MAAT,EAAiBR,IAAjB,CAAhC;GALf,eAOIG,aAAA,CAACQ,OAAD;AAASC,IAAAA,KAAK,EAAC;AAAQC,IAAAA,MAAM,EAAC;GAA9B,eACIV,aAAA,CAACW,MAAD;AAAQC,IAAAA,KAAK,EAAC;GAAd,eACIZ,aAAA,CAACa,SAAD;AAAWhB,IAAAA,IAAI,EAAEA;GAAjB,CADJ,CADJ,eAIIG,aAAA,CAACW,MAAD,MAAA,EAASf,QAAT,CAJJ,EAKKG,OAAO,IAAI,IAAX,gBACGC,aAAA,CAACW,MAAD;AAAQC,IAAAA,KAAK,EAAC;GAAd,eACIZ,aAAA,SAAA;AAAQc,IAAAA,IAAI,EAAC;AAASC,IAAAA,OAAO,EAAEhB;kBAAqBD;GAApD,eACIE,aAAA,CAACgB,SAAD,MAAA,CADJ,CADJ,CADH,GAMG,IAXR,CAPJ,CADJ;AAuBH;;;;"}
@@ -0,0 +1,4 @@
1
+ var modules_6205a58e = {"container":"ad19f859","tone-info":"_7fd19074","tone-positive":"b6504efb","tone-caution":"_1668c1a3","tone-critical":"_59663dff"};
2
+
3
+ export default modules_6205a58e;
4
+ //# sourceMappingURL=alert.module.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alert.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1,72 @@
1
+ import { objectWithoutPropertiesLoose as _objectWithoutPropertiesLoose } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
+ import { createElement, Fragment } from 'react';
3
+ import { polymorphicComponent } from '../../utils/polymorphism.js';
4
+ import { Box } from '../box/box.js';
5
+ import { Spinner } from '../spinner/spinner.js';
6
+ import { Tooltip } from '../../components/tooltip/tooltip.js';
7
+ import styles from './base-button.module.css.js';
8
+
9
+ var _excluded = ["as", "variant", "tone", "size", "disabled", "loading", "tooltip", "onClick", "exceptionallySetClassName", "children", "startIcon", "endIcon", "icon"];
10
+
11
+ function preventDefault(event) {
12
+ event.preventDefault();
13
+ }
14
+ /**
15
+ * The component that powers `Button` and `ButtonLink`, where the button styling logic and some
16
+ * common functionality resides. This component is internal to Reactist.
17
+ *
18
+ * 🎨 [Figma](https://www.figma.com/file/LYlWNzvhMDh907l07mPPQk/Product-Web?node-id=4693%3A175143)
19
+ *
20
+ * @see Button
21
+ * @see ButtonLink
22
+ */
23
+
24
+
25
+ var BaseButton = /*#__PURE__*/polymorphicComponent(function BaseButton(_ref, ref) {
26
+ var _ref$as = _ref.as,
27
+ as = _ref$as === void 0 ? 'div' : _ref$as,
28
+ variant = _ref.variant,
29
+ _ref$tone = _ref.tone,
30
+ tone = _ref$tone === void 0 ? 'normal' : _ref$tone,
31
+ _ref$size = _ref.size,
32
+ size = _ref$size === void 0 ? 'normal' : _ref$size,
33
+ _ref$disabled = _ref.disabled,
34
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
35
+ _ref$loading = _ref.loading,
36
+ loading = _ref$loading === void 0 ? false : _ref$loading,
37
+ tooltip = _ref.tooltip,
38
+ onClick = _ref.onClick,
39
+ exceptionallySetClassName = _ref.exceptionallySetClassName,
40
+ children = _ref.children,
41
+ startIcon = _ref.startIcon,
42
+ endIcon = _ref.endIcon,
43
+ icon = _ref.icon,
44
+ props = _objectWithoutPropertiesLoose(_ref, _excluded);
45
+
46
+ var isDisabled = loading || disabled;
47
+ var buttonElement = /*#__PURE__*/createElement(Box, Object.assign({}, props, {
48
+ as: as,
49
+ ref: ref,
50
+ "aria-disabled": isDisabled,
51
+ onClick: isDisabled ? preventDefault : onClick,
52
+ className: [exceptionallySetClassName, styles.baseButton, styles["variant-" + variant], styles["tone-" + tone], styles["size-" + size], icon ? styles.iconButton : null, disabled ? styles.disabled : null]
53
+ }), icon ? loading && /*#__PURE__*/createElement(Spinner, null) || icon : /*#__PURE__*/createElement(Fragment, null, startIcon ? /*#__PURE__*/createElement(Box, {
54
+ display: "flex",
55
+ className: styles.startIcon,
56
+ "aria-hidden": true
57
+ }, loading && !endIcon ? /*#__PURE__*/createElement(Spinner, null) : startIcon) : null, children ? /*#__PURE__*/createElement("span", {
58
+ className: styles.label
59
+ }, children) : null, endIcon || loading && !startIcon ? /*#__PURE__*/createElement(Box, {
60
+ display: "flex",
61
+ className: styles.endIcon,
62
+ "aria-hidden": true
63
+ }, loading ? /*#__PURE__*/createElement(Spinner, null) : endIcon) : null)); // If it's an icon-only button, make sure it uses the aria-label as tooltip if no tooltip was provided
64
+
65
+ var tooltipContent = icon ? tooltip !== null && tooltip !== void 0 ? tooltip : props['aria-label'] : tooltip;
66
+ return tooltipContent ? /*#__PURE__*/createElement(Tooltip, {
67
+ content: tooltipContent
68
+ }, buttonElement) : buttonElement;
69
+ });
70
+
71
+ export { BaseButton };
72
+ //# sourceMappingURL=base-button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-button.js","sources":["../../../src/new-components/base-button/base-button.tsx"],"sourcesContent":["import * as React from 'react'\nimport { Tooltip, TooltipProps } from '../../components/tooltip'\nimport { polymorphicComponent } from '../../utils/polymorphism'\nimport { Box } from '../box'\nimport { Spinner } from '../spinner'\nimport styles from './base-button.module.css'\n\nfunction preventDefault(event: React.SyntheticEvent) {\n event.preventDefault()\n}\n\ntype ButtonVariant = 'primary' | 'secondary' | 'tertiary' | 'quaternary'\ntype ButtonTone = 'normal' | 'destructive'\ntype ButtonSize = 'small' | 'normal' | 'large'\ntype IconElement = React.ReactChild\n\ntype CommonProps = {\n /**\n * The button's variant.\n */\n variant: ButtonVariant\n /**\n * The button's tone.\n * @default 'normal'\n */\n tone?: ButtonTone\n /**\n * The button's size.\n * @default 'normal'\n */\n size?: ButtonSize\n /**\n * Whether the button is disabled or not.\n * @default false\n */\n disabled?: boolean\n /**\n * Whether the button is busy/loading.\n *\n * A button in this state is functionally and semantically disabled. Visually is does not look\n * dimmed (as disabled buttons normally do), but it shows a loading spinner instead.\n *\n * @default false\n */\n loading?: boolean\n /**\n * A tooltip linked to the button element.\n */\n tooltip?: TooltipProps['content']\n}\n\ntype IconButtonProps = {\n icon: IconElement\n 'aria-label': string\n children?: never\n startIcon?: never\n endIcon?: never\n}\n\ntype LabelledButtonProps = {\n children: NonNullable<React.ReactNode>\n startIcon?: IconElement\n endIcon?: IconElement\n icon?: never\n}\n\nexport type BaseButtonProps = CommonProps & (IconButtonProps | LabelledButtonProps)\n\n/**\n * The component that powers `Button` and `ButtonLink`, where the button styling logic and some\n * common functionality resides. This component is internal to Reactist.\n *\n * 🎨 [Figma](https://www.figma.com/file/LYlWNzvhMDh907l07mPPQk/Product-Web?node-id=4693%3A175143)\n *\n * @see Button\n * @see ButtonLink\n */\nexport const BaseButton = polymorphicComponent<'div', BaseButtonProps>(function BaseButton(\n {\n as = 'div',\n variant,\n tone = 'normal',\n size = 'normal',\n disabled = false,\n loading = false,\n tooltip,\n onClick,\n exceptionallySetClassName,\n children,\n startIcon,\n endIcon,\n icon,\n ...props\n },\n ref,\n) {\n const isDisabled = loading || disabled\n const buttonElement = (\n <Box\n {...props}\n as={as}\n ref={ref}\n aria-disabled={isDisabled}\n onClick={isDisabled ? preventDefault : onClick}\n className={[\n exceptionallySetClassName,\n styles.baseButton,\n styles[`variant-${variant}`],\n styles[`tone-${tone}`],\n styles[`size-${size}`],\n icon ? styles.iconButton : null,\n disabled ? styles.disabled : null,\n ]}\n >\n {icon ? (\n (loading && <Spinner />) || icon\n ) : (\n <>\n {startIcon ? (\n <Box display=\"flex\" className={styles.startIcon} aria-hidden>\n {loading && !endIcon ? <Spinner /> : startIcon}\n </Box>\n ) : null}\n {children ? <span className={styles.label}>{children}</span> : null}\n {endIcon || (loading && !startIcon) ? (\n <Box display=\"flex\" className={styles.endIcon} aria-hidden>\n {loading ? <Spinner /> : endIcon}\n </Box>\n ) : null}\n </>\n )}\n </Box>\n )\n\n // If it's an icon-only button, make sure it uses the aria-label as tooltip if no tooltip was provided\n const tooltipContent = icon ? tooltip ?? props['aria-label'] : tooltip\n return tooltipContent ? (\n <Tooltip content={tooltipContent}>{buttonElement}</Tooltip>\n ) : (\n buttonElement\n )\n})\n"],"names":["preventDefault","event","BaseButton","polymorphicComponent","ref","as","variant","tone","size","disabled","loading","tooltip","onClick","exceptionallySetClassName","children","startIcon","endIcon","icon","props","isDisabled","buttonElement","React","Box","className","styles","baseButton","iconButton","Spinner","display","label","tooltipContent","Tooltip","content"],"mappings":";;;;;;;;;;AAOA,SAASA,cAAT,CAAwBC,KAAxB;AACIA,EAAAA,KAAK,CAACD,cAAN;AACH;AA2DD;;;;;;;;;;;IASaE,UAAU,gBAAGC,oBAAoB,CAAyB,SAASD,UAAT,OAiBnEE,GAjBmE;qBAE/DC;MAAAA,0BAAK;MACLC,eAAAA;uBACAC;MAAAA,8BAAO;uBACPC;MAAAA,8BAAO;2BACPC;MAAAA,sCAAW;0BACXC;MAAAA,oCAAU;MACVC,eAAAA;MACAC,eAAAA;MACAC,iCAAAA;MACAC,gBAAAA;MACAC,iBAAAA;MACAC,eAAAA;MACAC,YAAAA;MACGC;;AAIP,MAAMC,UAAU,GAAGT,OAAO,IAAID,QAA9B;AACA,MAAMW,aAAa,gBACfC,aAAA,CAACC,GAAD,oBACQJ;AACJb,IAAAA,EAAE,EAAEA;AACJD,IAAAA,GAAG,EAAEA;qBACUe;AACfP,IAAAA,OAAO,EAAEO,UAAU,GAAGnB,cAAH,GAAoBY;AACvCW,IAAAA,SAAS,EAAE,CACPV,yBADO,EAEPW,MAAM,CAACC,UAFA,EAGPD,MAAM,cAAYlB,OAAZ,CAHC,EAIPkB,MAAM,WAASjB,IAAT,CAJC,EAKPiB,MAAM,WAAShB,IAAT,CALC,EAMPS,IAAI,GAAGO,MAAM,CAACE,UAAV,GAAuB,IANpB,EAOPjB,QAAQ,GAAGe,MAAM,CAACf,QAAV,GAAqB,IAPtB;IANf,EAgBKQ,IAAI,GACAP,OAAO,iBAAIW,aAAA,CAACM,OAAD,MAAA,CAAZ,IAA4BV,IAD3B,gBAGDI,aAAA,SAAA,MAAA,EACKN,SAAS,gBACNM,aAAA,CAACC,GAAD;AAAKM,IAAAA,OAAO,EAAC;AAAOL,IAAAA,SAAS,EAAEC,MAAM,CAACT;;GAAtC,EACKL,OAAO,IAAI,CAACM,OAAZ,gBAAsBK,aAAA,CAACM,OAAD,MAAA,CAAtB,GAAoCZ,SADzC,CADM,GAIN,IALR,EAMKD,QAAQ,gBAAGO,aAAA,OAAA;AAAME,IAAAA,SAAS,EAAEC,MAAM,CAACK;GAAxB,EAAgCf,QAAhC,CAAH,GAAsD,IANnE,EAOKE,OAAO,IAAKN,OAAO,IAAI,CAACK,SAAxB,gBACGM,aAAA,CAACC,GAAD;AAAKM,IAAAA,OAAO,EAAC;AAAOL,IAAAA,SAAS,EAAEC,MAAM,CAACR;;GAAtC,EACKN,OAAO,gBAAGW,aAAA,CAACM,OAAD,MAAA,CAAH,GAAiBX,OAD7B,CADH,GAIG,IAXR,CAnBR,CADJ;;AAsCA,MAAMc,cAAc,GAAGb,IAAI,GAAGN,OAAH,aAAGA,OAAH,cAAGA,OAAH,GAAcO,KAAK,CAAC,YAAD,CAAnB,GAAoCP,OAA/D;AACA,SAAOmB,cAAc,gBACjBT,aAAA,CAACU,OAAD;AAASC,IAAAA,OAAO,EAAEF;GAAlB,EAAmCV,aAAnC,CADiB,GAGjBA,aAHJ;AAKH,CAhE6C;;;;"}
@@ -0,0 +1,4 @@
1
+ var modules_b9569bce = {"label":"_1f20c88a","baseButton":"_623015f3","size-small":"_062de645","size-normal":"_55e2a6a9","size-large":"cab32a7c","disabled":"e71c191a","iconButton":"_368efc16","startIcon":"d35389c1","endIcon":"_900d41d8","variant-primary":"_7c95e162","variant-secondary":"_9cb889aa","variant-tertiary":"_611b5b28","variant-quaternary":"_80c2bb84","tone-destructive":"ee13c455"};
2
+
3
+ export default modules_b9569bce;
4
+ //# sourceMappingURL=base-button.module.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-button.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1,65 @@
1
+ import { createElement } from 'react';
2
+ import { Box } from '../box/box.js';
3
+ import { Stack } from '../stack/stack.js';
4
+ import { Text } from '../text/text.js';
5
+ import { useId } from '../common-helpers.js';
6
+ import styles from './base-field.module.css.js';
7
+
8
+ function FieldHint(props) {
9
+ return /*#__PURE__*/createElement(Text, Object.assign({
10
+ as: "p",
11
+ tone: "secondary",
12
+ size: "copy"
13
+ }, props));
14
+ }
15
+
16
+ function BaseField(_ref) {
17
+ var label = _ref.label,
18
+ secondaryLabel = _ref.secondaryLabel,
19
+ auxiliaryLabel = _ref.auxiliaryLabel,
20
+ hint = _ref.hint,
21
+ className = _ref.className,
22
+ children = _ref.children,
23
+ maxWidth = _ref.maxWidth,
24
+ hidden = _ref.hidden,
25
+ originalAriaDescribedBy = _ref['aria-describedby'],
26
+ originalId = _ref.id;
27
+ var id = useId(originalId);
28
+ var hintId = useId();
29
+ var ariaDescribedBy = originalAriaDescribedBy !== null && originalAriaDescribedBy !== void 0 ? originalAriaDescribedBy : hint ? hintId : undefined;
30
+ return /*#__PURE__*/createElement(Stack, {
31
+ space: "small"
32
+ }, /*#__PURE__*/createElement(Box, {
33
+ className: [className, styles.container],
34
+ maxWidth: maxWidth,
35
+ hidden: hidden
36
+ }, /*#__PURE__*/createElement(Box, {
37
+ as: "span",
38
+ display: "flex",
39
+ justifyContent: "spaceBetween",
40
+ alignItems: "flexEnd",
41
+ paddingBottom: "small"
42
+ }, /*#__PURE__*/createElement(Text, {
43
+ size: "body",
44
+ as: "label",
45
+ htmlFor: id
46
+ }, label ? /*#__PURE__*/createElement("span", {
47
+ className: styles.primaryLabel
48
+ }, label) : null, secondaryLabel ? /*#__PURE__*/createElement("span", {
49
+ className: styles.secondaryLabel
50
+ }, "\xA0(", secondaryLabel, ")") : null), auxiliaryLabel ? /*#__PURE__*/createElement(Box, {
51
+ className: styles.auxiliaryLabel,
52
+ paddingLeft: "small"
53
+ }, auxiliaryLabel) : null), children(ariaDescribedBy ? {
54
+ id: id,
55
+ 'aria-describedby': ariaDescribedBy
56
+ } : {
57
+ id: id
58
+ })), hint ? /*#__PURE__*/createElement(FieldHint, {
59
+ hidden: hidden,
60
+ id: hintId
61
+ }, hint) : null);
62
+ }
63
+
64
+ export { BaseField, FieldHint };
65
+ //# sourceMappingURL=base-field.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-field.js","sources":["../../../src/new-components/base-field/base-field.tsx"],"sourcesContent":["import * as React from 'react'\nimport { Box, BoxProps } from '../box'\nimport { useId } from '../common-helpers'\nimport { Text } from '../text'\nimport { WithEnhancedClassName } from '../common-types'\nimport styles from './base-field.module.css'\nimport { Stack } from '../stack'\n\ntype FieldHintProps = {\n id: string\n children: React.ReactNode\n hidden?: boolean\n}\n\nfunction FieldHint(props: FieldHintProps) {\n return <Text as=\"p\" tone=\"secondary\" size=\"copy\" {...props} />\n}\n\n//\n// BaseField\n//\n\ntype HtmlInputProps<T extends HTMLElement> = React.DetailedHTMLProps<\n React.InputHTMLAttributes<T>,\n T\n>\n\ntype BaseFieldProps = WithEnhancedClassName &\n Pick<HtmlInputProps<HTMLInputElement>, 'id' | 'hidden' | 'aria-describedby'> & {\n /**\n * The main label for this field element.\n *\n * Avoid providing interactive elements in the label. Prefer `auxiliaryLabel` for that.\n *\n * @see secondaryLabel\n * @see auxiliaryLabel\n */\n label: React.ReactNode\n /**\n * An optional secondary label for this field element. It is combined with the `label` to\n * form the field's entire accessible name (unless the field label is overriden by using\n * `aria-label` or `aria-labelledby`).\n *\n * Avoid providing interactive elements in the label. Prefer `auxiliaryLabel` for that.\n *\n * @see label\n * @see auxiliaryLabel\n */\n secondaryLabel?: React.ReactNode\n /**\n * An optional extra element to be placed to the right of the main and secondary labels.\n *\n * This extra element is not included in the accessible name of the field element. Its only\n * purpose is either visual, or functional (if you include interactive elements in it).\n *\n * @see label\n * @see secondaryLabel\n */\n auxiliaryLabel?: React.ReactNode\n /**\n * A hint or help-like content associated as the accessible description of the field. It is\n * generally rendered below it, and with a visual style that reduces its prominence (i.e.\n * as secondary text).\n */\n hint?: React.ReactNode\n /**\n * The maximum width that the input field can expand to.\n */\n maxWidth?: BoxProps['maxWidth']\n /**\n * Used internally by components composed using `BaseField`. It is not exposed as part of\n * the public props of such components.\n */\n children: (props: { id: string; 'aria-describedby'?: string }) => React.ReactNode\n }\n\ntype FieldComponentProps<T extends HTMLElement> = Omit<BaseFieldProps, 'children' | 'className'> &\n Omit<HtmlInputProps<T>, 'className' | 'style'>\n\nfunction BaseField({\n label,\n secondaryLabel,\n auxiliaryLabel,\n hint,\n className,\n children,\n maxWidth,\n hidden,\n 'aria-describedby': originalAriaDescribedBy,\n id: originalId,\n}: BaseFieldProps & WithEnhancedClassName) {\n const id = useId(originalId)\n const hintId = useId()\n\n const ariaDescribedBy = originalAriaDescribedBy ?? (hint ? hintId : undefined)\n\n return (\n <Stack space=\"small\">\n <Box className={[className, styles.container]} maxWidth={maxWidth} hidden={hidden}>\n <Box\n as=\"span\"\n display=\"flex\"\n justifyContent=\"spaceBetween\"\n alignItems=\"flexEnd\"\n paddingBottom=\"small\"\n >\n <Text size=\"body\" as=\"label\" htmlFor={id}>\n {label ? <span className={styles.primaryLabel}>{label}</span> : null}\n {secondaryLabel ? (\n <span className={styles.secondaryLabel}>&nbsp;({secondaryLabel})</span>\n ) : null}\n </Text>\n {auxiliaryLabel ? (\n <Box className={styles.auxiliaryLabel} paddingLeft=\"small\">\n {auxiliaryLabel}\n </Box>\n ) : null}\n </Box>\n {children(ariaDescribedBy ? { id, 'aria-describedby': ariaDescribedBy } : { id })}\n </Box>\n {hint ? (\n <FieldHint hidden={hidden} id={hintId}>\n {hint}\n </FieldHint>\n ) : null}\n </Stack>\n )\n}\n\nexport { BaseField, FieldHint }\nexport type { FieldComponentProps }\n"],"names":["FieldHint","props","React","Text","as","tone","size","BaseField","label","secondaryLabel","auxiliaryLabel","hint","className","children","maxWidth","hidden","originalAriaDescribedBy","originalId","id","useId","hintId","ariaDescribedBy","undefined","Stack","space","Box","styles","container","display","justifyContent","alignItems","paddingBottom","htmlFor","primaryLabel","paddingLeft"],"mappings":";;;;;;;AAcA,SAASA,SAAT,CAAmBC,KAAnB;AACI,sBAAOC,aAAA,CAACC,IAAD;AAAMC,IAAAA,EAAE,EAAC;AAAIC,IAAAA,IAAI,EAAC;AAAYC,IAAAA,IAAI,EAAC;KAAWL,MAA9C,CAAP;AACH;;AA+DD,SAASM,SAAT;MACIC,aAAAA;MACAC,sBAAAA;MACAC,sBAAAA;MACAC,YAAAA;MACAC,iBAAAA;MACAC,gBAAAA;MACAC,gBAAAA;MACAC,cAAAA;MACoBC,+BAApB;MACIC,kBAAJC;AAEA,MAAMA,EAAE,GAAGC,KAAK,CAACF,UAAD,CAAhB;AACA,MAAMG,MAAM,GAAGD,KAAK,EAApB;AAEA,MAAME,eAAe,GAAGL,uBAAH,aAAGA,uBAAH,cAAGA,uBAAH,GAA+BL,IAAI,GAAGS,MAAH,GAAYE,SAApE;AAEA,sBACIpB,aAAA,CAACqB,KAAD;AAAOC,IAAAA,KAAK,EAAC;GAAb,eACItB,aAAA,CAACuB,GAAD;AAAKb,IAAAA,SAAS,EAAE,CAACA,SAAD,EAAYc,MAAM,CAACC,SAAnB;AAA+Bb,IAAAA,QAAQ,EAAEA;AAAUC,IAAAA,MAAM,EAAEA;GAA3E,eACIb,aAAA,CAACuB,GAAD;AACIrB,IAAAA,EAAE,EAAC;AACHwB,IAAAA,OAAO,EAAC;AACRC,IAAAA,cAAc,EAAC;AACfC,IAAAA,UAAU,EAAC;AACXC,IAAAA,aAAa,EAAC;GALlB,eAOI7B,aAAA,CAACC,IAAD;AAAMG,IAAAA,IAAI,EAAC;AAAOF,IAAAA,EAAE,EAAC;AAAQ4B,IAAAA,OAAO,EAAEd;GAAtC,EACKV,KAAK,gBAAGN,aAAA,OAAA;AAAMU,IAAAA,SAAS,EAAEc,MAAM,CAACO;GAAxB,EAAuCzB,KAAvC,CAAH,GAA0D,IADpE,EAEKC,cAAc,gBACXP,aAAA,OAAA;AAAMU,IAAAA,SAAS,EAAEc,MAAM,CAACjB;GAAxB,SAAA,EAAgDA,cAAhD,KAAA,CADW,GAEX,IAJR,CAPJ,EAaKC,cAAc,gBACXR,aAAA,CAACuB,GAAD;AAAKb,IAAAA,SAAS,EAAEc,MAAM,CAAChB;AAAgBwB,IAAAA,WAAW,EAAC;GAAnD,EACKxB,cADL,CADW,GAIX,IAjBR,CADJ,EAoBKG,QAAQ,CAACQ,eAAe,GAAG;AAAEH,IAAAA,EAAE,EAAFA,EAAF;AAAM,wBAAoBG;AAA1B,GAAH,GAAiD;AAAEH,IAAAA,EAAE,EAAFA;AAAF,GAAjE,CApBb,CADJ,EAuBKP,IAAI,gBACDT,aAAA,CAACF,SAAD;AAAWe,IAAAA,MAAM,EAAEA;AAAQG,IAAAA,EAAE,EAAEE;GAA/B,EACKT,IADL,CADC,GAID,IA3BR,CADJ;AA+BH;;;;"}
@@ -0,0 +1,4 @@
1
+ var modules_540a88ff = {"container":"ed7d894c","primaryLabel":"_22213081","secondaryLabel":"be8637dd","auxiliaryLabel":"_72b46ad5"};
2
+
3
+ export default modules_540a88ff;
4
+ //# sourceMappingURL=base-field.module.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-field.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1,75 @@
1
+ import { objectWithoutPropertiesLoose as _objectWithoutPropertiesLoose, objectSpread2 as _objectSpread2 } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
+ import { createElement } from 'react';
3
+ import classNames from 'classnames';
4
+ import { polymorphicComponent } from '../../utils/polymorphism.js';
5
+ import { getClassNames } from '../responsive-props.js';
6
+ import styles from './box.module.css.js';
7
+ import paddingStyles from './padding.module.css.js';
8
+ import marginStyles from './margin.module.css.js';
9
+ import widthStyles from './width.module.css.js';
10
+
11
+ var _excluded = ["as", "position", "display", "flexDirection", "flexWrap", "flexGrow", "flexShrink", "alignItems", "justifyContent", "overflow", "width", "height", "background", "border", "borderRadius", "minWidth", "maxWidth", "textAlign", "padding", "paddingY", "paddingX", "paddingTop", "paddingRight", "paddingBottom", "paddingLeft", "margin", "marginY", "marginX", "marginTop", "marginRight", "marginBottom", "marginLeft", "className", "children"];
12
+ var Box = /*#__PURE__*/polymorphicComponent(function Box(_ref, ref) {
13
+ var _ref2, _ref3, _ref4, _ref5, _ref6, _ref7, _ref8, _ref9;
14
+
15
+ var _ref$as = _ref.as,
16
+ component = _ref$as === void 0 ? 'div' : _ref$as,
17
+ _ref$position = _ref.position,
18
+ position = _ref$position === void 0 ? 'static' : _ref$position,
19
+ display = _ref.display,
20
+ _ref$flexDirection = _ref.flexDirection,
21
+ flexDirection = _ref$flexDirection === void 0 ? 'row' : _ref$flexDirection,
22
+ flexWrap = _ref.flexWrap,
23
+ flexGrow = _ref.flexGrow,
24
+ flexShrink = _ref.flexShrink,
25
+ alignItems = _ref.alignItems,
26
+ justifyContent = _ref.justifyContent,
27
+ overflow = _ref.overflow,
28
+ width = _ref.width,
29
+ height = _ref.height,
30
+ background = _ref.background,
31
+ border = _ref.border,
32
+ borderRadius = _ref.borderRadius,
33
+ minWidth = _ref.minWidth,
34
+ maxWidth = _ref.maxWidth,
35
+ _ref$textAlign = _ref.textAlign,
36
+ textAlign = _ref$textAlign === void 0 ? 'start' : _ref$textAlign,
37
+ padding = _ref.padding,
38
+ paddingY = _ref.paddingY,
39
+ paddingX = _ref.paddingX,
40
+ paddingTop = _ref.paddingTop,
41
+ paddingRight = _ref.paddingRight,
42
+ paddingBottom = _ref.paddingBottom,
43
+ paddingLeft = _ref.paddingLeft,
44
+ margin = _ref.margin,
45
+ marginY = _ref.marginY,
46
+ marginX = _ref.marginX,
47
+ marginTop = _ref.marginTop,
48
+ marginRight = _ref.marginRight,
49
+ marginBottom = _ref.marginBottom,
50
+ marginLeft = _ref.marginLeft,
51
+ className = _ref.className,
52
+ children = _ref.children,
53
+ props = _objectWithoutPropertiesLoose(_ref, _excluded);
54
+
55
+ var resolvedPaddingTop = (_ref2 = paddingTop !== null && paddingTop !== void 0 ? paddingTop : paddingY) !== null && _ref2 !== void 0 ? _ref2 : padding;
56
+ var resolvedPaddingRight = (_ref3 = paddingRight !== null && paddingRight !== void 0 ? paddingRight : paddingX) !== null && _ref3 !== void 0 ? _ref3 : padding;
57
+ var resolvedPaddingBottom = (_ref4 = paddingBottom !== null && paddingBottom !== void 0 ? paddingBottom : paddingY) !== null && _ref4 !== void 0 ? _ref4 : padding;
58
+ var resolvedPaddingLeft = (_ref5 = paddingLeft !== null && paddingLeft !== void 0 ? paddingLeft : paddingX) !== null && _ref5 !== void 0 ? _ref5 : padding;
59
+ var resolvedMarginTop = (_ref6 = marginTop !== null && marginTop !== void 0 ? marginTop : marginY) !== null && _ref6 !== void 0 ? _ref6 : margin;
60
+ var resolvedMarginRight = (_ref7 = marginRight !== null && marginRight !== void 0 ? marginRight : marginX) !== null && _ref7 !== void 0 ? _ref7 : margin;
61
+ var resolvedMarginBottom = (_ref8 = marginBottom !== null && marginBottom !== void 0 ? marginBottom : marginY) !== null && _ref8 !== void 0 ? _ref8 : margin;
62
+ var resolvedMarginLeft = (_ref9 = marginLeft !== null && marginLeft !== void 0 ? marginLeft : marginX) !== null && _ref9 !== void 0 ? _ref9 : margin;
63
+ var omitFlex = !display || typeof display === 'string' && display !== 'flex' && display !== 'inlineFlex';
64
+ return /*#__PURE__*/createElement(component, _objectSpread2(_objectSpread2({}, props), {}, {
65
+ className: classNames(className, styles.box, display ? getClassNames(styles, 'display', display) : null, position !== 'static' ? getClassNames(styles, 'position', position) : null, minWidth != null ? getClassNames(widthStyles, 'minWidth', String(minWidth)) : null, getClassNames(widthStyles, 'maxWidth', maxWidth), textAlign !== 'start' ? getClassNames(styles, 'textAlign', textAlign) : null, // padding
66
+ getClassNames(paddingStyles, 'paddingTop', resolvedPaddingTop), getClassNames(paddingStyles, 'paddingRight', resolvedPaddingRight), getClassNames(paddingStyles, 'paddingBottom', resolvedPaddingBottom), getClassNames(paddingStyles, 'paddingLeft', resolvedPaddingLeft), // margin
67
+ getClassNames(marginStyles, 'marginTop', resolvedMarginTop), getClassNames(marginStyles, 'marginRight', resolvedMarginRight), getClassNames(marginStyles, 'marginBottom', resolvedMarginBottom), getClassNames(marginStyles, 'marginLeft', resolvedMarginLeft), // flex props
68
+ omitFlex ? null : getClassNames(styles, 'flexDirection', flexDirection), omitFlex ? null : getClassNames(styles, 'flexWrap', flexWrap), omitFlex ? null : getClassNames(styles, 'alignItems', alignItems), omitFlex ? null : getClassNames(styles, 'justifyContent', justifyContent), flexShrink != null ? getClassNames(styles, 'flexShrink', String(flexShrink)) : null, flexGrow != null ? getClassNames(styles, 'flexGrow', String(flexGrow)) : null, // other props
69
+ getClassNames(styles, 'overflow', overflow), width != null ? getClassNames(widthStyles, 'width', String(width)) : null, getClassNames(styles, 'height', height), getClassNames(styles, 'bg', background), borderRadius !== 'none' ? getClassNames(styles, 'borderRadius', borderRadius) : null, border !== 'none' ? getClassNames(styles, 'border', border) : null) || undefined,
70
+ ref: ref
71
+ }), children);
72
+ });
73
+
74
+ export { Box };
75
+ //# sourceMappingURL=box.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"box.js","sources":["../../../src/new-components/box/box.tsx"],"sourcesContent":["import * as React from 'react'\nimport classNames from 'classnames'\nimport { polymorphicComponent } from '../../utils/polymorphism'\nimport { getClassNames } from '../responsive-props'\n\nimport type { ResponsiveProp } from '../responsive-props'\nimport type {\n DividerWeight,\n Space,\n SpaceWithNegatives,\n WithEnhancedClassName,\n} from '../common-types'\n\nimport styles from './box.module.css'\nimport paddingStyles from './padding.module.css'\nimport marginStyles from './margin.module.css'\nimport widthStyles from './width.module.css'\n\ninterface BoxPaddingProps {\n padding?: ResponsiveProp<Space>\n paddingX?: ResponsiveProp<Space>\n paddingY?: ResponsiveProp<Space>\n paddingTop?: ResponsiveProp<Space>\n paddingRight?: ResponsiveProp<Space>\n paddingBottom?: ResponsiveProp<Space>\n paddingLeft?: ResponsiveProp<Space>\n}\n\ninterface BoxMarginProps {\n margin?: ResponsiveProp<SpaceWithNegatives>\n marginX?: ResponsiveProp<SpaceWithNegatives>\n marginY?: ResponsiveProp<SpaceWithNegatives>\n marginTop?: ResponsiveProp<SpaceWithNegatives>\n marginRight?: ResponsiveProp<SpaceWithNegatives>\n marginBottom?: ResponsiveProp<SpaceWithNegatives>\n marginLeft?: ResponsiveProp<SpaceWithNegatives>\n}\n\ntype BoxDisplay = 'block' | 'flex' | 'inline' | 'inlineBlock' | 'inlineFlex' | 'none'\ntype BoxFlexDirection = 'column' | 'row'\ntype BoxFlexWrap = 'nowrap' | 'wrap'\ntype BoxAlignItems = 'center' | 'flexEnd' | 'flexStart' | 'baseline'\ntype BoxJustifyContent =\n | 'center'\n | 'flexEnd'\n | 'flexStart'\n | 'spaceAround'\n | 'spaceBetween'\n | 'spaceEvenly'\ntype BoxOverflow = 'hidden' | 'auto' | 'visible' | 'scroll'\n\ntype BoxMaxMinWidth = 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge'\ntype BoxMinWidth = 0 | BoxMaxMinWidth\ntype BoxMaxWidth = BoxMaxMinWidth | 'full'\ntype BoxWidth = 0 | BoxMaxMinWidth | 'full' | 'auto' | 'maxContent' | 'minContent' | 'fitContent'\n\ninterface BorderProps {\n borderRadius?: 'standard' | 'none' | 'full'\n border?: DividerWeight\n}\n\ninterface ReusableBoxProps extends BorderProps, BoxPaddingProps {\n minWidth?: BoxMinWidth\n maxWidth?: BoxMaxWidth\n width?: BoxWidth\n background?: 'default' | 'aside' | 'highlight' | 'selected'\n flexGrow?: 0 | 1\n flexShrink?: 0\n}\n\ntype BoxPosition = 'absolute' | 'fixed' | 'relative' | 'static' | 'sticky'\n\ninterface BoxProps extends WithEnhancedClassName, ReusableBoxProps, BoxMarginProps {\n position?: ResponsiveProp<BoxPosition>\n display?: ResponsiveProp<BoxDisplay>\n flexDirection?: ResponsiveProp<BoxFlexDirection>\n flexWrap?: BoxFlexWrap\n alignItems?: ResponsiveProp<BoxAlignItems>\n justifyContent?: ResponsiveProp<BoxJustifyContent>\n overflow?: BoxOverflow\n height?: 'full'\n textAlign?: ResponsiveProp<'start' | 'center' | 'end' | 'justify'>\n}\n\nconst Box = polymorphicComponent<'div', BoxProps, 'keepClassName'>(function Box(\n {\n as: component = 'div',\n position = 'static',\n display,\n flexDirection = 'row',\n flexWrap,\n flexGrow,\n flexShrink,\n alignItems,\n justifyContent,\n overflow,\n width,\n height,\n background,\n border,\n borderRadius,\n minWidth,\n maxWidth,\n textAlign = 'start',\n padding,\n paddingY,\n paddingX,\n paddingTop,\n paddingRight,\n paddingBottom,\n paddingLeft,\n margin,\n marginY,\n marginX,\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n className,\n children,\n ...props\n },\n ref,\n) {\n const resolvedPaddingTop = paddingTop ?? paddingY ?? padding\n const resolvedPaddingRight = paddingRight ?? paddingX ?? padding\n const resolvedPaddingBottom = paddingBottom ?? paddingY ?? padding\n const resolvedPaddingLeft = paddingLeft ?? paddingX ?? padding\n\n const resolvedMarginTop = marginTop ?? marginY ?? margin\n const resolvedMarginRight = marginRight ?? marginX ?? margin\n const resolvedMarginBottom = marginBottom ?? marginY ?? margin\n const resolvedMarginLeft = marginLeft ?? marginX ?? margin\n\n const omitFlex =\n !display || (typeof display === 'string' && display !== 'flex' && display !== 'inlineFlex')\n\n return React.createElement(\n component,\n {\n ...props,\n className:\n classNames(\n className,\n styles.box,\n display ? getClassNames(styles, 'display', display) : null,\n position !== 'static' ? getClassNames(styles, 'position', position) : null,\n minWidth != null\n ? getClassNames(widthStyles, 'minWidth', String(minWidth))\n : null,\n getClassNames(widthStyles, 'maxWidth', maxWidth),\n textAlign !== 'start' ? getClassNames(styles, 'textAlign', textAlign) : null,\n // padding\n getClassNames(paddingStyles, 'paddingTop', resolvedPaddingTop),\n getClassNames(paddingStyles, 'paddingRight', resolvedPaddingRight),\n getClassNames(paddingStyles, 'paddingBottom', resolvedPaddingBottom),\n getClassNames(paddingStyles, 'paddingLeft', resolvedPaddingLeft),\n // margin\n getClassNames(marginStyles, 'marginTop', resolvedMarginTop),\n getClassNames(marginStyles, 'marginRight', resolvedMarginRight),\n getClassNames(marginStyles, 'marginBottom', resolvedMarginBottom),\n getClassNames(marginStyles, 'marginLeft', resolvedMarginLeft),\n // flex props\n omitFlex ? null : getClassNames(styles, 'flexDirection', flexDirection),\n omitFlex ? null : getClassNames(styles, 'flexWrap', flexWrap),\n omitFlex ? null : getClassNames(styles, 'alignItems', alignItems),\n omitFlex ? null : getClassNames(styles, 'justifyContent', justifyContent),\n flexShrink != null\n ? getClassNames(styles, 'flexShrink', String(flexShrink))\n : null,\n flexGrow != null ? getClassNames(styles, 'flexGrow', String(flexGrow)) : null,\n // other props\n getClassNames(styles, 'overflow', overflow),\n width != null ? getClassNames(widthStyles, 'width', String(width)) : null,\n getClassNames(styles, 'height', height),\n getClassNames(styles, 'bg', background),\n borderRadius !== 'none'\n ? getClassNames(styles, 'borderRadius', borderRadius)\n : null,\n border !== 'none' ? getClassNames(styles, 'border', border) : null,\n ) || undefined,\n ref,\n },\n children,\n )\n})\n\nexport type {\n BoxProps,\n BoxPaddingProps,\n BoxMarginProps,\n ReusableBoxProps,\n BoxMinWidth,\n BoxMaxWidth,\n BoxDisplay,\n BoxPosition,\n BoxFlexDirection,\n BoxFlexWrap,\n BoxAlignItems,\n BoxJustifyContent,\n BoxOverflow,\n}\n\nexport { Box }\n"],"names":["Box","polymorphicComponent","ref","as","component","position","display","flexDirection","flexWrap","flexGrow","flexShrink","alignItems","justifyContent","overflow","width","height","background","border","borderRadius","minWidth","maxWidth","textAlign","padding","paddingY","paddingX","paddingTop","paddingRight","paddingBottom","paddingLeft","margin","marginY","marginX","marginTop","marginRight","marginBottom","marginLeft","className","children","props","resolvedPaddingTop","resolvedPaddingRight","resolvedPaddingBottom","resolvedPaddingLeft","resolvedMarginTop","resolvedMarginRight","resolvedMarginBottom","resolvedMarginLeft","omitFlex","React","classNames","styles","box","getClassNames","widthStyles","String","paddingStyles","marginStyles","undefined"],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ var modules_54d944f2 = {"box":"_2a8ae321","position-absolute":"_29e047b9","position-fixed":"fe54fea9","position-relative":"_6a95a38d","position-sticky":"ccc689fe","tablet-position-absolute":"aad88ae1","tablet-position-fixed":"_2044ccd3","tablet-position-relative":"a0904035","tablet-position-sticky":"_770506a5","desktop-position-absolute":"_5a954855","desktop-position-fixed":"_2dc73359","desktop-position-relative":"_6ab005ed","desktop-position-sticky":"fa60c726","display-block":"_221ad6a3","display-flex":"_6764f5bc","display-inline":"_50c37dba","display-inlineBlock":"_16546fe0","display-inlineFlex":"_2782a687","display-none":"b70b4fb7","tablet-display-block":"_5b3547cc","tablet-display-flex":"_099432e6","tablet-display-inline":"d99fcd80","tablet-display-inlineBlock":"_8f160568","tablet-display-inlineFlex":"_5b7b4be4","tablet-display-none":"_553721f8","desktop-display-block":"_6b86b317","desktop-display-flex":"eb20eda4","desktop-display-inline":"be19d1e9","desktop-display-inlineBlock":"dcf7c80a","desktop-display-inlineFlex":"e4f02b1f","desktop-display-none":"_3974e6d8","flexDirection-column":"daf5e366","flexDirection-row":"_47f2ddb7","tablet-flexDirection-column":"_27490d54","tablet-flexDirection-row":"_0317f51b","desktop-flexDirection-column":"_97590faa","desktop-flexDirection-row":"bf5d416e","flexWrap-wrap":"_210c1f9e","flexWrap-nowrap":"_2c775d07","flexShrink-0":"_25cae61d","flexGrow-0":"_6068a9cf","flexGrow-1":"c63f682c","alignItems-flexStart":"_0e774dfc","alignItems-center":"_5695a5d5","alignItems-flexEnd":"_139515d8","alignItems-baseline":"cea92f0a","tablet-alignItems-flexStart":"_3dc7ec16","tablet-alignItems-center":"_7993a7fa","tablet-alignItems-flexEnd":"b90d7edc","tablet-alignItems-baseline":"_7bd633f1","desktop-alignItems-flexStart":"_260d232b","desktop-alignItems-center":"_9e2e0a07","desktop-alignItems-flexEnd":"fc97448b","desktop-alignItems-baseline":"_0f76a529","justifyContent-flexStart":"_21d759bf","justifyContent-center":"ff70e049","justifyContent-flexEnd":"ae15d5ad","justifyContent-spaceAround":"_84374266","justifyContent-spaceBetween":"e72a8ca2","justifyContent-spaceEvenly":"_86224cb5","tablet-justifyContent-flexStart":"dceedee0","tablet-justifyContent-center":"_34ab3dab","tablet-justifyContent-flexEnd":"d5da2eb9","tablet-justifyContent-spaceAround":"_1677560d","tablet-justifyContent-spaceBetween":"ef77b2e7","tablet-justifyContent-spaceEvenly":"_685ef848","desktop-justifyContent-flexStart":"_695667f2","desktop-justifyContent-center":"ebb180cc","desktop-justifyContent-flexEnd":"bd5bb675","desktop-justifyContent-spaceBetween":"ae08a70c","overflow-hidden":"_4afa6fac","overflow-auto":"d8d342e4","overflow-visible":"c104da68","overflow-scroll":"_2d6bc0d0","height-full":"_99458759","bg-default":"aadb417c","bg-aside":"_36dca662","bg-highlight":"a1054115","bg-selected":"d17b4e9a","borderRadius-standard":"e3a3ee05","borderRadius-full":"be0cb60b","border-primary":"b9999f44","border-secondary":"_91063996","border-tertiary":"_0902977e","textAlign-start":"a7c58898","textAlign-center":"_2c9a262a","textAlign-end":"_46f07e93","textAlign-justify":"e526003e","tablet-textAlign-start":"_26864fce","tablet-textAlign-center":"e8f51d21","tablet-textAlign-end":"c1dc8b90","tablet-textAlign-justify":"_36bb3fa9","desktop-textAlign-start":"_942e35b0","desktop-textAlign-center":"_92da5c98","desktop-textAlign-end":"_2b0ecaf6","desktop-textAlign-justify":"_3dd24641"};
2
+
3
+ export default modules_54d944f2;
4
+ //# sourceMappingURL=box.module.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"box.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}