@doist/reactist 9.2.0-beta.8 → 10.0.0-beta.12

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 (416) hide show
  1. package/README.md +12 -2
  2. package/dist/reactist.cjs.development.js +1499 -866
  3. package/dist/reactist.cjs.development.js.map +1 -1
  4. package/dist/reactist.cjs.production.min.js +1 -1
  5. package/dist/reactist.cjs.production.min.js.map +1 -1
  6. package/es/_virtual/_rollupPluginBabelHelpers.js +34 -20
  7. package/es/_virtual/_rollupPluginBabelHelpers.js.map +1 -1
  8. package/es/components/color-picker/color-picker.js +1 -1
  9. package/es/components/color-picker/color-picker.js.map +1 -1
  10. package/es/components/{button/button.js → deprecated-button/deprecated-button.js} +9 -4
  11. package/es/components/deprecated-button/deprecated-button.js.map +1 -0
  12. package/es/components/{button → deprecated-button}/index.js +1 -1
  13. package/es/components/{button → deprecated-button}/index.js.map +0 -0
  14. package/es/components/{loading/loading.js → deprecated-loading/deprecated-loading.js} +3 -1
  15. package/es/components/deprecated-loading/deprecated-loading.js.map +1 -0
  16. package/es/components/{modal/modal.js → deprecated-modal/deprecated-modal.js} +9 -2
  17. package/es/components/deprecated-modal/deprecated-modal.js.map +1 -0
  18. package/es/components/{modal → deprecated-modal}/index.js +1 -1
  19. package/es/components/deprecated-modal/index.js.map +1 -0
  20. package/es/components/dropdown/dropdown.js +8 -4
  21. package/es/components/dropdown/dropdown.js.map +1 -1
  22. package/es/components/error-message/error-message.js +4 -2
  23. package/es/components/error-message/error-message.js.map +1 -1
  24. package/es/components/icon/icon.js.map +1 -1
  25. package/es/components/key-capturer/key-capturer.js.map +1 -1
  26. package/es/components/keyboard-shortcut/keyboard-shortcut.js +6 -3
  27. package/es/components/keyboard-shortcut/keyboard-shortcut.js.map +1 -1
  28. package/es/components/menu/menu.js +40 -27
  29. package/es/components/menu/menu.js.map +1 -1
  30. package/es/components/notification/notification.js +3 -1
  31. package/es/components/notification/notification.js.map +1 -1
  32. package/es/components/popover/popover.js.map +1 -1
  33. package/es/components/popover/positioning-utils.js.map +1 -1
  34. package/es/components/range-input/range-input.js +1 -1
  35. package/es/components/range-input/range-input.js.map +1 -1
  36. package/es/components/select/select.js +4 -2
  37. package/es/components/select/select.js.map +1 -1
  38. package/es/components/time/time-utils.js.map +1 -1
  39. package/es/components/time/time.js.map +1 -1
  40. package/es/components/tooltip/tooltip.js +3 -1
  41. package/es/components/tooltip/tooltip.js.map +1 -1
  42. package/es/hooks/use-previous/use-previous.js +26 -0
  43. package/es/hooks/use-previous/use-previous.js.map +1 -0
  44. package/es/index.js +11 -6
  45. package/es/index.js.map +1 -1
  46. package/es/new-components/base-button/base-button.js +72 -0
  47. package/es/new-components/base-button/base-button.js.map +1 -0
  48. package/es/new-components/base-button/base-button.module.css.js +4 -0
  49. package/es/new-components/base-button/base-button.module.css.js.map +1 -0
  50. package/es/new-components/base-field/base-field.js +29 -29
  51. package/es/new-components/base-field/base-field.js.map +1 -1
  52. package/es/new-components/base-field/base-field.module.css.js +1 -1
  53. package/es/new-components/box/box.js +29 -10
  54. package/es/new-components/box/box.js.map +1 -1
  55. package/es/new-components/box/box.module.css.js +1 -1
  56. package/es/new-components/box/margin.module.css.js +4 -0
  57. package/es/new-components/box/margin.module.css.js.map +1 -0
  58. package/es/new-components/box/padding.module.css.js +4 -0
  59. package/es/new-components/box/padding.module.css.js.map +1 -0
  60. package/es/new-components/button/button.js +41 -0
  61. package/es/new-components/button/button.js.map +1 -0
  62. package/es/new-components/button-link/button-link.js +26 -14
  63. package/es/new-components/button-link/button-link.js.map +1 -1
  64. package/es/new-components/checkbox-field/checkbox-field.js +46 -23
  65. package/es/new-components/checkbox-field/checkbox-field.js.map +1 -1
  66. package/es/new-components/checkbox-field/checkbox-field.module.css.js +1 -1
  67. package/es/new-components/checkbox-field/checkbox-icon.js +2 -1
  68. package/es/new-components/checkbox-field/checkbox-icon.js.map +1 -1
  69. package/es/new-components/columns/columns.js +28 -14
  70. package/es/new-components/columns/columns.js.map +1 -1
  71. package/es/new-components/columns/columns.module.css.js +1 -1
  72. package/es/new-components/divider/divider.js +6 -4
  73. package/es/new-components/divider/divider.js.map +1 -1
  74. package/es/new-components/divider/divider.module.css.js +1 -1
  75. package/es/new-components/heading/heading.js +10 -3
  76. package/es/new-components/heading/heading.js.map +1 -1
  77. package/es/new-components/heading/heading.module.css.js +1 -1
  78. package/es/new-components/hidden/hidden.js +55 -0
  79. package/es/new-components/hidden/hidden.js.map +1 -0
  80. package/es/new-components/hidden/hidden.module.css.js +4 -0
  81. package/es/new-components/hidden/hidden.module.css.js.map +1 -0
  82. package/es/new-components/hidden-visually/hidden-visually.js +22 -0
  83. package/es/new-components/hidden-visually/hidden-visually.js.map +1 -0
  84. package/es/new-components/hidden-visually/hidden-visually.module.css.js +4 -0
  85. package/es/new-components/hidden-visually/hidden-visually.module.css.js.map +1 -0
  86. package/es/new-components/icons/alert-icon.js +2 -1
  87. package/es/new-components/icons/alert-icon.js.map +1 -1
  88. package/es/new-components/inline/inline.js +10 -8
  89. package/es/new-components/inline/inline.js.map +1 -1
  90. package/es/new-components/loading/loading.js +34 -0
  91. package/es/new-components/loading/loading.js.map +1 -0
  92. package/es/new-components/modal/modal.js +206 -0
  93. package/es/new-components/modal/modal.js.map +1 -0
  94. package/es/new-components/modal/modal.module.css.js +4 -0
  95. package/es/new-components/modal/modal.module.css.js.map +1 -0
  96. package/es/new-components/password-field/password-field.js +8 -4
  97. package/es/new-components/password-field/password-field.js.map +1 -1
  98. package/es/new-components/responsive-props.js +21 -11
  99. package/es/new-components/responsive-props.js.map +1 -1
  100. package/es/new-components/select-field/select-field.js +13 -6
  101. package/es/new-components/select-field/select-field.js.map +1 -1
  102. package/es/new-components/select-field/select-field.module.css.js +1 -1
  103. package/es/new-components/spinner/spinner.js +26 -0
  104. package/es/new-components/spinner/spinner.js.map +1 -0
  105. package/es/new-components/spinner/spinner.module.css.js +4 -0
  106. package/es/new-components/spinner/spinner.module.css.js.map +1 -0
  107. package/es/new-components/stack/stack.js +23 -12
  108. package/es/new-components/stack/stack.js.map +1 -1
  109. package/es/new-components/switch-field/switch-field.js +48 -28
  110. package/es/new-components/switch-field/switch-field.js.map +1 -1
  111. package/es/new-components/switch-field/switch-field.module.css.js +1 -1
  112. package/es/new-components/tabs/tabs.js +147 -0
  113. package/es/new-components/tabs/tabs.js.map +1 -0
  114. package/es/new-components/tabs/tabs.module.css.js +4 -0
  115. package/es/new-components/tabs/tabs.module.css.js.map +1 -0
  116. package/es/new-components/text/text.js +16 -10
  117. package/es/new-components/text/text.js.map +1 -1
  118. package/es/new-components/text/text.module.css.js +1 -1
  119. package/es/new-components/text-area/text-area.js +3 -1
  120. package/es/new-components/text-area/text-area.js.map +1 -1
  121. package/es/new-components/text-area/text-area.module.css.js +1 -1
  122. package/es/new-components/text-field/text-field.js +5 -2
  123. package/es/new-components/text-field/text-field.js.map +1 -1
  124. package/es/new-components/text-field/text-field.module.css.js +1 -1
  125. package/es/new-components/text-link/text-link.js +9 -7
  126. package/es/new-components/text-link/text-link.js.map +1 -1
  127. package/es/utils/polymorphism.js +17 -0
  128. package/es/utils/polymorphism.js.map +1 -0
  129. package/lib/_virtual/_rollupPluginBabelHelpers.js +1 -1
  130. package/lib/components/color-picker/color-picker.js +1 -1
  131. package/lib/components/color-picker/color-picker.js.map +1 -1
  132. package/lib/components/{button/button.d.ts → deprecated-button/deprecated-button.d.ts} +7 -1
  133. package/lib/components/deprecated-button/deprecated-button.js +2 -0
  134. package/lib/components/deprecated-button/deprecated-button.js.map +1 -0
  135. package/lib/components/{button/button.test.d.ts → deprecated-button/deprecated-button.test.d.ts} +0 -0
  136. package/lib/components/deprecated-button/index.d.ts +4 -0
  137. package/lib/components/{loading → deprecated-button}/index.js +1 -1
  138. package/lib/components/{button → deprecated-button}/index.js.map +0 -0
  139. package/lib/components/{loading/loading.d.ts → deprecated-loading/deprecated-loading.d.ts} +2 -1
  140. package/lib/components/{loading/loading.js → deprecated-loading/deprecated-loading.js} +1 -1
  141. package/lib/components/deprecated-loading/deprecated-loading.js.map +1 -0
  142. package/lib/components/{loading/Loading.test.d.ts → deprecated-loading/deprecated-loading.test.d.ts} +0 -0
  143. package/lib/components/deprecated-loading/index.d.ts +1 -0
  144. package/lib/components/{modal/modal.d.ts → deprecated-modal/deprecated-modal.d.ts} +6 -1
  145. package/lib/components/{modal/modal.js → deprecated-modal/deprecated-modal.js} +2 -2
  146. package/lib/components/deprecated-modal/deprecated-modal.js.map +1 -0
  147. package/lib/components/{modal/modal.test.d.ts → deprecated-modal/deprecated-modal.test.d.ts} +0 -0
  148. package/lib/components/{modal → deprecated-modal}/index.d.ts +3 -3
  149. package/lib/components/deprecated-modal/index.js +2 -0
  150. package/lib/components/deprecated-modal/index.js.map +1 -0
  151. package/lib/components/dropdown/dropdown.js +1 -1
  152. package/lib/components/dropdown/dropdown.js.map +1 -1
  153. package/lib/components/error-message/error-message.js +1 -1
  154. package/lib/components/error-message/error-message.js.map +1 -1
  155. package/lib/components/keyboard-shortcut/keyboard-shortcut.js +1 -1
  156. package/lib/components/keyboard-shortcut/keyboard-shortcut.js.map +1 -1
  157. package/lib/components/menu/index.d.ts +1 -1
  158. package/lib/components/menu/menu.d.ts +8 -10
  159. package/lib/components/menu/menu.js +1 -1
  160. package/lib/components/menu/menu.js.map +1 -1
  161. package/lib/components/notification/notification.js +1 -1
  162. package/lib/components/notification/notification.js.map +1 -1
  163. package/lib/components/range-input/range-input.js +1 -1
  164. package/lib/components/range-input/range-input.js.map +1 -1
  165. package/lib/components/select/select.js +1 -1
  166. package/lib/components/select/select.js.map +1 -1
  167. package/lib/components/tooltip/index.d.ts +1 -1
  168. package/lib/components/tooltip/tooltip.js +1 -1
  169. package/lib/components/tooltip/tooltip.js.map +1 -1
  170. package/lib/hooks/use-previous/index.d.ts +1 -0
  171. package/lib/hooks/use-previous/use-previous.d.ts +15 -0
  172. package/lib/hooks/use-previous/use-previous.js +2 -0
  173. package/lib/hooks/use-previous/use-previous.js.map +1 -0
  174. package/lib/index.d.ts +10 -5
  175. package/lib/index.js +1 -1
  176. package/lib/new-components/base-button/base-button.d.ts +65 -0
  177. package/lib/new-components/base-button/base-button.js +2 -0
  178. package/lib/new-components/base-button/base-button.js.map +1 -0
  179. package/lib/new-components/base-button/base-button.module.css.js +2 -0
  180. package/lib/new-components/base-button/base-button.module.css.js.map +1 -0
  181. package/lib/new-components/base-button/index.d.ts +1 -0
  182. package/lib/new-components/base-field/base-field.d.ts +53 -13
  183. package/lib/new-components/base-field/base-field.js +1 -1
  184. package/lib/new-components/base-field/base-field.js.map +1 -1
  185. package/lib/new-components/base-field/base-field.module.css.js +1 -1
  186. package/lib/new-components/box/box.d.ts +24 -13
  187. package/lib/new-components/box/box.js +1 -1
  188. package/lib/new-components/box/box.js.map +1 -1
  189. package/lib/new-components/box/box.module.css.js +1 -1
  190. package/lib/{components/tabs/tabs.test.d.ts → new-components/box/box.test.d.ts} +0 -0
  191. package/lib/new-components/box/margin.module.css.js +2 -0
  192. package/lib/new-components/box/margin.module.css.js.map +1 -0
  193. package/lib/new-components/box/padding.module.css.js +2 -0
  194. package/lib/new-components/box/padding.module.css.js.map +1 -0
  195. package/lib/new-components/button/button.d.ts +48 -0
  196. package/lib/new-components/button/button.js +2 -0
  197. package/lib/new-components/button/button.js.map +1 -0
  198. package/lib/new-components/button/button.test.d.ts +1 -0
  199. package/lib/new-components/button/index.d.ts +1 -0
  200. package/lib/new-components/button-link/button-link-story-wrapper.d.ts +7 -0
  201. package/lib/new-components/button-link/button-link.d.ts +14 -8
  202. package/lib/new-components/button-link/button-link.js +1 -1
  203. package/lib/new-components/button-link/button-link.js.map +1 -1
  204. package/lib/new-components/button-link/button-link.test.d.ts +1 -0
  205. package/lib/new-components/checkbox-field/checkbox-field.d.ts +3 -3
  206. package/lib/new-components/checkbox-field/checkbox-field.js +1 -1
  207. package/lib/new-components/checkbox-field/checkbox-field.js.map +1 -1
  208. package/lib/new-components/checkbox-field/checkbox-field.module.css.js +1 -1
  209. package/lib/new-components/checkbox-field/checkbox-field.test.d.ts +1 -0
  210. package/lib/new-components/checkbox-field/checkbox-icon.js +1 -1
  211. package/lib/new-components/checkbox-field/checkbox-icon.js.map +1 -1
  212. package/lib/new-components/columns/columns.d.ts +4 -5
  213. package/lib/new-components/columns/columns.js +1 -1
  214. package/lib/new-components/columns/columns.js.map +1 -1
  215. package/lib/new-components/columns/columns.module.css.js +1 -1
  216. package/lib/new-components/columns/columns.test.d.ts +1 -0
  217. package/lib/new-components/common-types.d.ts +2 -0
  218. package/lib/new-components/divider/divider.d.ts +2 -2
  219. package/lib/new-components/divider/divider.js +1 -1
  220. package/lib/new-components/divider/divider.js.map +1 -1
  221. package/lib/new-components/divider/divider.module.css.js +1 -1
  222. package/lib/new-components/heading/heading.d.ts +101 -2
  223. package/lib/new-components/heading/heading.js +1 -1
  224. package/lib/new-components/heading/heading.js.map +1 -1
  225. package/lib/new-components/heading/heading.module.css.js +1 -1
  226. package/lib/new-components/heading/heading.test.d.ts +1 -0
  227. package/lib/new-components/hidden/hidden.d.ts +49 -0
  228. package/lib/new-components/hidden/hidden.js +2 -0
  229. package/lib/new-components/hidden/hidden.js.map +1 -0
  230. package/lib/new-components/hidden/hidden.module.css.js +2 -0
  231. package/lib/new-components/hidden/hidden.module.css.js.map +1 -0
  232. package/lib/new-components/hidden/hidden.test.d.ts +1 -0
  233. package/lib/new-components/hidden/index.d.ts +1 -0
  234. package/lib/new-components/hidden-visually/hidden-visually.d.ts +11 -0
  235. package/lib/new-components/hidden-visually/hidden-visually.js +2 -0
  236. package/lib/new-components/hidden-visually/hidden-visually.js.map +1 -0
  237. package/lib/new-components/hidden-visually/hidden-visually.module.css.js +2 -0
  238. package/lib/new-components/hidden-visually/hidden-visually.module.css.js.map +1 -0
  239. package/lib/new-components/hidden-visually/hidden-visually.test.d.ts +1 -0
  240. package/lib/new-components/hidden-visually/index.d.ts +1 -0
  241. package/lib/new-components/icons/alert-icon.js +1 -1
  242. package/lib/new-components/icons/alert-icon.js.map +1 -1
  243. package/lib/new-components/inline/inline.d.ts +1 -2
  244. package/lib/new-components/inline/inline.js +1 -1
  245. package/lib/new-components/inline/inline.js.map +1 -1
  246. package/lib/new-components/inline/inline.test.d.ts +1 -0
  247. package/lib/new-components/loading/index.d.ts +1 -0
  248. package/lib/new-components/loading/loading.d.ts +26 -0
  249. package/lib/new-components/loading/loading.js +2 -0
  250. package/lib/new-components/loading/loading.js.map +1 -0
  251. package/lib/new-components/loading/loading.test.d.ts +1 -0
  252. package/lib/new-components/modal/index.d.ts +1 -0
  253. package/lib/new-components/modal/modal-stories-components.d.ts +35 -0
  254. package/lib/new-components/modal/modal.d.ts +151 -0
  255. package/lib/new-components/modal/modal.js +2 -0
  256. package/lib/new-components/modal/modal.js.map +1 -0
  257. package/lib/new-components/modal/modal.module.css.js +2 -0
  258. package/lib/new-components/modal/modal.module.css.js.map +1 -0
  259. package/lib/new-components/modal/modal.test.d.ts +1 -0
  260. package/lib/new-components/password-field/password-field.d.ts +2 -2
  261. package/lib/new-components/password-field/password-field.js +1 -1
  262. package/lib/new-components/password-field/password-field.js.map +1 -1
  263. package/lib/new-components/password-field/password-field.test.d.ts +1 -0
  264. package/lib/new-components/responsive-props.d.ts +12 -14
  265. package/lib/new-components/responsive-props.js +1 -1
  266. package/lib/new-components/responsive-props.js.map +1 -1
  267. package/lib/new-components/select-field/select-field.d.ts +4 -4
  268. package/lib/new-components/select-field/select-field.js +1 -1
  269. package/lib/new-components/select-field/select-field.js.map +1 -1
  270. package/lib/new-components/select-field/select-field.module.css.js +1 -1
  271. package/lib/new-components/select-field/select-field.test.d.ts +1 -0
  272. package/lib/new-components/spinner/index.d.ts +1 -0
  273. package/lib/new-components/spinner/spinner.d.ts +5 -0
  274. package/lib/new-components/spinner/spinner.js +2 -0
  275. package/lib/new-components/spinner/spinner.js.map +1 -0
  276. package/lib/new-components/spinner/spinner.module.css.js +2 -0
  277. package/lib/new-components/spinner/spinner.module.css.js.map +1 -0
  278. package/lib/new-components/stack/stack.d.ts +8 -5
  279. package/lib/new-components/stack/stack.js +1 -1
  280. package/lib/new-components/stack/stack.js.map +1 -1
  281. package/lib/new-components/stack/stack.test.d.ts +1 -0
  282. package/lib/new-components/switch-field/switch-field.d.ts +4 -4
  283. package/lib/new-components/switch-field/switch-field.js +1 -1
  284. package/lib/new-components/switch-field/switch-field.js.map +1 -1
  285. package/lib/new-components/switch-field/switch-field.module.css.js +1 -1
  286. package/lib/new-components/switch-field/switch-field.test.d.ts +1 -0
  287. package/lib/new-components/tabs/index.d.ts +1 -0
  288. package/lib/new-components/tabs/tabs.d.ts +92 -0
  289. package/lib/new-components/tabs/tabs.js +2 -0
  290. package/lib/new-components/tabs/tabs.js.map +1 -0
  291. package/lib/new-components/tabs/tabs.module.css.js +2 -0
  292. package/lib/new-components/tabs/tabs.module.css.js.map +1 -0
  293. package/lib/new-components/tabs/tabs.test.d.ts +1 -0
  294. package/lib/new-components/test-helpers.d.ts +9 -0
  295. package/lib/new-components/text/text.d.ts +38 -5
  296. package/lib/new-components/text/text.js +1 -1
  297. package/lib/new-components/text/text.js.map +1 -1
  298. package/lib/new-components/text/text.module.css.js +1 -1
  299. package/lib/new-components/text/text.test.d.ts +1 -0
  300. package/lib/new-components/text-area/text-area.d.ts +2 -2
  301. package/lib/new-components/text-area/text-area.js +1 -1
  302. package/lib/new-components/text-area/text-area.js.map +1 -1
  303. package/lib/new-components/text-area/text-area.module.css.js +1 -1
  304. package/lib/new-components/text-field/text-field.d.ts +7 -4
  305. package/lib/new-components/text-field/text-field.js +1 -1
  306. package/lib/new-components/text-field/text-field.js.map +1 -1
  307. package/lib/new-components/text-field/text-field.module.css.js +1 -1
  308. package/lib/new-components/text-field/text-field.test.d.ts +1 -0
  309. package/lib/new-components/text-link/text-link.d.ts +1 -2
  310. package/lib/new-components/text-link/text-link.js +1 -1
  311. package/lib/new-components/text-link/text-link.js.map +1 -1
  312. package/lib/utils/polymorphism.d.ts +151 -0
  313. package/lib/utils/polymorphism.js +2 -0
  314. package/lib/utils/polymorphism.js.map +1 -0
  315. package/package.json +27 -23
  316. package/styles/alert.css +4 -2
  317. package/styles/base-button.css +6 -0
  318. package/styles/base-button.module.css.css +1 -0
  319. package/styles/base-field.css +7 -3
  320. package/styles/base-field.module.css.css +1 -1
  321. package/styles/box.css +3 -0
  322. package/styles/box.module.css.css +1 -1
  323. package/styles/checkbox-field.css +6 -2
  324. package/styles/checkbox-field.module.css.css +1 -1
  325. package/styles/color-picker.css +1 -1
  326. package/styles/columns.css +4 -2
  327. package/styles/columns.module.css.css +1 -1
  328. package/styles/deprecated-button.css +2 -0
  329. package/styles/deprecated-loading.css +1 -0
  330. package/styles/deprecated-modal.css +1 -0
  331. package/styles/divider.css +4 -2
  332. package/styles/divider.module.css.css +1 -1
  333. package/styles/dropdown.css +1 -1
  334. package/styles/heading.css +4 -2
  335. package/styles/heading.module.css.css +1 -1
  336. package/styles/hidden-visually.css +4 -0
  337. package/styles/hidden-visually.module.css.css +1 -0
  338. package/styles/hidden.css +4 -0
  339. package/styles/hidden.module.css.css +1 -0
  340. package/styles/inline.css +3 -1
  341. package/styles/loading.css +4 -1
  342. package/styles/margin.module.css.css +1 -0
  343. package/styles/menu.css +1 -1
  344. package/styles/modal.css +10 -1
  345. package/styles/modal.module.css.css +1 -0
  346. package/styles/notice.css +4 -2
  347. package/styles/padding.module.css.css +1 -0
  348. package/styles/password-field.css +8 -4
  349. package/styles/reactist.css +24 -19
  350. package/styles/select-field.css +8 -4
  351. package/styles/select-field.module.css.css +1 -1
  352. package/styles/spinner.module.css.css +1 -0
  353. package/styles/stack.css +4 -2
  354. package/styles/switch-field.css +9 -4
  355. package/styles/switch-field.module.css.css +1 -1
  356. package/styles/tabs.css +5 -1
  357. package/styles/tabs.module.css.css +1 -0
  358. package/styles/text-area.css +8 -4
  359. package/styles/text-area.module.css.css +1 -1
  360. package/styles/text-field.css +8 -4
  361. package/styles/text-field.module.css.css +1 -1
  362. package/styles/text-link.css +3 -1
  363. package/styles/text.css +4 -2
  364. package/styles/text.module.css.css +1 -1
  365. package/styles/tip.css +1 -1
  366. package/CHANGELOG.md +0 -496
  367. package/es/components/button/button.js.map +0 -1
  368. package/es/components/loading/index.js +0 -6
  369. package/es/components/loading/index.js.map +0 -1
  370. package/es/components/loading/loading.js.map +0 -1
  371. package/es/components/menu/type-helpers.js +0 -9
  372. package/es/components/menu/type-helpers.js.map +0 -1
  373. package/es/components/modal/index.js.map +0 -1
  374. package/es/components/modal/modal.js.map +0 -1
  375. package/es/components/tabs/tabs.js +0 -123
  376. package/es/components/tabs/tabs.js.map +0 -1
  377. package/es/new-components/button-link/button-link.module.css.js +0 -4
  378. package/es/new-components/button-link/button-link.module.css.js.map +0 -1
  379. package/es/new-components/loading-spinner/loading-spinner.js +0 -37
  380. package/es/new-components/loading-spinner/loading-spinner.js.map +0 -1
  381. package/es/new-components/loading-spinner/loading-spinner.module.css.js +0 -4
  382. package/es/new-components/loading-spinner/loading-spinner.module.css.js.map +0 -1
  383. package/es/new-components/type-helpers.js +0 -10
  384. package/es/new-components/type-helpers.js.map +0 -1
  385. package/lib/components/button/button.js +0 -2
  386. package/lib/components/button/button.js.map +0 -1
  387. package/lib/components/button/index.d.ts +0 -4
  388. package/lib/components/button/index.js +0 -2
  389. package/lib/components/loading/index.d.ts +0 -2
  390. package/lib/components/loading/index.js.map +0 -1
  391. package/lib/components/loading/loading.js.map +0 -1
  392. package/lib/components/menu/type-helpers.d.ts +0 -25
  393. package/lib/components/menu/type-helpers.js +0 -2
  394. package/lib/components/menu/type-helpers.js.map +0 -1
  395. package/lib/components/modal/index.js +0 -2
  396. package/lib/components/modal/index.js.map +0 -1
  397. package/lib/components/modal/modal.js.map +0 -1
  398. package/lib/components/tabs/index.d.ts +0 -1
  399. package/lib/components/tabs/tabs.d.ts +0 -33
  400. package/lib/components/tabs/tabs.js +0 -2
  401. package/lib/components/tabs/tabs.js.map +0 -1
  402. package/lib/new-components/button-link/button-link.module.css.js +0 -2
  403. package/lib/new-components/button-link/button-link.module.css.js.map +0 -1
  404. package/lib/new-components/loading-spinner/index.d.ts +0 -1
  405. package/lib/new-components/loading-spinner/loading-spinner.d.ts +0 -8
  406. package/lib/new-components/loading-spinner/loading-spinner.js +0 -2
  407. package/lib/new-components/loading-spinner/loading-spinner.js.map +0 -1
  408. package/lib/new-components/loading-spinner/loading-spinner.module.css.js +0 -2
  409. package/lib/new-components/loading-spinner/loading-spinner.module.css.js.map +0 -1
  410. package/lib/new-components/type-helpers.d.ts +0 -26
  411. package/lib/new-components/type-helpers.js +0 -2
  412. package/lib/new-components/type-helpers.js.map +0 -1
  413. package/styles/button-link.css +0 -2
  414. package/styles/button-link.module.css.css +0 -1
  415. package/styles/button.css +0 -2
  416. package/styles/loading-spinner.module.css.css +0 -1
@@ -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":";;;;;AAOA,IAAMA,KAAK,GAAG,KAAd;;IA0BMC;;;AAIF,gBAAYC,KAAZ;;;AACI,wCAAMA,KAAN;AACA,UAAKC,eAAL,GAAuBC,SAAvB;AAEA,UAAKC,KAAL,GAAa;AACTC,MAAAA,OAAO,EAAE,KADA;AAETC,MAAAA,MAAM,EAAEH,SAFC;AAGTI,MAAAA,MAAM,EAAEJ;AAHC,KAAb;;AAKH;;;;SAEDK,oBAAA;AACI,QAAI,KAAKP,KAAL,CAAWQ,OAAf,EAAwB;AACpB,WAAKC,QAAL;AACH;AACJ;;SAEDC,qBAAA,4BAAmBC,SAAnB;AACI,QAAI,CAACA,SAAS,CAACH,OAAX,IAAsB,KAAKR,KAAL,CAAWQ,OAArC,EAA8C;AAC1C,WAAKC,QAAL;AACH;;AAED,QAAIE,SAAS,CAACH,OAAV,IAAqB,CAAC,KAAKR,KAAL,CAAWQ,OAArC,EAA8C;AAC1C,UAAI,KAAKP,eAAT,EAA0B;AACtBW,QAAAA,YAAY,CAAC,KAAKX,eAAN,CAAZ;AACH;AACJ;AACJ;;SAEDY,uBAAA;AACI,QAAI,KAAKZ,eAAT,EAA0B;AACtBW,MAAAA,YAAY,CAAC,KAAKX,eAAN,CAAZ;AACH;AACJ;;SAIDa,cAAA,qBAAYV,OAAZ,EAA8BW,KAA9B;sBAC+B,KAAKZ;QAAxBE,qBAAAA;QAAQC,qBAAAA;QACRU,UAAqBD,MAArBC;QAASC,UAAYF,MAAZE;;AACjB,QAAID,OAAO,KAAKX,MAAZ,IAAsBY,OAAO,KAAKX,MAAtC,EAA8C;AAC1C;AACA,WAAKY,QAAL,CAAc;AAAA,eAAO;AACjBd,UAAAA,OAAO,EAAPA,OADiB;AAEjBC,UAAAA,MAAM,EAAEW,OAFS;AAGjBV,UAAAA,MAAM,EAAEW;AAHS,SAAP;AAAA,OAAd;AAKH;AACJ;;SAEDE,cAAA,qBAAYC,MAAZ;AACI,QAAI,CAAC,KAAKpB,KAAL,CAAWqB,IAAhB,EAAsB;AAClB;AACH;;AACD,QAAI,KAAKlB,KAAL,CAAWC,OAAf,EAAwB;AACpB,UAAI,KAAKJ,KAAL,CAAWsB,kBAAX,IAAiC,CAAC,KAAKtB,KAAL,CAAWuB,cAAjD,EAAiE;AAC7D,eAAOC,SAAS,CAACC,cAAV,CAAyB,KAAKzB,KAAL,CAAWqB,IAApC,EAA0CD,MAA1C,CAAP;AACH;;AACD,UAAI,KAAKpB,KAAL,CAAW0B,aAAX,IAA4B,CAAC,KAAK1B,KAAL,CAAWuB,cAA5C,EAA4D;AACxD,eAAOC,SAAS,CAACG,UAAV,CAAqB,KAAK3B,KAAL,CAAWqB,IAAhC,EAAsCD,MAAtC,CAAP;AACH;AACJ;;AACD,WAAOI,SAAS,CAACI,OAAV,CAAkB,KAAK5B,KAAL,CAAWqB,IAA7B,EAAmCD,MAAnC,CAAP;AACH;;SAEDX,WAAA;;;AACI,SAAKR,eAAL,GAAuB4B,WAAW,CAAC;AAC/B,MAAA,MAAI,CAACC,WAAL;AACH,KAFiC,EAE/BhC,KAF+B,CAAlC;AAGH;;SAEDiC,SAAA;;;AACI,QAAIC,SAAS,GAAG,eAAhB;;AACA,QAAI,KAAKhC,KAAL,CAAWgC,SAAf,EAA0B;AACtBA,MAAAA,SAAS,GAAG,KAAKhC,KAAL,CAAWgC,SAAvB;AACH;;AAED,QAAMC,aAAa,GAAG,KAAKd,WAAL,CAAiB,KAAKnB,KAAL,CAAWoB,MAA5B,CAAtB;;AAEA,wBACIc,4BAAA,OAAA;AACIF,MAAAA,SAAS,EAAEA;AACXG,MAAAA,YAAY,EAAE,sBAACpB,KAAD;AAAA,eAAW,MAAI,CAACD,WAAL,CAAiB,IAAjB,EAAuBC,KAAvB,CAAX;AAAA;AACdqB,MAAAA,YAAY,EAAE,sBAACrB,KAAD;AAAA,eAAW,MAAI,CAACD,WAAL,CAAiB,KAAjB,EAAwBC,KAAxB,CAAX;AAAA;KAHlB,EAKK,KAAKf,KAAL,CAAWuB,cAAX,gBACGW,4BAAA,CAACG,OAAD;AACIC,MAAAA,OAAO,EACH,KAAKtC,KAAL,CAAWuC,OAAX,IACC,KAAKvC,KAAL,CAAWqB,IAAX,IACGG,SAAS,CAACC,cAAV,CAAyB,KAAKzB,KAAL,CAAWqB,IAApC,EAA0C,KAAKrB,KAAL,CAAWoB,MAArD;KAJZ,eAOIc,4BAAA,OAAA,MAAA,EAAOD,aAAP,CAPJ,CADH,GAWGA,aAhBR,CADJ;AAqBH;;;EAxGcC,cAAK,CAACM;;AA0GzBzC,IAAI,CAAC0C,WAAL,GAAmB,MAAnB;AAEA1C,IAAI,CAAC2C,YAAL,GAAoB;AAChBhB,EAAAA,aAAa,EAAE,KADC;AAEhBJ,EAAAA,kBAAkB,EAAE,KAFJ;AAGhBC,EAAAA,cAAc,EAAE,KAHA;AAIhBf,EAAAA,OAAO,EAAE,IAJO;AAKhBY,EAAAA,MAAM,EAAE;AACJuB,IAAAA,MAAM,EAAE,IADJ;AAEJC,IAAAA,UAAU,EAAE,GAFR;AAGJC,IAAAA,WAAW,EAAE,GAHT;AAIJC,IAAAA,aAAa,EAAE,GAJX;AAKJC,IAAAA,UAAU,EAAE;AALR;AALQ,CAApB;;;;"}
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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"}
@@ -3,6 +3,8 @@ import React__default from 'react';
3
3
  import classNames from 'classnames';
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
@@ -3,23 +3,29 @@ export { Column, Columns } from './new-components/columns/columns.js';
3
3
  export { Divider } from './new-components/divider/divider.js';
4
4
  export { Inline } from './new-components/inline/inline.js';
5
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';
6
8
  export { Alert } from './new-components/alert/alert.js';
7
- export { LoadingSpinner } from './new-components/loading-spinner/loading-spinner.js';
9
+ export { Loading } from './new-components/loading/loading.js';
8
10
  export { Notice } from './new-components/notice/notice.js';
9
11
  export { Heading } from './new-components/heading/heading.js';
10
12
  export { Text } from './new-components/text/text.js';
13
+ export { Tooltip } from './components/tooltip/tooltip.js';
14
+ export { Button } from './new-components/button/button.js';
11
15
  export { ButtonLink } from './new-components/button-link/button-link.js';
12
16
  export { TextLink } from './new-components/text-link/text-link.js';
13
17
  export { CheckboxField } from './new-components/checkbox-field/checkbox-field.js';
14
- export { Tooltip } from './components/tooltip/tooltip.js';
15
18
  export { PasswordField } from './new-components/password-field/password-field.js';
16
19
  export { SelectField } from './new-components/select-field/select-field.js';
17
20
  export { SwitchField } from './new-components/switch-field/switch-field.js';
18
21
  export { TextArea } from './new-components/text-area/text-area.js';
19
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';
20
26
  export { default as Avatar } from './components/avatar/index.js';
21
- export { default as Button } from './components/button/index.js';
22
27
  export { default as Checkbox } from './components/checkbox/index.js';
28
+ export { default as DeprecatedButton } from './components/deprecated-button/index.js';
23
29
  export { default as Dropdown } from './components/dropdown/index.js';
24
30
  export { COLORS } from './components/color-picker/color-picker.js';
25
31
  export { default as ColorPicker } from './components/color-picker/index.js';
@@ -29,8 +35,6 @@ export { default as Input } from './components/input/index.js';
29
35
  export { default as KeyboardShortcut } from './components/keyboard-shortcut/index.js';
30
36
  export { SUPPORTED_KEYS } from './components/key-capturer/key-capturer.js';
31
37
  export { default as KeyCapturer } from './components/key-capturer/index.js';
32
- export { default as Loading } from './components/loading/index.js';
33
- export { default as Modal } from './components/modal/index.js';
34
38
  export { default as Popover } from './components/popover/index.js';
35
39
  export { default as ProgressBar } from './components/progress-bar/index.js';
36
40
  export { default as RangeInput } from './components/range-input/index.js';
@@ -38,6 +42,7 @@ export { default as Select } from './components/select/index.js';
38
42
  export { default as Time } from './components/time/index.js';
39
43
  export { default as Tip } from './components/tip/index.js';
40
44
  export { Notification } from './components/notification/notification.js';
41
- export { Tab, Tabs } from './components/tabs/tabs.js';
42
45
  export { Menu, MenuButton, MenuGroup, MenuItem, MenuList, SubMenu } from './components/menu/menu.js';
46
+ export { default as DeprecatedModal } from './components/deprecated-modal/index.js';
47
+ export { Loading as DeprecatedLoading } from './components/deprecated-loading/deprecated-loading.js';
43
48
  //# 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,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":";;;;"}
@@ -1,62 +1,62 @@
1
- import { objectWithoutPropertiesLoose as _objectWithoutPropertiesLoose } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
1
  import { createElement } from 'react';
3
- import classNames from 'classnames';
4
2
  import { Box } from '../box/box.js';
3
+ import { Stack } from '../stack/stack.js';
5
4
  import { Text } from '../text/text.js';
6
5
  import { useId } from '../common-helpers.js';
7
6
  import styles from './base-field.module.css.js';
8
7
 
9
- function FieldHint(_ref) {
10
- var id = _ref.id,
11
- children = _ref.children;
12
- return /*#__PURE__*/createElement(Text, {
13
- component: "p",
8
+ function FieldHint(props) {
9
+ return /*#__PURE__*/createElement(Text, Object.assign({
10
+ as: "p",
14
11
  tone: "secondary",
15
- size: "small",
16
- id: id,
17
- className: styles.fieldHint
18
- }, children);
12
+ size: "copy"
13
+ }, props));
19
14
  }
20
15
 
21
- function BaseField(_ref2) {
22
- var label = _ref2.label,
23
- secondaryLabel = _ref2.secondaryLabel,
24
- auxiliaryLabel = _ref2.auxiliaryLabel,
25
- hint = _ref2.hint,
26
- className = _ref2.className,
27
- children = _ref2.children,
28
- maxWidth = _ref2.maxWidth,
29
- hidden = _ref2.hidden,
30
- props = _objectWithoutPropertiesLoose(_ref2, ["label", "secondaryLabel", "auxiliaryLabel", "hint", "className", "children", "maxWidth", "hidden"]);
31
-
32
- var id = useId(props.id);
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);
33
28
  var hintId = useId();
34
- var ariaDescribedBy = hint ? classNames(hintId, props['aria-describedby']) : props['aria-describedby'];
35
- return /*#__PURE__*/createElement(Box, {
29
+ var ariaDescribedBy = originalAriaDescribedBy !== null && originalAriaDescribedBy !== void 0 ? originalAriaDescribedBy : hint ? hintId : undefined;
30
+ return /*#__PURE__*/createElement(Stack, {
31
+ space: "small"
32
+ }, /*#__PURE__*/createElement(Box, {
36
33
  className: [className, styles.container],
37
34
  maxWidth: maxWidth,
38
35
  hidden: hidden
39
36
  }, /*#__PURE__*/createElement(Box, {
40
- component: "span",
37
+ as: "span",
41
38
  display: "flex",
42
39
  justifyContent: "spaceBetween",
43
40
  alignItems: "flexEnd",
44
41
  paddingBottom: "small"
45
42
  }, /*#__PURE__*/createElement(Text, {
46
- component: "label",
43
+ size: "body",
44
+ as: "label",
47
45
  htmlFor: id
48
46
  }, label ? /*#__PURE__*/createElement("span", {
49
47
  className: styles.primaryLabel
50
48
  }, label) : null, secondaryLabel ? /*#__PURE__*/createElement("span", {
51
49
  className: styles.secondaryLabel
52
50
  }, "\xA0(", secondaryLabel, ")") : null), auxiliaryLabel ? /*#__PURE__*/createElement(Box, {
53
- className: styles.auxiliaryLabel
51
+ className: styles.auxiliaryLabel,
52
+ paddingLeft: "small"
54
53
  }, auxiliaryLabel) : null), children(ariaDescribedBy ? {
55
54
  id: id,
56
55
  'aria-describedby': ariaDescribedBy
57
56
  } : {
58
57
  id: id
59
- }), hint ? /*#__PURE__*/createElement(FieldHint, {
58
+ })), hint ? /*#__PURE__*/createElement(FieldHint, {
59
+ hidden: hidden,
60
60
  id: hintId
61
61
  }, hint) : null);
62
62
  }
@@ -1 +1 @@
1
- {"version":3,"file":"base-field.js","sources":["../../../src/new-components/base-field/base-field.tsx"],"sourcesContent":["import * as React from 'react'\nimport classNames from 'classnames'\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'\n\nfunction FieldHint({ id, children }: { id: string; children: React.ReactNode }) {\n return (\n <Text component=\"p\" tone=\"secondary\" size=\"small\" id={id} className={styles.fieldHint}>\n {children}\n </Text>\n )\n}\n\n//\n// BaseField\n//\n\ntype HtmlInputProps<T extends HTMLElement> = React.DetailedHTMLProps<\n React.InputHTMLAttributes<T>,\n T\n>\n\ninterface BaseFieldChildren {\n children: (props: { id: string; 'aria-describedby'?: string }) => React.ReactNode\n}\n\ninterface BaseFieldProps<T extends HTMLElement = HTMLInputElement>\n extends Omit<HtmlInputProps<T>, 'className' | 'style'> {\n label?: React.ReactNode\n secondaryLabel?: React.ReactNode\n auxiliaryLabel?: React.ReactNode\n hint?: React.ReactNode\n maxWidth?: BoxProps['maxWidth']\n}\n\nfunction BaseField({\n label,\n secondaryLabel,\n auxiliaryLabel,\n hint,\n className,\n children,\n maxWidth,\n hidden,\n ...props\n}: BaseFieldProps & BaseFieldChildren & WithEnhancedClassName) {\n const id = useId(props.id)\n const hintId = useId()\n\n const ariaDescribedBy = hint\n ? classNames(hintId, props['aria-describedby'])\n : props['aria-describedby']\n\n return (\n <Box className={[className, styles.container]} maxWidth={maxWidth} hidden={hidden}>\n <Box\n component=\"span\"\n display=\"flex\"\n justifyContent=\"spaceBetween\"\n alignItems=\"flexEnd\"\n paddingBottom=\"small\"\n >\n <Text component=\"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}>{auxiliaryLabel}</Box>\n ) : null}\n </Box>\n {children(ariaDescribedBy ? { id, 'aria-describedby': ariaDescribedBy } : { id })}\n {hint ? <FieldHint id={hintId}>{hint}</FieldHint> : null}\n </Box>\n )\n}\n\nexport { BaseField, FieldHint }\nexport { BaseFieldProps }\n"],"names":["FieldHint","id","children","React","Text","component","tone","size","className","styles","fieldHint","BaseField","label","secondaryLabel","auxiliaryLabel","hint","maxWidth","hidden","props","useId","hintId","ariaDescribedBy","classNames","Box","container","display","justifyContent","alignItems","paddingBottom","htmlFor","primaryLabel"],"mappings":";;;;;;;;AAQA,SAASA,SAAT;MAAqBC,UAAAA;MAAIC,gBAAAA;AACrB,sBACIC,aAAA,CAACC,IAAD;AAAMC,IAAAA,SAAS,EAAC;AAAIC,IAAAA,IAAI,EAAC;AAAYC,IAAAA,IAAI,EAAC;AAAQN,IAAAA,EAAE,EAAEA;AAAIO,IAAAA,SAAS,EAAEC,MAAM,CAACC;GAA5E,EACKR,QADL,CADJ;AAKH;;AAwBD,SAASS,SAAT;MACIC,cAAAA;MACAC,uBAAAA;MACAC,uBAAAA;MACAC,aAAAA;MACAP,kBAAAA;MACAN,iBAAAA;MACAc,iBAAAA;MACAC,eAAAA;MACGC;;AAEH,MAAMjB,EAAE,GAAGkB,KAAK,CAACD,KAAK,CAACjB,EAAP,CAAhB;AACA,MAAMmB,MAAM,GAAGD,KAAK,EAApB;AAEA,MAAME,eAAe,GAAGN,IAAI,GACtBO,UAAU,CAACF,MAAD,EAASF,KAAK,CAAC,kBAAD,CAAd,CADY,GAEtBA,KAAK,CAAC,kBAAD,CAFX;AAIA,sBACIf,aAAA,CAACoB,GAAD;AAAKf,IAAAA,SAAS,EAAE,CAACA,SAAD,EAAYC,MAAM,CAACe,SAAnB;AAA+BR,IAAAA,QAAQ,EAAEA;AAAUC,IAAAA,MAAM,EAAEA;GAA3E,eACId,aAAA,CAACoB,GAAD;AACIlB,IAAAA,SAAS,EAAC;AACVoB,IAAAA,OAAO,EAAC;AACRC,IAAAA,cAAc,EAAC;AACfC,IAAAA,UAAU,EAAC;AACXC,IAAAA,aAAa,EAAC;GALlB,eAOIzB,aAAA,CAACC,IAAD;AAAMC,IAAAA,SAAS,EAAC;AAAQwB,IAAAA,OAAO,EAAE5B;GAAjC,EACKW,KAAK,gBAAGT,aAAA,OAAA;AAAMK,IAAAA,SAAS,EAAEC,MAAM,CAACqB;GAAxB,EAAuClB,KAAvC,CAAH,GAA0D,IADpE,EAEKC,cAAc,gBACXV,aAAA,OAAA;AAAMK,IAAAA,SAAS,EAAEC,MAAM,CAACI;GAAxB,SAAA,EAAgDA,cAAhD,KAAA,CADW,GAEX,IAJR,CAPJ,EAaKC,cAAc,gBACXX,aAAA,CAACoB,GAAD;AAAKf,IAAAA,SAAS,EAAEC,MAAM,CAACK;GAAvB,EAAwCA,cAAxC,CADW,GAEX,IAfR,CADJ,EAkBKZ,QAAQ,CAACmB,eAAe,GAAG;AAAEpB,IAAAA,EAAE,EAAFA,EAAF;AAAM,wBAAoBoB;AAA1B,GAAH,GAAiD;AAAEpB,IAAAA,EAAE,EAAFA;AAAF,GAAjE,CAlBb,EAmBKc,IAAI,gBAAGZ,aAAA,CAACH,SAAD;AAAWC,IAAAA,EAAE,EAAEmB;GAAf,EAAwBL,IAAxB,CAAH,GAA+C,IAnBxD,CADJ;AAuBH;;;;"}
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;;;;"}
@@ -1,4 +1,4 @@
1
- var modules_540a88ff = {"container":"_4014f55e","primaryLabel":"_52b4c04a","secondaryLabel":"a4e7d84d","auxiliaryLabel":"_28fba036"};
1
+ var modules_540a88ff = {"container":"ed7d894c","primaryLabel":"_22213081","secondaryLabel":"be8637dd","auxiliaryLabel":"_72b46ad5"};
2
2
 
3
3
  export default modules_540a88ff;
4
4
  //# sourceMappingURL=base-field.module.css.js.map
@@ -1,19 +1,21 @@
1
1
  import { objectWithoutPropertiesLoose as _objectWithoutPropertiesLoose, objectSpread2 as _objectSpread2 } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
2
  import { createElement } from 'react';
3
3
  import classNames from 'classnames';
4
- import { forwardRefWithAs } from '../type-helpers.js';
4
+ import { polymorphicComponent } from '../../utils/polymorphism.js';
5
5
  import { getClassNames } from '../responsive-props.js';
6
6
  import styles from './box.module.css.js';
7
+ import paddingStyles from './padding.module.css.js';
8
+ import marginStyles from './margin.module.css.js';
7
9
 
8
- var Box = /*#__PURE__*/forwardRefWithAs(function Box(_ref, ref) {
9
- var _ref2, _ref3, _ref4, _ref5;
10
+ 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"];
11
+ var Box = /*#__PURE__*/polymorphicComponent(function Box(_ref, ref) {
12
+ var _ref2, _ref3, _ref4, _ref5, _ref6, _ref7, _ref8, _ref9;
10
13
 
11
- var _ref$component = _ref.component,
12
- component = _ref$component === void 0 ? 'div' : _ref$component,
14
+ var _ref$as = _ref.as,
15
+ component = _ref$as === void 0 ? 'div' : _ref$as,
13
16
  _ref$position = _ref.position,
14
17
  position = _ref$position === void 0 ? 'static' : _ref$position,
15
- _ref$display = _ref.display,
16
- display = _ref$display === void 0 ? 'block' : _ref$display,
18
+ display = _ref.display,
17
19
  _ref$flexDirection = _ref.flexDirection,
18
20
  flexDirection = _ref$flexDirection === void 0 ? 'row' : _ref$flexDirection,
19
21
  flexWrap = _ref.flexWrap,
@@ -29,6 +31,8 @@ var Box = /*#__PURE__*/forwardRefWithAs(function Box(_ref, ref) {
29
31
  borderRadius = _ref.borderRadius,
30
32
  minWidth = _ref.minWidth,
31
33
  maxWidth = _ref.maxWidth,
34
+ _ref$textAlign = _ref.textAlign,
35
+ textAlign = _ref$textAlign === void 0 ? 'start' : _ref$textAlign,
32
36
  padding = _ref.padding,
33
37
  paddingY = _ref.paddingY,
34
38
  paddingX = _ref.paddingX,
@@ -36,17 +40,32 @@ var Box = /*#__PURE__*/forwardRefWithAs(function Box(_ref, ref) {
36
40
  paddingRight = _ref.paddingRight,
37
41
  paddingBottom = _ref.paddingBottom,
38
42
  paddingLeft = _ref.paddingLeft,
43
+ margin = _ref.margin,
44
+ marginY = _ref.marginY,
45
+ marginX = _ref.marginX,
46
+ marginTop = _ref.marginTop,
47
+ marginRight = _ref.marginRight,
48
+ marginBottom = _ref.marginBottom,
49
+ marginLeft = _ref.marginLeft,
39
50
  className = _ref.className,
40
51
  children = _ref.children,
41
- props = _objectWithoutPropertiesLoose(_ref, ["component", "position", "display", "flexDirection", "flexWrap", "flexGrow", "flexShrink", "alignItems", "justifyContent", "overflow", "width", "height", "background", "border", "borderRadius", "minWidth", "maxWidth", "padding", "paddingY", "paddingX", "paddingTop", "paddingRight", "paddingBottom", "paddingLeft", "className", "children"]);
52
+ props = _objectWithoutPropertiesLoose(_ref, _excluded);
42
53
 
43
54
  var resolvedPaddingTop = (_ref2 = paddingTop !== null && paddingTop !== void 0 ? paddingTop : paddingY) !== null && _ref2 !== void 0 ? _ref2 : padding;
44
55
  var resolvedPaddingRight = (_ref3 = paddingRight !== null && paddingRight !== void 0 ? paddingRight : paddingX) !== null && _ref3 !== void 0 ? _ref3 : padding;
45
56
  var resolvedPaddingBottom = (_ref4 = paddingBottom !== null && paddingBottom !== void 0 ? paddingBottom : paddingY) !== null && _ref4 !== void 0 ? _ref4 : padding;
46
57
  var resolvedPaddingLeft = (_ref5 = paddingLeft !== null && paddingLeft !== void 0 ? paddingLeft : paddingX) !== null && _ref5 !== void 0 ? _ref5 : padding;
47
- var isFlex = display === 'flex' || display === 'inlineFlex';
58
+ var resolvedMarginTop = (_ref6 = marginTop !== null && marginTop !== void 0 ? marginTop : marginY) !== null && _ref6 !== void 0 ? _ref6 : margin;
59
+ var resolvedMarginRight = (_ref7 = marginRight !== null && marginRight !== void 0 ? marginRight : marginX) !== null && _ref7 !== void 0 ? _ref7 : margin;
60
+ var resolvedMarginBottom = (_ref8 = marginBottom !== null && marginBottom !== void 0 ? marginBottom : marginY) !== null && _ref8 !== void 0 ? _ref8 : margin;
61
+ var resolvedMarginLeft = (_ref9 = marginLeft !== null && marginLeft !== void 0 ? marginLeft : marginX) !== null && _ref9 !== void 0 ? _ref9 : margin;
62
+ var omitFlex = !display || typeof display === 'string' && display !== 'flex' && display !== 'inlineFlex';
48
63
  return /*#__PURE__*/createElement(component, _objectSpread2(_objectSpread2({}, props), {}, {
49
- className: classNames(className, styles.box, getClassNames(styles, 'display', display), position !== 'static' ? getClassNames(styles, 'position', position) : null, minWidth != null ? getClassNames(styles, 'minWidth', String(minWidth)) : null, getClassNames(styles, 'maxWidth', maxWidth), getClassNames(styles, 'paddingTop', resolvedPaddingTop), getClassNames(styles, 'paddingRight', resolvedPaddingRight), getClassNames(styles, 'paddingBottom', resolvedPaddingBottom), getClassNames(styles, 'paddingLeft', resolvedPaddingLeft), isFlex ? getClassNames(styles, 'flexDirection', flexDirection) : null, isFlex ? getClassNames(styles, 'flexWrap', flexWrap) : null, isFlex ? getClassNames(styles, 'alignItems', alignItems) : null, isFlex ? getClassNames(styles, 'justifyContent', justifyContent) : null, flexShrink != null ? getClassNames(styles, 'flexShrink', String(flexShrink)) : null, flexGrow != null ? getClassNames(styles, 'flexGrow', String(flexGrow)) : null, getClassNames(styles, 'overflow', overflow), getClassNames(styles, 'width', width), getClassNames(styles, 'height', height), getClassNames(styles, 'bg', background), borderRadius !== 'none' ? getClassNames(styles, 'borderRadius', borderRadius) : null, border !== 'none' ? getClassNames(styles, 'border', border) : null) || undefined,
64
+ className: classNames(className, styles.box, display ? getClassNames(styles, 'display', display) : null, position !== 'static' ? getClassNames(styles, 'position', position) : null, minWidth != null ? getClassNames(styles, 'minWidth', String(minWidth)) : null, getClassNames(styles, 'maxWidth', maxWidth), textAlign !== 'start' ? getClassNames(styles, 'textAlign', textAlign) : null, // padding
65
+ getClassNames(paddingStyles, 'paddingTop', resolvedPaddingTop), getClassNames(paddingStyles, 'paddingRight', resolvedPaddingRight), getClassNames(paddingStyles, 'paddingBottom', resolvedPaddingBottom), getClassNames(paddingStyles, 'paddingLeft', resolvedPaddingLeft), // margin
66
+ getClassNames(marginStyles, 'marginTop', resolvedMarginTop), getClassNames(marginStyles, 'marginRight', resolvedMarginRight), getClassNames(marginStyles, 'marginBottom', resolvedMarginBottom), getClassNames(marginStyles, 'marginLeft', resolvedMarginLeft), // flex props
67
+ 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
68
+ getClassNames(styles, 'overflow', overflow), getClassNames(styles, 'width', width), getClassNames(styles, 'height', height), getClassNames(styles, 'bg', background), borderRadius !== 'none' ? getClassNames(styles, 'borderRadius', borderRadius) : null, border !== 'none' ? getClassNames(styles, 'border', border) : null) || undefined,
50
69
  ref: ref
51
70
  }), children);
52
71
  });
@@ -1 +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 { forwardRefWithAs } from '../type-helpers'\nimport { getClassNames } from '../responsive-props'\n\nimport type { ResponsiveProp } from '../responsive-props'\nimport type { Space, WithEnhancedClassName } from '../common-types'\n\nimport styles from './box.module.css'\n\ninterface PaddingProps {\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\ntype BoxMaxMinWidth = 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge'\ntype BoxDisplay = 'block' | 'flex' | 'inline' | 'inlineBlock' | 'inlineFlex' | 'none'\ntype BoxFlexDirection = 'column' | 'row'\ntype BoxFlexWrap = 'nowrap' | 'wrap'\ntype BoxAlignItems = 'center' | 'flexEnd' | 'flexStart'\ntype BoxJustifyContent = 'center' | 'flexEnd' | 'flexStart' | 'spaceBetween'\ntype BoxOverflow = 'hidden' | 'auto' | 'visible' | 'scroll'\n\ninterface BorderProps {\n borderRadius?: 'standard' | 'none' | 'full'\n border?: 'standard' | 'none' // to be extended with more options\n}\n\ninterface ReusableBoxProps extends BorderProps, PaddingProps {\n minWidth?: 0 | BoxMaxMinWidth\n maxWidth?: BoxMaxMinWidth\n background?: 'default' | 'aside' | 'highlight' | 'selected'\n}\n\ntype BoxPosition = 'absolute' | 'fixed' | 'relative' | 'static' | 'sticky'\n\ninterface BoxProps extends WithEnhancedClassName, ReusableBoxProps {\n position?: ResponsiveProp<BoxPosition>\n display?: ResponsiveProp<BoxDisplay>\n flexDirection?: ResponsiveProp<BoxFlexDirection>\n flexWrap?: BoxFlexWrap\n flexGrow?: 0 | 1\n flexShrink?: 0\n alignItems?: ResponsiveProp<BoxAlignItems>\n justifyContent?: ResponsiveProp<BoxJustifyContent>\n overflow?: BoxOverflow\n width?: 'full'\n height?: 'full'\n}\n\nconst Box = forwardRefWithAs<BoxProps>(function Box(\n {\n component = 'div',\n position = 'static',\n display = 'block',\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 padding,\n paddingY,\n paddingX,\n paddingTop,\n paddingRight,\n paddingBottom,\n paddingLeft,\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 const isFlex = display === 'flex' || display === 'inlineFlex'\n\n return React.createElement(\n component,\n {\n ...props,\n className:\n classNames(\n className,\n styles.box,\n getClassNames(styles, 'display', display),\n position !== 'static' ? getClassNames(styles, 'position', position) : null,\n minWidth != null ? getClassNames(styles, 'minWidth', String(minWidth)) : null,\n getClassNames(styles, 'maxWidth', maxWidth),\n getClassNames(styles, 'paddingTop', resolvedPaddingTop),\n getClassNames(styles, 'paddingRight', resolvedPaddingRight),\n getClassNames(styles, 'paddingBottom', resolvedPaddingBottom),\n getClassNames(styles, 'paddingLeft', resolvedPaddingLeft),\n isFlex ? getClassNames(styles, 'flexDirection', flexDirection) : null,\n isFlex ? getClassNames(styles, 'flexWrap', flexWrap) : null,\n isFlex ? getClassNames(styles, 'alignItems', alignItems) : null,\n isFlex ? getClassNames(styles, 'justifyContent', justifyContent) : null,\n flexShrink != null\n ? getClassNames(styles, 'flexShrink', String(flexShrink))\n : null,\n flexGrow != null ? getClassNames(styles, 'flexGrow', String(flexGrow)) : null,\n getClassNames(styles, 'overflow', overflow),\n getClassNames(styles, 'width', width),\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 ReusableBoxProps,\n BoxMaxMinWidth,\n BoxDisplay,\n BoxPosition,\n BoxFlexDirection,\n BoxFlexWrap,\n BoxAlignItems,\n BoxJustifyContent,\n BoxOverflow,\n}\n\nexport { Box }\n"],"names":["Box","forwardRefWithAs","ref","component","position","display","flexDirection","flexWrap","flexGrow","flexShrink","alignItems","justifyContent","overflow","width","height","background","border","borderRadius","minWidth","maxWidth","padding","paddingY","paddingX","paddingTop","paddingRight","paddingBottom","paddingLeft","className","children","props","resolvedPaddingTop","resolvedPaddingRight","resolvedPaddingBottom","resolvedPaddingLeft","isFlex","React","classNames","styles","box","getClassNames","String","undefined"],"mappings":"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"}
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'\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 BoxMaxMinWidth = 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge'\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\ninterface BorderProps {\n borderRadius?: 'standard' | 'none' | 'full'\n border?: DividerWeight\n}\n\ninterface ReusableBoxProps extends BorderProps, BoxPaddingProps {\n minWidth?: 0 | BoxMaxMinWidth\n maxWidth?: BoxMaxMinWidth | 'full'\n background?: 'default' | 'aside' | 'highlight' | 'selected'\n flexGrow?: 0 | 1\n flexShrink?: 0\n width?: 'full'\n height?: 'full'\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 width?: 'full'\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 ? getClassNames(styles, 'minWidth', String(minWidth)) : null,\n getClassNames(styles, '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 getClassNames(styles, 'width', width),\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 BoxMaxMinWidth,\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","String","paddingStyles","marginStyles","undefined"],"mappings":";;;;;;;;;;IAiFMA,GAAG,gBAAGC,oBAAoB,CAAmC,SAASD,GAAT,OAsC/DE,GAtC+D;;;qBAE3DC;MAAIC,iCAAY;2BAChBC;MAAAA,sCAAW;MACXC,eAAAA;gCACAC;MAAAA,gDAAgB;MAChBC,gBAAAA;MACAC,gBAAAA;MACAC,kBAAAA;MACAC,kBAAAA;MACAC,sBAAAA;MACAC,gBAAAA;MACAC,aAAAA;MACAC,cAAAA;MACAC,kBAAAA;MACAC,cAAAA;MACAC,oBAAAA;MACAC,gBAAAA;MACAC,gBAAAA;4BACAC;MAAAA,wCAAY;MACZC,eAAAA;MACAC,gBAAAA;MACAC,gBAAAA;MACAC,kBAAAA;MACAC,oBAAAA;MACAC,qBAAAA;MACAC,mBAAAA;MACAC,cAAAA;MACAC,eAAAA;MACAC,eAAAA;MACAC,iBAAAA;MACAC,mBAAAA;MACAC,oBAAAA;MACAC,kBAAAA;MACAC,iBAAAA;MACAC,gBAAAA;MACGC;;AAIP,MAAMC,kBAAkB,YAAGd,UAAH,aAAGA,UAAH,cAAGA,UAAH,GAAiBF,QAAjB,yCAA6BD,OAArD;AACA,MAAMkB,oBAAoB,YAAGd,YAAH,aAAGA,YAAH,cAAGA,YAAH,GAAmBF,QAAnB,yCAA+BF,OAAzD;AACA,MAAMmB,qBAAqB,YAAGd,aAAH,aAAGA,aAAH,cAAGA,aAAH,GAAoBJ,QAApB,yCAAgCD,OAA3D;AACA,MAAMoB,mBAAmB,YAAGd,WAAH,aAAGA,WAAH,cAAGA,WAAH,GAAkBJ,QAAlB,yCAA8BF,OAAvD;AAEA,MAAMqB,iBAAiB,YAAGX,SAAH,aAAGA,SAAH,cAAGA,SAAH,GAAgBF,OAAhB,yCAA2BD,MAAlD;AACA,MAAMe,mBAAmB,YAAGX,WAAH,aAAGA,WAAH,cAAGA,WAAH,GAAkBF,OAAlB,yCAA6BF,MAAtD;AACA,MAAMgB,oBAAoB,YAAGX,YAAH,aAAGA,YAAH,cAAGA,YAAH,GAAmBJ,OAAnB,yCAA8BD,MAAxD;AACA,MAAMiB,kBAAkB,YAAGX,UAAH,aAAGA,UAAH,cAAGA,UAAH,GAAiBJ,OAAjB,yCAA4BF,MAApD;AAEA,MAAMkB,QAAQ,GACV,CAACzC,OAAD,IAAa,OAAOA,OAAP,KAAmB,QAAnB,IAA+BA,OAAO,KAAK,MAA3C,IAAqDA,OAAO,KAAK,YADlF;AAGA,sBAAO0C,aAAA,CACH5C,SADG,oCAGIkC,KAHJ;AAICF,IAAAA,SAAS,EACLa,UAAU,CACNb,SADM,EAENc,MAAM,CAACC,GAFD,EAGN7C,OAAO,GAAG8C,aAAa,CAACF,MAAD,EAAS,SAAT,EAAoB5C,OAApB,CAAhB,GAA+C,IAHhD,EAIND,QAAQ,KAAK,QAAb,GAAwB+C,aAAa,CAACF,MAAD,EAAS,UAAT,EAAqB7C,QAArB,CAArC,GAAsE,IAJhE,EAKNc,QAAQ,IAAI,IAAZ,GAAmBiC,aAAa,CAACF,MAAD,EAAS,UAAT,EAAqBG,MAAM,CAAClC,QAAD,CAA3B,CAAhC,GAAyE,IALnE,EAMNiC,aAAa,CAACF,MAAD,EAAS,UAAT,EAAqB9B,QAArB,CANP,EAONC,SAAS,KAAK,OAAd,GAAwB+B,aAAa,CAACF,MAAD,EAAS,WAAT,EAAsB7B,SAAtB,CAArC,GAAwE,IAPlE;AASN+B,IAAAA,aAAa,CAACE,aAAD,EAAgB,YAAhB,EAA8Bf,kBAA9B,CATP,EAUNa,aAAa,CAACE,aAAD,EAAgB,cAAhB,EAAgCd,oBAAhC,CAVP,EAWNY,aAAa,CAACE,aAAD,EAAgB,eAAhB,EAAiCb,qBAAjC,CAXP,EAYNW,aAAa,CAACE,aAAD,EAAgB,aAAhB,EAA+BZ,mBAA/B,CAZP;AAcNU,IAAAA,aAAa,CAACG,YAAD,EAAe,WAAf,EAA4BZ,iBAA5B,CAdP,EAeNS,aAAa,CAACG,YAAD,EAAe,aAAf,EAA8BX,mBAA9B,CAfP,EAgBNQ,aAAa,CAACG,YAAD,EAAe,cAAf,EAA+BV,oBAA/B,CAhBP,EAiBNO,aAAa,CAACG,YAAD,EAAe,YAAf,EAA6BT,kBAA7B,CAjBP;AAmBNC,IAAAA,QAAQ,GAAG,IAAH,GAAUK,aAAa,CAACF,MAAD,EAAS,eAAT,EAA0B3C,aAA1B,CAnBzB,EAoBNwC,QAAQ,GAAG,IAAH,GAAUK,aAAa,CAACF,MAAD,EAAS,UAAT,EAAqB1C,QAArB,CApBzB,EAqBNuC,QAAQ,GAAG,IAAH,GAAUK,aAAa,CAACF,MAAD,EAAS,YAAT,EAAuBvC,UAAvB,CArBzB,EAsBNoC,QAAQ,GAAG,IAAH,GAAUK,aAAa,CAACF,MAAD,EAAS,gBAAT,EAA2BtC,cAA3B,CAtBzB,EAuBNF,UAAU,IAAI,IAAd,GACM0C,aAAa,CAACF,MAAD,EAAS,YAAT,EAAuBG,MAAM,CAAC3C,UAAD,CAA7B,CADnB,GAEM,IAzBA,EA0BND,QAAQ,IAAI,IAAZ,GAAmB2C,aAAa,CAACF,MAAD,EAAS,UAAT,EAAqBG,MAAM,CAAC5C,QAAD,CAA3B,CAAhC,GAAyE,IA1BnE;AA4BN2C,IAAAA,aAAa,CAACF,MAAD,EAAS,UAAT,EAAqBrC,QAArB,CA5BP,EA6BNuC,aAAa,CAACF,MAAD,EAAS,OAAT,EAAkBpC,KAAlB,CA7BP,EA8BNsC,aAAa,CAACF,MAAD,EAAS,QAAT,EAAmBnC,MAAnB,CA9BP,EA+BNqC,aAAa,CAACF,MAAD,EAAS,IAAT,EAAelC,UAAf,CA/BP,EAgCNE,YAAY,KAAK,MAAjB,GACMkC,aAAa,CAACF,MAAD,EAAS,cAAT,EAAyBhC,YAAzB,CADnB,GAEM,IAlCA,EAmCND,MAAM,KAAK,MAAX,GAAoBmC,aAAa,CAACF,MAAD,EAAS,QAAT,EAAmBjC,MAAnB,CAAjC,GAA8D,IAnCxD,CAAV,IAoCKuC,SAzCV;AA0CCtD,IAAAA,GAAG,EAAHA;AA1CD,MA4CHmC,QA5CG,CAAP;AA8CH,CAnG+B;;;;"}