@itwin/itwinui-react 2.0.0-dev.2 → 2.0.0-dev.4

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 (474) hide show
  1. package/README.md +10 -1
  2. package/cjs/core/Alert/Alert.js +8 -30
  3. package/cjs/core/Avatar/Avatar.js +10 -33
  4. package/cjs/core/AvatarGroup/AvatarGroup.js +18 -43
  5. package/cjs/core/Backdrop/Backdrop.js +6 -28
  6. package/cjs/core/Badge/Badge.js +13 -31
  7. package/cjs/core/Breadcrumbs/Breadcrumbs.js +14 -40
  8. package/cjs/core/ButtonGroup/ButtonGroup.js +10 -32
  9. package/cjs/core/Buttons/Button/Button.js +6 -28
  10. package/cjs/core/Buttons/DropdownButton/DropdownButton.js +14 -36
  11. package/cjs/core/Buttons/IconButton/IconButton.js +6 -28
  12. package/cjs/core/Buttons/IdeasButton/IdeasButton.js +6 -28
  13. package/cjs/core/Buttons/SplitButton/SplitButton.js +14 -36
  14. package/cjs/core/Carousel/Carousel.js +38 -63
  15. package/cjs/core/Carousel/CarouselContext.js +1 -1
  16. package/cjs/core/Carousel/CarouselDot.js +6 -28
  17. package/cjs/core/Carousel/CarouselDotsList.js +33 -60
  18. package/cjs/core/Carousel/CarouselNavigation.js +22 -44
  19. package/cjs/core/Carousel/CarouselSlide.js +12 -34
  20. package/cjs/core/Carousel/CarouselSlider.js +26 -51
  21. package/cjs/core/Checkbox/Checkbox.js +18 -42
  22. package/cjs/core/ColorPicker/ColorBuilder.js +51 -73
  23. package/cjs/core/ColorPicker/ColorInputPanel.js +64 -88
  24. package/cjs/core/ColorPicker/ColorPalette.js +26 -50
  25. package/cjs/core/ColorPicker/ColorPicker.js +25 -49
  26. package/cjs/core/ColorPicker/ColorPickerContext.js +3 -3
  27. package/cjs/core/ColorPicker/ColorSwatch.js +13 -34
  28. package/cjs/core/ComboBox/ComboBox.js +67 -93
  29. package/cjs/core/ComboBox/ComboBoxDropdown.d.ts +1 -1
  30. package/cjs/core/ComboBox/ComboBoxDropdown.js +13 -36
  31. package/cjs/core/ComboBox/ComboBoxEndIcon.js +12 -34
  32. package/cjs/core/ComboBox/ComboBoxInput.js +28 -50
  33. package/cjs/core/ComboBox/ComboBoxInputContainer.js +9 -31
  34. package/cjs/core/ComboBox/ComboBoxMenu.js +35 -60
  35. package/cjs/core/ComboBox/ComboBoxMenuItem.js +11 -33
  36. package/cjs/core/ComboBox/helpers.js +11 -19
  37. package/cjs/core/DatePicker/DatePicker.js +87 -111
  38. package/cjs/core/Dialog/Dialog.js +28 -48
  39. package/cjs/core/Dialog/DialogBackdrop.js +16 -35
  40. package/cjs/core/Dialog/DialogButtonBar.js +6 -28
  41. package/cjs/core/Dialog/DialogContent.js +6 -28
  42. package/cjs/core/Dialog/DialogContext.js +2 -2
  43. package/cjs/core/Dialog/DialogDragContext.js +6 -15
  44. package/cjs/core/Dialog/DialogMain.js +52 -59
  45. package/cjs/core/Dialog/DialogTitleBar.js +14 -36
  46. package/cjs/core/Dialog/DialogTitleBarTitle.js +6 -28
  47. package/cjs/core/DropdownMenu/DropdownMenu.js +14 -36
  48. package/cjs/core/ExpandableBlock/ExpandableBlock.js +12 -34
  49. package/cjs/core/Fieldset/Fieldset.js +9 -33
  50. package/cjs/core/FileUpload/FileUpload.js +13 -35
  51. package/cjs/core/FileUpload/FileUploadTemplate.js +4 -4
  52. package/cjs/core/Footer/Footer.js +21 -49
  53. package/cjs/core/Footer/FooterItem.js +6 -28
  54. package/cjs/core/Footer/FooterList.js +6 -28
  55. package/cjs/core/Footer/FooterSeparator.js +6 -28
  56. package/cjs/core/Header/Header.js +10 -32
  57. package/cjs/core/Header/HeaderBasicButton.js +6 -28
  58. package/cjs/core/Header/HeaderBreadcrumbs.js +9 -39
  59. package/cjs/core/Header/HeaderButton.js +22 -36
  60. package/cjs/core/Header/HeaderDropdownButton.js +14 -36
  61. package/cjs/core/Header/HeaderLogo.js +7 -29
  62. package/cjs/core/Header/HeaderSplitButton.js +13 -35
  63. package/cjs/core/InformationPanel/InformationPanel.js +15 -37
  64. package/cjs/core/InformationPanel/InformationPanelBody.js +6 -28
  65. package/cjs/core/InformationPanel/InformationPanelContent.js +6 -28
  66. package/cjs/core/InformationPanel/InformationPanelHeader.js +7 -29
  67. package/cjs/core/InformationPanel/InformationPanelWrapper.js +6 -28
  68. package/cjs/core/Input/Input.js +9 -31
  69. package/cjs/core/InputGroup/InputGroup.js +6 -28
  70. package/cjs/core/Label/Label.js +7 -29
  71. package/cjs/core/LabeledInput/LabeledInput.js +7 -29
  72. package/cjs/core/LabeledSelect/LabeledSelect.js +7 -29
  73. package/cjs/core/LabeledTextarea/LabeledTextarea.js +7 -29
  74. package/cjs/core/Menu/Menu.js +18 -40
  75. package/cjs/core/Menu/MenuDivider.js +6 -28
  76. package/cjs/core/Menu/MenuExtraContent.js +6 -28
  77. package/cjs/core/Menu/MenuItem.js +17 -39
  78. package/cjs/core/Menu/MenuItemSkeleton.js +11 -30
  79. package/cjs/core/Modal/Modal.js +12 -30
  80. package/cjs/core/Modal/ModalButtonBar.js +1 -1
  81. package/cjs/core/Modal/ModalContent.js +1 -1
  82. package/cjs/core/{ErrorPage → NonIdealState}/ErrorPage.d.ts +5 -1
  83. package/cjs/core/NonIdealState/ErrorPage.js +144 -0
  84. package/cjs/core/NonIdealState/NonIdealState.d.ts +46 -0
  85. package/cjs/core/NonIdealState/NonIdealState.js +32 -0
  86. package/{esm/core/ErrorPage → cjs/core/NonIdealState}/index.d.ts +3 -1
  87. package/cjs/core/{ErrorPage → NonIdealState}/index.js +4 -2
  88. package/cjs/core/ProgressIndicators/ProgressLinear/ProgressLinear.js +11 -34
  89. package/cjs/core/ProgressIndicators/ProgressRadial/ProgressRadial.js +13 -37
  90. package/cjs/core/Radio/Radio.js +10 -33
  91. package/cjs/core/RadioTiles/RadioTile.js +9 -31
  92. package/cjs/core/RadioTiles/RadioTileGroup.js +6 -28
  93. package/cjs/core/Select/Select.js +59 -72
  94. package/cjs/core/Select/SelectTag.js +6 -28
  95. package/cjs/core/SideNavigation/SideNavigation.js +14 -40
  96. package/cjs/core/SideNavigation/SidenavButton.js +8 -30
  97. package/cjs/core/SideNavigation/SidenavSubmenu.js +6 -28
  98. package/cjs/core/SideNavigation/SidenavSubmenuHeader.js +6 -28
  99. package/cjs/core/SkipToContentLink/SkipToContentLink.js +6 -28
  100. package/cjs/core/Slider/Slider.js +68 -96
  101. package/cjs/core/Slider/Thumb.js +20 -39
  102. package/cjs/core/Slider/Track.js +24 -44
  103. package/cjs/core/StatusMessage/StatusMessage.js +6 -7
  104. package/cjs/core/Stepper/Stepper.js +10 -34
  105. package/cjs/core/Stepper/StepperStep.js +15 -34
  106. package/cjs/core/Stepper/Wizard.js +6 -28
  107. package/cjs/core/Stepper/WorkflowDiagram.js +6 -28
  108. package/cjs/core/Stepper/WorkflowDiagramStep.js +6 -28
  109. package/cjs/core/Surface/Surface.js +11 -30
  110. package/cjs/core/Table/SubRowExpander.js +6 -6
  111. package/cjs/core/Table/Table.d.ts +19 -24
  112. package/cjs/core/Table/Table.js +189 -195
  113. package/cjs/core/Table/TableCell.js +29 -30
  114. package/cjs/core/Table/TablePaginator.js +52 -83
  115. package/cjs/core/Table/TableRowMemoized.d.ts +6 -10
  116. package/cjs/core/Table/TableRowMemoized.js +36 -60
  117. package/cjs/core/Table/actionHandlers/expandHandler.js +3 -3
  118. package/cjs/core/Table/actionHandlers/filterHandler.js +4 -4
  119. package/cjs/core/Table/actionHandlers/resizeHandler.js +13 -15
  120. package/cjs/core/Table/actionHandlers/selectHandler.js +35 -40
  121. package/cjs/core/Table/cells/DefaultCell.js +5 -27
  122. package/cjs/core/Table/cells/EditableCell.js +16 -40
  123. package/cjs/core/Table/columns/actionColumn.js +44 -62
  124. package/cjs/core/Table/columns/expanderColumn.d.ts +2 -5
  125. package/cjs/core/Table/columns/expanderColumn.js +12 -27
  126. package/cjs/core/Table/columns/selectionColumn.d.ts +2 -5
  127. package/cjs/core/Table/columns/selectionColumn.js +16 -37
  128. package/cjs/core/Table/filters/BaseFilter.js +6 -6
  129. package/cjs/core/Table/filters/DateRangeFilter/DatePickerInput.js +19 -41
  130. package/cjs/core/Table/filters/DateRangeFilter/DateRangeFilter.js +20 -31
  131. package/cjs/core/Table/filters/FilterButtonBar.js +8 -19
  132. package/cjs/core/Table/filters/FilterToggle.js +15 -37
  133. package/cjs/core/Table/filters/NumberRangeFilter/NumberRangeFilter.js +16 -29
  134. package/cjs/core/Table/filters/TextFilter/TextFilter.js +11 -11
  135. package/cjs/core/Table/filters/customFilterFunctions.js +11 -13
  136. package/cjs/core/Table/filters/defaultFilterFunctions.js +62 -64
  137. package/cjs/core/Table/filters/tableFilters.js +7 -18
  138. package/cjs/core/Table/hooks/useColumnDragAndDrop.js +41 -53
  139. package/cjs/core/Table/hooks/useExpanderCell.js +17 -33
  140. package/cjs/core/Table/hooks/useResizeColumns.js +197 -205
  141. package/cjs/core/Table/hooks/useScrollToRow.js +11 -12
  142. package/cjs/core/Table/hooks/useSelectionCell.js +7 -18
  143. package/cjs/core/Table/hooks/useStickyColumns.js +28 -33
  144. package/cjs/core/Table/hooks/useSubRowFiltering.js +37 -57
  145. package/cjs/core/Table/hooks/useSubRowSelection.js +10 -12
  146. package/cjs/core/Table/utils.js +15 -26
  147. package/cjs/core/Tabs/Tab.js +6 -28
  148. package/cjs/core/Tabs/Tabs.js +45 -67
  149. package/cjs/core/Tag/Tag.js +8 -30
  150. package/cjs/core/Tag/TagContainer.js +9 -32
  151. package/cjs/core/Textarea/Textarea.js +9 -31
  152. package/cjs/core/ThemeProvider/ThemeProvider.d.ts +1 -0
  153. package/cjs/core/ThemeProvider/ThemeProvider.js +16 -37
  154. package/cjs/core/Tile/Tile.js +29 -58
  155. package/cjs/core/TimePicker/TimePicker.js +59 -97
  156. package/cjs/core/Toast/Toast.js +45 -65
  157. package/cjs/core/Toast/ToastWrapper.js +13 -24
  158. package/cjs/core/Toast/Toaster.js +87 -137
  159. package/cjs/core/Toast/index.js +2 -2
  160. package/cjs/core/ToggleSwitch/ToggleSwitch.js +10 -32
  161. package/cjs/core/Tooltip/Tooltip.js +6 -28
  162. package/cjs/core/Tree/Tree.js +58 -80
  163. package/cjs/core/Tree/TreeContext.js +3 -3
  164. package/cjs/core/Tree/TreeNode.js +21 -43
  165. package/cjs/core/Tree/TreeNodeExpander.js +7 -29
  166. package/cjs/core/Typography/Anchor/Anchor.js +5 -28
  167. package/cjs/core/Typography/Blockquote/Blockquote.js +6 -28
  168. package/cjs/core/Typography/Body/Body.js +7 -29
  169. package/cjs/core/Typography/Code/Code.js +6 -28
  170. package/cjs/core/Typography/Headline/Headline.js +6 -28
  171. package/cjs/core/Typography/Kbd/Kbd.js +6 -28
  172. package/cjs/core/Typography/Leading/Leading.js +6 -28
  173. package/cjs/core/Typography/Small/Small.js +6 -28
  174. package/cjs/core/Typography/Subheading/Subheading.js +6 -28
  175. package/cjs/core/Typography/Text/Text.js +11 -34
  176. package/cjs/core/Typography/Title/Title.js +6 -28
  177. package/cjs/core/index.d.ts +2 -2
  178. package/cjs/core/index.js +6 -5
  179. package/cjs/core/utils/color/ColorValue.js +146 -156
  180. package/cjs/core/utils/components/FocusTrap.js +14 -14
  181. package/cjs/core/utils/components/InputContainer.js +12 -36
  182. package/cjs/core/utils/components/MiddleTextTruncation.js +15 -31
  183. package/cjs/core/utils/components/Popover.d.ts +1 -1
  184. package/cjs/core/utils/components/Popover.js +57 -60
  185. package/cjs/core/utils/components/Resizer.js +51 -51
  186. package/cjs/core/utils/components/VirtualScroll.js +72 -89
  187. package/cjs/core/utils/components/VisuallyHidden.js +6 -28
  188. package/cjs/core/utils/components/WithCSSTransition.d.ts +2 -2
  189. package/cjs/core/utils/components/WithCSSTransition.js +18 -40
  190. package/cjs/core/utils/functions/colors.js +7 -7
  191. package/cjs/core/utils/functions/dom.js +7 -8
  192. package/cjs/core/utils/functions/focusable.js +11 -15
  193. package/cjs/core/utils/functions/numbers.js +5 -6
  194. package/cjs/core/utils/functions/styles.js +3 -3
  195. package/cjs/core/utils/hooks/useContainerWidth.js +9 -13
  196. package/cjs/core/utils/hooks/useDragAndDrop.js +32 -33
  197. package/cjs/core/utils/hooks/useEventListener.js +7 -7
  198. package/cjs/core/utils/hooks/useIntersection.js +9 -12
  199. package/cjs/core/utils/hooks/useIsomorphicLayoutEffect.js +1 -1
  200. package/cjs/core/utils/hooks/useLatestRef.js +4 -4
  201. package/cjs/core/utils/hooks/useMediaQuery.js +9 -12
  202. package/cjs/core/utils/hooks/useMergedRefs.js +6 -23
  203. package/cjs/core/utils/hooks/useOverflow.js +26 -33
  204. package/cjs/core/utils/hooks/useResizeObserver.js +6 -9
  205. package/cjs/core/utils/hooks/useSafeContext.js +4 -4
  206. package/cjs/core/utils/hooks/useTheme.js +18 -20
  207. package/cjs/core/utils/icons/StatusIconMap.js +9 -20
  208. package/cjs/core/utils/icons/SvgCalendar.js +3 -14
  209. package/cjs/core/utils/icons/SvgCaretDownSmall.js +3 -14
  210. package/cjs/core/utils/icons/SvgCaretRightSmall.js +3 -14
  211. package/cjs/core/utils/icons/SvgCaretUpSmall.js +3 -14
  212. package/cjs/core/utils/icons/SvgCheckmark.js +3 -14
  213. package/cjs/core/utils/icons/SvgCheckmarkSmall.js +3 -14
  214. package/cjs/core/utils/icons/SvgChevronLeft.js +3 -14
  215. package/cjs/core/utils/icons/SvgChevronLeftDouble.js +3 -14
  216. package/cjs/core/utils/icons/SvgChevronRight.js +3 -14
  217. package/cjs/core/utils/icons/SvgChevronRightDouble.js +3 -14
  218. package/cjs/core/utils/icons/SvgClose.js +3 -14
  219. package/cjs/core/utils/icons/SvgCloseSmall.js +3 -14
  220. package/cjs/core/utils/icons/SvgColumnManager.js +3 -14
  221. package/cjs/core/utils/icons/SvgFilter.js +3 -14
  222. package/cjs/core/utils/icons/SvgFilterHollow.js +3 -14
  223. package/cjs/core/utils/icons/SvgImportantSmall.js +3 -14
  224. package/cjs/core/utils/icons/SvgInfoCircular.js +3 -14
  225. package/cjs/core/utils/icons/SvgMore.js +3 -14
  226. package/cjs/core/utils/icons/SvgMoreVertical.js +3 -14
  227. package/cjs/core/utils/icons/SvgNew.js +3 -14
  228. package/cjs/core/utils/icons/SvgSmileyHappy.js +3 -14
  229. package/cjs/core/utils/icons/SvgSortDown.js +3 -14
  230. package/cjs/core/utils/icons/SvgSortUp.js +3 -14
  231. package/cjs/core/utils/icons/SvgStatusError.js +3 -14
  232. package/cjs/core/utils/icons/SvgStatusSuccess.js +3 -14
  233. package/cjs/core/utils/icons/SvgStatusWarning.js +3 -14
  234. package/cjs/core/utils/icons/SvgSwap.js +3 -14
  235. package/cjs/core/utils/icons/SvgUpload.js +3 -14
  236. package/cjs/types/react-table-config.d.ts +6 -2
  237. package/esm/core/Alert/Alert.js +5 -27
  238. package/esm/core/Avatar/Avatar.js +9 -32
  239. package/esm/core/AvatarGroup/AvatarGroup.js +16 -41
  240. package/esm/core/Backdrop/Backdrop.js +3 -25
  241. package/esm/core/Badge/Badge.js +10 -28
  242. package/esm/core/Breadcrumbs/Breadcrumbs.js +11 -37
  243. package/esm/core/ButtonGroup/ButtonGroup.js +7 -29
  244. package/esm/core/Buttons/Button/Button.js +3 -25
  245. package/esm/core/Buttons/DropdownButton/DropdownButton.js +9 -31
  246. package/esm/core/Buttons/IconButton/IconButton.js +3 -25
  247. package/esm/core/Buttons/IdeasButton/IdeasButton.js +3 -25
  248. package/esm/core/Buttons/SplitButton/SplitButton.js +8 -30
  249. package/esm/core/Carousel/Carousel.js +29 -54
  250. package/esm/core/Carousel/CarouselContext.js +1 -1
  251. package/esm/core/Carousel/CarouselDot.js +4 -26
  252. package/esm/core/Carousel/CarouselDotsList.js +28 -55
  253. package/esm/core/Carousel/CarouselNavigation.js +16 -38
  254. package/esm/core/Carousel/CarouselSlide.js +8 -30
  255. package/esm/core/Carousel/CarouselSlider.js +22 -47
  256. package/esm/core/Checkbox/Checkbox.js +14 -38
  257. package/esm/core/ColorPicker/ColorBuilder.js +46 -68
  258. package/esm/core/ColorPicker/ColorInputPanel.js +58 -82
  259. package/esm/core/ColorPicker/ColorPalette.js +20 -44
  260. package/esm/core/ColorPicker/ColorPicker.js +21 -45
  261. package/esm/core/ColorPicker/ColorPickerContext.js +3 -3
  262. package/esm/core/ColorPicker/ColorSwatch.js +9 -30
  263. package/esm/core/ComboBox/ComboBox.js +55 -81
  264. package/esm/core/ComboBox/ComboBoxDropdown.d.ts +1 -1
  265. package/esm/core/ComboBox/ComboBoxDropdown.js +10 -33
  266. package/esm/core/ComboBox/ComboBoxEndIcon.js +8 -30
  267. package/esm/core/ComboBox/ComboBoxInput.js +24 -46
  268. package/esm/core/ComboBox/ComboBoxInputContainer.js +5 -27
  269. package/esm/core/ComboBox/ComboBoxMenu.js +29 -54
  270. package/esm/core/ComboBox/ComboBoxMenuItem.js +7 -29
  271. package/esm/core/ComboBox/helpers.js +13 -21
  272. package/esm/core/DatePicker/DatePicker.js +82 -106
  273. package/esm/core/Dialog/Dialog.js +19 -39
  274. package/esm/core/Dialog/DialogBackdrop.js +11 -30
  275. package/esm/core/Dialog/DialogButtonBar.js +3 -25
  276. package/esm/core/Dialog/DialogContent.js +3 -25
  277. package/esm/core/Dialog/DialogContext.js +2 -2
  278. package/esm/core/Dialog/DialogDragContext.js +6 -15
  279. package/esm/core/Dialog/DialogMain.js +45 -52
  280. package/esm/core/Dialog/DialogTitleBar.js +7 -29
  281. package/esm/core/Dialog/DialogTitleBarTitle.js +3 -25
  282. package/esm/core/DropdownMenu/DropdownMenu.js +11 -33
  283. package/esm/core/ExpandableBlock/ExpandableBlock.js +9 -31
  284. package/esm/core/Fieldset/Fieldset.js +6 -30
  285. package/esm/core/FileUpload/FileUpload.js +10 -32
  286. package/esm/core/FileUpload/FileUploadTemplate.js +2 -2
  287. package/esm/core/Footer/Footer.js +16 -44
  288. package/esm/core/Footer/FooterItem.js +3 -25
  289. package/esm/core/Footer/FooterList.js +3 -25
  290. package/esm/core/Footer/FooterSeparator.js +3 -25
  291. package/esm/core/Header/Header.js +5 -27
  292. package/esm/core/Header/HeaderBasicButton.js +3 -25
  293. package/esm/core/Header/HeaderBreadcrumbs.js +7 -37
  294. package/esm/core/Header/HeaderButton.js +16 -30
  295. package/esm/core/Header/HeaderDropdownButton.js +9 -31
  296. package/esm/core/Header/HeaderLogo.js +4 -26
  297. package/esm/core/Header/HeaderSplitButton.js +8 -30
  298. package/esm/core/InformationPanel/InformationPanel.js +12 -34
  299. package/esm/core/InformationPanel/InformationPanelBody.js +3 -25
  300. package/esm/core/InformationPanel/InformationPanelContent.js +3 -25
  301. package/esm/core/InformationPanel/InformationPanelHeader.js +3 -25
  302. package/esm/core/InformationPanel/InformationPanelWrapper.js +3 -25
  303. package/esm/core/Input/Input.js +6 -28
  304. package/esm/core/InputGroup/InputGroup.js +4 -26
  305. package/esm/core/Label/Label.js +4 -26
  306. package/esm/core/LabeledInput/LabeledInput.js +4 -26
  307. package/esm/core/LabeledSelect/LabeledSelect.js +4 -26
  308. package/esm/core/LabeledTextarea/LabeledTextarea.js +4 -26
  309. package/esm/core/Menu/Menu.js +15 -37
  310. package/esm/core/Menu/MenuDivider.js +3 -25
  311. package/esm/core/Menu/MenuExtraContent.js +3 -25
  312. package/esm/core/Menu/MenuItem.js +13 -35
  313. package/esm/core/Menu/MenuItemSkeleton.js +8 -27
  314. package/esm/core/Modal/Modal.js +8 -26
  315. package/esm/core/Modal/ModalButtonBar.js +1 -1
  316. package/esm/core/Modal/ModalContent.js +1 -1
  317. package/esm/core/{ErrorPage → NonIdealState}/ErrorPage.d.ts +5 -1
  318. package/esm/core/NonIdealState/ErrorPage.js +137 -0
  319. package/esm/core/NonIdealState/NonIdealState.d.ts +46 -0
  320. package/esm/core/NonIdealState/NonIdealState.js +25 -0
  321. package/{cjs/core/ErrorPage → esm/core/NonIdealState}/index.d.ts +3 -1
  322. package/esm/core/{ErrorPage → NonIdealState}/index.js +2 -1
  323. package/esm/core/ProgressIndicators/ProgressLinear/ProgressLinear.js +8 -31
  324. package/esm/core/ProgressIndicators/ProgressRadial/ProgressRadial.js +10 -34
  325. package/esm/core/Radio/Radio.js +7 -30
  326. package/esm/core/RadioTiles/RadioTile.js +6 -28
  327. package/esm/core/RadioTiles/RadioTileGroup.js +3 -25
  328. package/esm/core/Select/Select.js +53 -66
  329. package/esm/core/Select/SelectTag.js +3 -25
  330. package/esm/core/SideNavigation/SideNavigation.js +9 -35
  331. package/esm/core/SideNavigation/SidenavButton.js +4 -26
  332. package/esm/core/SideNavigation/SidenavSubmenu.js +3 -25
  333. package/esm/core/SideNavigation/SidenavSubmenuHeader.js +3 -25
  334. package/esm/core/SkipToContentLink/SkipToContentLink.js +3 -25
  335. package/esm/core/Slider/Slider.js +63 -91
  336. package/esm/core/Slider/Thumb.js +17 -36
  337. package/esm/core/Slider/Track.js +23 -43
  338. package/esm/core/StatusMessage/StatusMessage.js +3 -4
  339. package/esm/core/Stepper/Stepper.js +7 -31
  340. package/esm/core/Stepper/StepperStep.js +12 -31
  341. package/esm/core/Stepper/Wizard.js +3 -25
  342. package/esm/core/Stepper/WorkflowDiagram.js +3 -25
  343. package/esm/core/Stepper/WorkflowDiagramStep.js +3 -25
  344. package/esm/core/Surface/Surface.js +8 -27
  345. package/esm/core/Table/SubRowExpander.js +3 -3
  346. package/esm/core/Table/Table.d.ts +19 -24
  347. package/esm/core/Table/Table.js +177 -183
  348. package/esm/core/Table/TableCell.js +23 -24
  349. package/esm/core/Table/TablePaginator.js +46 -77
  350. package/esm/core/Table/TableRowMemoized.d.ts +6 -10
  351. package/esm/core/Table/TableRowMemoized.js +32 -56
  352. package/esm/core/Table/actionHandlers/expandHandler.js +3 -3
  353. package/esm/core/Table/actionHandlers/filterHandler.js +4 -4
  354. package/esm/core/Table/actionHandlers/resizeHandler.js +13 -15
  355. package/esm/core/Table/actionHandlers/selectHandler.js +35 -40
  356. package/esm/core/Table/cells/DefaultCell.js +3 -25
  357. package/esm/core/Table/cells/EditableCell.js +14 -38
  358. package/esm/core/Table/columns/actionColumn.js +34 -52
  359. package/esm/core/Table/columns/expanderColumn.d.ts +2 -5
  360. package/esm/core/Table/columns/expanderColumn.js +9 -24
  361. package/esm/core/Table/columns/selectionColumn.d.ts +2 -5
  362. package/esm/core/Table/columns/selectionColumn.js +14 -35
  363. package/esm/core/Table/filters/BaseFilter.js +3 -3
  364. package/esm/core/Table/filters/DateRangeFilter/DatePickerInput.js +14 -36
  365. package/esm/core/Table/filters/DateRangeFilter/DateRangeFilter.js +15 -26
  366. package/esm/core/Table/filters/FilterButtonBar.js +4 -15
  367. package/esm/core/Table/filters/FilterToggle.js +11 -33
  368. package/esm/core/Table/filters/NumberRangeFilter/NumberRangeFilter.js +11 -24
  369. package/esm/core/Table/filters/TextFilter/TextFilter.js +6 -6
  370. package/esm/core/Table/filters/customFilterFunctions.js +12 -14
  371. package/esm/core/Table/filters/defaultFilterFunctions.js +63 -65
  372. package/esm/core/Table/filters/tableFilters.js +4 -15
  373. package/esm/core/Table/hooks/useColumnDragAndDrop.js +40 -52
  374. package/esm/core/Table/hooks/useExpanderCell.js +15 -31
  375. package/esm/core/Table/hooks/useResizeColumns.js +196 -204
  376. package/esm/core/Table/hooks/useScrollToRow.js +10 -11
  377. package/esm/core/Table/hooks/useSelectionCell.js +6 -17
  378. package/esm/core/Table/hooks/useStickyColumns.js +27 -32
  379. package/esm/core/Table/hooks/useSubRowFiltering.js +35 -55
  380. package/esm/core/Table/hooks/useSubRowSelection.js +9 -11
  381. package/esm/core/Table/utils.js +15 -26
  382. package/esm/core/Tabs/Tab.js +3 -25
  383. package/esm/core/Tabs/Tabs.js +41 -63
  384. package/esm/core/Tag/Tag.js +4 -26
  385. package/esm/core/Tag/TagContainer.js +6 -29
  386. package/esm/core/Textarea/Textarea.js +6 -28
  387. package/esm/core/ThemeProvider/ThemeProvider.d.ts +1 -0
  388. package/esm/core/ThemeProvider/ThemeProvider.js +15 -36
  389. package/esm/core/Tile/Tile.js +23 -52
  390. package/esm/core/TimePicker/TimePicker.js +56 -94
  391. package/esm/core/Toast/Toast.js +41 -61
  392. package/esm/core/Toast/ToastWrapper.js +10 -21
  393. package/esm/core/Toast/Toaster.js +83 -134
  394. package/esm/core/Toast/index.js +1 -1
  395. package/esm/core/ToggleSwitch/ToggleSwitch.js +7 -29
  396. package/esm/core/Tooltip/Tooltip.js +3 -25
  397. package/esm/core/Tree/Tree.js +54 -76
  398. package/esm/core/Tree/TreeContext.js +3 -3
  399. package/esm/core/Tree/TreeNode.js +16 -38
  400. package/esm/core/Tree/TreeNodeExpander.js +3 -25
  401. package/esm/core/Typography/Anchor/Anchor.js +2 -25
  402. package/esm/core/Typography/Blockquote/Blockquote.js +3 -25
  403. package/esm/core/Typography/Body/Body.js +4 -26
  404. package/esm/core/Typography/Code/Code.js +3 -25
  405. package/esm/core/Typography/Headline/Headline.js +3 -25
  406. package/esm/core/Typography/Kbd/Kbd.js +4 -26
  407. package/esm/core/Typography/Leading/Leading.js +3 -25
  408. package/esm/core/Typography/Small/Small.js +3 -25
  409. package/esm/core/Typography/Subheading/Subheading.js +3 -25
  410. package/esm/core/Typography/Text/Text.js +8 -31
  411. package/esm/core/Typography/Title/Title.js +3 -25
  412. package/esm/core/index.d.ts +2 -2
  413. package/esm/core/index.js +1 -1
  414. package/esm/core/utils/color/ColorValue.js +145 -156
  415. package/esm/core/utils/components/FocusTrap.js +11 -11
  416. package/esm/core/utils/components/InputContainer.js +10 -34
  417. package/esm/core/utils/components/MiddleTextTruncation.js +13 -29
  418. package/esm/core/utils/components/Popover.d.ts +1 -1
  419. package/esm/core/utils/components/Popover.js +54 -57
  420. package/esm/core/utils/components/Resizer.js +49 -49
  421. package/esm/core/utils/components/VirtualScroll.js +69 -86
  422. package/esm/core/utils/components/VisuallyHidden.js +3 -25
  423. package/esm/core/utils/components/WithCSSTransition.d.ts +2 -2
  424. package/esm/core/utils/components/WithCSSTransition.js +16 -38
  425. package/esm/core/utils/functions/colors.js +8 -8
  426. package/esm/core/utils/functions/dom.js +7 -8
  427. package/esm/core/utils/functions/focusable.js +11 -15
  428. package/esm/core/utils/functions/numbers.js +5 -6
  429. package/esm/core/utils/functions/styles.js +3 -3
  430. package/esm/core/utils/hooks/useContainerWidth.js +6 -10
  431. package/esm/core/utils/hooks/useDragAndDrop.js +28 -29
  432. package/esm/core/utils/hooks/useEventListener.js +6 -6
  433. package/esm/core/utils/hooks/useIntersection.js +7 -10
  434. package/esm/core/utils/hooks/useIsomorphicLayoutEffect.js +1 -1
  435. package/esm/core/utils/hooks/useLatestRef.js +3 -3
  436. package/esm/core/utils/hooks/useMediaQuery.js +6 -9
  437. package/esm/core/utils/hooks/useMergedRefs.js +5 -22
  438. package/esm/core/utils/hooks/useOverflow.js +23 -30
  439. package/esm/core/utils/hooks/useResizeObserver.js +4 -7
  440. package/esm/core/utils/hooks/useSafeContext.js +3 -3
  441. package/esm/core/utils/hooks/useTheme.js +14 -16
  442. package/esm/core/utils/icons/StatusIconMap.js +5 -16
  443. package/esm/core/utils/icons/SvgCalendar.js +2 -13
  444. package/esm/core/utils/icons/SvgCaretDownSmall.js +2 -13
  445. package/esm/core/utils/icons/SvgCaretRightSmall.js +2 -13
  446. package/esm/core/utils/icons/SvgCaretUpSmall.js +2 -13
  447. package/esm/core/utils/icons/SvgCheckmark.js +2 -13
  448. package/esm/core/utils/icons/SvgCheckmarkSmall.js +2 -13
  449. package/esm/core/utils/icons/SvgChevronLeft.js +2 -13
  450. package/esm/core/utils/icons/SvgChevronLeftDouble.js +2 -13
  451. package/esm/core/utils/icons/SvgChevronRight.js +2 -13
  452. package/esm/core/utils/icons/SvgChevronRightDouble.js +2 -13
  453. package/esm/core/utils/icons/SvgClose.js +2 -13
  454. package/esm/core/utils/icons/SvgCloseSmall.js +2 -13
  455. package/esm/core/utils/icons/SvgColumnManager.js +2 -13
  456. package/esm/core/utils/icons/SvgFilter.js +2 -13
  457. package/esm/core/utils/icons/SvgFilterHollow.js +2 -13
  458. package/esm/core/utils/icons/SvgImportantSmall.js +2 -13
  459. package/esm/core/utils/icons/SvgInfoCircular.js +2 -13
  460. package/esm/core/utils/icons/SvgMore.js +2 -13
  461. package/esm/core/utils/icons/SvgMoreVertical.js +2 -13
  462. package/esm/core/utils/icons/SvgNew.js +2 -13
  463. package/esm/core/utils/icons/SvgSmileyHappy.js +2 -13
  464. package/esm/core/utils/icons/SvgSortDown.js +2 -13
  465. package/esm/core/utils/icons/SvgSortUp.js +2 -13
  466. package/esm/core/utils/icons/SvgStatusError.js +2 -13
  467. package/esm/core/utils/icons/SvgStatusSuccess.js +2 -13
  468. package/esm/core/utils/icons/SvgStatusWarning.js +2 -13
  469. package/esm/core/utils/icons/SvgSwap.js +2 -13
  470. package/esm/core/utils/icons/SvgUpload.js +2 -13
  471. package/esm/types/react-table-config.d.ts +6 -2
  472. package/package.json +4 -4
  473. package/cjs/core/ErrorPage/ErrorPage.js +0 -168
  474. package/esm/core/ErrorPage/ErrorPage.js +0 -161
@@ -1,26 +1,4 @@
1
1
  "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __rest = (this && this.__rest) || function (s, e) {
14
- var t = {};
15
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
16
- t[p] = s[p];
17
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
18
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20
- t[p[i]] = s[p[i]];
21
- }
22
- return t;
23
- };
24
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
25
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
26
4
  };
@@ -30,11 +8,10 @@ exports.useVirtualization = exports.VirtualScroll = void 0;
30
8
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
31
9
  * See LICENSE.md in the project root for license terms and full copyright notice.
32
10
  *--------------------------------------------------------------------------------------------*/
33
- var react_1 = __importDefault(require("react"));
34
- var hooks_1 = require("../hooks");
35
- var useResizeObserver_1 = require("../hooks/useResizeObserver");
36
- var getScrollableParent = function (element, ownerDocument) {
37
- if (ownerDocument === void 0) { ownerDocument = document; }
11
+ const react_1 = __importDefault(require("react"));
12
+ const hooks_1 = require("../hooks");
13
+ const useResizeObserver_1 = require("../hooks/useResizeObserver");
14
+ const getScrollableParent = (element, ownerDocument = document) => {
38
15
  if (!element || element === ownerDocument.body) {
39
16
  return ownerDocument.body;
40
17
  }
@@ -42,38 +19,38 @@ var getScrollableParent = function (element, ownerDocument) {
42
19
  ? element
43
20
  : getScrollableParent(element.parentElement, ownerDocument);
44
21
  };
45
- var isElementScrollable = function (element) {
22
+ const isElementScrollable = (element) => {
46
23
  return /(auto|scroll|overlay)/.test(getElementStyle(element, 'overflow') +
47
24
  getElementStyle(element, 'overflow-y'));
48
25
  };
49
- var getElementStyle = function (element, prop) {
26
+ const getElementStyle = (element, prop) => {
50
27
  return getComputedStyle(element, null).getPropertyValue(prop);
51
28
  };
52
- var getElementHeight = function (element) {
29
+ const getElementHeight = (element) => {
53
30
  var _a;
54
31
  return (_a = element === null || element === void 0 ? void 0 : element.getBoundingClientRect().height) !== null && _a !== void 0 ? _a : 0;
55
32
  };
56
- var getElementHeightWithMargins = function (element) {
33
+ const getElementHeightWithMargins = (element) => {
57
34
  if (!element) {
58
35
  return undefined;
59
36
  }
60
- var margin = parseFloat(getElementStyle(element, 'margin-top')) +
37
+ const margin = parseFloat(getElementStyle(element, 'margin-top')) +
61
38
  parseFloat(getElementStyle(element, 'margin-bottom'));
62
39
  return getElementHeight(element) + (isNaN(margin) ? 0 : margin);
63
40
  };
64
- var getNumberOfNodesInHeight = function (childHeight, totalHeight) {
41
+ const getNumberOfNodesInHeight = (childHeight, totalHeight) => {
65
42
  if (!childHeight) {
66
43
  return 0;
67
44
  }
68
45
  return Math.floor(totalHeight / childHeight);
69
46
  };
70
- var getTranslateValue = function (childHeight, startIndex) {
47
+ const getTranslateValue = (childHeight, startIndex) => {
71
48
  if (startIndex > 0) {
72
49
  return childHeight * startIndex;
73
50
  }
74
51
  return 0;
75
52
  };
76
- var getVisibleNodeCount = function (childHeight, startIndex, childrenLength, scrollContainer) {
53
+ const getVisibleNodeCount = (childHeight, startIndex, childrenLength, scrollContainer) => {
77
54
  return Math.min(childrenLength - startIndex, getNumberOfNodesInHeight(childHeight, getElementHeight(scrollContainer)));
78
55
  };
79
56
  /**
@@ -97,10 +74,10 @@ var getVisibleNodeCount = function (childHeight, startIndex, childrenLength, scr
97
74
  * />
98
75
  * @private
99
76
  */
100
- exports.VirtualScroll = react_1.default.forwardRef(function (props, ref) {
101
- var _a = (0, exports.useVirtualization)(props), innerProps = _a.innerProps, outerProps = _a.outerProps, visibleChildren = _a.visibleChildren;
102
- return (react_1.default.createElement("div", __assign({}, outerProps, { ref: ref }),
103
- react_1.default.createElement("div", __assign({}, innerProps), visibleChildren)));
77
+ exports.VirtualScroll = react_1.default.forwardRef((props, ref) => {
78
+ const { innerProps, outerProps, visibleChildren } = (0, exports.useVirtualization)(props);
79
+ return (react_1.default.createElement("div", { ...outerProps, ref: ref },
80
+ react_1.default.createElement("div", { ...innerProps }, visibleChildren)));
104
81
  });
105
82
  /**
106
83
  * `useVirtualization` is used for efficiently rendering only the visible rows from a large list.
@@ -122,49 +99,48 @@ exports.VirtualScroll = react_1.default.forwardRef(function (props, ref) {
122
99
  * );
123
100
  * @private
124
101
  */
125
- var useVirtualization = function (props) {
126
- var itemsLength = props.itemsLength, itemRenderer = props.itemRenderer, _a = props.bufferSize, bufferSize = _a === void 0 ? 10 : _a, scrollToIndex = props.scrollToIndex, style = props.style, rest = __rest(props, ["itemsLength", "itemRenderer", "bufferSize", "scrollToIndex", "style"]);
127
- var _b = react_1.default.useState(0), startNode = _b[0], setStartNode = _b[1];
128
- var _c = react_1.default.useState(0), visibleNodeCount = _c[0], setVisibleNodeCount = _c[1];
129
- var scrollContainer = react_1.default.useRef();
130
- var parentRef = react_1.default.useRef(null);
131
- var childHeight = react_1.default.useRef({ first: 0, middle: 0, last: 0 });
132
- var onScrollRef = react_1.default.useRef();
102
+ const useVirtualization = (props) => {
103
+ const { itemsLength, itemRenderer, bufferSize = 10, scrollToIndex, style, ...rest } = props;
104
+ const [startNode, setStartNode] = react_1.default.useState(0);
105
+ const [visibleNodeCount, setVisibleNodeCount] = react_1.default.useState(0);
106
+ const scrollContainer = react_1.default.useRef();
107
+ const parentRef = react_1.default.useRef(null);
108
+ const childHeight = react_1.default.useRef({ first: 0, middle: 0, last: 0 });
109
+ const onScrollRef = react_1.default.useRef();
133
110
  // Used only to recalculate on resize
134
- var _d = react_1.default.useState(0), scrollContainerHeight = _d[0], setScrollContainerHeight = _d[1];
135
- var visibleIndex = react_1.default.useRef({ start: 0, end: 0 });
111
+ const [scrollContainerHeight, setScrollContainerHeight] = react_1.default.useState(0);
112
+ const visibleIndex = react_1.default.useRef({ start: 0, end: 0 });
136
113
  // Used to mark when scroll container has height (updated by resize observer)
137
114
  // because before that calculations are not right
138
- var _e = react_1.default.useState(false), isMounted = _e[0], setIsMounted = _e[1];
139
- var getScrollableContainer = function () {
115
+ const [isMounted, setIsMounted] = react_1.default.useState(false);
116
+ const getScrollableContainer = () => {
140
117
  var _a, _b;
141
118
  return (_a = scrollContainer.current) !== null && _a !== void 0 ? _a : (_b = parentRef.current) === null || _b === void 0 ? void 0 : _b.ownerDocument.scrollingElement;
142
119
  };
143
- var visibleChildren = react_1.default.useMemo(function () {
144
- var arr = [];
145
- var endIndex = Math.min(itemsLength, startNode + visibleNodeCount + bufferSize * 2);
146
- for (var i = startNode; i < endIndex; i++) {
120
+ const visibleChildren = react_1.default.useMemo(() => {
121
+ const arr = [];
122
+ const endIndex = Math.min(itemsLength, startNode + visibleNodeCount + bufferSize * 2);
123
+ for (let i = startNode; i < endIndex; i++) {
147
124
  arr.push(itemRenderer(i));
148
125
  }
149
126
  return arr;
150
127
  }, [itemsLength, itemRenderer, bufferSize, startNode, visibleNodeCount]);
151
- var updateChildHeight = react_1.default.useCallback(function () {
128
+ const updateChildHeight = react_1.default.useCallback(() => {
152
129
  var _a, _b, _c, _d, _e, _f;
153
130
  if (!parentRef.current || !visibleChildren.length) {
154
131
  return;
155
132
  }
156
- var firstChild = parentRef.current.children.item(0);
157
- var secondChild = parentRef.current.children.item(1);
158
- var lastChild = parentRef.current.children.item(parentRef.current.children.length - 1);
159
- var firstChildHeight = Number((_b = (_a = getElementHeightWithMargins(firstChild)) === null || _a === void 0 ? void 0 : _a.toFixed(2)) !== null && _b !== void 0 ? _b : 0);
133
+ const firstChild = parentRef.current.children.item(0);
134
+ const secondChild = parentRef.current.children.item(1);
135
+ const lastChild = parentRef.current.children.item(parentRef.current.children.length - 1);
136
+ const firstChildHeight = Number((_b = (_a = getElementHeightWithMargins(firstChild)) === null || _a === void 0 ? void 0 : _a.toFixed(2)) !== null && _b !== void 0 ? _b : 0);
160
137
  childHeight.current = {
161
138
  first: firstChildHeight,
162
139
  middle: Number((_d = (_c = getElementHeightWithMargins(secondChild)) === null || _c === void 0 ? void 0 : _c.toFixed(2)) !== null && _d !== void 0 ? _d : firstChildHeight),
163
140
  last: Number((_f = (_e = getElementHeightWithMargins(lastChild)) === null || _e === void 0 ? void 0 : _e.toFixed(2)) !== null && _f !== void 0 ? _f : firstChildHeight),
164
141
  };
165
142
  }, [visibleChildren.length]);
166
- var onResize = react_1.default.useCallback(function (_a) {
167
- var height = _a.height;
143
+ const onResize = react_1.default.useCallback(({ height }) => {
168
144
  // Initial value returned by resize observer is 0
169
145
  // So wait for the next one
170
146
  if (height > 0) {
@@ -173,44 +149,44 @@ var useVirtualization = function (props) {
173
149
  setScrollContainerHeight(height);
174
150
  updateChildHeight();
175
151
  }, [updateChildHeight]);
176
- var _f = (0, useResizeObserver_1.useResizeObserver)(onResize), resizeRef = _f[0], resizeObserver = _f[1];
152
+ const [resizeRef, resizeObserver] = (0, useResizeObserver_1.useResizeObserver)(onResize);
177
153
  // Find scrollable parent
178
154
  // Needed only on init
179
- react_1.default.useLayoutEffect(function () {
155
+ react_1.default.useLayoutEffect(() => {
180
156
  var _a;
181
- var scrollableParent = getScrollableParent(parentRef.current, (_a = parentRef.current) === null || _a === void 0 ? void 0 : _a.ownerDocument);
157
+ const scrollableParent = getScrollableParent(parentRef.current, (_a = parentRef.current) === null || _a === void 0 ? void 0 : _a.ownerDocument);
182
158
  scrollContainer.current = scrollableParent;
183
159
  resizeRef(scrollableParent);
184
160
  }, [resizeRef]);
185
161
  // Stop watching resize, when virtual scroll is unmounted
186
- react_1.default.useLayoutEffect(function () {
187
- return function () { return resizeObserver === null || resizeObserver === void 0 ? void 0 : resizeObserver.disconnect(); };
162
+ react_1.default.useLayoutEffect(() => {
163
+ return () => resizeObserver === null || resizeObserver === void 0 ? void 0 : resizeObserver.disconnect();
188
164
  }, [resizeObserver]);
189
165
  // Get child height when children available
190
- react_1.default.useLayoutEffect(function () { return updateChildHeight(); }, [updateChildHeight]);
191
- var updateVirtualScroll = react_1.default.useCallback(function () {
192
- var scrollableContainer = getScrollableContainer();
166
+ react_1.default.useLayoutEffect(() => updateChildHeight(), [updateChildHeight]);
167
+ const updateVirtualScroll = react_1.default.useCallback(() => {
168
+ const scrollableContainer = getScrollableContainer();
193
169
  if (!scrollableContainer) {
194
170
  return;
195
171
  }
196
- var start = getNumberOfNodesInHeight(childHeight.current.middle, Math.round(scrollableContainer.scrollTop));
197
- var visibleNodes = getVisibleNodeCount(childHeight.current.middle, start, itemsLength, scrollableContainer);
172
+ const start = getNumberOfNodesInHeight(childHeight.current.middle, Math.round(scrollableContainer.scrollTop));
173
+ const visibleNodes = getVisibleNodeCount(childHeight.current.middle, start, itemsLength, scrollableContainer);
198
174
  // If there are less items at the end than buffer size
199
175
  // show more items at the start.
200
176
  // Have boundaries for edge cases, e.g. 1 item length
201
- var startIndex = Math.min(Math.max(0, start - bufferSize), Math.max(0, itemsLength - bufferSize * 2 - visibleNodes));
177
+ const startIndex = Math.min(Math.max(0, start - bufferSize), Math.max(0, itemsLength - bufferSize * 2 - visibleNodes));
202
178
  visibleIndex.current = { start: start, end: start + visibleNodes };
203
179
  setStartNode(startIndex);
204
180
  setVisibleNodeCount(visibleNodes);
205
181
  if (!parentRef.current) {
206
182
  return;
207
183
  }
208
- parentRef.current.style.transform = "translateY(".concat(getTranslateValue(childHeight.current.middle, startIndex), "px)");
184
+ parentRef.current.style.transform = `translateY(${getTranslateValue(childHeight.current.middle, startIndex)}px)`;
209
185
  }, [bufferSize, itemsLength]);
210
- var onScroll = react_1.default.useCallback(function () {
186
+ const onScroll = react_1.default.useCallback(() => {
211
187
  updateVirtualScroll();
212
188
  }, [updateVirtualScroll]);
213
- var removeScrollListener = react_1.default.useCallback(function () {
189
+ const removeScrollListener = react_1.default.useCallback(() => {
214
190
  var _a, _b;
215
191
  if (!onScrollRef.current) {
216
192
  return;
@@ -221,7 +197,7 @@ var useVirtualization = function (props) {
221
197
  : scrollContainer.current.removeEventListener('scroll', onScrollRef.current);
222
198
  }, []);
223
199
  // Add event listener to the scrollable container.
224
- react_1.default.useLayoutEffect(function () {
200
+ react_1.default.useLayoutEffect(() => {
225
201
  var _a, _b;
226
202
  removeScrollListener();
227
203
  onScrollRef.current = onScroll;
@@ -234,18 +210,18 @@ var useVirtualization = function (props) {
234
210
  }
235
211
  return removeScrollListener;
236
212
  }, [onScroll, removeScrollListener]);
237
- react_1.default.useLayoutEffect(function () {
213
+ react_1.default.useLayoutEffect(() => {
238
214
  if (!isMounted) {
239
215
  return;
240
216
  }
241
- var scrollableContainer = getScrollableContainer();
217
+ const scrollableContainer = getScrollableContainer();
242
218
  if (!scrollableContainer || scrollToIndex == null) {
243
219
  return;
244
220
  }
245
221
  // if `scrollToIndex` is not visible, scroll to it
246
222
  if (scrollToIndex > visibleIndex.current.end ||
247
223
  scrollToIndex < visibleIndex.current.start) {
248
- var indexDiff = scrollToIndex > visibleIndex.current.end
224
+ const indexDiff = scrollToIndex > visibleIndex.current.end
249
225
  ? scrollToIndex - visibleIndex.current.end
250
226
  : scrollToIndex - visibleIndex.current.start;
251
227
  if (scrollToIndex === 0) {
@@ -264,8 +240,8 @@ var useVirtualization = function (props) {
264
240
  // if `scrollToIndex` is the first visible node
265
241
  // ensure it is fully visible
266
242
  if (scrollToIndex === visibleIndex.current.start) {
267
- var roundedScrollTop = Math.round(scrollableContainer.scrollTop);
268
- var diff = roundedScrollTop % childHeight.current.middle;
243
+ const roundedScrollTop = Math.round(scrollableContainer.scrollTop);
244
+ const diff = roundedScrollTop % childHeight.current.middle;
269
245
  diff > 0 &&
270
246
  scrollableContainer.scrollTo({
271
247
  top: roundedScrollTop - diff,
@@ -275,10 +251,10 @@ var useVirtualization = function (props) {
275
251
  // if `scrollToIndex` is the last visible node
276
252
  // ensure it is fully visible
277
253
  if (scrollToIndex === visibleIndex.current.end) {
278
- var diff = (scrollableContainer.offsetHeight - childHeight.current.first) %
254
+ const diff = (scrollableContainer.offsetHeight - childHeight.current.first) %
279
255
  childHeight.current.middle;
280
- var roundedScrollTop = Math.ceil(scrollableContainer.scrollTop);
281
- var scrollTopMod = roundedScrollTop % childHeight.current.middle;
256
+ const roundedScrollTop = Math.ceil(scrollableContainer.scrollTop);
257
+ const scrollTopMod = roundedScrollTop % childHeight.current.middle;
282
258
  if (diff > 0 && scrollTopMod === 0) {
283
259
  scrollableContainer.scrollTo({
284
260
  top: roundedScrollTop + childHeight.current.middle - diff,
@@ -286,23 +262,30 @@ var useVirtualization = function (props) {
286
262
  }
287
263
  }
288
264
  }, [scrollToIndex, isMounted]);
289
- react_1.default.useLayoutEffect(function () {
265
+ react_1.default.useLayoutEffect(() => {
290
266
  if (!scrollContainerHeight) {
291
267
  return;
292
268
  }
293
269
  updateVirtualScroll();
294
270
  }, [scrollContainerHeight, updateVirtualScroll]);
295
271
  return {
296
- outerProps: __assign({ style: __assign({ minHeight: itemsLength > 1
272
+ outerProps: {
273
+ style: {
274
+ minHeight: itemsLength > 1
297
275
  ? Math.max(itemsLength - 2, 0) * childHeight.current.middle +
298
276
  childHeight.current.first +
299
277
  childHeight.current.last
300
- : childHeight.current.middle, minWidth: '100%' }, style) }, rest),
278
+ : childHeight.current.middle,
279
+ minWidth: '100%',
280
+ ...style,
281
+ },
282
+ ...rest,
283
+ },
301
284
  innerProps: {
302
285
  style: { willChange: 'transform' },
303
286
  ref: (0, hooks_1.mergeRefs)(parentRef), // convert object ref to callback ref for better types
304
287
  },
305
- visibleChildren: visibleChildren,
288
+ visibleChildren,
306
289
  };
307
290
  };
308
291
  exports.useVirtualization = useVirtualization;
@@ -1,26 +1,4 @@
1
1
  "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __rest = (this && this.__rest) || function (s, e) {
14
- var t = {};
15
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
16
- t[p] = s[p];
17
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
18
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20
- t[p[i]] = s[p[i]];
21
- }
22
- return t;
23
- };
24
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
25
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
26
4
  };
@@ -30,16 +8,16 @@ exports.VisuallyHidden = void 0;
30
8
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
31
9
  * See LICENSE.md in the project root for license terms and full copyright notice.
32
10
  *--------------------------------------------------------------------------------------------*/
33
- var react_1 = __importDefault(require("react"));
34
- var classnames_1 = __importDefault(require("classnames"));
35
- var hooks_1 = require("../hooks");
11
+ const react_1 = __importDefault(require("react"));
12
+ const classnames_1 = __importDefault(require("classnames"));
13
+ const hooks_1 = require("../hooks");
36
14
  require("@itwin/itwinui-css/css/utils.css");
37
15
  /**
38
16
  * Hides content visually but is still accessible to screen readers.
39
17
  */
40
- exports.VisuallyHidden = react_1.default.forwardRef(function (props, ref) {
41
- var className = props.className, rest = __rest(props, ["className"]);
18
+ exports.VisuallyHidden = react_1.default.forwardRef((props, ref) => {
19
+ const { className, ...rest } = props;
42
20
  (0, hooks_1.useTheme)();
43
- return (react_1.default.createElement("div", __assign({ className: (0, classnames_1.default)('iui-visually-hidden', className), ref: ref }, rest)));
21
+ return (react_1.default.createElement("div", { className: (0, classnames_1.default)('iui-visually-hidden', className), ref: ref, ...rest }));
44
22
  });
45
23
  exports.default = exports.VisuallyHidden;
@@ -1,7 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  import { CSSTransitionProps } from 'react-transition-group/CSSTransition';
3
- export declare const WithCSSTransition: (props: Partial<CSSTransitionProps<undefined>> & {
3
+ export declare const WithCSSTransition: (props: Partial<CSSTransitionProps> & {
4
4
  children: JSX.Element;
5
- dimension?: "width" | "height" | undefined;
5
+ dimension?: 'height' | 'width';
6
6
  }) => JSX.Element;
7
7
  export default WithCSSTransition;
@@ -1,26 +1,4 @@
1
1
  "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __rest = (this && this.__rest) || function (s, e) {
14
- var t = {};
15
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
16
- t[p] = s[p];
17
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
18
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20
- t[p[i]] = s[p[i]];
21
- }
22
- return t;
23
- };
24
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
25
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
26
4
  };
@@ -30,27 +8,27 @@ exports.WithCSSTransition = void 0;
30
8
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
31
9
  * See LICENSE.md in the project root for license terms and full copyright notice.
32
10
  *--------------------------------------------------------------------------------------------*/
33
- var react_1 = __importDefault(require("react"));
34
- var react_transition_group_1 = require("react-transition-group");
35
- var WithCSSTransition = function (props) {
36
- var visible = props.in, _a = props.dimension, dimension = _a === void 0 ? 'height' : _a, children = props.children, rest = __rest(props, ["in", "dimension", "children"]);
37
- var expandedSize = react_1.default.useRef(0);
38
- var dimensionCamelCase = dimension === 'height' ? 'Height' : 'Width';
39
- return (react_1.default.createElement(react_transition_group_1.CSSTransition, __assign({ in: visible, timeout: 200, unmountOnExit: true, onEnter: function (node) {
40
- node.style["min".concat(dimensionCamelCase)] = 'initial';
11
+ const react_1 = __importDefault(require("react"));
12
+ const react_transition_group_1 = require("react-transition-group");
13
+ const WithCSSTransition = (props) => {
14
+ const { in: visible, dimension = 'height', children, ...rest } = props;
15
+ const expandedSize = react_1.default.useRef(0);
16
+ const dimensionCamelCase = dimension === 'height' ? 'Height' : 'Width';
17
+ return (react_1.default.createElement(react_transition_group_1.CSSTransition, { in: visible, timeout: 200, unmountOnExit: true, onEnter: (node) => {
18
+ node.style[`min${dimensionCamelCase}`] = 'initial';
41
19
  node.style[dimension] = '0px';
42
- }, onEntering: function (node) {
43
- node.style[dimension] = "".concat(expandedSize.current, "px");
44
- }, onEntered: function (node) {
45
- node.style["min".concat(dimensionCamelCase)] = '';
20
+ }, onEntering: (node) => {
21
+ node.style[dimension] = `${expandedSize.current}px`;
22
+ }, onEntered: (node) => {
23
+ node.style[`min${dimensionCamelCase}`] = '';
46
24
  node.style[dimension] = '';
47
- }, onExit: function (node) {
48
- node.style[dimension] = "".concat(expandedSize.current, "px");
49
- }, onExiting: function (node) {
50
- node.style["min".concat(dimensionCamelCase)] = 'initial';
25
+ }, onExit: (node) => {
26
+ node.style[dimension] = `${expandedSize.current}px`;
27
+ }, onExiting: (node) => {
28
+ node.style[`min${dimensionCamelCase}`] = 'initial';
51
29
  node.style[dimension] = '0px';
52
- }, classNames: 'iui' }, rest), react_1.default.cloneElement(children, {
53
- ref: function (el) {
30
+ }, classNames: 'iui', ...rest }, react_1.default.cloneElement(children, {
31
+ ref: (el) => {
54
32
  if (el) {
55
33
  expandedSize.current = el.getBoundingClientRect()[dimension];
56
34
  }
@@ -19,11 +19,11 @@ exports.SoftBackgrounds = {
19
19
  oak: 'var(--iui-color-background-oak)',
20
20
  };
21
21
  /** Returns true if a string value is one of the SoftBackgrounds keys */
22
- var isSoftBackground = function (value) {
22
+ const isSoftBackground = (value) => {
23
23
  return Object.keys(exports.SoftBackgrounds).includes(value);
24
24
  };
25
25
  exports.isSoftBackground = isSoftBackground;
26
- var USER_COLORS = [
26
+ const USER_COLORS = [
27
27
  '#6AB9EC',
28
28
  '#B1C854',
29
29
  '#F7706C',
@@ -40,11 +40,11 @@ var USER_COLORS = [
40
40
  * Generate color from user name or email.
41
41
  * Recommended to use for `backgroundColor` in `Avatar` component.
42
42
  */
43
- var getUserColor = function (emailOrName) {
44
- var normalizedString = emailOrName.trim().toLowerCase();
45
- var hash = 0;
46
- for (var i = 0; i < normalizedString.length; i++) {
47
- var charCode = normalizedString.charCodeAt(i);
43
+ const getUserColor = (emailOrName) => {
44
+ const normalizedString = emailOrName.trim().toLowerCase();
45
+ let hash = 0;
46
+ for (let i = 0; i < normalizedString.length; i++) {
47
+ const charCode = normalizedString.charCodeAt(i);
48
48
  hash = (hash + charCode) % USER_COLORS.length;
49
49
  }
50
50
  return USER_COLORS[hash];
@@ -12,15 +12,14 @@ exports.getWindow = exports.getDocument = exports.getContainer = void 0;
12
12
  * @param containerId id of the container to find or create
13
13
  * @param ownerDocument Can be changed if the container should be in a different document (e.g. in popup).
14
14
  */
15
- var getContainer = function (containerId, ownerDocument) {
16
- var _a;
17
- if (ownerDocument === void 0) { ownerDocument = (0, exports.getDocument)(); }
18
- var container = (_a = ownerDocument === null || ownerDocument === void 0 ? void 0 : ownerDocument.getElementById(containerId)) !== null && _a !== void 0 ? _a : undefined;
15
+ const getContainer = (containerId, ownerDocument = (0, exports.getDocument)()) => {
16
+ var _a, _b;
17
+ let container = (_a = ownerDocument === null || ownerDocument === void 0 ? void 0 : ownerDocument.getElementById(containerId)) !== null && _a !== void 0 ? _a : undefined;
19
18
  if (container == null && !!ownerDocument) {
20
19
  container = ownerDocument.createElement('div');
21
20
  container.setAttribute('id', containerId);
22
- container.innerHTML = "<style>:where(.iui-dialog-wrapper) { z-index: 999; }</style>"; // TODO: move to css
23
- ownerDocument.body.appendChild(container);
21
+ const root = (_b = ownerDocument.querySelector('.iui-root')) !== null && _b !== void 0 ? _b : ownerDocument.body;
22
+ root.appendChild(container);
24
23
  }
25
24
  return container;
26
25
  };
@@ -29,7 +28,7 @@ exports.getContainer = getContainer;
29
28
  * Get document if it is defined.
30
29
  * Used to support SSR/SSG applications.
31
30
  */
32
- var getDocument = function () {
31
+ const getDocument = () => {
33
32
  return typeof document === 'undefined' ? undefined : document;
34
33
  };
35
34
  exports.getDocument = getDocument;
@@ -37,7 +36,7 @@ exports.getDocument = getDocument;
37
36
  * Get window if it is defined.
38
37
  * Used to support SSR/SSG applications.
39
38
  */
40
- var getWindow = function () {
39
+ const getWindow = () => {
41
40
  return typeof window === 'undefined' ? undefined : window;
42
41
  };
43
42
  exports.getWindow = getWindow;
@@ -5,34 +5,30 @@
5
5
  *--------------------------------------------------------------------------------------------*/
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.getFocusableElements = exports.getTabbableElements = void 0;
8
- var tabbableElementsSelector = '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"])';
9
9
  /**
10
10
  * Return array of tabbable elements in the container.
11
11
  */
12
- var getTabbableElements = function (container) {
12
+ const getTabbableElements = (container) => {
13
13
  if (!container) {
14
14
  return [];
15
15
  }
16
- var elements = container.querySelectorAll(tabbableElementsSelector);
17
- return Array.from(elements).filter(function (el) {
18
- return !el.hasAttribute('disabled') &&
19
- !el.classList.contains('iui-disabled') &&
20
- el.getAttribute('aria-disabled') !== 'true';
21
- });
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');
22
20
  };
23
21
  exports.getTabbableElements = getTabbableElements;
24
22
  /**
25
23
  * Return array of focusable elements in the container.
26
24
  */
27
- var getFocusableElements = function (container) {
25
+ const getFocusableElements = (container) => {
28
26
  if (!container) {
29
27
  return [];
30
28
  }
31
- var elements = container.querySelectorAll("".concat(tabbableElementsSelector, ", [tabindex=\"-1\"]"));
32
- return Array.from(elements).filter(function (el) {
33
- return !el.hasAttribute('disabled') &&
34
- !el.classList.contains('iui-disabled') &&
35
- el.getAttribute('aria-disabled') !== 'true';
36
- });
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');
37
33
  };
38
34
  exports.getFocusableElements = getFocusableElements;
@@ -8,18 +8,17 @@ exports.getRandomValue = exports.getBoundedValue = void 0;
8
8
  /**
9
9
  * Return input value bounded by specified range.
10
10
  */
11
- var getBoundedValue = function (val, min, max) {
11
+ const getBoundedValue = (val, min, max) => {
12
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
- var getRandomValue = function (length) {
19
- if (length === void 0) { length = 21; }
20
- var alphabet = "_-0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
21
- var id = '';
22
- for (var i = 0; i < length; i++) {
18
+ const getRandomValue = (length = 21) => {
19
+ const alphabet = `_-0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ`;
20
+ let id = '';
21
+ for (let i = 0; i < length; i++) {
23
22
  id += alphabet[(Math.random() * 64) | 0];
24
23
  }
25
24
  return id;
@@ -10,12 +10,12 @@ exports.getTranslateValues = void 0;
10
10
  * @param element HTML element you want to get translate value of
11
11
  * @returns Translate values in pixels in a array `[translateX, translateY]`
12
12
  */
13
- var getTranslateValues = function (element) {
13
+ const getTranslateValues = (element) => {
14
14
  if (!element) {
15
15
  return [];
16
16
  }
17
- var transformValue = getComputedStyle(element).getPropertyValue('transform');
18
- var matrix = new DOMMatrix(transformValue);
17
+ const transformValue = getComputedStyle(element).getPropertyValue('transform');
18
+ const matrix = new DOMMatrix(transformValue);
19
19
  return [matrix.m41, matrix.m42];
20
20
  };
21
21
  exports.getTranslateValues = getTranslateValues;