@itwin/core-react 4.0.0-dev.2 → 4.0.0-dev.21

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 (657) hide show
  1. package/CHANGELOG.md +144 -7
  2. package/ContributeGuidelines.md +17 -14
  3. package/LICENSE.md +1 -1
  4. package/README.md +2 -2
  5. package/lib/cjs/core-react/UiCore.js +1 -1
  6. package/lib/cjs/core-react/UiCore.js.map +1 -1
  7. package/lib/cjs/core-react/_geometry.scss +70 -70
  8. package/lib/cjs/core-react/_helpers.scss +51 -51
  9. package/lib/cjs/core-react/_math.scss +13 -13
  10. package/lib/cjs/core-react/_scrollbar.scss +51 -51
  11. package/lib/cjs/core-react/_typography.scss +44 -44
  12. package/lib/cjs/core-react/_z-index.scss +65 -65
  13. package/lib/cjs/core-react/autosuggest/AutoSuggest.d.ts +2 -2
  14. package/lib/cjs/core-react/autosuggest/AutoSuggest.d.ts.map +1 -1
  15. package/lib/cjs/core-react/autosuggest/AutoSuggest.js +1 -1
  16. package/lib/cjs/core-react/autosuggest/AutoSuggest.js.map +1 -1
  17. package/lib/cjs/core-react/autosuggest/AutoSuggest.scss +79 -82
  18. package/lib/cjs/core-react/badge/Badge.js.map +1 -1
  19. package/lib/cjs/core-react/badge/Badge.scss +13 -13
  20. package/lib/cjs/core-react/badge/BadgeUtilities.js.map +1 -1
  21. package/lib/cjs/core-react/badge/BetaBadge.d.ts +0 -1
  22. package/lib/cjs/core-react/badge/BetaBadge.d.ts.map +1 -1
  23. package/lib/cjs/core-react/badge/BetaBadge.js +0 -1
  24. package/lib/cjs/core-react/badge/BetaBadge.js.map +1 -1
  25. package/lib/cjs/core-react/badge/NewBadge.js.map +1 -1
  26. package/lib/cjs/core-react/badge/NewBadge.scss +9 -9
  27. package/lib/cjs/core-react/base/Centered.js.map +1 -1
  28. package/lib/cjs/core-react/base/Div.js.map +1 -1
  29. package/lib/cjs/core-react/base/DivWithOutsideClick.js.map +1 -1
  30. package/lib/cjs/core-react/base/FillCentered.js.map +1 -1
  31. package/lib/cjs/core-react/base/FlexWrapContainer.js.map +1 -1
  32. package/lib/cjs/core-react/base/Gap.js +1 -1
  33. package/lib/cjs/core-react/base/Gap.js.map +1 -1
  34. package/lib/cjs/core-react/base/PointerEvents.js.map +1 -1
  35. package/lib/cjs/core-react/base/ScrollView.js.map +1 -1
  36. package/lib/cjs/core-react/base/base.scss +42 -42
  37. package/lib/cjs/core-react/base/classes.scss +13 -13
  38. package/lib/cjs/core-react/base/index.scss +5 -5
  39. package/lib/cjs/core-react/button/UnderlinedButton.js.map +1 -1
  40. package/lib/cjs/core-react/button/UnderlinedButton.scss +32 -32
  41. package/lib/cjs/core-react/checklistbox/CheckListBox.js.map +1 -1
  42. package/lib/cjs/core-react/checklistbox/CheckListBox.scss +21 -22
  43. package/lib/cjs/core-react/classes.scss +11 -14
  44. package/lib/cjs/core-react/colorthemes.scss +61 -90
  45. package/lib/cjs/core-react/colorvariables.scss +131 -154
  46. package/lib/cjs/core-react/contextmenu/ContextMenu.d.ts +1 -1
  47. package/lib/cjs/core-react/contextmenu/ContextMenu.d.ts.map +1 -1
  48. package/lib/cjs/core-react/contextmenu/ContextMenu.js +2 -3
  49. package/lib/cjs/core-react/contextmenu/ContextMenu.js.map +1 -1
  50. package/lib/cjs/core-react/contextmenu/ContextMenu.scss +236 -237
  51. package/lib/cjs/core-react/contextmenu/ContextMenuDirection.js.map +1 -1
  52. package/lib/cjs/core-react/contextmenu/ContextMenuDivider.js.map +1 -1
  53. package/lib/cjs/core-react/contextmenu/ContextMenuItem.js +1 -1
  54. package/lib/cjs/core-react/contextmenu/ContextMenuItem.js.map +1 -1
  55. package/lib/cjs/core-react/contextmenu/ContextSubMenu.d.ts +1 -1
  56. package/lib/cjs/core-react/contextmenu/ContextSubMenu.d.ts.map +1 -1
  57. package/lib/cjs/core-react/contextmenu/ContextSubMenu.js +5 -2
  58. package/lib/cjs/core-react/contextmenu/ContextSubMenu.js.map +1 -1
  59. package/lib/cjs/core-react/contextmenu/GlobalContextMenu.d.ts.map +1 -1
  60. package/lib/cjs/core-react/contextmenu/GlobalContextMenu.js +6 -4
  61. package/lib/cjs/core-react/contextmenu/GlobalContextMenu.js.map +1 -1
  62. package/lib/cjs/core-react/contextmenu/PopupContextMenu.js.map +1 -1
  63. package/lib/cjs/core-react/contextmenu/TildeFinder.js +1 -1
  64. package/lib/cjs/core-react/contextmenu/TildeFinder.js.map +1 -1
  65. package/lib/cjs/core-react/dialog/Dialog.d.ts.map +1 -1
  66. package/lib/cjs/core-react/dialog/Dialog.js +18 -10
  67. package/lib/cjs/core-react/dialog/Dialog.js.map +1 -1
  68. package/lib/cjs/core-react/dialog/Dialog.scss +245 -244
  69. package/lib/cjs/core-react/dialog/GlobalDialog.js +1 -2
  70. package/lib/cjs/core-react/dialog/GlobalDialog.js.map +1 -1
  71. package/lib/cjs/core-react/elementseparator/ElementSeparator.js +2 -2
  72. package/lib/cjs/core-react/elementseparator/ElementSeparator.js.map +1 -1
  73. package/lib/cjs/core-react/elementseparator/ElementSeparator.scss +85 -85
  74. package/lib/cjs/core-react/enums/Alignment.js.map +1 -1
  75. package/lib/cjs/core-react/enums/CheckBoxState.js.map +1 -1
  76. package/lib/cjs/core-react/enums/Orientation.js.map +1 -1
  77. package/lib/cjs/core-react/enums/SortDirection.js.map +1 -1
  78. package/lib/cjs/core-react/enums/TimeFormat.js.map +1 -1
  79. package/lib/cjs/core-react/expandable/ExpandableList.js +1 -1
  80. package/lib/cjs/core-react/expandable/ExpandableList.js.map +1 -1
  81. package/lib/cjs/core-react/expandable/ExpandableList.scss +8 -8
  82. package/lib/cjs/core-react/expandable/classes.scss +7 -7
  83. package/lib/cjs/core-react/expandable/index.scss +5 -5
  84. package/lib/cjs/core-react/expandable/list.scss +35 -35
  85. package/lib/cjs/core-react/focus/ItemKeyboardNavigator.d.ts +1 -1
  86. package/lib/cjs/core-react/focus/ItemKeyboardNavigator.d.ts.map +1 -1
  87. package/lib/cjs/core-react/focus/ItemKeyboardNavigator.js.map +1 -1
  88. package/lib/cjs/core-react/focustrap/FocusTrap.js.map +1 -1
  89. package/lib/cjs/core-react/hocs/withIsPressed.js.map +1 -1
  90. package/lib/cjs/core-react/hocs/withOnOutsideClick.js +1 -2
  91. package/lib/cjs/core-react/hocs/withOnOutsideClick.js.map +1 -1
  92. package/lib/cjs/core-react/hocs/withTimeout.js.map +1 -1
  93. package/lib/cjs/core-react/icons/ConditionalIconItem.d.ts +27 -0
  94. package/lib/cjs/core-react/icons/ConditionalIconItem.d.ts.map +1 -0
  95. package/lib/cjs/core-react/icons/ConditionalIconItem.js +65 -0
  96. package/lib/cjs/core-react/icons/ConditionalIconItem.js.map +1 -0
  97. package/lib/cjs/core-react/icons/IconComponent.d.ts +3 -2
  98. package/lib/cjs/core-react/icons/IconComponent.d.ts.map +1 -1
  99. package/lib/cjs/core-react/icons/IconComponent.js +1 -7
  100. package/lib/cjs/core-react/icons/IconComponent.js.map +1 -1
  101. package/lib/cjs/core-react/icons/IconComponent.scss +20 -20
  102. package/lib/cjs/core-react/icons/SvgPath.d.ts +1 -1
  103. package/lib/cjs/core-react/icons/SvgPath.d.ts.map +1 -1
  104. package/lib/cjs/core-react/icons/SvgPath.js +2 -2
  105. package/lib/cjs/core-react/icons/SvgPath.js.map +1 -1
  106. package/lib/cjs/core-react/icons/{SvgSprite.scss → SvgPath.scss} +15 -15
  107. package/lib/cjs/core-react/icons/WebFontIcon.d.ts +0 -1
  108. package/lib/cjs/core-react/icons/WebFontIcon.d.ts.map +1 -1
  109. package/lib/cjs/core-react/icons/WebFontIcon.js +0 -1
  110. package/lib/cjs/core-react/icons/WebFontIcon.js.map +1 -1
  111. package/lib/cjs/core-react/icons/WebFontIcon.scss +17 -17
  112. package/lib/cjs/core-react/icons/classes.scss +10 -10
  113. package/lib/cjs/core-react/icons/index.scss +6 -6
  114. package/lib/cjs/core-react/icons/mixins.scss +25 -25
  115. package/lib/cjs/core-react/icons/variables.scss +12 -21
  116. package/lib/cjs/core-react/imagecheckbox/ImageCheckBox.js.map +1 -1
  117. package/lib/cjs/core-react/imagecheckbox/ImageCheckBox.scss +54 -54
  118. package/lib/cjs/core-react/index.scss +21 -23
  119. package/lib/cjs/core-react/inputs/Input.js.map +1 -1
  120. package/lib/cjs/core-react/inputs/InputLabel.d.ts.map +1 -1
  121. package/lib/cjs/core-react/inputs/InputLabel.js +9 -1
  122. package/lib/cjs/core-react/inputs/InputLabel.js.map +1 -1
  123. package/lib/cjs/core-react/inputs/InputStatus.js.map +1 -1
  124. package/lib/cjs/core-react/inputs/LabeledComponentProps.js.map +1 -1
  125. package/lib/cjs/core-react/inputs/classes.scss +8 -8
  126. package/lib/cjs/core-react/inputs/iconinput/IconInput.js.map +1 -1
  127. package/lib/cjs/core-react/inputs/iconinput/IconInput.scss +35 -35
  128. package/lib/cjs/core-react/inputs/index.scss +9 -9
  129. package/lib/cjs/core-react/inputs/input-label.scss +90 -90
  130. package/lib/cjs/core-react/inputs/input.scss +58 -58
  131. package/lib/cjs/core-react/inputs/numberinput/NumberInput.d.ts +6 -1
  132. package/lib/cjs/core-react/inputs/numberinput/NumberInput.d.ts.map +1 -1
  133. package/lib/cjs/core-react/inputs/numberinput/NumberInput.js +13 -8
  134. package/lib/cjs/core-react/inputs/numberinput/NumberInput.js.map +1 -1
  135. package/lib/cjs/core-react/inputs/numberinput/NumberInput.scss +88 -89
  136. package/lib/cjs/core-react/inputs/variables.scss +38 -38
  137. package/lib/cjs/core-react/layout-variables.scss +17 -17
  138. package/lib/cjs/core-react/listbox/Listbox.d.ts +1 -1
  139. package/lib/cjs/core-react/listbox/Listbox.d.ts.map +1 -1
  140. package/lib/cjs/core-react/listbox/Listbox.js +2 -3
  141. package/lib/cjs/core-react/listbox/Listbox.js.map +1 -1
  142. package/lib/cjs/core-react/listbox/Listbox.scss +54 -54
  143. package/lib/cjs/core-react/loading/LoadingBar.js +1 -1
  144. package/lib/cjs/core-react/loading/LoadingBar.js.map +1 -1
  145. package/lib/cjs/core-react/loading/LoadingBar.scss +29 -29
  146. package/lib/cjs/core-react/loading/LoadingPrompt.js +1 -1
  147. package/lib/cjs/core-react/loading/LoadingPrompt.js.map +1 -1
  148. package/lib/cjs/core-react/loading/LoadingPrompt.scss +33 -33
  149. package/lib/cjs/core-react/loading/LoadingSpinner.d.ts +1 -1
  150. package/lib/cjs/core-react/loading/LoadingSpinner.d.ts.map +1 -1
  151. package/lib/cjs/core-react/loading/LoadingSpinner.js +1 -1
  152. package/lib/cjs/core-react/loading/LoadingSpinner.js.map +1 -1
  153. package/lib/cjs/core-react/loading/LoadingSpinner.scss +26 -26
  154. package/lib/cjs/core-react/loading/LoadingStatus.js +1 -1
  155. package/lib/cjs/core-react/loading/LoadingStatus.js.map +1 -1
  156. package/lib/cjs/core-react/loading/LoadingStatus.scss +20 -20
  157. package/lib/cjs/core-react/loading/index.scss +5 -5
  158. package/lib/cjs/core-react/loading/mixins.scss +57 -57
  159. package/lib/cjs/core-react/messagebox/MessageBox.d.ts +13 -1
  160. package/lib/cjs/core-react/messagebox/MessageBox.d.ts.map +1 -1
  161. package/lib/cjs/core-react/messagebox/MessageBox.js +55 -11
  162. package/lib/cjs/core-react/messagebox/MessageBox.js.map +1 -1
  163. package/lib/cjs/core-react/messagebox/MessageBox.scss +56 -46
  164. package/lib/cjs/core-react/notification/MessageRenderer.js +1 -1
  165. package/lib/cjs/core-react/notification/MessageRenderer.js.map +1 -1
  166. package/lib/cjs/core-react/notification/MessageType.d.ts +1 -1
  167. package/lib/cjs/core-react/notification/MessageType.d.ts.map +1 -1
  168. package/lib/cjs/core-react/notification/MessageType.js.map +1 -1
  169. package/lib/cjs/core-react/popup/Popup.d.ts.map +1 -1
  170. package/lib/cjs/core-react/popup/Popup.js +7 -8
  171. package/lib/cjs/core-react/popup/Popup.js.map +1 -1
  172. package/lib/cjs/core-react/popup/Popup.scss +240 -240
  173. package/lib/cjs/core-react/radialmenu/Annulus.js.map +1 -1
  174. package/lib/cjs/core-react/radialmenu/RadialMenu.js +1 -1
  175. package/lib/cjs/core-react/radialmenu/RadialMenu.js.map +1 -1
  176. package/lib/cjs/core-react/radialmenu/RadialMenu.scss +55 -55
  177. package/lib/cjs/core-react/searchbox/SearchBox.d.ts.map +1 -1
  178. package/lib/cjs/core-react/searchbox/SearchBox.js +8 -6
  179. package/lib/cjs/core-react/searchbox/SearchBox.js.map +1 -1
  180. package/lib/cjs/core-react/searchbox/SearchBox.scss +47 -51
  181. package/lib/cjs/core-react/settings/SettingsContainer.js +1 -1
  182. package/lib/cjs/core-react/settings/SettingsContainer.js.map +1 -1
  183. package/lib/cjs/core-react/settings/SettingsContainer.scss +68 -66
  184. package/lib/cjs/core-react/settings/SettingsManager.js.map +1 -1
  185. package/lib/cjs/core-react/style/baseline.scss +11 -11
  186. package/lib/cjs/core-react/style/breakpoints.scss +41 -41
  187. package/lib/cjs/core-react/style/colors.scss +77 -77
  188. package/lib/cjs/core-react/style/index.scss +10 -17
  189. package/lib/cjs/core-react/style/mixins.scss +27 -27
  190. package/lib/cjs/core-react/style/opacity.scss +16 -16
  191. package/lib/cjs/core-react/style/themecolors.scss +123 -129
  192. package/lib/cjs/core-react/tabs/Tabs.js.map +1 -1
  193. package/lib/cjs/core-react/tabs/VerticalTabs.js.map +1 -1
  194. package/lib/cjs/core-react/tabs/classes.scss +7 -7
  195. package/lib/cjs/core-react/tabs/index.scss +5 -5
  196. package/lib/cjs/core-react/tabs/tabs.scss +96 -106
  197. package/lib/cjs/core-react/tabs/vertical.scss +51 -58
  198. package/lib/cjs/core-react/text/BlockText.d.ts.map +1 -1
  199. package/lib/cjs/core-react/text/BlockText.js +1 -0
  200. package/lib/cjs/core-react/text/BlockText.js.map +1 -1
  201. package/lib/cjs/core-react/text/BodyText.d.ts +1 -0
  202. package/lib/cjs/core-react/text/BodyText.d.ts.map +1 -1
  203. package/lib/cjs/core-react/text/BodyText.js +2 -0
  204. package/lib/cjs/core-react/text/BodyText.js.map +1 -1
  205. package/lib/cjs/core-react/text/DisabledText.d.ts.map +1 -1
  206. package/lib/cjs/core-react/text/DisabledText.js +1 -0
  207. package/lib/cjs/core-react/text/DisabledText.js.map +1 -1
  208. package/lib/cjs/core-react/text/FilteredText.js +3 -3
  209. package/lib/cjs/core-react/text/FilteredText.js.map +1 -1
  210. package/lib/cjs/core-react/text/FilteredText.scss +10 -10
  211. package/lib/cjs/core-react/text/MutedText.d.ts +1 -0
  212. package/lib/cjs/core-react/text/MutedText.d.ts.map +1 -1
  213. package/lib/cjs/core-react/text/MutedText.js +2 -0
  214. package/lib/cjs/core-react/text/MutedText.js.map +1 -1
  215. package/lib/cjs/core-react/text/StyledText.d.ts +1 -0
  216. package/lib/cjs/core-react/text/StyledText.d.ts.map +1 -1
  217. package/lib/cjs/core-react/text/StyledText.js +1 -0
  218. package/lib/cjs/core-react/text/StyledText.js.map +1 -1
  219. package/lib/cjs/core-react/text/TextProps.js.map +1 -1
  220. package/lib/cjs/core-react/text/block.scss +15 -10
  221. package/lib/cjs/core-react/text/body.scss +13 -10
  222. package/lib/cjs/core-react/text/classes.scss +10 -10
  223. package/lib/cjs/core-react/text/disabled.scss +10 -10
  224. package/lib/cjs/core-react/text/index.scss +10 -10
  225. package/lib/cjs/core-react/text/mixins.scss +24 -24
  226. package/lib/cjs/core-react/text/muted.scss +10 -10
  227. package/lib/cjs/core-react/tree/Branch.js.map +1 -1
  228. package/lib/cjs/core-react/tree/Branch.scss +12 -12
  229. package/lib/cjs/core-react/tree/ExpansionToggle.d.ts.map +1 -1
  230. package/lib/cjs/core-react/tree/ExpansionToggle.js +3 -1
  231. package/lib/cjs/core-react/tree/ExpansionToggle.js.map +1 -1
  232. package/lib/cjs/core-react/tree/ExpansionToggle.scss +32 -28
  233. package/lib/cjs/core-react/tree/Node.d.ts +2 -2
  234. package/lib/cjs/core-react/tree/Node.d.ts.map +1 -1
  235. package/lib/cjs/core-react/tree/Node.js +2 -3
  236. package/lib/cjs/core-react/tree/Node.js.map +1 -1
  237. package/lib/cjs/core-react/tree/Node.scss +68 -84
  238. package/lib/cjs/core-react/tree/Placeholder.js.map +1 -1
  239. package/lib/cjs/core-react/tree/Placeholder.scss +17 -20
  240. package/lib/cjs/core-react/tree/Tree.js.map +1 -1
  241. package/lib/cjs/core-react/tree/Tree.scss +21 -21
  242. package/lib/cjs/core-react/uistate/LocalStateStorage.js.map +1 -1
  243. package/lib/cjs/core-react/uistate/UiStateEntry.js.map +1 -1
  244. package/lib/cjs/core-react/uistate/UiStateStorage.js.map +1 -1
  245. package/lib/cjs/core-react/utils/IconHelper.js.map +1 -1
  246. package/lib/cjs/core-react/utils/IconWebComponent.js +1 -1
  247. package/lib/cjs/core-react/utils/IconWebComponent.js.map +1 -1
  248. package/lib/cjs/core-react/utils/Point.js +4 -4
  249. package/lib/cjs/core-react/utils/Point.js.map +1 -1
  250. package/lib/cjs/core-react/utils/Props.d.ts +1 -1
  251. package/lib/cjs/core-react/utils/Props.d.ts.map +1 -1
  252. package/lib/cjs/core-react/utils/Props.js.map +1 -1
  253. package/lib/cjs/core-react/utils/Rectangle.js +7 -7
  254. package/lib/cjs/core-react/utils/Rectangle.js.map +1 -1
  255. package/lib/cjs/core-react/utils/ScrollPositionMaintainer.js.map +1 -1
  256. package/lib/cjs/core-react/utils/Size.js +4 -4
  257. package/lib/cjs/core-react/utils/Size.js.map +1 -1
  258. package/lib/cjs/core-react/utils/Timer.d.ts +1 -1
  259. package/lib/cjs/core-react/utils/Timer.d.ts.map +1 -1
  260. package/lib/cjs/core-react/utils/Timer.js.map +1 -1
  261. package/lib/cjs/core-react/utils/UiGeometry.js.map +1 -1
  262. package/lib/cjs/core-react/utils/flattenChildren.js.map +1 -1
  263. package/lib/cjs/core-react/utils/getBestBWContrastColor.js +3 -3
  264. package/lib/cjs/core-react/utils/getBestBWContrastColor.js.map +1 -1
  265. package/lib/cjs/core-react/utils/getCssVariable.js +1 -1
  266. package/lib/cjs/core-react/utils/getCssVariable.js.map +1 -1
  267. package/lib/cjs/core-react/utils/getDisplayName.js.map +1 -1
  268. package/lib/cjs/core-react/utils/getUserColor.js.map +1 -1
  269. package/lib/cjs/core-react/utils/hooks/ResizeObserverPolyfill.d.ts +1 -1
  270. package/lib/cjs/core-react/utils/hooks/ResizeObserverPolyfill.d.ts.map +1 -1
  271. package/lib/cjs/core-react/utils/hooks/ResizeObserverPolyfill.js.map +1 -1
  272. package/lib/cjs/core-react/utils/hooks/useCrossOriginPopup.js +1 -2
  273. package/lib/cjs/core-react/utils/hooks/useCrossOriginPopup.js.map +1 -1
  274. package/lib/cjs/core-react/utils/hooks/useDisposable.js.map +1 -1
  275. package/lib/cjs/core-react/utils/hooks/useEffectSkipFirst.js.map +1 -1
  276. package/lib/cjs/core-react/utils/hooks/useEventListener.js.map +1 -1
  277. package/lib/cjs/core-react/utils/hooks/useInterval.js.map +1 -1
  278. package/lib/cjs/core-react/utils/hooks/useLifecycleLogging.js.map +1 -1
  279. package/lib/cjs/core-react/utils/hooks/useOnOutsideClick.d.ts +1 -1
  280. package/lib/cjs/core-react/utils/hooks/useOnOutsideClick.d.ts.map +1 -1
  281. package/lib/cjs/core-react/utils/hooks/useOnOutsideClick.js.map +1 -1
  282. package/lib/cjs/core-react/utils/hooks/useProximityToMouse.d.ts.map +1 -1
  283. package/lib/cjs/core-react/utils/hooks/useProximityToMouse.js +2 -2
  284. package/lib/cjs/core-react/utils/hooks/useProximityToMouse.js.map +1 -1
  285. package/lib/cjs/core-react/utils/hooks/useRefEffect.js.map +1 -1
  286. package/lib/cjs/core-react/utils/hooks/useRefState.js.map +1 -1
  287. package/lib/cjs/core-react/utils/hooks/useRefs.d.ts +1 -1
  288. package/lib/cjs/core-react/utils/hooks/useRefs.d.ts.map +1 -1
  289. package/lib/cjs/core-react/utils/hooks/useRefs.js.map +1 -1
  290. package/lib/cjs/core-react/utils/hooks/useResizeObserver.js +8 -13
  291. package/lib/cjs/core-react/utils/hooks/useResizeObserver.js.map +1 -1
  292. package/lib/cjs/core-react/utils/hooks/useTargeted.js.map +1 -1
  293. package/lib/cjs/core-react/utils/hooks/useThrottledFn.js.map +1 -1
  294. package/lib/cjs/core-react/utils/hooks/useWidgetOpacityContext.js.map +1 -1
  295. package/lib/cjs/core-react/utils/isPromiseLike.js.map +1 -1
  296. package/lib/cjs/core-react/utils/shallowDiffers.js.map +1 -1
  297. package/lib/cjs/core-react/utils/typeUtils.d.ts +1 -1
  298. package/lib/cjs/core-react/utils/typeUtils.d.ts.map +1 -1
  299. package/lib/cjs/core-react/utils/typeUtils.js.map +1 -1
  300. package/lib/cjs/core-react.d.ts +1 -1
  301. package/lib/cjs/core-react.d.ts.map +1 -1
  302. package/lib/cjs/core-react.js +6 -2
  303. package/lib/cjs/core-react.js.map +1 -1
  304. package/lib/esm/core-react/UiCore.js +2 -1
  305. package/lib/esm/core-react/UiCore.js.map +1 -1
  306. package/lib/esm/core-react/_geometry.scss +70 -70
  307. package/lib/esm/core-react/_helpers.scss +51 -51
  308. package/lib/esm/core-react/_math.scss +13 -13
  309. package/lib/esm/core-react/_scrollbar.scss +51 -51
  310. package/lib/esm/core-react/_typography.scss +44 -44
  311. package/lib/esm/core-react/_z-index.scss +65 -65
  312. package/lib/esm/core-react/autosuggest/AutoSuggest.d.ts +2 -2
  313. package/lib/esm/core-react/autosuggest/AutoSuggest.d.ts.map +1 -1
  314. package/lib/esm/core-react/autosuggest/AutoSuggest.js +1 -1
  315. package/lib/esm/core-react/autosuggest/AutoSuggest.js.map +1 -1
  316. package/lib/esm/core-react/autosuggest/AutoSuggest.scss +79 -82
  317. package/lib/esm/core-react/badge/Badge.js.map +1 -1
  318. package/lib/esm/core-react/badge/Badge.scss +13 -13
  319. package/lib/esm/core-react/badge/BadgeUtilities.js.map +1 -1
  320. package/lib/esm/core-react/badge/BetaBadge.d.ts +0 -1
  321. package/lib/esm/core-react/badge/BetaBadge.d.ts.map +1 -1
  322. package/lib/esm/core-react/badge/BetaBadge.js +0 -1
  323. package/lib/esm/core-react/badge/BetaBadge.js.map +1 -1
  324. package/lib/esm/core-react/badge/NewBadge.js.map +1 -1
  325. package/lib/esm/core-react/badge/NewBadge.scss +9 -9
  326. package/lib/esm/core-react/base/Centered.js.map +1 -1
  327. package/lib/esm/core-react/base/Div.js.map +1 -1
  328. package/lib/esm/core-react/base/DivWithOutsideClick.js.map +1 -1
  329. package/lib/esm/core-react/base/FillCentered.js.map +1 -1
  330. package/lib/esm/core-react/base/FlexWrapContainer.js.map +1 -1
  331. package/lib/esm/core-react/base/Gap.js +1 -1
  332. package/lib/esm/core-react/base/Gap.js.map +1 -1
  333. package/lib/esm/core-react/base/PointerEvents.js.map +1 -1
  334. package/lib/esm/core-react/base/ScrollView.js.map +1 -1
  335. package/lib/esm/core-react/base/base.scss +42 -42
  336. package/lib/esm/core-react/base/classes.scss +13 -13
  337. package/lib/esm/core-react/base/index.scss +5 -5
  338. package/lib/esm/core-react/button/UnderlinedButton.js.map +1 -1
  339. package/lib/esm/core-react/button/UnderlinedButton.scss +32 -32
  340. package/lib/esm/core-react/checklistbox/CheckListBox.js.map +1 -1
  341. package/lib/esm/core-react/checklistbox/CheckListBox.scss +21 -22
  342. package/lib/esm/core-react/classes.scss +11 -14
  343. package/lib/esm/core-react/colorthemes.scss +61 -90
  344. package/lib/esm/core-react/colorvariables.scss +131 -154
  345. package/lib/esm/core-react/contextmenu/ContextMenu.d.ts +1 -1
  346. package/lib/esm/core-react/contextmenu/ContextMenu.d.ts.map +1 -1
  347. package/lib/esm/core-react/contextmenu/ContextMenu.js +3 -3
  348. package/lib/esm/core-react/contextmenu/ContextMenu.js.map +1 -1
  349. package/lib/esm/core-react/contextmenu/ContextMenu.scss +236 -237
  350. package/lib/esm/core-react/contextmenu/ContextMenuDirection.js.map +1 -1
  351. package/lib/esm/core-react/contextmenu/ContextMenuDivider.js.map +1 -1
  352. package/lib/esm/core-react/contextmenu/ContextMenuItem.js +2 -1
  353. package/lib/esm/core-react/contextmenu/ContextMenuItem.js.map +1 -1
  354. package/lib/esm/core-react/contextmenu/ContextSubMenu.d.ts +1 -1
  355. package/lib/esm/core-react/contextmenu/ContextSubMenu.d.ts.map +1 -1
  356. package/lib/esm/core-react/contextmenu/ContextSubMenu.js +6 -2
  357. package/lib/esm/core-react/contextmenu/ContextSubMenu.js.map +1 -1
  358. package/lib/esm/core-react/contextmenu/GlobalContextMenu.d.ts.map +1 -1
  359. package/lib/esm/core-react/contextmenu/GlobalContextMenu.js +6 -4
  360. package/lib/esm/core-react/contextmenu/GlobalContextMenu.js.map +1 -1
  361. package/lib/esm/core-react/contextmenu/PopupContextMenu.js.map +1 -1
  362. package/lib/esm/core-react/contextmenu/TildeFinder.js +2 -1
  363. package/lib/esm/core-react/contextmenu/TildeFinder.js.map +1 -1
  364. package/lib/esm/core-react/dialog/Dialog.d.ts.map +1 -1
  365. package/lib/esm/core-react/dialog/Dialog.js +19 -10
  366. package/lib/esm/core-react/dialog/Dialog.js.map +1 -1
  367. package/lib/esm/core-react/dialog/Dialog.scss +245 -244
  368. package/lib/esm/core-react/dialog/GlobalDialog.js +1 -2
  369. package/lib/esm/core-react/dialog/GlobalDialog.js.map +1 -1
  370. package/lib/esm/core-react/elementseparator/ElementSeparator.js +2 -2
  371. package/lib/esm/core-react/elementseparator/ElementSeparator.js.map +1 -1
  372. package/lib/esm/core-react/elementseparator/ElementSeparator.scss +85 -85
  373. package/lib/esm/core-react/enums/Alignment.js.map +1 -1
  374. package/lib/esm/core-react/enums/CheckBoxState.js.map +1 -1
  375. package/lib/esm/core-react/enums/Orientation.js.map +1 -1
  376. package/lib/esm/core-react/enums/SortDirection.js.map +1 -1
  377. package/lib/esm/core-react/enums/TimeFormat.js.map +1 -1
  378. package/lib/esm/core-react/expandable/ExpandableList.js +2 -1
  379. package/lib/esm/core-react/expandable/ExpandableList.js.map +1 -1
  380. package/lib/esm/core-react/expandable/ExpandableList.scss +8 -8
  381. package/lib/esm/core-react/expandable/classes.scss +7 -7
  382. package/lib/esm/core-react/expandable/index.scss +5 -5
  383. package/lib/esm/core-react/expandable/list.scss +35 -35
  384. package/lib/esm/core-react/focus/ItemKeyboardNavigator.d.ts +1 -1
  385. package/lib/esm/core-react/focus/ItemKeyboardNavigator.d.ts.map +1 -1
  386. package/lib/esm/core-react/focus/ItemKeyboardNavigator.js.map +1 -1
  387. package/lib/esm/core-react/focustrap/FocusTrap.js.map +1 -1
  388. package/lib/esm/core-react/hocs/withIsPressed.js.map +1 -1
  389. package/lib/esm/core-react/hocs/withOnOutsideClick.js +1 -2
  390. package/lib/esm/core-react/hocs/withOnOutsideClick.js.map +1 -1
  391. package/lib/esm/core-react/hocs/withTimeout.js.map +1 -1
  392. package/lib/esm/core-react/icons/ConditionalIconItem.d.ts +27 -0
  393. package/lib/esm/core-react/icons/ConditionalIconItem.d.ts.map +1 -0
  394. package/lib/esm/core-react/icons/ConditionalIconItem.js +61 -0
  395. package/lib/esm/core-react/icons/ConditionalIconItem.js.map +1 -0
  396. package/lib/esm/core-react/icons/IconComponent.d.ts +3 -2
  397. package/lib/esm/core-react/icons/IconComponent.d.ts.map +1 -1
  398. package/lib/esm/core-react/icons/IconComponent.js +1 -7
  399. package/lib/esm/core-react/icons/IconComponent.js.map +1 -1
  400. package/lib/esm/core-react/icons/IconComponent.scss +20 -20
  401. package/lib/esm/core-react/icons/SvgPath.d.ts +1 -1
  402. package/lib/esm/core-react/icons/SvgPath.d.ts.map +1 -1
  403. package/lib/esm/core-react/icons/SvgPath.js +2 -2
  404. package/lib/esm/core-react/icons/SvgPath.js.map +1 -1
  405. package/lib/esm/core-react/icons/{SvgSprite.scss → SvgPath.scss} +15 -15
  406. package/lib/esm/core-react/icons/WebFontIcon.d.ts +0 -1
  407. package/lib/esm/core-react/icons/WebFontIcon.d.ts.map +1 -1
  408. package/lib/esm/core-react/icons/WebFontIcon.js +0 -1
  409. package/lib/esm/core-react/icons/WebFontIcon.js.map +1 -1
  410. package/lib/esm/core-react/icons/WebFontIcon.scss +17 -17
  411. package/lib/esm/core-react/icons/classes.scss +10 -10
  412. package/lib/esm/core-react/icons/index.scss +6 -6
  413. package/lib/esm/core-react/icons/mixins.scss +25 -25
  414. package/lib/esm/core-react/icons/variables.scss +12 -21
  415. package/lib/esm/core-react/imagecheckbox/ImageCheckBox.js.map +1 -1
  416. package/lib/esm/core-react/imagecheckbox/ImageCheckBox.scss +54 -54
  417. package/lib/esm/core-react/index.scss +21 -23
  418. package/lib/esm/core-react/inputs/Input.js.map +1 -1
  419. package/lib/esm/core-react/inputs/InputLabel.d.ts.map +1 -1
  420. package/lib/esm/core-react/inputs/InputLabel.js +9 -1
  421. package/lib/esm/core-react/inputs/InputLabel.js.map +1 -1
  422. package/lib/esm/core-react/inputs/InputStatus.js.map +1 -1
  423. package/lib/esm/core-react/inputs/LabeledComponentProps.js.map +1 -1
  424. package/lib/esm/core-react/inputs/classes.scss +8 -8
  425. package/lib/esm/core-react/inputs/iconinput/IconInput.js.map +1 -1
  426. package/lib/esm/core-react/inputs/iconinput/IconInput.scss +35 -35
  427. package/lib/esm/core-react/inputs/index.scss +9 -9
  428. package/lib/esm/core-react/inputs/input-label.scss +90 -90
  429. package/lib/esm/core-react/inputs/input.scss +58 -58
  430. package/lib/esm/core-react/inputs/numberinput/NumberInput.d.ts +6 -1
  431. package/lib/esm/core-react/inputs/numberinput/NumberInput.d.ts.map +1 -1
  432. package/lib/esm/core-react/inputs/numberinput/NumberInput.js +13 -8
  433. package/lib/esm/core-react/inputs/numberinput/NumberInput.js.map +1 -1
  434. package/lib/esm/core-react/inputs/numberinput/NumberInput.scss +88 -89
  435. package/lib/esm/core-react/inputs/variables.scss +38 -38
  436. package/lib/esm/core-react/layout-variables.scss +17 -17
  437. package/lib/esm/core-react/listbox/Listbox.d.ts +1 -1
  438. package/lib/esm/core-react/listbox/Listbox.d.ts.map +1 -1
  439. package/lib/esm/core-react/listbox/Listbox.js +2 -3
  440. package/lib/esm/core-react/listbox/Listbox.js.map +1 -1
  441. package/lib/esm/core-react/listbox/Listbox.scss +54 -54
  442. package/lib/esm/core-react/loading/LoadingBar.js +2 -1
  443. package/lib/esm/core-react/loading/LoadingBar.js.map +1 -1
  444. package/lib/esm/core-react/loading/LoadingBar.scss +29 -29
  445. package/lib/esm/core-react/loading/LoadingPrompt.js +2 -1
  446. package/lib/esm/core-react/loading/LoadingPrompt.js.map +1 -1
  447. package/lib/esm/core-react/loading/LoadingPrompt.scss +33 -33
  448. package/lib/esm/core-react/loading/LoadingSpinner.d.ts +1 -1
  449. package/lib/esm/core-react/loading/LoadingSpinner.d.ts.map +1 -1
  450. package/lib/esm/core-react/loading/LoadingSpinner.js +2 -1
  451. package/lib/esm/core-react/loading/LoadingSpinner.js.map +1 -1
  452. package/lib/esm/core-react/loading/LoadingSpinner.scss +26 -26
  453. package/lib/esm/core-react/loading/LoadingStatus.js +2 -1
  454. package/lib/esm/core-react/loading/LoadingStatus.js.map +1 -1
  455. package/lib/esm/core-react/loading/LoadingStatus.scss +20 -20
  456. package/lib/esm/core-react/loading/index.scss +5 -5
  457. package/lib/esm/core-react/loading/mixins.scss +57 -57
  458. package/lib/esm/core-react/messagebox/MessageBox.d.ts +13 -1
  459. package/lib/esm/core-react/messagebox/MessageBox.d.ts.map +1 -1
  460. package/lib/esm/core-react/messagebox/MessageBox.js +56 -11
  461. package/lib/esm/core-react/messagebox/MessageBox.js.map +1 -1
  462. package/lib/esm/core-react/messagebox/MessageBox.scss +56 -46
  463. package/lib/esm/core-react/notification/MessageRenderer.js +1 -1
  464. package/lib/esm/core-react/notification/MessageRenderer.js.map +1 -1
  465. package/lib/esm/core-react/notification/MessageType.d.ts +1 -1
  466. package/lib/esm/core-react/notification/MessageType.d.ts.map +1 -1
  467. package/lib/esm/core-react/notification/MessageType.js.map +1 -1
  468. package/lib/esm/core-react/popup/Popup.d.ts.map +1 -1
  469. package/lib/esm/core-react/popup/Popup.js +8 -8
  470. package/lib/esm/core-react/popup/Popup.js.map +1 -1
  471. package/lib/esm/core-react/popup/Popup.scss +240 -240
  472. package/lib/esm/core-react/radialmenu/Annulus.js.map +1 -1
  473. package/lib/esm/core-react/radialmenu/RadialMenu.js +2 -1
  474. package/lib/esm/core-react/radialmenu/RadialMenu.js.map +1 -1
  475. package/lib/esm/core-react/radialmenu/RadialMenu.scss +55 -55
  476. package/lib/esm/core-react/searchbox/SearchBox.d.ts.map +1 -1
  477. package/lib/esm/core-react/searchbox/SearchBox.js +8 -6
  478. package/lib/esm/core-react/searchbox/SearchBox.js.map +1 -1
  479. package/lib/esm/core-react/searchbox/SearchBox.scss +47 -51
  480. package/lib/esm/core-react/settings/SettingsContainer.js +1 -1
  481. package/lib/esm/core-react/settings/SettingsContainer.js.map +1 -1
  482. package/lib/esm/core-react/settings/SettingsContainer.scss +68 -66
  483. package/lib/esm/core-react/settings/SettingsManager.js.map +1 -1
  484. package/lib/esm/core-react/style/baseline.scss +11 -11
  485. package/lib/esm/core-react/style/breakpoints.scss +41 -41
  486. package/lib/esm/core-react/style/colors.scss +77 -77
  487. package/lib/esm/core-react/style/index.scss +10 -17
  488. package/lib/esm/core-react/style/mixins.scss +27 -27
  489. package/lib/esm/core-react/style/opacity.scss +16 -16
  490. package/lib/esm/core-react/style/themecolors.scss +123 -129
  491. package/lib/esm/core-react/tabs/Tabs.js.map +1 -1
  492. package/lib/esm/core-react/tabs/VerticalTabs.js.map +1 -1
  493. package/lib/esm/core-react/tabs/classes.scss +7 -7
  494. package/lib/esm/core-react/tabs/index.scss +5 -5
  495. package/lib/esm/core-react/tabs/tabs.scss +96 -106
  496. package/lib/esm/core-react/tabs/vertical.scss +51 -58
  497. package/lib/esm/core-react/text/BlockText.d.ts.map +1 -1
  498. package/lib/esm/core-react/text/BlockText.js +1 -0
  499. package/lib/esm/core-react/text/BlockText.js.map +1 -1
  500. package/lib/esm/core-react/text/BodyText.d.ts +1 -0
  501. package/lib/esm/core-react/text/BodyText.d.ts.map +1 -1
  502. package/lib/esm/core-react/text/BodyText.js +2 -0
  503. package/lib/esm/core-react/text/BodyText.js.map +1 -1
  504. package/lib/esm/core-react/text/DisabledText.d.ts.map +1 -1
  505. package/lib/esm/core-react/text/DisabledText.js +1 -0
  506. package/lib/esm/core-react/text/DisabledText.js.map +1 -1
  507. package/lib/esm/core-react/text/FilteredText.js +3 -3
  508. package/lib/esm/core-react/text/FilteredText.js.map +1 -1
  509. package/lib/esm/core-react/text/FilteredText.scss +10 -10
  510. package/lib/esm/core-react/text/MutedText.d.ts +1 -0
  511. package/lib/esm/core-react/text/MutedText.d.ts.map +1 -1
  512. package/lib/esm/core-react/text/MutedText.js +2 -0
  513. package/lib/esm/core-react/text/MutedText.js.map +1 -1
  514. package/lib/esm/core-react/text/StyledText.d.ts +1 -0
  515. package/lib/esm/core-react/text/StyledText.d.ts.map +1 -1
  516. package/lib/esm/core-react/text/StyledText.js +1 -0
  517. package/lib/esm/core-react/text/StyledText.js.map +1 -1
  518. package/lib/esm/core-react/text/TextProps.js.map +1 -1
  519. package/lib/esm/core-react/text/block.scss +15 -10
  520. package/lib/esm/core-react/text/body.scss +13 -10
  521. package/lib/esm/core-react/text/classes.scss +10 -10
  522. package/lib/esm/core-react/text/disabled.scss +10 -10
  523. package/lib/esm/core-react/text/index.scss +10 -10
  524. package/lib/esm/core-react/text/mixins.scss +24 -24
  525. package/lib/esm/core-react/text/muted.scss +10 -10
  526. package/lib/esm/core-react/tree/Branch.js.map +1 -1
  527. package/lib/esm/core-react/tree/Branch.scss +12 -12
  528. package/lib/esm/core-react/tree/ExpansionToggle.d.ts.map +1 -1
  529. package/lib/esm/core-react/tree/ExpansionToggle.js +3 -1
  530. package/lib/esm/core-react/tree/ExpansionToggle.js.map +1 -1
  531. package/lib/esm/core-react/tree/ExpansionToggle.scss +32 -28
  532. package/lib/esm/core-react/tree/Node.d.ts +2 -2
  533. package/lib/esm/core-react/tree/Node.d.ts.map +1 -1
  534. package/lib/esm/core-react/tree/Node.js +2 -3
  535. package/lib/esm/core-react/tree/Node.js.map +1 -1
  536. package/lib/esm/core-react/tree/Node.scss +68 -84
  537. package/lib/esm/core-react/tree/Placeholder.js.map +1 -1
  538. package/lib/esm/core-react/tree/Placeholder.scss +17 -20
  539. package/lib/esm/core-react/tree/Tree.js.map +1 -1
  540. package/lib/esm/core-react/tree/Tree.scss +21 -21
  541. package/lib/esm/core-react/uistate/LocalStateStorage.js.map +1 -1
  542. package/lib/esm/core-react/uistate/UiStateEntry.js.map +1 -1
  543. package/lib/esm/core-react/uistate/UiStateStorage.js.map +1 -1
  544. package/lib/esm/core-react/utils/IconHelper.js.map +1 -1
  545. package/lib/esm/core-react/utils/IconWebComponent.js +1 -1
  546. package/lib/esm/core-react/utils/IconWebComponent.js.map +1 -1
  547. package/lib/esm/core-react/utils/Point.js +4 -4
  548. package/lib/esm/core-react/utils/Point.js.map +1 -1
  549. package/lib/esm/core-react/utils/Props.d.ts +1 -1
  550. package/lib/esm/core-react/utils/Props.d.ts.map +1 -1
  551. package/lib/esm/core-react/utils/Props.js.map +1 -1
  552. package/lib/esm/core-react/utils/Rectangle.js +7 -7
  553. package/lib/esm/core-react/utils/Rectangle.js.map +1 -1
  554. package/lib/esm/core-react/utils/ScrollPositionMaintainer.js.map +1 -1
  555. package/lib/esm/core-react/utils/Size.js +4 -4
  556. package/lib/esm/core-react/utils/Size.js.map +1 -1
  557. package/lib/esm/core-react/utils/Timer.d.ts +1 -1
  558. package/lib/esm/core-react/utils/Timer.d.ts.map +1 -1
  559. package/lib/esm/core-react/utils/Timer.js.map +1 -1
  560. package/lib/esm/core-react/utils/UiGeometry.js.map +1 -1
  561. package/lib/esm/core-react/utils/flattenChildren.js.map +1 -1
  562. package/lib/esm/core-react/utils/getBestBWContrastColor.js +3 -3
  563. package/lib/esm/core-react/utils/getBestBWContrastColor.js.map +1 -1
  564. package/lib/esm/core-react/utils/getCssVariable.js +1 -1
  565. package/lib/esm/core-react/utils/getCssVariable.js.map +1 -1
  566. package/lib/esm/core-react/utils/getDisplayName.js.map +1 -1
  567. package/lib/esm/core-react/utils/getUserColor.js.map +1 -1
  568. package/lib/esm/core-react/utils/hooks/ResizeObserverPolyfill.d.ts +1 -1
  569. package/lib/esm/core-react/utils/hooks/ResizeObserverPolyfill.d.ts.map +1 -1
  570. package/lib/esm/core-react/utils/hooks/ResizeObserverPolyfill.js.map +1 -1
  571. package/lib/esm/core-react/utils/hooks/useCrossOriginPopup.js +1 -2
  572. package/lib/esm/core-react/utils/hooks/useCrossOriginPopup.js.map +1 -1
  573. package/lib/esm/core-react/utils/hooks/useDisposable.js.map +1 -1
  574. package/lib/esm/core-react/utils/hooks/useEffectSkipFirst.js.map +1 -1
  575. package/lib/esm/core-react/utils/hooks/useEventListener.js.map +1 -1
  576. package/lib/esm/core-react/utils/hooks/useInterval.js.map +1 -1
  577. package/lib/esm/core-react/utils/hooks/useLifecycleLogging.js.map +1 -1
  578. package/lib/esm/core-react/utils/hooks/useOnOutsideClick.d.ts +1 -1
  579. package/lib/esm/core-react/utils/hooks/useOnOutsideClick.d.ts.map +1 -1
  580. package/lib/esm/core-react/utils/hooks/useOnOutsideClick.js.map +1 -1
  581. package/lib/esm/core-react/utils/hooks/useProximityToMouse.d.ts.map +1 -1
  582. package/lib/esm/core-react/utils/hooks/useProximityToMouse.js +2 -2
  583. package/lib/esm/core-react/utils/hooks/useProximityToMouse.js.map +1 -1
  584. package/lib/esm/core-react/utils/hooks/useRefEffect.js.map +1 -1
  585. package/lib/esm/core-react/utils/hooks/useRefState.js.map +1 -1
  586. package/lib/esm/core-react/utils/hooks/useRefs.d.ts +1 -1
  587. package/lib/esm/core-react/utils/hooks/useRefs.d.ts.map +1 -1
  588. package/lib/esm/core-react/utils/hooks/useRefs.js.map +1 -1
  589. package/lib/esm/core-react/utils/hooks/useResizeObserver.js +8 -13
  590. package/lib/esm/core-react/utils/hooks/useResizeObserver.js.map +1 -1
  591. package/lib/esm/core-react/utils/hooks/useTargeted.js.map +1 -1
  592. package/lib/esm/core-react/utils/hooks/useThrottledFn.js.map +1 -1
  593. package/lib/esm/core-react/utils/hooks/useWidgetOpacityContext.js.map +1 -1
  594. package/lib/esm/core-react/utils/isPromiseLike.js.map +1 -1
  595. package/lib/esm/core-react/utils/shallowDiffers.js.map +1 -1
  596. package/lib/esm/core-react/utils/typeUtils.d.ts +1 -1
  597. package/lib/esm/core-react/utils/typeUtils.d.ts.map +1 -1
  598. package/lib/esm/core-react/utils/typeUtils.js.map +1 -1
  599. package/lib/esm/core-react.d.ts +1 -1
  600. package/lib/esm/core-react.d.ts.map +1 -1
  601. package/lib/esm/core-react.js +1 -1
  602. package/lib/esm/core-react.js.map +1 -1
  603. package/lib/public/locales/en/UiCore.json +30 -30
  604. package/package.json +26 -26
  605. package/ThirdPartyNotices.md +0 -28
  606. package/lib/cjs/core-react/badge/BetaBadge.scss +0 -9
  607. package/lib/cjs/core-react/button/blue-large.scss +0 -12
  608. package/lib/cjs/core-react/button/blue.scss +0 -25
  609. package/lib/cjs/core-react/button/button.scss +0 -70
  610. package/lib/cjs/core-react/button/classes.scss +0 -14
  611. package/lib/cjs/core-react/button/disabled-large.scss +0 -12
  612. package/lib/cjs/core-react/button/disabled.scss +0 -17
  613. package/lib/cjs/core-react/button/hollow-large.scss +0 -13
  614. package/lib/cjs/core-react/button/hollow.scss +0 -30
  615. package/lib/cjs/core-react/button/index.scss +0 -14
  616. package/lib/cjs/core-react/button/primary-large.scss +0 -12
  617. package/lib/cjs/core-react/button/primary.scss +0 -25
  618. package/lib/cjs/core-react/button/variables.scss +0 -22
  619. package/lib/cjs/core-react/checkbox/checkbox.scss +0 -124
  620. package/lib/cjs/core-react/checkbox/classes.scss +0 -8
  621. package/lib/cjs/core-react/checkbox/index.scss +0 -8
  622. package/lib/cjs/core-react/icons/SvgSprite.d.ts +0 -21
  623. package/lib/cjs/core-react/icons/SvgSprite.d.ts.map +0 -1
  624. package/lib/cjs/core-react/icons/SvgSprite.js +0 -27
  625. package/lib/cjs/core-react/icons/SvgSprite.js.map +0 -1
  626. package/lib/cjs/core-react/style/data-viz.scss +0 -20
  627. package/lib/cjs/core-react/style/itwinui-overrides.scss +0 -24
  628. package/lib/cjs/core-react/style/space.scss +0 -13
  629. package/lib/cjs/core-react/style/speed.scss +0 -12
  630. package/lib/cjs/core-react/style/typography.scss +0 -44
  631. package/lib/cjs/core-react/style/variables.scss +0 -12
  632. package/lib/esm/core-react/badge/BetaBadge.scss +0 -9
  633. package/lib/esm/core-react/button/blue-large.scss +0 -12
  634. package/lib/esm/core-react/button/blue.scss +0 -25
  635. package/lib/esm/core-react/button/button.scss +0 -70
  636. package/lib/esm/core-react/button/classes.scss +0 -14
  637. package/lib/esm/core-react/button/disabled-large.scss +0 -12
  638. package/lib/esm/core-react/button/disabled.scss +0 -17
  639. package/lib/esm/core-react/button/hollow-large.scss +0 -13
  640. package/lib/esm/core-react/button/hollow.scss +0 -30
  641. package/lib/esm/core-react/button/index.scss +0 -14
  642. package/lib/esm/core-react/button/primary-large.scss +0 -12
  643. package/lib/esm/core-react/button/primary.scss +0 -25
  644. package/lib/esm/core-react/button/variables.scss +0 -22
  645. package/lib/esm/core-react/checkbox/checkbox.scss +0 -124
  646. package/lib/esm/core-react/checkbox/classes.scss +0 -8
  647. package/lib/esm/core-react/checkbox/index.scss +0 -8
  648. package/lib/esm/core-react/icons/SvgSprite.d.ts +0 -21
  649. package/lib/esm/core-react/icons/SvgSprite.d.ts.map +0 -1
  650. package/lib/esm/core-react/icons/SvgSprite.js +0 -23
  651. package/lib/esm/core-react/icons/SvgSprite.js.map +0 -1
  652. package/lib/esm/core-react/style/data-viz.scss +0 -20
  653. package/lib/esm/core-react/style/itwinui-overrides.scss +0 -24
  654. package/lib/esm/core-react/style/space.scss +0 -13
  655. package/lib/esm/core-react/style/speed.scss +0 -12
  656. package/lib/esm/core-react/style/typography.scss +0 -44
  657. package/lib/esm/core-react/style/variables.scss +0 -12
@@ -1,244 +1,245 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
5
- @import "../icons/variables";
6
- @import "../inputs/variables";
7
- @import "../style/themecolors";
8
- @import "../text/block";
9
- @import "../z-index";
10
- @import "../scrollbar";
11
- @import "~@itwin/itwinui-css/scss/style/typography";
12
- @import "~@itwin/itwinui-css/scss/text/mixins";
13
-
14
- // cspell:ignore titlebar outoffocus nwse
15
-
16
- .core-dialog {
17
- @include iui-font-family;
18
-
19
- display: none;
20
- position: fixed;
21
-
22
- @include uicore-z-index(dialog);
23
-
24
- left: 0px;
25
- top: 0px;
26
- width: 100%;
27
- height: 100%;
28
- overflow: auto;
29
- background: rgba(0, 0, 0, 0.4);
30
-
31
- &.core-dialog-opened {
32
- display: block;
33
- }
34
-
35
- &.core-dialog-hidden {
36
- background-color: transparent;
37
- pointer-events: none;
38
-
39
- & > * {
40
- pointer-events: all;
41
- }
42
- }
43
-
44
- .core-dialog-container {
45
- position: fixed;
46
-
47
- &.core-dialog-top-left {
48
- top: 0;
49
- left: 0;
50
- }
51
-
52
- &.core-dialog-top {
53
- top: 0;
54
- left: 0;
55
- right: 0;
56
- }
57
-
58
- &.core-dialog-top-right {
59
- top: 0;
60
- right: 0;
61
- }
62
-
63
- &.core-dialog-left {
64
- left: 0;
65
- top: 50%;
66
- transform: translateY(-50%);
67
- }
68
-
69
- &.core-dialog-center {
70
- top: 50%;
71
- left: 50%;
72
- transform: translate(-50%, -50%);
73
- }
74
-
75
- &.core-dialog-right {
76
- right: 0;
77
- top: 50%;
78
- transform: translateY(-50%);
79
- }
80
-
81
- &.core-dialog-bottom-left {
82
- bottom: 0;
83
- left: 0;
84
- }
85
-
86
- &.core-dialog-bottom {
87
- bottom: 0;
88
- left: 0;
89
- right: 0;
90
- }
91
-
92
- &.core-dialog-bottom-right {
93
- bottom: 0;
94
- right: 0;
95
- }
96
-
97
- margin: auto;
98
- width: 60%;
99
- display: flex;
100
- flex-direction: column;
101
- height: fit-content;
102
-
103
- .core-dialog-area {
104
- position: relative;
105
- display: flex;
106
- flex-grow: 1;
107
- flex-direction: column;
108
- border: 1px solid $buic-background-dialog-stroke;
109
- border-radius: var(--iui-border-radius-1);
110
- background-color: $buic-background-dialog;
111
- color: $buic-text-color;
112
- padding: 0;
113
-
114
- > .core-dialog-head {
115
- flex-shrink: 0;
116
- align-items: center;
117
- background-color: $buic-background-titlebar; /* $buic-background-titlebar-outoffocus; */
118
- color: $buic-text-color;
119
- display: flex;
120
- padding: 4px;
121
-
122
- /* padding: $uicore-unbordered-padding; */
123
- &.core-dialog-movable {
124
- cursor: move;
125
- }
126
-
127
- > .core-dialog-title {
128
- flex: 1 1;
129
-
130
- @include iui-text(leading);
131
-
132
- margin: 0;
133
- margin-left: 4px;
134
- }
135
-
136
- &.core-dialog-modal {
137
- background-color: $buic-background-dialog;
138
-
139
- > .core-dialog-title {
140
- @include iui-text(subheading);
141
- }
142
- }
143
-
144
- > .core-dialog-close {
145
- cursor: pointer;
146
- height: var(--iui-font-size-4);
147
- width: var(--iui-font-size-4);
148
- line-height: var(--iui-font-size-4);
149
- flex: 0 0 $uicore-icons-medium;
150
- text-align: center;
151
- color: $buic-text-color-muted;
152
- border: none;
153
- background-color: transparent;
154
-
155
- &:hover,
156
- &:focus {
157
- color: $buic-foreground-activehover;
158
- }
159
- &:focus {
160
- outline: 1px solid $buic-foreground-focus;
161
- }
162
- }
163
- }
164
-
165
- > .core-dialog-content {
166
- overflow: auto;
167
- flex: 1 1;
168
-
169
- @include uicore-text-block;
170
-
171
- padding: $uicore-unbordered-padding;
172
- margin: 0;
173
-
174
- @include uicore-touch-scrolling;
175
- @include uicore-scrollbar();
176
-
177
- &.core-dialog-content-no-inset {
178
- padding: 0;
179
- }
180
- }
181
-
182
- > .core-dialog-footer {
183
- flex-shrink: 0;
184
- padding: 0 $uicore-unbordered-padding $uicore-unbordered-padding
185
- $uicore-unbordered-padding;
186
-
187
- > .core-dialog-buttons {
188
- display: flex;
189
- justify-content: flex-end;
190
-
191
- > * {
192
- min-width: 80px;
193
-
194
- &:not(:first-child) {
195
- margin-left: $uicore-inputs-margin;
196
- }
197
- }
198
- }
199
- }
200
-
201
- /*
202
- &:focus-within {
203
- .core-dialog-head {
204
- background-color: $buic-background-titlebar;
205
- }
206
- }
207
- */
208
- }
209
-
210
- $dialog-resize-bar-width: 8px;
211
-
212
- .core-dialog-drag {
213
- position: absolute;
214
- z-index: auto;
215
- padding: 0px;
216
-
217
- &:not(.core-dialog-drag-enabled) {
218
- display: none;
219
- }
220
-
221
- &.core-dialog-drag-right {
222
- right: -$dialog-resize-bar-width * 0.5;
223
- width: $dialog-resize-bar-width;
224
- height: 100%;
225
- cursor: ew-resize;
226
- }
227
-
228
- &.core-dialog-drag-bottom-mid {
229
- bottom: -$dialog-resize-bar-width * 0.5;
230
- height: $dialog-resize-bar-width;
231
- width: 100%;
232
- cursor: ns-resize;
233
- }
234
-
235
- &.core-dialog-drag-bottom-right {
236
- right: -$dialog-resize-bar-width * 0.5;
237
- bottom: -$dialog-resize-bar-width * 0.5;
238
- height: $dialog-resize-bar-width;
239
- width: $dialog-resize-bar-width;
240
- cursor: nwse-resize;
241
- }
242
- }
243
- }
244
- }
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ @import "../icons/variables";
6
+ @import "../inputs/variables";
7
+ @import "../style/themecolors";
8
+ @import "../text/block";
9
+ @import "../z-index";
10
+ @import "../scrollbar";
11
+
12
+ // cspell:ignore titlebar outoffocus nwse
13
+
14
+ .core-dialog {
15
+ font-family: var(--iui-font-sans);
16
+
17
+ display: none;
18
+ position: fixed;
19
+
20
+ @include uicore-z-index(dialog);
21
+
22
+ left: 0px;
23
+ top: 0px;
24
+ width: 100%;
25
+ height: 100%;
26
+ overflow: auto;
27
+ background: rgba(0, 0, 0, 0.4);
28
+
29
+ &.core-dialog-opened {
30
+ display: block;
31
+ }
32
+
33
+ &.core-dialog-hidden {
34
+ background-color: transparent;
35
+ pointer-events: none;
36
+
37
+ & > * {
38
+ pointer-events: all;
39
+ }
40
+ }
41
+
42
+ .core-dialog-container {
43
+ position: fixed;
44
+
45
+ &.core-dialog-top-left {
46
+ top: 0;
47
+ left: 0;
48
+ }
49
+
50
+ &.core-dialog-top {
51
+ top: 0;
52
+ left: 0;
53
+ right: 0;
54
+ }
55
+
56
+ &.core-dialog-top-right {
57
+ top: 0;
58
+ right: 0;
59
+ }
60
+
61
+ &.core-dialog-left {
62
+ left: 0;
63
+ top: 50%;
64
+ transform: translateY(-50%);
65
+ }
66
+
67
+ &.core-dialog-center {
68
+ top: 50%;
69
+ left: 50%;
70
+ transform: translate(-50%, -50%);
71
+ }
72
+
73
+ &.core-dialog-right {
74
+ right: 0;
75
+ top: 50%;
76
+ transform: translateY(-50%);
77
+ }
78
+
79
+ &.core-dialog-bottom-left {
80
+ bottom: 0;
81
+ left: 0;
82
+ }
83
+
84
+ &.core-dialog-bottom {
85
+ bottom: 0;
86
+ left: 0;
87
+ right: 0;
88
+ }
89
+
90
+ &.core-dialog-bottom-right {
91
+ bottom: 0;
92
+ right: 0;
93
+ }
94
+
95
+ margin: auto;
96
+ width: 60%;
97
+ display: flex;
98
+ flex-direction: column;
99
+ height: fit-content;
100
+
101
+ .core-dialog-area {
102
+ position: relative;
103
+ display: flex;
104
+ flex-grow: 1;
105
+ flex-direction: column;
106
+ border: 1px solid var(--iui-color-border);
107
+ border-radius: var(--iui-border-radius-1);
108
+ background-color: var(--iui-color-background);
109
+ color: var(--iui-color-text);
110
+ padding: 0;
111
+
112
+ > .core-dialog-head {
113
+ flex-shrink: 0;
114
+ align-items: center;
115
+ background-color: var(--iui-color-background-backdrop);
116
+ color: var(--iui-color-text);
117
+ display: flex;
118
+ padding: 4px;
119
+
120
+ /* padding: $uicore-unbordered-padding; */
121
+ &.core-dialog-movable {
122
+ cursor: move;
123
+ }
124
+
125
+ > .core-dialog-title {
126
+ flex: 1 1;
127
+
128
+ padding: 0;
129
+ border: none;
130
+ vertical-align: baseline;
131
+ font-size: var(--iui-font-size-2);
132
+ font-weight: var(--iui-font-weight-normal);
133
+ line-height: var(--iui-size-l);
134
+
135
+ margin: 0;
136
+ margin-left: 4px;
137
+ }
138
+
139
+ &.core-dialog-modal {
140
+ background-color: var(--iui-color-background);
141
+
142
+ > .core-dialog-title {
143
+ margin: 0;
144
+ padding: 0;
145
+ border: none;
146
+ vertical-align: baseline;
147
+ font-size: var(--iui-font-size-3);
148
+ font-weight: var(--iui-font-weight-normal);
149
+ line-height: calc(1.5 * var(--iui-size-l));
150
+ }
151
+ }
152
+
153
+ > .core-dialog-close {
154
+ cursor: pointer;
155
+ height: var(--iui-font-size-4);
156
+ width: var(--iui-font-size-4);
157
+ line-height: var(--iui-font-size-4);
158
+ flex: 0 0 $uicore-icons-medium;
159
+ text-align: center;
160
+ color: var(--iui-color-icon);
161
+ border: none;
162
+ background-color: transparent;
163
+
164
+ &:hover,
165
+ &:focus {
166
+ color: var(--iui-color-icon-hover);
167
+ }
168
+ &:focus {
169
+ outline: 1px solid var(--iui-color-border-accent);
170
+ }
171
+ }
172
+ }
173
+
174
+ > .core-dialog-content {
175
+ overflow: auto;
176
+ flex: 1 1;
177
+
178
+ @include uicore-text-block;
179
+
180
+ padding: $uicore-unbordered-padding;
181
+ margin: 0;
182
+
183
+ @include uicore-touch-scrolling;
184
+ @include uicore-scrollbar();
185
+
186
+ &.core-dialog-content-no-inset {
187
+ padding: 0;
188
+ }
189
+ }
190
+
191
+ > .core-dialog-footer {
192
+ flex-shrink: 0;
193
+ padding: 0 $uicore-unbordered-padding $uicore-unbordered-padding
194
+ $uicore-unbordered-padding;
195
+
196
+ > .core-dialog-buttons {
197
+ display: flex;
198
+ justify-content: flex-end;
199
+
200
+ > * {
201
+ min-width: 80px;
202
+
203
+ &:not(:first-child) {
204
+ margin-left: $uicore-inputs-margin;
205
+ }
206
+ }
207
+ }
208
+ }
209
+ }
210
+
211
+ $dialog-resize-bar-width: 8px;
212
+
213
+ .core-dialog-drag {
214
+ position: absolute;
215
+ z-index: auto;
216
+ padding: 0px;
217
+
218
+ &:not(.core-dialog-drag-enabled) {
219
+ display: none;
220
+ }
221
+
222
+ &.core-dialog-drag-right {
223
+ right: -$dialog-resize-bar-width * 0.5;
224
+ width: $dialog-resize-bar-width;
225
+ height: 100%;
226
+ cursor: ew-resize;
227
+ }
228
+
229
+ &.core-dialog-drag-bottom-mid {
230
+ bottom: -$dialog-resize-bar-width * 0.5;
231
+ height: $dialog-resize-bar-width;
232
+ width: 100%;
233
+ cursor: ns-resize;
234
+ }
235
+
236
+ &.core-dialog-drag-bottom-right {
237
+ right: -$dialog-resize-bar-width * 0.5;
238
+ bottom: -$dialog-resize-bar-width * 0.5;
239
+ height: $dialog-resize-bar-width;
240
+ width: $dialog-resize-bar-width;
241
+ cursor: nwse-resize;
242
+ }
243
+ }
244
+ }
245
+ }
@@ -21,8 +21,7 @@ class GlobalDialog extends React.Component {
21
21
  parentDocument: null,
22
22
  };
23
23
  this._handleRefSet = (popupDiv) => {
24
- var _a;
25
- const parentDocument = (_a = popupDiv === null || popupDiv === void 0 ? void 0 : popupDiv.ownerDocument) !== null && _a !== void 0 ? _a : null;
24
+ const parentDocument = popupDiv?.ownerDocument ?? null;
26
25
  if (parentDocument) {
27
26
  this._container = parentDocument.createElement("div");
28
27
  this._container.id = this.props.identifier !== undefined ? `dialog-${this.props.identifier}` : "core-dialog";
@@ -1 +1 @@
1
- {"version":3,"file":"GlobalDialog.js","sourceRoot":"","sources":["../../../../src/core-react/dialog/GlobalDialog.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,+BAA+B;AAC/B,sCAAsC;AACtC,qCAA+C;AAgB/C;;GAEG;AACH,MAAa,YAAa,SAAQ,KAAK,CAAC,SAA+C;IAOrF,YAAY,KAAwB;QAClC,KAAK,CAAC,KAAK,CAAC,CAAC;QALU,UAAK,GAAsB;YAClD,cAAc,EAAE,IAAI;SACrB,CAAC;QAMM,kBAAa,GAAG,CAAC,QAA4B,EAAE,EAAE;;YACvD,MAAM,cAAc,GAAG,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,aAAa,mCAAI,IAAI,CAAC;YACvD,IAAI,cAAc,EAAE;gBAClB,IAAI,CAAC,UAAU,GAAG,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBACtD,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC;gBAC7G,IAAI,EAAE,GAAG,cAAc,CAAC,cAAc,CAAC,kBAAkB,CAAmB,CAAC;gBAC7E,IAAI,CAAC,EAAE,EAAE;oBACP,EAAE,GAAG,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACzC,EAAE,CAAC,EAAE,GAAG,kBAAkB,CAAC;oBAC3B,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;iBACrC;gBACD,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAEhC,wDAAwD;gBACxD,IAAI,CAAC,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC;aACnC;QACH,CAAC,CAAC;IAlBF,CAAC;IAoBe,oBAAoB;QAClC,uBAAuB;QACvB,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,EAAE,UAAU;YAChE,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SAC5D;IACH,CAAC;IAEe,MAAM;QACpB,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,wDAAwD;QACrG,OAAO,CACL,6BAAK,GAAG,EAAE,IAAI,CAAC,aAAa,IACzB,IAAI,CAAC,KAAK,CAAC,cAAc;YACxB,QAAQ,CAAC,YAAY,CAAC,oBAAC,eAAM,OAAK,KAAK,GAAI,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAC1E,CACP,CAAC;IACJ,CAAC;CACF;AA7CD,oCA6CC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Dialog\n */\n\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { Dialog, DialogProps } from \"./Dialog\";\n\n/** Properties for the [[GlobalDialog]] component\n * @public\n */\nexport interface GlobalDialogProps extends DialogProps {\n identifier?: string;\n}\n\n/** State properties for the [[GlobalDialog]] component\n * @public\n */\nexport interface GlobalDialogState {\n parentDocument: Document | null;\n}\n\n/** GlobalDialog React component used to display a [[Dialog]] on the top of screen\n * @public\n */\nexport class GlobalDialog extends React.Component<GlobalDialogProps, GlobalDialogState> {\n private _container?: HTMLDivElement;\n\n public override readonly state: GlobalDialogState = {\n parentDocument: null,\n };\n\n constructor(props: GlobalDialogProps) {\n super(props);\n }\n\n private _handleRefSet = (popupDiv: HTMLElement | null) => {\n const parentDocument = popupDiv?.ownerDocument ?? null;\n if (parentDocument) {\n this._container = parentDocument.createElement(\"div\");\n this._container.id = this.props.identifier !== undefined ? `dialog-${this.props.identifier}` : \"core-dialog\";\n let rt = parentDocument.getElementById(\"core-dialog-root\") as HTMLDivElement;\n if (!rt) {\n rt = parentDocument.createElement(\"div\");\n rt.id = \"core-dialog-root\";\n parentDocument.body.appendChild(rt);\n }\n rt.appendChild(this._container);\n\n // used to support component rendering in pop-out window\n this.setState({ parentDocument });\n }\n };\n\n public override componentWillUnmount() {\n // istanbul ignore else\n if (this._container && this._container.parentElement) { // cleanup\n this._container.parentElement.removeChild(this._container);\n }\n }\n\n public override render(): React.ReactNode {\n const { identifier, ...props } = this.props; // eslint-disable-line @typescript-eslint/no-unused-vars\n return (\n <div ref={this._handleRefSet}>\n {this.state.parentDocument &&\n ReactDOM.createPortal(<Dialog {...props} />, this.state.parentDocument.body)}\n </div>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"GlobalDialog.js","sourceRoot":"","sources":["../../../../src/core-react/dialog/GlobalDialog.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,+BAA+B;AAC/B,sCAAsC;AACtC,qCAA+C;AAgB/C;;GAEG;AACH,MAAa,YAAa,SAAQ,KAAK,CAAC,SAA+C;IAOrF,YAAY,KAAwB;QAClC,KAAK,CAAC,KAAK,CAAC,CAAC;QALU,UAAK,GAAsB;YAClD,cAAc,EAAE,IAAI;SACrB,CAAC;QAMM,kBAAa,GAAG,CAAC,QAA4B,EAAE,EAAE;YACvD,MAAM,cAAc,GAAG,QAAQ,EAAE,aAAa,IAAI,IAAI,CAAC;YACvD,IAAI,cAAc,EAAE;gBAClB,IAAI,CAAC,UAAU,GAAG,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBACtD,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC;gBAC7G,IAAI,EAAE,GAAG,cAAc,CAAC,cAAc,CAAC,kBAAkB,CAAmB,CAAC;gBAC7E,IAAI,CAAC,EAAE,EAAE;oBACP,EAAE,GAAG,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACzC,EAAE,CAAC,EAAE,GAAG,kBAAkB,CAAC;oBAC3B,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;iBACrC;gBACD,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAEhC,wDAAwD;gBACxD,IAAI,CAAC,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC;aACnC;QACH,CAAC,CAAC;IAlBF,CAAC;IAoBe,oBAAoB;QAClC,uBAAuB;QACvB,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,EAAE,UAAU;YAChE,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SAC5D;IACH,CAAC;IAEe,MAAM;QACpB,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,wDAAwD;QACrG,OAAO,CACL,6BAAK,GAAG,EAAE,IAAI,CAAC,aAAa,IACzB,IAAI,CAAC,KAAK,CAAC,cAAc;YACxB,QAAQ,CAAC,YAAY,CAAC,oBAAC,eAAM,OAAK,KAAK,GAAI,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAC1E,CACP,CAAC;IACJ,CAAC;CACF;AA7CD,oCA6CC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Dialog\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport * as ReactDOM from \"react-dom\";\r\nimport { Dialog, DialogProps } from \"./Dialog\";\r\n\r\n/** Properties for the [[GlobalDialog]] component\r\n * @public\r\n */\r\nexport interface GlobalDialogProps extends DialogProps {\r\n identifier?: string;\r\n}\r\n\r\n/** State properties for the [[GlobalDialog]] component\r\n * @public\r\n */\r\nexport interface GlobalDialogState {\r\n parentDocument: Document | null;\r\n}\r\n\r\n/** GlobalDialog React component used to display a [[Dialog]] on the top of screen\r\n * @public\r\n */\r\nexport class GlobalDialog extends React.Component<GlobalDialogProps, GlobalDialogState> {\r\n private _container?: HTMLDivElement;\r\n\r\n public override readonly state: GlobalDialogState = {\r\n parentDocument: null,\r\n };\r\n\r\n constructor(props: GlobalDialogProps) {\r\n super(props);\r\n }\r\n\r\n private _handleRefSet = (popupDiv: HTMLElement | null) => {\r\n const parentDocument = popupDiv?.ownerDocument ?? null;\r\n if (parentDocument) {\r\n this._container = parentDocument.createElement(\"div\");\r\n this._container.id = this.props.identifier !== undefined ? `dialog-${this.props.identifier}` : \"core-dialog\";\r\n let rt = parentDocument.getElementById(\"core-dialog-root\") as HTMLDivElement;\r\n if (!rt) {\r\n rt = parentDocument.createElement(\"div\");\r\n rt.id = \"core-dialog-root\";\r\n parentDocument.body.appendChild(rt);\r\n }\r\n rt.appendChild(this._container);\r\n\r\n // used to support component rendering in pop-out window\r\n this.setState({ parentDocument });\r\n }\r\n };\r\n\r\n public override componentWillUnmount() {\r\n // istanbul ignore else\r\n if (this._container && this._container.parentElement) { // cleanup\r\n this._container.parentElement.removeChild(this._container);\r\n }\r\n }\r\n\r\n public override render(): React.ReactNode {\r\n const { identifier, ...props } = this.props; // eslint-disable-line @typescript-eslint/no-unused-vars\r\n return (\r\n <div ref={this._handleRefSet}>\r\n {this.state.parentDocument &&\r\n ReactDOM.createPortal(<Dialog {...props} />, this.state.parentDocument.body)}\r\n </div>\r\n );\r\n }\r\n}\r\n"]}
@@ -35,8 +35,8 @@ const useElementSeparatorPointerHandler = ({ onResizeHandleDragChanged, onResize
35
35
  const pointerOutOfBounds = (0, react_1.useRef)(false);
36
36
  const [isElementDragged, setIsDragged] = (0, react_1.useState)(false);
37
37
  const [isElementHovered, setIsHovered] = (0, react_1.useState)(false);
38
- const isGroupDragged = isResizeHandleBeingDragged !== null && isResizeHandleBeingDragged !== void 0 ? isResizeHandleBeingDragged : isElementDragged;
39
- const isGroupHovered = isResizeHandleHovered !== null && isResizeHandleHovered !== void 0 ? isResizeHandleHovered : isElementHovered;
38
+ const isGroupDragged = isResizeHandleBeingDragged ?? isElementDragged;
39
+ const isGroupHovered = isResizeHandleHovered ?? isElementHovered;
40
40
  useConditionalCleanup(isElementDragged && !!onResizeHandleDragChanged, () => onResizeHandleDragChanged(false));
41
41
  useConditionalCleanup(isElementHovered && !!onResizeHandleHoverChanged, () => onResizeHandleHoverChanged(false));
42
42
  if (isGroupHovered && pointerOutOfBounds.current)
@@ -1 +1 @@
1
- {"version":3,"file":"ElementSeparator.js","sourceRoot":"","sources":["../../../../src/core-react/elementseparator/ElementSeparator.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module ElementSeparator\n */\n\nimport \"./ElementSeparator.scss\";\nimport * as React from \"react\";\nimport { useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from \"react\"; // eslint-disable-line no-duplicate-imports\nimport classnames from \"classnames\";\nimport { Orientation } from \"../enums/Orientation\";\nimport { CommonProps } from \"../utils/Props\";\nimport { useThrottledFn } from \"../utils/hooks/useThrottledFn\";\nimport { UiCore } from \"../UiCore\";\n\n/**\n * Results returned by onRatioChanged callback for determining new ratio and whether the ratio was updated.\n * @public\n */\nexport interface RatioChangeResult {\n ratio: number;\n}\n\n/** Properties of [[ElementSeparator]] React component\n * @public\n */\nexport interface ElementSeparatorProps extends CommonProps {\n /** Separator orientation */\n orientation: Orientation;\n /** Ratio between left cell and right cell */\n ratio: number;\n /** Area width or height (depending on orientation) in pixels */\n movableArea?: number;\n /** Separator width or height in pixels. 30 by default */\n separatorSize?: number;\n /** Callback to ratio changed event */\n onRatioChanged?: (ratio: number) => void | RatioChangeResult;\n /** Is resize handle hovered */\n isResizeHandleHovered?: boolean;\n /** Callback to hover event change */\n onResizeHandleHoverChanged?: (isHovered: boolean) => void;\n /** Is resize handle being dragged */\n isResizeHandleBeingDragged?: boolean;\n /** Callback to drag event change */\n onResizeHandleDragChanged?: (isDragStarted: boolean) => void;\n}\n\nfunction getCurrentGlobalPosition(orientation: Orientation, e: PointerEvent | React.PointerEvent) {\n return orientation === Orientation.Horizontal ? e.clientX : e.clientY;\n}\n\nconst useConditionalCleanup = (condition: boolean, cleanup: () => void) => {\n const conditionRef = useRef(condition);\n const cleanupRef = useRef(cleanup);\n\n conditionRef.current = condition;\n cleanupRef.current = cleanup;\n\n useEffect(() => {\n return () => {\n if (conditionRef.current)\n cleanupRef.current();\n };\n }, []);\n};\n\nconst useElementSeparatorPointerHandler = ({\n onResizeHandleDragChanged,\n onResizeHandleHoverChanged,\n isResizeHandleBeingDragged,\n isResizeHandleHovered,\n movableArea,\n ratio,\n orientation,\n onRatioChanged,\n}: ElementSeparatorProps) => {\n const globalPosition = useRef(0);\n const pointerOutOfBounds = useRef(false);\n\n const [isElementDragged, setIsDragged] = useState(false);\n const [isElementHovered, setIsHovered] = useState(false);\n const isGroupDragged = isResizeHandleBeingDragged ?? isElementDragged;\n const isGroupHovered = isResizeHandleHovered ?? isElementHovered;\n\n useConditionalCleanup(isElementDragged && !!onResizeHandleDragChanged, () => onResizeHandleDragChanged!(false));\n useConditionalCleanup(isElementHovered && !!onResizeHandleHoverChanged, () => onResizeHandleHoverChanged!(false));\n\n if (isGroupHovered && pointerOutOfBounds.current)\n pointerOutOfBounds.current = false;\n\n const stopDrag = useCallback(() => {\n // istanbul ignore else\n if (isGroupDragged) {\n setIsDragged(false);\n if (onResizeHandleDragChanged)\n onResizeHandleDragChanged(false);\n }\n }, [isGroupDragged, onResizeHandleDragChanged]);\n\n const startDrag = useCallback((e: PointerEvent | React.PointerEvent) => {\n globalPosition.current = getCurrentGlobalPosition(orientation, e);\n\n // istanbul ignore else\n if (!isGroupDragged) {\n setIsDragged(true);\n if (onResizeHandleDragChanged)\n onResizeHandleDragChanged(true);\n }\n }, [isGroupDragged, orientation, onResizeHandleDragChanged]);\n\n const onPointerUp = useCallback(() => {\n stopDrag();\n }, [stopDrag]);\n\n const onThrottledPointerMove = useThrottledFn((e: PointerEvent | React.PointerEvent) => {\n if (!movableArea) {\n stopDrag();\n return;\n }\n\n const currentPosition = getCurrentGlobalPosition(orientation, e);\n const positionChange = currentPosition - globalPosition.current;\n\n // Should not need to recalculate if position on our movement axis does not change\n if (Math.abs(positionChange) < 1)\n return;\n\n const currentLocalPosition = movableArea * ratio + positionChange;\n const newRatio = currentLocalPosition / movableArea;\n\n globalPosition.current = currentPosition;\n if (pointerOutOfBounds.current || !onRatioChanged)\n return;\n\n const result = onRatioChanged(newRatio);\n if (result && result.ratio === ratio && !isGroupHovered && !pointerOutOfBounds.current)\n pointerOutOfBounds.current = true;\n }, 16, [stopDrag, isGroupHovered, ratio, movableArea, onRatioChanged, orientation]);\n\n useEffect(() => {\n return () => onThrottledPointerMove.cancel();\n }, [onThrottledPointerMove]);\n\n useLayoutEffect(() => {\n if (isElementDragged) {\n document.addEventListener(\"pointerup\", onPointerUp);\n document.addEventListener(\"pointermove\", onThrottledPointerMove);\n }\n\n return () => {\n document.removeEventListener(\"pointerup\", onPointerUp);\n document.removeEventListener(\"pointermove\", onThrottledPointerMove);\n };\n }, [isElementDragged, onPointerUp, onThrottledPointerMove]);\n\n const onPointerDown = useCallback((e: PointerEvent | React.PointerEvent) => {\n if (!isGroupDragged) {\n startDrag(e);\n } else {\n stopDrag();\n }\n }, [isGroupDragged, startDrag, stopDrag]);\n\n const onPointerOver = useCallback(() => {\n // istanbul ignore next\n if (isGroupHovered)\n return;\n\n setIsHovered(true);\n if (onResizeHandleHoverChanged)\n onResizeHandleHoverChanged(true);\n\n }, [isGroupHovered, onResizeHandleHoverChanged]);\n\n const onPointerOut = useCallback(() => {\n // istanbul ignore next\n if (!isGroupHovered)\n return;\n\n setIsHovered(false);\n if (onResizeHandleHoverChanged)\n onResizeHandleHoverChanged(false);\n\n }, [isGroupHovered, onResizeHandleHoverChanged]);\n\n return {\n isHovered: isGroupHovered,\n isDragged: isGroupDragged,\n onPointerDown,\n onPointerOver,\n onPointerOut,\n };\n};\n\nfunction getStyle(orientation: Orientation, separatorSize?: number): React.CSSProperties {\n separatorSize = separatorSize || 30;\n\n if (orientation === Orientation.Horizontal)\n return {\n width: separatorSize,\n margin: `0px ${-Math.floor(separatorSize / 2)}px`,\n };\n return {\n height: separatorSize,\n margin: `${-Math.floor(separatorSize / 2)}px 1px`,\n };\n}\n\n/** A movable button, which allows to change the ratio between left element and right element\n * @public\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const ElementSeparator = (props: ElementSeparatorProps) => {\n const label = useRef(UiCore.translate(\"elementSeparator.label\"));\n const [hasHoverHappened, setHasHoverHappened] = useState(false);\n const { isDragged, isHovered, onPointerDown, onPointerOver, onPointerOut } = useElementSeparatorPointerHandler(props);\n\n const isHoverNeeded = isHovered || isDragged;\n if (!hasHoverHappened && isHoverNeeded)\n setHasHoverHappened(isHoverNeeded);\n\n // This is done to avoid fade-out animation when first rendering.\n const unhoverClass = hasHoverHappened ? \"core-element-separator-group-unhovered\" : \"\";\n\n const classNames = classnames(\n \"core-element-separator\",\n (props.orientation === Orientation.Horizontal) ? \"core-element-separator--horizontal\" : \"core-element-separator--vertical\",\n props.className,\n isHoverNeeded ? \"core-element-separator-group-hovered\" : unhoverClass,\n );\n\n const orientation = props.orientation;\n const separatorSize = props.separatorSize;\n const style = useMemo(() => getStyle(orientation, separatorSize), [orientation, separatorSize]);\n const styles: React.CSSProperties = {\n ...style,\n ...props.style,\n };\n\n return (\n <button\n style={styles}\n className={classNames}\n onPointerDown={onPointerDown}\n onPointerOver={onPointerOver}\n onPointerOut={onPointerOut}\n aria-label={label.current}\n />\n );\n};\n"]}
1
+ {"version":3,"file":"ElementSeparator.js","sourceRoot":"","sources":["../../../../src/core-react/elementseparator/ElementSeparator.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module ElementSeparator\r\n */\r\n\r\nimport \"./ElementSeparator.scss\";\r\nimport * as React from \"react\";\r\nimport { useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from \"react\"; // eslint-disable-line no-duplicate-imports\r\nimport classnames from \"classnames\";\r\nimport { Orientation } from \"../enums/Orientation\";\r\nimport { CommonProps } from \"../utils/Props\";\r\nimport { useThrottledFn } from \"../utils/hooks/useThrottledFn\";\r\nimport { UiCore } from \"../UiCore\";\r\n\r\n/**\r\n * Results returned by onRatioChanged callback for determining new ratio and whether the ratio was updated.\r\n * @public\r\n */\r\nexport interface RatioChangeResult {\r\n ratio: number;\r\n}\r\n\r\n/** Properties of [[ElementSeparator]] React component\r\n * @public\r\n */\r\nexport interface ElementSeparatorProps extends CommonProps {\r\n /** Separator orientation */\r\n orientation: Orientation;\r\n /** Ratio between left cell and right cell */\r\n ratio: number;\r\n /** Area width or height (depending on orientation) in pixels */\r\n movableArea?: number;\r\n /** Separator width or height in pixels. 30 by default */\r\n separatorSize?: number;\r\n /** Callback to ratio changed event */\r\n onRatioChanged?: (ratio: number) => void | RatioChangeResult;\r\n /** Is resize handle hovered */\r\n isResizeHandleHovered?: boolean;\r\n /** Callback to hover event change */\r\n onResizeHandleHoverChanged?: (isHovered: boolean) => void;\r\n /** Is resize handle being dragged */\r\n isResizeHandleBeingDragged?: boolean;\r\n /** Callback to drag event change */\r\n onResizeHandleDragChanged?: (isDragStarted: boolean) => void;\r\n}\r\n\r\nfunction getCurrentGlobalPosition(orientation: Orientation, e: PointerEvent | React.PointerEvent) {\r\n return orientation === Orientation.Horizontal ? e.clientX : e.clientY;\r\n}\r\n\r\nconst useConditionalCleanup = (condition: boolean, cleanup: () => void) => {\r\n const conditionRef = useRef(condition);\r\n const cleanupRef = useRef(cleanup);\r\n\r\n conditionRef.current = condition;\r\n cleanupRef.current = cleanup;\r\n\r\n useEffect(() => {\r\n return () => {\r\n if (conditionRef.current)\r\n cleanupRef.current();\r\n };\r\n }, []);\r\n};\r\n\r\nconst useElementSeparatorPointerHandler = ({\r\n onResizeHandleDragChanged,\r\n onResizeHandleHoverChanged,\r\n isResizeHandleBeingDragged,\r\n isResizeHandleHovered,\r\n movableArea,\r\n ratio,\r\n orientation,\r\n onRatioChanged,\r\n}: ElementSeparatorProps) => {\r\n const globalPosition = useRef(0);\r\n const pointerOutOfBounds = useRef(false);\r\n\r\n const [isElementDragged, setIsDragged] = useState(false);\r\n const [isElementHovered, setIsHovered] = useState(false);\r\n const isGroupDragged = isResizeHandleBeingDragged ?? isElementDragged;\r\n const isGroupHovered = isResizeHandleHovered ?? isElementHovered;\r\n\r\n useConditionalCleanup(isElementDragged && !!onResizeHandleDragChanged, () => onResizeHandleDragChanged!(false));\r\n useConditionalCleanup(isElementHovered && !!onResizeHandleHoverChanged, () => onResizeHandleHoverChanged!(false));\r\n\r\n if (isGroupHovered && pointerOutOfBounds.current)\r\n pointerOutOfBounds.current = false;\r\n\r\n const stopDrag = useCallback(() => {\r\n // istanbul ignore else\r\n if (isGroupDragged) {\r\n setIsDragged(false);\r\n if (onResizeHandleDragChanged)\r\n onResizeHandleDragChanged(false);\r\n }\r\n }, [isGroupDragged, onResizeHandleDragChanged]);\r\n\r\n const startDrag = useCallback((e: PointerEvent | React.PointerEvent) => {\r\n globalPosition.current = getCurrentGlobalPosition(orientation, e);\r\n\r\n // istanbul ignore else\r\n if (!isGroupDragged) {\r\n setIsDragged(true);\r\n if (onResizeHandleDragChanged)\r\n onResizeHandleDragChanged(true);\r\n }\r\n }, [isGroupDragged, orientation, onResizeHandleDragChanged]);\r\n\r\n const onPointerUp = useCallback(() => {\r\n stopDrag();\r\n }, [stopDrag]);\r\n\r\n const onThrottledPointerMove = useThrottledFn((e: PointerEvent | React.PointerEvent) => {\r\n if (!movableArea) {\r\n stopDrag();\r\n return;\r\n }\r\n\r\n const currentPosition = getCurrentGlobalPosition(orientation, e);\r\n const positionChange = currentPosition - globalPosition.current;\r\n\r\n // Should not need to recalculate if position on our movement axis does not change\r\n if (Math.abs(positionChange) < 1)\r\n return;\r\n\r\n const currentLocalPosition = movableArea * ratio + positionChange;\r\n const newRatio = currentLocalPosition / movableArea;\r\n\r\n globalPosition.current = currentPosition;\r\n if (pointerOutOfBounds.current || !onRatioChanged)\r\n return;\r\n\r\n const result = onRatioChanged(newRatio);\r\n if (result && result.ratio === ratio && !isGroupHovered && !pointerOutOfBounds.current)\r\n pointerOutOfBounds.current = true;\r\n }, 16, [stopDrag, isGroupHovered, ratio, movableArea, onRatioChanged, orientation]);\r\n\r\n useEffect(() => {\r\n return () => onThrottledPointerMove.cancel();\r\n }, [onThrottledPointerMove]);\r\n\r\n useLayoutEffect(() => {\r\n if (isElementDragged) {\r\n document.addEventListener(\"pointerup\", onPointerUp);\r\n document.addEventListener(\"pointermove\", onThrottledPointerMove);\r\n }\r\n\r\n return () => {\r\n document.removeEventListener(\"pointerup\", onPointerUp);\r\n document.removeEventListener(\"pointermove\", onThrottledPointerMove);\r\n };\r\n }, [isElementDragged, onPointerUp, onThrottledPointerMove]);\r\n\r\n const onPointerDown = useCallback((e: PointerEvent | React.PointerEvent) => {\r\n if (!isGroupDragged) {\r\n startDrag(e);\r\n } else {\r\n stopDrag();\r\n }\r\n }, [isGroupDragged, startDrag, stopDrag]);\r\n\r\n const onPointerOver = useCallback(() => {\r\n // istanbul ignore next\r\n if (isGroupHovered)\r\n return;\r\n\r\n setIsHovered(true);\r\n if (onResizeHandleHoverChanged)\r\n onResizeHandleHoverChanged(true);\r\n\r\n }, [isGroupHovered, onResizeHandleHoverChanged]);\r\n\r\n const onPointerOut = useCallback(() => {\r\n // istanbul ignore next\r\n if (!isGroupHovered)\r\n return;\r\n\r\n setIsHovered(false);\r\n if (onResizeHandleHoverChanged)\r\n onResizeHandleHoverChanged(false);\r\n\r\n }, [isGroupHovered, onResizeHandleHoverChanged]);\r\n\r\n return {\r\n isHovered: isGroupHovered,\r\n isDragged: isGroupDragged,\r\n onPointerDown,\r\n onPointerOver,\r\n onPointerOut,\r\n };\r\n};\r\n\r\nfunction getStyle(orientation: Orientation, separatorSize?: number): React.CSSProperties {\r\n separatorSize = separatorSize || 30;\r\n\r\n if (orientation === Orientation.Horizontal)\r\n return {\r\n width: separatorSize,\r\n margin: `0px ${-Math.floor(separatorSize / 2)}px`,\r\n };\r\n return {\r\n height: separatorSize,\r\n margin: `${-Math.floor(separatorSize / 2)}px 1px`,\r\n };\r\n}\r\n\r\n/** A movable button, which allows to change the ratio between left element and right element\r\n * @public\r\n */\r\n// eslint-disable-next-line @typescript-eslint/naming-convention\r\nexport const ElementSeparator = (props: ElementSeparatorProps) => {\r\n const label = useRef(UiCore.translate(\"elementSeparator.label\"));\r\n const [hasHoverHappened, setHasHoverHappened] = useState(false);\r\n const { isDragged, isHovered, onPointerDown, onPointerOver, onPointerOut } = useElementSeparatorPointerHandler(props);\r\n\r\n const isHoverNeeded = isHovered || isDragged;\r\n if (!hasHoverHappened && isHoverNeeded)\r\n setHasHoverHappened(isHoverNeeded);\r\n\r\n // This is done to avoid fade-out animation when first rendering.\r\n const unhoverClass = hasHoverHappened ? \"core-element-separator-group-unhovered\" : \"\";\r\n\r\n const classNames = classnames(\r\n \"core-element-separator\",\r\n (props.orientation === Orientation.Horizontal) ? \"core-element-separator--horizontal\" : \"core-element-separator--vertical\",\r\n props.className,\r\n isHoverNeeded ? \"core-element-separator-group-hovered\" : unhoverClass,\r\n );\r\n\r\n const orientation = props.orientation;\r\n const separatorSize = props.separatorSize;\r\n const style = useMemo(() => getStyle(orientation, separatorSize), [orientation, separatorSize]);\r\n const styles: React.CSSProperties = {\r\n ...style,\r\n ...props.style,\r\n };\r\n\r\n return (\r\n <button\r\n style={styles}\r\n className={classNames}\r\n onPointerDown={onPointerDown}\r\n onPointerOver={onPointerOver}\r\n onPointerOut={onPointerOut}\r\n aria-label={label.current}\r\n />\r\n );\r\n};\r\n"]}