@itwin/appui-react 5.0.5 → 5.2.0

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 (530) hide show
  1. package/CHANGELOG.md +57 -38
  2. package/lib/appui-react/UiFramework.d.ts +1 -1
  3. package/lib/appui-react/UiFramework.d.ts.map +1 -1
  4. package/lib/appui-react/UiFramework.js +48 -46
  5. package/lib/appui-react/UiFramework.js.map +1 -1
  6. package/lib/appui-react/accudraw/AccuDrawCommandItems.js +1 -1
  7. package/lib/appui-react/accudraw/AccuDrawCommandItems.js.map +1 -1
  8. package/lib/appui-react/accudraw/AccuDrawDialog.js +1 -1
  9. package/lib/appui-react/accudraw/AccuDrawDialog.js.map +1 -1
  10. package/lib/appui-react/accudraw/AccuDrawFieldContainer.d.ts +2 -0
  11. package/lib/appui-react/accudraw/AccuDrawFieldContainer.d.ts.map +1 -1
  12. package/lib/appui-react/accudraw/AccuDrawFieldContainer.js +38 -26
  13. package/lib/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  14. package/lib/appui-react/accudraw/AccuDrawInputField.d.ts +4 -2
  15. package/lib/appui-react/accudraw/AccuDrawInputField.d.ts.map +1 -1
  16. package/lib/appui-react/accudraw/AccuDrawInputField.js +45 -38
  17. package/lib/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  18. package/lib/appui-react/accudraw/AccuDrawInputField.scss +0 -15
  19. package/lib/appui-react/accudraw/AccuDrawPopupManager.js +3 -3
  20. package/lib/appui-react/accudraw/AccuDrawPopupManager.js.map +1 -1
  21. package/lib/appui-react/accudraw/AccuDrawUiSettings.js.map +1 -1
  22. package/lib/appui-react/accudraw/AccuDrawWidget.js +2 -2
  23. package/lib/appui-react/accudraw/AccuDrawWidget.js.map +1 -1
  24. package/lib/appui-react/accudraw/Calculator.js +1 -1
  25. package/lib/appui-react/accudraw/Calculator.js.map +1 -1
  26. package/lib/appui-react/accudraw/CalculatorPopup.js +1 -1
  27. package/lib/appui-react/accudraw/CalculatorPopup.js.map +1 -1
  28. package/lib/appui-react/accudraw/FrameworkAccuDraw.d.ts +2 -2
  29. package/lib/appui-react/accudraw/FrameworkAccuDraw.d.ts.map +1 -1
  30. package/lib/appui-react/accudraw/FrameworkAccuDraw.js +18 -15
  31. package/lib/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  32. package/lib/appui-react/accudraw/MenuButton.js +1 -1
  33. package/lib/appui-react/accudraw/MenuButton.js.map +1 -1
  34. package/lib/appui-react/backstage/BackstageComposer.d.ts.map +1 -1
  35. package/lib/appui-react/backstage/BackstageComposer.js +2 -3
  36. package/lib/appui-react/backstage/BackstageComposer.js.map +1 -1
  37. package/lib/appui-react/backstage/BackstageComposerItem.js +6 -6
  38. package/lib/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  39. package/lib/appui-react/backstage/BackstageItem.js.map +1 -1
  40. package/lib/appui-react/backstage/BackstageItemUtilities.js.map +1 -1
  41. package/lib/appui-react/backstage/BackstageManager.js +3 -3
  42. package/lib/appui-react/backstage/BackstageManager.js.map +1 -1
  43. package/lib/appui-react/backstage/InternalBackstageManager.js +2 -2
  44. package/lib/appui-react/backstage/InternalBackstageManager.js.map +1 -1
  45. package/lib/appui-react/configurableui/ActivityTracker.d.ts.map +1 -1
  46. package/lib/appui-react/configurableui/ActivityTracker.js +0 -1
  47. package/lib/appui-react/configurableui/ActivityTracker.js.map +1 -1
  48. package/lib/appui-react/configurableui/ConfigurableUiContent.d.ts +3 -1
  49. package/lib/appui-react/configurableui/ConfigurableUiContent.d.ts.map +1 -1
  50. package/lib/appui-react/configurableui/ConfigurableUiContent.js +20 -12
  51. package/lib/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  52. package/lib/appui-react/configurableui/ConfigurableUiControl.js.map +1 -1
  53. package/lib/appui-react/configurableui/InternalConfigurableUiManager.d.ts +1 -1
  54. package/lib/appui-react/configurableui/InternalConfigurableUiManager.d.ts.map +1 -1
  55. package/lib/appui-react/configurableui/InternalConfigurableUiManager.js +1 -1
  56. package/lib/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
  57. package/lib/appui-react/content/ContentControl.js +1 -1
  58. package/lib/appui-react/content/ContentControl.js.map +1 -1
  59. package/lib/appui-react/content/ContentGroup.js +7 -7
  60. package/lib/appui-react/content/ContentGroup.js.map +1 -1
  61. package/lib/appui-react/content/ContentLayout.d.ts.map +1 -1
  62. package/lib/appui-react/content/ContentLayout.js +16 -17
  63. package/lib/appui-react/content/ContentLayout.js.map +1 -1
  64. package/lib/appui-react/content/DefaultViewOverlay.js +1 -1
  65. package/lib/appui-react/content/DefaultViewOverlay.js.map +1 -1
  66. package/lib/appui-react/content/FloatingViewportContent.js +4 -4
  67. package/lib/appui-react/content/FloatingViewportContent.js.map +1 -1
  68. package/lib/appui-react/content/IModelViewport.d.ts +1 -1
  69. package/lib/appui-react/content/IModelViewport.d.ts.map +1 -1
  70. package/lib/appui-react/content/IModelViewport.js +1 -1
  71. package/lib/appui-react/content/IModelViewport.js.map +1 -1
  72. package/lib/appui-react/content/InternalContentViewManager.js +26 -26
  73. package/lib/appui-react/content/InternalContentViewManager.js.map +1 -1
  74. package/lib/appui-react/content/ViewportContentControl.js +1 -1
  75. package/lib/appui-react/content/ViewportContentControl.js.map +1 -1
  76. package/lib/appui-react/content/split-pane/SplitPane.js +2 -2
  77. package/lib/appui-react/content/split-pane/SplitPane.js.map +1 -1
  78. package/lib/appui-react/cursor/CursorInformation.d.ts +7 -0
  79. package/lib/appui-react/cursor/CursorInformation.d.ts.map +1 -1
  80. package/lib/appui-react/cursor/CursorInformation.js +15 -2
  81. package/lib/appui-react/cursor/CursorInformation.js.map +1 -1
  82. package/lib/appui-react/cursor/cursormenu/CursorMenu.d.ts +1 -1
  83. package/lib/appui-react/cursor/cursormenu/CursorMenu.d.ts.map +1 -1
  84. package/lib/appui-react/cursor/cursormenu/CursorMenu.js +3 -3
  85. package/lib/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  86. package/lib/appui-react/cursor/cursorpopup/CursorPopup.d.ts +1 -1
  87. package/lib/appui-react/cursor/cursorpopup/CursorPopup.d.ts.map +1 -1
  88. package/lib/appui-react/cursor/cursorpopup/CursorPopup.js +4 -4
  89. package/lib/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
  90. package/lib/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts +4 -1
  91. package/lib/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts.map +1 -1
  92. package/lib/appui-react/cursor/cursorpopup/CursorPopupManager.js +45 -30
  93. package/lib/appui-react/cursor/cursorpopup/CursorPopupManager.js.map +1 -1
  94. package/lib/appui-react/cursor/cursorprompt/CursorPrompt.d.ts +12 -15
  95. package/lib/appui-react/cursor/cursorprompt/CursorPrompt.d.ts.map +1 -1
  96. package/lib/appui-react/cursor/cursorprompt/CursorPrompt.js +47 -38
  97. package/lib/appui-react/cursor/cursorprompt/CursorPrompt.js.map +1 -1
  98. package/lib/appui-react/dialog/ContentDialog.js.map +1 -1
  99. package/lib/appui-react/dialog/ContentDialogManager.js +2 -2
  100. package/lib/appui-react/dialog/ContentDialogManager.js.map +1 -1
  101. package/lib/appui-react/dialog/DialogManagerBase.js +4 -4
  102. package/lib/appui-react/dialog/DialogManagerBase.js.map +1 -1
  103. package/lib/appui-react/dialog/InternalContentDialogManager.d.ts.map +1 -1
  104. package/lib/appui-react/dialog/InternalContentDialogManager.js +2 -3
  105. package/lib/appui-react/dialog/InternalContentDialogManager.js.map +1 -1
  106. package/lib/appui-react/dialog/InternalModalDialogManager.js +1 -1
  107. package/lib/appui-react/dialog/InternalModalDialogManager.js.map +1 -1
  108. package/lib/appui-react/dialog/InternalModelessDialogManager.d.ts.map +1 -1
  109. package/lib/appui-react/dialog/InternalModelessDialogManager.js +1 -2
  110. package/lib/appui-react/dialog/InternalModelessDialogManager.js.map +1 -1
  111. package/lib/appui-react/dialog/ModalDialogManager.js +2 -2
  112. package/lib/appui-react/dialog/ModalDialogManager.js.map +1 -1
  113. package/lib/appui-react/dialog/ModelessDialog.js +1 -1
  114. package/lib/appui-react/dialog/ModelessDialog.js.map +1 -1
  115. package/lib/appui-react/dialog/ModelessDialogManager.d.ts.map +1 -1
  116. package/lib/appui-react/dialog/ModelessDialogManager.js +2 -3
  117. package/lib/appui-react/dialog/ModelessDialogManager.js.map +1 -1
  118. package/lib/appui-react/dialog/StandardMessageBox.js +1 -1
  119. package/lib/appui-react/dialog/StandardMessageBox.js.map +1 -1
  120. package/lib/appui-react/dialog/UiDataProvidedDialog.js.map +1 -1
  121. package/lib/appui-react/feedback/ElementTooltip.d.ts +1 -1
  122. package/lib/appui-react/feedback/ElementTooltip.d.ts.map +1 -1
  123. package/lib/appui-react/feedback/ElementTooltip.js.map +1 -1
  124. package/lib/appui-react/feedback/ValidationTextbox.js.map +1 -1
  125. package/lib/appui-react/framework/FrameworkBackstage.js.map +1 -1
  126. package/lib/appui-react/framework/FrameworkContent.js +3 -3
  127. package/lib/appui-react/framework/FrameworkContent.js.map +1 -1
  128. package/lib/appui-react/framework/FrameworkControls.js.map +1 -1
  129. package/lib/appui-react/framework/FrameworkDialogs.js +2 -2
  130. package/lib/appui-react/framework/FrameworkDialogs.js.map +1 -1
  131. package/lib/appui-react/framework/FrameworkFrontstages.js +8 -8
  132. package/lib/appui-react/framework/FrameworkFrontstages.js.map +1 -1
  133. package/lib/appui-react/framework/FrameworkKeyboardShortcuts.js.map +1 -1
  134. package/lib/appui-react/framework/FrameworkToolSettings.js +1 -1
  135. package/lib/appui-react/framework/FrameworkToolSettings.js.map +1 -1
  136. package/lib/appui-react/frontstage/Frontstage.js.map +1 -1
  137. package/lib/appui-react/frontstage/FrontstageConfig.d.ts +5 -2
  138. package/lib/appui-react/frontstage/FrontstageConfig.d.ts.map +1 -1
  139. package/lib/appui-react/frontstage/FrontstageConfig.js.map +1 -1
  140. package/lib/appui-react/frontstage/FrontstageDef.d.ts +5 -1
  141. package/lib/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  142. package/lib/appui-react/frontstage/FrontstageDef.js +22 -17
  143. package/lib/appui-react/frontstage/FrontstageDef.js.map +1 -1
  144. package/lib/appui-react/frontstage/InternalFrontstageManager.js +29 -29
  145. package/lib/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
  146. package/lib/appui-react/frontstage/ModalFrontstage.js.map +1 -1
  147. package/lib/appui-react/frontstage/ModalSettingsStage.d.ts.map +1 -1
  148. package/lib/appui-react/frontstage/ModalSettingsStage.js +2 -2
  149. package/lib/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  150. package/lib/appui-react/frontstage/NestedFrontstage.js +1 -1
  151. package/lib/appui-react/frontstage/NestedFrontstage.js.map +1 -1
  152. package/lib/appui-react/frontstage/StandardFrontstageProvider.js +1 -1
  153. package/lib/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  154. package/lib/appui-react/hooks/useActiveIModelConnection.js +1 -1
  155. package/lib/appui-react/hooks/useActiveIModelConnection.js.map +1 -1
  156. package/lib/appui-react/hooks/useUiVisibility.js +1 -1
  157. package/lib/appui-react/hooks/useUiVisibility.js.map +1 -1
  158. package/lib/appui-react/keyboardshortcut/InternalKeyboardShortcut.js.map +1 -1
  159. package/lib/appui-react/keyboardshortcut/KeyboardShortcut.js +1 -1
  160. package/lib/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
  161. package/lib/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
  162. package/lib/appui-react/keyboardshortcut/KeyboardShortcutProps.js.map +1 -1
  163. package/lib/appui-react/layout/StandardLayout.d.ts.map +1 -1
  164. package/lib/appui-react/layout/StandardLayout.js +5 -1
  165. package/lib/appui-react/layout/StandardLayout.js.map +1 -1
  166. package/lib/appui-react/layout/backstage/Backstage.js.map +1 -1
  167. package/lib/appui-react/layout/backstage/Item.js.map +1 -1
  168. package/lib/appui-react/layout/backstage/Separator.js +1 -1
  169. package/lib/appui-react/layout/backstage/Separator.js.map +1 -1
  170. package/lib/appui-react/layout/base/usePointerCaptor.d.ts +1 -1
  171. package/lib/appui-react/layout/base/usePointerCaptor.d.ts.map +1 -1
  172. package/lib/appui-react/layout/footer/dialog/Dialog.js.map +1 -1
  173. package/lib/appui-react/layout/footer/dialog/TitleBar.js.map +1 -1
  174. package/lib/appui-react/layout/footer/snap-mode/Panel.js.map +1 -1
  175. package/lib/appui-react/layout/footer/snap-mode/Snap.js.map +1 -1
  176. package/lib/appui-react/layout/footer/tool-assistance/Dialog.js.map +1 -1
  177. package/lib/appui-react/layout/footer/tool-assistance/Instruction.js.map +1 -1
  178. package/lib/appui-react/layout/footer/tool-assistance/Item.js.map +1 -1
  179. package/lib/appui-react/layout/footer/tool-assistance/NewDot.js +1 -1
  180. package/lib/appui-react/layout/footer/tool-assistance/NewDot.js.map +1 -1
  181. package/lib/appui-react/layout/footer/tool-assistance/Separator.js.map +1 -1
  182. package/lib/appui-react/layout/outline/SectionOutline.js.map +1 -1
  183. package/lib/appui-react/layout/popup/Tooltip.js.map +1 -1
  184. package/lib/appui-react/layout/state/internal/PanelStateHelpers.js +1 -1
  185. package/lib/appui-react/layout/state/internal/PanelStateHelpers.js.map +1 -1
  186. package/lib/appui-react/layout/state/internal/TabStateHelpers.js +6 -6
  187. package/lib/appui-react/layout/state/internal/TabStateHelpers.js.map +1 -1
  188. package/lib/appui-react/layout/state/internal/ToolSettingsStateHelpers.js +6 -6
  189. package/lib/appui-react/layout/state/internal/ToolSettingsStateHelpers.js.map +1 -1
  190. package/lib/appui-react/layout/state/internal/WidgetStateHelpers.js +13 -13
  191. package/lib/appui-react/layout/state/internal/WidgetStateHelpers.js.map +1 -1
  192. package/lib/appui-react/layout/target/TargetContainer.js.map +1 -1
  193. package/lib/appui-react/layout/target/useAllowedSideTarget.js +1 -1
  194. package/lib/appui-react/layout/target/useAllowedSideTarget.js.map +1 -1
  195. package/lib/appui-react/layout/tool-settings/Docked.js +1 -1
  196. package/lib/appui-react/layout/tool-settings/Docked.js.map +1 -1
  197. package/lib/appui-react/layout/tool-settings/Handle.js.map +1 -1
  198. package/lib/appui-react/layout/tool-settings/Overflow.js.map +1 -1
  199. package/lib/appui-react/layout/tool-settings/Panel.js +1 -1
  200. package/lib/appui-react/layout/tool-settings/Panel.js.map +1 -1
  201. package/lib/appui-react/layout/tool-settings/Setting.js.map +1 -1
  202. package/lib/appui-react/layout/widget/Menu.js +1 -1
  203. package/lib/appui-react/layout/widget/Menu.js.map +1 -1
  204. package/lib/appui-react/layout/widget/MenuTab.js.map +1 -1
  205. package/lib/appui-react/layout/widget/NavigationArea.js.map +1 -1
  206. package/lib/appui-react/layout/widget/Tab.js +1 -1
  207. package/lib/appui-react/layout/widget/Tab.js.map +1 -1
  208. package/lib/appui-react/layout/widget/TabBar.js +1 -1
  209. package/lib/appui-react/layout/widget/TabBar.js.map +1 -1
  210. package/lib/appui-react/layout/widget/ToolsArea.js.map +1 -1
  211. package/lib/appui-react/layout/widget/Widget.js.map +1 -1
  212. package/lib/appui-react/layout/widget/tools/button/Button.js.map +1 -1
  213. package/lib/appui-react/layout/widget/tools/button/Expandable.js.map +1 -1
  214. package/lib/appui-react/layout/widget-panels/Expander.js +1 -1
  215. package/lib/appui-react/layout/widget-panels/Expander.js.map +1 -1
  216. package/lib/appui-react/layout/widget-panels/Grip.d.ts.map +1 -1
  217. package/lib/appui-react/layout/widget-panels/Grip.js +3 -3
  218. package/lib/appui-react/layout/widget-panels/Grip.js.map +1 -1
  219. package/lib/appui-react/layout/widget-panels/Panel.d.ts.map +1 -1
  220. package/lib/appui-react/layout/widget-panels/useAnimatePanel.d.ts.map +1 -1
  221. package/lib/appui-react/messages/InputField.js +2 -2
  222. package/lib/appui-react/messages/InputField.js.map +1 -1
  223. package/lib/appui-react/messages/MessageManager.d.ts +4 -4
  224. package/lib/appui-react/messages/MessageManager.d.ts.map +1 -1
  225. package/lib/appui-react/messages/MessageManager.js +25 -25
  226. package/lib/appui-react/messages/MessageManager.js.map +1 -1
  227. package/lib/appui-react/messages/MessageRenderer.js.map +1 -1
  228. package/lib/appui-react/messages/Pointer.d.ts.map +1 -1
  229. package/lib/appui-react/messages/Pointer.js +7 -7
  230. package/lib/appui-react/messages/Pointer.js.map +1 -1
  231. package/lib/appui-react/messages/ReactNotifyMessageDetails.d.ts +2 -2
  232. package/lib/appui-react/messages/ReactNotifyMessageDetails.d.ts.map +1 -1
  233. package/lib/appui-react/messages/ReactNotifyMessageDetails.js.map +1 -1
  234. package/lib/appui-react/navigationaids/CubeNavigationAidControl.js +2 -2
  235. package/lib/appui-react/navigationaids/CubeNavigationAidControl.js.map +1 -1
  236. package/lib/appui-react/navigationaids/DrawingNavigationAidControl.js +2 -2
  237. package/lib/appui-react/navigationaids/DrawingNavigationAidControl.js.map +1 -1
  238. package/lib/appui-react/navigationaids/NavigationAidControl.js.map +1 -1
  239. package/lib/appui-react/navigationaids/SheetNavigationAid.js +2 -2
  240. package/lib/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  241. package/lib/appui-react/navigationaids/SheetsModalFrontstage.js +8 -8
  242. package/lib/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  243. package/lib/appui-react/navigationaids/StandardRotationNavigationAid.d.ts +1 -1
  244. package/lib/appui-react/navigationaids/StandardRotationNavigationAid.d.ts.map +1 -1
  245. package/lib/appui-react/navigationaids/StandardRotationNavigationAid.js +3 -3
  246. package/lib/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  247. package/lib/appui-react/pickers/ListPicker.d.ts +1 -0
  248. package/lib/appui-react/pickers/ListPicker.d.ts.map +1 -1
  249. package/lib/appui-react/pickers/ListPicker.js +11 -10
  250. package/lib/appui-react/pickers/ListPicker.js.map +1 -1
  251. package/lib/appui-react/pickers/ViewSelector.d.ts +1 -0
  252. package/lib/appui-react/pickers/ViewSelector.d.ts.map +1 -1
  253. package/lib/appui-react/pickers/ViewSelector.js +7 -6
  254. package/lib/appui-react/pickers/ViewSelector.js.map +1 -1
  255. package/lib/appui-react/popup/CardPopup.js +2 -2
  256. package/lib/appui-react/popup/CardPopup.js.map +1 -1
  257. package/lib/appui-react/popup/ComponentPopup.js.map +1 -1
  258. package/lib/appui-react/popup/HTMLElementPopup.js.map +1 -1
  259. package/lib/appui-react/popup/InputEditorPopup.js.map +1 -1
  260. package/lib/appui-react/popup/KeyinPalettePanel.d.ts.map +1 -1
  261. package/lib/appui-react/popup/KeyinPalettePanel.js +2 -3
  262. package/lib/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  263. package/lib/appui-react/popup/KeyinPalettePopup.js +1 -1
  264. package/lib/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  265. package/lib/appui-react/popup/PopupManager.d.ts +1 -1
  266. package/lib/appui-react/popup/PopupManager.d.ts.map +1 -1
  267. package/lib/appui-react/popup/PopupManager.js +4 -4
  268. package/lib/appui-react/popup/PopupManager.js.map +1 -1
  269. package/lib/appui-react/popup/PositionPopup.js +2 -2
  270. package/lib/appui-react/popup/PositionPopup.js.map +1 -1
  271. package/lib/appui-react/popup/ToolSettingsPopup.js.map +1 -1
  272. package/lib/appui-react/popup/ToolbarPopup.js +1 -1
  273. package/lib/appui-react/popup/ToolbarPopup.js.map +1 -1
  274. package/lib/appui-react/preview/PreviewFeatures.d.ts +3 -5
  275. package/lib/appui-react/preview/PreviewFeatures.d.ts.map +1 -1
  276. package/lib/appui-react/preview/PreviewFeatures.js +1 -2
  277. package/lib/appui-react/preview/PreviewFeatures.js.map +1 -1
  278. package/lib/appui-react/preview/allow-bearing-letters-in-accudraw-input-fields/useAllowBearingLettersInAccuDrawInputFields.d.ts +5 -0
  279. package/lib/appui-react/preview/allow-bearing-letters-in-accudraw-input-fields/useAllowBearingLettersInAccuDrawInputFields.d.ts.map +1 -0
  280. package/lib/appui-react/preview/{allow-letters-in-accudraw-input-fields/useAllowLettersInAccuDrawInputFields.js → allow-bearing-letters-in-accudraw-input-fields/useAllowBearingLettersInAccuDrawInputFields.js} +5 -5
  281. package/lib/appui-react/preview/allow-bearing-letters-in-accudraw-input-fields/useAllowBearingLettersInAccuDrawInputFields.js.map +1 -0
  282. package/lib/appui-react/preview/control-widget-visibility/NavigationWidget.d.ts +1 -1
  283. package/lib/appui-react/preview/control-widget-visibility/NavigationWidget.d.ts.map +1 -1
  284. package/lib/appui-react/preview/control-widget-visibility/NavigationWidget.js +1 -1
  285. package/lib/appui-react/preview/control-widget-visibility/NavigationWidget.js.map +1 -1
  286. package/lib/appui-react/preview/enable-maximized-widget/MaximizedWidget.d.ts +1 -1
  287. package/lib/appui-react/preview/enable-maximized-widget/MaximizedWidget.d.ts.map +1 -1
  288. package/lib/appui-react/preview/enable-maximized-widget/MaximizedWidget.js.map +1 -1
  289. package/lib/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.d.ts +1 -4
  290. package/lib/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.d.ts.map +1 -1
  291. package/lib/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js +13 -13
  292. package/lib/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js.map +1 -1
  293. package/lib/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.d.ts +1 -1
  294. package/lib/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.d.ts.map +1 -1
  295. package/lib/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.js +1 -1
  296. package/lib/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.js.map +1 -1
  297. package/lib/appui-react/preview/widget-action-dropdown/MoreButton.d.ts +1 -1
  298. package/lib/appui-react/preview/widget-action-dropdown/MoreButton.d.ts.map +1 -1
  299. package/lib/appui-react/preview/widget-action-dropdown/MoreButton.js.map +1 -1
  300. package/lib/appui-react/redux/ConfigurableUiState.d.ts.map +1 -1
  301. package/lib/appui-react/redux/ConfigurableUiState.js +1 -1
  302. package/lib/appui-react/redux/ConfigurableUiState.js.map +1 -1
  303. package/lib/appui-react/redux/FrameworkState.d.ts +1 -1
  304. package/lib/appui-react/redux/FrameworkState.js.map +1 -1
  305. package/lib/appui-react/redux/ReducerRegistry.js +1 -1
  306. package/lib/appui-react/redux/ReducerRegistry.js.map +1 -1
  307. package/lib/appui-react/redux/SessionState.d.ts +2 -2
  308. package/lib/appui-react/redux/SessionState.d.ts.map +1 -1
  309. package/lib/appui-react/redux/SessionState.js.map +1 -1
  310. package/lib/appui-react/redux/StateManager.js +2 -2
  311. package/lib/appui-react/redux/StateManager.js.map +1 -1
  312. package/lib/appui-react/redux/connectIModel.js +1 -1
  313. package/lib/appui-react/redux/connectIModel.js.map +1 -1
  314. package/lib/appui-react/redux/redux-ts.js.map +1 -1
  315. package/lib/appui-react/selection/SelectionContextItemDef.js +2 -2
  316. package/lib/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  317. package/lib/appui-react/settings/SettingsManager.js +1 -1
  318. package/lib/appui-react/settings/SettingsManager.js.map +1 -1
  319. package/lib/appui-react/settings/quantityformatting/QuantityFormat.js +3 -3
  320. package/lib/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  321. package/lib/appui-react/settings/ui/UiSettingsPage.js +5 -5
  322. package/lib/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  323. package/lib/appui-react/shared/ActionButtonItemDef.js +1 -1
  324. package/lib/appui-react/shared/ActionButtonItemDef.js.map +1 -1
  325. package/lib/appui-react/shared/AnyItemDef.js.map +1 -1
  326. package/lib/appui-react/shared/AnyToolbarItemDef.js.map +1 -1
  327. package/lib/appui-react/shared/CommandItemDef.js +1 -1
  328. package/lib/appui-react/shared/CommandItemDef.js.map +1 -1
  329. package/lib/appui-react/shared/CustomItemDef.js +1 -1
  330. package/lib/appui-react/shared/CustomItemDef.js.map +1 -1
  331. package/lib/appui-react/shared/CustomItemProps.js.map +1 -1
  332. package/lib/appui-react/shared/GroupItemProps.js.map +1 -1
  333. package/lib/appui-react/shared/ItemDefBase.js.map +1 -1
  334. package/lib/appui-react/shared/ItemMap.js +1 -1
  335. package/lib/appui-react/shared/ItemMap.js.map +1 -1
  336. package/lib/appui-react/shared/ItemProps.js.map +1 -1
  337. package/lib/appui-react/shared/MenuItem.js +1 -1
  338. package/lib/appui-react/shared/MenuItem.js.map +1 -1
  339. package/lib/appui-react/shared/ToolItemDef.js +1 -1
  340. package/lib/appui-react/shared/ToolItemDef.js.map +1 -1
  341. package/lib/appui-react/stagepanels/StagePanelConfig.js.map +1 -1
  342. package/lib/appui-react/stagepanels/StagePanelDef.js +2 -2
  343. package/lib/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  344. package/lib/appui-react/statusbar/Field.js.map +1 -1
  345. package/lib/appui-react/statusbar/Indicator.js +2 -2
  346. package/lib/appui-react/statusbar/Indicator.js.map +1 -1
  347. package/lib/appui-react/statusbar/LabelIndicator.js +2 -2
  348. package/lib/appui-react/statusbar/LabelIndicator.js.map +1 -1
  349. package/lib/appui-react/statusbar/Overflow.js.map +1 -1
  350. package/lib/appui-react/statusbar/Separator.js +1 -1
  351. package/lib/appui-react/statusbar/Separator.js.map +1 -1
  352. package/lib/appui-react/statusbar/StatusBar.js.map +1 -1
  353. package/lib/appui-react/statusbar/StatusBarComposer.js +6 -6
  354. package/lib/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  355. package/lib/appui-react/statusbar/StatusBarItem.js.map +1 -1
  356. package/lib/appui-react/statusbar/StatusBarItemUtilities.js.map +1 -1
  357. package/lib/appui-react/statusbar/StatusBarWidgetControl.js.map +1 -1
  358. package/lib/appui-react/statusbar/dialog/Button.js.map +1 -1
  359. package/lib/appui-react/statusbar/dialog/Dialog.js.map +1 -1
  360. package/lib/appui-react/statusbar/dialog/TitleBar.js.map +1 -1
  361. package/lib/appui-react/statusbar/popup/Popup.js +2 -2
  362. package/lib/appui-react/statusbar/popup/Popup.js.map +1 -1
  363. package/lib/appui-react/statusfields/ActivityCenter.js +2 -2
  364. package/lib/appui-react/statusfields/ActivityCenter.js.map +1 -1
  365. package/lib/appui-react/statusfields/SectionsField.js.map +1 -1
  366. package/lib/appui-react/statusfields/SelectionCount.js.map +1 -1
  367. package/lib/appui-react/statusfields/SelectionInfo.js +2 -2
  368. package/lib/appui-react/statusfields/SelectionInfo.js.map +1 -1
  369. package/lib/appui-react/statusfields/SelectionScope.js +3 -3
  370. package/lib/appui-react/statusfields/SelectionScope.js.map +1 -1
  371. package/lib/appui-react/statusfields/SnapMode.js +2 -2
  372. package/lib/appui-react/statusfields/SnapMode.js.map +1 -1
  373. package/lib/appui-react/statusfields/ViewAttributes.d.ts +1 -1
  374. package/lib/appui-react/statusfields/ViewAttributes.d.ts.map +1 -1
  375. package/lib/appui-react/statusfields/ViewAttributes.js +1 -1
  376. package/lib/appui-react/statusfields/ViewAttributes.js.map +1 -1
  377. package/lib/appui-react/statusfields/message-center/MessageCenterField.js +1 -1
  378. package/lib/appui-react/statusfields/message-center/MessageCenterField.js.map +1 -1
  379. package/lib/appui-react/statusfields/message-center/MessageCenterMessage.js.map +1 -1
  380. package/lib/appui-react/statusfields/tileloading/TileLoadingIndicator.d.ts +1 -1
  381. package/lib/appui-react/statusfields/tileloading/TileLoadingIndicator.d.ts.map +1 -1
  382. package/lib/appui-react/statusfields/tileloading/TileLoadingIndicator.js +1 -1
  383. package/lib/appui-react/statusfields/tileloading/TileLoadingIndicator.js.map +1 -1
  384. package/lib/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts +11 -7
  385. package/lib/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  386. package/lib/appui-react/statusfields/toolassistance/ToolAssistanceField.js +27 -9
  387. package/lib/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  388. package/lib/appui-react/syncui/InternalSyncUiEventDispatcher.js +2 -2
  389. package/lib/appui-react/syncui/InternalSyncUiEventDispatcher.js.map +1 -1
  390. package/lib/appui-react/syncui/SyncUiEventDispatcher.d.ts.map +1 -1
  391. package/lib/appui-react/syncui/SyncUiEventDispatcher.js +3 -8
  392. package/lib/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  393. package/lib/appui-react/syncui/UiSyncEvent.js +1 -1
  394. package/lib/appui-react/syncui/UiSyncEvent.js.map +1 -1
  395. package/lib/appui-react/theme/ThemeManager.d.ts +1 -1
  396. package/lib/appui-react/theme/ThemeManager.js +2 -2
  397. package/lib/appui-react/theme/ThemeManager.js.map +1 -1
  398. package/lib/appui-react/toolbar/GroupItem.js +1 -1
  399. package/lib/appui-react/toolbar/GroupItem.js.map +1 -1
  400. package/lib/appui-react/toolbar/Toolbar.js.map +1 -1
  401. package/lib/appui-react/toolbar/ToolbarComposer.js +3 -3
  402. package/lib/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  403. package/lib/appui-react/toolbar/ToolbarHelper.js +4 -4
  404. package/lib/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  405. package/lib/appui-react/toolbar/ToolbarItem.js.map +1 -1
  406. package/lib/appui-react/toolbar/ToolbarItemUtilities.js +1 -1
  407. package/lib/appui-react/toolbar/ToolbarItemUtilities.js.map +1 -1
  408. package/lib/appui-react/toolbar/ToolbarItemsManager.js +10 -10
  409. package/lib/appui-react/toolbar/ToolbarItemsManager.js.map +1 -1
  410. package/lib/appui-react/toolbar/ToolbarWithOverflow.js.map +1 -1
  411. package/lib/appui-react/toolbar/new-toolbars/Badge.d.ts +1 -1
  412. package/lib/appui-react/toolbar/new-toolbars/Badge.d.ts.map +1 -1
  413. package/lib/appui-react/toolbar/new-toolbars/Badge.js +1 -1
  414. package/lib/appui-react/toolbar/new-toolbars/Badge.js.map +1 -1
  415. package/lib/appui-react/toolbar/new-toolbars/GroupItem.js +2 -2
  416. package/lib/appui-react/toolbar/new-toolbars/GroupItem.js.map +1 -1
  417. package/lib/appui-react/toolbar/new-toolbars/Item.js +1 -1
  418. package/lib/appui-react/toolbar/new-toolbars/Item.js.map +1 -1
  419. package/lib/appui-react/toolbar/new-toolbars/ToolGroup.js.map +1 -1
  420. package/lib/appui-react/toolbar/new-toolbars/useOverflow.d.ts.map +1 -1
  421. package/lib/appui-react/toolbar/useDefaultToolbarItems.js +1 -1
  422. package/lib/appui-react/toolbar/useDefaultToolbarItems.js.map +1 -1
  423. package/lib/appui-react/toolbar/useUiItemsProviderToolbarItems.js +1 -1
  424. package/lib/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
  425. package/lib/appui-react/tools/CoreToolDefinitions.js +2 -2
  426. package/lib/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  427. package/lib/appui-react/tools/KeyinPaletteTools.d.ts +1 -1
  428. package/lib/appui-react/tools/OpenSettingsTool.d.ts +1 -1
  429. package/lib/appui-react/tools/RestoreLayoutTool.d.ts +2 -2
  430. package/lib/appui-react/tools/ToolbarItems.js +1 -1
  431. package/lib/appui-react/tools/ToolbarItems.js.map +1 -1
  432. package/lib/appui-react/toolsettings/DefaultToolSettingsProvider.d.ts.map +1 -1
  433. package/lib/appui-react/toolsettings/DefaultToolSettingsProvider.js +3 -3
  434. package/lib/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
  435. package/lib/appui-react/toolsettings/InternalToolSettingsManager.js +2 -2
  436. package/lib/appui-react/toolsettings/InternalToolSettingsManager.js.map +1 -1
  437. package/lib/appui-react/toolsettings/ToolInformation.js +1 -1
  438. package/lib/appui-react/toolsettings/ToolInformation.js.map +1 -1
  439. package/lib/appui-react/toolsettings/ToolUiProvider.js +1 -1
  440. package/lib/appui-react/toolsettings/ToolUiProvider.js.map +1 -1
  441. package/lib/appui-react/ui-items-provider/AbstractUiItemsManager.d.ts +5 -5
  442. package/lib/appui-react/ui-items-provider/AbstractUiItemsManager.js +1 -1
  443. package/lib/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -1
  444. package/lib/appui-react/ui-items-provider/BaseUiItemsProvider.d.ts.map +1 -1
  445. package/lib/appui-react/ui-items-provider/StandardContentToolsProvider.js +4 -4
  446. package/lib/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
  447. package/lib/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.d.ts.map +1 -1
  448. package/lib/appui-react/ui-items-provider/StandardNavigationToolsProvider.js +3 -3
  449. package/lib/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
  450. package/lib/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.d.ts.map +1 -1
  451. package/lib/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js +3 -3
  452. package/lib/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
  453. package/lib/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.d.ts.map +1 -1
  454. package/lib/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +1 -1
  455. package/lib/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  456. package/lib/appui-react/ui-items-provider/UiItemsManager.js +3 -3
  457. package/lib/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  458. package/lib/appui-react/uiadmin/FrameworkUiAdmin.js +3 -3
  459. package/lib/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
  460. package/lib/appui-react/uiprovider/ComponentGenerator.d.ts.map +1 -1
  461. package/lib/appui-react/uistate/AppUiSettings.js +2 -2
  462. package/lib/appui-react/uistate/AppUiSettings.js.map +1 -1
  463. package/lib/appui-react/uistate/LocalStateStorage.js +1 -1
  464. package/lib/appui-react/uistate/LocalStateStorage.js.map +1 -1
  465. package/lib/appui-react/uistate/UiStateStorage.js +1 -1
  466. package/lib/appui-react/uistate/UiStateStorage.js.map +1 -1
  467. package/lib/appui-react/uistate/useReduxFrameworkState.js +1 -1
  468. package/lib/appui-react/uistate/useReduxFrameworkState.js.map +1 -1
  469. package/lib/appui-react/uistate/useUiStateStorage.js +1 -1
  470. package/lib/appui-react/uistate/useUiStateStorage.js.map +1 -1
  471. package/lib/appui-react/utils/PropsHelper.js +5 -5
  472. package/lib/appui-react/utils/PropsHelper.js.map +1 -1
  473. package/lib/appui-react/utils/RectangleProps.js.map +1 -1
  474. package/lib/appui-react/utils/SizeProps.js.map +1 -1
  475. package/lib/appui-react/utils/ViewUtilities.d.ts.map +1 -1
  476. package/lib/appui-react/utils/ViewUtilities.js.map +1 -1
  477. package/lib/appui-react/utils/getActiveViewport.js +1 -1
  478. package/lib/appui-react/utils/getActiveViewport.js.map +1 -1
  479. package/lib/appui-react/widget-panels/DockedBar.js.map +1 -1
  480. package/lib/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  481. package/lib/appui-react/widget-panels/Frontstage.js +9 -7
  482. package/lib/appui-react/widget-panels/Frontstage.js.map +1 -1
  483. package/lib/appui-react/widget-panels/StatusBar.js +5 -5
  484. package/lib/appui-react/widget-panels/StatusBar.js.map +1 -1
  485. package/lib/appui-react/widget-panels/Tab.js +4 -4
  486. package/lib/appui-react/widget-panels/Tab.js.map +1 -1
  487. package/lib/appui-react/widget-panels/ToolSettings.d.ts.map +1 -1
  488. package/lib/appui-react/widget-panels/ToolSettings.js +8 -5
  489. package/lib/appui-react/widget-panels/ToolSettings.js.map +1 -1
  490. package/lib/appui-react/widgets/BackstageAppButton.js +2 -2
  491. package/lib/appui-react/widgets/BackstageAppButton.js.map +1 -1
  492. package/lib/appui-react/widgets/BasicNavigationWidget.js +1 -1
  493. package/lib/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
  494. package/lib/appui-react/widgets/BasicToolWidget.js +1 -1
  495. package/lib/appui-react/widgets/BasicToolWidget.js.map +1 -1
  496. package/lib/appui-react/widgets/ContentToolWidgetComposer.js +1 -1
  497. package/lib/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
  498. package/lib/appui-react/widgets/NavigationWidgetComposer.js +10 -10
  499. package/lib/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  500. package/lib/appui-react/widgets/StatusBarWidgetComposerControl.js +1 -1
  501. package/lib/appui-react/widgets/StatusBarWidgetComposerControl.js.map +1 -1
  502. package/lib/appui-react/widgets/ToolWidgetComposer.js +1 -1
  503. package/lib/appui-react/widgets/ToolWidgetComposer.js.map +1 -1
  504. package/lib/appui-react/widgets/ViewToolWidgetComposer.js +1 -1
  505. package/lib/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
  506. package/lib/appui-react/widgets/Widget.d.ts +11 -2
  507. package/lib/appui-react/widgets/Widget.d.ts.map +1 -1
  508. package/lib/appui-react/widgets/Widget.js.map +1 -1
  509. package/lib/appui-react/widgets/WidgetControl.js +1 -1
  510. package/lib/appui-react/widgets/WidgetControl.js.map +1 -1
  511. package/lib/appui-react/widgets/WidgetDef.js +21 -21
  512. package/lib/appui-react/widgets/WidgetDef.js.map +1 -1
  513. package/lib/appui-react/widgets/WidgetManager.d.ts.map +1 -1
  514. package/lib/appui-react/widgets/useWidget.d.ts.map +1 -1
  515. package/lib/appui-react.js +1 -1
  516. package/lib/appui-react.js.map +1 -1
  517. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.scss +0 -15
  518. package/lib/esm/appui-react/accudraw/AccuDrawInputField.scss +0 -15
  519. package/package.json +20 -21
  520. package/lib/appui-react/layout/widget/tools/button/Back.d.ts +0 -21
  521. package/lib/appui-react/layout/widget/tools/button/Back.d.ts.map +0 -1
  522. package/lib/appui-react/layout/widget/tools/button/Back.js +0 -23
  523. package/lib/appui-react/layout/widget/tools/button/Back.js.map +0 -1
  524. package/lib/appui-react/preview/allow-letters-in-accudraw-input-fields/useAllowLettersInAccuDrawInputFields.d.ts +0 -5
  525. package/lib/appui-react/preview/allow-letters-in-accudraw-input-fields/useAllowLettersInAccuDrawInputFields.d.ts.map +0 -1
  526. package/lib/appui-react/preview/allow-letters-in-accudraw-input-fields/useAllowLettersInAccuDrawInputFields.js.map +0 -1
  527. package/lib/appui-react/preview/enable-colorless-accudraw-input-fields/useEnableColorlessAccuDrawInputFields.d.ts +0 -5
  528. package/lib/appui-react/preview/enable-colorless-accudraw-input-fields/useEnableColorlessAccuDrawInputFields.d.ts.map +0 -1
  529. package/lib/appui-react/preview/enable-colorless-accudraw-input-fields/useEnableColorlessAccuDrawInputFields.js +0 -13
  530. package/lib/appui-react/preview/enable-colorless-accudraw-input-fields/useEnableColorlessAccuDrawInputFields.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"SelectionCount.js","sourceRoot":"","sources":["../../../src/appui-react/statusfields/SelectionCount.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,+BAA+B,EAAE,MAAM,iDAAiD,CAAC;AAClG,OAAO,uBAAuB,CAAC;AAU/B;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAA+B;IACjE,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CAAC,+BAA+B,CAAC,CAAC;IACxE,MAAM,SAAS,GAAG,UAAU,CAC1B,kCAAkC,EAClC,aAAa,KAAK,aAAa,IAAI,kBAAkB,EACrD,aAAa,KAAK,cAAc,IAAI,mBAAmB,EACvD,KAAK,CAAC,SAAS,CAChB,CAAC;IACF,OAAO,CACL,6BAAK,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK;QAE3C,oBAAC,IAAI,IAAC,QAAQ,EAAE,oBAAC,SAAS,OAAG,GAAI;QAChC,KAAK,CAAC,KAAK,CACR,CACP,CAAC;AACJ,CAAC;AASD;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAA6B;IAC/D,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC1C,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACxB,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,CAAC,CAAC,CAAC,CAAC;YACX,OAAO;QACT,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAClC,OAAO,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE;YACtD,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IACb,OAAO,IAAI,CAAC;AACd,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 StatusBar\n */\n\nimport * as React from \"react\";\nimport type { IModelConnection } from \"@itwin/core-frontend\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { Icon } from \"@itwin/core-react\";\nimport { SvgCursor } from \"@itwin/itwinui-icons-react\";\nimport classnames from \"classnames\";\nimport { StatusBarCornerComponentContext } from \"../statusbar/StatusBarCornerComponentContext.js\";\nimport \"./SelectionCount.scss\";\n\n/** Properties for the [[SelectionCountField]] component.\n * @beta\n */\n// eslint-disable-next-line deprecation/deprecation\nexport interface SelectionCountFieldProps extends CommonProps {\n count: number;\n}\n\n/** Status field component used to display the number of selected items.\n * @note Use [[useSelectionSetSize]] hook to get the selection count.\n * @beta\n */\nexport function SelectionCountField(props: SelectionCountFieldProps) {\n const cornerContext = React.useContext(StatusBarCornerComponentContext);\n const className = classnames(\n \"uifw-statusFields-selectionCount\",\n cornerContext === \"left-corner\" && \"uifw-left-corner\",\n cornerContext === \"right-corner\" && \"uifw-right-corner\",\n props.className\n );\n return (\n <div className={className} style={props.style}>\n {/* eslint-disable-next-line deprecation/deprecation */}\n <Icon iconSpec={<SvgCursor />} />\n {props.count}\n </div>\n );\n}\n\n/** Arguments for [[useSelectionSetSize]] hook.\n * @beta\n */\nexport interface UseSelectionSetSizeArgs {\n iModel: IModelConnection | undefined;\n}\n\n/** React hook that returns element count of a selection set.\n * @beta\n */\nexport function useSelectionSetSize(args: UseSelectionSetSizeArgs): number {\n const [size, setSize] = React.useState(0);\n const { iModel } = args;\n React.useEffect(() => {\n if (!iModel) {\n setSize(0);\n return;\n }\n setSize(iModel.selectionSet.size);\n return iModel.selectionSet.onChanged.addListener((ev) => {\n setSize(ev.set.size);\n });\n }, [iModel]);\n return size;\n}\n"]}
1
+ {"version":3,"file":"SelectionCount.js","sourceRoot":"","sources":["../../../src/appui-react/statusfields/SelectionCount.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,+BAA+B,EAAE,MAAM,iDAAiD,CAAC;AAClG,OAAO,uBAAuB,CAAC;AAU/B;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAA+B;IACjE,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CAAC,+BAA+B,CAAC,CAAC;IACxE,MAAM,SAAS,GAAG,UAAU,CAC1B,kCAAkC,EAClC,aAAa,KAAK,aAAa,IAAI,kBAAkB,EACrD,aAAa,KAAK,cAAc,IAAI,mBAAmB,EACvD,KAAK,CAAC,SAAS,CAChB,CAAC;IACF,OAAO,CACL,6BAAK,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK;QAE3C,oBAAC,IAAI,IAAC,QAAQ,EAAE,oBAAC,SAAS,OAAG,GAAI;QAChC,KAAK,CAAC,KAAK,CACR,CACP,CAAC;AACJ,CAAC;AASD;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAA6B;IAC/D,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC1C,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACxB,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,CAAC,CAAC,CAAC,CAAC;YACX,OAAO;QACT,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAClC,OAAO,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE;YACtD,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IACb,OAAO,IAAI,CAAC;AACd,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 StatusBar\n */\n\nimport * as React from \"react\";\nimport type { IModelConnection } from \"@itwin/core-frontend\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { Icon } from \"@itwin/core-react\";\nimport { SvgCursor } from \"@itwin/itwinui-icons-react\";\nimport classnames from \"classnames\";\nimport { StatusBarCornerComponentContext } from \"../statusbar/StatusBarCornerComponentContext.js\";\nimport \"./SelectionCount.scss\";\n\n/** Properties for the [[SelectionCountField]] component.\n * @beta\n */\n// eslint-disable-next-line @typescript-eslint/no-deprecated\nexport interface SelectionCountFieldProps extends CommonProps {\n count: number;\n}\n\n/** Status field component used to display the number of selected items.\n * @note Use [[useSelectionSetSize]] hook to get the selection count.\n * @beta\n */\nexport function SelectionCountField(props: SelectionCountFieldProps) {\n const cornerContext = React.useContext(StatusBarCornerComponentContext);\n const className = classnames(\n \"uifw-statusFields-selectionCount\",\n cornerContext === \"left-corner\" && \"uifw-left-corner\",\n cornerContext === \"right-corner\" && \"uifw-right-corner\",\n props.className\n );\n return (\n <div className={className} style={props.style}>\n {/* eslint-disable-next-line @typescript-eslint/no-deprecated */}\n <Icon iconSpec={<SvgCursor />} />\n {props.count}\n </div>\n );\n}\n\n/** Arguments for [[useSelectionSetSize]] hook.\n * @beta\n */\nexport interface UseSelectionSetSizeArgs {\n iModel: IModelConnection | undefined;\n}\n\n/** React hook that returns element count of a selection set.\n * @beta\n */\nexport function useSelectionSetSize(args: UseSelectionSetSizeArgs): number {\n const [size, setSize] = React.useState(0);\n const { iModel } = args;\n React.useEffect(() => {\n if (!iModel) {\n setSize(0);\n return;\n }\n setSize(iModel.selectionSet.size);\n return iModel.selectionSet.onChanged.addListener((ev) => {\n setSize(ev.set.size);\n });\n }, [iModel]);\n return size;\n}\n"]}
@@ -14,10 +14,10 @@ import { useReduxFrameworkState } from "../uistate/useReduxFrameworkState.js";
14
14
  * @public
15
15
  * @deprecated in 4.15.0. Use {@link SelectionCountField} instead.
16
16
  */
17
- // eslint-disable-next-line deprecation/deprecation
17
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
18
18
  export function SelectionInfoField(props) {
19
19
  const numItemsSelected = useReduxFrameworkState(
20
- // eslint-disable-next-line deprecation/deprecation
20
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
21
21
  (state) => state?.sessionState.numItemsSelected ?? 0);
22
22
  return (React.createElement(SelectionCountField, { className: props.className, style: props.style, count: numItemsSelected }));
23
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SelectionInfo.js","sourceRoot":"","sources":["../../../src/appui-react/statusfields/SelectionInfo.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAE9E;;;;;GAKG;AACH,mDAAmD;AACnD,MAAM,UAAU,kBAAkB,CAAC,KAAkB;IACnD,MAAM,gBAAgB,GAAG,sBAAsB;IAC7C,mDAAmD;IACnD,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,gBAAgB,IAAI,CAAC,CACrD,CAAC;IACF,OAAO,CACL,oBAAC,mBAAmB,IAClB,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,KAAK,EAAE,gBAAgB,GACvB,CACH,CAAC;AACJ,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 StatusBar\n */\n\nimport * as React from \"react\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { SelectionCountField } from \"./SelectionCount.js\";\nimport { useReduxFrameworkState } from \"../uistate/useReduxFrameworkState.js\";\n\n/** `SelectionInfoField` component is designed to be specified in a status bar.\n * It is used to display the number of items in a selection set.\n * @note Requires redux provider.\n * @public\n * @deprecated in 4.15.0. Use {@link SelectionCountField} instead.\n */\n// eslint-disable-next-line deprecation/deprecation\nexport function SelectionInfoField(props: CommonProps) {\n const numItemsSelected = useReduxFrameworkState(\n // eslint-disable-next-line deprecation/deprecation\n (state) => state?.sessionState.numItemsSelected ?? 0\n );\n return (\n <SelectionCountField\n className={props.className}\n style={props.style}\n count={numItemsSelected}\n />\n );\n}\n"]}
1
+ {"version":3,"file":"SelectionInfo.js","sourceRoot":"","sources":["../../../src/appui-react/statusfields/SelectionInfo.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAE9E;;;;;GAKG;AACH,4DAA4D;AAC5D,MAAM,UAAU,kBAAkB,CAAC,KAAkB;IACnD,MAAM,gBAAgB,GAAG,sBAAsB;IAC7C,4DAA4D;IAC5D,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,gBAAgB,IAAI,CAAC,CACrD,CAAC;IACF,OAAO,CACL,oBAAC,mBAAmB,IAClB,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,KAAK,EAAE,gBAAgB,GACvB,CACH,CAAC;AACJ,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 StatusBar\n */\n\nimport * as React from \"react\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { SelectionCountField } from \"./SelectionCount.js\";\nimport { useReduxFrameworkState } from \"../uistate/useReduxFrameworkState.js\";\n\n/** `SelectionInfoField` component is designed to be specified in a status bar.\n * It is used to display the number of items in a selection set.\n * @note Requires redux provider.\n * @public\n * @deprecated in 4.15.0. Use {@link SelectionCountField} instead.\n */\n// eslint-disable-next-line @typescript-eslint/no-deprecated\nexport function SelectionInfoField(props: CommonProps) {\n const numItemsSelected = useReduxFrameworkState(\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n (state) => state?.sessionState.numItemsSelected ?? 0\n );\n return (\n <SelectionCountField\n className={props.className}\n style={props.style}\n count={numItemsSelected}\n />\n );\n}\n"]}
@@ -19,10 +19,10 @@ import { useReduxFrameworkState } from "../uistate/useReduxFrameworkState.js";
19
19
  export function SelectionScopeField(props) {
20
20
  const { translate } = useTranslation();
21
21
  const reduxActiveSelectionScope = useReduxFrameworkState(
22
- // eslint-disable-next-line deprecation/deprecation
22
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
23
23
  (state) => state?.sessionState.activeSelectionScope);
24
24
  const reduxAvailableSelectionScopes = useReduxFrameworkState(
25
- // eslint-disable-next-line deprecation/deprecation
25
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
26
26
  (state) => state?.sessionState.availableSelectionScopes);
27
27
  const activeSelectionScope = props.activeScope ?? reduxActiveSelectionScope ?? "";
28
28
  const availableSelectionScopes = React.useMemo(() => props.selectionScopes ??
@@ -37,7 +37,7 @@ export function SelectionScopeField(props) {
37
37
  props.onChange(newValue);
38
38
  return;
39
39
  }
40
- // eslint-disable-next-line deprecation/deprecation
40
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
41
41
  UiFramework.setActiveSelectionScope(newValue);
42
42
  };
43
43
  return (React.createElement("div", { className: classnames("uifw-statusFields-selectionScope", props.className), style: props.style },
@@ -1 +1 @@
1
- {"version":3,"file":"SelectionScope.js","sourceRoot":"","sources":["../../../src/appui-react/statusfields/SelectionScope.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,uBAAuB,CAAC;AAC/B,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAe9E;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAA+B;IACjE,MAAM,EAAE,SAAS,EAAE,GAAG,cAAc,EAAE,CAAC;IACvC,MAAM,yBAAyB,GAAG,sBAAsB;IACtD,mDAAmD;IACnD,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,oBAAoB,CACpD,CAAC;IACF,MAAM,6BAA6B,GAAG,sBAAsB;IAC1D,mDAAmD;IACnD,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,wBAAwB,CACxD,CAAC;IAEF,MAAM,oBAAoB,GACxB,KAAK,CAAC,WAAW,IAAI,yBAAyB,IAAI,EAAE,CAAC;IACvD,MAAM,wBAAwB,GAAG,KAAK,CAAC,OAAO,CAC5C,GAAG,EAAE,CACH,KAAK,CAAC,eAAe;QACrB,6BAA6B,IAAI,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,EACxE,CAAC,KAAK,CAAC,eAAe,EAAE,6BAA6B,CAAC,CACvD,CAAC;IAEF,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAC3B,GAAG,EAAE,CACH,wBAAwB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACrC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;IACjD,CAAC,CAAC,EACJ,CAAC,wBAAwB,CAAC,CAC3B,CAAC;IAEF,MAAM,iBAAiB,GAAG,CAAC,QAAgB,EAAE,EAAE;QAC7C,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACzB,OAAO;QACT,CAAC;QAED,mDAAmD;QACnD,WAAW,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC,CAAC;IAEF,OAAO,CACL,6BACE,SAAS,EAAE,UAAU,CACnB,kCAAkC,EAClC,KAAK,CAAC,SAAS,CAChB,EACD,KAAK,EAAE,KAAK,CAAC,KAAK;QAElB,oBAAC,aAAa,IACZ,SAAS,EAAC,2CAA2C,EACrD,KAAK,EAAE,GAAG,SAAS,CAAC,2BAA2B,CAAC,GAAG,EACnD,UAAU,EAAE,EAAE,SAAS,EAAE,wCAAwC,EAAE,EACnE,YAAY,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,EAClC,YAAY,EAAC,QAAQ,EACrB,KAAK,EAAE,oBAAoB,EAC3B,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,iBAAiB,iBACf,oCAAoC,EAChD,KAAK,EAAE,SAAS,CAAC,6BAA6B,CAAC,EAC/C,IAAI,EAAC,OAAO,GACZ,CACE,CACP,CAAC;AACJ,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 StatusBar\n */\n\nimport \"./SelectionScope.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { LabeledSelect } from \"@itwin/itwinui-react\";\nimport { UiFramework } from \"../UiFramework.js\";\nimport { useTranslation } from \"../hooks/useTranslation.js\";\nimport { useReduxFrameworkState } from \"../uistate/useReduxFrameworkState.js\";\n\n// eslint-disable-next-line deprecation/deprecation\ninterface SelectionScopeFieldProps extends CommonProps {\n /** Describes which selection scope is active. Uses redux store as a fallback. Defaults to `\"\"`. */\n activeScope?: string;\n /** Describes available selection scopes. Uses redux store as a fallback. Defaults to `{ id: \"element\", label: \"Element\" }`. */\n selectionScopes?: {\n id: string;\n label: string;\n }[];\n /** Function called when the active selection scope is changed. */\n onChange?: (scope: string) => void;\n}\n\n/** `SelectionScopeField` component is designed to be specified in a status bar.\n * It displays the active selection scope and the list of scopes from which the user can change the active selection scope.\n * @public\n */\nexport function SelectionScopeField(props: SelectionScopeFieldProps) {\n const { translate } = useTranslation();\n const reduxActiveSelectionScope = useReduxFrameworkState(\n // eslint-disable-next-line deprecation/deprecation\n (state) => state?.sessionState.activeSelectionScope\n );\n const reduxAvailableSelectionScopes = useReduxFrameworkState(\n // eslint-disable-next-line deprecation/deprecation\n (state) => state?.sessionState.availableSelectionScopes\n );\n\n const activeSelectionScope =\n props.activeScope ?? reduxActiveSelectionScope ?? \"\";\n const availableSelectionScopes = React.useMemo(\n () =>\n props.selectionScopes ??\n reduxAvailableSelectionScopes ?? [{ id: \"element\", label: \"Element\" }],\n [props.selectionScopes, reduxAvailableSelectionScopes]\n );\n\n const options = React.useMemo(\n () =>\n availableSelectionScopes.map((scope) => {\n return { value: scope.id, label: scope.label };\n }),\n [availableSelectionScopes]\n );\n\n const updateSelectValue = (newValue: string) => {\n if (!newValue) return;\n if (props.onChange) {\n props.onChange(newValue);\n return;\n }\n\n // eslint-disable-next-line deprecation/deprecation\n UiFramework.setActiveSelectionScope(newValue);\n };\n\n return (\n <div\n className={classnames(\n \"uifw-statusFields-selectionScope\",\n props.className\n )}\n style={props.style}\n >\n <LabeledSelect\n className=\"uifw-statusFields-selectionScope-selector\"\n label={`${translate(\"selectionScopeField.label\")}:`}\n labelProps={{ className: \"uifw-statusFields-selectionScope-label\" }}\n popoverProps={{ placement: \"top\" }}\n displayStyle=\"inline\"\n value={activeSelectionScope}\n options={options}\n onChange={updateSelectValue}\n data-testid=\"components-selectionScope-selector\"\n title={translate(\"selectionScopeField.toolTip\")}\n size=\"small\"\n />\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"SelectionScope.js","sourceRoot":"","sources":["../../../src/appui-react/statusfields/SelectionScope.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,uBAAuB,CAAC;AAC/B,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAe9E;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAA+B;IACjE,MAAM,EAAE,SAAS,EAAE,GAAG,cAAc,EAAE,CAAC;IACvC,MAAM,yBAAyB,GAAG,sBAAsB;IACtD,4DAA4D;IAC5D,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,oBAAoB,CACpD,CAAC;IACF,MAAM,6BAA6B,GAAG,sBAAsB;IAC1D,4DAA4D;IAC5D,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,wBAAwB,CACxD,CAAC;IAEF,MAAM,oBAAoB,GACxB,KAAK,CAAC,WAAW,IAAI,yBAAyB,IAAI,EAAE,CAAC;IACvD,MAAM,wBAAwB,GAAG,KAAK,CAAC,OAAO,CAC5C,GAAG,EAAE,CACH,KAAK,CAAC,eAAe;QACrB,6BAA6B,IAAI,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,EACxE,CAAC,KAAK,CAAC,eAAe,EAAE,6BAA6B,CAAC,CACvD,CAAC;IAEF,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAC3B,GAAG,EAAE,CACH,wBAAwB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACrC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;IACjD,CAAC,CAAC,EACJ,CAAC,wBAAwB,CAAC,CAC3B,CAAC;IAEF,MAAM,iBAAiB,GAAG,CAAC,QAAgB,EAAE,EAAE;QAC7C,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACzB,OAAO;QACT,CAAC;QAED,4DAA4D;QAC5D,WAAW,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC,CAAC;IAEF,OAAO,CACL,6BACE,SAAS,EAAE,UAAU,CACnB,kCAAkC,EAClC,KAAK,CAAC,SAAS,CAChB,EACD,KAAK,EAAE,KAAK,CAAC,KAAK;QAElB,oBAAC,aAAa,IACZ,SAAS,EAAC,2CAA2C,EACrD,KAAK,EAAE,GAAG,SAAS,CAAC,2BAA2B,CAAC,GAAG,EACnD,UAAU,EAAE,EAAE,SAAS,EAAE,wCAAwC,EAAE,EACnE,YAAY,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,EAClC,YAAY,EAAC,QAAQ,EACrB,KAAK,EAAE,oBAAoB,EAC3B,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,iBAAiB,iBACf,oCAAoC,EAChD,KAAK,EAAE,SAAS,CAAC,6BAA6B,CAAC,EAC/C,IAAI,EAAC,OAAO,GACZ,CACE,CACP,CAAC;AACJ,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 StatusBar\n */\n\nimport \"./SelectionScope.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { LabeledSelect } from \"@itwin/itwinui-react\";\nimport { UiFramework } from \"../UiFramework.js\";\nimport { useTranslation } from \"../hooks/useTranslation.js\";\nimport { useReduxFrameworkState } from \"../uistate/useReduxFrameworkState.js\";\n\n// eslint-disable-next-line @typescript-eslint/no-deprecated\ninterface SelectionScopeFieldProps extends CommonProps {\n /** Describes which selection scope is active. Uses redux store as a fallback. Defaults to `\"\"`. */\n activeScope?: string;\n /** Describes available selection scopes. Uses redux store as a fallback. Defaults to `{ id: \"element\", label: \"Element\" }`. */\n selectionScopes?: {\n id: string;\n label: string;\n }[];\n /** Function called when the active selection scope is changed. */\n onChange?: (scope: string) => void;\n}\n\n/** `SelectionScopeField` component is designed to be specified in a status bar.\n * It displays the active selection scope and the list of scopes from which the user can change the active selection scope.\n * @public\n */\nexport function SelectionScopeField(props: SelectionScopeFieldProps) {\n const { translate } = useTranslation();\n const reduxActiveSelectionScope = useReduxFrameworkState(\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n (state) => state?.sessionState.activeSelectionScope\n );\n const reduxAvailableSelectionScopes = useReduxFrameworkState(\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n (state) => state?.sessionState.availableSelectionScopes\n );\n\n const activeSelectionScope =\n props.activeScope ?? reduxActiveSelectionScope ?? \"\";\n const availableSelectionScopes = React.useMemo(\n () =>\n props.selectionScopes ??\n reduxAvailableSelectionScopes ?? [{ id: \"element\", label: \"Element\" }],\n [props.selectionScopes, reduxAvailableSelectionScopes]\n );\n\n const options = React.useMemo(\n () =>\n availableSelectionScopes.map((scope) => {\n return { value: scope.id, label: scope.label };\n }),\n [availableSelectionScopes]\n );\n\n const updateSelectValue = (newValue: string) => {\n if (!newValue) return;\n if (props.onChange) {\n props.onChange(newValue);\n return;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n UiFramework.setActiveSelectionScope(newValue);\n };\n\n return (\n <div\n className={classnames(\n \"uifw-statusFields-selectionScope\",\n props.className\n )}\n style={props.style}\n >\n <LabeledSelect\n className=\"uifw-statusFields-selectionScope-selector\"\n label={`${translate(\"selectionScopeField.label\")}:`}\n labelProps={{ className: \"uifw-statusFields-selectionScope-label\" }}\n popoverProps={{ placement: \"top\" }}\n displayStyle=\"inline\"\n value={activeSelectionScope}\n options={options}\n onChange={updateSelectValue}\n data-testid=\"components-selectionScope-selector\"\n title={translate(\"selectionScopeField.toolTip\")}\n size=\"small\"\n />\n </div>\n );\n}\n"]}
@@ -72,7 +72,7 @@ export function SnapModeField(props) {
72
72
  })
73
73
  : allSnapModeFieldEntries;
74
74
  const reduxSnapMode = useReduxFrameworkState(
75
- // eslint-disable-next-line deprecation/deprecation
75
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
76
76
  (state) => state?.configurableUiState.snapMode);
77
77
  const snapMode = props.snapMode ?? reduxSnapMode ?? SnapMode.NearestKeypoint;
78
78
  // Get all the modes present in the bitmask.
@@ -85,7 +85,7 @@ export function SnapModeField(props) {
85
85
  props.onChange(entry.value);
86
86
  return;
87
87
  }
88
- // eslint-disable-next-line deprecation/deprecation
88
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
89
89
  UiFramework.setAccudrawSnapMode(entry.value);
90
90
  }, isActive: (snapMode & entry.value) === entry.value, icon: React.createElement(Icon, null, entry.icon) }, translate(entry.labelKey))))) },
91
91
  React.createElement(Button, { styleType: "borderless", title: title, endIcon: enabledSnaps.length === 1 ? enabledSnaps[0].icon : React.createElement(SvgSnaps, null) },
@@ -1 +1 @@
1
- {"version":3,"file":"SnapMode.js","sourceRoot":"","sources":["../../../src/appui-react/statusfields/SnapMode.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module StatusBar\n */\n\nimport { SnapMode } from \"@itwin/core-frontend\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport * as React from \"react\";\nimport { UiFramework } from \"../UiFramework.js\";\nimport { SnapModePanel } from \"../layout/footer/snap-mode/Panel.js\";\nimport { Snap } from \"../layout/footer/snap-mode/Snap.js\";\nimport { useTranslation } from \"../hooks/useTranslation.js\";\nimport { useReduxFrameworkState } from \"../uistate/useReduxFrameworkState.js\";\nimport { Button, Icon } from \"@itwin/itwinui-react\";\nimport { StatusBarPopover } from \"../statusbar/popup/StatusBarPopover.js\";\nimport { SvgSnapsBisector } from \"../icons/snaps/SvgSnapsBisector.js\";\nimport { SvgSnapsCenter } from \"../icons/snaps/SvgSnapsCenter.js\";\nimport { SvgSnapsIntersection } from \"../icons/snaps/SvgSnapsIntersection.js\";\nimport { SvgSnapsMidpoint } from \"../icons/snaps/SvgSnapsMidpoint.js\";\nimport { SvgSnapsNearest } from \"../icons/snaps/SvgSnapsNearest.js\";\nimport { SvgSnapsOrigin } from \"../icons/snaps/SvgSnapsOrigin.js\";\nimport { SvgSnaps } from \"../icons/snaps/SvgSnaps.js\";\n\n/** Define the properties that will be used to represent the available snap modes. */\ninterface SnapModeFieldEntry {\n labelKey: string;\n value: number;\n icon: React.ReactElement;\n}\n\n// Field entry of all possible snap modes.\nconst allSnapModeFieldEntries: SnapModeFieldEntry[] = [\n {\n labelKey: \"snapModeField.keypoint\",\n value: SnapMode.NearestKeypoint as number,\n icon: <SvgSnaps />,\n },\n {\n labelKey: \"snapModeField.intersection\",\n value: SnapMode.Intersection as number,\n icon: <SvgSnapsIntersection />,\n },\n {\n labelKey: \"snapModeField.center\",\n value: SnapMode.Center as number,\n icon: <SvgSnapsCenter />,\n },\n {\n labelKey: \"snapModeField.nearest\",\n value: SnapMode.Nearest as number,\n icon: <SvgSnapsNearest />,\n },\n {\n labelKey: \"snapModeField.origin\",\n value: SnapMode.Origin as number,\n icon: <SvgSnapsOrigin />,\n },\n {\n labelKey: \"snapModeField.midpoint\",\n value: SnapMode.MidPoint as number,\n icon: <SvgSnapsMidpoint />,\n },\n {\n labelKey: \"snapModeField.bisector\",\n value: SnapMode.Bisector as number,\n icon: <SvgSnapsBisector />,\n },\n];\n\n/** Defines properties supported by the SnapMode Field Component. */\n// eslint-disable-next-line deprecation/deprecation\ninterface SnapModeFieldProps extends CommonProps {\n /** Uses redux store as a fallback. Defaults to {@link SnapMode.NearestKeypoint}.\n * @note Enum flags are supported.\n */\n snapMode?: SnapMode;\n /** The list of snap modes available for selection. Defaults to all the modes.*/\n availableSnapModes?: SnapMode[];\n onChange?: (newSnapMode: SnapMode) => void;\n}\n\n/** `SnapModeField` component designed to be specified in a status bar. It will\n * display the active snap mode that AccuSnap will use and allow the user to select a new snap mode.\n * @public\n */\nexport function SnapModeField(props: SnapModeFieldProps) {\n const { translate } = useTranslation();\n const snapModeEntries: SnapModeFieldEntry[] = props.availableSnapModes\n ? allSnapModeFieldEntries.filter((entry) => {\n return (\n props.availableSnapModes &&\n props.availableSnapModes.some(\n (availableSnap) => availableSnap === (entry.value as SnapMode)\n )\n );\n })\n : allSnapModeFieldEntries;\n\n const reduxSnapMode = useReduxFrameworkState(\n // eslint-disable-next-line deprecation/deprecation\n (state) => state?.configurableUiState.snapMode\n );\n const snapMode = props.snapMode ?? reduxSnapMode ?? SnapMode.NearestKeypoint;\n\n // Get all the modes present in the bitmask.\n const enabledSnaps: SnapModeFieldEntry[] = allSnapModeFieldEntries.filter(\n (entry) => {\n return (entry.value & snapMode) === entry.value;\n }\n );\n\n const title = translate(\"snapModeField.snapMode\");\n return (\n <StatusBarPopover\n content={\n <SnapModePanel title={title}>\n {snapModeEntries.map((entry, index) => (\n <Snap\n key={`SM_${index}`}\n onClick={() => {\n if (props.onChange) {\n props.onChange(entry.value);\n return;\n }\n // eslint-disable-next-line deprecation/deprecation\n UiFramework.setAccudrawSnapMode(entry.value);\n }}\n isActive={(snapMode & entry.value) === entry.value}\n icon={<Icon>{entry.icon}</Icon>}\n >\n {translate(entry.labelKey)}\n </Snap>\n ))}\n </SnapModePanel>\n }\n >\n <Button\n styleType=\"borderless\"\n title={title}\n endIcon={\n enabledSnaps.length === 1 ? enabledSnaps[0].icon : <SvgSnaps />\n }\n >\n {title}\n <StatusBarPopover.ExpandIndicator />\n </Button>\n </StatusBarPopover>\n );\n}\n"]}
1
+ {"version":3,"file":"SnapMode.js","sourceRoot":"","sources":["../../../src/appui-react/statusfields/SnapMode.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module StatusBar\n */\n\nimport { SnapMode } from \"@itwin/core-frontend\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport * as React from \"react\";\nimport { UiFramework } from \"../UiFramework.js\";\nimport { SnapModePanel } from \"../layout/footer/snap-mode/Panel.js\";\nimport { Snap } from \"../layout/footer/snap-mode/Snap.js\";\nimport { useTranslation } from \"../hooks/useTranslation.js\";\nimport { useReduxFrameworkState } from \"../uistate/useReduxFrameworkState.js\";\nimport { Button, Icon } from \"@itwin/itwinui-react\";\nimport { StatusBarPopover } from \"../statusbar/popup/StatusBarPopover.js\";\nimport { SvgSnapsBisector } from \"../icons/snaps/SvgSnapsBisector.js\";\nimport { SvgSnapsCenter } from \"../icons/snaps/SvgSnapsCenter.js\";\nimport { SvgSnapsIntersection } from \"../icons/snaps/SvgSnapsIntersection.js\";\nimport { SvgSnapsMidpoint } from \"../icons/snaps/SvgSnapsMidpoint.js\";\nimport { SvgSnapsNearest } from \"../icons/snaps/SvgSnapsNearest.js\";\nimport { SvgSnapsOrigin } from \"../icons/snaps/SvgSnapsOrigin.js\";\nimport { SvgSnaps } from \"../icons/snaps/SvgSnaps.js\";\n\n/** Define the properties that will be used to represent the available snap modes. */\ninterface SnapModeFieldEntry {\n labelKey: string;\n value: number;\n icon: React.ReactElement;\n}\n\n// Field entry of all possible snap modes.\nconst allSnapModeFieldEntries: SnapModeFieldEntry[] = [\n {\n labelKey: \"snapModeField.keypoint\",\n value: SnapMode.NearestKeypoint as number,\n icon: <SvgSnaps />,\n },\n {\n labelKey: \"snapModeField.intersection\",\n value: SnapMode.Intersection as number,\n icon: <SvgSnapsIntersection />,\n },\n {\n labelKey: \"snapModeField.center\",\n value: SnapMode.Center as number,\n icon: <SvgSnapsCenter />,\n },\n {\n labelKey: \"snapModeField.nearest\",\n value: SnapMode.Nearest as number,\n icon: <SvgSnapsNearest />,\n },\n {\n labelKey: \"snapModeField.origin\",\n value: SnapMode.Origin as number,\n icon: <SvgSnapsOrigin />,\n },\n {\n labelKey: \"snapModeField.midpoint\",\n value: SnapMode.MidPoint as number,\n icon: <SvgSnapsMidpoint />,\n },\n {\n labelKey: \"snapModeField.bisector\",\n value: SnapMode.Bisector as number,\n icon: <SvgSnapsBisector />,\n },\n];\n\n/** Defines properties supported by the SnapMode Field Component. */\n// eslint-disable-next-line @typescript-eslint/no-deprecated\ninterface SnapModeFieldProps extends CommonProps {\n /** Uses redux store as a fallback. Defaults to {@link SnapMode.NearestKeypoint}.\n * @note Enum flags are supported.\n */\n snapMode?: SnapMode;\n /** The list of snap modes available for selection. Defaults to all the modes.*/\n availableSnapModes?: SnapMode[];\n onChange?: (newSnapMode: SnapMode) => void;\n}\n\n/** `SnapModeField` component designed to be specified in a status bar. It will\n * display the active snap mode that AccuSnap will use and allow the user to select a new snap mode.\n * @public\n */\nexport function SnapModeField(props: SnapModeFieldProps) {\n const { translate } = useTranslation();\n const snapModeEntries: SnapModeFieldEntry[] = props.availableSnapModes\n ? allSnapModeFieldEntries.filter((entry) => {\n return (\n props.availableSnapModes &&\n props.availableSnapModes.some(\n (availableSnap) => availableSnap === (entry.value as SnapMode)\n )\n );\n })\n : allSnapModeFieldEntries;\n\n const reduxSnapMode = useReduxFrameworkState(\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n (state) => state?.configurableUiState.snapMode\n );\n const snapMode = props.snapMode ?? reduxSnapMode ?? SnapMode.NearestKeypoint;\n\n // Get all the modes present in the bitmask.\n const enabledSnaps: SnapModeFieldEntry[] = allSnapModeFieldEntries.filter(\n (entry) => {\n return (entry.value & snapMode) === entry.value;\n }\n );\n\n const title = translate(\"snapModeField.snapMode\");\n return (\n <StatusBarPopover\n content={\n <SnapModePanel title={title}>\n {snapModeEntries.map((entry, index) => (\n <Snap\n key={`SM_${index}`}\n onClick={() => {\n if (props.onChange) {\n props.onChange(entry.value);\n return;\n }\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n UiFramework.setAccudrawSnapMode(entry.value);\n }}\n isActive={(snapMode & entry.value) === entry.value}\n icon={<Icon>{entry.icon}</Icon>}\n >\n {translate(entry.labelKey)}\n </Snap>\n ))}\n </SnapModePanel>\n }\n >\n <Button\n styleType=\"borderless\"\n title={title}\n endIcon={\n enabledSnaps.length === 1 ? enabledSnaps[0].icon : <SvgSnaps />\n }\n >\n {title}\n <StatusBarPopover.ExpandIndicator />\n </Button>\n </StatusBarPopover>\n );\n}\n"]}
@@ -13,7 +13,7 @@ interface ViewAttributesStatusFieldState {
13
13
  /** Widget for showing Checkboxes for View Attributes
14
14
  * @beta
15
15
  */
16
- export declare class ViewAttributesStatusField extends React.Component<CommonProps, // eslint-disable-line deprecation/deprecation
16
+ export declare class ViewAttributesStatusField extends React.Component<CommonProps, // eslint-disable-line @typescript-eslint/no-deprecated
17
17
  ViewAttributesStatusFieldState> {
18
18
  constructor(props: CommonProps);
19
19
  componentDidMount(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"ViewAttributes.d.ts","sourceRoot":"","sources":["../../../src/appui-react/statusfields/ViewAttributes.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,uBAAuB,CAAC;AAC/B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAKxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAKrD,UAAU,8BAA8B;IACtC,SAAS,EAAE,aAAa,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;CAC5B;AAED;;GAEG;AACH,qBAAa,yBAA0B,SAAQ,KAAK,CAAC,SAAS,CAC5D,WAAW,EAAE,8CAA8C;AAC3D,8BAA8B,CAC/B;gBAEa,KAAK,EAAE,WAAW;IAUd,iBAAiB;IAIjC,OAAO,CAAC,WAAW;IAcnB,OAAO,CAAC,oBAAoB,CAY1B;IAEF,OAAO,CAAC,mBAAmB,CAMzB;IAEF,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,mBAAmB;IAW3B,OAAO,CAAC,YAAY;IA0DJ,MAAM;CAoBvB"}
1
+ {"version":3,"file":"ViewAttributes.d.ts","sourceRoot":"","sources":["../../../src/appui-react/statusfields/ViewAttributes.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,uBAAuB,CAAC;AAC/B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAKxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAKrD,UAAU,8BAA8B;IACtC,SAAS,EAAE,aAAa,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;CAC5B;AAED;;GAEG;AACH,qBAAa,yBAA0B,SAAQ,KAAK,CAAC,SAAS,CAC5D,WAAW,EAAE,uDAAuD;AACpE,8BAA8B,CAC/B;gBAEa,KAAK,EAAE,WAAW;IAUd,iBAAiB;IAIjC,OAAO,CAAC,WAAW;IAcnB,OAAO,CAAC,oBAAoB,CAY1B;IAEF,OAAO,CAAC,mBAAmB,CAMzB;IAEF,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,mBAAmB;IAW3B,OAAO,CAAC,YAAY;IA0DJ,MAAM;CAoBvB"}
@@ -18,7 +18,7 @@ import { StatusBarPopover } from "../statusbar/popup/StatusBarPopover.js";
18
18
  * @beta
19
19
  */
20
20
  export class ViewAttributesStatusField extends React.Component {
21
- // eslint-disable-next-line deprecation/deprecation
21
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
22
22
  constructor(props) {
23
23
  super(props);
24
24
  this._handleViewFlagClick = (flagName) => {
@@ -1 +1 @@
1
- {"version":3,"file":"ViewAttributes.js","sourceRoot":"","sources":["../../../src/appui-react/statusfields/ViewAttributes.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module StatusBar\n */\n\nimport \"./ViewAttributes.scss\";\nimport * as React from \"react\";\nimport type { ViewFlagProps } from \"@itwin/core-common\";\nimport { ViewFlags } from \"@itwin/core-common\";\nimport { IModelApp } from \"@itwin/core-frontend\";\nimport { Checkbox, IconButton } from \"@itwin/itwinui-react\";\nimport { UiFramework } from \"../UiFramework.js\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { StatusBarDialog } from \"../statusbar/dialog/Dialog.js\";\nimport { SvgWindowSettings } from \"@itwin/itwinui-icons-react\";\nimport { StatusBarPopover } from \"../statusbar/popup/StatusBarPopover.js\";\n\ninterface ViewAttributesStatusFieldState {\n viewFlags: ViewFlagProps;\n cameraOn: boolean;\n target: HTMLElement | null;\n}\n\n/** Widget for showing Checkboxes for View Attributes\n * @beta\n */\nexport class ViewAttributesStatusField extends React.Component<\n CommonProps, // eslint-disable-line deprecation/deprecation\n ViewAttributesStatusFieldState\n> {\n // eslint-disable-next-line deprecation/deprecation\n constructor(props: CommonProps) {\n super(props);\n\n this.state = {\n cameraOn: false,\n viewFlags: {},\n target: null,\n };\n }\n\n public override componentDidMount() {\n this.updateState();\n }\n\n private updateState() {\n if (IModelApp.viewManager.selectedView) {\n const viewFlags: ViewFlagProps = {\n ...IModelApp.viewManager.selectedView.view.viewFlags.toJSON(),\n };\n const cameraOn = IModelApp.viewManager.selectedView.isCameraOn;\n\n this.setState({\n viewFlags,\n cameraOn,\n });\n }\n }\n\n private _handleViewFlagClick = (flagName: string) => {\n if (IModelApp.viewManager.selectedView) {\n const props: ViewFlagProps =\n IModelApp.viewManager.selectedView.viewFlags.toJSON();\n (props as any)[flagName] =\n (props as any)[flagName] === undefined\n ? true\n : !(props as any)[flagName];\n const viewFlags = ViewFlags.fromJSON(props);\n IModelApp.viewManager.selectedView.viewFlags = viewFlags;\n this.updateState();\n }\n };\n\n private _handleToggleCamera = async () => {\n await IModelApp.tools.run(\n \"View.ToggleCamera\",\n IModelApp.viewManager.selectedView\n );\n this.updateState();\n };\n\n private getViewFlagItem(flagName: string, value: boolean, labelKey: string) {\n return (\n <Checkbox\n key={flagName}\n label={UiFramework.translate(labelKey)}\n onClick={() => this._handleViewFlagClick(flagName)}\n defaultChecked={value}\n />\n );\n }\n\n private getFlagState(flagName: string) {\n return this.state.viewFlags.hasOwnProperty(flagName)\n ? (this.state.viewFlags as any)[flagName]\n : false;\n }\n\n private getToggleCameraItem() {\n return (\n <Checkbox\n key={\"toggleCamera\"}\n label={UiFramework.translate(\"listTools.camera\")}\n onClick={this._handleToggleCamera}\n defaultChecked={this.state.cameraOn}\n />\n );\n }\n\n private getViewFlags() {\n const items: React.ReactElement[] = [];\n items.push(\n this.getViewFlagItem(\"acs\", this.getFlagState(\"acs\"), \"listTools.acs\")\n );\n items.push(this.getToggleCameraItem());\n items.push(\n this.getViewFlagItem(\n \"noConstruct\",\n !this.getFlagState(\"noConstruct\"),\n \"listTools.constructions\"\n )\n );\n items.push(\n this.getViewFlagItem(\n \"hidEdges\",\n this.getFlagState(\"hidEdges\"),\n \"listTools.hidEdges\"\n )\n );\n items.push(\n this.getViewFlagItem(\n \"monochrome\",\n this.getFlagState(\"monochrome\"),\n \"listTools.monochrome\"\n )\n );\n items.push(\n this.getViewFlagItem(\n \"visEdges\",\n this.getFlagState(\"visEdges\"),\n \"listTools.visEdges\"\n )\n );\n items.push(\n this.getViewFlagItem(\n \"ambientOcclusion\",\n this.getFlagState(\"ambientOcclusion\"),\n \"listTools.ambientOcclusion\"\n )\n );\n items.push(\n this.getViewFlagItem(\n \"shadows\",\n this.getFlagState(\"shadows\"),\n \"listTools.shadows\"\n )\n );\n items.push(\n this.getViewFlagItem(\n \"backgroundMap\",\n this.getFlagState(\"backgroundMap\"),\n \"listTools.backgroundMap\"\n )\n );\n return <div className=\"uifw-view-attributes-contents\">{items}</div>;\n }\n\n public override render() {\n const title = UiFramework.translate(\"listTools.viewAttributes\");\n\n return (\n <StatusBarPopover\n content={\n <StatusBarDialog\n titleBar={<StatusBarDialog.TitleBar title={title} />}\n >\n {this.getViewFlags()}\n </StatusBarDialog>\n }\n >\n <IconButton styleType=\"borderless\" label={title}>\n <SvgWindowSettings />\n <StatusBarPopover.ExpandIndicator />\n </IconButton>\n </StatusBarPopover>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"ViewAttributes.js","sourceRoot":"","sources":["../../../src/appui-react/statusfields/ViewAttributes.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module StatusBar\n */\n\nimport \"./ViewAttributes.scss\";\nimport * as React from \"react\";\nimport type { ViewFlagProps } from \"@itwin/core-common\";\nimport { ViewFlags } from \"@itwin/core-common\";\nimport { IModelApp } from \"@itwin/core-frontend\";\nimport { Checkbox, IconButton } from \"@itwin/itwinui-react\";\nimport { UiFramework } from \"../UiFramework.js\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { StatusBarDialog } from \"../statusbar/dialog/Dialog.js\";\nimport { SvgWindowSettings } from \"@itwin/itwinui-icons-react\";\nimport { StatusBarPopover } from \"../statusbar/popup/StatusBarPopover.js\";\n\ninterface ViewAttributesStatusFieldState {\n viewFlags: ViewFlagProps;\n cameraOn: boolean;\n target: HTMLElement | null;\n}\n\n/** Widget for showing Checkboxes for View Attributes\n * @beta\n */\nexport class ViewAttributesStatusField extends React.Component<\n CommonProps, // eslint-disable-line @typescript-eslint/no-deprecated\n ViewAttributesStatusFieldState\n> {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n constructor(props: CommonProps) {\n super(props);\n\n this.state = {\n cameraOn: false,\n viewFlags: {},\n target: null,\n };\n }\n\n public override componentDidMount() {\n this.updateState();\n }\n\n private updateState() {\n if (IModelApp.viewManager.selectedView) {\n const viewFlags: ViewFlagProps = {\n ...IModelApp.viewManager.selectedView.view.viewFlags.toJSON(),\n };\n const cameraOn = IModelApp.viewManager.selectedView.isCameraOn;\n\n this.setState({\n viewFlags,\n cameraOn,\n });\n }\n }\n\n private _handleViewFlagClick = (flagName: string) => {\n if (IModelApp.viewManager.selectedView) {\n const props: ViewFlagProps =\n IModelApp.viewManager.selectedView.viewFlags.toJSON();\n (props as any)[flagName] =\n (props as any)[flagName] === undefined\n ? true\n : !(props as any)[flagName];\n const viewFlags = ViewFlags.fromJSON(props);\n IModelApp.viewManager.selectedView.viewFlags = viewFlags;\n this.updateState();\n }\n };\n\n private _handleToggleCamera = async () => {\n await IModelApp.tools.run(\n \"View.ToggleCamera\",\n IModelApp.viewManager.selectedView\n );\n this.updateState();\n };\n\n private getViewFlagItem(flagName: string, value: boolean, labelKey: string) {\n return (\n <Checkbox\n key={flagName}\n label={UiFramework.translate(labelKey)}\n onClick={() => this._handleViewFlagClick(flagName)}\n defaultChecked={value}\n />\n );\n }\n\n private getFlagState(flagName: string) {\n return this.state.viewFlags.hasOwnProperty(flagName)\n ? (this.state.viewFlags as any)[flagName]\n : false;\n }\n\n private getToggleCameraItem() {\n return (\n <Checkbox\n key={\"toggleCamera\"}\n label={UiFramework.translate(\"listTools.camera\")}\n onClick={this._handleToggleCamera}\n defaultChecked={this.state.cameraOn}\n />\n );\n }\n\n private getViewFlags() {\n const items: React.ReactElement[] = [];\n items.push(\n this.getViewFlagItem(\"acs\", this.getFlagState(\"acs\"), \"listTools.acs\")\n );\n items.push(this.getToggleCameraItem());\n items.push(\n this.getViewFlagItem(\n \"noConstruct\",\n !this.getFlagState(\"noConstruct\"),\n \"listTools.constructions\"\n )\n );\n items.push(\n this.getViewFlagItem(\n \"hidEdges\",\n this.getFlagState(\"hidEdges\"),\n \"listTools.hidEdges\"\n )\n );\n items.push(\n this.getViewFlagItem(\n \"monochrome\",\n this.getFlagState(\"monochrome\"),\n \"listTools.monochrome\"\n )\n );\n items.push(\n this.getViewFlagItem(\n \"visEdges\",\n this.getFlagState(\"visEdges\"),\n \"listTools.visEdges\"\n )\n );\n items.push(\n this.getViewFlagItem(\n \"ambientOcclusion\",\n this.getFlagState(\"ambientOcclusion\"),\n \"listTools.ambientOcclusion\"\n )\n );\n items.push(\n this.getViewFlagItem(\n \"shadows\",\n this.getFlagState(\"shadows\"),\n \"listTools.shadows\"\n )\n );\n items.push(\n this.getViewFlagItem(\n \"backgroundMap\",\n this.getFlagState(\"backgroundMap\"),\n \"listTools.backgroundMap\"\n )\n );\n return <div className=\"uifw-view-attributes-contents\">{items}</div>;\n }\n\n public override render() {\n const title = UiFramework.translate(\"listTools.viewAttributes\");\n\n return (\n <StatusBarPopover\n content={\n <StatusBarDialog\n titleBar={<StatusBarDialog.TitleBar title={title} />}\n >\n {this.getViewFlags()}\n </StatusBarDialog>\n }\n >\n <IconButton styleType=\"borderless\" label={title}>\n <SvgWindowSettings />\n <StatusBarPopover.ExpandIndicator />\n </IconButton>\n </StatusBarPopover>\n );\n }\n}\n"]}
@@ -19,7 +19,7 @@ const tabs = ["all", "errors"];
19
19
  /** Message Center Field React component.
20
20
  * @public
21
21
  */
22
- // eslint-disable-next-line deprecation/deprecation
22
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
23
23
  export function MessageCenterField(props) {
24
24
  const [messages, setMessages] = React.useState(MessageManager.messages);
25
25
  const [notify, setNotify] = React.useState(false);
@@ -1 +1 @@
1
- {"version":3,"file":"MessageCenterField.js","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/message-center/MessageCenterField.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Notification\n */\nimport * as React from \"react\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { Button, Icon, NotificationMarker, Tabs } from \"@itwin/itwinui-react\";\nimport {\n SvgChat,\n SvgInfo,\n SvgStatusError,\n SvgStatusSuccess,\n SvgStatusWarning,\n} from \"@itwin/itwinui-icons-react\";\nimport { OutputMessagePriority } from \"@itwin/core-frontend\";\n\nimport { MessageCenterMessage } from \"./MessageCenterMessage.js\";\nimport { MessageManager } from \"../../messages/MessageManager.js\";\nimport { TitleBar } from \"../../layout/footer/dialog/TitleBar.js\";\n\nimport type { NotifyMessageDetailsType } from \"../../messages/ReactNotifyMessageDetails.js\";\nimport \"./MessageCenterField.scss\";\nimport { useTranslation } from \"../../hooks/useTranslation.js\";\nimport { StatusBarPopover } from \"../../statusbar/popup/StatusBarPopover.js\";\n\n/** Type for Status state to satisfy NotificationMarker type checking. */\ntype NotificationMarkerStatus = Required<\n React.ComponentProps<typeof NotificationMarker>\n>[\"status\"];\n\nconst tabs = [\"all\", \"errors\"] as const;\n\n/** Message Center Field React component.\n * @public\n */\n// eslint-disable-next-line deprecation/deprecation\nexport function MessageCenterField(props: CommonProps) {\n const [messages, setMessages] = React.useState(MessageManager.messages);\n const [notify, setNotify] = React.useState(false);\n const [isOpen, setIsOpen] = React.useState(false);\n const [status, setStatus] =\n React.useState<NotificationMarkerStatus>(\"primary\");\n const { translate } = useTranslation();\n\n const indicatorRef = React.useRef<HTMLButtonElement>(null);\n\n const handleOpenChange = (isOpenState: boolean) => {\n setNotify(false);\n setIsOpen(isOpenState);\n };\n\n const isErrorMessage = (message: NotifyMessageDetailsType): boolean => {\n return (\n message.priority === OutputMessagePriority.Error ||\n message.priority === OutputMessagePriority.Fatal\n );\n };\n\n React.useEffect(() => {\n return MessageManager.onOpenMessageCenterEvent.addListener(() => {\n handleOpenChange(true);\n });\n }, []);\n\n React.useEffect(() => {\n MessageManager.registerAnimateOutToElement(indicatorRef.current);\n\n return MessageManager.onMessagesUpdatedEvent.addListener(() => {\n const newMessages = MessageManager.messages;\n newMessages.length > 0 ? setNotify(true) : setNotify(false);\n setMessages(newMessages);\n\n const lastMessage = newMessages[newMessages.length - 1];\n if (!lastMessage) return;\n\n switch (lastMessage.priority) {\n case OutputMessagePriority.Success:\n setStatus(\"positive\");\n break;\n case OutputMessagePriority.Warning:\n setStatus(\"warning\");\n break;\n case OutputMessagePriority.Error:\n case OutputMessagePriority.Fatal:\n setStatus(\"negative\");\n break;\n default:\n setStatus(\"primary\");\n }\n });\n }, []);\n\n return (\n <StatusBarPopover\n visible={isOpen}\n onVisibleChange={(visible) => handleOpenChange(visible)}\n className=\"uifw-statusFields-messageCenter-messageCenterField_popover\"\n content={\n <>\n <TitleBar title={translate(\"messageCenter.messages\")}></TitleBar>\n\n <Tabs.Wrapper type=\"pill\">\n <Tabs.TabList>\n {tabs.map((tab) => (\n <Tabs.Tab\n label={translate(`messageCenter.${tab}`)}\n key={tab}\n value={tab}\n />\n ))}\n </Tabs.TabList>\n {tabs.map((tab) => {\n let tabMessages = [...messages].reverse();\n tabMessages =\n tab === \"errors\"\n ? tabMessages.filter(isErrorMessage)\n : tabMessages;\n return (\n <Tabs.Panel\n value={tab}\n key={tab}\n className=\"uifw-statusFields-messageCenter-messageCenterField_panel\"\n >\n {tabMessages.length === 0 ? (\n <span className=\"uifw-message-prompt\">\n {translate(\"messageCenter.prompt\")}\n </span>\n ) : (\n tabMessages.map((message, index) => {\n return (\n <MessageCenterMessage\n key={index}\n message={message.briefMessage}\n details={message.detailedMessage}\n icon={<MessageIcon priority={message.priority} />}\n />\n );\n })\n )}\n </Tabs.Panel>\n );\n })}\n </Tabs.Wrapper>\n </>\n }\n >\n <Button\n ref={indicatorRef}\n styleType=\"borderless\"\n startIcon={\n <NotificationMarker status={status} enabled={notify}>\n <SvgChat />\n </NotificationMarker>\n }\n className={props.className}\n style={props.style}\n >\n {translate(\"messageCenter.messages\")}\n <StatusBarPopover.ExpandIndicator />\n </Button>\n </StatusBarPopover>\n );\n}\n\ninterface MessageIconProps {\n priority: OutputMessagePriority;\n}\n\nfunction MessageIcon({ priority }: MessageIconProps) {\n switch (priority) {\n case OutputMessagePriority.Error:\n case OutputMessagePriority.Fatal:\n return (\n <Icon fill=\"negative\">\n <SvgStatusError />\n </Icon>\n );\n case OutputMessagePriority.Warning:\n return (\n <Icon fill=\"warning\">\n <SvgStatusWarning />\n </Icon>\n );\n case OutputMessagePriority.Info:\n return (\n <Icon fill=\"informational\">\n <SvgInfo />\n </Icon>\n );\n }\n return (\n <Icon fill=\"positive\">\n <SvgStatusSuccess />\n </Icon>\n );\n}\n"]}
1
+ {"version":3,"file":"MessageCenterField.js","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/message-center/MessageCenterField.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Notification\n */\nimport * as React from \"react\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { Button, Icon, NotificationMarker, Tabs } from \"@itwin/itwinui-react\";\nimport {\n SvgChat,\n SvgInfo,\n SvgStatusError,\n SvgStatusSuccess,\n SvgStatusWarning,\n} from \"@itwin/itwinui-icons-react\";\nimport { OutputMessagePriority } from \"@itwin/core-frontend\";\n\nimport { MessageCenterMessage } from \"./MessageCenterMessage.js\";\nimport { MessageManager } from \"../../messages/MessageManager.js\";\nimport { TitleBar } from \"../../layout/footer/dialog/TitleBar.js\";\n\nimport type { NotifyMessageDetailsType } from \"../../messages/ReactNotifyMessageDetails.js\";\nimport \"./MessageCenterField.scss\";\nimport { useTranslation } from \"../../hooks/useTranslation.js\";\nimport { StatusBarPopover } from \"../../statusbar/popup/StatusBarPopover.js\";\n\n/** Type for Status state to satisfy NotificationMarker type checking. */\ntype NotificationMarkerStatus = Required<\n React.ComponentProps<typeof NotificationMarker>\n>[\"status\"];\n\nconst tabs = [\"all\", \"errors\"] as const;\n\n/** Message Center Field React component.\n * @public\n */\n// eslint-disable-next-line @typescript-eslint/no-deprecated\nexport function MessageCenterField(props: CommonProps) {\n const [messages, setMessages] = React.useState(MessageManager.messages);\n const [notify, setNotify] = React.useState(false);\n const [isOpen, setIsOpen] = React.useState(false);\n const [status, setStatus] =\n React.useState<NotificationMarkerStatus>(\"primary\");\n const { translate } = useTranslation();\n\n const indicatorRef = React.useRef<HTMLButtonElement>(null);\n\n const handleOpenChange = (isOpenState: boolean) => {\n setNotify(false);\n setIsOpen(isOpenState);\n };\n\n const isErrorMessage = (message: NotifyMessageDetailsType): boolean => {\n return (\n message.priority === OutputMessagePriority.Error ||\n message.priority === OutputMessagePriority.Fatal\n );\n };\n\n React.useEffect(() => {\n return MessageManager.onOpenMessageCenterEvent.addListener(() => {\n handleOpenChange(true);\n });\n }, []);\n\n React.useEffect(() => {\n MessageManager.registerAnimateOutToElement(indicatorRef.current);\n\n return MessageManager.onMessagesUpdatedEvent.addListener(() => {\n const newMessages = MessageManager.messages;\n newMessages.length > 0 ? setNotify(true) : setNotify(false);\n setMessages(newMessages);\n\n const lastMessage = newMessages[newMessages.length - 1];\n if (!lastMessage) return;\n\n switch (lastMessage.priority) {\n case OutputMessagePriority.Success:\n setStatus(\"positive\");\n break;\n case OutputMessagePriority.Warning:\n setStatus(\"warning\");\n break;\n case OutputMessagePriority.Error:\n case OutputMessagePriority.Fatal:\n setStatus(\"negative\");\n break;\n default:\n setStatus(\"primary\");\n }\n });\n }, []);\n\n return (\n <StatusBarPopover\n visible={isOpen}\n onVisibleChange={(visible) => handleOpenChange(visible)}\n className=\"uifw-statusFields-messageCenter-messageCenterField_popover\"\n content={\n <>\n <TitleBar title={translate(\"messageCenter.messages\")}></TitleBar>\n\n <Tabs.Wrapper type=\"pill\">\n <Tabs.TabList>\n {tabs.map((tab) => (\n <Tabs.Tab\n label={translate(`messageCenter.${tab}`)}\n key={tab}\n value={tab}\n />\n ))}\n </Tabs.TabList>\n {tabs.map((tab) => {\n let tabMessages = [...messages].reverse();\n tabMessages =\n tab === \"errors\"\n ? tabMessages.filter(isErrorMessage)\n : tabMessages;\n return (\n <Tabs.Panel\n value={tab}\n key={tab}\n className=\"uifw-statusFields-messageCenter-messageCenterField_panel\"\n >\n {tabMessages.length === 0 ? (\n <span className=\"uifw-message-prompt\">\n {translate(\"messageCenter.prompt\")}\n </span>\n ) : (\n tabMessages.map((message, index) => {\n return (\n <MessageCenterMessage\n key={index}\n message={message.briefMessage}\n details={message.detailedMessage}\n icon={<MessageIcon priority={message.priority} />}\n />\n );\n })\n )}\n </Tabs.Panel>\n );\n })}\n </Tabs.Wrapper>\n </>\n }\n >\n <Button\n ref={indicatorRef}\n styleType=\"borderless\"\n startIcon={\n <NotificationMarker status={status} enabled={notify}>\n <SvgChat />\n </NotificationMarker>\n }\n className={props.className}\n style={props.style}\n >\n {translate(\"messageCenter.messages\")}\n <StatusBarPopover.ExpandIndicator />\n </Button>\n </StatusBarPopover>\n );\n}\n\ninterface MessageIconProps {\n priority: OutputMessagePriority;\n}\n\nfunction MessageIcon({ priority }: MessageIconProps) {\n switch (priority) {\n case OutputMessagePriority.Error:\n case OutputMessagePriority.Fatal:\n return (\n <Icon fill=\"negative\">\n <SvgStatusError />\n </Icon>\n );\n case OutputMessagePriority.Warning:\n return (\n <Icon fill=\"warning\">\n <SvgStatusWarning />\n </Icon>\n );\n case OutputMessagePriority.Info:\n return (\n <Icon fill=\"informational\">\n <SvgInfo />\n </Icon>\n );\n }\n return (\n <Icon fill=\"positive\">\n <SvgStatusSuccess />\n </Icon>\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"MessageCenterMessage.js","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/message-center/MessageCenterMessage.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,6BAA6B,CAAC;AACrC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAqB5C;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAgC;IACnE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAE3D,OAAO,CACL,6BACE,SAAS,EAAE,sDAAsD,EACjE,KAAK,EAAE,KAAK;QAEX,IAAI;QACJ,OAAO,IAAI,CACV,8BAAM,SAAS,EAAC,cAAc;YAE5B,oBAAC,eAAe,IAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,SAAG;YAClE,OAAO,IAAI,CACV,oBAAC,IAAI,IAAC,OAAO,EAAC,OAAO;gBAEnB,oBAAC,eAAe,IAAC,OAAO,EAAE,OAAO,GAAI,CAChC,CACR,CACI,CACR,CACG,CACP,CAAC;AACJ,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 MessageCenter\n */\n\nimport \"./MessageCenterMessage.scss\";\nimport * as React from \"react\";\nimport type { CommonProps, MessageType } from \"@itwin/core-react\";\nimport { MessageRenderer } from \"@itwin/core-react\";\nimport { Text } from \"@itwin/itwinui-react\";\n\n/** Properties of [[MessageCenterMessage]] component.\n * @internal\n */\n// eslint-disable-next-line deprecation/deprecation\nexport interface MessageCenterMessageProps extends CommonProps {\n /** Message content. */\n // eslint-disable-next-line deprecation/deprecation\n message?: MessageType;\n /** Message icon. */\n icon?: React.ReactNode;\n /** Additional Details */\n // eslint-disable-next-line deprecation/deprecation\n details?: MessageType;\n /** className */\n className?: string;\n /** Optional style */\n style?: object;\n}\n\n/** Message entry in [[MessageCenter]] component.\n * @internal\n */\nexport function MessageCenterMessage(props: MessageCenterMessageProps) {\n const { icon, message, details, style, className } = props;\n\n return (\n <div\n className={\"uifw-statusFields-messageCenter-messageCenterMessage\"}\n style={style}\n >\n {icon}\n {message && (\n <span className=\"uifw-content\">\n {/* eslint-disable-next-line deprecation/deprecation */}\n <MessageRenderer message={message} className={className} useSpan />\n {details && (\n <Text variant=\"small\">\n {/* eslint-disable-next-line deprecation/deprecation */}\n <MessageRenderer message={details} />\n </Text>\n )}\n </span>\n )}\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"MessageCenterMessage.js","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/message-center/MessageCenterMessage.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,6BAA6B,CAAC;AACrC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAqB5C;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAgC;IACnE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAE3D,OAAO,CACL,6BACE,SAAS,EAAE,sDAAsD,EACjE,KAAK,EAAE,KAAK;QAEX,IAAI;QACJ,OAAO,IAAI,CACV,8BAAM,SAAS,EAAC,cAAc;YAE5B,oBAAC,eAAe,IAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,SAAG;YAClE,OAAO,IAAI,CACV,oBAAC,IAAI,IAAC,OAAO,EAAC,OAAO;gBAEnB,oBAAC,eAAe,IAAC,OAAO,EAAE,OAAO,GAAI,CAChC,CACR,CACI,CACR,CACG,CACP,CAAC;AACJ,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 MessageCenter\n */\n\nimport \"./MessageCenterMessage.scss\";\nimport * as React from \"react\";\nimport type { CommonProps, MessageType } from \"@itwin/core-react\";\nimport { MessageRenderer } from \"@itwin/core-react\";\nimport { Text } from \"@itwin/itwinui-react\";\n\n/** Properties of [[MessageCenterMessage]] component.\n * @internal\n */\n// eslint-disable-next-line @typescript-eslint/no-deprecated\nexport interface MessageCenterMessageProps extends CommonProps {\n /** Message content. */\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n message?: MessageType;\n /** Message icon. */\n icon?: React.ReactNode;\n /** Additional Details */\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n details?: MessageType;\n /** className */\n className?: string;\n /** Optional style */\n style?: object;\n}\n\n/** Message entry in [[MessageCenter]] component.\n * @internal\n */\nexport function MessageCenterMessage(props: MessageCenterMessageProps) {\n const { icon, message, details, style, className } = props;\n\n return (\n <div\n className={\"uifw-statusFields-messageCenter-messageCenterMessage\"}\n style={style}\n >\n {icon}\n {message && (\n <span className=\"uifw-content\">\n {/* eslint-disable-next-line @typescript-eslint/no-deprecated */}\n <MessageRenderer message={message} className={className} useSpan />\n {details && (\n <Text variant=\"small\">\n {/* eslint-disable-next-line @typescript-eslint/no-deprecated */}\n <MessageRenderer message={details} />\n </Text>\n )}\n </span>\n )}\n </div>\n );\n}\n"]}
@@ -16,7 +16,7 @@ interface TileLoadingIndicatorState {
16
16
  /** TileLoadingIndicator React component
17
17
  * @public
18
18
  */
19
- export declare class TileLoadingIndicator extends React.PureComponent<CommonProps, // eslint-disable-line deprecation/deprecation
19
+ export declare class TileLoadingIndicator extends React.PureComponent<CommonProps, // eslint-disable-line @typescript-eslint/no-deprecated
20
20
  TileLoadingIndicatorState> {
21
21
  private _removeViewOpenListener?;
22
22
  private _removeOnRenderListener?;
@@ -1 +1 @@
1
- {"version":3,"file":"TileLoadingIndicator.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/tileloading/TileLoadingIndicator.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,6BAA6B,CAAC;AAErC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGrD;;GAEG;AACH,UAAU,yBAAyB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,KAAK,CAAC,aAAa,CAC3D,WAAW,EAAE,8CAA8C;AAC3D,yBAAyB,CAC1B;IACC,OAAO,CAAC,uBAAuB,CAAC,CAAa;IAC7C,OAAO,CAAC,uBAAuB,CAAC,CAAa;gBAGjC,KAAK,EAAE,WAAW;IAK9B,OAAO,CAAC,aAAa,CAgCnB;IAEF,OAAO,CAAC,aAAa,CAGnB;IAEF,OAAO,CAAC,WAAW,CAKjB;IAEc,iBAAiB;IAejB,oBAAoB;IAQpC,mCAAmC;IACnB,MAAM;CAgBvB"}
1
+ {"version":3,"file":"TileLoadingIndicator.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/tileloading/TileLoadingIndicator.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,6BAA6B,CAAC;AAErC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGrD;;GAEG;AACH,UAAU,yBAAyB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,KAAK,CAAC,aAAa,CAC3D,WAAW,EAAE,uDAAuD;AACpE,yBAAyB,CAC1B;IACC,OAAO,CAAC,uBAAuB,CAAC,CAAa;IAC7C,OAAO,CAAC,uBAAuB,CAAC,CAAa;gBAGjC,KAAK,EAAE,WAAW;IAK9B,OAAO,CAAC,aAAa,CAgCnB;IAEF,OAAO,CAAC,aAAa,CAGnB;IAEF,OAAO,CAAC,WAAW,CAKjB;IAEc,iBAAiB;IAejB,oBAAoB;IAQpC,mCAAmC;IACnB,MAAM;CAgBvB"}
@@ -16,7 +16,7 @@ import { UiFramework } from "../../UiFramework.js";
16
16
  * @public
17
17
  */
18
18
  export class TileLoadingIndicator extends React.PureComponent {
19
- // eslint-disable-next-line deprecation/deprecation
19
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
20
20
  constructor(props) {
21
21
  super(props);
22
22
  this._refreshState = (vp) => {
@@ -1 +1 @@
1
- {"version":3,"file":"TileLoadingIndicator.js","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/tileloading/TileLoadingIndicator.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module StatusBar\n */\n\nimport \"./TileLoadingIndicator.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { Logger } from \"@itwin/core-bentley\";\nimport type { ScreenViewport, Viewport } from \"@itwin/core-frontend\";\nimport { IModelApp } from \"@itwin/core-frontend\";\nimport { ProgressLinear } from \"@itwin/itwinui-react\";\nimport { UiFramework } from \"../../UiFramework.js\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport type { ListenerType } from \"@itwin/core-react/internal\";\n\n/** State for the [[TileLoadingIndicator]] component\n * @internal\n */\ninterface TileLoadingIndicatorState {\n label: string;\n progress: number;\n enabled: boolean;\n finished: boolean;\n}\n\n/** TileLoadingIndicator React component\n * @public\n */\nexport class TileLoadingIndicator extends React.PureComponent<\n CommonProps, // eslint-disable-line deprecation/deprecation\n TileLoadingIndicatorState\n> {\n private _removeViewOpenListener?: () => void;\n private _removeOnRenderListener?: () => void;\n\n // eslint-disable-next-line deprecation/deprecation\n constructor(props: CommonProps) {\n super(props);\n this.state = { label: \"\", progress: 0, enabled: false, finished: true };\n }\n\n private _refreshState = (vp: Viewport) => {\n const requested = vp.numRequestedTiles;\n const ready = vp.numReadyTiles;\n const total = ready + requested;\n const pctComplete = total > 0 ? (ready / total) * 100 : 100;\n let enabled = this.state.enabled;\n let finished = this.state.finished;\n\n if (!enabled && total !== 0 && pctComplete !== 100) enabled = true;\n\n if (enabled && (total === 0 || pctComplete === 100)) enabled = false;\n\n if (pctComplete === 100 && !finished) {\n finished = true;\n Logger.logTrace(\n UiFramework.loggerCategory(\"TileLoadingIndicator\"),\n `Tiles Finished Loading`\n );\n Logger.logTrace(\n UiFramework.loggerCategory(\"TileLoadingIndicator\"),\n `Tiles Load Report (tiles finished / tiles requested): ${ready} / ${total}`\n );\n }\n\n if (pctComplete !== 100 && finished) finished = false;\n\n this.setState({\n label: `${ready} / ${total}`,\n progress: pctComplete,\n enabled,\n finished,\n });\n };\n\n private _handleRender: ListenerType<ScreenViewport[\"onRender\"]> = (vp) => {\n // set progress animation before the next repaint.\n setTimeout(() => this._refreshState(vp));\n };\n\n private _onViewOpen: ListenerType<typeof IModelApp.viewManager.onViewOpen> = (\n vp\n ) => {\n this._removeOnRenderListener && this._removeOnRenderListener();\n this._removeOnRenderListener = vp.onRender.addListener(this._handleRender);\n };\n\n public override componentDidMount() {\n if (!IModelApp.viewManager) return;\n\n // get selected viewport\n const vp = IModelApp.viewManager.selectedView;\n\n // if view exists bind update routine to onRender loop, otherwise do so once the onViewOpen event runs\n if (vp) {\n this._onViewOpen(vp);\n } else {\n this._removeViewOpenListener =\n IModelApp.viewManager.onViewOpen.addListener(this._onViewOpen);\n }\n }\n\n public override componentWillUnmount() {\n if (!IModelApp.viewManager) return;\n\n if (this._removeViewOpenListener) this._removeViewOpenListener();\n\n if (this._removeOnRenderListener) this._removeOnRenderListener();\n }\n\n /** Renders TileLoadingIndicator */\n public override render() {\n const classes = classnames(\n \"uifw-tile-loading-bar\",\n this.state.enabled && \"uifw-tile-loading-bar-visible\",\n this.props.className\n );\n return (\n <div className={classes} style={this.props.style}>\n <span>{this.state.label}</span>\n <ProgressLinear\n className=\"uifw-progress-indicator\"\n value={this.state.progress}\n />\n </div>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"TileLoadingIndicator.js","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/tileloading/TileLoadingIndicator.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module StatusBar\n */\n\nimport \"./TileLoadingIndicator.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { Logger } from \"@itwin/core-bentley\";\nimport type { ScreenViewport, Viewport } from \"@itwin/core-frontend\";\nimport { IModelApp } from \"@itwin/core-frontend\";\nimport { ProgressLinear } from \"@itwin/itwinui-react\";\nimport { UiFramework } from \"../../UiFramework.js\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport type { ListenerType } from \"@itwin/core-react/internal\";\n\n/** State for the [[TileLoadingIndicator]] component\n * @internal\n */\ninterface TileLoadingIndicatorState {\n label: string;\n progress: number;\n enabled: boolean;\n finished: boolean;\n}\n\n/** TileLoadingIndicator React component\n * @public\n */\nexport class TileLoadingIndicator extends React.PureComponent<\n CommonProps, // eslint-disable-line @typescript-eslint/no-deprecated\n TileLoadingIndicatorState\n> {\n private _removeViewOpenListener?: () => void;\n private _removeOnRenderListener?: () => void;\n\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n constructor(props: CommonProps) {\n super(props);\n this.state = { label: \"\", progress: 0, enabled: false, finished: true };\n }\n\n private _refreshState = (vp: Viewport) => {\n const requested = vp.numRequestedTiles;\n const ready = vp.numReadyTiles;\n const total = ready + requested;\n const pctComplete = total > 0 ? (ready / total) * 100 : 100;\n let enabled = this.state.enabled;\n let finished = this.state.finished;\n\n if (!enabled && total !== 0 && pctComplete !== 100) enabled = true;\n\n if (enabled && (total === 0 || pctComplete === 100)) enabled = false;\n\n if (pctComplete === 100 && !finished) {\n finished = true;\n Logger.logTrace(\n UiFramework.loggerCategory(\"TileLoadingIndicator\"),\n `Tiles Finished Loading`\n );\n Logger.logTrace(\n UiFramework.loggerCategory(\"TileLoadingIndicator\"),\n `Tiles Load Report (tiles finished / tiles requested): ${ready} / ${total}`\n );\n }\n\n if (pctComplete !== 100 && finished) finished = false;\n\n this.setState({\n label: `${ready} / ${total}`,\n progress: pctComplete,\n enabled,\n finished,\n });\n };\n\n private _handleRender: ListenerType<ScreenViewport[\"onRender\"]> = (vp) => {\n // set progress animation before the next repaint.\n setTimeout(() => this._refreshState(vp));\n };\n\n private _onViewOpen: ListenerType<typeof IModelApp.viewManager.onViewOpen> = (\n vp\n ) => {\n this._removeOnRenderListener && this._removeOnRenderListener();\n this._removeOnRenderListener = vp.onRender.addListener(this._handleRender);\n };\n\n public override componentDidMount() {\n if (!IModelApp.viewManager) return;\n\n // get selected viewport\n const vp = IModelApp.viewManager.selectedView;\n\n // if view exists bind update routine to onRender loop, otherwise do so once the onViewOpen event runs\n if (vp) {\n this._onViewOpen(vp);\n } else {\n this._removeViewOpenListener =\n IModelApp.viewManager.onViewOpen.addListener(this._onViewOpen);\n }\n }\n\n public override componentWillUnmount() {\n if (!IModelApp.viewManager) return;\n\n if (this._removeViewOpenListener) this._removeViewOpenListener();\n\n if (this._removeOnRenderListener) this._removeOnRenderListener();\n }\n\n /** Renders TileLoadingIndicator */\n public override render() {\n const classes = classnames(\n \"uifw-tile-loading-bar\",\n this.state.enabled && \"uifw-tile-loading-bar-visible\",\n this.props.className\n );\n return (\n <div className={classes} style={this.props.style}>\n <span>{this.state.label}</span>\n <ProgressLinear\n className=\"uifw-progress-indicator\"\n value={this.state.progress}\n />\n </div>\n );\n }\n}\n"]}
@@ -11,19 +11,21 @@ import { type UiStateStorage } from "../../uistate/UiStateStorage.js";
11
11
  * @public
12
12
  */
13
13
  export interface ToolAssistanceFieldProps extends CommonProps {
14
- /** Indicates whether to include promptAtCursor Checkbox. Defaults to true. */
14
+ /** Indicates whether to include promptAtCursor Checkbox. Defaults to `true`. */
15
15
  includePromptAtCursor: boolean;
16
- /** Optional parameter for persistent UI settings. Defaults to UiStateStorageContext.
17
- */
16
+ /** Optional parameter for persistent UI settings. Defaults to `UiStateStorageContext`. */
18
17
  uiStateStorage?: UiStateStorage;
19
- /** Cursor Prompt Timeout period. Defaults to 5000. */
18
+ /** Cursor prompt timeout period. Defaults to `5000`.
19
+ * @note Specify `Number.POSITIVE_INFINITY` to keep the cursor prompt open indefinitely.
20
+ */
20
21
  cursorPromptTimeout: number;
21
- /** Fade Out the Cursor Prompt when closed. */
22
+ /** Fade out the cursor prompt when closed. */
22
23
  fadeOutCursorPrompt: boolean;
23
- /** Indicates whether to show promptAtCursor by default. Defaults to false. */
24
+ /** Indicates whether to show promptAtCursor by default. Defaults to `false`. */
24
25
  defaultPromptAtCursor: boolean;
26
+ /** When set to `true` will show prompt at cursor only when the content area is hovered. */
27
+ promptAtContent?: boolean;
25
28
  }
26
- /** @internal */
27
29
  interface ToolAssistanceFieldState {
28
30
  instructions: ToolAssistanceInstructions | undefined;
29
31
  toolIconSpec: string;
@@ -58,6 +60,8 @@ export declare class ToolAssistanceField extends React.Component<ToolAssistanceF
58
60
  static readonly defaultProps: Pick<ToolAssistanceFieldProps, "includePromptAtCursor" | "uiStateStorage" | "cursorPromptTimeout" | "fadeOutCursorPrompt" | "defaultPromptAtCursor">;
59
61
  constructor(p: ToolAssistanceFieldProps);
60
62
  componentDidMount(): Promise<void>;
63
+ /** @internal */
64
+ componentDidUpdate(): void;
61
65
  componentWillUnmount(): void;
62
66
  private restoreSettings;
63
67
  private _handleToolAssistanceChangedEvent;
@@ -1 +1 @@
1
- {"version":3,"file":"ToolAssistanceField.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/toolassistance/ToolAssistanceField.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ToolAssistanceField.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/toolassistance/ToolAssistanceField.tsx"],"names":[],"mappings":"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"}
@@ -94,7 +94,9 @@ export class ToolAssistanceField extends React.Component {
94
94
  this._isTouchInstruction = (instruction) => instruction.inputMethod === ToolAssistanceInputMethod.Touch;
95
95
  this._handleToolIconChangedEvent = (args) => {
96
96
  if (this._isMounted)
97
- this.setState({ toolIconSpec: args.iconSpec }, () => {
97
+ this.setState({
98
+ toolIconSpec: args.iconSpec,
99
+ }, () => {
98
100
  this._showCursorPrompt();
99
101
  });
100
102
  };
@@ -140,10 +142,10 @@ export class ToolAssistanceField extends React.Component {
140
142
  isOpen: false,
141
143
  };
142
144
  this._uiSettingsStorage = new LocalStateStorage();
143
- this._cursorPrompt = new CursorPrompt(this.props.cursorPromptTimeout, this.props.fadeOutCursorPrompt);
144
- // eslint-disable-next-line deprecation/deprecation
145
+ this._cursorPrompt = new CursorPrompt();
146
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
145
147
  this._showPromptAtCursorSetting = new UiStateEntry(ToolAssistanceField._toolAssistanceKey, ToolAssistanceField._showPromptAtCursorKey, () => this.state.showPromptAtCursor);
146
- // eslint-disable-next-line deprecation/deprecation
148
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
147
149
  this._mouseTouchTabIndexSetting = new UiStateEntry(ToolAssistanceField._toolAssistanceKey, ToolAssistanceField._mouseTouchTabIndexKey, () => this.state.mouseTouchTabIndex);
148
150
  }
149
151
  async componentDidMount() {
@@ -156,8 +158,14 @@ export class ToolAssistanceField extends React.Component {
156
158
  this._uiSettingsStorage = this.context;
157
159
  await this.restoreSettings();
158
160
  }
161
+ /** @internal */
162
+ componentDidUpdate() {
163
+ if (!this.state.showPromptAtCursor)
164
+ this._cursorPrompt.close(this.props.fadeOutCursorPrompt);
165
+ }
159
166
  componentWillUnmount() {
160
167
  this._isMounted = false;
168
+ this._cursorPrompt.close(this.props.fadeOutCursorPrompt);
161
169
  MessageManager.onToolAssistanceChangedEvent.removeListener(this._handleToolAssistanceChangedEvent);
162
170
  UiFramework.frontstages.onToolIconChangedEvent.removeListener(this._handleToolIconChangedEvent);
163
171
  }
@@ -179,8 +187,18 @@ export class ToolAssistanceField extends React.Component {
179
187
  }
180
188
  }
181
189
  _showCursorPrompt() {
182
- if (this.state.showPromptAtCursor && this.state.instructions)
183
- this._cursorPrompt.display(this.state.toolIconSpec, this.state.instructions.mainInstruction);
190
+ const instruction = this.state.instructions?.mainInstruction.text;
191
+ if (!this.state.showPromptAtCursor || !instruction) {
192
+ this._cursorPrompt.close(this.props.fadeOutCursorPrompt);
193
+ return;
194
+ }
195
+ this._cursorPrompt.open({
196
+ timeout: this.props.cursorPromptTimeout,
197
+ fadeout: this.props.fadeOutCursorPrompt,
198
+ iconSpec: this.state.toolIconSpec,
199
+ instruction,
200
+ promptAtContent: this.props.promptAtContent ?? false,
201
+ });
184
202
  }
185
203
  _sectionHasDisplayableInstructions(section) {
186
204
  const displayableInstructions = this._getDisplayableInstructions(section);
@@ -209,7 +227,7 @@ export class ToolAssistanceField extends React.Component {
209
227
  let dialogContent;
210
228
  if (instructions) {
211
229
  prompt = instructions.mainInstruction.text;
212
- // eslint-disable-next-line deprecation/deprecation
230
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
213
231
  toolIcon = React.createElement(Icon, { iconSpec: this.state.toolIconSpec });
214
232
  let displayableSections;
215
233
  if (instructions.sections) {
@@ -274,7 +292,7 @@ export class ToolAssistanceField extends React.Component {
274
292
  const rightImage = typeof instruction.image === "string" ? (React.createElement("div", { className: "uifw-toolassistance-icon-medium" },
275
293
  React.createElement(Icon, { iconSpec: instruction.image }))) : (this.getInstructionSvgImage(instruction, true));
276
294
  image = (
277
- // eslint-disable-next-line deprecation/deprecation
295
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
278
296
  React.createElement(FillCentered, null,
279
297
  ToolAssistanceField.getKeyNode(key, 0, "uifw-toolassistance-key-modifier"),
280
298
  rightImage));
@@ -395,7 +413,7 @@ export class ToolAssistanceField extends React.Component {
395
413
  }
396
414
  else if (keyboardInfo.keys.length === 2) {
397
415
  image = (
398
- // eslint-disable-next-line deprecation/deprecation
416
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
399
417
  React.createElement(FillCentered, null, keyboardInfo.keys.map((key, index3) => {
400
418
  let className = "uifw-toolassistance-key-medium";
401
419
  if (key.length > 1)