@itwin/core-react 4.1.0 → 4.2.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 (860) hide show
  1. package/CHANGELOG.md +1621 -1609
  2. package/ContributeGuidelines.md +99 -99
  3. package/LICENSE.md +9 -9
  4. package/README.md +11 -11
  5. package/lib/cjs/core-react/UiCore.d.ts.map +1 -1
  6. package/lib/cjs/core-react/UiCore.js +9 -5
  7. package/lib/cjs/core-react/UiCore.js.map +1 -1
  8. package/lib/cjs/core-react/_geometry.scss +70 -70
  9. package/lib/cjs/core-react/_helpers.scss +52 -51
  10. package/lib/cjs/core-react/_math.scss +13 -13
  11. package/lib/cjs/core-react/_scrollbar.scss +55 -51
  12. package/lib/cjs/core-react/_typography.scss +44 -44
  13. package/lib/cjs/core-react/_z-index.scss +47 -65
  14. package/lib/cjs/core-react/autosuggest/AutoSuggest.d.ts +1 -1
  15. package/lib/cjs/core-react/autosuggest/AutoSuggest.d.ts.map +1 -1
  16. package/lib/cjs/core-react/autosuggest/AutoSuggest.js +14 -15
  17. package/lib/cjs/core-react/autosuggest/AutoSuggest.js.map +1 -1
  18. package/lib/cjs/core-react/autosuggest/AutoSuggest.scss +79 -79
  19. package/lib/cjs/core-react/badge/Badge.d.ts +1 -1
  20. package/lib/cjs/core-react/badge/Badge.d.ts.map +1 -1
  21. package/lib/cjs/core-react/badge/Badge.js +3 -3
  22. package/lib/cjs/core-react/badge/Badge.js.map +1 -1
  23. package/lib/cjs/core-react/badge/Badge.scss +13 -13
  24. package/lib/cjs/core-react/badge/BadgeUtilities.d.ts.map +1 -1
  25. package/lib/cjs/core-react/badge/BadgeUtilities.js +3 -3
  26. package/lib/cjs/core-react/badge/BadgeUtilities.js.map +1 -1
  27. package/lib/cjs/core-react/badge/BetaBadge.d.ts.map +1 -1
  28. package/lib/cjs/core-react/badge/BetaBadge.js +3 -3
  29. package/lib/cjs/core-react/badge/BetaBadge.js.map +1 -1
  30. package/lib/cjs/core-react/badge/NewBadge.d.ts.map +1 -1
  31. package/lib/cjs/core-react/badge/NewBadge.js +4 -4
  32. package/lib/cjs/core-react/badge/NewBadge.js.map +1 -1
  33. package/lib/cjs/core-react/badge/NewBadge.scss +9 -9
  34. package/lib/cjs/core-react/base/Centered.js +3 -3
  35. package/lib/cjs/core-react/base/Centered.js.map +1 -1
  36. package/lib/cjs/core-react/base/Div.d.ts.map +1 -1
  37. package/lib/cjs/core-react/base/Div.js +3 -3
  38. package/lib/cjs/core-react/base/Div.js.map +1 -1
  39. package/lib/cjs/core-react/base/DivWithOutsideClick.d.ts.map +1 -1
  40. package/lib/cjs/core-react/base/DivWithOutsideClick.js +4 -4
  41. package/lib/cjs/core-react/base/DivWithOutsideClick.js.map +1 -1
  42. package/lib/cjs/core-react/base/FillCentered.js +3 -3
  43. package/lib/cjs/core-react/base/FillCentered.js.map +1 -1
  44. package/lib/cjs/core-react/base/FlexWrapContainer.js +3 -3
  45. package/lib/cjs/core-react/base/FlexWrapContainer.js.map +1 -1
  46. package/lib/cjs/core-react/base/Gap.d.ts.map +1 -1
  47. package/lib/cjs/core-react/base/Gap.js +5 -5
  48. package/lib/cjs/core-react/base/Gap.js.map +1 -1
  49. package/lib/cjs/core-react/base/PointerEvents.js +3 -3
  50. package/lib/cjs/core-react/base/PointerEvents.js.map +1 -1
  51. package/lib/cjs/core-react/base/ScrollView.js +3 -3
  52. package/lib/cjs/core-react/base/ScrollView.js.map +1 -1
  53. package/lib/cjs/core-react/base/base.scss +42 -42
  54. package/lib/cjs/core-react/base/classes.scss +27 -13
  55. package/lib/cjs/core-react/base/index.scss +5 -5
  56. package/lib/cjs/core-react/button/UnderlinedButton.d.ts.map +1 -1
  57. package/lib/cjs/core-react/button/UnderlinedButton.js +3 -3
  58. package/lib/cjs/core-react/button/UnderlinedButton.js.map +1 -1
  59. package/lib/cjs/core-react/button/UnderlinedButton.scss +32 -33
  60. package/lib/cjs/core-react/checklistbox/CheckListBox.d.ts.map +1 -1
  61. package/lib/cjs/core-react/checklistbox/CheckListBox.js +4 -4
  62. package/lib/cjs/core-react/checklistbox/CheckListBox.js.map +1 -1
  63. package/lib/cjs/core-react/checklistbox/CheckListBox.scss +22 -22
  64. package/lib/cjs/core-react/classes.scss +11 -11
  65. package/lib/cjs/core-react/colorthemes.scss +61 -61
  66. package/lib/cjs/core-react/colorvariables.scss +131 -131
  67. package/lib/cjs/core-react/contextmenu/ContextMenu.d.ts +7 -7
  68. package/lib/cjs/core-react/contextmenu/ContextMenu.d.ts.map +1 -1
  69. package/lib/cjs/core-react/contextmenu/ContextMenu.js +43 -25
  70. package/lib/cjs/core-react/contextmenu/ContextMenu.js.map +1 -1
  71. package/lib/cjs/core-react/contextmenu/ContextMenu.scss +236 -236
  72. package/lib/cjs/core-react/contextmenu/ContextMenuDirection.d.ts.map +1 -1
  73. package/lib/cjs/core-react/contextmenu/ContextMenuDirection.js +3 -3
  74. package/lib/cjs/core-react/contextmenu/ContextMenuDirection.js.map +1 -1
  75. package/lib/cjs/core-react/contextmenu/ContextMenuDivider.d.ts +1 -1
  76. package/lib/cjs/core-react/contextmenu/ContextMenuDivider.d.ts.map +1 -1
  77. package/lib/cjs/core-react/contextmenu/ContextMenuDivider.js +3 -3
  78. package/lib/cjs/core-react/contextmenu/ContextMenuDivider.js.map +1 -1
  79. package/lib/cjs/core-react/contextmenu/ContextMenuItem.d.ts +1 -1
  80. package/lib/cjs/core-react/contextmenu/ContextMenuItem.d.ts.map +1 -1
  81. package/lib/cjs/core-react/contextmenu/ContextMenuItem.js +16 -12
  82. package/lib/cjs/core-react/contextmenu/ContextMenuItem.js.map +1 -1
  83. package/lib/cjs/core-react/contextmenu/ContextSubMenu.d.ts +2 -2
  84. package/lib/cjs/core-react/contextmenu/ContextSubMenu.d.ts.map +1 -1
  85. package/lib/cjs/core-react/contextmenu/ContextSubMenu.js +37 -15
  86. package/lib/cjs/core-react/contextmenu/ContextSubMenu.js.map +1 -1
  87. package/lib/cjs/core-react/contextmenu/GlobalContextMenu.d.ts.map +1 -1
  88. package/lib/cjs/core-react/contextmenu/GlobalContextMenu.js +14 -12
  89. package/lib/cjs/core-react/contextmenu/GlobalContextMenu.js.map +1 -1
  90. package/lib/cjs/core-react/contextmenu/PopupContextMenu.d.ts.map +1 -1
  91. package/lib/cjs/core-react/contextmenu/PopupContextMenu.js +3 -3
  92. package/lib/cjs/core-react/contextmenu/PopupContextMenu.js.map +1 -1
  93. package/lib/cjs/core-react/contextmenu/TildeFinder.d.ts.map +1 -1
  94. package/lib/cjs/core-react/contextmenu/TildeFinder.js +15 -7
  95. package/lib/cjs/core-react/contextmenu/TildeFinder.js.map +1 -1
  96. package/lib/cjs/core-react/dialog/Dialog.d.ts +6 -5
  97. package/lib/cjs/core-react/dialog/Dialog.d.ts.map +1 -1
  98. package/lib/cjs/core-react/dialog/Dialog.js +95 -88
  99. package/lib/cjs/core-react/dialog/Dialog.js.map +1 -1
  100. package/lib/cjs/core-react/dialog/Dialog.scss +245 -245
  101. package/lib/cjs/core-react/dialog/GlobalDialog.d.ts.map +1 -1
  102. package/lib/cjs/core-react/dialog/GlobalDialog.js +11 -8
  103. package/lib/cjs/core-react/dialog/GlobalDialog.js.map +1 -1
  104. package/lib/cjs/core-react/dialog/SimpleDialog.d.ts +68 -0
  105. package/lib/cjs/core-react/dialog/SimpleDialog.d.ts.map +1 -0
  106. package/lib/cjs/core-react/dialog/SimpleDialog.js +51 -0
  107. package/lib/cjs/core-react/dialog/SimpleDialog.js.map +1 -0
  108. package/lib/cjs/core-react/elementseparator/ElementSeparator.d.ts.map +1 -1
  109. package/lib/cjs/core-react/elementseparator/ElementSeparator.js +16 -10
  110. package/lib/cjs/core-react/elementseparator/ElementSeparator.js.map +1 -1
  111. package/lib/cjs/core-react/elementseparator/ElementSeparator.scss +94 -85
  112. package/lib/cjs/core-react/enums/Alignment.js +3 -3
  113. package/lib/cjs/core-react/enums/Alignment.js.map +1 -1
  114. package/lib/cjs/core-react/enums/CheckBoxState.js +3 -3
  115. package/lib/cjs/core-react/enums/CheckBoxState.js.map +1 -1
  116. package/lib/cjs/core-react/enums/Orientation.js +3 -3
  117. package/lib/cjs/core-react/enums/Orientation.js.map +1 -1
  118. package/lib/cjs/core-react/enums/SortDirection.js +3 -3
  119. package/lib/cjs/core-react/enums/SortDirection.js.map +1 -1
  120. package/lib/cjs/core-react/enums/TimeFormat.js +3 -3
  121. package/lib/cjs/core-react/enums/TimeFormat.js.map +1 -1
  122. package/lib/cjs/core-react/expandable/ExpandableList.d.ts +1 -1
  123. package/lib/cjs/core-react/expandable/ExpandableList.d.ts.map +1 -1
  124. package/lib/cjs/core-react/expandable/ExpandableList.js +8 -5
  125. package/lib/cjs/core-react/expandable/ExpandableList.js.map +1 -1
  126. package/lib/cjs/core-react/expandable/ExpandableList.scss +9 -9
  127. package/lib/cjs/core-react/expandable/classes.scss +9 -7
  128. package/lib/cjs/core-react/expandable/index.scss +5 -5
  129. package/lib/cjs/core-react/expandable/list.scss +35 -35
  130. package/lib/cjs/core-react/focus/ItemKeyboardNavigator.d.ts.map +1 -1
  131. package/lib/cjs/core-react/focus/ItemKeyboardNavigator.js +38 -15
  132. package/lib/cjs/core-react/focus/ItemKeyboardNavigator.js.map +1 -1
  133. package/lib/cjs/core-react/focustrap/FocusTrap.d.ts.map +1 -1
  134. package/lib/cjs/core-react/focustrap/FocusTrap.js +33 -16
  135. package/lib/cjs/core-react/focustrap/FocusTrap.js.map +1 -1
  136. package/lib/cjs/core-react/hocs/withIsPressed.d.ts.map +1 -1
  137. package/lib/cjs/core-react/hocs/withIsPressed.js +4 -7
  138. package/lib/cjs/core-react/hocs/withIsPressed.js.map +1 -1
  139. package/lib/cjs/core-react/hocs/withOnOutsideClick.d.ts.map +1 -1
  140. package/lib/cjs/core-react/hocs/withOnOutsideClick.js +17 -13
  141. package/lib/cjs/core-react/hocs/withOnOutsideClick.js.map +1 -1
  142. package/lib/cjs/core-react/hocs/withTimeout.d.ts.map +1 -1
  143. package/lib/cjs/core-react/hocs/withTimeout.js +6 -8
  144. package/lib/cjs/core-react/hocs/withTimeout.js.map +1 -1
  145. package/lib/cjs/core-react/icons/ConditionalIconItem.d.ts +5 -1
  146. package/lib/cjs/core-react/icons/ConditionalIconItem.d.ts.map +1 -1
  147. package/lib/cjs/core-react/icons/ConditionalIconItem.js +26 -9
  148. package/lib/cjs/core-react/icons/ConditionalIconItem.js.map +1 -1
  149. package/lib/cjs/core-react/icons/IconComponent.d.ts +1 -1
  150. package/lib/cjs/core-react/icons/IconComponent.d.ts.map +1 -1
  151. package/lib/cjs/core-react/icons/IconComponent.js +21 -11
  152. package/lib/cjs/core-react/icons/IconComponent.js.map +1 -1
  153. package/lib/cjs/core-react/icons/IconComponent.scss +19 -20
  154. package/lib/cjs/core-react/icons/SvgPath.d.ts.map +1 -1
  155. package/lib/cjs/core-react/icons/SvgPath.js +4 -4
  156. package/lib/cjs/core-react/icons/SvgPath.js.map +1 -1
  157. package/lib/cjs/core-react/icons/SvgPath.scss +15 -15
  158. package/lib/cjs/core-react/icons/WebFontIcon.js +3 -3
  159. package/lib/cjs/core-react/icons/WebFontIcon.js.map +1 -1
  160. package/lib/cjs/core-react/icons/WebFontIcon.scss +17 -17
  161. package/lib/cjs/core-react/icons/classes.scss +18 -10
  162. package/lib/cjs/core-react/icons/index.scss +6 -6
  163. package/lib/cjs/core-react/icons/mixins.scss +25 -25
  164. package/lib/cjs/core-react/icons/variables.scss +12 -12
  165. package/lib/cjs/core-react/imagecheckbox/ImageCheckBox.d.ts.map +1 -1
  166. package/lib/cjs/core-react/imagecheckbox/ImageCheckBox.js +6 -4
  167. package/lib/cjs/core-react/imagecheckbox/ImageCheckBox.js.map +1 -1
  168. package/lib/cjs/core-react/imagecheckbox/ImageCheckBox.scss +54 -54
  169. package/lib/cjs/core-react/index.scss +21 -21
  170. package/lib/cjs/core-react/inputs/Input.d.ts +1 -1
  171. package/lib/cjs/core-react/inputs/Input.d.ts.map +1 -1
  172. package/lib/cjs/core-react/inputs/Input.js +6 -7
  173. package/lib/cjs/core-react/inputs/Input.js.map +1 -1
  174. package/lib/cjs/core-react/inputs/InputLabel.d.ts +1 -1
  175. package/lib/cjs/core-react/inputs/InputLabel.d.ts.map +1 -1
  176. package/lib/cjs/core-react/inputs/InputLabel.js +10 -13
  177. package/lib/cjs/core-react/inputs/InputLabel.js.map +1 -1
  178. package/lib/cjs/core-react/inputs/InputStatus.js +3 -3
  179. package/lib/cjs/core-react/inputs/InputStatus.js.map +1 -1
  180. package/lib/cjs/core-react/inputs/LabeledComponentProps.js +3 -3
  181. package/lib/cjs/core-react/inputs/LabeledComponentProps.js.map +1 -1
  182. package/lib/cjs/core-react/inputs/classes.scss +12 -8
  183. package/lib/cjs/core-react/inputs/iconinput/IconInput.d.ts +1 -1
  184. package/lib/cjs/core-react/inputs/iconinput/IconInput.d.ts.map +1 -1
  185. package/lib/cjs/core-react/inputs/iconinput/IconInput.js +3 -4
  186. package/lib/cjs/core-react/inputs/iconinput/IconInput.js.map +1 -1
  187. package/lib/cjs/core-react/inputs/iconinput/IconInput.scss +34 -35
  188. package/lib/cjs/core-react/inputs/index.scss +9 -9
  189. package/lib/cjs/core-react/inputs/input-label.scss +90 -90
  190. package/lib/cjs/core-react/inputs/input.scss +58 -58
  191. package/lib/cjs/core-react/inputs/numberinput/NumberInput.d.ts +2 -2
  192. package/lib/cjs/core-react/inputs/numberinput/NumberInput.d.ts.map +1 -1
  193. package/lib/cjs/core-react/inputs/numberinput/NumberInput.js +25 -16
  194. package/lib/cjs/core-react/inputs/numberinput/NumberInput.js.map +1 -1
  195. package/lib/cjs/core-react/inputs/numberinput/NumberInput.scss +88 -88
  196. package/lib/cjs/core-react/inputs/variables.scss +38 -38
  197. package/lib/cjs/core-react/layout-variables.scss +15 -17
  198. package/lib/cjs/core-react/listbox/Listbox.d.ts +2 -2
  199. package/lib/cjs/core-react/listbox/Listbox.d.ts.map +1 -1
  200. package/lib/cjs/core-react/listbox/Listbox.js +20 -14
  201. package/lib/cjs/core-react/listbox/Listbox.js.map +1 -1
  202. package/lib/cjs/core-react/listbox/Listbox.scss +54 -54
  203. package/lib/cjs/core-react/loading/LoadingBar.d.ts.map +1 -1
  204. package/lib/cjs/core-react/loading/LoadingBar.js +4 -4
  205. package/lib/cjs/core-react/loading/LoadingBar.js.map +1 -1
  206. package/lib/cjs/core-react/loading/LoadingBar.scss +29 -29
  207. package/lib/cjs/core-react/loading/LoadingPrompt.d.ts.map +1 -1
  208. package/lib/cjs/core-react/loading/LoadingPrompt.js +9 -9
  209. package/lib/cjs/core-react/loading/LoadingPrompt.js.map +1 -1
  210. package/lib/cjs/core-react/loading/LoadingPrompt.scss +33 -33
  211. package/lib/cjs/core-react/loading/LoadingSpinner.d.ts +3 -3
  212. package/lib/cjs/core-react/loading/LoadingSpinner.d.ts.map +1 -1
  213. package/lib/cjs/core-react/loading/LoadingSpinner.js +5 -5
  214. package/lib/cjs/core-react/loading/LoadingSpinner.js.map +1 -1
  215. package/lib/cjs/core-react/loading/LoadingSpinner.scss +26 -26
  216. package/lib/cjs/core-react/loading/LoadingStatus.d.ts.map +1 -1
  217. package/lib/cjs/core-react/loading/LoadingStatus.js +3 -3
  218. package/lib/cjs/core-react/loading/LoadingStatus.js.map +1 -1
  219. package/lib/cjs/core-react/loading/LoadingStatus.scss +20 -20
  220. package/lib/cjs/core-react/loading/index.scss +5 -5
  221. package/lib/cjs/core-react/loading/mixins.scss +57 -57
  222. package/lib/cjs/core-react/messagebox/MessageBox.d.ts +3 -3
  223. package/lib/cjs/core-react/messagebox/MessageBox.d.ts.map +1 -1
  224. package/lib/cjs/core-react/messagebox/MessageBox.js +5 -5
  225. package/lib/cjs/core-react/messagebox/MessageBox.js.map +1 -1
  226. package/lib/cjs/core-react/messagebox/MessageBox.scss +56 -56
  227. package/lib/cjs/core-react/notification/MessageRenderer.d.ts.map +1 -1
  228. package/lib/cjs/core-react/notification/MessageRenderer.js +19 -13
  229. package/lib/cjs/core-react/notification/MessageRenderer.js.map +1 -1
  230. package/lib/cjs/core-react/notification/MessageType.d.ts.map +1 -1
  231. package/lib/cjs/core-react/notification/MessageType.js +3 -3
  232. package/lib/cjs/core-react/notification/MessageType.js.map +1 -1
  233. package/lib/cjs/core-react/popup/Popup.d.ts.map +1 -1
  234. package/lib/cjs/core-react/popup/Popup.js +50 -31
  235. package/lib/cjs/core-react/popup/Popup.js.map +1 -1
  236. package/lib/cjs/core-react/popup/Popup.scss +240 -240
  237. package/lib/cjs/core-react/radialmenu/Annulus.d.ts.map +1 -1
  238. package/lib/cjs/core-react/radialmenu/Annulus.js +4 -4
  239. package/lib/cjs/core-react/radialmenu/Annulus.js.map +1 -1
  240. package/lib/cjs/core-react/radialmenu/RadialMenu.d.ts +2 -2
  241. package/lib/cjs/core-react/radialmenu/RadialMenu.d.ts.map +1 -1
  242. package/lib/cjs/core-react/radialmenu/RadialMenu.js +26 -11
  243. package/lib/cjs/core-react/radialmenu/RadialMenu.js.map +1 -1
  244. package/lib/cjs/core-react/radialmenu/RadialMenu.scss +55 -55
  245. package/lib/cjs/core-react/searchbox/SearchBox.d.ts.map +1 -1
  246. package/lib/cjs/core-react/searchbox/SearchBox.js +17 -7
  247. package/lib/cjs/core-react/searchbox/SearchBox.js.map +1 -1
  248. package/lib/cjs/core-react/searchbox/SearchBox.scss +47 -47
  249. package/lib/cjs/core-react/settings/SettingsContainer.d.ts +1 -1
  250. package/lib/cjs/core-react/settings/SettingsContainer.d.ts.map +1 -1
  251. package/lib/cjs/core-react/settings/SettingsContainer.js +54 -19
  252. package/lib/cjs/core-react/settings/SettingsContainer.js.map +1 -1
  253. package/lib/cjs/core-react/settings/SettingsContainer.scss +68 -68
  254. package/lib/cjs/core-react/settings/SettingsManager.d.ts +3 -3
  255. package/lib/cjs/core-react/settings/SettingsManager.d.ts.map +1 -1
  256. package/lib/cjs/core-react/settings/SettingsManager.js +7 -8
  257. package/lib/cjs/core-react/settings/SettingsManager.js.map +1 -1
  258. package/lib/cjs/core-react/style/baseline.scss +11 -11
  259. package/lib/cjs/core-react/style/breakpoints.scss +59 -41
  260. package/lib/cjs/core-react/style/colors.scss +77 -77
  261. package/lib/cjs/core-react/style/index.scss +10 -10
  262. package/lib/cjs/core-react/style/mixins.scss +23 -27
  263. package/lib/cjs/core-react/style/opacity.scss +16 -16
  264. package/lib/cjs/core-react/style/themecolors.scss +133 -123
  265. package/lib/cjs/core-react/tabs/Tabs.d.ts +4 -4
  266. package/lib/cjs/core-react/tabs/Tabs.d.ts.map +1 -1
  267. package/lib/cjs/core-react/tabs/Tabs.js +13 -11
  268. package/lib/cjs/core-react/tabs/Tabs.js.map +1 -1
  269. package/lib/cjs/core-react/tabs/VerticalTabs.d.ts.map +1 -1
  270. package/lib/cjs/core-react/tabs/VerticalTabs.js +3 -3
  271. package/lib/cjs/core-react/tabs/VerticalTabs.js.map +1 -1
  272. package/lib/cjs/core-react/tabs/classes.scss +9 -7
  273. package/lib/cjs/core-react/tabs/index.scss +5 -5
  274. package/lib/cjs/core-react/tabs/tabs.scss +96 -96
  275. package/lib/cjs/core-react/tabs/vertical.scss +51 -51
  276. package/lib/cjs/core-react/text/BlockText.js +4 -4
  277. package/lib/cjs/core-react/text/BlockText.js.map +1 -1
  278. package/lib/cjs/core-react/text/BodyText.js +4 -4
  279. package/lib/cjs/core-react/text/BodyText.js.map +1 -1
  280. package/lib/cjs/core-react/text/DisabledText.js +4 -4
  281. package/lib/cjs/core-react/text/DisabledText.js.map +1 -1
  282. package/lib/cjs/core-react/text/FilteredText.d.ts.map +1 -1
  283. package/lib/cjs/core-react/text/FilteredText.js +5 -5
  284. package/lib/cjs/core-react/text/FilteredText.js.map +1 -1
  285. package/lib/cjs/core-react/text/FilteredText.scss +10 -10
  286. package/lib/cjs/core-react/text/MutedText.js +4 -4
  287. package/lib/cjs/core-react/text/MutedText.js.map +1 -1
  288. package/lib/cjs/core-react/text/StyledText.js +3 -3
  289. package/lib/cjs/core-react/text/StyledText.js.map +1 -1
  290. package/lib/cjs/core-react/text/TextProps.d.ts.map +1 -1
  291. package/lib/cjs/core-react/text/TextProps.js +3 -3
  292. package/lib/cjs/core-react/text/TextProps.js.map +1 -1
  293. package/lib/cjs/core-react/text/block.scss +15 -15
  294. package/lib/cjs/core-react/text/body.scss +13 -13
  295. package/lib/cjs/core-react/text/classes.scss +18 -10
  296. package/lib/cjs/core-react/text/disabled.scss +9 -10
  297. package/lib/cjs/core-react/text/index.scss +10 -10
  298. package/lib/cjs/core-react/text/mixins.scss +24 -24
  299. package/lib/cjs/core-react/text/muted.scss +9 -10
  300. package/lib/cjs/core-react/tree/Branch.d.ts.map +1 -1
  301. package/lib/cjs/core-react/tree/Branch.js +3 -3
  302. package/lib/cjs/core-react/tree/Branch.js.map +1 -1
  303. package/lib/cjs/core-react/tree/Branch.scss +13 -13
  304. package/lib/cjs/core-react/tree/ExpansionToggle.d.ts.map +1 -1
  305. package/lib/cjs/core-react/tree/ExpansionToggle.js +3 -3
  306. package/lib/cjs/core-react/tree/ExpansionToggle.js.map +1 -1
  307. package/lib/cjs/core-react/tree/ExpansionToggle.scss +32 -32
  308. package/lib/cjs/core-react/tree/Node.d.ts.map +1 -1
  309. package/lib/cjs/core-react/tree/Node.js +12 -10
  310. package/lib/cjs/core-react/tree/Node.js.map +1 -1
  311. package/lib/cjs/core-react/tree/Node.scss +68 -68
  312. package/lib/cjs/core-react/tree/Placeholder.js +5 -5
  313. package/lib/cjs/core-react/tree/Placeholder.js.map +1 -1
  314. package/lib/cjs/core-react/tree/Placeholder.scss +17 -17
  315. package/lib/cjs/core-react/tree/Tree.d.ts.map +1 -1
  316. package/lib/cjs/core-react/tree/Tree.js +20 -11
  317. package/lib/cjs/core-react/tree/Tree.js.map +1 -1
  318. package/lib/cjs/core-react/tree/Tree.scss +21 -21
  319. package/lib/cjs/core-react/uistate/LocalStateStorage.d.ts.map +1 -1
  320. package/lib/cjs/core-react/uistate/LocalStateStorage.js +7 -4
  321. package/lib/cjs/core-react/uistate/LocalStateStorage.js.map +1 -1
  322. package/lib/cjs/core-react/uistate/UiStateEntry.d.ts.map +1 -1
  323. package/lib/cjs/core-react/uistate/UiStateEntry.js +3 -3
  324. package/lib/cjs/core-react/uistate/UiStateEntry.js.map +1 -1
  325. package/lib/cjs/core-react/uistate/UiStateStorage.d.ts.map +1 -1
  326. package/lib/cjs/core-react/uistate/UiStateStorage.js +3 -3
  327. package/lib/cjs/core-react/uistate/UiStateStorage.js.map +1 -1
  328. package/lib/cjs/core-react/utils/IconHelper.d.ts +3 -1
  329. package/lib/cjs/core-react/utils/IconHelper.d.ts.map +1 -1
  330. package/lib/cjs/core-react/utils/IconHelper.js +35 -6
  331. package/lib/cjs/core-react/utils/IconHelper.js.map +1 -1
  332. package/lib/cjs/core-react/utils/IconWebComponent.d.ts.map +1 -1
  333. package/lib/cjs/core-react/utils/IconWebComponent.js +71 -41
  334. package/lib/cjs/core-react/utils/IconWebComponent.js.map +1 -1
  335. package/lib/cjs/core-react/utils/Point.d.ts.map +1 -1
  336. package/lib/cjs/core-react/utils/Point.js +3 -3
  337. package/lib/cjs/core-react/utils/Point.js.map +1 -1
  338. package/lib/cjs/core-react/utils/Props.d.ts.map +1 -1
  339. package/lib/cjs/core-react/utils/Props.js +3 -3
  340. package/lib/cjs/core-react/utils/Props.js.map +1 -1
  341. package/lib/cjs/core-react/utils/Rectangle.d.ts.map +1 -1
  342. package/lib/cjs/core-react/utils/Rectangle.js +15 -7
  343. package/lib/cjs/core-react/utils/Rectangle.js.map +1 -1
  344. package/lib/cjs/core-react/utils/ScrollPositionMaintainer.d.ts.map +1 -1
  345. package/lib/cjs/core-react/utils/ScrollPositionMaintainer.js +4 -2
  346. package/lib/cjs/core-react/utils/ScrollPositionMaintainer.js.map +1 -1
  347. package/lib/cjs/core-react/utils/Size.d.ts.map +1 -1
  348. package/lib/cjs/core-react/utils/Size.js +4 -5
  349. package/lib/cjs/core-react/utils/Size.js.map +1 -1
  350. package/lib/cjs/core-react/utils/Timer.d.ts.map +1 -1
  351. package/lib/cjs/core-react/utils/Timer.js +3 -3
  352. package/lib/cjs/core-react/utils/Timer.js.map +1 -1
  353. package/lib/cjs/core-react/utils/UiGeometry.d.ts.map +1 -1
  354. package/lib/cjs/core-react/utils/UiGeometry.js +9 -5
  355. package/lib/cjs/core-react/utils/UiGeometry.js.map +1 -1
  356. package/lib/cjs/core-react/utils/flattenChildren.js +3 -3
  357. package/lib/cjs/core-react/utils/flattenChildren.js.map +1 -1
  358. package/lib/cjs/core-react/utils/getBestBWContrastColor.js +5 -5
  359. package/lib/cjs/core-react/utils/getBestBWContrastColor.js.map +1 -1
  360. package/lib/cjs/core-react/utils/getCssVariable.d.ts.map +1 -1
  361. package/lib/cjs/core-react/utils/getCssVariable.js +4 -4
  362. package/lib/cjs/core-react/utils/getCssVariable.js.map +1 -1
  363. package/lib/cjs/core-react/utils/getDisplayName.d.ts.map +1 -1
  364. package/lib/cjs/core-react/utils/getDisplayName.js +3 -3
  365. package/lib/cjs/core-react/utils/getDisplayName.js.map +1 -1
  366. package/lib/cjs/core-react/utils/getUserColor.d.ts.map +1 -1
  367. package/lib/cjs/core-react/utils/getUserColor.js +5 -4
  368. package/lib/cjs/core-react/utils/getUserColor.js.map +1 -1
  369. package/lib/cjs/core-react/utils/hooks/ResizeObserverPolyfill.d.ts.map +1 -1
  370. package/lib/cjs/core-react/utils/hooks/ResizeObserverPolyfill.js +4 -4
  371. package/lib/cjs/core-react/utils/hooks/ResizeObserverPolyfill.js.map +1 -1
  372. package/lib/cjs/core-react/utils/hooks/useCrossOriginPopup.d.ts.map +1 -1
  373. package/lib/cjs/core-react/utils/hooks/useCrossOriginPopup.js +22 -11
  374. package/lib/cjs/core-react/utils/hooks/useCrossOriginPopup.js.map +1 -1
  375. package/lib/cjs/core-react/utils/hooks/useDisposable.d.ts.map +1 -1
  376. package/lib/cjs/core-react/utils/hooks/useDisposable.js +3 -3
  377. package/lib/cjs/core-react/utils/hooks/useDisposable.js.map +1 -1
  378. package/lib/cjs/core-react/utils/hooks/useEffectSkipFirst.d.ts.map +1 -1
  379. package/lib/cjs/core-react/utils/hooks/useEffectSkipFirst.js +3 -3
  380. package/lib/cjs/core-react/utils/hooks/useEffectSkipFirst.js.map +1 -1
  381. package/lib/cjs/core-react/utils/hooks/useEventListener.d.ts.map +1 -1
  382. package/lib/cjs/core-react/utils/hooks/useEventListener.js +3 -3
  383. package/lib/cjs/core-react/utils/hooks/useEventListener.js.map +1 -1
  384. package/lib/cjs/core-react/utils/hooks/useInterval.d.ts.map +1 -1
  385. package/lib/cjs/core-react/utils/hooks/useInterval.js +6 -4
  386. package/lib/cjs/core-react/utils/hooks/useInterval.js.map +1 -1
  387. package/lib/cjs/core-react/utils/hooks/useLifecycleLogging.d.ts.map +1 -1
  388. package/lib/cjs/core-react/utils/hooks/useLifecycleLogging.js +7 -4
  389. package/lib/cjs/core-react/utils/hooks/useLifecycleLogging.js.map +1 -1
  390. package/lib/cjs/core-react/utils/hooks/useOnOutsideClick.d.ts.map +1 -1
  391. package/lib/cjs/core-react/utils/hooks/useOnOutsideClick.js +15 -6
  392. package/lib/cjs/core-react/utils/hooks/useOnOutsideClick.js.map +1 -1
  393. package/lib/cjs/core-react/utils/hooks/useProximityToMouse.js +3 -3
  394. package/lib/cjs/core-react/utils/hooks/useProximityToMouse.js.map +1 -1
  395. package/lib/cjs/core-react/utils/hooks/useRefEffect.d.ts +1 -1
  396. package/lib/cjs/core-react/utils/hooks/useRefEffect.d.ts.map +1 -1
  397. package/lib/cjs/core-react/utils/hooks/useRefEffect.js +3 -3
  398. package/lib/cjs/core-react/utils/hooks/useRefEffect.js.map +1 -1
  399. package/lib/cjs/core-react/utils/hooks/useRefState.js +3 -3
  400. package/lib/cjs/core-react/utils/hooks/useRefState.js.map +1 -1
  401. package/lib/cjs/core-react/utils/hooks/useRefs.d.ts.map +1 -1
  402. package/lib/cjs/core-react/utils/hooks/useRefs.js +8 -6
  403. package/lib/cjs/core-react/utils/hooks/useRefs.js.map +1 -1
  404. package/lib/cjs/core-react/utils/hooks/useResizeObserver.d.ts +8 -8
  405. package/lib/cjs/core-react/utils/hooks/useResizeObserver.d.ts.map +1 -1
  406. package/lib/cjs/core-react/utils/hooks/useResizeObserver.js +43 -32
  407. package/lib/cjs/core-react/utils/hooks/useResizeObserver.js.map +1 -1
  408. package/lib/cjs/core-react/utils/hooks/useTargeted.d.ts.map +1 -1
  409. package/lib/cjs/core-react/utils/hooks/useTargeted.js +7 -4
  410. package/lib/cjs/core-react/utils/hooks/useTargeted.js.map +1 -1
  411. package/lib/cjs/core-react/utils/hooks/useThrottledFn.js +3 -3
  412. package/lib/cjs/core-react/utils/hooks/useThrottledFn.js.map +1 -1
  413. package/lib/cjs/core-react/utils/hooks/useWidgetOpacityContext.d.ts.map +1 -1
  414. package/lib/cjs/core-react/utils/hooks/useWidgetOpacityContext.js +3 -4
  415. package/lib/cjs/core-react/utils/hooks/useWidgetOpacityContext.js.map +1 -1
  416. package/lib/cjs/core-react/utils/isPromiseLike.d.ts.map +1 -1
  417. package/lib/cjs/core-react/utils/isPromiseLike.js +6 -4
  418. package/lib/cjs/core-react/utils/isPromiseLike.js.map +1 -1
  419. package/lib/cjs/core-react/utils/reuseOrCreatePromise.d.ts +14 -0
  420. package/lib/cjs/core-react/utils/reuseOrCreatePromise.d.ts.map +1 -0
  421. package/lib/cjs/core-react/utils/reuseOrCreatePromise.js +33 -0
  422. package/lib/cjs/core-react/utils/reuseOrCreatePromise.js.map +1 -0
  423. package/lib/cjs/core-react/utils/shallowDiffers.d.ts.map +1 -1
  424. package/lib/cjs/core-react/utils/shallowDiffers.js +3 -3
  425. package/lib/cjs/core-react/utils/shallowDiffers.js.map +1 -1
  426. package/lib/cjs/core-react/utils/typeUtils.js +3 -3
  427. package/lib/cjs/core-react/utils/typeUtils.js.map +1 -1
  428. package/lib/cjs/core-react.d.ts +3 -3
  429. package/lib/cjs/core-react.d.ts.map +1 -1
  430. package/lib/cjs/core-react.js +3 -3
  431. package/lib/cjs/core-react.js.map +1 -1
  432. package/lib/esm/core-react/UiCore.d.ts.map +1 -1
  433. package/lib/esm/core-react/UiCore.js +9 -5
  434. package/lib/esm/core-react/UiCore.js.map +1 -1
  435. package/lib/esm/core-react/_geometry.scss +70 -70
  436. package/lib/esm/core-react/_helpers.scss +52 -51
  437. package/lib/esm/core-react/_math.scss +13 -13
  438. package/lib/esm/core-react/_scrollbar.scss +55 -51
  439. package/lib/esm/core-react/_typography.scss +44 -44
  440. package/lib/esm/core-react/_z-index.scss +47 -65
  441. package/lib/esm/core-react/autosuggest/AutoSuggest.d.ts +1 -1
  442. package/lib/esm/core-react/autosuggest/AutoSuggest.d.ts.map +1 -1
  443. package/lib/esm/core-react/autosuggest/AutoSuggest.js +14 -15
  444. package/lib/esm/core-react/autosuggest/AutoSuggest.js.map +1 -1
  445. package/lib/esm/core-react/autosuggest/AutoSuggest.scss +79 -79
  446. package/lib/esm/core-react/badge/Badge.d.ts +1 -1
  447. package/lib/esm/core-react/badge/Badge.d.ts.map +1 -1
  448. package/lib/esm/core-react/badge/Badge.js +3 -3
  449. package/lib/esm/core-react/badge/Badge.js.map +1 -1
  450. package/lib/esm/core-react/badge/Badge.scss +13 -13
  451. package/lib/esm/core-react/badge/BadgeUtilities.d.ts.map +1 -1
  452. package/lib/esm/core-react/badge/BadgeUtilities.js +3 -3
  453. package/lib/esm/core-react/badge/BadgeUtilities.js.map +1 -1
  454. package/lib/esm/core-react/badge/BetaBadge.d.ts.map +1 -1
  455. package/lib/esm/core-react/badge/BetaBadge.js +3 -3
  456. package/lib/esm/core-react/badge/BetaBadge.js.map +1 -1
  457. package/lib/esm/core-react/badge/NewBadge.d.ts.map +1 -1
  458. package/lib/esm/core-react/badge/NewBadge.js +4 -4
  459. package/lib/esm/core-react/badge/NewBadge.js.map +1 -1
  460. package/lib/esm/core-react/badge/NewBadge.scss +9 -9
  461. package/lib/esm/core-react/base/Centered.js +3 -3
  462. package/lib/esm/core-react/base/Centered.js.map +1 -1
  463. package/lib/esm/core-react/base/Div.d.ts.map +1 -1
  464. package/lib/esm/core-react/base/Div.js +3 -3
  465. package/lib/esm/core-react/base/Div.js.map +1 -1
  466. package/lib/esm/core-react/base/DivWithOutsideClick.d.ts.map +1 -1
  467. package/lib/esm/core-react/base/DivWithOutsideClick.js +4 -4
  468. package/lib/esm/core-react/base/DivWithOutsideClick.js.map +1 -1
  469. package/lib/esm/core-react/base/FillCentered.js +3 -3
  470. package/lib/esm/core-react/base/FillCentered.js.map +1 -1
  471. package/lib/esm/core-react/base/FlexWrapContainer.js +3 -3
  472. package/lib/esm/core-react/base/FlexWrapContainer.js.map +1 -1
  473. package/lib/esm/core-react/base/Gap.d.ts.map +1 -1
  474. package/lib/esm/core-react/base/Gap.js +5 -5
  475. package/lib/esm/core-react/base/Gap.js.map +1 -1
  476. package/lib/esm/core-react/base/PointerEvents.js +3 -3
  477. package/lib/esm/core-react/base/PointerEvents.js.map +1 -1
  478. package/lib/esm/core-react/base/ScrollView.js +3 -3
  479. package/lib/esm/core-react/base/ScrollView.js.map +1 -1
  480. package/lib/esm/core-react/base/base.scss +42 -42
  481. package/lib/esm/core-react/base/classes.scss +27 -13
  482. package/lib/esm/core-react/base/index.scss +5 -5
  483. package/lib/esm/core-react/button/UnderlinedButton.d.ts.map +1 -1
  484. package/lib/esm/core-react/button/UnderlinedButton.js +3 -3
  485. package/lib/esm/core-react/button/UnderlinedButton.js.map +1 -1
  486. package/lib/esm/core-react/button/UnderlinedButton.scss +32 -33
  487. package/lib/esm/core-react/checklistbox/CheckListBox.d.ts.map +1 -1
  488. package/lib/esm/core-react/checklistbox/CheckListBox.js +4 -4
  489. package/lib/esm/core-react/checklistbox/CheckListBox.js.map +1 -1
  490. package/lib/esm/core-react/checklistbox/CheckListBox.scss +22 -22
  491. package/lib/esm/core-react/classes.scss +11 -11
  492. package/lib/esm/core-react/colorthemes.scss +61 -61
  493. package/lib/esm/core-react/colorvariables.scss +131 -131
  494. package/lib/esm/core-react/contextmenu/ContextMenu.d.ts +7 -7
  495. package/lib/esm/core-react/contextmenu/ContextMenu.d.ts.map +1 -1
  496. package/lib/esm/core-react/contextmenu/ContextMenu.js +43 -25
  497. package/lib/esm/core-react/contextmenu/ContextMenu.js.map +1 -1
  498. package/lib/esm/core-react/contextmenu/ContextMenu.scss +236 -236
  499. package/lib/esm/core-react/contextmenu/ContextMenuDirection.d.ts.map +1 -1
  500. package/lib/esm/core-react/contextmenu/ContextMenuDirection.js +3 -3
  501. package/lib/esm/core-react/contextmenu/ContextMenuDirection.js.map +1 -1
  502. package/lib/esm/core-react/contextmenu/ContextMenuDivider.d.ts +1 -1
  503. package/lib/esm/core-react/contextmenu/ContextMenuDivider.d.ts.map +1 -1
  504. package/lib/esm/core-react/contextmenu/ContextMenuDivider.js +3 -3
  505. package/lib/esm/core-react/contextmenu/ContextMenuDivider.js.map +1 -1
  506. package/lib/esm/core-react/contextmenu/ContextMenuItem.d.ts +1 -1
  507. package/lib/esm/core-react/contextmenu/ContextMenuItem.d.ts.map +1 -1
  508. package/lib/esm/core-react/contextmenu/ContextMenuItem.js +16 -12
  509. package/lib/esm/core-react/contextmenu/ContextMenuItem.js.map +1 -1
  510. package/lib/esm/core-react/contextmenu/ContextSubMenu.d.ts +2 -2
  511. package/lib/esm/core-react/contextmenu/ContextSubMenu.d.ts.map +1 -1
  512. package/lib/esm/core-react/contextmenu/ContextSubMenu.js +37 -15
  513. package/lib/esm/core-react/contextmenu/ContextSubMenu.js.map +1 -1
  514. package/lib/esm/core-react/contextmenu/GlobalContextMenu.d.ts.map +1 -1
  515. package/lib/esm/core-react/contextmenu/GlobalContextMenu.js +14 -12
  516. package/lib/esm/core-react/contextmenu/GlobalContextMenu.js.map +1 -1
  517. package/lib/esm/core-react/contextmenu/PopupContextMenu.d.ts.map +1 -1
  518. package/lib/esm/core-react/contextmenu/PopupContextMenu.js +3 -3
  519. package/lib/esm/core-react/contextmenu/PopupContextMenu.js.map +1 -1
  520. package/lib/esm/core-react/contextmenu/TildeFinder.d.ts.map +1 -1
  521. package/lib/esm/core-react/contextmenu/TildeFinder.js +15 -7
  522. package/lib/esm/core-react/contextmenu/TildeFinder.js.map +1 -1
  523. package/lib/esm/core-react/dialog/Dialog.d.ts +6 -5
  524. package/lib/esm/core-react/dialog/Dialog.d.ts.map +1 -1
  525. package/lib/esm/core-react/dialog/Dialog.js +95 -88
  526. package/lib/esm/core-react/dialog/Dialog.js.map +1 -1
  527. package/lib/esm/core-react/dialog/Dialog.scss +245 -245
  528. package/lib/esm/core-react/dialog/GlobalDialog.d.ts.map +1 -1
  529. package/lib/esm/core-react/dialog/GlobalDialog.js +11 -8
  530. package/lib/esm/core-react/dialog/GlobalDialog.js.map +1 -1
  531. package/lib/esm/core-react/dialog/SimpleDialog.d.ts +68 -0
  532. package/lib/esm/core-react/dialog/SimpleDialog.d.ts.map +1 -0
  533. package/lib/esm/core-react/dialog/SimpleDialog.js +47 -0
  534. package/lib/esm/core-react/dialog/SimpleDialog.js.map +1 -0
  535. package/lib/esm/core-react/elementseparator/ElementSeparator.d.ts.map +1 -1
  536. package/lib/esm/core-react/elementseparator/ElementSeparator.js +16 -10
  537. package/lib/esm/core-react/elementseparator/ElementSeparator.js.map +1 -1
  538. package/lib/esm/core-react/elementseparator/ElementSeparator.scss +94 -85
  539. package/lib/esm/core-react/enums/Alignment.js +3 -3
  540. package/lib/esm/core-react/enums/Alignment.js.map +1 -1
  541. package/lib/esm/core-react/enums/CheckBoxState.js +3 -3
  542. package/lib/esm/core-react/enums/CheckBoxState.js.map +1 -1
  543. package/lib/esm/core-react/enums/Orientation.js +3 -3
  544. package/lib/esm/core-react/enums/Orientation.js.map +1 -1
  545. package/lib/esm/core-react/enums/SortDirection.js +3 -3
  546. package/lib/esm/core-react/enums/SortDirection.js.map +1 -1
  547. package/lib/esm/core-react/enums/TimeFormat.js +3 -3
  548. package/lib/esm/core-react/enums/TimeFormat.js.map +1 -1
  549. package/lib/esm/core-react/expandable/ExpandableList.d.ts +1 -1
  550. package/lib/esm/core-react/expandable/ExpandableList.d.ts.map +1 -1
  551. package/lib/esm/core-react/expandable/ExpandableList.js +8 -5
  552. package/lib/esm/core-react/expandable/ExpandableList.js.map +1 -1
  553. package/lib/esm/core-react/expandable/ExpandableList.scss +9 -9
  554. package/lib/esm/core-react/expandable/classes.scss +9 -7
  555. package/lib/esm/core-react/expandable/index.scss +5 -5
  556. package/lib/esm/core-react/expandable/list.scss +35 -35
  557. package/lib/esm/core-react/focus/ItemKeyboardNavigator.d.ts.map +1 -1
  558. package/lib/esm/core-react/focus/ItemKeyboardNavigator.js +38 -15
  559. package/lib/esm/core-react/focus/ItemKeyboardNavigator.js.map +1 -1
  560. package/lib/esm/core-react/focustrap/FocusTrap.d.ts.map +1 -1
  561. package/lib/esm/core-react/focustrap/FocusTrap.js +33 -16
  562. package/lib/esm/core-react/focustrap/FocusTrap.js.map +1 -1
  563. package/lib/esm/core-react/hocs/withIsPressed.d.ts.map +1 -1
  564. package/lib/esm/core-react/hocs/withIsPressed.js +4 -7
  565. package/lib/esm/core-react/hocs/withIsPressed.js.map +1 -1
  566. package/lib/esm/core-react/hocs/withOnOutsideClick.d.ts.map +1 -1
  567. package/lib/esm/core-react/hocs/withOnOutsideClick.js +17 -13
  568. package/lib/esm/core-react/hocs/withOnOutsideClick.js.map +1 -1
  569. package/lib/esm/core-react/hocs/withTimeout.d.ts.map +1 -1
  570. package/lib/esm/core-react/hocs/withTimeout.js +6 -8
  571. package/lib/esm/core-react/hocs/withTimeout.js.map +1 -1
  572. package/lib/esm/core-react/icons/ConditionalIconItem.d.ts +5 -1
  573. package/lib/esm/core-react/icons/ConditionalIconItem.d.ts.map +1 -1
  574. package/lib/esm/core-react/icons/ConditionalIconItem.js +26 -9
  575. package/lib/esm/core-react/icons/ConditionalIconItem.js.map +1 -1
  576. package/lib/esm/core-react/icons/IconComponent.d.ts +1 -1
  577. package/lib/esm/core-react/icons/IconComponent.d.ts.map +1 -1
  578. package/lib/esm/core-react/icons/IconComponent.js +22 -12
  579. package/lib/esm/core-react/icons/IconComponent.js.map +1 -1
  580. package/lib/esm/core-react/icons/IconComponent.scss +19 -20
  581. package/lib/esm/core-react/icons/SvgPath.d.ts.map +1 -1
  582. package/lib/esm/core-react/icons/SvgPath.js +4 -4
  583. package/lib/esm/core-react/icons/SvgPath.js.map +1 -1
  584. package/lib/esm/core-react/icons/SvgPath.scss +15 -15
  585. package/lib/esm/core-react/icons/WebFontIcon.js +3 -3
  586. package/lib/esm/core-react/icons/WebFontIcon.js.map +1 -1
  587. package/lib/esm/core-react/icons/WebFontIcon.scss +17 -17
  588. package/lib/esm/core-react/icons/classes.scss +18 -10
  589. package/lib/esm/core-react/icons/index.scss +6 -6
  590. package/lib/esm/core-react/icons/mixins.scss +25 -25
  591. package/lib/esm/core-react/icons/variables.scss +12 -12
  592. package/lib/esm/core-react/imagecheckbox/ImageCheckBox.d.ts.map +1 -1
  593. package/lib/esm/core-react/imagecheckbox/ImageCheckBox.js +6 -4
  594. package/lib/esm/core-react/imagecheckbox/ImageCheckBox.js.map +1 -1
  595. package/lib/esm/core-react/imagecheckbox/ImageCheckBox.scss +54 -54
  596. package/lib/esm/core-react/index.scss +21 -21
  597. package/lib/esm/core-react/inputs/Input.d.ts +1 -1
  598. package/lib/esm/core-react/inputs/Input.d.ts.map +1 -1
  599. package/lib/esm/core-react/inputs/Input.js +6 -7
  600. package/lib/esm/core-react/inputs/Input.js.map +1 -1
  601. package/lib/esm/core-react/inputs/InputLabel.d.ts +1 -1
  602. package/lib/esm/core-react/inputs/InputLabel.d.ts.map +1 -1
  603. package/lib/esm/core-react/inputs/InputLabel.js +11 -14
  604. package/lib/esm/core-react/inputs/InputLabel.js.map +1 -1
  605. package/lib/esm/core-react/inputs/InputStatus.js +3 -3
  606. package/lib/esm/core-react/inputs/InputStatus.js.map +1 -1
  607. package/lib/esm/core-react/inputs/LabeledComponentProps.js +3 -3
  608. package/lib/esm/core-react/inputs/LabeledComponentProps.js.map +1 -1
  609. package/lib/esm/core-react/inputs/classes.scss +12 -8
  610. package/lib/esm/core-react/inputs/iconinput/IconInput.d.ts +1 -1
  611. package/lib/esm/core-react/inputs/iconinput/IconInput.d.ts.map +1 -1
  612. package/lib/esm/core-react/inputs/iconinput/IconInput.js +3 -4
  613. package/lib/esm/core-react/inputs/iconinput/IconInput.js.map +1 -1
  614. package/lib/esm/core-react/inputs/iconinput/IconInput.scss +34 -35
  615. package/lib/esm/core-react/inputs/index.scss +9 -9
  616. package/lib/esm/core-react/inputs/input-label.scss +90 -90
  617. package/lib/esm/core-react/inputs/input.scss +58 -58
  618. package/lib/esm/core-react/inputs/numberinput/NumberInput.d.ts +2 -2
  619. package/lib/esm/core-react/inputs/numberinput/NumberInput.d.ts.map +1 -1
  620. package/lib/esm/core-react/inputs/numberinput/NumberInput.js +26 -17
  621. package/lib/esm/core-react/inputs/numberinput/NumberInput.js.map +1 -1
  622. package/lib/esm/core-react/inputs/numberinput/NumberInput.scss +88 -88
  623. package/lib/esm/core-react/inputs/variables.scss +38 -38
  624. package/lib/esm/core-react/layout-variables.scss +15 -17
  625. package/lib/esm/core-react/listbox/Listbox.d.ts +2 -2
  626. package/lib/esm/core-react/listbox/Listbox.d.ts.map +1 -1
  627. package/lib/esm/core-react/listbox/Listbox.js +20 -14
  628. package/lib/esm/core-react/listbox/Listbox.js.map +1 -1
  629. package/lib/esm/core-react/listbox/Listbox.scss +54 -54
  630. package/lib/esm/core-react/loading/LoadingBar.d.ts.map +1 -1
  631. package/lib/esm/core-react/loading/LoadingBar.js +4 -4
  632. package/lib/esm/core-react/loading/LoadingBar.js.map +1 -1
  633. package/lib/esm/core-react/loading/LoadingBar.scss +29 -29
  634. package/lib/esm/core-react/loading/LoadingPrompt.d.ts.map +1 -1
  635. package/lib/esm/core-react/loading/LoadingPrompt.js +9 -9
  636. package/lib/esm/core-react/loading/LoadingPrompt.js.map +1 -1
  637. package/lib/esm/core-react/loading/LoadingPrompt.scss +33 -33
  638. package/lib/esm/core-react/loading/LoadingSpinner.d.ts +3 -3
  639. package/lib/esm/core-react/loading/LoadingSpinner.d.ts.map +1 -1
  640. package/lib/esm/core-react/loading/LoadingSpinner.js +5 -5
  641. package/lib/esm/core-react/loading/LoadingSpinner.js.map +1 -1
  642. package/lib/esm/core-react/loading/LoadingSpinner.scss +26 -26
  643. package/lib/esm/core-react/loading/LoadingStatus.d.ts.map +1 -1
  644. package/lib/esm/core-react/loading/LoadingStatus.js +3 -3
  645. package/lib/esm/core-react/loading/LoadingStatus.js.map +1 -1
  646. package/lib/esm/core-react/loading/LoadingStatus.scss +20 -20
  647. package/lib/esm/core-react/loading/index.scss +5 -5
  648. package/lib/esm/core-react/loading/mixins.scss +57 -57
  649. package/lib/esm/core-react/messagebox/MessageBox.d.ts +3 -3
  650. package/lib/esm/core-react/messagebox/MessageBox.d.ts.map +1 -1
  651. package/lib/esm/core-react/messagebox/MessageBox.js +6 -6
  652. package/lib/esm/core-react/messagebox/MessageBox.js.map +1 -1
  653. package/lib/esm/core-react/messagebox/MessageBox.scss +56 -56
  654. package/lib/esm/core-react/notification/MessageRenderer.d.ts.map +1 -1
  655. package/lib/esm/core-react/notification/MessageRenderer.js +19 -13
  656. package/lib/esm/core-react/notification/MessageRenderer.js.map +1 -1
  657. package/lib/esm/core-react/notification/MessageType.d.ts.map +1 -1
  658. package/lib/esm/core-react/notification/MessageType.js +3 -3
  659. package/lib/esm/core-react/notification/MessageType.js.map +1 -1
  660. package/lib/esm/core-react/popup/Popup.d.ts.map +1 -1
  661. package/lib/esm/core-react/popup/Popup.js +50 -31
  662. package/lib/esm/core-react/popup/Popup.js.map +1 -1
  663. package/lib/esm/core-react/popup/Popup.scss +240 -240
  664. package/lib/esm/core-react/radialmenu/Annulus.d.ts.map +1 -1
  665. package/lib/esm/core-react/radialmenu/Annulus.js +4 -4
  666. package/lib/esm/core-react/radialmenu/Annulus.js.map +1 -1
  667. package/lib/esm/core-react/radialmenu/RadialMenu.d.ts +2 -2
  668. package/lib/esm/core-react/radialmenu/RadialMenu.d.ts.map +1 -1
  669. package/lib/esm/core-react/radialmenu/RadialMenu.js +26 -11
  670. package/lib/esm/core-react/radialmenu/RadialMenu.js.map +1 -1
  671. package/lib/esm/core-react/radialmenu/RadialMenu.scss +55 -55
  672. package/lib/esm/core-react/searchbox/SearchBox.d.ts.map +1 -1
  673. package/lib/esm/core-react/searchbox/SearchBox.js +17 -7
  674. package/lib/esm/core-react/searchbox/SearchBox.js.map +1 -1
  675. package/lib/esm/core-react/searchbox/SearchBox.scss +47 -47
  676. package/lib/esm/core-react/settings/SettingsContainer.d.ts +1 -1
  677. package/lib/esm/core-react/settings/SettingsContainer.d.ts.map +1 -1
  678. package/lib/esm/core-react/settings/SettingsContainer.js +54 -19
  679. package/lib/esm/core-react/settings/SettingsContainer.js.map +1 -1
  680. package/lib/esm/core-react/settings/SettingsContainer.scss +68 -68
  681. package/lib/esm/core-react/settings/SettingsManager.d.ts +3 -3
  682. package/lib/esm/core-react/settings/SettingsManager.d.ts.map +1 -1
  683. package/lib/esm/core-react/settings/SettingsManager.js +7 -8
  684. package/lib/esm/core-react/settings/SettingsManager.js.map +1 -1
  685. package/lib/esm/core-react/style/baseline.scss +11 -11
  686. package/lib/esm/core-react/style/breakpoints.scss +59 -41
  687. package/lib/esm/core-react/style/colors.scss +77 -77
  688. package/lib/esm/core-react/style/index.scss +10 -10
  689. package/lib/esm/core-react/style/mixins.scss +23 -27
  690. package/lib/esm/core-react/style/opacity.scss +16 -16
  691. package/lib/esm/core-react/style/themecolors.scss +133 -123
  692. package/lib/esm/core-react/tabs/Tabs.d.ts +4 -4
  693. package/lib/esm/core-react/tabs/Tabs.d.ts.map +1 -1
  694. package/lib/esm/core-react/tabs/Tabs.js +13 -11
  695. package/lib/esm/core-react/tabs/Tabs.js.map +1 -1
  696. package/lib/esm/core-react/tabs/VerticalTabs.d.ts.map +1 -1
  697. package/lib/esm/core-react/tabs/VerticalTabs.js +3 -3
  698. package/lib/esm/core-react/tabs/VerticalTabs.js.map +1 -1
  699. package/lib/esm/core-react/tabs/classes.scss +9 -7
  700. package/lib/esm/core-react/tabs/index.scss +5 -5
  701. package/lib/esm/core-react/tabs/tabs.scss +96 -96
  702. package/lib/esm/core-react/tabs/vertical.scss +51 -51
  703. package/lib/esm/core-react/text/BlockText.js +4 -4
  704. package/lib/esm/core-react/text/BlockText.js.map +1 -1
  705. package/lib/esm/core-react/text/BodyText.js +4 -4
  706. package/lib/esm/core-react/text/BodyText.js.map +1 -1
  707. package/lib/esm/core-react/text/DisabledText.js +4 -4
  708. package/lib/esm/core-react/text/DisabledText.js.map +1 -1
  709. package/lib/esm/core-react/text/FilteredText.d.ts.map +1 -1
  710. package/lib/esm/core-react/text/FilteredText.js +5 -5
  711. package/lib/esm/core-react/text/FilteredText.js.map +1 -1
  712. package/lib/esm/core-react/text/FilteredText.scss +10 -10
  713. package/lib/esm/core-react/text/MutedText.js +4 -4
  714. package/lib/esm/core-react/text/MutedText.js.map +1 -1
  715. package/lib/esm/core-react/text/StyledText.js +3 -3
  716. package/lib/esm/core-react/text/StyledText.js.map +1 -1
  717. package/lib/esm/core-react/text/TextProps.d.ts.map +1 -1
  718. package/lib/esm/core-react/text/TextProps.js +3 -3
  719. package/lib/esm/core-react/text/TextProps.js.map +1 -1
  720. package/lib/esm/core-react/text/block.scss +15 -15
  721. package/lib/esm/core-react/text/body.scss +13 -13
  722. package/lib/esm/core-react/text/classes.scss +18 -10
  723. package/lib/esm/core-react/text/disabled.scss +9 -10
  724. package/lib/esm/core-react/text/index.scss +10 -10
  725. package/lib/esm/core-react/text/mixins.scss +24 -24
  726. package/lib/esm/core-react/text/muted.scss +9 -10
  727. package/lib/esm/core-react/tree/Branch.d.ts.map +1 -1
  728. package/lib/esm/core-react/tree/Branch.js +3 -3
  729. package/lib/esm/core-react/tree/Branch.js.map +1 -1
  730. package/lib/esm/core-react/tree/Branch.scss +13 -13
  731. package/lib/esm/core-react/tree/ExpansionToggle.d.ts.map +1 -1
  732. package/lib/esm/core-react/tree/ExpansionToggle.js +3 -3
  733. package/lib/esm/core-react/tree/ExpansionToggle.js.map +1 -1
  734. package/lib/esm/core-react/tree/ExpansionToggle.scss +32 -32
  735. package/lib/esm/core-react/tree/Node.d.ts.map +1 -1
  736. package/lib/esm/core-react/tree/Node.js +12 -10
  737. package/lib/esm/core-react/tree/Node.js.map +1 -1
  738. package/lib/esm/core-react/tree/Node.scss +68 -68
  739. package/lib/esm/core-react/tree/Placeholder.js +5 -5
  740. package/lib/esm/core-react/tree/Placeholder.js.map +1 -1
  741. package/lib/esm/core-react/tree/Placeholder.scss +17 -17
  742. package/lib/esm/core-react/tree/Tree.d.ts.map +1 -1
  743. package/lib/esm/core-react/tree/Tree.js +20 -11
  744. package/lib/esm/core-react/tree/Tree.js.map +1 -1
  745. package/lib/esm/core-react/tree/Tree.scss +21 -21
  746. package/lib/esm/core-react/uistate/LocalStateStorage.d.ts.map +1 -1
  747. package/lib/esm/core-react/uistate/LocalStateStorage.js +7 -4
  748. package/lib/esm/core-react/uistate/LocalStateStorage.js.map +1 -1
  749. package/lib/esm/core-react/uistate/UiStateEntry.d.ts.map +1 -1
  750. package/lib/esm/core-react/uistate/UiStateEntry.js +3 -3
  751. package/lib/esm/core-react/uistate/UiStateEntry.js.map +1 -1
  752. package/lib/esm/core-react/uistate/UiStateStorage.d.ts.map +1 -1
  753. package/lib/esm/core-react/uistate/UiStateStorage.js +3 -3
  754. package/lib/esm/core-react/uistate/UiStateStorage.js.map +1 -1
  755. package/lib/esm/core-react/utils/IconHelper.d.ts +3 -1
  756. package/lib/esm/core-react/utils/IconHelper.d.ts.map +1 -1
  757. package/lib/esm/core-react/utils/IconHelper.js +35 -6
  758. package/lib/esm/core-react/utils/IconHelper.js.map +1 -1
  759. package/lib/esm/core-react/utils/IconWebComponent.d.ts.map +1 -1
  760. package/lib/esm/core-react/utils/IconWebComponent.js +71 -41
  761. package/lib/esm/core-react/utils/IconWebComponent.js.map +1 -1
  762. package/lib/esm/core-react/utils/Point.d.ts.map +1 -1
  763. package/lib/esm/core-react/utils/Point.js +3 -3
  764. package/lib/esm/core-react/utils/Point.js.map +1 -1
  765. package/lib/esm/core-react/utils/Props.d.ts.map +1 -1
  766. package/lib/esm/core-react/utils/Props.js +3 -3
  767. package/lib/esm/core-react/utils/Props.js.map +1 -1
  768. package/lib/esm/core-react/utils/Rectangle.d.ts.map +1 -1
  769. package/lib/esm/core-react/utils/Rectangle.js +15 -7
  770. package/lib/esm/core-react/utils/Rectangle.js.map +1 -1
  771. package/lib/esm/core-react/utils/ScrollPositionMaintainer.d.ts.map +1 -1
  772. package/lib/esm/core-react/utils/ScrollPositionMaintainer.js +4 -2
  773. package/lib/esm/core-react/utils/ScrollPositionMaintainer.js.map +1 -1
  774. package/lib/esm/core-react/utils/Size.d.ts.map +1 -1
  775. package/lib/esm/core-react/utils/Size.js +4 -5
  776. package/lib/esm/core-react/utils/Size.js.map +1 -1
  777. package/lib/esm/core-react/utils/Timer.d.ts.map +1 -1
  778. package/lib/esm/core-react/utils/Timer.js +3 -3
  779. package/lib/esm/core-react/utils/Timer.js.map +1 -1
  780. package/lib/esm/core-react/utils/UiGeometry.d.ts.map +1 -1
  781. package/lib/esm/core-react/utils/UiGeometry.js +9 -5
  782. package/lib/esm/core-react/utils/UiGeometry.js.map +1 -1
  783. package/lib/esm/core-react/utils/flattenChildren.js +3 -3
  784. package/lib/esm/core-react/utils/flattenChildren.js.map +1 -1
  785. package/lib/esm/core-react/utils/getBestBWContrastColor.js +5 -5
  786. package/lib/esm/core-react/utils/getBestBWContrastColor.js.map +1 -1
  787. package/lib/esm/core-react/utils/getCssVariable.d.ts.map +1 -1
  788. package/lib/esm/core-react/utils/getCssVariable.js +4 -4
  789. package/lib/esm/core-react/utils/getCssVariable.js.map +1 -1
  790. package/lib/esm/core-react/utils/getDisplayName.d.ts.map +1 -1
  791. package/lib/esm/core-react/utils/getDisplayName.js +3 -3
  792. package/lib/esm/core-react/utils/getDisplayName.js.map +1 -1
  793. package/lib/esm/core-react/utils/getUserColor.d.ts.map +1 -1
  794. package/lib/esm/core-react/utils/getUserColor.js +5 -4
  795. package/lib/esm/core-react/utils/getUserColor.js.map +1 -1
  796. package/lib/esm/core-react/utils/hooks/ResizeObserverPolyfill.d.ts.map +1 -1
  797. package/lib/esm/core-react/utils/hooks/ResizeObserverPolyfill.js +4 -4
  798. package/lib/esm/core-react/utils/hooks/ResizeObserverPolyfill.js.map +1 -1
  799. package/lib/esm/core-react/utils/hooks/useCrossOriginPopup.d.ts.map +1 -1
  800. package/lib/esm/core-react/utils/hooks/useCrossOriginPopup.js +22 -11
  801. package/lib/esm/core-react/utils/hooks/useCrossOriginPopup.js.map +1 -1
  802. package/lib/esm/core-react/utils/hooks/useDisposable.d.ts.map +1 -1
  803. package/lib/esm/core-react/utils/hooks/useDisposable.js +3 -3
  804. package/lib/esm/core-react/utils/hooks/useDisposable.js.map +1 -1
  805. package/lib/esm/core-react/utils/hooks/useEffectSkipFirst.d.ts.map +1 -1
  806. package/lib/esm/core-react/utils/hooks/useEffectSkipFirst.js +3 -3
  807. package/lib/esm/core-react/utils/hooks/useEffectSkipFirst.js.map +1 -1
  808. package/lib/esm/core-react/utils/hooks/useEventListener.d.ts.map +1 -1
  809. package/lib/esm/core-react/utils/hooks/useEventListener.js +3 -3
  810. package/lib/esm/core-react/utils/hooks/useEventListener.js.map +1 -1
  811. package/lib/esm/core-react/utils/hooks/useInterval.d.ts.map +1 -1
  812. package/lib/esm/core-react/utils/hooks/useInterval.js +6 -4
  813. package/lib/esm/core-react/utils/hooks/useInterval.js.map +1 -1
  814. package/lib/esm/core-react/utils/hooks/useLifecycleLogging.d.ts.map +1 -1
  815. package/lib/esm/core-react/utils/hooks/useLifecycleLogging.js +7 -4
  816. package/lib/esm/core-react/utils/hooks/useLifecycleLogging.js.map +1 -1
  817. package/lib/esm/core-react/utils/hooks/useOnOutsideClick.d.ts.map +1 -1
  818. package/lib/esm/core-react/utils/hooks/useOnOutsideClick.js +15 -6
  819. package/lib/esm/core-react/utils/hooks/useOnOutsideClick.js.map +1 -1
  820. package/lib/esm/core-react/utils/hooks/useProximityToMouse.js +3 -3
  821. package/lib/esm/core-react/utils/hooks/useProximityToMouse.js.map +1 -1
  822. package/lib/esm/core-react/utils/hooks/useRefEffect.d.ts +1 -1
  823. package/lib/esm/core-react/utils/hooks/useRefEffect.d.ts.map +1 -1
  824. package/lib/esm/core-react/utils/hooks/useRefEffect.js +3 -3
  825. package/lib/esm/core-react/utils/hooks/useRefEffect.js.map +1 -1
  826. package/lib/esm/core-react/utils/hooks/useRefState.js +3 -3
  827. package/lib/esm/core-react/utils/hooks/useRefState.js.map +1 -1
  828. package/lib/esm/core-react/utils/hooks/useRefs.d.ts.map +1 -1
  829. package/lib/esm/core-react/utils/hooks/useRefs.js +8 -6
  830. package/lib/esm/core-react/utils/hooks/useRefs.js.map +1 -1
  831. package/lib/esm/core-react/utils/hooks/useResizeObserver.d.ts +8 -8
  832. package/lib/esm/core-react/utils/hooks/useResizeObserver.d.ts.map +1 -1
  833. package/lib/esm/core-react/utils/hooks/useResizeObserver.js +43 -32
  834. package/lib/esm/core-react/utils/hooks/useResizeObserver.js.map +1 -1
  835. package/lib/esm/core-react/utils/hooks/useTargeted.d.ts.map +1 -1
  836. package/lib/esm/core-react/utils/hooks/useTargeted.js +7 -4
  837. package/lib/esm/core-react/utils/hooks/useTargeted.js.map +1 -1
  838. package/lib/esm/core-react/utils/hooks/useThrottledFn.js +3 -3
  839. package/lib/esm/core-react/utils/hooks/useThrottledFn.js.map +1 -1
  840. package/lib/esm/core-react/utils/hooks/useWidgetOpacityContext.d.ts.map +1 -1
  841. package/lib/esm/core-react/utils/hooks/useWidgetOpacityContext.js +3 -4
  842. package/lib/esm/core-react/utils/hooks/useWidgetOpacityContext.js.map +1 -1
  843. package/lib/esm/core-react/utils/isPromiseLike.d.ts.map +1 -1
  844. package/lib/esm/core-react/utils/isPromiseLike.js +6 -4
  845. package/lib/esm/core-react/utils/isPromiseLike.js.map +1 -1
  846. package/lib/esm/core-react/utils/reuseOrCreatePromise.d.ts +14 -0
  847. package/lib/esm/core-react/utils/reuseOrCreatePromise.d.ts.map +1 -0
  848. package/lib/esm/core-react/utils/reuseOrCreatePromise.js +29 -0
  849. package/lib/esm/core-react/utils/reuseOrCreatePromise.js.map +1 -0
  850. package/lib/esm/core-react/utils/shallowDiffers.d.ts.map +1 -1
  851. package/lib/esm/core-react/utils/shallowDiffers.js +3 -3
  852. package/lib/esm/core-react/utils/shallowDiffers.js.map +1 -1
  853. package/lib/esm/core-react/utils/typeUtils.js +3 -3
  854. package/lib/esm/core-react/utils/typeUtils.js.map +1 -1
  855. package/lib/esm/core-react.d.ts +3 -3
  856. package/lib/esm/core-react.d.ts.map +1 -1
  857. package/lib/esm/core-react.js +6 -6
  858. package/lib/esm/core-react.js.map +1 -1
  859. package/lib/public/locales/en/UiCore.json +31 -31
  860. package/package.json +8 -17
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  /*---------------------------------------------------------------------------------------------
3
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
- * See LICENSE.md in the project root for license terms and full copyright notice.
5
- *--------------------------------------------------------------------------------------------*/
3
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
+ * See LICENSE.md in the project root for license terms and full copyright notice.
5
+ *--------------------------------------------------------------------------------------------*/
6
6
  /** @packageDocumentation
7
7
  * @module Dialog
8
8
  */
@@ -59,14 +59,20 @@ class Dialog extends React.Component {
59
59
  newX = parentWindow.innerWidth - 32;
60
60
  }
61
61
  if (newX !== undefined || newY !== undefined)
62
- this.setState({ x: newX !== undefined ? newX : x, y: newY !== undefined ? newY : y, positionSet: true });
62
+ this.setState({
63
+ x: newX !== undefined ? newX : x,
64
+ y: newY !== undefined ? newY : y,
65
+ positionSet: true,
66
+ });
63
67
  };
64
68
  this.handleRefSet = (containerDiv) => {
65
69
  if (containerDiv)
66
70
  this._parentDocument = containerDiv.ownerDocument;
67
71
  };
68
72
  this._handleKeyUp = (event) => {
69
- if (event.key === appui_abstract_1.SpecialKey.Escape && this.props.opened && this.props.onEscape) {
73
+ if (event.key === appui_abstract_1.SpecialKey.Escape &&
74
+ this.props.opened &&
75
+ this.props.onEscape) {
70
76
  this.props.onEscape();
71
77
  }
72
78
  };
@@ -113,14 +119,19 @@ class Dialog extends React.Component {
113
119
  }
114
120
  };
115
121
  this._handlePointerMove = (event) => {
116
- if ((!this.props.resizable && !this.props.movable) || !this._containerRef.current)
122
+ if ((!this.props.resizable && !this.props.movable) ||
123
+ !this._containerRef.current)
117
124
  return;
118
125
  const { minWidth, maxWidth, minHeight, maxHeight, movable } = this.props;
119
126
  let { x, y, width, height } = this.state;
120
127
  // istanbul ignore else
121
- if (x === undefined) { // if x is undefined, so is y, width, and height
128
+ if (x === undefined) {
129
+ // if x is undefined, so is y, width, and height
122
130
  const rect = this._containerRef.current.getBoundingClientRect();
123
- width = rect.width, height = rect.height, x = rect.left, y = rect.top;
131
+ (width = rect.width),
132
+ (height = rect.height),
133
+ (x = rect.left),
134
+ (y = rect.top);
124
135
  }
125
136
  if (this.props.resizable) {
126
137
  if (this.state.rightResizing) {
@@ -155,7 +166,7 @@ class Dialog extends React.Component {
155
166
  if (x > event.view.innerWidth - 32)
156
167
  x = event.view.innerWidth - 32;
157
168
  if (width) {
158
- if (x < (0 - width + 32))
169
+ if (x < 0 - width + 32)
159
170
  x = 0 - width + 32;
160
171
  }
161
172
  }
@@ -188,9 +199,8 @@ class Dialog extends React.Component {
188
199
  };
189
200
  }
190
201
  getParentWindow() {
191
- var _a;
192
202
  // istanbul ignore next
193
- return (_a = this._parentDocument.defaultView) !== null && _a !== void 0 ? _a : window;
203
+ return this._parentDocument.defaultView ?? window;
194
204
  }
195
205
  componentWillUnmount() {
196
206
  const parentWindow = this.getParentWindow();
@@ -206,13 +216,13 @@ class Dialog extends React.Component {
206
216
  parentWindow.addEventListener("resize", this._handleAppWindowResize);
207
217
  }
208
218
  render() {
209
- const { opened, title, footer, buttonCluster, onClose, onEscape, onOutsideClick, // eslint-disable-line @typescript-eslint/no-unused-vars
210
- minWidth, minHeight, x, y, width, height, maxHeight, maxWidth, backgroundStyle, titleStyle, footerStyle, style, contentStyle, contentClassName, modal, resizable, movable, className, alignment, inset, trapFocus, modelessId, onModelessPointerDown, // eslint-disable-line @typescript-eslint/no-unused-vars
211
- hideHeader, header, ...props } = this.props;
219
+ const { opened, title, footer, buttonCluster, onClose, onEscape, onOutsideClick, minWidth, minHeight, x, y, width, height, maxHeight, maxWidth, backgroundStyle, titleStyle, footerStyle, style, contentStyle, contentClassName, modal, resizable, movable, className, alignment, inset, trapFocus, modelessId, onModelessPointerDown, hideHeader, header, ...props } = this.props;
212
220
  const containerStyle = {
213
221
  margin: "",
214
- left: x, top: y,
215
- width, height,
222
+ left: x,
223
+ top: y,
224
+ width,
225
+ height,
216
226
  };
217
227
  if (this.state.x !== undefined || this.state.y !== undefined) {
218
228
  // istanbul ignore else
@@ -236,15 +246,15 @@ class Dialog extends React.Component {
236
246
  if (this.state.height !== undefined)
237
247
  containerStyle.height = this.state.height;
238
248
  }
239
- const minMaxStyle = {};
240
- minMaxStyle.minWidth = (typeof minWidth === "number") ? `${minWidth}px` : minWidth;
241
- minMaxStyle.minHeight = (typeof minHeight === "number") ? `${minHeight}px` : minHeight;
242
- if (maxWidth !== undefined)
243
- minMaxStyle.maxWidth = (typeof maxWidth === "number") ? `${maxWidth}px` : maxWidth;
244
- if (maxHeight !== undefined)
245
- minMaxStyle.maxHeight = (typeof maxHeight === "number") ? `${maxHeight}px` : maxHeight;
246
- const buttons = this.getFooterButtons(this.props);
247
- const footerElement = footer || (buttons.length > 0 && React.createElement("div", { className: "core-dialog-buttons" }, buttons));
249
+ const minMaxStyle = {
250
+ minWidth,
251
+ minHeight,
252
+ maxWidth,
253
+ maxHeight,
254
+ };
255
+ const buttons = this.getFooterButtons(buttonCluster);
256
+ const footerElement = footer ||
257
+ (buttons && buttons.length > 0 && (React.createElement("div", { className: "core-dialog-buttons" }, buttons)));
248
258
  const divStyle = {
249
259
  ...backgroundStyle,
250
260
  ...style,
@@ -253,19 +263,16 @@ class Dialog extends React.Component {
253
263
  React.createElement("div", { className: "core-dialog-title", "data-testid": "core-dialog-title", style: titleStyle }, title),
254
264
  React.createElement("button", { className: "core-focus-trap-ignore-initial core-dialog-close icon", "data-testid": "core-dialog-close", onClick: onClose },
255
265
  React.createElement(IconComponent_1.Icon, { iconSpec: React.createElement(itwinui_icons_react_1.SvgClose, null) }))));
256
- return (React.createElement("div", { ref: this.handleRefSet, className: (0, classnames_1.default)("core-dialog", !modal && "core-dialog-hidden", opened && "core-dialog-opened", className), style: divStyle, "data-testid": "core-dialog-root", ...props }, opened &&
257
- React.createElement(DivWithOutsideClick_1.DivWithOutsideClick, { onOutsideClick: onOutsideClick },
258
- React.createElement(FocusTrap_1.FocusTrap, { active: trapFocus && modal, returnFocusOnDeactivate: true },
259
- React.createElement("div", { className: (0, classnames_1.default)("core-dialog-container", this.getCSSClassNameFromAlignment(alignment)), style: { ...containerStyle, ...minMaxStyle }, "data-testid": "core-dialog-container", onPointerDown: this._handleContainerPointerDown },
260
- React.createElement("div", { className: "core-dialog-area", ref: this._containerRef, style: minMaxStyle },
261
- !hideHeader &&
262
- headerElement,
263
- React.createElement("div", { className: (0, classnames_1.default)("core-dialog-content", { "core-dialog-content-no-inset": !inset }, contentClassName), style: contentStyle }, this.props.children),
264
- footerElement &&
265
- React.createElement("div", { className: "core-dialog-footer", style: footerStyle }, footerElement),
266
- React.createElement("div", { className: (0, classnames_1.default)("core-dialog-drag", "core-dialog-drag-right", { "core-dialog-drag-enabled": resizable }), "data-testid": "core-dialog-drag-right", onPointerDown: this._handleStartResizeRight }),
267
- React.createElement("div", { className: (0, classnames_1.default)("core-dialog-drag", "core-dialog-drag-bottom-mid", { "core-dialog-drag-enabled": resizable }), "data-testid": "core-dialog-drag-bottom", onPointerDown: this._handleStartResizeDown }),
268
- React.createElement("div", { className: (0, classnames_1.default)("core-dialog-drag", "core-dialog-drag-bottom-right", { "core-dialog-drag-enabled": resizable }), "data-testid": "core-dialog-drag-bottom-right", onPointerDown: this._handleStartResizeDownRight })))))));
266
+ return (React.createElement("div", { ref: this.handleRefSet, className: (0, classnames_1.default)("core-dialog", !modal && "core-dialog-hidden", opened && "core-dialog-opened", className), style: divStyle, "data-testid": "core-dialog-root", ...props }, opened && (React.createElement(DivWithOutsideClick_1.DivWithOutsideClick, { onOutsideClick: onOutsideClick },
267
+ React.createElement(FocusTrap_1.FocusTrap, { active: trapFocus && modal, returnFocusOnDeactivate: true },
268
+ React.createElement("div", { className: (0, classnames_1.default)("core-dialog-container", this.getCSSClassNameFromAlignment(alignment)), style: { ...containerStyle, ...minMaxStyle }, "data-testid": "core-dialog-container", onPointerDown: this._handleContainerPointerDown },
269
+ React.createElement("div", { className: "core-dialog-area", ref: this._containerRef, style: minMaxStyle },
270
+ !hideHeader && headerElement,
271
+ React.createElement("div", { className: (0, classnames_1.default)("core-dialog-content", { "core-dialog-content-no-inset": !inset }, contentClassName), style: contentStyle }, this.props.children),
272
+ footerElement && (React.createElement("div", { className: "core-dialog-footer", style: footerStyle }, footerElement)),
273
+ React.createElement("div", { className: (0, classnames_1.default)("core-dialog-drag", "core-dialog-drag-right", { "core-dialog-drag-enabled": resizable }), "data-testid": "core-dialog-drag-right", onPointerDown: this._handleStartResizeRight }),
274
+ React.createElement("div", { className: (0, classnames_1.default)("core-dialog-drag", "core-dialog-drag-bottom-mid", { "core-dialog-drag-enabled": resizable }), "data-testid": "core-dialog-drag-bottom", onPointerDown: this._handleStartResizeDown }),
275
+ React.createElement("div", { className: (0, classnames_1.default)("core-dialog-drag", "core-dialog-drag-bottom-right", { "core-dialog-drag-enabled": resizable }), "data-testid": "core-dialog-drag-bottom-right", onPointerDown: this._handleStartResizeDownRight }))))))));
269
276
  }
270
277
  getCSSClassNameFromAlignment(alignment) {
271
278
  let className = "";
@@ -306,57 +313,57 @@ class Dialog extends React.Component {
306
313
  }
307
314
  return className;
308
315
  }
309
- getFooterButtons(props) {
316
+ getFooterButtons(buttonCluster, primaryStyleType = "cta", noCoreButtonClasses = false) {
317
+ if (buttonCluster === undefined)
318
+ return undefined;
310
319
  const buttons = [];
311
- if (props.buttonCluster) {
312
- props.buttonCluster.forEach((button, index) => {
313
- let buttonText = "";
314
- let buttonClass = (0, classnames_1.default)("core-dialog-button", `dialog-button-${button.type}`, button.className);
315
- let styleType;
316
- switch (button.type) {
317
- case appui_abstract_1.DialogButtonType.OK:
318
- buttonText = UiCore_1.UiCore.translate("dialog.ok");
319
- buttonClass = (0, classnames_1.default)(buttonClass, button.buttonStyle);
320
- styleType = "cta";
321
- break;
322
- case appui_abstract_1.DialogButtonType.Retry:
323
- buttonText = UiCore_1.UiCore.translate("dialog.retry");
324
- buttonClass = (0, classnames_1.default)(buttonClass, button.buttonStyle);
325
- styleType = "cta";
326
- break;
327
- case appui_abstract_1.DialogButtonType.Yes:
328
- buttonText = UiCore_1.UiCore.translate("dialog.yes");
329
- buttonClass = (0, classnames_1.default)(buttonClass, button.buttonStyle);
330
- styleType = "cta";
331
- break;
332
- case appui_abstract_1.DialogButtonType.No:
333
- buttonText = UiCore_1.UiCore.translate("dialog.no");
334
- buttonClass = (0, classnames_1.default)(buttonClass, button.buttonStyle);
335
- break;
336
- case appui_abstract_1.DialogButtonType.Cancel:
337
- buttonText = UiCore_1.UiCore.translate("dialog.cancel");
338
- buttonClass = (0, classnames_1.default)(buttonClass, button.buttonStyle);
339
- break;
340
- case appui_abstract_1.DialogButtonType.Close:
341
- buttonText = UiCore_1.UiCore.translate("dialog.close");
342
- buttonClass = (0, classnames_1.default)(buttonClass, button.buttonStyle);
343
- break;
344
- case appui_abstract_1.DialogButtonType.Next:
345
- buttonText = UiCore_1.UiCore.translate("dialog.next");
346
- buttonClass = (0, classnames_1.default)(buttonClass, button.buttonStyle);
347
- styleType = "cta";
348
- break;
349
- case appui_abstract_1.DialogButtonType.Previous:
350
- buttonText = UiCore_1.UiCore.translate("dialog.previous");
351
- buttonClass = (0, classnames_1.default)(buttonClass, button.buttonStyle);
352
- styleType = "cta";
353
- break;
354
- }
355
- if (button.label)
356
- buttonText = button.label;
357
- buttons.push(React.createElement(itwinui_react_1.Button, { className: buttonClass, disabled: button.disabled, styleType: styleType, key: index.toString(), onClick: button.onClick }, buttonText));
358
- });
359
- }
320
+ buttonCluster.forEach((button, index) => {
321
+ let buttonText = "";
322
+ let buttonClass = (0, classnames_1.default)(!noCoreButtonClasses && "core-dialog-button", !noCoreButtonClasses && `dialog-button-${button.type}`, button.className);
323
+ let usePrimaryStyleType = false;
324
+ switch (button.type) {
325
+ case appui_abstract_1.DialogButtonType.OK:
326
+ buttonText = UiCore_1.UiCore.translate("dialog.ok");
327
+ buttonClass = (0, classnames_1.default)(buttonClass, button.buttonStyle);
328
+ usePrimaryStyleType = true;
329
+ break;
330
+ case appui_abstract_1.DialogButtonType.Retry:
331
+ buttonText = UiCore_1.UiCore.translate("dialog.retry");
332
+ buttonClass = (0, classnames_1.default)(buttonClass, button.buttonStyle);
333
+ usePrimaryStyleType = true;
334
+ break;
335
+ case appui_abstract_1.DialogButtonType.Yes:
336
+ buttonText = UiCore_1.UiCore.translate("dialog.yes");
337
+ buttonClass = (0, classnames_1.default)(buttonClass, button.buttonStyle);
338
+ usePrimaryStyleType = true;
339
+ break;
340
+ case appui_abstract_1.DialogButtonType.No:
341
+ buttonText = UiCore_1.UiCore.translate("dialog.no");
342
+ buttonClass = (0, classnames_1.default)(buttonClass, button.buttonStyle);
343
+ break;
344
+ case appui_abstract_1.DialogButtonType.Cancel:
345
+ buttonText = UiCore_1.UiCore.translate("dialog.cancel");
346
+ buttonClass = (0, classnames_1.default)(buttonClass, button.buttonStyle);
347
+ break;
348
+ case appui_abstract_1.DialogButtonType.Close:
349
+ buttonText = UiCore_1.UiCore.translate("dialog.close");
350
+ buttonClass = (0, classnames_1.default)(buttonClass, button.buttonStyle);
351
+ break;
352
+ case appui_abstract_1.DialogButtonType.Next:
353
+ buttonText = UiCore_1.UiCore.translate("dialog.next");
354
+ buttonClass = (0, classnames_1.default)(buttonClass, button.buttonStyle);
355
+ usePrimaryStyleType = true;
356
+ break;
357
+ case appui_abstract_1.DialogButtonType.Previous:
358
+ buttonText = UiCore_1.UiCore.translate("dialog.previous");
359
+ buttonClass = (0, classnames_1.default)(buttonClass, button.buttonStyle);
360
+ usePrimaryStyleType = true;
361
+ break;
362
+ }
363
+ if (button.label)
364
+ buttonText = button.label;
365
+ buttons.push(React.createElement(itwinui_react_1.Button, { className: buttonClass, disabled: button.disabled, styleType: usePrimaryStyleType ? primaryStyleType : undefined, key: index.toString(), onClick: button.onClick }, buttonText));
366
+ });
360
367
  return buttons;
361
368
  }
362
369
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Dialog.js","sourceRoot":"","sources":["../../../../src/core-react/dialog/Dialog.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Dialog\r\n */\r\n\r\nimport \"./Dialog.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport type { DialogButtonDef} from \"@itwin/appui-abstract\";\r\nimport { DialogButtonType, SpecialKey } from \"@itwin/appui-abstract\";\r\nimport { DivWithOutsideClick } from \"../base/DivWithOutsideClick\";\r\nimport { UiCore } from \"../UiCore\";\r\nimport type { CommonProps } from \"../utils/Props\";\r\nimport type { Omit } from \"../utils/typeUtils\";\r\nimport { FocusTrap } from \"../focustrap/FocusTrap\";\r\nimport { Button } from \"@itwin/itwinui-react\";\r\nimport { Icon } from \"../icons/IconComponent\";\r\nimport { SvgClose } from \"@itwin/itwinui-icons-react\";\r\n\r\n// cspell:ignore focustrap\r\n\r\n/** Enum for dialog alignment\r\n * @public\r\n */\r\nexport enum DialogAlignment {\r\n TopLeft = \"top-left\", Top = \"top\", TopRight = \"top-right\",\r\n Left = \"left\", Center = \"center\", Right = \"right\",\r\n BottomLeft = \"bottom-left\", Bottom = \"bottom\", BottomRight = \"bottom-right\",\r\n}\r\n\r\n/** Properties for the [[Dialog]] component\r\n * @public\r\n */\r\nexport interface DialogProps extends Omit<React.AllHTMLAttributes<HTMLDivElement>, \"title\">, CommonProps {\r\n /** Indicates whether to show dialog or not */\r\n opened: boolean;\r\n\r\n /** Indicates whether the user can resize dialog with cursor. Default: false */\r\n resizable?: boolean;\r\n /** Indicates whether the user can move dialog with cursor. Default: false */\r\n movable?: boolean;\r\n /** Indicates whether the content should be inset. Default: true */\r\n inset?: boolean;\r\n /** Indicates whether the focus should be trapped within the dialog. Default: false */\r\n trapFocus?: boolean;\r\n\r\n /** Whether the hide the header. Default: false */\r\n hideHeader?: boolean;\r\n /** Override for the header */\r\n header?: React.ReactNode;\r\n /** Title to show in title bar of dialog */\r\n title?: string | JSX.Element;\r\n /** Footer to show at bottom of dialog. Note: will override buttonCluster */\r\n footer?: string | JSX.Element;\r\n /** List of DialogButtonDef objects specifying buttons and associated onClick events */\r\n buttonCluster?: DialogButtonDef[];\r\n\r\n /** Default alignment of dialog. Default: DialogAlignment.Center */\r\n alignment?: DialogAlignment;\r\n /** Initial x/left position of dialog in px. */\r\n x?: number;\r\n /** Initial y/top position of dialog in px. */\r\n y?: number;\r\n\r\n /** onClick event for X button for dialog */\r\n onClose?: () => void;\r\n /** 'keyup' event for Esc key */\r\n onEscape?: () => void;\r\n /** Triggered when a click is triggered outside of this dialog. */\r\n onOutsideClick?: (event: MouseEvent) => any;\r\n\r\n /** Initial width of dialog. Displayed in px if value is a number; otherwise, displayed in specified CSS unit. Default: \"50%\" */\r\n width?: string | number;\r\n /** Initial height of dialog. Displayed in px if value is a number; otherwise, displayed in specified CSS unit. */\r\n height?: string | number;\r\n /** Minimum width that the dialog may be resized to. Displayed in px if value is a number; otherwise, displayed in specified CSS unit. Default: 300px */\r\n minWidth?: string | number;\r\n /** Minimum height that the dialog may be resized to. Displayed in px if value is a number; otherwise, displayed in specified CSS unit. Default: 100px */\r\n minHeight?: string | number;\r\n /** Maximum width that the dialog may be resized to. Displayed in px if value is a number; otherwise, displayed in specified CSS unit. */\r\n maxWidth?: string | number;\r\n /** Maximum height that the dialog may be resized to. Displayed in px if value is a number; otherwise, displayed in specified CSS unit. */\r\n maxHeight?: string | number;\r\n\r\n /** Whether to show background overlay. Default: true.\r\n * @note Modeless dialogs require an id and an implementation of onModelessPointerDown.\r\n */\r\n modal?: boolean;\r\n /** An id for a modeless dialog */\r\n modelessId?: string;\r\n /** Pointer Down event handler when modeless (modal = false) */\r\n onModelessPointerDown?: (event: React.PointerEvent, id: string) => void;\r\n\r\n /** Custom CSS Style for overlay */\r\n backgroundStyle?: React.CSSProperties;\r\n /** Custom CSS Style for title */\r\n titleStyle?: React.CSSProperties;\r\n /** Custom CSS Style for footer */\r\n footerStyle?: React.CSSProperties;\r\n /** Custom CSS class name for the content */\r\n contentClassName?: string;\r\n /** Custom CSS Style for the content */\r\n contentStyle?: React.CSSProperties;\r\n}\r\n\r\n/** @internal */\r\ninterface DialogState {\r\n rightResizing: boolean;\r\n downResizing: boolean;\r\n moving: boolean;\r\n grabOffsetX: number;\r\n grabOffsetY: number;\r\n x?: number;\r\n y?: number;\r\n width?: number;\r\n height?: number;\r\n positionSet: boolean;\r\n}\r\n\r\n/**\r\n * Dialog React component with optional resizing and dragging functionality\r\n * @public\r\n */\r\nexport class Dialog extends React.Component<DialogProps, DialogState> {\r\n private _parentDocument = document;\r\n private _containerRef = React.createRef<HTMLDivElement>();\r\n public static defaultProps: Partial<DialogProps> = {\r\n alignment: DialogAlignment.Center,\r\n minWidth: 300,\r\n minHeight: 100,\r\n width: \"50%\",\r\n hideHeader: false,\r\n resizable: false,\r\n movable: false,\r\n modal: true,\r\n inset: true,\r\n trapFocus: false,\r\n };\r\n\r\n /** @internal */\r\n public override readonly state: Readonly<DialogState>;\r\n\r\n constructor(props: DialogProps) {\r\n super(props);\r\n this.state = {\r\n rightResizing: false,\r\n downResizing: false,\r\n moving: false,\r\n grabOffsetX: 0,\r\n grabOffsetY: 0,\r\n positionSet: props.x !== undefined || props.y !== undefined,\r\n };\r\n }\r\n\r\n private getParentWindow() {\r\n // istanbul ignore next\r\n return this._parentDocument.defaultView ?? window;\r\n }\r\n\r\n public override componentWillUnmount(): void {\r\n const parentWindow = this.getParentWindow();\r\n parentWindow.removeEventListener(\"pointerup\", this._handlePointerUp, true);\r\n parentWindow.removeEventListener(\"pointermove\", this._handlePointerMove, true);\r\n this._parentDocument.removeEventListener(\"keyup\", this._handleKeyUp, true);\r\n parentWindow.addEventListener(\"resize\", this._handleAppWindowResize);\r\n }\r\n\r\n /** Keep title bar of movable Dialog at least partially visible */\r\n // istanbul ignore next\r\n private _handleAppWindowResize = (): void => {\r\n if (!this._containerRef.current || !this.props.movable)\r\n return;\r\n\r\n const parentWindow = this.getParentWindow();\r\n const { x, y } = this.state;\r\n let newX: number | undefined;\r\n let newY: number | undefined;\r\n\r\n if (undefined !== y && undefined !== x) {\r\n if (y > parentWindow.innerHeight - 32)\r\n newY = parentWindow.innerHeight - 32;\r\n if (x > parentWindow.innerWidth - 32)\r\n newX = parentWindow.innerWidth - 32;\r\n }\r\n\r\n if (newX !== undefined || newY !== undefined)\r\n this.setState({ x: newX !== undefined ? newX : x, y: newY !== undefined ? newY : y, positionSet: true });\r\n };\r\n\r\n public override componentDidMount(): void {\r\n const parentWindow = this.getParentWindow();\r\n parentWindow.addEventListener(\"pointerup\", this._handlePointerUp, true);\r\n this._parentDocument.addEventListener(\"keyup\", this._handleKeyUp, true);\r\n parentWindow.addEventListener(\"resize\", this._handleAppWindowResize);\r\n }\r\n\r\n public handleRefSet = (containerDiv: HTMLDivElement | null) => {\r\n if (containerDiv)\r\n this._parentDocument = containerDiv.ownerDocument;\r\n };\r\n\r\n public override render(): JSX.Element {\r\n const {\r\n opened, title, footer, buttonCluster, onClose, onEscape, onOutsideClick, // eslint-disable-line @typescript-eslint/no-unused-vars\r\n minWidth, minHeight, x, y, width, height, maxHeight, maxWidth,\r\n backgroundStyle, titleStyle, footerStyle, style, contentStyle, contentClassName,\r\n modal, resizable, movable, className, alignment, inset, trapFocus, modelessId, onModelessPointerDown, // eslint-disable-line @typescript-eslint/no-unused-vars\r\n hideHeader, header, ...props } = this.props;\r\n\r\n const containerStyle: React.CSSProperties = {\r\n margin: \"\",\r\n left: x, top: y,\r\n width, height,\r\n };\r\n\r\n if (this.state.x !== undefined || this.state.y !== undefined) {\r\n // istanbul ignore else\r\n if (this.state.x !== undefined) {\r\n containerStyle.marginLeft = \"0\";\r\n containerStyle.marginRight = \"0\";\r\n containerStyle.left = this.state.x;\r\n }\r\n // istanbul ignore else\r\n if (this.state.y !== undefined) {\r\n containerStyle.marginTop = \"0\";\r\n containerStyle.marginBottom = \"0\";\r\n containerStyle.top = this.state.y;\r\n }\r\n }\r\n\r\n if (this.state.width !== undefined || this.state.height !== undefined) {\r\n // istanbul ignore else\r\n if (this.state.width !== undefined)\r\n containerStyle.width = this.state.width;\r\n // istanbul ignore else\r\n if (this.state.height !== undefined)\r\n containerStyle.height = this.state.height;\r\n }\r\n\r\n const minMaxStyle: React.CSSProperties = {};\r\n minMaxStyle.minWidth = (typeof minWidth === \"number\") ? `${minWidth}px` : minWidth;\r\n minMaxStyle.minHeight = (typeof minHeight === \"number\") ? `${minHeight}px` : minHeight;\r\n if (maxWidth !== undefined)\r\n minMaxStyle.maxWidth = (typeof maxWidth === \"number\") ? `${maxWidth}px` : maxWidth;\r\n if (maxHeight !== undefined)\r\n minMaxStyle.maxHeight = (typeof maxHeight === \"number\") ? `${maxHeight}px` : maxHeight;\r\n\r\n const buttons = this.getFooterButtons(this.props);\r\n\r\n const footerElement: React.ReactNode = footer || (buttons.length > 0 && <div className={\"core-dialog-buttons\"}>{buttons}</div>);\r\n\r\n const divStyle: React.CSSProperties = {\r\n ...backgroundStyle,\r\n ...style,\r\n };\r\n\r\n const headerElement = header || (\r\n <div\r\n className={classnames(\r\n \"core-dialog-head\",\r\n { \"core-dialog-movable\": movable },\r\n { \"core-dialog-modal\": modal }\r\n )}\r\n data-testid=\"core-dialog-head\"\r\n onPointerDown={this._handleStartMove}>\r\n <div className={\"core-dialog-title\"} data-testid=\"core-dialog-title\" style={titleStyle}>{title}</div>\r\n <button\r\n className={\"core-focus-trap-ignore-initial core-dialog-close icon\"}\r\n data-testid=\"core-dialog-close\"\r\n onClick={onClose}>\r\n <Icon iconSpec={<SvgClose />} />\r\n </button>\r\n </div>\r\n );\r\n\r\n return (\r\n <div ref={this.handleRefSet}\r\n className={classnames(\r\n \"core-dialog\",\r\n !modal && \"core-dialog-hidden\",\r\n opened && \"core-dialog-opened\",\r\n className,\r\n )}\r\n style={divStyle}\r\n data-testid=\"core-dialog-root\"\r\n {...props}\r\n >\r\n {opened &&\r\n <DivWithOutsideClick onOutsideClick={onOutsideClick}>\r\n <FocusTrap active={trapFocus && modal} returnFocusOnDeactivate={true}>\r\n <div\r\n className={classnames(\"core-dialog-container\", this.getCSSClassNameFromAlignment(alignment))}\r\n style={{ ...containerStyle, ...minMaxStyle }}\r\n data-testid=\"core-dialog-container\"\r\n onPointerDown={this._handleContainerPointerDown}\r\n >\r\n <div className={\"core-dialog-area\"} ref={this._containerRef} style={minMaxStyle}>\r\n {!hideHeader &&\r\n headerElement\r\n }\r\n <div\r\n className={classnames(\r\n \"core-dialog-content\",\r\n { \"core-dialog-content-no-inset\": !inset },\r\n contentClassName)}\r\n style={contentStyle}>\r\n {this.props.children}\r\n </div>\r\n {footerElement &&\r\n <div className={\"core-dialog-footer\"} style={footerStyle}>\r\n {footerElement}\r\n </div>\r\n }\r\n <div\r\n className={classnames(\"core-dialog-drag\", \"core-dialog-drag-right\", { \"core-dialog-drag-enabled\": resizable })}\r\n data-testid=\"core-dialog-drag-right\"\r\n onPointerDown={this._handleStartResizeRight}\r\n />\r\n <div\r\n className={classnames(\"core-dialog-drag\", \"core-dialog-drag-bottom-mid\", { \"core-dialog-drag-enabled\": resizable })}\r\n data-testid=\"core-dialog-drag-bottom\"\r\n onPointerDown={this._handleStartResizeDown}\r\n />\r\n <div\r\n className={classnames(\"core-dialog-drag\", \"core-dialog-drag-bottom-right\", { \"core-dialog-drag-enabled\": resizable })}\r\n data-testid=\"core-dialog-drag-bottom-right\"\r\n onPointerDown={this._handleStartResizeDownRight}\r\n />\r\n </div>\r\n </div>\r\n </FocusTrap>\r\n </DivWithOutsideClick>\r\n }\r\n </div>\r\n );\r\n }\r\n\r\n private getCSSClassNameFromAlignment(alignment?: DialogAlignment): string {\r\n let className = \"\";\r\n\r\n // Drop the alignment CSS class if the Dialog has been sized or moved.\r\n if (this.state.positionSet)\r\n return \"\";\r\n\r\n // istanbul ignore next\r\n if (!alignment)\r\n alignment = DialogAlignment.Center;\r\n\r\n switch (alignment) {\r\n case DialogAlignment.TopLeft:\r\n className = \"core-dialog-top-left\";\r\n break;\r\n case DialogAlignment.Top:\r\n className = \"core-dialog-top\";\r\n break;\r\n case DialogAlignment.TopRight:\r\n className = \"core-dialog-top-right\";\r\n break;\r\n case DialogAlignment.Left:\r\n className = \"core-dialog-left\";\r\n break;\r\n case DialogAlignment.Center:\r\n className = \"core-dialog-center\";\r\n break;\r\n case DialogAlignment.Right:\r\n className = \"core-dialog-right\";\r\n break;\r\n case DialogAlignment.BottomLeft:\r\n className = \"core-dialog-bottom-left\";\r\n break;\r\n case DialogAlignment.Bottom:\r\n className = \"core-dialog-bottom\";\r\n break;\r\n case DialogAlignment.BottomRight:\r\n className = \"core-dialog-bottom-right\";\r\n break;\r\n }\r\n\r\n return className;\r\n }\r\n\r\n private getFooterButtons(props: DialogProps) {\r\n const buttons: React.ReactNode[] = [];\r\n if (props.buttonCluster) {\r\n props.buttonCluster.forEach((button: DialogButtonDef, index: number) => {\r\n let buttonText = \"\";\r\n let buttonClass = classnames(\"core-dialog-button\", `dialog-button-${button.type}`, button.className);\r\n let styleType: \"default\" | \"cta\" | \"high-visibility\" | \"borderless\" | undefined;\r\n\r\n switch (button.type) {\r\n case DialogButtonType.OK:\r\n buttonText = UiCore.translate(\"dialog.ok\");\r\n buttonClass = classnames(buttonClass, button.buttonStyle);\r\n styleType = \"cta\";\r\n break;\r\n case DialogButtonType.Retry:\r\n buttonText = UiCore.translate(\"dialog.retry\");\r\n buttonClass = classnames(buttonClass, button.buttonStyle);\r\n styleType = \"cta\";\r\n break;\r\n case DialogButtonType.Yes:\r\n buttonText = UiCore.translate(\"dialog.yes\");\r\n buttonClass = classnames(buttonClass, button.buttonStyle);\r\n styleType = \"cta\";\r\n break;\r\n case DialogButtonType.No:\r\n buttonText = UiCore.translate(\"dialog.no\");\r\n buttonClass = classnames(buttonClass, button.buttonStyle);\r\n break;\r\n case DialogButtonType.Cancel:\r\n buttonText = UiCore.translate(\"dialog.cancel\");\r\n buttonClass = classnames(buttonClass, button.buttonStyle);\r\n break;\r\n case DialogButtonType.Close:\r\n buttonText = UiCore.translate(\"dialog.close\");\r\n buttonClass = classnames(buttonClass, button.buttonStyle);\r\n break;\r\n case DialogButtonType.Next:\r\n buttonText = UiCore.translate(\"dialog.next\");\r\n buttonClass = classnames(buttonClass, button.buttonStyle);\r\n styleType = \"cta\";\r\n break;\r\n case DialogButtonType.Previous:\r\n buttonText = UiCore.translate(\"dialog.previous\");\r\n buttonClass = classnames(buttonClass, button.buttonStyle);\r\n styleType = \"cta\";\r\n break;\r\n }\r\n\r\n if (button.label) buttonText = button.label;\r\n\r\n buttons.push(\r\n <Button\r\n className={buttonClass}\r\n disabled={button.disabled}\r\n styleType={styleType}\r\n key={index.toString()}\r\n onClick={button.onClick}\r\n >\r\n {buttonText}\r\n </Button>\r\n );\r\n });\r\n }\r\n return buttons;\r\n }\r\n\r\n private _handleKeyUp = (event: KeyboardEvent) => {\r\n if (event.key === SpecialKey.Escape && this.props.opened && this.props.onEscape) {\r\n this.props.onEscape();\r\n }\r\n };\r\n\r\n private _handleContainerPointerDown = (event: React.PointerEvent): void => {\r\n if (!this.props.modal) {\r\n if (this.props.onModelessPointerDown && this.props.modelessId)\r\n this.props.onModelessPointerDown(event, this.props.modelessId);\r\n }\r\n };\r\n\r\n private _handleStartResizeRight = (event: React.PointerEvent): void => {\r\n event.preventDefault();\r\n this.setState({ rightResizing: true });\r\n const parentWindow = this.getParentWindow();\r\n parentWindow.addEventListener(\"pointermove\", this._handlePointerMove, true);\r\n };\r\n\r\n private _handleStartResizeDown = (event: React.PointerEvent): void => {\r\n event.preventDefault();\r\n this.setState({ downResizing: true });\r\n const parentWindow = this.getParentWindow();\r\n parentWindow.addEventListener(\"pointermove\", this._handlePointerMove, true);\r\n };\r\n\r\n private _handleStartResizeDownRight = (event: React.PointerEvent): void => {\r\n event.preventDefault();\r\n this.setState({ downResizing: true, rightResizing: true });\r\n const parentWindow = this.getParentWindow();\r\n parentWindow.addEventListener(\"pointermove\", this._handlePointerMove, true);\r\n };\r\n\r\n private _handleStartMove = (event: React.PointerEvent): void => {\r\n if (!this.props.movable)\r\n return;\r\n\r\n event.preventDefault();\r\n // istanbul ignore else\r\n if (this._containerRef.current) {\r\n const rect = this._containerRef.current.getBoundingClientRect();\r\n const grabOffsetX = event.clientX - rect.left;\r\n const grabOffsetY = event.clientY - rect.top;\r\n this.setState({\r\n grabOffsetX,\r\n grabOffsetY,\r\n moving: true,\r\n });\r\n\r\n const parentWindow = this.getParentWindow();\r\n parentWindow.addEventListener(\"pointermove\", this._handlePointerMove, true);\r\n }\r\n };\r\n\r\n private _handlePointerMove = (event: PointerEvent): void => {\r\n if ((!this.props.resizable && !this.props.movable) || !this._containerRef.current)\r\n return;\r\n\r\n const { minWidth, maxWidth, minHeight, maxHeight, movable } = this.props;\r\n let { x, y, width, height } = this.state;\r\n\r\n // istanbul ignore else\r\n if (x === undefined) { // if x is undefined, so is y, width, and height\r\n const rect = this._containerRef.current.getBoundingClientRect();\r\n width = rect.width, height = rect.height, x = rect.left, y = rect.top;\r\n }\r\n\r\n if (this.props.resizable) {\r\n if (this.state.rightResizing) {\r\n const pointerX = event.clientX;\r\n width = pointerX - x;\r\n // istanbul ignore else\r\n if (typeof minWidth === \"number\")\r\n width = Math.max(width, minWidth);\r\n if (maxWidth !== undefined && typeof maxWidth === \"number\")\r\n width = Math.min(width, maxWidth);\r\n }\r\n\r\n if (this.state.downResizing) {\r\n const pointerY = event.clientY;\r\n height = pointerY - y!;\r\n // istanbul ignore else\r\n if (typeof minHeight === \"number\")\r\n height = Math.max(height, minHeight);\r\n if (maxHeight !== undefined && typeof maxHeight === \"number\")\r\n height = Math.min(height, maxHeight);\r\n }\r\n\r\n this.setState({ width, height });\r\n }\r\n\r\n // istanbul ignore next\r\n if (movable && this.state.moving) {\r\n x = event.clientX - this.state.grabOffsetX;\r\n y = event.clientY - this.state.grabOffsetY;\r\n if (y < 0)\r\n y = 0;\r\n if (event.view) {\r\n if (y > event.view.innerHeight - 32)\r\n y = event.view.innerHeight - 32;\r\n if (x > event.view.innerWidth - 32)\r\n x = event.view.innerWidth - 32;\r\n if (width) {\r\n if (x < (0 - width + 32))\r\n x = 0 - width + 32;\r\n }\r\n }\r\n\r\n this.setState({ x, y, positionSet: true });\r\n }\r\n };\r\n\r\n private _handlePointerUp = (_event: PointerEvent): void => {\r\n if (!this.props.movable && !this.props.resizable)\r\n return;\r\n\r\n // istanbul ignore else\r\n if (this._containerRef.current) {\r\n this.setState({\r\n rightResizing: false,\r\n downResizing: false,\r\n moving: false,\r\n grabOffsetX: 0,\r\n grabOffsetY: 0,\r\n });\r\n }\r\n\r\n const parentWindow = this.getParentWindow();\r\n parentWindow.removeEventListener(\"pointermove\", this._handlePointerMove, true);\r\n };\r\n}\r\n"]}
1
+ {"version":3,"file":"Dialog.js","sourceRoot":"","sources":["../../../../src/core-react/dialog/Dialog.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Dialog\n */\n\nimport \"./Dialog.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { DialogButtonDef } from \"@itwin/appui-abstract\";\nimport { DialogButtonType, SpecialKey } from \"@itwin/appui-abstract\";\nimport { DivWithOutsideClick } from \"../base/DivWithOutsideClick\";\nimport { UiCore } from \"../UiCore\";\nimport type { CommonProps } from \"../utils/Props\";\nimport type { Omit } from \"../utils/typeUtils\";\nimport { FocusTrap } from \"../focustrap/FocusTrap\";\nimport type { ButtonProps } from \"@itwin/itwinui-react\";\nimport { Button } from \"@itwin/itwinui-react\";\nimport { Icon } from \"../icons/IconComponent\";\nimport { SvgClose } from \"@itwin/itwinui-icons-react\";\n\n// cspell:ignore focustrap\n\n/** Enum for dialog alignment\n * @public\n */\nexport enum DialogAlignment {\n TopLeft = \"top-left\",\n Top = \"top\",\n TopRight = \"top-right\",\n Left = \"left\",\n Center = \"center\",\n Right = \"right\",\n BottomLeft = \"bottom-left\",\n Bottom = \"bottom\",\n BottomRight = \"bottom-right\",\n}\n\n/** Properties for the [[Dialog]] component\n * @public\n */\nexport interface DialogProps\n extends Omit<React.AllHTMLAttributes<HTMLDivElement>, \"title\">,\n CommonProps {\n /** Indicates whether to show dialog or not */\n opened: boolean;\n\n /** Indicates whether the user can resize dialog with cursor. Default: false */\n resizable?: boolean;\n /** Indicates whether the user can move dialog with cursor. Default: false */\n movable?: boolean;\n /** Indicates whether the content should be inset. Default: true */\n inset?: boolean;\n /** Indicates whether the focus should be trapped within the dialog. Default: false */\n trapFocus?: boolean;\n\n /** Whether the hide the header. Default: false */\n hideHeader?: boolean;\n /** Override for the header */\n header?: React.ReactNode;\n /** Title to show in title bar of dialog */\n title?: string | React.ReactElement;\n /** Footer to show at bottom of dialog. Note: will override buttonCluster */\n footer?: string | React.ReactElement;\n /** List of DialogButtonDef objects specifying buttons and associated onClick events */\n buttonCluster?: DialogButtonDef[];\n\n /** Default alignment of dialog. Default: DialogAlignment.Center */\n alignment?: DialogAlignment;\n /** Initial x/left position of dialog in px. */\n x?: number;\n /** Initial y/top position of dialog in px. */\n y?: number;\n\n /** onClick event for X button for dialog */\n onClose?: () => void;\n /** 'keyup' event for Esc key */\n onEscape?: () => void;\n /** Triggered when a click is triggered outside of this dialog. */\n onOutsideClick?: (event: MouseEvent) => any;\n\n /** Initial width of dialog. Displayed in px if value is a number; otherwise, displayed in specified CSS unit. Default: \"50%\" */\n width?: string | number;\n /** Initial height of dialog. Displayed in px if value is a number; otherwise, displayed in specified CSS unit. */\n height?: string | number;\n /** Minimum width that the dialog may be resized to. Displayed in px if value is a number; otherwise, displayed in specified CSS unit. Default: 300px */\n minWidth?: string | number;\n /** Minimum height that the dialog may be resized to. Displayed in px if value is a number; otherwise, displayed in specified CSS unit. Default: 100px */\n minHeight?: string | number;\n /** Maximum width that the dialog may be resized to. Displayed in px if value is a number; otherwise, displayed in specified CSS unit. */\n maxWidth?: string | number;\n /** Maximum height that the dialog may be resized to. Displayed in px if value is a number; otherwise, displayed in specified CSS unit. */\n maxHeight?: string | number;\n\n /** Whether to show background overlay. Default: true.\n * @note Modeless dialogs require an id and an implementation of onModelessPointerDown.\n */\n modal?: boolean;\n /** An id for a modeless dialog */\n modelessId?: string;\n /** Pointer Down event handler when modeless (modal = false) */\n onModelessPointerDown?: (event: React.PointerEvent, id: string) => void;\n\n /** Custom CSS Style for overlay */\n backgroundStyle?: React.CSSProperties;\n /** Custom CSS Style for title */\n titleStyle?: React.CSSProperties;\n /** Custom CSS Style for footer */\n footerStyle?: React.CSSProperties;\n /** Custom CSS class name for the content */\n contentClassName?: string;\n /** Custom CSS Style for the content */\n contentStyle?: React.CSSProperties;\n}\n\n/** @internal */\ninterface DialogState {\n rightResizing: boolean;\n downResizing: boolean;\n moving: boolean;\n grabOffsetX: number;\n grabOffsetY: number;\n x?: number;\n y?: number;\n width?: number;\n height?: number;\n positionSet: boolean;\n}\n\n/**\n * Dialog React component with optional resizing and dragging functionality\n * @public\n */\nexport class Dialog extends React.Component<DialogProps, DialogState> {\n private _parentDocument = document;\n private _containerRef = React.createRef<HTMLDivElement>();\n public static defaultProps: Partial<DialogProps> = {\n alignment: DialogAlignment.Center,\n minWidth: 300,\n minHeight: 100,\n width: \"50%\",\n hideHeader: false,\n resizable: false,\n movable: false,\n modal: true,\n inset: true,\n trapFocus: false,\n };\n\n /** @internal */\n public override readonly state: Readonly<DialogState>;\n\n constructor(props: DialogProps) {\n super(props);\n this.state = {\n rightResizing: false,\n downResizing: false,\n moving: false,\n grabOffsetX: 0,\n grabOffsetY: 0,\n positionSet: props.x !== undefined || props.y !== undefined,\n };\n }\n\n private getParentWindow() {\n // istanbul ignore next\n return this._parentDocument.defaultView ?? window;\n }\n\n public override componentWillUnmount(): void {\n const parentWindow = this.getParentWindow();\n parentWindow.removeEventListener(\"pointerup\", this._handlePointerUp, true);\n parentWindow.removeEventListener(\n \"pointermove\",\n this._handlePointerMove,\n true\n );\n this._parentDocument.removeEventListener(\"keyup\", this._handleKeyUp, true);\n parentWindow.addEventListener(\"resize\", this._handleAppWindowResize);\n }\n\n /** Keep title bar of movable Dialog at least partially visible */\n // istanbul ignore next\n private _handleAppWindowResize = (): void => {\n if (!this._containerRef.current || !this.props.movable) return;\n\n const parentWindow = this.getParentWindow();\n const { x, y } = this.state;\n let newX: number | undefined;\n let newY: number | undefined;\n\n if (undefined !== y && undefined !== x) {\n if (y > parentWindow.innerHeight - 32)\n newY = parentWindow.innerHeight - 32;\n if (x > parentWindow.innerWidth - 32) newX = parentWindow.innerWidth - 32;\n }\n\n if (newX !== undefined || newY !== undefined)\n this.setState({\n x: newX !== undefined ? newX : x,\n y: newY !== undefined ? newY : y,\n positionSet: true,\n });\n };\n\n public override componentDidMount(): void {\n const parentWindow = this.getParentWindow();\n parentWindow.addEventListener(\"pointerup\", this._handlePointerUp, true);\n this._parentDocument.addEventListener(\"keyup\", this._handleKeyUp, true);\n parentWindow.addEventListener(\"resize\", this._handleAppWindowResize);\n }\n\n public handleRefSet = (containerDiv: HTMLDivElement | null) => {\n if (containerDiv) this._parentDocument = containerDiv.ownerDocument;\n };\n\n public override render(): React.ReactElement {\n const {\n opened,\n title,\n footer,\n buttonCluster,\n onClose,\n onEscape,\n onOutsideClick,\n minWidth,\n minHeight,\n x,\n y,\n width,\n height,\n maxHeight,\n maxWidth,\n backgroundStyle,\n titleStyle,\n footerStyle,\n style,\n contentStyle,\n contentClassName,\n modal,\n resizable,\n movable,\n className,\n alignment,\n inset,\n trapFocus,\n modelessId,\n onModelessPointerDown,\n hideHeader,\n header,\n ...props\n } = this.props;\n\n const containerStyle: React.CSSProperties = {\n margin: \"\",\n left: x,\n top: y,\n width,\n height,\n };\n\n if (this.state.x !== undefined || this.state.y !== undefined) {\n // istanbul ignore else\n if (this.state.x !== undefined) {\n containerStyle.marginLeft = \"0\";\n containerStyle.marginRight = \"0\";\n containerStyle.left = this.state.x;\n }\n // istanbul ignore else\n if (this.state.y !== undefined) {\n containerStyle.marginTop = \"0\";\n containerStyle.marginBottom = \"0\";\n containerStyle.top = this.state.y;\n }\n }\n\n if (this.state.width !== undefined || this.state.height !== undefined) {\n // istanbul ignore else\n if (this.state.width !== undefined)\n containerStyle.width = this.state.width;\n // istanbul ignore else\n if (this.state.height !== undefined)\n containerStyle.height = this.state.height;\n }\n\n const minMaxStyle: React.CSSProperties = {\n minWidth,\n minHeight,\n maxWidth,\n maxHeight,\n };\n\n const buttons = this.getFooterButtons(buttonCluster);\n\n const footerElement: React.ReactNode =\n footer ||\n (buttons && buttons.length > 0 && (\n <div className={\"core-dialog-buttons\"}>{buttons}</div>\n ));\n\n const divStyle: React.CSSProperties = {\n ...backgroundStyle,\n ...style,\n };\n\n const headerElement = header || (\n <div\n className={classnames(\n \"core-dialog-head\",\n { \"core-dialog-movable\": movable },\n { \"core-dialog-modal\": modal }\n )}\n data-testid=\"core-dialog-head\"\n onPointerDown={this._handleStartMove}\n >\n <div\n className={\"core-dialog-title\"}\n data-testid=\"core-dialog-title\"\n style={titleStyle}\n >\n {title}\n </div>\n <button\n className={\"core-focus-trap-ignore-initial core-dialog-close icon\"}\n data-testid=\"core-dialog-close\"\n onClick={onClose}\n >\n <Icon iconSpec={<SvgClose />} />\n </button>\n </div>\n );\n\n return (\n <div\n ref={this.handleRefSet}\n className={classnames(\n \"core-dialog\",\n !modal && \"core-dialog-hidden\",\n opened && \"core-dialog-opened\",\n className\n )}\n style={divStyle}\n data-testid=\"core-dialog-root\"\n {...props}\n >\n {opened && (\n <DivWithOutsideClick onOutsideClick={onOutsideClick}>\n <FocusTrap\n active={trapFocus && modal}\n returnFocusOnDeactivate={true}\n >\n <div\n className={classnames(\n \"core-dialog-container\",\n this.getCSSClassNameFromAlignment(alignment)\n )}\n style={{ ...containerStyle, ...minMaxStyle }}\n data-testid=\"core-dialog-container\"\n onPointerDown={this._handleContainerPointerDown}\n >\n <div\n className={\"core-dialog-area\"}\n ref={this._containerRef}\n style={minMaxStyle}\n >\n {!hideHeader && headerElement}\n <div\n className={classnames(\n \"core-dialog-content\",\n { \"core-dialog-content-no-inset\": !inset },\n contentClassName\n )}\n style={contentStyle}\n >\n {this.props.children}\n </div>\n {footerElement && (\n <div className={\"core-dialog-footer\"} style={footerStyle}>\n {footerElement}\n </div>\n )}\n <div\n className={classnames(\n \"core-dialog-drag\",\n \"core-dialog-drag-right\",\n { \"core-dialog-drag-enabled\": resizable }\n )}\n data-testid=\"core-dialog-drag-right\"\n onPointerDown={this._handleStartResizeRight}\n />\n <div\n className={classnames(\n \"core-dialog-drag\",\n \"core-dialog-drag-bottom-mid\",\n { \"core-dialog-drag-enabled\": resizable }\n )}\n data-testid=\"core-dialog-drag-bottom\"\n onPointerDown={this._handleStartResizeDown}\n />\n <div\n className={classnames(\n \"core-dialog-drag\",\n \"core-dialog-drag-bottom-right\",\n { \"core-dialog-drag-enabled\": resizable }\n )}\n data-testid=\"core-dialog-drag-bottom-right\"\n onPointerDown={this._handleStartResizeDownRight}\n />\n </div>\n </div>\n </FocusTrap>\n </DivWithOutsideClick>\n )}\n </div>\n );\n }\n\n private getCSSClassNameFromAlignment(alignment?: DialogAlignment): string {\n let className = \"\";\n\n // Drop the alignment CSS class if the Dialog has been sized or moved.\n if (this.state.positionSet) return \"\";\n\n // istanbul ignore next\n if (!alignment) alignment = DialogAlignment.Center;\n\n switch (alignment) {\n case DialogAlignment.TopLeft:\n className = \"core-dialog-top-left\";\n break;\n case DialogAlignment.Top:\n className = \"core-dialog-top\";\n break;\n case DialogAlignment.TopRight:\n className = \"core-dialog-top-right\";\n break;\n case DialogAlignment.Left:\n className = \"core-dialog-left\";\n break;\n case DialogAlignment.Center:\n className = \"core-dialog-center\";\n break;\n case DialogAlignment.Right:\n className = \"core-dialog-right\";\n break;\n case DialogAlignment.BottomLeft:\n className = \"core-dialog-bottom-left\";\n break;\n case DialogAlignment.Bottom:\n className = \"core-dialog-bottom\";\n break;\n case DialogAlignment.BottomRight:\n className = \"core-dialog-bottom-right\";\n break;\n }\n\n return className;\n }\n\n protected getFooterButtons(\n buttonCluster: DialogButtonDef[] | undefined,\n primaryStyleType: ButtonProps[\"styleType\"] = \"cta\",\n noCoreButtonClasses: boolean = false\n ): React.ReactNode[] | undefined {\n if (buttonCluster === undefined) return undefined;\n\n const buttons: React.ReactNode[] = [];\n buttonCluster.forEach((button: DialogButtonDef, index: number) => {\n let buttonText = \"\";\n let buttonClass = classnames(\n !noCoreButtonClasses && \"core-dialog-button\",\n !noCoreButtonClasses && `dialog-button-${button.type}`,\n button.className\n );\n let usePrimaryStyleType = false;\n\n switch (button.type) {\n case DialogButtonType.OK:\n buttonText = UiCore.translate(\"dialog.ok\");\n buttonClass = classnames(buttonClass, button.buttonStyle);\n usePrimaryStyleType = true;\n break;\n case DialogButtonType.Retry:\n buttonText = UiCore.translate(\"dialog.retry\");\n buttonClass = classnames(buttonClass, button.buttonStyle);\n usePrimaryStyleType = true;\n break;\n case DialogButtonType.Yes:\n buttonText = UiCore.translate(\"dialog.yes\");\n buttonClass = classnames(buttonClass, button.buttonStyle);\n usePrimaryStyleType = true;\n break;\n case DialogButtonType.No:\n buttonText = UiCore.translate(\"dialog.no\");\n buttonClass = classnames(buttonClass, button.buttonStyle);\n break;\n case DialogButtonType.Cancel:\n buttonText = UiCore.translate(\"dialog.cancel\");\n buttonClass = classnames(buttonClass, button.buttonStyle);\n break;\n case DialogButtonType.Close:\n buttonText = UiCore.translate(\"dialog.close\");\n buttonClass = classnames(buttonClass, button.buttonStyle);\n break;\n case DialogButtonType.Next:\n buttonText = UiCore.translate(\"dialog.next\");\n buttonClass = classnames(buttonClass, button.buttonStyle);\n usePrimaryStyleType = true;\n break;\n case DialogButtonType.Previous:\n buttonText = UiCore.translate(\"dialog.previous\");\n buttonClass = classnames(buttonClass, button.buttonStyle);\n usePrimaryStyleType = true;\n break;\n }\n\n if (button.label) buttonText = button.label;\n\n buttons.push(\n <Button\n className={buttonClass}\n disabled={button.disabled}\n styleType={usePrimaryStyleType ? primaryStyleType : undefined}\n key={index.toString()}\n onClick={button.onClick}\n >\n {buttonText}\n </Button>\n );\n });\n return buttons;\n }\n\n private _handleKeyUp = (event: KeyboardEvent) => {\n if (\n event.key === SpecialKey.Escape &&\n this.props.opened &&\n this.props.onEscape\n ) {\n this.props.onEscape();\n }\n };\n\n protected _handleContainerPointerDown = (event: React.PointerEvent): void => {\n if (!this.props.modal) {\n if (this.props.onModelessPointerDown && this.props.modelessId)\n this.props.onModelessPointerDown(event, this.props.modelessId);\n }\n };\n\n private _handleStartResizeRight = (event: React.PointerEvent): void => {\n event.preventDefault();\n this.setState({ rightResizing: true });\n const parentWindow = this.getParentWindow();\n parentWindow.addEventListener(\"pointermove\", this._handlePointerMove, true);\n };\n\n private _handleStartResizeDown = (event: React.PointerEvent): void => {\n event.preventDefault();\n this.setState({ downResizing: true });\n const parentWindow = this.getParentWindow();\n parentWindow.addEventListener(\"pointermove\", this._handlePointerMove, true);\n };\n\n private _handleStartResizeDownRight = (event: React.PointerEvent): void => {\n event.preventDefault();\n this.setState({ downResizing: true, rightResizing: true });\n const parentWindow = this.getParentWindow();\n parentWindow.addEventListener(\"pointermove\", this._handlePointerMove, true);\n };\n\n private _handleStartMove = (event: React.PointerEvent): void => {\n if (!this.props.movable) return;\n\n event.preventDefault();\n // istanbul ignore else\n if (this._containerRef.current) {\n const rect = this._containerRef.current.getBoundingClientRect();\n const grabOffsetX = event.clientX - rect.left;\n const grabOffsetY = event.clientY - rect.top;\n this.setState({\n grabOffsetX,\n grabOffsetY,\n moving: true,\n });\n\n const parentWindow = this.getParentWindow();\n parentWindow.addEventListener(\n \"pointermove\",\n this._handlePointerMove,\n true\n );\n }\n };\n\n private _handlePointerMove = (event: PointerEvent): void => {\n if (\n (!this.props.resizable && !this.props.movable) ||\n !this._containerRef.current\n )\n return;\n\n const { minWidth, maxWidth, minHeight, maxHeight, movable } = this.props;\n let { x, y, width, height } = this.state;\n\n // istanbul ignore else\n if (x === undefined) {\n // if x is undefined, so is y, width, and height\n const rect = this._containerRef.current.getBoundingClientRect();\n (width = rect.width),\n (height = rect.height),\n (x = rect.left),\n (y = rect.top);\n }\n\n if (this.props.resizable) {\n if (this.state.rightResizing) {\n const pointerX = event.clientX;\n width = pointerX - x;\n // istanbul ignore else\n if (typeof minWidth === \"number\") width = Math.max(width, minWidth);\n if (maxWidth !== undefined && typeof maxWidth === \"number\")\n width = Math.min(width, maxWidth);\n }\n\n if (this.state.downResizing) {\n const pointerY = event.clientY;\n height = pointerY - y!;\n // istanbul ignore else\n if (typeof minHeight === \"number\") height = Math.max(height, minHeight);\n if (maxHeight !== undefined && typeof maxHeight === \"number\")\n height = Math.min(height, maxHeight);\n }\n\n this.setState({ width, height });\n }\n\n // istanbul ignore next\n if (movable && this.state.moving) {\n x = event.clientX - this.state.grabOffsetX;\n y = event.clientY - this.state.grabOffsetY;\n if (y < 0) y = 0;\n if (event.view) {\n if (y > event.view.innerHeight - 32) y = event.view.innerHeight - 32;\n if (x > event.view.innerWidth - 32) x = event.view.innerWidth - 32;\n if (width) {\n if (x < 0 - width + 32) x = 0 - width + 32;\n }\n }\n\n this.setState({ x, y, positionSet: true });\n }\n };\n\n private _handlePointerUp = (_event: PointerEvent): void => {\n if (!this.props.movable && !this.props.resizable) return;\n\n // istanbul ignore else\n if (this._containerRef.current) {\n this.setState({\n rightResizing: false,\n downResizing: false,\n moving: false,\n grabOffsetX: 0,\n grabOffsetY: 0,\n });\n }\n\n const parentWindow = this.getParentWindow();\n parentWindow.removeEventListener(\n \"pointermove\",\n this._handlePointerMove,\n true\n );\n };\n}\n"]}