@itwin/itwinui-react 3.11.3 → 3.12.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 (727) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/cjs/core/Alert/Alert.d.ts +3 -7
  3. package/cjs/core/Alert/Alert.js +130 -121
  4. package/cjs/core/Avatar/Avatar.js +77 -70
  5. package/cjs/core/AvatarGroup/AvatarGroup.js +73 -83
  6. package/cjs/core/Backdrop/Backdrop.js +27 -38
  7. package/cjs/core/Badge/Badge.js +49 -65
  8. package/cjs/core/Breadcrumbs/Breadcrumbs.js +169 -129
  9. package/cjs/core/ButtonGroup/ButtonGroup.js +153 -108
  10. package/cjs/core/Buttons/Button.js +97 -55
  11. package/cjs/core/Buttons/DropdownButton.js +58 -54
  12. package/cjs/core/Buttons/IconButton.js +75 -52
  13. package/cjs/core/Buttons/IdeasButton.js +31 -44
  14. package/cjs/core/Buttons/SplitButton.js +105 -87
  15. package/cjs/core/Carousel/Carousel.d.ts +13 -119
  16. package/cjs/core/Carousel/Carousel.js +80 -103
  17. package/cjs/core/Carousel/CarouselContext.js +12 -31
  18. package/cjs/core/Carousel/CarouselDot.js +32 -46
  19. package/cjs/core/Carousel/CarouselDotsList.js +162 -144
  20. package/cjs/core/Carousel/CarouselNavigation.d.ts +6 -112
  21. package/cjs/core/Carousel/CarouselNavigation.js +102 -83
  22. package/cjs/core/Carousel/CarouselSlide.js +54 -61
  23. package/cjs/core/Carousel/CarouselSlider.d.ts +1 -1
  24. package/cjs/core/Carousel/CarouselSlider.js +74 -80
  25. package/cjs/core/Checkbox/Checkbox.js +97 -74
  26. package/cjs/core/ColorPicker/ColorBuilder.d.ts +1 -1
  27. package/cjs/core/ColorPicker/ColorBuilder.js +300 -209
  28. package/cjs/core/ColorPicker/ColorInputPanel.js +431 -285
  29. package/cjs/core/ColorPicker/ColorPalette.js +60 -64
  30. package/cjs/core/ColorPicker/ColorPicker.js +101 -97
  31. package/cjs/core/ColorPicker/ColorPickerContext.d.ts +2 -2
  32. package/cjs/core/ColorPicker/ColorPickerContext.js +28 -37
  33. package/cjs/core/ColorPicker/ColorSwatch.js +51 -51
  34. package/cjs/core/ComboBox/ComboBox.d.ts +13 -3
  35. package/cjs/core/ComboBox/ComboBox.js +422 -323
  36. package/cjs/core/ComboBox/ComboBox.types-test.js +92 -0
  37. package/cjs/core/ComboBox/ComboBoxEndIcon.js +38 -43
  38. package/cjs/core/ComboBox/ComboBoxInput.js +214 -172
  39. package/cjs/core/ComboBox/ComboBoxInputContainer.js +42 -40
  40. package/cjs/core/ComboBox/ComboBoxMenu.d.ts +1 -1
  41. package/cjs/core/ComboBox/ComboBoxMenu.js +102 -76
  42. package/cjs/core/ComboBox/ComboBoxMenuItem.js +87 -49
  43. package/cjs/core/ComboBox/ComboBoxMultipleContainer.js +20 -35
  44. package/cjs/core/ComboBox/helpers.d.ts +4 -27
  45. package/cjs/core/ComboBox/helpers.js +24 -78
  46. package/cjs/core/DatePicker/DatePicker.js +599 -379
  47. package/cjs/core/Dialog/Dialog.js +89 -91
  48. package/cjs/core/Dialog/DialogBackdrop.js +57 -63
  49. package/cjs/core/Dialog/DialogButtonBar.js +12 -17
  50. package/cjs/core/Dialog/DialogContent.js +12 -16
  51. package/cjs/core/Dialog/DialogContext.js +22 -33
  52. package/cjs/core/Dialog/DialogDragContext.d.ts +1 -1
  53. package/cjs/core/Dialog/DialogDragContext.js +25 -36
  54. package/cjs/core/Dialog/DialogMain.js +192 -161
  55. package/cjs/core/Dialog/DialogTitleBar.js +73 -68
  56. package/cjs/core/Dialog/DialogTitleBarTitle.js +12 -14
  57. package/cjs/core/Divider/Divider.js +23 -41
  58. package/cjs/core/DropdownMenu/DropdownMenu.d.ts +1 -1
  59. package/cjs/core/DropdownMenu/DropdownMenu.js +74 -113
  60. package/cjs/core/ExpandableBlock/ExpandableBlock.d.ts +3 -3
  61. package/cjs/core/ExpandableBlock/ExpandableBlock.js +207 -177
  62. package/cjs/core/Fieldset/Fieldset.js +36 -55
  63. package/cjs/core/FileUpload/FileEmptyCard.js +47 -71
  64. package/cjs/core/FileUpload/FileUpload.js +97 -76
  65. package/cjs/core/FileUpload/FileUploadCard.d.ts +2 -2
  66. package/cjs/core/FileUpload/FileUploadCard.js +197 -163
  67. package/cjs/core/FileUpload/FileUploadTemplate.js +64 -54
  68. package/cjs/core/Flex/Flex.js +81 -146
  69. package/cjs/core/Footer/Footer.js +129 -113
  70. package/cjs/core/Footer/FooterItem.js +12 -12
  71. package/cjs/core/Footer/FooterList.js +12 -12
  72. package/cjs/core/Footer/FooterSeparator.js +13 -13
  73. package/cjs/core/Header/Header.js +87 -79
  74. package/cjs/core/Header/HeaderBasicButton.js +33 -43
  75. package/cjs/core/Header/HeaderBreadcrumbs.js +61 -54
  76. package/cjs/core/Header/HeaderButton.js +92 -59
  77. package/cjs/core/Header/HeaderDropdownButton.js +59 -50
  78. package/cjs/core/Header/HeaderLogo.js +54 -48
  79. package/cjs/core/Header/HeaderSplitButton.js +81 -51
  80. package/cjs/core/Icon/Icon.js +41 -62
  81. package/cjs/core/InformationPanel/InformationPanel.js +108 -98
  82. package/cjs/core/InformationPanel/InformationPanelBody.js +12 -12
  83. package/cjs/core/InformationPanel/InformationPanelContent.js +31 -61
  84. package/cjs/core/InformationPanel/InformationPanelHeader.js +52 -60
  85. package/cjs/core/InformationPanel/InformationPanelWrapper.js +14 -18
  86. package/cjs/core/Input/Input.js +27 -46
  87. package/cjs/core/InputGrid/InputGrid.js +172 -206
  88. package/cjs/core/InputGroup/InputGroup.js +93 -75
  89. package/cjs/core/InputWithDecorations/InputWithDecorations.d.ts +2 -2
  90. package/cjs/core/InputWithDecorations/InputWithDecorations.js +67 -82
  91. package/cjs/core/Label/Label.js +41 -48
  92. package/cjs/core/LabeledInput/LabeledInput.js +90 -58
  93. package/cjs/core/LabeledSelect/LabeledSelect.d.ts +3 -389
  94. package/cjs/core/LabeledSelect/LabeledSelect.js +74 -73
  95. package/cjs/core/LabeledSelect/LabeledSelect.types-test.js +106 -0
  96. package/cjs/core/LabeledTextarea/LabeledTextarea.js +19 -58
  97. package/cjs/core/LinkAction/LinkAction.d.ts +1 -1
  98. package/cjs/core/LinkAction/LinkAction.js +35 -63
  99. package/cjs/core/List/List.js +15 -10
  100. package/cjs/core/List/ListItem.d.ts +3 -3
  101. package/cjs/core/List/ListItem.js +47 -99
  102. package/cjs/core/Menu/Menu.d.ts +80 -6
  103. package/cjs/core/Menu/Menu.js +223 -94
  104. package/cjs/core/Menu/MenuDivider.d.ts +1 -1
  105. package/cjs/core/Menu/MenuDivider.js +13 -25
  106. package/cjs/core/Menu/MenuExtraContent.js +13 -30
  107. package/cjs/core/Menu/MenuItem.d.ts +0 -8
  108. package/cjs/core/Menu/MenuItem.js +142 -173
  109. package/cjs/core/Menu/MenuItemSkeleton.js +68 -52
  110. package/cjs/core/Modal/Modal.js +56 -59
  111. package/cjs/core/Modal/ModalButtonBar.js +12 -12
  112. package/cjs/core/Modal/ModalContent.js +12 -12
  113. package/cjs/core/NonIdealState/ErrorPage.js +232 -164
  114. package/cjs/core/NonIdealState/NonIdealState.js +86 -49
  115. package/cjs/core/NotificationMarker/NotificationMarker.js +40 -50
  116. package/cjs/core/Overlay/Overlay.d.ts +3 -3
  117. package/cjs/core/Overlay/Overlay.js +55 -75
  118. package/cjs/core/Popover/Popover.d.ts +23 -30
  119. package/cjs/core/Popover/Popover.js +279 -192
  120. package/cjs/core/ProgressIndicators/ProgressLinear.js +72 -69
  121. package/cjs/core/ProgressIndicators/ProgressRadial.js +71 -71
  122. package/cjs/core/Radio/Radio.js +66 -52
  123. package/cjs/core/RadioTiles/RadioTile.js +89 -49
  124. package/cjs/core/RadioTiles/RadioTileGroup.js +30 -44
  125. package/cjs/core/SearchBox/SearchBox.js +220 -167
  126. package/cjs/core/Select/Select.d.ts +1 -1
  127. package/cjs/core/Select/Select.js +473 -303
  128. package/cjs/core/Select/Select.types-test.js +119 -0
  129. package/cjs/core/Select/SelectTag.js +33 -43
  130. package/cjs/core/Select/SelectTagContainer.js +39 -46
  131. package/cjs/core/SideNavigation/SideNavigation.js +139 -72
  132. package/cjs/core/SideNavigation/SidenavButton.js +56 -46
  133. package/cjs/core/SideNavigation/SidenavSubmenu.d.ts +1 -1
  134. package/cjs/core/SideNavigation/SidenavSubmenu.js +34 -47
  135. package/cjs/core/SideNavigation/SidenavSubmenuHeader.js +42 -54
  136. package/cjs/core/SkipToContentLink/SkipToContentLink.js +29 -46
  137. package/cjs/core/Slider/Slider.js +380 -236
  138. package/cjs/core/Slider/Thumb.js +120 -92
  139. package/cjs/core/Slider/Track.js +99 -89
  140. package/cjs/core/StatusMessage/StatusMessage.js +47 -50
  141. package/cjs/core/Stepper/Stepper.js +93 -51
  142. package/cjs/core/Stepper/StepperStep.js +123 -66
  143. package/cjs/core/Stepper/WorkflowDiagram.js +42 -45
  144. package/cjs/core/Stepper/WorkflowDiagramStep.js +49 -41
  145. package/cjs/core/Surface/Surface.js +110 -109
  146. package/cjs/core/Table/SubRowExpander.js +45 -42
  147. package/cjs/core/Table/Table.js +826 -500
  148. package/cjs/core/Table/TableCell.js +110 -79
  149. package/cjs/core/Table/TablePaginator.js +330 -173
  150. package/cjs/core/Table/TableRowMemoized.d.ts +9 -29
  151. package/cjs/core/Table/TableRowMemoized.js +160 -102
  152. package/cjs/core/Table/actionHandlers/expandHandler.d.ts +1 -1
  153. package/cjs/core/Table/actionHandlers/expandHandler.js +20 -14
  154. package/cjs/core/Table/actionHandlers/filterHandler.d.ts +1 -1
  155. package/cjs/core/Table/actionHandlers/filterHandler.js +33 -19
  156. package/cjs/core/Table/actionHandlers/index.js +38 -18
  157. package/cjs/core/Table/actionHandlers/resizeHandler.d.ts +18 -18
  158. package/cjs/core/Table/actionHandlers/resizeHandler.js +33 -16
  159. package/cjs/core/Table/actionHandlers/selectHandler.d.ts +12 -12
  160. package/cjs/core/Table/actionHandlers/selectHandler.js +136 -116
  161. package/cjs/core/Table/cells/DefaultCell.js +92 -62
  162. package/cjs/core/Table/cells/EditableCell.js +91 -87
  163. package/cjs/core/Table/cells/index.js +21 -11
  164. package/cjs/core/Table/columns/actionColumn.d.ts +2 -2
  165. package/cjs/core/Table/columns/actionColumn.js +108 -113
  166. package/cjs/core/Table/columns/expanderColumn.d.ts +2 -2
  167. package/cjs/core/Table/columns/expanderColumn.js +63 -83
  168. package/cjs/core/Table/columns/index.js +31 -15
  169. package/cjs/core/Table/columns/selectionColumn.d.ts +2 -2
  170. package/cjs/core/Table/columns/selectionColumn.js +86 -77
  171. package/cjs/core/Table/filters/BaseFilter.js +28 -57
  172. package/cjs/core/Table/filters/DateRangeFilter/DatePickerInput.js +134 -79
  173. package/cjs/core/Table/filters/DateRangeFilter/DateRangeFilter.js +130 -87
  174. package/cjs/core/Table/filters/FilterButtonBar.js +55 -51
  175. package/cjs/core/Table/filters/FilterToggle.js +74 -59
  176. package/cjs/core/Table/filters/NumberRangeFilter/NumberRangeFilter.js +68 -63
  177. package/cjs/core/Table/filters/TextFilter/TextFilter.js +47 -55
  178. package/cjs/core/Table/filters/customFilterFunctions.js +25 -26
  179. package/cjs/core/Table/filters/defaultFilterFunctions.d.ts +7 -7
  180. package/cjs/core/Table/filters/defaultFilterFunctions.js +94 -83
  181. package/cjs/core/Table/filters/index.js +29 -15
  182. package/cjs/core/Table/filters/tableFilters.d.ts +2 -2
  183. package/cjs/core/Table/filters/tableFilters.js +30 -59
  184. package/cjs/core/Table/filters/types.js +4 -2
  185. package/cjs/core/Table/hooks/index.js +45 -23
  186. package/cjs/core/Table/hooks/useColumnDragAndDrop.js +108 -90
  187. package/cjs/core/Table/hooks/useExpanderCell.d.ts +1 -1
  188. package/cjs/core/Table/hooks/useExpanderCell.js +40 -52
  189. package/cjs/core/Table/hooks/useResizeColumns.js +362 -299
  190. package/cjs/core/Table/hooks/useScrollToRow.js +50 -65
  191. package/cjs/core/Table/hooks/useSelectionCell.d.ts +1 -1
  192. package/cjs/core/Table/hooks/useSelectionCell.js +25 -12
  193. package/cjs/core/Table/hooks/useStickyColumns.js +71 -70
  194. package/cjs/core/Table/hooks/useSubRowFiltering.js +99 -115
  195. package/cjs/core/Table/hooks/useSubRowSelection.js +39 -58
  196. package/cjs/core/Table/index.js +48 -22
  197. package/cjs/core/Table/utils.d.ts +1 -1
  198. package/cjs/core/Table/utils.js +79 -86
  199. package/cjs/core/Tabs/Tabs.d.ts +3 -3
  200. package/cjs/core/Tabs/Tabs.js +421 -358
  201. package/cjs/core/Tag/Tag.js +81 -56
  202. package/cjs/core/Tag/TagContainer.js +32 -47
  203. package/cjs/core/Textarea/Textarea.js +19 -39
  204. package/cjs/core/ThemeProvider/ThemeContext.d.ts +3 -3
  205. package/cjs/core/ThemeProvider/ThemeContext.js +12 -31
  206. package/cjs/core/ThemeProvider/ThemeProvider.js +233 -215
  207. package/cjs/core/Tile/Tile.d.ts +11 -80
  208. package/cjs/core/Tile/Tile.js +327 -336
  209. package/cjs/core/TimePicker/TimePicker.js +476 -269
  210. package/cjs/core/Toast/Toast.js +242 -149
  211. package/cjs/core/Toast/Toaster.js +150 -117
  212. package/cjs/core/ToggleSwitch/ToggleSwitch.js +77 -65
  213. package/cjs/core/Tooltip/Tooltip.d.ts +12 -11
  214. package/cjs/core/Tooltip/Tooltip.js +216 -175
  215. package/cjs/core/TransferList/TransferList.d.ts +4 -4
  216. package/cjs/core/TransferList/TransferList.js +191 -136
  217. package/cjs/core/Tree/Tree.js +214 -213
  218. package/cjs/core/Tree/TreeContext.js +26 -37
  219. package/cjs/core/Tree/TreeNode.d.ts +11 -4
  220. package/cjs/core/Tree/TreeNode.js +274 -154
  221. package/cjs/core/Tree/TreeNodeExpander.js +41 -45
  222. package/cjs/core/Typography/Anchor.js +42 -58
  223. package/cjs/core/Typography/Blockquote.js +27 -48
  224. package/cjs/core/Typography/Code.js +12 -14
  225. package/cjs/core/Typography/Kbd.js +49 -61
  226. package/cjs/core/Typography/Text.js +51 -59
  227. package/cjs/core/VisuallyHidden/VisuallyHidden.js +49 -56
  228. package/cjs/index.d.ts +1 -0
  229. package/cjs/index.js +481 -233
  230. package/cjs/react-table/react-table.js +4 -9
  231. package/cjs/react-table/react-table.types-test.js +653 -0
  232. package/cjs/styles.d.ts +2 -1
  233. package/cjs/styles.js +17 -1
  234. package/cjs/utils/color/ColorValue.js +465 -485
  235. package/cjs/utils/color/index.js +6 -21
  236. package/cjs/utils/components/AutoclearingHiddenLiveRegion.js +31 -48
  237. package/cjs/utils/components/Box.js +12 -14
  238. package/cjs/utils/components/ButtonBase.js +45 -51
  239. package/cjs/utils/components/FocusTrap.js +54 -69
  240. package/cjs/utils/components/InputContainer.js +68 -55
  241. package/cjs/utils/components/InputFlexContainer.d.ts +2 -2
  242. package/cjs/utils/components/InputFlexContainer.js +70 -36
  243. package/cjs/utils/components/InputWithIcon.js +13 -11
  244. package/cjs/utils/components/LineClamp.d.ts +1 -1
  245. package/cjs/utils/components/LineClamp.js +35 -40
  246. package/cjs/utils/components/MiddleTextTruncation.js +39 -65
  247. package/cjs/utils/components/Portal.d.ts +1 -1
  248. package/cjs/utils/components/Portal.js +43 -59
  249. package/cjs/utils/components/Resizer.js +239 -192
  250. package/cjs/utils/components/ShadowRoot.js +92 -108
  251. package/cjs/utils/components/VirtualScroll.js +314 -292
  252. package/cjs/utils/components/WithCSSTransition.d.ts +1 -1
  253. package/cjs/utils/components/WithCSSTransition.js +56 -62
  254. package/cjs/utils/components/index.js +19 -34
  255. package/cjs/utils/functions/colors.d.ts +1 -1
  256. package/cjs/utils/functions/colors.js +43 -35
  257. package/cjs/utils/functions/date.js +18 -19
  258. package/cjs/utils/functions/dev.js +37 -34
  259. package/cjs/utils/functions/dom.d.ts +1 -1
  260. package/cjs/utils/functions/dom.js +46 -44
  261. package/cjs/utils/functions/focusable.d.ts +23 -0
  262. package/cjs/utils/functions/focusable.js +91 -30
  263. package/cjs/utils/functions/import.js +29 -32
  264. package/cjs/utils/functions/index.js +15 -30
  265. package/cjs/utils/functions/numbers.js +31 -31
  266. package/cjs/utils/functions/polymorphic.d.ts +3 -180
  267. package/cjs/utils/functions/polymorphic.js +61 -95
  268. package/cjs/utils/functions/react.js +29 -56
  269. package/cjs/utils/functions/supports.js +13 -13
  270. package/cjs/utils/hooks/index.js +20 -35
  271. package/cjs/utils/hooks/useContainerWidth.js +34 -61
  272. package/cjs/utils/hooks/useControlledState.d.ts +1 -1
  273. package/cjs/utils/hooks/useControlledState.js +30 -50
  274. package/cjs/utils/hooks/useDragAndDrop.js +122 -122
  275. package/cjs/utils/hooks/useEventListener.js +25 -58
  276. package/cjs/utils/hooks/useGlobals.d.ts +3 -3
  277. package/cjs/utils/hooks/useGlobals.js +49 -65
  278. package/cjs/utils/hooks/useId.js +18 -42
  279. package/cjs/utils/hooks/useIntersection.js +41 -63
  280. package/cjs/utils/hooks/useIsClient.js +16 -36
  281. package/cjs/utils/hooks/useIsomorphicLayoutEffect.js +13 -39
  282. package/cjs/utils/hooks/useLatestRef.js +16 -43
  283. package/cjs/utils/hooks/useMediaQuery.js +30 -43
  284. package/cjs/utils/hooks/useMergedRefs.d.ts +2 -2
  285. package/cjs/utils/hooks/useMergedRefs.js +30 -50
  286. package/cjs/utils/hooks/useOverflow.d.ts +1 -1
  287. package/cjs/utils/hooks/useOverflow.js +70 -107
  288. package/cjs/utils/hooks/useResizeObserver.js +35 -67
  289. package/cjs/utils/hooks/useSafeContext.js +16 -40
  290. package/cjs/utils/hooks/useSyncExternalStore.js +42 -65
  291. package/cjs/utils/icons/StatusIconMap.d.ts +4 -5
  292. package/cjs/utils/icons/StatusIconMap.js +36 -39
  293. package/cjs/utils/icons/Svg.js +15 -12
  294. package/cjs/utils/icons/SvgCalendar.d.ts +1 -1
  295. package/cjs/utils/icons/SvgCalendar.js +19 -34
  296. package/cjs/utils/icons/SvgCaretDownSmall.d.ts +1 -1
  297. package/cjs/utils/icons/SvgCaretDownSmall.js +19 -34
  298. package/cjs/utils/icons/SvgCaretRightSmall.d.ts +1 -1
  299. package/cjs/utils/icons/SvgCaretRightSmall.js +19 -34
  300. package/cjs/utils/icons/SvgCaretUpSmall.d.ts +1 -1
  301. package/cjs/utils/icons/SvgCaretUpSmall.js +19 -34
  302. package/cjs/utils/icons/SvgCheckmark.d.ts +1 -1
  303. package/cjs/utils/icons/SvgCheckmark.js +19 -34
  304. package/cjs/utils/icons/SvgCheckmarkSmall.d.ts +1 -1
  305. package/cjs/utils/icons/SvgCheckmarkSmall.js +19 -34
  306. package/cjs/utils/icons/SvgChevronLeft.d.ts +1 -1
  307. package/cjs/utils/icons/SvgChevronLeft.js +19 -34
  308. package/cjs/utils/icons/SvgChevronLeftDouble.d.ts +1 -1
  309. package/cjs/utils/icons/SvgChevronLeftDouble.js +19 -34
  310. package/cjs/utils/icons/SvgChevronRight.d.ts +1 -1
  311. package/cjs/utils/icons/SvgChevronRight.js +19 -34
  312. package/cjs/utils/icons/SvgChevronRightDouble.d.ts +1 -1
  313. package/cjs/utils/icons/SvgChevronRightDouble.js +19 -34
  314. package/cjs/utils/icons/SvgChevronRightSmall.d.ts +1 -1
  315. package/cjs/utils/icons/SvgChevronRightSmall.js +19 -34
  316. package/cjs/utils/icons/SvgClose.d.ts +1 -1
  317. package/cjs/utils/icons/SvgClose.js +19 -34
  318. package/cjs/utils/icons/SvgCloseSmall.d.ts +1 -1
  319. package/cjs/utils/icons/SvgCloseSmall.js +19 -34
  320. package/cjs/utils/icons/SvgColumnManager.d.ts +1 -1
  321. package/cjs/utils/icons/SvgColumnManager.js +19 -34
  322. package/cjs/utils/icons/SvgDocument.d.ts +1 -1
  323. package/cjs/utils/icons/SvgDocument.js +19 -34
  324. package/cjs/utils/icons/SvgFilter.d.ts +1 -1
  325. package/cjs/utils/icons/SvgFilter.js +19 -34
  326. package/cjs/utils/icons/SvgFilterHollow.d.ts +1 -1
  327. package/cjs/utils/icons/SvgFilterHollow.js +19 -34
  328. package/cjs/utils/icons/SvgImportantSmall.d.ts +1 -1
  329. package/cjs/utils/icons/SvgImportantSmall.js +19 -34
  330. package/cjs/utils/icons/SvgInfoCircular.d.ts +1 -1
  331. package/cjs/utils/icons/SvgInfoCircular.js +19 -34
  332. package/cjs/utils/icons/SvgMore.d.ts +1 -1
  333. package/cjs/utils/icons/SvgMore.js +19 -34
  334. package/cjs/utils/icons/SvgMoreVertical.d.ts +1 -1
  335. package/cjs/utils/icons/SvgMoreVertical.js +19 -34
  336. package/cjs/utils/icons/SvgNew.d.ts +1 -1
  337. package/cjs/utils/icons/SvgNew.js +19 -34
  338. package/cjs/utils/icons/SvgSearch.d.ts +1 -1
  339. package/cjs/utils/icons/SvgSearch.js +19 -34
  340. package/cjs/utils/icons/SvgSmileyHappy.d.ts +1 -1
  341. package/cjs/utils/icons/SvgSmileyHappy.js +19 -34
  342. package/cjs/utils/icons/SvgSortDown.d.ts +1 -1
  343. package/cjs/utils/icons/SvgSortDown.js +19 -34
  344. package/cjs/utils/icons/SvgSortUp.d.ts +1 -1
  345. package/cjs/utils/icons/SvgSortUp.js +19 -34
  346. package/cjs/utils/icons/SvgStatusError.d.ts +1 -1
  347. package/cjs/utils/icons/SvgStatusError.js +19 -34
  348. package/cjs/utils/icons/SvgStatusSuccess.d.ts +1 -1
  349. package/cjs/utils/icons/SvgStatusSuccess.js +19 -34
  350. package/cjs/utils/icons/SvgStatusWarning.d.ts +1 -1
  351. package/cjs/utils/icons/SvgStatusWarning.js +19 -34
  352. package/cjs/utils/icons/SvgSwap.d.ts +1 -1
  353. package/cjs/utils/icons/SvgSwap.js +19 -34
  354. package/cjs/utils/icons/SvgUpload.d.ts +1 -1
  355. package/cjs/utils/icons/SvgUpload.js +19 -34
  356. package/cjs/utils/icons/index.js +37 -52
  357. package/cjs/utils/index.js +13 -28
  358. package/cjs/utils/meta.d.ts +7 -0
  359. package/cjs/utils/meta.js +16 -0
  360. package/cjs/utils/props.js +4 -2
  361. package/cjs/utils/providers/HydrationProvider.js +55 -68
  362. package/cjs/utils/providers/ScopeProvider.js +60 -71
  363. package/cjs/utils/providers/index.js +7 -22
  364. package/cjs/utils/types.js +4 -2
  365. package/esm/core/Alert/Alert.d.ts +3 -7
  366. package/esm/core/Alert/Alert.js +108 -80
  367. package/esm/core/Avatar/Avatar.js +45 -36
  368. package/esm/core/AvatarGroup/AvatarGroup.js +58 -51
  369. package/esm/core/Backdrop/Backdrop.js +12 -6
  370. package/esm/core/Badge/Badge.js +32 -33
  371. package/esm/core/Breadcrumbs/Breadcrumbs.js +150 -93
  372. package/esm/core/ButtonGroup/ButtonGroup.js +129 -72
  373. package/esm/core/Buttons/Button.js +72 -22
  374. package/esm/core/Buttons/DropdownButton.js +41 -20
  375. package/esm/core/Buttons/IconButton.js +50 -17
  376. package/esm/core/Buttons/IdeasButton.js +15 -11
  377. package/esm/core/Buttons/SplitButton.js +93 -53
  378. package/esm/core/Carousel/Carousel.d.ts +13 -119
  379. package/esm/core/Carousel/Carousel.js +58 -64
  380. package/esm/core/Carousel/CarouselContext.js +0 -4
  381. package/esm/core/Carousel/CarouselDot.js +17 -14
  382. package/esm/core/Carousel/CarouselDotsList.js +147 -111
  383. package/esm/core/Carousel/CarouselNavigation.d.ts +6 -112
  384. package/esm/core/Carousel/CarouselNavigation.js +80 -44
  385. package/esm/core/Carousel/CarouselSlide.js +41 -29
  386. package/esm/core/Carousel/CarouselSlider.d.ts +1 -1
  387. package/esm/core/Carousel/CarouselSlider.js +64 -48
  388. package/esm/core/Checkbox/Checkbox.js +78 -41
  389. package/esm/core/ColorPicker/ColorBuilder.d.ts +1 -1
  390. package/esm/core/ColorPicker/ColorBuilder.js +287 -176
  391. package/esm/core/ColorPicker/ColorInputPanel.js +413 -250
  392. package/esm/core/ColorPicker/ColorPalette.js +40 -30
  393. package/esm/core/ColorPicker/ColorPicker.js +75 -63
  394. package/esm/core/ColorPicker/ColorPickerContext.d.ts +2 -2
  395. package/esm/core/ColorPicker/ColorPickerContext.js +7 -9
  396. package/esm/core/ColorPicker/ColorSwatch.js +31 -18
  397. package/esm/core/ComboBox/ComboBox.d.ts +13 -3
  398. package/esm/core/ComboBox/ComboBox.js +407 -286
  399. package/esm/core/ComboBox/ComboBox.types-test.js +88 -0
  400. package/esm/core/ComboBox/ComboBoxEndIcon.js +21 -9
  401. package/esm/core/ComboBox/ComboBoxInput.js +193 -142
  402. package/esm/core/ComboBox/ComboBoxInputContainer.js +33 -10
  403. package/esm/core/ComboBox/ComboBoxMenu.d.ts +1 -1
  404. package/esm/core/ComboBox/ComboBoxMenu.js +85 -43
  405. package/esm/core/ComboBox/ComboBoxMenuItem.js +74 -19
  406. package/esm/core/ComboBox/ComboBoxMultipleContainer.js +6 -6
  407. package/esm/core/ComboBox/helpers.d.ts +4 -27
  408. package/esm/core/ComboBox/helpers.js +0 -47
  409. package/esm/core/DatePicker/DatePicker.js +564 -345
  410. package/esm/core/Dialog/Dialog.js +66 -51
  411. package/esm/core/Dialog/DialogBackdrop.js +40 -29
  412. package/esm/core/Dialog/DialogButtonBar.js +0 -12
  413. package/esm/core/Dialog/DialogContent.js +0 -11
  414. package/esm/core/Dialog/DialogContext.js +1 -5
  415. package/esm/core/Dialog/DialogDragContext.d.ts +1 -1
  416. package/esm/core/Dialog/DialogDragContext.js +4 -8
  417. package/esm/core/Dialog/DialogMain.js +182 -126
  418. package/esm/core/Dialog/DialogTitleBar.js +46 -31
  419. package/esm/core/Dialog/DialogTitleBarTitle.js +0 -9
  420. package/esm/core/Divider/Divider.js +8 -9
  421. package/esm/core/DropdownMenu/DropdownMenu.d.ts +1 -1
  422. package/esm/core/DropdownMenu/DropdownMenu.js +60 -84
  423. package/esm/core/ExpandableBlock/ExpandableBlock.d.ts +3 -3
  424. package/esm/core/ExpandableBlock/ExpandableBlock.js +173 -133
  425. package/esm/core/Fieldset/Fieldset.js +21 -23
  426. package/esm/core/FileUpload/FileEmptyCard.js +23 -34
  427. package/esm/core/FileUpload/FileUpload.js +67 -44
  428. package/esm/core/FileUpload/FileUploadCard.d.ts +2 -2
  429. package/esm/core/FileUpload/FileUploadCard.js +162 -118
  430. package/esm/core/FileUpload/FileUploadTemplate.js +45 -21
  431. package/esm/core/Flex/Flex.js +63 -111
  432. package/esm/core/Footer/Footer.js +96 -73
  433. package/esm/core/Footer/FooterItem.js +0 -7
  434. package/esm/core/Footer/FooterList.js +0 -7
  435. package/esm/core/Footer/FooterSeparator.js +1 -8
  436. package/esm/core/Header/Header.js +70 -45
  437. package/esm/core/Header/HeaderBasicButton.js +15 -11
  438. package/esm/core/Header/HeaderBreadcrumbs.js +39 -22
  439. package/esm/core/Header/HeaderButton.js +70 -28
  440. package/esm/core/Header/HeaderDropdownButton.js +44 -17
  441. package/esm/core/Header/HeaderLogo.js +39 -16
  442. package/esm/core/Header/HeaderSplitButton.js +67 -18
  443. package/esm/core/Icon/Icon.js +26 -30
  444. package/esm/core/InformationPanel/InformationPanel.js +93 -66
  445. package/esm/core/InformationPanel/InformationPanelBody.js +0 -7
  446. package/esm/core/InformationPanel/InformationPanelContent.js +19 -30
  447. package/esm/core/InformationPanel/InformationPanelHeader.js +39 -28
  448. package/esm/core/InformationPanel/InformationPanelWrapper.js +3 -14
  449. package/esm/core/Input/Input.js +12 -14
  450. package/esm/core/InputGrid/InputGrid.js +145 -165
  451. package/esm/core/InputGroup/InputGroup.js +72 -40
  452. package/esm/core/InputWithDecorations/InputWithDecorations.d.ts +2 -2
  453. package/esm/core/InputWithDecorations/InputWithDecorations.js +58 -49
  454. package/esm/core/Label/Label.js +26 -16
  455. package/esm/core/LabeledInput/LabeledInput.js +67 -21
  456. package/esm/core/LabeledSelect/LabeledSelect.d.ts +3 -389
  457. package/esm/core/LabeledSelect/LabeledSelect.js +58 -43
  458. package/esm/core/LabeledSelect/LabeledSelect.types-test.js +102 -0
  459. package/esm/core/LabeledTextarea/LabeledTextarea.js +6 -32
  460. package/esm/core/LinkAction/LinkAction.d.ts +1 -1
  461. package/esm/core/LinkAction/LinkAction.js +7 -27
  462. package/esm/core/List/List.js +3 -5
  463. package/esm/core/List/ListItem.d.ts +3 -3
  464. package/esm/core/List/ListItem.js +24 -61
  465. package/esm/core/Menu/Menu.d.ts +80 -6
  466. package/esm/core/Menu/Menu.js +211 -61
  467. package/esm/core/Menu/MenuDivider.d.ts +1 -1
  468. package/esm/core/Menu/MenuDivider.js +1 -20
  469. package/esm/core/Menu/MenuExtraContent.js +1 -25
  470. package/esm/core/Menu/MenuItem.d.ts +0 -8
  471. package/esm/core/Menu/MenuItem.js +132 -145
  472. package/esm/core/Menu/MenuItemSkeleton.js +48 -19
  473. package/esm/core/Modal/Modal.js +43 -31
  474. package/esm/core/Modal/ModalButtonBar.js +0 -7
  475. package/esm/core/Modal/ModalContent.js +0 -7
  476. package/esm/core/NonIdealState/ErrorPage.js +181 -134
  477. package/esm/core/NonIdealState/NonIdealState.js +65 -17
  478. package/esm/core/NotificationMarker/NotificationMarker.js +25 -18
  479. package/esm/core/Overlay/Overlay.d.ts +3 -3
  480. package/esm/core/Overlay/Overlay.js +36 -63
  481. package/esm/core/Popover/Popover.d.ts +23 -30
  482. package/esm/core/Popover/Popover.js +276 -157
  483. package/esm/core/ProgressIndicators/ProgressLinear.js +52 -36
  484. package/esm/core/ProgressIndicators/ProgressRadial.js +54 -39
  485. package/esm/core/Radio/Radio.js +48 -20
  486. package/esm/core/RadioTiles/RadioTile.js +62 -17
  487. package/esm/core/RadioTiles/RadioTileGroup.js +16 -15
  488. package/esm/core/SearchBox/SearchBox.js +203 -128
  489. package/esm/core/Select/Select.d.ts +1 -1
  490. package/esm/core/Select/Select.js +442 -260
  491. package/esm/core/Select/Select.types-test.js +115 -0
  492. package/esm/core/Select/SelectTag.js +18 -11
  493. package/esm/core/Select/SelectTagContainer.js +20 -13
  494. package/esm/core/SideNavigation/SideNavigation.js +104 -39
  495. package/esm/core/SideNavigation/SidenavButton.js +38 -12
  496. package/esm/core/SideNavigation/SidenavSubmenu.d.ts +1 -1
  497. package/esm/core/SideNavigation/SidenavSubmenu.js +16 -15
  498. package/esm/core/SideNavigation/SidenavSubmenuHeader.js +24 -22
  499. package/esm/core/SkipToContentLink/SkipToContentLink.js +11 -14
  500. package/esm/core/Slider/Slider.js +339 -202
  501. package/esm/core/Slider/Thumb.js +105 -59
  502. package/esm/core/Slider/Track.js +82 -57
  503. package/esm/core/StatusMessage/StatusMessage.js +31 -17
  504. package/esm/core/Stepper/Stepper.js +74 -18
  505. package/esm/core/Stepper/StepperStep.js +101 -33
  506. package/esm/core/Stepper/WorkflowDiagram.js +27 -13
  507. package/esm/core/Stepper/WorkflowDiagramStep.js +28 -8
  508. package/esm/core/Surface/Surface.js +92 -74
  509. package/esm/core/Table/SubRowExpander.js +32 -13
  510. package/esm/core/Table/Table.js +828 -461
  511. package/esm/core/Table/TableCell.js +85 -43
  512. package/esm/core/Table/TablePaginator.js +320 -137
  513. package/esm/core/Table/TableRowMemoized.d.ts +9 -29
  514. package/esm/core/Table/TableRowMemoized.js +135 -70
  515. package/esm/core/Table/actionHandlers/expandHandler.d.ts +1 -1
  516. package/esm/core/Table/actionHandlers/expandHandler.js +10 -10
  517. package/esm/core/Table/actionHandlers/filterHandler.d.ts +1 -1
  518. package/esm/core/Table/actionHandlers/filterHandler.js +23 -15
  519. package/esm/core/Table/actionHandlers/index.js +5 -5
  520. package/esm/core/Table/actionHandlers/resizeHandler.d.ts +18 -18
  521. package/esm/core/Table/actionHandlers/resizeHandler.js +14 -11
  522. package/esm/core/Table/actionHandlers/selectHandler.d.ts +12 -12
  523. package/esm/core/Table/actionHandlers/selectHandler.js +114 -110
  524. package/esm/core/Table/cells/DefaultCell.js +77 -29
  525. package/esm/core/Table/cells/EditableCell.js +77 -55
  526. package/esm/core/Table/cells/index.js +0 -4
  527. package/esm/core/Table/columns/actionColumn.d.ts +2 -2
  528. package/esm/core/Table/columns/actionColumn.js +89 -78
  529. package/esm/core/Table/columns/expanderColumn.d.ts +2 -2
  530. package/esm/core/Table/columns/expanderColumn.js +39 -52
  531. package/esm/core/Table/columns/index.js +0 -4
  532. package/esm/core/Table/columns/selectionColumn.d.ts +2 -2
  533. package/esm/core/Table/columns/selectionColumn.js +63 -47
  534. package/esm/core/Table/filters/BaseFilter.js +14 -25
  535. package/esm/core/Table/filters/DateRangeFilter/DatePickerInput.js +116 -46
  536. package/esm/core/Table/filters/DateRangeFilter/DateRangeFilter.js +115 -56
  537. package/esm/core/Table/filters/FilterButtonBar.js +40 -18
  538. package/esm/core/Table/filters/FilterToggle.js +60 -26
  539. package/esm/core/Table/filters/NumberRangeFilter/NumberRangeFilter.js +53 -32
  540. package/esm/core/Table/filters/TextFilter/TextFilter.js +32 -24
  541. package/esm/core/Table/filters/customFilterFunctions.js +14 -22
  542. package/esm/core/Table/filters/defaultFilterFunctions.d.ts +7 -7
  543. package/esm/core/Table/filters/defaultFilterFunctions.js +83 -79
  544. package/esm/core/Table/filters/index.js +0 -4
  545. package/esm/core/Table/filters/tableFilters.d.ts +2 -2
  546. package/esm/core/Table/filters/tableFilters.js +15 -29
  547. package/esm/core/Table/hooks/index.js +0 -4
  548. package/esm/core/Table/hooks/useColumnDragAndDrop.js +89 -82
  549. package/esm/core/Table/hooks/useExpanderCell.d.ts +1 -1
  550. package/esm/core/Table/hooks/useExpanderCell.js +26 -24
  551. package/esm/core/Table/hooks/useResizeColumns.js +346 -292
  552. package/esm/core/Table/hooks/useScrollToRow.js +39 -38
  553. package/esm/core/Table/hooks/useSelectionCell.d.ts +1 -1
  554. package/esm/core/Table/hooks/useSelectionCell.js +14 -7
  555. package/esm/core/Table/hooks/useStickyColumns.js +58 -63
  556. package/esm/core/Table/hooks/useSubRowFiltering.js +87 -87
  557. package/esm/core/Table/hooks/useSubRowSelection.js +28 -31
  558. package/esm/core/Table/index.js +5 -5
  559. package/esm/core/Table/utils.d.ts +1 -1
  560. package/esm/core/Table/utils.js +55 -59
  561. package/esm/core/Tabs/Tabs.d.ts +3 -3
  562. package/esm/core/Tabs/Tabs.js +385 -315
  563. package/esm/core/Tag/Tag.js +54 -22
  564. package/esm/core/Tag/TagContainer.js +17 -15
  565. package/esm/core/Textarea/Textarea.js +6 -11
  566. package/esm/core/ThemeProvider/ThemeContext.d.ts +3 -3
  567. package/esm/core/ThemeProvider/ThemeContext.js +0 -4
  568. package/esm/core/ThemeProvider/ThemeProvider.js +210 -174
  569. package/esm/core/Tile/Tile.d.ts +11 -80
  570. package/esm/core/Tile/Tile.js +283 -283
  571. package/esm/core/TimePicker/TimePicker.js +461 -237
  572. package/esm/core/Toast/Toast.js +209 -114
  573. package/esm/core/Toast/Toaster.js +114 -79
  574. package/esm/core/ToggleSwitch/ToggleSwitch.js +59 -33
  575. package/esm/core/Tooltip/Tooltip.d.ts +12 -11
  576. package/esm/core/Tooltip/Tooltip.js +221 -144
  577. package/esm/core/TransferList/TransferList.d.ts +4 -4
  578. package/esm/core/TransferList/TransferList.js +152 -118
  579. package/esm/core/Tree/Tree.js +202 -178
  580. package/esm/core/Tree/TreeContext.js +5 -9
  581. package/esm/core/Tree/TreeNode.d.ts +11 -4
  582. package/esm/core/Tree/TreeNode.js +245 -121
  583. package/esm/core/Tree/TreeNodeExpander.js +23 -11
  584. package/esm/core/Typography/Anchor.js +21 -24
  585. package/esm/core/Typography/Blockquote.js +12 -16
  586. package/esm/core/Typography/Code.js +0 -9
  587. package/esm/core/Typography/Kbd.js +24 -28
  588. package/esm/core/Typography/Text.js +26 -26
  589. package/esm/core/VisuallyHidden/VisuallyHidden.js +34 -24
  590. package/esm/index.d.ts +1 -0
  591. package/esm/index.js +22 -7
  592. package/esm/react-table/react-table.js +0 -7
  593. package/esm/react-table/react-table.types-test.js +658 -0
  594. package/esm/styles.d.ts +2 -1
  595. package/esm/styles.js +8 -9
  596. package/esm/utils/color/ColorValue.js +436 -477
  597. package/esm/utils/color/index.js +0 -4
  598. package/esm/utils/components/AutoclearingHiddenLiveRegion.js +15 -19
  599. package/esm/utils/components/Box.js +0 -9
  600. package/esm/utils/components/ButtonBase.js +28 -17
  601. package/esm/utils/components/FocusTrap.js +41 -40
  602. package/esm/utils/components/InputContainer.js +51 -21
  603. package/esm/utils/components/InputFlexContainer.d.ts +2 -2
  604. package/esm/utils/components/InputFlexContainer.js +30 -23
  605. package/esm/utils/components/InputWithIcon.js +0 -5
  606. package/esm/utils/components/LineClamp.d.ts +1 -1
  607. package/esm/utils/components/LineClamp.js +21 -11
  608. package/esm/utils/components/MiddleTextTruncation.js +27 -37
  609. package/esm/utils/components/Portal.d.ts +1 -1
  610. package/esm/utils/components/Portal.js +13 -31
  611. package/esm/utils/components/Resizer.js +231 -165
  612. package/esm/utils/components/ShadowRoot.js +78 -78
  613. package/esm/utils/components/VirtualScroll.js +296 -263
  614. package/esm/utils/components/WithCSSTransition.d.ts +1 -1
  615. package/esm/utils/components/WithCSSTransition.js +44 -31
  616. package/esm/utils/components/index.js +0 -4
  617. package/esm/utils/functions/colors.d.ts +1 -1
  618. package/esm/utils/functions/colors.js +19 -28
  619. package/esm/utils/functions/date.js +8 -15
  620. package/esm/utils/functions/dev.js +15 -28
  621. package/esm/utils/functions/dom.d.ts +1 -1
  622. package/esm/utils/functions/dom.js +18 -36
  623. package/esm/utils/functions/focusable.d.ts +23 -0
  624. package/esm/utils/functions/focusable.js +68 -25
  625. package/esm/utils/functions/import.js +19 -28
  626. package/esm/utils/functions/index.js +0 -4
  627. package/esm/utils/functions/numbers.js +9 -25
  628. package/esm/utils/functions/polymorphic.d.ts +3 -180
  629. package/esm/utils/functions/polymorphic.js +42 -63
  630. package/esm/utils/functions/react.js +17 -28
  631. package/esm/utils/functions/supports.js +2 -8
  632. package/esm/utils/hooks/index.js +0 -4
  633. package/esm/utils/hooks/useContainerWidth.js +16 -32
  634. package/esm/utils/hooks/useControlledState.d.ts +1 -1
  635. package/esm/utils/hooks/useControlledState.js +19 -23
  636. package/esm/utils/hooks/useDragAndDrop.js +109 -93
  637. package/esm/utils/hooks/useEventListener.js +14 -31
  638. package/esm/utils/hooks/useGlobals.d.ts +3 -3
  639. package/esm/utils/hooks/useGlobals.js +27 -35
  640. package/esm/utils/hooks/useId.js +4 -13
  641. package/esm/utils/hooks/useIntersection.js +29 -35
  642. package/esm/utils/hooks/useIsClient.js +5 -9
  643. package/esm/utils/hooks/useIsomorphicLayoutEffect.js +2 -12
  644. package/esm/utils/hooks/useLatestRef.js +5 -16
  645. package/esm/utils/hooks/useMediaQuery.js +14 -15
  646. package/esm/utils/hooks/useMergedRefs.d.ts +2 -2
  647. package/esm/utils/hooks/useMergedRefs.js +10 -22
  648. package/esm/utils/hooks/useOverflow.d.ts +1 -1
  649. package/esm/utils/hooks/useOverflow.js +59 -78
  650. package/esm/utils/hooks/useResizeObserver.js +23 -39
  651. package/esm/utils/hooks/useSafeContext.js +5 -13
  652. package/esm/utils/hooks/useSyncExternalStore.js +31 -39
  653. package/esm/utils/icons/StatusIconMap.d.ts +4 -5
  654. package/esm/utils/icons/StatusIconMap.js +20 -8
  655. package/esm/utils/icons/Svg.js +3 -7
  656. package/esm/utils/icons/SvgCalendar.d.ts +1 -1
  657. package/esm/utils/icons/SvgCalendar.js +7 -6
  658. package/esm/utils/icons/SvgCaretDownSmall.d.ts +1 -1
  659. package/esm/utils/icons/SvgCaretDownSmall.js +7 -6
  660. package/esm/utils/icons/SvgCaretRightSmall.d.ts +1 -1
  661. package/esm/utils/icons/SvgCaretRightSmall.js +7 -6
  662. package/esm/utils/icons/SvgCaretUpSmall.d.ts +1 -1
  663. package/esm/utils/icons/SvgCaretUpSmall.js +7 -6
  664. package/esm/utils/icons/SvgCheckmark.d.ts +1 -1
  665. package/esm/utils/icons/SvgCheckmark.js +7 -6
  666. package/esm/utils/icons/SvgCheckmarkSmall.d.ts +1 -1
  667. package/esm/utils/icons/SvgCheckmarkSmall.js +7 -6
  668. package/esm/utils/icons/SvgChevronLeft.d.ts +1 -1
  669. package/esm/utils/icons/SvgChevronLeft.js +7 -6
  670. package/esm/utils/icons/SvgChevronLeftDouble.d.ts +1 -1
  671. package/esm/utils/icons/SvgChevronLeftDouble.js +7 -6
  672. package/esm/utils/icons/SvgChevronRight.d.ts +1 -1
  673. package/esm/utils/icons/SvgChevronRight.js +7 -6
  674. package/esm/utils/icons/SvgChevronRightDouble.d.ts +1 -1
  675. package/esm/utils/icons/SvgChevronRightDouble.js +7 -6
  676. package/esm/utils/icons/SvgChevronRightSmall.d.ts +1 -1
  677. package/esm/utils/icons/SvgChevronRightSmall.js +7 -6
  678. package/esm/utils/icons/SvgClose.d.ts +1 -1
  679. package/esm/utils/icons/SvgClose.js +7 -6
  680. package/esm/utils/icons/SvgCloseSmall.d.ts +1 -1
  681. package/esm/utils/icons/SvgCloseSmall.js +7 -6
  682. package/esm/utils/icons/SvgColumnManager.d.ts +1 -1
  683. package/esm/utils/icons/SvgColumnManager.js +7 -6
  684. package/esm/utils/icons/SvgDocument.d.ts +1 -1
  685. package/esm/utils/icons/SvgDocument.js +7 -6
  686. package/esm/utils/icons/SvgFilter.d.ts +1 -1
  687. package/esm/utils/icons/SvgFilter.js +7 -6
  688. package/esm/utils/icons/SvgFilterHollow.d.ts +1 -1
  689. package/esm/utils/icons/SvgFilterHollow.js +7 -6
  690. package/esm/utils/icons/SvgImportantSmall.d.ts +1 -1
  691. package/esm/utils/icons/SvgImportantSmall.js +7 -6
  692. package/esm/utils/icons/SvgInfoCircular.d.ts +1 -1
  693. package/esm/utils/icons/SvgInfoCircular.js +7 -6
  694. package/esm/utils/icons/SvgMore.d.ts +1 -1
  695. package/esm/utils/icons/SvgMore.js +7 -6
  696. package/esm/utils/icons/SvgMoreVertical.d.ts +1 -1
  697. package/esm/utils/icons/SvgMoreVertical.js +7 -6
  698. package/esm/utils/icons/SvgNew.d.ts +1 -1
  699. package/esm/utils/icons/SvgNew.js +7 -6
  700. package/esm/utils/icons/SvgSearch.d.ts +1 -1
  701. package/esm/utils/icons/SvgSearch.js +7 -6
  702. package/esm/utils/icons/SvgSmileyHappy.d.ts +1 -1
  703. package/esm/utils/icons/SvgSmileyHappy.js +7 -6
  704. package/esm/utils/icons/SvgSortDown.d.ts +1 -1
  705. package/esm/utils/icons/SvgSortDown.js +7 -6
  706. package/esm/utils/icons/SvgSortUp.d.ts +1 -1
  707. package/esm/utils/icons/SvgSortUp.js +7 -6
  708. package/esm/utils/icons/SvgStatusError.d.ts +1 -1
  709. package/esm/utils/icons/SvgStatusError.js +7 -6
  710. package/esm/utils/icons/SvgStatusSuccess.d.ts +1 -1
  711. package/esm/utils/icons/SvgStatusSuccess.js +7 -6
  712. package/esm/utils/icons/SvgStatusWarning.d.ts +1 -1
  713. package/esm/utils/icons/SvgStatusWarning.js +7 -6
  714. package/esm/utils/icons/SvgSwap.d.ts +1 -1
  715. package/esm/utils/icons/SvgSwap.js +7 -6
  716. package/esm/utils/icons/SvgUpload.d.ts +1 -1
  717. package/esm/utils/icons/SvgUpload.js +7 -6
  718. package/esm/utils/icons/index.js +0 -4
  719. package/esm/utils/index.js +0 -4
  720. package/esm/utils/meta.d.ts +7 -0
  721. package/esm/utils/meta.js +6 -0
  722. package/esm/utils/providers/HydrationProvider.js +33 -38
  723. package/esm/utils/providers/ScopeProvider.js +35 -40
  724. package/esm/utils/providers/index.js +0 -4
  725. package/package.json +22 -16
  726. package/styles.css +1 -1
  727. package/react-table.d.ts +0 -750
@@ -1,516 +1,496 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ColorValue = exports.isHsvColor = exports.isHslColor = exports.isRgbColor = void 0;
4
- /*---------------------------------------------------------------------------------------------
5
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
6
- * See LICENSE.md in the project root for license terms and full copyright notice.
7
- *--------------------------------------------------------------------------------------------*/
8
- const numbers_js_1 = require("../functions/numbers.js");
9
- // portions adapted from Three.js Copyright © 2010-2017 three.js authors
1
+ 'use strict';
2
+ Object.defineProperty(exports, '__esModule', {
3
+ value: true,
4
+ });
5
+ function _export(target, all) {
6
+ for (var name in all)
7
+ Object.defineProperty(target, name, {
8
+ enumerable: true,
9
+ get: all[name],
10
+ });
11
+ }
12
+ _export(exports, {
13
+ ColorValue: function () {
14
+ return ColorValue;
15
+ },
16
+ isHslColor: function () {
17
+ return isHslColor;
18
+ },
19
+ isHsvColor: function () {
20
+ return isHsvColor;
21
+ },
22
+ isRgbColor: function () {
23
+ return isRgbColor;
24
+ },
25
+ });
26
+ const _define_property = require('@swc/helpers/_/_define_property');
27
+ const _numbers = require('../functions/numbers.js');
10
28
  const scratchBytes = new Uint8Array(4);
11
29
  const scratchUInt32 = new Uint32Array(scratchBytes.buffer);
12
- /**
13
- * isRgbValue type guard.
14
- */
15
30
  const isRgbColor = (value) => {
16
- return (typeof value !== 'string' && 'r' in value && 'g' in value && 'b' in value);
31
+ return (
32
+ typeof value !== 'string' && 'r' in value && 'g' in value && 'b' in value
33
+ );
17
34
  };
18
- exports.isRgbColor = isRgbColor;
19
- /**
20
- * isHslValue type guard.
21
- */
22
35
  const isHslColor = (value) => {
23
- return (typeof value !== 'string' && 'h' in value && 's' in value && 'l' in value);
36
+ return (
37
+ typeof value !== 'string' && 'h' in value && 's' in value && 'l' in value
38
+ );
24
39
  };
25
- exports.isHslColor = isHslColor;
26
- /**
27
- * isHsvValue type guard.
28
- */
29
40
  const isHsvColor = (value) => {
30
- return (typeof value !== 'string' && 'h' in value && 's' in value && 'v' in value);
41
+ return (
42
+ typeof value !== 'string' && 'h' in value && 's' in value && 'v' in value
43
+ );
31
44
  };
32
- exports.isHsvColor = isHsvColor;
33
- /**
34
- * An immutable integer representation of a color.
35
- *
36
- * Colors are stored as 4 components: Red, Blue, Green, and Transparency (0=fully opaque). Each is an 8-bit integer between 0-255.
37
- * ColorValue uses `0xTTBBGGRR` (red in the low byte. 0==fully opaque in high byte) internally, but it also provides methods
38
- * to return colors in popular web formats.
39
- *
40
- * The `create` method accepts any ColorType format.
41
- *
42
- * @public
43
- */
44
45
  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;
49
- }
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);
78
- }
79
- /**
80
- * Convert this ColorValue to an unsigned 32 bit integer representing the 0xTTBBGGRR value
81
- */
82
- toTbgr() {
83
- return this._tbgr;
84
- }
85
- /**
86
- * Create a ColorValue from its 0xTTBBGGRR representation.
87
- */
88
- static fromTbgr(tbgr) {
89
- return new ColorValue(tbgr);
90
- }
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));
96
- }
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];
107
- }
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);
46
+ static create(val) {
47
+ if (!val) {
48
+ return ColorValue.fromTbgr(0);
121
49
  }
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);
50
+ if (isRgbColor(val)) {
51
+ return ColorValue.fromRGB(val);
126
52
  }
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));
53
+ if (isHslColor(val)) {
54
+ return ColorValue.fromHSL(val);
131
55
  }
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);
56
+ if (isHsvColor(val)) {
57
+ return ColorValue.fromHSV(val);
188
58
  }
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');
59
+ if (typeof val === 'string') {
60
+ return ColorValue.fromString(val, ColorValue.fromTbgr(0));
277
61
  }
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
- };
62
+ return ColorValue.fromTbgr(0);
63
+ }
64
+ toTbgr() {
65
+ return this._tbgr;
66
+ }
67
+ static fromTbgr(tbgr) {
68
+ return new ColorValue(tbgr);
69
+ }
70
+ static fromRgbt(red, green, blue, transparency) {
71
+ return this.fromTbgr(
72
+ this.computeTbgrFromComponents(red, green, blue, transparency),
73
+ );
74
+ }
75
+ static computeTbgrFromComponents(red, green, blue, transparency) {
76
+ scratchBytes[0] = red;
77
+ scratchBytes[1] = green;
78
+ scratchBytes[2] = blue;
79
+ scratchBytes[3] = transparency || 0;
80
+ return scratchUInt32[0];
81
+ }
82
+ static fromString(val, defaultColorIfNotParsed) {
83
+ const [tbgr, hue] = this.computeTbgrFromString(
84
+ val,
85
+ defaultColorIfNotParsed?.toTbgr(),
86
+ );
87
+ return new ColorValue(tbgr, hue);
88
+ }
89
+ static fromHSL(hsl) {
90
+ const alpha = hsl.a ?? 1;
91
+ return new ColorValue(
92
+ this.computeTbgrFromHSL(
93
+ hsl.h / 360,
94
+ hsl.s / 100,
95
+ hsl.l / 100,
96
+ Math.round((1 - alpha) * 255),
97
+ ),
98
+ hsl.h,
99
+ );
100
+ }
101
+ static fromRGB(rgb) {
102
+ const alpha = rgb.a ?? 1;
103
+ return ColorValue.fromRgbt(
104
+ rgb.r,
105
+ rgb.g,
106
+ rgb.b,
107
+ Math.round((1 - alpha) * 255),
108
+ );
109
+ }
110
+ static fromHSV(hsv) {
111
+ const alpha = hsv.a ?? 1;
112
+ const transparency = Math.round((1 - alpha) * 255);
113
+ if (!hsv.s || hsv.h === -1) {
114
+ const white = 0xff & Math.floor((255.0 * hsv.v) / 100.0 + 0.5 + 3.0e-14);
115
+ return ColorValue.fromRgbt(white, white, white, 0);
289
116
  }
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];
117
+ let dhue = hsv.h,
118
+ dsaturation = hsv.s,
119
+ dvalue = hsv.v;
120
+ if (dhue === 360) {
121
+ dhue = 0.0;
302
122
  }
303
- /**
304
- * Get the alpha value for this ColorDef. Will be between 0-255
305
- */
306
- getAlpha() {
307
- return ColorValue.getAlpha(this._tbgr);
123
+ dhue /= 60;
124
+ const hueIntpart = Math.floor(dhue);
125
+ const hueFractpart = dhue - hueIntpart;
126
+ dvalue /= 100;
127
+ dsaturation /= 100;
128
+ const p = 0xff & Math.floor(dvalue * (1.0 - dsaturation) * 255.0 + 0.5);
129
+ const q =
130
+ 0xff &
131
+ Math.floor(dvalue * (1.0 - dsaturation * hueFractpart) * 255.0 + 0.5);
132
+ const t =
133
+ 0xff &
134
+ Math.floor(
135
+ dvalue * (1.0 - dsaturation * (1.0 - hueFractpart)) * 255.0 + 0.5,
136
+ );
137
+ const v = 0xff & Math.floor(dvalue * 255 + 0.5);
138
+ let r = 0,
139
+ b = 0,
140
+ g = 0;
141
+ switch (hueIntpart) {
142
+ case 0:
143
+ r = v;
144
+ g = t;
145
+ b = p;
146
+ break;
147
+ case 1:
148
+ (r = q), (g = v);
149
+ b = p;
150
+ break;
151
+ case 2:
152
+ (r = p), (g = v);
153
+ b = t;
154
+ break;
155
+ case 3:
156
+ (r = p), (g = q);
157
+ b = v;
158
+ break;
159
+ case 4:
160
+ (r = t), (g = p);
161
+ b = v;
162
+ break;
163
+ case 5:
164
+ (r = v), (g = p);
165
+ b = q;
166
+ break;
308
167
  }
309
- /**
310
- * Extract the alpha value from a 0xTTBBGGRR color.
311
- */
312
- static getAlpha(tbgr) {
313
- scratchUInt32[0] = tbgr;
314
- return 255 - scratchBytes[3];
168
+ return new ColorValue(
169
+ ColorValue.computeTbgrFromComponents(r, g, b, transparency),
170
+ hsv.h,
171
+ );
172
+ }
173
+ static computeTbgrFromString(val, defaultColorIfNotParsed) {
174
+ val = val.toLowerCase();
175
+ let m = /^((?:rgb|hsl)a?)\(([^\)]*)\)/.exec(val);
176
+ if (m) {
177
+ let color;
178
+ const name = m[1];
179
+ const components = m[2];
180
+ const hasPercent = (str) => str[str.length - 1] === '%';
181
+ const floatOrPercent = (str) => {
182
+ const v = parseFloat(str);
183
+ return (
184
+ 255 *
185
+ (0, _numbers.getBoundedValue)(hasPercent(str) ? v / 100 : v, 0, 1)
186
+ );
187
+ };
188
+ const intOrPercent = (str) => {
189
+ const v = hasPercent(str)
190
+ ? (parseFloat(str) / 100) * 255
191
+ : parseInt(str, 10);
192
+ return (0, _numbers.getBoundedValue)(v, 0, 255);
193
+ };
194
+ switch (name) {
195
+ case 'rgb':
196
+ case 'rgba':
197
+ color =
198
+ /^(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(
199
+ components,
200
+ );
201
+ if (color) {
202
+ return [
203
+ this.computeTbgrFromComponents(
204
+ intOrPercent(color[1]),
205
+ intOrPercent(color[2]),
206
+ intOrPercent(color[3]),
207
+ typeof color[4] === 'string'
208
+ ? 255 - floatOrPercent(color[4])
209
+ : 0,
210
+ ),
211
+ undefined,
212
+ ];
213
+ }
214
+ break;
215
+ case 'hsl':
216
+ case 'hsla':
217
+ color =
218
+ /^(\d*\.?\d+)\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(
219
+ components,
220
+ );
221
+ if (color) {
222
+ const h = parseFloat(color[1]);
223
+ const s = parseInt(color[2], 10) / 100;
224
+ const l = parseInt(color[3], 10) / 100;
225
+ const t =
226
+ typeof color[4] === 'string' ? 255 - floatOrPercent(color[4]) : 0;
227
+ return [this.computeTbgrFromHSL(h / 360, s, l, t), h];
228
+ }
229
+ break;
230
+ }
231
+ } else if ((m = /^\#([A-Fa-f\d]+)$/.exec(val))) {
232
+ const hex = m[1];
233
+ const size = hex.length;
234
+ if (size === 3) {
235
+ return [
236
+ this.computeTbgrFromComponents(
237
+ parseInt(hex.charAt(0) + hex.charAt(0), 16),
238
+ parseInt(hex.charAt(1) + hex.charAt(1), 16),
239
+ parseInt(hex.charAt(2) + hex.charAt(2), 16),
240
+ 0,
241
+ ),
242
+ undefined,
243
+ ];
244
+ }
245
+ if (size === 6) {
246
+ return [
247
+ this.computeTbgrFromComponents(
248
+ parseInt(hex.charAt(0) + hex.charAt(1), 16),
249
+ parseInt(hex.charAt(2) + hex.charAt(3), 16),
250
+ parseInt(hex.charAt(4) + hex.charAt(5), 16),
251
+ 0,
252
+ ),
253
+ undefined,
254
+ ];
255
+ }
256
+ if (size === 8) {
257
+ return [
258
+ this.computeTbgrFromComponents(
259
+ parseInt(hex.charAt(0) + hex.charAt(1), 16),
260
+ parseInt(hex.charAt(2) + hex.charAt(3), 16),
261
+ parseInt(hex.charAt(4) + hex.charAt(5), 16),
262
+ 255 - parseInt(hex.charAt(6) + hex.charAt(7), 16),
263
+ ),
264
+ undefined,
265
+ ];
266
+ }
315
267
  }
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)}`;
268
+ if (defaultColorIfNotParsed) {
269
+ return [defaultColorIfNotParsed, undefined];
328
270
  }
329
- /**
330
- * Compute the 0xTTBBGGRR color corresponding to the specified hue, saturation, lightness values.
331
- */
332
- static computeTbgrFromHSL(
333
- /** 0-1 */
334
- h,
335
- /** 0-1 */
336
- s,
337
- /** 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);
271
+ throw new Error('unable to parse string into ColorValue');
272
+ }
273
+ static getColors(tbgr) {
274
+ scratchUInt32[0] = tbgr;
275
+ return {
276
+ b: scratchBytes[2],
277
+ g: scratchBytes[1],
278
+ r: scratchBytes[0],
279
+ t: scratchBytes[3],
280
+ };
281
+ }
282
+ getRgb(includeAlpha) {
283
+ scratchUInt32[0] = this._tbgr;
284
+ if (includeAlpha) {
285
+ return (
286
+ (scratchBytes[0] << 24) +
287
+ (scratchBytes[1] << 16) +
288
+ (scratchBytes[2] << 8) +
289
+ (255 - scratchBytes[3])
290
+ );
370
291
  }
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
- };
292
+ return (scratchBytes[0] << 16) + (scratchBytes[1] << 8) + scratchBytes[2];
293
+ }
294
+ getAlpha() {
295
+ return ColorValue.getAlpha(this._tbgr);
296
+ }
297
+ static getAlpha(tbgr) {
298
+ scratchUInt32[0] = tbgr;
299
+ return 255 - scratchBytes[3];
300
+ }
301
+ toHexString(includeAlpha) {
302
+ if (includeAlpha) {
303
+ let value = this.getRgb(includeAlpha);
304
+ if (value < 0) {
305
+ value = 0xffffffff + value + 1;
306
+ }
307
+ return `#${`00000000${value.toString(16)}`.slice(-8)}`;
379
308
  }
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
- };
309
+ return `#${`000000${this.getRgb().toString(16)}`.slice(-6)}`;
310
+ }
311
+ static computeTbgrFromHSL(h, s, l, transparency = 0) {
312
+ const torgb = (p1, q1, t) => {
313
+ if (t < 0) {
314
+ t += 1;
315
+ }
316
+ if (t > 1) {
317
+ t -= 1;
318
+ }
319
+ if (t < 1 / 6) {
320
+ return p1 + (q1 - p1) * 6 * t;
321
+ }
322
+ if (t < 1 / 2) {
323
+ return q1;
324
+ }
325
+ if (t < 2 / 3) {
326
+ return p1 + (q1 - p1) * 6 * (2 / 3 - t);
327
+ }
328
+ return p1;
329
+ };
330
+ const hue2rgb = (p1, q1, t) => Math.round(torgb(p1, q1, t) * 255);
331
+ const modulo = (n, m) => ((n % m) + m) % m;
332
+ h = modulo(h, 1);
333
+ s = (0, _numbers.getBoundedValue)(s, 0, 1);
334
+ l = (0, _numbers.getBoundedValue)(l, 0, 1);
335
+ if (s === 0) {
336
+ l *= 255;
337
+ return this.computeTbgrFromComponents(l, l, l, transparency);
418
338
  }
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 };
339
+ const p = l <= 0.5 ? l * (1 + s) : l + s - l * s;
340
+ const q = 2 * l - p;
341
+ return this.computeTbgrFromComponents(
342
+ hue2rgb(q, p, h + 1 / 3),
343
+ hue2rgb(q, p, h),
344
+ hue2rgb(q, p, h - 1 / 3),
345
+ transparency,
346
+ );
347
+ }
348
+ toHslColor() {
349
+ return {
350
+ ...ColorValue.toHsl(this._tbgr),
351
+ ...(this._hue != undefined && {
352
+ h: this._hue,
353
+ }),
354
+ };
355
+ }
356
+ static toHsl(tbgr) {
357
+ const { r, g, b } = ColorValue.getColors(tbgr);
358
+ const red = r / 255;
359
+ const green = g / 255;
360
+ const blue = b / 255;
361
+ const cMin = Math.min(red, green, blue);
362
+ const cMax = Math.max(red, green, blue);
363
+ const delta = cMax - cMin;
364
+ let hue = 0;
365
+ let saturation = 0;
366
+ if (0 === delta) {
367
+ hue = 0;
368
+ } else if (red === cMax) {
369
+ hue = ((green - blue) / delta) % 6;
370
+ } else if (green === cMax) {
371
+ hue = (blue - red) / delta + 2;
372
+ } else {
373
+ hue = (red - green) / delta + 4;
425
374
  }
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
- };
375
+ hue = Math.round(hue * 60);
376
+ if (hue < 0) {
377
+ hue += 360;
434
378
  }
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
- };
379
+ let lightness = (cMax + cMin) / 2;
380
+ saturation = 0 === delta ? 0 : delta / (1 - Math.abs(2 * lightness - 1));
381
+ saturation = Number((saturation * 100).toFixed(1));
382
+ lightness = Number((lightness * 100).toFixed(1));
383
+ return {
384
+ h: hue,
385
+ s: saturation,
386
+ l: lightness,
387
+ a: this.getAlpha(tbgr) / 255,
388
+ };
389
+ }
390
+ toRgbColor() {
391
+ const { r, g, b } = ColorValue.getColors(this._tbgr);
392
+ return {
393
+ r,
394
+ g,
395
+ b,
396
+ a: this.getAlpha() / 255,
397
+ };
398
+ }
399
+ toHsvColor() {
400
+ return {
401
+ ...ColorValue.toHsv(this._tbgr),
402
+ ...(this._hue != undefined && {
403
+ h: this._hue,
404
+ }),
405
+ };
406
+ }
407
+ static toHsv(tbgr) {
408
+ const { r, g, b } = ColorValue.getColors(tbgr);
409
+ const red = r / 255;
410
+ const green = g / 255;
411
+ const blue = b / 255;
412
+ const cMin = Math.min(red, green, blue);
413
+ const cMax = Math.max(red, green, blue);
414
+ const delta = cMax - cMin;
415
+ let hue = 0;
416
+ if (0 === delta) {
417
+ hue = 0;
418
+ } else if (red === cMax) {
419
+ hue = ((green - blue) / delta) % 6;
420
+ } else if (green === cMax) {
421
+ hue = (blue - red) / delta + 2;
422
+ } else {
423
+ hue = (red - green) / delta + 4;
474
424
  }
475
- /** True if the value of this ColorValue is the same as another ColorValue. */
476
- equals(other) {
477
- return this._tbgr === other._tbgr;
425
+ hue = Math.round(hue * 60);
426
+ if (hue < 0) {
427
+ hue += 360;
478
428
  }
479
- static getFormattedColorNumber(value, precision = 1) {
480
- if (0 === precision) {
481
- Math.round(value).toString();
482
- }
483
- return Number(value.toFixed(precision)).toString();
429
+ let brightness = cMax;
430
+ let saturation = cMax === 0 ? 0 : delta / cMax;
431
+ saturation = Number((saturation * 100).toFixed(1));
432
+ brightness = Number((brightness * 100).toFixed(1));
433
+ return {
434
+ h: hue,
435
+ s: saturation,
436
+ v: brightness,
437
+ a: this.getAlpha(tbgr) / 255,
438
+ };
439
+ }
440
+ equals(other) {
441
+ return this._tbgr === other._tbgr;
442
+ }
443
+ static getFormattedColorNumber(value, precision = 1) {
444
+ if (0 === precision) {
445
+ Math.round(value).toString();
484
446
  }
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})`;
447
+ return Number(value.toFixed(precision)).toString();
448
+ }
449
+ toRgbString(includeAlpha) {
450
+ const rgb = this.toRgbColor();
451
+ const rgbString = `${rgb.r}, ${rgb.g}, ${rgb.b}`;
452
+ if (includeAlpha) {
453
+ const alpha = rgb.a ?? 1;
454
+ return `rgba(${rgbString}, ${ColorValue.getFormattedColorNumber(
455
+ alpha,
456
+ 2,
457
+ )})`;
494
458
  }
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})`;
459
+ return `rgb(${rgbString})`;
460
+ }
461
+ toHslString(includeAlpha) {
462
+ const hsl = this.toHslColor();
463
+ const hslString = `${ColorValue.getFormattedColorNumber(
464
+ this._hue ?? hsl.h,
465
+ )}, ${ColorValue.getFormattedColorNumber(
466
+ hsl.s,
467
+ )}%, ${ColorValue.getFormattedColorNumber(hsl.l)}%`;
468
+ if (includeAlpha) {
469
+ const alpha = hsl.a ?? 1;
470
+ return `hsla(${hslString}, ${ColorValue.getFormattedColorNumber(
471
+ alpha,
472
+ 2,
473
+ )})`;
504
474
  }
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})`;
475
+ return `hsl(${hslString})`;
476
+ }
477
+ toHsvString(includeAlpha) {
478
+ const hsv = this.toHsvColor();
479
+ const hsvString = `${this._hue ?? hsv.h}, ${hsv.s}%, ${hsv.v}%`;
480
+ if (includeAlpha) {
481
+ const alpha = hsv.a ?? 1;
482
+ return `hsva(${hsvString}, ${ColorValue.getFormattedColorNumber(
483
+ alpha,
484
+ 2,
485
+ )})`;
514
486
  }
487
+ return `hsv(${hsvString})`;
488
+ }
489
+ constructor(tbgr, hue) {
490
+ _define_property._(this, '_tbgr', void 0);
491
+ _define_property._(this, '_hue', void 0);
492
+ scratchUInt32[0] = tbgr;
493
+ this._tbgr = scratchUInt32[0];
494
+ this._hue = hue;
495
+ }
515
496
  }
516
- exports.ColorValue = ColorValue;