@ultraviolet/ui 1.51.1 → 1.51.3

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 (435) hide show
  1. package/dist/components/ActionBar/index.d.ts +20 -0
  2. package/dist/components/ActionBar/index.js +30 -0
  3. package/dist/components/Alert/index.d.ts +27 -0
  4. package/dist/components/Alert/index.js +115 -0
  5. package/dist/components/Avatar/index.d.ts +43 -0
  6. package/dist/components/Avatar/index.js +57 -0
  7. package/dist/components/Badge/index.d.ts +31 -0
  8. package/dist/components/Badge/index.js +99 -0
  9. package/dist/components/Banner/assets/default-image-small.svg.js +4 -0
  10. package/dist/components/Banner/assets/default-image.svg.js +4 -0
  11. package/dist/components/Banner/index.d.ts +24 -0
  12. package/dist/components/Banner/index.js +116 -0
  13. package/dist/components/BarChart/Tooltip.d.ts +9 -0
  14. package/dist/components/BarChart/Tooltip.js +41 -0
  15. package/dist/components/BarChart/index.d.ts +27 -0
  16. package/dist/components/BarChart/index.js +69 -0
  17. package/dist/components/BarStack/index.d.ts +36 -0
  18. package/dist/components/BarStack/index.js +114 -0
  19. package/dist/components/Breadcrumbs/index.d.ts +30 -0
  20. package/dist/components/Breadcrumbs/index.js +73 -0
  21. package/dist/components/Bullet/index.d.ts +39 -0
  22. package/dist/components/Bullet/index.js +84 -0
  23. package/dist/components/Button/index.d.ts +120 -0
  24. package/dist/components/Button/index.js +249 -0
  25. package/dist/components/Card/index.d.ts +20 -0
  26. package/dist/components/Card/index.js +52 -0
  27. package/dist/components/Carousel/index.d.ts +19 -0
  28. package/dist/components/Carousel/index.js +123 -0
  29. package/dist/components/Checkbox/index.d.ts +36 -0
  30. package/dist/components/Checkbox/index.js +262 -0
  31. package/dist/components/CheckboxGroup/index.d.ts +24 -0
  32. package/dist/components/CheckboxGroup/index.js +116 -0
  33. package/dist/components/CopyButton/index.d.ts +19 -0
  34. package/dist/components/CopyButton/index.js +23 -0
  35. package/dist/components/DateInput/datepicker.css.js +4 -0
  36. package/dist/components/DateInput/index.d.ts +38 -0
  37. package/dist/components/DateInput/index.js +182 -0
  38. package/dist/components/Dialog/Context.d.ts +7 -0
  39. package/dist/components/Dialog/Context.js +13 -0
  40. package/dist/components/Dialog/constants.d.ts +2 -0
  41. package/dist/components/Dialog/index.d.ts +87 -0
  42. package/dist/components/Dialog/index.js +66 -0
  43. package/dist/components/Dialog/subComponents/Button.d.ts +7 -0
  44. package/dist/components/Dialog/subComponents/Button.js +15 -0
  45. package/dist/components/Dialog/subComponents/Buttons.d.ts +7 -0
  46. package/dist/components/Dialog/subComponents/Buttons.js +12 -0
  47. package/dist/components/Dialog/subComponents/CancelButton.d.ts +8 -0
  48. package/dist/components/Dialog/subComponents/CancelButton.js +9 -0
  49. package/dist/components/Dialog/subComponents/Stack.d.ts +6 -0
  50. package/dist/components/Dialog/subComponents/Stack.js +8 -0
  51. package/dist/components/Dialog/subComponents/Text.d.ts +6 -0
  52. package/dist/components/Dialog/subComponents/Text.js +8 -0
  53. package/dist/components/EmptyState/index.d.ts +38 -0
  54. package/dist/components/EmptyState/index.js +90 -0
  55. package/dist/components/Expandable/index.d.ts +33 -0
  56. package/dist/components/Expandable/index.js +75 -0
  57. package/dist/components/GlobalAlert/GlobalAlertLink.d.ts +3 -0
  58. package/dist/components/GlobalAlert/GlobalAlertLink.js +23 -0
  59. package/dist/components/GlobalAlert/index.d.ts +40 -0
  60. package/dist/components/GlobalAlert/index.js +59 -0
  61. package/dist/components/LineChart/CustomLegend.d.ts +13 -0
  62. package/dist/components/LineChart/CustomLegend.js +113 -0
  63. package/dist/components/LineChart/Tooltip.d.ts +6 -0
  64. package/dist/components/LineChart/Tooltip.js +35 -0
  65. package/dist/components/LineChart/helpers.d.ts +8 -0
  66. package/dist/{src/components → components}/LineChart/helpers.js +22 -10
  67. package/dist/components/LineChart/index.d.ts +25 -0
  68. package/dist/components/LineChart/index.js +101 -0
  69. package/dist/components/Link/index.d.ts +33 -0
  70. package/dist/components/Link/index.js +128 -0
  71. package/dist/components/List/Body.d.ts +6 -0
  72. package/dist/components/List/Body.js +16 -0
  73. package/dist/components/List/Cell.d.ts +12 -0
  74. package/dist/components/List/Cell.js +41 -0
  75. package/dist/components/List/HeaderCell.d.ts +11 -0
  76. package/dist/components/List/HeaderCell.js +82 -0
  77. package/dist/components/List/HeaderRow.d.ts +7 -0
  78. package/dist/components/List/HeaderRow.js +36 -0
  79. package/dist/components/List/ListContext.d.ts +34 -0
  80. package/dist/{src/components → components}/List/ListContext.js +27 -29
  81. package/dist/components/List/Row.d.ts +23 -0
  82. package/dist/components/List/Row.js +161 -0
  83. package/dist/components/List/SelectBar.d.ts +15 -0
  84. package/dist/components/List/SelectBar.js +52 -0
  85. package/dist/components/List/SkeletonRows.d.ts +7 -0
  86. package/dist/components/List/SkeletonRows.js +55 -0
  87. package/dist/components/List/constants.d.ts +2 -0
  88. package/dist/{src/components → components}/List/constants.js +4 -2
  89. package/dist/components/List/index.d.ts +68 -0
  90. package/dist/components/List/index.js +60 -0
  91. package/dist/components/Loader/index.d.ts +22 -0
  92. package/dist/components/Loader/index.js +77 -0
  93. package/dist/components/Menu/Item.d.ts +15 -0
  94. package/dist/components/Menu/Item.js +91 -0
  95. package/dist/components/Menu/index.d.ts +49 -0
  96. package/dist/components/Menu/index.js +116 -0
  97. package/dist/components/MenuV2/Group.d.ts +7 -0
  98. package/dist/components/MenuV2/Group.js +21 -0
  99. package/dist/components/MenuV2/Item.d.ts +16 -0
  100. package/dist/components/MenuV2/Item.js +113 -0
  101. package/dist/components/MenuV2/index.d.ts +90 -0
  102. package/dist/components/MenuV2/index.js +90 -0
  103. package/dist/components/Meter/index.d.ts +26 -0
  104. package/dist/components/Meter/index.js +63 -0
  105. package/dist/components/Modal/Dialog.d.ts +3 -0
  106. package/dist/components/Modal/Dialog.js +141 -0
  107. package/dist/components/Modal/Disclosure.d.ts +3 -0
  108. package/dist/{src/components → components}/Modal/Disclosure.js +12 -12
  109. package/dist/components/Modal/constants.d.ts +3 -0
  110. package/dist/{src/components → components}/Modal/constants.js +8 -6
  111. package/dist/components/Modal/index.d.ts +42 -0
  112. package/dist/components/Modal/index.js +79 -0
  113. package/dist/components/Modal/types.d.ts +48 -0
  114. package/dist/components/Notice/index.d.ts +11 -0
  115. package/dist/components/Notice/index.js +23 -0
  116. package/dist/components/Notification/index.d.ts +36 -0
  117. package/dist/components/Notification/index.js +49 -0
  118. package/dist/components/Notification/react-toastify.css.js +4 -0
  119. package/dist/components/NumberInput/helpers.d.ts +4 -0
  120. package/dist/{src/components → components}/NumberInput/helpers.js +6 -2
  121. package/dist/components/NumberInput/index.d.ts +41 -0
  122. package/dist/components/NumberInput/index.js +262 -0
  123. package/dist/components/NumberInputV2/index.d.ts +27 -0
  124. package/dist/components/NumberInputV2/index.js +221 -0
  125. package/dist/components/Pagination/getPageNumbers.d.ts +8 -0
  126. package/dist/{src/components → components}/Pagination/getPageNumbers.js +3 -9
  127. package/dist/components/Pagination/index.d.ts +30 -0
  128. package/dist/components/Pagination/index.js +88 -0
  129. package/dist/components/PasswordCheck/index.d.ts +20 -0
  130. package/dist/components/PasswordCheck/index.js +24 -0
  131. package/dist/components/PasswordStrengthMeter/index.d.ts +39 -0
  132. package/dist/components/PasswordStrengthMeter/index.js +96 -0
  133. package/dist/components/PieChart/Legends.d.ts +9 -0
  134. package/dist/components/PieChart/Legends.js +142 -0
  135. package/dist/components/PieChart/Tooltip.d.ts +12 -0
  136. package/dist/components/PieChart/Tooltip.js +49 -0
  137. package/dist/components/PieChart/index.d.ts +20 -0
  138. package/dist/components/PieChart/index.js +101 -0
  139. package/dist/components/PieChart/types.d.ts +7 -0
  140. package/dist/components/Popover/index.d.ts +55 -0
  141. package/dist/components/Popover/index.js +100 -0
  142. package/dist/components/Popup/animations.d.ts +11 -0
  143. package/dist/{src/components → components}/Popup/animations.js +7 -6
  144. package/dist/components/Popup/helpers.d.ts +31 -0
  145. package/dist/components/Popup/helpers.js +216 -0
  146. package/dist/components/Popup/index.d.ts +72 -0
  147. package/dist/components/Popup/index.js +297 -0
  148. package/dist/components/ProgressBar/index.d.ts +14 -0
  149. package/dist/components/ProgressBar/index.js +53 -0
  150. package/dist/components/Radio/index.d.ts +21 -0
  151. package/dist/components/Radio/index.js +133 -0
  152. package/dist/components/RadioGroup/index.d.ts +25 -0
  153. package/dist/components/RadioGroup/index.js +99 -0
  154. package/dist/components/Row/index.d.ts +22 -0
  155. package/dist/components/Row/index.js +34 -0
  156. package/dist/components/SelectInput/index.d.ts +75 -0
  157. package/dist/components/SelectInput/index.js +516 -0
  158. package/dist/components/SelectInputV2/Dropdown.d.ts +23 -0
  159. package/dist/components/SelectInputV2/Dropdown.js +429 -0
  160. package/dist/components/SelectInputV2/DropdownOption.d.ts +8 -0
  161. package/dist/components/SelectInputV2/DropdownOption.js +62 -0
  162. package/dist/components/SelectInputV2/SearchBarDropdown.d.ts +9 -0
  163. package/dist/components/SelectInputV2/SearchBarDropdown.js +107 -0
  164. package/dist/components/SelectInputV2/SelectBar.d.ts +14 -0
  165. package/dist/components/SelectInputV2/SelectBar.js +224 -0
  166. package/dist/components/SelectInputV2/SelectInputProvider.d.ts +41 -0
  167. package/dist/{src/components → components}/SelectInputV2/SelectInputProvider.js +38 -36
  168. package/dist/components/SelectInputV2/findOptionInOptions.d.ts +2 -0
  169. package/dist/components/SelectInputV2/findOptionInOptions.js +12 -0
  170. package/dist/components/SelectInputV2/index.d.ts +115 -0
  171. package/dist/components/SelectInputV2/index.js +87 -0
  172. package/dist/components/SelectInputV2/types.d.ts +38 -0
  173. package/dist/{src/components → components}/SelectInputV2/types.js +4 -2
  174. package/dist/components/SelectableCard/index.d.ts +25 -0
  175. package/dist/components/SelectableCard/index.js +137 -0
  176. package/dist/components/SelectableCardGroup/index.d.ts +23 -0
  177. package/dist/components/SelectableCardGroup/index.js +107 -0
  178. package/dist/components/Separator/index.d.ts +17 -0
  179. package/dist/components/Separator/index.js +56 -0
  180. package/dist/components/Skeleton/Block.d.ts +3 -0
  181. package/dist/components/Skeleton/Block.js +38 -0
  182. package/dist/components/Skeleton/Blocks.d.ts +4 -0
  183. package/dist/components/Skeleton/Blocks.js +38 -0
  184. package/dist/components/Skeleton/BoxWithIcon.d.ts +4 -0
  185. package/dist/components/Skeleton/BoxWithIcon.js +36 -0
  186. package/dist/components/Skeleton/Donut.d.ts +1 -0
  187. package/dist/components/Skeleton/Donut.js +61 -0
  188. package/dist/components/Skeleton/IconSkeleton.d.ts +5 -0
  189. package/dist/components/Skeleton/IconSkeleton.js +22 -0
  190. package/dist/components/Skeleton/Line.d.ts +5 -0
  191. package/dist/components/Skeleton/Line.js +16 -0
  192. package/dist/components/Skeleton/List.d.ts +4 -0
  193. package/dist/components/Skeleton/List.js +56 -0
  194. package/dist/components/Skeleton/Slider.d.ts +3 -0
  195. package/dist/components/Skeleton/Slider.js +40 -0
  196. package/dist/components/Skeleton/Square.d.ts +5 -0
  197. package/dist/components/Skeleton/Square.js +12 -0
  198. package/dist/components/Skeleton/index.d.ts +47 -0
  199. package/dist/components/Skeleton/index.js +79 -0
  200. package/dist/components/Snippet/index.d.ts +23 -0
  201. package/dist/components/Snippet/index.js +182 -0
  202. package/dist/components/Stack/index.d.ts +23 -0
  203. package/dist/components/Stack/index.js +29 -0
  204. package/dist/components/Status/index.d.ts +32 -0
  205. package/dist/components/Status/index.js +72 -0
  206. package/dist/components/StepList/index.d.ts +33 -0
  207. package/dist/components/StepList/index.js +58 -0
  208. package/dist/components/Stepper/index.d.ts +15 -0
  209. package/dist/components/Stepper/index.js +145 -0
  210. package/dist/components/SwitchButton/FocusOverlay.d.ts +8 -0
  211. package/dist/components/SwitchButton/FocusOverlay.js +38 -0
  212. package/dist/components/SwitchButton/index.d.ts +26 -0
  213. package/dist/components/SwitchButton/index.js +76 -0
  214. package/dist/components/Table/Body.d.ts +6 -0
  215. package/dist/components/Table/Body.js +7 -0
  216. package/dist/components/Table/Cell.d.ts +9 -0
  217. package/dist/components/Table/Cell.js +19 -0
  218. package/dist/components/Table/Header.d.ts +6 -0
  219. package/dist/components/Table/Header.js +16 -0
  220. package/dist/components/Table/HeaderCell.d.ts +14 -0
  221. package/dist/components/Table/HeaderCell.js +80 -0
  222. package/dist/components/Table/HeaderRow.d.ts +7 -0
  223. package/dist/components/Table/HeaderRow.js +23 -0
  224. package/dist/components/Table/Row.d.ts +14 -0
  225. package/dist/components/Table/Row.js +80 -0
  226. package/dist/components/Table/SelectBar.d.ts +15 -0
  227. package/dist/components/Table/SelectBar.js +52 -0
  228. package/dist/components/Table/SkeletonRows.d.ts +7 -0
  229. package/dist/components/Table/SkeletonRows.js +54 -0
  230. package/dist/components/Table/TableContext.d.ts +27 -0
  231. package/dist/{src/components → components}/Table/TableContext.js +19 -21
  232. package/dist/components/Table/index.d.ts +60 -0
  233. package/dist/components/Table/index.js +67 -0
  234. package/dist/components/Tabs/Tab.d.ts +20 -0
  235. package/dist/components/Tabs/Tab.js +120 -0
  236. package/dist/components/Tabs/TabMenu.d.ts +8 -0
  237. package/dist/components/Tabs/TabMenu.js +62 -0
  238. package/dist/components/Tabs/TabMenuItem.d.ts +20 -0
  239. package/dist/components/Tabs/TabMenuItem.js +34 -0
  240. package/dist/components/Tabs/TabsContext.d.ts +8 -0
  241. package/dist/components/Tabs/TabsContext.js +7 -0
  242. package/dist/components/Tabs/index.d.ts +50 -0
  243. package/dist/components/Tabs/index.js +102 -0
  244. package/dist/components/Tag/index.d.ts +26 -0
  245. package/dist/components/Tag/index.js +144 -0
  246. package/dist/components/TagInput/index.d.ts +55 -0
  247. package/dist/components/TagInput/index.js +253 -0
  248. package/dist/components/TagList/index.d.ts +37 -0
  249. package/dist/components/TagList/index.js +98 -0
  250. package/dist/components/Text/index.d.ts +40 -0
  251. package/dist/components/Text/index.js +82 -0
  252. package/dist/components/TextArea/index.d.ts +50 -0
  253. package/dist/components/TextArea/index.js +158 -0
  254. package/dist/components/TextInput/index.d.ts +75 -0
  255. package/dist/components/TextInput/index.js +387 -0
  256. package/dist/components/TextInputV2/index.d.ts +30 -0
  257. package/dist/components/TextInputV2/index.js +190 -0
  258. package/dist/components/TimeInput/index.d.ts +25 -0
  259. package/dist/components/TimeInput/index.js +28 -0
  260. package/dist/components/Toaster/index.d.ts +46 -0
  261. package/dist/components/Toaster/index.js +83 -0
  262. package/dist/components/Toaster/react-toastify.css.js +4 -0
  263. package/dist/components/Toggle/index.d.ts +34 -0
  264. package/dist/components/Toggle/index.js +136 -0
  265. package/dist/components/ToggleGroup/index.d.ts +24 -0
  266. package/dist/components/ToggleGroup/index.js +96 -0
  267. package/dist/components/Tooltip/index.d.ts +9 -0
  268. package/dist/components/Tooltip/index.js +40 -0
  269. package/dist/components/VerificationCode/index.d.ts +36 -0
  270. package/dist/components/VerificationCode/index.js +217 -0
  271. package/dist/components/index.d.ts +75 -0
  272. package/dist/helpers/isJSON.d.ts +2 -0
  273. package/dist/{src/helpers → helpers}/isJSON.js +4 -3
  274. package/dist/helpers/jestMockMatchMedia.d.ts +6 -0
  275. package/dist/helpers/keycode.d.ts +3 -0
  276. package/dist/helpers/legend.d.ts +2 -0
  277. package/dist/helpers/legend.js +14 -0
  278. package/dist/helpers/numbers.d.ts +2 -0
  279. package/dist/helpers/recursivelyGetChildrenString.d.ts +3 -0
  280. package/dist/helpers/recursivelyGetChildrenString.js +15 -0
  281. package/dist/hooks/useIsOverflowing.d.ts +5 -0
  282. package/dist/hooks/useIsOverflowing.js +23 -0
  283. package/dist/index.d.ts +4 -3723
  284. package/dist/index.js +187 -0
  285. package/dist/mocks/list.d.ts +12 -0
  286. package/dist/theme/index.d.ts +1573 -0
  287. package/dist/theme/index.js +27 -0
  288. package/dist/types.d.ts +6 -0
  289. package/dist/utils/animations.d.ts +27 -0
  290. package/dist/{src/utils → utils}/animations.js +30 -4
  291. package/dist/utils/capitalize.d.ts +2 -0
  292. package/dist/utils/capitalize.js +4 -0
  293. package/dist/utils/ids.d.ts +1 -0
  294. package/dist/{src/utils → utils}/ids.js +5 -4
  295. package/dist/utils/index.d.ts +6 -0
  296. package/dist/utils/normalize.d.ts +2 -0
  297. package/dist/{src/utils → utils}/normalize.js +4 -3
  298. package/dist/utils/orderBy.d.ts +2 -0
  299. package/dist/utils/responsive/Breakpoint.d.ts +9 -0
  300. package/dist/utils/responsive/Breakpoint.js +15 -0
  301. package/dist/utils/responsive/index.d.ts +2 -0
  302. package/dist/utils/responsive/utilities.d.ts +3 -0
  303. package/dist/{src/utils → utils}/responsive/utilities.js +9 -6
  304. package/package.json +18 -8
  305. package/dist/react-datepicker/dist/react-datepicker.min.css.js +0 -3
  306. package/dist/react-toastify/dist/ReactToastify.min.css.js +0 -3
  307. package/dist/src/components/ActionBar/index.js +0 -40
  308. package/dist/src/components/Alert/index.js +0 -133
  309. package/dist/src/components/Avatar/index.js +0 -74
  310. package/dist/src/components/Badge/index.js +0 -116
  311. package/dist/src/components/Banner/assets/default-image-small.svg.js +0 -5
  312. package/dist/src/components/Banner/assets/default-image.svg.js +0 -5
  313. package/dist/src/components/Banner/index.js +0 -159
  314. package/dist/src/components/BarChart/Tooltip.js +0 -48
  315. package/dist/src/components/BarChart/index.js +0 -95
  316. package/dist/src/components/BarStack/index.js +0 -136
  317. package/dist/src/components/Breadcrumbs/index.js +0 -82
  318. package/dist/src/components/Bullet/index.js +0 -98
  319. package/dist/src/components/Button/index.js +0 -311
  320. package/dist/src/components/Card/index.js +0 -67
  321. package/dist/src/components/Carousel/index.js +0 -128
  322. package/dist/src/components/Checkbox/index.js +0 -316
  323. package/dist/src/components/CheckboxGroup/index.js +0 -143
  324. package/dist/src/components/CopyButton/index.js +0 -37
  325. package/dist/src/components/DateInput/index.js +0 -242
  326. package/dist/src/components/Dialog/Context.js +0 -12
  327. package/dist/src/components/Dialog/index.js +0 -88
  328. package/dist/src/components/Dialog/subComponents/Button.js +0 -21
  329. package/dist/src/components/Dialog/subComponents/Buttons.js +0 -14
  330. package/dist/src/components/Dialog/subComponents/CancelButton.js +0 -14
  331. package/dist/src/components/Dialog/subComponents/Stack.js +0 -11
  332. package/dist/src/components/Dialog/subComponents/Text.js +0 -12
  333. package/dist/src/components/EmptyState/index.js +0 -112
  334. package/dist/src/components/Expandable/index.js +0 -96
  335. package/dist/src/components/GlobalAlert/GlobalAlertLink.js +0 -38
  336. package/dist/src/components/GlobalAlert/index.js +0 -82
  337. package/dist/src/components/LineChart/CustomLegend.js +0 -138
  338. package/dist/src/components/LineChart/Tooltip.js +0 -43
  339. package/dist/src/components/LineChart/index.js +0 -131
  340. package/dist/src/components/Link/index.js +0 -147
  341. package/dist/src/components/List/Body.js +0 -16
  342. package/dist/src/components/List/Cell.js +0 -43
  343. package/dist/src/components/List/HeaderCell.js +0 -90
  344. package/dist/src/components/List/HeaderRow.js +0 -43
  345. package/dist/src/components/List/Row.js +0 -185
  346. package/dist/src/components/List/SelectBar.js +0 -48
  347. package/dist/src/components/List/SkeletonRows.js +0 -53
  348. package/dist/src/components/List/index.js +0 -75
  349. package/dist/src/components/Loader/index.js +0 -100
  350. package/dist/src/components/Menu/Item.js +0 -112
  351. package/dist/src/components/Menu/index.js +0 -129
  352. package/dist/src/components/MenuV2/Group.js +0 -25
  353. package/dist/src/components/MenuV2/Item.js +0 -139
  354. package/dist/src/components/MenuV2/index.js +0 -118
  355. package/dist/src/components/Meter/index.js +0 -76
  356. package/dist/src/components/Modal/Dialog.js +0 -182
  357. package/dist/src/components/Modal/index.js +0 -113
  358. package/dist/src/components/Notice/index.js +0 -34
  359. package/dist/src/components/Notification/index.js +0 -77
  360. package/dist/src/components/NumberInput/index.js +0 -299
  361. package/dist/src/components/NumberInputV2/index.js +0 -284
  362. package/dist/src/components/Pagination/index.js +0 -117
  363. package/dist/src/components/PasswordCheck/index.js +0 -41
  364. package/dist/src/components/PasswordStrengthMeter/index.js +0 -102
  365. package/dist/src/components/PieChart/Legends.js +0 -138
  366. package/dist/src/components/PieChart/Tooltip.js +0 -61
  367. package/dist/src/components/PieChart/index.js +0 -125
  368. package/dist/src/components/Popover/index.js +0 -146
  369. package/dist/src/components/Popup/helpers.js +0 -252
  370. package/dist/src/components/Popup/index.js +0 -383
  371. package/dist/src/components/ProgressBar/index.js +0 -57
  372. package/dist/src/components/Radio/index.js +0 -157
  373. package/dist/src/components/RadioGroup/index.js +0 -131
  374. package/dist/src/components/Row/index.js +0 -41
  375. package/dist/src/components/SelectInput/index.js +0 -610
  376. package/dist/src/components/SelectInputV2/Dropdown.js +0 -594
  377. package/dist/src/components/SelectInputV2/DropdownOption.js +0 -130
  378. package/dist/src/components/SelectInputV2/SearchBarDropdown.js +0 -122
  379. package/dist/src/components/SelectInputV2/SelectBar.js +0 -282
  380. package/dist/src/components/SelectInputV2/findOptionInOptions.js +0 -11
  381. package/dist/src/components/SelectInputV2/index.js +0 -137
  382. package/dist/src/components/SelectableCard/index.js +0 -175
  383. package/dist/src/components/SelectableCardGroup/index.js +0 -141
  384. package/dist/src/components/Separator/index.js +0 -73
  385. package/dist/src/components/Skeleton/Block.js +0 -35
  386. package/dist/src/components/Skeleton/Blocks.js +0 -34
  387. package/dist/src/components/Skeleton/BoxWithIcon.js +0 -32
  388. package/dist/src/components/Skeleton/Donut.js +0 -55
  389. package/dist/src/components/Skeleton/IconSkeleton.js +0 -19
  390. package/dist/src/components/Skeleton/Line.js +0 -13
  391. package/dist/src/components/Skeleton/List.js +0 -51
  392. package/dist/src/components/Skeleton/Slider.js +0 -36
  393. package/dist/src/components/Skeleton/Square.js +0 -9
  394. package/dist/src/components/Skeleton/index.js +0 -82
  395. package/dist/src/components/Snippet/index.js +0 -200
  396. package/dist/src/components/Stack/index.js +0 -29
  397. package/dist/src/components/Status/index.js +0 -74
  398. package/dist/src/components/StepList/index.js +0 -69
  399. package/dist/src/components/Stepper/index.js +0 -150
  400. package/dist/src/components/SwitchButton/FocusOverlay.js +0 -37
  401. package/dist/src/components/SwitchButton/index.js +0 -108
  402. package/dist/src/components/Table/Body.js +0 -9
  403. package/dist/src/components/Table/Cell.js +0 -21
  404. package/dist/src/components/Table/Header.js +0 -15
  405. package/dist/src/components/Table/HeaderCell.js +0 -103
  406. package/dist/src/components/Table/HeaderRow.js +0 -32
  407. package/dist/src/components/Table/Row.js +0 -89
  408. package/dist/src/components/Table/SelectBar.js +0 -48
  409. package/dist/src/components/Table/SkeletonRows.js +0 -51
  410. package/dist/src/components/Table/index.js +0 -82
  411. package/dist/src/components/Tabs/Tab.js +0 -138
  412. package/dist/src/components/Tabs/TabMenu.js +0 -59
  413. package/dist/src/components/Tabs/TabMenuItem.js +0 -36
  414. package/dist/src/components/Tabs/TabsContext.js +0 -6
  415. package/dist/src/components/Tabs/index.js +0 -117
  416. package/dist/src/components/Tag/index.js +0 -169
  417. package/dist/src/components/TagInput/index.js +0 -309
  418. package/dist/src/components/TagList/index.js +0 -106
  419. package/dist/src/components/Text/index.js +0 -107
  420. package/dist/src/components/TextArea/index.js +0 -210
  421. package/dist/src/components/TextInput/index.js +0 -451
  422. package/dist/src/components/TextInputV2/index.js +0 -289
  423. package/dist/src/components/TimeInput/index.js +0 -37
  424. package/dist/src/components/Toaster/index.js +0 -131
  425. package/dist/src/components/Toggle/index.js +0 -160
  426. package/dist/src/components/ToggleGroup/index.js +0 -122
  427. package/dist/src/components/Tooltip/index.js +0 -55
  428. package/dist/src/components/VerificationCode/index.js +0 -222
  429. package/dist/src/helpers/legend.js +0 -13
  430. package/dist/src/helpers/recursivelyGetChildrenString.js +0 -11
  431. package/dist/src/hooks/useIsOverflowing.js +0 -34
  432. package/dist/src/index.js +0 -77
  433. package/dist/src/theme/index.js +0 -29
  434. package/dist/src/utils/capitalize.js +0 -3
  435. package/dist/src/utils/responsive/Breakpoint.js +0 -12
@@ -1,129 +0,0 @@
1
- import _styled from '@emotion/styled/base';
2
- import { css } from '@emotion/react';
3
- import { forwardRef, isValidElement, useRef, useImperativeHandle, cloneElement } from 'react';
4
- import { usePopoverState, PopoverDisclosure, Popover } from 'reakit/Popover';
5
- import { Portal } from 'reakit/Portal';
6
- import Item from './Item.js';
7
- import { jsxs, Fragment, jsx } from '@emotion/react/jsx-runtime';
8
-
9
- function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
10
- const StyledPopover = /*#__PURE__*/_styled(Popover, {
11
- target: "e1hqs9p51"
12
- })("border-radius:", ({
13
- theme
14
- }) => theme.radii.default, ";background-color:", ({
15
- theme
16
- }) => theme.colors.neutral.background, ";color:", ({
17
- theme
18
- }) => theme.colors.neutral.text, ";box-shadow:", ({
19
- theme
20
- }) => theme.shadows.dropdown, ";");
21
- const bottomStyles = theme => /*#__PURE__*/css("box-shadow:", theme.shadows.menu, ";&:after,&:before{bottom:100%;}&:after{border-bottom-color:", theme.colors.neutral.background, ";}&:before{border-bottom-color:transparent;}");
22
- const topStyles = theme => /*#__PURE__*/css("box-shadow:", theme.shadows.menu, ";&:after,&:before{top:100%;}&:after{border-top-color:", theme.colors.neutral.background, ";}&:before{border-top-color:rgba(165, 165, 205, 0.4);}");
23
- const endStyles = process.env.NODE_ENV === "production" ? {
24
- name: "15zu3sa",
25
- styles: "&:after{margin-left:-9px;right:24px;}&:before{margin-left:-11px;right:24px;}"
26
- } : {
27
- name: "15zu3sa",
28
- styles: "&:after{margin-left:-9px;right:24px;}&:before{margin-left:-11px;right:24px;}",
29
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__
30
- };
31
- const startStyles = process.env.NODE_ENV === "production" ? {
32
- name: "17k88rr",
33
- styles: "&:after{margin-right:-9px;left:24px;}&:before{margin-right:-11px;left:24px;}"
34
- } : {
35
- name: "17k88rr",
36
- styles: "&:after{margin-right:-9px;left:24px;}&:before{margin-right:-11px;left:24px;}",
37
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__
38
- };
39
- const centerStyles = process.env.NODE_ENV === "production" ? {
40
- name: "1qzrhtz",
41
- styles: "&:after,&:before{left:50%;transform:translateX(-50%);}"
42
- } : {
43
- name: "1qzrhtz",
44
- styles: "&:after,&:before{left:50%;transform:translateX(-50%);}",
45
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__
46
- };
47
- const arrowPlacementStyles = {
48
- bottom: theme => /*#__PURE__*/css(centerStyles, ";", bottomStyles(theme), ";"),
49
- 'bottom-end': theme => /*#__PURE__*/css(endStyles, ";", bottomStyles(theme), ";"),
50
- 'bottom-start': theme => /*#__PURE__*/css(startStyles, ";", bottomStyles(theme), ";"),
51
- top: theme => /*#__PURE__*/css(centerStyles, ";", topStyles(theme), ";"),
52
- 'top-end': theme => /*#__PURE__*/css(endStyles, ";", topStyles(theme), ";"),
53
- 'top-start': theme => /*#__PURE__*/css(startStyles, ";", topStyles(theme), ";")
54
- };
55
- const MenuList = /*#__PURE__*/_styled("div", {
56
- target: "e1hqs9p50"
57
- })("&:after,&:before{border:solid transparent;border-width:9px;content:' ';height:0;width:0;position:absolute;pointer-events:none;}&:after{border-color:transparent;}&:before{border-color:transparent;}background-color:", ({
58
- theme
59
- }) => theme.colors.neutral.backgroundWeakElevated, ";display:flex;flex-direction:column;text-align:center;justify-content:center;color:", ({
60
- theme
61
- }) => theme.colors.neutral.text, ";border-radius:", ({
62
- theme
63
- }) => theme.radii.default, ";position:relative;", ({
64
- placement,
65
- theme,
66
- hasArrow
67
- }) => hasArrow && arrowPlacementStyles[placement]?.(theme), ";");
68
- const FwdMenu = /*#__PURE__*/forwardRef(({
69
- ariaLabel = 'Menu',
70
- id,
71
- children,
72
- disclosure,
73
- hasArrow = true,
74
- placement = 'bottom',
75
- visible = false,
76
- className,
77
- 'data-testid': dataTestId
78
- }, ref) => {
79
- const popover = usePopoverState({
80
- baseId: id,
81
- placement,
82
- visible
83
- });
84
-
85
- // if you need dialog inside your component, use function, otherwise component is fine
86
- const target = /*#__PURE__*/isValidElement(disclosure) ? disclosure : disclosure(popover);
87
- const innerRef = useRef(target);
88
- useImperativeHandle(ref, () => innerRef.current);
89
- return jsxs(Fragment, {
90
- children: [disclosure &&
91
- // @ts-expect-error reakit types are invalid, no need to pass as something, default is div
92
- jsx(PopoverDisclosure, {
93
- ...popover,
94
- onClick: event => {
95
- target?.props?.onClick?.(event);
96
- },
97
- ref: innerRef,
98
- children: disclosureProps => /*#__PURE__*/cloneElement(target, disclosureProps)
99
- }), jsx(Portal, {
100
- children: jsx(StyledPopover, {
101
- ...popover,
102
- "aria-label": ariaLabel,
103
- className: className,
104
- children: /* Required to avoid loading menu content if not visible */
105
- popover.visible ? jsx(MenuList, {
106
- "data-testid": dataTestId,
107
- className: className,
108
- hasArrow: hasArrow,
109
- placement: popover.placement,
110
- role: "menu",
111
- children: typeof children === 'function' ? children(popover) : children
112
- }) : null
113
- })
114
- })]
115
- });
116
- });
117
-
118
- /**
119
- * A menu is a widget that offers a list of choices to the user, such as a set of actions or functions.
120
- * A menu is usually opened, or made visible, by activating a menu button, choosing an item in a menu that opens a
121
- * sub menu, or by invoking a command, such as `Shift + F10` on Windows, that opens a context specific menu.
122
- * When a user activates a choice in a menu, the menu usually closes unless the choice opened a submenu.
123
- * @deprecated use MenuV2 component instead
124
- */
125
- const Menu = /*#__PURE__*/Object.assign(FwdMenu, {
126
- Item
127
- });
128
-
129
- export { Menu };
@@ -1,25 +0,0 @@
1
- import _styled from '@emotion/styled/base';
2
- import { Text } from '../Text/index.js';
3
- import { jsxs, Fragment, jsx } from '@emotion/react/jsx-runtime';
4
-
5
- const Container = /*#__PURE__*/_styled("span", {
6
- target: "e7u2rl20"
7
- })("padding:", ({
8
- theme
9
- }) => `${theme.space['0.5']} ${theme.space['1.5']}`, ";text-align:left;");
10
- const Group = ({
11
- label,
12
- children
13
- }) => jsxs(Fragment, {
14
- children: [jsx(Container, {
15
- children: jsx(Text, {
16
- variant: "captionStrong",
17
- as: "span",
18
- prominence: "weak",
19
- sentiment: "neutral",
20
- children: label
21
- })
22
- }), children]
23
- });
24
-
25
- export { Group };
@@ -1,139 +0,0 @@
1
- import _styled from '@emotion/styled/base';
2
- import { forwardRef } from 'react';
3
- import { Tooltip } from '../Tooltip/index.js';
4
- import { jsx } from '@emotion/react/jsx-runtime';
5
-
6
- const ANIMATION_DURATION = 200; // in ms
7
-
8
- const itemCoreStyle = ({
9
- theme,
10
- sentiment,
11
- disabled
12
- }) => `
13
- display: flex;
14
- justify-content: start;
15
- align-items: center;
16
- min-height: 32px;
17
- max-height: 44px;
18
- font-size: ${theme.typography.bodySmall.fontSize};
19
- line-height: ${theme.typography.bodySmall.lineHeight};
20
- font-weight: inherit;
21
- padding: ${`${theme.space['0.5']} ${theme.space['1']}`};
22
- border: none;
23
- cursor: pointer;
24
- min-width: 110px;
25
- width: 100%;
26
- border-radius: ${theme.radii.default};
27
- transition: background-color ${ANIMATION_DURATION}ms, color ${ANIMATION_DURATION}ms;
28
-
29
- color: ${theme.colors[sentiment][disabled ? 'textDisabled' : 'text']};
30
- svg {
31
- fill: ${theme.colors[sentiment][disabled ? 'textDisabled' : 'text']};
32
- }
33
-
34
- ${disabled ? `
35
- cursor: not-allowed;
36
- ` : `
37
- &:hover,
38
- &:focus, &[data-active='true'] {
39
- background-color: ${theme.colors[sentiment].backgroundHover};
40
- color: ${theme.colors[sentiment].textHover};
41
- svg {
42
- fill: ${theme.colors[sentiment].textHover};
43
- }
44
- }`}
45
- `;
46
- const Container = /*#__PURE__*/_styled('div', {
47
- shouldForwardProp: prop => !['borderless'].includes(prop),
48
- target: "ei26g5y2"
49
- })(({
50
- theme,
51
- borderless
52
- }) => borderless ? '' : `border-bottom: 1px solid ${theme.colors.neutral.border};`, " padding:", ({
53
- theme,
54
- borderless
55
- }) => `${borderless ? theme.space['0.25'] : theme.space['0.5']} ${theme.space['0.5']}`, ";&:last-child{border:none;}");
56
- const StyledItem = /*#__PURE__*/_styled('button', {
57
- shouldForwardProp: prop => !['borderless', 'sentiment'].includes(prop),
58
- target: "ei26g5y1"
59
- })(({
60
- theme,
61
- borderless,
62
- sentiment,
63
- disabled
64
- }) => itemCoreStyle({
65
- theme,
66
- borderless,
67
- sentiment,
68
- disabled
69
- }), " background:none;");
70
- const StyledLinkItem = /*#__PURE__*/_styled('a', {
71
- shouldForwardProp: prop => !['borderless', 'sentiment'].includes(prop),
72
- target: "ei26g5y0"
73
- })(({
74
- theme,
75
- borderless,
76
- sentiment,
77
- disabled
78
- }) => itemCoreStyle({
79
- theme,
80
- borderless,
81
- sentiment,
82
- disabled
83
- }), " text-decoration:none;&:focus{text-decoration:none;}");
84
- const Item = /*#__PURE__*/forwardRef(({
85
- borderless = false,
86
- disabled = false,
87
- onClick,
88
- sentiment = 'neutral',
89
- href,
90
- children,
91
- tooltip,
92
- active,
93
- className,
94
- 'data-testid': dataTestId
95
- }, ref) => {
96
- if (href && !disabled) {
97
- return jsx(Container, {
98
- borderless: borderless,
99
- children: jsx(Tooltip, {
100
- text: tooltip,
101
- children: jsx(StyledLinkItem, {
102
- "data-active": active,
103
- borderless: true,
104
- href: href,
105
- ref: ref,
106
- onClick: disabled ? undefined : onClick,
107
- role: "menuitem",
108
- disabled: disabled,
109
- sentiment: sentiment,
110
- className: className,
111
- "data-testid": dataTestId,
112
- children: children
113
- })
114
- })
115
- });
116
- }
117
- return jsx(Container, {
118
- borderless: borderless,
119
- children: jsx(Tooltip, {
120
- text: tooltip,
121
- children: jsx(StyledItem, {
122
- type: "button",
123
- ref: ref,
124
- role: "menuitem",
125
- disabled: disabled,
126
- onClick: onClick,
127
- borderless: borderless,
128
- sentiment: sentiment,
129
- className: className,
130
- "data-testid": dataTestId,
131
- "data-active": active,
132
- children: children
133
- })
134
- })
135
- });
136
- });
137
- var Item$1 = Item;
138
-
139
- export { Item$1 as default };
@@ -1,118 +0,0 @@
1
- import _styled from '@emotion/styled/base';
2
- import { forwardRef, useState, useRef, useId, isValidElement, useImperativeHandle, cloneElement } from 'react';
3
- import { Popup } from '../Popup/index.js';
4
- import { Stack } from '../Stack/index.js';
5
- import { Group } from './Group.js';
6
- import Item from './Item.js';
7
- import { jsx } from '@emotion/react/jsx-runtime';
8
-
9
- const SIZES = {
10
- small: '180px',
11
- medium: '280px',
12
- large: '380px'
13
- };
14
- const StyledPopup = /*#__PURE__*/_styled(Popup, {
15
- shouldForwardProp: prop => !['size'].includes(prop),
16
- target: "e1jn11gg1"
17
- })("background-color:", ({
18
- theme
19
- }) => theme.colors.neutral.background, ";box-shadow:", ({
20
- theme
21
- }) => theme.shadows.menu, ";padding:0;&[data-has-arrow='true']{&::after{border-color:", ({
22
- theme
23
- }) => theme.colors.neutral.background, " transparent transparent transparent;}}width:", ({
24
- size
25
- }) => SIZES[size], ";max-width:none;padding:", ({
26
- theme
27
- }) => `${theme.space['0.25']} 0`, ";");
28
- const MenuList = /*#__PURE__*/_styled(Stack, {
29
- target: "e1jn11gg0"
30
- })("overflow-y:auto;overflow-x:hidden;&:after,&:before{border:solid transparent;border-width:9px;content:' ';height:0;width:0;position:absolute;pointer-events:none;}&:after{border-color:transparent;}&:before{border-color:transparent;}background-color:", ({
31
- theme
32
- }) => theme.colors.neutral.backgroundWeakElevated, ";color:", ({
33
- theme
34
- }) => theme.colors.neutral.text, ";border-radius:", ({
35
- theme
36
- }) => theme.radii.default, ";position:relative;");
37
- const FwdMenu = /*#__PURE__*/forwardRef(({
38
- id,
39
- ariaLabel = 'Menu',
40
- children,
41
- disclosure,
42
- hasArrow = false,
43
- placement = 'bottom',
44
- visible = false,
45
- className,
46
- 'data-testid': dataTestId,
47
- maxHeight,
48
- maxWidth,
49
- portalTarget,
50
- size = 'small',
51
- triggerMethod = 'click',
52
- dynamicDomRendering
53
- }, ref) => {
54
- const [isVisible, setIsVisible] = useState(visible);
55
- const popupRef = useRef(null);
56
- const disclosureRef = useRef(null);
57
- const tempId = useId();
58
- const finalId = `menu-${id ?? tempId}`;
59
-
60
- // if you need dialog inside your component, use function, otherwise component is fine
61
- const target = /*#__PURE__*/isValidElement(disclosure) ? disclosure : disclosure({
62
- visible: isVisible
63
- });
64
- const innerRef = useRef(target);
65
- useImperativeHandle(ref, () => innerRef.current);
66
- const finalDisclosure = /*#__PURE__*/cloneElement(target, {
67
- onClick: event => {
68
- target.props.onClick?.(event);
69
- setIsVisible(!isVisible);
70
- },
71
- 'aria-haspopup': 'dialog',
72
- 'aria-expanded': isVisible,
73
- // @ts-expect-error not sure how to fix this
74
- ref: disclosureRef
75
- });
76
- return jsx(StyledPopup, {
77
- debounceDelay: triggerMethod === 'hover' ? 250 : 0,
78
- hideOnClickOutside: true,
79
- "aria-label": ariaLabel,
80
- className: className,
81
- visible: triggerMethod === 'click' ? isVisible : undefined,
82
- placement: placement,
83
- hasArrow: hasArrow,
84
- "data-has-arrow": hasArrow,
85
- role: "dialog",
86
- id: finalId,
87
- ref: popupRef,
88
- onClose: () => setIsVisible(false),
89
- tabIndex: -1,
90
- maxHeight: maxHeight ?? '480px',
91
- maxWidth: maxWidth,
92
- size: size,
93
- text: jsx(MenuList, {
94
- "data-testid": dataTestId,
95
- className: className,
96
- role: "menu",
97
- children: typeof children === 'function' ? children({
98
- toggle: () => setIsVisible(!isVisible)
99
- }) : children
100
- }),
101
- portalTarget: portalTarget,
102
- dynamicDomRendering: dynamicDomRendering,
103
- children: finalDisclosure
104
- });
105
- });
106
-
107
- /**
108
- * A menu is a widget that offers a list of choices to the user, such as a set of actions or functions.
109
- * A menu is usually opened, or made visible, by activating a menu button, choosing an item in a menu that opens a
110
- * sub menu, or by invoking a command, such as `Shift + F10` on Windows, that opens a context specific menu.
111
- * When a user activates a choice in a menu, the menu usually closes unless the choice opened a submenu.
112
- */
113
- const MenuV2 = /*#__PURE__*/Object.assign(FwdMenu, {
114
- Item,
115
- Group
116
- });
117
-
118
- export { MenuV2 };
@@ -1,76 +0,0 @@
1
- import _styled from '@emotion/styled/base';
2
- import { Text } from '../Text/index.js';
3
- import { jsxs, jsx } from '@emotion/react/jsx-runtime';
4
-
5
- const StyledStrength = /*#__PURE__*/_styled(Text, {
6
- shouldForwardProp: prop => !['color'].includes(prop),
7
- target: "e157fc5l2"
8
- })("float:right;vertical-align:top;color:", ({
9
- strength
10
- }) => strength.color, ";");
11
- const StyledWrapper = /*#__PURE__*/_styled("div", {
12
- target: "e157fc5l1"
13
- })("background-color:", ({
14
- theme
15
- }) => theme.colors.neutral.backgroundDisabled, ";border-radius:", ({
16
- theme
17
- }) => theme.radii.default, ";height:", ({
18
- theme
19
- }) => theme.space['1'], ";margin-top:", ({
20
- theme
21
- }) => theme.space['1'], ";margin-bottom:", ({
22
- theme
23
- }) => theme.space['2'], ";");
24
- const StyledMeter = /*#__PURE__*/_styled("div", {
25
- target: "e157fc5l0"
26
- })("border-radius:", ({
27
- theme
28
- }) => theme.radii.default, ";height:100%;transition:all 0.5s;");
29
- /**
30
- * Show strength of a password based on different criteria.
31
- */
32
- const Meter = ({
33
- strength,
34
- title,
35
- value,
36
- className,
37
- 'data-testid': dataTestId,
38
- id
39
- }) => {
40
- const toValue = (value + 1) / strength.length * 100;
41
- const width = `${toValue}%`;
42
- const backgroundColor = strength[value]?.color ?? strength[0].color;
43
- const text = strength[value]?.text ?? strength[0].text;
44
- return jsxs("div", {
45
- "aria-live": "polite",
46
- "aria-valuemax": strength.length ?? 0,
47
- "aria-valuemin": 0,
48
- "aria-valuenow": value,
49
- className: className,
50
- "data-testid": dataTestId,
51
- id: id,
52
- role: "meter",
53
- title: title,
54
- "aria-labelledby": "meter-label",
55
- children: [jsxs(Text, {
56
- id: "meter-label",
57
- variant: "bodySmallStrong",
58
- as: "p",
59
- children: [title, jsx(StyledStrength, {
60
- as: "span",
61
- variant: "bodySmallStrong",
62
- strength: strength[value],
63
- children: text
64
- })]
65
- }), jsx(StyledWrapper, {
66
- children: jsx(StyledMeter, {
67
- style: {
68
- backgroundColor,
69
- width
70
- }
71
- })
72
- })]
73
- });
74
- };
75
-
76
- export { Meter };
@@ -1,182 +0,0 @@
1
- import _styled from '@emotion/styled/base';
2
- import { useRef, useEffect, useCallback } from 'react';
3
- import { createPortal } from 'react-dom';
4
- import { MODAL_WIDTH, MODAL_PLACEMENT } from './constants.js';
5
- import { jsx } from '@emotion/react/jsx-runtime';
6
-
7
- const StyledBackdrop = /*#__PURE__*/_styled("div", {
8
- target: "e1cqen9h1"
9
- })("position:fixed;top:0;right:0;height:0;width:0;overflow:hidden;background-color:", ({
10
- theme
11
- }) => theme.colors.overlay, ";z-index:1;&[data-open='true']{padding:", ({
12
- theme
13
- }) => theme.space['2'], ";overflow:auto;display:flex;bottom:0;left:0;height:100%;width:100%;}");
14
- const StyledDialog = /*#__PURE__*/_styled("dialog", {
15
- target: "e1cqen9h0"
16
- })("background-color:", ({
17
- theme
18
- }) => theme.colors.neutral.backgroundWeakElevated, ";position:relative;border-radius:", ({
19
- theme
20
- }) => theme.radii.default, ";border:0;padding:", ({
21
- theme
22
- }) => theme.space['3'], ";width:", MODAL_WIDTH.medium, "px;box-shadow:", ({
23
- theme
24
- }) => theme.shadows.modal, ";", /*#__PURE__*/Object.entries(MODAL_WIDTH).map(([size, value]) => `
25
- &[data-size="${size}"] {
26
- width: ${value}px;
27
- }
28
- `), " ", /*#__PURE__*/Object.entries(MODAL_PLACEMENT).map(([placement, value]) => `
29
- &[data-placement="${placement}"] {
30
- ${value}
31
- }
32
- `), ";");
33
- const Dialog = ({
34
- children,
35
- open,
36
- placement,
37
- onClose,
38
- hideOnClickOutside,
39
- size,
40
- id,
41
- ariaLabel,
42
- className,
43
- 'data-testid': dataTestId,
44
- preventBodyScroll,
45
- hideOnEsc,
46
- backdropClassName,
47
- dialogCss,
48
- backdropCss
49
- }) => {
50
- const containerRef = useRef(document.createElement('div'));
51
- const dialogRef = useRef(null);
52
- const onCloseRef = useRef(onClose);
53
-
54
- // Portal to put the modal in
55
- useEffect(() => {
56
- const element = containerRef.current;
57
- if (open) {
58
- document.body.appendChild(element);
59
- }
60
- return () => {
61
- if (document.body.contains(element)) {
62
- document.body.removeChild(element);
63
- }
64
- };
65
- }, [open]);
66
-
67
- // Save the reassignment of eventHandler in the useEffect below
68
- useEffect(() => {
69
- onCloseRef.current = onClose;
70
- }, [onClose]);
71
-
72
- // On open focus the modal
73
- useEffect(() => {
74
- if (open) {
75
- dialogRef.current?.focus();
76
- }
77
- }, [open]);
78
-
79
- // Handle body scroll
80
- useEffect(() => {
81
- const previousOverflow = document.body.style.overflow;
82
- if (open && preventBodyScroll) {
83
- document.body.style.overflow = 'hidden';
84
- }
85
- return () => {
86
- document.body.style.overflow = previousOverflow;
87
- };
88
- }, [preventBodyScroll, open]);
89
-
90
- // Stop focus to prevent unexpected body loose focus
91
- const stopFocus = useCallback(event => {
92
- event.stopPropagation();
93
- }, []);
94
-
95
- // Stop click to prevent unexpected dialog close
96
- const stopClick = useCallback(event => {
97
- event.stopPropagation();
98
- }, []);
99
-
100
- // handle key up : used when having inputs in modals - useful for hideOnEsc
101
- const handleKeyUp = useCallback(event => {
102
- event.stopPropagation();
103
- if (event.key === 'Escape' && hideOnEsc) {
104
- event.preventDefault();
105
- onCloseRef.current();
106
- }
107
- }, [hideOnEsc]);
108
- const handleClose = useCallback(event => {
109
- event.stopPropagation();
110
- if (hideOnClickOutside) {
111
- onCloseRef.current();
112
- } else {
113
- // Because overlay is not focusable we can't handle hideOnEsc properly
114
- dialogRef.current?.focus();
115
- }
116
- }, [hideOnClickOutside]);
117
-
118
- // Enable focus trap inside the modal
119
- const handleFocusTrap = useCallback(event => {
120
- event.stopPropagation();
121
- if (event.key === 'Escape') {
122
- event.preventDefault();
123
- return;
124
- }
125
- const isTabPressed = event.key === 'Tab';
126
- if (!isTabPressed) {
127
- return;
128
- }
129
- const focusableEls = dialogRef.current?.querySelectorAll('a[href]:not([disabled]), button:not([disabled]), textarea:not([disabled]), input:not([disabled]), select:not([disabled])') ?? [];
130
-
131
- // Handle case when no interactive element are within the modal (including close icon)
132
- if (focusableEls.length === 0) {
133
- event.preventDefault();
134
- }
135
- const firstFocusableEl = focusableEls[0];
136
- const lastFocusableEl = focusableEls[focusableEls.length - 1];
137
- if (event.shiftKey) {
138
- if (document.activeElement === firstFocusableEl || document.activeElement === dialogRef.current) {
139
- lastFocusableEl.focus();
140
- event.preventDefault();
141
- }
142
- } else if (document.activeElement === lastFocusableEl || document.activeElement === dialogRef.current) {
143
- firstFocusableEl.focus();
144
- event.preventDefault();
145
- }
146
- }, []);
147
-
148
- // Prevent default behaviour on Escape
149
- const stopCancel = event => {
150
- event.preventDefault();
151
- event.stopPropagation();
152
- };
153
- return open ? /*#__PURE__*/createPortal(jsx(StyledBackdrop, {
154
- "data-open": open,
155
- onClick: handleClose,
156
- className: backdropClassName,
157
- css: backdropCss,
158
- "data-testid": dataTestId ? `${dataTestId}-backdrop` : undefined,
159
- onFocus: stopFocus,
160
- children: jsx(StyledDialog, {
161
- css: dialogCss,
162
- onKeyUp: handleKeyUp,
163
- onKeyDown: handleFocusTrap,
164
- className: className,
165
- id: id,
166
- "data-testid": dataTestId,
167
- "aria-label": ariaLabel,
168
- "data-placement": placement,
169
- "data-size": size,
170
- open: open,
171
- onClick: stopClick,
172
- onCancel: stopCancel,
173
- onClose: stopCancel,
174
- "aria-modal": true,
175
- ref: dialogRef,
176
- tabIndex: 0,
177
- children: open ? children : null
178
- })
179
- }), containerRef.current) : null;
180
- };
181
-
182
- export { Dialog };