@itwin/core-react 4.0.0-dev.12 → 4.0.0-dev.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (616) hide show
  1. package/CHANGELOG.md +116 -1
  2. package/ContributeGuidelines.md +17 -14
  3. package/README.md +2 -2
  4. package/lib/cjs/core-react/UiCore.d.ts +40 -40
  5. package/lib/cjs/core-react/UiCore.js +85 -85
  6. package/lib/cjs/core-react/UiCore.js.map +1 -1
  7. package/lib/cjs/core-react/autosuggest/AutoSuggest.d.ts +96 -96
  8. package/lib/cjs/core-react/autosuggest/AutoSuggest.d.ts.map +1 -1
  9. package/lib/cjs/core-react/autosuggest/AutoSuggest.js +174 -174
  10. package/lib/cjs/core-react/autosuggest/AutoSuggest.scss +1 -2
  11. package/lib/cjs/core-react/badge/Badge.d.ts +18 -18
  12. package/lib/cjs/core-react/badge/Badge.js +26 -26
  13. package/lib/cjs/core-react/badge/BadgeUtilities.d.ts +12 -12
  14. package/lib/cjs/core-react/badge/BadgeUtilities.js +38 -38
  15. package/lib/cjs/core-react/badge/BetaBadge.d.ts +9 -9
  16. package/lib/cjs/core-react/badge/BetaBadge.js +22 -22
  17. package/lib/cjs/core-react/badge/NewBadge.d.ts +10 -10
  18. package/lib/cjs/core-react/badge/NewBadge.js +23 -23
  19. package/lib/cjs/core-react/base/Centered.d.ts +10 -10
  20. package/lib/cjs/core-react/base/Centered.js +20 -20
  21. package/lib/cjs/core-react/base/Div.d.ts +16 -16
  22. package/lib/cjs/core-react/base/Div.js +20 -20
  23. package/lib/cjs/core-react/base/DivWithOutsideClick.d.ts +79 -79
  24. package/lib/cjs/core-react/base/DivWithOutsideClick.js +16 -16
  25. package/lib/cjs/core-react/base/FillCentered.d.ts +10 -10
  26. package/lib/cjs/core-react/base/FillCentered.js +20 -20
  27. package/lib/cjs/core-react/base/FlexWrapContainer.d.ts +11 -11
  28. package/lib/cjs/core-react/base/FlexWrapContainer.js +21 -21
  29. package/lib/cjs/core-react/base/Gap.d.ts +15 -15
  30. package/lib/cjs/core-react/base/Gap.js +20 -20
  31. package/lib/cjs/core-react/base/Gap.js.map +1 -1
  32. package/lib/cjs/core-react/base/PointerEvents.d.ts +7 -7
  33. package/lib/cjs/core-react/base/PointerEvents.js +17 -17
  34. package/lib/cjs/core-react/base/ScrollView.d.ts +11 -11
  35. package/lib/cjs/core-react/base/ScrollView.js +21 -21
  36. package/lib/cjs/core-react/button/UnderlinedButton.d.ts +24 -24
  37. package/lib/cjs/core-react/button/UnderlinedButton.js +35 -35
  38. package/lib/cjs/core-react/checklistbox/CheckListBox.d.ts +40 -40
  39. package/lib/cjs/core-react/checklistbox/CheckListBox.js +42 -42
  40. package/lib/cjs/core-react/checklistbox/CheckListBox.scss +0 -1
  41. package/lib/cjs/core-react/classes.scss +0 -2
  42. package/lib/cjs/core-react/contextmenu/ContextMenu.d.ts +93 -93
  43. package/lib/cjs/core-react/contextmenu/ContextMenu.d.ts.map +1 -1
  44. package/lib/cjs/core-react/contextmenu/ContextMenu.js +363 -364
  45. package/lib/cjs/core-react/contextmenu/ContextMenu.js.map +1 -1
  46. package/lib/cjs/core-react/contextmenu/ContextMenuDirection.d.ts +18 -18
  47. package/lib/cjs/core-react/contextmenu/ContextMenuDirection.js +26 -26
  48. package/lib/cjs/core-react/contextmenu/ContextMenuDivider.d.ts +12 -12
  49. package/lib/cjs/core-react/contextmenu/ContextMenuDivider.js +23 -23
  50. package/lib/cjs/core-react/contextmenu/ContextMenuItem.d.ts +61 -61
  51. package/lib/cjs/core-react/contextmenu/ContextMenuItem.js +108 -108
  52. package/lib/cjs/core-react/contextmenu/ContextMenuItem.js.map +1 -1
  53. package/lib/cjs/core-react/contextmenu/ContextSubMenu.d.ts +51 -51
  54. package/lib/cjs/core-react/contextmenu/ContextSubMenu.d.ts.map +1 -1
  55. package/lib/cjs/core-react/contextmenu/ContextSubMenu.js +162 -162
  56. package/lib/cjs/core-react/contextmenu/ContextSubMenu.js.map +1 -1
  57. package/lib/cjs/core-react/contextmenu/GlobalContextMenu.d.ts +34 -34
  58. package/lib/cjs/core-react/contextmenu/GlobalContextMenu.js +61 -63
  59. package/lib/cjs/core-react/contextmenu/GlobalContextMenu.js.map +1 -1
  60. package/lib/cjs/core-react/contextmenu/PopupContextMenu.d.ts +53 -53
  61. package/lib/cjs/core-react/contextmenu/PopupContextMenu.js +55 -55
  62. package/lib/cjs/core-react/contextmenu/TildeFinder.d.ts +18 -18
  63. package/lib/cjs/core-react/contextmenu/TildeFinder.js +70 -70
  64. package/lib/cjs/core-react/contextmenu/TildeFinder.js.map +1 -1
  65. package/lib/cjs/core-react/dialog/Dialog.d.ts +132 -132
  66. package/lib/cjs/core-react/dialog/Dialog.js +374 -375
  67. package/lib/cjs/core-react/dialog/Dialog.js.map +1 -1
  68. package/lib/cjs/core-react/dialog/GlobalDialog.d.ts +28 -28
  69. package/lib/cjs/core-react/dialog/GlobalDialog.js +52 -53
  70. package/lib/cjs/core-react/dialog/GlobalDialog.js.map +1 -1
  71. package/lib/cjs/core-react/elementseparator/ElementSeparator.d.ts +41 -41
  72. package/lib/cjs/core-react/elementseparator/ElementSeparator.js +163 -163
  73. package/lib/cjs/core-react/elementseparator/ElementSeparator.js.map +1 -1
  74. package/lib/cjs/core-react/enums/Alignment.d.ts +22 -22
  75. package/lib/cjs/core-react/enums/Alignment.js +31 -31
  76. package/lib/cjs/core-react/enums/CheckBoxState.d.ts +20 -20
  77. package/lib/cjs/core-react/enums/CheckBoxState.js +19 -19
  78. package/lib/cjs/core-react/enums/Orientation.d.ts +11 -11
  79. package/lib/cjs/core-react/enums/Orientation.js +19 -19
  80. package/lib/cjs/core-react/enums/SortDirection.d.ts +12 -12
  81. package/lib/cjs/core-react/enums/SortDirection.js +20 -20
  82. package/lib/cjs/core-react/enums/TimeFormat.d.ts +14 -14
  83. package/lib/cjs/core-react/enums/TimeFormat.js +22 -22
  84. package/lib/cjs/core-react/expandable/ExpandableList.d.ts +37 -37
  85. package/lib/cjs/core-react/expandable/ExpandableList.js +57 -57
  86. package/lib/cjs/core-react/expandable/ExpandableList.js.map +1 -1
  87. package/lib/cjs/core-react/focus/ItemKeyboardNavigator.d.ts +53 -53
  88. package/lib/cjs/core-react/focus/ItemKeyboardNavigator.d.ts.map +1 -1
  89. package/lib/cjs/core-react/focus/ItemKeyboardNavigator.js +150 -150
  90. package/lib/cjs/core-react/focustrap/FocusTrap.d.ts +28 -28
  91. package/lib/cjs/core-react/focustrap/FocusTrap.js +196 -196
  92. package/lib/cjs/core-react/hocs/withIsPressed.d.ts +77 -77
  93. package/lib/cjs/core-react/hocs/withIsPressed.js +46 -46
  94. package/lib/cjs/core-react/hocs/withOnOutsideClick.d.ts +103 -103
  95. package/lib/cjs/core-react/hocs/withOnOutsideClick.js +114 -115
  96. package/lib/cjs/core-react/hocs/withOnOutsideClick.js.map +1 -1
  97. package/lib/cjs/core-react/hocs/withTimeout.d.ts +74 -74
  98. package/lib/cjs/core-react/hocs/withTimeout.js +46 -46
  99. package/lib/cjs/core-react/icons/ConditionalIconItem.d.ts +26 -26
  100. package/lib/cjs/core-react/icons/ConditionalIconItem.js +64 -64
  101. package/lib/cjs/core-react/icons/IconComponent.d.ts +25 -25
  102. package/lib/cjs/core-react/icons/IconComponent.d.ts.map +1 -1
  103. package/lib/cjs/core-react/icons/IconComponent.js +48 -48
  104. package/lib/cjs/core-react/icons/IconComponent.js.map +1 -1
  105. package/lib/cjs/core-react/icons/SvgPath.d.ts +23 -23
  106. package/lib/cjs/core-react/icons/SvgPath.js +27 -27
  107. package/lib/cjs/core-react/icons/WebFontIcon.d.ts +25 -25
  108. package/lib/cjs/core-react/icons/WebFontIcon.js +21 -21
  109. package/lib/cjs/core-react/imagecheckbox/ImageCheckBox.d.ts +42 -42
  110. package/lib/cjs/core-react/imagecheckbox/ImageCheckBox.js +56 -56
  111. package/lib/cjs/core-react/index.scss +0 -2
  112. package/lib/cjs/core-react/inputs/Input.d.ts +20 -20
  113. package/lib/cjs/core-react/inputs/Input.js +45 -45
  114. package/lib/cjs/core-react/inputs/InputLabel.d.ts +20 -20
  115. package/lib/cjs/core-react/inputs/InputLabel.js +41 -41
  116. package/lib/cjs/core-react/inputs/InputStatus.d.ts +11 -11
  117. package/lib/cjs/core-react/inputs/InputStatus.js +19 -19
  118. package/lib/cjs/core-react/inputs/LabeledComponentProps.d.ts +33 -33
  119. package/lib/cjs/core-react/inputs/LabeledComponentProps.js +9 -9
  120. package/lib/cjs/core-react/inputs/iconinput/IconInput.d.ts +23 -23
  121. package/lib/cjs/core-react/inputs/iconinput/IconInput.js +29 -29
  122. package/lib/cjs/core-react/inputs/numberinput/NumberInput.d.ts +50 -50
  123. package/lib/cjs/core-react/inputs/numberinput/NumberInput.d.ts.map +1 -1
  124. package/lib/cjs/core-react/inputs/numberinput/NumberInput.js +153 -153
  125. package/lib/cjs/core-react/listbox/Listbox.d.ts +55 -55
  126. package/lib/cjs/core-react/listbox/Listbox.d.ts.map +1 -1
  127. package/lib/cjs/core-react/listbox/Listbox.js +221 -222
  128. package/lib/cjs/core-react/listbox/Listbox.js.map +1 -1
  129. package/lib/cjs/core-react/loading/LoadingBar.d.ts +29 -29
  130. package/lib/cjs/core-react/loading/LoadingBar.js +40 -40
  131. package/lib/cjs/core-react/loading/LoadingBar.js.map +1 -1
  132. package/lib/cjs/core-react/loading/LoadingPrompt.d.ts +39 -39
  133. package/lib/cjs/core-react/loading/LoadingPrompt.js +44 -44
  134. package/lib/cjs/core-react/loading/LoadingPrompt.js.map +1 -1
  135. package/lib/cjs/core-react/loading/LoadingSpinner.d.ts +32 -32
  136. package/lib/cjs/core-react/loading/LoadingSpinner.d.ts.map +1 -1
  137. package/lib/cjs/core-react/loading/LoadingSpinner.js +30 -30
  138. package/lib/cjs/core-react/loading/LoadingSpinner.js.map +1 -1
  139. package/lib/cjs/core-react/loading/LoadingStatus.d.ts +24 -24
  140. package/lib/cjs/core-react/loading/LoadingStatus.js +37 -37
  141. package/lib/cjs/core-react/loading/LoadingStatus.js.map +1 -1
  142. package/lib/cjs/core-react/messagebox/MessageBox.d.ts +80 -80
  143. package/lib/cjs/core-react/messagebox/MessageBox.js +114 -114
  144. package/lib/cjs/core-react/messagebox/MessageBox.js.map +1 -1
  145. package/lib/cjs/core-react/notification/MessageRenderer.d.ts +19 -19
  146. package/lib/cjs/core-react/notification/MessageRenderer.js +81 -81
  147. package/lib/cjs/core-react/notification/MessageRenderer.js.map +1 -1
  148. package/lib/cjs/core-react/notification/MessageType.d.ts +22 -22
  149. package/lib/cjs/core-react/notification/MessageType.d.ts.map +1 -1
  150. package/lib/cjs/core-react/notification/MessageType.js +24 -24
  151. package/lib/cjs/core-react/popup/Popup.d.ts +111 -111
  152. package/lib/cjs/core-react/popup/Popup.js +418 -422
  153. package/lib/cjs/core-react/popup/Popup.js.map +1 -1
  154. package/lib/cjs/core-react/radialmenu/Annulus.d.ts +54 -54
  155. package/lib/cjs/core-react/radialmenu/Annulus.js +82 -82
  156. package/lib/cjs/core-react/radialmenu/RadialMenu.d.ts +97 -97
  157. package/lib/cjs/core-react/radialmenu/RadialMenu.js +179 -179
  158. package/lib/cjs/core-react/radialmenu/RadialMenu.js.map +1 -1
  159. package/lib/cjs/core-react/searchbox/SearchBox.d.ts +52 -52
  160. package/lib/cjs/core-react/searchbox/SearchBox.js +111 -111
  161. package/lib/cjs/core-react/searchbox/SearchBox.scss +2 -3
  162. package/lib/cjs/core-react/settings/SettingsContainer.d.ts +30 -30
  163. package/lib/cjs/core-react/settings/SettingsContainer.js +121 -121
  164. package/lib/cjs/core-react/settings/SettingsManager.d.ts +132 -132
  165. package/lib/cjs/core-react/settings/SettingsManager.js +122 -122
  166. package/lib/cjs/core-react/style/index.scss +0 -7
  167. package/lib/cjs/core-react/tabs/Tabs.d.ts +71 -71
  168. package/lib/cjs/core-react/tabs/Tabs.js +125 -125
  169. package/lib/cjs/core-react/tabs/VerticalTabs.d.ts +9 -9
  170. package/lib/cjs/core-react/tabs/VerticalTabs.js +20 -20
  171. package/lib/cjs/core-react/text/BlockText.d.ts +9 -9
  172. package/lib/cjs/core-react/text/BlockText.js +20 -20
  173. package/lib/cjs/core-react/text/BodyText.d.ts +10 -10
  174. package/lib/cjs/core-react/text/BodyText.js +21 -21
  175. package/lib/cjs/core-react/text/BodyText.js.map +1 -1
  176. package/lib/cjs/core-react/text/DisabledText.d.ts +6 -6
  177. package/lib/cjs/core-react/text/DisabledText.js +20 -20
  178. package/lib/cjs/core-react/text/FilteredText.d.ts +24 -24
  179. package/lib/cjs/core-react/text/FilteredText.js +40 -40
  180. package/lib/cjs/core-react/text/FilteredText.js.map +1 -1
  181. package/lib/cjs/core-react/text/MutedText.d.ts +10 -10
  182. package/lib/cjs/core-react/text/MutedText.js +21 -21
  183. package/lib/cjs/core-react/text/MutedText.js.map +1 -1
  184. package/lib/cjs/core-react/text/StyledText.d.ts +17 -17
  185. package/lib/cjs/core-react/text/StyledText.js +21 -21
  186. package/lib/cjs/core-react/text/StyledText.js.map +1 -1
  187. package/lib/cjs/core-react/text/TextProps.d.ts +10 -10
  188. package/lib/cjs/core-react/text/TextProps.js +9 -9
  189. package/lib/cjs/core-react/tree/Branch.d.ts +19 -19
  190. package/lib/cjs/core-react/tree/Branch.js +23 -23
  191. package/lib/cjs/core-react/tree/ExpansionToggle.d.ts +20 -20
  192. package/lib/cjs/core-react/tree/ExpansionToggle.js +30 -30
  193. package/lib/cjs/core-react/tree/Node.d.ts +79 -79
  194. package/lib/cjs/core-react/tree/Node.d.ts.map +1 -1
  195. package/lib/cjs/core-react/tree/Node.js +87 -88
  196. package/lib/cjs/core-react/tree/Node.js.map +1 -1
  197. package/lib/cjs/core-react/tree/Node.scss +0 -15
  198. package/lib/cjs/core-react/tree/Placeholder.d.ts +22 -22
  199. package/lib/cjs/core-react/tree/Placeholder.js +31 -31
  200. package/lib/cjs/core-react/tree/Tree.d.ts +28 -28
  201. package/lib/cjs/core-react/tree/Tree.js +100 -100
  202. package/lib/cjs/core-react/uistate/LocalStateStorage.d.ts +16 -16
  203. package/lib/cjs/core-react/uistate/LocalStateStorage.js +49 -49
  204. package/lib/cjs/core-react/uistate/UiStateEntry.d.ts +30 -30
  205. package/lib/cjs/core-react/uistate/UiStateEntry.js +59 -59
  206. package/lib/cjs/core-react/uistate/UiStateStorage.d.ts +28 -28
  207. package/lib/cjs/core-react/uistate/UiStateStorage.js +21 -21
  208. package/lib/cjs/core-react/utils/IconHelper.d.ts +23 -23
  209. package/lib/cjs/core-react/utils/IconHelper.js +62 -62
  210. package/lib/cjs/core-react/utils/IconWebComponent.d.ts +10 -10
  211. package/lib/cjs/core-react/utils/IconWebComponent.js +72 -72
  212. package/lib/cjs/core-react/utils/IconWebComponent.js.map +1 -1
  213. package/lib/cjs/core-react/utils/Point.d.ts +37 -37
  214. package/lib/cjs/core-react/utils/Point.js +73 -73
  215. package/lib/cjs/core-react/utils/Point.js.map +1 -1
  216. package/lib/cjs/core-react/utils/Props.d.ts +38 -38
  217. package/lib/cjs/core-react/utils/Props.d.ts.map +1 -1
  218. package/lib/cjs/core-react/utils/Props.js +9 -9
  219. package/lib/cjs/core-react/utils/Rectangle.d.ts +144 -144
  220. package/lib/cjs/core-react/utils/Rectangle.js +270 -270
  221. package/lib/cjs/core-react/utils/Rectangle.js.map +1 -1
  222. package/lib/cjs/core-react/utils/ScrollPositionMaintainer.d.ts +23 -23
  223. package/lib/cjs/core-react/utils/ScrollPositionMaintainer.js +36 -36
  224. package/lib/cjs/core-react/utils/Size.d.ts +23 -23
  225. package/lib/cjs/core-react/utils/Size.js +32 -32
  226. package/lib/cjs/core-react/utils/Size.js.map +1 -1
  227. package/lib/cjs/core-react/utils/Timer.d.ts +35 -35
  228. package/lib/cjs/core-react/utils/Timer.d.ts.map +1 -1
  229. package/lib/cjs/core-react/utils/Timer.js +64 -64
  230. package/lib/cjs/core-react/utils/UiGeometry.d.ts +20 -20
  231. package/lib/cjs/core-react/utils/UiGeometry.js +28 -28
  232. package/lib/cjs/core-react/utils/flattenChildren.d.ts +8 -8
  233. package/lib/cjs/core-react/utils/flattenChildren.js +27 -27
  234. package/lib/cjs/core-react/utils/getBestBWContrastColor.d.ts +7 -7
  235. package/lib/cjs/core-react/utils/getBestBWContrastColor.js +22 -22
  236. package/lib/cjs/core-react/utils/getBestBWContrastColor.js.map +1 -1
  237. package/lib/cjs/core-react/utils/getCssVariable.d.ts +11 -11
  238. package/lib/cjs/core-react/utils/getCssVariable.js +31 -31
  239. package/lib/cjs/core-react/utils/getCssVariable.js.map +1 -1
  240. package/lib/cjs/core-react/utils/getDisplayName.d.ts +8 -8
  241. package/lib/cjs/core-react/utils/getDisplayName.js +21 -21
  242. package/lib/cjs/core-react/utils/getUserColor.d.ts +7 -7
  243. package/lib/cjs/core-react/utils/getUserColor.js +38 -38
  244. package/lib/cjs/core-react/utils/hooks/ResizeObserverPolyfill.d.ts +4 -4
  245. package/lib/cjs/core-react/utils/hooks/ResizeObserverPolyfill.d.ts.map +1 -1
  246. package/lib/cjs/core-react/utils/hooks/ResizeObserverPolyfill.js +19 -19
  247. package/lib/cjs/core-react/utils/hooks/useCrossOriginPopup.d.ts +7 -7
  248. package/lib/cjs/core-react/utils/hooks/useCrossOriginPopup.js +88 -89
  249. package/lib/cjs/core-react/utils/hooks/useCrossOriginPopup.js.map +1 -1
  250. package/lib/cjs/core-react/utils/hooks/useDisposable.d.ts +17 -17
  251. package/lib/cjs/core-react/utils/hooks/useDisposable.js +38 -38
  252. package/lib/cjs/core-react/utils/hooks/useEffectSkipFirst.d.ts +8 -8
  253. package/lib/cjs/core-react/utils/hooks/useEffectSkipFirst.js +26 -26
  254. package/lib/cjs/core-react/utils/hooks/useEventListener.d.ts +11 -11
  255. package/lib/cjs/core-react/utils/hooks/useEventListener.js +43 -43
  256. package/lib/cjs/core-react/utils/hooks/useInterval.d.ts +5 -5
  257. package/lib/cjs/core-react/utils/hooks/useInterval.js +36 -36
  258. package/lib/cjs/core-react/utils/hooks/useLifecycleLogging.d.ts +5 -5
  259. package/lib/cjs/core-react/utils/hooks/useLifecycleLogging.js +64 -64
  260. package/lib/cjs/core-react/utils/hooks/useOnOutsideClick.d.ts +12 -12
  261. package/lib/cjs/core-react/utils/hooks/useOnOutsideClick.d.ts.map +1 -1
  262. package/lib/cjs/core-react/utils/hooks/useOnOutsideClick.js +92 -92
  263. package/lib/cjs/core-react/utils/hooks/useProximityToMouse.d.ts +55 -55
  264. package/lib/cjs/core-react/utils/hooks/useProximityToMouse.js +114 -114
  265. package/lib/cjs/core-react/utils/hooks/useRefEffect.d.ts +7 -7
  266. package/lib/cjs/core-react/utils/hooks/useRefEffect.js +23 -23
  267. package/lib/cjs/core-react/utils/hooks/useRefState.d.ts +21 -21
  268. package/lib/cjs/core-react/utils/hooks/useRefState.js +35 -35
  269. package/lib/cjs/core-react/utils/hooks/useRefs.d.ts +12 -12
  270. package/lib/cjs/core-react/utils/hooks/useRefs.js +53 -53
  271. package/lib/cjs/core-react/utils/hooks/useResizeObserver.d.ts +39 -39
  272. package/lib/cjs/core-react/utils/hooks/useResizeObserver.js +203 -208
  273. package/lib/cjs/core-react/utils/hooks/useResizeObserver.js.map +1 -1
  274. package/lib/cjs/core-react/utils/hooks/useTargeted.d.ts +8 -8
  275. package/lib/cjs/core-react/utils/hooks/useTargeted.js +28 -28
  276. package/lib/cjs/core-react/utils/hooks/useThrottledFn.d.ts +15 -15
  277. package/lib/cjs/core-react/utils/hooks/useThrottledFn.js +25 -25
  278. package/lib/cjs/core-react/utils/hooks/useWidgetOpacityContext.d.ts +20 -20
  279. package/lib/cjs/core-react/utils/hooks/useWidgetOpacityContext.js +27 -27
  280. package/lib/cjs/core-react/utils/isPromiseLike.d.ts +7 -7
  281. package/lib/cjs/core-react/utils/isPromiseLike.js +17 -17
  282. package/lib/cjs/core-react/utils/shallowDiffers.d.ts +11 -11
  283. package/lib/cjs/core-react/utils/shallowDiffers.js +29 -29
  284. package/lib/cjs/core-react/utils/typeUtils.d.ts +7 -7
  285. package/lib/cjs/core-react/utils/typeUtils.d.ts.map +1 -1
  286. package/lib/cjs/core-react/utils/typeUtils.js +9 -9
  287. package/lib/cjs/core-react.d.ts +236 -236
  288. package/lib/cjs/core-react.js +263 -259
  289. package/lib/cjs/core-react.js.map +1 -1
  290. package/lib/esm/core-react/UiCore.d.ts +40 -40
  291. package/lib/esm/core-react/UiCore.js +82 -81
  292. package/lib/esm/core-react/UiCore.js.map +1 -1
  293. package/lib/esm/core-react/autosuggest/AutoSuggest.d.ts +96 -96
  294. package/lib/esm/core-react/autosuggest/AutoSuggest.d.ts.map +1 -1
  295. package/lib/esm/core-react/autosuggest/AutoSuggest.js +170 -170
  296. package/lib/esm/core-react/autosuggest/AutoSuggest.scss +1 -2
  297. package/lib/esm/core-react/badge/Badge.d.ts +18 -18
  298. package/lib/esm/core-react/badge/Badge.js +22 -22
  299. package/lib/esm/core-react/badge/BadgeUtilities.d.ts +12 -12
  300. package/lib/esm/core-react/badge/BadgeUtilities.js +34 -34
  301. package/lib/esm/core-react/badge/BetaBadge.d.ts +9 -9
  302. package/lib/esm/core-react/badge/BetaBadge.js +18 -18
  303. package/lib/esm/core-react/badge/NewBadge.d.ts +10 -10
  304. package/lib/esm/core-react/badge/NewBadge.js +19 -19
  305. package/lib/esm/core-react/base/Centered.d.ts +10 -10
  306. package/lib/esm/core-react/base/Centered.js +16 -16
  307. package/lib/esm/core-react/base/Div.d.ts +16 -16
  308. package/lib/esm/core-react/base/Div.js +16 -16
  309. package/lib/esm/core-react/base/DivWithOutsideClick.d.ts +79 -79
  310. package/lib/esm/core-react/base/DivWithOutsideClick.js +13 -13
  311. package/lib/esm/core-react/base/FillCentered.d.ts +10 -10
  312. package/lib/esm/core-react/base/FillCentered.js +16 -16
  313. package/lib/esm/core-react/base/FlexWrapContainer.d.ts +11 -11
  314. package/lib/esm/core-react/base/FlexWrapContainer.js +17 -17
  315. package/lib/esm/core-react/base/Gap.d.ts +15 -15
  316. package/lib/esm/core-react/base/Gap.js +16 -16
  317. package/lib/esm/core-react/base/Gap.js.map +1 -1
  318. package/lib/esm/core-react/base/PointerEvents.d.ts +7 -7
  319. package/lib/esm/core-react/base/PointerEvents.js +13 -13
  320. package/lib/esm/core-react/base/ScrollView.d.ts +11 -11
  321. package/lib/esm/core-react/base/ScrollView.js +17 -17
  322. package/lib/esm/core-react/button/UnderlinedButton.d.ts +24 -24
  323. package/lib/esm/core-react/button/UnderlinedButton.js +31 -31
  324. package/lib/esm/core-react/checklistbox/CheckListBox.d.ts +40 -40
  325. package/lib/esm/core-react/checklistbox/CheckListBox.js +36 -36
  326. package/lib/esm/core-react/checklistbox/CheckListBox.scss +0 -1
  327. package/lib/esm/core-react/classes.scss +0 -2
  328. package/lib/esm/core-react/contextmenu/ContextMenu.d.ts +93 -93
  329. package/lib/esm/core-react/contextmenu/ContextMenu.d.ts.map +1 -1
  330. package/lib/esm/core-react/contextmenu/ContextMenu.js +360 -360
  331. package/lib/esm/core-react/contextmenu/ContextMenu.js.map +1 -1
  332. package/lib/esm/core-react/contextmenu/ContextMenuDirection.d.ts +18 -18
  333. package/lib/esm/core-react/contextmenu/ContextMenuDirection.js +23 -23
  334. package/lib/esm/core-react/contextmenu/ContextMenuDivider.d.ts +12 -12
  335. package/lib/esm/core-react/contextmenu/ContextMenuDivider.js +19 -19
  336. package/lib/esm/core-react/contextmenu/ContextMenuItem.d.ts +61 -61
  337. package/lib/esm/core-react/contextmenu/ContextMenuItem.js +105 -104
  338. package/lib/esm/core-react/contextmenu/ContextMenuItem.js.map +1 -1
  339. package/lib/esm/core-react/contextmenu/ContextSubMenu.d.ts +51 -51
  340. package/lib/esm/core-react/contextmenu/ContextSubMenu.d.ts.map +1 -1
  341. package/lib/esm/core-react/contextmenu/ContextSubMenu.js +159 -158
  342. package/lib/esm/core-react/contextmenu/ContextSubMenu.js.map +1 -1
  343. package/lib/esm/core-react/contextmenu/GlobalContextMenu.d.ts +34 -34
  344. package/lib/esm/core-react/contextmenu/GlobalContextMenu.js +57 -59
  345. package/lib/esm/core-react/contextmenu/GlobalContextMenu.js.map +1 -1
  346. package/lib/esm/core-react/contextmenu/PopupContextMenu.d.ts +53 -53
  347. package/lib/esm/core-react/contextmenu/PopupContextMenu.js +51 -51
  348. package/lib/esm/core-react/contextmenu/TildeFinder.d.ts +18 -18
  349. package/lib/esm/core-react/contextmenu/TildeFinder.js +67 -66
  350. package/lib/esm/core-react/contextmenu/TildeFinder.js.map +1 -1
  351. package/lib/esm/core-react/dialog/Dialog.d.ts +132 -132
  352. package/lib/esm/core-react/dialog/Dialog.js +371 -371
  353. package/lib/esm/core-react/dialog/Dialog.js.map +1 -1
  354. package/lib/esm/core-react/dialog/GlobalDialog.d.ts +28 -28
  355. package/lib/esm/core-react/dialog/GlobalDialog.js +48 -49
  356. package/lib/esm/core-react/dialog/GlobalDialog.js.map +1 -1
  357. package/lib/esm/core-react/elementseparator/ElementSeparator.d.ts +41 -41
  358. package/lib/esm/core-react/elementseparator/ElementSeparator.js +159 -159
  359. package/lib/esm/core-react/elementseparator/ElementSeparator.js.map +1 -1
  360. package/lib/esm/core-react/enums/Alignment.d.ts +22 -22
  361. package/lib/esm/core-react/enums/Alignment.js +28 -28
  362. package/lib/esm/core-react/enums/CheckBoxState.d.ts +20 -20
  363. package/lib/esm/core-react/enums/CheckBoxState.js +16 -16
  364. package/lib/esm/core-react/enums/Orientation.d.ts +11 -11
  365. package/lib/esm/core-react/enums/Orientation.js +16 -16
  366. package/lib/esm/core-react/enums/SortDirection.d.ts +12 -12
  367. package/lib/esm/core-react/enums/SortDirection.js +17 -17
  368. package/lib/esm/core-react/enums/TimeFormat.d.ts +14 -14
  369. package/lib/esm/core-react/enums/TimeFormat.js +19 -19
  370. package/lib/esm/core-react/expandable/ExpandableList.d.ts +37 -37
  371. package/lib/esm/core-react/expandable/ExpandableList.js +54 -53
  372. package/lib/esm/core-react/expandable/ExpandableList.js.map +1 -1
  373. package/lib/esm/core-react/focus/ItemKeyboardNavigator.d.ts +53 -53
  374. package/lib/esm/core-react/focus/ItemKeyboardNavigator.d.ts.map +1 -1
  375. package/lib/esm/core-react/focus/ItemKeyboardNavigator.js +145 -145
  376. package/lib/esm/core-react/focustrap/FocusTrap.d.ts +28 -28
  377. package/lib/esm/core-react/focustrap/FocusTrap.js +191 -191
  378. package/lib/esm/core-react/hocs/withIsPressed.d.ts +77 -77
  379. package/lib/esm/core-react/hocs/withIsPressed.js +42 -42
  380. package/lib/esm/core-react/hocs/withOnOutsideClick.d.ts +103 -103
  381. package/lib/esm/core-react/hocs/withOnOutsideClick.js +110 -111
  382. package/lib/esm/core-react/hocs/withOnOutsideClick.js.map +1 -1
  383. package/lib/esm/core-react/hocs/withTimeout.d.ts +74 -74
  384. package/lib/esm/core-react/hocs/withTimeout.js +42 -42
  385. package/lib/esm/core-react/icons/ConditionalIconItem.d.ts +26 -26
  386. package/lib/esm/core-react/icons/ConditionalIconItem.js +60 -60
  387. package/lib/esm/core-react/icons/IconComponent.d.ts +25 -25
  388. package/lib/esm/core-react/icons/IconComponent.d.ts.map +1 -1
  389. package/lib/esm/core-react/icons/IconComponent.js +44 -44
  390. package/lib/esm/core-react/icons/IconComponent.js.map +1 -1
  391. package/lib/esm/core-react/icons/SvgPath.d.ts +23 -23
  392. package/lib/esm/core-react/icons/SvgPath.js +23 -23
  393. package/lib/esm/core-react/icons/WebFontIcon.d.ts +25 -25
  394. package/lib/esm/core-react/icons/WebFontIcon.js +17 -17
  395. package/lib/esm/core-react/imagecheckbox/ImageCheckBox.d.ts +42 -42
  396. package/lib/esm/core-react/imagecheckbox/ImageCheckBox.js +52 -52
  397. package/lib/esm/core-react/index.scss +0 -2
  398. package/lib/esm/core-react/inputs/Input.d.ts +20 -20
  399. package/lib/esm/core-react/inputs/Input.js +42 -42
  400. package/lib/esm/core-react/inputs/InputLabel.d.ts +20 -20
  401. package/lib/esm/core-react/inputs/InputLabel.js +37 -37
  402. package/lib/esm/core-react/inputs/InputStatus.d.ts +11 -11
  403. package/lib/esm/core-react/inputs/InputStatus.js +16 -16
  404. package/lib/esm/core-react/inputs/LabeledComponentProps.d.ts +33 -33
  405. package/lib/esm/core-react/inputs/LabeledComponentProps.js +8 -8
  406. package/lib/esm/core-react/inputs/iconinput/IconInput.d.ts +23 -23
  407. package/lib/esm/core-react/inputs/iconinput/IconInput.js +26 -26
  408. package/lib/esm/core-react/inputs/numberinput/NumberInput.d.ts +50 -50
  409. package/lib/esm/core-react/inputs/numberinput/NumberInput.d.ts.map +1 -1
  410. package/lib/esm/core-react/inputs/numberinput/NumberInput.js +150 -150
  411. package/lib/esm/core-react/listbox/Listbox.d.ts +55 -55
  412. package/lib/esm/core-react/listbox/Listbox.d.ts.map +1 -1
  413. package/lib/esm/core-react/listbox/Listbox.js +216 -217
  414. package/lib/esm/core-react/listbox/Listbox.js.map +1 -1
  415. package/lib/esm/core-react/loading/LoadingBar.d.ts +29 -29
  416. package/lib/esm/core-react/loading/LoadingBar.js +36 -35
  417. package/lib/esm/core-react/loading/LoadingBar.js.map +1 -1
  418. package/lib/esm/core-react/loading/LoadingPrompt.d.ts +39 -39
  419. package/lib/esm/core-react/loading/LoadingPrompt.js +41 -40
  420. package/lib/esm/core-react/loading/LoadingPrompt.js.map +1 -1
  421. package/lib/esm/core-react/loading/LoadingSpinner.d.ts +32 -32
  422. package/lib/esm/core-react/loading/LoadingSpinner.d.ts.map +1 -1
  423. package/lib/esm/core-react/loading/LoadingSpinner.js +27 -26
  424. package/lib/esm/core-react/loading/LoadingSpinner.js.map +1 -1
  425. package/lib/esm/core-react/loading/LoadingStatus.d.ts +24 -24
  426. package/lib/esm/core-react/loading/LoadingStatus.js +34 -33
  427. package/lib/esm/core-react/loading/LoadingStatus.js.map +1 -1
  428. package/lib/esm/core-react/messagebox/MessageBox.d.ts +80 -80
  429. package/lib/esm/core-react/messagebox/MessageBox.js +110 -109
  430. package/lib/esm/core-react/messagebox/MessageBox.js.map +1 -1
  431. package/lib/esm/core-react/notification/MessageRenderer.d.ts +19 -19
  432. package/lib/esm/core-react/notification/MessageRenderer.js +77 -77
  433. package/lib/esm/core-react/notification/MessageRenderer.js.map +1 -1
  434. package/lib/esm/core-react/notification/MessageType.d.ts +22 -22
  435. package/lib/esm/core-react/notification/MessageType.d.ts.map +1 -1
  436. package/lib/esm/core-react/notification/MessageType.js +19 -19
  437. package/lib/esm/core-react/popup/Popup.d.ts +111 -111
  438. package/lib/esm/core-react/popup/Popup.js +415 -418
  439. package/lib/esm/core-react/popup/Popup.js.map +1 -1
  440. package/lib/esm/core-react/radialmenu/Annulus.d.ts +54 -54
  441. package/lib/esm/core-react/radialmenu/Annulus.js +75 -75
  442. package/lib/esm/core-react/radialmenu/RadialMenu.d.ts +97 -97
  443. package/lib/esm/core-react/radialmenu/RadialMenu.js +175 -174
  444. package/lib/esm/core-react/radialmenu/RadialMenu.js.map +1 -1
  445. package/lib/esm/core-react/searchbox/SearchBox.d.ts +52 -52
  446. package/lib/esm/core-react/searchbox/SearchBox.js +107 -107
  447. package/lib/esm/core-react/searchbox/SearchBox.scss +2 -3
  448. package/lib/esm/core-react/settings/SettingsContainer.d.ts +30 -30
  449. package/lib/esm/core-react/settings/SettingsContainer.js +115 -115
  450. package/lib/esm/core-react/settings/SettingsManager.d.ts +132 -132
  451. package/lib/esm/core-react/settings/SettingsManager.js +113 -113
  452. package/lib/esm/core-react/style/index.scss +0 -7
  453. package/lib/esm/core-react/tabs/Tabs.d.ts +71 -71
  454. package/lib/esm/core-react/tabs/Tabs.js +121 -121
  455. package/lib/esm/core-react/tabs/VerticalTabs.d.ts +9 -9
  456. package/lib/esm/core-react/tabs/VerticalTabs.js +16 -16
  457. package/lib/esm/core-react/text/BlockText.d.ts +9 -9
  458. package/lib/esm/core-react/text/BlockText.js +16 -16
  459. package/lib/esm/core-react/text/BodyText.d.ts +10 -10
  460. package/lib/esm/core-react/text/BodyText.js +17 -17
  461. package/lib/esm/core-react/text/BodyText.js.map +1 -1
  462. package/lib/esm/core-react/text/DisabledText.d.ts +6 -6
  463. package/lib/esm/core-react/text/DisabledText.js +16 -16
  464. package/lib/esm/core-react/text/FilteredText.d.ts +24 -24
  465. package/lib/esm/core-react/text/FilteredText.js +36 -36
  466. package/lib/esm/core-react/text/FilteredText.js.map +1 -1
  467. package/lib/esm/core-react/text/MutedText.d.ts +10 -10
  468. package/lib/esm/core-react/text/MutedText.js +17 -17
  469. package/lib/esm/core-react/text/MutedText.js.map +1 -1
  470. package/lib/esm/core-react/text/StyledText.d.ts +17 -17
  471. package/lib/esm/core-react/text/StyledText.js +17 -17
  472. package/lib/esm/core-react/text/StyledText.js.map +1 -1
  473. package/lib/esm/core-react/text/TextProps.d.ts +10 -10
  474. package/lib/esm/core-react/text/TextProps.js +8 -8
  475. package/lib/esm/core-react/tree/Branch.d.ts +19 -19
  476. package/lib/esm/core-react/tree/Branch.js +19 -19
  477. package/lib/esm/core-react/tree/ExpansionToggle.d.ts +20 -20
  478. package/lib/esm/core-react/tree/ExpansionToggle.js +26 -26
  479. package/lib/esm/core-react/tree/Node.d.ts +79 -79
  480. package/lib/esm/core-react/tree/Node.d.ts.map +1 -1
  481. package/lib/esm/core-react/tree/Node.js +83 -84
  482. package/lib/esm/core-react/tree/Node.js.map +1 -1
  483. package/lib/esm/core-react/tree/Node.scss +0 -15
  484. package/lib/esm/core-react/tree/Placeholder.d.ts +22 -22
  485. package/lib/esm/core-react/tree/Placeholder.js +27 -27
  486. package/lib/esm/core-react/tree/Tree.d.ts +28 -28
  487. package/lib/esm/core-react/tree/Tree.js +96 -96
  488. package/lib/esm/core-react/uistate/LocalStateStorage.d.ts +16 -16
  489. package/lib/esm/core-react/uistate/LocalStateStorage.js +45 -45
  490. package/lib/esm/core-react/uistate/UiStateEntry.d.ts +30 -30
  491. package/lib/esm/core-react/uistate/UiStateEntry.js +55 -55
  492. package/lib/esm/core-react/uistate/UiStateStorage.d.ts +28 -28
  493. package/lib/esm/core-react/uistate/UiStateStorage.js +18 -18
  494. package/lib/esm/core-react/utils/IconHelper.d.ts +23 -23
  495. package/lib/esm/core-react/utils/IconHelper.js +58 -58
  496. package/lib/esm/core-react/utils/IconWebComponent.d.ts +10 -10
  497. package/lib/esm/core-react/utils/IconWebComponent.js +68 -68
  498. package/lib/esm/core-react/utils/IconWebComponent.js.map +1 -1
  499. package/lib/esm/core-react/utils/Point.d.ts +37 -37
  500. package/lib/esm/core-react/utils/Point.js +69 -69
  501. package/lib/esm/core-react/utils/Point.js.map +1 -1
  502. package/lib/esm/core-react/utils/Props.d.ts +38 -38
  503. package/lib/esm/core-react/utils/Props.d.ts.map +1 -1
  504. package/lib/esm/core-react/utils/Props.js +8 -8
  505. package/lib/esm/core-react/utils/Rectangle.d.ts +144 -144
  506. package/lib/esm/core-react/utils/Rectangle.js +266 -266
  507. package/lib/esm/core-react/utils/Rectangle.js.map +1 -1
  508. package/lib/esm/core-react/utils/ScrollPositionMaintainer.d.ts +23 -23
  509. package/lib/esm/core-react/utils/ScrollPositionMaintainer.js +32 -32
  510. package/lib/esm/core-react/utils/Size.d.ts +23 -23
  511. package/lib/esm/core-react/utils/Size.js +28 -28
  512. package/lib/esm/core-react/utils/Size.js.map +1 -1
  513. package/lib/esm/core-react/utils/Timer.d.ts +35 -35
  514. package/lib/esm/core-react/utils/Timer.d.ts.map +1 -1
  515. package/lib/esm/core-react/utils/Timer.js +60 -60
  516. package/lib/esm/core-react/utils/UiGeometry.d.ts +20 -20
  517. package/lib/esm/core-react/utils/UiGeometry.js +24 -24
  518. package/lib/esm/core-react/utils/flattenChildren.d.ts +8 -8
  519. package/lib/esm/core-react/utils/flattenChildren.js +23 -23
  520. package/lib/esm/core-react/utils/getBestBWContrastColor.d.ts +7 -7
  521. package/lib/esm/core-react/utils/getBestBWContrastColor.js +18 -18
  522. package/lib/esm/core-react/utils/getBestBWContrastColor.js.map +1 -1
  523. package/lib/esm/core-react/utils/getCssVariable.d.ts +11 -11
  524. package/lib/esm/core-react/utils/getCssVariable.js +26 -26
  525. package/lib/esm/core-react/utils/getCssVariable.js.map +1 -1
  526. package/lib/esm/core-react/utils/getDisplayName.d.ts +8 -8
  527. package/lib/esm/core-react/utils/getDisplayName.js +17 -17
  528. package/lib/esm/core-react/utils/getUserColor.d.ts +7 -7
  529. package/lib/esm/core-react/utils/getUserColor.js +34 -34
  530. package/lib/esm/core-react/utils/hooks/ResizeObserverPolyfill.d.ts +4 -4
  531. package/lib/esm/core-react/utils/hooks/ResizeObserverPolyfill.d.ts.map +1 -1
  532. package/lib/esm/core-react/utils/hooks/ResizeObserverPolyfill.js +16 -16
  533. package/lib/esm/core-react/utils/hooks/useCrossOriginPopup.d.ts +7 -7
  534. package/lib/esm/core-react/utils/hooks/useCrossOriginPopup.js +84 -85
  535. package/lib/esm/core-react/utils/hooks/useCrossOriginPopup.js.map +1 -1
  536. package/lib/esm/core-react/utils/hooks/useDisposable.d.ts +17 -17
  537. package/lib/esm/core-react/utils/hooks/useDisposable.js +33 -33
  538. package/lib/esm/core-react/utils/hooks/useEffectSkipFirst.d.ts +8 -8
  539. package/lib/esm/core-react/utils/hooks/useEffectSkipFirst.js +22 -22
  540. package/lib/esm/core-react/utils/hooks/useEventListener.d.ts +11 -11
  541. package/lib/esm/core-react/utils/hooks/useEventListener.js +39 -39
  542. package/lib/esm/core-react/utils/hooks/useInterval.d.ts +5 -5
  543. package/lib/esm/core-react/utils/hooks/useInterval.js +32 -32
  544. package/lib/esm/core-react/utils/hooks/useLifecycleLogging.d.ts +5 -5
  545. package/lib/esm/core-react/utils/hooks/useLifecycleLogging.js +60 -60
  546. package/lib/esm/core-react/utils/hooks/useOnOutsideClick.d.ts +12 -12
  547. package/lib/esm/core-react/utils/hooks/useOnOutsideClick.d.ts.map +1 -1
  548. package/lib/esm/core-react/utils/hooks/useOnOutsideClick.js +88 -88
  549. package/lib/esm/core-react/utils/hooks/useProximityToMouse.d.ts +55 -55
  550. package/lib/esm/core-react/utils/hooks/useProximityToMouse.js +102 -102
  551. package/lib/esm/core-react/utils/hooks/useRefEffect.d.ts +7 -7
  552. package/lib/esm/core-react/utils/hooks/useRefEffect.js +19 -19
  553. package/lib/esm/core-react/utils/hooks/useRefState.d.ts +21 -21
  554. package/lib/esm/core-react/utils/hooks/useRefState.js +31 -31
  555. package/lib/esm/core-react/utils/hooks/useRefs.d.ts +12 -12
  556. package/lib/esm/core-react/utils/hooks/useRefs.js +48 -48
  557. package/lib/esm/core-react/utils/hooks/useResizeObserver.d.ts +39 -39
  558. package/lib/esm/core-react/utils/hooks/useResizeObserver.js +196 -201
  559. package/lib/esm/core-react/utils/hooks/useResizeObserver.js.map +1 -1
  560. package/lib/esm/core-react/utils/hooks/useTargeted.d.ts +8 -8
  561. package/lib/esm/core-react/utils/hooks/useTargeted.js +24 -24
  562. package/lib/esm/core-react/utils/hooks/useThrottledFn.d.ts +15 -15
  563. package/lib/esm/core-react/utils/hooks/useThrottledFn.js +21 -21
  564. package/lib/esm/core-react/utils/hooks/useWidgetOpacityContext.d.ts +20 -20
  565. package/lib/esm/core-react/utils/hooks/useWidgetOpacityContext.js +23 -23
  566. package/lib/esm/core-react/utils/isPromiseLike.d.ts +7 -7
  567. package/lib/esm/core-react/utils/isPromiseLike.js +13 -13
  568. package/lib/esm/core-react/utils/shallowDiffers.d.ts +11 -11
  569. package/lib/esm/core-react/utils/shallowDiffers.js +25 -25
  570. package/lib/esm/core-react/utils/typeUtils.d.ts +7 -7
  571. package/lib/esm/core-react/utils/typeUtils.d.ts.map +1 -1
  572. package/lib/esm/core-react/utils/typeUtils.js +8 -8
  573. package/lib/esm/core-react.d.ts +236 -236
  574. package/lib/esm/core-react.js +241 -241
  575. package/package.json +15 -13
  576. package/ThirdPartyNotices.md +0 -28
  577. package/lib/cjs/core-react/button/blue-large.scss +0 -12
  578. package/lib/cjs/core-react/button/blue.scss +0 -17
  579. package/lib/cjs/core-react/button/button.scss +0 -70
  580. package/lib/cjs/core-react/button/classes.scss +0 -14
  581. package/lib/cjs/core-react/button/disabled-large.scss +0 -12
  582. package/lib/cjs/core-react/button/disabled.scss +0 -17
  583. package/lib/cjs/core-react/button/hollow-large.scss +0 -13
  584. package/lib/cjs/core-react/button/hollow.scss +0 -30
  585. package/lib/cjs/core-react/button/index.scss +0 -14
  586. package/lib/cjs/core-react/button/primary-large.scss +0 -12
  587. package/lib/cjs/core-react/button/primary.scss +0 -17
  588. package/lib/cjs/core-react/button/variables.scss +0 -22
  589. package/lib/cjs/core-react/checkbox/checkbox.scss +0 -124
  590. package/lib/cjs/core-react/checkbox/classes.scss +0 -8
  591. package/lib/cjs/core-react/checkbox/index.scss +0 -8
  592. package/lib/cjs/core-react/style/data-viz.scss +0 -20
  593. package/lib/cjs/core-react/style/space.scss +0 -13
  594. package/lib/cjs/core-react/style/speed.scss +0 -9
  595. package/lib/cjs/core-react/style/typography.scss +0 -39
  596. package/lib/cjs/core-react/style/variables.scss +0 -9
  597. package/lib/esm/core-react/button/blue-large.scss +0 -12
  598. package/lib/esm/core-react/button/blue.scss +0 -17
  599. package/lib/esm/core-react/button/button.scss +0 -70
  600. package/lib/esm/core-react/button/classes.scss +0 -14
  601. package/lib/esm/core-react/button/disabled-large.scss +0 -12
  602. package/lib/esm/core-react/button/disabled.scss +0 -17
  603. package/lib/esm/core-react/button/hollow-large.scss +0 -13
  604. package/lib/esm/core-react/button/hollow.scss +0 -30
  605. package/lib/esm/core-react/button/index.scss +0 -14
  606. package/lib/esm/core-react/button/primary-large.scss +0 -12
  607. package/lib/esm/core-react/button/primary.scss +0 -17
  608. package/lib/esm/core-react/button/variables.scss +0 -22
  609. package/lib/esm/core-react/checkbox/checkbox.scss +0 -124
  610. package/lib/esm/core-react/checkbox/classes.scss +0 -8
  611. package/lib/esm/core-react/checkbox/index.scss +0 -8
  612. package/lib/esm/core-react/style/data-viz.scss +0 -20
  613. package/lib/esm/core-react/style/space.scss +0 -13
  614. package/lib/esm/core-react/style/speed.scss +0 -9
  615. package/lib/esm/core-react/style/typography.scss +0 -39
  616. package/lib/esm/core-react/style/variables.scss +0 -9
@@ -1,423 +1,419 @@
1
- "use strict";
2
- /*---------------------------------------------------------------------------------------------
3
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
- * See LICENSE.md in the project root for license terms and full copyright notice.
5
- *--------------------------------------------------------------------------------------------*/
6
- /** @packageDocumentation
7
- * @module Popup
8
- */
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.Popup = void 0;
11
- require("./Popup.scss");
12
- const classnames_1 = require("classnames");
13
- const React = require("react");
14
- const ReactDOM = require("react-dom");
15
- const appui_abstract_1 = require("@itwin/appui-abstract");
16
- const FocusTrap_1 = require("../focustrap/FocusTrap");
17
- /** Popup React component displays a popup relative to an optional target element.
18
- * @public
19
- */
20
- class Popup extends React.Component {
21
- constructor(props) {
22
- var _a, _b;
23
- super(props);
24
- this._popup = null;
25
- this._bindWindowEvents = () => {
26
- const activeWindow = this.getParentWindow();
27
- activeWindow.addEventListener("pointerdown", this._handleOutsideClick);
28
- activeWindow.addEventListener("resize", this._resize);
29
- activeWindow.addEventListener("contextmenu", this._handleContextMenu);
30
- activeWindow.addEventListener("scroll", this._hide);
31
- activeWindow.addEventListener("wheel", this._handleWheel);
32
- activeWindow.addEventListener("keydown", this._handleKeyboard);
33
- };
34
- this._unBindWindowEvents = () => {
35
- const activeWindow = this.getParentWindow();
36
- activeWindow.removeEventListener("pointerdown", this._handleOutsideClick);
37
- activeWindow.removeEventListener("resize", this._resize);
38
- activeWindow.removeEventListener("contextmenu", this._handleContextMenu);
39
- activeWindow.removeEventListener("scroll", this._hide);
40
- activeWindow.removeEventListener("wheel", this._handleWheel);
41
- activeWindow.removeEventListener("keydown", this._handleKeyboard);
42
- };
43
- this._handleWheel = (event) => {
44
- if (this._popup && this._popup.contains(event.target))
45
- return;
46
- if (this.props.onWheel)
47
- return this.props.onWheel(event);
48
- const closeOnWheel = this.props.closeOnWheel !== undefined ? this.props.closeOnWheel : true;
49
- if (closeOnWheel)
50
- this._hide();
51
- };
52
- this._handleOutsideClick = (event) => {
53
- if (this._popup && this._popup.contains(event.target))
54
- return;
55
- if (this.props.isPinned)
56
- return;
57
- if (!this.props.closeOnNestedPopupOutsideClick && this.isInCorePopup(event.target))
58
- return;
59
- if (this.props.onOutsideClick)
60
- return this.props.onOutsideClick(event);
61
- if (this.props.target && this.props.target.contains(event.target))
62
- return;
63
- this._onClose();
64
- };
65
- this._handleContextMenu = (event) => {
66
- if (this._popup && this._popup.contains(event.target))
67
- return;
68
- if (this.props.onContextMenu)
69
- return this.props.onContextMenu(event);
70
- const closeOnContextMenu = this.props.closeOnContextMenu !== undefined ? this.props.closeOnContextMenu : true;
71
- if (closeOnContextMenu)
72
- this._hide();
73
- };
74
- this._handleKeyboard = (event) => {
75
- if (this.props.isPinned)
76
- return;
77
- if (event.key === appui_abstract_1.SpecialKey.Escape || event.key === appui_abstract_1.SpecialKey.Enter) {
78
- const closeOnEnter = this.props.closeOnEnter !== undefined ? this.props.closeOnEnter : true;
79
- if (event.key === appui_abstract_1.SpecialKey.Enter) {
80
- if (closeOnEnter)
81
- this._onClose(true);
82
- else
83
- this.props.onEnter && this.props.onEnter();
84
- }
85
- else {
86
- this._onClose(false);
87
- }
88
- }
89
- };
90
- this._resize = () => {
91
- if (this.props.repositionOnResize) {
92
- const position = this._toggleRelativePosition();
93
- const point = this._fitPopup(this._getPosition(position));
94
- this.setState({ left: point.x, top: point.y, position });
95
- }
96
- else {
97
- this._hide(); // legacy behavior
98
- }
99
- };
100
- this._hide = () => {
101
- if (this.props.isPinned)
102
- return;
103
- this._onClose();
104
- };
105
- this._getPosition = (position) => {
106
- const activeWindow = this.getParentWindow();
107
- const { target, offset, top, left } = this.props;
108
- const offsetArrow = (this.props.showArrow) ? 6 : 0;
109
- // absolute position
110
- if (this._isPositionAbsolute())
111
- return { x: left, y: top };
112
- // sanity check
113
- const point = { x: 0, y: 0 };
114
- if (!this._popup || !target)
115
- return point;
116
- // relative position
117
- const scrollY = activeWindow.scrollY;
118
- const scrollX = activeWindow.scrollX;
119
- const targetRect = target.getBoundingClientRect();
120
- const { popupWidth, popupHeight } = this._getPopupDimensions();
121
- switch (position) {
122
- case appui_abstract_1.RelativePosition.Top:
123
- point.y = scrollY + targetRect.top - popupHeight - offset - offsetArrow;
124
- point.x = scrollX + targetRect.left + (targetRect.width / 2) - (popupWidth / 2);
125
- break;
126
- case appui_abstract_1.RelativePosition.TopLeft:
127
- point.y = scrollY + targetRect.top - popupHeight - offset - offsetArrow;
128
- point.x = scrollX + targetRect.left;
129
- break;
130
- case appui_abstract_1.RelativePosition.TopRight:
131
- point.y = scrollY + targetRect.top - popupHeight - offset - offsetArrow;
132
- point.x = scrollX + targetRect.right - popupWidth;
133
- break;
134
- case appui_abstract_1.RelativePosition.Bottom:
135
- point.y = scrollY + targetRect.bottom + offset + offsetArrow;
136
- point.x = scrollX + targetRect.left + (targetRect.width / 2) - (popupWidth / 2);
137
- break;
138
- case appui_abstract_1.RelativePosition.BottomLeft:
139
- point.y = scrollY + targetRect.bottom + offset + offsetArrow;
140
- point.x = scrollX + targetRect.left;
141
- break;
142
- case appui_abstract_1.RelativePosition.BottomRight:
143
- point.y = scrollY + targetRect.bottom + offset + offsetArrow;
144
- point.x = scrollX + targetRect.right - popupWidth;
145
- break;
146
- case appui_abstract_1.RelativePosition.Left:
147
- point.y = scrollY + targetRect.top + (targetRect.height / 2) - (popupHeight / 2);
148
- point.x = scrollX + targetRect.left - popupWidth - offset - offsetArrow;
149
- break;
150
- case appui_abstract_1.RelativePosition.LeftTop:
151
- point.y = scrollY + targetRect.top;
152
- point.x = scrollX + targetRect.left - popupWidth - offset - offsetArrow;
153
- break;
154
- case appui_abstract_1.RelativePosition.Right:
155
- point.y = scrollY + targetRect.top + (targetRect.height / 2) - (popupHeight / 2);
156
- point.x = scrollX + targetRect.right + offset + offsetArrow;
157
- break;
158
- case appui_abstract_1.RelativePosition.RightTop:
159
- point.y = scrollY + targetRect.top;
160
- point.x = scrollX + targetRect.right + offset + offsetArrow;
161
- break;
162
- }
163
- return point;
164
- };
165
- // fit the popup within the extents of the view port
166
- this._fitPopup = (point) => {
167
- const fittedPoint = point;
168
- // istanbul ignore if
169
- if (!this._popup) {
170
- return fittedPoint;
171
- }
172
- // const popupRect = this._popup.getBoundingClientRect();
173
- const { popupWidth, popupHeight } = this._getPopupDimensions();
174
- const { innerWidth, innerHeight } = window;
175
- // istanbul ignore if
176
- if (fittedPoint.y + popupHeight > innerHeight) {
177
- fittedPoint.y = innerHeight - popupHeight;
178
- }
179
- // istanbul ignore if
180
- if (fittedPoint.x + popupWidth > innerWidth) {
181
- fittedPoint.x = innerWidth - popupWidth;
182
- }
183
- // istanbul ignore if
184
- if (fittedPoint.y < 0) {
185
- fittedPoint.y = 0;
186
- }
187
- if (fittedPoint.x < 0) {
188
- fittedPoint.x = 0;
189
- }
190
- return fittedPoint;
191
- };
192
- this._handleAnimationEnd = (event) => {
193
- if (event.target === this._popup) {
194
- this.setState({ animationEnded: true });
195
- }
196
- };
197
- const parentDocument = (_b = (_a = this.props.target) === null || _a === void 0 ? void 0 : _a.ownerDocument) !== null && _b !== void 0 ? _b : document;
198
- this.state = {
199
- animationEnded: false,
200
- isOpen: this.props.isOpen,
201
- top: 0,
202
- left: 0,
203
- position: this.props.position,
204
- parentDocument,
205
- };
206
- }
207
- componentDidMount() {
208
- if (this.props.isOpen) {
209
- this._onShow();
210
- }
211
- }
212
- getParentWindow() {
213
- var _a;
214
- // istanbul ignore next
215
- return (_a = this.state.parentDocument.defaultView) !== null && _a !== void 0 ? _a : window;
216
- }
217
- componentDidUpdate(previousProps, prevState) {
218
- var _a, _b;
219
- if (this.state.position !== prevState.position) {
220
- this.setState({ animationEnded: false });
221
- }
222
- if (this.props.target !== previousProps.target) {
223
- // istanbul ignore next
224
- {
225
- const parentDocument = (_b = (_a = this.props.target) === null || _a === void 0 ? void 0 : _a.ownerDocument) !== null && _b !== void 0 ? _b : document;
226
- if (parentDocument !== this.state.parentDocument) {
227
- this._unBindWindowEvents();
228
- this.setState({ parentDocument });
229
- }
230
- }
231
- }
232
- if (this.props.isOpen === previousProps.isOpen) {
233
- if (this.props.isOpen) {
234
- const position = this._toggleRelativePosition();
235
- const point = this._fitPopup(this._getPosition(position));
236
- if ((Math.abs(this.state.left - point.x) < 3) &&
237
- (Math.abs(this.state.top - point.y) < 3) &&
238
- this.state.position === position)
239
- return;
240
- this.setState({
241
- left: point.x,
242
- top: point.y,
243
- position,
244
- });
245
- }
246
- return;
247
- }
248
- if (this.props.isOpen) {
249
- this._onShow();
250
- }
251
- else {
252
- this._onClose();
253
- }
254
- }
255
- componentWillUnmount() {
256
- this._unBindWindowEvents();
257
- }
258
- isInCorePopup(element) {
259
- if (element.nodeName === "DIV") {
260
- if (element.classList && element.classList.contains("core-popup"))
261
- return true;
262
- if (element.parentElement && this.isInCorePopup(element.parentElement))
263
- return true;
264
- }
265
- else {
266
- // istanbul ignore else
267
- if (element.parentElement && this.isInCorePopup(element.parentElement))
268
- return true;
269
- }
270
- return false;
271
- }
272
- _onShow() {
273
- this._bindWindowEvents();
274
- const position = this._toggleRelativePosition();
275
- const point = this._fitPopup(this._getPosition(position));
276
- this.setState({ left: point.x, top: point.y, isOpen: true, position }, () => {
277
- if (this.props.onOpen)
278
- this.props.onOpen();
279
- });
280
- }
281
- _onClose(enterKey) {
282
- if (!this.state.isOpen)
283
- return;
284
- this._unBindWindowEvents();
285
- this.setState({ isOpen: false }, () => {
286
- if (enterKey && this.props.onEnter)
287
- this.props.onEnter();
288
- if (this.props.onClose)
289
- this.props.onClose();
290
- });
291
- }
292
- _isPositionAbsolute() {
293
- return (this.props.top !== -1 && this.props.left !== -1);
294
- }
295
- _getClassNameByPosition(position) {
296
- if (!this._isPositionAbsolute()) {
297
- switch (position) {
298
- case appui_abstract_1.RelativePosition.TopLeft:
299
- return "core-popup-top-left";
300
- case appui_abstract_1.RelativePosition.TopRight:
301
- return "core-popup-top-right";
302
- case appui_abstract_1.RelativePosition.BottomLeft:
303
- return "core-popup-bottom-left";
304
- case appui_abstract_1.RelativePosition.BottomRight:
305
- return "core-popup-bottom-right";
306
- case appui_abstract_1.RelativePosition.Top:
307
- return "core-popup-top";
308
- case appui_abstract_1.RelativePosition.Left:
309
- return "core-popup-left";
310
- case appui_abstract_1.RelativePosition.Right:
311
- return "core-popup-right";
312
- case appui_abstract_1.RelativePosition.Bottom:
313
- return "core-popup-bottom";
314
- case appui_abstract_1.RelativePosition.LeftTop:
315
- return "core-popup-left-top";
316
- case appui_abstract_1.RelativePosition.RightTop:
317
- return "core-popup-right-top";
318
- }
319
- }
320
- return "";
321
- }
322
- _getPopupDimensions() {
323
- let popupWidth = 0;
324
- let popupHeight = 0;
325
- // istanbul ignore else
326
- if (this._popup) {
327
- const activeWindow = this.getParentWindow();
328
- const style = activeWindow.getComputedStyle(this._popup);
329
- const borderLeftWidth = parsePxString(style.borderLeftWidth);
330
- const borderRightWidth = parsePxString(style.borderRightWidth);
331
- const borderTopWidth = parsePxString(style.borderTopWidth);
332
- const borderBottomWidth = parsePxString(style.borderBottomWidth);
333
- popupWidth = this._popup.clientWidth + borderLeftWidth + borderRightWidth;
334
- popupHeight = this._popup.clientHeight + borderTopWidth + borderBottomWidth;
335
- }
336
- return { popupWidth, popupHeight };
337
- }
338
- _toggleRelativePosition() {
339
- const { target, position, offset } = this.props;
340
- if (!this._popup || !target)
341
- return position;
342
- // istanbul ignore if
343
- if (this._isPositionAbsolute())
344
- return position;
345
- let newPosition = position;
346
- const activeWindow = this.getParentWindow();
347
- // Note: Cannot use DOMRect yet since it's experimental and not available in all browsers (Nov. 2018)
348
- const viewportRect = { left: activeWindow.scrollX, top: activeWindow.scrollY, right: activeWindow.scrollX + activeWindow.innerWidth, bottom: activeWindow.scrollY + activeWindow.innerHeight };
349
- const targetRect = target.getBoundingClientRect();
350
- const { popupWidth, popupHeight } = this._getPopupDimensions();
351
- const containerStyle = activeWindow.getComputedStyle(target);
352
- const offsetArrow = this.props.showArrow ? /* istanbul ignore next */ 10 : 2;
353
- const bottomMargin = parseMargin(containerStyle.marginBottom);
354
- if ((targetRect.bottom + popupHeight + bottomMargin + offsetArrow + offset) > viewportRect.bottom) {
355
- if (newPosition === appui_abstract_1.RelativePosition.Bottom)
356
- newPosition = appui_abstract_1.RelativePosition.Top;
357
- else if (newPosition === appui_abstract_1.RelativePosition.BottomLeft)
358
- newPosition = appui_abstract_1.RelativePosition.TopLeft;
359
- else if (newPosition === appui_abstract_1.RelativePosition.BottomRight)
360
- newPosition = appui_abstract_1.RelativePosition.TopRight;
361
- }
362
- const topMargin = parseMargin(containerStyle.marginTop);
363
- if ((targetRect.top - popupHeight - topMargin - offsetArrow - offset) < viewportRect.top) {
364
- if (newPosition === appui_abstract_1.RelativePosition.Top)
365
- newPosition = appui_abstract_1.RelativePosition.Bottom;
366
- else if (newPosition === appui_abstract_1.RelativePosition.TopLeft)
367
- newPosition = appui_abstract_1.RelativePosition.BottomLeft;
368
- else if (newPosition === appui_abstract_1.RelativePosition.TopRight)
369
- newPosition = appui_abstract_1.RelativePosition.BottomRight;
370
- }
371
- const leftMargin = parseMargin(containerStyle.marginLeft);
372
- if ((targetRect.left - popupWidth - leftMargin - offsetArrow - offset) < viewportRect.left) {
373
- if (newPosition === appui_abstract_1.RelativePosition.Left)
374
- newPosition = appui_abstract_1.RelativePosition.Right;
375
- else if (newPosition === appui_abstract_1.RelativePosition.LeftTop)
376
- newPosition = appui_abstract_1.RelativePosition.RightTop;
377
- }
378
- const rightMargin = parseMargin(containerStyle.marginRight);
379
- if ((targetRect.right + popupWidth + rightMargin + offsetArrow + offset) > viewportRect.right) {
380
- if (newPosition === appui_abstract_1.RelativePosition.Right)
381
- newPosition = appui_abstract_1.RelativePosition.Left;
382
- else if (newPosition === appui_abstract_1.RelativePosition.RightTop)
383
- newPosition = appui_abstract_1.RelativePosition.LeftTop;
384
- }
385
- return newPosition;
386
- }
387
- render() {
388
- var _a;
389
- const animate = this.props.animate !== undefined ? this.props.animate : true;
390
- const className = (0, classnames_1.default)("core-popup", this._getClassNameByPosition(this.state.position), this.props.showShadow && "core-popup-shadow", this.props.showArrow && "arrow", !animate && "core-popup-animation-none", this.props.className, this.state.animationEnded && "core-animation-ended", (!this.props.isOpen && this.props.keepContentsMounted) && "core-popup-hidden");
391
- const style = {
392
- top: this.state.top,
393
- left: this.state.left,
394
- ...this.props.style,
395
- };
396
- const role = this.props.role ? this.props.role : "dialog"; // accessibility property
397
- if (!this.props.isOpen && !this.props.keepContentsMounted) {
398
- return null;
399
- }
400
- return ReactDOM.createPortal((React.createElement("div", { className: className, "data-testid": "core-popup", ref: (element) => { this._popup = element; }, style: style, role: role, "aria-modal": true, tabIndex: -1, "aria-label": this.props.ariaLabel, onAnimationEnd: this._handleAnimationEnd },
401
- React.createElement(FocusTrap_1.FocusTrap, { active: !!this.props.moveFocus, initialFocusElement: this.props.focusTarget, returnFocusOnDeactivate: true }, this.props.children))),
402
- // istanbul ignore next
403
- (_a = this.state.parentDocument.body.querySelector('[data-root-container="iui-root-id"]')) !== null && _a !== void 0 ? _a : this.state.parentDocument.body);
404
- }
405
- }
406
- exports.Popup = Popup;
407
- Popup.defaultProps = {
408
- position: appui_abstract_1.RelativePosition.Bottom,
409
- showShadow: true,
410
- showArrow: false,
411
- isOpen: false,
412
- offset: 4,
413
- top: -1,
414
- left: -1,
415
- };
416
- function parsePxString(pxStr) {
417
- const parsed = parseInt(pxStr, 10);
418
- return parsed || 0;
419
- }
420
- function parseMargin(value) {
421
- return value ? /* istanbul ignore next */ parseFloat(value) : 0;
422
- }
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
+ * See LICENSE.md in the project root for license terms and full copyright notice.
5
+ *--------------------------------------------------------------------------------------------*/
6
+ /** @packageDocumentation
7
+ * @module Popup
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.Popup = void 0;
11
+ require("./Popup.scss");
12
+ const classnames_1 = require("classnames");
13
+ const React = require("react");
14
+ const ReactDOM = require("react-dom");
15
+ const appui_abstract_1 = require("@itwin/appui-abstract");
16
+ const FocusTrap_1 = require("../focustrap/FocusTrap");
17
+ /** Popup React component displays a popup relative to an optional target element.
18
+ * @public
19
+ */
20
+ class Popup extends React.Component {
21
+ constructor(props) {
22
+ super(props);
23
+ this._popup = null;
24
+ this._bindWindowEvents = () => {
25
+ const activeWindow = this.getParentWindow();
26
+ activeWindow.addEventListener("pointerdown", this._handleOutsideClick);
27
+ activeWindow.addEventListener("resize", this._resize);
28
+ activeWindow.addEventListener("contextmenu", this._handleContextMenu);
29
+ activeWindow.addEventListener("scroll", this._hide);
30
+ activeWindow.addEventListener("wheel", this._handleWheel);
31
+ activeWindow.addEventListener("keydown", this._handleKeyboard);
32
+ };
33
+ this._unBindWindowEvents = () => {
34
+ const activeWindow = this.getParentWindow();
35
+ activeWindow.removeEventListener("pointerdown", this._handleOutsideClick);
36
+ activeWindow.removeEventListener("resize", this._resize);
37
+ activeWindow.removeEventListener("contextmenu", this._handleContextMenu);
38
+ activeWindow.removeEventListener("scroll", this._hide);
39
+ activeWindow.removeEventListener("wheel", this._handleWheel);
40
+ activeWindow.removeEventListener("keydown", this._handleKeyboard);
41
+ };
42
+ this._handleWheel = (event) => {
43
+ if (this._popup && this._popup.contains(event.target))
44
+ return;
45
+ if (this.props.onWheel)
46
+ return this.props.onWheel(event);
47
+ const closeOnWheel = this.props.closeOnWheel !== undefined ? this.props.closeOnWheel : true;
48
+ if (closeOnWheel)
49
+ this._hide();
50
+ };
51
+ this._handleOutsideClick = (event) => {
52
+ if (this._popup && this._popup.contains(event.target))
53
+ return;
54
+ if (this.props.isPinned)
55
+ return;
56
+ if (!this.props.closeOnNestedPopupOutsideClick && this.isInCorePopup(event.target))
57
+ return;
58
+ if (this.props.onOutsideClick)
59
+ return this.props.onOutsideClick(event);
60
+ if (this.props.target && this.props.target.contains(event.target))
61
+ return;
62
+ this._onClose();
63
+ };
64
+ this._handleContextMenu = (event) => {
65
+ if (this._popup && this._popup.contains(event.target))
66
+ return;
67
+ if (this.props.onContextMenu)
68
+ return this.props.onContextMenu(event);
69
+ const closeOnContextMenu = this.props.closeOnContextMenu !== undefined ? this.props.closeOnContextMenu : true;
70
+ if (closeOnContextMenu)
71
+ this._hide();
72
+ };
73
+ this._handleKeyboard = (event) => {
74
+ if (this.props.isPinned)
75
+ return;
76
+ if (event.key === appui_abstract_1.SpecialKey.Escape || event.key === appui_abstract_1.SpecialKey.Enter) {
77
+ const closeOnEnter = this.props.closeOnEnter !== undefined ? this.props.closeOnEnter : true;
78
+ if (event.key === appui_abstract_1.SpecialKey.Enter) {
79
+ if (closeOnEnter)
80
+ this._onClose(true);
81
+ else
82
+ this.props.onEnter && this.props.onEnter();
83
+ }
84
+ else {
85
+ this._onClose(false);
86
+ }
87
+ }
88
+ };
89
+ this._resize = () => {
90
+ if (this.props.repositionOnResize) {
91
+ const position = this._toggleRelativePosition();
92
+ const point = this._fitPopup(this._getPosition(position));
93
+ this.setState({ left: point.x, top: point.y, position });
94
+ }
95
+ else {
96
+ this._hide(); // legacy behavior
97
+ }
98
+ };
99
+ this._hide = () => {
100
+ if (this.props.isPinned)
101
+ return;
102
+ this._onClose();
103
+ };
104
+ this._getPosition = (position) => {
105
+ const activeWindow = this.getParentWindow();
106
+ const { target, offset, top, left } = this.props;
107
+ const offsetArrow = (this.props.showArrow) ? 6 : 0;
108
+ // absolute position
109
+ if (this._isPositionAbsolute())
110
+ return { x: left, y: top };
111
+ // sanity check
112
+ const point = { x: 0, y: 0 };
113
+ if (!this._popup || !target)
114
+ return point;
115
+ // relative position
116
+ const scrollY = activeWindow.scrollY;
117
+ const scrollX = activeWindow.scrollX;
118
+ const targetRect = target.getBoundingClientRect();
119
+ const { popupWidth, popupHeight } = this._getPopupDimensions();
120
+ switch (position) {
121
+ case appui_abstract_1.RelativePosition.Top:
122
+ point.y = scrollY + targetRect.top - popupHeight - offset - offsetArrow;
123
+ point.x = scrollX + targetRect.left + (targetRect.width / 2) - (popupWidth / 2);
124
+ break;
125
+ case appui_abstract_1.RelativePosition.TopLeft:
126
+ point.y = scrollY + targetRect.top - popupHeight - offset - offsetArrow;
127
+ point.x = scrollX + targetRect.left;
128
+ break;
129
+ case appui_abstract_1.RelativePosition.TopRight:
130
+ point.y = scrollY + targetRect.top - popupHeight - offset - offsetArrow;
131
+ point.x = scrollX + targetRect.right - popupWidth;
132
+ break;
133
+ case appui_abstract_1.RelativePosition.Bottom:
134
+ point.y = scrollY + targetRect.bottom + offset + offsetArrow;
135
+ point.x = scrollX + targetRect.left + (targetRect.width / 2) - (popupWidth / 2);
136
+ break;
137
+ case appui_abstract_1.RelativePosition.BottomLeft:
138
+ point.y = scrollY + targetRect.bottom + offset + offsetArrow;
139
+ point.x = scrollX + targetRect.left;
140
+ break;
141
+ case appui_abstract_1.RelativePosition.BottomRight:
142
+ point.y = scrollY + targetRect.bottom + offset + offsetArrow;
143
+ point.x = scrollX + targetRect.right - popupWidth;
144
+ break;
145
+ case appui_abstract_1.RelativePosition.Left:
146
+ point.y = scrollY + targetRect.top + (targetRect.height / 2) - (popupHeight / 2);
147
+ point.x = scrollX + targetRect.left - popupWidth - offset - offsetArrow;
148
+ break;
149
+ case appui_abstract_1.RelativePosition.LeftTop:
150
+ point.y = scrollY + targetRect.top;
151
+ point.x = scrollX + targetRect.left - popupWidth - offset - offsetArrow;
152
+ break;
153
+ case appui_abstract_1.RelativePosition.Right:
154
+ point.y = scrollY + targetRect.top + (targetRect.height / 2) - (popupHeight / 2);
155
+ point.x = scrollX + targetRect.right + offset + offsetArrow;
156
+ break;
157
+ case appui_abstract_1.RelativePosition.RightTop:
158
+ point.y = scrollY + targetRect.top;
159
+ point.x = scrollX + targetRect.right + offset + offsetArrow;
160
+ break;
161
+ }
162
+ return point;
163
+ };
164
+ // fit the popup within the extents of the view port
165
+ this._fitPopup = (point) => {
166
+ const fittedPoint = point;
167
+ // istanbul ignore if
168
+ if (!this._popup) {
169
+ return fittedPoint;
170
+ }
171
+ // const popupRect = this._popup.getBoundingClientRect();
172
+ const { popupWidth, popupHeight } = this._getPopupDimensions();
173
+ const { innerWidth, innerHeight } = window;
174
+ // istanbul ignore if
175
+ if (fittedPoint.y + popupHeight > innerHeight) {
176
+ fittedPoint.y = innerHeight - popupHeight;
177
+ }
178
+ // istanbul ignore if
179
+ if (fittedPoint.x + popupWidth > innerWidth) {
180
+ fittedPoint.x = innerWidth - popupWidth;
181
+ }
182
+ // istanbul ignore if
183
+ if (fittedPoint.y < 0) {
184
+ fittedPoint.y = 0;
185
+ }
186
+ if (fittedPoint.x < 0) {
187
+ fittedPoint.x = 0;
188
+ }
189
+ return fittedPoint;
190
+ };
191
+ this._handleAnimationEnd = (event) => {
192
+ if (event.target === this._popup) {
193
+ this.setState({ animationEnded: true });
194
+ }
195
+ };
196
+ const parentDocument = this.props.target?.ownerDocument ?? document;
197
+ this.state = {
198
+ animationEnded: false,
199
+ isOpen: this.props.isOpen,
200
+ top: 0,
201
+ left: 0,
202
+ position: this.props.position,
203
+ parentDocument,
204
+ };
205
+ }
206
+ componentDidMount() {
207
+ if (this.props.isOpen) {
208
+ this._onShow();
209
+ }
210
+ }
211
+ getParentWindow() {
212
+ // istanbul ignore next
213
+ return this.state.parentDocument.defaultView ?? window;
214
+ }
215
+ componentDidUpdate(previousProps, prevState) {
216
+ if (this.state.position !== prevState.position) {
217
+ this.setState({ animationEnded: false });
218
+ }
219
+ if (this.props.target !== previousProps.target) {
220
+ // istanbul ignore next
221
+ {
222
+ const parentDocument = this.props.target?.ownerDocument ?? document;
223
+ if (parentDocument !== this.state.parentDocument) {
224
+ this._unBindWindowEvents();
225
+ this.setState({ parentDocument });
226
+ }
227
+ }
228
+ }
229
+ if (this.props.isOpen === previousProps.isOpen) {
230
+ if (this.props.isOpen) {
231
+ const position = this._toggleRelativePosition();
232
+ const point = this._fitPopup(this._getPosition(position));
233
+ if ((Math.abs(this.state.left - point.x) < 3) &&
234
+ (Math.abs(this.state.top - point.y) < 3) &&
235
+ this.state.position === position)
236
+ return;
237
+ this.setState({
238
+ left: point.x,
239
+ top: point.y,
240
+ position,
241
+ });
242
+ }
243
+ return;
244
+ }
245
+ if (this.props.isOpen) {
246
+ this._onShow();
247
+ }
248
+ else {
249
+ this._onClose();
250
+ }
251
+ }
252
+ componentWillUnmount() {
253
+ this._unBindWindowEvents();
254
+ }
255
+ isInCorePopup(element) {
256
+ if (element.nodeName === "DIV") {
257
+ if (element.classList && element.classList.contains("core-popup"))
258
+ return true;
259
+ if (element.parentElement && this.isInCorePopup(element.parentElement))
260
+ return true;
261
+ }
262
+ else {
263
+ // istanbul ignore else
264
+ if (element.parentElement && this.isInCorePopup(element.parentElement))
265
+ return true;
266
+ }
267
+ return false;
268
+ }
269
+ _onShow() {
270
+ this._bindWindowEvents();
271
+ const position = this._toggleRelativePosition();
272
+ const point = this._fitPopup(this._getPosition(position));
273
+ this.setState({ left: point.x, top: point.y, isOpen: true, position }, () => {
274
+ if (this.props.onOpen)
275
+ this.props.onOpen();
276
+ });
277
+ }
278
+ _onClose(enterKey) {
279
+ if (!this.state.isOpen)
280
+ return;
281
+ this._unBindWindowEvents();
282
+ this.setState({ isOpen: false }, () => {
283
+ if (enterKey && this.props.onEnter)
284
+ this.props.onEnter();
285
+ if (this.props.onClose)
286
+ this.props.onClose();
287
+ });
288
+ }
289
+ _isPositionAbsolute() {
290
+ return (this.props.top !== -1 && this.props.left !== -1);
291
+ }
292
+ _getClassNameByPosition(position) {
293
+ if (!this._isPositionAbsolute()) {
294
+ switch (position) {
295
+ case appui_abstract_1.RelativePosition.TopLeft:
296
+ return "core-popup-top-left";
297
+ case appui_abstract_1.RelativePosition.TopRight:
298
+ return "core-popup-top-right";
299
+ case appui_abstract_1.RelativePosition.BottomLeft:
300
+ return "core-popup-bottom-left";
301
+ case appui_abstract_1.RelativePosition.BottomRight:
302
+ return "core-popup-bottom-right";
303
+ case appui_abstract_1.RelativePosition.Top:
304
+ return "core-popup-top";
305
+ case appui_abstract_1.RelativePosition.Left:
306
+ return "core-popup-left";
307
+ case appui_abstract_1.RelativePosition.Right:
308
+ return "core-popup-right";
309
+ case appui_abstract_1.RelativePosition.Bottom:
310
+ return "core-popup-bottom";
311
+ case appui_abstract_1.RelativePosition.LeftTop:
312
+ return "core-popup-left-top";
313
+ case appui_abstract_1.RelativePosition.RightTop:
314
+ return "core-popup-right-top";
315
+ }
316
+ }
317
+ return "";
318
+ }
319
+ _getPopupDimensions() {
320
+ let popupWidth = 0;
321
+ let popupHeight = 0;
322
+ // istanbul ignore else
323
+ if (this._popup) {
324
+ const activeWindow = this.getParentWindow();
325
+ const style = activeWindow.getComputedStyle(this._popup);
326
+ const borderLeftWidth = parsePxString(style.borderLeftWidth);
327
+ const borderRightWidth = parsePxString(style.borderRightWidth);
328
+ const borderTopWidth = parsePxString(style.borderTopWidth);
329
+ const borderBottomWidth = parsePxString(style.borderBottomWidth);
330
+ popupWidth = this._popup.clientWidth + borderLeftWidth + borderRightWidth;
331
+ popupHeight = this._popup.clientHeight + borderTopWidth + borderBottomWidth;
332
+ }
333
+ return { popupWidth, popupHeight };
334
+ }
335
+ _toggleRelativePosition() {
336
+ const { target, position, offset } = this.props;
337
+ if (!this._popup || !target)
338
+ return position;
339
+ // istanbul ignore if
340
+ if (this._isPositionAbsolute())
341
+ return position;
342
+ let newPosition = position;
343
+ const activeWindow = this.getParentWindow();
344
+ // Note: Cannot use DOMRect yet since it's experimental and not available in all browsers (Nov. 2018)
345
+ const viewportRect = { left: activeWindow.scrollX, top: activeWindow.scrollY, right: activeWindow.scrollX + activeWindow.innerWidth, bottom: activeWindow.scrollY + activeWindow.innerHeight };
346
+ const targetRect = target.getBoundingClientRect();
347
+ const { popupWidth, popupHeight } = this._getPopupDimensions();
348
+ const containerStyle = activeWindow.getComputedStyle(target);
349
+ const offsetArrow = this.props.showArrow ? /* istanbul ignore next */ 10 : 2;
350
+ const bottomMargin = parseMargin(containerStyle.marginBottom);
351
+ if ((targetRect.bottom + popupHeight + bottomMargin + offsetArrow + offset) > viewportRect.bottom) {
352
+ if (newPosition === appui_abstract_1.RelativePosition.Bottom)
353
+ newPosition = appui_abstract_1.RelativePosition.Top;
354
+ else if (newPosition === appui_abstract_1.RelativePosition.BottomLeft)
355
+ newPosition = appui_abstract_1.RelativePosition.TopLeft;
356
+ else if (newPosition === appui_abstract_1.RelativePosition.BottomRight)
357
+ newPosition = appui_abstract_1.RelativePosition.TopRight;
358
+ }
359
+ const topMargin = parseMargin(containerStyle.marginTop);
360
+ if ((targetRect.top - popupHeight - topMargin - offsetArrow - offset) < viewportRect.top) {
361
+ if (newPosition === appui_abstract_1.RelativePosition.Top)
362
+ newPosition = appui_abstract_1.RelativePosition.Bottom;
363
+ else if (newPosition === appui_abstract_1.RelativePosition.TopLeft)
364
+ newPosition = appui_abstract_1.RelativePosition.BottomLeft;
365
+ else if (newPosition === appui_abstract_1.RelativePosition.TopRight)
366
+ newPosition = appui_abstract_1.RelativePosition.BottomRight;
367
+ }
368
+ const leftMargin = parseMargin(containerStyle.marginLeft);
369
+ if ((targetRect.left - popupWidth - leftMargin - offsetArrow - offset) < viewportRect.left) {
370
+ if (newPosition === appui_abstract_1.RelativePosition.Left)
371
+ newPosition = appui_abstract_1.RelativePosition.Right;
372
+ else if (newPosition === appui_abstract_1.RelativePosition.LeftTop)
373
+ newPosition = appui_abstract_1.RelativePosition.RightTop;
374
+ }
375
+ const rightMargin = parseMargin(containerStyle.marginRight);
376
+ if ((targetRect.right + popupWidth + rightMargin + offsetArrow + offset) > viewportRect.right) {
377
+ if (newPosition === appui_abstract_1.RelativePosition.Right)
378
+ newPosition = appui_abstract_1.RelativePosition.Left;
379
+ else if (newPosition === appui_abstract_1.RelativePosition.RightTop)
380
+ newPosition = appui_abstract_1.RelativePosition.LeftTop;
381
+ }
382
+ return newPosition;
383
+ }
384
+ render() {
385
+ const animate = this.props.animate !== undefined ? this.props.animate : true;
386
+ const className = (0, classnames_1.default)("core-popup", this._getClassNameByPosition(this.state.position), this.props.showShadow && "core-popup-shadow", this.props.showArrow && "arrow", !animate && "core-popup-animation-none", this.props.className, this.state.animationEnded && "core-animation-ended", (!this.props.isOpen && this.props.keepContentsMounted) && "core-popup-hidden");
387
+ const style = {
388
+ top: this.state.top,
389
+ left: this.state.left,
390
+ ...this.props.style,
391
+ };
392
+ const role = this.props.role ? this.props.role : "dialog"; // accessibility property
393
+ if (!this.props.isOpen && !this.props.keepContentsMounted) {
394
+ return null;
395
+ }
396
+ return ReactDOM.createPortal((React.createElement("div", { className: className, "data-testid": "core-popup", ref: (element) => { this._popup = element; }, style: style, role: role, "aria-modal": true, tabIndex: -1, "aria-label": this.props.ariaLabel, onAnimationEnd: this._handleAnimationEnd },
397
+ React.createElement(FocusTrap_1.FocusTrap, { active: !!this.props.moveFocus, initialFocusElement: this.props.focusTarget, returnFocusOnDeactivate: true }, this.props.children))),
398
+ // istanbul ignore next
399
+ this.state.parentDocument.body.querySelector('[data-root-container="iui-root-id"]') ?? this.state.parentDocument.body);
400
+ }
401
+ }
402
+ Popup.defaultProps = {
403
+ position: appui_abstract_1.RelativePosition.Bottom,
404
+ showShadow: true,
405
+ showArrow: false,
406
+ isOpen: false,
407
+ offset: 4,
408
+ top: -1,
409
+ left: -1,
410
+ };
411
+ exports.Popup = Popup;
412
+ function parsePxString(pxStr) {
413
+ const parsed = parseInt(pxStr, 10);
414
+ return parsed || 0;
415
+ }
416
+ function parseMargin(value) {
417
+ return value ? /* istanbul ignore next */ parseFloat(value) : 0;
418
+ }
423
419
  //# sourceMappingURL=Popup.js.map