@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 { jsxs, jsx } from "@emotion/react/jsx-runtime";
2
+ import { jsxs, jsx } from "react/jsx-runtime";
3
3
  import { CloseIcon, CheckCircleIcon, AlertCircleIcon, EyeOffIcon, EyeIcon, AutoFixIcon } from "@ultraviolet/icons";
4
4
  import { forwardRef, useId, useState, useRef, useImperativeHandle, useMemo, useCallback } from "react";
5
5
  import { Button } from "../Button/index.js";
@@ -9,111 +9,291 @@ 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 { inputWrapper, inputWrapperSizes, basicPrefix, inputClass, stateStack, basicSuffix, ctaSuffix } from "./styles.css.js";
12
- const TextInput = forwardRef(({
13
- id,
14
- className,
15
- tabIndex,
16
- value,
17
- onChange,
18
- onChangeValue,
19
- placeholder,
20
- disabled = false,
21
- readOnly = false,
22
- success,
23
- error,
24
- helper,
25
- tooltip,
26
- label,
27
- autoFocus,
28
- required = false,
29
- "data-testid": dataTestId,
30
- name,
31
- onFocus,
32
- onBlur,
33
- clearable = false,
34
- labelDescription,
35
- type = "text",
36
- prefix,
37
- suffix,
38
- size = "large",
39
- loading,
40
- onRandomize,
41
- minLength,
42
- maxLength,
43
- "aria-labelledby": ariaLabelledBy,
44
- "aria-label": ariaLabel,
45
- autoComplete,
46
- onKeyDown,
47
- onKeyUp,
48
- role,
49
- "aria-live": ariaLive,
50
- "aria-atomic": ariaAtomic,
51
- defaultValue,
52
- style
53
- }, ref) => {
54
- const localId = useId();
55
- const [hasFocus, setHasFocus] = useState(false);
56
- const [localValue, setLocalValue] = useState(defaultValue);
57
- const inputRef = useRef(null);
58
- useImperativeHandle(ref, () => inputRef.current);
59
- const [isPasswordVisible, setIsPasswordVisible] = useState(false);
60
- const computedType = type === "password" && isPasswordVisible ? "text" : type;
61
- const sentiment = useMemo(() => {
62
- if (error) {
63
- return "danger";
64
- }
65
- if (success) {
66
- return "success";
67
- }
68
- return "neutral";
69
- }, [error, success]);
70
- const onChangeCallback = useCallback((event) => {
71
- onChange?.(event);
72
- onChangeValue?.(event.target.value);
73
- setLocalValue(event.target.value);
74
- }, [onChange, onChangeValue]);
75
- const computedValue = value !== void 0 ? value : localValue;
76
- const computedClearable = clearable && !!computedValue;
77
- return /* @__PURE__ */ jsxs(Stack, { "aria-atomic": ariaAtomic, "aria-live": ariaLive, className, gap: 0.5, role, children: [
78
- label || labelDescription ? /* @__PURE__ */ jsx(Label, { htmlFor: id ?? localId, id: ariaLabelledBy, labelDescription, required, size, children: label }) : null,
79
- /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(Tooltip, { text: tooltip, children: /* @__PURE__ */ jsxs("div", { className: `${inputWrapper} ${inputWrapperSizes[size]}`, "data-disabled": disabled, "data-error": !!error, "data-has-focus": hasFocus, "data-readonly": readOnly, "data-success": !!success, children: [
80
- prefix ? /* @__PURE__ */ jsx(Stack, { alignItems: "center", className: basicPrefix, "data-size": size, direction: "row", children: typeof prefix === "string" ? /* @__PURE__ */ jsx(Text, { as: "span", disabled, sentiment: "neutral", variant: "bodySmall", children: prefix }) : prefix }) : null,
81
- /* @__PURE__ */ jsx("input", { "aria-invalid": !!error, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, autoComplete, autoFocus, className: inputClass, "data-size": size, "data-testid": dataTestId, defaultValue, disabled, id: id ?? localId, maxLength, minLength, name, onBlur: (event) => {
82
- setHasFocus(false);
83
- onBlur?.(event);
84
- }, onChange: onChangeCallback, onFocus: (event) => {
85
- setHasFocus(true);
86
- onFocus?.(event);
87
- }, onKeyDown, onKeyUp, placeholder, readOnly, ref: inputRef, required, style, tabIndex, type: computedType, value }),
88
- success || error || loading || computedClearable ? /* @__PURE__ */ jsxs(Stack, { alignItems: "center", className: stateStack, direction: "row", gap: 1, children: [
89
- computedClearable ? /* @__PURE__ */ jsx(Button, { "aria-label": "clear value", disabled: disabled || !computedValue, onClick: () => {
90
- if (inputRef?.current) {
91
- inputRef.current.value = "";
92
- setLocalValue("");
93
- onChangeCallback({
94
- currentTarget: {
95
- value: ""
96
- },
97
- target: {
98
- value: ""
99
- }
100
- });
101
- }
102
- }, sentiment: "neutral", size: size === "small" ? "xsmall" : "small", variant: "ghost", children: /* @__PURE__ */ jsx(CloseIcon, { size: "small" }) }) : null,
103
- success ? /* @__PURE__ */ jsx(CheckCircleIcon, { disabled, sentiment: "success", size: "small" }) : null,
104
- error ? /* @__PURE__ */ jsx(AlertCircleIcon, { disabled, sentiment: "danger", size: "small" }) : null,
105
- loading && !disabled ? /* @__PURE__ */ jsx(Loader, { active: true, size: "small" }) : null
106
- ] }) : null,
107
- suffix ? /* @__PURE__ */ jsx(Stack, { alignItems: "center", className: basicSuffix, direction: "row", children: typeof suffix === "string" ? /* @__PURE__ */ jsx(Text, { as: "span", disabled, sentiment: "neutral", variant: "bodySmall", children: suffix }) : suffix }) : null,
108
- type === "password" ? /* @__PURE__ */ jsx(Stack, { alignItems: "center", className: ctaSuffix, direction: "row", children: /* @__PURE__ */ jsx(Button, { "aria-label": isPasswordVisible ? "hide" : "show", "data-testid": dataTestId ? `${dataTestId}-visibility-button` : void 0, disabled, onClick: () => {
109
- setIsPasswordVisible(!isPasswordVisible);
110
- }, sentiment: "neutral", size: size === "small" ? "xsmall" : "small", variant: "ghost", children: isPasswordVisible ? /* @__PURE__ */ jsx(EyeOffIcon, {}) : /* @__PURE__ */ jsx(EyeIcon, {}) }) }) : null,
111
- onRandomize ? /* @__PURE__ */ jsx(Stack, { alignItems: "center", className: ctaSuffix, direction: "row", children: /* @__PURE__ */ jsx(Button, { disabled, onClick: onRandomize, sentiment: "neutral", size: size === "small" ? "xsmall" : "small", variant: "ghost", children: /* @__PURE__ */ jsx(AutoFixIcon, {}) }) }) : null
112
- ] }) }) }),
113
- error || typeof success === "string" || typeof helper === "string" ? /* @__PURE__ */ jsx(Text, { as: "p", disabled, prominence: !error && !success ? "weak" : "default", sentiment, variant: "caption", children: error || success || helper }) : null,
114
- !error && !success && typeof helper !== "string" && helper ? helper : null
115
- ] });
116
- });
12
+ const TextInput = forwardRef(
13
+ ({
14
+ id,
15
+ className,
16
+ tabIndex,
17
+ value,
18
+ onChange,
19
+ onChangeValue,
20
+ placeholder,
21
+ disabled = false,
22
+ readOnly = false,
23
+ success,
24
+ error,
25
+ helper,
26
+ tooltip,
27
+ label,
28
+ autoFocus,
29
+ required = false,
30
+ "data-testid": dataTestId,
31
+ name,
32
+ onFocus,
33
+ onBlur,
34
+ clearable = false,
35
+ labelDescription,
36
+ type = "text",
37
+ prefix,
38
+ suffix,
39
+ size = "large",
40
+ loading,
41
+ onRandomize,
42
+ minLength,
43
+ maxLength,
44
+ "aria-labelledby": ariaLabelledBy,
45
+ "aria-label": ariaLabel,
46
+ autoComplete,
47
+ onKeyDown,
48
+ onKeyUp,
49
+ role,
50
+ "aria-live": ariaLive,
51
+ "aria-atomic": ariaAtomic,
52
+ defaultValue,
53
+ style
54
+ }, ref) => {
55
+ const localId = useId();
56
+ const [hasFocus, setHasFocus] = useState(false);
57
+ const [localValue, setLocalValue] = useState(defaultValue);
58
+ const inputRef = useRef(null);
59
+ useImperativeHandle(ref, () => inputRef.current);
60
+ const [isPasswordVisible, setIsPasswordVisible] = useState(false);
61
+ const computedType = type === "password" && isPasswordVisible ? "text" : type;
62
+ const sentiment = useMemo(() => {
63
+ if (error) {
64
+ return "danger";
65
+ }
66
+ if (success) {
67
+ return "success";
68
+ }
69
+ return "neutral";
70
+ }, [error, success]);
71
+ const onChangeCallback = useCallback(
72
+ (event) => {
73
+ onChange?.(event);
74
+ onChangeValue?.(event.target.value);
75
+ setLocalValue(event.target.value);
76
+ },
77
+ [onChange, onChangeValue]
78
+ );
79
+ const computedValue = value !== void 0 ? value : localValue;
80
+ const computedClearable = clearable && !!computedValue;
81
+ return /* @__PURE__ */ jsxs(
82
+ Stack,
83
+ {
84
+ "aria-atomic": ariaAtomic,
85
+ "aria-live": ariaLive,
86
+ className,
87
+ gap: 0.5,
88
+ role,
89
+ children: [
90
+ label || labelDescription ? /* @__PURE__ */ jsx(
91
+ Label,
92
+ {
93
+ htmlFor: id ?? localId,
94
+ id: ariaLabelledBy,
95
+ labelDescription,
96
+ required,
97
+ size,
98
+ children: label
99
+ }
100
+ ) : null,
101
+ /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(Tooltip, { text: tooltip, children: /* @__PURE__ */ jsxs(
102
+ "div",
103
+ {
104
+ className: `${inputWrapper} ${inputWrapperSizes[size]}`,
105
+ "data-disabled": disabled,
106
+ "data-error": !!error,
107
+ "data-has-focus": hasFocus,
108
+ "data-readonly": readOnly,
109
+ "data-success": !!success,
110
+ children: [
111
+ prefix ? /* @__PURE__ */ jsx(
112
+ Stack,
113
+ {
114
+ alignItems: "center",
115
+ className: basicPrefix,
116
+ "data-size": size,
117
+ direction: "row",
118
+ children: typeof prefix === "string" ? /* @__PURE__ */ jsx(
119
+ Text,
120
+ {
121
+ as: "span",
122
+ disabled,
123
+ sentiment: "neutral",
124
+ variant: "bodySmall",
125
+ children: prefix
126
+ }
127
+ ) : prefix
128
+ }
129
+ ) : null,
130
+ /* @__PURE__ */ jsx(
131
+ "input",
132
+ {
133
+ "aria-invalid": !!error,
134
+ "aria-label": ariaLabel,
135
+ "aria-labelledby": ariaLabelledBy,
136
+ autoComplete,
137
+ autoFocus,
138
+ className: inputClass,
139
+ "data-size": size,
140
+ "data-testid": dataTestId,
141
+ defaultValue,
142
+ disabled,
143
+ id: id ?? localId,
144
+ maxLength,
145
+ minLength,
146
+ name,
147
+ onBlur: (event) => {
148
+ setHasFocus(false);
149
+ onBlur?.(event);
150
+ },
151
+ onChange: onChangeCallback,
152
+ onFocus: (event) => {
153
+ setHasFocus(true);
154
+ onFocus?.(event);
155
+ },
156
+ onKeyDown,
157
+ onKeyUp,
158
+ placeholder,
159
+ readOnly,
160
+ ref: inputRef,
161
+ required,
162
+ style,
163
+ tabIndex,
164
+ type: computedType,
165
+ value
166
+ }
167
+ ),
168
+ success || error || loading || computedClearable ? /* @__PURE__ */ jsxs(
169
+ Stack,
170
+ {
171
+ alignItems: "center",
172
+ className: stateStack,
173
+ direction: "row",
174
+ gap: 1,
175
+ children: [
176
+ computedClearable ? /* @__PURE__ */ jsx(
177
+ Button,
178
+ {
179
+ "aria-label": "clear value",
180
+ disabled: disabled || !computedValue,
181
+ onClick: () => {
182
+ if (inputRef?.current) {
183
+ inputRef.current.value = "";
184
+ setLocalValue("");
185
+ onChangeCallback({
186
+ currentTarget: { value: "" },
187
+ target: { value: "" }
188
+ });
189
+ }
190
+ },
191
+ sentiment: "neutral",
192
+ size: size === "small" ? "xsmall" : "small",
193
+ variant: "ghost",
194
+ children: /* @__PURE__ */ jsx(CloseIcon, { size: "small" })
195
+ }
196
+ ) : null,
197
+ success ? /* @__PURE__ */ jsx(
198
+ CheckCircleIcon,
199
+ {
200
+ disabled,
201
+ sentiment: "success",
202
+ size: "small"
203
+ }
204
+ ) : null,
205
+ error ? /* @__PURE__ */ jsx(
206
+ AlertCircleIcon,
207
+ {
208
+ disabled,
209
+ sentiment: "danger",
210
+ size: "small"
211
+ }
212
+ ) : null,
213
+ loading && !disabled ? /* @__PURE__ */ jsx(Loader, { active: true, size: "small" }) : null
214
+ ]
215
+ }
216
+ ) : null,
217
+ suffix ? /* @__PURE__ */ jsx(
218
+ Stack,
219
+ {
220
+ alignItems: "center",
221
+ className: basicSuffix,
222
+ direction: "row",
223
+ children: typeof suffix === "string" ? /* @__PURE__ */ jsx(
224
+ Text,
225
+ {
226
+ as: "span",
227
+ disabled,
228
+ sentiment: "neutral",
229
+ variant: "bodySmall",
230
+ children: suffix
231
+ }
232
+ ) : suffix
233
+ }
234
+ ) : null,
235
+ type === "password" ? /* @__PURE__ */ jsx(
236
+ Stack,
237
+ {
238
+ alignItems: "center",
239
+ className: ctaSuffix,
240
+ direction: "row",
241
+ children: /* @__PURE__ */ jsx(
242
+ Button,
243
+ {
244
+ "aria-label": isPasswordVisible ? "hide" : "show",
245
+ "data-testid": dataTestId ? `${dataTestId}-visibility-button` : void 0,
246
+ disabled,
247
+ onClick: () => {
248
+ setIsPasswordVisible(!isPasswordVisible);
249
+ },
250
+ sentiment: "neutral",
251
+ size: size === "small" ? "xsmall" : "small",
252
+ variant: "ghost",
253
+ children: isPasswordVisible ? /* @__PURE__ */ jsx(EyeOffIcon, {}) : /* @__PURE__ */ jsx(EyeIcon, {})
254
+ }
255
+ )
256
+ }
257
+ ) : null,
258
+ onRandomize ? /* @__PURE__ */ jsx(
259
+ Stack,
260
+ {
261
+ alignItems: "center",
262
+ className: ctaSuffix,
263
+ direction: "row",
264
+ children: /* @__PURE__ */ jsx(
265
+ Button,
266
+ {
267
+ disabled,
268
+ onClick: onRandomize,
269
+ sentiment: "neutral",
270
+ size: size === "small" ? "xsmall" : "small",
271
+ variant: "ghost",
272
+ children: /* @__PURE__ */ jsx(AutoFixIcon, {})
273
+ }
274
+ )
275
+ }
276
+ ) : null
277
+ ]
278
+ }
279
+ ) }) }),
280
+ error || typeof success === "string" || typeof helper === "string" ? /* @__PURE__ */ jsx(
281
+ Text,
282
+ {
283
+ as: "p",
284
+ disabled,
285
+ prominence: !error && !success ? "weak" : "default",
286
+ sentiment,
287
+ variant: "caption",
288
+ children: error || success || helper
289
+ }
290
+ ) : null,
291
+ !error && !success && typeof helper !== "string" && helper ? helper : null
292
+ ]
293
+ }
294
+ );
295
+ }
296
+ );
117
297
  export {
118
298
  TextInput
119
299
  };
@@ -1,8 +1,4 @@
1
- const DEFAULT_PLACEHOLDER = {
2
- h: "00",
3
- m: "00",
4
- s: "00"
5
- };
1
+ const DEFAULT_PLACEHOLDER = { h: "00", m: "00", s: "00" };
6
2
  const TIME_KEYS = ["h", "m", "s"];
7
3
  const DEFAULT_DATE = /* @__PURE__ */ new Date();
8
4
  DEFAULT_DATE.setHours(0, 0, 0);
@@ -39,5 +39,5 @@ type TimeInputProps = {
39
39
  * A time input component that allows users to type a time in a 24 or 12-hour format.
40
40
  * @experimental This component is experimental and may be subject to breaking changes in the future.
41
41
  */
42
- export declare const TimeInput: ({ label, timeFormat, value, clearable, required, labelDescription, helper, size, disabled, readOnly, error, onChange, onBlur, onFocus, className, id, autoFocus, style, "data-testid": dataTestId, placeholder, "aria-label": ariaLabel, }: TimeInputProps) => import("@emotion/react/jsx-runtime").JSX.Element;
42
+ export declare const TimeInput: ({ label, timeFormat, value, clearable, required, labelDescription, helper, size, disabled, readOnly, error, onChange, onBlur, onFocus, className, id, autoFocus, style, "data-testid": dataTestId, placeholder, "aria-label": ariaLabel, }: TimeInputProps) => import("react/jsx-runtime").JSX.Element;
43
43
  export {};