@ultraviolet/ui 3.0.0-beta.27 → 3.0.0-beta.28

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 (319) hide show
  1. package/dist/components/ActionBar/index.js +19 -7
  2. package/dist/components/Alert/index.d.ts +2 -1
  3. package/dist/components/Alert/index.js +98 -20
  4. package/dist/components/Alert/styles.css.d.ts +10 -1
  5. package/dist/components/Alert/styles.css.js +7 -5
  6. package/dist/components/Avatar/index.d.ts +1 -1
  7. package/dist/components/Avatar/index.js +46 -36
  8. package/dist/components/Badge/index.d.ts +1 -1
  9. package/dist/components/Badge/index.js +19 -8
  10. package/dist/components/Banner/index.d.ts +1 -1
  11. package/dist/components/Banner/index.js +87 -28
  12. package/dist/components/BarChart/Tooltip.d.ts +1 -1
  13. package/dist/components/BarChart/Tooltip.js +23 -10
  14. package/dist/components/BarChart/index.d.ts +1 -1
  15. package/dist/components/BarChart/index.js +51 -31
  16. package/dist/components/BarStack/index.d.ts +1 -1
  17. package/dist/components/BarStack/index.js +64 -19
  18. package/dist/components/Breadcrumbs/components/Item.d.ts +1 -1
  19. package/dist/components/Breadcrumbs/components/Item.js +48 -12
  20. package/dist/components/Breadcrumbs/index.js +11 -2
  21. package/dist/components/Bullet/index.d.ts +1 -1
  22. package/dist/components/Bullet/index.js +10 -7
  23. package/dist/components/Button/index.js +122 -72
  24. package/dist/components/Card/index.js +80 -20
  25. package/dist/components/Carousel/index.d.ts +3 -3
  26. package/dist/components/Carousel/index.js +72 -26
  27. package/dist/components/Checkbox/index.js +139 -43
  28. package/dist/components/CheckboxGroup/index.d.ts +3 -3
  29. package/dist/components/CheckboxGroup/index.js +77 -24
  30. package/dist/components/Chip/ChipIcon.d.ts +1 -1
  31. package/dist/components/Chip/ChipIcon.js +46 -12
  32. package/dist/components/Chip/index.d.ts +3 -3
  33. package/dist/components/Chip/index.js +36 -11
  34. package/dist/components/CopyButton/index.d.ts +1 -1
  35. package/dist/components/CopyButton/index.js +23 -8
  36. package/dist/components/DateInput/components/CalendarContent.d.ts +1 -1
  37. package/dist/components/DateInput/components/CalendarContent.js +61 -26
  38. package/dist/components/DateInput/components/CalendarDaily.d.ts +1 -1
  39. package/dist/components/DateInput/components/CalendarDaily.js +105 -62
  40. package/dist/components/DateInput/components/CalendarMonthly.d.ts +1 -1
  41. package/dist/components/DateInput/components/CalendarMonthly.js +62 -39
  42. package/dist/components/DateInput/components/Popup.d.ts +1 -1
  43. package/dist/components/DateInput/components/Popup.js +27 -4
  44. package/dist/components/DateInput/helpers.js +9 -2
  45. package/dist/components/DateInput/helpersLocale.js +3 -9
  46. package/dist/components/DateInput/index.d.ts +1 -1
  47. package/dist/components/DateInput/index.js +193 -62
  48. package/dist/components/Dialog/Context.js +3 -1
  49. package/dist/components/Dialog/components/Button.d.ts +1 -1
  50. package/dist/components/Dialog/components/Button.js +12 -2
  51. package/dist/components/Dialog/components/Buttons.d.ts +1 -1
  52. package/dist/components/Dialog/components/Buttons.js +1 -1
  53. package/dist/components/Dialog/components/CancelButton.d.ts +1 -1
  54. package/dist/components/Dialog/components/CancelButton.js +12 -2
  55. package/dist/components/Dialog/components/Stack.d.ts +1 -1
  56. package/dist/components/Dialog/components/Stack.js +2 -5
  57. package/dist/components/Dialog/components/Text.d.ts +1 -1
  58. package/dist/components/Dialog/components/Text.js +2 -5
  59. package/dist/components/Dialog/index.d.ts +7 -7
  60. package/dist/components/Dialog/index.js +43 -12
  61. package/dist/components/Drawer/index.d.ts +4 -4
  62. package/dist/components/Drawer/index.js +53 -15
  63. package/dist/components/EmptyState/index.d.ts +1 -1
  64. package/dist/components/EmptyState/index.js +63 -21
  65. package/dist/components/Expandable/index.d.ts +2 -2
  66. package/dist/components/Expandable/index.js +52 -15
  67. package/dist/components/ExpandableCard/components/Title.d.ts +1 -1
  68. package/dist/components/ExpandableCard/components/Title.js +12 -2
  69. package/dist/components/ExpandableCard/index.d.ts +1 -1
  70. package/dist/components/ExpandableCard/index.js +197 -96
  71. package/dist/components/GlobalAlert/GlobalAlertLink.d.ts +1 -1
  72. package/dist/components/GlobalAlert/GlobalAlertLink.js +21 -5
  73. package/dist/components/GlobalAlert/index.d.ts +2 -2
  74. package/dist/components/GlobalAlert/index.js +51 -11
  75. package/dist/components/InfiniteScroll/index.d.ts +1 -1
  76. package/dist/components/InfiniteScroll/index.js +40 -33
  77. package/dist/components/Key/index.d.ts +1 -1
  78. package/dist/components/Key/index.js +29 -8
  79. package/dist/components/Label/index.d.ts +1 -1
  80. package/dist/components/Label/index.js +67 -6
  81. package/dist/components/LineChart/CustomLegend.d.ts +1 -1
  82. package/dist/components/LineChart/CustomLegend.js +69 -45
  83. package/dist/components/LineChart/Tooltip.d.ts +1 -1
  84. package/dist/components/LineChart/Tooltip.js +31 -9
  85. package/dist/components/LineChart/helpers.js +13 -12
  86. package/dist/components/LineChart/index.d.ts +1 -1
  87. package/dist/components/LineChart/index.js +56 -40
  88. package/dist/components/Link/index.js +74 -57
  89. package/dist/components/List/Cell.js +24 -22
  90. package/dist/components/List/ColumnProvider.d.ts +1 -1
  91. package/dist/components/List/ColumnProvider.js +12 -6
  92. package/dist/components/List/HeaderCell.d.ts +1 -1
  93. package/dist/components/List/HeaderCell.js +36 -19
  94. package/dist/components/List/HeaderRow.d.ts +1 -1
  95. package/dist/components/List/HeaderRow.js +14 -12
  96. package/dist/components/List/ListContext.d.ts +1 -1
  97. package/dist/components/List/ListContext.js +128 -78
  98. package/dist/components/List/Row.js +166 -90
  99. package/dist/components/List/SelectBar.d.ts +1 -1
  100. package/dist/components/List/SelectBar.js +20 -10
  101. package/dist/components/List/SkeletonRows.d.ts +1 -1
  102. package/dist/components/List/SkeletonRows.js +26 -16
  103. package/dist/components/List/index.d.ts +1 -1
  104. package/dist/components/List/index.js +60 -22
  105. package/dist/components/Loader/index.d.ts +1 -1
  106. package/dist/components/Loader/index.js +47 -23
  107. package/dist/components/Menu/MenuContent.d.ts +1 -1
  108. package/dist/components/Menu/MenuContent.js +216 -162
  109. package/dist/components/Menu/MenuProvider.d.ts +1 -1
  110. package/dist/components/Menu/MenuProvider.js +26 -13
  111. package/dist/components/Menu/components/Group.d.ts +1 -1
  112. package/dist/components/Menu/components/Group.js +11 -2
  113. package/dist/components/Menu/components/Item.js +144 -82
  114. package/dist/components/Menu/helpers.js +3 -1
  115. package/dist/components/Menu/index.d.ts +2 -2
  116. package/dist/components/Menu/index.js +5 -11
  117. package/dist/components/Menu/types.d.ts +2 -2
  118. package/dist/components/Meter/index.d.ts +1 -1
  119. package/dist/components/Meter/index.js +43 -12
  120. package/dist/components/Modal/ModalContent.d.ts +1 -1
  121. package/dist/components/Modal/ModalContent.js +41 -11
  122. package/dist/components/Modal/ModalProvider.d.ts +1 -1
  123. package/dist/components/Modal/ModalProvider.js +14 -11
  124. package/dist/components/Modal/components/Dialog.js +91 -47
  125. package/dist/components/Modal/index.d.ts +1 -1
  126. package/dist/components/Modal/index.js +60 -3
  127. package/dist/components/Notice/index.d.ts +1 -1
  128. package/dist/components/Notice/index.js +24 -5
  129. package/dist/components/Notification/Notification.js +12 -2
  130. package/dist/components/Notification/NotificationContainer.d.ts +1 -1
  131. package/dist/components/Notification/NotificationContainer.js +18 -2
  132. package/dist/components/NumberInput/index.d.ts +1 -1
  133. package/dist/components/NumberInput/index.js +239 -130
  134. package/dist/components/Pagination/PaginationButtons.d.ts +1 -1
  135. package/dist/components/Pagination/PaginationButtons.js +75 -10
  136. package/dist/components/Pagination/PerPage.d.ts +1 -1
  137. package/dist/components/Pagination/PerPage.js +32 -17
  138. package/dist/components/Pagination/getPageNumbers.js +12 -13
  139. package/dist/components/Pagination/index.d.ts +1 -1
  140. package/dist/components/Pagination/index.js +26 -3
  141. package/dist/components/PasswordCheck/index.d.ts +1 -1
  142. package/dist/components/PasswordCheck/index.js +27 -5
  143. package/dist/components/PieChart/Legends.d.ts +1 -1
  144. package/dist/components/PieChart/Legends.js +52 -20
  145. package/dist/components/PieChart/Tooltip.d.ts +1 -1
  146. package/dist/components/PieChart/Tooltip.js +2 -4
  147. package/dist/components/PieChart/index.d.ts +1 -1
  148. package/dist/components/PieChart/index.js +80 -40
  149. package/dist/components/Popover/index.js +104 -46
  150. package/dist/components/Popup/helpers.d.ts +5 -1
  151. package/dist/components/Popup/helpers.js +49 -35
  152. package/dist/components/Popup/index.js +344 -254
  153. package/dist/components/Popup/styles.css.js +0 -1
  154. package/dist/components/Popup/variables.css.js +1 -0
  155. package/dist/components/ProgressBar/index.d.ts +1 -1
  156. package/dist/components/ProgressBar/index.js +74 -20
  157. package/dist/components/ProgressBar/styles.css.js +1 -0
  158. package/dist/components/ProgressBar/variables.css.js +0 -1
  159. package/dist/components/Radio/index.js +83 -51
  160. package/dist/components/RadioGroup/index.d.ts +2 -2
  161. package/dist/components/RadioGroup/index.js +74 -20
  162. package/dist/components/Row/index.d.ts +1 -1
  163. package/dist/components/Row/index.js +38 -27
  164. package/dist/components/SearchInput/KeyGroup.d.ts +1 -1
  165. package/dist/components/SearchInput/KeyGroup.js +2 -6
  166. package/dist/components/SearchInput/index.js +232 -164
  167. package/dist/components/SelectInput/SelectInputProvider.d.ts +1 -1
  168. package/dist/components/SelectInput/SelectInputProvider.js +91 -55
  169. package/dist/components/SelectInput/components/Dropdown.d.ts +1 -1
  170. package/dist/components/SelectInput/components/Dropdown.js +408 -95
  171. package/dist/components/SelectInput/components/DropdownOption.d.ts +1 -1
  172. package/dist/components/SelectInput/components/DropdownOption.js +176 -27
  173. package/dist/components/SelectInput/components/SearchBarDropdown.d.ts +1 -1
  174. package/dist/components/SelectInput/components/SearchBarDropdown.js +40 -14
  175. package/dist/components/SelectInput/components/SelectBar.d.ts +1 -1
  176. package/dist/components/SelectInput/components/SelectBar.js +252 -97
  177. package/dist/components/SelectInput/index.d.ts +1 -1
  178. package/dist/components/SelectInput/index.js +102 -10
  179. package/dist/components/SelectableCard/index.js +200 -114
  180. package/dist/components/SelectableCardGroup/index.d.ts +2 -2
  181. package/dist/components/SelectableCardGroup/index.js +67 -25
  182. package/dist/components/SelectableCardOptionGroup/Provider.js +3 -1
  183. package/dist/components/SelectableCardOptionGroup/components/Image.d.ts +1 -1
  184. package/dist/components/SelectableCardOptionGroup/components/Image.js +12 -8
  185. package/dist/components/SelectableCardOptionGroup/components/Option.d.ts +1 -1
  186. package/dist/components/SelectableCardOptionGroup/components/Option.js +96 -19
  187. package/dist/components/SelectableCardOptionGroup/index.d.ts +2 -2
  188. package/dist/components/SelectableCardOptionGroup/index.js +53 -17
  189. package/dist/components/Separator/index.d.ts +1 -1
  190. package/dist/components/Separator/index.js +43 -26
  191. package/dist/components/Skeleton/Block.d.ts +1 -1
  192. package/dist/components/Skeleton/Block.js +2 -6
  193. package/dist/components/Skeleton/Blocks.d.ts +1 -1
  194. package/dist/components/Skeleton/Blocks.js +14 -9
  195. package/dist/components/Skeleton/BoxWithIcon.d.ts +1 -1
  196. package/dist/components/Skeleton/BoxWithIcon.js +14 -9
  197. package/dist/components/Skeleton/Donut.d.ts +1 -1
  198. package/dist/components/Skeleton/Donut.js +10 -2
  199. package/dist/components/Skeleton/IconSkeleton.d.ts +1 -1
  200. package/dist/components/Skeleton/IconSkeleton.js +1 -1
  201. package/dist/components/Skeleton/Line.d.ts +1 -1
  202. package/dist/components/Skeleton/Line.js +10 -4
  203. package/dist/components/Skeleton/List.d.ts +1 -1
  204. package/dist/components/Skeleton/List.js +3 -9
  205. package/dist/components/Skeleton/Slider.d.ts +1 -1
  206. package/dist/components/Skeleton/Slider.js +11 -8
  207. package/dist/components/Skeleton/Square.d.ts +1 -1
  208. package/dist/components/Skeleton/Square.js +1 -1
  209. package/dist/components/Skeleton/index.d.ts +9 -9
  210. package/dist/components/Skeleton/index.js +16 -5
  211. package/dist/components/Slider/components/DoubleSlider.d.ts +1 -1
  212. package/dist/components/Slider/components/DoubleSlider.js +191 -88
  213. package/dist/components/Slider/components/Options.d.ts +1 -1
  214. package/dist/components/Slider/components/Options.js +44 -28
  215. package/dist/components/Slider/components/SingleSlider.d.ts +1 -1
  216. package/dist/components/Slider/components/SingleSlider.js +133 -53
  217. package/dist/components/Slider/index.d.ts +1 -1
  218. package/dist/components/Slider/index.js +82 -12
  219. package/dist/components/Snippet/index.d.ts +1 -1
  220. package/dist/components/Snippet/index.js +103 -19
  221. package/dist/components/Stack/index.d.ts +1 -1
  222. package/dist/components/Stack/index.js +20 -24
  223. package/dist/components/Status/index.d.ts +1 -1
  224. package/dist/components/Status/index.js +13 -11
  225. package/dist/components/StepList/index.d.ts +2 -2
  226. package/dist/components/StepList/index.js +31 -10
  227. package/dist/components/Stepper/Step.d.ts +1 -1
  228. package/dist/components/Stepper/Step.js +65 -30
  229. package/dist/components/Stepper/StepperProvider.d.ts +1 -1
  230. package/dist/components/Stepper/StepperProvider.js +13 -10
  231. package/dist/components/Stepper/index.d.ts +2 -2
  232. package/dist/components/Stepper/index.js +46 -26
  233. package/dist/components/SwitchButton/FocusOverlay.d.ts +1 -1
  234. package/dist/components/SwitchButton/FocusOverlay.js +11 -5
  235. package/dist/components/SwitchButton/Option.d.ts +1 -1
  236. package/dist/components/SwitchButton/Option.js +20 -2
  237. package/dist/components/SwitchButton/index.d.ts +2 -2
  238. package/dist/components/SwitchButton/index.js +95 -48
  239. package/dist/components/Table/Body.d.ts +1 -1
  240. package/dist/components/Table/Body.js +2 -4
  241. package/dist/components/Table/Cell.d.ts +1 -1
  242. package/dist/components/Table/Cell.js +20 -17
  243. package/dist/components/Table/Header.d.ts +1 -1
  244. package/dist/components/Table/Header.js +2 -4
  245. package/dist/components/Table/HeaderCell.d.ts +1 -1
  246. package/dist/components/Table/HeaderCell.js +46 -22
  247. package/dist/components/Table/HeaderRow.d.ts +1 -1
  248. package/dist/components/Table/HeaderRow.js +21 -12
  249. package/dist/components/Table/Row.d.ts +1 -1
  250. package/dist/components/Table/Row.js +70 -14
  251. package/dist/components/Table/SelectBar.d.ts +1 -1
  252. package/dist/components/Table/SelectBar.js +20 -10
  253. package/dist/components/Table/SkeletonRows.d.ts +1 -1
  254. package/dist/components/Table/SkeletonRows.js +17 -16
  255. package/dist/components/Table/TableContext.d.ts +1 -1
  256. package/dist/components/Table/TableContext.js +22 -13
  257. package/dist/components/Table/index.d.ts +6 -6
  258. package/dist/components/Table/index.js +64 -23
  259. package/dist/components/Tabs/Tab.js +79 -41
  260. package/dist/components/Tabs/TabMenu.js +39 -23
  261. package/dist/components/Tabs/TabMenuItem.d.ts +1 -1
  262. package/dist/components/Tabs/TabMenuItem.js +20 -11
  263. package/dist/components/Tabs/TabsContext.js +3 -1
  264. package/dist/components/Tabs/index.d.ts +3 -3
  265. package/dist/components/Tabs/index.js +34 -14
  266. package/dist/components/Tag/index.d.ts +1 -1
  267. package/dist/components/Tag/index.js +45 -12
  268. package/dist/components/TagInput/index.d.ts +1 -1
  269. package/dist/components/TagInput/index.js +131 -52
  270. package/dist/components/TagInput/styles.css.d.ts +3 -0
  271. package/dist/components/TagList/index.d.ts +1 -1
  272. package/dist/components/TagList/index.js +132 -59
  273. package/dist/components/Text/index.d.ts +1 -1
  274. package/dist/components/Text/index.js +21 -17
  275. package/dist/components/Text/style.css.js +0 -1
  276. package/dist/components/Text/variables.css.js +1 -0
  277. package/dist/components/TextArea/index.js +178 -103
  278. package/dist/components/TextInput/index.d.ts +1 -1
  279. package/dist/components/TextInput/index.js +286 -106
  280. package/dist/components/TimeInput/constants.js +1 -5
  281. package/dist/components/TimeInput/index.d.ts +1 -1
  282. package/dist/components/TimeInput/index.js +207 -118
  283. package/dist/components/Toaster/Toaster.js +1 -1
  284. package/dist/components/Toaster/ToasterContainer.d.ts +1 -1
  285. package/dist/components/Toaster/ToasterContainer.js +21 -2
  286. package/dist/components/Toaster/components/Button.d.ts +1 -1
  287. package/dist/components/Toaster/components/CloseButton.d.ts +1 -1
  288. package/dist/components/Toaster/components/CloseButton.js +12 -2
  289. package/dist/components/Toaster/components/Content.d.ts +1 -1
  290. package/dist/components/Toaster/components/Content.js +2 -4
  291. package/dist/components/Toaster/components/Link.d.ts +1 -1
  292. package/dist/components/Toaster/index.d.ts +2 -2
  293. package/dist/components/Toggle/index.js +101 -40
  294. package/dist/components/ToggleGroup/index.d.ts +3 -3
  295. package/dist/components/ToggleGroup/index.js +61 -22
  296. package/dist/components/Tooltip/index.js +42 -19
  297. package/dist/components/TreeMapChart/Tooltip.d.ts +1 -1
  298. package/dist/components/TreeMapChart/Tooltip.js +1 -1
  299. package/dist/components/TreeMapChart/index.d.ts +1 -1
  300. package/dist/components/TreeMapChart/index.js +33 -27
  301. package/dist/components/UnitInput/index.d.ts +1 -1
  302. package/dist/components/UnitInput/index.js +110 -29
  303. package/dist/components/VerificationCode/index.d.ts +1 -1
  304. package/dist/components/VerificationCode/index.js +80 -21
  305. package/dist/helpers/legend.js +4 -4
  306. package/dist/helpers/treeMap.d.ts +2 -1
  307. package/dist/index.d.ts +1 -1
  308. package/dist/index.js +2 -4
  309. package/dist/theme/ThemeProvider.d.ts +1 -1
  310. package/dist/theme/ThemeProvider.js +4 -2
  311. package/dist/theme/index.js +1 -8
  312. package/dist/ui.css +1 -1
  313. package/dist/utils/ids.js +1 -3
  314. package/dist/utils/index.d.ts +1 -1
  315. package/dist/utils/responsive/index.d.ts +0 -1
  316. package/dist/utils/responsive/style.css.d.ts +3 -0
  317. package/package.json +2 -7
  318. package/dist/utils/responsive/Breakpoint.d.ts +0 -9
  319. package/dist/utils/responsive/Breakpoint.js +0 -14
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { jsx, jsxs, Fragment } from "@emotion/react/jsx-runtime";
2
+ import { jsx, jsxs, Fragment } from "react/jsx-runtime";
3
3
  import { assignInlineVars } from "@vanilla-extract/dynamic";
4
4
  import { useState, useRef, useEffect, useCallback } from "react";
5
5
  import { createPortal } from "react-dom";
@@ -40,10 +40,7 @@ const Dialog = ({
40
40
  setIsVisible(true);
41
41
  }, []);
42
42
  useEffect(() => {
43
- registerModal({
44
- id,
45
- ref: dialogRef
46
- });
43
+ registerModal({ id, ref: dialogRef });
47
44
  return () => {
48
45
  unregisterModal(id);
49
46
  };
@@ -80,18 +77,24 @@ const Dialog = ({
80
77
  const modalAbove = openedModals[realPosition + 1];
81
78
  const currentModalHeight = dialogRef.current?.offsetHeight;
82
79
  let top = 0;
83
- const handleKeyUp = useCallback((event) => {
84
- event.stopPropagation();
85
- if (event.key === "Escape" && hideOnEsc) {
86
- event.preventDefault();
87
- onCloseRef.current();
88
- }
89
- }, [hideOnEsc]);
90
- const handleClose = useCallback((event) => {
91
- if (hideOnClickOutside && dialogRef.current && !dialogRef.current.contains(event.target) && position === 0) {
92
- onCloseRef.current();
93
- }
94
- }, [hideOnClickOutside, position]);
80
+ const handleKeyUp = useCallback(
81
+ (event) => {
82
+ event.stopPropagation();
83
+ if (event.key === "Escape" && hideOnEsc) {
84
+ event.preventDefault();
85
+ onCloseRef.current();
86
+ }
87
+ },
88
+ [hideOnEsc]
89
+ );
90
+ const handleClose = useCallback(
91
+ (event) => {
92
+ if (hideOnClickOutside && dialogRef.current && !dialogRef.current.contains(event.target) && position === 0) {
93
+ onCloseRef.current();
94
+ }
95
+ },
96
+ [hideOnClickOutside, position]
97
+ );
95
98
  const handleFocusTrap = useCallback((event) => {
96
99
  event.stopPropagation();
97
100
  if (event.key === "Escape") {
@@ -102,46 +105,87 @@ const Dialog = ({
102
105
  if (!isTabPressed) {
103
106
  return;
104
107
  }
105
- const focusableEls = dialogRef.current?.querySelectorAll("a[href]:not([disabled]), button:not([disabled]), textarea:not([disabled]), input:not([disabled]), select:not([disabled])") ?? [];
106
- if (focusableEls.length === 0) {
108
+ const focusableEls = dialogRef.current?.querySelectorAll(
109
+ "a[href]:not([disabled]), button:not([disabled]), textarea:not([disabled]), input:not([disabled]), select:not([disabled])"
110
+ );
111
+ if (focusableEls?.length === 0) {
107
112
  event.preventDefault();
108
113
  }
109
- const firstFocusableEl = focusableEls[0];
110
- const lastFocusableEl = focusableEls[focusableEls.length - 1];
111
- if (event.shiftKey) {
112
- if (document.activeElement === firstFocusableEl || document.activeElement === dialogRef.current) {
113
- lastFocusableEl.focus();
114
+ if (focusableEls) {
115
+ const elems = [...focusableEls];
116
+ const firstFocusableEl = elems[0];
117
+ const lastFocusableEl = elems.at(-1);
118
+ if (event.shiftKey) {
119
+ if (document.activeElement === firstFocusableEl || document.activeElement === dialogRef.current) {
120
+ if (lastFocusableEl instanceof HTMLElement) {
121
+ lastFocusableEl.focus();
122
+ }
123
+ event.preventDefault();
124
+ }
125
+ } else if (document.activeElement === lastFocusableEl || document.activeElement === dialogRef.current) {
126
+ if (firstFocusableEl instanceof HTMLElement) {
127
+ firstFocusableEl.focus();
128
+ }
114
129
  event.preventDefault();
115
130
  }
116
- } else if (document.activeElement === lastFocusableEl || document.activeElement === dialogRef.current) {
117
- firstFocusableEl.focus();
118
- event.preventDefault();
119
131
  }
120
132
  }, []);
121
133
  if (modalAbove?.ref && typeof modalAbove.ref === "object" && "current" in modalAbove.ref && currentModalHeight) {
122
134
  top = (modalAbove?.ref?.current?.offsetHeight ?? 0) / 2 - currentModalHeight / 2 + 20;
123
135
  }
124
136
  const animation = openedModals.length > 1 && position === 0 && previsousOpenedModales.length < openedModals.length;
125
- return createPortal(/* @__PURE__ */ jsx("div", { className: `${backdropClassName} ${modalBackdrop({
126
- open: true,
127
- visible: isVisible
128
- })}`, "data-testid": dataTestId ? `${dataTestId}-backdrop` : void 0, "data-visible": isVisible, onClick: handleClose, onFocus: stopFocus, onKeyDown: () => {
129
- }, children: /* @__PURE__ */ jsx("dialog", { "aria-label": ariaLabel, "aria-modal": true, className: `${className ? `${className} ` : ""}${modal({
130
- animation,
131
- image: !!image,
132
- placement,
133
- positivePosition: position > 0,
134
- size
135
- })}`, "data-size": size, "data-testid": dataTestId, id, onCancel: stopCancel, onClose: stopCancel, onKeyDown: handleFocusTrap, onKeyUp: handleKeyUp, open: true, ref: dialogRef, style: {
136
- ...assignInlineVars({
137
- [topModal]: `-${top}px`,
138
- [positionModal]: `${position * 50}px`
139
- }),
140
- ...style
141
- }, tabIndex: 0, children: image ? /* @__PURE__ */ jsxs(Fragment, { children: [
142
- /* @__PURE__ */ jsx(Stack, { alignItems: "end", className: modalImageContainer, justifyContent: "center", children: /* @__PURE__ */ jsx("img", { alt: "illustration", className: modalImage, src: image }) }),
143
- /* @__PURE__ */ jsx(Stack, { className: modalContent, gap: 5, children })
144
- ] }) : children }) }), containerRef.current);
137
+ return createPortal(
138
+ /* @__PURE__ */ jsx(
139
+ "div",
140
+ {
141
+ className: `${backdropClassName} ${modalBackdrop({ open: true, visible: isVisible })}`,
142
+ "data-testid": dataTestId ? `${dataTestId}-backdrop` : void 0,
143
+ "data-visible": isVisible,
144
+ onClick: handleClose,
145
+ onFocus: stopFocus,
146
+ onKeyDown: () => {
147
+ },
148
+ children: /* @__PURE__ */ jsx(
149
+ "dialog",
150
+ {
151
+ "aria-label": ariaLabel,
152
+ "aria-modal": true,
153
+ className: `${className ? `${className} ` : ""}${modal({ animation, image: !!image, placement, positivePosition: position > 0, size })}`,
154
+ "data-size": size,
155
+ "data-testid": dataTestId,
156
+ id,
157
+ onCancel: stopCancel,
158
+ onClose: stopCancel,
159
+ onKeyDown: handleFocusTrap,
160
+ onKeyUp: handleKeyUp,
161
+ open: true,
162
+ ref: dialogRef,
163
+ style: {
164
+ ...assignInlineVars({
165
+ [topModal]: `-${top}px`,
166
+ [positionModal]: `${position * 50}px`
167
+ }),
168
+ ...style
169
+ },
170
+ tabIndex: 0,
171
+ children: image ? /* @__PURE__ */ jsxs(Fragment, { children: [
172
+ /* @__PURE__ */ jsx(
173
+ Stack,
174
+ {
175
+ alignItems: "end",
176
+ className: modalImageContainer,
177
+ justifyContent: "center",
178
+ children: /* @__PURE__ */ jsx("img", { alt: "illustration", className: modalImage, src: image })
179
+ }
180
+ ),
181
+ /* @__PURE__ */ jsx(Stack, { className: modalContent, gap: 5, children })
182
+ ] }) : children
183
+ }
184
+ )
185
+ }
186
+ ),
187
+ containerRef.current
188
+ );
145
189
  };
146
190
  export {
147
191
  Dialog
@@ -27,4 +27,4 @@ export type ModalProps = {
27
27
  * Modal is a component that allows you to display content on top of other content.
28
28
  * It is often used to display a dialog with additional information or to ask for a confirmation.
29
29
  */
30
- export declare const Modal: ({ ariaLabel, id, children, disclosure, hideOnClickOutside, hideOnEsc, isClosable, onClose, onBeforeClose, open, placement, preventBodyScroll, size, className, "data-testid": dataTestId, backdropClassName, image, style, }: ModalProps) => import("@emotion/react/jsx-runtime").JSX.Element;
30
+ export declare const Modal: ({ ariaLabel, id, children, disclosure, hideOnClickOutside, hideOnEsc, isClosable, onClose, onBeforeClose, open, placement, preventBodyScroll, size, className, "data-testid": dataTestId, backdropClassName, image, style, }: ModalProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { jsxs, Fragment, jsx } from "@emotion/react/jsx-runtime";
2
+ import { jsxs, Fragment, jsx } from "react/jsx-runtime";
3
3
  import { useState, useId, useRef, useCallback, useContext } from "react";
4
4
  import { Disclosure } from "./components/Disclosure.js";
5
5
  import { ModalContent } from "./ModalContent.js";
@@ -49,8 +49,65 @@ const Modal = ({
49
49
  const finalId = id ?? controlId;
50
50
  const context = useContext(ModalContext);
51
51
  return /* @__PURE__ */ jsxs(Fragment, { children: [
52
- disclosure ? /* @__PURE__ */ jsx(Disclosure, { disclosure, handleClose, handleOpen, id: finalId, ref: disclosureRef, toggle: handleToggle, visible }) : null,
53
- !context ? /* @__PURE__ */ jsx(ModalProvider, { children: /* @__PURE__ */ jsx(ModalContent, { ariaLabel, backdropClassName, className, dataTestId, finalId, finalSize: size, handleClose, handleOpen, handleToggle, hideOnClickOutside, hideOnEsc, image, isClosable, open, placement, preventBodyScroll, style, visible, children }) }) : /* @__PURE__ */ jsx(ModalContent, { ariaLabel, backdropClassName, className, dataTestId, finalId, finalSize: size, handleClose, handleOpen, handleToggle, hideOnClickOutside, hideOnEsc, image, isClosable, open, placement, preventBodyScroll, style, visible, children })
52
+ disclosure ? /* @__PURE__ */ jsx(
53
+ Disclosure,
54
+ {
55
+ disclosure,
56
+ handleClose,
57
+ handleOpen,
58
+ id: finalId,
59
+ ref: disclosureRef,
60
+ toggle: handleToggle,
61
+ visible
62
+ }
63
+ ) : null,
64
+ !context ? /* @__PURE__ */ jsx(ModalProvider, { children: /* @__PURE__ */ jsx(
65
+ ModalContent,
66
+ {
67
+ ariaLabel,
68
+ backdropClassName,
69
+ className,
70
+ dataTestId,
71
+ finalId,
72
+ finalSize: size,
73
+ handleClose,
74
+ handleOpen,
75
+ handleToggle,
76
+ hideOnClickOutside,
77
+ hideOnEsc,
78
+ image,
79
+ isClosable,
80
+ open,
81
+ placement,
82
+ preventBodyScroll,
83
+ style,
84
+ visible,
85
+ children
86
+ }
87
+ ) }) : /* @__PURE__ */ jsx(
88
+ ModalContent,
89
+ {
90
+ ariaLabel,
91
+ backdropClassName,
92
+ className,
93
+ dataTestId,
94
+ finalId,
95
+ finalSize: size,
96
+ handleClose,
97
+ handleOpen,
98
+ handleToggle,
99
+ hideOnClickOutside,
100
+ hideOnEsc,
101
+ image,
102
+ isClosable,
103
+ open,
104
+ placement,
105
+ preventBodyScroll,
106
+ style,
107
+ visible,
108
+ children
109
+ }
110
+ )
54
111
  ] });
55
112
  };
56
113
  export {
@@ -8,5 +8,5 @@ type NoticeProps = {
8
8
  /**
9
9
  * A Notice is used to display a short message to the user.
10
10
  */
11
- export declare const Notice: ({ children, className, "data-testid": dataTestId, style, }: NoticeProps) => import("@emotion/react/jsx-runtime").JSX.Element;
11
+ export declare const Notice: ({ children, className, "data-testid": dataTestId, style, }: NoticeProps) => import("react/jsx-runtime").JSX.Element;
12
12
  export {};
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { jsxs, jsx } from "@emotion/react/jsx-runtime";
2
+ import { jsxs, jsx } from "react/jsx-runtime";
3
3
  import { InformationOutlineIcon } from "@ultraviolet/icons";
4
4
  import { Text } from "../Text/index.js";
5
5
  import { notice } from "./styles.css.js";
@@ -8,10 +8,29 @@ const Notice = ({
8
8
  className,
9
9
  "data-testid": dataTestId,
10
10
  style
11
- }) => /* @__PURE__ */ jsxs(Text, { as: "span", className: `${className ? `${className} ` : ""}${notice}`, "data-testid": dataTestId, prominence: "weak", sentiment: "neutral", style, variant: "caption", children: [
12
- /* @__PURE__ */ jsx(InformationOutlineIcon, { prominence: "weak", sentiment: "neutral", size: "small" }),
13
- children
14
- ] });
11
+ }) => /* @__PURE__ */ jsxs(
12
+ Text,
13
+ {
14
+ as: "span",
15
+ className: `${className ? `${className} ` : ""}${notice}`,
16
+ "data-testid": dataTestId,
17
+ prominence: "weak",
18
+ sentiment: "neutral",
19
+ style,
20
+ variant: "caption",
21
+ children: [
22
+ /* @__PURE__ */ jsx(
23
+ InformationOutlineIcon,
24
+ {
25
+ prominence: "weak",
26
+ sentiment: "neutral",
27
+ size: "small"
28
+ }
29
+ ),
30
+ children
31
+ ]
32
+ }
33
+ );
15
34
  export {
16
35
  Notice
17
36
  };
@@ -1,11 +1,21 @@
1
1
  "use client";
2
- import { jsxs, jsx } from "@emotion/react/jsx-runtime";
2
+ import { jsxs, jsx } from "react/jsx-runtime";
3
3
  import { CloseIcon } from "@ultraviolet/icons";
4
4
  import { toast } from "react-toastify";
5
5
  import { Button } from "../Button/index.js";
6
6
  import { Stack } from "../Stack/index.js";
7
7
  import { Text } from "../Text/index.js";
8
- const closeButton = (props) => /* @__PURE__ */ jsx(Button, { "aria-label": "close", onClick: props.closeToast, sentiment: "neutral", size: "xsmall", variant: "ghost", children: /* @__PURE__ */ jsx(CloseIcon, {}) });
8
+ const closeButton = (props) => /* @__PURE__ */ jsx(
9
+ Button,
10
+ {
11
+ "aria-label": "close",
12
+ onClick: props.closeToast,
13
+ sentiment: "neutral",
14
+ size: "xsmall",
15
+ variant: "ghost",
16
+ children: /* @__PURE__ */ jsx(CloseIcon, {})
17
+ }
18
+ );
9
19
  const notification = (children, title, icon, isClosable, containerId, options) => toast("", {
10
20
  ...options,
11
21
  closeButton: (props) => /* @__PURE__ */ jsxs(Stack, { direction: "row", gap: 2, children: [
@@ -26,5 +26,5 @@ type NotificationContainerProps = {
26
26
  containerId?: string;
27
27
  style?: CSSProperties;
28
28
  };
29
- export declare const NotificationContainer: ({ newestOnTop, limit, autoClose, position, "data-testid": dataTestId, className, style, containerId, }: NotificationContainerProps) => import("@emotion/react/jsx-runtime").JSX.Element;
29
+ export declare const NotificationContainer: ({ newestOnTop, limit, autoClose, position, "data-testid": dataTestId, className, style, containerId, }: NotificationContainerProps) => import("react/jsx-runtime").JSX.Element;
30
30
  export {};
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { jsx } from "@emotion/react/jsx-runtime";
2
+ import { jsx } from "react/jsx-runtime";
3
3
  import { ToastContainer, Slide } from "react-toastify";
4
4
  import { notification } from "./styles.css.js";
5
5
  const NotificationContainer = ({
@@ -11,7 +11,23 @@ const NotificationContainer = ({
11
11
  className,
12
12
  style,
13
13
  containerId = "notification"
14
- }) => /* @__PURE__ */ jsx(ToastContainer, { autoClose, className: `${className ? `${className} ` : ""}${notification}`, containerId, "data-testid": dataTestId, draggable: false, hideProgressBar: true, icon: false, limit, newestOnTop, position, style, transition: Slide });
14
+ }) => /* @__PURE__ */ jsx(
15
+ ToastContainer,
16
+ {
17
+ autoClose,
18
+ className: `${className ? `${className} ` : ""}${notification}`,
19
+ containerId,
20
+ "data-testid": dataTestId,
21
+ draggable: false,
22
+ hideProgressBar: true,
23
+ icon: false,
24
+ limit,
25
+ newestOnTop,
26
+ position,
27
+ style,
28
+ transition: Slide
29
+ }
30
+ );
15
31
  export {
16
32
  NotificationContainer
17
33
  };
@@ -30,5 +30,5 @@ export declare const NumberInput: import("react").ForwardRefExoticComponent<{
30
30
  onChange?: (newValue: number | null) => void;
31
31
  min?: number;
32
32
  max?: number;
33
- } & Pick<InputHTMLAttributes<HTMLInputElement>, "style" | "disabled" | "id" | "name" | "aria-label" | "onFocus" | "onBlur" | "autoFocus" | "step" | "placeholder" | "readOnly" | "required"> & import("react").RefAttributes<HTMLInputElement>>;
33
+ } & Pick<InputHTMLAttributes<HTMLInputElement>, "style" | "disabled" | "id" | "autoFocus" | "aria-label" | "onFocus" | "onBlur" | "name" | "step" | "placeholder" | "readOnly" | "required"> & import("react").RefAttributes<HTMLInputElement>>;
34
34
  export {};