@itwin/itwinui-react 2.11.4 → 3.0.0-dev.0

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 (877) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/README.md +2 -2
  3. package/cjs/core/Alert/Alert.d.ts +4 -4
  4. package/cjs/core/Alert/Alert.js +8 -10
  5. package/cjs/core/Alert/index.d.ts +0 -1
  6. package/cjs/core/Avatar/Avatar.d.ts +6 -14
  7. package/cjs/core/Avatar/Avatar.js +6 -8
  8. package/cjs/core/Avatar/index.d.ts +0 -1
  9. package/cjs/core/AvatarGroup/AvatarGroup.d.ts +5 -9
  10. package/cjs/core/AvatarGroup/AvatarGroup.js +14 -17
  11. package/cjs/core/AvatarGroup/index.d.ts +0 -1
  12. package/cjs/core/Backdrop/Backdrop.d.ts +3 -3
  13. package/cjs/core/Backdrop/Backdrop.js +1 -2
  14. package/cjs/core/Backdrop/index.d.ts +0 -1
  15. package/cjs/core/Badge/Badge.d.ts +4 -6
  16. package/cjs/core/Badge/Badge.js +3 -5
  17. package/cjs/core/Badge/index.d.ts +0 -1
  18. package/cjs/core/Breadcrumbs/Breadcrumbs.d.ts +4 -77
  19. package/cjs/core/Breadcrumbs/Breadcrumbs.js +5 -6
  20. package/cjs/core/Breadcrumbs/index.d.ts +0 -1
  21. package/cjs/core/ButtonGroup/ButtonGroup.d.ts +4 -3
  22. package/cjs/core/ButtonGroup/ButtonGroup.js +15 -13
  23. package/cjs/core/ButtonGroup/index.d.ts +0 -1
  24. package/cjs/core/Buttons/Button/Button.d.ts +4 -10
  25. package/cjs/core/Buttons/Button/Button.js +4 -5
  26. package/cjs/core/Buttons/Button/index.d.ts +0 -1
  27. package/cjs/core/Buttons/DropdownButton/DropdownButton.d.ts +5 -21
  28. package/cjs/core/Buttons/DropdownButton/DropdownButton.js +0 -1
  29. package/cjs/core/Buttons/DropdownButton/index.d.ts +0 -1
  30. package/cjs/core/Buttons/IconButton/IconButton.d.ts +2 -3
  31. package/cjs/core/Buttons/IconButton/IconButton.js +4 -5
  32. package/cjs/core/Buttons/IconButton/index.d.ts +0 -1
  33. package/cjs/core/Buttons/IdeasButton/IdeasButton.d.ts +3 -3
  34. package/cjs/core/Buttons/IdeasButton/IdeasButton.js +0 -1
  35. package/cjs/core/Buttons/IdeasButton/index.d.ts +0 -1
  36. package/cjs/core/Buttons/SplitButton/SplitButton.d.ts +2 -3
  37. package/cjs/core/Buttons/SplitButton/SplitButton.js +1 -2
  38. package/cjs/core/Buttons/SplitButton/index.d.ts +0 -1
  39. package/cjs/core/Buttons/index.d.ts +0 -5
  40. package/cjs/core/Carousel/Carousel.d.ts +24 -26
  41. package/cjs/core/Carousel/Carousel.js +22 -22
  42. package/cjs/core/Carousel/CarouselDot.d.ts +11 -9
  43. package/cjs/core/Carousel/CarouselDot.js +2 -1
  44. package/cjs/core/Carousel/CarouselDotsList.d.ts +11 -9
  45. package/cjs/core/Carousel/CarouselDotsList.js +1 -2
  46. package/cjs/core/Carousel/CarouselNavigation.d.ts +14 -5
  47. package/cjs/core/Carousel/CarouselNavigation.js +13 -9
  48. package/cjs/core/Carousel/CarouselSlide.d.ts +10 -8
  49. package/cjs/core/Carousel/CarouselSlide.js +1 -1
  50. package/cjs/core/Carousel/CarouselSlider.d.ts +2 -2
  51. package/cjs/core/Carousel/CarouselSlider.js +1 -1
  52. package/cjs/core/Carousel/index.d.ts +0 -1
  53. package/cjs/core/Checkbox/Checkbox.d.ts +4 -31
  54. package/cjs/core/Checkbox/Checkbox.js +3 -4
  55. package/cjs/core/Checkbox/index.d.ts +0 -1
  56. package/cjs/core/ColorPicker/ColorBuilder.d.ts +2 -4
  57. package/cjs/core/ColorPicker/ColorBuilder.js +3 -4
  58. package/cjs/core/ColorPicker/ColorInputPanel.d.ts +4 -18
  59. package/cjs/core/ColorPicker/ColorInputPanel.js +4 -5
  60. package/cjs/core/ColorPicker/ColorPalette.d.ts +3 -16
  61. package/cjs/core/ColorPicker/ColorPalette.js +3 -4
  62. package/cjs/core/ColorPicker/ColorPicker.d.ts +4 -4
  63. package/cjs/core/ColorPicker/ColorPicker.js +3 -5
  64. package/cjs/core/ColorPicker/ColorSwatch.d.ts +4 -5
  65. package/cjs/core/ColorPicker/ColorSwatch.js +1 -2
  66. package/cjs/core/ColorPicker/index.d.ts +0 -5
  67. package/cjs/core/ComboBox/ComboBox.d.ts +4 -4
  68. package/cjs/core/ComboBox/ComboBox.js +5 -7
  69. package/cjs/core/ComboBox/ComboBoxDropdown.d.ts +3 -3
  70. package/cjs/core/ComboBox/ComboBoxEndIcon.d.ts +7 -5
  71. package/cjs/core/ComboBox/ComboBoxEndIcon.js +1 -1
  72. package/cjs/core/ComboBox/ComboBoxInput.d.ts +7 -6
  73. package/cjs/core/ComboBox/ComboBoxInputContainer.d.ts +3 -7
  74. package/cjs/core/ComboBox/ComboBoxInputContainer.js +4 -5
  75. package/cjs/core/ComboBox/ComboBoxMenu.d.ts +5 -2
  76. package/cjs/core/ComboBox/ComboBoxMenu.js +2 -2
  77. package/cjs/core/ComboBox/ComboBoxMenuItem.d.ts +6 -19
  78. package/cjs/core/ComboBox/ComboBoxMenuItem.js +8 -22
  79. package/cjs/core/ComboBox/ComboBoxMultipleContainer.d.ts +6 -3
  80. package/cjs/core/ComboBox/index.d.ts +0 -1
  81. package/cjs/core/DatePicker/DatePicker.d.ts +4 -4
  82. package/cjs/core/DatePicker/DatePicker.js +9 -11
  83. package/cjs/core/DatePicker/index.d.ts +0 -1
  84. package/cjs/core/Dialog/Dialog.d.ts +13 -9
  85. package/cjs/core/Dialog/Dialog.js +21 -22
  86. package/cjs/core/Dialog/DialogBackdrop.d.ts +4 -4
  87. package/cjs/core/Dialog/DialogBackdrop.js +1 -3
  88. package/cjs/core/Dialog/DialogButtonBar.d.ts +1 -8
  89. package/cjs/core/Dialog/DialogButtonBar.js +1 -33
  90. package/cjs/core/Dialog/DialogContent.d.ts +1 -8
  91. package/cjs/core/Dialog/DialogContent.js +1 -33
  92. package/cjs/core/Dialog/DialogMain.d.ts +3 -2
  93. package/cjs/core/Dialog/DialogMain.js +1 -2
  94. package/cjs/core/Dialog/DialogTitleBar.d.ts +5 -4
  95. package/cjs/core/Dialog/DialogTitleBar.js +1 -2
  96. package/cjs/core/Dialog/DialogTitleBarTitle.d.ts +1 -8
  97. package/cjs/core/Dialog/DialogTitleBarTitle.js +1 -33
  98. package/cjs/core/Dialog/index.d.ts +0 -5
  99. package/cjs/core/DropdownMenu/DropdownMenu.js +0 -1
  100. package/cjs/core/ExpandableBlock/ExpandableBlock.d.ts +4 -4
  101. package/cjs/core/ExpandableBlock/ExpandableBlock.js +9 -11
  102. package/cjs/core/ExpandableBlock/index.d.ts +0 -1
  103. package/cjs/core/Fieldset/Fieldset.d.ts +4 -3
  104. package/cjs/core/Fieldset/Fieldset.js +3 -5
  105. package/cjs/core/Fieldset/index.d.ts +0 -1
  106. package/cjs/core/FileUpload/FileEmptyCard.d.ts +4 -11
  107. package/cjs/core/FileUpload/FileEmptyCard.js +16 -13
  108. package/cjs/core/FileUpload/FileUpload.d.ts +4 -25
  109. package/cjs/core/FileUpload/FileUpload.js +3 -4
  110. package/cjs/core/FileUpload/FileUploadCard.d.ts +11 -51
  111. package/cjs/core/FileUpload/FileUploadCard.js +43 -35
  112. package/cjs/core/FileUpload/FileUploadTemplate.d.ts +4 -3
  113. package/cjs/core/FileUpload/FileUploadTemplate.js +5 -7
  114. package/cjs/core/FileUpload/index.d.ts +0 -4
  115. package/cjs/core/Footer/Footer.d.ts +6 -10
  116. package/cjs/core/Footer/Footer.js +1 -2
  117. package/cjs/core/Footer/FooterItem.d.ts +1 -3
  118. package/cjs/core/Footer/FooterItem.js +1 -34
  119. package/cjs/core/Footer/FooterList.d.ts +1 -3
  120. package/cjs/core/Footer/FooterList.js +1 -34
  121. package/cjs/core/Footer/FooterSeparator.d.ts +1 -3
  122. package/cjs/core/Footer/FooterSeparator.js +3 -34
  123. package/cjs/core/Footer/index.d.ts +1 -1
  124. package/cjs/core/Header/Header.d.ts +5 -5
  125. package/cjs/core/Header/Header.js +7 -9
  126. package/cjs/core/Header/HeaderBasicButton.d.ts +2 -4
  127. package/cjs/core/Header/HeaderBasicButton.js +4 -11
  128. package/cjs/core/Header/HeaderBreadcrumbs.d.ts +3 -2
  129. package/cjs/core/Header/HeaderBreadcrumbs.js +10 -8
  130. package/cjs/core/Header/HeaderButton.d.ts +5 -6
  131. package/cjs/core/Header/HeaderButton.js +8 -24
  132. package/cjs/core/Header/HeaderDropdownButton.d.ts +2 -4
  133. package/cjs/core/Header/HeaderDropdownButton.js +0 -1
  134. package/cjs/core/Header/HeaderLogo.d.ts +1 -2
  135. package/cjs/core/Header/HeaderLogo.js +5 -12
  136. package/cjs/core/Header/HeaderSplitButton.d.ts +2 -4
  137. package/cjs/core/Header/HeaderSplitButton.js +3 -4
  138. package/cjs/core/Header/index.d.ts +0 -4
  139. package/cjs/core/InformationPanel/InformationPanel.d.ts +4 -24
  140. package/cjs/core/InformationPanel/InformationPanel.js +3 -4
  141. package/cjs/core/InformationPanel/InformationPanelBody.d.ts +1 -9
  142. package/cjs/core/InformationPanel/InformationPanelBody.js +1 -34
  143. package/cjs/core/InformationPanel/InformationPanelContent.d.ts +4 -4
  144. package/cjs/core/InformationPanel/InformationPanelContent.js +3 -5
  145. package/cjs/core/InformationPanel/InformationPanelHeader.d.ts +4 -4
  146. package/cjs/core/InformationPanel/InformationPanelHeader.js +5 -7
  147. package/cjs/core/InformationPanel/InformationPanelWrapper.d.ts +1 -6
  148. package/cjs/core/InformationPanel/InformationPanelWrapper.js +1 -34
  149. package/cjs/core/InformationPanel/index.d.ts +0 -5
  150. package/cjs/core/Input/Input.d.ts +3 -13
  151. package/cjs/core/Input/Input.js +1 -2
  152. package/cjs/core/Input/index.d.ts +0 -1
  153. package/cjs/core/InputGroup/InputGroup.d.ts +4 -4
  154. package/cjs/core/InputGroup/InputGroup.js +5 -7
  155. package/cjs/core/InputGroup/index.d.ts +0 -1
  156. package/cjs/core/Label/Label.d.ts +3 -9
  157. package/cjs/core/Label/Label.js +5 -7
  158. package/cjs/core/Label/index.d.ts +0 -1
  159. package/cjs/core/LabeledInput/LabeledInput.d.ts +2 -46
  160. package/cjs/core/LabeledInput/LabeledInput.js +0 -1
  161. package/cjs/core/LabeledInput/index.d.ts +0 -1
  162. package/cjs/core/LabeledSelect/LabeledSelect.d.ts +1 -1
  163. package/cjs/core/LabeledSelect/LabeledSelect.js +0 -1
  164. package/cjs/core/LabeledSelect/index.d.ts +0 -1
  165. package/cjs/core/LabeledTextarea/LabeledTextarea.d.ts +4 -26
  166. package/cjs/core/LabeledTextarea/LabeledTextarea.js +0 -1
  167. package/cjs/core/LabeledTextarea/index.d.ts +0 -1
  168. package/cjs/core/List/List.d.ts +1 -5
  169. package/cjs/core/List/List.js +2 -33
  170. package/cjs/core/List/ListItem.d.ts +6 -13
  171. package/cjs/core/List/ListItem.js +9 -15
  172. package/cjs/core/List/index.d.ts +0 -2
  173. package/cjs/core/Menu/Menu.d.ts +4 -27
  174. package/cjs/core/Menu/Menu.js +2 -3
  175. package/cjs/core/Menu/MenuDivider.d.ts +1 -4
  176. package/cjs/core/Menu/MenuDivider.js +3 -34
  177. package/cjs/core/Menu/MenuExtraContent.d.ts +1 -6
  178. package/cjs/core/Menu/MenuExtraContent.js +3 -34
  179. package/cjs/core/Menu/MenuItem.d.ts +14 -60
  180. package/cjs/core/Menu/MenuItem.js +12 -23
  181. package/cjs/core/Menu/MenuItemSkeleton.d.ts +4 -5
  182. package/cjs/core/Menu/MenuItemSkeleton.js +8 -10
  183. package/cjs/core/Menu/index.d.ts +0 -5
  184. package/cjs/core/Modal/Modal.d.ts +5 -5
  185. package/cjs/core/Modal/Modal.js +3 -5
  186. package/cjs/core/Modal/ModalButtonBar.d.ts +1 -9
  187. package/cjs/core/Modal/ModalButtonBar.js +1 -26
  188. package/cjs/core/Modal/ModalContent.d.ts +1 -9
  189. package/cjs/core/Modal/ModalContent.js +1 -26
  190. package/cjs/core/Modal/index.d.ts +0 -3
  191. package/cjs/core/NonIdealState/NonIdealState.d.ts +4 -3
  192. package/cjs/core/NonIdealState/NonIdealState.js +7 -9
  193. package/cjs/core/NonIdealState/index.d.ts +1 -2
  194. package/cjs/core/NotificationMarker/NotificationMarker.d.ts +4 -3
  195. package/cjs/core/NotificationMarker/NotificationMarker.js +1 -2
  196. package/cjs/core/NotificationMarker/index.d.ts +0 -1
  197. package/cjs/core/ProgressIndicators/ProgressLinear/ProgressLinear.d.ts +4 -4
  198. package/cjs/core/ProgressIndicators/ProgressLinear/ProgressLinear.js +8 -10
  199. package/cjs/core/ProgressIndicators/ProgressLinear/index.d.ts +0 -1
  200. package/cjs/core/ProgressIndicators/ProgressRadial/ProgressRadial.d.ts +4 -4
  201. package/cjs/core/ProgressIndicators/ProgressRadial/ProgressRadial.js +10 -12
  202. package/cjs/core/ProgressIndicators/ProgressRadial/index.d.ts +0 -1
  203. package/cjs/core/ProgressIndicators/index.d.ts +0 -2
  204. package/cjs/core/Radio/Radio.d.ts +4 -17
  205. package/cjs/core/Radio/Radio.js +3 -4
  206. package/cjs/core/Radio/index.d.ts +0 -1
  207. package/cjs/core/RadioTiles/RadioTile.d.ts +4 -21
  208. package/cjs/core/RadioTiles/RadioTile.js +6 -10
  209. package/cjs/core/RadioTiles/RadioTileGroup.d.ts +5 -4
  210. package/cjs/core/RadioTiles/RadioTileGroup.js +4 -6
  211. package/cjs/core/RadioTiles/index.d.ts +0 -2
  212. package/cjs/core/SearchBox/SearchBox.d.ts +4 -16
  213. package/cjs/core/SearchBox/SearchBox.js +1 -2
  214. package/cjs/core/SearchBox/index.d.ts +0 -1
  215. package/cjs/core/Select/Select.d.ts +6 -1
  216. package/cjs/core/Select/Select.js +12 -12
  217. package/cjs/core/Select/SelectTag.d.ts +4 -5
  218. package/cjs/core/Select/SelectTag.js +4 -6
  219. package/cjs/core/Select/SelectTagContainer.d.ts +4 -8
  220. package/cjs/core/Select/SelectTagContainer.js +1 -2
  221. package/cjs/core/Select/index.d.ts +1 -1
  222. package/cjs/core/SideNavigation/SideNavigation.d.ts +4 -4
  223. package/cjs/core/SideNavigation/SideNavigation.js +7 -9
  224. package/cjs/core/SideNavigation/SidenavButton.d.ts +3 -4
  225. package/cjs/core/SideNavigation/SidenavButton.js +2 -6
  226. package/cjs/core/SideNavigation/SidenavSubmenu.d.ts +2 -14
  227. package/cjs/core/SideNavigation/SidenavSubmenu.js +2 -3
  228. package/cjs/core/SideNavigation/SidenavSubmenuHeader.d.ts +4 -8
  229. package/cjs/core/SideNavigation/SidenavSubmenuHeader.js +5 -7
  230. package/cjs/core/SideNavigation/index.d.ts +0 -4
  231. package/cjs/core/SkipToContentLink/SkipToContentLink.d.ts +4 -13
  232. package/cjs/core/SkipToContentLink/SkipToContentLink.js +1 -2
  233. package/cjs/core/SkipToContentLink/index.d.ts +0 -1
  234. package/cjs/core/Slider/Slider.d.ts +4 -99
  235. package/cjs/core/Slider/Slider.js +6 -7
  236. package/cjs/core/Slider/Thumb.d.ts +3 -2
  237. package/cjs/core/Slider/Thumb.js +2 -1
  238. package/cjs/core/Slider/index.d.ts +0 -1
  239. package/cjs/core/StatusMessage/StatusMessage.d.ts +1 -1
  240. package/cjs/core/StatusMessage/StatusMessage.js +3 -18
  241. package/cjs/core/StatusMessage/index.d.ts +0 -1
  242. package/cjs/core/Stepper/Stepper.d.ts +2 -2
  243. package/cjs/core/Stepper/Stepper.js +3 -4
  244. package/cjs/core/Stepper/StepperStep.d.ts +3 -4
  245. package/cjs/core/Stepper/StepperStep.js +8 -8
  246. package/cjs/core/Stepper/Wizard.js +3 -1
  247. package/cjs/core/Stepper/WorkflowDiagram.d.ts +3 -3
  248. package/cjs/core/Stepper/WorkflowDiagram.js +5 -4
  249. package/cjs/core/Stepper/WorkflowDiagramStep.d.ts +2 -2
  250. package/cjs/core/Stepper/WorkflowDiagramStep.js +3 -2
  251. package/cjs/core/Stepper/index.d.ts +2 -3
  252. package/cjs/core/Surface/Surface.d.ts +5 -17
  253. package/cjs/core/Surface/Surface.js +7 -6
  254. package/cjs/core/Surface/index.d.ts +0 -1
  255. package/cjs/core/Table/Table.js +1 -1
  256. package/cjs/core/Table/TablePaginator.js +1 -1
  257. package/cjs/core/Table/columns/actionColumn.js +1 -1
  258. package/cjs/core/Table/columns/expanderColumn.d.ts +1 -1
  259. package/cjs/core/Table/columns/expanderColumn.js +1 -1
  260. package/cjs/core/Table/filters/BaseFilter.js +1 -1
  261. package/cjs/core/Table/filters/DateRangeFilter/DatePickerInput.d.ts +3 -3
  262. package/cjs/core/Table/filters/DateRangeFilter/DateRangeFilter.js +1 -1
  263. package/cjs/core/Table/filters/FilterButtonBar.js +1 -1
  264. package/cjs/core/Table/filters/FilterToggle.d.ts +2 -2
  265. package/cjs/core/Table/filters/FilterToggle.js +1 -1
  266. package/cjs/core/Table/filters/NumberRangeFilter/NumberRangeFilter.js +1 -1
  267. package/cjs/core/Table/filters/TextFilter/TextFilter.js +1 -1
  268. package/cjs/core/Tabs/Tab.d.ts +10 -3
  269. package/cjs/core/Tabs/Tab.js +7 -13
  270. package/cjs/core/Tabs/Tabs.d.ts +2 -2
  271. package/cjs/core/Tabs/Tabs.js +6 -9
  272. package/cjs/core/Tabs/index.d.ts +0 -2
  273. package/cjs/core/Tag/Tag.d.ts +4 -4
  274. package/cjs/core/Tag/Tag.js +5 -7
  275. package/cjs/core/Tag/TagContainer.d.ts +4 -4
  276. package/cjs/core/Tag/TagContainer.js +4 -6
  277. package/cjs/core/Tag/index.d.ts +0 -2
  278. package/cjs/core/Textarea/Textarea.d.ts +3 -9
  279. package/cjs/core/Textarea/Textarea.js +1 -2
  280. package/cjs/core/Textarea/index.d.ts +0 -1
  281. package/cjs/core/ThemeProvider/ThemeContext.d.ts +7 -0
  282. package/cjs/core/{Typography/Small/Small.js → ThemeProvider/ThemeContext.js} +2 -18
  283. package/cjs/core/ThemeProvider/ThemeProvider.d.ts +11 -12
  284. package/cjs/core/ThemeProvider/ThemeProvider.js +6 -16
  285. package/cjs/core/ThemeProvider/index.d.ts +1 -1
  286. package/cjs/core/Tile/Tile.d.ts +6 -7
  287. package/cjs/core/Tile/Tile.js +17 -19
  288. package/cjs/core/Tile/index.d.ts +0 -1
  289. package/cjs/core/TimePicker/TimePicker.d.ts +3 -3
  290. package/cjs/core/TimePicker/TimePicker.js +5 -7
  291. package/cjs/core/TimePicker/index.d.ts +1 -1
  292. package/cjs/core/Toast/Toast.js +5 -5
  293. package/cjs/core/Toast/ToastWrapper.js +2 -1
  294. package/cjs/core/ToggleSwitch/ToggleSwitch.d.ts +4 -3
  295. package/cjs/core/ToggleSwitch/ToggleSwitch.js +3 -9
  296. package/cjs/core/ToggleSwitch/index.d.ts +0 -1
  297. package/cjs/core/Tooltip/Tooltip.js +1 -2
  298. package/cjs/core/Tooltip/index.d.ts +0 -1
  299. package/cjs/core/Tree/Tree.d.ts +1 -1
  300. package/cjs/core/Tree/Tree.js +4 -4
  301. package/cjs/core/Tree/TreeNode.d.ts +1 -1
  302. package/cjs/core/Tree/TreeNode.js +10 -15
  303. package/cjs/core/Tree/TreeNodeExpander.d.ts +4 -4
  304. package/cjs/core/Tree/TreeNodeExpander.js +3 -4
  305. package/cjs/core/Tree/index.d.ts +1 -3
  306. package/cjs/core/Typography/Anchor/Anchor.d.ts +1 -5
  307. package/cjs/core/Typography/Anchor/Anchor.js +1 -33
  308. package/cjs/core/Typography/Anchor/index.d.ts +0 -1
  309. package/cjs/core/Typography/Blockquote/Blockquote.d.ts +4 -8
  310. package/cjs/core/Typography/Blockquote/Blockquote.js +1 -2
  311. package/cjs/core/Typography/Blockquote/index.d.ts +0 -1
  312. package/cjs/core/Typography/Code/Code.d.ts +1 -9
  313. package/cjs/core/Typography/Code/Code.js +1 -34
  314. package/cjs/core/Typography/Code/index.d.ts +0 -1
  315. package/cjs/core/Typography/Kbd/Kbd.d.ts +4 -5
  316. package/cjs/core/Typography/Kbd/Kbd.js +3 -5
  317. package/cjs/core/Typography/Kbd/index.d.ts +0 -1
  318. package/cjs/core/Typography/Text/Text.d.ts +3 -6
  319. package/cjs/core/Typography/Text/Text.js +2 -3
  320. package/cjs/core/Typography/Text/index.d.ts +0 -1
  321. package/cjs/core/Typography/index.d.ts +0 -17
  322. package/cjs/core/Typography/index.js +10 -22
  323. package/cjs/core/index.d.ts +10 -57
  324. package/cjs/core/index.js +1 -8
  325. package/cjs/core/utils/components/Box.d.ts +6 -0
  326. package/cjs/core/{Typography/Leading/index.js → utils/components/Box.js} +8 -4
  327. package/cjs/core/utils/components/Divider.d.ts +4 -4
  328. package/cjs/core/utils/components/Divider.js +2 -3
  329. package/cjs/core/utils/components/Flex.d.ts +1 -4
  330. package/cjs/core/utils/components/Flex.js +10 -6
  331. package/cjs/core/utils/components/Icon.d.ts +2 -24
  332. package/cjs/core/utils/components/Icon.js +2 -1
  333. package/cjs/core/utils/components/InputContainer.js +6 -10
  334. package/cjs/core/utils/components/InputFlexContainer.d.ts +3 -5
  335. package/cjs/core/utils/components/InputFlexContainer.js +3 -2
  336. package/cjs/core/utils/components/LinkAction.d.ts +2 -8
  337. package/cjs/core/utils/components/LinkAction.js +3 -36
  338. package/cjs/core/utils/components/Popover.d.ts +1 -1
  339. package/cjs/core/utils/components/Popover.js +2 -2
  340. package/cjs/core/utils/components/VisuallyHidden.d.ts +1 -2
  341. package/cjs/core/utils/components/VisuallyHidden.js +3 -4
  342. package/cjs/core/utils/components/index.d.ts +1 -0
  343. package/cjs/core/utils/components/index.js +1 -0
  344. package/cjs/core/utils/functions/index.d.ts +1 -0
  345. package/cjs/core/utils/functions/index.js +1 -0
  346. package/cjs/core/utils/functions/polymorphic.d.ts +198 -0
  347. package/cjs/core/utils/functions/polymorphic.js +81 -0
  348. package/cjs/core/utils/hooks/index.d.ts +1 -1
  349. package/cjs/core/utils/hooks/index.js +1 -1
  350. package/cjs/core/utils/hooks/useGlobals.d.ts +10 -0
  351. package/cjs/core/utils/hooks/useGlobals.js +79 -0
  352. package/cjs/core/utils/hooks/useIsThemeAlreadySet.js +2 -2
  353. package/cjs/core/utils/icons/Svg.d.ts +1 -0
  354. package/cjs/core/{Typography/Body/index.js → utils/icons/Svg.js} +3 -4
  355. package/cjs/core/utils/icons/SvgCalendar.d.ts +1 -1
  356. package/cjs/core/utils/icons/SvgCalendar.js +2 -1
  357. package/cjs/core/utils/icons/SvgCaretDownSmall.d.ts +1 -1
  358. package/cjs/core/utils/icons/SvgCaretDownSmall.js +2 -1
  359. package/cjs/core/utils/icons/SvgCaretRightSmall.d.ts +1 -1
  360. package/cjs/core/utils/icons/SvgCaretRightSmall.js +2 -1
  361. package/cjs/core/utils/icons/SvgCaretUpSmall.d.ts +1 -1
  362. package/cjs/core/utils/icons/SvgCaretUpSmall.js +2 -1
  363. package/cjs/core/utils/icons/SvgCheckmark.d.ts +1 -1
  364. package/cjs/core/utils/icons/SvgCheckmark.js +2 -1
  365. package/cjs/core/utils/icons/SvgCheckmarkSmall.d.ts +1 -1
  366. package/cjs/core/utils/icons/SvgCheckmarkSmall.js +2 -1
  367. package/cjs/core/utils/icons/SvgChevronLeft.d.ts +1 -1
  368. package/cjs/core/utils/icons/SvgChevronLeft.js +2 -1
  369. package/cjs/core/utils/icons/SvgChevronLeftDouble.d.ts +1 -1
  370. package/cjs/core/utils/icons/SvgChevronLeftDouble.js +2 -1
  371. package/cjs/core/utils/icons/SvgChevronRight.d.ts +1 -1
  372. package/cjs/core/utils/icons/SvgChevronRight.js +2 -1
  373. package/cjs/core/utils/icons/SvgChevronRightDouble.d.ts +1 -1
  374. package/cjs/core/utils/icons/SvgChevronRightDouble.js +2 -1
  375. package/cjs/core/utils/icons/SvgClose.d.ts +1 -1
  376. package/cjs/core/utils/icons/SvgClose.js +2 -1
  377. package/cjs/core/utils/icons/SvgCloseSmall.d.ts +1 -1
  378. package/cjs/core/utils/icons/SvgCloseSmall.js +2 -1
  379. package/cjs/core/utils/icons/SvgColumnManager.d.ts +1 -1
  380. package/cjs/core/utils/icons/SvgColumnManager.js +2 -1
  381. package/cjs/core/utils/icons/SvgDocument.d.ts +1 -1
  382. package/cjs/core/utils/icons/SvgDocument.js +2 -1
  383. package/cjs/core/utils/icons/SvgFilter.d.ts +1 -1
  384. package/cjs/core/utils/icons/SvgFilter.js +2 -1
  385. package/cjs/core/utils/icons/SvgFilterHollow.d.ts +1 -1
  386. package/cjs/core/utils/icons/SvgFilterHollow.js +2 -1
  387. package/cjs/core/utils/icons/SvgImportantSmall.d.ts +1 -1
  388. package/cjs/core/utils/icons/SvgImportantSmall.js +2 -1
  389. package/cjs/core/utils/icons/SvgInfoCircular.d.ts +1 -1
  390. package/cjs/core/utils/icons/SvgInfoCircular.js +2 -1
  391. package/cjs/core/utils/icons/SvgMore.d.ts +1 -1
  392. package/cjs/core/utils/icons/SvgMore.js +2 -1
  393. package/cjs/core/utils/icons/SvgMoreVertical.d.ts +1 -1
  394. package/cjs/core/utils/icons/SvgMoreVertical.js +2 -1
  395. package/cjs/core/utils/icons/SvgNew.d.ts +1 -1
  396. package/cjs/core/utils/icons/SvgNew.js +2 -1
  397. package/cjs/core/utils/icons/SvgSearch.d.ts +1 -1
  398. package/cjs/core/utils/icons/SvgSearch.js +2 -1
  399. package/cjs/core/utils/icons/SvgSmileyHappy.d.ts +1 -1
  400. package/cjs/core/utils/icons/SvgSmileyHappy.js +2 -1
  401. package/cjs/core/utils/icons/SvgSortDown.d.ts +1 -1
  402. package/cjs/core/utils/icons/SvgSortDown.js +2 -1
  403. package/cjs/core/utils/icons/SvgSortUp.d.ts +1 -1
  404. package/cjs/core/utils/icons/SvgSortUp.js +2 -1
  405. package/cjs/core/utils/icons/SvgStatusError.d.ts +1 -1
  406. package/cjs/core/utils/icons/SvgStatusError.js +2 -1
  407. package/cjs/core/utils/icons/SvgStatusSuccess.d.ts +1 -1
  408. package/cjs/core/utils/icons/SvgStatusSuccess.js +2 -1
  409. package/cjs/core/utils/icons/SvgStatusWarning.d.ts +1 -1
  410. package/cjs/core/utils/icons/SvgStatusWarning.js +2 -1
  411. package/cjs/core/utils/icons/SvgSwap.d.ts +1 -1
  412. package/cjs/core/utils/icons/SvgSwap.js +2 -1
  413. package/cjs/core/utils/icons/SvgUpload.d.ts +1 -1
  414. package/cjs/core/utils/icons/SvgUpload.js +2 -1
  415. package/cjs/core/utils/props.d.ts +10 -33
  416. package/cjs/types/react-table-config.d.ts +1 -1
  417. package/esm/core/Alert/Alert.d.ts +4 -4
  418. package/esm/core/Alert/Alert.js +9 -10
  419. package/esm/core/Alert/index.d.ts +0 -1
  420. package/esm/core/Avatar/Avatar.d.ts +6 -14
  421. package/esm/core/Avatar/Avatar.js +7 -8
  422. package/esm/core/Avatar/index.d.ts +0 -1
  423. package/esm/core/AvatarGroup/AvatarGroup.d.ts +5 -9
  424. package/esm/core/AvatarGroup/AvatarGroup.js +15 -17
  425. package/esm/core/AvatarGroup/index.d.ts +0 -1
  426. package/esm/core/Backdrop/Backdrop.d.ts +3 -3
  427. package/esm/core/Backdrop/Backdrop.js +2 -3
  428. package/esm/core/Backdrop/index.d.ts +0 -1
  429. package/esm/core/Badge/Badge.d.ts +4 -6
  430. package/esm/core/Badge/Badge.js +4 -5
  431. package/esm/core/Badge/index.d.ts +0 -1
  432. package/esm/core/Breadcrumbs/Breadcrumbs.d.ts +4 -77
  433. package/esm/core/Breadcrumbs/Breadcrumbs.js +6 -7
  434. package/esm/core/Breadcrumbs/index.d.ts +0 -1
  435. package/esm/core/ButtonGroup/ButtonGroup.d.ts +4 -3
  436. package/esm/core/ButtonGroup/ButtonGroup.js +16 -14
  437. package/esm/core/ButtonGroup/index.d.ts +0 -1
  438. package/esm/core/Buttons/Button/Button.d.ts +4 -10
  439. package/esm/core/Buttons/Button/Button.js +5 -6
  440. package/esm/core/Buttons/Button/index.d.ts +0 -1
  441. package/esm/core/Buttons/DropdownButton/DropdownButton.d.ts +5 -21
  442. package/esm/core/Buttons/DropdownButton/DropdownButton.js +1 -2
  443. package/esm/core/Buttons/DropdownButton/index.d.ts +0 -1
  444. package/esm/core/Buttons/IconButton/IconButton.d.ts +2 -3
  445. package/esm/core/Buttons/IconButton/IconButton.js +5 -6
  446. package/esm/core/Buttons/IconButton/index.d.ts +0 -1
  447. package/esm/core/Buttons/IdeasButton/IdeasButton.d.ts +3 -3
  448. package/esm/core/Buttons/IdeasButton/IdeasButton.js +1 -2
  449. package/esm/core/Buttons/IdeasButton/index.d.ts +0 -1
  450. package/esm/core/Buttons/SplitButton/SplitButton.d.ts +2 -3
  451. package/esm/core/Buttons/SplitButton/SplitButton.js +2 -3
  452. package/esm/core/Buttons/SplitButton/index.d.ts +0 -1
  453. package/esm/core/Buttons/index.d.ts +0 -5
  454. package/esm/core/Carousel/Carousel.d.ts +24 -26
  455. package/esm/core/Carousel/Carousel.js +23 -23
  456. package/esm/core/Carousel/CarouselDot.d.ts +11 -9
  457. package/esm/core/Carousel/CarouselDot.js +2 -1
  458. package/esm/core/Carousel/CarouselDotsList.d.ts +11 -9
  459. package/esm/core/Carousel/CarouselDotsList.js +2 -3
  460. package/esm/core/Carousel/CarouselNavigation.d.ts +14 -5
  461. package/esm/core/Carousel/CarouselNavigation.js +14 -10
  462. package/esm/core/Carousel/CarouselSlide.d.ts +10 -8
  463. package/esm/core/Carousel/CarouselSlide.js +2 -2
  464. package/esm/core/Carousel/CarouselSlider.d.ts +2 -2
  465. package/esm/core/Carousel/CarouselSlider.js +2 -2
  466. package/esm/core/Carousel/index.d.ts +0 -1
  467. package/esm/core/Checkbox/Checkbox.d.ts +4 -31
  468. package/esm/core/Checkbox/Checkbox.js +4 -5
  469. package/esm/core/Checkbox/index.d.ts +0 -1
  470. package/esm/core/ColorPicker/ColorBuilder.d.ts +2 -4
  471. package/esm/core/ColorPicker/ColorBuilder.js +4 -5
  472. package/esm/core/ColorPicker/ColorInputPanel.d.ts +4 -18
  473. package/esm/core/ColorPicker/ColorInputPanel.js +5 -6
  474. package/esm/core/ColorPicker/ColorPalette.d.ts +3 -16
  475. package/esm/core/ColorPicker/ColorPalette.js +4 -5
  476. package/esm/core/ColorPicker/ColorPicker.d.ts +4 -4
  477. package/esm/core/ColorPicker/ColorPicker.js +4 -5
  478. package/esm/core/ColorPicker/ColorSwatch.d.ts +4 -5
  479. package/esm/core/ColorPicker/ColorSwatch.js +2 -3
  480. package/esm/core/ColorPicker/index.d.ts +0 -5
  481. package/esm/core/ComboBox/ComboBox.d.ts +4 -4
  482. package/esm/core/ComboBox/ComboBox.js +6 -8
  483. package/esm/core/ComboBox/ComboBoxDropdown.d.ts +3 -3
  484. package/esm/core/ComboBox/ComboBoxEndIcon.d.ts +7 -5
  485. package/esm/core/ComboBox/ComboBoxEndIcon.js +2 -2
  486. package/esm/core/ComboBox/ComboBoxInput.d.ts +7 -6
  487. package/esm/core/ComboBox/ComboBoxInputContainer.d.ts +3 -7
  488. package/esm/core/ComboBox/ComboBoxInputContainer.js +5 -5
  489. package/esm/core/ComboBox/ComboBoxMenu.d.ts +5 -2
  490. package/esm/core/ComboBox/ComboBoxMenu.js +2 -2
  491. package/esm/core/ComboBox/ComboBoxMenuItem.d.ts +6 -19
  492. package/esm/core/ComboBox/ComboBoxMenuItem.js +8 -19
  493. package/esm/core/ComboBox/ComboBoxMultipleContainer.d.ts +6 -3
  494. package/esm/core/ComboBox/index.d.ts +0 -1
  495. package/esm/core/DatePicker/DatePicker.d.ts +4 -4
  496. package/esm/core/DatePicker/DatePicker.js +10 -11
  497. package/esm/core/DatePicker/index.d.ts +0 -1
  498. package/esm/core/Dialog/Dialog.d.ts +13 -9
  499. package/esm/core/Dialog/Dialog.js +22 -23
  500. package/esm/core/Dialog/DialogBackdrop.d.ts +4 -4
  501. package/esm/core/Dialog/DialogBackdrop.js +1 -3
  502. package/esm/core/Dialog/DialogButtonBar.d.ts +1 -8
  503. package/esm/core/Dialog/DialogButtonBar.js +2 -8
  504. package/esm/core/Dialog/DialogContent.d.ts +1 -8
  505. package/esm/core/Dialog/DialogContent.js +2 -8
  506. package/esm/core/Dialog/DialogMain.d.ts +3 -2
  507. package/esm/core/Dialog/DialogMain.js +2 -3
  508. package/esm/core/Dialog/DialogTitleBar.d.ts +5 -4
  509. package/esm/core/Dialog/DialogTitleBar.js +2 -3
  510. package/esm/core/Dialog/DialogTitleBarTitle.d.ts +1 -8
  511. package/esm/core/Dialog/DialogTitleBarTitle.js +2 -8
  512. package/esm/core/Dialog/index.d.ts +0 -5
  513. package/esm/core/DropdownMenu/DropdownMenu.js +1 -2
  514. package/esm/core/ExpandableBlock/ExpandableBlock.d.ts +4 -4
  515. package/esm/core/ExpandableBlock/ExpandableBlock.js +10 -11
  516. package/esm/core/ExpandableBlock/index.d.ts +0 -1
  517. package/esm/core/Fieldset/Fieldset.d.ts +4 -3
  518. package/esm/core/Fieldset/Fieldset.js +4 -5
  519. package/esm/core/Fieldset/index.d.ts +0 -1
  520. package/esm/core/FileUpload/FileEmptyCard.d.ts +4 -11
  521. package/esm/core/FileUpload/FileEmptyCard.js +17 -14
  522. package/esm/core/FileUpload/FileUpload.d.ts +4 -25
  523. package/esm/core/FileUpload/FileUpload.js +4 -5
  524. package/esm/core/FileUpload/FileUploadCard.d.ts +11 -51
  525. package/esm/core/FileUpload/FileUploadCard.js +44 -36
  526. package/esm/core/FileUpload/FileUploadTemplate.d.ts +4 -3
  527. package/esm/core/FileUpload/FileUploadTemplate.js +6 -7
  528. package/esm/core/FileUpload/index.d.ts +0 -4
  529. package/esm/core/Footer/Footer.d.ts +6 -10
  530. package/esm/core/Footer/Footer.js +2 -3
  531. package/esm/core/Footer/FooterItem.d.ts +1 -3
  532. package/esm/core/Footer/FooterItem.js +2 -8
  533. package/esm/core/Footer/FooterList.d.ts +1 -3
  534. package/esm/core/Footer/FooterList.js +2 -8
  535. package/esm/core/Footer/FooterSeparator.d.ts +1 -3
  536. package/esm/core/Footer/FooterSeparator.js +4 -8
  537. package/esm/core/Footer/index.d.ts +1 -1
  538. package/esm/core/Header/Header.d.ts +5 -5
  539. package/esm/core/Header/Header.js +8 -9
  540. package/esm/core/Header/HeaderBasicButton.d.ts +2 -4
  541. package/esm/core/Header/HeaderBasicButton.js +5 -12
  542. package/esm/core/Header/HeaderBreadcrumbs.d.ts +3 -2
  543. package/esm/core/Header/HeaderBreadcrumbs.js +8 -8
  544. package/esm/core/Header/HeaderButton.d.ts +5 -6
  545. package/esm/core/Header/HeaderButton.js +9 -22
  546. package/esm/core/Header/HeaderDropdownButton.d.ts +2 -4
  547. package/esm/core/Header/HeaderDropdownButton.js +1 -2
  548. package/esm/core/Header/HeaderLogo.d.ts +1 -2
  549. package/esm/core/Header/HeaderLogo.js +6 -13
  550. package/esm/core/Header/HeaderSplitButton.d.ts +2 -4
  551. package/esm/core/Header/HeaderSplitButton.js +4 -5
  552. package/esm/core/Header/index.d.ts +0 -4
  553. package/esm/core/InformationPanel/InformationPanel.d.ts +4 -24
  554. package/esm/core/InformationPanel/InformationPanel.js +4 -5
  555. package/esm/core/InformationPanel/InformationPanelBody.d.ts +1 -9
  556. package/esm/core/InformationPanel/InformationPanelBody.js +2 -8
  557. package/esm/core/InformationPanel/InformationPanelContent.d.ts +4 -4
  558. package/esm/core/InformationPanel/InformationPanelContent.js +4 -5
  559. package/esm/core/InformationPanel/InformationPanelHeader.d.ts +4 -4
  560. package/esm/core/InformationPanel/InformationPanelHeader.js +6 -7
  561. package/esm/core/InformationPanel/InformationPanelWrapper.d.ts +1 -6
  562. package/esm/core/InformationPanel/InformationPanelWrapper.js +2 -8
  563. package/esm/core/InformationPanel/index.d.ts +0 -5
  564. package/esm/core/Input/Input.d.ts +3 -13
  565. package/esm/core/Input/Input.js +2 -3
  566. package/esm/core/Input/index.d.ts +0 -1
  567. package/esm/core/InputGroup/InputGroup.d.ts +4 -4
  568. package/esm/core/InputGroup/InputGroup.js +6 -7
  569. package/esm/core/InputGroup/index.d.ts +0 -1
  570. package/esm/core/Label/Label.d.ts +3 -9
  571. package/esm/core/Label/Label.js +6 -7
  572. package/esm/core/Label/index.d.ts +0 -1
  573. package/esm/core/LabeledInput/LabeledInput.d.ts +2 -46
  574. package/esm/core/LabeledInput/LabeledInput.js +1 -2
  575. package/esm/core/LabeledInput/index.d.ts +0 -1
  576. package/esm/core/LabeledSelect/LabeledSelect.d.ts +1 -1
  577. package/esm/core/LabeledSelect/LabeledSelect.js +1 -2
  578. package/esm/core/LabeledSelect/index.d.ts +0 -1
  579. package/esm/core/LabeledTextarea/LabeledTextarea.d.ts +4 -26
  580. package/esm/core/LabeledTextarea/LabeledTextarea.js +1 -2
  581. package/esm/core/LabeledTextarea/index.d.ts +0 -1
  582. package/esm/core/List/List.d.ts +1 -5
  583. package/esm/core/List/List.js +3 -8
  584. package/esm/core/List/ListItem.d.ts +6 -13
  585. package/esm/core/List/ListItem.js +10 -16
  586. package/esm/core/List/index.d.ts +0 -2
  587. package/esm/core/Menu/Menu.d.ts +4 -27
  588. package/esm/core/Menu/Menu.js +3 -4
  589. package/esm/core/Menu/MenuDivider.d.ts +1 -4
  590. package/esm/core/Menu/MenuDivider.js +4 -8
  591. package/esm/core/Menu/MenuExtraContent.d.ts +1 -6
  592. package/esm/core/Menu/MenuExtraContent.js +4 -8
  593. package/esm/core/Menu/MenuItem.d.ts +14 -60
  594. package/esm/core/Menu/MenuItem.js +13 -21
  595. package/esm/core/Menu/MenuItemSkeleton.d.ts +4 -5
  596. package/esm/core/Menu/MenuItemSkeleton.js +9 -10
  597. package/esm/core/Menu/index.d.ts +0 -5
  598. package/esm/core/Modal/Modal.d.ts +5 -5
  599. package/esm/core/Modal/Modal.js +4 -5
  600. package/esm/core/Modal/ModalButtonBar.d.ts +1 -9
  601. package/esm/core/Modal/ModalButtonBar.js +1 -2
  602. package/esm/core/Modal/ModalContent.d.ts +1 -9
  603. package/esm/core/Modal/ModalContent.js +1 -2
  604. package/esm/core/Modal/index.d.ts +0 -3
  605. package/esm/core/NonIdealState/NonIdealState.d.ts +4 -3
  606. package/esm/core/NonIdealState/NonIdealState.js +8 -9
  607. package/esm/core/NonIdealState/index.d.ts +1 -2
  608. package/esm/core/NotificationMarker/NotificationMarker.d.ts +4 -3
  609. package/esm/core/NotificationMarker/NotificationMarker.js +2 -3
  610. package/esm/core/NotificationMarker/index.d.ts +0 -1
  611. package/esm/core/ProgressIndicators/ProgressLinear/ProgressLinear.d.ts +4 -4
  612. package/esm/core/ProgressIndicators/ProgressLinear/ProgressLinear.js +9 -10
  613. package/esm/core/ProgressIndicators/ProgressLinear/index.d.ts +0 -1
  614. package/esm/core/ProgressIndicators/ProgressRadial/ProgressRadial.d.ts +4 -4
  615. package/esm/core/ProgressIndicators/ProgressRadial/ProgressRadial.js +11 -12
  616. package/esm/core/ProgressIndicators/ProgressRadial/index.d.ts +0 -1
  617. package/esm/core/ProgressIndicators/index.d.ts +0 -2
  618. package/esm/core/Radio/Radio.d.ts +4 -17
  619. package/esm/core/Radio/Radio.js +4 -5
  620. package/esm/core/Radio/index.d.ts +0 -1
  621. package/esm/core/RadioTiles/RadioTile.d.ts +4 -21
  622. package/esm/core/RadioTiles/RadioTile.js +7 -11
  623. package/esm/core/RadioTiles/RadioTileGroup.d.ts +5 -4
  624. package/esm/core/RadioTiles/RadioTileGroup.js +5 -6
  625. package/esm/core/RadioTiles/index.d.ts +0 -2
  626. package/esm/core/SearchBox/SearchBox.d.ts +4 -16
  627. package/esm/core/SearchBox/SearchBox.js +2 -3
  628. package/esm/core/SearchBox/index.d.ts +0 -1
  629. package/esm/core/Select/Select.d.ts +6 -1
  630. package/esm/core/Select/Select.js +13 -13
  631. package/esm/core/Select/SelectTag.d.ts +4 -5
  632. package/esm/core/Select/SelectTag.js +5 -6
  633. package/esm/core/Select/SelectTagContainer.d.ts +4 -8
  634. package/esm/core/Select/SelectTagContainer.js +2 -3
  635. package/esm/core/Select/index.d.ts +1 -1
  636. package/esm/core/SideNavigation/SideNavigation.d.ts +4 -4
  637. package/esm/core/SideNavigation/SideNavigation.js +8 -9
  638. package/esm/core/SideNavigation/SidenavButton.d.ts +3 -4
  639. package/esm/core/SideNavigation/SidenavButton.js +1 -5
  640. package/esm/core/SideNavigation/SidenavSubmenu.d.ts +2 -14
  641. package/esm/core/SideNavigation/SidenavSubmenu.js +3 -4
  642. package/esm/core/SideNavigation/SidenavSubmenuHeader.d.ts +4 -8
  643. package/esm/core/SideNavigation/SidenavSubmenuHeader.js +6 -7
  644. package/esm/core/SideNavigation/index.d.ts +0 -4
  645. package/esm/core/SkipToContentLink/SkipToContentLink.d.ts +4 -13
  646. package/esm/core/SkipToContentLink/SkipToContentLink.js +2 -3
  647. package/esm/core/SkipToContentLink/index.d.ts +0 -1
  648. package/esm/core/Slider/Slider.d.ts +4 -99
  649. package/esm/core/Slider/Slider.js +7 -8
  650. package/esm/core/Slider/Thumb.d.ts +3 -2
  651. package/esm/core/Slider/Thumb.js +2 -1
  652. package/esm/core/Slider/index.d.ts +0 -1
  653. package/esm/core/StatusMessage/StatusMessage.d.ts +1 -1
  654. package/esm/core/StatusMessage/StatusMessage.js +4 -16
  655. package/esm/core/StatusMessage/index.d.ts +0 -1
  656. package/esm/core/Stepper/Stepper.d.ts +2 -2
  657. package/esm/core/Stepper/Stepper.js +4 -5
  658. package/esm/core/Stepper/StepperStep.d.ts +3 -4
  659. package/esm/core/Stepper/StepperStep.js +8 -7
  660. package/esm/core/Stepper/Wizard.js +3 -1
  661. package/esm/core/Stepper/WorkflowDiagram.d.ts +3 -3
  662. package/esm/core/Stepper/WorkflowDiagram.js +6 -5
  663. package/esm/core/Stepper/WorkflowDiagramStep.d.ts +2 -2
  664. package/esm/core/Stepper/WorkflowDiagramStep.js +3 -2
  665. package/esm/core/Stepper/index.d.ts +2 -3
  666. package/esm/core/Surface/Surface.d.ts +5 -17
  667. package/esm/core/Surface/Surface.js +8 -7
  668. package/esm/core/Surface/index.d.ts +0 -1
  669. package/esm/core/Table/Table.js +2 -2
  670. package/esm/core/Table/TablePaginator.js +2 -2
  671. package/esm/core/Table/columns/actionColumn.js +1 -1
  672. package/esm/core/Table/columns/expanderColumn.d.ts +1 -1
  673. package/esm/core/Table/columns/expanderColumn.js +1 -1
  674. package/esm/core/Table/filters/BaseFilter.js +2 -2
  675. package/esm/core/Table/filters/DateRangeFilter/DatePickerInput.d.ts +3 -3
  676. package/esm/core/Table/filters/DateRangeFilter/DateRangeFilter.js +2 -2
  677. package/esm/core/Table/filters/FilterButtonBar.js +2 -2
  678. package/esm/core/Table/filters/FilterToggle.d.ts +2 -2
  679. package/esm/core/Table/filters/FilterToggle.js +2 -2
  680. package/esm/core/Table/filters/NumberRangeFilter/NumberRangeFilter.js +2 -2
  681. package/esm/core/Table/filters/TextFilter/TextFilter.js +2 -2
  682. package/esm/core/Tabs/Tab.d.ts +10 -3
  683. package/esm/core/Tabs/Tab.js +8 -13
  684. package/esm/core/Tabs/Tabs.d.ts +2 -2
  685. package/esm/core/Tabs/Tabs.js +7 -10
  686. package/esm/core/Tabs/index.d.ts +0 -2
  687. package/esm/core/Tag/Tag.d.ts +4 -4
  688. package/esm/core/Tag/Tag.js +6 -7
  689. package/esm/core/Tag/TagContainer.d.ts +4 -4
  690. package/esm/core/Tag/TagContainer.js +5 -6
  691. package/esm/core/Tag/index.d.ts +0 -2
  692. package/esm/core/Textarea/Textarea.d.ts +3 -9
  693. package/esm/core/Textarea/Textarea.js +2 -3
  694. package/esm/core/Textarea/index.d.ts +0 -1
  695. package/esm/core/ThemeProvider/ThemeContext.d.ts +7 -0
  696. package/esm/core/{Typography/Body/index.js → ThemeProvider/ThemeContext.js} +2 -2
  697. package/esm/core/ThemeProvider/ThemeProvider.d.ts +11 -12
  698. package/esm/core/ThemeProvider/ThemeProvider.js +4 -14
  699. package/esm/core/ThemeProvider/index.d.ts +1 -1
  700. package/esm/core/Tile/Tile.d.ts +6 -7
  701. package/esm/core/Tile/Tile.js +18 -19
  702. package/esm/core/Tile/index.d.ts +0 -1
  703. package/esm/core/TimePicker/TimePicker.d.ts +3 -3
  704. package/esm/core/TimePicker/TimePicker.js +6 -7
  705. package/esm/core/TimePicker/index.d.ts +1 -1
  706. package/esm/core/Toast/Toast.js +6 -6
  707. package/esm/core/Toast/ToastWrapper.js +2 -1
  708. package/esm/core/ToggleSwitch/ToggleSwitch.d.ts +4 -3
  709. package/esm/core/ToggleSwitch/ToggleSwitch.js +4 -10
  710. package/esm/core/ToggleSwitch/index.d.ts +0 -1
  711. package/esm/core/Tooltip/Tooltip.js +2 -3
  712. package/esm/core/Tooltip/index.d.ts +0 -1
  713. package/esm/core/Tree/Tree.d.ts +1 -1
  714. package/esm/core/Tree/Tree.js +5 -5
  715. package/esm/core/Tree/TreeNode.d.ts +1 -1
  716. package/esm/core/Tree/TreeNode.js +11 -16
  717. package/esm/core/Tree/TreeNodeExpander.d.ts +4 -4
  718. package/esm/core/Tree/TreeNodeExpander.js +3 -3
  719. package/esm/core/Tree/index.d.ts +1 -3
  720. package/esm/core/Typography/Anchor/Anchor.d.ts +1 -5
  721. package/esm/core/Typography/Anchor/Anchor.js +2 -8
  722. package/esm/core/Typography/Anchor/index.d.ts +0 -1
  723. package/esm/core/Typography/Blockquote/Blockquote.d.ts +4 -8
  724. package/esm/core/Typography/Blockquote/Blockquote.js +2 -3
  725. package/esm/core/Typography/Blockquote/index.d.ts +0 -1
  726. package/esm/core/Typography/Code/Code.d.ts +1 -9
  727. package/esm/core/Typography/Code/Code.js +2 -8
  728. package/esm/core/Typography/Code/index.d.ts +0 -1
  729. package/esm/core/Typography/Kbd/Kbd.d.ts +4 -5
  730. package/esm/core/Typography/Kbd/Kbd.js +4 -5
  731. package/esm/core/Typography/Kbd/index.d.ts +0 -1
  732. package/esm/core/Typography/Text/Text.d.ts +3 -6
  733. package/esm/core/Typography/Text/Text.js +3 -4
  734. package/esm/core/Typography/Text/index.d.ts +0 -1
  735. package/esm/core/Typography/index.d.ts +0 -17
  736. package/esm/core/Typography/index.js +0 -6
  737. package/esm/core/index.d.ts +10 -57
  738. package/esm/core/index.js +2 -2
  739. package/esm/core/utils/components/Box.d.ts +6 -0
  740. package/esm/core/{Typography/Leading/index.js → utils/components/Box.js} +7 -2
  741. package/esm/core/utils/components/Divider.d.ts +4 -4
  742. package/esm/core/utils/components/Divider.js +2 -3
  743. package/esm/core/utils/components/Flex.d.ts +1 -4
  744. package/esm/core/utils/components/Flex.js +10 -6
  745. package/esm/core/utils/components/Icon.d.ts +2 -24
  746. package/esm/core/utils/components/Icon.js +2 -1
  747. package/esm/core/utils/components/InputContainer.js +6 -10
  748. package/esm/core/utils/components/InputFlexContainer.d.ts +3 -5
  749. package/esm/core/utils/components/InputFlexContainer.js +3 -2
  750. package/esm/core/utils/components/LinkAction.d.ts +2 -8
  751. package/esm/core/utils/components/LinkAction.js +3 -10
  752. package/esm/core/utils/components/Popover.d.ts +1 -1
  753. package/esm/core/utils/components/Popover.js +1 -1
  754. package/esm/core/utils/components/VisuallyHidden.d.ts +1 -2
  755. package/esm/core/utils/components/VisuallyHidden.js +3 -4
  756. package/esm/core/utils/components/index.d.ts +1 -0
  757. package/esm/core/utils/components/index.js +1 -0
  758. package/esm/core/utils/functions/index.d.ts +1 -0
  759. package/esm/core/utils/functions/index.js +1 -0
  760. package/esm/core/utils/functions/polymorphic.d.ts +198 -0
  761. package/esm/core/utils/functions/polymorphic.js +52 -0
  762. package/esm/core/utils/hooks/index.d.ts +1 -1
  763. package/esm/core/utils/hooks/index.js +1 -1
  764. package/esm/core/utils/hooks/useGlobals.d.ts +10 -0
  765. package/esm/core/utils/hooks/useGlobals.js +51 -0
  766. package/esm/core/utils/hooks/useIsThemeAlreadySet.js +1 -1
  767. package/esm/core/utils/icons/Svg.d.ts +1 -0
  768. package/esm/core/{Typography/Headline/index.js → utils/icons/Svg.js} +2 -2
  769. package/esm/core/utils/icons/SvgCalendar.d.ts +1 -1
  770. package/esm/core/utils/icons/SvgCalendar.js +2 -1
  771. package/esm/core/utils/icons/SvgCaretDownSmall.d.ts +1 -1
  772. package/esm/core/utils/icons/SvgCaretDownSmall.js +2 -1
  773. package/esm/core/utils/icons/SvgCaretRightSmall.d.ts +1 -1
  774. package/esm/core/utils/icons/SvgCaretRightSmall.js +2 -1
  775. package/esm/core/utils/icons/SvgCaretUpSmall.d.ts +1 -1
  776. package/esm/core/utils/icons/SvgCaretUpSmall.js +2 -1
  777. package/esm/core/utils/icons/SvgCheckmark.d.ts +1 -1
  778. package/esm/core/utils/icons/SvgCheckmark.js +2 -1
  779. package/esm/core/utils/icons/SvgCheckmarkSmall.d.ts +1 -1
  780. package/esm/core/utils/icons/SvgCheckmarkSmall.js +2 -1
  781. package/esm/core/utils/icons/SvgChevronLeft.d.ts +1 -1
  782. package/esm/core/utils/icons/SvgChevronLeft.js +2 -1
  783. package/esm/core/utils/icons/SvgChevronLeftDouble.d.ts +1 -1
  784. package/esm/core/utils/icons/SvgChevronLeftDouble.js +2 -1
  785. package/esm/core/utils/icons/SvgChevronRight.d.ts +1 -1
  786. package/esm/core/utils/icons/SvgChevronRight.js +2 -1
  787. package/esm/core/utils/icons/SvgChevronRightDouble.d.ts +1 -1
  788. package/esm/core/utils/icons/SvgChevronRightDouble.js +2 -1
  789. package/esm/core/utils/icons/SvgClose.d.ts +1 -1
  790. package/esm/core/utils/icons/SvgClose.js +2 -1
  791. package/esm/core/utils/icons/SvgCloseSmall.d.ts +1 -1
  792. package/esm/core/utils/icons/SvgCloseSmall.js +2 -1
  793. package/esm/core/utils/icons/SvgColumnManager.d.ts +1 -1
  794. package/esm/core/utils/icons/SvgColumnManager.js +2 -1
  795. package/esm/core/utils/icons/SvgDocument.d.ts +1 -1
  796. package/esm/core/utils/icons/SvgDocument.js +2 -1
  797. package/esm/core/utils/icons/SvgFilter.d.ts +1 -1
  798. package/esm/core/utils/icons/SvgFilter.js +2 -1
  799. package/esm/core/utils/icons/SvgFilterHollow.d.ts +1 -1
  800. package/esm/core/utils/icons/SvgFilterHollow.js +2 -1
  801. package/esm/core/utils/icons/SvgImportantSmall.d.ts +1 -1
  802. package/esm/core/utils/icons/SvgImportantSmall.js +2 -1
  803. package/esm/core/utils/icons/SvgInfoCircular.d.ts +1 -1
  804. package/esm/core/utils/icons/SvgInfoCircular.js +2 -1
  805. package/esm/core/utils/icons/SvgMore.d.ts +1 -1
  806. package/esm/core/utils/icons/SvgMore.js +2 -1
  807. package/esm/core/utils/icons/SvgMoreVertical.d.ts +1 -1
  808. package/esm/core/utils/icons/SvgMoreVertical.js +2 -1
  809. package/esm/core/utils/icons/SvgNew.d.ts +1 -1
  810. package/esm/core/utils/icons/SvgNew.js +2 -1
  811. package/esm/core/utils/icons/SvgSearch.d.ts +1 -1
  812. package/esm/core/utils/icons/SvgSearch.js +2 -1
  813. package/esm/core/utils/icons/SvgSmileyHappy.d.ts +1 -1
  814. package/esm/core/utils/icons/SvgSmileyHappy.js +2 -1
  815. package/esm/core/utils/icons/SvgSortDown.d.ts +1 -1
  816. package/esm/core/utils/icons/SvgSortDown.js +2 -1
  817. package/esm/core/utils/icons/SvgSortUp.d.ts +1 -1
  818. package/esm/core/utils/icons/SvgSortUp.js +2 -1
  819. package/esm/core/utils/icons/SvgStatusError.d.ts +1 -1
  820. package/esm/core/utils/icons/SvgStatusError.js +2 -1
  821. package/esm/core/utils/icons/SvgStatusSuccess.d.ts +1 -1
  822. package/esm/core/utils/icons/SvgStatusSuccess.js +2 -1
  823. package/esm/core/utils/icons/SvgStatusWarning.d.ts +1 -1
  824. package/esm/core/utils/icons/SvgStatusWarning.js +2 -1
  825. package/esm/core/utils/icons/SvgSwap.d.ts +1 -1
  826. package/esm/core/utils/icons/SvgSwap.js +2 -1
  827. package/esm/core/utils/icons/SvgUpload.d.ts +1 -1
  828. package/esm/core/utils/icons/SvgUpload.js +2 -1
  829. package/esm/core/utils/props.d.ts +10 -33
  830. package/esm/types/react-table-config.d.ts +1 -1
  831. package/package.json +2 -2
  832. package/cjs/core/Typography/Body/Body.d.ts +0 -35
  833. package/cjs/core/Typography/Body/Body.js +0 -51
  834. package/cjs/core/Typography/Body/index.d.ts +0 -4
  835. package/cjs/core/Typography/Headline/Headline.d.ts +0 -22
  836. package/cjs/core/Typography/Headline/Headline.js +0 -48
  837. package/cjs/core/Typography/Headline/index.d.ts +0 -4
  838. package/cjs/core/Typography/Headline/index.js +0 -10
  839. package/cjs/core/Typography/Leading/Leading.d.ts +0 -22
  840. package/cjs/core/Typography/Leading/Leading.js +0 -48
  841. package/cjs/core/Typography/Leading/index.d.ts +0 -4
  842. package/cjs/core/Typography/Small/Small.d.ts +0 -22
  843. package/cjs/core/Typography/Small/index.d.ts +0 -4
  844. package/cjs/core/Typography/Small/index.js +0 -10
  845. package/cjs/core/Typography/Subheading/Subheading.d.ts +0 -22
  846. package/cjs/core/Typography/Subheading/Subheading.js +0 -48
  847. package/cjs/core/Typography/Subheading/index.d.ts +0 -4
  848. package/cjs/core/Typography/Subheading/index.js +0 -10
  849. package/cjs/core/Typography/Title/Title.d.ts +0 -22
  850. package/cjs/core/Typography/Title/Title.js +0 -48
  851. package/cjs/core/Typography/Title/index.d.ts +0 -4
  852. package/cjs/core/Typography/Title/index.js +0 -10
  853. package/cjs/core/utils/hooks/useTheme.d.ts +0 -39
  854. package/cjs/core/utils/hooks/useTheme.js +0 -127
  855. package/esm/core/Typography/Body/Body.d.ts +0 -35
  856. package/esm/core/Typography/Body/Body.js +0 -22
  857. package/esm/core/Typography/Body/index.d.ts +0 -4
  858. package/esm/core/Typography/Headline/Headline.d.ts +0 -22
  859. package/esm/core/Typography/Headline/Headline.js +0 -19
  860. package/esm/core/Typography/Headline/index.d.ts +0 -4
  861. package/esm/core/Typography/Leading/Leading.d.ts +0 -22
  862. package/esm/core/Typography/Leading/Leading.js +0 -19
  863. package/esm/core/Typography/Leading/index.d.ts +0 -4
  864. package/esm/core/Typography/Small/Small.d.ts +0 -22
  865. package/esm/core/Typography/Small/Small.js +0 -19
  866. package/esm/core/Typography/Small/index.d.ts +0 -4
  867. package/esm/core/Typography/Small/index.js +0 -6
  868. package/esm/core/Typography/Subheading/Subheading.d.ts +0 -22
  869. package/esm/core/Typography/Subheading/Subheading.js +0 -19
  870. package/esm/core/Typography/Subheading/index.d.ts +0 -4
  871. package/esm/core/Typography/Subheading/index.js +0 -6
  872. package/esm/core/Typography/Title/Title.d.ts +0 -22
  873. package/esm/core/Typography/Title/Title.js +0 -19
  874. package/esm/core/Typography/Title/index.d.ts +0 -4
  875. package/esm/core/Typography/Title/index.js +0 -6
  876. package/esm/core/utils/hooks/useTheme.d.ts +0 -39
  877. package/esm/core/utils/hooks/useTheme.js +0 -100
@@ -4,7 +4,7 @@
4
4
  *--------------------------------------------------------------------------------------------*/
5
5
  import cx from 'classnames';
6
6
  import * as React from 'react';
7
- import { useTheme, StatusIconMap, WithCSSTransition, SvgChevronRight, Icon, } from '../utils/index.js';
7
+ import { StatusIconMap, WithCSSTransition, SvgChevronRight, Icon, Box, } from '../utils/index.js';
8
8
  import '@itwin/itwinui-css/css/expandable-block.css';
9
9
  /**
10
10
  * Container that allows content to be hidden behind a brief title and a caption.
@@ -15,9 +15,8 @@ import '@itwin/itwinui-css/css/expandable-block.css';
15
15
  * <ExpandableBlock title='Positive status' status='positive'>Content</ExpandableBlock>
16
16
  * <ExpandableBlock title='Block with icon' endIcon={<SvgPlaceholder />}>Content</ExpandableBlock>
17
17
  */
18
- export const ExpandableBlock = (props) => {
18
+ export const ExpandableBlock = React.forwardRef((props, ref) => {
19
19
  const { caption, children, className, title, onToggle, style, isExpanded = false, endIcon, status, size = 'default', styleType = 'default', ...rest } = props;
20
- useTheme();
21
20
  const icon = endIcon !== null && endIcon !== void 0 ? endIcon : (status && StatusIconMap[status]());
22
21
  const [expanded, setExpanded] = React.useState(isExpanded);
23
22
  React.useEffect(() => {
@@ -37,20 +36,20 @@ export const ExpandableBlock = (props) => {
37
36
  handleToggle();
38
37
  }
39
38
  };
40
- return (React.createElement("div", { className: cx('iui-expandable-block', {
39
+ return (React.createElement(Box, { className: cx('iui-expandable-block', {
41
40
  'iui-with-caption': !!caption,
42
41
  'iui-expanded': expanded,
43
42
  'iui-small': size === 'small',
44
43
  'iui-borderless': styleType === 'borderless',
45
- }, className), style: style, ...rest },
46
- React.createElement("div", { "aria-expanded": expanded, className: 'iui-header', tabIndex: 0, onClick: handleToggle, onKeyDown: onKeyDown },
44
+ }, className), style: style, ref: ref, ...rest },
45
+ React.createElement(Box, { "aria-expanded": expanded, className: 'iui-header', tabIndex: 0, onClick: handleToggle, onKeyDown: onKeyDown },
47
46
  React.createElement(SvgChevronRight, { className: 'iui-icon', "aria-hidden": true }),
48
- React.createElement("span", { className: 'iui-expandable-block-label' },
49
- React.createElement("div", { className: 'iui-title' }, title),
50
- caption && React.createElement("div", { className: 'iui-caption' }, caption)),
47
+ React.createElement(Box, { as: 'span', className: 'iui-expandable-block-label' },
48
+ React.createElement(Box, { className: 'iui-title' }, title),
49
+ caption && React.createElement(Box, { className: 'iui-caption' }, caption)),
51
50
  icon && React.createElement(Icon, { fill: status }, icon)),
52
51
  React.createElement(WithCSSTransition, { in: expanded },
53
- React.createElement("div", { className: 'iui-expandable-content' },
52
+ React.createElement(Box, { className: 'iui-expandable-content' },
54
53
  React.createElement("div", null, children)))));
55
- };
54
+ });
56
55
  export default ExpandableBlock;
@@ -1,4 +1,3 @@
1
1
  export { ExpandableBlock } from './ExpandableBlock.js';
2
- export type { ExpandableBlockProps } from './ExpandableBlock.js';
3
2
  declare const _default: "./ExpandableBlock";
4
3
  export default _default;
@@ -1,11 +1,12 @@
1
1
  import * as React from 'react';
2
+ import type { PolymorphicForwardRefComponent } from '../utils/index.js';
2
3
  import '@itwin/itwinui-css/css/fieldset.css';
3
- export declare type FieldsetProps = {
4
+ declare type FieldsetProps = {
4
5
  /**
5
6
  * The caption or title for the fieldset.
6
7
  */
7
8
  legend?: React.ReactNode;
8
- } & React.ComponentPropsWithoutRef<'fieldset'>;
9
+ };
9
10
  /**
10
11
  * Fieldset component to group several inputs, controls and labels within a form.
11
12
  * @example
@@ -17,5 +18,5 @@ export declare type FieldsetProps = {
17
18
  * </InputGroup>
18
19
  * </Fieldset>
19
20
  */
20
- export declare const Fieldset: (props: FieldsetProps) => JSX.Element;
21
+ export declare const Fieldset: PolymorphicForwardRefComponent<"fieldset", FieldsetProps>;
21
22
  export default Fieldset;
@@ -3,7 +3,7 @@
3
3
  * See LICENSE.md in the project root for license terms and full copyright notice.
4
4
  *--------------------------------------------------------------------------------------------*/
5
5
  import * as React from 'react';
6
- import { useTheme } from '../utils/index.js';
6
+ import { Box } from '../utils/index.js';
7
7
  import cx from 'classnames';
8
8
  import '@itwin/itwinui-css/css/fieldset.css';
9
9
  /**
@@ -17,15 +17,14 @@ import '@itwin/itwinui-css/css/fieldset.css';
17
17
  * </InputGroup>
18
18
  * </Fieldset>
19
19
  */
20
- export const Fieldset = (props) => {
20
+ export const Fieldset = React.forwardRef((props, ref) => {
21
21
  const { children, className, disabled, legend, ...rest } = props;
22
- useTheme();
23
- return (React.createElement("fieldset", { className: cx('iui-fieldset', className), disabled: disabled, ...rest },
22
+ return (React.createElement(Box, { as: 'fieldset', className: cx('iui-fieldset', className), disabled: disabled, ref: ref, ...rest },
24
23
  legend && React.createElement("legend", null, legend),
25
24
  disabled
26
25
  ? React.Children.map(children, (child) => React.isValidElement(child)
27
26
  ? React.cloneElement(child, { disabled: true })
28
27
  : child)
29
28
  : children));
30
- };
29
+ });
31
30
  export default Fieldset;
@@ -1,4 +1,3 @@
1
1
  export { Fieldset } from './Fieldset.js';
2
- export type { FieldsetProps } from './Fieldset.js';
3
2
  declare const _default: "./Fieldset";
4
3
  export default _default;
@@ -1,7 +1,4 @@
1
- import * as React from 'react';
2
- export declare type FileEmptyCardIconProps = React.ComponentPropsWithRef<'span'>;
3
- export declare type FileEmptyCardTextProps = React.ComponentPropsWithRef<'span'>;
4
- export declare type FileEmptyCardProps = React.ComponentPropsWithoutRef<'div'>;
1
+ import type { PolymorphicForwardRefComponent } from '../utils/index.js';
5
2
  /**
6
3
  * Empty file card to be used with the `FileUploadCard` component when no file has been uploaded.
7
4
  * @example
@@ -18,12 +15,8 @@ export declare type FileEmptyCardProps = React.ComponentPropsWithoutRef<'div'>;
18
15
  * </FileEmptyCard.Text>
19
16
  * </FileEmptyCard>
20
17
  */
21
- export declare const FileEmptyCard: React.ForwardRefExoticComponent<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & React.RefAttributes<HTMLDivElement>> & {
22
- Icon: React.ForwardRefExoticComponent<Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "key" | keyof React.HTMLAttributes<HTMLSpanElement>> & {
23
- ref?: ((instance: HTMLSpanElement | null) => void) | React.RefObject<HTMLSpanElement> | null | undefined;
24
- }, "key" | keyof React.HTMLAttributes<HTMLSpanElement>> & React.RefAttributes<HTMLSpanElement>>;
25
- Text: React.ForwardRefExoticComponent<Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "key" | keyof React.HTMLAttributes<HTMLSpanElement>> & {
26
- ref?: ((instance: HTMLSpanElement | null) => void) | React.RefObject<HTMLSpanElement> | null | undefined;
27
- }, "key" | keyof React.HTMLAttributes<HTMLSpanElement>> & React.RefAttributes<HTMLSpanElement>>;
18
+ export declare const FileEmptyCard: PolymorphicForwardRefComponent<"div", {}> & {
19
+ Icon: PolymorphicForwardRefComponent<"span", {}>;
20
+ Text: PolymorphicForwardRefComponent<"span", {}>;
28
21
  };
29
22
  export default FileEmptyCard;
@@ -3,16 +3,26 @@
3
3
  * See LICENSE.md in the project root for license terms and full copyright notice.
4
4
  *--------------------------------------------------------------------------------------------*/
5
5
  import * as React from 'react';
6
- import { SvgUpload } from '../utils/index.js';
6
+ import { Box, polymorphic, SvgUpload } from '../utils/index.js';
7
7
  import cx from 'classnames';
8
8
  import FileUploadCard from './FileUploadCard.js';
9
- const FileEmptyCardIcon = React.forwardRef((props, ref) => {
10
- const { children, className, ...rest } = props;
11
- return (React.createElement("span", { className: cx('iui-file-card-empty-icon', className), ref: ref, ...rest }, children !== null && children !== void 0 ? children : React.createElement(SvgUpload, null)));
9
+ // ----------------------------------------------------------------------------
10
+ // FileEmptyCard.Icon component
11
+ const FileEmptyCardIcon = polymorphic.span('iui-file-card-empty-icon', {
12
+ children: React.createElement(SvgUpload, null),
12
13
  });
13
- const FileEmptyCardText = React.forwardRef((props, ref) => {
14
+ // ----------------------------------------------------------------------------
15
+ // FileEmptyCard.Text component
16
+ const FileEmptyCardText = polymorphic.span('iui-file-card-empty-action');
17
+ // ----------------------------------------------------------------------------
18
+ // FileEmptyCard component
19
+ const FileEmptyCardComponent = React.forwardRef((props, ref) => {
14
20
  const { children, className, ...rest } = props;
15
- return (React.createElement("span", { className: cx('iui-file-card-empty-action', className), ref: ref, ...rest }, children));
21
+ return (React.createElement(Box, { className: cx('iui-file-card-empty', className), ref: ref, ...rest }, children !== null && children !== void 0 ? children : (React.createElement(React.Fragment, null,
22
+ React.createElement(FileEmptyCard.Icon, null),
23
+ React.createElement(FileEmptyCard.Text, null,
24
+ React.createElement(FileUploadCard.InputLabel, null, "Choose a file"),
25
+ React.createElement("div", null, "to upload."))))));
16
26
  });
17
27
  /**
18
28
  * Empty file card to be used with the `FileUploadCard` component when no file has been uploaded.
@@ -30,14 +40,7 @@ const FileEmptyCardText = React.forwardRef((props, ref) => {
30
40
  * </FileEmptyCard.Text>
31
41
  * </FileEmptyCard>
32
42
  */
33
- export const FileEmptyCard = Object.assign(React.forwardRef((props, ref) => {
34
- const { children, className, ...rest } = props;
35
- return (React.createElement("div", { className: cx('iui-file-card-empty', className), ref: ref, ...rest }, children !== null && children !== void 0 ? children : (React.createElement(React.Fragment, null,
36
- React.createElement(FileEmptyCard.Icon, null),
37
- React.createElement(FileEmptyCard.Text, null,
38
- React.createElement(FileUploadCard.InputLabel, null, "Choose a file"),
39
- React.createElement("div", null, "to upload."))))));
40
- }), {
43
+ export const FileEmptyCard = Object.assign(FileEmptyCardComponent, {
41
44
  Icon: FileEmptyCardIcon,
42
45
  Text: FileEmptyCardText,
43
46
  });
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
- import type { CommonProps } from '../utils/index.js';
2
+ import type { PolymorphicForwardRefComponent } from '../utils/index.js';
3
3
  import '@itwin/itwinui-css/css/file-upload.css';
4
- export declare type FileUploadProps = {
4
+ declare type FileUploadProps = {
5
5
  /**
6
6
  * Content shown over `children` when file is being dragged onto the component.
7
7
  * Should always be used when drag content differs from `children` being wrapped.
@@ -17,7 +17,7 @@ export declare type FileUploadProps = {
17
17
  * Either pass `FileUploadTemplate` (for default state) or a different component to wrap.
18
18
  */
19
19
  children: React.ReactNode;
20
- } & CommonProps;
20
+ };
21
21
  /**
22
22
  * File upload component to be wrapped around `FileUploadTemplate` or any arbitrary component.
23
23
  * Provides support for dragging and dropping multiple files.
@@ -25,26 +25,5 @@ export declare type FileUploadProps = {
25
25
  * <FileUpload onFileDropped={console.log}><FileUploadTemplate /></FileUpload>
26
26
  * <FileUpload dragContent='Drop file here' onFileDropped={console.log}><Textarea /></FileUpload>
27
27
  */
28
- export declare const FileUpload: React.ForwardRefExoticComponent<{
29
- /**
30
- * Content shown over `children` when file is being dragged onto the component.
31
- * Should always be used when drag content differs from `children` being wrapped.
32
- * Can be skipped if wrapping `FileUploadTemplate`.
33
- */
34
- dragContent?: React.ReactNode;
35
- /**
36
- * Callback fired when files are dropped onto the component.
37
- */
38
- onFileDropped: (files: FileList) => void;
39
- /**
40
- * Component to wrap `FileUpload` around.
41
- * Either pass `FileUploadTemplate` (for default state) or a different component to wrap.
42
- */
43
- children: React.ReactNode;
44
- } & {
45
- title?: string | undefined;
46
- id?: string | undefined;
47
- } & {
48
- style?: React.CSSProperties | undefined;
49
- } & import("../utils/props.js").ClassNameProps & React.RefAttributes<HTMLDivElement>>;
28
+ export declare const FileUpload: PolymorphicForwardRefComponent<"div", FileUploadProps>;
50
29
  export default FileUpload;
@@ -4,7 +4,7 @@
4
4
  *--------------------------------------------------------------------------------------------*/
5
5
  import * as React from 'react';
6
6
  import cx from 'classnames';
7
- import { useTheme, useMergedRefs } from '../utils/index.js';
7
+ import { Box, useMergedRefs } from '../utils/index.js';
8
8
  import '@itwin/itwinui-css/css/file-upload.css';
9
9
  /**
10
10
  * File upload component to be wrapped around `FileUploadTemplate` or any arbitrary component.
@@ -15,7 +15,6 @@ import '@itwin/itwinui-css/css/file-upload.css';
15
15
  */
16
16
  export const FileUpload = React.forwardRef((props, ref) => {
17
17
  const { dragContent, children, onFileDropped, className, ...rest } = props;
18
- useTheme();
19
18
  const [isDragActive, setIsDragActive] = React.useState(false);
20
19
  const fileUploadRef = React.useRef(null);
21
20
  const refs = useMergedRefs(fileUploadRef, ref);
@@ -51,8 +50,8 @@ export const FileUpload = React.forwardRef((props, ref) => {
51
50
  onFileDropped((_a = e.dataTransfer) === null || _a === void 0 ? void 0 : _a.files);
52
51
  }
53
52
  };
54
- return (React.createElement("div", { className: cx('iui-file-upload', { 'iui-drag': isDragActive }, className), onDragEnter: onDragEnterHandler, onDragOver: onDragOverHandler, onDragLeave: onDragLeaveHandler, onDrop: onDropHandler, ref: refs, ...rest },
55
- dragContent ? children : React.createElement("div", { className: 'iui-content' }, children),
56
- dragContent && React.createElement("div", { className: 'iui-content' }, dragContent)));
53
+ return (React.createElement(Box, { className: cx('iui-file-upload', { 'iui-drag': isDragActive }, className), onDragEnter: onDragEnterHandler, onDragOver: onDragOverHandler, onDragLeave: onDragLeaveHandler, onDrop: onDropHandler, ref: refs, ...rest },
54
+ dragContent ? children : React.createElement(Box, { className: 'iui-content' }, children),
55
+ dragContent && React.createElement(Box, { className: 'iui-content' }, dragContent)));
57
56
  });
58
57
  export default FileUpload;
@@ -1,13 +1,7 @@
1
1
  import * as React from 'react';
2
+ import type { PolymorphicForwardRefComponent } from '../utils/index.js';
2
3
  import '@itwin/itwinui-css/css/file-upload.css';
3
- export declare type FileUploadCardIconProps = React.ComponentPropsWithRef<'span'>;
4
- export declare type FileUploadCardInfoProps = React.ComponentPropsWithRef<'span'>;
5
- export declare type FileUploadCardTitleProps = React.ComponentPropsWithRef<'span'>;
6
- export declare type FileUploadCardDescriptionProps = React.ComponentPropsWithRef<'span'>;
7
- export declare type FileUploadCardActionProps = React.ComponentPropsWithRef<'div'>;
8
- export declare type FileUploadCardInputLabelProps = React.ComponentPropsWithRef<'label'>;
9
- export declare type FileUploadCardInputProps = React.ComponentPropsWithRef<'input'>;
10
- export declare type FileUploadCardProps = {
4
+ declare type FileUploadCardProps = {
11
5
  /**
12
6
  * Files to pass (only needed when passing a custom action)
13
7
  */
@@ -27,7 +21,7 @@ export declare type FileUploadCardProps = {
27
21
  * @default <FileUploadCard.Input />
28
22
  */
29
23
  input?: React.ReactNode;
30
- } & React.ComponentPropsWithoutRef<'div'>;
24
+ };
31
25
  /**
32
26
  * Default card to be used with the `FileUpload` wrapper component for single-file uploading.
33
27
  * @example
@@ -52,48 +46,14 @@ export declare type FileUploadCardProps = {
52
46
  * </FileUploadCard.Action>
53
47
  * </FileUploadCard>
54
48
  */
55
- export declare const FileUploadCard: React.ForwardRefExoticComponent<{
56
- /**
57
- * Files to pass (only needed when passing a custom action)
58
- */
59
- files?: File[] | undefined;
60
- /**
61
- * Callback fired when files has changed (only needed passing custom action)
62
- */
63
- onFilesChange?: ((files: File[]) => void) | undefined;
64
- /**
65
- * Node that is shown when there is no file uploaded
66
- * Either pass `FileEmptyCard` (for default state) or a different component to show
67
- * @default <FileEmptyCard />
68
- */
69
- emptyCard?: React.ReactNode;
70
- /**
71
- * Input node
72
- * @default <FileUploadCard.Input />
73
- */
74
- input?: React.ReactNode;
75
- } & Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & React.RefAttributes<HTMLDivElement>> & {
76
- Icon: React.ForwardRefExoticComponent<Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "key" | keyof React.HTMLAttributes<HTMLSpanElement>> & {
77
- ref?: ((instance: HTMLSpanElement | null) => void) | React.RefObject<HTMLSpanElement> | null | undefined;
78
- }, "key" | keyof React.HTMLAttributes<HTMLSpanElement>> & React.RefAttributes<HTMLSpanElement>>;
79
- Info: React.ForwardRefExoticComponent<Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "key" | keyof React.HTMLAttributes<HTMLSpanElement>> & {
80
- ref?: ((instance: HTMLSpanElement | null) => void) | React.RefObject<HTMLSpanElement> | null | undefined;
81
- }, "key" | keyof React.HTMLAttributes<HTMLSpanElement>> & React.RefAttributes<HTMLSpanElement>>;
82
- Title: React.ForwardRefExoticComponent<Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "key" | keyof React.HTMLAttributes<HTMLSpanElement>> & {
83
- ref?: ((instance: HTMLSpanElement | null) => void) | React.RefObject<HTMLSpanElement> | null | undefined;
84
- }, "key" | keyof React.HTMLAttributes<HTMLSpanElement>> & React.RefAttributes<HTMLSpanElement>>;
85
- Description: React.ForwardRefExoticComponent<Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "key" | keyof React.HTMLAttributes<HTMLSpanElement>> & {
86
- ref?: ((instance: HTMLSpanElement | null) => void) | React.RefObject<HTMLSpanElement> | null | undefined;
87
- }, "key" | keyof React.HTMLAttributes<HTMLSpanElement>> & React.RefAttributes<HTMLSpanElement>>;
88
- Action: React.ForwardRefExoticComponent<Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
89
- ref?: ((instance: HTMLDivElement | null) => void) | React.RefObject<HTMLDivElement> | null | undefined;
90
- }, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & React.RefAttributes<HTMLDivElement>>;
91
- InputLabel: React.ForwardRefExoticComponent<Pick<Pick<React.DetailedHTMLProps<React.LabelHTMLAttributes<HTMLLabelElement>, HTMLLabelElement>, "key" | keyof React.LabelHTMLAttributes<HTMLLabelElement>> & {
92
- ref?: ((instance: HTMLLabelElement | null) => void) | React.RefObject<HTMLLabelElement> | null | undefined;
93
- }, "key" | keyof React.LabelHTMLAttributes<HTMLLabelElement>> & React.RefAttributes<HTMLLabelElement>>;
94
- Input: React.ForwardRefExoticComponent<Pick<Pick<React.DetailedHTMLProps<React.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "key" | keyof React.InputHTMLAttributes<HTMLInputElement>> & {
95
- ref?: ((instance: HTMLInputElement | null) => void) | React.RefObject<HTMLInputElement> | null | undefined;
96
- }, "key" | keyof React.InputHTMLAttributes<HTMLInputElement>> & React.RefAttributes<HTMLInputElement>>;
49
+ export declare const FileUploadCard: PolymorphicForwardRefComponent<"div", FileUploadCardProps> & {
50
+ Icon: PolymorphicForwardRefComponent<"span", {}>;
51
+ Info: PolymorphicForwardRefComponent<"span", {}>;
52
+ Title: PolymorphicForwardRefComponent<"span", {}>;
53
+ Description: PolymorphicForwardRefComponent<"span", {}>;
54
+ Action: PolymorphicForwardRefComponent<"div", {}>;
55
+ InputLabel: PolymorphicForwardRefComponent<"label", {}>;
56
+ Input: PolymorphicForwardRefComponent<"input", {}>;
97
57
  };
98
58
  export default FileUploadCard;
99
59
  export declare const FileUploadCardContext: React.Context<{
@@ -3,7 +3,7 @@
3
3
  * See LICENSE.md in the project root for license terms and full copyright notice.
4
4
  *--------------------------------------------------------------------------------------------*/
5
5
  import * as React from 'react';
6
- import { getWindow, SvgDocument, useMergedRefs, useSafeContext, useId, mergeEventHandlers, VisuallyHidden, } from '../utils/index.js';
6
+ import { getWindow, SvgDocument, useMergedRefs, useSafeContext, useId, mergeEventHandlers, polymorphic, Box, VisuallyHidden, } from '../utils/index.js';
7
7
  import cx from 'classnames';
8
8
  import { FileEmptyCard } from './FileEmptyCard.js';
9
9
  import { Anchor } from '../Typography/Anchor/Anchor.js';
@@ -20,23 +20,27 @@ const toDate = (dateNumber) => {
20
20
  const date = new Date(dateNumber);
21
21
  return date.toDateString() + ' ' + date.toLocaleTimeString();
22
22
  };
23
- const FileUploadCardIcon = React.forwardRef((props, ref) => {
24
- const { children, className, ...rest } = props;
25
- return (React.createElement("span", { className: cx('iui-file-card-icon', className), ref: ref, ...rest }, children !== null && children !== void 0 ? children : React.createElement(SvgDocument, null)));
23
+ // ----------------------------------------------------------------------------
24
+ // FileUploadCard.Icon component
25
+ const FileUploadCardIcon = polymorphic.span('iui-file-card-icon', {
26
+ children: React.createElement(SvgDocument, null),
26
27
  });
27
28
  FileUploadCardIcon.displayName = 'FileUploadCard.Icon';
28
- const FileUploadCardInfo = React.forwardRef((props, ref) => {
29
- const { children, className, ...rest } = props;
30
- return (React.createElement("span", { className: cx('iui-file-card-text', className), ref: ref, ...rest }, children));
31
- });
29
+ // ----------------------------------------------------------------------------
30
+ // FileUploadCard.Info component
31
+ const FileUploadCardInfo = polymorphic.span('iui-file-card-text');
32
32
  FileUploadCardInfo.displayName = 'FileUploadCard.Info';
33
+ // ----------------------------------------------------------------------------
34
+ // FileUploadCard.Title component
33
35
  const FileUploadCardTitle = React.forwardRef((props, ref) => {
34
36
  const { children, className, ...rest } = props;
35
37
  const { files } = useSafeContext(FileUploadCardContext);
36
38
  const title = files.length > 1 ? files.length + ' files selected' : files[0].name;
37
- return (React.createElement("span", { className: cx('iui-file-card-title', className), ref: ref, ...rest }, children !== null && children !== void 0 ? children : title));
39
+ return (React.createElement(Box, { as: 'span', className: cx('iui-file-card-title', className), ref: ref, ...rest }, children !== null && children !== void 0 ? children : title));
38
40
  });
39
41
  FileUploadCardTitle.displayName = 'FileUploadCard.Title';
42
+ // ----------------------------------------------------------------------------
43
+ // FileUploadCard.Description component
40
44
  const FileUploadCardDescription = React.forwardRef((props, ref) => {
41
45
  const { children, className, ...rest } = props;
42
46
  const { files } = useSafeContext(FileUploadCardContext);
@@ -46,20 +50,23 @@ const FileUploadCardDescription = React.forwardRef((props, ref) => {
46
50
  if (files.length > 2) {
47
51
  description += ', and ' + (files.length - 2) + ' others';
48
52
  }
49
- return (React.createElement("span", { className: cx('iui-file-card-description', className), ref: ref, ...rest }, children !== null && children !== void 0 ? children : description));
53
+ return (React.createElement(Box, { as: 'span', className: cx('iui-file-card-description', className), ref: ref, ...rest }, children !== null && children !== void 0 ? children : description));
50
54
  });
51
55
  FileUploadCardDescription.displayName = 'FileUploadCard.Description';
52
- const FileUploadCardAction = React.forwardRef((props, ref) => {
53
- const { children, className, ...rest } = props;
54
- return (React.createElement("div", { className: cx('iui-file-card-action', className), ref: ref, ...rest }, children));
55
- });
56
+ // ----------------------------------------------------------------------------
57
+ // FileUploadCard.Action component
58
+ const FileUploadCardAction = polymorphic.div('iui-file-card-action');
56
59
  FileUploadCardAction.displayName = 'FileUploadCard.Action';
60
+ // ----------------------------------------------------------------------------
61
+ // FileUploadCard.InputLabel component
57
62
  const FileUploadCardInputLabel = React.forwardRef((props, ref) => {
58
63
  const { children, ...rest } = props;
59
64
  const { inputId } = useSafeContext(FileUploadCardContext);
60
65
  return (React.createElement(Anchor, { as: 'label', ref: ref, htmlFor: inputId, ...rest }, children));
61
66
  });
62
67
  FileUploadCardInputLabel.displayName = 'FileUploadCard.InputLabel';
68
+ // ----------------------------------------------------------------------------
69
+ // FileUploadCard.Input component
63
70
  const FileUploadCardInput = React.forwardRef((props, ref) => {
64
71
  const { children, onChange, id, ...rest } = props;
65
72
  const { files, onFilesChange, setInternalFiles, inputId, setInputId } = useSafeContext(FileUploadCardContext);
@@ -88,6 +95,28 @@ const FileUploadCardInput = React.forwardRef((props, ref) => {
88
95
  children));
89
96
  });
90
97
  FileUploadCardInput.displayName = 'FileUploadCard.Input';
98
+ const FileUploadCardComponent = React.forwardRef((props, ref) => {
99
+ var _a;
100
+ const { className, children, files: filesProp, onFilesChange, emptyCard = React.createElement(FileEmptyCard, null), input, ...rest } = props;
101
+ const [internalFiles, setInternalFiles] = React.useState();
102
+ const uid = useId();
103
+ const [inputId, setInputId] = React.useState(uid);
104
+ const files = (_a = filesProp !== null && filesProp !== void 0 ? filesProp : internalFiles) !== null && _a !== void 0 ? _a : [];
105
+ return (React.createElement(FileUploadCardContext.Provider, { value: {
106
+ files,
107
+ onFilesChange,
108
+ setInternalFiles,
109
+ inputId,
110
+ setInputId,
111
+ } },
112
+ (files === null || files === void 0 ? void 0 : files.length) ? (React.createElement(Box, { className: cx('iui-file-card', className), ref: ref, ...rest }, children !== null && children !== void 0 ? children : (React.createElement(React.Fragment, null,
113
+ React.createElement(FileUploadCard.Icon, null),
114
+ React.createElement(FileUploadCard.Info, null,
115
+ React.createElement(FileUploadCard.Title, null),
116
+ React.createElement(FileUploadCard.Description, null)),
117
+ React.createElement(FileUploadCard.Action, null,
118
+ React.createElement(FileUploadCard.InputLabel, null, "Replace")))))) : (emptyCard), input !== null && input !== void 0 ? input : React.createElement(FileUploadCard.Input, null)));
119
+ });
91
120
  /**
92
121
  * Default card to be used with the `FileUpload` wrapper component for single-file uploading.
93
122
  * @example
@@ -112,28 +141,7 @@ FileUploadCardInput.displayName = 'FileUploadCard.Input';
112
141
  * </FileUploadCard.Action>
113
142
  * </FileUploadCard>
114
143
  */
115
- export const FileUploadCard = Object.assign(React.forwardRef((props, ref) => {
116
- var _a;
117
- const { className, children, files: filesProp, onFilesChange, emptyCard = React.createElement(FileEmptyCard, null), input, ...rest } = props;
118
- const [internalFiles, setInternalFiles] = React.useState();
119
- const uid = useId();
120
- const [inputId, setInputId] = React.useState(uid);
121
- const files = (_a = filesProp !== null && filesProp !== void 0 ? filesProp : internalFiles) !== null && _a !== void 0 ? _a : [];
122
- return (React.createElement(FileUploadCardContext.Provider, { value: {
123
- files,
124
- onFilesChange,
125
- setInternalFiles,
126
- inputId,
127
- setInputId,
128
- } },
129
- (files === null || files === void 0 ? void 0 : files.length) ? (React.createElement("div", { className: cx('iui-file-card', className), ref: ref, ...rest }, children !== null && children !== void 0 ? children : (React.createElement(React.Fragment, null,
130
- React.createElement(FileUploadCard.Icon, null),
131
- React.createElement(FileUploadCard.Info, null,
132
- React.createElement(FileUploadCard.Title, null),
133
- React.createElement(FileUploadCard.Description, null)),
134
- React.createElement(FileUploadCard.Action, null,
135
- React.createElement(FileUploadCard.InputLabel, null, "Replace")))))) : (emptyCard), input !== null && input !== void 0 ? input : React.createElement(FileUploadCard.Input, null)));
136
- }), {
144
+ export const FileUploadCard = Object.assign(FileUploadCardComponent, {
137
145
  Icon: FileUploadCardIcon,
138
146
  Info: FileUploadCardInfo,
139
147
  Title: FileUploadCardTitle,
@@ -1,6 +1,7 @@
1
1
  import * as React from 'react';
2
+ import type { PolymorphicForwardRefComponent } from '../utils/index.js';
2
3
  import '@itwin/itwinui-css/css/file-upload.css';
3
- export declare type FileUploadTemplateProps = {
4
+ declare type FileUploadTemplateProps = {
4
5
  /**
5
6
  * Callback fired when a file is selected from the device.
6
7
  */
@@ -30,12 +31,12 @@ export declare type FileUploadTemplateProps = {
30
31
  * Optional children appended to the template.
31
32
  */
32
33
  children?: React.ReactNode;
33
- } & React.ComponentProps<'div'>;
34
+ };
34
35
  /**
35
36
  * Default template to be used with the `FileUpload` wrapper component.
36
37
  * Contains a hidden input with styled labels (customizable).
37
38
  * @example
38
39
  * <FileUploadTemplate onChange={(e) => console.log(e.target.files)} />
39
40
  */
40
- export declare const FileUploadTemplate: (props: FileUploadTemplateProps) => JSX.Element;
41
+ export declare const FileUploadTemplate: PolymorphicForwardRefComponent<"div", FileUploadTemplateProps>;
41
42
  export default FileUploadTemplate;
@@ -4,7 +4,7 @@
4
4
  *--------------------------------------------------------------------------------------------*/
5
5
  import * as React from 'react';
6
6
  import cx from 'classnames';
7
- import { useTheme, SvgUpload } from '../utils/index.js';
7
+ import { SvgUpload, Box } from '../utils/index.js';
8
8
  import '@itwin/itwinui-css/css/file-upload.css';
9
9
  import { Anchor } from '../Typography/Anchor/Anchor.js';
10
10
  /**
@@ -13,16 +13,15 @@ import { Anchor } from '../Typography/Anchor/Anchor.js';
13
13
  * @example
14
14
  * <FileUploadTemplate onChange={(e) => console.log(e.target.files)} />
15
15
  */
16
- export const FileUploadTemplate = (props) => {
16
+ export const FileUploadTemplate = React.forwardRef((props, ref) => {
17
17
  const { onChange, acceptMultiple = true, acceptType, label = 'Choose a file', subtitle = 'or drag & drop it here.', children, className, ...rest } = props;
18
- useTheme();
19
- return (React.createElement("div", { className: cx('iui-file-upload-template', className), ...rest },
18
+ return (React.createElement(Box, { className: cx('iui-file-upload-template', className), ref: ref, ...rest },
20
19
  React.createElement(SvgUpload, { className: 'iui-template-icon', "aria-hidden": true }),
21
- React.createElement("div", { className: 'iui-template-text' },
20
+ React.createElement(Box, { className: 'iui-template-text' },
22
21
  React.createElement(Anchor, { as: 'label' },
23
- React.createElement("input", { className: 'iui-browse-input', type: 'file', onChange: onChange, multiple: acceptMultiple, accept: acceptType }),
22
+ React.createElement(Box, { as: 'input', className: 'iui-browse-input', type: 'file', onChange: onChange, multiple: acceptMultiple, accept: acceptType }),
24
23
  label),
25
24
  React.createElement("div", null, subtitle),
26
25
  children)));
27
- };
26
+ });
28
27
  export default FileUploadTemplate;
@@ -1,10 +1,6 @@
1
1
  export { FileUpload } from './FileUpload.js';
2
- export type { FileUploadProps } from './FileUpload.js';
3
2
  declare const _default: "./FileUpload";
4
3
  export default _default;
5
4
  export { FileUploadTemplate } from './FileUploadTemplate.js';
6
- export type { FileUploadTemplateProps } from './FileUploadTemplate.js';
7
5
  export { FileUploadCard } from './FileUploadCard.js';
8
- export type { FileUploadCardProps, FileUploadCardIconProps, FileUploadCardInfoProps, FileUploadCardTitleProps, FileUploadCardDescriptionProps, FileUploadCardActionProps, FileUploadCardInputLabelProps, FileUploadCardInputProps, } from './FileUploadCard.js';
9
6
  export { FileEmptyCard } from './FileEmptyCard.js';
10
- export type { FileEmptyCardProps, FileEmptyCardIconProps, FileEmptyCardTextProps, } from './FileEmptyCard.js';
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import type { StylingProps } from '../utils/index.js';
2
+ import type { CommonProps } from '../utils/index.js';
3
3
  import '@itwin/itwinui-css/css/footer.css';
4
4
  export declare type TitleTranslations = {
5
5
  termsOfService: string;
@@ -8,7 +8,7 @@ export declare type TitleTranslations = {
8
8
  cookies: string;
9
9
  legalNotices: string;
10
10
  };
11
- export declare type FooterProps = {
11
+ declare type FooterProps = {
12
12
  /**
13
13
  * Customize footer elements.
14
14
  * Providing a `FooterElement[]` will append the custom elements to the end of the default elements.
@@ -24,7 +24,7 @@ export declare type FooterProps = {
24
24
  * Use `defaultFooterElements` to get the default footer elements.
25
25
  */
26
26
  children?: React.ReactNode;
27
- } & StylingProps;
27
+ } & CommonProps;
28
28
  export declare type FooterElement = {
29
29
  /**
30
30
  * Title of the footer element.
@@ -54,12 +54,8 @@ export declare const defaultFooterElements: FooterElement[];
54
54
  * <Footer customElements={(defaultElements) => defaultElements.map(element => ({ ...element, url: element.key === 'privacy' ? customPrivacyUrl : element.url }))} />
55
55
  */
56
56
  export declare const Footer: ((props: FooterProps) => JSX.Element) & {
57
- List: (props: Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLUListElement>, HTMLUListElement>, "key" | keyof React.HTMLAttributes<HTMLUListElement>> & {
58
- ref?: ((instance: HTMLUListElement | null) => void) | React.RefObject<HTMLUListElement> | null | undefined;
59
- }) => JSX.Element;
60
- Item: (props: Pick<React.DetailedHTMLProps<React.LiHTMLAttributes<HTMLLIElement>, HTMLLIElement>, "key" | keyof React.LiHTMLAttributes<HTMLLIElement>> & {
61
- ref?: ((instance: HTMLLIElement | null) => void) | React.RefObject<HTMLLIElement> | null | undefined;
62
- }) => JSX.Element;
63
- Separator: (props: import("./FooterSeparator.js").FooterSeparatorProps) => JSX.Element;
57
+ List: import("../utils/props.js").PolymorphicForwardRefComponent<"ul", {}>;
58
+ Item: import("../utils/props.js").PolymorphicForwardRefComponent<"li", {}>;
59
+ Separator: import("../utils/props.js").PolymorphicForwardRefComponent<"li", {}>;
64
60
  };
65
61
  export default Footer;
@@ -4,7 +4,7 @@
4
4
  *--------------------------------------------------------------------------------------------*/
5
5
  import * as React from 'react';
6
6
  import cx from 'classnames';
7
- import { useTheme } from '../utils/index.js';
7
+ import { Box } from '../utils/index.js';
8
8
  import '@itwin/itwinui-css/css/footer.css';
9
9
  import { FooterItem } from './FooterItem.js';
10
10
  import { FooterSeparator } from './FooterSeparator.js';
@@ -62,7 +62,6 @@ export const defaultFooterElements = [
62
62
  */
63
63
  export const Footer = Object.assign((props) => {
64
64
  const { children, customElements, translatedTitles, className, ...rest } = props;
65
- useTheme();
66
65
  const titles = { ...footerTranslations, ...translatedTitles };
67
66
  const translatedElements = defaultFooterElements.map((element) => {
68
67
  if (element.key && titles.hasOwnProperty(element.key)) {
@@ -81,7 +80,7 @@ export const Footer = Object.assign((props) => {
81
80
  ? customElements(translatedElements)
82
81
  : [...translatedElements, ...customElements];
83
82
  }
84
- return (React.createElement("footer", { className: cx('iui-legal-footer', className), ...rest }, children ? (children) : (React.createElement(FooterList, null, elements.map((element, index) => {
83
+ return (React.createElement(Box, { as: 'footer', className: cx('iui-legal-footer', className), ...rest }, children ? (children) : (React.createElement(FooterList, null, elements.map((element, index) => {
85
84
  return (React.createElement(React.Fragment, { key: element.key || `${element.title}-${index}` },
86
85
  index > 0 && React.createElement(FooterSeparator, null),
87
86
  React.createElement(FooterItem, null, element.url ? (React.createElement("a", { href: element.url, target: '_blank', rel: 'noreferrer' }, element.title)) : (element.title))));
@@ -1,8 +1,6 @@
1
- import * as React from 'react';
2
1
  import '@itwin/itwinui-css/css/footer.css';
3
- export declare type FooterItemProps = React.ComponentPropsWithRef<'li'>;
4
2
  /**
5
3
  * Footer item. Recommended to use inside `Footer.List`.
6
4
  */
7
- export declare const FooterItem: (props: FooterItemProps) => JSX.Element;
5
+ export declare const FooterItem: import("../utils/props.js").PolymorphicForwardRefComponent<"li", {}>;
8
6
  export default FooterItem;