@itwin/core-react 4.11.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 (494) hide show
  1. package/CHANGELOG.md +21 -1
  2. package/ContributeGuidelines.md +2 -2
  3. package/lib/cjs/core-react/UiCore.d.ts +2 -6
  4. package/lib/cjs/core-react/UiCore.d.ts.map +1 -1
  5. package/lib/cjs/core-react/UiCore.js +2 -18
  6. package/lib/cjs/core-react/UiCore.js.map +1 -1
  7. package/lib/cjs/core-react/UiCore.json +31 -0
  8. package/lib/cjs/core-react/autosuggest/AutoSuggest.d.ts +1 -1
  9. package/lib/cjs/core-react/autosuggest/AutoSuggest.d.ts.map +1 -1
  10. package/lib/cjs/core-react/autosuggest/AutoSuggest.js +2 -2
  11. package/lib/cjs/core-react/autosuggest/AutoSuggest.js.map +1 -1
  12. package/lib/cjs/core-react/badge/Badge.d.ts +6 -9
  13. package/lib/cjs/core-react/badge/Badge.d.ts.map +1 -1
  14. package/lib/cjs/core-react/badge/Badge.js +10 -9
  15. package/lib/cjs/core-react/badge/Badge.js.map +1 -1
  16. package/lib/{esm/core-react/badge/BadgeUtilities.d.ts → cjs/core-react/badge/BadgeType.d.ts} +1 -9
  17. package/lib/cjs/core-react/badge/BadgeType.d.ts.map +1 -0
  18. package/lib/cjs/core-react/{useTranslation.js → badge/BadgeType.js} +9 -13
  19. package/lib/cjs/core-react/badge/BadgeType.js.map +1 -0
  20. package/lib/cjs/core-react/badge/NewBadge.d.ts +2 -3
  21. package/lib/cjs/core-react/badge/NewBadge.d.ts.map +1 -1
  22. package/lib/cjs/core-react/badge/NewBadge.js +6 -7
  23. package/lib/cjs/core-react/badge/NewBadge.js.map +1 -1
  24. package/lib/cjs/core-react/badge/NewBadge.scss +2 -3
  25. package/lib/cjs/core-react/badge/TechnicalPreviewBadge.d.ts +10 -0
  26. package/lib/cjs/core-react/badge/TechnicalPreviewBadge.d.ts.map +1 -0
  27. package/lib/cjs/core-react/badge/TechnicalPreviewBadge.js +29 -0
  28. package/lib/cjs/core-react/badge/TechnicalPreviewBadge.js.map +1 -0
  29. package/lib/cjs/core-react/badge/{Badge.scss → TechnicalPreviewBadge.scss} +1 -7
  30. package/lib/cjs/core-react/base/Centered.d.ts +1 -0
  31. package/lib/cjs/core-react/base/Centered.d.ts.map +1 -1
  32. package/lib/cjs/core-react/base/Centered.js +2 -0
  33. package/lib/cjs/core-react/base/Centered.js.map +1 -1
  34. package/lib/cjs/core-react/base/Div.d.ts +2 -0
  35. package/lib/cjs/core-react/base/Div.d.ts.map +1 -1
  36. package/lib/cjs/core-react/base/Div.js +2 -0
  37. package/lib/cjs/core-react/base/Div.js.map +1 -1
  38. package/lib/cjs/core-react/base/DivWithOutsideClick.d.ts +1 -0
  39. package/lib/cjs/core-react/base/DivWithOutsideClick.d.ts.map +1 -1
  40. package/lib/cjs/core-react/base/DivWithOutsideClick.js +1 -0
  41. package/lib/cjs/core-react/base/DivWithOutsideClick.js.map +1 -1
  42. package/lib/cjs/core-react/base/FillCentered.d.ts +1 -0
  43. package/lib/cjs/core-react/base/FillCentered.d.ts.map +1 -1
  44. package/lib/cjs/core-react/base/FillCentered.js +2 -0
  45. package/lib/cjs/core-react/base/FillCentered.js.map +1 -1
  46. package/lib/cjs/core-react/base/FlexWrapContainer.d.ts +1 -0
  47. package/lib/cjs/core-react/base/FlexWrapContainer.d.ts.map +1 -1
  48. package/lib/cjs/core-react/base/FlexWrapContainer.js +2 -0
  49. package/lib/cjs/core-react/base/FlexWrapContainer.js.map +1 -1
  50. package/lib/cjs/core-react/base/Gap.d.ts +2 -0
  51. package/lib/cjs/core-react/base/Gap.d.ts.map +1 -1
  52. package/lib/cjs/core-react/base/Gap.js +3 -1
  53. package/lib/cjs/core-react/base/Gap.js.map +1 -1
  54. package/lib/cjs/core-react/base/ScrollView.d.ts +1 -0
  55. package/lib/cjs/core-react/base/ScrollView.d.ts.map +1 -1
  56. package/lib/cjs/core-react/base/ScrollView.js +2 -0
  57. package/lib/cjs/core-react/base/ScrollView.js.map +1 -1
  58. package/lib/cjs/core-react/button/UnderlinedButton.d.ts +2 -0
  59. package/lib/cjs/core-react/button/UnderlinedButton.d.ts.map +1 -1
  60. package/lib/cjs/core-react/button/UnderlinedButton.js +2 -0
  61. package/lib/cjs/core-react/button/UnderlinedButton.js.map +1 -1
  62. package/lib/cjs/core-react/checklistbox/CheckListBox.d.ts +4 -0
  63. package/lib/cjs/core-react/checklistbox/CheckListBox.d.ts.map +1 -1
  64. package/lib/cjs/core-react/checklistbox/CheckListBox.js +4 -0
  65. package/lib/cjs/core-react/checklistbox/CheckListBox.js.map +1 -1
  66. package/lib/cjs/core-react/contextmenu/ContextMenu.d.ts.map +1 -1
  67. package/lib/cjs/core-react/contextmenu/ContextMenu.js +1 -2
  68. package/lib/cjs/core-react/contextmenu/ContextMenu.js.map +1 -1
  69. package/lib/cjs/core-react/contextmenu/ContextMenuItem.d.ts +1 -1
  70. package/lib/cjs/core-react/contextmenu/ContextMenuItem.d.ts.map +1 -1
  71. package/lib/cjs/core-react/contextmenu/ContextMenuItem.js +3 -3
  72. package/lib/cjs/core-react/contextmenu/ContextMenuItem.js.map +1 -1
  73. package/lib/cjs/core-react/contextmenu/ContextSubMenu.d.ts.map +1 -1
  74. package/lib/cjs/core-react/contextmenu/ContextSubMenu.js +3 -3
  75. package/lib/cjs/core-react/contextmenu/ContextSubMenu.js.map +1 -1
  76. package/lib/cjs/core-react/contextmenu/GlobalContextMenu.js +3 -5
  77. package/lib/cjs/core-react/contextmenu/GlobalContextMenu.js.map +1 -1
  78. package/lib/cjs/core-react/dialog/Dialog.d.ts +4 -0
  79. package/lib/cjs/core-react/dialog/Dialog.d.ts.map +1 -1
  80. package/lib/cjs/core-react/dialog/Dialog.js +69 -53
  81. package/lib/cjs/core-react/dialog/Dialog.js.map +1 -1
  82. package/lib/cjs/core-react/dialog/GlobalDialog.d.ts +3 -0
  83. package/lib/cjs/core-react/dialog/GlobalDialog.d.ts.map +1 -1
  84. package/lib/cjs/core-react/dialog/GlobalDialog.js +7 -3
  85. package/lib/cjs/core-react/dialog/GlobalDialog.js.map +1 -1
  86. package/lib/cjs/core-react/elementseparator/ElementSeparator.d.ts +4 -2
  87. package/lib/cjs/core-react/elementseparator/ElementSeparator.d.ts.map +1 -1
  88. package/lib/cjs/core-react/elementseparator/ElementSeparator.js +5 -3
  89. package/lib/cjs/core-react/elementseparator/ElementSeparator.js.map +1 -1
  90. package/lib/cjs/core-react/expandable/ExpandableList.d.ts +3 -3
  91. package/lib/cjs/core-react/expandable/ExpandableList.d.ts.map +1 -1
  92. package/lib/cjs/core-react/expandable/ExpandableList.js +5 -2
  93. package/lib/cjs/core-react/expandable/ExpandableList.js.map +1 -1
  94. package/lib/cjs/core-react/hocs/withOnOutsideClick.js +1 -2
  95. package/lib/cjs/core-react/hocs/withOnOutsideClick.js.map +1 -1
  96. package/lib/cjs/core-react/icons/IconComponent.d.ts.map +1 -1
  97. package/lib/cjs/core-react/icons/IconComponent.js +22 -12
  98. package/lib/cjs/core-react/icons/IconComponent.js.map +1 -1
  99. package/lib/cjs/core-react/imagecheckbox/ImageCheckBox.d.ts +3 -2
  100. package/lib/cjs/core-react/imagecheckbox/ImageCheckBox.d.ts.map +1 -1
  101. package/lib/cjs/core-react/imagecheckbox/ImageCheckBox.js +3 -2
  102. package/lib/cjs/core-react/imagecheckbox/ImageCheckBox.js.map +1 -1
  103. package/lib/cjs/core-react/inputs/InputLabel.d.ts +2 -0
  104. package/lib/cjs/core-react/inputs/InputLabel.d.ts.map +1 -1
  105. package/lib/cjs/core-react/inputs/InputLabel.js +5 -0
  106. package/lib/cjs/core-react/inputs/InputLabel.js.map +1 -1
  107. package/lib/cjs/core-react/inputs/InputStatus.d.ts +1 -0
  108. package/lib/cjs/core-react/inputs/InputStatus.d.ts.map +1 -1
  109. package/lib/cjs/core-react/inputs/InputStatus.js +1 -0
  110. package/lib/cjs/core-react/inputs/InputStatus.js.map +1 -1
  111. package/lib/cjs/core-react/inputs/LabeledComponentProps.d.ts +2 -0
  112. package/lib/cjs/core-react/inputs/LabeledComponentProps.d.ts.map +1 -1
  113. package/lib/cjs/core-react/inputs/LabeledComponentProps.js.map +1 -1
  114. package/lib/cjs/core-react/inputs/iconinput/IconInput.d.ts +2 -0
  115. package/lib/cjs/core-react/inputs/iconinput/IconInput.d.ts.map +1 -1
  116. package/lib/cjs/core-react/inputs/iconinput/IconInput.js +3 -0
  117. package/lib/cjs/core-react/inputs/iconinput/IconInput.js.map +1 -1
  118. package/lib/cjs/core-react/inputs/numberinput/NumberInput.d.ts +3 -0
  119. package/lib/cjs/core-react/inputs/numberinput/NumberInput.d.ts.map +1 -1
  120. package/lib/cjs/core-react/inputs/numberinput/NumberInput.js +1 -0
  121. package/lib/cjs/core-react/inputs/numberinput/NumberInput.js.map +1 -1
  122. package/lib/cjs/core-react/l10n/LocalizationProvider.d.ts +20 -0
  123. package/lib/cjs/core-react/l10n/LocalizationProvider.d.ts.map +1 -0
  124. package/lib/cjs/core-react/l10n/LocalizationProvider.js +29 -0
  125. package/lib/cjs/core-react/l10n/LocalizationProvider.js.map +1 -0
  126. package/lib/cjs/core-react/l10n/usePackageTranslation.d.ts +15 -0
  127. package/lib/cjs/core-react/l10n/usePackageTranslation.d.ts.map +1 -0
  128. package/lib/cjs/core-react/l10n/usePackageTranslation.js +64 -0
  129. package/lib/cjs/core-react/l10n/usePackageTranslation.js.map +1 -0
  130. package/lib/cjs/core-react/l10n/useTranslation.d.ts +7 -0
  131. package/lib/cjs/core-react/l10n/useTranslation.d.ts.map +1 -0
  132. package/lib/cjs/core-react/l10n/useTranslation.js +30 -0
  133. package/lib/cjs/core-react/l10n/useTranslation.js.map +1 -0
  134. package/lib/cjs/core-react/listbox/Listbox.d.ts +14 -14
  135. package/lib/cjs/core-react/listbox/Listbox.d.ts.map +1 -1
  136. package/lib/cjs/core-react/listbox/Listbox.js +8 -10
  137. package/lib/cjs/core-react/listbox/Listbox.js.map +1 -1
  138. package/lib/cjs/core-react/loading/LoadingBar.d.ts +3 -2
  139. package/lib/cjs/core-react/loading/LoadingBar.d.ts.map +1 -1
  140. package/lib/cjs/core-react/loading/LoadingBar.js +2 -2
  141. package/lib/cjs/core-react/loading/LoadingBar.js.map +1 -1
  142. package/lib/cjs/core-react/loading/LoadingPrompt.d.ts +3 -2
  143. package/lib/cjs/core-react/loading/LoadingPrompt.d.ts.map +1 -1
  144. package/lib/cjs/core-react/loading/LoadingPrompt.js +2 -2
  145. package/lib/cjs/core-react/loading/LoadingPrompt.js.map +1 -1
  146. package/lib/cjs/core-react/loading/LoadingSpinner.d.ts +4 -2
  147. package/lib/cjs/core-react/loading/LoadingSpinner.d.ts.map +1 -1
  148. package/lib/cjs/core-react/loading/LoadingSpinner.js +2 -2
  149. package/lib/cjs/core-react/loading/LoadingSpinner.js.map +1 -1
  150. package/lib/cjs/core-react/loading/LoadingStatus.d.ts +3 -2
  151. package/lib/cjs/core-react/loading/LoadingStatus.d.ts.map +1 -1
  152. package/lib/cjs/core-react/loading/LoadingStatus.js +2 -2
  153. package/lib/cjs/core-react/loading/LoadingStatus.js.map +1 -1
  154. package/lib/cjs/core-react/messagebox/MessageBox.d.ts.map +1 -1
  155. package/lib/cjs/core-react/messagebox/MessageBox.js +3 -1
  156. package/lib/cjs/core-react/messagebox/MessageBox.js.map +1 -1
  157. package/lib/cjs/core-react/notification/MessageRenderer.js +1 -1
  158. package/lib/cjs/core-react/notification/MessageRenderer.js.map +1 -1
  159. package/lib/cjs/core-react/popup/Popup.js +4 -8
  160. package/lib/cjs/core-react/popup/Popup.js.map +1 -1
  161. package/lib/cjs/core-react/radialmenu/Annulus.d.ts +7 -8
  162. package/lib/cjs/core-react/radialmenu/Annulus.d.ts.map +1 -1
  163. package/lib/cjs/core-react/radialmenu/Annulus.js +7 -8
  164. package/lib/cjs/core-react/radialmenu/Annulus.js.map +1 -1
  165. package/lib/cjs/core-react/radialmenu/RadialMenu.d.ts +0 -1
  166. package/lib/cjs/core-react/radialmenu/RadialMenu.d.ts.map +1 -1
  167. package/lib/cjs/core-react/radialmenu/RadialMenu.js.map +1 -1
  168. package/lib/cjs/core-react/searchbox/SearchBox.d.ts +3 -3
  169. package/lib/cjs/core-react/searchbox/SearchBox.d.ts.map +1 -1
  170. package/lib/cjs/core-react/searchbox/SearchBox.js +15 -9
  171. package/lib/cjs/core-react/searchbox/SearchBox.js.map +1 -1
  172. package/lib/cjs/core-react/settings/SettingsContainer.d.ts.map +1 -1
  173. package/lib/cjs/core-react/settings/SettingsContainer.js +8 -4
  174. package/lib/cjs/core-react/settings/SettingsContainer.js.map +1 -1
  175. package/lib/cjs/core-react/settings/SettingsManager.d.ts +10 -7
  176. package/lib/cjs/core-react/settings/SettingsManager.d.ts.map +1 -1
  177. package/lib/cjs/core-react/settings/SettingsManager.js +14 -12
  178. package/lib/cjs/core-react/settings/SettingsManager.js.map +1 -1
  179. package/lib/cjs/core-react/tabs/Tabs.d.ts +5 -5
  180. package/lib/cjs/core-react/tabs/Tabs.d.ts.map +1 -1
  181. package/lib/cjs/core-react/tabs/Tabs.js +1 -0
  182. package/lib/cjs/core-react/tabs/Tabs.js.map +1 -1
  183. package/lib/cjs/core-react/tabs/VerticalTabs.d.ts +1 -0
  184. package/lib/cjs/core-react/tabs/VerticalTabs.d.ts.map +1 -1
  185. package/lib/cjs/core-react/tabs/VerticalTabs.js +2 -0
  186. package/lib/cjs/core-react/tabs/VerticalTabs.js.map +1 -1
  187. package/lib/cjs/core-react/text/BlockText.d.ts +1 -0
  188. package/lib/cjs/core-react/text/BlockText.d.ts.map +1 -1
  189. package/lib/cjs/core-react/text/BlockText.js +2 -0
  190. package/lib/cjs/core-react/text/BlockText.js.map +1 -1
  191. package/lib/cjs/core-react/text/BodyText.d.ts +1 -1
  192. package/lib/cjs/core-react/text/BodyText.d.ts.map +1 -1
  193. package/lib/cjs/core-react/text/BodyText.js +2 -1
  194. package/lib/cjs/core-react/text/BodyText.js.map +1 -1
  195. package/lib/cjs/core-react/text/DisabledText.d.ts +1 -0
  196. package/lib/cjs/core-react/text/DisabledText.d.ts.map +1 -1
  197. package/lib/cjs/core-react/text/DisabledText.js +2 -1
  198. package/lib/cjs/core-react/text/DisabledText.js.map +1 -1
  199. package/lib/cjs/core-react/text/MutedText.d.ts.map +1 -1
  200. package/lib/cjs/core-react/text/MutedText.js +1 -0
  201. package/lib/cjs/core-react/text/MutedText.js.map +1 -1
  202. package/lib/cjs/core-react/text/StyledText.d.ts +1 -0
  203. package/lib/cjs/core-react/text/StyledText.d.ts.map +1 -1
  204. package/lib/cjs/core-react/text/StyledText.js.map +1 -1
  205. package/lib/cjs/core-react/text/TextProps.d.ts +1 -0
  206. package/lib/cjs/core-react/text/TextProps.d.ts.map +1 -1
  207. package/lib/cjs/core-react/text/TextProps.js.map +1 -1
  208. package/lib/cjs/core-react/tree/ExpansionToggle.d.ts +1 -3
  209. package/lib/cjs/core-react/tree/ExpansionToggle.d.ts.map +1 -1
  210. package/lib/cjs/core-react/tree/ExpansionToggle.js +9 -10
  211. package/lib/cjs/core-react/tree/ExpansionToggle.js.map +1 -1
  212. package/lib/cjs/core-react/tree/Node.js +1 -2
  213. package/lib/cjs/core-react/tree/Node.js.map +1 -1
  214. package/lib/cjs/core-react/utils/IconWebComponent.d.ts +4 -2
  215. package/lib/cjs/core-react/utils/IconWebComponent.d.ts.map +1 -1
  216. package/lib/cjs/core-react/utils/IconWebComponent.js +10 -6
  217. package/lib/cjs/core-react/utils/IconWebComponent.js.map +1 -1
  218. package/lib/cjs/core-react/utils/getCssVariable.js +1 -1
  219. package/lib/cjs/core-react/utils/getCssVariable.js.map +1 -1
  220. package/lib/cjs/core-react/utils/getObjectClassName.js +2 -3
  221. package/lib/cjs/core-react/utils/getObjectClassName.js.map +1 -1
  222. package/lib/cjs/core-react/utils/hooks/ResizeObserverPolyfill.d.ts +4 -1
  223. package/lib/cjs/core-react/utils/hooks/ResizeObserverPolyfill.d.ts.map +1 -1
  224. package/lib/cjs/core-react/utils/hooks/ResizeObserverPolyfill.js +5 -2
  225. package/lib/cjs/core-react/utils/hooks/ResizeObserverPolyfill.js.map +1 -1
  226. package/lib/cjs/core-react/utils/hooks/useCrossOriginPopup.d.ts +1 -1
  227. package/lib/cjs/core-react/utils/hooks/useCrossOriginPopup.js +2 -3
  228. package/lib/cjs/core-react/utils/hooks/useCrossOriginPopup.js.map +1 -1
  229. package/lib/cjs/core-react/utils/hooks/useResizeObserver.d.ts.map +1 -1
  230. package/lib/cjs/core-react/utils/hooks/useResizeObserver.js +12 -16
  231. package/lib/cjs/core-react/utils/hooks/useResizeObserver.js.map +1 -1
  232. package/lib/cjs/core-react.d.ts +3 -3
  233. package/lib/cjs/core-react.d.ts.map +1 -1
  234. package/lib/cjs/core-react.js +12 -9
  235. package/lib/cjs/core-react.js.map +1 -1
  236. package/lib/esm/core-react/UiCore.d.ts +2 -6
  237. package/lib/esm/core-react/UiCore.d.ts.map +1 -1
  238. package/lib/esm/core-react/UiCore.js +2 -18
  239. package/lib/esm/core-react/UiCore.js.map +1 -1
  240. package/lib/esm/core-react/UiCore.json +31 -0
  241. package/lib/esm/core-react/autosuggest/AutoSuggest.d.ts +1 -1
  242. package/lib/esm/core-react/autosuggest/AutoSuggest.d.ts.map +1 -1
  243. package/lib/esm/core-react/autosuggest/AutoSuggest.js +1 -1
  244. package/lib/esm/core-react/autosuggest/AutoSuggest.js.map +1 -1
  245. package/lib/esm/core-react/badge/Badge.d.ts +6 -9
  246. package/lib/esm/core-react/badge/Badge.d.ts.map +1 -1
  247. package/lib/esm/core-react/badge/Badge.js +10 -9
  248. package/lib/esm/core-react/badge/Badge.js.map +1 -1
  249. package/lib/{cjs/core-react/badge/BadgeUtilities.d.ts → esm/core-react/badge/BadgeType.d.ts} +1 -9
  250. package/lib/esm/core-react/badge/BadgeType.d.ts.map +1 -0
  251. package/lib/esm/core-react/badge/BadgeType.js +13 -0
  252. package/lib/esm/core-react/badge/BadgeType.js.map +1 -0
  253. package/lib/esm/core-react/badge/NewBadge.d.ts +2 -3
  254. package/lib/esm/core-react/badge/NewBadge.d.ts.map +1 -1
  255. package/lib/esm/core-react/badge/NewBadge.js +6 -7
  256. package/lib/esm/core-react/badge/NewBadge.js.map +1 -1
  257. package/lib/esm/core-react/badge/NewBadge.scss +2 -3
  258. package/lib/esm/core-react/badge/TechnicalPreviewBadge.d.ts +10 -0
  259. package/lib/esm/core-react/badge/TechnicalPreviewBadge.d.ts.map +1 -0
  260. package/lib/esm/core-react/badge/TechnicalPreviewBadge.js +25 -0
  261. package/lib/esm/core-react/badge/TechnicalPreviewBadge.js.map +1 -0
  262. package/lib/esm/core-react/badge/{Badge.scss → TechnicalPreviewBadge.scss} +1 -7
  263. package/lib/esm/core-react/base/Centered.d.ts +1 -0
  264. package/lib/esm/core-react/base/Centered.d.ts.map +1 -1
  265. package/lib/esm/core-react/base/Centered.js +2 -0
  266. package/lib/esm/core-react/base/Centered.js.map +1 -1
  267. package/lib/esm/core-react/base/Div.d.ts +2 -0
  268. package/lib/esm/core-react/base/Div.d.ts.map +1 -1
  269. package/lib/esm/core-react/base/Div.js +2 -0
  270. package/lib/esm/core-react/base/Div.js.map +1 -1
  271. package/lib/esm/core-react/base/DivWithOutsideClick.d.ts +1 -0
  272. package/lib/esm/core-react/base/DivWithOutsideClick.d.ts.map +1 -1
  273. package/lib/esm/core-react/base/DivWithOutsideClick.js +1 -0
  274. package/lib/esm/core-react/base/DivWithOutsideClick.js.map +1 -1
  275. package/lib/esm/core-react/base/FillCentered.d.ts +1 -0
  276. package/lib/esm/core-react/base/FillCentered.d.ts.map +1 -1
  277. package/lib/esm/core-react/base/FillCentered.js +2 -0
  278. package/lib/esm/core-react/base/FillCentered.js.map +1 -1
  279. package/lib/esm/core-react/base/FlexWrapContainer.d.ts +1 -0
  280. package/lib/esm/core-react/base/FlexWrapContainer.d.ts.map +1 -1
  281. package/lib/esm/core-react/base/FlexWrapContainer.js +2 -0
  282. package/lib/esm/core-react/base/FlexWrapContainer.js.map +1 -1
  283. package/lib/esm/core-react/base/Gap.d.ts +2 -0
  284. package/lib/esm/core-react/base/Gap.d.ts.map +1 -1
  285. package/lib/esm/core-react/base/Gap.js +3 -1
  286. package/lib/esm/core-react/base/Gap.js.map +1 -1
  287. package/lib/esm/core-react/base/ScrollView.d.ts +1 -0
  288. package/lib/esm/core-react/base/ScrollView.d.ts.map +1 -1
  289. package/lib/esm/core-react/base/ScrollView.js +2 -0
  290. package/lib/esm/core-react/base/ScrollView.js.map +1 -1
  291. package/lib/esm/core-react/button/UnderlinedButton.d.ts +2 -0
  292. package/lib/esm/core-react/button/UnderlinedButton.d.ts.map +1 -1
  293. package/lib/esm/core-react/button/UnderlinedButton.js +2 -0
  294. package/lib/esm/core-react/button/UnderlinedButton.js.map +1 -1
  295. package/lib/esm/core-react/checklistbox/CheckListBox.d.ts +4 -0
  296. package/lib/esm/core-react/checklistbox/CheckListBox.d.ts.map +1 -1
  297. package/lib/esm/core-react/checklistbox/CheckListBox.js +4 -0
  298. package/lib/esm/core-react/checklistbox/CheckListBox.js.map +1 -1
  299. package/lib/esm/core-react/contextmenu/ContextMenu.d.ts.map +1 -1
  300. package/lib/esm/core-react/contextmenu/ContextMenu.js +1 -2
  301. package/lib/esm/core-react/contextmenu/ContextMenu.js.map +1 -1
  302. package/lib/esm/core-react/contextmenu/ContextMenuItem.d.ts +1 -1
  303. package/lib/esm/core-react/contextmenu/ContextMenuItem.d.ts.map +1 -1
  304. package/lib/esm/core-react/contextmenu/ContextMenuItem.js +3 -3
  305. package/lib/esm/core-react/contextmenu/ContextMenuItem.js.map +1 -1
  306. package/lib/esm/core-react/contextmenu/ContextSubMenu.d.ts.map +1 -1
  307. package/lib/esm/core-react/contextmenu/ContextSubMenu.js +3 -3
  308. package/lib/esm/core-react/contextmenu/ContextSubMenu.js.map +1 -1
  309. package/lib/esm/core-react/contextmenu/GlobalContextMenu.js +3 -5
  310. package/lib/esm/core-react/contextmenu/GlobalContextMenu.js.map +1 -1
  311. package/lib/esm/core-react/dialog/Dialog.d.ts +4 -0
  312. package/lib/esm/core-react/dialog/Dialog.d.ts.map +1 -1
  313. package/lib/esm/core-react/dialog/Dialog.js +69 -53
  314. package/lib/esm/core-react/dialog/Dialog.js.map +1 -1
  315. package/lib/esm/core-react/dialog/GlobalDialog.d.ts +3 -0
  316. package/lib/esm/core-react/dialog/GlobalDialog.d.ts.map +1 -1
  317. package/lib/esm/core-react/dialog/GlobalDialog.js +7 -3
  318. package/lib/esm/core-react/dialog/GlobalDialog.js.map +1 -1
  319. package/lib/esm/core-react/elementseparator/ElementSeparator.d.ts +4 -2
  320. package/lib/esm/core-react/elementseparator/ElementSeparator.d.ts.map +1 -1
  321. package/lib/esm/core-react/elementseparator/ElementSeparator.js +5 -3
  322. package/lib/esm/core-react/elementseparator/ElementSeparator.js.map +1 -1
  323. package/lib/esm/core-react/expandable/ExpandableList.d.ts +3 -3
  324. package/lib/esm/core-react/expandable/ExpandableList.d.ts.map +1 -1
  325. package/lib/esm/core-react/expandable/ExpandableList.js +5 -2
  326. package/lib/esm/core-react/expandable/ExpandableList.js.map +1 -1
  327. package/lib/esm/core-react/hocs/withOnOutsideClick.js +1 -2
  328. package/lib/esm/core-react/hocs/withOnOutsideClick.js.map +1 -1
  329. package/lib/esm/core-react/icons/IconComponent.d.ts.map +1 -1
  330. package/lib/esm/core-react/icons/IconComponent.js +21 -11
  331. package/lib/esm/core-react/icons/IconComponent.js.map +1 -1
  332. package/lib/esm/core-react/imagecheckbox/ImageCheckBox.d.ts +3 -2
  333. package/lib/esm/core-react/imagecheckbox/ImageCheckBox.d.ts.map +1 -1
  334. package/lib/esm/core-react/imagecheckbox/ImageCheckBox.js +3 -2
  335. package/lib/esm/core-react/imagecheckbox/ImageCheckBox.js.map +1 -1
  336. package/lib/esm/core-react/inputs/InputLabel.d.ts +2 -0
  337. package/lib/esm/core-react/inputs/InputLabel.d.ts.map +1 -1
  338. package/lib/esm/core-react/inputs/InputLabel.js +5 -0
  339. package/lib/esm/core-react/inputs/InputLabel.js.map +1 -1
  340. package/lib/esm/core-react/inputs/InputStatus.d.ts +1 -0
  341. package/lib/esm/core-react/inputs/InputStatus.d.ts.map +1 -1
  342. package/lib/esm/core-react/inputs/InputStatus.js +1 -0
  343. package/lib/esm/core-react/inputs/InputStatus.js.map +1 -1
  344. package/lib/esm/core-react/inputs/LabeledComponentProps.d.ts +2 -0
  345. package/lib/esm/core-react/inputs/LabeledComponentProps.d.ts.map +1 -1
  346. package/lib/esm/core-react/inputs/LabeledComponentProps.js.map +1 -1
  347. package/lib/esm/core-react/inputs/iconinput/IconInput.d.ts +2 -0
  348. package/lib/esm/core-react/inputs/iconinput/IconInput.d.ts.map +1 -1
  349. package/lib/esm/core-react/inputs/iconinput/IconInput.js +3 -0
  350. package/lib/esm/core-react/inputs/iconinput/IconInput.js.map +1 -1
  351. package/lib/esm/core-react/inputs/numberinput/NumberInput.d.ts +3 -0
  352. package/lib/esm/core-react/inputs/numberinput/NumberInput.d.ts.map +1 -1
  353. package/lib/esm/core-react/inputs/numberinput/NumberInput.js +1 -0
  354. package/lib/esm/core-react/inputs/numberinput/NumberInput.js.map +1 -1
  355. package/lib/esm/core-react/l10n/LocalizationProvider.d.ts +20 -0
  356. package/lib/esm/core-react/l10n/LocalizationProvider.d.ts.map +1 -0
  357. package/lib/esm/core-react/l10n/LocalizationProvider.js +24 -0
  358. package/lib/esm/core-react/l10n/LocalizationProvider.js.map +1 -0
  359. package/lib/esm/core-react/l10n/usePackageTranslation.d.ts +15 -0
  360. package/lib/esm/core-react/l10n/usePackageTranslation.d.ts.map +1 -0
  361. package/lib/esm/core-react/l10n/usePackageTranslation.js +60 -0
  362. package/lib/esm/core-react/l10n/usePackageTranslation.js.map +1 -0
  363. package/lib/esm/core-react/l10n/useTranslation.d.ts +7 -0
  364. package/lib/esm/core-react/l10n/useTranslation.d.ts.map +1 -0
  365. package/lib/esm/core-react/l10n/useTranslation.js +26 -0
  366. package/lib/esm/core-react/l10n/useTranslation.js.map +1 -0
  367. package/lib/esm/core-react/listbox/Listbox.d.ts +14 -14
  368. package/lib/esm/core-react/listbox/Listbox.d.ts.map +1 -1
  369. package/lib/esm/core-react/listbox/Listbox.js +8 -10
  370. package/lib/esm/core-react/listbox/Listbox.js.map +1 -1
  371. package/lib/esm/core-react/loading/LoadingBar.d.ts +3 -2
  372. package/lib/esm/core-react/loading/LoadingBar.d.ts.map +1 -1
  373. package/lib/esm/core-react/loading/LoadingBar.js +2 -2
  374. package/lib/esm/core-react/loading/LoadingBar.js.map +1 -1
  375. package/lib/esm/core-react/loading/LoadingPrompt.d.ts +3 -2
  376. package/lib/esm/core-react/loading/LoadingPrompt.d.ts.map +1 -1
  377. package/lib/esm/core-react/loading/LoadingPrompt.js +2 -2
  378. package/lib/esm/core-react/loading/LoadingPrompt.js.map +1 -1
  379. package/lib/esm/core-react/loading/LoadingSpinner.d.ts +4 -2
  380. package/lib/esm/core-react/loading/LoadingSpinner.d.ts.map +1 -1
  381. package/lib/esm/core-react/loading/LoadingSpinner.js +2 -2
  382. package/lib/esm/core-react/loading/LoadingSpinner.js.map +1 -1
  383. package/lib/esm/core-react/loading/LoadingStatus.d.ts +3 -2
  384. package/lib/esm/core-react/loading/LoadingStatus.d.ts.map +1 -1
  385. package/lib/esm/core-react/loading/LoadingStatus.js +2 -2
  386. package/lib/esm/core-react/loading/LoadingStatus.js.map +1 -1
  387. package/lib/esm/core-react/messagebox/MessageBox.d.ts.map +1 -1
  388. package/lib/esm/core-react/messagebox/MessageBox.js +3 -1
  389. package/lib/esm/core-react/messagebox/MessageBox.js.map +1 -1
  390. package/lib/esm/core-react/notification/MessageRenderer.js +1 -1
  391. package/lib/esm/core-react/notification/MessageRenderer.js.map +1 -1
  392. package/lib/esm/core-react/popup/Popup.js +4 -8
  393. package/lib/esm/core-react/popup/Popup.js.map +1 -1
  394. package/lib/esm/core-react/radialmenu/Annulus.d.ts +7 -8
  395. package/lib/esm/core-react/radialmenu/Annulus.d.ts.map +1 -1
  396. package/lib/esm/core-react/radialmenu/Annulus.js +7 -8
  397. package/lib/esm/core-react/radialmenu/Annulus.js.map +1 -1
  398. package/lib/esm/core-react/radialmenu/RadialMenu.d.ts +0 -1
  399. package/lib/esm/core-react/radialmenu/RadialMenu.d.ts.map +1 -1
  400. package/lib/esm/core-react/radialmenu/RadialMenu.js.map +1 -1
  401. package/lib/esm/core-react/searchbox/SearchBox.d.ts +3 -3
  402. package/lib/esm/core-react/searchbox/SearchBox.d.ts.map +1 -1
  403. package/lib/esm/core-react/searchbox/SearchBox.js +15 -9
  404. package/lib/esm/core-react/searchbox/SearchBox.js.map +1 -1
  405. package/lib/esm/core-react/settings/SettingsContainer.d.ts.map +1 -1
  406. package/lib/esm/core-react/settings/SettingsContainer.js +8 -4
  407. package/lib/esm/core-react/settings/SettingsContainer.js.map +1 -1
  408. package/lib/esm/core-react/settings/SettingsManager.d.ts +10 -7
  409. package/lib/esm/core-react/settings/SettingsManager.d.ts.map +1 -1
  410. package/lib/esm/core-react/settings/SettingsManager.js +13 -10
  411. package/lib/esm/core-react/settings/SettingsManager.js.map +1 -1
  412. package/lib/esm/core-react/tabs/Tabs.d.ts +5 -5
  413. package/lib/esm/core-react/tabs/Tabs.d.ts.map +1 -1
  414. package/lib/esm/core-react/tabs/Tabs.js +1 -0
  415. package/lib/esm/core-react/tabs/Tabs.js.map +1 -1
  416. package/lib/esm/core-react/tabs/VerticalTabs.d.ts +1 -0
  417. package/lib/esm/core-react/tabs/VerticalTabs.d.ts.map +1 -1
  418. package/lib/esm/core-react/tabs/VerticalTabs.js +2 -0
  419. package/lib/esm/core-react/tabs/VerticalTabs.js.map +1 -1
  420. package/lib/esm/core-react/text/BlockText.d.ts +1 -0
  421. package/lib/esm/core-react/text/BlockText.d.ts.map +1 -1
  422. package/lib/esm/core-react/text/BlockText.js +2 -0
  423. package/lib/esm/core-react/text/BlockText.js.map +1 -1
  424. package/lib/esm/core-react/text/BodyText.d.ts +1 -1
  425. package/lib/esm/core-react/text/BodyText.d.ts.map +1 -1
  426. package/lib/esm/core-react/text/BodyText.js +2 -1
  427. package/lib/esm/core-react/text/BodyText.js.map +1 -1
  428. package/lib/esm/core-react/text/DisabledText.d.ts +1 -0
  429. package/lib/esm/core-react/text/DisabledText.d.ts.map +1 -1
  430. package/lib/esm/core-react/text/DisabledText.js +2 -1
  431. package/lib/esm/core-react/text/DisabledText.js.map +1 -1
  432. package/lib/esm/core-react/text/MutedText.d.ts.map +1 -1
  433. package/lib/esm/core-react/text/MutedText.js +1 -0
  434. package/lib/esm/core-react/text/MutedText.js.map +1 -1
  435. package/lib/esm/core-react/text/StyledText.d.ts +1 -0
  436. package/lib/esm/core-react/text/StyledText.d.ts.map +1 -1
  437. package/lib/esm/core-react/text/StyledText.js.map +1 -1
  438. package/lib/esm/core-react/text/TextProps.d.ts +1 -0
  439. package/lib/esm/core-react/text/TextProps.d.ts.map +1 -1
  440. package/lib/esm/core-react/text/TextProps.js.map +1 -1
  441. package/lib/esm/core-react/tree/ExpansionToggle.d.ts +1 -3
  442. package/lib/esm/core-react/tree/ExpansionToggle.d.ts.map +1 -1
  443. package/lib/esm/core-react/tree/ExpansionToggle.js +9 -10
  444. package/lib/esm/core-react/tree/ExpansionToggle.js.map +1 -1
  445. package/lib/esm/core-react/tree/Node.js +1 -2
  446. package/lib/esm/core-react/tree/Node.js.map +1 -1
  447. package/lib/esm/core-react/utils/IconWebComponent.d.ts +4 -2
  448. package/lib/esm/core-react/utils/IconWebComponent.d.ts.map +1 -1
  449. package/lib/esm/core-react/utils/IconWebComponent.js +8 -5
  450. package/lib/esm/core-react/utils/IconWebComponent.js.map +1 -1
  451. package/lib/esm/core-react/utils/getCssVariable.js +1 -1
  452. package/lib/esm/core-react/utils/getCssVariable.js.map +1 -1
  453. package/lib/esm/core-react/utils/getObjectClassName.js +2 -3
  454. package/lib/esm/core-react/utils/getObjectClassName.js.map +1 -1
  455. package/lib/esm/core-react/utils/hooks/ResizeObserverPolyfill.d.ts +4 -1
  456. package/lib/esm/core-react/utils/hooks/ResizeObserverPolyfill.d.ts.map +1 -1
  457. package/lib/esm/core-react/utils/hooks/ResizeObserverPolyfill.js +3 -1
  458. package/lib/esm/core-react/utils/hooks/ResizeObserverPolyfill.js.map +1 -1
  459. package/lib/esm/core-react/utils/hooks/useCrossOriginPopup.d.ts +1 -1
  460. package/lib/esm/core-react/utils/hooks/useCrossOriginPopup.js +2 -3
  461. package/lib/esm/core-react/utils/hooks/useCrossOriginPopup.js.map +1 -1
  462. package/lib/esm/core-react/utils/hooks/useResizeObserver.d.ts.map +1 -1
  463. package/lib/esm/core-react/utils/hooks/useResizeObserver.js +13 -17
  464. package/lib/esm/core-react/utils/hooks/useResizeObserver.js.map +1 -1
  465. package/lib/esm/core-react.d.ts +3 -3
  466. package/lib/esm/core-react.d.ts.map +1 -1
  467. package/lib/esm/core-react.js +5 -4
  468. package/lib/esm/core-react.js.map +1 -1
  469. package/package.json +8 -33
  470. package/lib/cjs/core-react/badge/BadgeUtilities.d.ts.map +0 -1
  471. package/lib/cjs/core-react/badge/BadgeUtilities.js +0 -43
  472. package/lib/cjs/core-react/badge/BadgeUtilities.js.map +0 -1
  473. package/lib/cjs/core-react/badge/BetaBadge.d.ts +0 -10
  474. package/lib/cjs/core-react/badge/BetaBadge.d.ts.map +0 -1
  475. package/lib/cjs/core-react/badge/BetaBadge.js +0 -23
  476. package/lib/cjs/core-react/badge/BetaBadge.js.map +0 -1
  477. package/lib/cjs/core-react/badge/new-feature-badge.svg +0 -1
  478. package/lib/cjs/core-react/badge/technical-preview-badge.svg +0 -1
  479. package/lib/cjs/core-react/useTranslation.d.ts +0 -10
  480. package/lib/cjs/core-react/useTranslation.d.ts.map +0 -1
  481. package/lib/cjs/core-react/useTranslation.js.map +0 -1
  482. package/lib/esm/core-react/badge/BadgeUtilities.d.ts.map +0 -1
  483. package/lib/esm/core-react/badge/BadgeUtilities.js +0 -39
  484. package/lib/esm/core-react/badge/BadgeUtilities.js.map +0 -1
  485. package/lib/esm/core-react/badge/BetaBadge.d.ts +0 -10
  486. package/lib/esm/core-react/badge/BetaBadge.d.ts.map +0 -1
  487. package/lib/esm/core-react/badge/BetaBadge.js +0 -19
  488. package/lib/esm/core-react/badge/BetaBadge.js.map +0 -1
  489. package/lib/esm/core-react/badge/new-feature-badge.svg +0 -1
  490. package/lib/esm/core-react/badge/technical-preview-badge.svg +0 -1
  491. package/lib/esm/core-react/useTranslation.d.ts +0 -10
  492. package/lib/esm/core-react/useTranslation.d.ts.map +0 -1
  493. package/lib/esm/core-react/useTranslation.js +0 -16
  494. package/lib/esm/core-react/useTranslation.js.map +0 -1
@@ -5,7 +5,7 @@ import * as React from "react";
5
5
  import { ConditionalBooleanValue } from "@itwin/appui-abstract";
6
6
  import type { CommonProps } from "../utils/Props";
7
7
  import type { ContextMenu } from "./ContextMenu";
8
- import type { BadgeType } from "../badge/BadgeUtilities";
8
+ import type { BadgeType } from "../badge/BadgeType";
9
9
  import type { IconSpec } from "../icons/IconComponent";
10
10
  /** Properties for the [[ContextMenuItem]] component
11
11
  * @public
@@ -1 +1 @@
1
- {"version":3,"file":"ContextMenuItem.d.ts","sourceRoot":"","sources":["../../../../src/core-react/contextmenu/ContextMenuItem.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAGzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAGvD;;GAEG;AACH,MAAM,WAAW,oBACf,SAAQ,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,cAAc,CAAC,EAAE,UAAU,GAAG,QAAQ,CAAC,EAC1E,WAAW;IACb,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAAC;IAC/B,gBAAgB;IAChB,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,0CAA0C;IAC1C,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,gFAAgF;IAChF,QAAQ,CAAC,EAAE,OAAO,GAAG,uBAAuB,CAAC;IAC7C,kGAAkG;IAClG,MAAM,CAAC,EAAE,OAAO,GAAG,uBAAuB,CAAC;IAC3C,wCAAwC;IACxC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,2CAA2C;IAC3C,SAAS,CAAC,EAAE,QAAQ,CAAC;IACrB,yHAAyH;IACzH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,gBAAgB;IAChB,OAAO,CAAC,EAAE,MAAM,GAAG,CAAC;IAEpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gBAAgB;IAChB,UAAU,CAAC,EAAE,WAAW,CAAC;CAC1B;AAED,gBAAgB;AAChB,UAAU,oBAAoB;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,KAAK,CAAC,aAAa,CACtD,oBAAoB,EACpB,oBAAoB,CACrB;IACC,OAAO,CAAC,KAAK,CAA4B;IACzC,OAAO,CAAC,aAAa,CAAkB;IACvC,OAAO,CAAC,eAAe,CAAkB;IACzC,gBAAgB;IAChB,OAAc,YAAY,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAIvD;gBACU,KAAK,EAAE,oBAAoB;IAGvC,gBAAgB;IAChB,SAAyB,KAAK,EAAE,QAAQ,CAAC,oBAAoB,CAAC,CAAM;IACpD,MAAM,IAAI,KAAK,CAAC,YAAY;IA6E5B,iBAAiB;IAIjB,kBAAkB,CAAC,SAAS,EAAE,oBAAoB;IAMlE,OAAO,CAAC,aAAa,CAWnB;IAEF,OAAO,CAAC,YAAY,CAElB;IAEF,OAAO,CAAC,gBAAgB,CAStB;IAEK,MAAM,aAOX;IAEF,OAAO,CAAC,YAAY,CAMlB;IAEF,OAAO,CAAC,YAAY,CASlB;CACH"}
1
+ {"version":3,"file":"ContextMenuItem.d.ts","sourceRoot":"","sources":["../../../../src/core-react/contextmenu/ContextMenuItem.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAIvD;;GAEG;AACH,MAAM,WAAW,oBACf,SAAQ,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,cAAc,CAAC,EAAE,UAAU,GAAG,QAAQ,CAAC,EAC1E,WAAW;IACb,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAAC;IAC/B,gBAAgB;IAChB,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,0CAA0C;IAC1C,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,gFAAgF;IAChF,QAAQ,CAAC,EAAE,OAAO,GAAG,uBAAuB,CAAC;IAC7C,kGAAkG;IAClG,MAAM,CAAC,EAAE,OAAO,GAAG,uBAAuB,CAAC;IAC3C,wCAAwC;IACxC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,2CAA2C;IAC3C,SAAS,CAAC,EAAE,QAAQ,CAAC;IACrB,yHAAyH;IACzH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,gBAAgB;IAChB,OAAO,CAAC,EAAE,MAAM,GAAG,CAAC;IAEpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gBAAgB;IAChB,UAAU,CAAC,EAAE,WAAW,CAAC;CAC1B;AAED,gBAAgB;AAChB,UAAU,oBAAoB;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,KAAK,CAAC,aAAa,CACtD,oBAAoB,EACpB,oBAAoB,CACrB;IACC,OAAO,CAAC,KAAK,CAA4B;IACzC,OAAO,CAAC,aAAa,CAAkB;IACvC,OAAO,CAAC,eAAe,CAAkB;IACzC,gBAAgB;IAChB,OAAc,YAAY,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAIvD;gBACU,KAAK,EAAE,oBAAoB;IAGvC,gBAAgB;IAChB,SAAyB,KAAK,EAAE,QAAQ,CAAC,oBAAoB,CAAC,CAAM;IACpD,MAAM,IAAI,KAAK,CAAC,YAAY;IAgF5B,iBAAiB;IAIjB,kBAAkB,CAAC,SAAS,EAAE,oBAAoB;IAMlE,OAAO,CAAC,aAAa,CAWnB;IAEF,OAAO,CAAC,YAAY,CAElB;IAEF,OAAO,CAAC,gBAAgB,CAStB;IAEK,MAAM,aAOX;IAEF,OAAO,CAAC,YAAY,CAMlB;IAEF,OAAO,CAAC,YAAY,CASlB;CACH"}
@@ -12,9 +12,9 @@ const React = require("react");
12
12
  const classnames_1 = require("classnames");
13
13
  const ts_key_enum_1 = require("ts-key-enum");
14
14
  const appui_abstract_1 = require("@itwin/appui-abstract");
15
- const BadgeUtilities_1 = require("../badge/BadgeUtilities");
16
15
  const TildeFinder_1 = require("./TildeFinder");
17
16
  const IconComponent_1 = require("../icons/IconComponent");
17
+ const Badge_1 = require("../badge/Badge");
18
18
  /**
19
19
  * Menu Item class for use within a [[ContextMenu]] component.
20
20
  * @public
@@ -79,7 +79,6 @@ class ContextMenuItem extends React.PureComponent {
79
79
  render() {
80
80
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
81
81
  const { onClick, className, style, onSelect, icon, disabled, hidden, onHover, isSelected, parentMenu, onHotKeyParsed, badgeType, iconRight, hideIconContainer, ...props } = this.props;
82
- const badge = BadgeUtilities_1.BadgeUtilities.getComponentForBadgeType(badgeType);
83
82
  const isDisabled = appui_abstract_1.ConditionalBooleanValue.getValue(disabled);
84
83
  const isHidden = appui_abstract_1.ConditionalBooleanValue.getValue(hidden);
85
84
  if (this._lastChildren !== this.props.children) {
@@ -93,7 +92,8 @@ class ContextMenuItem extends React.PureComponent {
93
92
  React.createElement("div", { className: "core-context-menu-content" }, this._parsedChildren),
94
93
  iconRight && (React.createElement("div", { className: (0, classnames_1.default)("core-context-menu-icon", "core-context-menu-icon-right") },
95
94
  React.createElement(IconComponent_1.Icon, { iconSpec: iconRight }))),
96
- badge && React.createElement("div", { className: "core-context-menu-badge" }, badge)));
95
+ badgeType && (React.createElement("div", { className: "core-context-menu-badge" },
96
+ React.createElement(Badge_1.Badge, { type: badgeType })))));
97
97
  }
98
98
  componentDidMount() {
99
99
  this._updateHotkey(this.props.children);
@@ -1 +1 @@
1
- {"version":3,"file":"ContextMenuItem.js","sourceRoot":"","sources":["../../../../src/core-react/contextmenu/ContextMenuItem.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module ContextMenu\n */\n\nimport * as React from \"react\";\nimport classnames from \"classnames\";\nimport { Key } from \"ts-key-enum\";\nimport { ConditionalBooleanValue } from \"@itwin/appui-abstract\";\nimport type { CommonProps } from \"../utils/Props\";\nimport type { ContextMenu } from \"./ContextMenu\";\nimport type { BadgeType } from \"../badge/BadgeUtilities\";\nimport { BadgeUtilities } from \"../badge/BadgeUtilities\";\nimport { TildeFinder } from \"./TildeFinder\";\nimport type { IconSpec } from \"../icons/IconComponent\";\nimport { Icon } from \"../icons/IconComponent\";\n\n/** Properties for the [[ContextMenuItem]] component\n * @public\n */\nexport interface ContextMenuItemProps\n extends Omit<React.AllHTMLAttributes<HTMLDivElement>, \"disabled\" | \"hidden\">,\n CommonProps {\n onSelect?: (event: any) => any;\n /** @internal */\n onHotKeyParsed?: (hotKey: string) => void;\n /** Icon to display in the left margin. */\n icon?: IconSpec;\n /** Disables any onSelect calls, hover/keyboard highlighting, and grays item. */\n disabled?: boolean | ConditionalBooleanValue;\n /** Indicates whether the item is visible or hidden. The default is for the item to be visible. */\n hidden?: boolean | ConditionalBooleanValue;\n /** Badge to be overlaid on the item. */\n badgeType?: BadgeType;\n /** Icon to display in the right margin. */\n iconRight?: IconSpec;\n /** Hide the icon container. This can be used to eliminate space used to display an icon at the left of the menu item. */\n hideIconContainer?: boolean;\n /** @internal */\n onHover?: () => any;\n /* @internal */\n isSelected?: boolean;\n /** @internal */\n parentMenu?: ContextMenu;\n}\n\n/** @internal */\ninterface ContextMenuItemState {\n hotKey?: string;\n}\n\n/**\n * Menu Item class for use within a [[ContextMenu]] component.\n * @public\n */\nexport class ContextMenuItem extends React.PureComponent<\n ContextMenuItemProps,\n ContextMenuItemState\n> {\n private _root: HTMLElement | null = null;\n private _lastChildren: React.ReactNode;\n private _parsedChildren: React.ReactNode;\n /** @internal */\n public static defaultProps: Partial<ContextMenuItemProps> = {\n disabled: false,\n hidden: false,\n isSelected: false,\n };\n constructor(props: ContextMenuItemProps) {\n super(props);\n }\n /** @internal */\n public override readonly state: Readonly<ContextMenuItemState> = {};\n public override render(): React.ReactElement {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const {\n onClick,\n className,\n style,\n onSelect,\n icon,\n disabled,\n hidden,\n onHover,\n isSelected,\n parentMenu,\n onHotKeyParsed,\n badgeType,\n iconRight,\n hideIconContainer,\n ...props\n } = this.props;\n const badge = BadgeUtilities.getComponentForBadgeType(badgeType);\n const isDisabled = ConditionalBooleanValue.getValue(disabled);\n const isHidden = ConditionalBooleanValue.getValue(hidden);\n\n if (this._lastChildren !== this.props.children) {\n this._parsedChildren = TildeFinder.findAfterTilde(\n this.props.children\n ).node;\n this._lastChildren = this.props.children;\n }\n\n return (\n <div\n {...props}\n ref={(el) => {\n this._root = el;\n }}\n onClick={this._handleClick}\n style={style}\n onFocus={this._handleFocus}\n onKeyUp={this._handleKeyUp}\n onMouseOver={this._handleMouseOver}\n data-testid={\"core-context-menu-item\"}\n className={classnames(\n \"core-context-menu-item\",\n className,\n isDisabled && \"core-context-menu-disabled\",\n isHidden && \"core-context-menu-hidden\",\n isSelected && \"core-context-menu-is-selected\"\n )}\n role=\"menuitem\"\n tabIndex={isSelected ? 0 : -1}\n aria-disabled={isDisabled}\n aria-hidden={isHidden}\n >\n {!hideIconContainer && (\n <div className=\"core-context-menu-icon\">\n {icon !== undefined && <Icon iconSpec={icon} />}\n </div>\n )}\n <div className={\"core-context-menu-content\"}>\n {this._parsedChildren}\n </div>\n {iconRight && (\n <div\n className={classnames(\n \"core-context-menu-icon\",\n \"core-context-menu-icon-right\"\n )}\n >\n <Icon iconSpec={iconRight} />\n </div>\n )}\n {badge && <div className=\"core-context-menu-badge\">{badge}</div>}\n </div>\n );\n }\n\n public override componentDidMount() {\n this._updateHotkey(this.props.children);\n }\n\n public override componentDidUpdate(prevProps: ContextMenuItemProps) {\n if (this.props.children !== prevProps.children) {\n this._updateHotkey(this.props.children);\n }\n }\n\n private _updateHotkey = (node: React.ReactNode) => {\n let hotKey: string | undefined;\n const isDisabled = ConditionalBooleanValue.getValue(this.props.disabled);\n const isHidden = ConditionalBooleanValue.getValue(this.props.hidden);\n if (!isDisabled && !isHidden)\n hotKey = TildeFinder.findAfterTilde(node).character;\n else hotKey = undefined;\n if (hotKey && hotKey !== this.state.hotKey) {\n this.setState({ hotKey });\n if (this.props.onHotKeyParsed) this.props.onHotKeyParsed(hotKey);\n }\n };\n\n private _handleFocus = (event: React.FocusEvent<HTMLDivElement>) => {\n event.stopPropagation();\n };\n\n private _handleMouseOver = (_event: React.MouseEvent<HTMLDivElement>) => {\n // istanbul ignore else\n if (\n this._root &&\n this._root.style.visibility !== \"hidden\" &&\n this.props.onHover\n ) {\n this.props.onHover();\n }\n };\n\n public select = () => {\n // istanbul ignore else\n if (this._root) {\n this._root.click();\n if (this.props.parentMenu && this.props.parentMenu.props.parentSubmenu)\n this.props.parentMenu.props.parentSubmenu.close(true);\n }\n };\n\n private _handleClick = (event: React.MouseEvent<HTMLDivElement>) => {\n const isDisabled = ConditionalBooleanValue.getValue(this.props.disabled);\n if (isDisabled) return;\n\n if (this.props.onClick) this.props.onClick(event);\n if (this.props.onSelect) this.props.onSelect(event);\n };\n\n private _handleKeyUp = (event: React.KeyboardEvent<HTMLDivElement>) => {\n const isDisabled = ConditionalBooleanValue.getValue(this.props.disabled);\n if (\n event.key === Key.Enter.valueOf() &&\n this.props.onSelect !== undefined &&\n !isDisabled\n ) {\n this.props.onSelect(event);\n }\n };\n}\n"]}
1
+ {"version":3,"file":"ContextMenuItem.js","sourceRoot":"","sources":["../../../../src/core-react/contextmenu/ContextMenuItem.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module ContextMenu\n */\n\nimport * as React from \"react\";\nimport classnames from \"classnames\";\nimport { Key } from \"ts-key-enum\";\nimport { ConditionalBooleanValue } from \"@itwin/appui-abstract\";\nimport type { CommonProps } from \"../utils/Props\";\nimport type { ContextMenu } from \"./ContextMenu\";\nimport type { BadgeType } from \"../badge/BadgeType\";\nimport { TildeFinder } from \"./TildeFinder\";\nimport type { IconSpec } from \"../icons/IconComponent\";\nimport { Icon } from \"../icons/IconComponent\";\nimport { Badge } from \"../badge/Badge\";\n\n/** Properties for the [[ContextMenuItem]] component\n * @public\n */\nexport interface ContextMenuItemProps\n extends Omit<React.AllHTMLAttributes<HTMLDivElement>, \"disabled\" | \"hidden\">,\n CommonProps {\n onSelect?: (event: any) => any;\n /** @internal */\n onHotKeyParsed?: (hotKey: string) => void;\n /** Icon to display in the left margin. */\n icon?: IconSpec;\n /** Disables any onSelect calls, hover/keyboard highlighting, and grays item. */\n disabled?: boolean | ConditionalBooleanValue;\n /** Indicates whether the item is visible or hidden. The default is for the item to be visible. */\n hidden?: boolean | ConditionalBooleanValue;\n /** Badge to be overlaid on the item. */\n badgeType?: BadgeType;\n /** Icon to display in the right margin. */\n iconRight?: IconSpec;\n /** Hide the icon container. This can be used to eliminate space used to display an icon at the left of the menu item. */\n hideIconContainer?: boolean;\n /** @internal */\n onHover?: () => any;\n /* @internal */\n isSelected?: boolean;\n /** @internal */\n parentMenu?: ContextMenu;\n}\n\n/** @internal */\ninterface ContextMenuItemState {\n hotKey?: string;\n}\n\n/**\n * Menu Item class for use within a [[ContextMenu]] component.\n * @public\n */\nexport class ContextMenuItem extends React.PureComponent<\n ContextMenuItemProps,\n ContextMenuItemState\n> {\n private _root: HTMLElement | null = null;\n private _lastChildren: React.ReactNode;\n private _parsedChildren: React.ReactNode;\n /** @internal */\n public static defaultProps: Partial<ContextMenuItemProps> = {\n disabled: false,\n hidden: false,\n isSelected: false,\n };\n constructor(props: ContextMenuItemProps) {\n super(props);\n }\n /** @internal */\n public override readonly state: Readonly<ContextMenuItemState> = {};\n public override render(): React.ReactElement {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const {\n onClick,\n className,\n style,\n onSelect,\n icon,\n disabled,\n hidden,\n onHover,\n isSelected,\n parentMenu,\n onHotKeyParsed,\n badgeType,\n iconRight,\n hideIconContainer,\n ...props\n } = this.props;\n const isDisabled = ConditionalBooleanValue.getValue(disabled);\n const isHidden = ConditionalBooleanValue.getValue(hidden);\n\n if (this._lastChildren !== this.props.children) {\n this._parsedChildren = TildeFinder.findAfterTilde(\n this.props.children\n ).node;\n this._lastChildren = this.props.children;\n }\n\n return (\n <div\n {...props}\n ref={(el) => {\n this._root = el;\n }}\n onClick={this._handleClick}\n style={style}\n onFocus={this._handleFocus}\n onKeyUp={this._handleKeyUp}\n onMouseOver={this._handleMouseOver}\n data-testid={\"core-context-menu-item\"}\n className={classnames(\n \"core-context-menu-item\",\n className,\n isDisabled && \"core-context-menu-disabled\",\n isHidden && \"core-context-menu-hidden\",\n isSelected && \"core-context-menu-is-selected\"\n )}\n role=\"menuitem\"\n tabIndex={isSelected ? 0 : -1}\n aria-disabled={isDisabled}\n aria-hidden={isHidden}\n >\n {!hideIconContainer && (\n <div className=\"core-context-menu-icon\">\n {icon !== undefined && <Icon iconSpec={icon} />}\n </div>\n )}\n <div className={\"core-context-menu-content\"}>\n {this._parsedChildren}\n </div>\n {iconRight && (\n <div\n className={classnames(\n \"core-context-menu-icon\",\n \"core-context-menu-icon-right\"\n )}\n >\n <Icon iconSpec={iconRight} />\n </div>\n )}\n {badgeType && (\n <div className=\"core-context-menu-badge\">\n <Badge type={badgeType} />\n </div>\n )}\n </div>\n );\n }\n\n public override componentDidMount() {\n this._updateHotkey(this.props.children);\n }\n\n public override componentDidUpdate(prevProps: ContextMenuItemProps) {\n if (this.props.children !== prevProps.children) {\n this._updateHotkey(this.props.children);\n }\n }\n\n private _updateHotkey = (node: React.ReactNode) => {\n let hotKey: string | undefined;\n const isDisabled = ConditionalBooleanValue.getValue(this.props.disabled);\n const isHidden = ConditionalBooleanValue.getValue(this.props.hidden);\n if (!isDisabled && !isHidden)\n hotKey = TildeFinder.findAfterTilde(node).character;\n else hotKey = undefined;\n if (hotKey && hotKey !== this.state.hotKey) {\n this.setState({ hotKey });\n if (this.props.onHotKeyParsed) this.props.onHotKeyParsed(hotKey);\n }\n };\n\n private _handleFocus = (event: React.FocusEvent<HTMLDivElement>) => {\n event.stopPropagation();\n };\n\n private _handleMouseOver = (_event: React.MouseEvent<HTMLDivElement>) => {\n // istanbul ignore else\n if (\n this._root &&\n this._root.style.visibility !== \"hidden\" &&\n this.props.onHover\n ) {\n this.props.onHover();\n }\n };\n\n public select = () => {\n // istanbul ignore else\n if (this._root) {\n this._root.click();\n if (this.props.parentMenu && this.props.parentMenu.props.parentSubmenu)\n this.props.parentMenu.props.parentSubmenu.close(true);\n }\n };\n\n private _handleClick = (event: React.MouseEvent<HTMLDivElement>) => {\n const isDisabled = ConditionalBooleanValue.getValue(this.props.disabled);\n if (isDisabled) return;\n\n if (this.props.onClick) this.props.onClick(event);\n if (this.props.onSelect) this.props.onSelect(event);\n };\n\n private _handleKeyUp = (event: React.KeyboardEvent<HTMLDivElement>) => {\n const isDisabled = ConditionalBooleanValue.getValue(this.props.disabled);\n if (\n event.key === Key.Enter.valueOf() &&\n this.props.onSelect !== undefined &&\n !isDisabled\n ) {\n this.props.onSelect(event);\n }\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ContextSubMenu.d.ts","sourceRoot":"","sources":["../../../../src/core-react/contextmenu/ContextSubMenu.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAM9D;;GAEG;AACH,MAAM,WAAW,mBACf,SAAQ,IAAI,CAAC,oBAAoB,EAAE,OAAO,CAAC,EACzC,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,EAC/B,WAAW;IACb,2CAA2C;IAC3C,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC;IACnC,gBAAgB;IAChB,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CAC3C;AAED,gBAAgB;AAChB,UAAU,mBAAmB;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,oBAAoB,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,qBAAa,cAAe,SAAQ,KAAK,CAAC,SAAS,CACjD,mBAAmB,EACnB,mBAAmB,CACpB;IACC,OAAO,CAAC,YAAY,CAA4B;IAChD,OAAO,CAAC,eAAe,CAA4B;IACnD,OAAO,CAAC,kBAAkB,CAA4B;IAEtD,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,YAAY,CAAkB;IAEtC,OAAc,YAAY,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAOtD;IAEF,gBAAgB;IAChB,SAAyB,KAAK,EAAE,QAAQ,CAAC,mBAAmB,CAAC,CAAC;gBAClD,KAAK,EAAE,mBAAmB;IAQtB,MAAM,IAAI,KAAK,CAAC,YAAY;IA4G5B,iBAAiB;IAOjB,oBAAoB;IAIpB,kBAAkB,CAChC,SAAS,EAAE,mBAAmB,EAC9B,SAAS,EAAE,mBAAmB;IAchC,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,oBAAoB;IAmB5B,OAAO,CAAC,aAAa,CAWnB;IAEK,MAAM,aAMX;IAEK,KAAK,eAAgB,OAAO,UAajC;IAEF,OAAO,CAAC,gBAAgB,CAStB;IAEF,OAAO,CAAC,YAAY,CAalB;IAEF,OAAO,CAAC,kBAAkB,CAGxB;CACH"}
1
+ {"version":3,"file":"ContextSubMenu.d.ts","sourceRoot":"","sources":["../../../../src/core-react/contextmenu/ContextSubMenu.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAM9D;;GAEG;AACH,MAAM,WAAW,mBACf,SAAQ,IAAI,CAAC,oBAAoB,EAAE,OAAO,CAAC,EACzC,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,EAC/B,WAAW;IACb,2CAA2C;IAC3C,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC;IACnC,gBAAgB;IAChB,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CAC3C;AAED,gBAAgB;AAChB,UAAU,mBAAmB;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,oBAAoB,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,qBAAa,cAAe,SAAQ,KAAK,CAAC,SAAS,CACjD,mBAAmB,EACnB,mBAAmB,CACpB;IACC,OAAO,CAAC,YAAY,CAA4B;IAChD,OAAO,CAAC,eAAe,CAA4B;IACnD,OAAO,CAAC,kBAAkB,CAA4B;IAEtD,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,YAAY,CAAkB;IAEtC,OAAc,YAAY,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAOtD;IAEF,gBAAgB;IAChB,SAAyB,KAAK,EAAE,QAAQ,CAAC,mBAAmB,CAAC,CAAC;gBAClD,KAAK,EAAE,mBAAmB;IAQtB,MAAM,IAAI,KAAK,CAAC,YAAY;IA+G5B,iBAAiB;IAOjB,oBAAoB;IAIpB,kBAAkB,CAChC,SAAS,EAAE,mBAAmB,EAC9B,SAAS,EAAE,mBAAmB;IAchC,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,oBAAoB;IAmB5B,OAAO,CAAC,aAAa,CAWnB;IAEK,MAAM,aAMX;IAEK,KAAK,eAAgB,OAAO,UAajC;IAEF,OAAO,CAAC,gBAAgB,CAStB;IAEF,OAAO,CAAC,YAAY,CAalB;IAEF,OAAO,CAAC,kBAAkB,CAGxB;CACH"}
@@ -14,9 +14,9 @@ const appui_abstract_1 = require("@itwin/appui-abstract");
14
14
  const ContextMenu_1 = require("./ContextMenu");
15
15
  const ContextMenuDirection_1 = require("./ContextMenuDirection");
16
16
  const TildeFinder_1 = require("./TildeFinder");
17
- const BadgeUtilities_1 = require("../badge/BadgeUtilities");
18
17
  const IconComponent_1 = require("../icons/IconComponent");
19
18
  const itwinui_icons_react_1 = require("@itwin/itwinui-icons-react");
19
+ const Badge_1 = require("../badge/Badge");
20
20
  /**
21
21
  * Submenu wrapper class for use within a [[ContextMenu]] component.
22
22
  * @public
@@ -111,7 +111,6 @@ class ContextSubMenu extends React.Component {
111
111
  floating,
112
112
  parentMenu,
113
113
  };
114
- const badge = BadgeUtilities_1.BadgeUtilities.getComponentForBadgeType(badgeType);
115
114
  const renderDirection = this.state.direction;
116
115
  const isDisabled = appui_abstract_1.ConditionalBooleanValue.getValue(disabled);
117
116
  const isHidden = appui_abstract_1.ConditionalBooleanValue.getValue(hidden);
@@ -131,7 +130,8 @@ class ContextSubMenu extends React.Component {
131
130
  React.createElement("div", { className: "core-context-menu-content" }, this._parsedLabel),
132
131
  React.createElement("div", { className: (0, classnames_1.default)("core-context-submenu-arrow", "icon") },
133
132
  React.createElement(IconComponent_1.Icon, { iconSpec: React.createElement(itwinui_icons_react_1.SvgCaretRightSmall, null) })),
134
- badge && React.createElement("div", { className: "core-context-menu-badge" }, badge)),
133
+ badgeType && (React.createElement("div", { className: "core-context-menu-badge" },
134
+ React.createElement(Badge_1.Badge, { type: badgeType })))),
135
135
  React.createElement(ContextMenu_1.ContextMenu, { ref: (el) => {
136
136
  this._menuElement = el;
137
137
  }, className: "core-context-submenu-popup", opened: this.state.opened, direction: renderDirection, parentSubmenu: this, ...contextMenuProps }, children)));
@@ -1 +1 @@
1
- {"version":3,"file":"ContextSubMenu.js","sourceRoot":"","sources":["../../../../src/core-react/contextmenu/ContextSubMenu.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module ContextMenu\n */\n\nimport * as React from \"react\";\nimport classnames from \"classnames\";\nimport { ConditionalBooleanValue } from \"@itwin/appui-abstract\";\nimport type { ContextMenuItemProps } from \"./ContextMenuItem\";\nimport type { ContextMenuProps } from \"./ContextMenu\";\nimport { ContextMenu } from \"./ContextMenu\";\nimport type { CommonProps } from \"../utils/Props\";\nimport { ContextMenuDirection } from \"./ContextMenuDirection\";\nimport { TildeFinder } from \"./TildeFinder\";\nimport { BadgeUtilities } from \"../badge/BadgeUtilities\";\nimport { Icon } from \"../icons/IconComponent\";\nimport { SvgCaretRightSmall } from \"@itwin/itwinui-icons-react\";\n\n/** Properties for the [[ContextSubMenu]] component\n * @public\n */\nexport interface ContextSubMenuProps\n extends Omit<ContextMenuItemProps, \"label\">,\n Omit<ContextMenuProps, \"label\">,\n CommonProps {\n /** Text/jsx to display in the list item */\n label: string | React.ReactElement;\n /** @internal */\n onHotKeyParsed?: (hotKey: string) => void;\n}\n\n/** @internal */\ninterface ContextSubMenuState {\n opened: boolean;\n direction: ContextMenuDirection;\n hotKey?: string;\n}\n\n/**\n * Submenu wrapper class for use within a [[ContextMenu]] component.\n * @public\n */\nexport class ContextSubMenu extends React.Component<\n ContextSubMenuProps,\n ContextSubMenuState\n> {\n private _menuElement: ContextMenu | null = null;\n private _subMenuElement: HTMLElement | null = null;\n private _menuButtonElement: HTMLElement | null = null;\n\n private _lastLabel: React.ReactNode;\n private _parsedLabel: React.ReactNode;\n\n public static defaultProps: Partial<ContextSubMenuProps> = {\n direction: ContextMenuDirection.BottomRight,\n disabled: false,\n hidden: false,\n autoflip: true,\n isSelected: false,\n selectedIndex: 0,\n };\n\n /** @internal */\n public override readonly state: Readonly<ContextSubMenuState>;\n constructor(props: ContextSubMenuProps) {\n super(props);\n this.state = {\n opened: false,\n direction: props.direction!,\n };\n }\n\n public override render(): React.ReactElement {\n const {\n label,\n opened,\n direction,\n onOutsideClick,\n onEsc,\n autoflip,\n edgeLimit,\n selectedIndex,\n floating,\n parentMenu,\n parentSubmenu,\n onSelect,\n icon,\n disabled,\n hidden,\n onHover,\n isSelected,\n onHotKeyParsed,\n children,\n onClick,\n className,\n badgeType,\n ...props\n } = this.props;\n\n const onOutsideClickWrapper = (event: MouseEvent) => {\n this.close();\n onOutsideClick && onOutsideClick(event);\n };\n const contextMenuProps = {\n onOutsideClick: onOutsideClickWrapper,\n onSelect,\n onEsc,\n autoflip,\n edgeLimit,\n selectedIndex,\n floating,\n parentMenu,\n };\n const badge = BadgeUtilities.getComponentForBadgeType(badgeType);\n const renderDirection = this.state.direction;\n const isDisabled = ConditionalBooleanValue.getValue(disabled);\n const isHidden = ConditionalBooleanValue.getValue(hidden);\n\n if (this._lastLabel !== label) {\n this._parsedLabel = TildeFinder.findAfterTilde(label).node;\n this._lastLabel = label;\n }\n return (\n <div\n className={classnames(\n \"core-context-submenu\",\n ContextMenu.getCSSClassNameFromDirection(renderDirection),\n className\n )}\n // eslint-disable-next-line jsx-a11y/mouse-events-have-key-events\n onMouseOver={this._handleMouseOver}\n ref={(el) => {\n this._subMenuElement = el;\n }}\n data-testid=\"core-context-submenu\"\n {...props}\n >\n {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events */}\n <div\n onClick={this._handleClick}\n ref={(el) => {\n this._menuButtonElement = el;\n }}\n className={classnames(\n \"core-context-menu-item\",\n \"core-context-submenu-container\",\n isDisabled && \"core-context-menu-disabled\",\n isHidden && \"core-context-menu-hidden\",\n isSelected && \"core-context-menu-is-selected\"\n )}\n data-testid=\"core-context-submenu-container\"\n role=\"menuitem\"\n tabIndex={isSelected ? 0 : -1}\n aria-disabled={isDisabled}\n aria-hidden={isHidden}\n aria-haspopup={true}\n >\n <div className={classnames(\"core-context-menu-icon\", \"icon\", icon)} />\n <div className={\"core-context-menu-content\"}>{this._parsedLabel}</div>\n <div className={classnames(\"core-context-submenu-arrow\", \"icon\")}>\n <Icon iconSpec={<SvgCaretRightSmall />} />\n </div>\n {badge && <div className=\"core-context-menu-badge\">{badge}</div>}\n </div>\n <ContextMenu\n ref={(el) => {\n this._menuElement = el;\n }}\n className=\"core-context-submenu-popup\"\n opened={this.state.opened}\n direction={renderDirection}\n parentSubmenu={this}\n {...contextMenuProps}\n >\n {children}\n </ContextMenu>\n </div>\n );\n }\n\n public override componentDidMount() {\n document.addEventListener(\"click\", this._handleClickGlobal);\n this._updateHotkey(this.props.label);\n\n this.checkRenderDirection();\n }\n\n public override componentWillUnmount() {\n document.removeEventListener(\"click\", this._handleClickGlobal);\n }\n\n public override componentDidUpdate(\n prevProps: ContextSubMenuProps,\n prevState: ContextSubMenuState\n ) {\n const direction = this.props.direction!;\n if (\n (this.state.opened !== prevState.opened &&\n direction !== this.state.direction) ||\n prevProps.direction !== direction\n )\n this.checkRenderDirection();\n if (this.props.label !== prevProps.label) {\n this._updateHotkey(this.props.label);\n }\n }\n\n private getWindow() {\n const el = this._subMenuElement;\n const parentDocument = el!.ownerDocument;\n return parentDocument.defaultView;\n }\n\n private checkRenderDirection() {\n const { autoflip } = this.props;\n const parentWindow = this.getWindow();\n let renderDirection = this.state.direction;\n // istanbul ignore else\n if (parentWindow && autoflip && this._menuElement) {\n const menuRect = this._menuElement.getRect();\n renderDirection = ContextMenu.autoFlip(\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 private _updateHotkey = (node: React.ReactNode) => {\n let hotKey: string | undefined;\n const isDisabled = ConditionalBooleanValue.getValue(this.props.disabled);\n const isHidden = ConditionalBooleanValue.getValue(this.props.hidden);\n if (!isDisabled && !isHidden)\n hotKey = TildeFinder.findAfterTilde(node).character;\n else hotKey = undefined;\n if (hotKey && hotKey !== this.state.hotKey) {\n this.setState({ hotKey });\n if (this.props.onHotKeyParsed) this.props.onHotKeyParsed(hotKey);\n }\n };\n\n public select = () => {\n this.setState({ opened: true }, () => {\n // istanbul ignore else\n if (this._menuElement) this._menuElement.focus();\n if (this.props.onSelect !== undefined) this.props.onSelect(undefined);\n });\n };\n\n public close = (propagate?: boolean) => {\n this.setState({ opened: false }, () => {\n // istanbul ignore else\n if (this._menuElement) this._menuElement.blur();\n });\n // istanbul ignore next\n if (\n propagate &&\n this.props.parentMenu &&\n this.props.parentMenu.props.parentSubmenu\n ) {\n this.props.parentMenu.props.parentSubmenu.close(true);\n }\n };\n\n private _handleMouseOver = (_event: React.MouseEvent<HTMLDivElement>) => {\n // istanbul ignore else\n if (\n this._menuButtonElement &&\n this._menuButtonElement.style.visibility !== \"hidden\" &&\n this.props.onHover\n ) {\n this.props.onHover();\n }\n };\n\n private _handleClick = (event: any) => {\n event.stopPropagation();\n\n const isDisabled = ConditionalBooleanValue.getValue(this.props.disabled);\n\n // istanbul ignore else\n if (!isDisabled) {\n // istanbul ignore else\n if (this.props.onClick !== undefined) this.props.onClick(event);\n // istanbul ignore next\n if (this.props.opened) this.close();\n else this.select();\n }\n };\n\n private _handleClickGlobal = (event: any) => {\n if (this._subMenuElement && !this._subMenuElement.contains(event.target))\n this.setState((_prevState) => ({ opened: false }));\n };\n}\n"]}
1
+ {"version":3,"file":"ContextSubMenu.js","sourceRoot":"","sources":["../../../../src/core-react/contextmenu/ContextSubMenu.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module ContextMenu\n */\n\nimport * as React from \"react\";\nimport classnames from \"classnames\";\nimport { ConditionalBooleanValue } from \"@itwin/appui-abstract\";\nimport type { ContextMenuItemProps } from \"./ContextMenuItem\";\nimport type { ContextMenuProps } from \"./ContextMenu\";\nimport { ContextMenu } from \"./ContextMenu\";\nimport type { CommonProps } from \"../utils/Props\";\nimport { ContextMenuDirection } from \"./ContextMenuDirection\";\nimport { TildeFinder } from \"./TildeFinder\";\nimport { Icon } from \"../icons/IconComponent\";\nimport { SvgCaretRightSmall } from \"@itwin/itwinui-icons-react\";\nimport { Badge } from \"../badge/Badge\";\n\n/** Properties for the [[ContextSubMenu]] component\n * @public\n */\nexport interface ContextSubMenuProps\n extends Omit<ContextMenuItemProps, \"label\">,\n Omit<ContextMenuProps, \"label\">,\n CommonProps {\n /** Text/jsx to display in the list item */\n label: string | React.ReactElement;\n /** @internal */\n onHotKeyParsed?: (hotKey: string) => void;\n}\n\n/** @internal */\ninterface ContextSubMenuState {\n opened: boolean;\n direction: ContextMenuDirection;\n hotKey?: string;\n}\n\n/**\n * Submenu wrapper class for use within a [[ContextMenu]] component.\n * @public\n */\nexport class ContextSubMenu extends React.Component<\n ContextSubMenuProps,\n ContextSubMenuState\n> {\n private _menuElement: ContextMenu | null = null;\n private _subMenuElement: HTMLElement | null = null;\n private _menuButtonElement: HTMLElement | null = null;\n\n private _lastLabel: React.ReactNode;\n private _parsedLabel: React.ReactNode;\n\n public static defaultProps: Partial<ContextSubMenuProps> = {\n direction: ContextMenuDirection.BottomRight,\n disabled: false,\n hidden: false,\n autoflip: true,\n isSelected: false,\n selectedIndex: 0,\n };\n\n /** @internal */\n public override readonly state: Readonly<ContextSubMenuState>;\n constructor(props: ContextSubMenuProps) {\n super(props);\n this.state = {\n opened: false,\n direction: props.direction!,\n };\n }\n\n public override render(): React.ReactElement {\n const {\n label,\n opened,\n direction,\n onOutsideClick,\n onEsc,\n autoflip,\n edgeLimit,\n selectedIndex,\n floating,\n parentMenu,\n parentSubmenu,\n onSelect,\n icon,\n disabled,\n hidden,\n onHover,\n isSelected,\n onHotKeyParsed,\n children,\n onClick,\n className,\n badgeType,\n ...props\n } = this.props;\n\n const onOutsideClickWrapper = (event: MouseEvent) => {\n this.close();\n onOutsideClick && onOutsideClick(event);\n };\n const contextMenuProps = {\n onOutsideClick: onOutsideClickWrapper,\n onSelect,\n onEsc,\n autoflip,\n edgeLimit,\n selectedIndex,\n floating,\n parentMenu,\n };\n const renderDirection = this.state.direction;\n const isDisabled = ConditionalBooleanValue.getValue(disabled);\n const isHidden = ConditionalBooleanValue.getValue(hidden);\n\n if (this._lastLabel !== label) {\n this._parsedLabel = TildeFinder.findAfterTilde(label).node;\n this._lastLabel = label;\n }\n return (\n <div\n className={classnames(\n \"core-context-submenu\",\n ContextMenu.getCSSClassNameFromDirection(renderDirection),\n className\n )}\n // eslint-disable-next-line jsx-a11y/mouse-events-have-key-events\n onMouseOver={this._handleMouseOver}\n ref={(el) => {\n this._subMenuElement = el;\n }}\n data-testid=\"core-context-submenu\"\n {...props}\n >\n {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events */}\n <div\n onClick={this._handleClick}\n ref={(el) => {\n this._menuButtonElement = el;\n }}\n className={classnames(\n \"core-context-menu-item\",\n \"core-context-submenu-container\",\n isDisabled && \"core-context-menu-disabled\",\n isHidden && \"core-context-menu-hidden\",\n isSelected && \"core-context-menu-is-selected\"\n )}\n data-testid=\"core-context-submenu-container\"\n role=\"menuitem\"\n tabIndex={isSelected ? 0 : -1}\n aria-disabled={isDisabled}\n aria-hidden={isHidden}\n aria-haspopup={true}\n >\n <div className={classnames(\"core-context-menu-icon\", \"icon\", icon)} />\n <div className={\"core-context-menu-content\"}>{this._parsedLabel}</div>\n <div className={classnames(\"core-context-submenu-arrow\", \"icon\")}>\n <Icon iconSpec={<SvgCaretRightSmall />} />\n </div>\n {badgeType && (\n <div className=\"core-context-menu-badge\">\n <Badge type={badgeType} />\n </div>\n )}\n </div>\n <ContextMenu\n ref={(el) => {\n this._menuElement = el;\n }}\n className=\"core-context-submenu-popup\"\n opened={this.state.opened}\n direction={renderDirection}\n parentSubmenu={this}\n {...contextMenuProps}\n >\n {children}\n </ContextMenu>\n </div>\n );\n }\n\n public override componentDidMount() {\n document.addEventListener(\"click\", this._handleClickGlobal);\n this._updateHotkey(this.props.label);\n\n this.checkRenderDirection();\n }\n\n public override componentWillUnmount() {\n document.removeEventListener(\"click\", this._handleClickGlobal);\n }\n\n public override componentDidUpdate(\n prevProps: ContextSubMenuProps,\n prevState: ContextSubMenuState\n ) {\n const direction = this.props.direction!;\n if (\n (this.state.opened !== prevState.opened &&\n direction !== this.state.direction) ||\n prevProps.direction !== direction\n )\n this.checkRenderDirection();\n if (this.props.label !== prevProps.label) {\n this._updateHotkey(this.props.label);\n }\n }\n\n private getWindow() {\n const el = this._subMenuElement;\n const parentDocument = el!.ownerDocument;\n return parentDocument.defaultView;\n }\n\n private checkRenderDirection() {\n const { autoflip } = this.props;\n const parentWindow = this.getWindow();\n let renderDirection = this.state.direction;\n // istanbul ignore else\n if (parentWindow && autoflip && this._menuElement) {\n const menuRect = this._menuElement.getRect();\n renderDirection = ContextMenu.autoFlip(\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 private _updateHotkey = (node: React.ReactNode) => {\n let hotKey: string | undefined;\n const isDisabled = ConditionalBooleanValue.getValue(this.props.disabled);\n const isHidden = ConditionalBooleanValue.getValue(this.props.hidden);\n if (!isDisabled && !isHidden)\n hotKey = TildeFinder.findAfterTilde(node).character;\n else hotKey = undefined;\n if (hotKey && hotKey !== this.state.hotKey) {\n this.setState({ hotKey });\n if (this.props.onHotKeyParsed) this.props.onHotKeyParsed(hotKey);\n }\n };\n\n public select = () => {\n this.setState({ opened: true }, () => {\n // istanbul ignore else\n if (this._menuElement) this._menuElement.focus();\n if (this.props.onSelect !== undefined) this.props.onSelect(undefined);\n });\n };\n\n public close = (propagate?: boolean) => {\n this.setState({ opened: false }, () => {\n // istanbul ignore else\n if (this._menuElement) this._menuElement.blur();\n });\n // istanbul ignore next\n if (\n propagate &&\n this.props.parentMenu &&\n this.props.parentMenu.props.parentSubmenu\n ) {\n this.props.parentMenu.props.parentSubmenu.close(true);\n }\n };\n\n private _handleMouseOver = (_event: React.MouseEvent<HTMLDivElement>) => {\n // istanbul ignore else\n if (\n this._menuButtonElement &&\n this._menuButtonElement.style.visibility !== \"hidden\" &&\n this.props.onHover\n ) {\n this.props.onHover();\n }\n };\n\n private _handleClick = (event: any) => {\n event.stopPropagation();\n\n const isDisabled = ConditionalBooleanValue.getValue(this.props.disabled);\n\n // istanbul ignore else\n if (!isDisabled) {\n // istanbul ignore else\n if (this.props.onClick !== undefined) this.props.onClick(event);\n // istanbul ignore next\n if (this.props.opened) this.close();\n else this.select();\n }\n };\n\n private _handleClickGlobal = (event: any) => {\n if (this._subMenuElement && !this._subMenuElement.contains(event.target))\n this.setState((_prevState) => ({ opened: false }));\n };\n}\n"]}
@@ -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;
@@ -101,6 +104,7 @@ export declare class Dialog extends React.Component<DialogProps> {
101
104
  handleRefSet: (containerDiv: HTMLDivElement | null) => void;
102
105
  render(): React.ReactElement;
103
106
  private getCSSClassNameFromAlignment;
107
+ /** @deprecated in 4.12.x. Use iTwinUI Button instead. */
104
108
  protected getFooterButtons(buttonCluster: DialogButtonDef[] | undefined, primaryStyleType?: ButtonProps["styleType"], noCoreButtonClasses?: boolean): React.ReactNode[] | undefined;
105
109
  private _handleKeyUp;
106
110
  protected _handleContainerPointerDown: (event: React.PointerEvent) => void;
@@ -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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"}
@@ -14,11 +14,11 @@ const ts_key_enum_1 = require("ts-key-enum");
14
14
  const appui_abstract_1 = require("@itwin/appui-abstract");
15
15
  const itwinui_react_1 = require("@itwin/itwinui-react");
16
16
  const DivWithOutsideClick_1 = require("../base/DivWithOutsideClick");
17
- const UiCore_1 = require("../UiCore");
18
17
  require("./Dialog.scss");
19
- // cspell:ignore focustrap
18
+ const useTranslation_1 = require("../l10n/useTranslation");
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
  }
@@ -91,6 +94,7 @@ class Dialog extends React.Component {
91
94
  ...containerStyle,
92
95
  ...minMaxStyle,
93
96
  };
97
+ // eslint-disable-next-line deprecation/deprecation
94
98
  const buttons = this.getFooterButtons(buttonCluster, "high-visibility", true);
95
99
  return (React.createElement(itwinui_react_1.Dialog, { isOpen: opened, onClose: onClose, closeOnExternalClick: false, closeOnEsc: false, style: style, className: (0, classnames_1.default)("core-dialog", className), isDraggable: movable, isResizable: resizable, trapFocus: trapFocus && /* istanbul ignore next */ modal, preventDocumentScroll: true, "data-testid": "core-dialog-root", ...props },
96
100
  modal && React.createElement(itwinui_react_1.Dialog.Backdrop, { style: backgroundStyle }),
@@ -102,85 +106,50 @@ class Dialog extends React.Component {
102
106
  footer ||
103
107
  (buttons && (React.createElement(itwinui_react_1.Dialog.ButtonBar, { style: footerStyle }, buttons)))))));
104
108
  }
109
+ // eslint-disable-next-line deprecation/deprecation
105
110
  getCSSClassNameFromAlignment(alignment) {
106
111
  switch (alignment) {
112
+ // eslint-disable-next-line deprecation/deprecation
107
113
  case DialogAlignment.TopLeft:
108
114
  return "core-align-top-left";
115
+ // eslint-disable-next-line deprecation/deprecation
109
116
  case DialogAlignment.Top:
110
117
  return "core-align-top";
118
+ // eslint-disable-next-line deprecation/deprecation
111
119
  case DialogAlignment.TopRight:
112
120
  return "core-align-top-right";
121
+ // eslint-disable-next-line deprecation/deprecation
113
122
  case DialogAlignment.Left:
114
123
  return "core-align-left";
124
+ // eslint-disable-next-line deprecation/deprecation
115
125
  case DialogAlignment.Center:
116
126
  return "core-align-center";
127
+ // eslint-disable-next-line deprecation/deprecation
117
128
  case DialogAlignment.Right:
118
129
  return "core-align-right";
130
+ // eslint-disable-next-line deprecation/deprecation
119
131
  case DialogAlignment.BottomLeft:
120
132
  return "core-align-bottom-left";
133
+ // eslint-disable-next-line deprecation/deprecation
121
134
  case DialogAlignment.Bottom:
122
135
  return "core-align-bottom";
136
+ // eslint-disable-next-line deprecation/deprecation
123
137
  case DialogAlignment.BottomRight:
124
138
  return "core-align-bottom-right";
125
139
  }
126
140
  }
127
- getFooterButtons(buttonCluster,
128
- /* istanbul ignore next */ primaryStyleType = "cta",
129
- /* istanbul ignore next */ noCoreButtonClasses = false) {
141
+ /** @deprecated in 4.12.x. Use iTwinUI Button instead. */
142
+ getFooterButtons(buttonCluster, primaryStyleType = "cta", noCoreButtonClasses = false) {
130
143
  if (buttonCluster === undefined)
131
144
  return undefined;
132
145
  const buttons = [];
133
146
  buttonCluster.forEach((button, index) => {
134
- let buttonText = "";
135
- // istanbul ignore next
136
- let buttonClass = (0, classnames_1.default)(!noCoreButtonClasses && "core-dialog-button", !noCoreButtonClasses && `dialog-button-${button.type}`, button.className);
137
- let usePrimaryStyleType = false;
138
- switch (button.type) {
139
- case appui_abstract_1.DialogButtonType.OK:
140
- buttonText = UiCore_1.UiCore.translate("dialog.ok");
141
- buttonClass = (0, classnames_1.default)(buttonClass, button.buttonStyle);
142
- usePrimaryStyleType = true;
143
- break;
144
- case appui_abstract_1.DialogButtonType.Retry:
145
- buttonText = UiCore_1.UiCore.translate("dialog.retry");
146
- buttonClass = (0, classnames_1.default)(buttonClass, button.buttonStyle);
147
- usePrimaryStyleType = true;
148
- break;
149
- case appui_abstract_1.DialogButtonType.Yes:
150
- buttonText = UiCore_1.UiCore.translate("dialog.yes");
151
- buttonClass = (0, classnames_1.default)(buttonClass, button.buttonStyle);
152
- usePrimaryStyleType = true;
153
- break;
154
- case appui_abstract_1.DialogButtonType.No:
155
- buttonText = UiCore_1.UiCore.translate("dialog.no");
156
- buttonClass = (0, classnames_1.default)(buttonClass, button.buttonStyle);
157
- break;
158
- case appui_abstract_1.DialogButtonType.Cancel:
159
- buttonText = UiCore_1.UiCore.translate("dialog.cancel");
160
- buttonClass = (0, classnames_1.default)(buttonClass, button.buttonStyle);
161
- break;
162
- case appui_abstract_1.DialogButtonType.Close:
163
- buttonText = UiCore_1.UiCore.translate("dialog.close");
164
- buttonClass = (0, classnames_1.default)(buttonClass, button.buttonStyle);
165
- break;
166
- case appui_abstract_1.DialogButtonType.Next:
167
- buttonText = UiCore_1.UiCore.translate("dialog.next");
168
- buttonClass = (0, classnames_1.default)(buttonClass, button.buttonStyle);
169
- usePrimaryStyleType = true;
170
- break;
171
- case appui_abstract_1.DialogButtonType.Previous:
172
- buttonText = UiCore_1.UiCore.translate("dialog.previous");
173
- buttonClass = (0, classnames_1.default)(buttonClass, button.buttonStyle);
174
- usePrimaryStyleType = true;
175
- break;
176
- }
177
- if (button.label)
178
- buttonText = button.label;
179
- buttons.push(React.createElement(itwinui_react_1.Button, { className: buttonClass, disabled: button.disabled, styleType: usePrimaryStyleType ? primaryStyleType : undefined, key: index.toString(), onClick: button.onClick }, buttonText));
147
+ buttons.push(React.createElement(DialogButton, { key: index.toString(), button: button, primaryStyleType: primaryStyleType, noCoreButtonClasses: noCoreButtonClasses }));
180
148
  });
181
149
  return buttons;
182
150
  }
183
151
  }
152
+ // eslint-disable-next-line deprecation/deprecation
184
153
  Dialog.defaultProps = {
185
154
  maxWidth: "100%",
186
155
  width: "50%",
@@ -192,4 +161,51 @@ Dialog.defaultProps = {
192
161
  trapFocus: false,
193
162
  };
194
163
  exports.Dialog = Dialog;
164
+ function DialogButton({ button, primaryStyleType, noCoreButtonClasses, }) {
165
+ const { translate } = (0, useTranslation_1.useTranslation)();
166
+ let buttonText = "";
167
+ let buttonClass = (0, classnames_1.default)(!noCoreButtonClasses && "core-dialog-button", !noCoreButtonClasses && `dialog-button-${button.type}`, button.className);
168
+ let usePrimaryStyleType = false;
169
+ switch (button.type) {
170
+ case appui_abstract_1.DialogButtonType.OK:
171
+ buttonText = translate("dialog.ok");
172
+ buttonClass = (0, classnames_1.default)(buttonClass, button.buttonStyle);
173
+ usePrimaryStyleType = true;
174
+ break;
175
+ case appui_abstract_1.DialogButtonType.Retry:
176
+ buttonText = translate("dialog.retry");
177
+ buttonClass = (0, classnames_1.default)(buttonClass, button.buttonStyle);
178
+ usePrimaryStyleType = true;
179
+ break;
180
+ case appui_abstract_1.DialogButtonType.Yes:
181
+ buttonText = translate("dialog.yes");
182
+ buttonClass = (0, classnames_1.default)(buttonClass, button.buttonStyle);
183
+ usePrimaryStyleType = true;
184
+ break;
185
+ case appui_abstract_1.DialogButtonType.No:
186
+ buttonText = translate("dialog.no");
187
+ buttonClass = (0, classnames_1.default)(buttonClass, button.buttonStyle);
188
+ break;
189
+ case appui_abstract_1.DialogButtonType.Cancel:
190
+ buttonText = translate("dialog.cancel");
191
+ buttonClass = (0, classnames_1.default)(buttonClass, button.buttonStyle);
192
+ break;
193
+ case appui_abstract_1.DialogButtonType.Close:
194
+ buttonText = translate("dialog.close");
195
+ buttonClass = (0, classnames_1.default)(buttonClass, button.buttonStyle);
196
+ break;
197
+ case appui_abstract_1.DialogButtonType.Next:
198
+ buttonText = translate("dialog.next");
199
+ buttonClass = (0, classnames_1.default)(buttonClass, button.buttonStyle);
200
+ usePrimaryStyleType = true;
201
+ break;
202
+ case appui_abstract_1.DialogButtonType.Previous:
203
+ buttonText = translate("dialog.previous");
204
+ buttonClass = (0, classnames_1.default)(buttonClass, button.buttonStyle);
205
+ usePrimaryStyleType = true;
206
+ break;
207
+ }
208
+ buttonText = button.label || buttonText;
209
+ return (React.createElement(itwinui_react_1.Button, { className: buttonClass, disabled: button.disabled, styleType: usePrimaryStyleType ? primaryStyleType : undefined, onClick: button.onClick }, buttonText));
210
+ }
195
211
  //# sourceMappingURL=Dialog.js.map