@itwin/itwinui-react 3.0.0-dev.6 → 3.0.0-dev.8

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 (283) hide show
  1. package/CHANGELOG.md +101 -0
  2. package/cjs/core/Alert/Alert.d.ts +20 -9
  3. package/cjs/core/Alert/Alert.js +48 -10
  4. package/cjs/core/Avatar/Avatar.d.ts +3 -2
  5. package/cjs/core/Avatar/Avatar.js +21 -19
  6. package/cjs/core/AvatarGroup/AvatarGroup.js +3 -8
  7. package/cjs/core/ButtonGroup/ButtonGroup.js +41 -36
  8. package/cjs/core/Buttons/Button/Button.d.ts +15 -2
  9. package/cjs/core/Buttons/Button/Button.js +23 -9
  10. package/cjs/core/Buttons/DropdownButton/DropdownButton.js +1 -1
  11. package/cjs/core/Buttons/IconButton/IconButton.d.ts +5 -1
  12. package/cjs/core/Buttons/IconButton/IconButton.js +27 -38
  13. package/cjs/core/Buttons/SplitButton/SplitButton.d.ts +9 -0
  14. package/cjs/core/Buttons/SplitButton/SplitButton.js +25 -13
  15. package/cjs/core/Carousel/Carousel.d.ts +6 -4
  16. package/cjs/core/Carousel/Carousel.js +2 -2
  17. package/cjs/core/Carousel/CarouselDot.js +1 -3
  18. package/cjs/core/Carousel/CarouselNavigation.d.ts +6 -4
  19. package/cjs/core/ColorPicker/ColorBuilder.js +2 -1
  20. package/cjs/core/ColorPicker/ColorInputPanel.js +172 -231
  21. package/cjs/core/ComboBox/ComboBox.js +3 -3
  22. package/cjs/core/ComboBox/ComboBoxDropdown.js +4 -9
  23. package/cjs/core/ComboBox/ComboBoxEndIcon.js +3 -22
  24. package/cjs/core/ComboBox/ComboBoxInput.js +1 -1
  25. package/cjs/core/ComboBox/ComboBoxMenu.d.ts +2 -2
  26. package/cjs/core/ComboBox/ComboBoxMenu.js +5 -5
  27. package/cjs/core/ComboBox/ComboBoxMenuItem.d.ts +1 -1
  28. package/cjs/core/ComboBox/ComboBoxMenuItem.js +8 -6
  29. package/cjs/core/ComboBox/helpers.d.ts +1 -2
  30. package/cjs/core/DatePicker/DatePicker.d.ts +30 -8
  31. package/cjs/core/DatePicker/DatePicker.js +47 -6
  32. package/cjs/core/Dialog/Dialog.js +10 -17
  33. package/cjs/core/Dialog/DialogContext.d.ts +3 -4
  34. package/cjs/core/Dialog/DialogMain.js +5 -5
  35. package/cjs/core/ExpandableBlock/ExpandableBlock.d.ts +20 -14
  36. package/cjs/core/ExpandableBlock/ExpandableBlock.js +39 -18
  37. package/cjs/core/FileUpload/FileUpload.d.ts +4 -0
  38. package/cjs/core/FileUpload/FileUpload.js +24 -3
  39. package/cjs/core/Header/HeaderBasicButton.js +3 -16
  40. package/cjs/core/Header/HeaderDropdownButton.js +1 -1
  41. package/cjs/core/Header/HeaderSplitButton.js +3 -4
  42. package/cjs/core/Input/Input.d.ts +4 -0
  43. package/cjs/core/Input/Input.js +2 -1
  44. package/cjs/core/InputGrid/InputGrid.d.ts +25 -0
  45. package/cjs/core/InputGrid/InputGrid.js +39 -0
  46. package/cjs/core/InputGrid/index.d.ts +3 -0
  47. package/cjs/core/InputGrid/index.js +15 -0
  48. package/cjs/core/InputGroup/InputGroup.d.ts +13 -0
  49. package/cjs/core/InputGroup/InputGroup.js +35 -9
  50. package/cjs/core/InputWithDecorations/InputWithDecorations.d.ts +39 -0
  51. package/cjs/core/InputWithDecorations/InputWithDecorations.js +81 -0
  52. package/cjs/core/InputWithDecorations/index.d.ts +3 -0
  53. package/cjs/core/InputWithDecorations/index.js +15 -0
  54. package/cjs/core/Label/Label.d.ts +5 -0
  55. package/cjs/core/Label/Label.js +2 -0
  56. package/cjs/core/LabeledInput/LabeledInput.d.ts +22 -16
  57. package/cjs/core/LabeledInput/LabeledInput.js +52 -29
  58. package/cjs/core/LabeledSelect/LabeledSelect.d.ts +17 -7
  59. package/cjs/core/LabeledSelect/LabeledSelect.js +36 -17
  60. package/cjs/core/LabeledTextarea/LabeledTextarea.d.ts +15 -5
  61. package/cjs/core/LabeledTextarea/LabeledTextarea.js +12 -45
  62. package/cjs/core/Menu/Menu.d.ts +1 -1
  63. package/cjs/core/Menu/Menu.js +1 -1
  64. package/cjs/core/Menu/MenuDivider.d.ts +2 -1
  65. package/cjs/core/Menu/MenuDivider.js +1 -1
  66. package/cjs/core/Menu/MenuItem.d.ts +1 -1
  67. package/cjs/core/Menu/MenuItem.js +1 -0
  68. package/cjs/core/Menu/MenuItemSkeleton.d.ts +1 -1
  69. package/cjs/core/Menu/MenuItemSkeleton.js +0 -1
  70. package/cjs/core/ProgressIndicators/ProgressLinear.d.ts +4 -0
  71. package/cjs/core/ProgressIndicators/ProgressLinear.js +9 -1
  72. package/cjs/core/SearchBox/SearchBox.js +1 -1
  73. package/cjs/core/Select/Select.d.ts +4 -0
  74. package/cjs/core/Select/Select.js +12 -11
  75. package/cjs/core/SideNavigation/SideNavigation.d.ts +16 -0
  76. package/cjs/core/SideNavigation/SideNavigation.js +42 -9
  77. package/cjs/core/Slider/Slider.d.ts +24 -0
  78. package/cjs/core/Slider/Slider.js +58 -10
  79. package/cjs/core/Slider/Thumb.js +3 -2
  80. package/cjs/core/Slider/Track.d.ts +1 -1
  81. package/cjs/core/Slider/Track.js +17 -6
  82. package/cjs/core/StatusMessage/StatusMessage.d.ts +12 -2
  83. package/cjs/core/StatusMessage/StatusMessage.js +23 -9
  84. package/cjs/core/Stepper/Stepper.d.ts +26 -1
  85. package/cjs/core/Stepper/Stepper.js +35 -6
  86. package/cjs/core/Stepper/StepperStep.d.ts +17 -0
  87. package/cjs/core/Stepper/StepperStep.js +33 -8
  88. package/cjs/core/Stepper/WorkflowDiagram.d.ts +11 -1
  89. package/cjs/core/Stepper/WorkflowDiagram.js +23 -10
  90. package/cjs/core/Stepper/WorkflowDiagramStep.d.ts +6 -1
  91. package/cjs/core/Stepper/WorkflowDiagramStep.js +9 -2
  92. package/cjs/core/Table/SubRowExpander.js +3 -1
  93. package/cjs/core/Table/Table.js +0 -1
  94. package/cjs/core/Table/TableCell.js +1 -1
  95. package/cjs/core/Table/TablePaginator.js +1 -3
  96. package/cjs/core/Table/filters/DateRangeFilter/DatePickerInput.d.ts +6 -1
  97. package/cjs/core/Table/filters/DateRangeFilter/DatePickerInput.js +46 -18
  98. package/cjs/core/Table/filters/DateRangeFilter/DateRangeFilter.d.ts +2 -0
  99. package/cjs/core/Table/filters/DateRangeFilter/DateRangeFilter.js +2 -0
  100. package/cjs/core/Tabs/Tab.js +1 -2
  101. package/cjs/core/Textarea/Textarea.d.ts +7 -1
  102. package/cjs/core/Textarea/Textarea.js +6 -11
  103. package/cjs/core/ThemeProvider/ThemeContext.d.ts +1 -1
  104. package/cjs/core/ThemeProvider/ThemeProvider.d.ts +23 -3
  105. package/cjs/core/ThemeProvider/ThemeProvider.js +56 -23
  106. package/cjs/core/Tile/Tile.d.ts +142 -17
  107. package/cjs/core/Tile/Tile.js +107 -16
  108. package/cjs/core/Toast/Toast.d.ts +12 -4
  109. package/cjs/core/Toast/Toast.js +24 -13
  110. package/cjs/core/Tooltip/Tooltip.d.ts +35 -28
  111. package/cjs/core/Tooltip/Tooltip.js +116 -118
  112. package/cjs/core/TransferList/TransferList.js +4 -12
  113. package/cjs/core/Tree/TreeNode.js +1 -1
  114. package/cjs/core/index.d.ts +2 -0
  115. package/cjs/core/index.js +20 -4
  116. package/cjs/core/utils/components/ButtonBase.d.ts +14 -0
  117. package/cjs/core/utils/components/ButtonBase.js +46 -0
  118. package/cjs/core/utils/components/Icon.d.ts +5 -0
  119. package/cjs/core/utils/components/Icon.js +8 -1
  120. package/cjs/core/utils/components/InputContainer.d.ts +0 -1
  121. package/cjs/core/utils/components/InputContainer.js +14 -34
  122. package/cjs/core/utils/components/InputFlexContainer.d.ts +1 -0
  123. package/cjs/core/utils/components/InputFlexContainer.js +3 -1
  124. package/cjs/core/utils/components/Popover.js +5 -3
  125. package/cjs/core/utils/components/Portal.d.ts +27 -0
  126. package/cjs/core/utils/components/Portal.js +43 -0
  127. package/cjs/core/utils/components/VirtualScroll.js +4 -4
  128. package/cjs/core/utils/components/index.d.ts +2 -0
  129. package/cjs/core/utils/components/index.js +2 -0
  130. package/cjs/core/utils/functions/colors.d.ts +1 -1
  131. package/cjs/core/utils/functions/colors.js +1 -13
  132. package/cjs/core/utils/functions/index.d.ts +1 -0
  133. package/cjs/core/utils/functions/index.js +1 -0
  134. package/cjs/core/utils/functions/react.d.ts +8 -0
  135. package/cjs/core/utils/functions/react.js +40 -0
  136. package/cjs/core/utils/hooks/index.d.ts +1 -0
  137. package/cjs/core/utils/hooks/index.js +1 -0
  138. package/cjs/core/utils/hooks/useControlledState.d.ts +13 -0
  139. package/cjs/core/utils/hooks/useControlledState.js +39 -0
  140. package/cjs/core/utils/hooks/useGlobals.d.ts +1 -1
  141. package/cjs/styles.js +11 -35
  142. package/esm/core/Alert/Alert.d.ts +20 -9
  143. package/esm/core/Alert/Alert.js +49 -10
  144. package/esm/core/Avatar/Avatar.d.ts +3 -2
  145. package/esm/core/Avatar/Avatar.js +21 -17
  146. package/esm/core/AvatarGroup/AvatarGroup.js +3 -8
  147. package/esm/core/ButtonGroup/ButtonGroup.js +41 -36
  148. package/esm/core/Buttons/Button/Button.d.ts +15 -2
  149. package/esm/core/Buttons/Button/Button.js +18 -10
  150. package/esm/core/Buttons/DropdownButton/DropdownButton.js +1 -1
  151. package/esm/core/Buttons/IconButton/IconButton.d.ts +5 -1
  152. package/esm/core/Buttons/IconButton/IconButton.js +25 -37
  153. package/esm/core/Buttons/SplitButton/SplitButton.d.ts +9 -0
  154. package/esm/core/Buttons/SplitButton/SplitButton.js +31 -14
  155. package/esm/core/Carousel/Carousel.d.ts +6 -4
  156. package/esm/core/Carousel/Carousel.js +8 -3
  157. package/esm/core/Carousel/CarouselDot.js +2 -4
  158. package/esm/core/Carousel/CarouselNavigation.d.ts +6 -4
  159. package/esm/core/ColorPicker/ColorBuilder.js +2 -1
  160. package/esm/core/ColorPicker/ColorInputPanel.js +173 -232
  161. package/esm/core/ComboBox/ComboBox.js +3 -3
  162. package/esm/core/ComboBox/ComboBoxDropdown.js +4 -9
  163. package/esm/core/ComboBox/ComboBoxEndIcon.js +4 -25
  164. package/esm/core/ComboBox/ComboBoxInput.js +1 -1
  165. package/esm/core/ComboBox/ComboBoxMenu.d.ts +2 -2
  166. package/esm/core/ComboBox/ComboBoxMenu.js +5 -5
  167. package/esm/core/ComboBox/ComboBoxMenuItem.d.ts +1 -1
  168. package/esm/core/ComboBox/ComboBoxMenuItem.js +9 -7
  169. package/esm/core/ComboBox/helpers.d.ts +1 -2
  170. package/esm/core/DatePicker/DatePicker.d.ts +30 -8
  171. package/esm/core/DatePicker/DatePicker.js +33 -6
  172. package/esm/core/Dialog/Dialog.js +11 -23
  173. package/esm/core/Dialog/DialogContext.d.ts +3 -4
  174. package/esm/core/Dialog/DialogMain.js +5 -5
  175. package/esm/core/ExpandableBlock/ExpandableBlock.d.ts +20 -14
  176. package/esm/core/ExpandableBlock/ExpandableBlock.js +41 -20
  177. package/esm/core/FileUpload/FileUpload.d.ts +4 -0
  178. package/esm/core/FileUpload/FileUpload.js +26 -3
  179. package/esm/core/Header/HeaderBasicButton.js +4 -17
  180. package/esm/core/Header/HeaderDropdownButton.js +1 -1
  181. package/esm/core/Header/HeaderSplitButton.js +9 -5
  182. package/esm/core/Input/Input.d.ts +4 -0
  183. package/esm/core/Input/Input.js +2 -1
  184. package/esm/core/InputGrid/InputGrid.d.ts +25 -0
  185. package/esm/core/InputGrid/InputGrid.js +35 -0
  186. package/esm/core/InputGrid/index.d.ts +3 -0
  187. package/esm/core/InputGrid/index.js +6 -0
  188. package/esm/core/InputGroup/InputGroup.d.ts +13 -0
  189. package/esm/core/InputGroup/InputGroup.js +34 -10
  190. package/esm/core/InputWithDecorations/InputWithDecorations.d.ts +39 -0
  191. package/esm/core/InputWithDecorations/InputWithDecorations.js +80 -0
  192. package/esm/core/InputWithDecorations/index.d.ts +3 -0
  193. package/esm/core/InputWithDecorations/index.js +6 -0
  194. package/esm/core/Label/Label.d.ts +5 -0
  195. package/esm/core/Label/Label.js +2 -0
  196. package/esm/core/LabeledInput/LabeledInput.d.ts +22 -16
  197. package/esm/core/LabeledInput/LabeledInput.js +53 -29
  198. package/esm/core/LabeledSelect/LabeledSelect.d.ts +17 -7
  199. package/esm/core/LabeledSelect/LabeledSelect.js +37 -18
  200. package/esm/core/LabeledTextarea/LabeledTextarea.d.ts +15 -5
  201. package/esm/core/LabeledTextarea/LabeledTextarea.js +14 -45
  202. package/esm/core/Menu/Menu.d.ts +1 -1
  203. package/esm/core/Menu/Menu.js +1 -1
  204. package/esm/core/Menu/MenuDivider.d.ts +2 -1
  205. package/esm/core/Menu/MenuDivider.js +1 -1
  206. package/esm/core/Menu/MenuItem.d.ts +1 -1
  207. package/esm/core/Menu/MenuItem.js +1 -0
  208. package/esm/core/Menu/MenuItemSkeleton.d.ts +1 -1
  209. package/esm/core/Menu/MenuItemSkeleton.js +0 -1
  210. package/esm/core/ProgressIndicators/ProgressLinear.d.ts +4 -0
  211. package/esm/core/ProgressIndicators/ProgressLinear.js +9 -1
  212. package/esm/core/SearchBox/SearchBox.js +1 -1
  213. package/esm/core/Select/Select.d.ts +4 -0
  214. package/esm/core/Select/Select.js +12 -11
  215. package/esm/core/SideNavigation/SideNavigation.d.ts +16 -0
  216. package/esm/core/SideNavigation/SideNavigation.js +33 -9
  217. package/esm/core/Slider/Slider.d.ts +24 -0
  218. package/esm/core/Slider/Slider.js +43 -10
  219. package/esm/core/Slider/Thumb.js +3 -2
  220. package/esm/core/Slider/Track.d.ts +1 -1
  221. package/esm/core/Slider/Track.js +14 -6
  222. package/esm/core/StatusMessage/StatusMessage.d.ts +12 -2
  223. package/esm/core/StatusMessage/StatusMessage.js +23 -16
  224. package/esm/core/Stepper/Stepper.d.ts +26 -1
  225. package/esm/core/Stepper/Stepper.js +32 -6
  226. package/esm/core/Stepper/StepperStep.d.ts +17 -0
  227. package/esm/core/Stepper/StepperStep.js +27 -8
  228. package/esm/core/Stepper/WorkflowDiagram.d.ts +11 -1
  229. package/esm/core/Stepper/WorkflowDiagram.js +10 -7
  230. package/esm/core/Stepper/WorkflowDiagramStep.d.ts +6 -1
  231. package/esm/core/Stepper/WorkflowDiagramStep.js +6 -2
  232. package/esm/core/Table/SubRowExpander.js +3 -1
  233. package/esm/core/Table/Table.js +0 -1
  234. package/esm/core/Table/TableCell.js +1 -1
  235. package/esm/core/Table/TablePaginator.js +2 -3
  236. package/esm/core/Table/filters/DateRangeFilter/DatePickerInput.d.ts +6 -1
  237. package/esm/core/Table/filters/DateRangeFilter/DatePickerInput.js +45 -17
  238. package/esm/core/Table/filters/DateRangeFilter/DateRangeFilter.d.ts +2 -0
  239. package/esm/core/Table/filters/DateRangeFilter/DateRangeFilter.js +2 -0
  240. package/esm/core/Tabs/Tab.js +2 -3
  241. package/esm/core/Textarea/Textarea.d.ts +7 -1
  242. package/esm/core/Textarea/Textarea.js +6 -11
  243. package/esm/core/ThemeProvider/ThemeContext.d.ts +1 -1
  244. package/esm/core/ThemeProvider/ThemeProvider.d.ts +23 -3
  245. package/esm/core/ThemeProvider/ThemeProvider.js +65 -24
  246. package/esm/core/Tile/Tile.d.ts +142 -17
  247. package/esm/core/Tile/Tile.js +107 -16
  248. package/esm/core/Toast/Toast.d.ts +12 -4
  249. package/esm/core/Toast/Toast.js +26 -13
  250. package/esm/core/Tooltip/Tooltip.d.ts +35 -28
  251. package/esm/core/Tooltip/Tooltip.js +119 -116
  252. package/esm/core/TransferList/TransferList.js +4 -9
  253. package/esm/core/Tree/TreeNode.js +1 -1
  254. package/esm/core/index.d.ts +2 -0
  255. package/esm/core/index.js +2 -0
  256. package/esm/core/utils/components/ButtonBase.d.ts +14 -0
  257. package/esm/core/utils/components/ButtonBase.js +42 -0
  258. package/esm/core/utils/components/Icon.d.ts +5 -0
  259. package/esm/core/utils/components/Icon.js +8 -1
  260. package/esm/core/utils/components/InputContainer.d.ts +0 -1
  261. package/esm/core/utils/components/InputContainer.js +14 -30
  262. package/esm/core/utils/components/InputFlexContainer.d.ts +1 -0
  263. package/esm/core/utils/components/InputFlexContainer.js +3 -1
  264. package/esm/core/utils/components/Popover.js +5 -3
  265. package/esm/core/utils/components/Portal.d.ts +27 -0
  266. package/esm/core/utils/components/Portal.js +36 -0
  267. package/esm/core/utils/components/VirtualScroll.js +4 -4
  268. package/esm/core/utils/components/index.d.ts +2 -0
  269. package/esm/core/utils/components/index.js +2 -0
  270. package/esm/core/utils/functions/colors.d.ts +1 -1
  271. package/esm/core/utils/functions/colors.js +1 -13
  272. package/esm/core/utils/functions/index.d.ts +1 -0
  273. package/esm/core/utils/functions/index.js +1 -0
  274. package/esm/core/utils/functions/react.d.ts +8 -0
  275. package/esm/core/utils/functions/react.js +35 -0
  276. package/esm/core/utils/hooks/index.d.ts +1 -0
  277. package/esm/core/utils/hooks/index.js +1 -0
  278. package/esm/core/utils/hooks/useControlledState.d.ts +13 -0
  279. package/esm/core/utils/hooks/useControlledState.js +34 -0
  280. package/esm/core/utils/hooks/useGlobals.d.ts +1 -1
  281. package/esm/styles.js +11 -35
  282. package/package.json +3 -3
  283. package/styles.css +49 -46
@@ -1,5 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import type { ButtonProps } from '../Button/Button.js';
3
+ import { IconButton } from '../IconButton/index.js';
3
4
  import type { Placement } from 'tippy.js';
4
5
  import type { PolymorphicForwardRefComponent } from '../../utils/index.js';
5
6
  export type SplitButtonProps = ButtonProps & {
@@ -18,6 +19,14 @@ export type SplitButtonProps = ButtonProps & {
18
19
  * Content of primary button.
19
20
  */
20
21
  children: React.ReactNode;
22
+ /**
23
+ * Passes props to SplitButton wrapper.
24
+ */
25
+ wrapperProps?: React.ComponentProps<'div'>;
26
+ /**
27
+ * Passes props to SplitButton menu button.
28
+ */
29
+ menuButtonProps?: React.ComponentProps<typeof IconButton>;
21
30
  };
22
31
  /**
23
32
  * Split button component with a DropdownMenu.
@@ -35,36 +35,42 @@ exports.SplitButton = React.forwardRef((props, forwardedRef) => {
35
35
  styleType = 'default',
36
36
  size,
37
37
  children,
38
- style,
39
- title,
38
+ wrapperProps,
39
+ menuButtonProps,
40
40
  ...rest
41
41
  } = props;
42
42
  const [isMenuOpen, setIsMenuOpen] = React.useState(false);
43
43
  const [menuWidth, setMenuWidth] = React.useState(0);
44
- const ref = React.useRef(null);
44
+ const wrapperRef = React.useRef(null);
45
45
  React.useEffect(() => {
46
- if (ref.current) {
47
- setMenuWidth(ref.current.offsetWidth);
46
+ if (wrapperRef.current) {
47
+ setMenuWidth(wrapperRef.current.offsetWidth);
48
48
  }
49
49
  }, [children, size]);
50
+ const labelId = (0, index_js_4.useId)();
50
51
  return React.createElement(
51
52
  index_js_4.Box,
52
53
  {
53
- className: (0, classnames_1.default)(className, 'iui-button-split', {
54
- 'iui-disabled': props.disabled,
55
- }),
56
- style: style,
57
- title: title,
58
- ref: ref,
54
+ ...wrapperProps,
55
+ className: (0, classnames_1.default)(
56
+ 'iui-button-split',
57
+ {
58
+ 'iui-disabled': props.disabled,
59
+ },
60
+ wrapperProps?.className,
61
+ ),
62
+ ref: wrapperRef,
59
63
  },
60
64
  React.createElement(
61
65
  index_js_1.Button,
62
66
  {
67
+ className: className,
63
68
  styleType: styleType,
64
69
  size: size,
65
70
  onClick: onClick,
66
71
  ref: forwardedRef,
67
72
  ...rest,
73
+ labelProps: { id: labelId, ...props.labelProps },
68
74
  },
69
75
  children,
70
76
  ),
@@ -73,13 +79,19 @@ exports.SplitButton = React.forwardRef((props, forwardedRef) => {
73
79
  {
74
80
  placement: menuPlacement,
75
81
  menuItems: menuItems,
76
- style: { minWidth: menuWidth },
82
+ style: { minInlineSize: menuWidth },
77
83
  onShow: React.useCallback(() => setIsMenuOpen(true), []),
78
84
  onHide: React.useCallback(() => setIsMenuOpen(false), []),
79
85
  },
80
86
  React.createElement(
81
87
  index_js_2.IconButton,
82
- { styleType: styleType, size: size, disabled: props.disabled },
88
+ {
89
+ styleType: styleType,
90
+ size: size,
91
+ disabled: props.disabled,
92
+ 'aria-labelledby': props.labelProps?.id || labelId,
93
+ ...menuButtonProps,
94
+ },
83
95
  isMenuOpen
84
96
  ? React.createElement(index_js_4.SvgCaretUpSmall, null)
85
97
  : React.createElement(index_js_4.SvgCaretDownSmall, null),
@@ -38,18 +38,20 @@ export declare const Carousel: PolymorphicForwardRefComponent<"section", Carouse
38
38
  Navigation: PolymorphicForwardRefComponent<"nav", {}> & {
39
39
  PreviousButton: PolymorphicForwardRefComponent<"button", Omit<Omit<React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & {
40
40
  ref?: ((instance: HTMLButtonElement | null) => void) | React.RefObject<HTMLButtonElement> | null | undefined;
41
- }, "label" | "as" | "size" | "styleType" | "isActive"> & {
41
+ }, "label" | "as" | "size" | "htmlDisabled" | "styleType" | "isActive" | "iconProps"> & {
42
42
  isActive?: boolean | undefined;
43
43
  label?: React.ReactNode;
44
- } & Omit<import("../Buttons/Button/Button.js").ButtonProps, "startIcon" | "endIcon"> & {
44
+ iconProps?: React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement> | undefined;
45
+ } & Omit<import("../Buttons/Button/Button.js").ButtonProps, "startIcon" | "endIcon" | "labelProps" | "startIconProps" | "endIconProps"> & {
45
46
  as?: "button" | undefined;
46
47
  }>;
47
48
  NextButton: PolymorphicForwardRefComponent<"button", Omit<Omit<React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & {
48
49
  ref?: ((instance: HTMLButtonElement | null) => void) | React.RefObject<HTMLButtonElement> | null | undefined;
49
- }, "label" | "as" | "size" | "styleType" | "isActive"> & {
50
+ }, "label" | "as" | "size" | "htmlDisabled" | "styleType" | "isActive" | "iconProps"> & {
50
51
  isActive?: boolean | undefined;
51
52
  label?: React.ReactNode;
52
- } & Omit<import("../Buttons/Button/Button.js").ButtonProps, "startIcon" | "endIcon"> & {
53
+ iconProps?: React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement> | undefined;
54
+ } & Omit<import("../Buttons/Button/Button.js").ButtonProps, "startIcon" | "endIcon" | "labelProps" | "startIconProps" | "endIconProps"> & {
53
55
  as?: "button" | undefined;
54
56
  }>;
55
57
  };
@@ -74,10 +74,10 @@ const CarouselComponent = React.forwardRef((props, ref) => {
74
74
  }
75
75
  }
76
76
  };
77
- const userOnSlideChange = React.useRef(onSlideChange);
77
+ const userOnSlideChange = (0, index_js_1.useLatestRef)(onSlideChange);
78
78
  React.useEffect(() => {
79
79
  userOnSlideChange.current?.(currentIndex);
80
- }, [currentIndex]);
80
+ }, [userOnSlideChange, currentIndex]);
81
81
  return React.createElement(
82
82
  index_js_1.Box,
83
83
  {
@@ -15,9 +15,7 @@ const index_js_1 = require('../utils/index.js');
15
15
  */
16
16
  exports.CarouselDot = React.forwardRef((props, ref) => {
17
17
  const { isActive, isSmaller, isSmall, className, ...rest } = props;
18
- return React.createElement(index_js_1.Box, {
19
- as: 'button',
20
- type: 'button',
18
+ return React.createElement(index_js_1.ButtonBase, {
21
19
  role: 'tab',
22
20
  tabIndex: -1,
23
21
  className: (0, classnames_1.default)(
@@ -9,18 +9,20 @@ import type { PolymorphicForwardRefComponent } from '../utils/index.js';
9
9
  export declare const CarouselNavigation: PolymorphicForwardRefComponent<"nav", {}> & {
10
10
  PreviousButton: PolymorphicForwardRefComponent<"button", Omit<Omit<React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & {
11
11
  ref?: ((instance: HTMLButtonElement | null) => void) | React.RefObject<HTMLButtonElement> | null | undefined;
12
- }, "label" | "as" | "size" | "styleType" | "isActive"> & {
12
+ }, "label" | "as" | "size" | "htmlDisabled" | "styleType" | "isActive" | "iconProps"> & {
13
13
  isActive?: boolean | undefined;
14
14
  label?: React.ReactNode;
15
- } & Omit<import("../Buttons/Button/Button.js").ButtonProps, "startIcon" | "endIcon"> & {
15
+ iconProps?: React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement> | undefined;
16
+ } & Omit<import("../Buttons/Button/Button.js").ButtonProps, "startIcon" | "endIcon" | "labelProps" | "startIconProps" | "endIconProps"> & {
16
17
  as?: "button" | undefined;
17
18
  }>;
18
19
  NextButton: PolymorphicForwardRefComponent<"button", Omit<Omit<React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & {
19
20
  ref?: ((instance: HTMLButtonElement | null) => void) | React.RefObject<HTMLButtonElement> | null | undefined;
20
- }, "label" | "as" | "size" | "styleType" | "isActive"> & {
21
+ }, "label" | "as" | "size" | "htmlDisabled" | "styleType" | "isActive" | "iconProps"> & {
21
22
  isActive?: boolean | undefined;
22
23
  label?: React.ReactNode;
23
- } & Omit<import("../Buttons/Button/Button.js").ButtonProps, "startIcon" | "endIcon"> & {
24
+ iconProps?: React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement> | undefined;
25
+ } & Omit<import("../Buttons/Button/Button.js").ButtonProps, "startIcon" | "endIcon" | "labelProps" | "startIconProps" | "endIconProps"> & {
24
26
  as?: "button" | undefined;
25
27
  }>;
26
28
  };
@@ -254,7 +254,8 @@ exports.ColorBuilder = React.forwardRef((props, ref) => {
254
254
  React.createElement(index_js_1.Box, {
255
255
  className: 'iui-color-dot',
256
256
  style: {
257
- '--iui-color-dot-inset': `${squareTop.toString()}% auto auto ${squareLeft.toString()}%`,
257
+ '--iui-color-dot-inset-block': `${squareTop.toString()}% auto`,
258
+ '--iui-color-dot-inset-inline': `${squareLeft.toString()}% auto`,
258
259
  },
259
260
  onPointerDown: () => {
260
261
  setColorDotActive(true);
@@ -139,20 +139,43 @@ exports.ColorInputPanel = React.forwardRef((props, ref) => {
139
139
  applyHsvColorChange(color.toHsvColor(), true, color);
140
140
  }
141
141
  };
142
- const hexInputField = React.createElement(
143
- index_js_3.InputContainer,
144
- { status: validHexInput ? undefined : 'negative' },
142
+ const hexInputField = React.createElement(index_js_2.Input, {
143
+ size: 'small',
144
+ maxLength: showAlpha ? 9 : 7,
145
+ minLength: 1,
146
+ placeholder: 'HEX',
147
+ value: input[0],
148
+ onChange: (event) => {
149
+ const value = event.target.value.startsWith('#')
150
+ ? event.target.value
151
+ : `#${event.target.value}`;
152
+ setInput([value]);
153
+ },
154
+ onKeyDown: (event) => {
155
+ if (event.key === 'Enter') {
156
+ event.preventDefault();
157
+ handleColorInputChange();
158
+ }
159
+ },
160
+ onBlur: (event) => {
161
+ event.preventDefault();
162
+ handleColorInputChange();
163
+ },
164
+ status: validHexInput ? undefined : 'negative',
165
+ });
166
+ const hslInputs = React.createElement(
167
+ React.Fragment,
168
+ null,
145
169
  React.createElement(index_js_2.Input, {
146
170
  size: 'small',
147
- maxLength: showAlpha ? 9 : 7,
148
- minLength: 1,
149
- placeholder: 'HEX',
150
- value: input[0],
171
+ type: 'number',
172
+ min: '0',
173
+ max: '359',
174
+ step: '.1',
175
+ placeholder: 'H',
176
+ value: input[0] ?? '',
151
177
  onChange: (event) => {
152
- const value = event.target.value.startsWith('#')
153
- ? event.target.value
154
- : `#${event.target.value}`;
155
- setInput([value]);
178
+ setInput([event.target.value, input[1], input[2], input[3]]);
156
179
  },
157
180
  onKeyDown: (event) => {
158
181
  if (event.key === 'Enter') {
@@ -162,97 +185,76 @@ exports.ColorInputPanel = React.forwardRef((props, ref) => {
162
185
  },
163
186
  onBlur: (event) => {
164
187
  event.preventDefault();
165
- handleColorInputChange();
188
+ if (!isFocusInside(event.relatedTarget)) {
189
+ handleColorInputChange();
190
+ }
166
191
  },
192
+ status:
193
+ Number(input[0]) < 0 || Number(input[0]) > 360 ? 'negative' : undefined,
167
194
  }),
168
- );
169
- const hslInputs = React.createElement(
170
- React.Fragment,
171
- null,
172
- React.createElement(
173
- index_js_3.InputContainer,
174
- {
175
- status:
176
- Number(input[0]) < 0 || Number(input[0]) > 360
177
- ? 'negative'
178
- : undefined,
195
+ React.createElement(index_js_2.Input, {
196
+ size: 'small',
197
+ type: 'number',
198
+ min: '0',
199
+ max: '100',
200
+ step: '.1',
201
+ placeholder: 'S',
202
+ value: input[1] ?? '',
203
+ onChange: (event) => {
204
+ setInput([input[0], event.target.value, input[2], input[3]]);
179
205
  },
180
- React.createElement(index_js_2.Input, {
181
- size: 'small',
182
- type: 'number',
183
- min: '0',
184
- max: '359',
185
- step: '.1',
186
- placeholder: 'H',
187
- value: input[0] ?? '',
188
- onChange: (event) => {
189
- setInput([event.target.value, input[1], input[2], input[3]]);
190
- },
191
- onKeyDown: (event) => {
192
- if (event.key === 'Enter') {
193
- event.preventDefault();
194
- handleColorInputChange();
195
- }
196
- },
197
- onBlur: (event) => {
206
+ onKeyDown: (event) => {
207
+ if (event.key === 'Enter') {
198
208
  event.preventDefault();
199
- if (!isFocusInside(event.relatedTarget)) {
200
- handleColorInputChange();
201
- }
202
- },
203
- }),
204
- ),
205
- React.createElement(
206
- index_js_3.InputContainer,
207
- {
208
- status:
209
- Number(input[1]) < 0 || Number(input[1]) > 100
210
- ? 'negative'
211
- : undefined,
209
+ handleColorInputChange();
210
+ }
212
211
  },
213
- React.createElement(index_js_2.Input, {
214
- size: 'small',
215
- type: 'number',
216
- min: '0',
217
- max: '100',
218
- step: '.1',
219
- placeholder: 'S',
220
- value: input[1] ?? '',
221
- onChange: (event) => {
222
- setInput([input[0], event.target.value, input[2], input[3]]);
223
- },
224
- onKeyDown: (event) => {
225
- if (event.key === 'Enter') {
226
- event.preventDefault();
227
- handleColorInputChange();
228
- }
229
- },
230
- onBlur: (event) => {
212
+ onBlur: (event) => {
213
+ event.preventDefault();
214
+ if (!isFocusInside(event.relatedTarget)) {
215
+ handleColorInputChange();
216
+ }
217
+ },
218
+ status:
219
+ Number(input[1]) < 0 || Number(input[1]) > 100 ? 'negative' : undefined,
220
+ }),
221
+ React.createElement(index_js_2.Input, {
222
+ size: 'small',
223
+ type: 'number',
224
+ min: '0',
225
+ max: '100',
226
+ step: '.1',
227
+ placeholder: 'L',
228
+ value: input[2] ?? '',
229
+ onChange: (event) => {
230
+ setInput([input[0], input[1], event.target.value, input[3]]);
231
+ },
232
+ onKeyDown: (event) => {
233
+ if (event.key === 'Enter') {
231
234
  event.preventDefault();
232
- if (!isFocusInside(event.relatedTarget)) {
233
- handleColorInputChange();
234
- }
235
- },
236
- }),
237
- ),
238
- React.createElement(
239
- index_js_3.InputContainer,
240
- {
241
- status:
242
- Number(input[2]) < 0 || Number(input[2]) > 100
243
- ? 'negative'
244
- : undefined,
235
+ handleColorInputChange();
236
+ }
245
237
  },
238
+ onBlur: (event) => {
239
+ event.preventDefault();
240
+ if (!isFocusInside(event.relatedTarget)) {
241
+ handleColorInputChange();
242
+ }
243
+ },
244
+ status:
245
+ Number(input[2]) < 0 || Number(input[2]) > 100 ? 'negative' : undefined,
246
+ }),
247
+ showAlpha &&
246
248
  React.createElement(index_js_2.Input, {
247
249
  size: 'small',
248
250
  type: 'number',
249
251
  min: '0',
250
- max: '100',
251
- step: '.1',
252
- placeholder: 'L',
253
- value: input[2] ?? '',
252
+ max: '1',
253
+ step: '.01',
254
+ placeholder: 'A',
255
+ value: input[3] ?? '',
254
256
  onChange: (event) => {
255
- setInput([input[0], input[1], event.target.value, input[3]]);
257
+ setInput([input[0], input[1], input[2], event.target.value]);
256
258
  },
257
259
  onKeyDown: (event) => {
258
260
  if (event.key === 'Enter') {
@@ -266,127 +268,99 @@ exports.ColorInputPanel = React.forwardRef((props, ref) => {
266
268
  handleColorInputChange();
267
269
  }
268
270
  },
271
+ status:
272
+ Number(input[3]) < 0 || Number(input[3]) > 1 ? 'negative' : undefined,
269
273
  }),
270
- ),
271
- showAlpha &&
272
- React.createElement(
273
- index_js_3.InputContainer,
274
- {
275
- status:
276
- Number(input[3]) < 0 || Number(input[3]) > 1
277
- ? 'negative'
278
- : undefined,
279
- },
280
- React.createElement(index_js_2.Input, {
281
- size: 'small',
282
- type: 'number',
283
- min: '0',
284
- max: '1',
285
- step: '.01',
286
- placeholder: 'A',
287
- value: input[3] ?? '',
288
- onChange: (event) => {
289
- setInput([input[0], input[1], input[2], event.target.value]);
290
- },
291
- onKeyDown: (event) => {
292
- if (event.key === 'Enter') {
293
- event.preventDefault();
294
- handleColorInputChange();
295
- }
296
- },
297
- onBlur: (event) => {
298
- event.preventDefault();
299
- if (!isFocusInside(event.relatedTarget)) {
300
- handleColorInputChange();
301
- }
302
- },
303
- }),
304
- ),
305
274
  );
306
275
  const rgbInputs = React.createElement(
307
276
  React.Fragment,
308
277
  null,
309
- React.createElement(
310
- index_js_3.InputContainer,
311
- {
312
- status:
313
- Number(input[0]) < 0 || Number(input[0]) > 255
314
- ? 'negative'
315
- : undefined,
278
+ React.createElement(index_js_2.Input, {
279
+ size: 'small',
280
+ type: 'number',
281
+ min: '0',
282
+ max: '255',
283
+ placeholder: 'R',
284
+ value: input[0] ?? '',
285
+ onChange: (event) => {
286
+ setInput([event.target.value, input[1], input[2], input[3]]);
316
287
  },
317
- React.createElement(index_js_2.Input, {
318
- size: 'small',
319
- type: 'number',
320
- min: '0',
321
- max: '255',
322
- placeholder: 'R',
323
- value: input[0] ?? '',
324
- onChange: (event) => {
325
- setInput([event.target.value, input[1], input[2], input[3]]);
326
- },
327
- onKeyDown: (event) => {
328
- if (event.key === 'Enter') {
329
- event.preventDefault();
330
- handleColorInputChange();
331
- }
332
- },
333
- onBlur: (event) => {
288
+ onKeyDown: (event) => {
289
+ if (event.key === 'Enter') {
334
290
  event.preventDefault();
335
- if (!isFocusInside(event.relatedTarget)) {
336
- handleColorInputChange();
337
- }
338
- },
339
- }),
340
- ),
341
- React.createElement(
342
- index_js_3.InputContainer,
343
- {
344
- status:
345
- Number(input[1]) < 0 || Number(input[1]) > 255
346
- ? 'negative'
347
- : undefined,
291
+ handleColorInputChange();
292
+ }
348
293
  },
349
- React.createElement(index_js_2.Input, {
350
- size: 'small',
351
- type: 'number',
352
- min: '0',
353
- max: '255',
354
- placeholder: 'G',
355
- value: input[1] ?? '',
356
- onChange: (event) => {
357
- setInput([input[0], event.target.value, input[2], input[3]]);
358
- },
359
- onKeyDown: (event) => {
360
- if (event.key === 'Enter') {
361
- event.preventDefault();
362
- handleColorInputChange();
363
- }
364
- },
365
- onBlur: (event) => {
294
+ onBlur: (event) => {
295
+ event.preventDefault();
296
+ if (!isFocusInside(event.relatedTarget)) {
297
+ handleColorInputChange();
298
+ }
299
+ },
300
+ status:
301
+ Number(input[0]) < 0 || Number(input[0]) > 255 ? 'negative' : undefined,
302
+ }),
303
+ React.createElement(index_js_2.Input, {
304
+ size: 'small',
305
+ type: 'number',
306
+ min: '0',
307
+ max: '255',
308
+ placeholder: 'G',
309
+ value: input[1] ?? '',
310
+ onChange: (event) => {
311
+ setInput([input[0], event.target.value, input[2], input[3]]);
312
+ },
313
+ onKeyDown: (event) => {
314
+ if (event.key === 'Enter') {
366
315
  event.preventDefault();
367
- if (!isFocusInside(event.relatedTarget)) {
368
- handleColorInputChange();
369
- }
370
- },
371
- }),
372
- ),
373
- React.createElement(
374
- index_js_3.InputContainer,
375
- {
376
- status:
377
- Number(input[2]) < 0 || Number(input[2]) > 255
378
- ? 'negative'
379
- : undefined,
316
+ handleColorInputChange();
317
+ }
318
+ },
319
+ onBlur: (event) => {
320
+ event.preventDefault();
321
+ if (!isFocusInside(event.relatedTarget)) {
322
+ handleColorInputChange();
323
+ }
380
324
  },
325
+ status:
326
+ Number(input[1]) < 0 || Number(input[1]) > 255 ? 'negative' : undefined,
327
+ }),
328
+ React.createElement(index_js_2.Input, {
329
+ size: 'small',
330
+ type: 'number',
331
+ min: '0',
332
+ max: '255',
333
+ placeholder: 'B',
334
+ value: input[2] ?? '',
335
+ onChange: (event) => {
336
+ setInput([input[0], input[1], event.target.value, input[3]]);
337
+ },
338
+ onKeyDown: (event) => {
339
+ if (event.key === 'Enter') {
340
+ event.preventDefault();
341
+ handleColorInputChange();
342
+ }
343
+ },
344
+ onBlur: (event) => {
345
+ event.preventDefault();
346
+ if (!isFocusInside(event.relatedTarget)) {
347
+ handleColorInputChange();
348
+ }
349
+ },
350
+ status:
351
+ Number(input[2]) < 0 || Number(input[2]) > 255 ? 'negative' : undefined,
352
+ }),
353
+ showAlpha &&
381
354
  React.createElement(index_js_2.Input, {
382
355
  size: 'small',
383
356
  type: 'number',
384
357
  min: '0',
385
- max: '255',
386
- placeholder: 'B',
387
- value: input[2] ?? '',
358
+ max: '1',
359
+ step: '.01',
360
+ placeholder: 'A',
361
+ value: input[3] ?? '',
388
362
  onChange: (event) => {
389
- setInput([input[0], input[1], event.target.value, input[3]]);
363
+ setInput([input[0], input[1], input[2], event.target.value]);
390
364
  },
391
365
  onKeyDown: (event) => {
392
366
  if (event.key === 'Enter') {
@@ -400,42 +374,9 @@ exports.ColorInputPanel = React.forwardRef((props, ref) => {
400
374
  handleColorInputChange();
401
375
  }
402
376
  },
377
+ status:
378
+ Number(input[3]) < 0 || Number(input[3]) > 1 ? 'negative' : undefined,
403
379
  }),
404
- ),
405
- showAlpha &&
406
- React.createElement(
407
- index_js_3.InputContainer,
408
- {
409
- status:
410
- Number(input[3]) < 0 || Number(input[3]) > 1
411
- ? 'negative'
412
- : undefined,
413
- },
414
- React.createElement(index_js_2.Input, {
415
- size: 'small',
416
- type: 'number',
417
- min: '0',
418
- max: '1',
419
- step: '.01',
420
- placeholder: 'A',
421
- value: input[3] ?? '',
422
- onChange: (event) => {
423
- setInput([input[0], input[1], input[2], event.target.value]);
424
- },
425
- onKeyDown: (event) => {
426
- if (event.key === 'Enter') {
427
- event.preventDefault();
428
- handleColorInputChange();
429
- }
430
- },
431
- onBlur: (event) => {
432
- event.preventDefault();
433
- if (!isFocusInside(event.relatedTarget)) {
434
- handleColorInputChange();
435
- }
436
- },
437
- }),
438
- ),
439
380
  );
440
381
  return React.createElement(
441
382
  index_js_3.Box,