@itwin/itwinui-react 3.0.0-dev.4 → 3.0.0-dev.6

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 (932) hide show
  1. package/CHANGELOG.md +90 -1
  2. package/cjs/core/Alert/Alert.d.ts +5 -5
  3. package/cjs/core/Alert/Alert.js +72 -59
  4. package/cjs/core/Alert/index.js +9 -4
  5. package/cjs/core/Avatar/Avatar.d.ts +3 -3
  6. package/cjs/core/Avatar/Avatar.js +60 -44
  7. package/cjs/core/Avatar/index.js +9 -4
  8. package/cjs/core/AvatarGroup/AvatarGroup.d.ts +1 -1
  9. package/cjs/core/AvatarGroup/AvatarGroup.js +69 -53
  10. package/cjs/core/AvatarGroup/index.js +9 -4
  11. package/cjs/core/Backdrop/Backdrop.d.ts +1 -1
  12. package/cjs/core/Backdrop/Backdrop.js +16 -33
  13. package/cjs/core/Backdrop/index.js +9 -4
  14. package/cjs/core/Badge/Badge.d.ts +1 -1
  15. package/cjs/core/Badge/Badge.js +39 -47
  16. package/cjs/core/Badge/index.js +9 -4
  17. package/cjs/core/Breadcrumbs/Breadcrumbs.d.ts +16 -24
  18. package/cjs/core/Breadcrumbs/Breadcrumbs.js +131 -61
  19. package/cjs/core/Breadcrumbs/index.js +9 -4
  20. package/cjs/core/ButtonGroup/ButtonGroup.d.ts +1 -1
  21. package/cjs/core/ButtonGroup/ButtonGroup.js +65 -53
  22. package/cjs/core/ButtonGroup/index.js +9 -4
  23. package/cjs/core/Buttons/Button/Button.d.ts +1 -1
  24. package/cjs/core/Buttons/Button/Button.js +43 -36
  25. package/cjs/core/Buttons/Button/index.js +9 -4
  26. package/cjs/core/Buttons/DropdownButton/DropdownButton.d.ts +2 -2
  27. package/cjs/core/Buttons/DropdownButton/DropdownButton.js +61 -51
  28. package/cjs/core/Buttons/DropdownButton/index.js +9 -4
  29. package/cjs/core/Buttons/IconButton/IconButton.d.ts +1 -1
  30. package/cjs/core/Buttons/IconButton/IconButton.js +59 -38
  31. package/cjs/core/Buttons/IconButton/index.js +9 -4
  32. package/cjs/core/Buttons/IdeasButton/IdeasButton.d.ts +1 -1
  33. package/cjs/core/Buttons/IdeasButton/IdeasButton.js +20 -30
  34. package/cjs/core/Buttons/IdeasButton/index.js +9 -4
  35. package/cjs/core/Buttons/SplitButton/SplitButton.d.ts +1 -1
  36. package/cjs/core/Buttons/SplitButton/SplitButton.js +68 -49
  37. package/cjs/core/Buttons/SplitButton/index.js +9 -4
  38. package/cjs/core/Buttons/index.js +43 -13
  39. package/cjs/core/Carousel/Carousel.d.ts +3 -3
  40. package/cjs/core/Carousel/Carousel.js +109 -107
  41. package/cjs/core/Carousel/CarouselContext.js +4 -26
  42. package/cjs/core/Carousel/CarouselDot.d.ts +1 -1
  43. package/cjs/core/Carousel/CarouselDot.js +25 -37
  44. package/cjs/core/Carousel/CarouselDotsList.d.ts +1 -1
  45. package/cjs/core/Carousel/CarouselDotsList.js +129 -95
  46. package/cjs/core/Carousel/CarouselNavigation.d.ts +2 -2
  47. package/cjs/core/Carousel/CarouselNavigation.js +97 -66
  48. package/cjs/core/Carousel/CarouselSlide.d.ts +1 -1
  49. package/cjs/core/Carousel/CarouselSlide.js +39 -46
  50. package/cjs/core/Carousel/CarouselSlider.js +66 -71
  51. package/cjs/core/Carousel/index.js +9 -4
  52. package/cjs/core/Checkbox/Checkbox.d.ts +9 -5
  53. package/cjs/core/Checkbox/Checkbox.js +88 -60
  54. package/cjs/core/Checkbox/index.js +9 -4
  55. package/cjs/core/ColorPicker/ColorBuilder.js +289 -198
  56. package/cjs/core/ColorPicker/ColorInputPanel.d.ts +1 -1
  57. package/cjs/core/ColorPicker/ColorInputPanel.js +453 -282
  58. package/cjs/core/ColorPicker/ColorPalette.d.ts +1 -1
  59. package/cjs/core/ColorPicker/ColorPalette.js +124 -113
  60. package/cjs/core/ColorPicker/ColorPicker.d.ts +1 -6
  61. package/cjs/core/ColorPicker/ColorPicker.js +82 -85
  62. package/cjs/core/ColorPicker/ColorPickerContext.js +11 -31
  63. package/cjs/core/ColorPicker/ColorSwatch.d.ts +1 -1
  64. package/cjs/core/ColorPicker/ColorSwatch.js +30 -39
  65. package/cjs/core/ColorPicker/index.js +43 -13
  66. package/cjs/core/ComboBox/ComboBox.d.ts +6 -6
  67. package/cjs/core/ComboBox/ComboBox.js +393 -294
  68. package/cjs/core/ComboBox/ComboBoxDropdown.d.ts +1 -1
  69. package/cjs/core/ComboBox/ComboBoxDropdown.js +39 -42
  70. package/cjs/core/ComboBox/ComboBoxEndIcon.d.ts +1 -1
  71. package/cjs/core/ComboBox/ComboBoxEndIcon.js +46 -43
  72. package/cjs/core/ComboBox/ComboBoxInput.d.ts +2 -2
  73. package/cjs/core/ComboBox/ComboBoxInput.js +200 -152
  74. package/cjs/core/ComboBox/ComboBoxInputContainer.d.ts +1 -1
  75. package/cjs/core/ComboBox/ComboBoxInputContainer.js +35 -34
  76. package/cjs/core/ComboBox/ComboBoxMenu.d.ts +1 -1
  77. package/cjs/core/ComboBox/ComboBoxMenu.js +108 -73
  78. package/cjs/core/ComboBox/ComboBoxMenuItem.d.ts +1 -1
  79. package/cjs/core/ComboBox/ComboBoxMenuItem.js +71 -42
  80. package/cjs/core/ComboBox/ComboBoxMultipleContainer.d.ts +1 -1
  81. package/cjs/core/ComboBox/ComboBoxMultipleContainer.js +13 -32
  82. package/cjs/core/ComboBox/helpers.d.ts +2 -2
  83. package/cjs/core/ComboBox/helpers.js +47 -65
  84. package/cjs/core/ComboBox/index.js +9 -4
  85. package/cjs/core/DatePicker/DatePicker.d.ts +2 -2
  86. package/cjs/core/DatePicker/DatePicker.js +523 -357
  87. package/cjs/core/DatePicker/index.js +15 -5
  88. package/cjs/core/Dialog/Dialog.d.ts +1 -1
  89. package/cjs/core/Dialog/Dialog.js +72 -68
  90. package/cjs/core/Dialog/DialogBackdrop.d.ts +1 -1
  91. package/cjs/core/Dialog/DialogBackdrop.js +47 -52
  92. package/cjs/core/Dialog/DialogButtonBar.js +3 -3
  93. package/cjs/core/Dialog/DialogContent.d.ts +2 -1
  94. package/cjs/core/Dialog/DialogContent.js +28 -4
  95. package/cjs/core/Dialog/DialogContext.d.ts +1 -1
  96. package/cjs/core/Dialog/DialogContext.js +5 -27
  97. package/cjs/core/Dialog/DialogDragContext.d.ts +1 -1
  98. package/cjs/core/Dialog/DialogDragContext.js +8 -30
  99. package/cjs/core/Dialog/DialogMain.d.ts +1 -1
  100. package/cjs/core/Dialog/DialogMain.js +183 -142
  101. package/cjs/core/Dialog/DialogTitleBar.d.ts +1 -1
  102. package/cjs/core/Dialog/DialogTitleBar.js +67 -45
  103. package/cjs/core/Dialog/DialogTitleBarTitle.js +3 -3
  104. package/cjs/core/Dialog/index.js +9 -4
  105. package/cjs/core/DropdownMenu/DropdownMenu.d.ts +4 -4
  106. package/cjs/core/DropdownMenu/DropdownMenu.js +72 -50
  107. package/cjs/core/DropdownMenu/index.js +9 -4
  108. package/cjs/core/ExpandableBlock/ExpandableBlock.d.ts +77 -21
  109. package/cjs/core/ExpandableBlock/ExpandableBlock.js +233 -76
  110. package/cjs/core/ExpandableBlock/index.js +9 -4
  111. package/cjs/core/Fieldset/Fieldset.d.ts +1 -1
  112. package/cjs/core/Fieldset/Fieldset.js +25 -39
  113. package/cjs/core/Fieldset/index.js +9 -4
  114. package/cjs/core/FileUpload/FileEmptyCard.js +43 -42
  115. package/cjs/core/FileUpload/FileUpload.d.ts +1 -1
  116. package/cjs/core/FileUpload/FileUpload.js +67 -67
  117. package/cjs/core/FileUpload/FileUploadCard.d.ts +1 -1
  118. package/cjs/core/FileUpload/FileUploadCard.js +168 -108
  119. package/cjs/core/FileUpload/FileUploadTemplate.d.ts +1 -1
  120. package/cjs/core/FileUpload/FileUploadTemplate.js +51 -41
  121. package/cjs/core/FileUpload/index.js +35 -11
  122. package/cjs/core/Footer/Footer.d.ts +4 -4
  123. package/cjs/core/Footer/Footer.js +103 -89
  124. package/cjs/core/Footer/FooterItem.js +3 -3
  125. package/cjs/core/Footer/FooterList.js +3 -3
  126. package/cjs/core/Footer/FooterSeparator.js +8 -5
  127. package/cjs/core/Footer/index.js +15 -5
  128. package/cjs/core/Header/Header.d.ts +2 -2
  129. package/cjs/core/Header/Header.js +67 -47
  130. package/cjs/core/Header/HeaderBasicButton.js +37 -38
  131. package/cjs/core/Header/HeaderBreadcrumbs.d.ts +1 -1
  132. package/cjs/core/Header/HeaderBreadcrumbs.js +38 -39
  133. package/cjs/core/Header/HeaderButton.d.ts +5 -1
  134. package/cjs/core/Header/HeaderButton.js +76 -43
  135. package/cjs/core/Header/HeaderDropdownButton.js +49 -45
  136. package/cjs/core/Header/HeaderLogo.d.ts +1 -1
  137. package/cjs/core/Header/HeaderLogo.js +42 -36
  138. package/cjs/core/Header/HeaderSplitButton.js +68 -46
  139. package/cjs/core/Header/index.js +35 -11
  140. package/cjs/core/InformationPanel/InformationPanel.d.ts +1 -1
  141. package/cjs/core/InformationPanel/InformationPanel.js +77 -67
  142. package/cjs/core/InformationPanel/InformationPanelBody.js +6 -4
  143. package/cjs/core/InformationPanel/InformationPanelContent.d.ts +1 -1
  144. package/cjs/core/InformationPanel/InformationPanelContent.js +20 -33
  145. package/cjs/core/InformationPanel/InformationPanelHeader.d.ts +1 -1
  146. package/cjs/core/InformationPanel/InformationPanelHeader.js +34 -39
  147. package/cjs/core/InformationPanel/InformationPanelWrapper.js +6 -4
  148. package/cjs/core/InformationPanel/index.js +43 -13
  149. package/cjs/core/Input/Input.d.ts +6 -6
  150. package/cjs/core/Input/Input.js +17 -40
  151. package/cjs/core/Input/index.js +9 -4
  152. package/cjs/core/InputGroup/InputGroup.d.ts +1 -1
  153. package/cjs/core/InputGroup/InputGroup.js +46 -41
  154. package/cjs/core/InputGroup/index.js +9 -4
  155. package/cjs/core/Label/Label.d.ts +1 -1
  156. package/cjs/core/Label/Label.js +30 -36
  157. package/cjs/core/Label/index.js +9 -4
  158. package/cjs/core/LabeledInput/LabeledInput.d.ts +1 -1
  159. package/cjs/core/LabeledInput/LabeledInput.js +49 -33
  160. package/cjs/core/LabeledInput/index.js +9 -4
  161. package/cjs/core/LabeledSelect/LabeledSelect.d.ts +1 -1
  162. package/cjs/core/LabeledSelect/LabeledSelect.js +56 -44
  163. package/cjs/core/LabeledSelect/index.js +9 -4
  164. package/cjs/core/LabeledTextarea/LabeledTextarea.d.ts +2 -3
  165. package/cjs/core/LabeledTextarea/LabeledTextarea.js +49 -33
  166. package/cjs/core/LabeledTextarea/index.js +9 -4
  167. package/cjs/core/List/List.js +3 -3
  168. package/cjs/core/List/ListItem.d.ts +4 -4
  169. package/cjs/core/List/ListItem.js +55 -60
  170. package/cjs/core/List/index.js +16 -6
  171. package/cjs/core/Menu/Menu.d.ts +1 -1
  172. package/cjs/core/Menu/Menu.js +66 -78
  173. package/cjs/core/Menu/MenuDivider.js +4 -4
  174. package/cjs/core/Menu/MenuExtraContent.js +4 -4
  175. package/cjs/core/Menu/MenuItem.d.ts +1 -1
  176. package/cjs/core/Menu/MenuItem.js +143 -86
  177. package/cjs/core/Menu/MenuItemSkeleton.d.ts +1 -1
  178. package/cjs/core/Menu/MenuItemSkeleton.js +54 -43
  179. package/cjs/core/Menu/index.js +43 -13
  180. package/cjs/core/Modal/Modal.d.ts +1 -1
  181. package/cjs/core/Modal/Modal.js +38 -33
  182. package/cjs/core/Modal/ModalButtonBar.js +7 -4
  183. package/cjs/core/Modal/ModalContent.js +3 -3
  184. package/cjs/core/Modal/index.js +23 -8
  185. package/cjs/core/NonIdealState/ErrorPage.d.ts +6 -7
  186. package/cjs/core/NonIdealState/ErrorPage.js +187 -146
  187. package/cjs/core/NonIdealState/NonIdealState.d.ts +17 -1
  188. package/cjs/core/NonIdealState/NonIdealState.js +77 -37
  189. package/cjs/core/NonIdealState/index.js +16 -6
  190. package/cjs/core/NotificationMarker/NotificationMarker.d.ts +1 -1
  191. package/cjs/core/NotificationMarker/NotificationMarker.js +29 -33
  192. package/cjs/core/NotificationMarker/index.js +9 -4
  193. package/cjs/core/Overlay/Overlay.d.ts +57 -0
  194. package/cjs/core/Overlay/Overlay.js +96 -0
  195. package/cjs/core/Overlay/index.d.ts +1 -0
  196. package/{esm/core/ProgressIndicators/ProgressRadial → cjs/core/Overlay}/index.js +10 -2
  197. package/cjs/core/ProgressIndicators/{ProgressLinear/ProgressLinear.d.ts → ProgressLinear.d.ts} +6 -6
  198. package/cjs/core/ProgressIndicators/ProgressLinear.js +64 -0
  199. package/cjs/core/ProgressIndicators/{ProgressRadial/ProgressRadial.d.ts → ProgressRadial.d.ts} +2 -2
  200. package/cjs/core/ProgressIndicators/ProgressRadial.js +74 -0
  201. package/cjs/core/ProgressIndicators/index.d.ts +2 -2
  202. package/cjs/core/ProgressIndicators/index.js +16 -6
  203. package/cjs/core/Radio/Radio.d.ts +7 -4
  204. package/cjs/core/Radio/Radio.js +54 -42
  205. package/cjs/core/Radio/index.js +9 -4
  206. package/cjs/core/RadioTiles/RadioTile.d.ts +15 -4
  207. package/cjs/core/RadioTiles/RadioTile.js +80 -45
  208. package/cjs/core/RadioTiles/RadioTileGroup.d.ts +1 -1
  209. package/cjs/core/RadioTiles/RadioTileGroup.js +16 -31
  210. package/cjs/core/RadioTiles/index.js +16 -6
  211. package/cjs/core/SearchBox/SearchBox.d.ts +3 -3
  212. package/cjs/core/SearchBox/SearchBox.js +220 -128
  213. package/cjs/core/SearchBox/index.js +9 -4
  214. package/cjs/core/Select/Select.d.ts +5 -10
  215. package/cjs/core/Select/Select.js +291 -181
  216. package/cjs/core/Select/SelectTag.d.ts +1 -1
  217. package/cjs/core/Select/SelectTag.js +21 -34
  218. package/cjs/core/Select/SelectTagContainer.d.ts +1 -1
  219. package/cjs/core/Select/SelectTagContainer.js +30 -39
  220. package/cjs/core/Select/index.js +9 -4
  221. package/cjs/core/SideNavigation/SideNavigation.d.ts +1 -1
  222. package/cjs/core/SideNavigation/SideNavigation.js +105 -54
  223. package/cjs/core/SideNavigation/SidenavButton.d.ts +1 -1
  224. package/cjs/core/SideNavigation/SidenavButton.js +30 -33
  225. package/cjs/core/SideNavigation/SidenavSubmenu.js +23 -34
  226. package/cjs/core/SideNavigation/SidenavSubmenuHeader.d.ts +1 -1
  227. package/cjs/core/SideNavigation/SidenavSubmenuHeader.js +29 -35
  228. package/cjs/core/SideNavigation/index.js +35 -11
  229. package/cjs/core/SkipToContentLink/SkipToContentLink.d.ts +1 -1
  230. package/cjs/core/SkipToContentLink/SkipToContentLink.js +20 -33
  231. package/cjs/core/SkipToContentLink/index.js +9 -4
  232. package/cjs/core/Slider/Slider.d.ts +4 -9
  233. package/cjs/core/Slider/Slider.js +343 -227
  234. package/cjs/core/Slider/Thumb.d.ts +2 -2
  235. package/cjs/core/Slider/Thumb.js +111 -84
  236. package/cjs/core/Slider/Track.d.ts +3 -3
  237. package/cjs/core/Slider/Track.js +72 -76
  238. package/cjs/core/Slider/index.js +9 -4
  239. package/cjs/core/StatusMessage/StatusMessage.d.ts +2 -2
  240. package/cjs/core/StatusMessage/StatusMessage.js +19 -32
  241. package/cjs/core/StatusMessage/index.js +9 -4
  242. package/cjs/core/Stepper/Stepper.d.ts +3 -3
  243. package/cjs/core/Stepper/Stepper.js +51 -36
  244. package/cjs/core/Stepper/StepperStep.d.ts +1 -1
  245. package/cjs/core/Stepper/StepperStep.js +84 -63
  246. package/cjs/core/Stepper/WorkflowDiagram.d.ts +1 -1
  247. package/cjs/core/Stepper/WorkflowDiagram.js +25 -33
  248. package/cjs/core/Stepper/WorkflowDiagramStep.d.ts +3 -3
  249. package/cjs/core/Stepper/WorkflowDiagramStep.js +32 -36
  250. package/cjs/core/Stepper/index.js +16 -6
  251. package/cjs/core/Surface/Surface.d.ts +2 -2
  252. package/cjs/core/Surface/Surface.js +78 -70
  253. package/cjs/core/Surface/index.js +9 -4
  254. package/cjs/core/Table/SubRowExpander.d.ts +2 -2
  255. package/cjs/core/Table/SubRowExpander.js +35 -37
  256. package/cjs/core/Table/Table.d.ts +18 -2
  257. package/cjs/core/Table/Table.js +767 -448
  258. package/cjs/core/Table/TableCell.d.ts +2 -2
  259. package/cjs/core/Table/TableCell.js +113 -88
  260. package/cjs/core/Table/TablePaginator.d.ts +3 -3
  261. package/cjs/core/Table/TablePaginator.js +312 -159
  262. package/cjs/core/Table/TableRowMemoized.d.ts +4 -4
  263. package/cjs/core/Table/TableRowMemoized.js +137 -89
  264. package/cjs/core/Table/actionHandlers/expandHandler.js +12 -12
  265. package/cjs/core/Table/actionHandlers/filterHandler.js +25 -17
  266. package/cjs/core/Table/actionHandlers/index.js +56 -14
  267. package/cjs/core/Table/actionHandlers/resizeHandler.js +13 -13
  268. package/cjs/core/Table/actionHandlers/selectHandler.js +123 -96
  269. package/cjs/core/Table/cells/DefaultCell.d.ts +2 -2
  270. package/cjs/core/Table/cells/DefaultCell.js +48 -38
  271. package/cjs/core/Table/cells/EditableCell.d.ts +2 -2
  272. package/cjs/core/Table/cells/EditableCell.js +75 -68
  273. package/cjs/core/Table/cells/index.js +16 -6
  274. package/cjs/core/Table/columns/actionColumn.d.ts +3 -3
  275. package/cjs/core/Table/columns/actionColumn.js +106 -96
  276. package/cjs/core/Table/columns/expanderColumn.d.ts +2 -2
  277. package/cjs/core/Table/columns/expanderColumn.js +45 -54
  278. package/cjs/core/Table/columns/index.js +41 -11
  279. package/cjs/core/Table/columns/selectionColumn.d.ts +4 -4
  280. package/cjs/core/Table/columns/selectionColumn.js +57 -51
  281. package/cjs/core/Table/filters/BaseFilter.d.ts +2 -2
  282. package/cjs/core/Table/filters/BaseFilter.js +24 -38
  283. package/cjs/core/Table/filters/DateRangeFilter/DatePickerInput.d.ts +3 -2
  284. package/cjs/core/Table/filters/DateRangeFilter/DatePickerInput.js +92 -72
  285. package/cjs/core/Table/filters/DateRangeFilter/DateRangeFilter.d.ts +4 -4
  286. package/cjs/core/Table/filters/DateRangeFilter/DateRangeFilter.js +118 -79
  287. package/cjs/core/Table/filters/FilterButtonBar.d.ts +3 -3
  288. package/cjs/core/Table/filters/FilterButtonBar.js +39 -41
  289. package/cjs/core/Table/filters/FilterToggle.d.ts +3 -3
  290. package/cjs/core/Table/filters/FilterToggle.js +59 -51
  291. package/cjs/core/Table/filters/NumberRangeFilter/NumberRangeFilter.d.ts +4 -4
  292. package/cjs/core/Table/filters/NumberRangeFilter/NumberRangeFilter.js +58 -52
  293. package/cjs/core/Table/filters/TextFilter/TextFilter.d.ts +3 -3
  294. package/cjs/core/Table/filters/TextFilter/TextFilter.js +40 -44
  295. package/cjs/core/Table/filters/customFilterFunctions.js +16 -14
  296. package/cjs/core/Table/filters/defaultFilterFunctions.js +86 -81
  297. package/cjs/core/Table/filters/index.js +35 -11
  298. package/cjs/core/Table/filters/tableFilters.d.ts +5 -5
  299. package/cjs/core/Table/filters/tableFilters.js +44 -54
  300. package/cjs/core/Table/filters/types.d.ts +1 -1
  301. package/cjs/core/Table/filters/types.js +2 -2
  302. package/cjs/core/Table/hooks/index.js +67 -19
  303. package/cjs/core/Table/hooks/useColumnDragAndDrop.js +101 -88
  304. package/cjs/core/Table/hooks/useExpanderCell.d.ts +1 -1
  305. package/cjs/core/Table/hooks/useExpanderCell.js +33 -47
  306. package/cjs/core/Table/hooks/useResizeColumns.js +362 -290
  307. package/cjs/core/Table/hooks/useScrollToRow.d.ts +2 -2
  308. package/cjs/core/Table/hooks/useScrollToRow.js +46 -60
  309. package/cjs/core/Table/hooks/useSelectionCell.js +17 -10
  310. package/cjs/core/Table/hooks/useStickyColumns.js +64 -62
  311. package/cjs/core/Table/hooks/useSubRowFiltering.js +95 -110
  312. package/cjs/core/Table/hooks/useSubRowSelection.js +32 -53
  313. package/cjs/core/Table/index.js +78 -18
  314. package/cjs/core/Table/utils.js +42 -40
  315. package/cjs/core/Tabs/Tab.d.ts +2 -2
  316. package/cjs/core/Tabs/Tab.js +51 -38
  317. package/cjs/core/Tabs/Tabs.d.ts +6 -6
  318. package/cjs/core/Tabs/Tabs.js +407 -335
  319. package/cjs/core/Tabs/index.js +16 -6
  320. package/cjs/core/Tag/Tag.d.ts +1 -1
  321. package/cjs/core/Tag/Tag.js +42 -40
  322. package/cjs/core/Tag/TagContainer.d.ts +1 -1
  323. package/cjs/core/Tag/TagContainer.js +23 -36
  324. package/cjs/core/Tag/index.js +16 -6
  325. package/cjs/core/Textarea/Textarea.d.ts +2 -9
  326. package/cjs/core/Textarea/Textarea.js +17 -41
  327. package/cjs/core/Textarea/index.js +9 -4
  328. package/cjs/core/ThemeProvider/ThemeContext.js +4 -26
  329. package/cjs/core/ThemeProvider/ThemeProvider.d.ts +4 -4
  330. package/cjs/core/ThemeProvider/ThemeProvider.js +77 -54
  331. package/cjs/core/ThemeProvider/index.js +9 -4
  332. package/cjs/core/Tile/Tile.d.ts +14 -14
  333. package/cjs/core/Tile/Tile.js +334 -234
  334. package/cjs/core/Tile/index.js +9 -4
  335. package/cjs/core/TimePicker/TimePicker.d.ts +3 -3
  336. package/cjs/core/TimePicker/TimePicker.js +458 -259
  337. package/cjs/core/TimePicker/index.js +9 -4
  338. package/cjs/core/Toast/Toast.d.ts +5 -5
  339. package/cjs/core/Toast/Toast.js +192 -132
  340. package/cjs/core/Toast/Toaster.d.ts +5 -5
  341. package/cjs/core/Toast/Toaster.js +103 -100
  342. package/cjs/core/Toast/index.js +9 -4
  343. package/cjs/core/ToggleSwitch/ToggleSwitch.d.ts +1 -6
  344. package/cjs/core/ToggleSwitch/ToggleSwitch.js +66 -53
  345. package/cjs/core/ToggleSwitch/index.js +9 -4
  346. package/cjs/core/Tooltip/Tooltip.d.ts +2 -2
  347. package/cjs/core/Tooltip/Tooltip.js +146 -121
  348. package/cjs/core/Tooltip/index.js +9 -4
  349. package/cjs/core/TransferList/TransferList.d.ts +6 -6
  350. package/cjs/core/TransferList/TransferList.js +184 -103
  351. package/cjs/core/TransferList/index.js +9 -4
  352. package/cjs/core/Tree/Tree.d.ts +5 -5
  353. package/cjs/core/Tree/Tree.js +205 -157
  354. package/cjs/core/Tree/TreeContext.d.ts +1 -1
  355. package/cjs/core/Tree/TreeContext.js +9 -31
  356. package/cjs/core/Tree/TreeNode.d.ts +2 -2
  357. package/cjs/core/Tree/TreeNode.js +207 -129
  358. package/cjs/core/Tree/TreeNodeExpander.d.ts +1 -1
  359. package/cjs/core/Tree/TreeNodeExpander.js +26 -37
  360. package/cjs/core/Tree/index.js +23 -8
  361. package/cjs/core/Typography/Anchor/Anchor.js +3 -3
  362. package/cjs/core/Typography/Anchor/index.js +9 -4
  363. package/cjs/core/Typography/Blockquote/Blockquote.d.ts +1 -1
  364. package/cjs/core/Typography/Blockquote/Blockquote.js +18 -35
  365. package/cjs/core/Typography/Blockquote/index.js +9 -4
  366. package/cjs/core/Typography/Code/Code.js +3 -3
  367. package/cjs/core/Typography/Code/index.js +9 -4
  368. package/cjs/core/Typography/Kbd/Kbd.d.ts +1 -1
  369. package/cjs/core/Typography/Kbd/Kbd.js +30 -46
  370. package/cjs/core/Typography/Kbd/index.js +15 -5
  371. package/cjs/core/Typography/Text/Text.d.ts +1 -1
  372. package/cjs/core/Typography/Text/Text.js +26 -38
  373. package/cjs/core/Typography/Text/index.js +9 -4
  374. package/cjs/core/Typography/index.js +50 -14
  375. package/cjs/core/index.d.ts +1 -0
  376. package/cjs/core/index.js +889 -179
  377. package/cjs/core/utils/color/ColorValue.d.ts +4 -4
  378. package/cjs/core/utils/color/ColorValue.js +535 -453
  379. package/cjs/core/utils/color/index.js +4 -17
  380. package/cjs/core/utils/components/AutoclearingHiddenLiveRegion.d.ts +2 -2
  381. package/cjs/core/utils/components/AutoclearingHiddenLiveRegion.js +20 -35
  382. package/cjs/core/utils/components/Box.js +3 -3
  383. package/cjs/core/utils/components/Divider.d.ts +1 -1
  384. package/cjs/core/utils/components/Divider.js +14 -33
  385. package/cjs/core/utils/components/Flex.d.ts +4 -4
  386. package/cjs/core/utils/components/Flex.js +93 -102
  387. package/cjs/core/utils/components/FocusTrap.d.ts +3 -3
  388. package/cjs/core/utils/components/FocusTrap.js +47 -60
  389. package/cjs/core/utils/components/Icon.d.ts +1 -1
  390. package/cjs/core/utils/components/Icon.js +25 -43
  391. package/cjs/core/utils/components/InputContainer.d.ts +2 -2
  392. package/cjs/core/utils/components/InputContainer.js +75 -46
  393. package/cjs/core/utils/components/InputFlexContainer.d.ts +1 -1
  394. package/cjs/core/utils/components/InputFlexContainer.js +22 -10
  395. package/cjs/core/utils/components/LinkAction.js +3 -3
  396. package/cjs/core/utils/components/MiddleTextTruncation.d.ts +2 -2
  397. package/cjs/core/utils/components/MiddleTextTruncation.js +32 -44
  398. package/cjs/core/utils/components/Popover.d.ts +3 -3
  399. package/cjs/core/utils/components/Popover.js +111 -135
  400. package/cjs/core/utils/components/Resizer.d.ts +2 -2
  401. package/cjs/core/utils/components/Resizer.js +254 -211
  402. package/cjs/core/utils/components/VirtualScroll.d.ts +2 -2
  403. package/cjs/core/utils/components/VirtualScroll.js +304 -245
  404. package/cjs/core/utils/components/VisuallyHidden.d.ts +1 -1
  405. package/cjs/core/utils/components/VisuallyHidden.js +14 -33
  406. package/cjs/core/utils/components/WithCSSTransition.d.ts +2 -2
  407. package/cjs/core/utils/components/WithCSSTransition.js +43 -48
  408. package/cjs/core/utils/components/index.js +18 -31
  409. package/cjs/core/utils/functions/colors.js +36 -33
  410. package/cjs/core/utils/functions/date.js +10 -10
  411. package/cjs/core/utils/functions/dom.js +24 -17
  412. package/cjs/core/utils/functions/focusable.js +26 -17
  413. package/cjs/core/utils/functions/import.d.ts +6 -0
  414. package/cjs/core/utils/functions/import.js +61 -0
  415. package/cjs/core/utils/functions/index.d.ts +1 -0
  416. package/cjs/core/utils/functions/index.js +11 -23
  417. package/cjs/core/utils/functions/numbers.js +9 -9
  418. package/cjs/core/utils/functions/polymorphic.d.ts +5 -3
  419. package/cjs/core/utils/functions/polymorphic.js +43 -55
  420. package/cjs/core/utils/functions/supports.js +5 -4
  421. package/cjs/core/utils/hooks/index.js +16 -29
  422. package/cjs/core/utils/hooks/useContainerWidth.js +26 -41
  423. package/cjs/core/utils/hooks/useDragAndDrop.js +110 -109
  424. package/cjs/core/utils/hooks/useEventListener.js +22 -44
  425. package/cjs/core/utils/hooks/useGlobals.js +34 -51
  426. package/cjs/core/utils/hooks/useId.js +9 -30
  427. package/cjs/core/utils/hooks/useIntersection.js +30 -46
  428. package/cjs/core/utils/hooks/useIsClient.js +9 -31
  429. package/cjs/core/utils/hooks/useIsomorphicLayoutEffect.js +6 -27
  430. package/cjs/core/utils/hooks/useLatestRef.js +9 -31
  431. package/cjs/core/utils/hooks/useMediaQuery.js +31 -53
  432. package/cjs/core/utils/hooks/useMergedRefs.js +15 -38
  433. package/cjs/core/utils/hooks/useOverflow.js +69 -78
  434. package/cjs/core/utils/hooks/useResizeObserver.js +22 -39
  435. package/cjs/core/utils/hooks/useSafeContext.js +9 -31
  436. package/cjs/core/utils/icons/StatusIconMap.d.ts +5 -5
  437. package/cjs/core/utils/icons/StatusIconMap.js +28 -34
  438. package/cjs/core/utils/icons/Svg.js +3 -3
  439. package/cjs/core/utils/icons/SvgCalendar.d.ts +1 -1
  440. package/cjs/core/utils/icons/SvgCalendar.js +12 -29
  441. package/cjs/core/utils/icons/SvgCaretDownSmall.d.ts +1 -1
  442. package/cjs/core/utils/icons/SvgCaretDownSmall.js +12 -29
  443. package/cjs/core/utils/icons/SvgCaretRightSmall.d.ts +1 -1
  444. package/cjs/core/utils/icons/SvgCaretRightSmall.js +12 -29
  445. package/cjs/core/utils/icons/SvgCaretUpSmall.d.ts +1 -1
  446. package/cjs/core/utils/icons/SvgCaretUpSmall.js +12 -29
  447. package/cjs/core/utils/icons/SvgCheckmark.d.ts +1 -1
  448. package/cjs/core/utils/icons/SvgCheckmark.js +10 -29
  449. package/cjs/core/utils/icons/SvgCheckmarkSmall.d.ts +1 -1
  450. package/cjs/core/utils/icons/SvgCheckmarkSmall.js +12 -29
  451. package/cjs/core/utils/icons/SvgChevronLeft.d.ts +1 -1
  452. package/cjs/core/utils/icons/SvgChevronLeft.js +12 -29
  453. package/cjs/core/utils/icons/SvgChevronLeftDouble.d.ts +1 -1
  454. package/cjs/core/utils/icons/SvgChevronLeftDouble.js +12 -29
  455. package/cjs/core/utils/icons/SvgChevronRight.d.ts +1 -1
  456. package/cjs/core/utils/icons/SvgChevronRight.js +12 -29
  457. package/cjs/core/utils/icons/SvgChevronRightDouble.d.ts +1 -1
  458. package/cjs/core/utils/icons/SvgChevronRightDouble.js +12 -29
  459. package/cjs/core/utils/icons/SvgClose.d.ts +1 -1
  460. package/cjs/core/utils/icons/SvgClose.js +12 -29
  461. package/cjs/core/utils/icons/SvgCloseSmall.d.ts +1 -1
  462. package/cjs/core/utils/icons/SvgCloseSmall.js +12 -29
  463. package/cjs/core/utils/icons/SvgColumnManager.d.ts +1 -1
  464. package/cjs/core/utils/icons/SvgColumnManager.js +12 -29
  465. package/cjs/core/utils/icons/SvgDocument.d.ts +1 -1
  466. package/cjs/core/utils/icons/SvgDocument.js +10 -29
  467. package/cjs/core/utils/icons/SvgFilter.d.ts +1 -1
  468. package/cjs/core/utils/icons/SvgFilter.js +10 -29
  469. package/cjs/core/utils/icons/SvgFilterHollow.d.ts +1 -1
  470. package/cjs/core/utils/icons/SvgFilterHollow.js +12 -29
  471. package/cjs/core/utils/icons/SvgImportantSmall.d.ts +1 -1
  472. package/cjs/core/utils/icons/SvgImportantSmall.js +12 -29
  473. package/cjs/core/utils/icons/SvgInfoCircular.d.ts +1 -1
  474. package/cjs/core/utils/icons/SvgInfoCircular.js +12 -29
  475. package/cjs/core/utils/icons/SvgMore.d.ts +1 -1
  476. package/cjs/core/utils/icons/SvgMore.js +12 -29
  477. package/cjs/core/utils/icons/SvgMoreVertical.d.ts +1 -1
  478. package/cjs/core/utils/icons/SvgMoreVertical.js +12 -29
  479. package/cjs/core/utils/icons/SvgNew.d.ts +1 -1
  480. package/cjs/core/utils/icons/SvgNew.js +12 -29
  481. package/cjs/core/utils/icons/SvgSearch.d.ts +1 -1
  482. package/cjs/core/utils/icons/SvgSearch.js +12 -29
  483. package/cjs/core/utils/icons/SvgSmileyHappy.d.ts +1 -1
  484. package/cjs/core/utils/icons/SvgSmileyHappy.js +12 -29
  485. package/cjs/core/utils/icons/SvgSortDown.d.ts +1 -1
  486. package/cjs/core/utils/icons/SvgSortDown.js +12 -29
  487. package/cjs/core/utils/icons/SvgSortUp.d.ts +1 -1
  488. package/cjs/core/utils/icons/SvgSortUp.js +12 -29
  489. package/cjs/core/utils/icons/SvgStatusError.d.ts +1 -1
  490. package/cjs/core/utils/icons/SvgStatusError.js +12 -29
  491. package/cjs/core/utils/icons/SvgStatusSuccess.d.ts +1 -1
  492. package/cjs/core/utils/icons/SvgStatusSuccess.js +12 -29
  493. package/cjs/core/utils/icons/SvgStatusWarning.d.ts +1 -1
  494. package/cjs/core/utils/icons/SvgStatusWarning.js +12 -29
  495. package/cjs/core/utils/icons/SvgSwap.d.ts +1 -1
  496. package/cjs/core/utils/icons/SvgSwap.js +12 -29
  497. package/cjs/core/utils/icons/SvgUpload.d.ts +1 -1
  498. package/cjs/core/utils/icons/SvgUpload.js +12 -29
  499. package/cjs/core/utils/icons/index.js +34 -47
  500. package/cjs/core/utils/index.js +10 -23
  501. package/cjs/core/utils/props.d.ts +2 -2
  502. package/cjs/core/utils/props.js +2 -2
  503. package/cjs/core/utils/types.d.ts +1 -1
  504. package/cjs/core/utils/types.js +2 -2
  505. package/cjs/index.js +5 -18
  506. package/cjs/package.json +1 -0
  507. package/cjs/styles.js +452 -441
  508. package/cjs/types/react-table-config.js +2 -2
  509. package/esm/core/Alert/Alert.d.ts +5 -5
  510. package/esm/core/Alert/Alert.js +73 -28
  511. package/esm/core/Avatar/Avatar.d.ts +3 -3
  512. package/esm/core/Avatar/Avatar.js +48 -13
  513. package/esm/core/AvatarGroup/AvatarGroup.d.ts +1 -1
  514. package/esm/core/AvatarGroup/AvatarGroup.js +63 -22
  515. package/esm/core/Backdrop/Backdrop.d.ts +1 -1
  516. package/esm/core/Backdrop/Backdrop.js +10 -2
  517. package/esm/core/Badge/Badge.d.ts +1 -1
  518. package/esm/core/Badge/Badge.js +31 -16
  519. package/esm/core/Breadcrumbs/Breadcrumbs.d.ts +16 -24
  520. package/esm/core/Breadcrumbs/Breadcrumbs.js +128 -31
  521. package/esm/core/ButtonGroup/ButtonGroup.d.ts +1 -1
  522. package/esm/core/ButtonGroup/ButtonGroup.js +59 -22
  523. package/esm/core/Buttons/Button/Button.d.ts +1 -1
  524. package/esm/core/Buttons/Button/Button.js +37 -5
  525. package/esm/core/Buttons/DropdownButton/DropdownButton.d.ts +2 -2
  526. package/esm/core/Buttons/DropdownButton/DropdownButton.js +54 -19
  527. package/esm/core/Buttons/IconButton/IconButton.d.ts +1 -1
  528. package/esm/core/Buttons/IconButton/IconButton.js +51 -7
  529. package/esm/core/Buttons/IdeasButton/IdeasButton.d.ts +1 -1
  530. package/esm/core/Buttons/IdeasButton/IdeasButton.js +12 -2
  531. package/esm/core/Buttons/SplitButton/SplitButton.d.ts +1 -1
  532. package/esm/core/Buttons/SplitButton/SplitButton.js +59 -15
  533. package/esm/core/Carousel/Carousel.d.ts +3 -3
  534. package/esm/core/Carousel/Carousel.js +97 -70
  535. package/esm/core/Carousel/CarouselDot.d.ts +1 -1
  536. package/esm/core/Carousel/CarouselDot.js +19 -6
  537. package/esm/core/Carousel/CarouselDotsList.d.ts +1 -1
  538. package/esm/core/Carousel/CarouselDotsList.js +123 -63
  539. package/esm/core/Carousel/CarouselNavigation.d.ts +2 -2
  540. package/esm/core/Carousel/CarouselNavigation.js +85 -32
  541. package/esm/core/Carousel/CarouselSlide.d.ts +1 -1
  542. package/esm/core/Carousel/CarouselSlide.js +29 -14
  543. package/esm/core/Carousel/CarouselSlider.js +65 -40
  544. package/esm/core/Checkbox/Checkbox.d.ts +9 -5
  545. package/esm/core/Checkbox/Checkbox.js +78 -28
  546. package/esm/core/ColorPicker/ColorBuilder.js +277 -166
  547. package/esm/core/ColorPicker/ColorInputPanel.d.ts +1 -1
  548. package/esm/core/ColorPicker/ColorInputPanel.js +437 -248
  549. package/esm/core/ColorPicker/ColorPalette.d.ts +1 -1
  550. package/esm/core/ColorPicker/ColorPalette.js +115 -80
  551. package/esm/core/ColorPicker/ColorPicker.d.ts +1 -6
  552. package/esm/core/ColorPicker/ColorPicker.js +75 -54
  553. package/esm/core/ColorPicker/ColorPickerContext.js +7 -5
  554. package/esm/core/ColorPicker/ColorSwatch.d.ts +1 -1
  555. package/esm/core/ColorPicker/ColorSwatch.js +19 -7
  556. package/esm/core/ComboBox/ComboBox.d.ts +6 -6
  557. package/esm/core/ComboBox/ComboBox.js +385 -256
  558. package/esm/core/ComboBox/ComboBoxDropdown.d.ts +1 -1
  559. package/esm/core/ComboBox/ComboBoxDropdown.js +32 -15
  560. package/esm/core/ComboBox/ComboBoxEndIcon.d.ts +1 -1
  561. package/esm/core/ComboBox/ComboBoxEndIcon.js +39 -12
  562. package/esm/core/ComboBox/ComboBoxInput.d.ts +2 -2
  563. package/esm/core/ComboBox/ComboBoxInput.js +197 -124
  564. package/esm/core/ComboBox/ComboBoxInputContainer.d.ts +1 -1
  565. package/esm/core/ComboBox/ComboBoxInputContainer.js +20 -5
  566. package/esm/core/ComboBox/ComboBoxMenu.d.ts +1 -1
  567. package/esm/core/ComboBox/ComboBoxMenu.js +94 -38
  568. package/esm/core/ComboBox/ComboBoxMenuItem.d.ts +1 -1
  569. package/esm/core/ComboBox/ComboBoxMenuItem.js +59 -13
  570. package/esm/core/ComboBox/ComboBoxMultipleContainer.d.ts +1 -1
  571. package/esm/core/ComboBox/ComboBoxMultipleContainer.js +6 -2
  572. package/esm/core/ComboBox/helpers.d.ts +2 -2
  573. package/esm/core/ComboBox/helpers.js +38 -38
  574. package/esm/core/DatePicker/DatePicker.d.ts +2 -2
  575. package/esm/core/DatePicker/DatePicker.js +519 -325
  576. package/esm/core/Dialog/Dialog.d.ts +1 -1
  577. package/esm/core/Dialog/Dialog.js +65 -31
  578. package/esm/core/Dialog/DialogBackdrop.d.ts +1 -1
  579. package/esm/core/Dialog/DialogBackdrop.js +39 -19
  580. package/esm/core/Dialog/DialogContent.d.ts +2 -1
  581. package/esm/core/Dialog/DialogContent.js +25 -2
  582. package/esm/core/Dialog/DialogContext.d.ts +1 -1
  583. package/esm/core/Dialog/DialogContext.js +1 -1
  584. package/esm/core/Dialog/DialogDragContext.d.ts +1 -1
  585. package/esm/core/Dialog/DialogDragContext.js +4 -4
  586. package/esm/core/Dialog/DialogMain.d.ts +1 -1
  587. package/esm/core/Dialog/DialogMain.js +177 -108
  588. package/esm/core/Dialog/DialogTitleBar.d.ts +1 -1
  589. package/esm/core/Dialog/DialogTitleBar.js +45 -10
  590. package/esm/core/DropdownMenu/DropdownMenu.d.ts +4 -4
  591. package/esm/core/DropdownMenu/DropdownMenu.js +66 -22
  592. package/esm/core/ExpandableBlock/ExpandableBlock.d.ts +77 -21
  593. package/esm/core/ExpandableBlock/ExpandableBlock.js +225 -46
  594. package/esm/core/Fieldset/Fieldset.d.ts +1 -1
  595. package/esm/core/Fieldset/Fieldset.js +19 -8
  596. package/esm/core/FileUpload/FileEmptyCard.js +19 -8
  597. package/esm/core/FileUpload/FileUpload.d.ts +1 -1
  598. package/esm/core/FileUpload/FileUpload.js +49 -36
  599. package/esm/core/FileUpload/FileUploadCard.d.ts +1 -1
  600. package/esm/core/FileUpload/FileUploadCard.js +154 -76
  601. package/esm/core/FileUpload/FileUploadTemplate.d.ts +1 -1
  602. package/esm/core/FileUpload/FileUploadTemplate.js +37 -9
  603. package/esm/core/Footer/Footer.d.ts +4 -4
  604. package/esm/core/Footer/Footer.js +86 -55
  605. package/esm/core/Footer/FooterSeparator.js +1 -1
  606. package/esm/core/Header/Header.d.ts +2 -2
  607. package/esm/core/Header/Header.js +55 -14
  608. package/esm/core/Header/HeaderBasicButton.js +28 -7
  609. package/esm/core/Header/HeaderBreadcrumbs.d.ts +1 -1
  610. package/esm/core/Header/HeaderBreadcrumbs.js +32 -8
  611. package/esm/core/Header/HeaderButton.d.ts +5 -1
  612. package/esm/core/Header/HeaderButton.js +62 -13
  613. package/esm/core/Header/HeaderDropdownButton.js +43 -13
  614. package/esm/core/Header/HeaderLogo.d.ts +1 -1
  615. package/esm/core/Header/HeaderLogo.js +36 -5
  616. package/esm/core/Header/HeaderSplitButton.js +57 -13
  617. package/esm/core/InformationPanel/InformationPanel.d.ts +1 -1
  618. package/esm/core/InformationPanel/InformationPanel.js +71 -36
  619. package/esm/core/InformationPanel/InformationPanelContent.d.ts +1 -1
  620. package/esm/core/InformationPanel/InformationPanelContent.js +17 -3
  621. package/esm/core/InformationPanel/InformationPanelHeader.d.ts +1 -1
  622. package/esm/core/InformationPanel/InformationPanelHeader.js +32 -8
  623. package/esm/core/InformationPanel/InformationPanelWrapper.js +3 -1
  624. package/esm/core/Input/Input.d.ts +6 -6
  625. package/esm/core/Input/Input.js +11 -9
  626. package/esm/core/InputGroup/InputGroup.d.ts +1 -1
  627. package/esm/core/InputGroup/InputGroup.js +37 -14
  628. package/esm/core/Label/Label.d.ts +1 -1
  629. package/esm/core/Label/Label.js +24 -5
  630. package/esm/core/LabeledInput/LabeledInput.d.ts +1 -1
  631. package/esm/core/LabeledInput/LabeledInput.js +43 -5
  632. package/esm/core/LabeledSelect/LabeledSelect.d.ts +1 -1
  633. package/esm/core/LabeledSelect/LabeledSelect.js +50 -16
  634. package/esm/core/LabeledTextarea/LabeledTextarea.d.ts +2 -3
  635. package/esm/core/LabeledTextarea/LabeledTextarea.js +43 -5
  636. package/esm/core/List/ListItem.d.ts +4 -4
  637. package/esm/core/List/ListItem.js +46 -28
  638. package/esm/core/Menu/Menu.d.ts +1 -1
  639. package/esm/core/Menu/Menu.js +58 -47
  640. package/esm/core/Menu/MenuDivider.js +1 -1
  641. package/esm/core/Menu/MenuExtraContent.js +1 -1
  642. package/esm/core/Menu/MenuItem.d.ts +1 -1
  643. package/esm/core/Menu/MenuItem.js +131 -57
  644. package/esm/core/Menu/MenuItemSkeleton.d.ts +1 -1
  645. package/esm/core/Menu/MenuItemSkeleton.js +44 -12
  646. package/esm/core/Modal/Modal.d.ts +1 -1
  647. package/esm/core/Modal/Modal.js +33 -6
  648. package/esm/core/NonIdealState/ErrorPage.d.ts +6 -7
  649. package/esm/core/NonIdealState/ErrorPage.js +177 -117
  650. package/esm/core/NonIdealState/NonIdealState.d.ts +17 -1
  651. package/esm/core/NonIdealState/NonIdealState.js +65 -6
  652. package/esm/core/NotificationMarker/NotificationMarker.d.ts +1 -1
  653. package/esm/core/NotificationMarker/NotificationMarker.js +20 -2
  654. package/esm/core/Overlay/Overlay.d.ts +57 -0
  655. package/esm/core/Overlay/Overlay.js +88 -0
  656. package/esm/core/Overlay/index.d.ts +1 -0
  657. package/esm/core/{ProgressIndicators/ProgressLinear → Overlay}/index.js +1 -2
  658. package/esm/core/ProgressIndicators/{ProgressLinear/ProgressLinear.d.ts → ProgressLinear.d.ts} +6 -6
  659. package/esm/core/ProgressIndicators/{ProgressLinear/ProgressLinear.js → ProgressLinear.js} +33 -12
  660. package/esm/core/ProgressIndicators/{ProgressRadial/ProgressRadial.d.ts → ProgressRadial.d.ts} +2 -2
  661. package/esm/core/ProgressIndicators/ProgressRadial.js +64 -0
  662. package/esm/core/ProgressIndicators/index.d.ts +2 -2
  663. package/esm/core/ProgressIndicators/index.js +2 -2
  664. package/esm/core/Radio/Radio.d.ts +7 -4
  665. package/esm/core/Radio/Radio.js +45 -11
  666. package/esm/core/RadioTiles/RadioTile.d.ts +15 -4
  667. package/esm/core/RadioTiles/RadioTile.js +62 -14
  668. package/esm/core/RadioTiles/RadioTileGroup.d.ts +1 -1
  669. package/esm/core/RadioTiles/RadioTileGroup.js +10 -3
  670. package/esm/core/SearchBox/SearchBox.d.ts +3 -3
  671. package/esm/core/SearchBox/SearchBox.js +215 -97
  672. package/esm/core/Select/Select.d.ts +5 -10
  673. package/esm/core/Select/Select.js +283 -148
  674. package/esm/core/Select/SelectTag.d.ts +1 -1
  675. package/esm/core/Select/SelectTag.js +15 -3
  676. package/esm/core/Select/SelectTagContainer.d.ts +1 -1
  677. package/esm/core/Select/SelectTagContainer.js +20 -7
  678. package/esm/core/SideNavigation/SideNavigation.d.ts +1 -1
  679. package/esm/core/SideNavigation/SideNavigation.js +94 -21
  680. package/esm/core/SideNavigation/SidenavButton.d.ts +1 -1
  681. package/esm/core/SideNavigation/SidenavButton.js +24 -2
  682. package/esm/core/SideNavigation/SidenavSubmenu.js +14 -3
  683. package/esm/core/SideNavigation/SidenavSubmenuHeader.d.ts +1 -1
  684. package/esm/core/SideNavigation/SidenavSubmenuHeader.js +20 -4
  685. package/esm/core/SkipToContentLink/SkipToContentLink.d.ts +1 -1
  686. package/esm/core/SkipToContentLink/SkipToContentLink.js +11 -2
  687. package/esm/core/Slider/Slider.d.ts +4 -9
  688. package/esm/core/Slider/Slider.js +319 -194
  689. package/esm/core/Slider/Thumb.d.ts +2 -2
  690. package/esm/core/Slider/Thumb.js +100 -52
  691. package/esm/core/Slider/Track.d.ts +3 -3
  692. package/esm/core/Slider/Track.js +67 -49
  693. package/esm/core/StatusMessage/StatusMessage.d.ts +2 -2
  694. package/esm/core/StatusMessage/StatusMessage.js +18 -5
  695. package/esm/core/Stepper/Stepper.d.ts +3 -3
  696. package/esm/core/Stepper/Stepper.js +45 -8
  697. package/esm/core/Stepper/StepperStep.d.ts +1 -1
  698. package/esm/core/Stepper/StepperStep.js +73 -31
  699. package/esm/core/Stepper/WorkflowDiagram.d.ts +1 -1
  700. package/esm/core/Stepper/WorkflowDiagram.js +19 -5
  701. package/esm/core/Stepper/WorkflowDiagramStep.d.ts +3 -3
  702. package/esm/core/Stepper/WorkflowDiagramStep.js +18 -4
  703. package/esm/core/Surface/Surface.d.ts +2 -2
  704. package/esm/core/Surface/Surface.js +68 -39
  705. package/esm/core/Table/SubRowExpander.d.ts +2 -2
  706. package/esm/core/Table/SubRowExpander.js +29 -9
  707. package/esm/core/Table/Table.d.ts +18 -2
  708. package/esm/core/Table/Table.js +765 -411
  709. package/esm/core/Table/TableCell.d.ts +2 -2
  710. package/esm/core/Table/TableCell.js +87 -53
  711. package/esm/core/Table/TablePaginator.d.ts +3 -3
  712. package/esm/core/Table/TablePaginator.js +307 -125
  713. package/esm/core/Table/TableRowMemoized.d.ts +4 -4
  714. package/esm/core/Table/TableRowMemoized.js +129 -58
  715. package/esm/core/Table/actionHandlers/expandHandler.js +10 -10
  716. package/esm/core/Table/actionHandlers/filterHandler.js +23 -15
  717. package/esm/core/Table/actionHandlers/index.js +5 -1
  718. package/esm/core/Table/actionHandlers/resizeHandler.js +11 -11
  719. package/esm/core/Table/actionHandlers/selectHandler.js +117 -93
  720. package/esm/core/Table/cells/DefaultCell.d.ts +2 -2
  721. package/esm/core/Table/cells/DefaultCell.js +42 -7
  722. package/esm/core/Table/cells/EditableCell.d.ts +2 -2
  723. package/esm/core/Table/cells/EditableCell.js +70 -41
  724. package/esm/core/Table/columns/actionColumn.d.ts +3 -3
  725. package/esm/core/Table/columns/actionColumn.js +90 -58
  726. package/esm/core/Table/columns/expanderColumn.d.ts +2 -2
  727. package/esm/core/Table/columns/expanderColumn.js +38 -25
  728. package/esm/core/Table/columns/selectionColumn.d.ts +4 -4
  729. package/esm/core/Table/columns/selectionColumn.js +51 -23
  730. package/esm/core/Table/filters/BaseFilter.d.ts +2 -2
  731. package/esm/core/Table/filters/BaseFilter.js +15 -7
  732. package/esm/core/Table/filters/DateRangeFilter/DatePickerInput.d.ts +3 -2
  733. package/esm/core/Table/filters/DateRangeFilter/DatePickerInput.js +84 -42
  734. package/esm/core/Table/filters/DateRangeFilter/DateRangeFilter.d.ts +4 -4
  735. package/esm/core/Table/filters/DateRangeFilter/DateRangeFilter.js +108 -46
  736. package/esm/core/Table/filters/FilterButtonBar.d.ts +3 -3
  737. package/esm/core/Table/filters/FilterButtonBar.js +28 -9
  738. package/esm/core/Table/filters/FilterToggle.d.ts +3 -3
  739. package/esm/core/Table/filters/FilterToggle.js +55 -20
  740. package/esm/core/Table/filters/NumberRangeFilter/NumberRangeFilter.d.ts +4 -4
  741. package/esm/core/Table/filters/NumberRangeFilter/NumberRangeFilter.js +50 -22
  742. package/esm/core/Table/filters/TextFilter/TextFilter.d.ts +3 -3
  743. package/esm/core/Table/filters/TextFilter/TextFilter.js +32 -14
  744. package/esm/core/Table/filters/customFilterFunctions.js +14 -12
  745. package/esm/core/Table/filters/defaultFilterFunctions.js +84 -79
  746. package/esm/core/Table/filters/tableFilters.d.ts +5 -5
  747. package/esm/core/Table/filters/tableFilters.js +34 -25
  748. package/esm/core/Table/filters/types.d.ts +1 -1
  749. package/esm/core/Table/hooks/useColumnDragAndDrop.js +88 -81
  750. package/esm/core/Table/hooks/useExpanderCell.d.ts +1 -1
  751. package/esm/core/Table/hooks/useExpanderCell.js +26 -20
  752. package/esm/core/Table/hooks/useResizeColumns.js +353 -287
  753. package/esm/core/Table/hooks/useScrollToRow.d.ts +2 -2
  754. package/esm/core/Table/hooks/useScrollToRow.js +42 -34
  755. package/esm/core/Table/hooks/useSelectionCell.js +10 -6
  756. package/esm/core/Table/hooks/useStickyColumns.js +61 -59
  757. package/esm/core/Table/hooks/useSubRowFiltering.js +90 -83
  758. package/esm/core/Table/hooks/useSubRowSelection.js +28 -27
  759. package/esm/core/Table/index.js +5 -1
  760. package/esm/core/Table/utils.js +40 -38
  761. package/esm/core/Tabs/Tab.d.ts +2 -2
  762. package/esm/core/Tabs/Tab.js +41 -7
  763. package/esm/core/Tabs/Tabs.d.ts +6 -6
  764. package/esm/core/Tabs/Tabs.js +391 -303
  765. package/esm/core/Tag/Tag.d.ts +1 -1
  766. package/esm/core/Tag/Tag.js +35 -8
  767. package/esm/core/Tag/TagContainer.d.ts +1 -1
  768. package/esm/core/Tag/TagContainer.js +17 -5
  769. package/esm/core/Textarea/Textarea.d.ts +2 -9
  770. package/esm/core/Textarea/Textarea.js +11 -10
  771. package/esm/core/ThemeProvider/ThemeProvider.d.ts +4 -4
  772. package/esm/core/ThemeProvider/ThemeProvider.js +65 -21
  773. package/esm/core/Tile/Tile.d.ts +14 -14
  774. package/esm/core/Tile/Tile.js +312 -198
  775. package/esm/core/TimePicker/TimePicker.d.ts +3 -3
  776. package/esm/core/TimePicker/TimePicker.js +448 -228
  777. package/esm/core/Toast/Toast.d.ts +5 -5
  778. package/esm/core/Toast/Toast.js +180 -99
  779. package/esm/core/Toast/Toaster.d.ts +5 -5
  780. package/esm/core/Toast/Toaster.js +83 -67
  781. package/esm/core/ToggleSwitch/ToggleSwitch.d.ts +1 -6
  782. package/esm/core/ToggleSwitch/ToggleSwitch.js +60 -22
  783. package/esm/core/Tooltip/Tooltip.d.ts +2 -2
  784. package/esm/core/Tooltip/Tooltip.js +154 -90
  785. package/esm/core/TransferList/TransferList.d.ts +6 -6
  786. package/esm/core/TransferList/TransferList.js +163 -93
  787. package/esm/core/Tree/Tree.d.ts +5 -5
  788. package/esm/core/Tree/Tree.js +197 -125
  789. package/esm/core/Tree/TreeContext.d.ts +1 -1
  790. package/esm/core/Tree/TreeContext.js +5 -5
  791. package/esm/core/Tree/TreeNode.d.ts +2 -2
  792. package/esm/core/Tree/TreeNode.js +195 -96
  793. package/esm/core/Tree/TreeNodeExpander.d.ts +1 -1
  794. package/esm/core/Tree/TreeNodeExpander.js +16 -5
  795. package/esm/core/Typography/Blockquote/Blockquote.d.ts +1 -1
  796. package/esm/core/Typography/Blockquote/Blockquote.js +12 -4
  797. package/esm/core/Typography/Kbd/Kbd.d.ts +1 -1
  798. package/esm/core/Typography/Kbd/Kbd.js +24 -15
  799. package/esm/core/Typography/Text/Text.d.ts +1 -1
  800. package/esm/core/Typography/Text/Text.js +20 -7
  801. package/esm/core/index.d.ts +1 -0
  802. package/esm/core/index.js +78 -10
  803. package/esm/core/utils/color/ColorValue.d.ts +4 -4
  804. package/esm/core/utils/color/ColorValue.js +524 -449
  805. package/esm/core/utils/components/AutoclearingHiddenLiveRegion.d.ts +2 -2
  806. package/esm/core/utils/components/AutoclearingHiddenLiveRegion.js +11 -7
  807. package/esm/core/utils/components/Divider.d.ts +1 -1
  808. package/esm/core/utils/components/Divider.js +8 -2
  809. package/esm/core/utils/components/Flex.d.ts +4 -4
  810. package/esm/core/utils/components/Flex.js +87 -71
  811. package/esm/core/utils/components/FocusTrap.d.ts +3 -3
  812. package/esm/core/utils/components/FocusTrap.js +41 -32
  813. package/esm/core/utils/components/Icon.d.ts +1 -1
  814. package/esm/core/utils/components/Icon.js +19 -12
  815. package/esm/core/utils/components/InputContainer.d.ts +2 -2
  816. package/esm/core/utils/components/InputContainer.js +65 -15
  817. package/esm/core/utils/components/InputFlexContainer.d.ts +1 -1
  818. package/esm/core/utils/components/InputFlexContainer.js +13 -2
  819. package/esm/core/utils/components/MiddleTextTruncation.d.ts +2 -2
  820. package/esm/core/utils/components/MiddleTextTruncation.js +27 -17
  821. package/esm/core/utils/components/Popover.d.ts +3 -3
  822. package/esm/core/utils/components/Popover.js +103 -102
  823. package/esm/core/utils/components/Resizer.d.ts +2 -2
  824. package/esm/core/utils/components/Resizer.js +250 -184
  825. package/esm/core/utils/components/VirtualScroll.d.ts +2 -2
  826. package/esm/core/utils/components/VirtualScroll.js +297 -218
  827. package/esm/core/utils/components/VisuallyHidden.d.ts +1 -1
  828. package/esm/core/utils/components/VisuallyHidden.js +8 -2
  829. package/esm/core/utils/components/WithCSSTransition.d.ts +2 -2
  830. package/esm/core/utils/components/WithCSSTransition.js +38 -21
  831. package/esm/core/utils/functions/colors.js +30 -30
  832. package/esm/core/utils/functions/date.js +8 -8
  833. package/esm/core/utils/functions/dom.js +17 -14
  834. package/esm/core/utils/functions/focusable.js +24 -15
  835. package/esm/core/utils/functions/import.d.ts +6 -0
  836. package/esm/core/utils/functions/import.js +14 -0
  837. package/esm/core/utils/functions/index.d.ts +1 -0
  838. package/esm/core/utils/functions/index.js +1 -0
  839. package/esm/core/utils/functions/numbers.js +7 -7
  840. package/esm/core/utils/functions/polymorphic.d.ts +5 -3
  841. package/esm/core/utils/functions/polymorphic.js +32 -23
  842. package/esm/core/utils/functions/supports.js +2 -1
  843. package/esm/core/utils/hooks/useContainerWidth.js +16 -13
  844. package/esm/core/utils/hooks/useDragAndDrop.js +99 -80
  845. package/esm/core/utils/hooks/useEventListener.js +18 -18
  846. package/esm/core/utils/hooks/useGlobals.js +29 -24
  847. package/esm/core/utils/hooks/useId.js +2 -2
  848. package/esm/core/utils/hooks/useIntersection.js +25 -19
  849. package/esm/core/utils/hooks/useIsClient.js +5 -5
  850. package/esm/core/utils/hooks/useIsomorphicLayoutEffect.js +2 -1
  851. package/esm/core/utils/hooks/useLatestRef.js +5 -5
  852. package/esm/core/utils/hooks/useMediaQuery.js +23 -25
  853. package/esm/core/utils/hooks/useMergedRefs.js +11 -12
  854. package/esm/core/utils/hooks/useOverflow.js +62 -50
  855. package/esm/core/utils/hooks/useResizeObserver.js +17 -12
  856. package/esm/core/utils/hooks/useSafeContext.js +5 -5
  857. package/esm/core/utils/icons/StatusIconMap.d.ts +5 -5
  858. package/esm/core/utils/icons/StatusIconMap.js +8 -4
  859. package/esm/core/utils/icons/SvgCalendar.d.ts +1 -1
  860. package/esm/core/utils/icons/SvgCalendar.js +7 -2
  861. package/esm/core/utils/icons/SvgCaretDownSmall.d.ts +1 -1
  862. package/esm/core/utils/icons/SvgCaretDownSmall.js +7 -2
  863. package/esm/core/utils/icons/SvgCaretRightSmall.d.ts +1 -1
  864. package/esm/core/utils/icons/SvgCaretRightSmall.js +7 -2
  865. package/esm/core/utils/icons/SvgCaretUpSmall.d.ts +1 -1
  866. package/esm/core/utils/icons/SvgCaretUpSmall.js +7 -2
  867. package/esm/core/utils/icons/SvgCheckmark.d.ts +1 -1
  868. package/esm/core/utils/icons/SvgCheckmark.js +5 -2
  869. package/esm/core/utils/icons/SvgCheckmarkSmall.d.ts +1 -1
  870. package/esm/core/utils/icons/SvgCheckmarkSmall.js +7 -2
  871. package/esm/core/utils/icons/SvgChevronLeft.d.ts +1 -1
  872. package/esm/core/utils/icons/SvgChevronLeft.js +7 -2
  873. package/esm/core/utils/icons/SvgChevronLeftDouble.d.ts +1 -1
  874. package/esm/core/utils/icons/SvgChevronLeftDouble.js +7 -2
  875. package/esm/core/utils/icons/SvgChevronRight.d.ts +1 -1
  876. package/esm/core/utils/icons/SvgChevronRight.js +7 -2
  877. package/esm/core/utils/icons/SvgChevronRightDouble.d.ts +1 -1
  878. package/esm/core/utils/icons/SvgChevronRightDouble.js +7 -2
  879. package/esm/core/utils/icons/SvgClose.d.ts +1 -1
  880. package/esm/core/utils/icons/SvgClose.js +7 -2
  881. package/esm/core/utils/icons/SvgCloseSmall.d.ts +1 -1
  882. package/esm/core/utils/icons/SvgCloseSmall.js +7 -2
  883. package/esm/core/utils/icons/SvgColumnManager.d.ts +1 -1
  884. package/esm/core/utils/icons/SvgColumnManager.js +7 -2
  885. package/esm/core/utils/icons/SvgDocument.d.ts +1 -1
  886. package/esm/core/utils/icons/SvgDocument.js +5 -2
  887. package/esm/core/utils/icons/SvgFilter.d.ts +1 -1
  888. package/esm/core/utils/icons/SvgFilter.js +5 -2
  889. package/esm/core/utils/icons/SvgFilterHollow.d.ts +1 -1
  890. package/esm/core/utils/icons/SvgFilterHollow.js +7 -2
  891. package/esm/core/utils/icons/SvgImportantSmall.d.ts +1 -1
  892. package/esm/core/utils/icons/SvgImportantSmall.js +7 -2
  893. package/esm/core/utils/icons/SvgInfoCircular.d.ts +1 -1
  894. package/esm/core/utils/icons/SvgInfoCircular.js +7 -2
  895. package/esm/core/utils/icons/SvgMore.d.ts +1 -1
  896. package/esm/core/utils/icons/SvgMore.js +7 -2
  897. package/esm/core/utils/icons/SvgMoreVertical.d.ts +1 -1
  898. package/esm/core/utils/icons/SvgMoreVertical.js +7 -2
  899. package/esm/core/utils/icons/SvgNew.d.ts +1 -1
  900. package/esm/core/utils/icons/SvgNew.js +7 -2
  901. package/esm/core/utils/icons/SvgSearch.d.ts +1 -1
  902. package/esm/core/utils/icons/SvgSearch.js +7 -2
  903. package/esm/core/utils/icons/SvgSmileyHappy.d.ts +1 -1
  904. package/esm/core/utils/icons/SvgSmileyHappy.js +7 -2
  905. package/esm/core/utils/icons/SvgSortDown.d.ts +1 -1
  906. package/esm/core/utils/icons/SvgSortDown.js +7 -2
  907. package/esm/core/utils/icons/SvgSortUp.d.ts +1 -1
  908. package/esm/core/utils/icons/SvgSortUp.js +7 -2
  909. package/esm/core/utils/icons/SvgStatusError.d.ts +1 -1
  910. package/esm/core/utils/icons/SvgStatusError.js +7 -2
  911. package/esm/core/utils/icons/SvgStatusSuccess.d.ts +1 -1
  912. package/esm/core/utils/icons/SvgStatusSuccess.js +7 -2
  913. package/esm/core/utils/icons/SvgStatusWarning.d.ts +1 -1
  914. package/esm/core/utils/icons/SvgStatusWarning.js +7 -2
  915. package/esm/core/utils/icons/SvgSwap.d.ts +1 -1
  916. package/esm/core/utils/icons/SvgSwap.js +7 -2
  917. package/esm/core/utils/icons/SvgUpload.d.ts +1 -1
  918. package/esm/core/utils/icons/SvgUpload.js +7 -2
  919. package/esm/core/utils/props.d.ts +2 -2
  920. package/esm/core/utils/types.d.ts +1 -1
  921. package/esm/styles.js +452 -443
  922. package/package.json +33 -30
  923. package/styles.css +726 -1594
  924. package/cjs/core/ProgressIndicators/ProgressLinear/ProgressLinear.js +0 -65
  925. package/cjs/core/ProgressIndicators/ProgressLinear/index.d.ts +0 -3
  926. package/cjs/core/ProgressIndicators/ProgressLinear/index.js +0 -10
  927. package/cjs/core/ProgressIndicators/ProgressRadial/ProgressRadial.js +0 -70
  928. package/cjs/core/ProgressIndicators/ProgressRadial/index.d.ts +0 -3
  929. package/cjs/core/ProgressIndicators/ProgressRadial/index.js +0 -10
  930. package/esm/core/ProgressIndicators/ProgressLinear/index.d.ts +0 -3
  931. package/esm/core/ProgressIndicators/ProgressRadial/ProgressRadial.js +0 -41
  932. package/esm/core/ProgressIndicators/ProgressRadial/index.d.ts +0 -3
@@ -1,11 +1,15 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ColorValue = exports.isHsvColor = exports.isHslColor = exports.isRgbColor = void 0;
1
+ 'use strict';
2
+ Object.defineProperty(exports, '__esModule', { value: true });
3
+ exports.ColorValue =
4
+ exports.isHsvColor =
5
+ exports.isHslColor =
6
+ exports.isRgbColor =
7
+ void 0;
4
8
  /*---------------------------------------------------------------------------------------------
5
9
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
6
10
  * See LICENSE.md in the project root for license terms and full copyright notice.
7
11
  *--------------------------------------------------------------------------------------------*/
8
- const numbers_js_1 = require("../functions/numbers.js");
12
+ const numbers_js_1 = require('../functions/numbers.js');
9
13
  // portions adapted from Three.js Copyright © 2010-2017 three.js authors
10
14
  const scratchBytes = new Uint8Array(4);
11
15
  const scratchUInt32 = new Uint32Array(scratchBytes.buffer);
@@ -13,21 +17,27 @@ const scratchUInt32 = new Uint32Array(scratchBytes.buffer);
13
17
  * isRgbValue type guard.
14
18
  */
15
19
  const isRgbColor = (value) => {
16
- return (typeof value !== 'string' && 'r' in value && 'g' in value && 'b' in value);
20
+ return (
21
+ typeof value !== 'string' && 'r' in value && 'g' in value && 'b' in value
22
+ );
17
23
  };
18
24
  exports.isRgbColor = isRgbColor;
19
25
  /**
20
26
  * isHslValue type guard.
21
27
  */
22
28
  const isHslColor = (value) => {
23
- return (typeof value !== 'string' && 'h' in value && 's' in value && 'l' in value);
29
+ return (
30
+ typeof value !== 'string' && 'h' in value && 's' in value && 'l' in value
31
+ );
24
32
  };
25
33
  exports.isHslColor = isHslColor;
26
34
  /**
27
35
  * isHsvValue type guard.
28
36
  */
29
37
  const isHsvColor = (value) => {
30
- return (typeof value !== 'string' && 'h' in value && 's' in value && 'v' in value);
38
+ return (
39
+ typeof value !== 'string' && 'h' in value && 's' in value && 'v' in value
40
+ );
31
41
  };
32
42
  exports.isHsvColor = isHsvColor;
33
43
  /**
@@ -42,475 +52,547 @@ exports.isHsvColor = isHsvColor;
42
52
  * @public
43
53
  */
44
54
  class ColorValue {
45
- constructor(tbgr, hue) {
46
- scratchUInt32[0] = tbgr; // Force to be a 32-bit unsigned integer
47
- this._tbgr = scratchUInt32[0];
48
- this._hue = hue;
55
+ constructor(tbgr, hue) {
56
+ scratchUInt32[0] = tbgr; // Force to be a 32-bit unsigned integer
57
+ this._tbgr = scratchUInt32[0];
58
+ this._hue = hue;
59
+ }
60
+ /**
61
+ * Create a new ColorValue.
62
+ * @param val value to use.
63
+ *
64
+ * If a string, must be in one of the following forms:
65
+ * *"rgb(255,0,0)"*
66
+ * *"rgba(255,0,0,.2)"*
67
+ * *"rgb(100%,0%,0%)"*
68
+ * *"hsl(120,50%,50%)"*
69
+ * *"#rrggbb"*
70
+ */
71
+ static create(val) {
72
+ if (!val) {
73
+ return ColorValue.fromTbgr(0);
49
74
  }
50
- /**
51
- * Create a new ColorValue.
52
- * @param val value to use.
53
- *
54
- * If a string, must be in one of the following forms:
55
- * *"rgb(255,0,0)"*
56
- * *"rgba(255,0,0,.2)"*
57
- * *"rgb(100%,0%,0%)"*
58
- * *"hsl(120,50%,50%)"*
59
- * *"#rrggbb"*
60
- */
61
- static create(val) {
62
- if (!val) {
63
- return ColorValue.fromTbgr(0);
64
- }
65
- if ((0, exports.isRgbColor)(val)) {
66
- return ColorValue.fromRGB(val);
67
- }
68
- if ((0, exports.isHslColor)(val)) {
69
- return ColorValue.fromHSL(val);
70
- }
71
- if ((0, exports.isHsvColor)(val)) {
72
- return ColorValue.fromHSV(val);
73
- }
74
- if (typeof val === 'string') {
75
- return ColorValue.fromString(val, ColorValue.fromTbgr(0));
76
- }
77
- return ColorValue.fromTbgr(0);
75
+ if ((0, exports.isRgbColor)(val)) {
76
+ return ColorValue.fromRGB(val);
78
77
  }
79
- /**
80
- * Convert this ColorValue to an unsigned 32 bit integer representing the 0xTTBBGGRR value
81
- */
82
- toTbgr() {
83
- return this._tbgr;
78
+ if ((0, exports.isHslColor)(val)) {
79
+ return ColorValue.fromHSL(val);
84
80
  }
85
- /**
86
- * Create a ColorValue from its 0xTTBBGGRR representation.
87
- */
88
- static fromTbgr(tbgr) {
89
- return new ColorValue(tbgr);
81
+ if ((0, exports.isHsvColor)(val)) {
82
+ return ColorValue.fromHSV(val);
90
83
  }
91
- /**
92
- * Create a ColorValue from Red, Green, Blue, Transparency values. All inputs should be integers between 0-255.
93
- */
94
- static fromRgbt(red, green, blue, transparency) {
95
- return this.fromTbgr(this.computeTbgrFromComponents(red, green, blue, transparency));
84
+ if (typeof val === 'string') {
85
+ return ColorValue.fromString(val, ColorValue.fromTbgr(0));
96
86
  }
97
- /**
98
- * Compute the 0xTTBBGGRR value corresponding to the specified Red, Green, Blue, Transparency components.
99
- * All inputs should be integers between 0-255.
100
- */
101
- static computeTbgrFromComponents(red, green, blue, transparency) {
102
- scratchBytes[0] = red;
103
- scratchBytes[1] = green;
104
- scratchBytes[2] = blue;
105
- scratchBytes[3] = transparency || 0;
106
- return scratchUInt32[0];
87
+ return ColorValue.fromTbgr(0);
88
+ }
89
+ /**
90
+ * Convert this ColorValue to an unsigned 32 bit integer representing the 0xTTBBGGRR value
91
+ */
92
+ toTbgr() {
93
+ return this._tbgr;
94
+ }
95
+ /**
96
+ * Create a ColorValue from its 0xTTBBGGRR representation.
97
+ */
98
+ static fromTbgr(tbgr) {
99
+ return new ColorValue(tbgr);
100
+ }
101
+ /**
102
+ * Create a ColorValue from Red, Green, Blue, Transparency values. All inputs should be integers between 0-255.
103
+ */
104
+ static fromRgbt(red, green, blue, transparency) {
105
+ return this.fromTbgr(
106
+ this.computeTbgrFromComponents(red, green, blue, transparency),
107
+ );
108
+ }
109
+ /**
110
+ * Compute the 0xTTBBGGRR value corresponding to the specified Red, Green, Blue, Transparency components.
111
+ * All inputs should be integers between 0-255.
112
+ */
113
+ static computeTbgrFromComponents(red, green, blue, transparency) {
114
+ scratchBytes[0] = red;
115
+ scratchBytes[1] = green;
116
+ scratchBytes[2] = blue;
117
+ scratchBytes[3] = transparency || 0;
118
+ return scratchUInt32[0];
119
+ }
120
+ /**
121
+ * Create a ColorValue from a string representation. The following representations are supported:
122
+ * *"rgb(255,0,0)"*
123
+ * *"rgba(255,0,0,.2)"*
124
+ * *"rgb(100%,0%,0%)"*
125
+ * *"hsl(120,50%,50%)"*
126
+ * *"#rrggbb"*
127
+ * NOTE: If defaultColorIfNotParsed is not defined and string is invalid then error is thrown.
128
+ * This allows component builders to know if they received bad input from user.
129
+ */
130
+ static fromString(val, defaultColorIfNotParsed) {
131
+ const [tbgr, hue] = this.computeTbgrFromString(
132
+ val,
133
+ defaultColorIfNotParsed?.toTbgr(),
134
+ );
135
+ return new ColorValue(tbgr, hue);
136
+ }
137
+ /** Create a ColorValue from hue, saturation, lightness values. */
138
+ static fromHSL(hsl) {
139
+ const alpha = hsl.a ?? 1;
140
+ return new ColorValue(
141
+ this.computeTbgrFromHSL(
142
+ hsl.h / 360,
143
+ hsl.s / 100,
144
+ hsl.l / 100,
145
+ Math.round((1 - alpha) * 255),
146
+ ),
147
+ hsl.h,
148
+ );
149
+ }
150
+ /** Create a ColorValue from an RgbColor */
151
+ static fromRGB(rgb) {
152
+ const alpha = rgb.a ?? 1;
153
+ return ColorValue.fromRgbt(
154
+ rgb.r,
155
+ rgb.g,
156
+ rgb.b,
157
+ Math.round((1 - alpha) * 255),
158
+ );
159
+ }
160
+ /**
161
+ * Create a ColorValue from an HsvColor
162
+ */
163
+ static fromHSV(hsv) {
164
+ const alpha = hsv.a ?? 1;
165
+ const transparency = Math.round((1 - alpha) * 255);
166
+ // Check for simple case first.
167
+ if (!hsv.s || hsv.h === -1) {
168
+ // hue must be undefined, have no color only white
169
+ const white = 0xff & Math.floor((255.0 * hsv.v) / 100.0 + 0.5 + 3.0e-14);
170
+ return ColorValue.fromRgbt(white, white, white, 0);
107
171
  }
108
- /**
109
- * Create a ColorValue from a string representation. The following representations are supported:
110
- * *"rgb(255,0,0)"*
111
- * *"rgba(255,0,0,.2)"*
112
- * *"rgb(100%,0%,0%)"*
113
- * *"hsl(120,50%,50%)"*
114
- * *"#rrggbb"*
115
- * NOTE: If defaultColorIfNotParsed is not defined and string is invalid then error is thrown.
116
- * This allows component builders to know if they received bad input from user.
117
- */
118
- static fromString(val, defaultColorIfNotParsed) {
119
- const [tbgr, hue] = this.computeTbgrFromString(val, defaultColorIfNotParsed?.toTbgr());
120
- return new ColorValue(tbgr, hue);
172
+ let dhue = hsv.h,
173
+ dsaturation = hsv.s,
174
+ dvalue = hsv.v;
175
+ if (dhue === 360) {
176
+ dhue = 0.0;
121
177
  }
122
- /** Create a ColorValue from hue, saturation, lightness values. */
123
- static fromHSL(hsl) {
124
- const alpha = hsl.a ?? 1;
125
- return new ColorValue(this.computeTbgrFromHSL(hsl.h / 360, hsl.s / 100, hsl.l / 100, Math.round((1 - alpha) * 255)), hsl.h);
178
+ dhue /= 60; // hue is now [0..6]
179
+ const hueIntpart = Math.floor(dhue); // convert double -> int
180
+ const hueFractpart = dhue - hueIntpart;
181
+ dvalue /= 100;
182
+ dsaturation /= 100;
183
+ const p = 0xff & Math.floor(dvalue * (1.0 - dsaturation) * 255.0 + 0.5);
184
+ const q =
185
+ 0xff &
186
+ Math.floor(dvalue * (1.0 - dsaturation * hueFractpart) * 255.0 + 0.5);
187
+ const t =
188
+ 0xff &
189
+ Math.floor(
190
+ dvalue * (1.0 - dsaturation * (1.0 - hueFractpart)) * 255.0 + 0.5,
191
+ );
192
+ const v = 0xff & Math.floor(dvalue * 255 + 0.5);
193
+ let r = 0,
194
+ b = 0,
195
+ g = 0;
196
+ switch (hueIntpart) {
197
+ case 0:
198
+ r = v;
199
+ g = t;
200
+ b = p;
201
+ break; // reddish
202
+ case 1:
203
+ (r = q), (g = v);
204
+ b = p;
205
+ break; // yellowish
206
+ case 2:
207
+ (r = p), (g = v);
208
+ b = t;
209
+ break; // greenish
210
+ case 3:
211
+ (r = p), (g = q);
212
+ b = v;
213
+ break; // cyanish
214
+ case 4:
215
+ (r = t), (g = p);
216
+ b = v;
217
+ break; // bluish
218
+ case 5:
219
+ (r = v), (g = p);
220
+ b = q;
221
+ break; // magenta-ish
126
222
  }
127
- /** Create a ColorValue from an RgbColor */
128
- static fromRGB(rgb) {
129
- const alpha = rgb.a ?? 1;
130
- return ColorValue.fromRgbt(rgb.r, rgb.g, rgb.b, Math.round((1 - alpha) * 255));
223
+ return new ColorValue(
224
+ ColorValue.computeTbgrFromComponents(r, g, b, transparency),
225
+ hsv.h,
226
+ );
227
+ }
228
+ /**
229
+ * Compute the 0xTTBBGGRR value corresponding to a string representation of a color. The following representations are supported:
230
+ * *"rgb(255,0,0)"*
231
+ * *"rgba(255,0,0,.2)"*
232
+ * *"rgb(100%,0%,0%)"*
233
+ * *"hsl(120,50%,50%)"*
234
+ * *"#rrggbb"*
235
+ */
236
+ static computeTbgrFromString(val, defaultColorIfNotParsed) {
237
+ val = val.toLowerCase();
238
+ let m = /^((?:rgb|hsl)a?)\(([^\)]*)\)/.exec(val);
239
+ if (m) {
240
+ // rgb / hsl
241
+ let color;
242
+ const name = m[1];
243
+ const components = m[2];
244
+ const hasPercent = (str) => str[str.length - 1] === '%';
245
+ const floatOrPercent = (str) => {
246
+ const v = parseFloat(str);
247
+ return (
248
+ 255 *
249
+ (0, numbers_js_1.getBoundedValue)(hasPercent(str) ? v / 100 : v, 0, 1)
250
+ );
251
+ };
252
+ const intOrPercent = (str) => {
253
+ const v = hasPercent(str)
254
+ ? (parseFloat(str) / 100) * 255
255
+ : parseInt(str, 10);
256
+ return (0, numbers_js_1.getBoundedValue)(v, 0, 255);
257
+ };
258
+ switch (name) {
259
+ case 'rgb':
260
+ case 'rgba':
261
+ color =
262
+ /^(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(
263
+ components,
264
+ );
265
+ if (color) {
266
+ // rgb(255,0,0) rgba(255,0,0,0.5)
267
+ return [
268
+ this.computeTbgrFromComponents(
269
+ intOrPercent(color[1]),
270
+ intOrPercent(color[2]),
271
+ intOrPercent(color[3]),
272
+ typeof color[4] === 'string'
273
+ ? 255 - floatOrPercent(color[4])
274
+ : 0,
275
+ ),
276
+ undefined,
277
+ ];
278
+ }
279
+ break;
280
+ case 'hsl':
281
+ case 'hsla':
282
+ color =
283
+ /^(\d*\.?\d+)\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(
284
+ components,
285
+ );
286
+ if (color) {
287
+ // hsl(120,50%,50%) hsla(120,50%,50%,0.5)
288
+ const h = parseFloat(color[1]);
289
+ const s = parseInt(color[2], 10) / 100;
290
+ const l = parseInt(color[3], 10) / 100;
291
+ const t =
292
+ typeof color[4] === 'string' ? 255 - floatOrPercent(color[4]) : 0;
293
+ return [this.computeTbgrFromHSL(h / 360, s, l, t), h];
294
+ }
295
+ break;
296
+ }
297
+ // eslint-disable-next-line no-cond-assign
298
+ } else if ((m = /^\#([A-Fa-f\d]+)$/.exec(val))) {
299
+ // hex color
300
+ const hex = m[1];
301
+ const size = hex.length;
302
+ if (size === 3) {
303
+ // #ff0
304
+ return [
305
+ this.computeTbgrFromComponents(
306
+ parseInt(hex.charAt(0) + hex.charAt(0), 16),
307
+ parseInt(hex.charAt(1) + hex.charAt(1), 16),
308
+ parseInt(hex.charAt(2) + hex.charAt(2), 16),
309
+ 0,
310
+ ),
311
+ undefined,
312
+ ];
313
+ }
314
+ if (size === 6) {
315
+ // #ff0000
316
+ return [
317
+ this.computeTbgrFromComponents(
318
+ parseInt(hex.charAt(0) + hex.charAt(1), 16),
319
+ parseInt(hex.charAt(2) + hex.charAt(3), 16),
320
+ parseInt(hex.charAt(4) + hex.charAt(5), 16),
321
+ 0,
322
+ ),
323
+ undefined,
324
+ ];
325
+ }
326
+ if (size === 8) {
327
+ // #ff0000ff
328
+ return [
329
+ this.computeTbgrFromComponents(
330
+ parseInt(hex.charAt(0) + hex.charAt(1), 16),
331
+ parseInt(hex.charAt(2) + hex.charAt(3), 16),
332
+ parseInt(hex.charAt(4) + hex.charAt(5), 16),
333
+ 255 - parseInt(hex.charAt(6) + hex.charAt(7), 16),
334
+ ),
335
+ undefined,
336
+ ];
337
+ }
131
338
  }
132
- /**
133
- * Create a ColorValue from an HsvColor
134
- */
135
- static fromHSV(hsv) {
136
- const alpha = hsv.a ?? 1;
137
- const transparency = Math.round((1 - alpha) * 255);
138
- // Check for simple case first.
139
- if (!hsv.s || hsv.h === -1) {
140
- // hue must be undefined, have no color only white
141
- const white = 0xff & Math.floor((255.0 * hsv.v) / 100.0 + 0.5 + 3.0e-14);
142
- return ColorValue.fromRgbt(white, white, white, 0);
143
- }
144
- let dhue = hsv.h, dsaturation = hsv.s, dvalue = hsv.v;
145
- if (dhue === 360) {
146
- dhue = 0.0;
147
- }
148
- dhue /= 60; // hue is now [0..6]
149
- const hueIntpart = Math.floor(dhue); // convert double -> int
150
- const hueFractpart = dhue - hueIntpart;
151
- dvalue /= 100;
152
- dsaturation /= 100;
153
- const p = 0xff & Math.floor(dvalue * (1.0 - dsaturation) * 255.0 + 0.5);
154
- const q = 0xff &
155
- Math.floor(dvalue * (1.0 - dsaturation * hueFractpart) * 255.0 + 0.5);
156
- const t = 0xff &
157
- Math.floor(dvalue * (1.0 - dsaturation * (1.0 - hueFractpart)) * 255.0 + 0.5);
158
- const v = 0xff & Math.floor(dvalue * 255 + 0.5);
159
- let r = 0, b = 0, g = 0;
160
- switch (hueIntpart) {
161
- case 0:
162
- r = v;
163
- g = t;
164
- b = p;
165
- break; // reddish
166
- case 1:
167
- (r = q), (g = v);
168
- b = p;
169
- break; // yellowish
170
- case 2:
171
- (r = p), (g = v);
172
- b = t;
173
- break; // greenish
174
- case 3:
175
- (r = p), (g = q);
176
- b = v;
177
- break; // cyanish
178
- case 4:
179
- (r = t), (g = p);
180
- b = v;
181
- break; // bluish
182
- case 5:
183
- (r = v), (g = p);
184
- b = q;
185
- break; // magenta-ish
186
- }
187
- return new ColorValue(ColorValue.computeTbgrFromComponents(r, g, b, transparency), hsv.h);
339
+ if (defaultColorIfNotParsed) {
340
+ return [defaultColorIfNotParsed, undefined];
188
341
  }
189
- /**
190
- * Compute the 0xTTBBGGRR value corresponding to a string representation of a color. The following representations are supported:
191
- * *"rgb(255,0,0)"*
192
- * *"rgba(255,0,0,.2)"*
193
- * *"rgb(100%,0%,0%)"*
194
- * *"hsl(120,50%,50%)"*
195
- * *"#rrggbb"*
196
- */
197
- static computeTbgrFromString(val, defaultColorIfNotParsed) {
198
- val = val.toLowerCase();
199
- let m = /^((?:rgb|hsl)a?)\(([^\)]*)\)/.exec(val);
200
- if (m) {
201
- // rgb / hsl
202
- let color;
203
- const name = m[1];
204
- const components = m[2];
205
- const hasPercent = (str) => str[str.length - 1] === '%';
206
- const floatOrPercent = (str) => {
207
- const v = parseFloat(str);
208
- return 255 * (0, numbers_js_1.getBoundedValue)(hasPercent(str) ? v / 100 : v, 0, 1);
209
- };
210
- const intOrPercent = (str) => {
211
- const v = hasPercent(str)
212
- ? (parseFloat(str) / 100) * 255
213
- : parseInt(str, 10);
214
- return (0, numbers_js_1.getBoundedValue)(v, 0, 255);
215
- };
216
- switch (name) {
217
- case 'rgb':
218
- case 'rgba':
219
- color =
220
- /^(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(components);
221
- if (color) {
222
- // rgb(255,0,0) rgba(255,0,0,0.5)
223
- return [
224
- this.computeTbgrFromComponents(intOrPercent(color[1]), intOrPercent(color[2]), intOrPercent(color[3]), typeof color[4] === 'string'
225
- ? 255 - floatOrPercent(color[4])
226
- : 0),
227
- undefined,
228
- ];
229
- }
230
- break;
231
- case 'hsl':
232
- case 'hsla':
233
- color =
234
- /^(\d*\.?\d+)\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(components);
235
- if (color) {
236
- // hsl(120,50%,50%) hsla(120,50%,50%,0.5)
237
- const h = parseFloat(color[1]);
238
- const s = parseInt(color[2], 10) / 100;
239
- const l = parseInt(color[3], 10) / 100;
240
- const t = typeof color[4] === 'string' ? 255 - floatOrPercent(color[4]) : 0;
241
- return [this.computeTbgrFromHSL(h / 360, s, l, t), h];
242
- }
243
- break;
244
- }
245
- // eslint-disable-next-line no-cond-assign
246
- }
247
- else if ((m = /^\#([A-Fa-f\d]+)$/.exec(val))) {
248
- // hex color
249
- const hex = m[1];
250
- const size = hex.length;
251
- if (size === 3) {
252
- // #ff0
253
- return [
254
- this.computeTbgrFromComponents(parseInt(hex.charAt(0) + hex.charAt(0), 16), parseInt(hex.charAt(1) + hex.charAt(1), 16), parseInt(hex.charAt(2) + hex.charAt(2), 16), 0),
255
- undefined,
256
- ];
257
- }
258
- if (size === 6) {
259
- // #ff0000
260
- return [
261
- this.computeTbgrFromComponents(parseInt(hex.charAt(0) + hex.charAt(1), 16), parseInt(hex.charAt(2) + hex.charAt(3), 16), parseInt(hex.charAt(4) + hex.charAt(5), 16), 0),
262
- undefined,
263
- ];
264
- }
265
- if (size === 8) {
266
- // #ff0000ff
267
- return [
268
- this.computeTbgrFromComponents(parseInt(hex.charAt(0) + hex.charAt(1), 16), parseInt(hex.charAt(2) + hex.charAt(3), 16), parseInt(hex.charAt(4) + hex.charAt(5), 16), 255 - parseInt(hex.charAt(6) + hex.charAt(7), 16)),
269
- undefined,
270
- ];
271
- }
272
- }
273
- if (defaultColorIfNotParsed) {
274
- return [defaultColorIfNotParsed, undefined];
275
- }
276
- throw new Error('unable to parse string into ColorValue');
342
+ throw new Error('unable to parse string into ColorValue');
343
+ }
344
+ /**
345
+ * Get the r,g,b,t values encoded in an 0xTTBBGGRR value. Values will be integers between 0-255.
346
+ */
347
+ static getColors(tbgr) {
348
+ scratchUInt32[0] = tbgr;
349
+ return {
350
+ b: scratchBytes[2],
351
+ g: scratchBytes[1],
352
+ r: scratchBytes[0],
353
+ t: scratchBytes[3],
354
+ };
355
+ }
356
+ /**
357
+ * Get the RGB value of the 0xTTBBGGRR color as a number in 0xRRGGBB or 0xRRGGBBAA format
358
+ */
359
+ getRgb(includeAlpha) {
360
+ scratchUInt32[0] = this._tbgr;
361
+ if (includeAlpha) {
362
+ return (
363
+ (scratchBytes[0] << 24) +
364
+ (scratchBytes[1] << 16) +
365
+ (scratchBytes[2] << 8) +
366
+ (255 - scratchBytes[3])
367
+ );
277
368
  }
278
- /**
279
- * Get the r,g,b,t values encoded in an 0xTTBBGGRR value. Values will be integers between 0-255.
280
- */
281
- static getColors(tbgr) {
282
- scratchUInt32[0] = tbgr;
283
- return {
284
- b: scratchBytes[2],
285
- g: scratchBytes[1],
286
- r: scratchBytes[0],
287
- t: scratchBytes[3],
288
- };
369
+ return (scratchBytes[0] << 16) + (scratchBytes[1] << 8) + scratchBytes[2];
370
+ }
371
+ /**
372
+ * Get the alpha value for this ColorDef. Will be between 0-255
373
+ */
374
+ getAlpha() {
375
+ return ColorValue.getAlpha(this._tbgr);
376
+ }
377
+ /**
378
+ * Extract the alpha value from a 0xTTBBGGRR color.
379
+ */
380
+ static getAlpha(tbgr) {
381
+ scratchUInt32[0] = tbgr;
382
+ return 255 - scratchBytes[3];
383
+ }
384
+ /**
385
+ * Convert this ColorValue to a string in the form "#rrggbb" or "#rrggbbaa" where values are hex digits of the respective colors
386
+ */
387
+ toHexString(includeAlpha) {
388
+ if (includeAlpha) {
389
+ let value = this.getRgb(includeAlpha);
390
+ if (value < 0) {
391
+ value = 0xffffffff + value + 1;
392
+ }
393
+ return `#${`00000000${value.toString(16)}`.slice(-8)}`;
289
394
  }
290
- /**
291
- * Get the RGB value of the 0xTTBBGGRR color as a number in 0xRRGGBB or 0xRRGGBBAA format
292
- */
293
- getRgb(includeAlpha) {
294
- scratchUInt32[0] = this._tbgr;
295
- if (includeAlpha) {
296
- return ((scratchBytes[0] << 24) +
297
- (scratchBytes[1] << 16) +
298
- (scratchBytes[2] << 8) +
299
- (255 - scratchBytes[3]));
300
- }
301
- return (scratchBytes[0] << 16) + (scratchBytes[1] << 8) + scratchBytes[2];
302
- }
303
- /**
304
- * Get the alpha value for this ColorDef. Will be between 0-255
305
- */
306
- getAlpha() {
307
- return ColorValue.getAlpha(this._tbgr);
308
- }
309
- /**
310
- * Extract the alpha value from a 0xTTBBGGRR color.
311
- */
312
- static getAlpha(tbgr) {
313
- scratchUInt32[0] = tbgr;
314
- return 255 - scratchBytes[3];
315
- }
316
- /**
317
- * Convert this ColorValue to a string in the form "#rrggbb" or "#rrggbbaa" where values are hex digits of the respective colors
318
- */
319
- toHexString(includeAlpha) {
320
- if (includeAlpha) {
321
- let value = this.getRgb(includeAlpha);
322
- if (value < 0) {
323
- value = 0xffffffff + value + 1;
324
- }
325
- return `#${`00000000${value.toString(16)}`.slice(-8)}`;
326
- }
327
- return `#${`000000${this.getRgb().toString(16)}`.slice(-6)}`;
328
- }
329
- /**
330
- * Compute the 0xTTBBGGRR color corresponding to the specified hue, saturation, lightness values.
331
- */
332
- static computeTbgrFromHSL(
395
+ return `#${`000000${this.getRgb().toString(16)}`.slice(-6)}`;
396
+ }
397
+ /**
398
+ * Compute the 0xTTBBGGRR color corresponding to the specified hue, saturation, lightness values.
399
+ */
400
+ static computeTbgrFromHSL(
333
401
  /** 0-1 */
334
- h,
402
+ h,
335
403
  /** 0-1 */
336
- s,
404
+ s,
337
405
  /** 0-1 */
338
- l, transparency = 0) {
339
- const torgb = (p1, q1, t) => {
340
- if (t < 0) {
341
- t += 1;
342
- }
343
- if (t > 1) {
344
- t -= 1;
345
- }
346
- if (t < 1 / 6) {
347
- return p1 + (q1 - p1) * 6 * t;
348
- }
349
- if (t < 1 / 2) {
350
- return q1;
351
- }
352
- if (t < 2 / 3) {
353
- return p1 + (q1 - p1) * 6 * (2 / 3 - t);
354
- }
355
- return p1;
356
- };
357
- const hue2rgb = (p1, q1, t) => Math.round(torgb(p1, q1, t) * 255);
358
- const modulo = (n, m) => ((n % m) + m) % m;
359
- // h,s,l ranges are in 0.0 - 1.0
360
- h = modulo(h, 1);
361
- s = (0, numbers_js_1.getBoundedValue)(s, 0, 1);
362
- l = (0, numbers_js_1.getBoundedValue)(l, 0, 1);
363
- if (s === 0) {
364
- l *= 255;
365
- return this.computeTbgrFromComponents(l, l, l, transparency);
366
- }
367
- const p = l <= 0.5 ? l * (1 + s) : l + s - l * s;
368
- const q = 2 * l - p;
369
- return this.computeTbgrFromComponents(hue2rgb(q, p, h + 1 / 3), hue2rgb(q, p, h), hue2rgb(q, p, h - 1 / 3), transparency);
370
- }
371
- /**
372
- * Return HslColor from this ColorValue
373
- */
374
- toHslColor() {
375
- return {
376
- ...ColorValue.toHsl(this._tbgr),
377
- ...(this._hue != undefined && { h: this._hue }),
378
- };
379
- }
380
- /** Create an HslColor from this ColorValue */
381
- static toHsl(tbgr) {
382
- const { r, g, b } = ColorValue.getColors(tbgr);
383
- const red = r / 255;
384
- const green = g / 255;
385
- const blue = b / 255;
386
- const cMin = Math.min(red, green, blue);
387
- const cMax = Math.max(red, green, blue);
388
- const delta = cMax - cMin;
389
- let hue = 0;
390
- let saturation = 0;
391
- if (0 === delta) {
392
- hue = 0;
393
- }
394
- else if (red === cMax) {
395
- hue = ((green - blue) / delta) % 6;
396
- }
397
- else if (green === cMax) {
398
- hue = (blue - red) / delta + 2;
399
- }
400
- else {
401
- hue = (red - green) / delta + 4;
402
- }
403
- hue = Math.round(hue * 60);
404
- if (hue < 0) {
405
- hue += 360;
406
- }
407
- let lightness = (cMax + cMin) / 2;
408
- saturation = 0 === delta ? 0 : delta / (1 - Math.abs(2 * lightness - 1));
409
- // round values to 1 decimal place
410
- saturation = Number((saturation * 100).toFixed(1));
411
- lightness = Number((lightness * 100).toFixed(1));
412
- return {
413
- h: hue,
414
- s: saturation,
415
- l: lightness,
416
- a: this.getAlpha(tbgr) / 255,
417
- };
406
+ l,
407
+ transparency = 0,
408
+ ) {
409
+ const torgb = (p1, q1, t) => {
410
+ if (t < 0) {
411
+ t += 1;
412
+ }
413
+ if (t > 1) {
414
+ t -= 1;
415
+ }
416
+ if (t < 1 / 6) {
417
+ return p1 + (q1 - p1) * 6 * t;
418
+ }
419
+ if (t < 1 / 2) {
420
+ return q1;
421
+ }
422
+ if (t < 2 / 3) {
423
+ return p1 + (q1 - p1) * 6 * (2 / 3 - t);
424
+ }
425
+ return p1;
426
+ };
427
+ const hue2rgb = (p1, q1, t) => Math.round(torgb(p1, q1, t) * 255);
428
+ const modulo = (n, m) => ((n % m) + m) % m;
429
+ // h,s,l ranges are in 0.0 - 1.0
430
+ h = modulo(h, 1);
431
+ s = (0, numbers_js_1.getBoundedValue)(s, 0, 1);
432
+ l = (0, numbers_js_1.getBoundedValue)(l, 0, 1);
433
+ if (s === 0) {
434
+ l *= 255;
435
+ return this.computeTbgrFromComponents(l, l, l, transparency);
418
436
  }
419
- /**
420
- * Create an RgbColor from this ColorValue
421
- */
422
- toRgbColor() {
423
- const { r, g, b } = ColorValue.getColors(this._tbgr);
424
- return { r, g, b, a: this.getAlpha() / 255 };
437
+ const p = l <= 0.5 ? l * (1 + s) : l + s - l * s;
438
+ const q = 2 * l - p;
439
+ return this.computeTbgrFromComponents(
440
+ hue2rgb(q, p, h + 1 / 3),
441
+ hue2rgb(q, p, h),
442
+ hue2rgb(q, p, h - 1 / 3),
443
+ transparency,
444
+ );
445
+ }
446
+ /**
447
+ * Return HslColor from this ColorValue
448
+ */
449
+ toHslColor() {
450
+ return {
451
+ ...ColorValue.toHsl(this._tbgr),
452
+ ...(this._hue != undefined && { h: this._hue }),
453
+ };
454
+ }
455
+ /** Create an HslColor from this ColorValue */
456
+ static toHsl(tbgr) {
457
+ const { r, g, b } = ColorValue.getColors(tbgr);
458
+ const red = r / 255;
459
+ const green = g / 255;
460
+ const blue = b / 255;
461
+ const cMin = Math.min(red, green, blue);
462
+ const cMax = Math.max(red, green, blue);
463
+ const delta = cMax - cMin;
464
+ let hue = 0;
465
+ let saturation = 0;
466
+ if (0 === delta) {
467
+ hue = 0;
468
+ } else if (red === cMax) {
469
+ hue = ((green - blue) / delta) % 6;
470
+ } else if (green === cMax) {
471
+ hue = (blue - red) / delta + 2;
472
+ } else {
473
+ hue = (red - green) / delta + 4;
425
474
  }
426
- /**
427
- * Return HsvColor from this ColorValue
428
- */
429
- toHsvColor() {
430
- return {
431
- ...ColorValue.toHsv(this._tbgr),
432
- ...(this._hue != undefined && { h: this._hue }),
433
- };
475
+ hue = Math.round(hue * 60);
476
+ if (hue < 0) {
477
+ hue += 360;
434
478
  }
435
- /**
436
- * Create an HsvColor from this ColorValue
437
- */
438
- static toHsv(tbgr) {
439
- const { r, g, b } = ColorValue.getColors(tbgr);
440
- const red = r / 255;
441
- const green = g / 255;
442
- const blue = b / 255;
443
- const cMin = Math.min(red, green, blue);
444
- const cMax = Math.max(red, green, blue);
445
- const delta = cMax - cMin;
446
- let hue = 0;
447
- if (0 === delta) {
448
- hue = 0;
449
- }
450
- else if (red === cMax) {
451
- hue = ((green - blue) / delta) % 6;
452
- }
453
- else if (green === cMax) {
454
- hue = (blue - red) / delta + 2;
455
- }
456
- else {
457
- hue = (red - green) / delta + 4;
458
- }
459
- hue = Math.round(hue * 60);
460
- if (hue < 0) {
461
- hue += 360;
462
- }
463
- let brightness = cMax;
464
- let saturation = cMax === 0 ? 0 : delta / cMax;
465
- // round values to 1 decimal place
466
- saturation = Number((saturation * 100).toFixed(1));
467
- brightness = Number((brightness * 100).toFixed(1));
468
- return {
469
- h: hue,
470
- s: saturation,
471
- v: brightness,
472
- a: this.getAlpha(tbgr) / 255,
473
- };
479
+ let lightness = (cMax + cMin) / 2;
480
+ saturation = 0 === delta ? 0 : delta / (1 - Math.abs(2 * lightness - 1));
481
+ // round values to 1 decimal place
482
+ saturation = Number((saturation * 100).toFixed(1));
483
+ lightness = Number((lightness * 100).toFixed(1));
484
+ return {
485
+ h: hue,
486
+ s: saturation,
487
+ l: lightness,
488
+ a: this.getAlpha(tbgr) / 255,
489
+ };
490
+ }
491
+ /**
492
+ * Create an RgbColor from this ColorValue
493
+ */
494
+ toRgbColor() {
495
+ const { r, g, b } = ColorValue.getColors(this._tbgr);
496
+ return { r, g, b, a: this.getAlpha() / 255 };
497
+ }
498
+ /**
499
+ * Return HsvColor from this ColorValue
500
+ */
501
+ toHsvColor() {
502
+ return {
503
+ ...ColorValue.toHsv(this._tbgr),
504
+ ...(this._hue != undefined && { h: this._hue }),
505
+ };
506
+ }
507
+ /**
508
+ * Create an HsvColor from this ColorValue
509
+ */
510
+ static toHsv(tbgr) {
511
+ const { r, g, b } = ColorValue.getColors(tbgr);
512
+ const red = r / 255;
513
+ const green = g / 255;
514
+ const blue = b / 255;
515
+ const cMin = Math.min(red, green, blue);
516
+ const cMax = Math.max(red, green, blue);
517
+ const delta = cMax - cMin;
518
+ let hue = 0;
519
+ if (0 === delta) {
520
+ hue = 0;
521
+ } else if (red === cMax) {
522
+ hue = ((green - blue) / delta) % 6;
523
+ } else if (green === cMax) {
524
+ hue = (blue - red) / delta + 2;
525
+ } else {
526
+ hue = (red - green) / delta + 4;
474
527
  }
475
- /** True if the value of this ColorValue is the same as another ColorValue. */
476
- equals(other) {
477
- return this._tbgr === other._tbgr;
528
+ hue = Math.round(hue * 60);
529
+ if (hue < 0) {
530
+ hue += 360;
478
531
  }
479
- static getFormattedColorNumber(value, precision = 1) {
480
- if (0 === precision) {
481
- Math.round(value).toString();
482
- }
483
- return Number(value.toFixed(precision)).toString();
532
+ let brightness = cMax;
533
+ let saturation = cMax === 0 ? 0 : delta / cMax;
534
+ // round values to 1 decimal place
535
+ saturation = Number((saturation * 100).toFixed(1));
536
+ brightness = Number((brightness * 100).toFixed(1));
537
+ return {
538
+ h: hue,
539
+ s: saturation,
540
+ v: brightness,
541
+ a: this.getAlpha(tbgr) / 255,
542
+ };
543
+ }
544
+ /** True if the value of this ColorValue is the same as another ColorValue. */
545
+ equals(other) {
546
+ return this._tbgr === other._tbgr;
547
+ }
548
+ static getFormattedColorNumber(value, precision = 1) {
549
+ if (0 === precision) {
550
+ Math.round(value).toString();
484
551
  }
485
- /** Convert the 0xTTBBGGRR color to a string of the form "rgba(r,g,b,a)" where the color components are specified in decimal and the alpha component is a fraction. */
486
- toRgbString(includeAlpha) {
487
- const rgb = this.toRgbColor();
488
- const rgbString = `${rgb.r}, ${rgb.g}, ${rgb.b}`;
489
- if (includeAlpha) {
490
- const alpha = rgb.a ?? 1;
491
- return `rgba(${rgbString}, ${ColorValue.getFormattedColorNumber(alpha, 2)})`;
492
- }
493
- return `rgb(${rgbString})`;
552
+ return Number(value.toFixed(precision)).toString();
553
+ }
554
+ /** Convert the 0xTTBBGGRR color to a string of the form "rgba(r,g,b,a)" where the color components are specified in decimal and the alpha component is a fraction. */
555
+ toRgbString(includeAlpha) {
556
+ const rgb = this.toRgbColor();
557
+ const rgbString = `${rgb.r}, ${rgb.g}, ${rgb.b}`;
558
+ if (includeAlpha) {
559
+ const alpha = rgb.a ?? 1;
560
+ return `rgba(${rgbString}, ${ColorValue.getFormattedColorNumber(
561
+ alpha,
562
+ 2,
563
+ )})`;
494
564
  }
495
- /** Convert this ColorValue to a string in the form "hsl(h,s,l) or hsla(h,s,l,a)" - i.e hsl(120,50%,50%). */
496
- toHslString(includeAlpha) {
497
- const hsl = this.toHslColor();
498
- const hslString = `${ColorValue.getFormattedColorNumber(this._hue ?? hsl.h)}, ${ColorValue.getFormattedColorNumber(hsl.s)}%, ${ColorValue.getFormattedColorNumber(hsl.l)}%`;
499
- if (includeAlpha) {
500
- const alpha = hsl.a ?? 1;
501
- return `hsla(${hslString}, ${ColorValue.getFormattedColorNumber(alpha, 2)})`;
502
- }
503
- return `hsl(${hslString})`;
565
+ return `rgb(${rgbString})`;
566
+ }
567
+ /** Convert this ColorValue to a string in the form "hsl(h,s,l) or hsla(h,s,l,a)" - i.e hsl(120,50%,50%). */
568
+ toHslString(includeAlpha) {
569
+ const hsl = this.toHslColor();
570
+ const hslString = `${ColorValue.getFormattedColorNumber(
571
+ this._hue ?? hsl.h,
572
+ )}, ${ColorValue.getFormattedColorNumber(
573
+ hsl.s,
574
+ )}%, ${ColorValue.getFormattedColorNumber(hsl.l)}%`;
575
+ if (includeAlpha) {
576
+ const alpha = hsl.a ?? 1;
577
+ return `hsla(${hslString}, ${ColorValue.getFormattedColorNumber(
578
+ alpha,
579
+ 2,
580
+ )})`;
504
581
  }
505
- /** Convert this ColorValue to a string in the form "hsv(h,s,v) or hsva(h,s,v,a)" - i.e hsv(120,50%,50%). */
506
- toHsvString(includeAlpha) {
507
- const hsv = this.toHsvColor();
508
- const hsvString = `${this._hue ?? hsv.h}, ${hsv.s}%, ${hsv.v}%`;
509
- if (includeAlpha) {
510
- const alpha = hsv.a ?? 1;
511
- return `hsva(${hsvString}, ${ColorValue.getFormattedColorNumber(alpha, 2)})`;
512
- }
513
- return `hsv(${hsvString})`;
582
+ return `hsl(${hslString})`;
583
+ }
584
+ /** Convert this ColorValue to a string in the form "hsv(h,s,v) or hsva(h,s,v,a)" - i.e hsv(120,50%,50%). */
585
+ toHsvString(includeAlpha) {
586
+ const hsv = this.toHsvColor();
587
+ const hsvString = `${this._hue ?? hsv.h}, ${hsv.s}%, ${hsv.v}%`;
588
+ if (includeAlpha) {
589
+ const alpha = hsv.a ?? 1;
590
+ return `hsva(${hsvString}, ${ColorValue.getFormattedColorNumber(
591
+ alpha,
592
+ 2,
593
+ )})`;
514
594
  }
595
+ return `hsv(${hsvString})`;
596
+ }
515
597
  }
516
598
  exports.ColorValue = ColorValue;