@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
@@ -59,6 +59,7 @@ export var DialogMain = React.forwardRef(function (props, ref) {
59
59
  var _l = React.useState(), style = _l[0], setStyle = _l[1];
60
60
  var dialogRef = React.useRef(null);
61
61
  var refs = useMergedRefs(dialogRef, ref);
62
+ var hasBeenResized = React.useRef(false);
62
63
  // Focuses dialog when opened and brings back focus to the previously focused element when closed.
63
64
  var previousFocusedElement = React.useRef();
64
65
  var setFocusRef = useLatestRef(setFocus);
@@ -144,7 +145,12 @@ export var DialogMain = React.forwardRef(function (props, ref) {
144
145
  'iui-dialog-visible': isOpen,
145
146
  'iui-dialog-draggable': isDraggable,
146
147
  }, className), role: 'dialog', ref: refs, onKeyDown: handleKeyDown, tabIndex: -1, style: __assign(__assign({ transform: transform, overflow: 'unset' }, style), propStyle) }, rest),
147
- isResizable && (React.createElement(Resizer, { elementRef: dialogRef, containerRef: dialogContext.dialogRootRef, onResizeEnd: setResizeStyle })),
148
+ isResizable && (React.createElement(Resizer, { elementRef: dialogRef, containerRef: dialogContext.dialogRootRef, onResizeStart: function () {
149
+ if (!hasBeenResized.current) {
150
+ hasBeenResized.current = true;
151
+ setResizeStyle({ maxWidth: '100%' });
152
+ }
153
+ }, onResizeEnd: setResizeStyle })),
148
154
  children));
149
155
  return (React.createElement(CSSTransition, { in: isOpen, classNames: 'iui-dialog-animation', timeout: { exit: 600 }, unmountOnExit: true, nodeRef: dialogRef },
150
156
  React.createElement(DialogDragContext.Provider, { value: { onPointerDown: handlePointerDown } },
@@ -28,7 +28,7 @@ export declare type DialogTitleBarProps = {
28
28
  * </IconButton>
29
29
  * </Dialog.TitleBar>
30
30
  */
31
- export declare const DialogTitleBar: React.ForwardRefExoticComponent<Pick<DialogTitleBarProps, "onClose" | "key" | keyof React.HTMLAttributes<HTMLDivElement> | "isDismissible" | "isDraggable" | "titleText"> & React.RefAttributes<HTMLDivElement>> & {
31
+ export declare const DialogTitleBar: React.ForwardRefExoticComponent<Pick<DialogTitleBarProps, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "onClose" | "isDismissible" | "isDraggable" | "titleText"> & React.RefAttributes<HTMLDivElement>> & {
32
32
  Title: React.ForwardRefExoticComponent<Pick<import("./DialogTitleBarTitle").DialogTitleBarTitleProps, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & React.RefAttributes<HTMLDivElement>>;
33
33
  };
34
34
  export default DialogTitleBar;
@@ -26,8 +26,7 @@ var __rest = (this && this.__rest) || function (s, e) {
26
26
  *--------------------------------------------------------------------------------------------*/
27
27
  import React from 'react';
28
28
  import cx from 'classnames';
29
- import SvgClose from '@itwin/itwinui-icons-react/cjs/icons/Close';
30
- import { useTheme } from '../utils';
29
+ import { useTheme, SvgClose } from '../utils';
31
30
  import { IconButton } from '../Buttons';
32
31
  import '@itwin/itwinui-css/css/dialog.css';
33
32
  import { useDialogContext } from './DialogContext';
@@ -24,10 +24,9 @@ var __rest = (this && this.__rest) || function (s, e) {
24
24
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
25
25
  * See LICENSE.md in the project root for license terms and full copyright notice.
26
26
  *--------------------------------------------------------------------------------------------*/
27
- import SvgChevronRight from '@itwin/itwinui-icons-react/cjs/icons/ChevronRight';
28
27
  import cx from 'classnames';
29
28
  import React from 'react';
30
- import { useTheme, StatusIconMap, WithCSSTransition, } from '../utils';
29
+ import { useTheme, StatusIconMap, WithCSSTransition, SvgChevronRight, } from '../utils';
31
30
  import '@itwin/itwinui-css/css/expandable-block.css';
32
31
  /**
33
32
  * Container that allows content to be hidden behind a brief title and a caption.
@@ -39,11 +38,10 @@ import '@itwin/itwinui-css/css/expandable-block.css';
39
38
  * <ExpandableBlock title='Block with icon' endIcon={<SvgPlaceholder />}>Content</ExpandableBlock>
40
39
  */
41
40
  export var ExpandableBlock = function (props) {
42
- var _a;
43
- var caption = props.caption, children = props.children, className = props.className, title = props.title, onToggle = props.onToggle, style = props.style, _b = props.isExpanded, isExpanded = _b === void 0 ? false : _b, endIcon = props.endIcon, status = props.status, _c = props.size, size = _c === void 0 ? 'default' : _c, _d = props.styleType, styleType = _d === void 0 ? 'default' : _d, rest = __rest(props, ["caption", "children", "className", "title", "onToggle", "style", "isExpanded", "endIcon", "status", "size", "styleType"]);
41
+ var caption = props.caption, children = props.children, className = props.className, title = props.title, onToggle = props.onToggle, style = props.style, _a = props.isExpanded, isExpanded = _a === void 0 ? false : _a, endIcon = props.endIcon, status = props.status, _b = props.size, size = _b === void 0 ? 'default' : _b, _c = props.styleType, styleType = _c === void 0 ? 'default' : _c, rest = __rest(props, ["caption", "children", "className", "title", "onToggle", "style", "isExpanded", "endIcon", "status", "size", "styleType"]);
44
42
  useTheme();
45
43
  var icon = endIcon !== null && endIcon !== void 0 ? endIcon : (status && StatusIconMap[status]());
46
- var _e = React.useState(isExpanded), expanded = _e[0], setExpanded = _e[1];
44
+ var _d = React.useState(isExpanded), expanded = _d[0], setExpanded = _d[1];
47
45
  React.useEffect(function () {
48
46
  setExpanded(isExpanded);
49
47
  }, [isExpanded]);
@@ -71,7 +69,8 @@ export var ExpandableBlock = function (props) {
71
69
  caption && React.createElement("div", { className: 'iui-caption' }, caption)),
72
70
  icon &&
73
71
  React.cloneElement(icon, {
74
- className: cx('iui-status-icon', (_a = {}, _a["iui-".concat(status)] = !!status, _a), icon.props.className),
72
+ className: cx('iui-status-icon', icon.props.className),
73
+ 'data-iui-icon-color': status,
75
74
  })),
76
75
  React.createElement(WithCSSTransition, { in: expanded },
77
76
  React.createElement("div", { className: 'iui-expandable-content' },
@@ -3,9 +3,8 @@
3
3
  * See LICENSE.md in the project root for license terms and full copyright notice.
4
4
  *--------------------------------------------------------------------------------------------*/
5
5
  import React from 'react';
6
- import { useTheme } from '../utils';
6
+ import { useTheme, SvgUpload } from '../utils';
7
7
  import '@itwin/itwinui-css/css/file-upload.css';
8
- import SvgUpload from '@itwin/itwinui-icons-react/cjs/icons/Upload';
9
8
  /**
10
9
  * Default template to be used with the `FileUpload` wrapper component.
11
10
  * Contains a hidden input with styled labels (customizable).
@@ -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
  */
@@ -24,11 +24,10 @@ var __rest = (this && this.__rest) || function (s, e) {
24
24
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
25
25
  * See LICENSE.md in the project root for license terms and full copyright notice.
26
26
  *--------------------------------------------------------------------------------------------*/
27
- import SvgMoreVertical from '@itwin/itwinui-icons-react/cjs/icons/MoreVertical';
28
27
  import cx from 'classnames';
29
28
  import React from 'react';
30
29
  import { IconButton } from '../Buttons';
31
- import { useTheme } from '../utils';
30
+ import { useTheme, SvgMoreVertical } from '../utils';
32
31
  import '@itwin/itwinui-css/css/header.css';
33
32
  import { DropdownMenu } from '../DropdownMenu';
34
33
  var defaultTranslations = {
@@ -51,15 +50,13 @@ var defaultTranslations = {
51
50
  * <IconButton>
52
51
  * <SvgHelpCircularHollow />
53
52
  * </IconButton>
54
- * </DropdownMenu>
55
- * ]}
56
- * userIcon={
53
+ * </DropdownMenu>,
57
54
  * <DropdownMenu menuItems={...}>
58
55
  * <IconButton styleType='borderless'>
59
- * <UserIcon ... />
56
+ * <Avatar ... />
60
57
  * </IconButton>
61
58
  * </DropdownMenu>
62
- * }
59
+ * ]}
63
60
  * isSlim
64
61
  * />
65
62
  */
@@ -67,13 +64,13 @@ export var Header = function (props) {
67
64
  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"]);
68
65
  useTheme();
69
66
  var headerTranslations = __assign(__assign({}, defaultTranslations), translatedStrings);
70
- return (React.createElement("header", __assign({ className: cx('iui-page-header', { 'iui-slim': isSlim }, className) }, rest),
71
- React.createElement("div", { className: 'iui-left' },
67
+ return (React.createElement("header", __assign({ className: cx('iui-page-header', className), "data-iui-size": isSlim ? 'slim' : undefined }, rest),
68
+ React.createElement("div", { className: 'iui-page-header-left' },
72
69
  appLogo,
73
- breadcrumbs && React.createElement("div", { className: 'iui-divider' }),
70
+ breadcrumbs && React.createElement("div", { className: 'iui-page-header-divider' }),
74
71
  breadcrumbs),
75
- children && React.createElement("div", { className: 'iui-center' }, children),
76
- React.createElement("div", { className: 'iui-right' },
72
+ children && React.createElement("div", { className: 'iui-page-header-center' }, children),
73
+ React.createElement("div", { className: 'iui-page-header-right' },
77
74
  actions,
78
75
  userIcon,
79
76
  menuItems && (React.createElement(DropdownMenu, { menuItems: menuItems },
@@ -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,46 @@
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
+ /*---------------------------------------------------------------------------------------------
24
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
25
+ * See LICENSE.md in the project root for license terms and full copyright notice.
26
+ *--------------------------------------------------------------------------------------------*/
27
+ import cx from 'classnames';
28
+ import React from 'react';
29
+ import { useTheme } from '../utils';
30
+ export var HeaderBasicButton = React.forwardRef(function (props, ref) {
31
+ 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"]);
32
+ styleType; // To omit and prevent eslint error.
33
+ size; // To omit and prevent eslint error.
34
+ useTheme();
35
+ return (React.createElement(Element, __assign({ className: cx('iui-header-breadcrumb-button', className), onClick: onClick, ref: ref, type: type, style: style }, rest),
36
+ startIcon &&
37
+ React.cloneElement(startIcon, {
38
+ className: startIcon.props.className,
39
+ }),
40
+ children,
41
+ endIcon &&
42
+ React.cloneElement(endIcon, {
43
+ className: endIcon.props.className,
44
+ })));
45
+ });
46
+ export default HeaderBasicButton;
@@ -33,9 +33,8 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
33
33
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
34
34
  * See LICENSE.md in the project root for license terms and full copyright notice.
35
35
  *--------------------------------------------------------------------------------------------*/
36
- import SvgChevronRight from '@itwin/itwinui-icons-react/cjs/icons/ChevronRight';
37
36
  import React from 'react';
38
- import { useTheme } from '../utils';
37
+ import { useTheme, SvgChevronRight } from '../utils';
39
38
  import '@itwin/itwinui-css/css/header.css';
40
39
  /**
41
40
  * Header breadcrumbs, adds chevron between each provided items.
@@ -50,9 +49,11 @@ import '@itwin/itwinui-css/css/header.css';
50
49
  export var HeaderBreadcrumbs = function (props) {
51
50
  var items = props.items, rest = __rest(props, ["items"]);
52
51
  useTheme();
53
- return (React.createElement("nav", __assign({ "aria-label": 'breadcrumbs' }, rest), items.reduce(function (previous, current, index) { return __spreadArray(__spreadArray([], previous, true), [
54
- current,
55
- index !== items.length - 1 && (React.createElement(SvgChevronRight, { key: "chevron".concat(index), "aria-hidden": true, className: 'iui-chevron' })),
56
- ], false); }, [])));
52
+ return (React.createElement("nav", __assign({ "aria-label": 'breadcrumbs', className: 'iui-header-breadcrumbs' }, rest),
53
+ React.createElement("ol", { className: 'iui-header-breadcrumbs-list' }, items.reduce(function (previous, current, index) { return __spreadArray(__spreadArray([], previous, true), [
54
+ current,
55
+ index !== items.length - 1 && (React.createElement("li", { className: 'iui-breadcrumbs-separator', key: index },
56
+ React.createElement(SvgChevronRight, { key: "chevron".concat(index), "aria-hidden": true, className: 'iui-chevron' }))),
57
+ ], false); }, []))));
57
58
  };
58
59
  export default 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.
@@ -26,9 +26,11 @@ var __rest = (this && this.__rest) || function (s, e) {
26
26
  };
27
27
  import cx from 'classnames';
28
28
  import React from 'react';
29
- import { Button, DropdownButton, SplitButton, } from '../Buttons';
30
29
  import { useTheme } from '../utils';
31
30
  import '@itwin/itwinui-css/css/header.css';
31
+ import { HeaderSplitButton } from './HeaderSplitButton';
32
+ import { HeaderDropdownButton, } from './HeaderDropdownButton';
33
+ import { HeaderBasicButton } from './HeaderBasicButton';
32
34
  var isSplitButton = function (props) {
33
35
  return !!props.menuItems && !!props.onClick;
34
36
  };
@@ -46,26 +48,16 @@ var isDropdownButton = function (props) {
46
48
  * <HeaderButton name='Project D' isActive />
47
49
  */
48
50
  export var HeaderButton = React.forwardRef(function (props, ref) {
49
- 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"]);
51
+ 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"]);
50
52
  useTheme();
51
53
  var buttonProps = __assign(__assign({ startIcon: React.isValidElement(startIcon)
52
54
  ? React.cloneElement(startIcon, {
53
- className: cx('iui-header-button-icon', startIcon.props.className),
55
+ className: cx('iui-header-breadcrumb-button-icon', startIcon.props.className),
54
56
  })
55
- : undefined, styleType: 'borderless', className: cx({
56
- 'iui-header-button': !isSplitButton(props),
57
- 'iui-header-split-button': isSplitButton(props),
58
- 'iui-header-dropdown-button': !isSplitButton(props) && isDropdownButton(props),
59
- 'iui-active': isActive,
60
- }, className), 'aria-current': isActive ? 'location' : undefined, children: (React.createElement(React.Fragment, null,
61
- React.createElement("div", null, name),
62
- description && React.createElement("div", { className: 'iui-description' }, description))), ref: ref }, (!!menuItems && { menuItems: menuItems })), rest);
63
- if (isSplitButton(buttonProps)) {
64
- return React.createElement(SplitButton, __assign({}, buttonProps));
65
- }
66
- if (isDropdownButton(buttonProps)) {
67
- return React.createElement(DropdownButton, __assign({}, buttonProps));
68
- }
69
- return React.createElement(Button, __assign({}, buttonProps));
57
+ : undefined, className: className, children: (React.createElement("span", { className: 'iui-header-breadcrumb-button-text' },
58
+ React.createElement("span", { className: 'iui-header-breadcrumb-button-text-label' }, name),
59
+ description && (React.createElement("span", { className: 'iui-header-breadcrumb-button-text-sublabel' }, description)))), ref: ref, disabled: disabled }, (!!menuItems && { menuItems: menuItems })), rest);
60
+ var headerButton = isSplitButton(buttonProps) ? (React.createElement(HeaderSplitButton, __assign({}, buttonProps))) : isDropdownButton(buttonProps) ? (React.createElement(HeaderDropdownButton, __assign({}, buttonProps))) : (React.createElement(HeaderBasicButton, __assign({}, buttonProps)));
61
+ return (React.createElement("li", { className: 'iui-header-breadcrumb-item', "aria-current": isActive ? 'location' : undefined, "aria-disabled": disabled ? 'true' : undefined }, headerButton));
70
62
  });
71
63
  export default 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,47 @@
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
+ /*---------------------------------------------------------------------------------------------
24
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
25
+ * See LICENSE.md in the project root for license terms and full copyright notice.
26
+ *--------------------------------------------------------------------------------------------*/
27
+ import cx from 'classnames';
28
+ import React from 'react';
29
+ import { DropdownMenu } from '../DropdownMenu';
30
+ import { useTheme, useMergedRefs, SvgCaretDownSmall, SvgCaretUpSmall, } from '../utils';
31
+ import { HeaderBasicButton } from './HeaderBasicButton';
32
+ export var HeaderDropdownButton = React.forwardRef(function (props, ref) {
33
+ var menuItems = props.menuItems, className = props.className, children = props.children, rest = __rest(props, ["menuItems", "className", "children"]);
34
+ useTheme();
35
+ var _a = React.useState(false), isMenuOpen = _a[0], setIsMenuOpen = _a[1];
36
+ var _b = React.useState(0), menuWidth = _b[0], setMenuWidth = _b[1];
37
+ var buttonRef = React.useRef(null);
38
+ var refs = useMergedRefs(ref, buttonRef);
39
+ React.useEffect(function () {
40
+ if (buttonRef.current) {
41
+ setMenuWidth(buttonRef.current.offsetWidth);
42
+ }
43
+ }, [children]);
44
+ return (React.createElement(DropdownMenu, { menuItems: menuItems, style: { minWidth: menuWidth }, onShow: function () { return setIsMenuOpen(true); }, onHide: function () { return setIsMenuOpen(false); } },
45
+ React.createElement(HeaderBasicButton, __assign({ className: cx('iui-header-breadcrumb-button', className), ref: refs, "aria-label": 'Dropdown', endIcon: isMenuOpen ? (React.createElement(SvgCaretUpSmall, { className: 'iui-header-breadcrumb-button-dropdown-icon', "aria-hidden": true })) : (React.createElement(SvgCaretDownSmall, { className: 'iui-header-breadcrumb-button-dropdown-icon', "aria-hidden": true })) }, rest), children)));
46
+ });
47
+ export default HeaderDropdownButton;
@@ -46,12 +46,12 @@ export var HeaderLogo = function (props) {
46
46
  }
47
47
  };
48
48
  useTheme();
49
- return (React.createElement("div", __assign({ className: cx('iui-header-logo', className), role: onClick && 'button', tabIndex: onClick && 0, onKeyDown: keyDownHandler, onClick: onClick }, rest),
49
+ return (React.createElement("div", __assign({ className: cx('iui-header-brand', className), role: onClick && 'button', tabIndex: onClick && 0, onKeyDown: keyDownHandler, onClick: onClick }, rest),
50
50
  React.isValidElement(logo)
51
51
  ? React.cloneElement(logo, {
52
- className: cx('iui-header-button-icon', logo.props.className),
52
+ className: cx('iui-header-brand-icon', logo.props.className),
53
53
  })
54
54
  : undefined,
55
- children && React.createElement("span", { className: 'iui-label' }, children)));
55
+ children && React.createElement("span", { className: 'iui-header-brand-label' }, children)));
56
56
  };
57
57
  export default 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,48 @@
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
+ /*---------------------------------------------------------------------------------------------
24
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
25
+ * See LICENSE.md in the project root for license terms and full copyright notice.
26
+ *--------------------------------------------------------------------------------------------*/
27
+ import cx from 'classnames';
28
+ import React from 'react';
29
+ import { DropdownMenu } from '../DropdownMenu';
30
+ import { useTheme, SvgCaretDownSmall, SvgCaretUpSmall, } from '../utils';
31
+ import { HeaderBasicButton } from './HeaderBasicButton';
32
+ export var HeaderSplitButton = React.forwardRef(function (props, forwardedRef) {
33
+ 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"]);
34
+ useTheme();
35
+ var _b = React.useState(false), isMenuOpen = _b[0], setIsMenuOpen = _b[1];
36
+ var _c = React.useState(0), menuWidth = _c[0], setMenuWidth = _c[1];
37
+ var ref = React.useRef(null);
38
+ React.useEffect(function () {
39
+ if (ref.current) {
40
+ setMenuWidth(ref.current.offsetWidth);
41
+ }
42
+ }, [children]);
43
+ return (React.createElement("span", { className: cx('iui-header-breadcrumb-button-wrapper', className), style: style, title: title, ref: ref },
44
+ React.createElement(HeaderBasicButton, __assign({ ref: forwardedRef, disabled: disabled }, rest), children),
45
+ React.createElement(DropdownMenu, { placement: menuPlacement, menuItems: menuItems, style: { minWidth: menuWidth }, onShow: React.useCallback(function () { return setIsMenuOpen(true); }, []), onHide: React.useCallback(function () { return setIsMenuOpen(false); }, []) },
46
+ React.createElement("button", { className: 'iui-header-breadcrumb-button iui-header-breadcrumb-button-split', disabled: disabled }, isMenuOpen ? (React.createElement(SvgCaretUpSmall, { className: 'iui-header-breadcrumb-button-dropdown-icon', "aria-hidden": true })) : (React.createElement(SvgCaretDownSmall, { className: 'iui-header-breadcrumb-button-dropdown-icon', "aria-hidden": true }))))));
47
+ });
48
+ export default HeaderSplitButton;
@@ -27,8 +27,7 @@ var __rest = (this && this.__rest) || function (s, e) {
27
27
  import React from 'react';
28
28
  import cx from 'classnames';
29
29
  import { IconButton } from '../Buttons';
30
- import SvgCloseSmall from '@itwin/itwinui-icons-react/cjs/icons/CloseSmall';
31
- import { useTheme } from '../utils';
30
+ import { useTheme, SvgCloseSmall } from '../utils';
32
31
  import '@itwin/itwinui-css/css/information-panel.css';
33
32
  /**
34
33
  * Header of the InformationPanel to be passed in the `header` prop.
@@ -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.
@@ -27,7 +27,7 @@ var __rest = (this && this.__rest) || function (s, e) {
27
27
  import cx from 'classnames';
28
28
  import React from 'react';
29
29
  import { useMergedRefs, useTheme } from '../utils';
30
- import '@itwin/itwinui-css/css/inputs.css';
30
+ import '@itwin/itwinui-css/css/input.css';
31
31
  /**
32
32
  * Basic input component
33
33
  * @example
@@ -36,8 +36,7 @@ import '@itwin/itwinui-css/css/inputs.css';
36
36
  * <Input size='small' />
37
37
  */
38
38
  export var Input = React.forwardRef(function (props, ref) {
39
- var _a;
40
- var _b = props.setFocus, setFocus = _b === void 0 ? false : _b, size = props.size, className = props.className, rest = __rest(props, ["setFocus", "size", "className"]);
39
+ var _a = props.setFocus, setFocus = _a === void 0 ? false : _a, size = props.size, className = props.className, rest = __rest(props, ["setFocus", "size", "className"]);
41
40
  useTheme();
42
41
  var inputRef = React.useRef(null);
43
42
  var refs = useMergedRefs(inputRef, ref);
@@ -46,6 +45,6 @@ export var Input = React.forwardRef(function (props, ref) {
46
45
  inputRef.current.focus();
47
46
  }
48
47
  }, [setFocus]);
49
- return (React.createElement("input", __assign({ className: cx('iui-input', (_a = {}, _a["iui-".concat(size)] = !!size, _a), className), ref: refs }, rest)));
48
+ return (React.createElement("input", __assign({ className: cx('iui-input', className), "data-iui-size": size, ref: refs }, rest)));
50
49
  });
51
50
  export default 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.
@@ -26,7 +26,7 @@ var __rest = (this && this.__rest) || function (s, e) {
26
26
  *--------------------------------------------------------------------------------------------*/
27
27
  import React from 'react';
28
28
  import { StatusIconMap, useTheme, InputContainer } from '../utils';
29
- import '@itwin/itwinui-css/css/inputs.css';
29
+ import '@itwin/itwinui-css/css/utils.css';
30
30
  /**
31
31
  * Group Checkbox/Radio components together
32
32
  * @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?
@@ -27,7 +27,7 @@ var __rest = (this && this.__rest) || function (s, e) {
27
27
  import React from 'react';
28
28
  import cx from 'classnames';
29
29
  import { useTheme } from '../utils';
30
- import '@itwin/itwinui-css/css/inputs.css';
30
+ import '@itwin/itwinui-css/css/utils.css';
31
31
  /**
32
32
  * A standalone label to be used with input components (using `htmlFor`).
33
33
  * 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;
@@ -27,7 +27,7 @@ var __rest = (this && this.__rest) || function (s, e) {
27
27
  import React from 'react';
28
28
  import { Input } from '../Input/Input';
29
29
  import { StatusIconMap, useTheme, InputContainer } from '../utils';
30
- import '@itwin/itwinui-css/css/inputs.css';
30
+ import '@itwin/itwinui-css/css/input.css';
31
31
  /**
32
32
  * Basic labeled input component
33
33
  * @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.
@@ -27,7 +27,7 @@ var __rest = (this && this.__rest) || function (s, e) {
27
27
  import React from 'react';
28
28
  import { Select } from '../Select';
29
29
  import { StatusIconMap, useTheme, InputContainer } from '../utils';
30
- import '@itwin/itwinui-css/css/inputs.css';
30
+ import '@itwin/itwinui-css/css/select.css';
31
31
  /**
32
32
  * Labeled select component to select value from options.
33
33
  * @example