@itwin/core-react 4.12.0 → 4.13.0

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 (374) hide show
  1. package/CHANGELOG.md +13 -1
  2. package/lib/cjs/core-react/autosuggest/AutoSuggest.d.ts +1 -1
  3. package/lib/cjs/core-react/autosuggest/AutoSuggest.d.ts.map +1 -1
  4. package/lib/cjs/core-react/autosuggest/AutoSuggest.js +2 -2
  5. package/lib/cjs/core-react/autosuggest/AutoSuggest.js.map +1 -1
  6. package/lib/cjs/core-react/base/Centered.d.ts +1 -0
  7. package/lib/cjs/core-react/base/Centered.d.ts.map +1 -1
  8. package/lib/cjs/core-react/base/Centered.js +2 -0
  9. package/lib/cjs/core-react/base/Centered.js.map +1 -1
  10. package/lib/cjs/core-react/base/Div.d.ts +2 -0
  11. package/lib/cjs/core-react/base/Div.d.ts.map +1 -1
  12. package/lib/cjs/core-react/base/Div.js +2 -0
  13. package/lib/cjs/core-react/base/Div.js.map +1 -1
  14. package/lib/cjs/core-react/base/DivWithOutsideClick.d.ts +1 -0
  15. package/lib/cjs/core-react/base/DivWithOutsideClick.d.ts.map +1 -1
  16. package/lib/cjs/core-react/base/DivWithOutsideClick.js +1 -0
  17. package/lib/cjs/core-react/base/DivWithOutsideClick.js.map +1 -1
  18. package/lib/cjs/core-react/base/FillCentered.d.ts +1 -0
  19. package/lib/cjs/core-react/base/FillCentered.d.ts.map +1 -1
  20. package/lib/cjs/core-react/base/FillCentered.js +2 -0
  21. package/lib/cjs/core-react/base/FillCentered.js.map +1 -1
  22. package/lib/cjs/core-react/base/FlexWrapContainer.d.ts +1 -0
  23. package/lib/cjs/core-react/base/FlexWrapContainer.d.ts.map +1 -1
  24. package/lib/cjs/core-react/base/FlexWrapContainer.js +2 -0
  25. package/lib/cjs/core-react/base/FlexWrapContainer.js.map +1 -1
  26. package/lib/cjs/core-react/base/Gap.d.ts +2 -0
  27. package/lib/cjs/core-react/base/Gap.d.ts.map +1 -1
  28. package/lib/cjs/core-react/base/Gap.js +3 -1
  29. package/lib/cjs/core-react/base/Gap.js.map +1 -1
  30. package/lib/cjs/core-react/base/ScrollView.d.ts +1 -0
  31. package/lib/cjs/core-react/base/ScrollView.d.ts.map +1 -1
  32. package/lib/cjs/core-react/base/ScrollView.js +2 -0
  33. package/lib/cjs/core-react/base/ScrollView.js.map +1 -1
  34. package/lib/cjs/core-react/button/UnderlinedButton.d.ts +2 -0
  35. package/lib/cjs/core-react/button/UnderlinedButton.d.ts.map +1 -1
  36. package/lib/cjs/core-react/button/UnderlinedButton.js +2 -0
  37. package/lib/cjs/core-react/button/UnderlinedButton.js.map +1 -1
  38. package/lib/cjs/core-react/checklistbox/CheckListBox.d.ts +4 -0
  39. package/lib/cjs/core-react/checklistbox/CheckListBox.d.ts.map +1 -1
  40. package/lib/cjs/core-react/checklistbox/CheckListBox.js +4 -0
  41. package/lib/cjs/core-react/checklistbox/CheckListBox.js.map +1 -1
  42. package/lib/cjs/core-react/contextmenu/ContextMenu.d.ts.map +1 -1
  43. package/lib/cjs/core-react/contextmenu/ContextMenu.js +1 -2
  44. package/lib/cjs/core-react/contextmenu/ContextMenu.js.map +1 -1
  45. package/lib/cjs/core-react/contextmenu/GlobalContextMenu.js +3 -5
  46. package/lib/cjs/core-react/contextmenu/GlobalContextMenu.js.map +1 -1
  47. package/lib/cjs/core-react/dialog/Dialog.d.ts +3 -0
  48. package/lib/cjs/core-react/dialog/Dialog.d.ts.map +1 -1
  49. package/lib/cjs/core-react/dialog/Dialog.js +17 -3
  50. package/lib/cjs/core-react/dialog/Dialog.js.map +1 -1
  51. package/lib/cjs/core-react/dialog/GlobalDialog.d.ts +3 -0
  52. package/lib/cjs/core-react/dialog/GlobalDialog.d.ts.map +1 -1
  53. package/lib/cjs/core-react/dialog/GlobalDialog.js +7 -3
  54. package/lib/cjs/core-react/dialog/GlobalDialog.js.map +1 -1
  55. package/lib/cjs/core-react/elementseparator/ElementSeparator.d.ts +4 -2
  56. package/lib/cjs/core-react/elementseparator/ElementSeparator.d.ts.map +1 -1
  57. package/lib/cjs/core-react/elementseparator/ElementSeparator.js +4 -2
  58. package/lib/cjs/core-react/elementseparator/ElementSeparator.js.map +1 -1
  59. package/lib/cjs/core-react/expandable/ExpandableList.d.ts +3 -3
  60. package/lib/cjs/core-react/expandable/ExpandableList.d.ts.map +1 -1
  61. package/lib/cjs/core-react/expandable/ExpandableList.js +5 -2
  62. package/lib/cjs/core-react/expandable/ExpandableList.js.map +1 -1
  63. package/lib/cjs/core-react/hocs/withOnOutsideClick.js +1 -2
  64. package/lib/cjs/core-react/hocs/withOnOutsideClick.js.map +1 -1
  65. package/lib/cjs/core-react/icons/IconComponent.d.ts.map +1 -1
  66. package/lib/cjs/core-react/icons/IconComponent.js +22 -12
  67. package/lib/cjs/core-react/icons/IconComponent.js.map +1 -1
  68. package/lib/cjs/core-react/imagecheckbox/ImageCheckBox.d.ts +3 -2
  69. package/lib/cjs/core-react/imagecheckbox/ImageCheckBox.d.ts.map +1 -1
  70. package/lib/cjs/core-react/imagecheckbox/ImageCheckBox.js +3 -2
  71. package/lib/cjs/core-react/imagecheckbox/ImageCheckBox.js.map +1 -1
  72. package/lib/cjs/core-react/inputs/InputLabel.d.ts +2 -0
  73. package/lib/cjs/core-react/inputs/InputLabel.d.ts.map +1 -1
  74. package/lib/cjs/core-react/inputs/InputLabel.js +5 -0
  75. package/lib/cjs/core-react/inputs/InputLabel.js.map +1 -1
  76. package/lib/cjs/core-react/inputs/InputStatus.d.ts +1 -0
  77. package/lib/cjs/core-react/inputs/InputStatus.d.ts.map +1 -1
  78. package/lib/cjs/core-react/inputs/InputStatus.js +1 -0
  79. package/lib/cjs/core-react/inputs/InputStatus.js.map +1 -1
  80. package/lib/cjs/core-react/inputs/LabeledComponentProps.d.ts +2 -0
  81. package/lib/cjs/core-react/inputs/LabeledComponentProps.d.ts.map +1 -1
  82. package/lib/cjs/core-react/inputs/LabeledComponentProps.js.map +1 -1
  83. package/lib/cjs/core-react/inputs/iconinput/IconInput.d.ts +2 -0
  84. package/lib/cjs/core-react/inputs/iconinput/IconInput.d.ts.map +1 -1
  85. package/lib/cjs/core-react/inputs/iconinput/IconInput.js +3 -0
  86. package/lib/cjs/core-react/inputs/iconinput/IconInput.js.map +1 -1
  87. package/lib/cjs/core-react/inputs/numberinput/NumberInput.d.ts +3 -0
  88. package/lib/cjs/core-react/inputs/numberinput/NumberInput.d.ts.map +1 -1
  89. package/lib/cjs/core-react/inputs/numberinput/NumberInput.js +1 -0
  90. package/lib/cjs/core-react/inputs/numberinput/NumberInput.js.map +1 -1
  91. package/lib/cjs/core-react/l10n/usePackageTranslation.js +1 -1
  92. package/lib/cjs/core-react/l10n/usePackageTranslation.js.map +1 -1
  93. package/lib/cjs/core-react/listbox/Listbox.d.ts +14 -14
  94. package/lib/cjs/core-react/listbox/Listbox.d.ts.map +1 -1
  95. package/lib/cjs/core-react/listbox/Listbox.js +8 -10
  96. package/lib/cjs/core-react/listbox/Listbox.js.map +1 -1
  97. package/lib/cjs/core-react/loading/LoadingBar.d.ts +3 -2
  98. package/lib/cjs/core-react/loading/LoadingBar.d.ts.map +1 -1
  99. package/lib/cjs/core-react/loading/LoadingBar.js +2 -2
  100. package/lib/cjs/core-react/loading/LoadingBar.js.map +1 -1
  101. package/lib/cjs/core-react/loading/LoadingPrompt.d.ts +3 -2
  102. package/lib/cjs/core-react/loading/LoadingPrompt.d.ts.map +1 -1
  103. package/lib/cjs/core-react/loading/LoadingPrompt.js +2 -2
  104. package/lib/cjs/core-react/loading/LoadingPrompt.js.map +1 -1
  105. package/lib/cjs/core-react/loading/LoadingSpinner.d.ts +4 -2
  106. package/lib/cjs/core-react/loading/LoadingSpinner.d.ts.map +1 -1
  107. package/lib/cjs/core-react/loading/LoadingSpinner.js +2 -2
  108. package/lib/cjs/core-react/loading/LoadingSpinner.js.map +1 -1
  109. package/lib/cjs/core-react/loading/LoadingStatus.d.ts +3 -2
  110. package/lib/cjs/core-react/loading/LoadingStatus.d.ts.map +1 -1
  111. package/lib/cjs/core-react/loading/LoadingStatus.js +2 -2
  112. package/lib/cjs/core-react/loading/LoadingStatus.js.map +1 -1
  113. package/lib/cjs/core-react/messagebox/MessageBox.d.ts.map +1 -1
  114. package/lib/cjs/core-react/messagebox/MessageBox.js +3 -1
  115. package/lib/cjs/core-react/messagebox/MessageBox.js.map +1 -1
  116. package/lib/cjs/core-react/notification/MessageRenderer.js +1 -1
  117. package/lib/cjs/core-react/notification/MessageRenderer.js.map +1 -1
  118. package/lib/cjs/core-react/popup/Popup.js +4 -8
  119. package/lib/cjs/core-react/popup/Popup.js.map +1 -1
  120. package/lib/cjs/core-react/radialmenu/Annulus.d.ts +7 -8
  121. package/lib/cjs/core-react/radialmenu/Annulus.d.ts.map +1 -1
  122. package/lib/cjs/core-react/radialmenu/Annulus.js +7 -8
  123. package/lib/cjs/core-react/radialmenu/Annulus.js.map +1 -1
  124. package/lib/cjs/core-react/radialmenu/RadialMenu.d.ts +0 -1
  125. package/lib/cjs/core-react/radialmenu/RadialMenu.d.ts.map +1 -1
  126. package/lib/cjs/core-react/radialmenu/RadialMenu.js.map +1 -1
  127. package/lib/cjs/core-react/searchbox/SearchBox.d.ts +3 -3
  128. package/lib/cjs/core-react/searchbox/SearchBox.d.ts.map +1 -1
  129. package/lib/cjs/core-react/searchbox/SearchBox.js +2 -2
  130. package/lib/cjs/core-react/searchbox/SearchBox.js.map +1 -1
  131. package/lib/cjs/core-react/settings/SettingsContainer.d.ts.map +1 -1
  132. package/lib/cjs/core-react/settings/SettingsContainer.js +8 -4
  133. package/lib/cjs/core-react/settings/SettingsContainer.js.map +1 -1
  134. package/lib/cjs/core-react/settings/SettingsManager.d.ts +10 -7
  135. package/lib/cjs/core-react/settings/SettingsManager.d.ts.map +1 -1
  136. package/lib/cjs/core-react/settings/SettingsManager.js +14 -12
  137. package/lib/cjs/core-react/settings/SettingsManager.js.map +1 -1
  138. package/lib/cjs/core-react/tabs/Tabs.d.ts +5 -5
  139. package/lib/cjs/core-react/tabs/Tabs.d.ts.map +1 -1
  140. package/lib/cjs/core-react/tabs/Tabs.js +1 -0
  141. package/lib/cjs/core-react/tabs/Tabs.js.map +1 -1
  142. package/lib/cjs/core-react/tabs/VerticalTabs.d.ts +1 -0
  143. package/lib/cjs/core-react/tabs/VerticalTabs.d.ts.map +1 -1
  144. package/lib/cjs/core-react/tabs/VerticalTabs.js +2 -0
  145. package/lib/cjs/core-react/tabs/VerticalTabs.js.map +1 -1
  146. package/lib/cjs/core-react/text/BlockText.d.ts +1 -0
  147. package/lib/cjs/core-react/text/BlockText.d.ts.map +1 -1
  148. package/lib/cjs/core-react/text/BlockText.js +2 -0
  149. package/lib/cjs/core-react/text/BlockText.js.map +1 -1
  150. package/lib/cjs/core-react/text/BodyText.d.ts +1 -1
  151. package/lib/cjs/core-react/text/BodyText.d.ts.map +1 -1
  152. package/lib/cjs/core-react/text/BodyText.js +2 -1
  153. package/lib/cjs/core-react/text/BodyText.js.map +1 -1
  154. package/lib/cjs/core-react/text/DisabledText.d.ts +1 -0
  155. package/lib/cjs/core-react/text/DisabledText.d.ts.map +1 -1
  156. package/lib/cjs/core-react/text/DisabledText.js +2 -1
  157. package/lib/cjs/core-react/text/DisabledText.js.map +1 -1
  158. package/lib/cjs/core-react/text/MutedText.d.ts.map +1 -1
  159. package/lib/cjs/core-react/text/MutedText.js +1 -0
  160. package/lib/cjs/core-react/text/MutedText.js.map +1 -1
  161. package/lib/cjs/core-react/text/StyledText.d.ts +1 -0
  162. package/lib/cjs/core-react/text/StyledText.d.ts.map +1 -1
  163. package/lib/cjs/core-react/text/StyledText.js.map +1 -1
  164. package/lib/cjs/core-react/text/TextProps.d.ts +1 -0
  165. package/lib/cjs/core-react/text/TextProps.d.ts.map +1 -1
  166. package/lib/cjs/core-react/text/TextProps.js.map +1 -1
  167. package/lib/cjs/core-react/tree/ExpansionToggle.d.ts.map +1 -1
  168. package/lib/cjs/core-react/tree/ExpansionToggle.js +1 -1
  169. package/lib/cjs/core-react/tree/ExpansionToggle.js.map +1 -1
  170. package/lib/cjs/core-react/tree/Node.js +1 -2
  171. package/lib/cjs/core-react/tree/Node.js.map +1 -1
  172. package/lib/cjs/core-react/utils/IconWebComponent.js +1 -1
  173. package/lib/cjs/core-react/utils/IconWebComponent.js.map +1 -1
  174. package/lib/cjs/core-react/utils/getCssVariable.js +1 -1
  175. package/lib/cjs/core-react/utils/getCssVariable.js.map +1 -1
  176. package/lib/cjs/core-react/utils/getObjectClassName.js +2 -3
  177. package/lib/cjs/core-react/utils/getObjectClassName.js.map +1 -1
  178. package/lib/cjs/core-react/utils/hooks/ResizeObserverPolyfill.d.ts +4 -1
  179. package/lib/cjs/core-react/utils/hooks/ResizeObserverPolyfill.d.ts.map +1 -1
  180. package/lib/cjs/core-react/utils/hooks/ResizeObserverPolyfill.js +5 -2
  181. package/lib/cjs/core-react/utils/hooks/ResizeObserverPolyfill.js.map +1 -1
  182. package/lib/cjs/core-react/utils/hooks/useCrossOriginPopup.d.ts +1 -1
  183. package/lib/cjs/core-react/utils/hooks/useCrossOriginPopup.js +2 -3
  184. package/lib/cjs/core-react/utils/hooks/useCrossOriginPopup.js.map +1 -1
  185. package/lib/cjs/core-react/utils/hooks/useResizeObserver.d.ts.map +1 -1
  186. package/lib/cjs/core-react/utils/hooks/useResizeObserver.js +12 -16
  187. package/lib/cjs/core-react/utils/hooks/useResizeObserver.js.map +1 -1
  188. package/lib/esm/core-react/autosuggest/AutoSuggest.d.ts +1 -1
  189. package/lib/esm/core-react/autosuggest/AutoSuggest.d.ts.map +1 -1
  190. package/lib/esm/core-react/autosuggest/AutoSuggest.js +1 -1
  191. package/lib/esm/core-react/autosuggest/AutoSuggest.js.map +1 -1
  192. package/lib/esm/core-react/base/Centered.d.ts +1 -0
  193. package/lib/esm/core-react/base/Centered.d.ts.map +1 -1
  194. package/lib/esm/core-react/base/Centered.js +2 -0
  195. package/lib/esm/core-react/base/Centered.js.map +1 -1
  196. package/lib/esm/core-react/base/Div.d.ts +2 -0
  197. package/lib/esm/core-react/base/Div.d.ts.map +1 -1
  198. package/lib/esm/core-react/base/Div.js +2 -0
  199. package/lib/esm/core-react/base/Div.js.map +1 -1
  200. package/lib/esm/core-react/base/DivWithOutsideClick.d.ts +1 -0
  201. package/lib/esm/core-react/base/DivWithOutsideClick.d.ts.map +1 -1
  202. package/lib/esm/core-react/base/DivWithOutsideClick.js +1 -0
  203. package/lib/esm/core-react/base/DivWithOutsideClick.js.map +1 -1
  204. package/lib/esm/core-react/base/FillCentered.d.ts +1 -0
  205. package/lib/esm/core-react/base/FillCentered.d.ts.map +1 -1
  206. package/lib/esm/core-react/base/FillCentered.js +2 -0
  207. package/lib/esm/core-react/base/FillCentered.js.map +1 -1
  208. package/lib/esm/core-react/base/FlexWrapContainer.d.ts +1 -0
  209. package/lib/esm/core-react/base/FlexWrapContainer.d.ts.map +1 -1
  210. package/lib/esm/core-react/base/FlexWrapContainer.js +2 -0
  211. package/lib/esm/core-react/base/FlexWrapContainer.js.map +1 -1
  212. package/lib/esm/core-react/base/Gap.d.ts +2 -0
  213. package/lib/esm/core-react/base/Gap.d.ts.map +1 -1
  214. package/lib/esm/core-react/base/Gap.js +3 -1
  215. package/lib/esm/core-react/base/Gap.js.map +1 -1
  216. package/lib/esm/core-react/base/ScrollView.d.ts +1 -0
  217. package/lib/esm/core-react/base/ScrollView.d.ts.map +1 -1
  218. package/lib/esm/core-react/base/ScrollView.js +2 -0
  219. package/lib/esm/core-react/base/ScrollView.js.map +1 -1
  220. package/lib/esm/core-react/button/UnderlinedButton.d.ts +2 -0
  221. package/lib/esm/core-react/button/UnderlinedButton.d.ts.map +1 -1
  222. package/lib/esm/core-react/button/UnderlinedButton.js +2 -0
  223. package/lib/esm/core-react/button/UnderlinedButton.js.map +1 -1
  224. package/lib/esm/core-react/checklistbox/CheckListBox.d.ts +4 -0
  225. package/lib/esm/core-react/checklistbox/CheckListBox.d.ts.map +1 -1
  226. package/lib/esm/core-react/checklistbox/CheckListBox.js +4 -0
  227. package/lib/esm/core-react/checklistbox/CheckListBox.js.map +1 -1
  228. package/lib/esm/core-react/contextmenu/ContextMenu.d.ts.map +1 -1
  229. package/lib/esm/core-react/contextmenu/ContextMenu.js +1 -2
  230. package/lib/esm/core-react/contextmenu/ContextMenu.js.map +1 -1
  231. package/lib/esm/core-react/contextmenu/GlobalContextMenu.js +3 -5
  232. package/lib/esm/core-react/contextmenu/GlobalContextMenu.js.map +1 -1
  233. package/lib/esm/core-react/dialog/Dialog.d.ts +3 -0
  234. package/lib/esm/core-react/dialog/Dialog.d.ts.map +1 -1
  235. package/lib/esm/core-react/dialog/Dialog.js +17 -3
  236. package/lib/esm/core-react/dialog/Dialog.js.map +1 -1
  237. package/lib/esm/core-react/dialog/GlobalDialog.d.ts +3 -0
  238. package/lib/esm/core-react/dialog/GlobalDialog.d.ts.map +1 -1
  239. package/lib/esm/core-react/dialog/GlobalDialog.js +7 -3
  240. package/lib/esm/core-react/dialog/GlobalDialog.js.map +1 -1
  241. package/lib/esm/core-react/elementseparator/ElementSeparator.d.ts +4 -2
  242. package/lib/esm/core-react/elementseparator/ElementSeparator.d.ts.map +1 -1
  243. package/lib/esm/core-react/elementseparator/ElementSeparator.js +4 -2
  244. package/lib/esm/core-react/elementseparator/ElementSeparator.js.map +1 -1
  245. package/lib/esm/core-react/expandable/ExpandableList.d.ts +3 -3
  246. package/lib/esm/core-react/expandable/ExpandableList.d.ts.map +1 -1
  247. package/lib/esm/core-react/expandable/ExpandableList.js +5 -2
  248. package/lib/esm/core-react/expandable/ExpandableList.js.map +1 -1
  249. package/lib/esm/core-react/hocs/withOnOutsideClick.js +1 -2
  250. package/lib/esm/core-react/hocs/withOnOutsideClick.js.map +1 -1
  251. package/lib/esm/core-react/icons/IconComponent.d.ts.map +1 -1
  252. package/lib/esm/core-react/icons/IconComponent.js +21 -11
  253. package/lib/esm/core-react/icons/IconComponent.js.map +1 -1
  254. package/lib/esm/core-react/imagecheckbox/ImageCheckBox.d.ts +3 -2
  255. package/lib/esm/core-react/imagecheckbox/ImageCheckBox.d.ts.map +1 -1
  256. package/lib/esm/core-react/imagecheckbox/ImageCheckBox.js +3 -2
  257. package/lib/esm/core-react/imagecheckbox/ImageCheckBox.js.map +1 -1
  258. package/lib/esm/core-react/inputs/InputLabel.d.ts +2 -0
  259. package/lib/esm/core-react/inputs/InputLabel.d.ts.map +1 -1
  260. package/lib/esm/core-react/inputs/InputLabel.js +5 -0
  261. package/lib/esm/core-react/inputs/InputLabel.js.map +1 -1
  262. package/lib/esm/core-react/inputs/InputStatus.d.ts +1 -0
  263. package/lib/esm/core-react/inputs/InputStatus.d.ts.map +1 -1
  264. package/lib/esm/core-react/inputs/InputStatus.js +1 -0
  265. package/lib/esm/core-react/inputs/InputStatus.js.map +1 -1
  266. package/lib/esm/core-react/inputs/LabeledComponentProps.d.ts +2 -0
  267. package/lib/esm/core-react/inputs/LabeledComponentProps.d.ts.map +1 -1
  268. package/lib/esm/core-react/inputs/LabeledComponentProps.js.map +1 -1
  269. package/lib/esm/core-react/inputs/iconinput/IconInput.d.ts +2 -0
  270. package/lib/esm/core-react/inputs/iconinput/IconInput.d.ts.map +1 -1
  271. package/lib/esm/core-react/inputs/iconinput/IconInput.js +3 -0
  272. package/lib/esm/core-react/inputs/iconinput/IconInput.js.map +1 -1
  273. package/lib/esm/core-react/inputs/numberinput/NumberInput.d.ts +3 -0
  274. package/lib/esm/core-react/inputs/numberinput/NumberInput.d.ts.map +1 -1
  275. package/lib/esm/core-react/inputs/numberinput/NumberInput.js +1 -0
  276. package/lib/esm/core-react/inputs/numberinput/NumberInput.js.map +1 -1
  277. package/lib/esm/core-react/l10n/usePackageTranslation.js +1 -1
  278. package/lib/esm/core-react/l10n/usePackageTranslation.js.map +1 -1
  279. package/lib/esm/core-react/listbox/Listbox.d.ts +14 -14
  280. package/lib/esm/core-react/listbox/Listbox.d.ts.map +1 -1
  281. package/lib/esm/core-react/listbox/Listbox.js +8 -10
  282. package/lib/esm/core-react/listbox/Listbox.js.map +1 -1
  283. package/lib/esm/core-react/loading/LoadingBar.d.ts +3 -2
  284. package/lib/esm/core-react/loading/LoadingBar.d.ts.map +1 -1
  285. package/lib/esm/core-react/loading/LoadingBar.js +2 -2
  286. package/lib/esm/core-react/loading/LoadingBar.js.map +1 -1
  287. package/lib/esm/core-react/loading/LoadingPrompt.d.ts +3 -2
  288. package/lib/esm/core-react/loading/LoadingPrompt.d.ts.map +1 -1
  289. package/lib/esm/core-react/loading/LoadingPrompt.js +2 -2
  290. package/lib/esm/core-react/loading/LoadingPrompt.js.map +1 -1
  291. package/lib/esm/core-react/loading/LoadingSpinner.d.ts +4 -2
  292. package/lib/esm/core-react/loading/LoadingSpinner.d.ts.map +1 -1
  293. package/lib/esm/core-react/loading/LoadingSpinner.js +2 -2
  294. package/lib/esm/core-react/loading/LoadingSpinner.js.map +1 -1
  295. package/lib/esm/core-react/loading/LoadingStatus.d.ts +3 -2
  296. package/lib/esm/core-react/loading/LoadingStatus.d.ts.map +1 -1
  297. package/lib/esm/core-react/loading/LoadingStatus.js +2 -2
  298. package/lib/esm/core-react/loading/LoadingStatus.js.map +1 -1
  299. package/lib/esm/core-react/messagebox/MessageBox.d.ts.map +1 -1
  300. package/lib/esm/core-react/messagebox/MessageBox.js +3 -1
  301. package/lib/esm/core-react/messagebox/MessageBox.js.map +1 -1
  302. package/lib/esm/core-react/notification/MessageRenderer.js +1 -1
  303. package/lib/esm/core-react/notification/MessageRenderer.js.map +1 -1
  304. package/lib/esm/core-react/popup/Popup.js +4 -8
  305. package/lib/esm/core-react/popup/Popup.js.map +1 -1
  306. package/lib/esm/core-react/radialmenu/Annulus.d.ts +7 -8
  307. package/lib/esm/core-react/radialmenu/Annulus.d.ts.map +1 -1
  308. package/lib/esm/core-react/radialmenu/Annulus.js +7 -8
  309. package/lib/esm/core-react/radialmenu/Annulus.js.map +1 -1
  310. package/lib/esm/core-react/radialmenu/RadialMenu.d.ts +0 -1
  311. package/lib/esm/core-react/radialmenu/RadialMenu.d.ts.map +1 -1
  312. package/lib/esm/core-react/radialmenu/RadialMenu.js.map +1 -1
  313. package/lib/esm/core-react/searchbox/SearchBox.d.ts +3 -3
  314. package/lib/esm/core-react/searchbox/SearchBox.d.ts.map +1 -1
  315. package/lib/esm/core-react/searchbox/SearchBox.js +2 -2
  316. package/lib/esm/core-react/searchbox/SearchBox.js.map +1 -1
  317. package/lib/esm/core-react/settings/SettingsContainer.d.ts.map +1 -1
  318. package/lib/esm/core-react/settings/SettingsContainer.js +8 -4
  319. package/lib/esm/core-react/settings/SettingsContainer.js.map +1 -1
  320. package/lib/esm/core-react/settings/SettingsManager.d.ts +10 -7
  321. package/lib/esm/core-react/settings/SettingsManager.d.ts.map +1 -1
  322. package/lib/esm/core-react/settings/SettingsManager.js +13 -10
  323. package/lib/esm/core-react/settings/SettingsManager.js.map +1 -1
  324. package/lib/esm/core-react/tabs/Tabs.d.ts +5 -5
  325. package/lib/esm/core-react/tabs/Tabs.d.ts.map +1 -1
  326. package/lib/esm/core-react/tabs/Tabs.js +1 -0
  327. package/lib/esm/core-react/tabs/Tabs.js.map +1 -1
  328. package/lib/esm/core-react/tabs/VerticalTabs.d.ts +1 -0
  329. package/lib/esm/core-react/tabs/VerticalTabs.d.ts.map +1 -1
  330. package/lib/esm/core-react/tabs/VerticalTabs.js +2 -0
  331. package/lib/esm/core-react/tabs/VerticalTabs.js.map +1 -1
  332. package/lib/esm/core-react/text/BlockText.d.ts +1 -0
  333. package/lib/esm/core-react/text/BlockText.d.ts.map +1 -1
  334. package/lib/esm/core-react/text/BlockText.js +2 -0
  335. package/lib/esm/core-react/text/BlockText.js.map +1 -1
  336. package/lib/esm/core-react/text/BodyText.d.ts +1 -1
  337. package/lib/esm/core-react/text/BodyText.d.ts.map +1 -1
  338. package/lib/esm/core-react/text/BodyText.js +2 -1
  339. package/lib/esm/core-react/text/BodyText.js.map +1 -1
  340. package/lib/esm/core-react/text/DisabledText.d.ts +1 -0
  341. package/lib/esm/core-react/text/DisabledText.d.ts.map +1 -1
  342. package/lib/esm/core-react/text/DisabledText.js +2 -1
  343. package/lib/esm/core-react/text/DisabledText.js.map +1 -1
  344. package/lib/esm/core-react/text/MutedText.d.ts.map +1 -1
  345. package/lib/esm/core-react/text/MutedText.js +1 -0
  346. package/lib/esm/core-react/text/MutedText.js.map +1 -1
  347. package/lib/esm/core-react/text/StyledText.d.ts +1 -0
  348. package/lib/esm/core-react/text/StyledText.d.ts.map +1 -1
  349. package/lib/esm/core-react/text/StyledText.js.map +1 -1
  350. package/lib/esm/core-react/text/TextProps.d.ts +1 -0
  351. package/lib/esm/core-react/text/TextProps.d.ts.map +1 -1
  352. package/lib/esm/core-react/text/TextProps.js.map +1 -1
  353. package/lib/esm/core-react/tree/ExpansionToggle.d.ts.map +1 -1
  354. package/lib/esm/core-react/tree/ExpansionToggle.js +1 -1
  355. package/lib/esm/core-react/tree/ExpansionToggle.js.map +1 -1
  356. package/lib/esm/core-react/tree/Node.js +1 -2
  357. package/lib/esm/core-react/tree/Node.js.map +1 -1
  358. package/lib/esm/core-react/utils/IconWebComponent.js +1 -1
  359. package/lib/esm/core-react/utils/IconWebComponent.js.map +1 -1
  360. package/lib/esm/core-react/utils/getCssVariable.js +1 -1
  361. package/lib/esm/core-react/utils/getCssVariable.js.map +1 -1
  362. package/lib/esm/core-react/utils/getObjectClassName.js +2 -3
  363. package/lib/esm/core-react/utils/getObjectClassName.js.map +1 -1
  364. package/lib/esm/core-react/utils/hooks/ResizeObserverPolyfill.d.ts +4 -1
  365. package/lib/esm/core-react/utils/hooks/ResizeObserverPolyfill.d.ts.map +1 -1
  366. package/lib/esm/core-react/utils/hooks/ResizeObserverPolyfill.js +3 -1
  367. package/lib/esm/core-react/utils/hooks/ResizeObserverPolyfill.js.map +1 -1
  368. package/lib/esm/core-react/utils/hooks/useCrossOriginPopup.d.ts +1 -1
  369. package/lib/esm/core-react/utils/hooks/useCrossOriginPopup.js +2 -3
  370. package/lib/esm/core-react/utils/hooks/useCrossOriginPopup.js.map +1 -1
  371. package/lib/esm/core-react/utils/hooks/useResizeObserver.d.ts.map +1 -1
  372. package/lib/esm/core-react/utils/hooks/useResizeObserver.js +13 -17
  373. package/lib/esm/core-react/utils/hooks/useResizeObserver.js.map +1 -1
  374. package/package.json +7 -31
@@ -224,13 +224,12 @@ class ContextMenu extends React.PureComponent {
224
224
  React.createElement("div", { ref: this._menuRef, role: "menu", tabIndex: 0, "data-testid": "core-context-menu-container", className: (0, classnames_1.default)("core-context-menu-container", opened && "core-context-menu-opened", floating && "core-context-menu-floating", ContextMenu.getCSSClassNameFromDirection(renderDirection)) }, this._injectedChildren))));
225
225
  }
226
226
  getWindow() {
227
- var _a;
228
227
  const el = this._rootElement
229
228
  ? this._rootElement
230
229
  : /* istanbul ignore next */ this._menuElement;
231
230
  const parentDocument = el.ownerDocument;
232
231
  // istanbul ignore next
233
- return (_a = parentDocument.defaultView) !== null && _a !== void 0 ? _a : window;
232
+ return parentDocument.defaultView ?? window;
234
233
  }
235
234
  /** @internal */
236
235
  componentDidMount() {
@@ -1 +1 @@
1
- {"version":3,"file":"ContextMenu.js","sourceRoot":"","sources":["../../../../src/core-react/contextmenu/ContextMenu.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 \"./ContextMenu.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { Key } from \"ts-key-enum\";\nimport { ConditionalBooleanValue } from \"@itwin/appui-abstract\";\nimport type { CommonProps } from \"../utils/Props\";\nimport { DivWithOutsideClick } from \"../base/DivWithOutsideClick\";\nimport { ContextMenuDirection } from \"./ContextMenuDirection\";\nimport type { ContextMenuItemProps } from \"./ContextMenuItem\";\nimport { ContextMenuItem } from \"./ContextMenuItem\";\nimport type { ContextSubMenuProps } from \"./ContextSubMenu\";\nimport { ContextSubMenu } from \"./ContextSubMenu\";\n\n/** Properties for the [[ContextMenu]] component\n * @public\n */\nexport interface ContextMenuProps extends CommonProps {\n /** Whether ContextMenu is currently opened. */\n opened: boolean;\n /** Which direction the menu opens. Default: ContextMenuDirection.BottomRight */\n direction?: ContextMenuDirection;\n /** When click is registered outside of ContextMenu. */\n onOutsideClick?: (event: MouseEvent) => any;\n /** When list item or submenu is selected */\n onSelect?: (event: any) => any;\n /** when Escape button is pressed */\n onEsc?: (data: any) => any;\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 /** whether menu floats on the viewport, or the page. When false, container elements can clip menu with overflow: hidden; Default: true */\n floating?: boolean;\n /** @internal */\n parentMenu?: ContextMenu;\n /** @internal */\n parentSubmenu?: ContextSubMenu;\n /** @internal */\n ignoreNextKeyUp?: boolean;\n /** Content */\n children?: React.ReactNode;\n}\n\n/** @internal */\ninterface ContextMenuState {\n selectedIndex: number;\n direction: ContextMenuDirection;\n ignoreNextKeyUp: boolean;\n}\n\n/**\n * A context menu populated with [[ContextMenuItem]] components.\n * Can be nested using [[ContextSubMenu]] component.\n * @public\n */\nexport class ContextMenu extends React.PureComponent<\n ContextMenuProps,\n ContextMenuState\n> {\n private _rootElement: HTMLElement | null = null;\n private _menuElement: HTMLElement | null = null;\n private _selectedElement: ContextMenuItem | ContextSubMenu | null = null;\n private _length: number = 0;\n private _hotKeyMap: Map<number, string> = new Map();\n\n private _lastChildren: React.ReactNode;\n private _lastDirection: ContextMenuDirection | undefined =\n ContextMenuDirection.BottomRight;\n private _lastSelectedIndex: number = 0;\n private _injectedChildren: React.ReactNode;\n private _parentWindowHeight: number = 0;\n private _parentWindowWidth: number = 0;\n\n public static defaultProps: Partial<ContextMenuProps> = {\n direction: ContextMenuDirection.BottomRight,\n autoflip: true,\n edgeLimit: true,\n hotkeySelect: true,\n selectedIndex: -1,\n floating: true,\n };\n\n /** @internal */\n public override readonly state: Readonly<ContextMenuState>;\n constructor(props: ContextMenuProps) {\n super(props);\n this.state = {\n selectedIndex: this.props.selectedIndex!,\n direction: props.direction!,\n ignoreNextKeyUp: props.ignoreNextKeyUp!,\n };\n }\n\n /** @internal */\n public static autoFlip = (\n dir: ContextMenuDirection,\n rect: DOMRectReadOnly,\n windowWidth: number,\n windowHeight: number\n ): ContextMenuDirection => {\n if (rect.right > windowWidth) {\n switch (dir) {\n case ContextMenuDirection.TopRight:\n dir = ContextMenuDirection.TopLeft;\n break;\n case ContextMenuDirection.Right:\n dir = ContextMenuDirection.Left;\n break;\n case ContextMenuDirection.BottomRight:\n dir = ContextMenuDirection.BottomLeft;\n break;\n }\n }\n if (rect.left < 0) {\n switch (dir) {\n case ContextMenuDirection.TopLeft:\n dir = ContextMenuDirection.TopRight;\n break;\n case ContextMenuDirection.Left:\n dir = ContextMenuDirection.Right;\n break;\n case ContextMenuDirection.BottomLeft:\n dir = ContextMenuDirection.BottomRight;\n break;\n }\n }\n if (rect.bottom > windowHeight) {\n switch (dir) {\n case ContextMenuDirection.BottomLeft:\n dir = ContextMenuDirection.TopLeft;\n break;\n case ContextMenuDirection.Bottom:\n dir = ContextMenuDirection.Top;\n break;\n case ContextMenuDirection.BottomRight:\n dir = ContextMenuDirection.TopRight;\n break;\n }\n }\n if (rect.top < 0) {\n switch (dir) {\n case ContextMenuDirection.TopLeft:\n dir = ContextMenuDirection.BottomLeft;\n break;\n case ContextMenuDirection.Top:\n dir = ContextMenuDirection.Bottom;\n break;\n case ContextMenuDirection.TopRight:\n dir = ContextMenuDirection.BottomRight;\n break;\n }\n }\n return dir;\n };\n\n private _handleHotKeyParsed = (index: number, hotKey: string) => {\n this._hotKeyMap.set(index, hotKey);\n };\n\n // istanbul ignore next\n private _handleOnOutsideClick = (event: MouseEvent): void => {\n if (this.props.opened && this.props.onOutsideClick)\n this.props.onOutsideClick(event);\n };\n\n public override render(): React.ReactElement {\n const {\n opened,\n direction,\n onOutsideClick,\n onSelect,\n onEsc,\n autoflip,\n edgeLimit,\n hotkeySelect,\n selectedIndex,\n floating,\n parentMenu,\n parentSubmenu,\n children,\n className,\n ignoreNextKeyUp,\n ...props\n } = this.props;\n const renderDirection =\n parentMenu === undefined ? this.state.direction : direction;\n\n if (\n this._lastChildren !== children ||\n this._lastDirection !== renderDirection ||\n this._lastSelectedIndex !== this.state.selectedIndex\n ) {\n this._injectedChildren = this._injectMenuItemProps(\n children,\n renderDirection,\n this.state.selectedIndex\n );\n this._lastChildren = children;\n this._lastDirection = renderDirection;\n this._lastSelectedIndex = this.state.selectedIndex;\n }\n\n const classNames = classnames(\"core-context-menu\", className);\n\n return (\n <div\n role=\"presentation\"\n className={classNames}\n onKeyUp={this._handleKeyUp}\n onClick={this._handleClick}\n data-testid=\"core-context-menu-root\"\n {...props}\n ref={this._rootRef}\n >\n <DivWithOutsideClick onOutsideClick={this._handleOnOutsideClick}>\n <div\n ref={this._menuRef}\n role=\"menu\"\n tabIndex={0}\n data-testid=\"core-context-menu-container\"\n className={classnames(\n \"core-context-menu-container\",\n opened && \"core-context-menu-opened\",\n floating && \"core-context-menu-floating\",\n ContextMenu.getCSSClassNameFromDirection(renderDirection)\n )}\n >\n {this._injectedChildren}\n </div>\n </DivWithOutsideClick>\n </div>\n );\n }\n\n /** @internal */\n public static getCSSClassNameFromDirection = (\n direction?: ContextMenuDirection\n ): string => {\n let className = \"\";\n\n // istanbul ignore next\n if (direction === undefined) direction = ContextMenuDirection.BottomRight;\n\n if (direction === ContextMenuDirection.None) return \"\";\n\n switch (direction) {\n case ContextMenuDirection.TopLeft:\n className = \"core-context-menu-top core-context-menu-left\";\n break;\n case ContextMenuDirection.Top:\n className = \"core-context-menu-top\";\n break;\n case ContextMenuDirection.TopRight:\n className = \"core-context-menu-top core-context-menu-right\";\n break;\n case ContextMenuDirection.Left:\n className = \"core-context-menu-left\";\n break;\n case ContextMenuDirection.Center:\n className = \"core-context-menu-center\";\n break;\n case ContextMenuDirection.Right:\n className = \"core-context-menu-right\";\n break;\n case ContextMenuDirection.BottomLeft:\n className = \"core-context-menu-bottom core-context-menu-left\";\n break;\n case ContextMenuDirection.Bottom:\n className = \"core-context-menu-bottom\";\n break;\n case ContextMenuDirection.BottomRight:\n className = \"core-context-menu-bottom core-context-menu-right\";\n break;\n }\n\n return className;\n };\n\n private _injectMenuItemProps = (\n children: React.ReactNode,\n direction: ContextMenuDirection | undefined,\n selectedIndex: number\n ) => {\n let index = 0;\n // add inheritance data to submenu children\n const ch = React.Children.map(children, (child: React.ReactNode) => {\n // Capture only ContextSubMenus and ContextMenuItems.\n if (\n child &&\n typeof child === \"object\" &&\n \"props\" in child &&\n (child.type === ContextSubMenu || child.type === ContextMenuItem) &&\n !ConditionalBooleanValue.getValue(child.props.disabled) &&\n !ConditionalBooleanValue.getValue(child.props.hidden)\n ) {\n const id = index; // get separate id variable so value stays the same when onHover is called later.\n const onHover = () => {\n this.setState({ selectedIndex: id });\n this.focus();\n };\n const ref = (el: ContextSubMenu | ContextMenuItem | null) => {\n if (selectedIndex === id)\n // only save to this._selectedElement if previously captured bool is true\n this._selectedElement = el;\n };\n const boundHandleHotKeyParse = this._handleHotKeyParsed.bind(this, id); // bind local callback for specific index\n const childProps: Partial<\n ContextSubMenuProps & ContextMenuItemProps & { ref: typeof ref }\n > = {\n parentMenu: this,\n ref,\n onHover,\n isSelected: selectedIndex === id,\n onHotKeyParsed: boundHandleHotKeyParse,\n };\n if (child.type === ContextSubMenu) {\n // add direction only to sub-menus\n childProps.direction =\n child.props.direction || /* istanbul ignore next */ direction;\n }\n index++;\n return React.cloneElement(child, childProps);\n } else return child; // Else, pass through unmodified\n });\n this._length = index;\n return ch;\n };\n\n private _rootRef = (el: HTMLDivElement | null) => {\n this._rootElement = el;\n };\n\n private _menuRef = (el: HTMLDivElement | null) => {\n this._menuElement = el;\n };\n\n private getWindow() {\n const el = this._rootElement\n ? this._rootElement\n : /* istanbul ignore next */ this._menuElement;\n const parentDocument = el!.ownerDocument;\n // istanbul ignore next\n return parentDocument.defaultView ?? window;\n }\n\n /** @internal */\n public override componentDidMount() {\n const parentWindow = this.getWindow();\n parentWindow.addEventListener(\"focus\", this._handleFocusChange);\n parentWindow.addEventListener(\"mouseup\", this._handleFocusChange);\n\n this.checkRenderDirection();\n\n if (this.props.opened) this.focus();\n }\n\n /** @internal */\n public override componentWillUnmount() {\n const parentWindow = this.getWindow();\n parentWindow.removeEventListener(\"focus\", this._handleFocusChange);\n parentWindow.removeEventListener(\"mouseup\", this._handleFocusChange);\n }\n\n private checkRenderDirection() {\n const { direction, autoflip, parentMenu } = this.props;\n const parentWindow = this.getWindow();\n\n let renderDirection =\n parentMenu === undefined ? this.state.direction : direction;\n\n if (\n parentWindow.innerHeight === this._parentWindowHeight &&\n parentWindow.innerWidth === this._parentWindowWidth\n )\n return;\n this._parentWindowHeight = parentWindow.innerHeight;\n this._parentWindowWidth = parentWindow.innerWidth;\n\n // check if menu should flip\n if (parentWindow && autoflip && parentMenu === undefined) {\n const menuRect = this.getRect();\n renderDirection = ContextMenu.autoFlip(\n renderDirection!,\n menuRect,\n parentWindow.innerWidth,\n parentWindow.innerHeight\n );\n // istanbul ignore next\n if (renderDirection !== this.state.direction)\n this.setState({ direction: renderDirection });\n }\n }\n\n public focus = () => {\n // istanbul ignore else\n if (this._menuElement) this._menuElement.focus();\n };\n\n public blur = () => {\n // istanbul ignore else\n if (this._menuElement) this._menuElement.blur();\n };\n\n public getRect = (): DOMRect => {\n let clientRect = DOMRect.fromRect({ x: 0, y: 0, width: 0, height: 0 });\n\n // istanbul ignore else\n if (this._menuElement) {\n clientRect = this._menuElement.getBoundingClientRect();\n }\n return clientRect;\n };\n\n private _handleFocusChange = (event: any): void => {\n // istanbul ignore else\n if (\n this._rootElement &&\n this.props.opened &&\n event.target instanceof Node &&\n this.props.onOutsideClick &&\n !this._rootElement.contains(event.target)\n )\n this.props.onOutsideClick(event);\n };\n\n private _handleClick = (event: React.MouseEvent<HTMLDivElement>): void => {\n if (this.props.onSelect) this.props.onSelect(event);\n };\n\n private _handleKeyUp = (event: React.KeyboardEvent<HTMLDivElement>): void => {\n if (this.state.ignoreNextKeyUp) {\n this.setState({ ignoreNextKeyUp: false });\n return;\n }\n\n // istanbul ignore else\n if (event.key) {\n for (const [key, value] of this._hotKeyMap) {\n if (!this.props.hotkeySelect! && key > this.state.selectedIndex) {\n // Start search at current index.\n if (event.key.toUpperCase() === value) {\n this.setState({ selectedIndex: key });\n return;\n }\n }\n }\n for (const [key, value] of this._hotKeyMap) {\n if (event.key.toUpperCase() === value) {\n this.setState({ selectedIndex: key }, () => {\n if (this.props.hotkeySelect && this._selectedElement) {\n this._selectedElement.select();\n }\n });\n event.stopPropagation();\n return;\n }\n }\n }\n\n if (event.key === Key.ArrowLeft.valueOf()) {\n event.stopPropagation();\n if (this.props.parentMenu && this.props.parentSubmenu) {\n this.props.parentSubmenu.close();\n this.props.parentMenu.focus();\n }\n if (this.props.onEsc) this.props.onEsc(event);\n }\n\n if (event.key === Key.Escape.valueOf()) {\n // istanbul ignore else\n if (this.props.onEsc) this.props.onEsc(event);\n }\n\n if (\n (event.key === Key.Enter.valueOf() ||\n event.key === Key.ArrowRight.valueOf()) &&\n this._selectedElement\n ) {\n event.stopPropagation();\n\n // istanbul ignore else\n if (\n event.key === Key.Enter.valueOf() ||\n /* istanbul ignore next */ this._selectedElement instanceof\n ContextSubMenu\n ) {\n // istanbul ignore else\n if (this._selectedElement.select) this._selectedElement.select();\n }\n }\n\n let { selectedIndex } = this.state;\n if (\n event.key === Key.ArrowUp.valueOf() ||\n event.key === Key.ArrowDown.valueOf()\n ) {\n event.stopPropagation();\n if (selectedIndex === -1) {\n selectedIndex = 0;\n } else {\n if (event.key === Key.ArrowUp.valueOf()) {\n if (this.state.selectedIndex === 0) selectedIndex = this._length - 1;\n else selectedIndex--;\n }\n if (event.key === Key.ArrowDown.valueOf()) {\n if (this.state.selectedIndex === this._length - 1) selectedIndex = 0;\n else selectedIndex++;\n }\n }\n }\n this.setState({ selectedIndex });\n };\n\n public override componentDidUpdate(prevProps: ContextMenuProps) {\n if (prevProps.selectedIndex !== this.props.selectedIndex) {\n this.setState((_, props) => ({ selectedIndex: props.selectedIndex! }));\n }\n if (!prevProps.opened && this.props.opened) {\n this.setState((_, props) => ({ selectedIndex: props.selectedIndex! }));\n }\n if (!this.props.parentMenu) {\n // const direction = this.props.direction!;\n // if ((!this.props.opened && prevProps.opened && direction !== this.state.direction) || prevProps.direction !== direction)\n this.checkRenderDirection();\n }\n }\n}\n"]}
1
+ {"version":3,"file":"ContextMenu.js","sourceRoot":"","sources":["../../../../src/core-react/contextmenu/ContextMenu.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 \"./ContextMenu.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { Key } from \"ts-key-enum\";\nimport { ConditionalBooleanValue } from \"@itwin/appui-abstract\";\nimport type { CommonProps } from \"../utils/Props\";\nimport { DivWithOutsideClick } from \"../base/DivWithOutsideClick\";\nimport { ContextMenuDirection } from \"./ContextMenuDirection\";\nimport type { ContextMenuItemProps } from \"./ContextMenuItem\";\nimport { ContextMenuItem } from \"./ContextMenuItem\";\nimport type { ContextSubMenuProps } from \"./ContextSubMenu\";\nimport { ContextSubMenu } from \"./ContextSubMenu\";\n\n/** Properties for the [[ContextMenu]] component\n * @public\n */\nexport interface ContextMenuProps extends CommonProps {\n /** Whether ContextMenu is currently opened. */\n opened: boolean;\n /** Which direction the menu opens. Default: ContextMenuDirection.BottomRight */\n direction?: ContextMenuDirection;\n /** When click is registered outside of ContextMenu. */\n onOutsideClick?: (event: MouseEvent) => any;\n /** When list item or submenu is selected */\n onSelect?: (event: any) => any;\n /** when Escape button is pressed */\n onEsc?: (data: any) => any;\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 /** whether menu floats on the viewport, or the page. When false, container elements can clip menu with overflow: hidden; Default: true */\n floating?: boolean;\n /** @internal */\n parentMenu?: ContextMenu;\n /** @internal */\n parentSubmenu?: ContextSubMenu;\n /** @internal */\n ignoreNextKeyUp?: boolean;\n /** Content */\n children?: React.ReactNode;\n}\n\n/** @internal */\ninterface ContextMenuState {\n selectedIndex: number;\n direction: ContextMenuDirection;\n ignoreNextKeyUp: boolean;\n}\n\n/**\n * A context menu populated with [[ContextMenuItem]] components.\n * Can be nested using [[ContextSubMenu]] component.\n * @public\n */\nexport class ContextMenu extends React.PureComponent<\n ContextMenuProps,\n ContextMenuState\n> {\n private _rootElement: HTMLElement | null = null;\n private _menuElement: HTMLElement | null = null;\n private _selectedElement: ContextMenuItem | ContextSubMenu | null = null;\n private _length: number = 0;\n private _hotKeyMap: Map<number, string> = new Map();\n\n private _lastChildren: React.ReactNode;\n private _lastDirection: ContextMenuDirection | undefined =\n ContextMenuDirection.BottomRight;\n private _lastSelectedIndex: number = 0;\n private _injectedChildren: React.ReactNode;\n private _parentWindowHeight: number = 0;\n private _parentWindowWidth: number = 0;\n\n public static defaultProps: Partial<ContextMenuProps> = {\n direction: ContextMenuDirection.BottomRight,\n autoflip: true,\n edgeLimit: true,\n hotkeySelect: true,\n selectedIndex: -1,\n floating: true,\n };\n\n /** @internal */\n public override readonly state: Readonly<ContextMenuState>;\n constructor(props: ContextMenuProps) {\n super(props);\n this.state = {\n selectedIndex: this.props.selectedIndex!,\n direction: props.direction!,\n ignoreNextKeyUp: props.ignoreNextKeyUp!,\n };\n }\n\n /** @internal */\n public static autoFlip = (\n dir: ContextMenuDirection,\n rect: DOMRectReadOnly,\n windowWidth: number,\n windowHeight: number\n ): ContextMenuDirection => {\n if (rect.right > windowWidth) {\n switch (dir) {\n case ContextMenuDirection.TopRight:\n dir = ContextMenuDirection.TopLeft;\n break;\n case ContextMenuDirection.Right:\n dir = ContextMenuDirection.Left;\n break;\n case ContextMenuDirection.BottomRight:\n dir = ContextMenuDirection.BottomLeft;\n break;\n }\n }\n if (rect.left < 0) {\n switch (dir) {\n case ContextMenuDirection.TopLeft:\n dir = ContextMenuDirection.TopRight;\n break;\n case ContextMenuDirection.Left:\n dir = ContextMenuDirection.Right;\n break;\n case ContextMenuDirection.BottomLeft:\n dir = ContextMenuDirection.BottomRight;\n break;\n }\n }\n if (rect.bottom > windowHeight) {\n switch (dir) {\n case ContextMenuDirection.BottomLeft:\n dir = ContextMenuDirection.TopLeft;\n break;\n case ContextMenuDirection.Bottom:\n dir = ContextMenuDirection.Top;\n break;\n case ContextMenuDirection.BottomRight:\n dir = ContextMenuDirection.TopRight;\n break;\n }\n }\n if (rect.top < 0) {\n switch (dir) {\n case ContextMenuDirection.TopLeft:\n dir = ContextMenuDirection.BottomLeft;\n break;\n case ContextMenuDirection.Top:\n dir = ContextMenuDirection.Bottom;\n break;\n case ContextMenuDirection.TopRight:\n dir = ContextMenuDirection.BottomRight;\n break;\n }\n }\n return dir;\n };\n\n private _handleHotKeyParsed = (index: number, hotKey: string) => {\n this._hotKeyMap.set(index, hotKey);\n };\n\n // istanbul ignore next\n private _handleOnOutsideClick = (event: MouseEvent): void => {\n if (this.props.opened && this.props.onOutsideClick)\n this.props.onOutsideClick(event);\n };\n\n public override render(): React.ReactElement {\n const {\n opened,\n direction,\n onOutsideClick,\n onSelect,\n onEsc,\n autoflip,\n edgeLimit,\n hotkeySelect,\n selectedIndex,\n floating,\n parentMenu,\n parentSubmenu,\n children,\n className,\n ignoreNextKeyUp,\n ...props\n } = this.props;\n const renderDirection =\n parentMenu === undefined ? this.state.direction : direction;\n\n if (\n this._lastChildren !== children ||\n this._lastDirection !== renderDirection ||\n this._lastSelectedIndex !== this.state.selectedIndex\n ) {\n this._injectedChildren = this._injectMenuItemProps(\n children,\n renderDirection,\n this.state.selectedIndex\n );\n this._lastChildren = children;\n this._lastDirection = renderDirection;\n this._lastSelectedIndex = this.state.selectedIndex;\n }\n\n const classNames = classnames(\"core-context-menu\", className);\n\n return (\n <div\n role=\"presentation\"\n className={classNames}\n onKeyUp={this._handleKeyUp}\n onClick={this._handleClick}\n data-testid=\"core-context-menu-root\"\n {...props}\n ref={this._rootRef}\n >\n {/* eslint-disable-next-line deprecation/deprecation */}\n <DivWithOutsideClick onOutsideClick={this._handleOnOutsideClick}>\n <div\n ref={this._menuRef}\n role=\"menu\"\n tabIndex={0}\n data-testid=\"core-context-menu-container\"\n className={classnames(\n \"core-context-menu-container\",\n opened && \"core-context-menu-opened\",\n floating && \"core-context-menu-floating\",\n ContextMenu.getCSSClassNameFromDirection(renderDirection)\n )}\n >\n {this._injectedChildren}\n </div>\n </DivWithOutsideClick>\n </div>\n );\n }\n\n /** @internal */\n public static getCSSClassNameFromDirection = (\n direction?: ContextMenuDirection\n ): string => {\n let className = \"\";\n\n // istanbul ignore next\n if (direction === undefined) direction = ContextMenuDirection.BottomRight;\n\n if (direction === ContextMenuDirection.None) return \"\";\n\n switch (direction) {\n case ContextMenuDirection.TopLeft:\n className = \"core-context-menu-top core-context-menu-left\";\n break;\n case ContextMenuDirection.Top:\n className = \"core-context-menu-top\";\n break;\n case ContextMenuDirection.TopRight:\n className = \"core-context-menu-top core-context-menu-right\";\n break;\n case ContextMenuDirection.Left:\n className = \"core-context-menu-left\";\n break;\n case ContextMenuDirection.Center:\n className = \"core-context-menu-center\";\n break;\n case ContextMenuDirection.Right:\n className = \"core-context-menu-right\";\n break;\n case ContextMenuDirection.BottomLeft:\n className = \"core-context-menu-bottom core-context-menu-left\";\n break;\n case ContextMenuDirection.Bottom:\n className = \"core-context-menu-bottom\";\n break;\n case ContextMenuDirection.BottomRight:\n className = \"core-context-menu-bottom core-context-menu-right\";\n break;\n }\n\n return className;\n };\n\n private _injectMenuItemProps = (\n children: React.ReactNode,\n direction: ContextMenuDirection | undefined,\n selectedIndex: number\n ) => {\n let index = 0;\n // add inheritance data to submenu children\n const ch = React.Children.map(children, (child: React.ReactNode) => {\n // Capture only ContextSubMenus and ContextMenuItems.\n if (\n child &&\n typeof child === \"object\" &&\n \"props\" in child &&\n (child.type === ContextSubMenu || child.type === ContextMenuItem) &&\n !ConditionalBooleanValue.getValue(child.props.disabled) &&\n !ConditionalBooleanValue.getValue(child.props.hidden)\n ) {\n const id = index; // get separate id variable so value stays the same when onHover is called later.\n const onHover = () => {\n this.setState({ selectedIndex: id });\n this.focus();\n };\n const ref = (el: ContextSubMenu | ContextMenuItem | null) => {\n if (selectedIndex === id)\n // only save to this._selectedElement if previously captured bool is true\n this._selectedElement = el;\n };\n const boundHandleHotKeyParse = this._handleHotKeyParsed.bind(this, id); // bind local callback for specific index\n const childProps: Partial<\n ContextSubMenuProps & ContextMenuItemProps & { ref: typeof ref }\n > = {\n parentMenu: this,\n ref,\n onHover,\n isSelected: selectedIndex === id,\n onHotKeyParsed: boundHandleHotKeyParse,\n };\n if (child.type === ContextSubMenu) {\n // add direction only to sub-menus\n childProps.direction =\n child.props.direction || /* istanbul ignore next */ direction;\n }\n index++;\n return React.cloneElement(child, childProps);\n } else return child; // Else, pass through unmodified\n });\n this._length = index;\n return ch;\n };\n\n private _rootRef = (el: HTMLDivElement | null) => {\n this._rootElement = el;\n };\n\n private _menuRef = (el: HTMLDivElement | null) => {\n this._menuElement = el;\n };\n\n private getWindow() {\n const el = this._rootElement\n ? this._rootElement\n : /* istanbul ignore next */ this._menuElement;\n const parentDocument = el!.ownerDocument;\n // istanbul ignore next\n return parentDocument.defaultView ?? window;\n }\n\n /** @internal */\n public override componentDidMount() {\n const parentWindow = this.getWindow();\n parentWindow.addEventListener(\"focus\", this._handleFocusChange);\n parentWindow.addEventListener(\"mouseup\", this._handleFocusChange);\n\n this.checkRenderDirection();\n\n if (this.props.opened) this.focus();\n }\n\n /** @internal */\n public override componentWillUnmount() {\n const parentWindow = this.getWindow();\n parentWindow.removeEventListener(\"focus\", this._handleFocusChange);\n parentWindow.removeEventListener(\"mouseup\", this._handleFocusChange);\n }\n\n private checkRenderDirection() {\n const { direction, autoflip, parentMenu } = this.props;\n const parentWindow = this.getWindow();\n\n let renderDirection =\n parentMenu === undefined ? this.state.direction : direction;\n\n if (\n parentWindow.innerHeight === this._parentWindowHeight &&\n parentWindow.innerWidth === this._parentWindowWidth\n )\n return;\n this._parentWindowHeight = parentWindow.innerHeight;\n this._parentWindowWidth = parentWindow.innerWidth;\n\n // check if menu should flip\n if (parentWindow && autoflip && parentMenu === undefined) {\n const menuRect = this.getRect();\n renderDirection = ContextMenu.autoFlip(\n renderDirection!,\n menuRect,\n parentWindow.innerWidth,\n parentWindow.innerHeight\n );\n // istanbul ignore next\n if (renderDirection !== this.state.direction)\n this.setState({ direction: renderDirection });\n }\n }\n\n public focus = () => {\n // istanbul ignore else\n if (this._menuElement) this._menuElement.focus();\n };\n\n public blur = () => {\n // istanbul ignore else\n if (this._menuElement) this._menuElement.blur();\n };\n\n public getRect = (): DOMRect => {\n let clientRect = DOMRect.fromRect({ x: 0, y: 0, width: 0, height: 0 });\n\n // istanbul ignore else\n if (this._menuElement) {\n clientRect = this._menuElement.getBoundingClientRect();\n }\n return clientRect;\n };\n\n private _handleFocusChange = (event: any): void => {\n // istanbul ignore else\n if (\n this._rootElement &&\n this.props.opened &&\n event.target instanceof Node &&\n this.props.onOutsideClick &&\n !this._rootElement.contains(event.target)\n )\n this.props.onOutsideClick(event);\n };\n\n private _handleClick = (event: React.MouseEvent<HTMLDivElement>): void => {\n if (this.props.onSelect) this.props.onSelect(event);\n };\n\n private _handleKeyUp = (event: React.KeyboardEvent<HTMLDivElement>): void => {\n if (this.state.ignoreNextKeyUp) {\n this.setState({ ignoreNextKeyUp: false });\n return;\n }\n\n // istanbul ignore else\n if (event.key) {\n for (const [key, value] of this._hotKeyMap) {\n if (!this.props.hotkeySelect! && key > this.state.selectedIndex) {\n // Start search at current index.\n if (event.key.toUpperCase() === value) {\n this.setState({ selectedIndex: key });\n return;\n }\n }\n }\n for (const [key, value] of this._hotKeyMap) {\n if (event.key.toUpperCase() === value) {\n this.setState({ selectedIndex: key }, () => {\n if (this.props.hotkeySelect && this._selectedElement) {\n this._selectedElement.select();\n }\n });\n event.stopPropagation();\n return;\n }\n }\n }\n\n if (event.key === Key.ArrowLeft.valueOf()) {\n event.stopPropagation();\n if (this.props.parentMenu && this.props.parentSubmenu) {\n this.props.parentSubmenu.close();\n this.props.parentMenu.focus();\n }\n if (this.props.onEsc) this.props.onEsc(event);\n }\n\n if (event.key === Key.Escape.valueOf()) {\n // istanbul ignore else\n if (this.props.onEsc) this.props.onEsc(event);\n }\n\n if (\n (event.key === Key.Enter.valueOf() ||\n event.key === Key.ArrowRight.valueOf()) &&\n this._selectedElement\n ) {\n event.stopPropagation();\n\n // istanbul ignore else\n if (\n event.key === Key.Enter.valueOf() ||\n /* istanbul ignore next */ this._selectedElement instanceof\n ContextSubMenu\n ) {\n // istanbul ignore else\n if (this._selectedElement.select) this._selectedElement.select();\n }\n }\n\n let { selectedIndex } = this.state;\n if (\n event.key === Key.ArrowUp.valueOf() ||\n event.key === Key.ArrowDown.valueOf()\n ) {\n event.stopPropagation();\n if (selectedIndex === -1) {\n selectedIndex = 0;\n } else {\n if (event.key === Key.ArrowUp.valueOf()) {\n if (this.state.selectedIndex === 0) selectedIndex = this._length - 1;\n else selectedIndex--;\n }\n if (event.key === Key.ArrowDown.valueOf()) {\n if (this.state.selectedIndex === this._length - 1) selectedIndex = 0;\n else selectedIndex++;\n }\n }\n }\n this.setState({ selectedIndex });\n };\n\n public override componentDidUpdate(prevProps: ContextMenuProps) {\n if (prevProps.selectedIndex !== this.props.selectedIndex) {\n this.setState((_, props) => ({ selectedIndex: props.selectedIndex! }));\n }\n if (!prevProps.opened && this.props.opened) {\n this.setState((_, props) => ({ selectedIndex: props.selectedIndex! }));\n }\n if (!this.props.parentMenu) {\n // const direction = this.props.direction!;\n // if ((!this.props.opened && prevProps.opened && direction !== this.state.direction) || prevProps.direction !== direction)\n this.checkRenderDirection();\n }\n }\n}\n"]}
@@ -21,8 +21,7 @@ class GlobalContextMenu extends React.PureComponent {
21
21
  parentDocument: null,
22
22
  };
23
23
  this._handleRefSet = (popupDiv) => {
24
- var _a, _b;
25
- const parentDocument = (_a = popupDiv === null || popupDiv === void 0 ? void 0 : popupDiv.ownerDocument) !== null && _a !== void 0 ? _a : null;
24
+ const parentDocument = popupDiv?.ownerDocument ?? null;
26
25
  if (parentDocument) {
27
26
  this._container = parentDocument.createElement("div");
28
27
  this._container.id =
@@ -34,7 +33,7 @@ class GlobalContextMenu extends React.PureComponent {
34
33
  rt = parentDocument.createElement("div");
35
34
  rt.id = "core-global-context-menu-root";
36
35
  // istanbul ignore next
37
- ((_b = parentDocument.body.querySelector('[data-root-container="appui-root-id"]')) !== null && _b !== void 0 ? _b : parentDocument.body).appendChild(rt);
36
+ (parentDocument.body.querySelector('[data-root-container="appui-root-id"]') ?? parentDocument.body).appendChild(rt);
38
37
  }
39
38
  rt.appendChild(this._container);
40
39
  // used to support component rendering in pop-out window
@@ -50,7 +49,6 @@ class GlobalContextMenu extends React.PureComponent {
50
49
  }
51
50
  }
52
51
  render() {
53
- var _a;
54
52
  const { x, y, identifier, contextMenuComponent, ...props } = this.props;
55
53
  const positioningStyle = {
56
54
  left: x,
@@ -61,7 +59,7 @@ class GlobalContextMenu extends React.PureComponent {
61
59
  ReactDOM.createPortal(React.createElement("div", { className: "core-context-menu-global", style: positioningStyle },
62
60
  React.createElement(CtxMenu, { ...props })),
63
61
  // istanbul ignore next
64
- (_a = this.state.parentDocument.body.querySelector('[data-root-container="appui-root-id"]')) !== null && _a !== void 0 ? _a : this.state.parentDocument.body)));
62
+ this.state.parentDocument.body.querySelector('[data-root-container="appui-root-id"]') ?? this.state.parentDocument.body)));
65
63
  }
66
64
  }
67
65
  exports.GlobalContextMenu = GlobalContextMenu;
@@ -1 +1 @@
1
- {"version":3,"file":"GlobalContextMenu.js","sourceRoot":"","sources":["../../../../src/core-react/contextmenu/GlobalContextMenu.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,+BAA+B;AAC/B,sCAAsC;AAEtC,+CAA4C;AAqB5C;;GAEG;AACH,MAAa,iBAAkB,SAAQ,KAAK,CAAC,aAG5C;IAOC,YAAY,KAA6B;QACvC,KAAK,CAAC,KAAK,CAAC,CAAC;QALU,UAAK,GAA2B;YACvD,cAAc,EAAE,IAAI;SACrB,CAAC;QAcM,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;oBAChB,IAAI,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS;wBACjC,CAAC,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE;wBACnC,CAAC,CAAC,0BAA0B,CAAC;gBACjC,IAAI,EAAE,GAAG,cAAc,CAAC,cAAc,CACpC,+BAA+B,CACd,CAAC;gBACpB,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,CACE,MAAA,cAAc,CAAC,IAAI,CAAC,aAAa,CAC/B,uCAAuC,CACxC,mCAAI,cAAc,CAAC,IAAI,CACzB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;iBACnB;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;IApCF,CAAC;IAEe,oBAAoB;QAClC,uBAAuB;QACvB,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE;YACpD,UAAU;YACV,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SAC5D;IACH,CAAC;IA8Be,MAAM;;QACpB,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,oBAAoB,EAAE,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QACxE,MAAM,gBAAgB,GAAwB;YAC5C,IAAI,EAAE,CAAC;YACP,GAAG,EAAE,CAAC;SACP,CAAC;QAEF,MAAM,OAAO,GAAG,oBAAoB,IAAI,yBAAW,CAAC;QAEpD,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,OAAK,KAAK,GAAI,CAClB;YACN,uBAAuB;YACvB,MAAA,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAC1C,uCAAuC,CACxC,mCAAI,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CACpC,CACC,CACP,CAAC;IACJ,CAAC;CACF;AA1ED,8CA0EC","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 type { ContextMenuProps } from \"./ContextMenu\";\nimport { ContextMenu } 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<\n GlobalContextMenuProps,\n GlobalContextMenuState\n> {\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) {\n // 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 =\n this.props.identifier !== undefined\n ? `dialog-${this.props.identifier}`\n : \"core-global-context-menu\";\n let rt = parentDocument.getElementById(\n \"core-global-context-menu-root\"\n ) as HTMLDivElement;\n if (!rt) {\n rt = parentDocument.createElement(\"div\");\n rt.id = \"core-global-context-menu-root\";\n // istanbul ignore next\n (\n parentDocument.body.querySelector(\n '[data-root-container=\"appui-root-id\"]'\n ) ?? parentDocument.body\n ).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;\n const positioningStyle: React.CSSProperties = {\n left: x,\n top: y,\n };\n\n const CtxMenu = contextMenuComponent || ContextMenu;\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 {...props} />\n </div>,\n // istanbul ignore next\n this.state.parentDocument.body.querySelector(\n '[data-root-container=\"appui-root-id\"]'\n ) ?? 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;;;gGAGgG;AAChG;;GAEG;;;AAEH,+BAA+B;AAC/B,sCAAsC;AAEtC,+CAA4C;AAqB5C;;GAEG;AACH,MAAa,iBAAkB,SAAQ,KAAK,CAAC,aAG5C;IAOC,YAAY,KAA6B;QACvC,KAAK,CAAC,KAAK,CAAC,CAAC;QALU,UAAK,GAA2B;YACvD,cAAc,EAAE,IAAI;SACrB,CAAC;QAcM,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;oBAChB,IAAI,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS;wBACjC,CAAC,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE;wBACnC,CAAC,CAAC,0BAA0B,CAAC;gBACjC,IAAI,EAAE,GAAG,cAAc,CAAC,cAAc,CACpC,+BAA+B,CACd,CAAC;gBACpB,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,CACE,cAAc,CAAC,IAAI,CAAC,aAAa,CAC/B,uCAAuC,CACxC,IAAI,cAAc,CAAC,IAAI,CACzB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;iBACnB;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;IApCF,CAAC;IAEe,oBAAoB;QAClC,uBAAuB;QACvB,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE;YACpD,UAAU;YACV,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SAC5D;IACH,CAAC;IA8Be,MAAM;QACpB,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,oBAAoB,EAAE,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QACxE,MAAM,gBAAgB,GAAwB;YAC5C,IAAI,EAAE,CAAC;YACP,GAAG,EAAE,CAAC;SACP,CAAC;QAEF,MAAM,OAAO,GAAG,oBAAoB,IAAI,yBAAW,CAAC;QAEpD,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,OAAK,KAAK,GAAI,CAClB;YACN,uBAAuB;YACvB,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAC1C,uCAAuC,CACxC,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CACpC,CACC,CACP,CAAC;IACJ,CAAC;CACF;AA1ED,8CA0EC","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 type { ContextMenuProps } from \"./ContextMenu\";\nimport { ContextMenu } 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<\n GlobalContextMenuProps,\n GlobalContextMenuState\n> {\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) {\n // 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 =\n this.props.identifier !== undefined\n ? `dialog-${this.props.identifier}`\n : \"core-global-context-menu\";\n let rt = parentDocument.getElementById(\n \"core-global-context-menu-root\"\n ) as HTMLDivElement;\n if (!rt) {\n rt = parentDocument.createElement(\"div\");\n rt.id = \"core-global-context-menu-root\";\n // istanbul ignore next\n (\n parentDocument.body.querySelector(\n '[data-root-container=\"appui-root-id\"]'\n ) ?? parentDocument.body\n ).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;\n const positioningStyle: React.CSSProperties = {\n left: x,\n top: y,\n };\n\n const CtxMenu = contextMenuComponent || ContextMenu;\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 {...props} />\n </div>,\n // istanbul ignore next\n this.state.parentDocument.body.querySelector(\n '[data-root-container=\"appui-root-id\"]'\n ) ?? this.state.parentDocument.body\n )}\n </div>\n );\n }\n}\n"]}
@@ -10,6 +10,7 @@ import "./Dialog.scss";
10
10
  type ButtonProps = React.ComponentPropsWithoutRef<typeof Button>;
11
11
  /** Enum for dialog alignment
12
12
  * @public
13
+ * @deprecated in 4.12.x. Enum used in a deprecated component {@link Dialog}.
13
14
  */
14
15
  export declare enum DialogAlignment {
15
16
  TopLeft = "top-left",
@@ -24,6 +25,7 @@ export declare enum DialogAlignment {
24
25
  }
25
26
  /** Properties for the [[Dialog]] component
26
27
  * @public
28
+ * @deprecated in 4.12.x. Props of deprecated component {@link Dialog}.
27
29
  */
28
30
  export interface DialogProps extends Omit<React.AllHTMLAttributes<HTMLDivElement>, "title">, CommonProps {
29
31
  /** Indicates whether to show dialog or not */
@@ -91,6 +93,7 @@ export interface DialogProps extends Omit<React.AllHTMLAttributes<HTMLDivElement
91
93
  }
92
94
  /** Dialog React component with optional resizing and dragging functionality
93
95
  * @public
96
+ * @deprecated in 4.12.x. Use {@link https://itwinui.bentley.com/docs/dialog iTwinUI dialog} instead.
94
97
  */
95
98
  export declare class Dialog extends React.Component<DialogProps> {
96
99
  private _parentDocument;
@@ -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,9 +16,9 @@ const itwinui_react_1 = require("@itwin/itwinui-react");
16
16
  const DivWithOutsideClick_1 = require("../base/DivWithOutsideClick");
17
17
  require("./Dialog.scss");
18
18
  const useTranslation_1 = require("../l10n/useTranslation");
19
- // cspell:ignore focustrap
20
19
  /** Enum for dialog alignment
21
20
  * @public
21
+ * @deprecated in 4.12.x. Enum used in a deprecated component {@link Dialog}.
22
22
  */
23
23
  var DialogAlignment;
24
24
  (function (DialogAlignment) {
@@ -34,8 +34,11 @@ var DialogAlignment;
34
34
  })(DialogAlignment = exports.DialogAlignment || (exports.DialogAlignment = {}));
35
35
  /** Dialog React component with optional resizing and dragging functionality
36
36
  * @public
37
+ * @deprecated in 4.12.x. Use {@link https://itwinui.bentley.com/docs/dialog iTwinUI dialog} instead.
37
38
  */
39
+ // eslint-disable-next-line deprecation/deprecation
38
40
  class Dialog extends React.Component {
41
+ // eslint-disable-next-line deprecation/deprecation
39
42
  constructor(props) {
40
43
  super(props);
41
44
  this._parentDocument = document;
@@ -70,8 +73,8 @@ class Dialog extends React.Component {
70
73
  let initialOffset = {};
71
74
  if (x || y) {
72
75
  initialOffset = {
73
- left: x !== null && x !== void 0 ? x : 0,
74
- top: y !== null && y !== void 0 ? y : 0,
76
+ left: x ?? 0,
77
+ top: y ?? 0,
75
78
  transform: "none",
76
79
  };
77
80
  }
@@ -103,24 +106,34 @@ class Dialog extends React.Component {
103
106
  footer ||
104
107
  (buttons && (React.createElement(itwinui_react_1.Dialog.ButtonBar, { style: footerStyle }, buttons)))))));
105
108
  }
109
+ // eslint-disable-next-line deprecation/deprecation
106
110
  getCSSClassNameFromAlignment(alignment) {
107
111
  switch (alignment) {
112
+ // eslint-disable-next-line deprecation/deprecation
108
113
  case DialogAlignment.TopLeft:
109
114
  return "core-align-top-left";
115
+ // eslint-disable-next-line deprecation/deprecation
110
116
  case DialogAlignment.Top:
111
117
  return "core-align-top";
118
+ // eslint-disable-next-line deprecation/deprecation
112
119
  case DialogAlignment.TopRight:
113
120
  return "core-align-top-right";
121
+ // eslint-disable-next-line deprecation/deprecation
114
122
  case DialogAlignment.Left:
115
123
  return "core-align-left";
124
+ // eslint-disable-next-line deprecation/deprecation
116
125
  case DialogAlignment.Center:
117
126
  return "core-align-center";
127
+ // eslint-disable-next-line deprecation/deprecation
118
128
  case DialogAlignment.Right:
119
129
  return "core-align-right";
130
+ // eslint-disable-next-line deprecation/deprecation
120
131
  case DialogAlignment.BottomLeft:
121
132
  return "core-align-bottom-left";
133
+ // eslint-disable-next-line deprecation/deprecation
122
134
  case DialogAlignment.Bottom:
123
135
  return "core-align-bottom";
136
+ // eslint-disable-next-line deprecation/deprecation
124
137
  case DialogAlignment.BottomRight:
125
138
  return "core-align-bottom-right";
126
139
  }
@@ -136,6 +149,7 @@ class Dialog extends React.Component {
136
149
  return buttons;
137
150
  }
138
151
  }
152
+ // eslint-disable-next-line deprecation/deprecation
139
153
  Dialog.defaultProps = {
140
154
  maxWidth: "100%",
141
155
  width: "50%",
@@ -1 +1 @@
1
- {"version":3,"file":"Dialog.js","sourceRoot":"","sources":["../../../../src/core-react/dialog/Dialog.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 Dialog\n */\n\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { Key } from \"ts-key-enum\";\nimport type { DialogButtonDef } from \"@itwin/appui-abstract\";\nimport { DialogButtonType } from \"@itwin/appui-abstract\";\nimport { Dialog as BaseDialog, Button } from \"@itwin/itwinui-react\";\nimport { DivWithOutsideClick } from \"../base/DivWithOutsideClick\";\nimport type { CommonProps } from \"../utils/Props\";\nimport type { Omit } from \"../utils/typeUtils\";\nimport \"./Dialog.scss\";\nimport { useTranslation } from \"../l10n/useTranslation\";\n\ntype ButtonProps = React.ComponentPropsWithoutRef<typeof Button>;\n\n// cspell:ignore focustrap\n\n/** Enum for dialog alignment\n * @public\n */\nexport enum DialogAlignment {\n TopLeft = \"top-left\",\n Top = \"top\",\n TopRight = \"top-right\",\n Left = \"left\",\n Center = \"center\",\n Right = \"right\",\n BottomLeft = \"bottom-left\",\n Bottom = \"bottom\",\n BottomRight = \"bottom-right\",\n}\n\n/** Properties for the [[Dialog]] component\n * @public\n */\nexport interface DialogProps\n extends Omit<React.AllHTMLAttributes<HTMLDivElement>, \"title\">,\n CommonProps {\n /** Indicates whether to show dialog or not */\n opened: boolean;\n\n /** Indicates whether the user can resize dialog with cursor. Default: false */\n resizable?: boolean;\n /** Indicates whether the user can move dialog with cursor. Default: false */\n movable?: boolean;\n /** Indicates whether the content should be inset. Default: true */\n inset?: boolean;\n /** Indicates whether the focus should be trapped within the dialog. Default: false */\n trapFocus?: boolean;\n\n /** Whether the hide the header. Default: false */\n hideHeader?: boolean;\n /** Override for the header */\n header?: React.ReactNode;\n /** Title to show in title bar of dialog */\n title?: string | React.ReactElement;\n /** Footer to show at bottom of dialog. Note: will override buttonCluster */\n footer?: string | React.ReactElement;\n /** List of DialogButtonDef objects specifying buttons and associated onClick events */\n buttonCluster?: DialogButtonDef[];\n\n /** Default alignment of dialog. */\n alignment?: DialogAlignment;\n /** Initial x/left position of dialog in px. */\n x?: number;\n /** Initial y/top position of dialog in px. */\n y?: number;\n\n /** onClick event for X button for dialog */\n onClose?: () => void;\n /** 'keyup' event for Esc key */\n onEscape?: () => void;\n /** Triggered when a click is triggered outside of this dialog. */\n onOutsideClick?: (event: MouseEvent) => any;\n\n /** Initial width of dialog. Displayed in px if value is a number; otherwise, displayed in specified CSS unit. Default: \"50%\" */\n width?: string | number;\n /** Initial height of dialog. Displayed in px if value is a number; otherwise, displayed in specified CSS unit. */\n height?: string | number;\n /** Minimum width that the dialog may be resized to. Displayed in px if value is a number; otherwise, displayed in specified CSS unit. Default: 300px */\n minWidth?: string | number;\n /** Minimum height that the dialog may be resized to. Displayed in px if value is a number; otherwise, displayed in specified CSS unit. Default: 135px */\n minHeight?: string | number;\n /** Maximum width that the dialog may be resized to. Displayed in px if value is a number; otherwise, displayed in specified CSS unit. Default: 100% */\n maxWidth?: string | number;\n /** Maximum height that the dialog may be resized to. Displayed in px if value is a number; otherwise, displayed in specified CSS unit. */\n maxHeight?: string | number;\n\n /** Whether to show background overlay. Default: true.\n * @note Modeless dialogs require an id and an implementation of onModelessPointerDown.\n */\n modal?: boolean;\n /** An id for a modeless dialog */\n modelessId?: string;\n /** Pointer Down event handler when modeless (modal = false) */\n onModelessPointerDown?: (event: React.PointerEvent, id: string) => void;\n\n /** Custom CSS Style for overlay */\n backgroundStyle?: React.CSSProperties;\n /** Custom CSS Style for title */\n titleStyle?: React.CSSProperties;\n /** Custom CSS Style for footer */\n footerStyle?: React.CSSProperties;\n /** Custom CSS class name for the content */\n contentClassName?: string;\n /** Custom CSS Style for the content */\n contentStyle?: React.CSSProperties;\n}\n\n/** Dialog React component with optional resizing and dragging functionality\n * @public\n */\nexport class Dialog extends React.Component<DialogProps> {\n private _parentDocument = document;\n public static defaultProps: Partial<DialogProps> = {\n maxWidth: \"100%\",\n width: \"50%\",\n hideHeader: false,\n resizable: false,\n movable: false,\n modal: true,\n inset: true,\n trapFocus: false,\n };\n\n constructor(props: DialogProps) {\n super(props);\n }\n\n public override componentWillUnmount(): void {\n this._parentDocument.removeEventListener(\"keyup\", this._handleKeyUp, true);\n }\n\n public override componentDidMount(): void {\n this._parentDocument.addEventListener(\"keyup\", this._handleKeyUp, true);\n }\n\n // istanbul ignore next\n public handleRefSet = (containerDiv: HTMLDivElement | null) => {\n if (containerDiv) this._parentDocument = containerDiv.ownerDocument;\n };\n\n public override render(): React.ReactElement {\n const {\n opened,\n title,\n footer,\n buttonCluster,\n onClose,\n onEscape,\n onOutsideClick,\n minWidth,\n minHeight,\n x,\n y,\n width,\n height,\n maxHeight,\n maxWidth,\n backgroundStyle,\n titleStyle,\n footerStyle,\n style,\n contentStyle,\n contentClassName,\n modal,\n resizable,\n movable,\n className,\n alignment,\n inset,\n trapFocus,\n modelessId,\n onModelessPointerDown,\n hideHeader,\n header,\n as,\n ...props\n } = this.props;\n\n let initialOffset: React.CSSProperties = {};\n if (x || y) {\n initialOffset = {\n left: x ?? 0,\n top: y ?? 0,\n transform: \"none\",\n };\n }\n\n const containerStyle: React.CSSProperties = {\n ...initialOffset,\n margin: \"\",\n width,\n height,\n };\n\n const minMaxStyle: React.CSSProperties = {\n minWidth,\n minHeight,\n maxWidth,\n maxHeight,\n };\n const dialogBaseContainerStyle: React.CSSProperties = {\n ...containerStyle,\n ...minMaxStyle,\n };\n\n // eslint-disable-next-line deprecation/deprecation\n const buttons = this.getFooterButtons(\n buttonCluster,\n \"high-visibility\",\n true\n );\n\n return (\n <BaseDialog\n isOpen={opened}\n onClose={onClose}\n closeOnExternalClick={false}\n closeOnEsc={false}\n style={style}\n className={classnames(\"core-dialog\", className)}\n isDraggable={movable}\n isResizable={resizable}\n trapFocus={trapFocus && /* istanbul ignore next */ modal}\n preventDocumentScroll={true}\n data-testid=\"core-dialog-root\"\n {...props}\n >\n {modal && <BaseDialog.Backdrop style={backgroundStyle} />}\n <DivWithOutsideClick onOutsideClick={onOutsideClick}>\n <BaseDialog.Main\n className={classnames(\n \"core-dialog-main\",\n alignment && this.getCSSClassNameFromAlignment(alignment)\n )}\n data-testid=\"core-dialog-container\"\n style={dialogBaseContainerStyle}\n onPointerDown={this._handleContainerPointerDown}\n >\n {!hideHeader &&\n (header || (\n <BaseDialog.TitleBar\n titleText={title}\n style={titleStyle}\n data-testid=\"core-dialog-head\"\n />\n ))}\n <BaseDialog.Content\n className={contentClassName}\n style={{ padding: inset ? undefined : 0, ...contentStyle }}\n >\n {this.props.children}\n </BaseDialog.Content>\n {footer ||\n (buttons && (\n <BaseDialog.ButtonBar style={footerStyle}>\n {buttons}\n </BaseDialog.ButtonBar>\n ))}\n </BaseDialog.Main>\n </DivWithOutsideClick>\n </BaseDialog>\n );\n }\n\n private getCSSClassNameFromAlignment(alignment: DialogAlignment): string {\n switch (alignment) {\n case DialogAlignment.TopLeft:\n return \"core-align-top-left\";\n case DialogAlignment.Top:\n return \"core-align-top\";\n case DialogAlignment.TopRight:\n return \"core-align-top-right\";\n case DialogAlignment.Left:\n return \"core-align-left\";\n case DialogAlignment.Center:\n return \"core-align-center\";\n case DialogAlignment.Right:\n return \"core-align-right\";\n case DialogAlignment.BottomLeft:\n return \"core-align-bottom-left\";\n case DialogAlignment.Bottom:\n return \"core-align-bottom\";\n case DialogAlignment.BottomRight:\n return \"core-align-bottom-right\";\n }\n }\n\n /** @deprecated in 4.12.x. Use iTwinUI Button instead. */\n protected getFooterButtons(\n buttonCluster: DialogButtonDef[] | undefined,\n primaryStyleType: ButtonProps[\"styleType\"] = \"cta\",\n noCoreButtonClasses: boolean = false\n ): React.ReactNode[] | undefined {\n if (buttonCluster === undefined) return undefined;\n\n const buttons: React.ReactNode[] = [];\n buttonCluster.forEach((button: DialogButtonDef, index: number) => {\n buttons.push(\n <DialogButton\n key={index.toString()}\n button={button}\n primaryStyleType={primaryStyleType}\n noCoreButtonClasses={noCoreButtonClasses}\n />\n );\n });\n return buttons;\n }\n\n private _handleKeyUp = (event: KeyboardEvent) => {\n if (\n event.key === Key.Escape.valueOf() &&\n this.props.opened &&\n this.props.onEscape\n ) {\n this.props.onEscape();\n }\n };\n\n protected _handleContainerPointerDown = (event: React.PointerEvent): void => {\n // istanbul ignore next\n if (!this.props.modal) {\n if (this.props.onModelessPointerDown && this.props.modelessId)\n this.props.onModelessPointerDown(event, this.props.modelessId);\n }\n };\n}\n\nfunction DialogButton({\n button,\n primaryStyleType,\n noCoreButtonClasses,\n}: {\n button: DialogButtonDef;\n primaryStyleType: ButtonProps[\"styleType\"];\n noCoreButtonClasses: boolean;\n}) {\n const { translate } = useTranslation();\n\n let buttonText = \"\";\n\n let buttonClass = classnames(\n !noCoreButtonClasses && \"core-dialog-button\",\n !noCoreButtonClasses && `dialog-button-${button.type}`,\n button.className\n );\n let usePrimaryStyleType = false;\n\n switch (button.type) {\n case DialogButtonType.OK:\n buttonText = translate(\"dialog.ok\");\n buttonClass = classnames(buttonClass, button.buttonStyle);\n usePrimaryStyleType = true;\n break;\n case DialogButtonType.Retry:\n buttonText = translate(\"dialog.retry\");\n buttonClass = classnames(buttonClass, button.buttonStyle);\n usePrimaryStyleType = true;\n break;\n case DialogButtonType.Yes:\n buttonText = translate(\"dialog.yes\");\n buttonClass = classnames(buttonClass, button.buttonStyle);\n usePrimaryStyleType = true;\n break;\n case DialogButtonType.No:\n buttonText = translate(\"dialog.no\");\n buttonClass = classnames(buttonClass, button.buttonStyle);\n break;\n case DialogButtonType.Cancel:\n buttonText = translate(\"dialog.cancel\");\n buttonClass = classnames(buttonClass, button.buttonStyle);\n break;\n case DialogButtonType.Close:\n buttonText = translate(\"dialog.close\");\n buttonClass = classnames(buttonClass, button.buttonStyle);\n break;\n case DialogButtonType.Next:\n buttonText = translate(\"dialog.next\");\n buttonClass = classnames(buttonClass, button.buttonStyle);\n usePrimaryStyleType = true;\n break;\n case DialogButtonType.Previous:\n buttonText = translate(\"dialog.previous\");\n buttonClass = classnames(buttonClass, button.buttonStyle);\n usePrimaryStyleType = true;\n break;\n }\n\n buttonText = button.label || buttonText;\n\n return (\n <Button\n className={buttonClass}\n disabled={button.disabled}\n styleType={usePrimaryStyleType ? primaryStyleType : undefined}\n onClick={button.onClick}\n >\n {buttonText}\n </Button>\n );\n}\n"]}
1
+ {"version":3,"file":"Dialog.js","sourceRoot":"","sources":["../../../../src/core-react/dialog/Dialog.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 Dialog\n */\n\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { Key } from \"ts-key-enum\";\nimport type { DialogButtonDef } from \"@itwin/appui-abstract\";\nimport { DialogButtonType } from \"@itwin/appui-abstract\";\nimport { Dialog as BaseDialog, Button } from \"@itwin/itwinui-react\";\nimport { DivWithOutsideClick } from \"../base/DivWithOutsideClick\";\nimport type { CommonProps } from \"../utils/Props\";\nimport type { Omit } from \"../utils/typeUtils\";\nimport \"./Dialog.scss\";\nimport { useTranslation } from \"../l10n/useTranslation\";\n\ntype ButtonProps = React.ComponentPropsWithoutRef<typeof Button>;\n\n/** Enum for dialog alignment\n * @public\n * @deprecated in 4.12.x. Enum used in a deprecated component {@link Dialog}.\n */\nexport enum DialogAlignment {\n TopLeft = \"top-left\",\n Top = \"top\",\n TopRight = \"top-right\",\n Left = \"left\",\n Center = \"center\",\n Right = \"right\",\n BottomLeft = \"bottom-left\",\n Bottom = \"bottom\",\n BottomRight = \"bottom-right\",\n}\n\n/** Properties for the [[Dialog]] component\n * @public\n * @deprecated in 4.12.x. Props of deprecated component {@link Dialog}.\n */\nexport interface DialogProps\n extends Omit<React.AllHTMLAttributes<HTMLDivElement>, \"title\">,\n CommonProps {\n /** Indicates whether to show dialog or not */\n opened: boolean;\n\n /** Indicates whether the user can resize dialog with cursor. Default: false */\n resizable?: boolean;\n /** Indicates whether the user can move dialog with cursor. Default: false */\n movable?: boolean;\n /** Indicates whether the content should be inset. Default: true */\n inset?: boolean;\n /** Indicates whether the focus should be trapped within the dialog. Default: false */\n trapFocus?: boolean;\n\n /** Whether the hide the header. Default: false */\n hideHeader?: boolean;\n /** Override for the header */\n header?: React.ReactNode;\n /** Title to show in title bar of dialog */\n title?: string | React.ReactElement;\n /** Footer to show at bottom of dialog. Note: will override buttonCluster */\n footer?: string | React.ReactElement;\n /** List of DialogButtonDef objects specifying buttons and associated onClick events */\n buttonCluster?: DialogButtonDef[];\n\n /** Default alignment of dialog. */\n // eslint-disable-next-line deprecation/deprecation\n alignment?: DialogAlignment;\n /** Initial x/left position of dialog in px. */\n x?: number;\n /** Initial y/top position of dialog in px. */\n y?: number;\n\n /** onClick event for X button for dialog */\n onClose?: () => void;\n /** 'keyup' event for Esc key */\n onEscape?: () => void;\n /** Triggered when a click is triggered outside of this dialog. */\n onOutsideClick?: (event: MouseEvent) => any;\n\n /** Initial width of dialog. Displayed in px if value is a number; otherwise, displayed in specified CSS unit. Default: \"50%\" */\n width?: string | number;\n /** Initial height of dialog. Displayed in px if value is a number; otherwise, displayed in specified CSS unit. */\n height?: string | number;\n /** Minimum width that the dialog may be resized to. Displayed in px if value is a number; otherwise, displayed in specified CSS unit. Default: 300px */\n minWidth?: string | number;\n /** Minimum height that the dialog may be resized to. Displayed in px if value is a number; otherwise, displayed in specified CSS unit. Default: 135px */\n minHeight?: string | number;\n /** Maximum width that the dialog may be resized to. Displayed in px if value is a number; otherwise, displayed in specified CSS unit. Default: 100% */\n maxWidth?: string | number;\n /** Maximum height that the dialog may be resized to. Displayed in px if value is a number; otherwise, displayed in specified CSS unit. */\n maxHeight?: string | number;\n\n /** Whether to show background overlay. Default: true.\n * @note Modeless dialogs require an id and an implementation of onModelessPointerDown.\n */\n modal?: boolean;\n /** An id for a modeless dialog */\n modelessId?: string;\n /** Pointer Down event handler when modeless (modal = false) */\n onModelessPointerDown?: (event: React.PointerEvent, id: string) => void;\n\n /** Custom CSS Style for overlay */\n backgroundStyle?: React.CSSProperties;\n /** Custom CSS Style for title */\n titleStyle?: React.CSSProperties;\n /** Custom CSS Style for footer */\n footerStyle?: React.CSSProperties;\n /** Custom CSS class name for the content */\n contentClassName?: string;\n /** Custom CSS Style for the content */\n contentStyle?: React.CSSProperties;\n}\n\n/** Dialog React component with optional resizing and dragging functionality\n * @public\n * @deprecated in 4.12.x. Use {@link https://itwinui.bentley.com/docs/dialog iTwinUI dialog} instead.\n */\n// eslint-disable-next-line deprecation/deprecation\nexport class Dialog extends React.Component<DialogProps> {\n private _parentDocument = document;\n // eslint-disable-next-line deprecation/deprecation\n public static defaultProps: Partial<DialogProps> = {\n maxWidth: \"100%\",\n width: \"50%\",\n hideHeader: false,\n resizable: false,\n movable: false,\n modal: true,\n inset: true,\n trapFocus: false,\n };\n\n // eslint-disable-next-line deprecation/deprecation\n constructor(props: DialogProps) {\n super(props);\n }\n\n public override componentWillUnmount(): void {\n this._parentDocument.removeEventListener(\"keyup\", this._handleKeyUp, true);\n }\n\n public override componentDidMount(): void {\n this._parentDocument.addEventListener(\"keyup\", this._handleKeyUp, true);\n }\n\n // istanbul ignore next\n public handleRefSet = (containerDiv: HTMLDivElement | null) => {\n if (containerDiv) this._parentDocument = containerDiv.ownerDocument;\n };\n\n public override render(): React.ReactElement {\n const {\n opened,\n title,\n footer,\n buttonCluster,\n onClose,\n onEscape,\n onOutsideClick,\n minWidth,\n minHeight,\n x,\n y,\n width,\n height,\n maxHeight,\n maxWidth,\n backgroundStyle,\n titleStyle,\n footerStyle,\n style,\n contentStyle,\n contentClassName,\n modal,\n resizable,\n movable,\n className,\n alignment,\n inset,\n trapFocus,\n modelessId,\n onModelessPointerDown,\n hideHeader,\n header,\n as,\n ...props\n } = this.props;\n\n let initialOffset: React.CSSProperties = {};\n if (x || y) {\n initialOffset = {\n left: x ?? 0,\n top: y ?? 0,\n transform: \"none\",\n };\n }\n\n const containerStyle: React.CSSProperties = {\n ...initialOffset,\n margin: \"\",\n width,\n height,\n };\n\n const minMaxStyle: React.CSSProperties = {\n minWidth,\n minHeight,\n maxWidth,\n maxHeight,\n };\n const dialogBaseContainerStyle: React.CSSProperties = {\n ...containerStyle,\n ...minMaxStyle,\n };\n\n // eslint-disable-next-line deprecation/deprecation\n const buttons = this.getFooterButtons(\n buttonCluster,\n \"high-visibility\",\n true\n );\n\n return (\n <BaseDialog\n isOpen={opened}\n onClose={onClose}\n closeOnExternalClick={false}\n closeOnEsc={false}\n style={style}\n className={classnames(\"core-dialog\", className)}\n isDraggable={movable}\n isResizable={resizable}\n trapFocus={trapFocus && /* istanbul ignore next */ modal}\n preventDocumentScroll={true}\n data-testid=\"core-dialog-root\"\n {...props}\n >\n {modal && <BaseDialog.Backdrop style={backgroundStyle} />}\n {/* eslint-disable-next-line deprecation/deprecation */}\n <DivWithOutsideClick onOutsideClick={onOutsideClick}>\n <BaseDialog.Main\n className={classnames(\n \"core-dialog-main\",\n alignment && this.getCSSClassNameFromAlignment(alignment)\n )}\n data-testid=\"core-dialog-container\"\n style={dialogBaseContainerStyle}\n onPointerDown={this._handleContainerPointerDown}\n >\n {!hideHeader &&\n (header || (\n <BaseDialog.TitleBar\n titleText={title}\n style={titleStyle}\n data-testid=\"core-dialog-head\"\n />\n ))}\n <BaseDialog.Content\n className={contentClassName}\n style={{ padding: inset ? undefined : 0, ...contentStyle }}\n >\n {this.props.children}\n </BaseDialog.Content>\n {footer ||\n (buttons && (\n <BaseDialog.ButtonBar style={footerStyle}>\n {buttons}\n </BaseDialog.ButtonBar>\n ))}\n </BaseDialog.Main>\n </DivWithOutsideClick>\n </BaseDialog>\n );\n }\n\n // eslint-disable-next-line deprecation/deprecation\n private getCSSClassNameFromAlignment(alignment: DialogAlignment): string {\n switch (alignment) {\n // eslint-disable-next-line deprecation/deprecation\n case DialogAlignment.TopLeft:\n return \"core-align-top-left\";\n // eslint-disable-next-line deprecation/deprecation\n case DialogAlignment.Top:\n return \"core-align-top\";\n // eslint-disable-next-line deprecation/deprecation\n case DialogAlignment.TopRight:\n return \"core-align-top-right\";\n // eslint-disable-next-line deprecation/deprecation\n case DialogAlignment.Left:\n return \"core-align-left\";\n // eslint-disable-next-line deprecation/deprecation\n case DialogAlignment.Center:\n return \"core-align-center\";\n // eslint-disable-next-line deprecation/deprecation\n case DialogAlignment.Right:\n return \"core-align-right\";\n // eslint-disable-next-line deprecation/deprecation\n case DialogAlignment.BottomLeft:\n return \"core-align-bottom-left\";\n // eslint-disable-next-line deprecation/deprecation\n case DialogAlignment.Bottom:\n return \"core-align-bottom\";\n // eslint-disable-next-line deprecation/deprecation\n case DialogAlignment.BottomRight:\n return \"core-align-bottom-right\";\n }\n }\n\n /** @deprecated in 4.12.x. Use iTwinUI Button instead. */\n protected getFooterButtons(\n buttonCluster: DialogButtonDef[] | undefined,\n primaryStyleType: ButtonProps[\"styleType\"] = \"cta\",\n noCoreButtonClasses: boolean = false\n ): React.ReactNode[] | undefined {\n if (buttonCluster === undefined) return undefined;\n\n const buttons: React.ReactNode[] = [];\n buttonCluster.forEach((button: DialogButtonDef, index: number) => {\n buttons.push(\n <DialogButton\n key={index.toString()}\n button={button}\n primaryStyleType={primaryStyleType}\n noCoreButtonClasses={noCoreButtonClasses}\n />\n );\n });\n return buttons;\n }\n\n private _handleKeyUp = (event: KeyboardEvent) => {\n if (\n event.key === Key.Escape.valueOf() &&\n this.props.opened &&\n this.props.onEscape\n ) {\n this.props.onEscape();\n }\n };\n\n protected _handleContainerPointerDown = (event: React.PointerEvent): void => {\n // istanbul ignore next\n if (!this.props.modal) {\n if (this.props.onModelessPointerDown && this.props.modelessId)\n this.props.onModelessPointerDown(event, this.props.modelessId);\n }\n };\n}\n\nfunction DialogButton({\n button,\n primaryStyleType,\n noCoreButtonClasses,\n}: {\n button: DialogButtonDef;\n primaryStyleType: ButtonProps[\"styleType\"];\n noCoreButtonClasses: boolean;\n}) {\n const { translate } = useTranslation();\n\n let buttonText = \"\";\n\n let buttonClass = classnames(\n !noCoreButtonClasses && \"core-dialog-button\",\n !noCoreButtonClasses && `dialog-button-${button.type}`,\n button.className\n );\n let usePrimaryStyleType = false;\n\n switch (button.type) {\n case DialogButtonType.OK:\n buttonText = translate(\"dialog.ok\");\n buttonClass = classnames(buttonClass, button.buttonStyle);\n usePrimaryStyleType = true;\n break;\n case DialogButtonType.Retry:\n buttonText = translate(\"dialog.retry\");\n buttonClass = classnames(buttonClass, button.buttonStyle);\n usePrimaryStyleType = true;\n break;\n case DialogButtonType.Yes:\n buttonText = translate(\"dialog.yes\");\n buttonClass = classnames(buttonClass, button.buttonStyle);\n usePrimaryStyleType = true;\n break;\n case DialogButtonType.No:\n buttonText = translate(\"dialog.no\");\n buttonClass = classnames(buttonClass, button.buttonStyle);\n break;\n case DialogButtonType.Cancel:\n buttonText = translate(\"dialog.cancel\");\n buttonClass = classnames(buttonClass, button.buttonStyle);\n break;\n case DialogButtonType.Close:\n buttonText = translate(\"dialog.close\");\n buttonClass = classnames(buttonClass, button.buttonStyle);\n break;\n case DialogButtonType.Next:\n buttonText = translate(\"dialog.next\");\n buttonClass = classnames(buttonClass, button.buttonStyle);\n usePrimaryStyleType = true;\n break;\n case DialogButtonType.Previous:\n buttonText = translate(\"dialog.previous\");\n buttonClass = classnames(buttonClass, button.buttonStyle);\n usePrimaryStyleType = true;\n break;\n }\n\n buttonText = button.label || buttonText;\n\n return (\n <Button\n className={buttonClass}\n disabled={button.disabled}\n styleType={usePrimaryStyleType ? primaryStyleType : undefined}\n onClick={button.onClick}\n >\n {buttonText}\n </Button>\n );\n}\n"]}
@@ -5,18 +5,21 @@ import * as React from "react";
5
5
  import type { DialogProps } from "./Dialog";
6
6
  /** Properties for the [[GlobalDialog]] component
7
7
  * @public
8
+ * @deprecated in 4.12.x. Props of deprecated component {@link GlobalDialog}.
8
9
  */
9
10
  export interface GlobalDialogProps extends DialogProps {
10
11
  identifier?: string;
11
12
  }
12
13
  /** State properties for the [[GlobalDialog]] component
13
14
  * @public
15
+ * @deprecated in 4.12.x. State of deprecated component {@link GlobalDialog}.
14
16
  */
15
17
  export interface GlobalDialogState {
16
18
  parentDocument: Document | null;
17
19
  }
18
20
  /** GlobalDialog React component used to display a [[Dialog]] on the top of screen
19
21
  * @public
22
+ * @deprecated in 4.12.x. Use {@link https://itwinui.bentley.com/docs/dialog iTwinUI dialog} instead.
20
23
  */
21
24
  export declare class GlobalDialog extends React.Component<GlobalDialogProps, GlobalDialogState> {
22
25
  private _container?;
@@ -1 +1 @@
1
- {"version":3,"file":"GlobalDialog.d.ts","sourceRoot":"","sources":["../../../../src/core-react/dialog/GlobalDialog.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAG5C;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,WAAW;IACpD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,cAAc,EAAE,QAAQ,GAAG,IAAI,CAAC;CACjC;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,KAAK,CAAC,SAAS,CAC/C,iBAAiB,EACjB,iBAAiB,CAClB;IACC,OAAO,CAAC,UAAU,CAAC,CAAiB;IAEpC,SAAyB,KAAK,EAAE,iBAAiB,CAE/C;gBAEU,KAAK,EAAE,iBAAiB;IAIpC,OAAO,CAAC,aAAa,CAqBnB;IAEc,oBAAoB;IAQpB,MAAM,IAAI,KAAK,CAAC,SAAS;CAY1C"}
1
+ {"version":3,"file":"GlobalDialog.d.ts","sourceRoot":"","sources":["../../../../src/core-react/dialog/GlobalDialog.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAG5C;;;GAGG;AAEH,MAAM,WAAW,iBAAkB,SAAQ,WAAW;IACpD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,cAAc,EAAE,QAAQ,GAAG,IAAI,CAAC;CACjC;AAED;;;GAGG;AACH,qBAAa,YAAa,SAAQ,KAAK,CAAC,SAAS,CAE/C,iBAAiB,EAEjB,iBAAiB,CAClB;IACC,OAAO,CAAC,UAAU,CAAC,CAAiB;IAGpC,SAAyB,KAAK,EAAE,iBAAiB,CAE/C;gBAGU,KAAK,EAAE,iBAAiB;IAIpC,OAAO,CAAC,aAAa,CAqBnB;IAEc,oBAAoB;IAQpB,MAAM,IAAI,KAAK,CAAC,SAAS;CAa1C"}
@@ -13,16 +13,18 @@ const ReactDOM = require("react-dom");
13
13
  const Dialog_1 = require("./Dialog");
14
14
  /** GlobalDialog React component used to display a [[Dialog]] on the top of screen
15
15
  * @public
16
+ * @deprecated in 4.12.x. Use {@link https://itwinui.bentley.com/docs/dialog iTwinUI dialog} instead.
16
17
  */
17
18
  class GlobalDialog extends React.Component {
19
+ // eslint-disable-next-line deprecation/deprecation
18
20
  constructor(props) {
19
21
  super(props);
22
+ // eslint-disable-next-line deprecation/deprecation
20
23
  this.state = {
21
24
  parentDocument: null,
22
25
  };
23
26
  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;
27
+ const parentDocument = popupDiv?.ownerDocument ?? null;
26
28
  if (parentDocument) {
27
29
  this._container = parentDocument.createElement("div");
28
30
  this._container.id =
@@ -51,7 +53,9 @@ class GlobalDialog extends React.Component {
51
53
  render() {
52
54
  const { identifier, ...props } = this.props;
53
55
  return (React.createElement("div", { ref: this._handleRefSet }, this.state.parentDocument &&
54
- ReactDOM.createPortal(React.createElement(Dialog_1.Dialog, { ...props }), this.state.parentDocument.body)));
56
+ ReactDOM.createPortal(
57
+ // eslint-disable-next-line deprecation/deprecation
58
+ React.createElement(Dialog_1.Dialog, { ...props }), this.state.parentDocument.body)));
55
59
  }
56
60
  }
57
61
  exports.GlobalDialog = GlobalDialog;
@@ -1 +1 @@
1
- {"version":3,"file":"GlobalDialog.js","sourceRoot":"","sources":["../../../../src/core-react/dialog/GlobalDialog.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,+BAA+B;AAC/B,sCAAsC;AAEtC,qCAAkC;AAgBlC;;GAEG;AACH,MAAa,YAAa,SAAQ,KAAK,CAAC,SAGvC;IAOC,YAAY,KAAwB;QAClC,KAAK,CAAC,KAAK,CAAC,CAAC;QALU,UAAK,GAAsB;YAClD,cAAc,EAAE,IAAI;SACrB,CAAC;QAMM,kBAAa,GAAG,CAAC,QAA4B,EAAE,EAAE;;YACvD,MAAM,cAAc,GAAG,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,aAAa,mCAAI,IAAI,CAAC;YACvD,IAAI,cAAc,EAAE;gBAClB,IAAI,CAAC,UAAU,GAAG,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBACtD,IAAI,CAAC,UAAU,CAAC,EAAE;oBAChB,IAAI,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS;wBACjC,CAAC,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE;wBACnC,CAAC,CAAC,aAAa,CAAC;gBACpB,IAAI,EAAE,GAAG,cAAc,CAAC,cAAc,CACpC,kBAAkB,CACD,CAAC;gBACpB,IAAI,CAAC,EAAE,EAAE;oBACP,EAAE,GAAG,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACzC,EAAE,CAAC,EAAE,GAAG,kBAAkB,CAAC;oBAC3B,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;iBACrC;gBACD,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAEhC,wDAAwD;gBACxD,IAAI,CAAC,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC;aACnC;QACH,CAAC,CAAC;IAvBF,CAAC;IAyBe,oBAAoB;QAClC,uBAAuB;QACvB,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE;YACpD,UAAU;YACV,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SAC5D;IACH,CAAC;IAEe,MAAM;QACpB,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAC5C,OAAO,CACL,6BAAK,GAAG,EAAE,IAAI,CAAC,aAAa,IACzB,IAAI,CAAC,KAAK,CAAC,cAAc;YACxB,QAAQ,CAAC,YAAY,CACnB,oBAAC,eAAM,OAAK,KAAK,GAAI,EACrB,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAC/B,CACC,CACP,CAAC;IACJ,CAAC;CACF;AAzDD,oCAyDC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Dialog\n */\n\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport type { DialogProps } from \"./Dialog\";\nimport { Dialog } from \"./Dialog\";\n\n/** Properties for the [[GlobalDialog]] component\n * @public\n */\nexport interface GlobalDialogProps extends DialogProps {\n identifier?: string;\n}\n\n/** State properties for the [[GlobalDialog]] component\n * @public\n */\nexport interface GlobalDialogState {\n parentDocument: Document | null;\n}\n\n/** GlobalDialog React component used to display a [[Dialog]] on the top of screen\n * @public\n */\nexport class GlobalDialog extends React.Component<\n GlobalDialogProps,\n GlobalDialogState\n> {\n private _container?: HTMLDivElement;\n\n public override readonly state: GlobalDialogState = {\n parentDocument: null,\n };\n\n constructor(props: GlobalDialogProps) {\n super(props);\n }\n\n private _handleRefSet = (popupDiv: HTMLElement | null) => {\n const parentDocument = popupDiv?.ownerDocument ?? null;\n if (parentDocument) {\n this._container = parentDocument.createElement(\"div\");\n this._container.id =\n this.props.identifier !== undefined\n ? `dialog-${this.props.identifier}`\n : \"core-dialog\";\n let rt = parentDocument.getElementById(\n \"core-dialog-root\"\n ) as HTMLDivElement;\n if (!rt) {\n rt = parentDocument.createElement(\"div\");\n rt.id = \"core-dialog-root\";\n parentDocument.body.appendChild(rt);\n }\n rt.appendChild(this._container);\n\n // used to support component rendering in pop-out window\n this.setState({ parentDocument });\n }\n };\n\n public override componentWillUnmount() {\n // istanbul ignore else\n if (this._container && this._container.parentElement) {\n // cleanup\n this._container.parentElement.removeChild(this._container);\n }\n }\n\n public override render(): React.ReactNode {\n const { identifier, ...props } = this.props;\n return (\n <div ref={this._handleRefSet}>\n {this.state.parentDocument &&\n ReactDOM.createPortal(\n <Dialog {...props} />,\n this.state.parentDocument.body\n )}\n </div>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"GlobalDialog.js","sourceRoot":"","sources":["../../../../src/core-react/dialog/GlobalDialog.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,+BAA+B;AAC/B,sCAAsC;AAEtC,qCAAkC;AAmBlC;;;GAGG;AACH,MAAa,YAAa,SAAQ,KAAK,CAAC,SAKvC;IAQC,mDAAmD;IACnD,YAAY,KAAwB;QAClC,KAAK,CAAC,KAAK,CAAC,CAAC;QAPf,mDAAmD;QAC1B,UAAK,GAAsB;YAClD,cAAc,EAAE,IAAI;SACrB,CAAC;QAOM,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;oBAChB,IAAI,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS;wBACjC,CAAC,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE;wBACnC,CAAC,CAAC,aAAa,CAAC;gBACpB,IAAI,EAAE,GAAG,cAAc,CAAC,cAAc,CACpC,kBAAkB,CACD,CAAC;gBACpB,IAAI,CAAC,EAAE,EAAE;oBACP,EAAE,GAAG,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACzC,EAAE,CAAC,EAAE,GAAG,kBAAkB,CAAC;oBAC3B,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;iBACrC;gBACD,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAEhC,wDAAwD;gBACxD,IAAI,CAAC,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC;aACnC;QACH,CAAC,CAAC;IAvBF,CAAC;IAyBe,oBAAoB;QAClC,uBAAuB;QACvB,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE;YACpD,UAAU;YACV,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SAC5D;IACH,CAAC;IAEe,MAAM;QACpB,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAC5C,OAAO,CACL,6BAAK,GAAG,EAAE,IAAI,CAAC,aAAa,IACzB,IAAI,CAAC,KAAK,CAAC,cAAc;YACxB,QAAQ,CAAC,YAAY;YACnB,mDAAmD;YACnD,oBAAC,eAAM,OAAK,KAAK,GAAI,EACrB,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAC/B,CACC,CACP,CAAC;IACJ,CAAC;CACF;AA9DD,oCA8DC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Dialog\n */\n\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport type { DialogProps } from \"./Dialog\";\nimport { Dialog } from \"./Dialog\";\n\n/** Properties for the [[GlobalDialog]] component\n * @public\n * @deprecated in 4.12.x. Props of deprecated component {@link GlobalDialog}.\n */\n// eslint-disable-next-line deprecation/deprecation\nexport interface GlobalDialogProps extends DialogProps {\n identifier?: string;\n}\n\n/** State properties for the [[GlobalDialog]] component\n * @public\n * @deprecated in 4.12.x. State of deprecated component {@link GlobalDialog}.\n */\nexport interface GlobalDialogState {\n parentDocument: Document | null;\n}\n\n/** GlobalDialog React component used to display a [[Dialog]] on the top of screen\n * @public\n * @deprecated in 4.12.x. Use {@link https://itwinui.bentley.com/docs/dialog iTwinUI dialog} instead.\n */\nexport class GlobalDialog extends React.Component<\n // eslint-disable-next-line deprecation/deprecation\n GlobalDialogProps,\n // eslint-disable-next-line deprecation/deprecation\n GlobalDialogState\n> {\n private _container?: HTMLDivElement;\n\n // eslint-disable-next-line deprecation/deprecation\n public override readonly state: GlobalDialogState = {\n parentDocument: null,\n };\n\n // eslint-disable-next-line deprecation/deprecation\n constructor(props: GlobalDialogProps) {\n super(props);\n }\n\n private _handleRefSet = (popupDiv: HTMLElement | null) => {\n const parentDocument = popupDiv?.ownerDocument ?? null;\n if (parentDocument) {\n this._container = parentDocument.createElement(\"div\");\n this._container.id =\n this.props.identifier !== undefined\n ? `dialog-${this.props.identifier}`\n : \"core-dialog\";\n let rt = parentDocument.getElementById(\n \"core-dialog-root\"\n ) as HTMLDivElement;\n if (!rt) {\n rt = parentDocument.createElement(\"div\");\n rt.id = \"core-dialog-root\";\n parentDocument.body.appendChild(rt);\n }\n rt.appendChild(this._container);\n\n // used to support component rendering in pop-out window\n this.setState({ parentDocument });\n }\n };\n\n public override componentWillUnmount() {\n // istanbul ignore else\n if (this._container && this._container.parentElement) {\n // cleanup\n this._container.parentElement.removeChild(this._container);\n }\n }\n\n public override render(): React.ReactNode {\n const { identifier, ...props } = this.props;\n return (\n <div ref={this._handleRefSet}>\n {this.state.parentDocument &&\n ReactDOM.createPortal(\n // eslint-disable-next-line deprecation/deprecation\n <Dialog {...props} />,\n this.state.parentDocument.body\n )}\n </div>\n );\n }\n}\n"]}
@@ -5,15 +5,16 @@ import "./ElementSeparator.scss";
5
5
  import * as React from "react";
6
6
  import { Orientation } from "../enums/Orientation";
7
7
  import type { CommonProps } from "../utils/Props";
8
- /**
9
- * Results returned by onRatioChanged callback for determining new ratio and whether the ratio was updated.
8
+ /** Results returned by onRatioChanged callback for determining new ratio and whether the ratio was updated.
10
9
  * @public
10
+ * @deprecated in 4.12.x. Interface used in a deprecated component {@link ElementSeparator}.
11
11
  */
12
12
  export interface RatioChangeResult {
13
13
  ratio: number;
14
14
  }
15
15
  /** Properties of [[ElementSeparator]] React component
16
16
  * @public
17
+ * @deprecated in 4.12.x. Props of deprecated component {@link ElementSeparator}.
17
18
  */
18
19
  export interface ElementSeparatorProps extends CommonProps {
19
20
  /** Separator orientation */
@@ -37,6 +38,7 @@ export interface ElementSeparatorProps extends CommonProps {
37
38
  }
38
39
  /** A movable button, which allows to change the ratio between left element and right element
39
40
  * @public
41
+ * @deprecated in 4.12.x. Basic components that need to be user-resized support this out of the box. Use {@link https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent pointer events} API to implement a custom resizer.
40
42
  */
41
43
  export declare const ElementSeparator: (props: ElementSeparatorProps) => React.JSX.Element;
42
44
  //# sourceMappingURL=ElementSeparator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ElementSeparator.d.ts","sourceRoot":"","sources":["../../../../src/core-react/elementseparator/ElementSeparator.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,yBAAyB,CAAC;AACjC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAU/B,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAIlD;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,WAAW;IACxD,4BAA4B;IAC5B,WAAW,EAAE,WAAW,CAAC;IACzB,6CAA6C;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd,gEAAgE;IAChE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yDAAyD;IACzD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sCAAsC;IACtC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,iBAAiB,CAAC;IAC7D,+BAA+B;IAC/B,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,qCAAqC;IACrC,0BAA0B,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1D,qCAAqC;IACrC,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,oCAAoC;IACpC,yBAAyB,CAAC,EAAE,CAAC,aAAa,EAAE,OAAO,KAAK,IAAI,CAAC;CAC9D;AAiLD;;GAEG;AACH,eAAO,MAAM,gBAAgB,UAAW,qBAAqB,sBA6C5D,CAAC"}
1
+ {"version":3,"file":"ElementSeparator.d.ts","sourceRoot":"","sources":["../../../../src/core-react/elementseparator/ElementSeparator.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,yBAAyB,CAAC;AACjC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAU/B,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAIlD;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAsB,SAAQ,WAAW;IACxD,4BAA4B;IAC5B,WAAW,EAAE,WAAW,CAAC;IACzB,6CAA6C;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd,gEAAgE;IAChE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yDAAyD;IACzD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sCAAsC;IAEtC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,iBAAiB,CAAC;IAC7D,+BAA+B;IAC/B,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,qCAAqC;IACrC,0BAA0B,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1D,qCAAqC;IACrC,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,oCAAoC;IACpC,yBAAyB,CAAC,EAAE,CAAC,aAAa,EAAE,OAAO,KAAK,IAAI,CAAC;CAC9D;AAkLD;;;GAGG;AAEH,eAAO,MAAM,gBAAgB,UAAW,qBAAqB,sBA6C5D,CAAC"}
@@ -35,8 +35,8 @@ const useElementSeparatorPointerHandler = ({ onResizeHandleDragChanged, onResize
35
35
  const pointerOutOfBounds = (0, react_1.useRef)(false);
36
36
  const [isElementDragged, setIsDragged] = (0, react_1.useState)(false);
37
37
  const [isElementHovered, setIsHovered] = (0, react_1.useState)(false);
38
- const isGroupDragged = isResizeHandleBeingDragged !== null && isResizeHandleBeingDragged !== void 0 ? isResizeHandleBeingDragged : isElementDragged;
39
- const isGroupHovered = isResizeHandleHovered !== null && isResizeHandleHovered !== void 0 ? isResizeHandleHovered : isElementHovered;
38
+ const isGroupDragged = isResizeHandleBeingDragged ?? isElementDragged;
39
+ const isGroupHovered = isResizeHandleHovered ?? isElementHovered;
40
40
  useConditionalCleanup(isElementDragged && !!onResizeHandleDragChanged, () => onResizeHandleDragChanged(false));
41
41
  useConditionalCleanup(isElementHovered && !!onResizeHandleHoverChanged, () => onResizeHandleHoverChanged(false));
42
42
  if (isGroupHovered && pointerOutOfBounds.current)
@@ -142,7 +142,9 @@ function getStyle(orientation, separatorSize) {
142
142
  }
143
143
  /** A movable button, which allows to change the ratio between left element and right element
144
144
  * @public
145
+ * @deprecated in 4.12.x. Basic components that need to be user-resized support this out of the box. Use {@link https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent pointer events} API to implement a custom resizer.
145
146
  */
147
+ // eslint-disable-next-line deprecation/deprecation
146
148
  const ElementSeparator = (props) => {
147
149
  const { translate } = (0, useTranslation_1.useTranslation)();
148
150
  const [hasHoverHappened, setHasHoverHappened] = (0, react_1.useState)(false);