@itwin/core-react 3.7.0-dev.6 → 3.7.0-dev.8

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 (1189) hide show
  1. package/CHANGELOG.md +6 -1
  2. package/lib/cjs/core-react/UiCore.d.ts +40 -40
  3. package/lib/cjs/core-react/UiCore.js +85 -85
  4. package/lib/cjs/core-react/UiCore.js.map +1 -1
  5. package/lib/cjs/core-react/_geometry.scss +70 -70
  6. package/lib/cjs/core-react/_helpers.scss +51 -51
  7. package/lib/cjs/core-react/_math.scss +13 -13
  8. package/lib/cjs/core-react/_scrollbar.scss +51 -51
  9. package/lib/cjs/core-react/_typography.scss +44 -44
  10. package/lib/cjs/core-react/_z-index.scss +65 -65
  11. package/lib/cjs/core-react/autosuggest/AutoSuggest.d.ts +96 -96
  12. package/lib/cjs/core-react/autosuggest/AutoSuggest.js +174 -174
  13. package/lib/cjs/core-react/autosuggest/AutoSuggest.js.map +1 -1
  14. package/lib/cjs/core-react/autosuggest/AutoSuggest.scss +82 -82
  15. package/lib/cjs/core-react/badge/Badge.d.ts +18 -18
  16. package/lib/cjs/core-react/badge/Badge.js +26 -26
  17. package/lib/cjs/core-react/badge/Badge.js.map +1 -1
  18. package/lib/cjs/core-react/badge/Badge.scss +13 -13
  19. package/lib/cjs/core-react/badge/BadgeUtilities.d.ts +12 -12
  20. package/lib/cjs/core-react/badge/BadgeUtilities.js +38 -38
  21. package/lib/cjs/core-react/badge/BadgeUtilities.js.map +1 -1
  22. package/lib/cjs/core-react/badge/BetaBadge.d.ts +10 -10
  23. package/lib/cjs/core-react/badge/BetaBadge.js +23 -23
  24. package/lib/cjs/core-react/badge/BetaBadge.js.map +1 -1
  25. package/lib/cjs/core-react/badge/BetaBadge.scss +9 -9
  26. package/lib/cjs/core-react/badge/NewBadge.d.ts +10 -10
  27. package/lib/cjs/core-react/badge/NewBadge.js +23 -23
  28. package/lib/cjs/core-react/badge/NewBadge.js.map +1 -1
  29. package/lib/cjs/core-react/badge/NewBadge.scss +9 -9
  30. package/lib/cjs/core-react/base/Centered.d.ts +10 -10
  31. package/lib/cjs/core-react/base/Centered.js +20 -20
  32. package/lib/cjs/core-react/base/Centered.js.map +1 -1
  33. package/lib/cjs/core-react/base/Div.d.ts +16 -16
  34. package/lib/cjs/core-react/base/Div.js +20 -20
  35. package/lib/cjs/core-react/base/Div.js.map +1 -1
  36. package/lib/cjs/core-react/base/DivWithOutsideClick.d.ts +79 -79
  37. package/lib/cjs/core-react/base/DivWithOutsideClick.js +16 -16
  38. package/lib/cjs/core-react/base/DivWithOutsideClick.js.map +1 -1
  39. package/lib/cjs/core-react/base/FillCentered.d.ts +10 -10
  40. package/lib/cjs/core-react/base/FillCentered.js +20 -20
  41. package/lib/cjs/core-react/base/FillCentered.js.map +1 -1
  42. package/lib/cjs/core-react/base/FlexWrapContainer.d.ts +11 -11
  43. package/lib/cjs/core-react/base/FlexWrapContainer.js +21 -21
  44. package/lib/cjs/core-react/base/FlexWrapContainer.js.map +1 -1
  45. package/lib/cjs/core-react/base/Gap.d.ts +15 -15
  46. package/lib/cjs/core-react/base/Gap.js +20 -20
  47. package/lib/cjs/core-react/base/Gap.js.map +1 -1
  48. package/lib/cjs/core-react/base/PointerEvents.d.ts +7 -7
  49. package/lib/cjs/core-react/base/PointerEvents.js +17 -17
  50. package/lib/cjs/core-react/base/PointerEvents.js.map +1 -1
  51. package/lib/cjs/core-react/base/ScrollView.d.ts +11 -11
  52. package/lib/cjs/core-react/base/ScrollView.js +21 -21
  53. package/lib/cjs/core-react/base/ScrollView.js.map +1 -1
  54. package/lib/cjs/core-react/base/base.scss +42 -42
  55. package/lib/cjs/core-react/base/classes.scss +13 -13
  56. package/lib/cjs/core-react/base/index.scss +5 -5
  57. package/lib/cjs/core-react/button/Button.d.ts +47 -47
  58. package/lib/cjs/core-react/button/Button.js +85 -85
  59. package/lib/cjs/core-react/button/Button.js.map +1 -1
  60. package/lib/cjs/core-react/button/UnderlinedButton.d.ts +24 -24
  61. package/lib/cjs/core-react/button/UnderlinedButton.js +35 -35
  62. package/lib/cjs/core-react/button/UnderlinedButton.js.map +1 -1
  63. package/lib/cjs/core-react/button/UnderlinedButton.scss +32 -32
  64. package/lib/cjs/core-react/button/blue-large.scss +12 -12
  65. package/lib/cjs/core-react/button/blue.scss +25 -25
  66. package/lib/cjs/core-react/button/button.scss +81 -81
  67. package/lib/cjs/core-react/button/classes.scss +14 -14
  68. package/lib/cjs/core-react/button/disabled-large.scss +12 -12
  69. package/lib/cjs/core-react/button/disabled.scss +17 -17
  70. package/lib/cjs/core-react/button/hollow-large.scss +13 -13
  71. package/lib/cjs/core-react/button/hollow.scss +30 -30
  72. package/lib/cjs/core-react/button/index.scss +14 -14
  73. package/lib/cjs/core-react/button/primary-large.scss +12 -12
  74. package/lib/cjs/core-react/button/primary.scss +25 -25
  75. package/lib/cjs/core-react/button/variables.scss +19 -19
  76. package/lib/cjs/core-react/checkbox/Checkbox.d.ts +56 -56
  77. package/lib/cjs/core-react/checkbox/Checkbox.js +64 -64
  78. package/lib/cjs/core-react/checkbox/Checkbox.js.map +1 -1
  79. package/lib/cjs/core-react/checkbox/checkbox.scss +129 -129
  80. package/lib/cjs/core-react/checkbox/classes.scss +8 -8
  81. package/lib/cjs/core-react/checkbox/index.scss +8 -8
  82. package/lib/cjs/core-react/checklistbox/CheckListBox.d.ts +37 -37
  83. package/lib/cjs/core-react/checklistbox/CheckListBox.js +42 -42
  84. package/lib/cjs/core-react/checklistbox/CheckListBox.js.map +1 -1
  85. package/lib/cjs/core-react/checklistbox/CheckListBox.scss +22 -22
  86. package/lib/cjs/core-react/classes.scss +18 -18
  87. package/lib/cjs/core-react/colorthemes.scss +58 -58
  88. package/lib/cjs/core-react/colorvariables.scss +116 -116
  89. package/lib/cjs/core-react/contextmenu/ContextMenu.d.ts +91 -91
  90. package/lib/cjs/core-react/contextmenu/ContextMenu.js +364 -364
  91. package/lib/cjs/core-react/contextmenu/ContextMenu.js.map +1 -1
  92. package/lib/cjs/core-react/contextmenu/ContextMenu.scss +238 -238
  93. package/lib/cjs/core-react/contextmenu/ContextMenuDirection.d.ts +18 -18
  94. package/lib/cjs/core-react/contextmenu/ContextMenuDirection.js +26 -26
  95. package/lib/cjs/core-react/contextmenu/ContextMenuDirection.js.map +1 -1
  96. package/lib/cjs/core-react/contextmenu/ContextMenuDivider.d.ts +12 -12
  97. package/lib/cjs/core-react/contextmenu/ContextMenuDivider.js +23 -23
  98. package/lib/cjs/core-react/contextmenu/ContextMenuDivider.js.map +1 -1
  99. package/lib/cjs/core-react/contextmenu/ContextMenuItem.d.ts +61 -61
  100. package/lib/cjs/core-react/contextmenu/ContextMenuItem.js +108 -108
  101. package/lib/cjs/core-react/contextmenu/ContextMenuItem.js.map +1 -1
  102. package/lib/cjs/core-react/contextmenu/ContextSubMenu.d.ts +51 -51
  103. package/lib/cjs/core-react/contextmenu/ContextSubMenu.js +159 -159
  104. package/lib/cjs/core-react/contextmenu/ContextSubMenu.js.map +1 -1
  105. package/lib/cjs/core-react/contextmenu/GlobalContextMenu.d.ts +34 -34
  106. package/lib/cjs/core-react/contextmenu/GlobalContextMenu.js +59 -59
  107. package/lib/cjs/core-react/contextmenu/GlobalContextMenu.js.map +1 -1
  108. package/lib/cjs/core-react/contextmenu/PopupContextMenu.d.ts +53 -53
  109. package/lib/cjs/core-react/contextmenu/PopupContextMenu.js +55 -55
  110. package/lib/cjs/core-react/contextmenu/PopupContextMenu.js.map +1 -1
  111. package/lib/cjs/core-react/contextmenu/TildeFinder.d.ts +18 -18
  112. package/lib/cjs/core-react/contextmenu/TildeFinder.js +70 -70
  113. package/lib/cjs/core-react/contextmenu/TildeFinder.js.map +1 -1
  114. package/lib/cjs/core-react/dialog/Dialog.d.ts +132 -132
  115. package/lib/cjs/core-react/dialog/Dialog.js +366 -366
  116. package/lib/cjs/core-react/dialog/Dialog.js.map +1 -1
  117. package/lib/cjs/core-react/dialog/Dialog.scss +245 -245
  118. package/lib/cjs/core-react/dialog/DialogButtonDef.d.ts +46 -46
  119. package/lib/cjs/core-react/dialog/DialogButtonDef.js +37 -37
  120. package/lib/cjs/core-react/dialog/DialogButtonDef.js.map +1 -1
  121. package/lib/cjs/core-react/dialog/GlobalDialog.d.ts +28 -28
  122. package/lib/cjs/core-react/dialog/GlobalDialog.js +53 -53
  123. package/lib/cjs/core-react/dialog/GlobalDialog.js.map +1 -1
  124. package/lib/cjs/core-react/elementseparator/ElementSeparator.d.ts +41 -41
  125. package/lib/cjs/core-react/elementseparator/ElementSeparator.js +163 -163
  126. package/lib/cjs/core-react/elementseparator/ElementSeparator.js.map +1 -1
  127. package/lib/cjs/core-react/elementseparator/ElementSeparator.scss +85 -85
  128. package/lib/cjs/core-react/enums/Alignment.d.ts +22 -22
  129. package/lib/cjs/core-react/enums/Alignment.js +31 -31
  130. package/lib/cjs/core-react/enums/Alignment.js.map +1 -1
  131. package/lib/cjs/core-react/enums/CheckBoxState.d.ts +20 -20
  132. package/lib/cjs/core-react/enums/CheckBoxState.js +19 -19
  133. package/lib/cjs/core-react/enums/CheckBoxState.js.map +1 -1
  134. package/lib/cjs/core-react/enums/Orientation.d.ts +11 -11
  135. package/lib/cjs/core-react/enums/Orientation.js +19 -19
  136. package/lib/cjs/core-react/enums/Orientation.js.map +1 -1
  137. package/lib/cjs/core-react/enums/SortDirection.d.ts +12 -12
  138. package/lib/cjs/core-react/enums/SortDirection.js +20 -20
  139. package/lib/cjs/core-react/enums/SortDirection.js.map +1 -1
  140. package/lib/cjs/core-react/enums/TimeFormat.d.ts +14 -14
  141. package/lib/cjs/core-react/enums/TimeFormat.js +22 -22
  142. package/lib/cjs/core-react/enums/TimeFormat.js.map +1 -1
  143. package/lib/cjs/core-react/expandable/ExpandableBlock.d.ts +33 -33
  144. package/lib/cjs/core-react/expandable/ExpandableBlock.js +35 -35
  145. package/lib/cjs/core-react/expandable/ExpandableBlock.js.map +1 -1
  146. package/lib/cjs/core-react/expandable/ExpandableBlock.scss +145 -145
  147. package/lib/cjs/core-react/expandable/ExpandableList.d.ts +35 -35
  148. package/lib/cjs/core-react/expandable/ExpandableList.js +57 -57
  149. package/lib/cjs/core-react/expandable/ExpandableList.js.map +1 -1
  150. package/lib/cjs/core-react/expandable/ExpandableList.scss +8 -8
  151. package/lib/cjs/core-react/expandable/classes.scss +7 -7
  152. package/lib/cjs/core-react/expandable/index.scss +5 -5
  153. package/lib/cjs/core-react/expandable/list.scss +45 -45
  154. package/lib/cjs/core-react/focus/ItemKeyboardNavigator.d.ts +53 -53
  155. package/lib/cjs/core-react/focus/ItemKeyboardNavigator.js +150 -150
  156. package/lib/cjs/core-react/focus/ItemKeyboardNavigator.js.map +1 -1
  157. package/lib/cjs/core-react/focustrap/FocusTrap.d.ts +28 -28
  158. package/lib/cjs/core-react/focustrap/FocusTrap.js +196 -196
  159. package/lib/cjs/core-react/focustrap/FocusTrap.js.map +1 -1
  160. package/lib/cjs/core-react/form/Field.d.ts +19 -19
  161. package/lib/cjs/core-react/form/Field.js +44 -44
  162. package/lib/cjs/core-react/form/Field.js.map +1 -1
  163. package/lib/cjs/core-react/form/Form.d.ts +131 -131
  164. package/lib/cjs/core-react/form/Form.js +131 -131
  165. package/lib/cjs/core-react/form/Form.js.map +1 -1
  166. package/lib/cjs/core-react/form/Form.scss +78 -78
  167. package/lib/cjs/core-react/hocs/withIsPressed.d.ts +77 -77
  168. package/lib/cjs/core-react/hocs/withIsPressed.js +46 -46
  169. package/lib/cjs/core-react/hocs/withIsPressed.js.map +1 -1
  170. package/lib/cjs/core-react/hocs/withOnOutsideClick.d.ts +103 -103
  171. package/lib/cjs/core-react/hocs/withOnOutsideClick.js +115 -115
  172. package/lib/cjs/core-react/hocs/withOnOutsideClick.js.map +1 -1
  173. package/lib/cjs/core-react/hocs/withTimeout.d.ts +74 -74
  174. package/lib/cjs/core-react/hocs/withTimeout.js +46 -46
  175. package/lib/cjs/core-react/hocs/withTimeout.js.map +1 -1
  176. package/lib/cjs/core-react/icons/IconComponent.d.ts +24 -24
  177. package/lib/cjs/core-react/icons/IconComponent.js +54 -54
  178. package/lib/cjs/core-react/icons/IconComponent.js.map +1 -1
  179. package/lib/cjs/core-react/icons/IconComponent.scss +20 -20
  180. package/lib/cjs/core-react/icons/SvgPath.d.ts +23 -23
  181. package/lib/cjs/core-react/icons/SvgPath.js +27 -27
  182. package/lib/cjs/core-react/icons/SvgPath.js.map +1 -1
  183. package/lib/cjs/core-react/icons/SvgSprite.d.ts +20 -20
  184. package/lib/cjs/core-react/icons/SvgSprite.js +26 -26
  185. package/lib/cjs/core-react/icons/SvgSprite.js.map +1 -1
  186. package/lib/cjs/core-react/icons/SvgSprite.scss +15 -15
  187. package/lib/cjs/core-react/icons/WebFontIcon.d.ts +26 -26
  188. package/lib/cjs/core-react/icons/WebFontIcon.js +22 -22
  189. package/lib/cjs/core-react/icons/WebFontIcon.js.map +1 -1
  190. package/lib/cjs/core-react/icons/WebFontIcon.scss +17 -17
  191. package/lib/cjs/core-react/icons/classes.scss +10 -10
  192. package/lib/cjs/core-react/icons/index.scss +6 -6
  193. package/lib/cjs/core-react/icons/mixins.scss +25 -25
  194. package/lib/cjs/core-react/icons/variables.scss +21 -21
  195. package/lib/cjs/core-react/imagecheckbox/ImageCheckBox.d.ts +42 -42
  196. package/lib/cjs/core-react/imagecheckbox/ImageCheckBox.js +56 -56
  197. package/lib/cjs/core-react/imagecheckbox/ImageCheckBox.js.map +1 -1
  198. package/lib/cjs/core-react/imagecheckbox/ImageCheckBox.scss +54 -54
  199. package/lib/cjs/core-react/index.scss +27 -27
  200. package/lib/cjs/core-react/inputs/Input.d.ts +22 -22
  201. package/lib/cjs/core-react/inputs/Input.js +46 -46
  202. package/lib/cjs/core-react/inputs/Input.js.map +1 -1
  203. package/lib/cjs/core-react/inputs/InputLabel.d.ts +18 -18
  204. package/lib/cjs/core-react/inputs/InputLabel.js +33 -33
  205. package/lib/cjs/core-react/inputs/InputLabel.js.map +1 -1
  206. package/lib/cjs/core-react/inputs/InputStatus.d.ts +11 -11
  207. package/lib/cjs/core-react/inputs/InputStatus.js +19 -19
  208. package/lib/cjs/core-react/inputs/InputStatus.js.map +1 -1
  209. package/lib/cjs/core-react/inputs/LabeledComponentProps.d.ts +33 -33
  210. package/lib/cjs/core-react/inputs/LabeledComponentProps.js +9 -9
  211. package/lib/cjs/core-react/inputs/LabeledComponentProps.js.map +1 -1
  212. package/lib/cjs/core-react/inputs/LabeledInput.d.ts +17 -17
  213. package/lib/cjs/core-react/inputs/LabeledInput.js +33 -33
  214. package/lib/cjs/core-react/inputs/LabeledInput.js.map +1 -1
  215. package/lib/cjs/core-react/inputs/LabeledTextarea.d.ts +17 -17
  216. package/lib/cjs/core-react/inputs/LabeledTextarea.js +31 -31
  217. package/lib/cjs/core-react/inputs/LabeledTextarea.js.map +1 -1
  218. package/lib/cjs/core-react/inputs/Textarea.d.ts +22 -22
  219. package/lib/cjs/core-react/inputs/Textarea.js +35 -35
  220. package/lib/cjs/core-react/inputs/Textarea.js.map +1 -1
  221. package/lib/cjs/core-react/inputs/classes.scss +10 -10
  222. package/lib/cjs/core-react/inputs/iconinput/IconInput.d.ts +23 -23
  223. package/lib/cjs/core-react/inputs/iconinput/IconInput.js +29 -29
  224. package/lib/cjs/core-react/inputs/iconinput/IconInput.js.map +1 -1
  225. package/lib/cjs/core-react/inputs/iconinput/IconInput.scss +35 -35
  226. package/lib/cjs/core-react/inputs/index.scss +11 -11
  227. package/lib/cjs/core-react/inputs/input.scss +60 -60
  228. package/lib/cjs/core-react/inputs/labeled-input.scss +103 -103
  229. package/lib/cjs/core-react/inputs/labeled-textarea.scss +77 -77
  230. package/lib/cjs/core-react/inputs/numberinput/NumberInput.d.ts +45 -45
  231. package/lib/cjs/core-react/inputs/numberinput/NumberInput.js +148 -148
  232. package/lib/cjs/core-react/inputs/numberinput/NumberInput.js.map +1 -1
  233. package/lib/cjs/core-react/inputs/numberinput/NumberInput.scss +89 -89
  234. package/lib/cjs/core-react/inputs/textarea.scss +55 -55
  235. package/lib/cjs/core-react/inputs/variables.scss +33 -33
  236. package/lib/cjs/core-react/layout-variables.scss +17 -17
  237. package/lib/cjs/core-react/listbox/Listbox.d.ts +55 -55
  238. package/lib/cjs/core-react/listbox/Listbox.js +222 -222
  239. package/lib/cjs/core-react/listbox/Listbox.js.map +1 -1
  240. package/lib/cjs/core-react/listbox/Listbox.scss +53 -53
  241. package/lib/cjs/core-react/loading/LoadingBar.d.ts +29 -29
  242. package/lib/cjs/core-react/loading/LoadingBar.js +40 -40
  243. package/lib/cjs/core-react/loading/LoadingBar.js.map +1 -1
  244. package/lib/cjs/core-react/loading/LoadingBar.scss +29 -29
  245. package/lib/cjs/core-react/loading/LoadingPrompt.d.ts +39 -39
  246. package/lib/cjs/core-react/loading/LoadingPrompt.js +44 -44
  247. package/lib/cjs/core-react/loading/LoadingPrompt.js.map +1 -1
  248. package/lib/cjs/core-react/loading/LoadingPrompt.scss +33 -33
  249. package/lib/cjs/core-react/loading/LoadingSpinner.d.ts +33 -33
  250. package/lib/cjs/core-react/loading/LoadingSpinner.js +45 -45
  251. package/lib/cjs/core-react/loading/LoadingSpinner.js.map +1 -1
  252. package/lib/cjs/core-react/loading/LoadingSpinner.scss +26 -26
  253. package/lib/cjs/core-react/loading/LoadingStatus.d.ts +24 -24
  254. package/lib/cjs/core-react/loading/LoadingStatus.js +37 -37
  255. package/lib/cjs/core-react/loading/LoadingStatus.js.map +1 -1
  256. package/lib/cjs/core-react/loading/LoadingStatus.scss +20 -20
  257. package/lib/cjs/core-react/loading/Spinner.d.ts +37 -37
  258. package/lib/cjs/core-react/loading/Spinner.js +60 -60
  259. package/lib/cjs/core-react/loading/Spinner.js.map +1 -1
  260. package/lib/cjs/core-react/loading/Spinner.scss +26 -26
  261. package/lib/cjs/core-react/loading/index.scss +5 -5
  262. package/lib/cjs/core-react/loading/mixins.scss +57 -57
  263. package/lib/cjs/core-react/messagebox/MessageBox.d.ts +64 -64
  264. package/lib/cjs/core-react/messagebox/MessageBox.js +70 -70
  265. package/lib/cjs/core-react/messagebox/MessageBox.js.map +1 -1
  266. package/lib/cjs/core-react/messagebox/MessageBox.scss +46 -46
  267. package/lib/cjs/core-react/messagebox/MessageSeverity.d.ts +15 -15
  268. package/lib/cjs/core-react/messagebox/MessageSeverity.js +23 -23
  269. package/lib/cjs/core-react/messagebox/MessageSeverity.js.map +1 -1
  270. package/lib/cjs/core-react/notification/MessageRenderer.d.ts +19 -19
  271. package/lib/cjs/core-react/notification/MessageRenderer.js +81 -81
  272. package/lib/cjs/core-react/notification/MessageRenderer.js.map +1 -1
  273. package/lib/cjs/core-react/notification/MessageType.d.ts +22 -22
  274. package/lib/cjs/core-react/notification/MessageType.js +24 -24
  275. package/lib/cjs/core-react/notification/MessageType.js.map +1 -1
  276. package/lib/cjs/core-react/popup/Popup.d.ts +109 -109
  277. package/lib/cjs/core-react/popup/Popup.js +419 -419
  278. package/lib/cjs/core-react/popup/Popup.js.map +1 -1
  279. package/lib/cjs/core-react/popup/Popup.scss +240 -240
  280. package/lib/cjs/core-react/progress-indicators/ProgressBar.d.ts +28 -28
  281. package/lib/cjs/core-react/progress-indicators/ProgressBar.js +47 -47
  282. package/lib/cjs/core-react/progress-indicators/ProgressBar.js.map +1 -1
  283. package/lib/cjs/core-react/progress-indicators/ProgressSpinner.d.ts +48 -48
  284. package/lib/cjs/core-react/progress-indicators/ProgressSpinner.js +73 -73
  285. package/lib/cjs/core-react/progress-indicators/ProgressSpinner.js.map +1 -1
  286. package/lib/cjs/core-react/progress-indicators/classes.scss +33 -33
  287. package/lib/cjs/core-react/progress-indicators/index.scss +6 -6
  288. package/lib/cjs/core-react/progress-indicators/progress-bar.scss +91 -91
  289. package/lib/cjs/core-react/progress-indicators/progress-spinner.scss +132 -132
  290. package/lib/cjs/core-react/radialmenu/Annulus.d.ts +54 -54
  291. package/lib/cjs/core-react/radialmenu/Annulus.js +82 -82
  292. package/lib/cjs/core-react/radialmenu/Annulus.js.map +1 -1
  293. package/lib/cjs/core-react/radialmenu/RadialMenu.d.ts +93 -93
  294. package/lib/cjs/core-react/radialmenu/RadialMenu.js +179 -179
  295. package/lib/cjs/core-react/radialmenu/RadialMenu.js.map +1 -1
  296. package/lib/cjs/core-react/radialmenu/RadialMenu.scss +56 -56
  297. package/lib/cjs/core-react/radio/Radio.d.ts +19 -19
  298. package/lib/cjs/core-react/radio/Radio.js +27 -27
  299. package/lib/cjs/core-react/radio/Radio.js.map +1 -1
  300. package/lib/cjs/core-react/radio/classes.scss +7 -7
  301. package/lib/cjs/core-react/radio/index.scss +8 -8
  302. package/lib/cjs/core-react/radio/radio.scss +89 -89
  303. package/lib/cjs/core-react/searchbox/SearchBox.d.ts +52 -52
  304. package/lib/cjs/core-react/searchbox/SearchBox.js +109 -109
  305. package/lib/cjs/core-react/searchbox/SearchBox.js.map +1 -1
  306. package/lib/cjs/core-react/searchbox/SearchBox.scss +53 -53
  307. package/lib/cjs/core-react/select/LabeledSelect.d.ts +19 -19
  308. package/lib/cjs/core-react/select/LabeledSelect.js +33 -33
  309. package/lib/cjs/core-react/select/LabeledSelect.js.map +1 -1
  310. package/lib/cjs/core-react/select/LabeledThemedSelect.d.ts +15 -15
  311. package/lib/cjs/core-react/select/LabeledThemedSelect.js +30 -30
  312. package/lib/cjs/core-react/select/LabeledThemedSelect.js.map +1 -1
  313. package/lib/cjs/core-react/select/Select.d.ts +52 -52
  314. package/lib/cjs/core-react/select/Select.js +59 -59
  315. package/lib/cjs/core-react/select/Select.js.map +1 -1
  316. package/lib/cjs/core-react/select/ThemedSelect.d.ts +103 -103
  317. package/lib/cjs/core-react/select/ThemedSelect.js +56 -56
  318. package/lib/cjs/core-react/select/ThemedSelect.js.map +1 -1
  319. package/lib/cjs/core-react/select/classes.scss +9 -9
  320. package/lib/cjs/core-react/select/index.scss +10 -10
  321. package/lib/cjs/core-react/select/labeled-select.scss +72 -72
  322. package/lib/cjs/core-react/select/labeled-themed-select.scss +77 -77
  323. package/lib/cjs/core-react/select/modalHelper.d.ts +4 -4
  324. package/lib/cjs/core-react/select/modalHelper.js +20 -20
  325. package/lib/cjs/core-react/select/modalHelper.js.map +1 -1
  326. package/lib/cjs/core-react/select/select.scss +73 -73
  327. package/lib/cjs/core-react/select/themed-select.scss +159 -159
  328. package/lib/cjs/core-react/settings/SettingsContainer.d.ts +30 -30
  329. package/lib/cjs/core-react/settings/SettingsContainer.js +121 -121
  330. package/lib/cjs/core-react/settings/SettingsContainer.js.map +1 -1
  331. package/lib/cjs/core-react/settings/SettingsContainer.scss +64 -64
  332. package/lib/cjs/core-react/settings/SettingsManager.d.ts +132 -132
  333. package/lib/cjs/core-react/settings/SettingsManager.js +122 -122
  334. package/lib/cjs/core-react/settings/SettingsManager.js.map +1 -1
  335. package/lib/cjs/core-react/slider/Slider.d.ts +79 -79
  336. package/lib/cjs/core-react/slider/Slider.js +90 -90
  337. package/lib/cjs/core-react/slider/Slider.js.map +1 -1
  338. package/lib/cjs/core-react/slider/Slider.scss +96 -96
  339. package/lib/cjs/core-react/splitbutton/SplitButton.d.ts +61 -61
  340. package/lib/cjs/core-react/splitbutton/SplitButton.js +103 -103
  341. package/lib/cjs/core-react/splitbutton/SplitButton.js.map +1 -1
  342. package/lib/cjs/core-react/splitbutton/SplitButton.scss +137 -137
  343. package/lib/cjs/core-react/style/baseline.scss +13 -13
  344. package/lib/cjs/core-react/style/breakpoints.scss +41 -41
  345. package/lib/cjs/core-react/style/colors.scss +77 -77
  346. package/lib/cjs/core-react/style/data-viz.scss +23 -23
  347. package/lib/cjs/core-react/style/index.scss +17 -17
  348. package/lib/cjs/core-react/style/itwinui-overrides.scss +24 -24
  349. package/lib/cjs/core-react/style/mixins.scss +28 -28
  350. package/lib/cjs/core-react/style/opacity.scss +17 -17
  351. package/lib/cjs/core-react/style/space.scss +17 -17
  352. package/lib/cjs/core-react/style/speed.scss +13 -13
  353. package/lib/cjs/core-react/style/themecolors.scss +129 -129
  354. package/lib/cjs/core-react/style/typography.scss +43 -43
  355. package/lib/cjs/core-react/style/variables.scss +13 -13
  356. package/lib/cjs/core-react/tabs/HorizontalTabs.d.ts +10 -10
  357. package/lib/cjs/core-react/tabs/HorizontalTabs.js +21 -21
  358. package/lib/cjs/core-react/tabs/HorizontalTabs.js.map +1 -1
  359. package/lib/cjs/core-react/tabs/Tabs.d.ts +71 -71
  360. package/lib/cjs/core-react/tabs/Tabs.js +125 -125
  361. package/lib/cjs/core-react/tabs/Tabs.js.map +1 -1
  362. package/lib/cjs/core-react/tabs/VerticalTabs.d.ts +9 -9
  363. package/lib/cjs/core-react/tabs/VerticalTabs.js +20 -20
  364. package/lib/cjs/core-react/tabs/VerticalTabs.js.map +1 -1
  365. package/lib/cjs/core-react/tabs/classes.scss +8 -8
  366. package/lib/cjs/core-react/tabs/horizontal.scss +77 -77
  367. package/lib/cjs/core-react/tabs/index.scss +6 -6
  368. package/lib/cjs/core-react/tabs/tabs.scss +117 -117
  369. package/lib/cjs/core-react/tabs/vertical.scss +64 -64
  370. package/lib/cjs/core-react/text/BlockText.d.ts +9 -9
  371. package/lib/cjs/core-react/text/BlockText.js +19 -19
  372. package/lib/cjs/core-react/text/BlockText.js.map +1 -1
  373. package/lib/cjs/core-react/text/BodyText.d.ts +9 -9
  374. package/lib/cjs/core-react/text/BodyText.js +19 -19
  375. package/lib/cjs/core-react/text/BodyText.js.map +1 -1
  376. package/lib/cjs/core-react/text/DisabledText.d.ts +6 -6
  377. package/lib/cjs/core-react/text/DisabledText.js +19 -19
  378. package/lib/cjs/core-react/text/DisabledText.js.map +1 -1
  379. package/lib/cjs/core-react/text/FilteredText.d.ts +24 -24
  380. package/lib/cjs/core-react/text/FilteredText.js +40 -40
  381. package/lib/cjs/core-react/text/FilteredText.js.map +1 -1
  382. package/lib/cjs/core-react/text/FilteredText.scss +10 -10
  383. package/lib/cjs/core-react/text/Headline.d.ts +10 -10
  384. package/lib/cjs/core-react/text/Headline.js +20 -20
  385. package/lib/cjs/core-react/text/Headline.js.map +1 -1
  386. package/lib/cjs/core-react/text/LeadingText.d.ts +10 -10
  387. package/lib/cjs/core-react/text/LeadingText.js +20 -20
  388. package/lib/cjs/core-react/text/LeadingText.js.map +1 -1
  389. package/lib/cjs/core-react/text/LeadingText2.d.ts +10 -10
  390. package/lib/cjs/core-react/text/LeadingText2.js +20 -20
  391. package/lib/cjs/core-react/text/LeadingText2.js.map +1 -1
  392. package/lib/cjs/core-react/text/MutedText.d.ts +9 -9
  393. package/lib/cjs/core-react/text/MutedText.js +19 -19
  394. package/lib/cjs/core-react/text/MutedText.js.map +1 -1
  395. package/lib/cjs/core-react/text/SmallText.d.ts +10 -10
  396. package/lib/cjs/core-react/text/SmallText.js +20 -20
  397. package/lib/cjs/core-react/text/SmallText.js.map +1 -1
  398. package/lib/cjs/core-react/text/StyledText.d.ts +16 -16
  399. package/lib/cjs/core-react/text/StyledText.js +20 -20
  400. package/lib/cjs/core-react/text/StyledText.js.map +1 -1
  401. package/lib/cjs/core-react/text/Subheading.d.ts +10 -10
  402. package/lib/cjs/core-react/text/Subheading.js +20 -20
  403. package/lib/cjs/core-react/text/Subheading.js.map +1 -1
  404. package/lib/cjs/core-react/text/Subheading2.d.ts +10 -10
  405. package/lib/cjs/core-react/text/Subheading2.js +20 -20
  406. package/lib/cjs/core-react/text/Subheading2.js.map +1 -1
  407. package/lib/cjs/core-react/text/TextProps.d.ts +10 -10
  408. package/lib/cjs/core-react/text/TextProps.js +9 -9
  409. package/lib/cjs/core-react/text/TextProps.js.map +1 -1
  410. package/lib/cjs/core-react/text/Title.d.ts +10 -10
  411. package/lib/cjs/core-react/text/Title.js +20 -20
  412. package/lib/cjs/core-react/text/Title.js.map +1 -1
  413. package/lib/cjs/core-react/text/Title2.d.ts +10 -10
  414. package/lib/cjs/core-react/text/Title2.js +20 -20
  415. package/lib/cjs/core-react/text/Title2.js.map +1 -1
  416. package/lib/cjs/core-react/text/block.scss +10 -10
  417. package/lib/cjs/core-react/text/body.scss +10 -10
  418. package/lib/cjs/core-react/text/classes.scss +18 -18
  419. package/lib/cjs/core-react/text/disabled.scss +10 -10
  420. package/lib/cjs/core-react/text/headline.scss +10 -10
  421. package/lib/cjs/core-react/text/index.scss +18 -18
  422. package/lib/cjs/core-react/text/leading-2.scss +11 -11
  423. package/lib/cjs/core-react/text/leading.scss +10 -10
  424. package/lib/cjs/core-react/text/mixins.scss +62 -62
  425. package/lib/cjs/core-react/text/muted.scss +10 -10
  426. package/lib/cjs/core-react/text/small.scss +10 -10
  427. package/lib/cjs/core-react/text/subheading-2.scss +11 -11
  428. package/lib/cjs/core-react/text/subheading.scss +11 -11
  429. package/lib/cjs/core-react/text/title-2.scss +11 -11
  430. package/lib/cjs/core-react/text/title.scss +10 -10
  431. package/lib/cjs/core-react/tiles/FeaturedTile.d.ts +10 -10
  432. package/lib/cjs/core-react/tiles/FeaturedTile.js +20 -20
  433. package/lib/cjs/core-react/tiles/FeaturedTile.js.map +1 -1
  434. package/lib/cjs/core-react/tiles/MinimalFeaturedTile.d.ts +10 -10
  435. package/lib/cjs/core-react/tiles/MinimalFeaturedTile.js +20 -20
  436. package/lib/cjs/core-react/tiles/MinimalFeaturedTile.js.map +1 -1
  437. package/lib/cjs/core-react/tiles/MinimalTile.d.ts +10 -10
  438. package/lib/cjs/core-react/tiles/MinimalTile.js +20 -20
  439. package/lib/cjs/core-react/tiles/MinimalTile.js.map +1 -1
  440. package/lib/cjs/core-react/tiles/Tile.d.ts +31 -31
  441. package/lib/cjs/core-react/tiles/Tile.js +39 -39
  442. package/lib/cjs/core-react/tiles/Tile.js.map +1 -1
  443. package/lib/cjs/core-react/tiles/classes.scss +7 -7
  444. package/lib/cjs/core-react/tiles/index.scss +5 -5
  445. package/lib/cjs/core-react/tiles/tile.scss +134 -134
  446. package/lib/cjs/core-react/toggle/LabeledToggle.d.ts +25 -25
  447. package/lib/cjs/core-react/toggle/LabeledToggle.js +28 -28
  448. package/lib/cjs/core-react/toggle/LabeledToggle.js.map +1 -1
  449. package/lib/cjs/core-react/toggle/LabeledToggle.scss +21 -21
  450. package/lib/cjs/core-react/toggle/Toggle.d.ts +51 -51
  451. package/lib/cjs/core-react/toggle/Toggle.js +104 -104
  452. package/lib/cjs/core-react/toggle/Toggle.js.map +1 -1
  453. package/lib/cjs/core-react/toggle/Toggle.scss +135 -135
  454. package/lib/cjs/core-react/tooltip/Tooltip.d.ts +33 -33
  455. package/lib/cjs/core-react/tooltip/Tooltip.js +56 -56
  456. package/lib/cjs/core-react/tooltip/Tooltip.js.map +1 -1
  457. package/lib/cjs/core-react/tooltip/Tooltip.scss +18 -18
  458. package/lib/cjs/core-react/tree/Branch.d.ts +19 -19
  459. package/lib/cjs/core-react/tree/Branch.js +23 -23
  460. package/lib/cjs/core-react/tree/Branch.js.map +1 -1
  461. package/lib/cjs/core-react/tree/Branch.scss +12 -12
  462. package/lib/cjs/core-react/tree/ExpansionToggle.d.ts +20 -20
  463. package/lib/cjs/core-react/tree/ExpansionToggle.js +28 -28
  464. package/lib/cjs/core-react/tree/ExpansionToggle.js.map +1 -1
  465. package/lib/cjs/core-react/tree/ExpansionToggle.scss +28 -28
  466. package/lib/cjs/core-react/tree/Node.d.ts +79 -79
  467. package/lib/cjs/core-react/tree/Node.js +88 -88
  468. package/lib/cjs/core-react/tree/Node.js.map +1 -1
  469. package/lib/cjs/core-react/tree/Node.scss +84 -84
  470. package/lib/cjs/core-react/tree/Placeholder.d.ts +22 -22
  471. package/lib/cjs/core-react/tree/Placeholder.js +31 -31
  472. package/lib/cjs/core-react/tree/Placeholder.js.map +1 -1
  473. package/lib/cjs/core-react/tree/Placeholder.scss +20 -20
  474. package/lib/cjs/core-react/tree/Tree.d.ts +28 -28
  475. package/lib/cjs/core-react/tree/Tree.js +100 -100
  476. package/lib/cjs/core-react/tree/Tree.js.map +1 -1
  477. package/lib/cjs/core-react/tree/Tree.scss +21 -21
  478. package/lib/cjs/core-react/uistate/LocalStateStorage.d.ts +16 -16
  479. package/lib/cjs/core-react/uistate/LocalStateStorage.js +49 -49
  480. package/lib/cjs/core-react/uistate/LocalStateStorage.js.map +1 -1
  481. package/lib/cjs/core-react/uistate/UiStateEntry.d.ts +30 -30
  482. package/lib/cjs/core-react/uistate/UiStateEntry.js +59 -59
  483. package/lib/cjs/core-react/uistate/UiStateEntry.js.map +1 -1
  484. package/lib/cjs/core-react/uistate/UiStateStorage.d.ts +28 -28
  485. package/lib/cjs/core-react/uistate/UiStateStorage.js +21 -21
  486. package/lib/cjs/core-react/uistate/UiStateStorage.js.map +1 -1
  487. package/lib/cjs/core-react/utils/IconHelper.d.ts +23 -23
  488. package/lib/cjs/core-react/utils/IconHelper.js +62 -62
  489. package/lib/cjs/core-react/utils/IconHelper.js.map +1 -1
  490. package/lib/cjs/core-react/utils/IconWebComponent.d.ts +10 -10
  491. package/lib/cjs/core-react/utils/IconWebComponent.js +72 -72
  492. package/lib/cjs/core-react/utils/IconWebComponent.js.map +1 -1
  493. package/lib/cjs/core-react/utils/Point.d.ts +37 -37
  494. package/lib/cjs/core-react/utils/Point.js +73 -73
  495. package/lib/cjs/core-react/utils/Point.js.map +1 -1
  496. package/lib/cjs/core-react/utils/PointProps.d.ts +11 -11
  497. package/lib/cjs/core-react/utils/PointProps.js +9 -9
  498. package/lib/cjs/core-react/utils/PointProps.js.map +1 -1
  499. package/lib/cjs/core-react/utils/Props.d.ts +38 -38
  500. package/lib/cjs/core-react/utils/Props.js +9 -9
  501. package/lib/cjs/core-react/utils/Props.js.map +1 -1
  502. package/lib/cjs/core-react/utils/Rectangle.d.ts +144 -144
  503. package/lib/cjs/core-react/utils/Rectangle.js +270 -270
  504. package/lib/cjs/core-react/utils/Rectangle.js.map +1 -1
  505. package/lib/cjs/core-react/utils/ScrollPositionMaintainer.d.ts +23 -23
  506. package/lib/cjs/core-react/utils/ScrollPositionMaintainer.js +36 -36
  507. package/lib/cjs/core-react/utils/ScrollPositionMaintainer.js.map +1 -1
  508. package/lib/cjs/core-react/utils/Size.d.ts +23 -23
  509. package/lib/cjs/core-react/utils/Size.js +32 -32
  510. package/lib/cjs/core-react/utils/Size.js.map +1 -1
  511. package/lib/cjs/core-react/utils/Timer.d.ts +35 -35
  512. package/lib/cjs/core-react/utils/Timer.js +64 -64
  513. package/lib/cjs/core-react/utils/Timer.js.map +1 -1
  514. package/lib/cjs/core-react/utils/UiEvent.d.ts +9 -9
  515. package/lib/cjs/core-react/utils/UiEvent.js +17 -17
  516. package/lib/cjs/core-react/utils/UiEvent.js.map +1 -1
  517. package/lib/cjs/core-react/utils/UiGeometry.d.ts +20 -20
  518. package/lib/cjs/core-react/utils/UiGeometry.js +28 -28
  519. package/lib/cjs/core-react/utils/UiGeometry.js.map +1 -1
  520. package/lib/cjs/core-react/utils/flattenChildren.d.ts +8 -8
  521. package/lib/cjs/core-react/utils/flattenChildren.js +27 -27
  522. package/lib/cjs/core-react/utils/flattenChildren.js.map +1 -1
  523. package/lib/cjs/core-react/utils/getBestBWContrastColor.d.ts +7 -7
  524. package/lib/cjs/core-react/utils/getBestBWContrastColor.js +22 -22
  525. package/lib/cjs/core-react/utils/getBestBWContrastColor.js.map +1 -1
  526. package/lib/cjs/core-react/utils/getCssVariable.d.ts +11 -11
  527. package/lib/cjs/core-react/utils/getCssVariable.js +31 -31
  528. package/lib/cjs/core-react/utils/getCssVariable.js.map +1 -1
  529. package/lib/cjs/core-react/utils/getDisplayName.d.ts +8 -8
  530. package/lib/cjs/core-react/utils/getDisplayName.js +21 -21
  531. package/lib/cjs/core-react/utils/getDisplayName.js.map +1 -1
  532. package/lib/cjs/core-react/utils/getUserColor.d.ts +7 -7
  533. package/lib/cjs/core-react/utils/getUserColor.js +38 -38
  534. package/lib/cjs/core-react/utils/getUserColor.js.map +1 -1
  535. package/lib/cjs/core-react/utils/hooks/ResizeObserverPolyfill.d.ts +4 -4
  536. package/lib/cjs/core-react/utils/hooks/ResizeObserverPolyfill.js +19 -19
  537. package/lib/cjs/core-react/utils/hooks/ResizeObserverPolyfill.js.map +1 -1
  538. package/lib/cjs/core-react/utils/hooks/useCrossOriginPopup.d.ts +7 -7
  539. package/lib/cjs/core-react/utils/hooks/useCrossOriginPopup.js +89 -89
  540. package/lib/cjs/core-react/utils/hooks/useCrossOriginPopup.js.map +1 -1
  541. package/lib/cjs/core-react/utils/hooks/useDisposable.d.ts +17 -17
  542. package/lib/cjs/core-react/utils/hooks/useDisposable.js +38 -38
  543. package/lib/cjs/core-react/utils/hooks/useDisposable.js.map +1 -1
  544. package/lib/cjs/core-react/utils/hooks/useEffectSkipFirst.d.ts +8 -8
  545. package/lib/cjs/core-react/utils/hooks/useEffectSkipFirst.js +26 -26
  546. package/lib/cjs/core-react/utils/hooks/useEffectSkipFirst.js.map +1 -1
  547. package/lib/cjs/core-react/utils/hooks/useEventListener.d.ts +11 -11
  548. package/lib/cjs/core-react/utils/hooks/useEventListener.js +43 -43
  549. package/lib/cjs/core-react/utils/hooks/useEventListener.js.map +1 -1
  550. package/lib/cjs/core-react/utils/hooks/useInterval.d.ts +5 -5
  551. package/lib/cjs/core-react/utils/hooks/useInterval.js +36 -36
  552. package/lib/cjs/core-react/utils/hooks/useInterval.js.map +1 -1
  553. package/lib/cjs/core-react/utils/hooks/useLifecycleLogging.d.ts +5 -5
  554. package/lib/cjs/core-react/utils/hooks/useLifecycleLogging.js +64 -64
  555. package/lib/cjs/core-react/utils/hooks/useLifecycleLogging.js.map +1 -1
  556. package/lib/cjs/core-react/utils/hooks/useOnOutsideClick.d.ts +12 -12
  557. package/lib/cjs/core-react/utils/hooks/useOnOutsideClick.js +92 -92
  558. package/lib/cjs/core-react/utils/hooks/useOnOutsideClick.js.map +1 -1
  559. package/lib/cjs/core-react/utils/hooks/useProximityToMouse.d.ts +55 -55
  560. package/lib/cjs/core-react/utils/hooks/useProximityToMouse.js +114 -114
  561. package/lib/cjs/core-react/utils/hooks/useProximityToMouse.js.map +1 -1
  562. package/lib/cjs/core-react/utils/hooks/useRefEffect.d.ts +7 -7
  563. package/lib/cjs/core-react/utils/hooks/useRefEffect.js +23 -23
  564. package/lib/cjs/core-react/utils/hooks/useRefEffect.js.map +1 -1
  565. package/lib/cjs/core-react/utils/hooks/useRefState.d.ts +21 -21
  566. package/lib/cjs/core-react/utils/hooks/useRefState.js +35 -35
  567. package/lib/cjs/core-react/utils/hooks/useRefState.js.map +1 -1
  568. package/lib/cjs/core-react/utils/hooks/useRefs.d.ts +12 -12
  569. package/lib/cjs/core-react/utils/hooks/useRefs.js +53 -53
  570. package/lib/cjs/core-react/utils/hooks/useRefs.js.map +1 -1
  571. package/lib/cjs/core-react/utils/hooks/useResizeObserver.d.ts +39 -39
  572. package/lib/cjs/core-react/utils/hooks/useResizeObserver.js +208 -208
  573. package/lib/cjs/core-react/utils/hooks/useResizeObserver.js.map +1 -1
  574. package/lib/cjs/core-react/utils/hooks/useTargeted.d.ts +8 -8
  575. package/lib/cjs/core-react/utils/hooks/useTargeted.js +28 -28
  576. package/lib/cjs/core-react/utils/hooks/useTargeted.js.map +1 -1
  577. package/lib/cjs/core-react/utils/hooks/useThrottledFn.d.ts +15 -15
  578. package/lib/cjs/core-react/utils/hooks/useThrottledFn.js +25 -25
  579. package/lib/cjs/core-react/utils/hooks/useThrottledFn.js.map +1 -1
  580. package/lib/cjs/core-react/utils/hooks/useWidgetOpacityContext.d.ts +20 -20
  581. package/lib/cjs/core-react/utils/hooks/useWidgetOpacityContext.js +27 -27
  582. package/lib/cjs/core-react/utils/hooks/useWidgetOpacityContext.js.map +1 -1
  583. package/lib/cjs/core-react/utils/isPromiseLike.d.ts +7 -7
  584. package/lib/cjs/core-react/utils/isPromiseLike.js +17 -17
  585. package/lib/cjs/core-react/utils/isPromiseLike.js.map +1 -1
  586. package/lib/cjs/core-react/utils/shallowDiffers.d.ts +11 -11
  587. package/lib/cjs/core-react/utils/shallowDiffers.js +29 -29
  588. package/lib/cjs/core-react/utils/shallowDiffers.js.map +1 -1
  589. package/lib/cjs/core-react/utils/typeUtils.d.ts +7 -7
  590. package/lib/cjs/core-react/utils/typeUtils.js +9 -9
  591. package/lib/cjs/core-react/utils/typeUtils.js.map +1 -1
  592. package/lib/cjs/core-react.d.ts +275 -275
  593. package/lib/cjs/core-react.js +298 -298
  594. package/lib/cjs/core-react.js.map +1 -1
  595. package/lib/esm/core-react/UiCore.d.ts +40 -40
  596. package/lib/esm/core-react/UiCore.js +81 -81
  597. package/lib/esm/core-react/UiCore.js.map +1 -1
  598. package/lib/esm/core-react/_geometry.scss +70 -70
  599. package/lib/esm/core-react/_helpers.scss +51 -51
  600. package/lib/esm/core-react/_math.scss +13 -13
  601. package/lib/esm/core-react/_scrollbar.scss +51 -51
  602. package/lib/esm/core-react/_typography.scss +44 -44
  603. package/lib/esm/core-react/_z-index.scss +65 -65
  604. package/lib/esm/core-react/autosuggest/AutoSuggest.d.ts +96 -96
  605. package/lib/esm/core-react/autosuggest/AutoSuggest.js +170 -170
  606. package/lib/esm/core-react/autosuggest/AutoSuggest.js.map +1 -1
  607. package/lib/esm/core-react/autosuggest/AutoSuggest.scss +82 -82
  608. package/lib/esm/core-react/badge/Badge.d.ts +18 -18
  609. package/lib/esm/core-react/badge/Badge.js +22 -22
  610. package/lib/esm/core-react/badge/Badge.js.map +1 -1
  611. package/lib/esm/core-react/badge/Badge.scss +13 -13
  612. package/lib/esm/core-react/badge/BadgeUtilities.d.ts +12 -12
  613. package/lib/esm/core-react/badge/BadgeUtilities.js +34 -34
  614. package/lib/esm/core-react/badge/BadgeUtilities.js.map +1 -1
  615. package/lib/esm/core-react/badge/BetaBadge.d.ts +10 -10
  616. package/lib/esm/core-react/badge/BetaBadge.js +19 -19
  617. package/lib/esm/core-react/badge/BetaBadge.js.map +1 -1
  618. package/lib/esm/core-react/badge/BetaBadge.scss +9 -9
  619. package/lib/esm/core-react/badge/NewBadge.d.ts +10 -10
  620. package/lib/esm/core-react/badge/NewBadge.js +19 -19
  621. package/lib/esm/core-react/badge/NewBadge.js.map +1 -1
  622. package/lib/esm/core-react/badge/NewBadge.scss +9 -9
  623. package/lib/esm/core-react/base/Centered.d.ts +10 -10
  624. package/lib/esm/core-react/base/Centered.js +16 -16
  625. package/lib/esm/core-react/base/Centered.js.map +1 -1
  626. package/lib/esm/core-react/base/Div.d.ts +16 -16
  627. package/lib/esm/core-react/base/Div.js +16 -16
  628. package/lib/esm/core-react/base/Div.js.map +1 -1
  629. package/lib/esm/core-react/base/DivWithOutsideClick.d.ts +79 -79
  630. package/lib/esm/core-react/base/DivWithOutsideClick.js +13 -13
  631. package/lib/esm/core-react/base/DivWithOutsideClick.js.map +1 -1
  632. package/lib/esm/core-react/base/FillCentered.d.ts +10 -10
  633. package/lib/esm/core-react/base/FillCentered.js +16 -16
  634. package/lib/esm/core-react/base/FillCentered.js.map +1 -1
  635. package/lib/esm/core-react/base/FlexWrapContainer.d.ts +11 -11
  636. package/lib/esm/core-react/base/FlexWrapContainer.js +17 -17
  637. package/lib/esm/core-react/base/FlexWrapContainer.js.map +1 -1
  638. package/lib/esm/core-react/base/Gap.d.ts +15 -15
  639. package/lib/esm/core-react/base/Gap.js +16 -16
  640. package/lib/esm/core-react/base/Gap.js.map +1 -1
  641. package/lib/esm/core-react/base/PointerEvents.d.ts +7 -7
  642. package/lib/esm/core-react/base/PointerEvents.js +13 -13
  643. package/lib/esm/core-react/base/PointerEvents.js.map +1 -1
  644. package/lib/esm/core-react/base/ScrollView.d.ts +11 -11
  645. package/lib/esm/core-react/base/ScrollView.js +17 -17
  646. package/lib/esm/core-react/base/ScrollView.js.map +1 -1
  647. package/lib/esm/core-react/base/base.scss +42 -42
  648. package/lib/esm/core-react/base/classes.scss +13 -13
  649. package/lib/esm/core-react/base/index.scss +5 -5
  650. package/lib/esm/core-react/button/Button.d.ts +47 -47
  651. package/lib/esm/core-react/button/Button.js +80 -80
  652. package/lib/esm/core-react/button/Button.js.map +1 -1
  653. package/lib/esm/core-react/button/UnderlinedButton.d.ts +24 -24
  654. package/lib/esm/core-react/button/UnderlinedButton.js +31 -31
  655. package/lib/esm/core-react/button/UnderlinedButton.js.map +1 -1
  656. package/lib/esm/core-react/button/UnderlinedButton.scss +32 -32
  657. package/lib/esm/core-react/button/blue-large.scss +12 -12
  658. package/lib/esm/core-react/button/blue.scss +25 -25
  659. package/lib/esm/core-react/button/button.scss +81 -81
  660. package/lib/esm/core-react/button/classes.scss +14 -14
  661. package/lib/esm/core-react/button/disabled-large.scss +12 -12
  662. package/lib/esm/core-react/button/disabled.scss +17 -17
  663. package/lib/esm/core-react/button/hollow-large.scss +13 -13
  664. package/lib/esm/core-react/button/hollow.scss +30 -30
  665. package/lib/esm/core-react/button/index.scss +14 -14
  666. package/lib/esm/core-react/button/primary-large.scss +12 -12
  667. package/lib/esm/core-react/button/primary.scss +25 -25
  668. package/lib/esm/core-react/button/variables.scss +19 -19
  669. package/lib/esm/core-react/checkbox/Checkbox.d.ts +56 -56
  670. package/lib/esm/core-react/checkbox/Checkbox.js +60 -60
  671. package/lib/esm/core-react/checkbox/Checkbox.js.map +1 -1
  672. package/lib/esm/core-react/checkbox/checkbox.scss +129 -129
  673. package/lib/esm/core-react/checkbox/classes.scss +8 -8
  674. package/lib/esm/core-react/checkbox/index.scss +8 -8
  675. package/lib/esm/core-react/checklistbox/CheckListBox.d.ts +37 -37
  676. package/lib/esm/core-react/checklistbox/CheckListBox.js +36 -36
  677. package/lib/esm/core-react/checklistbox/CheckListBox.js.map +1 -1
  678. package/lib/esm/core-react/checklistbox/CheckListBox.scss +22 -22
  679. package/lib/esm/core-react/classes.scss +18 -18
  680. package/lib/esm/core-react/colorthemes.scss +58 -58
  681. package/lib/esm/core-react/colorvariables.scss +116 -116
  682. package/lib/esm/core-react/contextmenu/ContextMenu.d.ts +91 -91
  683. package/lib/esm/core-react/contextmenu/ContextMenu.js +360 -360
  684. package/lib/esm/core-react/contextmenu/ContextMenu.js.map +1 -1
  685. package/lib/esm/core-react/contextmenu/ContextMenu.scss +238 -238
  686. package/lib/esm/core-react/contextmenu/ContextMenuDirection.d.ts +18 -18
  687. package/lib/esm/core-react/contextmenu/ContextMenuDirection.js +23 -23
  688. package/lib/esm/core-react/contextmenu/ContextMenuDirection.js.map +1 -1
  689. package/lib/esm/core-react/contextmenu/ContextMenuDivider.d.ts +12 -12
  690. package/lib/esm/core-react/contextmenu/ContextMenuDivider.js +19 -19
  691. package/lib/esm/core-react/contextmenu/ContextMenuDivider.js.map +1 -1
  692. package/lib/esm/core-react/contextmenu/ContextMenuItem.d.ts +61 -61
  693. package/lib/esm/core-react/contextmenu/ContextMenuItem.js +104 -104
  694. package/lib/esm/core-react/contextmenu/ContextMenuItem.js.map +1 -1
  695. package/lib/esm/core-react/contextmenu/ContextSubMenu.d.ts +51 -51
  696. package/lib/esm/core-react/contextmenu/ContextSubMenu.js +155 -155
  697. package/lib/esm/core-react/contextmenu/ContextSubMenu.js.map +1 -1
  698. package/lib/esm/core-react/contextmenu/GlobalContextMenu.d.ts +34 -34
  699. package/lib/esm/core-react/contextmenu/GlobalContextMenu.js +55 -55
  700. package/lib/esm/core-react/contextmenu/GlobalContextMenu.js.map +1 -1
  701. package/lib/esm/core-react/contextmenu/PopupContextMenu.d.ts +53 -53
  702. package/lib/esm/core-react/contextmenu/PopupContextMenu.js +51 -51
  703. package/lib/esm/core-react/contextmenu/PopupContextMenu.js.map +1 -1
  704. package/lib/esm/core-react/contextmenu/TildeFinder.d.ts +18 -18
  705. package/lib/esm/core-react/contextmenu/TildeFinder.js +66 -66
  706. package/lib/esm/core-react/contextmenu/TildeFinder.js.map +1 -1
  707. package/lib/esm/core-react/dialog/Dialog.d.ts +132 -132
  708. package/lib/esm/core-react/dialog/Dialog.js +362 -362
  709. package/lib/esm/core-react/dialog/Dialog.js.map +1 -1
  710. package/lib/esm/core-react/dialog/Dialog.scss +245 -245
  711. package/lib/esm/core-react/dialog/DialogButtonDef.d.ts +46 -46
  712. package/lib/esm/core-react/dialog/DialogButtonDef.js +34 -34
  713. package/lib/esm/core-react/dialog/DialogButtonDef.js.map +1 -1
  714. package/lib/esm/core-react/dialog/GlobalDialog.d.ts +28 -28
  715. package/lib/esm/core-react/dialog/GlobalDialog.js +49 -49
  716. package/lib/esm/core-react/dialog/GlobalDialog.js.map +1 -1
  717. package/lib/esm/core-react/elementseparator/ElementSeparator.d.ts +41 -41
  718. package/lib/esm/core-react/elementseparator/ElementSeparator.js +159 -159
  719. package/lib/esm/core-react/elementseparator/ElementSeparator.js.map +1 -1
  720. package/lib/esm/core-react/elementseparator/ElementSeparator.scss +85 -85
  721. package/lib/esm/core-react/enums/Alignment.d.ts +22 -22
  722. package/lib/esm/core-react/enums/Alignment.js +28 -28
  723. package/lib/esm/core-react/enums/Alignment.js.map +1 -1
  724. package/lib/esm/core-react/enums/CheckBoxState.d.ts +20 -20
  725. package/lib/esm/core-react/enums/CheckBoxState.js +16 -16
  726. package/lib/esm/core-react/enums/CheckBoxState.js.map +1 -1
  727. package/lib/esm/core-react/enums/Orientation.d.ts +11 -11
  728. package/lib/esm/core-react/enums/Orientation.js +16 -16
  729. package/lib/esm/core-react/enums/Orientation.js.map +1 -1
  730. package/lib/esm/core-react/enums/SortDirection.d.ts +12 -12
  731. package/lib/esm/core-react/enums/SortDirection.js +17 -17
  732. package/lib/esm/core-react/enums/SortDirection.js.map +1 -1
  733. package/lib/esm/core-react/enums/TimeFormat.d.ts +14 -14
  734. package/lib/esm/core-react/enums/TimeFormat.js +19 -19
  735. package/lib/esm/core-react/enums/TimeFormat.js.map +1 -1
  736. package/lib/esm/core-react/expandable/ExpandableBlock.d.ts +33 -33
  737. package/lib/esm/core-react/expandable/ExpandableBlock.js +31 -31
  738. package/lib/esm/core-react/expandable/ExpandableBlock.js.map +1 -1
  739. package/lib/esm/core-react/expandable/ExpandableBlock.scss +145 -145
  740. package/lib/esm/core-react/expandable/ExpandableList.d.ts +35 -35
  741. package/lib/esm/core-react/expandable/ExpandableList.js +53 -53
  742. package/lib/esm/core-react/expandable/ExpandableList.js.map +1 -1
  743. package/lib/esm/core-react/expandable/ExpandableList.scss +8 -8
  744. package/lib/esm/core-react/expandable/classes.scss +7 -7
  745. package/lib/esm/core-react/expandable/index.scss +5 -5
  746. package/lib/esm/core-react/expandable/list.scss +45 -45
  747. package/lib/esm/core-react/focus/ItemKeyboardNavigator.d.ts +53 -53
  748. package/lib/esm/core-react/focus/ItemKeyboardNavigator.js +145 -145
  749. package/lib/esm/core-react/focus/ItemKeyboardNavigator.js.map +1 -1
  750. package/lib/esm/core-react/focustrap/FocusTrap.d.ts +28 -28
  751. package/lib/esm/core-react/focustrap/FocusTrap.js +191 -191
  752. package/lib/esm/core-react/focustrap/FocusTrap.js.map +1 -1
  753. package/lib/esm/core-react/form/Field.d.ts +19 -19
  754. package/lib/esm/core-react/form/Field.js +40 -40
  755. package/lib/esm/core-react/form/Field.js.map +1 -1
  756. package/lib/esm/core-react/form/Form.d.ts +131 -131
  757. package/lib/esm/core-react/form/Form.js +127 -127
  758. package/lib/esm/core-react/form/Form.js.map +1 -1
  759. package/lib/esm/core-react/form/Form.scss +78 -78
  760. package/lib/esm/core-react/hocs/withIsPressed.d.ts +77 -77
  761. package/lib/esm/core-react/hocs/withIsPressed.js +42 -42
  762. package/lib/esm/core-react/hocs/withIsPressed.js.map +1 -1
  763. package/lib/esm/core-react/hocs/withOnOutsideClick.d.ts +103 -103
  764. package/lib/esm/core-react/hocs/withOnOutsideClick.js +111 -111
  765. package/lib/esm/core-react/hocs/withOnOutsideClick.js.map +1 -1
  766. package/lib/esm/core-react/hocs/withTimeout.d.ts +74 -74
  767. package/lib/esm/core-react/hocs/withTimeout.js +42 -42
  768. package/lib/esm/core-react/hocs/withTimeout.js.map +1 -1
  769. package/lib/esm/core-react/icons/IconComponent.d.ts +24 -24
  770. package/lib/esm/core-react/icons/IconComponent.js +50 -50
  771. package/lib/esm/core-react/icons/IconComponent.js.map +1 -1
  772. package/lib/esm/core-react/icons/IconComponent.scss +20 -20
  773. package/lib/esm/core-react/icons/SvgPath.d.ts +23 -23
  774. package/lib/esm/core-react/icons/SvgPath.js +23 -23
  775. package/lib/esm/core-react/icons/SvgPath.js.map +1 -1
  776. package/lib/esm/core-react/icons/SvgSprite.d.ts +20 -20
  777. package/lib/esm/core-react/icons/SvgSprite.js +22 -22
  778. package/lib/esm/core-react/icons/SvgSprite.js.map +1 -1
  779. package/lib/esm/core-react/icons/SvgSprite.scss +15 -15
  780. package/lib/esm/core-react/icons/WebFontIcon.d.ts +26 -26
  781. package/lib/esm/core-react/icons/WebFontIcon.js +18 -18
  782. package/lib/esm/core-react/icons/WebFontIcon.js.map +1 -1
  783. package/lib/esm/core-react/icons/WebFontIcon.scss +17 -17
  784. package/lib/esm/core-react/icons/classes.scss +10 -10
  785. package/lib/esm/core-react/icons/index.scss +6 -6
  786. package/lib/esm/core-react/icons/mixins.scss +25 -25
  787. package/lib/esm/core-react/icons/variables.scss +21 -21
  788. package/lib/esm/core-react/imagecheckbox/ImageCheckBox.d.ts +42 -42
  789. package/lib/esm/core-react/imagecheckbox/ImageCheckBox.js +52 -52
  790. package/lib/esm/core-react/imagecheckbox/ImageCheckBox.js.map +1 -1
  791. package/lib/esm/core-react/imagecheckbox/ImageCheckBox.scss +54 -54
  792. package/lib/esm/core-react/index.scss +27 -27
  793. package/lib/esm/core-react/inputs/Input.d.ts +22 -22
  794. package/lib/esm/core-react/inputs/Input.js +43 -43
  795. package/lib/esm/core-react/inputs/Input.js.map +1 -1
  796. package/lib/esm/core-react/inputs/InputLabel.d.ts +18 -18
  797. package/lib/esm/core-react/inputs/InputLabel.js +29 -29
  798. package/lib/esm/core-react/inputs/InputLabel.js.map +1 -1
  799. package/lib/esm/core-react/inputs/InputStatus.d.ts +11 -11
  800. package/lib/esm/core-react/inputs/InputStatus.js +16 -16
  801. package/lib/esm/core-react/inputs/InputStatus.js.map +1 -1
  802. package/lib/esm/core-react/inputs/LabeledComponentProps.d.ts +33 -33
  803. package/lib/esm/core-react/inputs/LabeledComponentProps.js +8 -8
  804. package/lib/esm/core-react/inputs/LabeledComponentProps.js.map +1 -1
  805. package/lib/esm/core-react/inputs/LabeledInput.d.ts +17 -17
  806. package/lib/esm/core-react/inputs/LabeledInput.js +29 -29
  807. package/lib/esm/core-react/inputs/LabeledInput.js.map +1 -1
  808. package/lib/esm/core-react/inputs/LabeledTextarea.d.ts +17 -17
  809. package/lib/esm/core-react/inputs/LabeledTextarea.js +27 -27
  810. package/lib/esm/core-react/inputs/LabeledTextarea.js.map +1 -1
  811. package/lib/esm/core-react/inputs/Textarea.d.ts +22 -22
  812. package/lib/esm/core-react/inputs/Textarea.js +32 -32
  813. package/lib/esm/core-react/inputs/Textarea.js.map +1 -1
  814. package/lib/esm/core-react/inputs/classes.scss +10 -10
  815. package/lib/esm/core-react/inputs/iconinput/IconInput.d.ts +23 -23
  816. package/lib/esm/core-react/inputs/iconinput/IconInput.js +26 -26
  817. package/lib/esm/core-react/inputs/iconinput/IconInput.js.map +1 -1
  818. package/lib/esm/core-react/inputs/iconinput/IconInput.scss +35 -35
  819. package/lib/esm/core-react/inputs/index.scss +11 -11
  820. package/lib/esm/core-react/inputs/input.scss +60 -60
  821. package/lib/esm/core-react/inputs/labeled-input.scss +103 -103
  822. package/lib/esm/core-react/inputs/labeled-textarea.scss +77 -77
  823. package/lib/esm/core-react/inputs/numberinput/NumberInput.d.ts +45 -45
  824. package/lib/esm/core-react/inputs/numberinput/NumberInput.js +145 -145
  825. package/lib/esm/core-react/inputs/numberinput/NumberInput.js.map +1 -1
  826. package/lib/esm/core-react/inputs/numberinput/NumberInput.scss +89 -89
  827. package/lib/esm/core-react/inputs/textarea.scss +55 -55
  828. package/lib/esm/core-react/inputs/variables.scss +33 -33
  829. package/lib/esm/core-react/layout-variables.scss +17 -17
  830. package/lib/esm/core-react/listbox/Listbox.d.ts +55 -55
  831. package/lib/esm/core-react/listbox/Listbox.js +217 -217
  832. package/lib/esm/core-react/listbox/Listbox.js.map +1 -1
  833. package/lib/esm/core-react/listbox/Listbox.scss +53 -53
  834. package/lib/esm/core-react/loading/LoadingBar.d.ts +29 -29
  835. package/lib/esm/core-react/loading/LoadingBar.js +35 -35
  836. package/lib/esm/core-react/loading/LoadingBar.js.map +1 -1
  837. package/lib/esm/core-react/loading/LoadingBar.scss +29 -29
  838. package/lib/esm/core-react/loading/LoadingPrompt.d.ts +39 -39
  839. package/lib/esm/core-react/loading/LoadingPrompt.js +40 -40
  840. package/lib/esm/core-react/loading/LoadingPrompt.js.map +1 -1
  841. package/lib/esm/core-react/loading/LoadingPrompt.scss +33 -33
  842. package/lib/esm/core-react/loading/LoadingSpinner.d.ts +33 -33
  843. package/lib/esm/core-react/loading/LoadingSpinner.js +41 -41
  844. package/lib/esm/core-react/loading/LoadingSpinner.js.map +1 -1
  845. package/lib/esm/core-react/loading/LoadingSpinner.scss +26 -26
  846. package/lib/esm/core-react/loading/LoadingStatus.d.ts +24 -24
  847. package/lib/esm/core-react/loading/LoadingStatus.js +33 -33
  848. package/lib/esm/core-react/loading/LoadingStatus.js.map +1 -1
  849. package/lib/esm/core-react/loading/LoadingStatus.scss +20 -20
  850. package/lib/esm/core-react/loading/Spinner.d.ts +37 -37
  851. package/lib/esm/core-react/loading/Spinner.js +56 -56
  852. package/lib/esm/core-react/loading/Spinner.js.map +1 -1
  853. package/lib/esm/core-react/loading/Spinner.scss +26 -26
  854. package/lib/esm/core-react/loading/index.scss +5 -5
  855. package/lib/esm/core-react/loading/mixins.scss +57 -57
  856. package/lib/esm/core-react/messagebox/MessageBox.d.ts +64 -64
  857. package/lib/esm/core-react/messagebox/MessageBox.js +65 -65
  858. package/lib/esm/core-react/messagebox/MessageBox.js.map +1 -1
  859. package/lib/esm/core-react/messagebox/MessageBox.scss +46 -46
  860. package/lib/esm/core-react/messagebox/MessageSeverity.d.ts +15 -15
  861. package/lib/esm/core-react/messagebox/MessageSeverity.js +20 -20
  862. package/lib/esm/core-react/messagebox/MessageSeverity.js.map +1 -1
  863. package/lib/esm/core-react/notification/MessageRenderer.d.ts +19 -19
  864. package/lib/esm/core-react/notification/MessageRenderer.js +77 -77
  865. package/lib/esm/core-react/notification/MessageRenderer.js.map +1 -1
  866. package/lib/esm/core-react/notification/MessageType.d.ts +22 -22
  867. package/lib/esm/core-react/notification/MessageType.js +19 -19
  868. package/lib/esm/core-react/notification/MessageType.js.map +1 -1
  869. package/lib/esm/core-react/popup/Popup.d.ts +109 -109
  870. package/lib/esm/core-react/popup/Popup.js +415 -415
  871. package/lib/esm/core-react/popup/Popup.js.map +1 -1
  872. package/lib/esm/core-react/popup/Popup.scss +240 -240
  873. package/lib/esm/core-react/progress-indicators/ProgressBar.d.ts +28 -28
  874. package/lib/esm/core-react/progress-indicators/ProgressBar.js +43 -43
  875. package/lib/esm/core-react/progress-indicators/ProgressBar.js.map +1 -1
  876. package/lib/esm/core-react/progress-indicators/ProgressSpinner.d.ts +48 -48
  877. package/lib/esm/core-react/progress-indicators/ProgressSpinner.js +69 -69
  878. package/lib/esm/core-react/progress-indicators/ProgressSpinner.js.map +1 -1
  879. package/lib/esm/core-react/progress-indicators/classes.scss +33 -33
  880. package/lib/esm/core-react/progress-indicators/index.scss +6 -6
  881. package/lib/esm/core-react/progress-indicators/progress-bar.scss +91 -91
  882. package/lib/esm/core-react/progress-indicators/progress-spinner.scss +132 -132
  883. package/lib/esm/core-react/radialmenu/Annulus.d.ts +54 -54
  884. package/lib/esm/core-react/radialmenu/Annulus.js +75 -75
  885. package/lib/esm/core-react/radialmenu/Annulus.js.map +1 -1
  886. package/lib/esm/core-react/radialmenu/RadialMenu.d.ts +93 -93
  887. package/lib/esm/core-react/radialmenu/RadialMenu.js +174 -174
  888. package/lib/esm/core-react/radialmenu/RadialMenu.js.map +1 -1
  889. package/lib/esm/core-react/radialmenu/RadialMenu.scss +56 -56
  890. package/lib/esm/core-react/radio/Radio.d.ts +19 -19
  891. package/lib/esm/core-react/radio/Radio.js +23 -23
  892. package/lib/esm/core-react/radio/Radio.js.map +1 -1
  893. package/lib/esm/core-react/radio/classes.scss +7 -7
  894. package/lib/esm/core-react/radio/index.scss +8 -8
  895. package/lib/esm/core-react/radio/radio.scss +89 -89
  896. package/lib/esm/core-react/searchbox/SearchBox.d.ts +52 -52
  897. package/lib/esm/core-react/searchbox/SearchBox.js +105 -105
  898. package/lib/esm/core-react/searchbox/SearchBox.js.map +1 -1
  899. package/lib/esm/core-react/searchbox/SearchBox.scss +53 -53
  900. package/lib/esm/core-react/select/LabeledSelect.d.ts +19 -19
  901. package/lib/esm/core-react/select/LabeledSelect.js +29 -29
  902. package/lib/esm/core-react/select/LabeledSelect.js.map +1 -1
  903. package/lib/esm/core-react/select/LabeledThemedSelect.d.ts +15 -15
  904. package/lib/esm/core-react/select/LabeledThemedSelect.js +26 -26
  905. package/lib/esm/core-react/select/LabeledThemedSelect.js.map +1 -1
  906. package/lib/esm/core-react/select/Select.d.ts +52 -52
  907. package/lib/esm/core-react/select/Select.js +56 -56
  908. package/lib/esm/core-react/select/Select.js.map +1 -1
  909. package/lib/esm/core-react/select/ThemedSelect.d.ts +103 -103
  910. package/lib/esm/core-react/select/ThemedSelect.js +52 -52
  911. package/lib/esm/core-react/select/ThemedSelect.js.map +1 -1
  912. package/lib/esm/core-react/select/classes.scss +9 -9
  913. package/lib/esm/core-react/select/index.scss +10 -10
  914. package/lib/esm/core-react/select/labeled-select.scss +72 -72
  915. package/lib/esm/core-react/select/labeled-themed-select.scss +77 -77
  916. package/lib/esm/core-react/select/modalHelper.d.ts +4 -4
  917. package/lib/esm/core-react/select/modalHelper.js +16 -16
  918. package/lib/esm/core-react/select/modalHelper.js.map +1 -1
  919. package/lib/esm/core-react/select/select.scss +73 -73
  920. package/lib/esm/core-react/select/themed-select.scss +159 -159
  921. package/lib/esm/core-react/settings/SettingsContainer.d.ts +30 -30
  922. package/lib/esm/core-react/settings/SettingsContainer.js +115 -115
  923. package/lib/esm/core-react/settings/SettingsContainer.js.map +1 -1
  924. package/lib/esm/core-react/settings/SettingsContainer.scss +64 -64
  925. package/lib/esm/core-react/settings/SettingsManager.d.ts +132 -132
  926. package/lib/esm/core-react/settings/SettingsManager.js +113 -113
  927. package/lib/esm/core-react/settings/SettingsManager.js.map +1 -1
  928. package/lib/esm/core-react/slider/Slider.d.ts +79 -79
  929. package/lib/esm/core-react/slider/Slider.js +86 -86
  930. package/lib/esm/core-react/slider/Slider.js.map +1 -1
  931. package/lib/esm/core-react/slider/Slider.scss +96 -96
  932. package/lib/esm/core-react/splitbutton/SplitButton.d.ts +61 -61
  933. package/lib/esm/core-react/splitbutton/SplitButton.js +99 -99
  934. package/lib/esm/core-react/splitbutton/SplitButton.js.map +1 -1
  935. package/lib/esm/core-react/splitbutton/SplitButton.scss +137 -137
  936. package/lib/esm/core-react/style/baseline.scss +13 -13
  937. package/lib/esm/core-react/style/breakpoints.scss +41 -41
  938. package/lib/esm/core-react/style/colors.scss +77 -77
  939. package/lib/esm/core-react/style/data-viz.scss +23 -23
  940. package/lib/esm/core-react/style/index.scss +17 -17
  941. package/lib/esm/core-react/style/itwinui-overrides.scss +24 -24
  942. package/lib/esm/core-react/style/mixins.scss +28 -28
  943. package/lib/esm/core-react/style/opacity.scss +17 -17
  944. package/lib/esm/core-react/style/space.scss +17 -17
  945. package/lib/esm/core-react/style/speed.scss +13 -13
  946. package/lib/esm/core-react/style/themecolors.scss +129 -129
  947. package/lib/esm/core-react/style/typography.scss +43 -43
  948. package/lib/esm/core-react/style/variables.scss +13 -13
  949. package/lib/esm/core-react/tabs/HorizontalTabs.d.ts +10 -10
  950. package/lib/esm/core-react/tabs/HorizontalTabs.js +17 -17
  951. package/lib/esm/core-react/tabs/HorizontalTabs.js.map +1 -1
  952. package/lib/esm/core-react/tabs/Tabs.d.ts +71 -71
  953. package/lib/esm/core-react/tabs/Tabs.js +121 -121
  954. package/lib/esm/core-react/tabs/Tabs.js.map +1 -1
  955. package/lib/esm/core-react/tabs/VerticalTabs.d.ts +9 -9
  956. package/lib/esm/core-react/tabs/VerticalTabs.js +16 -16
  957. package/lib/esm/core-react/tabs/VerticalTabs.js.map +1 -1
  958. package/lib/esm/core-react/tabs/classes.scss +8 -8
  959. package/lib/esm/core-react/tabs/horizontal.scss +77 -77
  960. package/lib/esm/core-react/tabs/index.scss +6 -6
  961. package/lib/esm/core-react/tabs/tabs.scss +117 -117
  962. package/lib/esm/core-react/tabs/vertical.scss +64 -64
  963. package/lib/esm/core-react/text/BlockText.d.ts +9 -9
  964. package/lib/esm/core-react/text/BlockText.js +15 -15
  965. package/lib/esm/core-react/text/BlockText.js.map +1 -1
  966. package/lib/esm/core-react/text/BodyText.d.ts +9 -9
  967. package/lib/esm/core-react/text/BodyText.js +15 -15
  968. package/lib/esm/core-react/text/BodyText.js.map +1 -1
  969. package/lib/esm/core-react/text/DisabledText.d.ts +6 -6
  970. package/lib/esm/core-react/text/DisabledText.js +15 -15
  971. package/lib/esm/core-react/text/DisabledText.js.map +1 -1
  972. package/lib/esm/core-react/text/FilteredText.d.ts +24 -24
  973. package/lib/esm/core-react/text/FilteredText.js +36 -36
  974. package/lib/esm/core-react/text/FilteredText.js.map +1 -1
  975. package/lib/esm/core-react/text/FilteredText.scss +10 -10
  976. package/lib/esm/core-react/text/Headline.d.ts +10 -10
  977. package/lib/esm/core-react/text/Headline.js +16 -16
  978. package/lib/esm/core-react/text/Headline.js.map +1 -1
  979. package/lib/esm/core-react/text/LeadingText.d.ts +10 -10
  980. package/lib/esm/core-react/text/LeadingText.js +16 -16
  981. package/lib/esm/core-react/text/LeadingText.js.map +1 -1
  982. package/lib/esm/core-react/text/LeadingText2.d.ts +10 -10
  983. package/lib/esm/core-react/text/LeadingText2.js +16 -16
  984. package/lib/esm/core-react/text/LeadingText2.js.map +1 -1
  985. package/lib/esm/core-react/text/MutedText.d.ts +9 -9
  986. package/lib/esm/core-react/text/MutedText.js +15 -15
  987. package/lib/esm/core-react/text/MutedText.js.map +1 -1
  988. package/lib/esm/core-react/text/SmallText.d.ts +10 -10
  989. package/lib/esm/core-react/text/SmallText.js +16 -16
  990. package/lib/esm/core-react/text/SmallText.js.map +1 -1
  991. package/lib/esm/core-react/text/StyledText.d.ts +16 -16
  992. package/lib/esm/core-react/text/StyledText.js +16 -16
  993. package/lib/esm/core-react/text/StyledText.js.map +1 -1
  994. package/lib/esm/core-react/text/Subheading.d.ts +10 -10
  995. package/lib/esm/core-react/text/Subheading.js +16 -16
  996. package/lib/esm/core-react/text/Subheading.js.map +1 -1
  997. package/lib/esm/core-react/text/Subheading2.d.ts +10 -10
  998. package/lib/esm/core-react/text/Subheading2.js +16 -16
  999. package/lib/esm/core-react/text/Subheading2.js.map +1 -1
  1000. package/lib/esm/core-react/text/TextProps.d.ts +10 -10
  1001. package/lib/esm/core-react/text/TextProps.js +8 -8
  1002. package/lib/esm/core-react/text/TextProps.js.map +1 -1
  1003. package/lib/esm/core-react/text/Title.d.ts +10 -10
  1004. package/lib/esm/core-react/text/Title.js +16 -16
  1005. package/lib/esm/core-react/text/Title.js.map +1 -1
  1006. package/lib/esm/core-react/text/Title2.d.ts +10 -10
  1007. package/lib/esm/core-react/text/Title2.js +16 -16
  1008. package/lib/esm/core-react/text/Title2.js.map +1 -1
  1009. package/lib/esm/core-react/text/block.scss +10 -10
  1010. package/lib/esm/core-react/text/body.scss +10 -10
  1011. package/lib/esm/core-react/text/classes.scss +18 -18
  1012. package/lib/esm/core-react/text/disabled.scss +10 -10
  1013. package/lib/esm/core-react/text/headline.scss +10 -10
  1014. package/lib/esm/core-react/text/index.scss +18 -18
  1015. package/lib/esm/core-react/text/leading-2.scss +11 -11
  1016. package/lib/esm/core-react/text/leading.scss +10 -10
  1017. package/lib/esm/core-react/text/mixins.scss +62 -62
  1018. package/lib/esm/core-react/text/muted.scss +10 -10
  1019. package/lib/esm/core-react/text/small.scss +10 -10
  1020. package/lib/esm/core-react/text/subheading-2.scss +11 -11
  1021. package/lib/esm/core-react/text/subheading.scss +11 -11
  1022. package/lib/esm/core-react/text/title-2.scss +11 -11
  1023. package/lib/esm/core-react/text/title.scss +10 -10
  1024. package/lib/esm/core-react/tiles/FeaturedTile.d.ts +10 -10
  1025. package/lib/esm/core-react/tiles/FeaturedTile.js +16 -16
  1026. package/lib/esm/core-react/tiles/FeaturedTile.js.map +1 -1
  1027. package/lib/esm/core-react/tiles/MinimalFeaturedTile.d.ts +10 -10
  1028. package/lib/esm/core-react/tiles/MinimalFeaturedTile.js +16 -16
  1029. package/lib/esm/core-react/tiles/MinimalFeaturedTile.js.map +1 -1
  1030. package/lib/esm/core-react/tiles/MinimalTile.d.ts +10 -10
  1031. package/lib/esm/core-react/tiles/MinimalTile.js +16 -16
  1032. package/lib/esm/core-react/tiles/MinimalTile.js.map +1 -1
  1033. package/lib/esm/core-react/tiles/Tile.d.ts +31 -31
  1034. package/lib/esm/core-react/tiles/Tile.js +35 -35
  1035. package/lib/esm/core-react/tiles/Tile.js.map +1 -1
  1036. package/lib/esm/core-react/tiles/classes.scss +7 -7
  1037. package/lib/esm/core-react/tiles/index.scss +5 -5
  1038. package/lib/esm/core-react/tiles/tile.scss +134 -134
  1039. package/lib/esm/core-react/toggle/LabeledToggle.d.ts +25 -25
  1040. package/lib/esm/core-react/toggle/LabeledToggle.js +24 -24
  1041. package/lib/esm/core-react/toggle/LabeledToggle.js.map +1 -1
  1042. package/lib/esm/core-react/toggle/LabeledToggle.scss +21 -21
  1043. package/lib/esm/core-react/toggle/Toggle.d.ts +51 -51
  1044. package/lib/esm/core-react/toggle/Toggle.js +101 -101
  1045. package/lib/esm/core-react/toggle/Toggle.js.map +1 -1
  1046. package/lib/esm/core-react/toggle/Toggle.scss +135 -135
  1047. package/lib/esm/core-react/tooltip/Tooltip.d.ts +33 -33
  1048. package/lib/esm/core-react/tooltip/Tooltip.js +51 -51
  1049. package/lib/esm/core-react/tooltip/Tooltip.js.map +1 -1
  1050. package/lib/esm/core-react/tooltip/Tooltip.scss +18 -18
  1051. package/lib/esm/core-react/tree/Branch.d.ts +19 -19
  1052. package/lib/esm/core-react/tree/Branch.js +19 -19
  1053. package/lib/esm/core-react/tree/Branch.js.map +1 -1
  1054. package/lib/esm/core-react/tree/Branch.scss +12 -12
  1055. package/lib/esm/core-react/tree/ExpansionToggle.d.ts +20 -20
  1056. package/lib/esm/core-react/tree/ExpansionToggle.js +24 -24
  1057. package/lib/esm/core-react/tree/ExpansionToggle.js.map +1 -1
  1058. package/lib/esm/core-react/tree/ExpansionToggle.scss +28 -28
  1059. package/lib/esm/core-react/tree/Node.d.ts +79 -79
  1060. package/lib/esm/core-react/tree/Node.js +84 -84
  1061. package/lib/esm/core-react/tree/Node.js.map +1 -1
  1062. package/lib/esm/core-react/tree/Node.scss +84 -84
  1063. package/lib/esm/core-react/tree/Placeholder.d.ts +22 -22
  1064. package/lib/esm/core-react/tree/Placeholder.js +27 -27
  1065. package/lib/esm/core-react/tree/Placeholder.js.map +1 -1
  1066. package/lib/esm/core-react/tree/Placeholder.scss +20 -20
  1067. package/lib/esm/core-react/tree/Tree.d.ts +28 -28
  1068. package/lib/esm/core-react/tree/Tree.js +96 -96
  1069. package/lib/esm/core-react/tree/Tree.js.map +1 -1
  1070. package/lib/esm/core-react/tree/Tree.scss +21 -21
  1071. package/lib/esm/core-react/uistate/LocalStateStorage.d.ts +16 -16
  1072. package/lib/esm/core-react/uistate/LocalStateStorage.js +45 -45
  1073. package/lib/esm/core-react/uistate/LocalStateStorage.js.map +1 -1
  1074. package/lib/esm/core-react/uistate/UiStateEntry.d.ts +30 -30
  1075. package/lib/esm/core-react/uistate/UiStateEntry.js +55 -55
  1076. package/lib/esm/core-react/uistate/UiStateEntry.js.map +1 -1
  1077. package/lib/esm/core-react/uistate/UiStateStorage.d.ts +28 -28
  1078. package/lib/esm/core-react/uistate/UiStateStorage.js +18 -18
  1079. package/lib/esm/core-react/uistate/UiStateStorage.js.map +1 -1
  1080. package/lib/esm/core-react/utils/IconHelper.d.ts +23 -23
  1081. package/lib/esm/core-react/utils/IconHelper.js +58 -58
  1082. package/lib/esm/core-react/utils/IconHelper.js.map +1 -1
  1083. package/lib/esm/core-react/utils/IconWebComponent.d.ts +10 -10
  1084. package/lib/esm/core-react/utils/IconWebComponent.js +68 -68
  1085. package/lib/esm/core-react/utils/IconWebComponent.js.map +1 -1
  1086. package/lib/esm/core-react/utils/Point.d.ts +37 -37
  1087. package/lib/esm/core-react/utils/Point.js +69 -69
  1088. package/lib/esm/core-react/utils/Point.js.map +1 -1
  1089. package/lib/esm/core-react/utils/PointProps.d.ts +11 -11
  1090. package/lib/esm/core-react/utils/PointProps.js +8 -8
  1091. package/lib/esm/core-react/utils/PointProps.js.map +1 -1
  1092. package/lib/esm/core-react/utils/Props.d.ts +38 -38
  1093. package/lib/esm/core-react/utils/Props.js +8 -8
  1094. package/lib/esm/core-react/utils/Props.js.map +1 -1
  1095. package/lib/esm/core-react/utils/Rectangle.d.ts +144 -144
  1096. package/lib/esm/core-react/utils/Rectangle.js +266 -266
  1097. package/lib/esm/core-react/utils/Rectangle.js.map +1 -1
  1098. package/lib/esm/core-react/utils/ScrollPositionMaintainer.d.ts +23 -23
  1099. package/lib/esm/core-react/utils/ScrollPositionMaintainer.js +32 -32
  1100. package/lib/esm/core-react/utils/ScrollPositionMaintainer.js.map +1 -1
  1101. package/lib/esm/core-react/utils/Size.d.ts +23 -23
  1102. package/lib/esm/core-react/utils/Size.js +28 -28
  1103. package/lib/esm/core-react/utils/Size.js.map +1 -1
  1104. package/lib/esm/core-react/utils/Timer.d.ts +35 -35
  1105. package/lib/esm/core-react/utils/Timer.js +60 -60
  1106. package/lib/esm/core-react/utils/Timer.js.map +1 -1
  1107. package/lib/esm/core-react/utils/UiEvent.d.ts +9 -9
  1108. package/lib/esm/core-react/utils/UiEvent.js +13 -13
  1109. package/lib/esm/core-react/utils/UiEvent.js.map +1 -1
  1110. package/lib/esm/core-react/utils/UiGeometry.d.ts +20 -20
  1111. package/lib/esm/core-react/utils/UiGeometry.js +24 -24
  1112. package/lib/esm/core-react/utils/UiGeometry.js.map +1 -1
  1113. package/lib/esm/core-react/utils/flattenChildren.d.ts +8 -8
  1114. package/lib/esm/core-react/utils/flattenChildren.js +23 -23
  1115. package/lib/esm/core-react/utils/flattenChildren.js.map +1 -1
  1116. package/lib/esm/core-react/utils/getBestBWContrastColor.d.ts +7 -7
  1117. package/lib/esm/core-react/utils/getBestBWContrastColor.js +18 -18
  1118. package/lib/esm/core-react/utils/getBestBWContrastColor.js.map +1 -1
  1119. package/lib/esm/core-react/utils/getCssVariable.d.ts +11 -11
  1120. package/lib/esm/core-react/utils/getCssVariable.js +26 -26
  1121. package/lib/esm/core-react/utils/getCssVariable.js.map +1 -1
  1122. package/lib/esm/core-react/utils/getDisplayName.d.ts +8 -8
  1123. package/lib/esm/core-react/utils/getDisplayName.js +17 -17
  1124. package/lib/esm/core-react/utils/getDisplayName.js.map +1 -1
  1125. package/lib/esm/core-react/utils/getUserColor.d.ts +7 -7
  1126. package/lib/esm/core-react/utils/getUserColor.js +34 -34
  1127. package/lib/esm/core-react/utils/getUserColor.js.map +1 -1
  1128. package/lib/esm/core-react/utils/hooks/ResizeObserverPolyfill.d.ts +4 -4
  1129. package/lib/esm/core-react/utils/hooks/ResizeObserverPolyfill.js +16 -16
  1130. package/lib/esm/core-react/utils/hooks/ResizeObserverPolyfill.js.map +1 -1
  1131. package/lib/esm/core-react/utils/hooks/useCrossOriginPopup.d.ts +7 -7
  1132. package/lib/esm/core-react/utils/hooks/useCrossOriginPopup.js +85 -85
  1133. package/lib/esm/core-react/utils/hooks/useCrossOriginPopup.js.map +1 -1
  1134. package/lib/esm/core-react/utils/hooks/useDisposable.d.ts +17 -17
  1135. package/lib/esm/core-react/utils/hooks/useDisposable.js +33 -33
  1136. package/lib/esm/core-react/utils/hooks/useDisposable.js.map +1 -1
  1137. package/lib/esm/core-react/utils/hooks/useEffectSkipFirst.d.ts +8 -8
  1138. package/lib/esm/core-react/utils/hooks/useEffectSkipFirst.js +22 -22
  1139. package/lib/esm/core-react/utils/hooks/useEffectSkipFirst.js.map +1 -1
  1140. package/lib/esm/core-react/utils/hooks/useEventListener.d.ts +11 -11
  1141. package/lib/esm/core-react/utils/hooks/useEventListener.js +39 -39
  1142. package/lib/esm/core-react/utils/hooks/useEventListener.js.map +1 -1
  1143. package/lib/esm/core-react/utils/hooks/useInterval.d.ts +5 -5
  1144. package/lib/esm/core-react/utils/hooks/useInterval.js +32 -32
  1145. package/lib/esm/core-react/utils/hooks/useInterval.js.map +1 -1
  1146. package/lib/esm/core-react/utils/hooks/useLifecycleLogging.d.ts +5 -5
  1147. package/lib/esm/core-react/utils/hooks/useLifecycleLogging.js +60 -60
  1148. package/lib/esm/core-react/utils/hooks/useLifecycleLogging.js.map +1 -1
  1149. package/lib/esm/core-react/utils/hooks/useOnOutsideClick.d.ts +12 -12
  1150. package/lib/esm/core-react/utils/hooks/useOnOutsideClick.js +88 -88
  1151. package/lib/esm/core-react/utils/hooks/useOnOutsideClick.js.map +1 -1
  1152. package/lib/esm/core-react/utils/hooks/useProximityToMouse.d.ts +55 -55
  1153. package/lib/esm/core-react/utils/hooks/useProximityToMouse.js +102 -102
  1154. package/lib/esm/core-react/utils/hooks/useProximityToMouse.js.map +1 -1
  1155. package/lib/esm/core-react/utils/hooks/useRefEffect.d.ts +7 -7
  1156. package/lib/esm/core-react/utils/hooks/useRefEffect.js +19 -19
  1157. package/lib/esm/core-react/utils/hooks/useRefEffect.js.map +1 -1
  1158. package/lib/esm/core-react/utils/hooks/useRefState.d.ts +21 -21
  1159. package/lib/esm/core-react/utils/hooks/useRefState.js +31 -31
  1160. package/lib/esm/core-react/utils/hooks/useRefState.js.map +1 -1
  1161. package/lib/esm/core-react/utils/hooks/useRefs.d.ts +12 -12
  1162. package/lib/esm/core-react/utils/hooks/useRefs.js +48 -48
  1163. package/lib/esm/core-react/utils/hooks/useRefs.js.map +1 -1
  1164. package/lib/esm/core-react/utils/hooks/useResizeObserver.d.ts +39 -39
  1165. package/lib/esm/core-react/utils/hooks/useResizeObserver.js +201 -201
  1166. package/lib/esm/core-react/utils/hooks/useResizeObserver.js.map +1 -1
  1167. package/lib/esm/core-react/utils/hooks/useTargeted.d.ts +8 -8
  1168. package/lib/esm/core-react/utils/hooks/useTargeted.js +24 -24
  1169. package/lib/esm/core-react/utils/hooks/useTargeted.js.map +1 -1
  1170. package/lib/esm/core-react/utils/hooks/useThrottledFn.d.ts +15 -15
  1171. package/lib/esm/core-react/utils/hooks/useThrottledFn.js +21 -21
  1172. package/lib/esm/core-react/utils/hooks/useThrottledFn.js.map +1 -1
  1173. package/lib/esm/core-react/utils/hooks/useWidgetOpacityContext.d.ts +20 -20
  1174. package/lib/esm/core-react/utils/hooks/useWidgetOpacityContext.js +23 -23
  1175. package/lib/esm/core-react/utils/hooks/useWidgetOpacityContext.js.map +1 -1
  1176. package/lib/esm/core-react/utils/isPromiseLike.d.ts +7 -7
  1177. package/lib/esm/core-react/utils/isPromiseLike.js +13 -13
  1178. package/lib/esm/core-react/utils/isPromiseLike.js.map +1 -1
  1179. package/lib/esm/core-react/utils/shallowDiffers.d.ts +11 -11
  1180. package/lib/esm/core-react/utils/shallowDiffers.js +25 -25
  1181. package/lib/esm/core-react/utils/shallowDiffers.js.map +1 -1
  1182. package/lib/esm/core-react/utils/typeUtils.d.ts +7 -7
  1183. package/lib/esm/core-react/utils/typeUtils.js +8 -8
  1184. package/lib/esm/core-react/utils/typeUtils.js.map +1 -1
  1185. package/lib/esm/core-react.d.ts +275 -275
  1186. package/lib/esm/core-react.js +280 -280
  1187. package/lib/esm/core-react.js.map +1 -1
  1188. package/lib/public/locales/en/UiCore.json +30 -30
  1189. package/package.json +9 -9
@@ -1,192 +1,192 @@
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
- /** @packageDocumentation
6
- * @module Popup
7
- */
8
- import * as React from "react";
9
- import { Logger } from "@itwin/core-bentley";
10
- import { UiCore } from "../UiCore";
11
- // cSpell:ignore focusable
12
- function isFocusable(element) {
13
- if (!element || element.tabIndex < 0)
14
- return false;
15
- if (element.classList && element.classList.contains("core-focus-trap-ignore-initial"))
16
- return false;
17
- if (element.getAttribute && (typeof element.getAttribute === "function") && element.getAttribute("disabled") !== null)
18
- return false;
19
- if (element.tabIndex > 0 || (element.tabIndex === 0 && element.getAttribute("tabIndex") !== null))
20
- return true;
21
- switch (element.nodeName) {
22
- case "A":
23
- const anchorElement = element;
24
- return !!anchorElement.href && anchorElement.rel !== "ignore";
25
- case "INPUT":
26
- const inputElement = element;
27
- return inputElement.type !== "hidden" && inputElement.type !== "file";
28
- case "BUTTON":
29
- case "SELECT":
30
- case "TEXTAREA":
31
- return true;
32
- default:
33
- return false;
34
- }
35
- }
36
- function processFindFocusableDescendant(element) {
37
- // istanbul ignore next
38
- if (!element)
39
- return null;
40
- for (const child of element.childNodes) {
41
- // istanbul ignore else
42
- if (isFocusable(child))
43
- return child;
44
- const focusable = processFindFocusableDescendant(child);
45
- if (focusable)
46
- return focusable;
47
- }
48
- return null;
49
- }
50
- function findFirstFocusableDescendant(focusContainer) {
51
- return processFindFocusableDescendant(focusContainer);
52
- }
53
- function processFindLastFocusableDescendant(element) {
54
- for (let i = element.childNodes.length - 1; i >= 0; i--) {
55
- const child = element.childNodes[i];
56
- const focusable = processFindLastFocusableDescendant(child);
57
- // istanbul ignore else
58
- if (focusable)
59
- return focusable;
60
- // istanbul ignore else
61
- if (isFocusable(child))
62
- return child;
63
- }
64
- return null;
65
- }
66
- function findLastFocusableDescendant(focusContainer) {
67
- return processFindLastFocusableDescendant(focusContainer);
68
- }
69
- function getInitialFocusElement(focusContainer, initialFocusSpec) {
70
- // istanbul ignore next
71
- if (!focusContainer)
72
- return null;
73
- if (initialFocusSpec) {
74
- if (typeof initialFocusSpec === "string") {
75
- const node = focusContainer.querySelector(initialFocusSpec);
76
- if (node) {
77
- return node;
78
- }
79
- else {
80
- Logger.logError(`${UiCore.packageName}.FocusTrap`, `Unable to locate element via selector ${initialFocusSpec}`);
81
- }
82
- }
83
- else {
84
- return initialFocusSpec.current;
85
- }
86
- }
87
- return findFirstFocusableDescendant(focusContainer);
88
- }
89
- function attemptFocus(element, preventScroll) {
90
- // istanbul ignore next
91
- if (!isFocusable(element))
92
- return false;
93
- try {
94
- // istanbul ignore else
95
- if (document.activeElement !== element)
96
- element.focus({ preventScroll: preventScroll ? true : /* istanbul ignore next */ false });
97
- }
98
- catch (e) {
99
- // istanbul ignore next
100
- return false;
101
- }
102
- return (document.activeElement === element);
103
- } // end attemptFocus
104
- /** Focus into first focusable element of a container.
105
- * @internal
106
- */
107
- export function focusIntoContainer(focusContainer, initialFocusElement) {
108
- let result = false;
109
- const focusElement = getInitialFocusElement(focusContainer, initialFocusElement);
110
- if (focusElement) {
111
- // delay setting focus immediately because in some browsers other focus events happen when popup is initially opened.
112
- setTimeout(() => {
113
- attemptFocus(focusElement, true);
114
- }, 60);
115
- result = true;
116
- }
117
- return result;
118
- }
119
- /** Trap Focus in container while trap is active.
120
- * @internal
121
- */
122
- export function FocusTrap(props) {
123
- const restoreFocusElement = React.useRef(null);
124
- const initialFocusElement = React.useRef(null);
125
- const focusContainer = React.useRef(null);
126
- const isInitialMount = React.useRef(true);
127
- const timeoutRef = React.useRef();
128
- // Run on initial mount and when dependencies change. which could happen often.
129
- React.useEffect(() => {
130
- // istanbul ignore else
131
- if (isInitialMount.current) {
132
- isInitialMount.current = false;
133
- if (props.active) {
134
- if (props.returnFocusOnDeactivate) {
135
- restoreFocusElement.current = document.activeElement;
136
- }
137
- initialFocusElement.current = getInitialFocusElement(focusContainer.current, props.initialFocusElement);
138
- if (initialFocusElement.current) {
139
- // delay setting focus immediately because in some browsers other focus events happen when popup is initially opened.
140
- timeoutRef.current = window.setTimeout(() => {
141
- attemptFocus(initialFocusElement.current, true);
142
- }, 60);
143
- }
144
- }
145
- }
146
- }, [props.children, props.initialFocusElement, props.active, props.returnFocusOnDeactivate]);
147
- // Return function to run only when FocusTrap is unmounted to restore focus
148
- React.useEffect(() => {
149
- return () => {
150
- window.clearTimeout(timeoutRef.current);
151
- if (restoreFocusElement.current)
152
- restoreFocusElement.current.focus({ preventScroll: true });
153
- };
154
- }, []);
155
- // this is hit if Shift tab is used.
156
- const cycleFocusToEnd = React.useCallback((event) => {
157
- // istanbul ignore next
158
- if (!props.active)
159
- return;
160
- if (focusContainer.current && event.target === focusContainer.current) {
161
- event.stopPropagation();
162
- event.preventDefault();
163
- const focusable = findLastFocusableDescendant(focusContainer.current);
164
- // istanbul ignore else
165
- if (focusable) {
166
- focusable.focus();
167
- }
168
- else {
169
- if (initialFocusElement.current && initialFocusElement.current !== document.activeElement)
170
- attemptFocus(initialFocusElement.current, true);
171
- }
172
- }
173
- }, [props.active]);
174
- // this is hit if tab is used on last focusable item in child container.
175
- const cycleFocusToStart = React.useCallback((event) => {
176
- // istanbul ignore next
177
- if (!props.active)
178
- return;
179
- event.stopPropagation();
180
- // istanbul ignore else
181
- if (initialFocusElement.current && initialFocusElement.current !== document.activeElement)
182
- initialFocusElement.current.focus();
183
- }, [props.active]);
184
- if (!props.children)
185
- return null;
186
- return (React.createElement(React.Fragment, null,
187
- React.createElement("div", { "data-testid": "focus-trap-div", onFocus: cycleFocusToEnd, ref: focusContainer, tabIndex: 0,
188
- // eslint-disable-next-line @typescript-eslint/naming-convention
189
- style: { outline: "none", WebkitTapHighlightColor: "rgba(0,0,0,0)" } }, props.children),
190
- React.createElement("div", { "data-testid": "focus-trap-limit-div", onFocus: cycleFocusToStart, tabIndex: 0 })));
191
- }
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
+ /** @packageDocumentation
6
+ * @module Popup
7
+ */
8
+ import * as React from "react";
9
+ import { Logger } from "@itwin/core-bentley";
10
+ import { UiCore } from "../UiCore";
11
+ // cSpell:ignore focusable
12
+ function isFocusable(element) {
13
+ if (!element || element.tabIndex < 0)
14
+ return false;
15
+ if (element.classList && element.classList.contains("core-focus-trap-ignore-initial"))
16
+ return false;
17
+ if (element.getAttribute && (typeof element.getAttribute === "function") && element.getAttribute("disabled") !== null)
18
+ return false;
19
+ if (element.tabIndex > 0 || (element.tabIndex === 0 && element.getAttribute("tabIndex") !== null))
20
+ return true;
21
+ switch (element.nodeName) {
22
+ case "A":
23
+ const anchorElement = element;
24
+ return !!anchorElement.href && anchorElement.rel !== "ignore";
25
+ case "INPUT":
26
+ const inputElement = element;
27
+ return inputElement.type !== "hidden" && inputElement.type !== "file";
28
+ case "BUTTON":
29
+ case "SELECT":
30
+ case "TEXTAREA":
31
+ return true;
32
+ default:
33
+ return false;
34
+ }
35
+ }
36
+ function processFindFocusableDescendant(element) {
37
+ // istanbul ignore next
38
+ if (!element)
39
+ return null;
40
+ for (const child of element.childNodes) {
41
+ // istanbul ignore else
42
+ if (isFocusable(child))
43
+ return child;
44
+ const focusable = processFindFocusableDescendant(child);
45
+ if (focusable)
46
+ return focusable;
47
+ }
48
+ return null;
49
+ }
50
+ function findFirstFocusableDescendant(focusContainer) {
51
+ return processFindFocusableDescendant(focusContainer);
52
+ }
53
+ function processFindLastFocusableDescendant(element) {
54
+ for (let i = element.childNodes.length - 1; i >= 0; i--) {
55
+ const child = element.childNodes[i];
56
+ const focusable = processFindLastFocusableDescendant(child);
57
+ // istanbul ignore else
58
+ if (focusable)
59
+ return focusable;
60
+ // istanbul ignore else
61
+ if (isFocusable(child))
62
+ return child;
63
+ }
64
+ return null;
65
+ }
66
+ function findLastFocusableDescendant(focusContainer) {
67
+ return processFindLastFocusableDescendant(focusContainer);
68
+ }
69
+ function getInitialFocusElement(focusContainer, initialFocusSpec) {
70
+ // istanbul ignore next
71
+ if (!focusContainer)
72
+ return null;
73
+ if (initialFocusSpec) {
74
+ if (typeof initialFocusSpec === "string") {
75
+ const node = focusContainer.querySelector(initialFocusSpec);
76
+ if (node) {
77
+ return node;
78
+ }
79
+ else {
80
+ Logger.logError(`${UiCore.packageName}.FocusTrap`, `Unable to locate element via selector ${initialFocusSpec}`);
81
+ }
82
+ }
83
+ else {
84
+ return initialFocusSpec.current;
85
+ }
86
+ }
87
+ return findFirstFocusableDescendant(focusContainer);
88
+ }
89
+ function attemptFocus(element, preventScroll) {
90
+ // istanbul ignore next
91
+ if (!isFocusable(element))
92
+ return false;
93
+ try {
94
+ // istanbul ignore else
95
+ if (document.activeElement !== element)
96
+ element.focus({ preventScroll: preventScroll ? true : /* istanbul ignore next */ false });
97
+ }
98
+ catch (e) {
99
+ // istanbul ignore next
100
+ return false;
101
+ }
102
+ return (document.activeElement === element);
103
+ } // end attemptFocus
104
+ /** Focus into first focusable element of a container.
105
+ * @internal
106
+ */
107
+ export function focusIntoContainer(focusContainer, initialFocusElement) {
108
+ let result = false;
109
+ const focusElement = getInitialFocusElement(focusContainer, initialFocusElement);
110
+ if (focusElement) {
111
+ // delay setting focus immediately because in some browsers other focus events happen when popup is initially opened.
112
+ setTimeout(() => {
113
+ attemptFocus(focusElement, true);
114
+ }, 60);
115
+ result = true;
116
+ }
117
+ return result;
118
+ }
119
+ /** Trap Focus in container while trap is active.
120
+ * @internal
121
+ */
122
+ export function FocusTrap(props) {
123
+ const restoreFocusElement = React.useRef(null);
124
+ const initialFocusElement = React.useRef(null);
125
+ const focusContainer = React.useRef(null);
126
+ const isInitialMount = React.useRef(true);
127
+ const timeoutRef = React.useRef();
128
+ // Run on initial mount and when dependencies change. which could happen often.
129
+ React.useEffect(() => {
130
+ // istanbul ignore else
131
+ if (isInitialMount.current) {
132
+ isInitialMount.current = false;
133
+ if (props.active) {
134
+ if (props.returnFocusOnDeactivate) {
135
+ restoreFocusElement.current = document.activeElement;
136
+ }
137
+ initialFocusElement.current = getInitialFocusElement(focusContainer.current, props.initialFocusElement);
138
+ if (initialFocusElement.current) {
139
+ // delay setting focus immediately because in some browsers other focus events happen when popup is initially opened.
140
+ timeoutRef.current = window.setTimeout(() => {
141
+ attemptFocus(initialFocusElement.current, true);
142
+ }, 60);
143
+ }
144
+ }
145
+ }
146
+ }, [props.children, props.initialFocusElement, props.active, props.returnFocusOnDeactivate]);
147
+ // Return function to run only when FocusTrap is unmounted to restore focus
148
+ React.useEffect(() => {
149
+ return () => {
150
+ window.clearTimeout(timeoutRef.current);
151
+ if (restoreFocusElement.current)
152
+ restoreFocusElement.current.focus({ preventScroll: true });
153
+ };
154
+ }, []);
155
+ // this is hit if Shift tab is used.
156
+ const cycleFocusToEnd = React.useCallback((event) => {
157
+ // istanbul ignore next
158
+ if (!props.active)
159
+ return;
160
+ if (focusContainer.current && event.target === focusContainer.current) {
161
+ event.stopPropagation();
162
+ event.preventDefault();
163
+ const focusable = findLastFocusableDescendant(focusContainer.current);
164
+ // istanbul ignore else
165
+ if (focusable) {
166
+ focusable.focus();
167
+ }
168
+ else {
169
+ if (initialFocusElement.current && initialFocusElement.current !== document.activeElement)
170
+ attemptFocus(initialFocusElement.current, true);
171
+ }
172
+ }
173
+ }, [props.active]);
174
+ // this is hit if tab is used on last focusable item in child container.
175
+ const cycleFocusToStart = React.useCallback((event) => {
176
+ // istanbul ignore next
177
+ if (!props.active)
178
+ return;
179
+ event.stopPropagation();
180
+ // istanbul ignore else
181
+ if (initialFocusElement.current && initialFocusElement.current !== document.activeElement)
182
+ initialFocusElement.current.focus();
183
+ }, [props.active]);
184
+ if (!props.children)
185
+ return null;
186
+ return (React.createElement(React.Fragment, null,
187
+ React.createElement("div", { "data-testid": "focus-trap-div", onFocus: cycleFocusToEnd, ref: focusContainer, tabIndex: 0,
188
+ // eslint-disable-next-line @typescript-eslint/naming-convention
189
+ style: { outline: "none", WebkitTapHighlightColor: "rgba(0,0,0,0)" } }, props.children),
190
+ React.createElement("div", { "data-testid": "focus-trap-limit-div", onFocus: cycleFocusToStart, tabIndex: 0 })));
191
+ }
192
192
  //# 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":"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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 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)\n return false;\n\n if (element.classList && element.classList.contains(\"core-focus-trap-ignore-initial\"))\n return false;\n\n if (element.getAttribute && (typeof element.getAttribute === \"function\") && element.getAttribute(\"disabled\") !== null)\n return false;\n\n if (element.tabIndex > 0 || (element.tabIndex === 0 && element.getAttribute(\"tabIndex\") !== null))\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(element: HTMLElement | null): HTMLElement | null {\n // istanbul ignore next\n if (!element)\n return null;\n\n for (const child of element.childNodes) {\n // istanbul ignore else\n if (isFocusable(child as HTMLElement))\n return child as HTMLElement;\n\n const focusable = processFindFocusableDescendant(child as HTMLElement);\n if (focusable)\n return focusable;\n }\n return null;\n}\n\nfunction findFirstFocusableDescendant(focusContainer: HTMLDivElement | null): HTMLElement | null {\n return processFindFocusableDescendant(focusContainer);\n}\n\nfunction processFindLastFocusableDescendant(element: HTMLElement): 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)\n return focusable;\n\n // istanbul ignore else\n if (isFocusable(child))\n return child;\n }\n return null;\n}\n\nfunction findLastFocusableDescendant(focusContainer: HTMLDivElement): HTMLElement | null {\n return processFindLastFocusableDescendant(focusContainer);\n}\n\nfunction getInitialFocusElement(focusContainer: HTMLDivElement | null, initialFocusSpec: React.RefObject<HTMLElement> | string | undefined): HTMLElement | null {\n // istanbul ignore next\n if (!focusContainer)\n 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(`${UiCore.packageName}.FocusTrap`, `Unable to locate element via selector ${initialFocusSpec}`);\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))\n return false;\n\n try {\n // istanbul ignore else\n if (document.activeElement !== element)\n element.focus({ preventScroll: preventScroll ? true : /* istanbul ignore next */ false });\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(focusContainer: HTMLDivElement, initialFocusElement?: React.RefObject<HTMLElement> | string): boolean {\n let result = false;\n const focusElement = getInitialFocusElement(focusContainer, initialFocusElement);\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(focusContainer.current, props.initialFocusElement);\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 }, [props.children, props.initialFocusElement, props.active, props.returnFocusOnDeactivate]);\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({ preventScroll: true });\n };\n }, []);\n\n // this is hit if Shift tab is used.\n const cycleFocusToEnd = React.useCallback((event: React.FocusEvent<HTMLDivElement>) => {\n // istanbul ignore next\n if (!props.active)\n 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 (initialFocusElement.current && initialFocusElement.current !== document.activeElement)\n attemptFocus((initialFocusElement.current as HTMLElement), true);\n }\n }\n }, [props.active]);\n\n // this is hit if tab is used on last focusable item in child container.\n const cycleFocusToStart = React.useCallback((event: React.FocusEvent<HTMLDivElement>) => {\n // istanbul ignore next\n if (!props.active)\n return;\n\n event.stopPropagation();\n // istanbul ignore else\n if (initialFocusElement.current && initialFocusElement.current !== document.activeElement)\n (initialFocusElement.current as HTMLElement).focus();\n }, [props.active]);\n\n if (!props.children)\n return null;\n return (\n <>\n {/* eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex */}\n <div data-testid=\"focus-trap-div\" onFocus={cycleFocusToEnd} ref={focusContainer} tabIndex={0}\n // eslint-disable-next-line @typescript-eslint/naming-convention\n style={{ outline: \"none\", WebkitTapHighlightColor: \"rgba(0,0,0,0)\" }}>\n {props.children}\n </div>\n {/* eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex */}\n <div data-testid=\"focus-trap-limit-div\" onFocus={cycleFocusToStart} tabIndex={0} />\n </>\n );\n}\n"]}
@@ -1,20 +1,20 @@
1
- /** @packageDocumentation
2
- * @module Form
3
- */
4
- import * as React from "react";
5
- import { FieldDef } from "./Form";
6
- /** Properties used to create a [[Field]] in a [[Form]]
7
- * @public @deprecated in 3.0. Removed Forms implementation
8
- */
9
- export interface FieldProps extends FieldDef {
10
- id: string;
11
- }
12
- /** Component that represents a single field in an input form. Only four type of editors are supported. Field gets/sets state data from/to the context control by the form.
13
- * @public @deprecated in 3.0. Removed Forms implementation
14
- */
15
- export declare class Field extends React.Component<FieldProps> {
16
- constructor(props: FieldProps);
17
- private _generateSelectOptions;
18
- render(): JSX.Element;
19
- }
1
+ /** @packageDocumentation
2
+ * @module Form
3
+ */
4
+ import * as React from "react";
5
+ import { FieldDef } from "./Form";
6
+ /** Properties used to create a [[Field]] in a [[Form]]
7
+ * @public @deprecated in 3.0. Removed Forms implementation
8
+ */
9
+ export interface FieldProps extends FieldDef {
10
+ id: string;
11
+ }
12
+ /** Component that represents a single field in an input form. Only four type of editors are supported. Field gets/sets state data from/to the context control by the form.
13
+ * @public @deprecated in 3.0. Removed Forms implementation
14
+ */
15
+ export declare class Field extends React.Component<FieldProps> {
16
+ constructor(props: FieldProps);
17
+ private _generateSelectOptions;
18
+ render(): JSX.Element;
19
+ }
20
20
  //# sourceMappingURL=Field.d.ts.map
@@ -1,41 +1,41 @@
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
- /* eslint-disable deprecation/deprecation */
6
- /** @packageDocumentation
7
- * @module Form
8
- */
9
- import * as React from "react";
10
- import { Checkbox, Input, Select, Textarea } from "@itwin/itwinui-react";
11
- import { FormContext } from "./Form";
12
- /** Component that represents a single field in an input form. Only four type of editors are supported. Field gets/sets state data from/to the context control by the form.
13
- * @public @deprecated in 3.0. Removed Forms implementation
14
- */
15
- export class Field extends React.Component {
16
- constructor(props) {
17
- super(props);
18
- this._generateSelectOptions = (propOptions) => {
19
- let selectOptions = [];
20
- if (propOptions instanceof Array) {
21
- selectOptions = propOptions.map((option) => ({ value: option, label: option }));
22
- }
23
- else if (propOptions !== undefined) {
24
- selectOptions = Object.keys(propOptions).map((key) => ({ value: key, label: propOptions[key] }));
25
- }
26
- return selectOptions;
27
- };
28
- }
29
- render() {
30
- const selectOptions = this._generateSelectOptions(this.props.options);
31
- return (React.createElement(FormContext.Consumer, null, (context) => (React.createElement("div", { className: "core-form-group" },
32
- this.props.editor.toLowerCase() !== "checkbox" && this.props.label && React.createElement("label", { className: "core-form-label", htmlFor: this.props.id }, this.props.label),
33
- this.props.editor.toLowerCase() === "textbox" && (React.createElement(Input, { id: this.props.id, value: context.values[this.props.id], onChange: (event) => context.setValues({ [this.props.id]: event.currentTarget.value }), className: "core-form-input", size: "small" })),
34
- this.props.editor.toLowerCase() === "checkbox" && (React.createElement(Checkbox, { label: this.props.label, id: this.props.id, checked: context.values[this.props.id], onChange: () => context.setValues({ [this.props.id]: !context.values[this.props.id] }) })),
35
- this.props.editor.toLowerCase() === "multilinetextbox" && (React.createElement(Textarea, { id: this.props.id, value: context.values[this.props.id], onChange: (event) => context.setValues({ [this.props.id]: event.currentTarget.value }), className: "core-form-textarea" })),
36
- this.props.editor.toLowerCase() === "dropdown" && this.props.options && (React.createElement(Select, { id: this.props.id,
37
- // name={this.props.id}
38
- value: context.values[this.props.id], onChange: (newValue) => context.setValues({ [this.props.id]: newValue }), options: selectOptions, className: "core-form-select", size: "small" }))))));
39
- }
40
- }
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
+ /* eslint-disable deprecation/deprecation */
6
+ /** @packageDocumentation
7
+ * @module Form
8
+ */
9
+ import * as React from "react";
10
+ import { Checkbox, Input, Select, Textarea } from "@itwin/itwinui-react";
11
+ import { FormContext } from "./Form";
12
+ /** Component that represents a single field in an input form. Only four type of editors are supported. Field gets/sets state data from/to the context control by the form.
13
+ * @public @deprecated in 3.0. Removed Forms implementation
14
+ */
15
+ export class Field extends React.Component {
16
+ constructor(props) {
17
+ super(props);
18
+ this._generateSelectOptions = (propOptions) => {
19
+ let selectOptions = [];
20
+ if (propOptions instanceof Array) {
21
+ selectOptions = propOptions.map((option) => ({ value: option, label: option }));
22
+ }
23
+ else if (propOptions !== undefined) {
24
+ selectOptions = Object.keys(propOptions).map((key) => ({ value: key, label: propOptions[key] }));
25
+ }
26
+ return selectOptions;
27
+ };
28
+ }
29
+ render() {
30
+ const selectOptions = this._generateSelectOptions(this.props.options);
31
+ return (React.createElement(FormContext.Consumer, null, (context) => (React.createElement("div", { className: "core-form-group" },
32
+ this.props.editor.toLowerCase() !== "checkbox" && this.props.label && React.createElement("label", { className: "core-form-label", htmlFor: this.props.id }, this.props.label),
33
+ this.props.editor.toLowerCase() === "textbox" && (React.createElement(Input, { id: this.props.id, value: context.values[this.props.id], onChange: (event) => context.setValues({ [this.props.id]: event.currentTarget.value }), className: "core-form-input", size: "small" })),
34
+ this.props.editor.toLowerCase() === "checkbox" && (React.createElement(Checkbox, { label: this.props.label, id: this.props.id, checked: context.values[this.props.id], onChange: () => context.setValues({ [this.props.id]: !context.values[this.props.id] }) })),
35
+ this.props.editor.toLowerCase() === "multilinetextbox" && (React.createElement(Textarea, { id: this.props.id, value: context.values[this.props.id], onChange: (event) => context.setValues({ [this.props.id]: event.currentTarget.value }), className: "core-form-textarea" })),
36
+ this.props.editor.toLowerCase() === "dropdown" && this.props.options && (React.createElement(Select, { id: this.props.id,
37
+ // name={this.props.id}
38
+ value: context.values[this.props.id], onChange: (newValue) => context.setValues({ [this.props.id]: newValue }), options: selectOptions, className: "core-form-select", size: "small" }))))));
39
+ }
40
+ }
41
41
  //# sourceMappingURL=Field.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Field.js","sourceRoot":"","sources":["../../../../src/core-react/form/Field.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/* eslint-disable deprecation/deprecation */\r\n/** @packageDocumentation\r\n * @module Form\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { Checkbox, Input, Select, SelectOption, Textarea } from \"@itwin/itwinui-react\";\r\nimport { FieldDef, FormContext, FormContextState } from \"./Form\";\r\n\r\n// cSpell:ignore multilinetextbox\r\n\r\n/** Properties used to create a [[Field]] in a [[Form]]\r\n * @public @deprecated in 3.0. Removed Forms implementation\r\n */\r\nexport interface FieldProps extends FieldDef {\r\n /* The unique field name */\r\n id: string;\r\n}\r\n\r\ntype FieldDefOptions = FieldDef[\"options\"];\r\n\r\n/** Component that represents a single field in an input form. Only four type of editors are supported. Field gets/sets state data from/to the context control by the form.\r\n * @public @deprecated in 3.0. Removed Forms implementation\r\n */\r\nexport class Field extends React.Component<FieldProps> {\r\n constructor(props: FieldProps) {\r\n super(props);\r\n }\r\n\r\n private _generateSelectOptions = (propOptions: FieldDefOptions): SelectOption<string>[] => {\r\n let selectOptions: SelectOption<string>[] = [];\r\n\r\n if (propOptions instanceof Array) {\r\n selectOptions = propOptions.map((option: string) => (\r\n { value: option, label: option }\r\n ));\r\n } else if (propOptions !== undefined) {\r\n selectOptions = Object.keys(propOptions).map((key) => (\r\n { value: key, label: propOptions[key] }\r\n ));\r\n }\r\n\r\n return selectOptions;\r\n };\r\n\r\n public override render() {\r\n const selectOptions = this._generateSelectOptions(this.props.options);\r\n\r\n return (\r\n <FormContext.Consumer>\r\n {(context: FormContextState | undefined) => (\r\n <div className=\"core-form-group\">\r\n {this.props.editor!.toLowerCase() !== \"checkbox\" && this.props.label && <label className=\"core-form-label\" htmlFor={this.props.id}>{this.props.label}</label>}\r\n\r\n {this.props.editor!.toLowerCase() === \"textbox\" && (\r\n <Input\r\n id={this.props.id}\r\n value={context!.values[this.props.id]}\r\n onChange={(event: React.ChangeEvent<HTMLInputElement>) => context!.setValues({ [this.props.id]: event.currentTarget.value })}\r\n className=\"core-form-input\"\r\n size=\"small\"\r\n />\r\n )}\r\n {this.props.editor!.toLowerCase() === \"checkbox\" && (\r\n <Checkbox\r\n label={this.props.label}\r\n id={this.props.id}\r\n checked={context!.values[this.props.id]}\r\n onChange={() => context!.setValues({ [this.props.id]: !context!.values[this.props.id] })}\r\n />\r\n )}\r\n {this.props.editor!.toLowerCase() === \"multilinetextbox\" && (\r\n <Textarea\r\n id={this.props.id}\r\n value={context!.values[this.props.id]}\r\n onChange={(event: React.ChangeEvent<HTMLTextAreaElement>) => context!.setValues({ [this.props.id]: event.currentTarget.value })}\r\n className=\"core-form-textarea\"\r\n />\r\n )}\r\n {this.props.editor!.toLowerCase() === \"dropdown\" && this.props.options && (\r\n <Select\r\n id={this.props.id}\r\n // name={this.props.id}\r\n value={context!.values[this.props.id]}\r\n onChange={(newValue: any) => context!.setValues({ [this.props.id]: newValue })}\r\n options={selectOptions}\r\n className=\"core-form-select\"\r\n size=\"small\"\r\n />\r\n )}\r\n </div>\r\n )}\r\n </FormContext.Consumer>\r\n );\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"Field.js","sourceRoot":"","sources":["../../../../src/core-react/form/Field.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/* eslint-disable deprecation/deprecation */\n/** @packageDocumentation\n * @module Form\n */\n\nimport * as React from \"react\";\nimport { Checkbox, Input, Select, SelectOption, Textarea } from \"@itwin/itwinui-react\";\nimport { FieldDef, FormContext, FormContextState } from \"./Form\";\n\n// cSpell:ignore multilinetextbox\n\n/** Properties used to create a [[Field]] in a [[Form]]\n * @public @deprecated in 3.0. Removed Forms implementation\n */\nexport interface FieldProps extends FieldDef {\n /* The unique field name */\n id: string;\n}\n\ntype FieldDefOptions = FieldDef[\"options\"];\n\n/** Component that represents a single field in an input form. Only four type of editors are supported. Field gets/sets state data from/to the context control by the form.\n * @public @deprecated in 3.0. Removed Forms implementation\n */\nexport class Field extends React.Component<FieldProps> {\n constructor(props: FieldProps) {\n super(props);\n }\n\n private _generateSelectOptions = (propOptions: FieldDefOptions): SelectOption<string>[] => {\n let selectOptions: SelectOption<string>[] = [];\n\n if (propOptions instanceof Array) {\n selectOptions = propOptions.map((option: string) => (\n { value: option, label: option }\n ));\n } else if (propOptions !== undefined) {\n selectOptions = Object.keys(propOptions).map((key) => (\n { value: key, label: propOptions[key] }\n ));\n }\n\n return selectOptions;\n };\n\n public override render() {\n const selectOptions = this._generateSelectOptions(this.props.options);\n\n return (\n <FormContext.Consumer>\n {(context: FormContextState | undefined) => (\n <div className=\"core-form-group\">\n {this.props.editor!.toLowerCase() !== \"checkbox\" && this.props.label && <label className=\"core-form-label\" htmlFor={this.props.id}>{this.props.label}</label>}\n\n {this.props.editor!.toLowerCase() === \"textbox\" && (\n <Input\n id={this.props.id}\n value={context!.values[this.props.id]}\n onChange={(event: React.ChangeEvent<HTMLInputElement>) => context!.setValues({ [this.props.id]: event.currentTarget.value })}\n className=\"core-form-input\"\n size=\"small\"\n />\n )}\n {this.props.editor!.toLowerCase() === \"checkbox\" && (\n <Checkbox\n label={this.props.label}\n id={this.props.id}\n checked={context!.values[this.props.id]}\n onChange={() => context!.setValues({ [this.props.id]: !context!.values[this.props.id] })}\n />\n )}\n {this.props.editor!.toLowerCase() === \"multilinetextbox\" && (\n <Textarea\n id={this.props.id}\n value={context!.values[this.props.id]}\n onChange={(event: React.ChangeEvent<HTMLTextAreaElement>) => context!.setValues({ [this.props.id]: event.currentTarget.value })}\n className=\"core-form-textarea\"\n />\n )}\n {this.props.editor!.toLowerCase() === \"dropdown\" && this.props.options && (\n <Select\n id={this.props.id}\n // name={this.props.id}\n value={context!.values[this.props.id]}\n onChange={(newValue: any) => context!.setValues({ [this.props.id]: newValue })}\n options={selectOptions}\n className=\"core-form-select\"\n size=\"small\"\n />\n )}\n </div>\n )}\n </FormContext.Consumer>\n );\n }\n}\n"]}