@itwin/itwinui-react 2.0.0-dev.1 → 2.0.0-dev.3

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 +1 -1
  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 +1 -1
  472. package/package.json +22 -5
  473. package/cjs/core/ErrorPage/ErrorPage.js +0 -168
  474. package/esm/core/ErrorPage/ErrorPage.js +0 -161
@@ -1,25 +1,3 @@
1
- var __assign = (this && this.__assign) || function () {
2
- __assign = Object.assign || function(t) {
3
- for (var s, i = 1, n = arguments.length; i < n; i++) {
4
- s = arguments[i];
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
- t[p] = s[p];
7
- }
8
- return t;
9
- };
10
- return __assign.apply(this, arguments);
11
- };
12
- var __rest = (this && this.__rest) || function (s, e) {
13
- var t = {};
14
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
15
- t[p] = s[p];
16
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
17
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
19
- t[p[i]] = s[p[i]];
20
- }
21
- return t;
22
- };
23
1
  /*---------------------------------------------------------------------------------------------
24
2
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
25
3
  * See LICENSE.md in the project root for license terms and full copyright notice.
@@ -36,26 +14,24 @@ import { getRandomValue } from '../../utils';
36
14
  * cellRenderer: (props) => <EditableCell {...props} onCellEdit={onCellEditHandler} />,
37
15
  * }
38
16
  */
39
- export var EditableCell = function (props) {
40
- var cellElementProps = props.cellElementProps, cellProps = props.cellProps, onCellEdit = props.onCellEdit, children = props.children, isDisabled = props.isDisabled, rest = __rest(props, ["cellElementProps", "cellProps", "onCellEdit", "children", "isDisabled"]);
17
+ export const EditableCell = (props) => {
18
+ const { cellElementProps, cellProps, onCellEdit, children, isDisabled, ...rest } = props;
41
19
  isDisabled; // To omit and prevent eslint error.
42
- var sanitizeString = function (text) {
20
+ const sanitizeString = (text) => {
43
21
  return text.replace(/(\r\n|\n|\r)+/gm, ' ');
44
22
  };
45
- var _a = React.useState(function () {
46
- return sanitizeString(cellProps.value);
47
- }), value = _a[0], setValue = _a[1];
48
- React.useEffect(function () {
23
+ const [value, setValue] = React.useState(() => sanitizeString(cellProps.value));
24
+ React.useEffect(() => {
49
25
  setValue(sanitizeString(cellProps.value));
50
26
  }, [cellProps.value]);
51
- var _b = React.useState(getRandomValue(10)), key = _b[0], setKey = _b[1];
52
- var _c = React.useState(false), isDirty = _c[0], setIsDirty = _c[1];
53
- return (React.createElement("div", __assign({}, cellElementProps, { contentEditable: true, suppressContentEditableWarning: true, key: key }, rest, { onInput: function (e) {
27
+ const [key, setKey] = React.useState(getRandomValue(10));
28
+ const [isDirty, setIsDirty] = React.useState(false);
29
+ return (React.createElement("div", { ...cellElementProps, contentEditable: true, suppressContentEditableWarning: true, key: key, ...rest, onInput: (e) => {
54
30
  var _a;
55
31
  setValue(sanitizeString(e.target.innerText));
56
32
  setIsDirty(true);
57
33
  (_a = props.onInput) === null || _a === void 0 ? void 0 : _a.call(props, e);
58
- }, onBlur: function (e) {
34
+ }, onBlur: (e) => {
59
35
  var _a;
60
36
  if (isDirty) {
61
37
  onCellEdit(cellProps.column.id, value, cellProps.row.original);
@@ -64,27 +40,27 @@ export var EditableCell = function (props) {
64
40
  // Prevents error when text is cleared.
65
41
  // New key makes React to reattach with the DOM so it won't complain about deleted text node.
66
42
  setKey(getRandomValue(10));
67
- }, onKeyDown: function (e) {
43
+ }, onKeyDown: (e) => {
68
44
  var _a;
69
45
  // Prevents from adding HTML elements (div, br) inside a cell on Enter press
70
46
  if (e.key === 'Enter') {
71
47
  e.preventDefault();
72
48
  }
73
49
  (_a = props.onKeyDown) === null || _a === void 0 ? void 0 : _a.call(props, e);
74
- }, onPaste: function (e) {
50
+ }, onPaste: (e) => {
75
51
  var _a;
76
52
  e.preventDefault();
77
53
  document.execCommand('inserttext', false, sanitizeString(e.clipboardData.getData('text/plain')));
78
54
  (_a = props.onPaste) === null || _a === void 0 ? void 0 : _a.call(props, e);
79
- }, onDrop: function (e) {
55
+ }, onDrop: (e) => {
80
56
  var _a;
81
57
  // Prevents from drag'n'dropping into a cell because it will add unwanted HTML elements
82
58
  e.preventDefault();
83
59
  (_a = props.onDrop) === null || _a === void 0 ? void 0 : _a.call(props, e);
84
- }, onClick: function (e) {
60
+ }, onClick: (e) => {
85
61
  var _a;
86
62
  e.stopPropagation();
87
63
  (_a = props.onClick) === null || _a === void 0 ? void 0 : _a.call(props, e);
88
- } }), children));
64
+ } }, children));
89
65
  };
90
66
  export default EditableCell;
@@ -1,14 +1,3 @@
1
- var __assign = (this && this.__assign) || function () {
2
- __assign = Object.assign || function(t) {
3
- for (var s, i = 1, n = arguments.length; i < n; i++) {
4
- s = arguments[i];
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
- t[p] = s[p];
7
- }
8
- return t;
9
- };
10
- return __assign.apply(this, arguments);
11
- };
12
1
  /*---------------------------------------------------------------------------------------------
13
2
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
14
3
  * See LICENSE.md in the project root for license terms and full copyright notice.
@@ -23,7 +12,7 @@ import { tableResizeStartAction } from '../Table';
23
12
  import { SELECTION_CELL_ID } from './selectionColumn';
24
13
  import { EXPANDER_CELL_ID } from './expanderColumn';
25
14
  import cx from 'classnames';
26
- var ACTION_CELL_ID = 'iui-table-action';
15
+ const ACTION_CELL_ID = 'iui-table-action';
27
16
  /**
28
17
  * Action column that adds column manager to the Table header.
29
18
  * It is recommended to add this column to the end of the Table
@@ -43,8 +32,7 @@ var ACTION_CELL_ID = 'iui-table-action';
43
32
  * ),
44
33
  * },
45
34
  */
46
- export var ActionColumn = function (_a) {
47
- var _b = _a === void 0 ? {} : _a, _c = _b.columnManager, columnManager = _c === void 0 ? false : _c;
35
+ export const ActionColumn = ({ columnManager = false, } = {}) => {
48
36
  return {
49
37
  id: ACTION_CELL_ID,
50
38
  disableResizing: true,
@@ -55,59 +43,53 @@ export var ActionColumn = function (_a) {
55
43
  columnClassName: 'iui-slot',
56
44
  cellClassName: 'iui-slot',
57
45
  disableReordering: true,
58
- Header: function (_a) {
59
- var allColumns = _a.allColumns, dispatch = _a.dispatch, state = _a.state;
60
- var _b = React.useState(false), isOpen = _b[0], setIsOpen = _b[1];
61
- var buttonRef = React.useRef(null);
46
+ Header: ({ allColumns, dispatch, state }) => {
47
+ const [isOpen, setIsOpen] = React.useState(false);
48
+ const buttonRef = React.useRef(null);
62
49
  if (!columnManager) {
63
50
  return null;
64
51
  }
65
- var defaultColumnIds = [
52
+ const defaultColumnIds = [
66
53
  SELECTION_CELL_ID,
67
54
  EXPANDER_CELL_ID,
68
55
  ACTION_CELL_ID,
69
56
  ];
70
- var headerCheckBoxes = function () {
71
- return allColumns
72
- //Filters out any default columns made such as selection and expansion
73
- .filter(function (_a) {
74
- var id = _a.id;
75
- return !defaultColumnIds.includes(id);
76
- })
77
- .map(function (column) {
78
- var checked = column.getToggleHiddenProps().checked;
79
- var onClick = function () {
80
- column.toggleHidden(checked);
81
- // If no column was resized then leave table resize handling to the flexbox
82
- if (Object.keys(state.columnResizing.columnWidths).length === 0) {
83
- return;
84
- }
85
- // Triggers an update to resize the widths of all visible columns
86
- dispatch({ type: tableResizeStartAction });
87
- // If some columns were resized and some columns visibility was enabled, then horizontal scrollbar appears
88
- // and table is scrolled to the very left which means our visibility dropdown menu is not visible.
89
- // So for better UX we need to scroll to that dropdown menu.
90
- queueMicrotask(function () {
91
- var _a;
92
- (_a = buttonRef.current) === null || _a === void 0 ? void 0 : _a.scrollIntoView();
93
- });
94
- };
95
- return (React.createElement(MenuItem, { key: column.id, icon: React.createElement(Checkbox, { checked: checked, disabled: column.disableToggleVisibility, onClick: function (e) { return e.stopPropagation(); }, onChange: onClick, "aria-labelledby": "iui-column-".concat(column.id) }), onClick: onClick, disabled: column.disableToggleVisibility },
96
- React.createElement("div", { id: "iui-column-".concat(column.id) }, column.render('Header'))));
97
- });
98
- };
99
- var dropdownMenuProps = typeof columnManager !== 'boolean'
57
+ const headerCheckBoxes = () => allColumns
58
+ //Filters out any default columns made such as selection and expansion
59
+ .filter(({ id }) => !defaultColumnIds.includes(id))
60
+ .map((column) => {
61
+ const { checked } = column.getToggleHiddenProps();
62
+ const onClick = () => {
63
+ column.toggleHidden(checked);
64
+ // If no column was resized then leave table resize handling to the flexbox
65
+ if (Object.keys(state.columnResizing.columnWidths).length === 0) {
66
+ return;
67
+ }
68
+ // Triggers an update to resize the widths of all visible columns
69
+ dispatch({ type: tableResizeStartAction });
70
+ // If some columns were resized and some columns visibility was enabled, then horizontal scrollbar appears
71
+ // and table is scrolled to the very left which means our visibility dropdown menu is not visible.
72
+ // So for better UX we need to scroll to that dropdown menu.
73
+ queueMicrotask(() => {
74
+ var _a;
75
+ (_a = buttonRef.current) === null || _a === void 0 ? void 0 : _a.scrollIntoView();
76
+ });
77
+ };
78
+ return (React.createElement(MenuItem, { key: column.id, icon: React.createElement(Checkbox, { checked: checked, disabled: column.disableToggleVisibility, onClick: (e) => e.stopPropagation(), onChange: onClick, "aria-labelledby": `iui-column-${column.id}` }), onClick: onClick, disabled: column.disableToggleVisibility },
79
+ React.createElement("div", { id: `iui-column-${column.id}` }, column.render('Header'))));
80
+ });
81
+ const dropdownMenuProps = typeof columnManager !== 'boolean'
100
82
  ? columnManager.dropdownMenuProps
101
83
  : {};
102
- return (React.createElement(DropdownMenu, __assign({}, dropdownMenuProps, { menuItems: headerCheckBoxes, onHide: function (i) {
84
+ return (React.createElement(DropdownMenu, { ...dropdownMenuProps, menuItems: headerCheckBoxes, onHide: (i) => {
103
85
  var _a;
104
86
  setIsOpen(false);
105
87
  (_a = dropdownMenuProps.onHide) === null || _a === void 0 ? void 0 : _a.call(dropdownMenuProps, i);
106
- }, onShow: function (i) {
88
+ }, onShow: (i) => {
107
89
  var _a;
108
90
  setIsOpen(true);
109
91
  (_a = dropdownMenuProps.onShow) === null || _a === void 0 ? void 0 : _a.call(dropdownMenuProps, i);
110
- }, className: cx('iui-scroll', dropdownMenuProps.className) }),
92
+ }, className: cx('iui-scroll', dropdownMenuProps.className) },
111
93
  React.createElement(IconButton, { styleType: 'borderless', isActive: isOpen, ref: buttonRef },
112
94
  React.createElement(SvgColumnManager, null))));
113
95
  },
@@ -20,11 +20,8 @@ export declare const EXPANDER_CELL_ID = "iui-table-expander";
20
20
  * return rowData.name === 'Name2';
21
21
  * }, []);
22
22
  * const columns = useMemo(() => [
23
- * Header: 'Table',
24
- * columns: [
25
- * ExpanderColumn({ subComponent, isDisabled: isExpanderDisabled }),
26
- * // Rest of your columns
27
- * ],
23
+ * ExpanderColumn({ subComponent, isDisabled: isExpanderDisabled }),
24
+ * // Rest of your columns
28
25
  * ], [isExpanderDisabled, subComponent]);
29
26
  */
30
27
  export declare const ExpanderColumn: <T extends Record<string, unknown>>(props?: {
@@ -1,14 +1,3 @@
1
- var __assign = (this && this.__assign) || function () {
2
- __assign = Object.assign || function(t) {
3
- for (var s, i = 1, n = arguments.length; i < n; i++) {
4
- s = arguments[i];
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
- t[p] = s[p];
7
- }
8
- return t;
9
- };
10
- return __assign.apply(this, arguments);
11
- };
12
1
  /*---------------------------------------------------------------------------------------------
13
2
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
14
3
  * See LICENSE.md in the project root for license terms and full copyright notice.
@@ -17,7 +6,7 @@ import React from 'react';
17
6
  import { SvgChevronRight } from '../../utils';
18
7
  import { IconButton } from '../../Buttons';
19
8
  import { DefaultCell } from '../cells';
20
- export var EXPANDER_CELL_ID = 'iui-table-expander';
9
+ export const EXPANDER_CELL_ID = 'iui-table-expander';
21
10
  /**
22
11
  * Expander column that adds sub-content expander column to the Table.
23
12
  * It is recommended to use it as the first column or after selection column.
@@ -37,16 +26,12 @@ export var EXPANDER_CELL_ID = 'iui-table-expander';
37
26
  * return rowData.name === 'Name2';
38
27
  * }, []);
39
28
  * const columns = useMemo(() => [
40
- * Header: 'Table',
41
- * columns: [
42
- * ExpanderColumn({ subComponent, isDisabled: isExpanderDisabled }),
43
- * // Rest of your columns
44
- * ],
29
+ * ExpanderColumn({ subComponent, isDisabled: isExpanderDisabled }),
30
+ * // Rest of your columns
45
31
  * ], [isExpanderDisabled, subComponent]);
46
32
  */
47
- export var ExpanderColumn = function (props) {
48
- if (props === void 0) { props = {}; }
49
- var subComponent = props.subComponent, isDisabled = props.isDisabled;
33
+ export const ExpanderColumn = (props = {}) => {
34
+ const { subComponent, isDisabled } = props;
50
35
  return {
51
36
  id: EXPANDER_CELL_ID,
52
37
  disableResizing: true,
@@ -57,18 +42,18 @@ export var ExpanderColumn = function (props) {
57
42
  maxWidth: 48,
58
43
  columnClassName: 'iui-slot',
59
44
  cellClassName: 'iui-slot',
60
- Cell: function (props) {
61
- var row = props.row;
45
+ Cell: (props) => {
46
+ const { row } = props;
62
47
  if (!(subComponent === null || subComponent === void 0 ? void 0 : subComponent(row))) {
63
48
  return null;
64
49
  }
65
50
  else {
66
- return (React.createElement(IconButton, { className: 'iui-table-row-expander', styleType: 'borderless', size: 'small', onClick: function (e) {
51
+ return (React.createElement(IconButton, { className: 'iui-table-row-expander', styleType: 'borderless', size: 'small', onClick: (e) => {
67
52
  e.stopPropagation();
68
53
  row.toggleRowExpanded();
69
54
  }, disabled: isDisabled === null || isDisabled === void 0 ? void 0 : isDisabled(props.row.original) }, React.createElement(SvgChevronRight, null)));
70
55
  }
71
56
  },
72
- cellRenderer: function (props) { return (React.createElement(DefaultCell, __assign({}, props, { isDisabled: function (rowData) { return !!(isDisabled === null || isDisabled === void 0 ? void 0 : isDisabled(rowData)); } }))); },
57
+ cellRenderer: (props) => (React.createElement(DefaultCell, { ...props, isDisabled: (rowData) => !!(isDisabled === null || isDisabled === void 0 ? void 0 : isDisabled(rowData)) })),
73
58
  };
74
59
  };
@@ -9,11 +9,8 @@ export declare const SELECTION_CELL_ID = "iui-table-checkbox-selector";
9
9
  * return rowData.name === 'Name1';
10
10
  * }, []);
11
11
  * const columns = useMemo(() => [
12
- * Header: 'Table',
13
- * columns: [
14
- * SelectionColumn({ isDisabled: isCheckboxDisabled }),
15
- * // Rest of your columns
16
- * ],
12
+ * SelectionColumn({ isDisabled: isCheckboxDisabled }),
13
+ * // Rest of your columns
17
14
  * ], [isCheckboxDisabled]);
18
15
  */
19
16
  export declare const SelectionColumn: <T extends Record<string, unknown>>(props?: {
@@ -1,14 +1,3 @@
1
- var __assign = (this && this.__assign) || function () {
2
- __assign = Object.assign || function(t) {
3
- for (var s, i = 1, n = arguments.length; i < n; i++) {
4
- s = arguments[i];
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
- t[p] = s[p];
7
- }
8
- return t;
9
- };
10
- return __assign.apply(this, arguments);
11
- };
12
1
  /*---------------------------------------------------------------------------------------------
13
2
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
14
3
  * See LICENSE.md in the project root for license terms and full copyright notice.
@@ -16,7 +5,7 @@ var __assign = (this && this.__assign) || function () {
16
5
  import React from 'react';
17
6
  import { Checkbox } from '../../Checkbox';
18
7
  import { DefaultCell } from '../cells';
19
- export var SELECTION_CELL_ID = 'iui-table-checkbox-selector';
8
+ export const SELECTION_CELL_ID = 'iui-table-checkbox-selector';
20
9
  /**
21
10
  * Selection column that adds selection checkbox column to the Table.
22
11
  * It is recommended to use it as the first column.
@@ -25,16 +14,12 @@ export var SELECTION_CELL_ID = 'iui-table-checkbox-selector';
25
14
  * return rowData.name === 'Name1';
26
15
  * }, []);
27
16
  * const columns = useMemo(() => [
28
- * Header: 'Table',
29
- * columns: [
30
- * SelectionColumn({ isDisabled: isCheckboxDisabled }),
31
- * // Rest of your columns
32
- * ],
17
+ * SelectionColumn({ isDisabled: isCheckboxDisabled }),
18
+ * // Rest of your columns
33
19
  * ], [isCheckboxDisabled]);
34
20
  */
35
- export var SelectionColumn = function (props) {
36
- if (props === void 0) { props = {}; }
37
- var isDisabled = props.isDisabled;
21
+ export const SelectionColumn = (props = {}) => {
22
+ const { isDisabled } = props;
38
23
  return {
39
24
  id: SELECTION_CELL_ID,
40
25
  disableResizing: true,
@@ -45,21 +30,15 @@ export var SelectionColumn = function (props) {
45
30
  maxWidth: 48,
46
31
  columnClassName: 'iui-slot',
47
32
  cellClassName: 'iui-slot',
48
- Header: function (_a) {
49
- var getToggleAllRowsSelectedProps = _a.getToggleAllRowsSelectedProps, toggleAllRowsSelected = _a.toggleAllRowsSelected, rows = _a.rows, initialRows = _a.initialRows, state = _a.state;
50
- var disabled = rows.every(function (row) { return isDisabled === null || isDisabled === void 0 ? void 0 : isDisabled(row.original); });
51
- var checked = initialRows.every(function (row) { return state.selectedRowIds[row.id] || (isDisabled === null || isDisabled === void 0 ? void 0 : isDisabled(row.original)); });
52
- var indeterminate = !checked && Object.keys(state.selectedRowIds).length > 0;
53
- return (React.createElement(Checkbox, __assign({}, getToggleAllRowsSelectedProps(), { style: {}, title: '' // Removes default title that comes from react-table
54
- , checked: checked && !disabled, indeterminate: indeterminate, disabled: disabled, onChange: function () {
55
- return toggleAllRowsSelected(!rows.some(function (row) { return row.isSelected; }));
56
- } })));
57
- },
58
- Cell: function (_a) {
59
- var row = _a.row;
60
- return (React.createElement(Checkbox, __assign({}, row.getToggleRowSelectedProps(), { style: {}, title: '' // Removes default title that comes from react-table
61
- , disabled: isDisabled === null || isDisabled === void 0 ? void 0 : isDisabled(row.original), onClick: function (e) { return e.stopPropagation(); } })));
33
+ Header: ({ getToggleAllRowsSelectedProps, toggleAllRowsSelected, rows, initialRows, state, }) => {
34
+ const disabled = rows.every((row) => isDisabled === null || isDisabled === void 0 ? void 0 : isDisabled(row.original));
35
+ const checked = initialRows.every((row) => state.selectedRowIds[row.id] || (isDisabled === null || isDisabled === void 0 ? void 0 : isDisabled(row.original)));
36
+ const indeterminate = !checked && Object.keys(state.selectedRowIds).length > 0;
37
+ return (React.createElement(Checkbox, { ...getToggleAllRowsSelectedProps(), style: {}, title: '' // Removes default title that comes from react-table
38
+ , checked: checked && !disabled, indeterminate: indeterminate, disabled: disabled, onChange: () => toggleAllRowsSelected(!rows.some((row) => row.isSelected)) }));
62
39
  },
63
- cellRenderer: function (props) { return (React.createElement(DefaultCell, __assign({}, props, { isDisabled: function (rowData) { return !!(isDisabled === null || isDisabled === void 0 ? void 0 : isDisabled(rowData)); } }))); },
40
+ Cell: ({ row }) => (React.createElement(Checkbox, { ...row.getToggleRowSelectedProps(), style: {}, title: '' // Removes default title that comes from react-table
41
+ , disabled: isDisabled === null || isDisabled === void 0 ? void 0 : isDisabled(row.original), onClick: (e) => e.stopPropagation() })),
42
+ cellRenderer: (props) => (React.createElement(DefaultCell, { ...props, isDisabled: (rowData) => !!(isDisabled === null || isDisabled === void 0 ? void 0 : isDisabled(rowData)) })),
64
43
  };
65
44
  };
@@ -20,12 +20,12 @@ import { useTheme } from '../../utils';
20
20
  * />
21
21
  * </BaseFilter>
22
22
  */
23
- export var BaseFilter = function (props) {
24
- var children = props.children, className = props.className, style = props.style, id = props.id;
23
+ export const BaseFilter = (props) => {
24
+ const { children, className, style, id } = props;
25
25
  useTheme();
26
26
  return (React.createElement("div", { className: cx('iui-table-column-filter', className), style: style,
27
27
  // Prevents from triggering sort
28
- onClick: function (e) {
28
+ onClick: (e) => {
29
29
  e.stopPropagation();
30
30
  }, id: id }, children));
31
31
  };
@@ -1,25 +1,3 @@
1
- var __assign = (this && this.__assign) || function () {
2
- __assign = Object.assign || function(t) {
3
- for (var s, i = 1, n = arguments.length; i < n; i++) {
4
- s = arguments[i];
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
- t[p] = s[p];
7
- }
8
- return t;
9
- };
10
- return __assign.apply(this, arguments);
11
- };
12
- var __rest = (this && this.__rest) || function (s, e) {
13
- var t = {};
14
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
15
- t[p] = s[p];
16
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
17
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
19
- t[p[i]] = s[p[i]];
20
- }
21
- return t;
22
- };
23
1
  /*---------------------------------------------------------------------------------------------
24
2
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
25
3
  * See LICENSE.md in the project root for license terms and full copyright notice.
@@ -29,41 +7,41 @@ import { Popover, SvgCalendar } from '../../../utils';
29
7
  import { LabeledInput } from '../../../LabeledInput';
30
8
  import { DatePicker } from '../../../DatePicker';
31
9
  import { IconButton } from '../../../Buttons';
32
- var DatePickerInput = function (props) {
33
- var onChange = props.onChange, date = props.date, parseInput = props.parseInput, formatDate = props.formatDate, rest = __rest(props, ["onChange", "date", "parseInput", "formatDate"]);
34
- var buttonRef = React.useRef(null);
35
- var _a = React.useState(''), inputValue = _a[0], setInputValue = _a[1];
36
- React.useEffect(function () {
10
+ const DatePickerInput = (props) => {
11
+ const { onChange, date, parseInput, formatDate, ...rest } = props;
12
+ const buttonRef = React.useRef(null);
13
+ const [inputValue, setInputValue] = React.useState('');
14
+ React.useEffect(() => {
37
15
  if (date && !isNaN(date.valueOf())) {
38
16
  setInputValue(formatDate(date));
39
17
  }
40
18
  }, [date, formatDate]);
41
- var _b = React.useState(false), isVisible = _b[0], setIsVisible = _b[1];
42
- var close = React.useCallback(function () { return setIsVisible(false); }, []);
43
- var onDateSelected = React.useCallback(function (date) {
19
+ const [isVisible, setIsVisible] = React.useState(false);
20
+ const close = React.useCallback(() => setIsVisible(false), []);
21
+ const onDateSelected = React.useCallback((date) => {
44
22
  var _a;
45
23
  onChange(date);
46
24
  close();
47
25
  (_a = buttonRef.current) === null || _a === void 0 ? void 0 : _a.focus();
48
26
  }, [close, onChange]);
49
- var onInputChange = React.useCallback(function (event) {
50
- var value = event.target.value;
27
+ const onInputChange = React.useCallback((event) => {
28
+ const value = event.target.value;
51
29
  setInputValue(value);
52
30
  if (!value) {
53
31
  onChange(undefined);
54
32
  }
55
- var parsedDate = parseInput(value);
33
+ const parsedDate = parseInput(value);
56
34
  if (parsedDate && !isNaN(parsedDate.valueOf())) {
57
35
  onChange(parsedDate);
58
36
  }
59
37
  }, [onChange, parseInput]);
60
- return (React.createElement(Popover, { content: React.createElement(DatePicker, { date: date, onChange: onDateSelected, setFocus: true }), placement: 'bottom', visible: isVisible, onClickOutside: function (_, e) {
38
+ return (React.createElement(Popover, { content: React.createElement(DatePicker, { date: date, onChange: onDateSelected, setFocus: true }), placement: 'bottom', visible: isVisible, onClickOutside: (_, e) => {
61
39
  var _a;
62
40
  if (!((_a = buttonRef.current) === null || _a === void 0 ? void 0 : _a.contains(e.target))) {
63
41
  close();
64
42
  }
65
43
  }, appendTo: 'parent' },
66
- React.createElement(LabeledInput, __assign({ displayStyle: 'inline', value: inputValue, onChange: onInputChange, onClick: close, svgIcon: React.createElement(IconButton, { styleType: 'borderless', onClick: function () { return setIsVisible(function (v) { return !v; }); }, ref: buttonRef },
67
- React.createElement(SvgCalendar, null)) }, rest))));
44
+ React.createElement(LabeledInput, { displayStyle: 'inline', value: inputValue, onChange: onInputChange, onClick: close, svgIcon: React.createElement(IconButton, { styleType: 'borderless', onClick: () => setIsVisible((v) => !v), ref: buttonRef },
45
+ React.createElement(SvgCalendar, null)), ...rest })));
68
46
  };
69
47
  export default DatePickerInput;
@@ -1,14 +1,3 @@
1
- var __assign = (this && this.__assign) || function () {
2
- __assign = Object.assign || function(t) {
3
- for (var s, i = 1, n = arguments.length; i < n; i++) {
4
- s = arguments[i];
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
- t[p] = s[p];
7
- }
8
- return t;
9
- };
10
- return __assign.apply(this, arguments);
11
- };
12
1
  /*---------------------------------------------------------------------------------------------
13
2
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
14
3
  * See LICENSE.md in the project root for license terms and full copyright notice.
@@ -19,49 +8,49 @@ import { FilterButtonBar, } from '../FilterButtonBar';
19
8
  import { BaseFilter } from '../BaseFilter';
20
9
  import '@itwin/itwinui-css/css/table.css';
21
10
  import DatePickerInput from './DatePickerInput';
22
- var defaultStrings = {
11
+ const defaultStrings = {
23
12
  from: 'From',
24
13
  to: 'To',
25
14
  };
26
- var defaultFormatDate = function (date) {
27
- var formatter = new Intl.DateTimeFormat('en-us', {
15
+ const defaultFormatDate = (date) => {
16
+ const formatter = new Intl.DateTimeFormat('en-us', {
28
17
  month: 'short',
29
18
  day: 'numeric',
30
19
  year: 'numeric',
31
20
  });
32
21
  return formatter.format(date);
33
22
  };
34
- var defaultParseInput = function (text) {
23
+ const defaultParseInput = (text) => {
35
24
  // Checks whether date is in correct format e.g. Feb 11, 2021
36
25
  if (/^[a-z]{3}\s\d{1,2},\s\d{4}$/gi.test(text)) {
37
26
  return new Date(text);
38
27
  }
39
28
  return new Date('');
40
29
  };
41
- export var DateRangeFilter = function (props) {
30
+ export const DateRangeFilter = (props) => {
42
31
  var _a, _b, _c, _d;
43
- var column = props.column, translatedLabels = props.translatedLabels, setFilter = props.setFilter, clearFilter = props.clearFilter, _e = props.formatDate, formatDate = _e === void 0 ? defaultFormatDate : _e, _f = props.parseInput, parseInput = _f === void 0 ? defaultParseInput : _f, _g = props.placeholder, placeholder = _g === void 0 ? 'MMM dd, yyyy' : _g;
32
+ const { column, translatedLabels, setFilter, clearFilter, formatDate = defaultFormatDate, parseInput = defaultParseInput, placeholder = 'MMM dd, yyyy', } = props;
44
33
  useTheme();
45
- var translatedStrings = __assign(__assign({}, defaultStrings), translatedLabels);
46
- var _h = React.useState(((_a = column.filterValue) === null || _a === void 0 ? void 0 : _a[0]) ? new Date((_b = column.filterValue) === null || _b === void 0 ? void 0 : _b[0]) : undefined), from = _h[0], setFrom = _h[1];
47
- var onFromChange = React.useCallback(function (date) {
48
- setFrom(function (prevDate) {
34
+ const translatedStrings = { ...defaultStrings, ...translatedLabels };
35
+ const [from, setFrom] = React.useState(((_a = column.filterValue) === null || _a === void 0 ? void 0 : _a[0]) ? new Date((_b = column.filterValue) === null || _b === void 0 ? void 0 : _b[0]) : undefined);
36
+ const onFromChange = React.useCallback((date) => {
37
+ setFrom((prevDate) => {
49
38
  if (prevDate || !date) {
50
39
  return date;
51
40
  }
52
41
  return new Date(date.getFullYear(), date.getMonth(), date.getDate(), 0, 0, 0, 0);
53
42
  });
54
43
  }, []);
55
- var _j = React.useState(((_c = column.filterValue) === null || _c === void 0 ? void 0 : _c[1]) ? new Date((_d = column.filterValue) === null || _d === void 0 ? void 0 : _d[1]) : undefined), to = _j[0], setTo = _j[1];
56
- var onToChange = React.useCallback(function (date) {
57
- setTo(function (prevDate) {
44
+ const [to, setTo] = React.useState(((_c = column.filterValue) === null || _c === void 0 ? void 0 : _c[1]) ? new Date((_d = column.filterValue) === null || _d === void 0 ? void 0 : _d[1]) : undefined);
45
+ const onToChange = React.useCallback((date) => {
46
+ setTo((prevDate) => {
58
47
  if (prevDate || !date) {
59
48
  return date;
60
49
  }
61
50
  return new Date(date.getFullYear(), date.getMonth(), date.getDate(), 23, 59, 59, 999);
62
51
  });
63
52
  }, []);
64
- var onKeyDown = function (event) {
53
+ const onKeyDown = (event) => {
65
54
  if (event.key === 'Enter') {
66
55
  setFilter([from, to]);
67
56
  }
@@ -69,5 +58,5 @@ export var DateRangeFilter = function (props) {
69
58
  return (React.createElement(BaseFilter, null,
70
59
  React.createElement(DatePickerInput, { label: translatedStrings.from, date: from, onChange: onFromChange, formatDate: formatDate, parseInput: parseInput, onKeyDown: onKeyDown, placeholder: placeholder, setFocus: true }),
71
60
  React.createElement(DatePickerInput, { label: translatedStrings.to, date: to, onChange: onToChange, formatDate: formatDate, parseInput: parseInput, onKeyDown: onKeyDown, placeholder: placeholder }),
72
- React.createElement(FilterButtonBar, { setFilter: function () { return setFilter([from, to]); }, clearFilter: clearFilter, translatedLabels: translatedLabels })));
61
+ React.createElement(FilterButtonBar, { setFilter: () => setFilter([from, to]), clearFilter: clearFilter, translatedLabels: translatedLabels })));
73
62
  };
@@ -1,14 +1,3 @@
1
- var __assign = (this && this.__assign) || function () {
2
- __assign = Object.assign || function(t) {
3
- for (var s, i = 1, n = arguments.length; i < n; i++) {
4
- s = arguments[i];
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
- t[p] = s[p];
7
- }
8
- return t;
9
- };
10
- return __assign.apply(this, arguments);
11
- };
12
1
  /*---------------------------------------------------------------------------------------------
13
2
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
14
3
  * See LICENSE.md in the project root for license terms and full copyright notice.
@@ -18,7 +7,7 @@ import cx from 'classnames';
18
7
  import '@itwin/itwinui-css/css/table.css';
19
8
  import { useTheme } from '../../utils';
20
9
  import { Button } from '../../Buttons';
21
- var defaultStrings = {
10
+ const defaultStrings = {
22
11
  filter: 'Filter',
23
12
  clear: 'Clear',
24
13
  };
@@ -27,9 +16,9 @@ var defaultStrings = {
27
16
  * @example
28
17
  * <FilterButtonBar setFilter={() => setFilter(text)} clearFilter={clearFilter} />
29
18
  */
30
- export var FilterButtonBar = function (props) {
31
- var children = props.children, setFilter = props.setFilter, clearFilter = props.clearFilter, translatedLabels = props.translatedLabels, className = props.className, style = props.style, id = props.id;
32
- var translatedStrings = __assign(__assign({}, defaultStrings), translatedLabels);
19
+ export const FilterButtonBar = (props) => {
20
+ const { children, setFilter, clearFilter, translatedLabels, className, style, id, } = props;
21
+ const translatedStrings = { ...defaultStrings, ...translatedLabels };
33
22
  useTheme();
34
23
  return (React.createElement("div", { className: cx('iui-button-bar', className), style: style, id: id },
35
24
  children,