@itwin/itwinui-react 3.0.0-dev.0 → 3.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 (508) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.md +28 -22
  3. package/cjs/core/Alert/Alert.d.ts +0 -1
  4. package/cjs/core/Alert/Alert.js +0 -1
  5. package/cjs/core/Avatar/Avatar.d.ts +0 -1
  6. package/cjs/core/Avatar/Avatar.js +0 -1
  7. package/cjs/core/AvatarGroup/AvatarGroup.d.ts +0 -1
  8. package/cjs/core/AvatarGroup/AvatarGroup.js +0 -1
  9. package/cjs/core/Backdrop/Backdrop.d.ts +0 -1
  10. package/cjs/core/Backdrop/Backdrop.js +0 -1
  11. package/cjs/core/Badge/Badge.d.ts +0 -1
  12. package/cjs/core/Badge/Badge.js +0 -1
  13. package/cjs/core/Breadcrumbs/Breadcrumbs.d.ts +0 -1
  14. package/cjs/core/Breadcrumbs/Breadcrumbs.js +0 -1
  15. package/cjs/core/ButtonGroup/ButtonGroup.d.ts +0 -1
  16. package/cjs/core/ButtonGroup/ButtonGroup.js +0 -1
  17. package/cjs/core/Buttons/Button/Button.d.ts +0 -1
  18. package/cjs/core/Buttons/Button/Button.js +0 -1
  19. package/cjs/core/Buttons/DropdownButton/DropdownButton.d.ts +0 -1
  20. package/cjs/core/Buttons/DropdownButton/DropdownButton.js +0 -1
  21. package/cjs/core/Buttons/IconButton/IconButton.d.ts +0 -2
  22. package/cjs/core/Buttons/IconButton/IconButton.js +0 -2
  23. package/cjs/core/Buttons/SplitButton/SplitButton.d.ts +0 -1
  24. package/cjs/core/Buttons/SplitButton/SplitButton.js +0 -1
  25. package/cjs/core/Carousel/Carousel.d.ts +0 -1
  26. package/cjs/core/Carousel/Carousel.js +0 -1
  27. package/cjs/core/Carousel/CarouselDotsList.d.ts +0 -1
  28. package/cjs/core/Carousel/CarouselDotsList.js +0 -1
  29. package/cjs/core/Checkbox/Checkbox.d.ts +0 -1
  30. package/cjs/core/Checkbox/Checkbox.js +0 -1
  31. package/cjs/core/ColorPicker/ColorBuilder.d.ts +0 -1
  32. package/cjs/core/ColorPicker/ColorBuilder.js +0 -1
  33. package/cjs/core/ColorPicker/ColorInputPanel.d.ts +0 -1
  34. package/cjs/core/ColorPicker/ColorInputPanel.js +0 -1
  35. package/cjs/core/ColorPicker/ColorPalette.d.ts +0 -1
  36. package/cjs/core/ColorPicker/ColorPalette.js +0 -1
  37. package/cjs/core/ColorPicker/ColorPicker.d.ts +0 -1
  38. package/cjs/core/ColorPicker/ColorPicker.js +0 -1
  39. package/cjs/core/ColorPicker/ColorSwatch.d.ts +0 -1
  40. package/cjs/core/ColorPicker/ColorSwatch.js +0 -1
  41. package/cjs/core/ComboBox/ComboBox.d.ts +0 -1
  42. package/cjs/core/ComboBox/ComboBox.js +0 -1
  43. package/cjs/core/DatePicker/DatePicker.d.ts +0 -1
  44. package/cjs/core/DatePicker/DatePicker.js +0 -1
  45. package/cjs/core/Dialog/Dialog.d.ts +0 -1
  46. package/cjs/core/Dialog/Dialog.js +2 -2
  47. package/cjs/core/Dialog/DialogButtonBar.d.ts +0 -1
  48. package/cjs/core/Dialog/DialogButtonBar.js +0 -1
  49. package/cjs/core/Dialog/DialogContent.d.ts +0 -1
  50. package/cjs/core/Dialog/DialogContent.js +0 -1
  51. package/cjs/core/Dialog/DialogContext.d.ts +4 -0
  52. package/cjs/core/Dialog/DialogMain.d.ts +0 -1
  53. package/cjs/core/Dialog/DialogMain.js +2 -3
  54. package/cjs/core/Dialog/DialogTitleBar.d.ts +0 -1
  55. package/cjs/core/Dialog/DialogTitleBar.js +0 -1
  56. package/cjs/core/Dialog/DialogTitleBarTitle.d.ts +0 -1
  57. package/cjs/core/Dialog/DialogTitleBarTitle.js +0 -1
  58. package/cjs/core/ExpandableBlock/ExpandableBlock.d.ts +5 -1
  59. package/cjs/core/ExpandableBlock/ExpandableBlock.js +6 -4
  60. package/cjs/core/Fieldset/Fieldset.d.ts +0 -1
  61. package/cjs/core/Fieldset/Fieldset.js +0 -1
  62. package/cjs/core/FileUpload/FileUpload.d.ts +0 -1
  63. package/cjs/core/FileUpload/FileUpload.js +0 -1
  64. package/cjs/core/FileUpload/FileUploadCard.d.ts +0 -1
  65. package/cjs/core/FileUpload/FileUploadCard.js +1 -2
  66. package/cjs/core/FileUpload/FileUploadTemplate.d.ts +0 -1
  67. package/cjs/core/FileUpload/FileUploadTemplate.js +0 -1
  68. package/cjs/core/Footer/Footer.d.ts +0 -1
  69. package/cjs/core/Footer/Footer.js +0 -1
  70. package/cjs/core/Footer/FooterItem.d.ts +0 -1
  71. package/cjs/core/Footer/FooterItem.js +0 -1
  72. package/cjs/core/Footer/FooterList.d.ts +0 -1
  73. package/cjs/core/Footer/FooterList.js +0 -1
  74. package/cjs/core/Footer/FooterSeparator.d.ts +0 -1
  75. package/cjs/core/Footer/FooterSeparator.js +0 -1
  76. package/cjs/core/Header/Header.d.ts +0 -1
  77. package/cjs/core/Header/Header.js +0 -1
  78. package/cjs/core/Header/HeaderBreadcrumbs.d.ts +0 -1
  79. package/cjs/core/Header/HeaderBreadcrumbs.js +0 -1
  80. package/cjs/core/Header/HeaderButton.d.ts +0 -1
  81. package/cjs/core/Header/HeaderButton.js +0 -1
  82. package/cjs/core/Header/HeaderLogo.d.ts +0 -1
  83. package/cjs/core/Header/HeaderLogo.js +0 -1
  84. package/cjs/core/InformationPanel/InformationPanel.d.ts +0 -1
  85. package/cjs/core/InformationPanel/InformationPanel.js +0 -1
  86. package/cjs/core/InformationPanel/InformationPanelBody.d.ts +0 -1
  87. package/cjs/core/InformationPanel/InformationPanelBody.js +0 -1
  88. package/cjs/core/InformationPanel/InformationPanelContent.d.ts +0 -1
  89. package/cjs/core/InformationPanel/InformationPanelContent.js +0 -1
  90. package/cjs/core/InformationPanel/InformationPanelHeader.d.ts +0 -1
  91. package/cjs/core/InformationPanel/InformationPanelHeader.js +0 -1
  92. package/cjs/core/InformationPanel/InformationPanelWrapper.d.ts +0 -1
  93. package/cjs/core/InformationPanel/InformationPanelWrapper.js +0 -1
  94. package/cjs/core/Input/Input.d.ts +0 -1
  95. package/cjs/core/Input/Input.js +0 -1
  96. package/cjs/core/InputGroup/InputGroup.d.ts +0 -1
  97. package/cjs/core/InputGroup/InputGroup.js +0 -1
  98. package/cjs/core/Label/Label.d.ts +0 -1
  99. package/cjs/core/Label/Label.js +0 -1
  100. package/cjs/core/LabeledInput/LabeledInput.d.ts +0 -1
  101. package/cjs/core/LabeledInput/LabeledInput.js +0 -1
  102. package/cjs/core/LabeledSelect/LabeledSelect.d.ts +0 -1
  103. package/cjs/core/LabeledSelect/LabeledSelect.js +0 -1
  104. package/cjs/core/LabeledTextarea/LabeledTextarea.d.ts +0 -1
  105. package/cjs/core/LabeledTextarea/LabeledTextarea.js +0 -1
  106. package/cjs/core/List/List.d.ts +0 -1
  107. package/cjs/core/List/List.js +0 -1
  108. package/cjs/core/List/ListItem.d.ts +0 -1
  109. package/cjs/core/List/ListItem.js +0 -1
  110. package/cjs/core/Menu/Menu.d.ts +0 -1
  111. package/cjs/core/Menu/Menu.js +0 -1
  112. package/cjs/core/Menu/MenuDivider.d.ts +0 -1
  113. package/cjs/core/Menu/MenuDivider.js +0 -1
  114. package/cjs/core/Menu/MenuExtraContent.d.ts +0 -1
  115. package/cjs/core/Menu/MenuExtraContent.js +0 -1
  116. package/cjs/core/Menu/MenuItem.d.ts +0 -1
  117. package/cjs/core/Menu/MenuItem.js +0 -1
  118. package/cjs/core/Menu/MenuItemSkeleton.d.ts +0 -1
  119. package/cjs/core/Menu/MenuItemSkeleton.js +0 -1
  120. package/cjs/core/Modal/Modal.d.ts +0 -1
  121. package/cjs/core/Modal/Modal.js +0 -1
  122. package/cjs/core/NonIdealState/NonIdealState.d.ts +0 -1
  123. package/cjs/core/NonIdealState/NonIdealState.js +0 -1
  124. package/cjs/core/NotificationMarker/NotificationMarker.d.ts +0 -1
  125. package/cjs/core/NotificationMarker/NotificationMarker.js +0 -1
  126. package/cjs/core/ProgressIndicators/ProgressLinear/ProgressLinear.d.ts +0 -1
  127. package/cjs/core/ProgressIndicators/ProgressLinear/ProgressLinear.js +0 -1
  128. package/cjs/core/ProgressIndicators/ProgressRadial/ProgressRadial.d.ts +0 -1
  129. package/cjs/core/ProgressIndicators/ProgressRadial/ProgressRadial.js +0 -1
  130. package/cjs/core/Radio/Radio.d.ts +0 -1
  131. package/cjs/core/Radio/Radio.js +0 -1
  132. package/cjs/core/RadioTiles/RadioTile.d.ts +0 -1
  133. package/cjs/core/RadioTiles/RadioTile.js +0 -1
  134. package/cjs/core/RadioTiles/RadioTileGroup.d.ts +0 -1
  135. package/cjs/core/RadioTiles/RadioTileGroup.js +0 -1
  136. package/cjs/core/SearchBox/SearchBox.d.ts +0 -1
  137. package/cjs/core/SearchBox/SearchBox.js +0 -1
  138. package/cjs/core/Select/Select.d.ts +0 -1
  139. package/cjs/core/Select/Select.js +0 -1
  140. package/cjs/core/Select/SelectTag.d.ts +0 -1
  141. package/cjs/core/Select/SelectTag.js +0 -1
  142. package/cjs/core/SideNavigation/SideNavigation.d.ts +0 -1
  143. package/cjs/core/SideNavigation/SideNavigation.js +0 -1
  144. package/cjs/core/SideNavigation/SidenavButton.d.ts +0 -1
  145. package/cjs/core/SideNavigation/SidenavButton.js +0 -1
  146. package/cjs/core/SideNavigation/SidenavSubmenu.d.ts +0 -1
  147. package/cjs/core/SideNavigation/SidenavSubmenu.js +0 -1
  148. package/cjs/core/SideNavigation/SidenavSubmenuHeader.d.ts +0 -1
  149. package/cjs/core/SideNavigation/SidenavSubmenuHeader.js +0 -1
  150. package/cjs/core/SkipToContentLink/SkipToContentLink.d.ts +0 -1
  151. package/cjs/core/SkipToContentLink/SkipToContentLink.js +0 -1
  152. package/cjs/core/Slider/Slider.d.ts +0 -1
  153. package/cjs/core/Slider/Slider.js +0 -1
  154. package/cjs/core/Slider/Track.js +2 -1
  155. package/cjs/core/Stepper/Stepper.d.ts +0 -1
  156. package/cjs/core/Stepper/Stepper.js +0 -1
  157. package/cjs/core/Stepper/WorkflowDiagram.d.ts +0 -1
  158. package/cjs/core/Stepper/WorkflowDiagram.js +0 -1
  159. package/cjs/core/Surface/Surface.d.ts +0 -1
  160. package/cjs/core/Surface/Surface.js +0 -1
  161. package/cjs/core/Table/Table.d.ts +0 -1
  162. package/cjs/core/Table/Table.js +18 -19
  163. package/cjs/core/Table/TableCell.js +3 -2
  164. package/cjs/core/Table/TablePaginator.d.ts +0 -1
  165. package/cjs/core/Table/TablePaginator.js +8 -9
  166. package/cjs/core/Table/TableRowMemoized.js +2 -2
  167. package/cjs/core/Table/cells/DefaultCell.js +4 -3
  168. package/cjs/core/Table/cells/EditableCell.js +1 -1
  169. package/cjs/core/Table/filters/BaseFilter.d.ts +0 -1
  170. package/cjs/core/Table/filters/BaseFilter.js +1 -2
  171. package/cjs/core/Table/filters/DateRangeFilter/DateRangeFilter.d.ts +0 -1
  172. package/cjs/core/Table/filters/DateRangeFilter/DateRangeFilter.js +0 -1
  173. package/cjs/core/Table/filters/FilterButtonBar.d.ts +0 -1
  174. package/cjs/core/Table/filters/FilterButtonBar.js +1 -2
  175. package/cjs/core/Table/filters/FilterToggle.d.ts +0 -1
  176. package/cjs/core/Table/filters/FilterToggle.js +0 -1
  177. package/cjs/core/Table/filters/NumberRangeFilter/NumberRangeFilter.d.ts +0 -1
  178. package/cjs/core/Table/filters/NumberRangeFilter/NumberRangeFilter.js +0 -1
  179. package/cjs/core/Table/filters/TextFilter/TextFilter.d.ts +0 -1
  180. package/cjs/core/Table/filters/TextFilter/TextFilter.js +0 -1
  181. package/cjs/core/Table/hooks/useColumnDragAndDrop.js +8 -4
  182. package/cjs/core/Tabs/Tab.d.ts +0 -1
  183. package/cjs/core/Tabs/Tab.js +0 -1
  184. package/cjs/core/Tabs/Tabs.d.ts +0 -1
  185. package/cjs/core/Tabs/Tabs.js +4 -4
  186. package/cjs/core/Tag/Tag.d.ts +0 -1
  187. package/cjs/core/Tag/Tag.js +0 -1
  188. package/cjs/core/Tag/TagContainer.d.ts +0 -1
  189. package/cjs/core/Tag/TagContainer.js +0 -1
  190. package/cjs/core/Textarea/Textarea.d.ts +0 -1
  191. package/cjs/core/Textarea/Textarea.js +0 -1
  192. package/cjs/core/ThemeProvider/ThemeProvider.d.ts +0 -2
  193. package/cjs/core/ThemeProvider/ThemeProvider.js +0 -2
  194. package/cjs/core/Tile/Tile.d.ts +0 -1
  195. package/cjs/core/Tile/Tile.js +1 -4
  196. package/cjs/core/TimePicker/TimePicker.d.ts +0 -1
  197. package/cjs/core/TimePicker/TimePicker.js +0 -1
  198. package/cjs/core/Toast/Toast.d.ts +0 -1
  199. package/cjs/core/Toast/Toast.js +0 -1
  200. package/cjs/core/Toast/ToastWrapper.d.ts +0 -1
  201. package/cjs/core/Toast/ToastWrapper.js +0 -1
  202. package/cjs/core/ToggleSwitch/ToggleSwitch.d.ts +0 -1
  203. package/cjs/core/ToggleSwitch/ToggleSwitch.js +1 -3
  204. package/cjs/core/Tooltip/Tooltip.d.ts +0 -1
  205. package/cjs/core/Tooltip/Tooltip.js +0 -1
  206. package/cjs/core/TransferList/TransferList.d.ts +69 -0
  207. package/cjs/core/TransferList/TransferList.js +148 -0
  208. package/cjs/core/TransferList/index.d.ts +3 -0
  209. package/cjs/core/TransferList/index.js +10 -0
  210. package/cjs/core/Tree/Tree.d.ts +0 -1
  211. package/cjs/core/Tree/Tree.js +0 -1
  212. package/cjs/core/Tree/TreeNode.d.ts +0 -1
  213. package/cjs/core/Tree/TreeNode.js +0 -1
  214. package/cjs/core/Tree/TreeNodeExpander.d.ts +0 -1
  215. package/cjs/core/Tree/TreeNodeExpander.js +0 -1
  216. package/cjs/core/Typography/Anchor/Anchor.d.ts +0 -1
  217. package/cjs/core/Typography/Anchor/Anchor.js +0 -1
  218. package/cjs/core/Typography/Blockquote/Blockquote.d.ts +0 -1
  219. package/cjs/core/Typography/Blockquote/Blockquote.js +0 -1
  220. package/cjs/core/Typography/Code/Code.d.ts +0 -1
  221. package/cjs/core/Typography/Code/Code.js +0 -1
  222. package/cjs/core/Typography/Kbd/Kbd.d.ts +0 -1
  223. package/cjs/core/Typography/Kbd/Kbd.js +0 -1
  224. package/cjs/core/Typography/Text/Text.d.ts +0 -1
  225. package/cjs/core/Typography/Text/Text.js +0 -1
  226. package/cjs/core/index.d.ts +1 -0
  227. package/cjs/core/index.js +118 -116
  228. package/cjs/core/utils/components/Divider.d.ts +0 -1
  229. package/cjs/core/utils/components/Divider.js +0 -1
  230. package/cjs/core/utils/components/Flex.d.ts +0 -1
  231. package/cjs/core/utils/components/Flex.js +0 -1
  232. package/cjs/core/utils/components/Icon.d.ts +0 -1
  233. package/cjs/core/utils/components/Icon.js +0 -1
  234. package/cjs/core/utils/components/InputContainer.d.ts +0 -1
  235. package/cjs/core/utils/components/InputContainer.js +0 -1
  236. package/cjs/core/utils/components/InputFlexContainer.d.ts +0 -1
  237. package/cjs/core/utils/components/InputFlexContainer.js +0 -1
  238. package/cjs/core/utils/components/LinkAction.d.ts +0 -1
  239. package/cjs/core/utils/components/LinkAction.js +0 -1
  240. package/cjs/core/utils/components/Popover.d.ts +0 -1
  241. package/cjs/core/utils/components/Popover.js +0 -1
  242. package/cjs/core/utils/components/VisuallyHidden.d.ts +0 -1
  243. package/cjs/core/utils/components/VisuallyHidden.js +0 -1
  244. package/cjs/core/utils/functions/dom.d.ts +6 -0
  245. package/cjs/core/utils/functions/dom.js +20 -2
  246. package/cjs/core/utils/functions/index.d.ts +0 -1
  247. package/cjs/core/utils/functions/index.js +0 -1
  248. package/cjs/core/utils/functions/polymorphic.js +9 -1
  249. package/cjs/core/utils/hooks/useGlobals.d.ts +0 -2
  250. package/cjs/core/utils/hooks/useGlobals.js +0 -2
  251. package/cjs/styles.d.ts +5 -0
  252. package/cjs/styles.js +453 -0
  253. package/esm/core/Alert/Alert.d.ts +0 -1
  254. package/esm/core/Alert/Alert.js +0 -1
  255. package/esm/core/Avatar/Avatar.d.ts +0 -1
  256. package/esm/core/Avatar/Avatar.js +0 -1
  257. package/esm/core/AvatarGroup/AvatarGroup.d.ts +0 -1
  258. package/esm/core/AvatarGroup/AvatarGroup.js +0 -1
  259. package/esm/core/Backdrop/Backdrop.d.ts +0 -1
  260. package/esm/core/Backdrop/Backdrop.js +0 -1
  261. package/esm/core/Badge/Badge.d.ts +0 -1
  262. package/esm/core/Badge/Badge.js +0 -1
  263. package/esm/core/Breadcrumbs/Breadcrumbs.d.ts +0 -1
  264. package/esm/core/Breadcrumbs/Breadcrumbs.js +0 -1
  265. package/esm/core/ButtonGroup/ButtonGroup.d.ts +0 -1
  266. package/esm/core/ButtonGroup/ButtonGroup.js +0 -1
  267. package/esm/core/Buttons/Button/Button.d.ts +0 -1
  268. package/esm/core/Buttons/Button/Button.js +0 -1
  269. package/esm/core/Buttons/DropdownButton/DropdownButton.d.ts +0 -1
  270. package/esm/core/Buttons/DropdownButton/DropdownButton.js +0 -1
  271. package/esm/core/Buttons/IconButton/IconButton.d.ts +0 -2
  272. package/esm/core/Buttons/IconButton/IconButton.js +0 -2
  273. package/esm/core/Buttons/SplitButton/SplitButton.d.ts +0 -1
  274. package/esm/core/Buttons/SplitButton/SplitButton.js +0 -1
  275. package/esm/core/Carousel/Carousel.d.ts +0 -1
  276. package/esm/core/Carousel/Carousel.js +0 -1
  277. package/esm/core/Carousel/CarouselDotsList.d.ts +0 -1
  278. package/esm/core/Carousel/CarouselDotsList.js +0 -1
  279. package/esm/core/Checkbox/Checkbox.d.ts +0 -1
  280. package/esm/core/Checkbox/Checkbox.js +0 -1
  281. package/esm/core/ColorPicker/ColorBuilder.d.ts +0 -1
  282. package/esm/core/ColorPicker/ColorBuilder.js +0 -1
  283. package/esm/core/ColorPicker/ColorInputPanel.d.ts +0 -1
  284. package/esm/core/ColorPicker/ColorInputPanel.js +0 -1
  285. package/esm/core/ColorPicker/ColorPalette.d.ts +0 -1
  286. package/esm/core/ColorPicker/ColorPalette.js +0 -1
  287. package/esm/core/ColorPicker/ColorPicker.d.ts +0 -1
  288. package/esm/core/ColorPicker/ColorPicker.js +0 -1
  289. package/esm/core/ColorPicker/ColorSwatch.d.ts +0 -1
  290. package/esm/core/ColorPicker/ColorSwatch.js +0 -1
  291. package/esm/core/ComboBox/ComboBox.d.ts +0 -1
  292. package/esm/core/ComboBox/ComboBox.js +0 -1
  293. package/esm/core/DatePicker/DatePicker.d.ts +0 -1
  294. package/esm/core/DatePicker/DatePicker.js +0 -1
  295. package/esm/core/Dialog/Dialog.d.ts +0 -1
  296. package/esm/core/Dialog/Dialog.js +2 -2
  297. package/esm/core/Dialog/DialogButtonBar.d.ts +0 -1
  298. package/esm/core/Dialog/DialogButtonBar.js +0 -1
  299. package/esm/core/Dialog/DialogContent.d.ts +0 -1
  300. package/esm/core/Dialog/DialogContent.js +0 -1
  301. package/esm/core/Dialog/DialogContext.d.ts +4 -0
  302. package/esm/core/Dialog/DialogMain.d.ts +0 -1
  303. package/esm/core/Dialog/DialogMain.js +2 -3
  304. package/esm/core/Dialog/DialogTitleBar.d.ts +0 -1
  305. package/esm/core/Dialog/DialogTitleBar.js +0 -1
  306. package/esm/core/Dialog/DialogTitleBarTitle.d.ts +0 -1
  307. package/esm/core/Dialog/DialogTitleBarTitle.js +0 -1
  308. package/esm/core/ExpandableBlock/ExpandableBlock.d.ts +5 -1
  309. package/esm/core/ExpandableBlock/ExpandableBlock.js +6 -4
  310. package/esm/core/Fieldset/Fieldset.d.ts +0 -1
  311. package/esm/core/Fieldset/Fieldset.js +0 -1
  312. package/esm/core/FileUpload/FileUpload.d.ts +0 -1
  313. package/esm/core/FileUpload/FileUpload.js +0 -1
  314. package/esm/core/FileUpload/FileUploadCard.d.ts +0 -1
  315. package/esm/core/FileUpload/FileUploadCard.js +1 -2
  316. package/esm/core/FileUpload/FileUploadTemplate.d.ts +0 -1
  317. package/esm/core/FileUpload/FileUploadTemplate.js +0 -1
  318. package/esm/core/Footer/Footer.d.ts +0 -1
  319. package/esm/core/Footer/Footer.js +0 -1
  320. package/esm/core/Footer/FooterItem.d.ts +0 -1
  321. package/esm/core/Footer/FooterItem.js +0 -1
  322. package/esm/core/Footer/FooterList.d.ts +0 -1
  323. package/esm/core/Footer/FooterList.js +0 -1
  324. package/esm/core/Footer/FooterSeparator.d.ts +0 -1
  325. package/esm/core/Footer/FooterSeparator.js +0 -1
  326. package/esm/core/Header/Header.d.ts +0 -1
  327. package/esm/core/Header/Header.js +0 -1
  328. package/esm/core/Header/HeaderBreadcrumbs.d.ts +0 -1
  329. package/esm/core/Header/HeaderBreadcrumbs.js +0 -1
  330. package/esm/core/Header/HeaderButton.d.ts +0 -1
  331. package/esm/core/Header/HeaderButton.js +0 -1
  332. package/esm/core/Header/HeaderLogo.d.ts +0 -1
  333. package/esm/core/Header/HeaderLogo.js +0 -1
  334. package/esm/core/InformationPanel/InformationPanel.d.ts +0 -1
  335. package/esm/core/InformationPanel/InformationPanel.js +0 -1
  336. package/esm/core/InformationPanel/InformationPanelBody.d.ts +0 -1
  337. package/esm/core/InformationPanel/InformationPanelBody.js +0 -1
  338. package/esm/core/InformationPanel/InformationPanelContent.d.ts +0 -1
  339. package/esm/core/InformationPanel/InformationPanelContent.js +0 -1
  340. package/esm/core/InformationPanel/InformationPanelHeader.d.ts +0 -1
  341. package/esm/core/InformationPanel/InformationPanelHeader.js +0 -1
  342. package/esm/core/InformationPanel/InformationPanelWrapper.d.ts +0 -1
  343. package/esm/core/InformationPanel/InformationPanelWrapper.js +0 -1
  344. package/esm/core/Input/Input.d.ts +0 -1
  345. package/esm/core/Input/Input.js +0 -1
  346. package/esm/core/InputGroup/InputGroup.d.ts +0 -1
  347. package/esm/core/InputGroup/InputGroup.js +0 -1
  348. package/esm/core/Label/Label.d.ts +0 -1
  349. package/esm/core/Label/Label.js +0 -1
  350. package/esm/core/LabeledInput/LabeledInput.d.ts +0 -1
  351. package/esm/core/LabeledInput/LabeledInput.js +0 -1
  352. package/esm/core/LabeledSelect/LabeledSelect.d.ts +0 -1
  353. package/esm/core/LabeledSelect/LabeledSelect.js +0 -1
  354. package/esm/core/LabeledTextarea/LabeledTextarea.d.ts +0 -1
  355. package/esm/core/LabeledTextarea/LabeledTextarea.js +0 -1
  356. package/esm/core/List/List.d.ts +0 -1
  357. package/esm/core/List/List.js +0 -1
  358. package/esm/core/List/ListItem.d.ts +0 -1
  359. package/esm/core/List/ListItem.js +0 -1
  360. package/esm/core/Menu/Menu.d.ts +0 -1
  361. package/esm/core/Menu/Menu.js +0 -1
  362. package/esm/core/Menu/MenuDivider.d.ts +0 -1
  363. package/esm/core/Menu/MenuDivider.js +0 -1
  364. package/esm/core/Menu/MenuExtraContent.d.ts +0 -1
  365. package/esm/core/Menu/MenuExtraContent.js +0 -1
  366. package/esm/core/Menu/MenuItem.d.ts +0 -1
  367. package/esm/core/Menu/MenuItem.js +0 -1
  368. package/esm/core/Menu/MenuItemSkeleton.d.ts +0 -1
  369. package/esm/core/Menu/MenuItemSkeleton.js +0 -1
  370. package/esm/core/Modal/Modal.d.ts +0 -1
  371. package/esm/core/Modal/Modal.js +0 -1
  372. package/esm/core/NonIdealState/NonIdealState.d.ts +0 -1
  373. package/esm/core/NonIdealState/NonIdealState.js +0 -1
  374. package/esm/core/NotificationMarker/NotificationMarker.d.ts +0 -1
  375. package/esm/core/NotificationMarker/NotificationMarker.js +0 -1
  376. package/esm/core/ProgressIndicators/ProgressLinear/ProgressLinear.d.ts +0 -1
  377. package/esm/core/ProgressIndicators/ProgressLinear/ProgressLinear.js +0 -1
  378. package/esm/core/ProgressIndicators/ProgressRadial/ProgressRadial.d.ts +0 -1
  379. package/esm/core/ProgressIndicators/ProgressRadial/ProgressRadial.js +0 -1
  380. package/esm/core/Radio/Radio.d.ts +0 -1
  381. package/esm/core/Radio/Radio.js +0 -1
  382. package/esm/core/RadioTiles/RadioTile.d.ts +0 -1
  383. package/esm/core/RadioTiles/RadioTile.js +0 -1
  384. package/esm/core/RadioTiles/RadioTileGroup.d.ts +0 -1
  385. package/esm/core/RadioTiles/RadioTileGroup.js +0 -1
  386. package/esm/core/SearchBox/SearchBox.d.ts +0 -1
  387. package/esm/core/SearchBox/SearchBox.js +0 -1
  388. package/esm/core/Select/Select.d.ts +0 -1
  389. package/esm/core/Select/Select.js +0 -1
  390. package/esm/core/Select/SelectTag.d.ts +0 -1
  391. package/esm/core/Select/SelectTag.js +0 -1
  392. package/esm/core/SideNavigation/SideNavigation.d.ts +0 -1
  393. package/esm/core/SideNavigation/SideNavigation.js +0 -1
  394. package/esm/core/SideNavigation/SidenavButton.d.ts +0 -1
  395. package/esm/core/SideNavigation/SidenavButton.js +0 -1
  396. package/esm/core/SideNavigation/SidenavSubmenu.d.ts +0 -1
  397. package/esm/core/SideNavigation/SidenavSubmenu.js +0 -1
  398. package/esm/core/SideNavigation/SidenavSubmenuHeader.d.ts +0 -1
  399. package/esm/core/SideNavigation/SidenavSubmenuHeader.js +0 -1
  400. package/esm/core/SkipToContentLink/SkipToContentLink.d.ts +0 -1
  401. package/esm/core/SkipToContentLink/SkipToContentLink.js +0 -1
  402. package/esm/core/Slider/Slider.d.ts +0 -1
  403. package/esm/core/Slider/Slider.js +0 -1
  404. package/esm/core/Slider/Track.js +2 -1
  405. package/esm/core/Stepper/Stepper.d.ts +0 -1
  406. package/esm/core/Stepper/Stepper.js +0 -1
  407. package/esm/core/Stepper/WorkflowDiagram.d.ts +0 -1
  408. package/esm/core/Stepper/WorkflowDiagram.js +0 -1
  409. package/esm/core/Surface/Surface.d.ts +0 -1
  410. package/esm/core/Surface/Surface.js +0 -1
  411. package/esm/core/Table/Table.d.ts +0 -1
  412. package/esm/core/Table/Table.js +19 -20
  413. package/esm/core/Table/TableCell.js +3 -2
  414. package/esm/core/Table/TablePaginator.d.ts +0 -1
  415. package/esm/core/Table/TablePaginator.js +9 -10
  416. package/esm/core/Table/TableRowMemoized.js +3 -3
  417. package/esm/core/Table/cells/DefaultCell.js +4 -3
  418. package/esm/core/Table/cells/EditableCell.js +2 -2
  419. package/esm/core/Table/filters/BaseFilter.d.ts +0 -1
  420. package/esm/core/Table/filters/BaseFilter.js +2 -3
  421. package/esm/core/Table/filters/DateRangeFilter/DateRangeFilter.d.ts +0 -1
  422. package/esm/core/Table/filters/DateRangeFilter/DateRangeFilter.js +0 -1
  423. package/esm/core/Table/filters/FilterButtonBar.d.ts +0 -1
  424. package/esm/core/Table/filters/FilterButtonBar.js +2 -3
  425. package/esm/core/Table/filters/FilterToggle.d.ts +0 -1
  426. package/esm/core/Table/filters/FilterToggle.js +0 -1
  427. package/esm/core/Table/filters/NumberRangeFilter/NumberRangeFilter.d.ts +0 -1
  428. package/esm/core/Table/filters/NumberRangeFilter/NumberRangeFilter.js +0 -1
  429. package/esm/core/Table/filters/TextFilter/TextFilter.d.ts +0 -1
  430. package/esm/core/Table/filters/TextFilter/TextFilter.js +0 -1
  431. package/esm/core/Table/hooks/useColumnDragAndDrop.js +5 -4
  432. package/esm/core/Tabs/Tab.d.ts +0 -1
  433. package/esm/core/Tabs/Tab.js +0 -1
  434. package/esm/core/Tabs/Tabs.d.ts +0 -1
  435. package/esm/core/Tabs/Tabs.js +4 -4
  436. package/esm/core/Tag/Tag.d.ts +0 -1
  437. package/esm/core/Tag/Tag.js +0 -1
  438. package/esm/core/Tag/TagContainer.d.ts +0 -1
  439. package/esm/core/Tag/TagContainer.js +0 -1
  440. package/esm/core/Textarea/Textarea.d.ts +0 -1
  441. package/esm/core/Textarea/Textarea.js +0 -1
  442. package/esm/core/ThemeProvider/ThemeProvider.d.ts +0 -2
  443. package/esm/core/ThemeProvider/ThemeProvider.js +0 -2
  444. package/esm/core/Tile/Tile.d.ts +0 -1
  445. package/esm/core/Tile/Tile.js +1 -4
  446. package/esm/core/TimePicker/TimePicker.d.ts +0 -1
  447. package/esm/core/TimePicker/TimePicker.js +0 -1
  448. package/esm/core/Toast/Toast.d.ts +0 -1
  449. package/esm/core/Toast/Toast.js +0 -1
  450. package/esm/core/Toast/ToastWrapper.d.ts +0 -1
  451. package/esm/core/Toast/ToastWrapper.js +0 -1
  452. package/esm/core/ToggleSwitch/ToggleSwitch.d.ts +0 -1
  453. package/esm/core/ToggleSwitch/ToggleSwitch.js +1 -3
  454. package/esm/core/Tooltip/Tooltip.d.ts +0 -1
  455. package/esm/core/Tooltip/Tooltip.js +0 -1
  456. package/esm/core/TransferList/TransferList.d.ts +69 -0
  457. package/esm/core/TransferList/TransferList.js +142 -0
  458. package/esm/core/TransferList/index.d.ts +3 -0
  459. package/esm/core/TransferList/index.js +6 -0
  460. package/esm/core/Tree/Tree.d.ts +0 -1
  461. package/esm/core/Tree/Tree.js +0 -1
  462. package/esm/core/Tree/TreeNode.d.ts +0 -1
  463. package/esm/core/Tree/TreeNode.js +0 -1
  464. package/esm/core/Tree/TreeNodeExpander.d.ts +0 -1
  465. package/esm/core/Tree/TreeNodeExpander.js +0 -1
  466. package/esm/core/Typography/Anchor/Anchor.d.ts +0 -1
  467. package/esm/core/Typography/Anchor/Anchor.js +0 -1
  468. package/esm/core/Typography/Blockquote/Blockquote.d.ts +0 -1
  469. package/esm/core/Typography/Blockquote/Blockquote.js +0 -1
  470. package/esm/core/Typography/Code/Code.d.ts +0 -1
  471. package/esm/core/Typography/Code/Code.js +0 -1
  472. package/esm/core/Typography/Kbd/Kbd.d.ts +0 -1
  473. package/esm/core/Typography/Kbd/Kbd.js +0 -1
  474. package/esm/core/Typography/Text/Text.d.ts +0 -1
  475. package/esm/core/Typography/Text/Text.js +0 -1
  476. package/esm/core/index.d.ts +1 -0
  477. package/esm/core/index.js +1 -0
  478. package/esm/core/utils/components/Divider.d.ts +0 -1
  479. package/esm/core/utils/components/Divider.js +0 -1
  480. package/esm/core/utils/components/Flex.d.ts +0 -1
  481. package/esm/core/utils/components/Flex.js +0 -1
  482. package/esm/core/utils/components/Icon.d.ts +0 -1
  483. package/esm/core/utils/components/Icon.js +0 -1
  484. package/esm/core/utils/components/InputContainer.d.ts +0 -1
  485. package/esm/core/utils/components/InputContainer.js +0 -1
  486. package/esm/core/utils/components/InputFlexContainer.d.ts +0 -1
  487. package/esm/core/utils/components/InputFlexContainer.js +0 -1
  488. package/esm/core/utils/components/LinkAction.d.ts +0 -1
  489. package/esm/core/utils/components/LinkAction.js +0 -1
  490. package/esm/core/utils/components/Popover.d.ts +0 -1
  491. package/esm/core/utils/components/Popover.js +0 -1
  492. package/esm/core/utils/components/VisuallyHidden.d.ts +0 -1
  493. package/esm/core/utils/components/VisuallyHidden.js +0 -1
  494. package/esm/core/utils/functions/dom.d.ts +6 -0
  495. package/esm/core/utils/functions/dom.js +15 -1
  496. package/esm/core/utils/functions/index.d.ts +0 -1
  497. package/esm/core/utils/functions/index.js +0 -1
  498. package/esm/core/utils/functions/polymorphic.js +9 -1
  499. package/esm/core/utils/hooks/useGlobals.d.ts +0 -2
  500. package/esm/core/utils/hooks/useGlobals.js +0 -2
  501. package/esm/styles.d.ts +5 -0
  502. package/esm/styles.js +454 -0
  503. package/package.json +14 -11
  504. package/styles.css +1942 -0
  505. package/cjs/core/utils/functions/styles.d.ts +0 -6
  506. package/cjs/core/utils/functions/styles.js +0 -21
  507. package/esm/core/utils/functions/styles.d.ts +0 -6
  508. package/esm/core/utils/functions/styles.js +0 -17
@@ -1,6 +1,5 @@
1
1
  import * as React from 'react';
2
2
  import type { PolymorphicForwardRefComponent } from '../utils/index.js';
3
- import '@itwin/itwinui-css/css/tag.css';
4
3
  declare type TagProps = {
5
4
  /**
6
5
  * Callback function that handles click on close icon.
@@ -5,7 +5,6 @@
5
5
  import cx from 'classnames';
6
6
  import * as React from 'react';
7
7
  import { SvgCloseSmall, Box } from '../utils/index.js';
8
- import '@itwin/itwinui-css/css/tag.css';
9
8
  import { IconButton } from '../Buttons/index.js';
10
9
  /**
11
10
  * Tag for showing categories, filters etc.
@@ -1,6 +1,5 @@
1
1
  import * as React from 'react';
2
2
  import type { PolymorphicForwardRefComponent } from '../utils/index.js';
3
- import '@itwin/itwinui-css/css/tag.css';
4
3
  declare type TagContainerProps = {
5
4
  /**
6
5
  * Tags inside the container.
@@ -5,7 +5,6 @@
5
5
  import * as React from 'react';
6
6
  import cx from 'classnames';
7
7
  import { Box } from '../utils/index.js';
8
- import '@itwin/itwinui-css/css/tag.css';
9
8
  /**
10
9
  * TagContainer for grouping tags.
11
10
  * @example
@@ -1,5 +1,4 @@
1
1
  import type { PolymorphicForwardRefComponent } from '../utils/index.js';
2
- import '@itwin/itwinui-css/css/input.css';
3
2
  export declare type TextareaProps = {
4
3
  /**
5
4
  * Set focus on textarea element.
@@ -5,7 +5,6 @@
5
5
  import cx from 'classnames';
6
6
  import * as React from 'react';
7
7
  import { useMergedRefs, Box } from '../utils/index.js';
8
- import '@itwin/itwinui-css/css/input.css';
9
8
  /**
10
9
  * Basic textarea component
11
10
  * @example
@@ -1,7 +1,5 @@
1
1
  import * as React from 'react';
2
2
  import type { PolymorphicForwardRefComponent } from '../utils/index.js';
3
- import '@itwin/itwinui-css/css/global.css';
4
- import '@itwin/itwinui-variables/index.css';
5
3
  export declare type ThemeOptions = {
6
4
  /**
7
5
  * Whether to apply high-contrast versions of light and dark themes.
@@ -6,8 +6,6 @@ import * as React from 'react';
6
6
  import cx from 'classnames';
7
7
  import { useMediaQuery, useMergedRefs, useIsThemeAlreadySet, Box, } from '../utils/index.js';
8
8
  import { ThemeContext } from './ThemeContext.js';
9
- import '@itwin/itwinui-css/css/global.css';
10
- import '@itwin/itwinui-variables/index.css';
11
9
  /**
12
10
  * This component provides global styles and applies theme to the entire tree
13
11
  * that it is wrapping around. The `theme` prop is optional and defaults to the
@@ -1,6 +1,5 @@
1
1
  import * as React from 'react';
2
2
  import type { PolymorphicForwardRefComponent } from '../utils/index.js';
3
- import '@itwin/itwinui-css/css/tile.css';
4
3
  /**
5
4
  * Polymorphic Tile action component. Recommended to be used in a "name" of `Tile`.
6
5
  * Renders `a` element by default.
@@ -5,7 +5,6 @@
5
5
  import * as React from 'react';
6
6
  import cx from 'classnames';
7
7
  import { StatusIconMap, SvgMore, SvgNew, SvgCheckmark, LinkAction, useSafeContext, supportsHas, Box, } from '../utils/index.js';
8
- import '@itwin/itwinui-css/css/tile.css';
9
8
  import { DropdownMenu } from '../DropdownMenu/index.js';
10
9
  import { IconButton } from '../Buttons/index.js';
11
10
  import { ProgressRadial } from '../ProgressIndicators/index.js';
@@ -67,9 +66,7 @@ export const Tile = Object.assign(React.forwardRef((props, forwardedRef) => {
67
66
  thumbnail && (React.createElement(Box, { className: 'iui-tile-thumbnail' },
68
67
  typeof thumbnail === 'string' ? (React.createElement(Box, { className: 'iui-tile-thumbnail-picture', style: { backgroundImage: `url(${thumbnail})` } })) : thumbnail && thumbnail.type === 'img' ? (React.cloneElement(thumbnail, {
69
68
  className: 'iui-tile-thumbnail-picture',
70
- })) : React.isValidElement(thumbnail) ? (React.cloneElement(thumbnail, {
71
- className: cx('iui-thumbnail-icon', thumbnail.props.className),
72
- })) : (thumbnail),
69
+ })) : (React.createElement(Box, { as: 'span', className: 'iui-thumbnail-icon' }, thumbnail)),
73
70
  leftIcon &&
74
71
  React.cloneElement(leftIcon, {
75
72
  className: 'iui-tile-thumbnail-type-indicator',
@@ -1,6 +1,5 @@
1
1
  import * as React from 'react';
2
2
  import type { PolymorphicForwardRefComponent } from '../utils/index.js';
3
- import '@itwin/itwinui-css/css/time-picker.css';
4
3
  export declare type MeridiemType = 'AM' | 'PM';
5
4
  export declare type Precision = 'hours' | 'minutes' | 'seconds';
6
5
  export declare type TimePickerProps = {
@@ -5,7 +5,6 @@
5
5
  import cx from 'classnames';
6
6
  import * as React from 'react';
7
7
  import { Box } from '../utils/index.js';
8
- import '@itwin/itwinui-css/css/time-picker.css';
9
8
  const isSameHour = (date1, date2, meridiem) => {
10
9
  const adjustedHours = meridiem
11
10
  ? formatHourFrom12(date1.getHours(), meridiem)
@@ -1,6 +1,5 @@
1
1
  import * as React from 'react';
2
2
  import type { CommonProps } from '../utils/index.js';
3
- import '@itwin/itwinui-css/css/toast.css';
4
3
  export declare type ToastCategory = 'informational' | 'negative' | 'positive' | 'warning';
5
4
  export declare type ToastProps = {
6
5
  /**
@@ -6,7 +6,6 @@ import * as React from 'react';
6
6
  import { Transition } from 'react-transition-group';
7
7
  import cx from 'classnames';
8
8
  import { getWindow, StatusIconMap, SvgCloseSmall, Box, } from '../utils/index.js';
9
- import '@itwin/itwinui-css/css/toast.css';
10
9
  import { IconButton } from '../Buttons/index.js';
11
10
  const isMotionOk = () => { var _a, _b, _c; return (_c = (_b = (_a = getWindow()) === null || _a === void 0 ? void 0 : _a.matchMedia) === null || _b === void 0 ? void 0 : _b.call(_a, '(prefers-reduced-motion: no-preference)')) === null || _c === void 0 ? void 0 : _c.matches; };
12
11
  /**
@@ -1,4 +1,3 @@
1
- import '@itwin/itwinui-css/css/toast.css';
2
1
  import * as React from 'react';
3
2
  import type { ToastProps } from './Toast.js';
4
3
  import type { ToasterSettings } from './Toaster.js';
@@ -2,7 +2,6 @@
2
2
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
3
  * See LICENSE.md in the project root for license terms and full copyright notice.
4
4
  *--------------------------------------------------------------------------------------------*/
5
- import '@itwin/itwinui-css/css/toast.css';
6
5
  import * as React from 'react';
7
6
  import cx from 'classnames';
8
7
  import Toast from './Toast.js';
@@ -1,6 +1,5 @@
1
1
  import * as React from 'react';
2
2
  import type { PolymorphicForwardRefComponent } from '../utils/index.js';
3
- import '@itwin/itwinui-css/css/toggle-switch.css';
4
3
  declare type ToggleSwitchProps = {
5
4
  /**
6
5
  * Label for the toggle switch.
@@ -5,7 +5,6 @@
5
5
  import * as React from 'react';
6
6
  import cx from 'classnames';
7
7
  import { useMergedRefs, Box } from '../utils/index.js';
8
- import '@itwin/itwinui-css/css/toggle-switch.css';
9
8
  /**
10
9
  * A switch for turning on and off.
11
10
  * @example
@@ -34,13 +33,12 @@ export const ToggleSwitch = React.forwardRef((props, ref) => {
34
33
  const { disabled = false, labelPosition = 'right', label, setFocus = false, className, style, size = 'default', ...rest } = props;
35
34
  const inputElementRef = React.useRef(null);
36
35
  const refs = useMergedRefs(inputElementRef, ref);
37
- const WrapperComponent = label ? 'label' : 'div';
38
36
  React.useEffect(() => {
39
37
  if (inputElementRef.current && setFocus) {
40
38
  inputElementRef.current.focus();
41
39
  }
42
40
  }, [setFocus]);
43
- return (React.createElement(WrapperComponent, { className: cx('iui-toggle-switch-wrapper', {
41
+ return (React.createElement(Box, { as: label ? 'label' : 'div', className: cx('iui-toggle-switch-wrapper', {
44
42
  'iui-disabled': disabled,
45
43
  'iui-label-on-right': label && labelPosition === 'right',
46
44
  'iui-label-on-left': label && labelPosition === 'left',
@@ -1,6 +1,5 @@
1
1
  import * as React from 'react';
2
2
  import type { CommonProps, PopoverProps } from '../utils/index.js';
3
- import '@itwin/itwinui-css/css/tooltip.css';
4
3
  export declare type TooltipProps = {
5
4
  /**
6
5
  * Content of the tooltip.
@@ -5,7 +5,6 @@
5
5
  import * as React from 'react';
6
6
  import cx from 'classnames';
7
7
  import { Popover, Box } from '../utils/index.js';
8
- import '@itwin/itwinui-css/css/tooltip.css';
9
8
  /**
10
9
  * Basic tooltip component to display informative content when an element is hovered or focused.
11
10
  * Uses the {@link Popover} component, which is a wrapper around [tippy.js](https://atomiks.github.io/tippyjs).
@@ -0,0 +1,69 @@
1
+ import React from 'react';
2
+ import type { PolymorphicForwardRefComponent } from '../utils/index.js';
3
+ import { ListItem } from '../List/index.js';
4
+ declare type TransferListListboxWrapperOwnProps = {};
5
+ declare type TransferListItemOwnProps = {
6
+ /**
7
+ * Callback fired when the the active state changes.
8
+ */
9
+ onActiveChange?: (value: boolean) => void;
10
+ } & React.ComponentProps<typeof ListItem>;
11
+ declare type TransferListListboxLabelOwnProps = {
12
+ /**
13
+ * Text label that is wrapped by `TransferList.ListboxLabel`
14
+ */
15
+ children?: string;
16
+ };
17
+ /**
18
+ * The TransferList component is used to display a list within a box
19
+ * @example
20
+ * <TransferList>
21
+ * <TransferList.ListboxWrapper>
22
+ * <TransferList.Listbox>
23
+ * <TransferList.Item>Item 1</TransferList.Item>
24
+ * <TransferList.Item>Item 2</TransferList.Item>
25
+ * <TransferList.Item>Item 3</TransferList.Item>
26
+ * <TransferList.Item>Item 4</TransferList.Item>
27
+ * <TransferList.Item>Item 5</TransferList.Item>
28
+ * <TransferList.Item>Item 6</TransferList.Item>
29
+ * </TransferList.Listbox>
30
+ * </TransferList.ListboxWrapper>
31
+ * </TransferList>
32
+ */
33
+ export declare const TransferList: PolymorphicForwardRefComponent<keyof JSX.IntrinsicElements, {}> & {
34
+ /**
35
+ * TransferList listbox wrapper subcomponent
36
+ */
37
+ ListboxWrapper: PolymorphicForwardRefComponent<"div", TransferListListboxWrapperOwnProps>;
38
+ /**
39
+ * TransferList listbox subcomponent
40
+ */
41
+ Listbox: PolymorphicForwardRefComponent<"ul", Omit<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLUListElement>, HTMLUListElement>, "key" | keyof React.HTMLAttributes<HTMLUListElement>> & {
42
+ ref?: ((instance: HTMLUListElement | null) => void) | React.RefObject<HTMLUListElement> | null | undefined;
43
+ }, "as"> & {
44
+ as?: "ul" | undefined;
45
+ }>;
46
+ /**
47
+ * TransferList item subcomponent
48
+ */
49
+ Item: PolymorphicForwardRefComponent<"li", TransferListItemOwnProps>;
50
+ /**
51
+ * TransferList listbox label subcomponent
52
+ */
53
+ ListboxLabel: PolymorphicForwardRefComponent<"div", TransferListListboxLabelOwnProps>;
54
+ /**
55
+ * TransferList toolbar subcomponent
56
+ */
57
+ Toolbar: PolymorphicForwardRefComponent<keyof JSX.IntrinsicElements, {}>;
58
+ };
59
+ export declare const TransferListContext: React.Context<{
60
+ /**
61
+ * Id to set to label and set 'aria-labelledby' prop of the listbox
62
+ */
63
+ labelId?: string | undefined;
64
+ /**
65
+ * Callback that's fired when labelId is changed
66
+ */
67
+ setLabelId: (labelId: string) => void;
68
+ } | undefined>;
69
+ export default TransferList;
@@ -0,0 +1,142 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ import React from 'react';
6
+ import cx from 'classnames';
7
+ import { getFocusableElements, useMergedRefs, useId, useSafeContext, Box, polymorphic, } from '../utils/index.js';
8
+ import { List, ListItem } from '../List/index.js';
9
+ // ----------------------------------------------------------------------------
10
+ // TransferListComponent
11
+ const TransferListComponent = polymorphic('iui-transfer-list-wrapper');
12
+ TransferListComponent.displayName = 'TransferList';
13
+ const TransferListListboxWrapper = React.forwardRef((props, ref) => {
14
+ const { className, children, ...rest } = props;
15
+ const uid = useId();
16
+ const [labelId, setLabelId] = React.useState(uid);
17
+ return (React.createElement(Box, { as: 'div', className: cx('iui-transfer-list-listbox-wrapper', className), ref: ref, ...rest },
18
+ React.createElement(TransferListContext.Provider, { value: { labelId, setLabelId } }, children)));
19
+ });
20
+ TransferListListboxWrapper.displayName = 'TransferList.ListboxWrapper';
21
+ const TransferListListbox = React.forwardRef((props, ref) => {
22
+ const { children, className, ...rest } = props;
23
+ const { labelId } = useSafeContext(TransferListContext);
24
+ const [focusedIndex, setFocusedIndex] = React.useState();
25
+ const listRef = React.useRef(null);
26
+ const refs = useMergedRefs(listRef, ref);
27
+ const getFocusableNodes = React.useCallback(() => {
28
+ const focusableItems = getFocusableElements(listRef.current);
29
+ // Filter out focusable elements that are inside each list item, e.g. checkbox, anchor
30
+ return focusableItems.filter((i) => !focusableItems.some((p) => p.contains(i.parentElement)));
31
+ }, []);
32
+ React.useEffect(() => {
33
+ var _a;
34
+ const items = getFocusableNodes();
35
+ if (focusedIndex != null) {
36
+ (_a = items === null || items === void 0 ? void 0 : items[focusedIndex]) === null || _a === void 0 ? void 0 : _a.focus();
37
+ return;
38
+ }
39
+ }, [focusedIndex, getFocusableNodes]);
40
+ const onKeyDown = (event) => {
41
+ if (event.altKey) {
42
+ return;
43
+ }
44
+ const items = getFocusableNodes();
45
+ if (!(items === null || items === void 0 ? void 0 : items.length)) {
46
+ return;
47
+ }
48
+ const currentIndex = focusedIndex !== null && focusedIndex !== void 0 ? focusedIndex : 0;
49
+ switch (event.key) {
50
+ case 'ArrowDown': {
51
+ setFocusedIndex(Math.min(currentIndex + 1, items.length - 1));
52
+ event.preventDefault();
53
+ event.stopPropagation();
54
+ break;
55
+ }
56
+ case 'ArrowUp': {
57
+ setFocusedIndex(Math.max(currentIndex - 1, 0));
58
+ event.preventDefault();
59
+ event.stopPropagation();
60
+ break;
61
+ }
62
+ default:
63
+ break;
64
+ }
65
+ };
66
+ return (React.createElement(List, { className: cx('iui-transfer-list-listbox', className), onKeyDown: onKeyDown, role: 'listbox', "aria-multiselectable": true, "aria-labelledby": labelId, tabIndex: 0, ref: refs, ...rest }, children));
67
+ });
68
+ TransferListListbox.displayName = 'TransferList.Listbox';
69
+ const TransferListItem = React.forwardRef((props, ref) => {
70
+ const { actionable = true, disabled, onActiveChange, children, active, ...rest } = props;
71
+ const onClickEvents = () => actionable && onActiveChange && onActiveChange(!active);
72
+ const onKeyDown = (event) => {
73
+ if (event.altKey) {
74
+ return;
75
+ }
76
+ if (event.key === 'Enter' ||
77
+ event.key === ' ' ||
78
+ event.key === 'Spacebar') {
79
+ !disabled && onClickEvents();
80
+ event.preventDefault();
81
+ }
82
+ };
83
+ return (React.createElement(ListItem, { ref: ref, onClick: onClickEvents, onKeyDown: onKeyDown, active: active, actionable: actionable, tabIndex: -1, role: 'option', "aria-disabled": disabled ? 'true' : undefined, "aria-selected": active ? 'true' : undefined, disabled: disabled, ...rest }, children));
84
+ });
85
+ TransferListItem.displayName = 'TransferList.Item';
86
+ const TransferListListboxLabel = React.forwardRef((props, ref) => {
87
+ const { children, className, id, ...rest } = props;
88
+ const { labelId, setLabelId } = useSafeContext(TransferListContext);
89
+ React.useEffect(() => {
90
+ if (id && id !== labelId) {
91
+ setLabelId(id);
92
+ }
93
+ }, [id, labelId, setLabelId]);
94
+ return (React.createElement(Box, { as: 'div', className: cx('iui-transfer-list-listbox-label', className), id: labelId, ref: ref, ...rest }, children));
95
+ });
96
+ TransferListListboxLabel.displayName = 'TransferList.ListboxLabel';
97
+ // ----------------------------------------------------------------------------
98
+ // TransferList.Toolbar component
99
+ const TransferListToolbar = polymorphic('iui-transfer-list-toolbar', {
100
+ role: 'toolbar',
101
+ });
102
+ TransferListToolbar.displayName = 'TransferList.Toolbar';
103
+ /**
104
+ * The TransferList component is used to display a list within a box
105
+ * @example
106
+ * <TransferList>
107
+ * <TransferList.ListboxWrapper>
108
+ * <TransferList.Listbox>
109
+ * <TransferList.Item>Item 1</TransferList.Item>
110
+ * <TransferList.Item>Item 2</TransferList.Item>
111
+ * <TransferList.Item>Item 3</TransferList.Item>
112
+ * <TransferList.Item>Item 4</TransferList.Item>
113
+ * <TransferList.Item>Item 5</TransferList.Item>
114
+ * <TransferList.Item>Item 6</TransferList.Item>
115
+ * </TransferList.Listbox>
116
+ * </TransferList.ListboxWrapper>
117
+ * </TransferList>
118
+ */
119
+ export const TransferList = Object.assign(TransferListComponent, {
120
+ /**
121
+ * TransferList listbox wrapper subcomponent
122
+ */
123
+ ListboxWrapper: TransferListListboxWrapper,
124
+ /**
125
+ * TransferList listbox subcomponent
126
+ */
127
+ Listbox: TransferListListbox,
128
+ /**
129
+ * TransferList item subcomponent
130
+ */
131
+ Item: TransferListItem,
132
+ /**
133
+ * TransferList listbox label subcomponent
134
+ */
135
+ ListboxLabel: TransferListListboxLabel,
136
+ /**
137
+ * TransferList toolbar subcomponent
138
+ */
139
+ Toolbar: TransferListToolbar,
140
+ });
141
+ export const TransferListContext = React.createContext(undefined);
142
+ export default TransferList;
@@ -0,0 +1,3 @@
1
+ export { TransferList } from './TransferList.js';
2
+ declare const _default: "./TransferList";
3
+ export default _default;
@@ -0,0 +1,6 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ export { TransferList } from './TransferList.js';
6
+ export default './TransferList';
@@ -1,6 +1,5 @@
1
1
  /// <reference types="react" />
2
2
  import type { CommonProps } from '../utils/index.js';
3
- import '@itwin/itwinui-css/css/tree.css';
4
3
  export declare type NodeData<T> = {
5
4
  /**
6
5
  * Array of the child nodes contained in the node.
@@ -4,7 +4,6 @@
4
4
  *--------------------------------------------------------------------------------------------*/
5
5
  import * as React from 'react';
6
6
  import { getFocusableElements, useVirtualization, mergeRefs, Box, polymorphic, } from '../utils/index.js';
7
- import '@itwin/itwinui-css/css/tree.css';
8
7
  import cx from 'classnames';
9
8
  import { TreeContext } from './TreeContext.js';
10
9
  /**
@@ -1,6 +1,5 @@
1
1
  import * as React from 'react';
2
2
  import type { CommonProps } from '../utils/index.js';
3
- import '@itwin/itwinui-css/css/tree.css';
4
3
  declare type TreeNodeProps = {
5
4
  /**
6
5
  * Unique id of the node.
@@ -4,7 +4,6 @@
4
4
  *--------------------------------------------------------------------------------------------*/
5
5
  import * as React from 'react';
6
6
  import { getFocusableElements, Box } from '../utils/index.js';
7
- import '@itwin/itwinui-css/css/tree.css';
8
7
  import cx from 'classnames';
9
8
  import { TreeNodeExpander } from './TreeNodeExpander.js';
10
9
  import { useTreeContext } from './TreeContext.js';
@@ -1,6 +1,5 @@
1
1
  import type { PolymorphicForwardRefComponent } from '../utils/index.js';
2
2
  import type { IconButtonProps } from '../Buttons/IconButton/IconButton.js';
3
- import '@itwin/itwinui-css/css/tree.css';
4
3
  declare type TreeNodeExpanderProps = {
5
4
  isExpanded?: boolean;
6
5
  } & IconButtonProps;
@@ -6,7 +6,6 @@ import * as React from 'react';
6
6
  import cx from 'classnames';
7
7
  import { SvgChevronRight } from '../utils/index.js';
8
8
  import { IconButton } from '../Buttons/IconButton/index.js';
9
- import '@itwin/itwinui-css/css/tree.css';
10
9
  export const TreeNodeExpander = React.forwardRef((props, ref) => {
11
10
  const { isExpanded, ...rest } = props;
12
11
  return (React.createElement(IconButton, { styleType: 'borderless', size: 'small', "aria-label": isExpanded ? 'Collapse' : 'Expand', ref: ref, ...rest },
@@ -1,4 +1,3 @@
1
- import '@itwin/itwinui-css/css/anchor.css';
2
1
  /**
3
2
  * A consistently styled anchor component.
4
3
  *
@@ -3,7 +3,6 @@
3
3
  * See LICENSE.md in the project root for license terms and full copyright notice.
4
4
  *--------------------------------------------------------------------------------------------*/
5
5
  import { polymorphic } from '../../utils/index.js';
6
- import '@itwin/itwinui-css/css/anchor.css';
7
6
  /**
8
7
  * A consistently styled anchor component.
9
8
  *
@@ -1,6 +1,5 @@
1
1
  import * as React from 'react';
2
2
  import type { PolymorphicForwardRefComponent } from '../../utils/index.js';
3
- import '@itwin/itwinui-css/css/blockquote.css';
4
3
  declare type BlockquoteProps = {
5
4
  /**
6
5
  * Optional footer for any attribution/source.
@@ -5,7 +5,6 @@
5
5
  import cx from 'classnames';
6
6
  import * as React from 'react';
7
7
  import { Box } from '../../utils/index.js';
8
- import '@itwin/itwinui-css/css/blockquote.css';
9
8
  /**
10
9
  * Basic blockquote component
11
10
  * @example
@@ -1,4 +1,3 @@
1
- import '@itwin/itwinui-css/css/code.css';
2
1
  /**
3
2
  * Inline code element.
4
3
  * @example
@@ -3,7 +3,6 @@
3
3
  * See LICENSE.md in the project root for license terms and full copyright notice.
4
4
  *--------------------------------------------------------------------------------------------*/
5
5
  import { polymorphic } from '../../utils/index.js';
6
- import '@itwin/itwinui-css/css/code.css';
7
6
  /**
8
7
  * Inline code element.
9
8
  * @example
@@ -1,5 +1,4 @@
1
1
  import type { PolymorphicForwardRefComponent } from '../../utils/index.js';
2
- import '@itwin/itwinui-css/css/keyboard.css';
3
2
  /**
4
3
  * Some predefined strings for common keyboard keys.
5
4
  */
@@ -5,7 +5,6 @@
5
5
  import cx from 'classnames';
6
6
  import * as React from 'react';
7
7
  import { Box } from '../../utils/index.js';
8
- import '@itwin/itwinui-css/css/keyboard.css';
9
8
  /**
10
9
  * Some predefined strings for common keyboard keys.
11
10
  */
@@ -1,5 +1,4 @@
1
1
  import type { PolymorphicForwardRefComponent } from '../../utils/index.js';
2
- import '@itwin/itwinui-css/css/text.css';
3
2
  declare type TextProps = {
4
3
  /**
5
4
  * Which typography variant/size should be used for the styling?
@@ -5,7 +5,6 @@
5
5
  import cx from 'classnames';
6
6
  import * as React from 'react';
7
7
  import { Box } from '../../utils/index.js';
8
- import '@itwin/itwinui-css/css/text.css';
9
8
  /**
10
9
  * Polymorphic typography component to render any kind of text as any kind of element.
11
10
  * Users should decide which element to render based on the context of their app. Link to heading levels docs: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Heading_Elements#accessibility_concerns
@@ -22,6 +22,7 @@ export { Footer, defaultFooterElements } from './Footer/index.js';
22
22
  export type { FooterElement, TitleTranslations } from './Footer/index.js';
23
23
  export { Header, HeaderBreadcrumbs, HeaderButton, HeaderLogo, } from './Header/index.js';
24
24
  export { List, ListItem } from './List/index.js';
25
+ export { TransferList } from './TransferList/index.js';
25
26
  export { VerticalTabs, Tabs, Tab, HorizontalTabs } from './Tabs/index.js';
26
27
  export { InformationPanel, InformationPanelWrapper, InformationPanelHeader, InformationPanelBody, InformationPanelContent, } from './InformationPanel/index.js';
27
28
  export { Input } from './Input/index.js';
package/esm/core/index.js CHANGED
@@ -24,6 +24,7 @@ export { FileUpload, FileUploadTemplate, FileUploadCard, FileEmptyCard, } from '
24
24
  export { Footer, defaultFooterElements } from './Footer/index.js';
25
25
  export { Header, HeaderBreadcrumbs, HeaderButton, HeaderLogo, } from './Header/index.js';
26
26
  export { List, ListItem } from './List/index.js';
27
+ export { TransferList } from './TransferList/index.js';
27
28
  export { VerticalTabs, Tabs, Tab, HorizontalTabs } from './Tabs/index.js';
28
29
  export { InformationPanel, InformationPanelWrapper, InformationPanelHeader, InformationPanelBody, InformationPanelContent, } from './InformationPanel/index.js';
29
30
  export { Input } from './Input/index.js';
@@ -1,4 +1,3 @@
1
- import '@itwin/itwinui-css/css/utils.css';
2
1
  import type { PolymorphicForwardRefComponent } from '../props.js';
3
2
  declare type DividerProps = {
4
3
  /**
@@ -4,7 +4,6 @@
4
4
  *--------------------------------------------------------------------------------------------*/
5
5
  import * as React from 'react';
6
6
  import cx from 'classnames';
7
- import '@itwin/itwinui-css/css/utils.css';
8
7
  import { Box } from './Box.js';
9
8
  /**
10
9
  * Shows a divider
@@ -1,7 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import type { AnyString } from '../types.js';
3
3
  import type { PolymorphicForwardRefComponent } from '../props.js';
4
- import '@itwin/itwinui-css/css/utils.css';
5
4
  declare const sizeTokens: readonly ["3xs", "2xs", "xs", "s", "m", "l", "xl", "2xl", "3xl"];
6
5
  /**
7
6
  * String literal shorthands that correspond to the size tokens in [itwinui-variables](https://github.com/iTwin/iTwinUI/blob/main/packages/itwinui-variables/src/sizes.scss).
@@ -4,7 +4,6 @@
4
4
  *--------------------------------------------------------------------------------------------*/
5
5
  import * as React from 'react';
6
6
  import cx from 'classnames';
7
- import '@itwin/itwinui-css/css/utils.css';
8
7
  import { Box } from './Box.js';
9
8
  const sizeTokens = [
10
9
  '3xs',
@@ -1,6 +1,5 @@
1
1
  import * as React from 'react';
2
2
  import type { AnyString } from '../types.js';
3
- import '@itwin/itwinui-css/css/utils.css';
4
3
  import type { PolymorphicForwardRefComponent } from '../props.js';
5
4
  export declare type IconProps = {
6
5
  /**
@@ -4,7 +4,6 @@
4
4
  *--------------------------------------------------------------------------------------------*/
5
5
  import * as React from 'react';
6
6
  import cx from 'classnames';
7
- import '@itwin/itwinui-css/css/utils.css';
8
7
  import { Box } from './Box.js';
9
8
  const getSizeValue = (size) => {
10
9
  switch (size) {
@@ -1,5 +1,4 @@
1
1
  import * as React from 'react';
2
- import '@itwin/itwinui-css/css/utils.css';
3
2
  export declare type InputContainerProps<T extends React.ElementType = 'div'> = {
4
3
  as?: T;
5
4
  label?: React.ReactNode;