@itwin/appui-react 4.0.0-dev.16 → 4.0.0-dev.18

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 (191) hide show
  1. package/CHANGELOG.md +43 -18
  2. package/lib/cjs/appui-react/UiFramework.d.ts +10 -20
  3. package/lib/cjs/appui-react/UiFramework.d.ts.map +1 -1
  4. package/lib/cjs/appui-react/UiFramework.js +12 -24
  5. package/lib/cjs/appui-react/UiFramework.js.map +1 -1
  6. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.d.ts.map +1 -1
  7. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js +4 -4
  8. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
  9. package/lib/cjs/appui-react/dialog/ContentDialogManager.d.ts +0 -39
  10. package/lib/cjs/appui-react/dialog/ContentDialogManager.d.ts.map +1 -1
  11. package/lib/cjs/appui-react/dialog/ContentDialogManager.js +1 -61
  12. package/lib/cjs/appui-react/dialog/ContentDialogManager.js.map +1 -1
  13. package/lib/cjs/appui-react/dialog/ModalDialogManager.d.ts +0 -30
  14. package/lib/cjs/appui-react/dialog/ModalDialogManager.d.ts.map +1 -1
  15. package/lib/cjs/appui-react/dialog/ModalDialogManager.js +1 -44
  16. package/lib/cjs/appui-react/dialog/ModalDialogManager.js.map +1 -1
  17. package/lib/cjs/appui-react/dialog/ModelessDialogManager.d.ts +0 -39
  18. package/lib/cjs/appui-react/dialog/ModelessDialogManager.d.ts.map +1 -1
  19. package/lib/cjs/appui-react/dialog/ModelessDialogManager.js +1 -60
  20. package/lib/cjs/appui-react/dialog/ModelessDialogManager.js.map +1 -1
  21. package/lib/cjs/appui-react/framework/FrameworkChildWindows.d.ts +1 -1
  22. package/lib/cjs/appui-react/framework/FrameworkChildWindows.js.map +1 -1
  23. package/lib/cjs/appui-react/framework/FrameworkContent.d.ts +2 -2
  24. package/lib/cjs/appui-react/framework/FrameworkContent.js.map +1 -1
  25. package/lib/cjs/appui-react/framework/FrameworkControls.d.ts +1 -1
  26. package/lib/cjs/appui-react/framework/FrameworkControls.js.map +1 -1
  27. package/lib/cjs/appui-react/framework/FrameworkDialogs.d.ts +1 -1
  28. package/lib/cjs/appui-react/framework/FrameworkDialogs.js.map +1 -1
  29. package/lib/cjs/appui-react/framework/FrameworkFrontstages.d.ts +7 -3
  30. package/lib/cjs/appui-react/framework/FrameworkFrontstages.d.ts.map +1 -1
  31. package/lib/cjs/appui-react/framework/FrameworkFrontstages.js.map +1 -1
  32. package/lib/cjs/appui-react/framework/FrameworkKeyboardShortcuts.d.ts +1 -1
  33. package/lib/cjs/appui-react/framework/FrameworkKeyboardShortcuts.js.map +1 -1
  34. package/lib/cjs/appui-react/framework/FrameworkToolSettings.d.ts +1 -1
  35. package/lib/cjs/appui-react/framework/FrameworkToolSettings.js.map +1 -1
  36. package/lib/cjs/appui-react/framework/FrameworkVisibility.d.ts +1 -1
  37. package/lib/cjs/appui-react/framework/FrameworkVisibility.js.map +1 -1
  38. package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts +1 -1
  39. package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  40. package/lib/cjs/appui-react/frontstage/FrontstageDef.js +12 -3
  41. package/lib/cjs/appui-react/frontstage/FrontstageDef.js.map +1 -1
  42. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.d.ts +6 -2
  43. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.d.ts.map +1 -1
  44. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.js +5 -1
  45. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
  46. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.d.ts +0 -32
  47. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.d.ts.map +1 -1
  48. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.js +1 -55
  49. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
  50. package/lib/cjs/appui-react/messages/MessageManager.js +2 -3
  51. package/lib/cjs/appui-react/messages/MessageManager.js.map +1 -1
  52. package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts +13 -197
  53. package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
  54. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js +32 -4
  55. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  56. package/lib/cjs/appui-react/ui-items-provider/AbstractUiItemsManager.d.ts +34 -0
  57. package/lib/cjs/appui-react/ui-items-provider/AbstractUiItemsManager.d.ts.map +1 -0
  58. package/lib/cjs/appui-react/ui-items-provider/AbstractUiItemsManager.js +500 -0
  59. package/lib/cjs/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -0
  60. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.d.ts +6 -4
  61. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.d.ts.map +1 -1
  62. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js +33 -6
  63. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  64. package/lib/cjs/appui-react.d.ts +0 -7
  65. package/lib/cjs/appui-react.d.ts.map +1 -1
  66. package/lib/cjs/appui-react.js +0 -7
  67. package/lib/cjs/appui-react.js.map +1 -1
  68. package/lib/esm/appui-react/UiFramework.d.ts +10 -20
  69. package/lib/esm/appui-react/UiFramework.d.ts.map +1 -1
  70. package/lib/esm/appui-react/UiFramework.js +12 -24
  71. package/lib/esm/appui-react/UiFramework.js.map +1 -1
  72. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.d.ts.map +1 -1
  73. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js +4 -4
  74. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
  75. package/lib/esm/appui-react/dialog/ContentDialogManager.d.ts +0 -39
  76. package/lib/esm/appui-react/dialog/ContentDialogManager.d.ts.map +1 -1
  77. package/lib/esm/appui-react/dialog/ContentDialogManager.js +0 -59
  78. package/lib/esm/appui-react/dialog/ContentDialogManager.js.map +1 -1
  79. package/lib/esm/appui-react/dialog/ModalDialogManager.d.ts +0 -30
  80. package/lib/esm/appui-react/dialog/ModalDialogManager.d.ts.map +1 -1
  81. package/lib/esm/appui-react/dialog/ModalDialogManager.js +0 -42
  82. package/lib/esm/appui-react/dialog/ModalDialogManager.js.map +1 -1
  83. package/lib/esm/appui-react/dialog/ModelessDialogManager.d.ts +0 -39
  84. package/lib/esm/appui-react/dialog/ModelessDialogManager.d.ts.map +1 -1
  85. package/lib/esm/appui-react/dialog/ModelessDialogManager.js +0 -58
  86. package/lib/esm/appui-react/dialog/ModelessDialogManager.js.map +1 -1
  87. package/lib/esm/appui-react/framework/FrameworkChildWindows.d.ts +1 -1
  88. package/lib/esm/appui-react/framework/FrameworkChildWindows.js.map +1 -1
  89. package/lib/esm/appui-react/framework/FrameworkContent.d.ts +2 -2
  90. package/lib/esm/appui-react/framework/FrameworkContent.js.map +1 -1
  91. package/lib/esm/appui-react/framework/FrameworkControls.d.ts +1 -1
  92. package/lib/esm/appui-react/framework/FrameworkControls.js.map +1 -1
  93. package/lib/esm/appui-react/framework/FrameworkDialogs.d.ts +1 -1
  94. package/lib/esm/appui-react/framework/FrameworkDialogs.js.map +1 -1
  95. package/lib/esm/appui-react/framework/FrameworkFrontstages.d.ts +7 -3
  96. package/lib/esm/appui-react/framework/FrameworkFrontstages.d.ts.map +1 -1
  97. package/lib/esm/appui-react/framework/FrameworkFrontstages.js.map +1 -1
  98. package/lib/esm/appui-react/framework/FrameworkKeyboardShortcuts.d.ts +1 -1
  99. package/lib/esm/appui-react/framework/FrameworkKeyboardShortcuts.js.map +1 -1
  100. package/lib/esm/appui-react/framework/FrameworkToolSettings.d.ts +1 -1
  101. package/lib/esm/appui-react/framework/FrameworkToolSettings.js.map +1 -1
  102. package/lib/esm/appui-react/framework/FrameworkVisibility.d.ts +1 -1
  103. package/lib/esm/appui-react/framework/FrameworkVisibility.js.map +1 -1
  104. package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts +1 -1
  105. package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  106. package/lib/esm/appui-react/frontstage/FrontstageDef.js +12 -3
  107. package/lib/esm/appui-react/frontstage/FrontstageDef.js.map +1 -1
  108. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.d.ts +6 -2
  109. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.d.ts.map +1 -1
  110. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.js +5 -1
  111. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
  112. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.d.ts +0 -32
  113. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.d.ts.map +1 -1
  114. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.js +0 -53
  115. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
  116. package/lib/esm/appui-react/messages/MessageManager.js +2 -3
  117. package/lib/esm/appui-react/messages/MessageManager.js.map +1 -1
  118. package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts +13 -197
  119. package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
  120. package/lib/esm/appui-react/stagepanels/StagePanelDef.js +31 -3
  121. package/lib/esm/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  122. package/lib/esm/appui-react/ui-items-provider/AbstractUiItemsManager.d.ts +34 -0
  123. package/lib/esm/appui-react/ui-items-provider/AbstractUiItemsManager.d.ts.map +1 -0
  124. package/lib/esm/appui-react/ui-items-provider/AbstractUiItemsManager.js +496 -0
  125. package/lib/esm/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -0
  126. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.d.ts +6 -4
  127. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.d.ts.map +1 -1
  128. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js +33 -6
  129. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  130. package/lib/esm/appui-react.d.ts +0 -7
  131. package/lib/esm/appui-react.d.ts.map +1 -1
  132. package/lib/esm/appui-react.js +0 -7
  133. package/lib/esm/appui-react.js.map +1 -1
  134. package/lib/public/locales/en/UiFramework.json +0 -45
  135. package/package.json +21 -13
  136. package/lib/cjs/appui-react/childwindow/ChildWindowManager.d.ts +0 -74
  137. package/lib/cjs/appui-react/childwindow/ChildWindowManager.d.ts.map +0 -1
  138. package/lib/cjs/appui-react/childwindow/ChildWindowManager.js +0 -107
  139. package/lib/cjs/appui-react/childwindow/ChildWindowManager.js.map +0 -1
  140. package/lib/cjs/appui-react/configurableui/ConfigurableUiManager.d.ts +0 -66
  141. package/lib/cjs/appui-react/configurableui/ConfigurableUiManager.d.ts.map +0 -1
  142. package/lib/cjs/appui-react/configurableui/ConfigurableUiManager.js +0 -93
  143. package/lib/cjs/appui-react/configurableui/ConfigurableUiManager.js.map +0 -1
  144. package/lib/cjs/appui-react/content/ContentLayoutManager.d.ts +0 -48
  145. package/lib/cjs/appui-react/content/ContentLayoutManager.d.ts.map +0 -1
  146. package/lib/cjs/appui-react/content/ContentLayoutManager.js +0 -69
  147. package/lib/cjs/appui-react/content/ContentLayoutManager.js.map +0 -1
  148. package/lib/cjs/appui-react/content/ContentViewManager.d.ts +0 -63
  149. package/lib/cjs/appui-react/content/ContentViewManager.d.ts.map +0 -1
  150. package/lib/cjs/appui-react/content/ContentViewManager.js +0 -96
  151. package/lib/cjs/appui-react/content/ContentViewManager.js.map +0 -1
  152. package/lib/cjs/appui-react/frontstage/FrontstageManager.d.ts +0 -202
  153. package/lib/cjs/appui-react/frontstage/FrontstageManager.d.ts.map +0 -1
  154. package/lib/cjs/appui-react/frontstage/FrontstageManager.js +0 -269
  155. package/lib/cjs/appui-react/frontstage/FrontstageManager.js.map +0 -1
  156. package/lib/cjs/appui-react/toolsettings/ToolSettingsManager.d.ts +0 -44
  157. package/lib/cjs/appui-react/toolsettings/ToolSettingsManager.d.ts.map +0 -1
  158. package/lib/cjs/appui-react/toolsettings/ToolSettingsManager.js +0 -64
  159. package/lib/cjs/appui-react/toolsettings/ToolSettingsManager.js.map +0 -1
  160. package/lib/cjs/appui-react/utils/UiShowHideManager.d.ts +0 -54
  161. package/lib/cjs/appui-react/utils/UiShowHideManager.d.ts.map +0 -1
  162. package/lib/cjs/appui-react/utils/UiShowHideManager.js +0 -108
  163. package/lib/cjs/appui-react/utils/UiShowHideManager.js.map +0 -1
  164. package/lib/esm/appui-react/childwindow/ChildWindowManager.d.ts +0 -74
  165. package/lib/esm/appui-react/childwindow/ChildWindowManager.d.ts.map +0 -1
  166. package/lib/esm/appui-react/childwindow/ChildWindowManager.js +0 -103
  167. package/lib/esm/appui-react/childwindow/ChildWindowManager.js.map +0 -1
  168. package/lib/esm/appui-react/configurableui/ConfigurableUiManager.d.ts +0 -66
  169. package/lib/esm/appui-react/configurableui/ConfigurableUiManager.d.ts.map +0 -1
  170. package/lib/esm/appui-react/configurableui/ConfigurableUiManager.js +0 -89
  171. package/lib/esm/appui-react/configurableui/ConfigurableUiManager.js.map +0 -1
  172. package/lib/esm/appui-react/content/ContentLayoutManager.d.ts +0 -48
  173. package/lib/esm/appui-react/content/ContentLayoutManager.d.ts.map +0 -1
  174. package/lib/esm/appui-react/content/ContentLayoutManager.js +0 -65
  175. package/lib/esm/appui-react/content/ContentLayoutManager.js.map +0 -1
  176. package/lib/esm/appui-react/content/ContentViewManager.d.ts +0 -63
  177. package/lib/esm/appui-react/content/ContentViewManager.d.ts.map +0 -1
  178. package/lib/esm/appui-react/content/ContentViewManager.js +0 -92
  179. package/lib/esm/appui-react/content/ContentViewManager.js.map +0 -1
  180. package/lib/esm/appui-react/frontstage/FrontstageManager.d.ts +0 -202
  181. package/lib/esm/appui-react/frontstage/FrontstageManager.d.ts.map +0 -1
  182. package/lib/esm/appui-react/frontstage/FrontstageManager.js +0 -265
  183. package/lib/esm/appui-react/frontstage/FrontstageManager.js.map +0 -1
  184. package/lib/esm/appui-react/toolsettings/ToolSettingsManager.d.ts +0 -44
  185. package/lib/esm/appui-react/toolsettings/ToolSettingsManager.d.ts.map +0 -1
  186. package/lib/esm/appui-react/toolsettings/ToolSettingsManager.js +0 -60
  187. package/lib/esm/appui-react/toolsettings/ToolSettingsManager.js.map +0 -1
  188. package/lib/esm/appui-react/utils/UiShowHideManager.d.ts +0 -54
  189. package/lib/esm/appui-react/utils/UiShowHideManager.d.ts.map +0 -1
  190. package/lib/esm/appui-react/utils/UiShowHideManager.js +0 -105
  191. package/lib/esm/appui-react/utils/UiShowHideManager.js.map +0 -1
@@ -1,7 +1,6 @@
1
1
  /** @packageDocumentation
2
2
  * @module Frontstage
3
3
  */
4
- /// <reference types="react" />
5
4
  import { UiEvent } from "@itwin/appui-abstract";
6
5
  import { NineZoneState, PanelSide } from "@itwin/appui-layout-react";
7
6
  import { WidgetDef } from "../widgets/WidgetDef";
@@ -18,14 +17,14 @@ export declare enum StagePanelState {
18
17
  Open = 2,
19
18
  Popup = 3
20
19
  }
21
- /** Panel State Changed Event Args interface.
20
+ /** Panel state changed event args interface.
22
21
  * @public
23
22
  */
24
23
  export interface PanelStateChangedEventArgs {
25
24
  panelDef: StagePanelDef;
26
25
  panelState: StagePanelState;
27
26
  }
28
- /** Panel State Changed Event class.
27
+ /** Panel state changed event class.
29
28
  * @beta
30
29
  */
31
30
  export declare class PanelStateChangedEvent extends UiEvent<PanelStateChangedEventArgs> {
@@ -38,6 +37,13 @@ export interface PanelSizeChangedEventArgs {
38
37
  /** @internal */
39
38
  export declare class PanelSizeChangedEvent extends UiEvent<PanelSizeChangedEventArgs> {
40
39
  }
40
+ /** Panel pinned changed event args interface.
41
+ * @public
42
+ */
43
+ export interface PanelPinnedChangedEventArgs {
44
+ panelDef: StagePanelDef;
45
+ pinned: boolean;
46
+ }
41
47
  /**
42
48
  * A StagePanelDef represents each Stage Panel within a Frontstage.
43
49
  * @public
@@ -68,6 +74,7 @@ export declare class StagePanelDef extends WidgetHost {
68
74
  get resizable(): boolean;
69
75
  /** Indicates whether the panel is pinned. */
70
76
  get pinned(): boolean;
77
+ set pinned(pinned: boolean);
71
78
  /** Location of panel. */
72
79
  get location(): StagePanelLocation;
73
80
  /** Panel state. Defaults to PanelState.Open. */
@@ -96,198 +103,7 @@ export declare class StagePanelSectionDef extends WidgetHost {
96
103
  /** @internal */
97
104
  export declare function toPanelSide(location: StagePanelLocation): PanelSide;
98
105
  /** @internal */
99
- export declare const setPanelSize: (base: {
100
- readonly draggedTab: {
101
- readonly tabId: string;
102
- readonly position: {
103
- readonly x: number;
104
- readonly y: number;
105
- };
106
- readonly home: {
107
- readonly widgetIndex: number;
108
- readonly widgetId: string | undefined;
109
- readonly side: PanelSide;
110
- };
111
- } | undefined;
112
- readonly floatingWidgets: {
113
- readonly byId: {
114
- readonly [x: string]: {
115
- readonly bounds: {
116
- readonly left: number;
117
- readonly top: number;
118
- readonly right: number;
119
- readonly bottom: number;
120
- };
121
- readonly id: string;
122
- readonly home: {
123
- readonly widgetIndex: number;
124
- readonly widgetId: string | undefined;
125
- readonly side: PanelSide;
126
- };
127
- readonly userSized?: boolean | undefined;
128
- readonly hidden?: boolean | undefined;
129
- };
130
- };
131
- readonly allIds: readonly string[];
132
- };
133
- readonly popoutWidgets: {
134
- readonly byId: {
135
- readonly [x: string]: {
136
- readonly bounds: {
137
- readonly left: number;
138
- readonly top: number;
139
- readonly right: number;
140
- readonly bottom: number;
141
- };
142
- readonly id: string;
143
- readonly home: {
144
- readonly widgetIndex: number;
145
- readonly widgetId: string | undefined;
146
- readonly side: PanelSide;
147
- };
148
- };
149
- };
150
- readonly allIds: readonly string[];
151
- };
152
- readonly panels: {
153
- readonly bottom: {
154
- readonly span: boolean;
155
- readonly side: import("@itwin/appui-layout-react").HorizontalPanelSide;
156
- readonly collapseOffset: number;
157
- readonly collapsed: boolean;
158
- readonly maxSize: number;
159
- readonly minSize: number;
160
- readonly pinned: boolean;
161
- readonly resizable: boolean;
162
- readonly size: number | undefined;
163
- readonly widgets: readonly string[];
164
- readonly maxWidgetCount: number;
165
- readonly splitterPercent: number | undefined;
166
- };
167
- readonly left: {
168
- readonly side: import("@itwin/appui-layout-react").VerticalPanelSide;
169
- readonly collapseOffset: number;
170
- readonly collapsed: boolean;
171
- readonly maxSize: number;
172
- readonly minSize: number;
173
- readonly pinned: boolean;
174
- readonly resizable: boolean;
175
- readonly size: number | undefined;
176
- readonly widgets: readonly string[];
177
- readonly maxWidgetCount: number;
178
- readonly splitterPercent: number | undefined;
179
- };
180
- readonly right: {
181
- readonly side: import("@itwin/appui-layout-react").VerticalPanelSide;
182
- readonly collapseOffset: number;
183
- readonly collapsed: boolean;
184
- readonly maxSize: number;
185
- readonly minSize: number;
186
- readonly pinned: boolean;
187
- readonly resizable: boolean;
188
- readonly size: number | undefined;
189
- readonly widgets: readonly string[];
190
- readonly maxWidgetCount: number;
191
- readonly splitterPercent: number | undefined;
192
- };
193
- readonly top: {
194
- readonly span: boolean;
195
- readonly side: import("@itwin/appui-layout-react").HorizontalPanelSide;
196
- readonly collapseOffset: number;
197
- readonly collapsed: boolean;
198
- readonly maxSize: number;
199
- readonly minSize: number;
200
- readonly pinned: boolean;
201
- readonly resizable: boolean;
202
- readonly size: number | undefined;
203
- readonly widgets: readonly string[];
204
- readonly maxWidgetCount: number;
205
- readonly splitterPercent: number | undefined;
206
- };
207
- };
208
- readonly tabs: {
209
- readonly [x: string]: {
210
- readonly id: string;
211
- readonly label: string;
212
- readonly iconSpec?: boolean | import("react").ReactText | {
213
- readonly stringGetter: () => string;
214
- readonly syncEventIds: readonly string[];
215
- readonly value: string;
216
- readonly refresh: () => boolean;
217
- } | {
218
- readonly type: string | import("react").JSXElementConstructor<any>;
219
- readonly props: any;
220
- readonly key: import("react").Key | null;
221
- } | {} | {
222
- readonly [Symbol.iterator]: () => Iterator<import("react").ReactNode, any, undefined>;
223
- } | {
224
- readonly key: import("react").Key | null;
225
- readonly children: boolean | import("react").ReactText | {
226
- readonly type: string | import("react").JSXElementConstructor<any>;
227
- readonly props: any;
228
- readonly key: import("react").Key | null;
229
- } | {} | {
230
- readonly [Symbol.iterator]: () => Iterator<import("react").ReactNode, any, undefined>;
231
- } | any | null | undefined;
232
- readonly type: string | import("react").JSXElementConstructor<any>;
233
- readonly props: any;
234
- } | {
235
- readonly iconGetter: () => import("@itwin/core-react").IconSpec;
236
- readonly syncEventIds: readonly string[];
237
- readonly value: boolean | import("react").ReactText | {
238
- readonly stringGetter: () => string;
239
- readonly syncEventIds: readonly string[];
240
- readonly value: string;
241
- readonly refresh: () => boolean;
242
- } | {
243
- readonly type: string | import("react").JSXElementConstructor<any>;
244
- readonly props: any;
245
- readonly key: import("react").Key | null;
246
- } | {} | {
247
- readonly [Symbol.iterator]: () => Iterator<import("react").ReactNode, any, undefined>;
248
- } | {
249
- readonly key: import("react").Key | null;
250
- readonly children: boolean | import("react").ReactText | {
251
- readonly type: string | import("react").JSXElementConstructor<any>;
252
- readonly props: any;
253
- readonly key: import("react").Key | null;
254
- } | {} | {
255
- readonly [Symbol.iterator]: () => Iterator<import("react").ReactNode, any, undefined>;
256
- } | any | null | undefined;
257
- readonly type: string | import("react").JSXElementConstructor<any>;
258
- readonly props: any;
259
- } | any | null | undefined;
260
- readonly refresh: () => boolean;
261
- } | null | undefined;
262
- readonly preferredFloatingWidgetSize?: {
263
- readonly width: number;
264
- readonly height: number;
265
- } | undefined;
266
- readonly preferredPanelWidgetSize?: "fit-content" | undefined;
267
- readonly allowedPanelTargets?: readonly PanelSide[] | undefined;
268
- readonly canPopout?: boolean | undefined;
269
- readonly userSized?: boolean | undefined;
270
- readonly isFloatingStateWindowResizable?: boolean | undefined;
271
- readonly hideWithUiWhenFloating?: boolean | undefined;
272
- };
273
- };
274
- readonly toolSettings: {
275
- readonly type: "docked";
276
- } | {
277
- readonly type: "widget";
278
- };
279
- readonly widgets: {
280
- readonly [x: string]: {
281
- readonly activeTabId: string;
282
- readonly id: string;
283
- readonly minimized: boolean;
284
- readonly tabs: readonly string[];
285
- readonly isFloatingStateWindowResizable?: boolean | undefined;
286
- };
287
- };
288
- readonly size: {
289
- readonly width: number;
290
- readonly height: number;
291
- };
292
- }, side: PanelSide, size: number | undefined) => import("immer/dist/internal").WritableDraft<NineZoneState>;
106
+ export declare const setPanelSize: (nineZone: NineZoneState, side: PanelSide, size: number | undefined) => NineZoneState;
107
+ /** @internal */
108
+ export declare const setPanelPinned: (nineZone: NineZoneState, side: PanelSide, pinned: boolean) => NineZoneState;
293
109
  //# sourceMappingURL=StagePanelDef.d.ts.map
@@ -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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"}
@@ -23,7 +23,7 @@ export var StagePanelState;
23
23
  StagePanelState[StagePanelState["Open"] = 2] = "Open";
24
24
  StagePanelState[StagePanelState["Popup"] = 3] = "Popup";
25
25
  })(StagePanelState || (StagePanelState = {}));
26
- /** Panel State Changed Event class.
26
+ /** Panel state changed event class.
27
27
  * @beta
28
28
  */
29
29
  export class PanelStateChangedEvent extends UiEvent {
@@ -86,7 +86,30 @@ export class StagePanelDef extends WidgetHost {
86
86
  // istanbul ignore next
87
87
  get resizable() { return this._resizable; }
88
88
  /** Indicates whether the panel is pinned. */
89
- get pinned() { return this._pinned; }
89
+ get pinned() {
90
+ if (UiFramework.frontstages.activeFrontstageDef) {
91
+ const state = UiFramework.frontstages.activeFrontstageDef.getPanelCurrentState(this);
92
+ return state[2];
93
+ }
94
+ // istanbul ignore next
95
+ return false;
96
+ }
97
+ set pinned(pinned) {
98
+ if (this._pinned === pinned)
99
+ return;
100
+ // istanbul ignore else
101
+ const frontstageDef = UiFramework.frontstages.activeFrontstageDef;
102
+ // istanbul ignore else
103
+ if (frontstageDef && frontstageDef.nineZoneState) {
104
+ const side = toPanelSide(this.location);
105
+ frontstageDef.nineZoneState = setPanelPinned(frontstageDef.nineZoneState, side, pinned);
106
+ }
107
+ this._pinned = pinned;
108
+ UiFramework.frontstages.onPanelPinnedChangedEvent.emit({
109
+ panelDef: this,
110
+ pinned,
111
+ });
112
+ }
90
113
  /** Location of panel. */
91
114
  get location() { return this._location; }
92
115
  /** Panel state. Defaults to PanelState.Open. */
@@ -149,8 +172,8 @@ export class StagePanelDef extends WidgetHost {
149
172
  this._maxSizeSpec = config.maxSize;
150
173
  this._minSize = config.minSize;
151
174
  if (config.defaultState !== undefined) {
152
- this._panelState = config.defaultState;
153
175
  this._defaultState = config.defaultState;
176
+ this._panelState = config.defaultState;
154
177
  }
155
178
  this._resizable = config.resizable ?? true;
156
179
  if (config.pinned !== undefined)
@@ -208,4 +231,9 @@ export const setPanelSize = produce((nineZone, side, size) => {
208
231
  const panel = nineZone.panels[side];
209
232
  panel.size = size === undefined ? size : Math.min(Math.max(size, panel.minSize), panel.maxSize);
210
233
  });
234
+ /** @internal */
235
+ export const setPanelPinned = produce((nineZone, side, pinned) => {
236
+ const panel = nineZone.panels[side];
237
+ panel.pinned = pinned;
238
+ });
211
239
  //# sourceMappingURL=StagePanelDef.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StagePanelDef.js","sourceRoot":"","sources":["../../../../src/appui-react/stagepanels/StagePanelDef.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Frontstage\r\n */\r\n\r\nimport produce, { Draft } from \"immer\";\r\nimport { UiEvent } from \"@itwin/appui-abstract\";\r\nimport { NineZoneState, PanelSide } from \"@itwin/appui-layout-react\";\r\nimport { WidgetDef } from \"../widgets/WidgetDef\";\r\nimport { WidgetHost } from \"../widgets/WidgetHost\";\r\nimport { StagePanelConfig, StagePanelMaxSizeSpec, StagePanelSectionConfig } from \"./StagePanelConfig\";\r\nimport { StagePanelLocation } from \"./StagePanelLocation\";\r\nimport { StagePanelSection } from \"./StagePanelSection\";\r\nimport { InternalFrontstageManager } from \"../frontstage/InternalFrontstageManager\";\r\nimport { UiFramework } from \"../UiFramework\";\r\n\r\n/** Enum for StagePanel state.\r\n * @public\r\n */\r\nexport enum StagePanelState {\r\n Off,\r\n Minimized,\r\n Open,\r\n Popup,\r\n}\r\n\r\n/** Panel State Changed Event Args interface.\r\n * @public\r\n */\r\nexport interface PanelStateChangedEventArgs {\r\n panelDef: StagePanelDef;\r\n panelState: StagePanelState;\r\n}\r\n\r\n/** Panel State Changed Event class.\r\n * @beta\r\n */\r\nexport class PanelStateChangedEvent extends UiEvent<PanelStateChangedEventArgs> { }\r\n\r\n/** @internal */\r\nexport interface PanelSizeChangedEventArgs {\r\n panelDef: StagePanelDef;\r\n size: number | undefined;\r\n}\r\n\r\n/** @internal */\r\nexport class PanelSizeChangedEvent extends UiEvent<PanelSizeChangedEventArgs> { }\r\n\r\n/**\r\n * A StagePanelDef represents each Stage Panel within a Frontstage.\r\n * @public\r\n */\r\nexport class StagePanelDef extends WidgetHost {\r\n private _panelState = StagePanelState.Open;\r\n private _defaultState = StagePanelState.Open;\r\n private _maxSizeSpec: StagePanelMaxSizeSpec | undefined;\r\n private _minSize: number | undefined;\r\n private _size: number | undefined;\r\n private _defaultSize: number | undefined;\r\n private _resizable = true;\r\n private _pinned = true;\r\n private _location: StagePanelLocation = StagePanelLocation.Left;\r\n private _start = new StagePanelSectionDef();\r\n private _end = new StagePanelSectionDef();\r\n\r\n /** Constructor for PanelDef.\r\n */\r\n constructor() {\r\n super();\r\n }\r\n\r\n /** @internal */\r\n public get maxSizeSpec() { return this._maxSizeSpec; }\r\n\r\n /** @internal */\r\n public get minSize() { return this._minSize; }\r\n\r\n /** Default size of the panel */\r\n public get size() {\r\n // istanbul ignore else\r\n if (UiFramework.frontstages.activeFrontstageDef) {\r\n const [_, size] = UiFramework.frontstages.activeFrontstageDef.getPanelCurrentState(this);\r\n return size;\r\n }\r\n // istanbul ignore next\r\n return this._defaultSize;\r\n }\r\n\r\n public set size(size) {\r\n if (this._size === size)\r\n return;\r\n\r\n // istanbul ignore else\r\n const frontstageDef = UiFramework.frontstages.activeFrontstageDef;\r\n // istanbul ignore else\r\n if (frontstageDef && frontstageDef.nineZoneState) {\r\n const side = toPanelSide(this.location);\r\n frontstageDef.nineZoneState = setPanelSize(frontstageDef.nineZoneState, side, size);\r\n const panel = frontstageDef.nineZoneState.panels[side];\r\n if (panel.size === this._size)\r\n return;\r\n size = panel.size;\r\n }\r\n this._size = size;\r\n InternalFrontstageManager.onPanelSizeChangedEvent.emit({\r\n panelDef: this,\r\n size,\r\n });\r\n }\r\n\r\n /** Indicates whether the panel is resizable. */\r\n // istanbul ignore next\r\n public get resizable(): boolean { return this._resizable; }\r\n\r\n /** Indicates whether the panel is pinned. */\r\n public get pinned(): boolean { return this._pinned; }\r\n\r\n /** Location of panel. */\r\n public get location(): StagePanelLocation { return this._location; }\r\n\r\n /** Panel state. Defaults to PanelState.Open. */\r\n public get panelState() {\r\n // istanbul ignore else\r\n if (UiFramework.frontstages.activeFrontstageDef) {\r\n const [state] = UiFramework.frontstages.activeFrontstageDef?.getPanelCurrentState(this);\r\n return state;\r\n }\r\n // istanbul ignore next\r\n return this.defaultState;\r\n }\r\n\r\n public set panelState(panelState: StagePanelState) {\r\n if (panelState === this._panelState)\r\n return;\r\n const frontstageDef = UiFramework.frontstages.activeFrontstageDef;\r\n if (frontstageDef && frontstageDef.nineZoneState) {\r\n const side = toPanelSide(this.location);\r\n frontstageDef.nineZoneState = produce(frontstageDef.nineZoneState, (nineZone) => {\r\n const panel = nineZone.panels[side];\r\n switch (panelState) {\r\n case StagePanelState.Minimized: {\r\n panel.collapsed = true;\r\n break;\r\n }\r\n case StagePanelState.Open: {\r\n panel.collapsed = false;\r\n break;\r\n }\r\n case StagePanelState.Off: {\r\n panel.collapsed = true;\r\n break;\r\n }\r\n }\r\n });\r\n }\r\n this._panelState = panelState;\r\n UiFramework.frontstages.onPanelStateChangedEvent.emit({\r\n panelDef: this,\r\n panelState,\r\n });\r\n }\r\n\r\n /** @internal */\r\n public get defaultState() { return this._defaultState; }\r\n\r\n /** @internal */\r\n public get defaultSize() { return this._defaultSize; }\r\n\r\n /** @internal */\r\n public static create(config: StagePanelConfig, location: StagePanelLocation) {\r\n const def = new StagePanelDef();\r\n def.initializeFromConfig(config, location);\r\n return def;\r\n }\r\n\r\n /** @internal */\r\n public initializeFromConfig(config: StagePanelConfig | undefined, location: StagePanelLocation): void {\r\n this._location = location;\r\n\r\n if (!config)\r\n return;\r\n this._size = config.size;\r\n this._defaultSize = config.size;\r\n this._maxSizeSpec = config.maxSize;\r\n this._minSize = config.minSize;\r\n if (config.defaultState !== undefined) {\r\n this._panelState = config.defaultState;\r\n this._defaultState = config.defaultState;\r\n }\r\n this._resizable = config.resizable ?? true;\r\n if (config.pinned !== undefined)\r\n this._pinned = config.pinned;\r\n\r\n const sections = config.sections;\r\n this._start.initializeFromConfig(sections?.start);\r\n this._end.initializeFromConfig(sections?.end);\r\n }\r\n\r\n /** Gets the list of Widgets. */\r\n public override get widgetDefs(): ReadonlyArray<WidgetDef> {\r\n return [...super.widgetDefs, ...this._start.widgetDefs, ...this._end.widgetDefs];\r\n }\r\n\r\n /** @internal */\r\n public override updateDynamicWidgetDefs(stageId: string, stageUsage: string, location: StagePanelLocation, _section: StagePanelSection | undefined,\r\n allStageWidgetDefs: WidgetDef[]) {\r\n this._start.updateDynamicWidgetDefs(stageId, stageUsage, location, StagePanelSection.Start, allStageWidgetDefs);\r\n this._end.updateDynamicWidgetDefs(stageId, stageUsage, location, StagePanelSection.End, allStageWidgetDefs);\r\n }\r\n\r\n /** @internal */\r\n public getPanelSectionDef(section: StagePanelSection) {\r\n switch (section) {\r\n case StagePanelSection.Start: {\r\n return this._start;\r\n }\r\n case StagePanelSection.End: {\r\n return this._end;\r\n }\r\n }\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport class StagePanelSectionDef extends WidgetHost {\r\n /** @internal */\r\n public initializeFromConfig(config: StagePanelSectionConfig | undefined) {\r\n config?.forEach((widgetConfig) => {\r\n const widgetDef = WidgetDef.create(widgetConfig);\r\n this.addWidgetDef(widgetDef);\r\n });\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport function toPanelSide(location: StagePanelLocation): PanelSide {\r\n switch (location) {\r\n case StagePanelLocation.Bottom:\r\n return \"bottom\";\r\n case StagePanelLocation.Left:\r\n return \"left\";\r\n case StagePanelLocation.Right:\r\n return \"right\";\r\n case StagePanelLocation.Top:\r\n return \"top\";\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport const setPanelSize = produce((\r\n nineZone: Draft<NineZoneState>,\r\n side: PanelSide,\r\n size: number | undefined,\r\n) => {\r\n const panel = nineZone.panels[side];\r\n panel.size = size === undefined ? size : Math.min(Math.max(size, panel.minSize), panel.maxSize);\r\n});\r\n"]}
1
+ {"version":3,"file":"StagePanelDef.js","sourceRoot":"","sources":["../../../../src/appui-react/stagepanels/StagePanelDef.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Frontstage\r\n */\r\n\r\nimport produce, { Draft } from \"immer\";\r\nimport { UiEvent } from \"@itwin/appui-abstract\";\r\nimport { NineZoneState, PanelSide } from \"@itwin/appui-layout-react\";\r\nimport { WidgetDef } from \"../widgets/WidgetDef\";\r\nimport { WidgetHost } from \"../widgets/WidgetHost\";\r\nimport { StagePanelConfig, StagePanelMaxSizeSpec, StagePanelSectionConfig } from \"./StagePanelConfig\";\r\nimport { StagePanelLocation } from \"./StagePanelLocation\";\r\nimport { StagePanelSection } from \"./StagePanelSection\";\r\nimport { InternalFrontstageManager } from \"../frontstage/InternalFrontstageManager\";\r\nimport { UiFramework } from \"../UiFramework\";\r\n\r\n/** Enum for StagePanel state.\r\n * @public\r\n */\r\nexport enum StagePanelState {\r\n Off,\r\n Minimized,\r\n Open,\r\n Popup,\r\n}\r\n\r\n/** Panel state changed event args interface.\r\n * @public\r\n */\r\nexport interface PanelStateChangedEventArgs {\r\n panelDef: StagePanelDef;\r\n panelState: StagePanelState;\r\n}\r\n\r\n/** Panel state changed event class.\r\n * @beta\r\n */\r\nexport class PanelStateChangedEvent extends UiEvent<PanelStateChangedEventArgs> { }\r\n\r\n/** @internal */\r\nexport interface PanelSizeChangedEventArgs {\r\n panelDef: StagePanelDef;\r\n size: number | undefined;\r\n}\r\n\r\n/** @internal */\r\nexport class PanelSizeChangedEvent extends UiEvent<PanelSizeChangedEventArgs> { }\r\n\r\n/** Panel pinned changed event args interface.\r\n * @public\r\n */\r\nexport interface PanelPinnedChangedEventArgs {\r\n panelDef: StagePanelDef;\r\n pinned: boolean;\r\n}\r\n\r\n/**\r\n * A StagePanelDef represents each Stage Panel within a Frontstage.\r\n * @public\r\n */\r\nexport class StagePanelDef extends WidgetHost {\r\n private _panelState = StagePanelState.Open;\r\n private _defaultState = StagePanelState.Open;\r\n private _maxSizeSpec: StagePanelMaxSizeSpec | undefined;\r\n private _minSize: number | undefined;\r\n private _size: number | undefined;\r\n private _defaultSize: number | undefined;\r\n private _resizable = true;\r\n private _pinned = true;\r\n private _location: StagePanelLocation = StagePanelLocation.Left;\r\n private _start = new StagePanelSectionDef();\r\n private _end = new StagePanelSectionDef();\r\n\r\n /** Constructor for PanelDef.\r\n */\r\n constructor() {\r\n super();\r\n }\r\n\r\n /** @internal */\r\n public get maxSizeSpec() { return this._maxSizeSpec; }\r\n\r\n /** @internal */\r\n public get minSize() { return this._minSize; }\r\n\r\n /** Default size of the panel */\r\n public get size() {\r\n // istanbul ignore else\r\n if (UiFramework.frontstages.activeFrontstageDef) {\r\n const [_, size] = UiFramework.frontstages.activeFrontstageDef.getPanelCurrentState(this);\r\n return size;\r\n }\r\n // istanbul ignore next\r\n return this._defaultSize;\r\n }\r\n\r\n public set size(size) {\r\n if (this._size === size)\r\n return;\r\n\r\n // istanbul ignore else\r\n const frontstageDef = UiFramework.frontstages.activeFrontstageDef;\r\n // istanbul ignore else\r\n if (frontstageDef && frontstageDef.nineZoneState) {\r\n const side = toPanelSide(this.location);\r\n frontstageDef.nineZoneState = setPanelSize(frontstageDef.nineZoneState, side, size);\r\n const panel = frontstageDef.nineZoneState.panels[side];\r\n if (panel.size === this._size)\r\n return;\r\n size = panel.size;\r\n }\r\n this._size = size;\r\n InternalFrontstageManager.onPanelSizeChangedEvent.emit({\r\n panelDef: this,\r\n size,\r\n });\r\n }\r\n\r\n /** Indicates whether the panel is resizable. */\r\n // istanbul ignore next\r\n public get resizable(): boolean { return this._resizable; }\r\n\r\n /** Indicates whether the panel is pinned. */\r\n public get pinned(): boolean {\r\n if (UiFramework.frontstages.activeFrontstageDef) {\r\n const state = UiFramework.frontstages.activeFrontstageDef.getPanelCurrentState(this);\r\n return state[2];\r\n }\r\n // istanbul ignore next\r\n return false;\r\n }\r\n\r\n public set pinned(pinned: boolean) {\r\n if (this._pinned === pinned)\r\n return;\r\n\r\n // istanbul ignore else\r\n const frontstageDef = UiFramework.frontstages.activeFrontstageDef;\r\n // istanbul ignore else\r\n if (frontstageDef && frontstageDef.nineZoneState) {\r\n const side = toPanelSide(this.location);\r\n frontstageDef.nineZoneState = setPanelPinned(frontstageDef.nineZoneState, side, pinned);\r\n }\r\n this._pinned = pinned;\r\n UiFramework.frontstages.onPanelPinnedChangedEvent.emit({\r\n panelDef: this,\r\n pinned,\r\n });\r\n }\r\n\r\n /** Location of panel. */\r\n public get location(): StagePanelLocation { return this._location; }\r\n\r\n /** Panel state. Defaults to PanelState.Open. */\r\n public get panelState() {\r\n // istanbul ignore else\r\n if (UiFramework.frontstages.activeFrontstageDef) {\r\n const [state] = UiFramework.frontstages.activeFrontstageDef?.getPanelCurrentState(this);\r\n return state;\r\n }\r\n // istanbul ignore next\r\n return this.defaultState;\r\n }\r\n\r\n public set panelState(panelState: StagePanelState) {\r\n if (panelState === this._panelState)\r\n return;\r\n const frontstageDef = UiFramework.frontstages.activeFrontstageDef;\r\n if (frontstageDef && frontstageDef.nineZoneState) {\r\n const side = toPanelSide(this.location);\r\n frontstageDef.nineZoneState = produce(frontstageDef.nineZoneState, (nineZone) => {\r\n const panel = nineZone.panels[side];\r\n switch (panelState) {\r\n case StagePanelState.Minimized: {\r\n panel.collapsed = true;\r\n break;\r\n }\r\n case StagePanelState.Open: {\r\n panel.collapsed = false;\r\n break;\r\n }\r\n case StagePanelState.Off: {\r\n panel.collapsed = true;\r\n break;\r\n }\r\n }\r\n });\r\n }\r\n this._panelState = panelState;\r\n UiFramework.frontstages.onPanelStateChangedEvent.emit({\r\n panelDef: this,\r\n panelState,\r\n });\r\n }\r\n\r\n /** @internal */\r\n public get defaultState() { return this._defaultState; }\r\n\r\n /** @internal */\r\n public get defaultSize() { return this._defaultSize; }\r\n\r\n /** @internal */\r\n public static create(config: StagePanelConfig, location: StagePanelLocation) {\r\n const def = new StagePanelDef();\r\n def.initializeFromConfig(config, location);\r\n return def;\r\n }\r\n\r\n /** @internal */\r\n public initializeFromConfig(config: StagePanelConfig | undefined, location: StagePanelLocation): void {\r\n this._location = location;\r\n\r\n if (!config)\r\n return;\r\n this._size = config.size;\r\n this._defaultSize = config.size;\r\n this._maxSizeSpec = config.maxSize;\r\n this._minSize = config.minSize;\r\n if (config.defaultState !== undefined) {\r\n this._defaultState = config.defaultState;\r\n this._panelState = config.defaultState;\r\n }\r\n this._resizable = config.resizable ?? true;\r\n if (config.pinned !== undefined)\r\n this._pinned = config.pinned;\r\n\r\n const sections = config.sections;\r\n this._start.initializeFromConfig(sections?.start);\r\n this._end.initializeFromConfig(sections?.end);\r\n }\r\n\r\n /** Gets the list of Widgets. */\r\n public override get widgetDefs(): ReadonlyArray<WidgetDef> {\r\n return [...super.widgetDefs, ...this._start.widgetDefs, ...this._end.widgetDefs];\r\n }\r\n\r\n /** @internal */\r\n public override updateDynamicWidgetDefs(stageId: string, stageUsage: string, location: StagePanelLocation, _section: StagePanelSection | undefined,\r\n allStageWidgetDefs: WidgetDef[]) {\r\n this._start.updateDynamicWidgetDefs(stageId, stageUsage, location, StagePanelSection.Start, allStageWidgetDefs);\r\n this._end.updateDynamicWidgetDefs(stageId, stageUsage, location, StagePanelSection.End, allStageWidgetDefs);\r\n }\r\n\r\n /** @internal */\r\n public getPanelSectionDef(section: StagePanelSection) {\r\n switch (section) {\r\n case StagePanelSection.Start: {\r\n return this._start;\r\n }\r\n case StagePanelSection.End: {\r\n return this._end;\r\n }\r\n }\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport class StagePanelSectionDef extends WidgetHost {\r\n /** @internal */\r\n public initializeFromConfig(config: StagePanelSectionConfig | undefined) {\r\n config?.forEach((widgetConfig) => {\r\n const widgetDef = WidgetDef.create(widgetConfig);\r\n this.addWidgetDef(widgetDef);\r\n });\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport function toPanelSide(location: StagePanelLocation): PanelSide {\r\n switch (location) {\r\n case StagePanelLocation.Bottom:\r\n return \"bottom\";\r\n case StagePanelLocation.Left:\r\n return \"left\";\r\n case StagePanelLocation.Right:\r\n return \"right\";\r\n case StagePanelLocation.Top:\r\n return \"top\";\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport const setPanelSize: (nineZone: NineZoneState, side: PanelSide, size: number | undefined) => NineZoneState = produce((\r\n nineZone: Draft<NineZoneState>,\r\n side: PanelSide,\r\n size: number | undefined,\r\n) => {\r\n const panel = nineZone.panels[side];\r\n panel.size = size === undefined ? size : Math.min(Math.max(size, panel.minSize), panel.maxSize);\r\n});\r\n\r\n/** @internal */\r\nexport const setPanelPinned: (nineZone: NineZoneState, side: PanelSide, pinned: boolean) => NineZoneState = produce((\r\n nineZone: Draft<NineZoneState>,\r\n side: PanelSide,\r\n pinned: boolean,\r\n) => {\r\n const panel = nineZone.panels[side];\r\n panel.pinned = pinned;\r\n});\r\n"]}
@@ -0,0 +1,34 @@
1
+ /** @packageDocumentation
2
+ * @module UiProvider
3
+ */
4
+ import { BeUiEvent } from "@itwin/core-bentley";
5
+ import type { UiItemsManager as AbstractUiItemsManagerType } from "@itwin/appui-abstract";
6
+ import type { UiItemsManager, UiItemsProviderOverrides, UiItemsProviderRegisteredEventArgs } from "./UiItemsManager";
7
+ import { StagePanelLocation } from "../stagepanels/StagePanelLocation";
8
+ import { StagePanelSection } from "../stagepanels/StagePanelSection";
9
+ import { Widget } from "../widgets/Widget";
10
+ import { ProviderItem } from "./ProviderItem";
11
+ import { UiItemsProvider } from "./UiItemsProvider";
12
+ import { ToolbarItem, ToolbarOrientation, ToolbarUsage } from "../toolbar/ToolbarItem";
13
+ import { BackstageItem } from "../backstage/BackstageItem";
14
+ import { StatusBarItem } from "../statusbar/StatusBarItem";
15
+ /** @internal */
16
+ export declare function createAbstractUiItemsManagerAdapter(): AbstractUiItemsManagerAdapter | undefined;
17
+ type Target = Pick<typeof UiItemsManager, "getWidgets" | "getToolbarButtonItems" | "getStatusBarItems" | "getBackstageItems" | "register" | "getUiItemsProvider" | "registeredProviderIds" | "hasRegisteredProviders" | "unregister" | "onUiProviderRegisteredEvent" | "clearAllProviders">;
18
+ declare class AbstractUiItemsManagerAdapter implements Target {
19
+ private readonly _adaptee;
20
+ constructor(_adaptee: typeof AbstractUiItemsManagerType);
21
+ clearAllProviders(): void;
22
+ get onUiProviderRegisteredEvent(): BeUiEvent<UiItemsProviderRegisteredEventArgs>;
23
+ unregister(providerId: string): void;
24
+ get hasRegisteredProviders(): boolean;
25
+ get registeredProviderIds(): string[];
26
+ register(provider: UiItemsProvider, overrides?: UiItemsProviderOverrides | undefined): void;
27
+ getUiItemsProvider(providerId: string): UiItemsProvider | undefined;
28
+ getBackstageItems(): readonly ProviderItem<BackstageItem>[];
29
+ getStatusBarItems(stageId: string, stageUsage: string): readonly ProviderItem<StatusBarItem>[];
30
+ getToolbarButtonItems(stageId: string, stageUsage: string, usage: ToolbarUsage, orientation: ToolbarOrientation): readonly ProviderItem<ToolbarItem>[];
31
+ getWidgets(stageId: string, stageUsage: string, location: StagePanelLocation, section?: StagePanelSection | undefined): readonly ProviderItem<Widget>[];
32
+ }
33
+ export {};
34
+ //# sourceMappingURL=AbstractUiItemsManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AbstractUiItemsManager.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/ui-items-provider/AbstractUiItemsManager.ts"],"names":[],"mappings":"AAIA;;GAEG;AAKH,OAAO,EAAU,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,KAAK,EAWV,cAAc,IAAI,0BAA0B,EAK7C,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,wBAAwB,EAAE,kCAAkC,EAAE,MAAM,kBAAkB,CAAC;AACrH,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAA2C,WAAW,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAChI,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAyB,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAmBlF,gBAAgB;AAChB,wBAAgB,mCAAmC,8CAIlD;AAED,KAAK,MAAM,GAAG,IAAI,CAAC,OAAO,cAAc,EAAE,YAAY,GAAG,uBAAuB,GAAG,mBAAmB,GAAG,mBAAmB,GAAG,UAAU,GAAG,oBAAoB,GAAG,uBAAuB,GAAG,wBAAwB,GAAG,YAAY,GAAG,6BAA6B,GAAG,mBAAmB,CAAC,CAAC;AAE5R,cAAM,6BAA8B,YAAW,MAAM;IACvC,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,OAAO,0BAA0B;IAGjE,iBAAiB,IAAI,IAAI;IAIhC,IAAW,2BAA2B,IAAI,SAAS,CAAC,kCAAkC,CAAC,CAOtF;IAEM,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAI3C,IAAW,sBAAsB,IAAI,OAAO,CAE3C;IAED,IAAW,qBAAqB,IAAI,MAAM,EAAE,CAE3C;IAEM,QAAQ,CAAC,QAAQ,EAAE,eAAe,EAAE,SAAS,CAAC,EAAE,wBAAwB,GAAG,SAAS,GAAG,IAAI;IAK3F,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IASnE,iBAAiB,IAAI,SAAS,YAAY,CAAC,aAAa,CAAC,EAAE;IAY3D,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,SAAS,YAAY,CAAC,aAAa,CAAC,EAAE;IAY9F,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,kBAAkB,GAAG,SAAS,YAAY,CAAC,WAAW,CAAC,EAAE;IAYtJ,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,SAAS,GAAG,SAAS,YAAY,CAAC,MAAM,CAAC,EAAE;CA8B/J"}