@itwin/appui-react 4.10.0-dev.1 → 4.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1183) hide show
  1. package/CHANGELOG.md +28 -1
  2. package/lib/cjs/appui-react/UiFramework.d.ts +181 -10
  3. package/lib/cjs/appui-react/UiFramework.d.ts.map +1 -1
  4. package/lib/cjs/appui-react/UiFramework.js +301 -21
  5. package/lib/cjs/appui-react/UiFramework.js.map +1 -1
  6. package/lib/cjs/appui-react/accudraw/AccuDrawDialog.d.ts.map +1 -1
  7. package/lib/cjs/appui-react/accudraw/AccuDrawDialog.js +3 -2
  8. package/lib/cjs/appui-react/accudraw/AccuDrawDialog.js.map +1 -1
  9. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.d.ts.map +1 -1
  10. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.js +50 -33
  11. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  12. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.d.ts +1 -1
  13. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.d.ts.map +1 -1
  14. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js +7 -9
  15. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  16. package/lib/cjs/appui-react/accudraw/AccuDrawPopupManager.d.ts +7 -6
  17. package/lib/cjs/appui-react/accudraw/AccuDrawPopupManager.d.ts.map +1 -1
  18. package/lib/cjs/appui-react/accudraw/AccuDrawPopupManager.js +9 -0
  19. package/lib/cjs/appui-react/accudraw/AccuDrawPopupManager.js.map +1 -1
  20. package/lib/cjs/appui-react/accudraw/Calculator.js +9 -9
  21. package/lib/cjs/appui-react/accudraw/Calculator.js.map +1 -1
  22. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.d.ts.map +1 -1
  23. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.js +10 -10
  24. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  25. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js +2 -1
  26. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  27. package/lib/cjs/appui-react/backstage/BackstageItem.d.ts +2 -2
  28. package/lib/cjs/appui-react/backstage/BackstageItem.d.ts.map +1 -1
  29. package/lib/cjs/appui-react/backstage/BackstageItem.js.map +1 -1
  30. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js +1 -1
  31. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
  32. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.d.ts +5 -0
  33. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.d.ts.map +1 -1
  34. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js +24 -17
  35. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  36. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.scss +12 -10
  37. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.d.ts +2 -0
  38. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.d.ts.map +1 -1
  39. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.js +7 -1
  40. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
  41. package/lib/cjs/appui-react/configurableui/TimeTracker.js +2 -1
  42. package/lib/cjs/appui-react/configurableui/TimeTracker.js.map +1 -1
  43. package/lib/cjs/appui-react/content/ContentGroup.d.ts.map +1 -1
  44. package/lib/cjs/appui-react/content/ContentGroup.js +2 -2
  45. package/lib/cjs/appui-react/content/ContentGroup.js.map +1 -1
  46. package/lib/cjs/appui-react/content/ContentLayout.js +12 -9
  47. package/lib/cjs/appui-react/content/ContentLayout.js.map +1 -1
  48. package/lib/cjs/appui-react/content/DefaultViewOverlay.js +4 -3
  49. package/lib/cjs/appui-react/content/DefaultViewOverlay.js.map +1 -1
  50. package/lib/cjs/appui-react/content/DefaultViewOverlay.scss +14 -19
  51. package/lib/cjs/appui-react/content/FloatingViewportContent.js +2 -1
  52. package/lib/cjs/appui-react/content/FloatingViewportContent.js.map +1 -1
  53. package/lib/cjs/appui-react/content/IModelViewport.d.ts.map +1 -1
  54. package/lib/cjs/appui-react/content/IModelViewport.js +10 -11
  55. package/lib/cjs/appui-react/content/IModelViewport.js.map +1 -1
  56. package/lib/cjs/appui-react/content/InternalContentLayoutManager.js +2 -1
  57. package/lib/cjs/appui-react/content/InternalContentLayoutManager.js.map +1 -1
  58. package/lib/cjs/appui-react/content/InternalContentViewManager.js +2 -2
  59. package/lib/cjs/appui-react/content/InternalContentViewManager.js.map +1 -1
  60. package/lib/cjs/appui-react/content/split-pane/SplitPane.js +12 -10
  61. package/lib/cjs/appui-react/content/split-pane/SplitPane.js.map +1 -1
  62. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.d.ts +2 -2
  63. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.d.ts.map +1 -1
  64. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js +3 -2
  65. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  66. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.d.ts +8 -4
  67. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.d.ts.map +1 -1
  68. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.js +102 -50
  69. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
  70. package/lib/cjs/appui-react/dialog/ContentDialog.js +6 -3
  71. package/lib/cjs/appui-react/dialog/ContentDialog.js.map +1 -1
  72. package/lib/cjs/appui-react/dialog/DialogManagerBase.js +3 -2
  73. package/lib/cjs/appui-react/dialog/DialogManagerBase.js.map +1 -1
  74. package/lib/cjs/appui-react/feedback/ValidationTextbox.js +2 -2
  75. package/lib/cjs/appui-react/feedback/ValidationTextbox.js.map +1 -1
  76. package/lib/cjs/appui-react/framework/FrameworkVisibility.d.ts +4 -2
  77. package/lib/cjs/appui-react/framework/FrameworkVisibility.d.ts.map +1 -1
  78. package/lib/cjs/appui-react/framework/FrameworkVisibility.js.map +1 -1
  79. package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts +0 -5
  80. package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  81. package/lib/cjs/appui-react/frontstage/FrontstageDef.js +20 -77
  82. package/lib/cjs/appui-react/frontstage/FrontstageDef.js.map +1 -1
  83. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.d.ts.map +1 -1
  84. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.js +1 -3
  85. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
  86. package/lib/cjs/appui-react/frontstage/ModalFrontstage.d.ts +0 -1
  87. package/lib/cjs/appui-react/frontstage/ModalFrontstage.d.ts.map +1 -1
  88. package/lib/cjs/appui-react/frontstage/ModalFrontstage.js +1 -2
  89. package/lib/cjs/appui-react/frontstage/ModalFrontstage.js.map +1 -1
  90. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.d.ts.map +1 -1
  91. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js +7 -6
  92. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  93. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js +2 -1
  94. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  95. package/lib/cjs/appui-react/hooks/useActiveToolId.d.ts +6 -0
  96. package/lib/cjs/appui-react/hooks/useActiveToolId.d.ts.map +1 -0
  97. package/lib/cjs/appui-react/hooks/useActiveToolId.js +24 -0
  98. package/lib/cjs/appui-react/hooks/useActiveToolId.js.map +1 -0
  99. package/lib/cjs/appui-react/hooks/useAnalysisAnimationDataProvider.js +11 -7
  100. package/lib/cjs/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
  101. package/lib/cjs/appui-react/hooks/useConditionalValue.d.ts +15 -0
  102. package/lib/cjs/appui-react/hooks/useConditionalValue.d.ts.map +1 -0
  103. package/lib/cjs/appui-react/hooks/useConditionalValue.js +43 -0
  104. package/lib/cjs/appui-react/hooks/useConditionalValue.js.map +1 -0
  105. package/lib/cjs/appui-react/hooks/useEscapeSetFocusToHome.js +1 -1
  106. package/lib/cjs/appui-react/hooks/useEscapeSetFocusToHome.js.map +1 -1
  107. package/lib/cjs/appui-react/hooks/useScheduleAnimationDataProvider.js +11 -7
  108. package/lib/cjs/appui-react/hooks/useScheduleAnimationDataProvider.js.map +1 -1
  109. package/lib/cjs/appui-react/hooks/useSolarDataProvider.js +13 -8
  110. package/lib/cjs/appui-react/hooks/useSolarDataProvider.js.map +1 -1
  111. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
  112. package/lib/cjs/appui-react/keyins/Keyins.d.ts +35 -0
  113. package/lib/cjs/appui-react/keyins/Keyins.d.ts.map +1 -0
  114. package/lib/cjs/appui-react/keyins/Keyins.js +54 -0
  115. package/lib/cjs/appui-react/keyins/Keyins.js.map +1 -0
  116. package/lib/cjs/appui-react/layers.scss +11 -0
  117. package/lib/cjs/appui-react/layout/StandardLayout.d.ts +24 -0
  118. package/lib/cjs/appui-react/layout/StandardLayout.d.ts.map +1 -0
  119. package/lib/cjs/appui-react/layout/StandardLayout.js +56 -0
  120. package/lib/cjs/appui-react/layout/StandardLayout.js.map +1 -0
  121. package/lib/cjs/appui-react/layout/StandardLayout.scss +94 -0
  122. package/lib/cjs/appui-react/layout/_widgetopacity.scss +3 -1
  123. package/lib/cjs/appui-react/layout/backstage/Backstage.js +1 -1
  124. package/lib/cjs/appui-react/layout/backstage/Backstage.js.map +1 -1
  125. package/lib/cjs/appui-react/layout/base/DragManager.js +2 -1
  126. package/lib/cjs/appui-react/layout/base/DragManager.js.map +1 -1
  127. package/lib/cjs/appui-react/layout/base/NineZone.js +1 -1
  128. package/lib/cjs/appui-react/layout/base/NineZone.js.map +1 -1
  129. package/lib/cjs/appui-react/layout/base/SafeAreaInsets.js +4 -4
  130. package/lib/cjs/appui-react/layout/base/SafeAreaInsets.js.map +1 -1
  131. package/lib/cjs/appui-react/layout/base/usePointerCaptor.d.ts.map +1 -1
  132. package/lib/cjs/appui-react/layout/base/usePointerCaptor.js +3 -0
  133. package/lib/cjs/appui-react/layout/base/usePointerCaptor.js.map +1 -1
  134. package/lib/cjs/appui-react/layout/outline/PanelOutline.scss +1 -10
  135. package/lib/cjs/appui-react/layout/outline/TabOutline.js +1 -1
  136. package/lib/cjs/appui-react/layout/outline/TabOutline.js.map +1 -1
  137. package/lib/cjs/appui-react/layout/outline/WidgetOutline.js +1 -1
  138. package/lib/cjs/appui-react/layout/outline/WidgetOutline.js.map +1 -1
  139. package/lib/cjs/appui-react/layout/state/NineZoneStateReducer.js +14 -12
  140. package/lib/cjs/appui-react/layout/state/NineZoneStateReducer.js.map +1 -1
  141. package/lib/cjs/appui-react/layout/state/internal/NineZoneStateHelpers.js +2 -1
  142. package/lib/cjs/appui-react/layout/state/internal/NineZoneStateHelpers.js.map +1 -1
  143. package/lib/cjs/appui-react/layout/state/internal/PanelStateHelpers.d.ts.map +1 -1
  144. package/lib/cjs/appui-react/layout/state/internal/PanelStateHelpers.js +1 -0
  145. package/lib/cjs/appui-react/layout/state/internal/PanelStateHelpers.js.map +1 -1
  146. package/lib/cjs/appui-react/layout/state/internal/TabStateHelpers.d.ts.map +1 -1
  147. package/lib/cjs/appui-react/layout/state/internal/TabStateHelpers.js +8 -2
  148. package/lib/cjs/appui-react/layout/state/internal/TabStateHelpers.js.map +1 -1
  149. package/lib/cjs/appui-react/layout/state/internal/ToolSettingsStateHelpers.d.ts.map +1 -1
  150. package/lib/cjs/appui-react/layout/state/internal/ToolSettingsStateHelpers.js +6 -0
  151. package/lib/cjs/appui-react/layout/state/internal/ToolSettingsStateHelpers.js.map +1 -1
  152. package/lib/cjs/appui-react/layout/state/internal/WidgetStateHelpers.d.ts.map +1 -1
  153. package/lib/cjs/appui-react/layout/state/internal/WidgetStateHelpers.js +6 -4
  154. package/lib/cjs/appui-react/layout/state/internal/WidgetStateHelpers.js.map +1 -1
  155. package/lib/cjs/appui-react/layout/target/PanelTargets.scss +2 -0
  156. package/lib/cjs/appui-react/layout/target/TitleBarTarget.js +1 -1
  157. package/lib/cjs/appui-react/layout/target/TitleBarTarget.js.map +1 -1
  158. package/lib/cjs/appui-react/layout/tool-settings/Docked.d.ts +12 -6
  159. package/lib/cjs/appui-react/layout/tool-settings/Docked.d.ts.map +1 -1
  160. package/lib/cjs/appui-react/layout/tool-settings/Docked.js +52 -21
  161. package/lib/cjs/appui-react/layout/tool-settings/Docked.js.map +1 -1
  162. package/lib/cjs/appui-react/layout/tool-settings/Docked.scss +15 -23
  163. package/lib/cjs/appui-react/layout/tool-settings/Handle.d.ts.map +1 -1
  164. package/lib/cjs/appui-react/layout/tool-settings/Handle.js +3 -1
  165. package/lib/cjs/appui-react/layout/tool-settings/Handle.js.map +1 -1
  166. package/lib/cjs/appui-react/layout/tool-settings/Handle.scss +6 -12
  167. package/lib/cjs/appui-react/layout/tool-settings/Overflow.d.ts.map +1 -1
  168. package/lib/cjs/appui-react/layout/tool-settings/Overflow.js +4 -5
  169. package/lib/cjs/appui-react/layout/tool-settings/Overflow.js.map +1 -1
  170. package/lib/cjs/appui-react/layout/tool-settings/Overflow.scss +0 -15
  171. package/lib/cjs/appui-react/layout/tool-settings/Setting.scss +1 -12
  172. package/lib/cjs/appui-react/layout/widget/Buttons.d.ts +4 -4
  173. package/lib/cjs/appui-react/layout/widget/Buttons.d.ts.map +1 -1
  174. package/lib/cjs/appui-react/layout/widget/Buttons.js +8 -31
  175. package/lib/cjs/appui-react/layout/widget/Buttons.js.map +1 -1
  176. package/lib/cjs/appui-react/layout/widget/Content.d.ts.map +1 -1
  177. package/lib/cjs/appui-react/layout/widget/Content.js +5 -5
  178. package/lib/cjs/appui-react/layout/widget/Content.js.map +1 -1
  179. package/lib/cjs/appui-react/layout/widget/ContentContainer.d.ts.map +1 -1
  180. package/lib/cjs/appui-react/layout/widget/ContentContainer.js +2 -0
  181. package/lib/cjs/appui-react/layout/widget/ContentContainer.js.map +1 -1
  182. package/lib/cjs/appui-react/layout/widget/ContentManager.d.ts +1 -1
  183. package/lib/cjs/appui-react/layout/widget/ContentManager.d.ts.map +1 -1
  184. package/lib/cjs/appui-react/layout/widget/ContentManager.js +1 -1
  185. package/lib/cjs/appui-react/layout/widget/ContentManager.js.map +1 -1
  186. package/lib/cjs/appui-react/layout/widget/ContentRenderer.d.ts.map +1 -1
  187. package/lib/cjs/appui-react/layout/widget/ContentRenderer.js +8 -2
  188. package/lib/cjs/appui-react/layout/widget/ContentRenderer.js.map +1 -1
  189. package/lib/cjs/appui-react/layout/widget/Dock.d.ts +2 -0
  190. package/lib/cjs/appui-react/layout/widget/Dock.d.ts.map +1 -1
  191. package/lib/cjs/appui-react/layout/widget/Dock.js +10 -1
  192. package/lib/cjs/appui-react/layout/widget/Dock.js.map +1 -1
  193. package/lib/cjs/appui-react/layout/widget/FloatingTab.js +6 -5
  194. package/lib/cjs/appui-react/layout/widget/FloatingTab.js.map +1 -1
  195. package/lib/cjs/appui-react/layout/widget/FloatingWidget.d.ts.map +1 -1
  196. package/lib/cjs/appui-react/layout/widget/FloatingWidget.js +19 -19
  197. package/lib/cjs/appui-react/layout/widget/FloatingWidget.js.map +1 -1
  198. package/lib/cjs/appui-react/layout/widget/FloatingWidget.scss +92 -105
  199. package/lib/cjs/appui-react/layout/widget/NavigationArea.scss +4 -1
  200. package/lib/cjs/appui-react/layout/widget/PanelWidget.js +1 -1
  201. package/lib/cjs/appui-react/layout/widget/PanelWidget.js.map +1 -1
  202. package/lib/cjs/appui-react/layout/widget/PinToggle.d.ts +2 -0
  203. package/lib/cjs/appui-react/layout/widget/PinToggle.d.ts.map +1 -1
  204. package/lib/cjs/appui-react/layout/widget/PinToggle.js +10 -1
  205. package/lib/cjs/appui-react/layout/widget/PinToggle.js.map +1 -1
  206. package/lib/cjs/appui-react/layout/widget/SendBack.d.ts.map +1 -1
  207. package/lib/cjs/appui-react/layout/widget/SendBack.js +4 -5
  208. package/lib/cjs/appui-react/layout/widget/SendBack.js.map +1 -1
  209. package/lib/cjs/appui-react/layout/widget/Tab.d.ts.map +1 -1
  210. package/lib/cjs/appui-react/layout/widget/Tab.js +9 -14
  211. package/lib/cjs/appui-react/layout/widget/Tab.js.map +1 -1
  212. package/lib/cjs/appui-react/layout/widget/TabBar.d.ts.map +1 -1
  213. package/lib/cjs/appui-react/layout/widget/TabBar.js +4 -1
  214. package/lib/cjs/appui-react/layout/widget/TabBar.js.map +1 -1
  215. package/lib/cjs/appui-react/layout/widget/TabBar.scss +17 -19
  216. package/lib/cjs/appui-react/layout/widget/ToolsArea.scss +2 -0
  217. package/lib/cjs/appui-react/layout/widget/Widget.d.ts.map +1 -1
  218. package/lib/cjs/appui-react/layout/widget/Widget.js +2 -2
  219. package/lib/cjs/appui-react/layout/widget/Widget.js.map +1 -1
  220. package/lib/cjs/appui-react/layout/widget/useIsToolSettingsTab.js +1 -1
  221. package/lib/cjs/appui-react/layout/widget/useIsToolSettingsTab.js.map +1 -1
  222. package/lib/cjs/appui-react/layout/widget/usePanelWidgetId.d.ts +8 -0
  223. package/lib/cjs/appui-react/layout/widget/usePanelWidgetId.d.ts.map +1 -0
  224. package/lib/cjs/appui-react/layout/widget/usePanelWidgetId.js +39 -0
  225. package/lib/cjs/appui-react/layout/widget/usePanelWidgetId.js.map +1 -0
  226. package/lib/cjs/appui-react/layout/widget-panels/Grip.d.ts +1 -1
  227. package/lib/cjs/appui-react/layout/widget-panels/Grip.d.ts.map +1 -1
  228. package/lib/cjs/appui-react/layout/widget-panels/Grip.js +4 -0
  229. package/lib/cjs/appui-react/layout/widget-panels/Grip.js.map +1 -1
  230. package/lib/cjs/appui-react/layout/widget-panels/Grip.scss +106 -104
  231. package/lib/cjs/appui-react/layout/widget-panels/Panel.d.ts +1 -1
  232. package/lib/cjs/appui-react/layout/widget-panels/Panel.d.ts.map +1 -1
  233. package/lib/cjs/appui-react/layout/widget-panels/Panel.js +10 -16
  234. package/lib/cjs/appui-react/layout/widget-panels/Panel.js.map +1 -1
  235. package/lib/cjs/appui-react/layout/widget-panels/Panel.scss +175 -243
  236. package/lib/cjs/appui-react/layout/widget-panels/PanelSections.d.ts +1 -0
  237. package/lib/cjs/appui-react/layout/widget-panels/PanelSections.d.ts.map +1 -1
  238. package/lib/cjs/appui-react/layout/widget-panels/PanelSections.js +42 -35
  239. package/lib/cjs/appui-react/layout/widget-panels/PanelSections.js.map +1 -1
  240. package/lib/cjs/appui-react/layout/widget-panels/{Panels.scss → PanelSections.scss} +1 -11
  241. package/lib/cjs/appui-react/layout/widget-panels/useAnimatePanel.d.ts +1 -1
  242. package/lib/cjs/appui-react/layout/widget-panels/useAnimatePanel.js +2 -1
  243. package/lib/cjs/appui-react/layout/widget-panels/useAnimatePanel.js.map +1 -1
  244. package/lib/cjs/appui-react/layout/widget-panels/usePanelsAutoCollapse.d.ts +7 -0
  245. package/lib/cjs/appui-react/layout/widget-panels/usePanelsAutoCollapse.d.ts.map +1 -0
  246. package/lib/cjs/appui-react/layout/widget-panels/{AppContent.js → usePanelsAutoCollapse.js} +3 -26
  247. package/lib/cjs/appui-react/layout/widget-panels/usePanelsAutoCollapse.js.map +1 -0
  248. package/lib/cjs/appui-react/messages/AppNotificationManager.js +1 -1
  249. package/lib/cjs/appui-react/messages/AppNotificationManager.js.map +1 -1
  250. package/lib/cjs/appui-react/messages/MessageManager.d.ts.map +1 -1
  251. package/lib/cjs/appui-react/messages/MessageManager.js +6 -7
  252. package/lib/cjs/appui-react/messages/MessageManager.js.map +1 -1
  253. package/lib/cjs/appui-react/messages/MessageRenderer.js +16 -10
  254. package/lib/cjs/appui-react/messages/MessageRenderer.js.map +1 -1
  255. package/lib/cjs/appui-react/messages/getToastCategory.d.ts +1 -1
  256. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.d.ts.map +1 -1
  257. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.js +2 -6
  258. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  259. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.d.ts.map +1 -1
  260. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js +1 -1
  261. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  262. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.d.ts +0 -1
  263. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.d.ts.map +1 -1
  264. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.js +2 -3
  265. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  266. package/lib/cjs/appui-react/pickers/ViewSelector.js +6 -5
  267. package/lib/cjs/appui-react/pickers/ViewSelector.js.map +1 -1
  268. package/lib/cjs/appui-react/popup/CardPopup.d.ts +21 -9
  269. package/lib/cjs/appui-react/popup/CardPopup.d.ts.map +1 -1
  270. package/lib/cjs/appui-react/popup/CardPopup.js +13 -6
  271. package/lib/cjs/appui-react/popup/CardPopup.js.map +1 -1
  272. package/lib/cjs/appui-react/popup/ComponentPopup.d.ts +18 -0
  273. package/lib/cjs/appui-react/popup/ComponentPopup.d.ts.map +1 -0
  274. package/lib/cjs/appui-react/popup/ComponentPopup.js +35 -0
  275. package/lib/cjs/appui-react/popup/ComponentPopup.js.map +1 -0
  276. package/lib/cjs/appui-react/popup/HTMLElementPopup.d.ts +4 -1
  277. package/lib/cjs/appui-react/popup/HTMLElementPopup.d.ts.map +1 -1
  278. package/lib/cjs/appui-react/popup/HTMLElementPopup.js +1 -0
  279. package/lib/cjs/appui-react/popup/HTMLElementPopup.js.map +1 -1
  280. package/lib/cjs/appui-react/popup/InputEditorPopup.d.ts +4 -4
  281. package/lib/cjs/appui-react/popup/InputEditorPopup.d.ts.map +1 -1
  282. package/lib/cjs/appui-react/popup/InputEditorPopup.js.map +1 -1
  283. package/lib/cjs/appui-react/popup/KeyinPalettePanel.d.ts +1 -1
  284. package/lib/cjs/appui-react/popup/KeyinPalettePanel.d.ts.map +1 -1
  285. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js +25 -16
  286. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  287. package/lib/cjs/appui-react/popup/KeyinPalettePopup.d.ts +4 -2
  288. package/lib/cjs/appui-react/popup/KeyinPalettePopup.d.ts.map +1 -1
  289. package/lib/cjs/appui-react/popup/KeyinPalettePopup.js +10 -4
  290. package/lib/cjs/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  291. package/lib/cjs/appui-react/popup/PopupManager.d.ts +45 -9
  292. package/lib/cjs/appui-react/popup/PopupManager.d.ts.map +1 -1
  293. package/lib/cjs/appui-react/popup/PopupManager.js +85 -13
  294. package/lib/cjs/appui-react/popup/PopupManager.js.map +1 -1
  295. package/lib/cjs/appui-react/popup/ToolSettingsPopup.js +1 -1
  296. package/lib/cjs/appui-react/popup/ToolSettingsPopup.js.map +1 -1
  297. package/lib/cjs/appui-react/popup/ToolbarPopup.d.ts +16 -6
  298. package/lib/cjs/appui-react/popup/ToolbarPopup.d.ts.map +1 -1
  299. package/lib/cjs/appui-react/popup/ToolbarPopup.js +8 -3
  300. package/lib/cjs/appui-react/popup/ToolbarPopup.js.map +1 -1
  301. package/lib/cjs/appui-react/preview/PreviewFeatures.d.ts +9 -2
  302. package/lib/cjs/appui-react/preview/PreviewFeatures.d.ts.map +1 -1
  303. package/lib/cjs/appui-react/preview/PreviewFeatures.js +3 -2
  304. package/lib/cjs/appui-react/preview/PreviewFeatures.js.map +1 -1
  305. package/lib/cjs/appui-react/preview/activate-dropped-tab/activateDroppedTab.d.ts +6 -0
  306. package/lib/cjs/appui-react/preview/activate-dropped-tab/activateDroppedTab.d.ts.map +1 -0
  307. package/lib/cjs/appui-react/{layout/state → preview/activate-dropped-tab}/activateDroppedTab.js +5 -4
  308. package/lib/cjs/appui-react/preview/activate-dropped-tab/activateDroppedTab.js.map +1 -0
  309. package/lib/cjs/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.d.ts +6 -0
  310. package/lib/cjs/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.d.ts.map +1 -0
  311. package/lib/cjs/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.js +18 -0
  312. package/lib/cjs/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.js.map +1 -0
  313. package/lib/cjs/appui-react/{layout/widget-panels/CenterContent.scss → preview/content-always-max-size/useContentAlwaysMaxSize.scss} +5 -2
  314. package/lib/cjs/appui-react/preview/enable-maximized-widget/MaximizeToggle.d.ts +9 -0
  315. package/lib/cjs/appui-react/preview/enable-maximized-widget/MaximizeToggle.d.ts.map +1 -0
  316. package/lib/cjs/appui-react/preview/enable-maximized-widget/MaximizeToggle.js +51 -0
  317. package/lib/cjs/appui-react/preview/enable-maximized-widget/MaximizeToggle.js.map +1 -0
  318. package/lib/cjs/appui-react/preview/enable-maximized-widget/MaximizedWidget.d.ts +18 -0
  319. package/lib/cjs/appui-react/preview/enable-maximized-widget/MaximizedWidget.d.ts.map +1 -0
  320. package/lib/cjs/appui-react/preview/enable-maximized-widget/MaximizedWidget.js +27 -0
  321. package/lib/cjs/appui-react/preview/enable-maximized-widget/MaximizedWidget.js.map +1 -0
  322. package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.d.ts +50 -0
  323. package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.d.ts.map +1 -0
  324. package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js +115 -0
  325. package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js.map +1 -0
  326. package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.scss +36 -0
  327. package/lib/cjs/appui-react/{layout/widget → preview/horizontal-panel-alignment}/PreviewHorizontalPanelAlign.d.ts +4 -6
  328. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.d.ts.map +1 -0
  329. package/lib/cjs/appui-react/{layout/widget → preview/horizontal-panel-alignment}/PreviewHorizontalPanelAlign.js +18 -22
  330. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js.map +1 -0
  331. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.d.ts +19 -0
  332. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.d.ts.map +1 -0
  333. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.js +30 -0
  334. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.js.map +1 -0
  335. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.scss +49 -0
  336. package/lib/cjs/appui-react/preview/new-toolbars/ActionItem.d.ts +12 -0
  337. package/lib/cjs/appui-react/preview/new-toolbars/ActionItem.d.ts.map +1 -0
  338. package/lib/cjs/appui-react/preview/new-toolbars/ActionItem.js +25 -0
  339. package/lib/cjs/appui-react/preview/new-toolbars/ActionItem.js.map +1 -0
  340. package/lib/cjs/appui-react/preview/new-toolbars/Badge.d.ts +9 -0
  341. package/lib/cjs/appui-react/preview/new-toolbars/Badge.d.ts.map +1 -0
  342. package/lib/cjs/appui-react/preview/new-toolbars/Badge.js +20 -0
  343. package/lib/cjs/appui-react/preview/new-toolbars/Badge.js.map +1 -0
  344. package/lib/cjs/appui-react/preview/new-toolbars/Badge.scss +13 -0
  345. package/lib/cjs/appui-react/preview/new-toolbars/CustomItem.d.ts +12 -0
  346. package/lib/cjs/appui-react/preview/new-toolbars/CustomItem.d.ts.map +1 -0
  347. package/lib/cjs/appui-react/preview/new-toolbars/CustomItem.js +36 -0
  348. package/lib/cjs/appui-react/preview/new-toolbars/CustomItem.js.map +1 -0
  349. package/lib/cjs/appui-react/preview/new-toolbars/ExpandIndicator.d.ts +5 -0
  350. package/lib/cjs/appui-react/preview/new-toolbars/ExpandIndicator.d.ts.map +1 -0
  351. package/lib/cjs/appui-react/{statusbar/Popup.js → preview/new-toolbars/ExpandIndicator.js} +8 -13
  352. package/lib/cjs/appui-react/preview/new-toolbars/ExpandIndicator.js.map +1 -0
  353. package/lib/cjs/appui-react/preview/new-toolbars/ExpandIndicator.scss +17 -0
  354. package/lib/cjs/appui-react/preview/new-toolbars/GroupItem.d.ts +22 -0
  355. package/lib/cjs/appui-react/preview/new-toolbars/GroupItem.d.ts.map +1 -0
  356. package/lib/cjs/appui-react/preview/new-toolbars/GroupItem.js +79 -0
  357. package/lib/cjs/appui-react/preview/new-toolbars/GroupItem.js.map +1 -0
  358. package/lib/cjs/appui-react/preview/new-toolbars/Item.d.ts +21 -0
  359. package/lib/cjs/appui-react/preview/new-toolbars/Item.d.ts.map +1 -0
  360. package/lib/cjs/appui-react/preview/new-toolbars/Item.js +54 -0
  361. package/lib/cjs/appui-react/preview/new-toolbars/Item.js.map +1 -0
  362. package/lib/cjs/appui-react/preview/new-toolbars/OverflowButton.d.ts +17 -0
  363. package/lib/cjs/appui-react/preview/new-toolbars/OverflowButton.d.ts.map +1 -0
  364. package/lib/cjs/appui-react/preview/new-toolbars/OverflowButton.js +37 -0
  365. package/lib/cjs/appui-react/preview/new-toolbars/OverflowButton.js.map +1 -0
  366. package/lib/cjs/appui-react/preview/new-toolbars/ToolGroup.d.ts +18 -0
  367. package/lib/cjs/appui-react/preview/new-toolbars/ToolGroup.d.ts.map +1 -0
  368. package/lib/cjs/appui-react/preview/new-toolbars/ToolGroup.js +85 -0
  369. package/lib/cjs/appui-react/preview/new-toolbars/ToolGroup.js.map +1 -0
  370. package/lib/cjs/appui-react/preview/new-toolbars/ToolGroup.scss +43 -0
  371. package/lib/cjs/appui-react/preview/new-toolbars/Toolbar.d.ts +23 -0
  372. package/lib/cjs/appui-react/preview/new-toolbars/Toolbar.d.ts.map +1 -0
  373. package/lib/cjs/appui-react/preview/new-toolbars/Toolbar.js +40 -0
  374. package/lib/cjs/appui-react/preview/new-toolbars/Toolbar.js.map +1 -0
  375. package/lib/cjs/appui-react/preview/new-toolbars/useOverflow.d.ts +9 -0
  376. package/lib/cjs/appui-react/preview/new-toolbars/useOverflow.d.ts.map +1 -0
  377. package/lib/cjs/appui-react/preview/new-toolbars/useOverflow.js +93 -0
  378. package/lib/cjs/appui-react/preview/new-toolbars/useOverflow.js.map +1 -0
  379. package/lib/cjs/appui-react/preview/widget-action-dropdown/Button.d.ts +1 -1
  380. package/lib/cjs/appui-react/preview/widget-action-dropdown/Button.js +1 -1
  381. package/lib/cjs/appui-react/preview/widget-action-dropdown/Button.js.map +1 -1
  382. package/lib/cjs/appui-react/preview/widget-action-dropdown/MoreButton.d.ts +3 -2
  383. package/lib/cjs/appui-react/preview/widget-action-dropdown/MoreButton.d.ts.map +1 -1
  384. package/lib/cjs/appui-react/preview/widget-action-dropdown/MoreButton.js +7 -6
  385. package/lib/cjs/appui-react/preview/widget-action-dropdown/MoreButton.js.map +1 -1
  386. package/lib/cjs/appui-react/redux/FrameworkState.d.ts +1 -1
  387. package/lib/cjs/appui-react/redux/SessionState.d.ts +17 -5
  388. package/lib/cjs/appui-react/redux/SessionState.d.ts.map +1 -1
  389. package/lib/cjs/appui-react/redux/SessionState.js +8 -1
  390. package/lib/cjs/appui-react/redux/SessionState.js.map +1 -1
  391. package/lib/cjs/appui-react/selection/SelectionContextItemDef.js +2 -2
  392. package/lib/cjs/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  393. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.d.ts.map +1 -1
  394. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js +6 -8
  395. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  396. package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.d.ts.map +1 -1
  397. package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.js +7 -7
  398. package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.js.map +1 -1
  399. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
  400. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js +40 -46
  401. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  402. package/lib/cjs/appui-react/shared/ConditionalValue.d.ts +17 -0
  403. package/lib/cjs/appui-react/shared/ConditionalValue.d.ts.map +1 -0
  404. package/lib/cjs/appui-react/shared/ConditionalValue.js +16 -0
  405. package/lib/cjs/appui-react/shared/ConditionalValue.js.map +1 -0
  406. package/lib/cjs/appui-react/shared/ItemDefBase.d.ts +2 -2
  407. package/lib/cjs/appui-react/shared/ItemDefBase.d.ts.map +1 -1
  408. package/lib/cjs/appui-react/shared/ItemDefBase.js.map +1 -1
  409. package/lib/cjs/appui-react/shared/ItemProps.d.ts +13 -2
  410. package/lib/cjs/appui-react/shared/ItemProps.d.ts.map +1 -1
  411. package/lib/cjs/appui-react/shared/ItemProps.js.map +1 -1
  412. package/lib/cjs/appui-react/shared/MenuItem.d.ts +21 -2
  413. package/lib/cjs/appui-react/shared/MenuItem.d.ts.map +1 -1
  414. package/lib/cjs/appui-react/shared/MenuItem.js.map +1 -1
  415. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js +16 -11
  416. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  417. package/lib/cjs/appui-react/statusbar/Indicator.js +2 -1
  418. package/lib/cjs/appui-react/statusbar/Indicator.js.map +1 -1
  419. package/lib/cjs/appui-react/statusbar/Overflow.d.ts.map +1 -1
  420. package/lib/cjs/appui-react/statusbar/Overflow.js +3 -3
  421. package/lib/cjs/appui-react/statusbar/Overflow.js.map +1 -1
  422. package/lib/cjs/appui-react/statusbar/StatusBar.d.ts +1 -1
  423. package/lib/cjs/appui-react/statusbar/StatusBar.d.ts.map +1 -1
  424. package/lib/cjs/appui-react/statusbar/StatusBar.js +6 -4
  425. package/lib/cjs/appui-react/statusbar/StatusBar.js.map +1 -1
  426. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js +1 -1
  427. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  428. package/lib/cjs/appui-react/statusbar/StatusBarItem.d.ts +2 -2
  429. package/lib/cjs/appui-react/statusbar/StatusBarItem.d.ts.map +1 -1
  430. package/lib/cjs/appui-react/statusbar/StatusBarItem.js.map +1 -1
  431. package/lib/{esm/appui-react/statusbar → cjs/appui-react/statusbar/popup}/Popup.d.ts +2 -1
  432. package/lib/cjs/appui-react/statusbar/popup/Popup.d.ts.map +1 -0
  433. package/lib/cjs/appui-react/{layout/footer → statusbar/popup}/Popup.js +10 -11
  434. package/lib/cjs/appui-react/statusbar/popup/Popup.js.map +1 -0
  435. package/lib/cjs/appui-react/{layout/footer → statusbar/popup}/Popup.scss +1 -7
  436. package/lib/cjs/appui-react/statusfields/ActivityCenter.d.ts.map +1 -1
  437. package/lib/cjs/appui-react/statusfields/ActivityCenter.js +5 -4
  438. package/lib/cjs/appui-react/statusfields/ActivityCenter.js.map +1 -1
  439. package/lib/cjs/appui-react/statusfields/MessageCenter.d.ts +0 -1
  440. package/lib/cjs/appui-react/statusfields/MessageCenter.d.ts.map +1 -1
  441. package/lib/cjs/appui-react/statusfields/MessageCenter.js +4 -4
  442. package/lib/cjs/appui-react/statusfields/MessageCenter.js.map +1 -1
  443. package/lib/cjs/appui-react/statusfields/SectionsField.d.ts.map +1 -1
  444. package/lib/cjs/appui-react/statusfields/SectionsField.js +7 -10
  445. package/lib/cjs/appui-react/statusfields/SectionsField.js.map +1 -1
  446. package/lib/cjs/appui-react/statusfields/SelectionScope.d.ts.map +1 -1
  447. package/lib/cjs/appui-react/statusfields/SelectionScope.js +4 -4
  448. package/lib/cjs/appui-react/statusfields/SelectionScope.js.map +1 -1
  449. package/lib/cjs/appui-react/statusfields/SnapMode.d.ts.map +1 -1
  450. package/lib/cjs/appui-react/statusfields/SnapMode.js +14 -12
  451. package/lib/cjs/appui-react/statusfields/SnapMode.js.map +1 -1
  452. package/lib/cjs/appui-react/statusfields/ViewAttributes.d.ts +0 -2
  453. package/lib/cjs/appui-react/statusfields/ViewAttributes.d.ts.map +1 -1
  454. package/lib/cjs/appui-react/statusfields/ViewAttributes.js +12 -20
  455. package/lib/cjs/appui-react/statusfields/ViewAttributes.js.map +1 -1
  456. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  457. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js +2 -2
  458. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  459. package/lib/cjs/appui-react/theme/ThemeManager.d.ts.map +1 -1
  460. package/lib/cjs/appui-react/theme/ThemeManager.js +3 -2
  461. package/lib/cjs/appui-react/theme/ThemeManager.js.map +1 -1
  462. package/lib/cjs/appui-react/timeline/SolarTimelineDataProvider.d.ts.map +1 -1
  463. package/lib/cjs/appui-react/timeline/SolarTimelineDataProvider.js +2 -3
  464. package/lib/cjs/appui-react/timeline/SolarTimelineDataProvider.js.map +1 -1
  465. package/lib/cjs/appui-react/toolbar/Toolbar.d.ts +4 -3
  466. package/lib/cjs/appui-react/toolbar/Toolbar.d.ts.map +1 -1
  467. package/lib/cjs/appui-react/toolbar/Toolbar.js +28 -4
  468. package/lib/cjs/appui-react/toolbar/Toolbar.js.map +1 -1
  469. package/lib/cjs/appui-react/toolbar/ToolbarComposer.d.ts +4 -2
  470. package/lib/cjs/appui-react/toolbar/ToolbarComposer.d.ts.map +1 -1
  471. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js +15 -12
  472. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  473. package/lib/cjs/appui-react/toolbar/ToolbarHelper.d.ts.map +1 -1
  474. package/lib/cjs/appui-react/toolbar/ToolbarHelper.js +5 -6
  475. package/lib/cjs/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  476. package/lib/cjs/appui-react/toolbar/ToolbarItem.d.ts +2 -2
  477. package/lib/cjs/appui-react/toolbar/ToolbarItem.d.ts.map +1 -1
  478. package/lib/cjs/appui-react/toolbar/ToolbarItem.js.map +1 -1
  479. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js +4 -3
  480. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
  481. package/lib/cjs/appui-react/tools/CoreToolDefinitions.d.ts.map +1 -1
  482. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js +18 -11
  483. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  484. package/lib/cjs/appui-react/tools/FrameworkToolAdmin.d.ts.map +1 -1
  485. package/lib/cjs/appui-react/tools/FrameworkToolAdmin.js +2 -1
  486. package/lib/cjs/appui-react/tools/FrameworkToolAdmin.js.map +1 -1
  487. package/lib/cjs/appui-react/toolsettings/DefaultToolSettingsProvider.js +2 -3
  488. package/lib/cjs/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
  489. package/lib/cjs/appui-react/ui-items-provider/AbstractUiItemsManager.js +22 -20
  490. package/lib/cjs/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -1
  491. package/lib/cjs/appui-react/ui-items-provider/BaseUiItemsProvider.js +3 -3
  492. package/lib/cjs/appui-react/ui-items-provider/BaseUiItemsProvider.js.map +1 -1
  493. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +10 -9
  494. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  495. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +2 -1
  496. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  497. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js +14 -8
  498. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  499. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.d.ts +47 -38
  500. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.d.ts.map +1 -1
  501. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.js +102 -143
  502. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
  503. package/lib/cjs/appui-react/uiprovider/ComponentGenerator.js +1 -1
  504. package/lib/cjs/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
  505. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.scss +0 -7
  506. package/lib/cjs/appui-react/useTranslation.d.ts +10 -0
  507. package/lib/cjs/appui-react/useTranslation.d.ts.map +1 -0
  508. package/lib/cjs/appui-react/useTranslation.js +20 -0
  509. package/lib/cjs/appui-react/useTranslation.js.map +1 -0
  510. package/lib/cjs/appui-react/utils/InternalUiShowHideManager.js +3 -3
  511. package/lib/cjs/appui-react/utils/InternalUiShowHideManager.js.map +1 -1
  512. package/lib/cjs/appui-react/utils/Placement.d.ts +35 -0
  513. package/lib/cjs/appui-react/utils/Placement.d.ts.map +1 -0
  514. package/lib/cjs/appui-react/utils/Placement.js +62 -0
  515. package/lib/cjs/appui-react/utils/Placement.js.map +1 -0
  516. package/lib/cjs/appui-react/utils/PropsHelper.js +4 -4
  517. package/lib/cjs/appui-react/utils/PropsHelper.js.map +1 -1
  518. package/lib/cjs/appui-react/utils/matchesWords.js +4 -4
  519. package/lib/cjs/appui-react/utils/matchesWords.js.map +1 -1
  520. package/lib/cjs/appui-react/widget-panels/Content.d.ts.map +1 -1
  521. package/lib/cjs/appui-react/widget-panels/Content.js +12 -11
  522. package/lib/cjs/appui-react/widget-panels/Content.js.map +1 -1
  523. package/lib/cjs/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  524. package/lib/cjs/appui-react/widget-panels/Frontstage.js +43 -39
  525. package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
  526. package/lib/cjs/appui-react/widget-panels/Frontstage.scss +0 -23
  527. package/lib/cjs/appui-react/widget-panels/StatusBar.js +1 -1
  528. package/lib/cjs/appui-react/widget-panels/StatusBar.js.map +1 -1
  529. package/lib/cjs/appui-react/widget-panels/Tab.d.ts +1 -1
  530. package/lib/cjs/appui-react/widget-panels/Tab.d.ts.map +1 -1
  531. package/lib/cjs/appui-react/widget-panels/Tab.js +3 -4
  532. package/lib/cjs/appui-react/widget-panels/Tab.js.map +1 -1
  533. package/lib/cjs/appui-react/widget-panels/ToolSettings.d.ts +1 -1
  534. package/lib/cjs/appui-react/widget-panels/ToolSettings.d.ts.map +1 -1
  535. package/lib/cjs/appui-react/widget-panels/ToolSettings.js +55 -68
  536. package/lib/cjs/appui-react/widget-panels/ToolSettings.js.map +1 -1
  537. package/lib/cjs/appui-react/widget-panels/ToolSettings.scss +0 -6
  538. package/lib/cjs/appui-react/widget-panels/Toolbars.js +3 -2
  539. package/lib/cjs/appui-react/widget-panels/Toolbars.js.map +1 -1
  540. package/lib/cjs/appui-react/widget-panels/Toolbars.scss +3 -1
  541. package/lib/cjs/appui-react/widgets/BackstageAppButton.d.ts.map +1 -1
  542. package/lib/cjs/appui-react/widgets/BackstageAppButton.js +3 -1
  543. package/lib/cjs/appui-react/widgets/BackstageAppButton.js.map +1 -1
  544. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.d.ts.map +1 -1
  545. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js +5 -3
  546. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  547. package/lib/cjs/appui-react/widgets/Widget.d.ts +2 -2
  548. package/lib/cjs/appui-react/widgets/Widget.d.ts.map +1 -1
  549. package/lib/cjs/appui-react/widgets/Widget.js.map +1 -1
  550. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts +9 -4
  551. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  552. package/lib/cjs/appui-react/widgets/WidgetDef.js +61 -18
  553. package/lib/cjs/appui-react/widgets/WidgetDef.js.map +1 -1
  554. package/lib/cjs/appui-react/widgets/WidgetHost.js +3 -2
  555. package/lib/cjs/appui-react/widgets/WidgetHost.js.map +1 -1
  556. package/lib/cjs/appui-react/widgets/useWidget.js +1 -1
  557. package/lib/cjs/appui-react/widgets/useWidget.js.map +1 -1
  558. package/lib/cjs/appui-react.d.ts +4 -1
  559. package/lib/cjs/appui-react.d.ts.map +1 -1
  560. package/lib/cjs/appui-react.js +4 -3
  561. package/lib/cjs/appui-react.js.map +1 -1
  562. package/lib/esm/appui-react/UiFramework.d.ts +181 -10
  563. package/lib/esm/appui-react/UiFramework.d.ts.map +1 -1
  564. package/lib/esm/appui-react/UiFramework.js +301 -21
  565. package/lib/esm/appui-react/UiFramework.js.map +1 -1
  566. package/lib/esm/appui-react/accudraw/AccuDrawDialog.d.ts.map +1 -1
  567. package/lib/esm/appui-react/accudraw/AccuDrawDialog.js +3 -2
  568. package/lib/esm/appui-react/accudraw/AccuDrawDialog.js.map +1 -1
  569. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.d.ts.map +1 -1
  570. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.js +50 -33
  571. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  572. package/lib/esm/appui-react/accudraw/AccuDrawInputField.d.ts +1 -1
  573. package/lib/esm/appui-react/accudraw/AccuDrawInputField.d.ts.map +1 -1
  574. package/lib/esm/appui-react/accudraw/AccuDrawInputField.js +7 -9
  575. package/lib/esm/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  576. package/lib/esm/appui-react/accudraw/AccuDrawPopupManager.d.ts +7 -6
  577. package/lib/esm/appui-react/accudraw/AccuDrawPopupManager.d.ts.map +1 -1
  578. package/lib/esm/appui-react/accudraw/AccuDrawPopupManager.js +9 -0
  579. package/lib/esm/appui-react/accudraw/AccuDrawPopupManager.js.map +1 -1
  580. package/lib/esm/appui-react/accudraw/Calculator.js +9 -9
  581. package/lib/esm/appui-react/accudraw/Calculator.js.map +1 -1
  582. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.d.ts.map +1 -1
  583. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.js +10 -10
  584. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  585. package/lib/esm/appui-react/backstage/BackstageComposerItem.js +2 -1
  586. package/lib/esm/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  587. package/lib/esm/appui-react/backstage/BackstageItem.d.ts +2 -2
  588. package/lib/esm/appui-react/backstage/BackstageItem.d.ts.map +1 -1
  589. package/lib/esm/appui-react/backstage/BackstageItem.js.map +1 -1
  590. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js +1 -1
  591. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
  592. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.d.ts +5 -0
  593. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.d.ts.map +1 -1
  594. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js +23 -16
  595. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  596. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.scss +12 -10
  597. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.d.ts +2 -0
  598. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.d.ts.map +1 -1
  599. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.js +7 -1
  600. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
  601. package/lib/esm/appui-react/configurableui/TimeTracker.js +2 -1
  602. package/lib/esm/appui-react/configurableui/TimeTracker.js.map +1 -1
  603. package/lib/esm/appui-react/content/ContentGroup.d.ts.map +1 -1
  604. package/lib/esm/appui-react/content/ContentGroup.js +2 -2
  605. package/lib/esm/appui-react/content/ContentGroup.js.map +1 -1
  606. package/lib/esm/appui-react/content/ContentLayout.js +12 -9
  607. package/lib/esm/appui-react/content/ContentLayout.js.map +1 -1
  608. package/lib/esm/appui-react/content/DefaultViewOverlay.js +4 -3
  609. package/lib/esm/appui-react/content/DefaultViewOverlay.js.map +1 -1
  610. package/lib/esm/appui-react/content/DefaultViewOverlay.scss +14 -19
  611. package/lib/esm/appui-react/content/FloatingViewportContent.js +2 -1
  612. package/lib/esm/appui-react/content/FloatingViewportContent.js.map +1 -1
  613. package/lib/esm/appui-react/content/IModelViewport.d.ts.map +1 -1
  614. package/lib/esm/appui-react/content/IModelViewport.js +10 -11
  615. package/lib/esm/appui-react/content/IModelViewport.js.map +1 -1
  616. package/lib/esm/appui-react/content/InternalContentLayoutManager.js +2 -1
  617. package/lib/esm/appui-react/content/InternalContentLayoutManager.js.map +1 -1
  618. package/lib/esm/appui-react/content/InternalContentViewManager.js +2 -2
  619. package/lib/esm/appui-react/content/InternalContentViewManager.js.map +1 -1
  620. package/lib/esm/appui-react/content/split-pane/SplitPane.js +12 -10
  621. package/lib/esm/appui-react/content/split-pane/SplitPane.js.map +1 -1
  622. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.d.ts +2 -2
  623. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.d.ts.map +1 -1
  624. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js +3 -2
  625. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  626. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.d.ts +8 -4
  627. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.d.ts.map +1 -1
  628. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.js +102 -50
  629. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
  630. package/lib/esm/appui-react/dialog/ContentDialog.js +6 -3
  631. package/lib/esm/appui-react/dialog/ContentDialog.js.map +1 -1
  632. package/lib/esm/appui-react/dialog/DialogManagerBase.js +3 -2
  633. package/lib/esm/appui-react/dialog/DialogManagerBase.js.map +1 -1
  634. package/lib/esm/appui-react/feedback/ValidationTextbox.js +2 -2
  635. package/lib/esm/appui-react/feedback/ValidationTextbox.js.map +1 -1
  636. package/lib/esm/appui-react/framework/FrameworkVisibility.d.ts +4 -2
  637. package/lib/esm/appui-react/framework/FrameworkVisibility.d.ts.map +1 -1
  638. package/lib/esm/appui-react/framework/FrameworkVisibility.js.map +1 -1
  639. package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts +0 -5
  640. package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  641. package/lib/esm/appui-react/frontstage/FrontstageDef.js +21 -78
  642. package/lib/esm/appui-react/frontstage/FrontstageDef.js.map +1 -1
  643. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.d.ts.map +1 -1
  644. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.js +1 -3
  645. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
  646. package/lib/esm/appui-react/frontstage/ModalFrontstage.d.ts +0 -1
  647. package/lib/esm/appui-react/frontstage/ModalFrontstage.d.ts.map +1 -1
  648. package/lib/esm/appui-react/frontstage/ModalFrontstage.js +1 -2
  649. package/lib/esm/appui-react/frontstage/ModalFrontstage.js.map +1 -1
  650. package/lib/esm/appui-react/frontstage/ModalSettingsStage.d.ts.map +1 -1
  651. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js +7 -6
  652. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  653. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js +2 -1
  654. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  655. package/lib/esm/appui-react/hooks/useActiveToolId.d.ts +6 -0
  656. package/lib/esm/appui-react/hooks/useActiveToolId.d.ts.map +1 -0
  657. package/lib/esm/appui-react/hooks/useActiveToolId.js +20 -0
  658. package/lib/esm/appui-react/hooks/useActiveToolId.js.map +1 -0
  659. package/lib/esm/appui-react/hooks/useAnalysisAnimationDataProvider.js +11 -7
  660. package/lib/esm/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
  661. package/lib/esm/appui-react/hooks/useConditionalValue.d.ts +15 -0
  662. package/lib/esm/appui-react/hooks/useConditionalValue.d.ts.map +1 -0
  663. package/lib/esm/appui-react/hooks/useConditionalValue.js +39 -0
  664. package/lib/esm/appui-react/hooks/useConditionalValue.js.map +1 -0
  665. package/lib/esm/appui-react/hooks/useEscapeSetFocusToHome.js +1 -1
  666. package/lib/esm/appui-react/hooks/useEscapeSetFocusToHome.js.map +1 -1
  667. package/lib/esm/appui-react/hooks/useScheduleAnimationDataProvider.js +11 -7
  668. package/lib/esm/appui-react/hooks/useScheduleAnimationDataProvider.js.map +1 -1
  669. package/lib/esm/appui-react/hooks/useSolarDataProvider.js +13 -8
  670. package/lib/esm/appui-react/hooks/useSolarDataProvider.js.map +1 -1
  671. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
  672. package/lib/esm/appui-react/keyins/Keyins.d.ts +35 -0
  673. package/lib/esm/appui-react/keyins/Keyins.d.ts.map +1 -0
  674. package/lib/esm/appui-react/keyins/Keyins.js +50 -0
  675. package/lib/esm/appui-react/keyins/Keyins.js.map +1 -0
  676. package/lib/esm/appui-react/layers.scss +11 -0
  677. package/lib/esm/appui-react/layout/StandardLayout.d.ts +24 -0
  678. package/lib/esm/appui-react/layout/StandardLayout.d.ts.map +1 -0
  679. package/lib/esm/appui-react/layout/StandardLayout.js +52 -0
  680. package/lib/esm/appui-react/layout/StandardLayout.js.map +1 -0
  681. package/lib/esm/appui-react/layout/StandardLayout.scss +94 -0
  682. package/lib/esm/appui-react/layout/_widgetopacity.scss +3 -1
  683. package/lib/esm/appui-react/layout/backstage/Backstage.js +1 -1
  684. package/lib/esm/appui-react/layout/backstage/Backstage.js.map +1 -1
  685. package/lib/esm/appui-react/layout/base/DragManager.js +2 -1
  686. package/lib/esm/appui-react/layout/base/DragManager.js.map +1 -1
  687. package/lib/esm/appui-react/layout/base/NineZone.js +1 -1
  688. package/lib/esm/appui-react/layout/base/NineZone.js.map +1 -1
  689. package/lib/esm/appui-react/layout/base/SafeAreaInsets.js +4 -4
  690. package/lib/esm/appui-react/layout/base/SafeAreaInsets.js.map +1 -1
  691. package/lib/esm/appui-react/layout/base/usePointerCaptor.d.ts.map +1 -1
  692. package/lib/esm/appui-react/layout/base/usePointerCaptor.js +3 -0
  693. package/lib/esm/appui-react/layout/base/usePointerCaptor.js.map +1 -1
  694. package/lib/esm/appui-react/layout/outline/PanelOutline.scss +1 -10
  695. package/lib/esm/appui-react/layout/outline/TabOutline.js +1 -1
  696. package/lib/esm/appui-react/layout/outline/TabOutline.js.map +1 -1
  697. package/lib/esm/appui-react/layout/outline/WidgetOutline.js +1 -1
  698. package/lib/esm/appui-react/layout/outline/WidgetOutline.js.map +1 -1
  699. package/lib/esm/appui-react/layout/state/NineZoneStateReducer.js +14 -12
  700. package/lib/esm/appui-react/layout/state/NineZoneStateReducer.js.map +1 -1
  701. package/lib/esm/appui-react/layout/state/internal/NineZoneStateHelpers.js +2 -1
  702. package/lib/esm/appui-react/layout/state/internal/NineZoneStateHelpers.js.map +1 -1
  703. package/lib/esm/appui-react/layout/state/internal/PanelStateHelpers.d.ts.map +1 -1
  704. package/lib/esm/appui-react/layout/state/internal/PanelStateHelpers.js +1 -0
  705. package/lib/esm/appui-react/layout/state/internal/PanelStateHelpers.js.map +1 -1
  706. package/lib/esm/appui-react/layout/state/internal/TabStateHelpers.d.ts.map +1 -1
  707. package/lib/esm/appui-react/layout/state/internal/TabStateHelpers.js +8 -2
  708. package/lib/esm/appui-react/layout/state/internal/TabStateHelpers.js.map +1 -1
  709. package/lib/esm/appui-react/layout/state/internal/ToolSettingsStateHelpers.d.ts.map +1 -1
  710. package/lib/esm/appui-react/layout/state/internal/ToolSettingsStateHelpers.js +6 -0
  711. package/lib/esm/appui-react/layout/state/internal/ToolSettingsStateHelpers.js.map +1 -1
  712. package/lib/esm/appui-react/layout/state/internal/WidgetStateHelpers.d.ts.map +1 -1
  713. package/lib/esm/appui-react/layout/state/internal/WidgetStateHelpers.js +6 -4
  714. package/lib/esm/appui-react/layout/state/internal/WidgetStateHelpers.js.map +1 -1
  715. package/lib/esm/appui-react/layout/target/PanelTargets.scss +2 -0
  716. package/lib/esm/appui-react/layout/target/TitleBarTarget.js +1 -1
  717. package/lib/esm/appui-react/layout/target/TitleBarTarget.js.map +1 -1
  718. package/lib/esm/appui-react/layout/tool-settings/Docked.d.ts +12 -6
  719. package/lib/esm/appui-react/layout/tool-settings/Docked.d.ts.map +1 -1
  720. package/lib/esm/appui-react/layout/tool-settings/Docked.js +53 -22
  721. package/lib/esm/appui-react/layout/tool-settings/Docked.js.map +1 -1
  722. package/lib/esm/appui-react/layout/tool-settings/Docked.scss +15 -23
  723. package/lib/esm/appui-react/layout/tool-settings/Handle.d.ts.map +1 -1
  724. package/lib/esm/appui-react/layout/tool-settings/Handle.js +3 -1
  725. package/lib/esm/appui-react/layout/tool-settings/Handle.js.map +1 -1
  726. package/lib/esm/appui-react/layout/tool-settings/Handle.scss +6 -12
  727. package/lib/esm/appui-react/layout/tool-settings/Overflow.d.ts.map +1 -1
  728. package/lib/esm/appui-react/layout/tool-settings/Overflow.js +4 -5
  729. package/lib/esm/appui-react/layout/tool-settings/Overflow.js.map +1 -1
  730. package/lib/esm/appui-react/layout/tool-settings/Overflow.scss +0 -15
  731. package/lib/esm/appui-react/layout/tool-settings/Setting.scss +1 -12
  732. package/lib/esm/appui-react/layout/widget/Buttons.d.ts +4 -4
  733. package/lib/esm/appui-react/layout/widget/Buttons.d.ts.map +1 -1
  734. package/lib/esm/appui-react/layout/widget/Buttons.js +8 -30
  735. package/lib/esm/appui-react/layout/widget/Buttons.js.map +1 -1
  736. package/lib/esm/appui-react/layout/widget/Content.d.ts.map +1 -1
  737. package/lib/esm/appui-react/layout/widget/Content.js +5 -5
  738. package/lib/esm/appui-react/layout/widget/Content.js.map +1 -1
  739. package/lib/esm/appui-react/layout/widget/ContentContainer.d.ts.map +1 -1
  740. package/lib/esm/appui-react/layout/widget/ContentContainer.js +2 -0
  741. package/lib/esm/appui-react/layout/widget/ContentContainer.js.map +1 -1
  742. package/lib/esm/appui-react/layout/widget/ContentManager.d.ts +1 -1
  743. package/lib/esm/appui-react/layout/widget/ContentManager.d.ts.map +1 -1
  744. package/lib/esm/appui-react/layout/widget/ContentManager.js +1 -1
  745. package/lib/esm/appui-react/layout/widget/ContentManager.js.map +1 -1
  746. package/lib/esm/appui-react/layout/widget/ContentRenderer.d.ts.map +1 -1
  747. package/lib/esm/appui-react/layout/widget/ContentRenderer.js +8 -2
  748. package/lib/esm/appui-react/layout/widget/ContentRenderer.js.map +1 -1
  749. package/lib/esm/appui-react/layout/widget/Dock.d.ts +2 -0
  750. package/lib/esm/appui-react/layout/widget/Dock.d.ts.map +1 -1
  751. package/lib/esm/appui-react/layout/widget/Dock.js +8 -0
  752. package/lib/esm/appui-react/layout/widget/Dock.js.map +1 -1
  753. package/lib/esm/appui-react/layout/widget/FloatingTab.js +6 -5
  754. package/lib/esm/appui-react/layout/widget/FloatingTab.js.map +1 -1
  755. package/lib/esm/appui-react/layout/widget/FloatingWidget.d.ts.map +1 -1
  756. package/lib/esm/appui-react/layout/widget/FloatingWidget.js +19 -19
  757. package/lib/esm/appui-react/layout/widget/FloatingWidget.js.map +1 -1
  758. package/lib/esm/appui-react/layout/widget/FloatingWidget.scss +92 -105
  759. package/lib/esm/appui-react/layout/widget/NavigationArea.scss +4 -1
  760. package/lib/esm/appui-react/layout/widget/PanelWidget.js +1 -1
  761. package/lib/esm/appui-react/layout/widget/PanelWidget.js.map +1 -1
  762. package/lib/esm/appui-react/layout/widget/PinToggle.d.ts +2 -0
  763. package/lib/esm/appui-react/layout/widget/PinToggle.d.ts.map +1 -1
  764. package/lib/esm/appui-react/layout/widget/PinToggle.js +8 -0
  765. package/lib/esm/appui-react/layout/widget/PinToggle.js.map +1 -1
  766. package/lib/esm/appui-react/layout/widget/SendBack.d.ts.map +1 -1
  767. package/lib/esm/appui-react/layout/widget/SendBack.js +4 -5
  768. package/lib/esm/appui-react/layout/widget/SendBack.js.map +1 -1
  769. package/lib/esm/appui-react/layout/widget/Tab.d.ts.map +1 -1
  770. package/lib/esm/appui-react/layout/widget/Tab.js +9 -14
  771. package/lib/esm/appui-react/layout/widget/Tab.js.map +1 -1
  772. package/lib/esm/appui-react/layout/widget/TabBar.d.ts.map +1 -1
  773. package/lib/esm/appui-react/layout/widget/TabBar.js +4 -1
  774. package/lib/esm/appui-react/layout/widget/TabBar.js.map +1 -1
  775. package/lib/esm/appui-react/layout/widget/TabBar.scss +17 -19
  776. package/lib/esm/appui-react/layout/widget/ToolsArea.scss +2 -0
  777. package/lib/esm/appui-react/layout/widget/Widget.d.ts.map +1 -1
  778. package/lib/esm/appui-react/layout/widget/Widget.js +2 -2
  779. package/lib/esm/appui-react/layout/widget/Widget.js.map +1 -1
  780. package/lib/esm/appui-react/layout/widget/useIsToolSettingsTab.js +1 -1
  781. package/lib/esm/appui-react/layout/widget/useIsToolSettingsTab.js.map +1 -1
  782. package/lib/esm/appui-react/layout/widget/usePanelWidgetId.d.ts +8 -0
  783. package/lib/esm/appui-react/layout/widget/usePanelWidgetId.d.ts.map +1 -0
  784. package/lib/esm/appui-react/layout/widget/usePanelWidgetId.js +34 -0
  785. package/lib/esm/appui-react/layout/widget/usePanelWidgetId.js.map +1 -0
  786. package/lib/esm/appui-react/layout/widget-panels/Grip.d.ts +1 -1
  787. package/lib/esm/appui-react/layout/widget-panels/Grip.d.ts.map +1 -1
  788. package/lib/esm/appui-react/layout/widget-panels/Grip.js +4 -0
  789. package/lib/esm/appui-react/layout/widget-panels/Grip.js.map +1 -1
  790. package/lib/esm/appui-react/layout/widget-panels/Grip.scss +106 -104
  791. package/lib/esm/appui-react/layout/widget-panels/Panel.d.ts +1 -1
  792. package/lib/esm/appui-react/layout/widget-panels/Panel.d.ts.map +1 -1
  793. package/lib/esm/appui-react/layout/widget-panels/Panel.js +10 -16
  794. package/lib/esm/appui-react/layout/widget-panels/Panel.js.map +1 -1
  795. package/lib/esm/appui-react/layout/widget-panels/Panel.scss +175 -243
  796. package/lib/esm/appui-react/layout/widget-panels/PanelSections.d.ts +1 -0
  797. package/lib/esm/appui-react/layout/widget-panels/PanelSections.d.ts.map +1 -1
  798. package/lib/esm/appui-react/layout/widget-panels/PanelSections.js +41 -34
  799. package/lib/esm/appui-react/layout/widget-panels/PanelSections.js.map +1 -1
  800. package/lib/esm/appui-react/layout/widget-panels/{Panels.scss → PanelSections.scss} +1 -11
  801. package/lib/esm/appui-react/layout/widget-panels/useAnimatePanel.d.ts +1 -1
  802. package/lib/esm/appui-react/layout/widget-panels/useAnimatePanel.js +2 -1
  803. package/lib/esm/appui-react/layout/widget-panels/useAnimatePanel.js.map +1 -1
  804. package/lib/esm/appui-react/layout/widget-panels/usePanelsAutoCollapse.d.ts +7 -0
  805. package/lib/esm/appui-react/layout/widget-panels/usePanelsAutoCollapse.d.ts.map +1 -0
  806. package/lib/esm/appui-react/layout/widget-panels/{AppContent.js → usePanelsAutoCollapse.js} +3 -25
  807. package/lib/esm/appui-react/layout/widget-panels/usePanelsAutoCollapse.js.map +1 -0
  808. package/lib/esm/appui-react/messages/AppNotificationManager.js +1 -1
  809. package/lib/esm/appui-react/messages/AppNotificationManager.js.map +1 -1
  810. package/lib/esm/appui-react/messages/MessageManager.d.ts.map +1 -1
  811. package/lib/esm/appui-react/messages/MessageManager.js +6 -7
  812. package/lib/esm/appui-react/messages/MessageManager.js.map +1 -1
  813. package/lib/esm/appui-react/messages/MessageRenderer.js +17 -11
  814. package/lib/esm/appui-react/messages/MessageRenderer.js.map +1 -1
  815. package/lib/esm/appui-react/messages/getToastCategory.d.ts +1 -1
  816. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.d.ts.map +1 -1
  817. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.js +2 -6
  818. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  819. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.d.ts.map +1 -1
  820. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js +2 -2
  821. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  822. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.d.ts +0 -1
  823. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.d.ts.map +1 -1
  824. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.js +2 -3
  825. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  826. package/lib/esm/appui-react/pickers/ViewSelector.js +6 -5
  827. package/lib/esm/appui-react/pickers/ViewSelector.js.map +1 -1
  828. package/lib/esm/appui-react/popup/CardPopup.d.ts +21 -9
  829. package/lib/esm/appui-react/popup/CardPopup.d.ts.map +1 -1
  830. package/lib/esm/appui-react/popup/CardPopup.js +16 -8
  831. package/lib/esm/appui-react/popup/CardPopup.js.map +1 -1
  832. package/lib/esm/appui-react/popup/ComponentPopup.d.ts +18 -0
  833. package/lib/esm/appui-react/popup/ComponentPopup.d.ts.map +1 -0
  834. package/lib/esm/appui-react/popup/ComponentPopup.js +31 -0
  835. package/lib/esm/appui-react/popup/ComponentPopup.js.map +1 -0
  836. package/lib/esm/appui-react/popup/HTMLElementPopup.d.ts +4 -1
  837. package/lib/esm/appui-react/popup/HTMLElementPopup.d.ts.map +1 -1
  838. package/lib/esm/appui-react/popup/HTMLElementPopup.js +1 -0
  839. package/lib/esm/appui-react/popup/HTMLElementPopup.js.map +1 -1
  840. package/lib/esm/appui-react/popup/InputEditorPopup.d.ts +4 -4
  841. package/lib/esm/appui-react/popup/InputEditorPopup.d.ts.map +1 -1
  842. package/lib/esm/appui-react/popup/InputEditorPopup.js.map +1 -1
  843. package/lib/esm/appui-react/popup/KeyinPalettePanel.d.ts +1 -1
  844. package/lib/esm/appui-react/popup/KeyinPalettePanel.d.ts.map +1 -1
  845. package/lib/esm/appui-react/popup/KeyinPalettePanel.js +25 -16
  846. package/lib/esm/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  847. package/lib/esm/appui-react/popup/KeyinPalettePopup.d.ts +4 -2
  848. package/lib/esm/appui-react/popup/KeyinPalettePopup.d.ts.map +1 -1
  849. package/lib/esm/appui-react/popup/KeyinPalettePopup.js +10 -4
  850. package/lib/esm/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  851. package/lib/esm/appui-react/popup/PopupManager.d.ts +45 -9
  852. package/lib/esm/appui-react/popup/PopupManager.d.ts.map +1 -1
  853. package/lib/esm/appui-react/popup/PopupManager.js +87 -14
  854. package/lib/esm/appui-react/popup/PopupManager.js.map +1 -1
  855. package/lib/esm/appui-react/popup/ToolSettingsPopup.js +1 -1
  856. package/lib/esm/appui-react/popup/ToolSettingsPopup.js.map +1 -1
  857. package/lib/esm/appui-react/popup/ToolbarPopup.d.ts +16 -6
  858. package/lib/esm/appui-react/popup/ToolbarPopup.d.ts.map +1 -1
  859. package/lib/esm/appui-react/popup/ToolbarPopup.js +10 -4
  860. package/lib/esm/appui-react/popup/ToolbarPopup.js.map +1 -1
  861. package/lib/esm/appui-react/preview/PreviewFeatures.d.ts +9 -2
  862. package/lib/esm/appui-react/preview/PreviewFeatures.d.ts.map +1 -1
  863. package/lib/esm/appui-react/preview/PreviewFeatures.js +3 -2
  864. package/lib/esm/appui-react/preview/PreviewFeatures.js.map +1 -1
  865. package/lib/esm/appui-react/preview/activate-dropped-tab/activateDroppedTab.d.ts +6 -0
  866. package/lib/esm/appui-react/preview/activate-dropped-tab/activateDroppedTab.d.ts.map +1 -0
  867. package/lib/esm/appui-react/{layout/state → preview/activate-dropped-tab}/activateDroppedTab.js +5 -4
  868. package/lib/esm/appui-react/preview/activate-dropped-tab/activateDroppedTab.js.map +1 -0
  869. package/lib/esm/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.d.ts +6 -0
  870. package/lib/esm/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.d.ts.map +1 -0
  871. package/lib/esm/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.js +14 -0
  872. package/lib/esm/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.js.map +1 -0
  873. package/lib/esm/appui-react/{layout/widget-panels/CenterContent.scss → preview/content-always-max-size/useContentAlwaysMaxSize.scss} +5 -2
  874. package/lib/esm/appui-react/preview/enable-maximized-widget/MaximizeToggle.d.ts +9 -0
  875. package/lib/esm/appui-react/preview/enable-maximized-widget/MaximizeToggle.d.ts.map +1 -0
  876. package/lib/esm/appui-react/preview/enable-maximized-widget/MaximizeToggle.js +46 -0
  877. package/lib/esm/appui-react/preview/enable-maximized-widget/MaximizeToggle.js.map +1 -0
  878. package/lib/esm/appui-react/preview/enable-maximized-widget/MaximizedWidget.d.ts +18 -0
  879. package/lib/esm/appui-react/preview/enable-maximized-widget/MaximizedWidget.d.ts.map +1 -0
  880. package/lib/esm/appui-react/preview/enable-maximized-widget/MaximizedWidget.js +23 -0
  881. package/lib/esm/appui-react/preview/enable-maximized-widget/MaximizedWidget.js.map +1 -0
  882. package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.d.ts +50 -0
  883. package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.d.ts.map +1 -0
  884. package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js +106 -0
  885. package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js.map +1 -0
  886. package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.scss +36 -0
  887. package/lib/esm/appui-react/{layout/widget → preview/horizontal-panel-alignment}/PreviewHorizontalPanelAlign.d.ts +4 -6
  888. package/lib/esm/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.d.ts.map +1 -0
  889. package/lib/esm/appui-react/{layout/widget → preview/horizontal-panel-alignment}/PreviewHorizontalPanelAlign.js +16 -19
  890. package/lib/esm/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js.map +1 -0
  891. package/lib/esm/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.d.ts +19 -0
  892. package/lib/esm/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.d.ts.map +1 -0
  893. package/lib/esm/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.js +26 -0
  894. package/lib/esm/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.js.map +1 -0
  895. package/lib/esm/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.scss +49 -0
  896. package/lib/esm/appui-react/preview/new-toolbars/ActionItem.d.ts +12 -0
  897. package/lib/esm/appui-react/preview/new-toolbars/ActionItem.d.ts.map +1 -0
  898. package/lib/esm/appui-react/preview/new-toolbars/ActionItem.js +22 -0
  899. package/lib/esm/appui-react/preview/new-toolbars/ActionItem.js.map +1 -0
  900. package/lib/esm/appui-react/preview/new-toolbars/Badge.d.ts +9 -0
  901. package/lib/esm/appui-react/preview/new-toolbars/Badge.d.ts.map +1 -0
  902. package/lib/esm/appui-react/preview/new-toolbars/Badge.js +16 -0
  903. package/lib/esm/appui-react/preview/new-toolbars/Badge.js.map +1 -0
  904. package/lib/esm/appui-react/preview/new-toolbars/Badge.scss +13 -0
  905. package/lib/esm/appui-react/preview/new-toolbars/CustomItem.d.ts +12 -0
  906. package/lib/esm/appui-react/preview/new-toolbars/CustomItem.d.ts.map +1 -0
  907. package/lib/esm/appui-react/preview/new-toolbars/CustomItem.js +33 -0
  908. package/lib/esm/appui-react/preview/new-toolbars/CustomItem.js.map +1 -0
  909. package/lib/esm/appui-react/preview/new-toolbars/ExpandIndicator.d.ts +5 -0
  910. package/lib/esm/appui-react/preview/new-toolbars/ExpandIndicator.d.ts.map +1 -0
  911. package/lib/esm/appui-react/{statusbar/Popup.js → preview/new-toolbars/ExpandIndicator.js} +5 -10
  912. package/lib/esm/appui-react/preview/new-toolbars/ExpandIndicator.js.map +1 -0
  913. package/lib/esm/appui-react/preview/new-toolbars/ExpandIndicator.scss +17 -0
  914. package/lib/esm/appui-react/preview/new-toolbars/GroupItem.d.ts +22 -0
  915. package/lib/esm/appui-react/preview/new-toolbars/GroupItem.d.ts.map +1 -0
  916. package/lib/esm/appui-react/preview/new-toolbars/GroupItem.js +74 -0
  917. package/lib/esm/appui-react/preview/new-toolbars/GroupItem.js.map +1 -0
  918. package/lib/esm/appui-react/preview/new-toolbars/Item.d.ts +21 -0
  919. package/lib/esm/appui-react/preview/new-toolbars/Item.d.ts.map +1 -0
  920. package/lib/esm/appui-react/preview/new-toolbars/Item.js +49 -0
  921. package/lib/esm/appui-react/preview/new-toolbars/Item.js.map +1 -0
  922. package/lib/esm/appui-react/preview/new-toolbars/OverflowButton.d.ts +17 -0
  923. package/lib/esm/appui-react/preview/new-toolbars/OverflowButton.d.ts.map +1 -0
  924. package/lib/esm/appui-react/preview/new-toolbars/OverflowButton.js +34 -0
  925. package/lib/esm/appui-react/preview/new-toolbars/OverflowButton.js.map +1 -0
  926. package/lib/esm/appui-react/preview/new-toolbars/ToolGroup.d.ts +18 -0
  927. package/lib/esm/appui-react/preview/new-toolbars/ToolGroup.d.ts.map +1 -0
  928. package/lib/esm/appui-react/preview/new-toolbars/ToolGroup.js +81 -0
  929. package/lib/esm/appui-react/preview/new-toolbars/ToolGroup.js.map +1 -0
  930. package/lib/esm/appui-react/preview/new-toolbars/ToolGroup.scss +43 -0
  931. package/lib/esm/appui-react/preview/new-toolbars/Toolbar.d.ts +23 -0
  932. package/lib/esm/appui-react/preview/new-toolbars/Toolbar.d.ts.map +1 -0
  933. package/lib/esm/appui-react/preview/new-toolbars/Toolbar.js +36 -0
  934. package/lib/esm/appui-react/preview/new-toolbars/Toolbar.js.map +1 -0
  935. package/lib/esm/appui-react/preview/new-toolbars/useOverflow.d.ts +9 -0
  936. package/lib/esm/appui-react/preview/new-toolbars/useOverflow.d.ts.map +1 -0
  937. package/lib/esm/appui-react/preview/new-toolbars/useOverflow.js +89 -0
  938. package/lib/esm/appui-react/preview/new-toolbars/useOverflow.js.map +1 -0
  939. package/lib/esm/appui-react/preview/widget-action-dropdown/Button.d.ts +1 -1
  940. package/lib/esm/appui-react/preview/widget-action-dropdown/Button.js +1 -1
  941. package/lib/esm/appui-react/preview/widget-action-dropdown/Button.js.map +1 -1
  942. package/lib/esm/appui-react/preview/widget-action-dropdown/MoreButton.d.ts +3 -2
  943. package/lib/esm/appui-react/preview/widget-action-dropdown/MoreButton.d.ts.map +1 -1
  944. package/lib/esm/appui-react/preview/widget-action-dropdown/MoreButton.js +7 -6
  945. package/lib/esm/appui-react/preview/widget-action-dropdown/MoreButton.js.map +1 -1
  946. package/lib/esm/appui-react/redux/FrameworkState.d.ts +1 -1
  947. package/lib/esm/appui-react/redux/SessionState.d.ts +17 -5
  948. package/lib/esm/appui-react/redux/SessionState.d.ts.map +1 -1
  949. package/lib/esm/appui-react/redux/SessionState.js +8 -1
  950. package/lib/esm/appui-react/redux/SessionState.js.map +1 -1
  951. package/lib/esm/appui-react/selection/SelectionContextItemDef.js +2 -2
  952. package/lib/esm/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  953. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.d.ts.map +1 -1
  954. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js +6 -8
  955. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  956. package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.d.ts.map +1 -1
  957. package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.js +7 -7
  958. package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.js.map +1 -1
  959. package/lib/esm/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
  960. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js +40 -46
  961. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  962. package/lib/esm/appui-react/shared/ConditionalValue.d.ts +17 -0
  963. package/lib/esm/appui-react/shared/ConditionalValue.d.ts.map +1 -0
  964. package/lib/esm/appui-react/shared/ConditionalValue.js +13 -0
  965. package/lib/esm/appui-react/shared/ConditionalValue.js.map +1 -0
  966. package/lib/esm/appui-react/shared/ItemDefBase.d.ts +2 -2
  967. package/lib/esm/appui-react/shared/ItemDefBase.d.ts.map +1 -1
  968. package/lib/esm/appui-react/shared/ItemDefBase.js.map +1 -1
  969. package/lib/esm/appui-react/shared/ItemProps.d.ts +13 -2
  970. package/lib/esm/appui-react/shared/ItemProps.d.ts.map +1 -1
  971. package/lib/esm/appui-react/shared/ItemProps.js.map +1 -1
  972. package/lib/esm/appui-react/shared/MenuItem.d.ts +21 -2
  973. package/lib/esm/appui-react/shared/MenuItem.d.ts.map +1 -1
  974. package/lib/esm/appui-react/shared/MenuItem.js.map +1 -1
  975. package/lib/esm/appui-react/stagepanels/StagePanelDef.js +16 -11
  976. package/lib/esm/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  977. package/lib/esm/appui-react/statusbar/Indicator.js +2 -1
  978. package/lib/esm/appui-react/statusbar/Indicator.js.map +1 -1
  979. package/lib/esm/appui-react/statusbar/Overflow.d.ts.map +1 -1
  980. package/lib/esm/appui-react/statusbar/Overflow.js +3 -3
  981. package/lib/esm/appui-react/statusbar/Overflow.js.map +1 -1
  982. package/lib/esm/appui-react/statusbar/StatusBar.d.ts +1 -1
  983. package/lib/esm/appui-react/statusbar/StatusBar.d.ts.map +1 -1
  984. package/lib/esm/appui-react/statusbar/StatusBar.js +6 -4
  985. package/lib/esm/appui-react/statusbar/StatusBar.js.map +1 -1
  986. package/lib/esm/appui-react/statusbar/StatusBarComposer.js +1 -1
  987. package/lib/esm/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  988. package/lib/esm/appui-react/statusbar/StatusBarItem.d.ts +2 -2
  989. package/lib/esm/appui-react/statusbar/StatusBarItem.d.ts.map +1 -1
  990. package/lib/esm/appui-react/statusbar/StatusBarItem.js.map +1 -1
  991. package/lib/{cjs/appui-react/statusbar → esm/appui-react/statusbar/popup}/Popup.d.ts +2 -1
  992. package/lib/esm/appui-react/statusbar/popup/Popup.d.ts.map +1 -0
  993. package/lib/esm/appui-react/{layout/footer → statusbar/popup}/Popup.js +8 -9
  994. package/lib/esm/appui-react/statusbar/popup/Popup.js.map +1 -0
  995. package/lib/esm/appui-react/{layout/footer → statusbar/popup}/Popup.scss +1 -7
  996. package/lib/esm/appui-react/statusfields/ActivityCenter.d.ts.map +1 -1
  997. package/lib/esm/appui-react/statusfields/ActivityCenter.js +5 -4
  998. package/lib/esm/appui-react/statusfields/ActivityCenter.js.map +1 -1
  999. package/lib/esm/appui-react/statusfields/MessageCenter.d.ts +0 -1
  1000. package/lib/esm/appui-react/statusfields/MessageCenter.d.ts.map +1 -1
  1001. package/lib/esm/appui-react/statusfields/MessageCenter.js +4 -4
  1002. package/lib/esm/appui-react/statusfields/MessageCenter.js.map +1 -1
  1003. package/lib/esm/appui-react/statusfields/SectionsField.d.ts.map +1 -1
  1004. package/lib/esm/appui-react/statusfields/SectionsField.js +7 -10
  1005. package/lib/esm/appui-react/statusfields/SectionsField.js.map +1 -1
  1006. package/lib/esm/appui-react/statusfields/SelectionScope.d.ts.map +1 -1
  1007. package/lib/esm/appui-react/statusfields/SelectionScope.js +4 -4
  1008. package/lib/esm/appui-react/statusfields/SelectionScope.js.map +1 -1
  1009. package/lib/esm/appui-react/statusfields/SnapMode.d.ts.map +1 -1
  1010. package/lib/esm/appui-react/statusfields/SnapMode.js +14 -12
  1011. package/lib/esm/appui-react/statusfields/SnapMode.js.map +1 -1
  1012. package/lib/esm/appui-react/statusfields/ViewAttributes.d.ts +0 -2
  1013. package/lib/esm/appui-react/statusfields/ViewAttributes.d.ts.map +1 -1
  1014. package/lib/esm/appui-react/statusfields/ViewAttributes.js +12 -20
  1015. package/lib/esm/appui-react/statusfields/ViewAttributes.js.map +1 -1
  1016. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  1017. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js +3 -3
  1018. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  1019. package/lib/esm/appui-react/theme/ThemeManager.d.ts.map +1 -1
  1020. package/lib/esm/appui-react/theme/ThemeManager.js +3 -2
  1021. package/lib/esm/appui-react/theme/ThemeManager.js.map +1 -1
  1022. package/lib/esm/appui-react/timeline/SolarTimelineDataProvider.d.ts.map +1 -1
  1023. package/lib/esm/appui-react/timeline/SolarTimelineDataProvider.js +2 -3
  1024. package/lib/esm/appui-react/timeline/SolarTimelineDataProvider.js.map +1 -1
  1025. package/lib/esm/appui-react/toolbar/Toolbar.d.ts +4 -3
  1026. package/lib/esm/appui-react/toolbar/Toolbar.d.ts.map +1 -1
  1027. package/lib/esm/appui-react/toolbar/Toolbar.js +29 -5
  1028. package/lib/esm/appui-react/toolbar/Toolbar.js.map +1 -1
  1029. package/lib/esm/appui-react/toolbar/ToolbarComposer.d.ts +4 -2
  1030. package/lib/esm/appui-react/toolbar/ToolbarComposer.d.ts.map +1 -1
  1031. package/lib/esm/appui-react/toolbar/ToolbarComposer.js +15 -12
  1032. package/lib/esm/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  1033. package/lib/esm/appui-react/toolbar/ToolbarHelper.d.ts.map +1 -1
  1034. package/lib/esm/appui-react/toolbar/ToolbarHelper.js +5 -6
  1035. package/lib/esm/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  1036. package/lib/esm/appui-react/toolbar/ToolbarItem.d.ts +2 -2
  1037. package/lib/esm/appui-react/toolbar/ToolbarItem.d.ts.map +1 -1
  1038. package/lib/esm/appui-react/toolbar/ToolbarItem.js.map +1 -1
  1039. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js +4 -3
  1040. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
  1041. package/lib/esm/appui-react/tools/CoreToolDefinitions.d.ts.map +1 -1
  1042. package/lib/esm/appui-react/tools/CoreToolDefinitions.js +18 -11
  1043. package/lib/esm/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  1044. package/lib/esm/appui-react/tools/FrameworkToolAdmin.d.ts.map +1 -1
  1045. package/lib/esm/appui-react/tools/FrameworkToolAdmin.js +2 -1
  1046. package/lib/esm/appui-react/tools/FrameworkToolAdmin.js.map +1 -1
  1047. package/lib/esm/appui-react/toolsettings/DefaultToolSettingsProvider.js +2 -3
  1048. package/lib/esm/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
  1049. package/lib/esm/appui-react/ui-items-provider/AbstractUiItemsManager.js +22 -20
  1050. package/lib/esm/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -1
  1051. package/lib/esm/appui-react/ui-items-provider/BaseUiItemsProvider.js +3 -3
  1052. package/lib/esm/appui-react/ui-items-provider/BaseUiItemsProvider.js.map +1 -1
  1053. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +10 -9
  1054. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  1055. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +2 -1
  1056. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  1057. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js +14 -8
  1058. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  1059. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.d.ts +47 -38
  1060. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.d.ts.map +1 -1
  1061. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.js +100 -141
  1062. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
  1063. package/lib/esm/appui-react/uiprovider/ComponentGenerator.js +1 -1
  1064. package/lib/esm/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
  1065. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.scss +0 -7
  1066. package/lib/esm/appui-react/useTranslation.d.ts +10 -0
  1067. package/lib/esm/appui-react/useTranslation.d.ts.map +1 -0
  1068. package/lib/esm/appui-react/useTranslation.js +16 -0
  1069. package/lib/esm/appui-react/useTranslation.js.map +1 -0
  1070. package/lib/esm/appui-react/utils/InternalUiShowHideManager.js +3 -3
  1071. package/lib/esm/appui-react/utils/InternalUiShowHideManager.js.map +1 -1
  1072. package/lib/esm/appui-react/utils/Placement.d.ts +35 -0
  1073. package/lib/esm/appui-react/utils/Placement.d.ts.map +1 -0
  1074. package/lib/esm/appui-react/utils/Placement.js +57 -0
  1075. package/lib/esm/appui-react/utils/Placement.js.map +1 -0
  1076. package/lib/esm/appui-react/utils/PropsHelper.js +4 -4
  1077. package/lib/esm/appui-react/utils/PropsHelper.js.map +1 -1
  1078. package/lib/esm/appui-react/utils/matchesWords.js +4 -4
  1079. package/lib/esm/appui-react/utils/matchesWords.js.map +1 -1
  1080. package/lib/esm/appui-react/widget-panels/Content.d.ts.map +1 -1
  1081. package/lib/esm/appui-react/widget-panels/Content.js +12 -11
  1082. package/lib/esm/appui-react/widget-panels/Content.js.map +1 -1
  1083. package/lib/esm/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  1084. package/lib/esm/appui-react/widget-panels/Frontstage.js +45 -41
  1085. package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
  1086. package/lib/esm/appui-react/widget-panels/Frontstage.scss +0 -23
  1087. package/lib/esm/appui-react/widget-panels/StatusBar.js +1 -1
  1088. package/lib/esm/appui-react/widget-panels/StatusBar.js.map +1 -1
  1089. package/lib/esm/appui-react/widget-panels/Tab.d.ts +1 -1
  1090. package/lib/esm/appui-react/widget-panels/Tab.d.ts.map +1 -1
  1091. package/lib/esm/appui-react/widget-panels/Tab.js +2 -3
  1092. package/lib/esm/appui-react/widget-panels/Tab.js.map +1 -1
  1093. package/lib/esm/appui-react/widget-panels/ToolSettings.d.ts +1 -1
  1094. package/lib/esm/appui-react/widget-panels/ToolSettings.d.ts.map +1 -1
  1095. package/lib/esm/appui-react/widget-panels/ToolSettings.js +53 -66
  1096. package/lib/esm/appui-react/widget-panels/ToolSettings.js.map +1 -1
  1097. package/lib/esm/appui-react/widget-panels/ToolSettings.scss +0 -6
  1098. package/lib/esm/appui-react/widget-panels/Toolbars.js +3 -2
  1099. package/lib/esm/appui-react/widget-panels/Toolbars.js.map +1 -1
  1100. package/lib/esm/appui-react/widget-panels/Toolbars.scss +3 -1
  1101. package/lib/esm/appui-react/widgets/BackstageAppButton.d.ts.map +1 -1
  1102. package/lib/esm/appui-react/widgets/BackstageAppButton.js +3 -1
  1103. package/lib/esm/appui-react/widgets/BackstageAppButton.js.map +1 -1
  1104. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.d.ts.map +1 -1
  1105. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js +5 -3
  1106. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  1107. package/lib/esm/appui-react/widgets/Widget.d.ts +2 -2
  1108. package/lib/esm/appui-react/widgets/Widget.d.ts.map +1 -1
  1109. package/lib/esm/appui-react/widgets/Widget.js.map +1 -1
  1110. package/lib/esm/appui-react/widgets/WidgetDef.d.ts +9 -4
  1111. package/lib/esm/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  1112. package/lib/esm/appui-react/widgets/WidgetDef.js +59 -17
  1113. package/lib/esm/appui-react/widgets/WidgetDef.js.map +1 -1
  1114. package/lib/esm/appui-react/widgets/WidgetHost.js +3 -2
  1115. package/lib/esm/appui-react/widgets/WidgetHost.js.map +1 -1
  1116. package/lib/esm/appui-react/widgets/useWidget.js +1 -1
  1117. package/lib/esm/appui-react/widgets/useWidget.js.map +1 -1
  1118. package/lib/esm/appui-react.d.ts +4 -1
  1119. package/lib/esm/appui-react.d.ts.map +1 -1
  1120. package/lib/esm/appui-react.js +4 -1
  1121. package/lib/esm/appui-react.js.map +1 -1
  1122. package/lib/public/locales/en/UiFramework.json +8 -2
  1123. package/package.json +22 -20
  1124. package/lib/cjs/appui-react/layout/footer/Popup.d.ts +0 -12
  1125. package/lib/cjs/appui-react/layout/footer/Popup.d.ts.map +0 -1
  1126. package/lib/cjs/appui-react/layout/footer/Popup.js.map +0 -1
  1127. package/lib/cjs/appui-react/layout/state/activateDroppedTab.d.ts +0 -5
  1128. package/lib/cjs/appui-react/layout/state/activateDroppedTab.d.ts.map +0 -1
  1129. package/lib/cjs/appui-react/layout/state/activateDroppedTab.js.map +0 -1
  1130. package/lib/cjs/appui-react/layout/widget/PreviewHorizontalPanelAlign.d.ts.map +0 -1
  1131. package/lib/cjs/appui-react/layout/widget/PreviewHorizontalPanelAlign.js.map +0 -1
  1132. package/lib/cjs/appui-react/layout/widget/PreviewMaximizeToggle.d.ts +0 -30
  1133. package/lib/cjs/appui-react/layout/widget/PreviewMaximizeToggle.d.ts.map +0 -1
  1134. package/lib/cjs/appui-react/layout/widget/PreviewMaximizeToggle.js +0 -65
  1135. package/lib/cjs/appui-react/layout/widget/PreviewMaximizeToggle.js.map +0 -1
  1136. package/lib/cjs/appui-react/layout/widget-panels/AppContent.d.ts +0 -11
  1137. package/lib/cjs/appui-react/layout/widget-panels/AppContent.d.ts.map +0 -1
  1138. package/lib/cjs/appui-react/layout/widget-panels/AppContent.js.map +0 -1
  1139. package/lib/cjs/appui-react/layout/widget-panels/CenterContent.d.ts +0 -10
  1140. package/lib/cjs/appui-react/layout/widget-panels/CenterContent.d.ts.map +0 -1
  1141. package/lib/cjs/appui-react/layout/widget-panels/CenterContent.js +0 -23
  1142. package/lib/cjs/appui-react/layout/widget-panels/CenterContent.js.map +0 -1
  1143. package/lib/cjs/appui-react/layout/widget-panels/Content.d.ts +0 -21
  1144. package/lib/cjs/appui-react/layout/widget-panels/Content.d.ts.map +0 -1
  1145. package/lib/cjs/appui-react/layout/widget-panels/Content.js +0 -21
  1146. package/lib/cjs/appui-react/layout/widget-panels/Content.js.map +0 -1
  1147. package/lib/cjs/appui-react/layout/widget-panels/Content.scss +0 -37
  1148. package/lib/cjs/appui-react/layout/widget-panels/Panels.d.ts +0 -24
  1149. package/lib/cjs/appui-react/layout/widget-panels/Panels.d.ts.map +0 -1
  1150. package/lib/cjs/appui-react/layout/widget-panels/Panels.js +0 -48
  1151. package/lib/cjs/appui-react/layout/widget-panels/Panels.js.map +0 -1
  1152. package/lib/cjs/appui-react/statusbar/Popup.d.ts.map +0 -1
  1153. package/lib/cjs/appui-react/statusbar/Popup.js.map +0 -1
  1154. package/lib/esm/appui-react/layout/footer/Popup.d.ts +0 -12
  1155. package/lib/esm/appui-react/layout/footer/Popup.d.ts.map +0 -1
  1156. package/lib/esm/appui-react/layout/footer/Popup.js.map +0 -1
  1157. package/lib/esm/appui-react/layout/state/activateDroppedTab.d.ts +0 -5
  1158. package/lib/esm/appui-react/layout/state/activateDroppedTab.d.ts.map +0 -1
  1159. package/lib/esm/appui-react/layout/state/activateDroppedTab.js.map +0 -1
  1160. package/lib/esm/appui-react/layout/widget/PreviewHorizontalPanelAlign.d.ts.map +0 -1
  1161. package/lib/esm/appui-react/layout/widget/PreviewHorizontalPanelAlign.js.map +0 -1
  1162. package/lib/esm/appui-react/layout/widget/PreviewMaximizeToggle.d.ts +0 -30
  1163. package/lib/esm/appui-react/layout/widget/PreviewMaximizeToggle.d.ts.map +0 -1
  1164. package/lib/esm/appui-react/layout/widget/PreviewMaximizeToggle.js +0 -58
  1165. package/lib/esm/appui-react/layout/widget/PreviewMaximizeToggle.js.map +0 -1
  1166. package/lib/esm/appui-react/layout/widget-panels/AppContent.d.ts +0 -11
  1167. package/lib/esm/appui-react/layout/widget-panels/AppContent.d.ts.map +0 -1
  1168. package/lib/esm/appui-react/layout/widget-panels/AppContent.js.map +0 -1
  1169. package/lib/esm/appui-react/layout/widget-panels/CenterContent.d.ts +0 -10
  1170. package/lib/esm/appui-react/layout/widget-panels/CenterContent.d.ts.map +0 -1
  1171. package/lib/esm/appui-react/layout/widget-panels/CenterContent.js +0 -19
  1172. package/lib/esm/appui-react/layout/widget-panels/CenterContent.js.map +0 -1
  1173. package/lib/esm/appui-react/layout/widget-panels/Content.d.ts +0 -21
  1174. package/lib/esm/appui-react/layout/widget-panels/Content.d.ts.map +0 -1
  1175. package/lib/esm/appui-react/layout/widget-panels/Content.js +0 -18
  1176. package/lib/esm/appui-react/layout/widget-panels/Content.js.map +0 -1
  1177. package/lib/esm/appui-react/layout/widget-panels/Content.scss +0 -37
  1178. package/lib/esm/appui-react/layout/widget-panels/Panels.d.ts +0 -24
  1179. package/lib/esm/appui-react/layout/widget-panels/Panels.d.ts.map +0 -1
  1180. package/lib/esm/appui-react/layout/widget-panels/Panels.js +0 -44
  1181. package/lib/esm/appui-react/layout/widget-panels/Panels.js.map +0 -1
  1182. package/lib/esm/appui-react/statusbar/Popup.d.ts.map +0 -1
  1183. package/lib/esm/appui-react/statusbar/Popup.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ToolAssistanceField.js","sourceRoot":"","sources":["../../../../../src/appui-react/statusfields/toolassistance/ToolAssistanceField.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 */\n\nimport { Logger } from \"@itwin/core-bentley\";\nimport type {\n ToolAssistanceInstruction,\n ToolAssistanceInstructions,\n ToolAssistanceKeyboardInfo,\n ToolAssistanceSection,\n} from \"@itwin/core-frontend\";\nimport {\n IModelApp,\n ToolAssistanceImage,\n ToolAssistanceInputMethod,\n} from \"@itwin/core-frontend\";\nimport type {\n CommonProps,\n UiStateStorage,\n UiStateStorageResult,\n} from \"@itwin/core-react\";\nimport {\n FillCentered,\n Icon,\n LocalStateStorage,\n UiCore,\n UiStateEntry,\n UiStateStorageStatus,\n} from \"@itwin/core-react\";\nimport { Tabs, ToggleSwitch } from \"@itwin/itwinui-react\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { UiFramework } from \"../../UiFramework\";\nimport { CursorPrompt } from \"../../cursor/cursorprompt/CursorPrompt\";\nimport type { ToolIconChangedEventArgs } from \"../../framework/FrameworkFrontstages\";\nimport type { ToolAssistanceChangedEventArgs } from \"../../messages/MessageManager\";\nimport { MessageManager } from \"../../messages/MessageManager\";\nimport { UiStateStorageContext } from \"../../uistate/useUiStateStorage\";\nimport \"./ToolAssistanceField.scss\";\n\nimport { SvgClose, SvgPin } from \"@itwin/itwinui-icons-react\";\nimport { ToolAssistanceDialog } from \"../../layout/footer/tool-assistance/Dialog\";\nimport { ToolAssistance } from \"../../layout/footer/tool-assistance/Indicator\";\nimport { ToolAssistanceInstruction as NZ_ToolAssistanceInstruction } from \"../../layout/footer/tool-assistance/Instruction\";\nimport { ToolAssistanceItem } from \"../../layout/footer/tool-assistance/Item\";\nimport { ToolAssistanceSeparator } from \"../../layout/footer/tool-assistance/Separator\";\nimport { StatusBar } from \"../../statusbar/StatusBar\";\nimport { StatusBarDialog } from \"../../statusbar/dialog/Dialog\";\nimport acceptPointIcon from \"./accept-point.svg\";\nimport cursorClickIcon from \"./cursor-click.svg\";\nimport oneTouchDragIcon from \"./gesture-one-finger-drag.svg\";\nimport oneTouchDoubleTapIcon from \"./gesture-one-finger-tap-double.svg\";\nimport oneTouchTapIcon from \"./gesture-one-finger-tap.svg\";\nimport twoTouchPinchIcon from \"./gesture-pinch.svg\";\nimport twoTouchDragIcon from \"./gesture-two-finger-drag.svg\";\nimport twoTouchTapIcon from \"./gesture-two-finger-tap.svg\";\nimport clickLeftDragIcon from \"./mouse-click-left-drag.svg\";\nimport clickLeftIcon from \"./mouse-click-left.svg\";\nimport clickRightDragIcon from \"./mouse-click-right-drag.svg\";\nimport clickRightIcon from \"./mouse-click-right.svg\";\nimport clickMouseWheelDragIcon from \"./mouse-click-wheel-drag.svg\";\nimport mouseWheelClickIcon from \"./mouse-click-wheel.svg\";\nimport touchCursorDragIcon from \"./touch-cursor-pan.svg\";\nimport touchCursorTapIcon from \"./touch-cursor-point.svg\";\n\n// cSpell:ignore cursorprompt\n\n/** Properties of [[ToolAssistanceField]] component.\n * @public\n */\nexport interface ToolAssistanceFieldProps extends CommonProps {\n /** Indicates whether to include promptAtCursor Checkbox. Defaults to true. */\n includePromptAtCursor: boolean;\n /** Optional parameter for persistent UI settings. Defaults to UiStateStorageContext.\n */\n uiStateStorage?: UiStateStorage;\n /** Cursor Prompt Timeout period. Defaults to 5000. */\n cursorPromptTimeout: number;\n /** Fade Out the Cursor Prompt when closed. */\n fadeOutCursorPrompt: boolean;\n /** Indicates whether to show promptAtCursor by default. Defaults to false. */\n defaultPromptAtCursor: boolean;\n}\n\n/** Default properties of [[ToolAssistanceField]] component.\n * @internal\n */\nexport type ToolAssistanceFieldDefaultProps = Pick<\n ToolAssistanceFieldProps,\n | \"includePromptAtCursor\"\n | \"uiStateStorage\"\n | \"cursorPromptTimeout\"\n | \"fadeOutCursorPrompt\"\n | \"defaultPromptAtCursor\"\n>;\n\n/** @internal */\ninterface ToolAssistanceFieldState {\n instructions: ToolAssistanceInstructions | undefined;\n toolIconSpec: string;\n showPromptAtCursor: boolean;\n includeMouseInstructions: boolean;\n includeTouchInstructions: boolean;\n showMouseTouchTabs: boolean;\n showMouseInstructions: boolean;\n showTouchInstructions: boolean;\n mouseTouchTabIndex: number;\n isPinned: boolean;\n isOpen: boolean;\n}\n\n/** Tool Assistance Field React component.\n * @public\n */\nexport class ToolAssistanceField extends React.Component<\n ToolAssistanceFieldProps,\n ToolAssistanceFieldState\n> {\n /** @internal */\n public static override contextType = UiStateStorageContext;\n /** @internal */\n public declare context: React.ContextType<typeof UiStateStorageContext>;\n\n private static _toolAssistanceKey = \"ToolAssistance\";\n private static _showPromptAtCursorKey = \"showPromptAtCursor\";\n private static _mouseTouchTabIndexKey = \"mouseTouchTabIndex\";\n private _showPromptAtCursorSetting: UiStateEntry<boolean>;\n private _mouseTouchTabIndexSetting: UiStateEntry<number>;\n private _target: HTMLElement | null = null;\n private _indicator = React.createRef<HTMLDivElement>();\n private _cursorPrompt: CursorPrompt;\n private _isMounted = false;\n private _uiSettingsStorage: UiStateStorage;\n\n /** @internal */\n public static readonly defaultProps: ToolAssistanceFieldDefaultProps = {\n includePromptAtCursor: true,\n cursorPromptTimeout: 5000,\n fadeOutCursorPrompt: true,\n defaultPromptAtCursor: false,\n };\n\n /** @internal */\n constructor(p: ToolAssistanceFieldProps) {\n super(p);\n\n const mobile = UiFramework.isMobile();\n\n this.state = {\n instructions: undefined,\n toolIconSpec: \"\",\n showPromptAtCursor: p.defaultPromptAtCursor,\n includeMouseInstructions: !mobile,\n includeTouchInstructions: true,\n showMouseTouchTabs: false,\n showMouseInstructions: false,\n showTouchInstructions: false,\n mouseTouchTabIndex: 0,\n isPinned: false,\n isOpen: false,\n };\n\n this._uiSettingsStorage = new LocalStateStorage();\n this._cursorPrompt = new CursorPrompt(\n this.props.cursorPromptTimeout,\n this.props.fadeOutCursorPrompt\n );\n this._showPromptAtCursorSetting = new UiStateEntry(\n ToolAssistanceField._toolAssistanceKey,\n ToolAssistanceField._showPromptAtCursorKey,\n () => this.state.showPromptAtCursor\n );\n this._mouseTouchTabIndexSetting = new UiStateEntry(\n ToolAssistanceField._toolAssistanceKey,\n ToolAssistanceField._mouseTouchTabIndexKey,\n () => this.state.mouseTouchTabIndex\n );\n }\n\n /** @internal */\n public override async componentDidMount() {\n this._isMounted = true;\n MessageManager.onToolAssistanceChangedEvent.addListener(\n this._handleToolAssistanceChangedEvent\n );\n UiFramework.frontstages.onToolIconChangedEvent.addListener(\n this._handleToolIconChangedEvent\n );\n\n // istanbul ignore else\n if (this.props.uiStateStorage)\n this._uiSettingsStorage = this.props.uiStateStorage;\n else if (this.context) this._uiSettingsStorage = this.context;\n\n await this.restoreSettings();\n }\n\n /** @internal */\n public override componentWillUnmount() {\n this._isMounted = false;\n MessageManager.onToolAssistanceChangedEvent.removeListener(\n this._handleToolAssistanceChangedEvent\n );\n UiFramework.frontstages.onToolIconChangedEvent.removeListener(\n this._handleToolIconChangedEvent\n );\n }\n\n private async restoreSettings() {\n let getShowPromptAtCursor: Promise<UiStateStorageResult> | undefined;\n // istanbul ignore else\n if (this.props.includePromptAtCursor) {\n getShowPromptAtCursor = this._showPromptAtCursorSetting.getSetting(\n this._uiSettingsStorage\n );\n }\n const getMouseTouchTabIndex = this._mouseTouchTabIndexSetting.getSetting(\n this._uiSettingsStorage\n );\n const [showPromptAtCursorResult, mouseTouchTabIndexResult] =\n await Promise.all([getShowPromptAtCursor, getMouseTouchTabIndex]);\n\n // istanbul ignore else\n if (\n showPromptAtCursorResult !== undefined &&\n showPromptAtCursorResult.status === UiStateStorageStatus.Success\n ) {\n // istanbul ignore else\n if (this._isMounted)\n this.setState({ showPromptAtCursor: showPromptAtCursorResult.setting });\n }\n\n // istanbul ignore else\n if (mouseTouchTabIndexResult.status === UiStateStorageStatus.Success) {\n // istanbul ignore else\n if (this._isMounted)\n this.setState({ mouseTouchTabIndex: mouseTouchTabIndexResult.setting });\n }\n }\n\n private _handleToolAssistanceChangedEvent = (\n args: ToolAssistanceChangedEventArgs\n ): void => {\n let showMouseTouchTabs = false;\n let showMouseInstructions = false;\n let showTouchInstructions = false;\n\n if (args.instructions && args.instructions.sections) {\n const hasMouseInstructions = args.instructions.sections.some(\n (section: ToolAssistanceSection) => {\n return section.instructions.some(\n (instruction: ToolAssistanceInstruction) =>\n this._isMouseInstruction(instruction)\n );\n }\n );\n const hasTouchInstructions = args.instructions.sections.some(\n (section: ToolAssistanceSection) => {\n return section.instructions.some(\n (instruction: ToolAssistanceInstruction) =>\n this._isTouchInstruction(instruction)\n );\n }\n );\n\n if (\n this.state.includeMouseInstructions &&\n this.state.includeTouchInstructions &&\n hasMouseInstructions &&\n hasTouchInstructions\n ) {\n showMouseTouchTabs = true;\n showMouseInstructions = this.state.mouseTouchTabIndex === 0;\n showTouchInstructions = this.state.mouseTouchTabIndex === 1;\n } else {\n if (this.state.includeMouseInstructions && hasMouseInstructions)\n showMouseInstructions = true;\n else if (this.state.includeTouchInstructions && hasTouchInstructions)\n showTouchInstructions = true;\n }\n }\n\n // istanbul ignore else\n if (this._isMounted)\n this.setState(\n {\n instructions: args.instructions,\n showMouseTouchTabs,\n showMouseInstructions,\n showTouchInstructions,\n },\n () => {\n this._showCursorPrompt();\n }\n );\n };\n\n private _isBothInstruction = (instruction: ToolAssistanceInstruction) => {\n return (\n instruction.inputMethod === undefined ||\n instruction.inputMethod === ToolAssistanceInputMethod.Both\n );\n };\n\n private _isMouseInstruction = (instruction: ToolAssistanceInstruction) =>\n instruction.inputMethod === ToolAssistanceInputMethod.Mouse;\n\n private _isTouchInstruction = (instruction: ToolAssistanceInstruction) =>\n instruction.inputMethod === ToolAssistanceInputMethod.Touch;\n\n private _handleToolIconChangedEvent = (\n args: ToolIconChangedEventArgs\n ): void => {\n // istanbul ignore else\n if (this._isMounted)\n this.setState({ toolIconSpec: args.iconSpec }, () => {\n this._showCursorPrompt();\n });\n };\n\n private _showCursorPrompt() {\n if (this.state.showPromptAtCursor && this.state.instructions)\n this._cursorPrompt.display(\n this.state.toolIconSpec,\n this.state.instructions.mainInstruction\n );\n }\n\n private _sectionHasDisplayableInstructions(\n section: ToolAssistanceSection\n ): boolean {\n const displayableInstructions = this._getDisplayableInstructions(section);\n return displayableInstructions.length > 0;\n }\n\n private _getDisplayableInstructions(\n section: ToolAssistanceSection\n ): ToolAssistanceInstruction[] {\n const displayableInstructions = section.instructions.filter(\n (instruction: ToolAssistanceInstruction) => {\n return (\n this._isBothInstruction(instruction) ||\n (this.state.showMouseInstructions &&\n this._isMouseInstruction(instruction)) ||\n (this.state.showTouchInstructions &&\n this._isTouchInstruction(instruction))\n );\n }\n );\n return displayableInstructions;\n }\n\n private _handleMouseTouchTab = async (index: number) => {\n const showMouseInstructions = index === 0;\n const showTouchInstructions = index === 1;\n\n // istanbul ignore else\n if (this._isMounted)\n this.setState(\n {\n mouseTouchTabIndex: index,\n showMouseInstructions,\n showTouchInstructions,\n },\n async () => {\n await this._mouseTouchTabIndexSetting.saveSetting(\n this._uiSettingsStorage\n );\n }\n );\n };\n\n /** @internal */\n public override render(): React.ReactNode {\n const { instructions } = this.state;\n const dialogTitle = IModelApp.toolAdmin.activeTool\n ? /* istanbul ignore next */ IModelApp.toolAdmin.activeTool.flyover\n : UiFramework.translate(\"toolAssistance.title\");\n const mouseLabel = UiFramework.translate(\"toolAssistance.mouse\");\n const touchLabel = UiFramework.translate(\"toolAssistance.touch\");\n let prompt = \"\";\n let tooltip = \"\";\n let toolIcon: React.ReactNode;\n let dialogContent: React.ReactNode;\n\n if (instructions) {\n prompt = instructions.mainInstruction.text;\n toolIcon = <Icon iconSpec={this.state.toolIconSpec} />;\n\n let displayableSections: ToolAssistanceSection[] | undefined;\n if (instructions.sections) {\n displayableSections = instructions.sections.filter(\n (section: ToolAssistanceSection) =>\n this._sectionHasDisplayableInstructions(section)\n );\n }\n\n dialogContent = (\n <div>\n {this.state.showMouseTouchTabs && (\n <Tabs.Wrapper\n type=\"pill\"\n value={String(this.state.mouseTouchTabIndex)}\n >\n <Tabs.TabList className=\"uifw-toolAssistance-tabs\">\n {[mouseLabel, touchLabel].map((label, index) => (\n <Tabs.Tab\n key={index}\n className=\"uifw-tab\"\n value={String(index)}\n label={label}\n onClick={async () => this._handleMouseTouchTab(index)}\n />\n ))}\n </Tabs.TabList>\n </Tabs.Wrapper>\n )}\n\n <div className=\"uifw-toolAssistance-content\">\n <NZ_ToolAssistanceInstruction\n key=\"main\"\n image={ToolAssistanceField.getInstructionImage(\n instructions.mainInstruction\n )}\n text={instructions.mainInstruction.text}\n isNew={instructions.mainInstruction.isNew}\n />\n\n {displayableSections &&\n displayableSections.map(\n (section: ToolAssistanceSection, index1: number) => {\n return (\n <React.Fragment key={index1.toString()}>\n <ToolAssistanceSeparator key={index1.toString()}>\n {section.label}\n </ToolAssistanceSeparator>\n {this._getDisplayableInstructions(section).map(\n (\n instruction: ToolAssistanceInstruction,\n index2: number\n ) => {\n return (\n <NZ_ToolAssistanceInstruction\n key={`${index1.toString()}-${index2.toString()}`}\n image={ToolAssistanceField.getInstructionImage(\n instruction\n )}\n text={instruction.text}\n isNew={instruction.isNew}\n />\n );\n }\n )}\n </React.Fragment>\n );\n }\n )}\n\n {this.props.includePromptAtCursor && (\n <>\n <ToolAssistanceSeparator key=\"prompt-sep\" />\n <ToolAssistanceItem key=\"prompt-item\">\n <ToggleSwitch\n label={UiFramework.translate(\n \"toolAssistance.promptAtCursor\"\n )}\n labelPosition=\"right\"\n checked={this.state.showPromptAtCursor}\n onChange={this._onPromptAtCursorChange}\n />\n </ToolAssistanceItem>\n </>\n )}\n </div>\n </div>\n );\n }\n\n if (prompt) tooltip = prompt;\n\n // istanbul ignore next\n if (IModelApp.toolAdmin.activeTool)\n tooltip = `${IModelApp.toolAdmin.activeTool.flyover} > ${tooltip} `;\n\n if (tooltip) {\n const lineBreak = \"\\u000d\\u000a\";\n tooltip = tooltip + lineBreak;\n }\n\n tooltip += UiFramework.translate(\"toolAssistance.moreInfo\");\n\n return (\n <>\n <div style={{ height: \"100%\" }} ref={this._handleTargetRef}>\n <ToolAssistance\n icons={<>{toolIcon}</>}\n indicatorRef={this._indicator}\n className={classnames(\n \"uifw-statusFields-toolassistance\",\n this.props.className\n )}\n style={this.props.style}\n onClick={this._handleToolAssistanceIndicatorClick}\n title={tooltip}\n >\n {prompt}\n </ToolAssistance>\n </div>\n <StatusBar.Popup\n isOpen={this.state.isOpen}\n onClose={this._handleClose}\n onOutsideClick={this._handleOutsideClick}\n target={this._target}\n isPinned={this.state.isPinned}\n >\n <ToolAssistanceDialog\n buttons={\n <>\n {!this.state.isPinned && (\n <StatusBarDialog.TitleBarButton\n onClick={this._handlePinButtonClick}\n title={UiFramework.translate(\"toolAssistance.pin\")}\n >\n <Icon iconSpec={<SvgPin />} />\n </StatusBarDialog.TitleBarButton>\n )}\n {this.state.isPinned && (\n <StatusBarDialog.TitleBarButton\n onClick={this._handleCloseButtonClick}\n title={UiCore.translate(\"dialog.close\")}\n >\n <Icon iconSpec={<SvgClose />} />\n </StatusBarDialog.TitleBarButton>\n )}\n </>\n }\n title={dialogTitle}\n >\n {dialogContent}\n </ToolAssistanceDialog>\n </StatusBar.Popup>\n </>\n );\n }\n\n private _handleTargetRef = (target: HTMLElement | null) => {\n this._target = target;\n };\n\n private _onPromptAtCursorChange = async (\n e: React.ChangeEvent<HTMLInputElement>\n ) => {\n // istanbul ignore else\n if (this._isMounted)\n this.setState(\n {\n showPromptAtCursor: e.target.checked,\n },\n async () => {\n await this._showPromptAtCursorSetting.saveSetting(\n this._uiSettingsStorage\n );\n }\n );\n };\n\n private _handleClose = () => {\n this.setIsOpen(false);\n };\n\n private _handleOutsideClick = (e: MouseEvent) => {\n // istanbul ignore if\n if (\n !this._indicator.current ||\n !(e.target instanceof Node) ||\n this._indicator.current.contains(e.target)\n )\n return;\n\n this._handleClose();\n };\n\n private _handleToolAssistanceIndicatorClick = () => {\n this.setIsOpen(!this.state.isOpen);\n };\n\n private _handlePinButtonClick = () => {\n // istanbul ignore else\n if (this._isMounted) this.setState({ isPinned: true });\n };\n\n private _handleCloseButtonClick = () => {\n this._handleClose();\n };\n\n private setIsOpen(isOpen: boolean) {\n let newState = {\n isOpen,\n };\n if (!isOpen && this.state.isPinned && this._isMounted) {\n newState = { ...newState, ...{ isPinned: false } };\n }\n this.setState(newState);\n }\n\n /** @internal */\n public static getInstructionImage(\n instruction: ToolAssistanceInstruction\n ): React.ReactNode {\n let image: React.ReactNode;\n\n if (\n (typeof instruction.image === \"string\" ||\n instruction.image !== ToolAssistanceImage.Keyboard) &&\n instruction.keyboardInfo\n ) {\n if (\n instruction.keyboardInfo.keys.length === 1 &&\n !instruction.keyboardInfo.bottomKeys\n ) {\n const key = instruction.keyboardInfo.keys[0];\n const rightImage =\n typeof instruction.image === \"string\" ? (\n <div className=\"uifw-toolassistance-icon-medium\">\n <Icon iconSpec={instruction.image} />\n </div>\n ) : (\n this.getInstructionSvgImage(instruction, true)\n );\n\n image = (\n <FillCentered>\n {ToolAssistanceField.getKeyNode(\n key,\n 0,\n \"uifw-toolassistance-key-modifier\"\n )}\n {rightImage}\n </FillCentered>\n );\n } else {\n Logger.logError(\n UiFramework.loggerCategory(this),\n `getInstructionImage: Invalid keyboardInfo provided with image`\n );\n }\n } else if (typeof instruction.image === \"string\") {\n if (instruction.image.length > 0) {\n const svgSource = getWebComponentSource(instruction.image);\n const className =\n svgSource !== undefined\n ? \"uifw-toolassistance-svg\"\n : \"uifw-toolassistance-icon-large\";\n image = (\n <div className={className}>\n <Icon iconSpec={svgSource ?? instruction.image} />\n </div>\n );\n }\n } else if (instruction.image === ToolAssistanceImage.Keyboard) {\n if (instruction.keyboardInfo) {\n image = ToolAssistanceField.getInstructionKeyboardImage(\n instruction.keyboardInfo\n );\n } else {\n Logger.logError(\n UiFramework.loggerCategory(this),\n `getInstructionImage: ToolAssistanceImage.Keyboard specified but no keyboardInfo provided`\n );\n }\n } else {\n image = this.getInstructionSvgImage(instruction, false);\n }\n\n return image;\n }\n\n private static getInstructionSvgImage(\n instruction: ToolAssistanceInstruction,\n mediumSize: boolean\n ): React.ReactNode {\n let image: React.ReactNode;\n let className = mediumSize\n ? \"uifw-toolassistance-svg-medium\"\n : \"uifw-toolassistance-svg\";\n\n // istanbul ignore else\n if (\n typeof instruction.image !== \"string\" &&\n instruction.image !== ToolAssistanceImage.Keyboard\n ) {\n const toolAssistanceImage: ToolAssistanceImage = instruction.image;\n let svgImage = \"\";\n\n switch (toolAssistanceImage) {\n case ToolAssistanceImage.AcceptPoint:\n svgImage = acceptPointIcon;\n break;\n case ToolAssistanceImage.CursorClick:\n svgImage = cursorClickIcon;\n break;\n case ToolAssistanceImage.LeftClick:\n svgImage = clickLeftIcon;\n break;\n case ToolAssistanceImage.RightClick:\n svgImage = clickRightIcon;\n break;\n case ToolAssistanceImage.MouseWheel:\n svgImage = mouseWheelClickIcon;\n break;\n case ToolAssistanceImage.LeftClickDrag:\n svgImage = clickLeftDragIcon;\n className = mediumSize\n ? \"uifw-toolassistance-svg-medium-wide\"\n : \"uifw-toolassistance-svg-wide\";\n break;\n case ToolAssistanceImage.RightClickDrag:\n svgImage = clickRightDragIcon;\n className = mediumSize\n ? \"uifw-toolassistance-svg-medium-wide\"\n : \"uifw-toolassistance-svg-wide\";\n break;\n case ToolAssistanceImage.MouseWheelClickDrag:\n svgImage = clickMouseWheelDragIcon;\n className = mediumSize\n ? \"uifw-toolassistance-svg-medium-wide\"\n : \"uifw-toolassistance-svg-wide\";\n break;\n case ToolAssistanceImage.OneTouchTap:\n svgImage = oneTouchTapIcon;\n break;\n case ToolAssistanceImage.OneTouchDoubleTap:\n svgImage = oneTouchDoubleTapIcon;\n break;\n case ToolAssistanceImage.OneTouchDrag:\n svgImage = oneTouchDragIcon;\n break;\n case ToolAssistanceImage.TwoTouchTap:\n svgImage = twoTouchTapIcon;\n break;\n case ToolAssistanceImage.TwoTouchDrag:\n svgImage = twoTouchDragIcon;\n break;\n case ToolAssistanceImage.TwoTouchPinch:\n svgImage = twoTouchPinchIcon;\n break;\n case ToolAssistanceImage.TouchCursorTap:\n svgImage = touchCursorTapIcon;\n break;\n case ToolAssistanceImage.TouchCursorDrag:\n svgImage = touchCursorDragIcon;\n className = mediumSize\n ? /* istanbul ignore next */ \"uifw-toolassistance-svg-medium-wide\"\n : \"uifw-toolassistance-svg-wide\";\n break;\n }\n\n image = (\n <div className={className}>\n {svgImage && (\n // istanbul ignore next\n <Icon iconSpec={svgImage} />\n )}\n </div>\n );\n }\n\n return image;\n }\n\n private static getInstructionKeyboardImage(\n keyboardInfo: ToolAssistanceKeyboardInfo\n ): React.ReactNode {\n let image: React.ReactNode;\n\n if (keyboardInfo.bottomKeys !== undefined) {\n image = (\n <div className=\"uifw-toolassistance-key-group\">\n <span className=\"row1\">\n {keyboardInfo.keys.map((key: string, index1: number) => {\n return ToolAssistanceField.getKeyNode(\n key,\n index1,\n \"uifw-toolassistance-key-small\"\n );\n })}\n </span>\n <br />\n <span className=\"row2\">\n {keyboardInfo.bottomKeys.map((key: string, index2: number) => {\n return ToolAssistanceField.getKeyNode(\n key,\n index2,\n \"uifw-toolassistance-key-small\"\n );\n })}\n </span>\n </div>\n );\n } else if (keyboardInfo.keys.length === 2) {\n image = (\n <FillCentered>\n {keyboardInfo.keys.map((key: string, index3: number) => {\n let className = \"uifw-toolassistance-key-medium\";\n if (key.length > 1) className = \"uifw-toolassistance-key-modifier\";\n return ToolAssistanceField.getKeyNode(key, index3, className);\n })}\n </FillCentered>\n );\n } else if (keyboardInfo.keys[0]) {\n if (keyboardInfo.keys[0].length > 1)\n image = ToolAssistanceField.getKeyNode(\n keyboardInfo.keys[0],\n 0,\n \"uifw-toolassistance-key-large\"\n );\n else image = ToolAssistanceField.getKeyNode(keyboardInfo.keys[0], 0);\n } else {\n Logger.logError(\n UiFramework.loggerCategory(this),\n `ToolAssistanceImage.Keyboard specified but ToolAssistanceKeyboardInfo not valid`\n );\n }\n\n return image;\n }\n\n private static getKeyNode(\n key: string,\n index: number,\n className?: string\n ): React.ReactNode {\n return (\n <div\n key={index.toString()}\n className={classnames(\"uifw-toolassistance-key\", className)}\n >\n <FillCentered>{key}</FillCentered>\n </div>\n );\n }\n}\n\nfunction getWebComponentSource(iconSpec: string): string | undefined {\n if (iconSpec.startsWith(\"webSvg:\") && iconSpec.length > 7) {\n return iconSpec.slice(7);\n }\n\n return undefined;\n}\n"]}
1
+ {"version":3,"file":"ToolAssistanceField.js","sourceRoot":"","sources":["../../../../../src/appui-react/statusfields/toolassistance/ToolAssistanceField.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 */\n\nimport { Logger } from \"@itwin/core-bentley\";\nimport type {\n ToolAssistanceInstruction,\n ToolAssistanceInstructions,\n ToolAssistanceKeyboardInfo,\n ToolAssistanceSection,\n} from \"@itwin/core-frontend\";\nimport {\n IModelApp,\n ToolAssistanceImage,\n ToolAssistanceInputMethod,\n} from \"@itwin/core-frontend\";\nimport type {\n CommonProps,\n UiStateStorage,\n UiStateStorageResult,\n} from \"@itwin/core-react\";\nimport {\n FillCentered,\n Icon,\n LocalStateStorage,\n UiStateEntry,\n UiStateStorageStatus,\n} from \"@itwin/core-react\";\nimport { Tabs, ToggleSwitch } from \"@itwin/itwinui-react\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { UiFramework } from \"../../UiFramework\";\nimport { CursorPrompt } from \"../../cursor/cursorprompt/CursorPrompt\";\nimport type { ToolIconChangedEventArgs } from \"../../framework/FrameworkFrontstages\";\nimport type { ToolAssistanceChangedEventArgs } from \"../../messages/MessageManager\";\nimport { MessageManager } from \"../../messages/MessageManager\";\nimport { UiStateStorageContext } from \"../../uistate/useUiStateStorage\";\nimport \"./ToolAssistanceField.scss\";\n\nimport { SvgClose, SvgPin } from \"@itwin/itwinui-icons-react\";\nimport { ToolAssistanceDialog } from \"../../layout/footer/tool-assistance/Dialog\";\nimport { ToolAssistance } from \"../../layout/footer/tool-assistance/Indicator\";\nimport { ToolAssistanceInstruction as NZ_ToolAssistanceInstruction } from \"../../layout/footer/tool-assistance/Instruction\";\nimport { ToolAssistanceItem } from \"../../layout/footer/tool-assistance/Item\";\nimport { ToolAssistanceSeparator } from \"../../layout/footer/tool-assistance/Separator\";\nimport { StatusBar } from \"../../statusbar/StatusBar\";\nimport { StatusBarDialog } from \"../../statusbar/dialog/Dialog\";\nimport acceptPointIcon from \"./accept-point.svg\";\nimport cursorClickIcon from \"./cursor-click.svg\";\nimport oneTouchDragIcon from \"./gesture-one-finger-drag.svg\";\nimport oneTouchDoubleTapIcon from \"./gesture-one-finger-tap-double.svg\";\nimport oneTouchTapIcon from \"./gesture-one-finger-tap.svg\";\nimport twoTouchPinchIcon from \"./gesture-pinch.svg\";\nimport twoTouchDragIcon from \"./gesture-two-finger-drag.svg\";\nimport twoTouchTapIcon from \"./gesture-two-finger-tap.svg\";\nimport clickLeftDragIcon from \"./mouse-click-left-drag.svg\";\nimport clickLeftIcon from \"./mouse-click-left.svg\";\nimport clickRightDragIcon from \"./mouse-click-right-drag.svg\";\nimport clickRightIcon from \"./mouse-click-right.svg\";\nimport clickMouseWheelDragIcon from \"./mouse-click-wheel-drag.svg\";\nimport mouseWheelClickIcon from \"./mouse-click-wheel.svg\";\nimport touchCursorDragIcon from \"./touch-cursor-pan.svg\";\nimport touchCursorTapIcon from \"./touch-cursor-point.svg\";\n\n// cSpell:ignore cursorprompt\n\n/** Properties of [[ToolAssistanceField]] component.\n * @public\n */\nexport interface ToolAssistanceFieldProps extends CommonProps {\n /** Indicates whether to include promptAtCursor Checkbox. Defaults to true. */\n includePromptAtCursor: boolean;\n /** Optional parameter for persistent UI settings. Defaults to UiStateStorageContext.\n */\n uiStateStorage?: UiStateStorage;\n /** Cursor Prompt Timeout period. Defaults to 5000. */\n cursorPromptTimeout: number;\n /** Fade Out the Cursor Prompt when closed. */\n fadeOutCursorPrompt: boolean;\n /** Indicates whether to show promptAtCursor by default. Defaults to false. */\n defaultPromptAtCursor: boolean;\n}\n\n/** Default properties of [[ToolAssistanceField]] component.\n * @internal\n */\nexport type ToolAssistanceFieldDefaultProps = Pick<\n ToolAssistanceFieldProps,\n | \"includePromptAtCursor\"\n | \"uiStateStorage\"\n | \"cursorPromptTimeout\"\n | \"fadeOutCursorPrompt\"\n | \"defaultPromptAtCursor\"\n>;\n\n/** @internal */\ninterface ToolAssistanceFieldState {\n instructions: ToolAssistanceInstructions | undefined;\n toolIconSpec: string;\n showPromptAtCursor: boolean;\n includeMouseInstructions: boolean;\n includeTouchInstructions: boolean;\n showMouseTouchTabs: boolean;\n showMouseInstructions: boolean;\n showTouchInstructions: boolean;\n mouseTouchTabIndex: number;\n isPinned: boolean;\n isOpen: boolean;\n}\n\n/** Tool Assistance Field React component.\n * @public\n */\nexport class ToolAssistanceField extends React.Component<\n ToolAssistanceFieldProps,\n ToolAssistanceFieldState\n> {\n /** @internal */\n public static override contextType = UiStateStorageContext;\n /** @internal */\n public declare context: React.ContextType<typeof UiStateStorageContext>;\n\n private static _toolAssistanceKey = \"ToolAssistance\";\n private static _showPromptAtCursorKey = \"showPromptAtCursor\";\n private static _mouseTouchTabIndexKey = \"mouseTouchTabIndex\";\n private _showPromptAtCursorSetting: UiStateEntry<boolean>;\n private _mouseTouchTabIndexSetting: UiStateEntry<number>;\n private _target: HTMLElement | null = null;\n private _indicator = React.createRef<HTMLDivElement>();\n private _cursorPrompt: CursorPrompt;\n private _isMounted = false;\n private _uiSettingsStorage: UiStateStorage;\n\n /** @internal */\n public static readonly defaultProps: ToolAssistanceFieldDefaultProps = {\n includePromptAtCursor: true,\n cursorPromptTimeout: 5000,\n fadeOutCursorPrompt: true,\n defaultPromptAtCursor: false,\n };\n\n /** @internal */\n constructor(p: ToolAssistanceFieldProps) {\n super(p);\n\n const mobile = UiFramework.isMobile();\n\n this.state = {\n instructions: undefined,\n toolIconSpec: \"\",\n showPromptAtCursor: p.defaultPromptAtCursor,\n includeMouseInstructions: !mobile,\n includeTouchInstructions: true,\n showMouseTouchTabs: false,\n showMouseInstructions: false,\n showTouchInstructions: false,\n mouseTouchTabIndex: 0,\n isPinned: false,\n isOpen: false,\n };\n\n this._uiSettingsStorage = new LocalStateStorage();\n this._cursorPrompt = new CursorPrompt(\n this.props.cursorPromptTimeout,\n this.props.fadeOutCursorPrompt\n );\n this._showPromptAtCursorSetting = new UiStateEntry(\n ToolAssistanceField._toolAssistanceKey,\n ToolAssistanceField._showPromptAtCursorKey,\n () => this.state.showPromptAtCursor\n );\n this._mouseTouchTabIndexSetting = new UiStateEntry(\n ToolAssistanceField._toolAssistanceKey,\n ToolAssistanceField._mouseTouchTabIndexKey,\n () => this.state.mouseTouchTabIndex\n );\n }\n\n /** @internal */\n public override async componentDidMount() {\n this._isMounted = true;\n MessageManager.onToolAssistanceChangedEvent.addListener(\n this._handleToolAssistanceChangedEvent\n );\n UiFramework.frontstages.onToolIconChangedEvent.addListener(\n this._handleToolIconChangedEvent\n );\n\n // istanbul ignore else\n if (this.props.uiStateStorage)\n this._uiSettingsStorage = this.props.uiStateStorage;\n else if (this.context) this._uiSettingsStorage = this.context;\n\n await this.restoreSettings();\n }\n\n /** @internal */\n public override componentWillUnmount() {\n this._isMounted = false;\n MessageManager.onToolAssistanceChangedEvent.removeListener(\n this._handleToolAssistanceChangedEvent\n );\n UiFramework.frontstages.onToolIconChangedEvent.removeListener(\n this._handleToolIconChangedEvent\n );\n }\n\n private async restoreSettings() {\n let getShowPromptAtCursor: Promise<UiStateStorageResult> | undefined;\n // istanbul ignore else\n if (this.props.includePromptAtCursor) {\n getShowPromptAtCursor = this._showPromptAtCursorSetting.getSetting(\n this._uiSettingsStorage\n );\n }\n const getMouseTouchTabIndex = this._mouseTouchTabIndexSetting.getSetting(\n this._uiSettingsStorage\n );\n const [showPromptAtCursorResult, mouseTouchTabIndexResult] =\n await Promise.all([getShowPromptAtCursor, getMouseTouchTabIndex]);\n\n // istanbul ignore else\n if (\n showPromptAtCursorResult !== undefined &&\n showPromptAtCursorResult.status === UiStateStorageStatus.Success\n ) {\n // istanbul ignore else\n if (this._isMounted)\n this.setState({ showPromptAtCursor: showPromptAtCursorResult.setting });\n }\n\n // istanbul ignore else\n if (mouseTouchTabIndexResult.status === UiStateStorageStatus.Success) {\n // istanbul ignore else\n if (this._isMounted)\n this.setState({ mouseTouchTabIndex: mouseTouchTabIndexResult.setting });\n }\n }\n\n private _handleToolAssistanceChangedEvent = (\n args: ToolAssistanceChangedEventArgs\n ): void => {\n let showMouseTouchTabs = false;\n let showMouseInstructions = false;\n let showTouchInstructions = false;\n\n if (args.instructions && args.instructions.sections) {\n const hasMouseInstructions = args.instructions.sections.some(\n (section: ToolAssistanceSection) => {\n return section.instructions.some(\n (instruction: ToolAssistanceInstruction) =>\n this._isMouseInstruction(instruction)\n );\n }\n );\n const hasTouchInstructions = args.instructions.sections.some(\n (section: ToolAssistanceSection) => {\n return section.instructions.some(\n (instruction: ToolAssistanceInstruction) =>\n this._isTouchInstruction(instruction)\n );\n }\n );\n\n if (\n this.state.includeMouseInstructions &&\n this.state.includeTouchInstructions &&\n hasMouseInstructions &&\n hasTouchInstructions\n ) {\n showMouseTouchTabs = true;\n showMouseInstructions = this.state.mouseTouchTabIndex === 0;\n showTouchInstructions = this.state.mouseTouchTabIndex === 1;\n } else {\n if (this.state.includeMouseInstructions && hasMouseInstructions)\n showMouseInstructions = true;\n else if (this.state.includeTouchInstructions && hasTouchInstructions)\n showTouchInstructions = true;\n }\n }\n\n // istanbul ignore else\n if (this._isMounted)\n this.setState(\n {\n instructions: args.instructions,\n showMouseTouchTabs,\n showMouseInstructions,\n showTouchInstructions,\n },\n () => {\n this._showCursorPrompt();\n }\n );\n };\n\n private _isBothInstruction = (instruction: ToolAssistanceInstruction) => {\n return (\n instruction.inputMethod === undefined ||\n instruction.inputMethod === ToolAssistanceInputMethod.Both\n );\n };\n\n private _isMouseInstruction = (instruction: ToolAssistanceInstruction) =>\n instruction.inputMethod === ToolAssistanceInputMethod.Mouse;\n\n private _isTouchInstruction = (instruction: ToolAssistanceInstruction) =>\n instruction.inputMethod === ToolAssistanceInputMethod.Touch;\n\n private _handleToolIconChangedEvent = (\n args: ToolIconChangedEventArgs\n ): void => {\n // istanbul ignore else\n if (this._isMounted)\n this.setState({ toolIconSpec: args.iconSpec }, () => {\n this._showCursorPrompt();\n });\n };\n\n private _showCursorPrompt() {\n if (this.state.showPromptAtCursor && this.state.instructions)\n this._cursorPrompt.display(\n this.state.toolIconSpec,\n this.state.instructions.mainInstruction\n );\n }\n\n private _sectionHasDisplayableInstructions(\n section: ToolAssistanceSection\n ): boolean {\n const displayableInstructions = this._getDisplayableInstructions(section);\n return displayableInstructions.length > 0;\n }\n\n private _getDisplayableInstructions(\n section: ToolAssistanceSection\n ): ToolAssistanceInstruction[] {\n const displayableInstructions = section.instructions.filter(\n (instruction: ToolAssistanceInstruction) => {\n return (\n this._isBothInstruction(instruction) ||\n (this.state.showMouseInstructions &&\n this._isMouseInstruction(instruction)) ||\n (this.state.showTouchInstructions &&\n this._isTouchInstruction(instruction))\n );\n }\n );\n return displayableInstructions;\n }\n\n private _handleMouseTouchTab = async (index: number) => {\n const showMouseInstructions = index === 0;\n const showTouchInstructions = index === 1;\n\n // istanbul ignore else\n if (this._isMounted)\n this.setState(\n {\n mouseTouchTabIndex: index,\n showMouseInstructions,\n showTouchInstructions,\n },\n async () => {\n await this._mouseTouchTabIndexSetting.saveSetting(\n this._uiSettingsStorage\n );\n }\n );\n };\n\n /** @internal */\n public override render(): React.ReactNode {\n const { instructions } = this.state;\n const dialogTitle = IModelApp.toolAdmin.activeTool\n ? /* istanbul ignore next */ IModelApp.toolAdmin.activeTool.flyover\n : UiFramework.translate(\"toolAssistance.title\");\n const mouseLabel = UiFramework.translate(\"toolAssistance.mouse\");\n const touchLabel = UiFramework.translate(\"toolAssistance.touch\");\n let prompt = \"\";\n let tooltip = \"\";\n let toolIcon: React.ReactNode;\n let dialogContent: React.ReactNode;\n\n if (instructions) {\n prompt = instructions.mainInstruction.text;\n toolIcon = <Icon iconSpec={this.state.toolIconSpec} />;\n\n let displayableSections: ToolAssistanceSection[] | undefined;\n if (instructions.sections) {\n displayableSections = instructions.sections.filter(\n (section: ToolAssistanceSection) =>\n this._sectionHasDisplayableInstructions(section)\n );\n }\n\n dialogContent = (\n <div>\n {this.state.showMouseTouchTabs && (\n <Tabs.Wrapper\n type=\"pill\"\n value={String(this.state.mouseTouchTabIndex)}\n >\n <Tabs.TabList className=\"uifw-toolAssistance-tabs\">\n {[mouseLabel, touchLabel].map((label, index) => (\n <Tabs.Tab\n key={index}\n className=\"uifw-tab\"\n value={String(index)}\n label={label}\n onClick={async () => this._handleMouseTouchTab(index)}\n />\n ))}\n </Tabs.TabList>\n </Tabs.Wrapper>\n )}\n\n <div className=\"uifw-toolAssistance-content\">\n <NZ_ToolAssistanceInstruction\n key=\"main\"\n image={ToolAssistanceField.getInstructionImage(\n instructions.mainInstruction\n )}\n text={instructions.mainInstruction.text}\n isNew={instructions.mainInstruction.isNew}\n />\n\n {displayableSections &&\n displayableSections.map(\n (section: ToolAssistanceSection, index1: number) => {\n return (\n <React.Fragment key={index1.toString()}>\n <ToolAssistanceSeparator key={index1.toString()}>\n {section.label}\n </ToolAssistanceSeparator>\n {this._getDisplayableInstructions(section).map(\n (\n instruction: ToolAssistanceInstruction,\n index2: number\n ) => {\n return (\n <NZ_ToolAssistanceInstruction\n key={`${index1.toString()}-${index2.toString()}`}\n image={ToolAssistanceField.getInstructionImage(\n instruction\n )}\n text={instruction.text}\n isNew={instruction.isNew}\n />\n );\n }\n )}\n </React.Fragment>\n );\n }\n )}\n\n {this.props.includePromptAtCursor && (\n <>\n <ToolAssistanceSeparator key=\"prompt-sep\" />\n <ToolAssistanceItem key=\"prompt-item\">\n <ToggleSwitch\n label={UiFramework.translate(\n \"toolAssistance.promptAtCursor\"\n )}\n labelPosition=\"right\"\n checked={this.state.showPromptAtCursor}\n onChange={this._onPromptAtCursorChange}\n />\n </ToolAssistanceItem>\n </>\n )}\n </div>\n </div>\n );\n }\n\n if (prompt) tooltip = prompt;\n\n // istanbul ignore next\n if (IModelApp.toolAdmin.activeTool)\n tooltip = `${IModelApp.toolAdmin.activeTool.flyover} > ${tooltip} `;\n\n if (tooltip) {\n const lineBreak = \"\\u000d\\u000a\";\n tooltip = tooltip + lineBreak;\n }\n\n tooltip += UiFramework.translate(\"toolAssistance.moreInfo\");\n\n return (\n <>\n <div style={{ height: \"100%\" }} ref={this._handleTargetRef}>\n <ToolAssistance\n icons={<>{toolIcon}</>}\n indicatorRef={this._indicator}\n className={classnames(\n \"uifw-statusFields-toolassistance\",\n this.props.className\n )}\n style={this.props.style}\n onClick={this._handleToolAssistanceIndicatorClick}\n title={tooltip}\n >\n {prompt}\n </ToolAssistance>\n </div>\n <StatusBar.Popup\n isOpen={this.state.isOpen}\n onClose={this._handleClose}\n onOutsideClick={this._handleOutsideClick}\n target={this._target}\n isPinned={this.state.isPinned}\n >\n <ToolAssistanceDialog\n buttons={\n <>\n {!this.state.isPinned && (\n <StatusBarDialog.TitleBarButton\n onClick={this._handlePinButtonClick}\n title={UiFramework.translate(\"toolAssistance.pin\")}\n >\n <Icon iconSpec={<SvgPin />} />\n </StatusBarDialog.TitleBarButton>\n )}\n {this.state.isPinned && (\n <StatusBarDialog.TitleBarButton\n onClick={this._handleCloseButtonClick}\n title={UiFramework.translate(\"dialog.close\")}\n >\n <Icon iconSpec={<SvgClose />} />\n </StatusBarDialog.TitleBarButton>\n )}\n </>\n }\n title={dialogTitle}\n >\n {dialogContent}\n </ToolAssistanceDialog>\n </StatusBar.Popup>\n </>\n );\n }\n\n private _handleTargetRef = (target: HTMLElement | null) => {\n this._target = target;\n };\n\n private _onPromptAtCursorChange = async (\n e: React.ChangeEvent<HTMLInputElement>\n ) => {\n // istanbul ignore else\n if (this._isMounted)\n this.setState(\n {\n showPromptAtCursor: e.target.checked,\n },\n async () => {\n await this._showPromptAtCursorSetting.saveSetting(\n this._uiSettingsStorage\n );\n }\n );\n };\n\n private _handleClose = () => {\n this.setIsOpen(false);\n };\n\n private _handleOutsideClick = (e: MouseEvent) => {\n // istanbul ignore if\n if (\n !this._indicator.current ||\n !(e.target instanceof Node) ||\n this._indicator.current.contains(e.target)\n )\n return;\n\n this._handleClose();\n };\n\n private _handleToolAssistanceIndicatorClick = () => {\n this.setIsOpen(!this.state.isOpen);\n };\n\n private _handlePinButtonClick = () => {\n // istanbul ignore else\n if (this._isMounted) this.setState({ isPinned: true });\n };\n\n private _handleCloseButtonClick = () => {\n this._handleClose();\n };\n\n private setIsOpen(isOpen: boolean) {\n let newState = {\n isOpen,\n };\n if (!isOpen && this.state.isPinned && this._isMounted) {\n newState = { ...newState, ...{ isPinned: false } };\n }\n this.setState(newState);\n }\n\n /** @internal */\n public static getInstructionImage(\n instruction: ToolAssistanceInstruction\n ): React.ReactNode {\n let image: React.ReactNode;\n\n if (\n (typeof instruction.image === \"string\" ||\n instruction.image !== ToolAssistanceImage.Keyboard) &&\n instruction.keyboardInfo\n ) {\n if (\n instruction.keyboardInfo.keys.length === 1 &&\n !instruction.keyboardInfo.bottomKeys\n ) {\n const key = instruction.keyboardInfo.keys[0];\n const rightImage =\n typeof instruction.image === \"string\" ? (\n <div className=\"uifw-toolassistance-icon-medium\">\n <Icon iconSpec={instruction.image} />\n </div>\n ) : (\n this.getInstructionSvgImage(instruction, true)\n );\n\n image = (\n <FillCentered>\n {ToolAssistanceField.getKeyNode(\n key,\n 0,\n \"uifw-toolassistance-key-modifier\"\n )}\n {rightImage}\n </FillCentered>\n );\n } else {\n Logger.logError(\n UiFramework.loggerCategory(this),\n `getInstructionImage: Invalid keyboardInfo provided with image`\n );\n }\n } else if (typeof instruction.image === \"string\") {\n if (instruction.image.length > 0) {\n const svgSource = getWebComponentSource(instruction.image);\n const className =\n svgSource !== undefined\n ? \"uifw-toolassistance-svg\"\n : \"uifw-toolassistance-icon-large\";\n image = (\n <div className={className}>\n <Icon iconSpec={svgSource ?? instruction.image} />\n </div>\n );\n }\n } else if (instruction.image === ToolAssistanceImage.Keyboard) {\n if (instruction.keyboardInfo) {\n image = ToolAssistanceField.getInstructionKeyboardImage(\n instruction.keyboardInfo\n );\n } else {\n Logger.logError(\n UiFramework.loggerCategory(this),\n `getInstructionImage: ToolAssistanceImage.Keyboard specified but no keyboardInfo provided`\n );\n }\n } else {\n image = this.getInstructionSvgImage(instruction, false);\n }\n\n return image;\n }\n\n private static getInstructionSvgImage(\n instruction: ToolAssistanceInstruction,\n mediumSize: boolean\n ): React.ReactNode {\n let image: React.ReactNode;\n let className = mediumSize\n ? \"uifw-toolassistance-svg-medium\"\n : \"uifw-toolassistance-svg\";\n\n // istanbul ignore else\n if (\n typeof instruction.image !== \"string\" &&\n instruction.image !== ToolAssistanceImage.Keyboard\n ) {\n const toolAssistanceImage: ToolAssistanceImage = instruction.image;\n let svgImage = \"\";\n\n switch (toolAssistanceImage) {\n case ToolAssistanceImage.AcceptPoint:\n svgImage = acceptPointIcon;\n break;\n case ToolAssistanceImage.CursorClick:\n svgImage = cursorClickIcon;\n break;\n case ToolAssistanceImage.LeftClick:\n svgImage = clickLeftIcon;\n break;\n case ToolAssistanceImage.RightClick:\n svgImage = clickRightIcon;\n break;\n case ToolAssistanceImage.MouseWheel:\n svgImage = mouseWheelClickIcon;\n break;\n case ToolAssistanceImage.LeftClickDrag:\n svgImage = clickLeftDragIcon;\n className = mediumSize\n ? \"uifw-toolassistance-svg-medium-wide\"\n : \"uifw-toolassistance-svg-wide\";\n break;\n case ToolAssistanceImage.RightClickDrag:\n svgImage = clickRightDragIcon;\n className = mediumSize\n ? \"uifw-toolassistance-svg-medium-wide\"\n : \"uifw-toolassistance-svg-wide\";\n break;\n case ToolAssistanceImage.MouseWheelClickDrag:\n svgImage = clickMouseWheelDragIcon;\n className = mediumSize\n ? \"uifw-toolassistance-svg-medium-wide\"\n : \"uifw-toolassistance-svg-wide\";\n break;\n case ToolAssistanceImage.OneTouchTap:\n svgImage = oneTouchTapIcon;\n break;\n case ToolAssistanceImage.OneTouchDoubleTap:\n svgImage = oneTouchDoubleTapIcon;\n break;\n case ToolAssistanceImage.OneTouchDrag:\n svgImage = oneTouchDragIcon;\n break;\n case ToolAssistanceImage.TwoTouchTap:\n svgImage = twoTouchTapIcon;\n break;\n case ToolAssistanceImage.TwoTouchDrag:\n svgImage = twoTouchDragIcon;\n break;\n case ToolAssistanceImage.TwoTouchPinch:\n svgImage = twoTouchPinchIcon;\n break;\n case ToolAssistanceImage.TouchCursorTap:\n svgImage = touchCursorTapIcon;\n break;\n case ToolAssistanceImage.TouchCursorDrag:\n svgImage = touchCursorDragIcon;\n className = mediumSize\n ? /* istanbul ignore next */ \"uifw-toolassistance-svg-medium-wide\"\n : \"uifw-toolassistance-svg-wide\";\n break;\n }\n\n image = (\n <div className={className}>\n {svgImage && (\n // istanbul ignore next\n <Icon iconSpec={svgImage} />\n )}\n </div>\n );\n }\n\n return image;\n }\n\n private static getInstructionKeyboardImage(\n keyboardInfo: ToolAssistanceKeyboardInfo\n ): React.ReactNode {\n let image: React.ReactNode;\n\n if (keyboardInfo.bottomKeys !== undefined) {\n image = (\n <div className=\"uifw-toolassistance-key-group\">\n <span className=\"row1\">\n {keyboardInfo.keys.map((key: string, index1: number) => {\n return ToolAssistanceField.getKeyNode(\n key,\n index1,\n \"uifw-toolassistance-key-small\"\n );\n })}\n </span>\n <br />\n <span className=\"row2\">\n {keyboardInfo.bottomKeys.map((key: string, index2: number) => {\n return ToolAssistanceField.getKeyNode(\n key,\n index2,\n \"uifw-toolassistance-key-small\"\n );\n })}\n </span>\n </div>\n );\n } else if (keyboardInfo.keys.length === 2) {\n image = (\n <FillCentered>\n {keyboardInfo.keys.map((key: string, index3: number) => {\n let className = \"uifw-toolassistance-key-medium\";\n if (key.length > 1) className = \"uifw-toolassistance-key-modifier\";\n return ToolAssistanceField.getKeyNode(key, index3, className);\n })}\n </FillCentered>\n );\n } else if (keyboardInfo.keys[0]) {\n if (keyboardInfo.keys[0].length > 1)\n image = ToolAssistanceField.getKeyNode(\n keyboardInfo.keys[0],\n 0,\n \"uifw-toolassistance-key-large\"\n );\n else image = ToolAssistanceField.getKeyNode(keyboardInfo.keys[0], 0);\n } else {\n Logger.logError(\n UiFramework.loggerCategory(this),\n `ToolAssistanceImage.Keyboard specified but ToolAssistanceKeyboardInfo not valid`\n );\n }\n\n return image;\n }\n\n private static getKeyNode(\n key: string,\n index: number,\n className?: string\n ): React.ReactNode {\n return (\n <div\n key={index.toString()}\n className={classnames(\"uifw-toolassistance-key\", className)}\n >\n <FillCentered>{key}</FillCentered>\n </div>\n );\n }\n}\n\nfunction getWebComponentSource(iconSpec: string): string | undefined {\n if (iconSpec.startsWith(\"webSvg:\") && iconSpec.length > 7) {\n return iconSpec.slice(7);\n }\n\n return undefined;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ThemeManager.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/theme/ThemeManager.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,qBAAqB,CAAC;AAC7B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B;;GAEG;AACH,eAAO,MAAM,4BAA4B,qBAAqB,CAAC;AAE/D;;GAEG;AACH,oBAAY,UAAU;IACpB,sCAAsC;IACtC,KAAK,UAAU;IACf,qCAAqC;IACrC,IAAI,SAAS;IACb,mCAAmC;IACnC,MAAM,qBAA+B;IACrC,mFAAmF;IACnF,OAAO,YAAY;IACnB,uEAAuE;IACvE,iBAAiB,wBAAwB;IACzC,sEAAsE;IACtE,gBAAgB,uBAAuB;CACxC;AAED;;;;GAIG;AACH,MAAM,MAAM,OAAO,GAAG,GAAG,UAAU,EAAE,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAqBtD;;GAEG;AACH,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAE1C;;GAEG;AACH,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAE3C;GACG;AACH,UAAU,iBAAiB;IACzB,oCAAoC;IACpC,KAAK,EAAE,OAAO,CAAC;IAEf,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;CACxB;AAcD;GACG;AACH,cAAM,qBAAsB,SAAQ,KAAK,CAAC,SAAS,CAAC,iBAAiB,CAAC;IACpD,iBAAiB;IAMjB,kBAAkB,CAAC,SAAS,EAAE,iBAAiB;IAQ/D,OAAO,CAAC,SAAS,CAOf;IAEF,OAAO,CAAC,iBAAiB,CAWvB;IAEF,OAAO,CAAC,kBAAkB,CAWxB;IAEc,MAAM,IAAI,KAAK,CAAC,SAAS;CAsB1C;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,YAAY,oNAAkD,CAAC"}
1
+ {"version":3,"file":"ThemeManager.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/theme/ThemeManager.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,qBAAqB,CAAC;AAC7B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B;;GAEG;AACH,eAAO,MAAM,4BAA4B,qBAAqB,CAAC;AAE/D;;GAEG;AACH,oBAAY,UAAU;IACpB,sCAAsC;IACtC,KAAK,UAAU;IACf,qCAAqC;IACrC,IAAI,SAAS;IACb,mCAAmC;IACnC,MAAM,qBAA+B;IACrC,mFAAmF;IACnF,OAAO,YAAY;IACnB,uEAAuE;IACvE,iBAAiB,wBAAwB;IACzC,sEAAsE;IACtE,gBAAgB,uBAAuB;CACxC;AAED;;;;GAIG;AACH,MAAM,MAAM,OAAO,GAAG,GAAG,UAAU,EAAE,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAsBtD;;GAEG;AACH,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAE1C;;GAEG;AACH,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAE3C;GACG;AACH,UAAU,iBAAiB;IACzB,oCAAoC;IACpC,KAAK,EAAE,OAAO,CAAC;IAEf,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;CACxB;AAcD;GACG;AACH,cAAM,qBAAsB,SAAQ,KAAK,CAAC,SAAS,CAAC,iBAAiB,CAAC;IACpD,iBAAiB;IAMjB,kBAAkB,CAAC,SAAS,EAAE,iBAAiB;IAQ/D,OAAO,CAAC,SAAS,CAOf;IAEF,OAAO,CAAC,iBAAiB,CAWvB;IAEF,OAAO,CAAC,kBAAkB,CAWxB;IAEc,MAAM,IAAI,KAAK,CAAC,SAAS;CAsB1C;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,YAAY,oNAAkD,CAAC"}
@@ -45,6 +45,7 @@ const colorThemeToThemeTypeMap = {
45
45
  [ColorTheme.Dark]: "dark",
46
46
  [ColorTheme.HighContrastDark]: "dark",
47
47
  [ColorTheme.System]: "os",
48
+ os: "os", // handle "os" for backwards compatibility
48
49
  };
49
50
  /**
50
51
  * List of high contrast color themes
@@ -113,8 +114,8 @@ class ThemeManagerComponent extends React.Component {
113
114
  render() {
114
115
  const theme = colorThemeToThemeTypeMap[this.props.theme];
115
116
  const highContrast = highContrastColorThemes.includes(this.props.theme);
116
- return (React.createElement(itwinui_react_1.ThemeProvider, { className: "uifw-root", theme: theme ?? "inherit", themeOptions: { highContrast }, "data-root-container": "appui-root-id", includeCss: true },
117
- React.createElement(itwinui_react_v2_1.ThemeProvider /* v2 ThemeProvider is required to fix popup styling issues in widget popouts. */, { style: { height: "100%" }, theme: theme ?? "inherit", themeOptions: { highContrast } }, this.props.children)));
117
+ return (React.createElement(itwinui_react_1.ThemeProvider, { className: "uifw-root", theme: theme !== null && theme !== void 0 ? theme : "inherit", themeOptions: { highContrast }, "data-root-container": "appui-root-id", includeCss: true },
118
+ React.createElement(itwinui_react_v2_1.ThemeProvider /* v2 ThemeProvider is required to fix popup styling issues in widget popouts. */, { style: { height: "100%" }, theme: theme !== null && theme !== void 0 ? theme : "inherit", themeOptions: { highContrast } }, this.props.children)));
118
119
  }
119
120
  }
120
121
  /** ThemeManager handles setting color themes and element opacity management. Note that this component will
@@ -1 +1 @@
1
- {"version":3,"file":"ThemeManager.js","sourceRoot":"","sources":["../../../../src/appui-react/theme/ThemeManager.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 State\n */\n\nimport \"./ThemeManager.scss\";\nimport * as React from \"react\";\nimport { connect } from \"react-redux\";\nimport type { ThemeType } from \"@itwin/itwinui-react\";\nimport { ThemeProvider } from \"@itwin/itwinui-react\";\nimport { ThemeProvider as ThemeProviderV2 } from \"@itwin/itwinui-react-v2\";\nimport type { FrameworkState } from \"../redux/FrameworkState\";\nimport { UiFramework } from \"../UiFramework\";\n\n/** System preferred color theme.\n * @public\n */\nexport const SYSTEM_PREFERRED_COLOR_THEME = \"SYSTEM_PREFERRED\";\n\n/** Enum for the Color Theme string.\n * @public\n */\nexport enum ColorTheme {\n /** Will use iTwinUI `light` theme. */\n Light = \"light\",\n /** Will use iTwinUI `dark` theme. */\n Dark = \"dark\",\n /** Will use iTwinUI `os` theme. */\n System = SYSTEM_PREFERRED_COLOR_THEME,\n /** Will use iTwinUI wrapping `ThemeProvider` if provided, or default to 'Light' */\n Inherit = \"inherit\",\n /** Will use iTwinUI `light` theme with `highContrast` set to `true` */\n HighContrastLight = \"high-contrast-light\",\n /** Will use iTwinUI `dark` theme with `highContrast` set to `true` */\n HighContrastDark = \"high-contrast-dark\",\n}\n\n/**\n * Describe valid themes.\n * See [[ThemeManager]] for more information.\n * @public\n */\nexport type ThemeId = `${ColorTheme}` | (string & {});\n\n/**\n * Map of ColorTheme to ThemeType\n */\nconst colorThemeToThemeTypeMap: { [x: string]: ThemeType } = {\n [ColorTheme.Light]: \"light\",\n [ColorTheme.HighContrastLight]: \"light\",\n [ColorTheme.Dark]: \"dark\",\n [ColorTheme.HighContrastDark]: \"dark\",\n [ColorTheme.System]: \"os\",\n};\n\n/**\n * List of high contrast color themes\n */\nconst highContrastColorThemes: string[] = [\n ColorTheme.HighContrastDark,\n ColorTheme.HighContrastLight,\n];\n\n/** The default widget opacity.\n * @public\n */\nexport const WIDGET_OPACITY_DEFAULT = 0.9;\n\n/** The default widget opacity.\n * @public\n */\nexport const TOOLBAR_OPACITY_DEFAULT = 0.5;\n\n/** Properties of [[ThemeManagerComponent]].\n */\ninterface ThemeManagerProps {\n /** theme (\"light\", \"dark\", etc.) */\n theme: ThemeId;\n /* Widget Opacity */\n widgetOpacity: number;\n children?: React.ReactNode;\n toolbarOpacity: number;\n}\n\nfunction mapStateToProps(state: any) {\n const frameworkState = state[UiFramework.frameworkStateKey] as FrameworkState; // since app sets up key, don't hard-code name\n // istanbul ignore if\n if (!frameworkState) return undefined;\n\n return {\n theme: frameworkState.configurableUiState.theme,\n widgetOpacity: frameworkState.configurableUiState.widgetOpacity,\n toolbarOpacity: frameworkState.configurableUiState.toolbarOpacity,\n };\n}\n\n/** ThemeManagerComponent handles setting themes.\n */\nclass ThemeManagerComponent extends React.Component<ThemeManagerProps> {\n public override componentDidMount() {\n this._setTheme(this.props.theme);\n this._setWidgetOpacity(this.props.widgetOpacity);\n this._setToolbarOpacity(this.props.toolbarOpacity);\n }\n\n public override componentDidUpdate(prevProps: ThemeManagerProps) {\n if (this.props.theme !== prevProps.theme) this._setTheme(this.props.theme);\n if (this.props.widgetOpacity !== prevProps.widgetOpacity)\n this._setWidgetOpacity(this.props.widgetOpacity);\n if (this.props.toolbarOpacity !== prevProps.toolbarOpacity)\n this._setToolbarOpacity(this.props.toolbarOpacity);\n }\n\n private _setTheme = (theme: string) => {\n document.documentElement.classList.add(\"theme-transition\");\n document.documentElement.setAttribute(\"data-theme\", theme);\n window.setTimeout(\n () => document.documentElement.classList.remove(\"theme-transition\"),\n 1000\n );\n };\n\n private _setWidgetOpacity = (opacity: number) => {\n const currentWidgetOpacity =\n document.documentElement.style.getPropertyValue(\"--buic-widget-opacity\");\n if (currentWidgetOpacity !== opacity.toString()) {\n setTimeout(() =>\n document.documentElement.style.setProperty(\n \"--buic-widget-opacity\",\n opacity.toString()\n )\n );\n }\n };\n\n private _setToolbarOpacity = (opacity: number) => {\n const currentToolbarOpacity =\n document.documentElement.style.getPropertyValue(\"--buic-toolbar-opacity\");\n if (currentToolbarOpacity !== opacity.toString()) {\n setTimeout(() => {\n document.documentElement.style.setProperty(\n \"--buic-toolbar-opacity\",\n opacity.toString()\n );\n });\n }\n };\n\n public override render(): React.ReactNode {\n const theme = colorThemeToThemeTypeMap[this.props.theme];\n const highContrast = highContrastColorThemes.includes(this.props.theme);\n\n return (\n <ThemeProvider\n className=\"uifw-root\"\n theme={theme ?? \"inherit\"}\n themeOptions={{ highContrast }}\n data-root-container=\"appui-root-id\"\n includeCss={true}\n >\n <ThemeProviderV2 /* v2 ThemeProvider is required to fix popup styling issues in widget popouts. */\n style={{ height: \"100%\" }}\n theme={theme ?? \"inherit\"}\n themeOptions={{ highContrast }}\n >\n {this.props.children}\n </ThemeProviderV2>\n </ThemeProvider>\n );\n }\n}\n\n/** ThemeManager handles setting color themes and element opacity management. Note that this component will\n * affect the entire application by setting the data-theme attribute to the html element.\n * It also sets an iTwinUI `ThemeProvider` element locally, so all elements\n * within the AppUI tree will have the same theme, and should be using iTwinUI 2.x or later.\n * A `ColorTheme` enum values will configure iTwinUI `ThemeProvider` accordingly.\n * Any other string will only apply the `data-theme` attribute to the `html` element\n * and `ThemeProvider` theme will be set to `inherit`, in this case the application is\n * responsible for setting the theme by overriding iTwinUI css variables.\n *\n * This React component is Redux connected and should wrap [[ConfigurableUiContent]].\n *\n * ```tsx\n * <Provider store={UiFramework.store}>\n * <ThemeManager>\n * <ConfigurableUiContent />\n * </ThemeManager>\n * </Provider>\n * ```\n * @public\n */\nexport const ThemeManager = connect(mapStateToProps)(ThemeManagerComponent);\n"]}
1
+ {"version":3,"file":"ThemeManager.js","sourceRoot":"","sources":["../../../../src/appui-react/theme/ThemeManager.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 State\n */\n\nimport \"./ThemeManager.scss\";\nimport * as React from \"react\";\nimport { connect } from \"react-redux\";\nimport type { ThemeType } from \"@itwin/itwinui-react\";\nimport { ThemeProvider } from \"@itwin/itwinui-react\";\nimport { ThemeProvider as ThemeProviderV2 } from \"@itwin/itwinui-react-v2\";\nimport type { FrameworkState } from \"../redux/FrameworkState\";\nimport { UiFramework } from \"../UiFramework\";\n\n/** System preferred color theme.\n * @public\n */\nexport const SYSTEM_PREFERRED_COLOR_THEME = \"SYSTEM_PREFERRED\";\n\n/** Enum for the Color Theme string.\n * @public\n */\nexport enum ColorTheme {\n /** Will use iTwinUI `light` theme. */\n Light = \"light\",\n /** Will use iTwinUI `dark` theme. */\n Dark = \"dark\",\n /** Will use iTwinUI `os` theme. */\n System = SYSTEM_PREFERRED_COLOR_THEME,\n /** Will use iTwinUI wrapping `ThemeProvider` if provided, or default to 'Light' */\n Inherit = \"inherit\",\n /** Will use iTwinUI `light` theme with `highContrast` set to `true` */\n HighContrastLight = \"high-contrast-light\",\n /** Will use iTwinUI `dark` theme with `highContrast` set to `true` */\n HighContrastDark = \"high-contrast-dark\",\n}\n\n/**\n * Describe valid themes.\n * See [[ThemeManager]] for more information.\n * @public\n */\nexport type ThemeId = `${ColorTheme}` | (string & {});\n\n/**\n * Map of ColorTheme to ThemeType\n */\nconst colorThemeToThemeTypeMap: { [x: string]: ThemeType } = {\n [ColorTheme.Light]: \"light\",\n [ColorTheme.HighContrastLight]: \"light\",\n [ColorTheme.Dark]: \"dark\",\n [ColorTheme.HighContrastDark]: \"dark\",\n [ColorTheme.System]: \"os\",\n os: \"os\", // handle \"os\" for backwards compatibility\n};\n\n/**\n * List of high contrast color themes\n */\nconst highContrastColorThemes: string[] = [\n ColorTheme.HighContrastDark,\n ColorTheme.HighContrastLight,\n];\n\n/** The default widget opacity.\n * @public\n */\nexport const WIDGET_OPACITY_DEFAULT = 0.9;\n\n/** The default widget opacity.\n * @public\n */\nexport const TOOLBAR_OPACITY_DEFAULT = 0.5;\n\n/** Properties of [[ThemeManagerComponent]].\n */\ninterface ThemeManagerProps {\n /** theme (\"light\", \"dark\", etc.) */\n theme: ThemeId;\n /* Widget Opacity */\n widgetOpacity: number;\n children?: React.ReactNode;\n toolbarOpacity: number;\n}\n\nfunction mapStateToProps(state: any) {\n const frameworkState = state[UiFramework.frameworkStateKey] as FrameworkState; // since app sets up key, don't hard-code name\n // istanbul ignore if\n if (!frameworkState) return undefined;\n\n return {\n theme: frameworkState.configurableUiState.theme,\n widgetOpacity: frameworkState.configurableUiState.widgetOpacity,\n toolbarOpacity: frameworkState.configurableUiState.toolbarOpacity,\n };\n}\n\n/** ThemeManagerComponent handles setting themes.\n */\nclass ThemeManagerComponent extends React.Component<ThemeManagerProps> {\n public override componentDidMount() {\n this._setTheme(this.props.theme);\n this._setWidgetOpacity(this.props.widgetOpacity);\n this._setToolbarOpacity(this.props.toolbarOpacity);\n }\n\n public override componentDidUpdate(prevProps: ThemeManagerProps) {\n if (this.props.theme !== prevProps.theme) this._setTheme(this.props.theme);\n if (this.props.widgetOpacity !== prevProps.widgetOpacity)\n this._setWidgetOpacity(this.props.widgetOpacity);\n if (this.props.toolbarOpacity !== prevProps.toolbarOpacity)\n this._setToolbarOpacity(this.props.toolbarOpacity);\n }\n\n private _setTheme = (theme: string) => {\n document.documentElement.classList.add(\"theme-transition\");\n document.documentElement.setAttribute(\"data-theme\", theme);\n window.setTimeout(\n () => document.documentElement.classList.remove(\"theme-transition\"),\n 1000\n );\n };\n\n private _setWidgetOpacity = (opacity: number) => {\n const currentWidgetOpacity =\n document.documentElement.style.getPropertyValue(\"--buic-widget-opacity\");\n if (currentWidgetOpacity !== opacity.toString()) {\n setTimeout(() =>\n document.documentElement.style.setProperty(\n \"--buic-widget-opacity\",\n opacity.toString()\n )\n );\n }\n };\n\n private _setToolbarOpacity = (opacity: number) => {\n const currentToolbarOpacity =\n document.documentElement.style.getPropertyValue(\"--buic-toolbar-opacity\");\n if (currentToolbarOpacity !== opacity.toString()) {\n setTimeout(() => {\n document.documentElement.style.setProperty(\n \"--buic-toolbar-opacity\",\n opacity.toString()\n );\n });\n }\n };\n\n public override render(): React.ReactNode {\n const theme = colorThemeToThemeTypeMap[this.props.theme];\n const highContrast = highContrastColorThemes.includes(this.props.theme);\n\n return (\n <ThemeProvider\n className=\"uifw-root\"\n theme={theme ?? \"inherit\"}\n themeOptions={{ highContrast }}\n data-root-container=\"appui-root-id\"\n includeCss={true}\n >\n <ThemeProviderV2 /* v2 ThemeProvider is required to fix popup styling issues in widget popouts. */\n style={{ height: \"100%\" }}\n theme={theme ?? \"inherit\"}\n themeOptions={{ highContrast }}\n >\n {this.props.children}\n </ThemeProviderV2>\n </ThemeProvider>\n );\n }\n}\n\n/** ThemeManager handles setting color themes and element opacity management. Note that this component will\n * affect the entire application by setting the data-theme attribute to the html element.\n * It also sets an iTwinUI `ThemeProvider` element locally, so all elements\n * within the AppUI tree will have the same theme, and should be using iTwinUI 2.x or later.\n * A `ColorTheme` enum values will configure iTwinUI `ThemeProvider` accordingly.\n * Any other string will only apply the `data-theme` attribute to the `html` element\n * and `ThemeProvider` theme will be set to `inherit`, in this case the application is\n * responsible for setting the theme by overriding iTwinUI css variables.\n *\n * This React component is Redux connected and should wrap [[ConfigurableUiContent]].\n *\n * ```tsx\n * <Provider store={UiFramework.store}>\n * <ThemeManager>\n * <ConfigurableUiContent />\n * </ThemeManager>\n * </Provider>\n * ```\n * @public\n */\nexport const ThemeManager = connect(mapStateToProps)(ThemeManagerComponent);\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"SolarTimelineDataProvider.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/timeline/SolarTimelineDataProvider.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAGL,QAAQ,EAET,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EACV,mBAAmB,EACnB,cAAc,EACd,SAAS,EACV,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAKvE;;GAEG;AACH,qBAAa,yBAA0B,SAAQ,qBAAqB;IAClE,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC;IAEhC,SAAS,KAAK,eAAe,IAAI,mBAAmB,GAAG,SAAS,CAI/D;IAED,iIAAiI;gBAE/H,SAAS,EAAE,SAAS,EACpB,QAAQ,CAAC,EAAE,cAAc,EACzB,SAAS,CAAC,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,MAAM;IAqBnB,IAAoB,kBAAkB,YAGrC;IAEe,aAAa,SAAU,IAAI,UAIzC;IAEF,IAAoB,WAAW,IAAI,QAAQ,CAK1C;IAED,IAAoB,WAAW,CAAC,KAAK,EAAE,QAAQ,EAmB9C;CACF"}
1
+ {"version":3,"file":"SolarTimelineDataProvider.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/timeline/SolarTimelineDataProvider.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAGL,QAAQ,EAET,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EACV,mBAAmB,EACnB,cAAc,EACd,SAAS,EACV,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAKvE;;GAEG;AACH,qBAAa,yBAA0B,SAAQ,qBAAqB;IAClE,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC;IAEhC,SAAS,KAAK,eAAe,IAAI,mBAAmB,GAAG,SAAS,CAI/D;IAED,iIAAiI;gBAE/H,SAAS,EAAE,SAAS,EACpB,QAAQ,CAAC,EAAE,cAAc,EACzB,SAAS,CAAC,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,MAAM;IAqBnB,IAAoB,kBAAkB,YAGrC;IAEe,aAAa,SAAU,IAAI,UAIzC;IAEF,IAAoB,WAAW,IAAI,QAAQ,CAK1C;IAED,IAAoB,WAAW,CAAC,KAAK,EAAE,QAAQ,EAkB9C;CACF"}
@@ -56,6 +56,7 @@ class SolarTimelineDataProvider extends imodel_components_react_1.BaseSolarDataP
56
56
  : core_common_1.ColorDef.create(core_common_1.ColorByName.gray);
57
57
  }
58
58
  set shadowColor(color) {
59
+ var _a;
59
60
  const displayStyle = this._displayStyle3d;
60
61
  if (!displayStyle)
61
62
  return;
@@ -65,9 +66,7 @@ class SolarTimelineDataProvider extends imodel_components_react_1.BaseSolarDataP
65
66
  prevColor.g === newColor.g &&
66
67
  prevColor.b === newColor.b)
67
68
  return;
68
- const newSettings = displayStyle.settings.solarShadows.toJSON();
69
- if (!newSettings)
70
- return;
69
+ const newSettings = (_a = displayStyle.settings.solarShadows.toJSON()) !== null && _a !== void 0 ? _a : {};
71
70
  newSettings.color = color.tbgr;
72
71
  displayStyle.settings.solarShadows =
73
72
  core_common_1.SolarShadowSettings.fromJSON(newSettings);
@@ -1 +1 @@
1
- {"version":3,"file":"SolarTimelineDataProvider.js","sourceRoot":"","sources":["../../../../src/appui-react/timeline/SolarTimelineDataProvider.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 Timeline\n */\n\nimport {\n Cartographic,\n ColorByName,\n ColorDef,\n SolarShadowSettings,\n} from \"@itwin/core-common\";\nimport type {\n DisplayStyle3dState,\n ScreenViewport,\n ViewState,\n} from \"@itwin/core-frontend\";\nimport { BaseSolarDataProvider } from \"@itwin/imodel-components-react\";\n\n// the interface and class are in alpha state - it may change after usability testing - test coverage not complete\n/* istanbul ignore file */\n\n/** Default Solar Data Provider interface for getting and setting solar position from iModels view definitions.\n * @alpha\n */\nexport class SolarTimelineDataProvider extends BaseSolarDataProvider {\n protected _viewState: ViewState;\n\n protected get _displayStyle3d(): DisplayStyle3dState | undefined {\n return undefined !== this._viewport && this._viewport.view.is3d()\n ? this._viewport.view.displayStyle\n : undefined;\n }\n\n /** constructor that takes an optional viewport and optional position on globe that is used if the imodel is not \"GeoLocated\" */\n constructor(\n viewState: ViewState,\n viewport?: ScreenViewport,\n longitude?: number,\n latitude?: number\n ) {\n super(viewport, longitude, latitude);\n this._viewState = viewState;\n\n if (viewState.is3d()) {\n this.supportsTimelineAnimation = true;\n this._cartographicCenter = this.getCartographicCenter(viewState.iModel);\n } else {\n this._cartographicCenter = Cartographic.fromDegrees({\n longitude: this.longitude,\n latitude: this.latitude,\n height: 0.0,\n });\n }\n\n this._projectTimeZoneOffset = this.getZone(this._cartographicCenter);\n this.initializeData(this._projectTimeZoneOffset);\n this.onTimeChanged(this.timeOfDay);\n }\n\n public override get shouldShowTimeline() {\n const style = this._displayStyle3d;\n return undefined !== style && style.viewFlags.shadows;\n }\n\n public override onTimeChanged = (time: Date) => {\n if (this._viewport && this._viewport.view.is3d()) {\n this._viewport.view.displayStyle.setSunTime(time.getTime());\n }\n };\n\n public override get shadowColor(): ColorDef {\n const style = this._displayStyle3d;\n return style\n ? style.settings.solarShadows.color.toColorDef()\n : ColorDef.create(ColorByName.gray);\n }\n\n public override set shadowColor(color: ColorDef) {\n const displayStyle = this._displayStyle3d;\n if (!displayStyle) return;\n\n const prevColor = displayStyle.settings.solarShadows.color;\n const newColor = color.colors;\n if (\n prevColor.r === newColor.r &&\n prevColor.g === newColor.g &&\n prevColor.b === newColor.b\n )\n return;\n\n const newSettings = displayStyle.settings.solarShadows.toJSON();\n if (!newSettings) return;\n\n newSettings.color = color.tbgr;\n displayStyle.settings.solarShadows =\n SolarShadowSettings.fromJSON(newSettings);\n }\n}\n"]}
1
+ {"version":3,"file":"SolarTimelineDataProvider.js","sourceRoot":"","sources":["../../../../src/appui-react/timeline/SolarTimelineDataProvider.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 Timeline\n */\n\nimport {\n Cartographic,\n ColorByName,\n ColorDef,\n SolarShadowSettings,\n} from \"@itwin/core-common\";\nimport type {\n DisplayStyle3dState,\n ScreenViewport,\n ViewState,\n} from \"@itwin/core-frontend\";\nimport { BaseSolarDataProvider } from \"@itwin/imodel-components-react\";\n\n// the interface and class are in alpha state - it may change after usability testing - test coverage not complete\n/* istanbul ignore file */\n\n/** Default Solar Data Provider interface for getting and setting solar position from iModels view definitions.\n * @alpha\n */\nexport class SolarTimelineDataProvider extends BaseSolarDataProvider {\n protected _viewState: ViewState;\n\n protected get _displayStyle3d(): DisplayStyle3dState | undefined {\n return undefined !== this._viewport && this._viewport.view.is3d()\n ? this._viewport.view.displayStyle\n : undefined;\n }\n\n /** constructor that takes an optional viewport and optional position on globe that is used if the imodel is not \"GeoLocated\" */\n constructor(\n viewState: ViewState,\n viewport?: ScreenViewport,\n longitude?: number,\n latitude?: number\n ) {\n super(viewport, longitude, latitude);\n this._viewState = viewState;\n\n if (viewState.is3d()) {\n this.supportsTimelineAnimation = true;\n this._cartographicCenter = this.getCartographicCenter(viewState.iModel);\n } else {\n this._cartographicCenter = Cartographic.fromDegrees({\n longitude: this.longitude,\n latitude: this.latitude,\n height: 0.0,\n });\n }\n\n this._projectTimeZoneOffset = this.getZone(this._cartographicCenter);\n this.initializeData(this._projectTimeZoneOffset);\n this.onTimeChanged(this.timeOfDay);\n }\n\n public override get shouldShowTimeline() {\n const style = this._displayStyle3d;\n return undefined !== style && style.viewFlags.shadows;\n }\n\n public override onTimeChanged = (time: Date) => {\n if (this._viewport && this._viewport.view.is3d()) {\n this._viewport.view.displayStyle.setSunTime(time.getTime());\n }\n };\n\n public override get shadowColor(): ColorDef {\n const style = this._displayStyle3d;\n return style\n ? style.settings.solarShadows.color.toColorDef()\n : ColorDef.create(ColorByName.gray);\n }\n\n public override set shadowColor(color: ColorDef) {\n const displayStyle = this._displayStyle3d;\n if (!displayStyle) return;\n\n const prevColor = displayStyle.settings.solarShadows.color;\n const newColor = color.colors;\n if (\n prevColor.r === newColor.r &&\n prevColor.g === newColor.g &&\n prevColor.b === newColor.b\n )\n return;\n\n const newSettings = displayStyle.settings.solarShadows.toJSON() ?? {};\n newSettings.color = color.tbgr;\n\n displayStyle.settings.solarShadows =\n SolarShadowSettings.fromJSON(newSettings);\n }\n}\n"]}
@@ -4,18 +4,19 @@
4
4
  import * as React from "react";
5
5
  import type { OnItemExecutedFunc } from "@itwin/appui-abstract";
6
6
  import type { CommonProps, NoChildrenProps } from "@itwin/core-react";
7
- import type { Direction, ToolbarOpacitySetting, ToolbarPanelAlignment } from "@itwin/components-react";
7
+ import type { ToolbarOpacitySetting } from "@itwin/components-react";
8
+ import { Direction, ToolbarPanelAlignment } from "@itwin/components-react";
8
9
  import type { ToolbarItem } from "./ToolbarItem";
9
10
  /**
10
11
  * Properties of [[Toolbar.enableOverflow]] component.
11
- * @beta
12
+ * @public
12
13
  */
13
14
  export interface OverflowToolbarOptions {
14
15
  /** Describes to which direction the overflow popup panels are expanded if overflow is enabled. Defaults to: [[Direction.Right]] */
15
16
  overflowExpandsTo?: Direction;
16
17
  }
17
18
  /** Properties of [[Toolbar]] component.
18
- * @beta
19
+ * @public
19
20
  */
20
21
  export interface ToolbarProps extends CommonProps, NoChildrenProps {
21
22
  /** Describes to which direction the popup panels are expanded, also defines the orientation of the toolbar (Top/Bottom will create an horizontal toolbar, Left/Right will create a vertical toolbar). Defaults to: [[Direction.Bottom]] */
@@ -1 +1 @@
1
- {"version":3,"file":"Toolbar.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/Toolbar.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,KAAK,EACV,SAAS,EACT,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAKjD;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,mIAAmI;IACnI,iBAAiB,CAAC,EAAE,SAAS,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,YAAa,SAAQ,WAAW,EAAE,eAAe;IAChE,2OAA2O;IAC3O,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,gHAAgH;IAChH,cAAc,CAAC,EAAE,OAAO,GAAG,sBAAsB,CAAC;IAClD,uGAAuG;IACvG,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,8FAA8F;IAC9F,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACvC,mEAAmE;IACnE,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,oFAAoF;IACpF,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAC9C,sDAAsD;IACtD,cAAc,CAAC,EAAE,kBAAkB,CAAC;IACpC,2EAA2E;IAC3E,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,aAAa,KAAK,IAAI,CAAC;CAC9C;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,YAAY,qBAM1C"}
1
+ {"version":3,"file":"Toolbar.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/Toolbar.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAEL,SAAS,EACT,qBAAqB,EACtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAMjD;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,mIAAmI;IACnI,iBAAiB,CAAC,EAAE,SAAS,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,YAAa,SAAQ,WAAW,EAAE,eAAe;IAChE,2OAA2O;IAC3O,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,gHAAgH;IAChH,cAAc,CAAC,EAAE,OAAO,GAAG,sBAAsB,CAAC;IAClD,uGAAuG;IACvG,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,8FAA8F;IAC9F,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACvC,mEAAmE;IACnE,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,oFAAoF;IACpF,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAC9C,sDAAsD;IACtD,cAAc,CAAC,EAAE,kBAAkB,CAAC;IACpC,2EAA2E;IAC3E,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,aAAa,KAAK,IAAI,CAAC;CAC9C;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,YAAY,qBAM1C"}
@@ -13,6 +13,7 @@ const components_react_1 = require("@itwin/components-react");
13
13
  const toUIAToolbarItem_1 = require("./toUIAToolbarItem");
14
14
  const SyncUiEventDispatcher_1 = require("../syncui/SyncUiEventDispatcher");
15
15
  const PreviewFeatures_1 = require("../preview/PreviewFeatures");
16
+ const Toolbar_1 = require("../preview/new-toolbars/Toolbar");
16
17
  /** Component that displays toolbar items.
17
18
  * @beta
18
19
  */
@@ -24,15 +25,38 @@ function Toolbar(props) {
24
25
  return React.createElement(OriginalToolbar, { ...props });
25
26
  }
26
27
  exports.Toolbar = Toolbar;
27
- function NewToolbar(_props) {
28
- return React.createElement(React.Fragment, null, "WIP");
28
+ function NewToolbar(props) {
29
+ const expandsTo = toDirection(props.expandsTo);
30
+ const panelAlignment = toPanelAlignment(props.panelAlignment);
31
+ return (React.createElement(Toolbar_1.Toolbar, { expandsTo: expandsTo, panelAlignment: panelAlignment, items: props.items }));
29
32
  }
30
33
  function OriginalToolbar(props) {
31
34
  const { items, ...other } = props;
32
35
  const uiaItems = React.useMemo(() => {
33
36
  return items.map((item) => (0, toUIAToolbarItem_1.toUIAToolbarItem)(item));
34
37
  }, [items]);
35
- return (React.createElement(components_react_1.InternalToolbarComponent // eslint-disable-line deprecation/deprecation
36
- , { items: uiaItems, syncUiEvent: SyncUiEventDispatcher_1.SyncUiEventDispatcher.onSyncUiEvent, ...other }));
38
+ return (React.createElement(components_react_1.InternalToolbarComponent, { items: uiaItems, syncUiEvent: SyncUiEventDispatcher_1.SyncUiEventDispatcher.onSyncUiEvent, ...other }));
39
+ }
40
+ function toDirection(direction) {
41
+ switch (direction) {
42
+ case components_react_1.Direction.Bottom:
43
+ return "bottom";
44
+ case components_react_1.Direction.Left:
45
+ return "left";
46
+ case components_react_1.Direction.Right:
47
+ return "right";
48
+ case components_react_1.Direction.Top:
49
+ return "top";
50
+ }
51
+ return undefined;
52
+ }
53
+ function toPanelAlignment(alignment) {
54
+ switch (alignment) {
55
+ case components_react_1.ToolbarPanelAlignment.End:
56
+ return "end";
57
+ case components_react_1.ToolbarPanelAlignment.Start:
58
+ return "start";
59
+ }
60
+ return undefined;
37
61
  }
38
62
  //# sourceMappingURL=Toolbar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Toolbar.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/Toolbar.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,+BAA+B;AAQ/B,8DAAiF;AAEjF,yDAAsD;AACtD,2EAAwE;AACxE,gEAAgE;AAiChE;;GAEG;AACH,SAAgB,OAAO,CAAC,KAAmB;IACzC,MAAM,eAAe,GAAG,IAAA,oCAAkB,GAAE,CAAC;IAC7C,IAAI,eAAe,CAAC,WAAW,EAAE;QAC/B,OAAO,oBAAC,UAAU,OAAK,KAAK,GAAI,CAAC;KAClC;IACD,OAAO,oBAAC,eAAe,OAAK,KAAK,GAAI,CAAC;AACxC,CAAC;AAND,0BAMC;AAED,SAAS,UAAU,CAAC,MAAoB;IACtC,OAAO,gDAAQ,CAAC;AAClB,CAAC;AAED,SAAS,eAAe,CAAC,KAAmB;IAC1C,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,GAAG,KAAK,CAAC;IAClC,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QAClC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,mCAAgB,EAAC,IAAI,CAAC,CAAC,CAAC;IACrD,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IACZ,OAAO,CACL,oBAAC,2CAAU,CAAC,8CAA8C;QACxD,KAAK,EAAE,QAAQ,EACf,WAAW,EAAE,6CAAqB,CAAC,aAAa,KAC5C,KAAK,GACT,CACH,CAAC;AACJ,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Toolbar\n */\n\nimport * as React from \"react\";\nimport type { OnItemExecutedFunc } from \"@itwin/appui-abstract\";\nimport type { CommonProps, NoChildrenProps } from \"@itwin/core-react\";\nimport type {\n Direction,\n ToolbarOpacitySetting,\n ToolbarPanelAlignment,\n} from \"@itwin/components-react\";\nimport { InternalToolbarComponent as CR_Toolbar } from \"@itwin/components-react\";\nimport type { ToolbarItem } from \"./ToolbarItem\";\nimport { toUIAToolbarItem } from \"./toUIAToolbarItem\";\nimport { SyncUiEventDispatcher } from \"../syncui/SyncUiEventDispatcher\";\nimport { usePreviewFeatures } from \"../preview/PreviewFeatures\";\n\n/**\n * Properties of [[Toolbar.enableOverflow]] component.\n * @beta\n */\nexport interface OverflowToolbarOptions {\n /** Describes to which direction the overflow popup panels are expanded if overflow is enabled. Defaults to: [[Direction.Right]] */\n overflowExpandsTo?: Direction;\n}\n\n/** Properties of [[Toolbar]] component.\n * @beta\n */\nexport interface ToolbarProps extends CommonProps, NoChildrenProps {\n /** Describes to which direction the popup panels are expanded, also defines the orientation of the toolbar (Top/Bottom will create an horizontal toolbar, Left/Right will create a vertical toolbar). Defaults to: [[Direction.Bottom]] */\n expandsTo?: Direction;\n /** Describes if items that do not fit available space should move to an expandable panel. Defaults to: false */\n enableOverflow?: boolean | OverflowToolbarOptions;\n /** Definitions for items of the toolbar. Items are expected to be already sorted by group and item. */\n items: ToolbarItem[];\n /** Describes how expanded panels are aligned. Defaults to: [[ToolbarPanelAlignment.Start]] */\n panelAlignment?: ToolbarPanelAlignment;\n /** Use Drag Interaction to open popups with nest action buttons */\n useDragInteraction?: boolean;\n /** Determines whether to use mouse proximity to alter the opacity of the toolbar */\n toolbarOpacitySetting?: ToolbarOpacitySetting;\n /** Optional function to call on any item execution */\n onItemExecuted?: OnItemExecutedFunc;\n /** Optional function to call on any KeyDown events processed by toolbar */\n onKeyDown?: (e: React.KeyboardEvent) => void;\n}\n\n/** Component that displays toolbar items.\n * @beta\n */\nexport function Toolbar(props: ToolbarProps) {\n const previewFeatures = usePreviewFeatures();\n if (previewFeatures.newToolbars) {\n return <NewToolbar {...props} />;\n }\n return <OriginalToolbar {...props} />;\n}\n\nfunction NewToolbar(_props: ToolbarProps) {\n return <>WIP</>;\n}\n\nfunction OriginalToolbar(props: ToolbarProps) {\n const { items, ...other } = props;\n const uiaItems = React.useMemo(() => {\n return items.map((item) => toUIAToolbarItem(item));\n }, [items]);\n return (\n <CR_Toolbar // eslint-disable-line deprecation/deprecation\n items={uiaItems}\n syncUiEvent={SyncUiEventDispatcher.onSyncUiEvent}\n {...other}\n />\n );\n}\n"]}
1
+ {"version":3,"file":"Toolbar.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/Toolbar.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,+BAA+B;AAI/B,8DAIiC;AAEjC,yDAAsD;AACtD,2EAAwE;AACxE,gEAAgE;AAChE,6DAA8E;AAiC9E;;GAEG;AACH,SAAgB,OAAO,CAAC,KAAmB;IACzC,MAAM,eAAe,GAAG,IAAA,oCAAkB,GAAE,CAAC;IAC7C,IAAI,eAAe,CAAC,WAAW,EAAE;QAC/B,OAAO,oBAAC,UAAU,OAAK,KAAK,GAAI,CAAC;KAClC;IACD,OAAO,oBAAC,eAAe,OAAK,KAAK,GAAI,CAAC;AACxC,CAAC;AAND,0BAMC;AAED,SAAS,UAAU,CAAC,KAAmB;IACrC,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC/C,MAAM,cAAc,GAAG,gBAAgB,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAC9D,OAAO,CACL,oBAAC,iBAAgB,IACf,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,cAAc,EAC9B,KAAK,EAAE,KAAK,CAAC,KAAK,GAClB,CACH,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,KAAmB;IAC1C,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,GAAG,KAAK,CAAC;IAClC,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QAClC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,mCAAgB,EAAC,IAAI,CAAC,CAAC,CAAC;IACrD,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IACZ,OAAO,CACL,oBAAC,2CAAU,IACT,KAAK,EAAE,QAAQ,EACf,WAAW,EAAE,6CAAqB,CAAC,aAAa,KAC5C,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,SAAoC;IACvD,QAAQ,SAAS,EAAE;QACjB,KAAK,4BAAS,CAAC,MAAM;YACnB,OAAO,QAAQ,CAAC;QAClB,KAAK,4BAAS,CAAC,IAAI;YACjB,OAAO,MAAM,CAAC;QAChB,KAAK,4BAAS,CAAC,KAAK;YAClB,OAAO,OAAO,CAAC;QACjB,KAAK,4BAAS,CAAC,GAAG;YAChB,OAAO,KAAK,CAAC;KAChB;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,gBAAgB,CAAC,SAAyC;IACjE,QAAQ,SAAS,EAAE;QACjB,KAAK,wCAAqB,CAAC,GAAG;YAC5B,OAAO,KAAK,CAAC;QACf,KAAK,wCAAqB,CAAC,KAAK;YAC9B,OAAO,OAAO,CAAC;KAClB;IACD,OAAO,SAAS,CAAC;AACnB,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 Toolbar\n */\n\nimport * as React from \"react\";\nimport type { OnItemExecutedFunc } from \"@itwin/appui-abstract\";\nimport type { CommonProps, NoChildrenProps } from \"@itwin/core-react\";\nimport type { ToolbarOpacitySetting } from \"@itwin/components-react\";\nimport {\n InternalToolbarComponent as CR_Toolbar,\n Direction,\n ToolbarPanelAlignment,\n} from \"@itwin/components-react\";\nimport type { ToolbarItem } from \"./ToolbarItem\";\nimport { toUIAToolbarItem } from \"./toUIAToolbarItem\";\nimport { SyncUiEventDispatcher } from \"../syncui/SyncUiEventDispatcher\";\nimport { usePreviewFeatures } from \"../preview/PreviewFeatures\";\nimport { Toolbar as ToolGroupToolbar } from \"../preview/new-toolbars/Toolbar\";\n\n/**\n * Properties of [[Toolbar.enableOverflow]] component.\n * @public\n */\nexport interface OverflowToolbarOptions {\n /** Describes to which direction the overflow popup panels are expanded if overflow is enabled. Defaults to: [[Direction.Right]] */\n overflowExpandsTo?: Direction;\n}\n\n/** Properties of [[Toolbar]] component.\n * @public\n */\nexport interface ToolbarProps extends CommonProps, NoChildrenProps {\n /** Describes to which direction the popup panels are expanded, also defines the orientation of the toolbar (Top/Bottom will create an horizontal toolbar, Left/Right will create a vertical toolbar). Defaults to: [[Direction.Bottom]] */\n expandsTo?: Direction;\n /** Describes if items that do not fit available space should move to an expandable panel. Defaults to: false */\n enableOverflow?: boolean | OverflowToolbarOptions;\n /** Definitions for items of the toolbar. Items are expected to be already sorted by group and item. */\n items: ToolbarItem[];\n /** Describes how expanded panels are aligned. Defaults to: [[ToolbarPanelAlignment.Start]] */\n panelAlignment?: ToolbarPanelAlignment;\n /** Use Drag Interaction to open popups with nest action buttons */\n useDragInteraction?: boolean;\n /** Determines whether to use mouse proximity to alter the opacity of the toolbar */\n toolbarOpacitySetting?: ToolbarOpacitySetting;\n /** Optional function to call on any item execution */\n onItemExecuted?: OnItemExecutedFunc;\n /** Optional function to call on any KeyDown events processed by toolbar */\n onKeyDown?: (e: React.KeyboardEvent) => void;\n}\n\n/** Component that displays toolbar items.\n * @beta\n */\nexport function Toolbar(props: ToolbarProps) {\n const previewFeatures = usePreviewFeatures();\n if (previewFeatures.newToolbars) {\n return <NewToolbar {...props} />;\n }\n return <OriginalToolbar {...props} />;\n}\n\nfunction NewToolbar(props: ToolbarProps) {\n const expandsTo = toDirection(props.expandsTo);\n const panelAlignment = toPanelAlignment(props.panelAlignment);\n return (\n <ToolGroupToolbar\n expandsTo={expandsTo}\n panelAlignment={panelAlignment}\n items={props.items}\n />\n );\n}\n\nfunction OriginalToolbar(props: ToolbarProps) {\n const { items, ...other } = props;\n const uiaItems = React.useMemo(() => {\n return items.map((item) => toUIAToolbarItem(item));\n }, [items]);\n return (\n <CR_Toolbar\n items={uiaItems}\n syncUiEvent={SyncUiEventDispatcher.onSyncUiEvent}\n {...other}\n />\n );\n}\n\nfunction toDirection(direction: ToolbarProps[\"expandsTo\"]) {\n switch (direction) {\n case Direction.Bottom:\n return \"bottom\";\n case Direction.Left:\n return \"left\";\n case Direction.Right:\n return \"right\";\n case Direction.Top:\n return \"top\";\n }\n return undefined;\n}\n\nfunction toPanelAlignment(alignment: ToolbarProps[\"panelAlignment\"]) {\n switch (alignment) {\n case ToolbarPanelAlignment.End:\n return \"end\";\n case ToolbarPanelAlignment.Start:\n return \"start\";\n }\n return undefined;\n}\n"]}
@@ -8,14 +8,16 @@ import { ToolbarOrientation, ToolbarUsage } from "./ToolbarItem";
8
8
  * @public
9
9
  */
10
10
  export interface ExtensibleToolbarProps {
11
+ /** Toolbar items. */
11
12
  items: ToolbarItem[];
13
+ /** Toolbar usage based on which additional toolbar items are added from UI item providers. */
12
14
  usage: ToolbarUsage;
13
15
  /** Toolbar orientation. */
14
16
  orientation: ToolbarOrientation;
15
17
  }
16
18
  /**
17
- * Toolbar that is populated and maintained by item managers, will override
18
- * isActive property based on the active tool id.
19
+ * Toolbar that is populated and maintained by UI item providers.
20
+ * @note Overrides `isActive` property based on the active tool id.
19
21
  * @public
20
22
  */
21
23
  export declare function ToolbarComposer(props: ExtensibleToolbarProps): React.JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"ToolbarComposer.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/ToolbarComposer.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAU/B,OAAO,KAAK,EAGV,WAAW,EACZ,MAAM,eAAe,CAAC;AACvB,OAAO,EAGL,kBAAkB,EAClB,YAAY,EACb,MAAM,eAAe,CAAC;AA0JvB;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,KAAK,EAAE,YAAY,CAAC;IACpB,2BAA2B;IAC3B,WAAW,EAAE,kBAAkB,CAAC;CACjC;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,sBAAsB,qBA4C5D"}
1
+ {"version":3,"file":"ToolbarComposer.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/ToolbarComposer.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAU/B,OAAO,KAAK,EAGV,WAAW,EACZ,MAAM,eAAe,CAAC;AACvB,OAAO,EAGL,kBAAkB,EAClB,YAAY,EACb,MAAM,eAAe,CAAC;AAmKvB;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,qBAAqB;IACrB,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,8FAA8F;IAC9F,KAAK,EAAE,YAAY,CAAC;IACpB,2BAA2B;IAC3B,WAAW,EAAE,kBAAkB,CAAC;CACjC;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,sBAAsB,qBA6C5D"}
@@ -116,22 +116,24 @@ function combineItems(defaultItems, addonItems) {
116
116
  return sortItems(items);
117
117
  }
118
118
  const useProximityOpacitySetting = () => {
119
- const [proximityOpacity, setProximityOpacity] = React.useState(UiFramework_1.UiFramework.visibility.useProximityOpacity);
119
+ const [proximityOpacity, setProximityOpacity] = React.useState(UiFramework_1.UiFramework.visibility.useProximityOpacity // eslint-disable-line deprecation/deprecation
120
+ );
120
121
  React.useEffect(() => {
121
- // istanbul ignore next
122
- const handleUiVisibilityChanged = () => {
123
- setProximityOpacity(UiFramework_1.UiFramework.visibility.useProximityOpacity);
124
- };
125
- UiFramework_1.UiFramework.onUiVisibilityChanged.addListener(handleUiVisibilityChanged);
126
- return () => {
127
- UiFramework_1.UiFramework.onUiVisibilityChanged.removeListener(handleUiVisibilityChanged);
128
- };
122
+ UiFramework_1.UiFramework.onUiVisibilityChanged.addListener(() => setProximityOpacity(UiFramework_1.UiFramework.visibility.useProximityOpacity) // eslint-disable-line deprecation/deprecation
123
+ );
129
124
  }, []);
130
125
  return proximityOpacity;
131
126
  };
127
+ const useSnapWidgetOpacitySetting = () => {
128
+ const [snapWidgetOpacity, setSnapWidgetOpacity] = React.useState(UiFramework_1.UiFramework.visibility.snapWidgetOpacity);
129
+ React.useEffect(() => {
130
+ UiFramework_1.UiFramework.onUiVisibilityChanged.addListener(() => setSnapWidgetOpacity(UiFramework_1.UiFramework.visibility.snapWidgetOpacity));
131
+ }, []);
132
+ return snapWidgetOpacity;
133
+ };
132
134
  /**
133
- * Toolbar that is populated and maintained by item managers, will override
134
- * isActive property based on the active tool id.
135
+ * Toolbar that is populated and maintained by UI item providers.
136
+ * @note Overrides `isActive` property based on the active tool id.
135
137
  * @public
136
138
  */
137
139
  function ToolbarComposer(props) {
@@ -156,7 +158,8 @@ function ToolbarComposer(props) {
156
158
  : components_react_1.ToolbarPanelAlignment.Start;
157
159
  const isDragEnabled = React.useContext(DragInteraction_1.ToolbarDragInteractionContext);
158
160
  const useProximityOpacity = useProximityOpacitySetting();
159
- return (React.createElement(Toolbar_1.Toolbar, { enableOverflow: true, expandsTo: expandsTo, panelAlignment: panelAlignment, items: items, useDragInteraction: isDragEnabled, toolbarOpacitySetting: useProximityOpacity && !UiFramework_1.UiFramework.isMobile()
161
+ const snapWidgetOpacity = useSnapWidgetOpacitySetting();
162
+ return (React.createElement(Toolbar_1.Toolbar, { enableOverflow: true, expandsTo: expandsTo, panelAlignment: panelAlignment, items: items, useDragInteraction: isDragEnabled, toolbarOpacitySetting: (useProximityOpacity || snapWidgetOpacity) && !UiFramework_1.UiFramework.isMobile()
160
163
  ? components_react_1.ToolbarOpacitySetting.Proximity
161
164
  : /* istanbul ignore next */ components_react_1.ToolbarOpacitySetting.Defaults }));
162
165
  }