@itwin/core-react 3.4.0-dev.9 → 3.5.0-dev.4

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