@ultraviolet/ui 1.51.0 → 1.51.2

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 (440) hide show
  1. package/dist/components/ActionBar/index.d.ts +20 -0
  2. package/dist/components/ActionBar/index.js +40 -0
  3. package/dist/components/Alert/index.d.ts +27 -0
  4. package/dist/components/Alert/index.js +126 -0
  5. package/dist/components/Avatar/index.d.ts +43 -0
  6. package/dist/components/Avatar/index.js +54 -0
  7. package/dist/components/Badge/index.d.ts +31 -0
  8. package/dist/components/Badge/index.js +115 -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 +191 -0
  13. package/dist/components/BarChart/Tooltip.d.ts +9 -0
  14. package/dist/components/BarChart/Tooltip.js +36 -0
  15. package/dist/components/BarChart/index.d.ts +27 -0
  16. package/dist/components/BarChart/index.js +82 -0
  17. package/dist/components/BarStack/index.d.ts +36 -0
  18. package/dist/components/BarStack/index.js +188 -0
  19. package/dist/components/Breadcrumbs/index.d.ts +30 -0
  20. package/dist/components/Breadcrumbs/index.js +76 -0
  21. package/dist/components/Bullet/index.d.ts +39 -0
  22. package/dist/components/Bullet/index.js +88 -0
  23. package/dist/components/Button/index.d.ts +120 -0
  24. package/dist/components/Button/index.js +291 -0
  25. package/dist/components/Card/index.d.ts +20 -0
  26. package/dist/components/Card/index.js +59 -0
  27. package/dist/components/Carousel/index.d.ts +19 -0
  28. package/dist/components/Carousel/index.js +147 -0
  29. package/dist/components/Checkbox/index.d.ts +36 -0
  30. package/dist/components/Checkbox/index.js +359 -0
  31. package/dist/components/CheckboxGroup/index.d.ts +24 -0
  32. package/dist/components/CheckboxGroup/index.js +112 -0
  33. package/dist/components/CopyButton/index.d.ts +19 -0
  34. package/dist/components/CopyButton/index.js +37 -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 +301 -0
  38. package/dist/components/Dialog/Context.d.ts +7 -0
  39. package/dist/components/Dialog/Context.js +15 -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 +87 -0
  43. package/dist/components/Dialog/subComponents/Button.d.ts +7 -0
  44. package/dist/components/Dialog/subComponents/Button.js +24 -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 +6 -0
  51. package/dist/components/Dialog/subComponents/Text.d.ts +6 -0
  52. package/dist/components/Dialog/subComponents/Text.js +6 -0
  53. package/dist/components/EmptyState/index.d.ts +38 -0
  54. package/dist/components/EmptyState/index.js +82 -0
  55. package/dist/components/Expandable/index.d.ts +33 -0
  56. package/dist/components/Expandable/index.js +79 -0
  57. package/dist/components/GlobalAlert/GlobalAlertLink.d.ts +3 -0
  58. package/dist/components/GlobalAlert/GlobalAlertLink.js +39 -0
  59. package/dist/components/GlobalAlert/index.d.ts +40 -0
  60. package/dist/components/GlobalAlert/index.js +112 -0
  61. package/dist/components/LineChart/CustomLegend.d.ts +13 -0
  62. package/dist/components/LineChart/CustomLegend.js +109 -0
  63. package/dist/components/LineChart/Tooltip.d.ts +6 -0
  64. package/dist/components/LineChart/Tooltip.js +46 -0
  65. package/dist/components/LineChart/helpers.d.ts +8 -0
  66. package/dist/components/LineChart/helpers.js +50 -0
  67. package/dist/components/LineChart/index.d.ts +25 -0
  68. package/dist/components/LineChart/index.js +118 -0
  69. package/dist/components/Link/index.d.ts +33 -0
  70. package/dist/components/Link/index.js +167 -0
  71. package/dist/components/List/Body.d.ts +6 -0
  72. package/dist/components/List/Body.js +11 -0
  73. package/dist/components/List/Cell.d.ts +12 -0
  74. package/dist/components/List/Cell.js +38 -0
  75. package/dist/components/List/HeaderCell.d.ts +11 -0
  76. package/dist/components/List/HeaderCell.js +96 -0
  77. package/dist/components/List/HeaderRow.d.ts +7 -0
  78. package/dist/components/List/HeaderRow.js +38 -0
  79. package/dist/components/List/ListContext.d.ts +34 -0
  80. package/dist/components/List/ListContext.js +155 -0
  81. package/dist/components/List/Row.d.ts +23 -0
  82. package/dist/components/List/Row.js +194 -0
  83. package/dist/components/List/SelectBar.d.ts +15 -0
  84. package/dist/components/List/SelectBar.js +35 -0
  85. package/dist/components/List/SkeletonRows.d.ts +7 -0
  86. package/dist/components/List/SkeletonRows.js +36 -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 +80 -0
  91. package/dist/components/Loader/index.d.ts +22 -0
  92. package/dist/components/Loader/index.js +98 -0
  93. package/dist/components/Menu/Item.d.ts +15 -0
  94. package/dist/components/Menu/Item.js +101 -0
  95. package/dist/components/Menu/index.d.ts +49 -0
  96. package/dist/components/Menu/index.js +182 -0
  97. package/dist/components/MenuV2/Group.d.ts +7 -0
  98. package/dist/components/MenuV2/Group.js +23 -0
  99. package/dist/components/MenuV2/Item.d.ts +16 -0
  100. package/dist/components/MenuV2/Item.js +120 -0
  101. package/dist/components/MenuV2/index.d.ts +90 -0
  102. package/dist/components/MenuV2/index.js +124 -0
  103. package/dist/components/Meter/index.d.ts +26 -0
  104. package/dist/components/Meter/index.js +76 -0
  105. package/dist/components/Modal/Dialog.d.ts +3 -0
  106. package/dist/components/Modal/Dialog.js +197 -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 +114 -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 +39 -0
  116. package/dist/components/Notification/index.d.ts +36 -0
  117. package/dist/components/Notification/index.js +88 -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 +349 -0
  123. package/dist/components/NumberInputV2/index.d.ts +27 -0
  124. package/dist/components/NumberInputV2/index.js +370 -0
  125. package/dist/components/Pagination/getPageNumbers.d.ts +8 -0
  126. package/dist/{src/components → components}/Pagination/getPageNumbers.js +4 -12
  127. package/dist/components/Pagination/index.d.ts +30 -0
  128. package/dist/components/Pagination/index.js +124 -0
  129. package/dist/components/PasswordCheck/index.d.ts +20 -0
  130. package/dist/components/PasswordCheck/index.js +29 -0
  131. package/dist/components/PasswordStrengthMeter/index.d.ts +39 -0
  132. package/dist/components/PasswordStrengthMeter/index.js +98 -0
  133. package/dist/components/PieChart/Legends.d.ts +9 -0
  134. package/dist/components/PieChart/Legends.js +120 -0
  135. package/dist/components/PieChart/Tooltip.d.ts +12 -0
  136. package/dist/components/PieChart/Tooltip.js +29 -0
  137. package/dist/components/PieChart/index.d.ts +20 -0
  138. package/dist/components/PieChart/index.js +120 -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 +149 -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 +204 -0
  146. package/dist/components/Popup/index.d.ts +72 -0
  147. package/dist/components/Popup/index.js +385 -0
  148. package/dist/components/ProgressBar/index.d.ts +14 -0
  149. package/dist/components/ProgressBar/index.js +71 -0
  150. package/dist/components/Radio/index.d.ts +21 -0
  151. package/dist/components/Radio/index.js +202 -0
  152. package/dist/components/RadioGroup/index.d.ts +25 -0
  153. package/dist/components/RadioGroup/index.js +104 -0
  154. package/dist/components/Row/index.d.ts +22 -0
  155. package/dist/components/Row/index.js +43 -0
  156. package/dist/components/SelectInput/index.d.ts +75 -0
  157. package/dist/components/SelectInput/index.js +563 -0
  158. package/dist/components/SelectInputV2/Dropdown.d.ts +23 -0
  159. package/dist/components/SelectInputV2/Dropdown.js +669 -0
  160. package/dist/components/SelectInputV2/DropdownOption.d.ts +8 -0
  161. package/dist/components/SelectInputV2/DropdownOption.js +133 -0
  162. package/dist/components/SelectInputV2/SearchBarDropdown.d.ts +9 -0
  163. package/dist/components/SelectInputV2/SearchBarDropdown.js +123 -0
  164. package/dist/components/SelectInputV2/SelectBar.d.ts +14 -0
  165. package/dist/components/SelectInputV2/SelectBar.js +327 -0
  166. package/dist/components/SelectInputV2/SelectInputProvider.d.ts +41 -0
  167. package/dist/components/SelectInputV2/SelectInputProvider.js +203 -0
  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 +146 -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 +193 -0
  176. package/dist/components/SelectableCardGroup/index.d.ts +23 -0
  177. package/dist/components/SelectableCardGroup/index.js +112 -0
  178. package/dist/components/Separator/index.d.ts +17 -0
  179. package/dist/components/Separator/index.js +76 -0
  180. package/dist/components/Skeleton/Block.d.ts +3 -0
  181. package/dist/components/Skeleton/Block.js +30 -0
  182. package/dist/components/Skeleton/Blocks.d.ts +4 -0
  183. package/dist/components/Skeleton/Blocks.js +28 -0
  184. package/dist/components/Skeleton/BoxWithIcon.d.ts +4 -0
  185. package/dist/components/Skeleton/BoxWithIcon.js +29 -0
  186. package/dist/components/Skeleton/Donut.d.ts +1 -0
  187. package/dist/components/Skeleton/Donut.js +36 -0
  188. package/dist/components/Skeleton/IconSkeleton.d.ts +5 -0
  189. package/dist/components/Skeleton/IconSkeleton.js +12 -0
  190. package/dist/components/Skeleton/Line.d.ts +5 -0
  191. package/dist/components/Skeleton/Line.js +13 -0
  192. package/dist/components/Skeleton/List.d.ts +4 -0
  193. package/dist/components/Skeleton/List.js +29 -0
  194. package/dist/components/Skeleton/Slider.d.ts +3 -0
  195. package/dist/components/Skeleton/Slider.js +26 -0
  196. package/dist/components/Skeleton/Square.d.ts +5 -0
  197. package/dist/components/Skeleton/Square.js +10 -0
  198. package/dist/components/Skeleton/index.d.ts +47 -0
  199. package/dist/components/Skeleton/index.js +86 -0
  200. package/dist/components/Snippet/index.d.ts +23 -0
  201. package/dist/components/Snippet/index.js +171 -0
  202. package/dist/components/Stack/index.d.ts +23 -0
  203. package/dist/components/Stack/index.js +36 -0
  204. package/dist/components/Status/index.d.ts +32 -0
  205. package/dist/components/Status/index.js +57 -0
  206. package/dist/components/StepList/index.d.ts +33 -0
  207. package/dist/components/StepList/index.js +69 -0
  208. package/dist/components/Stepper/index.d.ts +15 -0
  209. package/dist/components/Stepper/index.js +153 -0
  210. package/dist/components/SwitchButton/FocusOverlay.d.ts +8 -0
  211. package/dist/components/SwitchButton/FocusOverlay.js +47 -0
  212. package/dist/components/SwitchButton/index.d.ts +26 -0
  213. package/dist/components/SwitchButton/index.js +140 -0
  214. package/dist/components/Table/Body.d.ts +6 -0
  215. package/dist/components/Table/Body.js +5 -0
  216. package/dist/components/Table/Cell.d.ts +9 -0
  217. package/dist/components/Table/Cell.js +10 -0
  218. package/dist/components/Table/Header.d.ts +6 -0
  219. package/dist/components/Table/Header.js +9 -0
  220. package/dist/components/Table/HeaderCell.d.ts +14 -0
  221. package/dist/components/Table/HeaderCell.js +123 -0
  222. package/dist/components/Table/HeaderRow.d.ts +7 -0
  223. package/dist/components/Table/HeaderRow.js +25 -0
  224. package/dist/components/Table/Row.d.ts +14 -0
  225. package/dist/components/Table/Row.js +85 -0
  226. package/dist/components/Table/SelectBar.d.ts +15 -0
  227. package/dist/components/Table/SelectBar.js +35 -0
  228. package/dist/components/Table/SkeletonRows.d.ts +7 -0
  229. package/dist/components/Table/SkeletonRows.js +22 -0
  230. package/dist/components/Table/TableContext.d.ts +27 -0
  231. package/dist/components/Table/TableContext.js +103 -0
  232. package/dist/components/Table/index.d.ts +60 -0
  233. package/dist/components/Table/index.js +81 -0
  234. package/dist/components/Tabs/Tab.d.ts +20 -0
  235. package/dist/components/Tabs/Tab.js +170 -0
  236. package/dist/components/Tabs/TabMenu.d.ts +8 -0
  237. package/dist/components/Tabs/TabMenu.js +63 -0
  238. package/dist/components/Tabs/TabMenuItem.d.ts +20 -0
  239. package/dist/components/Tabs/TabMenuItem.js +39 -0
  240. package/dist/components/Tabs/TabsContext.d.ts +8 -0
  241. package/dist/components/Tabs/TabsContext.js +9 -0
  242. package/dist/components/Tabs/index.d.ts +50 -0
  243. package/dist/components/Tabs/index.js +137 -0
  244. package/dist/components/Tag/index.d.ts +26 -0
  245. package/dist/components/Tag/index.js +153 -0
  246. package/dist/components/TagInput/index.d.ts +55 -0
  247. package/dist/components/TagInput/index.js +316 -0
  248. package/dist/components/TagList/index.d.ts +37 -0
  249. package/dist/components/TagList/index.js +103 -0
  250. package/dist/components/Text/index.d.ts +40 -0
  251. package/dist/components/Text/index.js +107 -0
  252. package/dist/components/TextArea/index.d.ts +50 -0
  253. package/dist/components/TextArea/index.js +226 -0
  254. package/dist/components/TextInput/index.d.ts +75 -0
  255. package/dist/components/TextInput/index.js +472 -0
  256. package/dist/components/TextInputV2/index.d.ts +30 -0
  257. package/dist/components/TextInputV2/index.js +314 -0
  258. package/dist/components/TimeInput/index.d.ts +25 -0
  259. package/dist/components/TimeInput/index.js +199 -0
  260. package/dist/components/Toaster/index.d.ts +46 -0
  261. package/dist/components/Toaster/index.js +131 -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 +196 -0
  265. package/dist/components/ToggleGroup/index.d.ts +24 -0
  266. package/dist/components/ToggleGroup/index.js +87 -0
  267. package/dist/components/Tooltip/index.d.ts +9 -0
  268. package/dist/components/Tooltip/index.js +47 -0
  269. package/dist/components/VerificationCode/index.d.ts +36 -0
  270. package/dist/components/VerificationCode/index.js +222 -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 -3693
  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 +30 -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/utils/ids.js +6 -0
  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 +13 -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 +23 -13
  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/helpers.js +0 -40
  340. package/dist/src/components/LineChart/index.js +0 -131
  341. package/dist/src/components/Link/index.js +0 -147
  342. package/dist/src/components/List/Body.js +0 -16
  343. package/dist/src/components/List/Cell.js +0 -43
  344. package/dist/src/components/List/HeaderCell.js +0 -90
  345. package/dist/src/components/List/HeaderRow.js +0 -43
  346. package/dist/src/components/List/ListContext.js +0 -138
  347. package/dist/src/components/List/Row.js +0 -185
  348. package/dist/src/components/List/SelectBar.js +0 -48
  349. package/dist/src/components/List/SkeletonRows.js +0 -53
  350. package/dist/src/components/List/index.js +0 -75
  351. package/dist/src/components/Loader/index.js +0 -100
  352. package/dist/src/components/Menu/Item.js +0 -112
  353. package/dist/src/components/Menu/index.js +0 -129
  354. package/dist/src/components/MenuV2/Group.js +0 -25
  355. package/dist/src/components/MenuV2/Item.js +0 -139
  356. package/dist/src/components/MenuV2/index.js +0 -116
  357. package/dist/src/components/Meter/index.js +0 -76
  358. package/dist/src/components/Modal/Dialog.js +0 -182
  359. package/dist/src/components/Modal/index.js +0 -113
  360. package/dist/src/components/Notice/index.js +0 -34
  361. package/dist/src/components/Notification/index.js +0 -77
  362. package/dist/src/components/NumberInput/index.js +0 -299
  363. package/dist/src/components/NumberInputV2/index.js +0 -284
  364. package/dist/src/components/Pagination/index.js +0 -117
  365. package/dist/src/components/PasswordCheck/index.js +0 -41
  366. package/dist/src/components/PasswordStrengthMeter/index.js +0 -102
  367. package/dist/src/components/PieChart/Legends.js +0 -138
  368. package/dist/src/components/PieChart/Tooltip.js +0 -61
  369. package/dist/src/components/PieChart/index.js +0 -125
  370. package/dist/src/components/Popover/index.js +0 -144
  371. package/dist/src/components/Popup/helpers.js +0 -252
  372. package/dist/src/components/Popup/index.js +0 -363
  373. package/dist/src/components/ProgressBar/index.js +0 -57
  374. package/dist/src/components/Radio/index.js +0 -157
  375. package/dist/src/components/RadioGroup/index.js +0 -131
  376. package/dist/src/components/Row/index.js +0 -41
  377. package/dist/src/components/SelectInput/index.js +0 -610
  378. package/dist/src/components/SelectInputV2/Dropdown.js +0 -594
  379. package/dist/src/components/SelectInputV2/DropdownOption.js +0 -130
  380. package/dist/src/components/SelectInputV2/SearchBarDropdown.js +0 -128
  381. package/dist/src/components/SelectInputV2/SelectBar.js +0 -282
  382. package/dist/src/components/SelectInputV2/SelectInputProvider.js +0 -169
  383. package/dist/src/components/SelectInputV2/findOptionInOptions.js +0 -11
  384. package/dist/src/components/SelectInputV2/index.js +0 -137
  385. package/dist/src/components/SelectableCard/index.js +0 -175
  386. package/dist/src/components/SelectableCardGroup/index.js +0 -141
  387. package/dist/src/components/Separator/index.js +0 -73
  388. package/dist/src/components/Skeleton/Block.js +0 -35
  389. package/dist/src/components/Skeleton/Blocks.js +0 -34
  390. package/dist/src/components/Skeleton/BoxWithIcon.js +0 -32
  391. package/dist/src/components/Skeleton/Donut.js +0 -55
  392. package/dist/src/components/Skeleton/IconSkeleton.js +0 -19
  393. package/dist/src/components/Skeleton/Line.js +0 -13
  394. package/dist/src/components/Skeleton/List.js +0 -51
  395. package/dist/src/components/Skeleton/Slider.js +0 -36
  396. package/dist/src/components/Skeleton/Square.js +0 -9
  397. package/dist/src/components/Skeleton/index.js +0 -82
  398. package/dist/src/components/Snippet/index.js +0 -200
  399. package/dist/src/components/Stack/index.js +0 -29
  400. package/dist/src/components/Status/index.js +0 -74
  401. package/dist/src/components/StepList/index.js +0 -69
  402. package/dist/src/components/Stepper/index.js +0 -150
  403. package/dist/src/components/SwitchButton/FocusOverlay.js +0 -37
  404. package/dist/src/components/SwitchButton/index.js +0 -108
  405. package/dist/src/components/Table/Body.js +0 -9
  406. package/dist/src/components/Table/Cell.js +0 -21
  407. package/dist/src/components/Table/Header.js +0 -15
  408. package/dist/src/components/Table/HeaderCell.js +0 -103
  409. package/dist/src/components/Table/HeaderRow.js +0 -32
  410. package/dist/src/components/Table/Row.js +0 -89
  411. package/dist/src/components/Table/SelectBar.js +0 -48
  412. package/dist/src/components/Table/SkeletonRows.js +0 -51
  413. package/dist/src/components/Table/TableContext.js +0 -90
  414. package/dist/src/components/Table/index.js +0 -82
  415. package/dist/src/components/Tabs/Tab.js +0 -138
  416. package/dist/src/components/Tabs/TabMenu.js +0 -59
  417. package/dist/src/components/Tabs/TabMenuItem.js +0 -36
  418. package/dist/src/components/Tabs/TabsContext.js +0 -6
  419. package/dist/src/components/Tabs/index.js +0 -117
  420. package/dist/src/components/Tag/index.js +0 -169
  421. package/dist/src/components/TagInput/index.js +0 -309
  422. package/dist/src/components/TagList/index.js +0 -106
  423. package/dist/src/components/Text/index.js +0 -107
  424. package/dist/src/components/TextArea/index.js +0 -210
  425. package/dist/src/components/TextInput/index.js +0 -451
  426. package/dist/src/components/TextInputV2/index.js +0 -289
  427. package/dist/src/components/TimeInput/index.js +0 -37
  428. package/dist/src/components/Toaster/index.js +0 -131
  429. package/dist/src/components/Toggle/index.js +0 -160
  430. package/dist/src/components/ToggleGroup/index.js +0 -122
  431. package/dist/src/components/Tooltip/index.js +0 -55
  432. package/dist/src/components/VerificationCode/index.js +0 -222
  433. package/dist/src/helpers/legend.js +0 -13
  434. package/dist/src/helpers/recursivelyGetChildrenString.js +0 -11
  435. package/dist/src/hooks/useIsOverflowing.js +0 -34
  436. package/dist/src/index.js +0 -77
  437. package/dist/src/theme/index.js +0 -29
  438. package/dist/src/utils/capitalize.js +0 -3
  439. package/dist/src/utils/ids.js +0 -7
  440. package/dist/src/utils/responsive/Breakpoint.js +0 -12
@@ -0,0 +1,98 @@
1
+ import { jsxs, jsx } from "@emotion/react/jsx-runtime";
2
+ import { useTheme } from "@emotion/react";
3
+ import styled from "@emotion/styled";
4
+ import { useState, useCallback, useEffect } from "react";
5
+ import { Text } from "../Text/index.js";
6
+ const StyledTitle = styled(Text)`
7
+ display: inline-block;
8
+ vertical-align: top;
9
+ line-height: 22px;
10
+ `;
11
+ const StyledStrength = styled(Text)`
12
+ float: right;
13
+ vertical-align: top;
14
+ color: ${({ strength }) => strength.color};
15
+ `;
16
+ const StyledWrapper = styled.div`
17
+ background-color: ${({ theme }) => theme.colors.neutral.backgroundDisabled};
18
+ border-radius: ${({ theme }) => theme.radii.default};
19
+ height: 8px;
20
+ margin-top: ${({ theme }) => theme.space["1"]};
21
+ margin-bottom: ${({ theme }) => theme.space["2"]};
22
+ `;
23
+ const StyledMeter = styled.div`
24
+ border-radius: ${({ theme }) => theme.radii.default};
25
+ height: 100%;
26
+ transition: all 0.5s;
27
+ `;
28
+ const DEFAULT_ESTIMATE = () => ({ score: 0 });
29
+ const DEFAULT_FORBIDDEN_WORDS = [];
30
+ const PasswordStrengthMeter = ({
31
+ password = "",
32
+ onChange,
33
+ strength,
34
+ title,
35
+ estimate = DEFAULT_ESTIMATE,
36
+ forbiddenInputs = DEFAULT_FORBIDDEN_WORDS,
37
+ className,
38
+ "data-testid": dataTestId
39
+ }) => {
40
+ const [score, setScore] = useState(0);
41
+ const theme = useTheme();
42
+ const [backgroundColor, setBackgroundColor] = useState(
43
+ strength[0]?.color || theme.colors.success.backgroundStrong
44
+ );
45
+ const [width, setWidth] = useState(0);
46
+ const getScore = useCallback(
47
+ async (passwordToTest) => {
48
+ const { score: internalScore = 0 } = await estimate(
49
+ passwordToTest || "",
50
+ forbiddenInputs
51
+ );
52
+ return internalScore;
53
+ },
54
+ [estimate, forbiddenInputs]
55
+ );
56
+ const handleChange = useCallback((e) => onChange?.(e), [onChange]);
57
+ useEffect(() => {
58
+ setBackgroundColor(strength[score].color);
59
+ handleChange(score);
60
+ getScore(password).then((s) => setScore(s)).catch(() => null);
61
+ const toValue = (score + 1) / strength.length * 100;
62
+ setWidth(`${toValue}%`);
63
+ }, [getScore, handleChange, password, score, strength]);
64
+ return /* @__PURE__ */ jsxs(
65
+ "div",
66
+ {
67
+ title,
68
+ role: "alert",
69
+ "aria-live": "polite",
70
+ className,
71
+ "data-testid": dataTestId,
72
+ children: [
73
+ /* @__PURE__ */ jsx(StyledTitle, { variant: "bodySmallStrong", as: "p", children: title }),
74
+ /* @__PURE__ */ jsx(
75
+ StyledStrength,
76
+ {
77
+ as: "span",
78
+ variant: "bodySmallStrong",
79
+ strength: strength[score],
80
+ children: strength[score]?.t
81
+ }
82
+ ),
83
+ /* @__PURE__ */ jsx(StyledWrapper, { children: /* @__PURE__ */ jsx(
84
+ StyledMeter,
85
+ {
86
+ style: {
87
+ backgroundColor,
88
+ width
89
+ }
90
+ }
91
+ ) })
92
+ ]
93
+ }
94
+ );
95
+ };
96
+ export {
97
+ PasswordStrengthMeter
98
+ };
@@ -0,0 +1,9 @@
1
+ import type { Data } from './types';
2
+ type LegendsProps = {
3
+ data?: Data[];
4
+ focused?: string;
5
+ onFocusChange(index?: string): void;
6
+ colors: string[];
7
+ };
8
+ declare const Legends: ({ focused, data, onFocusChange, colors }: LegendsProps) => import("@emotion/react/jsx-runtime").JSX.Element;
9
+ export default Legends;
@@ -0,0 +1,120 @@
1
+ import { jsx, jsxs } from "@emotion/react/jsx-runtime";
2
+ import { keyframes, css } from "@emotion/react";
3
+ import styled from "@emotion/styled";
4
+ import { Tooltip } from "../Tooltip/index.js";
5
+ import Tooltip$1 from "./Tooltip.js";
6
+ const bulletFlashAnim = keyframes`
7
+ 0% {
8
+ opacity: 1;
9
+ }
10
+ 50% {
11
+ opacity: 0.1;
12
+ }
13
+ 100% {
14
+ opacity: 1;
15
+ }
16
+ `;
17
+ const animationFlash = (isFocused) => isFocused ? css`
18
+ ${bulletFlashAnim.styles}
19
+ animation: ${bulletFlashAnim.name} linear 1500ms infinite;
20
+ ` : "";
21
+ const List = styled.ul`
22
+ font-size: 14px;
23
+ list-style-type: none;
24
+ display: flex;
25
+ flex: 1;
26
+ flex-direction: column;
27
+ max-height: 100%;
28
+ overflow-y: auto;
29
+ `;
30
+ const ListItem = styled.li`
31
+ display: flex;
32
+ align-items: center;
33
+ margin-top: ${({ theme }) => theme.space["1"]};
34
+ width: 100%;
35
+ color: ${({ isFocused, theme }) => isFocused ? theme.colors.primary.text : theme.colors.neutral.text};
36
+ `;
37
+ const Bullet = styled.div`
38
+ display: inline-block;
39
+ border-radius: ${({ theme }) => theme.radii.circle};
40
+ width: 10px;
41
+ height: 10px;
42
+ margin: 0 ${({ theme }) => theme.space["1"]};
43
+ background: ${({ color }) => color};
44
+ ${({ isFocused }) => animationFlash(isFocused)}
45
+ `;
46
+ const Label = styled.div`
47
+ display: flex;
48
+ flex: 1;
49
+ align-items: baseline;
50
+ `;
51
+ const Value = styled.div`
52
+ margin-left: 6px;
53
+ font-weight: ${({ isFocused }) => isFocused ? 500 : 400};
54
+ `;
55
+ const Text = styled.span`
56
+ flex: none;
57
+ margin-right: 6px;
58
+ font-weight: ${({ isFocused }) => isFocused ? 500 : 400};
59
+ `;
60
+ const ToggleBox = styled.div`
61
+ width: 250px;
62
+ height: 21px;
63
+ position: absolute;
64
+ `;
65
+ const Line = styled.span`
66
+ border-bottom: 1px solid ${({ theme }) => theme.colors.neutral.border};
67
+ position: relative;
68
+ width: 100%;
69
+ `;
70
+ const ProgressiveLine = styled.span`
71
+ border-bottom: 1px solid ${({ theme }) => theme.colors.primary.border};
72
+ position: absolute;
73
+ left: 0;
74
+ top: 0;
75
+ bottom: -1px;
76
+ transition: width 500ms ease;
77
+ width: ${({ isFocused }) => isFocused ? 100 : 0}%;
78
+ `;
79
+ const Legends = ({ focused, data, onFocusChange, colors }) => /* @__PURE__ */ jsx(List, { children: data?.map((item, index) => {
80
+ const isSegmentFocused = focused !== void 0 && item.id === focused;
81
+ const id = `chart-legend-${item.id}`;
82
+ return /* @__PURE__ */ jsx(
83
+ Tooltip,
84
+ {
85
+ visible: isSegmentFocused,
86
+ id,
87
+ text: /* @__PURE__ */ jsx(Tooltip$1, { data: item }),
88
+ children: /* @__PURE__ */ jsxs(ListItem, { isFocused: isSegmentFocused, children: [
89
+ /* @__PURE__ */ jsx(
90
+ ToggleBox,
91
+ {
92
+ "data-testid": id,
93
+ onMouseOver: () => onFocusChange(item.id),
94
+ onFocus: () => onFocusChange(item.id),
95
+ onMouseOut: () => onFocusChange(),
96
+ onBlur: () => onFocusChange()
97
+ }
98
+ ),
99
+ /* @__PURE__ */ jsx(
100
+ Bullet,
101
+ {
102
+ color: colors[index],
103
+ isFocused: isSegmentFocused,
104
+ needPattern: item.needPattern,
105
+ id: `chart-legend-${item.id}`
106
+ }
107
+ ),
108
+ /* @__PURE__ */ jsxs(Label, { children: [
109
+ /* @__PURE__ */ jsx(Text, { isFocused: isSegmentFocused, children: item.name }),
110
+ /* @__PURE__ */ jsx(Line, { children: /* @__PURE__ */ jsx(ProgressiveLine, { isFocused: isSegmentFocused }) })
111
+ ] }),
112
+ /* @__PURE__ */ jsx(Value, { isFocused: isSegmentFocused, children: item.value })
113
+ ] })
114
+ },
115
+ item.id
116
+ );
117
+ }) });
118
+ export {
119
+ Legends as default
120
+ };
@@ -0,0 +1,12 @@
1
+ type TooltipProps = {
2
+ data: {
3
+ name?: string | null;
4
+ value?: string | null;
5
+ details?: {
6
+ name?: string | null;
7
+ value?: string | null;
8
+ }[] | null;
9
+ };
10
+ };
11
+ declare const Tooltip: ({ data }: TooltipProps) => import("@emotion/react/jsx-runtime").JSX.Element;
12
+ export default Tooltip;
@@ -0,0 +1,29 @@
1
+ import { jsx, jsxs } from "@emotion/react/jsx-runtime";
2
+ import styled from "@emotion/styled";
3
+ import { Text } from "../Text/index.js";
4
+ const StyledList = styled.ul`
5
+ padding: 0 8px 8px 8px;
6
+ margin: 0;
7
+ width: 100%;
8
+ `;
9
+ const StyledItem = styled.li`
10
+ display: flex;
11
+ margin-top: 6px;
12
+ width: 100%;
13
+ justify-content: space-between;
14
+ text-align: left;
15
+ gap: 8px;
16
+ `;
17
+ const Tooltip = ({ data }) => /* @__PURE__ */ jsx("div", { tabIndex: -1, role: "tooltip", children: /* @__PURE__ */ jsxs(StyledList, { children: [
18
+ /* @__PURE__ */ jsxs(StyledItem, { children: [
19
+ /* @__PURE__ */ jsx(Text, { as: "p", variant: "body", prominence: "stronger", children: data.name }),
20
+ /* @__PURE__ */ jsx(Text, { as: "p", variant: "body", prominence: "stronger", children: data.value })
21
+ ] }),
22
+ data.details?.map((detail) => /* @__PURE__ */ jsxs(StyledItem, { children: [
23
+ /* @__PURE__ */ jsx(Text, { as: "p", variant: "bodySmall", prominence: "stronger", children: detail.name }),
24
+ /* @__PURE__ */ jsx(Text, { as: "p", variant: "bodySmall", prominence: "stronger", children: detail.value })
25
+ ] }, detail.name))
26
+ ] }) });
27
+ export {
28
+ Tooltip as default
29
+ };
@@ -0,0 +1,20 @@
1
+ import type { Box } from '@nivo/core';
2
+ import type { ReactNode } from 'react';
3
+ import type { Data } from './types';
4
+ type PieChartProps = {
5
+ chartProps?: Record<string, unknown>;
6
+ data?: Data[];
7
+ height?: number;
8
+ width?: number;
9
+ emptyLegend?: string;
10
+ content?: ReactNode;
11
+ withLegend?: boolean;
12
+ margin?: Box;
13
+ };
14
+ /**
15
+ * PieChart component is a wrapper around the Nivo Pie component to display a pie chart.
16
+ * See https://nivo.rocks/pie/ for more information.
17
+ * @experimental This component is experimental and may be subject to breaking changes in the future.
18
+ */
19
+ export declare const PieChart: ({ height, width, data, emptyLegend, content, withLegend, margin, chartProps, }: PieChartProps) => import("@emotion/react/jsx-runtime").JSX.Element;
20
+ export {};
@@ -0,0 +1,120 @@
1
+ import { jsx, jsxs } from "@emotion/react/jsx-runtime";
2
+ import { useTheme } from "@emotion/react";
3
+ import styled from "@emotion/styled";
4
+ import { Pie } from "@nivo/pie";
5
+ import { useState, useCallback } from "react";
6
+ import { getLegendColor } from "../../helpers/legend.js";
7
+ import { Text } from "../Text/index.js";
8
+ import Legends from "./Legends.js";
9
+ const Container = styled.div`
10
+ display: flex;
11
+ align-items: center;
12
+ height: ${({ height }) => `${height}px`};
13
+ `;
14
+ const EmptyLegend = styled.div`
15
+ display: flex;
16
+ align-items: center;
17
+ margin-left: 20px;
18
+ `;
19
+ const StyledContent = styled.div`
20
+ display: inline-block;
21
+ position: absolute;
22
+ bottom: 0;
23
+ left: 0;
24
+ right: 0;
25
+ top: 0;
26
+
27
+ font-size: 25px;
28
+ line-height: 100px;
29
+ height: 100px;
30
+ width: 100px;
31
+ margin: auto;
32
+ text-align: center;
33
+ vertical-align: middle;
34
+ `;
35
+ const DEFAULT_CHARTPROPS = {};
36
+ const DEFAULT_MARGIN = { bottom: 10, left: 10, right: 10, top: 10 };
37
+ const PieChart = ({
38
+ height = 206,
39
+ width = 206,
40
+ data = void 0,
41
+ emptyLegend,
42
+ content,
43
+ withLegend = false,
44
+ margin = DEFAULT_MARGIN,
45
+ chartProps = DEFAULT_CHARTPROPS
46
+ }) => {
47
+ const theme = useTheme();
48
+ const [currentFocusIndex, setCurrentFocusIndex] = useState();
49
+ const emptyTooltip = useCallback(() => /* @__PURE__ */ jsx("span", {}), []);
50
+ const isEmpty = !data || data.length === 0;
51
+ const EmptyLegendDisplayed = useCallback(
52
+ () => emptyLegend ? /* @__PURE__ */ jsx(EmptyLegend, { children: /* @__PURE__ */ jsx(Text, { variant: "body", as: "p", children: emptyLegend }) }) : null,
53
+ [emptyLegend]
54
+ );
55
+ const localColors = getLegendColor(theme);
56
+ const LegendDisplayer = useCallback(
57
+ () => isEmpty ? /* @__PURE__ */ jsx(EmptyLegendDisplayed, {}) : /* @__PURE__ */ jsx(
58
+ Legends,
59
+ {
60
+ focused: currentFocusIndex,
61
+ data,
62
+ onFocusChange: setCurrentFocusIndex,
63
+ colors: localColors
64
+ }
65
+ ),
66
+ [isEmpty, currentFocusIndex, data, EmptyLegendDisplayed, localColors]
67
+ );
68
+ return /* @__PURE__ */ jsxs(Container, { height, children: [
69
+ /* @__PURE__ */ jsxs("div", { style: { position: "relative" }, children: [
70
+ /* @__PURE__ */ jsx(
71
+ Pie,
72
+ {
73
+ colors: localColors,
74
+ height,
75
+ width,
76
+ value: "percent",
77
+ enableArcLabels: false,
78
+ enableArcLinkLabels: false,
79
+ data: !isEmpty ? data : [
80
+ {
81
+ id: "empty",
82
+ percent: 100
83
+ }
84
+ ],
85
+ defs: [
86
+ {
87
+ background: "inherit",
88
+ color: theme.colors.neutral.textStrong,
89
+ id: "lines",
90
+ lineWidth: 2,
91
+ rotation: 0,
92
+ spacing: 5,
93
+ type: "patternLines"
94
+ }
95
+ ],
96
+ margin,
97
+ innerRadius: 0.8,
98
+ cornerRadius: 0,
99
+ padAngle: 1,
100
+ activeOuterRadiusOffset: !isEmpty ? 4 : 0,
101
+ tooltip: emptyTooltip,
102
+ onMouseEnter: (datum, event) => {
103
+ if (!isEmpty) {
104
+ const pie = event.currentTarget;
105
+ pie.style.cursor = "pointer";
106
+ setCurrentFocusIndex(datum.id.toString());
107
+ }
108
+ },
109
+ onMouseLeave: () => setCurrentFocusIndex(void 0),
110
+ ...chartProps
111
+ }
112
+ ),
113
+ content ? /* @__PURE__ */ jsx(StyledContent, { children: content }) : null
114
+ ] }),
115
+ withLegend ? /* @__PURE__ */ jsx(LegendDisplayer, {}) : null
116
+ ] });
117
+ };
118
+ export {
119
+ PieChart
120
+ };
@@ -0,0 +1,7 @@
1
+ export type Data = {
2
+ name?: string | null;
3
+ needPattern?: boolean | null;
4
+ percent: number;
5
+ id: string;
6
+ value?: string | null;
7
+ };
@@ -0,0 +1,55 @@
1
+ import type { ReactNode, Ref } from 'react';
2
+ type SentimentType = 'neutral' | 'primary';
3
+ /**
4
+ * Popover component is used to display additional information or actions on top of the main content of the page.
5
+ * It is usually triggered by clicking on a button. It includes a title, a close button and a content area.
6
+ */
7
+ export declare const Popover: import("react").ForwardRefExoticComponent<{
8
+ children: ReactNode;
9
+ content: ReactNode;
10
+ title: string;
11
+ sentiment?: SentimentType | undefined;
12
+ visible?: boolean | undefined;
13
+ size?: "large" | "small" | "medium" | undefined;
14
+ onClose?: (() => void) | undefined;
15
+ className?: string | undefined;
16
+ 'data-testid'?: string | undefined;
17
+ maxWidth?: string | undefined;
18
+ maxHeight?: string | undefined;
19
+ /**
20
+ * By default, the portal target is children container or document.body if children is a function. You can override this
21
+ * behavior by setting a portalTarget prop.
22
+ */
23
+ portalTarget?: HTMLElement | undefined;
24
+ } & Pick<{
25
+ id?: string | undefined;
26
+ children: ReactNode | ((renderProps: {
27
+ className?: string | undefined;
28
+ onBlur: () => void;
29
+ onFocus: () => void;
30
+ onPointerEnter: () => void;
31
+ onPointerLeave: () => void;
32
+ ref: import("react").RefObject<HTMLDivElement>;
33
+ }) => ReactNode);
34
+ maxWidth?: string | number | undefined;
35
+ placement?: import("../Popup/helpers").PopupPlacement | undefined;
36
+ text?: ReactNode;
37
+ className?: string | undefined;
38
+ containerFullWidth?: boolean | undefined;
39
+ visible?: boolean | undefined;
40
+ innerRef?: Ref<HTMLDivElement | null> | undefined;
41
+ role?: string | undefined;
42
+ 'data-testid'?: string | undefined;
43
+ hasArrow?: boolean | undefined;
44
+ onClose?: (() => void) | undefined;
45
+ tabIndex?: number | undefined;
46
+ onKeyDown?: import("react").KeyboardEventHandler | undefined;
47
+ 'aria-haspopup'?: boolean | "menu" | "dialog" | "grid" | "listbox" | "tree" | "false" | "true" | undefined;
48
+ hideOnClickOutside?: boolean | undefined;
49
+ debounceDelay?: number | undefined;
50
+ maxHeight?: string | number | undefined;
51
+ disableAnimation?: boolean | undefined;
52
+ portalTarget?: HTMLElement | undefined;
53
+ dynamicDomRendering?: boolean | undefined;
54
+ } & import("react").RefAttributes<HTMLDivElement>, "placement" | "dynamicDomRendering"> & import("react").RefAttributes<HTMLDivElement>>;
55
+ export {};
@@ -0,0 +1,149 @@
1
+ import { jsx, jsxs } from "@emotion/react/jsx-runtime";
2
+ import styled from "@emotion/styled";
3
+ import { forwardRef, useRef, useState, useEffect, useCallback } from "react";
4
+ import { Button } from "../Button/index.js";
5
+ import { Popup } from "../Popup/index.js";
6
+ import { Stack } from "../Stack/index.js";
7
+ import { Text } from "../Text/index.js";
8
+ const SIZES_WIDTH = {
9
+ small: 320,
10
+ medium: 420,
11
+ large: 520
12
+ };
13
+ const StyledPopup = styled(Popup, {
14
+ shouldForwardProp: (prop) => !["sentiment", "size"].includes(prop)
15
+ })`
16
+ padding: ${({ theme }) => theme.space["2"]};
17
+ width: ${({ size }) => SIZES_WIDTH[size]}px;
18
+ max-width: ${({ size }) => SIZES_WIDTH[size]}px;
19
+ text-align: initial;
20
+
21
+ ${({ theme, sentiment }) => {
22
+ if (sentiment === "neutral") {
23
+ return `
24
+ background: ${theme.colors.neutral.background};
25
+ box-shadow: ${theme.shadows.popover};
26
+ &[data-has-arrow='true'] {
27
+ &::after {
28
+ border-color: ${theme.colors.neutral.background} transparent transparent transparent;
29
+ }
30
+ }
31
+ `;
32
+ }
33
+ return `
34
+ background: ${theme.colors.primary.backgroundStrong};
35
+ box-shadow: ${theme.shadows.popover};
36
+ &[data-has-arrow='true'] {
37
+ &::after {
38
+ border-color: ${theme.colors.primary.backgroundStrong} transparent transparent transparent;
39
+ }
40
+ }
41
+ `;
42
+ }}
43
+ `;
44
+ const StyledStack = styled(Stack)`
45
+ color: ${({ theme }) => theme.colors.neutral.text};
46
+ `;
47
+ const ContentWrapper = ({
48
+ title,
49
+ onClose,
50
+ children,
51
+ sentiment
52
+ }) => /* @__PURE__ */ jsxs(StyledStack, { gap: 1, children: [
53
+ /* @__PURE__ */ jsxs(Stack, { direction: "row", justifyContent: "space-between", children: [
54
+ /* @__PURE__ */ jsx(
55
+ Text,
56
+ {
57
+ variant: "bodyStrong",
58
+ as: "h3",
59
+ sentiment: "neutral",
60
+ prominence: sentiment === "neutral" ? "strong" : "stronger",
61
+ children: title
62
+ }
63
+ ),
64
+ /* @__PURE__ */ jsx(
65
+ Button,
66
+ {
67
+ variant: sentiment === "neutral" ? "ghost" : "filled",
68
+ sentiment: sentiment === "neutral" ? "neutral" : "primary",
69
+ onClick: onClose,
70
+ size: "small",
71
+ icon: "close",
72
+ "aria-label": "close"
73
+ }
74
+ )
75
+ ] }),
76
+ typeof children === "string" ? /* @__PURE__ */ jsx(
77
+ Text,
78
+ {
79
+ variant: "bodySmall",
80
+ as: "p",
81
+ sentiment: "neutral",
82
+ prominence: sentiment === "neutral" ? "strong" : "stronger",
83
+ children
84
+ }
85
+ ) : children
86
+ ] });
87
+ const Popover = forwardRef(
88
+ ({
89
+ visible = false,
90
+ children,
91
+ placement,
92
+ content,
93
+ title,
94
+ sentiment = "neutral",
95
+ size = "medium",
96
+ onClose,
97
+ className,
98
+ maxWidth,
99
+ maxHeight,
100
+ "data-testid": dataTestId,
101
+ portalTarget,
102
+ dynamicDomRendering
103
+ }, ref) => {
104
+ const innerRef = useRef(null);
105
+ const [localVisible, setLocalVisible] = useState(visible);
106
+ useEffect(() => {
107
+ setLocalVisible(visible);
108
+ }, [visible]);
109
+ const localOnClose = useCallback(() => {
110
+ setLocalVisible(false);
111
+ onClose?.();
112
+ }, [onClose]);
113
+ return /* @__PURE__ */ jsx(
114
+ StyledPopup,
115
+ {
116
+ hideOnClickOutside: true,
117
+ debounceDelay: 0,
118
+ visible: localVisible,
119
+ placement,
120
+ text: /* @__PURE__ */ jsx(
121
+ ContentWrapper,
122
+ {
123
+ title,
124
+ onClose: localOnClose,
125
+ sentiment,
126
+ children: content
127
+ }
128
+ ),
129
+ className,
130
+ sentiment,
131
+ "data-testid": dataTestId,
132
+ size,
133
+ role: "dialog",
134
+ ref,
135
+ tabIndex: -1,
136
+ innerRef,
137
+ onClose: localOnClose,
138
+ maxWidth,
139
+ maxHeight,
140
+ portalTarget,
141
+ dynamicDomRendering,
142
+ children
143
+ }
144
+ );
145
+ }
146
+ );
147
+ export {
148
+ Popover
149
+ };
@@ -0,0 +1,11 @@
1
+ export type PositionsType = {
2
+ arrowLeft: number;
3
+ arrowTop: number;
4
+ arrowTransform: string;
5
+ placement: string;
6
+ rotate: number;
7
+ popupInitialPosition: string;
8
+ popupPosition: string;
9
+ };
10
+ export declare const animation: (positions: PositionsType) => import("@emotion/react").Keyframes;
11
+ export declare const exitAnimation: (positions: PositionsType) => import("@emotion/react").Keyframes;
@@ -1,6 +1,5 @@
1
- import { keyframes } from '@emotion/react';
2
-
3
- const animation = positions => keyframes`
1
+ import { keyframes } from "@emotion/react";
2
+ const animation = (positions) => keyframes`
4
3
  0% {
5
4
  opacity: 0;
6
5
  transform: ${positions.popupInitialPosition};
@@ -10,7 +9,7 @@ const animation = positions => keyframes`
10
9
  transform: ${positions.popupPosition};
11
10
  }
12
11
  `;
13
- const exitAnimation = positions => keyframes`
12
+ const exitAnimation = (positions) => keyframes`
14
13
  0% {
15
14
  opacity: 1;
16
15
  transform: ${positions.popupPosition};
@@ -20,5 +19,7 @@ const exitAnimation = positions => keyframes`
20
19
  transform: ${positions.popupInitialPosition};
21
20
  }
22
21
  `;
23
-
24
- export { animation, exitAnimation };
22
+ export {
23
+ animation,
24
+ exitAnimation
25
+ };