@itwin/core-react 4.0.0-dev.12 → 4.0.0-dev.13

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 (910) hide show
  1. package/lib/cjs/core-react/UiCore.d.ts +40 -40
  2. package/lib/cjs/core-react/UiCore.js +85 -85
  3. package/lib/cjs/core-react/UiCore.js.map +1 -1
  4. package/lib/cjs/core-react/_geometry.scss +70 -70
  5. package/lib/cjs/core-react/_helpers.scss +51 -51
  6. package/lib/cjs/core-react/_math.scss +13 -13
  7. package/lib/cjs/core-react/_scrollbar.scss +51 -51
  8. package/lib/cjs/core-react/_typography.scss +44 -44
  9. package/lib/cjs/core-react/_z-index.scss +65 -65
  10. package/lib/cjs/core-react/autosuggest/AutoSuggest.d.ts +96 -96
  11. package/lib/cjs/core-react/autosuggest/AutoSuggest.d.ts.map +1 -1
  12. package/lib/cjs/core-react/autosuggest/AutoSuggest.js +174 -174
  13. package/lib/cjs/core-react/autosuggest/AutoSuggest.js.map +1 -1
  14. package/lib/cjs/core-react/autosuggest/AutoSuggest.scss +79 -80
  15. package/lib/cjs/core-react/badge/Badge.d.ts +18 -18
  16. package/lib/cjs/core-react/badge/Badge.js +26 -26
  17. package/lib/cjs/core-react/badge/Badge.js.map +1 -1
  18. package/lib/cjs/core-react/badge/Badge.scss +13 -13
  19. package/lib/cjs/core-react/badge/BadgeUtilities.d.ts +12 -12
  20. package/lib/cjs/core-react/badge/BadgeUtilities.js +38 -38
  21. package/lib/cjs/core-react/badge/BadgeUtilities.js.map +1 -1
  22. package/lib/cjs/core-react/badge/BetaBadge.d.ts +9 -9
  23. package/lib/cjs/core-react/badge/BetaBadge.js +22 -22
  24. package/lib/cjs/core-react/badge/BetaBadge.js.map +1 -1
  25. package/lib/cjs/core-react/badge/NewBadge.d.ts +10 -10
  26. package/lib/cjs/core-react/badge/NewBadge.js +23 -23
  27. package/lib/cjs/core-react/badge/NewBadge.js.map +1 -1
  28. package/lib/cjs/core-react/badge/NewBadge.scss +9 -9
  29. package/lib/cjs/core-react/base/Centered.d.ts +10 -10
  30. package/lib/cjs/core-react/base/Centered.js +20 -20
  31. package/lib/cjs/core-react/base/Centered.js.map +1 -1
  32. package/lib/cjs/core-react/base/Div.d.ts +16 -16
  33. package/lib/cjs/core-react/base/Div.js +20 -20
  34. package/lib/cjs/core-react/base/Div.js.map +1 -1
  35. package/lib/cjs/core-react/base/DivWithOutsideClick.d.ts +79 -79
  36. package/lib/cjs/core-react/base/DivWithOutsideClick.js +16 -16
  37. package/lib/cjs/core-react/base/DivWithOutsideClick.js.map +1 -1
  38. package/lib/cjs/core-react/base/FillCentered.d.ts +10 -10
  39. package/lib/cjs/core-react/base/FillCentered.js +20 -20
  40. package/lib/cjs/core-react/base/FillCentered.js.map +1 -1
  41. package/lib/cjs/core-react/base/FlexWrapContainer.d.ts +11 -11
  42. package/lib/cjs/core-react/base/FlexWrapContainer.js +21 -21
  43. package/lib/cjs/core-react/base/FlexWrapContainer.js.map +1 -1
  44. package/lib/cjs/core-react/base/Gap.d.ts +15 -15
  45. package/lib/cjs/core-react/base/Gap.js +20 -20
  46. package/lib/cjs/core-react/base/Gap.js.map +1 -1
  47. package/lib/cjs/core-react/base/PointerEvents.d.ts +7 -7
  48. package/lib/cjs/core-react/base/PointerEvents.js +17 -17
  49. package/lib/cjs/core-react/base/PointerEvents.js.map +1 -1
  50. package/lib/cjs/core-react/base/ScrollView.d.ts +11 -11
  51. package/lib/cjs/core-react/base/ScrollView.js +21 -21
  52. package/lib/cjs/core-react/base/ScrollView.js.map +1 -1
  53. package/lib/cjs/core-react/base/base.scss +42 -42
  54. package/lib/cjs/core-react/base/classes.scss +13 -13
  55. package/lib/cjs/core-react/base/index.scss +5 -5
  56. package/lib/cjs/core-react/button/UnderlinedButton.d.ts +24 -24
  57. package/lib/cjs/core-react/button/UnderlinedButton.js +35 -35
  58. package/lib/cjs/core-react/button/UnderlinedButton.js.map +1 -1
  59. package/lib/cjs/core-react/button/UnderlinedButton.scss +32 -32
  60. package/lib/cjs/core-react/checklistbox/CheckListBox.d.ts +40 -40
  61. package/lib/cjs/core-react/checklistbox/CheckListBox.js +42 -42
  62. package/lib/cjs/core-react/checklistbox/CheckListBox.js.map +1 -1
  63. package/lib/cjs/core-react/checklistbox/CheckListBox.scss +21 -22
  64. package/lib/cjs/core-react/classes.scss +11 -13
  65. package/lib/cjs/core-react/colorthemes.scss +61 -61
  66. package/lib/cjs/core-react/colorvariables.scss +131 -131
  67. package/lib/cjs/core-react/contextmenu/ContextMenu.d.ts +93 -93
  68. package/lib/cjs/core-react/contextmenu/ContextMenu.d.ts.map +1 -1
  69. package/lib/cjs/core-react/contextmenu/ContextMenu.js +363 -364
  70. package/lib/cjs/core-react/contextmenu/ContextMenu.js.map +1 -1
  71. package/lib/cjs/core-react/contextmenu/ContextMenu.scss +236 -236
  72. package/lib/cjs/core-react/contextmenu/ContextMenuDirection.d.ts +18 -18
  73. package/lib/cjs/core-react/contextmenu/ContextMenuDirection.js +26 -26
  74. package/lib/cjs/core-react/contextmenu/ContextMenuDirection.js.map +1 -1
  75. package/lib/cjs/core-react/contextmenu/ContextMenuDivider.d.ts +12 -12
  76. package/lib/cjs/core-react/contextmenu/ContextMenuDivider.js +23 -23
  77. package/lib/cjs/core-react/contextmenu/ContextMenuDivider.js.map +1 -1
  78. package/lib/cjs/core-react/contextmenu/ContextMenuItem.d.ts +61 -61
  79. package/lib/cjs/core-react/contextmenu/ContextMenuItem.js +108 -108
  80. package/lib/cjs/core-react/contextmenu/ContextMenuItem.js.map +1 -1
  81. package/lib/cjs/core-react/contextmenu/ContextSubMenu.d.ts +51 -51
  82. package/lib/cjs/core-react/contextmenu/ContextSubMenu.d.ts.map +1 -1
  83. package/lib/cjs/core-react/contextmenu/ContextSubMenu.js +162 -162
  84. package/lib/cjs/core-react/contextmenu/ContextSubMenu.js.map +1 -1
  85. package/lib/cjs/core-react/contextmenu/GlobalContextMenu.d.ts +34 -34
  86. package/lib/cjs/core-react/contextmenu/GlobalContextMenu.js +61 -63
  87. package/lib/cjs/core-react/contextmenu/GlobalContextMenu.js.map +1 -1
  88. package/lib/cjs/core-react/contextmenu/PopupContextMenu.d.ts +53 -53
  89. package/lib/cjs/core-react/contextmenu/PopupContextMenu.js +55 -55
  90. package/lib/cjs/core-react/contextmenu/PopupContextMenu.js.map +1 -1
  91. package/lib/cjs/core-react/contextmenu/TildeFinder.d.ts +18 -18
  92. package/lib/cjs/core-react/contextmenu/TildeFinder.js +70 -70
  93. package/lib/cjs/core-react/contextmenu/TildeFinder.js.map +1 -1
  94. package/lib/cjs/core-react/dialog/Dialog.d.ts +132 -132
  95. package/lib/cjs/core-react/dialog/Dialog.js +374 -375
  96. package/lib/cjs/core-react/dialog/Dialog.js.map +1 -1
  97. package/lib/cjs/core-react/dialog/Dialog.scss +245 -245
  98. package/lib/cjs/core-react/dialog/GlobalDialog.d.ts +28 -28
  99. package/lib/cjs/core-react/dialog/GlobalDialog.js +52 -53
  100. package/lib/cjs/core-react/dialog/GlobalDialog.js.map +1 -1
  101. package/lib/cjs/core-react/elementseparator/ElementSeparator.d.ts +41 -41
  102. package/lib/cjs/core-react/elementseparator/ElementSeparator.js +163 -163
  103. package/lib/cjs/core-react/elementseparator/ElementSeparator.js.map +1 -1
  104. package/lib/cjs/core-react/elementseparator/ElementSeparator.scss +85 -85
  105. package/lib/cjs/core-react/enums/Alignment.d.ts +22 -22
  106. package/lib/cjs/core-react/enums/Alignment.js +31 -31
  107. package/lib/cjs/core-react/enums/Alignment.js.map +1 -1
  108. package/lib/cjs/core-react/enums/CheckBoxState.d.ts +20 -20
  109. package/lib/cjs/core-react/enums/CheckBoxState.js +19 -19
  110. package/lib/cjs/core-react/enums/CheckBoxState.js.map +1 -1
  111. package/lib/cjs/core-react/enums/Orientation.d.ts +11 -11
  112. package/lib/cjs/core-react/enums/Orientation.js +19 -19
  113. package/lib/cjs/core-react/enums/Orientation.js.map +1 -1
  114. package/lib/cjs/core-react/enums/SortDirection.d.ts +12 -12
  115. package/lib/cjs/core-react/enums/SortDirection.js +20 -20
  116. package/lib/cjs/core-react/enums/SortDirection.js.map +1 -1
  117. package/lib/cjs/core-react/enums/TimeFormat.d.ts +14 -14
  118. package/lib/cjs/core-react/enums/TimeFormat.js +22 -22
  119. package/lib/cjs/core-react/enums/TimeFormat.js.map +1 -1
  120. package/lib/cjs/core-react/expandable/ExpandableList.d.ts +37 -37
  121. package/lib/cjs/core-react/expandable/ExpandableList.js +57 -57
  122. package/lib/cjs/core-react/expandable/ExpandableList.js.map +1 -1
  123. package/lib/cjs/core-react/expandable/ExpandableList.scss +8 -8
  124. package/lib/cjs/core-react/expandable/classes.scss +7 -7
  125. package/lib/cjs/core-react/expandable/index.scss +5 -5
  126. package/lib/cjs/core-react/expandable/list.scss +35 -35
  127. package/lib/cjs/core-react/focus/ItemKeyboardNavigator.d.ts +53 -53
  128. package/lib/cjs/core-react/focus/ItemKeyboardNavigator.d.ts.map +1 -1
  129. package/lib/cjs/core-react/focus/ItemKeyboardNavigator.js +150 -150
  130. package/lib/cjs/core-react/focus/ItemKeyboardNavigator.js.map +1 -1
  131. package/lib/cjs/core-react/focustrap/FocusTrap.d.ts +28 -28
  132. package/lib/cjs/core-react/focustrap/FocusTrap.js +196 -196
  133. package/lib/cjs/core-react/focustrap/FocusTrap.js.map +1 -1
  134. package/lib/cjs/core-react/hocs/withIsPressed.d.ts +77 -77
  135. package/lib/cjs/core-react/hocs/withIsPressed.js +46 -46
  136. package/lib/cjs/core-react/hocs/withIsPressed.js.map +1 -1
  137. package/lib/cjs/core-react/hocs/withOnOutsideClick.d.ts +103 -103
  138. package/lib/cjs/core-react/hocs/withOnOutsideClick.js +114 -115
  139. package/lib/cjs/core-react/hocs/withOnOutsideClick.js.map +1 -1
  140. package/lib/cjs/core-react/hocs/withTimeout.d.ts +74 -74
  141. package/lib/cjs/core-react/hocs/withTimeout.js +46 -46
  142. package/lib/cjs/core-react/hocs/withTimeout.js.map +1 -1
  143. package/lib/cjs/core-react/icons/ConditionalIconItem.d.ts +26 -26
  144. package/lib/cjs/core-react/icons/ConditionalIconItem.js +64 -64
  145. package/lib/cjs/core-react/icons/ConditionalIconItem.js.map +1 -1
  146. package/lib/cjs/core-react/icons/IconComponent.d.ts +25 -25
  147. package/lib/cjs/core-react/icons/IconComponent.d.ts.map +1 -1
  148. package/lib/cjs/core-react/icons/IconComponent.js +48 -48
  149. package/lib/cjs/core-react/icons/IconComponent.js.map +1 -1
  150. package/lib/cjs/core-react/icons/IconComponent.scss +20 -20
  151. package/lib/cjs/core-react/icons/SvgPath.d.ts +23 -23
  152. package/lib/cjs/core-react/icons/SvgPath.js +27 -27
  153. package/lib/cjs/core-react/icons/SvgPath.js.map +1 -1
  154. package/lib/cjs/core-react/icons/SvgPath.scss +15 -15
  155. package/lib/cjs/core-react/icons/WebFontIcon.d.ts +25 -25
  156. package/lib/cjs/core-react/icons/WebFontIcon.js +21 -21
  157. package/lib/cjs/core-react/icons/WebFontIcon.js.map +1 -1
  158. package/lib/cjs/core-react/icons/WebFontIcon.scss +17 -17
  159. package/lib/cjs/core-react/icons/classes.scss +10 -10
  160. package/lib/cjs/core-react/icons/index.scss +6 -6
  161. package/lib/cjs/core-react/icons/mixins.scss +25 -25
  162. package/lib/cjs/core-react/icons/variables.scss +12 -12
  163. package/lib/cjs/core-react/imagecheckbox/ImageCheckBox.d.ts +42 -42
  164. package/lib/cjs/core-react/imagecheckbox/ImageCheckBox.js +56 -56
  165. package/lib/cjs/core-react/imagecheckbox/ImageCheckBox.js.map +1 -1
  166. package/lib/cjs/core-react/imagecheckbox/ImageCheckBox.scss +54 -54
  167. package/lib/cjs/core-react/index.scss +21 -23
  168. package/lib/cjs/core-react/inputs/Input.d.ts +20 -20
  169. package/lib/cjs/core-react/inputs/Input.js +45 -45
  170. package/lib/cjs/core-react/inputs/Input.js.map +1 -1
  171. package/lib/cjs/core-react/inputs/InputLabel.d.ts +20 -20
  172. package/lib/cjs/core-react/inputs/InputLabel.js +41 -41
  173. package/lib/cjs/core-react/inputs/InputLabel.js.map +1 -1
  174. package/lib/cjs/core-react/inputs/InputStatus.d.ts +11 -11
  175. package/lib/cjs/core-react/inputs/InputStatus.js +19 -19
  176. package/lib/cjs/core-react/inputs/InputStatus.js.map +1 -1
  177. package/lib/cjs/core-react/inputs/LabeledComponentProps.d.ts +33 -33
  178. package/lib/cjs/core-react/inputs/LabeledComponentProps.js +9 -9
  179. package/lib/cjs/core-react/inputs/LabeledComponentProps.js.map +1 -1
  180. package/lib/cjs/core-react/inputs/classes.scss +8 -8
  181. package/lib/cjs/core-react/inputs/iconinput/IconInput.d.ts +23 -23
  182. package/lib/cjs/core-react/inputs/iconinput/IconInput.js +29 -29
  183. package/lib/cjs/core-react/inputs/iconinput/IconInput.js.map +1 -1
  184. package/lib/cjs/core-react/inputs/iconinput/IconInput.scss +35 -35
  185. package/lib/cjs/core-react/inputs/index.scss +9 -9
  186. package/lib/cjs/core-react/inputs/input-label.scss +90 -90
  187. package/lib/cjs/core-react/inputs/input.scss +58 -58
  188. package/lib/cjs/core-react/inputs/numberinput/NumberInput.d.ts +50 -50
  189. package/lib/cjs/core-react/inputs/numberinput/NumberInput.d.ts.map +1 -1
  190. package/lib/cjs/core-react/inputs/numberinput/NumberInput.js +153 -153
  191. package/lib/cjs/core-react/inputs/numberinput/NumberInput.js.map +1 -1
  192. package/lib/cjs/core-react/inputs/numberinput/NumberInput.scss +88 -88
  193. package/lib/cjs/core-react/inputs/variables.scss +38 -38
  194. package/lib/cjs/core-react/layout-variables.scss +17 -17
  195. package/lib/cjs/core-react/listbox/Listbox.d.ts +55 -55
  196. package/lib/cjs/core-react/listbox/Listbox.d.ts.map +1 -1
  197. package/lib/cjs/core-react/listbox/Listbox.js +221 -222
  198. package/lib/cjs/core-react/listbox/Listbox.js.map +1 -1
  199. package/lib/cjs/core-react/listbox/Listbox.scss +54 -54
  200. package/lib/cjs/core-react/loading/LoadingBar.d.ts +29 -29
  201. package/lib/cjs/core-react/loading/LoadingBar.js +40 -40
  202. package/lib/cjs/core-react/loading/LoadingBar.js.map +1 -1
  203. package/lib/cjs/core-react/loading/LoadingBar.scss +29 -29
  204. package/lib/cjs/core-react/loading/LoadingPrompt.d.ts +39 -39
  205. package/lib/cjs/core-react/loading/LoadingPrompt.js +44 -44
  206. package/lib/cjs/core-react/loading/LoadingPrompt.js.map +1 -1
  207. package/lib/cjs/core-react/loading/LoadingPrompt.scss +33 -33
  208. package/lib/cjs/core-react/loading/LoadingSpinner.d.ts +32 -32
  209. package/lib/cjs/core-react/loading/LoadingSpinner.d.ts.map +1 -1
  210. package/lib/cjs/core-react/loading/LoadingSpinner.js +30 -30
  211. package/lib/cjs/core-react/loading/LoadingSpinner.js.map +1 -1
  212. package/lib/cjs/core-react/loading/LoadingSpinner.scss +26 -26
  213. package/lib/cjs/core-react/loading/LoadingStatus.d.ts +24 -24
  214. package/lib/cjs/core-react/loading/LoadingStatus.js +37 -37
  215. package/lib/cjs/core-react/loading/LoadingStatus.js.map +1 -1
  216. package/lib/cjs/core-react/loading/LoadingStatus.scss +20 -20
  217. package/lib/cjs/core-react/loading/index.scss +5 -5
  218. package/lib/cjs/core-react/loading/mixins.scss +57 -57
  219. package/lib/cjs/core-react/messagebox/MessageBox.d.ts +80 -80
  220. package/lib/cjs/core-react/messagebox/MessageBox.js +114 -114
  221. package/lib/cjs/core-react/messagebox/MessageBox.js.map +1 -1
  222. package/lib/cjs/core-react/messagebox/MessageBox.scss +56 -56
  223. package/lib/cjs/core-react/notification/MessageRenderer.d.ts +19 -19
  224. package/lib/cjs/core-react/notification/MessageRenderer.js +81 -81
  225. package/lib/cjs/core-react/notification/MessageRenderer.js.map +1 -1
  226. package/lib/cjs/core-react/notification/MessageType.d.ts +22 -22
  227. package/lib/cjs/core-react/notification/MessageType.d.ts.map +1 -1
  228. package/lib/cjs/core-react/notification/MessageType.js +24 -24
  229. package/lib/cjs/core-react/notification/MessageType.js.map +1 -1
  230. package/lib/cjs/core-react/popup/Popup.d.ts +111 -111
  231. package/lib/cjs/core-react/popup/Popup.js +418 -422
  232. package/lib/cjs/core-react/popup/Popup.js.map +1 -1
  233. package/lib/cjs/core-react/popup/Popup.scss +240 -240
  234. package/lib/cjs/core-react/radialmenu/Annulus.d.ts +54 -54
  235. package/lib/cjs/core-react/radialmenu/Annulus.js +82 -82
  236. package/lib/cjs/core-react/radialmenu/Annulus.js.map +1 -1
  237. package/lib/cjs/core-react/radialmenu/RadialMenu.d.ts +97 -97
  238. package/lib/cjs/core-react/radialmenu/RadialMenu.js +179 -179
  239. package/lib/cjs/core-react/radialmenu/RadialMenu.js.map +1 -1
  240. package/lib/cjs/core-react/radialmenu/RadialMenu.scss +55 -55
  241. package/lib/cjs/core-react/searchbox/SearchBox.d.ts +52 -52
  242. package/lib/cjs/core-react/searchbox/SearchBox.js +111 -111
  243. package/lib/cjs/core-react/searchbox/SearchBox.js.map +1 -1
  244. package/lib/cjs/core-react/searchbox/SearchBox.scss +47 -48
  245. package/lib/cjs/core-react/settings/SettingsContainer.d.ts +30 -30
  246. package/lib/cjs/core-react/settings/SettingsContainer.js +121 -121
  247. package/lib/cjs/core-react/settings/SettingsContainer.js.map +1 -1
  248. package/lib/cjs/core-react/settings/SettingsContainer.scss +68 -68
  249. package/lib/cjs/core-react/settings/SettingsManager.d.ts +132 -132
  250. package/lib/cjs/core-react/settings/SettingsManager.js +122 -122
  251. package/lib/cjs/core-react/settings/SettingsManager.js.map +1 -1
  252. package/lib/cjs/core-react/style/baseline.scss +11 -11
  253. package/lib/cjs/core-react/style/breakpoints.scss +41 -41
  254. package/lib/cjs/core-react/style/colors.scss +77 -77
  255. package/lib/cjs/core-react/style/index.scss +10 -17
  256. package/lib/cjs/core-react/style/mixins.scss +27 -27
  257. package/lib/cjs/core-react/style/opacity.scss +16 -16
  258. package/lib/cjs/core-react/style/themecolors.scss +123 -123
  259. package/lib/cjs/core-react/tabs/Tabs.d.ts +71 -71
  260. package/lib/cjs/core-react/tabs/Tabs.js +125 -125
  261. package/lib/cjs/core-react/tabs/Tabs.js.map +1 -1
  262. package/lib/cjs/core-react/tabs/VerticalTabs.d.ts +9 -9
  263. package/lib/cjs/core-react/tabs/VerticalTabs.js +20 -20
  264. package/lib/cjs/core-react/tabs/VerticalTabs.js.map +1 -1
  265. package/lib/cjs/core-react/tabs/classes.scss +7 -7
  266. package/lib/cjs/core-react/tabs/index.scss +5 -5
  267. package/lib/cjs/core-react/tabs/tabs.scss +96 -96
  268. package/lib/cjs/core-react/tabs/vertical.scss +51 -51
  269. package/lib/cjs/core-react/text/BlockText.d.ts +9 -9
  270. package/lib/cjs/core-react/text/BlockText.js +20 -20
  271. package/lib/cjs/core-react/text/BlockText.js.map +1 -1
  272. package/lib/cjs/core-react/text/BodyText.d.ts +10 -10
  273. package/lib/cjs/core-react/text/BodyText.js +21 -21
  274. package/lib/cjs/core-react/text/BodyText.js.map +1 -1
  275. package/lib/cjs/core-react/text/DisabledText.d.ts +6 -6
  276. package/lib/cjs/core-react/text/DisabledText.js +20 -20
  277. package/lib/cjs/core-react/text/DisabledText.js.map +1 -1
  278. package/lib/cjs/core-react/text/FilteredText.d.ts +24 -24
  279. package/lib/cjs/core-react/text/FilteredText.js +40 -40
  280. package/lib/cjs/core-react/text/FilteredText.js.map +1 -1
  281. package/lib/cjs/core-react/text/FilteredText.scss +10 -10
  282. package/lib/cjs/core-react/text/MutedText.d.ts +10 -10
  283. package/lib/cjs/core-react/text/MutedText.js +21 -21
  284. package/lib/cjs/core-react/text/MutedText.js.map +1 -1
  285. package/lib/cjs/core-react/text/StyledText.d.ts +17 -17
  286. package/lib/cjs/core-react/text/StyledText.js +21 -21
  287. package/lib/cjs/core-react/text/StyledText.js.map +1 -1
  288. package/lib/cjs/core-react/text/TextProps.d.ts +10 -10
  289. package/lib/cjs/core-react/text/TextProps.js +9 -9
  290. package/lib/cjs/core-react/text/TextProps.js.map +1 -1
  291. package/lib/cjs/core-react/text/block.scss +15 -15
  292. package/lib/cjs/core-react/text/body.scss +13 -13
  293. package/lib/cjs/core-react/text/classes.scss +10 -10
  294. package/lib/cjs/core-react/text/disabled.scss +10 -10
  295. package/lib/cjs/core-react/text/index.scss +10 -10
  296. package/lib/cjs/core-react/text/mixins.scss +24 -24
  297. package/lib/cjs/core-react/text/muted.scss +10 -10
  298. package/lib/cjs/core-react/tree/Branch.d.ts +19 -19
  299. package/lib/cjs/core-react/tree/Branch.js +23 -23
  300. package/lib/cjs/core-react/tree/Branch.js.map +1 -1
  301. package/lib/cjs/core-react/tree/Branch.scss +12 -12
  302. package/lib/cjs/core-react/tree/ExpansionToggle.d.ts +20 -20
  303. package/lib/cjs/core-react/tree/ExpansionToggle.js +30 -30
  304. package/lib/cjs/core-react/tree/ExpansionToggle.js.map +1 -1
  305. package/lib/cjs/core-react/tree/ExpansionToggle.scss +31 -31
  306. package/lib/cjs/core-react/tree/Node.d.ts +79 -79
  307. package/lib/cjs/core-react/tree/Node.d.ts.map +1 -1
  308. package/lib/cjs/core-react/tree/Node.js +87 -88
  309. package/lib/cjs/core-react/tree/Node.js.map +1 -1
  310. package/lib/cjs/core-react/tree/Node.scss +68 -83
  311. package/lib/cjs/core-react/tree/Placeholder.d.ts +22 -22
  312. package/lib/cjs/core-react/tree/Placeholder.js +31 -31
  313. package/lib/cjs/core-react/tree/Placeholder.js.map +1 -1
  314. package/lib/cjs/core-react/tree/Placeholder.scss +17 -17
  315. package/lib/cjs/core-react/tree/Tree.d.ts +28 -28
  316. package/lib/cjs/core-react/tree/Tree.js +100 -100
  317. package/lib/cjs/core-react/tree/Tree.js.map +1 -1
  318. package/lib/cjs/core-react/tree/Tree.scss +21 -21
  319. package/lib/cjs/core-react/uistate/LocalStateStorage.d.ts +16 -16
  320. package/lib/cjs/core-react/uistate/LocalStateStorage.js +49 -49
  321. package/lib/cjs/core-react/uistate/LocalStateStorage.js.map +1 -1
  322. package/lib/cjs/core-react/uistate/UiStateEntry.d.ts +30 -30
  323. package/lib/cjs/core-react/uistate/UiStateEntry.js +59 -59
  324. package/lib/cjs/core-react/uistate/UiStateEntry.js.map +1 -1
  325. package/lib/cjs/core-react/uistate/UiStateStorage.d.ts +28 -28
  326. package/lib/cjs/core-react/uistate/UiStateStorage.js +21 -21
  327. package/lib/cjs/core-react/uistate/UiStateStorage.js.map +1 -1
  328. package/lib/cjs/core-react/utils/IconHelper.d.ts +23 -23
  329. package/lib/cjs/core-react/utils/IconHelper.js +62 -62
  330. package/lib/cjs/core-react/utils/IconHelper.js.map +1 -1
  331. package/lib/cjs/core-react/utils/IconWebComponent.d.ts +10 -10
  332. package/lib/cjs/core-react/utils/IconWebComponent.js +72 -72
  333. package/lib/cjs/core-react/utils/IconWebComponent.js.map +1 -1
  334. package/lib/cjs/core-react/utils/Point.d.ts +37 -37
  335. package/lib/cjs/core-react/utils/Point.js +73 -73
  336. package/lib/cjs/core-react/utils/Point.js.map +1 -1
  337. package/lib/cjs/core-react/utils/Props.d.ts +38 -38
  338. package/lib/cjs/core-react/utils/Props.d.ts.map +1 -1
  339. package/lib/cjs/core-react/utils/Props.js +9 -9
  340. package/lib/cjs/core-react/utils/Props.js.map +1 -1
  341. package/lib/cjs/core-react/utils/Rectangle.d.ts +144 -144
  342. package/lib/cjs/core-react/utils/Rectangle.js +270 -270
  343. package/lib/cjs/core-react/utils/Rectangle.js.map +1 -1
  344. package/lib/cjs/core-react/utils/ScrollPositionMaintainer.d.ts +23 -23
  345. package/lib/cjs/core-react/utils/ScrollPositionMaintainer.js +36 -36
  346. package/lib/cjs/core-react/utils/ScrollPositionMaintainer.js.map +1 -1
  347. package/lib/cjs/core-react/utils/Size.d.ts +23 -23
  348. package/lib/cjs/core-react/utils/Size.js +32 -32
  349. package/lib/cjs/core-react/utils/Size.js.map +1 -1
  350. package/lib/cjs/core-react/utils/Timer.d.ts +35 -35
  351. package/lib/cjs/core-react/utils/Timer.d.ts.map +1 -1
  352. package/lib/cjs/core-react/utils/Timer.js +64 -64
  353. package/lib/cjs/core-react/utils/Timer.js.map +1 -1
  354. package/lib/cjs/core-react/utils/UiGeometry.d.ts +20 -20
  355. package/lib/cjs/core-react/utils/UiGeometry.js +28 -28
  356. package/lib/cjs/core-react/utils/UiGeometry.js.map +1 -1
  357. package/lib/cjs/core-react/utils/flattenChildren.d.ts +8 -8
  358. package/lib/cjs/core-react/utils/flattenChildren.js +27 -27
  359. package/lib/cjs/core-react/utils/flattenChildren.js.map +1 -1
  360. package/lib/cjs/core-react/utils/getBestBWContrastColor.d.ts +7 -7
  361. package/lib/cjs/core-react/utils/getBestBWContrastColor.js +22 -22
  362. package/lib/cjs/core-react/utils/getBestBWContrastColor.js.map +1 -1
  363. package/lib/cjs/core-react/utils/getCssVariable.d.ts +11 -11
  364. package/lib/cjs/core-react/utils/getCssVariable.js +31 -31
  365. package/lib/cjs/core-react/utils/getCssVariable.js.map +1 -1
  366. package/lib/cjs/core-react/utils/getDisplayName.d.ts +8 -8
  367. package/lib/cjs/core-react/utils/getDisplayName.js +21 -21
  368. package/lib/cjs/core-react/utils/getDisplayName.js.map +1 -1
  369. package/lib/cjs/core-react/utils/getUserColor.d.ts +7 -7
  370. package/lib/cjs/core-react/utils/getUserColor.js +38 -38
  371. package/lib/cjs/core-react/utils/getUserColor.js.map +1 -1
  372. package/lib/cjs/core-react/utils/hooks/ResizeObserverPolyfill.d.ts +4 -4
  373. package/lib/cjs/core-react/utils/hooks/ResizeObserverPolyfill.d.ts.map +1 -1
  374. package/lib/cjs/core-react/utils/hooks/ResizeObserverPolyfill.js +19 -19
  375. package/lib/cjs/core-react/utils/hooks/ResizeObserverPolyfill.js.map +1 -1
  376. package/lib/cjs/core-react/utils/hooks/useCrossOriginPopup.d.ts +7 -7
  377. package/lib/cjs/core-react/utils/hooks/useCrossOriginPopup.js +88 -89
  378. package/lib/cjs/core-react/utils/hooks/useCrossOriginPopup.js.map +1 -1
  379. package/lib/cjs/core-react/utils/hooks/useDisposable.d.ts +17 -17
  380. package/lib/cjs/core-react/utils/hooks/useDisposable.js +38 -38
  381. package/lib/cjs/core-react/utils/hooks/useDisposable.js.map +1 -1
  382. package/lib/cjs/core-react/utils/hooks/useEffectSkipFirst.d.ts +8 -8
  383. package/lib/cjs/core-react/utils/hooks/useEffectSkipFirst.js +26 -26
  384. package/lib/cjs/core-react/utils/hooks/useEffectSkipFirst.js.map +1 -1
  385. package/lib/cjs/core-react/utils/hooks/useEventListener.d.ts +11 -11
  386. package/lib/cjs/core-react/utils/hooks/useEventListener.js +43 -43
  387. package/lib/cjs/core-react/utils/hooks/useEventListener.js.map +1 -1
  388. package/lib/cjs/core-react/utils/hooks/useInterval.d.ts +5 -5
  389. package/lib/cjs/core-react/utils/hooks/useInterval.js +36 -36
  390. package/lib/cjs/core-react/utils/hooks/useInterval.js.map +1 -1
  391. package/lib/cjs/core-react/utils/hooks/useLifecycleLogging.d.ts +5 -5
  392. package/lib/cjs/core-react/utils/hooks/useLifecycleLogging.js +64 -64
  393. package/lib/cjs/core-react/utils/hooks/useLifecycleLogging.js.map +1 -1
  394. package/lib/cjs/core-react/utils/hooks/useOnOutsideClick.d.ts +12 -12
  395. package/lib/cjs/core-react/utils/hooks/useOnOutsideClick.d.ts.map +1 -1
  396. package/lib/cjs/core-react/utils/hooks/useOnOutsideClick.js +92 -92
  397. package/lib/cjs/core-react/utils/hooks/useOnOutsideClick.js.map +1 -1
  398. package/lib/cjs/core-react/utils/hooks/useProximityToMouse.d.ts +55 -55
  399. package/lib/cjs/core-react/utils/hooks/useProximityToMouse.js +114 -114
  400. package/lib/cjs/core-react/utils/hooks/useProximityToMouse.js.map +1 -1
  401. package/lib/cjs/core-react/utils/hooks/useRefEffect.d.ts +7 -7
  402. package/lib/cjs/core-react/utils/hooks/useRefEffect.js +23 -23
  403. package/lib/cjs/core-react/utils/hooks/useRefEffect.js.map +1 -1
  404. package/lib/cjs/core-react/utils/hooks/useRefState.d.ts +21 -21
  405. package/lib/cjs/core-react/utils/hooks/useRefState.js +35 -35
  406. package/lib/cjs/core-react/utils/hooks/useRefState.js.map +1 -1
  407. package/lib/cjs/core-react/utils/hooks/useRefs.d.ts +12 -12
  408. package/lib/cjs/core-react/utils/hooks/useRefs.js +53 -53
  409. package/lib/cjs/core-react/utils/hooks/useRefs.js.map +1 -1
  410. package/lib/cjs/core-react/utils/hooks/useResizeObserver.d.ts +39 -39
  411. package/lib/cjs/core-react/utils/hooks/useResizeObserver.js +203 -208
  412. package/lib/cjs/core-react/utils/hooks/useResizeObserver.js.map +1 -1
  413. package/lib/cjs/core-react/utils/hooks/useTargeted.d.ts +8 -8
  414. package/lib/cjs/core-react/utils/hooks/useTargeted.js +28 -28
  415. package/lib/cjs/core-react/utils/hooks/useTargeted.js.map +1 -1
  416. package/lib/cjs/core-react/utils/hooks/useThrottledFn.d.ts +15 -15
  417. package/lib/cjs/core-react/utils/hooks/useThrottledFn.js +25 -25
  418. package/lib/cjs/core-react/utils/hooks/useThrottledFn.js.map +1 -1
  419. package/lib/cjs/core-react/utils/hooks/useWidgetOpacityContext.d.ts +20 -20
  420. package/lib/cjs/core-react/utils/hooks/useWidgetOpacityContext.js +27 -27
  421. package/lib/cjs/core-react/utils/hooks/useWidgetOpacityContext.js.map +1 -1
  422. package/lib/cjs/core-react/utils/isPromiseLike.d.ts +7 -7
  423. package/lib/cjs/core-react/utils/isPromiseLike.js +17 -17
  424. package/lib/cjs/core-react/utils/isPromiseLike.js.map +1 -1
  425. package/lib/cjs/core-react/utils/shallowDiffers.d.ts +11 -11
  426. package/lib/cjs/core-react/utils/shallowDiffers.js +29 -29
  427. package/lib/cjs/core-react/utils/shallowDiffers.js.map +1 -1
  428. package/lib/cjs/core-react/utils/typeUtils.d.ts +7 -7
  429. package/lib/cjs/core-react/utils/typeUtils.d.ts.map +1 -1
  430. package/lib/cjs/core-react/utils/typeUtils.js +9 -9
  431. package/lib/cjs/core-react/utils/typeUtils.js.map +1 -1
  432. package/lib/cjs/core-react.d.ts +236 -236
  433. package/lib/cjs/core-react.js +263 -259
  434. package/lib/cjs/core-react.js.map +1 -1
  435. package/lib/esm/core-react/UiCore.d.ts +40 -40
  436. package/lib/esm/core-react/UiCore.js +82 -81
  437. package/lib/esm/core-react/UiCore.js.map +1 -1
  438. package/lib/esm/core-react/_geometry.scss +70 -70
  439. package/lib/esm/core-react/_helpers.scss +51 -51
  440. package/lib/esm/core-react/_math.scss +13 -13
  441. package/lib/esm/core-react/_scrollbar.scss +51 -51
  442. package/lib/esm/core-react/_typography.scss +44 -44
  443. package/lib/esm/core-react/_z-index.scss +65 -65
  444. package/lib/esm/core-react/autosuggest/AutoSuggest.d.ts +96 -96
  445. package/lib/esm/core-react/autosuggest/AutoSuggest.d.ts.map +1 -1
  446. package/lib/esm/core-react/autosuggest/AutoSuggest.js +170 -170
  447. package/lib/esm/core-react/autosuggest/AutoSuggest.js.map +1 -1
  448. package/lib/esm/core-react/autosuggest/AutoSuggest.scss +79 -80
  449. package/lib/esm/core-react/badge/Badge.d.ts +18 -18
  450. package/lib/esm/core-react/badge/Badge.js +22 -22
  451. package/lib/esm/core-react/badge/Badge.js.map +1 -1
  452. package/lib/esm/core-react/badge/Badge.scss +13 -13
  453. package/lib/esm/core-react/badge/BadgeUtilities.d.ts +12 -12
  454. package/lib/esm/core-react/badge/BadgeUtilities.js +34 -34
  455. package/lib/esm/core-react/badge/BadgeUtilities.js.map +1 -1
  456. package/lib/esm/core-react/badge/BetaBadge.d.ts +9 -9
  457. package/lib/esm/core-react/badge/BetaBadge.js +18 -18
  458. package/lib/esm/core-react/badge/BetaBadge.js.map +1 -1
  459. package/lib/esm/core-react/badge/NewBadge.d.ts +10 -10
  460. package/lib/esm/core-react/badge/NewBadge.js +19 -19
  461. package/lib/esm/core-react/badge/NewBadge.js.map +1 -1
  462. package/lib/esm/core-react/badge/NewBadge.scss +9 -9
  463. package/lib/esm/core-react/base/Centered.d.ts +10 -10
  464. package/lib/esm/core-react/base/Centered.js +16 -16
  465. package/lib/esm/core-react/base/Centered.js.map +1 -1
  466. package/lib/esm/core-react/base/Div.d.ts +16 -16
  467. package/lib/esm/core-react/base/Div.js +16 -16
  468. package/lib/esm/core-react/base/Div.js.map +1 -1
  469. package/lib/esm/core-react/base/DivWithOutsideClick.d.ts +79 -79
  470. package/lib/esm/core-react/base/DivWithOutsideClick.js +13 -13
  471. package/lib/esm/core-react/base/DivWithOutsideClick.js.map +1 -1
  472. package/lib/esm/core-react/base/FillCentered.d.ts +10 -10
  473. package/lib/esm/core-react/base/FillCentered.js +16 -16
  474. package/lib/esm/core-react/base/FillCentered.js.map +1 -1
  475. package/lib/esm/core-react/base/FlexWrapContainer.d.ts +11 -11
  476. package/lib/esm/core-react/base/FlexWrapContainer.js +17 -17
  477. package/lib/esm/core-react/base/FlexWrapContainer.js.map +1 -1
  478. package/lib/esm/core-react/base/Gap.d.ts +15 -15
  479. package/lib/esm/core-react/base/Gap.js +16 -16
  480. package/lib/esm/core-react/base/Gap.js.map +1 -1
  481. package/lib/esm/core-react/base/PointerEvents.d.ts +7 -7
  482. package/lib/esm/core-react/base/PointerEvents.js +13 -13
  483. package/lib/esm/core-react/base/PointerEvents.js.map +1 -1
  484. package/lib/esm/core-react/base/ScrollView.d.ts +11 -11
  485. package/lib/esm/core-react/base/ScrollView.js +17 -17
  486. package/lib/esm/core-react/base/ScrollView.js.map +1 -1
  487. package/lib/esm/core-react/base/base.scss +42 -42
  488. package/lib/esm/core-react/base/classes.scss +13 -13
  489. package/lib/esm/core-react/base/index.scss +5 -5
  490. package/lib/esm/core-react/button/UnderlinedButton.d.ts +24 -24
  491. package/lib/esm/core-react/button/UnderlinedButton.js +31 -31
  492. package/lib/esm/core-react/button/UnderlinedButton.js.map +1 -1
  493. package/lib/esm/core-react/button/UnderlinedButton.scss +32 -32
  494. package/lib/esm/core-react/checklistbox/CheckListBox.d.ts +40 -40
  495. package/lib/esm/core-react/checklistbox/CheckListBox.js +36 -36
  496. package/lib/esm/core-react/checklistbox/CheckListBox.js.map +1 -1
  497. package/lib/esm/core-react/checklistbox/CheckListBox.scss +21 -22
  498. package/lib/esm/core-react/classes.scss +11 -13
  499. package/lib/esm/core-react/colorthemes.scss +61 -61
  500. package/lib/esm/core-react/colorvariables.scss +131 -131
  501. package/lib/esm/core-react/contextmenu/ContextMenu.d.ts +93 -93
  502. package/lib/esm/core-react/contextmenu/ContextMenu.d.ts.map +1 -1
  503. package/lib/esm/core-react/contextmenu/ContextMenu.js +360 -360
  504. package/lib/esm/core-react/contextmenu/ContextMenu.js.map +1 -1
  505. package/lib/esm/core-react/contextmenu/ContextMenu.scss +236 -236
  506. package/lib/esm/core-react/contextmenu/ContextMenuDirection.d.ts +18 -18
  507. package/lib/esm/core-react/contextmenu/ContextMenuDirection.js +23 -23
  508. package/lib/esm/core-react/contextmenu/ContextMenuDirection.js.map +1 -1
  509. package/lib/esm/core-react/contextmenu/ContextMenuDivider.d.ts +12 -12
  510. package/lib/esm/core-react/contextmenu/ContextMenuDivider.js +19 -19
  511. package/lib/esm/core-react/contextmenu/ContextMenuDivider.js.map +1 -1
  512. package/lib/esm/core-react/contextmenu/ContextMenuItem.d.ts +61 -61
  513. package/lib/esm/core-react/contextmenu/ContextMenuItem.js +105 -104
  514. package/lib/esm/core-react/contextmenu/ContextMenuItem.js.map +1 -1
  515. package/lib/esm/core-react/contextmenu/ContextSubMenu.d.ts +51 -51
  516. package/lib/esm/core-react/contextmenu/ContextSubMenu.d.ts.map +1 -1
  517. package/lib/esm/core-react/contextmenu/ContextSubMenu.js +159 -158
  518. package/lib/esm/core-react/contextmenu/ContextSubMenu.js.map +1 -1
  519. package/lib/esm/core-react/contextmenu/GlobalContextMenu.d.ts +34 -34
  520. package/lib/esm/core-react/contextmenu/GlobalContextMenu.js +57 -59
  521. package/lib/esm/core-react/contextmenu/GlobalContextMenu.js.map +1 -1
  522. package/lib/esm/core-react/contextmenu/PopupContextMenu.d.ts +53 -53
  523. package/lib/esm/core-react/contextmenu/PopupContextMenu.js +51 -51
  524. package/lib/esm/core-react/contextmenu/PopupContextMenu.js.map +1 -1
  525. package/lib/esm/core-react/contextmenu/TildeFinder.d.ts +18 -18
  526. package/lib/esm/core-react/contextmenu/TildeFinder.js +67 -66
  527. package/lib/esm/core-react/contextmenu/TildeFinder.js.map +1 -1
  528. package/lib/esm/core-react/dialog/Dialog.d.ts +132 -132
  529. package/lib/esm/core-react/dialog/Dialog.js +371 -371
  530. package/lib/esm/core-react/dialog/Dialog.js.map +1 -1
  531. package/lib/esm/core-react/dialog/Dialog.scss +245 -245
  532. package/lib/esm/core-react/dialog/GlobalDialog.d.ts +28 -28
  533. package/lib/esm/core-react/dialog/GlobalDialog.js +48 -49
  534. package/lib/esm/core-react/dialog/GlobalDialog.js.map +1 -1
  535. package/lib/esm/core-react/elementseparator/ElementSeparator.d.ts +41 -41
  536. package/lib/esm/core-react/elementseparator/ElementSeparator.js +159 -159
  537. package/lib/esm/core-react/elementseparator/ElementSeparator.js.map +1 -1
  538. package/lib/esm/core-react/elementseparator/ElementSeparator.scss +85 -85
  539. package/lib/esm/core-react/enums/Alignment.d.ts +22 -22
  540. package/lib/esm/core-react/enums/Alignment.js +28 -28
  541. package/lib/esm/core-react/enums/Alignment.js.map +1 -1
  542. package/lib/esm/core-react/enums/CheckBoxState.d.ts +20 -20
  543. package/lib/esm/core-react/enums/CheckBoxState.js +16 -16
  544. package/lib/esm/core-react/enums/CheckBoxState.js.map +1 -1
  545. package/lib/esm/core-react/enums/Orientation.d.ts +11 -11
  546. package/lib/esm/core-react/enums/Orientation.js +16 -16
  547. package/lib/esm/core-react/enums/Orientation.js.map +1 -1
  548. package/lib/esm/core-react/enums/SortDirection.d.ts +12 -12
  549. package/lib/esm/core-react/enums/SortDirection.js +17 -17
  550. package/lib/esm/core-react/enums/SortDirection.js.map +1 -1
  551. package/lib/esm/core-react/enums/TimeFormat.d.ts +14 -14
  552. package/lib/esm/core-react/enums/TimeFormat.js +19 -19
  553. package/lib/esm/core-react/enums/TimeFormat.js.map +1 -1
  554. package/lib/esm/core-react/expandable/ExpandableList.d.ts +37 -37
  555. package/lib/esm/core-react/expandable/ExpandableList.js +54 -53
  556. package/lib/esm/core-react/expandable/ExpandableList.js.map +1 -1
  557. package/lib/esm/core-react/expandable/ExpandableList.scss +8 -8
  558. package/lib/esm/core-react/expandable/classes.scss +7 -7
  559. package/lib/esm/core-react/expandable/index.scss +5 -5
  560. package/lib/esm/core-react/expandable/list.scss +35 -35
  561. package/lib/esm/core-react/focus/ItemKeyboardNavigator.d.ts +53 -53
  562. package/lib/esm/core-react/focus/ItemKeyboardNavigator.d.ts.map +1 -1
  563. package/lib/esm/core-react/focus/ItemKeyboardNavigator.js +145 -145
  564. package/lib/esm/core-react/focus/ItemKeyboardNavigator.js.map +1 -1
  565. package/lib/esm/core-react/focustrap/FocusTrap.d.ts +28 -28
  566. package/lib/esm/core-react/focustrap/FocusTrap.js +191 -191
  567. package/lib/esm/core-react/focustrap/FocusTrap.js.map +1 -1
  568. package/lib/esm/core-react/hocs/withIsPressed.d.ts +77 -77
  569. package/lib/esm/core-react/hocs/withIsPressed.js +42 -42
  570. package/lib/esm/core-react/hocs/withIsPressed.js.map +1 -1
  571. package/lib/esm/core-react/hocs/withOnOutsideClick.d.ts +103 -103
  572. package/lib/esm/core-react/hocs/withOnOutsideClick.js +110 -111
  573. package/lib/esm/core-react/hocs/withOnOutsideClick.js.map +1 -1
  574. package/lib/esm/core-react/hocs/withTimeout.d.ts +74 -74
  575. package/lib/esm/core-react/hocs/withTimeout.js +42 -42
  576. package/lib/esm/core-react/hocs/withTimeout.js.map +1 -1
  577. package/lib/esm/core-react/icons/ConditionalIconItem.d.ts +26 -26
  578. package/lib/esm/core-react/icons/ConditionalIconItem.js +60 -60
  579. package/lib/esm/core-react/icons/ConditionalIconItem.js.map +1 -1
  580. package/lib/esm/core-react/icons/IconComponent.d.ts +25 -25
  581. package/lib/esm/core-react/icons/IconComponent.d.ts.map +1 -1
  582. package/lib/esm/core-react/icons/IconComponent.js +44 -44
  583. package/lib/esm/core-react/icons/IconComponent.js.map +1 -1
  584. package/lib/esm/core-react/icons/IconComponent.scss +20 -20
  585. package/lib/esm/core-react/icons/SvgPath.d.ts +23 -23
  586. package/lib/esm/core-react/icons/SvgPath.js +23 -23
  587. package/lib/esm/core-react/icons/SvgPath.js.map +1 -1
  588. package/lib/esm/core-react/icons/SvgPath.scss +15 -15
  589. package/lib/esm/core-react/icons/WebFontIcon.d.ts +25 -25
  590. package/lib/esm/core-react/icons/WebFontIcon.js +17 -17
  591. package/lib/esm/core-react/icons/WebFontIcon.js.map +1 -1
  592. package/lib/esm/core-react/icons/WebFontIcon.scss +17 -17
  593. package/lib/esm/core-react/icons/classes.scss +10 -10
  594. package/lib/esm/core-react/icons/index.scss +6 -6
  595. package/lib/esm/core-react/icons/mixins.scss +25 -25
  596. package/lib/esm/core-react/icons/variables.scss +12 -12
  597. package/lib/esm/core-react/imagecheckbox/ImageCheckBox.d.ts +42 -42
  598. package/lib/esm/core-react/imagecheckbox/ImageCheckBox.js +52 -52
  599. package/lib/esm/core-react/imagecheckbox/ImageCheckBox.js.map +1 -1
  600. package/lib/esm/core-react/imagecheckbox/ImageCheckBox.scss +54 -54
  601. package/lib/esm/core-react/index.scss +21 -23
  602. package/lib/esm/core-react/inputs/Input.d.ts +20 -20
  603. package/lib/esm/core-react/inputs/Input.js +42 -42
  604. package/lib/esm/core-react/inputs/Input.js.map +1 -1
  605. package/lib/esm/core-react/inputs/InputLabel.d.ts +20 -20
  606. package/lib/esm/core-react/inputs/InputLabel.js +37 -37
  607. package/lib/esm/core-react/inputs/InputLabel.js.map +1 -1
  608. package/lib/esm/core-react/inputs/InputStatus.d.ts +11 -11
  609. package/lib/esm/core-react/inputs/InputStatus.js +16 -16
  610. package/lib/esm/core-react/inputs/InputStatus.js.map +1 -1
  611. package/lib/esm/core-react/inputs/LabeledComponentProps.d.ts +33 -33
  612. package/lib/esm/core-react/inputs/LabeledComponentProps.js +8 -8
  613. package/lib/esm/core-react/inputs/LabeledComponentProps.js.map +1 -1
  614. package/lib/esm/core-react/inputs/classes.scss +8 -8
  615. package/lib/esm/core-react/inputs/iconinput/IconInput.d.ts +23 -23
  616. package/lib/esm/core-react/inputs/iconinput/IconInput.js +26 -26
  617. package/lib/esm/core-react/inputs/iconinput/IconInput.js.map +1 -1
  618. package/lib/esm/core-react/inputs/iconinput/IconInput.scss +35 -35
  619. package/lib/esm/core-react/inputs/index.scss +9 -9
  620. package/lib/esm/core-react/inputs/input-label.scss +90 -90
  621. package/lib/esm/core-react/inputs/input.scss +58 -58
  622. package/lib/esm/core-react/inputs/numberinput/NumberInput.d.ts +50 -50
  623. package/lib/esm/core-react/inputs/numberinput/NumberInput.d.ts.map +1 -1
  624. package/lib/esm/core-react/inputs/numberinput/NumberInput.js +150 -150
  625. package/lib/esm/core-react/inputs/numberinput/NumberInput.js.map +1 -1
  626. package/lib/esm/core-react/inputs/numberinput/NumberInput.scss +88 -88
  627. package/lib/esm/core-react/inputs/variables.scss +38 -38
  628. package/lib/esm/core-react/layout-variables.scss +17 -17
  629. package/lib/esm/core-react/listbox/Listbox.d.ts +55 -55
  630. package/lib/esm/core-react/listbox/Listbox.d.ts.map +1 -1
  631. package/lib/esm/core-react/listbox/Listbox.js +216 -217
  632. package/lib/esm/core-react/listbox/Listbox.js.map +1 -1
  633. package/lib/esm/core-react/listbox/Listbox.scss +54 -54
  634. package/lib/esm/core-react/loading/LoadingBar.d.ts +29 -29
  635. package/lib/esm/core-react/loading/LoadingBar.js +36 -35
  636. package/lib/esm/core-react/loading/LoadingBar.js.map +1 -1
  637. package/lib/esm/core-react/loading/LoadingBar.scss +29 -29
  638. package/lib/esm/core-react/loading/LoadingPrompt.d.ts +39 -39
  639. package/lib/esm/core-react/loading/LoadingPrompt.js +41 -40
  640. package/lib/esm/core-react/loading/LoadingPrompt.js.map +1 -1
  641. package/lib/esm/core-react/loading/LoadingPrompt.scss +33 -33
  642. package/lib/esm/core-react/loading/LoadingSpinner.d.ts +32 -32
  643. package/lib/esm/core-react/loading/LoadingSpinner.d.ts.map +1 -1
  644. package/lib/esm/core-react/loading/LoadingSpinner.js +27 -26
  645. package/lib/esm/core-react/loading/LoadingSpinner.js.map +1 -1
  646. package/lib/esm/core-react/loading/LoadingSpinner.scss +26 -26
  647. package/lib/esm/core-react/loading/LoadingStatus.d.ts +24 -24
  648. package/lib/esm/core-react/loading/LoadingStatus.js +34 -33
  649. package/lib/esm/core-react/loading/LoadingStatus.js.map +1 -1
  650. package/lib/esm/core-react/loading/LoadingStatus.scss +20 -20
  651. package/lib/esm/core-react/loading/index.scss +5 -5
  652. package/lib/esm/core-react/loading/mixins.scss +57 -57
  653. package/lib/esm/core-react/messagebox/MessageBox.d.ts +80 -80
  654. package/lib/esm/core-react/messagebox/MessageBox.js +110 -109
  655. package/lib/esm/core-react/messagebox/MessageBox.js.map +1 -1
  656. package/lib/esm/core-react/messagebox/MessageBox.scss +56 -56
  657. package/lib/esm/core-react/notification/MessageRenderer.d.ts +19 -19
  658. package/lib/esm/core-react/notification/MessageRenderer.js +77 -77
  659. package/lib/esm/core-react/notification/MessageRenderer.js.map +1 -1
  660. package/lib/esm/core-react/notification/MessageType.d.ts +22 -22
  661. package/lib/esm/core-react/notification/MessageType.d.ts.map +1 -1
  662. package/lib/esm/core-react/notification/MessageType.js +19 -19
  663. package/lib/esm/core-react/notification/MessageType.js.map +1 -1
  664. package/lib/esm/core-react/popup/Popup.d.ts +111 -111
  665. package/lib/esm/core-react/popup/Popup.js +415 -418
  666. package/lib/esm/core-react/popup/Popup.js.map +1 -1
  667. package/lib/esm/core-react/popup/Popup.scss +240 -240
  668. package/lib/esm/core-react/radialmenu/Annulus.d.ts +54 -54
  669. package/lib/esm/core-react/radialmenu/Annulus.js +75 -75
  670. package/lib/esm/core-react/radialmenu/Annulus.js.map +1 -1
  671. package/lib/esm/core-react/radialmenu/RadialMenu.d.ts +97 -97
  672. package/lib/esm/core-react/radialmenu/RadialMenu.js +175 -174
  673. package/lib/esm/core-react/radialmenu/RadialMenu.js.map +1 -1
  674. package/lib/esm/core-react/radialmenu/RadialMenu.scss +55 -55
  675. package/lib/esm/core-react/searchbox/SearchBox.d.ts +52 -52
  676. package/lib/esm/core-react/searchbox/SearchBox.js +107 -107
  677. package/lib/esm/core-react/searchbox/SearchBox.js.map +1 -1
  678. package/lib/esm/core-react/searchbox/SearchBox.scss +47 -48
  679. package/lib/esm/core-react/settings/SettingsContainer.d.ts +30 -30
  680. package/lib/esm/core-react/settings/SettingsContainer.js +115 -115
  681. package/lib/esm/core-react/settings/SettingsContainer.js.map +1 -1
  682. package/lib/esm/core-react/settings/SettingsContainer.scss +68 -68
  683. package/lib/esm/core-react/settings/SettingsManager.d.ts +132 -132
  684. package/lib/esm/core-react/settings/SettingsManager.js +113 -113
  685. package/lib/esm/core-react/settings/SettingsManager.js.map +1 -1
  686. package/lib/esm/core-react/style/baseline.scss +11 -11
  687. package/lib/esm/core-react/style/breakpoints.scss +41 -41
  688. package/lib/esm/core-react/style/colors.scss +77 -77
  689. package/lib/esm/core-react/style/index.scss +10 -17
  690. package/lib/esm/core-react/style/mixins.scss +27 -27
  691. package/lib/esm/core-react/style/opacity.scss +16 -16
  692. package/lib/esm/core-react/style/themecolors.scss +123 -123
  693. package/lib/esm/core-react/tabs/Tabs.d.ts +71 -71
  694. package/lib/esm/core-react/tabs/Tabs.js +121 -121
  695. package/lib/esm/core-react/tabs/Tabs.js.map +1 -1
  696. package/lib/esm/core-react/tabs/VerticalTabs.d.ts +9 -9
  697. package/lib/esm/core-react/tabs/VerticalTabs.js +16 -16
  698. package/lib/esm/core-react/tabs/VerticalTabs.js.map +1 -1
  699. package/lib/esm/core-react/tabs/classes.scss +7 -7
  700. package/lib/esm/core-react/tabs/index.scss +5 -5
  701. package/lib/esm/core-react/tabs/tabs.scss +96 -96
  702. package/lib/esm/core-react/tabs/vertical.scss +51 -51
  703. package/lib/esm/core-react/text/BlockText.d.ts +9 -9
  704. package/lib/esm/core-react/text/BlockText.js +16 -16
  705. package/lib/esm/core-react/text/BlockText.js.map +1 -1
  706. package/lib/esm/core-react/text/BodyText.d.ts +10 -10
  707. package/lib/esm/core-react/text/BodyText.js +17 -17
  708. package/lib/esm/core-react/text/BodyText.js.map +1 -1
  709. package/lib/esm/core-react/text/DisabledText.d.ts +6 -6
  710. package/lib/esm/core-react/text/DisabledText.js +16 -16
  711. package/lib/esm/core-react/text/DisabledText.js.map +1 -1
  712. package/lib/esm/core-react/text/FilteredText.d.ts +24 -24
  713. package/lib/esm/core-react/text/FilteredText.js +36 -36
  714. package/lib/esm/core-react/text/FilteredText.js.map +1 -1
  715. package/lib/esm/core-react/text/FilteredText.scss +10 -10
  716. package/lib/esm/core-react/text/MutedText.d.ts +10 -10
  717. package/lib/esm/core-react/text/MutedText.js +17 -17
  718. package/lib/esm/core-react/text/MutedText.js.map +1 -1
  719. package/lib/esm/core-react/text/StyledText.d.ts +17 -17
  720. package/lib/esm/core-react/text/StyledText.js +17 -17
  721. package/lib/esm/core-react/text/StyledText.js.map +1 -1
  722. package/lib/esm/core-react/text/TextProps.d.ts +10 -10
  723. package/lib/esm/core-react/text/TextProps.js +8 -8
  724. package/lib/esm/core-react/text/TextProps.js.map +1 -1
  725. package/lib/esm/core-react/text/block.scss +15 -15
  726. package/lib/esm/core-react/text/body.scss +13 -13
  727. package/lib/esm/core-react/text/classes.scss +10 -10
  728. package/lib/esm/core-react/text/disabled.scss +10 -10
  729. package/lib/esm/core-react/text/index.scss +10 -10
  730. package/lib/esm/core-react/text/mixins.scss +24 -24
  731. package/lib/esm/core-react/text/muted.scss +10 -10
  732. package/lib/esm/core-react/tree/Branch.d.ts +19 -19
  733. package/lib/esm/core-react/tree/Branch.js +19 -19
  734. package/lib/esm/core-react/tree/Branch.js.map +1 -1
  735. package/lib/esm/core-react/tree/Branch.scss +12 -12
  736. package/lib/esm/core-react/tree/ExpansionToggle.d.ts +20 -20
  737. package/lib/esm/core-react/tree/ExpansionToggle.js +26 -26
  738. package/lib/esm/core-react/tree/ExpansionToggle.js.map +1 -1
  739. package/lib/esm/core-react/tree/ExpansionToggle.scss +31 -31
  740. package/lib/esm/core-react/tree/Node.d.ts +79 -79
  741. package/lib/esm/core-react/tree/Node.d.ts.map +1 -1
  742. package/lib/esm/core-react/tree/Node.js +83 -84
  743. package/lib/esm/core-react/tree/Node.js.map +1 -1
  744. package/lib/esm/core-react/tree/Node.scss +68 -83
  745. package/lib/esm/core-react/tree/Placeholder.d.ts +22 -22
  746. package/lib/esm/core-react/tree/Placeholder.js +27 -27
  747. package/lib/esm/core-react/tree/Placeholder.js.map +1 -1
  748. package/lib/esm/core-react/tree/Placeholder.scss +17 -17
  749. package/lib/esm/core-react/tree/Tree.d.ts +28 -28
  750. package/lib/esm/core-react/tree/Tree.js +96 -96
  751. package/lib/esm/core-react/tree/Tree.js.map +1 -1
  752. package/lib/esm/core-react/tree/Tree.scss +21 -21
  753. package/lib/esm/core-react/uistate/LocalStateStorage.d.ts +16 -16
  754. package/lib/esm/core-react/uistate/LocalStateStorage.js +45 -45
  755. package/lib/esm/core-react/uistate/LocalStateStorage.js.map +1 -1
  756. package/lib/esm/core-react/uistate/UiStateEntry.d.ts +30 -30
  757. package/lib/esm/core-react/uistate/UiStateEntry.js +55 -55
  758. package/lib/esm/core-react/uistate/UiStateEntry.js.map +1 -1
  759. package/lib/esm/core-react/uistate/UiStateStorage.d.ts +28 -28
  760. package/lib/esm/core-react/uistate/UiStateStorage.js +18 -18
  761. package/lib/esm/core-react/uistate/UiStateStorage.js.map +1 -1
  762. package/lib/esm/core-react/utils/IconHelper.d.ts +23 -23
  763. package/lib/esm/core-react/utils/IconHelper.js +58 -58
  764. package/lib/esm/core-react/utils/IconHelper.js.map +1 -1
  765. package/lib/esm/core-react/utils/IconWebComponent.d.ts +10 -10
  766. package/lib/esm/core-react/utils/IconWebComponent.js +68 -68
  767. package/lib/esm/core-react/utils/IconWebComponent.js.map +1 -1
  768. package/lib/esm/core-react/utils/Point.d.ts +37 -37
  769. package/lib/esm/core-react/utils/Point.js +69 -69
  770. package/lib/esm/core-react/utils/Point.js.map +1 -1
  771. package/lib/esm/core-react/utils/Props.d.ts +38 -38
  772. package/lib/esm/core-react/utils/Props.d.ts.map +1 -1
  773. package/lib/esm/core-react/utils/Props.js +8 -8
  774. package/lib/esm/core-react/utils/Props.js.map +1 -1
  775. package/lib/esm/core-react/utils/Rectangle.d.ts +144 -144
  776. package/lib/esm/core-react/utils/Rectangle.js +266 -266
  777. package/lib/esm/core-react/utils/Rectangle.js.map +1 -1
  778. package/lib/esm/core-react/utils/ScrollPositionMaintainer.d.ts +23 -23
  779. package/lib/esm/core-react/utils/ScrollPositionMaintainer.js +32 -32
  780. package/lib/esm/core-react/utils/ScrollPositionMaintainer.js.map +1 -1
  781. package/lib/esm/core-react/utils/Size.d.ts +23 -23
  782. package/lib/esm/core-react/utils/Size.js +28 -28
  783. package/lib/esm/core-react/utils/Size.js.map +1 -1
  784. package/lib/esm/core-react/utils/Timer.d.ts +35 -35
  785. package/lib/esm/core-react/utils/Timer.d.ts.map +1 -1
  786. package/lib/esm/core-react/utils/Timer.js +60 -60
  787. package/lib/esm/core-react/utils/Timer.js.map +1 -1
  788. package/lib/esm/core-react/utils/UiGeometry.d.ts +20 -20
  789. package/lib/esm/core-react/utils/UiGeometry.js +24 -24
  790. package/lib/esm/core-react/utils/UiGeometry.js.map +1 -1
  791. package/lib/esm/core-react/utils/flattenChildren.d.ts +8 -8
  792. package/lib/esm/core-react/utils/flattenChildren.js +23 -23
  793. package/lib/esm/core-react/utils/flattenChildren.js.map +1 -1
  794. package/lib/esm/core-react/utils/getBestBWContrastColor.d.ts +7 -7
  795. package/lib/esm/core-react/utils/getBestBWContrastColor.js +18 -18
  796. package/lib/esm/core-react/utils/getBestBWContrastColor.js.map +1 -1
  797. package/lib/esm/core-react/utils/getCssVariable.d.ts +11 -11
  798. package/lib/esm/core-react/utils/getCssVariable.js +26 -26
  799. package/lib/esm/core-react/utils/getCssVariable.js.map +1 -1
  800. package/lib/esm/core-react/utils/getDisplayName.d.ts +8 -8
  801. package/lib/esm/core-react/utils/getDisplayName.js +17 -17
  802. package/lib/esm/core-react/utils/getDisplayName.js.map +1 -1
  803. package/lib/esm/core-react/utils/getUserColor.d.ts +7 -7
  804. package/lib/esm/core-react/utils/getUserColor.js +34 -34
  805. package/lib/esm/core-react/utils/getUserColor.js.map +1 -1
  806. package/lib/esm/core-react/utils/hooks/ResizeObserverPolyfill.d.ts +4 -4
  807. package/lib/esm/core-react/utils/hooks/ResizeObserverPolyfill.d.ts.map +1 -1
  808. package/lib/esm/core-react/utils/hooks/ResizeObserverPolyfill.js +16 -16
  809. package/lib/esm/core-react/utils/hooks/ResizeObserverPolyfill.js.map +1 -1
  810. package/lib/esm/core-react/utils/hooks/useCrossOriginPopup.d.ts +7 -7
  811. package/lib/esm/core-react/utils/hooks/useCrossOriginPopup.js +84 -85
  812. package/lib/esm/core-react/utils/hooks/useCrossOriginPopup.js.map +1 -1
  813. package/lib/esm/core-react/utils/hooks/useDisposable.d.ts +17 -17
  814. package/lib/esm/core-react/utils/hooks/useDisposable.js +33 -33
  815. package/lib/esm/core-react/utils/hooks/useDisposable.js.map +1 -1
  816. package/lib/esm/core-react/utils/hooks/useEffectSkipFirst.d.ts +8 -8
  817. package/lib/esm/core-react/utils/hooks/useEffectSkipFirst.js +22 -22
  818. package/lib/esm/core-react/utils/hooks/useEffectSkipFirst.js.map +1 -1
  819. package/lib/esm/core-react/utils/hooks/useEventListener.d.ts +11 -11
  820. package/lib/esm/core-react/utils/hooks/useEventListener.js +39 -39
  821. package/lib/esm/core-react/utils/hooks/useEventListener.js.map +1 -1
  822. package/lib/esm/core-react/utils/hooks/useInterval.d.ts +5 -5
  823. package/lib/esm/core-react/utils/hooks/useInterval.js +32 -32
  824. package/lib/esm/core-react/utils/hooks/useInterval.js.map +1 -1
  825. package/lib/esm/core-react/utils/hooks/useLifecycleLogging.d.ts +5 -5
  826. package/lib/esm/core-react/utils/hooks/useLifecycleLogging.js +60 -60
  827. package/lib/esm/core-react/utils/hooks/useLifecycleLogging.js.map +1 -1
  828. package/lib/esm/core-react/utils/hooks/useOnOutsideClick.d.ts +12 -12
  829. package/lib/esm/core-react/utils/hooks/useOnOutsideClick.d.ts.map +1 -1
  830. package/lib/esm/core-react/utils/hooks/useOnOutsideClick.js +88 -88
  831. package/lib/esm/core-react/utils/hooks/useOnOutsideClick.js.map +1 -1
  832. package/lib/esm/core-react/utils/hooks/useProximityToMouse.d.ts +55 -55
  833. package/lib/esm/core-react/utils/hooks/useProximityToMouse.js +102 -102
  834. package/lib/esm/core-react/utils/hooks/useProximityToMouse.js.map +1 -1
  835. package/lib/esm/core-react/utils/hooks/useRefEffect.d.ts +7 -7
  836. package/lib/esm/core-react/utils/hooks/useRefEffect.js +19 -19
  837. package/lib/esm/core-react/utils/hooks/useRefEffect.js.map +1 -1
  838. package/lib/esm/core-react/utils/hooks/useRefState.d.ts +21 -21
  839. package/lib/esm/core-react/utils/hooks/useRefState.js +31 -31
  840. package/lib/esm/core-react/utils/hooks/useRefState.js.map +1 -1
  841. package/lib/esm/core-react/utils/hooks/useRefs.d.ts +12 -12
  842. package/lib/esm/core-react/utils/hooks/useRefs.js +48 -48
  843. package/lib/esm/core-react/utils/hooks/useRefs.js.map +1 -1
  844. package/lib/esm/core-react/utils/hooks/useResizeObserver.d.ts +39 -39
  845. package/lib/esm/core-react/utils/hooks/useResizeObserver.js +196 -201
  846. package/lib/esm/core-react/utils/hooks/useResizeObserver.js.map +1 -1
  847. package/lib/esm/core-react/utils/hooks/useTargeted.d.ts +8 -8
  848. package/lib/esm/core-react/utils/hooks/useTargeted.js +24 -24
  849. package/lib/esm/core-react/utils/hooks/useTargeted.js.map +1 -1
  850. package/lib/esm/core-react/utils/hooks/useThrottledFn.d.ts +15 -15
  851. package/lib/esm/core-react/utils/hooks/useThrottledFn.js +21 -21
  852. package/lib/esm/core-react/utils/hooks/useThrottledFn.js.map +1 -1
  853. package/lib/esm/core-react/utils/hooks/useWidgetOpacityContext.d.ts +20 -20
  854. package/lib/esm/core-react/utils/hooks/useWidgetOpacityContext.js +23 -23
  855. package/lib/esm/core-react/utils/hooks/useWidgetOpacityContext.js.map +1 -1
  856. package/lib/esm/core-react/utils/isPromiseLike.d.ts +7 -7
  857. package/lib/esm/core-react/utils/isPromiseLike.js +13 -13
  858. package/lib/esm/core-react/utils/isPromiseLike.js.map +1 -1
  859. package/lib/esm/core-react/utils/shallowDiffers.d.ts +11 -11
  860. package/lib/esm/core-react/utils/shallowDiffers.js +25 -25
  861. package/lib/esm/core-react/utils/shallowDiffers.js.map +1 -1
  862. package/lib/esm/core-react/utils/typeUtils.d.ts +7 -7
  863. package/lib/esm/core-react/utils/typeUtils.d.ts.map +1 -1
  864. package/lib/esm/core-react/utils/typeUtils.js +8 -8
  865. package/lib/esm/core-react/utils/typeUtils.js.map +1 -1
  866. package/lib/esm/core-react.d.ts +236 -236
  867. package/lib/esm/core-react.js +241 -241
  868. package/lib/esm/core-react.js.map +1 -1
  869. package/lib/public/locales/en/UiCore.json +30 -30
  870. package/package.json +10 -10
  871. package/lib/cjs/core-react/button/blue-large.scss +0 -12
  872. package/lib/cjs/core-react/button/blue.scss +0 -17
  873. package/lib/cjs/core-react/button/button.scss +0 -70
  874. package/lib/cjs/core-react/button/classes.scss +0 -14
  875. package/lib/cjs/core-react/button/disabled-large.scss +0 -12
  876. package/lib/cjs/core-react/button/disabled.scss +0 -17
  877. package/lib/cjs/core-react/button/hollow-large.scss +0 -13
  878. package/lib/cjs/core-react/button/hollow.scss +0 -30
  879. package/lib/cjs/core-react/button/index.scss +0 -14
  880. package/lib/cjs/core-react/button/primary-large.scss +0 -12
  881. package/lib/cjs/core-react/button/primary.scss +0 -17
  882. package/lib/cjs/core-react/button/variables.scss +0 -22
  883. package/lib/cjs/core-react/checkbox/checkbox.scss +0 -124
  884. package/lib/cjs/core-react/checkbox/classes.scss +0 -8
  885. package/lib/cjs/core-react/checkbox/index.scss +0 -8
  886. package/lib/cjs/core-react/style/data-viz.scss +0 -20
  887. package/lib/cjs/core-react/style/space.scss +0 -13
  888. package/lib/cjs/core-react/style/speed.scss +0 -9
  889. package/lib/cjs/core-react/style/typography.scss +0 -39
  890. package/lib/cjs/core-react/style/variables.scss +0 -9
  891. package/lib/esm/core-react/button/blue-large.scss +0 -12
  892. package/lib/esm/core-react/button/blue.scss +0 -17
  893. package/lib/esm/core-react/button/button.scss +0 -70
  894. package/lib/esm/core-react/button/classes.scss +0 -14
  895. package/lib/esm/core-react/button/disabled-large.scss +0 -12
  896. package/lib/esm/core-react/button/disabled.scss +0 -17
  897. package/lib/esm/core-react/button/hollow-large.scss +0 -13
  898. package/lib/esm/core-react/button/hollow.scss +0 -30
  899. package/lib/esm/core-react/button/index.scss +0 -14
  900. package/lib/esm/core-react/button/primary-large.scss +0 -12
  901. package/lib/esm/core-react/button/primary.scss +0 -17
  902. package/lib/esm/core-react/button/variables.scss +0 -22
  903. package/lib/esm/core-react/checkbox/checkbox.scss +0 -124
  904. package/lib/esm/core-react/checkbox/classes.scss +0 -8
  905. package/lib/esm/core-react/checkbox/index.scss +0 -8
  906. package/lib/esm/core-react/style/data-viz.scss +0 -20
  907. package/lib/esm/core-react/style/space.scss +0 -13
  908. package/lib/esm/core-react/style/speed.scss +0 -9
  909. package/lib/esm/core-react/style/typography.scss +0 -39
  910. package/lib/esm/core-react/style/variables.scss +0 -9
@@ -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":["/*---------------------------------------------------------------------------------------------\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"]}
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":["/*---------------------------------------------------------------------------------------------\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,42 +1,42 @@
1
- /** @packageDocumentation
2
- * @module ElementSeparator
3
- */
4
- /// <reference types="react" />
5
- import "./ElementSeparator.scss";
6
- import { Orientation } from "../enums/Orientation";
7
- import { CommonProps } from "../utils/Props";
8
- /**
9
- * Results returned by onRatioChanged callback for determining new ratio and whether the ratio was updated.
10
- * @public
11
- */
12
- export interface RatioChangeResult {
13
- ratio: number;
14
- }
15
- /** Properties of [[ElementSeparator]] React component
16
- * @public
17
- */
18
- export interface ElementSeparatorProps extends CommonProps {
19
- /** Separator orientation */
20
- orientation: Orientation;
21
- /** Ratio between left cell and right cell */
22
- ratio: number;
23
- /** Area width or height (depending on orientation) in pixels */
24
- movableArea?: number;
25
- /** Separator width or height in pixels. 30 by default */
26
- separatorSize?: number;
27
- /** Callback to ratio changed event */
28
- onRatioChanged?: (ratio: number) => void | RatioChangeResult;
29
- /** Is resize handle hovered */
30
- isResizeHandleHovered?: boolean;
31
- /** Callback to hover event change */
32
- onResizeHandleHoverChanged?: (isHovered: boolean) => void;
33
- /** Is resize handle being dragged */
34
- isResizeHandleBeingDragged?: boolean;
35
- /** Callback to drag event change */
36
- onResizeHandleDragChanged?: (isDragStarted: boolean) => void;
37
- }
38
- /** A movable button, which allows to change the ratio between left element and right element
39
- * @public
40
- */
41
- export declare const ElementSeparator: (props: ElementSeparatorProps) => JSX.Element;
1
+ /** @packageDocumentation
2
+ * @module ElementSeparator
3
+ */
4
+ /// <reference types="react" />
5
+ import "./ElementSeparator.scss";
6
+ import { Orientation } from "../enums/Orientation";
7
+ import { CommonProps } from "../utils/Props";
8
+ /**
9
+ * Results returned by onRatioChanged callback for determining new ratio and whether the ratio was updated.
10
+ * @public
11
+ */
12
+ export interface RatioChangeResult {
13
+ ratio: number;
14
+ }
15
+ /** Properties of [[ElementSeparator]] React component
16
+ * @public
17
+ */
18
+ export interface ElementSeparatorProps extends CommonProps {
19
+ /** Separator orientation */
20
+ orientation: Orientation;
21
+ /** Ratio between left cell and right cell */
22
+ ratio: number;
23
+ /** Area width or height (depending on orientation) in pixels */
24
+ movableArea?: number;
25
+ /** Separator width or height in pixels. 30 by default */
26
+ separatorSize?: number;
27
+ /** Callback to ratio changed event */
28
+ onRatioChanged?: (ratio: number) => void | RatioChangeResult;
29
+ /** Is resize handle hovered */
30
+ isResizeHandleHovered?: boolean;
31
+ /** Callback to hover event change */
32
+ onResizeHandleHoverChanged?: (isHovered: boolean) => void;
33
+ /** Is resize handle being dragged */
34
+ isResizeHandleBeingDragged?: boolean;
35
+ /** Callback to drag event change */
36
+ onResizeHandleDragChanged?: (isDragStarted: boolean) => void;
37
+ }
38
+ /** A movable button, which allows to change the ratio between left element and right element
39
+ * @public
40
+ */
41
+ export declare const ElementSeparator: (props: ElementSeparatorProps) => JSX.Element;
42
42
  //# sourceMappingURL=ElementSeparator.d.ts.map
@@ -1,164 +1,164 @@
1
- "use strict";
2
- /*---------------------------------------------------------------------------------------------
3
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
- * See LICENSE.md in the project root for license terms and full copyright notice.
5
- *--------------------------------------------------------------------------------------------*/
6
- /** @packageDocumentation
7
- * @module ElementSeparator
8
- */
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.ElementSeparator = void 0;
11
- require("./ElementSeparator.scss");
12
- const React = require("react");
13
- const react_1 = require("react"); // eslint-disable-line no-duplicate-imports
14
- const classnames_1 = require("classnames");
15
- const Orientation_1 = require("../enums/Orientation");
16
- const useThrottledFn_1 = require("../utils/hooks/useThrottledFn");
17
- const UiCore_1 = require("../UiCore");
18
- function getCurrentGlobalPosition(orientation, e) {
19
- return orientation === Orientation_1.Orientation.Horizontal ? e.clientX : e.clientY;
20
- }
21
- const useConditionalCleanup = (condition, cleanup) => {
22
- const conditionRef = (0, react_1.useRef)(condition);
23
- const cleanupRef = (0, react_1.useRef)(cleanup);
24
- conditionRef.current = condition;
25
- cleanupRef.current = cleanup;
26
- (0, react_1.useEffect)(() => {
27
- return () => {
28
- if (conditionRef.current)
29
- cleanupRef.current();
30
- };
31
- }, []);
32
- };
33
- const useElementSeparatorPointerHandler = ({ onResizeHandleDragChanged, onResizeHandleHoverChanged, isResizeHandleBeingDragged, isResizeHandleHovered, movableArea, ratio, orientation, onRatioChanged, }) => {
34
- const globalPosition = (0, react_1.useRef)(0);
35
- const pointerOutOfBounds = (0, react_1.useRef)(false);
36
- const [isElementDragged, setIsDragged] = (0, react_1.useState)(false);
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;
40
- useConditionalCleanup(isElementDragged && !!onResizeHandleDragChanged, () => onResizeHandleDragChanged(false));
41
- useConditionalCleanup(isElementHovered && !!onResizeHandleHoverChanged, () => onResizeHandleHoverChanged(false));
42
- if (isGroupHovered && pointerOutOfBounds.current)
43
- pointerOutOfBounds.current = false;
44
- const stopDrag = (0, react_1.useCallback)(() => {
45
- // istanbul ignore else
46
- if (isGroupDragged) {
47
- setIsDragged(false);
48
- if (onResizeHandleDragChanged)
49
- onResizeHandleDragChanged(false);
50
- }
51
- }, [isGroupDragged, onResizeHandleDragChanged]);
52
- const startDrag = (0, react_1.useCallback)((e) => {
53
- globalPosition.current = getCurrentGlobalPosition(orientation, e);
54
- // istanbul ignore else
55
- if (!isGroupDragged) {
56
- setIsDragged(true);
57
- if (onResizeHandleDragChanged)
58
- onResizeHandleDragChanged(true);
59
- }
60
- }, [isGroupDragged, orientation, onResizeHandleDragChanged]);
61
- const onPointerUp = (0, react_1.useCallback)(() => {
62
- stopDrag();
63
- }, [stopDrag]);
64
- const onThrottledPointerMove = (0, useThrottledFn_1.useThrottledFn)((e) => {
65
- if (!movableArea) {
66
- stopDrag();
67
- return;
68
- }
69
- const currentPosition = getCurrentGlobalPosition(orientation, e);
70
- const positionChange = currentPosition - globalPosition.current;
71
- // Should not need to recalculate if position on our movement axis does not change
72
- if (Math.abs(positionChange) < 1)
73
- return;
74
- const currentLocalPosition = movableArea * ratio + positionChange;
75
- const newRatio = currentLocalPosition / movableArea;
76
- globalPosition.current = currentPosition;
77
- if (pointerOutOfBounds.current || !onRatioChanged)
78
- return;
79
- const result = onRatioChanged(newRatio);
80
- if (result && result.ratio === ratio && !isGroupHovered && !pointerOutOfBounds.current)
81
- pointerOutOfBounds.current = true;
82
- }, 16, [stopDrag, isGroupHovered, ratio, movableArea, onRatioChanged, orientation]);
83
- (0, react_1.useEffect)(() => {
84
- return () => onThrottledPointerMove.cancel();
85
- }, [onThrottledPointerMove]);
86
- (0, react_1.useLayoutEffect)(() => {
87
- if (isElementDragged) {
88
- document.addEventListener("pointerup", onPointerUp);
89
- document.addEventListener("pointermove", onThrottledPointerMove);
90
- }
91
- return () => {
92
- document.removeEventListener("pointerup", onPointerUp);
93
- document.removeEventListener("pointermove", onThrottledPointerMove);
94
- };
95
- }, [isElementDragged, onPointerUp, onThrottledPointerMove]);
96
- const onPointerDown = (0, react_1.useCallback)((e) => {
97
- if (!isGroupDragged) {
98
- startDrag(e);
99
- }
100
- else {
101
- stopDrag();
102
- }
103
- }, [isGroupDragged, startDrag, stopDrag]);
104
- const onPointerOver = (0, react_1.useCallback)(() => {
105
- // istanbul ignore next
106
- if (isGroupHovered)
107
- return;
108
- setIsHovered(true);
109
- if (onResizeHandleHoverChanged)
110
- onResizeHandleHoverChanged(true);
111
- }, [isGroupHovered, onResizeHandleHoverChanged]);
112
- const onPointerOut = (0, react_1.useCallback)(() => {
113
- // istanbul ignore next
114
- if (!isGroupHovered)
115
- return;
116
- setIsHovered(false);
117
- if (onResizeHandleHoverChanged)
118
- onResizeHandleHoverChanged(false);
119
- }, [isGroupHovered, onResizeHandleHoverChanged]);
120
- return {
121
- isHovered: isGroupHovered,
122
- isDragged: isGroupDragged,
123
- onPointerDown,
124
- onPointerOver,
125
- onPointerOut,
126
- };
127
- };
128
- function getStyle(orientation, separatorSize) {
129
- separatorSize = separatorSize || 30;
130
- if (orientation === Orientation_1.Orientation.Horizontal)
131
- return {
132
- width: separatorSize,
133
- margin: `0px ${-Math.floor(separatorSize / 2)}px`,
134
- };
135
- return {
136
- height: separatorSize,
137
- margin: `${-Math.floor(separatorSize / 2)}px 1px`,
138
- };
139
- }
140
- /** A movable button, which allows to change the ratio between left element and right element
141
- * @public
142
- */
143
- // eslint-disable-next-line @typescript-eslint/naming-convention
144
- const ElementSeparator = (props) => {
145
- const label = (0, react_1.useRef)(UiCore_1.UiCore.translate("elementSeparator.label"));
146
- const [hasHoverHappened, setHasHoverHappened] = (0, react_1.useState)(false);
147
- const { isDragged, isHovered, onPointerDown, onPointerOver, onPointerOut } = useElementSeparatorPointerHandler(props);
148
- const isHoverNeeded = isHovered || isDragged;
149
- if (!hasHoverHappened && isHoverNeeded)
150
- setHasHoverHappened(isHoverNeeded);
151
- // This is done to avoid fade-out animation when first rendering.
152
- const unhoverClass = hasHoverHappened ? "core-element-separator-group-unhovered" : "";
153
- const classNames = (0, classnames_1.default)("core-element-separator", (props.orientation === Orientation_1.Orientation.Horizontal) ? "core-element-separator--horizontal" : "core-element-separator--vertical", props.className, isHoverNeeded ? "core-element-separator-group-hovered" : unhoverClass);
154
- const orientation = props.orientation;
155
- const separatorSize = props.separatorSize;
156
- const style = (0, react_1.useMemo)(() => getStyle(orientation, separatorSize), [orientation, separatorSize]);
157
- const styles = {
158
- ...style,
159
- ...props.style,
160
- };
161
- return (React.createElement("button", { style: styles, className: classNames, onPointerDown: onPointerDown, onPointerOver: onPointerOver, onPointerOut: onPointerOut, "aria-label": label.current }));
162
- };
163
- exports.ElementSeparator = ElementSeparator;
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
+ * See LICENSE.md in the project root for license terms and full copyright notice.
5
+ *--------------------------------------------------------------------------------------------*/
6
+ /** @packageDocumentation
7
+ * @module ElementSeparator
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.ElementSeparator = void 0;
11
+ require("./ElementSeparator.scss");
12
+ const React = require("react");
13
+ const react_1 = require("react"); // eslint-disable-line no-duplicate-imports
14
+ const classnames_1 = require("classnames");
15
+ const Orientation_1 = require("../enums/Orientation");
16
+ const useThrottledFn_1 = require("../utils/hooks/useThrottledFn");
17
+ const UiCore_1 = require("../UiCore");
18
+ function getCurrentGlobalPosition(orientation, e) {
19
+ return orientation === Orientation_1.Orientation.Horizontal ? e.clientX : e.clientY;
20
+ }
21
+ const useConditionalCleanup = (condition, cleanup) => {
22
+ const conditionRef = (0, react_1.useRef)(condition);
23
+ const cleanupRef = (0, react_1.useRef)(cleanup);
24
+ conditionRef.current = condition;
25
+ cleanupRef.current = cleanup;
26
+ (0, react_1.useEffect)(() => {
27
+ return () => {
28
+ if (conditionRef.current)
29
+ cleanupRef.current();
30
+ };
31
+ }, []);
32
+ };
33
+ const useElementSeparatorPointerHandler = ({ onResizeHandleDragChanged, onResizeHandleHoverChanged, isResizeHandleBeingDragged, isResizeHandleHovered, movableArea, ratio, orientation, onRatioChanged, }) => {
34
+ const globalPosition = (0, react_1.useRef)(0);
35
+ const pointerOutOfBounds = (0, react_1.useRef)(false);
36
+ const [isElementDragged, setIsDragged] = (0, react_1.useState)(false);
37
+ const [isElementHovered, setIsHovered] = (0, react_1.useState)(false);
38
+ const isGroupDragged = isResizeHandleBeingDragged ?? isElementDragged;
39
+ const isGroupHovered = isResizeHandleHovered ?? isElementHovered;
40
+ useConditionalCleanup(isElementDragged && !!onResizeHandleDragChanged, () => onResizeHandleDragChanged(false));
41
+ useConditionalCleanup(isElementHovered && !!onResizeHandleHoverChanged, () => onResizeHandleHoverChanged(false));
42
+ if (isGroupHovered && pointerOutOfBounds.current)
43
+ pointerOutOfBounds.current = false;
44
+ const stopDrag = (0, react_1.useCallback)(() => {
45
+ // istanbul ignore else
46
+ if (isGroupDragged) {
47
+ setIsDragged(false);
48
+ if (onResizeHandleDragChanged)
49
+ onResizeHandleDragChanged(false);
50
+ }
51
+ }, [isGroupDragged, onResizeHandleDragChanged]);
52
+ const startDrag = (0, react_1.useCallback)((e) => {
53
+ globalPosition.current = getCurrentGlobalPosition(orientation, e);
54
+ // istanbul ignore else
55
+ if (!isGroupDragged) {
56
+ setIsDragged(true);
57
+ if (onResizeHandleDragChanged)
58
+ onResizeHandleDragChanged(true);
59
+ }
60
+ }, [isGroupDragged, orientation, onResizeHandleDragChanged]);
61
+ const onPointerUp = (0, react_1.useCallback)(() => {
62
+ stopDrag();
63
+ }, [stopDrag]);
64
+ const onThrottledPointerMove = (0, useThrottledFn_1.useThrottledFn)((e) => {
65
+ if (!movableArea) {
66
+ stopDrag();
67
+ return;
68
+ }
69
+ const currentPosition = getCurrentGlobalPosition(orientation, e);
70
+ const positionChange = currentPosition - globalPosition.current;
71
+ // Should not need to recalculate if position on our movement axis does not change
72
+ if (Math.abs(positionChange) < 1)
73
+ return;
74
+ const currentLocalPosition = movableArea * ratio + positionChange;
75
+ const newRatio = currentLocalPosition / movableArea;
76
+ globalPosition.current = currentPosition;
77
+ if (pointerOutOfBounds.current || !onRatioChanged)
78
+ return;
79
+ const result = onRatioChanged(newRatio);
80
+ if (result && result.ratio === ratio && !isGroupHovered && !pointerOutOfBounds.current)
81
+ pointerOutOfBounds.current = true;
82
+ }, 16, [stopDrag, isGroupHovered, ratio, movableArea, onRatioChanged, orientation]);
83
+ (0, react_1.useEffect)(() => {
84
+ return () => onThrottledPointerMove.cancel();
85
+ }, [onThrottledPointerMove]);
86
+ (0, react_1.useLayoutEffect)(() => {
87
+ if (isElementDragged) {
88
+ document.addEventListener("pointerup", onPointerUp);
89
+ document.addEventListener("pointermove", onThrottledPointerMove);
90
+ }
91
+ return () => {
92
+ document.removeEventListener("pointerup", onPointerUp);
93
+ document.removeEventListener("pointermove", onThrottledPointerMove);
94
+ };
95
+ }, [isElementDragged, onPointerUp, onThrottledPointerMove]);
96
+ const onPointerDown = (0, react_1.useCallback)((e) => {
97
+ if (!isGroupDragged) {
98
+ startDrag(e);
99
+ }
100
+ else {
101
+ stopDrag();
102
+ }
103
+ }, [isGroupDragged, startDrag, stopDrag]);
104
+ const onPointerOver = (0, react_1.useCallback)(() => {
105
+ // istanbul ignore next
106
+ if (isGroupHovered)
107
+ return;
108
+ setIsHovered(true);
109
+ if (onResizeHandleHoverChanged)
110
+ onResizeHandleHoverChanged(true);
111
+ }, [isGroupHovered, onResizeHandleHoverChanged]);
112
+ const onPointerOut = (0, react_1.useCallback)(() => {
113
+ // istanbul ignore next
114
+ if (!isGroupHovered)
115
+ return;
116
+ setIsHovered(false);
117
+ if (onResizeHandleHoverChanged)
118
+ onResizeHandleHoverChanged(false);
119
+ }, [isGroupHovered, onResizeHandleHoverChanged]);
120
+ return {
121
+ isHovered: isGroupHovered,
122
+ isDragged: isGroupDragged,
123
+ onPointerDown,
124
+ onPointerOver,
125
+ onPointerOut,
126
+ };
127
+ };
128
+ function getStyle(orientation, separatorSize) {
129
+ separatorSize = separatorSize || 30;
130
+ if (orientation === Orientation_1.Orientation.Horizontal)
131
+ return {
132
+ width: separatorSize,
133
+ margin: `0px ${-Math.floor(separatorSize / 2)}px`,
134
+ };
135
+ return {
136
+ height: separatorSize,
137
+ margin: `${-Math.floor(separatorSize / 2)}px 1px`,
138
+ };
139
+ }
140
+ /** A movable button, which allows to change the ratio between left element and right element
141
+ * @public
142
+ */
143
+ // eslint-disable-next-line @typescript-eslint/naming-convention
144
+ const ElementSeparator = (props) => {
145
+ const label = (0, react_1.useRef)(UiCore_1.UiCore.translate("elementSeparator.label"));
146
+ const [hasHoverHappened, setHasHoverHappened] = (0, react_1.useState)(false);
147
+ const { isDragged, isHovered, onPointerDown, onPointerOver, onPointerOut } = useElementSeparatorPointerHandler(props);
148
+ const isHoverNeeded = isHovered || isDragged;
149
+ if (!hasHoverHappened && isHoverNeeded)
150
+ setHasHoverHappened(isHoverNeeded);
151
+ // This is done to avoid fade-out animation when first rendering.
152
+ const unhoverClass = hasHoverHappened ? "core-element-separator-group-unhovered" : "";
153
+ const classNames = (0, classnames_1.default)("core-element-separator", (props.orientation === Orientation_1.Orientation.Horizontal) ? "core-element-separator--horizontal" : "core-element-separator--vertical", props.className, isHoverNeeded ? "core-element-separator-group-hovered" : unhoverClass);
154
+ const orientation = props.orientation;
155
+ const separatorSize = props.separatorSize;
156
+ const style = (0, react_1.useMemo)(() => getStyle(orientation, separatorSize), [orientation, separatorSize]);
157
+ const styles = {
158
+ ...style,
159
+ ...props.style,
160
+ };
161
+ return (React.createElement("button", { style: styles, className: classNames, onPointerDown: onPointerDown, onPointerOver: onPointerOver, onPointerOut: onPointerOut, "aria-label": label.current }));
162
+ };
163
+ exports.ElementSeparator = ElementSeparator;
164
164
  //# sourceMappingURL=ElementSeparator.js.map
@@ -1 +1 @@
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"]}
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"]}