@itwin/appui-react 4.13.2 → 4.13.3

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 (584) hide show
  1. package/CHANGELOG.md +8 -1
  2. package/lib/cjs/appui-react/UiFramework.js +1 -1
  3. package/lib/cjs/appui-react/UiFramework.js.map +1 -1
  4. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  5. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  6. package/lib/cjs/appui-react/accudraw/AccuDrawPopupManager.js +1 -1
  7. package/lib/cjs/appui-react/accudraw/AccuDrawPopupManager.js.map +1 -1
  8. package/lib/cjs/appui-react/accudraw/AccuDrawWidget.js +1 -1
  9. package/lib/cjs/appui-react/accudraw/AccuDrawWidget.js.map +1 -1
  10. package/lib/cjs/appui-react/accudraw/Calculator.js +1 -1
  11. package/lib/cjs/appui-react/accudraw/Calculator.js.map +1 -1
  12. package/lib/cjs/appui-react/accudraw/CalculatorEngine.js +2 -2
  13. package/lib/cjs/appui-react/accudraw/CalculatorEngine.js.map +1 -1
  14. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.js +1 -1
  15. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  16. package/lib/cjs/appui-react/accudraw/MenuButton.js.map +1 -1
  17. package/lib/cjs/appui-react/backstage/BackstageComposer.js.map +1 -1
  18. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  19. package/lib/cjs/appui-react/backstage/BackstageItemUtilities.js +1 -1
  20. package/lib/cjs/appui-react/backstage/BackstageItemUtilities.js.map +1 -1
  21. package/lib/cjs/appui-react/backstage/BackstageItemsManager.js.map +1 -1
  22. package/lib/cjs/appui-react/backstage/useDefaultBackstageItems.js.map +1 -1
  23. package/lib/cjs/appui-react/backstage/useUiItemsProviderBackstageItems.js.map +1 -1
  24. package/lib/cjs/appui-react/childwindow/ChildWindowWidget.js.map +1 -1
  25. package/lib/cjs/appui-react/childwindow/CopyStyles.js.map +1 -1
  26. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
  27. package/lib/cjs/appui-react/configurableui/ActivityTracker.js.map +1 -1
  28. package/lib/cjs/appui-react/configurableui/ConfigurableUiControl.js +1 -1
  29. package/lib/cjs/appui-react/configurableui/ConfigurableUiControl.js.map +1 -1
  30. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.js +1 -1
  31. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
  32. package/lib/cjs/appui-react/configurableui/TimeTracker.js.map +1 -1
  33. package/lib/cjs/appui-react/configurableui/state.js +1 -1
  34. package/lib/cjs/appui-react/configurableui/state.js.map +1 -1
  35. package/lib/cjs/appui-react/content/ContentControl.js.map +1 -1
  36. package/lib/cjs/appui-react/content/ContentGroup.js +1 -1
  37. package/lib/cjs/appui-react/content/ContentGroup.js.map +1 -1
  38. package/lib/cjs/appui-react/content/ContentLayout.js.map +1 -1
  39. package/lib/cjs/appui-react/content/DefaultViewOverlay.js.map +1 -1
  40. package/lib/cjs/appui-react/content/FloatingViewportContent.js.map +1 -1
  41. package/lib/cjs/appui-react/content/IModelViewport.js.map +1 -1
  42. package/lib/cjs/appui-react/content/InternalContentLayoutManager.js +1 -1
  43. package/lib/cjs/appui-react/content/InternalContentLayoutManager.js.map +1 -1
  44. package/lib/cjs/appui-react/content/InternalContentViewManager.js +1 -1
  45. package/lib/cjs/appui-react/content/InternalContentViewManager.js.map +1 -1
  46. package/lib/cjs/appui-react/content/StageContentLayout.js.map +1 -1
  47. package/lib/cjs/appui-react/content/ViewStateHelper.js.map +1 -1
  48. package/lib/cjs/appui-react/content/ViewportContentControl.js.map +1 -1
  49. package/lib/cjs/appui-react/content/split-pane/Pane.js.map +1 -1
  50. package/lib/cjs/appui-react/content/split-pane/Resizer.js.map +1 -1
  51. package/lib/cjs/appui-react/content/split-pane/SplitPane.js.map +1 -1
  52. package/lib/cjs/appui-react/cursor/CursorInformation.js +3 -3
  53. package/lib/cjs/appui-react/cursor/CursorInformation.js.map +1 -1
  54. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  55. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.js +2 -2
  56. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
  57. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopupManager.js +1 -1
  58. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopupManager.js.map +1 -1
  59. package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.js.map +1 -1
  60. package/lib/cjs/appui-react/dialog/ContentDialog.js.map +1 -1
  61. package/lib/cjs/appui-react/dialog/DialogManagerBase.js +1 -1
  62. package/lib/cjs/appui-react/dialog/DialogManagerBase.js.map +1 -1
  63. package/lib/cjs/appui-react/dialog/InternalContentDialogManager.js +1 -1
  64. package/lib/cjs/appui-react/dialog/InternalContentDialogManager.js.map +1 -1
  65. package/lib/cjs/appui-react/dialog/InternalModalDialogManager.js +1 -1
  66. package/lib/cjs/appui-react/dialog/InternalModalDialogManager.js.map +1 -1
  67. package/lib/cjs/appui-react/dialog/InternalModelessDialogManager.js +1 -1
  68. package/lib/cjs/appui-react/dialog/InternalModelessDialogManager.js.map +1 -1
  69. package/lib/cjs/appui-react/dialog/StandardMessageBox.js.map +1 -1
  70. package/lib/cjs/appui-react/dialog/UiDataProvidedDialog.js.map +1 -1
  71. package/lib/cjs/appui-react/feedback/ElementTooltip.js +1 -1
  72. package/lib/cjs/appui-react/feedback/ElementTooltip.js.map +1 -1
  73. package/lib/cjs/appui-react/feedback/ValidationTextbox.js +1 -1
  74. package/lib/cjs/appui-react/feedback/ValidationTextbox.js.map +1 -1
  75. package/lib/cjs/appui-react/frontstage/FrontstageDef.js.map +1 -1
  76. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.js +1 -1
  77. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
  78. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js +1 -1
  79. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  80. package/lib/cjs/appui-react/frontstage/NestedFrontstage.js +1 -1
  81. package/lib/cjs/appui-react/frontstage/NestedFrontstage.js.map +1 -1
  82. package/lib/cjs/appui-react/frontstage/StageUsage.js +1 -1
  83. package/lib/cjs/appui-react/frontstage/StageUsage.js.map +1 -1
  84. package/lib/cjs/appui-react/hooks/useActiveIModelConnection.js.map +1 -1
  85. package/lib/cjs/appui-react/hooks/useActiveViewport.js.map +1 -1
  86. package/lib/cjs/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
  87. package/lib/cjs/appui-react/hooks/useConditionalValue.js.map +1 -1
  88. package/lib/cjs/appui-react/hooks/useEscapeSetFocusToHome.js.map +1 -1
  89. package/lib/cjs/appui-react/hooks/useScheduleAnimationDataProvider.js.map +1 -1
  90. package/lib/cjs/appui-react/hooks/useTranslation.js.map +1 -1
  91. package/lib/cjs/appui-react/keyboardshortcut/InternalKeyboardShortcut.js +1 -1
  92. package/lib/cjs/appui-react/keyboardshortcut/InternalKeyboardShortcut.js.map +1 -1
  93. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
  94. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.js +1 -1
  95. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
  96. package/lib/cjs/appui-react/keyins/Keyins.js +1 -1
  97. package/lib/cjs/appui-react/keyins/Keyins.js.map +1 -1
  98. package/lib/cjs/appui-react/layout/backstage/Backstage.js +1 -1
  99. package/lib/cjs/appui-react/layout/backstage/Backstage.js.map +1 -1
  100. package/lib/cjs/appui-react/layout/base/DragManager.js.map +1 -1
  101. package/lib/cjs/appui-react/layout/base/NineZone.js.map +1 -1
  102. package/lib/cjs/appui-react/layout/base/SafeAreaInsets.js +1 -1
  103. package/lib/cjs/appui-react/layout/base/SafeAreaInsets.js.map +1 -1
  104. package/lib/cjs/appui-react/layout/base/usePointerCaptor.js.map +1 -1
  105. package/lib/cjs/appui-react/layout/footer/Indicator.js +1 -1
  106. package/lib/cjs/appui-react/layout/footer/Indicator.js.map +1 -1
  107. package/lib/cjs/appui-react/layout/outline/PanelOutline.js.map +1 -1
  108. package/lib/cjs/appui-react/layout/popup/Tooltip.js +1 -1
  109. package/lib/cjs/appui-react/layout/popup/Tooltip.js.map +1 -1
  110. package/lib/cjs/appui-react/layout/state/NineZoneStateReducer.js.map +1 -1
  111. package/lib/cjs/appui-react/layout/state/TabLocation.js.map +1 -1
  112. package/lib/cjs/appui-react/layout/state/WidgetLocation.js.map +1 -1
  113. package/lib/cjs/appui-react/layout/state/internal/NineZoneStateHelpers.js.map +1 -1
  114. package/lib/cjs/appui-react/layout/state/internal/PanelStateHelpers.js.map +1 -1
  115. package/lib/cjs/appui-react/layout/state/internal/TabStateHelpers.js.map +1 -1
  116. package/lib/cjs/appui-react/layout/state/internal/WidgetStateHelpers.js.map +1 -1
  117. package/lib/cjs/appui-react/layout/target/PanelTargets.js.map +1 -1
  118. package/lib/cjs/appui-react/layout/target/SectionTarget.js.map +1 -1
  119. package/lib/cjs/appui-react/layout/target/useAllowedSideTarget.js.map +1 -1
  120. package/lib/cjs/appui-react/layout/target/useAllowedWidgetTarget.js.map +1 -1
  121. package/lib/cjs/appui-react/layout/tool-settings/Docked.js.map +1 -1
  122. package/lib/cjs/appui-react/layout/widget/Buttons.js.map +1 -1
  123. package/lib/cjs/appui-react/layout/widget/ContentManager.js.map +1 -1
  124. package/lib/cjs/appui-react/layout/widget/ContentRenderer.js.map +1 -1
  125. package/lib/cjs/appui-react/layout/widget/FloatingWidget.js.map +1 -1
  126. package/lib/cjs/appui-react/layout/widget/Overflow.js.map +1 -1
  127. package/lib/cjs/appui-react/layout/widget/PanelWidget.js.map +1 -1
  128. package/lib/cjs/appui-react/layout/widget/SendBack.js.map +1 -1
  129. package/lib/cjs/appui-react/layout/widget/Tab.js.map +1 -1
  130. package/lib/cjs/appui-react/layout/widget/TabBar.js.map +1 -1
  131. package/lib/cjs/appui-react/layout/widget/Tabs.js.map +1 -1
  132. package/lib/cjs/appui-react/layout/widget/Widget.js.map +1 -1
  133. package/lib/cjs/appui-react/layout/widget/tools/button/Button.js.map +1 -1
  134. package/lib/cjs/appui-react/layout/widget-panels/Expander.js.map +1 -1
  135. package/lib/cjs/appui-react/layout/widget-panels/Grip.js.map +1 -1
  136. package/lib/cjs/appui-react/layout/widget-panels/PanelSections.js.map +1 -1
  137. package/lib/cjs/appui-react/layout/widget-panels/useAnimatePanel.js.map +1 -1
  138. package/lib/cjs/appui-react/layout/widget-panels/usePanelsAutoCollapse.js.map +1 -1
  139. package/lib/cjs/appui-react/messages/AppNotificationManager.js.map +1 -1
  140. package/lib/cjs/appui-react/messages/InputField.js.map +1 -1
  141. package/lib/cjs/appui-react/messages/MessageManager.js +1 -1
  142. package/lib/cjs/appui-react/messages/MessageManager.js.map +1 -1
  143. package/lib/cjs/appui-react/messages/MessageRenderer.js.map +1 -1
  144. package/lib/cjs/appui-react/messages/Pointer.js +1 -1
  145. package/lib/cjs/appui-react/messages/Pointer.js.map +1 -1
  146. package/lib/cjs/appui-react/messages/StatusMessageManager.js.map +1 -1
  147. package/lib/cjs/appui-react/messages/getToastCategory.js.map +1 -1
  148. package/lib/cjs/appui-react/navigationaids/CubeNavigationAidControl.js +1 -1
  149. package/lib/cjs/appui-react/navigationaids/CubeNavigationAidControl.js.map +1 -1
  150. package/lib/cjs/appui-react/navigationaids/DrawingNavigationAidControl.js +1 -1
  151. package/lib/cjs/appui-react/navigationaids/DrawingNavigationAidControl.js.map +1 -1
  152. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.js +1 -1
  153. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  154. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js +1 -1
  155. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  156. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.js +1 -1
  157. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  158. package/lib/cjs/appui-react/pickers/ListPicker.js +1 -1
  159. package/lib/cjs/appui-react/pickers/ListPicker.js.map +1 -1
  160. package/lib/cjs/appui-react/pickers/ViewSelector.js +1 -1
  161. package/lib/cjs/appui-react/pickers/ViewSelector.js.map +1 -1
  162. package/lib/cjs/appui-react/popup/CardPopup.js +1 -1
  163. package/lib/cjs/appui-react/popup/CardPopup.js.map +1 -1
  164. package/lib/cjs/appui-react/popup/ComponentPopup.js.map +1 -1
  165. package/lib/cjs/appui-react/popup/InputEditorPopup.js.map +1 -1
  166. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  167. package/lib/cjs/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  168. package/lib/cjs/appui-react/popup/PopupManager.js +2 -2
  169. package/lib/cjs/appui-react/popup/PopupManager.js.map +1 -1
  170. package/lib/cjs/appui-react/popup/PositionPopup.js.map +1 -1
  171. package/lib/cjs/appui-react/popup/ToolSettingsPopup.js.map +1 -1
  172. package/lib/cjs/appui-react/popup/ToolbarPopup.js +1 -1
  173. package/lib/cjs/appui-react/popup/ToolbarPopup.js.map +1 -1
  174. package/lib/cjs/appui-react/preview/PreviewFeatures.js.map +1 -1
  175. package/lib/cjs/appui-react/preview/activate-dropped-tab/activateDroppedTab.js.map +1 -1
  176. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js.map +1 -1
  177. package/lib/cjs/appui-react/preview/new-toolbars/ActionItem.js.map +1 -1
  178. package/lib/cjs/appui-react/preview/new-toolbars/CustomItem.js.map +1 -1
  179. package/lib/cjs/appui-react/preview/new-toolbars/GroupItem.js.map +1 -1
  180. package/lib/cjs/appui-react/preview/new-toolbars/ToolGroup.js.map +1 -1
  181. package/lib/cjs/appui-react/preview/new-toolbars/Toolbar.js.map +1 -1
  182. package/lib/cjs/appui-react/preview/new-toolbars/useOverflow.js.map +1 -1
  183. package/lib/cjs/appui-react/preview/reparent-popout-widgets/usePopoutsStore.js.map +1 -1
  184. package/lib/cjs/appui-react/preview/reparent-popout-widgets/useReparentPopoutWidget.js.map +1 -1
  185. package/lib/cjs/appui-react/preview/widget-action-dropdown/Button.js.map +1 -1
  186. package/lib/cjs/appui-react/redux/ReducerRegistry.js.map +1 -1
  187. package/lib/cjs/appui-react/redux/SessionState.js +2 -2
  188. package/lib/cjs/appui-react/redux/SessionState.js.map +1 -1
  189. package/lib/cjs/appui-react/redux/StateManager.js +1 -1
  190. package/lib/cjs/appui-react/redux/StateManager.js.map +1 -1
  191. package/lib/cjs/appui-react/redux/connectIModel.js +3 -3
  192. package/lib/cjs/appui-react/redux/connectIModel.js.map +1 -1
  193. package/lib/cjs/appui-react/safearea/SafeAreaInsets.js +1 -1
  194. package/lib/cjs/appui-react/safearea/SafeAreaInsets.js.map +1 -1
  195. package/lib/cjs/appui-react/selection/HideIsolateEmphasizeManager.js +3 -3
  196. package/lib/cjs/appui-react/selection/HideIsolateEmphasizeManager.js.map +1 -1
  197. package/lib/cjs/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  198. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  199. package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.js.map +1 -1
  200. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  201. package/lib/cjs/appui-react/shared/ActionButtonItemDef.js +1 -1
  202. package/lib/cjs/appui-react/shared/ActionButtonItemDef.js.map +1 -1
  203. package/lib/cjs/appui-react/shared/CommandItemDef.js +1 -1
  204. package/lib/cjs/appui-react/shared/CommandItemDef.js.map +1 -1
  205. package/lib/cjs/appui-react/shared/CustomItemDef.js +1 -1
  206. package/lib/cjs/appui-react/shared/CustomItemDef.js.map +1 -1
  207. package/lib/cjs/appui-react/shared/MenuItem.js.map +1 -1
  208. package/lib/cjs/appui-react/shared/SelectionScope.js +1 -1
  209. package/lib/cjs/appui-react/shared/SelectionScope.js.map +1 -1
  210. package/lib/cjs/appui-react/shared/ToolItemDef.js.map +1 -1
  211. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  212. package/lib/cjs/appui-react/stagepanels/StagePanelLocation.js +1 -1
  213. package/lib/cjs/appui-react/stagepanels/StagePanelLocation.js.map +1 -1
  214. package/lib/cjs/appui-react/stagepanels/StagePanelSection.js +1 -1
  215. package/lib/cjs/appui-react/stagepanels/StagePanelSection.js.map +1 -1
  216. package/lib/cjs/appui-react/stagepanels/StagePanelState.js +1 -1
  217. package/lib/cjs/appui-react/stagepanels/StagePanelState.js.map +1 -1
  218. package/lib/cjs/appui-react/statusbar/Field.js +2 -4
  219. package/lib/cjs/appui-react/statusbar/Field.js.map +1 -1
  220. package/lib/cjs/appui-react/statusbar/StatusBar.js +1 -1
  221. package/lib/cjs/appui-react/statusbar/StatusBar.js.map +1 -1
  222. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  223. package/lib/cjs/appui-react/statusbar/StatusBarItem.d.ts +3 -3
  224. package/lib/cjs/appui-react/statusbar/StatusBarItem.d.ts.map +1 -1
  225. package/lib/cjs/appui-react/statusbar/StatusBarItem.js +2 -2
  226. package/lib/cjs/appui-react/statusbar/StatusBarItem.js.map +1 -1
  227. package/lib/cjs/appui-react/statusbar/StatusBarItemUtilities.js +1 -1
  228. package/lib/cjs/appui-react/statusbar/StatusBarItemUtilities.js.map +1 -1
  229. package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.js.map +1 -1
  230. package/lib/cjs/appui-react/statusbar/dialog/Dialog.js +1 -1
  231. package/lib/cjs/appui-react/statusbar/dialog/Dialog.js.map +1 -1
  232. package/lib/cjs/appui-react/statusbar/useDefaultStatusBarItems.js.map +1 -1
  233. package/lib/cjs/appui-react/statusbar/useUiItemsProviderStatusBarItems.js.map +1 -1
  234. package/lib/cjs/appui-react/statusfields/SectionsField.js.map +1 -1
  235. package/lib/cjs/appui-react/statusfields/SelectionCount.js.map +1 -1
  236. package/lib/cjs/appui-react/statusfields/SelectionScope.js.map +1 -1
  237. package/lib/cjs/appui-react/statusfields/SnapMode.js.map +1 -1
  238. package/lib/cjs/appui-react/statusfields/ViewAttributes.js.map +1 -1
  239. package/lib/cjs/appui-react/statusfields/message-center/MessageCenterField.js.map +1 -1
  240. package/lib/cjs/appui-react/statusfields/tileloading/TileLoadingIndicator.js.map +1 -1
  241. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js +1 -1
  242. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  243. package/lib/cjs/appui-react/syncui/InternalSyncUiEventDispatcher.js.map +1 -1
  244. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.js +2 -2
  245. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  246. package/lib/cjs/appui-react/theme/ThemeManager.js +1 -1
  247. package/lib/cjs/appui-react/theme/ThemeManager.js.map +1 -1
  248. package/lib/cjs/appui-react/timeline/AnalysisAnimationProvider.js.map +1 -1
  249. package/lib/cjs/appui-react/timeline/ScheduleAnimationProvider.js +1 -1
  250. package/lib/cjs/appui-react/timeline/ScheduleAnimationProvider.js.map +1 -1
  251. package/lib/cjs/appui-react/timeline/SolarTimelineDataProvider.js.map +1 -1
  252. package/lib/cjs/appui-react/toolbar/GroupItem.js +1 -1
  253. package/lib/cjs/appui-react/toolbar/GroupItem.js.map +1 -1
  254. package/lib/cjs/appui-react/toolbar/Toolbar.js.map +1 -1
  255. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  256. package/lib/cjs/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  257. package/lib/cjs/appui-react/toolbar/ToolbarItem.js +2 -2
  258. package/lib/cjs/appui-react/toolbar/ToolbarItem.js.map +1 -1
  259. package/lib/cjs/appui-react/toolbar/ToolbarItemUtilities.js +1 -1
  260. package/lib/cjs/appui-react/toolbar/ToolbarItemUtilities.js.map +1 -1
  261. package/lib/cjs/appui-react/toolbar/ToolbarItemsManager.js.map +1 -1
  262. package/lib/cjs/appui-react/toolbar/toUIAToolbarItem.js.map +1 -1
  263. package/lib/cjs/appui-react/toolbar/useActiveStageProvidedToolbarItems.js.map +1 -1
  264. package/lib/cjs/appui-react/toolbar/useActiveToolIdSynchedItems.js.map +1 -1
  265. package/lib/cjs/appui-react/toolbar/useDefaultToolbarItems.js.map +1 -1
  266. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  267. package/lib/cjs/appui-react/tools/FrameworkToolAdmin.js.map +1 -1
  268. package/lib/cjs/appui-react/tools/KeyinPaletteTools.js +1 -1
  269. package/lib/cjs/appui-react/tools/KeyinPaletteTools.js.map +1 -1
  270. package/lib/cjs/appui-react/tools/OpenSettingsTool.js +1 -1
  271. package/lib/cjs/appui-react/tools/OpenSettingsTool.js.map +1 -1
  272. package/lib/cjs/appui-react/tools/RestoreLayoutTool.js +2 -2
  273. package/lib/cjs/appui-react/tools/RestoreLayoutTool.js.map +1 -1
  274. package/lib/cjs/appui-react/tools/ToolSettingsTools.js +2 -2
  275. package/lib/cjs/appui-react/tools/ToolSettingsTools.js.map +1 -1
  276. package/lib/cjs/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
  277. package/lib/cjs/appui-react/toolsettings/InternalToolSettingsManager.js +1 -1
  278. package/lib/cjs/appui-react/toolsettings/InternalToolSettingsManager.js.map +1 -1
  279. package/lib/cjs/appui-react/toolsettings/ToolInformation.js.map +1 -1
  280. package/lib/cjs/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -1
  281. package/lib/cjs/appui-react/ui-items-provider/BaseUiItemsProvider.js.map +1 -1
  282. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  283. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js.map +1 -1
  284. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  285. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js +1 -1
  286. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  287. package/lib/cjs/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
  288. package/lib/cjs/appui-react/uistate/AppUiSettings.js +1 -1
  289. package/lib/cjs/appui-react/uistate/AppUiSettings.js.map +1 -1
  290. package/lib/cjs/appui-react/utils/InternalUiShowHideManager.js +2 -2
  291. package/lib/cjs/appui-react/utils/InternalUiShowHideManager.js.map +1 -1
  292. package/lib/cjs/appui-react/utils/PropsHelper.js.map +1 -1
  293. package/lib/cjs/appui-react/utils/ToolbarButtonHelper.js.map +1 -1
  294. package/lib/cjs/appui-react/utils/matchesWords.js.map +1 -1
  295. package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
  296. package/lib/cjs/appui-react/widget-panels/useWidgetDirection.js.map +1 -1
  297. package/lib/cjs/appui-react/widgets/BackstageAppButton.js.map +1 -1
  298. package/lib/cjs/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
  299. package/lib/cjs/appui-react/widgets/BasicToolWidget.js.map +1 -1
  300. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  301. package/lib/cjs/appui-react/widgets/StableWidgetDef.js.map +1 -1
  302. package/lib/cjs/appui-react/widgets/StatusBarWidgetComposerControl.js +1 -1
  303. package/lib/cjs/appui-react/widgets/StatusBarWidgetComposerControl.js.map +1 -1
  304. package/lib/cjs/appui-react/widgets/WidgetDef.js +2 -2
  305. package/lib/cjs/appui-react/widgets/WidgetDef.js.map +1 -1
  306. package/lib/cjs/appui-react/widgets/WidgetHost.js.map +1 -1
  307. package/lib/cjs/appui-react/widgets/WidgetManager.js.map +1 -1
  308. package/lib/cjs/appui-react/widgets/WidgetState.js +1 -1
  309. package/lib/cjs/appui-react/widgets/WidgetState.js.map +1 -1
  310. package/lib/cjs/appui-react/widgets/useWidget.js.map +1 -1
  311. package/lib/esm/appui-react/UiFramework.js +1 -2
  312. package/lib/esm/appui-react/UiFramework.js.map +1 -1
  313. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  314. package/lib/esm/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  315. package/lib/esm/appui-react/accudraw/AccuDrawPopupManager.js +1 -2
  316. package/lib/esm/appui-react/accudraw/AccuDrawPopupManager.js.map +1 -1
  317. package/lib/esm/appui-react/accudraw/AccuDrawWidget.js +1 -2
  318. package/lib/esm/appui-react/accudraw/AccuDrawWidget.js.map +1 -1
  319. package/lib/esm/appui-react/accudraw/Calculator.js +1 -2
  320. package/lib/esm/appui-react/accudraw/Calculator.js.map +1 -1
  321. package/lib/esm/appui-react/accudraw/CalculatorEngine.js.map +1 -1
  322. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.js +1 -2
  323. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  324. package/lib/esm/appui-react/accudraw/MenuButton.js.map +1 -1
  325. package/lib/esm/appui-react/backstage/BackstageComposer.js.map +1 -1
  326. package/lib/esm/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  327. package/lib/esm/appui-react/backstage/BackstageItemsManager.js.map +1 -1
  328. package/lib/esm/appui-react/backstage/useDefaultBackstageItems.js.map +1 -1
  329. package/lib/esm/appui-react/backstage/useUiItemsProviderBackstageItems.js.map +1 -1
  330. package/lib/esm/appui-react/childwindow/ChildWindowWidget.js.map +1 -1
  331. package/lib/esm/appui-react/childwindow/CopyStyles.js.map +1 -1
  332. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
  333. package/lib/esm/appui-react/configurableui/ActivityTracker.js.map +1 -1
  334. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.js +1 -2
  335. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
  336. package/lib/esm/appui-react/configurableui/TimeTracker.js.map +1 -1
  337. package/lib/esm/appui-react/configurableui/state.js.map +1 -1
  338. package/lib/esm/appui-react/content/ContentControl.js.map +1 -1
  339. package/lib/esm/appui-react/content/ContentGroup.js +1 -2
  340. package/lib/esm/appui-react/content/ContentGroup.js.map +1 -1
  341. package/lib/esm/appui-react/content/ContentLayout.js.map +1 -1
  342. package/lib/esm/appui-react/content/DefaultViewOverlay.js.map +1 -1
  343. package/lib/esm/appui-react/content/FloatingViewportContent.js.map +1 -1
  344. package/lib/esm/appui-react/content/IModelViewport.js.map +1 -1
  345. package/lib/esm/appui-react/content/InternalContentLayoutManager.js +1 -2
  346. package/lib/esm/appui-react/content/InternalContentLayoutManager.js.map +1 -1
  347. package/lib/esm/appui-react/content/InternalContentViewManager.js +1 -2
  348. package/lib/esm/appui-react/content/InternalContentViewManager.js.map +1 -1
  349. package/lib/esm/appui-react/content/StageContentLayout.js.map +1 -1
  350. package/lib/esm/appui-react/content/ViewStateHelper.js.map +1 -1
  351. package/lib/esm/appui-react/content/ViewportContentControl.js.map +1 -1
  352. package/lib/esm/appui-react/content/split-pane/Pane.js.map +1 -1
  353. package/lib/esm/appui-react/content/split-pane/Resizer.js.map +1 -1
  354. package/lib/esm/appui-react/content/split-pane/SplitPane.js.map +1 -1
  355. package/lib/esm/appui-react/cursor/CursorInformation.js +1 -2
  356. package/lib/esm/appui-react/cursor/CursorInformation.js.map +1 -1
  357. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  358. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.js +1 -2
  359. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
  360. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.js +1 -2
  361. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.js.map +1 -1
  362. package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.js.map +1 -1
  363. package/lib/esm/appui-react/dialog/ContentDialog.js.map +1 -1
  364. package/lib/esm/appui-react/dialog/DialogManagerBase.js +1 -2
  365. package/lib/esm/appui-react/dialog/DialogManagerBase.js.map +1 -1
  366. package/lib/esm/appui-react/dialog/InternalContentDialogManager.js +1 -2
  367. package/lib/esm/appui-react/dialog/InternalContentDialogManager.js.map +1 -1
  368. package/lib/esm/appui-react/dialog/InternalModalDialogManager.js +1 -2
  369. package/lib/esm/appui-react/dialog/InternalModalDialogManager.js.map +1 -1
  370. package/lib/esm/appui-react/dialog/InternalModelessDialogManager.js +1 -2
  371. package/lib/esm/appui-react/dialog/InternalModelessDialogManager.js.map +1 -1
  372. package/lib/esm/appui-react/dialog/StandardMessageBox.js.map +1 -1
  373. package/lib/esm/appui-react/dialog/UiDataProvidedDialog.js.map +1 -1
  374. package/lib/esm/appui-react/feedback/ElementTooltip.js +1 -2
  375. package/lib/esm/appui-react/feedback/ElementTooltip.js.map +1 -1
  376. package/lib/esm/appui-react/feedback/ValidationTextbox.js.map +1 -1
  377. package/lib/esm/appui-react/frontstage/FrontstageDef.js.map +1 -1
  378. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.js +1 -2
  379. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
  380. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js +1 -2
  381. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  382. package/lib/esm/appui-react/frontstage/NestedFrontstage.js +1 -2
  383. package/lib/esm/appui-react/frontstage/NestedFrontstage.js.map +1 -1
  384. package/lib/esm/appui-react/hooks/useActiveIModelConnection.js.map +1 -1
  385. package/lib/esm/appui-react/hooks/useActiveViewport.js.map +1 -1
  386. package/lib/esm/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
  387. package/lib/esm/appui-react/hooks/useConditionalValue.js.map +1 -1
  388. package/lib/esm/appui-react/hooks/useEscapeSetFocusToHome.js.map +1 -1
  389. package/lib/esm/appui-react/hooks/useScheduleAnimationDataProvider.js.map +1 -1
  390. package/lib/esm/appui-react/hooks/useTranslation.js.map +1 -1
  391. package/lib/esm/appui-react/keyboardshortcut/InternalKeyboardShortcut.js +1 -2
  392. package/lib/esm/appui-react/keyboardshortcut/InternalKeyboardShortcut.js.map +1 -1
  393. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
  394. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.js +1 -2
  395. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
  396. package/lib/esm/appui-react/keyins/Keyins.js.map +1 -1
  397. package/lib/esm/appui-react/layout/backstage/Backstage.js +1 -2
  398. package/lib/esm/appui-react/layout/backstage/Backstage.js.map +1 -1
  399. package/lib/esm/appui-react/layout/base/DragManager.js.map +1 -1
  400. package/lib/esm/appui-react/layout/base/NineZone.js.map +1 -1
  401. package/lib/esm/appui-react/layout/base/SafeAreaInsets.js +1 -2
  402. package/lib/esm/appui-react/layout/base/SafeAreaInsets.js.map +1 -1
  403. package/lib/esm/appui-react/layout/base/usePointerCaptor.js.map +1 -1
  404. package/lib/esm/appui-react/layout/footer/Indicator.js +1 -1
  405. package/lib/esm/appui-react/layout/footer/Indicator.js.map +1 -1
  406. package/lib/esm/appui-react/layout/outline/PanelOutline.js.map +1 -1
  407. package/lib/esm/appui-react/layout/popup/Tooltip.js +1 -2
  408. package/lib/esm/appui-react/layout/popup/Tooltip.js.map +1 -1
  409. package/lib/esm/appui-react/layout/state/NineZoneStateReducer.js.map +1 -1
  410. package/lib/esm/appui-react/layout/state/TabLocation.js.map +1 -1
  411. package/lib/esm/appui-react/layout/state/WidgetLocation.js.map +1 -1
  412. package/lib/esm/appui-react/layout/state/internal/NineZoneStateHelpers.js.map +1 -1
  413. package/lib/esm/appui-react/layout/state/internal/PanelStateHelpers.js.map +1 -1
  414. package/lib/esm/appui-react/layout/state/internal/TabStateHelpers.js.map +1 -1
  415. package/lib/esm/appui-react/layout/state/internal/WidgetStateHelpers.js.map +1 -1
  416. package/lib/esm/appui-react/layout/target/PanelTargets.js.map +1 -1
  417. package/lib/esm/appui-react/layout/target/SectionTarget.js.map +1 -1
  418. package/lib/esm/appui-react/layout/target/useAllowedSideTarget.js.map +1 -1
  419. package/lib/esm/appui-react/layout/target/useAllowedWidgetTarget.js.map +1 -1
  420. package/lib/esm/appui-react/layout/tool-settings/Docked.js.map +1 -1
  421. package/lib/esm/appui-react/layout/widget/Buttons.js.map +1 -1
  422. package/lib/esm/appui-react/layout/widget/ContentManager.js.map +1 -1
  423. package/lib/esm/appui-react/layout/widget/ContentRenderer.js.map +1 -1
  424. package/lib/esm/appui-react/layout/widget/FloatingWidget.js.map +1 -1
  425. package/lib/esm/appui-react/layout/widget/Overflow.js.map +1 -1
  426. package/lib/esm/appui-react/layout/widget/PanelWidget.js.map +1 -1
  427. package/lib/esm/appui-react/layout/widget/SendBack.js.map +1 -1
  428. package/lib/esm/appui-react/layout/widget/Tab.js.map +1 -1
  429. package/lib/esm/appui-react/layout/widget/TabBar.js.map +1 -1
  430. package/lib/esm/appui-react/layout/widget/Tabs.js.map +1 -1
  431. package/lib/esm/appui-react/layout/widget/Widget.js.map +1 -1
  432. package/lib/esm/appui-react/layout/widget/tools/button/Button.js.map +1 -1
  433. package/lib/esm/appui-react/layout/widget-panels/Expander.js.map +1 -1
  434. package/lib/esm/appui-react/layout/widget-panels/Grip.js.map +1 -1
  435. package/lib/esm/appui-react/layout/widget-panels/PanelSections.js.map +1 -1
  436. package/lib/esm/appui-react/layout/widget-panels/useAnimatePanel.js.map +1 -1
  437. package/lib/esm/appui-react/layout/widget-panels/usePanelsAutoCollapse.js.map +1 -1
  438. package/lib/esm/appui-react/messages/AppNotificationManager.js.map +1 -1
  439. package/lib/esm/appui-react/messages/InputField.js.map +1 -1
  440. package/lib/esm/appui-react/messages/MessageManager.js +1 -2
  441. package/lib/esm/appui-react/messages/MessageManager.js.map +1 -1
  442. package/lib/esm/appui-react/messages/MessageRenderer.js.map +1 -1
  443. package/lib/esm/appui-react/messages/Pointer.js +1 -2
  444. package/lib/esm/appui-react/messages/Pointer.js.map +1 -1
  445. package/lib/esm/appui-react/messages/StatusMessageManager.js.map +1 -1
  446. package/lib/esm/appui-react/messages/getToastCategory.js.map +1 -1
  447. package/lib/esm/appui-react/navigationaids/CubeNavigationAidControl.js +1 -2
  448. package/lib/esm/appui-react/navigationaids/CubeNavigationAidControl.js.map +1 -1
  449. package/lib/esm/appui-react/navigationaids/DrawingNavigationAidControl.js +1 -2
  450. package/lib/esm/appui-react/navigationaids/DrawingNavigationAidControl.js.map +1 -1
  451. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.js +1 -2
  452. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  453. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js +1 -2
  454. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  455. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.js +1 -2
  456. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  457. package/lib/esm/appui-react/pickers/ListPicker.js.map +1 -1
  458. package/lib/esm/appui-react/pickers/ViewSelector.js +1 -2
  459. package/lib/esm/appui-react/pickers/ViewSelector.js.map +1 -1
  460. package/lib/esm/appui-react/popup/CardPopup.js +1 -2
  461. package/lib/esm/appui-react/popup/CardPopup.js.map +1 -1
  462. package/lib/esm/appui-react/popup/ComponentPopup.js.map +1 -1
  463. package/lib/esm/appui-react/popup/InputEditorPopup.js.map +1 -1
  464. package/lib/esm/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  465. package/lib/esm/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  466. package/lib/esm/appui-react/popup/PopupManager.js +2 -4
  467. package/lib/esm/appui-react/popup/PopupManager.js.map +1 -1
  468. package/lib/esm/appui-react/popup/PositionPopup.js.map +1 -1
  469. package/lib/esm/appui-react/popup/ToolSettingsPopup.js.map +1 -1
  470. package/lib/esm/appui-react/popup/ToolbarPopup.js +1 -2
  471. package/lib/esm/appui-react/popup/ToolbarPopup.js.map +1 -1
  472. package/lib/esm/appui-react/preview/PreviewFeatures.js.map +1 -1
  473. package/lib/esm/appui-react/preview/activate-dropped-tab/activateDroppedTab.js.map +1 -1
  474. package/lib/esm/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js.map +1 -1
  475. package/lib/esm/appui-react/preview/new-toolbars/ActionItem.js.map +1 -1
  476. package/lib/esm/appui-react/preview/new-toolbars/CustomItem.js.map +1 -1
  477. package/lib/esm/appui-react/preview/new-toolbars/GroupItem.js.map +1 -1
  478. package/lib/esm/appui-react/preview/new-toolbars/ToolGroup.js.map +1 -1
  479. package/lib/esm/appui-react/preview/new-toolbars/Toolbar.js.map +1 -1
  480. package/lib/esm/appui-react/preview/new-toolbars/useOverflow.js.map +1 -1
  481. package/lib/esm/appui-react/preview/reparent-popout-widgets/usePopoutsStore.js.map +1 -1
  482. package/lib/esm/appui-react/preview/reparent-popout-widgets/useReparentPopoutWidget.js.map +1 -1
  483. package/lib/esm/appui-react/preview/widget-action-dropdown/Button.js.map +1 -1
  484. package/lib/esm/appui-react/redux/ReducerRegistry.js.map +1 -1
  485. package/lib/esm/appui-react/redux/SessionState.js +1 -1
  486. package/lib/esm/appui-react/redux/SessionState.js.map +1 -1
  487. package/lib/esm/appui-react/redux/StateManager.js +1 -2
  488. package/lib/esm/appui-react/redux/StateManager.js.map +1 -1
  489. package/lib/esm/appui-react/redux/connectIModel.js +3 -3
  490. package/lib/esm/appui-react/redux/connectIModel.js.map +1 -1
  491. package/lib/esm/appui-react/selection/HideIsolateEmphasizeManager.js +2 -4
  492. package/lib/esm/appui-react/selection/HideIsolateEmphasizeManager.js.map +1 -1
  493. package/lib/esm/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  494. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  495. package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.js.map +1 -1
  496. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  497. package/lib/esm/appui-react/shared/ActionButtonItemDef.js +1 -2
  498. package/lib/esm/appui-react/shared/ActionButtonItemDef.js.map +1 -1
  499. package/lib/esm/appui-react/shared/CommandItemDef.js +1 -2
  500. package/lib/esm/appui-react/shared/CommandItemDef.js.map +1 -1
  501. package/lib/esm/appui-react/shared/CustomItemDef.js +1 -2
  502. package/lib/esm/appui-react/shared/CustomItemDef.js.map +1 -1
  503. package/lib/esm/appui-react/shared/MenuItem.js.map +1 -1
  504. package/lib/esm/appui-react/shared/ToolItemDef.js.map +1 -1
  505. package/lib/esm/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  506. package/lib/esm/appui-react/statusbar/Field.js +2 -4
  507. package/lib/esm/appui-react/statusbar/Field.js.map +1 -1
  508. package/lib/esm/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  509. package/lib/esm/appui-react/statusbar/StatusBarItem.d.ts +3 -3
  510. package/lib/esm/appui-react/statusbar/StatusBarItem.d.ts.map +1 -1
  511. package/lib/esm/appui-react/statusbar/StatusBarItemsManager.js.map +1 -1
  512. package/lib/esm/appui-react/statusbar/useDefaultStatusBarItems.js.map +1 -1
  513. package/lib/esm/appui-react/statusbar/useUiItemsProviderStatusBarItems.js.map +1 -1
  514. package/lib/esm/appui-react/statusfields/SectionsField.js.map +1 -1
  515. package/lib/esm/appui-react/statusfields/SelectionCount.js.map +1 -1
  516. package/lib/esm/appui-react/statusfields/SelectionScope.js.map +1 -1
  517. package/lib/esm/appui-react/statusfields/SnapMode.js.map +1 -1
  518. package/lib/esm/appui-react/statusfields/ViewAttributes.js.map +1 -1
  519. package/lib/esm/appui-react/statusfields/message-center/MessageCenterField.js.map +1 -1
  520. package/lib/esm/appui-react/statusfields/tileloading/TileLoadingIndicator.js.map +1 -1
  521. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js +1 -2
  522. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  523. package/lib/esm/appui-react/syncui/InternalSyncUiEventDispatcher.js.map +1 -1
  524. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.js +1 -2
  525. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  526. package/lib/esm/appui-react/theme/ThemeManager.js.map +1 -1
  527. package/lib/esm/appui-react/timeline/AnalysisAnimationProvider.js.map +1 -1
  528. package/lib/esm/appui-react/timeline/ScheduleAnimationProvider.js +1 -1
  529. package/lib/esm/appui-react/timeline/ScheduleAnimationProvider.js.map +1 -1
  530. package/lib/esm/appui-react/timeline/SolarTimelineDataProvider.js.map +1 -1
  531. package/lib/esm/appui-react/toolbar/GroupItem.js +1 -2
  532. package/lib/esm/appui-react/toolbar/GroupItem.js.map +1 -1
  533. package/lib/esm/appui-react/toolbar/Toolbar.js.map +1 -1
  534. package/lib/esm/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  535. package/lib/esm/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  536. package/lib/esm/appui-react/toolbar/ToolbarItemsManager.js.map +1 -1
  537. package/lib/esm/appui-react/toolbar/toUIAToolbarItem.js.map +1 -1
  538. package/lib/esm/appui-react/toolbar/useActiveStageProvidedToolbarItems.js.map +1 -1
  539. package/lib/esm/appui-react/toolbar/useActiveToolIdSynchedItems.js.map +1 -1
  540. package/lib/esm/appui-react/toolbar/useDefaultToolbarItems.js.map +1 -1
  541. package/lib/esm/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  542. package/lib/esm/appui-react/tools/FrameworkToolAdmin.js.map +1 -1
  543. package/lib/esm/appui-react/tools/KeyinPaletteTools.js +1 -2
  544. package/lib/esm/appui-react/tools/KeyinPaletteTools.js.map +1 -1
  545. package/lib/esm/appui-react/tools/OpenSettingsTool.js +1 -2
  546. package/lib/esm/appui-react/tools/OpenSettingsTool.js.map +1 -1
  547. package/lib/esm/appui-react/tools/RestoreLayoutTool.js +2 -4
  548. package/lib/esm/appui-react/tools/RestoreLayoutTool.js.map +1 -1
  549. package/lib/esm/appui-react/tools/ToolSettingsTools.js +2 -4
  550. package/lib/esm/appui-react/tools/ToolSettingsTools.js.map +1 -1
  551. package/lib/esm/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
  552. package/lib/esm/appui-react/toolsettings/InternalToolSettingsManager.js +1 -2
  553. package/lib/esm/appui-react/toolsettings/InternalToolSettingsManager.js.map +1 -1
  554. package/lib/esm/appui-react/toolsettings/ToolInformation.js.map +1 -1
  555. package/lib/esm/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -1
  556. package/lib/esm/appui-react/ui-items-provider/BaseUiItemsProvider.js.map +1 -1
  557. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  558. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js.map +1 -1
  559. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  560. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js +1 -2
  561. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  562. package/lib/esm/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
  563. package/lib/esm/appui-react/uistate/AppUiSettings.js +1 -2
  564. package/lib/esm/appui-react/uistate/AppUiSettings.js.map +1 -1
  565. package/lib/esm/appui-react/utils/InternalUiShowHideManager.js +2 -4
  566. package/lib/esm/appui-react/utils/InternalUiShowHideManager.js.map +1 -1
  567. package/lib/esm/appui-react/utils/PropsHelper.js.map +1 -1
  568. package/lib/esm/appui-react/utils/ToolbarButtonHelper.js.map +1 -1
  569. package/lib/esm/appui-react/utils/matchesWords.js.map +1 -1
  570. package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
  571. package/lib/esm/appui-react/widget-panels/useWidgetDirection.js.map +1 -1
  572. package/lib/esm/appui-react/widgets/BackstageAppButton.js.map +1 -1
  573. package/lib/esm/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
  574. package/lib/esm/appui-react/widgets/BasicToolWidget.js.map +1 -1
  575. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  576. package/lib/esm/appui-react/widgets/StableWidgetDef.js.map +1 -1
  577. package/lib/esm/appui-react/widgets/StatusBarWidgetComposerControl.js +1 -2
  578. package/lib/esm/appui-react/widgets/StatusBarWidgetComposerControl.js.map +1 -1
  579. package/lib/esm/appui-react/widgets/WidgetDef.js +1 -2
  580. package/lib/esm/appui-react/widgets/WidgetDef.js.map +1 -1
  581. package/lib/esm/appui-react/widgets/WidgetHost.js.map +1 -1
  582. package/lib/esm/appui-react/widgets/WidgetManager.js.map +1 -1
  583. package/lib/esm/appui-react/widgets/useWidget.js.map +1 -1
  584. package/package.json +9 -9
@@ -1 +1 @@
1
- {"version":3,"file":"StatusBarItemsManager.js","sourceRoot":"","sources":["../../../../src/appui-react/statusbar/StatusBarItemsManager.ts"],"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 {\n ConditionalBooleanValue,\n ConditionalStringValue,\n} from \"@itwin/appui-abstract\";\nimport { BeEvent } from \"@itwin/core-bentley\";\nimport type { StatusBarItem } from \"./StatusBarItem\";\n\ntype InstanceOrArray<T> = T | ReadonlyArray<T>;\n\nconst isInstance = <T>(args: InstanceOrArray<T>): args is T => {\n return !Array.isArray(args);\n};\n\n/** Arguments of [[StatusBarItemsManager.onChanged]] event.\n * @internal\n */\nexport interface StatusBarItemsChangedArgs {\n readonly items: ReadonlyArray<StatusBarItem>;\n}\n\n/**\n * Controls status bar items.\n * @internal\n */\nexport class StatusBarItemsManager {\n private _items: ReadonlyArray<StatusBarItem> = [];\n\n constructor(items?: ReadonlyArray<StatusBarItem>) {\n if (items) this.loadItemsInternal(items, true, false);\n }\n\n /** Event raised when StatusBar items are changed.\n * @internal\n */\n public readonly onItemsChanged = new BeEvent<\n (args: StatusBarItemsChangedArgs) => void\n >();\n\n private loadItemsInternal(\n items: ReadonlyArray<StatusBarItem>,\n processConditions: boolean,\n sendItemChanged: boolean\n ) {\n if (processConditions && items) {\n const eventIds = StatusBarItemsManager.getSyncIdsOfInterest(items);\n if (0 !== eventIds.length) {\n const { itemsUpdated, updatedItems } =\n this.internalRefreshAffectedItems(items, new Set(eventIds));\n\n // istanbul ignore else\n if (itemsUpdated) items = updatedItems;\n }\n }\n\n this._items = items;\n if (sendItemChanged) this.onItemsChanged.raiseEvent({ items });\n }\n\n /** load items but do not fire onItemsChanged\n * @internal\n */\n public loadItems(items: ReadonlyArray<StatusBarItem>) {\n this.loadItemsInternal(items, true, false);\n }\n\n /** Get an array of the StatusBar items */\n public get items(): ReadonlyArray<StatusBarItem> {\n return this._items;\n }\n\n public set items(items: ReadonlyArray<StatusBarItem>) {\n // istanbul ignore else\n if (items !== this._items) this.loadItemsInternal(items, true, true);\n }\n\n public add(itemOrItems: StatusBarItem | ReadonlyArray<StatusBarItem>) {\n let itemsToAdd;\n if (isInstance(itemOrItems)) itemsToAdd = [itemOrItems];\n else {\n itemsToAdd = itemOrItems.filter(\n (itemToAdd, index) =>\n itemOrItems.findIndex((item) => item.id === itemToAdd.id) === index\n );\n }\n itemsToAdd = itemsToAdd.filter(\n (itemToAdd) =>\n this._items.find((item) => item.id === itemToAdd.id) === undefined\n );\n if (itemsToAdd.length === 0) return;\n const items = [...this._items, ...itemsToAdd];\n this.items = items;\n }\n\n /** Remove StatusBar items based on id */\n public remove(\n itemIdOrItemIds: StatusBarItem[\"id\"] | ReadonlyArray<StatusBarItem[\"id\"]>\n ) {\n const items = this._items.filter((item) => {\n return isInstance(itemIdOrItemIds)\n ? item.id !== itemIdOrItemIds\n : !itemIdOrItemIds.find((itemId) => itemId === item.id);\n });\n this.items = items;\n }\n\n /** @internal */\n public removeAll() {\n this._items = [];\n }\n\n public static getSyncIdsOfInterest(\n items: readonly StatusBarItem[]\n ): string[] {\n const eventIds = new Set<string>();\n items.forEach((item) => {\n for (const [, entry] of Object.entries(item)) {\n if (entry instanceof ConditionalBooleanValue) {\n entry.syncEventIds.forEach((eventId: string) =>\n eventIds.add(eventId.toLowerCase())\n );\n } /* istanbul ignore else */ else if (\n entry instanceof ConditionalStringValue\n ) {\n entry.syncEventIds.forEach((eventId: string) =>\n eventIds.add(eventId.toLowerCase())\n );\n }\n }\n });\n return [...eventIds.values()];\n }\n\n private internalRefreshAffectedItems(\n items: readonly StatusBarItem[],\n eventIds: Set<string>\n ): { itemsUpdated: boolean; updatedItems: StatusBarItem[] } {\n // istanbul ignore next\n if (0 === eventIds.size) return { itemsUpdated: false, updatedItems: [] };\n\n let updateRequired = false;\n\n const newItems: StatusBarItem[] = [];\n for (const item of items) {\n const updatedItem = { ...item };\n\n for (const [, entry] of Object.entries(updatedItem)) {\n if (entry instanceof ConditionalBooleanValue) {\n // istanbul ignore else\n if (ConditionalBooleanValue.refreshValue(entry, eventIds))\n updateRequired = true;\n } /* istanbul ignore else */ else if (\n entry instanceof ConditionalStringValue\n ) {\n // istanbul ignore else\n if (ConditionalStringValue.refreshValue(entry, eventIds))\n updateRequired = true;\n }\n }\n\n newItems.push(updatedItem);\n }\n\n return { itemsUpdated: updateRequired, updatedItems: newItems };\n }\n\n public refreshAffectedItems(eventIds: Set<string>) {\n // istanbul ignore next\n if (0 === eventIds.size) return;\n\n const { itemsUpdated, updatedItems } = this.internalRefreshAffectedItems(\n this.items,\n eventIds\n );\n\n // istanbul ignore else\n if (itemsUpdated) this.loadItemsInternal(updatedItems, false, true);\n }\n}\n"]}
1
+ {"version":3,"file":"StatusBarItemsManager.js","sourceRoot":"","sources":["../../../../src/appui-react/statusbar/StatusBarItemsManager.ts"],"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 {\n ConditionalBooleanValue,\n ConditionalStringValue,\n} from \"@itwin/appui-abstract\";\nimport { BeEvent } from \"@itwin/core-bentley\";\nimport type { StatusBarItem } from \"./StatusBarItem\";\n\ntype InstanceOrArray<T> = T | ReadonlyArray<T>;\n\nconst isInstance = <T>(args: InstanceOrArray<T>): args is T => {\n return !Array.isArray(args);\n};\n\n/** Arguments of [[StatusBarItemsManager.onChanged]] event.\n * @internal\n */\nexport interface StatusBarItemsChangedArgs {\n readonly items: ReadonlyArray<StatusBarItem>;\n}\n\n/**\n * Controls status bar items.\n * @internal\n */\nexport class StatusBarItemsManager {\n private _items: ReadonlyArray<StatusBarItem> = [];\n\n constructor(items?: ReadonlyArray<StatusBarItem>) {\n if (items) this.loadItemsInternal(items, true, false);\n }\n\n /** Event raised when StatusBar items are changed.\n * @internal\n */\n public readonly onItemsChanged = new BeEvent<\n (args: StatusBarItemsChangedArgs) => void\n >();\n\n private loadItemsInternal(\n items: ReadonlyArray<StatusBarItem>,\n processConditions: boolean,\n sendItemChanged: boolean\n ) {\n if (processConditions && items) {\n const eventIds = StatusBarItemsManager.getSyncIdsOfInterest(items);\n if (0 !== eventIds.length) {\n const { itemsUpdated, updatedItems } =\n this.internalRefreshAffectedItems(items, new Set(eventIds));\n\n // istanbul ignore else\n if (itemsUpdated) items = updatedItems;\n }\n }\n\n this._items = items;\n if (sendItemChanged) this.onItemsChanged.raiseEvent({ items });\n }\n\n /** load items but do not fire onItemsChanged\n * @internal\n */\n public loadItems(items: ReadonlyArray<StatusBarItem>) {\n this.loadItemsInternal(items, true, false);\n }\n\n /** Get an array of the StatusBar items */\n public get items(): ReadonlyArray<StatusBarItem> {\n return this._items;\n }\n\n public set items(items: ReadonlyArray<StatusBarItem>) {\n // istanbul ignore else\n if (items !== this._items) this.loadItemsInternal(items, true, true);\n }\n\n public add(itemOrItems: StatusBarItem | ReadonlyArray<StatusBarItem>) {\n let itemsToAdd;\n if (isInstance(itemOrItems)) itemsToAdd = [itemOrItems];\n else {\n itemsToAdd = itemOrItems.filter(\n (itemToAdd, index) =>\n itemOrItems.findIndex((item) => item.id === itemToAdd.id) === index\n );\n }\n itemsToAdd = itemsToAdd.filter(\n (itemToAdd) =>\n this._items.find((item) => item.id === itemToAdd.id) === undefined\n );\n if (itemsToAdd.length === 0) return;\n const items = [...this._items, ...itemsToAdd];\n this.items = items;\n }\n\n /** Remove StatusBar items based on id */\n public remove(\n itemIdOrItemIds: StatusBarItem[\"id\"] | ReadonlyArray<StatusBarItem[\"id\"]>\n ) {\n const items = this._items.filter((item) => {\n return isInstance(itemIdOrItemIds)\n ? item.id !== itemIdOrItemIds\n : !itemIdOrItemIds.find((itemId) => itemId === item.id);\n });\n this.items = items;\n }\n\n /** @internal */\n public removeAll() {\n this._items = [];\n }\n\n public static getSyncIdsOfInterest(\n items: readonly StatusBarItem[]\n ): string[] {\n const eventIds = new Set<string>();\n items.forEach((item) => {\n for (const [, entry] of Object.entries(item)) {\n if (entry instanceof ConditionalBooleanValue) {\n entry.syncEventIds.forEach((eventId: string) =>\n eventIds.add(eventId.toLowerCase())\n );\n } /* istanbul ignore else */ else if (\n entry instanceof ConditionalStringValue\n ) {\n entry.syncEventIds.forEach((eventId: string) =>\n eventIds.add(eventId.toLowerCase())\n );\n }\n }\n });\n return [...eventIds.values()];\n }\n\n private internalRefreshAffectedItems(\n items: readonly StatusBarItem[],\n eventIds: Set<string>\n ): { itemsUpdated: boolean; updatedItems: StatusBarItem[] } {\n // istanbul ignore next\n if (0 === eventIds.size) return { itemsUpdated: false, updatedItems: [] };\n\n let updateRequired = false;\n\n const newItems: StatusBarItem[] = [];\n for (const item of items) {\n const updatedItem = { ...item };\n\n for (const [, entry] of Object.entries(updatedItem)) {\n if (entry instanceof ConditionalBooleanValue) {\n // istanbul ignore else\n if (ConditionalBooleanValue.refreshValue(entry, eventIds))\n updateRequired = true;\n } /* istanbul ignore else */ else if (\n entry instanceof ConditionalStringValue\n ) {\n // istanbul ignore else\n if (ConditionalStringValue.refreshValue(entry, eventIds))\n updateRequired = true;\n }\n }\n\n newItems.push(updatedItem);\n }\n\n return { itemsUpdated: updateRequired, updatedItems: newItems };\n }\n\n public refreshAffectedItems(eventIds: Set<string>) {\n // istanbul ignore next\n if (0 === eventIds.size) return;\n\n const { itemsUpdated, updatedItems } = this.internalRefreshAffectedItems(\n this.items,\n eventIds\n );\n\n // istanbul ignore else\n if (itemsUpdated) this.loadItemsInternal(updatedItems, false, true);\n }\n}\n"]}
@@ -27,5 +27,5 @@ exports.StatusBarDialog = StatusBarDialog;
27
27
  StatusBarDialog.TitleBar = TitleBar_1.StatusBarDialogTitleBar;
28
28
  /** Title bar button of a [[StatusBarDialog]]. */
29
29
  StatusBarDialog.TitleBarButton = Button_1.StatusBarDialogTitleBarButton;
30
- })(StatusBarDialog = exports.StatusBarDialog || (exports.StatusBarDialog = {}));
30
+ })(StatusBarDialog || (exports.StatusBarDialog = StatusBarDialog = {}));
31
31
  //# sourceMappingURL=Dialog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Dialog.js","sourceRoot":"","sources":["../../../../../src/appui-react/statusbar/dialog/Dialog.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAGH,+BAA+B;AAC/B,8DAA2D;AAC3D,qCAAyD;AACzD,yCAAqD;AAYrD;;GAEG;AACH,SAAgB,eAAe,CAAC,KAA2B;IACzD,OAAO,oBAAC,eAAM,OAAK,KAAK,GAAI,CAAC;AAC/B,CAAC;AAFD,0CAEC;AAED;;GAEG;AACH,WAAiB,eAAe;IAC9B,0CAA0C;IAC7B,wBAAQ,GAAG,kCAAuB,CAAC;IAEhD,iDAAiD;IACpC,8BAAc,GAAG,sCAA6B,CAAC;AAC9D,CAAC,EANgB,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAM/B","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 type { CommonProps } from \"@itwin/core-react\";\nimport * as React from \"react\";\nimport { Dialog } from \"../../layout/footer/dialog/Dialog\";\nimport { StatusBarDialogTitleBarButton } from \"./Button\";\nimport { StatusBarDialogTitleBar } from \"./TitleBar\";\n\n/** Properties of [[StatusBarDialog]] component.\n * @beta\n */\nexport interface StatusBarDialogProps extends CommonProps {\n /** Dialog content. */\n children?: React.ReactNode;\n /** Dialog title bar. See [[StatusBarDialog.TitleBar]] */\n titleBar?: React.ReactNode;\n}\n\n/** Dialog component used in a [[StatusBarIndicator]] component.\n * @beta\n */\nexport function StatusBarDialog(props: StatusBarDialogProps) {\n return <Dialog {...props} />;\n}\n\n/** Components used in a [[StatusBarDialog]].\n * @beta\n */\nexport namespace StatusBarDialog {\n /** Title bar of a [[StatusBarDialog]]. */\n export const TitleBar = StatusBarDialogTitleBar;\n\n /** Title bar button of a [[StatusBarDialog]]. */\n export const TitleBarButton = StatusBarDialogTitleBarButton;\n}\n"]}
1
+ {"version":3,"file":"Dialog.js","sourceRoot":"","sources":["../../../../../src/appui-react/statusbar/dialog/Dialog.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAGH,+BAA+B;AAC/B,8DAA2D;AAC3D,qCAAyD;AACzD,yCAAqD;AAYrD;;GAEG;AACH,SAAgB,eAAe,CAAC,KAA2B;IACzD,OAAO,oBAAC,eAAM,OAAK,KAAK,GAAI,CAAC;AAC/B,CAAC;AAFD,0CAEC;AAED;;GAEG;AACH,WAAiB,eAAe;IAC9B,0CAA0C;IAC7B,wBAAQ,GAAG,kCAAuB,CAAC;IAEhD,iDAAiD;IACpC,8BAAc,GAAG,sCAA6B,CAAC;AAC9D,CAAC,EANgB,eAAe,+BAAf,eAAe,QAM/B","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 type { CommonProps } from \"@itwin/core-react\";\nimport * as React from \"react\";\nimport { Dialog } from \"../../layout/footer/dialog/Dialog\";\nimport { StatusBarDialogTitleBarButton } from \"./Button\";\nimport { StatusBarDialogTitleBar } from \"./TitleBar\";\n\n/** Properties of [[StatusBarDialog]] component.\n * @beta\n */\nexport interface StatusBarDialogProps extends CommonProps {\n /** Dialog content. */\n children?: React.ReactNode;\n /** Dialog title bar. See [[StatusBarDialog.TitleBar]] */\n titleBar?: React.ReactNode;\n}\n\n/** Dialog component used in a [[StatusBarIndicator]] component.\n * @beta\n */\nexport function StatusBarDialog(props: StatusBarDialogProps) {\n return <Dialog {...props} />;\n}\n\n/** Components used in a [[StatusBarDialog]].\n * @beta\n */\nexport namespace StatusBarDialog {\n /** Title bar of a [[StatusBarDialog]]. */\n export const TitleBar = StatusBarDialogTitleBar;\n\n /** Title bar button of a [[StatusBarDialog]]. */\n export const TitleBarButton = StatusBarDialogTitleBarButton;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"useDefaultStatusBarItems.js","sourceRoot":"","sources":["../../../../src/appui-react/statusbar/useDefaultStatusBarItems.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,+BAA+B;AAI/B;;GAEG;AACI,MAAM,wBAAwB,GAAG,CACtC,OAA8B,EACJ,EAAE;IAC5B,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1C,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,cAAc,CAAC,OAAO;YAAE,cAAc,CAAC,OAAO,GAAG,KAAK,CAAC;aACtD;YACH,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SACzB;IACH,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACd,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,OAAO,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE;YACjD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACd,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAjBW,QAAA,wBAAwB,4BAiBnC","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 { StatusBarItem } from \"./StatusBarItem\";\nimport type { StatusBarItemsManager } from \"./StatusBarItemsManager\";\n\n/** Hook that returns items from [[StatusBarItemsManager]].\n * @public\n */\nexport const useDefaultStatusBarItems = (\n manager: StatusBarItemsManager\n): readonly StatusBarItem[] => {\n const [items, setItems] = React.useState(manager.items);\n const isInitialMount = React.useRef(true);\n React.useEffect(() => {\n if (isInitialMount.current) isInitialMount.current = false;\n else {\n setItems(manager.items);\n }\n }, [manager]);\n React.useEffect(() => {\n return manager.onItemsChanged.addListener((args) => {\n setItems(args.items);\n });\n }, [manager]);\n return items;\n};\n"]}
1
+ {"version":3,"file":"useDefaultStatusBarItems.js","sourceRoot":"","sources":["../../../../src/appui-react/statusbar/useDefaultStatusBarItems.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,+BAA+B;AAI/B;;GAEG;AACI,MAAM,wBAAwB,GAAG,CACtC,OAA8B,EACJ,EAAE;IAC5B,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1C,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,cAAc,CAAC,OAAO;YAAE,cAAc,CAAC,OAAO,GAAG,KAAK,CAAC;aACtD,CAAC;YACJ,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACd,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,OAAO,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE;YACjD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACd,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAjBW,QAAA,wBAAwB,4BAiBnC","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 { StatusBarItem } from \"./StatusBarItem\";\nimport type { StatusBarItemsManager } from \"./StatusBarItemsManager\";\n\n/** Hook that returns items from [[StatusBarItemsManager]].\n * @public\n */\nexport const useDefaultStatusBarItems = (\n manager: StatusBarItemsManager\n): readonly StatusBarItem[] => {\n const [items, setItems] = React.useState(manager.items);\n const isInitialMount = React.useRef(true);\n React.useEffect(() => {\n if (isInitialMount.current) isInitialMount.current = false;\n else {\n setItems(manager.items);\n }\n }, [manager]);\n React.useEffect(() => {\n return manager.onItemsChanged.addListener((args) => {\n setItems(args.items);\n });\n }, [manager]);\n return items;\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"useUiItemsProviderStatusBarItems.js","sourceRoot":"","sources":["../../../../src/appui-react/statusbar/useUiItemsProviderStatusBarItems.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,+BAA+B;AAC/B,gEAA6D;AAC7D,wFAAqF;AACrF,gDAA6C;AAC7C,wEAAqE;AAIrE;;GAEG;AACI,MAAM,gCAAgC,GAAG,CAC9C,OAA8B,EACJ,EAAE;IAC5B,MAAM,iBAAiB,GAAG,IAAA,2DAA4B,GAAE,CAAC;IACzD,MAAM,OAAO,GAAG,IAAA,mCAAgB,GAAE,CAAC;IACnC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACtC,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACzC,wHAAwH;IACxH,2DAA2D;IAC3D,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,WAAW,GAAG,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChD,uBAAuB;QACvB,IACE,YAAY,CAAC,OAAO,KAAK,WAAW;YACpC,eAAe,CAAC,OAAO,KAAK,OAAO,EACnC;YACA,eAAe,CAAC,OAAO,GAAG,OAAO,CAAC;YAClC,MAAM,aAAa,GAAG,yBAAW,CAAC,WAAW,CAAC,mBAAmB,CAAC;YAClE,uBAAuB;YACvB,IAAI,aAAa,EAAE;gBACjB,YAAY,CAAC,OAAO,GAAG,WAAW,CAAC;gBACnC,MAAM,cAAc,GAAG,+BAAc,CAAC,iBAAiB,CACrD,OAAO,EACP,aAAa,CAAC,KAAK,CACpB,CAAC;gBACF,OAAO,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;gBAClC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;aACzB;SACF;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,iBAAiB,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1C,uFAAuF;IACvF,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,OAAO,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE;YACjD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACd,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAtCW,QAAA,gCAAgC,oCAsC3C","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 { useActiveStageId } from \"../hooks/useActiveStageId\";\nimport { useAvailableUiItemsProviders } from \"../hooks/useAvailableUiItemsProviders\";\nimport { UiFramework } from \"../UiFramework\";\nimport { UiItemsManager } from \"../ui-items-provider/UiItemsManager\";\nimport type { StatusBarItem } from \"./StatusBarItem\";\nimport type { StatusBarItemsManager } from \"./StatusBarItemsManager\";\n\n/** Hook that returns items from [[StatusBarItemsManager]].\n * @public\n */\nexport const useUiItemsProviderStatusBarItems = (\n manager: StatusBarItemsManager\n): readonly StatusBarItem[] => {\n const uiItemProviderIds = useAvailableUiItemsProviders();\n const stageId = useActiveStageId();\n const [items, setItems] = React.useState(manager.items);\n const providersRef = React.useRef(\"\");\n const currentStageRef = React.useRef(\"\");\n // gathers items from registered extensions - dependent on when a UiItemsProvider is register or unregistered and if the\n // current stage's composer allows entries from extensions.\n React.useEffect(() => {\n const uiProviders = uiItemProviderIds.join(\"-\");\n // istanbul ignore else\n if (\n providersRef.current !== uiProviders ||\n currentStageRef.current !== stageId\n ) {\n currentStageRef.current = stageId;\n const frontstageDef = UiFramework.frontstages.activeFrontstageDef;\n // istanbul ignore else\n if (frontstageDef) {\n providersRef.current = uiProviders;\n const statusBarItems = UiItemsManager.getStatusBarItems(\n stageId,\n frontstageDef.usage\n );\n manager.loadItems(statusBarItems);\n setItems(manager.items);\n }\n }\n }, [manager, uiItemProviderIds, stageId]);\n // handle item changes caused by setter calls to UiFramework.addonStatusBarItemsManager\n React.useEffect(() => {\n return manager.onItemsChanged.addListener((args) => {\n setItems(args.items);\n });\n }, [manager]);\n return items;\n};\n"]}
1
+ {"version":3,"file":"useUiItemsProviderStatusBarItems.js","sourceRoot":"","sources":["../../../../src/appui-react/statusbar/useUiItemsProviderStatusBarItems.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,+BAA+B;AAC/B,gEAA6D;AAC7D,wFAAqF;AACrF,gDAA6C;AAC7C,wEAAqE;AAIrE;;GAEG;AACI,MAAM,gCAAgC,GAAG,CAC9C,OAA8B,EACJ,EAAE;IAC5B,MAAM,iBAAiB,GAAG,IAAA,2DAA4B,GAAE,CAAC;IACzD,MAAM,OAAO,GAAG,IAAA,mCAAgB,GAAE,CAAC;IACnC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACtC,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACzC,wHAAwH;IACxH,2DAA2D;IAC3D,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,WAAW,GAAG,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChD,uBAAuB;QACvB,IACE,YAAY,CAAC,OAAO,KAAK,WAAW;YACpC,eAAe,CAAC,OAAO,KAAK,OAAO,EACnC,CAAC;YACD,eAAe,CAAC,OAAO,GAAG,OAAO,CAAC;YAClC,MAAM,aAAa,GAAG,yBAAW,CAAC,WAAW,CAAC,mBAAmB,CAAC;YAClE,uBAAuB;YACvB,IAAI,aAAa,EAAE,CAAC;gBAClB,YAAY,CAAC,OAAO,GAAG,WAAW,CAAC;gBACnC,MAAM,cAAc,GAAG,+BAAc,CAAC,iBAAiB,CACrD,OAAO,EACP,aAAa,CAAC,KAAK,CACpB,CAAC;gBACF,OAAO,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;gBAClC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,iBAAiB,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1C,uFAAuF;IACvF,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,OAAO,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE;YACjD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACd,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAtCW,QAAA,gCAAgC,oCAsC3C","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 { useActiveStageId } from \"../hooks/useActiveStageId\";\nimport { useAvailableUiItemsProviders } from \"../hooks/useAvailableUiItemsProviders\";\nimport { UiFramework } from \"../UiFramework\";\nimport { UiItemsManager } from \"../ui-items-provider/UiItemsManager\";\nimport type { StatusBarItem } from \"./StatusBarItem\";\nimport type { StatusBarItemsManager } from \"./StatusBarItemsManager\";\n\n/** Hook that returns items from [[StatusBarItemsManager]].\n * @public\n */\nexport const useUiItemsProviderStatusBarItems = (\n manager: StatusBarItemsManager\n): readonly StatusBarItem[] => {\n const uiItemProviderIds = useAvailableUiItemsProviders();\n const stageId = useActiveStageId();\n const [items, setItems] = React.useState(manager.items);\n const providersRef = React.useRef(\"\");\n const currentStageRef = React.useRef(\"\");\n // gathers items from registered extensions - dependent on when a UiItemsProvider is register or unregistered and if the\n // current stage's composer allows entries from extensions.\n React.useEffect(() => {\n const uiProviders = uiItemProviderIds.join(\"-\");\n // istanbul ignore else\n if (\n providersRef.current !== uiProviders ||\n currentStageRef.current !== stageId\n ) {\n currentStageRef.current = stageId;\n const frontstageDef = UiFramework.frontstages.activeFrontstageDef;\n // istanbul ignore else\n if (frontstageDef) {\n providersRef.current = uiProviders;\n const statusBarItems = UiItemsManager.getStatusBarItems(\n stageId,\n frontstageDef.usage\n );\n manager.loadItems(statusBarItems);\n setItems(manager.items);\n }\n }\n }, [manager, uiItemProviderIds, stageId]);\n // handle item changes caused by setter calls to UiFramework.addonStatusBarItemsManager\n React.useEffect(() => {\n return manager.onItemsChanged.addListener((args) => {\n setItems(args.items);\n });\n }, [manager]);\n return items;\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"SectionsField.js","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/SectionsField.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 svgSectionTool from \"@bentley/icons-generic/icons/section-tool.svg\";\nimport type { ClipEventType, Viewport } from \"@itwin/core-frontend\";\nimport {\n IModelApp,\n ViewClipClearTool,\n ViewClipDecoration,\n ViewClipDecorationProvider,\n} from \"@itwin/core-frontend\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { Button, ToggleSwitch } from \"@itwin/itwinui-react\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { useActiveViewport } from \"../hooks/useActiveViewport\";\nimport { StatusBarLabelIndicator } from \"../statusbar/LabelIndicator\";\nimport { StatusBar } from \"../statusbar/StatusBar\";\nimport { StatusBarDialog } from \"../statusbar/dialog/Dialog\";\nimport \"./SectionsField.scss\";\nimport { useTranslation } from \"../hooks/useTranslation\";\n\n/** Sections Status Field Props\n * @beta\n */\nexport interface SectionsStatusFieldProps extends CommonProps {\n hideWhenUnused?: boolean;\n}\n\n/** Status Field for showing section extra tools for clearing and showing manipulators\n * @beta\n */\nexport function SectionsStatusField(props: SectionsStatusFieldProps) {\n const { translate } = useTranslation();\n const tooltip = translate(\"tools.sectionTools\");\n\n const activeViewport = useActiveViewport();\n const [showIndicator, setShowIndicator] = React.useState(false);\n const [isPopupOpen, setPopupOpen] = React.useState(false);\n const targetDiv = React.useRef<HTMLDivElement>(null);\n const classes = showIndicator ? \"uifw-field-fade-in\" : \"uifw-field-fade-out\";\n const [hasManipulatorsShown, setHasManipulatorsShown] = React.useState(false);\n\n React.useEffect(() => {\n // istanbul ignore next\n const onClipChanged = (\n viewport: Viewport,\n _eventType: ClipEventType,\n _provider: ViewClipDecorationProvider\n ) => {\n if (viewport !== activeViewport) return;\n\n setHasManipulatorsShown(!!ViewClipDecoration.get(activeViewport));\n const isClipActive = !!activeViewport.view.getViewClip();\n setShowIndicator(isClipActive || !props.hideWhenUnused);\n };\n\n const clipActive =\n !!activeViewport &&\n /* istanbul ignore next */ !!activeViewport.view.getViewClip();\n setShowIndicator(clipActive || !props.hideWhenUnused);\n setHasManipulatorsShown(\n clipActive &&\n /* istanbul ignore next */ !!activeViewport &&\n /* istanbul ignore next */ !!ViewClipDecoration.get(activeViewport)\n );\n\n ViewClipDecorationProvider.create().onActiveClipChanged.addListener(\n onClipChanged\n );\n return () => {\n // Get or create static ViewClipDecorationProvider\n ViewClipDecorationProvider.create().onActiveClipChanged.removeListener(\n onClipChanged\n );\n };\n }, [activeViewport, props.hideWhenUnused, isPopupOpen]);\n\n // istanbul ignore next\n const toggleManipulators = async (e: React.ChangeEvent<HTMLInputElement>) => {\n if (activeViewport) {\n setHasManipulatorsShown(e.target.checked);\n await ViewClipDecorationProvider.create().toggleDecoration(\n activeViewport\n );\n }\n };\n\n // istanbul ignore next\n const handleClear = async () => {\n await IModelApp.tools.run(\n ViewClipClearTool.toolId,\n ViewClipDecorationProvider.create()\n );\n setPopupOpen(false);\n };\n\n return (\n <div className=\"uifw-section-footer-popup-container\">\n {showIndicator && (\n <>\n <div ref={targetDiv} title={tooltip}>\n <StatusBarLabelIndicator\n className={classes}\n iconSpec={svgSectionTool}\n onClick={() => setPopupOpen(!isPopupOpen)}\n />\n </div>\n <StatusBar.Popup\n target={targetDiv.current}\n onClose={() => setPopupOpen(false)}\n isOpen={isPopupOpen}\n >\n <StatusBarDialog\n titleBar={<StatusBarDialog.TitleBar title={tooltip} />}\n >\n <div className=\"uifw-sections-footer-contents\">\n <Button onClick={handleClear}>\n {translate(\"tools.sectionClear\")}\n </Button>\n <div className=\"uifw-uifw-sections-toggle-container\">\n <div className={classnames(\"uifw-sections-label\")}>\n {translate(\"tools.sectionShowHandles\")}\n </div>\n <ToggleSwitch\n className=\"uifw-sections-toggle\"\n onChange={toggleManipulators}\n checked={hasManipulatorsShown}\n />\n </div>\n </div>\n </StatusBarDialog>\n </StatusBar.Popup>\n </>\n )}\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"SectionsField.js","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/SectionsField.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,oFAA2E;AAE3E,wDAK8B;AAE9B,wDAA4D;AAC5D,2CAAoC;AACpC,+BAA+B;AAC/B,kEAA+D;AAC/D,gEAAsE;AACtE,sDAAmD;AACnD,uDAA6D;AAC7D,gCAA8B;AAC9B,4DAAyD;AASzD;;GAEG;AACH,SAAgB,mBAAmB,CAAC,KAA+B;IACjE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,+BAAc,GAAE,CAAC;IACvC,MAAM,OAAO,GAAG,SAAS,CAAC,oBAAoB,CAAC,CAAC;IAEhD,MAAM,cAAc,GAAG,IAAA,qCAAiB,GAAE,CAAC;IAC3C,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChE,MAAM,CAAC,WAAW,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC1D,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAiB,IAAI,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,qBAAqB,CAAC;IAC7E,MAAM,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE9E,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,uBAAuB;QACvB,MAAM,aAAa,GAAG,CACpB,QAAkB,EAClB,UAAyB,EACzB,SAAqC,EACrC,EAAE;YACF,IAAI,QAAQ,KAAK,cAAc;gBAAE,OAAO;YAExC,uBAAuB,CAAC,CAAC,CAAC,kCAAkB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;YAClE,MAAM,YAAY,GAAG,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACzD,gBAAgB,CAAC,YAAY,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAC1D,CAAC,CAAC;QAEF,MAAM,UAAU,GACd,CAAC,CAAC,cAAc;YAChB,0BAA0B,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjE,gBAAgB,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACtD,uBAAuB,CACrB,UAAU;YACR,0BAA0B,CAAC,CAAC,CAAC,cAAc;YAC3C,0BAA0B,CAAC,CAAC,CAAC,kCAAkB,CAAC,GAAG,CAAC,cAAc,CAAC,CACtE,CAAC;QAEF,0CAA0B,CAAC,MAAM,EAAE,CAAC,mBAAmB,CAAC,WAAW,CACjE,aAAa,CACd,CAAC;QACF,OAAO,GAAG,EAAE;YACV,kDAAkD;YAClD,0CAA0B,CAAC,MAAM,EAAE,CAAC,mBAAmB,CAAC,cAAc,CACpE,aAAa,CACd,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC,CAAC;IAExD,uBAAuB;IACvB,MAAM,kBAAkB,GAAG,KAAK,EAAE,CAAsC,EAAE,EAAE;QAC1E,IAAI,cAAc,EAAE,CAAC;YACnB,uBAAuB,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC1C,MAAM,0CAA0B,CAAC,MAAM,EAAE,CAAC,gBAAgB,CACxD,cAAc,CACf,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;IAEF,uBAAuB;IACvB,MAAM,WAAW,GAAG,KAAK,IAAI,EAAE;QAC7B,MAAM,yBAAS,CAAC,KAAK,CAAC,GAAG,CACvB,iCAAiB,CAAC,MAAM,EACxB,0CAA0B,CAAC,MAAM,EAAE,CACpC,CAAC;QACF,YAAY,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC,CAAC;IAEF,OAAO,CACL,6BAAK,SAAS,EAAC,qCAAqC,IACjD,aAAa,IAAI,CAChB;QACE,6BAAK,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO;YACjC,oBAAC,wCAAuB,IACtB,SAAS,EAAE,OAAO,EAClB,QAAQ,EAAE,0BAAc,EACxB,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,GACzC,CACE;QACN,oBAAC,qBAAS,CAAC,KAAK,IACd,MAAM,EAAE,SAAS,CAAC,OAAO,EACzB,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,EAClC,MAAM,EAAE,WAAW;YAEnB,oBAAC,wBAAe,IACd,QAAQ,EAAE,oBAAC,wBAAe,CAAC,QAAQ,IAAC,KAAK,EAAE,OAAO,GAAI;gBAEtD,6BAAK,SAAS,EAAC,+BAA+B;oBAC5C,oBAAC,sBAAM,IAAC,OAAO,EAAE,WAAW,IACzB,SAAS,CAAC,oBAAoB,CAAC,CACzB;oBACT,6BAAK,SAAS,EAAC,qCAAqC;wBAClD,6BAAK,SAAS,EAAE,IAAA,oBAAU,EAAC,qBAAqB,CAAC,IAC9C,SAAS,CAAC,0BAA0B,CAAC,CAClC;wBACN,oBAAC,4BAAY,IACX,SAAS,EAAC,sBAAsB,EAChC,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,EAAE,oBAAoB,GAC7B,CACE,CACF,CACU,CACF,CACjB,CACJ,CACG,CACP,CAAC;AACJ,CAAC;AAzGD,kDAyGC","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 svgSectionTool from \"@bentley/icons-generic/icons/section-tool.svg\";\nimport type { ClipEventType, Viewport } from \"@itwin/core-frontend\";\nimport {\n IModelApp,\n ViewClipClearTool,\n ViewClipDecoration,\n ViewClipDecorationProvider,\n} from \"@itwin/core-frontend\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { Button, ToggleSwitch } from \"@itwin/itwinui-react\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { useActiveViewport } from \"../hooks/useActiveViewport\";\nimport { StatusBarLabelIndicator } from \"../statusbar/LabelIndicator\";\nimport { StatusBar } from \"../statusbar/StatusBar\";\nimport { StatusBarDialog } from \"../statusbar/dialog/Dialog\";\nimport \"./SectionsField.scss\";\nimport { useTranslation } from \"../hooks/useTranslation\";\n\n/** Sections Status Field Props\n * @beta\n */\nexport interface SectionsStatusFieldProps extends CommonProps {\n hideWhenUnused?: boolean;\n}\n\n/** Status Field for showing section extra tools for clearing and showing manipulators\n * @beta\n */\nexport function SectionsStatusField(props: SectionsStatusFieldProps) {\n const { translate } = useTranslation();\n const tooltip = translate(\"tools.sectionTools\");\n\n const activeViewport = useActiveViewport();\n const [showIndicator, setShowIndicator] = React.useState(false);\n const [isPopupOpen, setPopupOpen] = React.useState(false);\n const targetDiv = React.useRef<HTMLDivElement>(null);\n const classes = showIndicator ? \"uifw-field-fade-in\" : \"uifw-field-fade-out\";\n const [hasManipulatorsShown, setHasManipulatorsShown] = React.useState(false);\n\n React.useEffect(() => {\n // istanbul ignore next\n const onClipChanged = (\n viewport: Viewport,\n _eventType: ClipEventType,\n _provider: ViewClipDecorationProvider\n ) => {\n if (viewport !== activeViewport) return;\n\n setHasManipulatorsShown(!!ViewClipDecoration.get(activeViewport));\n const isClipActive = !!activeViewport.view.getViewClip();\n setShowIndicator(isClipActive || !props.hideWhenUnused);\n };\n\n const clipActive =\n !!activeViewport &&\n /* istanbul ignore next */ !!activeViewport.view.getViewClip();\n setShowIndicator(clipActive || !props.hideWhenUnused);\n setHasManipulatorsShown(\n clipActive &&\n /* istanbul ignore next */ !!activeViewport &&\n /* istanbul ignore next */ !!ViewClipDecoration.get(activeViewport)\n );\n\n ViewClipDecorationProvider.create().onActiveClipChanged.addListener(\n onClipChanged\n );\n return () => {\n // Get or create static ViewClipDecorationProvider\n ViewClipDecorationProvider.create().onActiveClipChanged.removeListener(\n onClipChanged\n );\n };\n }, [activeViewport, props.hideWhenUnused, isPopupOpen]);\n\n // istanbul ignore next\n const toggleManipulators = async (e: React.ChangeEvent<HTMLInputElement>) => {\n if (activeViewport) {\n setHasManipulatorsShown(e.target.checked);\n await ViewClipDecorationProvider.create().toggleDecoration(\n activeViewport\n );\n }\n };\n\n // istanbul ignore next\n const handleClear = async () => {\n await IModelApp.tools.run(\n ViewClipClearTool.toolId,\n ViewClipDecorationProvider.create()\n );\n setPopupOpen(false);\n };\n\n return (\n <div className=\"uifw-section-footer-popup-container\">\n {showIndicator && (\n <>\n <div ref={targetDiv} title={tooltip}>\n <StatusBarLabelIndicator\n className={classes}\n iconSpec={svgSectionTool}\n onClick={() => setPopupOpen(!isPopupOpen)}\n />\n </div>\n <StatusBar.Popup\n target={targetDiv.current}\n onClose={() => setPopupOpen(false)}\n isOpen={isPopupOpen}\n >\n <StatusBarDialog\n titleBar={<StatusBarDialog.TitleBar title={tooltip} />}\n >\n <div className=\"uifw-sections-footer-contents\">\n <Button onClick={handleClear}>\n {translate(\"tools.sectionClear\")}\n </Button>\n <div className=\"uifw-uifw-sections-toggle-container\">\n <div className={classnames(\"uifw-sections-label\")}>\n {translate(\"tools.sectionShowHandles\")}\n </div>\n <ToggleSwitch\n className=\"uifw-sections-toggle\"\n onChange={toggleManipulators}\n checked={hasManipulatorsShown}\n />\n </div>\n </div>\n </StatusBarDialog>\n </StatusBar.Popup>\n </>\n )}\n </div>\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"SelectionCount.js","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/SelectionCount.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAIH,kDAAyC;AACzC,oEAAuD;AACvD,2CAAoC;AACpC,+BAA+B;AAC/B,0DAA6D;AAC7D,iCAA+B;AAS/B;;;GAGG;AACH,SAAgB,mBAAmB,CAAC,KAA+B;IACjE,MAAM,SAAS,GAAG,IAAA,oBAAU,EAC1B,kCAAkC,EAClC,KAAK,CAAC,SAAS,CAChB,CAAC;IACF,OAAO,CACL,oBAAC,2BAAe,IAAC,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK;QACvD,oBAAC,iBAAI,IAAC,QAAQ,EAAE,oBAAC,+BAAS,OAAG,GAAI;QAChC,KAAK,CAAC,KAAK,CACI,CACnB,CAAC;AACJ,CAAC;AAXD,kDAWC;AASD;;GAEG;AACH,SAAgB,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;YACX,OAAO,CAAC,CAAC,CAAC,CAAC;YACX,OAAO;SACR;QACD,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IACb,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,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;AAjBD,kDAiBC","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 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 * as React from \"react\";\nimport { FooterIndicator } from \"../layout/footer/Indicator\";\nimport \"./SelectionCount.scss\";\n\n/** Properties for the [[SelectionCountField]] component.\n * @beta\n */\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 className = classnames(\n \"uifw-statusFields-selectionCount\",\n props.className\n );\n return (\n <FooterIndicator className={className} style={props.style}>\n <Icon iconSpec={<SvgCursor />} />\n {props.count}\n </FooterIndicator>\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 }, [iModel]);\n React.useEffect(() => {\n if (!iModel) return;\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;;;AAIH,kDAAyC;AACzC,oEAAuD;AACvD,2CAAoC;AACpC,+BAA+B;AAC/B,0DAA6D;AAC7D,iCAA+B;AAS/B;;;GAGG;AACH,SAAgB,mBAAmB,CAAC,KAA+B;IACjE,MAAM,SAAS,GAAG,IAAA,oBAAU,EAC1B,kCAAkC,EAClC,KAAK,CAAC,SAAS,CAChB,CAAC;IACF,OAAO,CACL,oBAAC,2BAAe,IAAC,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK;QACvD,oBAAC,iBAAI,IAAC,QAAQ,EAAE,oBAAC,+BAAS,OAAG,GAAI;QAChC,KAAK,CAAC,KAAK,CACI,CACnB,CAAC;AACJ,CAAC;AAXD,kDAWC;AASD;;GAEG;AACH,SAAgB,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;IACpC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IACb,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,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;AAjBD,kDAiBC","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 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 * as React from \"react\";\nimport { FooterIndicator } from \"../layout/footer/Indicator\";\nimport \"./SelectionCount.scss\";\n\n/** Properties for the [[SelectionCountField]] component.\n * @beta\n */\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 className = classnames(\n \"uifw-statusFields-selectionCount\",\n props.className\n );\n return (\n <FooterIndicator className={className} style={props.style}>\n <Icon iconSpec={<SvgCursor />} />\n {props.count}\n </FooterIndicator>\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 }, [iModel]);\n React.useEffect(() => {\n if (!iModel) return;\n return iModel.selectionSet.onChanged.addListener((ev) => {\n setSize(ev.set.size);\n });\n }, [iModel]);\n return size;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"SelectionScope.js","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/SelectionScope.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAGH,wDAAqD;AACrD,2CAAoC;AACpC,+BAA+B;AAE/B,6CAAsC;AACtC,gDAA6C;AAC7C,0DAA6D;AAE7D,iCAA+B;AAC/B,4DAAyD;AAUzD;;GAEG;AACH,SAAS,4BAA4B,CAAC,KAA+B;IACnE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,+BAAc,GAAE,CAAC;IAEvC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAC3B,GAAG,EAAE,CACH,KAAK,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAC3C,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;IACjD,CAAC,CAAC,EACJ,CAAC,KAAK,CAAC,wBAAwB,CAAC,CACjC,CAAC;IAEF,MAAM,iBAAiB,GAAG,CAAC,QAAgB,EAAE,EAAE;QAC7C,uBAAuB;QACvB,IAAI,QAAQ,EAAE;YACZ,yBAAW,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;SAC/C;IACH,CAAC,CAAC;IAEF,OAAO,CACL,oBAAC,2BAAe,IACd,SAAS,EAAE,IAAA,oBAAU,EACnB,kCAAkC,EAClC,KAAK,CAAC,SAAS,CAChB,EACD,KAAK,EAAE,KAAK,CAAC,KAAK;QAElB,oBAAC,qBAAK,IAAC,SAAS,EAAC,wCAAwC;YACtD,SAAS,CAAC,2BAA2B,CAAC;gBACjC;QACR,oBAAC,sBAAM,IACL,SAAS,EAAC,2CAA2C,EACrD,KAAK,EAAE,KAAK,CAAC,oBAAoB,EACjC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,iBAAiB,iBACf,oCAAoC,EAChD,KAAK,EAAE,SAAS,CAAC,6BAA6B,CAAC,EAC/C,IAAI,EAAC,OAAO,GACZ,CACc,CACnB,CAAC;AACJ,CAAC;AAED,+GAA+G;AAC/G,SAAS,eAAe,CAAC,KAAU;IACjC,MAAM,cAAc,GAAG,KAAK,CAAC,yBAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC,8CAA8C;IAC3G,0BAA0B;IAC1B,IAAI,CAAC,cAAc;QAAE,OAAO,SAAS,CAAC;IAEtC,OAAO;QACL,oBAAoB,EAAE,cAAc,CAAC,YAAY,CAAC,oBAAoB;QACtE,wBAAwB,EACtB,cAAc,CAAC,YAAY,CAAC,wBAAwB;KACvD,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACU,QAAA,mBAAmB,GAG5B,IAAA,qBAAO,EAAC,eAAe,CAAC,CAAC,4BAA4B,CAAC,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 type { CommonProps } from \"@itwin/core-react\";\nimport { Label, Select } from \"@itwin/itwinui-react\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { ConnectedComponent } from \"react-redux\";\nimport { connect } from \"react-redux\";\nimport { UiFramework } from \"../UiFramework\";\nimport { FooterIndicator } from \"../layout/footer/Indicator\";\nimport type { PresentationSelectionScope } from \"../redux/SessionState\";\nimport \"./SelectionScope.scss\";\nimport { useTranslation } from \"../hooks/useTranslation\";\n\n/** Defines properties supported by the SelectionScopeField Component.\n * @public\n */\ninterface SelectionScopeFieldProps extends CommonProps {\n activeSelectionScope: string;\n availableSelectionScopes: PresentationSelectionScope[];\n}\n\n/**\n * Status Field React component. This component is designed to be specified in a status bar definition.\n */\nfunction SelectionScopeFieldComponent(props: SelectionScopeFieldProps) {\n const { translate } = useTranslation();\n\n const options = React.useMemo(\n () =>\n props.availableSelectionScopes.map((scope) => {\n return { value: scope.id, label: scope.label };\n }),\n [props.availableSelectionScopes]\n );\n\n const updateSelectValue = (newValue: string) => {\n // istanbul ignore else\n if (newValue) {\n UiFramework.setActiveSelectionScope(newValue);\n }\n };\n\n return (\n <FooterIndicator\n className={classnames(\n \"uifw-statusFields-selectionScope\",\n props.className\n )}\n style={props.style}\n >\n <Label className=\"uifw-statusFields-selectionScope-label\">\n {translate(\"selectionScopeField.label\")}:\n </Label>\n <Select\n className=\"uifw-statusFields-selectionScope-selector\"\n value={props.activeSelectionScope}\n options={options}\n onChange={updateSelectValue}\n data-testid=\"components-selectionScope-selector\"\n title={translate(\"selectionScopeField.toolTip\")}\n size=\"small\"\n />\n </FooterIndicator>\n );\n}\n\n/** Function used by Redux to map state data in Redux store to props that are used to render this component. */\nfunction mapStateToProps(state: any) {\n const frameworkState = state[UiFramework.frameworkStateKey]; // since app sets up key, don't hard-code name\n /* istanbul ignore next */\n if (!frameworkState) return undefined;\n\n return {\n activeSelectionScope: frameworkState.sessionState.activeSelectionScope,\n availableSelectionScopes:\n frameworkState.sessionState.availableSelectionScopes,\n };\n}\n\n/**\n * SelectionScopeField React component. This component is designed to be specified in a status bar definition. It will\n * display the active selection scope from `UiFramework.getActiveSelectionScope()`, and display the stored list of scopes from\n * `UiFramework.getAvailableSelectionScopes()` to allow the user to change the active selection scope, using `UiFramework.setActiveSelectionScope()`.\n * This React component is Redux connected.\n * @public\n */\nexport const SelectionScopeField: ConnectedComponent<\n typeof SelectionScopeFieldComponent,\n CommonProps\n> = connect(mapStateToProps)(SelectionScopeFieldComponent);\n"]}
1
+ {"version":3,"file":"SelectionScope.js","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/SelectionScope.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAGH,wDAAqD;AACrD,2CAAoC;AACpC,+BAA+B;AAE/B,6CAAsC;AACtC,gDAA6C;AAC7C,0DAA6D;AAE7D,iCAA+B;AAC/B,4DAAyD;AAUzD;;GAEG;AACH,SAAS,4BAA4B,CAAC,KAA+B;IACnE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,+BAAc,GAAE,CAAC;IAEvC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAC3B,GAAG,EAAE,CACH,KAAK,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAC3C,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;IACjD,CAAC,CAAC,EACJ,CAAC,KAAK,CAAC,wBAAwB,CAAC,CACjC,CAAC;IAEF,MAAM,iBAAiB,GAAG,CAAC,QAAgB,EAAE,EAAE;QAC7C,uBAAuB;QACvB,IAAI,QAAQ,EAAE,CAAC;YACb,yBAAW,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;QAChD,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,oBAAC,2BAAe,IACd,SAAS,EAAE,IAAA,oBAAU,EACnB,kCAAkC,EAClC,KAAK,CAAC,SAAS,CAChB,EACD,KAAK,EAAE,KAAK,CAAC,KAAK;QAElB,oBAAC,qBAAK,IAAC,SAAS,EAAC,wCAAwC;YACtD,SAAS,CAAC,2BAA2B,CAAC;gBACjC;QACR,oBAAC,sBAAM,IACL,SAAS,EAAC,2CAA2C,EACrD,KAAK,EAAE,KAAK,CAAC,oBAAoB,EACjC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,iBAAiB,iBACf,oCAAoC,EAChD,KAAK,EAAE,SAAS,CAAC,6BAA6B,CAAC,EAC/C,IAAI,EAAC,OAAO,GACZ,CACc,CACnB,CAAC;AACJ,CAAC;AAED,+GAA+G;AAC/G,SAAS,eAAe,CAAC,KAAU;IACjC,MAAM,cAAc,GAAG,KAAK,CAAC,yBAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC,8CAA8C;IAC3G,0BAA0B;IAC1B,IAAI,CAAC,cAAc;QAAE,OAAO,SAAS,CAAC;IAEtC,OAAO;QACL,oBAAoB,EAAE,cAAc,CAAC,YAAY,CAAC,oBAAoB;QACtE,wBAAwB,EACtB,cAAc,CAAC,YAAY,CAAC,wBAAwB;KACvD,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACU,QAAA,mBAAmB,GAG5B,IAAA,qBAAO,EAAC,eAAe,CAAC,CAAC,4BAA4B,CAAC,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 type { CommonProps } from \"@itwin/core-react\";\nimport { Label, Select } from \"@itwin/itwinui-react\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { ConnectedComponent } from \"react-redux\";\nimport { connect } from \"react-redux\";\nimport { UiFramework } from \"../UiFramework\";\nimport { FooterIndicator } from \"../layout/footer/Indicator\";\nimport type { PresentationSelectionScope } from \"../redux/SessionState\";\nimport \"./SelectionScope.scss\";\nimport { useTranslation } from \"../hooks/useTranslation\";\n\n/** Defines properties supported by the SelectionScopeField Component.\n * @public\n */\ninterface SelectionScopeFieldProps extends CommonProps {\n activeSelectionScope: string;\n availableSelectionScopes: PresentationSelectionScope[];\n}\n\n/**\n * Status Field React component. This component is designed to be specified in a status bar definition.\n */\nfunction SelectionScopeFieldComponent(props: SelectionScopeFieldProps) {\n const { translate } = useTranslation();\n\n const options = React.useMemo(\n () =>\n props.availableSelectionScopes.map((scope) => {\n return { value: scope.id, label: scope.label };\n }),\n [props.availableSelectionScopes]\n );\n\n const updateSelectValue = (newValue: string) => {\n // istanbul ignore else\n if (newValue) {\n UiFramework.setActiveSelectionScope(newValue);\n }\n };\n\n return (\n <FooterIndicator\n className={classnames(\n \"uifw-statusFields-selectionScope\",\n props.className\n )}\n style={props.style}\n >\n <Label className=\"uifw-statusFields-selectionScope-label\">\n {translate(\"selectionScopeField.label\")}:\n </Label>\n <Select\n className=\"uifw-statusFields-selectionScope-selector\"\n value={props.activeSelectionScope}\n options={options}\n onChange={updateSelectValue}\n data-testid=\"components-selectionScope-selector\"\n title={translate(\"selectionScopeField.toolTip\")}\n size=\"small\"\n />\n </FooterIndicator>\n );\n}\n\n/** Function used by Redux to map state data in Redux store to props that are used to render this component. */\nfunction mapStateToProps(state: any) {\n const frameworkState = state[UiFramework.frameworkStateKey]; // since app sets up key, don't hard-code name\n /* istanbul ignore next */\n if (!frameworkState) return undefined;\n\n return {\n activeSelectionScope: frameworkState.sessionState.activeSelectionScope,\n availableSelectionScopes:\n frameworkState.sessionState.availableSelectionScopes,\n };\n}\n\n/**\n * SelectionScopeField React component. This component is designed to be specified in a status bar definition. It will\n * display the active selection scope from `UiFramework.getActiveSelectionScope()`, and display the stored list of scopes from\n * `UiFramework.getAvailableSelectionScopes()` to allow the user to change the active selection scope, using `UiFramework.setActiveSelectionScope()`.\n * This React component is Redux connected.\n * @public\n */\nexport const SelectionScopeField: ConnectedComponent<\n typeof SelectionScopeFieldComponent,\n CommonProps\n> = connect(mapStateToProps)(SelectionScopeFieldComponent);\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"SnapMode.js","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/SnapMode.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,wFAA+E;AAC/E,oFAA2E;AAC3E,gGAAuF;AACvF,wFAA+E;AAC/E,sFAA6E;AAC7E,oFAA2E;AAC3E,sEAAsE;AACtE,wDAAgD;AAEhD,kDAAyC;AACzC,+BAA+B;AAC/B,6CAAsC;AACtC,gDAA6C;AAC7C,4DAAiE;AACjE,0DAAuD;AACvD,gEAAsE;AACtE,4DAAyD;AAiBzD,SAAS,mBAAmB,CAAC,QAAgB;IAC3C,IAAI,QAAQ,GAAG,mBAAgB,CAAC;IAChC,QAAQ,QAAQ,EAAE;QAChB,KAAK,OAAO;YACV,QAAQ,GAAG,mBAAgB,CAAC;YAC5B,MAAM;QACR,KAAK,oBAAoB;YACvB,QAAQ,GAAG,gCAAoB,CAAC;YAChC,MAAM;QACR,KAAK,cAAc;YACjB,QAAQ,GAAG,0BAAc,CAAC;YAC1B,MAAM;QACR,KAAK,eAAe;YAClB,QAAQ,GAAG,2BAAe,CAAC;YAC3B,MAAM;QACR,KAAK,cAAc;YACjB,QAAQ,GAAG,0BAAc,CAAC;YAC1B,MAAM;QACR,KAAK,gBAAgB;YACnB,QAAQ,GAAG,4BAAgB,CAAC;YAC5B,MAAM;QACR,KAAK,gBAAgB;YACnB,QAAQ,GAAG,4BAAgB,CAAC;YAC5B,MAAM;KACT;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;GAGG;AACH,SAAS,sBAAsB,CAAC,KAAyB;IACvD,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,+BAAc,GAAE,CAAC;IAEvC,MAAM,SAAS,GAAyB;QACtC;YACE,KAAK,EAAE,SAAS,CAAC,wBAAwB,CAAC;YAC1C,KAAK,EAAE,wBAAQ,CAAC,eAAyB;YACzC,QAAQ,EAAE,OAAO;SAClB;QACD;YACE,KAAK,EAAE,SAAS,CAAC,4BAA4B,CAAC;YAC9C,KAAK,EAAE,wBAAQ,CAAC,YAAsB;YACtC,QAAQ,EAAE,oBAAoB;SAC/B;QACD;YACE,KAAK,EAAE,SAAS,CAAC,sBAAsB,CAAC;YACxC,KAAK,EAAE,wBAAQ,CAAC,MAAgB;YAChC,QAAQ,EAAE,cAAc;SACzB;QACD;YACE,KAAK,EAAE,SAAS,CAAC,uBAAuB,CAAC;YACzC,KAAK,EAAE,wBAAQ,CAAC,OAAiB;YACjC,QAAQ,EAAE,eAAe;SAC1B;QACD;YACE,KAAK,EAAE,SAAS,CAAC,sBAAsB,CAAC;YACxC,KAAK,EAAE,wBAAQ,CAAC,MAAgB;YAChC,QAAQ,EAAE,cAAc;SACzB;QACD;YACE,KAAK,EAAE,SAAS,CAAC,wBAAwB,CAAC;YAC1C,KAAK,EAAE,wBAAQ,CAAC,QAAkB;YAClC,QAAQ,EAAE,gBAAgB;SAC3B;QACD;YACE,KAAK,EAAE,SAAS,CAAC,wBAAwB,CAAC;YAC1C,KAAK,EAAE,wBAAQ,CAAC,QAAkB;YAClC,QAAQ,EAAE,gBAAgB;SAC3B;KACF,CAAC;IAEF,sDAAsD;IACtD,MAAM,2BAA2B,GAAG,CAAC,QAAgB,EAAE,EAAE;QACvD,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE;YAC5B,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ;gBAAE,OAAO,IAAI,CAAC,QAAQ,CAAC;SACnD;QAED,0BAA0B;QAC1B,IAAI,QAAQ,GAAG,CAAC;YAAE,OAAO,gBAAgB,CAAC;QAE1C,0BAA0B;QAC1B,OAAO,aAAa,CAAC;IACvB,CAAC,CAAC;IAEF,MAAM,KAAK,GAAG,SAAS,CAAC,wBAAwB,CAAC,CAAC;IAClD,OAAO,CACL,oBAAC,wCAAuB,IACtB,QAAQ,EAAE,mBAAmB,CAC3B,2BAA2B,CAAC,KAAK,CAAC,QAAQ,CAAC,CAC5C,EACD,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK,EACZ,KAAK,EACH,oBAAC,qBAAa,IAAC,KAAK,EAAE,KAAK,IACxB,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAC9B,oBAAC,WAAI,IACH,GAAG,EAAE,MAAM,KAAK,EAAE,EAClB,OAAO,EAAE,GAAG,EAAE,CAAC,yBAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,EAC1D,QAAQ,EAAE,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,EACtD,IAAI,EACF,oBAAC,iBAAI,IACH,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,GAC5C,IAGH,IAAI,CAAC,KAAK,CACN,CACR,CAAC,CACY,GAElB,CACH,CAAC;AACJ,CAAC;AAED,+GAA+G;AAC/G,SAAS,eAAe,CAAC,KAAU;IACjC,MAAM,cAAc,GAAG,KAAK,CAAC,yBAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC,8CAA8C;IAC3G,0BAA0B;IAC1B,IAAI,CAAC,cAAc;QAAE,OAAO,SAAS,CAAC;IAEtC,OAAO,EAAE,QAAQ,EAAE,cAAc,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC;AACnE,CAAC;AAED,4EAA4E;AAC5E;;;;;GAKG;AACU,QAAA,aAAa,GAAG,IAAA,qBAAO,EAAC,eAAe,CAAC,CAAC,sBAAsB,CAAC,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 snapModeBisector from \"@bentley/icons-generic/icons/snaps-bisector.svg\";\nimport snapModeCenter from \"@bentley/icons-generic/icons/snaps-center.svg\";\nimport snapModeIntersection from \"@bentley/icons-generic/icons/snaps-intersection.svg\";\nimport snapModeMidpoint from \"@bentley/icons-generic/icons/snaps-midpoint.svg\";\nimport snapModeNearest from \"@bentley/icons-generic/icons/snaps-nearest.svg\";\nimport snapModeOrigin from \"@bentley/icons-generic/icons/snaps-origin.svg\";\nimport snapModeKeypoint from \"@bentley/icons-generic/icons/snaps.svg\";\nimport { SnapMode } from \"@itwin/core-frontend\";\nimport type { CommonProps, IconSpec } from \"@itwin/core-react\";\nimport { Icon } from \"@itwin/core-react\";\nimport * as React from \"react\";\nimport { connect } from \"react-redux\";\nimport { UiFramework } from \"../UiFramework\";\nimport { SnapModePanel } from \"../layout/footer/snap-mode/Panel\";\nimport { Snap } from \"../layout/footer/snap-mode/Snap\";\nimport { StatusBarLabelIndicator } from \"../statusbar/LabelIndicator\";\nimport { useTranslation } from \"../hooks/useTranslation\";\n\n// cSpell:ignore multione\n\n/** Defines properties supported by the SnapMode Field Component.\n */\ninterface SnapModeFieldProps extends CommonProps {\n snapMode: number;\n}\n\n/** Define the properties that will be used to represent the available snap modes. */\ninterface SnapModeFieldEntry {\n label: string;\n value: number;\n iconName: string;\n}\n\nfunction getIconFromIconName(iconName: string): IconSpec {\n let iconSpec = snapModeKeypoint;\n switch (iconName) {\n case \"snaps\":\n iconSpec = snapModeKeypoint;\n break;\n case \"snaps-intersection\":\n iconSpec = snapModeIntersection;\n break;\n case \"snaps-center\":\n iconSpec = snapModeCenter;\n break;\n case \"snaps-nearest\":\n iconSpec = snapModeNearest;\n break;\n case \"snaps-origin\":\n iconSpec = snapModeOrigin;\n break;\n case \"snaps-midpoint\":\n iconSpec = snapModeMidpoint;\n break;\n case \"snaps-bisector\":\n iconSpec = snapModeBisector;\n break;\n }\n return iconSpec;\n}\n\n/**\n * Snap Mode Field React component. This component is designed to be specified in a status bar definition. It will\n * display the active snap mode that AccuSnap will use and allow the user to select a new snap mode.\n */\nfunction SnapModeFieldComponent(props: SnapModeFieldProps) {\n const { translate } = useTranslation();\n\n const snapModes: SnapModeFieldEntry[] = [\n {\n label: translate(\"snapModeField.keypoint\"),\n value: SnapMode.NearestKeypoint as number,\n iconName: \"snaps\",\n },\n {\n label: translate(\"snapModeField.intersection\"),\n value: SnapMode.Intersection as number,\n iconName: \"snaps-intersection\",\n },\n {\n label: translate(\"snapModeField.center\"),\n value: SnapMode.Center as number,\n iconName: \"snaps-center\",\n },\n {\n label: translate(\"snapModeField.nearest\"),\n value: SnapMode.Nearest as number,\n iconName: \"snaps-nearest\",\n },\n {\n label: translate(\"snapModeField.origin\"),\n value: SnapMode.Origin as number,\n iconName: \"snaps-origin\",\n },\n {\n label: translate(\"snapModeField.midpoint\"),\n value: SnapMode.MidPoint as number,\n iconName: \"snaps-midpoint\",\n },\n {\n label: translate(\"snapModeField.bisector\"),\n value: SnapMode.Bisector as number,\n iconName: \"snaps-bisector\",\n },\n ];\n\n /** Return icon class name for a specific snapMode. */\n const getSnapModeIconNameFromMode = (snapMode: number) => {\n for (const mode of snapModes) {\n if (mode.value === snapMode) return mode.iconName;\n }\n\n /* istanbul ignore else */\n if (snapMode > 0) return \"snaps-multione\";\n\n /* istanbul ignore next */\n return \"placeholder\";\n };\n\n const title = translate(\"snapModeField.snapMode\");\n return (\n <StatusBarLabelIndicator\n iconSpec={getIconFromIconName(\n getSnapModeIconNameFromMode(props.snapMode)\n )}\n title={title}\n label={title}\n popup={\n <SnapModePanel title={title}>\n {snapModes.map((item, index) => (\n <Snap\n key={`SM_${index}`}\n onClick={() => UiFramework.setAccudrawSnapMode(item.value)}\n isActive={(props.snapMode & item.value) === item.value}\n icon={\n <Icon\n className={`icon`}\n iconSpec={getIconFromIconName(item.iconName)}\n />\n }\n >\n {item.label}\n </Snap>\n ))}\n </SnapModePanel>\n }\n />\n );\n}\n\n/** Function used by Redux to map state data in Redux store to props that are used to render this component. */\nfunction mapStateToProps(state: any) {\n const frameworkState = state[UiFramework.frameworkStateKey]; // since app sets up key, don't hard-code name\n /* istanbul ignore next */\n if (!frameworkState) return undefined;\n\n return { snapMode: frameworkState.configurableUiState.snapMode };\n}\n\n// we declare the variable and export that rather than using export default.\n/**\n * Snap Mode Field React component. This component is designed to be specified in a status bar definition. It will\n * display the active snap mode that AccuSnap will use and allow the user to select a new snap mode.\n * This Field React component is Redux connected.\n * @public\n */\nexport const SnapModeField = connect(mapStateToProps)(SnapModeFieldComponent);\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 snapModeBisector from \"@bentley/icons-generic/icons/snaps-bisector.svg\";\nimport snapModeCenter from \"@bentley/icons-generic/icons/snaps-center.svg\";\nimport snapModeIntersection from \"@bentley/icons-generic/icons/snaps-intersection.svg\";\nimport snapModeMidpoint from \"@bentley/icons-generic/icons/snaps-midpoint.svg\";\nimport snapModeNearest from \"@bentley/icons-generic/icons/snaps-nearest.svg\";\nimport snapModeOrigin from \"@bentley/icons-generic/icons/snaps-origin.svg\";\nimport snapModeKeypoint from \"@bentley/icons-generic/icons/snaps.svg\";\nimport { SnapMode } from \"@itwin/core-frontend\";\nimport type { CommonProps, IconSpec } from \"@itwin/core-react\";\nimport { Icon } from \"@itwin/core-react\";\nimport * as React from \"react\";\nimport { connect } from \"react-redux\";\nimport { UiFramework } from \"../UiFramework\";\nimport { SnapModePanel } from \"../layout/footer/snap-mode/Panel\";\nimport { Snap } from \"../layout/footer/snap-mode/Snap\";\nimport { StatusBarLabelIndicator } from \"../statusbar/LabelIndicator\";\nimport { useTranslation } from \"../hooks/useTranslation\";\n\n// cSpell:ignore multione\n\n/** Defines properties supported by the SnapMode Field Component.\n */\ninterface SnapModeFieldProps extends CommonProps {\n snapMode: number;\n}\n\n/** Define the properties that will be used to represent the available snap modes. */\ninterface SnapModeFieldEntry {\n label: string;\n value: number;\n iconName: string;\n}\n\nfunction getIconFromIconName(iconName: string): IconSpec {\n let iconSpec = snapModeKeypoint;\n switch (iconName) {\n case \"snaps\":\n iconSpec = snapModeKeypoint;\n break;\n case \"snaps-intersection\":\n iconSpec = snapModeIntersection;\n break;\n case \"snaps-center\":\n iconSpec = snapModeCenter;\n break;\n case \"snaps-nearest\":\n iconSpec = snapModeNearest;\n break;\n case \"snaps-origin\":\n iconSpec = snapModeOrigin;\n break;\n case \"snaps-midpoint\":\n iconSpec = snapModeMidpoint;\n break;\n case \"snaps-bisector\":\n iconSpec = snapModeBisector;\n break;\n }\n return iconSpec;\n}\n\n/**\n * Snap Mode Field React component. This component is designed to be specified in a status bar definition. It will\n * display the active snap mode that AccuSnap will use and allow the user to select a new snap mode.\n */\nfunction SnapModeFieldComponent(props: SnapModeFieldProps) {\n const { translate } = useTranslation();\n\n const snapModes: SnapModeFieldEntry[] = [\n {\n label: translate(\"snapModeField.keypoint\"),\n value: SnapMode.NearestKeypoint as number,\n iconName: \"snaps\",\n },\n {\n label: translate(\"snapModeField.intersection\"),\n value: SnapMode.Intersection as number,\n iconName: \"snaps-intersection\",\n },\n {\n label: translate(\"snapModeField.center\"),\n value: SnapMode.Center as number,\n iconName: \"snaps-center\",\n },\n {\n label: translate(\"snapModeField.nearest\"),\n value: SnapMode.Nearest as number,\n iconName: \"snaps-nearest\",\n },\n {\n label: translate(\"snapModeField.origin\"),\n value: SnapMode.Origin as number,\n iconName: \"snaps-origin\",\n },\n {\n label: translate(\"snapModeField.midpoint\"),\n value: SnapMode.MidPoint as number,\n iconName: \"snaps-midpoint\",\n },\n {\n label: translate(\"snapModeField.bisector\"),\n value: SnapMode.Bisector as number,\n iconName: \"snaps-bisector\",\n },\n ];\n\n /** Return icon class name for a specific snapMode. */\n const getSnapModeIconNameFromMode = (snapMode: number) => {\n for (const mode of snapModes) {\n if (mode.value === snapMode) return mode.iconName;\n }\n\n /* istanbul ignore else */\n if (snapMode > 0) return \"snaps-multione\";\n\n /* istanbul ignore next */\n return \"placeholder\";\n };\n\n const title = translate(\"snapModeField.snapMode\");\n return (\n <StatusBarLabelIndicator\n iconSpec={getIconFromIconName(\n getSnapModeIconNameFromMode(props.snapMode)\n )}\n title={title}\n label={title}\n popup={\n <SnapModePanel title={title}>\n {snapModes.map((item, index) => (\n <Snap\n key={`SM_${index}`}\n onClick={() => UiFramework.setAccudrawSnapMode(item.value)}\n isActive={(props.snapMode & item.value) === item.value}\n icon={\n <Icon\n className={`icon`}\n iconSpec={getIconFromIconName(item.iconName)}\n />\n }\n >\n {item.label}\n </Snap>\n ))}\n </SnapModePanel>\n }\n />\n );\n}\n\n/** Function used by Redux to map state data in Redux store to props that are used to render this component. */\nfunction mapStateToProps(state: any) {\n const frameworkState = state[UiFramework.frameworkStateKey]; // since app sets up key, don't hard-code name\n /* istanbul ignore next */\n if (!frameworkState) return undefined;\n\n return { snapMode: frameworkState.configurableUiState.snapMode };\n}\n\n// we declare the variable and export that rather than using export default.\n/**\n * Snap Mode Field React component. This component is designed to be specified in a status bar definition. It will\n * display the active snap mode that AccuSnap will use and allow the user to select a new snap mode.\n * This Field React component is Redux connected.\n * @public\n */\nexport const SnapModeField = connect(mapStateToProps)(SnapModeFieldComponent);\n"]}
@@ -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 } from \"@itwin/itwinui-react\";\nimport { UiFramework } from \"../UiFramework\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { StatusBarLabelIndicator } from \"../statusbar/LabelIndicator\";\nimport { StatusBarDialog } from \"../statusbar/dialog/Dialog\";\nimport { SvgWindowSettings } from \"@itwin/itwinui-icons-react\";\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,\n ViewAttributesStatusFieldState\n> {\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 // istanbul ignore next\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 // istanbul ignore next\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 ? /* istanbul ignore next */ (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 <StatusBarLabelIndicator\n iconSpec={<SvgWindowSettings />}\n title={title}\n popup={\n <StatusBarDialog\n titleBar={<StatusBarDialog.TitleBar title={title} />}\n >\n {this.getViewFlags()}\n </StatusBarDialog>\n }\n />\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 } from \"@itwin/itwinui-react\";\nimport { UiFramework } from \"../UiFramework\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { StatusBarLabelIndicator } from \"../statusbar/LabelIndicator\";\nimport { StatusBarDialog } from \"../statusbar/dialog/Dialog\";\nimport { SvgWindowSettings } from \"@itwin/itwinui-icons-react\";\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,\n ViewAttributesStatusFieldState\n> {\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 // istanbul ignore next\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 // istanbul ignore next\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 ? /* istanbul ignore next */ (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 <StatusBarLabelIndicator\n iconSpec={<SvgWindowSettings />}\n title={title}\n popup={\n <StatusBarDialog\n titleBar={<StatusBarDialog.TitleBar title={title} />}\n >\n {this.getViewFlags()}\n </StatusBarDialog>\n }\n />\n );\n }\n}\n"]}
@@ -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 { Icon } from \"@itwin/core-react\";\nimport {\n Button,\n NotificationMarker,\n Popover,\n Tabs,\n} from \"@itwin/itwinui-react\";\nimport { SvgChat } from \"@itwin/itwinui-icons-react\";\nimport { OutputMessagePriority } from \"@itwin/core-frontend\";\n\nimport { MessageCenterMessage } from \"./MessageCenterMessage\";\nimport { MessageManager } from \"../../messages/MessageManager\";\nimport { TitleBar } from \"../../layout/footer/dialog/TitleBar\";\n\nimport type { NotifyMessageDetailsType } from \"../../messages/ReactNotifyMessageDetails\";\nimport \"./MessageCenterField.scss\";\nimport { useTranslation } from \"../../hooks/useTranslation\";\n\n/** Type for Status state to satisfy NotificationMarker type checking. */\ntype NotificationMarkerStatus = \"primary\" | \"negative\" | \"positive\";\n\nconst tabs = [\"all\", \"errors\"] as const;\n\n/** Message Center Field React component.\n * @public\n */\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 isProblemStatus = (message: NotifyMessageDetailsType): boolean => {\n // See priority values in DgnPlatform defined in NotificationManager\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 const determineStatus = () => {\n const message = [...MessageManager.messages].pop();\n\n if (message) {\n if (isProblemStatus(message)) {\n return setStatus(\"negative\");\n } else if (message.priority === OutputMessagePriority.Success) {\n return setStatus(\"positive\");\n } else {\n return setStatus(\"primary\");\n }\n }\n return;\n };\n\n MessageManager.registerAnimateOutToElement(indicatorRef.current);\n\n return MessageManager.onMessagesUpdatedEvent.addListener(() => {\n MessageManager.messages.length > 0 ? setNotify(true) : setNotify(false);\n setMessages(MessageManager.messages);\n determineStatus();\n });\n }, []);\n\n return (\n <Popover\n visible={isOpen}\n onVisibleChange={(visible) => handleOpenChange(visible)}\n placement=\"top\"\n middleware={{\n offset: 4,\n }}\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(isProblemStatus)\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 const iconClassName =\n MessageManager.getIconClassName(message);\n const iconSpec =\n MessageManager.getIconSpecFromDetails(message);\n\n return (\n <MessageCenterMessage\n key={index}\n message={message.briefMessage}\n details={message.detailedMessage}\n icon={\n <Icon\n iconSpec={iconSpec}\n className={iconClassName}\n />\n }\n />\n );\n })\n )}\n </Tabs.Panel>\n );\n })}\n </Tabs.Wrapper>\n </>\n }\n applyBackground\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 </Button>\n </Popover>\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 { Icon } from \"@itwin/core-react\";\nimport {\n Button,\n NotificationMarker,\n Popover,\n Tabs,\n} from \"@itwin/itwinui-react\";\nimport { SvgChat } from \"@itwin/itwinui-icons-react\";\nimport { OutputMessagePriority } from \"@itwin/core-frontend\";\n\nimport { MessageCenterMessage } from \"./MessageCenterMessage\";\nimport { MessageManager } from \"../../messages/MessageManager\";\nimport { TitleBar } from \"../../layout/footer/dialog/TitleBar\";\n\nimport type { NotifyMessageDetailsType } from \"../../messages/ReactNotifyMessageDetails\";\nimport \"./MessageCenterField.scss\";\nimport { useTranslation } from \"../../hooks/useTranslation\";\n\n/** Type for Status state to satisfy NotificationMarker type checking. */\ntype NotificationMarkerStatus = \"primary\" | \"negative\" | \"positive\";\n\nconst tabs = [\"all\", \"errors\"] as const;\n\n/** Message Center Field React component.\n * @public\n */\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 isProblemStatus = (message: NotifyMessageDetailsType): boolean => {\n // See priority values in DgnPlatform defined in NotificationManager\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 const determineStatus = () => {\n const message = [...MessageManager.messages].pop();\n\n if (message) {\n if (isProblemStatus(message)) {\n return setStatus(\"negative\");\n } else if (message.priority === OutputMessagePriority.Success) {\n return setStatus(\"positive\");\n } else {\n return setStatus(\"primary\");\n }\n }\n return;\n };\n\n MessageManager.registerAnimateOutToElement(indicatorRef.current);\n\n return MessageManager.onMessagesUpdatedEvent.addListener(() => {\n MessageManager.messages.length > 0 ? setNotify(true) : setNotify(false);\n setMessages(MessageManager.messages);\n determineStatus();\n });\n }, []);\n\n return (\n <Popover\n visible={isOpen}\n onVisibleChange={(visible) => handleOpenChange(visible)}\n placement=\"top\"\n middleware={{\n offset: 4,\n }}\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(isProblemStatus)\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 const iconClassName =\n MessageManager.getIconClassName(message);\n const iconSpec =\n MessageManager.getIconSpecFromDetails(message);\n\n return (\n <MessageCenterMessage\n key={index}\n message={message.briefMessage}\n details={message.detailedMessage}\n icon={\n <Icon\n iconSpec={iconSpec}\n className={iconClassName}\n />\n }\n />\n );\n })\n )}\n </Tabs.Panel>\n );\n })}\n </Tabs.Wrapper>\n </>\n }\n applyBackground\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 </Button>\n </Popover>\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"TileLoadingIndicator.js","sourceRoot":"","sources":["../../../../../src/appui-react/statusfields/tileloading/TileLoadingIndicator.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,uCAAqC;AACrC,2CAAoC;AACpC,+BAA+B;AAC/B,sDAA6C;AAE7C,wDAAiD;AACjD,wDAAsD;AACtD,mDAAgD;AAahD;;GAEG;AACH,MAAa,oBAAqB,SAAQ,KAAK,CAAC,aAG/C;IAIC,YAAY,KAAkB;QAC5B,KAAK,CAAC,KAAK,CAAC,CAAC;QAIP,kBAAa,GAAG,CAAC,EAAY,EAAE,EAAE;YACvC,MAAM,SAAS,GAAG,EAAE,CAAC,iBAAiB,CAAC;YACvC,MAAM,KAAK,GAAG,EAAE,CAAC,aAAa,CAAC;YAC/B,MAAM,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC;YAChC,MAAM,WAAW,GACf,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,0BAA0B,CAAC,GAAG,CAAC;YACrE,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;YACjC,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;YAEnC,uBAAuB;YACvB,IAAI,CAAC,OAAO,IAAI,KAAK,KAAK,CAAC,IAAI,WAAW,KAAK,GAAG;gBAAE,OAAO,GAAG,IAAI,CAAC;YAEnE,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,WAAW,KAAK,GAAG,CAAC;gBAAE,OAAO,GAAG,KAAK,CAAC;YAErE,IAAI,WAAW,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE;gBACpC,QAAQ,GAAG,IAAI,CAAC;gBAChB,qBAAM,CAAC,QAAQ,CACb,yBAAW,CAAC,cAAc,CAAC,IAAI,CAAC,EAChC,wBAAwB,CACzB,CAAC;gBACF,qBAAM,CAAC,QAAQ,CACb,yBAAW,CAAC,cAAc,CAAC,IAAI,CAAC,EAChC,0DAA0D,KAAK,MAAM,KAAK,EAAE,CAC7E,CAAC;aACH;YAED,uBAAuB;YACvB,IAAI,WAAW,KAAK,GAAG,IAAI,QAAQ;gBAAE,QAAQ,GAAG,KAAK,CAAC;YAEtD,IAAI,CAAC,QAAQ,CAAC;gBACZ,KAAK,EAAE,GAAG,KAAK,MAAM,KAAK,EAAE;gBAC5B,QAAQ,EAAE,WAAW;gBACrB,OAAO;gBACP,QAAQ;aACT,CAAC,CAAC;QACL,CAAC,CAAC;QAEM,YAAO,GAAG,CAAC,EAAY,EAAE,EAAE;YACjC,kDAAkD;YAClD,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3C,CAAC,CAAC;QAEM,gBAAW,GAAG,CAAC,EAAkB,EAAE,EAAE;YAC3C,uBAAuB;YACvB,IAAI,CAAC,uBAAuB,IAAI,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC/D,IAAI,CAAC,uBAAuB,GAAG,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvE,CAAC,CAAC;QAjDA,IAAI,CAAC,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC1E,CAAC;IAkDe,iBAAiB;QAC/B,uBAAuB;QACvB,IAAI,CAAC,yBAAS,CAAC,WAAW;YAAE,OAAO;QAEnC,wBAAwB;QACxB,MAAM,EAAE,GAAG,yBAAS,CAAC,WAAW,CAAC,YAAY,CAAC;QAE9C,sGAAsG;QACtG,uBAAuB;QACvB,IAAI,EAAE,EAAE;YACN,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;SACtB;aAAM;YACL,IAAI,CAAC,uBAAuB;gBAC1B,yBAAS,CAAC,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SAClE;IACH,CAAC;IAEe,oBAAoB;QAClC,uBAAuB;QACvB,IAAI,CAAC,yBAAS,CAAC,WAAW;YAAE,OAAO;QAEnC,uBAAuB;QACvB,IAAI,IAAI,CAAC,uBAAuB;YAAE,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAEjE,uBAAuB;QACvB,IAAI,IAAI,CAAC,uBAAuB;YAAE,IAAI,CAAC,uBAAuB,EAAE,CAAC;IACnE,CAAC;IAED,mCAAmC;IACnB,MAAM;QACpB,MAAM,OAAO,GAAG,IAAA,oBAAU,EACxB,uBAAuB,EACvB,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,+BAA+B,EACrD,IAAI,CAAC,KAAK,CAAC,SAAS,CACrB,CAAC;QACF,OAAO,CACL,6BAAK,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;YAC9C,kCAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAQ;YAC/B,oBAAC,8BAAc,IACb,SAAS,EAAC,yBAAyB,EACnC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,GAC1B,CACE,CACP,CAAC;IACJ,CAAC;CACF;AAzGD,oDAyGC","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\";\nimport type { CommonProps } from \"@itwin/core-react\";\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,\n TileLoadingIndicatorState\n> {\n private _removeViewOpenListener?: () => void;\n private _removeOnRenderListener?: () => void;\n\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 =\n total > 0 ? (ready / total) * 100 : /* istanbul ignore next */ 100;\n let enabled = this.state.enabled;\n let finished = this.state.finished;\n\n // istanbul ignore else\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(this),\n `Tiles Finished Loading`\n );\n Logger.logTrace(\n UiFramework.loggerCategory(this),\n `Tiles Load Report (tiles finished / tiles requested): ${ready} / ${total}`\n );\n }\n\n // istanbul ignore else\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 _update = (vp: Viewport) => {\n // set progress animation before the next repaint.\n setTimeout(() => this._refreshState(vp));\n };\n\n private _onViewOpen = (vp: ScreenViewport) => {\n // istanbul ignore next\n this._removeOnRenderListener && this._removeOnRenderListener();\n this._removeOnRenderListener = vp.onRender.addListener(this._update);\n };\n\n public override componentDidMount() {\n // istanbul ignore next\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 // istanbul ignore else\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 // istanbul ignore next\n if (!IModelApp.viewManager) return;\n\n // istanbul ignore next\n if (this._removeViewOpenListener) this._removeViewOpenListener();\n\n // istanbul ignore else\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\";\nimport type { CommonProps } from \"@itwin/core-react\";\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,\n TileLoadingIndicatorState\n> {\n private _removeViewOpenListener?: () => void;\n private _removeOnRenderListener?: () => void;\n\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 =\n total > 0 ? (ready / total) * 100 : /* istanbul ignore next */ 100;\n let enabled = this.state.enabled;\n let finished = this.state.finished;\n\n // istanbul ignore else\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(this),\n `Tiles Finished Loading`\n );\n Logger.logTrace(\n UiFramework.loggerCategory(this),\n `Tiles Load Report (tiles finished / tiles requested): ${ready} / ${total}`\n );\n }\n\n // istanbul ignore else\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 _update = (vp: Viewport) => {\n // set progress animation before the next repaint.\n setTimeout(() => this._refreshState(vp));\n };\n\n private _onViewOpen = (vp: ScreenViewport) => {\n // istanbul ignore next\n this._removeOnRenderListener && this._removeOnRenderListener();\n this._removeOnRenderListener = vp.onRender.addListener(this._update);\n };\n\n public override componentDidMount() {\n // istanbul ignore next\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 // istanbul ignore else\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 // istanbul ignore next\n if (!IModelApp.viewManager) return;\n\n // istanbul ignore next\n if (this._removeViewOpenListener) this._removeViewOpenListener();\n\n // istanbul ignore else\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"]}
@@ -455,6 +455,7 @@ class ToolAssistanceField extends React.Component {
455
455
  React.createElement(core_react_1.FillCentered, null, key)));
456
456
  }
457
457
  }
458
+ exports.ToolAssistanceField = ToolAssistanceField;
458
459
  /** @internal */
459
460
  ToolAssistanceField.contextType = useUiStateStorage_1.UiStateStorageContext;
460
461
  ToolAssistanceField._toolAssistanceKey = "ToolAssistance";
@@ -467,7 +468,6 @@ ToolAssistanceField.defaultProps = {
467
468
  fadeOutCursorPrompt: true,
468
469
  defaultPromptAtCursor: false,
469
470
  };
470
- exports.ToolAssistanceField = ToolAssistanceField;
471
471
  function getWebComponentSource(iconSpec) {
472
472
  if (iconSpec.startsWith("webSvg:") && iconSpec.length > 7) {
473
473
  return iconSpec.slice(7);