@itwin/core-react 4.1.0 → 4.2.0-dev.1

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 +1609 -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 +4 -4
  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 +42 -23
  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 +11 -7
  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 +94 -86
  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 +10 -6
  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 +14 -8
  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 +16 -11
  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 +20 -10
  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 +19 -12
  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 +18 -12
  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 +46 -23
  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 +11 -8
  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 +3 -3
  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 +21 -9
  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 +37 -20
  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 +4 -4
  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 +42 -23
  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 +11 -7
  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 +94 -86
  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 +10 -6
  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 +14 -8
  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 +16 -11
  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 +21 -11
  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 +19 -12
  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 +18 -12
  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 +46 -23
  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 +11 -8
  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 +3 -3
  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 +21 -9
  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 +37 -20
  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,7 +1,9 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
5
- @import "./index";
6
-
7
- .uicore-expandable-blocks-list { @include uicore-expandable-blocks-list; }
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ @import "./index";
6
+
7
+ .uicore-expandable-blocks-list {
8
+ @include uicore-expandable-blocks-list;
9
+ }
@@ -1,5 +1,5 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
5
- @import "./list";
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ @import "./list";
@@ -1,35 +1,35 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
5
- @import "../style/index";
6
-
7
- @mixin uicore-expandable-blocks-list {
8
- > div {
9
- transition: margin var(--iui-duration-1) ease-in-out;
10
-
11
- > .iui-header {
12
- border-color: var(--iui-color-border);
13
- }
14
-
15
- &:first-child {
16
- > .iui-header {
17
- border-top-color: var(--iui-color-border);
18
- }
19
- }
20
- }
21
-
22
- > .iui-expanded + div {
23
- > .iui-header {
24
- border-top-color: var(--iui-color-border);
25
- }
26
-
27
- &.iui-expanded > .iui-header {
28
- border-top-color: var(--iui-color-border-accent);
29
- }
30
- }
31
-
32
- > .iui-expanded + .iui-expanded {
33
- margin-top: 0;
34
- }
35
- }
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ @import "../style/index";
6
+
7
+ @mixin uicore-expandable-blocks-list {
8
+ > div {
9
+ transition: margin var(--iui-duration-1) ease-in-out;
10
+
11
+ > .iui-header {
12
+ border-color: var(--iui-color-border);
13
+ }
14
+
15
+ &:first-child {
16
+ > .iui-header {
17
+ border-top-color: var(--iui-color-border);
18
+ }
19
+ }
20
+ }
21
+
22
+ > .iui-expanded + div {
23
+ > .iui-header {
24
+ border-top-color: var(--iui-color-border);
25
+ }
26
+
27
+ &.iui-expanded > .iui-header {
28
+ border-top-color: var(--iui-color-border-accent);
29
+ }
30
+ }
31
+
32
+ > .iui-expanded + .iui-expanded {
33
+ margin-top: 0;
34
+ }
35
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"ItemKeyboardNavigator.d.ts","sourceRoot":"","sources":["../../../../src/core-react/focus/ItemKeyboardNavigator.tsx"],"names":[],"mappings":"AAIA;;GAEG;;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;AAE/D;;GAEG;AACH,qBAAa,qBAAqB;IAOb,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI;IAAS,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI;IANvG,OAAO,CAAC,UAAU,CAAsB;IACxC,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,YAAY,CAA0B;IAC9C,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,yBAAyB,CAAC,CAAwB;gBAEvC,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,EAAS,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI;IASvG,qBAAqB;IACrB,IAAW,SAAS,IAAI,MAAM,CAA4B;IAC1D,IAAW,SAAS,CAAC,KAAK,EAAE,MAAM,EAA8B;IAEhE,8BAA8B;IAC9B,IAAW,WAAW,IAAI,WAAW,CAA8B;IACnE,IAAW,WAAW,CAAC,WAAW,EAAE,WAAW,EAAsC;IAErF,2GAA2G;IAC3G,IAAW,SAAS,IAAI,OAAO,CAA4B;IAC3D,IAAW,SAAS,CAAC,CAAC,EAAE,OAAO,EAA0B;IAEzD,+FAA+F;IAC/F,IAAW,wBAAwB,IAAI,qBAAqB,GAAG,SAAS,CAA2C;IACnH,IAAW,wBAAwB,CAAC,CAAC,EAAE,qBAAqB,GAAG,SAAS,EAAyC;IAEjH,8BAA8B;IACvB,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IA6B1E,4BAA4B;IACrB,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAWxE,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,aAAa;IAKrB;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAyB5B;OACG;IACH,OAAO,CAAC,sBAAsB;IAwB9B,OAAO,CAAC,YAAY;CAGrB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEpD"}
1
+ {"version":3,"file":"ItemKeyboardNavigator.d.ts","sourceRoot":"","sources":["../../../../src/core-react/focus/ItemKeyboardNavigator.tsx"],"names":[],"mappings":"AAIA;;GAEG;;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;AAE/D;;GAEG;AACH,qBAAa,qBAAqB;IAQvB,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI;IACpC,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI;IARhD,OAAO,CAAC,UAAU,CAAsB;IACxC,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,YAAY,CAA0B;IAC9C,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,yBAAyB,CAAC,CAAwB;gBAGjD,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,EACpC,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI;IAUhD,qBAAqB;IACrB,IAAW,SAAS,IAAI,MAAM,CAE7B;IACD,IAAW,SAAS,CAAC,KAAK,EAAE,MAAM,EAEjC;IAED,8BAA8B;IAC9B,IAAW,WAAW,IAAI,WAAW,CAEpC;IACD,IAAW,WAAW,CAAC,WAAW,EAAE,WAAW,EAE9C;IAED,2GAA2G;IAC3G,IAAW,SAAS,IAAI,OAAO,CAE9B;IACD,IAAW,SAAS,CAAC,CAAC,EAAE,OAAO,EAE9B;IAED,+FAA+F;IAC/F,IAAW,wBAAwB,IAAI,qBAAqB,GAAG,SAAS,CAEvE;IACD,IAAW,wBAAwB,CAAC,CAAC,EAAE,qBAAqB,GAAG,SAAS,EAEvE;IAED,8BAA8B;IACvB,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IA6B1E,4BAA4B;IACrB,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAWxE,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,aAAa;IAKrB;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAkC5B;OACG;IACH,OAAO,CAAC,sBAAsB;IA8B9B,OAAO,CAAC,YAAY;CAGrB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAQpD"}
@@ -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 Focus
8
8
  */
@@ -28,17 +28,33 @@ class ItemKeyboardNavigator {
28
28
  ]);
29
29
  }
30
30
  /** The item count */
31
- get itemCount() { return this._itemCount; }
32
- set itemCount(count) { this._itemCount = count; }
31
+ get itemCount() {
32
+ return this._itemCount;
33
+ }
34
+ set itemCount(count) {
35
+ this._itemCount = count;
36
+ }
33
37
  /** The primary orientation */
34
- get orientation() { return this._orientation; }
35
- set orientation(orientation) { this._orientation = orientation; }
38
+ get orientation() {
39
+ return this._orientation;
40
+ }
41
+ set orientation(orientation) {
42
+ this._orientation = orientation;
43
+ }
36
44
  /** The allow wrap property controls whether the movement will stop at the first and last items or wrap */
37
- get allowWrap() { return this._allowWrap; }
38
- set allowWrap(v) { this._allowWrap = v; }
45
+ get allowWrap() {
46
+ return this._allowWrap;
47
+ }
48
+ set allowWrap(v) {
49
+ this._allowWrap = v;
50
+ }
39
51
  /** Called when the arrow keys that run perpendicular to the primary orientation are pressed */
40
- get crossAxisArrowKeyHandler() { return this._crossAxisArrowKeyHandler; }
41
- set crossAxisArrowKeyHandler(v) { this._crossAxisArrowKeyHandler = v; }
52
+ get crossAxisArrowKeyHandler() {
53
+ return this._crossAxisArrowKeyHandler;
54
+ }
55
+ set crossAxisArrowKeyHandler(v) {
56
+ this._crossAxisArrowKeyHandler = v;
57
+ }
42
58
  /** Handle KeyDown on items */
43
59
  handleKeyDownEvent(event, index) {
44
60
  const key = event.key;
@@ -95,7 +111,8 @@ class ItemKeyboardNavigator {
95
111
  event.preventDefault();
96
112
  proceed = true;
97
113
  }
98
- else if (this.crossAxisArrowKeyHandler && (key === appui_abstract_1.SpecialKey.ArrowLeft || key === appui_abstract_1.SpecialKey.ArrowRight)) {
114
+ else if (this.crossAxisArrowKeyHandler &&
115
+ (key === appui_abstract_1.SpecialKey.ArrowLeft || key === appui_abstract_1.SpecialKey.ArrowRight)) {
99
116
  this.crossAxisArrowKeyHandler(key === appui_abstract_1.SpecialKey.ArrowRight);
100
117
  }
101
118
  }
@@ -103,7 +120,8 @@ class ItemKeyboardNavigator {
103
120
  if (key === appui_abstract_1.SpecialKey.ArrowLeft || key === appui_abstract_1.SpecialKey.ArrowRight) {
104
121
  proceed = true;
105
122
  }
106
- else if (this.crossAxisArrowKeyHandler && (key === appui_abstract_1.SpecialKey.ArrowUp || key === appui_abstract_1.SpecialKey.ArrowDown)) {
123
+ else if (this.crossAxisArrowKeyHandler &&
124
+ (key === appui_abstract_1.SpecialKey.ArrowUp || key === appui_abstract_1.SpecialKey.ArrowDown)) {
107
125
  this.crossAxisArrowKeyHandler(key === appui_abstract_1.SpecialKey.ArrowDown);
108
126
  }
109
127
  }
@@ -126,7 +144,8 @@ class ItemKeyboardNavigator {
126
144
  else {
127
145
  // istanbul ignore else
128
146
  if (this._allowWrap) {
129
- if (pressed === appui_abstract_1.SpecialKey.ArrowLeft || pressed === appui_abstract_1.SpecialKey.ArrowUp) {
147
+ if (pressed === appui_abstract_1.SpecialKey.ArrowLeft ||
148
+ pressed === appui_abstract_1.SpecialKey.ArrowUp) {
130
149
  this.focusLastItem();
131
150
  }
132
151
  else {
@@ -145,7 +164,11 @@ exports.ItemKeyboardNavigator = ItemKeyboardNavigator;
145
164
  * @internal
146
165
  */
147
166
  function isNavigationKey(key) {
148
- return ((0, appui_abstract_1.isArrowKey)(key) || key === appui_abstract_1.SpecialKey.Home || key === appui_abstract_1.SpecialKey.End || key === appui_abstract_1.SpecialKey.Space || key === appui_abstract_1.SpecialKey.Enter);
167
+ return ((0, appui_abstract_1.isArrowKey)(key) ||
168
+ key === appui_abstract_1.SpecialKey.Home ||
169
+ key === appui_abstract_1.SpecialKey.End ||
170
+ key === appui_abstract_1.SpecialKey.Space ||
171
+ key === appui_abstract_1.SpecialKey.Enter);
149
172
  }
150
173
  exports.isNavigationKey = isNavigationKey;
151
174
  //# sourceMappingURL=ItemKeyboardNavigator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ItemKeyboardNavigator.js","sourceRoot":"","sources":["../../../../src/core-react/focus/ItemKeyboardNavigator.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 Focus\r\n */\r\n\r\nimport { isArrowKey, SpecialKey } from \"@itwin/appui-abstract\";\r\nimport { Orientation } from \"../enums/Orientation\";\r\n\r\n/** Cross-Axis Arrow Key Callback\r\n * @internal\r\n */\r\nexport type CrossAxisArrowKeyFunc = (forward: boolean) => void;\r\n\r\n/** Keyboard Navigator for parent components\r\n * @internal\r\n */\r\nexport class ItemKeyboardNavigator {\r\n private _direction: Map<string, number>;\r\n private _itemCount = 0;\r\n private _orientation = Orientation.Horizontal;\r\n private _allowWrap = true;\r\n private _crossAxisArrowKeyHandler?: CrossAxisArrowKeyFunc;\r\n\r\n constructor(public onFocusItem: (index: number) => void, public onActivateItem: (index: number) => void) {\r\n this._direction = new Map<string, number>([\r\n [SpecialKey.ArrowLeft, -1],\r\n [SpecialKey.ArrowUp, -1],\r\n [SpecialKey.ArrowRight, 1],\r\n [SpecialKey.ArrowDown, 1],\r\n ]);\r\n }\r\n\r\n /** The item count */\r\n public get itemCount(): number { return this._itemCount; }\r\n public set itemCount(count: number) { this._itemCount = count; }\r\n\r\n /** The primary orientation */\r\n public get orientation(): Orientation { return this._orientation; }\r\n public set orientation(orientation: Orientation) { this._orientation = orientation; }\r\n\r\n /** The allow wrap property controls whether the movement will stop at the first and last items or wrap */\r\n public get allowWrap(): boolean { return this._allowWrap; }\r\n public set allowWrap(v: boolean) { this._allowWrap = v; }\r\n\r\n /** Called when the arrow keys that run perpendicular to the primary orientation are pressed */\r\n public get crossAxisArrowKeyHandler(): CrossAxisArrowKeyFunc | undefined { return this._crossAxisArrowKeyHandler; }\r\n public set crossAxisArrowKeyHandler(v: CrossAxisArrowKeyFunc | undefined) { this._crossAxisArrowKeyHandler = v; }\r\n\r\n /** Handle KeyDown on items */\r\n public handleKeyDownEvent(event: React.KeyboardEvent, index: number): void {\r\n const key = event.key;\r\n\r\n switch (key) {\r\n case SpecialKey.Home:\r\n event.preventDefault();\r\n // Activate first item\r\n this.focusFirstItem();\r\n break;\r\n case SpecialKey.End:\r\n event.preventDefault();\r\n // Activate last item\r\n this.focusLastItem();\r\n break;\r\n\r\n // Up and down are in keydown\r\n // because we need to prevent page scroll >:)\r\n case SpecialKey.ArrowUp:\r\n case SpecialKey.ArrowDown:\r\n this.determineOrientation(event, index);\r\n break;\r\n\r\n case SpecialKey.Enter:\r\n case SpecialKey.Space:\r\n this.activateItem(index);\r\n break;\r\n }\r\n }\r\n\r\n /** Handle KeyUp on items */\r\n public handleKeyUpEvent(event: React.KeyboardEvent, index: number): void {\r\n const key = event.key;\r\n\r\n switch (key) {\r\n case SpecialKey.ArrowLeft:\r\n case SpecialKey.ArrowRight:\r\n this.determineOrientation(event, index);\r\n break;\r\n }\r\n }\r\n\r\n private focusFirstItem(): void {\r\n this.onFocusItem(0);\r\n }\r\n\r\n private focusLastItem(): void {\r\n const index = this._itemCount - 1;\r\n this.onFocusItem(index);\r\n }\r\n\r\n /** When an item list's orientation is set to vertical,\r\n * only up and down arrow should function.\r\n * In all other cases only left and right arrow function.\r\n */\r\n private determineOrientation(event: React.KeyboardEvent, index: number): void {\r\n const key = event.key;\r\n const vertical = this._orientation === Orientation.Vertical;\r\n let proceed = false;\r\n\r\n if (vertical) {\r\n if (key === SpecialKey.ArrowUp || key === SpecialKey.ArrowDown) {\r\n event.preventDefault();\r\n proceed = true;\r\n } else if (this.crossAxisArrowKeyHandler && (key === SpecialKey.ArrowLeft || key === SpecialKey.ArrowRight)) {\r\n this.crossAxisArrowKeyHandler(key === SpecialKey.ArrowRight);\r\n }\r\n } else {\r\n if (key === SpecialKey.ArrowLeft || key === SpecialKey.ArrowRight) {\r\n proceed = true;\r\n } else if (this.crossAxisArrowKeyHandler && (key === SpecialKey.ArrowUp || key === SpecialKey.ArrowDown)) {\r\n this.crossAxisArrowKeyHandler(key === SpecialKey.ArrowDown);\r\n }\r\n }\r\n\r\n if (proceed) {\r\n this.switchItemOnArrowPress(event, index);\r\n }\r\n }\r\n\r\n /** Either focus the next, previous, first, or last item depending on key pressed\r\n */\r\n private switchItemOnArrowPress(event: React.KeyboardEvent, index: number): void {\r\n // Add or subtract depending on key pressed\r\n const pressed = event.key;\r\n const targetDirection = this._direction.get(pressed);\r\n\r\n // istanbul ignore else\r\n if (targetDirection) {\r\n const newIndex = index + targetDirection;\r\n\r\n if (0 <= newIndex && newIndex < this._itemCount) {\r\n this.onFocusItem(newIndex);\r\n } else {\r\n // istanbul ignore else\r\n if (this._allowWrap) {\r\n if (pressed === SpecialKey.ArrowLeft || pressed === SpecialKey.ArrowUp) {\r\n this.focusLastItem();\r\n } else {\r\n this.focusFirstItem();\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n private activateItem(index: number): void {\r\n this.onActivateItem(index);\r\n }\r\n}\r\n\r\n/** Determines if a KeyboardEvent.key is an Item Navigation key\r\n * @internal\r\n */\r\nexport function isNavigationKey(key: string): boolean {\r\n return (isArrowKey(key) || key === SpecialKey.Home || key === SpecialKey.End || key === SpecialKey.Space || key === SpecialKey.Enter);\r\n}\r\n"]}
1
+ {"version":3,"file":"ItemKeyboardNavigator.js","sourceRoot":"","sources":["../../../../src/core-react/focus/ItemKeyboardNavigator.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 Focus\n */\n\nimport { isArrowKey, SpecialKey } from \"@itwin/appui-abstract\";\nimport { Orientation } from \"../enums/Orientation\";\n\n/** Cross-Axis Arrow Key Callback\n * @internal\n */\nexport type CrossAxisArrowKeyFunc = (forward: boolean) => void;\n\n/** Keyboard Navigator for parent components\n * @internal\n */\nexport class ItemKeyboardNavigator {\n private _direction: Map<string, number>;\n private _itemCount = 0;\n private _orientation = Orientation.Horizontal;\n private _allowWrap = true;\n private _crossAxisArrowKeyHandler?: CrossAxisArrowKeyFunc;\n\n constructor(\n public onFocusItem: (index: number) => void,\n public onActivateItem: (index: number) => void\n ) {\n this._direction = new Map<string, number>([\n [SpecialKey.ArrowLeft, -1],\n [SpecialKey.ArrowUp, -1],\n [SpecialKey.ArrowRight, 1],\n [SpecialKey.ArrowDown, 1],\n ]);\n }\n\n /** The item count */\n public get itemCount(): number {\n return this._itemCount;\n }\n public set itemCount(count: number) {\n this._itemCount = count;\n }\n\n /** The primary orientation */\n public get orientation(): Orientation {\n return this._orientation;\n }\n public set orientation(orientation: Orientation) {\n this._orientation = orientation;\n }\n\n /** The allow wrap property controls whether the movement will stop at the first and last items or wrap */\n public get allowWrap(): boolean {\n return this._allowWrap;\n }\n public set allowWrap(v: boolean) {\n this._allowWrap = v;\n }\n\n /** Called when the arrow keys that run perpendicular to the primary orientation are pressed */\n public get crossAxisArrowKeyHandler(): CrossAxisArrowKeyFunc | undefined {\n return this._crossAxisArrowKeyHandler;\n }\n public set crossAxisArrowKeyHandler(v: CrossAxisArrowKeyFunc | undefined) {\n this._crossAxisArrowKeyHandler = v;\n }\n\n /** Handle KeyDown on items */\n public handleKeyDownEvent(event: React.KeyboardEvent, index: number): void {\n const key = event.key;\n\n switch (key) {\n case SpecialKey.Home:\n event.preventDefault();\n // Activate first item\n this.focusFirstItem();\n break;\n case SpecialKey.End:\n event.preventDefault();\n // Activate last item\n this.focusLastItem();\n break;\n\n // Up and down are in keydown\n // because we need to prevent page scroll >:)\n case SpecialKey.ArrowUp:\n case SpecialKey.ArrowDown:\n this.determineOrientation(event, index);\n break;\n\n case SpecialKey.Enter:\n case SpecialKey.Space:\n this.activateItem(index);\n break;\n }\n }\n\n /** Handle KeyUp on items */\n public handleKeyUpEvent(event: React.KeyboardEvent, index: number): void {\n const key = event.key;\n\n switch (key) {\n case SpecialKey.ArrowLeft:\n case SpecialKey.ArrowRight:\n this.determineOrientation(event, index);\n break;\n }\n }\n\n private focusFirstItem(): void {\n this.onFocusItem(0);\n }\n\n private focusLastItem(): void {\n const index = this._itemCount - 1;\n this.onFocusItem(index);\n }\n\n /** When an item list's orientation is set to vertical,\n * only up and down arrow should function.\n * In all other cases only left and right arrow function.\n */\n private determineOrientation(\n event: React.KeyboardEvent,\n index: number\n ): void {\n const key = event.key;\n const vertical = this._orientation === Orientation.Vertical;\n let proceed = false;\n\n if (vertical) {\n if (key === SpecialKey.ArrowUp || key === SpecialKey.ArrowDown) {\n event.preventDefault();\n proceed = true;\n } else if (\n this.crossAxisArrowKeyHandler &&\n (key === SpecialKey.ArrowLeft || key === SpecialKey.ArrowRight)\n ) {\n this.crossAxisArrowKeyHandler(key === SpecialKey.ArrowRight);\n }\n } else {\n if (key === SpecialKey.ArrowLeft || key === SpecialKey.ArrowRight) {\n proceed = true;\n } else if (\n this.crossAxisArrowKeyHandler &&\n (key === SpecialKey.ArrowUp || key === SpecialKey.ArrowDown)\n ) {\n this.crossAxisArrowKeyHandler(key === SpecialKey.ArrowDown);\n }\n }\n\n if (proceed) {\n this.switchItemOnArrowPress(event, index);\n }\n }\n\n /** Either focus the next, previous, first, or last item depending on key pressed\n */\n private switchItemOnArrowPress(\n event: React.KeyboardEvent,\n index: number\n ): void {\n // Add or subtract depending on key pressed\n const pressed = event.key;\n const targetDirection = this._direction.get(pressed);\n\n // istanbul ignore else\n if (targetDirection) {\n const newIndex = index + targetDirection;\n\n if (0 <= newIndex && newIndex < this._itemCount) {\n this.onFocusItem(newIndex);\n } else {\n // istanbul ignore else\n if (this._allowWrap) {\n if (\n pressed === SpecialKey.ArrowLeft ||\n pressed === SpecialKey.ArrowUp\n ) {\n this.focusLastItem();\n } else {\n this.focusFirstItem();\n }\n }\n }\n }\n }\n\n private activateItem(index: number): void {\n this.onActivateItem(index);\n }\n}\n\n/** Determines if a KeyboardEvent.key is an Item Navigation key\n * @internal\n */\nexport function isNavigationKey(key: string): boolean {\n return (\n isArrowKey(key) ||\n key === SpecialKey.Home ||\n key === SpecialKey.End ||\n key === SpecialKey.Space ||\n key === SpecialKey.Enter\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"FocusTrap.d.ts","sourceRoot":"","sources":["../../../../src/core-react/focustrap/FocusTrap.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAgH/B;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,cAAc,EAAE,cAAc,EAAE,mBAAmB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,MAAM,GAAG,OAAO,CAWvI;AAED;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC;IAClE,uBAAuB;IACvB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,oEAAoE;IACpE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,wEAAwE;IACxE,uBAAuB,EAAE,OAAO,CAAC;IACjC;;;OAGG;IACH,mBAAmB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC;CAC7D;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,sBAoF9C"}
1
+ {"version":3,"file":"FocusTrap.d.ts","sourceRoot":"","sources":["../../../../src/core-react/focustrap/FocusTrap.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAkI/B;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,cAAc,EAAE,cAAc,EAC9B,mBAAmB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,MAAM,GAC1D,OAAO,CAcT;AAED;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC;IAClE,uBAAuB;IACvB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,oEAAoE;IACpE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,wEAAwE;IACxE,uBAAuB,EAAE,OAAO,CAAC;IACjC;;;OAGG;IACH,mBAAmB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC;CAC7D;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,sBA+G9C"}
@@ -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 Popup
8
8
  */
@@ -15,11 +15,15 @@ const UiCore_1 = require("../UiCore");
15
15
  function isFocusable(element) {
16
16
  if (!element || element.tabIndex < 0)
17
17
  return false;
18
- if (element.classList && element.classList.contains("core-focus-trap-ignore-initial"))
18
+ if (element.classList &&
19
+ element.classList.contains("core-focus-trap-ignore-initial"))
19
20
  return false;
20
- if (element.getAttribute && (typeof element.getAttribute === "function") && element.getAttribute("disabled") !== null)
21
+ if (element.getAttribute &&
22
+ typeof element.getAttribute === "function" &&
23
+ element.getAttribute("disabled") !== null)
21
24
  return false;
22
- if (element.tabIndex > 0 || (element.tabIndex === 0 && element.getAttribute("tabIndex") !== null))
25
+ if (element.tabIndex > 0 ||
26
+ (element.tabIndex === 0 && element.getAttribute("tabIndex") !== null))
23
27
  return true;
24
28
  switch (element.nodeName) {
25
29
  case "A":
@@ -96,13 +100,15 @@ function attemptFocus(element, preventScroll) {
96
100
  try {
97
101
  // istanbul ignore else
98
102
  if (document.activeElement !== element)
99
- element.focus({ preventScroll: preventScroll ? true : /* istanbul ignore next */ false });
103
+ element.focus({
104
+ preventScroll: preventScroll ? true : /* istanbul ignore next */ false,
105
+ });
100
106
  }
101
107
  catch (e) {
102
108
  // istanbul ignore next
103
109
  return false;
104
110
  }
105
- return (document.activeElement === element);
111
+ return document.activeElement === element;
106
112
  } // end attemptFocus
107
113
  /** Focus into first focusable element of a container.
108
114
  * @internal
@@ -147,13 +153,20 @@ function FocusTrap(props) {
147
153
  }
148
154
  }
149
155
  }
150
- }, [props.children, props.initialFocusElement, props.active, props.returnFocusOnDeactivate]);
156
+ }, [
157
+ props.children,
158
+ props.initialFocusElement,
159
+ props.active,
160
+ props.returnFocusOnDeactivate,
161
+ ]);
151
162
  // Return function to run only when FocusTrap is unmounted to restore focus
152
163
  React.useEffect(() => {
153
164
  return () => {
154
165
  window.clearTimeout(timeoutRef.current);
155
166
  if (restoreFocusElement.current)
156
- restoreFocusElement.current.focus({ preventScroll: true });
167
+ restoreFocusElement.current.focus({
168
+ preventScroll: true,
169
+ });
157
170
  };
158
171
  }, []);
159
172
  // this is hit if Shift tab is used.
@@ -170,7 +183,8 @@ function FocusTrap(props) {
170
183
  focusable.focus();
171
184
  }
172
185
  else {
173
- if (initialFocusElement.current && initialFocusElement.current !== document.activeElement)
186
+ if (initialFocusElement.current &&
187
+ initialFocusElement.current !== document.activeElement)
174
188
  attemptFocus(initialFocusElement.current, true);
175
189
  }
176
190
  }
@@ -182,16 +196,19 @@ function FocusTrap(props) {
182
196
  return;
183
197
  event.stopPropagation();
184
198
  // istanbul ignore else
185
- if (initialFocusElement.current && initialFocusElement.current !== document.activeElement)
199
+ if (initialFocusElement.current &&
200
+ initialFocusElement.current !== document.activeElement)
186
201
  initialFocusElement.current.focus();
187
202
  }, [props.active]);
188
203
  if (!props.children)
189
204
  return null;
190
205
  return (React.createElement(React.Fragment, null,
191
- React.createElement("div", { "data-testid": "focus-trap-div", onFocus: cycleFocusToEnd, ref: focusContainer, tabIndex: 0,
192
- // eslint-disable-next-line @typescript-eslint/naming-convention
193
- style: { outline: "none", WebkitTapHighlightColor: "rgba(0,0,0,0)" } }, props.children),
194
- React.createElement("div", { "data-testid": "focus-trap-limit-div", onFocus: cycleFocusToStart, tabIndex: 0 })));
206
+ React.createElement("div", { "data-testid": "focus-trap-div", onFocus: cycleFocusToEnd, ref: focusContainer,
207
+ /* eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex */
208
+ tabIndex: 0, style: { outline: "none", WebkitTapHighlightColor: "rgba(0,0,0,0)" } }, props.children),
209
+ React.createElement("div", { "data-testid": "focus-trap-limit-div", onFocus: cycleFocusToStart,
210
+ /* eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex */
211
+ tabIndex: 0 })));
195
212
  }
196
213
  exports.FocusTrap = FocusTrap;
197
214
  //# sourceMappingURL=FocusTrap.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FocusTrap.js","sourceRoot":"","sources":["../../../../src/core-react/focustrap/FocusTrap.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 Popup\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { Logger } from \"@itwin/core-bentley\";\r\nimport { UiCore } from \"../UiCore\";\r\n\r\n// cSpell:ignore focusable\r\n\r\nfunction isFocusable(element: HTMLElement): boolean {\r\n if (!element || element.tabIndex < 0)\r\n return false;\r\n\r\n if (element.classList && element.classList.contains(\"core-focus-trap-ignore-initial\"))\r\n return false;\r\n\r\n if (element.getAttribute && (typeof element.getAttribute === \"function\") && element.getAttribute(\"disabled\") !== null)\r\n return false;\r\n\r\n if (element.tabIndex > 0 || (element.tabIndex === 0 && element.getAttribute(\"tabIndex\") !== null))\r\n return true;\r\n\r\n switch (element.nodeName) {\r\n case \"A\":\r\n const anchorElement = element as HTMLAnchorElement;\r\n return !!anchorElement.href && anchorElement.rel !== \"ignore\";\r\n case \"INPUT\":\r\n const inputElement = element as HTMLInputElement;\r\n return inputElement.type !== \"hidden\" && inputElement.type !== \"file\";\r\n case \"BUTTON\":\r\n case \"SELECT\":\r\n case \"TEXTAREA\":\r\n return true;\r\n default:\r\n return false;\r\n }\r\n}\r\n\r\nfunction processFindFocusableDescendant(element: HTMLElement | null): HTMLElement | null {\r\n // istanbul ignore next\r\n if (!element)\r\n return null;\r\n\r\n for (const child of element.childNodes) {\r\n // istanbul ignore else\r\n if (isFocusable(child as HTMLElement))\r\n return child as HTMLElement;\r\n\r\n const focusable = processFindFocusableDescendant(child as HTMLElement);\r\n if (focusable)\r\n return focusable;\r\n }\r\n return null;\r\n}\r\n\r\nfunction findFirstFocusableDescendant(focusContainer: HTMLDivElement | null): HTMLElement | null {\r\n return processFindFocusableDescendant(focusContainer);\r\n}\r\n\r\nfunction processFindLastFocusableDescendant(element: HTMLElement): HTMLElement | null {\r\n for (let i = element.childNodes.length - 1; i >= 0; i--) {\r\n const child = element.childNodes[i] as HTMLElement;\r\n\r\n const focusable = processFindLastFocusableDescendant(child);\r\n // istanbul ignore else\r\n if (focusable)\r\n return focusable;\r\n\r\n // istanbul ignore else\r\n if (isFocusable(child))\r\n return child;\r\n }\r\n return null;\r\n}\r\n\r\nfunction findLastFocusableDescendant(focusContainer: HTMLDivElement): HTMLElement | null {\r\n return processFindLastFocusableDescendant(focusContainer);\r\n}\r\n\r\nfunction getInitialFocusElement(focusContainer: HTMLDivElement | null, initialFocusSpec: React.RefObject<HTMLElement> | string | undefined): HTMLElement | null {\r\n // istanbul ignore next\r\n if (!focusContainer)\r\n return null;\r\n\r\n if (initialFocusSpec) {\r\n if (typeof initialFocusSpec === \"string\") {\r\n const node = focusContainer.querySelector(initialFocusSpec);\r\n if (node) {\r\n return node as HTMLElement;\r\n } else {\r\n Logger.logError(`${UiCore.packageName}.FocusTrap`, `Unable to locate element via selector ${initialFocusSpec}`);\r\n }\r\n } else {\r\n return initialFocusSpec.current;\r\n }\r\n }\r\n return findFirstFocusableDescendant(focusContainer);\r\n}\r\n\r\nfunction attemptFocus(element: HTMLElement, preventScroll: boolean): boolean {\r\n // istanbul ignore next\r\n if (!isFocusable(element))\r\n return false;\r\n\r\n try {\r\n // istanbul ignore else\r\n if (document.activeElement !== element)\r\n element.focus({ preventScroll: preventScroll ? true : /* istanbul ignore next */ false });\r\n } catch (e) {\r\n // istanbul ignore next\r\n return false;\r\n }\r\n return (document.activeElement === element);\r\n} // end attemptFocus\r\n\r\n/** Focus into first focusable element of a container.\r\n * @internal\r\n */\r\nexport function focusIntoContainer(focusContainer: HTMLDivElement, initialFocusElement?: React.RefObject<HTMLElement> | string): boolean {\r\n let result = false;\r\n const focusElement = getInitialFocusElement(focusContainer, initialFocusElement);\r\n if (focusElement) {\r\n // delay setting focus immediately because in some browsers other focus events happen when popup is initially opened.\r\n setTimeout(() => {\r\n attemptFocus(focusElement, true);\r\n }, 60);\r\n result = true;\r\n }\r\n return result;\r\n}\r\n\r\n/** Properties supported by [[FocusTrap]] component.\r\n * @internal\r\n */\r\nexport interface FocusTrapProps extends React.AllHTMLAttributes<any> {\r\n /** child components */\r\n children: React.ReactNode;\r\n /** if active is not true then no trapping of focus is attempted. */\r\n active?: boolean;\r\n /** restore focus to element that had focus before trap was activated */\r\n returnFocusOnDeactivate: boolean;\r\n /** Optional reference to element to receive focus when trap is activated. Optionally a CSS Selector\r\n * string can be supplied to locate an element in the FocusTrap container. If no specification is defined\r\n * the first focusable element is used.\r\n */\r\n initialFocusElement?: React.RefObject<HTMLElement> | string;\r\n}\r\n\r\n/** Trap Focus in container while trap is active.\r\n * @internal\r\n */\r\nexport function FocusTrap(props: FocusTrapProps) {\r\n const restoreFocusElement = React.useRef<Element | null>(null);\r\n const initialFocusElement = React.useRef<Element | null>(null);\r\n const focusContainer = React.useRef<HTMLDivElement | null>(null);\r\n const isInitialMount = React.useRef(true);\r\n const timeoutRef = React.useRef<number | undefined>();\r\n\r\n // Run on initial mount and when dependencies change. which could happen often.\r\n React.useEffect(() => {\r\n // istanbul ignore else\r\n if (isInitialMount.current) {\r\n isInitialMount.current = false;\r\n if (props.active) {\r\n if (props.returnFocusOnDeactivate) {\r\n restoreFocusElement.current = document.activeElement;\r\n }\r\n\r\n initialFocusElement.current = getInitialFocusElement(focusContainer.current, props.initialFocusElement);\r\n if (initialFocusElement.current) {\r\n // delay setting focus immediately because in some browsers other focus events happen when popup is initially opened.\r\n timeoutRef.current = window.setTimeout(() => {\r\n attemptFocus((initialFocusElement.current as HTMLElement), true);\r\n }, 60);\r\n }\r\n }\r\n }\r\n }, [props.children, props.initialFocusElement, props.active, props.returnFocusOnDeactivate]);\r\n\r\n // Return function to run only when FocusTrap is unmounted to restore focus\r\n React.useEffect(() => {\r\n return () => {\r\n window.clearTimeout(timeoutRef.current);\r\n if (restoreFocusElement.current)\r\n (restoreFocusElement.current as HTMLElement).focus({ preventScroll: true });\r\n };\r\n }, []);\r\n\r\n // this is hit if Shift tab is used.\r\n const cycleFocusToEnd = React.useCallback((event: React.FocusEvent<HTMLDivElement>) => {\r\n // istanbul ignore next\r\n if (!props.active)\r\n return;\r\n\r\n if (focusContainer.current && event.target === focusContainer.current) {\r\n event.stopPropagation();\r\n event.preventDefault();\r\n const focusable = findLastFocusableDescendant(focusContainer.current);\r\n\r\n // istanbul ignore else\r\n if (focusable) {\r\n focusable.focus();\r\n } else {\r\n if (initialFocusElement.current && initialFocusElement.current !== document.activeElement)\r\n attemptFocus((initialFocusElement.current as HTMLElement), true);\r\n }\r\n }\r\n }, [props.active]);\r\n\r\n // this is hit if tab is used on last focusable item in child container.\r\n const cycleFocusToStart = React.useCallback((event: React.FocusEvent<HTMLDivElement>) => {\r\n // istanbul ignore next\r\n if (!props.active)\r\n return;\r\n\r\n event.stopPropagation();\r\n // istanbul ignore else\r\n if (initialFocusElement.current && initialFocusElement.current !== document.activeElement)\r\n (initialFocusElement.current as HTMLElement).focus();\r\n }, [props.active]);\r\n\r\n if (!props.children)\r\n return null;\r\n return (\r\n <>\r\n {/* eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex */}\r\n <div data-testid=\"focus-trap-div\" onFocus={cycleFocusToEnd} ref={focusContainer} tabIndex={0}\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n style={{ outline: \"none\", WebkitTapHighlightColor: \"rgba(0,0,0,0)\" }}>\r\n {props.children}\r\n </div>\r\n {/* eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex */}\r\n <div data-testid=\"focus-trap-limit-div\" onFocus={cycleFocusToStart} tabIndex={0} />\r\n </>\r\n );\r\n}\r\n"]}
1
+ {"version":3,"file":"FocusTrap.js","sourceRoot":"","sources":["../../../../src/core-react/focustrap/FocusTrap.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,+BAA+B;AAC/B,sDAA6C;AAC7C,sCAAmC;AAEnC,0BAA0B;AAE1B,SAAS,WAAW,CAAC,OAAoB;IACvC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAEnD,IACE,OAAO,CAAC,SAAS;QACjB,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,gCAAgC,CAAC;QAE5D,OAAO,KAAK,CAAC;IAEf,IACE,OAAO,CAAC,YAAY;QACpB,OAAO,OAAO,CAAC,YAAY,KAAK,UAAU;QAC1C,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,IAAI;QAEzC,OAAO,KAAK,CAAC;IAEf,IACE,OAAO,CAAC,QAAQ,GAAG,CAAC;QACpB,CAAC,OAAO,CAAC,QAAQ,KAAK,CAAC,IAAI,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC;QAErE,OAAO,IAAI,CAAC;IAEd,QAAQ,OAAO,CAAC,QAAQ,EAAE;QACxB,KAAK,GAAG;YACN,MAAM,aAAa,GAAG,OAA4B,CAAC;YACnD,OAAO,CAAC,CAAC,aAAa,CAAC,IAAI,IAAI,aAAa,CAAC,GAAG,KAAK,QAAQ,CAAC;QAChE,KAAK,OAAO;YACV,MAAM,YAAY,GAAG,OAA2B,CAAC;YACjD,OAAO,YAAY,CAAC,IAAI,KAAK,QAAQ,IAAI,YAAY,CAAC,IAAI,KAAK,MAAM,CAAC;QACxE,KAAK,QAAQ,CAAC;QACd,KAAK,QAAQ,CAAC;QACd,KAAK,UAAU;YACb,OAAO,IAAI,CAAC;QACd;YACE,OAAO,KAAK,CAAC;KAChB;AACH,CAAC;AAED,SAAS,8BAA8B,CACrC,OAA2B;IAE3B,uBAAuB;IACvB,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAE1B,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,UAAU,EAAE;QACtC,uBAAuB;QACvB,IAAI,WAAW,CAAC,KAAoB,CAAC;YAAE,OAAO,KAAoB,CAAC;QAEnE,MAAM,SAAS,GAAG,8BAA8B,CAAC,KAAoB,CAAC,CAAC;QACvE,IAAI,SAAS;YAAE,OAAO,SAAS,CAAC;KACjC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,4BAA4B,CACnC,cAAqC;IAErC,OAAO,8BAA8B,CAAC,cAAc,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,kCAAkC,CACzC,OAAoB;IAEpB,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;QACvD,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAgB,CAAC;QAEnD,MAAM,SAAS,GAAG,kCAAkC,CAAC,KAAK,CAAC,CAAC;QAC5D,uBAAuB;QACvB,IAAI,SAAS;YAAE,OAAO,SAAS,CAAC;QAEhC,uBAAuB;QACvB,IAAI,WAAW,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;KACtC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,2BAA2B,CAClC,cAA8B;IAE9B,OAAO,kCAAkC,CAAC,cAAc,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,sBAAsB,CAC7B,cAAqC,EACrC,gBAAmE;IAEnE,uBAAuB;IACvB,IAAI,CAAC,cAAc;QAAE,OAAO,IAAI,CAAC;IAEjC,IAAI,gBAAgB,EAAE;QACpB,IAAI,OAAO,gBAAgB,KAAK,QAAQ,EAAE;YACxC,MAAM,IAAI,GAAG,cAAc,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;YAC5D,IAAI,IAAI,EAAE;gBACR,OAAO,IAAmB,CAAC;aAC5B;iBAAM;gBACL,qBAAM,CAAC,QAAQ,CACb,GAAG,eAAM,CAAC,WAAW,YAAY,EACjC,yCAAyC,gBAAgB,EAAE,CAC5D,CAAC;aACH;SACF;aAAM;YACL,OAAO,gBAAgB,CAAC,OAAO,CAAC;SACjC;KACF;IACD,OAAO,4BAA4B,CAAC,cAAc,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,YAAY,CAAC,OAAoB,EAAE,aAAsB;IAChE,uBAAuB;IACvB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IAExC,IAAI;QACF,uBAAuB;QACvB,IAAI,QAAQ,CAAC,aAAa,KAAK,OAAO;YACpC,OAAO,CAAC,KAAK,CAAC;gBACZ,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,0BAA0B,CAAC,KAAK;aACvE,CAAC,CAAC;KACN;IAAC,OAAO,CAAC,EAAE;QACV,uBAAuB;QACvB,OAAO,KAAK,CAAC;KACd;IACD,OAAO,QAAQ,CAAC,aAAa,KAAK,OAAO,CAAC;AAC5C,CAAC,CAAC,mBAAmB;AAErB;;GAEG;AACH,SAAgB,kBAAkB,CAChC,cAA8B,EAC9B,mBAA2D;IAE3D,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,MAAM,YAAY,GAAG,sBAAsB,CACzC,cAAc,EACd,mBAAmB,CACpB,CAAC;IACF,IAAI,YAAY,EAAE;QAChB,qHAAqH;QACrH,UAAU,CAAC,GAAG,EAAE;YACd,YAAY,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QACnC,CAAC,EAAE,EAAE,CAAC,CAAC;QACP,MAAM,GAAG,IAAI,CAAC;KACf;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAjBD,gDAiBC;AAmBD;;GAEG;AACH,SAAgB,SAAS,CAAC,KAAqB;IAC7C,MAAM,mBAAmB,GAAG,KAAK,CAAC,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC/D,MAAM,mBAAmB,GAAG,KAAK,CAAC,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC/D,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAwB,IAAI,CAAC,CAAC;IACjE,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,EAAsB,CAAC;IAEtD,+EAA+E;IAC/E,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,uBAAuB;QACvB,IAAI,cAAc,CAAC,OAAO,EAAE;YAC1B,cAAc,CAAC,OAAO,GAAG,KAAK,CAAC;YAC/B,IAAI,KAAK,CAAC,MAAM,EAAE;gBAChB,IAAI,KAAK,CAAC,uBAAuB,EAAE;oBACjC,mBAAmB,CAAC,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC;iBACtD;gBAED,mBAAmB,CAAC,OAAO,GAAG,sBAAsB,CAClD,cAAc,CAAC,OAAO,EACtB,KAAK,CAAC,mBAAmB,CAC1B,CAAC;gBACF,IAAI,mBAAmB,CAAC,OAAO,EAAE;oBAC/B,qHAAqH;oBACrH,UAAU,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;wBAC1C,YAAY,CAAC,mBAAmB,CAAC,OAAsB,EAAE,IAAI,CAAC,CAAC;oBACjE,CAAC,EAAE,EAAE,CAAC,CAAC;iBACR;aACF;SACF;IACH,CAAC,EAAE;QACD,KAAK,CAAC,QAAQ;QACd,KAAK,CAAC,mBAAmB;QACzB,KAAK,CAAC,MAAM;QACZ,KAAK,CAAC,uBAAuB;KAC9B,CAAC,CAAC;IAEH,2EAA2E;IAC3E,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YACxC,IAAI,mBAAmB,CAAC,OAAO;gBAC5B,mBAAmB,CAAC,OAAuB,CAAC,KAAK,CAAC;oBACjD,aAAa,EAAE,IAAI;iBACpB,CAAC,CAAC;QACP,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,oCAAoC;IACpC,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,CACvC,CAAC,KAAuC,EAAE,EAAE;QAC1C,uBAAuB;QACvB,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,OAAO;QAE1B,IAAI,cAAc,CAAC,OAAO,IAAI,KAAK,CAAC,MAAM,KAAK,cAAc,CAAC,OAAO,EAAE;YACrE,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,MAAM,SAAS,GAAG,2BAA2B,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YAEtE,uBAAuB;YACvB,IAAI,SAAS,EAAE;gBACb,SAAS,CAAC,KAAK,EAAE,CAAC;aACnB;iBAAM;gBACL,IACE,mBAAmB,CAAC,OAAO;oBAC3B,mBAAmB,CAAC,OAAO,KAAK,QAAQ,CAAC,aAAa;oBAEtD,YAAY,CAAC,mBAAmB,CAAC,OAAsB,EAAE,IAAI,CAAC,CAAC;aAClE;SACF;IACH,CAAC,EACD,CAAC,KAAK,CAAC,MAAM,CAAC,CACf,CAAC;IAEF,wEAAwE;IACxE,MAAM,iBAAiB,GAAG,KAAK,CAAC,WAAW,CACzC,CAAC,KAAuC,EAAE,EAAE;QAC1C,uBAAuB;QACvB,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,OAAO;QAE1B,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,uBAAuB;QACvB,IACE,mBAAmB,CAAC,OAAO;YAC3B,mBAAmB,CAAC,OAAO,KAAK,QAAQ,CAAC,aAAa;YAErD,mBAAmB,CAAC,OAAuB,CAAC,KAAK,EAAE,CAAC;IACzD,CAAC,EACD,CAAC,KAAK,CAAC,MAAM,CAAC,CACf,CAAC;IAEF,IAAI,CAAC,KAAK,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IACjC,OAAO,CACL;QACE,4CACc,gBAAgB,EAC5B,OAAO,EAAE,eAAe,EACxB,GAAG,EAAE,cAAc;YACnB,kEAAkE;YAClE,QAAQ,EAAE,CAAC,EACX,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,uBAAuB,EAAE,eAAe,EAAE,IAEnE,KAAK,CAAC,QAAQ,CACX;QACN,4CACc,sBAAsB,EAClC,OAAO,EAAE,iBAAiB;YAC1B,kEAAkE;YAClE,QAAQ,EAAE,CAAC,GACX,CACD,CACJ,CAAC;AACJ,CAAC;AA/GD,8BA+GC","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 Popup\n */\n\nimport * as React from \"react\";\nimport { Logger } from \"@itwin/core-bentley\";\nimport { UiCore } from \"../UiCore\";\n\n// cSpell:ignore focusable\n\nfunction isFocusable(element: HTMLElement): boolean {\n if (!element || element.tabIndex < 0) return false;\n\n if (\n element.classList &&\n element.classList.contains(\"core-focus-trap-ignore-initial\")\n )\n return false;\n\n if (\n element.getAttribute &&\n typeof element.getAttribute === \"function\" &&\n element.getAttribute(\"disabled\") !== null\n )\n return false;\n\n if (\n element.tabIndex > 0 ||\n (element.tabIndex === 0 && element.getAttribute(\"tabIndex\") !== null)\n )\n return true;\n\n switch (element.nodeName) {\n case \"A\":\n const anchorElement = element as HTMLAnchorElement;\n return !!anchorElement.href && anchorElement.rel !== \"ignore\";\n case \"INPUT\":\n const inputElement = element as HTMLInputElement;\n return inputElement.type !== \"hidden\" && inputElement.type !== \"file\";\n case \"BUTTON\":\n case \"SELECT\":\n case \"TEXTAREA\":\n return true;\n default:\n return false;\n }\n}\n\nfunction processFindFocusableDescendant(\n element: HTMLElement | null\n): HTMLElement | null {\n // istanbul ignore next\n if (!element) return null;\n\n for (const child of element.childNodes) {\n // istanbul ignore else\n if (isFocusable(child as HTMLElement)) return child as HTMLElement;\n\n const focusable = processFindFocusableDescendant(child as HTMLElement);\n if (focusable) return focusable;\n }\n return null;\n}\n\nfunction findFirstFocusableDescendant(\n focusContainer: HTMLDivElement | null\n): HTMLElement | null {\n return processFindFocusableDescendant(focusContainer);\n}\n\nfunction processFindLastFocusableDescendant(\n element: HTMLElement\n): HTMLElement | null {\n for (let i = element.childNodes.length - 1; i >= 0; i--) {\n const child = element.childNodes[i] as HTMLElement;\n\n const focusable = processFindLastFocusableDescendant(child);\n // istanbul ignore else\n if (focusable) return focusable;\n\n // istanbul ignore else\n if (isFocusable(child)) return child;\n }\n return null;\n}\n\nfunction findLastFocusableDescendant(\n focusContainer: HTMLDivElement\n): HTMLElement | null {\n return processFindLastFocusableDescendant(focusContainer);\n}\n\nfunction getInitialFocusElement(\n focusContainer: HTMLDivElement | null,\n initialFocusSpec: React.RefObject<HTMLElement> | string | undefined\n): HTMLElement | null {\n // istanbul ignore next\n if (!focusContainer) return null;\n\n if (initialFocusSpec) {\n if (typeof initialFocusSpec === \"string\") {\n const node = focusContainer.querySelector(initialFocusSpec);\n if (node) {\n return node as HTMLElement;\n } else {\n Logger.logError(\n `${UiCore.packageName}.FocusTrap`,\n `Unable to locate element via selector ${initialFocusSpec}`\n );\n }\n } else {\n return initialFocusSpec.current;\n }\n }\n return findFirstFocusableDescendant(focusContainer);\n}\n\nfunction attemptFocus(element: HTMLElement, preventScroll: boolean): boolean {\n // istanbul ignore next\n if (!isFocusable(element)) return false;\n\n try {\n // istanbul ignore else\n if (document.activeElement !== element)\n element.focus({\n preventScroll: preventScroll ? true : /* istanbul ignore next */ false,\n });\n } catch (e) {\n // istanbul ignore next\n return false;\n }\n return document.activeElement === element;\n} // end attemptFocus\n\n/** Focus into first focusable element of a container.\n * @internal\n */\nexport function focusIntoContainer(\n focusContainer: HTMLDivElement,\n initialFocusElement?: React.RefObject<HTMLElement> | string\n): boolean {\n let result = false;\n const focusElement = getInitialFocusElement(\n focusContainer,\n initialFocusElement\n );\n if (focusElement) {\n // delay setting focus immediately because in some browsers other focus events happen when popup is initially opened.\n setTimeout(() => {\n attemptFocus(focusElement, true);\n }, 60);\n result = true;\n }\n return result;\n}\n\n/** Properties supported by [[FocusTrap]] component.\n * @internal\n */\nexport interface FocusTrapProps extends React.AllHTMLAttributes<any> {\n /** child components */\n children: React.ReactNode;\n /** if active is not true then no trapping of focus is attempted. */\n active?: boolean;\n /** restore focus to element that had focus before trap was activated */\n returnFocusOnDeactivate: boolean;\n /** Optional reference to element to receive focus when trap is activated. Optionally a CSS Selector\n * string can be supplied to locate an element in the FocusTrap container. If no specification is defined\n * the first focusable element is used.\n */\n initialFocusElement?: React.RefObject<HTMLElement> | string;\n}\n\n/** Trap Focus in container while trap is active.\n * @internal\n */\nexport function FocusTrap(props: FocusTrapProps) {\n const restoreFocusElement = React.useRef<Element | null>(null);\n const initialFocusElement = React.useRef<Element | null>(null);\n const focusContainer = React.useRef<HTMLDivElement | null>(null);\n const isInitialMount = React.useRef(true);\n const timeoutRef = React.useRef<number | undefined>();\n\n // Run on initial mount and when dependencies change. which could happen often.\n React.useEffect(() => {\n // istanbul ignore else\n if (isInitialMount.current) {\n isInitialMount.current = false;\n if (props.active) {\n if (props.returnFocusOnDeactivate) {\n restoreFocusElement.current = document.activeElement;\n }\n\n initialFocusElement.current = getInitialFocusElement(\n focusContainer.current,\n props.initialFocusElement\n );\n if (initialFocusElement.current) {\n // delay setting focus immediately because in some browsers other focus events happen when popup is initially opened.\n timeoutRef.current = window.setTimeout(() => {\n attemptFocus(initialFocusElement.current as HTMLElement, true);\n }, 60);\n }\n }\n }\n }, [\n props.children,\n props.initialFocusElement,\n props.active,\n props.returnFocusOnDeactivate,\n ]);\n\n // Return function to run only when FocusTrap is unmounted to restore focus\n React.useEffect(() => {\n return () => {\n window.clearTimeout(timeoutRef.current);\n if (restoreFocusElement.current)\n (restoreFocusElement.current as HTMLElement).focus({\n preventScroll: true,\n });\n };\n }, []);\n\n // this is hit if Shift tab is used.\n const cycleFocusToEnd = React.useCallback(\n (event: React.FocusEvent<HTMLDivElement>) => {\n // istanbul ignore next\n if (!props.active) return;\n\n if (focusContainer.current && event.target === focusContainer.current) {\n event.stopPropagation();\n event.preventDefault();\n const focusable = findLastFocusableDescendant(focusContainer.current);\n\n // istanbul ignore else\n if (focusable) {\n focusable.focus();\n } else {\n if (\n initialFocusElement.current &&\n initialFocusElement.current !== document.activeElement\n )\n attemptFocus(initialFocusElement.current as HTMLElement, true);\n }\n }\n },\n [props.active]\n );\n\n // this is hit if tab is used on last focusable item in child container.\n const cycleFocusToStart = React.useCallback(\n (event: React.FocusEvent<HTMLDivElement>) => {\n // istanbul ignore next\n if (!props.active) return;\n\n event.stopPropagation();\n // istanbul ignore else\n if (\n initialFocusElement.current &&\n initialFocusElement.current !== document.activeElement\n )\n (initialFocusElement.current as HTMLElement).focus();\n },\n [props.active]\n );\n\n if (!props.children) return null;\n return (\n <>\n <div\n data-testid=\"focus-trap-div\"\n onFocus={cycleFocusToEnd}\n ref={focusContainer}\n /* eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex */\n tabIndex={0}\n style={{ outline: \"none\", WebkitTapHighlightColor: \"rgba(0,0,0,0)\" }}\n >\n {props.children}\n </div>\n <div\n data-testid=\"focus-trap-limit-div\"\n onFocus={cycleFocusToStart}\n /* eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex */\n tabIndex={0}\n />\n </>\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"withIsPressed.d.ts","sourceRoot":"","sources":["../../../../src/core-react/hocs/withIsPressed.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,uCAAuC;IACvC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,+CAA+C;IAC/C,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;CAClD;AAED;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;qCAiBe,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAAP,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;CAwB/C,CAAC"}
1
+ {"version":3,"file":"withIsPressed.d.ts","sourceRoot":"","sources":["../../../../src/core-react/hocs/withIsPressed.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,uCAAuC;IACvC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,+CAA+C;IAC/C,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;CAClD;AAED;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;qCAkBe,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAAP,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;CAuB/C,CAAC"}
@@ -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 Common
8
8
  */
@@ -12,9 +12,7 @@ const React = require("react");
12
12
  /** withIsPressed is a React higher-order component that adds pointer and mouse events.
13
13
  * @public
14
14
  */
15
- const withIsPressed = (
16
- // eslint-disable-next-line @typescript-eslint/naming-convention
17
- Component) => {
15
+ const withIsPressed = (Component) => {
18
16
  return class WithIsPressed extends React.PureComponent {
19
17
  constructor() {
20
18
  super(...arguments);
@@ -34,7 +32,6 @@ Component) => {
34
32
  };
35
33
  }
36
34
  render() {
37
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
38
35
  const { isPressed, onIsPressedChange, ...props } = this.props; // todo: better solution to rest object of intersected type
39
36
  return (
40
37
  // eslint-disable-next-line jsx-a11y/no-static-element-interactions
@@ -1 +1 @@
1
- {"version":3,"file":"withIsPressed.js","sourceRoot":"","sources":["../../../../src/core-react/hocs/withIsPressed.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,+BAA+B;AAY/B;;GAEG;AACI,MAAM,aAAa,GAAG;AAC3B,gEAAgE;AAChE,SAA8C,EAC9C,EAAE;IACF,OAAO,MAAM,aAAc,SAAQ,KAAK,CAAC,aAAkD;QAApF;;YACE,wBAAmB,GAAG,GAAG,EAAE;gBAChC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAC7B,CAAC,CAAC;YAEK,sBAAiB,GAAG,GAAG,EAAE;gBAC9B,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YAC9B,CAAC,CAAC;YAEK,uBAAkB,GAAG,GAAG,EAAE;gBAC/B,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YAC9B,CAAC,CAAC;YAEK,oBAAe,GAAG,CAAC,SAAkB,EAAE,EAAE;gBAC9C,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS;oBACpC,OAAO;gBAET,IAAI,CAAC,KAAK,CAAC,iBAAiB,IAAI,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;YAC1E,CAAC,CAAC;QAkBJ,CAAC;QAhBiB,MAAM;YACpB,6DAA6D;YAC7D,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,2DAA2D;YAC1H,OAAO;YACL,mEAAmE;YACnE,6BAAK,SAAS,EAAC,uBAAuB,EACpC,WAAW,EAAE,IAAI,CAAC,mBAAmB,EACrC,SAAS,EAAE,IAAI,CAAC,iBAAiB,EACjC,YAAY,EAAE,IAAI,CAAC,mBAAmB,EACtC,UAAU,EAAE,IAAI,CAAC,iBAAiB,EAClC,YAAY,EAAE,IAAI,CAAC,kBAAkB;gBAErC,oBAAC,SAAS,OAAK,KAAuB,KAAM,IAAI,CAAC,KAAK,GAAI,CACtD,CACP,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAzCW,QAAA,aAAa,iBAyCxB","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 Common\r\n */\r\n\r\nimport * as React from \"react\";\r\n\r\n/** Properties for [[withIsPressed]] React higher-order component\r\n * @public\r\n */\r\nexport interface WithIsPressedProps {\r\n /** initial value for pressed status */\r\n isPressed?: boolean;\r\n /** callback function for [isPressed] change */\r\n onIsPressedChange?: (isPressed: boolean) => void;\r\n}\r\n\r\n/** withIsPressed is a React higher-order component that adds pointer and mouse events.\r\n * @public\r\n */\r\nexport const withIsPressed = <ComponentProps extends {}>(\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n Component: React.ComponentType<ComponentProps>,\r\n) => {\r\n return class WithIsPressed extends React.PureComponent<ComponentProps & WithIsPressedProps> {\r\n public handleOnPointerDown = () => {\r\n this.changeIsPressed(true);\r\n };\r\n\r\n public handleOnPointerUp = () => {\r\n this.changeIsPressed(false);\r\n };\r\n\r\n public handleOnMouseLeave = () => {\r\n this.changeIsPressed(false);\r\n };\r\n\r\n public changeIsPressed = (isPressed: boolean) => {\r\n if (this.props.isPressed === isPressed)\r\n return;\r\n\r\n this.props.onIsPressedChange && this.props.onIsPressedChange(isPressed);\r\n };\r\n\r\n public override render() {\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n const { isPressed, onIsPressedChange, ...props } = this.props; // todo: better solution to rest object of intersected type\r\n return (\r\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions\r\n <div className=\"withispressed-wrapper\"\r\n onMouseDown={this.handleOnPointerDown}\r\n onMouseUp={this.handleOnPointerUp}\r\n onTouchStart={this.handleOnPointerDown}\r\n onTouchEnd={this.handleOnPointerUp}\r\n onMouseLeave={this.handleOnMouseLeave}\r\n >\r\n <Component {...props as ComponentProps} {...this.state} />\r\n </div>\r\n );\r\n }\r\n };\r\n};\r\n"]}
1
+ {"version":3,"file":"withIsPressed.js","sourceRoot":"","sources":["../../../../src/core-react/hocs/withIsPressed.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,+BAA+B;AAY/B;;GAEG;AACI,MAAM,aAAa,GAAG,CAC3B,SAA8C,EAC9C,EAAE;IACF,OAAO,MAAM,aAAc,SAAQ,KAAK,CAAC,aAExC;QAFM;;YAGE,wBAAmB,GAAG,GAAG,EAAE;gBAChC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAC7B,CAAC,CAAC;YAEK,sBAAiB,GAAG,GAAG,EAAE;gBAC9B,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YAC9B,CAAC,CAAC;YAEK,uBAAkB,GAAG,GAAG,EAAE;gBAC/B,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YAC9B,CAAC,CAAC;YAEK,oBAAe,GAAG,CAAC,SAAkB,EAAE,EAAE;gBAC9C,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS;oBAAE,OAAO;gBAE/C,IAAI,CAAC,KAAK,CAAC,iBAAiB,IAAI,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;YAC1E,CAAC,CAAC;QAkBJ,CAAC;QAhBiB,MAAM;YACpB,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,2DAA2D;YAC1H,OAAO;YACL,mEAAmE;YACnE,6BACE,SAAS,EAAC,uBAAuB,EACjC,WAAW,EAAE,IAAI,CAAC,mBAAmB,EACrC,SAAS,EAAE,IAAI,CAAC,iBAAiB,EACjC,YAAY,EAAE,IAAI,CAAC,mBAAmB,EACtC,UAAU,EAAE,IAAI,CAAC,iBAAiB,EAClC,YAAY,EAAE,IAAI,CAAC,kBAAkB;gBAErC,oBAAC,SAAS,OAAM,KAAwB,KAAM,IAAI,CAAC,KAAK,GAAI,CACxD,CACP,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAzCW,QAAA,aAAa,iBAyCxB","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 Common\n */\n\nimport * as React from \"react\";\n\n/** Properties for [[withIsPressed]] React higher-order component\n * @public\n */\nexport interface WithIsPressedProps {\n /** initial value for pressed status */\n isPressed?: boolean;\n /** callback function for [isPressed] change */\n onIsPressedChange?: (isPressed: boolean) => void;\n}\n\n/** withIsPressed is a React higher-order component that adds pointer and mouse events.\n * @public\n */\nexport const withIsPressed = <ComponentProps extends {}>(\n Component: React.ComponentType<ComponentProps>\n) => {\n return class WithIsPressed extends React.PureComponent<\n ComponentProps & WithIsPressedProps\n > {\n public handleOnPointerDown = () => {\n this.changeIsPressed(true);\n };\n\n public handleOnPointerUp = () => {\n this.changeIsPressed(false);\n };\n\n public handleOnMouseLeave = () => {\n this.changeIsPressed(false);\n };\n\n public changeIsPressed = (isPressed: boolean) => {\n if (this.props.isPressed === isPressed) return;\n\n this.props.onIsPressedChange && this.props.onIsPressedChange(isPressed);\n };\n\n public override render() {\n const { isPressed, onIsPressedChange, ...props } = this.props; // todo: better solution to rest object of intersected type\n return (\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions\n <div\n className=\"withispressed-wrapper\"\n onMouseDown={this.handleOnPointerDown}\n onMouseUp={this.handleOnPointerUp}\n onTouchStart={this.handleOnPointerDown}\n onTouchEnd={this.handleOnPointerUp}\n onMouseLeave={this.handleOnMouseLeave}\n >\n <Component {...(props as ComponentProps)} {...this.state} />\n </div>\n );\n }\n };\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"withOnOutsideClick.d.ts","sourceRoot":"","sources":["../../../../src/core-react/hocs/withOnOutsideClick.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,sCAAsC;IACtC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,GAAG,CAAC;IAC5C,8HAA8H;IAC9H,8BAA8B,CAAC,EAAE,OAAO,CAAC;CAC1C;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,+GAGG,UAAU,KAAK,GAAG,4BACtC,OAAO,qBACD,OAAO;;QAGvB,gBAAgB;;QAEhB,gBAAgB;;QAGhB,gBAAgB;+BACc,WAAW,GAAG,OAAO;QAcnD,gBAAgB;0BACS,UAAU;QAcnC,gBAAgB;iCACiB,UAAU;QAO3C,gBAAgB;uCACuB,YAAY;QASnD,gBAAgB;qCACqB,YAAY;sEAaqB,cAAc,GAAG,IAAI;;;QAkB3F,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;QArFhB,gBAAgB;;QAEhB,gBAAgB;;QAGhB,gBAAgB;+BACc,WAAW,GAAG,OAAO;QAcnD,gBAAgB;0BACS,UAAU;QAcnC,gBAAgB;iCACiB,UAAU;QAO3C,gBAAgB;uCACuB,YAAY;QASnD,gBAAgB;qCACqB,YAAY;sEAaqB,cAAc,GAAG,IAAI;;;QAkB3F,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;CAmBnB,CAAC"}
1
+ {"version":3,"file":"withOnOutsideClick.d.ts","sourceRoot":"","sources":["../../../../src/core-react/hocs/withOnOutsideClick.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,sCAAsC;IACtC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,GAAG,CAAC;IAC5C,8HAA8H;IAC9H,8BAA8B,CAAC,EAAE,OAAO,CAAC;CAC1C;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,+GAEG,UAAU,KAAK,GAAG,4BACtC,OAAO,qBACD,OAAO;;QAKvB,gBAAgB;;QAEhB,gBAAgB;;QAGhB,gBAAgB;+BACc,WAAW,GAAG,OAAO;QAcnD,gBAAgB;0BACS,UAAU;QAenC,gBAAgB;iCACiB,UAAU;QAW3C,gBAAgB;uCACuB,YAAY;QAWnD,gBAAgB;qCACqB,YAAY;sEAgBrB,cAAc,GAAG,IAAI;;;QA+BjD,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;QA5GhB,gBAAgB;;QAEhB,gBAAgB;;QAGhB,gBAAgB;+BACc,WAAW,GAAG,OAAO;QAcnD,gBAAgB;0BACS,UAAU;QAenC,gBAAgB;iCACiB,UAAU;QAW3C,gBAAgB;uCACuB,YAAY;QAWnD,gBAAgB;qCACqB,YAAY;sEAgBrB,cAAc,GAAG,IAAI;;;QA+BjD,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;CAgCnB,CAAC"}
@@ -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 Common
8
8
  */
@@ -12,9 +12,7 @@ const React = require("react");
12
12
  /** withOnOutsideClick is a React higher-order component that adds outside click support.
13
13
  * @public
14
14
  */
15
- const withOnOutsideClick = (
16
- // eslint-disable-next-line @typescript-eslint/naming-convention
17
- Component, defaultOnOutsideClick, useCapture = true, usePointerEvents = true) => {
15
+ const withOnOutsideClick = (Component, defaultOnOutsideClick, useCapture = true, usePointerEvents = true) => {
18
16
  return class WithOnOutsideClick extends React.PureComponent {
19
17
  constructor() {
20
18
  super(...arguments);
@@ -24,7 +22,9 @@ Component, defaultOnOutsideClick, useCapture = true, usePointerEvents = true) =>
24
22
  this.isDownOutside = false;
25
23
  /** @internal */
26
24
  this.handleDocumentClick = (e) => {
27
- if (!this.outsideClickContainerDiv || !(e.target instanceof Node) || this.outsideClickContainerDiv.contains(e.target))
25
+ if (!this.outsideClickContainerDiv ||
26
+ !(e.target instanceof Node) ||
27
+ this.outsideClickContainerDiv.contains(e.target))
28
28
  return;
29
29
  return this.onOutsideClick(e);
30
30
  };
@@ -34,7 +34,9 @@ Component, defaultOnOutsideClick, useCapture = true, usePointerEvents = true) =>
34
34
  // istanbul ignore else
35
35
  if (this.outsideClickContainerDiv) {
36
36
  // typically e.target test for instance of Node, but this is not working from pop out windows
37
- this.isDownOutside = !!e.target && !this.outsideClickContainerDiv.contains(e.target);
37
+ this.isDownOutside =
38
+ !!e.target &&
39
+ !this.outsideClickContainerDiv.contains(e.target);
38
40
  }
39
41
  };
40
42
  /** @internal */
@@ -43,7 +45,9 @@ Component, defaultOnOutsideClick, useCapture = true, usePointerEvents = true) =>
43
45
  // istanbul ignore else
44
46
  if (this.outsideClickContainerDiv) {
45
47
  // typically e.target test for instance of Node, but this is not working from pop out windows
46
- isUpOutside = !!e.target && !this.outsideClickContainerDiv.contains(e.target);
48
+ isUpOutside =
49
+ !!e.target &&
50
+ !this.outsideClickContainerDiv.contains(e.target);
47
51
  }
48
52
  const isOutsideClick = isUpOutside && this.isDownOutside;
49
53
  this.isDownOutside = false;
@@ -73,7 +77,8 @@ Component, defaultOnOutsideClick, useCapture = true, usePointerEvents = true) =>
73
77
  // istanbul ignore else
74
78
  if (e.target instanceof Node && e.target.nodeType === Node.ELEMENT_NODE) {
75
79
  // istanbul ignore else
76
- if (!this.props.closeOnNestedPopupOutsideClick && this.isInCorePopup(e.target))
80
+ if (!this.props.closeOnNestedPopupOutsideClick &&
81
+ this.isInCorePopup(e.target))
77
82
  return;
78
83
  }
79
84
  if (this.props.onOutsideClick)
@@ -106,7 +111,7 @@ Component, defaultOnOutsideClick, useCapture = true, usePointerEvents = true) =>
106
111
  outsideClickParentDocument.removeEventListener("click", this.handleDocumentClick, useCapture);
107
112
  }
108
113
  render() {
109
- const { onOutsideClick, closeOnNestedPopupOutsideClick, ...props } = this.props; // eslint-disable-line @typescript-eslint/no-unused-vars
114
+ const { onOutsideClick, closeOnNestedPopupOutsideClick, ...props } = this.props;
110
115
  return (React.createElement("div", { ref: this.handleOutsideClickContainerDivSet },
111
116
  React.createElement(Component, { ...props })));
112
117
  }