@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,163 +1,163 @@
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 ContextMenu
8
- */
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.ContextSubMenu = void 0;
11
- const React = require("react");
12
- const classnames_1 = require("classnames");
13
- const appui_abstract_1 = require("@itwin/appui-abstract");
14
- const ContextMenu_1 = require("./ContextMenu");
15
- const ContextMenuDirection_1 = require("./ContextMenuDirection");
16
- const TildeFinder_1 = require("./TildeFinder");
17
- const BadgeUtilities_1 = require("../badge/BadgeUtilities");
18
- const IconComponent_1 = require("../icons/IconComponent");
19
- const itwinui_icons_react_1 = require("@itwin/itwinui-icons-react");
20
- /**
21
- * Submenu wrapper class for use within a [[ContextMenu]] component.
22
- * @public
23
- */
24
- class ContextSubMenu extends React.Component {
25
- constructor(props) {
26
- super(props);
27
- this._menuElement = null;
28
- this._subMenuElement = null;
29
- this._menuButtonElement = null;
30
- this._updateHotkey = (node) => {
31
- let hotKey;
32
- const isDisabled = appui_abstract_1.ConditionalBooleanValue.getValue(this.props.disabled);
33
- const isHidden = appui_abstract_1.ConditionalBooleanValue.getValue(this.props.hidden);
34
- if (!isDisabled && !isHidden)
35
- hotKey = TildeFinder_1.TildeFinder.findAfterTilde(node).character;
36
- else
37
- hotKey = undefined;
38
- if (hotKey && hotKey !== this.state.hotKey) {
39
- this.setState({ hotKey });
40
- if (this.props.onHotKeyParsed)
41
- this.props.onHotKeyParsed(hotKey);
42
- }
43
- };
44
- this.select = () => {
45
- this.setState({ opened: true }, () => {
46
- // istanbul ignore else
47
- if (this._menuElement)
48
- this._menuElement.focus();
49
- if (this.props.onSelect !== undefined)
50
- this.props.onSelect(undefined);
51
- });
52
- };
53
- this.close = (propagate) => {
54
- this.setState({ opened: false }, () => {
55
- // istanbul ignore else
56
- if (this._menuElement)
57
- this._menuElement.blur();
58
- });
59
- // istanbul ignore next
60
- if (propagate && this.props.parentMenu && this.props.parentMenu.props.parentSubmenu) {
61
- this.props.parentMenu.props.parentSubmenu.close(true);
62
- }
63
- };
64
- this._handleMouseOver = (_event) => {
65
- // istanbul ignore else
66
- if (this._menuButtonElement && this._menuButtonElement.style.visibility !== "hidden" && this.props.onHover) {
67
- this.props.onHover();
68
- }
69
- };
70
- this._handleClick = (event) => {
71
- event.stopPropagation();
72
- const isDisabled = appui_abstract_1.ConditionalBooleanValue.getValue(this.props.disabled);
73
- // istanbul ignore else
74
- if (!isDisabled) {
75
- // istanbul ignore else
76
- if (this.props.onClick !== undefined)
77
- this.props.onClick(event);
78
- // istanbul ignore next
79
- if (this.props.opened)
80
- this.close();
81
- else
82
- this.select();
83
- }
84
- };
85
- this._handleClickGlobal = (event) => {
86
- if (this._subMenuElement && !this._subMenuElement.contains(event.target))
87
- this.setState((_prevState) => ({ opened: false }));
88
- };
89
- this.state = {
90
- opened: false,
91
- direction: props.direction,
92
- };
93
- }
94
- render() {
95
- const { label, opened, direction, onOutsideClick, onEsc, autoflip, edgeLimit, selectedIndex, floating, parentMenu, parentSubmenu, // eslint-disable-line @typescript-eslint/no-unused-vars
96
- onSelect, icon, disabled, hidden, onHover, isSelected, onHotKeyParsed, // eslint-disable-line @typescript-eslint/no-unused-vars
97
- children, onClick, className, badgeType, ...props } = this.props; // eslint-disable-line @typescript-eslint/no-unused-vars
98
- const contextMenuProps = { onOutsideClick, onSelect, onEsc, autoflip, edgeLimit, selectedIndex, floating, parentMenu };
99
- const badge = BadgeUtilities_1.BadgeUtilities.getComponentForBadgeType(badgeType);
100
- const renderDirection = this.state.direction;
101
- const isDisabled = appui_abstract_1.ConditionalBooleanValue.getValue(disabled);
102
- const isHidden = appui_abstract_1.ConditionalBooleanValue.getValue(hidden);
103
- if (this._lastLabel !== label) {
104
- this._parsedLabel = TildeFinder_1.TildeFinder.findAfterTilde(label).node;
105
- this._lastLabel = label;
106
- }
107
- return (
108
- // eslint-disable-next-line jsx-a11y/mouse-events-have-key-events
109
- React.createElement("div", { className: (0, classnames_1.default)("core-context-submenu", ContextMenu_1.ContextMenu.getCSSClassNameFromDirection(renderDirection), className), onMouseOver: this._handleMouseOver, ref: (el) => { this._subMenuElement = el; }, "data-testid": "core-context-submenu", ...props },
110
- React.createElement("div", { onClick: this._handleClick, ref: (el) => { this._menuButtonElement = el; }, className: (0, classnames_1.default)("core-context-menu-item", "core-context-submenu-container", isDisabled && "core-context-menu-disabled", isHidden && "core-context-menu-hidden", isSelected && "core-context-menu-is-selected"), "data-testid": "core-context-submenu-container", role: "menuitem", tabIndex: isSelected ? 0 : -1, "aria-disabled": isDisabled, "aria-hidden": isHidden, "aria-haspopup": true },
111
- React.createElement("div", { className: (0, classnames_1.default)("core-context-menu-icon", "icon", icon) }),
112
- React.createElement("div", { className: "core-context-menu-content" }, this._parsedLabel),
113
- React.createElement("div", { className: (0, classnames_1.default)("core-context-submenu-arrow", "icon") },
114
- React.createElement(IconComponent_1.Icon, { iconSpec: React.createElement(itwinui_icons_react_1.SvgCaretRight, null) })),
115
- badge &&
116
- React.createElement("div", { className: "core-context-menu-badge" }, badge)),
117
- React.createElement(ContextMenu_1.ContextMenu, { ref: (el) => { this._menuElement = el; }, className: "core-context-submenu-popup", opened: this.state.opened, direction: renderDirection, parentSubmenu: this, ...contextMenuProps }, children)));
118
- }
119
- componentDidMount() {
120
- document.addEventListener("click", this._handleClickGlobal);
121
- this._updateHotkey(this.props.label);
122
- this.checkRenderDirection();
123
- }
124
- componentWillUnmount() {
125
- document.removeEventListener("click", this._handleClickGlobal);
126
- }
127
- componentDidUpdate(prevProps, prevState) {
128
- const direction = this.props.direction;
129
- if ((this.state.opened !== prevState.opened && direction !== this.state.direction) || prevProps.direction !== direction)
130
- this.checkRenderDirection();
131
- if (this.props.label !== prevProps.label) {
132
- this._updateHotkey(this.props.label);
133
- }
134
- }
135
- getWindow() {
136
- const el = this._subMenuElement;
137
- const parentDocument = el.ownerDocument;
138
- return parentDocument.defaultView;
139
- }
140
- checkRenderDirection() {
141
- const { autoflip } = this.props;
142
- const parentWindow = this.getWindow();
143
- let renderDirection = this.state.direction;
144
- // istanbul ignore else
145
- if (parentWindow && autoflip && this._menuElement) {
146
- const menuRect = this._menuElement.getRect();
147
- renderDirection = ContextMenu_1.ContextMenu.autoFlip(renderDirection, menuRect, parentWindow.innerWidth, parentWindow.innerHeight);
148
- // istanbul ignore next
149
- if (renderDirection !== this.state.direction)
150
- this.setState({ direction: renderDirection });
151
- }
152
- }
153
- }
154
- exports.ContextSubMenu = ContextSubMenu;
155
- ContextSubMenu.defaultProps = {
156
- direction: ContextMenuDirection_1.ContextMenuDirection.BottomRight,
157
- disabled: false,
158
- hidden: false,
159
- autoflip: true,
160
- isSelected: false,
161
- selectedIndex: 0,
162
- };
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 ContextMenu
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.ContextSubMenu = void 0;
11
+ const React = require("react");
12
+ const classnames_1 = require("classnames");
13
+ const appui_abstract_1 = require("@itwin/appui-abstract");
14
+ const ContextMenu_1 = require("./ContextMenu");
15
+ const ContextMenuDirection_1 = require("./ContextMenuDirection");
16
+ const TildeFinder_1 = require("./TildeFinder");
17
+ const BadgeUtilities_1 = require("../badge/BadgeUtilities");
18
+ const IconComponent_1 = require("../icons/IconComponent");
19
+ const itwinui_icons_react_1 = require("@itwin/itwinui-icons-react");
20
+ /**
21
+ * Submenu wrapper class for use within a [[ContextMenu]] component.
22
+ * @public
23
+ */
24
+ class ContextSubMenu extends React.Component {
25
+ constructor(props) {
26
+ super(props);
27
+ this._menuElement = null;
28
+ this._subMenuElement = null;
29
+ this._menuButtonElement = null;
30
+ this._updateHotkey = (node) => {
31
+ let hotKey;
32
+ const isDisabled = appui_abstract_1.ConditionalBooleanValue.getValue(this.props.disabled);
33
+ const isHidden = appui_abstract_1.ConditionalBooleanValue.getValue(this.props.hidden);
34
+ if (!isDisabled && !isHidden)
35
+ hotKey = TildeFinder_1.TildeFinder.findAfterTilde(node).character;
36
+ else
37
+ hotKey = undefined;
38
+ if (hotKey && hotKey !== this.state.hotKey) {
39
+ this.setState({ hotKey });
40
+ if (this.props.onHotKeyParsed)
41
+ this.props.onHotKeyParsed(hotKey);
42
+ }
43
+ };
44
+ this.select = () => {
45
+ this.setState({ opened: true }, () => {
46
+ // istanbul ignore else
47
+ if (this._menuElement)
48
+ this._menuElement.focus();
49
+ if (this.props.onSelect !== undefined)
50
+ this.props.onSelect(undefined);
51
+ });
52
+ };
53
+ this.close = (propagate) => {
54
+ this.setState({ opened: false }, () => {
55
+ // istanbul ignore else
56
+ if (this._menuElement)
57
+ this._menuElement.blur();
58
+ });
59
+ // istanbul ignore next
60
+ if (propagate && this.props.parentMenu && this.props.parentMenu.props.parentSubmenu) {
61
+ this.props.parentMenu.props.parentSubmenu.close(true);
62
+ }
63
+ };
64
+ this._handleMouseOver = (_event) => {
65
+ // istanbul ignore else
66
+ if (this._menuButtonElement && this._menuButtonElement.style.visibility !== "hidden" && this.props.onHover) {
67
+ this.props.onHover();
68
+ }
69
+ };
70
+ this._handleClick = (event) => {
71
+ event.stopPropagation();
72
+ const isDisabled = appui_abstract_1.ConditionalBooleanValue.getValue(this.props.disabled);
73
+ // istanbul ignore else
74
+ if (!isDisabled) {
75
+ // istanbul ignore else
76
+ if (this.props.onClick !== undefined)
77
+ this.props.onClick(event);
78
+ // istanbul ignore next
79
+ if (this.props.opened)
80
+ this.close();
81
+ else
82
+ this.select();
83
+ }
84
+ };
85
+ this._handleClickGlobal = (event) => {
86
+ if (this._subMenuElement && !this._subMenuElement.contains(event.target))
87
+ this.setState((_prevState) => ({ opened: false }));
88
+ };
89
+ this.state = {
90
+ opened: false,
91
+ direction: props.direction,
92
+ };
93
+ }
94
+ render() {
95
+ const { label, opened, direction, onOutsideClick, onEsc, autoflip, edgeLimit, selectedIndex, floating, parentMenu, parentSubmenu, // eslint-disable-line @typescript-eslint/no-unused-vars
96
+ onSelect, icon, disabled, hidden, onHover, isSelected, onHotKeyParsed, // eslint-disable-line @typescript-eslint/no-unused-vars
97
+ children, onClick, className, badgeType, ...props } = this.props; // eslint-disable-line @typescript-eslint/no-unused-vars
98
+ const contextMenuProps = { onOutsideClick, onSelect, onEsc, autoflip, edgeLimit, selectedIndex, floating, parentMenu };
99
+ const badge = BadgeUtilities_1.BadgeUtilities.getComponentForBadgeType(badgeType);
100
+ const renderDirection = this.state.direction;
101
+ const isDisabled = appui_abstract_1.ConditionalBooleanValue.getValue(disabled);
102
+ const isHidden = appui_abstract_1.ConditionalBooleanValue.getValue(hidden);
103
+ if (this._lastLabel !== label) {
104
+ this._parsedLabel = TildeFinder_1.TildeFinder.findAfterTilde(label).node;
105
+ this._lastLabel = label;
106
+ }
107
+ return (
108
+ // eslint-disable-next-line jsx-a11y/mouse-events-have-key-events
109
+ React.createElement("div", { className: (0, classnames_1.default)("core-context-submenu", ContextMenu_1.ContextMenu.getCSSClassNameFromDirection(renderDirection), className), onMouseOver: this._handleMouseOver, ref: (el) => { this._subMenuElement = el; }, "data-testid": "core-context-submenu", ...props },
110
+ React.createElement("div", { onClick: this._handleClick, ref: (el) => { this._menuButtonElement = el; }, className: (0, classnames_1.default)("core-context-menu-item", "core-context-submenu-container", isDisabled && "core-context-menu-disabled", isHidden && "core-context-menu-hidden", isSelected && "core-context-menu-is-selected"), "data-testid": "core-context-submenu-container", role: "menuitem", tabIndex: isSelected ? 0 : -1, "aria-disabled": isDisabled, "aria-hidden": isHidden, "aria-haspopup": true },
111
+ React.createElement("div", { className: (0, classnames_1.default)("core-context-menu-icon", "icon", icon) }),
112
+ React.createElement("div", { className: "core-context-menu-content" }, this._parsedLabel),
113
+ React.createElement("div", { className: (0, classnames_1.default)("core-context-submenu-arrow", "icon") },
114
+ React.createElement(IconComponent_1.Icon, { iconSpec: React.createElement(itwinui_icons_react_1.SvgCaretRight, null) })),
115
+ badge &&
116
+ React.createElement("div", { className: "core-context-menu-badge" }, badge)),
117
+ React.createElement(ContextMenu_1.ContextMenu, { ref: (el) => { this._menuElement = el; }, className: "core-context-submenu-popup", opened: this.state.opened, direction: renderDirection, parentSubmenu: this, ...contextMenuProps }, children)));
118
+ }
119
+ componentDidMount() {
120
+ document.addEventListener("click", this._handleClickGlobal);
121
+ this._updateHotkey(this.props.label);
122
+ this.checkRenderDirection();
123
+ }
124
+ componentWillUnmount() {
125
+ document.removeEventListener("click", this._handleClickGlobal);
126
+ }
127
+ componentDidUpdate(prevProps, prevState) {
128
+ const direction = this.props.direction;
129
+ if ((this.state.opened !== prevState.opened && direction !== this.state.direction) || prevProps.direction !== direction)
130
+ this.checkRenderDirection();
131
+ if (this.props.label !== prevProps.label) {
132
+ this._updateHotkey(this.props.label);
133
+ }
134
+ }
135
+ getWindow() {
136
+ const el = this._subMenuElement;
137
+ const parentDocument = el.ownerDocument;
138
+ return parentDocument.defaultView;
139
+ }
140
+ checkRenderDirection() {
141
+ const { autoflip } = this.props;
142
+ const parentWindow = this.getWindow();
143
+ let renderDirection = this.state.direction;
144
+ // istanbul ignore else
145
+ if (parentWindow && autoflip && this._menuElement) {
146
+ const menuRect = this._menuElement.getRect();
147
+ renderDirection = ContextMenu_1.ContextMenu.autoFlip(renderDirection, menuRect, parentWindow.innerWidth, parentWindow.innerHeight);
148
+ // istanbul ignore next
149
+ if (renderDirection !== this.state.direction)
150
+ this.setState({ direction: renderDirection });
151
+ }
152
+ }
153
+ }
154
+ ContextSubMenu.defaultProps = {
155
+ direction: ContextMenuDirection_1.ContextMenuDirection.BottomRight,
156
+ disabled: false,
157
+ hidden: false,
158
+ autoflip: true,
159
+ isSelected: false,
160
+ selectedIndex: 0,
161
+ };
162
+ exports.ContextSubMenu = ContextSubMenu;
163
163
  //# sourceMappingURL=ContextSubMenu.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ContextSubMenu.js","sourceRoot":"","sources":["../../../../src/core-react/contextmenu/ContextSubMenu.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,+BAA+B;AAC/B,2CAAoC;AACpC,0DAAgE;AAEhE,+CAA8D;AAE9D,iEAA8D;AAC9D,+CAA4C;AAC5C,4DAAyD;AACzD,0DAA8C;AAC9C,oEAA2D;AAmB3D;;;GAGG;AACH,MAAa,cAAe,SAAQ,KAAK,CAAC,SAAmD;IAmB3F,YAAY,KAA0B;QACpC,KAAK,CAAC,KAAK,CAAC,CAAC;QAnBP,iBAAY,GAAuB,IAAI,CAAC;QACxC,oBAAe,GAAuB,IAAI,CAAC;QAC3C,uBAAkB,GAAuB,IAAI,CAAC;QA6H9C,kBAAa,GAAG,CAAC,IAAqB,EAAE,EAAE;YAChD,IAAI,MAA0B,CAAC;YAC/B,MAAM,UAAU,GAAG,wCAAuB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACzE,MAAM,QAAQ,GAAG,wCAAuB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACrE,IAAI,CAAC,UAAU,IAAI,CAAC,QAAQ;gBAC1B,MAAM,GAAG,yBAAW,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC;;gBAEpD,MAAM,GAAG,SAAS,CAAC;YACrB,IAAI,MAAM,IAAI,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;gBAC1C,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;gBAC1B,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc;oBAC3B,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;aACrC;QACH,CAAC,CAAC;QAEK,WAAM,GAAG,GAAG,EAAE;YACnB,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE;gBACnC,uBAAuB;gBACvB,IAAI,IAAI,CAAC,YAAY;oBACnB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;gBAC5B,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS;oBACnC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEK,UAAK,GAAG,CAAC,SAAmB,EAAE,EAAE;YACrC,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE;gBACpC,uBAAuB;gBACvB,IAAI,IAAI,CAAC,YAAY;oBACnB,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YAC7B,CAAC,CAAC,CAAC;YACH,uBAAuB;YACvB,IAAI,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,aAAa,EAAE;gBACnF,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aACvD;QACH,CAAC,CAAC;QAEM,qBAAgB,GAAG,CAAC,MAAwC,EAAE,EAAE;YACtE,uBAAuB;YACvB,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,UAAU,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;gBAC1G,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;aACtB;QACH,CAAC,CAAC;QAEM,iBAAY,GAAG,CAAC,KAAU,EAAE,EAAE;YACpC,KAAK,CAAC,eAAe,EAAE,CAAC;YAExB,MAAM,UAAU,GAAG,wCAAuB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAEzE,uBAAuB;YACvB,IAAI,CAAC,UAAU,EAAE;gBACf,uBAAuB;gBACvB,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS;oBAClC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC5B,uBAAuB;gBACvB,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM;oBACnB,IAAI,CAAC,KAAK,EAAE,CAAC;;oBAEb,IAAI,CAAC,MAAM,EAAE,CAAC;aACjB;QACH,CAAC,CAAC;QAEM,uBAAkB,GAAG,CAAC,KAAU,EAAE,EAAE;YAC1C,IAAI,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;gBACtE,IAAI,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QACvD,CAAC,CAAC;QA5KA,IAAI,CAAC,KAAK,GAAG;YACX,MAAM,EAAE,KAAK;YACb,SAAS,EAAE,KAAK,CAAC,SAAU;SAC5B,CAAC;IACJ,CAAC;IAEe,MAAM;QACpB,MAAM,EACJ,KAAK,EACL,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,wDAAwD;QAC3K,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,wDAAwD;QAC/H,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,wDAAwD;QAC5H,MAAM,gBAAgB,GAAG,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;QACvH,MAAM,KAAK,GAAG,+BAAc,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;QACjE,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QAC7C,MAAM,UAAU,GAAG,wCAAuB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC9D,MAAM,QAAQ,GAAG,wCAAuB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAE1D,IAAI,IAAI,CAAC,UAAU,KAAK,KAAK,EAAE;YAC7B,IAAI,CAAC,YAAY,GAAG,yBAAW,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;YAC3D,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;SACzB;QACD,OAAO;QACL,iEAAiE;QACjE,6BAAK,SAAS,EAAE,IAAA,oBAAU,EAAC,sBAAsB,EAAE,yBAAW,CAAC,4BAA4B,CAAC,eAAe,CAAC,EAAE,SAAS,CAAC,EACtH,WAAW,EAAE,IAAI,CAAC,gBAAgB,EAClC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC,CAAC,CAAC,iBAC/B,sBAAsB,KAC9B,KAAK;YAET,6BACE,OAAO,EAAE,IAAI,CAAC,YAAY,EAC1B,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC,CAAC,CAAC,EAC9C,SAAS,EAAE,IAAA,oBAAU,EAAC,wBAAwB,EAC5C,gCAAgC,EAChC,UAAU,IAAI,4BAA4B,EAC1C,QAAQ,IAAI,0BAA0B,EACtC,UAAU,IAAI,+BAA+B,CAAC,iBACpC,gCAAgC,EAC5C,IAAI,EAAC,UAAU,EACf,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,mBACd,UAAU,iBACZ,QAAQ,mBACN,IAAI;gBAEnB,6BAAK,SAAS,EAAE,IAAA,oBAAU,EAAC,wBAAwB,EAAE,MAAM,EAAE,IAAI,CAAC,GAAI;gBACtE,6BAAK,SAAS,EAAE,2BAA2B,IAAG,IAAI,CAAC,YAAY,CAAO;gBACtE,6BAAK,SAAS,EAAE,IAAA,oBAAU,EAAC,4BAA4B,EAAE,MAAM,CAAC;oBAAE,oBAAC,oBAAI,IAAC,QAAQ,EAAE,oBAAC,mCAAa,OAAG,GAAI,CAAM;gBAC5G,KAAK;oBACJ,6BAAK,SAAS,EAAC,yBAAyB,IACrC,KAAK,CACF,CAEJ;YACN,oBAAC,yBAAW,IACV,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC,CAAC,CAAC,EACxC,SAAS,EAAC,4BAA4B,EACtC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EACzB,SAAS,EAAE,eAAe,EAC1B,aAAa,EAAE,IAAI,KACf,gBAAgB,IACnB,QAAQ,CACG,CACV,CACP,CAAC;IACJ,CAAC;IAEe,iBAAiB;QAC/B,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC5D,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAErC,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAEe,oBAAoB;QAClC,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACjE,CAAC;IAEe,kBAAkB,CAAC,SAA8B,EAAE,SAA8B;QAC/F,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAU,CAAC;QACxC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM,IAAI,SAAS,KAAK,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,SAAS,KAAK,SAAS;YACrH,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,KAAK,EAAE;YACxC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SACtC;IACH,CAAC;IAEO,SAAS;QACf,MAAM,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC;QAChC,MAAM,cAAc,GAAG,EAAG,CAAC,aAAa,CAAC;QACzC,OAAO,cAAc,CAAC,WAAW,CAAC;IACpC,CAAC;IAEO,oBAAoB;QAC1B,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAChC,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QACtC,IAAI,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QAC3C,uBAAuB;QACvB,IAAI,YAAY,IAAI,QAAQ,IAAI,IAAI,CAAC,YAAY,EAAE;YACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;YAC7C,eAAe,GAAG,yBAAW,CAAC,QAAQ,CAAC,eAAe,EAAE,QAAQ,EAAE,YAAY,CAAC,UAAU,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;YACrH,uBAAuB;YACvB,IAAI,eAAe,KAAK,IAAI,CAAC,KAAK,CAAC,SAAS;gBAC1C,IAAI,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,CAAC;SACjD;IACH,CAAC;;AA9HH,wCAkMC;AA1Le,2BAAY,GAAiC;IACzD,SAAS,EAAE,2CAAoB,CAAC,WAAW;IAC3C,QAAQ,EAAE,KAAK;IACf,MAAM,EAAE,KAAK;IACb,QAAQ,EAAE,IAAI;IACd,UAAU,EAAE,KAAK;IACjB,aAAa,EAAE,CAAC;CACjB,CAAC","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 ContextMenu\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport classnames from \"classnames\";\r\nimport { ConditionalBooleanValue } from \"@itwin/appui-abstract\";\r\nimport { ContextMenuItemProps } from \"./ContextMenuItem\";\r\nimport { ContextMenu, ContextMenuProps } from \"./ContextMenu\";\r\nimport { CommonProps } from \"../utils/Props\";\r\nimport { ContextMenuDirection } from \"./ContextMenuDirection\";\r\nimport { TildeFinder } from \"./TildeFinder\";\r\nimport { BadgeUtilities } from \"../badge/BadgeUtilities\";\r\nimport { Icon } from \"../icons/IconComponent\";\r\nimport { SvgCaretRight } from \"@itwin/itwinui-icons-react\";\r\n\r\n/** Properties for the [[ContextSubMenu]] component\r\n * @public\r\n */\r\nexport interface ContextSubMenuProps extends Omit<ContextMenuItemProps, \"label\">, Omit<ContextMenuProps, \"label\">, CommonProps {\r\n /** Text/jsx to display in the list item */\r\n label: string | JSX.Element;\r\n /** @internal */\r\n onHotKeyParsed?: (hotKey: string) => void;\r\n}\r\n\r\n/** @internal */\r\ninterface ContextSubMenuState {\r\n opened: boolean;\r\n direction: ContextMenuDirection;\r\n hotKey?: string;\r\n}\r\n\r\n/**\r\n * Submenu wrapper class for use within a [[ContextMenu]] component.\r\n * @public\r\n */\r\nexport class ContextSubMenu extends React.Component<ContextSubMenuProps, ContextSubMenuState> {\r\n private _menuElement: ContextMenu | null = null;\r\n private _subMenuElement: HTMLElement | null = null;\r\n private _menuButtonElement: HTMLElement | null = null;\r\n\r\n private _lastLabel: React.ReactNode;\r\n private _parsedLabel: React.ReactNode;\r\n\r\n public static defaultProps: Partial<ContextSubMenuProps> = {\r\n direction: ContextMenuDirection.BottomRight,\r\n disabled: false,\r\n hidden: false,\r\n autoflip: true,\r\n isSelected: false,\r\n selectedIndex: 0,\r\n };\r\n\r\n /** @internal */\r\n public override readonly state: Readonly<ContextSubMenuState>;\r\n constructor(props: ContextSubMenuProps) {\r\n super(props);\r\n this.state = {\r\n opened: false,\r\n direction: props.direction!,\r\n };\r\n }\r\n\r\n public override render(): JSX.Element {\r\n const {\r\n label,\r\n opened, direction, onOutsideClick, onEsc, autoflip, edgeLimit, selectedIndex, floating, parentMenu, parentSubmenu, // eslint-disable-line @typescript-eslint/no-unused-vars\r\n onSelect, icon, disabled, hidden, onHover, isSelected, onHotKeyParsed, // eslint-disable-line @typescript-eslint/no-unused-vars\r\n children, onClick, className, badgeType, ...props } = this.props; // eslint-disable-line @typescript-eslint/no-unused-vars\r\n const contextMenuProps = { onOutsideClick, onSelect, onEsc, autoflip, edgeLimit, selectedIndex, floating, parentMenu };\r\n const badge = BadgeUtilities.getComponentForBadgeType(badgeType);\r\n const renderDirection = this.state.direction;\r\n const isDisabled = ConditionalBooleanValue.getValue(disabled);\r\n const isHidden = ConditionalBooleanValue.getValue(hidden);\r\n\r\n if (this._lastLabel !== label) {\r\n this._parsedLabel = TildeFinder.findAfterTilde(label).node;\r\n this._lastLabel = label;\r\n }\r\n return (\r\n // eslint-disable-next-line jsx-a11y/mouse-events-have-key-events\r\n <div className={classnames(\"core-context-submenu\", ContextMenu.getCSSClassNameFromDirection(renderDirection), className)}\r\n onMouseOver={this._handleMouseOver}\r\n ref={(el) => { this._subMenuElement = el; }}\r\n data-testid=\"core-context-submenu\"\r\n {...props} >\r\n {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events */}\r\n <div\r\n onClick={this._handleClick}\r\n ref={(el) => { this._menuButtonElement = el; }}\r\n className={classnames(\"core-context-menu-item\",\r\n \"core-context-submenu-container\",\r\n isDisabled && \"core-context-menu-disabled\",\r\n isHidden && \"core-context-menu-hidden\",\r\n isSelected && \"core-context-menu-is-selected\")}\r\n data-testid=\"core-context-submenu-container\"\r\n role=\"menuitem\"\r\n tabIndex={isSelected ? 0 : -1}\r\n aria-disabled={isDisabled}\r\n aria-hidden={isHidden}\r\n aria-haspopup={true}\r\n >\r\n <div className={classnames(\"core-context-menu-icon\", \"icon\", icon)} />\r\n <div className={\"core-context-menu-content\"}>{this._parsedLabel}</div>\r\n <div className={classnames(\"core-context-submenu-arrow\", \"icon\")}><Icon iconSpec={<SvgCaretRight />} /></div>\r\n {badge &&\r\n <div className=\"core-context-menu-badge\">\r\n {badge}\r\n </div>\r\n }\r\n </div>\r\n <ContextMenu\r\n ref={(el) => { this._menuElement = el; }}\r\n className=\"core-context-submenu-popup\"\r\n opened={this.state.opened}\r\n direction={renderDirection}\r\n parentSubmenu={this}\r\n {...contextMenuProps} >\r\n {children}\r\n </ContextMenu>\r\n </div>\r\n );\r\n }\r\n\r\n public override componentDidMount() {\r\n document.addEventListener(\"click\", this._handleClickGlobal);\r\n this._updateHotkey(this.props.label);\r\n\r\n this.checkRenderDirection();\r\n }\r\n\r\n public override componentWillUnmount() {\r\n document.removeEventListener(\"click\", this._handleClickGlobal);\r\n }\r\n\r\n public override componentDidUpdate(prevProps: ContextSubMenuProps, prevState: ContextSubMenuState) {\r\n const direction = this.props.direction!;\r\n if ((this.state.opened !== prevState.opened && direction !== this.state.direction) || prevProps.direction !== direction)\r\n this.checkRenderDirection();\r\n if (this.props.label !== prevProps.label) {\r\n this._updateHotkey(this.props.label);\r\n }\r\n }\r\n\r\n private getWindow() {\r\n const el = this._subMenuElement;\r\n const parentDocument = el!.ownerDocument;\r\n return parentDocument.defaultView;\r\n }\r\n\r\n private checkRenderDirection() {\r\n const { autoflip } = this.props;\r\n const parentWindow = this.getWindow();\r\n let renderDirection = this.state.direction;\r\n // istanbul ignore else\r\n if (parentWindow && autoflip && this._menuElement) {\r\n const menuRect = this._menuElement.getRect();\r\n renderDirection = ContextMenu.autoFlip(renderDirection, menuRect, parentWindow.innerWidth, parentWindow.innerHeight);\r\n // istanbul ignore next\r\n if (renderDirection !== this.state.direction)\r\n this.setState({ direction: renderDirection });\r\n }\r\n }\r\n\r\n private _updateHotkey = (node: React.ReactNode) => {\r\n let hotKey: string | undefined;\r\n const isDisabled = ConditionalBooleanValue.getValue(this.props.disabled);\r\n const isHidden = ConditionalBooleanValue.getValue(this.props.hidden);\r\n if (!isDisabled && !isHidden)\r\n hotKey = TildeFinder.findAfterTilde(node).character;\r\n else\r\n hotKey = undefined;\r\n if (hotKey && hotKey !== this.state.hotKey) {\r\n this.setState({ hotKey });\r\n if (this.props.onHotKeyParsed)\r\n this.props.onHotKeyParsed(hotKey);\r\n }\r\n };\r\n\r\n public select = () => {\r\n this.setState({ opened: true }, () => {\r\n // istanbul ignore else\r\n if (this._menuElement)\r\n this._menuElement.focus();\r\n if (this.props.onSelect !== undefined)\r\n this.props.onSelect(undefined);\r\n });\r\n };\r\n\r\n public close = (propagate?: boolean) => {\r\n this.setState({ opened: false }, () => {\r\n // istanbul ignore else\r\n if (this._menuElement)\r\n this._menuElement.blur();\r\n });\r\n // istanbul ignore next\r\n if (propagate && this.props.parentMenu && this.props.parentMenu.props.parentSubmenu) {\r\n this.props.parentMenu.props.parentSubmenu.close(true);\r\n }\r\n };\r\n\r\n private _handleMouseOver = (_event: React.MouseEvent<HTMLDivElement>) => {\r\n // istanbul ignore else\r\n if (this._menuButtonElement && this._menuButtonElement.style.visibility !== \"hidden\" && this.props.onHover) {\r\n this.props.onHover();\r\n }\r\n };\r\n\r\n private _handleClick = (event: any) => {\r\n event.stopPropagation();\r\n\r\n const isDisabled = ConditionalBooleanValue.getValue(this.props.disabled);\r\n\r\n // istanbul ignore else\r\n if (!isDisabled) {\r\n // istanbul ignore else\r\n if (this.props.onClick !== undefined)\r\n this.props.onClick(event);\r\n // istanbul ignore next\r\n if (this.props.opened)\r\n this.close();\r\n else\r\n this.select();\r\n }\r\n };\r\n\r\n private _handleClickGlobal = (event: any) => {\r\n if (this._subMenuElement && !this._subMenuElement.contains(event.target))\r\n this.setState((_prevState) => ({ opened: false }));\r\n };\r\n}\r\n"]}
1
+ {"version":3,"file":"ContextSubMenu.js","sourceRoot":"","sources":["../../../../src/core-react/contextmenu/ContextSubMenu.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 ContextMenu\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport classnames from \"classnames\";\r\nimport { ConditionalBooleanValue } from \"@itwin/appui-abstract\";\r\nimport { ContextMenuItemProps } from \"./ContextMenuItem\";\r\nimport { ContextMenu, ContextMenuProps } from \"./ContextMenu\";\r\nimport { CommonProps } from \"../utils/Props\";\r\nimport { ContextMenuDirection } from \"./ContextMenuDirection\";\r\nimport { TildeFinder } from \"./TildeFinder\";\r\nimport { BadgeUtilities } from \"../badge/BadgeUtilities\";\r\nimport { Icon } from \"../icons/IconComponent\";\r\nimport { SvgCaretRight } from \"@itwin/itwinui-icons-react\";\r\n\r\n/** Properties for the [[ContextSubMenu]] component\r\n * @public\r\n */\r\nexport interface ContextSubMenuProps extends Omit<ContextMenuItemProps, \"label\">, Omit<ContextMenuProps, \"label\">, CommonProps {\r\n /** Text/jsx to display in the list item */\r\n label: string | JSX.Element;\r\n /** @internal */\r\n onHotKeyParsed?: (hotKey: string) => void;\r\n}\r\n\r\n/** @internal */\r\ninterface ContextSubMenuState {\r\n opened: boolean;\r\n direction: ContextMenuDirection;\r\n hotKey?: string;\r\n}\r\n\r\n/**\r\n * Submenu wrapper class for use within a [[ContextMenu]] component.\r\n * @public\r\n */\r\nexport class ContextSubMenu extends React.Component<ContextSubMenuProps, ContextSubMenuState> {\r\n private _menuElement: ContextMenu | null = null;\r\n private _subMenuElement: HTMLElement | null = null;\r\n private _menuButtonElement: HTMLElement | null = null;\r\n\r\n private _lastLabel: React.ReactNode;\r\n private _parsedLabel: React.ReactNode;\r\n\r\n public static defaultProps: Partial<ContextSubMenuProps> = {\r\n direction: ContextMenuDirection.BottomRight,\r\n disabled: false,\r\n hidden: false,\r\n autoflip: true,\r\n isSelected: false,\r\n selectedIndex: 0,\r\n };\r\n\r\n /** @internal */\r\n public override readonly state: Readonly<ContextSubMenuState>;\r\n constructor(props: ContextSubMenuProps) {\r\n super(props);\r\n this.state = {\r\n opened: false,\r\n direction: props.direction!,\r\n };\r\n }\r\n\r\n public override render(): JSX.Element {\r\n const {\r\n label,\r\n opened, direction, onOutsideClick, onEsc, autoflip, edgeLimit, selectedIndex, floating, parentMenu, parentSubmenu, // eslint-disable-line @typescript-eslint/no-unused-vars\r\n onSelect, icon, disabled, hidden, onHover, isSelected, onHotKeyParsed, // eslint-disable-line @typescript-eslint/no-unused-vars\r\n children, onClick, className, badgeType, ...props } = this.props; // eslint-disable-line @typescript-eslint/no-unused-vars\r\n const contextMenuProps = { onOutsideClick, onSelect, onEsc, autoflip, edgeLimit, selectedIndex, floating, parentMenu };\r\n const badge = BadgeUtilities.getComponentForBadgeType(badgeType);\r\n const renderDirection = this.state.direction;\r\n const isDisabled = ConditionalBooleanValue.getValue(disabled);\r\n const isHidden = ConditionalBooleanValue.getValue(hidden);\r\n\r\n if (this._lastLabel !== label) {\r\n this._parsedLabel = TildeFinder.findAfterTilde(label).node;\r\n this._lastLabel = label;\r\n }\r\n return (\r\n // eslint-disable-next-line jsx-a11y/mouse-events-have-key-events\r\n <div className={classnames(\"core-context-submenu\", ContextMenu.getCSSClassNameFromDirection(renderDirection), className)}\r\n onMouseOver={this._handleMouseOver}\r\n ref={(el) => { this._subMenuElement = el; }}\r\n data-testid=\"core-context-submenu\"\r\n {...props} >\r\n {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events */}\r\n <div\r\n onClick={this._handleClick}\r\n ref={(el) => { this._menuButtonElement = el; }}\r\n className={classnames(\"core-context-menu-item\",\r\n \"core-context-submenu-container\",\r\n isDisabled && \"core-context-menu-disabled\",\r\n isHidden && \"core-context-menu-hidden\",\r\n isSelected && \"core-context-menu-is-selected\")}\r\n data-testid=\"core-context-submenu-container\"\r\n role=\"menuitem\"\r\n tabIndex={isSelected ? 0 : -1}\r\n aria-disabled={isDisabled}\r\n aria-hidden={isHidden}\r\n aria-haspopup={true}\r\n >\r\n <div className={classnames(\"core-context-menu-icon\", \"icon\", icon)} />\r\n <div className={\"core-context-menu-content\"}>{this._parsedLabel}</div>\r\n <div className={classnames(\"core-context-submenu-arrow\", \"icon\")}><Icon iconSpec={<SvgCaretRight />} /></div>\r\n {badge &&\r\n <div className=\"core-context-menu-badge\">\r\n {badge}\r\n </div>\r\n }\r\n </div>\r\n <ContextMenu\r\n ref={(el) => { this._menuElement = el; }}\r\n className=\"core-context-submenu-popup\"\r\n opened={this.state.opened}\r\n direction={renderDirection}\r\n parentSubmenu={this}\r\n {...contextMenuProps} >\r\n {children}\r\n </ContextMenu>\r\n </div>\r\n );\r\n }\r\n\r\n public override componentDidMount() {\r\n document.addEventListener(\"click\", this._handleClickGlobal);\r\n this._updateHotkey(this.props.label);\r\n\r\n this.checkRenderDirection();\r\n }\r\n\r\n public override componentWillUnmount() {\r\n document.removeEventListener(\"click\", this._handleClickGlobal);\r\n }\r\n\r\n public override componentDidUpdate(prevProps: ContextSubMenuProps, prevState: ContextSubMenuState) {\r\n const direction = this.props.direction!;\r\n if ((this.state.opened !== prevState.opened && direction !== this.state.direction) || prevProps.direction !== direction)\r\n this.checkRenderDirection();\r\n if (this.props.label !== prevProps.label) {\r\n this._updateHotkey(this.props.label);\r\n }\r\n }\r\n\r\n private getWindow() {\r\n const el = this._subMenuElement;\r\n const parentDocument = el!.ownerDocument;\r\n return parentDocument.defaultView;\r\n }\r\n\r\n private checkRenderDirection() {\r\n const { autoflip } = this.props;\r\n const parentWindow = this.getWindow();\r\n let renderDirection = this.state.direction;\r\n // istanbul ignore else\r\n if (parentWindow && autoflip && this._menuElement) {\r\n const menuRect = this._menuElement.getRect();\r\n renderDirection = ContextMenu.autoFlip(renderDirection, menuRect, parentWindow.innerWidth, parentWindow.innerHeight);\r\n // istanbul ignore next\r\n if (renderDirection !== this.state.direction)\r\n this.setState({ direction: renderDirection });\r\n }\r\n }\r\n\r\n private _updateHotkey = (node: React.ReactNode) => {\r\n let hotKey: string | undefined;\r\n const isDisabled = ConditionalBooleanValue.getValue(this.props.disabled);\r\n const isHidden = ConditionalBooleanValue.getValue(this.props.hidden);\r\n if (!isDisabled && !isHidden)\r\n hotKey = TildeFinder.findAfterTilde(node).character;\r\n else\r\n hotKey = undefined;\r\n if (hotKey && hotKey !== this.state.hotKey) {\r\n this.setState({ hotKey });\r\n if (this.props.onHotKeyParsed)\r\n this.props.onHotKeyParsed(hotKey);\r\n }\r\n };\r\n\r\n public select = () => {\r\n this.setState({ opened: true }, () => {\r\n // istanbul ignore else\r\n if (this._menuElement)\r\n this._menuElement.focus();\r\n if (this.props.onSelect !== undefined)\r\n this.props.onSelect(undefined);\r\n });\r\n };\r\n\r\n public close = (propagate?: boolean) => {\r\n this.setState({ opened: false }, () => {\r\n // istanbul ignore else\r\n if (this._menuElement)\r\n this._menuElement.blur();\r\n });\r\n // istanbul ignore next\r\n if (propagate && this.props.parentMenu && this.props.parentMenu.props.parentSubmenu) {\r\n this.props.parentMenu.props.parentSubmenu.close(true);\r\n }\r\n };\r\n\r\n private _handleMouseOver = (_event: React.MouseEvent<HTMLDivElement>) => {\r\n // istanbul ignore else\r\n if (this._menuButtonElement && this._menuButtonElement.style.visibility !== \"hidden\" && this.props.onHover) {\r\n this.props.onHover();\r\n }\r\n };\r\n\r\n private _handleClick = (event: any) => {\r\n event.stopPropagation();\r\n\r\n const isDisabled = ConditionalBooleanValue.getValue(this.props.disabled);\r\n\r\n // istanbul ignore else\r\n if (!isDisabled) {\r\n // istanbul ignore else\r\n if (this.props.onClick !== undefined)\r\n this.props.onClick(event);\r\n // istanbul ignore next\r\n if (this.props.opened)\r\n this.close();\r\n else\r\n this.select();\r\n }\r\n };\r\n\r\n private _handleClickGlobal = (event: any) => {\r\n if (this._subMenuElement && !this._subMenuElement.contains(event.target))\r\n this.setState((_prevState) => ({ opened: false }));\r\n };\r\n}\r\n"]}
@@ -1,35 +1,35 @@
1
- /** @packageDocumentation
2
- * @module ContextMenu
3
- */
4
- import * as React from "react";
5
- import { ContextMenuProps } from "./ContextMenu";
6
- /** Properties for the [[GlobalContextMenu]] component
7
- * @public
8
- */
9
- export interface GlobalContextMenuProps extends ContextMenuProps {
10
- /** Unique identifier, to distinguish from other GlobalContextMenu components. Needed only if multiple GlobalContextMenus are used simultaneously. */
11
- identifier?: string;
12
- /** Specifies the x/horizontal position on the viewport. */
13
- x: number | string;
14
- /** Specifies the y/vertical position on the viewport. */
15
- y: number | string;
16
- /** Context menu element. Default: ContextMenu */
17
- contextMenuComponent?: React.ComponentType<ContextMenuProps>;
18
- }
19
- /** @internal */
20
- interface GlobalContextMenuState {
21
- parentDocument: Document | null;
22
- }
23
- /** GlobalContextMenu React component used to display a [[ContextMenu]] at the cursor
24
- * @public
25
- */
26
- export declare class GlobalContextMenu extends React.PureComponent<GlobalContextMenuProps, GlobalContextMenuState> {
27
- private _container?;
28
- readonly state: GlobalContextMenuState;
29
- constructor(props: GlobalContextMenuProps);
30
- componentWillUnmount(): void;
31
- private _handleRefSet;
32
- render(): React.ReactNode;
33
- }
34
- export {};
1
+ /** @packageDocumentation
2
+ * @module ContextMenu
3
+ */
4
+ import * as React from "react";
5
+ import { ContextMenuProps } from "./ContextMenu";
6
+ /** Properties for the [[GlobalContextMenu]] component
7
+ * @public
8
+ */
9
+ export interface GlobalContextMenuProps extends ContextMenuProps {
10
+ /** Unique identifier, to distinguish from other GlobalContextMenu components. Needed only if multiple GlobalContextMenus are used simultaneously. */
11
+ identifier?: string;
12
+ /** Specifies the x/horizontal position on the viewport. */
13
+ x: number | string;
14
+ /** Specifies the y/vertical position on the viewport. */
15
+ y: number | string;
16
+ /** Context menu element. Default: ContextMenu */
17
+ contextMenuComponent?: React.ComponentType<ContextMenuProps>;
18
+ }
19
+ /** @internal */
20
+ interface GlobalContextMenuState {
21
+ parentDocument: Document | null;
22
+ }
23
+ /** GlobalContextMenu React component used to display a [[ContextMenu]] at the cursor
24
+ * @public
25
+ */
26
+ export declare class GlobalContextMenu extends React.PureComponent<GlobalContextMenuProps, GlobalContextMenuState> {
27
+ private _container?;
28
+ readonly state: GlobalContextMenuState;
29
+ constructor(props: GlobalContextMenuProps);
30
+ componentWillUnmount(): void;
31
+ private _handleRefSet;
32
+ render(): React.ReactNode;
33
+ }
34
+ export {};
35
35
  //# sourceMappingURL=GlobalContextMenu.d.ts.map
@@ -1,64 +1,62 @@
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 ContextMenu
8
- */
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.GlobalContextMenu = void 0;
11
- const React = require("react");
12
- const ReactDOM = require("react-dom");
13
- const ContextMenu_1 = require("./ContextMenu");
14
- /** GlobalContextMenu React component used to display a [[ContextMenu]] at the cursor
15
- * @public
16
- */
17
- class GlobalContextMenu extends React.PureComponent {
18
- constructor(props) {
19
- super(props);
20
- this.state = {
21
- parentDocument: null,
22
- };
23
- this._handleRefSet = (popupDiv) => {
24
- var _a, _b;
25
- const parentDocument = (_a = popupDiv === null || popupDiv === void 0 ? void 0 : popupDiv.ownerDocument) !== null && _a !== void 0 ? _a : null;
26
- if (parentDocument) {
27
- this._container = parentDocument.createElement("div");
28
- this._container.id = this.props.identifier !== undefined ? `dialog-${this.props.identifier}` : "core-global-context-menu";
29
- let rt = parentDocument.getElementById("core-global-context-menu-root");
30
- if (!rt) {
31
- rt = parentDocument.createElement("div");
32
- rt.id = "core-global-context-menu-root";
33
- // istanbul ignore next
34
- ((_b = parentDocument.body.querySelector('[data-root-container="iui-root-id"]')) !== null && _b !== void 0 ? _b : parentDocument.body).appendChild(rt);
35
- }
36
- rt.appendChild(this._container);
37
- // used to support component rendering in pop-out window
38
- this.setState({ parentDocument });
39
- }
40
- };
41
- }
42
- componentWillUnmount() {
43
- // istanbul ignore else
44
- if (this._container && this._container.parentElement) { // cleanup
45
- this._container.parentElement.removeChild(this._container);
46
- }
47
- }
48
- render() {
49
- var _a;
50
- const { x, y, identifier, contextMenuComponent, ...props } = this.props; // eslint-disable-line @typescript-eslint/no-unused-vars
51
- const positioningStyle = {
52
- left: x,
53
- top: y,
54
- };
55
- const CtxMenu = contextMenuComponent || ContextMenu_1.ContextMenu; // eslint-disable-line @typescript-eslint/naming-convention
56
- return (React.createElement("div", { ref: this._handleRefSet, style: { display: "none" } }, this.state.parentDocument &&
57
- ReactDOM.createPortal(React.createElement("div", { className: "core-context-menu-global", style: positioningStyle },
58
- React.createElement(CtxMenu, { ...props })),
59
- // istanbul ignore next
60
- (_a = this.state.parentDocument.body.querySelector('[data-root-container="iui-root-id"]')) !== null && _a !== void 0 ? _a : this.state.parentDocument.body)));
61
- }
62
- }
63
- exports.GlobalContextMenu = GlobalContextMenu;
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 ContextMenu
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.GlobalContextMenu = void 0;
11
+ const React = require("react");
12
+ const ReactDOM = require("react-dom");
13
+ const ContextMenu_1 = require("./ContextMenu");
14
+ /** GlobalContextMenu React component used to display a [[ContextMenu]] at the cursor
15
+ * @public
16
+ */
17
+ class GlobalContextMenu extends React.PureComponent {
18
+ constructor(props) {
19
+ super(props);
20
+ this.state = {
21
+ parentDocument: null,
22
+ };
23
+ this._handleRefSet = (popupDiv) => {
24
+ const parentDocument = popupDiv?.ownerDocument ?? null;
25
+ if (parentDocument) {
26
+ this._container = parentDocument.createElement("div");
27
+ this._container.id = this.props.identifier !== undefined ? `dialog-${this.props.identifier}` : "core-global-context-menu";
28
+ let rt = parentDocument.getElementById("core-global-context-menu-root");
29
+ if (!rt) {
30
+ rt = parentDocument.createElement("div");
31
+ rt.id = "core-global-context-menu-root";
32
+ // istanbul ignore next
33
+ (parentDocument.body.querySelector('[data-root-container="iui-root-id"]') ?? parentDocument.body).appendChild(rt);
34
+ }
35
+ rt.appendChild(this._container);
36
+ // used to support component rendering in pop-out window
37
+ this.setState({ parentDocument });
38
+ }
39
+ };
40
+ }
41
+ componentWillUnmount() {
42
+ // istanbul ignore else
43
+ if (this._container && this._container.parentElement) { // cleanup
44
+ this._container.parentElement.removeChild(this._container);
45
+ }
46
+ }
47
+ render() {
48
+ const { x, y, identifier, contextMenuComponent, ...props } = this.props; // eslint-disable-line @typescript-eslint/no-unused-vars
49
+ const positioningStyle = {
50
+ left: x,
51
+ top: y,
52
+ };
53
+ const CtxMenu = contextMenuComponent || ContextMenu_1.ContextMenu; // eslint-disable-line @typescript-eslint/naming-convention
54
+ return (React.createElement("div", { ref: this._handleRefSet, style: { display: "none" } }, this.state.parentDocument &&
55
+ ReactDOM.createPortal(React.createElement("div", { className: "core-context-menu-global", style: positioningStyle },
56
+ React.createElement(CtxMenu, { ...props })),
57
+ // istanbul ignore next
58
+ this.state.parentDocument.body.querySelector('[data-root-container="iui-root-id"]') ?? this.state.parentDocument.body)));
59
+ }
60
+ }
61
+ exports.GlobalContextMenu = GlobalContextMenu;
64
62
  //# sourceMappingURL=GlobalContextMenu.js.map