@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 { useTheme } from "@ultraviolet/themes";
4
4
  import { assignInlineVars } from "@vanilla-extract/dynamic";
5
5
  import { useId, useRef, useState, useEffect, useMemo, useCallback } from "react";
@@ -78,15 +78,18 @@ const DoubleSlider = ({
78
78
  }
79
79
  return [];
80
80
  }, [options]);
81
- const internalOnChangeRef = useCallback((localValue) => {
82
- let leftSliderValue = localValue[0] === null ? min : localValue[0];
83
- let rightSliderValue = localValue[1] === null ? max : localValue[1];
84
- leftSliderValue = Math.max(min, Math.min(leftSliderValue, max));
85
- rightSliderValue = Math.max(min, Math.min(rightSliderValue, max));
86
- const newValues = [leftSliderValue, rightSliderValue];
87
- setSelectedIndexes(newValues);
88
- onChange?.([Math.min(...newValues), Math.max(...newValues)]);
89
- }, [max, min, onChange]);
81
+ const internalOnChangeRef = useCallback(
82
+ (localValue) => {
83
+ let leftSliderValue = localValue[0] === null ? min : localValue[0];
84
+ let rightSliderValue = localValue[1] === null ? max : localValue[1];
85
+ leftSliderValue = Math.max(min, Math.min(leftSliderValue, max));
86
+ rightSliderValue = Math.max(min, Math.min(rightSliderValue, max));
87
+ const newValues = [leftSliderValue, rightSliderValue];
88
+ setSelectedIndexes(newValues);
89
+ onChange?.([Math.min(...newValues), Math.max(...newValues)]);
90
+ },
91
+ [max, min, onChange]
92
+ );
90
93
  useEffect(() => {
91
94
  const setWidthResize = () => {
92
95
  setWidth(Number(refSlider.current?.offsetWidth));
@@ -109,42 +112,69 @@ const DoubleSlider = ({
109
112
  setInputValue([selectedIndexes[0], val]);
110
113
  }
111
114
  };
112
- const styledValue = (valueNumber, side) => input && !options ? /* @__PURE__ */ jsx(NumberInput, { "aria-label": `input-${side}`, controls: false, "data-testid": side ? `slider-input-${side}` : "slider-input", disabled, max, min, onBlur: (event) => {
113
- if (!event.target.value) {
114
- if (side === "left") {
115
- const index = activeValue("left");
116
- if (index === 0) {
117
- internalOnChangeRef([min, selectedIndexes[1]]);
115
+ const styledValue = (valueNumber, side) => input && !options ? /* @__PURE__ */ jsx(
116
+ NumberInput,
117
+ {
118
+ "aria-label": `input-${side}`,
119
+ controls: false,
120
+ "data-testid": side ? `slider-input-${side}` : "slider-input",
121
+ disabled,
122
+ max,
123
+ min,
124
+ onBlur: (event) => {
125
+ if (!event.target.value) {
126
+ if (side === "left") {
127
+ const index = activeValue("left");
128
+ if (index === 0) {
129
+ internalOnChangeRef([min, selectedIndexes[1]]);
130
+ } else {
131
+ internalOnChangeRef([selectedIndexes[0], max]);
132
+ }
133
+ }
134
+ if (side === "right") {
135
+ const index = activeValue("right");
136
+ if (index === 0) {
137
+ internalOnChangeRef([min, selectedIndexes[1]]);
138
+ } else {
139
+ internalOnChangeRef([selectedIndexes[0], max]);
140
+ }
141
+ }
118
142
  } else {
119
- internalOnChangeRef([selectedIndexes[0], max]);
143
+ const newValue = Number.parseFloat(event.target.value);
144
+ if (side === "left") {
145
+ internalOnChangeRef([newValue, selectedIndexes[1]]);
146
+ } else if (side === "right") {
147
+ internalOnChangeRef([selectedIndexes[0], newValue]);
148
+ }
120
149
  }
121
- }
122
- if (side === "right") {
123
- const index = activeValue("right");
124
- if (index === 0) {
125
- internalOnChangeRef([min, selectedIndexes[1]]);
126
- } else {
127
- internalOnChangeRef([selectedIndexes[0], max]);
128
- }
129
- }
130
- } else {
131
- const newValue = Number.parseFloat(event.target.value);
132
- if (side === "left") {
133
- internalOnChangeRef([newValue, selectedIndexes[1]]);
134
- } else if (side === "right") {
135
- internalOnChangeRef([selectedIndexes[0], newValue]);
136
- }
150
+ },
151
+ onChange: (newVal) => {
152
+ handleChangeInput(newVal, side);
153
+ },
154
+ size: "small",
155
+ step,
156
+ unit: typeof suffix === "string" ? suffix : unit,
157
+ value: side === "left" ? inputValue?.[0] : inputValue?.[1]
137
158
  }
138
- }, onChange: (newVal) => {
139
- handleChangeInput(newVal, side);
140
- }, size: "small", step, unit: typeof suffix === "string" ? suffix : unit, value: side === "left" ? inputValue?.[0] : inputValue?.[1] }) : /* @__PURE__ */ jsxs(Text, { as: "span", className: sliderDoubleText({
141
- isDouble: true,
142
- isPadded: direction !== "column"
143
- }), "data-testid": dataTestId ? `${dataTestId}-value-${side}` : `value-${side}`, placement: direction !== "row" ? "right" : "center", sentiment: "neutral", variant: "bodySmall", children: [
144
- prefix,
145
- valueNumber,
146
- suffix ? suffix[side === "left" ? 0 : 1] : unit
147
- ] });
159
+ ) : /* @__PURE__ */ jsxs(
160
+ Text,
161
+ {
162
+ as: "span",
163
+ className: sliderDoubleText({
164
+ isDouble: true,
165
+ isPadded: direction !== "column"
166
+ }),
167
+ "data-testid": dataTestId ? `${dataTestId}-value-${side}` : `value-${side}`,
168
+ placement: direction !== "row" ? "right" : "center",
169
+ sentiment: "neutral",
170
+ variant: "bodySmall",
171
+ children: [
172
+ prefix,
173
+ valueNumber,
174
+ suffix ? suffix[side === "left" ? 0 : 1] : unit
175
+ ]
176
+ }
177
+ );
148
178
  const minPos = (Math.min(...selectedIndexes) - min) * 100 / (max - min);
149
179
  const maxPos = (Math.max(...selectedIndexes) - min) * 100 / (max - min);
150
180
  const tooltipText = useMemo(() => {
@@ -159,7 +189,10 @@ const DoubleSlider = ({
159
189
  }
160
190
  return [null, null];
161
191
  }, [tooltip, selectedIndexes]);
162
- const placementTooltip = [(selectedIndexes[0] - min) / (max - min) * (sliderWidth - THUMB_SIZE) + THUMB_SIZE / 2, (selectedIndexes[1] - min) / (max - min) * (sliderWidth - THUMB_SIZE) + THUMB_SIZE / 2];
192
+ const placementTooltip = [
193
+ (selectedIndexes[0] - min) / (max - min) * (sliderWidth - THUMB_SIZE) + THUMB_SIZE / 2,
194
+ (selectedIndexes[1] - min) / (max - min) * (sliderWidth - THUMB_SIZE) + THUMB_SIZE / 2
195
+ ];
163
196
  const [leftToShow, rightToShow] = options ? [options[selectedIndexes[0]].value, options[selectedIndexes[1]].value] : selectedIndexes;
164
197
  useEffect(() => {
165
198
  setSelectedIndexes(() => {
@@ -182,50 +215,120 @@ const DoubleSlider = ({
182
215
  ] }) : null,
183
216
  direction === "row" ? styledValue(leftToShow, "left") : null,
184
217
  /* @__PURE__ */ jsxs("div", { className: sliderDoubleWrapper, children: [
185
- /* @__PURE__ */ jsxs(Tooltip, { className: sliderTooltip, placement: tooltipPosition, style: assignInlineVars({
186
- [tooltipLeft]: `${(placementTooltip[0] + placementTooltip[1]) / 2}px`
187
- }), text: typeof tooltipText === "string" ? tooltipText : void 0, children: [
188
- /* @__PURE__ */ jsx("div", { className: sliderCustomRail, children: /* @__PURE__ */ jsx("div", { "aria-disabled": !!disabled, className: sliderInnerRail({
189
- disabled: !!disabled,
190
- error: !!error
191
- }), "data-error": !!error, style: {
192
- left: `${minPos}%`,
193
- right: `${100 - maxPos}%`
194
- } }) }),
195
- /* @__PURE__ */ jsx(Tooltip, { className: sliderTooltip, placement: tooltipPosition, style: assignInlineVars({
196
- [tooltipLeft]: `${placementTooltip[0]}px`
197
- }), text: Array.isArray(tooltipText) ? tooltipText[0] : void 0, children: /* @__PURE__ */ jsx("input", { "aria-label": ariaLabel ?? name, className: `${className ? `${className} ` : ""}${sliderDouble({
198
- disabled,
199
- hasTooltip: !!tooltip
200
- })} ${sliderThumbStyle({
201
- disabled: !!disabled,
202
- hasTooltipDouble: !!tooltip,
203
- isDouble: true
204
- })}`, "data-direction": direction, "data-error": error, "data-testid": dataTestId ? `${dataTestId}-left` : "handle-left", disabled: !!disabled, id: finalId, max, min, name, onBlur, onChange: (event) => {
205
- event.preventDefault();
206
- handleMinChange(Number.parseFloat(event.target.value));
207
- }, onFocus, ref: refSlider, step, style: assignInlineVars({
208
- [leftVar]: `calc(${(selectedIndexes[0] - min) * 100 / (max - min)}% - ${THUMB_SIZE / 2}px`,
209
- [thumbColor]: theme.theme === "light" ? theme.colors.neutral.background : theme.colors.neutral.backgroundStronger
210
- }), type: "range", value: selectedIndexes[0] }) }),
211
- /* @__PURE__ */ jsx(Tooltip, { className: sliderTooltip, placement: tooltipPosition, style: assignInlineVars({
212
- [tooltipLeft]: `${placementTooltip[1]}px`
213
- }), text: Array.isArray(tooltipText) ? tooltipText[1] : void 0, children: /* @__PURE__ */ jsx("input", { "aria-label": ariaLabel ?? name, className: `${className ? `${className} ` : ""}${sliderDouble({
214
- disabled,
215
- hasTooltip: !!tooltip
216
- })} ${sliderThumbStyle({
217
- disabled,
218
- hasTooltipDouble: !!tooltip,
219
- isDouble: true
220
- })}`, "data-direction": direction, "data-error": error, "data-testid": dataTestId ? `${dataTestId}-right` : "handle-right", disabled: !!disabled, id: finalId, max, min, name, onBlur, onChange: (event) => {
221
- event.preventDefault();
222
- handleMaxChange(Number.parseFloat(event.target.value));
223
- }, onFocus, step, style: assignInlineVars({
224
- [leftVar]: `calc(${(selectedIndexes[1] - min) * 100 / (max - min)}% - ${THUMB_SIZE / 2}px`,
225
- [thumbColor]: theme.theme === "light" ? theme.colors.neutral.background : theme.colors.neutral.backgroundStronger
226
- }), type: "range", value: selectedIndexes[1] }) })
227
- ] }),
228
- options ? /* @__PURE__ */ jsx(Options, { max, min, step, ticks, value: selectedIndexes }) : null
218
+ /* @__PURE__ */ jsxs(
219
+ Tooltip,
220
+ {
221
+ className: sliderTooltip,
222
+ placement: tooltipPosition,
223
+ style: assignInlineVars({
224
+ [tooltipLeft]: `${(placementTooltip[0] + placementTooltip[1]) / 2}px`
225
+ }),
226
+ text: typeof tooltipText === "string" ? tooltipText : void 0,
227
+ children: [
228
+ /* @__PURE__ */ jsx("div", { className: sliderCustomRail, children: /* @__PURE__ */ jsx(
229
+ "div",
230
+ {
231
+ "aria-disabled": !!disabled,
232
+ className: sliderInnerRail({
233
+ disabled: !!disabled,
234
+ error: !!error
235
+ }),
236
+ "data-error": !!error,
237
+ style: { left: `${minPos}%`, right: `${100 - maxPos}%` }
238
+ }
239
+ ) }),
240
+ /* @__PURE__ */ jsx(
241
+ Tooltip,
242
+ {
243
+ className: sliderTooltip,
244
+ placement: tooltipPosition,
245
+ style: assignInlineVars({
246
+ [tooltipLeft]: `${placementTooltip[0]}px`
247
+ }),
248
+ text: Array.isArray(tooltipText) ? tooltipText[0] : void 0,
249
+ children: /* @__PURE__ */ jsx(
250
+ "input",
251
+ {
252
+ "aria-label": ariaLabel ?? name,
253
+ className: `${className ? `${className} ` : ""}${sliderDouble({ disabled, hasTooltip: !!tooltip })} ${sliderThumbStyle({ disabled: !!disabled, hasTooltipDouble: !!tooltip, isDouble: true })}`,
254
+ "data-direction": direction,
255
+ "data-error": error,
256
+ "data-testid": dataTestId ? `${dataTestId}-left` : "handle-left",
257
+ disabled: !!disabled,
258
+ id: finalId,
259
+ max,
260
+ min,
261
+ name,
262
+ onBlur,
263
+ onChange: (event) => {
264
+ event.preventDefault();
265
+ handleMinChange(Number.parseFloat(event.target.value));
266
+ },
267
+ onFocus,
268
+ ref: refSlider,
269
+ step,
270
+ style: assignInlineVars({
271
+ [leftVar]: `calc(${(selectedIndexes[0] - min) * 100 / (max - min)}% - ${THUMB_SIZE / 2}px`,
272
+ [thumbColor]: theme.theme === "light" ? theme.colors.neutral.background : theme.colors.neutral.backgroundStronger
273
+ }),
274
+ type: "range",
275
+ value: selectedIndexes[0]
276
+ }
277
+ )
278
+ }
279
+ ),
280
+ /* @__PURE__ */ jsx(
281
+ Tooltip,
282
+ {
283
+ className: sliderTooltip,
284
+ placement: tooltipPosition,
285
+ style: assignInlineVars({
286
+ [tooltipLeft]: `${placementTooltip[1]}px`
287
+ }),
288
+ text: Array.isArray(tooltipText) ? tooltipText[1] : void 0,
289
+ children: /* @__PURE__ */ jsx(
290
+ "input",
291
+ {
292
+ "aria-label": ariaLabel ?? name,
293
+ className: `${className ? `${className} ` : ""}${sliderDouble({ disabled, hasTooltip: !!tooltip })} ${sliderThumbStyle({ disabled, hasTooltipDouble: !!tooltip, isDouble: true })}`,
294
+ "data-direction": direction,
295
+ "data-error": error,
296
+ "data-testid": dataTestId ? `${dataTestId}-right` : "handle-right",
297
+ disabled: !!disabled,
298
+ id: finalId,
299
+ max,
300
+ min,
301
+ name,
302
+ onBlur,
303
+ onChange: (event) => {
304
+ event.preventDefault();
305
+ handleMaxChange(Number.parseFloat(event.target.value));
306
+ },
307
+ onFocus,
308
+ step,
309
+ style: assignInlineVars({
310
+ [leftVar]: `calc(${(selectedIndexes[1] - min) * 100 / (max - min)}% - ${THUMB_SIZE / 2}px`,
311
+ [thumbColor]: theme.theme === "light" ? theme.colors.neutral.background : theme.colors.neutral.backgroundStronger
312
+ }),
313
+ type: "range",
314
+ value: selectedIndexes[1]
315
+ }
316
+ )
317
+ }
318
+ )
319
+ ]
320
+ }
321
+ ),
322
+ options ? /* @__PURE__ */ jsx(
323
+ Options,
324
+ {
325
+ max,
326
+ min,
327
+ step,
328
+ ticks,
329
+ value: selectedIndexes
330
+ }
331
+ ) : null
229
332
  ] }),
230
333
  direction === "row" ? styledValue(rightToShow, "right") : null
231
334
  ] })
@@ -8,4 +8,4 @@ export type OptionsProps = {
8
8
  value?: number | number[];
9
9
  step: number;
10
10
  };
11
- export declare const Options: ({ ticks, min, max, value, step }: OptionsProps) => import("@emotion/react/jsx-runtime").JSX.Element;
11
+ export declare const Options: ({ ticks, min, max, value, step }: OptionsProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,35 +1,51 @@
1
1
  "use client";
2
- import { jsx } from "@emotion/react/jsx-runtime";
2
+ import { jsx } from "react/jsx-runtime";
3
3
  import { assignInlineVars } from "@vanilla-extract/dynamic";
4
4
  import { Text } from "../../Text/index.js";
5
5
  import { sliderDatalist, sliderOption, leftOption } from "../styles.css.js";
6
- const Options = ({
7
- ticks,
8
- min,
9
- max,
10
- value,
11
- step
12
- }) => /* @__PURE__ */ jsx("datalist", { className: sliderDatalist({
13
- double: Array.isArray(value)
14
- }), "data-double": Array.isArray(value), children: ticks.map((element, index, {
15
- length
16
- }) => {
17
- const left = (index * step - min) * 100 / (max - min);
18
- const formatedElement = element.label ?? String(element.value);
19
- const getIsSelected = () => {
20
- if (!value) {
21
- return false;
22
- }
23
- return typeof value === "number" ? element.value === value : value.includes(element.value);
24
- };
25
- const isSelected = getIsSelected();
26
- return /* @__PURE__ */ jsx("span", { className: sliderOption({
27
- left: index === 0,
28
- right: index === length - 1
29
- }), "data-element-left": index === 0, "data-element-right": index === length - 1, "data-value": element.value, style: assignInlineVars({
30
- [leftOption]: `${left}%`
31
- }), children: /* @__PURE__ */ jsx(Text, { as: "p", sentiment: isSelected ? "primary" : "neutral", variant: isSelected ? "captionStrong" : "caption", children: formatedElement }) }, element.value);
32
- }) });
6
+ const Options = ({ ticks, min, max, value, step }) => /* @__PURE__ */ jsx(
7
+ "datalist",
8
+ {
9
+ className: sliderDatalist({ double: Array.isArray(value) }),
10
+ "data-double": Array.isArray(value),
11
+ children: ticks.map((element, index, { length }) => {
12
+ const left = (index * step - min) * 100 / (max - min);
13
+ const formatedElement = element.label ?? String(element.value);
14
+ const getIsSelected = () => {
15
+ if (!value) {
16
+ return false;
17
+ }
18
+ return typeof value === "number" ? element.value === value : value.includes(element.value);
19
+ };
20
+ const isSelected = getIsSelected();
21
+ return /* @__PURE__ */ jsx(
22
+ "span",
23
+ {
24
+ className: sliderOption({
25
+ left: index === 0,
26
+ right: index === length - 1
27
+ }),
28
+ "data-element-left": index === 0,
29
+ "data-element-right": index === length - 1,
30
+ "data-value": element.value,
31
+ style: assignInlineVars({
32
+ [leftOption]: `${left}%`
33
+ }),
34
+ children: /* @__PURE__ */ jsx(
35
+ Text,
36
+ {
37
+ as: "p",
38
+ sentiment: isSelected ? "primary" : "neutral",
39
+ variant: isSelected ? "captionStrong" : "caption",
40
+ children: formatedElement
41
+ }
42
+ )
43
+ },
44
+ element.value
45
+ );
46
+ })
47
+ }
48
+ );
33
49
  export {
34
50
  Options
35
51
  };
@@ -1,2 +1,2 @@
1
1
  import type { SingleSliderProps } from '../types';
2
- export declare const SingleSlider: ({ name, tooltip, direction, disabled, error, "data-testid": dataTestId, value, onChange, min, max, step, id, onBlur, unit, options, onFocus, className, label, input, prefix, suffix, required, "aria-label": ariaLabel, tooltipPosition, }: SingleSliderProps) => import("@emotion/react/jsx-runtime").JSX.Element;
2
+ export declare const SingleSlider: ({ name, tooltip, direction, disabled, error, "data-testid": dataTestId, value, onChange, min, max, step, id, onBlur, unit, options, onFocus, className, label, input, prefix, suffix, required, "aria-label": ariaLabel, tooltipPosition, }: SingleSliderProps) => import("react/jsx-runtime").JSX.Element;
@@ -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 { useTheme } from "@ultraviolet/themes";
4
4
  import { assignInlineVars } from "@vanilla-extract/dynamic";
5
5
  import { useId, useState, useRef, useEffect, useMemo, useCallback } from "react";
@@ -60,21 +60,24 @@ const SingleSlider = ({
60
60
  }
61
61
  return [];
62
62
  }, [options]);
63
- const internalOnChange = useCallback((newValue) => {
64
- if (!newValue) {
65
- setSelectedIndex(min);
66
- onChange?.(min);
67
- } else if (newValue < min) {
68
- setSelectedIndex(min);
69
- onChange?.(min);
70
- } else if (newValue > max) {
71
- setSelectedIndex(max);
72
- onChange?.(max);
73
- } else {
74
- setSelectedIndex(newValue);
75
- onChange?.(newValue);
76
- }
77
- }, [max, min, onChange]);
63
+ const internalOnChange = useCallback(
64
+ (newValue) => {
65
+ if (!newValue) {
66
+ setSelectedIndex(min);
67
+ onChange?.(min);
68
+ } else if (newValue < min) {
69
+ setSelectedIndex(min);
70
+ onChange?.(min);
71
+ } else if (newValue > max) {
72
+ setSelectedIndex(max);
73
+ onChange?.(max);
74
+ } else {
75
+ setSelectedIndex(newValue);
76
+ onChange?.(newValue);
77
+ }
78
+ },
79
+ [max, min, onChange]
80
+ );
78
81
  useEffect(() => {
79
82
  if (value < min) {
80
83
  internalOnChange(min);
@@ -93,20 +96,54 @@ const SingleSlider = ({
93
96
  window.removeEventListener("resize", setWidthResize);
94
97
  };
95
98
  }, []);
96
- const leftPosition = useMemo(() => (selectedIndex - min) * 100 / (max - min), [selectedIndex, max, min]);
97
- const getBackgroundSize = useMemo(() => ({
98
- backgroundSize: `${leftPosition}% 100%`
99
- }), [leftPosition]);
100
- const styledValue = (valueNumber) => input && !options ? /* @__PURE__ */ jsx(NumberInput, { "aria-label": "input", className: sliderNumberInput, controls: false, "data-testid": dataTestId ? `${dataTestId}-input` : "slider-input", disabled, max, min, onBlur: (event) => {
101
- internalOnChange(Number.parseFloat(event.target.value));
102
- }, onChange: setInputValue, size: "small", step, unit: typeof suffix === "string" ? suffix : unit, value: inputValue }) : /* @__PURE__ */ jsxs(Text, { as: "span", className: sliderDoubleText({
103
- isDouble: direction !== "column",
104
- isPadded: direction === "column"
105
- }), "data-testid": dataTestId ? `${dataTestId}-value` : "slider-value", placement: direction === "column" ? "right" : "center", sentiment: "neutral", variant: "bodySmall", children: [
106
- prefix,
107
- valueNumber,
108
- suffix ?? unit
109
- ] });
99
+ const leftPosition = useMemo(
100
+ () => (selectedIndex - min) * 100 / (max - min),
101
+ [selectedIndex, max, min]
102
+ );
103
+ const getBackgroundSize = useMemo(
104
+ () => ({
105
+ backgroundSize: `${leftPosition}% 100%`
106
+ }),
107
+ [leftPosition]
108
+ );
109
+ const styledValue = (valueNumber) => input && !options ? /* @__PURE__ */ jsx(
110
+ NumberInput,
111
+ {
112
+ "aria-label": "input",
113
+ className: sliderNumberInput,
114
+ controls: false,
115
+ "data-testid": dataTestId ? `${dataTestId}-input` : "slider-input",
116
+ disabled,
117
+ max,
118
+ min,
119
+ onBlur: (event) => {
120
+ internalOnChange(Number.parseFloat(event.target.value));
121
+ },
122
+ onChange: setInputValue,
123
+ size: "small",
124
+ step,
125
+ unit: typeof suffix === "string" ? suffix : unit,
126
+ value: inputValue
127
+ }
128
+ ) : /* @__PURE__ */ jsxs(
129
+ Text,
130
+ {
131
+ as: "span",
132
+ className: sliderDoubleText({
133
+ isDouble: direction !== "column",
134
+ isPadded: direction === "column"
135
+ }),
136
+ "data-testid": dataTestId ? `${dataTestId}-value` : "slider-value",
137
+ placement: direction === "column" ? "right" : "center",
138
+ sentiment: "neutral",
139
+ variant: "bodySmall",
140
+ children: [
141
+ prefix,
142
+ valueNumber,
143
+ suffix ?? unit
144
+ ]
145
+ }
146
+ );
110
147
  const tooltipText = useMemo(() => {
111
148
  if (tooltip === true) {
112
149
  return selectedIndex;
@@ -119,31 +156,74 @@ const SingleSlider = ({
119
156
  const placementTooltip = (selectedIndex - min) / (max - min) * (sliderWidth - THUMB_SIZE) + THUMB_SIZE / 2 - sliderWidth / 2;
120
157
  const valueToShow = options ? options[selectedIndex]?.value : selectedIndex;
121
158
  return /* @__PURE__ */ jsxs(Stack, { direction, gap: 1, justifyContent: "left", children: [
122
- label ? /* @__PURE__ */ jsxs(Stack, { alignItems: "center", direction: "row", justifyContent: "space-between", children: [
123
- /* @__PURE__ */ jsx(Label, { htmlFor: finalId, required, children: label }),
124
- direction === "column" ? styledValue(valueToShow) : null
125
- ] }) : null,
159
+ label ? /* @__PURE__ */ jsxs(
160
+ Stack,
161
+ {
162
+ alignItems: "center",
163
+ direction: "row",
164
+ justifyContent: "space-between",
165
+ children: [
166
+ /* @__PURE__ */ jsx(Label, { htmlFor: finalId, required, children: label }),
167
+ direction === "column" ? styledValue(valueToShow) : null
168
+ ]
169
+ }
170
+ ) : null,
126
171
  /* @__PURE__ */ jsx(Stack, { direction: "row", justifyContent: "end", children: direction === "column" && !label ? styledValue(valueToShow) : null }),
127
172
  /* @__PURE__ */ jsxs(Stack, { direction: "column", gap: 1, justifyContent: "center", width: "100%", children: [
128
- /* @__PURE__ */ jsx(Tooltip, { className: sliderTooltip, placement: tooltipPosition, style: assignInlineVars({
129
- [tooltipLeft]: `${placementTooltip}px`
130
- }), text: tooltipText, children: /* @__PURE__ */ jsx("input", { "aria-disabled": disabled, "aria-label": ariaLabel ?? name, className: `${className ? `${className} ` : ""}${sliderSingle({
131
- direction,
132
- disabled,
133
- error: !!error
134
- })} ${sliderThumbStyle({
135
- disabled,
136
- isDouble: false
137
- })}`, "data-direction": direction, "data-error": !!error, "data-testid": dataTestId, disabled: !!disabled, id: finalId, max, min, name, onBlur, onChange: (event) => {
138
- internalOnChange(Number.parseFloat(event.target.value));
139
- }, onFocus, ref: refSlider, step, style: {
140
- ...assignInlineVars({
141
- [leftVar]: `calc(${leftPosition}% - ${THUMB_SIZE / 2}px)`,
142
- [thumbColor]: theme.theme === "light" ? theme.colors.neutral.background : theme.colors.neutral.backgroundStronger
143
- }),
144
- ...getBackgroundSize
145
- }, tabIndex: 0, type: "range", value: selectedIndex }) }),
146
- options ? /* @__PURE__ */ jsx(Options, { max, min, step, ticks, value: selectedIndex }) : null
173
+ /* @__PURE__ */ jsx(
174
+ Tooltip,
175
+ {
176
+ className: sliderTooltip,
177
+ placement: tooltipPosition,
178
+ style: assignInlineVars({
179
+ [tooltipLeft]: `${placementTooltip}px`
180
+ }),
181
+ text: tooltipText,
182
+ children: /* @__PURE__ */ jsx(
183
+ "input",
184
+ {
185
+ "aria-disabled": disabled,
186
+ "aria-label": ariaLabel ?? name,
187
+ className: `${className ? `${className} ` : ""}${sliderSingle({ direction, disabled, error: !!error })} ${sliderThumbStyle({ disabled, isDouble: false })}`,
188
+ "data-direction": direction,
189
+ "data-error": !!error,
190
+ "data-testid": dataTestId,
191
+ disabled: !!disabled,
192
+ id: finalId,
193
+ max,
194
+ min,
195
+ name,
196
+ onBlur,
197
+ onChange: (event) => {
198
+ internalOnChange(Number.parseFloat(event.target.value));
199
+ },
200
+ onFocus,
201
+ ref: refSlider,
202
+ step,
203
+ style: {
204
+ ...assignInlineVars({
205
+ [leftVar]: `calc(${leftPosition}% - ${THUMB_SIZE / 2}px)`,
206
+ [thumbColor]: theme.theme === "light" ? theme.colors.neutral.background : theme.colors.neutral.backgroundStronger
207
+ }),
208
+ ...getBackgroundSize
209
+ },
210
+ tabIndex: 0,
211
+ type: "range",
212
+ value: selectedIndex
213
+ }
214
+ )
215
+ }
216
+ ),
217
+ options ? /* @__PURE__ */ jsx(
218
+ Options,
219
+ {
220
+ max,
221
+ min,
222
+ step,
223
+ ticks,
224
+ value: selectedIndex
225
+ }
226
+ ) : null
147
227
  ] }),
148
228
  direction === "row" ? styledValue(valueToShow) : null
149
229
  ] });
@@ -4,4 +4,4 @@ import type { SliderProps } from './types';
4
4
  * - For a simple slider (one handle) : prop `value` must be number.
5
5
  * - For a double slider (two handles): prop `value` must be an array of numbers (of length 2) and prop `double` must be set to `true`. **Make sure that others props have the correct type.**
6
6
  */
7
- export declare const Slider: ({ name, label, helper, tooltip, direction, input, prefix, unit, suffix, required, disabled, error, options, "data-testid": dataTestId, value, onChange, min, double, max, step, id, onBlur, onFocus, className, tooltipPosition, style, "aria-label": ariaLabel, }: SliderProps) => import("@emotion/react/jsx-runtime").JSX.Element;
7
+ export declare const Slider: ({ name, label, helper, tooltip, direction, input, prefix, unit, suffix, required, disabled, error, options, "data-testid": dataTestId, value, onChange, min, double, max, step, id, onBlur, onFocus, className, tooltipPosition, style, "aria-label": ariaLabel, }: SliderProps) => import("react/jsx-runtime").JSX.Element;