@itwin/itwinui-react 3.13.4 → 3.14.1

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 (631) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/DEV-cjs/core/Alert/Alert.js +125 -72
  3. package/DEV-cjs/core/Avatar/Avatar.js +70 -44
  4. package/DEV-cjs/core/AvatarGroup/AvatarGroup.js +71 -34
  5. package/DEV-cjs/core/Backdrop/Backdrop.js +26 -22
  6. package/DEV-cjs/core/Badge/Badge.js +49 -42
  7. package/DEV-cjs/core/Breadcrumbs/Breadcrumbs.js +165 -86
  8. package/DEV-cjs/core/ButtonGroup/ButtonGroup.js +141 -79
  9. package/DEV-cjs/core/Buttons/Button.js +95 -49
  10. package/DEV-cjs/core/Buttons/DropdownButton.js +53 -35
  11. package/DEV-cjs/core/Buttons/IconButton.js +77 -41
  12. package/DEV-cjs/core/Buttons/IdeasButton.js +30 -26
  13. package/DEV-cjs/core/Buttons/SplitButton.js +90 -56
  14. package/DEV-cjs/core/Carousel/Carousel.js +77 -67
  15. package/DEV-cjs/core/Carousel/CarouselContext.js +10 -10
  16. package/DEV-cjs/core/Carousel/CarouselDot.js +31 -27
  17. package/DEV-cjs/core/Carousel/CarouselDotsList.js +148 -113
  18. package/DEV-cjs/core/Carousel/CarouselNavigation.js +98 -69
  19. package/DEV-cjs/core/Carousel/CarouselSlide.js +51 -42
  20. package/DEV-cjs/core/Carousel/CarouselSlider.js +68 -61
  21. package/DEV-cjs/core/Checkbox/Checkbox.js +96 -54
  22. package/DEV-cjs/core/ColorPicker/ColorBuilder.js +274 -228
  23. package/DEV-cjs/core/ColorPicker/ColorInputPanel.js +398 -366
  24. package/DEV-cjs/core/ColorPicker/ColorPalette.js +56 -36
  25. package/DEV-cjs/core/ColorPicker/ColorPicker.js +88 -69
  26. package/DEV-cjs/core/ColorPicker/ColorPickerContext.js +22 -18
  27. package/DEV-cjs/core/ColorPicker/ColorSwatch.js +50 -33
  28. package/DEV-cjs/core/ComboBox/ComboBox.js +395 -294
  29. package/DEV-cjs/core/ComboBox/ComboBox.types-test.js +87 -80
  30. package/DEV-cjs/core/ComboBox/ComboBoxEndIcon.js +36 -27
  31. package/DEV-cjs/core/ComboBox/ComboBoxInput.js +190 -128
  32. package/DEV-cjs/core/ComboBox/ComboBoxInputContainer.js +40 -28
  33. package/DEV-cjs/core/ComboBox/ComboBoxMenu.js +132 -93
  34. package/DEV-cjs/core/ComboBox/ComboBoxMenuItem.js +75 -34
  35. package/DEV-cjs/core/ComboBox/ComboBoxMultipleContainer.js +18 -18
  36. package/DEV-cjs/core/ComboBox/helpers.js +15 -14
  37. package/DEV-cjs/core/DatePicker/DatePicker.js +556 -353
  38. package/DEV-cjs/core/Dialog/Dialog.js +86 -58
  39. package/DEV-cjs/core/Dialog/DialogBackdrop.js +52 -39
  40. package/DEV-cjs/core/Dialog/DialogButtonBar.js +9 -9
  41. package/DEV-cjs/core/Dialog/DialogContent.js +9 -9
  42. package/DEV-cjs/core/Dialog/DialogContext.js +16 -15
  43. package/DEV-cjs/core/Dialog/DialogDragContext.js +20 -19
  44. package/DEV-cjs/core/Dialog/DialogMain.js +174 -122
  45. package/DEV-cjs/core/Dialog/DialogTitleBar.js +68 -33
  46. package/DEV-cjs/core/Dialog/DialogTitleBarTitle.js +9 -9
  47. package/DEV-cjs/core/Divider/Divider.js +22 -22
  48. package/DEV-cjs/core/DropdownMenu/DropdownMenu.js +63 -37
  49. package/DEV-cjs/core/ExpandableBlock/ExpandableBlock.js +195 -125
  50. package/DEV-cjs/core/Fieldset/Fieldset.js +34 -23
  51. package/DEV-cjs/core/FileUpload/FileEmptyCard.js +43 -24
  52. package/DEV-cjs/core/FileUpload/FileUpload.js +94 -57
  53. package/DEV-cjs/core/FileUpload/FileUploadCard.js +181 -124
  54. package/DEV-cjs/core/FileUpload/FileUploadTemplate.js +63 -35
  55. package/DEV-cjs/core/Flex/Flex.js +78 -77
  56. package/DEV-cjs/core/Footer/Footer.js +119 -85
  57. package/DEV-cjs/core/Footer/FooterItem.js +9 -9
  58. package/DEV-cjs/core/Footer/FooterList.js +9 -9
  59. package/DEV-cjs/core/Footer/FooterSeparator.js +10 -10
  60. package/DEV-cjs/core/Header/Header.js +86 -44
  61. package/DEV-cjs/core/Header/HeaderBasicButton.js +30 -20
  62. package/DEV-cjs/core/Header/HeaderBreadcrumbs.js +59 -36
  63. package/DEV-cjs/core/Header/HeaderButton.js +90 -46
  64. package/DEV-cjs/core/Header/HeaderDropdownButton.js +55 -44
  65. package/DEV-cjs/core/Header/HeaderLogo.js +53 -30
  66. package/DEV-cjs/core/Header/HeaderSplitButton.js +72 -44
  67. package/DEV-cjs/core/Icon/Icon.js +41 -35
  68. package/DEV-cjs/core/InformationPanel/InformationPanel.js +97 -62
  69. package/DEV-cjs/core/InformationPanel/InformationPanelBody.js +9 -9
  70. package/DEV-cjs/core/InformationPanel/InformationPanelContent.js +30 -22
  71. package/DEV-cjs/core/InformationPanel/InformationPanelHeader.js +51 -32
  72. package/DEV-cjs/core/InformationPanel/InformationPanelWrapper.js +12 -10
  73. package/DEV-cjs/core/Input/Input.js +26 -26
  74. package/DEV-cjs/core/InputGrid/InputGrid.js +151 -117
  75. package/DEV-cjs/core/InputGroup/InputGroup.js +85 -48
  76. package/DEV-cjs/core/InputWithDecorations/InputWithDecorations.js +60 -44
  77. package/DEV-cjs/core/Label/Label.js +40 -25
  78. package/DEV-cjs/core/LabeledInput/LabeledInput.js +86 -42
  79. package/DEV-cjs/core/LabeledSelect/LabeledSelect.js +71 -39
  80. package/DEV-cjs/core/LabeledSelect/LabeledSelect.types-test.js +100 -81
  81. package/DEV-cjs/core/LabeledTextarea/LabeledTextarea.js +19 -17
  82. package/DEV-cjs/core/LinkAction/LinkAction.js +27 -26
  83. package/DEV-cjs/core/List/List.js +11 -11
  84. package/DEV-cjs/core/List/ListItem.js +42 -34
  85. package/DEV-cjs/core/Menu/Menu.js +213 -127
  86. package/DEV-cjs/core/Menu/MenuDivider.js +11 -11
  87. package/DEV-cjs/core/Menu/MenuExtraContent.js +10 -10
  88. package/DEV-cjs/core/Menu/MenuItem.js +140 -77
  89. package/DEV-cjs/core/Menu/MenuItemSkeleton.js +65 -40
  90. package/DEV-cjs/core/Modal/Modal.js +54 -31
  91. package/DEV-cjs/core/Modal/ModalButtonBar.js +9 -9
  92. package/DEV-cjs/core/Modal/ModalContent.js +9 -9
  93. package/DEV-cjs/core/NonIdealState/ErrorPage.js +208 -127
  94. package/DEV-cjs/core/NonIdealState/NonIdealState.js +84 -35
  95. package/DEV-cjs/core/NotificationMarker/NotificationMarker.js +39 -25
  96. package/DEV-cjs/core/Overlay/Overlay.js +55 -41
  97. package/DEV-cjs/core/Popover/Popover.js +292 -193
  98. package/DEV-cjs/core/ProgressIndicators/ProgressLinear.js +70 -33
  99. package/DEV-cjs/core/ProgressIndicators/ProgressRadial.js +67 -40
  100. package/DEV-cjs/core/Radio/Radio.js +66 -38
  101. package/DEV-cjs/core/RadioTiles/RadioTile.js +88 -43
  102. package/DEV-cjs/core/RadioTiles/RadioTileGroup.js +29 -21
  103. package/DEV-cjs/core/SearchBox/SearchBox.js +203 -130
  104. package/DEV-cjs/core/Select/Select.js +457 -274
  105. package/DEV-cjs/core/Select/Select.types-test.js +112 -87
  106. package/DEV-cjs/core/Select/SelectTag.js +32 -24
  107. package/DEV-cjs/core/Select/SelectTagContainer.js +38 -25
  108. package/DEV-cjs/core/SideNavigation/SideNavigation.js +132 -64
  109. package/DEV-cjs/core/SideNavigation/SidenavButton.js +55 -33
  110. package/DEV-cjs/core/SideNavigation/SidenavSubmenu.js +33 -22
  111. package/DEV-cjs/core/SideNavigation/SidenavSubmenuHeader.js +41 -24
  112. package/DEV-cjs/core/SkipToContentLink/SkipToContentLink.js +28 -21
  113. package/DEV-cjs/core/Slider/Slider.js +352 -259
  114. package/DEV-cjs/core/Slider/Thumb.js +111 -98
  115. package/DEV-cjs/core/Slider/Track.js +93 -61
  116. package/DEV-cjs/core/StatusMessage/StatusMessage.js +46 -27
  117. package/DEV-cjs/core/Stepper/Stepper.js +86 -44
  118. package/DEV-cjs/core/Stepper/StepperStep.js +113 -59
  119. package/DEV-cjs/core/Stepper/WorkflowDiagram.js +37 -29
  120. package/DEV-cjs/core/Stepper/WorkflowDiagramStep.js +48 -28
  121. package/DEV-cjs/core/Surface/Surface.js +98 -76
  122. package/DEV-cjs/core/Table/ColumnHeader.js +194 -0
  123. package/DEV-cjs/core/Table/SubRowExpander.js +45 -34
  124. package/DEV-cjs/core/Table/Table.js +688 -511
  125. package/DEV-cjs/core/Table/TableCell.js +104 -61
  126. package/DEV-cjs/core/Table/TablePaginator.js +314 -178
  127. package/DEV-cjs/core/Table/TableRowMemoized.js +183 -90
  128. package/DEV-cjs/core/Table/actionHandlers/expandHandler.js +18 -18
  129. package/DEV-cjs/core/Table/actionHandlers/filterHandler.js +31 -23
  130. package/DEV-cjs/core/Table/actionHandlers/index.js +32 -31
  131. package/DEV-cjs/core/Table/actionHandlers/resizeHandler.js +26 -25
  132. package/DEV-cjs/core/Table/actionHandlers/selectHandler.js +124 -88
  133. package/DEV-cjs/core/Table/cells/DefaultCell.js +93 -44
  134. package/DEV-cjs/core/Table/cells/EditableCell.js +85 -63
  135. package/DEV-cjs/core/Table/cells/index.js +15 -14
  136. package/DEV-cjs/core/Table/columns/actionColumn.js +100 -78
  137. package/DEV-cjs/core/Table/columns/expanderColumn.js +56 -49
  138. package/DEV-cjs/core/Table/columns/index.js +25 -24
  139. package/DEV-cjs/core/Table/columns/selectionColumn.js +79 -58
  140. package/DEV-cjs/core/Table/filters/BaseFilter.js +31 -25
  141. package/DEV-cjs/core/Table/filters/DateRangeFilter/DatePickerInput.js +108 -72
  142. package/DEV-cjs/core/Table/filters/DateRangeFilter/DateRangeFilter.js +115 -91
  143. package/DEV-cjs/core/Table/filters/FilterButtonBar.js +56 -33
  144. package/DEV-cjs/core/Table/filters/FilterToggle.js +71 -54
  145. package/DEV-cjs/core/Table/filters/NumberRangeFilter/NumberRangeFilter.js +56 -60
  146. package/DEV-cjs/core/Table/filters/TextFilter/TextFilter.js +38 -36
  147. package/DEV-cjs/core/Table/filters/customFilterFunctions.js +26 -20
  148. package/DEV-cjs/core/Table/filters/defaultFilterFunctions.js +119 -77
  149. package/DEV-cjs/core/Table/filters/index.js +23 -22
  150. package/DEV-cjs/core/Table/filters/tableFilters.js +28 -25
  151. package/DEV-cjs/core/Table/filters/types.js +3 -3
  152. package/DEV-cjs/core/Table/hooks/index.js +39 -38
  153. package/DEV-cjs/core/Table/hooks/useColumnDragAndDrop.js +118 -101
  154. package/DEV-cjs/core/Table/hooks/useExpanderCell.js +39 -29
  155. package/DEV-cjs/core/Table/hooks/useResizeColumns.js +346 -248
  156. package/DEV-cjs/core/Table/hooks/useScrollToRow.js +42 -38
  157. package/DEV-cjs/core/Table/hooks/useSelectionCell.js +26 -19
  158. package/DEV-cjs/core/Table/hooks/useStickyColumns.js +55 -47
  159. package/DEV-cjs/core/Table/hooks/useSubRowFiltering.js +89 -86
  160. package/DEV-cjs/core/Table/hooks/useSubRowSelection.js +39 -39
  161. package/DEV-cjs/core/Table/index.js +42 -41
  162. package/DEV-cjs/core/Table/utils.js +66 -64
  163. package/DEV-cjs/core/Tabs/Tabs.js +388 -260
  164. package/DEV-cjs/core/Tag/Tag.js +80 -42
  165. package/DEV-cjs/core/Tag/TagContainer.js +31 -23
  166. package/DEV-cjs/core/Textarea/Textarea.js +19 -17
  167. package/DEV-cjs/core/ThemeProvider/ThemeContext.js +10 -10
  168. package/DEV-cjs/core/ThemeProvider/ThemeProvider.js +276 -172
  169. package/DEV-cjs/core/Tile/Tile.js +310 -173
  170. package/DEV-cjs/core/TimePicker/TimePicker.js +451 -263
  171. package/DEV-cjs/core/Toast/Toast.js +226 -157
  172. package/DEV-cjs/core/Toast/Toaster.js +142 -118
  173. package/DEV-cjs/core/ToggleSwitch/ToggleSwitch.js +76 -42
  174. package/DEV-cjs/core/Tooltip/Tooltip.js +221 -170
  175. package/DEV-cjs/core/TransferList/TransferList.js +171 -132
  176. package/DEV-cjs/core/Tree/Tree.js +226 -180
  177. package/DEV-cjs/core/Tree/TreeContext.js +20 -18
  178. package/DEV-cjs/core/Tree/TreeNode.js +254 -143
  179. package/DEV-cjs/core/Tree/TreeNodeExpander.js +40 -31
  180. package/DEV-cjs/core/Typography/Anchor.js +41 -27
  181. package/DEV-cjs/core/Typography/Blockquote.js +26 -21
  182. package/DEV-cjs/core/Typography/Code.js +9 -9
  183. package/DEV-cjs/core/Typography/Kbd.js +43 -38
  184. package/DEV-cjs/core/Typography/Text.js +45 -31
  185. package/DEV-cjs/core/VisuallyHidden/VisuallyHidden.js +47 -30
  186. package/DEV-cjs/index.js +475 -474
  187. package/DEV-cjs/package.json +1 -0
  188. package/DEV-cjs/react-table/react-table.js +3 -3
  189. package/DEV-cjs/react-table/react-table.types-test.js +628 -476
  190. package/DEV-cjs/styles.js +17 -1
  191. package/DEV-cjs/utils/color/ColorValue.js +429 -323
  192. package/DEV-cjs/utils/color/index.js +5 -5
  193. package/DEV-cjs/utils/components/AutoclearingHiddenLiveRegion.js +31 -26
  194. package/DEV-cjs/utils/components/Box.js +9 -9
  195. package/DEV-cjs/utils/components/ButtonBase.js +41 -35
  196. package/DEV-cjs/utils/components/FieldsetBase.js +9 -9
  197. package/DEV-cjs/utils/components/FocusTrap.js +48 -45
  198. package/DEV-cjs/utils/components/InputContainer.js +67 -34
  199. package/DEV-cjs/utils/components/InputFlexContainer.js +63 -49
  200. package/DEV-cjs/utils/components/InputWithIcon.js +9 -9
  201. package/DEV-cjs/utils/components/LineClamp.js +33 -24
  202. package/DEV-cjs/utils/components/MiddleTextTruncation.js +37 -33
  203. package/DEV-cjs/utils/components/Portal.js +35 -32
  204. package/DEV-cjs/utils/components/Resizer.js +221 -185
  205. package/DEV-cjs/utils/components/ShadowRoot.js +85 -69
  206. package/DEV-cjs/utils/components/WithCSSTransition.js +57 -50
  207. package/DEV-cjs/utils/components/index.js +18 -18
  208. package/DEV-cjs/utils/functions/colors.js +37 -35
  209. package/DEV-cjs/utils/functions/date.js +15 -15
  210. package/DEV-cjs/utils/functions/dev.js +12 -26
  211. package/DEV-cjs/utils/functions/dom.js +39 -39
  212. package/DEV-cjs/utils/functions/focusable.js +81 -63
  213. package/DEV-cjs/utils/functions/import.js +28 -22
  214. package/DEV-cjs/utils/functions/index.js +14 -14
  215. package/DEV-cjs/utils/functions/numbers.js +26 -24
  216. package/DEV-cjs/utils/functions/polymorphic.js +56 -43
  217. package/DEV-cjs/utils/functions/react.js +25 -23
  218. package/DEV-cjs/utils/functions/supports.js +11 -10
  219. package/DEV-cjs/utils/hooks/index.js +21 -20
  220. package/DEV-cjs/utils/hooks/useContainerWidth.js +31 -26
  221. package/DEV-cjs/utils/hooks/useControlledState.js +28 -27
  222. package/DEV-cjs/utils/hooks/useDragAndDrop.js +112 -88
  223. package/DEV-cjs/utils/hooks/useEventListener.js +23 -28
  224. package/DEV-cjs/utils/hooks/useGlobals.js +46 -40
  225. package/DEV-cjs/utils/hooks/useId.js +17 -17
  226. package/DEV-cjs/utils/hooks/useIntersection.js +38 -38
  227. package/DEV-cjs/utils/hooks/useIsClient.js +16 -16
  228. package/DEV-cjs/utils/hooks/useIsomorphicLayoutEffect.js +12 -11
  229. package/DEV-cjs/utils/hooks/useLatestRef.js +16 -18
  230. package/DEV-cjs/utils/hooks/useMediaQuery.js +32 -23
  231. package/DEV-cjs/utils/hooks/useMergedRefs.js +25 -23
  232. package/DEV-cjs/utils/hooks/useOverflow.js +68 -72
  233. package/DEV-cjs/utils/hooks/useResizeObserver.js +31 -33
  234. package/DEV-cjs/utils/hooks/useSafeContext.js +15 -14
  235. package/DEV-cjs/utils/hooks/useSyncExternalStore.js +37 -40
  236. package/DEV-cjs/utils/hooks/useVirtualScroll.js +42 -40
  237. package/DEV-cjs/utils/hooks/useWarningLogger.js +43 -0
  238. package/DEV-cjs/utils/icons/StatusIconMap.js +34 -30
  239. package/DEV-cjs/utils/icons/Svg.js +12 -12
  240. package/DEV-cjs/utils/icons/SvgCalendar.js +19 -14
  241. package/DEV-cjs/utils/icons/SvgCaretDownSmall.js +19 -14
  242. package/DEV-cjs/utils/icons/SvgCaretRightSmall.js +19 -14
  243. package/DEV-cjs/utils/icons/SvgCaretUpSmall.js +19 -14
  244. package/DEV-cjs/utils/icons/SvgCheckmark.js +19 -14
  245. package/DEV-cjs/utils/icons/SvgCheckmarkSmall.js +19 -14
  246. package/DEV-cjs/utils/icons/SvgChevronLeft.js +19 -14
  247. package/DEV-cjs/utils/icons/SvgChevronLeftDouble.js +19 -14
  248. package/DEV-cjs/utils/icons/SvgChevronRight.js +19 -14
  249. package/DEV-cjs/utils/icons/SvgChevronRightDouble.js +19 -14
  250. package/DEV-cjs/utils/icons/SvgChevronRightSmall.js +19 -14
  251. package/DEV-cjs/utils/icons/SvgClose.js +19 -14
  252. package/DEV-cjs/utils/icons/SvgCloseSmall.js +19 -14
  253. package/DEV-cjs/utils/icons/SvgColumnManager.js +19 -14
  254. package/DEV-cjs/utils/icons/SvgDocument.js +19 -14
  255. package/DEV-cjs/utils/icons/SvgFilter.js +19 -14
  256. package/DEV-cjs/utils/icons/SvgFilterHollow.js +19 -14
  257. package/DEV-cjs/utils/icons/SvgImportantSmall.js +19 -14
  258. package/DEV-cjs/utils/icons/SvgInfoCircular.js +19 -14
  259. package/DEV-cjs/utils/icons/SvgMore.js +19 -14
  260. package/DEV-cjs/utils/icons/SvgMoreVertical.js +19 -14
  261. package/DEV-cjs/utils/icons/SvgNew.js +19 -14
  262. package/DEV-cjs/utils/icons/SvgSearch.js +19 -14
  263. package/DEV-cjs/utils/icons/SvgSmileyHappy.js +19 -14
  264. package/DEV-cjs/utils/icons/SvgSortDown.js +19 -14
  265. package/DEV-cjs/utils/icons/SvgSortUp.js +19 -14
  266. package/DEV-cjs/utils/icons/SvgStatusError.js +19 -14
  267. package/DEV-cjs/utils/icons/SvgStatusSuccess.js +19 -14
  268. package/DEV-cjs/utils/icons/SvgStatusWarning.js +19 -14
  269. package/DEV-cjs/utils/icons/SvgSwap.js +19 -14
  270. package/DEV-cjs/utils/icons/SvgUpload.js +19 -14
  271. package/DEV-cjs/utils/icons/index.js +36 -36
  272. package/DEV-cjs/utils/index.js +12 -12
  273. package/DEV-cjs/utils/meta.js +11 -11
  274. package/DEV-cjs/utils/props.js +3 -3
  275. package/DEV-cjs/utils/providers/HydrationProvider.js +47 -35
  276. package/DEV-cjs/utils/providers/ScopeProvider.js +55 -53
  277. package/DEV-cjs/utils/providers/index.js +6 -6
  278. package/DEV-cjs/utils/types.js +3 -3
  279. package/DEV-esm/core/Alert/Alert.js +112 -57
  280. package/DEV-esm/core/Avatar/Avatar.js +45 -26
  281. package/DEV-esm/core/AvatarGroup/AvatarGroup.js +58 -21
  282. package/DEV-esm/core/Backdrop/Backdrop.js +13 -9
  283. package/DEV-esm/core/Badge/Badge.js +34 -29
  284. package/DEV-esm/core/Breadcrumbs/Breadcrumbs.js +151 -72
  285. package/DEV-esm/core/ButtonGroup/ButtonGroup.js +127 -62
  286. package/DEV-esm/core/Buttons/Button.js +71 -34
  287. package/DEV-esm/core/Buttons/DropdownButton.js +38 -20
  288. package/DEV-esm/core/Buttons/IconButton.js +54 -25
  289. package/DEV-esm/core/Buttons/IdeasButton.js +16 -12
  290. package/DEV-esm/core/Buttons/SplitButton.js +80 -41
  291. package/DEV-esm/core/Carousel/Carousel.js +58 -48
  292. package/DEV-esm/core/Carousel/CarouselDot.js +18 -14
  293. package/DEV-esm/core/Carousel/CarouselDotsList.js +134 -98
  294. package/DEV-esm/core/Carousel/CarouselNavigation.js +82 -53
  295. package/DEV-esm/core/Carousel/CarouselSlide.js +40 -29
  296. package/DEV-esm/core/Carousel/CarouselSlider.js +59 -48
  297. package/DEV-esm/core/Checkbox/Checkbox.js +79 -40
  298. package/DEV-esm/core/ColorPicker/ColorBuilder.js +263 -214
  299. package/DEV-esm/core/ColorPicker/ColorInputPanel.js +382 -350
  300. package/DEV-esm/core/ColorPicker/ColorPalette.js +37 -20
  301. package/DEV-esm/core/ColorPicker/ColorPicker.js +69 -51
  302. package/DEV-esm/core/ColorPicker/ColorPickerContext.js +7 -4
  303. package/DEV-esm/core/ColorPicker/ColorSwatch.js +29 -18
  304. package/DEV-esm/core/ComboBox/ComboBox.js +382 -274
  305. package/DEV-esm/core/ComboBox/ComboBox.types-test.js +82 -75
  306. package/DEV-esm/core/ComboBox/ComboBoxEndIcon.js +22 -13
  307. package/DEV-esm/core/ComboBox/ComboBoxInput.js +170 -114
  308. package/DEV-esm/core/ComboBox/ComboBoxInputContainer.js +29 -11
  309. package/DEV-esm/core/ComboBox/ComboBoxMenu.js +121 -79
  310. package/DEV-esm/core/ComboBox/ComboBoxMenuItem.js +65 -22
  311. package/DEV-esm/core/ComboBox/ComboBoxMultipleContainer.js +7 -7
  312. package/DEV-esm/core/DatePicker/DatePicker.js +527 -335
  313. package/DEV-esm/core/Dialog/Dialog.js +66 -38
  314. package/DEV-esm/core/Dialog/DialogBackdrop.js +37 -24
  315. package/DEV-esm/core/Dialog/DialogContext.js +1 -1
  316. package/DEV-esm/core/Dialog/DialogDragContext.js +5 -5
  317. package/DEV-esm/core/Dialog/DialogMain.js +166 -106
  318. package/DEV-esm/core/Dialog/DialogTitleBar.js +43 -15
  319. package/DEV-esm/core/Divider/Divider.js +9 -9
  320. package/DEV-esm/core/DropdownMenu/DropdownMenu.js +50 -24
  321. package/DEV-esm/core/ExpandableBlock/ExpandableBlock.js +177 -110
  322. package/DEV-esm/core/Fieldset/Fieldset.js +21 -10
  323. package/DEV-esm/core/FileUpload/FileEmptyCard.js +25 -10
  324. package/DEV-esm/core/FileUpload/FileUpload.js +66 -44
  325. package/DEV-esm/core/FileUpload/FileUploadCard.js +163 -105
  326. package/DEV-esm/core/FileUpload/FileUploadTemplate.js +46 -21
  327. package/DEV-esm/core/Flex/Flex.js +65 -64
  328. package/DEV-esm/core/Footer/Footer.js +96 -64
  329. package/DEV-esm/core/Footer/FooterSeparator.js +1 -1
  330. package/DEV-esm/core/Header/Header.js +71 -29
  331. package/DEV-esm/core/Header/HeaderBasicButton.js +14 -7
  332. package/DEV-esm/core/Header/HeaderBreadcrumbs.js +39 -23
  333. package/DEV-esm/core/Header/HeaderButton.js +70 -32
  334. package/DEV-esm/core/Header/HeaderDropdownButton.js +41 -29
  335. package/DEV-esm/core/Header/HeaderLogo.js +40 -17
  336. package/DEV-esm/core/Header/HeaderSplitButton.js +60 -30
  337. package/DEV-esm/core/Icon/Icon.js +28 -22
  338. package/DEV-esm/core/InformationPanel/InformationPanel.js +84 -49
  339. package/DEV-esm/core/InformationPanel/InformationPanelContent.js +18 -8
  340. package/DEV-esm/core/InformationPanel/InformationPanelHeader.js +37 -16
  341. package/DEV-esm/core/InformationPanel/InformationPanelWrapper.js +3 -1
  342. package/DEV-esm/core/Input/Input.js +13 -13
  343. package/DEV-esm/core/InputGrid/InputGrid.js +128 -98
  344. package/DEV-esm/core/InputGroup/InputGroup.js +66 -32
  345. package/DEV-esm/core/InputWithDecorations/InputWithDecorations.js +59 -34
  346. package/DEV-esm/core/Label/Label.js +27 -12
  347. package/DEV-esm/core/LabeledInput/LabeledInput.js +65 -24
  348. package/DEV-esm/core/LabeledSelect/LabeledSelect.js +57 -25
  349. package/DEV-esm/core/LabeledSelect/LabeledSelect.types-test.js +95 -76
  350. package/DEV-esm/core/LabeledTextarea/LabeledTextarea.js +8 -6
  351. package/DEV-esm/core/LinkAction/LinkAction.js +8 -8
  352. package/DEV-esm/core/List/List.js +2 -2
  353. package/DEV-esm/core/List/ListItem.js +28 -20
  354. package/DEV-esm/core/Menu/Menu.js +207 -111
  355. package/DEV-esm/core/Menu/MenuDivider.js +2 -2
  356. package/DEV-esm/core/Menu/MenuExtraContent.js +1 -1
  357. package/DEV-esm/core/Menu/MenuItem.js +130 -63
  358. package/DEV-esm/core/Menu/MenuItemSkeleton.js +47 -26
  359. package/DEV-esm/core/Modal/Modal.js +43 -20
  360. package/DEV-esm/core/NonIdealState/ErrorPage.js +159 -114
  361. package/DEV-esm/core/NonIdealState/NonIdealState.js +65 -22
  362. package/DEV-esm/core/NotificationMarker/NotificationMarker.js +26 -12
  363. package/DEV-esm/core/Overlay/Overlay.js +44 -30
  364. package/DEV-esm/core/Popover/Popover.js +294 -173
  365. package/DEV-esm/core/ProgressIndicators/ProgressLinear.js +52 -19
  366. package/DEV-esm/core/ProgressIndicators/ProgressRadial.js +52 -27
  367. package/DEV-esm/core/Radio/Radio.js +50 -25
  368. package/DEV-esm/core/RadioTiles/RadioTile.js +63 -30
  369. package/DEV-esm/core/RadioTiles/RadioTileGroup.js +17 -9
  370. package/DEV-esm/core/SearchBox/SearchBox.js +200 -118
  371. package/DEV-esm/core/Select/Select.js +434 -256
  372. package/DEV-esm/core/Select/Select.types-test.js +107 -82
  373. package/DEV-esm/core/Select/SelectTag.js +19 -11
  374. package/DEV-esm/core/Select/SelectTagContainer.js +21 -11
  375. package/DEV-esm/core/SideNavigation/SideNavigation.js +103 -46
  376. package/DEV-esm/core/SideNavigation/SidenavButton.js +39 -18
  377. package/DEV-esm/core/SideNavigation/SidenavSubmenu.js +17 -9
  378. package/DEV-esm/core/SideNavigation/SidenavSubmenuHeader.js +25 -11
  379. package/DEV-esm/core/SkipToContentLink/SkipToContentLink.js +12 -8
  380. package/DEV-esm/core/Slider/Slider.js +317 -244
  381. package/DEV-esm/core/Slider/Thumb.js +97 -84
  382. package/DEV-esm/core/Slider/Track.js +77 -48
  383. package/DEV-esm/core/StatusMessage/StatusMessage.js +32 -13
  384. package/DEV-esm/core/Stepper/Stepper.js +69 -30
  385. package/DEV-esm/core/Stepper/StepperStep.js +93 -45
  386. package/DEV-esm/core/Stepper/WorkflowDiagram.js +23 -15
  387. package/DEV-esm/core/Stepper/WorkflowDiagramStep.js +28 -14
  388. package/DEV-esm/core/Surface/Surface.js +85 -63
  389. package/DEV-esm/core/Table/ColumnHeader.js +188 -0
  390. package/DEV-esm/core/Table/SubRowExpander.js +33 -22
  391. package/DEV-esm/core/Table/Table.js +695 -491
  392. package/DEV-esm/core/Table/TableCell.js +80 -44
  393. package/DEV-esm/core/Table/TablePaginator.js +305 -161
  394. package/DEV-esm/core/Table/TableRowMemoized.js +167 -73
  395. package/DEV-esm/core/Table/actionHandlers/expandHandler.js +10 -10
  396. package/DEV-esm/core/Table/actionHandlers/filterHandler.js +23 -15
  397. package/DEV-esm/core/Table/actionHandlers/index.js +5 -1
  398. package/DEV-esm/core/Table/actionHandlers/resizeHandler.js +14 -14
  399. package/DEV-esm/core/Table/actionHandlers/selectHandler.js +108 -73
  400. package/DEV-esm/core/Table/cells/DefaultCell.js +79 -30
  401. package/DEV-esm/core/Table/cells/EditableCell.js +70 -50
  402. package/DEV-esm/core/Table/columns/actionColumn.js +81 -59
  403. package/DEV-esm/core/Table/columns/expanderColumn.js +38 -32
  404. package/DEV-esm/core/Table/columns/selectionColumn.js +62 -42
  405. package/DEV-esm/core/Table/filters/BaseFilter.js +16 -13
  406. package/DEV-esm/core/Table/filters/DateRangeFilter/DatePickerInput.js +92 -56
  407. package/DEV-esm/core/Table/filters/DateRangeFilter/DateRangeFilter.js +101 -77
  408. package/DEV-esm/core/Table/filters/FilterButtonBar.js +42 -19
  409. package/DEV-esm/core/Table/filters/FilterToggle.js +58 -40
  410. package/DEV-esm/core/Table/filters/NumberRangeFilter/NumberRangeFilter.js +42 -46
  411. package/DEV-esm/core/Table/filters/TextFilter/TextFilter.js +24 -22
  412. package/DEV-esm/core/Table/filters/customFilterFunctions.js +18 -12
  413. package/DEV-esm/core/Table/filters/defaultFilterFunctions.js +111 -69
  414. package/DEV-esm/core/Table/filters/tableFilters.js +15 -12
  415. package/DEV-esm/core/Table/filters/types.js +1 -1
  416. package/DEV-esm/core/Table/hooks/useColumnDragAndDrop.js +100 -91
  417. package/DEV-esm/core/Table/hooks/useExpanderCell.js +26 -18
  418. package/DEV-esm/core/Table/hooks/useResizeColumns.js +333 -238
  419. package/DEV-esm/core/Table/hooks/useScrollToRow.js +32 -28
  420. package/DEV-esm/core/Table/hooks/useSelectionCell.js +17 -10
  421. package/DEV-esm/core/Table/hooks/useStickyColumns.js +46 -38
  422. package/DEV-esm/core/Table/hooks/useSubRowFiltering.js +78 -75
  423. package/DEV-esm/core/Table/hooks/useSubRowSelection.js +29 -29
  424. package/DEV-esm/core/Table/index.js +5 -1
  425. package/DEV-esm/core/Table/utils.js +45 -44
  426. package/DEV-esm/core/Tabs/Tabs.js +372 -243
  427. package/DEV-esm/core/Tag/Tag.js +55 -27
  428. package/DEV-esm/core/Tag/TagContainer.js +18 -10
  429. package/DEV-esm/core/Textarea/Textarea.js +8 -6
  430. package/DEV-esm/core/ThemeProvider/ThemeProvider.js +258 -155
  431. package/DEV-esm/core/Tile/Tile.js +286 -157
  432. package/DEV-esm/core/TimePicker/TimePicker.js +438 -250
  433. package/DEV-esm/core/Toast/Toast.js +199 -138
  434. package/DEV-esm/core/Toast/Toaster.js +114 -94
  435. package/DEV-esm/core/ToggleSwitch/ToggleSwitch.js +60 -29
  436. package/DEV-esm/core/Tooltip/Tooltip.js +229 -159
  437. package/DEV-esm/core/TransferList/TransferList.js +146 -112
  438. package/DEV-esm/core/Tree/Tree.js +226 -175
  439. package/DEV-esm/core/Tree/TreeContext.js +5 -4
  440. package/DEV-esm/core/Tree/TreeNode.js +226 -129
  441. package/DEV-esm/core/Tree/TreeNodeExpander.js +24 -16
  442. package/DEV-esm/core/Typography/Anchor.js +22 -12
  443. package/DEV-esm/core/Typography/Blockquote.js +13 -8
  444. package/DEV-esm/core/Typography/Kbd.js +25 -21
  445. package/DEV-esm/core/Typography/Text.js +27 -14
  446. package/DEV-esm/core/VisuallyHidden/VisuallyHidden.js +34 -17
  447. package/DEV-esm/index.js +21 -3
  448. package/DEV-esm/react-table/react-table.js +1 -1
  449. package/DEV-esm/react-table/react-table.types-test.js +635 -471
  450. package/DEV-esm/styles.js +7 -10
  451. package/DEV-esm/utils/color/ColorValue.js +406 -304
  452. package/DEV-esm/utils/components/AutoclearingHiddenLiveRegion.js +16 -14
  453. package/DEV-esm/utils/components/ButtonBase.js +27 -21
  454. package/DEV-esm/utils/components/FocusTrap.js +36 -33
  455. package/DEV-esm/utils/components/InputContainer.js +52 -19
  456. package/DEV-esm/utils/components/InputFlexContainer.js +31 -27
  457. package/DEV-esm/utils/components/LineClamp.js +21 -12
  458. package/DEV-esm/utils/components/MiddleTextTruncation.js +26 -22
  459. package/DEV-esm/utils/components/Portal.js +11 -11
  460. package/DEV-esm/utils/components/Resizer.js +215 -175
  461. package/DEV-esm/utils/components/ShadowRoot.js +72 -56
  462. package/DEV-esm/utils/components/WithCSSTransition.js +45 -38
  463. package/DEV-esm/utils/functions/colors.js +21 -20
  464. package/DEV-esm/utils/functions/date.js +7 -7
  465. package/DEV-esm/utils/functions/dev.js +5 -11
  466. package/DEV-esm/utils/functions/dom.js +18 -18
  467. package/DEV-esm/utils/functions/focusable.js +62 -45
  468. package/DEV-esm/utils/functions/import.js +20 -14
  469. package/DEV-esm/utils/functions/numbers.js +11 -9
  470. package/DEV-esm/utils/functions/polymorphic.js +42 -29
  471. package/DEV-esm/utils/functions/react.js +14 -12
  472. package/DEV-esm/utils/functions/supports.js +2 -1
  473. package/DEV-esm/utils/hooks/index.js +1 -0
  474. package/DEV-esm/utils/hooks/useContainerWidth.js +14 -14
  475. package/DEV-esm/utils/hooks/useControlledState.js +18 -17
  476. package/DEV-esm/utils/hooks/useDragAndDrop.js +100 -76
  477. package/DEV-esm/utils/hooks/useEventListener.js +13 -18
  478. package/DEV-esm/utils/hooks/useGlobals.js +29 -24
  479. package/DEV-esm/utils/hooks/useId.js +5 -6
  480. package/DEV-esm/utils/hooks/useIntersection.js +27 -27
  481. package/DEV-esm/utils/hooks/useIsClient.js +6 -6
  482. package/DEV-esm/utils/hooks/useIsomorphicLayoutEffect.js +2 -1
  483. package/DEV-esm/utils/hooks/useLatestRef.js +6 -8
  484. package/DEV-esm/utils/hooks/useMediaQuery.js +17 -12
  485. package/DEV-esm/utils/hooks/useMergedRefs.js +10 -9
  486. package/DEV-esm/utils/hooks/useOverflow.js +57 -59
  487. package/DEV-esm/utils/hooks/useResizeObserver.js +20 -22
  488. package/DEV-esm/utils/hooks/useSafeContext.js +5 -4
  489. package/DEV-esm/utils/hooks/useSyncExternalStore.js +27 -30
  490. package/DEV-esm/utils/hooks/useVirtualScroll.js +31 -29
  491. package/DEV-esm/utils/hooks/useWarningLogger.js +31 -0
  492. package/DEV-esm/utils/icons/StatusIconMap.js +20 -16
  493. package/DEV-esm/utils/icons/Svg.js +3 -3
  494. package/DEV-esm/utils/icons/SvgCalendar.js +8 -3
  495. package/DEV-esm/utils/icons/SvgCaretDownSmall.js +8 -3
  496. package/DEV-esm/utils/icons/SvgCaretRightSmall.js +8 -3
  497. package/DEV-esm/utils/icons/SvgCaretUpSmall.js +8 -3
  498. package/DEV-esm/utils/icons/SvgCheckmark.js +8 -3
  499. package/DEV-esm/utils/icons/SvgCheckmarkSmall.js +8 -3
  500. package/DEV-esm/utils/icons/SvgChevronLeft.js +8 -3
  501. package/DEV-esm/utils/icons/SvgChevronLeftDouble.js +8 -3
  502. package/DEV-esm/utils/icons/SvgChevronRight.js +8 -3
  503. package/DEV-esm/utils/icons/SvgChevronRightDouble.js +8 -3
  504. package/DEV-esm/utils/icons/SvgChevronRightSmall.js +8 -3
  505. package/DEV-esm/utils/icons/SvgClose.js +8 -3
  506. package/DEV-esm/utils/icons/SvgCloseSmall.js +8 -3
  507. package/DEV-esm/utils/icons/SvgColumnManager.js +8 -3
  508. package/DEV-esm/utils/icons/SvgDocument.js +8 -3
  509. package/DEV-esm/utils/icons/SvgFilter.js +8 -3
  510. package/DEV-esm/utils/icons/SvgFilterHollow.js +8 -3
  511. package/DEV-esm/utils/icons/SvgImportantSmall.js +8 -3
  512. package/DEV-esm/utils/icons/SvgInfoCircular.js +8 -3
  513. package/DEV-esm/utils/icons/SvgMore.js +8 -3
  514. package/DEV-esm/utils/icons/SvgMoreVertical.js +8 -3
  515. package/DEV-esm/utils/icons/SvgNew.js +8 -3
  516. package/DEV-esm/utils/icons/SvgSearch.js +8 -3
  517. package/DEV-esm/utils/icons/SvgSmileyHappy.js +8 -3
  518. package/DEV-esm/utils/icons/SvgSortDown.js +8 -3
  519. package/DEV-esm/utils/icons/SvgSortUp.js +8 -3
  520. package/DEV-esm/utils/icons/SvgStatusError.js +8 -3
  521. package/DEV-esm/utils/icons/SvgStatusSuccess.js +8 -3
  522. package/DEV-esm/utils/icons/SvgStatusWarning.js +8 -3
  523. package/DEV-esm/utils/icons/SvgSwap.js +8 -3
  524. package/DEV-esm/utils/icons/SvgUpload.js +8 -3
  525. package/DEV-esm/utils/meta.js +2 -2
  526. package/DEV-esm/utils/props.js +1 -1
  527. package/DEV-esm/utils/providers/HydrationProvider.js +31 -20
  528. package/DEV-esm/utils/providers/ScopeProvider.js +36 -35
  529. package/DEV-esm/utils/types.js +1 -1
  530. package/cjs/core/Breadcrumbs/Breadcrumbs.js +1 -1
  531. package/cjs/core/Buttons/IconButton.d.ts +4 -0
  532. package/cjs/core/Buttons/IconButton.js +3 -1
  533. package/cjs/core/Carousel/Carousel.d.ts +4 -2
  534. package/cjs/core/Carousel/CarouselNavigation.d.ts +4 -2
  535. package/cjs/core/ComboBox/ComboBox.js +5 -0
  536. package/cjs/core/InputWithDecorations/InputWithDecorations.d.ts +1 -1
  537. package/cjs/core/List/List.d.ts +1 -1
  538. package/cjs/core/List/List.js +1 -1
  539. package/cjs/core/List/ListItem.d.ts +4 -4
  540. package/cjs/core/List/ListItem.js +4 -6
  541. package/cjs/core/Menu/Menu.js +6 -0
  542. package/cjs/core/Menu/MenuDivider.d.ts +1 -1
  543. package/cjs/core/Menu/MenuDivider.js +1 -1
  544. package/cjs/core/Menu/MenuItem.js +1 -1
  545. package/cjs/core/Overlay/Overlay.d.ts +2 -2
  546. package/cjs/core/Overlay/Overlay.js +2 -2
  547. package/cjs/core/Popover/Popover.d.ts +8 -1
  548. package/cjs/core/Popover/Popover.js +56 -35
  549. package/cjs/core/Select/Select.js +5 -0
  550. package/cjs/core/Table/ColumnHeader.d.ts +19 -0
  551. package/cjs/core/Table/ColumnHeader.js +194 -0
  552. package/cjs/core/Table/Table.js +38 -191
  553. package/cjs/core/Table/filters/BaseFilter.d.ts +2 -9
  554. package/cjs/core/Table/filters/BaseFilter.js +17 -15
  555. package/cjs/core/Table/filters/DateRangeFilter/DateRangeFilter.js +3 -8
  556. package/cjs/core/Table/filters/FilterButtonBar.d.ts +4 -2
  557. package/cjs/core/Table/filters/FilterButtonBar.js +1 -0
  558. package/cjs/core/Table/filters/NumberRangeFilter/NumberRangeFilter.js +3 -9
  559. package/cjs/core/Table/filters/TextFilter/TextFilter.js +4 -7
  560. package/cjs/core/Table/filters/index.d.ts +0 -1
  561. package/cjs/core/Table/index.d.ts +1 -1
  562. package/cjs/core/ThemeProvider/ThemeProvider.d.ts +0 -4
  563. package/cjs/core/ThemeProvider/ThemeProvider.js +66 -49
  564. package/cjs/core/Tile/Tile.d.ts +10 -9
  565. package/cjs/core/Tile/Tile.js +8 -8
  566. package/cjs/core/Toast/Toaster.d.ts +3 -2
  567. package/cjs/core/Toast/Toaster.js +2 -1
  568. package/cjs/core/Tooltip/Tooltip.js +22 -7
  569. package/cjs/core/TransferList/TransferList.d.ts +5 -5
  570. package/cjs/core/TransferList/TransferList.js +2 -2
  571. package/cjs/styles.js +1 -1
  572. package/cjs/utils/functions/dev.d.ts +1 -16
  573. package/cjs/utils/functions/dev.js +3 -13
  574. package/cjs/utils/functions/polymorphic.d.ts +3 -7
  575. package/cjs/utils/functions/polymorphic.js +8 -5
  576. package/cjs/utils/hooks/index.d.ts +1 -0
  577. package/cjs/utils/hooks/index.js +1 -0
  578. package/cjs/utils/hooks/useWarningLogger.d.ts +15 -0
  579. package/cjs/utils/hooks/useWarningLogger.js +17 -0
  580. package/esm/core/Breadcrumbs/Breadcrumbs.js +2 -2
  581. package/esm/core/Buttons/IconButton.d.ts +4 -0
  582. package/esm/core/Buttons/IconButton.js +4 -2
  583. package/esm/core/Carousel/Carousel.d.ts +4 -2
  584. package/esm/core/Carousel/CarouselNavigation.d.ts +4 -2
  585. package/esm/core/ComboBox/ComboBox.js +5 -0
  586. package/esm/core/InputWithDecorations/InputWithDecorations.d.ts +1 -1
  587. package/esm/core/List/List.d.ts +1 -1
  588. package/esm/core/List/List.js +1 -1
  589. package/esm/core/List/ListItem.d.ts +4 -4
  590. package/esm/core/List/ListItem.js +4 -4
  591. package/esm/core/Menu/Menu.js +6 -0
  592. package/esm/core/Menu/MenuDivider.d.ts +1 -1
  593. package/esm/core/Menu/MenuDivider.js +1 -1
  594. package/esm/core/Menu/MenuItem.js +2 -2
  595. package/esm/core/Overlay/Overlay.d.ts +2 -2
  596. package/esm/core/Overlay/Overlay.js +2 -2
  597. package/esm/core/Popover/Popover.d.ts +8 -1
  598. package/esm/core/Popover/Popover.js +57 -39
  599. package/esm/core/Select/Select.js +5 -0
  600. package/esm/core/Table/ColumnHeader.d.ts +19 -0
  601. package/esm/core/Table/ColumnHeader.js +188 -0
  602. package/esm/core/Table/Table.js +21 -179
  603. package/esm/core/Table/filters/BaseFilter.d.ts +2 -9
  604. package/esm/core/Table/filters/BaseFilter.js +15 -16
  605. package/esm/core/Table/filters/DateRangeFilter/DateRangeFilter.js +3 -8
  606. package/esm/core/Table/filters/FilterButtonBar.d.ts +4 -2
  607. package/esm/core/Table/filters/FilterButtonBar.js +1 -0
  608. package/esm/core/Table/filters/NumberRangeFilter/NumberRangeFilter.js +3 -9
  609. package/esm/core/Table/filters/TextFilter/TextFilter.js +4 -7
  610. package/esm/core/Table/filters/index.d.ts +0 -1
  611. package/esm/core/Table/index.d.ts +1 -1
  612. package/esm/core/ThemeProvider/ThemeProvider.d.ts +0 -4
  613. package/esm/core/ThemeProvider/ThemeProvider.js +65 -44
  614. package/esm/core/Tile/Tile.d.ts +10 -9
  615. package/esm/core/Tile/Tile.js +8 -8
  616. package/esm/core/Toast/Toaster.d.ts +3 -2
  617. package/esm/core/Toast/Toaster.js +2 -1
  618. package/esm/core/Tooltip/Tooltip.js +22 -8
  619. package/esm/core/TransferList/TransferList.d.ts +5 -5
  620. package/esm/core/TransferList/TransferList.js +2 -2
  621. package/esm/styles.js +1 -1
  622. package/esm/utils/functions/dev.d.ts +1 -16
  623. package/esm/utils/functions/dev.js +1 -2
  624. package/esm/utils/functions/polymorphic.d.ts +3 -7
  625. package/esm/utils/functions/polymorphic.js +8 -5
  626. package/esm/utils/hooks/index.d.ts +1 -0
  627. package/esm/utils/hooks/index.js +1 -0
  628. package/esm/utils/hooks/useWarningLogger.d.ts +15 -0
  629. package/esm/utils/hooks/useWarningLogger.js +5 -0
  630. package/package.json +3 -3
  631. package/styles.css +22 -14
@@ -61,14 +61,16 @@ const ThemeProvider = _react.forwardRef((props, forwardedRef) => {
61
61
  },
62
62
  _react.createElement(
63
63
  _Toaster.ToastProvider,
64
- null,
64
+ {
65
+ inherit: 'inherit' === themeProp && !portalContainerProp,
66
+ },
65
67
  includeCss && rootElement
66
68
  ? _react.createElement(FallbackStyles, {
67
69
  root: rootElement,
68
70
  })
69
71
  : null,
70
72
  _react.createElement(
71
- Root,
73
+ MainRoot,
72
74
  {
73
75
  theme: theme,
74
76
  themeOptions: themeOptions,
@@ -81,6 +83,8 @@ const ThemeProvider = _react.forwardRef((props, forwardedRef) => {
81
83
  },
82
84
  children,
83
85
  _react.createElement(PortalContainer, {
86
+ theme: theme,
87
+ themeOptions: themeOptions,
84
88
  portalContainerProp: portalContainerProp,
85
89
  portalContainerFromParent: portalContainerFromParent,
86
90
  isInheritingTheme: 'inherit' === themeProp,
@@ -91,15 +95,7 @@ const ThemeProvider = _react.forwardRef((props, forwardedRef) => {
91
95
  ),
92
96
  );
93
97
  });
94
- const Root = _react.forwardRef((props, forwardedRef) => {
95
- let { theme, children, themeOptions, className, ...rest } = props;
96
- let prefersDark = (0, _index.useMediaQuery)('(prefers-color-scheme: dark)');
97
- let prefersHighContrast = (0, _index.useMediaQuery)(
98
- '(prefers-contrast: more)',
99
- );
100
- let shouldApplyDark = 'dark' === theme || ('os' === theme && prefersDark);
101
- let shouldApplyHC = themeOptions?.highContrast ?? prefersHighContrast;
102
- let shouldApplyBackground = themeOptions?.applyBackground;
98
+ const MainRoot = _react.forwardRef((props, forwardedRef) => {
103
99
  let [ownerDocument, setOwnerDocument] = (0, _index.useScopedAtom)(
104
100
  ownerDocumentAtom,
105
101
  );
@@ -110,6 +106,20 @@ const Root = _react.forwardRef((props, forwardedRef) => {
110
106
  },
111
107
  [ownerDocument, setOwnerDocument],
112
108
  );
109
+ return _react.createElement(Root, {
110
+ ...props,
111
+ ref: (0, _index.useMergedRefs)(findOwnerDocumentFromRef, forwardedRef),
112
+ });
113
+ });
114
+ const Root = _react.forwardRef((props, forwardedRef) => {
115
+ let { theme, children, themeOptions, className, ...rest } = props;
116
+ let prefersDark = (0, _index.useMediaQuery)('(prefers-color-scheme: dark)');
117
+ let prefersHighContrast = (0, _index.useMediaQuery)(
118
+ '(prefers-contrast: more)',
119
+ );
120
+ let shouldApplyDark = 'dark' === theme || ('os' === theme && prefersDark);
121
+ let shouldApplyHC = themeOptions?.highContrast ?? prefersHighContrast;
122
+ let shouldApplyBackground = themeOptions?.applyBackground;
113
123
  return _react.createElement(
114
124
  _index.Box,
115
125
  {
@@ -122,7 +132,7 @@ const Root = _react.forwardRef((props, forwardedRef) => {
122
132
  ),
123
133
  'data-iui-theme': shouldApplyDark ? 'dark' : 'light',
124
134
  'data-iui-contrast': shouldApplyHC ? 'high' : 'default',
125
- ref: (0, _index.useMergedRefs)(forwardedRef, findOwnerDocumentFromRef),
135
+ ref: forwardedRef,
126
136
  ...rest,
127
137
  },
128
138
  children,
@@ -165,54 +175,61 @@ const useParentThemeAndContext = (rootElement) => {
165
175
  };
166
176
  };
167
177
  const PortalContainer = _react.memo(
168
- ({ portalContainerProp, portalContainerFromParent, isInheritingTheme }) => {
178
+ ({
179
+ portalContainerProp,
180
+ portalContainerFromParent,
181
+ isInheritingTheme,
182
+ theme,
183
+ themeOptions,
184
+ }) => {
169
185
  let [ownerDocument] = (0, _index.useScopedAtom)(ownerDocumentAtom);
170
- let setPortalContainer = (0, _index.useScopedSetAtom)(
186
+ let [portalContainer, setPortalContainer] = (0, _index.useScopedAtom)(
171
187
  _index.portalContainerAtom,
172
188
  );
189
+ let shouldSetupPortalContainer =
190
+ !portalContainerProp &&
191
+ (!isInheritingTheme ||
192
+ !portalContainerFromParent ||
193
+ (!!ownerDocument &&
194
+ portalContainerFromParent.ownerDocument !== ownerDocument));
173
195
  let id = (0, _index.useId)();
196
+ _react.useEffect(() => {
197
+ if (shouldSetupPortalContainer) return;
198
+ let portalTarget = portalContainerProp || portalContainerFromParent;
199
+ if (portalTarget && portalTarget !== portalContainer)
200
+ setPortalContainer(portalTarget);
201
+ });
174
202
  let isHydrated = 'hydrated' === (0, _index.useHydration)();
175
203
  if (!isHydrated) return null;
176
- if (portalContainerProp)
177
- return _react.createElement(PortaledToaster, {
178
- target: portalContainerProp,
179
- });
180
- if (
181
- !isInheritingTheme ||
182
- !portalContainerFromParent ||
183
- (!!ownerDocument &&
184
- portalContainerFromParent.ownerDocument !== ownerDocument)
185
- )
186
- return _react.createElement(
187
- 'div',
188
- {
189
- style: {
190
- display: 'contents',
204
+ if (shouldSetupPortalContainer && ownerDocument)
205
+ return _reactdom.createPortal(
206
+ _react.createElement(
207
+ Root,
208
+ {
209
+ theme: theme,
210
+ themeOptions: {
211
+ ...themeOptions,
212
+ applyBackground: false,
213
+ },
214
+ 'data-iui-portal': true,
215
+ style: {
216
+ display: 'contents',
217
+ },
218
+ ref: setPortalContainer,
219
+ id: id,
191
220
  },
192
- ref: setPortalContainer,
193
- id: id,
194
- },
221
+ _react.createElement(_Toaster.Toaster, null),
222
+ ),
223
+ ownerDocument.body,
224
+ );
225
+ if (portalContainerProp)
226
+ return _reactdom.createPortal(
195
227
  _react.createElement(_Toaster.Toaster, null),
228
+ portalContainerProp,
196
229
  );
197
- return _react.createElement(PortaledToaster, {
198
- target: portalContainerFromParent,
199
- });
230
+ return null;
200
231
  },
201
232
  );
202
- const PortaledToaster = ({ target }) => {
203
- let [portalContainer, setPortalContainer] = (0, _index.useScopedAtom)(
204
- _index.portalContainerAtom,
205
- );
206
- _react.useEffect(() => {
207
- if (target && target !== portalContainer) setPortalContainer(target);
208
- });
209
- return target
210
- ? _reactdom.createPortal(
211
- _react.createElement(_Toaster.Toaster, null),
212
- target,
213
- )
214
- : null;
215
- };
216
233
  const FallbackStyles = ({ root }) => {
217
234
  (0, _index.useLayoutEffect)(() => {
218
235
  if (
@@ -207,7 +207,7 @@ export declare const Tile: PolymorphicForwardRefComponent<"div", TileLegacyProps
207
207
  * <Tile.BadgeContainer/>
208
208
  * </Tile.ThumbnailArea>
209
209
  */
210
- ThumbnailArea: PolymorphicForwardRefComponent<keyof JSX.IntrinsicElements, {}>;
210
+ ThumbnailArea: PolymorphicForwardRefComponent<"div", {}>;
211
211
  /**
212
212
  * Thumbnail image url, a custom component or an svg for thumbnail avatar.
213
213
  * @example
@@ -234,26 +234,27 @@ export declare const Tile: PolymorphicForwardRefComponent<"div", TileLegacyProps
234
234
  * `QuickAction` subcomponent shown on top left of the tile.
235
235
  * Recommended to use an invisible `IconButton`.
236
236
  */
237
- QuickAction: PolymorphicForwardRefComponent<keyof JSX.IntrinsicElements, {}>;
237
+ QuickAction: PolymorphicForwardRefComponent<"div", {}>;
238
238
  /**
239
239
  * `TypeIndicator` subcomponent shown on top left of the tile.
240
240
  * Recommended to use an invisible `IconButton`.
241
241
  */
242
- TypeIndicator: PolymorphicForwardRefComponent<keyof JSX.IntrinsicElements, {}>;
242
+ TypeIndicator: PolymorphicForwardRefComponent<"div", {}>;
243
243
  /**
244
244
  * `BadgeContainer` subcomponent shown on the bottom right of thumbnail.
245
245
  */
246
- BadgeContainer: PolymorphicForwardRefComponent<keyof JSX.IntrinsicElements, {}>;
246
+ BadgeContainer: PolymorphicForwardRefComponent<"div", {}>;
247
247
  /**
248
248
  * `IconButton` subcomponent: custom icon for `QuickAction` and `TypeIndicator` buttons.
249
249
  */
250
250
  IconButton: PolymorphicForwardRefComponent<"button", Omit<Omit<Omit<React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & {
251
251
  ref?: ((instance: HTMLButtonElement | null) => void) | React.RefObject<HTMLButtonElement> | null | undefined;
252
- }, "label" | "as" | "size" | "htmlDisabled" | "styleType" | "labelProps" | "stretched" | "isActive" | "iconProps"> & {
252
+ }, "label" | "title" | "as" | "size" | "htmlDisabled" | "styleType" | "labelProps" | "stretched" | "isActive" | "iconProps"> & {
253
253
  isActive?: boolean;
254
254
  label?: React.ReactNode;
255
255
  labelProps?: Omit<React.ComponentPropsWithoutRef<typeof import("../Tooltip/Tooltip.js").Tooltip>, "content" | "reference" | "ariaStrategy" | "children">;
256
256
  iconProps?: React.ComponentProps<"span">;
257
+ title?: string;
257
258
  } & Omit<import("../Buttons/Button.js").ButtonProps, "loading" | "startIcon" | "endIcon" | "labelProps" | "startIconProps" | "endIconProps"> & {
258
259
  as?: "button" | undefined;
259
260
  }, "ref">>;
@@ -294,12 +295,12 @@ export declare const Tile: PolymorphicForwardRefComponent<"div", TileLegacyProps
294
295
  * </Tile.ContentArea>
295
296
  * </Tile.Wrapper>
296
297
  */
297
- ContentArea: PolymorphicForwardRefComponent<keyof JSX.IntrinsicElements, {}>;
298
+ ContentArea: PolymorphicForwardRefComponent<"div", {}>;
298
299
  /**
299
300
  * Description text of the tile.
300
301
  * Gets truncated if it can't fit in the tile.
301
302
  */
302
- Description: PolymorphicForwardRefComponent<keyof JSX.IntrinsicElements, {}>;
303
+ Description: PolymorphicForwardRefComponent<"div", {}>;
303
304
  /**
304
305
  * Metadata section located below description.
305
306
  * @example
@@ -315,7 +316,7 @@ export declare const Tile: PolymorphicForwardRefComponent<"div", TileLegacyProps
315
316
  * </>}
316
317
  * </Tile.Metadata>
317
318
  */
318
- Metadata: PolymorphicForwardRefComponent<keyof JSX.IntrinsicElements, {}>;
319
+ Metadata: PolymorphicForwardRefComponent<"div", {}>;
319
320
  /**
320
321
  * Dropdown menu containing `MenuItem`s.
321
322
  */
@@ -323,6 +324,6 @@ export declare const Tile: PolymorphicForwardRefComponent<"div", TileLegacyProps
323
324
  /**
324
325
  * Upto two buttons shown at the bottom of the tile.
325
326
  */
326
- Buttons: PolymorphicForwardRefComponent<keyof JSX.IntrinsicElements, {}>;
327
+ Buttons: PolymorphicForwardRefComponent<"div", {}>;
327
328
  };
328
329
  export {};
@@ -83,7 +83,7 @@ const TileAction = _react.forwardRef((props, forwardedRef) => {
83
83
  children,
84
84
  );
85
85
  });
86
- const TileThumbnailArea = (0, _index.polymorphic)('iui-tile-thumbnail');
86
+ const TileThumbnailArea = _index.polymorphic.div('iui-tile-thumbnail');
87
87
  const TileThumbnailPicture = _react.forwardRef((props, forwardedRef) => {
88
88
  let { className, url, children, ...rest } = props;
89
89
  if (url)
@@ -108,10 +108,10 @@ const TileThumbnailPicture = _react.forwardRef((props, forwardedRef) => {
108
108
  children,
109
109
  );
110
110
  });
111
- const TileQuickAction = (0, _index.polymorphic)(
111
+ const TileQuickAction = _index.polymorphic.div(
112
112
  'iui-tile-thumbnail-quick-action',
113
113
  );
114
- const TileTypeIndicator = (0, _index.polymorphic)(
114
+ const TileTypeIndicator = _index.polymorphic.div(
115
115
  'iui-tile-thumbnail-type-indicator',
116
116
  );
117
117
  const TileIconButton = _react.forwardRef((props, forwardedRef) => {
@@ -131,7 +131,7 @@ const TileIconButton = _react.forwardRef((props, forwardedRef) => {
131
131
  children,
132
132
  );
133
133
  });
134
- const TileBadgeContainer = (0, _index.polymorphic)(
134
+ const TileBadgeContainer = _index.polymorphic.div(
135
135
  'iui-tile-thumbnail-badge-container',
136
136
  );
137
137
  const TileName = _react.forwardRef((props, forwardedRef) => {
@@ -187,9 +187,9 @@ const TileNameIcon = _react.forwardRef((props, forwardedRef) => {
187
187
  : null;
188
188
  });
189
189
  const TileNameLabel = _index.polymorphic.span('iui-tile-name-label');
190
- const TileContentArea = (0, _index.polymorphic)('iui-tile-content');
191
- const TileDescription = (0, _index.polymorphic)('iui-tile-description');
192
- const TileMetadata = (0, _index.polymorphic)('iui-tile-metadata');
190
+ const TileContentArea = _index.polymorphic.div('iui-tile-content');
191
+ const TileDescription = _index.polymorphic.div('iui-tile-description');
192
+ const TileMetadata = _index.polymorphic.div('iui-tile-metadata');
193
193
  const TileMoreOptions = _react.forwardRef((props, forwardedRef) => {
194
194
  let { className, children = [], buttonProps, ...rest } = props;
195
195
  let [isMenuVisible, setIsMenuVisible] = _react.useState(false);
@@ -233,7 +233,7 @@ const TileMoreOptions = _react.forwardRef((props, forwardedRef) => {
233
233
  ),
234
234
  );
235
235
  });
236
- const TileButtons = (0, _index.polymorphic)('iui-tile-buttons');
236
+ const TileButtons = _index.polymorphic.div('iui-tile-buttons');
237
237
  const TileComponent = _react.forwardRef((props, forwardedRef) => {
238
238
  let {
239
239
  name,
@@ -35,9 +35,10 @@ export declare const useToaster: () => {
35
35
  setSettings: (settings: Partial<ToasterSettings>) => void;
36
36
  };
37
37
  export declare const Toaster: () => React.JSX.Element;
38
- export declare const ToastProvider: ({ children }: {
38
+ export declare const ToastProvider: ({ children, inherit, }: {
39
39
  children: React.ReactNode;
40
- }) => React.JSX.Element;
40
+ inherit?: boolean;
41
+ }) => string | number | boolean | Iterable<React.ReactNode> | React.JSX.Element | null | undefined;
41
42
  export declare const ToasterStateContext: React.Context<ToasterState | undefined>;
42
43
  type ToasterState = {
43
44
  toasts: ToastProps[];
@@ -88,7 +88,7 @@ const Toaster = () => {
88
88
  ),
89
89
  );
90
90
  };
91
- const ToastProvider = ({ children }) => {
91
+ const ToastProvider = ({ children, inherit = false }) => {
92
92
  let [toasterState, dispatch] = _react.useReducer(toastReducer, {
93
93
  toasts: [],
94
94
  settings: {
@@ -96,6 +96,7 @@ const ToastProvider = ({ children }) => {
96
96
  placement: 'top',
97
97
  },
98
98
  });
99
+ if (_react.useContext(ToasterStateContext) && inherit) return children;
99
100
  return _react.createElement(
100
101
  ToasterDispatchContext.Provider,
101
102
  {
@@ -49,6 +49,7 @@ const useTooltip = (options = {}) => {
49
49
  placement,
50
50
  open,
51
51
  onOpenChange,
52
+ strategy: 'fixed',
52
53
  whileElementsMounted: _react.useMemo(
53
54
  () =>
54
55
  open
@@ -62,12 +63,27 @@ const useTooltip = (options = {}) => {
62
63
  void 0 !== middleware.offset
63
64
  ? (0, _react1.offset)(middleware.offset)
64
65
  : (0, _react1.offset)(4),
65
- middleware.flip && (0, _react1.flip)(),
66
- middleware.shift && (0, _react1.shift)(),
67
- middleware.size && (0, _react1.size)(),
68
- middleware.autoPlacement && (0, _react1.autoPlacement)(),
66
+ middleware.flip &&
67
+ (0, _react1.flip)({
68
+ padding: 4,
69
+ }),
70
+ middleware.shift &&
71
+ (0, _react1.shift)({
72
+ padding: 4,
73
+ }),
74
+ middleware.size &&
75
+ (0, _react1.size)({
76
+ padding: 4,
77
+ }),
78
+ middleware.autoPlacement &&
79
+ (0, _react1.autoPlacement)({
80
+ padding: 4,
81
+ }),
69
82
  middleware.inline && (0, _react1.inline)(),
70
- middleware.hide && (0, _react1.hide)(),
83
+ middleware.hide &&
84
+ (0, _react1.hide)({
85
+ padding: 4,
86
+ }),
71
87
  ].filter(Boolean),
72
88
  [middleware],
73
89
  ),
@@ -90,8 +106,7 @@ const useTooltip = (options = {}) => {
90
106
  : {},
91
107
  [ariaStrategy, id],
92
108
  );
93
- let { delay } = (0, _react1.useDelayGroupContext)();
94
- (0, _react1.useDelayGroup)(floating.context, {
109
+ let { delay } = (0, _react1.useDelayGroup)(floating.context, {
95
110
  id: (0, _index.useId)(),
96
111
  });
97
112
  let interactions = (0, _react1.useInteractions)([
@@ -30,7 +30,7 @@ type TransferListListboxLabelOwnProps = {
30
30
  * </TransferList.ListboxWrapper>
31
31
  * </TransferList>
32
32
  */
33
- export declare const TransferList: PolymorphicForwardRefComponent<keyof JSX.IntrinsicElements, {}> & {
33
+ export declare const TransferList: PolymorphicForwardRefComponent<"div", {}> & {
34
34
  /**
35
35
  * TransferList listbox wrapper subcomponent
36
36
  */
@@ -38,10 +38,10 @@ export declare const TransferList: PolymorphicForwardRefComponent<keyof JSX.Intr
38
38
  /**
39
39
  * TransferList listbox subcomponent
40
40
  */
41
- Listbox: PolymorphicForwardRefComponent<"ul", Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLUListElement>, HTMLUListElement>, "ref"> & {
42
- ref?: ((instance: HTMLUListElement | null) => void) | React.RefObject<HTMLUListElement> | null | undefined;
41
+ Listbox: PolymorphicForwardRefComponent<"ul", Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
42
+ ref?: ((instance: HTMLDivElement | null) => void) | React.RefObject<HTMLDivElement> | null | undefined;
43
43
  }, "as"> & {
44
- as?: "ul" | undefined;
44
+ as?: "div" | undefined;
45
45
  }>;
46
46
  /**
47
47
  * TransferList item subcomponent
@@ -54,7 +54,7 @@ export declare const TransferList: PolymorphicForwardRefComponent<keyof JSX.Intr
54
54
  /**
55
55
  * TransferList toolbar subcomponent
56
56
  */
57
- Toolbar: PolymorphicForwardRefComponent<keyof JSX.IntrinsicElements, {}>;
57
+ Toolbar: PolymorphicForwardRefComponent<"div", {}>;
58
58
  };
59
59
  export declare const TransferListContext: React.Context<{
60
60
  /**
@@ -25,7 +25,7 @@ const _index = require('../../utils/index.js');
25
25
  const _List = require('../List/List.js');
26
26
  const _ListItem = require('../List/ListItem.js');
27
27
  const _Label = require('../Label/Label.js');
28
- const TransferListComponent = (0, _index.polymorphic)(
28
+ const TransferListComponent = _index.polymorphic.div(
29
29
  'iui-transfer-list-wrapper',
30
30
  );
31
31
  const TransferListListboxWrapper = _react.forwardRef((props, ref) => {
@@ -169,7 +169,7 @@ const TransferListListboxLabel = _react.forwardRef((props, ref) => {
169
169
  children,
170
170
  );
171
171
  });
172
- const TransferListToolbar = (0, _index.polymorphic)(
172
+ const TransferListToolbar = _index.polymorphic.div(
173
173
  'iui-transfer-list-toolbar',
174
174
  {
175
175
  role: 'toolbar',
package/cjs/styles.js CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
3
- const e = '3.13.4';
3
+ const e = '3.14.1';
4
4
  const u = new Proxy(
5
5
  {},
6
6
  {
@@ -1,17 +1,2 @@
1
1
  declare const isUnitTest: boolean;
2
- /**
3
- * Returns a function that can be used to log one-time warnings in dev environments.
4
- *
5
- * **Note**: The actual log call should be wrapped in a check against `process.env.NODE_ENV === 'development'`
6
- * to ensure that it is removed from the production build output (by SWC).
7
- * Read more about the [`NODE_ENV` convention](https://nodejs.org/en/learn/getting-started/nodejs-the-difference-between-development-and-production).
8
- *
9
- * @example
10
- * const logWarning = createWarningLogger();
11
- *
12
- * if (process.env.NODE_ENV === 'development') {
13
- * logWarning("please don't use this")
14
- * }
15
- */
16
- declare const createWarningLogger: () => (message: string) => void;
17
- export { isUnitTest, createWarningLogger };
2
+ export { isUnitTest };
@@ -2,18 +2,9 @@
2
2
  Object.defineProperty(exports, '__esModule', {
3
3
  value: true,
4
4
  });
5
- function _export(target, all) {
6
- for (var name in all)
7
- Object.defineProperty(target, name, {
8
- enumerable: true,
9
- get: all[name],
10
- });
11
- }
12
- _export(exports, {
13
- createWarningLogger: function () {
14
- return createWarningLogger;
15
- },
16
- isUnitTest: function () {
5
+ Object.defineProperty(exports, 'isUnitTest', {
6
+ enumerable: true,
7
+ get: function () {
17
8
  return isUnitTest;
18
9
  },
19
10
  });
@@ -24,4 +15,3 @@ const isMocha =
24
15
  `${globalThis.beforeEach}`.replace(/\s/g, '');
25
16
  const isVitest = void 0 !== globalThis.__vitest_index__;
26
17
  const isUnitTest = isJest || isVitest || isMocha;
27
- const createWarningLogger = () => () => {};
@@ -3,8 +3,8 @@ declare const _base: <As extends keyof JSX.IntrinsicElements = "div">(defaultEle
3
3
  /**
4
4
  * Utility to create a type-safe polymorphic component with a simple class.
5
5
  *
6
- * Can be called directly or as a property of the `polymorphic` object.
7
- * In both cases, returns a component that:
6
+ * Should be called as a property of the `polymorphic` object.
7
+ * Returns a component that:
8
8
  * - uses CSS-modules scoped classes
9
9
  * - supports `as` prop with default element
10
10
  * - forwards ref and spreads rest props
@@ -12,14 +12,10 @@ declare const _base: <As extends keyof JSX.IntrinsicElements = "div">(defaultEle
12
12
  * - adds tabIndex to interactive elements (Safari workaround)
13
13
  *
14
14
  * @example
15
- * const MyPolyDiv = polymorphic('my-poly-div');
16
- * <MyPolyDiv>...</MyPolyDiv>;
17
- *
18
- * @example
19
15
  * const MyPolyButton = polymorphic.button('my-poly-button', { type: 'button' });
20
16
  * <MyPolyButton as='a' href='#'>...</MyPolyButton>;
21
17
  *
22
18
  * @private
23
19
  */
24
- export declare const polymorphic: ReturnType<typeof _base> & { [key in keyof JSX.IntrinsicElements]: ReturnType<typeof _base<key>>; };
20
+ export declare const polymorphic: { [key in keyof JSX.IntrinsicElements]: ReturnType<typeof _base<key>>; };
25
21
  export {};
@@ -40,12 +40,15 @@ const _base = (defaultElement) => (className, attrs) => {
40
40
  });
41
41
  return Comp;
42
42
  };
43
- const polymorphic = new Proxy(_base('div'), {
44
- get: (target, prop) => {
45
- if ('string' == typeof prop) return _base(prop);
46
- return Reflect.get(target, prop);
43
+ const polymorphic = new Proxy(
44
+ {},
45
+ {
46
+ get: (target, prop) => {
47
+ if ('string' == typeof prop) return _base(prop);
48
+ return Reflect.get(target, prop);
49
+ },
47
50
  },
48
- });
51
+ );
49
52
  const getDisplayNameFromClass = (str) => {
50
53
  let camel = str.replace(/-([a-z])/g, (g) => g[1].toUpperCase());
51
54
  return camel.substring(3);
@@ -14,3 +14,4 @@ export * from './useId.js';
14
14
  export * from './useControlledState.js';
15
15
  export * from './useSyncExternalStore.js';
16
16
  export * from './useVirtualScroll.js';
17
+ export * from './useWarningLogger.js';
@@ -19,3 +19,4 @@ _export_star._(require('./useId.js'), exports);
19
19
  _export_star._(require('./useControlledState.js'), exports);
20
20
  _export_star._(require('./useSyncExternalStore.js'), exports);
21
21
  _export_star._(require('./useVirtualScroll.js'), exports);
22
+ _export_star._(require('./useWarningLogger.js'), exports);
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Returns a function that can be used to log one-time warnings in dev environments.
3
+ *
4
+ * **Note**: The actual log call should be wrapped in a check against `process.env.NODE_ENV === 'development'`
5
+ * to ensure that it is removed from the production build output (by SWC).
6
+ * Read more about the [`NODE_ENV` convention](https://nodejs.org/en/learn/getting-started/nodejs-the-difference-between-development-and-production).
7
+ *
8
+ * @example
9
+ * const logWarning = useWarningLogger();
10
+ *
11
+ * if (process.env.NODE_ENV === 'development') {
12
+ * logWarning("please don't use this")
13
+ * }
14
+ */
15
+ export declare const useWarningLogger: () => (message: string) => void;
@@ -0,0 +1,17 @@
1
+ 'use strict';
2
+ Object.defineProperty(exports, '__esModule', {
3
+ value: true,
4
+ });
5
+ Object.defineProperty(exports, 'useWarningLogger', {
6
+ enumerable: true,
7
+ get: function () {
8
+ return useWarningLogger;
9
+ },
10
+ });
11
+ const _interop_require_wildcard = require('@swc/helpers/_/_interop_require_wildcard');
12
+ const _react = _interop_require_wildcard._(require('react'));
13
+ const _dev = require('../functions/dev.js');
14
+ const _React = _react;
15
+ const ReactInternals =
16
+ _React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
17
+ const useWarningLogger = () => () => {};
@@ -5,11 +5,10 @@ import {
5
5
  useOverflow,
6
6
  SvgChevronRight,
7
7
  Box,
8
- createWarningLogger,
8
+ useWarningLogger,
9
9
  } from '../../utils/index.js';
10
10
  import { Button } from '../Buttons/Button.js';
11
11
  import { Anchor } from '../Typography/Anchor.js';
12
- let logWarning = createWarningLogger();
13
12
  let BreadcrumbsComponent = React.forwardRef((props, ref) => {
14
13
  let {
15
14
  children: items,
@@ -102,6 +101,7 @@ let BreadcrumbsComponent = React.forwardRef((props, ref) => {
102
101
  });
103
102
  let ListItem = ({ item, isActive }) => {
104
103
  let children = item;
104
+ let logWarning = useWarningLogger();
105
105
  if (
106
106
  children?.type === 'span' ||
107
107
  children?.type === 'a' ||
@@ -21,6 +21,10 @@ export type IconButtonProps = {
21
21
  * Passes props to IconButton icon.
22
22
  */
23
23
  iconProps?: React.ComponentProps<'span'>;
24
+ /**
25
+ * @deprecated Use `label` instead.
26
+ */
27
+ title?: string;
24
28
  } & Omit<ButtonProps, 'startIcon' | 'endIcon' | 'startIconProps' | 'endIconProps' | 'labelProps' | 'loading'>;
25
29
  /**
26
30
  * Icon button
@@ -1,6 +1,6 @@
1
1
  import cx from 'classnames';
2
2
  import * as React from 'react';
3
- import { Box, ButtonBase } from '../../utils/index.js';
3
+ import { Box, ButtonBase, useWarningLogger } from '../../utils/index.js';
4
4
  import { Tooltip } from '../Tooltip/Tooltip.js';
5
5
  import { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden.js';
6
6
  import { ButtonGroupContext } from '../ButtonGroup/ButtonGroup.js';
@@ -12,13 +12,15 @@ export const IconButton = React.forwardRef((props, ref) => {
12
12
  styleType = 'default',
13
13
  size,
14
14
  className,
15
- label,
15
+ title,
16
+ label = title,
16
17
  iconProps,
17
18
  labelProps,
18
19
  ...rest
19
20
  } = props;
20
21
  let buttonGroupOrientation = React.useContext(ButtonGroupContext);
21
22
  let hasPopoverOpen = React.useContext(PopoverOpenContext);
23
+ let logWarning = useWarningLogger();
22
24
  let button = React.createElement(
23
25
  ButtonBase,
24
26
  {