@itwin/appui-react 5.0.0-dev.3 → 5.0.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 (186) hide show
  1. package/CHANGELOG.md +78 -1
  2. package/lib/appui-react/UiFramework.d.ts +2 -2
  3. package/lib/appui-react/UiFramework.d.ts.map +1 -1
  4. package/lib/appui-react/UiFramework.js +3 -1
  5. package/lib/appui-react/UiFramework.js.map +1 -1
  6. package/lib/appui-react/childwindow/ChildWindowWidget.d.ts.map +1 -1
  7. package/lib/appui-react/childwindow/ChildWindowWidget.js +4 -1
  8. package/lib/appui-react/childwindow/ChildWindowWidget.js.map +1 -1
  9. package/lib/appui-react/framework/FrameworkFrontstages.d.ts +3 -3
  10. package/lib/appui-react/framework/FrameworkFrontstages.d.ts.map +1 -1
  11. package/lib/appui-react/framework/FrameworkFrontstages.js.map +1 -1
  12. package/lib/appui-react/frontstage/ModalFrontstage.d.ts +4 -2
  13. package/lib/appui-react/frontstage/ModalFrontstage.d.ts.map +1 -1
  14. package/lib/appui-react/frontstage/ModalFrontstage.js +5 -7
  15. package/lib/appui-react/frontstage/ModalFrontstage.js.map +1 -1
  16. package/lib/appui-react/frontstage/ModalFrontstage.scss +0 -5
  17. package/lib/appui-react/frontstage/ModalFrontstageButton.d.ts +22 -0
  18. package/lib/appui-react/frontstage/ModalFrontstageButton.d.ts.map +1 -0
  19. package/lib/appui-react/frontstage/ModalFrontstageButton.js +29 -0
  20. package/lib/appui-react/frontstage/ModalFrontstageButton.js.map +1 -0
  21. package/lib/appui-react/{layout/widget/tools/button/Back.scss → frontstage/ModalFrontstageButton.scss} +15 -3
  22. package/lib/appui-react/icons/SvgAssetClassificationHide.d.ts +7 -0
  23. package/lib/appui-react/icons/SvgAssetClassificationHide.d.ts.map +1 -0
  24. package/lib/appui-react/icons/SvgAssetClassificationHide.js +14 -0
  25. package/lib/appui-react/icons/SvgAssetClassificationHide.js.map +1 -0
  26. package/lib/appui-react/icons/SvgAssetIsolate.d.ts +7 -0
  27. package/lib/appui-react/icons/SvgAssetIsolate.d.ts.map +1 -0
  28. package/lib/appui-react/icons/SvgAssetIsolate.js +14 -0
  29. package/lib/appui-react/icons/SvgAssetIsolate.js.map +1 -0
  30. package/lib/appui-react/icons/SvgGyroscope.d.ts +7 -0
  31. package/lib/appui-react/icons/SvgGyroscope.d.ts.map +1 -0
  32. package/lib/appui-react/icons/SvgGyroscope.js +15 -0
  33. package/lib/appui-react/icons/SvgGyroscope.js.map +1 -0
  34. package/lib/appui-react/icons/SvgLayersHide.d.ts +7 -0
  35. package/lib/appui-react/icons/SvgLayersHide.d.ts.map +1 -0
  36. package/lib/appui-react/icons/SvgLayersHide.js +14 -0
  37. package/lib/appui-react/icons/SvgLayersHide.js.map +1 -0
  38. package/lib/appui-react/icons/SvgLayersIsolate.d.ts +7 -0
  39. package/lib/appui-react/icons/SvgLayersIsolate.d.ts.map +1 -0
  40. package/lib/appui-react/icons/SvgLayersIsolate.js +14 -0
  41. package/lib/appui-react/icons/SvgLayersIsolate.js.map +1 -0
  42. package/lib/appui-react/icons/SvgModelHide.d.ts +7 -0
  43. package/lib/appui-react/icons/SvgModelHide.d.ts.map +1 -0
  44. package/lib/appui-react/icons/SvgModelHide.js +15 -0
  45. package/lib/appui-react/icons/SvgModelHide.js.map +1 -0
  46. package/lib/appui-react/icons/SvgModelIsolate.d.ts +7 -0
  47. package/lib/appui-react/icons/SvgModelIsolate.d.ts.map +1 -0
  48. package/lib/appui-react/icons/SvgModelIsolate.js +15 -0
  49. package/lib/appui-react/icons/SvgModelIsolate.js.map +1 -0
  50. package/lib/appui-react/icons/SvgSavedView.d.ts +7 -0
  51. package/lib/appui-react/icons/SvgSavedView.d.ts.map +1 -0
  52. package/lib/appui-react/icons/SvgSavedView.js +15 -0
  53. package/lib/appui-react/icons/SvgSavedView.js.map +1 -0
  54. package/lib/appui-react/icons/SvgSectionTool.d.ts +7 -0
  55. package/lib/appui-react/icons/SvgSectionTool.d.ts.map +1 -0
  56. package/lib/appui-react/icons/SvgSectionTool.js +15 -0
  57. package/lib/appui-react/icons/SvgSectionTool.js.map +1 -0
  58. package/lib/appui-react/icons/SvgSelectionClear.d.ts +7 -0
  59. package/lib/appui-react/icons/SvgSelectionClear.d.ts.map +1 -0
  60. package/lib/appui-react/icons/SvgSelectionClear.js +14 -0
  61. package/lib/appui-react/icons/SvgSelectionClear.js.map +1 -0
  62. package/lib/appui-react/icons/SvgViewLayouts.d.ts +7 -0
  63. package/lib/appui-react/icons/SvgViewLayouts.d.ts.map +1 -0
  64. package/lib/appui-react/icons/SvgViewLayouts.js +14 -0
  65. package/lib/appui-react/icons/SvgViewLayouts.js.map +1 -0
  66. package/lib/appui-react/icons/cube-faces/SvgCubeFaceBottom.d.ts +7 -0
  67. package/lib/appui-react/icons/cube-faces/SvgCubeFaceBottom.d.ts.map +1 -0
  68. package/lib/appui-react/icons/cube-faces/SvgCubeFaceBottom.js +15 -0
  69. package/lib/appui-react/icons/cube-faces/SvgCubeFaceBottom.js.map +1 -0
  70. package/lib/appui-react/icons/cube-faces/SvgCubeFaceFront.d.ts +7 -0
  71. package/lib/appui-react/icons/cube-faces/SvgCubeFaceFront.d.ts.map +1 -0
  72. package/lib/appui-react/icons/cube-faces/SvgCubeFaceFront.js +15 -0
  73. package/lib/appui-react/icons/cube-faces/SvgCubeFaceFront.js.map +1 -0
  74. package/lib/appui-react/icons/cube-faces/SvgCubeFaceIsoLeft.d.ts +7 -0
  75. package/lib/appui-react/icons/cube-faces/SvgCubeFaceIsoLeft.d.ts.map +1 -0
  76. package/lib/appui-react/icons/cube-faces/SvgCubeFaceIsoLeft.js +15 -0
  77. package/lib/appui-react/icons/cube-faces/SvgCubeFaceIsoLeft.js.map +1 -0
  78. package/lib/appui-react/icons/cube-faces/SvgCubeFaceIsoRight.d.ts +7 -0
  79. package/lib/appui-react/icons/cube-faces/SvgCubeFaceIsoRight.d.ts.map +1 -0
  80. package/lib/appui-react/icons/cube-faces/SvgCubeFaceIsoRight.js +15 -0
  81. package/lib/appui-react/icons/cube-faces/SvgCubeFaceIsoRight.js.map +1 -0
  82. package/lib/appui-react/icons/cube-faces/SvgCubeFaceLeft.d.ts +7 -0
  83. package/lib/appui-react/icons/cube-faces/SvgCubeFaceLeft.d.ts.map +1 -0
  84. package/lib/appui-react/icons/cube-faces/SvgCubeFaceLeft.js +15 -0
  85. package/lib/appui-react/icons/cube-faces/SvgCubeFaceLeft.js.map +1 -0
  86. package/lib/appui-react/icons/cube-faces/SvgCubeFaceRear.d.ts +7 -0
  87. package/lib/appui-react/icons/cube-faces/SvgCubeFaceRear.d.ts.map +1 -0
  88. package/lib/appui-react/icons/cube-faces/SvgCubeFaceRear.js +15 -0
  89. package/lib/appui-react/icons/cube-faces/SvgCubeFaceRear.js.map +1 -0
  90. package/lib/appui-react/icons/cube-faces/SvgCubeFaceRight.d.ts +7 -0
  91. package/lib/appui-react/icons/cube-faces/SvgCubeFaceRight.d.ts.map +1 -0
  92. package/lib/appui-react/icons/cube-faces/SvgCubeFaceRight.js +15 -0
  93. package/lib/appui-react/icons/cube-faces/SvgCubeFaceRight.js.map +1 -0
  94. package/lib/appui-react/icons/cube-faces/SvgCubeFaceTop.d.ts +7 -0
  95. package/lib/appui-react/icons/cube-faces/SvgCubeFaceTop.d.ts.map +1 -0
  96. package/lib/appui-react/icons/cube-faces/SvgCubeFaceTop.js +15 -0
  97. package/lib/appui-react/icons/cube-faces/SvgCubeFaceTop.js.map +1 -0
  98. package/lib/appui-react/icons/snaps/SvgSnaps.d.ts +7 -0
  99. package/lib/appui-react/icons/snaps/SvgSnaps.d.ts.map +1 -0
  100. package/lib/appui-react/icons/snaps/SvgSnaps.js +14 -0
  101. package/lib/appui-react/icons/snaps/SvgSnaps.js.map +1 -0
  102. package/lib/appui-react/icons/snaps/SvgSnapsBisector.d.ts +7 -0
  103. package/lib/appui-react/icons/snaps/SvgSnapsBisector.d.ts.map +1 -0
  104. package/lib/appui-react/icons/snaps/SvgSnapsBisector.js +14 -0
  105. package/lib/appui-react/icons/snaps/SvgSnapsBisector.js.map +1 -0
  106. package/lib/appui-react/icons/snaps/SvgSnapsCenter.d.ts +7 -0
  107. package/lib/appui-react/icons/snaps/SvgSnapsCenter.d.ts.map +1 -0
  108. package/lib/appui-react/icons/snaps/SvgSnapsCenter.js +14 -0
  109. package/lib/appui-react/icons/snaps/SvgSnapsCenter.js.map +1 -0
  110. package/lib/appui-react/icons/snaps/SvgSnapsIntersection.d.ts +7 -0
  111. package/lib/appui-react/icons/snaps/SvgSnapsIntersection.d.ts.map +1 -0
  112. package/lib/appui-react/icons/snaps/SvgSnapsIntersection.js +14 -0
  113. package/lib/appui-react/icons/snaps/SvgSnapsIntersection.js.map +1 -0
  114. package/lib/appui-react/icons/snaps/SvgSnapsMidpoint.d.ts +7 -0
  115. package/lib/appui-react/icons/snaps/SvgSnapsMidpoint.d.ts.map +1 -0
  116. package/lib/appui-react/icons/snaps/SvgSnapsMidpoint.js +14 -0
  117. package/lib/appui-react/icons/snaps/SvgSnapsMidpoint.js.map +1 -0
  118. package/lib/appui-react/icons/snaps/SvgSnapsNearest.d.ts +7 -0
  119. package/lib/appui-react/icons/snaps/SvgSnapsNearest.d.ts.map +1 -0
  120. package/lib/appui-react/icons/snaps/SvgSnapsNearest.js +14 -0
  121. package/lib/appui-react/icons/snaps/SvgSnapsNearest.js.map +1 -0
  122. package/lib/appui-react/icons/snaps/SvgSnapsOrigin.d.ts +7 -0
  123. package/lib/appui-react/icons/snaps/SvgSnapsOrigin.d.ts.map +1 -0
  124. package/lib/appui-react/icons/snaps/SvgSnapsOrigin.js +14 -0
  125. package/lib/appui-react/icons/snaps/SvgSnapsOrigin.js.map +1 -0
  126. package/lib/appui-react/layout/footer/snap-mode/Snap.d.ts.map +1 -1
  127. package/lib/appui-react/layout/footer/snap-mode/Snap.js +2 -2
  128. package/lib/appui-react/layout/footer/snap-mode/Snap.js.map +1 -1
  129. package/lib/appui-react/layout/footer/snap-mode/Snap.scss +4 -0
  130. package/lib/appui-react/navigationaids/StandardRotationNavigationAid.js +16 -16
  131. package/lib/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  132. package/lib/appui-react/pickers/ViewSelector.d.ts.map +1 -1
  133. package/lib/appui-react/pickers/ViewSelector.js +5 -2
  134. package/lib/appui-react/pickers/ViewSelector.js.map +1 -1
  135. package/lib/appui-react/redux/FrameworkState.d.ts +5 -2
  136. package/lib/appui-react/redux/FrameworkState.d.ts.map +1 -1
  137. package/lib/appui-react/selection/SelectionContextItemDef.d.ts.map +1 -1
  138. package/lib/appui-react/selection/SelectionContextItemDef.js +21 -20
  139. package/lib/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  140. package/lib/appui-react/settings/ui/UiSettingsPage.js +2 -2
  141. package/lib/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  142. package/lib/appui-react/statusfields/SectionsField.js +2 -2
  143. package/lib/appui-react/statusfields/SectionsField.js.map +1 -1
  144. package/lib/appui-react/statusfields/SnapMode.d.ts.map +1 -1
  145. package/lib/appui-react/statusfields/SnapMode.js +21 -30
  146. package/lib/appui-react/statusfields/SnapMode.js.map +1 -1
  147. package/lib/appui-react/toolbar/ToolbarItemUtilities.d.ts.map +1 -1
  148. package/lib/appui-react/toolbar/ToolbarItemUtilities.js +5 -0
  149. package/lib/appui-react/toolbar/ToolbarItemUtilities.js.map +1 -1
  150. package/lib/appui-react/tools/CoreToolDefinitions.d.ts.map +1 -1
  151. package/lib/appui-react/tools/CoreToolDefinitions.js +12 -13
  152. package/lib/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  153. package/lib/appui-react/tools/KeyinPaletteTools.d.ts +11 -6
  154. package/lib/appui-react/tools/KeyinPaletteTools.d.ts.map +1 -1
  155. package/lib/appui-react/tools/KeyinPaletteTools.js +12 -9
  156. package/lib/appui-react/tools/KeyinPaletteTools.js.map +1 -1
  157. package/lib/appui-react/tools/OpenSettingsTool.d.ts +10 -5
  158. package/lib/appui-react/tools/OpenSettingsTool.d.ts.map +1 -1
  159. package/lib/appui-react/tools/OpenSettingsTool.js +11 -8
  160. package/lib/appui-react/tools/OpenSettingsTool.js.map +1 -1
  161. package/lib/appui-react/tools/RestoreLayoutTool.d.ts +16 -8
  162. package/lib/appui-react/tools/RestoreLayoutTool.d.ts.map +1 -1
  163. package/lib/appui-react/tools/RestoreLayoutTool.js +17 -13
  164. package/lib/appui-react/tools/RestoreLayoutTool.js.map +1 -1
  165. package/lib/appui-react/widget-panels/Content.d.ts +2 -0
  166. package/lib/appui-react/widget-panels/Content.d.ts.map +1 -1
  167. package/lib/appui-react/widget-panels/Content.js +2 -1
  168. package/lib/appui-react/widget-panels/Content.js.map +1 -1
  169. package/lib/appui-react/widget-panels/ModalFrontstageComposer.d.ts.map +1 -1
  170. package/lib/appui-react/widget-panels/ModalFrontstageComposer.js +2 -2
  171. package/lib/appui-react/widget-panels/ModalFrontstageComposer.js.map +1 -1
  172. package/lib/appui-react/widgets/WidgetDef.d.ts +0 -1
  173. package/lib/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  174. package/lib/appui-react/widgets/WidgetDef.js +0 -1
  175. package/lib/appui-react/widgets/WidgetDef.js.map +1 -1
  176. package/lib/appui-react.d.ts +1 -0
  177. package/lib/appui-react.d.ts.map +1 -1
  178. package/lib/appui-react.js +1 -0
  179. package/lib/appui-react.js.map +1 -1
  180. package/lib/cjs/appui-react/frontstage/ModalFrontstage.scss +0 -5
  181. package/lib/cjs/appui-react/{layout/widget/tools/button/Back.scss → frontstage/ModalFrontstageButton.scss} +15 -3
  182. package/lib/cjs/appui-react/layout/footer/snap-mode/Snap.scss +4 -0
  183. package/lib/esm/appui-react/frontstage/ModalFrontstage.scss +0 -5
  184. package/lib/esm/appui-react/{layout/widget/tools/button/Back.scss → frontstage/ModalFrontstageButton.scss} +15 -3
  185. package/lib/esm/appui-react/layout/footer/snap-mode/Snap.scss +4 -0
  186. package/package.json +11 -13
@@ -16,11 +16,10 @@ import { SyncUiEventId } from "../syncui/SyncUiEventDispatcher.js";
16
16
  import { GroupItemDef } from "../toolbar/GroupItem.js";
17
17
  import { RestoreFrontstageLayoutTool } from "./RestoreLayoutTool.js";
18
18
  import { UiFramework } from "../UiFramework.js";
19
- import svgGyroscope from "@bentley/icons-generic/icons/gyroscope.svg";
20
- import svgRotateLeft from "@bentley/icons-generic/icons/rotate-left.svg";
21
- import svgSectionTool from "@bentley/icons-generic/icons/section-tool.svg";
22
- import svgSelectionClear from "@bentley/icons-generic/icons/selection-clear.svg";
23
- import { SvgMeasure, SvgProcess } from "@itwin/itwinui-icons-react";
19
+ import { SvgGyroscope } from "../icons/SvgGyroscope.js";
20
+ import { SvgSectionTool } from "../icons/SvgSectionTool.js";
21
+ import { SvgSelectionClear } from "../icons/SvgSelectionClear.js";
22
+ import { SvgMeasure, SvgProcess, SvgRotateLeft, } from "@itwin/itwinui-icons-react";
24
23
  import { ConditionalIconItem } from "@itwin/core-react";
25
24
  import { getActiveViewport } from "../utils/getActiveViewport.js";
26
25
  /* eslint-disable deprecation/deprecation */
@@ -32,7 +31,7 @@ export class CoreTools {
32
31
  static get keyinPaletteButtonItemDef() {
33
32
  return new ToolItemDef({
34
33
  toolId: "uif:keyinpalette",
35
- iconSpec: React.createElement(SvgProcess, null),
34
+ icon: React.createElement(SvgProcess, null),
36
35
  labelKey: "UiFramework:keyinbrowser.label",
37
36
  execute: () => {
38
37
  UiFramework.showKeyinPalette(IModelApp.tools.getToolList().map((tool) => ({ value: tool.keyin })));
@@ -78,11 +77,11 @@ export class CoreTools {
78
77
  static get rotateViewCommand() {
79
78
  return new ToolItemDef({
80
79
  toolId: RotateViewTool.toolId,
81
- iconSpec: new ConditionalStringValue(() => {
80
+ icon: new ConditionalIconItem(() => {
82
81
  const viewport = getActiveViewport();
83
82
  if (viewport?.view.is2d())
84
- return svgRotateLeft;
85
- return svgGyroscope;
83
+ return React.createElement(SvgRotateLeft, null);
84
+ return React.createElement(SvgGyroscope, null);
86
85
  }, [
87
86
  SyncUiEventId.ActiveContentChanged,
88
87
  SyncUiEventId.ActiveViewportChanged,
@@ -281,7 +280,7 @@ export class CoreTools {
281
280
  return new GroupItemDef({
282
281
  groupId: "sectionTools-group",
283
282
  labelKey: "UiFramework:tools.sectionTools",
284
- iconSpec: svgSectionTool,
283
+ icon: React.createElement(SvgSectionTool, null),
285
284
  isHidden: new ConditionalBooleanValue(() => {
286
285
  const viewport = getActiveViewport();
287
286
  return !!viewport?.view.is2d();
@@ -308,7 +307,7 @@ export class CoreTools {
308
307
  groupId: "sectionTools-group-with-panel",
309
308
  labelKey: "UiFramework:tools.sectionTools",
310
309
  panelLabelKey: "UiFramework:tools.sectionPanelLabel",
311
- iconSpec: svgSectionTool,
310
+ icon: React.createElement(SvgSectionTool, null),
312
311
  isHidden: new ConditionalBooleanValue(() => {
313
312
  const viewport = getActiveViewport();
314
313
  return !!viewport?.view.is2d();
@@ -368,7 +367,7 @@ export class CoreTools {
368
367
  return new GroupItemDef({
369
368
  groupId: "measureTools-group",
370
369
  labelKey: "UiFramework:tools.measureTools",
371
- iconSpec: React.createElement(SvgMeasure, null),
370
+ icon: React.createElement(SvgMeasure, null),
372
371
  items: [this.measureDistanceToolItemDef, this.measureLocationToolItemDef],
373
372
  itemsInColumn: 2,
374
373
  });
@@ -376,7 +375,7 @@ export class CoreTools {
376
375
  static get clearSelectionItemDef() {
377
376
  return new CommandItemDef({
378
377
  commandId: "UiFramework.ClearSelection",
379
- iconSpec: svgSelectionClear,
378
+ icon: React.createElement(SvgSelectionClear, null),
380
379
  labelKey: "UiFramework:buttons.clearSelection",
381
380
  isHidden: getIsHiddenIfSelectionNotActive(),
382
381
  execute: async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"CoreToolDefinitions.js","sourceRoot":"","sources":["../../../src/appui-react/tools/CoreToolDefinitions.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC,CAAC,6BAA6B;AAC7D,OAAO,EACL,WAAW,EACX,WAAW,EACX,SAAS,EACT,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,EACX,cAAc,EACd,aAAa,EACb,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,0BAA0B,EAC1B,YAAY,EACZ,oBAAoB,EACpB,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,YAAY,GACb,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,kBAAkB,EAClB,0BAA0B,GAC3B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,+BAA+B,EAAE,MAAM,yCAAyC,CAAC;AAC1F,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,YAAY,MAAM,4CAA4C,CAAC;AACtE,OAAO,aAAa,MAAM,8CAA8C,CAAC;AACzE,OAAO,cAAc,MAAM,+CAA+C,CAAC;AAC3E,OAAO,iBAAiB,MAAM,kDAAkD,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAElE,4CAA4C;AAE5C;;;GAGG;AACH,MAAM,OAAO,SAAS;IACb,MAAM,KAAK,yBAAyB;QACzC,OAAO,IAAI,WAAW,CAAC;YACrB,MAAM,EAAE,kBAAkB;YAC1B,QAAQ,EAAE,oBAAC,UAAU,OAAG;YACxB,QAAQ,EAAE,gCAAgC;YAC1C,OAAO,EAAE,GAAG,EAAE;gBACZ,WAAW,CAAC,gBAAgB,CAC1B,SAAS,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CACrE,CAAC;YACJ,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAEM,MAAM,KAAK,cAAc;QAC9B,OAAO,IAAI,WAAW,CAAC;YACrB,MAAM,EAAE,WAAW,CAAC,MAAM;YAC1B,QAAQ,EAAE,WAAW,CAAC,QAAQ;YAC9B,KAAK,EAAE,WAAW,CAAC,OAAO;YAC1B,WAAW,EAAE,WAAW,CAAC,WAAW;YACpC,OAAO,EAAE,KAAK,IAAI,EAAE,CAClB,SAAS,CAAC,KAAK,CAAC,GAAG,CACjB,WAAW,CAAC,MAAM,EAClB,SAAS,CAAC,WAAW,CAAC,YAAY,EAClC,IAAI,CACL;SACJ,CAAC,CAAC;IACL,CAAC;IAEM,MAAM,KAAK,iBAAiB;QACjC,OAAO,IAAI,WAAW,CAAC;YACrB,MAAM,EAAE,cAAc,CAAC,MAAM;YAC7B,QAAQ,EAAE,cAAc,CAAC,QAAQ;YACjC,KAAK,EAAE,cAAc,CAAC,OAAO;YAC7B,WAAW,EAAE,cAAc,CAAC,WAAW;YACvC,OAAO,EAAE,KAAK,IAAI,EAAE,CAClB,SAAS,CAAC,KAAK,CAAC,GAAG,CACjB,cAAc,CAAC,MAAM,EACrB,SAAS,CAAC,WAAW,CAAC,YAAY,CACnC;SACJ,CAAC,CAAC;IACL,CAAC;IAEM,MAAM,KAAK,eAAe;QAC/B,OAAO,IAAI,WAAW,CAAC;YACrB,MAAM,EAAE,YAAY,CAAC,MAAM;YAC3B,QAAQ,EAAE,YAAY,CAAC,QAAQ;YAC/B,KAAK,EAAE,YAAY,CAAC,OAAO;YAC3B,WAAW,EAAE,YAAY,CAAC,WAAW;YACrC,OAAO,EAAE,KAAK,IAAI,EAAE,CAClB,SAAS,CAAC,KAAK,CAAC,GAAG,CACjB,YAAY,CAAC,MAAM,EACnB,SAAS,CAAC,WAAW,CAAC,YAAY,CACnC;SACJ,CAAC,CAAC;IACL,CAAC;IAEM,MAAM,KAAK,cAAc;QAC9B,OAAO,IAAI,WAAW,CAAC;YACrB,MAAM,EAAE,WAAW,CAAC,MAAM;YAC1B,QAAQ,EAAE,WAAW,CAAC,QAAQ;YAC9B,KAAK,EAAE,WAAW,CAAC,OAAO;YAC1B,WAAW,EAAE,WAAW,CAAC,WAAW;YACpC,OAAO,EAAE,KAAK,IAAI,EAAE,CAClB,SAAS,CAAC,KAAK,CAAC,GAAG,CACjB,WAAW,CAAC,MAAM,EAClB,SAAS,CAAC,WAAW,CAAC,YAAY,CACnC;SACJ,CAAC,CAAC;IACL,CAAC;IAEM,MAAM,KAAK,iBAAiB;QACjC,OAAO,IAAI,WAAW,CAAC;YACrB,MAAM,EAAE,cAAc,CAAC,MAAM;YAC7B,QAAQ,EAAE,IAAI,sBAAsB,CAAC,GAAG,EAAE;gBACxC,MAAM,QAAQ,GAAG,iBAAiB,EAAE,CAAC;gBACrC,IAAI,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE;oBAAE,OAAO,aAAa,CAAC;gBAChD,OAAO,YAAY,CAAC;YACtB,CAAC,EAAE;gBACD,aAAa,CAAC,oBAAoB;gBAClC,aAAa,CAAC,qBAAqB;gBACnC,aAAa,CAAC,gBAAgB;aAC/B,CAAC;YACF,KAAK,EAAE,cAAc,CAAC,OAAO;YAC7B,WAAW,EAAE,cAAc,CAAC,WAAW;YACvC,OAAO,EAAE,KAAK,IAAI,EAAE,CAClB,SAAS,CAAC,KAAK,CAAC,GAAG,CACjB,cAAc,CAAC,MAAM,EACrB,SAAS,CAAC,WAAW,CAAC,YAAY,CACnC;SACJ,CAAC,CAAC;IACL,CAAC;IAEM,MAAM,KAAK,eAAe;QAC/B,OAAO,IAAI,WAAW,CAAC;YACrB,MAAM,EAAE,YAAY,CAAC,MAAM;YAC3B,QAAQ,EAAE,YAAY,CAAC,QAAQ;YAC/B,KAAK,EAAE,YAAY,CAAC,OAAO;YAC3B,WAAW,EAAE,YAAY,CAAC,WAAW;YACrC,QAAQ,EAAE,IAAI,uBAAuB,CAAC,GAAG,EAAE;gBACzC,MAAM,QAAQ,GAAG,iBAAiB,EAAE,CAAC;gBACrC,OAAO,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;YACjC,CAAC,EAAE;gBACD,aAAa,CAAC,oBAAoB;gBAClC,aAAa,CAAC,qBAAqB;gBACnC,aAAa,CAAC,gBAAgB;aAC/B,CAAC;YACF,OAAO,EAAE,KAAK,IAAI,EAAE,CAClB,SAAS,CAAC,KAAK,CAAC,GAAG,CACjB,YAAY,CAAC,MAAM,EACnB,SAAS,CAAC,WAAW,CAAC,YAAY,CACnC;SACJ,CAAC,CAAC;IACL,CAAC;IAEM,MAAM,KAAK,oBAAoB;QACpC,OAAO,IAAI,WAAW,CAAC;YACrB,MAAM,EAAE,aAAa,CAAC,MAAM;YAC5B,QAAQ,EAAE,aAAa,CAAC,QAAQ;YAChC,KAAK,EAAE,aAAa,CAAC,OAAO;YAC5B,WAAW,EAAE,aAAa,CAAC,WAAW;YACtC,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC;SAC/D,CAAC,CAAC;IACL,CAAC;IAEM,MAAM,KAAK,mBAAmB;QACnC,OAAO,IAAI,WAAW,CAAC;YACrB,MAAM,EAAE,mBAAmB,CAAC,MAAM;YAClC,QAAQ,EAAE,mBAAmB,CAAC,QAAQ;YACtC,KAAK,EAAE,mBAAmB,CAAC,OAAO;YAClC,WAAW,EAAE,mBAAmB,CAAC,WAAW;YAC5C,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,MAAM,CAAC;SACrE,CAAC,CAAC;IACL,CAAC;IAEM,MAAM,KAAK,uBAAuB;QACvC,OAAO,IAAI,WAAW,CAAC;YACrB,MAAM,EAAE,oBAAoB,CAAC,MAAM;YACnC,QAAQ,EAAE,IAAI,mBAAmB,CAAC,GAAG,EAAE;gBACrC,MAAM,QAAQ,GAAG,iBAAiB,EAAE,CAAC;gBACrC,IAAI,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,QAAQ,EAAE,UAAU,EAAE,CAAC;oBAClD,OAAO,oBAAC,kBAAkB,OAAG,CAAC;gBAChC,CAAC;gBAED,OAAO,oBAAC,0BAA0B,OAAG,CAAC;YACxC,CAAC,EAAE;gBACD,aAAa,CAAC,oBAAoB;gBAClC,aAAa,CAAC,qBAAqB;gBACnC,aAAa,CAAC,gBAAgB;aAC/B,CAAC;YACF,KAAK,EAAE,IAAI,sBAAsB,CAAC,GAAG,EAAE;gBACrC,MAAM,QAAQ,GAAG,iBAAiB,EAAE,CAAC;gBACrC,IAAI,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,QAAQ,EAAE,UAAU,EAAE,CAAC;oBAClD,OAAO,WAAW,CAAC,SAAS,CAC1B,wCAAwC,CACzC,CAAC;gBACJ,CAAC;gBACD,OAAO,WAAW,CAAC,SAAS,CAAC,uCAAuC,CAAC,CAAC;YACxE,CAAC,EAAE;gBACD,aAAa,CAAC,oBAAoB;gBAClC,aAAa,CAAC,qBAAqB;gBACnC,aAAa,CAAC,gBAAgB;aAC/B,CAAC;YACF,WAAW,EAAE,oBAAoB,CAAC,WAAW;YAC7C,QAAQ,EAAE,IAAI,uBAAuB,CAAC,GAAG,EAAE;gBACzC,MAAM,QAAQ,GAAG,iBAAiB,EAAE,CAAC;gBACrC,OAAO,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;YACrE,CAAC,EAAE;gBACD,aAAa,CAAC,oBAAoB;gBAClC,aAAa,CAAC,qBAAqB;gBACnC,aAAa,CAAC,gBAAgB;aAC/B,CAAC;YACF,OAAO,EAAE,KAAK,IAAI,EAAE,CAClB,SAAS,CAAC,KAAK,CAAC,GAAG,CACjB,oBAAoB,CAAC,MAAM,EAC3B,SAAS,CAAC,WAAW,CAAC,YAAY,CACnC;SACJ,CAAC,CAAC;IACL,CAAC;IAEM,MAAM,KAAK,cAAc;QAC9B,OAAO,IAAI,WAAW,CAAC;YACrB,MAAM,EAAE,WAAW,CAAC,MAAM;YAC1B,QAAQ,EAAE,WAAW,CAAC,QAAQ;YAC9B,KAAK,EAAE,WAAW,CAAC,OAAO;YAC1B,WAAW,EAAE,WAAW,CAAC,WAAW;YACpC,OAAO,EAAE,KAAK,IAAI,EAAE,CAClB,SAAS,CAAC,KAAK,CAAC,GAAG,CACjB,WAAW,CAAC,MAAM,EAClB,SAAS,CAAC,WAAW,CAAC,YAAY,CACnC;SACJ,CAAC,CAAC;IACL,CAAC;IAED,6GAA6G;IAC7G,eAAe;IACR,MAAM,KAAK,eAAe;QAC/B,OAAO,IAAI,WAAW,CAAC;YACrB,MAAM,EAAE,YAAY,CAAC,MAAM;YAC3B,UAAU,EAAE,IAAI,uBAAuB,CAAC,GAAG,EAAE;gBAC3C,MAAM,QAAQ,GAAG,iBAAiB,EAAE,CAAC;gBACrC,IAAI,CAAC,QAAQ;oBAAE,OAAO,KAAK,CAAC;gBAC5B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;YAClC,CAAC,EAAE;gBACD,aAAa,CAAC,oBAAoB;gBAClC,aAAa,CAAC,qBAAqB;gBACnC,aAAa,CAAC,gBAAgB;aAC/B,CAAC;YACF,QAAQ,EAAE,YAAY,CAAC,QAAQ;YAC/B,KAAK,EAAE,YAAY,CAAC,OAAO;YAC3B,WAAW,EAAE,YAAY,CAAC,WAAW;YACrC,OAAO,EAAE,KAAK,IAAI,EAAE,CAClB,SAAS,CAAC,KAAK,CAAC,GAAG,CACjB,YAAY,CAAC,MAAM,EACnB,SAAS,CAAC,WAAW,CAAC,YAAY,CACnC;SACJ,CAAC,CAAC;IACL,CAAC;IAEM,MAAM,KAAK,eAAe;QAC/B,OAAO,IAAI,WAAW,CAAC;YACrB,MAAM,EAAE,YAAY,CAAC,MAAM;YAC3B,QAAQ,EAAE,YAAY,CAAC,QAAQ;YAC/B,KAAK,EAAE,YAAY,CAAC,OAAO;YAC3B,WAAW,EAAE,YAAY,CAAC,WAAW;YACrC,OAAO,EAAE,KAAK,IAAI,EAAE,CAClB,SAAS,CAAC,KAAK,CAAC,GAAG,CACjB,YAAY,CAAC,MAAM,EACnB,SAAS,CAAC,WAAW,CAAC,YAAY,CACnC;YACH,UAAU,EAAE,IAAI,uBAAuB,CAAC,GAAG,EAAE;gBAC3C,MAAM,QAAQ,GAAG,iBAAiB,EAAE,CAAC;gBACrC,IAAI,CAAC,QAAQ;oBAAE,OAAO,KAAK,CAAC;gBAC5B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;YAClC,CAAC,EAAE;gBACD,aAAa,CAAC,oBAAoB;gBAClC,aAAa,CAAC,qBAAqB;gBACnC,aAAa,CAAC,gBAAgB;aAC/B,CAAC;SACH,CAAC,CAAC;IACL,CAAC;IAEO,MAAM,CAAC,gBAAgB;QAC7B,MAAM,EAAE,GAAG,SAAS,CAAC,WAAW,CAAC,YAAY,CAAC;QAC9C,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE;YAAE,OAAO;QAEnC,6CAA6C;QAC7C,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,wHAAwH;IACjH,MAAM,KAAK,4BAA4B;QAC5C,OAAO,IAAI,WAAW,CAAC;YACrB,MAAM,EAAE,mBAAmB,CAAC,MAAM;YAClC,QAAQ,EAAE,mBAAmB,CAAC,QAAQ;YACtC,KAAK,EAAE,mBAAmB,CAAC,OAAO;YAClC,WAAW,EAAE,mBAAmB,CAAC,WAAW;YAC5C,OAAO,EAAE,KAAK,IAAI,EAAE;gBAClB,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACxB,OAAO,SAAS,CAAC,KAAK,CAAC,GAAG,CACxB,mBAAmB,CAAC,MAAM,EAC1B,0BAA0B,CAAC,MAAM,EAAE,CACpC,CAAC;YACJ,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED,4HAA4H;IACrH,MAAM,KAAK,8BAA8B;QAC9C,OAAO,IAAI,WAAW,CAAC;YACrB,MAAM,EAAE,qBAAqB,CAAC,MAAM;YACpC,QAAQ,EAAE,qBAAqB,CAAC,QAAQ;YACxC,KAAK,EAAE,qBAAqB,CAAC,OAAO;YACpC,WAAW,EAAE,qBAAqB,CAAC,WAAW;YAC9C,OAAO,EAAE,KAAK,IAAI,EAAE;gBAClB,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACxB,OAAO,SAAS,CAAC,KAAK,CAAC,GAAG,CACxB,qBAAqB,CAAC,MAAM,EAC5B,0BAA0B,CAAC,MAAM,EAAE,CACpC,CAAC;YACJ,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED,wHAAwH;IACjH,MAAM,KAAK,4BAA4B;QAC5C,OAAO,IAAI,WAAW,CAAC;YACrB,MAAM,EAAE,mBAAmB,CAAC,MAAM;YAClC,QAAQ,EAAE,mBAAmB,CAAC,QAAQ;YACtC,KAAK,EAAE,mBAAmB,CAAC,OAAO;YAClC,WAAW,EAAE,mBAAmB,CAAC,WAAW;YAC5C,OAAO,EAAE,KAAK,IAAI,EAAE;gBAClB,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACxB,OAAO,SAAS,CAAC,KAAK,CAAC,GAAG,CACxB,mBAAmB,CAAC,MAAM,EAC1B,0BAA0B,CAAC,MAAM,EAAE,CACpC,CAAC;YACJ,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED,wHAAwH;IACjH,MAAM,KAAK,4BAA4B;QAC5C,OAAO,IAAI,WAAW,CAAC;YACrB,MAAM,EAAE,mBAAmB,CAAC,MAAM;YAClC,QAAQ,EAAE,mBAAmB,CAAC,QAAQ;YACtC,KAAK,EAAE,mBAAmB,CAAC,OAAO;YAClC,WAAW,EAAE,mBAAmB,CAAC,WAAW;YAC5C,OAAO,EAAE,KAAK,IAAI,EAAE;gBAClB,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACxB,OAAO,SAAS,CAAC,KAAK,CAAC,GAAG,CACxB,mBAAmB,CAAC,MAAM,EAC1B,0BAA0B,CAAC,MAAM,EAAE,CACpC,CAAC;YACJ,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAEM,MAAM,KAAK,gBAAgB;QAChC,qBAAqB,CAAC,QAAQ,EAAE,CAAC;QACjC,mBAAmB,CAAC,QAAQ,EAAE,CAAC;QAC/B,mBAAmB,CAAC,QAAQ,EAAE,CAAC;QAC/B,mBAAmB,CAAC,QAAQ,EAAE,CAAC;QAE/B,OAAO,IAAI,YAAY,CAAC;YACtB,OAAO,EAAE,oBAAoB;YAC7B,QAAQ,EAAE,gCAAgC;YAC1C,QAAQ,EAAE,cAAc;YACxB,QAAQ,EAAE,IAAI,uBAAuB,CAAC,GAAG,EAAE;gBACzC,MAAM,QAAQ,GAAG,iBAAiB,EAAE,CAAC;gBACrC,OAAO,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;YACjC,CAAC,EAAE;gBACD,aAAa,CAAC,oBAAoB;gBAClC,aAAa,CAAC,qBAAqB;gBACnC,aAAa,CAAC,gBAAgB;aAC/B,CAAC;YACF,KAAK,EAAE;gBACL,IAAI,CAAC,4BAA4B;gBACjC,IAAI,CAAC,8BAA8B;gBACnC,IAAI,CAAC,4BAA4B;gBACjC,IAAI,CAAC,4BAA4B;aAClC;YACD,aAAa,EAAE,CAAC;SACjB,CAAC,CAAC;IACL,CAAC;IAEM,MAAM,KAAK,yBAAyB;QACzC,qBAAqB,CAAC,QAAQ,EAAE,CAAC;QACjC,mBAAmB,CAAC,QAAQ,EAAE,CAAC;QAC/B,mBAAmB,CAAC,QAAQ,EAAE,CAAC;QAC/B,mBAAmB,CAAC,QAAQ,EAAE,CAAC;QAE/B,OAAO,IAAI,YAAY,CAAC;YACtB,OAAO,EAAE,+BAA+B;YACxC,QAAQ,EAAE,gCAAgC;YAC1C,aAAa,EAAE,qCAAqC;YACpD,QAAQ,EAAE,cAAc;YACxB,QAAQ,EAAE,IAAI,uBAAuB,CAAC,GAAG,EAAE;gBACzC,MAAM,QAAQ,GAAG,iBAAiB,EAAE,CAAC;gBACrC,OAAO,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;YACjC,CAAC,EAAE;gBACD,aAAa,CAAC,oBAAoB;gBAClC,aAAa,CAAC,qBAAqB;gBACnC,aAAa,CAAC,gBAAgB;aAC/B,CAAC;YACF,KAAK,EAAE;gBACL,IAAI,WAAW,CAAC;oBACd,GAAG,IAAI,CAAC,4BAA4B;oBACpC,QAAQ,EAAE,kCAAkC;iBAC7C,CAAC;gBACF,IAAI,WAAW,CAAC;oBACd,GAAG,IAAI,CAAC,8BAA8B;oBACtC,QAAQ,EAAE,oCAAoC;iBAC/C,CAAC;gBACF,IAAI,WAAW,CAAC;oBACd,GAAG,IAAI,CAAC,4BAA4B;oBACpC,QAAQ,EAAE,kCAAkC;iBAC7C,CAAC;gBACF,IAAI,WAAW,CAAC;oBACd,GAAG,IAAI,CAAC,4BAA4B;oBACpC,QAAQ,EAAE,kCAAkC;iBAC7C,CAAC;aACH;YACD,aAAa,EAAE,CAAC;SACjB,CAAC,CAAC;IACL,CAAC;IAED,wHAAwH;IACjH,MAAM,KAAK,0BAA0B;QAC1C,OAAO,IAAI,WAAW,CAAC;YACrB,MAAM,EAAE,mBAAmB,CAAC,MAAM;YAClC,QAAQ,EAAE,mBAAmB,CAAC,QAAQ;YACtC,KAAK,EAAE,mBAAmB,CAAC,OAAO;YAClC,WAAW,EAAE,mBAAmB,CAAC,WAAW;YAC5C,OAAO,EAAE,KAAK,IAAI,EAAE;gBAClB,OAAO,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;YACzD,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED,wHAAwH;IACjH,MAAM,KAAK,0BAA0B;QAC1C,OAAO,IAAI,WAAW,CAAC;YACrB,MAAM,EAAE,mBAAmB,CAAC,MAAM;YAClC,QAAQ,EAAE,mBAAmB,CAAC,QAAQ;YACtC,KAAK,EAAE,mBAAmB,CAAC,OAAO;YAClC,WAAW,EAAE,mBAAmB,CAAC,WAAW;YAC5C,OAAO,EAAE,KAAK,IAAI,EAAE;gBAClB,OAAO,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;YACzD,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAEM,MAAM,KAAK,gBAAgB;QAChC,mBAAmB,CAAC,QAAQ,EAAE,CAAC;QAC/B,mBAAmB,CAAC,QAAQ,EAAE,CAAC;QAE/B,OAAO,IAAI,YAAY,CAAC;YACtB,OAAO,EAAE,oBAAoB;YAC7B,QAAQ,EAAE,gCAAgC;YAC1C,QAAQ,EAAE,oBAAC,UAAU,OAAG;YACxB,KAAK,EAAE,CAAC,IAAI,CAAC,0BAA0B,EAAE,IAAI,CAAC,0BAA0B,CAAC;YACzE,aAAa,EAAE,CAAC;SACjB,CAAC,CAAC;IACL,CAAC;IAEM,MAAM,KAAK,qBAAqB;QACrC,OAAO,IAAI,cAAc,CAAC;YACxB,SAAS,EAAE,4BAA4B;YACvC,QAAQ,EAAE,iBAAiB;YAC3B,QAAQ,EAAE,oCAAoC;YAC9C,QAAQ,EAAE,+BAA+B,EAAE;YAC3C,OAAO,EAAE,KAAK,IAAI,EAAE;gBAClB,MAAM,gBAAgB,GAAG,WAAW,CAAC,mBAAmB,EAAE,CAAC;gBAC3D,IAAI,gBAAgB,EAAE,CAAC;oBACrB,gBAAgB,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;gBAC3C,CAAC;gBACD,MAAM,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC,aAAa,CAAC;gBAC/C,IAAI,IAAI;oBAAE,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;;oBAChC,MAAM,SAAS,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC;YACpD,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAEM,MAAM,KAAK,qCAAqC;QACrD,OAAO,IAAI,WAAW,CAAC;YACrB,MAAM,EAAE,2BAA2B,CAAC,MAAM;YAC1C,QAAQ,EAAE,2BAA2B,CAAC,QAAQ;YAC9C,KAAK,EAAE,2BAA2B,CAAC,OAAO;YAC1C,WAAW,EAAE,2BAA2B,CAAC,WAAW;YACpD,OAAO,EAAE,KAAK,IAAI,EAAE;gBAClB,OAAO,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAC;YACjE,CAAC;SACF,CAAC,CAAC;IACL,CAAC;CACF","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 Tools\n */\n\nimport * as React from \"react\"; // cSpell:ignore keyinbrowser\nimport {\n FitViewTool,\n FlyViewTool,\n IModelApp,\n MeasureDistanceTool,\n MeasureLocationTool,\n PanViewTool,\n RotateViewTool,\n SelectionTool,\n SetupWalkCameraTool,\n ViewClipByElementTool,\n ViewClipByPlaneTool,\n ViewClipByRangeTool,\n ViewClipByShapeTool,\n ViewClipDecorationProvider,\n ViewRedoTool,\n ViewToggleCameraTool,\n ViewUndoTool,\n WalkViewTool,\n WindowAreaTool,\n ZoomViewTool,\n} from \"@itwin/core-frontend\";\nimport {\n ConditionalBooleanValue,\n ConditionalStringValue,\n} from \"@itwin/appui-abstract\";\nimport {\n SvgCameraAnimation,\n SvgCameraAnimationDisabled,\n} from \"@itwin/itwinui-icons-react\";\nimport { getIsHiddenIfSelectionNotActive } from \"../selection/SelectionContextItemDef.js\";\nimport { CommandItemDef } from \"../shared/CommandItemDef.js\";\nimport { ToolItemDef } from \"../shared/ToolItemDef.js\";\nimport { SyncUiEventId } from \"../syncui/SyncUiEventDispatcher.js\";\nimport { GroupItemDef } from \"../toolbar/GroupItem.js\";\nimport { RestoreFrontstageLayoutTool } from \"./RestoreLayoutTool.js\";\nimport { UiFramework } from \"../UiFramework.js\";\nimport svgGyroscope from \"@bentley/icons-generic/icons/gyroscope.svg\";\nimport svgRotateLeft from \"@bentley/icons-generic/icons/rotate-left.svg\";\nimport svgSectionTool from \"@bentley/icons-generic/icons/section-tool.svg\";\nimport svgSelectionClear from \"@bentley/icons-generic/icons/selection-clear.svg\";\nimport { SvgMeasure, SvgProcess } from \"@itwin/itwinui-icons-react\";\nimport { ConditionalIconItem } from \"@itwin/core-react\";\nimport type { ToolbarItems } from \"./ToolbarItems.js\";\nimport { getActiveViewport } from \"../utils/getActiveViewport.js\";\n\n/* eslint-disable deprecation/deprecation */\n\n/** Utility Class that provides definitions of tools provided by the ($core-frontend) core. These definitions can be used to populate the UI.\n * @public\n * @deprecated in 4.15.0. Use {@link ToolbarItems} instead.\n */\nexport class CoreTools {\n public static get keyinPaletteButtonItemDef() {\n return new ToolItemDef({\n toolId: \"uif:keyinpalette\",\n iconSpec: <SvgProcess />,\n labelKey: \"UiFramework:keyinbrowser.label\",\n execute: () => {\n UiFramework.showKeyinPalette(\n IModelApp.tools.getToolList().map((tool) => ({ value: tool.keyin }))\n );\n },\n });\n }\n\n public static get fitViewCommand() {\n return new ToolItemDef({\n toolId: FitViewTool.toolId,\n iconSpec: FitViewTool.iconSpec,\n label: FitViewTool.flyover,\n description: FitViewTool.description,\n execute: async () =>\n IModelApp.tools.run(\n FitViewTool.toolId,\n IModelApp.viewManager.selectedView,\n true\n ),\n });\n }\n\n public static get windowAreaCommand() {\n return new ToolItemDef({\n toolId: WindowAreaTool.toolId,\n iconSpec: WindowAreaTool.iconSpec,\n label: WindowAreaTool.flyover,\n description: WindowAreaTool.description,\n execute: async () =>\n IModelApp.tools.run(\n WindowAreaTool.toolId,\n IModelApp.viewManager.selectedView\n ),\n });\n }\n\n public static get zoomViewCommand() {\n return new ToolItemDef({\n toolId: ZoomViewTool.toolId,\n iconSpec: ZoomViewTool.iconSpec,\n label: ZoomViewTool.flyover,\n description: ZoomViewTool.description,\n execute: async () =>\n IModelApp.tools.run(\n ZoomViewTool.toolId,\n IModelApp.viewManager.selectedView\n ),\n });\n }\n\n public static get panViewCommand() {\n return new ToolItemDef({\n toolId: PanViewTool.toolId,\n iconSpec: PanViewTool.iconSpec,\n label: PanViewTool.flyover,\n description: PanViewTool.description,\n execute: async () =>\n IModelApp.tools.run(\n PanViewTool.toolId,\n IModelApp.viewManager.selectedView\n ),\n });\n }\n\n public static get rotateViewCommand() {\n return new ToolItemDef({\n toolId: RotateViewTool.toolId,\n iconSpec: new ConditionalStringValue(() => {\n const viewport = getActiveViewport();\n if (viewport?.view.is2d()) return svgRotateLeft;\n return svgGyroscope;\n }, [\n SyncUiEventId.ActiveContentChanged,\n SyncUiEventId.ActiveViewportChanged,\n SyncUiEventId.ViewStateChanged,\n ]),\n label: RotateViewTool.flyover,\n description: RotateViewTool.description,\n execute: async () =>\n IModelApp.tools.run(\n RotateViewTool.toolId,\n IModelApp.viewManager.selectedView\n ),\n });\n }\n\n public static get walkViewCommand() {\n return new ToolItemDef({\n toolId: WalkViewTool.toolId,\n iconSpec: WalkViewTool.iconSpec,\n label: WalkViewTool.flyover,\n description: WalkViewTool.description,\n isHidden: new ConditionalBooleanValue(() => {\n const viewport = getActiveViewport();\n return !!viewport?.view.is2d();\n }, [\n SyncUiEventId.ActiveContentChanged,\n SyncUiEventId.ActiveViewportChanged,\n SyncUiEventId.ViewStateChanged,\n ]),\n execute: async () =>\n IModelApp.tools.run(\n WalkViewTool.toolId,\n IModelApp.viewManager.selectedView\n ),\n });\n }\n\n public static get selectElementCommand() {\n return new ToolItemDef({\n toolId: SelectionTool.toolId,\n iconSpec: SelectionTool.iconSpec,\n label: SelectionTool.flyover,\n description: SelectionTool.description,\n execute: async () => IModelApp.tools.run(SelectionTool.toolId),\n });\n }\n\n public static get setupCameraWalkTool() {\n return new ToolItemDef({\n toolId: SetupWalkCameraTool.toolId,\n iconSpec: SetupWalkCameraTool.iconSpec,\n label: SetupWalkCameraTool.flyover,\n description: SetupWalkCameraTool.description,\n execute: async () => IModelApp.tools.run(SetupWalkCameraTool.toolId),\n });\n }\n\n public static get toggleCameraViewCommand() {\n return new ToolItemDef({\n toolId: ViewToggleCameraTool.toolId,\n iconSpec: new ConditionalIconItem(() => {\n const viewport = getActiveViewport();\n if (viewport?.view.is3d() && viewport?.isCameraOn) {\n return <SvgCameraAnimation />;\n }\n\n return <SvgCameraAnimationDisabled />;\n }, [\n SyncUiEventId.ActiveContentChanged,\n SyncUiEventId.ActiveViewportChanged,\n SyncUiEventId.ViewStateChanged,\n ]),\n label: new ConditionalStringValue(() => {\n const viewport = getActiveViewport();\n if (viewport?.view.is3d() && viewport?.isCameraOn) {\n return UiFramework.translate(\n \"tools.View.ToggleCamera.turnOffFlyover\"\n );\n }\n return UiFramework.translate(\"tools.View.ToggleCamera.turnOnFlyover\");\n }, [\n SyncUiEventId.ActiveContentChanged,\n SyncUiEventId.ActiveViewportChanged,\n SyncUiEventId.ViewStateChanged,\n ]),\n description: ViewToggleCameraTool.description,\n isHidden: new ConditionalBooleanValue(() => {\n const viewport = getActiveViewport();\n return !(viewport?.view.is3d() && viewport?.view.supportsCamera());\n }, [\n SyncUiEventId.ActiveContentChanged,\n SyncUiEventId.ActiveViewportChanged,\n SyncUiEventId.ViewStateChanged,\n ]),\n execute: async () =>\n IModelApp.tools.run(\n ViewToggleCameraTool.toolId,\n IModelApp.viewManager.selectedView\n ),\n });\n }\n\n public static get flyViewCommand() {\n return new ToolItemDef({\n toolId: FlyViewTool.toolId,\n iconSpec: FlyViewTool.iconSpec,\n label: FlyViewTool.flyover,\n description: FlyViewTool.description,\n execute: async () =>\n IModelApp.tools.run(\n FlyViewTool.toolId,\n IModelApp.viewManager.selectedView\n ),\n });\n }\n\n // TODO - Need to provide a sync message that is fired when the Undo/Redo button needs to be refreshed in the\n // active view.\n public static get viewUndoCommand() {\n return new ToolItemDef({\n toolId: ViewUndoTool.toolId,\n isDisabled: new ConditionalBooleanValue(() => {\n const viewport = getActiveViewport();\n if (!viewport) return false;\n return !viewport.isUndoPossible;\n }, [\n SyncUiEventId.ActiveContentChanged,\n SyncUiEventId.ActiveViewportChanged,\n SyncUiEventId.ViewStateChanged,\n ]),\n iconSpec: ViewUndoTool.iconSpec,\n label: ViewUndoTool.flyover,\n description: ViewUndoTool.description,\n execute: async () =>\n IModelApp.tools.run(\n ViewUndoTool.toolId,\n IModelApp.viewManager.selectedView\n ),\n });\n }\n\n public static get viewRedoCommand() {\n return new ToolItemDef({\n toolId: ViewRedoTool.toolId,\n iconSpec: ViewRedoTool.iconSpec,\n label: ViewRedoTool.flyover,\n description: ViewRedoTool.description,\n execute: async () =>\n IModelApp.tools.run(\n ViewRedoTool.toolId,\n IModelApp.viewManager.selectedView\n ),\n isDisabled: new ConditionalBooleanValue(() => {\n const viewport = getActiveViewport();\n if (!viewport) return false;\n return !viewport.isRedoPossible;\n }, [\n SyncUiEventId.ActiveContentChanged,\n SyncUiEventId.ActiveViewportChanged,\n SyncUiEventId.ViewStateChanged,\n ]),\n });\n }\n\n private static turnOnClipVolume() {\n const vp = IModelApp.viewManager.selectedView;\n if (!vp || !vp.view.is3d()) return;\n\n // Turn on clip volume flag for section tools\n vp.viewFlags = vp.viewFlags.with(\"clipVolume\", true);\n }\n\n // note current ViewClipByPlaneTool is not automatically registered so the app must call ViewClipByPlaneTool.register();\n public static get sectionByPlaneCommandItemDef() {\n return new ToolItemDef({\n toolId: ViewClipByPlaneTool.toolId,\n iconSpec: ViewClipByPlaneTool.iconSpec,\n label: ViewClipByPlaneTool.flyover,\n description: ViewClipByPlaneTool.description,\n execute: async () => {\n this.turnOnClipVolume();\n return IModelApp.tools.run(\n ViewClipByPlaneTool.toolId,\n ViewClipDecorationProvider.create()\n );\n },\n });\n }\n\n // note current ViewClipByElementTool is not automatically registered so the app must call ViewClipByElementTool.register();\n public static get sectionByElementCommandItemDef() {\n return new ToolItemDef({\n toolId: ViewClipByElementTool.toolId,\n iconSpec: ViewClipByElementTool.iconSpec,\n label: ViewClipByElementTool.flyover,\n description: ViewClipByElementTool.description,\n execute: async () => {\n this.turnOnClipVolume();\n return IModelApp.tools.run(\n ViewClipByElementTool.toolId,\n ViewClipDecorationProvider.create()\n );\n },\n });\n }\n\n // note current ViewClipByRangeTool is not automatically registered so the app must call ViewClipByRangeTool.register();\n public static get sectionByRangeCommandItemDef() {\n return new ToolItemDef({\n toolId: ViewClipByRangeTool.toolId,\n iconSpec: ViewClipByRangeTool.iconSpec,\n label: ViewClipByRangeTool.flyover,\n description: ViewClipByRangeTool.description,\n execute: async () => {\n this.turnOnClipVolume();\n return IModelApp.tools.run(\n ViewClipByRangeTool.toolId,\n ViewClipDecorationProvider.create()\n );\n },\n });\n }\n\n // note current ViewClipByShapeTool is not automatically registered so the app must call ViewClipByShapeTool.register();\n public static get sectionByShapeCommandItemDef() {\n return new ToolItemDef({\n toolId: ViewClipByShapeTool.toolId,\n iconSpec: ViewClipByShapeTool.iconSpec,\n label: ViewClipByShapeTool.flyover,\n description: ViewClipByShapeTool.description,\n execute: async () => {\n this.turnOnClipVolume();\n return IModelApp.tools.run(\n ViewClipByShapeTool.toolId,\n ViewClipDecorationProvider.create()\n );\n },\n });\n }\n\n public static get sectionToolGroup() {\n ViewClipByElementTool.register();\n ViewClipByPlaneTool.register();\n ViewClipByRangeTool.register();\n ViewClipByShapeTool.register();\n\n return new GroupItemDef({\n groupId: \"sectionTools-group\",\n labelKey: \"UiFramework:tools.sectionTools\",\n iconSpec: svgSectionTool,\n isHidden: new ConditionalBooleanValue(() => {\n const viewport = getActiveViewport();\n return !!viewport?.view.is2d();\n }, [\n SyncUiEventId.ActiveContentChanged,\n SyncUiEventId.ActiveViewportChanged,\n SyncUiEventId.ViewStateChanged,\n ]),\n items: [\n this.sectionByPlaneCommandItemDef,\n this.sectionByElementCommandItemDef,\n this.sectionByRangeCommandItemDef,\n this.sectionByShapeCommandItemDef,\n ],\n itemsInColumn: 4,\n });\n }\n\n public static get sectionToolGroupWithPanel() {\n ViewClipByElementTool.register();\n ViewClipByPlaneTool.register();\n ViewClipByRangeTool.register();\n ViewClipByShapeTool.register();\n\n return new GroupItemDef({\n groupId: \"sectionTools-group-with-panel\",\n labelKey: \"UiFramework:tools.sectionTools\",\n panelLabelKey: \"UiFramework:tools.sectionPanelLabel\",\n iconSpec: svgSectionTool,\n isHidden: new ConditionalBooleanValue(() => {\n const viewport = getActiveViewport();\n return !!viewport?.view.is2d();\n }, [\n SyncUiEventId.ActiveContentChanged,\n SyncUiEventId.ActiveViewportChanged,\n SyncUiEventId.ViewStateChanged,\n ]),\n items: [\n new ToolItemDef({\n ...this.sectionByPlaneCommandItemDef,\n labelKey: \"UiFramework:tools.sectionByPlane\",\n }),\n new ToolItemDef({\n ...this.sectionByElementCommandItemDef,\n labelKey: \"UiFramework:tools.sectionByElement\",\n }),\n new ToolItemDef({\n ...this.sectionByRangeCommandItemDef,\n labelKey: \"UiFramework:tools.sectionByRange\",\n }),\n new ToolItemDef({\n ...this.sectionByShapeCommandItemDef,\n labelKey: \"UiFramework:tools.sectionByShape\",\n }),\n ],\n itemsInColumn: 4,\n });\n }\n\n // note current MeasureDistanceTool is not automatically registered so the app must call MeasureDistanceTool.register();\n public static get measureDistanceToolItemDef() {\n return new ToolItemDef({\n toolId: MeasureDistanceTool.toolId,\n iconSpec: MeasureDistanceTool.iconSpec,\n label: MeasureDistanceTool.flyover,\n description: MeasureDistanceTool.description,\n execute: async () => {\n return IModelApp.tools.run(MeasureDistanceTool.toolId);\n },\n });\n }\n\n // note current MeasureLocationTool is not automatically registered so the app must call MeasureLocationTool.register();\n public static get measureLocationToolItemDef() {\n return new ToolItemDef({\n toolId: MeasureLocationTool.toolId,\n iconSpec: MeasureLocationTool.iconSpec,\n label: MeasureLocationTool.flyover,\n description: MeasureLocationTool.description,\n execute: async () => {\n return IModelApp.tools.run(MeasureLocationTool.toolId);\n },\n });\n }\n\n public static get measureToolGroup() {\n MeasureDistanceTool.register();\n MeasureLocationTool.register();\n\n return new GroupItemDef({\n groupId: \"measureTools-group\",\n labelKey: \"UiFramework:tools.measureTools\",\n iconSpec: <SvgMeasure />,\n items: [this.measureDistanceToolItemDef, this.measureLocationToolItemDef],\n itemsInColumn: 2,\n });\n }\n\n public static get clearSelectionItemDef() {\n return new CommandItemDef({\n commandId: \"UiFramework.ClearSelection\",\n iconSpec: svgSelectionClear,\n labelKey: \"UiFramework:buttons.clearSelection\",\n isHidden: getIsHiddenIfSelectionNotActive(),\n execute: async () => {\n const iModelConnection = UiFramework.getIModelConnection();\n if (iModelConnection) {\n iModelConnection.selectionSet.emptyAll();\n }\n const tool = IModelApp.toolAdmin.primitiveTool;\n if (tool) await tool.onRestartTool();\n else await IModelApp.toolAdmin.startDefaultTool();\n },\n });\n }\n\n public static get restoreFrontstageLayoutCommandItemDef() {\n return new ToolItemDef({\n toolId: RestoreFrontstageLayoutTool.toolId,\n iconSpec: RestoreFrontstageLayoutTool.iconSpec,\n label: RestoreFrontstageLayoutTool.flyover,\n description: RestoreFrontstageLayoutTool.description,\n execute: async () => {\n return IModelApp.tools.run(RestoreFrontstageLayoutTool.toolId);\n },\n });\n }\n}\n"]}
1
+ {"version":3,"file":"CoreToolDefinitions.js","sourceRoot":"","sources":["../../../src/appui-react/tools/CoreToolDefinitions.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 Tools\n */\n\nimport * as React from \"react\"; // cSpell:ignore keyinbrowser\nimport {\n FitViewTool,\n FlyViewTool,\n IModelApp,\n MeasureDistanceTool,\n MeasureLocationTool,\n PanViewTool,\n RotateViewTool,\n SelectionTool,\n SetupWalkCameraTool,\n ViewClipByElementTool,\n ViewClipByPlaneTool,\n ViewClipByRangeTool,\n ViewClipByShapeTool,\n ViewClipDecorationProvider,\n ViewRedoTool,\n ViewToggleCameraTool,\n ViewUndoTool,\n WalkViewTool,\n WindowAreaTool,\n ZoomViewTool,\n} from \"@itwin/core-frontend\";\nimport {\n ConditionalBooleanValue,\n ConditionalStringValue,\n} from \"@itwin/appui-abstract\";\nimport {\n SvgCameraAnimation,\n SvgCameraAnimationDisabled,\n} from \"@itwin/itwinui-icons-react\";\nimport { getIsHiddenIfSelectionNotActive } from \"../selection/SelectionContextItemDef.js\";\nimport { CommandItemDef } from \"../shared/CommandItemDef.js\";\nimport { ToolItemDef } from \"../shared/ToolItemDef.js\";\nimport { SyncUiEventId } from \"../syncui/SyncUiEventDispatcher.js\";\nimport { GroupItemDef } from \"../toolbar/GroupItem.js\";\nimport { RestoreFrontstageLayoutTool } from \"./RestoreLayoutTool.js\";\nimport { UiFramework } from \"../UiFramework.js\";\nimport { SvgGyroscope } from \"../icons/SvgGyroscope.js\";\nimport { SvgSectionTool } from \"../icons/SvgSectionTool.js\";\nimport { SvgSelectionClear } from \"../icons/SvgSelectionClear.js\";\nimport {\n SvgMeasure,\n SvgProcess,\n SvgRotateLeft,\n} from \"@itwin/itwinui-icons-react\";\nimport { ConditionalIconItem } from \"@itwin/core-react\";\nimport type { ToolbarItems } from \"./ToolbarItems.js\";\nimport { getActiveViewport } from \"../utils/getActiveViewport.js\";\n\n/* eslint-disable deprecation/deprecation */\n\n/** Utility Class that provides definitions of tools provided by the ($core-frontend) core. These definitions can be used to populate the UI.\n * @public\n * @deprecated in 4.15.0. Use {@link ToolbarItems} instead.\n */\nexport class CoreTools {\n public static get keyinPaletteButtonItemDef() {\n return new ToolItemDef({\n toolId: \"uif:keyinpalette\",\n icon: <SvgProcess />,\n labelKey: \"UiFramework:keyinbrowser.label\",\n execute: () => {\n UiFramework.showKeyinPalette(\n IModelApp.tools.getToolList().map((tool) => ({ value: tool.keyin }))\n );\n },\n });\n }\n\n public static get fitViewCommand() {\n return new ToolItemDef({\n toolId: FitViewTool.toolId,\n iconSpec: FitViewTool.iconSpec,\n label: FitViewTool.flyover,\n description: FitViewTool.description,\n execute: async () =>\n IModelApp.tools.run(\n FitViewTool.toolId,\n IModelApp.viewManager.selectedView,\n true\n ),\n });\n }\n\n public static get windowAreaCommand() {\n return new ToolItemDef({\n toolId: WindowAreaTool.toolId,\n iconSpec: WindowAreaTool.iconSpec,\n label: WindowAreaTool.flyover,\n description: WindowAreaTool.description,\n execute: async () =>\n IModelApp.tools.run(\n WindowAreaTool.toolId,\n IModelApp.viewManager.selectedView\n ),\n });\n }\n\n public static get zoomViewCommand() {\n return new ToolItemDef({\n toolId: ZoomViewTool.toolId,\n iconSpec: ZoomViewTool.iconSpec,\n label: ZoomViewTool.flyover,\n description: ZoomViewTool.description,\n execute: async () =>\n IModelApp.tools.run(\n ZoomViewTool.toolId,\n IModelApp.viewManager.selectedView\n ),\n });\n }\n\n public static get panViewCommand() {\n return new ToolItemDef({\n toolId: PanViewTool.toolId,\n iconSpec: PanViewTool.iconSpec,\n label: PanViewTool.flyover,\n description: PanViewTool.description,\n execute: async () =>\n IModelApp.tools.run(\n PanViewTool.toolId,\n IModelApp.viewManager.selectedView\n ),\n });\n }\n\n public static get rotateViewCommand() {\n return new ToolItemDef({\n toolId: RotateViewTool.toolId,\n icon: new ConditionalIconItem(() => {\n const viewport = getActiveViewport();\n if (viewport?.view.is2d()) return <SvgRotateLeft />;\n return <SvgGyroscope />;\n }, [\n SyncUiEventId.ActiveContentChanged,\n SyncUiEventId.ActiveViewportChanged,\n SyncUiEventId.ViewStateChanged,\n ]),\n label: RotateViewTool.flyover,\n description: RotateViewTool.description,\n execute: async () =>\n IModelApp.tools.run(\n RotateViewTool.toolId,\n IModelApp.viewManager.selectedView\n ),\n });\n }\n\n public static get walkViewCommand() {\n return new ToolItemDef({\n toolId: WalkViewTool.toolId,\n iconSpec: WalkViewTool.iconSpec,\n label: WalkViewTool.flyover,\n description: WalkViewTool.description,\n isHidden: new ConditionalBooleanValue(() => {\n const viewport = getActiveViewport();\n return !!viewport?.view.is2d();\n }, [\n SyncUiEventId.ActiveContentChanged,\n SyncUiEventId.ActiveViewportChanged,\n SyncUiEventId.ViewStateChanged,\n ]),\n execute: async () =>\n IModelApp.tools.run(\n WalkViewTool.toolId,\n IModelApp.viewManager.selectedView\n ),\n });\n }\n\n public static get selectElementCommand() {\n return new ToolItemDef({\n toolId: SelectionTool.toolId,\n iconSpec: SelectionTool.iconSpec,\n label: SelectionTool.flyover,\n description: SelectionTool.description,\n execute: async () => IModelApp.tools.run(SelectionTool.toolId),\n });\n }\n\n public static get setupCameraWalkTool() {\n return new ToolItemDef({\n toolId: SetupWalkCameraTool.toolId,\n iconSpec: SetupWalkCameraTool.iconSpec,\n label: SetupWalkCameraTool.flyover,\n description: SetupWalkCameraTool.description,\n execute: async () => IModelApp.tools.run(SetupWalkCameraTool.toolId),\n });\n }\n\n public static get toggleCameraViewCommand() {\n return new ToolItemDef({\n toolId: ViewToggleCameraTool.toolId,\n iconSpec: new ConditionalIconItem(() => {\n const viewport = getActiveViewport();\n if (viewport?.view.is3d() && viewport?.isCameraOn) {\n return <SvgCameraAnimation />;\n }\n\n return <SvgCameraAnimationDisabled />;\n }, [\n SyncUiEventId.ActiveContentChanged,\n SyncUiEventId.ActiveViewportChanged,\n SyncUiEventId.ViewStateChanged,\n ]),\n label: new ConditionalStringValue(() => {\n const viewport = getActiveViewport();\n if (viewport?.view.is3d() && viewport?.isCameraOn) {\n return UiFramework.translate(\n \"tools.View.ToggleCamera.turnOffFlyover\"\n );\n }\n return UiFramework.translate(\"tools.View.ToggleCamera.turnOnFlyover\");\n }, [\n SyncUiEventId.ActiveContentChanged,\n SyncUiEventId.ActiveViewportChanged,\n SyncUiEventId.ViewStateChanged,\n ]),\n description: ViewToggleCameraTool.description,\n isHidden: new ConditionalBooleanValue(() => {\n const viewport = getActiveViewport();\n return !(viewport?.view.is3d() && viewport?.view.supportsCamera());\n }, [\n SyncUiEventId.ActiveContentChanged,\n SyncUiEventId.ActiveViewportChanged,\n SyncUiEventId.ViewStateChanged,\n ]),\n execute: async () =>\n IModelApp.tools.run(\n ViewToggleCameraTool.toolId,\n IModelApp.viewManager.selectedView\n ),\n });\n }\n\n public static get flyViewCommand() {\n return new ToolItemDef({\n toolId: FlyViewTool.toolId,\n iconSpec: FlyViewTool.iconSpec,\n label: FlyViewTool.flyover,\n description: FlyViewTool.description,\n execute: async () =>\n IModelApp.tools.run(\n FlyViewTool.toolId,\n IModelApp.viewManager.selectedView\n ),\n });\n }\n\n // TODO - Need to provide a sync message that is fired when the Undo/Redo button needs to be refreshed in the\n // active view.\n public static get viewUndoCommand() {\n return new ToolItemDef({\n toolId: ViewUndoTool.toolId,\n isDisabled: new ConditionalBooleanValue(() => {\n const viewport = getActiveViewport();\n if (!viewport) return false;\n return !viewport.isUndoPossible;\n }, [\n SyncUiEventId.ActiveContentChanged,\n SyncUiEventId.ActiveViewportChanged,\n SyncUiEventId.ViewStateChanged,\n ]),\n iconSpec: ViewUndoTool.iconSpec,\n label: ViewUndoTool.flyover,\n description: ViewUndoTool.description,\n execute: async () =>\n IModelApp.tools.run(\n ViewUndoTool.toolId,\n IModelApp.viewManager.selectedView\n ),\n });\n }\n\n public static get viewRedoCommand() {\n return new ToolItemDef({\n toolId: ViewRedoTool.toolId,\n iconSpec: ViewRedoTool.iconSpec,\n label: ViewRedoTool.flyover,\n description: ViewRedoTool.description,\n execute: async () =>\n IModelApp.tools.run(\n ViewRedoTool.toolId,\n IModelApp.viewManager.selectedView\n ),\n isDisabled: new ConditionalBooleanValue(() => {\n const viewport = getActiveViewport();\n if (!viewport) return false;\n return !viewport.isRedoPossible;\n }, [\n SyncUiEventId.ActiveContentChanged,\n SyncUiEventId.ActiveViewportChanged,\n SyncUiEventId.ViewStateChanged,\n ]),\n });\n }\n\n private static turnOnClipVolume() {\n const vp = IModelApp.viewManager.selectedView;\n if (!vp || !vp.view.is3d()) return;\n\n // Turn on clip volume flag for section tools\n vp.viewFlags = vp.viewFlags.with(\"clipVolume\", true);\n }\n\n // note current ViewClipByPlaneTool is not automatically registered so the app must call ViewClipByPlaneTool.register();\n public static get sectionByPlaneCommandItemDef() {\n return new ToolItemDef({\n toolId: ViewClipByPlaneTool.toolId,\n iconSpec: ViewClipByPlaneTool.iconSpec,\n label: ViewClipByPlaneTool.flyover,\n description: ViewClipByPlaneTool.description,\n execute: async () => {\n this.turnOnClipVolume();\n return IModelApp.tools.run(\n ViewClipByPlaneTool.toolId,\n ViewClipDecorationProvider.create()\n );\n },\n });\n }\n\n // note current ViewClipByElementTool is not automatically registered so the app must call ViewClipByElementTool.register();\n public static get sectionByElementCommandItemDef() {\n return new ToolItemDef({\n toolId: ViewClipByElementTool.toolId,\n iconSpec: ViewClipByElementTool.iconSpec,\n label: ViewClipByElementTool.flyover,\n description: ViewClipByElementTool.description,\n execute: async () => {\n this.turnOnClipVolume();\n return IModelApp.tools.run(\n ViewClipByElementTool.toolId,\n ViewClipDecorationProvider.create()\n );\n },\n });\n }\n\n // note current ViewClipByRangeTool is not automatically registered so the app must call ViewClipByRangeTool.register();\n public static get sectionByRangeCommandItemDef() {\n return new ToolItemDef({\n toolId: ViewClipByRangeTool.toolId,\n iconSpec: ViewClipByRangeTool.iconSpec,\n label: ViewClipByRangeTool.flyover,\n description: ViewClipByRangeTool.description,\n execute: async () => {\n this.turnOnClipVolume();\n return IModelApp.tools.run(\n ViewClipByRangeTool.toolId,\n ViewClipDecorationProvider.create()\n );\n },\n });\n }\n\n // note current ViewClipByShapeTool is not automatically registered so the app must call ViewClipByShapeTool.register();\n public static get sectionByShapeCommandItemDef() {\n return new ToolItemDef({\n toolId: ViewClipByShapeTool.toolId,\n iconSpec: ViewClipByShapeTool.iconSpec,\n label: ViewClipByShapeTool.flyover,\n description: ViewClipByShapeTool.description,\n execute: async () => {\n this.turnOnClipVolume();\n return IModelApp.tools.run(\n ViewClipByShapeTool.toolId,\n ViewClipDecorationProvider.create()\n );\n },\n });\n }\n\n public static get sectionToolGroup() {\n ViewClipByElementTool.register();\n ViewClipByPlaneTool.register();\n ViewClipByRangeTool.register();\n ViewClipByShapeTool.register();\n\n return new GroupItemDef({\n groupId: \"sectionTools-group\",\n labelKey: \"UiFramework:tools.sectionTools\",\n icon: <SvgSectionTool />,\n isHidden: new ConditionalBooleanValue(() => {\n const viewport = getActiveViewport();\n return !!viewport?.view.is2d();\n }, [\n SyncUiEventId.ActiveContentChanged,\n SyncUiEventId.ActiveViewportChanged,\n SyncUiEventId.ViewStateChanged,\n ]),\n items: [\n this.sectionByPlaneCommandItemDef,\n this.sectionByElementCommandItemDef,\n this.sectionByRangeCommandItemDef,\n this.sectionByShapeCommandItemDef,\n ],\n itemsInColumn: 4,\n });\n }\n\n public static get sectionToolGroupWithPanel() {\n ViewClipByElementTool.register();\n ViewClipByPlaneTool.register();\n ViewClipByRangeTool.register();\n ViewClipByShapeTool.register();\n\n return new GroupItemDef({\n groupId: \"sectionTools-group-with-panel\",\n labelKey: \"UiFramework:tools.sectionTools\",\n panelLabelKey: \"UiFramework:tools.sectionPanelLabel\",\n icon: <SvgSectionTool />,\n isHidden: new ConditionalBooleanValue(() => {\n const viewport = getActiveViewport();\n return !!viewport?.view.is2d();\n }, [\n SyncUiEventId.ActiveContentChanged,\n SyncUiEventId.ActiveViewportChanged,\n SyncUiEventId.ViewStateChanged,\n ]),\n items: [\n new ToolItemDef({\n ...this.sectionByPlaneCommandItemDef,\n labelKey: \"UiFramework:tools.sectionByPlane\",\n }),\n new ToolItemDef({\n ...this.sectionByElementCommandItemDef,\n labelKey: \"UiFramework:tools.sectionByElement\",\n }),\n new ToolItemDef({\n ...this.sectionByRangeCommandItemDef,\n labelKey: \"UiFramework:tools.sectionByRange\",\n }),\n new ToolItemDef({\n ...this.sectionByShapeCommandItemDef,\n labelKey: \"UiFramework:tools.sectionByShape\",\n }),\n ],\n itemsInColumn: 4,\n });\n }\n\n // note current MeasureDistanceTool is not automatically registered so the app must call MeasureDistanceTool.register();\n public static get measureDistanceToolItemDef() {\n return new ToolItemDef({\n toolId: MeasureDistanceTool.toolId,\n iconSpec: MeasureDistanceTool.iconSpec,\n label: MeasureDistanceTool.flyover,\n description: MeasureDistanceTool.description,\n execute: async () => {\n return IModelApp.tools.run(MeasureDistanceTool.toolId);\n },\n });\n }\n\n // note current MeasureLocationTool is not automatically registered so the app must call MeasureLocationTool.register();\n public static get measureLocationToolItemDef() {\n return new ToolItemDef({\n toolId: MeasureLocationTool.toolId,\n iconSpec: MeasureLocationTool.iconSpec,\n label: MeasureLocationTool.flyover,\n description: MeasureLocationTool.description,\n execute: async () => {\n return IModelApp.tools.run(MeasureLocationTool.toolId);\n },\n });\n }\n\n public static get measureToolGroup() {\n MeasureDistanceTool.register();\n MeasureLocationTool.register();\n\n return new GroupItemDef({\n groupId: \"measureTools-group\",\n labelKey: \"UiFramework:tools.measureTools\",\n icon: <SvgMeasure />,\n items: [this.measureDistanceToolItemDef, this.measureLocationToolItemDef],\n itemsInColumn: 2,\n });\n }\n\n public static get clearSelectionItemDef() {\n return new CommandItemDef({\n commandId: \"UiFramework.ClearSelection\",\n icon: <SvgSelectionClear />,\n labelKey: \"UiFramework:buttons.clearSelection\",\n isHidden: getIsHiddenIfSelectionNotActive(),\n execute: async () => {\n const iModelConnection = UiFramework.getIModelConnection();\n if (iModelConnection) {\n iModelConnection.selectionSet.emptyAll();\n }\n const tool = IModelApp.toolAdmin.primitiveTool;\n if (tool) await tool.onRestartTool();\n else await IModelApp.toolAdmin.startDefaultTool();\n },\n });\n }\n\n public static get restoreFrontstageLayoutCommandItemDef() {\n return new ToolItemDef({\n toolId: RestoreFrontstageLayoutTool.toolId,\n iconSpec: RestoreFrontstageLayoutTool.iconSpec,\n label: RestoreFrontstageLayoutTool.flyover,\n description: RestoreFrontstageLayoutTool.description,\n execute: async () => {\n return IModelApp.tools.run(RestoreFrontstageLayoutTool.toolId);\n },\n });\n }\n}\n"]}
@@ -1,17 +1,22 @@
1
1
  /** @packageDocumentation
2
2
  * @module Tools
3
3
  */
4
+ import * as React from "react";
4
5
  import { Tool } from "@itwin/core-frontend";
5
- /**
6
- * Immediate tool that will clear the recent history of command/tool keyins shown in
7
- * the command palette.
8
- * @alpha
9
- */
10
- export declare class ClearKeyinPaletteHistoryTool extends Tool {
6
+ declare class ClearKeyinPaletteHistoryCoreTool extends Tool {
11
7
  static toolId: string;
12
8
  static iconSpec: string;
13
9
  static get minArgs(): number;
14
10
  static get maxArgs(): number;
15
11
  run(): Promise<boolean>;
16
12
  }
13
+ /**
14
+ * Immediate tool that will clear the recent history of command/tool keyins shown in
15
+ * the command palette.
16
+ * @alpha
17
+ */
18
+ export declare const ClearKeyinPaletteHistoryTool: typeof ClearKeyinPaletteHistoryCoreTool & {
19
+ iconElement: React.ReactElement<any, string | React.JSXElementConstructor<any>>;
20
+ };
21
+ export {};
17
22
  //# sourceMappingURL=KeyinPaletteTools.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"KeyinPaletteTools.d.ts","sourceRoot":"","sources":["../../../src/appui-react/tools/KeyinPaletteTools.ts"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAG5C;;;;GAIG;AACH,qBAAa,4BAA6B,SAAQ,IAAI;IACpD,OAAuB,MAAM,SAA8B;IAC3D,OAAuB,QAAQ,SAAa;IAE5C,WAA2B,OAAO,WAEjC;IACD,WAA2B,OAAO,WAEjC;IAEqB,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC;CAI9C"}
1
+ {"version":3,"file":"KeyinPaletteTools.d.ts","sourceRoot":"","sources":["../../../src/appui-react/tools/KeyinPaletteTools.tsx"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAI5C,cAAM,gCAAiC,SAAQ,IAAI;IACjD,OAAuB,MAAM,SAA8B;IAC3D,OAAuB,QAAQ,SAAiB;IAEhD,WAA2B,OAAO,WAEjC;IACD,WAA2B,OAAO,WAEjC;IAEqB,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC;CAI9C;AAED;;;;GAIG;AACH,eAAO,MAAM,4BAA4B;;CAGxC,CAAC"}
@@ -5,15 +5,12 @@
5
5
  /** @packageDocumentation
6
6
  * @module Tools
7
7
  */
8
+ import * as React from "react";
8
9
  import { clearKeyinPaletteHistory } from "../popup/KeyinPalettePanel.js";
9
10
  import { Tool } from "@itwin/core-frontend";
10
- import svgRemove from "@bentley/icons-generic/icons/remove.svg";
11
- /**
12
- * Immediate tool that will clear the recent history of command/tool keyins shown in
13
- * the command palette.
14
- * @alpha
15
- */
16
- export class ClearKeyinPaletteHistoryTool extends Tool {
11
+ import { ToolUtilities } from "@itwin/imodel-components-react";
12
+ import { SvgRemove } from "@itwin/itwinui-icons-react";
13
+ class ClearKeyinPaletteHistoryCoreTool extends Tool {
17
14
  static get minArgs() {
18
15
  return 0;
19
16
  }
@@ -25,6 +22,12 @@ export class ClearKeyinPaletteHistoryTool extends Tool {
25
22
  return true;
26
23
  }
27
24
  }
28
- ClearKeyinPaletteHistoryTool.toolId = "ClearKeyinPaletteHistory";
29
- ClearKeyinPaletteHistoryTool.iconSpec = svgRemove;
25
+ ClearKeyinPaletteHistoryCoreTool.toolId = "ClearKeyinPaletteHistory";
26
+ ClearKeyinPaletteHistoryCoreTool.iconSpec = "icon-remove";
27
+ /**
28
+ * Immediate tool that will clear the recent history of command/tool keyins shown in
29
+ * the command palette.
30
+ * @alpha
31
+ */
32
+ export const ClearKeyinPaletteHistoryTool = ToolUtilities.defineIcon(ClearKeyinPaletteHistoryCoreTool, React.createElement(SvgRemove, null));
30
33
  //# sourceMappingURL=KeyinPaletteTools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"KeyinPaletteTools.js","sourceRoot":"","sources":["../../../src/appui-react/tools/KeyinPaletteTools.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,SAAS,MAAM,yCAAyC,CAAC;AAEhE;;;;GAIG;AACH,MAAM,OAAO,4BAA6B,SAAQ,IAAI;IAI7C,MAAM,KAAc,OAAO;QAChC,OAAO,CAAC,CAAC;IACX,CAAC;IACM,MAAM,KAAc,OAAO;QAChC,OAAO,CAAC,CAAC;IACX,CAAC;IAEe,KAAK,CAAC,GAAG;QACvB,wBAAwB,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;;AAbsB,mCAAM,GAAG,0BAA0B,CAAC;AACpC,qCAAQ,GAAG,SAAS,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 Tools\n */\n\nimport { clearKeyinPaletteHistory } from \"../popup/KeyinPalettePanel.js\";\nimport { Tool } from \"@itwin/core-frontend\";\nimport svgRemove from \"@bentley/icons-generic/icons/remove.svg\";\n\n/**\n * Immediate tool that will clear the recent history of command/tool keyins shown in\n * the command palette.\n * @alpha\n */\nexport class ClearKeyinPaletteHistoryTool extends Tool {\n public static override toolId = \"ClearKeyinPaletteHistory\";\n public static override iconSpec = svgRemove;\n\n public static override get minArgs() {\n return 0;\n }\n public static override get maxArgs() {\n return 0;\n }\n\n public override async run(): Promise<boolean> {\n clearKeyinPaletteHistory();\n return true;\n }\n}\n"]}
1
+ {"version":3,"file":"KeyinPaletteTools.js","sourceRoot":"","sources":["../../../src/appui-react/tools/KeyinPaletteTools.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAEvD,MAAM,gCAAiC,SAAQ,IAAI;IAI1C,MAAM,KAAc,OAAO;QAChC,OAAO,CAAC,CAAC;IACX,CAAC;IACM,MAAM,KAAc,OAAO;QAChC,OAAO,CAAC,CAAC;IACX,CAAC;IAEe,KAAK,CAAC,GAAG;QACvB,wBAAwB,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;;AAbsB,uCAAM,GAAG,0BAA0B,CAAC;AACpC,yCAAQ,GAAG,aAAa,CAAC;AAelD;;;;GAIG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,aAAa,CAAC,UAAU,CAClE,gCAAgC,EAChC,oBAAC,SAAS,OAAG,CACd,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 Tools\n */\nimport * as React from \"react\";\nimport { clearKeyinPaletteHistory } from \"../popup/KeyinPalettePanel.js\";\nimport { Tool } from \"@itwin/core-frontend\";\nimport { ToolUtilities } from \"@itwin/imodel-components-react\";\nimport { SvgRemove } from \"@itwin/itwinui-icons-react\";\n\nclass ClearKeyinPaletteHistoryCoreTool extends Tool {\n public static override toolId = \"ClearKeyinPaletteHistory\";\n public static override iconSpec = \"icon-remove\";\n\n public static override get minArgs() {\n return 0;\n }\n public static override get maxArgs() {\n return 0;\n }\n\n public override async run(): Promise<boolean> {\n clearKeyinPaletteHistory();\n return true;\n }\n}\n\n/**\n * Immediate tool that will clear the recent history of command/tool keyins shown in\n * the command palette.\n * @alpha\n */\nexport const ClearKeyinPaletteHistoryTool = ToolUtilities.defineIcon(\n ClearKeyinPaletteHistoryCoreTool,\n <SvgRemove />\n);\n"]}
@@ -1,12 +1,9 @@
1
1
  /** @packageDocumentation
2
2
  * @module Tools
3
3
  */
4
+ import * as React from "react";
4
5
  import { Tool } from "@itwin/core-frontend";
5
- /**
6
- * Immediate tool that will open the Settings modal stage.
7
- * @alpha
8
- */
9
- export declare class OpenSettingsTool extends Tool {
6
+ declare class OpenSettingsCoreTool extends Tool {
10
7
  static toolId: string;
11
8
  static iconSpec: string;
12
9
  static get minArgs(): number;
@@ -14,4 +11,12 @@ export declare class OpenSettingsTool extends Tool {
14
11
  run(settingCategory?: string): Promise<boolean>;
15
12
  parseAndRun(...args: string[]): Promise<boolean>;
16
13
  }
14
+ /**
15
+ * Immediate tool that will open the Settings modal stage.
16
+ * @alpha
17
+ */
18
+ export declare const OpenSettingsTool: typeof OpenSettingsCoreTool & {
19
+ iconElement: React.ReactElement<any, string | React.JSXElementConstructor<any>>;
20
+ };
21
+ export {};
17
22
  //# sourceMappingURL=OpenSettingsTool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"OpenSettingsTool.d.ts","sourceRoot":"","sources":["../../../src/appui-react/tools/OpenSettingsTool.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAI5C;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,IAAI;IACxC,OAAuB,MAAM,SAAkB;IAC/C,OAAuB,QAAQ,SAAe;IAE9C,WAA2B,OAAO,WAEjC;IACD,WAA2B,OAAO,WAEjC;IAEqB,GAAG,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAK/C,WAAW,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;CAGvE"}
1
+ {"version":3,"file":"OpenSettingsTool.d.ts","sourceRoot":"","sources":["../../../src/appui-react/tools/OpenSettingsTool.tsx"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAK5C,cAAM,oBAAqB,SAAQ,IAAI;IACrC,OAAuB,MAAM,SAAkB;IAC/C,OAAuB,QAAQ,SAAmB;IAElD,WAA2B,OAAO,WAEjC;IACD,WAA2B,OAAO,WAEjC;IAEqB,GAAG,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAK/C,WAAW,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;CAGvE;AAED;;;GAGG;AACH,eAAO,MAAM,gBAAgB;;CAG5B,CAAC"}
@@ -5,14 +5,12 @@
5
5
  /** @packageDocumentation
6
6
  * @module Tools
7
7
  */
8
+ import * as React from "react";
8
9
  import { Tool } from "@itwin/core-frontend";
10
+ import { ToolUtilities } from "@itwin/imodel-components-react";
11
+ import { SvgSettings } from "@itwin/itwinui-icons-react";
9
12
  import { SettingsModalFrontstage } from "../frontstage/ModalSettingsStage.js";
10
- import svgSettings from "@bentley/icons-generic/icons/settings.svg";
11
- /**
12
- * Immediate tool that will open the Settings modal stage.
13
- * @alpha
14
- */
15
- export class OpenSettingsTool extends Tool {
13
+ class OpenSettingsCoreTool extends Tool {
16
14
  static get minArgs() {
17
15
  return 0;
18
16
  }
@@ -27,6 +25,11 @@ export class OpenSettingsTool extends Tool {
27
25
  return this.run(args[0]);
28
26
  }
29
27
  }
30
- OpenSettingsTool.toolId = "OpenSettings";
31
- OpenSettingsTool.iconSpec = svgSettings;
28
+ OpenSettingsCoreTool.toolId = "OpenSettings";
29
+ OpenSettingsCoreTool.iconSpec = "icon-settings";
30
+ /**
31
+ * Immediate tool that will open the Settings modal stage.
32
+ * @alpha
33
+ */
34
+ export const OpenSettingsTool = ToolUtilities.defineIcon(OpenSettingsCoreTool, React.createElement(SvgSettings, null));
32
35
  //# sourceMappingURL=OpenSettingsTool.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OpenSettingsTool.js","sourceRoot":"","sources":["../../../src/appui-react/tools/OpenSettingsTool.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,WAAW,MAAM,2CAA2C,CAAC;AAEpE;;;GAGG;AACH,MAAM,OAAO,gBAAiB,SAAQ,IAAI;IAIjC,MAAM,KAAc,OAAO;QAChC,OAAO,CAAC,CAAC;IACX,CAAC;IACM,MAAM,KAAc,OAAO;QAChC,OAAO,CAAC,CAAC;IACX,CAAC;IAEe,KAAK,CAAC,GAAG,CAAC,eAAwB;QAChD,uBAAuB,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC;IACd,CAAC;IAEe,KAAK,CAAC,WAAW,CAAC,GAAG,IAAc;QACjD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;;AAjBsB,uBAAM,GAAG,cAAc,CAAC;AACxB,yBAAQ,GAAG,WAAW,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 Tools\n */\nimport { Tool } from \"@itwin/core-frontend\";\nimport { SettingsModalFrontstage } from \"../frontstage/ModalSettingsStage.js\";\nimport svgSettings from \"@bentley/icons-generic/icons/settings.svg\";\n\n/**\n * Immediate tool that will open the Settings modal stage.\n * @alpha\n */\nexport class OpenSettingsTool extends Tool {\n public static override toolId = \"OpenSettings\";\n public static override iconSpec = svgSettings;\n\n public static override get minArgs() {\n return 0;\n }\n public static override get maxArgs() {\n return 1;\n }\n\n public override async run(settingCategory?: string): Promise<boolean> {\n SettingsModalFrontstage.showSettingsStage(settingCategory);\n return true;\n }\n\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n return this.run(args[0]);\n }\n}\n"]}
1
+ {"version":3,"file":"OpenSettingsTool.js","sourceRoot":"","sources":["../../../src/appui-react/tools/OpenSettingsTool.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAE9E,MAAM,oBAAqB,SAAQ,IAAI;IAI9B,MAAM,KAAc,OAAO;QAChC,OAAO,CAAC,CAAC;IACX,CAAC;IACM,MAAM,KAAc,OAAO;QAChC,OAAO,CAAC,CAAC;IACX,CAAC;IAEe,KAAK,CAAC,GAAG,CAAC,eAAwB;QAChD,uBAAuB,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC;IACd,CAAC;IAEe,KAAK,CAAC,WAAW,CAAC,GAAG,IAAc;QACjD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;;AAjBsB,2BAAM,GAAG,cAAc,CAAC;AACxB,6BAAQ,GAAG,eAAe,CAAC;AAmBpD;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,aAAa,CAAC,UAAU,CACtD,oBAAoB,EACpB,oBAAC,WAAW,OAAG,CAChB,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 Tools\n */\nimport * as React from \"react\";\nimport { Tool } from \"@itwin/core-frontend\";\nimport { ToolUtilities } from \"@itwin/imodel-components-react\";\nimport { SvgSettings } from \"@itwin/itwinui-icons-react\";\nimport { SettingsModalFrontstage } from \"../frontstage/ModalSettingsStage.js\";\n\nclass OpenSettingsCoreTool extends Tool {\n public static override toolId = \"OpenSettings\";\n public static override iconSpec = \"icon-settings\";\n\n public static override get minArgs() {\n return 0;\n }\n public static override get maxArgs() {\n return 1;\n }\n\n public override async run(settingCategory?: string): Promise<boolean> {\n SettingsModalFrontstage.showSettingsStage(settingCategory);\n return true;\n }\n\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n return this.run(args[0]);\n }\n}\n\n/**\n * Immediate tool that will open the Settings modal stage.\n * @alpha\n */\nexport const OpenSettingsTool = ToolUtilities.defineIcon(\n OpenSettingsCoreTool,\n <SvgSettings />\n);\n"]}
@@ -1,13 +1,9 @@
1
1
  /** @packageDocumentation
2
2
  * @module Tools
3
3
  */
4
+ import * as React from "react";
4
5
  import { Tool } from "@itwin/core-frontend";
5
- /**
6
- * Immediate tool that will reset the layout to that specified in the stage definition. A stage Id
7
- * may be passed in, if not the active stage is used. The stage Id is case sensitive.
8
- * @public
9
- */
10
- export declare class RestoreFrontstageLayoutTool extends Tool {
6
+ declare class RestoreFrontstageLayoutCoreTool extends Tool {
11
7
  static toolId: string;
12
8
  static iconSpec: string;
13
9
  static get minArgs(): number;
@@ -16,12 +12,24 @@ export declare class RestoreFrontstageLayoutTool extends Tool {
16
12
  parseAndRun(...args: string[]): Promise<boolean>;
17
13
  }
18
14
  /**
19
- * Immediate tool that will reset the layout of all frontstages to that specified in the stage definition.
15
+ * Immediate tool that will reset the layout to that specified in the stage definition. A stage Id
16
+ * may be passed in, if not the active stage is used. The stage Id is case sensitive.
20
17
  * @public
21
18
  */
22
- export declare class RestoreAllFrontstagesTool extends Tool {
19
+ export declare const RestoreFrontstageLayoutTool: typeof RestoreFrontstageLayoutCoreTool & {
20
+ iconElement: React.ReactElement<any, string | React.JSXElementConstructor<any>>;
21
+ };
22
+ declare class RestoreAllFrontstagesCoreTool extends Tool {
23
23
  static toolId: string;
24
24
  static iconSpec: string;
25
25
  run(): Promise<boolean>;
26
26
  }
27
+ /**
28
+ * Immediate tool that will reset the layout of all frontstages to that specified in the stage definition.
29
+ * @public
30
+ */
31
+ export declare const RestoreAllFrontstagesTool: typeof RestoreAllFrontstagesCoreTool & {
32
+ iconElement: React.ReactElement<any, string | React.JSXElementConstructor<any>>;
33
+ };
34
+ export {};
27
35
  //# sourceMappingURL=RestoreLayoutTool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RestoreLayoutTool.d.ts","sourceRoot":"","sources":["../../../src/appui-react/tools/RestoreLayoutTool.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,EAIL,IAAI,EACL,MAAM,sBAAsB,CAAC;AAM9B;;;;GAIG;AACH,qBAAa,2BAA4B,SAAQ,IAAI;IACnD,OAAuB,MAAM,SAA6B;IAC1D,OAAuB,QAAQ,SAAkB;IAEjD,WAA2B,OAAO,WAEjC;IACD,WAA2B,OAAO,WAEjC;IAEqB,GAAG,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAsB5C,WAAW,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;CAGvE;AAED;;;GAGG;AACH,qBAAa,yBAA0B,SAAQ,IAAI;IACjD,OAAuB,MAAM,SAA2B;IACxD,OAAuB,QAAQ,SAAkB;IAE3B,GAAG;CAO1B"}
1
+ {"version":3,"file":"RestoreLayoutTool.d.ts","sourceRoot":"","sources":["../../../src/appui-react/tools/RestoreLayoutTool.tsx"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAIL,IAAI,EACL,MAAM,sBAAsB,CAAC;AAO9B,cAAM,+BAAgC,SAAQ,IAAI;IAChD,OAAuB,MAAM,SAA6B;IAC1D,OAAuB,QAAQ,SAAuB;IAEtD,WAA2B,OAAO,WAEjC;IACD,WAA2B,OAAO,WAEjC;IAEqB,GAAG,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAsB5C,WAAW,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;CAGvE;AAED;;;;GAIG;AACH,eAAO,MAAM,2BAA2B;;CAGvC,CAAC;AAEF,cAAM,6BAA8B,SAAQ,IAAI;IAC9C,OAAuB,MAAM,SAA2B;IACxD,OAAuB,QAAQ,SAAuB;IAEhC,GAAG;CAO1B;AAED;;;GAGG;AACH,eAAO,MAAM,yBAAyB;;CAGrC,CAAC"}
@@ -5,16 +5,13 @@
5
5
  /** @packageDocumentation
6
6
  * @module Tools
7
7
  */
8
+ import * as React from "react";
8
9
  import { IModelApp, NotifyMessageDetails, OutputMessagePriority, Tool, } from "@itwin/core-frontend";
9
10
  import { InternalFrontstageManager } from "../frontstage/InternalFrontstageManager.js";
10
11
  import { UiFramework } from "../UiFramework.js";
11
- import svgViewLayouts from "@bentley/icons-generic/icons/view-layouts.svg";
12
- /**
13
- * Immediate tool that will reset the layout to that specified in the stage definition. A stage Id
14
- * may be passed in, if not the active stage is used. The stage Id is case sensitive.
15
- * @public
16
- */
17
- export class RestoreFrontstageLayoutTool extends Tool {
12
+ import { SvgViewLayouts } from "../icons/SvgViewLayouts.js";
13
+ import { ToolUtilities } from "@itwin/imodel-components-react";
14
+ class RestoreFrontstageLayoutCoreTool extends Tool {
18
15
  static get minArgs() {
19
16
  return 0;
20
17
  }
@@ -39,13 +36,15 @@ export class RestoreFrontstageLayoutTool extends Tool {
39
36
  return this.run(args[0]);
40
37
  }
41
38
  }
42
- RestoreFrontstageLayoutTool.toolId = "RestoreFrontstageLayout";
43
- RestoreFrontstageLayoutTool.iconSpec = svgViewLayouts;
39
+ RestoreFrontstageLayoutCoreTool.toolId = "RestoreFrontstageLayout";
40
+ RestoreFrontstageLayoutCoreTool.iconSpec = "icon-view-layouts";
44
41
  /**
45
- * Immediate tool that will reset the layout of all frontstages to that specified in the stage definition.
42
+ * Immediate tool that will reset the layout to that specified in the stage definition. A stage Id
43
+ * may be passed in, if not the active stage is used. The stage Id is case sensitive.
46
44
  * @public
47
45
  */
48
- export class RestoreAllFrontstagesTool extends Tool {
46
+ export const RestoreFrontstageLayoutTool = ToolUtilities.defineIcon(RestoreFrontstageLayoutCoreTool, React.createElement(SvgViewLayouts, null));
47
+ class RestoreAllFrontstagesCoreTool extends Tool {
49
48
  async run() {
50
49
  const frontstages = InternalFrontstageManager.frontstageDefs;
51
50
  for (const [, frontstage] of frontstages) {
@@ -54,6 +53,11 @@ export class RestoreAllFrontstagesTool extends Tool {
54
53
  return true;
55
54
  }
56
55
  }
57
- RestoreAllFrontstagesTool.toolId = "RestoreAllFrontstages";
58
- RestoreAllFrontstagesTool.iconSpec = svgViewLayouts;
56
+ RestoreAllFrontstagesCoreTool.toolId = "RestoreAllFrontstages";
57
+ RestoreAllFrontstagesCoreTool.iconSpec = "icon-view-layouts";
58
+ /**
59
+ * Immediate tool that will reset the layout of all frontstages to that specified in the stage definition.
60
+ * @public
61
+ */
62
+ export const RestoreAllFrontstagesTool = ToolUtilities.defineIcon(RestoreAllFrontstagesCoreTool, React.createElement(SvgViewLayouts, null));
59
63
  //# sourceMappingURL=RestoreLayoutTool.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RestoreLayoutTool.js","sourceRoot":"","sources":["../../../src/appui-react/tools/RestoreLayoutTool.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AACH,OAAO,EACL,SAAS,EACT,oBAAoB,EACpB,qBAAqB,EACrB,IAAI,GACL,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AACvF,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,cAAc,MAAM,+CAA+C,CAAC;AAE3E;;;;GAIG;AACH,MAAM,OAAO,2BAA4B,SAAQ,IAAI;IAI5C,MAAM,KAAc,OAAO;QAChC,OAAO,CAAC,CAAC;IACX,CAAC;IACM,MAAM,KAAc,OAAO;QAChC,OAAO,CAAC,CAAC;IACX,CAAC;IAEe,KAAK,CAAC,GAAG,CAAC,YAAqB;QAC7C,IAAI,aAAwC,CAAC;QAE7C,IAAI,YAAY,EAAE,CAAC;YACjB,aAAa,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC,gBAAgB,CAC5D,YAAY,CACb,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,aAAa,GAAG,WAAW,CAAC,WAAW,CAAC,mBAAmB,CAAC;QAC9D,CAAC;QAED,IAAI,aAAa;YAAE,aAAa,CAAC,aAAa,EAAE,CAAC;;YAE/C,SAAS,CAAC,aAAa,CAAC,aAAa,CACnC,IAAI,oBAAoB,CACtB,qBAAqB,CAAC,IAAI,EAC1B,WAAW,CAAC,SAAS,CAAC,4CAA4C,CAAC,CACpE,CACF,CAAC;QACJ,OAAO,IAAI,CAAC;IACd,CAAC;IAEe,KAAK,CAAC,WAAW,CAAC,GAAG,IAAc;QACjD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;;AAlCsB,kCAAM,GAAG,yBAAyB,CAAC;AACnC,oCAAQ,GAAG,cAAc,CAAC;AAoCnD;;;GAGG;AACH,MAAM,OAAO,yBAA0B,SAAQ,IAAI;IAIjC,KAAK,CAAC,GAAG;QACvB,MAAM,WAAW,GAAG,yBAAyB,CAAC,cAAc,CAAC;QAC7D,KAAK,MAAM,CAAC,EAAE,UAAU,CAAC,IAAI,WAAW,EAAE,CAAC;YACzC,UAAU,CAAC,aAAa,EAAE,CAAC;QAC7B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;;AATsB,gCAAM,GAAG,uBAAuB,CAAC;AACjC,kCAAQ,GAAG,cAAc,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Tools\n */\nimport {\n IModelApp,\n NotifyMessageDetails,\n OutputMessagePriority,\n Tool,\n} from \"@itwin/core-frontend\";\nimport type { FrontstageDef } from \"../frontstage/FrontstageDef.js\";\nimport { InternalFrontstageManager } from \"../frontstage/InternalFrontstageManager.js\";\nimport { UiFramework } from \"../UiFramework.js\";\nimport svgViewLayouts from \"@bentley/icons-generic/icons/view-layouts.svg\";\n\n/**\n * Immediate tool that will reset the layout to that specified in the stage definition. A stage Id\n * may be passed in, if not the active stage is used. The stage Id is case sensitive.\n * @public\n */\nexport class RestoreFrontstageLayoutTool extends Tool {\n public static override toolId = \"RestoreFrontstageLayout\";\n public static override iconSpec = svgViewLayouts;\n\n public static override get minArgs() {\n return 0;\n }\n public static override get maxArgs() {\n return 1;\n }\n\n public override async run(frontstageId?: string): Promise<boolean> {\n let frontstageDef: FrontstageDef | undefined;\n\n if (frontstageId) {\n frontstageDef = await UiFramework.frontstages.getFrontstageDef(\n frontstageId\n );\n } else {\n frontstageDef = UiFramework.frontstages.activeFrontstageDef;\n }\n\n if (frontstageDef) frontstageDef.restoreLayout();\n else\n IModelApp.notifications.outputMessage(\n new NotifyMessageDetails(\n OutputMessagePriority.Info,\n UiFramework.translate(\"tools.RestoreFrontstageLayout.noStageFound\")\n )\n );\n return true;\n }\n\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n return this.run(args[0]);\n }\n}\n\n/**\n * Immediate tool that will reset the layout of all frontstages to that specified in the stage definition.\n * @public\n */\nexport class RestoreAllFrontstagesTool extends Tool {\n public static override toolId = \"RestoreAllFrontstages\";\n public static override iconSpec = svgViewLayouts;\n\n public override async run() {\n const frontstages = InternalFrontstageManager.frontstageDefs;\n for (const [, frontstage] of frontstages) {\n frontstage.restoreLayout();\n }\n return true;\n }\n}\n"]}
1
+ {"version":3,"file":"RestoreLayoutTool.js","sourceRoot":"","sources":["../../../src/appui-react/tools/RestoreLayoutTool.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACL,SAAS,EACT,oBAAoB,EACpB,qBAAqB,EACrB,IAAI,GACL,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AACvF,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAE/D,MAAM,+BAAgC,SAAQ,IAAI;IAIzC,MAAM,KAAc,OAAO;QAChC,OAAO,CAAC,CAAC;IACX,CAAC;IACM,MAAM,KAAc,OAAO;QAChC,OAAO,CAAC,CAAC;IACX,CAAC;IAEe,KAAK,CAAC,GAAG,CAAC,YAAqB;QAC7C,IAAI,aAAwC,CAAC;QAE7C,IAAI,YAAY,EAAE,CAAC;YACjB,aAAa,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC,gBAAgB,CAC5D,YAAY,CACb,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,aAAa,GAAG,WAAW,CAAC,WAAW,CAAC,mBAAmB,CAAC;QAC9D,CAAC;QAED,IAAI,aAAa;YAAE,aAAa,CAAC,aAAa,EAAE,CAAC;;YAE/C,SAAS,CAAC,aAAa,CAAC,aAAa,CACnC,IAAI,oBAAoB,CACtB,qBAAqB,CAAC,IAAI,EAC1B,WAAW,CAAC,SAAS,CAAC,4CAA4C,CAAC,CACpE,CACF,CAAC;QACJ,OAAO,IAAI,CAAC;IACd,CAAC;IAEe,KAAK,CAAC,WAAW,CAAC,GAAG,IAAc;QACjD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;;AAlCsB,sCAAM,GAAG,yBAAyB,CAAC;AACnC,wCAAQ,GAAG,mBAAmB,CAAC;AAoCxD;;;;GAIG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,aAAa,CAAC,UAAU,CACjE,+BAA+B,EAC/B,oBAAC,cAAc,OAAG,CACnB,CAAC;AAEF,MAAM,6BAA8B,SAAQ,IAAI;IAI9B,KAAK,CAAC,GAAG;QACvB,MAAM,WAAW,GAAG,yBAAyB,CAAC,cAAc,CAAC;QAC7D,KAAK,MAAM,CAAC,EAAE,UAAU,CAAC,IAAI,WAAW,EAAE,CAAC;YACzC,UAAU,CAAC,aAAa,EAAE,CAAC;QAC7B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;;AATsB,oCAAM,GAAG,uBAAuB,CAAC;AACjC,sCAAQ,GAAG,mBAAmB,CAAC;AAWxD;;;GAGG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,aAAa,CAAC,UAAU,CAC/D,6BAA6B,EAC7B,oBAAC,cAAc,OAAG,CACnB,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 Tools\n */\nimport * as React from \"react\";\nimport {\n IModelApp,\n NotifyMessageDetails,\n OutputMessagePriority,\n Tool,\n} from \"@itwin/core-frontend\";\nimport type { FrontstageDef } from \"../frontstage/FrontstageDef.js\";\nimport { InternalFrontstageManager } from \"../frontstage/InternalFrontstageManager.js\";\nimport { UiFramework } from \"../UiFramework.js\";\nimport { SvgViewLayouts } from \"../icons/SvgViewLayouts.js\";\nimport { ToolUtilities } from \"@itwin/imodel-components-react\";\n\nclass RestoreFrontstageLayoutCoreTool extends Tool {\n public static override toolId = \"RestoreFrontstageLayout\";\n public static override iconSpec = \"icon-view-layouts\";\n\n public static override get minArgs() {\n return 0;\n }\n public static override get maxArgs() {\n return 1;\n }\n\n public override async run(frontstageId?: string): Promise<boolean> {\n let frontstageDef: FrontstageDef | undefined;\n\n if (frontstageId) {\n frontstageDef = await UiFramework.frontstages.getFrontstageDef(\n frontstageId\n );\n } else {\n frontstageDef = UiFramework.frontstages.activeFrontstageDef;\n }\n\n if (frontstageDef) frontstageDef.restoreLayout();\n else\n IModelApp.notifications.outputMessage(\n new NotifyMessageDetails(\n OutputMessagePriority.Info,\n UiFramework.translate(\"tools.RestoreFrontstageLayout.noStageFound\")\n )\n );\n return true;\n }\n\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n return this.run(args[0]);\n }\n}\n\n/**\n * Immediate tool that will reset the layout to that specified in the stage definition. A stage Id\n * may be passed in, if not the active stage is used. The stage Id is case sensitive.\n * @public\n */\nexport const RestoreFrontstageLayoutTool = ToolUtilities.defineIcon(\n RestoreFrontstageLayoutCoreTool,\n <SvgViewLayouts />\n);\n\nclass RestoreAllFrontstagesCoreTool extends Tool {\n public static override toolId = \"RestoreAllFrontstages\";\n public static override iconSpec = \"icon-view-layouts\";\n\n public override async run() {\n const frontstages = InternalFrontstageManager.frontstageDefs;\n for (const [, frontstage] of frontstages) {\n frontstage.restoreLayout();\n }\n return true;\n }\n}\n\n/**\n * Immediate tool that will reset the layout of all frontstages to that specified in the stage definition.\n * @public\n */\nexport const RestoreAllFrontstagesTool = ToolUtilities.defineIcon(\n RestoreAllFrontstagesCoreTool,\n <SvgViewLayouts />\n);\n"]}
@@ -1,6 +1,8 @@
1
1
  import * as React from "react";
2
2
  import type { WidgetDef } from "../widgets/WidgetDef.js";
3
3
  /** @internal */
4
+ export declare function WidgetFallback(): React.JSX.Element;
5
+ /** @internal */
4
6
  export declare function WidgetContent(): React.JSX.Element;
5
7
  /** @internal */
6
8
  export declare function useWidgetDef(): WidgetDef | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"Content.d.ts","sourceRoot":"","sources":["../../../src/appui-react/widget-panels/Content.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAkBzD,gBAAgB;AAChB,wBAAgB,aAAa,sBAwB5B;AAED,gBAAgB;AAChB,wBAAgB,YAAY,IAAI,SAAS,GAAG,SAAS,CAqBpD"}
1
+ {"version":3,"file":"Content.d.ts","sourceRoot":"","sources":["../../../src/appui-react/widget-panels/Content.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAKzD,gBAAgB;AAChB,wBAAgB,cAAc,sBAW7B;AAED,gBAAgB;AAChB,wBAAgB,aAAa,sBAwB5B;AAED,gBAAgB;AAChB,wBAAgB,YAAY,IAAI,SAAS,GAAG,SAAS,CAqBpD"}
@@ -18,7 +18,8 @@ import { isProviderItem } from "../ui-items-provider/isProviderItem.js";
18
18
  import { useTransientState } from "./useTransientState.js";
19
19
  import { useTranslation } from "../hooks/useTranslation.js";
20
20
  import { PopoutThemeProvider } from "../preview/reparent-popout-widgets/PopoutThemeProvider.js";
21
- function WidgetFallback() {
21
+ /** @internal */
22
+ export function WidgetFallback() {
22
23
  const { translate } = useTranslation();
23
24
  return (React.createElement("div", { role: "alert", style: { position: "relative", minHeight: 400 } },
24
25
  React.createElement(NonIdealState, { svg: React.createElement(SvgError, null), heading: translate("widget.errorMessage.unknownError") })));
@@ -1 +1 @@
1
- {"version":3,"file":"Content.js","sourceRoot":"","sources":["../../../src/appui-react/widget-panels/Content.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 Widget\n */\nimport { assert } from \"@itwin/core-bentley\";\nimport { SvgError } from \"@itwin/itwinui-illustrations-react\";\nimport { NonIdealState } from \"@itwin/itwinui-react\";\nimport * as React from \"react\";\nimport { ErrorBoundary } from \"react-error-boundary\";\nimport { useActiveFrontstageDef } from \"../frontstage/FrontstageDef.js\";\nimport { ScrollableWidgetContent } from \"../layout/widget/Content.js\";\nimport { TabIdContext } from \"../layout/widget/ContentRenderer.js\";\nimport { UiItemsManager } from \"../ui-items-provider/UiItemsManager.js\";\nimport { isProviderItem } from \"../ui-items-provider/isProviderItem.js\";\nimport type { WidgetDef } from \"../widgets/WidgetDef.js\";\nimport { useTransientState } from \"./useTransientState.js\";\nimport { useTranslation } from \"../hooks/useTranslation.js\";\nimport { PopoutThemeProvider } from \"../preview/reparent-popout-widgets/PopoutThemeProvider.js\";\n\nfunction WidgetFallback() {\n const { translate } = useTranslation();\n\n return (\n <div role=\"alert\" style={{ position: \"relative\", minHeight: 400 }}>\n <NonIdealState\n svg={<SvgError />}\n heading={translate(\"widget.errorMessage.unknownError\")}\n />\n </div>\n );\n}\n\n/** @internal */\nexport function WidgetContent() {\n const widget = useWidgetDef();\n const itemId = widget?.id ?? widget?.label ?? \"unknown\";\n const onSave = React.useCallback(() => {\n widget?.saveTransientState();\n }, [widget]);\n const onRestore = React.useCallback(() => {\n widget?.restoreTransientState();\n }, [widget]);\n useTransientState(onSave, onRestore);\n const providerId =\n widget?.initialConfig && isProviderItem(widget?.initialConfig)\n ? widget?.initialConfig.providerId\n : undefined;\n\n return (\n <PopoutThemeProvider>\n <ScrollableWidgetContent itemId={itemId} providerId={providerId}>\n <ErrorBoundary FallbackComponent={WidgetFallback}>\n {widget?.reactNode}\n </ErrorBoundary>\n </ScrollableWidgetContent>\n </PopoutThemeProvider>\n );\n}\n\n/** @internal */\nexport function useWidgetDef(): WidgetDef | undefined {\n const frontstage = useActiveFrontstageDef();\n const tabId = React.useContext(TabIdContext);\n assert(!!tabId);\n const [widgetDef, setWidgetDef] = React.useState(() =>\n frontstage?.findWidgetDef(tabId)\n );\n\n const [prevTabId, setPrevTabId] = React.useState(tabId);\n if (prevTabId !== tabId) {\n setPrevTabId(tabId);\n setWidgetDef(frontstage?.findWidgetDef(tabId));\n }\n\n React.useEffect(() => {\n return UiItemsManager.onUiProviderRegisteredEvent.addListener(() => {\n setWidgetDef(frontstage?.findWidgetDef(tabId));\n });\n }, [frontstage, tabId]);\n\n return widgetDef?.id === tabId ? widgetDef : undefined;\n}\n"]}
1
+ {"version":3,"file":"Content.js","sourceRoot":"","sources":["../../../src/appui-react/widget-panels/Content.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAExE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,2DAA2D,CAAC;AAEhG,gBAAgB;AAChB,MAAM,UAAU,cAAc;IAC5B,MAAM,EAAE,SAAS,EAAE,GAAG,cAAc,EAAE,CAAC;IAEvC,OAAO,CACL,6BAAK,IAAI,EAAC,OAAO,EAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,EAAE;QAC/D,oBAAC,aAAa,IACZ,GAAG,EAAE,oBAAC,QAAQ,OAAG,EACjB,OAAO,EAAE,SAAS,CAAC,kCAAkC,CAAC,GACtD,CACE,CACP,CAAC;AACJ,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,aAAa;IAC3B,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAC9B,MAAM,MAAM,GAAG,MAAM,EAAE,EAAE,IAAI,MAAM,EAAE,KAAK,IAAI,SAAS,CAAC;IACxD,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACpC,MAAM,EAAE,kBAAkB,EAAE,CAAC;IAC/B,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IACb,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACvC,MAAM,EAAE,qBAAqB,EAAE,CAAC;IAClC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IACb,iBAAiB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACrC,MAAM,UAAU,GACd,MAAM,EAAE,aAAa,IAAI,cAAc,CAAC,MAAM,EAAE,aAAa,CAAC;QAC5D,CAAC,CAAC,MAAM,EAAE,aAAa,CAAC,UAAU;QAClC,CAAC,CAAC,SAAS,CAAC;IAEhB,OAAO,CACL,oBAAC,mBAAmB;QAClB,oBAAC,uBAAuB,IAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU;YAC7D,oBAAC,aAAa,IAAC,iBAAiB,EAAE,cAAc,IAC7C,MAAM,EAAE,SAAS,CACJ,CACQ,CACN,CACvB,CAAC;AACJ,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,YAAY;IAC1B,MAAM,UAAU,GAAG,sBAAsB,EAAE,CAAC;IAC5C,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IAC7C,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAChB,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CACpD,UAAU,EAAE,aAAa,CAAC,KAAK,CAAC,CACjC,CAAC;IAEF,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxD,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;QACxB,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,YAAY,CAAC,UAAU,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,OAAO,cAAc,CAAC,2BAA2B,CAAC,WAAW,CAAC,GAAG,EAAE;YACjE,YAAY,CAAC,UAAU,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;IAExB,OAAO,SAAS,EAAE,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;AACzD,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 Widget\n */\nimport { assert } from \"@itwin/core-bentley\";\nimport { SvgError } from \"@itwin/itwinui-illustrations-react\";\nimport { NonIdealState } from \"@itwin/itwinui-react\";\nimport * as React from \"react\";\nimport { ErrorBoundary } from \"react-error-boundary\";\nimport { useActiveFrontstageDef } from \"../frontstage/FrontstageDef.js\";\nimport { ScrollableWidgetContent } from \"../layout/widget/Content.js\";\nimport { TabIdContext } from \"../layout/widget/ContentRenderer.js\";\nimport { UiItemsManager } from \"../ui-items-provider/UiItemsManager.js\";\nimport { isProviderItem } from \"../ui-items-provider/isProviderItem.js\";\nimport type { WidgetDef } from \"../widgets/WidgetDef.js\";\nimport { useTransientState } from \"./useTransientState.js\";\nimport { useTranslation } from \"../hooks/useTranslation.js\";\nimport { PopoutThemeProvider } from \"../preview/reparent-popout-widgets/PopoutThemeProvider.js\";\n\n/** @internal */\nexport function WidgetFallback() {\n const { translate } = useTranslation();\n\n return (\n <div role=\"alert\" style={{ position: \"relative\", minHeight: 400 }}>\n <NonIdealState\n svg={<SvgError />}\n heading={translate(\"widget.errorMessage.unknownError\")}\n />\n </div>\n );\n}\n\n/** @internal */\nexport function WidgetContent() {\n const widget = useWidgetDef();\n const itemId = widget?.id ?? widget?.label ?? \"unknown\";\n const onSave = React.useCallback(() => {\n widget?.saveTransientState();\n }, [widget]);\n const onRestore = React.useCallback(() => {\n widget?.restoreTransientState();\n }, [widget]);\n useTransientState(onSave, onRestore);\n const providerId =\n widget?.initialConfig && isProviderItem(widget?.initialConfig)\n ? widget?.initialConfig.providerId\n : undefined;\n\n return (\n <PopoutThemeProvider>\n <ScrollableWidgetContent itemId={itemId} providerId={providerId}>\n <ErrorBoundary FallbackComponent={WidgetFallback}>\n {widget?.reactNode}\n </ErrorBoundary>\n </ScrollableWidgetContent>\n </PopoutThemeProvider>\n );\n}\n\n/** @internal */\nexport function useWidgetDef(): WidgetDef | undefined {\n const frontstage = useActiveFrontstageDef();\n const tabId = React.useContext(TabIdContext);\n assert(!!tabId);\n const [widgetDef, setWidgetDef] = React.useState(() =>\n frontstage?.findWidgetDef(tabId)\n );\n\n const [prevTabId, setPrevTabId] = React.useState(tabId);\n if (prevTabId !== tabId) {\n setPrevTabId(tabId);\n setWidgetDef(frontstage?.findWidgetDef(tabId));\n }\n\n React.useEffect(() => {\n return UiItemsManager.onUiProviderRegisteredEvent.addListener(() => {\n setWidgetDef(frontstage?.findWidgetDef(tabId));\n });\n }, [frontstage, tabId]);\n\n return widgetDef?.id === tabId ? widgetDef : undefined;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ModalFrontstageComposer.d.ts","sourceRoot":"","sources":["../../../src/appui-react/widget-panels/ModalFrontstageComposer.tsx"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAIhF,gBAAgB;AAChB,wBAAgB,4BAA4B,oCAe3C;AAED,gBAAgB;AAChB,wBAAgB,uBAAuB,CAAC,EACtC,SAAS,GACV,EAAE;IACD,SAAS,EAAE,mBAAmB,GAAG,SAAS,CAAC;CAC5C,4BAmBA"}
1
+ {"version":3,"file":"ModalFrontstageComposer.d.ts","sourceRoot":"","sources":["../../../src/appui-react/widget-panels/ModalFrontstageComposer.tsx"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAIhF,gBAAgB;AAChB,wBAAgB,4BAA4B,oCAe3C;AAED,gBAAgB;AAChB,wBAAgB,uBAAuB,CAAC,EACtC,SAAS,GACV,EAAE;IACD,SAAS,EAAE,mBAAmB,GAAG,SAAS,CAAC;CAC5C,4BAoBA"}
@@ -25,7 +25,7 @@ export function ModalFrontstageComposer({ stageInfo, }) {
25
25
  const handleCloseModal = React.useCallback(() => UiFramework.frontstages.closeModalFrontstage(), []);
26
26
  if (!stageInfo)
27
27
  return null;
28
- const { title, content, appBarRight } = stageInfo;
29
- return (React.createElement(ModalFrontstage, { isOpen: true, title: title, closeModal: handleCloseModal, appBarRight: appBarRight }, content));
28
+ const { title, content, appBarRight, backButton } = stageInfo;
29
+ return (React.createElement(ModalFrontstage, { isOpen: true, title: title, closeModal: handleCloseModal, appBarRight: appBarRight, backButton: backButton }, content));
30
30
  }
31
31
  //# sourceMappingURL=ModalFrontstageComposer.js.map