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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (758) hide show
  1. package/CHANGELOG.md +1609 -1602
  2. package/ContributeGuidelines.md +99 -99
  3. package/LICENSE.md +9 -9
  4. package/README.md +11 -11
  5. package/lib/cjs/core-react/UiCore.d.ts.map +1 -1
  6. package/lib/cjs/core-react/UiCore.js +9 -5
  7. package/lib/cjs/core-react/UiCore.js.map +1 -1
  8. package/lib/cjs/core-react/_helpers.scss +9 -8
  9. package/lib/cjs/core-react/_scrollbar.scss +8 -4
  10. package/lib/cjs/core-react/_z-index.scss +15 -33
  11. package/lib/cjs/core-react/autosuggest/AutoSuggest.d.ts +1 -1
  12. package/lib/cjs/core-react/autosuggest/AutoSuggest.d.ts.map +1 -1
  13. package/lib/cjs/core-react/autosuggest/AutoSuggest.js +14 -15
  14. package/lib/cjs/core-react/autosuggest/AutoSuggest.js.map +1 -1
  15. package/lib/cjs/core-react/badge/Badge.d.ts +1 -1
  16. package/lib/cjs/core-react/badge/Badge.d.ts.map +1 -1
  17. package/lib/cjs/core-react/badge/Badge.js +3 -3
  18. package/lib/cjs/core-react/badge/Badge.js.map +1 -1
  19. package/lib/cjs/core-react/badge/BadgeUtilities.d.ts.map +1 -1
  20. package/lib/cjs/core-react/badge/BadgeUtilities.js +3 -3
  21. package/lib/cjs/core-react/badge/BadgeUtilities.js.map +1 -1
  22. package/lib/cjs/core-react/badge/BetaBadge.d.ts.map +1 -1
  23. package/lib/cjs/core-react/badge/BetaBadge.js +3 -3
  24. package/lib/cjs/core-react/badge/BetaBadge.js.map +1 -1
  25. package/lib/cjs/core-react/badge/NewBadge.d.ts.map +1 -1
  26. package/lib/cjs/core-react/badge/NewBadge.js +4 -4
  27. package/lib/cjs/core-react/badge/NewBadge.js.map +1 -1
  28. package/lib/cjs/core-react/base/Centered.js +3 -3
  29. package/lib/cjs/core-react/base/Centered.js.map +1 -1
  30. package/lib/cjs/core-react/base/Div.d.ts.map +1 -1
  31. package/lib/cjs/core-react/base/Div.js +3 -3
  32. package/lib/cjs/core-react/base/Div.js.map +1 -1
  33. package/lib/cjs/core-react/base/DivWithOutsideClick.d.ts.map +1 -1
  34. package/lib/cjs/core-react/base/DivWithOutsideClick.js +4 -4
  35. package/lib/cjs/core-react/base/DivWithOutsideClick.js.map +1 -1
  36. package/lib/cjs/core-react/base/FillCentered.js +3 -3
  37. package/lib/cjs/core-react/base/FillCentered.js.map +1 -1
  38. package/lib/cjs/core-react/base/FlexWrapContainer.js +3 -3
  39. package/lib/cjs/core-react/base/FlexWrapContainer.js.map +1 -1
  40. package/lib/cjs/core-react/base/Gap.d.ts.map +1 -1
  41. package/lib/cjs/core-react/base/Gap.js +4 -4
  42. package/lib/cjs/core-react/base/Gap.js.map +1 -1
  43. package/lib/cjs/core-react/base/PointerEvents.js +3 -3
  44. package/lib/cjs/core-react/base/PointerEvents.js.map +1 -1
  45. package/lib/cjs/core-react/base/ScrollView.js +3 -3
  46. package/lib/cjs/core-react/base/ScrollView.js.map +1 -1
  47. package/lib/cjs/core-react/base/classes.scss +24 -10
  48. package/lib/cjs/core-react/button/UnderlinedButton.d.ts.map +1 -1
  49. package/lib/cjs/core-react/button/UnderlinedButton.js +3 -3
  50. package/lib/cjs/core-react/button/UnderlinedButton.js.map +1 -1
  51. package/lib/cjs/core-react/button/UnderlinedButton.scss +4 -5
  52. package/lib/cjs/core-react/checklistbox/CheckListBox.d.ts.map +1 -1
  53. package/lib/cjs/core-react/checklistbox/CheckListBox.js +4 -4
  54. package/lib/cjs/core-react/checklistbox/CheckListBox.js.map +1 -1
  55. package/lib/cjs/core-react/checklistbox/CheckListBox.scss +4 -4
  56. package/lib/cjs/core-react/contextmenu/ContextMenu.d.ts +7 -7
  57. package/lib/cjs/core-react/contextmenu/ContextMenu.d.ts.map +1 -1
  58. package/lib/cjs/core-react/contextmenu/ContextMenu.js +42 -23
  59. package/lib/cjs/core-react/contextmenu/ContextMenu.js.map +1 -1
  60. package/lib/cjs/core-react/contextmenu/ContextMenuDirection.d.ts.map +1 -1
  61. package/lib/cjs/core-react/contextmenu/ContextMenuDirection.js +3 -3
  62. package/lib/cjs/core-react/contextmenu/ContextMenuDirection.js.map +1 -1
  63. package/lib/cjs/core-react/contextmenu/ContextMenuDivider.d.ts +1 -1
  64. package/lib/cjs/core-react/contextmenu/ContextMenuDivider.d.ts.map +1 -1
  65. package/lib/cjs/core-react/contextmenu/ContextMenuDivider.js +3 -3
  66. package/lib/cjs/core-react/contextmenu/ContextMenuDivider.js.map +1 -1
  67. package/lib/cjs/core-react/contextmenu/ContextMenuItem.d.ts +1 -1
  68. package/lib/cjs/core-react/contextmenu/ContextMenuItem.d.ts.map +1 -1
  69. package/lib/cjs/core-react/contextmenu/ContextMenuItem.js +16 -12
  70. package/lib/cjs/core-react/contextmenu/ContextMenuItem.js.map +1 -1
  71. package/lib/cjs/core-react/contextmenu/ContextSubMenu.d.ts +2 -2
  72. package/lib/cjs/core-react/contextmenu/ContextSubMenu.d.ts.map +1 -1
  73. package/lib/cjs/core-react/contextmenu/ContextSubMenu.js +37 -15
  74. package/lib/cjs/core-react/contextmenu/ContextSubMenu.js.map +1 -1
  75. package/lib/cjs/core-react/contextmenu/GlobalContextMenu.d.ts.map +1 -1
  76. package/lib/cjs/core-react/contextmenu/GlobalContextMenu.js +11 -7
  77. package/lib/cjs/core-react/contextmenu/GlobalContextMenu.js.map +1 -1
  78. package/lib/cjs/core-react/contextmenu/PopupContextMenu.d.ts.map +1 -1
  79. package/lib/cjs/core-react/contextmenu/PopupContextMenu.js +3 -3
  80. package/lib/cjs/core-react/contextmenu/PopupContextMenu.js.map +1 -1
  81. package/lib/cjs/core-react/contextmenu/TildeFinder.d.ts.map +1 -1
  82. package/lib/cjs/core-react/contextmenu/TildeFinder.js +15 -7
  83. package/lib/cjs/core-react/contextmenu/TildeFinder.js.map +1 -1
  84. package/lib/cjs/core-react/dialog/Dialog.d.ts +6 -5
  85. package/lib/cjs/core-react/dialog/Dialog.d.ts.map +1 -1
  86. package/lib/cjs/core-react/dialog/Dialog.js +94 -86
  87. package/lib/cjs/core-react/dialog/Dialog.js.map +1 -1
  88. package/lib/cjs/core-react/dialog/GlobalDialog.d.ts.map +1 -1
  89. package/lib/cjs/core-react/dialog/GlobalDialog.js +10 -6
  90. package/lib/cjs/core-react/dialog/GlobalDialog.js.map +1 -1
  91. package/lib/cjs/core-react/dialog/SimpleDialog.d.ts +68 -0
  92. package/lib/cjs/core-react/dialog/SimpleDialog.d.ts.map +1 -0
  93. package/lib/cjs/core-react/dialog/SimpleDialog.js +51 -0
  94. package/lib/cjs/core-react/dialog/SimpleDialog.js.map +1 -0
  95. package/lib/cjs/core-react/elementseparator/ElementSeparator.d.ts.map +1 -1
  96. package/lib/cjs/core-react/elementseparator/ElementSeparator.js +14 -8
  97. package/lib/cjs/core-react/elementseparator/ElementSeparator.js.map +1 -1
  98. package/lib/cjs/core-react/elementseparator/ElementSeparator.scss +19 -10
  99. package/lib/cjs/core-react/enums/Alignment.js +3 -3
  100. package/lib/cjs/core-react/enums/Alignment.js.map +1 -1
  101. package/lib/cjs/core-react/enums/CheckBoxState.js +3 -3
  102. package/lib/cjs/core-react/enums/CheckBoxState.js.map +1 -1
  103. package/lib/cjs/core-react/enums/Orientation.js +3 -3
  104. package/lib/cjs/core-react/enums/Orientation.js.map +1 -1
  105. package/lib/cjs/core-react/enums/SortDirection.js +3 -3
  106. package/lib/cjs/core-react/enums/SortDirection.js.map +1 -1
  107. package/lib/cjs/core-react/enums/TimeFormat.js +3 -3
  108. package/lib/cjs/core-react/enums/TimeFormat.js.map +1 -1
  109. package/lib/cjs/core-react/expandable/ExpandableList.d.ts +1 -1
  110. package/lib/cjs/core-react/expandable/ExpandableList.d.ts.map +1 -1
  111. package/lib/cjs/core-react/expandable/ExpandableList.js +8 -5
  112. package/lib/cjs/core-react/expandable/ExpandableList.js.map +1 -1
  113. package/lib/cjs/core-react/expandable/ExpandableList.scss +4 -4
  114. package/lib/cjs/core-react/expandable/classes.scss +6 -4
  115. package/lib/cjs/core-react/focus/ItemKeyboardNavigator.d.ts.map +1 -1
  116. package/lib/cjs/core-react/focus/ItemKeyboardNavigator.js +38 -15
  117. package/lib/cjs/core-react/focus/ItemKeyboardNavigator.js.map +1 -1
  118. package/lib/cjs/core-react/focustrap/FocusTrap.d.ts.map +1 -1
  119. package/lib/cjs/core-react/focustrap/FocusTrap.js +33 -16
  120. package/lib/cjs/core-react/focustrap/FocusTrap.js.map +1 -1
  121. package/lib/cjs/core-react/hocs/withIsPressed.d.ts.map +1 -1
  122. package/lib/cjs/core-react/hocs/withIsPressed.js +4 -7
  123. package/lib/cjs/core-react/hocs/withIsPressed.js.map +1 -1
  124. package/lib/cjs/core-react/hocs/withOnOutsideClick.d.ts.map +1 -1
  125. package/lib/cjs/core-react/hocs/withOnOutsideClick.js +16 -11
  126. package/lib/cjs/core-react/hocs/withOnOutsideClick.js.map +1 -1
  127. package/lib/cjs/core-react/hocs/withTimeout.d.ts.map +1 -1
  128. package/lib/cjs/core-react/hocs/withTimeout.js +6 -8
  129. package/lib/cjs/core-react/hocs/withTimeout.js.map +1 -1
  130. package/lib/cjs/core-react/icons/ConditionalIconItem.d.ts +5 -1
  131. package/lib/cjs/core-react/icons/ConditionalIconItem.d.ts.map +1 -1
  132. package/lib/cjs/core-react/icons/ConditionalIconItem.js +26 -9
  133. package/lib/cjs/core-react/icons/ConditionalIconItem.js.map +1 -1
  134. package/lib/cjs/core-react/icons/IconComponent.d.ts +1 -1
  135. package/lib/cjs/core-react/icons/IconComponent.d.ts.map +1 -1
  136. package/lib/cjs/core-react/icons/IconComponent.js +20 -10
  137. package/lib/cjs/core-react/icons/IconComponent.js.map +1 -1
  138. package/lib/cjs/core-react/icons/IconComponent.scss +5 -6
  139. package/lib/cjs/core-react/icons/SvgPath.d.ts.map +1 -1
  140. package/lib/cjs/core-react/icons/SvgPath.js +4 -4
  141. package/lib/cjs/core-react/icons/SvgPath.js.map +1 -1
  142. package/lib/cjs/core-react/icons/WebFontIcon.js +3 -3
  143. package/lib/cjs/core-react/icons/WebFontIcon.js.map +1 -1
  144. package/lib/cjs/core-react/icons/classes.scss +15 -7
  145. package/lib/cjs/core-react/imagecheckbox/ImageCheckBox.d.ts.map +1 -1
  146. package/lib/cjs/core-react/imagecheckbox/ImageCheckBox.js +6 -4
  147. package/lib/cjs/core-react/imagecheckbox/ImageCheckBox.js.map +1 -1
  148. package/lib/cjs/core-react/inputs/Input.d.ts +1 -1
  149. package/lib/cjs/core-react/inputs/Input.d.ts.map +1 -1
  150. package/lib/cjs/core-react/inputs/Input.js +6 -7
  151. package/lib/cjs/core-react/inputs/Input.js.map +1 -1
  152. package/lib/cjs/core-react/inputs/InputLabel.d.ts +1 -1
  153. package/lib/cjs/core-react/inputs/InputLabel.d.ts.map +1 -1
  154. package/lib/cjs/core-react/inputs/InputLabel.js +10 -13
  155. package/lib/cjs/core-react/inputs/InputLabel.js.map +1 -1
  156. package/lib/cjs/core-react/inputs/InputStatus.js +3 -3
  157. package/lib/cjs/core-react/inputs/InputStatus.js.map +1 -1
  158. package/lib/cjs/core-react/inputs/LabeledComponentProps.js +3 -3
  159. package/lib/cjs/core-react/inputs/LabeledComponentProps.js.map +1 -1
  160. package/lib/cjs/core-react/inputs/classes.scss +9 -5
  161. package/lib/cjs/core-react/inputs/iconinput/IconInput.d.ts +1 -1
  162. package/lib/cjs/core-react/inputs/iconinput/IconInput.d.ts.map +1 -1
  163. package/lib/cjs/core-react/inputs/iconinput/IconInput.js +3 -4
  164. package/lib/cjs/core-react/inputs/iconinput/IconInput.js.map +1 -1
  165. package/lib/cjs/core-react/inputs/iconinput/IconInput.scss +11 -12
  166. package/lib/cjs/core-react/inputs/numberinput/NumberInput.d.ts +2 -2
  167. package/lib/cjs/core-react/inputs/numberinput/NumberInput.d.ts.map +1 -1
  168. package/lib/cjs/core-react/inputs/numberinput/NumberInput.js +25 -16
  169. package/lib/cjs/core-react/inputs/numberinput/NumberInput.js.map +1 -1
  170. package/lib/cjs/core-react/layout-variables.scss +5 -7
  171. package/lib/cjs/core-react/listbox/Listbox.d.ts +2 -2
  172. package/lib/cjs/core-react/listbox/Listbox.d.ts.map +1 -1
  173. package/lib/cjs/core-react/listbox/Listbox.js +19 -12
  174. package/lib/cjs/core-react/listbox/Listbox.js.map +1 -1
  175. package/lib/cjs/core-react/loading/LoadingBar.d.ts.map +1 -1
  176. package/lib/cjs/core-react/loading/LoadingBar.js +4 -4
  177. package/lib/cjs/core-react/loading/LoadingBar.js.map +1 -1
  178. package/lib/cjs/core-react/loading/LoadingBar.scss +6 -6
  179. package/lib/cjs/core-react/loading/LoadingPrompt.d.ts.map +1 -1
  180. package/lib/cjs/core-react/loading/LoadingPrompt.js +9 -9
  181. package/lib/cjs/core-react/loading/LoadingPrompt.js.map +1 -1
  182. package/lib/cjs/core-react/loading/LoadingSpinner.d.ts +3 -3
  183. package/lib/cjs/core-react/loading/LoadingSpinner.d.ts.map +1 -1
  184. package/lib/cjs/core-react/loading/LoadingSpinner.js +5 -5
  185. package/lib/cjs/core-react/loading/LoadingSpinner.js.map +1 -1
  186. package/lib/cjs/core-react/loading/LoadingStatus.d.ts.map +1 -1
  187. package/lib/cjs/core-react/loading/LoadingStatus.js +3 -3
  188. package/lib/cjs/core-react/loading/LoadingStatus.js.map +1 -1
  189. package/lib/cjs/core-react/loading/LoadingStatus.scss +4 -4
  190. package/lib/cjs/core-react/messagebox/MessageBox.d.ts +3 -3
  191. package/lib/cjs/core-react/messagebox/MessageBox.d.ts.map +1 -1
  192. package/lib/cjs/core-react/messagebox/MessageBox.js +5 -5
  193. package/lib/cjs/core-react/messagebox/MessageBox.js.map +1 -1
  194. package/lib/cjs/core-react/notification/MessageRenderer.d.ts.map +1 -1
  195. package/lib/cjs/core-react/notification/MessageRenderer.js +18 -12
  196. package/lib/cjs/core-react/notification/MessageRenderer.js.map +1 -1
  197. package/lib/cjs/core-react/notification/MessageType.d.ts.map +1 -1
  198. package/lib/cjs/core-react/notification/MessageType.js +3 -3
  199. package/lib/cjs/core-react/notification/MessageType.js.map +1 -1
  200. package/lib/cjs/core-react/popup/Popup.d.ts.map +1 -1
  201. package/lib/cjs/core-react/popup/Popup.js +46 -23
  202. package/lib/cjs/core-react/popup/Popup.js.map +1 -1
  203. package/lib/cjs/core-react/radialmenu/Annulus.d.ts.map +1 -1
  204. package/lib/cjs/core-react/radialmenu/Annulus.js +4 -4
  205. package/lib/cjs/core-react/radialmenu/Annulus.js.map +1 -1
  206. package/lib/cjs/core-react/radialmenu/RadialMenu.d.ts +2 -2
  207. package/lib/cjs/core-react/radialmenu/RadialMenu.d.ts.map +1 -1
  208. package/lib/cjs/core-react/radialmenu/RadialMenu.js +26 -11
  209. package/lib/cjs/core-react/radialmenu/RadialMenu.js.map +1 -1
  210. package/lib/cjs/core-react/searchbox/SearchBox.d.ts.map +1 -1
  211. package/lib/cjs/core-react/searchbox/SearchBox.js +17 -7
  212. package/lib/cjs/core-react/searchbox/SearchBox.js.map +1 -1
  213. package/lib/cjs/core-react/settings/SettingsContainer.d.ts +1 -1
  214. package/lib/cjs/core-react/settings/SettingsContainer.d.ts.map +1 -1
  215. package/lib/cjs/core-react/settings/SettingsContainer.js +54 -19
  216. package/lib/cjs/core-react/settings/SettingsContainer.js.map +1 -1
  217. package/lib/cjs/core-react/settings/SettingsManager.d.ts +3 -3
  218. package/lib/cjs/core-react/settings/SettingsManager.d.ts.map +1 -1
  219. package/lib/cjs/core-react/settings/SettingsManager.js +7 -8
  220. package/lib/cjs/core-react/settings/SettingsManager.js.map +1 -1
  221. package/lib/cjs/core-react/style/breakpoints.scss +30 -12
  222. package/lib/cjs/core-react/style/colors.scss +52 -52
  223. package/lib/cjs/core-react/style/mixins.scss +7 -11
  224. package/lib/cjs/core-react/style/themecolors.scss +116 -106
  225. package/lib/cjs/core-react/tabs/Tabs.d.ts +4 -4
  226. package/lib/cjs/core-react/tabs/Tabs.d.ts.map +1 -1
  227. package/lib/cjs/core-react/tabs/Tabs.js +13 -11
  228. package/lib/cjs/core-react/tabs/Tabs.js.map +1 -1
  229. package/lib/cjs/core-react/tabs/VerticalTabs.d.ts.map +1 -1
  230. package/lib/cjs/core-react/tabs/VerticalTabs.js +3 -3
  231. package/lib/cjs/core-react/tabs/VerticalTabs.js.map +1 -1
  232. package/lib/cjs/core-react/tabs/classes.scss +6 -4
  233. package/lib/cjs/core-react/text/BlockText.js +4 -4
  234. package/lib/cjs/core-react/text/BlockText.js.map +1 -1
  235. package/lib/cjs/core-react/text/BodyText.js +4 -4
  236. package/lib/cjs/core-react/text/BodyText.js.map +1 -1
  237. package/lib/cjs/core-react/text/DisabledText.js +4 -4
  238. package/lib/cjs/core-react/text/DisabledText.js.map +1 -1
  239. package/lib/cjs/core-react/text/FilteredText.d.ts.map +1 -1
  240. package/lib/cjs/core-react/text/FilteredText.js +5 -5
  241. package/lib/cjs/core-react/text/FilteredText.js.map +1 -1
  242. package/lib/cjs/core-react/text/MutedText.js +4 -4
  243. package/lib/cjs/core-react/text/MutedText.js.map +1 -1
  244. package/lib/cjs/core-react/text/StyledText.js +3 -3
  245. package/lib/cjs/core-react/text/StyledText.js.map +1 -1
  246. package/lib/cjs/core-react/text/TextProps.d.ts.map +1 -1
  247. package/lib/cjs/core-react/text/TextProps.js +3 -3
  248. package/lib/cjs/core-react/text/TextProps.js.map +1 -1
  249. package/lib/cjs/core-react/text/classes.scss +15 -7
  250. package/lib/cjs/core-react/text/disabled.scss +4 -5
  251. package/lib/cjs/core-react/text/muted.scss +4 -5
  252. package/lib/cjs/core-react/tree/Branch.d.ts.map +1 -1
  253. package/lib/cjs/core-react/tree/Branch.js +3 -3
  254. package/lib/cjs/core-react/tree/Branch.js.map +1 -1
  255. package/lib/cjs/core-react/tree/Branch.scss +4 -4
  256. package/lib/cjs/core-react/tree/ExpansionToggle.d.ts.map +1 -1
  257. package/lib/cjs/core-react/tree/ExpansionToggle.js +3 -3
  258. package/lib/cjs/core-react/tree/ExpansionToggle.js.map +1 -1
  259. package/lib/cjs/core-react/tree/Node.d.ts.map +1 -1
  260. package/lib/cjs/core-react/tree/Node.js +11 -8
  261. package/lib/cjs/core-react/tree/Node.js.map +1 -1
  262. package/lib/cjs/core-react/tree/Node.scss +9 -9
  263. package/lib/cjs/core-react/tree/Placeholder.js +5 -5
  264. package/lib/cjs/core-react/tree/Placeholder.js.map +1 -1
  265. package/lib/cjs/core-react/tree/Tree.d.ts.map +1 -1
  266. package/lib/cjs/core-react/tree/Tree.js +20 -11
  267. package/lib/cjs/core-react/tree/Tree.js.map +1 -1
  268. package/lib/cjs/core-react/uistate/LocalStateStorage.d.ts.map +1 -1
  269. package/lib/cjs/core-react/uistate/LocalStateStorage.js +7 -4
  270. package/lib/cjs/core-react/uistate/LocalStateStorage.js.map +1 -1
  271. package/lib/cjs/core-react/uistate/UiStateEntry.d.ts.map +1 -1
  272. package/lib/cjs/core-react/uistate/UiStateEntry.js +3 -3
  273. package/lib/cjs/core-react/uistate/UiStateEntry.js.map +1 -1
  274. package/lib/cjs/core-react/uistate/UiStateStorage.d.ts.map +1 -1
  275. package/lib/cjs/core-react/uistate/UiStateStorage.js +3 -3
  276. package/lib/cjs/core-react/uistate/UiStateStorage.js.map +1 -1
  277. package/lib/cjs/core-react/utils/IconHelper.d.ts +3 -1
  278. package/lib/cjs/core-react/utils/IconHelper.d.ts.map +1 -1
  279. package/lib/cjs/core-react/utils/IconHelper.js +35 -6
  280. package/lib/cjs/core-react/utils/IconHelper.js.map +1 -1
  281. package/lib/cjs/core-react/utils/IconWebComponent.d.ts.map +1 -1
  282. package/lib/cjs/core-react/utils/IconWebComponent.js +71 -41
  283. package/lib/cjs/core-react/utils/IconWebComponent.js.map +1 -1
  284. package/lib/cjs/core-react/utils/Point.d.ts.map +1 -1
  285. package/lib/cjs/core-react/utils/Point.js +3 -3
  286. package/lib/cjs/core-react/utils/Point.js.map +1 -1
  287. package/lib/cjs/core-react/utils/Props.d.ts.map +1 -1
  288. package/lib/cjs/core-react/utils/Props.js +3 -3
  289. package/lib/cjs/core-react/utils/Props.js.map +1 -1
  290. package/lib/cjs/core-react/utils/Rectangle.d.ts.map +1 -1
  291. package/lib/cjs/core-react/utils/Rectangle.js +15 -7
  292. package/lib/cjs/core-react/utils/Rectangle.js.map +1 -1
  293. package/lib/cjs/core-react/utils/ScrollPositionMaintainer.d.ts.map +1 -1
  294. package/lib/cjs/core-react/utils/ScrollPositionMaintainer.js +4 -2
  295. package/lib/cjs/core-react/utils/ScrollPositionMaintainer.js.map +1 -1
  296. package/lib/cjs/core-react/utils/Size.d.ts.map +1 -1
  297. package/lib/cjs/core-react/utils/Size.js +4 -5
  298. package/lib/cjs/core-react/utils/Size.js.map +1 -1
  299. package/lib/cjs/core-react/utils/Timer.d.ts.map +1 -1
  300. package/lib/cjs/core-react/utils/Timer.js +3 -3
  301. package/lib/cjs/core-react/utils/Timer.js.map +1 -1
  302. package/lib/cjs/core-react/utils/UiGeometry.d.ts.map +1 -1
  303. package/lib/cjs/core-react/utils/UiGeometry.js +9 -5
  304. package/lib/cjs/core-react/utils/UiGeometry.js.map +1 -1
  305. package/lib/cjs/core-react/utils/flattenChildren.js +3 -3
  306. package/lib/cjs/core-react/utils/flattenChildren.js.map +1 -1
  307. package/lib/cjs/core-react/utils/getBestBWContrastColor.js +5 -5
  308. package/lib/cjs/core-react/utils/getBestBWContrastColor.js.map +1 -1
  309. package/lib/cjs/core-react/utils/getCssVariable.d.ts.map +1 -1
  310. package/lib/cjs/core-react/utils/getCssVariable.js +3 -3
  311. package/lib/cjs/core-react/utils/getCssVariable.js.map +1 -1
  312. package/lib/cjs/core-react/utils/getDisplayName.d.ts.map +1 -1
  313. package/lib/cjs/core-react/utils/getDisplayName.js +3 -3
  314. package/lib/cjs/core-react/utils/getDisplayName.js.map +1 -1
  315. package/lib/cjs/core-react/utils/getUserColor.d.ts.map +1 -1
  316. package/lib/cjs/core-react/utils/getUserColor.js +5 -4
  317. package/lib/cjs/core-react/utils/getUserColor.js.map +1 -1
  318. package/lib/cjs/core-react/utils/hooks/ResizeObserverPolyfill.d.ts.map +1 -1
  319. package/lib/cjs/core-react/utils/hooks/ResizeObserverPolyfill.js +4 -4
  320. package/lib/cjs/core-react/utils/hooks/ResizeObserverPolyfill.js.map +1 -1
  321. package/lib/cjs/core-react/utils/hooks/useCrossOriginPopup.d.ts.map +1 -1
  322. package/lib/cjs/core-react/utils/hooks/useCrossOriginPopup.js +21 -9
  323. package/lib/cjs/core-react/utils/hooks/useCrossOriginPopup.js.map +1 -1
  324. package/lib/cjs/core-react/utils/hooks/useDisposable.d.ts.map +1 -1
  325. package/lib/cjs/core-react/utils/hooks/useDisposable.js +3 -3
  326. package/lib/cjs/core-react/utils/hooks/useDisposable.js.map +1 -1
  327. package/lib/cjs/core-react/utils/hooks/useEffectSkipFirst.d.ts.map +1 -1
  328. package/lib/cjs/core-react/utils/hooks/useEffectSkipFirst.js +3 -3
  329. package/lib/cjs/core-react/utils/hooks/useEffectSkipFirst.js.map +1 -1
  330. package/lib/cjs/core-react/utils/hooks/useEventListener.d.ts.map +1 -1
  331. package/lib/cjs/core-react/utils/hooks/useEventListener.js +3 -3
  332. package/lib/cjs/core-react/utils/hooks/useEventListener.js.map +1 -1
  333. package/lib/cjs/core-react/utils/hooks/useInterval.d.ts.map +1 -1
  334. package/lib/cjs/core-react/utils/hooks/useInterval.js +6 -4
  335. package/lib/cjs/core-react/utils/hooks/useInterval.js.map +1 -1
  336. package/lib/cjs/core-react/utils/hooks/useLifecycleLogging.d.ts.map +1 -1
  337. package/lib/cjs/core-react/utils/hooks/useLifecycleLogging.js +7 -4
  338. package/lib/cjs/core-react/utils/hooks/useLifecycleLogging.js.map +1 -1
  339. package/lib/cjs/core-react/utils/hooks/useOnOutsideClick.d.ts.map +1 -1
  340. package/lib/cjs/core-react/utils/hooks/useOnOutsideClick.js +15 -6
  341. package/lib/cjs/core-react/utils/hooks/useOnOutsideClick.js.map +1 -1
  342. package/lib/cjs/core-react/utils/hooks/useProximityToMouse.js +3 -3
  343. package/lib/cjs/core-react/utils/hooks/useProximityToMouse.js.map +1 -1
  344. package/lib/cjs/core-react/utils/hooks/useRefEffect.d.ts +1 -1
  345. package/lib/cjs/core-react/utils/hooks/useRefEffect.d.ts.map +1 -1
  346. package/lib/cjs/core-react/utils/hooks/useRefEffect.js +3 -3
  347. package/lib/cjs/core-react/utils/hooks/useRefEffect.js.map +1 -1
  348. package/lib/cjs/core-react/utils/hooks/useRefState.js +3 -3
  349. package/lib/cjs/core-react/utils/hooks/useRefState.js.map +1 -1
  350. package/lib/cjs/core-react/utils/hooks/useRefs.d.ts.map +1 -1
  351. package/lib/cjs/core-react/utils/hooks/useRefs.js +8 -6
  352. package/lib/cjs/core-react/utils/hooks/useRefs.js.map +1 -1
  353. package/lib/cjs/core-react/utils/hooks/useResizeObserver.d.ts +8 -8
  354. package/lib/cjs/core-react/utils/hooks/useResizeObserver.d.ts.map +1 -1
  355. package/lib/cjs/core-react/utils/hooks/useResizeObserver.js +37 -20
  356. package/lib/cjs/core-react/utils/hooks/useResizeObserver.js.map +1 -1
  357. package/lib/cjs/core-react/utils/hooks/useTargeted.d.ts.map +1 -1
  358. package/lib/cjs/core-react/utils/hooks/useTargeted.js +7 -4
  359. package/lib/cjs/core-react/utils/hooks/useTargeted.js.map +1 -1
  360. package/lib/cjs/core-react/utils/hooks/useThrottledFn.js +3 -3
  361. package/lib/cjs/core-react/utils/hooks/useThrottledFn.js.map +1 -1
  362. package/lib/cjs/core-react/utils/hooks/useWidgetOpacityContext.d.ts.map +1 -1
  363. package/lib/cjs/core-react/utils/hooks/useWidgetOpacityContext.js +3 -4
  364. package/lib/cjs/core-react/utils/hooks/useWidgetOpacityContext.js.map +1 -1
  365. package/lib/cjs/core-react/utils/isPromiseLike.d.ts.map +1 -1
  366. package/lib/cjs/core-react/utils/isPromiseLike.js +6 -4
  367. package/lib/cjs/core-react/utils/isPromiseLike.js.map +1 -1
  368. package/lib/cjs/core-react/utils/reuseOrCreatePromise.d.ts +14 -0
  369. package/lib/cjs/core-react/utils/reuseOrCreatePromise.d.ts.map +1 -0
  370. package/lib/cjs/core-react/utils/reuseOrCreatePromise.js +33 -0
  371. package/lib/cjs/core-react/utils/reuseOrCreatePromise.js.map +1 -0
  372. package/lib/cjs/core-react/utils/shallowDiffers.d.ts.map +1 -1
  373. package/lib/cjs/core-react/utils/shallowDiffers.js +3 -3
  374. package/lib/cjs/core-react/utils/shallowDiffers.js.map +1 -1
  375. package/lib/cjs/core-react/utils/typeUtils.js +3 -3
  376. package/lib/cjs/core-react/utils/typeUtils.js.map +1 -1
  377. package/lib/cjs/core-react.d.ts +3 -3
  378. package/lib/cjs/core-react.d.ts.map +1 -1
  379. package/lib/cjs/core-react.js +3 -3
  380. package/lib/cjs/core-react.js.map +1 -1
  381. package/lib/esm/core-react/UiCore.d.ts.map +1 -1
  382. package/lib/esm/core-react/UiCore.js +9 -5
  383. package/lib/esm/core-react/UiCore.js.map +1 -1
  384. package/lib/esm/core-react/_helpers.scss +9 -8
  385. package/lib/esm/core-react/_scrollbar.scss +8 -4
  386. package/lib/esm/core-react/_z-index.scss +15 -33
  387. package/lib/esm/core-react/autosuggest/AutoSuggest.d.ts +1 -1
  388. package/lib/esm/core-react/autosuggest/AutoSuggest.d.ts.map +1 -1
  389. package/lib/esm/core-react/autosuggest/AutoSuggest.js +14 -15
  390. package/lib/esm/core-react/autosuggest/AutoSuggest.js.map +1 -1
  391. package/lib/esm/core-react/badge/Badge.d.ts +1 -1
  392. package/lib/esm/core-react/badge/Badge.d.ts.map +1 -1
  393. package/lib/esm/core-react/badge/Badge.js +3 -3
  394. package/lib/esm/core-react/badge/Badge.js.map +1 -1
  395. package/lib/esm/core-react/badge/BadgeUtilities.d.ts.map +1 -1
  396. package/lib/esm/core-react/badge/BadgeUtilities.js +3 -3
  397. package/lib/esm/core-react/badge/BadgeUtilities.js.map +1 -1
  398. package/lib/esm/core-react/badge/BetaBadge.d.ts.map +1 -1
  399. package/lib/esm/core-react/badge/BetaBadge.js +3 -3
  400. package/lib/esm/core-react/badge/BetaBadge.js.map +1 -1
  401. package/lib/esm/core-react/badge/NewBadge.d.ts.map +1 -1
  402. package/lib/esm/core-react/badge/NewBadge.js +4 -4
  403. package/lib/esm/core-react/badge/NewBadge.js.map +1 -1
  404. package/lib/esm/core-react/base/Centered.js +3 -3
  405. package/lib/esm/core-react/base/Centered.js.map +1 -1
  406. package/lib/esm/core-react/base/Div.d.ts.map +1 -1
  407. package/lib/esm/core-react/base/Div.js +3 -3
  408. package/lib/esm/core-react/base/Div.js.map +1 -1
  409. package/lib/esm/core-react/base/DivWithOutsideClick.d.ts.map +1 -1
  410. package/lib/esm/core-react/base/DivWithOutsideClick.js +4 -4
  411. package/lib/esm/core-react/base/DivWithOutsideClick.js.map +1 -1
  412. package/lib/esm/core-react/base/FillCentered.js +3 -3
  413. package/lib/esm/core-react/base/FillCentered.js.map +1 -1
  414. package/lib/esm/core-react/base/FlexWrapContainer.js +3 -3
  415. package/lib/esm/core-react/base/FlexWrapContainer.js.map +1 -1
  416. package/lib/esm/core-react/base/Gap.d.ts.map +1 -1
  417. package/lib/esm/core-react/base/Gap.js +4 -4
  418. package/lib/esm/core-react/base/Gap.js.map +1 -1
  419. package/lib/esm/core-react/base/PointerEvents.js +3 -3
  420. package/lib/esm/core-react/base/PointerEvents.js.map +1 -1
  421. package/lib/esm/core-react/base/ScrollView.js +3 -3
  422. package/lib/esm/core-react/base/ScrollView.js.map +1 -1
  423. package/lib/esm/core-react/base/classes.scss +24 -10
  424. package/lib/esm/core-react/button/UnderlinedButton.d.ts.map +1 -1
  425. package/lib/esm/core-react/button/UnderlinedButton.js +3 -3
  426. package/lib/esm/core-react/button/UnderlinedButton.js.map +1 -1
  427. package/lib/esm/core-react/button/UnderlinedButton.scss +4 -5
  428. package/lib/esm/core-react/checklistbox/CheckListBox.d.ts.map +1 -1
  429. package/lib/esm/core-react/checklistbox/CheckListBox.js +4 -4
  430. package/lib/esm/core-react/checklistbox/CheckListBox.js.map +1 -1
  431. package/lib/esm/core-react/checklistbox/CheckListBox.scss +4 -4
  432. package/lib/esm/core-react/contextmenu/ContextMenu.d.ts +7 -7
  433. package/lib/esm/core-react/contextmenu/ContextMenu.d.ts.map +1 -1
  434. package/lib/esm/core-react/contextmenu/ContextMenu.js +42 -23
  435. package/lib/esm/core-react/contextmenu/ContextMenu.js.map +1 -1
  436. package/lib/esm/core-react/contextmenu/ContextMenuDirection.d.ts.map +1 -1
  437. package/lib/esm/core-react/contextmenu/ContextMenuDirection.js +3 -3
  438. package/lib/esm/core-react/contextmenu/ContextMenuDirection.js.map +1 -1
  439. package/lib/esm/core-react/contextmenu/ContextMenuDivider.d.ts +1 -1
  440. package/lib/esm/core-react/contextmenu/ContextMenuDivider.d.ts.map +1 -1
  441. package/lib/esm/core-react/contextmenu/ContextMenuDivider.js +3 -3
  442. package/lib/esm/core-react/contextmenu/ContextMenuDivider.js.map +1 -1
  443. package/lib/esm/core-react/contextmenu/ContextMenuItem.d.ts +1 -1
  444. package/lib/esm/core-react/contextmenu/ContextMenuItem.d.ts.map +1 -1
  445. package/lib/esm/core-react/contextmenu/ContextMenuItem.js +16 -12
  446. package/lib/esm/core-react/contextmenu/ContextMenuItem.js.map +1 -1
  447. package/lib/esm/core-react/contextmenu/ContextSubMenu.d.ts +2 -2
  448. package/lib/esm/core-react/contextmenu/ContextSubMenu.d.ts.map +1 -1
  449. package/lib/esm/core-react/contextmenu/ContextSubMenu.js +37 -15
  450. package/lib/esm/core-react/contextmenu/ContextSubMenu.js.map +1 -1
  451. package/lib/esm/core-react/contextmenu/GlobalContextMenu.d.ts.map +1 -1
  452. package/lib/esm/core-react/contextmenu/GlobalContextMenu.js +11 -7
  453. package/lib/esm/core-react/contextmenu/GlobalContextMenu.js.map +1 -1
  454. package/lib/esm/core-react/contextmenu/PopupContextMenu.d.ts.map +1 -1
  455. package/lib/esm/core-react/contextmenu/PopupContextMenu.js +3 -3
  456. package/lib/esm/core-react/contextmenu/PopupContextMenu.js.map +1 -1
  457. package/lib/esm/core-react/contextmenu/TildeFinder.d.ts.map +1 -1
  458. package/lib/esm/core-react/contextmenu/TildeFinder.js +15 -7
  459. package/lib/esm/core-react/contextmenu/TildeFinder.js.map +1 -1
  460. package/lib/esm/core-react/dialog/Dialog.d.ts +6 -5
  461. package/lib/esm/core-react/dialog/Dialog.d.ts.map +1 -1
  462. package/lib/esm/core-react/dialog/Dialog.js +94 -86
  463. package/lib/esm/core-react/dialog/Dialog.js.map +1 -1
  464. package/lib/esm/core-react/dialog/GlobalDialog.d.ts.map +1 -1
  465. package/lib/esm/core-react/dialog/GlobalDialog.js +10 -6
  466. package/lib/esm/core-react/dialog/GlobalDialog.js.map +1 -1
  467. package/lib/esm/core-react/dialog/SimpleDialog.d.ts +68 -0
  468. package/lib/esm/core-react/dialog/SimpleDialog.d.ts.map +1 -0
  469. package/lib/esm/core-react/dialog/SimpleDialog.js +47 -0
  470. package/lib/esm/core-react/dialog/SimpleDialog.js.map +1 -0
  471. package/lib/esm/core-react/elementseparator/ElementSeparator.d.ts.map +1 -1
  472. package/lib/esm/core-react/elementseparator/ElementSeparator.js +14 -8
  473. package/lib/esm/core-react/elementseparator/ElementSeparator.js.map +1 -1
  474. package/lib/esm/core-react/elementseparator/ElementSeparator.scss +19 -10
  475. package/lib/esm/core-react/enums/Alignment.js +3 -3
  476. package/lib/esm/core-react/enums/Alignment.js.map +1 -1
  477. package/lib/esm/core-react/enums/CheckBoxState.js +3 -3
  478. package/lib/esm/core-react/enums/CheckBoxState.js.map +1 -1
  479. package/lib/esm/core-react/enums/Orientation.js +3 -3
  480. package/lib/esm/core-react/enums/Orientation.js.map +1 -1
  481. package/lib/esm/core-react/enums/SortDirection.js +3 -3
  482. package/lib/esm/core-react/enums/SortDirection.js.map +1 -1
  483. package/lib/esm/core-react/enums/TimeFormat.js +3 -3
  484. package/lib/esm/core-react/enums/TimeFormat.js.map +1 -1
  485. package/lib/esm/core-react/expandable/ExpandableList.d.ts +1 -1
  486. package/lib/esm/core-react/expandable/ExpandableList.d.ts.map +1 -1
  487. package/lib/esm/core-react/expandable/ExpandableList.js +8 -5
  488. package/lib/esm/core-react/expandable/ExpandableList.js.map +1 -1
  489. package/lib/esm/core-react/expandable/ExpandableList.scss +4 -4
  490. package/lib/esm/core-react/expandable/classes.scss +6 -4
  491. package/lib/esm/core-react/focus/ItemKeyboardNavigator.d.ts.map +1 -1
  492. package/lib/esm/core-react/focus/ItemKeyboardNavigator.js +38 -15
  493. package/lib/esm/core-react/focus/ItemKeyboardNavigator.js.map +1 -1
  494. package/lib/esm/core-react/focustrap/FocusTrap.d.ts.map +1 -1
  495. package/lib/esm/core-react/focustrap/FocusTrap.js +33 -16
  496. package/lib/esm/core-react/focustrap/FocusTrap.js.map +1 -1
  497. package/lib/esm/core-react/hocs/withIsPressed.d.ts.map +1 -1
  498. package/lib/esm/core-react/hocs/withIsPressed.js +4 -7
  499. package/lib/esm/core-react/hocs/withIsPressed.js.map +1 -1
  500. package/lib/esm/core-react/hocs/withOnOutsideClick.d.ts.map +1 -1
  501. package/lib/esm/core-react/hocs/withOnOutsideClick.js +16 -11
  502. package/lib/esm/core-react/hocs/withOnOutsideClick.js.map +1 -1
  503. package/lib/esm/core-react/hocs/withTimeout.d.ts.map +1 -1
  504. package/lib/esm/core-react/hocs/withTimeout.js +6 -8
  505. package/lib/esm/core-react/hocs/withTimeout.js.map +1 -1
  506. package/lib/esm/core-react/icons/ConditionalIconItem.d.ts +5 -1
  507. package/lib/esm/core-react/icons/ConditionalIconItem.d.ts.map +1 -1
  508. package/lib/esm/core-react/icons/ConditionalIconItem.js +26 -9
  509. package/lib/esm/core-react/icons/ConditionalIconItem.js.map +1 -1
  510. package/lib/esm/core-react/icons/IconComponent.d.ts +1 -1
  511. package/lib/esm/core-react/icons/IconComponent.d.ts.map +1 -1
  512. package/lib/esm/core-react/icons/IconComponent.js +21 -11
  513. package/lib/esm/core-react/icons/IconComponent.js.map +1 -1
  514. package/lib/esm/core-react/icons/IconComponent.scss +5 -6
  515. package/lib/esm/core-react/icons/SvgPath.d.ts.map +1 -1
  516. package/lib/esm/core-react/icons/SvgPath.js +4 -4
  517. package/lib/esm/core-react/icons/SvgPath.js.map +1 -1
  518. package/lib/esm/core-react/icons/WebFontIcon.js +3 -3
  519. package/lib/esm/core-react/icons/WebFontIcon.js.map +1 -1
  520. package/lib/esm/core-react/icons/classes.scss +15 -7
  521. package/lib/esm/core-react/imagecheckbox/ImageCheckBox.d.ts.map +1 -1
  522. package/lib/esm/core-react/imagecheckbox/ImageCheckBox.js +6 -4
  523. package/lib/esm/core-react/imagecheckbox/ImageCheckBox.js.map +1 -1
  524. package/lib/esm/core-react/inputs/Input.d.ts +1 -1
  525. package/lib/esm/core-react/inputs/Input.d.ts.map +1 -1
  526. package/lib/esm/core-react/inputs/Input.js +6 -7
  527. package/lib/esm/core-react/inputs/Input.js.map +1 -1
  528. package/lib/esm/core-react/inputs/InputLabel.d.ts +1 -1
  529. package/lib/esm/core-react/inputs/InputLabel.d.ts.map +1 -1
  530. package/lib/esm/core-react/inputs/InputLabel.js +11 -14
  531. package/lib/esm/core-react/inputs/InputLabel.js.map +1 -1
  532. package/lib/esm/core-react/inputs/InputStatus.js +3 -3
  533. package/lib/esm/core-react/inputs/InputStatus.js.map +1 -1
  534. package/lib/esm/core-react/inputs/LabeledComponentProps.js +3 -3
  535. package/lib/esm/core-react/inputs/LabeledComponentProps.js.map +1 -1
  536. package/lib/esm/core-react/inputs/classes.scss +9 -5
  537. package/lib/esm/core-react/inputs/iconinput/IconInput.d.ts +1 -1
  538. package/lib/esm/core-react/inputs/iconinput/IconInput.d.ts.map +1 -1
  539. package/lib/esm/core-react/inputs/iconinput/IconInput.js +3 -4
  540. package/lib/esm/core-react/inputs/iconinput/IconInput.js.map +1 -1
  541. package/lib/esm/core-react/inputs/iconinput/IconInput.scss +11 -12
  542. package/lib/esm/core-react/inputs/numberinput/NumberInput.d.ts +2 -2
  543. package/lib/esm/core-react/inputs/numberinput/NumberInput.d.ts.map +1 -1
  544. package/lib/esm/core-react/inputs/numberinput/NumberInput.js +26 -17
  545. package/lib/esm/core-react/inputs/numberinput/NumberInput.js.map +1 -1
  546. package/lib/esm/core-react/layout-variables.scss +5 -7
  547. package/lib/esm/core-react/listbox/Listbox.d.ts +2 -2
  548. package/lib/esm/core-react/listbox/Listbox.d.ts.map +1 -1
  549. package/lib/esm/core-react/listbox/Listbox.js +19 -12
  550. package/lib/esm/core-react/listbox/Listbox.js.map +1 -1
  551. package/lib/esm/core-react/loading/LoadingBar.d.ts.map +1 -1
  552. package/lib/esm/core-react/loading/LoadingBar.js +4 -4
  553. package/lib/esm/core-react/loading/LoadingBar.js.map +1 -1
  554. package/lib/esm/core-react/loading/LoadingBar.scss +6 -6
  555. package/lib/esm/core-react/loading/LoadingPrompt.d.ts.map +1 -1
  556. package/lib/esm/core-react/loading/LoadingPrompt.js +9 -9
  557. package/lib/esm/core-react/loading/LoadingPrompt.js.map +1 -1
  558. package/lib/esm/core-react/loading/LoadingSpinner.d.ts +3 -3
  559. package/lib/esm/core-react/loading/LoadingSpinner.d.ts.map +1 -1
  560. package/lib/esm/core-react/loading/LoadingSpinner.js +5 -5
  561. package/lib/esm/core-react/loading/LoadingSpinner.js.map +1 -1
  562. package/lib/esm/core-react/loading/LoadingStatus.d.ts.map +1 -1
  563. package/lib/esm/core-react/loading/LoadingStatus.js +3 -3
  564. package/lib/esm/core-react/loading/LoadingStatus.js.map +1 -1
  565. package/lib/esm/core-react/loading/LoadingStatus.scss +4 -4
  566. package/lib/esm/core-react/messagebox/MessageBox.d.ts +3 -3
  567. package/lib/esm/core-react/messagebox/MessageBox.d.ts.map +1 -1
  568. package/lib/esm/core-react/messagebox/MessageBox.js +6 -6
  569. package/lib/esm/core-react/messagebox/MessageBox.js.map +1 -1
  570. package/lib/esm/core-react/notification/MessageRenderer.d.ts.map +1 -1
  571. package/lib/esm/core-react/notification/MessageRenderer.js +18 -12
  572. package/lib/esm/core-react/notification/MessageRenderer.js.map +1 -1
  573. package/lib/esm/core-react/notification/MessageType.d.ts.map +1 -1
  574. package/lib/esm/core-react/notification/MessageType.js +3 -3
  575. package/lib/esm/core-react/notification/MessageType.js.map +1 -1
  576. package/lib/esm/core-react/popup/Popup.d.ts.map +1 -1
  577. package/lib/esm/core-react/popup/Popup.js +46 -23
  578. package/lib/esm/core-react/popup/Popup.js.map +1 -1
  579. package/lib/esm/core-react/radialmenu/Annulus.d.ts.map +1 -1
  580. package/lib/esm/core-react/radialmenu/Annulus.js +4 -4
  581. package/lib/esm/core-react/radialmenu/Annulus.js.map +1 -1
  582. package/lib/esm/core-react/radialmenu/RadialMenu.d.ts +2 -2
  583. package/lib/esm/core-react/radialmenu/RadialMenu.d.ts.map +1 -1
  584. package/lib/esm/core-react/radialmenu/RadialMenu.js +26 -11
  585. package/lib/esm/core-react/radialmenu/RadialMenu.js.map +1 -1
  586. package/lib/esm/core-react/searchbox/SearchBox.d.ts.map +1 -1
  587. package/lib/esm/core-react/searchbox/SearchBox.js +17 -7
  588. package/lib/esm/core-react/searchbox/SearchBox.js.map +1 -1
  589. package/lib/esm/core-react/settings/SettingsContainer.d.ts +1 -1
  590. package/lib/esm/core-react/settings/SettingsContainer.d.ts.map +1 -1
  591. package/lib/esm/core-react/settings/SettingsContainer.js +54 -19
  592. package/lib/esm/core-react/settings/SettingsContainer.js.map +1 -1
  593. package/lib/esm/core-react/settings/SettingsManager.d.ts +3 -3
  594. package/lib/esm/core-react/settings/SettingsManager.d.ts.map +1 -1
  595. package/lib/esm/core-react/settings/SettingsManager.js +7 -8
  596. package/lib/esm/core-react/settings/SettingsManager.js.map +1 -1
  597. package/lib/esm/core-react/style/breakpoints.scss +30 -12
  598. package/lib/esm/core-react/style/colors.scss +52 -52
  599. package/lib/esm/core-react/style/mixins.scss +7 -11
  600. package/lib/esm/core-react/style/themecolors.scss +116 -106
  601. package/lib/esm/core-react/tabs/Tabs.d.ts +4 -4
  602. package/lib/esm/core-react/tabs/Tabs.d.ts.map +1 -1
  603. package/lib/esm/core-react/tabs/Tabs.js +13 -11
  604. package/lib/esm/core-react/tabs/Tabs.js.map +1 -1
  605. package/lib/esm/core-react/tabs/VerticalTabs.d.ts.map +1 -1
  606. package/lib/esm/core-react/tabs/VerticalTabs.js +3 -3
  607. package/lib/esm/core-react/tabs/VerticalTabs.js.map +1 -1
  608. package/lib/esm/core-react/tabs/classes.scss +6 -4
  609. package/lib/esm/core-react/text/BlockText.js +4 -4
  610. package/lib/esm/core-react/text/BlockText.js.map +1 -1
  611. package/lib/esm/core-react/text/BodyText.js +4 -4
  612. package/lib/esm/core-react/text/BodyText.js.map +1 -1
  613. package/lib/esm/core-react/text/DisabledText.js +4 -4
  614. package/lib/esm/core-react/text/DisabledText.js.map +1 -1
  615. package/lib/esm/core-react/text/FilteredText.d.ts.map +1 -1
  616. package/lib/esm/core-react/text/FilteredText.js +5 -5
  617. package/lib/esm/core-react/text/FilteredText.js.map +1 -1
  618. package/lib/esm/core-react/text/MutedText.js +4 -4
  619. package/lib/esm/core-react/text/MutedText.js.map +1 -1
  620. package/lib/esm/core-react/text/StyledText.js +3 -3
  621. package/lib/esm/core-react/text/StyledText.js.map +1 -1
  622. package/lib/esm/core-react/text/TextProps.d.ts.map +1 -1
  623. package/lib/esm/core-react/text/TextProps.js +3 -3
  624. package/lib/esm/core-react/text/TextProps.js.map +1 -1
  625. package/lib/esm/core-react/text/classes.scss +15 -7
  626. package/lib/esm/core-react/text/disabled.scss +4 -5
  627. package/lib/esm/core-react/text/muted.scss +4 -5
  628. package/lib/esm/core-react/tree/Branch.d.ts.map +1 -1
  629. package/lib/esm/core-react/tree/Branch.js +3 -3
  630. package/lib/esm/core-react/tree/Branch.js.map +1 -1
  631. package/lib/esm/core-react/tree/Branch.scss +4 -4
  632. package/lib/esm/core-react/tree/ExpansionToggle.d.ts.map +1 -1
  633. package/lib/esm/core-react/tree/ExpansionToggle.js +3 -3
  634. package/lib/esm/core-react/tree/ExpansionToggle.js.map +1 -1
  635. package/lib/esm/core-react/tree/Node.d.ts.map +1 -1
  636. package/lib/esm/core-react/tree/Node.js +11 -8
  637. package/lib/esm/core-react/tree/Node.js.map +1 -1
  638. package/lib/esm/core-react/tree/Node.scss +9 -9
  639. package/lib/esm/core-react/tree/Placeholder.js +5 -5
  640. package/lib/esm/core-react/tree/Placeholder.js.map +1 -1
  641. package/lib/esm/core-react/tree/Tree.d.ts.map +1 -1
  642. package/lib/esm/core-react/tree/Tree.js +20 -11
  643. package/lib/esm/core-react/tree/Tree.js.map +1 -1
  644. package/lib/esm/core-react/uistate/LocalStateStorage.d.ts.map +1 -1
  645. package/lib/esm/core-react/uistate/LocalStateStorage.js +7 -4
  646. package/lib/esm/core-react/uistate/LocalStateStorage.js.map +1 -1
  647. package/lib/esm/core-react/uistate/UiStateEntry.d.ts.map +1 -1
  648. package/lib/esm/core-react/uistate/UiStateEntry.js +3 -3
  649. package/lib/esm/core-react/uistate/UiStateEntry.js.map +1 -1
  650. package/lib/esm/core-react/uistate/UiStateStorage.d.ts.map +1 -1
  651. package/lib/esm/core-react/uistate/UiStateStorage.js +3 -3
  652. package/lib/esm/core-react/uistate/UiStateStorage.js.map +1 -1
  653. package/lib/esm/core-react/utils/IconHelper.d.ts +3 -1
  654. package/lib/esm/core-react/utils/IconHelper.d.ts.map +1 -1
  655. package/lib/esm/core-react/utils/IconHelper.js +35 -6
  656. package/lib/esm/core-react/utils/IconHelper.js.map +1 -1
  657. package/lib/esm/core-react/utils/IconWebComponent.d.ts.map +1 -1
  658. package/lib/esm/core-react/utils/IconWebComponent.js +71 -41
  659. package/lib/esm/core-react/utils/IconWebComponent.js.map +1 -1
  660. package/lib/esm/core-react/utils/Point.d.ts.map +1 -1
  661. package/lib/esm/core-react/utils/Point.js +3 -3
  662. package/lib/esm/core-react/utils/Point.js.map +1 -1
  663. package/lib/esm/core-react/utils/Props.d.ts.map +1 -1
  664. package/lib/esm/core-react/utils/Props.js +3 -3
  665. package/lib/esm/core-react/utils/Props.js.map +1 -1
  666. package/lib/esm/core-react/utils/Rectangle.d.ts.map +1 -1
  667. package/lib/esm/core-react/utils/Rectangle.js +15 -7
  668. package/lib/esm/core-react/utils/Rectangle.js.map +1 -1
  669. package/lib/esm/core-react/utils/ScrollPositionMaintainer.d.ts.map +1 -1
  670. package/lib/esm/core-react/utils/ScrollPositionMaintainer.js +4 -2
  671. package/lib/esm/core-react/utils/ScrollPositionMaintainer.js.map +1 -1
  672. package/lib/esm/core-react/utils/Size.d.ts.map +1 -1
  673. package/lib/esm/core-react/utils/Size.js +4 -5
  674. package/lib/esm/core-react/utils/Size.js.map +1 -1
  675. package/lib/esm/core-react/utils/Timer.d.ts.map +1 -1
  676. package/lib/esm/core-react/utils/Timer.js +3 -3
  677. package/lib/esm/core-react/utils/Timer.js.map +1 -1
  678. package/lib/esm/core-react/utils/UiGeometry.d.ts.map +1 -1
  679. package/lib/esm/core-react/utils/UiGeometry.js +9 -5
  680. package/lib/esm/core-react/utils/UiGeometry.js.map +1 -1
  681. package/lib/esm/core-react/utils/flattenChildren.js +3 -3
  682. package/lib/esm/core-react/utils/flattenChildren.js.map +1 -1
  683. package/lib/esm/core-react/utils/getBestBWContrastColor.js +5 -5
  684. package/lib/esm/core-react/utils/getBestBWContrastColor.js.map +1 -1
  685. package/lib/esm/core-react/utils/getCssVariable.d.ts.map +1 -1
  686. package/lib/esm/core-react/utils/getCssVariable.js +3 -3
  687. package/lib/esm/core-react/utils/getCssVariable.js.map +1 -1
  688. package/lib/esm/core-react/utils/getDisplayName.d.ts.map +1 -1
  689. package/lib/esm/core-react/utils/getDisplayName.js +3 -3
  690. package/lib/esm/core-react/utils/getDisplayName.js.map +1 -1
  691. package/lib/esm/core-react/utils/getUserColor.d.ts.map +1 -1
  692. package/lib/esm/core-react/utils/getUserColor.js +5 -4
  693. package/lib/esm/core-react/utils/getUserColor.js.map +1 -1
  694. package/lib/esm/core-react/utils/hooks/ResizeObserverPolyfill.d.ts.map +1 -1
  695. package/lib/esm/core-react/utils/hooks/ResizeObserverPolyfill.js +4 -4
  696. package/lib/esm/core-react/utils/hooks/ResizeObserverPolyfill.js.map +1 -1
  697. package/lib/esm/core-react/utils/hooks/useCrossOriginPopup.d.ts.map +1 -1
  698. package/lib/esm/core-react/utils/hooks/useCrossOriginPopup.js +21 -9
  699. package/lib/esm/core-react/utils/hooks/useCrossOriginPopup.js.map +1 -1
  700. package/lib/esm/core-react/utils/hooks/useDisposable.d.ts.map +1 -1
  701. package/lib/esm/core-react/utils/hooks/useDisposable.js +3 -3
  702. package/lib/esm/core-react/utils/hooks/useDisposable.js.map +1 -1
  703. package/lib/esm/core-react/utils/hooks/useEffectSkipFirst.d.ts.map +1 -1
  704. package/lib/esm/core-react/utils/hooks/useEffectSkipFirst.js +3 -3
  705. package/lib/esm/core-react/utils/hooks/useEffectSkipFirst.js.map +1 -1
  706. package/lib/esm/core-react/utils/hooks/useEventListener.d.ts.map +1 -1
  707. package/lib/esm/core-react/utils/hooks/useEventListener.js +3 -3
  708. package/lib/esm/core-react/utils/hooks/useEventListener.js.map +1 -1
  709. package/lib/esm/core-react/utils/hooks/useInterval.d.ts.map +1 -1
  710. package/lib/esm/core-react/utils/hooks/useInterval.js +6 -4
  711. package/lib/esm/core-react/utils/hooks/useInterval.js.map +1 -1
  712. package/lib/esm/core-react/utils/hooks/useLifecycleLogging.d.ts.map +1 -1
  713. package/lib/esm/core-react/utils/hooks/useLifecycleLogging.js +7 -4
  714. package/lib/esm/core-react/utils/hooks/useLifecycleLogging.js.map +1 -1
  715. package/lib/esm/core-react/utils/hooks/useOnOutsideClick.d.ts.map +1 -1
  716. package/lib/esm/core-react/utils/hooks/useOnOutsideClick.js +15 -6
  717. package/lib/esm/core-react/utils/hooks/useOnOutsideClick.js.map +1 -1
  718. package/lib/esm/core-react/utils/hooks/useProximityToMouse.js +3 -3
  719. package/lib/esm/core-react/utils/hooks/useProximityToMouse.js.map +1 -1
  720. package/lib/esm/core-react/utils/hooks/useRefEffect.d.ts +1 -1
  721. package/lib/esm/core-react/utils/hooks/useRefEffect.d.ts.map +1 -1
  722. package/lib/esm/core-react/utils/hooks/useRefEffect.js +3 -3
  723. package/lib/esm/core-react/utils/hooks/useRefEffect.js.map +1 -1
  724. package/lib/esm/core-react/utils/hooks/useRefState.js +3 -3
  725. package/lib/esm/core-react/utils/hooks/useRefState.js.map +1 -1
  726. package/lib/esm/core-react/utils/hooks/useRefs.d.ts.map +1 -1
  727. package/lib/esm/core-react/utils/hooks/useRefs.js +8 -6
  728. package/lib/esm/core-react/utils/hooks/useRefs.js.map +1 -1
  729. package/lib/esm/core-react/utils/hooks/useResizeObserver.d.ts +8 -8
  730. package/lib/esm/core-react/utils/hooks/useResizeObserver.d.ts.map +1 -1
  731. package/lib/esm/core-react/utils/hooks/useResizeObserver.js +37 -20
  732. package/lib/esm/core-react/utils/hooks/useResizeObserver.js.map +1 -1
  733. package/lib/esm/core-react/utils/hooks/useTargeted.d.ts.map +1 -1
  734. package/lib/esm/core-react/utils/hooks/useTargeted.js +7 -4
  735. package/lib/esm/core-react/utils/hooks/useTargeted.js.map +1 -1
  736. package/lib/esm/core-react/utils/hooks/useThrottledFn.js +3 -3
  737. package/lib/esm/core-react/utils/hooks/useThrottledFn.js.map +1 -1
  738. package/lib/esm/core-react/utils/hooks/useWidgetOpacityContext.d.ts.map +1 -1
  739. package/lib/esm/core-react/utils/hooks/useWidgetOpacityContext.js +3 -4
  740. package/lib/esm/core-react/utils/hooks/useWidgetOpacityContext.js.map +1 -1
  741. package/lib/esm/core-react/utils/isPromiseLike.d.ts.map +1 -1
  742. package/lib/esm/core-react/utils/isPromiseLike.js +6 -4
  743. package/lib/esm/core-react/utils/isPromiseLike.js.map +1 -1
  744. package/lib/esm/core-react/utils/reuseOrCreatePromise.d.ts +14 -0
  745. package/lib/esm/core-react/utils/reuseOrCreatePromise.d.ts.map +1 -0
  746. package/lib/esm/core-react/utils/reuseOrCreatePromise.js +29 -0
  747. package/lib/esm/core-react/utils/reuseOrCreatePromise.js.map +1 -0
  748. package/lib/esm/core-react/utils/shallowDiffers.d.ts.map +1 -1
  749. package/lib/esm/core-react/utils/shallowDiffers.js +3 -3
  750. package/lib/esm/core-react/utils/shallowDiffers.js.map +1 -1
  751. package/lib/esm/core-react/utils/typeUtils.js +3 -3
  752. package/lib/esm/core-react/utils/typeUtils.js.map +1 -1
  753. package/lib/esm/core-react.d.ts +3 -3
  754. package/lib/esm/core-react.d.ts.map +1 -1
  755. package/lib/esm/core-react.js +6 -6
  756. package/lib/esm/core-react.js.map +1 -1
  757. package/lib/public/locales/en/UiCore.json +1 -1
  758. package/package.json +8 -17
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  /*---------------------------------------------------------------------------------------------
3
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
- * See LICENSE.md in the project root for license terms and full copyright notice.
5
- *--------------------------------------------------------------------------------------------*/
3
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
+ * See LICENSE.md in the project root for license terms and full copyright notice.
5
+ *--------------------------------------------------------------------------------------------*/
6
6
  /** @packageDocumentation
7
7
  * @module Inputs
8
8
  */
@@ -16,7 +16,6 @@ const Input_1 = require("../Input"); // NEEDSWORK - for nativeKeyHandler
16
16
  * @public
17
17
  */
18
18
  const ForwardRefIconInput = React.forwardRef(function ForwardRefIconInput(props, ref) {
19
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
20
19
  const { icon, containerClassName, size, ...otherProps } = props;
21
20
  // NEEDSWORK: still using core-react Input component because of `nativeKeyHandler` prop
22
21
  return (React.createElement("div", { className: (0, classnames_1.default)("core-iconInput-container", containerClassName) },
@@ -1 +1 @@
1
- {"version":3,"file":"IconInput.js","sourceRoot":"","sources":["../../../../../src/core-react/inputs/iconinput/IconInput.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,4BAA0B;AAC1B,2CAAoC;AACpC,+BAA+B;AAE/B,oCAAiC,CAAG,mCAAmC;AAgBvE;;GAEG;AACH,MAAM,mBAAmB,GAAG,KAAK,CAAC,UAAU,CAC1C,SAAS,mBAAmB,CAAC,KAAK,EAAE,GAAG;IACrC,6DAA6D;IAC7D,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,GAAG,UAAU,EAAE,GAAG,KAAK,CAAC;IAEhE,uFAAuF;IACvF,OAAO,CACL,6BAAK,SAAS,EAAE,IAAA,oBAAU,EAAC,0BAA0B,EAAE,kBAAkB,CAAC;QAExE,oBAAC,aAAK,IAAC,GAAG,EAAE,GAAG,KAAM,UAAU,GAAI;QACnC,6BAAK,SAAS,EAAC,qBAAqB,IACjC,IAAI,CACD,CACF,CACP,CAAC;AACJ,CAAC,CAAC,CAAC;AAEL;;GAEG;AACU,QAAA,SAAS,GAAkD,mBAAmB,CAAC","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 Inputs\n */\n\nimport \"./IconInput.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { InputProps } from \"../Input\";\nimport { Input } from \"../Input\"; // NEEDSWORK - for nativeKeyHandler\n\n/** Properties for the [[IconInput]] component\n * @public\n */\nexport interface IconInputProps extends Omit<InputProps, \"size\"> { // eslint-disable-line deprecation/deprecation\n /** Icon displayed to the left of the Input field within the IconInput component */\n icon: React.ReactNode;\n /** CSS class name for the IconInput component container div */\n containerClassName?: string;\n /** Provides ability to return reference to HTMLInputElement */\n ref?: React.Ref<HTMLInputElement>;\n /** Modify size of the input. */\n size?: \"small\" | \"large\";\n}\n\n/** Input component with icon to the left of the input field\n * @public\n */\nconst ForwardRefIconInput = React.forwardRef<HTMLInputElement, IconInputProps>(\n function ForwardRefIconInput(props, ref) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { icon, containerClassName, size, ...otherProps } = props;\n\n // NEEDSWORK: still using core-react Input component because of `nativeKeyHandler` prop\n return (\n <div className={classnames(\"core-iconInput-container\", containerClassName)} >\n {/* eslint-disable-next-line deprecation/deprecation */}\n <Input ref={ref} {...otherProps} />\n <div className=\"core-iconInput-icon\">\n {icon}\n </div>\n </div>\n );\n });\n\n/** Input component with icon to the left of the input field\n * @public\n */\nexport const IconInput: (props: IconInputProps) => JSX.Element | null = ForwardRefIconInput;\n"]}
1
+ {"version":3,"file":"IconInput.js","sourceRoot":"","sources":["../../../../../src/core-react/inputs/iconinput/IconInput.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,4BAA0B;AAC1B,2CAAoC;AACpC,+BAA+B;AAE/B,oCAAiC,CAAC,mCAAmC;AAgBrE;;GAEG;AACH,MAAM,mBAAmB,GAAG,KAAK,CAAC,UAAU,CAC1C,SAAS,mBAAmB,CAAC,KAAK,EAAE,GAAG;IACrC,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,GAAG,UAAU,EAAE,GAAG,KAAK,CAAC;IAEhE,uFAAuF;IACvF,OAAO,CACL,6BACE,SAAS,EAAE,IAAA,oBAAU,EAAC,0BAA0B,EAAE,kBAAkB,CAAC;QAErE,oBAAC,aAAK,IAAC,GAAG,EAAE,GAAG,KAAM,UAAU,GAAI;QACnC,6BAAK,SAAS,EAAC,qBAAqB,IAAE,IAAI,CAAO,CAC7C,CACP,CAAC;AACJ,CAAC,CACF,CAAC;AAEF;;GAEG;AACU,QAAA,SAAS,GACpB,mBAAmB,CAAC","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 Inputs\n */\n\nimport \"./IconInput.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { InputProps } from \"../Input\";\nimport { Input } from \"../Input\"; // NEEDSWORK - for nativeKeyHandler\n\n/** Properties for the [[IconInput]] component\n * @public\n */\nexport interface IconInputProps extends Omit<InputProps, \"size\"> {\n /** Icon displayed to the left of the Input field within the IconInput component */\n icon: React.ReactNode;\n /** CSS class name for the IconInput component container div */\n containerClassName?: string;\n /** Provides ability to return reference to HTMLInputElement */\n ref?: React.Ref<HTMLInputElement>;\n /** Modify size of the input. */\n size?: \"small\" | \"large\";\n}\n\n/** Input component with icon to the left of the input field\n * @public\n */\nconst ForwardRefIconInput = React.forwardRef<HTMLInputElement, IconInputProps>(\n function ForwardRefIconInput(props, ref) {\n const { icon, containerClassName, size, ...otherProps } = props;\n\n // NEEDSWORK: still using core-react Input component because of `nativeKeyHandler` prop\n return (\n <div\n className={classnames(\"core-iconInput-container\", containerClassName)}\n >\n <Input ref={ref} {...otherProps} />\n <div className=\"core-iconInput-icon\">{icon}</div>\n </div>\n );\n }\n);\n\n/** Input component with icon to the left of the input field\n * @public\n */\nexport const IconInput: (props: IconInputProps) => React.ReactElement | null =\n ForwardRefIconInput;\n"]}
@@ -1,35 +1,34 @@
1
1
  /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
5
  @import "../../base/base";
6
6
  @import "../variables";
7
7
 
8
8
  .core-iconInput-container {
9
9
  position: relative;
10
- padding: 0;
11
- margin: 0;
10
+ padding: 0;
11
+ margin: 0;
12
12
 
13
13
  .iui-input {
14
- margin: 0;
14
+ margin: 0;
15
15
  padding-left: 30px;
16
16
  }
17
17
 
18
18
  .core-iconInput-icon {
19
19
  position: absolute;
20
- top: 0;
21
- left: 0;
22
- width: 30px;
23
- height: 100%;
20
+ top: 0;
21
+ left: 0;
22
+ width: 30px;
23
+ height: 100%;
24
24
  @include uicore-centered;
25
25
 
26
26
  .icon {
27
- width: 16px;
27
+ width: 16px;
28
28
  height: 16px;
29
29
 
30
30
  margin-top: 2px;
31
31
  @include uicore-centered;
32
32
  }
33
33
  }
34
-
35
34
  }
@@ -27,7 +27,7 @@ export interface NumberInputProps extends Omit<InputProps, "min" | "max" | "step
27
27
  /** number of decimal places, defaults to 0 */
28
28
  precision?: number;
29
29
  /** function parseFloat */
30
- parse?: ((value: string) => number | null | undefined);
30
+ parse?: (value: string) => number | null | undefined;
31
31
  /** function optional formatting function that takes the number value and the internal formatted value in case function just adds prefix or suffix. */
32
32
  format?: (num: number | null | undefined, formattedValue: string) => string;
33
33
  /** Set to true to "snap" to the closest step value while incrementing or decrementing (up/down buttons or arrow keys). */
@@ -47,5 +47,5 @@ export interface NumberInputProps extends Omit<InputProps, "min" | "max" | "step
47
47
  /** Input component for numbers with up and down buttons to increment and decrement the value.
48
48
  * @public
49
49
  */
50
- export declare const NumberInput: (props: NumberInputProps) => JSX.Element | null;
50
+ export declare const NumberInput: (props: NumberInputProps) => React.ReactElement | null;
51
51
  //# sourceMappingURL=NumberInput.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NumberInput.d.ts","sourceRoot":"","sources":["../../../../../src/core-react/inputs/numberinput/NumberInput.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,oBAAoB,CAAC;AAE5B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAMvD;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,CAAC,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC,CAAC;AAEpF;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,UAAU,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,UAAU,CAAC;IAC7F,iEAAiE;IACjE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iEAAiE;IACjE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,yCAAyC;IACzC,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACrC,iDAAiD;IACjD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,6DAA6D;IAC7D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,kHAAkH;IAClH,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,8CAA8C;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0BAA0B;IAC1B,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;IACvD,sJAAsJ;IACtJ,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,cAAc,EAAE,MAAM,KAAK,MAAM,CAAC;IAC5E,0HAA0H;IAC1H,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IACpE,gEAAgE;IAChE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,+DAA+D;IAC/D,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAClC;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AA6KD;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,GAAG,CAAC,OAAO,GAAG,IAA4B,CAAC"}
1
+ {"version":3,"file":"NumberInput.d.ts","sourceRoot":"","sources":["../../../../../src/core-react/inputs/numberinput/NumberInput.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,oBAAoB,CAAC;AAE5B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAWvD;;GAEG;AACH,MAAM,MAAM,gBAAgB,GACxB,MAAM,GACN,CAAC,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC,CAAC;AAEhD;;GAEG;AACH,MAAM,WAAW,gBACf,SAAQ,IAAI,CAAC,UAAU,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,UAAU,CAAC;IAC7D,iEAAiE;IACjE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iEAAiE;IACjE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,yCAAyC;IACzC,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACrC,iDAAiD;IACjD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,6DAA6D;IAC7D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,kHAAkH;IAClH,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,8CAA8C;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0BAA0B;IAC1B,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACrD,sJAAsJ;IACtJ,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,cAAc,EAAE,MAAM,KAAK,MAAM,CAAC;IAC5E,0HAA0H;IAC1H,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IACpE,gEAAgE;IAChE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,+DAA+D;IAC/D,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAClC;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAuQD;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,CACxB,KAAK,EAAE,gBAAgB,KACpB,KAAK,CAAC,YAAY,GAAG,IAA4B,CAAC"}
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  /*---------------------------------------------------------------------------------------------
3
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
- * See LICENSE.md in the project root for license terms and full copyright notice.
5
- *--------------------------------------------------------------------------------------------*/
3
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
+ * See LICENSE.md in the project root for license terms and full copyright notice.
5
+ *--------------------------------------------------------------------------------------------*/
6
6
  /** @packageDocumentation
7
7
  * @module Inputs
8
8
  */
@@ -19,12 +19,12 @@ const ForwardRefNumberInput = React.forwardRef(function ForwardRefNumberInput(pr
19
19
  const { containerClassName, value, min, max, precision, format, parse, onChange, onBlur, onKeyDown, step, snap, showTouchButtons, containerStyle, isControlled, ...otherProps } = props;
20
20
  const currentValueRef = React.useRef(value);
21
21
  /**
22
- * Used internally to parse the argument x to it's numeric representation.
23
- * If the argument cannot be converted to finite number returns 0; If a
24
- * "precision" prop is specified uses it round the number with that
25
- * precision (no fixed precision here because the return value is float, not
26
- * string).
27
- */
22
+ * Used internally to parse the argument x to it's numeric representation.
23
+ * If the argument cannot be converted to finite number returns 0; If a
24
+ * "precision" prop is specified uses it round the number with that
25
+ * precision (no fixed precision here because the return value is float, not
26
+ * string).
27
+ */
28
28
  const parseInternal = React.useCallback((x) => {
29
29
  let n;
30
30
  if (parse)
@@ -44,9 +44,9 @@ const ForwardRefNumberInput = React.forwardRef(function ForwardRefNumberInput(pr
44
44
  return n;
45
45
  }, [parse, precision, min, max]);
46
46
  /**
47
- * This is used internally to format a number to its display representation.
48
- * It will invoke the format function if one is provided.
49
- */
47
+ * This is used internally to format a number to its display representation.
48
+ * It will invoke the format function if one is provided.
49
+ */
50
50
  const formatInternal = React.useCallback((num) => {
51
51
  const localPrecision = undefined === precision || null === precision ? 0 : precision;
52
52
  const str = undefined === num || null === num ? "" : num.toFixed(localPrecision);
@@ -88,11 +88,12 @@ const ForwardRefNumberInput = React.forwardRef(function ForwardRefNumberInput(pr
88
88
  return !step ? 1 : step;
89
89
  }, [step]);
90
90
  /**
91
- * The internal method that actually sets the new value on the input
92
- */
91
+ * The internal method that actually sets the new value on the input
92
+ */
93
93
  const applyStep = React.useCallback((increment) => {
94
94
  const incrementValue = getIncrementValue(increment);
95
- let num = parseInternal(formattedValue) + (increment ? incrementValue : -incrementValue);
95
+ let num = parseInternal(formattedValue) +
96
+ (increment ? incrementValue : -incrementValue);
96
97
  if (snap) {
97
98
  num = Math.round(num / incrementValue) * incrementValue;
98
99
  }
@@ -100,7 +101,15 @@ const ForwardRefNumberInput = React.forwardRef(function ForwardRefNumberInput(pr
100
101
  const localMax = undefined === max ? Number.MAX_SAFE_INTEGER : max;
101
102
  num = Math.min(Math.max(num, localMin), localMax);
102
103
  updateValue(num);
103
- }, [formattedValue, getIncrementValue, max, min, parseInternal, snap, updateValue]);
104
+ }, [
105
+ formattedValue,
106
+ getIncrementValue,
107
+ max,
108
+ min,
109
+ parseInternal,
110
+ snap,
111
+ updateValue,
112
+ ]);
104
113
  const handleKeyDown = React.useCallback((event) => {
105
114
  // istanbul ignore else
106
115
  if (event.key === appui_abstract_1.SpecialKey.Enter) {
@@ -1 +1 @@
1
- {"version":3,"file":"NumberInput.js","sourceRoot":"","sources":["../../../../../src/core-react/inputs/numberinput/NumberInput.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,8BAA4B;AAC5B,2CAAoC;AACpC,+BAA+B;AAE/B,wDAA6C;AAC7C,0DAAmD;AACnD,6DAAiD;AACjD,oEAA0G;AA4C1G,MAAM,qBAAqB,GAAG,KAAK,CAAC,UAAU,CAC5C,SAAS,qBAAqB,CAAC,KAAK,EAAE,GAAG;IACvC,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EACnE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE,cAAc,EAAE,YAAY,EAAE,GAAG,UAAU,EAAE,GAAG,KAAK,CAAC;IACnH,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAE5C;;;;;;KAMC;IACD,MAAM,aAAa,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAS,EAAE,EAAE;QACpD,IAAI,CAA4B,CAAC;QAEjC,IAAI,KAAK;YACP,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACf,IAAI,SAAS,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,EAAE;YACjC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YAClB,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;gBAC5B,CAAC,GAAG,CAAC,CAAC;aACP;SACF;QAED,MAAM,cAAc,GAAG,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAChE,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;QACvC,MAAM,QAAQ,GAAG,SAAS,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC;QACnE,MAAM,QAAQ,GAAG,SAAS,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC;QACnE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC9C,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QAE1B,OAAO,CAAC,CAAC;IACX,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAEjC;;;KAGC;IACD,MAAM,cAAc,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,GAA8B,EAAE,EAAE;QAC1E,MAAM,cAAc,GAAG,SAAS,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACrF,MAAM,GAAG,GAAG,SAAS,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAEjF,IAAI,MAAM;YACR,OAAO,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAE1B,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;IAExB,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;IAExF,qEAAqE;IACrE,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,eAAe,CAAC,OAAO,GAAG,KAAK,CAAC;QAChC,MAAM,qBAAqB,GAAG,cAAc,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QACtE,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;IAC3C,CAAC,EAAE,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC;IAE5B,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,KAA0C,EAAE,EAAE;QACpF,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC;QACzC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC1B,YAAY,IAAI,QAAQ,IAAI,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;IACtE,CAAC,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;IAE5C,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,MAAc,EAAE,EAAE;QACvD,MAAM,eAAe,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;QAC/C,QAAQ,IAAI,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QAC9C,iBAAiB,CAAC,eAAe,CAAC,CAAC;IACrC,CAAC,EAAE,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC;IAE/B,MAAM,qBAAqB,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,QAAgB,EAAE,EAAE;QACnE,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;QACvC,WAAW,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC,EAAE,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC;IAEjC,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,KAAyC,EAAE,EAAE;QACjF,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACjD,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;QACxB,WAAW,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC,EAAE,CAAC,aAAa,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;IAEzC,MAAM,iBAAiB,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,SAAkB,EAAE,EAAE;QACjE,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE;YAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAChD,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;SAC9B;QAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1B,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX;;KAEC;IACD,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,SAAkB,EAAE,EAAE;QACzD,MAAM,cAAc,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAEpD,IAAI,GAAG,GAAG,aAAa,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;QACzF,IAAI,IAAI,EAAE;YACR,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,cAAc,CAAC,GAAG,cAAc,CAAC;SACzD;QAED,MAAM,QAAQ,GAAG,SAAS,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC;QACnE,MAAM,QAAQ,GAAG,SAAS,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC;QACnE,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;QAElD,WAAW,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC,EAAE,CAAC,cAAc,EAAE,iBAAiB,EAAE,GAAG,EAAE,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;IAEpF,MAAM,aAAa,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,KAA4C,EAAE,EAAE;QACvF,uBAAuB;QACvB,IAAI,KAAK,CAAC,GAAG,KAAK,2BAAU,CAAC,KAAK,EAAE;YAClC,qBAAqB,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACjD,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,KAAK,CAAC,eAAe,EAAE,CAAC;SACzB;aAAM,IAAI,KAAK,CAAC,GAAG,KAAK,2BAAU,CAAC,MAAM,EAAE;YAC1C,iBAAiB,CAAC,cAAc,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;YAC3D,KAAK,CAAC,cAAc,EAAE,CAAC;SACxB;aAAM,IAAI,KAAK,CAAC,GAAG,KAAK,2BAAU,CAAC,SAAS,EAAE;YAC7C,SAAS,CAAC,KAAK,CAAC,CAAC;YACjB,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,KAAK,CAAC,eAAe,EAAE,CAAC;SACzB;aAAM,IAAI,KAAK,CAAC,GAAG,KAAK,2BAAU,CAAC,OAAO,EAAE;YAC3C,SAAS,CAAC,IAAI,CAAC,CAAC;YAChB,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,KAAK,CAAC,eAAe,EAAE,CAAC;SACzB;QACD,SAAS,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC,EAAE,CAAC,SAAS,EAAE,cAAc,EAAE,qBAAqB,EAAE,SAAS,CAAC,CAAC,CAAC;IAElE,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,KAAmD,EAAE,EAAE;QAChG,SAAS,CAAC,KAAK,CAAC,CAAC;QACjB,KAAK,CAAC,cAAc,EAAE,CAAC;IACzB,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,MAAM,aAAa,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,KAAmD,EAAE,EAAE;QAC9F,SAAS,CAAC,IAAI,CAAC,CAAC;QAChB,KAAK,CAAC,cAAc,EAAE,CAAC;IACzB,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,KAAyC,EAAE,EAAE;QAClF,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;IAC/B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC;IACzC,MAAM,gBAAgB,GAAG,IAAA,oBAAU,EAAC,6BAA6B,EAC/D,kBAAkB,EAClB,gBAAgB,IAAI,+BAA+B,EACnD,UAAU,IAAI,4BAA4B,CAC3C,CAAC;IAEF,MAAM,OAAO,GAAG,gBAAgB,CAAC,CAAC,CAAC,oBAAC,gCAAU,OAAG,CAAC,CAAC,CAAC,oBAAC,qCAAe,OAAG,CAAC;IACxE,MAAM,SAAS,GAAG,gBAAgB,CAAC,CAAC,CAAC,oBAAC,kCAAY,OAAG,CAAC,CAAC,CAAC,oBAAC,uCAAiB,OAAG,CAAC;IAE9E,OAAO,CACL,6BAAK,SAAS,EAAE,gBAAgB,EAAE,KAAK,EAAE,cAAc;QACrD,oBAAC,qBAAK,IAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAC,OAAO,KAAK,UAAU,GAAI;QACnK,6BAAK,SAAS,EAAE,IAAA,oBAAU,EAAC,qCAAqC,EAAE,gBAAgB,IAAI,+BAA+B,CAAC;YAEpH,6BAAK,SAAS,EAAC,sDAAsD,EAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAC,cAAc;gBAC7H,oBAAC,oBAAI,IAAC,QAAQ,EAAE,OAAO,GAAI,CACvB;YAEN,6BAAK,SAAS,EAAC,wDAAwD,EAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,IAAI,EAAC,cAAc;gBACjI,oBAAC,oBAAI,IAAC,QAAQ,EAAE,SAAS,GAAI,CACzB,CACF,CACF,CACP,CAAC;AACJ,CAAC,CACF,CAAC;AAEF;;GAEG;AACU,QAAA,WAAW,GAAoD,qBAAqB,CAAC","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 Inputs\n */\n\nimport \"./NumberInput.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { InputProps } from \"@itwin/itwinui-react\";\nimport { Input } from \"@itwin/itwinui-react\";\nimport { SpecialKey } from \"@itwin/appui-abstract\";\nimport { Icon } from \"../../icons/IconComponent\";\nimport { SvgCaretDown, SvgCaretDownSmall, SvgCaretUp, SvgCaretUpSmall } from \"@itwin/itwinui-icons-react\";\n\n/** Step function prototype for [[NumberInput]] component\n * @public\n */\nexport type StepFunctionProp = number | ((direction: string) => number | undefined);\n\n/** Properties for the [[NumberInput]] component\n * @public\n */\nexport interface NumberInputProps extends Omit<InputProps, \"min\" | \"max\" | \"step\" | \"onChange\"> {\n /** Numeric value, set to `undefined` to show placeholder text */\n value?: number;\n /** CSS class name for the NumberInput component container div */\n containerClassName?: string;\n /** Style for component container div. */\n containerStyle?: React.CSSProperties;\n /** number or function\tNumber.MIN_SAFE_INTEGER */\n min?: number;\n /** number or function\tdefaults to Number.MAX_SAFE_INTEGER */\n max?: number;\n /** increment step value used while incrementing or decrementing (up/down buttons or arrow keys) defaults to 1. */\n step?: StepFunctionProp;\n /** number of decimal places, defaults to 0 */\n precision?: number;\n /** function parseFloat */\n parse?: ((value: string) => number | null | undefined);\n /** function optional formatting function that takes the number value and the internal formatted value in case function just adds prefix or suffix. */\n format?: (num: number | null | undefined, formattedValue: string) => string;\n /** Set to true to \"snap\" to the closest step value while incrementing or decrementing (up/down buttons or arrow keys). */\n snap?: boolean;\n /** Function to call when value is changed. */\n onChange?: (value: number | undefined, stringValue: string) => void;\n /** if true up/down buttons are shown larger and side by side */\n showTouchButtons?: boolean;\n /** Provides ability to return reference to HTMLInputElement */\n ref?: React.Ref<HTMLInputElement>;\n /**\n * Makes this component behave as controlled component.\n * @internal\n */\n isControlled?: boolean;\n}\n\nconst ForwardRefNumberInput = React.forwardRef<HTMLInputElement, NumberInputProps>(\n function ForwardRefNumberInput(props, ref) {\n const { containerClassName, value, min, max, precision, format, parse,\n onChange, onBlur, onKeyDown, step, snap, showTouchButtons, containerStyle, isControlled, ...otherProps } = props;\n const currentValueRef = React.useRef(value);\n\n /**\n * Used internally to parse the argument x to it's numeric representation.\n * If the argument cannot be converted to finite number returns 0; If a\n * \"precision\" prop is specified uses it round the number with that\n * precision (no fixed precision here because the return value is float, not\n * string).\n */\n const parseInternal = React.useCallback((x: string) => {\n let n: number | undefined | null;\n\n if (parse)\n n = parse(x);\n if (undefined === n || null === n) {\n n = parseFloat(x);\n if (isNaN(n) || !isFinite(n)) {\n n = 0;\n }\n }\n\n const localPrecision = undefined === precision ? 10 : precision;\n const q = Math.pow(10, localPrecision);\n const localMin = undefined === min ? Number.MIN_SAFE_INTEGER : min;\n const localMax = undefined === max ? Number.MAX_SAFE_INTEGER : max;\n n = Math.min(Math.max(n, localMin), localMax);\n n = Math.round(n * q) / q;\n\n return n;\n }, [parse, precision, min, max]);\n\n /**\n * This is used internally to format a number to its display representation.\n * It will invoke the format function if one is provided.\n */\n const formatInternal = React.useCallback((num: number | undefined | null) => {\n const localPrecision = undefined === precision || null === precision ? 0 : precision;\n const str = undefined === num || null === num ? \"\" : num.toFixed(localPrecision);\n\n if (format)\n return format(num, str);\n\n return str;\n }, [format, precision]);\n\n const [formattedValue, setFormattedValue] = React.useState(() => formatInternal(value));\n\n // See if new initialValue props have changed since component mounted\n React.useEffect(() => {\n currentValueRef.current = value;\n const currentFormattedValue = formatInternal(currentValueRef.current);\n setFormattedValue(currentFormattedValue);\n }, [formatInternal, value]);\n\n const handleChange = React.useCallback((event: React.ChangeEvent<HTMLInputElement>) => {\n const newVal = event.currentTarget.value;\n setFormattedValue(newVal);\n isControlled && onChange && onChange(parseInternal(newVal), newVal);\n }, [isControlled, onChange, parseInternal]);\n\n const updateValue = React.useCallback((newVal: number) => {\n const newFormattedVal = formatInternal(newVal);\n onChange && onChange(newVal, newFormattedVal);\n setFormattedValue(newFormattedVal);\n }, [onChange, formatInternal]);\n\n const updateValueFromString = React.useCallback((strValue: string) => {\n const newVal = parseInternal(strValue);\n updateValue(newVal);\n }, [parseInternal, updateValue]);\n\n const handleBlur = React.useCallback((event: React.FocusEvent<HTMLInputElement>) => {\n const newVal = parseInternal(event.target.value);\n onBlur && onBlur(event);\n updateValue(newVal);\n }, [parseInternal, updateValue, onBlur]);\n\n const getIncrementValue = React.useCallback((increment: boolean) => {\n if (typeof step === \"function\") {\n const stepVal = step(increment ? \"up\" : \"down\");\n return stepVal ? stepVal : 1;\n }\n\n return !step ? 1 : step;\n }, [step]);\n\n /**\n * The internal method that actually sets the new value on the input\n */\n const applyStep = React.useCallback((increment: boolean) => {\n const incrementValue = getIncrementValue(increment);\n\n let num = parseInternal(formattedValue) + (increment ? incrementValue : -incrementValue);\n if (snap) {\n num = Math.round(num / incrementValue) * incrementValue;\n }\n\n const localMin = undefined === min ? Number.MIN_SAFE_INTEGER : min;\n const localMax = undefined === max ? Number.MAX_SAFE_INTEGER : max;\n num = Math.min(Math.max(num, localMin), localMax);\n\n updateValue(num);\n }, [formattedValue, getIncrementValue, max, min, parseInternal, snap, updateValue]);\n\n const handleKeyDown = React.useCallback((event: React.KeyboardEvent<HTMLInputElement>) => {\n // istanbul ignore else\n if (event.key === SpecialKey.Enter) {\n updateValueFromString(event.currentTarget.value);\n event.preventDefault();\n event.stopPropagation();\n } else if (event.key === SpecialKey.Escape) {\n setFormattedValue(formatInternal(currentValueRef.current));\n event.preventDefault();\n } else if (event.key === SpecialKey.ArrowDown) {\n applyStep(false);\n event.preventDefault();\n event.stopPropagation();\n } else if (event.key === SpecialKey.ArrowUp) {\n applyStep(true);\n event.preventDefault();\n event.stopPropagation();\n }\n onKeyDown && onKeyDown(event);\n }, [applyStep, formatInternal, updateValueFromString, onKeyDown]);\n\n const handleDownClick = React.useCallback((event: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n applyStep(false);\n event.preventDefault();\n }, [applyStep]);\n\n const handleUpClick = React.useCallback((event: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n applyStep(true);\n event.preventDefault();\n }, [applyStep]);\n\n const handleFocus = React.useCallback((event: React.FocusEvent<HTMLInputElement>) => {\n event.currentTarget.select();\n }, []);\n\n const isDisabled = !!otherProps.disabled;\n const containerClasses = classnames(\"core-number-input-container\",\n containerClassName,\n showTouchButtons && \"core-number-buttons-for-touch\",\n isDisabled && \"core-number-input-disabled\",\n );\n\n const caretUp = showTouchButtons ? <SvgCaretUp /> : <SvgCaretUpSmall />;\n const caretDown = showTouchButtons ? <SvgCaretDown /> : <SvgCaretDownSmall />;\n\n return (\n <div className={containerClasses} style={containerStyle} >\n <Input ref={ref} value={formattedValue} onChange={handleChange} onKeyDown={handleKeyDown} onFocus={handleFocus} onBlur={handleBlur} size=\"small\" {...otherProps} />\n <div className={classnames(\"core-number-input-buttons-container\", showTouchButtons && \"core-number-buttons-for-touch\")}>\n { /* eslint-disable-next-line jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events */}\n <div className=\"core-number-input-button core-number-input-button-up\" tabIndex={-1} onClick={handleUpClick} role=\"presentation\" >\n <Icon iconSpec={caretUp} />\n </div>\n { /* eslint-disable-next-line jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events */}\n <div className=\"core-number-input-button core-number-input-button-down\" tabIndex={-1} onClick={handleDownClick} role=\"presentation\" >\n <Icon iconSpec={caretDown} />\n </div>\n </div>\n </div>\n );\n }\n);\n\n/** Input component for numbers with up and down buttons to increment and decrement the value.\n * @public\n */\nexport const NumberInput: (props: NumberInputProps) => JSX.Element | null = ForwardRefNumberInput;\n"]}
1
+ {"version":3,"file":"NumberInput.js","sourceRoot":"","sources":["../../../../../src/core-react/inputs/numberinput/NumberInput.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,8BAA4B;AAC5B,2CAAoC;AACpC,+BAA+B;AAE/B,wDAA6C;AAC7C,0DAAmD;AACnD,6DAAiD;AACjD,oEAKoC;AA+CpC,MAAM,qBAAqB,GAAG,KAAK,CAAC,UAAU,CAG5C,SAAS,qBAAqB,CAAC,KAAK,EAAE,GAAG;IACzC,MAAM,EACJ,kBAAkB,EAClB,KAAK,EACL,GAAG,EACH,GAAG,EACH,SAAS,EACT,MAAM,EACN,KAAK,EACL,QAAQ,EACR,MAAM,EACN,SAAS,EACT,IAAI,EACJ,IAAI,EACJ,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,GAAG,UAAU,EACd,GAAG,KAAK,CAAC;IACV,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAE5C;;;;;;OAMG;IACH,MAAM,aAAa,GAAG,KAAK,CAAC,WAAW,CACrC,CAAC,CAAS,EAAE,EAAE;QACZ,IAAI,CAA4B,CAAC;QAEjC,IAAI,KAAK;YAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,SAAS,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,EAAE;YACjC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YAClB,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;gBAC5B,CAAC,GAAG,CAAC,CAAC;aACP;SACF;QAED,MAAM,cAAc,GAAG,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAChE,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;QACvC,MAAM,QAAQ,GAAG,SAAS,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC;QACnE,MAAM,QAAQ,GAAG,SAAS,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC;QACnE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC9C,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QAE1B,OAAO,CAAC,CAAC;IACX,CAAC,EACD,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,CAAC,CAC7B,CAAC;IAEF;;;OAGG;IACH,MAAM,cAAc,GAAG,KAAK,CAAC,WAAW,CACtC,CAAC,GAA8B,EAAE,EAAE;QACjC,MAAM,cAAc,GAClB,SAAS,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAChE,MAAM,GAAG,GACP,SAAS,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAEvE,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAEpC,OAAO,GAAG,CAAC;IACb,CAAC,EACD,CAAC,MAAM,EAAE,SAAS,CAAC,CACpB,CAAC;IAEF,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAC9D,cAAc,CAAC,KAAK,CAAC,CACtB,CAAC;IAEF,qEAAqE;IACrE,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,eAAe,CAAC,OAAO,GAAG,KAAK,CAAC;QAChC,MAAM,qBAAqB,GAAG,cAAc,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QACtE,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;IAC3C,CAAC,EAAE,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC;IAE5B,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CACpC,CAAC,KAA0C,EAAE,EAAE;QAC7C,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC;QACzC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC1B,YAAY,IAAI,QAAQ,IAAI,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;IACtE,CAAC,EACD,CAAC,YAAY,EAAE,QAAQ,EAAE,aAAa,CAAC,CACxC,CAAC;IAEF,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CACnC,CAAC,MAAc,EAAE,EAAE;QACjB,MAAM,eAAe,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;QAC/C,QAAQ,IAAI,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QAC9C,iBAAiB,CAAC,eAAe,CAAC,CAAC;IACrC,CAAC,EACD,CAAC,QAAQ,EAAE,cAAc,CAAC,CAC3B,CAAC;IAEF,MAAM,qBAAqB,GAAG,KAAK,CAAC,WAAW,CAC7C,CAAC,QAAgB,EAAE,EAAE;QACnB,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;QACvC,WAAW,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC,EACD,CAAC,aAAa,EAAE,WAAW,CAAC,CAC7B,CAAC;IAEF,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAClC,CAAC,KAAyC,EAAE,EAAE;QAC5C,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACjD,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;QACxB,WAAW,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC,EACD,CAAC,aAAa,EAAE,WAAW,EAAE,MAAM,CAAC,CACrC,CAAC;IAEF,MAAM,iBAAiB,GAAG,KAAK,CAAC,WAAW,CACzC,CAAC,SAAkB,EAAE,EAAE;QACrB,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE;YAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAChD,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;SAC9B;QAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1B,CAAC,EACD,CAAC,IAAI,CAAC,CACP,CAAC;IAEF;;OAEG;IACH,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,CACjC,CAAC,SAAkB,EAAE,EAAE;QACrB,MAAM,cAAc,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAEpD,IAAI,GAAG,GACL,aAAa,CAAC,cAAc,CAAC;YAC7B,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;QACjD,IAAI,IAAI,EAAE;YACR,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,cAAc,CAAC,GAAG,cAAc,CAAC;SACzD;QAED,MAAM,QAAQ,GAAG,SAAS,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC;QACnE,MAAM,QAAQ,GAAG,SAAS,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC;QACnE,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;QAElD,WAAW,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC,EACD;QACE,cAAc;QACd,iBAAiB;QACjB,GAAG;QACH,GAAG;QACH,aAAa;QACb,IAAI;QACJ,WAAW;KACZ,CACF,CAAC;IAEF,MAAM,aAAa,GAAG,KAAK,CAAC,WAAW,CACrC,CAAC,KAA4C,EAAE,EAAE;QAC/C,uBAAuB;QACvB,IAAI,KAAK,CAAC,GAAG,KAAK,2BAAU,CAAC,KAAK,EAAE;YAClC,qBAAqB,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACjD,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,KAAK,CAAC,eAAe,EAAE,CAAC;SACzB;aAAM,IAAI,KAAK,CAAC,GAAG,KAAK,2BAAU,CAAC,MAAM,EAAE;YAC1C,iBAAiB,CAAC,cAAc,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;YAC3D,KAAK,CAAC,cAAc,EAAE,CAAC;SACxB;aAAM,IAAI,KAAK,CAAC,GAAG,KAAK,2BAAU,CAAC,SAAS,EAAE;YAC7C,SAAS,CAAC,KAAK,CAAC,CAAC;YACjB,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,KAAK,CAAC,eAAe,EAAE,CAAC;SACzB;aAAM,IAAI,KAAK,CAAC,GAAG,KAAK,2BAAU,CAAC,OAAO,EAAE;YAC3C,SAAS,CAAC,IAAI,CAAC,CAAC;YAChB,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,KAAK,CAAC,eAAe,EAAE,CAAC;SACzB;QACD,SAAS,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC,EACD,CAAC,SAAS,EAAE,cAAc,EAAE,qBAAqB,EAAE,SAAS,CAAC,CAC9D,CAAC;IAEF,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,CACvC,CAAC,KAAmD,EAAE,EAAE;QACtD,SAAS,CAAC,KAAK,CAAC,CAAC;QACjB,KAAK,CAAC,cAAc,EAAE,CAAC;IACzB,CAAC,EACD,CAAC,SAAS,CAAC,CACZ,CAAC;IAEF,MAAM,aAAa,GAAG,KAAK,CAAC,WAAW,CACrC,CAAC,KAAmD,EAAE,EAAE;QACtD,SAAS,CAAC,IAAI,CAAC,CAAC;QAChB,KAAK,CAAC,cAAc,EAAE,CAAC;IACzB,CAAC,EACD,CAAC,SAAS,CAAC,CACZ,CAAC;IAEF,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CACnC,CAAC,KAAyC,EAAE,EAAE;QAC5C,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;IAC/B,CAAC,EACD,EAAE,CACH,CAAC;IAEF,MAAM,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC;IACzC,MAAM,gBAAgB,GAAG,IAAA,oBAAU,EACjC,6BAA6B,EAC7B,kBAAkB,EAClB,gBAAgB,IAAI,+BAA+B,EACnD,UAAU,IAAI,4BAA4B,CAC3C,CAAC;IAEF,MAAM,OAAO,GAAG,gBAAgB,CAAC,CAAC,CAAC,oBAAC,gCAAU,OAAG,CAAC,CAAC,CAAC,oBAAC,qCAAe,OAAG,CAAC;IACxE,MAAM,SAAS,GAAG,gBAAgB,CAAC,CAAC,CAAC,oBAAC,kCAAY,OAAG,CAAC,CAAC,CAAC,oBAAC,uCAAiB,OAAG,CAAC;IAE9E,OAAO,CACL,6BAAK,SAAS,EAAE,gBAAgB,EAAE,KAAK,EAAE,cAAc;QACrD,oBAAC,qBAAK,IACJ,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,cAAc,EACrB,QAAQ,EAAE,YAAY,EACtB,SAAS,EAAE,aAAa,EACxB,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,UAAU,EAClB,IAAI,EAAC,OAAO,KACR,UAAU,GACd;QACF,6BACE,SAAS,EAAE,IAAA,oBAAU,EACnB,qCAAqC,EACrC,gBAAgB,IAAI,+BAA+B,CACpD;YAGD,6BACE,SAAS,EAAC,sDAAsD,EAChE,QAAQ,EAAE,CAAC,CAAC,EACZ,OAAO,EAAE,aAAa,EACtB,IAAI,EAAC,cAAc;gBAEnB,oBAAC,oBAAI,IAAC,QAAQ,EAAE,OAAO,GAAI,CACvB;YAEN,6BACE,SAAS,EAAC,wDAAwD,EAClE,QAAQ,EAAE,CAAC,CAAC,EACZ,OAAO,EAAE,eAAe,EACxB,IAAI,EAAC,cAAc;gBAEnB,oBAAC,oBAAI,IAAC,QAAQ,EAAE,SAAS,GAAI,CACzB,CACF,CACF,CACP,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH;;GAEG;AACU,QAAA,WAAW,GAES,qBAAqB,CAAC","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 Inputs\n */\n\nimport \"./NumberInput.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { InputProps } from \"@itwin/itwinui-react\";\nimport { Input } from \"@itwin/itwinui-react\";\nimport { SpecialKey } from \"@itwin/appui-abstract\";\nimport { Icon } from \"../../icons/IconComponent\";\nimport {\n SvgCaretDown,\n SvgCaretDownSmall,\n SvgCaretUp,\n SvgCaretUpSmall,\n} from \"@itwin/itwinui-icons-react\";\n\n/** Step function prototype for [[NumberInput]] component\n * @public\n */\nexport type StepFunctionProp =\n | number\n | ((direction: string) => number | undefined);\n\n/** Properties for the [[NumberInput]] component\n * @public\n */\nexport interface NumberInputProps\n extends Omit<InputProps, \"min\" | \"max\" | \"step\" | \"onChange\"> {\n /** Numeric value, set to `undefined` to show placeholder text */\n value?: number;\n /** CSS class name for the NumberInput component container div */\n containerClassName?: string;\n /** Style for component container div. */\n containerStyle?: React.CSSProperties;\n /** number or function\tNumber.MIN_SAFE_INTEGER */\n min?: number;\n /** number or function\tdefaults to Number.MAX_SAFE_INTEGER */\n max?: number;\n /** increment step value used while incrementing or decrementing (up/down buttons or arrow keys) defaults to 1. */\n step?: StepFunctionProp;\n /** number of decimal places, defaults to 0 */\n precision?: number;\n /** function parseFloat */\n parse?: (value: string) => number | null | undefined;\n /** function optional formatting function that takes the number value and the internal formatted value in case function just adds prefix or suffix. */\n format?: (num: number | null | undefined, formattedValue: string) => string;\n /** Set to true to \"snap\" to the closest step value while incrementing or decrementing (up/down buttons or arrow keys). */\n snap?: boolean;\n /** Function to call when value is changed. */\n onChange?: (value: number | undefined, stringValue: string) => void;\n /** if true up/down buttons are shown larger and side by side */\n showTouchButtons?: boolean;\n /** Provides ability to return reference to HTMLInputElement */\n ref?: React.Ref<HTMLInputElement>;\n /**\n * Makes this component behave as controlled component.\n * @internal\n */\n isControlled?: boolean;\n}\n\nconst ForwardRefNumberInput = React.forwardRef<\n HTMLInputElement,\n NumberInputProps\n>(function ForwardRefNumberInput(props, ref) {\n const {\n containerClassName,\n value,\n min,\n max,\n precision,\n format,\n parse,\n onChange,\n onBlur,\n onKeyDown,\n step,\n snap,\n showTouchButtons,\n containerStyle,\n isControlled,\n ...otherProps\n } = props;\n const currentValueRef = React.useRef(value);\n\n /**\n * Used internally to parse the argument x to it's numeric representation.\n * If the argument cannot be converted to finite number returns 0; If a\n * \"precision\" prop is specified uses it round the number with that\n * precision (no fixed precision here because the return value is float, not\n * string).\n */\n const parseInternal = React.useCallback(\n (x: string) => {\n let n: number | undefined | null;\n\n if (parse) n = parse(x);\n if (undefined === n || null === n) {\n n = parseFloat(x);\n if (isNaN(n) || !isFinite(n)) {\n n = 0;\n }\n }\n\n const localPrecision = undefined === precision ? 10 : precision;\n const q = Math.pow(10, localPrecision);\n const localMin = undefined === min ? Number.MIN_SAFE_INTEGER : min;\n const localMax = undefined === max ? Number.MAX_SAFE_INTEGER : max;\n n = Math.min(Math.max(n, localMin), localMax);\n n = Math.round(n * q) / q;\n\n return n;\n },\n [parse, precision, min, max]\n );\n\n /**\n * This is used internally to format a number to its display representation.\n * It will invoke the format function if one is provided.\n */\n const formatInternal = React.useCallback(\n (num: number | undefined | null) => {\n const localPrecision =\n undefined === precision || null === precision ? 0 : precision;\n const str =\n undefined === num || null === num ? \"\" : num.toFixed(localPrecision);\n\n if (format) return format(num, str);\n\n return str;\n },\n [format, precision]\n );\n\n const [formattedValue, setFormattedValue] = React.useState(() =>\n formatInternal(value)\n );\n\n // See if new initialValue props have changed since component mounted\n React.useEffect(() => {\n currentValueRef.current = value;\n const currentFormattedValue = formatInternal(currentValueRef.current);\n setFormattedValue(currentFormattedValue);\n }, [formatInternal, value]);\n\n const handleChange = React.useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n const newVal = event.currentTarget.value;\n setFormattedValue(newVal);\n isControlled && onChange && onChange(parseInternal(newVal), newVal);\n },\n [isControlled, onChange, parseInternal]\n );\n\n const updateValue = React.useCallback(\n (newVal: number) => {\n const newFormattedVal = formatInternal(newVal);\n onChange && onChange(newVal, newFormattedVal);\n setFormattedValue(newFormattedVal);\n },\n [onChange, formatInternal]\n );\n\n const updateValueFromString = React.useCallback(\n (strValue: string) => {\n const newVal = parseInternal(strValue);\n updateValue(newVal);\n },\n [parseInternal, updateValue]\n );\n\n const handleBlur = React.useCallback(\n (event: React.FocusEvent<HTMLInputElement>) => {\n const newVal = parseInternal(event.target.value);\n onBlur && onBlur(event);\n updateValue(newVal);\n },\n [parseInternal, updateValue, onBlur]\n );\n\n const getIncrementValue = React.useCallback(\n (increment: boolean) => {\n if (typeof step === \"function\") {\n const stepVal = step(increment ? \"up\" : \"down\");\n return stepVal ? stepVal : 1;\n }\n\n return !step ? 1 : step;\n },\n [step]\n );\n\n /**\n * The internal method that actually sets the new value on the input\n */\n const applyStep = React.useCallback(\n (increment: boolean) => {\n const incrementValue = getIncrementValue(increment);\n\n let num =\n parseInternal(formattedValue) +\n (increment ? incrementValue : -incrementValue);\n if (snap) {\n num = Math.round(num / incrementValue) * incrementValue;\n }\n\n const localMin = undefined === min ? Number.MIN_SAFE_INTEGER : min;\n const localMax = undefined === max ? Number.MAX_SAFE_INTEGER : max;\n num = Math.min(Math.max(num, localMin), localMax);\n\n updateValue(num);\n },\n [\n formattedValue,\n getIncrementValue,\n max,\n min,\n parseInternal,\n snap,\n updateValue,\n ]\n );\n\n const handleKeyDown = React.useCallback(\n (event: React.KeyboardEvent<HTMLInputElement>) => {\n // istanbul ignore else\n if (event.key === SpecialKey.Enter) {\n updateValueFromString(event.currentTarget.value);\n event.preventDefault();\n event.stopPropagation();\n } else if (event.key === SpecialKey.Escape) {\n setFormattedValue(formatInternal(currentValueRef.current));\n event.preventDefault();\n } else if (event.key === SpecialKey.ArrowDown) {\n applyStep(false);\n event.preventDefault();\n event.stopPropagation();\n } else if (event.key === SpecialKey.ArrowUp) {\n applyStep(true);\n event.preventDefault();\n event.stopPropagation();\n }\n onKeyDown && onKeyDown(event);\n },\n [applyStep, formatInternal, updateValueFromString, onKeyDown]\n );\n\n const handleDownClick = React.useCallback(\n (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n applyStep(false);\n event.preventDefault();\n },\n [applyStep]\n );\n\n const handleUpClick = React.useCallback(\n (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n applyStep(true);\n event.preventDefault();\n },\n [applyStep]\n );\n\n const handleFocus = React.useCallback(\n (event: React.FocusEvent<HTMLInputElement>) => {\n event.currentTarget.select();\n },\n []\n );\n\n const isDisabled = !!otherProps.disabled;\n const containerClasses = classnames(\n \"core-number-input-container\",\n containerClassName,\n showTouchButtons && \"core-number-buttons-for-touch\",\n isDisabled && \"core-number-input-disabled\"\n );\n\n const caretUp = showTouchButtons ? <SvgCaretUp /> : <SvgCaretUpSmall />;\n const caretDown = showTouchButtons ? <SvgCaretDown /> : <SvgCaretDownSmall />;\n\n return (\n <div className={containerClasses} style={containerStyle}>\n <Input\n ref={ref}\n value={formattedValue}\n onChange={handleChange}\n onKeyDown={handleKeyDown}\n onFocus={handleFocus}\n onBlur={handleBlur}\n size=\"small\"\n {...otherProps}\n />\n <div\n className={classnames(\n \"core-number-input-buttons-container\",\n showTouchButtons && \"core-number-buttons-for-touch\"\n )}\n >\n {/* eslint-disable-next-line jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events */}\n <div\n className=\"core-number-input-button core-number-input-button-up\"\n tabIndex={-1}\n onClick={handleUpClick}\n role=\"presentation\"\n >\n <Icon iconSpec={caretUp} />\n </div>\n {/* eslint-disable-next-line jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events */}\n <div\n className=\"core-number-input-button core-number-input-button-down\"\n tabIndex={-1}\n onClick={handleDownClick}\n role=\"presentation\"\n >\n <Icon iconSpec={caretDown} />\n </div>\n </div>\n </div>\n );\n});\n\n/** Input component for numbers with up and down buttons to increment and decrement the value.\n * @public\n */\nexport const NumberInput: (\n props: NumberInputProps\n) => React.ReactElement | null = ForwardRefNumberInput;\n"]}
@@ -1,17 +1,15 @@
1
1
  /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
5
  @import "./z-index";
6
6
 
7
7
  :root {
8
-
9
8
  /** Default Widget Opacity */
10
- --buic-widget-opacity: 0.90;
9
+ --buic-widget-opacity: 0.9;
11
10
  /** Default Toolbar Opacity */
12
- --buic-toolbar-opacity: 0.50;
11
+ --buic-toolbar-opacity: 0.5;
13
12
 
14
13
  /** CSS variables for each z-index layer */
15
14
  @include uicore-z-index-variables();
16
-
17
15
  }
@@ -15,7 +15,7 @@ export interface ListboxProps extends React.DetailedHTMLProps<React.HTMLAttribut
15
15
  selectedValue?: ListboxValue;
16
16
  ariaLabel?: any;
17
17
  ariaLabelledBy?: any;
18
- onListboxValueChange?: ((newValue: ListboxValue, isControlOrCommandPressed?: boolean) => void);
18
+ onListboxValueChange?: (newValue: ListboxValue, isControlOrCommandPressed?: boolean) => void;
19
19
  }
20
20
  /**
21
21
  * `ListboxItem` Props.
@@ -35,7 +35,7 @@ export interface ListboxContextProps {
35
35
  listboxId?: string;
36
36
  listboxValue?: ListboxValue;
37
37
  focusValue?: ListboxValue;
38
- onListboxValueChange: ((newValue: ListboxValue, isControlOrCommandPressed?: boolean) => void);
38
+ onListboxValueChange: (newValue: ListboxValue, isControlOrCommandPressed?: boolean) => void;
39
39
  listboxRef?: React.RefObject<HTMLUListElement>;
40
40
  }
41
41
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Listbox.d.ts","sourceRoot":"","sources":["../../../../src/core-react/listbox/Listbox.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,gBAAgB,CAAC;AAIxB,sEAAsE;AAEtE;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC;AAElC;;;GAGG;AACH,MAAM,WAAW,YAAa,SAAQ,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACrH,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,aAAa,CAAC,EAAE,YAAY,CAAC;IAC7B,SAAS,CAAC,EAAE,GAAG,CAAC;IAChB,cAAc,CAAC,EAAE,GAAG,CAAC;IACrB,oBAAoB,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,YAAY,EAAE,yBAAyB,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC,CAAC;CAChG;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAiB,SAAQ,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC;IACrH,+BAA+B;IAC/B,KAAK,EAAE,YAAY,CAAC;IACpB,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,oBAAoB,EAAE,CAAC,CAAC,QAAQ,EAAE,YAAY,EAAE,yBAAyB,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC,CAAC;IAC9F,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;CAChD;AAED;;;GAGG;AAEH,eAAO,MAAM,cAAc,oCAAmH,CAAC;AAmD/I;;;GAGG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,YAAY,eAyJ1C;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,eA8DlD"}
1
+ {"version":3,"file":"Listbox.d.ts","sourceRoot":"","sources":["../../../../src/core-react/listbox/Listbox.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,gBAAgB,CAAC;AAIxB,sEAAsE;AAEtE;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC;AAElC;;;GAGG;AACH,MAAM,WAAW,YACf,SAAQ,KAAK,CAAC,iBAAiB,CAC7B,KAAK,CAAC,cAAc,CAAC,gBAAgB,CAAC,EACtC,gBAAgB,CACjB;IACD,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,aAAa,CAAC,EAAE,YAAY,CAAC;IAC7B,SAAS,CAAC,EAAE,GAAG,CAAC;IAChB,cAAc,CAAC,EAAE,GAAG,CAAC;IACrB,oBAAoB,CAAC,EAAE,CACrB,QAAQ,EAAE,YAAY,EACtB,yBAAyB,CAAC,EAAE,OAAO,KAChC,IAAI,CAAC;CACX;AAED;;;GAGG;AACH,MAAM,WAAW,gBACf,SAAQ,KAAK,CAAC,iBAAiB,CAC7B,KAAK,CAAC,gBAAgB,CAAC,aAAa,CAAC,EACrC,aAAa,CACd;IACD,+BAA+B;IAC/B,KAAK,EAAE,YAAY,CAAC;IACpB,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,oBAAoB,EAAE,CACpB,QAAQ,EAAE,YAAY,EACtB,yBAAyB,CAAC,EAAE,OAAO,KAChC,IAAI,CAAC;IACV,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;CAChD;AAED;;;GAGG;AAEH,eAAO,MAAM,cAAc,oCAEzB,CAAC;AA4DH;;;GAGG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,YAAY,eA6M1C;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,eA0DlD"}
@@ -2,9 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ListboxItem = exports.Listbox = exports.ListboxContext = void 0;
4
4
  /*---------------------------------------------------------------------------------------------
5
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
6
- * See LICENSE.md in the project root for license terms and full copyright notice.
7
- *--------------------------------------------------------------------------------------------*/
5
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
6
+ * See LICENSE.md in the project root for license terms and full copyright notice.
7
+ *--------------------------------------------------------------------------------------------*/
8
8
  const React = require("react");
9
9
  const classnames_1 = require("classnames");
10
10
  require("./Listbox.scss");
@@ -15,12 +15,16 @@ const appui_abstract_1 = require("@itwin/appui-abstract");
15
15
  * @alpha
16
16
  */
17
17
  // istanbul ignore next
18
- exports.ListboxContext = React.createContext({ onListboxValueChange: (_newValue) => { } }); // eslint-disable-line @typescript-eslint/naming-convention
18
+ exports.ListboxContext = React.createContext({
19
+ onListboxValueChange: (_newValue) => { },
20
+ });
19
21
  function makeId(...args) {
20
22
  return args.filter((val) => val != null).join("--");
21
23
  }
22
24
  function getOptionValueArray(childNodes) {
23
- return React.Children.toArray(childNodes).filter((node) => React.isValidElement(node) && node.props.value).map((optionNode) => optionNode.props);
25
+ return React.Children.toArray(childNodes)
26
+ .filter((node) => React.isValidElement(node) && node.props.value)
27
+ .map((optionNode) => optionNode.props);
24
28
  }
25
29
  function processKeyboardNavigation(optionValues, itemIndex, key) {
26
30
  let keyProcessed = false;
@@ -71,7 +75,9 @@ function processKeyboardNavigation(optionValues, itemIndex, key) {
71
75
  function Listbox(props) {
72
76
  const { ariaLabel, ariaLabelledBy, id, children, selectedValue, className, onListboxValueChange, onKeyDown, ...otherProps } = props;
73
77
  const listRef = React.useRef(null);
74
- const [listId] = React.useState(() => { return id !== null && id !== void 0 ? id : core_bentley_1.Guid.createValue(); });
78
+ const [listId] = React.useState(() => {
79
+ return id !== null && id !== void 0 ? id : core_bentley_1.Guid.createValue();
80
+ });
75
81
  const optionValues = React.useMemo(() => getOptionValueArray(children), [children]);
76
82
  const classes = React.useMemo(() => (0, classnames_1.default)("core-listbox", className), [className]);
77
83
  const [currentValue, setCurrentValue] = React.useState(selectedValue);
@@ -95,7 +101,6 @@ function Listbox(props) {
95
101
  if (itemIndex >= 0 && itemIndex < optionValues.length) {
96
102
  const newSelection = optionValues[itemIndex];
97
103
  const listElement = listRef.current;
98
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
99
104
  const optionToFocus = listElement.querySelector(`li[data-value="${newSelection.value}"]`);
100
105
  // istanbul ignore else
101
106
  if (optionToFocus && listElement) {
@@ -119,7 +124,9 @@ function Listbox(props) {
119
124
  const handleKeyDown = React.useCallback((event) => {
120
125
  if (optionValues.length < 1)
121
126
  return;
122
- const itemIndex = (undefined === focusValue) ? -1 : optionValues.findIndex((optionValue) => ((optionValue.value === focusValue)));
127
+ const itemIndex = undefined === focusValue
128
+ ? -1
129
+ : optionValues.findIndex((optionValue) => optionValue.value === focusValue);
123
130
  if (event.key === appui_abstract_1.SpecialKey.Space) {
124
131
  event.preventDefault();
125
132
  // istanbul ignore else
@@ -146,7 +153,7 @@ function Listbox(props) {
146
153
  if (isInitialMount.current) {
147
154
  isInitialMount.current = false;
148
155
  if (undefined !== focusValue) {
149
- const itemIndex = optionValues.findIndex((optionValue) => (optionValue.value === focusValue));
156
+ const itemIndex = optionValues.findIndex((optionValue) => optionValue.value === focusValue);
150
157
  focusOption(itemIndex);
151
158
  }
152
159
  }
@@ -171,7 +178,7 @@ function Listbox(props) {
171
178
  }
172
179
  }
173
180
  }, [currentValue, focusValue, optionValues]);
174
- return React.createElement("ul", { className: classes, "aria-labelledby": ariaLabel ? undefined : ariaLabelledBy, "aria-label": ariaLabel,
181
+ return (React.createElement("ul", { className: classes, "aria-labelledby": ariaLabel ? undefined : ariaLabelledBy, "aria-label": ariaLabel,
175
182
  // An element that contains or owns all the listbox options has role
176
183
  // listbox.
177
184
  // https://www.w3.org/TR/wai-aria-practices-1.2/#Listbox
@@ -184,7 +191,7 @@ function Listbox(props) {
184
191
  listboxId: listId,
185
192
  onListboxValueChange: handleValueChange,
186
193
  listboxRef: listRef,
187
- } }, children));
194
+ } }, children)));
188
195
  }
189
196
  exports.Listbox = Listbox;
190
197
  /**
@@ -193,7 +200,7 @@ exports.Listbox = Listbox;
193
200
  */
194
201
  function ListboxItem(props) {
195
202
  const { children, value, className, disabled, ...otherProps } = props;
196
- const { listboxValue, focusValue, listboxId, onListboxValueChange, } = React.useContext(exports.ListboxContext);
203
+ const { listboxValue, focusValue, listboxId, onListboxValueChange } = React.useContext(exports.ListboxContext);
197
204
  const hasFocus = focusValue === value;
198
205
  const classes = React.useMemo(() => (0, classnames_1.default)("core-listbox-item", hasFocus && "focused", className), [className, hasFocus]);
199
206
  const itemRef = React.useRef(null);
@@ -1 +1 @@
1
- {"version":3,"file":"Listbox.js","sourceRoot":"","sources":["../../../../src/core-react/listbox/Listbox.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*--------------------------------------------------------------------------------------------*/\nimport * as React from \"react\";\nimport classnames from \"classnames\";\n\nimport \"./Listbox.scss\";\nimport { Guid } from \"@itwin/core-bentley\";\nimport { SpecialKey } from \"@itwin/appui-abstract\";\n\n/** Ideas borrowed from https://reacttraining.com/reach-ui/listbox */\n\n/**\n * `Listbox` value.\n * @alpha\n */\nexport type ListboxValue = string;\n\n/**\n * `Listbox` Props.\n * @alpha\n */\nexport interface ListboxProps extends React.DetailedHTMLProps<React.HTMLAttributes<HTMLUListElement>, HTMLUListElement> {\n id?: string;\n selectedValue?: ListboxValue;\n ariaLabel?: any;\n ariaLabelledBy?: any;\n onListboxValueChange?: ((newValue: ListboxValue, isControlOrCommandPressed?: boolean) => void);\n}\n\n/**\n * `ListboxItem` Props.\n * @alpha\n */\nexport interface ListboxItemProps extends React.DetailedHTMLProps<React.LiHTMLAttributes<HTMLLIElement>, HTMLLIElement> {\n /** The unique item's value. */\n value: ListboxValue;\n /** set if item is disabled. */\n disabled?: boolean;\n}\n\n/**\n * `Listbox` Context.\n * @alpha\n */\nexport interface ListboxContextProps {\n listboxId?: string;\n listboxValue?: ListboxValue;\n focusValue?: ListboxValue;\n onListboxValueChange: ((newValue: ListboxValue, isControlOrCommandPressed?: boolean) => void);\n listboxRef?: React.RefObject<HTMLUListElement>;\n}\n\n/**\n * Context set up by listbox for use by `ListboxItems` .\n * @alpha\n */\n// istanbul ignore next\nexport const ListboxContext = React.createContext<ListboxContextProps>({ onListboxValueChange: (_newValue: ListboxValue | undefined) => { } }); // eslint-disable-line @typescript-eslint/naming-convention\n\nfunction makeId(...args: Array<string | number | null | undefined>) {\n return args.filter((val) => val != null).join(\"--\");\n}\n\nfunction getOptionValueArray(childNodes: React.ReactNode): ListboxItemProps[] {\n return React.Children.toArray(childNodes).filter((node) => React.isValidElement(node) && node.props.value).map((optionNode) => ((optionNode as React.ReactElement).props as ListboxItemProps));\n}\n\nfunction processKeyboardNavigation(optionValues: ListboxItemProps[], itemIndex: number, key: string): [number, boolean] {\n let keyProcessed = false;\n let newIndex = itemIndex >= 0 ? itemIndex : 0;\n\n // Note: In aria example Page Up/Down just moves up or down by one item. See https://www.w3.org/TR/wai-aria-practices-1.1/examples/listbox/js/listbox.js\n if (key === SpecialKey.ArrowDown || key === SpecialKey.PageDown) {\n for (let i = itemIndex + 1; i < optionValues.length; i++) {\n if (!optionValues[i].disabled) {\n newIndex = i;\n break;\n }\n }\n keyProcessed = true;\n } else if (key === SpecialKey.ArrowUp || key === SpecialKey.PageUp) {\n for (let i = itemIndex - 1; i >= 0; i--) {\n if (!optionValues[i].disabled) {\n newIndex = i;\n break;\n }\n }\n keyProcessed = true;\n } else if (key === SpecialKey.Home) {\n for (let i = 0; i < optionValues.length; i++) {\n if (!optionValues[i].disabled) {\n newIndex = i;\n break;\n }\n }\n keyProcessed = true;\n } else if (key === SpecialKey.End) {\n for (let i = optionValues.length - 1; i >= 0; i--) {\n if (!optionValues[i].disabled) {\n newIndex = i;\n break;\n }\n }\n keyProcessed = true;\n }\n return [newIndex, keyProcessed];\n}\n\n/**\n * Single select `Listbox` component\n * @alpha\n */\nexport function Listbox(props: ListboxProps) {\n const { ariaLabel, ariaLabelledBy, id, children, selectedValue, className, onListboxValueChange, onKeyDown, ...otherProps } = props;\n const listRef = React.useRef<HTMLUListElement>(null);\n const [listId] = React.useState(() => { return id ?? Guid.createValue(); });\n const optionValues = React.useMemo(() => getOptionValueArray(children), [children]);\n const classes = React.useMemo(() => classnames(\"core-listbox\", className), [className]);\n const [currentValue, setCurrentValue] = React.useState<ListboxValue | undefined>(selectedValue);\n const [focusValue, setFocusValue] = React.useState<ListboxValue | undefined>(currentValue);\n\n React.useEffect(() => {\n setCurrentValue(selectedValue);\n setFocusValue(selectedValue);\n }, [selectedValue]);\n\n const scrollTopRef = React.useRef(0);\n const handleValueChange = React.useCallback((newValue: ListboxValue, isControlOrCommandPressed?: boolean) => {\n // istanbul ignore else\n if (newValue !== currentValue) {\n setCurrentValue(newValue);\n setFocusValue(newValue);\n if (onListboxValueChange)\n onListboxValueChange(newValue, isControlOrCommandPressed);\n }\n }, [setCurrentValue, currentValue, onListboxValueChange]);\n\n const focusOption = React.useCallback((itemIndex: number) => {\n // istanbul ignore else\n if (itemIndex >= 0 && itemIndex < optionValues.length) {\n const newSelection = optionValues[itemIndex];\n const listElement = listRef.current as HTMLUListElement;\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n const optionToFocus = listElement.querySelector(`li[data-value=\"${newSelection.value}\"]`) as HTMLLIElement | null;\n // istanbul ignore else\n if (optionToFocus && listElement) {\n let newScrollTop = listElement.scrollTop;\n\n // istanbul ignore next\n if (listElement.scrollHeight > listElement.clientHeight) {\n const scrollBottom = listElement.clientHeight + listElement.scrollTop;\n const elementBottom = optionToFocus.offsetTop + optionToFocus.offsetHeight;\n if (elementBottom > scrollBottom) {\n newScrollTop = elementBottom - listElement.clientHeight;\n } else if (optionToFocus.offsetTop < listElement.scrollTop) {\n newScrollTop = optionToFocus.offsetTop;\n }\n scrollTopRef.current = newScrollTop;\n }\n setFocusValue(newSelection.value);\n }\n }\n }, [optionValues]);\n\n const handleKeyDown = React.useCallback((event: React.KeyboardEvent<HTMLUListElement>) => {\n if (optionValues.length < 1)\n return;\n\n const itemIndex = (undefined === focusValue) ? -1 : optionValues.findIndex((optionValue) => ((optionValue.value === focusValue)));\n\n if (event.key === SpecialKey.Space) {\n event.preventDefault();\n // istanbul ignore else\n if (focusValue)\n handleValueChange(focusValue, event.getModifierState(\"Control\") || event.getModifierState(\"Meta\")); // Control or Command\n return;\n } else {\n const [newItemIndex, keyProcessed] = processKeyboardNavigation(optionValues, itemIndex, event.key);\n // istanbul ignore else\n if (keyProcessed) {\n event.preventDefault();\n focusOption(newItemIndex);\n return;\n }\n }\n\n // istanbul ignore else\n if (onKeyDown)\n onKeyDown(event);\n }, [focusValue, optionValues, focusOption, onKeyDown, handleValueChange]);\n\n const isInitialMount = React.useRef(true);\n\n React.useEffect(() => {\n const list = listRef.current as HTMLUListElement;\n\n if (isInitialMount.current) {\n isInitialMount.current = false;\n\n if (undefined !== focusValue) {\n const itemIndex = optionValues.findIndex((optionValue) => (optionValue.value === focusValue));\n focusOption(itemIndex);\n }\n } else {\n list.scrollTop = scrollTopRef.current;\n }\n }, [focusValue, focusOption, optionValues]);\n\n // istanbul ignore next\n const handleOnScroll = React.useCallback((_event: React.UIEvent<HTMLUListElement, UIEvent>) => {\n if (listRef.current)\n scrollTopRef.current = listRef.current.scrollTop;\n }, []);\n\n // istanbul ignore next\n const handleOnFocus = React.useCallback((_event: React.FocusEvent<HTMLUListElement>) => {\n if (!focusValue || 0 === focusValue.length) {\n if (currentValue) {\n setFocusValue(currentValue);\n } else {\n if (optionValues.length > 0)\n setFocusValue(optionValues[0].value);\n }\n }\n }, [currentValue, focusValue, optionValues]);\n\n return <ul\n className={classes}\n // If the listbox is not part of another widget, then it has a visible\n // label referenced by `aria-labelledby` on the element with role\n // `listbox`.\n // https://www.w3.org/TR/wai-aria-practices-1.2/#Listbox\n // If an `aria-label` is passed, we should skip `aria-labelledby` to\n // avoid confusion.\n aria-labelledby={ariaLabel ? undefined : ariaLabelledBy}\n aria-label={ariaLabel}\n // An element that contains or owns all the listbox options has role\n // listbox.\n // https://www.w3.org/TR/wai-aria-practices-1.2/#Listbox\n role=\"listbox\"\n // https://www.w3.org/TR/wai-aria-practices-1.2/examples/listbox/listbox-collapsible.html\n tabIndex={0}\n // https://www.w3.org/TR/wai-aria-practices-1.2/examples/listbox/listbox-scrollable.html\n aria-activedescendant={makeId(currentValue, listId)}\n {...otherProps}\n ref={listRef}\n id={listId}\n onKeyDown={handleKeyDown}\n onScroll={handleOnScroll}\n data-value={currentValue}\n data-focusvalue={focusValue}\n onFocus={handleOnFocus}\n >\n <ListboxContext.Provider\n value={{\n listboxValue: currentValue,\n focusValue,\n listboxId: listId,\n onListboxValueChange: handleValueChange,\n listboxRef: listRef,\n }}\n >\n {children}\n </ListboxContext.Provider>\n </ul>;\n}\n\n/**\n * `ListboxItem` component.\n * @alpha\n */\nexport function ListboxItem(props: ListboxItemProps) {\n const {\n children,\n value,\n className,\n disabled,\n ...otherProps\n } = props;\n\n const {\n listboxValue,\n focusValue,\n listboxId,\n onListboxValueChange,\n } = React.useContext(ListboxContext);\n\n const hasFocus = focusValue === value;\n\n const classes = React.useMemo(() => classnames(\"core-listbox-item\", hasFocus && \"focused\", className), [className, hasFocus]);\n const itemRef = React.useRef<HTMLLIElement>(null);\n const isSelected = listboxValue === value;\n\n const handleClick = React.useCallback((event: React.MouseEvent<HTMLLIElement, MouseEvent>) => {\n event.preventDefault();\n // istanbul ignore next\n const selectedValue = event.currentTarget?.dataset?.value;\n // istanbul ignore else\n if (undefined !== selectedValue) {\n onListboxValueChange(selectedValue, event.ctrlKey);\n }\n }, [onListboxValueChange]);\n\n const getItemId = React.useCallback(() => {\n return makeId(value, listboxId);\n }, [listboxId, value]);\n\n return (\n // eslint-disable-next-line jsx-a11y/click-events-have-key-events\n <li\n // In a single-select listbox, the selected option has `aria-selected`\n // set to `true`.\n // https://www.w3.org/TR/wai-aria-practices-1.2/#Listbox\n aria-selected={isSelected}\n // Applicable to all host language elements regardless of whether a\n // `role` is applied.\n // https://www.w3.org/WAI/PF/aria/states_and_properties#global_states_header\n aria-disabled={disabled || undefined}\n // Each option in the listbox has role `option` and is a DOM descendant\n // of the element with role `listbox`.\n // https://www.w3.org/TR/wai-aria-practices-1.2/#Listbox\n role=\"option\"\n className={classes}\n {...otherProps}\n ref={itemRef}\n id={getItemId()}\n // used for css styling\n data-value={value}\n onClick={handleClick}\n >\n {children}\n </li>\n );\n}\n"]}
1
+ {"version":3,"file":"Listbox.js","sourceRoot":"","sources":["../../../../src/core-react/listbox/Listbox.tsx"],"names":[],"mappings":";;;AAAA;;;gGAGgG;AAChG,+BAA+B;AAC/B,2CAAoC;AAEpC,0BAAwB;AACxB,sDAA2C;AAC3C,0DAAmD;AA2DnD;;;GAGG;AACH,uBAAuB;AACV,QAAA,cAAc,GAAG,KAAK,CAAC,aAAa,CAAsB;IACrE,oBAAoB,EAAE,CAAC,SAAmC,EAAE,EAAE,GAAE,CAAC;CAClE,CAAC,CAAC;AAEH,SAAS,MAAM,CAAC,GAAG,IAA+C;IAChE,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,mBAAmB,CAAC,UAA2B;IACtD,OAAO,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC;SACtC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;SAChE,GAAG,CACF,CAAC,UAAU,EAAE,EAAE,CACZ,UAAiC,CAAC,KAAyB,CAC/D,CAAC;AACN,CAAC;AAED,SAAS,yBAAyB,CAChC,YAAgC,EAChC,SAAiB,EACjB,GAAW;IAEX,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,IAAI,QAAQ,GAAG,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAE9C,wJAAwJ;IACxJ,IAAI,GAAG,KAAK,2BAAU,CAAC,SAAS,IAAI,GAAG,KAAK,2BAAU,CAAC,QAAQ,EAAE;QAC/D,KAAK,IAAI,CAAC,GAAG,SAAS,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACxD,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;gBAC7B,QAAQ,GAAG,CAAC,CAAC;gBACb,MAAM;aACP;SACF;QACD,YAAY,GAAG,IAAI,CAAC;KACrB;SAAM,IAAI,GAAG,KAAK,2BAAU,CAAC,OAAO,IAAI,GAAG,KAAK,2BAAU,CAAC,MAAM,EAAE;QAClE,KAAK,IAAI,CAAC,GAAG,SAAS,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;YACvC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;gBAC7B,QAAQ,GAAG,CAAC,CAAC;gBACb,MAAM;aACP;SACF;QACD,YAAY,GAAG,IAAI,CAAC;KACrB;SAAM,IAAI,GAAG,KAAK,2BAAU,CAAC,IAAI,EAAE;QAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC5C,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;gBAC7B,QAAQ,GAAG,CAAC,CAAC;gBACb,MAAM;aACP;SACF;QACD,YAAY,GAAG,IAAI,CAAC;KACrB;SAAM,IAAI,GAAG,KAAK,2BAAU,CAAC,GAAG,EAAE;QACjC,KAAK,IAAI,CAAC,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;YACjD,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;gBAC7B,QAAQ,GAAG,CAAC,CAAC;gBACb,MAAM;aACP;SACF;QACD,YAAY,GAAG,IAAI,CAAC;KACrB;IACD,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;AAClC,CAAC;AAED;;;GAGG;AACH,SAAgB,OAAO,CAAC,KAAmB;IACzC,MAAM,EACJ,SAAS,EACT,cAAc,EACd,EAAE,EACF,QAAQ,EACR,aAAa,EACb,SAAS,EACT,oBAAoB,EACpB,SAAS,EACT,GAAG,UAAU,EACd,GAAG,KAAK,CAAC;IACV,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAmB,IAAI,CAAC,CAAC;IACrD,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE;QACnC,OAAO,EAAE,aAAF,EAAE,cAAF,EAAE,GAAI,mBAAI,CAAC,WAAW,EAAE,CAAC;IAClC,CAAC,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAChC,GAAG,EAAE,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EACnC,CAAC,QAAQ,CAAC,CACX,CAAC;IACF,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAC3B,GAAG,EAAE,CAAC,IAAA,oBAAU,EAAC,cAAc,EAAE,SAAS,CAAC,EAC3C,CAAC,SAAS,CAAC,CACZ,CAAC;IACF,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,KAAK,CAAC,QAAQ,CAEpD,aAAa,CAAC,CAAC;IACjB,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,KAAK,CAAC,QAAQ,CAChD,YAAY,CACb,CAAC;IAEF,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,eAAe,CAAC,aAAa,CAAC,CAAC;QAC/B,aAAa,CAAC,aAAa,CAAC,CAAC;IAC/B,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACrC,MAAM,iBAAiB,GAAG,KAAK,CAAC,WAAW,CACzC,CAAC,QAAsB,EAAE,yBAAmC,EAAE,EAAE;QAC9D,uBAAuB;QACvB,IAAI,QAAQ,KAAK,YAAY,EAAE;YAC7B,eAAe,CAAC,QAAQ,CAAC,CAAC;YAC1B,aAAa,CAAC,QAAQ,CAAC,CAAC;YACxB,IAAI,oBAAoB;gBACtB,oBAAoB,CAAC,QAAQ,EAAE,yBAAyB,CAAC,CAAC;SAC7D;IACH,CAAC,EACD,CAAC,eAAe,EAAE,YAAY,EAAE,oBAAoB,CAAC,CACtD,CAAC;IAEF,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CACnC,CAAC,SAAiB,EAAE,EAAE;QACpB,uBAAuB;QACvB,IAAI,SAAS,IAAI,CAAC,IAAI,SAAS,GAAG,YAAY,CAAC,MAAM,EAAE;YACrD,MAAM,YAAY,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;YAC7C,MAAM,WAAW,GAAG,OAAO,CAAC,OAA2B,CAAC;YACxD,MAAM,aAAa,GAAG,WAAW,CAAC,aAAa,CAC7C,kBAAkB,YAAY,CAAC,KAAK,IAAI,CACzC,CAAC;YACF,uBAAuB;YACvB,IAAI,aAAa,IAAI,WAAW,EAAE;gBAChC,IAAI,YAAY,GAAG,WAAW,CAAC,SAAS,CAAC;gBAEzC,uBAAuB;gBACvB,IAAI,WAAW,CAAC,YAAY,GAAG,WAAW,CAAC,YAAY,EAAE;oBACvD,MAAM,YAAY,GAChB,WAAW,CAAC,YAAY,GAAG,WAAW,CAAC,SAAS,CAAC;oBACnD,MAAM,aAAa,GACjB,aAAa,CAAC,SAAS,GAAG,aAAa,CAAC,YAAY,CAAC;oBACvD,IAAI,aAAa,GAAG,YAAY,EAAE;wBAChC,YAAY,GAAG,aAAa,GAAG,WAAW,CAAC,YAAY,CAAC;qBACzD;yBAAM,IAAI,aAAa,CAAC,SAAS,GAAG,WAAW,CAAC,SAAS,EAAE;wBAC1D,YAAY,GAAG,aAAa,CAAC,SAAS,CAAC;qBACxC;oBACD,YAAY,CAAC,OAAO,GAAG,YAAY,CAAC;iBACrC;gBACD,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;aACnC;SACF;IACH,CAAC,EACD,CAAC,YAAY,CAAC,CACf,CAAC;IAEF,MAAM,aAAa,GAAG,KAAK,CAAC,WAAW,CACrC,CAAC,KAA4C,EAAE,EAAE;QAC/C,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO;QAEpC,MAAM,SAAS,GACb,SAAS,KAAK,UAAU;YACtB,CAAC,CAAC,CAAC,CAAC;YACJ,CAAC,CAAC,YAAY,CAAC,SAAS,CACpB,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,KAAK,UAAU,CAClD,CAAC;QAER,IAAI,KAAK,CAAC,GAAG,KAAK,2BAAU,CAAC,KAAK,EAAE;YAClC,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,uBAAuB;YACvB,IAAI,UAAU;gBACZ,iBAAiB,CACf,UAAU,EACV,KAAK,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CACpE,CAAC,CAAC,qBAAqB;YAC1B,OAAO;SACR;aAAM;YACL,MAAM,CAAC,YAAY,EAAE,YAAY,CAAC,GAAG,yBAAyB,CAC5D,YAAY,EACZ,SAAS,EACT,KAAK,CAAC,GAAG,CACV,CAAC;YACF,uBAAuB;YACvB,IAAI,YAAY,EAAE;gBAChB,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,WAAW,CAAC,YAAY,CAAC,CAAC;gBAC1B,OAAO;aACR;SACF;QAED,uBAAuB;QACvB,IAAI,SAAS;YAAE,SAAS,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC,EACD,CAAC,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,iBAAiB,CAAC,CACtE,CAAC;IAEF,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAE1C,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,IAAI,GAAG,OAAO,CAAC,OAA2B,CAAC;QAEjD,IAAI,cAAc,CAAC,OAAO,EAAE;YAC1B,cAAc,CAAC,OAAO,GAAG,KAAK,CAAC;YAE/B,IAAI,SAAS,KAAK,UAAU,EAAE;gBAC5B,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,CACtC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,KAAK,UAAU,CAClD,CAAC;gBACF,WAAW,CAAC,SAAS,CAAC,CAAC;aACxB;SACF;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC;SACvC;IACH,CAAC,EAAE,CAAC,UAAU,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC;IAE5C,uBAAuB;IACvB,MAAM,cAAc,GAAG,KAAK,CAAC,WAAW,CACtC,CAAC,MAAgD,EAAE,EAAE;QACnD,IAAI,OAAO,CAAC,OAAO;YAAE,YAAY,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC;IACxE,CAAC,EACD,EAAE,CACH,CAAC;IAEF,uBAAuB;IACvB,MAAM,aAAa,GAAG,KAAK,CAAC,WAAW,CACrC,CAAC,MAA0C,EAAE,EAAE;QAC7C,IAAI,CAAC,UAAU,IAAI,CAAC,KAAK,UAAU,CAAC,MAAM,EAAE;YAC1C,IAAI,YAAY,EAAE;gBAChB,aAAa,CAAC,YAAY,CAAC,CAAC;aAC7B;iBAAM;gBACL,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC;oBAAE,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;aACnE;SACF;IACH,CAAC,EACD,CAAC,YAAY,EAAE,UAAU,EAAE,YAAY,CAAC,CACzC,CAAC;IAEF,OAAO,CACL,4BACE,SAAS,EAAE,OAAO,qBAOD,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,gBAC3C,SAAS;QACrB,oEAAoE;QACpE,WAAW;QACX,wDAAwD;QACxD,IAAI,EAAC,SAAS;QACd,yFAAyF;QACzF,QAAQ,EAAE,CAAC,2BAEY,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,KAC/C,UAAU,EACd,GAAG,EAAE,OAAO,EACZ,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,aAAa,EACxB,QAAQ,EAAE,cAAc,gBACZ,YAAY,qBACP,UAAU,EAC3B,OAAO,EAAE,aAAa;QAEtB,oBAAC,sBAAc,CAAC,QAAQ,IACtB,KAAK,EAAE;gBACL,YAAY,EAAE,YAAY;gBAC1B,UAAU;gBACV,SAAS,EAAE,MAAM;gBACjB,oBAAoB,EAAE,iBAAiB;gBACvC,UAAU,EAAE,OAAO;aACpB,IAEA,QAAQ,CACe,CACvB,CACN,CAAC;AACJ,CAAC;AA7MD,0BA6MC;AAED;;;GAGG;AACH,SAAgB,WAAW,CAAC,KAAuB;IACjD,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,UAAU,EAAE,GAAG,KAAK,CAAC;IAEtE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,oBAAoB,EAAE,GACjE,KAAK,CAAC,UAAU,CAAC,sBAAc,CAAC,CAAC;IAEnC,MAAM,QAAQ,GAAG,UAAU,KAAK,KAAK,CAAC;IAEtC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAC3B,GAAG,EAAE,CAAC,IAAA,oBAAU,EAAC,mBAAmB,EAAE,QAAQ,IAAI,SAAS,EAAE,SAAS,CAAC,EACvE,CAAC,SAAS,EAAE,QAAQ,CAAC,CACtB,CAAC;IACF,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAgB,IAAI,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,YAAY,KAAK,KAAK,CAAC;IAE1C,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CACnC,CAAC,KAAkD,EAAE,EAAE;;QACrD,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,uBAAuB;QACvB,MAAM,aAAa,GAAG,MAAA,MAAA,KAAK,CAAC,aAAa,0CAAE,OAAO,0CAAE,KAAK,CAAC;QAC1D,uBAAuB;QACvB,IAAI,SAAS,KAAK,aAAa,EAAE;YAC/B,oBAAoB,CAAC,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;SACpD;IACH,CAAC,EACD,CAAC,oBAAoB,CAAC,CACvB,CAAC;IAEF,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACvC,OAAO,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAClC,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;IAEvB,OAAO;IACL,iEAAiE;IACjE,6CAIiB,UAAU,mBAIV,QAAQ,IAAI,SAAS;QACpC,uEAAuE;QACvE,sCAAsC;QACtC,wDAAwD;QACxD,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,OAAO,KACd,UAAU,EACd,GAAG,EAAE,OAAO,EACZ,EAAE,EAAE,SAAS,EAAE,gBAEH,KAAK,EACjB,OAAO,EAAE,WAAW,IAEnB,QAAQ,CACN,CACN,CAAC;AACJ,CAAC;AA1DD,kCA0DC","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 *--------------------------------------------------------------------------------------------*/\nimport * as React from \"react\";\nimport classnames from \"classnames\";\n\nimport \"./Listbox.scss\";\nimport { Guid } from \"@itwin/core-bentley\";\nimport { SpecialKey } from \"@itwin/appui-abstract\";\n\n/** Ideas borrowed from https://reacttraining.com/reach-ui/listbox */\n\n/**\n * `Listbox` value.\n * @alpha\n */\nexport type ListboxValue = string;\n\n/**\n * `Listbox` Props.\n * @alpha\n */\nexport interface ListboxProps\n extends React.DetailedHTMLProps<\n React.HTMLAttributes<HTMLUListElement>,\n HTMLUListElement\n > {\n id?: string;\n selectedValue?: ListboxValue;\n ariaLabel?: any;\n ariaLabelledBy?: any;\n onListboxValueChange?: (\n newValue: ListboxValue,\n isControlOrCommandPressed?: boolean\n ) => void;\n}\n\n/**\n * `ListboxItem` Props.\n * @alpha\n */\nexport interface ListboxItemProps\n extends React.DetailedHTMLProps<\n React.LiHTMLAttributes<HTMLLIElement>,\n HTMLLIElement\n > {\n /** The unique item's value. */\n value: ListboxValue;\n /** set if item is disabled. */\n disabled?: boolean;\n}\n\n/**\n * `Listbox` Context.\n * @alpha\n */\nexport interface ListboxContextProps {\n listboxId?: string;\n listboxValue?: ListboxValue;\n focusValue?: ListboxValue;\n onListboxValueChange: (\n newValue: ListboxValue,\n isControlOrCommandPressed?: boolean\n ) => void;\n listboxRef?: React.RefObject<HTMLUListElement>;\n}\n\n/**\n * Context set up by listbox for use by `ListboxItems` .\n * @alpha\n */\n// istanbul ignore next\nexport const ListboxContext = React.createContext<ListboxContextProps>({\n onListboxValueChange: (_newValue: ListboxValue | undefined) => {},\n});\n\nfunction makeId(...args: Array<string | number | null | undefined>) {\n return args.filter((val) => val != null).join(\"--\");\n}\n\nfunction getOptionValueArray(childNodes: React.ReactNode): ListboxItemProps[] {\n return React.Children.toArray(childNodes)\n .filter((node) => React.isValidElement(node) && node.props.value)\n .map(\n (optionNode) =>\n (optionNode as React.ReactElement).props as ListboxItemProps\n );\n}\n\nfunction processKeyboardNavigation(\n optionValues: ListboxItemProps[],\n itemIndex: number,\n key: string\n): [number, boolean] {\n let keyProcessed = false;\n let newIndex = itemIndex >= 0 ? itemIndex : 0;\n\n // Note: In aria example Page Up/Down just moves up or down by one item. See https://www.w3.org/TR/wai-aria-practices-1.1/examples/listbox/js/listbox.js\n if (key === SpecialKey.ArrowDown || key === SpecialKey.PageDown) {\n for (let i = itemIndex + 1; i < optionValues.length; i++) {\n if (!optionValues[i].disabled) {\n newIndex = i;\n break;\n }\n }\n keyProcessed = true;\n } else if (key === SpecialKey.ArrowUp || key === SpecialKey.PageUp) {\n for (let i = itemIndex - 1; i >= 0; i--) {\n if (!optionValues[i].disabled) {\n newIndex = i;\n break;\n }\n }\n keyProcessed = true;\n } else if (key === SpecialKey.Home) {\n for (let i = 0; i < optionValues.length; i++) {\n if (!optionValues[i].disabled) {\n newIndex = i;\n break;\n }\n }\n keyProcessed = true;\n } else if (key === SpecialKey.End) {\n for (let i = optionValues.length - 1; i >= 0; i--) {\n if (!optionValues[i].disabled) {\n newIndex = i;\n break;\n }\n }\n keyProcessed = true;\n }\n return [newIndex, keyProcessed];\n}\n\n/**\n * Single select `Listbox` component\n * @alpha\n */\nexport function Listbox(props: ListboxProps) {\n const {\n ariaLabel,\n ariaLabelledBy,\n id,\n children,\n selectedValue,\n className,\n onListboxValueChange,\n onKeyDown,\n ...otherProps\n } = props;\n const listRef = React.useRef<HTMLUListElement>(null);\n const [listId] = React.useState(() => {\n return id ?? Guid.createValue();\n });\n const optionValues = React.useMemo(\n () => getOptionValueArray(children),\n [children]\n );\n const classes = React.useMemo(\n () => classnames(\"core-listbox\", className),\n [className]\n );\n const [currentValue, setCurrentValue] = React.useState<\n ListboxValue | undefined\n >(selectedValue);\n const [focusValue, setFocusValue] = React.useState<ListboxValue | undefined>(\n currentValue\n );\n\n React.useEffect(() => {\n setCurrentValue(selectedValue);\n setFocusValue(selectedValue);\n }, [selectedValue]);\n\n const scrollTopRef = React.useRef(0);\n const handleValueChange = React.useCallback(\n (newValue: ListboxValue, isControlOrCommandPressed?: boolean) => {\n // istanbul ignore else\n if (newValue !== currentValue) {\n setCurrentValue(newValue);\n setFocusValue(newValue);\n if (onListboxValueChange)\n onListboxValueChange(newValue, isControlOrCommandPressed);\n }\n },\n [setCurrentValue, currentValue, onListboxValueChange]\n );\n\n const focusOption = React.useCallback(\n (itemIndex: number) => {\n // istanbul ignore else\n if (itemIndex >= 0 && itemIndex < optionValues.length) {\n const newSelection = optionValues[itemIndex];\n const listElement = listRef.current as HTMLUListElement;\n const optionToFocus = listElement.querySelector<HTMLLIElement>(\n `li[data-value=\"${newSelection.value}\"]`\n );\n // istanbul ignore else\n if (optionToFocus && listElement) {\n let newScrollTop = listElement.scrollTop;\n\n // istanbul ignore next\n if (listElement.scrollHeight > listElement.clientHeight) {\n const scrollBottom =\n listElement.clientHeight + listElement.scrollTop;\n const elementBottom =\n optionToFocus.offsetTop + optionToFocus.offsetHeight;\n if (elementBottom > scrollBottom) {\n newScrollTop = elementBottom - listElement.clientHeight;\n } else if (optionToFocus.offsetTop < listElement.scrollTop) {\n newScrollTop = optionToFocus.offsetTop;\n }\n scrollTopRef.current = newScrollTop;\n }\n setFocusValue(newSelection.value);\n }\n }\n },\n [optionValues]\n );\n\n const handleKeyDown = React.useCallback(\n (event: React.KeyboardEvent<HTMLUListElement>) => {\n if (optionValues.length < 1) return;\n\n const itemIndex =\n undefined === focusValue\n ? -1\n : optionValues.findIndex(\n (optionValue) => optionValue.value === focusValue\n );\n\n if (event.key === SpecialKey.Space) {\n event.preventDefault();\n // istanbul ignore else\n if (focusValue)\n handleValueChange(\n focusValue,\n event.getModifierState(\"Control\") || event.getModifierState(\"Meta\")\n ); // Control or Command\n return;\n } else {\n const [newItemIndex, keyProcessed] = processKeyboardNavigation(\n optionValues,\n itemIndex,\n event.key\n );\n // istanbul ignore else\n if (keyProcessed) {\n event.preventDefault();\n focusOption(newItemIndex);\n return;\n }\n }\n\n // istanbul ignore else\n if (onKeyDown) onKeyDown(event);\n },\n [focusValue, optionValues, focusOption, onKeyDown, handleValueChange]\n );\n\n const isInitialMount = React.useRef(true);\n\n React.useEffect(() => {\n const list = listRef.current as HTMLUListElement;\n\n if (isInitialMount.current) {\n isInitialMount.current = false;\n\n if (undefined !== focusValue) {\n const itemIndex = optionValues.findIndex(\n (optionValue) => optionValue.value === focusValue\n );\n focusOption(itemIndex);\n }\n } else {\n list.scrollTop = scrollTopRef.current;\n }\n }, [focusValue, focusOption, optionValues]);\n\n // istanbul ignore next\n const handleOnScroll = React.useCallback(\n (_event: React.UIEvent<HTMLUListElement, UIEvent>) => {\n if (listRef.current) scrollTopRef.current = listRef.current.scrollTop;\n },\n []\n );\n\n // istanbul ignore next\n const handleOnFocus = React.useCallback(\n (_event: React.FocusEvent<HTMLUListElement>) => {\n if (!focusValue || 0 === focusValue.length) {\n if (currentValue) {\n setFocusValue(currentValue);\n } else {\n if (optionValues.length > 0) setFocusValue(optionValues[0].value);\n }\n }\n },\n [currentValue, focusValue, optionValues]\n );\n\n return (\n <ul\n className={classes}\n // If the listbox is not part of another widget, then it has a visible\n // label referenced by `aria-labelledby` on the element with role\n // `listbox`.\n // https://www.w3.org/TR/wai-aria-practices-1.2/#Listbox\n // If an `aria-label` is passed, we should skip `aria-labelledby` to\n // avoid confusion.\n aria-labelledby={ariaLabel ? undefined : ariaLabelledBy}\n aria-label={ariaLabel}\n // An element that contains or owns all the listbox options has role\n // listbox.\n // https://www.w3.org/TR/wai-aria-practices-1.2/#Listbox\n role=\"listbox\"\n // https://www.w3.org/TR/wai-aria-practices-1.2/examples/listbox/listbox-collapsible.html\n tabIndex={0}\n // https://www.w3.org/TR/wai-aria-practices-1.2/examples/listbox/listbox-scrollable.html\n aria-activedescendant={makeId(currentValue, listId)}\n {...otherProps}\n ref={listRef}\n id={listId}\n onKeyDown={handleKeyDown}\n onScroll={handleOnScroll}\n data-value={currentValue}\n data-focusvalue={focusValue}\n onFocus={handleOnFocus}\n >\n <ListboxContext.Provider\n value={{\n listboxValue: currentValue,\n focusValue,\n listboxId: listId,\n onListboxValueChange: handleValueChange,\n listboxRef: listRef,\n }}\n >\n {children}\n </ListboxContext.Provider>\n </ul>\n );\n}\n\n/**\n * `ListboxItem` component.\n * @alpha\n */\nexport function ListboxItem(props: ListboxItemProps) {\n const { children, value, className, disabled, ...otherProps } = props;\n\n const { listboxValue, focusValue, listboxId, onListboxValueChange } =\n React.useContext(ListboxContext);\n\n const hasFocus = focusValue === value;\n\n const classes = React.useMemo(\n () => classnames(\"core-listbox-item\", hasFocus && \"focused\", className),\n [className, hasFocus]\n );\n const itemRef = React.useRef<HTMLLIElement>(null);\n const isSelected = listboxValue === value;\n\n const handleClick = React.useCallback(\n (event: React.MouseEvent<HTMLLIElement, MouseEvent>) => {\n event.preventDefault();\n // istanbul ignore next\n const selectedValue = event.currentTarget?.dataset?.value;\n // istanbul ignore else\n if (undefined !== selectedValue) {\n onListboxValueChange(selectedValue, event.ctrlKey);\n }\n },\n [onListboxValueChange]\n );\n\n const getItemId = React.useCallback(() => {\n return makeId(value, listboxId);\n }, [listboxId, value]);\n\n return (\n // eslint-disable-next-line jsx-a11y/click-events-have-key-events\n <li\n // In a single-select listbox, the selected option has `aria-selected`\n // set to `true`.\n // https://www.w3.org/TR/wai-aria-practices-1.2/#Listbox\n aria-selected={isSelected}\n // Applicable to all host language elements regardless of whether a\n // `role` is applied.\n // https://www.w3.org/WAI/PF/aria/states_and_properties#global_states_header\n aria-disabled={disabled || undefined}\n // Each option in the listbox has role `option` and is a DOM descendant\n // of the element with role `listbox`.\n // https://www.w3.org/TR/wai-aria-practices-1.2/#Listbox\n role=\"option\"\n className={classes}\n {...otherProps}\n ref={itemRef}\n id={getItemId()}\n // used for css styling\n data-value={value}\n onClick={handleClick}\n >\n {children}\n </li>\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"LoadingBar.d.ts","sourceRoot":"","sources":["../../../../src/core-react/loading/LoadingBar.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,mBAAmB,CAAC;AAE3B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,WAAW;IAClD,cAAc;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,iCAAiC;IACjC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,4CAA4C;IAC5C,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,qBAAa,UAAW,SAAQ,KAAK,CAAC,aAAa,CAAC,eAAe,CAAC;IAClE,OAAc,YAAY,EAAE,OAAO,CAAC,eAAe,CAAC,CAElD;IAEc,MAAM;CAYvB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAItD"}
1
+ {"version":3,"file":"LoadingBar.d.ts","sourceRoot":"","sources":["../../../../src/core-react/loading/LoadingBar.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,mBAAmB,CAAC;AAE3B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,WAAW;IAClD,cAAc;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,iCAAiC;IACjC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,4CAA4C;IAC5C,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,qBAAa,UAAW,SAAQ,KAAK,CAAC,aAAa,CAAC,eAAe,CAAC;IAClE,OAAc,YAAY,EAAE,OAAO,CAAC,eAAe,CAAC,CAElD;IAEc,MAAM;CAcvB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAItD"}
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  /*---------------------------------------------------------------------------------------------
3
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
- * See LICENSE.md in the project root for license terms and full copyright notice.
5
- *--------------------------------------------------------------------------------------------*/
3
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
+ * See LICENSE.md in the project root for license terms and full copyright notice.
5
+ *--------------------------------------------------------------------------------------------*/
6
6
  /** @packageDocumentation
7
7
  * @module Loading
8
8
  */
@@ -22,7 +22,7 @@ class LoadingBar extends React.PureComponent {
22
22
  return (React.createElement("div", { className: containerClass, style: this.props.style },
23
23
  React.createElement("div", { className: "lb-container", style: { height: this.props.barHeight } },
24
24
  React.createElement("div", { className: "fill", style: { width: percent } })),
25
- this.props.showPercentage && React.createElement("span", { className: "percent" }, percent)));
25
+ this.props.showPercentage && (React.createElement("span", { className: "percent" }, percent))));
26
26
  }
27
27
  }
28
28
  LoadingBar.defaultProps = {
@@ -1 +1 @@
1
- {"version":3,"file":"LoadingBar.js","sourceRoot":"","sources":["../../../../src/core-react/loading/LoadingBar.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,6BAA2B;AAC3B,2CAAoC;AACpC,+BAA+B;AAe/B;;;GAGG;AACH,MAAa,UAAW,SAAQ,KAAK,CAAC,aAA8B;IAKlD,MAAM;QACpB,MAAM,OAAO,GAAG,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QACzD,MAAM,cAAc,GAAG,IAAA,oBAAU,EAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACnE,OAAO,CACL,6BAAK,SAAS,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;YACrD,6BAAK,SAAS,EAAC,cAAc,EAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;gBACnE,6BAAK,SAAS,EAAC,MAAM,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,GAAI,CAC/C;YACL,IAAI,CAAC,KAAK,CAAC,cAAc,IAAI,8BAAM,SAAS,EAAC,SAAS,IAAE,OAAO,CAAQ,CACpE,CACP,CAAC;IACJ,CAAC;;AAfa,uBAAY,GAA6B;IACrD,SAAS,EAAE,CAAC;CACb,CAAC;AAHS,gCAAU;AAmBvB;;GAEG;AACH,SAAgB,cAAc,CAAC,OAAe;IAC5C,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACnC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC3B,OAAO,KAAK,CAAC;AACf,CAAC;AAJD,wCAIC","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 Loading\n */\n\nimport \"./LoadingBar.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { CommonProps } from \"../utils/Props\";\n\n/** Properties for [[LoadingBar]] component\n * @public\n */\nexport interface LoadingBarProps extends CommonProps {\n /** Percent */\n percent: number;\n /** Show percentage (optional) */\n showPercentage?: boolean;\n /** Height (in pixels) of the loading bar */\n barHeight: number;\n}\n\n/**\n * A loading bar with optional percentage text.\n * @public\n */\nexport class LoadingBar extends React.PureComponent<LoadingBarProps> {\n public static defaultProps: Partial<LoadingBarProps> = {\n barHeight: 4,\n };\n\n public override render() {\n const percent = `${percentInRange(this.props.percent)}%`;\n const containerClass = classnames(this.props.className, \"core-lb\");\n return (\n <div className={containerClass} style={this.props.style}>\n <div className=\"lb-container\" style={{ height: this.props.barHeight }}>\n <div className=\"fill\" style={{ width: percent }} />\n </div>\n {this.props.showPercentage && <span className=\"percent\">{percent}</span>}\n </div>\n );\n }\n}\n\n/** Sanity check to keep percentage between 0 & 100\n * @internal\n */\nexport function percentInRange(percent: number): number {\n let value = Math.min(percent, 100);\n value = Math.max(value, 0);\n return value;\n}\n"]}
1
+ {"version":3,"file":"LoadingBar.js","sourceRoot":"","sources":["../../../../src/core-react/loading/LoadingBar.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,6BAA2B;AAC3B,2CAAoC;AACpC,+BAA+B;AAe/B;;;GAGG;AACH,MAAa,UAAW,SAAQ,KAAK,CAAC,aAA8B;IAKlD,MAAM;QACpB,MAAM,OAAO,GAAG,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QACzD,MAAM,cAAc,GAAG,IAAA,oBAAU,EAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACnE,OAAO,CACL,6BAAK,SAAS,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;YACrD,6BAAK,SAAS,EAAC,cAAc,EAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;gBACnE,6BAAK,SAAS,EAAC,MAAM,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,GAAI,CAC/C;YACL,IAAI,CAAC,KAAK,CAAC,cAAc,IAAI,CAC5B,8BAAM,SAAS,EAAC,SAAS,IAAE,OAAO,CAAQ,CAC3C,CACG,CACP,CAAC;IACJ,CAAC;;AAjBa,uBAAY,GAA6B;IACrD,SAAS,EAAE,CAAC;CACb,CAAC;AAHS,gCAAU;AAqBvB;;GAEG;AACH,SAAgB,cAAc,CAAC,OAAe;IAC5C,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACnC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC3B,OAAO,KAAK,CAAC;AACf,CAAC;AAJD,wCAIC","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 Loading\n */\n\nimport \"./LoadingBar.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { CommonProps } from \"../utils/Props\";\n\n/** Properties for [[LoadingBar]] component\n * @public\n */\nexport interface LoadingBarProps extends CommonProps {\n /** Percent */\n percent: number;\n /** Show percentage (optional) */\n showPercentage?: boolean;\n /** Height (in pixels) of the loading bar */\n barHeight: number;\n}\n\n/**\n * A loading bar with optional percentage text.\n * @public\n */\nexport class LoadingBar extends React.PureComponent<LoadingBarProps> {\n public static defaultProps: Partial<LoadingBarProps> = {\n barHeight: 4,\n };\n\n public override render() {\n const percent = `${percentInRange(this.props.percent)}%`;\n const containerClass = classnames(this.props.className, \"core-lb\");\n return (\n <div className={containerClass} style={this.props.style}>\n <div className=\"lb-container\" style={{ height: this.props.barHeight }}>\n <div className=\"fill\" style={{ width: percent }} />\n </div>\n {this.props.showPercentage && (\n <span className=\"percent\">{percent}</span>\n )}\n </div>\n );\n }\n}\n\n/** Sanity check to keep percentage between 0 & 100\n * @internal\n */\nexport function percentInRange(percent: number): number {\n let value = Math.min(percent, 100);\n value = Math.max(value, 0);\n return value;\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
5
  @import "../style/themecolors";
6
6
 
7
7
  .core-lb {
@@ -15,7 +15,7 @@
15
15
  > .fill {
16
16
  height: 100%;
17
17
  background-color: $buic-foreground-primary;
18
- transition: width .3s linear;
18
+ transition: width 0.3s linear;
19
19
  }
20
20
  }
21
21
 
@@ -23,7 +23,7 @@
23
23
  flex: initial;
24
24
  opacity: 0.85;
25
25
  width: 3em;
26
- font-size: .9em;
27
- margin-left: .3em;
26
+ font-size: 0.9em;
27
+ margin-left: 0.3em;
28
28
  }
29
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"LoadingPrompt.d.ts","sourceRoot":"","sources":["../../../../src/core-react/loading/LoadingPrompt.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,sBAAsB,CAAC;AAE9B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAIlD;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,WAAW;IACrD,YAAY;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2IAA2I;IAC3I,aAAa,EAAE,OAAO,CAAC;IACvB,uEAAuE;IACvE,UAAU,EAAE,OAAO,CAAC;IACpB,uDAAuD;IACvD,UAAU,EAAE,OAAO,CAAC;IACpB,mGAAmG;IACnG,MAAM,EAAE,MAAM,CAAC;IACf,2DAA2D;IAC3D,OAAO,EAAE,MAAM,CAAC;IAChB,sHAAsH;IACtH,cAAc,EAAE,OAAO,CAAC;IACxB,iEAAiE;IACjE,oBAAoB,EAAE,OAAO,CAAC;IAC9B,qDAAqD;IACrD,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AAED;;;GAGG;AACH,qBAAa,aAAc,SAAQ,KAAK,CAAC,aAAa,CAAC,kBAAkB,CAAC;IACxE,OAAc,YAAY,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAQrD;IAEc,MAAM;CAevB"}
1
+ {"version":3,"file":"LoadingPrompt.d.ts","sourceRoot":"","sources":["../../../../src/core-react/loading/LoadingPrompt.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,sBAAsB,CAAC;AAE9B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAIlD;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,WAAW;IACrD,YAAY;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2IAA2I;IAC3I,aAAa,EAAE,OAAO,CAAC;IACvB,uEAAuE;IACvE,UAAU,EAAE,OAAO,CAAC;IACpB,uDAAuD;IACvD,UAAU,EAAE,OAAO,CAAC;IACpB,mGAAmG;IACnG,MAAM,EAAE,MAAM,CAAC;IACf,2DAA2D;IAC3D,OAAO,EAAE,MAAM,CAAC;IAChB,sHAAsH;IACtH,cAAc,EAAE,OAAO,CAAC;IACxB,iEAAiE;IACjE,oBAAoB,EAAE,OAAO,CAAC;IAC9B,qDAAqD;IACrD,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AAED;;;GAGG;AACH,qBAAa,aAAc,SAAQ,KAAK,CAAC,aAAa,CAAC,kBAAkB,CAAC;IACxE,OAAc,YAAY,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAQrD;IAEc,MAAM;CA2CvB"}