@itwin/appui-react 4.11.0 → 4.12.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 (159) hide show
  1. package/CHANGELOG.md +10 -1
  2. package/lib/cjs/appui-react/UiFramework.json +345 -0
  3. package/lib/cjs/appui-react/accudraw/AccuDrawDialog.js +1 -1
  4. package/lib/cjs/appui-react/accudraw/AccuDrawDialog.js.map +1 -1
  5. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js +2 -2
  6. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  7. package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  8. package/lib/cjs/appui-react/frontstage/FrontstageDef.js +5 -3
  9. package/lib/cjs/appui-react/frontstage/FrontstageDef.js.map +1 -1
  10. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js +1 -1
  11. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  12. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.d.ts +4 -4
  13. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.d.ts.map +1 -1
  14. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js +3 -3
  15. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  16. package/lib/cjs/appui-react/hooks/useTranslation.d.ts +7 -0
  17. package/lib/cjs/appui-react/hooks/useTranslation.d.ts.map +1 -0
  18. package/lib/cjs/appui-react/{useTranslation.js → hooks/useTranslation.js} +15 -6
  19. package/lib/cjs/appui-react/hooks/useTranslation.js.map +1 -0
  20. package/lib/cjs/appui-react/layout/StandardLayout.scss +1 -1
  21. package/lib/cjs/appui-react/layout/state/NineZoneAction.d.ts +3 -2
  22. package/lib/cjs/appui-react/layout/state/NineZoneAction.d.ts.map +1 -1
  23. package/lib/cjs/appui-react/layout/state/NineZoneAction.js.map +1 -1
  24. package/lib/cjs/appui-react/layout/state/NineZoneStateReducer.d.ts.map +1 -1
  25. package/lib/cjs/appui-react/layout/state/NineZoneStateReducer.js +2 -1
  26. package/lib/cjs/appui-react/layout/state/NineZoneStateReducer.js.map +1 -1
  27. package/lib/cjs/appui-react/layout/state/PanelState.d.ts +2 -5
  28. package/lib/cjs/appui-react/layout/state/PanelState.d.ts.map +1 -1
  29. package/lib/cjs/appui-react/layout/state/PanelState.js.map +1 -1
  30. package/lib/cjs/appui-react/layout/state/internal/PanelStateHelpers.d.ts +4 -3
  31. package/lib/cjs/appui-react/layout/state/internal/PanelStateHelpers.d.ts.map +1 -1
  32. package/lib/cjs/appui-react/layout/state/internal/PanelStateHelpers.js +12 -10
  33. package/lib/cjs/appui-react/layout/state/internal/PanelStateHelpers.js.map +1 -1
  34. package/lib/cjs/appui-react/messages/MessageRenderer.js +1 -1
  35. package/lib/cjs/appui-react/messages/MessageRenderer.js.map +1 -1
  36. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js +1 -1
  37. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  38. package/lib/cjs/appui-react/preview/PreviewFeatures.d.ts.map +1 -1
  39. package/lib/cjs/appui-react/preview/PreviewFeatures.js +6 -5
  40. package/lib/cjs/appui-react/preview/PreviewFeatures.js.map +1 -1
  41. package/lib/cjs/appui-react/preview/new-toolbars/Badge.d.ts.map +1 -1
  42. package/lib/cjs/appui-react/preview/new-toolbars/Badge.js +2 -2
  43. package/lib/cjs/appui-react/preview/new-toolbars/Badge.js.map +1 -1
  44. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js +1 -1
  45. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  46. package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.js +1 -1
  47. package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.js.map +1 -1
  48. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js +1 -1
  49. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  50. package/lib/cjs/appui-react/stagepanels/StagePanelConfig.d.ts +23 -3
  51. package/lib/cjs/appui-react/stagepanels/StagePanelConfig.d.ts.map +1 -1
  52. package/lib/cjs/appui-react/stagepanels/StagePanelConfig.js.map +1 -1
  53. package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts +7 -4
  54. package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
  55. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js +28 -7
  56. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  57. package/lib/cjs/appui-react/statusbar/Overflow.js +1 -1
  58. package/lib/cjs/appui-react/statusbar/Overflow.js.map +1 -1
  59. package/lib/cjs/appui-react/statusfields/ActivityCenter.js +1 -1
  60. package/lib/cjs/appui-react/statusfields/ActivityCenter.js.map +1 -1
  61. package/lib/cjs/appui-react/statusfields/SectionsField.js +1 -1
  62. package/lib/cjs/appui-react/statusfields/SectionsField.js.map +1 -1
  63. package/lib/cjs/appui-react/statusfields/SelectionScope.js +1 -1
  64. package/lib/cjs/appui-react/statusfields/SelectionScope.js.map +1 -1
  65. package/lib/cjs/appui-react/statusfields/SnapMode.js +1 -1
  66. package/lib/cjs/appui-react/statusfields/SnapMode.js.map +1 -1
  67. package/lib/cjs/appui-react/widget-panels/Content.js +1 -1
  68. package/lib/cjs/appui-react/widget-panels/Content.js.map +1 -1
  69. package/lib/cjs/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  70. package/lib/cjs/appui-react/widget-panels/Frontstage.js +6 -5
  71. package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
  72. package/lib/cjs/appui-react/widget-panels/Tab.d.ts.map +1 -1
  73. package/lib/cjs/appui-react/widget-panels/Tab.js +1 -2
  74. package/lib/cjs/appui-react/widget-panels/Tab.js.map +1 -1
  75. package/lib/cjs/appui-react/widget-panels/ToolSettings.js +1 -1
  76. package/lib/cjs/appui-react/widget-panels/ToolSettings.js.map +1 -1
  77. package/lib/esm/appui-react/UiFramework.json +345 -0
  78. package/lib/esm/appui-react/accudraw/AccuDrawDialog.js +1 -1
  79. package/lib/esm/appui-react/accudraw/AccuDrawDialog.js.map +1 -1
  80. package/lib/esm/appui-react/backstage/BackstageComposerItem.js +3 -3
  81. package/lib/esm/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  82. package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  83. package/lib/esm/appui-react/frontstage/FrontstageDef.js +5 -3
  84. package/lib/esm/appui-react/frontstage/FrontstageDef.js.map +1 -1
  85. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js +1 -1
  86. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  87. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.d.ts +4 -4
  88. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.d.ts.map +1 -1
  89. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js +3 -3
  90. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  91. package/lib/esm/appui-react/hooks/useTranslation.d.ts +7 -0
  92. package/lib/esm/appui-react/hooks/useTranslation.d.ts.map +1 -0
  93. package/lib/esm/appui-react/hooks/useTranslation.js +25 -0
  94. package/lib/esm/appui-react/hooks/useTranslation.js.map +1 -0
  95. package/lib/esm/appui-react/layout/StandardLayout.scss +1 -1
  96. package/lib/esm/appui-react/layout/state/NineZoneAction.d.ts +3 -2
  97. package/lib/esm/appui-react/layout/state/NineZoneAction.d.ts.map +1 -1
  98. package/lib/esm/appui-react/layout/state/NineZoneAction.js.map +1 -1
  99. package/lib/esm/appui-react/layout/state/NineZoneStateReducer.d.ts.map +1 -1
  100. package/lib/esm/appui-react/layout/state/NineZoneStateReducer.js +3 -2
  101. package/lib/esm/appui-react/layout/state/NineZoneStateReducer.js.map +1 -1
  102. package/lib/esm/appui-react/layout/state/PanelState.d.ts +2 -5
  103. package/lib/esm/appui-react/layout/state/PanelState.d.ts.map +1 -1
  104. package/lib/esm/appui-react/layout/state/PanelState.js.map +1 -1
  105. package/lib/esm/appui-react/layout/state/internal/PanelStateHelpers.d.ts +4 -3
  106. package/lib/esm/appui-react/layout/state/internal/PanelStateHelpers.d.ts.map +1 -1
  107. package/lib/esm/appui-react/layout/state/internal/PanelStateHelpers.js +10 -8
  108. package/lib/esm/appui-react/layout/state/internal/PanelStateHelpers.js.map +1 -1
  109. package/lib/esm/appui-react/messages/MessageRenderer.js +1 -1
  110. package/lib/esm/appui-react/messages/MessageRenderer.js.map +1 -1
  111. package/lib/esm/appui-react/popup/KeyinPalettePanel.js +1 -1
  112. package/lib/esm/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  113. package/lib/esm/appui-react/preview/PreviewFeatures.d.ts.map +1 -1
  114. package/lib/esm/appui-react/preview/PreviewFeatures.js +6 -5
  115. package/lib/esm/appui-react/preview/PreviewFeatures.js.map +1 -1
  116. package/lib/esm/appui-react/preview/new-toolbars/Badge.d.ts.map +1 -1
  117. package/lib/esm/appui-react/preview/new-toolbars/Badge.js +3 -3
  118. package/lib/esm/appui-react/preview/new-toolbars/Badge.js.map +1 -1
  119. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js +1 -1
  120. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  121. package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.js +1 -1
  122. package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.js.map +1 -1
  123. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js +1 -1
  124. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  125. package/lib/esm/appui-react/stagepanels/StagePanelConfig.d.ts +23 -3
  126. package/lib/esm/appui-react/stagepanels/StagePanelConfig.d.ts.map +1 -1
  127. package/lib/esm/appui-react/stagepanels/StagePanelConfig.js.map +1 -1
  128. package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts +7 -4
  129. package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
  130. package/lib/esm/appui-react/stagepanels/StagePanelDef.js +28 -7
  131. package/lib/esm/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  132. package/lib/esm/appui-react/statusbar/Overflow.js +1 -1
  133. package/lib/esm/appui-react/statusbar/Overflow.js.map +1 -1
  134. package/lib/esm/appui-react/statusfields/ActivityCenter.js +1 -1
  135. package/lib/esm/appui-react/statusfields/ActivityCenter.js.map +1 -1
  136. package/lib/esm/appui-react/statusfields/SectionsField.js +1 -1
  137. package/lib/esm/appui-react/statusfields/SectionsField.js.map +1 -1
  138. package/lib/esm/appui-react/statusfields/SelectionScope.js +1 -1
  139. package/lib/esm/appui-react/statusfields/SelectionScope.js.map +1 -1
  140. package/lib/esm/appui-react/statusfields/SnapMode.js +1 -1
  141. package/lib/esm/appui-react/statusfields/SnapMode.js.map +1 -1
  142. package/lib/esm/appui-react/widget-panels/Content.js +1 -1
  143. package/lib/esm/appui-react/widget-panels/Content.js.map +1 -1
  144. package/lib/esm/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  145. package/lib/esm/appui-react/widget-panels/Frontstage.js +6 -5
  146. package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
  147. package/lib/esm/appui-react/widget-panels/Tab.d.ts.map +1 -1
  148. package/lib/esm/appui-react/widget-panels/Tab.js +2 -3
  149. package/lib/esm/appui-react/widget-panels/Tab.js.map +1 -1
  150. package/lib/esm/appui-react/widget-panels/ToolSettings.js +1 -1
  151. package/lib/esm/appui-react/widget-panels/ToolSettings.js.map +1 -1
  152. package/package.json +8 -9
  153. package/lib/cjs/appui-react/useTranslation.d.ts +0 -10
  154. package/lib/cjs/appui-react/useTranslation.d.ts.map +0 -1
  155. package/lib/cjs/appui-react/useTranslation.js.map +0 -1
  156. package/lib/esm/appui-react/useTranslation.d.ts +0 -10
  157. package/lib/esm/appui-react/useTranslation.d.ts.map +0 -1
  158. package/lib/esm/appui-react/useTranslation.js +0 -16
  159. package/lib/esm/appui-react/useTranslation.js.map +0 -1
@@ -9,16 +9,28 @@ import type { StagePanelState } from "./StagePanelState";
9
9
  export interface StagePanelConfig {
10
10
  /** Default Panel state. Controls how the panel is initially displayed. Defaults to StagePanelState.Open. */
11
11
  readonly defaultState?: StagePanelState;
12
- /** Maximum size of the panel. */
12
+ /** Maximum size of the panel.
13
+ * @deprecated in 4.12.x. Please use {@link StagePanelConfig.maxSizeSpec}.
14
+ */
13
15
  readonly maxSize?: StagePanelMaxSizeSpec;
14
- /** Minimum size of the panel. */
16
+ /** Maximum size of the panel. */
17
+ readonly maxSizeSpec?: StagePanelSizeSpec;
18
+ /** Minimum size of the panel.
19
+ * @deprecated in 4.12.x. Please use {@link StagePanelConfig.minSizeSpec}.
20
+ */
15
21
  readonly minSize?: number;
22
+ /** Minimum size of the panel. */
23
+ readonly minSizeSpec?: StagePanelSizeSpec;
16
24
  /** Indicates whether the panel is pinned. Defaults to true. */
17
25
  readonly pinned?: boolean;
18
26
  /** Indicates whether the panel is resizable. Defaults to true. */
19
27
  readonly resizable?: boolean;
20
- /** Default size of the panel. */
28
+ /** Default size of the panel.
29
+ * @deprecated in 4.12.x. Please use {@link StagePanelConfig.sizeSpec}.
30
+ */
21
31
  readonly size?: number;
32
+ /** Default size of the panel. */
33
+ readonly sizeSpec?: StagePanelSizeSpec;
22
34
  /** Configuration of the panel sections. */
23
35
  readonly sections?: StagePanelSectionsConfig;
24
36
  }
@@ -38,8 +50,16 @@ export interface StagePanelSectionsConfig {
38
50
  /** Available units of panel max size. Pixels or percentage of App size.
39
51
  * @note Percentage of App `height` is used for top/bottom panel and percentage of App `width` is used for left/right panel.
40
52
  * @public
53
+ * @deprecated in 4.12.x. Please use {@link StagePanelSizeSpec}.
41
54
  */
42
55
  export type StagePanelMaxSizeSpec = number | {
43
56
  percentage: number;
44
57
  };
58
+ /** Available units of panel size - pixels or percentage of app size.
59
+ * @note Percentage of App `height` is used for top/bottom panel and percentage of app `width` is used for left/right panel.
60
+ * @public
61
+ */
62
+ export type StagePanelSizeSpec = number | {
63
+ percentage: number;
64
+ };
45
65
  //# sourceMappingURL=StagePanelConfig.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"StagePanelConfig.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/stagepanels/StagePanelConfig.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,4GAA4G;IAC5G,QAAQ,CAAC,YAAY,CAAC,EAAE,eAAe,CAAC;IACxC,iCAAiC;IACjC,QAAQ,CAAC,OAAO,CAAC,EAAE,qBAAqB,CAAC;IACzC,iCAAiC;IACjC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,+DAA+D;IAC/D,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,kEAAkE;IAClE,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B,iCAAiC;IACjC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,2CAA2C;IAC3C,QAAQ,CAAC,QAAQ,CAAC,EAAE,wBAAwB,CAAC;CAC9C;AAED;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;AAElE;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,4CAA4C;IAC5C,QAAQ,CAAC,KAAK,CAAC,EAAE,uBAAuB,CAAC;IACzC,0CAA0C;IAC1C,QAAQ,CAAC,GAAG,CAAC,EAAE,uBAAuB,CAAC;CACxC;AAED;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC"}
1
+ {"version":3,"file":"StagePanelConfig.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/stagepanels/StagePanelConfig.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,4GAA4G;IAC5G,QAAQ,CAAC,YAAY,CAAC,EAAE,eAAe,CAAC;IACxC;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,qBAAqB,CAAC;IACzC,iCAAiC;IACjC,QAAQ,CAAC,WAAW,CAAC,EAAE,kBAAkB,CAAC;IAC1C;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,iCAAiC;IACjC,QAAQ,CAAC,WAAW,CAAC,EAAE,kBAAkB,CAAC;IAC1C,+DAA+D;IAC/D,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,kEAAkE;IAClE,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B;;OAEG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,iCAAiC;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IACvC,2CAA2C;IAC3C,QAAQ,CAAC,QAAQ,CAAC,EAAE,wBAAwB,CAAC;CAC9C;AAED;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;AAElE;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,4CAA4C;IAC5C,QAAQ,CAAC,KAAK,CAAC,EAAE,uBAAuB,CAAC;IACzC,0CAA0C;IAC1C,QAAQ,CAAC,GAAG,CAAC,EAAE,uBAAuB,CAAC;CACxC;AAED;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpE;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"StagePanelConfig.js","sourceRoot":"","sources":["../../../../src/appui-react/stagepanels/StagePanelConfig.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG","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 Frontstage\n */\n\nimport type { WidgetConfig } from \"../widgets/WidgetConfig\";\nimport type { StagePanelState } from \"./StagePanelState\";\n\n/** Configuration from which a stage panel is created.\n * @public\n */\nexport interface StagePanelConfig {\n /** Default Panel state. Controls how the panel is initially displayed. Defaults to StagePanelState.Open. */\n readonly defaultState?: StagePanelState;\n /** Maximum size of the panel. */\n readonly maxSize?: StagePanelMaxSizeSpec;\n /** Minimum size of the panel. */\n readonly minSize?: number;\n /** Indicates whether the panel is pinned. Defaults to true. */\n readonly pinned?: boolean;\n /** Indicates whether the panel is resizable. Defaults to true. */\n readonly resizable?: boolean;\n /** Default size of the panel. */\n readonly size?: number;\n /** Configuration of the panel sections. */\n readonly sections?: StagePanelSectionsConfig;\n}\n\n/** Configuration from which a stage panel section is created.\n * @public\n */\nexport type StagePanelSectionConfig = ReadonlyArray<WidgetConfig>;\n\n/** Configuration from which stage panel sections are created.\n * @public\n */\nexport interface StagePanelSectionsConfig {\n /** Configuration of the `start` section. */\n readonly start?: StagePanelSectionConfig;\n /** Configuration of the `end` section. */\n readonly end?: StagePanelSectionConfig;\n}\n\n/** Available units of panel max size. Pixels or percentage of App size.\n * @note Percentage of App `height` is used for top/bottom panel and percentage of App `width` is used for left/right panel.\n * @public\n */\nexport type StagePanelMaxSizeSpec = number | { percentage: number };\n"]}
1
+ {"version":3,"file":"StagePanelConfig.js","sourceRoot":"","sources":["../../../../src/appui-react/stagepanels/StagePanelConfig.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG","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 Frontstage\n */\n\nimport type { WidgetConfig } from \"../widgets/WidgetConfig\";\nimport type { StagePanelState } from \"./StagePanelState\";\n\n/** Configuration from which a stage panel is created.\n * @public\n */\nexport interface StagePanelConfig {\n /** Default Panel state. Controls how the panel is initially displayed. Defaults to StagePanelState.Open. */\n readonly defaultState?: StagePanelState;\n /** Maximum size of the panel.\n * @deprecated in 4.12.x. Please use {@link StagePanelConfig.maxSizeSpec}.\n */\n readonly maxSize?: StagePanelMaxSizeSpec; // eslint-disable-line deprecation/deprecation\n /** Maximum size of the panel. */\n readonly maxSizeSpec?: StagePanelSizeSpec;\n /** Minimum size of the panel.\n * @deprecated in 4.12.x. Please use {@link StagePanelConfig.minSizeSpec}.\n */\n readonly minSize?: number;\n /** Minimum size of the panel. */\n readonly minSizeSpec?: StagePanelSizeSpec;\n /** Indicates whether the panel is pinned. Defaults to true. */\n readonly pinned?: boolean;\n /** Indicates whether the panel is resizable. Defaults to true. */\n readonly resizable?: boolean;\n /** Default size of the panel.\n * @deprecated in 4.12.x. Please use {@link StagePanelConfig.sizeSpec}.\n */\n readonly size?: number;\n /** Default size of the panel. */\n readonly sizeSpec?: StagePanelSizeSpec;\n /** Configuration of the panel sections. */\n readonly sections?: StagePanelSectionsConfig;\n}\n\n/** Configuration from which a stage panel section is created.\n * @public\n */\nexport type StagePanelSectionConfig = ReadonlyArray<WidgetConfig>;\n\n/** Configuration from which stage panel sections are created.\n * @public\n */\nexport interface StagePanelSectionsConfig {\n /** Configuration of the `start` section. */\n readonly start?: StagePanelSectionConfig;\n /** Configuration of the `end` section. */\n readonly end?: StagePanelSectionConfig;\n}\n\n/** Available units of panel max size. Pixels or percentage of App size.\n * @note Percentage of App `height` is used for top/bottom panel and percentage of App `width` is used for left/right panel.\n * @public\n * @deprecated in 4.12.x. Please use {@link StagePanelSizeSpec}.\n */\nexport type StagePanelMaxSizeSpec = number | { percentage: number };\n\n/** Available units of panel size - pixels or percentage of app size.\n * @note Percentage of App `height` is used for top/bottom panel and percentage of app `width` is used for left/right panel.\n * @public\n */\nexport type StagePanelSizeSpec = number | { percentage: number };\n"]}
@@ -6,7 +6,7 @@ import type { NineZoneState } from "../layout/state/NineZoneState";
6
6
  import type { PanelSide } from "../layout/widget-panels/PanelTypes";
7
7
  import { WidgetDef } from "../widgets/WidgetDef";
8
8
  import { WidgetHost } from "../widgets/WidgetHost";
9
- import type { StagePanelConfig, StagePanelSectionConfig } from "./StagePanelConfig";
9
+ import type { StagePanelConfig, StagePanelSectionConfig, StagePanelSizeSpec } from "./StagePanelConfig";
10
10
  import { StagePanelLocation } from "./StagePanelLocation";
11
11
  import { StagePanelSection } from "./StagePanelSection";
12
12
  import { StagePanelState } from "./StagePanelState";
@@ -54,9 +54,14 @@ export declare class StagePanelDef extends WidgetHost {
54
54
  initializeFromConfig(config: StagePanelConfig | undefined, location: StagePanelLocation): void;
55
55
  /** @internal */
56
56
  get initialConfig(): StagePanelConfig | undefined;
57
- /** Current size of the panel */
57
+ /** Current size of the panel.
58
+ * @deprecated in 4.12.x. Use {@link StagePanelDef.sizeSpec} instead.
59
+ */
58
60
  get size(): number | undefined;
59
61
  set size(size: number | undefined);
62
+ /** Current size of the panel */
63
+ get sizeSpec(): StagePanelSizeSpec | undefined;
64
+ set sizeSpec(size: StagePanelSizeSpec | undefined);
60
65
  /** @internal */
61
66
  handleSizeChanged(size: number | undefined): void;
62
67
  /** Indicates whether the panel is resizable. */
@@ -76,8 +81,6 @@ export declare class StagePanelDef extends WidgetHost {
76
81
  /** @internal */
77
82
  get defaultState(): StagePanelState;
78
83
  /** @internal */
79
- get defaultSize(): number | undefined;
80
- /** @internal */
81
84
  get defaultPinned(): boolean;
82
85
  /** @internal */
83
86
  get defaultResizable(): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"StagePanelDef.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/stagepanels/StagePanelDef.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StagePanelDef.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/stagepanels/StagePanelDef.tsx"],"names":[],"mappings":"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"}
@@ -59,12 +59,16 @@ class StagePanelDef extends WidgetHost_1.WidgetHost {
59
59
  get initialConfig() {
60
60
  return this._initialConfig;
61
61
  }
62
- /** Current size of the panel */
62
+ /** Current size of the panel.
63
+ * @deprecated in 4.12.x. Use {@link StagePanelDef.sizeSpec} instead.
64
+ */
63
65
  get size() {
66
+ var _a;
64
67
  const frontstageDef = UiFramework_1.UiFramework.frontstages.activeFrontstageDef;
65
68
  const state = frontstageDef === null || frontstageDef === void 0 ? void 0 : frontstageDef.nineZoneState;
69
+ // eslint-disable-next-line deprecation/deprecation
66
70
  if (!state)
67
- return this.defaultSize;
71
+ return (_a = this.initialConfig) === null || _a === void 0 ? void 0 : _a.size;
68
72
  const side = toPanelSide(this.location);
69
73
  const panel = state.panels[side];
70
74
  return panel.size;
@@ -80,6 +84,28 @@ class StagePanelDef extends WidgetHost_1.WidgetHost {
80
84
  size,
81
85
  });
82
86
  }
87
+ /** Current size of the panel */
88
+ get sizeSpec() {
89
+ var _a;
90
+ const frontstageDef = UiFramework_1.UiFramework.frontstages.activeFrontstageDef;
91
+ const state = frontstageDef === null || frontstageDef === void 0 ? void 0 : frontstageDef.nineZoneState;
92
+ if (!state)
93
+ return (_a = this.initialConfig) === null || _a === void 0 ? void 0 : _a.sizeSpec;
94
+ const side = toPanelSide(this.location);
95
+ const panel = state.panels[side];
96
+ return panel.size;
97
+ }
98
+ set sizeSpec(size) {
99
+ const frontstageDef = UiFramework_1.UiFramework.frontstages.activeFrontstageDef;
100
+ if (!frontstageDef)
101
+ return;
102
+ const side = toPanelSide(this.location);
103
+ frontstageDef.dispatch({
104
+ type: "PANEL_SET_SIZE",
105
+ side,
106
+ size,
107
+ });
108
+ }
83
109
  /** @internal */
84
110
  handleSizeChanged(size) {
85
111
  InternalFrontstageManager_1.InternalFrontstageManager.onPanelSizeChangedEvent.emit({
@@ -158,11 +184,6 @@ class StagePanelDef extends WidgetHost_1.WidgetHost {
158
184
  return defaultState !== null && defaultState !== void 0 ? defaultState : StagePanelState_1.StagePanelState.Open;
159
185
  }
160
186
  /** @internal */
161
- get defaultSize() {
162
- var _a;
163
- return (_a = this._initialConfig) === null || _a === void 0 ? void 0 : _a.size;
164
- }
165
- /** @internal */
166
187
  get defaultPinned() {
167
188
  var _a, _b;
168
189
  return (_b = (_a = this._initialConfig) === null || _a === void 0 ? void 0 : _a.pinned) !== null && _b !== void 0 ? _b : true;
@@ -1 +1 @@
1
- {"version":3,"file":"StagePanelDef.js","sourceRoot":"","sources":["../../../../src/appui-react/stagepanels/StagePanelDef.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 Frontstage\n */\n\nimport { UiEvent } from \"@itwin/appui-abstract\";\nimport type { Draft } from \"immer\";\nimport produce from \"immer\";\nimport { UiFramework } from \"../UiFramework\";\nimport { InternalFrontstageManager } from \"../frontstage/InternalFrontstageManager\";\nimport type { NineZoneState } from \"../layout/state/NineZoneState\";\nimport type { PanelSide } from \"../layout/widget-panels/PanelTypes\";\nimport { WidgetDef } from \"../widgets/WidgetDef\";\nimport { WidgetHost } from \"../widgets/WidgetHost\";\nimport type {\n StagePanelConfig,\n StagePanelSectionConfig,\n} from \"./StagePanelConfig\";\nimport { StagePanelLocation } from \"./StagePanelLocation\";\nimport { StagePanelSection } from \"./StagePanelSection\";\nimport { StagePanelState } from \"./StagePanelState\";\n\n/** Panel state changed event args interface.\n * @public\n */\nexport interface PanelStateChangedEventArgs {\n panelDef: StagePanelDef;\n panelState: StagePanelState;\n}\n\n/** Panel state changed event class.\n * @beta\n */\n// eslint-disable-next-line deprecation/deprecation\nexport class PanelStateChangedEvent extends UiEvent<PanelStateChangedEventArgs> {}\n\n/** @internal */\nexport interface PanelSizeChangedEventArgs {\n panelDef: StagePanelDef;\n size: number | undefined;\n}\n\n/** @internal */\n// eslint-disable-next-line deprecation/deprecation\nexport class PanelSizeChangedEvent extends UiEvent<PanelSizeChangedEventArgs> {}\n\n/** Panel pinned changed event args interface.\n * @public\n */\nexport interface PanelPinnedChangedEventArgs {\n panelDef: StagePanelDef;\n pinned: boolean;\n}\n\n/**\n * A StagePanelDef represents each Stage Panel within a Frontstage.\n * @public\n */\nexport class StagePanelDef extends WidgetHost {\n private _initialConfig?: StagePanelConfig;\n private _location: StagePanelLocation = StagePanelLocation.Left;\n private _start = new StagePanelSectionDef();\n private _end = new StagePanelSectionDef();\n\n /** Constructor for PanelDef. */\n constructor() {\n super();\n }\n\n /** @internal */\n public static create(config: StagePanelConfig, location: StagePanelLocation) {\n const def = new StagePanelDef();\n def.initializeFromConfig(config, location);\n return def;\n }\n\n /** @internal */\n public initializeFromConfig(\n config: StagePanelConfig | undefined,\n location: StagePanelLocation\n ) {\n this._location = location;\n\n this._initialConfig = config;\n this._start.initializeFromConfig(config?.sections?.start);\n this._end.initializeFromConfig(config?.sections?.end);\n }\n\n /** @internal */\n public get initialConfig() {\n return this._initialConfig;\n }\n\n /** Current size of the panel */\n public get size(): number | undefined {\n const frontstageDef = UiFramework.frontstages.activeFrontstageDef;\n const state = frontstageDef?.nineZoneState;\n if (!state) return this.defaultSize;\n\n const side = toPanelSide(this.location);\n const panel = state.panels[side];\n return panel.size;\n }\n\n public set size(size) {\n const frontstageDef = UiFramework.frontstages.activeFrontstageDef;\n if (!frontstageDef) return;\n\n const side = toPanelSide(this.location);\n frontstageDef.dispatch({\n type: \"PANEL_SET_SIZE\",\n side,\n size,\n });\n }\n\n /** @internal */\n public handleSizeChanged(size: number | undefined) {\n InternalFrontstageManager.onPanelSizeChangedEvent.emit({\n panelDef: this,\n size,\n });\n }\n\n /** Indicates whether the panel is resizable. */\n public get resizable(): boolean {\n return this.defaultResizable;\n }\n\n /** Indicates whether the panel is pinned. */\n public get pinned(): boolean {\n const frontstageDef = UiFramework.frontstages.activeFrontstageDef;\n const state = frontstageDef?.nineZoneState;\n if (!state) return this.defaultPinned;\n\n const side = toPanelSide(this.location);\n const panel = state.panels[side];\n return panel.pinned;\n }\n\n public set pinned(pinned: boolean) {\n const frontstageDef = UiFramework.frontstages.activeFrontstageDef;\n if (!frontstageDef) return;\n\n const side = toPanelSide(this.location);\n frontstageDef.dispatch({\n type: \"PANEL_SET_PINNED\",\n side,\n pinned,\n });\n }\n\n /** @internal */\n public handlePinnedChanged(pinned: boolean) {\n UiFramework.frontstages.onPanelPinnedChangedEvent.emit({\n panelDef: this,\n pinned,\n });\n }\n\n /** Location of panel. */\n public get location(): StagePanelLocation {\n return this._location;\n }\n\n /** Panel state. Defaults to PanelState.Open. */\n public get panelState(): StagePanelState {\n const frontstageDef = UiFramework.frontstages.activeFrontstageDef;\n const state = frontstageDef?.nineZoneState;\n if (!state) return this.defaultState;\n const side = toPanelSide(this.location);\n return getPanelState(state, side);\n }\n\n public set panelState(panelState: StagePanelState) {\n const frontstageDef = UiFramework.frontstages.activeFrontstageDef;\n if (!frontstageDef) return;\n\n const side = toPanelSide(this.location);\n const collapsed = panelState === StagePanelState.Open ? false : true;\n frontstageDef.dispatch({\n type: \"PANEL_SET_COLLAPSED\",\n collapsed,\n side,\n });\n }\n\n /** @internal */\n public handlePanelStateChanged(panelState: StagePanelState) {\n UiFramework.frontstages.onPanelStateChangedEvent.emit({\n panelDef: this,\n panelState,\n });\n }\n\n /** @internal */\n public get defaultState() {\n const defaultState = this._initialConfig?.defaultState;\n return defaultState ?? StagePanelState.Open;\n }\n\n /** @internal */\n public get defaultSize() {\n return this._initialConfig?.size;\n }\n\n /** @internal */\n public get defaultPinned() {\n return this._initialConfig?.pinned ?? true;\n }\n\n /** @internal */\n public get defaultResizable() {\n return this._initialConfig?.resizable ?? true;\n }\n\n /** Gets the list of Widgets. */\n public override get widgetDefs(): ReadonlyArray<WidgetDef> {\n return [\n ...super.widgetDefs,\n ...this._start.widgetDefs,\n ...this._end.widgetDefs,\n ];\n }\n\n /** @internal */\n public override updateDynamicWidgetDefs(\n stageId: string,\n stageUsage: string,\n location: StagePanelLocation,\n _section: StagePanelSection | undefined,\n allStageWidgetDefs: WidgetDef[]\n ) {\n this._start.updateDynamicWidgetDefs(\n stageId,\n stageUsage,\n location,\n StagePanelSection.Start,\n allStageWidgetDefs\n );\n this._end.updateDynamicWidgetDefs(\n stageId,\n stageUsage,\n location,\n StagePanelSection.End,\n allStageWidgetDefs\n );\n }\n\n /** @internal */\n public getPanelSectionDef(section: StagePanelSection) {\n switch (section) {\n case StagePanelSection.Start: {\n return this._start;\n }\n case StagePanelSection.End: {\n return this._end;\n }\n }\n }\n}\n\n/** @internal */\nexport class StagePanelSectionDef extends WidgetHost {\n /** @internal */\n public initializeFromConfig(config: StagePanelSectionConfig | undefined) {\n config?.forEach((widgetConfig) => {\n const widgetDef = WidgetDef.create(widgetConfig);\n this.addWidgetDef(widgetDef);\n });\n }\n}\n\n/** @internal */\nexport function toPanelSide(location: StagePanelLocation): PanelSide {\n switch (location) {\n case StagePanelLocation.Bottom:\n return \"bottom\";\n case StagePanelLocation.Left:\n return \"left\";\n case StagePanelLocation.Right:\n return \"right\";\n case StagePanelLocation.Top:\n return \"top\";\n }\n}\n\n/** @internal */\nexport const setPanelPinned: (\n nineZone: NineZoneState,\n side: PanelSide,\n pinned: boolean\n) => NineZoneState = produce(\n (nineZone: Draft<NineZoneState>, side: PanelSide, pinned: boolean) => {\n const panel = nineZone.panels[side];\n panel.pinned = pinned;\n }\n);\n\n/** @internal */\nexport function getPanelState(state: NineZoneState, side: PanelSide) {\n const panel = state.panels[side];\n return panel.collapsed ? StagePanelState.Minimized : StagePanelState.Open;\n}\n"]}
1
+ {"version":3,"file":"StagePanelDef.js","sourceRoot":"","sources":["../../../../src/appui-react/stagepanels/StagePanelDef.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 Frontstage\n */\n\nimport { UiEvent } from \"@itwin/appui-abstract\";\nimport type { Draft } from \"immer\";\nimport produce from \"immer\";\nimport { UiFramework } from \"../UiFramework\";\nimport { InternalFrontstageManager } from \"../frontstage/InternalFrontstageManager\";\nimport type { NineZoneState } from \"../layout/state/NineZoneState\";\nimport type { PanelSide } from \"../layout/widget-panels/PanelTypes\";\nimport { WidgetDef } from \"../widgets/WidgetDef\";\nimport { WidgetHost } from \"../widgets/WidgetHost\";\nimport type {\n StagePanelConfig,\n StagePanelSectionConfig,\n StagePanelSizeSpec,\n} from \"./StagePanelConfig\";\nimport { StagePanelLocation } from \"./StagePanelLocation\";\nimport { StagePanelSection } from \"./StagePanelSection\";\nimport { StagePanelState } from \"./StagePanelState\";\n\n/** Panel state changed event args interface.\n * @public\n */\nexport interface PanelStateChangedEventArgs {\n panelDef: StagePanelDef;\n panelState: StagePanelState;\n}\n\n/** Panel state changed event class.\n * @beta\n */\n// eslint-disable-next-line deprecation/deprecation\nexport class PanelStateChangedEvent extends UiEvent<PanelStateChangedEventArgs> {}\n\n/** @internal */\nexport interface PanelSizeChangedEventArgs {\n panelDef: StagePanelDef;\n size: number | undefined;\n}\n\n/** @internal */\n// eslint-disable-next-line deprecation/deprecation\nexport class PanelSizeChangedEvent extends UiEvent<PanelSizeChangedEventArgs> {}\n\n/** Panel pinned changed event args interface.\n * @public\n */\nexport interface PanelPinnedChangedEventArgs {\n panelDef: StagePanelDef;\n pinned: boolean;\n}\n\n/**\n * A StagePanelDef represents each Stage Panel within a Frontstage.\n * @public\n */\nexport class StagePanelDef extends WidgetHost {\n private _initialConfig?: StagePanelConfig;\n private _location: StagePanelLocation = StagePanelLocation.Left;\n private _start = new StagePanelSectionDef();\n private _end = new StagePanelSectionDef();\n\n /** Constructor for PanelDef. */\n constructor() {\n super();\n }\n\n /** @internal */\n public static create(config: StagePanelConfig, location: StagePanelLocation) {\n const def = new StagePanelDef();\n def.initializeFromConfig(config, location);\n return def;\n }\n\n /** @internal */\n public initializeFromConfig(\n config: StagePanelConfig | undefined,\n location: StagePanelLocation\n ) {\n this._location = location;\n this._initialConfig = config;\n this._start.initializeFromConfig(config?.sections?.start);\n this._end.initializeFromConfig(config?.sections?.end);\n }\n\n /** @internal */\n public get initialConfig() {\n return this._initialConfig;\n }\n\n /** Current size of the panel.\n * @deprecated in 4.12.x. Use {@link StagePanelDef.sizeSpec} instead.\n */\n public get size(): number | undefined {\n const frontstageDef = UiFramework.frontstages.activeFrontstageDef;\n const state = frontstageDef?.nineZoneState;\n // eslint-disable-next-line deprecation/deprecation\n if (!state) return this.initialConfig?.size;\n\n const side = toPanelSide(this.location);\n const panel = state.panels[side];\n return panel.size;\n }\n\n public set size(size) {\n const frontstageDef = UiFramework.frontstages.activeFrontstageDef;\n if (!frontstageDef) return;\n\n const side = toPanelSide(this.location);\n frontstageDef.dispatch({\n type: \"PANEL_SET_SIZE\",\n side,\n size,\n });\n }\n\n /** Current size of the panel */\n public get sizeSpec(): StagePanelSizeSpec | undefined {\n const frontstageDef = UiFramework.frontstages.activeFrontstageDef;\n const state = frontstageDef?.nineZoneState;\n if (!state) return this.initialConfig?.sizeSpec;\n\n const side = toPanelSide(this.location);\n const panel = state.panels[side];\n return panel.size;\n }\n\n public set sizeSpec(size) {\n const frontstageDef = UiFramework.frontstages.activeFrontstageDef;\n if (!frontstageDef) return;\n\n const side = toPanelSide(this.location);\n frontstageDef.dispatch({\n type: \"PANEL_SET_SIZE\",\n side,\n size,\n });\n }\n\n /** @internal */\n public handleSizeChanged(size: number | undefined) {\n InternalFrontstageManager.onPanelSizeChangedEvent.emit({\n panelDef: this,\n size,\n });\n }\n\n /** Indicates whether the panel is resizable. */\n public get resizable(): boolean {\n return this.defaultResizable;\n }\n\n /** Indicates whether the panel is pinned. */\n public get pinned(): boolean {\n const frontstageDef = UiFramework.frontstages.activeFrontstageDef;\n const state = frontstageDef?.nineZoneState;\n if (!state) return this.defaultPinned;\n\n const side = toPanelSide(this.location);\n const panel = state.panels[side];\n return panel.pinned;\n }\n\n public set pinned(pinned: boolean) {\n const frontstageDef = UiFramework.frontstages.activeFrontstageDef;\n if (!frontstageDef) return;\n\n const side = toPanelSide(this.location);\n frontstageDef.dispatch({\n type: \"PANEL_SET_PINNED\",\n side,\n pinned,\n });\n }\n\n /** @internal */\n public handlePinnedChanged(pinned: boolean) {\n UiFramework.frontstages.onPanelPinnedChangedEvent.emit({\n panelDef: this,\n pinned,\n });\n }\n\n /** Location of panel. */\n public get location(): StagePanelLocation {\n return this._location;\n }\n\n /** Panel state. Defaults to PanelState.Open. */\n public get panelState(): StagePanelState {\n const frontstageDef = UiFramework.frontstages.activeFrontstageDef;\n const state = frontstageDef?.nineZoneState;\n if (!state) return this.defaultState;\n const side = toPanelSide(this.location);\n return getPanelState(state, side);\n }\n\n public set panelState(panelState: StagePanelState) {\n const frontstageDef = UiFramework.frontstages.activeFrontstageDef;\n if (!frontstageDef) return;\n\n const side = toPanelSide(this.location);\n const collapsed = panelState === StagePanelState.Open ? false : true;\n frontstageDef.dispatch({\n type: \"PANEL_SET_COLLAPSED\",\n collapsed,\n side,\n });\n }\n\n /** @internal */\n public handlePanelStateChanged(panelState: StagePanelState) {\n UiFramework.frontstages.onPanelStateChangedEvent.emit({\n panelDef: this,\n panelState,\n });\n }\n\n /** @internal */\n public get defaultState() {\n const defaultState = this._initialConfig?.defaultState;\n return defaultState ?? StagePanelState.Open;\n }\n\n /** @internal */\n public get defaultPinned() {\n return this._initialConfig?.pinned ?? true;\n }\n\n /** @internal */\n public get defaultResizable() {\n return this._initialConfig?.resizable ?? true;\n }\n\n /** Gets the list of Widgets. */\n public override get widgetDefs(): ReadonlyArray<WidgetDef> {\n return [\n ...super.widgetDefs,\n ...this._start.widgetDefs,\n ...this._end.widgetDefs,\n ];\n }\n\n /** @internal */\n public override updateDynamicWidgetDefs(\n stageId: string,\n stageUsage: string,\n location: StagePanelLocation,\n _section: StagePanelSection | undefined,\n allStageWidgetDefs: WidgetDef[]\n ) {\n this._start.updateDynamicWidgetDefs(\n stageId,\n stageUsage,\n location,\n StagePanelSection.Start,\n allStageWidgetDefs\n );\n this._end.updateDynamicWidgetDefs(\n stageId,\n stageUsage,\n location,\n StagePanelSection.End,\n allStageWidgetDefs\n );\n }\n\n /** @internal */\n public getPanelSectionDef(section: StagePanelSection) {\n switch (section) {\n case StagePanelSection.Start: {\n return this._start;\n }\n case StagePanelSection.End: {\n return this._end;\n }\n }\n }\n}\n\n/** @internal */\nexport class StagePanelSectionDef extends WidgetHost {\n /** @internal */\n public initializeFromConfig(config: StagePanelSectionConfig | undefined) {\n config?.forEach((widgetConfig) => {\n const widgetDef = WidgetDef.create(widgetConfig);\n this.addWidgetDef(widgetDef);\n });\n }\n}\n\n/** @internal */\nexport function toPanelSide(location: StagePanelLocation): PanelSide {\n switch (location) {\n case StagePanelLocation.Bottom:\n return \"bottom\";\n case StagePanelLocation.Left:\n return \"left\";\n case StagePanelLocation.Right:\n return \"right\";\n case StagePanelLocation.Top:\n return \"top\";\n }\n}\n\n/** @internal */\nexport const setPanelPinned: (\n nineZone: NineZoneState,\n side: PanelSide,\n pinned: boolean\n) => NineZoneState = produce(\n (nineZone: Draft<NineZoneState>, side: PanelSide, pinned: boolean) => {\n const panel = nineZone.panels[side];\n panel.pinned = pinned;\n }\n);\n\n/** @internal */\nexport function getPanelState(state: NineZoneState, side: PanelSide) {\n const panel = state.panels[side];\n return panel.collapsed ? StagePanelState.Minimized : StagePanelState.Open;\n}\n"]}
@@ -13,7 +13,7 @@ const classnames_1 = require("classnames");
13
13
  const React = require("react");
14
14
  const Ellipsis_1 = require("../layout/base/Ellipsis");
15
15
  require("./Overflow.scss");
16
- const useTranslation_1 = require("../useTranslation");
16
+ const useTranslation_1 = require("../hooks/useTranslation");
17
17
  /** Entry point to overflow status bar items of [[StatusBarComposer]] component.
18
18
  * @internal
19
19
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Overflow.js","sourceRoot":"","sources":["../../../../src/appui-react/statusbar/Overflow.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAGH,kDAA+D;AAC/D,2CAAoC;AACpC,+BAA+B;AAC/B,sDAAmD;AACnD,2BAAyB;AACzB,sDAAmD;AAYnD;;GAEG;AACU,QAAA,iBAAiB,GAAG,KAAK,CAAC,UAAU,CAG/C,SAAS,iBAAiB,CAAC,KAAK,EAAE,GAAG;IACrC,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,+BAAc,GAAE,CAAC;IAEvC,MAAM,KAAK,GAAG,IAAA,8BAAiB,EAAiB,KAAK,CAAC,QAAQ,CAAC,CAAC;IAChE,MAAM,IAAI,GAAG,IAAA,oBAAO,EAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACjC,MAAM,SAAS,GAAG,IAAA,oBAAU,EAAC,yBAAyB,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAEzE,OAAO;IACL,iEAAiE;IACjE,6BACE,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,GAAG,EAAE,IAAI,EACT,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,CAAC,CAAC,EACZ,KAAK,EAAE,SAAS,CAAC,oBAAoB,CAAC;QAEtC,oBAAC,mBAAQ,OAAG,CACR,CACP,CAAC;AACJ,CAAC,CAAC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module StatusBar\n */\n\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { useRefs, useResizeObserver } from \"@itwin/core-react\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { Ellipsis } from \"../layout/base/Ellipsis\";\nimport \"./Overflow.scss\";\nimport { useTranslation } from \"../useTranslation\";\n\n/** Properties of [[StatusBarOverflow]] component.\n * @internal\n */\nexport interface StatusBarOverflowProps extends CommonProps {\n /** Function called when button is clicked. */\n onClick?: () => void;\n /** Function called when button is resized. */\n onResize?: (w: number) => void;\n}\n\n/** Entry point to overflow status bar items of [[StatusBarComposer]] component.\n * @internal\n */\nexport const StatusBarOverflow = React.forwardRef<\n HTMLDivElement,\n StatusBarOverflowProps\n>(function StatusBarOverflow(props, ref) {\n const { translate } = useTranslation();\n\n const roRef = useResizeObserver<HTMLDivElement>(props.onResize);\n const refs = useRefs(roRef, ref);\n const className = classnames(\"uifw-statusbar-overflow\", props.className);\n\n return (\n // eslint-disable-next-line jsx-a11y/click-events-have-key-events\n <div\n className={className}\n onClick={props.onClick}\n ref={refs}\n style={props.style}\n role=\"button\"\n tabIndex={-1}\n title={translate(\"statusBar.overflow\")}\n >\n <Ellipsis />\n </div>\n );\n});\n"]}
1
+ {"version":3,"file":"Overflow.js","sourceRoot":"","sources":["../../../../src/appui-react/statusbar/Overflow.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAGH,kDAA+D;AAC/D,2CAAoC;AACpC,+BAA+B;AAC/B,sDAAmD;AACnD,2BAAyB;AACzB,4DAAyD;AAYzD;;GAEG;AACU,QAAA,iBAAiB,GAAG,KAAK,CAAC,UAAU,CAG/C,SAAS,iBAAiB,CAAC,KAAK,EAAE,GAAG;IACrC,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,+BAAc,GAAE,CAAC;IAEvC,MAAM,KAAK,GAAG,IAAA,8BAAiB,EAAiB,KAAK,CAAC,QAAQ,CAAC,CAAC;IAChE,MAAM,IAAI,GAAG,IAAA,oBAAO,EAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACjC,MAAM,SAAS,GAAG,IAAA,oBAAU,EAAC,yBAAyB,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAEzE,OAAO;IACL,iEAAiE;IACjE,6BACE,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,GAAG,EAAE,IAAI,EACT,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,CAAC,CAAC,EACZ,KAAK,EAAE,SAAS,CAAC,oBAAoB,CAAC;QAEtC,oBAAC,mBAAQ,OAAG,CACR,CACP,CAAC;AACJ,CAAC,CAAC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module StatusBar\n */\n\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { useRefs, useResizeObserver } from \"@itwin/core-react\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { Ellipsis } from \"../layout/base/Ellipsis\";\nimport \"./Overflow.scss\";\nimport { useTranslation } from \"../hooks/useTranslation\";\n\n/** Properties of [[StatusBarOverflow]] component.\n * @internal\n */\nexport interface StatusBarOverflowProps extends CommonProps {\n /** Function called when button is clicked. */\n onClick?: () => void;\n /** Function called when button is resized. */\n onResize?: (w: number) => void;\n}\n\n/** Entry point to overflow status bar items of [[StatusBarComposer]] component.\n * @internal\n */\nexport const StatusBarOverflow = React.forwardRef<\n HTMLDivElement,\n StatusBarOverflowProps\n>(function StatusBarOverflow(props, ref) {\n const { translate } = useTranslation();\n\n const roRef = useResizeObserver<HTMLDivElement>(props.onResize);\n const refs = useRefs(roRef, ref);\n const className = classnames(\"uifw-statusbar-overflow\", props.className);\n\n return (\n // eslint-disable-next-line jsx-a11y/click-events-have-key-events\n <div\n className={className}\n onClick={props.onClick}\n ref={refs}\n style={props.style}\n role=\"button\"\n tabIndex={-1}\n title={translate(\"statusBar.overflow\")}\n >\n <Ellipsis />\n </div>\n );\n});\n"]}
@@ -13,7 +13,7 @@ const React = require("react");
13
13
  const core_react_1 = require("@itwin/core-react");
14
14
  const MessageManager_1 = require("../messages/MessageManager");
15
15
  const itwinui_react_1 = require("@itwin/itwinui-react");
16
- const useTranslation_1 = require("../useTranslation");
16
+ const useTranslation_1 = require("../hooks/useTranslation");
17
17
  /** Activity Center Field React component.
18
18
  * @public
19
19
  */
@@ -1 +1 @@
1
- {"version":3,"file":"ActivityCenter.js","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/ActivityCenter.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,2CAAoC;AACpC,+BAA+B;AAE/B,kDAA6C;AAC7C,+DAA4D;AAE5D,wDAA4D;AAC5D,sDAAmD;AAEnD;;GAEG;AACH,SAAgB,mBAAmB,CAAC,KAAkB;IACpD,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,+BAAc,GAAE,CAAC;IACvC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAoB,EAAE,CAAC,CAAC;IACpE,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAS,CAAC,CAAC,CAAC;IAC9D,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAU,IAAI,CAAC,CAAC;IAChE,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,OAAO,+BAAc,CAAC,6BAA6B,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE;YACvE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACzB,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC/B,YAAY,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,OAAO,+BAAc,CAAC,+BAA+B,CAAC,WAAW,CAAC,GAAG,EAAE;YACrE,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,mBAAmB,GAAG,GAAG,EAAE;QAC/B,+BAAc,CAAC,0BAA0B,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;IACvE,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,UAAU,GAAG,CAAC,IAAI,UAAU,GAAG,GAAG,CAAC;IAC7D,IAAI,CAAC,SAAS,IAAI,CAAC,iBAAiB;QAAE,OAAO,IAAI,CAAC;IAElD,MAAM,WAAW,GAAG,SAAS,CAAC,4BAA4B,CAAC,CAAC;IAC5D,gEAAgE;IAChE,MAAM,OAAO,GAAG,GAAG,OAAO,IAAI,WAAW,EAAE,CAAC;IAE5C,OAAO,CACL,oBAAC,qBAAQ,IACP,SAAS,EAAE,IAAA,oBAAU,EAAC,uBAAuB,EAAE,KAAK,CAAC,SAAS,CAAC,EAC/D,KAAK,EAAE;YACL,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,GAAG;YACb,OAAO,EAAE,OAAO;YAChB,UAAU,EAAE,KAAK;YACjB,GAAG,KAAK,CAAC,KAAK;SACf,EACD,OAAO,EAAE,mBAAmB,EAC5B,KAAK,EAAE,OAAO;QAEd,oBAAC,8BAAc,IACb,KAAK,EAAE;gBACL,IAAI,EAAE,GAAG;aACV,EACD,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE;gBACN,oBAAC,oBAAI,IAAC,OAAO,EAAC,OAAO,EAAC,GAAG,EAAE,CAAC;oBACzB,UAAU;;oBAAG,SAAS,CAAC,gCAAgC,CAAC,CACpD;aACR,GACD,CACO,CACZ,CAAC;AACJ,CAAC;AAxDD,kDAwDC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Notification\n */\n\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { Centered } from \"@itwin/core-react\";\nimport { MessageManager } from \"../messages/MessageManager\";\nimport type { NotifyMessageType } from \"../messages/ReactNotifyMessageDetails\";\nimport { ProgressLinear, Text } from \"@itwin/itwinui-react\";\nimport { useTranslation } from \"../useTranslation\";\n\n/** Activity Center Field React component.\n * @public\n */\nexport function ActivityCenterField(props: CommonProps) {\n const { translate } = useTranslation();\n const [message, setMessage] = React.useState<NotifyMessageType>(\"\");\n const [percentage, setPercentage] = React.useState<number>(0);\n const [isVisible, setIsVisible] = React.useState<boolean>(true);\n React.useEffect(() => {\n return MessageManager.onActivityMessageUpdatedEvent.addListener((args) => {\n setMessage(args.message);\n setPercentage(args.percentage);\n setIsVisible(true);\n });\n }, []);\n\n React.useEffect(() => {\n return MessageManager.onActivityMessageCancelledEvent.addListener(() => {\n setIsVisible(false);\n });\n }, []);\n\n const openActivityMessage = () => {\n MessageManager.setupActivityMessageValues(message, percentage, true);\n };\n\n const isPercentageValid = percentage > 0 && percentage < 100;\n if (!isVisible || !isPercentageValid) return null;\n\n const moreDetails = translate(\"activityCenter.moreDetails\");\n // eslint-disable-next-line @typescript-eslint/no-base-to-string\n const tooltip = `${message}-${moreDetails}`;\n\n return (\n <Centered\n className={classnames(\"open-activity-message\", props.className)}\n style={{\n height: \"100%\",\n minWidth: 120,\n padding: \"0 8px\",\n alignItems: \"end\",\n ...props.style,\n }}\n onClick={openActivityMessage}\n title={tooltip}\n >\n <ProgressLinear\n style={{\n flex: \"1\",\n }}\n value={percentage}\n labels={[\n <Text variant=\"small\" key={0}>\n {percentage} {translate(\"activityCenter.percentComplete\")}\n </Text>,\n ]}\n />\n </Centered>\n );\n}\n"]}
1
+ {"version":3,"file":"ActivityCenter.js","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/ActivityCenter.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,2CAAoC;AACpC,+BAA+B;AAE/B,kDAA6C;AAC7C,+DAA4D;AAE5D,wDAA4D;AAC5D,4DAAyD;AAEzD;;GAEG;AACH,SAAgB,mBAAmB,CAAC,KAAkB;IACpD,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,+BAAc,GAAE,CAAC;IACvC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAoB,EAAE,CAAC,CAAC;IACpE,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAS,CAAC,CAAC,CAAC;IAC9D,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAU,IAAI,CAAC,CAAC;IAChE,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,OAAO,+BAAc,CAAC,6BAA6B,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE;YACvE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACzB,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC/B,YAAY,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,OAAO,+BAAc,CAAC,+BAA+B,CAAC,WAAW,CAAC,GAAG,EAAE;YACrE,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,mBAAmB,GAAG,GAAG,EAAE;QAC/B,+BAAc,CAAC,0BAA0B,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;IACvE,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,UAAU,GAAG,CAAC,IAAI,UAAU,GAAG,GAAG,CAAC;IAC7D,IAAI,CAAC,SAAS,IAAI,CAAC,iBAAiB;QAAE,OAAO,IAAI,CAAC;IAElD,MAAM,WAAW,GAAG,SAAS,CAAC,4BAA4B,CAAC,CAAC;IAC5D,gEAAgE;IAChE,MAAM,OAAO,GAAG,GAAG,OAAO,IAAI,WAAW,EAAE,CAAC;IAE5C,OAAO,CACL,oBAAC,qBAAQ,IACP,SAAS,EAAE,IAAA,oBAAU,EAAC,uBAAuB,EAAE,KAAK,CAAC,SAAS,CAAC,EAC/D,KAAK,EAAE;YACL,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,GAAG;YACb,OAAO,EAAE,OAAO;YAChB,UAAU,EAAE,KAAK;YACjB,GAAG,KAAK,CAAC,KAAK;SACf,EACD,OAAO,EAAE,mBAAmB,EAC5B,KAAK,EAAE,OAAO;QAEd,oBAAC,8BAAc,IACb,KAAK,EAAE;gBACL,IAAI,EAAE,GAAG;aACV,EACD,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE;gBACN,oBAAC,oBAAI,IAAC,OAAO,EAAC,OAAO,EAAC,GAAG,EAAE,CAAC;oBACzB,UAAU;;oBAAG,SAAS,CAAC,gCAAgC,CAAC,CACpD;aACR,GACD,CACO,CACZ,CAAC;AACJ,CAAC;AAxDD,kDAwDC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Notification\n */\n\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { Centered } from \"@itwin/core-react\";\nimport { MessageManager } from \"../messages/MessageManager\";\nimport type { NotifyMessageType } from \"../messages/ReactNotifyMessageDetails\";\nimport { ProgressLinear, Text } from \"@itwin/itwinui-react\";\nimport { useTranslation } from \"../hooks/useTranslation\";\n\n/** Activity Center Field React component.\n * @public\n */\nexport function ActivityCenterField(props: CommonProps) {\n const { translate } = useTranslation();\n const [message, setMessage] = React.useState<NotifyMessageType>(\"\");\n const [percentage, setPercentage] = React.useState<number>(0);\n const [isVisible, setIsVisible] = React.useState<boolean>(true);\n React.useEffect(() => {\n return MessageManager.onActivityMessageUpdatedEvent.addListener((args) => {\n setMessage(args.message);\n setPercentage(args.percentage);\n setIsVisible(true);\n });\n }, []);\n\n React.useEffect(() => {\n return MessageManager.onActivityMessageCancelledEvent.addListener(() => {\n setIsVisible(false);\n });\n }, []);\n\n const openActivityMessage = () => {\n MessageManager.setupActivityMessageValues(message, percentage, true);\n };\n\n const isPercentageValid = percentage > 0 && percentage < 100;\n if (!isVisible || !isPercentageValid) return null;\n\n const moreDetails = translate(\"activityCenter.moreDetails\");\n // eslint-disable-next-line @typescript-eslint/no-base-to-string\n const tooltip = `${message}-${moreDetails}`;\n\n return (\n <Centered\n className={classnames(\"open-activity-message\", props.className)}\n style={{\n height: \"100%\",\n minWidth: 120,\n padding: \"0 8px\",\n alignItems: \"end\",\n ...props.style,\n }}\n onClick={openActivityMessage}\n title={tooltip}\n >\n <ProgressLinear\n style={{\n flex: \"1\",\n }}\n value={percentage}\n labels={[\n <Text variant=\"small\" key={0}>\n {percentage} {translate(\"activityCenter.percentComplete\")}\n </Text>,\n ]}\n />\n </Centered>\n );\n}\n"]}
@@ -18,7 +18,7 @@ const LabelIndicator_1 = require("../statusbar/LabelIndicator");
18
18
  const StatusBar_1 = require("../statusbar/StatusBar");
19
19
  const Dialog_1 = require("../statusbar/dialog/Dialog");
20
20
  require("./SectionsField.scss");
21
- const useTranslation_1 = require("../useTranslation");
21
+ const useTranslation_1 = require("../hooks/useTranslation");
22
22
  /** Status Field for showing section extra tools for clearing and showing manipulators
23
23
  * @beta
24
24
  */
@@ -1 +1 @@
1
- {"version":3,"file":"SectionsField.js","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/SectionsField.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module StatusBar\n */\n\nimport svgSectionTool from \"@bentley/icons-generic/icons/section-tool.svg\";\nimport type { ClipEventType, Viewport } from \"@itwin/core-frontend\";\nimport {\n IModelApp,\n ViewClipClearTool,\n ViewClipDecoration,\n ViewClipDecorationProvider,\n} from \"@itwin/core-frontend\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { Button, ToggleSwitch } from \"@itwin/itwinui-react\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { useActiveViewport } from \"../hooks/useActiveViewport\";\nimport { StatusBarLabelIndicator } from \"../statusbar/LabelIndicator\";\nimport { StatusBar } from \"../statusbar/StatusBar\";\nimport { StatusBarDialog } from \"../statusbar/dialog/Dialog\";\nimport \"./SectionsField.scss\";\nimport { useTranslation } from \"../useTranslation\";\n\n/** Sections Status Field Props\n * @beta\n */\nexport interface SectionsStatusFieldProps extends CommonProps {\n hideWhenUnused?: boolean;\n}\n\n/** Status Field for showing section extra tools for clearing and showing manipulators\n * @beta\n */\nexport function SectionsStatusField(props: SectionsStatusFieldProps) {\n const { translate } = useTranslation();\n const tooltip = translate(\"tools.sectionTools\");\n\n const activeViewport = useActiveViewport();\n const [showIndicator, setShowIndicator] = React.useState(false);\n const [isPopupOpen, setPopupOpen] = React.useState(false);\n const targetDiv = React.useRef<HTMLDivElement>(null);\n const classes = showIndicator ? \"uifw-field-fade-in\" : \"uifw-field-fade-out\";\n const [hasManipulatorsShown, setHasManipulatorsShown] = React.useState(false);\n\n React.useEffect(() => {\n // istanbul ignore next\n const onClipChanged = (\n viewport: Viewport,\n _eventType: ClipEventType,\n _provider: ViewClipDecorationProvider\n ) => {\n if (viewport !== activeViewport) return;\n\n setHasManipulatorsShown(!!ViewClipDecoration.get(activeViewport));\n const isClipActive = !!activeViewport.view.getViewClip();\n setShowIndicator(isClipActive || !props.hideWhenUnused);\n };\n\n const clipActive =\n !!activeViewport &&\n /* istanbul ignore next */ !!activeViewport.view.getViewClip();\n setShowIndicator(clipActive || !props.hideWhenUnused);\n setHasManipulatorsShown(\n clipActive &&\n /* istanbul ignore next */ !!activeViewport &&\n /* istanbul ignore next */ !!ViewClipDecoration.get(activeViewport)\n );\n\n ViewClipDecorationProvider.create().onActiveClipChanged.addListener(\n onClipChanged\n );\n return () => {\n // Get or create static ViewClipDecorationProvider\n ViewClipDecorationProvider.create().onActiveClipChanged.removeListener(\n onClipChanged\n );\n };\n }, [activeViewport, props.hideWhenUnused, isPopupOpen]);\n\n // istanbul ignore next\n const toggleManipulators = async (e: React.ChangeEvent<HTMLInputElement>) => {\n if (activeViewport) {\n setHasManipulatorsShown(e.target.checked);\n await ViewClipDecorationProvider.create().toggleDecoration(\n activeViewport\n );\n }\n };\n\n // istanbul ignore next\n const handleClear = async () => {\n await IModelApp.tools.run(\n ViewClipClearTool.toolId,\n ViewClipDecorationProvider.create()\n );\n setPopupOpen(false);\n };\n\n return (\n <div className=\"uifw-section-footer-popup-container\">\n {showIndicator && (\n <>\n <div ref={targetDiv} title={tooltip}>\n <StatusBarLabelIndicator\n className={classes}\n iconSpec={svgSectionTool}\n onClick={() => setPopupOpen(!isPopupOpen)}\n />\n </div>\n <StatusBar.Popup\n target={targetDiv.current}\n onClose={() => setPopupOpen(false)}\n isOpen={isPopupOpen}\n >\n <StatusBarDialog\n titleBar={<StatusBarDialog.TitleBar title={tooltip} />}\n >\n <div className=\"uifw-sections-footer-contents\">\n <Button onClick={handleClear}>\n {translate(\"tools.sectionClear\")}\n </Button>\n <div className=\"uifw-uifw-sections-toggle-container\">\n <div className={classnames(\"uifw-sections-label\")}>\n {translate(\"tools.sectionShowHandles\")}\n </div>\n <ToggleSwitch\n className=\"uifw-sections-toggle\"\n onChange={toggleManipulators}\n checked={hasManipulatorsShown}\n />\n </div>\n </div>\n </StatusBarDialog>\n </StatusBar.Popup>\n </>\n )}\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"SectionsField.js","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/SectionsField.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module StatusBar\n */\n\nimport svgSectionTool from \"@bentley/icons-generic/icons/section-tool.svg\";\nimport type { ClipEventType, Viewport } from \"@itwin/core-frontend\";\nimport {\n IModelApp,\n ViewClipClearTool,\n ViewClipDecoration,\n ViewClipDecorationProvider,\n} from \"@itwin/core-frontend\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { Button, ToggleSwitch } from \"@itwin/itwinui-react\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { useActiveViewport } from \"../hooks/useActiveViewport\";\nimport { StatusBarLabelIndicator } from \"../statusbar/LabelIndicator\";\nimport { StatusBar } from \"../statusbar/StatusBar\";\nimport { StatusBarDialog } from \"../statusbar/dialog/Dialog\";\nimport \"./SectionsField.scss\";\nimport { useTranslation } from \"../hooks/useTranslation\";\n\n/** Sections Status Field Props\n * @beta\n */\nexport interface SectionsStatusFieldProps extends CommonProps {\n hideWhenUnused?: boolean;\n}\n\n/** Status Field for showing section extra tools for clearing and showing manipulators\n * @beta\n */\nexport function SectionsStatusField(props: SectionsStatusFieldProps) {\n const { translate } = useTranslation();\n const tooltip = translate(\"tools.sectionTools\");\n\n const activeViewport = useActiveViewport();\n const [showIndicator, setShowIndicator] = React.useState(false);\n const [isPopupOpen, setPopupOpen] = React.useState(false);\n const targetDiv = React.useRef<HTMLDivElement>(null);\n const classes = showIndicator ? \"uifw-field-fade-in\" : \"uifw-field-fade-out\";\n const [hasManipulatorsShown, setHasManipulatorsShown] = React.useState(false);\n\n React.useEffect(() => {\n // istanbul ignore next\n const onClipChanged = (\n viewport: Viewport,\n _eventType: ClipEventType,\n _provider: ViewClipDecorationProvider\n ) => {\n if (viewport !== activeViewport) return;\n\n setHasManipulatorsShown(!!ViewClipDecoration.get(activeViewport));\n const isClipActive = !!activeViewport.view.getViewClip();\n setShowIndicator(isClipActive || !props.hideWhenUnused);\n };\n\n const clipActive =\n !!activeViewport &&\n /* istanbul ignore next */ !!activeViewport.view.getViewClip();\n setShowIndicator(clipActive || !props.hideWhenUnused);\n setHasManipulatorsShown(\n clipActive &&\n /* istanbul ignore next */ !!activeViewport &&\n /* istanbul ignore next */ !!ViewClipDecoration.get(activeViewport)\n );\n\n ViewClipDecorationProvider.create().onActiveClipChanged.addListener(\n onClipChanged\n );\n return () => {\n // Get or create static ViewClipDecorationProvider\n ViewClipDecorationProvider.create().onActiveClipChanged.removeListener(\n onClipChanged\n );\n };\n }, [activeViewport, props.hideWhenUnused, isPopupOpen]);\n\n // istanbul ignore next\n const toggleManipulators = async (e: React.ChangeEvent<HTMLInputElement>) => {\n if (activeViewport) {\n setHasManipulatorsShown(e.target.checked);\n await ViewClipDecorationProvider.create().toggleDecoration(\n activeViewport\n );\n }\n };\n\n // istanbul ignore next\n const handleClear = async () => {\n await IModelApp.tools.run(\n ViewClipClearTool.toolId,\n ViewClipDecorationProvider.create()\n );\n setPopupOpen(false);\n };\n\n return (\n <div className=\"uifw-section-footer-popup-container\">\n {showIndicator && (\n <>\n <div ref={targetDiv} title={tooltip}>\n <StatusBarLabelIndicator\n className={classes}\n iconSpec={svgSectionTool}\n onClick={() => setPopupOpen(!isPopupOpen)}\n />\n </div>\n <StatusBar.Popup\n target={targetDiv.current}\n onClose={() => setPopupOpen(false)}\n isOpen={isPopupOpen}\n >\n <StatusBarDialog\n titleBar={<StatusBarDialog.TitleBar title={tooltip} />}\n >\n <div className=\"uifw-sections-footer-contents\">\n <Button onClick={handleClear}>\n {translate(\"tools.sectionClear\")}\n </Button>\n <div className=\"uifw-uifw-sections-toggle-container\">\n <div className={classnames(\"uifw-sections-label\")}>\n {translate(\"tools.sectionShowHandles\")}\n </div>\n <ToggleSwitch\n className=\"uifw-sections-toggle\"\n onChange={toggleManipulators}\n checked={hasManipulatorsShown}\n />\n </div>\n </div>\n </StatusBarDialog>\n </StatusBar.Popup>\n </>\n )}\n </div>\n );\n}\n"]}
@@ -15,7 +15,7 @@ const react_redux_1 = require("react-redux");
15
15
  const UiFramework_1 = require("../UiFramework");
16
16
  const Indicator_1 = require("../layout/footer/Indicator");
17
17
  require("./SelectionScope.scss");
18
- const useTranslation_1 = require("../useTranslation");
18
+ const useTranslation_1 = require("../hooks/useTranslation");
19
19
  /**
20
20
  * Status Field React component. This component is designed to be specified in a status bar definition.
21
21
  */
@@ -1 +1 @@
1
- {"version":3,"file":"SelectionScope.js","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/SelectionScope.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAGH,wDAA8C;AAC9C,2CAAoC;AACpC,+BAA+B;AAE/B,6CAAsC;AACtC,gDAA6C;AAC7C,0DAA6D;AAE7D,iCAA+B;AAC/B,sDAAmD;AAUnD;;GAEG;AACH,SAAS,4BAA4B,CAAC,KAA+B;IACnE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,+BAAc,GAAE,CAAC;IAEvC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAC3B,GAAG,EAAE,CACH,KAAK,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAC3C,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;IACjD,CAAC,CAAC,EACJ,CAAC,KAAK,CAAC,wBAAwB,CAAC,CACjC,CAAC;IAEF,MAAM,iBAAiB,GAAG,CAAC,QAAgB,EAAE,EAAE;QAC7C,uBAAuB;QACvB,IAAI,QAAQ,EAAE;YACZ,yBAAW,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;SAC/C;IACH,CAAC,CAAC;IAEF,OAAO,CACL,oBAAC,2BAAe,IACd,SAAS,EAAE,IAAA,oBAAU,EACnB,kCAAkC,EAClC,KAAK,CAAC,SAAS,CAChB,EACD,KAAK,EAAE,KAAK,CAAC,KAAK;QAElB,+BAAO,SAAS,EAAC,wCAAwC;YACtD,SAAS,CAAC,2BAA2B,CAAC;gBACjC;QACR,oBAAC,sBAAM,IACL,SAAS,EAAC,2CAA2C,EACrD,KAAK,EAAE,KAAK,CAAC,oBAAoB,EACjC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,iBAAiB,iBACf,oCAAoC,EAChD,KAAK,EAAE,SAAS,CAAC,6BAA6B,CAAC,EAC/C,IAAI,EAAC,OAAO,GACZ,CACc,CACnB,CAAC;AACJ,CAAC;AAED,+GAA+G;AAC/G,SAAS,eAAe,CAAC,KAAU;IACjC,MAAM,cAAc,GAAG,KAAK,CAAC,yBAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC,8CAA8C;IAC3G,0BAA0B;IAC1B,IAAI,CAAC,cAAc;QAAE,OAAO,SAAS,CAAC;IAEtC,OAAO;QACL,oBAAoB,EAAE,cAAc,CAAC,YAAY,CAAC,oBAAoB;QACtE,wBAAwB,EACtB,cAAc,CAAC,YAAY,CAAC,wBAAwB;KACvD,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACU,QAAA,mBAAmB,GAG5B,IAAA,qBAAO,EAAC,eAAe,CAAC,CAAC,4BAA4B,CAAC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module StatusBar\n */\n\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { Select } from \"@itwin/itwinui-react\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { ConnectedComponent } from \"react-redux\";\nimport { connect } from \"react-redux\";\nimport { UiFramework } from \"../UiFramework\";\nimport { FooterIndicator } from \"../layout/footer/Indicator\";\nimport type { PresentationSelectionScope } from \"../redux/SessionState\";\nimport \"./SelectionScope.scss\";\nimport { useTranslation } from \"../useTranslation\";\n\n/** Defines properties supported by the SelectionScopeField Component.\n * @public\n */\ninterface SelectionScopeFieldProps extends CommonProps {\n activeSelectionScope: string;\n availableSelectionScopes: PresentationSelectionScope[];\n}\n\n/**\n * Status Field React component. This component is designed to be specified in a status bar definition.\n */\nfunction SelectionScopeFieldComponent(props: SelectionScopeFieldProps) {\n const { translate } = useTranslation();\n\n const options = React.useMemo(\n () =>\n props.availableSelectionScopes.map((scope) => {\n return { value: scope.id, label: scope.label };\n }),\n [props.availableSelectionScopes]\n );\n\n const updateSelectValue = (newValue: string) => {\n // istanbul ignore else\n if (newValue) {\n UiFramework.setActiveSelectionScope(newValue);\n }\n };\n\n return (\n <FooterIndicator\n className={classnames(\n \"uifw-statusFields-selectionScope\",\n props.className\n )}\n style={props.style}\n >\n <label className=\"uifw-statusFields-selectionScope-label\">\n {translate(\"selectionScopeField.label\")}:\n </label>\n <Select\n className=\"uifw-statusFields-selectionScope-selector\"\n value={props.activeSelectionScope}\n options={options}\n onChange={updateSelectValue}\n data-testid=\"components-selectionScope-selector\"\n title={translate(\"selectionScopeField.toolTip\")}\n size=\"small\"\n />\n </FooterIndicator>\n );\n}\n\n/** Function used by Redux to map state data in Redux store to props that are used to render this component. */\nfunction mapStateToProps(state: any) {\n const frameworkState = state[UiFramework.frameworkStateKey]; // since app sets up key, don't hard-code name\n /* istanbul ignore next */\n if (!frameworkState) return undefined;\n\n return {\n activeSelectionScope: frameworkState.sessionState.activeSelectionScope,\n availableSelectionScopes:\n frameworkState.sessionState.availableSelectionScopes,\n };\n}\n\n/**\n * SelectionScopeField React component. This component is designed to be specified in a status bar definition. It will\n * display the active selection scope from `UiFramework.getActiveSelectionScope()`, and display the stored list of scopes from\n * `UiFramework.getAvailableSelectionScopes()` to allow the user to change the active selection scope, using `UiFramework.setActiveSelectionScope()`.\n * This React component is Redux connected.\n * @public\n */\nexport const SelectionScopeField: ConnectedComponent<\n typeof SelectionScopeFieldComponent,\n CommonProps\n> = connect(mapStateToProps)(SelectionScopeFieldComponent);\n"]}
1
+ {"version":3,"file":"SelectionScope.js","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/SelectionScope.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAGH,wDAA8C;AAC9C,2CAAoC;AACpC,+BAA+B;AAE/B,6CAAsC;AACtC,gDAA6C;AAC7C,0DAA6D;AAE7D,iCAA+B;AAC/B,4DAAyD;AAUzD;;GAEG;AACH,SAAS,4BAA4B,CAAC,KAA+B;IACnE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,+BAAc,GAAE,CAAC;IAEvC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAC3B,GAAG,EAAE,CACH,KAAK,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAC3C,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;IACjD,CAAC,CAAC,EACJ,CAAC,KAAK,CAAC,wBAAwB,CAAC,CACjC,CAAC;IAEF,MAAM,iBAAiB,GAAG,CAAC,QAAgB,EAAE,EAAE;QAC7C,uBAAuB;QACvB,IAAI,QAAQ,EAAE;YACZ,yBAAW,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;SAC/C;IACH,CAAC,CAAC;IAEF,OAAO,CACL,oBAAC,2BAAe,IACd,SAAS,EAAE,IAAA,oBAAU,EACnB,kCAAkC,EAClC,KAAK,CAAC,SAAS,CAChB,EACD,KAAK,EAAE,KAAK,CAAC,KAAK;QAElB,+BAAO,SAAS,EAAC,wCAAwC;YACtD,SAAS,CAAC,2BAA2B,CAAC;gBACjC;QACR,oBAAC,sBAAM,IACL,SAAS,EAAC,2CAA2C,EACrD,KAAK,EAAE,KAAK,CAAC,oBAAoB,EACjC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,iBAAiB,iBACf,oCAAoC,EAChD,KAAK,EAAE,SAAS,CAAC,6BAA6B,CAAC,EAC/C,IAAI,EAAC,OAAO,GACZ,CACc,CACnB,CAAC;AACJ,CAAC;AAED,+GAA+G;AAC/G,SAAS,eAAe,CAAC,KAAU;IACjC,MAAM,cAAc,GAAG,KAAK,CAAC,yBAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC,8CAA8C;IAC3G,0BAA0B;IAC1B,IAAI,CAAC,cAAc;QAAE,OAAO,SAAS,CAAC;IAEtC,OAAO;QACL,oBAAoB,EAAE,cAAc,CAAC,YAAY,CAAC,oBAAoB;QACtE,wBAAwB,EACtB,cAAc,CAAC,YAAY,CAAC,wBAAwB;KACvD,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACU,QAAA,mBAAmB,GAG5B,IAAA,qBAAO,EAAC,eAAe,CAAC,CAAC,4BAA4B,CAAC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module StatusBar\n */\n\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { Select } from \"@itwin/itwinui-react\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { ConnectedComponent } from \"react-redux\";\nimport { connect } from \"react-redux\";\nimport { UiFramework } from \"../UiFramework\";\nimport { FooterIndicator } from \"../layout/footer/Indicator\";\nimport type { PresentationSelectionScope } from \"../redux/SessionState\";\nimport \"./SelectionScope.scss\";\nimport { useTranslation } from \"../hooks/useTranslation\";\n\n/** Defines properties supported by the SelectionScopeField Component.\n * @public\n */\ninterface SelectionScopeFieldProps extends CommonProps {\n activeSelectionScope: string;\n availableSelectionScopes: PresentationSelectionScope[];\n}\n\n/**\n * Status Field React component. This component is designed to be specified in a status bar definition.\n */\nfunction SelectionScopeFieldComponent(props: SelectionScopeFieldProps) {\n const { translate } = useTranslation();\n\n const options = React.useMemo(\n () =>\n props.availableSelectionScopes.map((scope) => {\n return { value: scope.id, label: scope.label };\n }),\n [props.availableSelectionScopes]\n );\n\n const updateSelectValue = (newValue: string) => {\n // istanbul ignore else\n if (newValue) {\n UiFramework.setActiveSelectionScope(newValue);\n }\n };\n\n return (\n <FooterIndicator\n className={classnames(\n \"uifw-statusFields-selectionScope\",\n props.className\n )}\n style={props.style}\n >\n <label className=\"uifw-statusFields-selectionScope-label\">\n {translate(\"selectionScopeField.label\")}:\n </label>\n <Select\n className=\"uifw-statusFields-selectionScope-selector\"\n value={props.activeSelectionScope}\n options={options}\n onChange={updateSelectValue}\n data-testid=\"components-selectionScope-selector\"\n title={translate(\"selectionScopeField.toolTip\")}\n size=\"small\"\n />\n </FooterIndicator>\n );\n}\n\n/** Function used by Redux to map state data in Redux store to props that are used to render this component. */\nfunction mapStateToProps(state: any) {\n const frameworkState = state[UiFramework.frameworkStateKey]; // since app sets up key, don't hard-code name\n /* istanbul ignore next */\n if (!frameworkState) return undefined;\n\n return {\n activeSelectionScope: frameworkState.sessionState.activeSelectionScope,\n availableSelectionScopes:\n frameworkState.sessionState.availableSelectionScopes,\n };\n}\n\n/**\n * SelectionScopeField React component. This component is designed to be specified in a status bar definition. It will\n * display the active selection scope from `UiFramework.getActiveSelectionScope()`, and display the stored list of scopes from\n * `UiFramework.getAvailableSelectionScopes()` to allow the user to change the active selection scope, using `UiFramework.setActiveSelectionScope()`.\n * This React component is Redux connected.\n * @public\n */\nexport const SelectionScopeField: ConnectedComponent<\n typeof SelectionScopeFieldComponent,\n CommonProps\n> = connect(mapStateToProps)(SelectionScopeFieldComponent);\n"]}
@@ -23,7 +23,7 @@ const UiFramework_1 = require("../UiFramework");
23
23
  const Panel_1 = require("../layout/footer/snap-mode/Panel");
24
24
  const Snap_1 = require("../layout/footer/snap-mode/Snap");
25
25
  const LabelIndicator_1 = require("../statusbar/LabelIndicator");
26
- const useTranslation_1 = require("../useTranslation");
26
+ const useTranslation_1 = require("../hooks/useTranslation");
27
27
  function getIconFromIconName(iconName) {
28
28
  let iconSpec = snaps_svg_1.default;
29
29
  switch (iconName) {
@@ -1 +1 @@
1
- {"version":3,"file":"SnapMode.js","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/SnapMode.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module StatusBar\n */\n\nimport snapModeBisector from \"@bentley/icons-generic/icons/snaps-bisector.svg\";\nimport snapModeCenter from \"@bentley/icons-generic/icons/snaps-center.svg\";\nimport snapModeIntersection from \"@bentley/icons-generic/icons/snaps-intersection.svg\";\nimport snapModeMidpoint from \"@bentley/icons-generic/icons/snaps-midpoint.svg\";\nimport snapModeNearest from \"@bentley/icons-generic/icons/snaps-nearest.svg\";\nimport snapModeOrigin from \"@bentley/icons-generic/icons/snaps-origin.svg\";\nimport snapModeKeypoint from \"@bentley/icons-generic/icons/snaps.svg\";\nimport { SnapMode } from \"@itwin/core-frontend\";\nimport type { CommonProps, IconSpec } from \"@itwin/core-react\";\nimport { Icon } from \"@itwin/core-react\";\nimport * as React from \"react\";\nimport { connect } from \"react-redux\";\nimport { UiFramework } from \"../UiFramework\";\nimport { SnapModePanel } from \"../layout/footer/snap-mode/Panel\";\nimport { Snap } from \"../layout/footer/snap-mode/Snap\";\nimport { StatusBarLabelIndicator } from \"../statusbar/LabelIndicator\";\nimport { useTranslation } from \"../useTranslation\";\n\n// cSpell:ignore multione\n\n/** Defines properties supported by the SnapMode Field Component.\n */\ninterface SnapModeFieldProps extends CommonProps {\n snapMode: number;\n}\n\n/** Define the properties that will be used to represent the available snap modes. */\ninterface SnapModeFieldEntry {\n label: string;\n value: number;\n iconName: string;\n}\n\nfunction getIconFromIconName(iconName: string): IconSpec {\n let iconSpec = snapModeKeypoint;\n switch (iconName) {\n case \"snaps\":\n iconSpec = snapModeKeypoint;\n break;\n case \"snaps-intersection\":\n iconSpec = snapModeIntersection;\n break;\n case \"snaps-center\":\n iconSpec = snapModeCenter;\n break;\n case \"snaps-nearest\":\n iconSpec = snapModeNearest;\n break;\n case \"snaps-origin\":\n iconSpec = snapModeOrigin;\n break;\n case \"snaps-midpoint\":\n iconSpec = snapModeMidpoint;\n break;\n case \"snaps-bisector\":\n iconSpec = snapModeBisector;\n break;\n }\n return iconSpec;\n}\n\n/**\n * Snap Mode Field React component. This component is designed to be specified in a status bar definition. It will\n * display the active snap mode that AccuSnap will use and allow the user to select a new snap mode.\n */\nfunction SnapModeFieldComponent(props: SnapModeFieldProps) {\n const { translate } = useTranslation();\n\n const snapModes: SnapModeFieldEntry[] = [\n {\n label: translate(\"snapModeField.keypoint\"),\n value: SnapMode.NearestKeypoint as number,\n iconName: \"snaps\",\n },\n {\n label: translate(\"snapModeField.intersection\"),\n value: SnapMode.Intersection as number,\n iconName: \"snaps-intersection\",\n },\n {\n label: translate(\"snapModeField.center\"),\n value: SnapMode.Center as number,\n iconName: \"snaps-center\",\n },\n {\n label: translate(\"snapModeField.nearest\"),\n value: SnapMode.Nearest as number,\n iconName: \"snaps-nearest\",\n },\n {\n label: translate(\"snapModeField.origin\"),\n value: SnapMode.Origin as number,\n iconName: \"snaps-origin\",\n },\n {\n label: translate(\"snapModeField.midpoint\"),\n value: SnapMode.MidPoint as number,\n iconName: \"snaps-midpoint\",\n },\n {\n label: translate(\"snapModeField.bisector\"),\n value: SnapMode.Bisector as number,\n iconName: \"snaps-bisector\",\n },\n ];\n\n /** Return icon class name for a specific snapMode. */\n const getSnapModeIconNameFromMode = (snapMode: number) => {\n for (const mode of snapModes) {\n if (mode.value === snapMode) return mode.iconName;\n }\n\n /* istanbul ignore else */\n if (snapMode > 0) return \"snaps-multione\";\n\n /* istanbul ignore next */\n return \"placeholder\";\n };\n\n const title = translate(\"snapModeField.snapMode\");\n return (\n <StatusBarLabelIndicator\n iconSpec={getIconFromIconName(\n getSnapModeIconNameFromMode(props.snapMode)\n )}\n title={title}\n label={title}\n popup={\n <SnapModePanel title={title}>\n {snapModes.map((item, index) => (\n <Snap\n key={`SM_${index}`}\n onClick={() => UiFramework.setAccudrawSnapMode(item.value)}\n isActive={(props.snapMode & item.value) === item.value}\n icon={\n <Icon\n className={`icon`}\n iconSpec={getIconFromIconName(item.iconName)}\n />\n }\n >\n {item.label}\n </Snap>\n ))}\n </SnapModePanel>\n }\n />\n );\n}\n\n/** Function used by Redux to map state data in Redux store to props that are used to render this component. */\nfunction mapStateToProps(state: any) {\n const frameworkState = state[UiFramework.frameworkStateKey]; // since app sets up key, don't hard-code name\n /* istanbul ignore next */\n if (!frameworkState) return undefined;\n\n return { snapMode: frameworkState.configurableUiState.snapMode };\n}\n\n// we declare the variable and export that rather than using export default.\n/**\n * Snap Mode Field React component. This component is designed to be specified in a status bar definition. It will\n * display the active snap mode that AccuSnap will use and allow the user to select a new snap mode.\n * This Field React component is Redux connected.\n * @public\n */\nexport const SnapModeField = connect(mapStateToProps)(SnapModeFieldComponent);\n"]}
1
+ {"version":3,"file":"SnapMode.js","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/SnapMode.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,wFAA+E;AAC/E,oFAA2E;AAC3E,gGAAuF;AACvF,wFAA+E;AAC/E,sFAA6E;AAC7E,oFAA2E;AAC3E,sEAAsE;AACtE,wDAAgD;AAEhD,kDAAyC;AACzC,+BAA+B;AAC/B,6CAAsC;AACtC,gDAA6C;AAC7C,4DAAiE;AACjE,0DAAuD;AACvD,gEAAsE;AACtE,4DAAyD;AAiBzD,SAAS,mBAAmB,CAAC,QAAgB;IAC3C,IAAI,QAAQ,GAAG,mBAAgB,CAAC;IAChC,QAAQ,QAAQ,EAAE;QAChB,KAAK,OAAO;YACV,QAAQ,GAAG,mBAAgB,CAAC;YAC5B,MAAM;QACR,KAAK,oBAAoB;YACvB,QAAQ,GAAG,gCAAoB,CAAC;YAChC,MAAM;QACR,KAAK,cAAc;YACjB,QAAQ,GAAG,0BAAc,CAAC;YAC1B,MAAM;QACR,KAAK,eAAe;YAClB,QAAQ,GAAG,2BAAe,CAAC;YAC3B,MAAM;QACR,KAAK,cAAc;YACjB,QAAQ,GAAG,0BAAc,CAAC;YAC1B,MAAM;QACR,KAAK,gBAAgB;YACnB,QAAQ,GAAG,4BAAgB,CAAC;YAC5B,MAAM;QACR,KAAK,gBAAgB;YACnB,QAAQ,GAAG,4BAAgB,CAAC;YAC5B,MAAM;KACT;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;GAGG;AACH,SAAS,sBAAsB,CAAC,KAAyB;IACvD,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,+BAAc,GAAE,CAAC;IAEvC,MAAM,SAAS,GAAyB;QACtC;YACE,KAAK,EAAE,SAAS,CAAC,wBAAwB,CAAC;YAC1C,KAAK,EAAE,wBAAQ,CAAC,eAAyB;YACzC,QAAQ,EAAE,OAAO;SAClB;QACD;YACE,KAAK,EAAE,SAAS,CAAC,4BAA4B,CAAC;YAC9C,KAAK,EAAE,wBAAQ,CAAC,YAAsB;YACtC,QAAQ,EAAE,oBAAoB;SAC/B;QACD;YACE,KAAK,EAAE,SAAS,CAAC,sBAAsB,CAAC;YACxC,KAAK,EAAE,wBAAQ,CAAC,MAAgB;YAChC,QAAQ,EAAE,cAAc;SACzB;QACD;YACE,KAAK,EAAE,SAAS,CAAC,uBAAuB,CAAC;YACzC,KAAK,EAAE,wBAAQ,CAAC,OAAiB;YACjC,QAAQ,EAAE,eAAe;SAC1B;QACD;YACE,KAAK,EAAE,SAAS,CAAC,sBAAsB,CAAC;YACxC,KAAK,EAAE,wBAAQ,CAAC,MAAgB;YAChC,QAAQ,EAAE,cAAc;SACzB;QACD;YACE,KAAK,EAAE,SAAS,CAAC,wBAAwB,CAAC;YAC1C,KAAK,EAAE,wBAAQ,CAAC,QAAkB;YAClC,QAAQ,EAAE,gBAAgB;SAC3B;QACD;YACE,KAAK,EAAE,SAAS,CAAC,wBAAwB,CAAC;YAC1C,KAAK,EAAE,wBAAQ,CAAC,QAAkB;YAClC,QAAQ,EAAE,gBAAgB;SAC3B;KACF,CAAC;IAEF,sDAAsD;IACtD,MAAM,2BAA2B,GAAG,CAAC,QAAgB,EAAE,EAAE;QACvD,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE;YAC5B,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ;gBAAE,OAAO,IAAI,CAAC,QAAQ,CAAC;SACnD;QAED,0BAA0B;QAC1B,IAAI,QAAQ,GAAG,CAAC;YAAE,OAAO,gBAAgB,CAAC;QAE1C,0BAA0B;QAC1B,OAAO,aAAa,CAAC;IACvB,CAAC,CAAC;IAEF,MAAM,KAAK,GAAG,SAAS,CAAC,wBAAwB,CAAC,CAAC;IAClD,OAAO,CACL,oBAAC,wCAAuB,IACtB,QAAQ,EAAE,mBAAmB,CAC3B,2BAA2B,CAAC,KAAK,CAAC,QAAQ,CAAC,CAC5C,EACD,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK,EACZ,KAAK,EACH,oBAAC,qBAAa,IAAC,KAAK,EAAE,KAAK,IACxB,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAC9B,oBAAC,WAAI,IACH,GAAG,EAAE,MAAM,KAAK,EAAE,EAClB,OAAO,EAAE,GAAG,EAAE,CAAC,yBAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,EAC1D,QAAQ,EAAE,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,EACtD,IAAI,EACF,oBAAC,iBAAI,IACH,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,GAC5C,IAGH,IAAI,CAAC,KAAK,CACN,CACR,CAAC,CACY,GAElB,CACH,CAAC;AACJ,CAAC;AAED,+GAA+G;AAC/G,SAAS,eAAe,CAAC,KAAU;IACjC,MAAM,cAAc,GAAG,KAAK,CAAC,yBAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC,8CAA8C;IAC3G,0BAA0B;IAC1B,IAAI,CAAC,cAAc;QAAE,OAAO,SAAS,CAAC;IAEtC,OAAO,EAAE,QAAQ,EAAE,cAAc,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC;AACnE,CAAC;AAED,4EAA4E;AAC5E;;;;;GAKG;AACU,QAAA,aAAa,GAAG,IAAA,qBAAO,EAAC,eAAe,CAAC,CAAC,sBAAsB,CAAC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module StatusBar\n */\n\nimport snapModeBisector from \"@bentley/icons-generic/icons/snaps-bisector.svg\";\nimport snapModeCenter from \"@bentley/icons-generic/icons/snaps-center.svg\";\nimport snapModeIntersection from \"@bentley/icons-generic/icons/snaps-intersection.svg\";\nimport snapModeMidpoint from \"@bentley/icons-generic/icons/snaps-midpoint.svg\";\nimport snapModeNearest from \"@bentley/icons-generic/icons/snaps-nearest.svg\";\nimport snapModeOrigin from \"@bentley/icons-generic/icons/snaps-origin.svg\";\nimport snapModeKeypoint from \"@bentley/icons-generic/icons/snaps.svg\";\nimport { SnapMode } from \"@itwin/core-frontend\";\nimport type { CommonProps, IconSpec } from \"@itwin/core-react\";\nimport { Icon } from \"@itwin/core-react\";\nimport * as React from \"react\";\nimport { connect } from \"react-redux\";\nimport { UiFramework } from \"../UiFramework\";\nimport { SnapModePanel } from \"../layout/footer/snap-mode/Panel\";\nimport { Snap } from \"../layout/footer/snap-mode/Snap\";\nimport { StatusBarLabelIndicator } from \"../statusbar/LabelIndicator\";\nimport { useTranslation } from \"../hooks/useTranslation\";\n\n// cSpell:ignore multione\n\n/** Defines properties supported by the SnapMode Field Component.\n */\ninterface SnapModeFieldProps extends CommonProps {\n snapMode: number;\n}\n\n/** Define the properties that will be used to represent the available snap modes. */\ninterface SnapModeFieldEntry {\n label: string;\n value: number;\n iconName: string;\n}\n\nfunction getIconFromIconName(iconName: string): IconSpec {\n let iconSpec = snapModeKeypoint;\n switch (iconName) {\n case \"snaps\":\n iconSpec = snapModeKeypoint;\n break;\n case \"snaps-intersection\":\n iconSpec = snapModeIntersection;\n break;\n case \"snaps-center\":\n iconSpec = snapModeCenter;\n break;\n case \"snaps-nearest\":\n iconSpec = snapModeNearest;\n break;\n case \"snaps-origin\":\n iconSpec = snapModeOrigin;\n break;\n case \"snaps-midpoint\":\n iconSpec = snapModeMidpoint;\n break;\n case \"snaps-bisector\":\n iconSpec = snapModeBisector;\n break;\n }\n return iconSpec;\n}\n\n/**\n * Snap Mode Field React component. This component is designed to be specified in a status bar definition. It will\n * display the active snap mode that AccuSnap will use and allow the user to select a new snap mode.\n */\nfunction SnapModeFieldComponent(props: SnapModeFieldProps) {\n const { translate } = useTranslation();\n\n const snapModes: SnapModeFieldEntry[] = [\n {\n label: translate(\"snapModeField.keypoint\"),\n value: SnapMode.NearestKeypoint as number,\n iconName: \"snaps\",\n },\n {\n label: translate(\"snapModeField.intersection\"),\n value: SnapMode.Intersection as number,\n iconName: \"snaps-intersection\",\n },\n {\n label: translate(\"snapModeField.center\"),\n value: SnapMode.Center as number,\n iconName: \"snaps-center\",\n },\n {\n label: translate(\"snapModeField.nearest\"),\n value: SnapMode.Nearest as number,\n iconName: \"snaps-nearest\",\n },\n {\n label: translate(\"snapModeField.origin\"),\n value: SnapMode.Origin as number,\n iconName: \"snaps-origin\",\n },\n {\n label: translate(\"snapModeField.midpoint\"),\n value: SnapMode.MidPoint as number,\n iconName: \"snaps-midpoint\",\n },\n {\n label: translate(\"snapModeField.bisector\"),\n value: SnapMode.Bisector as number,\n iconName: \"snaps-bisector\",\n },\n ];\n\n /** Return icon class name for a specific snapMode. */\n const getSnapModeIconNameFromMode = (snapMode: number) => {\n for (const mode of snapModes) {\n if (mode.value === snapMode) return mode.iconName;\n }\n\n /* istanbul ignore else */\n if (snapMode > 0) return \"snaps-multione\";\n\n /* istanbul ignore next */\n return \"placeholder\";\n };\n\n const title = translate(\"snapModeField.snapMode\");\n return (\n <StatusBarLabelIndicator\n iconSpec={getIconFromIconName(\n getSnapModeIconNameFromMode(props.snapMode)\n )}\n title={title}\n label={title}\n popup={\n <SnapModePanel title={title}>\n {snapModes.map((item, index) => (\n <Snap\n key={`SM_${index}`}\n onClick={() => UiFramework.setAccudrawSnapMode(item.value)}\n isActive={(props.snapMode & item.value) === item.value}\n icon={\n <Icon\n className={`icon`}\n iconSpec={getIconFromIconName(item.iconName)}\n />\n }\n >\n {item.label}\n </Snap>\n ))}\n </SnapModePanel>\n }\n />\n );\n}\n\n/** Function used by Redux to map state data in Redux store to props that are used to render this component. */\nfunction mapStateToProps(state: any) {\n const frameworkState = state[UiFramework.frameworkStateKey]; // since app sets up key, don't hard-code name\n /* istanbul ignore next */\n if (!frameworkState) return undefined;\n\n return { snapMode: frameworkState.configurableUiState.snapMode };\n}\n\n// we declare the variable and export that rather than using export default.\n/**\n * Snap Mode Field React component. This component is designed to be specified in a status bar definition. It will\n * display the active snap mode that AccuSnap will use and allow the user to select a new snap mode.\n * This Field React component is Redux connected.\n * @public\n */\nexport const SnapModeField = connect(mapStateToProps)(SnapModeFieldComponent);\n"]}
@@ -20,7 +20,7 @@ const ContentRenderer_1 = require("../layout/widget/ContentRenderer");
20
20
  const UiItemsManager_1 = require("../ui-items-provider/UiItemsManager");
21
21
  const isProviderItem_1 = require("../ui-items-provider/isProviderItem");
22
22
  const useTransientState_1 = require("./useTransientState");
23
- const useTranslation_1 = require("../useTranslation");
23
+ const useTranslation_1 = require("../hooks/useTranslation");
24
24
  function WidgetFallback() {
25
25
  const { translate } = (0, useTranslation_1.useTranslation)();
26
26
  return (React.createElement("div", { role: "alert", style: { position: "relative", minHeight: 400 } },
@@ -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\";\nimport { InternalFrontstageManager } from \"../frontstage/InternalFrontstageManager\";\nimport { ScrollableWidgetContent } from \"../layout/widget/Content\";\nimport { TabIdContext } from \"../layout/widget/ContentRenderer\";\nimport { UiItemsManager } from \"../ui-items-provider/UiItemsManager\";\nimport { isProviderItem } from \"../ui-items-provider/isProviderItem\";\nimport type { WidgetDef } from \"../widgets/WidgetDef\";\nimport { useTransientState } from \"./useTransientState\";\nimport { useTranslation } from \"../useTranslation\";\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 // istanbul ignore next\n const itemId = widget?.id ?? widget?.label ?? \"unknown\";\n const onSave = React.useCallback(() => {\n // istanbul ignore next\n widget?.saveTransientState();\n }, [widget]);\n const onRestore = React.useCallback(() => {\n // istanbul ignore next\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 return (\n <ScrollableWidgetContent itemId={itemId} providerId={providerId}>\n <ErrorBoundary FallbackComponent={WidgetFallback}>\n {widget?.reactNode}\n </ErrorBoundary>\n </ScrollableWidgetContent>\n );\n}\n\n/** @internal */\nexport function useWidgetDef(): WidgetDef | undefined {\n const tabId = React.useContext(TabIdContext);\n assert(!!tabId);\n\n const frontstage = useActiveFrontstageDef();\n const [widgetDef, setWidgetDef] = React.useState(() =>\n frontstage?.findWidgetDef(tabId)\n );\n\n React.useEffect(() => {\n return InternalFrontstageManager.onFrontstageNineZoneStateChangedEvent.addListener(\n (args) => {\n if (\n args.frontstageDef !== frontstage ||\n !frontstage ||\n frontstage.isStageClosing ||\n frontstage.isApplicationClosing\n )\n return;\n setWidgetDef(frontstage.findWidgetDef(tabId));\n }\n );\n }, [frontstage, tabId]);\n\n React.useEffect(() => {\n return UiItemsManager.onUiProviderRegisteredEvent.addListener(() => {\n setWidgetDef(frontstage?.findWidgetDef(tabId));\n });\n }, [frontstage, tabId]);\n\n return widgetDef;\n}\n"]}
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\";\nimport { InternalFrontstageManager } from \"../frontstage/InternalFrontstageManager\";\nimport { ScrollableWidgetContent } from \"../layout/widget/Content\";\nimport { TabIdContext } from \"../layout/widget/ContentRenderer\";\nimport { UiItemsManager } from \"../ui-items-provider/UiItemsManager\";\nimport { isProviderItem } from \"../ui-items-provider/isProviderItem\";\nimport type { WidgetDef } from \"../widgets/WidgetDef\";\nimport { useTransientState } from \"./useTransientState\";\nimport { useTranslation } from \"../hooks/useTranslation\";\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 // istanbul ignore next\n const itemId = widget?.id ?? widget?.label ?? \"unknown\";\n const onSave = React.useCallback(() => {\n // istanbul ignore next\n widget?.saveTransientState();\n }, [widget]);\n const onRestore = React.useCallback(() => {\n // istanbul ignore next\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 return (\n <ScrollableWidgetContent itemId={itemId} providerId={providerId}>\n <ErrorBoundary FallbackComponent={WidgetFallback}>\n {widget?.reactNode}\n </ErrorBoundary>\n </ScrollableWidgetContent>\n );\n}\n\n/** @internal */\nexport function useWidgetDef(): WidgetDef | undefined {\n const tabId = React.useContext(TabIdContext);\n assert(!!tabId);\n\n const frontstage = useActiveFrontstageDef();\n const [widgetDef, setWidgetDef] = React.useState(() =>\n frontstage?.findWidgetDef(tabId)\n );\n\n React.useEffect(() => {\n return InternalFrontstageManager.onFrontstageNineZoneStateChangedEvent.addListener(\n (args) => {\n if (\n args.frontstageDef !== frontstage ||\n !frontstage ||\n frontstage.isStageClosing ||\n frontstage.isApplicationClosing\n )\n return;\n setWidgetDef(frontstage.findWidgetDef(tabId));\n }\n );\n }, [frontstage, tabId]);\n\n React.useEffect(() => {\n return UiItemsManager.onUiProviderRegisteredEvent.addListener(() => {\n setWidgetDef(frontstage?.findWidgetDef(tabId));\n });\n }, [frontstage, tabId]);\n\n return widgetDef;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Frontstage.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/widget-panels/Frontstage.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Frontstage.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/widget-panels/Frontstage.tsx"],"names":[],"mappings":"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"}
@@ -53,7 +53,7 @@ const Panel_1 = require("../layout/widget-panels/Panel");
53
53
  const ContentRenderer_1 = require("../layout/widget/ContentRenderer");
54
54
  const CursorOverlay_1 = require("../layout/widget-panels/CursorOverlay");
55
55
  const Expander_1 = require("../layout/widget-panels/Expander");
56
- const useTranslation_1 = require("../useTranslation");
56
+ const useTranslation_1 = require("../hooks/useTranslation");
57
57
  function WidgetPanelsFrontstageComponent() {
58
58
  const activeModalFrontstageInfo = (0, ModalFrontstageComposer_1.useActiveModalFrontstageInfo)();
59
59
  const uiIsVisible = (0, useUiVisibility_1.useUiVisibility)();
@@ -368,12 +368,13 @@ function isFrontstageStateSettingResult(settingsResult) {
368
368
  exports.isFrontstageStateSettingResult = isFrontstageStateSettingResult;
369
369
  /** @internal */
370
370
  function initializePanel(frontstageDef, location) {
371
- var _a, _b;
371
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
372
372
  const side = (0, StagePanelDef_1.toPanelSide)(location);
373
373
  const panelDef = frontstageDef.getStagePanelDef(location);
374
374
  if (!panelDef)
375
375
  return;
376
- const size = panelDef.defaultSize;
376
+ // eslint-disable-next-line deprecation/deprecation
377
+ const size = (_b = (_a = panelDef.initialConfig) === null || _a === void 0 ? void 0 : _a.sizeSpec) !== null && _b !== void 0 ? _b : (_c = panelDef.initialConfig) === null || _c === void 0 ? void 0 : _c.size;
377
378
  size !== undefined &&
378
379
  frontstageDef.dispatch({
379
380
  type: "PANEL_SET_SIZE",
@@ -390,14 +391,14 @@ function initializePanel(frontstageDef, location) {
390
391
  side,
391
392
  resizable: panelDef.defaultResizable,
392
393
  });
393
- const minSize = (_a = panelDef.initialConfig) === null || _a === void 0 ? void 0 : _a.minSize;
394
+ const minSize = (_e = (_d = panelDef.initialConfig) === null || _d === void 0 ? void 0 : _d.minSizeSpec) !== null && _e !== void 0 ? _e : (_f = panelDef.initialConfig) === null || _f === void 0 ? void 0 : _f.minSize; // eslint-disable-line deprecation/deprecation
394
395
  minSize !== undefined &&
395
396
  frontstageDef.dispatch({
396
397
  type: "PANEL_SET_MIN_SIZE",
397
398
  side,
398
399
  minSize,
399
400
  });
400
- const maxSize = (_b = panelDef.initialConfig) === null || _b === void 0 ? void 0 : _b.maxSize;
401
+ const maxSize = (_h = (_g = panelDef.initialConfig) === null || _g === void 0 ? void 0 : _g.maxSizeSpec) !== null && _h !== void 0 ? _h : (_j = panelDef.initialConfig) === null || _j === void 0 ? void 0 : _j.maxSize; // eslint-disable-line deprecation/deprecation
401
402
  maxSize !== undefined &&
402
403
  frontstageDef.dispatch({
403
404
  type: "PANEL_SET_MAX_SIZE",