@testgorilla/tgo-ui 11.16.0 → 11.18.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 (152) hide show
  1. package/fesm2022/testgorilla-tgo-ui-components-accordion.mjs +7 -7
  2. package/fesm2022/testgorilla-tgo-ui-components-accordion.mjs.map +1 -1
  3. package/fesm2022/testgorilla-tgo-ui-components-ai-audio-circle.mjs +7 -7
  4. package/fesm2022/testgorilla-tgo-ui-components-ai-audio-circle.mjs.map +1 -1
  5. package/fesm2022/testgorilla-tgo-ui-components-ai-caveat.mjs +7 -7
  6. package/fesm2022/testgorilla-tgo-ui-components-ai-caveat.mjs.map +1 -1
  7. package/fesm2022/testgorilla-tgo-ui-components-ai-feedback.mjs +7 -7
  8. package/fesm2022/testgorilla-tgo-ui-components-ai-feedback.mjs.map +1 -1
  9. package/fesm2022/testgorilla-tgo-ui-components-alert-banner.mjs +7 -7
  10. package/fesm2022/testgorilla-tgo-ui-components-alert-banner.mjs.map +1 -1
  11. package/fesm2022/testgorilla-tgo-ui-components-audio-waveform.mjs +10 -10
  12. package/fesm2022/testgorilla-tgo-ui-components-audio-waveform.mjs.map +1 -1
  13. package/fesm2022/testgorilla-tgo-ui-components-autocomplete-v2.mjs +15 -15
  14. package/fesm2022/testgorilla-tgo-ui-components-autocomplete-v2.mjs.map +1 -1
  15. package/fesm2022/testgorilla-tgo-ui-components-autocomplete.mjs +19 -19
  16. package/fesm2022/testgorilla-tgo-ui-components-autocomplete.mjs.map +1 -1
  17. package/fesm2022/testgorilla-tgo-ui-components-avatar.mjs +10 -10
  18. package/fesm2022/testgorilla-tgo-ui-components-avatar.mjs.map +1 -1
  19. package/fesm2022/testgorilla-tgo-ui-components-badge.mjs +7 -7
  20. package/fesm2022/testgorilla-tgo-ui-components-badge.mjs.map +1 -1
  21. package/fesm2022/testgorilla-tgo-ui-components-breadcrumb.mjs +7 -7
  22. package/fesm2022/testgorilla-tgo-ui-components-breadcrumb.mjs.map +1 -1
  23. package/fesm2022/testgorilla-tgo-ui-components-button.mjs +7 -7
  24. package/fesm2022/testgorilla-tgo-ui-components-button.mjs.map +1 -1
  25. package/fesm2022/testgorilla-tgo-ui-components-card.mjs +7 -7
  26. package/fesm2022/testgorilla-tgo-ui-components-card.mjs.map +1 -1
  27. package/fesm2022/testgorilla-tgo-ui-components-checkbox.mjs +10 -10
  28. package/fesm2022/testgorilla-tgo-ui-components-checkbox.mjs.map +1 -1
  29. package/fesm2022/testgorilla-tgo-ui-components-checklist.mjs +3 -3
  30. package/fesm2022/testgorilla-tgo-ui-components-checklist.mjs.map +1 -1
  31. package/fesm2022/testgorilla-tgo-ui-components-core.mjs +42 -42
  32. package/fesm2022/testgorilla-tgo-ui-components-core.mjs.map +1 -1
  33. package/fesm2022/testgorilla-tgo-ui-components-datepicker.mjs +19 -19
  34. package/fesm2022/testgorilla-tgo-ui-components-datepicker.mjs.map +1 -1
  35. package/fesm2022/testgorilla-tgo-ui-components-device-control.mjs +7 -7
  36. package/fesm2022/testgorilla-tgo-ui-components-device-control.mjs.map +1 -1
  37. package/fesm2022/testgorilla-tgo-ui-components-dialog.mjs +24 -24
  38. package/fesm2022/testgorilla-tgo-ui-components-dialog.mjs.map +1 -1
  39. package/fesm2022/testgorilla-tgo-ui-components-divider.mjs +7 -7
  40. package/fesm2022/testgorilla-tgo-ui-components-divider.mjs.map +1 -1
  41. package/fesm2022/testgorilla-tgo-ui-components-donut-chart.mjs +7 -7
  42. package/fesm2022/testgorilla-tgo-ui-components-donut-chart.mjs.map +1 -1
  43. package/fesm2022/testgorilla-tgo-ui-components-dropdown.mjs +7 -7
  44. package/fesm2022/testgorilla-tgo-ui-components-dropdown.mjs.map +1 -1
  45. package/fesm2022/testgorilla-tgo-ui-components-elevation-shadow.mjs +7 -7
  46. package/fesm2022/testgorilla-tgo-ui-components-elevation-shadow.mjs.map +1 -1
  47. package/fesm2022/testgorilla-tgo-ui-components-empty-state.mjs +7 -7
  48. package/fesm2022/testgorilla-tgo-ui-components-empty-state.mjs.map +1 -1
  49. package/fesm2022/testgorilla-tgo-ui-components-field.mjs +7 -7
  50. package/fesm2022/testgorilla-tgo-ui-components-field.mjs.map +1 -1
  51. package/fesm2022/testgorilla-tgo-ui-components-file-upload.mjs +10 -10
  52. package/fesm2022/testgorilla-tgo-ui-components-file-upload.mjs.map +1 -1
  53. package/fesm2022/testgorilla-tgo-ui-components-filter-button.mjs +7 -7
  54. package/fesm2022/testgorilla-tgo-ui-components-filter-button.mjs.map +1 -1
  55. package/fesm2022/testgorilla-tgo-ui-components-gaussian-chart.mjs +7 -7
  56. package/fesm2022/testgorilla-tgo-ui-components-gaussian-chart.mjs.map +1 -1
  57. package/fesm2022/testgorilla-tgo-ui-components-icon-label.mjs +7 -7
  58. package/fesm2022/testgorilla-tgo-ui-components-icon-label.mjs.map +1 -1
  59. package/fesm2022/testgorilla-tgo-ui-components-icon.mjs +10 -10
  60. package/fesm2022/testgorilla-tgo-ui-components-icon.mjs.map +1 -1
  61. package/fesm2022/testgorilla-tgo-ui-components-infinite-scroll-table.mjs +7 -7
  62. package/fesm2022/testgorilla-tgo-ui-components-infinite-scroll-table.mjs.map +1 -1
  63. package/fesm2022/testgorilla-tgo-ui-components-inline-field.mjs +7 -7
  64. package/fesm2022/testgorilla-tgo-ui-components-inline-field.mjs.map +1 -1
  65. package/fesm2022/testgorilla-tgo-ui-components-logo.mjs +7 -7
  66. package/fesm2022/testgorilla-tgo-ui-components-logo.mjs.map +1 -1
  67. package/fesm2022/testgorilla-tgo-ui-components-media-card.mjs +3 -3
  68. package/fesm2022/testgorilla-tgo-ui-components-media-card.mjs.map +1 -1
  69. package/fesm2022/testgorilla-tgo-ui-components-media-dialog.mjs +3 -3
  70. package/fesm2022/testgorilla-tgo-ui-components-media-dialog.mjs.map +1 -1
  71. package/fesm2022/testgorilla-tgo-ui-components-multi-input.mjs +7 -7
  72. package/fesm2022/testgorilla-tgo-ui-components-multi-input.mjs.map +1 -1
  73. package/fesm2022/testgorilla-tgo-ui-components-navbar.mjs +10 -10
  74. package/fesm2022/testgorilla-tgo-ui-components-navbar.mjs.map +1 -1
  75. package/fesm2022/testgorilla-tgo-ui-components-overflow-menu.mjs +7 -7
  76. package/fesm2022/testgorilla-tgo-ui-components-overflow-menu.mjs.map +1 -1
  77. package/fesm2022/testgorilla-tgo-ui-components-page-header.mjs +7 -7
  78. package/fesm2022/testgorilla-tgo-ui-components-page-header.mjs.map +1 -1
  79. package/fesm2022/testgorilla-tgo-ui-components-paginator.mjs +7 -7
  80. package/fesm2022/testgorilla-tgo-ui-components-paginator.mjs.map +1 -1
  81. package/fesm2022/testgorilla-tgo-ui-components-password-criteria.mjs +7 -7
  82. package/fesm2022/testgorilla-tgo-ui-components-password-criteria.mjs.map +1 -1
  83. package/fesm2022/testgorilla-tgo-ui-components-password-strength.mjs +7 -7
  84. package/fesm2022/testgorilla-tgo-ui-components-password-strength.mjs.map +1 -1
  85. package/fesm2022/testgorilla-tgo-ui-components-phone-input.mjs +10 -10
  86. package/fesm2022/testgorilla-tgo-ui-components-phone-input.mjs.map +1 -1
  87. package/fesm2022/testgorilla-tgo-ui-components-popover.mjs +6 -6
  88. package/fesm2022/testgorilla-tgo-ui-components-popover.mjs.map +1 -1
  89. package/fesm2022/testgorilla-tgo-ui-components-popup-tip.mjs +7 -7
  90. package/fesm2022/testgorilla-tgo-ui-components-popup-tip.mjs.map +1 -1
  91. package/fesm2022/testgorilla-tgo-ui-components-progress-bar.mjs +7 -7
  92. package/fesm2022/testgorilla-tgo-ui-components-progress-bar.mjs.map +1 -1
  93. package/fesm2022/testgorilla-tgo-ui-components-prompt.mjs +7 -7
  94. package/fesm2022/testgorilla-tgo-ui-components-prompt.mjs.map +1 -1
  95. package/fesm2022/testgorilla-tgo-ui-components-radial-progress.mjs +7 -7
  96. package/fesm2022/testgorilla-tgo-ui-components-radial-progress.mjs.map +1 -1
  97. package/fesm2022/testgorilla-tgo-ui-components-radio-button.mjs +7 -7
  98. package/fesm2022/testgorilla-tgo-ui-components-radio-button.mjs.map +1 -1
  99. package/fesm2022/testgorilla-tgo-ui-components-rating.mjs +10 -10
  100. package/fesm2022/testgorilla-tgo-ui-components-rating.mjs.map +1 -1
  101. package/fesm2022/testgorilla-tgo-ui-components-scale-table.mjs +3 -3
  102. package/fesm2022/testgorilla-tgo-ui-components-scale-table.mjs.map +1 -1
  103. package/fesm2022/testgorilla-tgo-ui-components-scale.mjs +7 -7
  104. package/fesm2022/testgorilla-tgo-ui-components-scale.mjs.map +1 -1
  105. package/fesm2022/testgorilla-tgo-ui-components-segmented-bar.mjs +7 -7
  106. package/fesm2022/testgorilla-tgo-ui-components-segmented-bar.mjs.map +1 -1
  107. package/fesm2022/testgorilla-tgo-ui-components-segmented-button.mjs +7 -7
  108. package/fesm2022/testgorilla-tgo-ui-components-segmented-button.mjs.map +1 -1
  109. package/fesm2022/testgorilla-tgo-ui-components-segmented-toggle.mjs +3 -3
  110. package/fesm2022/testgorilla-tgo-ui-components-segmented-toggle.mjs.map +1 -1
  111. package/fesm2022/testgorilla-tgo-ui-components-selectable-card.mjs +7 -7
  112. package/fesm2022/testgorilla-tgo-ui-components-selectable-card.mjs.map +1 -1
  113. package/fesm2022/testgorilla-tgo-ui-components-side-navigation.mjs +7 -7
  114. package/fesm2022/testgorilla-tgo-ui-components-side-navigation.mjs.map +1 -1
  115. package/fesm2022/testgorilla-tgo-ui-components-side-panel.mjs +103 -12
  116. package/fesm2022/testgorilla-tgo-ui-components-side-panel.mjs.map +1 -1
  117. package/fesm2022/testgorilla-tgo-ui-components-side-sheet.mjs +10 -10
  118. package/fesm2022/testgorilla-tgo-ui-components-side-sheet.mjs.map +1 -1
  119. package/fesm2022/testgorilla-tgo-ui-components-skeleton.mjs +3 -3
  120. package/fesm2022/testgorilla-tgo-ui-components-skeleton.mjs.map +1 -1
  121. package/fesm2022/testgorilla-tgo-ui-components-slider.mjs +7 -7
  122. package/fesm2022/testgorilla-tgo-ui-components-slider.mjs.map +1 -1
  123. package/fesm2022/testgorilla-tgo-ui-components-snackbar.mjs +10 -10
  124. package/fesm2022/testgorilla-tgo-ui-components-snackbar.mjs.map +1 -1
  125. package/fesm2022/testgorilla-tgo-ui-components-spider-chart.mjs +7 -7
  126. package/fesm2022/testgorilla-tgo-ui-components-spider-chart.mjs.map +1 -1
  127. package/fesm2022/testgorilla-tgo-ui-components-spinner.mjs +7 -7
  128. package/fesm2022/testgorilla-tgo-ui-components-spinner.mjs.map +1 -1
  129. package/fesm2022/testgorilla-tgo-ui-components-stepper.mjs +17 -17
  130. package/fesm2022/testgorilla-tgo-ui-components-stepper.mjs.map +1 -1
  131. package/fesm2022/testgorilla-tgo-ui-components-table.mjs +10 -10
  132. package/fesm2022/testgorilla-tgo-ui-components-table.mjs.map +1 -1
  133. package/fesm2022/testgorilla-tgo-ui-components-tabs.mjs +10 -10
  134. package/fesm2022/testgorilla-tgo-ui-components-tabs.mjs.map +1 -1
  135. package/fesm2022/testgorilla-tgo-ui-components-tag.mjs +7 -7
  136. package/fesm2022/testgorilla-tgo-ui-components-tag.mjs.map +1 -1
  137. package/fesm2022/testgorilla-tgo-ui-components-toggle.mjs +7 -7
  138. package/fesm2022/testgorilla-tgo-ui-components-toggle.mjs.map +1 -1
  139. package/fesm2022/testgorilla-tgo-ui-components-tooltip.mjs +10 -10
  140. package/fesm2022/testgorilla-tgo-ui-components-tooltip.mjs.map +1 -1
  141. package/fesm2022/testgorilla-tgo-ui-components-universal-skills.mjs +17 -17
  142. package/fesm2022/testgorilla-tgo-ui-components-universal-skills.mjs.map +1 -1
  143. package/fesm2022/testgorilla-tgo-ui-components-validation-error.mjs +7 -7
  144. package/fesm2022/testgorilla-tgo-ui-components-validation-error.mjs.map +1 -1
  145. package/fesm2022/testgorilla-tgo-ui-components-write-with-ai.mjs +10 -10
  146. package/fesm2022/testgorilla-tgo-ui-components-write-with-ai.mjs.map +1 -1
  147. package/fesm2022/testgorilla-tgo-ui.mjs +7 -7
  148. package/fesm2022/testgorilla-tgo-ui.mjs.map +1 -1
  149. package/mcp/catalog.json +1 -1
  150. package/mcp/server.mjs +412 -128
  151. package/package.json +9 -9
  152. package/types/testgorilla-tgo-ui-components-side-panel.d.ts +69 -5
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@testgorilla/tgo-ui",
3
- "version": "11.16.0",
3
+ "version": "11.18.0",
4
4
  "license": "proprietary-license",
5
5
  "lint-staged": {
6
6
  "{projects,components}/**/*.ts": [
@@ -15,16 +15,16 @@
15
15
  "tslib": "~2.4.0"
16
16
  },
17
17
  "peerDependencies": {
18
- "@angular/animations": "~21.2.18",
18
+ "@angular/animations": "~21.2.23",
19
19
  "@angular/cdk": "~21.2.14",
20
- "@angular/common": "~21.2.18",
21
- "@angular/compiler": "~21.2.18",
22
- "@angular/core": "~21.2.18",
23
- "@angular/forms": "~21.2.18",
20
+ "@angular/common": "~21.2.23",
21
+ "@angular/compiler": "~21.2.23",
22
+ "@angular/core": "~21.2.23",
23
+ "@angular/forms": "~21.2.23",
24
24
  "@angular/material": "~21.2.14",
25
- "@angular/platform-browser": "~21.2.18",
26
- "@angular/platform-browser-dynamic": "~21.2.18",
27
- "@angular/router": "~21.2.18",
25
+ "@angular/platform-browser": "~21.2.23",
26
+ "@angular/platform-browser-dynamic": "~21.2.23",
27
+ "@angular/router": "~21.2.23",
28
28
  "chart.js": "^4.4.5",
29
29
  "chartjs-plugin-datalabels": "^2.2.0",
30
30
  "gaussian": "^1.3.0",
@@ -1,6 +1,6 @@
1
1
  import * as _testgorilla_tgo_ui_components_core from '@testgorilla/tgo-ui/components/core';
2
2
  import * as _angular_core from '@angular/core';
3
- import { InjectionToken, ViewContainerRef, ElementRef, Type, TemplateRef, Injector } from '@angular/core';
3
+ import { InjectionToken, Signal, TemplateRef, OutputEmitterRef, ViewContainerRef, ElementRef, Type, Injector } from '@angular/core';
4
4
  import { Observable } from 'rxjs';
5
5
  import * as _angular_animations from '@angular/animations';
6
6
 
@@ -12,6 +12,19 @@ declare enum SidePanelAnimationState {
12
12
  ClosedLeft = "closedLeft"
13
13
  }
14
14
  type SidePanelSize = 'small' | 'large' | 'x-large';
15
+ /**
16
+ * What a `ui-side-panel-view` registers with the surrounding `SidePanelComponent`. The panel
17
+ * types its registration against this rather than importing the view component, which keeps
18
+ * the two files free of a runtime import cycle. `undefined` means "falls back to the config".
19
+ */
20
+ interface SidePanelViewRef {
21
+ readonly title: Signal<string | undefined>;
22
+ readonly showBackButton: Signal<boolean | undefined>;
23
+ readonly footerTemplate: Signal<TemplateRef<unknown> | null>;
24
+ readonly footerDivider: Signal<boolean>;
25
+ readonly fillHeight: Signal<boolean>;
26
+ readonly back: OutputEmitterRef<void>;
27
+ }
15
28
  declare class SidePanelConfig {
16
29
  title: string;
17
30
  position: SidePanelPosition;
@@ -51,6 +64,8 @@ declare class SidePanelRef<T = any, R = any> {
51
64
  }
52
65
 
53
66
  declare class SidePanelComponent {
67
+ private readonly sidePanelService;
68
+ sidePanelConfig: SidePanelConfig;
54
69
  sidePanelPosition: _angular_core.WritableSignal<SidePanelPosition>;
55
70
  sidePanelContainer: _angular_core.Signal<ViewContainerRef>;
56
71
  sidePanel: _angular_core.Signal<ElementRef<HTMLDivElement>>;
@@ -61,18 +76,67 @@ declare class SidePanelComponent {
61
76
  isSmall: _angular_core.Signal<boolean>;
62
77
  isLarge: _angular_core.Signal<boolean>;
63
78
  isXLarge: _angular_core.Signal<boolean>;
79
+ private readonly activeView;
80
+ protected readonly headerTitle: _angular_core.Signal<string>;
81
+ protected readonly showBackButton: _angular_core.Signal<boolean>;
82
+ protected readonly footerTemplate: _angular_core.Signal<_angular_core.TemplateRef<unknown> | null>;
83
+ /** A view owns the back button only when it asked for one; otherwise the config did. */
84
+ private readonly viewOwnsBackButton;
85
+ protected readonly footerDivider: _angular_core.Signal<boolean>;
86
+ protected readonly fillHeight: _angular_core.Signal<boolean>;
64
87
  animation: _angular_core.Signal<SidePanelAnimationState.Open | SidePanelAnimationState.ClosedRight | SidePanelAnimationState.ClosedLeft>;
65
- private readonly sidePanelService;
66
- sidePanelConfig: SidePanelConfig;
67
88
  protected readonly closeButtonTestId: string | null;
68
89
  protected readonly backButtonTestId: string | null;
69
90
  constructor();
91
+ /** The last view to register wins, so a control-flow swap in either order ends up correct. */
92
+ registerView(view: SidePanelViewRef): void;
93
+ /** Guarded by identity so a view destroyed after its successor was created cannot unseat it. */
94
+ unregisterView(view: SidePanelViewRef): void;
95
+ /**
96
+ * The action follows whoever asked for the button, so that a consumer who leaves the flag in the
97
+ * config and adopts a view for its footer gets the old close behaviour rather than a dead button.
98
+ */
99
+ protected onBack(): void;
70
100
  open(): void;
71
101
  close(result?: unknown): void;
72
102
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SidePanelComponent, never>;
73
103
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<SidePanelComponent, "ui-side-panel", never, {}, {}, never, never, true, never>;
74
104
  }
75
105
 
106
+ /**
107
+ * One view inside a side panel: its body, its header title and its footer. Render a different
108
+ * one per step to switch views without reopening the panel.
109
+ */
110
+ declare class SidePanelViewComponent implements SidePanelViewRef {
111
+ /** Left unset, the panel keeps the title from `SidePanelConfig`. */
112
+ readonly title: _angular_core.InputSignal<string | undefined>;
113
+ /** Left unset, the panel falls back to `SidePanelConfig.showBackButton`. */
114
+ readonly showBackButton: _angular_core.InputSignalWithTransform<boolean | undefined, unknown>;
115
+ /** Draws a rule above the footer, separating it from content that scrolls underneath. */
116
+ readonly footerDivider: _angular_core.InputSignalWithTransform<boolean, unknown>;
117
+ /**
118
+ * Makes the view fill the panel body instead of growing with its content, and stops the panel
119
+ * scrolling. Content then owns its own overflow — give the element that should scroll
120
+ * `flex: 1; min-height: 0; overflow: auto`, or `height: 100%`.
121
+ */
122
+ readonly fillHeight: _angular_core.InputSignalWithTransform<boolean, unknown>;
123
+ /** The panel does not close itself — move to the previous view, or close it yourself. */
124
+ readonly back: _angular_core.OutputEmitterRef<void>;
125
+ private readonly footer;
126
+ readonly footerTemplate: _angular_core.Signal<_angular_core.TemplateRef<unknown> | null>;
127
+ private readonly panel;
128
+ constructor();
129
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SidePanelViewComponent, never>;
130
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SidePanelViewComponent, "ui-side-panel-view", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "showBackButton": { "alias": "showBackButton"; "required": false; "isSignal": true; }; "footerDivider": { "alias": "footerDivider"; "required": false; "isSignal": true; }; "fillHeight": { "alias": "fillHeight"; "required": false; "isSignal": true; }; }, { "back": "back"; }, ["footer"], ["*"], true, never>;
131
+ }
132
+
133
+ /** Marks the `ng-template` inside a `ui-side-panel-view` that holds the view's footer. */
134
+ declare class SidePanelFooterDirective {
135
+ readonly templateRef: TemplateRef<unknown>;
136
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SidePanelFooterDirective, never>;
137
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SidePanelFooterDirective, "ng-template[uiSidePanelFooter]", never, {}, {}, never, never, true, never>;
138
+ }
139
+
76
140
  declare class SidePanelService {
77
141
  private SidePanelComponentRef?;
78
142
  private contentComponentRef?;
@@ -99,5 +163,5 @@ declare const backdropAnimation: _angular_animations.AnimationTriggerMetadata[];
99
163
 
100
164
  declare const SIDE_PANEL_DATA: InjectionToken<unknown>;
101
165
 
102
- export { SIDE_PANEL_CONFIG, SIDE_PANEL_DATA, SidePanelAnimationState, SidePanelComponent, SidePanelConfig, SidePanelRef, SidePanelService, backdropAnimation, defaultSidePanelConfig, sidePanelAnimation, sidePanelAnimationDuration };
103
- export type { SidePanelPosition, SidePanelSize };
166
+ export { SIDE_PANEL_CONFIG, SIDE_PANEL_DATA, SidePanelAnimationState, SidePanelComponent, SidePanelConfig, SidePanelFooterDirective, SidePanelRef, SidePanelService, SidePanelViewComponent, backdropAnimation, defaultSidePanelConfig, sidePanelAnimation, sidePanelAnimationDuration };
167
+ export type { SidePanelPosition, SidePanelSize, SidePanelViewRef };