@ultraviolet/ui 1.51.1 → 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 -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 +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 +17 -7
  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 -118
  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 -146
  371. package/dist/src/components/Popup/helpers.js +0 -252
  372. package/dist/src/components/Popup/index.js +0 -383
  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 -122
  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,316 @@
1
+ import { jsxs, jsx } from "@emotion/react/jsx-runtime";
2
+ import styled from "@emotion/styled";
3
+ import { Icon } from "@ultraviolet/icons";
4
+ import { useState, useId, useEffect, useRef, useMemo } from "react";
5
+ import { Button } from "../Button/index.js";
6
+ import { Stack } from "../Stack/index.js";
7
+ import { Tag } from "../Tag/index.js";
8
+ import { Text } from "../Text/index.js";
9
+ import { Tooltip } from "../Tooltip/index.js";
10
+ import { getUUID } from "../../utils/ids.js";
11
+ const TAGINPUT_SIZE_PADDING = {
12
+ large: "1.5",
13
+ medium: "1",
14
+ small: "0.5"
15
+ };
16
+ const STATUS = {
17
+ IDLE: "idle",
18
+ LOADING: "loading"
19
+ };
20
+ const TagInputContainer = styled("div", {
21
+ shouldForwardProp: (prop) => !["size"].includes(prop)
22
+ })`
23
+ display: flex;
24
+ gap: ${({ theme }) => theme.space["1"]};
25
+ background-color: ${({ theme: { colors } }) => colors.neutral.background};
26
+
27
+ padding: ${({ theme, size }) => `calc(${theme.space[TAGINPUT_SIZE_PADDING[size]]} - 1px) ${theme.space["2"]}`};
28
+ cursor: text;
29
+
30
+ background: ${({ theme }) => theme.colors.neutral.background};
31
+ border: 1px solid ${({ theme }) => theme.colors.neutral.border};
32
+ border-radius: ${({ theme }) => theme.radii.default};
33
+
34
+ &:focus-within {
35
+ border-color: ${({ theme }) => theme.colors.primary.borderHover};
36
+ box-shadow: ${({ theme }) => theme.shadows.focusPrimary};
37
+ }
38
+
39
+ &[data-success='true'] {
40
+ border-color: ${({ theme }) => theme.colors.success.border};
41
+ }
42
+
43
+ &[data-error='true'] {
44
+ border-color: ${({ theme }) => theme.colors.danger.border};
45
+ }
46
+
47
+ &:hover {
48
+ border-color: ${({ theme }) => theme.colors.primary.borderHover};
49
+ }
50
+
51
+ &[data-readonly='true'] {
52
+ border-color: ${({ theme }) => theme.colors.neutral.border};
53
+ background: ${({ theme }) => theme.colors.neutral.backgroundWeak};
54
+ }
55
+
56
+ &[data-disabled='true'] {
57
+ border-color: ${({ theme }) => theme.colors.neutral.borderDisabled};
58
+ background: ${({ theme }) => theme.colors.neutral.backgroundDisabled};
59
+ cursor: not-allowed;
60
+ }
61
+ `;
62
+ const DataContainer = styled("div")`
63
+ height: 100%;
64
+ display: flex;
65
+ flex-wrap: wrap;
66
+ align-items: center;
67
+ gap: ${({ theme }) => theme.space["1"]};
68
+ flex: 1;
69
+ `;
70
+ const StateContainer = styled("div")`
71
+ display: flex;
72
+ align-items: center;
73
+ gap: ${({ theme }) => theme.space["1"]};
74
+ `;
75
+ const StyledInput = styled.input`
76
+ display: flex;
77
+ flex: 1;
78
+ font-size: ${({ theme }) => theme.typography.body.fontSize};
79
+ background: inherit;
80
+ color: ${({ theme: { colors } }) => colors.neutral.text};
81
+ border: none;
82
+ outline: none;
83
+ &::placeholder {
84
+ color: ${({ theme: { colors } }) => colors.neutral.textWeak};
85
+ }
86
+ height: 100%;
87
+ `;
88
+ const convertTagArrayToTagStateArray = (tags) => (tags || [])?.map(
89
+ (tag, index) => typeof tag === "object" ? { ...tag, index: getUUID(`tag-${index}`) } : { index: getUUID(`tag-${index}`), label: tag }
90
+ );
91
+ const TagInput = ({
92
+ disabled = false,
93
+ id,
94
+ name,
95
+ onChange,
96
+ placeholder,
97
+ tags,
98
+ value,
99
+ className,
100
+ "data-testid": dataTestId,
101
+ label,
102
+ labelDescription,
103
+ required = false,
104
+ size = "large",
105
+ error,
106
+ success,
107
+ helper,
108
+ readOnly = false,
109
+ tooltip,
110
+ clearable = false
111
+ }) => {
112
+ const tagsProp = value ?? tags;
113
+ const [tagInputState, setTagInput] = useState(
114
+ convertTagArrayToTagStateArray(tagsProp ?? [])
115
+ );
116
+ const [input, setInput] = useState("");
117
+ const [status, setStatus] = useState({});
118
+ const uniqueId = useId();
119
+ const localId = id ?? uniqueId;
120
+ useEffect(() => {
121
+ setTagInput(convertTagArrayToTagStateArray(tagsProp));
122
+ }, [tagsProp, setTagInput]);
123
+ const inputRef = useRef(null);
124
+ const dispatchOnChange = (newState) => {
125
+ const changes = newState.map(
126
+ (tag) => typeof tag === "object" ? tag?.label : tag
127
+ );
128
+ onChange?.(changes);
129
+ };
130
+ const handleContainerClick = () => {
131
+ if (inputRef.current) {
132
+ inputRef?.current?.focus();
133
+ }
134
+ };
135
+ const onInputChange = (e) => setInput(e.target.value);
136
+ const addTag = () => {
137
+ const newTagInput = input ? [...tagInputState, { index: getUUID("tag"), label: input }] : tagInputState;
138
+ setInput("");
139
+ setTagInput(newTagInput);
140
+ if (newTagInput.length !== tagInputState.length) {
141
+ setStatus({ [newTagInput[newTagInput.length - 1].index]: STATUS.LOADING });
142
+ }
143
+ try {
144
+ dispatchOnChange(newTagInput);
145
+ setStatus({ [newTagInput[newTagInput.length - 1].index]: STATUS.IDLE });
146
+ } catch (e) {
147
+ setTagInput(tagInputState);
148
+ }
149
+ };
150
+ const deleteTag = (tagIndex) => {
151
+ setStatus({ [tagIndex]: STATUS.LOADING });
152
+ const findIndex = tagInputState.findIndex(({ index }) => index === tagIndex);
153
+ const newTagInput = [...tagInputState];
154
+ newTagInput.splice(findIndex, 1);
155
+ try {
156
+ dispatchOnChange(newTagInput);
157
+ setTagInput(newTagInput);
158
+ setStatus({ [tagIndex]: STATUS.IDLE });
159
+ } catch (e) {
160
+ setTagInput(tagInputState);
161
+ }
162
+ };
163
+ const handleInputKeydown = (event) => {
164
+ if (event.key === " " || event.key === "Enter") {
165
+ addTag();
166
+ event.preventDefault();
167
+ }
168
+ if (event.key === "Backspace" && inputRef?.current?.selectionStart === 0 && tagInputState.length) {
169
+ event.preventDefault();
170
+ deleteTag(tagInputState[tagInputState.length - 1].index);
171
+ }
172
+ };
173
+ const handlePaste = (e) => {
174
+ e.preventDefault();
175
+ const newTagInput = [
176
+ ...tagInputState,
177
+ { index: getUUID("tag"), label: e?.clipboardData?.getData("Text") }
178
+ ];
179
+ setTagInput(newTagInput);
180
+ setStatus({ [newTagInput.length - 1]: STATUS.LOADING });
181
+ try {
182
+ dispatchOnChange(newTagInput);
183
+ setStatus({ [newTagInput.length - 1]: STATUS.IDLE });
184
+ } catch (err) {
185
+ setTagInput(tagInputState);
186
+ }
187
+ };
188
+ const clearAll = () => {
189
+ setInput("");
190
+ setTagInput([]);
191
+ dispatchOnChange([]);
192
+ };
193
+ const helperSentiment = useMemo(() => {
194
+ if (error) {
195
+ return "danger";
196
+ }
197
+ if (success) {
198
+ return "success";
199
+ }
200
+ return "neutral";
201
+ }, [error, success]);
202
+ const computedClearable = clearable && !!tagInputState.length;
203
+ return /* @__PURE__ */ jsxs(Stack, { gap: "0.5", className, children: [
204
+ label || labelDescription ? /* @__PURE__ */ jsxs(Stack, { direction: "row", gap: "1", alignItems: "center", children: [
205
+ label ? /* @__PURE__ */ jsxs(Stack, { direction: "row", gap: "0.5", alignItems: "start", children: [
206
+ /* @__PURE__ */ jsx(
207
+ Text,
208
+ {
209
+ as: "label",
210
+ variant: "bodyStrong",
211
+ sentiment: "neutral",
212
+ htmlFor: id ?? localId,
213
+ children: label
214
+ }
215
+ ),
216
+ required ? /* @__PURE__ */ jsx(Icon, { name: "asterisk", color: "danger", size: 8 }) : null
217
+ ] }) : null,
218
+ labelDescription ?? null
219
+ ] }) : null,
220
+ /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(Tooltip, { text: tooltip, children: /* @__PURE__ */ jsxs(
221
+ TagInputContainer,
222
+ {
223
+ onClick: handleContainerClick,
224
+ className,
225
+ "data-testid": dataTestId,
226
+ size,
227
+ "data-disabled": disabled,
228
+ "data-readonly": readOnly,
229
+ "data-error": !!error,
230
+ "data-success": !!success,
231
+ children: [
232
+ /* @__PURE__ */ jsxs(DataContainer, { children: [
233
+ tagInputState.map((tag) => /* @__PURE__ */ jsx(
234
+ Tag,
235
+ {
236
+ sentiment: "neutral",
237
+ disabled,
238
+ isLoading: status[tag.index] === STATUS.LOADING,
239
+ onClose: !readOnly ? (e) => {
240
+ e.stopPropagation();
241
+ deleteTag(tag.index);
242
+ } : void 0,
243
+ children: tag.label
244
+ },
245
+ tag.index
246
+ )),
247
+ !disabled ? /* @__PURE__ */ jsx(
248
+ StyledInput,
249
+ {
250
+ id: localId,
251
+ name,
252
+ "aria-label": name,
253
+ type: "text",
254
+ placeholder: !tagInputState.length ? placeholder : "",
255
+ value: input,
256
+ onBlur: addTag,
257
+ onChange: onInputChange,
258
+ onKeyDown: handleInputKeydown,
259
+ onPaste: handlePaste,
260
+ ref: inputRef,
261
+ readOnly
262
+ }
263
+ ) : null
264
+ ] }),
265
+ computedClearable || success || error ? /* @__PURE__ */ jsxs(StateContainer, { children: [
266
+ computedClearable ? /* @__PURE__ */ jsx(
267
+ Button,
268
+ {
269
+ "aria-label": "clear value",
270
+ disabled,
271
+ variant: "ghost",
272
+ size: "xsmall",
273
+ icon: "close",
274
+ onClick: clearAll,
275
+ sentiment: "neutral"
276
+ }
277
+ ) : null,
278
+ success ? /* @__PURE__ */ jsx(
279
+ Icon,
280
+ {
281
+ name: "checkbox-circle-outline",
282
+ color: "success",
283
+ size: 16,
284
+ disabled
285
+ }
286
+ ) : null,
287
+ error ? /* @__PURE__ */ jsx(
288
+ Icon,
289
+ {
290
+ name: "alert",
291
+ color: "danger",
292
+ size: 16,
293
+ disabled
294
+ }
295
+ ) : null
296
+ ] }) : null
297
+ ]
298
+ }
299
+ ) }) }),
300
+ error || typeof success === "string" || helper ? /* @__PURE__ */ jsx(
301
+ Text,
302
+ {
303
+ variant: "caption",
304
+ as: "span",
305
+ prominence: !error && !success ? "weak" : void 0,
306
+ sentiment: helperSentiment,
307
+ disabled: disabled || readOnly,
308
+ children: error || success || helper
309
+ }
310
+ ) : null
311
+ ] });
312
+ };
313
+ export {
314
+ TAGINPUT_SIZE_PADDING,
315
+ TagInput
316
+ };
@@ -0,0 +1,37 @@
1
+ import type { ComponentProps } from 'react';
2
+ import { Popover } from '../Popover';
3
+ import { Tag } from '../Tag';
4
+ type TagListProps = {
5
+ /**
6
+ * This property define maximum characters length of all tags until it hide tags into tooltip.
7
+ */
8
+ maxLength?: number;
9
+ tags?: (string | {
10
+ label: string;
11
+ icon: NonNullable<ComponentProps<typeof Tag>['icon']>;
12
+ })[];
13
+ /**
14
+ * This property define maximum characters length of all tags until it hide tags into tooltip.
15
+ */
16
+ threshold?: number;
17
+ /**
18
+ * This property define maximum width of each tag. This doesn't apply for tags in tooltip.
19
+ */
20
+ multiline?: boolean;
21
+ /**
22
+ * This property define the title of the Popover, when some tags are hidden because of the threshold.
23
+ */
24
+ popoverTitle: string;
25
+ /**
26
+ * The popover will be placed automatically by default. You can also specify the placement of the popover through
27
+ * this property.
28
+ */
29
+ popoverPlacement?: ComponentProps<typeof Popover>['placement'];
30
+ className?: string;
31
+ 'data-testid'?: string;
32
+ } & Pick<ComponentProps<typeof Tag>, 'copiable' | 'copyText' | 'copiedText'>;
33
+ /**
34
+ * This component is used to display a list of tags with a threshold and a popover when there are too many tags.
35
+ */
36
+ export declare const TagList: ({ maxLength, tags, threshold, multiline, popoverTitle, popoverPlacement, copiable, copyText, copiedText, className, "data-testid": dataTestId, }: TagListProps) => import("@emotion/react/jsx-runtime").JSX.Element | null;
37
+ export {};
@@ -0,0 +1,103 @@
1
+ import { jsxs, jsx } from "@emotion/react/jsx-runtime";
2
+ import styled from "@emotion/styled";
3
+ import { useState } from "react";
4
+ import { Popover } from "../Popover/index.js";
5
+ import { Tag } from "../Tag/index.js";
6
+ const StyledContainer = styled.div`
7
+ display: flex;
8
+ `;
9
+ const TagsWrapper = styled.span`
10
+ cursor: pointer;
11
+ color: ${({ theme }) => theme.colors.primary.text};
12
+ border: none;
13
+ font-size: 14px;
14
+ align-self: center;
15
+ max-width: 350px;
16
+ overflow: hidden;
17
+ white-space: pre;
18
+ text-overflow: ellipsis;
19
+ background-color: transparent;
20
+ padding-left: 8px;
21
+ padding-right: 8px;
22
+ `;
23
+ const StyledTagContainer = styled.div`
24
+ display: flex;
25
+ align-items: center;
26
+ color: ${({ theme }) => theme.colors.neutral.text};
27
+ gap: ${({ theme }) => theme.space["1"]};
28
+ ${({ multiline }) => multiline && `flex-wrap: wrap;`};
29
+ `;
30
+ const DEFAULT_TAGS = [];
31
+ const getTagLabel = (tag) => typeof tag === "object" ? tag.label : tag;
32
+ const TagList = ({
33
+ maxLength = 600,
34
+ tags = DEFAULT_TAGS,
35
+ threshold = 1,
36
+ multiline = false,
37
+ popoverTitle,
38
+ popoverPlacement,
39
+ copiable,
40
+ copyText,
41
+ copiedText,
42
+ className,
43
+ "data-testid": dataTestId
44
+ }) => {
45
+ let tmpThreshold = threshold;
46
+ if (tags.length > 0 && tags.slice(0, tmpThreshold).reduce((acc, tag) => acc + getTagLabel(tag), "").length > maxLength) {
47
+ tmpThreshold -= 1;
48
+ }
49
+ const hasManyTags = tags.length > tmpThreshold || false;
50
+ const visibleTagsCount = hasManyTags ? tmpThreshold : tags.length;
51
+ const [isVisible, setIsVisible] = useState(false);
52
+ if (!tags.length) {
53
+ return null;
54
+ }
55
+ return /* @__PURE__ */ jsxs(StyledContainer, { className, "data-testid": dataTestId, children: [
56
+ /* @__PURE__ */ jsx(StyledTagContainer, { multiline, children: tags.slice(0, visibleTagsCount).map((tag, index) => /* @__PURE__ */ jsx(
57
+ Tag,
58
+ {
59
+ copiable,
60
+ copyText,
61
+ copiedText,
62
+ icon: typeof tag === "object" ? tag.icon : void 0,
63
+ children: getTagLabel(tag)
64
+ },
65
+ `${getTagLabel(tag)}-${index}`
66
+ )) }),
67
+ hasManyTags ? /* @__PURE__ */ jsx(
68
+ Popover,
69
+ {
70
+ title: popoverTitle,
71
+ visible: isVisible,
72
+ size: "small",
73
+ onClose: () => setIsVisible(false),
74
+ placement: popoverPlacement,
75
+ content: /* @__PURE__ */ jsx(StyledTagContainer, { multiline: true, children: tags.slice(visibleTagsCount).map((tag, index) => /* @__PURE__ */ jsx(
76
+ Tag,
77
+ {
78
+ copiable,
79
+ copyText,
80
+ copiedText,
81
+ icon: typeof tag === "object" ? tag.icon : void 0,
82
+ children: getTagLabel(tag)
83
+ },
84
+ `${getTagLabel(tag)}-${index}`
85
+ )) }),
86
+ children: /* @__PURE__ */ jsxs(
87
+ TagsWrapper,
88
+ {
89
+ "data-testid": `${dataTestId ?? "taglist"}-open`,
90
+ onClick: () => setIsVisible(true),
91
+ children: [
92
+ "+",
93
+ tags.length - tmpThreshold
94
+ ]
95
+ }
96
+ )
97
+ }
98
+ ) : null
99
+ ] });
100
+ };
101
+ export {
102
+ TagList
103
+ };
@@ -0,0 +1,40 @@
1
+ import type React from 'react';
2
+ import type { ElementType, ReactNode } from 'react';
3
+ import type { Color } from '../../theme';
4
+ import { typography } from '../../theme';
5
+ declare const PROMINENCES: {
6
+ default: string;
7
+ strong: string;
8
+ stronger: string;
9
+ weak: string;
10
+ };
11
+ type ProminenceProps = keyof typeof PROMINENCES;
12
+ type PlacementProps = React.CSSProperties['textAlign'];
13
+ type TextVariant = keyof typeof typography;
14
+ export declare const textVariants: ("body" | "bodySmall" | "bodySmallStrong" | "bodySmallStronger" | "bodyStrong" | "bodyStronger" | "caption" | "captionSmall" | "captionSmallStrong" | "captionSmallStronger" | "captionStrong" | "captionStronger" | "code" | "codeStrong" | "codeStronger" | "heading" | "headingLarge" | "headingLargeStrong" | "headingLargeStronger" | "headingSmall" | "headingSmallStrong" | "headingSmallStronger" | "headingStrong" | "headingStronger")[];
15
+ type TextProps = {
16
+ className?: string;
17
+ children: ReactNode;
18
+ placement?: PlacementProps;
19
+ variant: TextVariant;
20
+ /**
21
+ * @deprecated use `sentiment` property instead
22
+ */
23
+ color?: Color;
24
+ sentiment?: Color;
25
+ prominence?: ProminenceProps;
26
+ as: ElementType;
27
+ oneLine?: boolean;
28
+ disabled?: boolean;
29
+ italic?: boolean;
30
+ underline?: boolean;
31
+ id?: string;
32
+ dir?: 'ltr' | 'rtl' | 'auto';
33
+ htmlFor?: string;
34
+ 'data-testid'?: string;
35
+ };
36
+ /**
37
+ * Text component is used to display text with different variants and sentiments.
38
+ */
39
+ export declare const Text: ({ variant, children, as, color, sentiment, oneLine, placement, prominence, className, disabled, italic, underline, id, dir, htmlFor, "data-testid": dataTestId, }: TextProps) => import("@emotion/react/jsx-runtime").JSX.Element;
40
+ export {};
@@ -0,0 +1,107 @@
1
+ import { jsx } from "@emotion/react/jsx-runtime";
2
+ import styled from "@emotion/styled";
3
+ import { useRef } from "react";
4
+ import recursivelyGetChildrenString from "../../helpers/recursivelyGetChildrenString.js";
5
+ import { useIsOverflowing } from "../../hooks/useIsOverflowing.js";
6
+ import capitalize from "../../utils/capitalize.js";
7
+ import { Tooltip } from "../Tooltip/index.js";
8
+ const PROMINENCES = {
9
+ default: "",
10
+ strong: "strong",
11
+ stronger: "stronger",
12
+ weak: "weak"
13
+ };
14
+ const generateStyles = ({
15
+ placement,
16
+ prominence,
17
+ sentiment,
18
+ variant,
19
+ theme,
20
+ oneLine,
21
+ disabled,
22
+ italic,
23
+ underline
24
+ }) => {
25
+ const definedProminence = sentiment !== "neutral" && prominence === "stronger" ? capitalize(PROMINENCES.default) : capitalize(PROMINENCES[prominence]);
26
+ sentiment ? theme.colors[sentiment] : void 0;
27
+ const text = `text${definedProminence}${disabled ? "Disabled" : ""}`;
28
+ const textColor = sentiment ? theme.colors[sentiment][text] : void 0;
29
+ return `
30
+ ${sentiment ? `color: ${textColor};` : ""}
31
+
32
+ font-size: ${theme.typography[variant].fontSize};
33
+ font-family: ${theme.typography[variant].fontFamily};
34
+ font-weight: ${theme.typography[variant].weight};
35
+ letter-spacing: ${theme.typography[variant].letterSpacing};
36
+ line-height: ${theme.typography[variant].lineHeight};
37
+ text-transform: ${theme.typography[variant].textCase};
38
+ text-decoration: ${theme.typography[variant].textDecoration};
39
+ ${placement ? ` text-align: ${placement};` : ""}
40
+
41
+ ${oneLine ? `white-space: nowrap;
42
+ text-overflow: ellipsis;
43
+ overflow: hidden;` : ""}
44
+ ${italic ? `font-style: italic;` : ""}
45
+ ${underline ? `text-decoration: underline;` : ""}
46
+ `;
47
+ };
48
+ const StyledText = styled("div", {
49
+ shouldForwardProp: (prop) => ![
50
+ "as",
51
+ "placement",
52
+ "variant",
53
+ "sentiment",
54
+ "prominence",
55
+ "oneLine",
56
+ "disabled",
57
+ "italic",
58
+ "underline"
59
+ ].includes(prop)
60
+ })(generateStyles);
61
+ const Text = ({
62
+ variant,
63
+ children,
64
+ as,
65
+ color,
66
+ sentiment,
67
+ oneLine = false,
68
+ placement,
69
+ prominence = "default",
70
+ className,
71
+ disabled = false,
72
+ italic = false,
73
+ underline = false,
74
+ id,
75
+ dir,
76
+ htmlFor,
77
+ "data-testid": dataTestId
78
+ }) => {
79
+ const computedSentiment = sentiment ?? color;
80
+ const elementRef = useRef(null);
81
+ const isOverflowing = useIsOverflowing(elementRef);
82
+ const finalStringChildren = recursivelyGetChildrenString(children);
83
+ return /* @__PURE__ */ jsx(Tooltip, { text: oneLine && isOverflowing ? finalStringChildren : "", children: /* @__PURE__ */ jsx(
84
+ StyledText,
85
+ {
86
+ ref: elementRef,
87
+ as,
88
+ placement,
89
+ prominence,
90
+ sentiment: computedSentiment,
91
+ variant,
92
+ oneLine,
93
+ className,
94
+ disabled,
95
+ italic,
96
+ underline,
97
+ id,
98
+ dir,
99
+ htmlFor,
100
+ "data-testid": dataTestId,
101
+ children
102
+ }
103
+ ) });
104
+ };
105
+ export {
106
+ Text
107
+ };
@@ -0,0 +1,50 @@
1
+ import type { DOMAttributes, ReactNode } from 'react';
2
+ type TextAreaProps = {
3
+ id?: string;
4
+ className?: string;
5
+ tabIndex?: number;
6
+ autoFocus?: boolean;
7
+ label: string;
8
+ value?: string;
9
+ onChange: (newValue: string) => void;
10
+ placeholder?: string;
11
+ /**
12
+ * Override others properties : readyOnly, success, error.
13
+ */
14
+ disabled?: boolean;
15
+ /**
16
+ * Override others properties : success, error.
17
+ * Ignored if following props are provided : disabled.
18
+ */
19
+ readOnly?: boolean;
20
+ /**
21
+ * Override others properties : error, helper.
22
+ * Ignored if following props are provided : disabled, readyOnly.
23
+ */
24
+ success?: string;
25
+ /**
26
+ * Override others properties : helper.
27
+ * Ignored if following props are provided : disabled, readyOnly, success.
28
+ */
29
+ error?: string;
30
+ /**
31
+ * Ignored if following props are provided : readyOnly, success.
32
+ */
33
+ helper?: ReactNode;
34
+ rows?: number;
35
+ minLength?: number;
36
+ maxLength?: number;
37
+ tooltip?: string;
38
+ required?: boolean;
39
+ 'data-testid'?: string;
40
+ name?: string;
41
+ onFocus?: DOMAttributes<HTMLTextAreaElement>['onFocus'];
42
+ onBlur?: DOMAttributes<HTMLTextAreaElement>['onBlur'];
43
+ clearable?: boolean;
44
+ labelDescription?: ReactNode;
45
+ };
46
+ /**
47
+ * This component offers an extended textarea HTML
48
+ */
49
+ export declare const TextArea: import("react").ForwardRefExoticComponent<TextAreaProps & import("react").RefAttributes<HTMLTextAreaElement>>;
50
+ export {};