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

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 (323) hide show
  1. package/README.md +47 -18
  2. package/dist/components/ActionBar/index.js +19 -7
  3. package/dist/components/Alert/index.d.ts +2 -1
  4. package/dist/components/Alert/index.js +98 -20
  5. package/dist/components/Alert/styles.css.d.ts +10 -1
  6. package/dist/components/Alert/styles.css.js +7 -5
  7. package/dist/components/Avatar/index.d.ts +1 -1
  8. package/dist/components/Avatar/index.js +46 -36
  9. package/dist/components/Avatar/styles.css.js +0 -1
  10. package/dist/components/Avatar/variables.css.js +1 -0
  11. package/dist/components/Badge/index.d.ts +1 -1
  12. package/dist/components/Badge/index.js +19 -8
  13. package/dist/components/Banner/index.d.ts +1 -1
  14. package/dist/components/Banner/index.js +87 -28
  15. package/dist/components/BarChart/Tooltip.d.ts +1 -1
  16. package/dist/components/BarChart/Tooltip.js +23 -10
  17. package/dist/components/BarChart/index.d.ts +1 -1
  18. package/dist/components/BarChart/index.js +51 -31
  19. package/dist/components/BarStack/index.d.ts +1 -1
  20. package/dist/components/BarStack/index.js +64 -19
  21. package/dist/components/Breadcrumbs/components/Item.d.ts +1 -1
  22. package/dist/components/Breadcrumbs/components/Item.js +48 -12
  23. package/dist/components/Breadcrumbs/index.js +11 -2
  24. package/dist/components/Bullet/index.d.ts +1 -1
  25. package/dist/components/Bullet/index.js +10 -7
  26. package/dist/components/Button/index.js +122 -72
  27. package/dist/components/Card/index.js +80 -20
  28. package/dist/components/Carousel/index.d.ts +3 -3
  29. package/dist/components/Carousel/index.js +72 -26
  30. package/dist/components/Checkbox/index.js +139 -43
  31. package/dist/components/CheckboxGroup/index.d.ts +3 -3
  32. package/dist/components/CheckboxGroup/index.js +77 -24
  33. package/dist/components/Chip/ChipIcon.d.ts +1 -1
  34. package/dist/components/Chip/ChipIcon.js +46 -12
  35. package/dist/components/Chip/index.d.ts +3 -3
  36. package/dist/components/Chip/index.js +36 -11
  37. package/dist/components/CopyButton/index.d.ts +1 -1
  38. package/dist/components/CopyButton/index.js +23 -8
  39. package/dist/components/DateInput/components/CalendarContent.d.ts +1 -1
  40. package/dist/components/DateInput/components/CalendarContent.js +61 -26
  41. package/dist/components/DateInput/components/CalendarDaily.d.ts +1 -1
  42. package/dist/components/DateInput/components/CalendarDaily.js +105 -62
  43. package/dist/components/DateInput/components/CalendarMonthly.d.ts +1 -1
  44. package/dist/components/DateInput/components/CalendarMonthly.js +62 -39
  45. package/dist/components/DateInput/components/Popup.d.ts +1 -1
  46. package/dist/components/DateInput/components/Popup.js +29 -6
  47. package/dist/components/DateInput/helpers.js +9 -2
  48. package/dist/components/DateInput/helpersLocale.js +3 -9
  49. package/dist/components/DateInput/index.d.ts +1 -1
  50. package/dist/components/DateInput/index.js +193 -62
  51. package/dist/components/Dialog/Context.js +3 -1
  52. package/dist/components/Dialog/components/Button.d.ts +1 -1
  53. package/dist/components/Dialog/components/Button.js +12 -2
  54. package/dist/components/Dialog/components/Buttons.d.ts +1 -1
  55. package/dist/components/Dialog/components/Buttons.js +1 -1
  56. package/dist/components/Dialog/components/CancelButton.d.ts +1 -1
  57. package/dist/components/Dialog/components/CancelButton.js +12 -2
  58. package/dist/components/Dialog/components/Stack.d.ts +1 -1
  59. package/dist/components/Dialog/components/Stack.js +2 -5
  60. package/dist/components/Dialog/components/Text.d.ts +1 -1
  61. package/dist/components/Dialog/components/Text.js +2 -5
  62. package/dist/components/Dialog/index.d.ts +7 -7
  63. package/dist/components/Dialog/index.js +43 -12
  64. package/dist/components/Drawer/index.d.ts +4 -4
  65. package/dist/components/Drawer/index.js +53 -15
  66. package/dist/components/EmptyState/index.d.ts +1 -1
  67. package/dist/components/EmptyState/index.js +63 -21
  68. package/dist/components/Expandable/index.d.ts +2 -2
  69. package/dist/components/Expandable/index.js +52 -15
  70. package/dist/components/ExpandableCard/components/Title.d.ts +1 -1
  71. package/dist/components/ExpandableCard/components/Title.js +12 -2
  72. package/dist/components/ExpandableCard/index.d.ts +1 -1
  73. package/dist/components/ExpandableCard/index.js +197 -96
  74. package/dist/components/GlobalAlert/GlobalAlertLink.d.ts +1 -1
  75. package/dist/components/GlobalAlert/GlobalAlertLink.js +21 -5
  76. package/dist/components/GlobalAlert/index.d.ts +2 -2
  77. package/dist/components/GlobalAlert/index.js +51 -11
  78. package/dist/components/InfiniteScroll/index.d.ts +1 -1
  79. package/dist/components/InfiniteScroll/index.js +40 -33
  80. package/dist/components/Key/index.d.ts +1 -1
  81. package/dist/components/Key/index.js +29 -8
  82. package/dist/components/Label/index.d.ts +1 -1
  83. package/dist/components/Label/index.js +67 -6
  84. package/dist/components/LineChart/CustomLegend.d.ts +1 -1
  85. package/dist/components/LineChart/CustomLegend.js +69 -45
  86. package/dist/components/LineChart/Tooltip.d.ts +1 -1
  87. package/dist/components/LineChart/Tooltip.js +31 -9
  88. package/dist/components/LineChart/helpers.js +13 -12
  89. package/dist/components/LineChart/index.d.ts +1 -1
  90. package/dist/components/LineChart/index.js +56 -40
  91. package/dist/components/Link/index.js +74 -57
  92. package/dist/components/List/Cell.js +24 -22
  93. package/dist/components/List/ColumnProvider.d.ts +1 -1
  94. package/dist/components/List/ColumnProvider.js +12 -6
  95. package/dist/components/List/HeaderCell.d.ts +1 -1
  96. package/dist/components/List/HeaderCell.js +36 -19
  97. package/dist/components/List/HeaderRow.d.ts +1 -1
  98. package/dist/components/List/HeaderRow.js +14 -12
  99. package/dist/components/List/ListContext.d.ts +1 -1
  100. package/dist/components/List/ListContext.js +128 -78
  101. package/dist/components/List/Row.js +166 -90
  102. package/dist/components/List/SelectBar.d.ts +1 -1
  103. package/dist/components/List/SelectBar.js +20 -10
  104. package/dist/components/List/SkeletonRows.d.ts +1 -1
  105. package/dist/components/List/SkeletonRows.js +26 -16
  106. package/dist/components/List/index.d.ts +1 -1
  107. package/dist/components/List/index.js +60 -22
  108. package/dist/components/Loader/index.d.ts +1 -1
  109. package/dist/components/Loader/index.js +47 -23
  110. package/dist/components/Menu/MenuContent.d.ts +1 -1
  111. package/dist/components/Menu/MenuContent.js +216 -162
  112. package/dist/components/Menu/MenuProvider.d.ts +1 -1
  113. package/dist/components/Menu/MenuProvider.js +26 -13
  114. package/dist/components/Menu/components/Group.d.ts +1 -1
  115. package/dist/components/Menu/components/Group.js +11 -2
  116. package/dist/components/Menu/components/Item.js +144 -82
  117. package/dist/components/Menu/helpers.js +3 -1
  118. package/dist/components/Menu/index.d.ts +2 -2
  119. package/dist/components/Menu/index.js +5 -11
  120. package/dist/components/Menu/types.d.ts +2 -2
  121. package/dist/components/Meter/index.d.ts +1 -1
  122. package/dist/components/Meter/index.js +43 -12
  123. package/dist/components/Modal/ModalContent.d.ts +1 -1
  124. package/dist/components/Modal/ModalContent.js +41 -11
  125. package/dist/components/Modal/ModalProvider.d.ts +1 -1
  126. package/dist/components/Modal/ModalProvider.js +14 -11
  127. package/dist/components/Modal/components/Dialog.js +91 -47
  128. package/dist/components/Modal/index.d.ts +1 -1
  129. package/dist/components/Modal/index.js +60 -3
  130. package/dist/components/Notice/index.d.ts +1 -1
  131. package/dist/components/Notice/index.js +24 -5
  132. package/dist/components/Notification/Notification.js +12 -2
  133. package/dist/components/Notification/NotificationContainer.d.ts +1 -1
  134. package/dist/components/Notification/NotificationContainer.js +18 -2
  135. package/dist/components/NumberInput/index.d.ts +1 -1
  136. package/dist/components/NumberInput/index.js +239 -130
  137. package/dist/components/Pagination/PaginationButtons.d.ts +1 -1
  138. package/dist/components/Pagination/PaginationButtons.js +75 -10
  139. package/dist/components/Pagination/PerPage.d.ts +1 -1
  140. package/dist/components/Pagination/PerPage.js +32 -17
  141. package/dist/components/Pagination/getPageNumbers.js +12 -13
  142. package/dist/components/Pagination/index.d.ts +1 -1
  143. package/dist/components/Pagination/index.js +26 -3
  144. package/dist/components/PasswordCheck/index.d.ts +1 -1
  145. package/dist/components/PasswordCheck/index.js +27 -5
  146. package/dist/components/PieChart/Legends.d.ts +1 -1
  147. package/dist/components/PieChart/Legends.js +52 -20
  148. package/dist/components/PieChart/Tooltip.d.ts +1 -1
  149. package/dist/components/PieChart/Tooltip.js +2 -4
  150. package/dist/components/PieChart/index.d.ts +1 -1
  151. package/dist/components/PieChart/index.js +80 -40
  152. package/dist/components/Popover/index.js +104 -46
  153. package/dist/components/Popup/helpers.d.ts +5 -1
  154. package/dist/components/Popup/helpers.js +49 -35
  155. package/dist/components/Popup/index.d.ts +2 -1
  156. package/dist/components/Popup/index.js +373 -255
  157. package/dist/components/Popup/styles.css.js +0 -1
  158. package/dist/components/Popup/variables.css.js +1 -0
  159. package/dist/components/ProgressBar/index.d.ts +1 -1
  160. package/dist/components/ProgressBar/index.js +74 -20
  161. package/dist/components/Radio/index.js +83 -51
  162. package/dist/components/RadioGroup/index.d.ts +2 -2
  163. package/dist/components/RadioGroup/index.js +74 -20
  164. package/dist/components/Row/index.d.ts +1 -1
  165. package/dist/components/Row/index.js +38 -27
  166. package/dist/components/Row/styles.css.d.ts +11 -0
  167. package/dist/components/Row/styles.css.js +2 -2
  168. package/dist/components/SearchInput/KeyGroup.d.ts +1 -1
  169. package/dist/components/SearchInput/KeyGroup.js +2 -6
  170. package/dist/components/SearchInput/index.js +232 -164
  171. package/dist/components/SelectInput/SelectInputProvider.d.ts +1 -1
  172. package/dist/components/SelectInput/SelectInputProvider.js +91 -55
  173. package/dist/components/SelectInput/components/Dropdown.d.ts +1 -1
  174. package/dist/components/SelectInput/components/Dropdown.js +442 -101
  175. package/dist/components/SelectInput/components/DropdownOption.d.ts +1 -1
  176. package/dist/components/SelectInput/components/DropdownOption.js +176 -27
  177. package/dist/components/SelectInput/components/SearchBarDropdown.d.ts +1 -1
  178. package/dist/components/SelectInput/components/SearchBarDropdown.js +40 -14
  179. package/dist/components/SelectInput/components/SelectBar.d.ts +1 -1
  180. package/dist/components/SelectInput/components/SelectBar.js +252 -97
  181. package/dist/components/SelectInput/index.d.ts +1 -1
  182. package/dist/components/SelectInput/index.js +102 -10
  183. package/dist/components/SelectableCard/index.js +200 -114
  184. package/dist/components/SelectableCardGroup/index.d.ts +2 -2
  185. package/dist/components/SelectableCardGroup/index.js +67 -25
  186. package/dist/components/SelectableCardOptionGroup/Provider.js +3 -1
  187. package/dist/components/SelectableCardOptionGroup/components/Image.d.ts +1 -1
  188. package/dist/components/SelectableCardOptionGroup/components/Image.js +12 -8
  189. package/dist/components/SelectableCardOptionGroup/components/Option.d.ts +1 -1
  190. package/dist/components/SelectableCardOptionGroup/components/Option.js +96 -19
  191. package/dist/components/SelectableCardOptionGroup/index.d.ts +2 -2
  192. package/dist/components/SelectableCardOptionGroup/index.js +53 -17
  193. package/dist/components/Separator/index.d.ts +1 -1
  194. package/dist/components/Separator/index.js +43 -26
  195. package/dist/components/Skeleton/Block.d.ts +1 -1
  196. package/dist/components/Skeleton/Block.js +2 -6
  197. package/dist/components/Skeleton/Blocks.d.ts +1 -1
  198. package/dist/components/Skeleton/Blocks.js +14 -9
  199. package/dist/components/Skeleton/BoxWithIcon.d.ts +1 -1
  200. package/dist/components/Skeleton/BoxWithIcon.js +14 -9
  201. package/dist/components/Skeleton/Donut.d.ts +1 -1
  202. package/dist/components/Skeleton/Donut.js +10 -2
  203. package/dist/components/Skeleton/IconSkeleton.d.ts +1 -1
  204. package/dist/components/Skeleton/IconSkeleton.js +1 -1
  205. package/dist/components/Skeleton/Line.d.ts +1 -1
  206. package/dist/components/Skeleton/Line.js +10 -4
  207. package/dist/components/Skeleton/List.d.ts +1 -1
  208. package/dist/components/Skeleton/List.js +3 -9
  209. package/dist/components/Skeleton/Slider.d.ts +1 -1
  210. package/dist/components/Skeleton/Slider.js +11 -8
  211. package/dist/components/Skeleton/Square.d.ts +1 -1
  212. package/dist/components/Skeleton/Square.js +1 -1
  213. package/dist/components/Skeleton/index.d.ts +9 -9
  214. package/dist/components/Skeleton/index.js +16 -5
  215. package/dist/components/Slider/components/DoubleSlider.d.ts +1 -1
  216. package/dist/components/Slider/components/DoubleSlider.js +191 -88
  217. package/dist/components/Slider/components/Options.d.ts +1 -1
  218. package/dist/components/Slider/components/Options.js +44 -28
  219. package/dist/components/Slider/components/SingleSlider.d.ts +1 -1
  220. package/dist/components/Slider/components/SingleSlider.js +133 -53
  221. package/dist/components/Slider/index.d.ts +1 -1
  222. package/dist/components/Slider/index.js +82 -12
  223. package/dist/components/Snippet/index.d.ts +1 -1
  224. package/dist/components/Snippet/index.js +103 -19
  225. package/dist/components/Stack/index.d.ts +1 -1
  226. package/dist/components/Stack/index.js +20 -24
  227. package/dist/components/Stack/styles.css.js +2 -2
  228. package/dist/components/Status/index.d.ts +1 -1
  229. package/dist/components/Status/index.js +13 -11
  230. package/dist/components/StepList/index.d.ts +2 -2
  231. package/dist/components/StepList/index.js +31 -10
  232. package/dist/components/Stepper/Step.d.ts +1 -1
  233. package/dist/components/Stepper/Step.js +65 -30
  234. package/dist/components/Stepper/StepperProvider.d.ts +1 -1
  235. package/dist/components/Stepper/StepperProvider.js +13 -10
  236. package/dist/components/Stepper/index.d.ts +2 -2
  237. package/dist/components/Stepper/index.js +46 -26
  238. package/dist/components/SwitchButton/FocusOverlay.d.ts +1 -1
  239. package/dist/components/SwitchButton/FocusOverlay.js +11 -5
  240. package/dist/components/SwitchButton/Option.d.ts +1 -1
  241. package/dist/components/SwitchButton/Option.js +20 -2
  242. package/dist/components/SwitchButton/index.d.ts +2 -2
  243. package/dist/components/SwitchButton/index.js +95 -48
  244. package/dist/components/Table/Body.d.ts +1 -1
  245. package/dist/components/Table/Body.js +2 -4
  246. package/dist/components/Table/Cell.d.ts +1 -1
  247. package/dist/components/Table/Cell.js +20 -17
  248. package/dist/components/Table/Header.d.ts +1 -1
  249. package/dist/components/Table/Header.js +2 -4
  250. package/dist/components/Table/HeaderCell.d.ts +1 -1
  251. package/dist/components/Table/HeaderCell.js +46 -22
  252. package/dist/components/Table/HeaderRow.d.ts +1 -1
  253. package/dist/components/Table/HeaderRow.js +21 -12
  254. package/dist/components/Table/Row.d.ts +1 -1
  255. package/dist/components/Table/Row.js +70 -14
  256. package/dist/components/Table/SelectBar.d.ts +1 -1
  257. package/dist/components/Table/SelectBar.js +20 -10
  258. package/dist/components/Table/SkeletonRows.d.ts +1 -1
  259. package/dist/components/Table/SkeletonRows.js +17 -16
  260. package/dist/components/Table/TableContext.d.ts +1 -1
  261. package/dist/components/Table/TableContext.js +22 -13
  262. package/dist/components/Table/index.d.ts +6 -6
  263. package/dist/components/Table/index.js +64 -23
  264. package/dist/components/Tabs/Tab.js +79 -41
  265. package/dist/components/Tabs/TabMenu.js +39 -23
  266. package/dist/components/Tabs/TabMenuItem.d.ts +1 -1
  267. package/dist/components/Tabs/TabMenuItem.js +20 -11
  268. package/dist/components/Tabs/TabsContext.js +3 -1
  269. package/dist/components/Tabs/index.d.ts +3 -3
  270. package/dist/components/Tabs/index.js +34 -14
  271. package/dist/components/Tag/index.d.ts +1 -1
  272. package/dist/components/Tag/index.js +45 -12
  273. package/dist/components/TagInput/index.d.ts +1 -1
  274. package/dist/components/TagInput/index.js +131 -52
  275. package/dist/components/TagInput/styles.css.d.ts +3 -0
  276. package/dist/components/TagList/index.d.ts +1 -1
  277. package/dist/components/TagList/index.js +132 -59
  278. package/dist/components/Text/index.d.ts +1 -1
  279. package/dist/components/Text/index.js +21 -17
  280. package/dist/components/TextArea/index.js +178 -103
  281. package/dist/components/TextInput/index.d.ts +1 -1
  282. package/dist/components/TextInput/index.js +286 -106
  283. package/dist/components/TimeInput/constants.js +1 -5
  284. package/dist/components/TimeInput/index.d.ts +1 -1
  285. package/dist/components/TimeInput/index.js +207 -118
  286. package/dist/components/Toaster/Toaster.js +1 -1
  287. package/dist/components/Toaster/ToasterContainer.d.ts +1 -1
  288. package/dist/components/Toaster/ToasterContainer.js +21 -2
  289. package/dist/components/Toaster/components/Button.d.ts +1 -1
  290. package/dist/components/Toaster/components/CloseButton.d.ts +1 -1
  291. package/dist/components/Toaster/components/CloseButton.js +12 -2
  292. package/dist/components/Toaster/components/Content.d.ts +1 -1
  293. package/dist/components/Toaster/components/Content.js +2 -4
  294. package/dist/components/Toaster/components/Link.d.ts +1 -1
  295. package/dist/components/Toaster/index.d.ts +2 -2
  296. package/dist/components/Toggle/index.js +101 -40
  297. package/dist/components/ToggleGroup/index.d.ts +3 -3
  298. package/dist/components/ToggleGroup/index.js +61 -22
  299. package/dist/components/Tooltip/index.d.ts +1 -1
  300. package/dist/components/Tooltip/index.js +42 -19
  301. package/dist/components/TreeMapChart/Tooltip.d.ts +1 -1
  302. package/dist/components/TreeMapChart/Tooltip.js +1 -1
  303. package/dist/components/TreeMapChart/index.d.ts +1 -1
  304. package/dist/components/TreeMapChart/index.js +33 -27
  305. package/dist/components/UnitInput/index.d.ts +1 -1
  306. package/dist/components/UnitInput/index.js +110 -29
  307. package/dist/components/VerificationCode/index.d.ts +1 -1
  308. package/dist/components/VerificationCode/index.js +80 -21
  309. package/dist/helpers/legend.js +4 -4
  310. package/dist/helpers/treeMap.d.ts +2 -1
  311. package/dist/index.d.ts +1 -1
  312. package/dist/index.js +2 -4
  313. package/dist/theme/ThemeProvider.d.ts +1 -1
  314. package/dist/theme/ThemeProvider.js +4 -2
  315. package/dist/theme/index.js +1 -8
  316. package/dist/ui.css +1 -1
  317. package/dist/utils/ids.js +1 -3
  318. package/dist/utils/index.d.ts +1 -1
  319. package/dist/utils/responsive/index.d.ts +0 -1
  320. package/dist/utils/responsive/style.css.d.ts +3 -0
  321. package/package.json +5 -10
  322. package/dist/utils/responsive/Breakpoint.d.ts +0 -9
  323. package/dist/utils/responsive/Breakpoint.js +0 -14
@@ -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 { MinusIcon, PlusIcon } from "@ultraviolet/icons";
4
4
  import { forwardRef, useRef, useImperativeHandle, useId, useMemo, useCallback } from "react";
5
5
  import { Button } from "../Button/index.js";
@@ -9,137 +9,246 @@ import { Stack } from "../Stack/index.js";
9
9
  import { Text } from "../Text/index.js";
10
10
  import { Tooltip } from "../Tooltip/index.js";
11
11
  import { numberinputContainer, numberinputSideContainer, inputContainer, numberinput, unit } from "./styles.css.js";
12
- const NumberInput = forwardRef(({
13
- disabled = false,
14
- max = Number.MAX_SAFE_INTEGER,
15
- min = 0,
16
- name,
17
- onChange,
18
- onFocus,
19
- onBlur,
20
- size = "large",
21
- step,
22
- unit: unit$1,
23
- value,
24
- tooltip,
25
- className,
26
- label,
27
- labelDescription,
28
- id,
29
- controls = true,
30
- placeholder = "",
31
- error,
32
- success,
33
- helper,
34
- "aria-label": ariaLabel,
35
- "data-testid": dataTestId,
36
- required,
37
- autoFocus,
38
- readOnly,
39
- style
40
- }, ref) => {
41
- const localRef = useRef(null);
42
- useImperativeHandle(ref, () => localRef.current);
43
- const uniqueId = useId();
44
- const localId = id ?? uniqueId;
45
- const computedState = useMemo(() => {
46
- if (disabled) {
47
- return "disabled";
48
- }
49
- if (readOnly) {
50
- return "readOnly";
51
- }
52
- if (error) {
53
- return "error";
54
- }
55
- if (success) {
56
- return "success";
57
- }
58
- return "default";
59
- }, [error, success, disabled, readOnly]);
60
- const onClickSideButton = useCallback((direction) => () => {
61
- if (direction === "up") {
62
- localRef.current?.stepUp();
63
- } else if (direction === "down") {
64
- localRef.current?.stepDown();
65
- }
66
- onChange?.(Number.parseFloat(localRef.current?.value ?? "") ?? min);
67
- }, [localRef, min, onChange]);
68
- const isMinusDisabled = useCallback(() => {
69
- if (!localRef?.current?.value || localRef?.current?.value === "") {
70
- return false;
71
- }
72
- const numericValue = Number(localRef?.current?.value);
73
- if (Number.isNaN(numericValue)) {
74
- return false;
75
- }
76
- const minValue = typeof min === "number" ? min : Number(min);
77
- return Number.isNaN(numericValue) || numericValue <= minValue;
78
- }, [localRef?.current?.value, min]);
79
- const isPlusDisabled = useCallback(() => {
80
- if (!localRef?.current?.value || localRef?.current?.value === "") {
81
- return false;
82
- }
83
- const numericValue = Number(localRef?.current?.value);
84
- if (Number.isNaN(numericValue)) {
85
- return false;
86
- }
87
- const maxValue = typeof max === "number" ? max : Number(max);
88
- return numericValue >= maxValue;
89
- }, [localRef?.current?.value, max]);
90
- const helperSentiment = useMemo(() => {
91
- if (error) {
92
- return "danger";
93
- }
94
- if (success) {
95
- return "success";
96
- }
97
- return "neutral";
98
- }, [error, success]);
99
- let inputValue;
100
- if (value !== void 0) {
101
- inputValue = value !== null && typeof value === "number" ? value.toString() : "";
102
- if (localRef.current) {
103
- localRef.current.value = inputValue;
12
+ const NumberInput = forwardRef(
13
+ ({
14
+ disabled = false,
15
+ max = Number.MAX_SAFE_INTEGER,
16
+ min = 0,
17
+ name,
18
+ onChange,
19
+ onFocus,
20
+ onBlur,
21
+ size = "large",
22
+ step,
23
+ unit: unit$1,
24
+ value,
25
+ tooltip,
26
+ className,
27
+ label,
28
+ labelDescription,
29
+ id,
30
+ controls = true,
31
+ placeholder = "",
32
+ error,
33
+ success,
34
+ helper,
35
+ "aria-label": ariaLabel,
36
+ "data-testid": dataTestId,
37
+ required,
38
+ autoFocus,
39
+ readOnly,
40
+ style
41
+ }, ref) => {
42
+ const localRef = useRef(null);
43
+ useImperativeHandle(ref, () => localRef.current);
44
+ const uniqueId = useId();
45
+ const localId = id ?? uniqueId;
46
+ const computedState = useMemo(() => {
47
+ if (disabled) {
48
+ return "disabled";
49
+ }
50
+ if (readOnly) {
51
+ return "readOnly";
52
+ }
53
+ if (error) {
54
+ return "error";
55
+ }
56
+ if (success) {
57
+ return "success";
58
+ }
59
+ return "default";
60
+ }, [error, success, disabled, readOnly]);
61
+ const onClickSideButton = useCallback(
62
+ (direction) => () => {
63
+ if (direction === "up") {
64
+ localRef.current?.stepUp();
65
+ } else if (direction === "down") {
66
+ localRef.current?.stepDown();
67
+ }
68
+ onChange?.(Number.parseFloat(localRef.current?.value ?? "") ?? min);
69
+ },
70
+ [localRef, min, onChange]
71
+ );
72
+ const isMinusDisabled = useCallback(() => {
73
+ if (!localRef?.current?.value || localRef?.current?.value === "") {
74
+ return false;
75
+ }
76
+ const numericValue = Number(localRef?.current?.value);
77
+ if (Number.isNaN(numericValue)) {
78
+ return false;
79
+ }
80
+ const minValue = typeof min === "number" ? min : Number(min);
81
+ return Number.isNaN(numericValue) || numericValue <= minValue;
82
+ }, [localRef?.current?.value, min]);
83
+ const isPlusDisabled = useCallback(() => {
84
+ if (!localRef?.current?.value || localRef?.current?.value === "") {
85
+ return false;
86
+ }
87
+ const numericValue = Number(localRef?.current?.value);
88
+ if (Number.isNaN(numericValue)) {
89
+ return false;
90
+ }
91
+ const maxValue = typeof max === "number" ? max : Number(max);
92
+ return numericValue >= maxValue;
93
+ }, [localRef?.current?.value, max]);
94
+ const helperSentiment = useMemo(() => {
95
+ if (error) {
96
+ return "danger";
97
+ }
98
+ if (success) {
99
+ return "success";
100
+ }
101
+ return "neutral";
102
+ }, [error, success]);
103
+ let inputValue;
104
+ if (value !== void 0) {
105
+ inputValue = value !== null && typeof value === "number" ? value.toString() : "";
106
+ if (localRef.current) {
107
+ localRef.current.value = inputValue;
108
+ }
104
109
  }
110
+ return /* @__PURE__ */ jsxs(Stack, { className, gap: "0.5", children: [
111
+ label || labelDescription ? /* @__PURE__ */ jsx(
112
+ Label,
113
+ {
114
+ htmlFor: id ?? localId,
115
+ labelDescription,
116
+ required,
117
+ size,
118
+ children: label
119
+ }
120
+ ) : null,
121
+ /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(Tooltip, { text: tooltip, children: /* @__PURE__ */ jsxs(
122
+ "div",
123
+ {
124
+ className: numberinputContainer({ size, state: computedState }),
125
+ "data-controls": controls,
126
+ "data-disabled": disabled,
127
+ "data-error": !!error,
128
+ "data-readonly": readOnly,
129
+ "data-size": size,
130
+ "data-success": !!success,
131
+ "data-unit": !!unit$1,
132
+ children: [
133
+ controls ? /* @__PURE__ */ jsx(
134
+ Stack,
135
+ {
136
+ alignItems: "center",
137
+ className: numberinputSideContainer[size],
138
+ "data-size": size,
139
+ justifyContent: "center",
140
+ children: /* @__PURE__ */ jsx(
141
+ Button,
142
+ {
143
+ "aria-label": "minus",
144
+ disabled: disabled || readOnly || isMinusDisabled(),
145
+ onClick: onClickSideButton("down"),
146
+ sentiment: "neutral",
147
+ size: size === "small" ? "xsmall" : "small",
148
+ variant: "ghost",
149
+ children: /* @__PURE__ */ jsx(MinusIcon, { size: size === "large" ? "small" : "small" })
150
+ }
151
+ )
152
+ }
153
+ ) : null,
154
+ /* @__PURE__ */ jsxs(
155
+ Row,
156
+ {
157
+ alignItems: "center",
158
+ className: inputContainer({ controls }),
159
+ justifyContent: "space-between",
160
+ templateColumns: "1fr auto",
161
+ children: [
162
+ /* @__PURE__ */ jsx(
163
+ "input",
164
+ {
165
+ "aria-label": ariaLabel,
166
+ autoFocus,
167
+ className: numberinput({ controls, hasUnit: !!unit$1, size }),
168
+ "data-testid": dataTestId,
169
+ disabled,
170
+ id: localId,
171
+ max,
172
+ min,
173
+ name,
174
+ onBlur: (event) => {
175
+ if (value && value > max) {
176
+ onChange?.(max);
177
+ } else if (value && value < min) {
178
+ onChange?.(min);
179
+ }
180
+ onBlur?.(event);
181
+ },
182
+ onChange: onChange ? (event) => {
183
+ const newNumber = Number.parseFloat(
184
+ event.target.value
185
+ );
186
+ onChange(Number.isNaN(newNumber) ? null : newNumber);
187
+ } : void 0,
188
+ onFocus,
189
+ placeholder,
190
+ readOnly,
191
+ ref: localRef,
192
+ required,
193
+ step,
194
+ style,
195
+ type: "number",
196
+ value: inputValue
197
+ }
198
+ ),
199
+ unit$1 ? /* @__PURE__ */ jsx(
200
+ Text,
201
+ {
202
+ as: "span",
203
+ className: unit({ disabled, readOnly, size }),
204
+ disabled,
205
+ sentiment: "neutral",
206
+ variant: "body",
207
+ children: unit$1
208
+ }
209
+ ) : null
210
+ ]
211
+ }
212
+ ),
213
+ controls ? /* @__PURE__ */ jsx(
214
+ Stack,
215
+ {
216
+ alignItems: "center",
217
+ className: numberinputSideContainer[size],
218
+ "data-size": size,
219
+ justifyContent: "center",
220
+ children: /* @__PURE__ */ jsx(
221
+ Button,
222
+ {
223
+ "aria-label": "plus",
224
+ disabled: disabled || readOnly || isPlusDisabled(),
225
+ onClick: onClickSideButton("up"),
226
+ sentiment: "neutral",
227
+ size: size === "small" ? "xsmall" : "small",
228
+ variant: "ghost",
229
+ children: /* @__PURE__ */ jsx(PlusIcon, { size: size === "large" ? "small" : "small" })
230
+ }
231
+ )
232
+ }
233
+ ) : null
234
+ ]
235
+ }
236
+ ) }) }),
237
+ error || typeof success === "string" || typeof helper === "string" ? /* @__PURE__ */ jsx(
238
+ Text,
239
+ {
240
+ as: "span",
241
+ disabled: disabled || readOnly,
242
+ prominence: !error && !success ? "weak" : "default",
243
+ sentiment: helperSentiment,
244
+ variant: "caption",
245
+ children: error || success || helper
246
+ }
247
+ ) : null,
248
+ !error && !success && typeof helper !== "string" && helper ? helper : null
249
+ ] });
105
250
  }
106
- return /* @__PURE__ */ jsxs(Stack, { className, gap: "0.5", children: [
107
- label || labelDescription ? /* @__PURE__ */ jsx(Label, { htmlFor: id ?? localId, labelDescription, required, size, children: label }) : null,
108
- /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(Tooltip, { text: tooltip, children: /* @__PURE__ */ jsxs("div", { className: numberinputContainer({
109
- size,
110
- state: computedState
111
- }), "data-controls": controls, "data-disabled": disabled, "data-error": !!error, "data-readonly": readOnly, "data-size": size, "data-success": !!success, "data-unit": !!unit$1, children: [
112
- controls ? /* @__PURE__ */ jsx(Stack, { alignItems: "center", className: numberinputSideContainer[size], "data-size": size, justifyContent: "center", children: /* @__PURE__ */ jsx(Button, { "aria-label": "minus", disabled: disabled || readOnly || isMinusDisabled(), onClick: onClickSideButton("down"), sentiment: "neutral", size: size === "small" ? "xsmall" : "small", variant: "ghost", children: /* @__PURE__ */ jsx(MinusIcon, { size: size === "large" ? "small" : "small" }) }) }) : null,
113
- /* @__PURE__ */ jsxs(Row, { alignItems: "center", className: inputContainer({
114
- controls
115
- }), justifyContent: "space-between", templateColumns: "1fr auto", children: [
116
- /* @__PURE__ */ jsx("input", { "aria-label": ariaLabel, autoFocus, className: numberinput({
117
- controls,
118
- hasUnit: !!unit$1,
119
- size
120
- }), "data-testid": dataTestId, disabled, id: localId, max, min, name, onBlur: (event) => {
121
- if (value && value > max) {
122
- onChange?.(max);
123
- } else if (value && value < min) {
124
- onChange?.(min);
125
- }
126
- onBlur?.(event);
127
- }, onChange: onChange ? (event) => {
128
- const newNumber = Number.parseFloat(event.target.value);
129
- onChange(Number.isNaN(newNumber) ? null : newNumber);
130
- } : void 0, onFocus, placeholder, readOnly, ref: localRef, required, step, style, type: "number", value: inputValue }),
131
- unit$1 ? /* @__PURE__ */ jsx(Text, { as: "span", className: unit({
132
- disabled,
133
- readOnly,
134
- size
135
- }), disabled, sentiment: "neutral", variant: "body", children: unit$1 }) : null
136
- ] }),
137
- controls ? /* @__PURE__ */ jsx(Stack, { alignItems: "center", className: numberinputSideContainer[size], "data-size": size, justifyContent: "center", children: /* @__PURE__ */ jsx(Button, { "aria-label": "plus", disabled: disabled || readOnly || isPlusDisabled(), onClick: onClickSideButton("up"), sentiment: "neutral", size: size === "small" ? "xsmall" : "small", variant: "ghost", children: /* @__PURE__ */ jsx(PlusIcon, { size: size === "large" ? "small" : "small" }) }) }) : null
138
- ] }) }) }),
139
- error || typeof success === "string" || typeof helper === "string" ? /* @__PURE__ */ jsx(Text, { as: "span", disabled: disabled || readOnly, prominence: !error && !success ? "weak" : "default", sentiment: helperSentiment, variant: "caption", children: error || success || helper }) : null,
140
- !error && !success && typeof helper !== "string" && helper ? helper : null
141
- ] });
142
- });
251
+ );
143
252
  export {
144
253
  NumberInput
145
254
  };
@@ -8,5 +8,5 @@ type PaginationButtonsProps = {
8
8
  'data-testid'?: string;
9
9
  perPage: boolean;
10
10
  };
11
- export declare const PaginationButtons: ({ page, disabled, onChange, pageCount, pageTabCount, "data-testid": dataTestId, className, perPage, }: PaginationButtonsProps) => import("@emotion/react/jsx-runtime").JSX.Element;
11
+ export declare const PaginationButtons: ({ page, disabled, onChange, pageCount, pageTabCount, "data-testid": dataTestId, className, perPage, }: PaginationButtonsProps) => import("react/jsx-runtime").JSX.Element;
12
12
  export {};
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { jsxs, jsx, Fragment } from "@emotion/react/jsx-runtime";
2
+ import { jsxs, jsx, Fragment } from "react/jsx-runtime";
3
3
  import { ArrowLeftIcon, ArrowRightIcon } from "@ultraviolet/icons";
4
4
  import { useCallback, useMemo } from "react";
5
5
  import { Button } from "../Button/index.js";
@@ -15,8 +15,34 @@ const MakeButton = ({
15
15
  handlePageClick,
16
16
  perPage
17
17
  }) => /* @__PURE__ */ jsxs(Fragment, { children: [
18
- hasEllipsisBefore ? /* @__PURE__ */ jsx(Text, { "aria-label": "ellipsis", as: "span", className: ellipsisClass[perPage ? "small" : "medium"], disabled, placement: "center", prominence: "default", sentiment: "neutral", variant: "body", children: "..." }) : null,
19
- /* @__PURE__ */ jsx(Button, { "aria-current": pageNumber === page, className: pageButton[perPage ? "small" : "medium"], disabled, onClick: handlePageClick(pageNumber), sentiment: pageNumber === page ? "primary" : "neutral", size: perPage ? "small" : "medium", type: "button", variant: pageNumber === page ? "filled" : "outlined", children: pageNumber })
18
+ hasEllipsisBefore ? /* @__PURE__ */ jsx(
19
+ Text,
20
+ {
21
+ "aria-label": "ellipsis",
22
+ as: "span",
23
+ className: ellipsisClass[perPage ? "small" : "medium"],
24
+ disabled,
25
+ placement: "center",
26
+ prominence: "default",
27
+ sentiment: "neutral",
28
+ variant: "body",
29
+ children: "..."
30
+ }
31
+ ) : null,
32
+ /* @__PURE__ */ jsx(
33
+ Button,
34
+ {
35
+ "aria-current": pageNumber === page,
36
+ className: pageButton[perPage ? "small" : "medium"],
37
+ disabled,
38
+ onClick: handlePageClick(pageNumber),
39
+ sentiment: pageNumber === page ? "primary" : "neutral",
40
+ size: perPage ? "small" : "medium",
41
+ type: "button",
42
+ variant: pageNumber === page ? "filled" : "outlined",
43
+ children: pageNumber
44
+ }
45
+ )
20
46
  ] });
21
47
  const PaginationButtons = ({
22
48
  page,
@@ -34,14 +60,53 @@ const PaginationButtons = ({
34
60
  const goToPreviousPage = useCallback(() => {
35
61
  onChange(page - 1);
36
62
  }, [onChange, page]);
37
- const pageNumbersToDisplay = useMemo(() => pageCount > 1 ? getPageNumbers(page, pageCount, pageTabCount) : [1], [page, pageCount, pageTabCount]);
38
- const handlePageClick = useCallback((pageNumber) => () => {
39
- onChange(pageNumber);
40
- }, [onChange]);
63
+ const pageNumbersToDisplay = useMemo(
64
+ () => pageCount > 1 ? getPageNumbers(page, pageCount, pageTabCount) : [1],
65
+ [page, pageCount, pageTabCount]
66
+ );
67
+ const handlePageClick = useCallback(
68
+ (pageNumber) => () => {
69
+ onChange(pageNumber);
70
+ },
71
+ [onChange]
72
+ );
41
73
  return /* @__PURE__ */ jsxs(Stack, { className, "data-testid": dataTestId, direction: "row", children: [
42
- /* @__PURE__ */ jsx(Stack, { gap: 1, children: /* @__PURE__ */ jsx(Button, { "aria-label": "Back", disabled: page <= 1 || disabled, onClick: goToPreviousPage, sentiment: "primary", size: perPage ? "small" : "medium", variant: "outlined", children: /* @__PURE__ */ jsx(ArrowLeftIcon, {}) }) }),
43
- /* @__PURE__ */ jsx(Stack, { className: pageNumbersContainer, direction: "row", gap: 1, children: pageNumbersToDisplay.map((pageNumber, index) => /* @__PURE__ */ jsx(MakeButton, { disabled, handlePageClick, hasEllipsisBefore: !(index === 0 || pageNumbersToDisplay[index - 1] === pageNumber - 1), page, pageNumber, perPage }, pageNumber)) }),
44
- /* @__PURE__ */ jsx(Stack, { gap: 1, children: /* @__PURE__ */ jsx(Button, { "aria-label": "Next", disabled: page >= pageCount || disabled, onClick: goToNextPage, sentiment: "primary", size: perPage ? "small" : "medium", variant: "outlined", children: /* @__PURE__ */ jsx(ArrowRightIcon, {}) }) })
74
+ /* @__PURE__ */ jsx(Stack, { gap: 1, children: /* @__PURE__ */ jsx(
75
+ Button,
76
+ {
77
+ "aria-label": "Back",
78
+ disabled: page <= 1 || disabled,
79
+ onClick: goToPreviousPage,
80
+ sentiment: "primary",
81
+ size: perPage ? "small" : "medium",
82
+ variant: "outlined",
83
+ children: /* @__PURE__ */ jsx(ArrowLeftIcon, {})
84
+ }
85
+ ) }),
86
+ /* @__PURE__ */ jsx(Stack, { className: pageNumbersContainer, direction: "row", gap: 1, children: pageNumbersToDisplay.map((pageNumber, index) => /* @__PURE__ */ jsx(
87
+ MakeButton,
88
+ {
89
+ disabled,
90
+ handlePageClick,
91
+ hasEllipsisBefore: !(index === 0 || pageNumbersToDisplay[index - 1] === pageNumber - 1),
92
+ page,
93
+ pageNumber,
94
+ perPage
95
+ },
96
+ pageNumber
97
+ )) }),
98
+ /* @__PURE__ */ jsx(Stack, { gap: 1, children: /* @__PURE__ */ jsx(
99
+ Button,
100
+ {
101
+ "aria-label": "Next",
102
+ disabled: page >= pageCount || disabled,
103
+ onClick: goToNextPage,
104
+ sentiment: "primary",
105
+ size: perPage ? "small" : "medium",
106
+ variant: "outlined",
107
+ children: /* @__PURE__ */ jsx(ArrowRightIcon, {})
108
+ }
109
+ ) })
45
110
  ] });
46
111
  };
47
112
  export {
@@ -8,5 +8,5 @@ type PerPageProps = {
8
8
  page: number;
9
9
  numberOfItems: number;
10
10
  };
11
- export declare const PerPage: ({ perPage, onChangePerPage, perPageText, setPerPage, numberOfItemsText, page, numberOfItems, }: PerPageProps) => import("@emotion/react/jsx-runtime").JSX.Element;
11
+ export declare const PerPage: ({ perPage, onChangePerPage, perPageText, setPerPage, numberOfItemsText, page, numberOfItems, }: PerPageProps) => import("react/jsx-runtime").JSX.Element;
12
12
  export {};
@@ -1,21 +1,26 @@
1
1
  "use client";
2
- import { jsxs, jsx } from "@emotion/react/jsx-runtime";
2
+ import { jsxs, jsx } from "react/jsx-runtime";
3
3
  import { SelectInput } from "../SelectInput/index.js";
4
4
  import { Stack } from "../Stack/index.js";
5
5
  import { Text } from "../Text/index.js";
6
- const optionsItemsPerPage = [{
7
- label: "10",
8
- value: "10"
9
- }, {
10
- label: "25",
11
- value: "25"
12
- }, {
13
- label: "50",
14
- value: "50"
15
- }, {
16
- label: "100",
17
- value: "100"
18
- }];
6
+ const optionsItemsPerPage = [
7
+ {
8
+ label: "10",
9
+ value: "10"
10
+ },
11
+ {
12
+ label: "25",
13
+ value: "25"
14
+ },
15
+ {
16
+ label: "50",
17
+ value: "50"
18
+ },
19
+ {
20
+ label: "100",
21
+ value: "100"
22
+ }
23
+ ];
19
24
  const PerPage = ({
20
25
  perPage,
21
26
  onChangePerPage,
@@ -32,9 +37,19 @@ const PerPage = ({
32
37
  };
33
38
  return /* @__PURE__ */ jsxs(Stack, { alignItems: "center", direction: "row", gap: "2", children: [
34
39
  /* @__PURE__ */ jsx(Text, { as: "span", prominence: "weak", sentiment: "neutral", variant: "body", children: perPageText ?? "Items per page" }),
35
- /* @__PURE__ */ jsx(SelectInput, { name: "select-items-per-page", onChange: handleChange, options: optionsItemsPerPage, size: "small", style: {
36
- width: "fit-content"
37
- }, value: perPage.toString() }),
40
+ /* @__PURE__ */ jsx(
41
+ SelectInput,
42
+ {
43
+ name: "select-items-per-page",
44
+ onChange: handleChange,
45
+ options: optionsItemsPerPage,
46
+ size: "small",
47
+ style: {
48
+ width: "fit-content"
49
+ },
50
+ value: perPage.toString()
51
+ }
52
+ ),
38
53
  /* @__PURE__ */ jsxs(Text, { as: "span", prominence: "weak", sentiment: "neutral", variant: "body", children: [
39
54
  (page - 1) * perPage + 1,
40
55
  "-",
@@ -3,20 +3,19 @@ const getPageNumbers = (currentPage, pageCount, range = 5) => {
3
3
  const truncationBefore = currentPage >= range;
4
4
  const truncationAfter = currentPage <= pageCount - range + 1 || currentPage < range;
5
5
  if (pageCount <= range) {
6
- return Array.from({
7
- length: pageCount
8
- }, (_, index) => index + 1);
6
+ return Array.from({ length: pageCount }, (_, index) => index + 1);
9
7
  }
10
- const pagesToShowBeforeTruncation = truncationBefore ? [1] : Array.from({
11
- length: range
12
- }, (_, index) => index + 1);
13
- const pagesToShowAfterTruncation = truncationAfter ? [pageCount] : Array.from({
14
- length: range
15
- }, (_, index) => index + pageCount - range + 1);
16
- const pagesToShowBetweenTruncation = truncationBefore && truncationAfter ? Array.from({
17
- length: NUMBER_OF_BUTTONS_IN_BETWEEN
18
- }, (_, index) => currentPage + index - 1) : [];
19
- return [...pagesToShowBeforeTruncation, ...pagesToShowBetweenTruncation, ...pagesToShowAfterTruncation];
8
+ const pagesToShowBeforeTruncation = truncationBefore ? [1] : Array.from({ length: range }, (_, index) => index + 1);
9
+ const pagesToShowAfterTruncation = truncationAfter ? [pageCount] : Array.from({ length: range }, (_, index) => index + pageCount - range + 1);
10
+ const pagesToShowBetweenTruncation = truncationBefore && truncationAfter ? Array.from(
11
+ { length: NUMBER_OF_BUTTONS_IN_BETWEEN },
12
+ (_, index) => currentPage + index - 1
13
+ ) : [];
14
+ return [
15
+ ...pagesToShowBeforeTruncation,
16
+ ...pagesToShowBetweenTruncation,
17
+ ...pagesToShowAfterTruncation
18
+ ];
20
19
  };
21
20
  export {
22
21
  getPageNumbers
@@ -55,5 +55,5 @@ type PaginationProps = {
55
55
  * Pagination is a component to navigate between pages, it is composed of 2 buttons to go to the previous and next page,
56
56
  * and a list of buttons to go to a specific page.
57
57
  */
58
- export declare const Pagination: ({ disabled, page, pageCount, onChange, pageTabCount, className, perPage, onChangePerPage, perPageText, numberOfItemsText, numberOfItems, "data-testid": dataTestId, style, }: PaginationProps) => import("@emotion/react/jsx-runtime").JSX.Element;
58
+ export declare const Pagination: ({ disabled, page, pageCount, onChange, pageTabCount, className, perPage, onChangePerPage, perPageText, numberOfItemsText, numberOfItems, "data-testid": dataTestId, style, }: PaginationProps) => import("react/jsx-runtime").JSX.Element;
59
59
  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 { useState, useEffect } from "react";
4
4
  import { Stack } from "../Stack/index.js";
5
5
  import { PaginationButtons } from "./PaginationButtons.js";
@@ -34,8 +34,31 @@ const Pagination = ({
34
34
  }
35
35
  }, [perPage]);
36
36
  return /* @__PURE__ */ jsxs(Stack, { direction: "row", justifyContent: "space-between", style, children: [
37
- perPage ? /* @__PURE__ */ jsx(PerPage, { numberOfItems, numberOfItemsText, onChangePerPage, page, perPage: perPageComputed, perPageText, setPerPage }) : null,
38
- /* @__PURE__ */ jsx(PaginationButtons, { className, "data-testid": dataTestId, disabled, onChange, page, pageCount, pageTabCount, perPage: !!perPage })
37
+ perPage ? /* @__PURE__ */ jsx(
38
+ PerPage,
39
+ {
40
+ numberOfItems,
41
+ numberOfItemsText,
42
+ onChangePerPage,
43
+ page,
44
+ perPage: perPageComputed,
45
+ perPageText,
46
+ setPerPage
47
+ }
48
+ ) : null,
49
+ /* @__PURE__ */ jsx(
50
+ PaginationButtons,
51
+ {
52
+ className,
53
+ "data-testid": dataTestId,
54
+ disabled,
55
+ onChange,
56
+ page,
57
+ pageCount,
58
+ pageTabCount,
59
+ perPage: !!perPage
60
+ }
61
+ )
39
62
  ] });
40
63
  };
41
64
  export {
@@ -18,5 +18,5 @@ type PasswordCheckProps = {
18
18
  * PasswordCheck is a component that display a list of password rules with a check or a cross depending on the validity
19
19
  * of the rule.
20
20
  */
21
- export declare const PasswordCheck: ({ rules, className, "data-testid": dataTestId, style, }: PasswordCheckProps) => import("@emotion/react/jsx-runtime").JSX.Element;
21
+ export declare const PasswordCheck: ({ rules, className, "data-testid": dataTestId, style, }: PasswordCheckProps) => import("react/jsx-runtime").JSX.Element;
22
22
  export {};