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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (657) hide show
  1. package/CHANGELOG.md +144 -7
  2. package/ContributeGuidelines.md +17 -14
  3. package/LICENSE.md +1 -1
  4. package/README.md +2 -2
  5. package/lib/cjs/core-react/UiCore.js +1 -1
  6. package/lib/cjs/core-react/UiCore.js.map +1 -1
  7. package/lib/cjs/core-react/_geometry.scss +70 -70
  8. package/lib/cjs/core-react/_helpers.scss +51 -51
  9. package/lib/cjs/core-react/_math.scss +13 -13
  10. package/lib/cjs/core-react/_scrollbar.scss +51 -51
  11. package/lib/cjs/core-react/_typography.scss +44 -44
  12. package/lib/cjs/core-react/_z-index.scss +65 -65
  13. package/lib/cjs/core-react/autosuggest/AutoSuggest.d.ts +2 -2
  14. package/lib/cjs/core-react/autosuggest/AutoSuggest.d.ts.map +1 -1
  15. package/lib/cjs/core-react/autosuggest/AutoSuggest.js +1 -1
  16. package/lib/cjs/core-react/autosuggest/AutoSuggest.js.map +1 -1
  17. package/lib/cjs/core-react/autosuggest/AutoSuggest.scss +79 -82
  18. package/lib/cjs/core-react/badge/Badge.js.map +1 -1
  19. package/lib/cjs/core-react/badge/Badge.scss +13 -13
  20. package/lib/cjs/core-react/badge/BadgeUtilities.js.map +1 -1
  21. package/lib/cjs/core-react/badge/BetaBadge.d.ts +0 -1
  22. package/lib/cjs/core-react/badge/BetaBadge.d.ts.map +1 -1
  23. package/lib/cjs/core-react/badge/BetaBadge.js +0 -1
  24. package/lib/cjs/core-react/badge/BetaBadge.js.map +1 -1
  25. package/lib/cjs/core-react/badge/NewBadge.js.map +1 -1
  26. package/lib/cjs/core-react/badge/NewBadge.scss +9 -9
  27. package/lib/cjs/core-react/base/Centered.js.map +1 -1
  28. package/lib/cjs/core-react/base/Div.js.map +1 -1
  29. package/lib/cjs/core-react/base/DivWithOutsideClick.js.map +1 -1
  30. package/lib/cjs/core-react/base/FillCentered.js.map +1 -1
  31. package/lib/cjs/core-react/base/FlexWrapContainer.js.map +1 -1
  32. package/lib/cjs/core-react/base/Gap.js +1 -1
  33. package/lib/cjs/core-react/base/Gap.js.map +1 -1
  34. package/lib/cjs/core-react/base/PointerEvents.js.map +1 -1
  35. package/lib/cjs/core-react/base/ScrollView.js.map +1 -1
  36. package/lib/cjs/core-react/base/base.scss +42 -42
  37. package/lib/cjs/core-react/base/classes.scss +13 -13
  38. package/lib/cjs/core-react/base/index.scss +5 -5
  39. package/lib/cjs/core-react/button/UnderlinedButton.js.map +1 -1
  40. package/lib/cjs/core-react/button/UnderlinedButton.scss +32 -32
  41. package/lib/cjs/core-react/checklistbox/CheckListBox.js.map +1 -1
  42. package/lib/cjs/core-react/checklistbox/CheckListBox.scss +21 -22
  43. package/lib/cjs/core-react/classes.scss +11 -14
  44. package/lib/cjs/core-react/colorthemes.scss +61 -90
  45. package/lib/cjs/core-react/colorvariables.scss +131 -154
  46. package/lib/cjs/core-react/contextmenu/ContextMenu.d.ts +1 -1
  47. package/lib/cjs/core-react/contextmenu/ContextMenu.d.ts.map +1 -1
  48. package/lib/cjs/core-react/contextmenu/ContextMenu.js +2 -3
  49. package/lib/cjs/core-react/contextmenu/ContextMenu.js.map +1 -1
  50. package/lib/cjs/core-react/contextmenu/ContextMenu.scss +236 -237
  51. package/lib/cjs/core-react/contextmenu/ContextMenuDirection.js.map +1 -1
  52. package/lib/cjs/core-react/contextmenu/ContextMenuDivider.js.map +1 -1
  53. package/lib/cjs/core-react/contextmenu/ContextMenuItem.js +1 -1
  54. package/lib/cjs/core-react/contextmenu/ContextMenuItem.js.map +1 -1
  55. package/lib/cjs/core-react/contextmenu/ContextSubMenu.d.ts +1 -1
  56. package/lib/cjs/core-react/contextmenu/ContextSubMenu.d.ts.map +1 -1
  57. package/lib/cjs/core-react/contextmenu/ContextSubMenu.js +5 -2
  58. package/lib/cjs/core-react/contextmenu/ContextSubMenu.js.map +1 -1
  59. package/lib/cjs/core-react/contextmenu/GlobalContextMenu.d.ts.map +1 -1
  60. package/lib/cjs/core-react/contextmenu/GlobalContextMenu.js +6 -4
  61. package/lib/cjs/core-react/contextmenu/GlobalContextMenu.js.map +1 -1
  62. package/lib/cjs/core-react/contextmenu/PopupContextMenu.js.map +1 -1
  63. package/lib/cjs/core-react/contextmenu/TildeFinder.js +1 -1
  64. package/lib/cjs/core-react/contextmenu/TildeFinder.js.map +1 -1
  65. package/lib/cjs/core-react/dialog/Dialog.d.ts.map +1 -1
  66. package/lib/cjs/core-react/dialog/Dialog.js +18 -10
  67. package/lib/cjs/core-react/dialog/Dialog.js.map +1 -1
  68. package/lib/cjs/core-react/dialog/Dialog.scss +245 -244
  69. package/lib/cjs/core-react/dialog/GlobalDialog.js +1 -2
  70. package/lib/cjs/core-react/dialog/GlobalDialog.js.map +1 -1
  71. package/lib/cjs/core-react/elementseparator/ElementSeparator.js +2 -2
  72. package/lib/cjs/core-react/elementseparator/ElementSeparator.js.map +1 -1
  73. package/lib/cjs/core-react/elementseparator/ElementSeparator.scss +85 -85
  74. package/lib/cjs/core-react/enums/Alignment.js.map +1 -1
  75. package/lib/cjs/core-react/enums/CheckBoxState.js.map +1 -1
  76. package/lib/cjs/core-react/enums/Orientation.js.map +1 -1
  77. package/lib/cjs/core-react/enums/SortDirection.js.map +1 -1
  78. package/lib/cjs/core-react/enums/TimeFormat.js.map +1 -1
  79. package/lib/cjs/core-react/expandable/ExpandableList.js +1 -1
  80. package/lib/cjs/core-react/expandable/ExpandableList.js.map +1 -1
  81. package/lib/cjs/core-react/expandable/ExpandableList.scss +8 -8
  82. package/lib/cjs/core-react/expandable/classes.scss +7 -7
  83. package/lib/cjs/core-react/expandable/index.scss +5 -5
  84. package/lib/cjs/core-react/expandable/list.scss +35 -35
  85. package/lib/cjs/core-react/focus/ItemKeyboardNavigator.d.ts +1 -1
  86. package/lib/cjs/core-react/focus/ItemKeyboardNavigator.d.ts.map +1 -1
  87. package/lib/cjs/core-react/focus/ItemKeyboardNavigator.js.map +1 -1
  88. package/lib/cjs/core-react/focustrap/FocusTrap.js.map +1 -1
  89. package/lib/cjs/core-react/hocs/withIsPressed.js.map +1 -1
  90. package/lib/cjs/core-react/hocs/withOnOutsideClick.js +1 -2
  91. package/lib/cjs/core-react/hocs/withOnOutsideClick.js.map +1 -1
  92. package/lib/cjs/core-react/hocs/withTimeout.js.map +1 -1
  93. package/lib/cjs/core-react/icons/ConditionalIconItem.d.ts +27 -0
  94. package/lib/cjs/core-react/icons/ConditionalIconItem.d.ts.map +1 -0
  95. package/lib/cjs/core-react/icons/ConditionalIconItem.js +65 -0
  96. package/lib/cjs/core-react/icons/ConditionalIconItem.js.map +1 -0
  97. package/lib/cjs/core-react/icons/IconComponent.d.ts +3 -2
  98. package/lib/cjs/core-react/icons/IconComponent.d.ts.map +1 -1
  99. package/lib/cjs/core-react/icons/IconComponent.js +1 -7
  100. package/lib/cjs/core-react/icons/IconComponent.js.map +1 -1
  101. package/lib/cjs/core-react/icons/IconComponent.scss +20 -20
  102. package/lib/cjs/core-react/icons/SvgPath.d.ts +1 -1
  103. package/lib/cjs/core-react/icons/SvgPath.d.ts.map +1 -1
  104. package/lib/cjs/core-react/icons/SvgPath.js +2 -2
  105. package/lib/cjs/core-react/icons/SvgPath.js.map +1 -1
  106. package/lib/cjs/core-react/icons/{SvgSprite.scss → SvgPath.scss} +15 -15
  107. package/lib/cjs/core-react/icons/WebFontIcon.d.ts +0 -1
  108. package/lib/cjs/core-react/icons/WebFontIcon.d.ts.map +1 -1
  109. package/lib/cjs/core-react/icons/WebFontIcon.js +0 -1
  110. package/lib/cjs/core-react/icons/WebFontIcon.js.map +1 -1
  111. package/lib/cjs/core-react/icons/WebFontIcon.scss +17 -17
  112. package/lib/cjs/core-react/icons/classes.scss +10 -10
  113. package/lib/cjs/core-react/icons/index.scss +6 -6
  114. package/lib/cjs/core-react/icons/mixins.scss +25 -25
  115. package/lib/cjs/core-react/icons/variables.scss +12 -21
  116. package/lib/cjs/core-react/imagecheckbox/ImageCheckBox.js.map +1 -1
  117. package/lib/cjs/core-react/imagecheckbox/ImageCheckBox.scss +54 -54
  118. package/lib/cjs/core-react/index.scss +21 -23
  119. package/lib/cjs/core-react/inputs/Input.js.map +1 -1
  120. package/lib/cjs/core-react/inputs/InputLabel.d.ts.map +1 -1
  121. package/lib/cjs/core-react/inputs/InputLabel.js +9 -1
  122. package/lib/cjs/core-react/inputs/InputLabel.js.map +1 -1
  123. package/lib/cjs/core-react/inputs/InputStatus.js.map +1 -1
  124. package/lib/cjs/core-react/inputs/LabeledComponentProps.js.map +1 -1
  125. package/lib/cjs/core-react/inputs/classes.scss +8 -8
  126. package/lib/cjs/core-react/inputs/iconinput/IconInput.js.map +1 -1
  127. package/lib/cjs/core-react/inputs/iconinput/IconInput.scss +35 -35
  128. package/lib/cjs/core-react/inputs/index.scss +9 -9
  129. package/lib/cjs/core-react/inputs/input-label.scss +90 -90
  130. package/lib/cjs/core-react/inputs/input.scss +58 -58
  131. package/lib/cjs/core-react/inputs/numberinput/NumberInput.d.ts +6 -1
  132. package/lib/cjs/core-react/inputs/numberinput/NumberInput.d.ts.map +1 -1
  133. package/lib/cjs/core-react/inputs/numberinput/NumberInput.js +13 -8
  134. package/lib/cjs/core-react/inputs/numberinput/NumberInput.js.map +1 -1
  135. package/lib/cjs/core-react/inputs/numberinput/NumberInput.scss +88 -89
  136. package/lib/cjs/core-react/inputs/variables.scss +38 -38
  137. package/lib/cjs/core-react/layout-variables.scss +17 -17
  138. package/lib/cjs/core-react/listbox/Listbox.d.ts +1 -1
  139. package/lib/cjs/core-react/listbox/Listbox.d.ts.map +1 -1
  140. package/lib/cjs/core-react/listbox/Listbox.js +2 -3
  141. package/lib/cjs/core-react/listbox/Listbox.js.map +1 -1
  142. package/lib/cjs/core-react/listbox/Listbox.scss +54 -54
  143. package/lib/cjs/core-react/loading/LoadingBar.js +1 -1
  144. package/lib/cjs/core-react/loading/LoadingBar.js.map +1 -1
  145. package/lib/cjs/core-react/loading/LoadingBar.scss +29 -29
  146. package/lib/cjs/core-react/loading/LoadingPrompt.js +1 -1
  147. package/lib/cjs/core-react/loading/LoadingPrompt.js.map +1 -1
  148. package/lib/cjs/core-react/loading/LoadingPrompt.scss +33 -33
  149. package/lib/cjs/core-react/loading/LoadingSpinner.d.ts +1 -1
  150. package/lib/cjs/core-react/loading/LoadingSpinner.d.ts.map +1 -1
  151. package/lib/cjs/core-react/loading/LoadingSpinner.js +1 -1
  152. package/lib/cjs/core-react/loading/LoadingSpinner.js.map +1 -1
  153. package/lib/cjs/core-react/loading/LoadingSpinner.scss +26 -26
  154. package/lib/cjs/core-react/loading/LoadingStatus.js +1 -1
  155. package/lib/cjs/core-react/loading/LoadingStatus.js.map +1 -1
  156. package/lib/cjs/core-react/loading/LoadingStatus.scss +20 -20
  157. package/lib/cjs/core-react/loading/index.scss +5 -5
  158. package/lib/cjs/core-react/loading/mixins.scss +57 -57
  159. package/lib/cjs/core-react/messagebox/MessageBox.d.ts +13 -1
  160. package/lib/cjs/core-react/messagebox/MessageBox.d.ts.map +1 -1
  161. package/lib/cjs/core-react/messagebox/MessageBox.js +55 -11
  162. package/lib/cjs/core-react/messagebox/MessageBox.js.map +1 -1
  163. package/lib/cjs/core-react/messagebox/MessageBox.scss +56 -46
  164. package/lib/cjs/core-react/notification/MessageRenderer.js +1 -1
  165. package/lib/cjs/core-react/notification/MessageRenderer.js.map +1 -1
  166. package/lib/cjs/core-react/notification/MessageType.d.ts +1 -1
  167. package/lib/cjs/core-react/notification/MessageType.d.ts.map +1 -1
  168. package/lib/cjs/core-react/notification/MessageType.js.map +1 -1
  169. package/lib/cjs/core-react/popup/Popup.d.ts.map +1 -1
  170. package/lib/cjs/core-react/popup/Popup.js +7 -8
  171. package/lib/cjs/core-react/popup/Popup.js.map +1 -1
  172. package/lib/cjs/core-react/popup/Popup.scss +240 -240
  173. package/lib/cjs/core-react/radialmenu/Annulus.js.map +1 -1
  174. package/lib/cjs/core-react/radialmenu/RadialMenu.js +1 -1
  175. package/lib/cjs/core-react/radialmenu/RadialMenu.js.map +1 -1
  176. package/lib/cjs/core-react/radialmenu/RadialMenu.scss +55 -55
  177. package/lib/cjs/core-react/searchbox/SearchBox.d.ts.map +1 -1
  178. package/lib/cjs/core-react/searchbox/SearchBox.js +8 -6
  179. package/lib/cjs/core-react/searchbox/SearchBox.js.map +1 -1
  180. package/lib/cjs/core-react/searchbox/SearchBox.scss +47 -51
  181. package/lib/cjs/core-react/settings/SettingsContainer.js +1 -1
  182. package/lib/cjs/core-react/settings/SettingsContainer.js.map +1 -1
  183. package/lib/cjs/core-react/settings/SettingsContainer.scss +68 -66
  184. package/lib/cjs/core-react/settings/SettingsManager.js.map +1 -1
  185. package/lib/cjs/core-react/style/baseline.scss +11 -11
  186. package/lib/cjs/core-react/style/breakpoints.scss +41 -41
  187. package/lib/cjs/core-react/style/colors.scss +77 -77
  188. package/lib/cjs/core-react/style/index.scss +10 -17
  189. package/lib/cjs/core-react/style/mixins.scss +27 -27
  190. package/lib/cjs/core-react/style/opacity.scss +16 -16
  191. package/lib/cjs/core-react/style/themecolors.scss +123 -129
  192. package/lib/cjs/core-react/tabs/Tabs.js.map +1 -1
  193. package/lib/cjs/core-react/tabs/VerticalTabs.js.map +1 -1
  194. package/lib/cjs/core-react/tabs/classes.scss +7 -7
  195. package/lib/cjs/core-react/tabs/index.scss +5 -5
  196. package/lib/cjs/core-react/tabs/tabs.scss +96 -106
  197. package/lib/cjs/core-react/tabs/vertical.scss +51 -58
  198. package/lib/cjs/core-react/text/BlockText.d.ts.map +1 -1
  199. package/lib/cjs/core-react/text/BlockText.js +1 -0
  200. package/lib/cjs/core-react/text/BlockText.js.map +1 -1
  201. package/lib/cjs/core-react/text/BodyText.d.ts +1 -0
  202. package/lib/cjs/core-react/text/BodyText.d.ts.map +1 -1
  203. package/lib/cjs/core-react/text/BodyText.js +2 -0
  204. package/lib/cjs/core-react/text/BodyText.js.map +1 -1
  205. package/lib/cjs/core-react/text/DisabledText.d.ts.map +1 -1
  206. package/lib/cjs/core-react/text/DisabledText.js +1 -0
  207. package/lib/cjs/core-react/text/DisabledText.js.map +1 -1
  208. package/lib/cjs/core-react/text/FilteredText.js +3 -3
  209. package/lib/cjs/core-react/text/FilteredText.js.map +1 -1
  210. package/lib/cjs/core-react/text/FilteredText.scss +10 -10
  211. package/lib/cjs/core-react/text/MutedText.d.ts +1 -0
  212. package/lib/cjs/core-react/text/MutedText.d.ts.map +1 -1
  213. package/lib/cjs/core-react/text/MutedText.js +2 -0
  214. package/lib/cjs/core-react/text/MutedText.js.map +1 -1
  215. package/lib/cjs/core-react/text/StyledText.d.ts +1 -0
  216. package/lib/cjs/core-react/text/StyledText.d.ts.map +1 -1
  217. package/lib/cjs/core-react/text/StyledText.js +1 -0
  218. package/lib/cjs/core-react/text/StyledText.js.map +1 -1
  219. package/lib/cjs/core-react/text/TextProps.js.map +1 -1
  220. package/lib/cjs/core-react/text/block.scss +15 -10
  221. package/lib/cjs/core-react/text/body.scss +13 -10
  222. package/lib/cjs/core-react/text/classes.scss +10 -10
  223. package/lib/cjs/core-react/text/disabled.scss +10 -10
  224. package/lib/cjs/core-react/text/index.scss +10 -10
  225. package/lib/cjs/core-react/text/mixins.scss +24 -24
  226. package/lib/cjs/core-react/text/muted.scss +10 -10
  227. package/lib/cjs/core-react/tree/Branch.js.map +1 -1
  228. package/lib/cjs/core-react/tree/Branch.scss +12 -12
  229. package/lib/cjs/core-react/tree/ExpansionToggle.d.ts.map +1 -1
  230. package/lib/cjs/core-react/tree/ExpansionToggle.js +3 -1
  231. package/lib/cjs/core-react/tree/ExpansionToggle.js.map +1 -1
  232. package/lib/cjs/core-react/tree/ExpansionToggle.scss +32 -28
  233. package/lib/cjs/core-react/tree/Node.d.ts +2 -2
  234. package/lib/cjs/core-react/tree/Node.d.ts.map +1 -1
  235. package/lib/cjs/core-react/tree/Node.js +2 -3
  236. package/lib/cjs/core-react/tree/Node.js.map +1 -1
  237. package/lib/cjs/core-react/tree/Node.scss +68 -84
  238. package/lib/cjs/core-react/tree/Placeholder.js.map +1 -1
  239. package/lib/cjs/core-react/tree/Placeholder.scss +17 -20
  240. package/lib/cjs/core-react/tree/Tree.js.map +1 -1
  241. package/lib/cjs/core-react/tree/Tree.scss +21 -21
  242. package/lib/cjs/core-react/uistate/LocalStateStorage.js.map +1 -1
  243. package/lib/cjs/core-react/uistate/UiStateEntry.js.map +1 -1
  244. package/lib/cjs/core-react/uistate/UiStateStorage.js.map +1 -1
  245. package/lib/cjs/core-react/utils/IconHelper.js.map +1 -1
  246. package/lib/cjs/core-react/utils/IconWebComponent.js +1 -1
  247. package/lib/cjs/core-react/utils/IconWebComponent.js.map +1 -1
  248. package/lib/cjs/core-react/utils/Point.js +4 -4
  249. package/lib/cjs/core-react/utils/Point.js.map +1 -1
  250. package/lib/cjs/core-react/utils/Props.d.ts +1 -1
  251. package/lib/cjs/core-react/utils/Props.d.ts.map +1 -1
  252. package/lib/cjs/core-react/utils/Props.js.map +1 -1
  253. package/lib/cjs/core-react/utils/Rectangle.js +7 -7
  254. package/lib/cjs/core-react/utils/Rectangle.js.map +1 -1
  255. package/lib/cjs/core-react/utils/ScrollPositionMaintainer.js.map +1 -1
  256. package/lib/cjs/core-react/utils/Size.js +4 -4
  257. package/lib/cjs/core-react/utils/Size.js.map +1 -1
  258. package/lib/cjs/core-react/utils/Timer.d.ts +1 -1
  259. package/lib/cjs/core-react/utils/Timer.d.ts.map +1 -1
  260. package/lib/cjs/core-react/utils/Timer.js.map +1 -1
  261. package/lib/cjs/core-react/utils/UiGeometry.js.map +1 -1
  262. package/lib/cjs/core-react/utils/flattenChildren.js.map +1 -1
  263. package/lib/cjs/core-react/utils/getBestBWContrastColor.js +3 -3
  264. package/lib/cjs/core-react/utils/getBestBWContrastColor.js.map +1 -1
  265. package/lib/cjs/core-react/utils/getCssVariable.js +1 -1
  266. package/lib/cjs/core-react/utils/getCssVariable.js.map +1 -1
  267. package/lib/cjs/core-react/utils/getDisplayName.js.map +1 -1
  268. package/lib/cjs/core-react/utils/getUserColor.js.map +1 -1
  269. package/lib/cjs/core-react/utils/hooks/ResizeObserverPolyfill.d.ts +1 -1
  270. package/lib/cjs/core-react/utils/hooks/ResizeObserverPolyfill.d.ts.map +1 -1
  271. package/lib/cjs/core-react/utils/hooks/ResizeObserverPolyfill.js.map +1 -1
  272. package/lib/cjs/core-react/utils/hooks/useCrossOriginPopup.js +1 -2
  273. package/lib/cjs/core-react/utils/hooks/useCrossOriginPopup.js.map +1 -1
  274. package/lib/cjs/core-react/utils/hooks/useDisposable.js.map +1 -1
  275. package/lib/cjs/core-react/utils/hooks/useEffectSkipFirst.js.map +1 -1
  276. package/lib/cjs/core-react/utils/hooks/useEventListener.js.map +1 -1
  277. package/lib/cjs/core-react/utils/hooks/useInterval.js.map +1 -1
  278. package/lib/cjs/core-react/utils/hooks/useLifecycleLogging.js.map +1 -1
  279. package/lib/cjs/core-react/utils/hooks/useOnOutsideClick.d.ts +1 -1
  280. package/lib/cjs/core-react/utils/hooks/useOnOutsideClick.d.ts.map +1 -1
  281. package/lib/cjs/core-react/utils/hooks/useOnOutsideClick.js.map +1 -1
  282. package/lib/cjs/core-react/utils/hooks/useProximityToMouse.d.ts.map +1 -1
  283. package/lib/cjs/core-react/utils/hooks/useProximityToMouse.js +2 -2
  284. package/lib/cjs/core-react/utils/hooks/useProximityToMouse.js.map +1 -1
  285. package/lib/cjs/core-react/utils/hooks/useRefEffect.js.map +1 -1
  286. package/lib/cjs/core-react/utils/hooks/useRefState.js.map +1 -1
  287. package/lib/cjs/core-react/utils/hooks/useRefs.d.ts +1 -1
  288. package/lib/cjs/core-react/utils/hooks/useRefs.d.ts.map +1 -1
  289. package/lib/cjs/core-react/utils/hooks/useRefs.js.map +1 -1
  290. package/lib/cjs/core-react/utils/hooks/useResizeObserver.js +8 -13
  291. package/lib/cjs/core-react/utils/hooks/useResizeObserver.js.map +1 -1
  292. package/lib/cjs/core-react/utils/hooks/useTargeted.js.map +1 -1
  293. package/lib/cjs/core-react/utils/hooks/useThrottledFn.js.map +1 -1
  294. package/lib/cjs/core-react/utils/hooks/useWidgetOpacityContext.js.map +1 -1
  295. package/lib/cjs/core-react/utils/isPromiseLike.js.map +1 -1
  296. package/lib/cjs/core-react/utils/shallowDiffers.js.map +1 -1
  297. package/lib/cjs/core-react/utils/typeUtils.d.ts +1 -1
  298. package/lib/cjs/core-react/utils/typeUtils.d.ts.map +1 -1
  299. package/lib/cjs/core-react/utils/typeUtils.js.map +1 -1
  300. package/lib/cjs/core-react.d.ts +1 -1
  301. package/lib/cjs/core-react.d.ts.map +1 -1
  302. package/lib/cjs/core-react.js +6 -2
  303. package/lib/cjs/core-react.js.map +1 -1
  304. package/lib/esm/core-react/UiCore.js +2 -1
  305. package/lib/esm/core-react/UiCore.js.map +1 -1
  306. package/lib/esm/core-react/_geometry.scss +70 -70
  307. package/lib/esm/core-react/_helpers.scss +51 -51
  308. package/lib/esm/core-react/_math.scss +13 -13
  309. package/lib/esm/core-react/_scrollbar.scss +51 -51
  310. package/lib/esm/core-react/_typography.scss +44 -44
  311. package/lib/esm/core-react/_z-index.scss +65 -65
  312. package/lib/esm/core-react/autosuggest/AutoSuggest.d.ts +2 -2
  313. package/lib/esm/core-react/autosuggest/AutoSuggest.d.ts.map +1 -1
  314. package/lib/esm/core-react/autosuggest/AutoSuggest.js +1 -1
  315. package/lib/esm/core-react/autosuggest/AutoSuggest.js.map +1 -1
  316. package/lib/esm/core-react/autosuggest/AutoSuggest.scss +79 -82
  317. package/lib/esm/core-react/badge/Badge.js.map +1 -1
  318. package/lib/esm/core-react/badge/Badge.scss +13 -13
  319. package/lib/esm/core-react/badge/BadgeUtilities.js.map +1 -1
  320. package/lib/esm/core-react/badge/BetaBadge.d.ts +0 -1
  321. package/lib/esm/core-react/badge/BetaBadge.d.ts.map +1 -1
  322. package/lib/esm/core-react/badge/BetaBadge.js +0 -1
  323. package/lib/esm/core-react/badge/BetaBadge.js.map +1 -1
  324. package/lib/esm/core-react/badge/NewBadge.js.map +1 -1
  325. package/lib/esm/core-react/badge/NewBadge.scss +9 -9
  326. package/lib/esm/core-react/base/Centered.js.map +1 -1
  327. package/lib/esm/core-react/base/Div.js.map +1 -1
  328. package/lib/esm/core-react/base/DivWithOutsideClick.js.map +1 -1
  329. package/lib/esm/core-react/base/FillCentered.js.map +1 -1
  330. package/lib/esm/core-react/base/FlexWrapContainer.js.map +1 -1
  331. package/lib/esm/core-react/base/Gap.js +1 -1
  332. package/lib/esm/core-react/base/Gap.js.map +1 -1
  333. package/lib/esm/core-react/base/PointerEvents.js.map +1 -1
  334. package/lib/esm/core-react/base/ScrollView.js.map +1 -1
  335. package/lib/esm/core-react/base/base.scss +42 -42
  336. package/lib/esm/core-react/base/classes.scss +13 -13
  337. package/lib/esm/core-react/base/index.scss +5 -5
  338. package/lib/esm/core-react/button/UnderlinedButton.js.map +1 -1
  339. package/lib/esm/core-react/button/UnderlinedButton.scss +32 -32
  340. package/lib/esm/core-react/checklistbox/CheckListBox.js.map +1 -1
  341. package/lib/esm/core-react/checklistbox/CheckListBox.scss +21 -22
  342. package/lib/esm/core-react/classes.scss +11 -14
  343. package/lib/esm/core-react/colorthemes.scss +61 -90
  344. package/lib/esm/core-react/colorvariables.scss +131 -154
  345. package/lib/esm/core-react/contextmenu/ContextMenu.d.ts +1 -1
  346. package/lib/esm/core-react/contextmenu/ContextMenu.d.ts.map +1 -1
  347. package/lib/esm/core-react/contextmenu/ContextMenu.js +3 -3
  348. package/lib/esm/core-react/contextmenu/ContextMenu.js.map +1 -1
  349. package/lib/esm/core-react/contextmenu/ContextMenu.scss +236 -237
  350. package/lib/esm/core-react/contextmenu/ContextMenuDirection.js.map +1 -1
  351. package/lib/esm/core-react/contextmenu/ContextMenuDivider.js.map +1 -1
  352. package/lib/esm/core-react/contextmenu/ContextMenuItem.js +2 -1
  353. package/lib/esm/core-react/contextmenu/ContextMenuItem.js.map +1 -1
  354. package/lib/esm/core-react/contextmenu/ContextSubMenu.d.ts +1 -1
  355. package/lib/esm/core-react/contextmenu/ContextSubMenu.d.ts.map +1 -1
  356. package/lib/esm/core-react/contextmenu/ContextSubMenu.js +6 -2
  357. package/lib/esm/core-react/contextmenu/ContextSubMenu.js.map +1 -1
  358. package/lib/esm/core-react/contextmenu/GlobalContextMenu.d.ts.map +1 -1
  359. package/lib/esm/core-react/contextmenu/GlobalContextMenu.js +6 -4
  360. package/lib/esm/core-react/contextmenu/GlobalContextMenu.js.map +1 -1
  361. package/lib/esm/core-react/contextmenu/PopupContextMenu.js.map +1 -1
  362. package/lib/esm/core-react/contextmenu/TildeFinder.js +2 -1
  363. package/lib/esm/core-react/contextmenu/TildeFinder.js.map +1 -1
  364. package/lib/esm/core-react/dialog/Dialog.d.ts.map +1 -1
  365. package/lib/esm/core-react/dialog/Dialog.js +19 -10
  366. package/lib/esm/core-react/dialog/Dialog.js.map +1 -1
  367. package/lib/esm/core-react/dialog/Dialog.scss +245 -244
  368. package/lib/esm/core-react/dialog/GlobalDialog.js +1 -2
  369. package/lib/esm/core-react/dialog/GlobalDialog.js.map +1 -1
  370. package/lib/esm/core-react/elementseparator/ElementSeparator.js +2 -2
  371. package/lib/esm/core-react/elementseparator/ElementSeparator.js.map +1 -1
  372. package/lib/esm/core-react/elementseparator/ElementSeparator.scss +85 -85
  373. package/lib/esm/core-react/enums/Alignment.js.map +1 -1
  374. package/lib/esm/core-react/enums/CheckBoxState.js.map +1 -1
  375. package/lib/esm/core-react/enums/Orientation.js.map +1 -1
  376. package/lib/esm/core-react/enums/SortDirection.js.map +1 -1
  377. package/lib/esm/core-react/enums/TimeFormat.js.map +1 -1
  378. package/lib/esm/core-react/expandable/ExpandableList.js +2 -1
  379. package/lib/esm/core-react/expandable/ExpandableList.js.map +1 -1
  380. package/lib/esm/core-react/expandable/ExpandableList.scss +8 -8
  381. package/lib/esm/core-react/expandable/classes.scss +7 -7
  382. package/lib/esm/core-react/expandable/index.scss +5 -5
  383. package/lib/esm/core-react/expandable/list.scss +35 -35
  384. package/lib/esm/core-react/focus/ItemKeyboardNavigator.d.ts +1 -1
  385. package/lib/esm/core-react/focus/ItemKeyboardNavigator.d.ts.map +1 -1
  386. package/lib/esm/core-react/focus/ItemKeyboardNavigator.js.map +1 -1
  387. package/lib/esm/core-react/focustrap/FocusTrap.js.map +1 -1
  388. package/lib/esm/core-react/hocs/withIsPressed.js.map +1 -1
  389. package/lib/esm/core-react/hocs/withOnOutsideClick.js +1 -2
  390. package/lib/esm/core-react/hocs/withOnOutsideClick.js.map +1 -1
  391. package/lib/esm/core-react/hocs/withTimeout.js.map +1 -1
  392. package/lib/esm/core-react/icons/ConditionalIconItem.d.ts +27 -0
  393. package/lib/esm/core-react/icons/ConditionalIconItem.d.ts.map +1 -0
  394. package/lib/esm/core-react/icons/ConditionalIconItem.js +61 -0
  395. package/lib/esm/core-react/icons/ConditionalIconItem.js.map +1 -0
  396. package/lib/esm/core-react/icons/IconComponent.d.ts +3 -2
  397. package/lib/esm/core-react/icons/IconComponent.d.ts.map +1 -1
  398. package/lib/esm/core-react/icons/IconComponent.js +1 -7
  399. package/lib/esm/core-react/icons/IconComponent.js.map +1 -1
  400. package/lib/esm/core-react/icons/IconComponent.scss +20 -20
  401. package/lib/esm/core-react/icons/SvgPath.d.ts +1 -1
  402. package/lib/esm/core-react/icons/SvgPath.d.ts.map +1 -1
  403. package/lib/esm/core-react/icons/SvgPath.js +2 -2
  404. package/lib/esm/core-react/icons/SvgPath.js.map +1 -1
  405. package/lib/esm/core-react/icons/{SvgSprite.scss → SvgPath.scss} +15 -15
  406. package/lib/esm/core-react/icons/WebFontIcon.d.ts +0 -1
  407. package/lib/esm/core-react/icons/WebFontIcon.d.ts.map +1 -1
  408. package/lib/esm/core-react/icons/WebFontIcon.js +0 -1
  409. package/lib/esm/core-react/icons/WebFontIcon.js.map +1 -1
  410. package/lib/esm/core-react/icons/WebFontIcon.scss +17 -17
  411. package/lib/esm/core-react/icons/classes.scss +10 -10
  412. package/lib/esm/core-react/icons/index.scss +6 -6
  413. package/lib/esm/core-react/icons/mixins.scss +25 -25
  414. package/lib/esm/core-react/icons/variables.scss +12 -21
  415. package/lib/esm/core-react/imagecheckbox/ImageCheckBox.js.map +1 -1
  416. package/lib/esm/core-react/imagecheckbox/ImageCheckBox.scss +54 -54
  417. package/lib/esm/core-react/index.scss +21 -23
  418. package/lib/esm/core-react/inputs/Input.js.map +1 -1
  419. package/lib/esm/core-react/inputs/InputLabel.d.ts.map +1 -1
  420. package/lib/esm/core-react/inputs/InputLabel.js +9 -1
  421. package/lib/esm/core-react/inputs/InputLabel.js.map +1 -1
  422. package/lib/esm/core-react/inputs/InputStatus.js.map +1 -1
  423. package/lib/esm/core-react/inputs/LabeledComponentProps.js.map +1 -1
  424. package/lib/esm/core-react/inputs/classes.scss +8 -8
  425. package/lib/esm/core-react/inputs/iconinput/IconInput.js.map +1 -1
  426. package/lib/esm/core-react/inputs/iconinput/IconInput.scss +35 -35
  427. package/lib/esm/core-react/inputs/index.scss +9 -9
  428. package/lib/esm/core-react/inputs/input-label.scss +90 -90
  429. package/lib/esm/core-react/inputs/input.scss +58 -58
  430. package/lib/esm/core-react/inputs/numberinput/NumberInput.d.ts +6 -1
  431. package/lib/esm/core-react/inputs/numberinput/NumberInput.d.ts.map +1 -1
  432. package/lib/esm/core-react/inputs/numberinput/NumberInput.js +13 -8
  433. package/lib/esm/core-react/inputs/numberinput/NumberInput.js.map +1 -1
  434. package/lib/esm/core-react/inputs/numberinput/NumberInput.scss +88 -89
  435. package/lib/esm/core-react/inputs/variables.scss +38 -38
  436. package/lib/esm/core-react/layout-variables.scss +17 -17
  437. package/lib/esm/core-react/listbox/Listbox.d.ts +1 -1
  438. package/lib/esm/core-react/listbox/Listbox.d.ts.map +1 -1
  439. package/lib/esm/core-react/listbox/Listbox.js +2 -3
  440. package/lib/esm/core-react/listbox/Listbox.js.map +1 -1
  441. package/lib/esm/core-react/listbox/Listbox.scss +54 -54
  442. package/lib/esm/core-react/loading/LoadingBar.js +2 -1
  443. package/lib/esm/core-react/loading/LoadingBar.js.map +1 -1
  444. package/lib/esm/core-react/loading/LoadingBar.scss +29 -29
  445. package/lib/esm/core-react/loading/LoadingPrompt.js +2 -1
  446. package/lib/esm/core-react/loading/LoadingPrompt.js.map +1 -1
  447. package/lib/esm/core-react/loading/LoadingPrompt.scss +33 -33
  448. package/lib/esm/core-react/loading/LoadingSpinner.d.ts +1 -1
  449. package/lib/esm/core-react/loading/LoadingSpinner.d.ts.map +1 -1
  450. package/lib/esm/core-react/loading/LoadingSpinner.js +2 -1
  451. package/lib/esm/core-react/loading/LoadingSpinner.js.map +1 -1
  452. package/lib/esm/core-react/loading/LoadingSpinner.scss +26 -26
  453. package/lib/esm/core-react/loading/LoadingStatus.js +2 -1
  454. package/lib/esm/core-react/loading/LoadingStatus.js.map +1 -1
  455. package/lib/esm/core-react/loading/LoadingStatus.scss +20 -20
  456. package/lib/esm/core-react/loading/index.scss +5 -5
  457. package/lib/esm/core-react/loading/mixins.scss +57 -57
  458. package/lib/esm/core-react/messagebox/MessageBox.d.ts +13 -1
  459. package/lib/esm/core-react/messagebox/MessageBox.d.ts.map +1 -1
  460. package/lib/esm/core-react/messagebox/MessageBox.js +56 -11
  461. package/lib/esm/core-react/messagebox/MessageBox.js.map +1 -1
  462. package/lib/esm/core-react/messagebox/MessageBox.scss +56 -46
  463. package/lib/esm/core-react/notification/MessageRenderer.js +1 -1
  464. package/lib/esm/core-react/notification/MessageRenderer.js.map +1 -1
  465. package/lib/esm/core-react/notification/MessageType.d.ts +1 -1
  466. package/lib/esm/core-react/notification/MessageType.d.ts.map +1 -1
  467. package/lib/esm/core-react/notification/MessageType.js.map +1 -1
  468. package/lib/esm/core-react/popup/Popup.d.ts.map +1 -1
  469. package/lib/esm/core-react/popup/Popup.js +8 -8
  470. package/lib/esm/core-react/popup/Popup.js.map +1 -1
  471. package/lib/esm/core-react/popup/Popup.scss +240 -240
  472. package/lib/esm/core-react/radialmenu/Annulus.js.map +1 -1
  473. package/lib/esm/core-react/radialmenu/RadialMenu.js +2 -1
  474. package/lib/esm/core-react/radialmenu/RadialMenu.js.map +1 -1
  475. package/lib/esm/core-react/radialmenu/RadialMenu.scss +55 -55
  476. package/lib/esm/core-react/searchbox/SearchBox.d.ts.map +1 -1
  477. package/lib/esm/core-react/searchbox/SearchBox.js +8 -6
  478. package/lib/esm/core-react/searchbox/SearchBox.js.map +1 -1
  479. package/lib/esm/core-react/searchbox/SearchBox.scss +47 -51
  480. package/lib/esm/core-react/settings/SettingsContainer.js +1 -1
  481. package/lib/esm/core-react/settings/SettingsContainer.js.map +1 -1
  482. package/lib/esm/core-react/settings/SettingsContainer.scss +68 -66
  483. package/lib/esm/core-react/settings/SettingsManager.js.map +1 -1
  484. package/lib/esm/core-react/style/baseline.scss +11 -11
  485. package/lib/esm/core-react/style/breakpoints.scss +41 -41
  486. package/lib/esm/core-react/style/colors.scss +77 -77
  487. package/lib/esm/core-react/style/index.scss +10 -17
  488. package/lib/esm/core-react/style/mixins.scss +27 -27
  489. package/lib/esm/core-react/style/opacity.scss +16 -16
  490. package/lib/esm/core-react/style/themecolors.scss +123 -129
  491. package/lib/esm/core-react/tabs/Tabs.js.map +1 -1
  492. package/lib/esm/core-react/tabs/VerticalTabs.js.map +1 -1
  493. package/lib/esm/core-react/tabs/classes.scss +7 -7
  494. package/lib/esm/core-react/tabs/index.scss +5 -5
  495. package/lib/esm/core-react/tabs/tabs.scss +96 -106
  496. package/lib/esm/core-react/tabs/vertical.scss +51 -58
  497. package/lib/esm/core-react/text/BlockText.d.ts.map +1 -1
  498. package/lib/esm/core-react/text/BlockText.js +1 -0
  499. package/lib/esm/core-react/text/BlockText.js.map +1 -1
  500. package/lib/esm/core-react/text/BodyText.d.ts +1 -0
  501. package/lib/esm/core-react/text/BodyText.d.ts.map +1 -1
  502. package/lib/esm/core-react/text/BodyText.js +2 -0
  503. package/lib/esm/core-react/text/BodyText.js.map +1 -1
  504. package/lib/esm/core-react/text/DisabledText.d.ts.map +1 -1
  505. package/lib/esm/core-react/text/DisabledText.js +1 -0
  506. package/lib/esm/core-react/text/DisabledText.js.map +1 -1
  507. package/lib/esm/core-react/text/FilteredText.js +3 -3
  508. package/lib/esm/core-react/text/FilteredText.js.map +1 -1
  509. package/lib/esm/core-react/text/FilteredText.scss +10 -10
  510. package/lib/esm/core-react/text/MutedText.d.ts +1 -0
  511. package/lib/esm/core-react/text/MutedText.d.ts.map +1 -1
  512. package/lib/esm/core-react/text/MutedText.js +2 -0
  513. package/lib/esm/core-react/text/MutedText.js.map +1 -1
  514. package/lib/esm/core-react/text/StyledText.d.ts +1 -0
  515. package/lib/esm/core-react/text/StyledText.d.ts.map +1 -1
  516. package/lib/esm/core-react/text/StyledText.js +1 -0
  517. package/lib/esm/core-react/text/StyledText.js.map +1 -1
  518. package/lib/esm/core-react/text/TextProps.js.map +1 -1
  519. package/lib/esm/core-react/text/block.scss +15 -10
  520. package/lib/esm/core-react/text/body.scss +13 -10
  521. package/lib/esm/core-react/text/classes.scss +10 -10
  522. package/lib/esm/core-react/text/disabled.scss +10 -10
  523. package/lib/esm/core-react/text/index.scss +10 -10
  524. package/lib/esm/core-react/text/mixins.scss +24 -24
  525. package/lib/esm/core-react/text/muted.scss +10 -10
  526. package/lib/esm/core-react/tree/Branch.js.map +1 -1
  527. package/lib/esm/core-react/tree/Branch.scss +12 -12
  528. package/lib/esm/core-react/tree/ExpansionToggle.d.ts.map +1 -1
  529. package/lib/esm/core-react/tree/ExpansionToggle.js +3 -1
  530. package/lib/esm/core-react/tree/ExpansionToggle.js.map +1 -1
  531. package/lib/esm/core-react/tree/ExpansionToggle.scss +32 -28
  532. package/lib/esm/core-react/tree/Node.d.ts +2 -2
  533. package/lib/esm/core-react/tree/Node.d.ts.map +1 -1
  534. package/lib/esm/core-react/tree/Node.js +2 -3
  535. package/lib/esm/core-react/tree/Node.js.map +1 -1
  536. package/lib/esm/core-react/tree/Node.scss +68 -84
  537. package/lib/esm/core-react/tree/Placeholder.js.map +1 -1
  538. package/lib/esm/core-react/tree/Placeholder.scss +17 -20
  539. package/lib/esm/core-react/tree/Tree.js.map +1 -1
  540. package/lib/esm/core-react/tree/Tree.scss +21 -21
  541. package/lib/esm/core-react/uistate/LocalStateStorage.js.map +1 -1
  542. package/lib/esm/core-react/uistate/UiStateEntry.js.map +1 -1
  543. package/lib/esm/core-react/uistate/UiStateStorage.js.map +1 -1
  544. package/lib/esm/core-react/utils/IconHelper.js.map +1 -1
  545. package/lib/esm/core-react/utils/IconWebComponent.js +1 -1
  546. package/lib/esm/core-react/utils/IconWebComponent.js.map +1 -1
  547. package/lib/esm/core-react/utils/Point.js +4 -4
  548. package/lib/esm/core-react/utils/Point.js.map +1 -1
  549. package/lib/esm/core-react/utils/Props.d.ts +1 -1
  550. package/lib/esm/core-react/utils/Props.d.ts.map +1 -1
  551. package/lib/esm/core-react/utils/Props.js.map +1 -1
  552. package/lib/esm/core-react/utils/Rectangle.js +7 -7
  553. package/lib/esm/core-react/utils/Rectangle.js.map +1 -1
  554. package/lib/esm/core-react/utils/ScrollPositionMaintainer.js.map +1 -1
  555. package/lib/esm/core-react/utils/Size.js +4 -4
  556. package/lib/esm/core-react/utils/Size.js.map +1 -1
  557. package/lib/esm/core-react/utils/Timer.d.ts +1 -1
  558. package/lib/esm/core-react/utils/Timer.d.ts.map +1 -1
  559. package/lib/esm/core-react/utils/Timer.js.map +1 -1
  560. package/lib/esm/core-react/utils/UiGeometry.js.map +1 -1
  561. package/lib/esm/core-react/utils/flattenChildren.js.map +1 -1
  562. package/lib/esm/core-react/utils/getBestBWContrastColor.js +3 -3
  563. package/lib/esm/core-react/utils/getBestBWContrastColor.js.map +1 -1
  564. package/lib/esm/core-react/utils/getCssVariable.js +1 -1
  565. package/lib/esm/core-react/utils/getCssVariable.js.map +1 -1
  566. package/lib/esm/core-react/utils/getDisplayName.js.map +1 -1
  567. package/lib/esm/core-react/utils/getUserColor.js.map +1 -1
  568. package/lib/esm/core-react/utils/hooks/ResizeObserverPolyfill.d.ts +1 -1
  569. package/lib/esm/core-react/utils/hooks/ResizeObserverPolyfill.d.ts.map +1 -1
  570. package/lib/esm/core-react/utils/hooks/ResizeObserverPolyfill.js.map +1 -1
  571. package/lib/esm/core-react/utils/hooks/useCrossOriginPopup.js +1 -2
  572. package/lib/esm/core-react/utils/hooks/useCrossOriginPopup.js.map +1 -1
  573. package/lib/esm/core-react/utils/hooks/useDisposable.js.map +1 -1
  574. package/lib/esm/core-react/utils/hooks/useEffectSkipFirst.js.map +1 -1
  575. package/lib/esm/core-react/utils/hooks/useEventListener.js.map +1 -1
  576. package/lib/esm/core-react/utils/hooks/useInterval.js.map +1 -1
  577. package/lib/esm/core-react/utils/hooks/useLifecycleLogging.js.map +1 -1
  578. package/lib/esm/core-react/utils/hooks/useOnOutsideClick.d.ts +1 -1
  579. package/lib/esm/core-react/utils/hooks/useOnOutsideClick.d.ts.map +1 -1
  580. package/lib/esm/core-react/utils/hooks/useOnOutsideClick.js.map +1 -1
  581. package/lib/esm/core-react/utils/hooks/useProximityToMouse.d.ts.map +1 -1
  582. package/lib/esm/core-react/utils/hooks/useProximityToMouse.js +2 -2
  583. package/lib/esm/core-react/utils/hooks/useProximityToMouse.js.map +1 -1
  584. package/lib/esm/core-react/utils/hooks/useRefEffect.js.map +1 -1
  585. package/lib/esm/core-react/utils/hooks/useRefState.js.map +1 -1
  586. package/lib/esm/core-react/utils/hooks/useRefs.d.ts +1 -1
  587. package/lib/esm/core-react/utils/hooks/useRefs.d.ts.map +1 -1
  588. package/lib/esm/core-react/utils/hooks/useRefs.js.map +1 -1
  589. package/lib/esm/core-react/utils/hooks/useResizeObserver.js +8 -13
  590. package/lib/esm/core-react/utils/hooks/useResizeObserver.js.map +1 -1
  591. package/lib/esm/core-react/utils/hooks/useTargeted.js.map +1 -1
  592. package/lib/esm/core-react/utils/hooks/useThrottledFn.js.map +1 -1
  593. package/lib/esm/core-react/utils/hooks/useWidgetOpacityContext.js.map +1 -1
  594. package/lib/esm/core-react/utils/isPromiseLike.js.map +1 -1
  595. package/lib/esm/core-react/utils/shallowDiffers.js.map +1 -1
  596. package/lib/esm/core-react/utils/typeUtils.d.ts +1 -1
  597. package/lib/esm/core-react/utils/typeUtils.d.ts.map +1 -1
  598. package/lib/esm/core-react/utils/typeUtils.js.map +1 -1
  599. package/lib/esm/core-react.d.ts +1 -1
  600. package/lib/esm/core-react.d.ts.map +1 -1
  601. package/lib/esm/core-react.js +1 -1
  602. package/lib/esm/core-react.js.map +1 -1
  603. package/lib/public/locales/en/UiCore.json +30 -30
  604. package/package.json +26 -26
  605. package/ThirdPartyNotices.md +0 -28
  606. package/lib/cjs/core-react/badge/BetaBadge.scss +0 -9
  607. package/lib/cjs/core-react/button/blue-large.scss +0 -12
  608. package/lib/cjs/core-react/button/blue.scss +0 -25
  609. package/lib/cjs/core-react/button/button.scss +0 -70
  610. package/lib/cjs/core-react/button/classes.scss +0 -14
  611. package/lib/cjs/core-react/button/disabled-large.scss +0 -12
  612. package/lib/cjs/core-react/button/disabled.scss +0 -17
  613. package/lib/cjs/core-react/button/hollow-large.scss +0 -13
  614. package/lib/cjs/core-react/button/hollow.scss +0 -30
  615. package/lib/cjs/core-react/button/index.scss +0 -14
  616. package/lib/cjs/core-react/button/primary-large.scss +0 -12
  617. package/lib/cjs/core-react/button/primary.scss +0 -25
  618. package/lib/cjs/core-react/button/variables.scss +0 -22
  619. package/lib/cjs/core-react/checkbox/checkbox.scss +0 -124
  620. package/lib/cjs/core-react/checkbox/classes.scss +0 -8
  621. package/lib/cjs/core-react/checkbox/index.scss +0 -8
  622. package/lib/cjs/core-react/icons/SvgSprite.d.ts +0 -21
  623. package/lib/cjs/core-react/icons/SvgSprite.d.ts.map +0 -1
  624. package/lib/cjs/core-react/icons/SvgSprite.js +0 -27
  625. package/lib/cjs/core-react/icons/SvgSprite.js.map +0 -1
  626. package/lib/cjs/core-react/style/data-viz.scss +0 -20
  627. package/lib/cjs/core-react/style/itwinui-overrides.scss +0 -24
  628. package/lib/cjs/core-react/style/space.scss +0 -13
  629. package/lib/cjs/core-react/style/speed.scss +0 -12
  630. package/lib/cjs/core-react/style/typography.scss +0 -44
  631. package/lib/cjs/core-react/style/variables.scss +0 -12
  632. package/lib/esm/core-react/badge/BetaBadge.scss +0 -9
  633. package/lib/esm/core-react/button/blue-large.scss +0 -12
  634. package/lib/esm/core-react/button/blue.scss +0 -25
  635. package/lib/esm/core-react/button/button.scss +0 -70
  636. package/lib/esm/core-react/button/classes.scss +0 -14
  637. package/lib/esm/core-react/button/disabled-large.scss +0 -12
  638. package/lib/esm/core-react/button/disabled.scss +0 -17
  639. package/lib/esm/core-react/button/hollow-large.scss +0 -13
  640. package/lib/esm/core-react/button/hollow.scss +0 -30
  641. package/lib/esm/core-react/button/index.scss +0 -14
  642. package/lib/esm/core-react/button/primary-large.scss +0 -12
  643. package/lib/esm/core-react/button/primary.scss +0 -25
  644. package/lib/esm/core-react/button/variables.scss +0 -22
  645. package/lib/esm/core-react/checkbox/checkbox.scss +0 -124
  646. package/lib/esm/core-react/checkbox/classes.scss +0 -8
  647. package/lib/esm/core-react/checkbox/index.scss +0 -8
  648. package/lib/esm/core-react/icons/SvgSprite.d.ts +0 -21
  649. package/lib/esm/core-react/icons/SvgSprite.d.ts.map +0 -1
  650. package/lib/esm/core-react/icons/SvgSprite.js +0 -23
  651. package/lib/esm/core-react/icons/SvgSprite.js.map +0 -1
  652. package/lib/esm/core-react/style/data-viz.scss +0 -20
  653. package/lib/esm/core-react/style/itwinui-overrides.scss +0 -24
  654. package/lib/esm/core-react/style/space.scss +0 -13
  655. package/lib/esm/core-react/style/speed.scss +0 -12
  656. package/lib/esm/core-react/style/typography.scss +0 -44
  657. package/lib/esm/core-react/style/variables.scss +0 -12
@@ -99,11 +99,11 @@ class ContextMenuItem extends React.PureComponent {
99
99
  }
100
100
  }
101
101
  }
102
- exports.ContextMenuItem = ContextMenuItem;
103
102
  /** @internal */
104
103
  ContextMenuItem.defaultProps = {
105
104
  disabled: false,
106
105
  hidden: false,
107
106
  isSelected: false,
108
107
  };
108
+ exports.ContextMenuItem = ContextMenuItem;
109
109
  //# sourceMappingURL=ContextMenuItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ContextMenuItem.js","sourceRoot":"","sources":["../../../../src/core-react/contextmenu/ContextMenuItem.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module ContextMenu\n */\n\nimport * as React from \"react\";\nimport classnames from \"classnames\";\nimport { BadgeType, ConditionalBooleanValue, SpecialKey } from \"@itwin/appui-abstract\";\nimport { CommonProps } from \"../utils/Props\";\nimport { ContextMenu } from \"./ContextMenu\";\nimport { BadgeUtilities } from \"../badge/BadgeUtilities\";\nimport { TildeFinder } from \"./TildeFinder\";\nimport { Icon, IconSpec } from \"../icons/IconComponent\";\n\n/** Properties for the [[ContextMenuItem]] component\n * @public\n */\nexport interface ContextMenuItemProps extends Omit<React.AllHTMLAttributes<HTMLDivElement>, \"disabled\" | \"hidden\">, CommonProps {\n onSelect?: (event: any) => any;\n /** @internal */\n onHotKeyParsed?: (hotKey: string) => void;\n /** Icon to display in the left margin. */\n icon?: IconSpec;\n /** Disables any onSelect calls, hover/keyboard highlighting, and grays item. */\n disabled?: boolean | ConditionalBooleanValue;\n /** Indicates whether the item is visible or hidden. The default is for the item to be visible. */\n hidden?: boolean | ConditionalBooleanValue;\n /** Badge to be overlaid on the item. */\n badgeType?: BadgeType;\n /** Icon to display in the right margin. */\n iconRight?: IconSpec;\n /** Hide the icon container. This can be used to eliminate space used to display an icon at the left of the menu item. */\n hideIconContainer?: boolean;\n /** @internal */\n onHover?: () => any;\n /* @internal */\n isSelected?: boolean;\n /** @internal */\n parentMenu?: ContextMenu;\n}\n\n/** @internal */\ninterface ContextMenuItemState {\n hotKey?: string;\n}\n\n/**\n * Menu Item class for use within a [[ContextMenu]] component.\n * @public\n */\nexport class ContextMenuItem extends React.PureComponent<ContextMenuItemProps, ContextMenuItemState> {\n private _root: HTMLElement | null = null;\n private _lastChildren: React.ReactNode;\n private _parsedChildren: React.ReactNode;\n /** @internal */\n public static defaultProps: Partial<ContextMenuItemProps> = {\n disabled: false,\n hidden: false,\n isSelected: false,\n };\n constructor(props: ContextMenuItemProps) {\n super(props);\n }\n /** @internal */\n public override readonly state: Readonly<ContextMenuItemState> = {};\n public override render(): JSX.Element {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { onClick, className, style, onSelect, icon, disabled, hidden, onHover, isSelected, parentMenu, onHotKeyParsed, badgeType, iconRight,\n hideIconContainer, ...props } = this.props;\n const badge = BadgeUtilities.getComponentForBadgeType(badgeType);\n const isDisabled = ConditionalBooleanValue.getValue(disabled);\n const isHidden = ConditionalBooleanValue.getValue(hidden);\n\n if (this._lastChildren !== this.props.children) {\n this._parsedChildren = TildeFinder.findAfterTilde(this.props.children).node;\n this._lastChildren = this.props.children;\n }\n\n return (\n <div\n {...props}\n ref={(el) => { this._root = el; }}\n onClick={this._handleClick}\n style={style}\n onFocus={this._handleFocus}\n onKeyUp={this._handleKeyUp}\n onMouseOver={this._handleMouseOver}\n data-testid={\"core-context-menu-item\"}\n className={classnames(\"core-context-menu-item\", className,\n isDisabled && \"core-context-menu-disabled\",\n isHidden && \"core-context-menu-hidden\",\n isSelected && \"core-context-menu-is-selected\")\n }\n role=\"menuitem\"\n tabIndex={isSelected ? 0 : -1}\n aria-disabled={isDisabled}\n aria-hidden={isHidden}\n >\n {!hideIconContainer && <div className=\"core-context-menu-icon\">\n {icon !== undefined && <Icon iconSpec={icon} />}\n </div>}\n <div className={\"core-context-menu-content\"}>\n {this._parsedChildren}\n </div>\n {iconRight &&\n <div className={classnames(\"core-context-menu-icon\", \"core-context-menu-icon-right\")}>\n <Icon iconSpec={iconRight} />\n </div>\n }\n {badge &&\n <div className=\"core-context-menu-badge\">\n {badge}\n </div>\n }\n </div>\n );\n }\n\n public override componentDidMount() {\n this._updateHotkey(this.props.children);\n }\n\n public override componentDidUpdate(prevProps: ContextMenuItemProps) {\n if (this.props.children !== prevProps.children) {\n this._updateHotkey(this.props.children);\n }\n }\n\n private _updateHotkey = (node: React.ReactNode) => {\n let hotKey: string | undefined;\n const isDisabled = ConditionalBooleanValue.getValue(this.props.disabled);\n const isHidden = ConditionalBooleanValue.getValue(this.props.hidden);\n if (!isDisabled && !isHidden)\n hotKey = TildeFinder.findAfterTilde(node).character;\n else\n hotKey = undefined;\n if (hotKey && hotKey !== this.state.hotKey) {\n this.setState({ hotKey });\n if (this.props.onHotKeyParsed)\n this.props.onHotKeyParsed(hotKey);\n }\n };\n\n private _handleFocus = (event: React.FocusEvent<HTMLDivElement>) => {\n event.stopPropagation();\n };\n\n private _handleMouseOver = (_event: React.MouseEvent<HTMLDivElement>) => {\n // istanbul ignore else\n if (this._root && this._root.style.visibility !== \"hidden\" && this.props.onHover) {\n this.props.onHover();\n }\n };\n\n public select = () => {\n // istanbul ignore else\n if (this._root) {\n this._root.click();\n if (this.props.parentMenu && this.props.parentMenu.props.parentSubmenu)\n this.props.parentMenu.props.parentSubmenu.close(true);\n }\n };\n\n private _handleClick = (event: React.MouseEvent<HTMLDivElement>) => {\n const isDisabled = ConditionalBooleanValue.getValue(this.props.disabled);\n if (isDisabled)\n return;\n\n if (this.props.onClick)\n this.props.onClick(event);\n if (this.props.onSelect)\n this.props.onSelect(event);\n };\n\n private _handleKeyUp = (event: React.KeyboardEvent<HTMLDivElement>) => {\n const isDisabled = ConditionalBooleanValue.getValue(this.props.disabled);\n if (event.key === SpecialKey.Enter && this.props.onSelect !== undefined && !isDisabled) {\n this.props.onSelect(event);\n }\n };\n}\n"]}
1
+ {"version":3,"file":"ContextMenuItem.js","sourceRoot":"","sources":["../../../../src/core-react/contextmenu/ContextMenuItem.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,+BAA+B;AAC/B,2CAAoC;AACpC,0DAAuF;AAGvF,4DAAyD;AACzD,+CAA4C;AAC5C,0DAAwD;AAkCxD;;;GAGG;AACH,MAAa,eAAgB,SAAQ,KAAK,CAAC,aAAyD;IAUlG,YAAY,KAA2B;QACrC,KAAK,CAAC,KAAK,CAAC,CAAC;QAVP,UAAK,GAAuB,IAAI,CAAC;QAYzC,gBAAgB;QACS,UAAK,GAAmC,EAAE,CAAC;QAgE5D,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;QAEM,iBAAY,GAAG,CAAC,KAAuC,EAAE,EAAE;YACjE,KAAK,CAAC,eAAe,EAAE,CAAC;QAC1B,CAAC,CAAC;QAEM,qBAAgB,GAAG,CAAC,MAAwC,EAAE,EAAE;YACtE,uBAAuB;YACvB,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;gBAChF,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;aACtB;QACH,CAAC,CAAC;QAEK,WAAM,GAAG,GAAG,EAAE;YACnB,uBAAuB;YACvB,IAAI,IAAI,CAAC,KAAK,EAAE;gBACd,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;gBACnB,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,aAAa;oBACpE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aACzD;QACH,CAAC,CAAC;QAEM,iBAAY,GAAG,CAAC,KAAuC,EAAE,EAAE;YACjE,MAAM,UAAU,GAAG,wCAAuB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACzE,IAAI,UAAU;gBACZ,OAAO;YAET,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO;gBACpB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC5B,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ;gBACrB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC,CAAC;QAEM,iBAAY,GAAG,CAAC,KAA0C,EAAE,EAAE;YACpE,MAAM,UAAU,GAAG,wCAAuB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACzE,IAAI,KAAK,CAAC,GAAG,KAAK,2BAAU,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,UAAU,EAAE;gBACtF,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;aAC5B;QACH,CAAC,CAAC;IArHF,CAAC;IAGe,MAAM;QACpB,6DAA6D;QAC7D,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,EACxI,iBAAiB,EAAE,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAC7C,MAAM,KAAK,GAAG,+BAAc,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;QACjE,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,aAAa,KAAK,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;YAC9C,IAAI,CAAC,eAAe,GAAG,yBAAW,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC;YAC5E,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;SAC1C;QAED,OAAO,CACL,gCACM,KAAK,EACT,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,EACjC,OAAO,EAAE,IAAI,CAAC,YAAY,EAC1B,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,IAAI,CAAC,YAAY,EAC1B,OAAO,EAAE,IAAI,CAAC,YAAY,EAC1B,WAAW,EAAE,IAAI,CAAC,gBAAgB,iBACrB,wBAAwB,EACrC,SAAS,EAAE,IAAA,oBAAU,EAAC,wBAAwB,EAAE,SAAS,EACvD,UAAU,IAAI,4BAA4B,EAC1C,QAAQ,IAAI,0BAA0B,EACtC,UAAU,IAAI,+BAA+B,CAAC,EAEhD,IAAI,EAAC,UAAU,EACf,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,mBACd,UAAU,iBACZ,QAAQ;YAEpB,CAAC,iBAAiB,IAAI,6BAAK,SAAS,EAAC,wBAAwB,IAC3D,IAAI,KAAK,SAAS,IAAI,oBAAC,oBAAI,IAAC,QAAQ,EAAE,IAAI,GAAI,CAC3C;YACN,6BAAK,SAAS,EAAE,2BAA2B,IACxC,IAAI,CAAC,eAAe,CACjB;YACL,SAAS;gBACR,6BAAK,SAAS,EAAE,IAAA,oBAAU,EAAC,wBAAwB,EAAE,8BAA8B,CAAC;oBAClF,oBAAC,oBAAI,IAAC,QAAQ,EAAE,SAAS,GAAI,CACzB;YAEP,KAAK;gBACJ,6BAAK,SAAS,EAAC,yBAAyB,IACrC,KAAK,CACF,CAEJ,CACP,CAAC;IACJ,CAAC;IAEe,iBAAiB;QAC/B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAEe,kBAAkB,CAAC,SAA+B;QAChE,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,QAAQ,EAAE;YAC9C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;SACzC;IACH,CAAC;;AAxED,gBAAgB;AACF,4BAAY,GAAkC;IAC1D,QAAQ,EAAE,KAAK;IACf,MAAM,EAAE,KAAK;IACb,UAAU,EAAE,KAAK;CAClB,AAJyB,CAIxB;AATS,0CAAe","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 { BadgeType, ConditionalBooleanValue, SpecialKey } from \"@itwin/appui-abstract\";\r\nimport { CommonProps } from \"../utils/Props\";\r\nimport { ContextMenu } from \"./ContextMenu\";\r\nimport { BadgeUtilities } from \"../badge/BadgeUtilities\";\r\nimport { TildeFinder } from \"./TildeFinder\";\r\nimport { Icon, IconSpec } from \"../icons/IconComponent\";\r\n\r\n/** Properties for the [[ContextMenuItem]] component\r\n * @public\r\n */\r\nexport interface ContextMenuItemProps extends Omit<React.AllHTMLAttributes<HTMLDivElement>, \"disabled\" | \"hidden\">, CommonProps {\r\n onSelect?: (event: any) => any;\r\n /** @internal */\r\n onHotKeyParsed?: (hotKey: string) => void;\r\n /** Icon to display in the left margin. */\r\n icon?: IconSpec;\r\n /** Disables any onSelect calls, hover/keyboard highlighting, and grays item. */\r\n disabled?: boolean | ConditionalBooleanValue;\r\n /** Indicates whether the item is visible or hidden. The default is for the item to be visible. */\r\n hidden?: boolean | ConditionalBooleanValue;\r\n /** Badge to be overlaid on the item. */\r\n badgeType?: BadgeType;\r\n /** Icon to display in the right margin. */\r\n iconRight?: IconSpec;\r\n /** Hide the icon container. This can be used to eliminate space used to display an icon at the left of the menu item. */\r\n hideIconContainer?: boolean;\r\n /** @internal */\r\n onHover?: () => any;\r\n /* @internal */\r\n isSelected?: boolean;\r\n /** @internal */\r\n parentMenu?: ContextMenu;\r\n}\r\n\r\n/** @internal */\r\ninterface ContextMenuItemState {\r\n hotKey?: string;\r\n}\r\n\r\n/**\r\n * Menu Item class for use within a [[ContextMenu]] component.\r\n * @public\r\n */\r\nexport class ContextMenuItem extends React.PureComponent<ContextMenuItemProps, ContextMenuItemState> {\r\n private _root: HTMLElement | null = null;\r\n private _lastChildren: React.ReactNode;\r\n private _parsedChildren: React.ReactNode;\r\n /** @internal */\r\n public static defaultProps: Partial<ContextMenuItemProps> = {\r\n disabled: false,\r\n hidden: false,\r\n isSelected: false,\r\n };\r\n constructor(props: ContextMenuItemProps) {\r\n super(props);\r\n }\r\n /** @internal */\r\n public override readonly state: Readonly<ContextMenuItemState> = {};\r\n public override render(): JSX.Element {\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n const { onClick, className, style, onSelect, icon, disabled, hidden, onHover, isSelected, parentMenu, onHotKeyParsed, badgeType, iconRight,\r\n hideIconContainer, ...props } = this.props;\r\n const badge = BadgeUtilities.getComponentForBadgeType(badgeType);\r\n const isDisabled = ConditionalBooleanValue.getValue(disabled);\r\n const isHidden = ConditionalBooleanValue.getValue(hidden);\r\n\r\n if (this._lastChildren !== this.props.children) {\r\n this._parsedChildren = TildeFinder.findAfterTilde(this.props.children).node;\r\n this._lastChildren = this.props.children;\r\n }\r\n\r\n return (\r\n <div\r\n {...props}\r\n ref={(el) => { this._root = el; }}\r\n onClick={this._handleClick}\r\n style={style}\r\n onFocus={this._handleFocus}\r\n onKeyUp={this._handleKeyUp}\r\n onMouseOver={this._handleMouseOver}\r\n data-testid={\"core-context-menu-item\"}\r\n className={classnames(\"core-context-menu-item\", className,\r\n isDisabled && \"core-context-menu-disabled\",\r\n isHidden && \"core-context-menu-hidden\",\r\n isSelected && \"core-context-menu-is-selected\")\r\n }\r\n role=\"menuitem\"\r\n tabIndex={isSelected ? 0 : -1}\r\n aria-disabled={isDisabled}\r\n aria-hidden={isHidden}\r\n >\r\n {!hideIconContainer && <div className=\"core-context-menu-icon\">\r\n {icon !== undefined && <Icon iconSpec={icon} />}\r\n </div>}\r\n <div className={\"core-context-menu-content\"}>\r\n {this._parsedChildren}\r\n </div>\r\n {iconRight &&\r\n <div className={classnames(\"core-context-menu-icon\", \"core-context-menu-icon-right\")}>\r\n <Icon iconSpec={iconRight} />\r\n </div>\r\n }\r\n {badge &&\r\n <div className=\"core-context-menu-badge\">\r\n {badge}\r\n </div>\r\n }\r\n </div>\r\n );\r\n }\r\n\r\n public override componentDidMount() {\r\n this._updateHotkey(this.props.children);\r\n }\r\n\r\n public override componentDidUpdate(prevProps: ContextMenuItemProps) {\r\n if (this.props.children !== prevProps.children) {\r\n this._updateHotkey(this.props.children);\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 private _handleFocus = (event: React.FocusEvent<HTMLDivElement>) => {\r\n event.stopPropagation();\r\n };\r\n\r\n private _handleMouseOver = (_event: React.MouseEvent<HTMLDivElement>) => {\r\n // istanbul ignore else\r\n if (this._root && this._root.style.visibility !== \"hidden\" && this.props.onHover) {\r\n this.props.onHover();\r\n }\r\n };\r\n\r\n public select = () => {\r\n // istanbul ignore else\r\n if (this._root) {\r\n this._root.click();\r\n if (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 _handleClick = (event: React.MouseEvent<HTMLDivElement>) => {\r\n const isDisabled = ConditionalBooleanValue.getValue(this.props.disabled);\r\n if (isDisabled)\r\n return;\r\n\r\n if (this.props.onClick)\r\n this.props.onClick(event);\r\n if (this.props.onSelect)\r\n this.props.onSelect(event);\r\n };\r\n\r\n private _handleKeyUp = (event: React.KeyboardEvent<HTMLDivElement>) => {\r\n const isDisabled = ConditionalBooleanValue.getValue(this.props.disabled);\r\n if (event.key === SpecialKey.Enter && this.props.onSelect !== undefined && !isDisabled) {\r\n this.props.onSelect(event);\r\n }\r\n };\r\n}\r\n"]}
@@ -43,7 +43,7 @@ export declare class ContextSubMenu extends React.Component<ContextSubMenuProps,
43
43
  private checkRenderDirection;
44
44
  private _updateHotkey;
45
45
  select: () => void;
46
- close: (propagate?: boolean | undefined) => void;
46
+ close: (propagate?: boolean) => void;
47
47
  private _handleMouseOver;
48
48
  private _handleClick;
49
49
  private _handleClickGlobal;
@@ -1 +1 @@
1
- {"version":3,"file":"ContextSubMenu.d.ts","sourceRoot":"","sources":["../../../../src/core-react/contextmenu/ContextSubMenu.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAe,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAI9D;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAAC,oBAAoB,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,EAAE,WAAW;IAC5H,2CAA2C;IAC3C,KAAK,EAAE,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;IAC5B,gBAAgB;IAChB,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CAC3C;AAED,gBAAgB;AAChB,UAAU,mBAAmB;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,oBAAoB,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,qBAAa,cAAe,SAAQ,KAAK,CAAC,SAAS,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;IAC3F,OAAO,CAAC,YAAY,CAA4B;IAChD,OAAO,CAAC,eAAe,CAA4B;IACnD,OAAO,CAAC,kBAAkB,CAA4B;IAEtD,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,YAAY,CAAkB;IAEtC,OAAc,YAAY,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAOtD;IAEF,gBAAgB;IAChB,SAAyB,KAAK,EAAE,QAAQ,CAAC,mBAAmB,CAAC,CAAC;gBAClD,KAAK,EAAE,mBAAmB;IAQtB,MAAM,IAAI,GAAG,CAAC,OAAO;IA6DrB,iBAAiB;IAOjB,oBAAoB;IAIpB,kBAAkB,CAAC,SAAS,EAAE,mBAAmB,EAAE,SAAS,EAAE,mBAAmB;IASjG,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,oBAAoB;IAc5B,OAAO,CAAC,aAAa,CAanB;IAEK,MAAM,aAQX;IAEK,KAAK,4CAUV;IAEF,OAAO,CAAC,gBAAgB,CAKtB;IAEF,OAAO,CAAC,YAAY,CAgBlB;IAEF,OAAO,CAAC,kBAAkB,CAGxB;CACH"}
1
+ {"version":3,"file":"ContextSubMenu.d.ts","sourceRoot":"","sources":["../../../../src/core-react/contextmenu/ContextSubMenu.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAe,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAM9D;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAAC,oBAAoB,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,EAAE,WAAW;IAC5H,2CAA2C;IAC3C,KAAK,EAAE,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;IAC5B,gBAAgB;IAChB,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CAC3C;AAED,gBAAgB;AAChB,UAAU,mBAAmB;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,oBAAoB,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,qBAAa,cAAe,SAAQ,KAAK,CAAC,SAAS,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;IAC3F,OAAO,CAAC,YAAY,CAA4B;IAChD,OAAO,CAAC,eAAe,CAA4B;IACnD,OAAO,CAAC,kBAAkB,CAA4B;IAEtD,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,YAAY,CAAkB;IAEtC,OAAc,YAAY,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAOtD;IAEF,gBAAgB;IAChB,SAAyB,KAAK,EAAE,QAAQ,CAAC,mBAAmB,CAAC,CAAC;gBAClD,KAAK,EAAE,mBAAmB;IAQtB,MAAM,IAAI,GAAG,CAAC,OAAO;IA6DrB,iBAAiB;IAOjB,oBAAoB;IAIpB,kBAAkB,CAAC,SAAS,EAAE,mBAAmB,EAAE,SAAS,EAAE,mBAAmB;IASjG,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,oBAAoB;IAc5B,OAAO,CAAC,aAAa,CAanB;IAEK,MAAM,aAQX;IAEK,KAAK,eAAgB,OAAO,UAUjC;IAEF,OAAO,CAAC,gBAAgB,CAKtB;IAEF,OAAO,CAAC,YAAY,CAgBlB;IAEF,OAAO,CAAC,kBAAkB,CAGxB;CACH"}
@@ -15,6 +15,8 @@ const ContextMenu_1 = require("./ContextMenu");
15
15
  const ContextMenuDirection_1 = require("./ContextMenuDirection");
16
16
  const TildeFinder_1 = require("./TildeFinder");
17
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");
18
20
  /**
19
21
  * Submenu wrapper class for use within a [[ContextMenu]] component.
20
22
  * @public
@@ -108,7 +110,8 @@ class ContextSubMenu extends React.Component {
108
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 },
109
111
  React.createElement("div", { className: (0, classnames_1.default)("core-context-menu-icon", "icon", icon) }),
110
112
  React.createElement("div", { className: "core-context-menu-content" }, this._parsedLabel),
111
- React.createElement("div", { className: (0, classnames_1.default)("core-context-submenu-arrow", "icon", "icon-caret-right") }),
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) })),
112
115
  badge &&
113
116
  React.createElement("div", { className: "core-context-menu-badge" }, badge)),
114
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)));
@@ -148,7 +151,6 @@ class ContextSubMenu extends React.Component {
148
151
  }
149
152
  }
150
153
  }
151
- exports.ContextSubMenu = ContextSubMenu;
152
154
  ContextSubMenu.defaultProps = {
153
155
  direction: ContextMenuDirection_1.ContextMenuDirection.BottomRight,
154
156
  disabled: false,
@@ -157,4 +159,5 @@ ContextSubMenu.defaultProps = {
157
159
  isSelected: false,
158
160
  selectedIndex: 0,
159
161
  };
162
+ exports.ContextSubMenu = ContextSubMenu;
160
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;AAmBzD;;;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,EAAE,kBAAkB,CAAC,GAAI;gBACvF,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":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module ContextMenu\n */\n\nimport * as React from \"react\";\nimport classnames from \"classnames\";\nimport { ConditionalBooleanValue } from \"@itwin/appui-abstract\";\nimport { ContextMenuItemProps } from \"./ContextMenuItem\";\nimport { ContextMenu, ContextMenuProps } from \"./ContextMenu\";\nimport { CommonProps } from \"../utils/Props\";\nimport { ContextMenuDirection } from \"./ContextMenuDirection\";\nimport { TildeFinder } from \"./TildeFinder\";\nimport { BadgeUtilities } from \"../badge/BadgeUtilities\";\n\n/** Properties for the [[ContextSubMenu]] component\n * @public\n */\nexport interface ContextSubMenuProps extends Omit<ContextMenuItemProps, \"label\">, Omit<ContextMenuProps, \"label\">, CommonProps {\n /** Text/jsx to display in the list item */\n label: string | JSX.Element;\n /** @internal */\n onHotKeyParsed?: (hotKey: string) => void;\n}\n\n/** @internal */\ninterface ContextSubMenuState {\n opened: boolean;\n direction: ContextMenuDirection;\n hotKey?: string;\n}\n\n/**\n * Submenu wrapper class for use within a [[ContextMenu]] component.\n * @public\n */\nexport class ContextSubMenu extends React.Component<ContextSubMenuProps, ContextSubMenuState> {\n private _menuElement: ContextMenu | null = null;\n private _subMenuElement: HTMLElement | null = null;\n private _menuButtonElement: HTMLElement | null = null;\n\n private _lastLabel: React.ReactNode;\n private _parsedLabel: React.ReactNode;\n\n public static defaultProps: Partial<ContextSubMenuProps> = {\n direction: ContextMenuDirection.BottomRight,\n disabled: false,\n hidden: false,\n autoflip: true,\n isSelected: false,\n selectedIndex: 0,\n };\n\n /** @internal */\n public override readonly state: Readonly<ContextSubMenuState>;\n constructor(props: ContextSubMenuProps) {\n super(props);\n this.state = {\n opened: false,\n direction: props.direction!,\n };\n }\n\n public override render(): JSX.Element {\n const {\n label,\n opened, direction, onOutsideClick, onEsc, autoflip, edgeLimit, selectedIndex, floating, parentMenu, parentSubmenu, // eslint-disable-line @typescript-eslint/no-unused-vars\n onSelect, icon, disabled, hidden, onHover, isSelected, onHotKeyParsed, // eslint-disable-line @typescript-eslint/no-unused-vars\n children, onClick, className, badgeType, ...props } = this.props; // eslint-disable-line @typescript-eslint/no-unused-vars\n const contextMenuProps = { onOutsideClick, onSelect, onEsc, autoflip, edgeLimit, selectedIndex, floating, parentMenu };\n const badge = BadgeUtilities.getComponentForBadgeType(badgeType);\n const renderDirection = this.state.direction;\n const isDisabled = ConditionalBooleanValue.getValue(disabled);\n const isHidden = ConditionalBooleanValue.getValue(hidden);\n\n if (this._lastLabel !== label) {\n this._parsedLabel = TildeFinder.findAfterTilde(label).node;\n this._lastLabel = label;\n }\n return (\n // eslint-disable-next-line jsx-a11y/mouse-events-have-key-events\n <div className={classnames(\"core-context-submenu\", ContextMenu.getCSSClassNameFromDirection(renderDirection), className)}\n onMouseOver={this._handleMouseOver}\n ref={(el) => { this._subMenuElement = el; }}\n data-testid=\"core-context-submenu\"\n {...props} >\n {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events */}\n <div\n onClick={this._handleClick}\n ref={(el) => { this._menuButtonElement = el; }}\n className={classnames(\"core-context-menu-item\",\n \"core-context-submenu-container\",\n isDisabled && \"core-context-menu-disabled\",\n isHidden && \"core-context-menu-hidden\",\n isSelected && \"core-context-menu-is-selected\")}\n data-testid=\"core-context-submenu-container\"\n role=\"menuitem\"\n tabIndex={isSelected ? 0 : -1}\n aria-disabled={isDisabled}\n aria-hidden={isHidden}\n aria-haspopup={true}\n >\n <div className={classnames(\"core-context-menu-icon\", \"icon\", icon)} />\n <div className={\"core-context-menu-content\"}>{this._parsedLabel}</div>\n <div className={classnames(\"core-context-submenu-arrow\", \"icon\", \"icon-caret-right\")} />\n {badge &&\n <div className=\"core-context-menu-badge\">\n {badge}\n </div>\n }\n </div>\n <ContextMenu\n ref={(el) => { this._menuElement = el; }}\n className=\"core-context-submenu-popup\"\n opened={this.state.opened}\n direction={renderDirection}\n parentSubmenu={this}\n {...contextMenuProps} >\n {children}\n </ContextMenu>\n </div>\n );\n }\n\n public override componentDidMount() {\n document.addEventListener(\"click\", this._handleClickGlobal);\n this._updateHotkey(this.props.label);\n\n this.checkRenderDirection();\n }\n\n public override componentWillUnmount() {\n document.removeEventListener(\"click\", this._handleClickGlobal);\n }\n\n public override componentDidUpdate(prevProps: ContextSubMenuProps, prevState: ContextSubMenuState) {\n const direction = this.props.direction!;\n if ((this.state.opened !== prevState.opened && direction !== this.state.direction) || prevProps.direction !== direction)\n this.checkRenderDirection();\n if (this.props.label !== prevProps.label) {\n this._updateHotkey(this.props.label);\n }\n }\n\n private getWindow() {\n const el = this._subMenuElement;\n const parentDocument = el!.ownerDocument;\n return parentDocument.defaultView;\n }\n\n private checkRenderDirection() {\n const { autoflip } = this.props;\n const parentWindow = this.getWindow();\n let renderDirection = this.state.direction;\n // istanbul ignore else\n if (parentWindow && autoflip && this._menuElement) {\n const menuRect = this._menuElement.getRect();\n renderDirection = ContextMenu.autoFlip(renderDirection, menuRect, parentWindow.innerWidth, parentWindow.innerHeight);\n // istanbul ignore next\n if (renderDirection !== this.state.direction)\n this.setState({ direction: renderDirection });\n }\n }\n\n private _updateHotkey = (node: React.ReactNode) => {\n let hotKey: string | undefined;\n const isDisabled = ConditionalBooleanValue.getValue(this.props.disabled);\n const isHidden = ConditionalBooleanValue.getValue(this.props.hidden);\n if (!isDisabled && !isHidden)\n hotKey = TildeFinder.findAfterTilde(node).character;\n else\n hotKey = undefined;\n if (hotKey && hotKey !== this.state.hotKey) {\n this.setState({ hotKey });\n if (this.props.onHotKeyParsed)\n this.props.onHotKeyParsed(hotKey);\n }\n };\n\n public select = () => {\n this.setState({ opened: true }, () => {\n // istanbul ignore else\n if (this._menuElement)\n this._menuElement.focus();\n if (this.props.onSelect !== undefined)\n this.props.onSelect(undefined);\n });\n };\n\n public close = (propagate?: boolean) => {\n this.setState({ opened: false }, () => {\n // istanbul ignore else\n if (this._menuElement)\n this._menuElement.blur();\n });\n // istanbul ignore next\n if (propagate && this.props.parentMenu && this.props.parentMenu.props.parentSubmenu) {\n this.props.parentMenu.props.parentSubmenu.close(true);\n }\n };\n\n private _handleMouseOver = (_event: React.MouseEvent<HTMLDivElement>) => {\n // istanbul ignore else\n if (this._menuButtonElement && this._menuButtonElement.style.visibility !== \"hidden\" && this.props.onHover) {\n this.props.onHover();\n }\n };\n\n private _handleClick = (event: any) => {\n event.stopPropagation();\n\n const isDisabled = ConditionalBooleanValue.getValue(this.props.disabled);\n\n // istanbul ignore else\n if (!isDisabled) {\n // istanbul ignore else\n if (this.props.onClick !== undefined)\n this.props.onClick(event);\n // istanbul ignore next\n if (this.props.opened)\n this.close();\n else\n this.select();\n }\n };\n\n private _handleClickGlobal = (event: any) => {\n if (this._subMenuElement && !this._subMenuElement.contains(event.target))\n this.setState((_prevState) => ({ opened: false }));\n };\n}\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 +1 @@
1
- {"version":3,"file":"GlobalContextMenu.d.ts","sourceRoot":"","sources":["../../../../src/core-react/contextmenu/GlobalContextMenu.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAe,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,gBAAgB;IAC9D,qJAAqJ;IACrJ,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2DAA2D;IAC3D,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACnB,yDAAyD;IACzD,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACnB,iDAAiD;IACjD,oBAAoB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;CAC9D;AAED,gBAAgB;AAChB,UAAU,sBAAsB;IAC9B,cAAc,EAAE,QAAQ,GAAG,IAAI,CAAC;CACjC;AAED;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,KAAK,CAAC,aAAa,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;IACxG,OAAO,CAAC,UAAU,CAAC,CAAiB;IAEpC,SAAyB,KAAK,EAAE,sBAAsB,CAEpD;gBAEU,KAAK,EAAE,sBAAsB;IAIzB,oBAAoB;IAOpC,OAAO,CAAC,aAAa,CAgBnB;IAEc,MAAM,IAAI,KAAK,CAAC,SAAS;CAqB1C"}
1
+ {"version":3,"file":"GlobalContextMenu.d.ts","sourceRoot":"","sources":["../../../../src/core-react/contextmenu/GlobalContextMenu.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAe,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,gBAAgB;IAC9D,qJAAqJ;IACrJ,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2DAA2D;IAC3D,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACnB,yDAAyD;IACzD,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACnB,iDAAiD;IACjD,oBAAoB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;CAC9D;AAED,gBAAgB;AAChB,UAAU,sBAAsB;IAC9B,cAAc,EAAE,QAAQ,GAAG,IAAI,CAAC;CACjC;AAED;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,KAAK,CAAC,aAAa,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;IACxG,OAAO,CAAC,UAAU,CAAC,CAAiB;IAEpC,SAAyB,KAAK,EAAE,sBAAsB,CAEpD;gBAEU,KAAK,EAAE,sBAAsB;IAIzB,oBAAoB;IAOpC,OAAO,CAAC,aAAa,CAiBnB;IAEc,MAAM,IAAI,KAAK,CAAC,SAAS;CAuB1C"}
@@ -21,8 +21,7 @@ class GlobalContextMenu extends React.PureComponent {
21
21
  parentDocument: null,
22
22
  };
23
23
  this._handleRefSet = (popupDiv) => {
24
- var _a;
25
- const parentDocument = (_a = popupDiv === null || popupDiv === void 0 ? void 0 : popupDiv.ownerDocument) !== null && _a !== void 0 ? _a : null;
24
+ const parentDocument = popupDiv?.ownerDocument ?? null;
26
25
  if (parentDocument) {
27
26
  this._container = parentDocument.createElement("div");
28
27
  this._container.id = this.props.identifier !== undefined ? `dialog-${this.props.identifier}` : "core-global-context-menu";
@@ -30,7 +29,8 @@ class GlobalContextMenu extends React.PureComponent {
30
29
  if (!rt) {
31
30
  rt = parentDocument.createElement("div");
32
31
  rt.id = "core-global-context-menu-root";
33
- parentDocument.body.appendChild(rt);
32
+ // istanbul ignore next
33
+ (parentDocument.body.querySelector('[data-root-container="iui-root-id"]') ?? parentDocument.body).appendChild(rt);
34
34
  }
35
35
  rt.appendChild(this._container);
36
36
  // used to support component rendering in pop-out window
@@ -53,7 +53,9 @@ class GlobalContextMenu extends React.PureComponent {
53
53
  const CtxMenu = contextMenuComponent || ContextMenu_1.ContextMenu; // eslint-disable-line @typescript-eslint/naming-convention
54
54
  return (React.createElement("div", { ref: this._handleRefSet, style: { display: "none" } }, this.state.parentDocument &&
55
55
  ReactDOM.createPortal(React.createElement("div", { className: "core-context-menu-global", style: positioningStyle },
56
- React.createElement(CtxMenu, { ...props })), this.state.parentDocument.body)));
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)));
57
59
  }
58
60
  }
59
61
  exports.GlobalContextMenu = GlobalContextMenu;
@@ -1 +1 @@
1
- {"version":3,"file":"GlobalContextMenu.js","sourceRoot":"","sources":["../../../../src/core-react/contextmenu/GlobalContextMenu.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,+BAA+B;AAC/B,sCAAsC;AACtC,+CAA8D;AAqB9D;;GAEG;AACH,MAAa,iBAAkB,SAAQ,KAAK,CAAC,aAA6D;IAOxG,YAAY,KAA6B;QACvC,KAAK,CAAC,KAAK,CAAC,CAAC;QALU,UAAK,GAA2B;YACvD,cAAc,EAAE,IAAI;SACrB,CAAC;QAaM,kBAAa,GAAG,CAAC,QAA4B,EAAE,EAAE;;YACvD,MAAM,cAAc,GAAG,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,aAAa,mCAAI,IAAI,CAAC;YACvD,IAAI,cAAc,EAAE;gBAClB,IAAI,CAAC,UAAU,GAAG,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBACtD,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,0BAA0B,CAAC;gBAC1H,IAAI,EAAE,GAAG,cAAc,CAAC,cAAc,CAAC,+BAA+B,CAAmB,CAAC;gBAC1F,IAAI,CAAC,EAAE,EAAE;oBACP,EAAE,GAAG,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACzC,EAAE,CAAC,EAAE,GAAG,+BAA+B,CAAC;oBACxC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;iBACrC;gBACD,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAEhC,wDAAwD;gBACxD,IAAI,CAAC,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC;aACnC;QACH,CAAC,CAAC;IAzBF,CAAC;IAEe,oBAAoB;QAClC,uBAAuB;QACvB,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,EAAE,UAAU;YAChE,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SAC5D;IACH,CAAC;IAoBe,MAAM;QACpB,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,oBAAoB,EAAE,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,wDAAwD;QACjI,MAAM,gBAAgB,GAAwB;YAC5C,IAAI,EAAE,CAAC;YACP,GAAG,EAAE,CAAC;SACP,CAAC;QAEF,MAAM,OAAO,GAAG,oBAAoB,IAAI,yBAAW,CAAC,CAAC,2DAA2D;QAEhH,OAAO,CACL,6BAAK,GAAG,EAAE,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,IACrD,IAAI,CAAC,KAAK,CAAC,cAAc;YACxB,QAAQ,CAAC,YAAY,CACnB,6BAAK,SAAS,EAAC,0BAA0B,EAAC,KAAK,EAAE,gBAAgB;gBAC/D,oBAAC,OAAO,OACF,KAAK,GAAI,CACV,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAExC,CACP,CAAC;IACJ,CAAC;CACF;AAzDD,8CAyDC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module ContextMenu\n */\n\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { ContextMenu, ContextMenuProps } from \"./ContextMenu\";\n\n/** Properties for the [[GlobalContextMenu]] component\n * @public\n */\nexport interface GlobalContextMenuProps extends ContextMenuProps {\n /** Unique identifier, to distinguish from other GlobalContextMenu components. Needed only if multiple GlobalContextMenus are used simultaneously. */\n identifier?: string;\n /** Specifies the x/horizontal position on the viewport. */\n x: number | string;\n /** Specifies the y/vertical position on the viewport. */\n y: number | string;\n /** Context menu element. Default: ContextMenu */\n contextMenuComponent?: React.ComponentType<ContextMenuProps>;\n}\n\n/** @internal */\ninterface GlobalContextMenuState {\n parentDocument: Document | null;\n}\n\n/** GlobalContextMenu React component used to display a [[ContextMenu]] at the cursor\n * @public\n */\nexport class GlobalContextMenu extends React.PureComponent<GlobalContextMenuProps, GlobalContextMenuState> {\n private _container?: HTMLDivElement;\n\n public override readonly state: GlobalContextMenuState = {\n parentDocument: null,\n };\n\n constructor(props: GlobalContextMenuProps) {\n super(props);\n }\n\n public override componentWillUnmount() {\n // istanbul ignore else\n if (this._container && this._container.parentElement) { // cleanup\n this._container.parentElement.removeChild(this._container);\n }\n }\n\n private _handleRefSet = (popupDiv: HTMLElement | null) => {\n const parentDocument = popupDiv?.ownerDocument ?? null;\n if (parentDocument) {\n this._container = parentDocument.createElement(\"div\");\n this._container.id = this.props.identifier !== undefined ? `dialog-${this.props.identifier}` : \"core-global-context-menu\";\n let rt = parentDocument.getElementById(\"core-global-context-menu-root\") as HTMLDivElement;\n if (!rt) {\n rt = parentDocument.createElement(\"div\");\n rt.id = \"core-global-context-menu-root\";\n parentDocument.body.appendChild(rt);\n }\n rt.appendChild(this._container);\n\n // used to support component rendering in pop-out window\n this.setState({ parentDocument });\n }\n };\n\n public override render(): React.ReactNode {\n const { x, y, identifier, contextMenuComponent, ...props } = this.props; // eslint-disable-line @typescript-eslint/no-unused-vars\n const positioningStyle: React.CSSProperties = {\n left: x,\n top: y,\n };\n\n const CtxMenu = contextMenuComponent || ContextMenu; // eslint-disable-line @typescript-eslint/naming-convention\n\n return (\n <div ref={this._handleRefSet} style={{ display: \"none\" }}>\n {this.state.parentDocument &&\n ReactDOM.createPortal(\n <div className=\"core-context-menu-global\" style={positioningStyle}>\n <CtxMenu\n {...props} />\n </div >, this.state.parentDocument.body)\n }\n </div>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"GlobalContextMenu.js","sourceRoot":"","sources":["../../../../src/core-react/contextmenu/GlobalContextMenu.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,+BAA+B;AAC/B,sCAAsC;AACtC,+CAA8D;AAqB9D;;GAEG;AACH,MAAa,iBAAkB,SAAQ,KAAK,CAAC,aAA6D;IAOxG,YAAY,KAA6B;QACvC,KAAK,CAAC,KAAK,CAAC,CAAC;QALU,UAAK,GAA2B;YACvD,cAAc,EAAE,IAAI;SACrB,CAAC;QAaM,kBAAa,GAAG,CAAC,QAA4B,EAAE,EAAE;YACvD,MAAM,cAAc,GAAG,QAAQ,EAAE,aAAa,IAAI,IAAI,CAAC;YACvD,IAAI,cAAc,EAAE;gBAClB,IAAI,CAAC,UAAU,GAAG,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBACtD,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,0BAA0B,CAAC;gBAC1H,IAAI,EAAE,GAAG,cAAc,CAAC,cAAc,CAAC,+BAA+B,CAAmB,CAAC;gBAC1F,IAAI,CAAC,EAAE,EAAE;oBACP,EAAE,GAAG,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACzC,EAAE,CAAC,EAAE,GAAG,+BAA+B,CAAC;oBACxC,uBAAuB;oBACvB,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,qCAAqC,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;iBACnH;gBACD,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAEhC,wDAAwD;gBACxD,IAAI,CAAC,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC;aACnC;QACH,CAAC,CAAC;IA1BF,CAAC;IAEe,oBAAoB;QAClC,uBAAuB;QACvB,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,EAAE,UAAU;YAChE,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SAC5D;IACH,CAAC;IAqBe,MAAM;QACpB,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,oBAAoB,EAAE,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,wDAAwD;QACjI,MAAM,gBAAgB,GAAwB;YAC5C,IAAI,EAAE,CAAC;YACP,GAAG,EAAE,CAAC;SACP,CAAC;QAEF,MAAM,OAAO,GAAG,oBAAoB,IAAI,yBAAW,CAAC,CAAC,2DAA2D;QAEhH,OAAO,CACL,6BAAK,GAAG,EAAE,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,IACrD,IAAI,CAAC,KAAK,CAAC,cAAc;YACxB,QAAQ,CAAC,YAAY,CACnB,6BAAK,SAAS,EAAC,0BAA0B,EAAC,KAAK,EAAE,gBAAgB;gBAC/D,oBAAC,OAAO,OACF,KAAK,GAAI,CACV;YACP,uBAAuB;YACvB,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,qCAAqC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAEtH,CACP,CAAC;IACJ,CAAC;CACF;AA5DD,8CA4DC","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 * as ReactDOM from \"react-dom\";\r\nimport { ContextMenu, ContextMenuProps } from \"./ContextMenu\";\r\n\r\n/** Properties for the [[GlobalContextMenu]] component\r\n * @public\r\n */\r\nexport interface GlobalContextMenuProps extends ContextMenuProps {\r\n /** Unique identifier, to distinguish from other GlobalContextMenu components. Needed only if multiple GlobalContextMenus are used simultaneously. */\r\n identifier?: string;\r\n /** Specifies the x/horizontal position on the viewport. */\r\n x: number | string;\r\n /** Specifies the y/vertical position on the viewport. */\r\n y: number | string;\r\n /** Context menu element. Default: ContextMenu */\r\n contextMenuComponent?: React.ComponentType<ContextMenuProps>;\r\n}\r\n\r\n/** @internal */\r\ninterface GlobalContextMenuState {\r\n parentDocument: Document | null;\r\n}\r\n\r\n/** GlobalContextMenu React component used to display a [[ContextMenu]] at the cursor\r\n * @public\r\n */\r\nexport class GlobalContextMenu extends React.PureComponent<GlobalContextMenuProps, GlobalContextMenuState> {\r\n private _container?: HTMLDivElement;\r\n\r\n public override readonly state: GlobalContextMenuState = {\r\n parentDocument: null,\r\n };\r\n\r\n constructor(props: GlobalContextMenuProps) {\r\n super(props);\r\n }\r\n\r\n public override componentWillUnmount() {\r\n // istanbul ignore else\r\n if (this._container && this._container.parentElement) { // cleanup\r\n this._container.parentElement.removeChild(this._container);\r\n }\r\n }\r\n\r\n private _handleRefSet = (popupDiv: HTMLElement | null) => {\r\n const parentDocument = popupDiv?.ownerDocument ?? null;\r\n if (parentDocument) {\r\n this._container = parentDocument.createElement(\"div\");\r\n this._container.id = this.props.identifier !== undefined ? `dialog-${this.props.identifier}` : \"core-global-context-menu\";\r\n let rt = parentDocument.getElementById(\"core-global-context-menu-root\") as HTMLDivElement;\r\n if (!rt) {\r\n rt = parentDocument.createElement(\"div\");\r\n rt.id = \"core-global-context-menu-root\";\r\n // istanbul ignore next\r\n (parentDocument.body.querySelector('[data-root-container=\"iui-root-id\"]') ?? parentDocument.body).appendChild(rt);\r\n }\r\n rt.appendChild(this._container);\r\n\r\n // used to support component rendering in pop-out window\r\n this.setState({ parentDocument });\r\n }\r\n };\r\n\r\n public override render(): React.ReactNode {\r\n const { x, y, identifier, contextMenuComponent, ...props } = this.props; // eslint-disable-line @typescript-eslint/no-unused-vars\r\n const positioningStyle: React.CSSProperties = {\r\n left: x,\r\n top: y,\r\n };\r\n\r\n const CtxMenu = contextMenuComponent || ContextMenu; // eslint-disable-line @typescript-eslint/naming-convention\r\n\r\n return (\r\n <div ref={this._handleRefSet} style={{ display: \"none\" }}>\r\n {this.state.parentDocument &&\r\n ReactDOM.createPortal(\r\n <div className=\"core-context-menu-global\" style={positioningStyle}>\r\n <CtxMenu\r\n {...props} />\r\n </div >,\r\n // istanbul ignore next\r\n this.state.parentDocument.body.querySelector('[data-root-container=\"iui-root-id\"]') ?? this.state.parentDocument.body)\r\n }\r\n </div>\r\n );\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"PopupContextMenu.js","sourceRoot":"","sources":["../../../../src/core-react/contextmenu/PopupContextMenu.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,+BAA+B;AAC/B,0CAAuC;AACvC,+CAA4C;AAC5C,0DAAyD;AAEzD,iEAA8D;AAgD9D;;GAEG;AACH,SAAgB,gBAAgB,CAAC,KAA4B;IAC3D,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,UAAU,EAAE,GAAG,KAAK,CAAC;IACpH,MAAM,aAAa,GAAG,2CAA2C,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACvF,OAAO,CACL,oBAAC,aAAK,OAAK,UAAU,EAAE,8BAA8B,QACnD,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EACpD,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE;QACnC,oBAAC,yBAAW,IACV,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAC9C,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EACxC,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EACxD,SAAS,EAAE,aAAa,IAEvB,QAAQ,CACG,CACP,CACV,CAAC;AACJ,CAAC;AAjBD,4CAiBC;AAED,SAAS,2CAA2C,CAAC,gBAAmC;IACtF,IAAI,aAAa,GAAG,2CAAoB,CAAC,MAAM,CAAC;IAChD,QAAQ,gBAAgB,EAAE;QACxB,KAAK,iCAAgB,CAAC,GAAG;YACvB,aAAa,GAAG,2CAAoB,CAAC,GAAG,CAAC;YACzC,MAAM;QACR,KAAK,iCAAgB,CAAC,OAAO;YAC3B,aAAa,GAAG,2CAAoB,CAAC,QAAQ,CAAC;YAC9C,MAAM;QACR,KAAK,iCAAgB,CAAC,QAAQ;YAC5B,aAAa,GAAG,2CAAoB,CAAC,OAAO,CAAC;YAC7C,MAAM;QACR,KAAK,iCAAgB,CAAC,IAAI;YACxB,aAAa,GAAG,2CAAoB,CAAC,IAAI,CAAC;YAC1C,MAAM;QACR,KAAK,iCAAgB,CAAC,KAAK;YACzB,aAAa,GAAG,2CAAoB,CAAC,KAAK,CAAC;YAC3C,MAAM;QACR,KAAK,iCAAgB,CAAC,MAAM;YAC1B,aAAa,GAAG,2CAAoB,CAAC,MAAM,CAAC;YAC5C,MAAM;QACR,KAAK,iCAAgB,CAAC,UAAU;YAC9B,aAAa,GAAG,2CAAoB,CAAC,WAAW,CAAC;YACjD,MAAM;QACR,KAAK,iCAAgB,CAAC,WAAW;YAC/B,aAAa,GAAG,2CAAoB,CAAC,UAAU,CAAC;YAChD,MAAM;KACT;IACD,OAAO,aAAa,CAAC;AACvB,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module ContextMenu\n */\n\nimport * as React from \"react\";\nimport { Popup } from \"../popup/Popup\";\nimport { ContextMenu } from \"./ContextMenu\";\nimport { RelativePosition } from \"@itwin/appui-abstract\";\nimport { CommonProps } from \"../utils/Props\";\nimport { ContextMenuDirection } from \"./ContextMenuDirection\";\n\n/** Properties for [[PopupContextMenu]] component\n * @public\n */\nexport interface PopupContextMenuProps extends CommonProps {\n /** Indicates whether the popup is shown or not (defaults to false) */\n isOpen: boolean;\n /** Direction (relative to the target) to which the popup is expanded (defaults to Bottom) */\n position?: RelativePosition;\n /** Target element to position popup */\n target?: HTMLElement | null;\n /** Function called when the popup is opened */\n onOpen?: () => void;\n /** Function called when user clicks outside the popup */\n onOutsideClick?: (e: MouseEvent) => void;\n /** Function called when the popup is closed */\n onClose?: () => void;\n /** Function called when the popup is closed on Enter */\n onEnter?: () => void;\n /** Top position (absolute positioning - defaults to 0) */\n top?: number;\n /** Left position (absolute positioning - defaults to 0) */\n left?: number;\n /** Offset from the parent (defaults to 4) */\n offset?: number;\n /** accessibility label */\n ariaLabel?: string;\n /** Indicates whether to use animation for open/close (defaults to true) */\n animate?: boolean;\n\n /** When list item or submenu is selected */\n onSelect?: (event: React.MouseEvent | undefined) => void;\n /** when Escape button is pressed */\n onEsc?: (event: React.KeyboardEvent) => void;\n /** Whether menu flips directions based on screen edge. Default: true */\n autoflip?: boolean;\n /** Whether menu hugs screen edge when autoflip is off. Default: true */\n edgeLimit?: boolean;\n /** Whether Hotkey press selects item, or just highlights item. Default: true */\n hotkeySelect?: boolean;\n /** starting menu item selected index Default: -1 */\n selectedIndex?: number;\n\n /** ContextMenu items */\n children?: React.ReactNode;\n}\n\n/** Component that displays a ContextMenu within a Popup component, allowing the target element to be specified.\n * @public\n */\nexport function PopupContextMenu(props: PopupContextMenuProps) {\n const { style, onSelect, onEsc, autoflip, edgeLimit, hotkeySelect, selectedIndex, children, ...popupProps } = props;\n const menuDirection = getContextMenuDirectionFromRelativePosition(popupProps.position);\n return (\n <Popup {...popupProps} closeOnNestedPopupOutsideClick\n showShadow={false} showArrow={false} moveFocus={true}\n style={{ ...style, border: \"none\" }}>\n <ContextMenu\n opened={true} onSelect={onSelect} onEsc={onEsc}\n autoflip={autoflip} edgeLimit={edgeLimit}\n hotkeySelect={hotkeySelect} selectedIndex={selectedIndex}\n direction={menuDirection}\n >\n {children}\n </ContextMenu>\n </Popup >\n );\n}\n\nfunction getContextMenuDirectionFromRelativePosition(relativePosition?: RelativePosition): ContextMenuDirection {\n let menuDirection = ContextMenuDirection.Bottom;\n switch (relativePosition) {\n case RelativePosition.Top:\n menuDirection = ContextMenuDirection.Top;\n break;\n case RelativePosition.TopLeft:\n menuDirection = ContextMenuDirection.TopRight;\n break;\n case RelativePosition.TopRight:\n menuDirection = ContextMenuDirection.TopLeft;\n break;\n case RelativePosition.Left:\n menuDirection = ContextMenuDirection.Left;\n break;\n case RelativePosition.Right:\n menuDirection = ContextMenuDirection.Right;\n break;\n case RelativePosition.Bottom:\n menuDirection = ContextMenuDirection.Bottom;\n break;\n case RelativePosition.BottomLeft:\n menuDirection = ContextMenuDirection.BottomRight;\n break;\n case RelativePosition.BottomRight:\n menuDirection = ContextMenuDirection.BottomLeft;\n break;\n }\n return menuDirection;\n}\n"]}
1
+ {"version":3,"file":"PopupContextMenu.js","sourceRoot":"","sources":["../../../../src/core-react/contextmenu/PopupContextMenu.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,+BAA+B;AAC/B,0CAAuC;AACvC,+CAA4C;AAC5C,0DAAyD;AAEzD,iEAA8D;AAgD9D;;GAEG;AACH,SAAgB,gBAAgB,CAAC,KAA4B;IAC3D,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,UAAU,EAAE,GAAG,KAAK,CAAC;IACpH,MAAM,aAAa,GAAG,2CAA2C,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACvF,OAAO,CACL,oBAAC,aAAK,OAAK,UAAU,EAAE,8BAA8B,QACnD,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EACpD,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE;QACnC,oBAAC,yBAAW,IACV,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAC9C,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EACxC,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EACxD,SAAS,EAAE,aAAa,IAEvB,QAAQ,CACG,CACP,CACV,CAAC;AACJ,CAAC;AAjBD,4CAiBC;AAED,SAAS,2CAA2C,CAAC,gBAAmC;IACtF,IAAI,aAAa,GAAG,2CAAoB,CAAC,MAAM,CAAC;IAChD,QAAQ,gBAAgB,EAAE;QACxB,KAAK,iCAAgB,CAAC,GAAG;YACvB,aAAa,GAAG,2CAAoB,CAAC,GAAG,CAAC;YACzC,MAAM;QACR,KAAK,iCAAgB,CAAC,OAAO;YAC3B,aAAa,GAAG,2CAAoB,CAAC,QAAQ,CAAC;YAC9C,MAAM;QACR,KAAK,iCAAgB,CAAC,QAAQ;YAC5B,aAAa,GAAG,2CAAoB,CAAC,OAAO,CAAC;YAC7C,MAAM;QACR,KAAK,iCAAgB,CAAC,IAAI;YACxB,aAAa,GAAG,2CAAoB,CAAC,IAAI,CAAC;YAC1C,MAAM;QACR,KAAK,iCAAgB,CAAC,KAAK;YACzB,aAAa,GAAG,2CAAoB,CAAC,KAAK,CAAC;YAC3C,MAAM;QACR,KAAK,iCAAgB,CAAC,MAAM;YAC1B,aAAa,GAAG,2CAAoB,CAAC,MAAM,CAAC;YAC5C,MAAM;QACR,KAAK,iCAAgB,CAAC,UAAU;YAC9B,aAAa,GAAG,2CAAoB,CAAC,WAAW,CAAC;YACjD,MAAM;QACR,KAAK,iCAAgB,CAAC,WAAW;YAC/B,aAAa,GAAG,2CAAoB,CAAC,UAAU,CAAC;YAChD,MAAM;KACT;IACD,OAAO,aAAa,CAAC;AACvB,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 { Popup } from \"../popup/Popup\";\r\nimport { ContextMenu } from \"./ContextMenu\";\r\nimport { RelativePosition } from \"@itwin/appui-abstract\";\r\nimport { CommonProps } from \"../utils/Props\";\r\nimport { ContextMenuDirection } from \"./ContextMenuDirection\";\r\n\r\n/** Properties for [[PopupContextMenu]] component\r\n * @public\r\n */\r\nexport interface PopupContextMenuProps extends CommonProps {\r\n /** Indicates whether the popup is shown or not (defaults to false) */\r\n isOpen: boolean;\r\n /** Direction (relative to the target) to which the popup is expanded (defaults to Bottom) */\r\n position?: RelativePosition;\r\n /** Target element to position popup */\r\n target?: HTMLElement | null;\r\n /** Function called when the popup is opened */\r\n onOpen?: () => void;\r\n /** Function called when user clicks outside the popup */\r\n onOutsideClick?: (e: MouseEvent) => void;\r\n /** Function called when the popup is closed */\r\n onClose?: () => void;\r\n /** Function called when the popup is closed on Enter */\r\n onEnter?: () => void;\r\n /** Top position (absolute positioning - defaults to 0) */\r\n top?: number;\r\n /** Left position (absolute positioning - defaults to 0) */\r\n left?: number;\r\n /** Offset from the parent (defaults to 4) */\r\n offset?: number;\r\n /** accessibility label */\r\n ariaLabel?: string;\r\n /** Indicates whether to use animation for open/close (defaults to true) */\r\n animate?: boolean;\r\n\r\n /** When list item or submenu is selected */\r\n onSelect?: (event: React.MouseEvent | undefined) => void;\r\n /** when Escape button is pressed */\r\n onEsc?: (event: React.KeyboardEvent) => void;\r\n /** Whether menu flips directions based on screen edge. Default: true */\r\n autoflip?: boolean;\r\n /** Whether menu hugs screen edge when autoflip is off. Default: true */\r\n edgeLimit?: boolean;\r\n /** Whether Hotkey press selects item, or just highlights item. Default: true */\r\n hotkeySelect?: boolean;\r\n /** starting menu item selected index Default: -1 */\r\n selectedIndex?: number;\r\n\r\n /** ContextMenu items */\r\n children?: React.ReactNode;\r\n}\r\n\r\n/** Component that displays a ContextMenu within a Popup component, allowing the target element to be specified.\r\n * @public\r\n */\r\nexport function PopupContextMenu(props: PopupContextMenuProps) {\r\n const { style, onSelect, onEsc, autoflip, edgeLimit, hotkeySelect, selectedIndex, children, ...popupProps } = props;\r\n const menuDirection = getContextMenuDirectionFromRelativePosition(popupProps.position);\r\n return (\r\n <Popup {...popupProps} closeOnNestedPopupOutsideClick\r\n showShadow={false} showArrow={false} moveFocus={true}\r\n style={{ ...style, border: \"none\" }}>\r\n <ContextMenu\r\n opened={true} onSelect={onSelect} onEsc={onEsc}\r\n autoflip={autoflip} edgeLimit={edgeLimit}\r\n hotkeySelect={hotkeySelect} selectedIndex={selectedIndex}\r\n direction={menuDirection}\r\n >\r\n {children}\r\n </ContextMenu>\r\n </Popup >\r\n );\r\n}\r\n\r\nfunction getContextMenuDirectionFromRelativePosition(relativePosition?: RelativePosition): ContextMenuDirection {\r\n let menuDirection = ContextMenuDirection.Bottom;\r\n switch (relativePosition) {\r\n case RelativePosition.Top:\r\n menuDirection = ContextMenuDirection.Top;\r\n break;\r\n case RelativePosition.TopLeft:\r\n menuDirection = ContextMenuDirection.TopRight;\r\n break;\r\n case RelativePosition.TopRight:\r\n menuDirection = ContextMenuDirection.TopLeft;\r\n break;\r\n case RelativePosition.Left:\r\n menuDirection = ContextMenuDirection.Left;\r\n break;\r\n case RelativePosition.Right:\r\n menuDirection = ContextMenuDirection.Right;\r\n break;\r\n case RelativePosition.Bottom:\r\n menuDirection = ContextMenuDirection.Bottom;\r\n break;\r\n case RelativePosition.BottomLeft:\r\n menuDirection = ContextMenuDirection.BottomRight;\r\n break;\r\n case RelativePosition.BottomRight:\r\n menuDirection = ContextMenuDirection.BottomLeft;\r\n break;\r\n }\r\n return menuDirection;\r\n}\r\n"]}
@@ -14,7 +14,6 @@ const React = require("react");
14
14
  */
15
15
  class TildeFinder {
16
16
  }
17
- exports.TildeFinder = TildeFinder;
18
17
  /**
19
18
  * Find character following a tilde character within a React.ReactNode.
20
19
  * @param node react node to search within for a tilde.
@@ -68,4 +67,5 @@ TildeFinder.findAfterTilde = (node) => {
68
67
  }
69
68
  return { character: undefined, node };
70
69
  };
70
+ exports.TildeFinder = TildeFinder;
71
71
  //# sourceMappingURL=TildeFinder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TildeFinder.js","sourceRoot":"","sources":["../../../../src/core-react/contextmenu/TildeFinder.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,+BAA+B;AAE/B;;GAEG;AACH,MAAa,WAAW;;AAAxB,kCAoDC;AAnDC;;;;GAIG;AACW,0BAAc,GAAG,CAAC,IAAqB,EAA4D,EAAE;IACjH,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QAC5B,SAAS;QACT,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,UAAU,KAAK,CAAC,CAAC,IAAI,UAAU,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YACtD,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;YACvC,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;YACzC,MAAM,CAAC,GAAG,2BAAG,GAAG,EAAC,QAAQ,IAAE,EAAE,CAAK,CAAC;YACnC,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;YAC1C,OAAO,EAAE,SAAS,EAAE,EAAE,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;SAC3D;KACF;SAAM,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QAC3C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACvB,QAAQ;YACR,IAAI,GAAG,GAA6D,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;YACnG,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;gBACxB,MAAM,CAAC,GAAG,WAAW,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;gBAC5C,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,4EAA4E;oBAC7F,GAAG,GAAG,CAAC,CAAC;oBACR,OAAO,CAAC,CAAC,IAAI,CAAC;iBACf;gBACD,OAAO,KAAK,CAAC;YACf,CAAC,CAAC,CAAC;YACH,IAAI,GAAG,CAAC,SAAS,EAAE;gBACjB,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC;aAC3C;SACF;aAAM,IAAI,OAAO,IAAI,IAAI,EAAE;YAC1B,aAAa;YACb,MAAM,GAAG,GAA6D,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;YACrG,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE;gBAClC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAA2B,EAAE,CAAC,KAAsB,EAAE,EAAE;oBAC9F,MAAM,CAAC,GAAG,WAAW,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;oBAC5C,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,4EAA4E;wBAC7F,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC;wBAC5B,OAAO,CAAC,CAAC,IAAI,CAAC;qBACf;oBACD,OAAO,KAAK,CAAC;gBACf,CAAC,CAAC;aACH,CAAC,CAAC;YACH,IAAI,GAAG,CAAC,SAAS,EAAE;gBACjB,OAAO,GAAG,CAAC;aACZ;SACF;KACF;IACD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AACxC,CAAC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module ContextMenu\n */\n\nimport * as React from \"react\";\n\n/** Finds a tilde character in ContextMenu item label for hot key support\n * @internal\n */\nexport class TildeFinder {\n /**\n * Find character following a tilde character within a React.ReactNode.\n * @param node react node to search within for a tilde.\n * @returns character that was found, and the same node with tilde removed, and following character with an underline.\n */\n public static findAfterTilde = (node: React.ReactNode): { character: string | undefined, node: React.ReactNode } => {\n if (typeof node === \"string\") {\n // String\n const tildeIndex = node.indexOf(\"~\");\n if (tildeIndex !== -1 && tildeIndex <= node.length - 2) {\n const ch = node.charAt(tildeIndex + 1);\n const s1 = node.substring(0, tildeIndex);\n const n = <u key=\"hotkey\">{ch}</u>;\n const s2 = node.substring(tildeIndex + 2);\n return { character: ch.toUpperCase(), node: [s1, n, s2] };\n }\n } else if (node && typeof node === \"object\") {\n if (Array.isArray(node)) {\n // Array\n let ret: { character: string | undefined, node: React.ReactNode } = { character: undefined, node };\n node = node.map((child) => {\n const r = TildeFinder.findAfterTilde(child);\n if (r.character) { // if character is found, modify node instead of returning unmodified child.\n ret = r;\n return r.node;\n }\n return child;\n });\n if (ret.character) {\n return { character: ret.character, node };\n }\n } else if (\"props\" in node) {\n // React Node\n const ret: { character: string | undefined, node: React.ReactNode } = { character: undefined, node };\n ret.node = React.cloneElement(node, {\n children: React.Children.map(node.props.children as React.ReactNode, (child: React.ReactNode) => {\n const r = TildeFinder.findAfterTilde(child);\n if (r.character) { // if character is found, modify node instead of returning unmodified child.\n ret.character = r.character;\n return r.node;\n }\n return child;\n }),\n });\n if (ret.character) {\n return ret;\n }\n }\n }\n return { character: undefined, node };\n };\n}\n"]}
1
+ {"version":3,"file":"TildeFinder.js","sourceRoot":"","sources":["../../../../src/core-react/contextmenu/TildeFinder.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,+BAA+B;AAE/B;;GAEG;AACH,MAAa,WAAW;;AACtB;;;;GAIG;AACW,0BAAc,GAAG,CAAC,IAAqB,EAA4D,EAAE;IACjH,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QAC5B,SAAS;QACT,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,UAAU,KAAK,CAAC,CAAC,IAAI,UAAU,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YACtD,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;YACvC,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;YACzC,MAAM,CAAC,GAAG,2BAAG,GAAG,EAAC,QAAQ,IAAE,EAAE,CAAK,CAAC;YACnC,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;YAC1C,OAAO,EAAE,SAAS,EAAE,EAAE,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;SAC3D;KACF;SAAM,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QAC3C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACvB,QAAQ;YACR,IAAI,GAAG,GAA6D,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;YACnG,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;gBACxB,MAAM,CAAC,GAAG,WAAW,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;gBAC5C,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,4EAA4E;oBAC7F,GAAG,GAAG,CAAC,CAAC;oBACR,OAAO,CAAC,CAAC,IAAI,CAAC;iBACf;gBACD,OAAO,KAAK,CAAC;YACf,CAAC,CAAC,CAAC;YACH,IAAI,GAAG,CAAC,SAAS,EAAE;gBACjB,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC;aAC3C;SACF;aAAM,IAAI,OAAO,IAAI,IAAI,EAAE;YAC1B,aAAa;YACb,MAAM,GAAG,GAA6D,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;YACrG,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE;gBAClC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAA2B,EAAE,CAAC,KAAsB,EAAE,EAAE;oBAC9F,MAAM,CAAC,GAAG,WAAW,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;oBAC5C,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,4EAA4E;wBAC7F,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC;wBAC5B,OAAO,CAAC,CAAC,IAAI,CAAC;qBACf;oBACD,OAAO,KAAK,CAAC;gBACf,CAAC,CAAC;aACH,CAAC,CAAC;YACH,IAAI,GAAG,CAAC,SAAS,EAAE;gBACjB,OAAO,GAAG,CAAC;aACZ;SACF;KACF;IACD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AACxC,CAAC,CAAC;AAnDS,kCAAW","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\n\r\n/** Finds a tilde character in ContextMenu item label for hot key support\r\n * @internal\r\n */\r\nexport class TildeFinder {\r\n /**\r\n * Find character following a tilde character within a React.ReactNode.\r\n * @param node react node to search within for a tilde.\r\n * @returns character that was found, and the same node with tilde removed, and following character with an underline.\r\n */\r\n public static findAfterTilde = (node: React.ReactNode): { character: string | undefined, node: React.ReactNode } => {\r\n if (typeof node === \"string\") {\r\n // String\r\n const tildeIndex = node.indexOf(\"~\");\r\n if (tildeIndex !== -1 && tildeIndex <= node.length - 2) {\r\n const ch = node.charAt(tildeIndex + 1);\r\n const s1 = node.substring(0, tildeIndex);\r\n const n = <u key=\"hotkey\">{ch}</u>;\r\n const s2 = node.substring(tildeIndex + 2);\r\n return { character: ch.toUpperCase(), node: [s1, n, s2] };\r\n }\r\n } else if (node && typeof node === \"object\") {\r\n if (Array.isArray(node)) {\r\n // Array\r\n let ret: { character: string | undefined, node: React.ReactNode } = { character: undefined, node };\r\n node = node.map((child) => {\r\n const r = TildeFinder.findAfterTilde(child);\r\n if (r.character) { // if character is found, modify node instead of returning unmodified child.\r\n ret = r;\r\n return r.node;\r\n }\r\n return child;\r\n });\r\n if (ret.character) {\r\n return { character: ret.character, node };\r\n }\r\n } else if (\"props\" in node) {\r\n // React Node\r\n const ret: { character: string | undefined, node: React.ReactNode } = { character: undefined, node };\r\n ret.node = React.cloneElement(node, {\r\n children: React.Children.map(node.props.children as React.ReactNode, (child: React.ReactNode) => {\r\n const r = TildeFinder.findAfterTilde(child);\r\n if (r.character) { // if character is found, modify node instead of returning unmodified child.\r\n ret.character = r.character;\r\n return r.node;\r\n }\r\n return child;\r\n }),\r\n });\r\n if (ret.character) {\r\n return ret;\r\n }\r\n }\r\n }\r\n return { character: undefined, node };\r\n };\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../../../../src/core-react/dialog/Dialog.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../../../../src/core-react/dialog/Dialog.tsx"],"names":[],"mappings":"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"}
@@ -16,6 +16,8 @@ const DivWithOutsideClick_1 = require("../base/DivWithOutsideClick");
16
16
  const UiCore_1 = require("../UiCore");
17
17
  const FocusTrap_1 = require("../focustrap/FocusTrap");
18
18
  const itwinui_react_1 = require("@itwin/itwinui-react");
19
+ const IconComponent_1 = require("../icons/IconComponent");
20
+ const itwinui_icons_react_1 = require("@itwin/itwinui-icons-react");
19
21
  // cspell:ignore focustrap
20
22
  /** Enum for dialog alignment
21
23
  * @public
@@ -186,9 +188,8 @@ class Dialog extends React.Component {
186
188
  };
187
189
  }
188
190
  getParentWindow() {
189
- var _a;
190
191
  // istanbul ignore next
191
- return (_a = this._parentDocument.defaultView) !== null && _a !== void 0 ? _a : window;
192
+ return this._parentDocument.defaultView ?? window;
192
193
  }
193
194
  componentWillUnmount() {
194
195
  const parentWindow = this.getParentWindow();
@@ -249,7 +250,8 @@ class Dialog extends React.Component {
249
250
  };
250
251
  const headerElement = header || (React.createElement("div", { className: (0, classnames_1.default)("core-dialog-head", { "core-dialog-movable": movable }, { "core-dialog-modal": modal }), "data-testid": "core-dialog-head", onPointerDown: this._handleStartMove },
251
252
  React.createElement("div", { className: "core-dialog-title", "data-testid": "core-dialog-title", style: titleStyle }, title),
252
- React.createElement("button", { className: "core-focus-trap-ignore-initial core-dialog-close icon icon-close", "data-testid": "core-dialog-close", onClick: onClose })));
253
+ React.createElement("button", { className: "core-focus-trap-ignore-initial core-dialog-close icon", "data-testid": "core-dialog-close", onClick: onClose },
254
+ React.createElement(IconComponent_1.Icon, { iconSpec: React.createElement(itwinui_icons_react_1.SvgClose, null) }))));
253
255
  return (React.createElement("div", { ref: this.handleRefSet, className: (0, classnames_1.default)("core-dialog", !modal && "core-dialog-hidden", opened && "core-dialog-opened", className), style: divStyle, "data-testid": "core-dialog-root", ...props }, opened &&
254
256
  React.createElement(DivWithOutsideClick_1.DivWithOutsideClick, { onOutsideClick: onOutsideClick },
255
257
  React.createElement(FocusTrap_1.FocusTrap, { active: trapFocus && modal, returnFocusOnDeactivate: true },
@@ -309,18 +311,22 @@ class Dialog extends React.Component {
309
311
  props.buttonCluster.forEach((button, index) => {
310
312
  let buttonText = "";
311
313
  let buttonClass = (0, classnames_1.default)("core-dialog-button", `dialog-button-${button.type}`, button.className);
314
+ let styleType;
312
315
  switch (button.type) {
313
316
  case appui_abstract_1.DialogButtonType.OK:
314
317
  buttonText = UiCore_1.UiCore.translate("dialog.ok");
315
- buttonClass = (0, classnames_1.default)(buttonClass, button.buttonStyle || "iui-cta");
318
+ buttonClass = (0, classnames_1.default)(buttonClass, button.buttonStyle);
319
+ styleType = "cta";
316
320
  break;
317
321
  case appui_abstract_1.DialogButtonType.Retry:
318
322
  buttonText = UiCore_1.UiCore.translate("dialog.retry");
319
- buttonClass = (0, classnames_1.default)(buttonClass, button.buttonStyle || "iui-cta");
323
+ buttonClass = (0, classnames_1.default)(buttonClass, button.buttonStyle);
324
+ styleType = "cta";
320
325
  break;
321
326
  case appui_abstract_1.DialogButtonType.Yes:
322
327
  buttonText = UiCore_1.UiCore.translate("dialog.yes");
323
- buttonClass = (0, classnames_1.default)(buttonClass, button.buttonStyle || "iui-cta");
328
+ buttonClass = (0, classnames_1.default)(buttonClass, button.buttonStyle);
329
+ styleType = "cta";
324
330
  break;
325
331
  case appui_abstract_1.DialogButtonType.No:
326
332
  buttonText = UiCore_1.UiCore.translate("dialog.no");
@@ -336,22 +342,23 @@ class Dialog extends React.Component {
336
342
  break;
337
343
  case appui_abstract_1.DialogButtonType.Next:
338
344
  buttonText = UiCore_1.UiCore.translate("dialog.next");
339
- buttonClass = (0, classnames_1.default)(buttonClass, button.buttonStyle || "iui-cta");
345
+ buttonClass = (0, classnames_1.default)(buttonClass, button.buttonStyle);
346
+ styleType = "cta";
340
347
  break;
341
348
  case appui_abstract_1.DialogButtonType.Previous:
342
349
  buttonText = UiCore_1.UiCore.translate("dialog.previous");
343
- buttonClass = (0, classnames_1.default)(buttonClass, button.buttonStyle || "iui-cta");
350
+ buttonClass = (0, classnames_1.default)(buttonClass, button.buttonStyle);
351
+ styleType = "cta";
344
352
  break;
345
353
  }
346
354
  if (button.label)
347
355
  buttonText = button.label;
348
- buttons.push(React.createElement(itwinui_react_1.Button, { className: buttonClass, disabled: button.disabled, key: index.toString(), onClick: button.onClick }, buttonText));
356
+ buttons.push(React.createElement(itwinui_react_1.Button, { className: buttonClass, disabled: button.disabled, styleType: styleType, key: index.toString(), onClick: button.onClick }, buttonText));
349
357
  });
350
358
  }
351
359
  return buttons;
352
360
  }
353
361
  }
354
- exports.Dialog = Dialog;
355
362
  Dialog.defaultProps = {
356
363
  alignment: DialogAlignment.Center,
357
364
  minWidth: 300,
@@ -364,4 +371,5 @@ Dialog.defaultProps = {
364
371
  inset: true,
365
372
  trapFocus: false,
366
373
  };
374
+ exports.Dialog = Dialog;
367
375
  //# sourceMappingURL=Dialog.js.map