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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (453) hide show
  1. package/README.md +4 -22
  2. package/cjs/core/Alert/Alert.d.ts +7 -6
  3. package/cjs/core/Alert/Alert.js +13 -8
  4. package/cjs/core/Avatar/Avatar.d.ts +69 -0
  5. package/cjs/core/{UserIcon/UserIcon.js → Avatar/Avatar.js} +15 -11
  6. package/cjs/core/Avatar/index.d.ts +4 -0
  7. package/cjs/core/{UserIcon → Avatar}/index.js +5 -4
  8. package/cjs/core/AvatarGroup/AvatarGroup.d.ts +70 -0
  9. package/cjs/core/{UserIconGroup/UserIconGroup.js → AvatarGroup/AvatarGroup.js} +23 -19
  10. package/cjs/core/AvatarGroup/index.d.ts +4 -0
  11. package/cjs/core/{UserIconGroup → AvatarGroup}/index.js +5 -4
  12. package/cjs/core/Badge/Badge.js +2 -4
  13. package/cjs/core/Breadcrumbs/Breadcrumbs.js +1 -2
  14. package/cjs/core/ButtonGroup/ButtonGroup.d.ts +1 -1
  15. package/cjs/core/Buttons/Button/Button.js +5 -14
  16. package/cjs/core/Buttons/DropdownButton/DropdownButton.js +1 -3
  17. package/cjs/core/Buttons/IconButton/IconButton.js +3 -9
  18. package/cjs/core/Buttons/IdeasButton/IdeasButton.js +1 -2
  19. package/cjs/core/Buttons/SplitButton/SplitButton.js +4 -8
  20. package/cjs/core/Carousel/CarouselNavigation.js +3 -4
  21. package/cjs/core/Checkbox/Checkbox.d.ts +1 -29
  22. package/cjs/core/Checkbox/Checkbox.js +3 -3
  23. package/cjs/core/ColorPicker/ColorBuilder.js +16 -27
  24. package/cjs/core/ColorPicker/ColorInputPanel.js +1 -2
  25. package/cjs/core/ColorPicker/ColorSwatch.d.ts +1 -1
  26. package/cjs/core/ColorPicker/ColorSwatch.js +1 -6
  27. package/cjs/core/ComboBox/ComboBoxDropdown.d.ts +1 -1
  28. package/cjs/core/ComboBox/ComboBoxEndIcon.js +1 -2
  29. package/cjs/core/ComboBox/ComboBoxMenu.js +2 -4
  30. package/cjs/core/DatePicker/DatePicker.js +4 -8
  31. package/cjs/core/Dialog/Dialog.d.ts +4 -4
  32. package/cjs/core/Dialog/Dialog.js +1 -1
  33. package/cjs/core/Dialog/DialogBackdrop.d.ts +1 -1
  34. package/cjs/core/Dialog/DialogBackdrop.js +5 -2
  35. package/cjs/core/Dialog/DialogMain.d.ts +1 -1
  36. package/cjs/core/Dialog/DialogMain.js +7 -1
  37. package/cjs/core/Dialog/DialogTitleBar.d.ts +1 -1
  38. package/cjs/core/Dialog/DialogTitleBar.js +1 -2
  39. package/cjs/core/ExpandableBlock/ExpandableBlock.js +5 -6
  40. package/cjs/core/FileUpload/FileUploadTemplate.js +1 -2
  41. package/cjs/core/Header/Header.d.ts +16 -6
  42. package/cjs/core/Header/Header.js +9 -12
  43. package/cjs/core/Header/HeaderBasicButton.d.ts +6 -0
  44. package/cjs/core/Header/HeaderBasicButton.js +52 -0
  45. package/cjs/core/Header/HeaderBreadcrumbs.js +6 -5
  46. package/cjs/core/Header/HeaderButton.d.ts +3 -2
  47. package/cjs/core/Header/HeaderButton.js +10 -18
  48. package/cjs/core/Header/HeaderDropdownButton.d.ts +6 -0
  49. package/cjs/core/Header/HeaderDropdownButton.js +53 -0
  50. package/cjs/core/Header/HeaderLogo.js +3 -3
  51. package/cjs/core/Header/HeaderSplitButton.d.ts +6 -0
  52. package/cjs/core/Header/HeaderSplitButton.js +54 -0
  53. package/cjs/core/InformationPanel/InformationPanelHeader.js +1 -2
  54. package/cjs/core/Input/Input.d.ts +1 -1
  55. package/cjs/core/Input/Input.js +3 -4
  56. package/cjs/core/InputGroup/InputGroup.d.ts +1 -1
  57. package/cjs/core/InputGroup/InputGroup.js +1 -1
  58. package/cjs/core/Label/Label.d.ts +1 -1
  59. package/cjs/core/Label/Label.js +1 -1
  60. package/cjs/core/LabeledInput/LabeledInput.d.ts +2 -2
  61. package/cjs/core/LabeledInput/LabeledInput.js +1 -1
  62. package/cjs/core/LabeledSelect/LabeledSelect.d.ts +1 -1
  63. package/cjs/core/LabeledSelect/LabeledSelect.js +1 -1
  64. package/cjs/core/LabeledTextarea/LabeledTextarea.d.ts +1 -1
  65. package/cjs/core/LabeledTextarea/LabeledTextarea.js +1 -1
  66. package/cjs/core/Menu/MenuItem.js +1 -2
  67. package/cjs/core/ProgressIndicators/ProgressRadial/ProgressRadial.js +2 -4
  68. package/cjs/core/Radio/Radio.d.ts +1 -29
  69. package/cjs/core/Radio/Radio.js +3 -3
  70. package/cjs/core/RadioTiles/RadioTileGroup.d.ts +1 -1
  71. package/cjs/core/RadioTiles/RadioTileGroup.js +1 -1
  72. package/cjs/core/Select/Select.d.ts +1 -1
  73. package/cjs/core/Select/Select.js +10 -14
  74. package/cjs/core/Select/SelectTag.d.ts +1 -1
  75. package/cjs/core/Select/SelectTag.js +1 -1
  76. package/cjs/core/SideNavigation/SideNavigation.js +1 -2
  77. package/cjs/core/SideNavigation/SidenavButton.js +1 -2
  78. package/cjs/core/Stepper/Stepper.d.ts +40 -0
  79. package/cjs/core/{Wizard/Wizard.js → Stepper/Stepper.js} +11 -28
  80. package/cjs/core/{Wizard/Step.d.ts → Stepper/StepperStep.d.ts} +6 -7
  81. package/cjs/core/{Wizard/Step.js → Stepper/StepperStep.js} +10 -10
  82. package/cjs/core/Stepper/Wizard.d.ts +46 -0
  83. package/cjs/core/Stepper/Wizard.js +55 -0
  84. package/cjs/core/Stepper/WorkflowDiagram.d.ts +6 -0
  85. package/cjs/core/Stepper/WorkflowDiagram.js +43 -0
  86. package/cjs/core/Stepper/WorkflowDiagramStep.d.ts +5 -0
  87. package/cjs/core/Stepper/WorkflowDiagramStep.js +42 -0
  88. package/cjs/core/Stepper/index.d.ts +8 -0
  89. package/cjs/core/{Wizard → Stepper}/index.js +5 -1
  90. package/cjs/core/Surface/Surface.d.ts +0 -2
  91. package/cjs/core/Surface/Surface.js +10 -10
  92. package/cjs/core/Table/SubRowExpander.js +3 -3
  93. package/cjs/core/Table/Table.d.ts +5 -4
  94. package/cjs/core/Table/Table.js +30 -23
  95. package/cjs/core/Table/TableCell.js +4 -4
  96. package/cjs/core/Table/TablePaginator.js +16 -19
  97. package/cjs/core/Table/TableRowMemoized.d.ts +2 -0
  98. package/cjs/core/Table/TableRowMemoized.js +10 -13
  99. package/cjs/core/Table/cells/DefaultCell.js +4 -9
  100. package/cjs/core/Table/columns/actionColumn.js +3 -3
  101. package/cjs/core/Table/columns/expanderColumn.js +3 -3
  102. package/cjs/core/Table/filters/BaseFilter.js +1 -1
  103. package/cjs/core/Table/filters/DateRangeFilter/DatePickerInput.js +1 -2
  104. package/cjs/core/Table/filters/FilterToggle.js +2 -4
  105. package/cjs/core/Table/hooks/useColumnDragAndDrop.js +4 -4
  106. package/cjs/core/Table/hooks/useResizeColumns.js +110 -106
  107. package/cjs/core/Tabs/Tab.d.ts +0 -8
  108. package/cjs/core/Tabs/Tab.js +1 -5
  109. package/cjs/core/Tabs/Tabs.d.ts +32 -12
  110. package/cjs/core/Tabs/Tabs.js +16 -12
  111. package/cjs/core/Tabs/index.d.ts +4 -4
  112. package/cjs/core/Tabs/index.js +2 -2
  113. package/cjs/core/Tag/Tag.js +1 -2
  114. package/cjs/core/Textarea/Textarea.d.ts +1 -1
  115. package/cjs/core/Textarea/Textarea.js +2 -2
  116. package/cjs/core/ThemeProvider/ThemeProvider.d.ts +27 -17
  117. package/cjs/core/ThemeProvider/ThemeProvider.js +64 -7
  118. package/cjs/core/Tile/Tile.d.ts +19 -1
  119. package/cjs/core/Tile/Tile.js +36 -16
  120. package/cjs/core/Toast/Toast.d.ts +3 -3
  121. package/cjs/core/Toast/Toast.js +4 -5
  122. package/cjs/core/Toast/ToastWrapper.d.ts +1 -1
  123. package/cjs/core/Toast/ToastWrapper.js +1 -1
  124. package/cjs/core/Tree/TreeNode.js +1 -7
  125. package/cjs/core/Tree/TreeNodeExpander.js +2 -2
  126. package/cjs/core/Typography/Body/Body.d.ts +5 -3
  127. package/cjs/core/Typography/Body/Body.js +2 -3
  128. package/cjs/core/Typography/Headline/Headline.d.ts +2 -3
  129. package/cjs/core/Typography/Headline/Headline.js +2 -3
  130. package/cjs/core/Typography/Leading/Leading.d.ts +2 -3
  131. package/cjs/core/Typography/Leading/Leading.js +2 -3
  132. package/cjs/core/Typography/Small/Small.d.ts +2 -3
  133. package/cjs/core/Typography/Small/Small.js +2 -3
  134. package/cjs/core/Typography/Subheading/Subheading.d.ts +2 -3
  135. package/cjs/core/Typography/Subheading/Subheading.js +2 -3
  136. package/cjs/core/Typography/Text/Text.d.ts +2 -0
  137. package/cjs/core/Typography/Text/Text.js +2 -0
  138. package/cjs/core/Typography/Title/Title.d.ts +2 -3
  139. package/cjs/core/Typography/Title/Title.js +2 -3
  140. package/cjs/core/index.d.ts +8 -8
  141. package/cjs/core/index.js +14 -10
  142. package/cjs/core/utils/components/Popover.d.ts +2 -2
  143. package/cjs/core/utils/components/Popover.js +1 -1
  144. package/cjs/core/utils/components/Resizer.d.ts +5 -0
  145. package/cjs/core/utils/components/Resizer.js +7 -1
  146. package/cjs/core/utils/components/VisuallyHidden.d.ts +1 -0
  147. package/cjs/core/utils/components/VisuallyHidden.js +1 -0
  148. package/cjs/core/utils/components/index.d.ts +0 -1
  149. package/cjs/core/utils/components/index.js +0 -1
  150. package/cjs/core/utils/functions/colors.d.ts +12 -12
  151. package/cjs/core/utils/functions/colors.js +12 -12
  152. package/cjs/core/utils/hooks/index.d.ts +1 -0
  153. package/cjs/core/utils/hooks/index.js +1 -0
  154. package/cjs/core/utils/hooks/useIsomorphicLayoutEffect.d.ts +7 -0
  155. package/cjs/core/utils/hooks/useIsomorphicLayoutEffect.js +17 -0
  156. package/cjs/core/utils/hooks/useMediaQuery.js +2 -1
  157. package/cjs/core/utils/hooks/useTheme.d.ts +20 -3
  158. package/cjs/core/utils/hooks/useTheme.js +57 -58
  159. package/cjs/core/utils/{components/icons.d.ts → icons/StatusIconMap.d.ts} +1 -1
  160. package/cjs/core/utils/icons/StatusIconMap.js +52 -0
  161. package/cjs/core/utils/icons/SvgCalendar.d.ts +2 -0
  162. package/cjs/core/utils/icons/SvgCalendar.js +47 -0
  163. package/cjs/core/utils/icons/SvgCaretDownSmall.d.ts +2 -0
  164. package/cjs/core/utils/icons/SvgCaretDownSmall.js +47 -0
  165. package/cjs/core/utils/icons/SvgCaretRightSmall.d.ts +2 -0
  166. package/cjs/core/utils/icons/SvgCaretRightSmall.js +47 -0
  167. package/cjs/core/utils/icons/SvgCaretUpSmall.d.ts +2 -0
  168. package/cjs/core/utils/icons/SvgCaretUpSmall.js +47 -0
  169. package/cjs/core/utils/icons/SvgCheckmark.d.ts +2 -0
  170. package/cjs/core/utils/icons/SvgCheckmark.js +47 -0
  171. package/cjs/core/utils/icons/SvgCheckmarkSmall.d.ts +2 -0
  172. package/cjs/core/utils/icons/SvgCheckmarkSmall.js +47 -0
  173. package/cjs/core/utils/icons/SvgChevronLeft.d.ts +2 -0
  174. package/cjs/core/utils/icons/SvgChevronLeft.js +47 -0
  175. package/cjs/core/utils/icons/SvgChevronLeftDouble.d.ts +2 -0
  176. package/cjs/core/utils/icons/SvgChevronLeftDouble.js +47 -0
  177. package/cjs/core/utils/icons/SvgChevronRight.d.ts +2 -0
  178. package/cjs/core/utils/icons/SvgChevronRight.js +47 -0
  179. package/cjs/core/utils/icons/SvgChevronRightDouble.d.ts +2 -0
  180. package/cjs/core/utils/icons/SvgChevronRightDouble.js +47 -0
  181. package/cjs/core/utils/icons/SvgClose.d.ts +2 -0
  182. package/cjs/core/utils/icons/SvgClose.js +47 -0
  183. package/cjs/core/utils/icons/SvgCloseSmall.d.ts +2 -0
  184. package/cjs/core/utils/icons/SvgCloseSmall.js +47 -0
  185. package/cjs/core/utils/icons/SvgColumnManager.d.ts +2 -0
  186. package/cjs/core/utils/icons/SvgColumnManager.js +47 -0
  187. package/cjs/core/utils/icons/SvgFilter.d.ts +2 -0
  188. package/cjs/core/utils/icons/SvgFilter.js +47 -0
  189. package/cjs/core/utils/icons/SvgFilterHollow.d.ts +2 -0
  190. package/cjs/core/utils/icons/SvgFilterHollow.js +47 -0
  191. package/cjs/core/utils/icons/SvgImportantSmall.d.ts +2 -0
  192. package/cjs/core/utils/icons/SvgImportantSmall.js +47 -0
  193. package/cjs/core/utils/icons/SvgInfoCircular.d.ts +2 -0
  194. package/cjs/core/utils/icons/SvgInfoCircular.js +47 -0
  195. package/cjs/core/utils/icons/SvgMore.d.ts +2 -0
  196. package/cjs/core/utils/icons/SvgMore.js +47 -0
  197. package/cjs/core/utils/icons/SvgMoreVertical.d.ts +2 -0
  198. package/cjs/core/utils/icons/SvgMoreVertical.js +47 -0
  199. package/cjs/core/utils/icons/SvgNew.d.ts +2 -0
  200. package/cjs/core/utils/icons/SvgNew.js +47 -0
  201. package/cjs/core/utils/icons/SvgSmileyHappy.d.ts +2 -0
  202. package/cjs/core/utils/icons/SvgSmileyHappy.js +47 -0
  203. package/cjs/core/utils/icons/SvgSortDown.d.ts +2 -0
  204. package/cjs/core/utils/icons/SvgSortDown.js +47 -0
  205. package/cjs/core/utils/icons/SvgSortUp.d.ts +2 -0
  206. package/cjs/core/utils/icons/SvgSortUp.js +47 -0
  207. package/cjs/core/utils/icons/SvgStatusError.d.ts +2 -0
  208. package/cjs/core/utils/icons/SvgStatusError.js +47 -0
  209. package/cjs/core/utils/icons/SvgStatusSuccess.d.ts +2 -0
  210. package/cjs/core/utils/icons/SvgStatusSuccess.js +47 -0
  211. package/cjs/core/utils/icons/SvgStatusWarning.d.ts +2 -0
  212. package/cjs/core/utils/icons/SvgStatusWarning.js +47 -0
  213. package/cjs/core/utils/icons/SvgSwap.d.ts +2 -0
  214. package/cjs/core/utils/icons/SvgSwap.js +47 -0
  215. package/cjs/core/utils/icons/SvgUpload.d.ts +2 -0
  216. package/cjs/core/utils/icons/SvgUpload.js +47 -0
  217. package/cjs/core/utils/icons/index.d.ts +29 -0
  218. package/cjs/core/utils/icons/index.js +49 -0
  219. package/cjs/core/utils/index.d.ts +1 -0
  220. package/cjs/core/utils/index.js +1 -0
  221. package/esm/core/Alert/Alert.d.ts +7 -6
  222. package/esm/core/Alert/Alert.js +14 -9
  223. package/esm/core/Avatar/Avatar.d.ts +69 -0
  224. package/esm/core/{UserIcon/UserIcon.js → Avatar/Avatar.js} +13 -9
  225. package/esm/core/Avatar/index.d.ts +4 -0
  226. package/esm/core/{UserIcon → Avatar}/index.js +2 -2
  227. package/esm/core/AvatarGroup/AvatarGroup.d.ts +70 -0
  228. package/esm/core/{UserIconGroup/UserIconGroup.js → AvatarGroup/AvatarGroup.js} +21 -17
  229. package/esm/core/AvatarGroup/index.d.ts +4 -0
  230. package/esm/core/{UserIconGroup → AvatarGroup}/index.js +2 -2
  231. package/esm/core/Badge/Badge.js +3 -5
  232. package/esm/core/Breadcrumbs/Breadcrumbs.js +1 -2
  233. package/esm/core/ButtonGroup/ButtonGroup.d.ts +1 -1
  234. package/esm/core/Buttons/Button/Button.js +5 -14
  235. package/esm/core/Buttons/DropdownButton/DropdownButton.js +2 -4
  236. package/esm/core/Buttons/IconButton/IconButton.js +3 -9
  237. package/esm/core/Buttons/IdeasButton/IdeasButton.js +2 -3
  238. package/esm/core/Buttons/SplitButton/SplitButton.js +5 -9
  239. package/esm/core/Carousel/CarouselNavigation.js +1 -2
  240. package/esm/core/Checkbox/Checkbox.d.ts +1 -29
  241. package/esm/core/Checkbox/Checkbox.js +3 -3
  242. package/esm/core/ColorPicker/ColorBuilder.js +17 -28
  243. package/esm/core/ColorPicker/ColorInputPanel.js +1 -2
  244. package/esm/core/ColorPicker/ColorSwatch.d.ts +1 -1
  245. package/esm/core/ColorPicker/ColorSwatch.js +2 -7
  246. package/esm/core/ComboBox/ComboBoxDropdown.d.ts +1 -1
  247. package/esm/core/ComboBox/ComboBoxEndIcon.js +1 -2
  248. package/esm/core/ComboBox/ComboBoxMenu.js +2 -4
  249. package/esm/core/DatePicker/DatePicker.js +1 -5
  250. package/esm/core/Dialog/Dialog.d.ts +4 -4
  251. package/esm/core/Dialog/Dialog.js +1 -1
  252. package/esm/core/Dialog/DialogBackdrop.d.ts +1 -1
  253. package/esm/core/Dialog/DialogBackdrop.js +5 -2
  254. package/esm/core/Dialog/DialogMain.d.ts +1 -1
  255. package/esm/core/Dialog/DialogMain.js +7 -1
  256. package/esm/core/Dialog/DialogTitleBar.d.ts +1 -1
  257. package/esm/core/Dialog/DialogTitleBar.js +1 -2
  258. package/esm/core/ExpandableBlock/ExpandableBlock.js +5 -6
  259. package/esm/core/FileUpload/FileUploadTemplate.js +1 -2
  260. package/esm/core/Header/Header.d.ts +16 -6
  261. package/esm/core/Header/Header.js +9 -12
  262. package/esm/core/Header/HeaderBasicButton.d.ts +6 -0
  263. package/esm/core/Header/HeaderBasicButton.js +46 -0
  264. package/esm/core/Header/HeaderBreadcrumbs.js +7 -6
  265. package/esm/core/Header/HeaderButton.d.ts +3 -2
  266. package/esm/core/Header/HeaderButton.js +10 -18
  267. package/esm/core/Header/HeaderDropdownButton.d.ts +6 -0
  268. package/esm/core/Header/HeaderDropdownButton.js +47 -0
  269. package/esm/core/Header/HeaderLogo.js +3 -3
  270. package/esm/core/Header/HeaderSplitButton.d.ts +6 -0
  271. package/esm/core/Header/HeaderSplitButton.js +48 -0
  272. package/esm/core/InformationPanel/InformationPanelHeader.js +1 -2
  273. package/esm/core/Input/Input.d.ts +1 -1
  274. package/esm/core/Input/Input.js +3 -4
  275. package/esm/core/InputGroup/InputGroup.d.ts +1 -1
  276. package/esm/core/InputGroup/InputGroup.js +1 -1
  277. package/esm/core/Label/Label.d.ts +1 -1
  278. package/esm/core/Label/Label.js +1 -1
  279. package/esm/core/LabeledInput/LabeledInput.d.ts +2 -2
  280. package/esm/core/LabeledInput/LabeledInput.js +1 -1
  281. package/esm/core/LabeledSelect/LabeledSelect.d.ts +1 -1
  282. package/esm/core/LabeledSelect/LabeledSelect.js +1 -1
  283. package/esm/core/LabeledTextarea/LabeledTextarea.d.ts +1 -1
  284. package/esm/core/LabeledTextarea/LabeledTextarea.js +1 -1
  285. package/esm/core/Menu/MenuItem.js +1 -2
  286. package/esm/core/ProgressIndicators/ProgressRadial/ProgressRadial.js +3 -5
  287. package/esm/core/Radio/Radio.d.ts +1 -29
  288. package/esm/core/Radio/Radio.js +3 -3
  289. package/esm/core/RadioTiles/RadioTileGroup.d.ts +1 -1
  290. package/esm/core/RadioTiles/RadioTileGroup.js +1 -1
  291. package/esm/core/Select/Select.d.ts +1 -1
  292. package/esm/core/Select/Select.js +10 -14
  293. package/esm/core/Select/SelectTag.d.ts +1 -1
  294. package/esm/core/Select/SelectTag.js +1 -1
  295. package/esm/core/SideNavigation/SideNavigation.js +1 -2
  296. package/esm/core/SideNavigation/SidenavButton.js +1 -2
  297. package/esm/core/Stepper/Stepper.d.ts +40 -0
  298. package/esm/core/{Wizard/Wizard.js → Stepper/Stepper.js} +10 -27
  299. package/esm/core/{Wizard/Step.d.ts → Stepper/StepperStep.d.ts} +6 -7
  300. package/esm/core/{Wizard/Step.js → Stepper/StepperStep.js} +8 -8
  301. package/esm/core/Stepper/Wizard.d.ts +46 -0
  302. package/esm/core/Stepper/Wizard.js +49 -0
  303. package/esm/core/Stepper/WorkflowDiagram.d.ts +6 -0
  304. package/esm/core/Stepper/WorkflowDiagram.js +37 -0
  305. package/esm/core/Stepper/WorkflowDiagramStep.d.ts +5 -0
  306. package/esm/core/Stepper/WorkflowDiagramStep.js +35 -0
  307. package/esm/core/Stepper/index.d.ts +8 -0
  308. package/esm/core/{Wizard → Stepper}/index.js +2 -0
  309. package/esm/core/Surface/Surface.d.ts +0 -2
  310. package/esm/core/Surface/Surface.js +11 -11
  311. package/esm/core/Table/SubRowExpander.js +2 -2
  312. package/esm/core/Table/Table.d.ts +5 -4
  313. package/esm/core/Table/Table.js +31 -24
  314. package/esm/core/Table/TableCell.js +4 -4
  315. package/esm/core/Table/TablePaginator.js +15 -18
  316. package/esm/core/Table/TableRowMemoized.d.ts +2 -0
  317. package/esm/core/Table/TableRowMemoized.js +10 -13
  318. package/esm/core/Table/cells/DefaultCell.js +4 -9
  319. package/esm/core/Table/columns/actionColumn.js +2 -2
  320. package/esm/core/Table/columns/expanderColumn.js +2 -2
  321. package/esm/core/Table/filters/BaseFilter.js +1 -1
  322. package/esm/core/Table/filters/DateRangeFilter/DatePickerInput.js +1 -2
  323. package/esm/core/Table/filters/FilterToggle.js +2 -4
  324. package/esm/core/Table/hooks/useColumnDragAndDrop.js +4 -4
  325. package/esm/core/Table/hooks/useResizeColumns.js +110 -106
  326. package/esm/core/Tabs/Tab.d.ts +0 -8
  327. package/esm/core/Tabs/Tab.js +0 -4
  328. package/esm/core/Tabs/Tabs.d.ts +32 -12
  329. package/esm/core/Tabs/Tabs.js +17 -13
  330. package/esm/core/Tabs/index.d.ts +4 -4
  331. package/esm/core/Tabs/index.js +2 -2
  332. package/esm/core/Tag/Tag.js +1 -2
  333. package/esm/core/Textarea/Textarea.d.ts +1 -1
  334. package/esm/core/Textarea/Textarea.js +2 -2
  335. package/esm/core/ThemeProvider/ThemeProvider.d.ts +27 -17
  336. package/esm/core/ThemeProvider/ThemeProvider.js +64 -6
  337. package/esm/core/Tile/Tile.d.ts +19 -1
  338. package/esm/core/Tile/Tile.js +36 -16
  339. package/esm/core/Toast/Toast.d.ts +3 -3
  340. package/esm/core/Toast/Toast.js +4 -5
  341. package/esm/core/Toast/ToastWrapper.d.ts +1 -1
  342. package/esm/core/Toast/ToastWrapper.js +1 -1
  343. package/esm/core/Tree/TreeNode.js +2 -8
  344. package/esm/core/Tree/TreeNodeExpander.js +1 -1
  345. package/esm/core/Typography/Body/Body.d.ts +5 -3
  346. package/esm/core/Typography/Body/Body.js +2 -3
  347. package/esm/core/Typography/Headline/Headline.d.ts +2 -3
  348. package/esm/core/Typography/Headline/Headline.js +2 -3
  349. package/esm/core/Typography/Leading/Leading.d.ts +2 -3
  350. package/esm/core/Typography/Leading/Leading.js +2 -3
  351. package/esm/core/Typography/Small/Small.d.ts +2 -3
  352. package/esm/core/Typography/Small/Small.js +2 -3
  353. package/esm/core/Typography/Subheading/Subheading.d.ts +2 -3
  354. package/esm/core/Typography/Subheading/Subheading.js +2 -3
  355. package/esm/core/Typography/Text/Text.d.ts +2 -0
  356. package/esm/core/Typography/Text/Text.js +2 -0
  357. package/esm/core/Typography/Title/Title.d.ts +2 -3
  358. package/esm/core/Typography/Title/Title.js +2 -3
  359. package/esm/core/index.d.ts +8 -8
  360. package/esm/core/index.js +4 -4
  361. package/esm/core/utils/components/Popover.d.ts +2 -2
  362. package/esm/core/utils/components/Popover.js +1 -1
  363. package/esm/core/utils/components/Resizer.d.ts +5 -0
  364. package/esm/core/utils/components/Resizer.js +7 -1
  365. package/esm/core/utils/components/VisuallyHidden.d.ts +1 -0
  366. package/esm/core/utils/components/VisuallyHidden.js +1 -0
  367. package/esm/core/utils/components/index.d.ts +0 -1
  368. package/esm/core/utils/components/index.js +0 -1
  369. package/esm/core/utils/functions/colors.d.ts +12 -12
  370. package/esm/core/utils/functions/colors.js +12 -12
  371. package/esm/core/utils/hooks/index.d.ts +1 -0
  372. package/esm/core/utils/hooks/index.js +1 -0
  373. package/esm/core/utils/hooks/useIsomorphicLayoutEffect.d.ts +7 -0
  374. package/esm/core/utils/hooks/useIsomorphicLayoutEffect.js +11 -0
  375. package/esm/core/utils/hooks/useMediaQuery.js +2 -1
  376. package/esm/core/utils/hooks/useTheme.d.ts +20 -3
  377. package/esm/core/utils/hooks/useTheme.js +56 -57
  378. package/esm/core/utils/{components/icons.d.ts → icons/StatusIconMap.d.ts} +1 -1
  379. package/esm/core/utils/{components/icons.js → icons/StatusIconMap.js} +5 -5
  380. package/esm/core/utils/icons/SvgCalendar.d.ts +2 -0
  381. package/esm/core/utils/icons/SvgCalendar.js +20 -0
  382. package/esm/core/utils/icons/SvgCaretDownSmall.d.ts +2 -0
  383. package/esm/core/utils/icons/SvgCaretDownSmall.js +20 -0
  384. package/esm/core/utils/icons/SvgCaretRightSmall.d.ts +2 -0
  385. package/esm/core/utils/icons/SvgCaretRightSmall.js +20 -0
  386. package/esm/core/utils/icons/SvgCaretUpSmall.d.ts +2 -0
  387. package/esm/core/utils/icons/SvgCaretUpSmall.js +20 -0
  388. package/esm/core/utils/icons/SvgCheckmark.d.ts +2 -0
  389. package/esm/core/utils/icons/SvgCheckmark.js +20 -0
  390. package/esm/core/utils/icons/SvgCheckmarkSmall.d.ts +2 -0
  391. package/esm/core/utils/icons/SvgCheckmarkSmall.js +20 -0
  392. package/esm/core/utils/icons/SvgChevronLeft.d.ts +2 -0
  393. package/esm/core/utils/icons/SvgChevronLeft.js +20 -0
  394. package/esm/core/utils/icons/SvgChevronLeftDouble.d.ts +2 -0
  395. package/esm/core/utils/icons/SvgChevronLeftDouble.js +20 -0
  396. package/esm/core/utils/icons/SvgChevronRight.d.ts +2 -0
  397. package/esm/core/utils/icons/SvgChevronRight.js +20 -0
  398. package/esm/core/utils/icons/SvgChevronRightDouble.d.ts +2 -0
  399. package/esm/core/utils/icons/SvgChevronRightDouble.js +20 -0
  400. package/esm/core/utils/icons/SvgClose.d.ts +2 -0
  401. package/esm/core/utils/icons/SvgClose.js +20 -0
  402. package/esm/core/utils/icons/SvgCloseSmall.d.ts +2 -0
  403. package/esm/core/utils/icons/SvgCloseSmall.js +20 -0
  404. package/esm/core/utils/icons/SvgColumnManager.d.ts +2 -0
  405. package/esm/core/utils/icons/SvgColumnManager.js +20 -0
  406. package/esm/core/utils/icons/SvgFilter.d.ts +2 -0
  407. package/esm/core/utils/icons/SvgFilter.js +20 -0
  408. package/esm/core/utils/icons/SvgFilterHollow.d.ts +2 -0
  409. package/esm/core/utils/icons/SvgFilterHollow.js +20 -0
  410. package/esm/core/utils/icons/SvgImportantSmall.d.ts +2 -0
  411. package/esm/core/utils/icons/SvgImportantSmall.js +20 -0
  412. package/esm/core/utils/icons/SvgInfoCircular.d.ts +2 -0
  413. package/esm/core/utils/icons/SvgInfoCircular.js +20 -0
  414. package/esm/core/utils/icons/SvgMore.d.ts +2 -0
  415. package/esm/core/utils/icons/SvgMore.js +20 -0
  416. package/esm/core/utils/icons/SvgMoreVertical.d.ts +2 -0
  417. package/esm/core/utils/icons/SvgMoreVertical.js +20 -0
  418. package/esm/core/utils/icons/SvgNew.d.ts +2 -0
  419. package/esm/core/utils/icons/SvgNew.js +20 -0
  420. package/esm/core/utils/icons/SvgSmileyHappy.d.ts +2 -0
  421. package/esm/core/utils/icons/SvgSmileyHappy.js +20 -0
  422. package/esm/core/utils/icons/SvgSortDown.d.ts +2 -0
  423. package/esm/core/utils/icons/SvgSortDown.js +20 -0
  424. package/esm/core/utils/icons/SvgSortUp.d.ts +2 -0
  425. package/esm/core/utils/icons/SvgSortUp.js +20 -0
  426. package/esm/core/utils/icons/SvgStatusError.d.ts +2 -0
  427. package/esm/core/utils/icons/SvgStatusError.js +20 -0
  428. package/esm/core/utils/icons/SvgStatusSuccess.d.ts +2 -0
  429. package/esm/core/utils/icons/SvgStatusSuccess.js +20 -0
  430. package/esm/core/utils/icons/SvgStatusWarning.d.ts +2 -0
  431. package/esm/core/utils/icons/SvgStatusWarning.js +20 -0
  432. package/esm/core/utils/icons/SvgSwap.d.ts +2 -0
  433. package/esm/core/utils/icons/SvgSwap.js +20 -0
  434. package/esm/core/utils/icons/SvgUpload.d.ts +2 -0
  435. package/esm/core/utils/icons/SvgUpload.js +20 -0
  436. package/esm/core/utils/icons/index.d.ts +29 -0
  437. package/esm/core/utils/icons/index.js +33 -0
  438. package/esm/core/utils/index.d.ts +1 -0
  439. package/esm/core/utils/index.js +1 -0
  440. package/package.json +3 -3
  441. package/cjs/core/UserIcon/UserIcon.d.ts +0 -57
  442. package/cjs/core/UserIcon/index.d.ts +0 -4
  443. package/cjs/core/UserIconGroup/UserIconGroup.d.ts +0 -62
  444. package/cjs/core/UserIconGroup/index.d.ts +0 -4
  445. package/cjs/core/Wizard/Wizard.d.ts +0 -54
  446. package/cjs/core/Wizard/index.d.ts +0 -4
  447. package/cjs/core/utils/components/icons.js +0 -32
  448. package/esm/core/UserIcon/UserIcon.d.ts +0 -57
  449. package/esm/core/UserIcon/index.d.ts +0 -4
  450. package/esm/core/UserIconGroup/UserIconGroup.d.ts +0 -62
  451. package/esm/core/UserIconGroup/index.d.ts +0 -4
  452. package/esm/core/Wizard/Wizard.d.ts +0 -54
  453. package/esm/core/Wizard/index.d.ts +0 -4
@@ -26,8 +26,12 @@ export declare type HeaderProps = {
26
26
  */
27
27
  breadcrumbs?: React.ReactNode;
28
28
  /**
29
- * Content displayed to the left of the user icon
29
+ * Content displayed to the left of the `menuItems`
30
30
  * (expects array of `IconButton`, potentially wrapped in a `DropdownMenu`)
31
+ *
32
+ * Since v2, `userIcon` is deprecated.
33
+ * The new recommendation is to add `Avatar` (Called `UserIcon` before v2) to the end of `actions`.
34
+ * `Avatar` can be wrapped in `IconButton` and `DropdownMenu` if needed.
31
35
  * @example
32
36
  * [
33
37
  * <IconButton><SvgNotification /></IconButton>,
@@ -35,6 +39,11 @@ export declare type HeaderProps = {
35
39
  * <IconButton>
36
40
  * <SvgHelpCircularHollow />
37
41
  * </IconButton>
42
+ * </DropdownMenu>,
43
+ * <DropdownMenu menuItems={...}>
44
+ * <IconButton styleType='borderless'>
45
+ * <Avatar ... />
46
+ * </IconButton>
38
47
  * </DropdownMenu>
39
48
  * ]
40
49
  */
@@ -44,7 +53,10 @@ export declare type HeaderProps = {
44
53
  */
45
54
  children?: React.ReactNode;
46
55
  /**
56
+ * @deprecated Since v2, add your `UserIcon` (called `Avatar` since v2) to the end of `actions` itself
57
+ *
47
58
  * User icon
59
+ *
48
60
  * It's size and transition will be handled between slim/not slim state of the
49
61
  * Header
50
62
  * (expects `UserIcon`, can be wrapped in `IconButton` and `DropdownMenu` if needed)
@@ -89,15 +101,13 @@ export declare type HeaderProps = {
89
101
  * <IconButton>
90
102
  * <SvgHelpCircularHollow />
91
103
  * </IconButton>
92
- * </DropdownMenu>
93
- * ]}
94
- * userIcon={
104
+ * </DropdownMenu>,
95
105
  * <DropdownMenu menuItems={...}>
96
106
  * <IconButton styleType='borderless'>
97
- * <UserIcon ... />
107
+ * <Avatar ... />
98
108
  * </IconButton>
99
109
  * </DropdownMenu>
100
- * }
110
+ * ]}
101
111
  * isSlim
102
112
  * />
103
113
  */
@@ -30,7 +30,6 @@ exports.Header = void 0;
30
30
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
31
31
  * See LICENSE.md in the project root for license terms and full copyright notice.
32
32
  *--------------------------------------------------------------------------------------------*/
33
- var MoreVertical_1 = __importDefault(require("@itwin/itwinui-icons-react/cjs/icons/MoreVertical"));
34
33
  var classnames_1 = __importDefault(require("classnames"));
35
34
  var react_1 = __importDefault(require("react"));
36
35
  var Buttons_1 = require("../Buttons");
@@ -57,15 +56,13 @@ var defaultTranslations = {
57
56
  * <IconButton>
58
57
  * <SvgHelpCircularHollow />
59
58
  * </IconButton>
60
- * </DropdownMenu>
61
- * ]}
62
- * userIcon={
59
+ * </DropdownMenu>,
63
60
  * <DropdownMenu menuItems={...}>
64
61
  * <IconButton styleType='borderless'>
65
- * <UserIcon ... />
62
+ * <Avatar ... />
66
63
  * </IconButton>
67
64
  * </DropdownMenu>
68
- * }
65
+ * ]}
69
66
  * isSlim
70
67
  * />
71
68
  */
@@ -73,18 +70,18 @@ var Header = function (props) {
73
70
  var appLogo = props.appLogo, breadcrumbs = props.breadcrumbs, _a = props.isSlim, isSlim = _a === void 0 ? false : _a, actions = props.actions, userIcon = props.userIcon, menuItems = props.menuItems, translatedStrings = props.translatedStrings, className = props.className, children = props.children, rest = __rest(props, ["appLogo", "breadcrumbs", "isSlim", "actions", "userIcon", "menuItems", "translatedStrings", "className", "children"]);
74
71
  (0, utils_1.useTheme)();
75
72
  var headerTranslations = __assign(__assign({}, defaultTranslations), translatedStrings);
76
- return (react_1.default.createElement("header", __assign({ className: (0, classnames_1.default)('iui-page-header', { 'iui-slim': isSlim }, className) }, rest),
77
- react_1.default.createElement("div", { className: 'iui-left' },
73
+ return (react_1.default.createElement("header", __assign({ className: (0, classnames_1.default)('iui-page-header', className), "data-iui-size": isSlim ? 'slim' : undefined }, rest),
74
+ react_1.default.createElement("div", { className: 'iui-page-header-left' },
78
75
  appLogo,
79
- breadcrumbs && react_1.default.createElement("div", { className: 'iui-divider' }),
76
+ breadcrumbs && react_1.default.createElement("div", { className: 'iui-page-header-divider' }),
80
77
  breadcrumbs),
81
- children && react_1.default.createElement("div", { className: 'iui-center' }, children),
82
- react_1.default.createElement("div", { className: 'iui-right' },
78
+ children && react_1.default.createElement("div", { className: 'iui-page-header-center' }, children),
79
+ react_1.default.createElement("div", { className: 'iui-page-header-right' },
83
80
  actions,
84
81
  userIcon,
85
82
  menuItems && (react_1.default.createElement(DropdownMenu_1.DropdownMenu, { menuItems: menuItems },
86
83
  react_1.default.createElement(Buttons_1.IconButton, { styleType: 'borderless', "aria-label": headerTranslations.moreOptions },
87
- react_1.default.createElement(MoreVertical_1.default, { "aria-hidden": true })))))));
84
+ react_1.default.createElement(utils_1.SvgMoreVertical, { "aria-hidden": true })))))));
88
85
  };
89
86
  exports.Header = Header;
90
87
  exports.default = exports.Header;
@@ -0,0 +1,6 @@
1
+ import { PolymorphicForwardRefComponent } from '../utils';
2
+ import { ButtonProps } from '../Buttons';
3
+ export declare type HeaderBasicButtonProps = ButtonProps;
4
+ declare type HeaderBasicButtonComponent = PolymorphicForwardRefComponent<'button', HeaderBasicButtonProps>;
5
+ export declare const HeaderBasicButton: HeaderBasicButtonComponent;
6
+ export default HeaderBasicButton;
@@ -0,0 +1,52 @@
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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
25
+ return (mod && mod.__esModule) ? mod : { "default": mod };
26
+ };
27
+ Object.defineProperty(exports, "__esModule", { value: true });
28
+ exports.HeaderBasicButton = void 0;
29
+ /*---------------------------------------------------------------------------------------------
30
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
31
+ * See LICENSE.md in the project root for license terms and full copyright notice.
32
+ *--------------------------------------------------------------------------------------------*/
33
+ var classnames_1 = __importDefault(require("classnames"));
34
+ var react_1 = __importDefault(require("react"));
35
+ var utils_1 = require("../utils");
36
+ exports.HeaderBasicButton = react_1.default.forwardRef(function (props, ref) {
37
+ var onClick = props.onClick, className = props.className, children = props.children, style = props.style, _a = props.type, type = _a === void 0 ? 'button' : _a, startIcon = props.startIcon, endIcon = props.endIcon, _b = props.as, Element = _b === void 0 ? 'button' : _b, styleType = props.styleType, size = props.size, rest = __rest(props, ["onClick", "className", "children", "style", "type", "startIcon", "endIcon", "as", "styleType", "size"]);
38
+ styleType; // To omit and prevent eslint error.
39
+ size; // To omit and prevent eslint error.
40
+ (0, utils_1.useTheme)();
41
+ return (react_1.default.createElement(Element, __assign({ className: (0, classnames_1.default)('iui-header-breadcrumb-button', className), onClick: onClick, ref: ref, type: type, style: style }, rest),
42
+ startIcon &&
43
+ react_1.default.cloneElement(startIcon, {
44
+ className: startIcon.props.className,
45
+ }),
46
+ children,
47
+ endIcon &&
48
+ react_1.default.cloneElement(endIcon, {
49
+ className: endIcon.props.className,
50
+ })));
51
+ });
52
+ exports.default = exports.HeaderBasicButton;
@@ -39,7 +39,6 @@ exports.HeaderBreadcrumbs = void 0;
39
39
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
40
40
  * See LICENSE.md in the project root for license terms and full copyright notice.
41
41
  *--------------------------------------------------------------------------------------------*/
42
- var ChevronRight_1 = __importDefault(require("@itwin/itwinui-icons-react/cjs/icons/ChevronRight"));
43
42
  var react_1 = __importDefault(require("react"));
44
43
  var utils_1 = require("../utils");
45
44
  require("@itwin/itwinui-css/css/header.css");
@@ -56,10 +55,12 @@ require("@itwin/itwinui-css/css/header.css");
56
55
  var HeaderBreadcrumbs = function (props) {
57
56
  var items = props.items, rest = __rest(props, ["items"]);
58
57
  (0, utils_1.useTheme)();
59
- return (react_1.default.createElement("nav", __assign({ "aria-label": 'breadcrumbs' }, rest), items.reduce(function (previous, current, index) { return __spreadArray(__spreadArray([], previous, true), [
60
- current,
61
- index !== items.length - 1 && (react_1.default.createElement(ChevronRight_1.default, { key: "chevron".concat(index), "aria-hidden": true, className: 'iui-chevron' })),
62
- ], false); }, [])));
58
+ return (react_1.default.createElement("nav", __assign({ "aria-label": 'breadcrumbs', className: 'iui-header-breadcrumbs' }, rest),
59
+ react_1.default.createElement("ol", { className: 'iui-header-breadcrumbs-list' }, items.reduce(function (previous, current, index) { return __spreadArray(__spreadArray([], previous, true), [
60
+ current,
61
+ index !== items.length - 1 && (react_1.default.createElement("li", { className: 'iui-breadcrumbs-separator', key: index },
62
+ react_1.default.createElement(utils_1.SvgChevronRight, { key: "chevron".concat(index), "aria-hidden": true, className: 'iui-chevron' }))),
63
+ ], false); }, []))));
63
64
  };
64
65
  exports.HeaderBreadcrumbs = HeaderBreadcrumbs;
65
66
  exports.default = exports.HeaderBreadcrumbs;
@@ -1,7 +1,8 @@
1
1
  import React from 'react';
2
- import { ButtonProps, DropdownButtonProps } from '../Buttons';
2
+ import { ButtonProps } from '../Buttons';
3
3
  import { PolymorphicForwardRefComponent } from '../utils';
4
4
  import '@itwin/itwinui-css/css/header.css';
5
+ import { HeaderDropdownButtonProps } from './HeaderDropdownButton';
5
6
  export declare type HeaderButtonProps = {
6
7
  /**
7
8
  * Main label of the header button.
@@ -16,7 +17,7 @@ export declare type HeaderButtonProps = {
16
17
  * @default false
17
18
  */
18
19
  isActive?: boolean;
19
- } & Partial<Pick<DropdownButtonProps, 'menuItems'>> & Pick<ButtonProps, 'startIcon' | 'endIcon'>;
20
+ } & Partial<Pick<HeaderDropdownButtonProps, 'menuItems'>> & Pick<ButtonProps, 'startIcon' | 'endIcon'>;
20
21
  declare type HeaderButtonComponent = PolymorphicForwardRefComponent<'button', HeaderButtonProps>;
21
22
  /**
22
23
  * Header button that handles slim state of the `Header` it's in.
@@ -32,9 +32,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
32
32
  exports.HeaderButton = void 0;
33
33
  var classnames_1 = __importDefault(require("classnames"));
34
34
  var react_1 = __importDefault(require("react"));
35
- var Buttons_1 = require("../Buttons");
36
35
  var utils_1 = require("../utils");
37
36
  require("@itwin/itwinui-css/css/header.css");
37
+ var HeaderSplitButton_1 = require("./HeaderSplitButton");
38
+ var HeaderDropdownButton_1 = require("./HeaderDropdownButton");
39
+ var HeaderBasicButton_1 = require("./HeaderBasicButton");
38
40
  var isSplitButton = function (props) {
39
41
  return !!props.menuItems && !!props.onClick;
40
42
  };
@@ -52,26 +54,16 @@ var isDropdownButton = function (props) {
52
54
  * <HeaderButton name='Project D' isActive />
53
55
  */
54
56
  exports.HeaderButton = react_1.default.forwardRef(function (props, ref) {
55
- var name = props.name, description = props.description, _a = props.isActive, isActive = _a === void 0 ? false : _a, className = props.className, startIcon = props.startIcon, menuItems = props.menuItems, rest = __rest(props, ["name", "description", "isActive", "className", "startIcon", "menuItems"]);
57
+ var name = props.name, description = props.description, _a = props.isActive, isActive = _a === void 0 ? false : _a, className = props.className, startIcon = props.startIcon, menuItems = props.menuItems, disabled = props.disabled, rest = __rest(props, ["name", "description", "isActive", "className", "startIcon", "menuItems", "disabled"]);
56
58
  (0, utils_1.useTheme)();
57
59
  var buttonProps = __assign(__assign({ startIcon: react_1.default.isValidElement(startIcon)
58
60
  ? react_1.default.cloneElement(startIcon, {
59
- className: (0, classnames_1.default)('iui-header-button-icon', startIcon.props.className),
61
+ className: (0, classnames_1.default)('iui-header-breadcrumb-button-icon', startIcon.props.className),
60
62
  })
61
- : undefined, styleType: 'borderless', className: (0, classnames_1.default)({
62
- 'iui-header-button': !isSplitButton(props),
63
- 'iui-header-split-button': isSplitButton(props),
64
- 'iui-header-dropdown-button': !isSplitButton(props) && isDropdownButton(props),
65
- 'iui-active': isActive,
66
- }, className), 'aria-current': isActive ? 'location' : undefined, children: (react_1.default.createElement(react_1.default.Fragment, null,
67
- react_1.default.createElement("div", null, name),
68
- description && react_1.default.createElement("div", { className: 'iui-description' }, description))), ref: ref }, (!!menuItems && { menuItems: menuItems })), rest);
69
- if (isSplitButton(buttonProps)) {
70
- return react_1.default.createElement(Buttons_1.SplitButton, __assign({}, buttonProps));
71
- }
72
- if (isDropdownButton(buttonProps)) {
73
- return react_1.default.createElement(Buttons_1.DropdownButton, __assign({}, buttonProps));
74
- }
75
- return react_1.default.createElement(Buttons_1.Button, __assign({}, buttonProps));
63
+ : undefined, className: className, children: (react_1.default.createElement("span", { className: 'iui-header-breadcrumb-button-text' },
64
+ react_1.default.createElement("span", { className: 'iui-header-breadcrumb-button-text-label' }, name),
65
+ description && (react_1.default.createElement("span", { className: 'iui-header-breadcrumb-button-text-sublabel' }, description)))), ref: ref, disabled: disabled }, (!!menuItems && { menuItems: menuItems })), rest);
66
+ var headerButton = isSplitButton(buttonProps) ? (react_1.default.createElement(HeaderSplitButton_1.HeaderSplitButton, __assign({}, buttonProps))) : isDropdownButton(buttonProps) ? (react_1.default.createElement(HeaderDropdownButton_1.HeaderDropdownButton, __assign({}, buttonProps))) : (react_1.default.createElement(HeaderBasicButton_1.HeaderBasicButton, __assign({}, buttonProps)));
67
+ return (react_1.default.createElement("li", { className: 'iui-header-breadcrumb-item', "aria-current": isActive ? 'location' : undefined, "aria-disabled": disabled ? 'true' : undefined }, headerButton));
76
68
  });
77
69
  exports.default = exports.HeaderButton;
@@ -0,0 +1,6 @@
1
+ import { PolymorphicForwardRefComponent } from '../utils';
2
+ import { DropdownButtonProps } from '../Buttons';
3
+ export declare type HeaderDropdownButtonProps = DropdownButtonProps;
4
+ declare type HeaderDropdownButtonComponent = PolymorphicForwardRefComponent<'button', HeaderDropdownButtonProps>;
5
+ export declare const HeaderDropdownButton: HeaderDropdownButtonComponent;
6
+ export default HeaderDropdownButton;
@@ -0,0 +1,53 @@
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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
25
+ return (mod && mod.__esModule) ? mod : { "default": mod };
26
+ };
27
+ Object.defineProperty(exports, "__esModule", { value: true });
28
+ exports.HeaderDropdownButton = void 0;
29
+ /*---------------------------------------------------------------------------------------------
30
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
31
+ * See LICENSE.md in the project root for license terms and full copyright notice.
32
+ *--------------------------------------------------------------------------------------------*/
33
+ var classnames_1 = __importDefault(require("classnames"));
34
+ var react_1 = __importDefault(require("react"));
35
+ var DropdownMenu_1 = require("../DropdownMenu");
36
+ var utils_1 = require("../utils");
37
+ var HeaderBasicButton_1 = require("./HeaderBasicButton");
38
+ exports.HeaderDropdownButton = react_1.default.forwardRef(function (props, ref) {
39
+ var menuItems = props.menuItems, className = props.className, children = props.children, rest = __rest(props, ["menuItems", "className", "children"]);
40
+ (0, utils_1.useTheme)();
41
+ var _a = react_1.default.useState(false), isMenuOpen = _a[0], setIsMenuOpen = _a[1];
42
+ var _b = react_1.default.useState(0), menuWidth = _b[0], setMenuWidth = _b[1];
43
+ var buttonRef = react_1.default.useRef(null);
44
+ var refs = (0, utils_1.useMergedRefs)(ref, buttonRef);
45
+ react_1.default.useEffect(function () {
46
+ if (buttonRef.current) {
47
+ setMenuWidth(buttonRef.current.offsetWidth);
48
+ }
49
+ }, [children]);
50
+ return (react_1.default.createElement(DropdownMenu_1.DropdownMenu, { menuItems: menuItems, style: { minWidth: menuWidth }, onShow: function () { return setIsMenuOpen(true); }, onHide: function () { return setIsMenuOpen(false); } },
51
+ react_1.default.createElement(HeaderBasicButton_1.HeaderBasicButton, __assign({ className: (0, classnames_1.default)('iui-header-breadcrumb-button', className), ref: refs, "aria-label": 'Dropdown', endIcon: isMenuOpen ? (react_1.default.createElement(utils_1.SvgCaretUpSmall, { className: 'iui-header-breadcrumb-button-dropdown-icon', "aria-hidden": true })) : (react_1.default.createElement(utils_1.SvgCaretDownSmall, { className: 'iui-header-breadcrumb-button-dropdown-icon', "aria-hidden": true })) }, rest), children)));
52
+ });
53
+ exports.default = exports.HeaderDropdownButton;
@@ -52,13 +52,13 @@ var HeaderLogo = function (props) {
52
52
  }
53
53
  };
54
54
  (0, utils_1.useTheme)();
55
- return (react_1.default.createElement("div", __assign({ className: (0, classnames_1.default)('iui-header-logo', className), role: onClick && 'button', tabIndex: onClick && 0, onKeyDown: keyDownHandler, onClick: onClick }, rest),
55
+ return (react_1.default.createElement("div", __assign({ className: (0, classnames_1.default)('iui-header-brand', className), role: onClick && 'button', tabIndex: onClick && 0, onKeyDown: keyDownHandler, onClick: onClick }, rest),
56
56
  react_1.default.isValidElement(logo)
57
57
  ? react_1.default.cloneElement(logo, {
58
- className: (0, classnames_1.default)('iui-header-button-icon', logo.props.className),
58
+ className: (0, classnames_1.default)('iui-header-brand-icon', logo.props.className),
59
59
  })
60
60
  : undefined,
61
- children && react_1.default.createElement("span", { className: 'iui-label' }, children)));
61
+ children && react_1.default.createElement("span", { className: 'iui-header-brand-label' }, children)));
62
62
  };
63
63
  exports.HeaderLogo = HeaderLogo;
64
64
  exports.default = exports.HeaderLogo;
@@ -0,0 +1,6 @@
1
+ import { PolymorphicForwardRefComponent } from '../utils';
2
+ import { SplitButtonProps } from '../Buttons';
3
+ export declare type HeaderSplitButtonProps = SplitButtonProps;
4
+ declare type HeaderSplitButtonComponent = PolymorphicForwardRefComponent<'button', HeaderSplitButtonProps>;
5
+ export declare const HeaderSplitButton: HeaderSplitButtonComponent;
6
+ export default HeaderSplitButton;
@@ -0,0 +1,54 @@
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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
25
+ return (mod && mod.__esModule) ? mod : { "default": mod };
26
+ };
27
+ Object.defineProperty(exports, "__esModule", { value: true });
28
+ exports.HeaderSplitButton = void 0;
29
+ /*---------------------------------------------------------------------------------------------
30
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
31
+ * See LICENSE.md in the project root for license terms and full copyright notice.
32
+ *--------------------------------------------------------------------------------------------*/
33
+ var classnames_1 = __importDefault(require("classnames"));
34
+ var react_1 = __importDefault(require("react"));
35
+ var DropdownMenu_1 = require("../DropdownMenu");
36
+ var utils_1 = require("../utils");
37
+ var HeaderBasicButton_1 = require("./HeaderBasicButton");
38
+ exports.HeaderSplitButton = react_1.default.forwardRef(function (props, forwardedRef) {
39
+ var menuItems = props.menuItems, className = props.className, _a = props.menuPlacement, menuPlacement = _a === void 0 ? 'bottom-end' : _a, children = props.children, style = props.style, title = props.title, disabled = props.disabled, rest = __rest(props, ["menuItems", "className", "menuPlacement", "children", "style", "title", "disabled"]);
40
+ (0, utils_1.useTheme)();
41
+ var _b = react_1.default.useState(false), isMenuOpen = _b[0], setIsMenuOpen = _b[1];
42
+ var _c = react_1.default.useState(0), menuWidth = _c[0], setMenuWidth = _c[1];
43
+ var ref = react_1.default.useRef(null);
44
+ react_1.default.useEffect(function () {
45
+ if (ref.current) {
46
+ setMenuWidth(ref.current.offsetWidth);
47
+ }
48
+ }, [children]);
49
+ return (react_1.default.createElement("span", { className: (0, classnames_1.default)('iui-header-breadcrumb-button-wrapper', className), style: style, title: title, ref: ref },
50
+ react_1.default.createElement(HeaderBasicButton_1.HeaderBasicButton, __assign({ ref: forwardedRef, disabled: disabled }, rest), children),
51
+ react_1.default.createElement(DropdownMenu_1.DropdownMenu, { placement: menuPlacement, menuItems: menuItems, style: { minWidth: menuWidth }, onShow: react_1.default.useCallback(function () { return setIsMenuOpen(true); }, []), onHide: react_1.default.useCallback(function () { return setIsMenuOpen(false); }, []) },
52
+ react_1.default.createElement("button", { className: 'iui-header-breadcrumb-button iui-header-breadcrumb-button-split', disabled: disabled }, isMenuOpen ? (react_1.default.createElement(utils_1.SvgCaretUpSmall, { className: 'iui-header-breadcrumb-button-dropdown-icon', "aria-hidden": true })) : (react_1.default.createElement(utils_1.SvgCaretDownSmall, { className: 'iui-header-breadcrumb-button-dropdown-icon', "aria-hidden": true }))))));
53
+ });
54
+ exports.default = exports.HeaderSplitButton;
@@ -33,7 +33,6 @@ exports.InformationPanelHeader = void 0;
33
33
  var react_1 = __importDefault(require("react"));
34
34
  var classnames_1 = __importDefault(require("classnames"));
35
35
  var Buttons_1 = require("../Buttons");
36
- var CloseSmall_1 = __importDefault(require("@itwin/itwinui-icons-react/cjs/icons/CloseSmall"));
37
36
  var utils_1 = require("../utils");
38
37
  require("@itwin/itwinui-css/css/information-panel.css");
39
38
  /**
@@ -60,7 +59,7 @@ var InformationPanelHeader = function (props) {
60
59
  react_1.default.createElement("div", { className: 'iui-information-header-actions' },
61
60
  actions,
62
61
  onClose && (react_1.default.createElement(Buttons_1.IconButton, { styleType: 'borderless', onClick: onClose, "aria-label": 'Close' },
63
- react_1.default.createElement(CloseSmall_1.default, { "aria-hidden": true }))))));
62
+ react_1.default.createElement(utils_1.SvgCloseSmall, { "aria-hidden": true }))))));
64
63
  };
65
64
  exports.InformationPanelHeader = InformationPanelHeader;
66
65
  exports.default = exports.InformationPanelHeader;
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import '@itwin/itwinui-css/css/inputs.css';
2
+ import '@itwin/itwinui-css/css/input.css';
3
3
  export declare type InputProps = {
4
4
  /**
5
5
  * Set focus on input element.
@@ -33,7 +33,7 @@ exports.Input = void 0;
33
33
  var classnames_1 = __importDefault(require("classnames"));
34
34
  var react_1 = __importDefault(require("react"));
35
35
  var utils_1 = require("../utils");
36
- require("@itwin/itwinui-css/css/inputs.css");
36
+ require("@itwin/itwinui-css/css/input.css");
37
37
  /**
38
38
  * Basic input component
39
39
  * @example
@@ -42,8 +42,7 @@ require("@itwin/itwinui-css/css/inputs.css");
42
42
  * <Input size='small' />
43
43
  */
44
44
  exports.Input = react_1.default.forwardRef(function (props, ref) {
45
- var _a;
46
- var _b = props.setFocus, setFocus = _b === void 0 ? false : _b, size = props.size, className = props.className, rest = __rest(props, ["setFocus", "size", "className"]);
45
+ var _a = props.setFocus, setFocus = _a === void 0 ? false : _a, size = props.size, className = props.className, rest = __rest(props, ["setFocus", "size", "className"]);
47
46
  (0, utils_1.useTheme)();
48
47
  var inputRef = react_1.default.useRef(null);
49
48
  var refs = (0, utils_1.useMergedRefs)(inputRef, ref);
@@ -52,6 +51,6 @@ exports.Input = react_1.default.forwardRef(function (props, ref) {
52
51
  inputRef.current.focus();
53
52
  }
54
53
  }, [setFocus]);
55
- return (react_1.default.createElement("input", __assign({ className: (0, classnames_1.default)('iui-input', (_a = {}, _a["iui-".concat(size)] = !!size, _a), className), ref: refs }, rest)));
54
+ return (react_1.default.createElement("input", __assign({ className: (0, classnames_1.default)('iui-input', className), "data-iui-size": size, ref: refs }, rest)));
56
55
  });
57
56
  exports.default = exports.Input;
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { CommonProps } from '../utils';
3
- import '@itwin/itwinui-css/css/inputs.css';
3
+ import '@itwin/itwinui-css/css/utils.css';
4
4
  export declare type InputGroupProps = {
5
5
  /**
6
6
  * Label of the group.
@@ -32,7 +32,7 @@ exports.InputGroup = void 0;
32
32
  *--------------------------------------------------------------------------------------------*/
33
33
  var react_1 = __importDefault(require("react"));
34
34
  var utils_1 = require("../utils");
35
- require("@itwin/itwinui-css/css/inputs.css");
35
+ require("@itwin/itwinui-css/css/utils.css");
36
36
  /**
37
37
  * Group Checkbox/Radio components together
38
38
  * @example
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import '@itwin/itwinui-css/css/inputs.css';
2
+ import '@itwin/itwinui-css/css/utils.css';
3
3
  declare type LabelOwnProps<T extends React.ElementType = 'label'> = {
4
4
  /**
5
5
  * What element should the label be rendered as?
@@ -33,7 +33,7 @@ exports.Label = void 0;
33
33
  var react_1 = __importDefault(require("react"));
34
34
  var classnames_1 = __importDefault(require("classnames"));
35
35
  var utils_1 = require("../utils");
36
- require("@itwin/itwinui-css/css/inputs.css");
36
+ require("@itwin/itwinui-css/css/utils.css");
37
37
  /**
38
38
  * A standalone label to be used with input components (using `htmlFor`).
39
39
  * Can be rendered as any element, e.g. span, using the `as` prop.
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { InputProps } from '../Input/Input';
3
- import '@itwin/itwinui-css/css/inputs.css';
3
+ import '@itwin/itwinui-css/css/input.css';
4
4
  export declare type LabeledInputProps = {
5
5
  /**
6
6
  * Label of the input.
@@ -93,7 +93,7 @@ export declare const LabeledInput: React.ForwardRefExoticComponent<{
93
93
  *
94
94
  * Defaults to 'block' if `displayStyle` is `default`, else 'inline'.
95
95
  */
96
- iconDisplayStyle?: "block" | "inline" | undefined;
96
+ iconDisplayStyle?: "inline" | "block" | undefined;
97
97
  } & {
98
98
  setFocus?: boolean | undefined;
99
99
  size?: "small" | "large" | undefined;
@@ -33,7 +33,7 @@ exports.LabeledInput = void 0;
33
33
  var react_1 = __importDefault(require("react"));
34
34
  var Input_1 = require("../Input/Input");
35
35
  var utils_1 = require("../utils");
36
- require("@itwin/itwinui-css/css/inputs.css");
36
+ require("@itwin/itwinui-css/css/input.css");
37
37
  /**
38
38
  * Basic labeled input component
39
39
  * @example
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { SelectProps } from '../Select/Select';
3
3
  import { LabeledInputProps } from '../LabeledInput';
4
- import '@itwin/itwinui-css/css/inputs.css';
4
+ import '@itwin/itwinui-css/css/select.css';
5
5
  export declare type LabeledSelectProps<T> = {
6
6
  /**
7
7
  * Label of the select.
@@ -33,7 +33,7 @@ exports.LabeledSelect = void 0;
33
33
  var react_1 = __importDefault(require("react"));
34
34
  var Select_1 = require("../Select");
35
35
  var utils_1 = require("../utils");
36
- require("@itwin/itwinui-css/css/inputs.css");
36
+ require("@itwin/itwinui-css/css/select.css");
37
37
  /**
38
38
  * Labeled select component to select value from options.
39
39
  * @example
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { TextareaProps } from '../Textarea/Textarea';
3
3
  import { LabeledInputProps } from '../LabeledInput';
4
- import '@itwin/itwinui-css/css/inputs.css';
4
+ import '@itwin/itwinui-css/css/input.css';
5
5
  export declare type LabeledTextareaProps = {
6
6
  /**
7
7
  * Label for the textarea.
@@ -33,7 +33,7 @@ exports.LabeledTextarea = void 0;
33
33
  var react_1 = __importDefault(require("react"));
34
34
  var utils_1 = require("../utils");
35
35
  var Textarea_1 = require("../Textarea");
36
- require("@itwin/itwinui-css/css/inputs.css");
36
+ require("@itwin/itwinui-css/css/input.css");
37
37
  /**
38
38
  * Textarea wrapper that allows for additional styling and labelling
39
39
  * @example
@@ -34,7 +34,6 @@ var react_1 = __importDefault(require("react"));
34
34
  var classnames_1 = __importDefault(require("classnames"));
35
35
  var utils_1 = require("../utils");
36
36
  require("@itwin/itwinui-css/css/menu.css");
37
- var CaretRightSmall_1 = __importDefault(require("@itwin/itwinui-icons-react/cjs/icons/CaretRightSmall"));
38
37
  var Menu_1 = require("./Menu");
39
38
  /**
40
39
  * Context used to provide menu item ref to sub-menu items.
@@ -100,7 +99,7 @@ exports.MenuItem = react_1.default.forwardRef(function (props, ref) {
100
99
  react_1.default.createElement("span", { className: 'iui-content' },
101
100
  react_1.default.createElement("div", { className: 'iui-menu-label' }, children),
102
101
  sublabel && react_1.default.createElement("div", { className: 'iui-menu-description' }, sublabel)),
103
- !badge && subMenuItems.length > 0 && (react_1.default.createElement(CaretRightSmall_1.default, { className: 'iui-icon' })),
102
+ !badge && subMenuItems.length > 0 && (react_1.default.createElement(utils_1.SvgCaretRightSmall, { className: 'iui-icon' })),
104
103
  badge &&
105
104
  react_1.default.cloneElement(badge, {
106
105
  className: (0, classnames_1.default)(badge.props.className, 'iui-icon'),
@@ -30,8 +30,6 @@ exports.ProgressRadial = void 0;
30
30
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
31
31
  * See LICENSE.md in the project root for license terms and full copyright notice.
32
32
  *--------------------------------------------------------------------------------------------*/
33
- var CheckmarkSmall_1 = __importDefault(require("@itwin/itwinui-icons-react/cjs/icons/CheckmarkSmall"));
34
- var ImportantSmall_1 = __importDefault(require("@itwin/itwinui-icons-react/cjs/icons/ImportantSmall"));
35
33
  var classnames_1 = __importDefault(require("classnames"));
36
34
  var react_1 = __importDefault(require("react"));
37
35
  var utils_1 = require("../../utils");
@@ -56,8 +54,8 @@ var ProgressRadial = function (props) {
56
54
  var _b = props.value, value = _b === void 0 ? 0 : _b, _c = props.indeterminate, indeterminate = _c === void 0 ? false : _c, status = props.status, children = props.children, _d = props.size, size = _d === void 0 ? '' : _d, className = props.className, style = props.style, rest = __rest(props, ["value", "indeterminate", "status", "children", "size", "className", "style"]);
57
55
  (0, utils_1.useTheme)();
58
56
  var statusMap = {
59
- negative: react_1.default.createElement(ImportantSmall_1.default, { "aria-hidden": true }),
60
- positive: react_1.default.createElement(CheckmarkSmall_1.default, { "aria-hidden": true }),
57
+ negative: react_1.default.createElement(utils_1.SvgImportantSmall, { "aria-hidden": true }),
58
+ positive: react_1.default.createElement(utils_1.SvgCheckmarkSmall, { "aria-hidden": true }),
61
59
  };
62
60
  var fillStyle = {
63
61
  strokeDashoffset: status === 'positive'