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

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 (616) hide show
  1. package/CHANGELOG.md +116 -1
  2. package/ContributeGuidelines.md +17 -14
  3. package/README.md +2 -2
  4. package/lib/cjs/core-react/UiCore.d.ts +40 -40
  5. package/lib/cjs/core-react/UiCore.js +85 -85
  6. package/lib/cjs/core-react/UiCore.js.map +1 -1
  7. package/lib/cjs/core-react/autosuggest/AutoSuggest.d.ts +96 -96
  8. package/lib/cjs/core-react/autosuggest/AutoSuggest.d.ts.map +1 -1
  9. package/lib/cjs/core-react/autosuggest/AutoSuggest.js +174 -174
  10. package/lib/cjs/core-react/autosuggest/AutoSuggest.scss +1 -2
  11. package/lib/cjs/core-react/badge/Badge.d.ts +18 -18
  12. package/lib/cjs/core-react/badge/Badge.js +26 -26
  13. package/lib/cjs/core-react/badge/BadgeUtilities.d.ts +12 -12
  14. package/lib/cjs/core-react/badge/BadgeUtilities.js +38 -38
  15. package/lib/cjs/core-react/badge/BetaBadge.d.ts +9 -9
  16. package/lib/cjs/core-react/badge/BetaBadge.js +22 -22
  17. package/lib/cjs/core-react/badge/NewBadge.d.ts +10 -10
  18. package/lib/cjs/core-react/badge/NewBadge.js +23 -23
  19. package/lib/cjs/core-react/base/Centered.d.ts +10 -10
  20. package/lib/cjs/core-react/base/Centered.js +20 -20
  21. package/lib/cjs/core-react/base/Div.d.ts +16 -16
  22. package/lib/cjs/core-react/base/Div.js +20 -20
  23. package/lib/cjs/core-react/base/DivWithOutsideClick.d.ts +79 -79
  24. package/lib/cjs/core-react/base/DivWithOutsideClick.js +16 -16
  25. package/lib/cjs/core-react/base/FillCentered.d.ts +10 -10
  26. package/lib/cjs/core-react/base/FillCentered.js +20 -20
  27. package/lib/cjs/core-react/base/FlexWrapContainer.d.ts +11 -11
  28. package/lib/cjs/core-react/base/FlexWrapContainer.js +21 -21
  29. package/lib/cjs/core-react/base/Gap.d.ts +15 -15
  30. package/lib/cjs/core-react/base/Gap.js +20 -20
  31. package/lib/cjs/core-react/base/Gap.js.map +1 -1
  32. package/lib/cjs/core-react/base/PointerEvents.d.ts +7 -7
  33. package/lib/cjs/core-react/base/PointerEvents.js +17 -17
  34. package/lib/cjs/core-react/base/ScrollView.d.ts +11 -11
  35. package/lib/cjs/core-react/base/ScrollView.js +21 -21
  36. package/lib/cjs/core-react/button/UnderlinedButton.d.ts +24 -24
  37. package/lib/cjs/core-react/button/UnderlinedButton.js +35 -35
  38. package/lib/cjs/core-react/checklistbox/CheckListBox.d.ts +40 -40
  39. package/lib/cjs/core-react/checklistbox/CheckListBox.js +42 -42
  40. package/lib/cjs/core-react/checklistbox/CheckListBox.scss +0 -1
  41. package/lib/cjs/core-react/classes.scss +0 -2
  42. package/lib/cjs/core-react/contextmenu/ContextMenu.d.ts +93 -93
  43. package/lib/cjs/core-react/contextmenu/ContextMenu.d.ts.map +1 -1
  44. package/lib/cjs/core-react/contextmenu/ContextMenu.js +363 -364
  45. package/lib/cjs/core-react/contextmenu/ContextMenu.js.map +1 -1
  46. package/lib/cjs/core-react/contextmenu/ContextMenuDirection.d.ts +18 -18
  47. package/lib/cjs/core-react/contextmenu/ContextMenuDirection.js +26 -26
  48. package/lib/cjs/core-react/contextmenu/ContextMenuDivider.d.ts +12 -12
  49. package/lib/cjs/core-react/contextmenu/ContextMenuDivider.js +23 -23
  50. package/lib/cjs/core-react/contextmenu/ContextMenuItem.d.ts +61 -61
  51. package/lib/cjs/core-react/contextmenu/ContextMenuItem.js +108 -108
  52. package/lib/cjs/core-react/contextmenu/ContextMenuItem.js.map +1 -1
  53. package/lib/cjs/core-react/contextmenu/ContextSubMenu.d.ts +51 -51
  54. package/lib/cjs/core-react/contextmenu/ContextSubMenu.d.ts.map +1 -1
  55. package/lib/cjs/core-react/contextmenu/ContextSubMenu.js +162 -162
  56. package/lib/cjs/core-react/contextmenu/ContextSubMenu.js.map +1 -1
  57. package/lib/cjs/core-react/contextmenu/GlobalContextMenu.d.ts +34 -34
  58. package/lib/cjs/core-react/contextmenu/GlobalContextMenu.js +61 -63
  59. package/lib/cjs/core-react/contextmenu/GlobalContextMenu.js.map +1 -1
  60. package/lib/cjs/core-react/contextmenu/PopupContextMenu.d.ts +53 -53
  61. package/lib/cjs/core-react/contextmenu/PopupContextMenu.js +55 -55
  62. package/lib/cjs/core-react/contextmenu/TildeFinder.d.ts +18 -18
  63. package/lib/cjs/core-react/contextmenu/TildeFinder.js +70 -70
  64. package/lib/cjs/core-react/contextmenu/TildeFinder.js.map +1 -1
  65. package/lib/cjs/core-react/dialog/Dialog.d.ts +132 -132
  66. package/lib/cjs/core-react/dialog/Dialog.js +374 -375
  67. package/lib/cjs/core-react/dialog/Dialog.js.map +1 -1
  68. package/lib/cjs/core-react/dialog/GlobalDialog.d.ts +28 -28
  69. package/lib/cjs/core-react/dialog/GlobalDialog.js +52 -53
  70. package/lib/cjs/core-react/dialog/GlobalDialog.js.map +1 -1
  71. package/lib/cjs/core-react/elementseparator/ElementSeparator.d.ts +41 -41
  72. package/lib/cjs/core-react/elementseparator/ElementSeparator.js +163 -163
  73. package/lib/cjs/core-react/elementseparator/ElementSeparator.js.map +1 -1
  74. package/lib/cjs/core-react/enums/Alignment.d.ts +22 -22
  75. package/lib/cjs/core-react/enums/Alignment.js +31 -31
  76. package/lib/cjs/core-react/enums/CheckBoxState.d.ts +20 -20
  77. package/lib/cjs/core-react/enums/CheckBoxState.js +19 -19
  78. package/lib/cjs/core-react/enums/Orientation.d.ts +11 -11
  79. package/lib/cjs/core-react/enums/Orientation.js +19 -19
  80. package/lib/cjs/core-react/enums/SortDirection.d.ts +12 -12
  81. package/lib/cjs/core-react/enums/SortDirection.js +20 -20
  82. package/lib/cjs/core-react/enums/TimeFormat.d.ts +14 -14
  83. package/lib/cjs/core-react/enums/TimeFormat.js +22 -22
  84. package/lib/cjs/core-react/expandable/ExpandableList.d.ts +37 -37
  85. package/lib/cjs/core-react/expandable/ExpandableList.js +57 -57
  86. package/lib/cjs/core-react/expandable/ExpandableList.js.map +1 -1
  87. package/lib/cjs/core-react/focus/ItemKeyboardNavigator.d.ts +53 -53
  88. package/lib/cjs/core-react/focus/ItemKeyboardNavigator.d.ts.map +1 -1
  89. package/lib/cjs/core-react/focus/ItemKeyboardNavigator.js +150 -150
  90. package/lib/cjs/core-react/focustrap/FocusTrap.d.ts +28 -28
  91. package/lib/cjs/core-react/focustrap/FocusTrap.js +196 -196
  92. package/lib/cjs/core-react/hocs/withIsPressed.d.ts +77 -77
  93. package/lib/cjs/core-react/hocs/withIsPressed.js +46 -46
  94. package/lib/cjs/core-react/hocs/withOnOutsideClick.d.ts +103 -103
  95. package/lib/cjs/core-react/hocs/withOnOutsideClick.js +114 -115
  96. package/lib/cjs/core-react/hocs/withOnOutsideClick.js.map +1 -1
  97. package/lib/cjs/core-react/hocs/withTimeout.d.ts +74 -74
  98. package/lib/cjs/core-react/hocs/withTimeout.js +46 -46
  99. package/lib/cjs/core-react/icons/ConditionalIconItem.d.ts +26 -26
  100. package/lib/cjs/core-react/icons/ConditionalIconItem.js +64 -64
  101. package/lib/cjs/core-react/icons/IconComponent.d.ts +25 -25
  102. package/lib/cjs/core-react/icons/IconComponent.d.ts.map +1 -1
  103. package/lib/cjs/core-react/icons/IconComponent.js +48 -48
  104. package/lib/cjs/core-react/icons/IconComponent.js.map +1 -1
  105. package/lib/cjs/core-react/icons/SvgPath.d.ts +23 -23
  106. package/lib/cjs/core-react/icons/SvgPath.js +27 -27
  107. package/lib/cjs/core-react/icons/WebFontIcon.d.ts +25 -25
  108. package/lib/cjs/core-react/icons/WebFontIcon.js +21 -21
  109. package/lib/cjs/core-react/imagecheckbox/ImageCheckBox.d.ts +42 -42
  110. package/lib/cjs/core-react/imagecheckbox/ImageCheckBox.js +56 -56
  111. package/lib/cjs/core-react/index.scss +0 -2
  112. package/lib/cjs/core-react/inputs/Input.d.ts +20 -20
  113. package/lib/cjs/core-react/inputs/Input.js +45 -45
  114. package/lib/cjs/core-react/inputs/InputLabel.d.ts +20 -20
  115. package/lib/cjs/core-react/inputs/InputLabel.js +41 -41
  116. package/lib/cjs/core-react/inputs/InputStatus.d.ts +11 -11
  117. package/lib/cjs/core-react/inputs/InputStatus.js +19 -19
  118. package/lib/cjs/core-react/inputs/LabeledComponentProps.d.ts +33 -33
  119. package/lib/cjs/core-react/inputs/LabeledComponentProps.js +9 -9
  120. package/lib/cjs/core-react/inputs/iconinput/IconInput.d.ts +23 -23
  121. package/lib/cjs/core-react/inputs/iconinput/IconInput.js +29 -29
  122. package/lib/cjs/core-react/inputs/numberinput/NumberInput.d.ts +50 -50
  123. package/lib/cjs/core-react/inputs/numberinput/NumberInput.d.ts.map +1 -1
  124. package/lib/cjs/core-react/inputs/numberinput/NumberInput.js +153 -153
  125. package/lib/cjs/core-react/listbox/Listbox.d.ts +55 -55
  126. package/lib/cjs/core-react/listbox/Listbox.d.ts.map +1 -1
  127. package/lib/cjs/core-react/listbox/Listbox.js +221 -222
  128. package/lib/cjs/core-react/listbox/Listbox.js.map +1 -1
  129. package/lib/cjs/core-react/loading/LoadingBar.d.ts +29 -29
  130. package/lib/cjs/core-react/loading/LoadingBar.js +40 -40
  131. package/lib/cjs/core-react/loading/LoadingBar.js.map +1 -1
  132. package/lib/cjs/core-react/loading/LoadingPrompt.d.ts +39 -39
  133. package/lib/cjs/core-react/loading/LoadingPrompt.js +44 -44
  134. package/lib/cjs/core-react/loading/LoadingPrompt.js.map +1 -1
  135. package/lib/cjs/core-react/loading/LoadingSpinner.d.ts +32 -32
  136. package/lib/cjs/core-react/loading/LoadingSpinner.d.ts.map +1 -1
  137. package/lib/cjs/core-react/loading/LoadingSpinner.js +30 -30
  138. package/lib/cjs/core-react/loading/LoadingSpinner.js.map +1 -1
  139. package/lib/cjs/core-react/loading/LoadingStatus.d.ts +24 -24
  140. package/lib/cjs/core-react/loading/LoadingStatus.js +37 -37
  141. package/lib/cjs/core-react/loading/LoadingStatus.js.map +1 -1
  142. package/lib/cjs/core-react/messagebox/MessageBox.d.ts +80 -80
  143. package/lib/cjs/core-react/messagebox/MessageBox.js +114 -114
  144. package/lib/cjs/core-react/messagebox/MessageBox.js.map +1 -1
  145. package/lib/cjs/core-react/notification/MessageRenderer.d.ts +19 -19
  146. package/lib/cjs/core-react/notification/MessageRenderer.js +81 -81
  147. package/lib/cjs/core-react/notification/MessageRenderer.js.map +1 -1
  148. package/lib/cjs/core-react/notification/MessageType.d.ts +22 -22
  149. package/lib/cjs/core-react/notification/MessageType.d.ts.map +1 -1
  150. package/lib/cjs/core-react/notification/MessageType.js +24 -24
  151. package/lib/cjs/core-react/popup/Popup.d.ts +111 -111
  152. package/lib/cjs/core-react/popup/Popup.js +418 -422
  153. package/lib/cjs/core-react/popup/Popup.js.map +1 -1
  154. package/lib/cjs/core-react/radialmenu/Annulus.d.ts +54 -54
  155. package/lib/cjs/core-react/radialmenu/Annulus.js +82 -82
  156. package/lib/cjs/core-react/radialmenu/RadialMenu.d.ts +97 -97
  157. package/lib/cjs/core-react/radialmenu/RadialMenu.js +179 -179
  158. package/lib/cjs/core-react/radialmenu/RadialMenu.js.map +1 -1
  159. package/lib/cjs/core-react/searchbox/SearchBox.d.ts +52 -52
  160. package/lib/cjs/core-react/searchbox/SearchBox.js +111 -111
  161. package/lib/cjs/core-react/searchbox/SearchBox.scss +2 -3
  162. package/lib/cjs/core-react/settings/SettingsContainer.d.ts +30 -30
  163. package/lib/cjs/core-react/settings/SettingsContainer.js +121 -121
  164. package/lib/cjs/core-react/settings/SettingsManager.d.ts +132 -132
  165. package/lib/cjs/core-react/settings/SettingsManager.js +122 -122
  166. package/lib/cjs/core-react/style/index.scss +0 -7
  167. package/lib/cjs/core-react/tabs/Tabs.d.ts +71 -71
  168. package/lib/cjs/core-react/tabs/Tabs.js +125 -125
  169. package/lib/cjs/core-react/tabs/VerticalTabs.d.ts +9 -9
  170. package/lib/cjs/core-react/tabs/VerticalTabs.js +20 -20
  171. package/lib/cjs/core-react/text/BlockText.d.ts +9 -9
  172. package/lib/cjs/core-react/text/BlockText.js +20 -20
  173. package/lib/cjs/core-react/text/BodyText.d.ts +10 -10
  174. package/lib/cjs/core-react/text/BodyText.js +21 -21
  175. package/lib/cjs/core-react/text/BodyText.js.map +1 -1
  176. package/lib/cjs/core-react/text/DisabledText.d.ts +6 -6
  177. package/lib/cjs/core-react/text/DisabledText.js +20 -20
  178. package/lib/cjs/core-react/text/FilteredText.d.ts +24 -24
  179. package/lib/cjs/core-react/text/FilteredText.js +40 -40
  180. package/lib/cjs/core-react/text/FilteredText.js.map +1 -1
  181. package/lib/cjs/core-react/text/MutedText.d.ts +10 -10
  182. package/lib/cjs/core-react/text/MutedText.js +21 -21
  183. package/lib/cjs/core-react/text/MutedText.js.map +1 -1
  184. package/lib/cjs/core-react/text/StyledText.d.ts +17 -17
  185. package/lib/cjs/core-react/text/StyledText.js +21 -21
  186. package/lib/cjs/core-react/text/StyledText.js.map +1 -1
  187. package/lib/cjs/core-react/text/TextProps.d.ts +10 -10
  188. package/lib/cjs/core-react/text/TextProps.js +9 -9
  189. package/lib/cjs/core-react/tree/Branch.d.ts +19 -19
  190. package/lib/cjs/core-react/tree/Branch.js +23 -23
  191. package/lib/cjs/core-react/tree/ExpansionToggle.d.ts +20 -20
  192. package/lib/cjs/core-react/tree/ExpansionToggle.js +30 -30
  193. package/lib/cjs/core-react/tree/Node.d.ts +79 -79
  194. package/lib/cjs/core-react/tree/Node.d.ts.map +1 -1
  195. package/lib/cjs/core-react/tree/Node.js +87 -88
  196. package/lib/cjs/core-react/tree/Node.js.map +1 -1
  197. package/lib/cjs/core-react/tree/Node.scss +0 -15
  198. package/lib/cjs/core-react/tree/Placeholder.d.ts +22 -22
  199. package/lib/cjs/core-react/tree/Placeholder.js +31 -31
  200. package/lib/cjs/core-react/tree/Tree.d.ts +28 -28
  201. package/lib/cjs/core-react/tree/Tree.js +100 -100
  202. package/lib/cjs/core-react/uistate/LocalStateStorage.d.ts +16 -16
  203. package/lib/cjs/core-react/uistate/LocalStateStorage.js +49 -49
  204. package/lib/cjs/core-react/uistate/UiStateEntry.d.ts +30 -30
  205. package/lib/cjs/core-react/uistate/UiStateEntry.js +59 -59
  206. package/lib/cjs/core-react/uistate/UiStateStorage.d.ts +28 -28
  207. package/lib/cjs/core-react/uistate/UiStateStorage.js +21 -21
  208. package/lib/cjs/core-react/utils/IconHelper.d.ts +23 -23
  209. package/lib/cjs/core-react/utils/IconHelper.js +62 -62
  210. package/lib/cjs/core-react/utils/IconWebComponent.d.ts +10 -10
  211. package/lib/cjs/core-react/utils/IconWebComponent.js +72 -72
  212. package/lib/cjs/core-react/utils/IconWebComponent.js.map +1 -1
  213. package/lib/cjs/core-react/utils/Point.d.ts +37 -37
  214. package/lib/cjs/core-react/utils/Point.js +73 -73
  215. package/lib/cjs/core-react/utils/Point.js.map +1 -1
  216. package/lib/cjs/core-react/utils/Props.d.ts +38 -38
  217. package/lib/cjs/core-react/utils/Props.d.ts.map +1 -1
  218. package/lib/cjs/core-react/utils/Props.js +9 -9
  219. package/lib/cjs/core-react/utils/Rectangle.d.ts +144 -144
  220. package/lib/cjs/core-react/utils/Rectangle.js +270 -270
  221. package/lib/cjs/core-react/utils/Rectangle.js.map +1 -1
  222. package/lib/cjs/core-react/utils/ScrollPositionMaintainer.d.ts +23 -23
  223. package/lib/cjs/core-react/utils/ScrollPositionMaintainer.js +36 -36
  224. package/lib/cjs/core-react/utils/Size.d.ts +23 -23
  225. package/lib/cjs/core-react/utils/Size.js +32 -32
  226. package/lib/cjs/core-react/utils/Size.js.map +1 -1
  227. package/lib/cjs/core-react/utils/Timer.d.ts +35 -35
  228. package/lib/cjs/core-react/utils/Timer.d.ts.map +1 -1
  229. package/lib/cjs/core-react/utils/Timer.js +64 -64
  230. package/lib/cjs/core-react/utils/UiGeometry.d.ts +20 -20
  231. package/lib/cjs/core-react/utils/UiGeometry.js +28 -28
  232. package/lib/cjs/core-react/utils/flattenChildren.d.ts +8 -8
  233. package/lib/cjs/core-react/utils/flattenChildren.js +27 -27
  234. package/lib/cjs/core-react/utils/getBestBWContrastColor.d.ts +7 -7
  235. package/lib/cjs/core-react/utils/getBestBWContrastColor.js +22 -22
  236. package/lib/cjs/core-react/utils/getBestBWContrastColor.js.map +1 -1
  237. package/lib/cjs/core-react/utils/getCssVariable.d.ts +11 -11
  238. package/lib/cjs/core-react/utils/getCssVariable.js +31 -31
  239. package/lib/cjs/core-react/utils/getCssVariable.js.map +1 -1
  240. package/lib/cjs/core-react/utils/getDisplayName.d.ts +8 -8
  241. package/lib/cjs/core-react/utils/getDisplayName.js +21 -21
  242. package/lib/cjs/core-react/utils/getUserColor.d.ts +7 -7
  243. package/lib/cjs/core-react/utils/getUserColor.js +38 -38
  244. package/lib/cjs/core-react/utils/hooks/ResizeObserverPolyfill.d.ts +4 -4
  245. package/lib/cjs/core-react/utils/hooks/ResizeObserverPolyfill.d.ts.map +1 -1
  246. package/lib/cjs/core-react/utils/hooks/ResizeObserverPolyfill.js +19 -19
  247. package/lib/cjs/core-react/utils/hooks/useCrossOriginPopup.d.ts +7 -7
  248. package/lib/cjs/core-react/utils/hooks/useCrossOriginPopup.js +88 -89
  249. package/lib/cjs/core-react/utils/hooks/useCrossOriginPopup.js.map +1 -1
  250. package/lib/cjs/core-react/utils/hooks/useDisposable.d.ts +17 -17
  251. package/lib/cjs/core-react/utils/hooks/useDisposable.js +38 -38
  252. package/lib/cjs/core-react/utils/hooks/useEffectSkipFirst.d.ts +8 -8
  253. package/lib/cjs/core-react/utils/hooks/useEffectSkipFirst.js +26 -26
  254. package/lib/cjs/core-react/utils/hooks/useEventListener.d.ts +11 -11
  255. package/lib/cjs/core-react/utils/hooks/useEventListener.js +43 -43
  256. package/lib/cjs/core-react/utils/hooks/useInterval.d.ts +5 -5
  257. package/lib/cjs/core-react/utils/hooks/useInterval.js +36 -36
  258. package/lib/cjs/core-react/utils/hooks/useLifecycleLogging.d.ts +5 -5
  259. package/lib/cjs/core-react/utils/hooks/useLifecycleLogging.js +64 -64
  260. package/lib/cjs/core-react/utils/hooks/useOnOutsideClick.d.ts +12 -12
  261. package/lib/cjs/core-react/utils/hooks/useOnOutsideClick.d.ts.map +1 -1
  262. package/lib/cjs/core-react/utils/hooks/useOnOutsideClick.js +92 -92
  263. package/lib/cjs/core-react/utils/hooks/useProximityToMouse.d.ts +55 -55
  264. package/lib/cjs/core-react/utils/hooks/useProximityToMouse.js +114 -114
  265. package/lib/cjs/core-react/utils/hooks/useRefEffect.d.ts +7 -7
  266. package/lib/cjs/core-react/utils/hooks/useRefEffect.js +23 -23
  267. package/lib/cjs/core-react/utils/hooks/useRefState.d.ts +21 -21
  268. package/lib/cjs/core-react/utils/hooks/useRefState.js +35 -35
  269. package/lib/cjs/core-react/utils/hooks/useRefs.d.ts +12 -12
  270. package/lib/cjs/core-react/utils/hooks/useRefs.js +53 -53
  271. package/lib/cjs/core-react/utils/hooks/useResizeObserver.d.ts +39 -39
  272. package/lib/cjs/core-react/utils/hooks/useResizeObserver.js +203 -208
  273. package/lib/cjs/core-react/utils/hooks/useResizeObserver.js.map +1 -1
  274. package/lib/cjs/core-react/utils/hooks/useTargeted.d.ts +8 -8
  275. package/lib/cjs/core-react/utils/hooks/useTargeted.js +28 -28
  276. package/lib/cjs/core-react/utils/hooks/useThrottledFn.d.ts +15 -15
  277. package/lib/cjs/core-react/utils/hooks/useThrottledFn.js +25 -25
  278. package/lib/cjs/core-react/utils/hooks/useWidgetOpacityContext.d.ts +20 -20
  279. package/lib/cjs/core-react/utils/hooks/useWidgetOpacityContext.js +27 -27
  280. package/lib/cjs/core-react/utils/isPromiseLike.d.ts +7 -7
  281. package/lib/cjs/core-react/utils/isPromiseLike.js +17 -17
  282. package/lib/cjs/core-react/utils/shallowDiffers.d.ts +11 -11
  283. package/lib/cjs/core-react/utils/shallowDiffers.js +29 -29
  284. package/lib/cjs/core-react/utils/typeUtils.d.ts +7 -7
  285. package/lib/cjs/core-react/utils/typeUtils.d.ts.map +1 -1
  286. package/lib/cjs/core-react/utils/typeUtils.js +9 -9
  287. package/lib/cjs/core-react.d.ts +236 -236
  288. package/lib/cjs/core-react.js +263 -259
  289. package/lib/cjs/core-react.js.map +1 -1
  290. package/lib/esm/core-react/UiCore.d.ts +40 -40
  291. package/lib/esm/core-react/UiCore.js +82 -81
  292. package/lib/esm/core-react/UiCore.js.map +1 -1
  293. package/lib/esm/core-react/autosuggest/AutoSuggest.d.ts +96 -96
  294. package/lib/esm/core-react/autosuggest/AutoSuggest.d.ts.map +1 -1
  295. package/lib/esm/core-react/autosuggest/AutoSuggest.js +170 -170
  296. package/lib/esm/core-react/autosuggest/AutoSuggest.scss +1 -2
  297. package/lib/esm/core-react/badge/Badge.d.ts +18 -18
  298. package/lib/esm/core-react/badge/Badge.js +22 -22
  299. package/lib/esm/core-react/badge/BadgeUtilities.d.ts +12 -12
  300. package/lib/esm/core-react/badge/BadgeUtilities.js +34 -34
  301. package/lib/esm/core-react/badge/BetaBadge.d.ts +9 -9
  302. package/lib/esm/core-react/badge/BetaBadge.js +18 -18
  303. package/lib/esm/core-react/badge/NewBadge.d.ts +10 -10
  304. package/lib/esm/core-react/badge/NewBadge.js +19 -19
  305. package/lib/esm/core-react/base/Centered.d.ts +10 -10
  306. package/lib/esm/core-react/base/Centered.js +16 -16
  307. package/lib/esm/core-react/base/Div.d.ts +16 -16
  308. package/lib/esm/core-react/base/Div.js +16 -16
  309. package/lib/esm/core-react/base/DivWithOutsideClick.d.ts +79 -79
  310. package/lib/esm/core-react/base/DivWithOutsideClick.js +13 -13
  311. package/lib/esm/core-react/base/FillCentered.d.ts +10 -10
  312. package/lib/esm/core-react/base/FillCentered.js +16 -16
  313. package/lib/esm/core-react/base/FlexWrapContainer.d.ts +11 -11
  314. package/lib/esm/core-react/base/FlexWrapContainer.js +17 -17
  315. package/lib/esm/core-react/base/Gap.d.ts +15 -15
  316. package/lib/esm/core-react/base/Gap.js +16 -16
  317. package/lib/esm/core-react/base/Gap.js.map +1 -1
  318. package/lib/esm/core-react/base/PointerEvents.d.ts +7 -7
  319. package/lib/esm/core-react/base/PointerEvents.js +13 -13
  320. package/lib/esm/core-react/base/ScrollView.d.ts +11 -11
  321. package/lib/esm/core-react/base/ScrollView.js +17 -17
  322. package/lib/esm/core-react/button/UnderlinedButton.d.ts +24 -24
  323. package/lib/esm/core-react/button/UnderlinedButton.js +31 -31
  324. package/lib/esm/core-react/checklistbox/CheckListBox.d.ts +40 -40
  325. package/lib/esm/core-react/checklistbox/CheckListBox.js +36 -36
  326. package/lib/esm/core-react/checklistbox/CheckListBox.scss +0 -1
  327. package/lib/esm/core-react/classes.scss +0 -2
  328. package/lib/esm/core-react/contextmenu/ContextMenu.d.ts +93 -93
  329. package/lib/esm/core-react/contextmenu/ContextMenu.d.ts.map +1 -1
  330. package/lib/esm/core-react/contextmenu/ContextMenu.js +360 -360
  331. package/lib/esm/core-react/contextmenu/ContextMenu.js.map +1 -1
  332. package/lib/esm/core-react/contextmenu/ContextMenuDirection.d.ts +18 -18
  333. package/lib/esm/core-react/contextmenu/ContextMenuDirection.js +23 -23
  334. package/lib/esm/core-react/contextmenu/ContextMenuDivider.d.ts +12 -12
  335. package/lib/esm/core-react/contextmenu/ContextMenuDivider.js +19 -19
  336. package/lib/esm/core-react/contextmenu/ContextMenuItem.d.ts +61 -61
  337. package/lib/esm/core-react/contextmenu/ContextMenuItem.js +105 -104
  338. package/lib/esm/core-react/contextmenu/ContextMenuItem.js.map +1 -1
  339. package/lib/esm/core-react/contextmenu/ContextSubMenu.d.ts +51 -51
  340. package/lib/esm/core-react/contextmenu/ContextSubMenu.d.ts.map +1 -1
  341. package/lib/esm/core-react/contextmenu/ContextSubMenu.js +159 -158
  342. package/lib/esm/core-react/contextmenu/ContextSubMenu.js.map +1 -1
  343. package/lib/esm/core-react/contextmenu/GlobalContextMenu.d.ts +34 -34
  344. package/lib/esm/core-react/contextmenu/GlobalContextMenu.js +57 -59
  345. package/lib/esm/core-react/contextmenu/GlobalContextMenu.js.map +1 -1
  346. package/lib/esm/core-react/contextmenu/PopupContextMenu.d.ts +53 -53
  347. package/lib/esm/core-react/contextmenu/PopupContextMenu.js +51 -51
  348. package/lib/esm/core-react/contextmenu/TildeFinder.d.ts +18 -18
  349. package/lib/esm/core-react/contextmenu/TildeFinder.js +67 -66
  350. package/lib/esm/core-react/contextmenu/TildeFinder.js.map +1 -1
  351. package/lib/esm/core-react/dialog/Dialog.d.ts +132 -132
  352. package/lib/esm/core-react/dialog/Dialog.js +371 -371
  353. package/lib/esm/core-react/dialog/Dialog.js.map +1 -1
  354. package/lib/esm/core-react/dialog/GlobalDialog.d.ts +28 -28
  355. package/lib/esm/core-react/dialog/GlobalDialog.js +48 -49
  356. package/lib/esm/core-react/dialog/GlobalDialog.js.map +1 -1
  357. package/lib/esm/core-react/elementseparator/ElementSeparator.d.ts +41 -41
  358. package/lib/esm/core-react/elementseparator/ElementSeparator.js +159 -159
  359. package/lib/esm/core-react/elementseparator/ElementSeparator.js.map +1 -1
  360. package/lib/esm/core-react/enums/Alignment.d.ts +22 -22
  361. package/lib/esm/core-react/enums/Alignment.js +28 -28
  362. package/lib/esm/core-react/enums/CheckBoxState.d.ts +20 -20
  363. package/lib/esm/core-react/enums/CheckBoxState.js +16 -16
  364. package/lib/esm/core-react/enums/Orientation.d.ts +11 -11
  365. package/lib/esm/core-react/enums/Orientation.js +16 -16
  366. package/lib/esm/core-react/enums/SortDirection.d.ts +12 -12
  367. package/lib/esm/core-react/enums/SortDirection.js +17 -17
  368. package/lib/esm/core-react/enums/TimeFormat.d.ts +14 -14
  369. package/lib/esm/core-react/enums/TimeFormat.js +19 -19
  370. package/lib/esm/core-react/expandable/ExpandableList.d.ts +37 -37
  371. package/lib/esm/core-react/expandable/ExpandableList.js +54 -53
  372. package/lib/esm/core-react/expandable/ExpandableList.js.map +1 -1
  373. package/lib/esm/core-react/focus/ItemKeyboardNavigator.d.ts +53 -53
  374. package/lib/esm/core-react/focus/ItemKeyboardNavigator.d.ts.map +1 -1
  375. package/lib/esm/core-react/focus/ItemKeyboardNavigator.js +145 -145
  376. package/lib/esm/core-react/focustrap/FocusTrap.d.ts +28 -28
  377. package/lib/esm/core-react/focustrap/FocusTrap.js +191 -191
  378. package/lib/esm/core-react/hocs/withIsPressed.d.ts +77 -77
  379. package/lib/esm/core-react/hocs/withIsPressed.js +42 -42
  380. package/lib/esm/core-react/hocs/withOnOutsideClick.d.ts +103 -103
  381. package/lib/esm/core-react/hocs/withOnOutsideClick.js +110 -111
  382. package/lib/esm/core-react/hocs/withOnOutsideClick.js.map +1 -1
  383. package/lib/esm/core-react/hocs/withTimeout.d.ts +74 -74
  384. package/lib/esm/core-react/hocs/withTimeout.js +42 -42
  385. package/lib/esm/core-react/icons/ConditionalIconItem.d.ts +26 -26
  386. package/lib/esm/core-react/icons/ConditionalIconItem.js +60 -60
  387. package/lib/esm/core-react/icons/IconComponent.d.ts +25 -25
  388. package/lib/esm/core-react/icons/IconComponent.d.ts.map +1 -1
  389. package/lib/esm/core-react/icons/IconComponent.js +44 -44
  390. package/lib/esm/core-react/icons/IconComponent.js.map +1 -1
  391. package/lib/esm/core-react/icons/SvgPath.d.ts +23 -23
  392. package/lib/esm/core-react/icons/SvgPath.js +23 -23
  393. package/lib/esm/core-react/icons/WebFontIcon.d.ts +25 -25
  394. package/lib/esm/core-react/icons/WebFontIcon.js +17 -17
  395. package/lib/esm/core-react/imagecheckbox/ImageCheckBox.d.ts +42 -42
  396. package/lib/esm/core-react/imagecheckbox/ImageCheckBox.js +52 -52
  397. package/lib/esm/core-react/index.scss +0 -2
  398. package/lib/esm/core-react/inputs/Input.d.ts +20 -20
  399. package/lib/esm/core-react/inputs/Input.js +42 -42
  400. package/lib/esm/core-react/inputs/InputLabel.d.ts +20 -20
  401. package/lib/esm/core-react/inputs/InputLabel.js +37 -37
  402. package/lib/esm/core-react/inputs/InputStatus.d.ts +11 -11
  403. package/lib/esm/core-react/inputs/InputStatus.js +16 -16
  404. package/lib/esm/core-react/inputs/LabeledComponentProps.d.ts +33 -33
  405. package/lib/esm/core-react/inputs/LabeledComponentProps.js +8 -8
  406. package/lib/esm/core-react/inputs/iconinput/IconInput.d.ts +23 -23
  407. package/lib/esm/core-react/inputs/iconinput/IconInput.js +26 -26
  408. package/lib/esm/core-react/inputs/numberinput/NumberInput.d.ts +50 -50
  409. package/lib/esm/core-react/inputs/numberinput/NumberInput.d.ts.map +1 -1
  410. package/lib/esm/core-react/inputs/numberinput/NumberInput.js +150 -150
  411. package/lib/esm/core-react/listbox/Listbox.d.ts +55 -55
  412. package/lib/esm/core-react/listbox/Listbox.d.ts.map +1 -1
  413. package/lib/esm/core-react/listbox/Listbox.js +216 -217
  414. package/lib/esm/core-react/listbox/Listbox.js.map +1 -1
  415. package/lib/esm/core-react/loading/LoadingBar.d.ts +29 -29
  416. package/lib/esm/core-react/loading/LoadingBar.js +36 -35
  417. package/lib/esm/core-react/loading/LoadingBar.js.map +1 -1
  418. package/lib/esm/core-react/loading/LoadingPrompt.d.ts +39 -39
  419. package/lib/esm/core-react/loading/LoadingPrompt.js +41 -40
  420. package/lib/esm/core-react/loading/LoadingPrompt.js.map +1 -1
  421. package/lib/esm/core-react/loading/LoadingSpinner.d.ts +32 -32
  422. package/lib/esm/core-react/loading/LoadingSpinner.d.ts.map +1 -1
  423. package/lib/esm/core-react/loading/LoadingSpinner.js +27 -26
  424. package/lib/esm/core-react/loading/LoadingSpinner.js.map +1 -1
  425. package/lib/esm/core-react/loading/LoadingStatus.d.ts +24 -24
  426. package/lib/esm/core-react/loading/LoadingStatus.js +34 -33
  427. package/lib/esm/core-react/loading/LoadingStatus.js.map +1 -1
  428. package/lib/esm/core-react/messagebox/MessageBox.d.ts +80 -80
  429. package/lib/esm/core-react/messagebox/MessageBox.js +110 -109
  430. package/lib/esm/core-react/messagebox/MessageBox.js.map +1 -1
  431. package/lib/esm/core-react/notification/MessageRenderer.d.ts +19 -19
  432. package/lib/esm/core-react/notification/MessageRenderer.js +77 -77
  433. package/lib/esm/core-react/notification/MessageRenderer.js.map +1 -1
  434. package/lib/esm/core-react/notification/MessageType.d.ts +22 -22
  435. package/lib/esm/core-react/notification/MessageType.d.ts.map +1 -1
  436. package/lib/esm/core-react/notification/MessageType.js +19 -19
  437. package/lib/esm/core-react/popup/Popup.d.ts +111 -111
  438. package/lib/esm/core-react/popup/Popup.js +415 -418
  439. package/lib/esm/core-react/popup/Popup.js.map +1 -1
  440. package/lib/esm/core-react/radialmenu/Annulus.d.ts +54 -54
  441. package/lib/esm/core-react/radialmenu/Annulus.js +75 -75
  442. package/lib/esm/core-react/radialmenu/RadialMenu.d.ts +97 -97
  443. package/lib/esm/core-react/radialmenu/RadialMenu.js +175 -174
  444. package/lib/esm/core-react/radialmenu/RadialMenu.js.map +1 -1
  445. package/lib/esm/core-react/searchbox/SearchBox.d.ts +52 -52
  446. package/lib/esm/core-react/searchbox/SearchBox.js +107 -107
  447. package/lib/esm/core-react/searchbox/SearchBox.scss +2 -3
  448. package/lib/esm/core-react/settings/SettingsContainer.d.ts +30 -30
  449. package/lib/esm/core-react/settings/SettingsContainer.js +115 -115
  450. package/lib/esm/core-react/settings/SettingsManager.d.ts +132 -132
  451. package/lib/esm/core-react/settings/SettingsManager.js +113 -113
  452. package/lib/esm/core-react/style/index.scss +0 -7
  453. package/lib/esm/core-react/tabs/Tabs.d.ts +71 -71
  454. package/lib/esm/core-react/tabs/Tabs.js +121 -121
  455. package/lib/esm/core-react/tabs/VerticalTabs.d.ts +9 -9
  456. package/lib/esm/core-react/tabs/VerticalTabs.js +16 -16
  457. package/lib/esm/core-react/text/BlockText.d.ts +9 -9
  458. package/lib/esm/core-react/text/BlockText.js +16 -16
  459. package/lib/esm/core-react/text/BodyText.d.ts +10 -10
  460. package/lib/esm/core-react/text/BodyText.js +17 -17
  461. package/lib/esm/core-react/text/BodyText.js.map +1 -1
  462. package/lib/esm/core-react/text/DisabledText.d.ts +6 -6
  463. package/lib/esm/core-react/text/DisabledText.js +16 -16
  464. package/lib/esm/core-react/text/FilteredText.d.ts +24 -24
  465. package/lib/esm/core-react/text/FilteredText.js +36 -36
  466. package/lib/esm/core-react/text/FilteredText.js.map +1 -1
  467. package/lib/esm/core-react/text/MutedText.d.ts +10 -10
  468. package/lib/esm/core-react/text/MutedText.js +17 -17
  469. package/lib/esm/core-react/text/MutedText.js.map +1 -1
  470. package/lib/esm/core-react/text/StyledText.d.ts +17 -17
  471. package/lib/esm/core-react/text/StyledText.js +17 -17
  472. package/lib/esm/core-react/text/StyledText.js.map +1 -1
  473. package/lib/esm/core-react/text/TextProps.d.ts +10 -10
  474. package/lib/esm/core-react/text/TextProps.js +8 -8
  475. package/lib/esm/core-react/tree/Branch.d.ts +19 -19
  476. package/lib/esm/core-react/tree/Branch.js +19 -19
  477. package/lib/esm/core-react/tree/ExpansionToggle.d.ts +20 -20
  478. package/lib/esm/core-react/tree/ExpansionToggle.js +26 -26
  479. package/lib/esm/core-react/tree/Node.d.ts +79 -79
  480. package/lib/esm/core-react/tree/Node.d.ts.map +1 -1
  481. package/lib/esm/core-react/tree/Node.js +83 -84
  482. package/lib/esm/core-react/tree/Node.js.map +1 -1
  483. package/lib/esm/core-react/tree/Node.scss +0 -15
  484. package/lib/esm/core-react/tree/Placeholder.d.ts +22 -22
  485. package/lib/esm/core-react/tree/Placeholder.js +27 -27
  486. package/lib/esm/core-react/tree/Tree.d.ts +28 -28
  487. package/lib/esm/core-react/tree/Tree.js +96 -96
  488. package/lib/esm/core-react/uistate/LocalStateStorage.d.ts +16 -16
  489. package/lib/esm/core-react/uistate/LocalStateStorage.js +45 -45
  490. package/lib/esm/core-react/uistate/UiStateEntry.d.ts +30 -30
  491. package/lib/esm/core-react/uistate/UiStateEntry.js +55 -55
  492. package/lib/esm/core-react/uistate/UiStateStorage.d.ts +28 -28
  493. package/lib/esm/core-react/uistate/UiStateStorage.js +18 -18
  494. package/lib/esm/core-react/utils/IconHelper.d.ts +23 -23
  495. package/lib/esm/core-react/utils/IconHelper.js +58 -58
  496. package/lib/esm/core-react/utils/IconWebComponent.d.ts +10 -10
  497. package/lib/esm/core-react/utils/IconWebComponent.js +68 -68
  498. package/lib/esm/core-react/utils/IconWebComponent.js.map +1 -1
  499. package/lib/esm/core-react/utils/Point.d.ts +37 -37
  500. package/lib/esm/core-react/utils/Point.js +69 -69
  501. package/lib/esm/core-react/utils/Point.js.map +1 -1
  502. package/lib/esm/core-react/utils/Props.d.ts +38 -38
  503. package/lib/esm/core-react/utils/Props.d.ts.map +1 -1
  504. package/lib/esm/core-react/utils/Props.js +8 -8
  505. package/lib/esm/core-react/utils/Rectangle.d.ts +144 -144
  506. package/lib/esm/core-react/utils/Rectangle.js +266 -266
  507. package/lib/esm/core-react/utils/Rectangle.js.map +1 -1
  508. package/lib/esm/core-react/utils/ScrollPositionMaintainer.d.ts +23 -23
  509. package/lib/esm/core-react/utils/ScrollPositionMaintainer.js +32 -32
  510. package/lib/esm/core-react/utils/Size.d.ts +23 -23
  511. package/lib/esm/core-react/utils/Size.js +28 -28
  512. package/lib/esm/core-react/utils/Size.js.map +1 -1
  513. package/lib/esm/core-react/utils/Timer.d.ts +35 -35
  514. package/lib/esm/core-react/utils/Timer.d.ts.map +1 -1
  515. package/lib/esm/core-react/utils/Timer.js +60 -60
  516. package/lib/esm/core-react/utils/UiGeometry.d.ts +20 -20
  517. package/lib/esm/core-react/utils/UiGeometry.js +24 -24
  518. package/lib/esm/core-react/utils/flattenChildren.d.ts +8 -8
  519. package/lib/esm/core-react/utils/flattenChildren.js +23 -23
  520. package/lib/esm/core-react/utils/getBestBWContrastColor.d.ts +7 -7
  521. package/lib/esm/core-react/utils/getBestBWContrastColor.js +18 -18
  522. package/lib/esm/core-react/utils/getBestBWContrastColor.js.map +1 -1
  523. package/lib/esm/core-react/utils/getCssVariable.d.ts +11 -11
  524. package/lib/esm/core-react/utils/getCssVariable.js +26 -26
  525. package/lib/esm/core-react/utils/getCssVariable.js.map +1 -1
  526. package/lib/esm/core-react/utils/getDisplayName.d.ts +8 -8
  527. package/lib/esm/core-react/utils/getDisplayName.js +17 -17
  528. package/lib/esm/core-react/utils/getUserColor.d.ts +7 -7
  529. package/lib/esm/core-react/utils/getUserColor.js +34 -34
  530. package/lib/esm/core-react/utils/hooks/ResizeObserverPolyfill.d.ts +4 -4
  531. package/lib/esm/core-react/utils/hooks/ResizeObserverPolyfill.d.ts.map +1 -1
  532. package/lib/esm/core-react/utils/hooks/ResizeObserverPolyfill.js +16 -16
  533. package/lib/esm/core-react/utils/hooks/useCrossOriginPopup.d.ts +7 -7
  534. package/lib/esm/core-react/utils/hooks/useCrossOriginPopup.js +84 -85
  535. package/lib/esm/core-react/utils/hooks/useCrossOriginPopup.js.map +1 -1
  536. package/lib/esm/core-react/utils/hooks/useDisposable.d.ts +17 -17
  537. package/lib/esm/core-react/utils/hooks/useDisposable.js +33 -33
  538. package/lib/esm/core-react/utils/hooks/useEffectSkipFirst.d.ts +8 -8
  539. package/lib/esm/core-react/utils/hooks/useEffectSkipFirst.js +22 -22
  540. package/lib/esm/core-react/utils/hooks/useEventListener.d.ts +11 -11
  541. package/lib/esm/core-react/utils/hooks/useEventListener.js +39 -39
  542. package/lib/esm/core-react/utils/hooks/useInterval.d.ts +5 -5
  543. package/lib/esm/core-react/utils/hooks/useInterval.js +32 -32
  544. package/lib/esm/core-react/utils/hooks/useLifecycleLogging.d.ts +5 -5
  545. package/lib/esm/core-react/utils/hooks/useLifecycleLogging.js +60 -60
  546. package/lib/esm/core-react/utils/hooks/useOnOutsideClick.d.ts +12 -12
  547. package/lib/esm/core-react/utils/hooks/useOnOutsideClick.d.ts.map +1 -1
  548. package/lib/esm/core-react/utils/hooks/useOnOutsideClick.js +88 -88
  549. package/lib/esm/core-react/utils/hooks/useProximityToMouse.d.ts +55 -55
  550. package/lib/esm/core-react/utils/hooks/useProximityToMouse.js +102 -102
  551. package/lib/esm/core-react/utils/hooks/useRefEffect.d.ts +7 -7
  552. package/lib/esm/core-react/utils/hooks/useRefEffect.js +19 -19
  553. package/lib/esm/core-react/utils/hooks/useRefState.d.ts +21 -21
  554. package/lib/esm/core-react/utils/hooks/useRefState.js +31 -31
  555. package/lib/esm/core-react/utils/hooks/useRefs.d.ts +12 -12
  556. package/lib/esm/core-react/utils/hooks/useRefs.js +48 -48
  557. package/lib/esm/core-react/utils/hooks/useResizeObserver.d.ts +39 -39
  558. package/lib/esm/core-react/utils/hooks/useResizeObserver.js +196 -201
  559. package/lib/esm/core-react/utils/hooks/useResizeObserver.js.map +1 -1
  560. package/lib/esm/core-react/utils/hooks/useTargeted.d.ts +8 -8
  561. package/lib/esm/core-react/utils/hooks/useTargeted.js +24 -24
  562. package/lib/esm/core-react/utils/hooks/useThrottledFn.d.ts +15 -15
  563. package/lib/esm/core-react/utils/hooks/useThrottledFn.js +21 -21
  564. package/lib/esm/core-react/utils/hooks/useWidgetOpacityContext.d.ts +20 -20
  565. package/lib/esm/core-react/utils/hooks/useWidgetOpacityContext.js +23 -23
  566. package/lib/esm/core-react/utils/isPromiseLike.d.ts +7 -7
  567. package/lib/esm/core-react/utils/isPromiseLike.js +13 -13
  568. package/lib/esm/core-react/utils/shallowDiffers.d.ts +11 -11
  569. package/lib/esm/core-react/utils/shallowDiffers.js +25 -25
  570. package/lib/esm/core-react/utils/typeUtils.d.ts +7 -7
  571. package/lib/esm/core-react/utils/typeUtils.d.ts.map +1 -1
  572. package/lib/esm/core-react/utils/typeUtils.js +8 -8
  573. package/lib/esm/core-react.d.ts +236 -236
  574. package/lib/esm/core-react.js +241 -241
  575. package/package.json +15 -13
  576. package/ThirdPartyNotices.md +0 -28
  577. package/lib/cjs/core-react/button/blue-large.scss +0 -12
  578. package/lib/cjs/core-react/button/blue.scss +0 -17
  579. package/lib/cjs/core-react/button/button.scss +0 -70
  580. package/lib/cjs/core-react/button/classes.scss +0 -14
  581. package/lib/cjs/core-react/button/disabled-large.scss +0 -12
  582. package/lib/cjs/core-react/button/disabled.scss +0 -17
  583. package/lib/cjs/core-react/button/hollow-large.scss +0 -13
  584. package/lib/cjs/core-react/button/hollow.scss +0 -30
  585. package/lib/cjs/core-react/button/index.scss +0 -14
  586. package/lib/cjs/core-react/button/primary-large.scss +0 -12
  587. package/lib/cjs/core-react/button/primary.scss +0 -17
  588. package/lib/cjs/core-react/button/variables.scss +0 -22
  589. package/lib/cjs/core-react/checkbox/checkbox.scss +0 -124
  590. package/lib/cjs/core-react/checkbox/classes.scss +0 -8
  591. package/lib/cjs/core-react/checkbox/index.scss +0 -8
  592. package/lib/cjs/core-react/style/data-viz.scss +0 -20
  593. package/lib/cjs/core-react/style/space.scss +0 -13
  594. package/lib/cjs/core-react/style/speed.scss +0 -9
  595. package/lib/cjs/core-react/style/typography.scss +0 -39
  596. package/lib/cjs/core-react/style/variables.scss +0 -9
  597. package/lib/esm/core-react/button/blue-large.scss +0 -12
  598. package/lib/esm/core-react/button/blue.scss +0 -17
  599. package/lib/esm/core-react/button/button.scss +0 -70
  600. package/lib/esm/core-react/button/classes.scss +0 -14
  601. package/lib/esm/core-react/button/disabled-large.scss +0 -12
  602. package/lib/esm/core-react/button/disabled.scss +0 -17
  603. package/lib/esm/core-react/button/hollow-large.scss +0 -13
  604. package/lib/esm/core-react/button/hollow.scss +0 -30
  605. package/lib/esm/core-react/button/index.scss +0 -14
  606. package/lib/esm/core-react/button/primary-large.scss +0 -12
  607. package/lib/esm/core-react/button/primary.scss +0 -17
  608. package/lib/esm/core-react/button/variables.scss +0 -22
  609. package/lib/esm/core-react/checkbox/checkbox.scss +0 -124
  610. package/lib/esm/core-react/checkbox/classes.scss +0 -8
  611. package/lib/esm/core-react/checkbox/index.scss +0 -8
  612. package/lib/esm/core-react/style/data-viz.scss +0 -20
  613. package/lib/esm/core-react/style/space.scss +0 -13
  614. package/lib/esm/core-react/style/speed.scss +0 -9
  615. package/lib/esm/core-react/style/typography.scss +0 -39
  616. package/lib/esm/core-react/style/variables.scss +0 -9
@@ -1,361 +1,361 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
5
- /** @packageDocumentation
6
- * @module ContextMenu
7
- */
8
- import "./ContextMenu.scss";
9
- import classnames from "classnames";
10
- import * as React from "react";
11
- import { ConditionalBooleanValue, SpecialKey } from "@itwin/appui-abstract";
12
- import { DivWithOutsideClick } from "../base/DivWithOutsideClick";
13
- import { ContextMenuDirection } from "./ContextMenuDirection";
14
- import { ContextMenuItem } from "./ContextMenuItem";
15
- import { ContextSubMenu } from "./ContextSubMenu";
16
- /**
17
- * A context menu populated with [[ContextMenuItem]] components.
18
- * Can be nested using [[ContextSubMenu]] component.
19
- * @public
20
- */
21
- export class ContextMenu extends React.PureComponent {
22
- constructor(props) {
23
- super(props);
24
- this._rootElement = null;
25
- this._menuElement = null;
26
- this._selectedElement = null;
27
- this._length = 0;
28
- this._hotKeyMap = new Map();
29
- this._lastDirection = ContextMenuDirection.BottomRight;
30
- this._lastSelectedIndex = 0;
31
- this._parentWindowHeight = 0;
32
- this._parentWindowWidth = 0;
33
- this._handleHotKeyParsed = (index, hotKey) => {
34
- this._hotKeyMap.set(index, hotKey);
35
- };
36
- // istanbul ignore next
37
- this._handleOnOutsideClick = (event) => {
38
- if (this.props.opened && this.props.onOutsideClick)
39
- this.props.onOutsideClick(event);
40
- };
41
- this._injectMenuItemProps = (children, direction, selectedIndex) => {
42
- let index = 0;
43
- // add inheritance data to submenu children
44
- const ch = React.Children.map(children, (child) => {
45
- // Capture only ContextSubMenus and ContextMenuItems.
46
- if (child && typeof child === "object" && "props" in child && (child.type === ContextSubMenu || child.type === ContextMenuItem) &&
47
- !ConditionalBooleanValue.getValue(child.props.disabled) && !ConditionalBooleanValue.getValue(child.props.hidden)) {
48
- const id = index; // get separate id variable so value stays the same when onHover is called later.
49
- const onHover = () => {
50
- this.setState({ selectedIndex: id });
51
- this.focus();
52
- };
53
- const ref = (el) => {
54
- if (selectedIndex === id) // only save to this._selectedElement if previously captured bool is true
55
- this._selectedElement = el;
56
- };
57
- const boundHandleHotKeyParse = this._handleHotKeyParsed.bind(this, id); // bind local callback for specific index
58
- const childProps = {
59
- parentMenu: this,
60
- ref,
61
- onHover,
62
- isSelected: selectedIndex === id,
63
- onHotKeyParsed: boundHandleHotKeyParse,
64
- };
65
- if (child.type === ContextSubMenu) { // add direction only to sub-menus
66
- childProps.direction = child.props.direction || /* istanbul ignore next */ direction;
67
- }
68
- index++;
69
- return React.cloneElement(child, childProps);
70
- }
71
- else
72
- return child; // Else, pass through unmodified
73
- });
74
- this._length = index;
75
- return ch;
76
- };
77
- this._rootRef = (el) => {
78
- this._rootElement = el;
79
- };
80
- this._menuRef = (el) => {
81
- this._menuElement = el;
82
- };
83
- this.focus = () => {
84
- // istanbul ignore else
85
- if (this._menuElement)
86
- this._menuElement.focus();
87
- };
88
- this.blur = () => {
89
- // istanbul ignore else
90
- if (this._menuElement)
91
- this._menuElement.blur();
92
- };
93
- this.getRect = () => {
94
- let clientRect = DOMRect.fromRect({ x: 0, y: 0, width: 0, height: 0 });
95
- // istanbul ignore else
96
- if (this._menuElement) {
97
- clientRect = this._menuElement.getBoundingClientRect();
98
- }
99
- return clientRect;
100
- };
101
- this._handleFocusChange = (event) => {
102
- // istanbul ignore else
103
- if (this._rootElement && this.props.opened && event.target instanceof Node && this.props.onOutsideClick && !this._rootElement.contains(event.target))
104
- this.props.onOutsideClick(event);
105
- };
106
- this._handleClick = (event) => {
107
- if (this.props.onSelect)
108
- this.props.onSelect(event);
109
- };
110
- this._handleKeyUp = (event) => {
111
- if (this.state.ignoreNextKeyUp) {
112
- this.setState({ ignoreNextKeyUp: false });
113
- return;
114
- }
115
- // istanbul ignore else
116
- if (event.key) {
117
- for (const [key, value] of this._hotKeyMap) {
118
- if (!this.props.hotkeySelect && key > this.state.selectedIndex) { // Start search at current index.
119
- if (event.key.toUpperCase() === value) {
120
- this.setState({ selectedIndex: key });
121
- return;
122
- }
123
- }
124
- }
125
- for (const [key, value] of this._hotKeyMap) {
126
- if (event.key.toUpperCase() === value) {
127
- this.setState({ selectedIndex: key }, () => {
128
- if (this.props.hotkeySelect && this._selectedElement) {
129
- this._selectedElement.select();
130
- }
131
- });
132
- event.stopPropagation();
133
- return;
134
- }
135
- }
136
- }
137
- if (event.key === SpecialKey.ArrowLeft) {
138
- event.stopPropagation();
139
- if (this.props.parentMenu && this.props.parentSubmenu) {
140
- this.props.parentSubmenu.close();
141
- this.props.parentMenu.focus();
142
- }
143
- if (this.props.onEsc)
144
- this.props.onEsc(event);
145
- }
146
- if (event.key === SpecialKey.Escape) {
147
- // istanbul ignore else
148
- if (this.props.onEsc)
149
- this.props.onEsc(event);
150
- }
151
- if ((event.key === SpecialKey.Enter || event.key === SpecialKey.ArrowRight) && this._selectedElement) {
152
- event.stopPropagation();
153
- // istanbul ignore else
154
- if (event.key === SpecialKey.Enter || /* istanbul ignore next */ this._selectedElement instanceof ContextSubMenu) {
155
- // istanbul ignore else
156
- if (this._selectedElement.select)
157
- this._selectedElement.select();
158
- }
159
- }
160
- let { selectedIndex } = this.state;
161
- if (event.key === SpecialKey.ArrowUp || event.key === SpecialKey.ArrowDown) {
162
- event.stopPropagation();
163
- if (selectedIndex === -1) {
164
- selectedIndex = 0;
165
- }
166
- else {
167
- if (event.key === SpecialKey.ArrowUp) {
168
- if (this.state.selectedIndex === 0)
169
- selectedIndex = this._length - 1;
170
- else
171
- selectedIndex--;
172
- }
173
- if (event.key === SpecialKey.ArrowDown) {
174
- if (this.state.selectedIndex === this._length - 1)
175
- selectedIndex = 0;
176
- else
177
- selectedIndex++;
178
- }
179
- }
180
- }
181
- this.setState({ selectedIndex });
182
- };
183
- this.state = {
184
- selectedIndex: this.props.selectedIndex,
185
- direction: props.direction,
186
- ignoreNextKeyUp: props.ignoreNextKeyUp,
187
- };
188
- }
189
- render() {
190
- const { opened, direction, onOutsideClick, onSelect, onEsc, autoflip, edgeLimit, hotkeySelect, // eslint-disable-line @typescript-eslint/no-unused-vars
191
- selectedIndex, floating, parentMenu, parentSubmenu, children, className, ignoreNextKeyUp, // eslint-disable-line @typescript-eslint/no-unused-vars
192
- ...props } = this.props;
193
- const renderDirection = parentMenu === undefined ? this.state.direction : direction;
194
- if (this._lastChildren !== children || this._lastDirection !== renderDirection || this._lastSelectedIndex !== this.state.selectedIndex) {
195
- this._injectedChildren = this._injectMenuItemProps(children, renderDirection, this.state.selectedIndex);
196
- this._lastChildren = children;
197
- this._lastDirection = renderDirection;
198
- this._lastSelectedIndex = this.state.selectedIndex;
199
- }
200
- const classNames = classnames("core-context-menu", className);
201
- return (React.createElement("div", { role: "presentation", className: classNames, onKeyUp: this._handleKeyUp, onClick: this._handleClick, "data-testid": "core-context-menu-root", ...props, ref: this._rootRef },
202
- React.createElement(DivWithOutsideClick, { onOutsideClick: this._handleOnOutsideClick },
203
- React.createElement("div", { ref: this._menuRef, role: "menu", tabIndex: 0, "data-testid": "core-context-menu-container", className: classnames("core-context-menu-container", opened && "core-context-menu-opened", floating && "core-context-menu-floating", ContextMenu.getCSSClassNameFromDirection(renderDirection)) }, this._injectedChildren))));
204
- }
205
- getWindow() {
206
- var _a;
207
- const el = this._rootElement ? this._rootElement : /* istanbul ignore next */ this._menuElement;
208
- const parentDocument = el.ownerDocument;
209
- // istanbul ignore next
210
- return (_a = parentDocument.defaultView) !== null && _a !== void 0 ? _a : window;
211
- }
212
- /** @internal */
213
- componentDidMount() {
214
- const parentWindow = this.getWindow();
215
- parentWindow.addEventListener("focus", this._handleFocusChange);
216
- parentWindow.addEventListener("mouseup", this._handleFocusChange);
217
- this.checkRenderDirection();
218
- if (this.props.opened)
219
- this.focus();
220
- }
221
- /** @internal */
222
- componentWillUnmount() {
223
- const parentWindow = this.getWindow();
224
- parentWindow.removeEventListener("focus", this._handleFocusChange);
225
- parentWindow.removeEventListener("mouseup", this._handleFocusChange);
226
- }
227
- checkRenderDirection() {
228
- const { direction, autoflip, parentMenu } = this.props;
229
- const parentWindow = this.getWindow();
230
- let renderDirection = parentMenu === undefined ? this.state.direction : direction;
231
- if (parentWindow.innerHeight === this._parentWindowHeight && parentWindow.innerWidth === this._parentWindowWidth)
232
- return;
233
- this._parentWindowHeight = parentWindow.innerHeight;
234
- this._parentWindowWidth = parentWindow.innerWidth;
235
- // check if menu should flip
236
- if (parentWindow && autoflip && parentMenu === undefined) {
237
- const menuRect = this.getRect();
238
- renderDirection = ContextMenu.autoFlip(renderDirection, menuRect, parentWindow.innerWidth, parentWindow.innerHeight);
239
- // istanbul ignore next
240
- if (renderDirection !== this.state.direction)
241
- this.setState({ direction: renderDirection });
242
- }
243
- }
244
- componentDidUpdate(prevProps) {
245
- if (prevProps.selectedIndex !== this.props.selectedIndex) {
246
- this.setState((_, props) => ({ selectedIndex: props.selectedIndex }));
247
- }
248
- if (!prevProps.opened && this.props.opened) {
249
- this.setState((_, props) => ({ selectedIndex: props.selectedIndex }));
250
- }
251
- if (!this.props.parentMenu) {
252
- // const direction = this.props.direction!;
253
- // if ((!this.props.opened && prevProps.opened && direction !== this.state.direction) || prevProps.direction !== direction)
254
- this.checkRenderDirection();
255
- }
256
- }
257
- }
258
- ContextMenu.defaultProps = {
259
- direction: ContextMenuDirection.BottomRight,
260
- autoflip: true,
261
- edgeLimit: true,
262
- hotkeySelect: true,
263
- selectedIndex: -1,
264
- floating: true,
265
- };
266
- /** @internal */
267
- ContextMenu.autoFlip = (dir, rect, windowWidth, windowHeight) => {
268
- if (rect.right > windowWidth) {
269
- switch (dir) {
270
- case ContextMenuDirection.TopRight:
271
- dir = ContextMenuDirection.TopLeft;
272
- break;
273
- case ContextMenuDirection.Right:
274
- dir = ContextMenuDirection.Left;
275
- break;
276
- case ContextMenuDirection.BottomRight:
277
- dir = ContextMenuDirection.BottomLeft;
278
- break;
279
- }
280
- }
281
- if (rect.left < 0) {
282
- switch (dir) {
283
- case ContextMenuDirection.TopLeft:
284
- dir = ContextMenuDirection.TopRight;
285
- break;
286
- case ContextMenuDirection.Left:
287
- dir = ContextMenuDirection.Right;
288
- break;
289
- case ContextMenuDirection.BottomLeft:
290
- dir = ContextMenuDirection.BottomRight;
291
- break;
292
- }
293
- }
294
- if (rect.bottom > windowHeight) {
295
- switch (dir) {
296
- case ContextMenuDirection.BottomLeft:
297
- dir = ContextMenuDirection.TopLeft;
298
- break;
299
- case ContextMenuDirection.Bottom:
300
- dir = ContextMenuDirection.Top;
301
- break;
302
- case ContextMenuDirection.BottomRight:
303
- dir = ContextMenuDirection.TopRight;
304
- break;
305
- }
306
- }
307
- if (rect.top < 0) {
308
- switch (dir) {
309
- case ContextMenuDirection.TopLeft:
310
- dir = ContextMenuDirection.BottomLeft;
311
- break;
312
- case ContextMenuDirection.Top:
313
- dir = ContextMenuDirection.Bottom;
314
- break;
315
- case ContextMenuDirection.TopRight:
316
- dir = ContextMenuDirection.BottomRight;
317
- break;
318
- }
319
- }
320
- return dir;
321
- };
322
- /** @internal */
323
- ContextMenu.getCSSClassNameFromDirection = (direction) => {
324
- let className = "";
325
- // istanbul ignore next
326
- if (direction === undefined)
327
- direction = ContextMenuDirection.BottomRight;
328
- if (direction === ContextMenuDirection.None)
329
- return "";
330
- switch (direction) {
331
- case ContextMenuDirection.TopLeft:
332
- className = "core-context-menu-top core-context-menu-left";
333
- break;
334
- case ContextMenuDirection.Top:
335
- className = "core-context-menu-top";
336
- break;
337
- case ContextMenuDirection.TopRight:
338
- className = "core-context-menu-top core-context-menu-right";
339
- break;
340
- case ContextMenuDirection.Left:
341
- className = "core-context-menu-left";
342
- break;
343
- case ContextMenuDirection.Center:
344
- className = "core-context-menu-center";
345
- break;
346
- case ContextMenuDirection.Right:
347
- className = "core-context-menu-right";
348
- break;
349
- case ContextMenuDirection.BottomLeft:
350
- className = "core-context-menu-bottom core-context-menu-left";
351
- break;
352
- case ContextMenuDirection.Bottom:
353
- className = "core-context-menu-bottom";
354
- break;
355
- case ContextMenuDirection.BottomRight:
356
- className = "core-context-menu-bottom core-context-menu-right";
357
- break;
358
- }
359
- return className;
360
- };
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ /** @packageDocumentation
6
+ * @module ContextMenu
7
+ */
8
+ import "./ContextMenu.scss";
9
+ import classnames from "classnames";
10
+ import * as React from "react";
11
+ import { ConditionalBooleanValue, SpecialKey } from "@itwin/appui-abstract";
12
+ import { DivWithOutsideClick } from "../base/DivWithOutsideClick";
13
+ import { ContextMenuDirection } from "./ContextMenuDirection";
14
+ import { ContextMenuItem } from "./ContextMenuItem";
15
+ import { ContextSubMenu } from "./ContextSubMenu";
16
+ /**
17
+ * A context menu populated with [[ContextMenuItem]] components.
18
+ * Can be nested using [[ContextSubMenu]] component.
19
+ * @public
20
+ */
21
+ class ContextMenu extends React.PureComponent {
22
+ constructor(props) {
23
+ super(props);
24
+ this._rootElement = null;
25
+ this._menuElement = null;
26
+ this._selectedElement = null;
27
+ this._length = 0;
28
+ this._hotKeyMap = new Map();
29
+ this._lastDirection = ContextMenuDirection.BottomRight;
30
+ this._lastSelectedIndex = 0;
31
+ this._parentWindowHeight = 0;
32
+ this._parentWindowWidth = 0;
33
+ this._handleHotKeyParsed = (index, hotKey) => {
34
+ this._hotKeyMap.set(index, hotKey);
35
+ };
36
+ // istanbul ignore next
37
+ this._handleOnOutsideClick = (event) => {
38
+ if (this.props.opened && this.props.onOutsideClick)
39
+ this.props.onOutsideClick(event);
40
+ };
41
+ this._injectMenuItemProps = (children, direction, selectedIndex) => {
42
+ let index = 0;
43
+ // add inheritance data to submenu children
44
+ const ch = React.Children.map(children, (child) => {
45
+ // Capture only ContextSubMenus and ContextMenuItems.
46
+ if (child && typeof child === "object" && "props" in child && (child.type === ContextSubMenu || child.type === ContextMenuItem) &&
47
+ !ConditionalBooleanValue.getValue(child.props.disabled) && !ConditionalBooleanValue.getValue(child.props.hidden)) {
48
+ const id = index; // get separate id variable so value stays the same when onHover is called later.
49
+ const onHover = () => {
50
+ this.setState({ selectedIndex: id });
51
+ this.focus();
52
+ };
53
+ const ref = (el) => {
54
+ if (selectedIndex === id) // only save to this._selectedElement if previously captured bool is true
55
+ this._selectedElement = el;
56
+ };
57
+ const boundHandleHotKeyParse = this._handleHotKeyParsed.bind(this, id); // bind local callback for specific index
58
+ const childProps = {
59
+ parentMenu: this,
60
+ ref,
61
+ onHover,
62
+ isSelected: selectedIndex === id,
63
+ onHotKeyParsed: boundHandleHotKeyParse,
64
+ };
65
+ if (child.type === ContextSubMenu) { // add direction only to sub-menus
66
+ childProps.direction = child.props.direction || /* istanbul ignore next */ direction;
67
+ }
68
+ index++;
69
+ return React.cloneElement(child, childProps);
70
+ }
71
+ else
72
+ return child; // Else, pass through unmodified
73
+ });
74
+ this._length = index;
75
+ return ch;
76
+ };
77
+ this._rootRef = (el) => {
78
+ this._rootElement = el;
79
+ };
80
+ this._menuRef = (el) => {
81
+ this._menuElement = el;
82
+ };
83
+ this.focus = () => {
84
+ // istanbul ignore else
85
+ if (this._menuElement)
86
+ this._menuElement.focus();
87
+ };
88
+ this.blur = () => {
89
+ // istanbul ignore else
90
+ if (this._menuElement)
91
+ this._menuElement.blur();
92
+ };
93
+ this.getRect = () => {
94
+ let clientRect = DOMRect.fromRect({ x: 0, y: 0, width: 0, height: 0 });
95
+ // istanbul ignore else
96
+ if (this._menuElement) {
97
+ clientRect = this._menuElement.getBoundingClientRect();
98
+ }
99
+ return clientRect;
100
+ };
101
+ this._handleFocusChange = (event) => {
102
+ // istanbul ignore else
103
+ if (this._rootElement && this.props.opened && event.target instanceof Node && this.props.onOutsideClick && !this._rootElement.contains(event.target))
104
+ this.props.onOutsideClick(event);
105
+ };
106
+ this._handleClick = (event) => {
107
+ if (this.props.onSelect)
108
+ this.props.onSelect(event);
109
+ };
110
+ this._handleKeyUp = (event) => {
111
+ if (this.state.ignoreNextKeyUp) {
112
+ this.setState({ ignoreNextKeyUp: false });
113
+ return;
114
+ }
115
+ // istanbul ignore else
116
+ if (event.key) {
117
+ for (const [key, value] of this._hotKeyMap) {
118
+ if (!this.props.hotkeySelect && key > this.state.selectedIndex) { // Start search at current index.
119
+ if (event.key.toUpperCase() === value) {
120
+ this.setState({ selectedIndex: key });
121
+ return;
122
+ }
123
+ }
124
+ }
125
+ for (const [key, value] of this._hotKeyMap) {
126
+ if (event.key.toUpperCase() === value) {
127
+ this.setState({ selectedIndex: key }, () => {
128
+ if (this.props.hotkeySelect && this._selectedElement) {
129
+ this._selectedElement.select();
130
+ }
131
+ });
132
+ event.stopPropagation();
133
+ return;
134
+ }
135
+ }
136
+ }
137
+ if (event.key === SpecialKey.ArrowLeft) {
138
+ event.stopPropagation();
139
+ if (this.props.parentMenu && this.props.parentSubmenu) {
140
+ this.props.parentSubmenu.close();
141
+ this.props.parentMenu.focus();
142
+ }
143
+ if (this.props.onEsc)
144
+ this.props.onEsc(event);
145
+ }
146
+ if (event.key === SpecialKey.Escape) {
147
+ // istanbul ignore else
148
+ if (this.props.onEsc)
149
+ this.props.onEsc(event);
150
+ }
151
+ if ((event.key === SpecialKey.Enter || event.key === SpecialKey.ArrowRight) && this._selectedElement) {
152
+ event.stopPropagation();
153
+ // istanbul ignore else
154
+ if (event.key === SpecialKey.Enter || /* istanbul ignore next */ this._selectedElement instanceof ContextSubMenu) {
155
+ // istanbul ignore else
156
+ if (this._selectedElement.select)
157
+ this._selectedElement.select();
158
+ }
159
+ }
160
+ let { selectedIndex } = this.state;
161
+ if (event.key === SpecialKey.ArrowUp || event.key === SpecialKey.ArrowDown) {
162
+ event.stopPropagation();
163
+ if (selectedIndex === -1) {
164
+ selectedIndex = 0;
165
+ }
166
+ else {
167
+ if (event.key === SpecialKey.ArrowUp) {
168
+ if (this.state.selectedIndex === 0)
169
+ selectedIndex = this._length - 1;
170
+ else
171
+ selectedIndex--;
172
+ }
173
+ if (event.key === SpecialKey.ArrowDown) {
174
+ if (this.state.selectedIndex === this._length - 1)
175
+ selectedIndex = 0;
176
+ else
177
+ selectedIndex++;
178
+ }
179
+ }
180
+ }
181
+ this.setState({ selectedIndex });
182
+ };
183
+ this.state = {
184
+ selectedIndex: this.props.selectedIndex,
185
+ direction: props.direction,
186
+ ignoreNextKeyUp: props.ignoreNextKeyUp,
187
+ };
188
+ }
189
+ render() {
190
+ const { opened, direction, onOutsideClick, onSelect, onEsc, autoflip, edgeLimit, hotkeySelect, // eslint-disable-line @typescript-eslint/no-unused-vars
191
+ selectedIndex, floating, parentMenu, parentSubmenu, children, className, ignoreNextKeyUp, // eslint-disable-line @typescript-eslint/no-unused-vars
192
+ ...props } = this.props;
193
+ const renderDirection = parentMenu === undefined ? this.state.direction : direction;
194
+ if (this._lastChildren !== children || this._lastDirection !== renderDirection || this._lastSelectedIndex !== this.state.selectedIndex) {
195
+ this._injectedChildren = this._injectMenuItemProps(children, renderDirection, this.state.selectedIndex);
196
+ this._lastChildren = children;
197
+ this._lastDirection = renderDirection;
198
+ this._lastSelectedIndex = this.state.selectedIndex;
199
+ }
200
+ const classNames = classnames("core-context-menu", className);
201
+ return (React.createElement("div", { role: "presentation", className: classNames, onKeyUp: this._handleKeyUp, onClick: this._handleClick, "data-testid": "core-context-menu-root", ...props, ref: this._rootRef },
202
+ React.createElement(DivWithOutsideClick, { onOutsideClick: this._handleOnOutsideClick },
203
+ React.createElement("div", { ref: this._menuRef, role: "menu", tabIndex: 0, "data-testid": "core-context-menu-container", className: classnames("core-context-menu-container", opened && "core-context-menu-opened", floating && "core-context-menu-floating", ContextMenu.getCSSClassNameFromDirection(renderDirection)) }, this._injectedChildren))));
204
+ }
205
+ getWindow() {
206
+ const el = this._rootElement ? this._rootElement : /* istanbul ignore next */ this._menuElement;
207
+ const parentDocument = el.ownerDocument;
208
+ // istanbul ignore next
209
+ return parentDocument.defaultView ?? window;
210
+ }
211
+ /** @internal */
212
+ componentDidMount() {
213
+ const parentWindow = this.getWindow();
214
+ parentWindow.addEventListener("focus", this._handleFocusChange);
215
+ parentWindow.addEventListener("mouseup", this._handleFocusChange);
216
+ this.checkRenderDirection();
217
+ if (this.props.opened)
218
+ this.focus();
219
+ }
220
+ /** @internal */
221
+ componentWillUnmount() {
222
+ const parentWindow = this.getWindow();
223
+ parentWindow.removeEventListener("focus", this._handleFocusChange);
224
+ parentWindow.removeEventListener("mouseup", this._handleFocusChange);
225
+ }
226
+ checkRenderDirection() {
227
+ const { direction, autoflip, parentMenu } = this.props;
228
+ const parentWindow = this.getWindow();
229
+ let renderDirection = parentMenu === undefined ? this.state.direction : direction;
230
+ if (parentWindow.innerHeight === this._parentWindowHeight && parentWindow.innerWidth === this._parentWindowWidth)
231
+ return;
232
+ this._parentWindowHeight = parentWindow.innerHeight;
233
+ this._parentWindowWidth = parentWindow.innerWidth;
234
+ // check if menu should flip
235
+ if (parentWindow && autoflip && parentMenu === undefined) {
236
+ const menuRect = this.getRect();
237
+ renderDirection = ContextMenu.autoFlip(renderDirection, menuRect, parentWindow.innerWidth, parentWindow.innerHeight);
238
+ // istanbul ignore next
239
+ if (renderDirection !== this.state.direction)
240
+ this.setState({ direction: renderDirection });
241
+ }
242
+ }
243
+ componentDidUpdate(prevProps) {
244
+ if (prevProps.selectedIndex !== this.props.selectedIndex) {
245
+ this.setState((_, props) => ({ selectedIndex: props.selectedIndex }));
246
+ }
247
+ if (!prevProps.opened && this.props.opened) {
248
+ this.setState((_, props) => ({ selectedIndex: props.selectedIndex }));
249
+ }
250
+ if (!this.props.parentMenu) {
251
+ // const direction = this.props.direction!;
252
+ // if ((!this.props.opened && prevProps.opened && direction !== this.state.direction) || prevProps.direction !== direction)
253
+ this.checkRenderDirection();
254
+ }
255
+ }
256
+ }
257
+ ContextMenu.defaultProps = {
258
+ direction: ContextMenuDirection.BottomRight,
259
+ autoflip: true,
260
+ edgeLimit: true,
261
+ hotkeySelect: true,
262
+ selectedIndex: -1,
263
+ floating: true,
264
+ };
265
+ /** @internal */
266
+ ContextMenu.autoFlip = (dir, rect, windowWidth, windowHeight) => {
267
+ if (rect.right > windowWidth) {
268
+ switch (dir) {
269
+ case ContextMenuDirection.TopRight:
270
+ dir = ContextMenuDirection.TopLeft;
271
+ break;
272
+ case ContextMenuDirection.Right:
273
+ dir = ContextMenuDirection.Left;
274
+ break;
275
+ case ContextMenuDirection.BottomRight:
276
+ dir = ContextMenuDirection.BottomLeft;
277
+ break;
278
+ }
279
+ }
280
+ if (rect.left < 0) {
281
+ switch (dir) {
282
+ case ContextMenuDirection.TopLeft:
283
+ dir = ContextMenuDirection.TopRight;
284
+ break;
285
+ case ContextMenuDirection.Left:
286
+ dir = ContextMenuDirection.Right;
287
+ break;
288
+ case ContextMenuDirection.BottomLeft:
289
+ dir = ContextMenuDirection.BottomRight;
290
+ break;
291
+ }
292
+ }
293
+ if (rect.bottom > windowHeight) {
294
+ switch (dir) {
295
+ case ContextMenuDirection.BottomLeft:
296
+ dir = ContextMenuDirection.TopLeft;
297
+ break;
298
+ case ContextMenuDirection.Bottom:
299
+ dir = ContextMenuDirection.Top;
300
+ break;
301
+ case ContextMenuDirection.BottomRight:
302
+ dir = ContextMenuDirection.TopRight;
303
+ break;
304
+ }
305
+ }
306
+ if (rect.top < 0) {
307
+ switch (dir) {
308
+ case ContextMenuDirection.TopLeft:
309
+ dir = ContextMenuDirection.BottomLeft;
310
+ break;
311
+ case ContextMenuDirection.Top:
312
+ dir = ContextMenuDirection.Bottom;
313
+ break;
314
+ case ContextMenuDirection.TopRight:
315
+ dir = ContextMenuDirection.BottomRight;
316
+ break;
317
+ }
318
+ }
319
+ return dir;
320
+ };
321
+ /** @internal */
322
+ ContextMenu.getCSSClassNameFromDirection = (direction) => {
323
+ let className = "";
324
+ // istanbul ignore next
325
+ if (direction === undefined)
326
+ direction = ContextMenuDirection.BottomRight;
327
+ if (direction === ContextMenuDirection.None)
328
+ return "";
329
+ switch (direction) {
330
+ case ContextMenuDirection.TopLeft:
331
+ className = "core-context-menu-top core-context-menu-left";
332
+ break;
333
+ case ContextMenuDirection.Top:
334
+ className = "core-context-menu-top";
335
+ break;
336
+ case ContextMenuDirection.TopRight:
337
+ className = "core-context-menu-top core-context-menu-right";
338
+ break;
339
+ case ContextMenuDirection.Left:
340
+ className = "core-context-menu-left";
341
+ break;
342
+ case ContextMenuDirection.Center:
343
+ className = "core-context-menu-center";
344
+ break;
345
+ case ContextMenuDirection.Right:
346
+ className = "core-context-menu-right";
347
+ break;
348
+ case ContextMenuDirection.BottomLeft:
349
+ className = "core-context-menu-bottom core-context-menu-left";
350
+ break;
351
+ case ContextMenuDirection.Bottom:
352
+ className = "core-context-menu-bottom";
353
+ break;
354
+ case ContextMenuDirection.BottomRight:
355
+ className = "core-context-menu-bottom core-context-menu-right";
356
+ break;
357
+ }
358
+ return className;
359
+ };
360
+ export { ContextMenu };
361
361
  //# sourceMappingURL=ContextMenu.js.map