@itwin/itwinui-react 3.0.3 → 3.0.5

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 (498) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/cjs/core/Alert/Alert.js +46 -106
  3. package/cjs/core/Avatar/Avatar.js +21 -58
  4. package/cjs/core/AvatarGroup/AvatarGroup.js +26 -64
  5. package/cjs/core/Backdrop/Backdrop.js +8 -16
  6. package/cjs/core/Badge/Badge.js +22 -39
  7. package/cjs/core/Breadcrumbs/Breadcrumbs.js +61 -138
  8. package/cjs/core/ButtonGroup/ButtonGroup.js +32 -68
  9. package/cjs/core/Buttons/Button.js +11 -57
  10. package/cjs/core/Buttons/DropdownButton.js +15 -49
  11. package/cjs/core/Buttons/IconButton.js +13 -53
  12. package/cjs/core/Buttons/IdeasButton.js +8 -20
  13. package/cjs/core/Buttons/SplitButton.js +43 -103
  14. package/cjs/core/Carousel/Carousel.js +54 -78
  15. package/cjs/core/Carousel/CarouselContext.js +4 -4
  16. package/cjs/core/Carousel/CarouselDot.js +12 -23
  17. package/cjs/core/Carousel/CarouselDotsList.js +92 -153
  18. package/cjs/core/Carousel/CarouselNavigation.js +41 -84
  19. package/cjs/core/Carousel/CarouselSlide.js +26 -49
  20. package/cjs/core/Carousel/CarouselSlider.js +47 -66
  21. package/cjs/core/Checkbox/Checkbox.js +32 -88
  22. package/cjs/core/ColorPicker/ColorBuilder.js +174 -292
  23. package/cjs/core/ColorPicker/ColorInputPanel.js +246 -411
  24. package/cjs/core/ColorPicker/ColorPalette.js +23 -47
  25. package/cjs/core/ColorPicker/ColorPicker.js +53 -87
  26. package/cjs/core/ColorPicker/ColorPickerContext.js +9 -11
  27. package/cjs/core/ColorPicker/ColorSwatch.js +15 -40
  28. package/cjs/core/ComboBox/ComboBox.js +280 -402
  29. package/cjs/core/ComboBox/ComboBoxEndIcon.js +12 -28
  30. package/cjs/core/ComboBox/ComboBoxInput.js +131 -207
  31. package/cjs/core/ComboBox/ComboBoxInputContainer.js +12 -35
  32. package/cjs/core/ComboBox/ComboBoxMenu.js +43 -87
  33. package/cjs/core/ComboBox/ComboBoxMenuItem.js +21 -73
  34. package/cjs/core/ComboBox/ComboBoxMultipleContainer.js +7 -13
  35. package/cjs/core/ComboBox/helpers.js +43 -47
  36. package/cjs/core/DatePicker/DatePicker.js +333 -569
  37. package/cjs/core/Dialog/Dialog.js +36 -65
  38. package/cjs/core/Dialog/DialogBackdrop.js +27 -47
  39. package/cjs/core/Dialog/DialogButtonBar.js +3 -3
  40. package/cjs/core/Dialog/DialogContent.js +18 -26
  41. package/cjs/core/Dialog/DialogContext.js +5 -5
  42. package/cjs/core/Dialog/DialogDragContext.js +8 -8
  43. package/cjs/core/Dialog/DialogMain.js +116 -183
  44. package/cjs/core/Dialog/DialogTitleBar.js +20 -67
  45. package/cjs/core/Dialog/DialogTitleBarTitle.js +3 -3
  46. package/cjs/core/Divider/Divider.js +8 -14
  47. package/cjs/core/DropdownMenu/DropdownMenu.js +46 -80
  48. package/cjs/core/ExpandableBlock/ExpandableBlock.js +101 -206
  49. package/cjs/core/Fieldset/Fieldset.js +14 -25
  50. package/cjs/core/FileUpload/FileEmptyCard.js +17 -43
  51. package/cjs/core/FileUpload/FileUpload.js +42 -88
  52. package/cjs/core/FileUpload/FileUploadCard.js +84 -169
  53. package/cjs/core/FileUpload/FileUploadTemplate.js +16 -51
  54. package/cjs/core/Flex/Flex.js +77 -93
  55. package/cjs/core/Footer/Footer.js +64 -103
  56. package/cjs/core/Footer/FooterItem.js +3 -3
  57. package/cjs/core/Footer/FooterList.js +3 -3
  58. package/cjs/core/Footer/FooterSeparator.js +5 -8
  59. package/cjs/core/Header/Header.js +22 -67
  60. package/cjs/core/Header/HeaderBasicButton.js +13 -24
  61. package/cjs/core/Header/HeaderBreadcrumbs.js +14 -38
  62. package/cjs/core/Header/HeaderButton.js +22 -76
  63. package/cjs/core/Header/HeaderDropdownButton.js +20 -48
  64. package/cjs/core/Header/HeaderLogo.js +11 -42
  65. package/cjs/core/Header/HeaderSplitButton.js +21 -66
  66. package/cjs/core/Icon/Icon.js +18 -32
  67. package/cjs/core/InformationPanel/InformationPanel.js +42 -77
  68. package/cjs/core/InformationPanel/InformationPanelBody.js +4 -6
  69. package/cjs/core/InformationPanel/InformationPanelContent.js +8 -20
  70. package/cjs/core/InformationPanel/InformationPanelHeader.js +14 -34
  71. package/cjs/core/InformationPanel/InformationPanelWrapper.js +4 -6
  72. package/cjs/core/Input/Input.js +10 -18
  73. package/cjs/core/InputGrid/InputGrid.js +8 -17
  74. package/cjs/core/InputGroup/InputGroup.js +25 -72
  75. package/cjs/core/InputWithDecorations/InputWithDecorations.js +23 -51
  76. package/cjs/core/Label/Label.js +11 -32
  77. package/cjs/core/LabeledInput/LabeledInput.js +20 -70
  78. package/cjs/core/LabeledSelect/LabeledSelect.js +28 -77
  79. package/cjs/core/LabeledTextarea/LabeledTextarea.js +7 -13
  80. package/cjs/core/LinkAction/LinkAction.js +3 -3
  81. package/cjs/core/List/List.js +3 -3
  82. package/cjs/core/List/ListItem.js +35 -55
  83. package/cjs/core/Menu/Menu.js +53 -66
  84. package/cjs/core/Menu/MenuDivider.js +4 -4
  85. package/cjs/core/Menu/MenuExtraContent.js +4 -4
  86. package/cjs/core/Menu/MenuItem.js +92 -168
  87. package/cjs/core/Menu/MenuItemSkeleton.js +19 -54
  88. package/cjs/core/Modal/Modal.js +11 -38
  89. package/cjs/core/Modal/ModalButtonBar.js +4 -7
  90. package/cjs/core/Modal/ModalContent.js +3 -3
  91. package/cjs/core/NonIdealState/ErrorPage.js +131 -187
  92. package/cjs/core/NonIdealState/NonIdealState.js +12 -77
  93. package/cjs/core/NotificationMarker/NotificationMarker.js +8 -29
  94. package/cjs/core/Overlay/Overlay.d.ts +20 -24
  95. package/cjs/core/Overlay/Overlay.js +50 -64
  96. package/cjs/core/Popover/Popover.js +87 -157
  97. package/cjs/core/ProgressIndicators/ProgressLinear.js +11 -49
  98. package/cjs/core/ProgressIndicators/ProgressRadial.js +19 -51
  99. package/cjs/core/Radio/Radio.js +12 -54
  100. package/cjs/core/RadioTiles/RadioTile.js +14 -80
  101. package/cjs/core/RadioTiles/RadioTileGroup.js +9 -16
  102. package/cjs/core/SearchBox/SearchBox.js +104 -221
  103. package/cjs/core/Select/Select.js +141 -282
  104. package/cjs/core/Select/SelectTag.js +9 -21
  105. package/cjs/core/Select/SelectTagContainer.js +14 -30
  106. package/cjs/core/SideNavigation/SideNavigation.js +29 -138
  107. package/cjs/core/SideNavigation/SidenavButton.js +8 -30
  108. package/cjs/core/SideNavigation/SidenavSubmenu.js +9 -23
  109. package/cjs/core/SideNavigation/SidenavSubmenuHeader.js +10 -29
  110. package/cjs/core/SkipToContentLink/SkipToContentLink.js +8 -20
  111. package/cjs/core/Slider/Slider.js +195 -376
  112. package/cjs/core/Slider/Thumb.js +57 -108
  113. package/cjs/core/Slider/Track.js +55 -83
  114. package/cjs/core/StatusMessage/StatusMessage.js +12 -34
  115. package/cjs/core/Stepper/Stepper.js +21 -80
  116. package/cjs/core/Stepper/StepperStep.js +36 -109
  117. package/cjs/core/Stepper/WorkflowDiagram.js +15 -38
  118. package/cjs/core/Stepper/WorkflowDiagramStep.js +11 -39
  119. package/cjs/core/Surface/Surface.js +54 -94
  120. package/cjs/core/Table/SubRowExpander.js +15 -37
  121. package/cjs/core/Table/Table.js +419 -763
  122. package/cjs/core/Table/TableCell.js +63 -113
  123. package/cjs/core/Table/TablePaginator.js +136 -312
  124. package/cjs/core/Table/TableRowMemoized.js +64 -137
  125. package/cjs/core/Table/actionHandlers/expandHandler.js +12 -12
  126. package/cjs/core/Table/actionHandlers/filterHandler.js +17 -25
  127. package/cjs/core/Table/actionHandlers/index.js +14 -56
  128. package/cjs/core/Table/actionHandlers/resizeHandler.js +13 -13
  129. package/cjs/core/Table/actionHandlers/selectHandler.js +98 -128
  130. package/cjs/core/Table/cells/DefaultCell.js +13 -48
  131. package/cjs/core/Table/cells/EditableCell.js +46 -75
  132. package/cjs/core/Table/cells/index.js +6 -16
  133. package/cjs/core/Table/columns/actionColumn.js +67 -97
  134. package/cjs/core/Table/columns/expanderColumn.js +32 -46
  135. package/cjs/core/Table/columns/index.js +11 -41
  136. package/cjs/core/Table/columns/selectionColumn.js +29 -57
  137. package/cjs/core/Table/filters/BaseFilter.js +13 -24
  138. package/cjs/core/Table/filters/DateRangeFilter/DatePickerInput.js +52 -120
  139. package/cjs/core/Table/filters/DateRangeFilter/DateRangeFilter.js +60 -120
  140. package/cjs/core/Table/filters/FilterButtonBar.js +16 -39
  141. package/cjs/core/Table/filters/FilterToggle.js +26 -62
  142. package/cjs/core/Table/filters/NumberRangeFilter/NumberRangeFilter.js +36 -58
  143. package/cjs/core/Table/filters/TextFilter/TextFilter.js +28 -40
  144. package/cjs/core/Table/filters/customFilterFunctions.js +14 -16
  145. package/cjs/core/Table/filters/defaultFilterFunctions.js +81 -86
  146. package/cjs/core/Table/filters/index.js +11 -35
  147. package/cjs/core/Table/filters/tableFilters.js +32 -44
  148. package/cjs/core/Table/filters/types.js +2 -2
  149. package/cjs/core/Table/hooks/index.js +19 -67
  150. package/cjs/core/Table/hooks/useColumnDragAndDrop.js +86 -101
  151. package/cjs/core/Table/hooks/useExpanderCell.js +25 -33
  152. package/cjs/core/Table/hooks/useResizeColumns.js +290 -362
  153. package/cjs/core/Table/hooks/useScrollToRow.js +38 -46
  154. package/cjs/core/Table/hooks/useSelectionCell.js +10 -17
  155. package/cjs/core/Table/hooks/useStickyColumns.js +62 -64
  156. package/cjs/core/Table/hooks/useSubRowFiltering.js +88 -95
  157. package/cjs/core/Table/hooks/useSubRowSelection.js +31 -32
  158. package/cjs/core/Table/index.js +18 -78
  159. package/cjs/core/Table/utils.js +40 -42
  160. package/cjs/core/Tabs/Tabs.d.ts +3 -5
  161. package/cjs/core/Tabs/Tabs.js +235 -422
  162. package/cjs/core/Tag/Tag.js +15 -42
  163. package/cjs/core/Tag/TagContainer.js +11 -23
  164. package/cjs/core/Textarea/Textarea.js +6 -11
  165. package/cjs/core/ThemeProvider/ThemeContext.js +4 -4
  166. package/cjs/core/ThemeProvider/ThemeProvider.js +52 -105
  167. package/cjs/core/Tile/Tile.js +230 -410
  168. package/cjs/core/TimePicker/TimePicker.js +234 -458
  169. package/cjs/core/Toast/Toast.js +107 -204
  170. package/cjs/core/Toast/Toaster.js +77 -103
  171. package/cjs/core/ToggleSwitch/ToggleSwitch.js +23 -66
  172. package/cjs/core/Tooltip/Tooltip.js +91 -137
  173. package/cjs/core/TransferList/TransferList.js +103 -177
  174. package/cjs/core/Tree/Tree.js +129 -204
  175. package/cjs/core/Tree/TreeContext.js +9 -9
  176. package/cjs/core/Tree/TreeNode.js +104 -207
  177. package/cjs/core/Tree/TreeNodeExpander.js +12 -26
  178. package/cjs/core/Typography/Anchor.js +3 -3
  179. package/cjs/core/Typography/Blockquote.js +10 -18
  180. package/cjs/core/Typography/Code.js +3 -3
  181. package/cjs/core/Typography/Kbd.js +21 -30
  182. package/cjs/core/Typography/Text.js +13 -26
  183. package/cjs/core/VisuallyHidden/VisuallyHidden.js +8 -14
  184. package/cjs/core/utils/color/ColorValue.js +453 -535
  185. package/cjs/core/utils/color/index.js +4 -4
  186. package/cjs/core/utils/components/AutoclearingHiddenLiveRegion.js +13 -20
  187. package/cjs/core/utils/components/Box.js +3 -3
  188. package/cjs/core/utils/components/ButtonBase.js +20 -38
  189. package/cjs/core/utils/components/FocusTrap.js +38 -47
  190. package/cjs/core/utils/components/InputContainer.js +19 -58
  191. package/cjs/core/utils/components/InputFlexContainer.js +8 -24
  192. package/cjs/core/utils/components/MiddleTextTruncation.js +22 -32
  193. package/cjs/core/utils/components/Portal.js +20 -22
  194. package/cjs/core/utils/components/Resizer.js +196 -253
  195. package/cjs/core/utils/components/VirtualScroll.js +223 -304
  196. package/cjs/core/utils/components/WithCSSTransition.js +32 -49
  197. package/cjs/core/utils/components/index.js +14 -14
  198. package/cjs/core/utils/functions/colors.js +22 -25
  199. package/cjs/core/utils/functions/date.js +10 -10
  200. package/cjs/core/utils/functions/dev.js +14 -13
  201. package/cjs/core/utils/functions/dom.js +17 -24
  202. package/cjs/core/utils/functions/focusable.js +17 -26
  203. package/cjs/core/utils/functions/import.js +23 -46
  204. package/cjs/core/utils/functions/index.js +13 -13
  205. package/cjs/core/utils/functions/numbers.js +9 -9
  206. package/cjs/core/utils/functions/polymorphic.js +30 -43
  207. package/cjs/core/utils/functions/react.js +24 -26
  208. package/cjs/core/utils/functions/supports.js +4 -5
  209. package/cjs/core/utils/hooks/index.js +17 -17
  210. package/cjs/core/utils/hooks/useContainerWidth.js +19 -26
  211. package/cjs/core/utils/hooks/useControlledState.js +12 -21
  212. package/cjs/core/utils/hooks/useDragAndDrop.js +87 -110
  213. package/cjs/core/utils/hooks/useEventListener.js +22 -22
  214. package/cjs/core/utils/hooks/useGlobals.js +27 -33
  215. package/cjs/core/utils/hooks/useId.js +8 -9
  216. package/cjs/core/utils/hooks/useIntersection.js +24 -30
  217. package/cjs/core/utils/hooks/useIsClient.js +9 -9
  218. package/cjs/core/utils/hooks/useIsomorphicLayoutEffect.js +5 -6
  219. package/cjs/core/utils/hooks/useLatestRef.js +9 -9
  220. package/cjs/core/utils/hooks/useMediaQuery.js +31 -31
  221. package/cjs/core/utils/hooks/useMergedRefs.js +16 -15
  222. package/cjs/core/utils/hooks/useOverflow.js +57 -70
  223. package/cjs/core/utils/hooks/useResizeObserver.js +17 -22
  224. package/cjs/core/utils/hooks/useSafeContext.js +9 -9
  225. package/cjs/core/utils/icons/StatusIconMap.js +12 -28
  226. package/cjs/core/utils/icons/Svg.js +3 -3
  227. package/cjs/core/utils/icons/SvgCalendar.js +7 -12
  228. package/cjs/core/utils/icons/SvgCaretDownSmall.js +7 -12
  229. package/cjs/core/utils/icons/SvgCaretRightSmall.js +7 -12
  230. package/cjs/core/utils/icons/SvgCaretUpSmall.js +7 -12
  231. package/cjs/core/utils/icons/SvgCheckmark.js +7 -10
  232. package/cjs/core/utils/icons/SvgCheckmarkSmall.js +7 -12
  233. package/cjs/core/utils/icons/SvgChevronLeft.js +7 -12
  234. package/cjs/core/utils/icons/SvgChevronLeftDouble.js +7 -12
  235. package/cjs/core/utils/icons/SvgChevronRight.js +7 -12
  236. package/cjs/core/utils/icons/SvgChevronRightDouble.js +7 -12
  237. package/cjs/core/utils/icons/SvgClose.js +7 -12
  238. package/cjs/core/utils/icons/SvgCloseSmall.js +7 -12
  239. package/cjs/core/utils/icons/SvgColumnManager.js +7 -12
  240. package/cjs/core/utils/icons/SvgDocument.js +7 -10
  241. package/cjs/core/utils/icons/SvgFilter.js +7 -10
  242. package/cjs/core/utils/icons/SvgFilterHollow.js +7 -12
  243. package/cjs/core/utils/icons/SvgImportantSmall.js +7 -12
  244. package/cjs/core/utils/icons/SvgInfoCircular.js +7 -12
  245. package/cjs/core/utils/icons/SvgMore.js +7 -12
  246. package/cjs/core/utils/icons/SvgMoreVertical.js +7 -12
  247. package/cjs/core/utils/icons/SvgNew.js +7 -12
  248. package/cjs/core/utils/icons/SvgSearch.js +7 -12
  249. package/cjs/core/utils/icons/SvgSmileyHappy.js +7 -12
  250. package/cjs/core/utils/icons/SvgSortDown.js +7 -12
  251. package/cjs/core/utils/icons/SvgSortUp.js +7 -12
  252. package/cjs/core/utils/icons/SvgStatusError.js +7 -12
  253. package/cjs/core/utils/icons/SvgStatusSuccess.js +7 -12
  254. package/cjs/core/utils/icons/SvgStatusWarning.js +7 -12
  255. package/cjs/core/utils/icons/SvgSwap.js +7 -12
  256. package/cjs/core/utils/icons/SvgUpload.js +7 -12
  257. package/cjs/core/utils/icons/index.js +34 -34
  258. package/cjs/core/utils/index.js +10 -10
  259. package/cjs/core/utils/props.js +2 -2
  260. package/cjs/core/utils/types.js +2 -2
  261. package/cjs/index.js +229 -949
  262. package/cjs/react-table/react-table.js +2 -2
  263. package/cjs/styles.js +412 -425
  264. package/esm/core/Alert/Alert.js +39 -106
  265. package/esm/core/Avatar/Avatar.js +14 -42
  266. package/esm/core/AvatarGroup/AvatarGroup.js +20 -58
  267. package/esm/core/Backdrop/Backdrop.js +2 -10
  268. package/esm/core/Badge/Badge.js +16 -31
  269. package/esm/core/Breadcrumbs/Breadcrumbs.js +55 -135
  270. package/esm/core/ButtonGroup/ButtonGroup.js +25 -61
  271. package/esm/core/Buttons/Button.js +5 -45
  272. package/esm/core/Buttons/DropdownButton.js +7 -37
  273. package/esm/core/Buttons/IconButton.js +5 -40
  274. package/esm/core/Buttons/IdeasButton.js +2 -12
  275. package/esm/core/Buttons/SplitButton.js +34 -101
  276. package/esm/core/Carousel/Carousel.js +43 -72
  277. package/esm/core/Carousel/CarouselDot.js +6 -17
  278. package/esm/core/Carousel/CarouselDotsList.js +85 -147
  279. package/esm/core/Carousel/CarouselNavigation.js +32 -68
  280. package/esm/core/Carousel/CarouselSlide.js +19 -41
  281. package/esm/core/Carousel/CarouselSlider.js +41 -65
  282. package/esm/core/Checkbox/Checkbox.js +25 -78
  283. package/esm/core/ColorPicker/ColorBuilder.js +167 -280
  284. package/esm/core/ColorPicker/ColorInputPanel.js +237 -395
  285. package/esm/core/ColorPicker/ColorPalette.js +14 -35
  286. package/esm/core/ColorPicker/ColorPicker.js +46 -79
  287. package/esm/core/ColorPicker/ColorPickerContext.js +5 -7
  288. package/esm/core/ColorPicker/ColorSwatch.js +7 -24
  289. package/esm/core/ComboBox/ComboBox.js +267 -396
  290. package/esm/core/ComboBox/ComboBoxEndIcon.js +5 -18
  291. package/esm/core/ComboBox/ComboBoxInput.js +125 -197
  292. package/esm/core/ComboBox/ComboBoxInputContainer.js +5 -20
  293. package/esm/core/ComboBox/ComboBoxMenu.js +37 -77
  294. package/esm/core/ComboBox/ComboBoxMenuItem.js +14 -61
  295. package/esm/core/ComboBox/ComboBoxMultipleContainer.js +2 -6
  296. package/esm/core/ComboBox/helpers.js +38 -38
  297. package/esm/core/DatePicker/DatePicker.js +326 -555
  298. package/esm/core/Dialog/Dialog.js +24 -53
  299. package/esm/core/Dialog/DialogBackdrop.js +19 -39
  300. package/esm/core/Dialog/DialogContent.js +12 -20
  301. package/esm/core/Dialog/DialogContext.js +1 -1
  302. package/esm/core/Dialog/DialogDragContext.js +4 -4
  303. package/esm/core/Dialog/DialogMain.js +107 -177
  304. package/esm/core/Dialog/DialogTitleBar.js +10 -45
  305. package/esm/core/Divider/Divider.js +2 -8
  306. package/esm/core/DropdownMenu/DropdownMenu.js +40 -75
  307. package/esm/core/ExpandableBlock/ExpandableBlock.js +92 -193
  308. package/esm/core/Fieldset/Fieldset.js +8 -19
  309. package/esm/core/FileUpload/FileEmptyCard.js +8 -19
  310. package/esm/core/FileUpload/FileUpload.js +36 -72
  311. package/esm/core/FileUpload/FileUploadCard.js +76 -153
  312. package/esm/core/FileUpload/FileUploadTemplate.js +9 -37
  313. package/esm/core/Flex/Flex.js +71 -87
  314. package/esm/core/Footer/Footer.js +55 -86
  315. package/esm/core/Footer/FooterSeparator.js +1 -1
  316. package/esm/core/Header/Header.js +14 -55
  317. package/esm/core/Header/HeaderBasicButton.js +7 -15
  318. package/esm/core/Header/HeaderBreadcrumbs.js +8 -32
  319. package/esm/core/Header/HeaderButton.js +14 -62
  320. package/esm/core/Header/HeaderDropdownButton.js +13 -42
  321. package/esm/core/Header/HeaderLogo.js +5 -36
  322. package/esm/core/Header/HeaderSplitButton.js +14 -61
  323. package/esm/core/Icon/Icon.js +12 -26
  324. package/esm/core/InformationPanel/InformationPanel.js +36 -71
  325. package/esm/core/InformationPanel/InformationPanelContent.js +3 -17
  326. package/esm/core/InformationPanel/InformationPanelHeader.js +8 -32
  327. package/esm/core/InformationPanel/InformationPanelWrapper.js +1 -3
  328. package/esm/core/Input/Input.js +4 -12
  329. package/esm/core/InputGrid/InputGrid.js +2 -11
  330. package/esm/core/InputGroup/InputGroup.js +16 -57
  331. package/esm/core/InputWithDecorations/InputWithDecorations.js +11 -42
  332. package/esm/core/Label/Label.js +5 -26
  333. package/esm/core/LabeledInput/LabeledInput.js +10 -63
  334. package/esm/core/LabeledSelect/LabeledSelect.js +18 -67
  335. package/esm/core/LabeledTextarea/LabeledTextarea.js +2 -8
  336. package/esm/core/List/ListItem.js +28 -46
  337. package/esm/core/Menu/Menu.js +48 -64
  338. package/esm/core/Menu/MenuDivider.js +1 -1
  339. package/esm/core/Menu/MenuExtraContent.js +1 -1
  340. package/esm/core/Menu/MenuItem.js +84 -164
  341. package/esm/core/Menu/MenuItemSkeleton.js +12 -43
  342. package/esm/core/Modal/Modal.js +6 -33
  343. package/esm/core/NonIdealState/ErrorPage.js +123 -173
  344. package/esm/core/NonIdealState/NonIdealState.js +6 -65
  345. package/esm/core/NotificationMarker/NotificationMarker.js +2 -20
  346. package/esm/core/Overlay/Overlay.d.ts +20 -24
  347. package/esm/core/Overlay/Overlay.js +45 -55
  348. package/esm/core/Popover/Popover.js +80 -172
  349. package/esm/core/ProgressIndicators/ProgressLinear.js +5 -40
  350. package/esm/core/ProgressIndicators/ProgressRadial.js +14 -40
  351. package/esm/core/Radio/Radio.js +6 -45
  352. package/esm/core/RadioTiles/RadioTile.js +8 -62
  353. package/esm/core/RadioTiles/RadioTileGroup.js +3 -10
  354. package/esm/core/SearchBox/SearchBox.js +97 -214
  355. package/esm/core/Select/Select.js +130 -271
  356. package/esm/core/Select/SelectTag.js +3 -15
  357. package/esm/core/Select/SelectTagContainer.js +7 -20
  358. package/esm/core/SideNavigation/SideNavigation.js +21 -118
  359. package/esm/core/SideNavigation/SidenavButton.js +2 -24
  360. package/esm/core/SideNavigation/SidenavSubmenu.js +3 -14
  361. package/esm/core/SideNavigation/SidenavSubmenuHeader.js +4 -20
  362. package/esm/core/SkipToContentLink/SkipToContentLink.js +2 -11
  363. package/esm/core/Slider/Slider.js +187 -340
  364. package/esm/core/Slider/Thumb.js +50 -97
  365. package/esm/core/Slider/Track.js +49 -74
  366. package/esm/core/StatusMessage/StatusMessage.js +5 -23
  367. package/esm/core/Stepper/Stepper.js +14 -70
  368. package/esm/core/Stepper/StepperStep.js +29 -92
  369. package/esm/core/Stepper/WorkflowDiagram.js +8 -21
  370. package/esm/core/Stepper/WorkflowDiagramStep.js +4 -22
  371. package/esm/core/Surface/Surface.js +48 -84
  372. package/esm/core/Table/SubRowExpander.js +9 -31
  373. package/esm/core/Table/Table.js +408 -763
  374. package/esm/core/Table/TableCell.js +53 -87
  375. package/esm/core/Table/TablePaginator.js +125 -306
  376. package/esm/core/Table/TableRowMemoized.js +58 -129
  377. package/esm/core/Table/actionHandlers/expandHandler.js +10 -10
  378. package/esm/core/Table/actionHandlers/filterHandler.js +15 -23
  379. package/esm/core/Table/actionHandlers/index.js +1 -5
  380. package/esm/core/Table/actionHandlers/resizeHandler.js +11 -11
  381. package/esm/core/Table/actionHandlers/selectHandler.js +95 -122
  382. package/esm/core/Table/cells/DefaultCell.js +7 -42
  383. package/esm/core/Table/cells/EditableCell.js +41 -70
  384. package/esm/core/Table/columns/actionColumn.js +55 -85
  385. package/esm/core/Table/columns/expanderColumn.js +25 -39
  386. package/esm/core/Table/columns/selectionColumn.js +23 -51
  387. package/esm/core/Table/filters/BaseFilter.js +7 -15
  388. package/esm/core/Table/filters/DateRangeFilter/DatePickerInput.js +42 -107
  389. package/esm/core/Table/filters/DateRangeFilter/DateRangeFilter.js +52 -110
  390. package/esm/core/Table/filters/FilterButtonBar.js +9 -28
  391. package/esm/core/Table/filters/FilterToggle.js +18 -51
  392. package/esm/core/Table/filters/NumberRangeFilter/NumberRangeFilter.js +28 -50
  393. package/esm/core/Table/filters/TextFilter/TextFilter.js +20 -32
  394. package/esm/core/Table/filters/customFilterFunctions.js +12 -14
  395. package/esm/core/Table/filters/defaultFilterFunctions.js +79 -84
  396. package/esm/core/Table/filters/tableFilters.js +25 -34
  397. package/esm/core/Table/hooks/useColumnDragAndDrop.js +81 -88
  398. package/esm/core/Table/hooks/useExpanderCell.js +20 -26
  399. package/esm/core/Table/hooks/useResizeColumns.js +287 -353
  400. package/esm/core/Table/hooks/useScrollToRow.js +34 -42
  401. package/esm/core/Table/hooks/useSelectionCell.js +6 -10
  402. package/esm/core/Table/hooks/useStickyColumns.js +59 -61
  403. package/esm/core/Table/hooks/useSubRowFiltering.js +83 -90
  404. package/esm/core/Table/hooks/useSubRowSelection.js +27 -28
  405. package/esm/core/Table/index.js +1 -5
  406. package/esm/core/Table/utils.js +38 -40
  407. package/esm/core/Tabs/Tabs.d.ts +3 -5
  408. package/esm/core/Tabs/Tabs.js +229 -406
  409. package/esm/core/Tag/Tag.js +8 -35
  410. package/esm/core/Tag/TagContainer.js +5 -17
  411. package/esm/core/Textarea/Textarea.js +1 -6
  412. package/esm/core/ThemeProvider/ThemeProvider.js +44 -101
  413. package/esm/core/Tile/Tile.js +218 -386
  414. package/esm/core/TimePicker/TimePicker.js +228 -448
  415. package/esm/core/Toast/Toast.js +99 -193
  416. package/esm/core/Toast/Toaster.js +69 -83
  417. package/esm/core/ToggleSwitch/ToggleSwitch.js +17 -60
  418. package/esm/core/Tooltip/Tooltip.js +86 -151
  419. package/esm/core/TransferList/TransferList.js +93 -157
  420. package/esm/core/Tree/Tree.js +122 -196
  421. package/esm/core/Tree/TreeContext.js +5 -5
  422. package/esm/core/Tree/TreeNode.js +96 -195
  423. package/esm/core/Tree/TreeNodeExpander.js +5 -16
  424. package/esm/core/Typography/Blockquote.js +4 -12
  425. package/esm/core/Typography/Kbd.js +15 -24
  426. package/esm/core/Typography/Text.js +7 -20
  427. package/esm/core/VisuallyHidden/VisuallyHidden.js +2 -8
  428. package/esm/core/utils/color/ColorValue.js +449 -524
  429. package/esm/core/utils/components/AutoclearingHiddenLiveRegion.js +7 -11
  430. package/esm/core/utils/components/ButtonBase.js +13 -31
  431. package/esm/core/utils/components/FocusTrap.js +32 -41
  432. package/esm/core/utils/components/InputContainer.js +11 -50
  433. package/esm/core/utils/components/InputFlexContainer.js +2 -15
  434. package/esm/core/utils/components/MiddleTextTruncation.js +17 -27
  435. package/esm/core/utils/components/Portal.js +12 -12
  436. package/esm/core/utils/components/Resizer.js +191 -249
  437. package/esm/core/utils/components/VirtualScroll.js +218 -297
  438. package/esm/core/utils/components/WithCSSTransition.js +26 -43
  439. package/esm/core/utils/functions/colors.js +19 -19
  440. package/esm/core/utils/functions/date.js +8 -8
  441. package/esm/core/utils/functions/dev.js +12 -11
  442. package/esm/core/utils/functions/dom.js +14 -17
  443. package/esm/core/utils/functions/focusable.js +15 -24
  444. package/esm/core/utils/functions/import.js +2 -4
  445. package/esm/core/utils/functions/numbers.js +7 -7
  446. package/esm/core/utils/functions/polymorphic.js +23 -32
  447. package/esm/core/utils/functions/react.js +19 -21
  448. package/esm/core/utils/functions/supports.js +1 -2
  449. package/esm/core/utils/hooks/useContainerWidth.js +13 -16
  450. package/esm/core/utils/hooks/useControlledState.js +8 -17
  451. package/esm/core/utils/hooks/useDragAndDrop.js +80 -99
  452. package/esm/core/utils/hooks/useEventListener.js +18 -18
  453. package/esm/core/utils/hooks/useGlobals.js +21 -27
  454. package/esm/core/utils/hooks/useId.js +3 -3
  455. package/esm/core/utils/hooks/useIntersection.js +19 -25
  456. package/esm/core/utils/hooks/useIsClient.js +5 -5
  457. package/esm/core/utils/hooks/useIsomorphicLayoutEffect.js +1 -2
  458. package/esm/core/utils/hooks/useLatestRef.js +5 -5
  459. package/esm/core/utils/hooks/useMediaQuery.js +25 -23
  460. package/esm/core/utils/hooks/useMergedRefs.js +12 -11
  461. package/esm/core/utils/hooks/useOverflow.js +51 -63
  462. package/esm/core/utils/hooks/useResizeObserver.js +12 -17
  463. package/esm/core/utils/hooks/useSafeContext.js +5 -5
  464. package/esm/core/utils/icons/StatusIconMap.js +4 -8
  465. package/esm/core/utils/icons/SvgCalendar.js +2 -7
  466. package/esm/core/utils/icons/SvgCaretDownSmall.js +2 -7
  467. package/esm/core/utils/icons/SvgCaretRightSmall.js +2 -7
  468. package/esm/core/utils/icons/SvgCaretUpSmall.js +2 -7
  469. package/esm/core/utils/icons/SvgCheckmark.js +2 -5
  470. package/esm/core/utils/icons/SvgCheckmarkSmall.js +2 -7
  471. package/esm/core/utils/icons/SvgChevronLeft.js +2 -7
  472. package/esm/core/utils/icons/SvgChevronLeftDouble.js +2 -7
  473. package/esm/core/utils/icons/SvgChevronRight.js +2 -7
  474. package/esm/core/utils/icons/SvgChevronRightDouble.js +2 -7
  475. package/esm/core/utils/icons/SvgClose.js +2 -7
  476. package/esm/core/utils/icons/SvgCloseSmall.js +2 -7
  477. package/esm/core/utils/icons/SvgColumnManager.js +2 -7
  478. package/esm/core/utils/icons/SvgDocument.js +2 -5
  479. package/esm/core/utils/icons/SvgFilter.js +2 -5
  480. package/esm/core/utils/icons/SvgFilterHollow.js +2 -7
  481. package/esm/core/utils/icons/SvgImportantSmall.js +2 -7
  482. package/esm/core/utils/icons/SvgInfoCircular.js +2 -7
  483. package/esm/core/utils/icons/SvgMore.js +2 -7
  484. package/esm/core/utils/icons/SvgMoreVertical.js +2 -7
  485. package/esm/core/utils/icons/SvgNew.js +2 -7
  486. package/esm/core/utils/icons/SvgSearch.js +2 -7
  487. package/esm/core/utils/icons/SvgSmileyHappy.js +2 -7
  488. package/esm/core/utils/icons/SvgSortDown.js +2 -7
  489. package/esm/core/utils/icons/SvgSortUp.js +2 -7
  490. package/esm/core/utils/icons/SvgStatusError.js +2 -7
  491. package/esm/core/utils/icons/SvgStatusSuccess.js +2 -7
  492. package/esm/core/utils/icons/SvgStatusWarning.js +2 -7
  493. package/esm/core/utils/icons/SvgSwap.js +2 -7
  494. package/esm/core/utils/icons/SvgUpload.js +2 -7
  495. package/esm/index.js +3 -21
  496. package/esm/styles.js +414 -425
  497. package/package.json +2 -2
  498. package/styles.css +6 -6
@@ -1,18 +1,18 @@
1
- 'use strict';
2
- Object.defineProperty(exports, '__esModule', { value: true });
3
- const tslib_1 = require('tslib');
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
4
  /*---------------------------------------------------------------------------------------------
5
5
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
6
6
  * See LICENSE.md in the project root for license terms and full copyright notice.
7
7
  *--------------------------------------------------------------------------------------------*/
8
- tslib_1.__exportStar(require('./Resizer.js'), exports);
9
- tslib_1.__exportStar(require('./FocusTrap.js'), exports);
10
- tslib_1.__exportStar(require('./InputContainer.js'), exports);
11
- tslib_1.__exportStar(require('./InputFlexContainer.js'), exports);
12
- tslib_1.__exportStar(require('./WithCSSTransition.js'), exports);
13
- tslib_1.__exportStar(require('./MiddleTextTruncation.js'), exports);
14
- tslib_1.__exportStar(require('./VirtualScroll.js'), exports);
15
- tslib_1.__exportStar(require('./AutoclearingHiddenLiveRegion.js'), exports);
16
- tslib_1.__exportStar(require('./Box.js'), exports);
17
- tslib_1.__exportStar(require('./ButtonBase.js'), exports);
18
- tslib_1.__exportStar(require('./Portal.js'), exports);
8
+ tslib_1.__exportStar(require("./Resizer.js"), exports);
9
+ tslib_1.__exportStar(require("./FocusTrap.js"), exports);
10
+ tslib_1.__exportStar(require("./InputContainer.js"), exports);
11
+ tslib_1.__exportStar(require("./InputFlexContainer.js"), exports);
12
+ tslib_1.__exportStar(require("./WithCSSTransition.js"), exports);
13
+ tslib_1.__exportStar(require("./MiddleTextTruncation.js"), exports);
14
+ tslib_1.__exportStar(require("./VirtualScroll.js"), exports);
15
+ tslib_1.__exportStar(require("./AutoclearingHiddenLiveRegion.js"), exports);
16
+ tslib_1.__exportStar(require("./Box.js"), exports);
17
+ tslib_1.__exportStar(require("./ButtonBase.js"), exports);
18
+ tslib_1.__exportStar(require("./Portal.js"), exports);
@@ -1,29 +1,26 @@
1
- 'use strict';
1
+ "use strict";
2
2
  /*---------------------------------------------------------------------------------------------
3
3
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
4
  * See LICENSE.md in the project root for license terms and full copyright notice.
5
5
  *--------------------------------------------------------------------------------------------*/
6
- Object.defineProperty(exports, '__esModule', { value: true });
7
- exports.getUserColor =
8
- exports.isSoftBackground =
9
- exports.SoftBackgrounds =
10
- void 0;
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.getUserColor = exports.isSoftBackground = exports.SoftBackgrounds = void 0;
11
8
  exports.SoftBackgrounds = {
12
- skyblue: 'var(--iui-color-background-skyblue)',
13
- celery: 'var(--iui-color-background-celery)',
14
- froly: 'var(--iui-color-background-froly)',
15
- steelblue: 'var(--iui-color-background-steelblue)',
16
- sunglow: 'var(--iui-color-background-sunglow)',
17
- seabuckthorn: 'var(--iui-color-background-seabuckthorn)',
18
- montecarlo: 'var(--iui-color-background-montecarlo)',
19
- poloblue: 'var(--iui-color-background-poloblue)',
20
- bouquet: 'var(--iui-color-background-bouquet)',
21
- ash: 'var(--iui-color-background-ash)',
22
- oak: 'var(--iui-color-background-oak)',
9
+ skyblue: 'var(--iui-color-background-skyblue)',
10
+ celery: 'var(--iui-color-background-celery)',
11
+ froly: 'var(--iui-color-background-froly)',
12
+ steelblue: 'var(--iui-color-background-steelblue)',
13
+ sunglow: 'var(--iui-color-background-sunglow)',
14
+ seabuckthorn: 'var(--iui-color-background-seabuckthorn)',
15
+ montecarlo: 'var(--iui-color-background-montecarlo)',
16
+ poloblue: 'var(--iui-color-background-poloblue)',
17
+ bouquet: 'var(--iui-color-background-bouquet)',
18
+ ash: 'var(--iui-color-background-ash)',
19
+ oak: 'var(--iui-color-background-oak)',
23
20
  };
24
21
  /** Returns true if a string value is one of the SoftBackgrounds keys */
25
22
  const isSoftBackground = (value) => {
26
- return Object.keys(exports.SoftBackgrounds).includes(value);
23
+ return Object.keys(exports.SoftBackgrounds).includes(value);
27
24
  };
28
25
  exports.isSoftBackground = isSoftBackground;
29
26
  const USER_COLORS = Object.values(exports.SoftBackgrounds);
@@ -32,12 +29,12 @@ const USER_COLORS = Object.values(exports.SoftBackgrounds);
32
29
  * Recommended to use for `backgroundColor` in `Avatar` component.
33
30
  */
34
31
  const getUserColor = (emailOrName) => {
35
- const normalizedString = emailOrName.trim().toLowerCase();
36
- let hash = 0;
37
- for (let i = 0; i < normalizedString.length; i++) {
38
- const charCode = normalizedString.charCodeAt(i);
39
- hash = (hash + charCode) % USER_COLORS.length;
40
- }
41
- return USER_COLORS[hash];
32
+ const normalizedString = emailOrName.trim().toLowerCase();
33
+ let hash = 0;
34
+ for (let i = 0; i < normalizedString.length; i++) {
35
+ const charCode = normalizedString.charCodeAt(i);
36
+ hash = (hash + charCode) % USER_COLORS.length;
37
+ }
38
+ return USER_COLORS[hash];
42
39
  };
43
40
  exports.getUserColor = getUserColor;
@@ -1,21 +1,21 @@
1
- 'use strict';
1
+ "use strict";
2
2
  /*---------------------------------------------------------------------------------------------
3
3
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
4
  * See LICENSE.md in the project root for license terms and full copyright notice.
5
5
  *--------------------------------------------------------------------------------------------*/
6
- Object.defineProperty(exports, '__esModule', { value: true });
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.isBefore = void 0;
8
8
  /**
9
9
  * Return true if the first date is earlier than the second date
10
10
  */
11
11
  const isBefore = (beforeDate, afterDate) => {
12
- if (!beforeDate || !afterDate) {
13
- return false;
14
- }
15
- const firstDate = new Date(beforeDate);
16
- const secondDate = new Date(afterDate);
17
- firstDate && firstDate.setHours(0, 0, 0, 0);
18
- secondDate && secondDate.setHours(0, 0, 0, 0);
19
- return firstDate < secondDate;
12
+ if (!beforeDate || !afterDate) {
13
+ return false;
14
+ }
15
+ const firstDate = new Date(beforeDate);
16
+ const secondDate = new Date(afterDate);
17
+ firstDate && firstDate.setHours(0, 0, 0, 0);
18
+ secondDate && secondDate.setHours(0, 0, 0, 0);
19
+ return firstDate < secondDate;
20
20
  };
21
21
  exports.isBefore = isBefore;
@@ -1,5 +1,5 @@
1
- 'use strict';
2
- Object.defineProperty(exports, '__esModule', { value: true });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createWarningLogger = exports.isDev = exports.isJest = void 0;
4
4
  /*---------------------------------------------------------------------------------------------
5
5
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
@@ -11,8 +11,9 @@ let isDev = false;
11
11
  exports.isDev = isDev;
12
12
  // wrapping in try-catch because process might be undefined
13
13
  try {
14
- exports.isDev = isDev = process.env.NODE_ENV !== 'production' && !isJest;
15
- } catch {}
14
+ exports.isDev = isDev = process.env.NODE_ENV !== 'production' && !isJest;
15
+ }
16
+ catch { }
16
17
  /**
17
18
  * Logs message one time only in dev environments.
18
19
  *
@@ -21,14 +22,14 @@ try {
21
22
  * logWarningInDev("please don't use this")
22
23
  */
23
24
  const createWarningLogger = !isDev
24
- ? () => () => {}
25
- : () => {
26
- let logged = false;
27
- return (message) => {
28
- if (!logged) {
29
- console.warn(message);
30
- logged = true;
31
- }
32
- };
25
+ ? () => () => { }
26
+ : () => {
27
+ let logged = false;
28
+ return (message) => {
29
+ if (!logged) {
30
+ console.warn(message);
31
+ logged = true;
32
+ }
33
+ };
33
34
  };
34
35
  exports.createWarningLogger = createWarningLogger;
@@ -1,20 +1,16 @@
1
- 'use strict';
1
+ "use strict";
2
2
  /*---------------------------------------------------------------------------------------------
3
3
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
4
  * See LICENSE.md in the project root for license terms and full copyright notice.
5
5
  *--------------------------------------------------------------------------------------------*/
6
- Object.defineProperty(exports, '__esModule', { value: true });
7
- exports.getTranslateValues =
8
- exports.mergeEventHandlers =
9
- exports.getWindow =
10
- exports.getDocument =
11
- void 0;
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.getTranslateValues = exports.mergeEventHandlers = exports.getWindow = exports.getDocument = void 0;
12
8
  /**
13
9
  * Get document if it is defined.
14
10
  * Used to support SSR/SSG applications.
15
11
  */
16
12
  const getDocument = () => {
17
- return typeof document === 'undefined' ? undefined : document;
13
+ return typeof document === 'undefined' ? undefined : document;
18
14
  };
19
15
  exports.getDocument = getDocument;
20
16
  /**
@@ -22,23 +18,21 @@ exports.getDocument = getDocument;
22
18
  * Used to support SSR/SSG applications.
23
19
  */
24
20
  const getWindow = () => {
25
- return typeof window === 'undefined' ? undefined : window;
21
+ return typeof window === 'undefined' ? undefined : window;
26
22
  };
27
23
  exports.getWindow = getWindow;
28
24
  /**
29
25
  * Merges multiple event handlers into one, while making sure that
30
26
  * `defaultPrevented` is respected for each callback.
31
27
  */
32
- const mergeEventHandlers =
33
- (...callbacks) =>
34
- (event) => {
28
+ const mergeEventHandlers = (...callbacks) => (event) => {
35
29
  for (const cb of callbacks) {
36
- cb?.(event);
37
- if (event?.defaultPrevented) {
38
- return;
39
- }
30
+ cb?.(event);
31
+ if (event?.defaultPrevented) {
32
+ return;
33
+ }
40
34
  }
41
- };
35
+ };
42
36
  exports.mergeEventHandlers = mergeEventHandlers;
43
37
  /**
44
38
  * Returns translate values as an array of a given element.
@@ -46,12 +40,11 @@ exports.mergeEventHandlers = mergeEventHandlers;
46
40
  * @returns Translate values in pixels in an array `[translateX, translateY]`
47
41
  */
48
42
  const getTranslateValues = (element) => {
49
- if (!element) {
50
- return [];
51
- }
52
- const transformValue =
53
- getComputedStyle(element).getPropertyValue('transform');
54
- const matrix = new DOMMatrix(transformValue);
55
- return [matrix.m41, matrix.m42];
43
+ if (!element) {
44
+ return [];
45
+ }
46
+ const transformValue = getComputedStyle(element).getPropertyValue('transform');
47
+ const matrix = new DOMMatrix(transformValue);
48
+ return [matrix.m41, matrix.m42];
56
49
  };
57
50
  exports.getTranslateValues = getTranslateValues;
@@ -1,43 +1,34 @@
1
- 'use strict';
1
+ "use strict";
2
2
  /*---------------------------------------------------------------------------------------------
3
3
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
4
  * See LICENSE.md in the project root for license terms and full copyright notice.
5
5
  *--------------------------------------------------------------------------------------------*/
6
- Object.defineProperty(exports, '__esModule', { value: true });
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.getFocusableElements = exports.getTabbableElements = void 0;
8
- const tabbableElementsSelector =
9
- 'a[href], button, input, textarea, select, details, audio[controls], video[controls], [contenteditable]:not([contenteditable="false"]), [tabindex]:not([tabindex="-1"])';
8
+ const tabbableElementsSelector = 'a[href], button, input, textarea, select, details, audio[controls], video[controls], [contenteditable]:not([contenteditable="false"]), [tabindex]:not([tabindex="-1"])';
10
9
  /**
11
10
  * Return array of tabbable elements in the container.
12
11
  */
13
12
  const getTabbableElements = (container) => {
14
- if (!container) {
15
- return [];
16
- }
17
- const elements = container.querySelectorAll(tabbableElementsSelector);
18
- return Array.from(elements).filter(
19
- (el) =>
20
- !el.hasAttribute('disabled') &&
21
- !el.classList.contains('iui-disabled') &&
22
- el.getAttribute('aria-disabled') !== 'true',
23
- );
13
+ if (!container) {
14
+ return [];
15
+ }
16
+ const elements = container.querySelectorAll(tabbableElementsSelector);
17
+ return Array.from(elements).filter((el) => !el.hasAttribute('disabled') &&
18
+ !el.classList.contains('iui-disabled') &&
19
+ el.getAttribute('aria-disabled') !== 'true');
24
20
  };
25
21
  exports.getTabbableElements = getTabbableElements;
26
22
  /**
27
23
  * Return array of focusable elements in the container.
28
24
  */
29
25
  const getFocusableElements = (container) => {
30
- if (!container) {
31
- return [];
32
- }
33
- const elements = container.querySelectorAll(
34
- `${tabbableElementsSelector}, [tabindex="-1"]`,
35
- );
36
- return Array.from(elements).filter(
37
- (el) =>
38
- !el.hasAttribute('disabled') &&
39
- !el.classList.contains('iui-disabled') &&
40
- el.getAttribute('aria-disabled') !== 'true',
41
- );
26
+ if (!container) {
27
+ return [];
28
+ }
29
+ const elements = container.querySelectorAll(`${tabbableElementsSelector}, [tabindex="-1"]`);
30
+ return Array.from(elements).filter((el) => !el.hasAttribute('disabled') &&
31
+ !el.classList.contains('iui-disabled') &&
32
+ el.getAttribute('aria-disabled') !== 'true');
42
33
  };
43
34
  exports.getFocusableElements = getFocusableElements;
@@ -1,61 +1,38 @@
1
- 'use strict';
1
+ "use strict";
2
2
  /*---------------------------------------------------------------------------------------------
3
3
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
4
  * See LICENSE.md in the project root for license terms and full copyright notice.
5
5
  *--------------------------------------------------------------------------------------------*/
6
- var __createBinding =
7
- (this && this.__createBinding) ||
8
- (Object.create
9
- ? function (o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- var desc = Object.getOwnPropertyDescriptor(m, k);
12
- if (
13
- !desc ||
14
- ('get' in desc ? !m.__esModule : desc.writable || desc.configurable)
15
- ) {
16
- desc = {
17
- enumerable: true,
18
- get: function () {
19
- return m[k];
20
- },
21
- };
22
- }
23
- Object.defineProperty(o, k2, desc);
24
- }
25
- : function (o, m, k, k2) {
26
- if (k2 === undefined) k2 = k;
27
- o[k2] = m[k];
28
- });
29
- var __setModuleDefault =
30
- (this && this.__setModuleDefault) ||
31
- (Object.create
32
- ? function (o, v) {
33
- Object.defineProperty(o, 'default', { enumerable: true, value: v });
34
- }
35
- : function (o, v) {
36
- o['default'] = v;
37
- });
38
- var __importStar =
39
- (this && this.__importStar) ||
40
- function (mod) {
6
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
+ if (k2 === undefined) k2 = k;
8
+ var desc = Object.getOwnPropertyDescriptor(m, k);
9
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
+ desc = { enumerable: true, get: function() { return m[k]; } };
11
+ }
12
+ Object.defineProperty(o, k2, desc);
13
+ }) : (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ o[k2] = m[k];
16
+ }));
17
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
18
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
19
+ }) : function(o, v) {
20
+ o["default"] = v;
21
+ });
22
+ var __importStar = (this && this.__importStar) || function (mod) {
41
23
  if (mod && mod.__esModule) return mod;
42
24
  var result = {};
43
- if (mod != null)
44
- for (var k in mod)
45
- if (k !== 'default' && Object.prototype.hasOwnProperty.call(mod, k))
46
- __createBinding(result, mod, k);
25
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
47
26
  __setModuleDefault(result, mod);
48
27
  return result;
49
- };
50
- Object.defineProperty(exports, '__esModule', { value: true });
28
+ };
29
+ Object.defineProperty(exports, "__esModule", { value: true });
51
30
  exports.dynamicImport = void 0;
52
31
  /**
53
32
  * Wrapper around native `import()` with workarounds for:
54
33
  * 1. typescript trying to transpile dynamic import in CJS environment (https://github.com/microsoft/TypeScript/issues/43329)
55
34
  * 2. jest/node causing segfault when encountering dynamic import (https://github.com/nodejs/node/issues/35889)
56
35
  */
57
- exports.dynamicImport =
58
- typeof jest === undefined
36
+ exports.dynamicImport = typeof jest === undefined
59
37
  ? new Function('specifier', 'return import(specifier)')
60
- : (specifier) =>
61
- Promise.resolve(`${specifier}`).then((s) => __importStar(require(s)));
38
+ : (specifier) => Promise.resolve(`${specifier}`).then(s => __importStar(require(s)));
@@ -1,17 +1,17 @@
1
- 'use strict';
2
- Object.defineProperty(exports, '__esModule', { value: true });
3
- const tslib_1 = require('tslib');
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
4
  /*---------------------------------------------------------------------------------------------
5
5
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
6
6
  * See LICENSE.md in the project root for license terms and full copyright notice.
7
7
  *--------------------------------------------------------------------------------------------*/
8
- tslib_1.__exportStar(require('./date.js'), exports);
9
- tslib_1.__exportStar(require('./dom.js'), exports);
10
- tslib_1.__exportStar(require('./colors.js'), exports);
11
- tslib_1.__exportStar(require('./numbers.js'), exports);
12
- tslib_1.__exportStar(require('./focusable.js'), exports);
13
- tslib_1.__exportStar(require('./supports.js'), exports);
14
- tslib_1.__exportStar(require('./polymorphic.js'), exports);
15
- tslib_1.__exportStar(require('./import.js'), exports);
16
- tslib_1.__exportStar(require('./react.js'), exports);
17
- tslib_1.__exportStar(require('./dev.js'), exports);
8
+ tslib_1.__exportStar(require("./date.js"), exports);
9
+ tslib_1.__exportStar(require("./dom.js"), exports);
10
+ tslib_1.__exportStar(require("./colors.js"), exports);
11
+ tslib_1.__exportStar(require("./numbers.js"), exports);
12
+ tslib_1.__exportStar(require("./focusable.js"), exports);
13
+ tslib_1.__exportStar(require("./supports.js"), exports);
14
+ tslib_1.__exportStar(require("./polymorphic.js"), exports);
15
+ tslib_1.__exportStar(require("./import.js"), exports);
16
+ tslib_1.__exportStar(require("./react.js"), exports);
17
+ tslib_1.__exportStar(require("./dev.js"), exports);
@@ -1,26 +1,26 @@
1
- 'use strict';
1
+ "use strict";
2
2
  /*---------------------------------------------------------------------------------------------
3
3
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
4
  * See LICENSE.md in the project root for license terms and full copyright notice.
5
5
  *--------------------------------------------------------------------------------------------*/
6
- Object.defineProperty(exports, '__esModule', { value: true });
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.getRandomValue = exports.getBoundedValue = void 0;
8
8
  /**
9
9
  * Return input value bounded by specified range.
10
10
  */
11
11
  const getBoundedValue = (val, min, max) => {
12
- return Math.min(max, Math.max(min, val));
12
+ return Math.min(max, Math.max(min, val));
13
13
  };
14
14
  exports.getBoundedValue = getBoundedValue;
15
15
  /**
16
16
  * Returns a random value of a given length containing `A-Za-z0-9_-` symbols.
17
17
  */
18
18
  const getRandomValue = (length = 21) => {
19
- const alphabet = `_-0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ`;
20
- let id = '';
21
- for (let i = 0; i < length; i++) {
22
- id += alphabet[(Math.random() * 64) | 0];
23
- }
24
- return id;
19
+ const alphabet = `_-0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ`;
20
+ let id = '';
21
+ for (let i = 0; i < length; i++) {
22
+ id += alphabet[(Math.random() * 64) | 0];
23
+ }
24
+ return id;
25
25
  };
26
26
  exports.getRandomValue = getRandomValue;
@@ -1,36 +1,25 @@
1
- 'use strict';
2
- Object.defineProperty(exports, '__esModule', { value: true });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.polymorphic = void 0;
4
- const tslib_1 = require('tslib');
4
+ const tslib_1 = require("tslib");
5
5
  /*---------------------------------------------------------------------------------------------
6
6
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
7
7
  * See LICENSE.md in the project root for license terms and full copyright notice.
8
8
  *--------------------------------------------------------------------------------------------*/
9
- const React = tslib_1.__importStar(require('react'));
10
- const classnames_1 = tslib_1.__importDefault(require('classnames'));
11
- const useGlobals_js_1 = require('../hooks/useGlobals.js');
12
- const styles_js_1 = tslib_1.__importDefault(require('../../../styles.js'));
9
+ const React = tslib_1.__importStar(require("react"));
10
+ const classnames_1 = tslib_1.__importDefault(require("classnames"));
11
+ const useGlobals_js_1 = require("../hooks/useGlobals.js");
12
+ const styles_js_1 = tslib_1.__importDefault(require("../../../styles.js"));
13
13
  const _base = (defaultElement) => {
14
- return (className, attrs) => {
15
- const Comp = React.forwardRef(({ as = defaultElement, ...props }, ref) => {
16
- const Element = as || 'div'; // eslint-disable-line
17
- (0, useGlobals_js_1.useGlobals)();
18
- return React.createElement(Element, {
19
- ref: ref,
20
- ...attrs,
21
- ...props,
22
- className: getScopedClassName(
23
- (0, classnames_1.default)(
24
- className,
25
- attrs?.className,
26
- props.className,
27
- ),
28
- ),
29
- });
30
- });
31
- Comp.displayName = getDisplayNameFromClass(className);
32
- return Comp;
33
- };
14
+ return (className, attrs) => {
15
+ const Comp = React.forwardRef(({ as = defaultElement, ...props }, ref) => {
16
+ const Element = as || 'div'; // eslint-disable-line
17
+ (0, useGlobals_js_1.useGlobals)();
18
+ return (React.createElement(Element, { ref: ref, ...attrs, ...props, className: getScopedClassName((0, classnames_1.default)(className, attrs?.className, props.className)) }));
19
+ });
20
+ Comp.displayName = getDisplayNameFromClass(className);
21
+ return Comp;
22
+ };
34
23
  };
35
24
  /**
36
25
  * Utility to create a type-safe polymorphic component with a simple class.
@@ -52,26 +41,24 @@ const _base = (defaultElement) => {
52
41
  * @private
53
42
  */
54
43
  exports.polymorphic = new Proxy(_base('div'), {
55
- get: (target, prop) => {
56
- if (typeof prop === 'string') {
57
- // eslint-disable-next-line -- string is as far as we can narrow it down
58
- // @ts-ignore
59
- return _base(prop);
60
- }
61
- return Reflect.get(target, prop);
62
- },
44
+ get: (target, prop) => {
45
+ if (typeof prop === 'string') {
46
+ // eslint-disable-next-line -- string is as far as we can narrow it down
47
+ // @ts-ignore
48
+ return _base(prop);
49
+ }
50
+ return Reflect.get(target, prop);
51
+ },
63
52
  });
64
53
  // e.g. iui-list-item-icon -> ListItemIcon
65
54
  const getDisplayNameFromClass = (str) => {
66
- const camel = str.replace(/-([a-z])/g, (g) => g[1].toUpperCase());
67
- return camel.substring(3);
55
+ const camel = str.replace(/-([a-z])/g, (g) => g[1].toUpperCase());
56
+ return camel.substring(3);
68
57
  };
69
58
  // e.g. iui-button -> _iui3-button
70
59
  const getScopedClassName = (className = '') => {
71
- return (
72
- className
73
- .split(' ')
74
- .map((c) => (c in styles_js_1.default ? styles_js_1.default[c] : c))
75
- .join(' ') || null
76
- );
60
+ return (className
61
+ .split(' ')
62
+ .map((c) => (c in styles_js_1.default ? styles_js_1.default[c] : c))
63
+ .join(' ') || null);
77
64
  };
@@ -1,13 +1,13 @@
1
- 'use strict';
2
- Object.defineProperty(exports, '__esModule', { value: true });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.cloneElementWithRef = void 0;
4
- const tslib_1 = require('tslib');
4
+ const tslib_1 = require("tslib");
5
5
  /*---------------------------------------------------------------------------------------------
6
6
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
7
7
  * See LICENSE.md in the project root for license terms and full copyright notice.
8
8
  *--------------------------------------------------------------------------------------------*/
9
- const React = tslib_1.__importStar(require('react'));
10
- const useMergedRefs_js_1 = require('../hooks/useMergedRefs.js');
9
+ const React = tslib_1.__importStar(require("react"));
10
+ const useMergedRefs_js_1 = require("../hooks/useMergedRefs.js");
11
11
  /**
12
12
  * Wrapper over `cloneElement` that automatically checks for `isValidElement`
13
13
  * and automatically merges `children.ref` with the ref passed in props.
@@ -15,26 +15,24 @@ const useMergedRefs_js_1 = require('../hooks/useMergedRefs.js');
15
15
  * @private
16
16
  */
17
17
  const cloneElementWithRef = (children, getProps) => {
18
- if (!children) {
19
- return null;
20
- }
21
- if (!React.isValidElement(children)) {
22
- return children;
23
- }
24
- const props = getProps(children);
25
- const ref = (0, useMergedRefs_js_1.mergeRefs)(
26
- ...[
27
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
28
- 'ref' in children ? children.ref : null,
29
- 'ref' in props ? props.ref : null,
30
- ].filter(Boolean),
31
- );
32
- return React.cloneElement(children, {
33
- ...props,
34
- // we already checked ref above and handled null, so ts-ignore is ok
35
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
36
- // @ts-ignore
37
- ref,
38
- });
18
+ if (!children) {
19
+ return null;
20
+ }
21
+ if (!React.isValidElement(children)) {
22
+ return children;
23
+ }
24
+ const props = getProps(children);
25
+ const ref = (0, useMergedRefs_js_1.mergeRefs)(...[
26
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
27
+ 'ref' in children ? children.ref : null,
28
+ 'ref' in props ? props.ref : null,
29
+ ].filter(Boolean));
30
+ return React.cloneElement(children, {
31
+ ...props,
32
+ // we already checked ref above and handled null, so ts-ignore is ok
33
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
34
+ // @ts-ignore
35
+ ref,
36
+ });
39
37
  };
40
38
  exports.cloneElementWithRef = cloneElementWithRef;