@memberjunction/ng-explorer-core 6.2.0-edge.2 → 6.2.0-edge.4

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 (139) hide show
  1. package/README.md +10 -0
  2. package/dist/app-routing.module.d.ts.map +1 -1
  3. package/dist/app-routing.module.js +5 -0
  4. package/dist/app-routing.module.js.map +1 -1
  5. package/dist/generated/lazy-feature-config.d.ts +1 -1
  6. package/dist/generated/lazy-feature-config.d.ts.map +1 -1
  7. package/dist/generated/lazy-feature-config.js +12 -2
  8. package/dist/generated/lazy-feature-config.js.map +1 -1
  9. package/dist/lib/guards/moved-nav-item-redirect.d.ts +15 -0
  10. package/dist/lib/guards/moved-nav-item-redirect.d.ts.map +1 -0
  11. package/dist/lib/guards/moved-nav-item-redirect.js +37 -0
  12. package/dist/lib/guards/moved-nav-item-redirect.js.map +1 -0
  13. package/dist/lib/omnibar/omnibar-dashboard-matches.d.ts +34 -0
  14. package/dist/lib/omnibar/omnibar-dashboard-matches.d.ts.map +1 -0
  15. package/dist/lib/omnibar/omnibar-dashboard-matches.js +70 -0
  16. package/dist/lib/omnibar/omnibar-dashboard-matches.js.map +1 -0
  17. package/dist/lib/omnibar/omnibar-palette.component.d.ts +27 -2
  18. package/dist/lib/omnibar/omnibar-palette.component.d.ts.map +1 -1
  19. package/dist/lib/omnibar/omnibar-palette.component.js +126 -65
  20. package/dist/lib/omnibar/omnibar-palette.component.js.map +1 -1
  21. package/dist/lib/omnibar/omnibar-provider.d.ts +4 -0
  22. package/dist/lib/omnibar/omnibar-provider.d.ts.map +1 -1
  23. package/dist/lib/omnibar/omnibar-provider.js.map +1 -1
  24. package/dist/lib/omnibar/providers/omnibar-record.provider.d.ts +2 -2
  25. package/dist/lib/omnibar/providers/omnibar-record.provider.d.ts.map +1 -1
  26. package/dist/lib/omnibar/providers/omnibar-record.provider.js +3 -7
  27. package/dist/lib/omnibar/providers/omnibar-record.provider.js.map +1 -1
  28. package/dist/lib/omnibar/providers/omnibar-search.provider.d.ts +15 -2
  29. package/dist/lib/omnibar/providers/omnibar-search.provider.d.ts.map +1 -1
  30. package/dist/lib/omnibar/providers/omnibar-search.provider.js +59 -7
  31. package/dist/lib/omnibar/providers/omnibar-search.provider.js.map +1 -1
  32. package/dist/lib/profile/forking-setting.d.ts +8 -0
  33. package/dist/lib/profile/forking-setting.d.ts.map +1 -0
  34. package/dist/lib/profile/forking-setting.js +18 -0
  35. package/dist/lib/profile/forking-setting.js.map +1 -0
  36. package/dist/lib/profile/profile-dialog.component.d.ts +8 -0
  37. package/dist/lib/profile/profile-dialog.component.d.ts.map +1 -1
  38. package/dist/lib/profile/profile-dialog.component.js +182 -92
  39. package/dist/lib/profile/profile-dialog.component.js.map +1 -1
  40. package/dist/lib/resource-wrappers/artifact-resource.component.d.ts +23 -4
  41. package/dist/lib/resource-wrappers/artifact-resource.component.d.ts.map +1 -1
  42. package/dist/lib/resource-wrappers/artifact-resource.component.js +36 -8
  43. package/dist/lib/resource-wrappers/artifact-resource.component.js.map +1 -1
  44. package/dist/lib/resource-wrappers/chat-conversations-resource.component.d.ts +7 -18
  45. package/dist/lib/resource-wrappers/chat-conversations-resource.component.d.ts.map +1 -1
  46. package/dist/lib/resource-wrappers/chat-conversations-resource.component.js +20 -41
  47. package/dist/lib/resource-wrappers/chat-conversations-resource.component.js.map +1 -1
  48. package/dist/lib/resource-wrappers/chat-search-routing.d.ts +10 -3
  49. package/dist/lib/resource-wrappers/chat-search-routing.d.ts.map +1 -1
  50. package/dist/lib/resource-wrappers/chat-search-routing.js +11 -4
  51. package/dist/lib/resource-wrappers/chat-search-routing.js.map +1 -1
  52. package/dist/lib/resource-wrappers/dashboard-add-to-menu.component.d.ts +29 -0
  53. package/dist/lib/resource-wrappers/dashboard-add-to-menu.component.d.ts.map +1 -0
  54. package/dist/lib/resource-wrappers/dashboard-add-to-menu.component.js +141 -0
  55. package/dist/lib/resource-wrappers/dashboard-add-to-menu.component.js.map +1 -0
  56. package/dist/lib/resource-wrappers/dashboard-part-config.d.ts +28 -0
  57. package/dist/lib/resource-wrappers/dashboard-part-config.d.ts.map +1 -0
  58. package/dist/lib/resource-wrappers/dashboard-part-config.js +150 -0
  59. package/dist/lib/resource-wrappers/dashboard-part-config.js.map +1 -0
  60. package/dist/lib/resource-wrappers/dashboard-resource.component.d.ts +361 -56
  61. package/dist/lib/resource-wrappers/dashboard-resource.component.d.ts.map +1 -1
  62. package/dist/lib/resource-wrappers/dashboard-resource.component.js +1312 -361
  63. package/dist/lib/resource-wrappers/dashboard-resource.component.js.map +1 -1
  64. package/dist/lib/resource-wrappers/dashboard-source-search.d.ts +86 -0
  65. package/dist/lib/resource-wrappers/dashboard-source-search.d.ts.map +1 -0
  66. package/dist/lib/resource-wrappers/dashboard-source-search.js +136 -0
  67. package/dist/lib/resource-wrappers/dashboard-source-search.js.map +1 -0
  68. package/dist/lib/resource-wrappers/dashboard-studio-pane.d.ts +30 -0
  69. package/dist/lib/resource-wrappers/dashboard-studio-pane.d.ts.map +1 -0
  70. package/dist/lib/resource-wrappers/dashboard-studio-pane.js +55 -0
  71. package/dist/lib/resource-wrappers/dashboard-studio-pane.js.map +1 -0
  72. package/dist/lib/resource-wrappers/dashboard-studio-tools.d.ts +135 -0
  73. package/dist/lib/resource-wrappers/dashboard-studio-tools.d.ts.map +1 -0
  74. package/dist/lib/resource-wrappers/dashboard-studio-tools.js +856 -0
  75. package/dist/lib/resource-wrappers/dashboard-studio-tools.js.map +1 -0
  76. package/dist/lib/resource-wrappers/dashboard-tab-agent.d.ts +87 -0
  77. package/dist/lib/resource-wrappers/dashboard-tab-agent.d.ts.map +1 -0
  78. package/dist/lib/resource-wrappers/dashboard-tab-agent.js +125 -0
  79. package/dist/lib/resource-wrappers/dashboard-tab-agent.js.map +1 -0
  80. package/dist/lib/resource-wrappers/human-handoff-console-resource.component.d.ts +32 -0
  81. package/dist/lib/resource-wrappers/human-handoff-console-resource.component.d.ts.map +1 -0
  82. package/dist/lib/resource-wrappers/human-handoff-console-resource.component.js +114 -0
  83. package/dist/lib/resource-wrappers/human-handoff-console-resource.component.js.map +1 -0
  84. package/dist/lib/resource-wrappers/livekit-room-resource.component.d.ts +40 -6
  85. package/dist/lib/resource-wrappers/livekit-room-resource.component.d.ts.map +1 -1
  86. package/dist/lib/resource-wrappers/livekit-room-resource.component.js +287 -147
  87. package/dist/lib/resource-wrappers/livekit-room-resource.component.js.map +1 -1
  88. package/dist/lib/resource-wrappers/meetings-resource.component.d.ts +42 -0
  89. package/dist/lib/resource-wrappers/meetings-resource.component.d.ts.map +1 -0
  90. package/dist/lib/resource-wrappers/meetings-resource.component.js +225 -0
  91. package/dist/lib/resource-wrappers/meetings-resource.component.js.map +1 -0
  92. package/dist/lib/resource-wrappers/record-resource.component.d.ts +27 -2
  93. package/dist/lib/resource-wrappers/record-resource.component.d.ts.map +1 -1
  94. package/dist/lib/resource-wrappers/record-resource.component.js +58 -6
  95. package/dist/lib/resource-wrappers/record-resource.component.js.map +1 -1
  96. package/dist/lib/resource-wrappers/search-results-resource.component.d.ts.map +1 -1
  97. package/dist/lib/resource-wrappers/search-results-resource.component.js +5 -4
  98. package/dist/lib/resource-wrappers/search-results-resource.component.js.map +1 -1
  99. package/dist/lib/shell/components/tabs/component-cache-manager.d.ts.map +1 -1
  100. package/dist/lib/shell/components/tabs/component-cache-manager.js.map +1 -1
  101. package/dist/lib/shell/components/tabs/tab-container.component.d.ts +38 -0
  102. package/dist/lib/shell/components/tabs/tab-container.component.d.ts.map +1 -1
  103. package/dist/lib/shell/components/tabs/tab-container.component.js +77 -4
  104. package/dist/lib/shell/components/tabs/tab-container.component.js.map +1 -1
  105. package/dist/lib/shell/dashboard-tab-for-url.d.ts +35 -0
  106. package/dist/lib/shell/dashboard-tab-for-url.d.ts.map +1 -0
  107. package/dist/lib/shell/dashboard-tab-for-url.js +39 -0
  108. package/dist/lib/shell/dashboard-tab-for-url.js.map +1 -0
  109. package/dist/lib/shell/shell.component.d.ts +31 -2
  110. package/dist/lib/shell/shell.component.d.ts.map +1 -1
  111. package/dist/lib/shell/shell.component.js +119 -42
  112. package/dist/lib/shell/shell.component.js.map +1 -1
  113. package/dist/lib/shell/shell.module.d.ts +2 -1
  114. package/dist/lib/shell/shell.module.d.ts.map +1 -1
  115. package/dist/lib/shell/shell.module.js +6 -2
  116. package/dist/lib/shell/shell.module.js.map +1 -1
  117. package/dist/lib/single-dashboard/single-dashboard.component.js +1 -1
  118. package/dist/lib/single-dashboard/single-dashboard.component.js.map +1 -1
  119. package/dist/lib/single-record/single-record.component.d.ts +29 -3
  120. package/dist/lib/single-record/single-record.component.d.ts.map +1 -1
  121. package/dist/lib/single-record/single-record.component.js +44 -4
  122. package/dist/lib/single-record/single-record.component.js.map +1 -1
  123. package/dist/lib/template-user/template-user-banner.component.d.ts +20 -0
  124. package/dist/lib/template-user/template-user-banner.component.d.ts.map +1 -0
  125. package/dist/lib/template-user/template-user-banner.component.js +67 -0
  126. package/dist/lib/template-user/template-user-banner.component.js.map +1 -0
  127. package/dist/lib/user-notifications/user-notifications.component.d.ts +13 -0
  128. package/dist/lib/user-notifications/user-notifications.component.d.ts.map +1 -1
  129. package/dist/lib/user-notifications/user-notifications.component.js +67 -0
  130. package/dist/lib/user-notifications/user-notifications.component.js.map +1 -1
  131. package/dist/module.d.ts +61 -56
  132. package/dist/module.d.ts.map +1 -1
  133. package/dist/module.js +32 -4
  134. package/dist/module.js.map +1 -1
  135. package/dist/public-api.d.ts +2 -0
  136. package/dist/public-api.d.ts.map +1 -1
  137. package/dist/public-api.js +2 -0
  138. package/dist/public-api.js.map +1 -1
  139. package/package.json +58 -52
@@ -2,13 +2,15 @@ import { Component, EventEmitter, Input, Output, ChangeDetectorRef, inject } fro
2
2
  import { CommonModule } from '@angular/common';
3
3
  import { RunView } from '@memberjunction/core';
4
4
  import { UUIDsEqual } from '@memberjunction/global';
5
- import { UserInfoEngine } from '@memberjunction/core-entities';
5
+ import { CONVERSATIONS_FORK_AUTHORIZATION, UserInfoEngine } from '@memberjunction/core-entities';
6
6
  import { MJAuthBase } from '@memberjunction/ng-auth-services';
7
7
  import { BaseAngularComponent } from '@memberjunction/ng-base-types';
8
8
  import { ThemeService, SharedService } from '@memberjunction/ng-shared';
9
9
  import { ExplorerSettingsModule } from '@memberjunction/ng-explorer-settings';
10
+ import { UserHoldsAuthorization } from '@memberjunction/ng-conversations';
10
11
  import { IsOmnibarAvailable, IsOmnibarEnabledForUser, OMNIBAR_USER_SETTING_KEY } from '../omnibar/omnibar-user-setting';
11
12
  import { GetOmnibarShortcutLabel } from '../omnibar/omnibar-shortcut';
13
+ import { IsForkingOnForUser, SaveForkingForUser } from './forking-setting';
12
14
  import * as i0 from "@angular/core";
13
15
  import * as i1 from "@memberjunction/ng-explorer-settings";
14
16
  const _forTrack0 = ($index, $item) => $item.label;
@@ -117,7 +119,34 @@ function ProfileDialogComponent_Conditional_39_Template(rf, ctx) { if (rf & 1) {
117
119
  i0.ɵɵadvance(2);
118
120
  i0.ɵɵconditional(ctx_r1.SavingOmnibar ? 13 : 14);
119
121
  } }
120
- function ProfileDialogComponent_Conditional_44_Template(rf, ctx) { if (rf & 1) {
122
+ function ProfileDialogComponent_Conditional_40_Template(rf, ctx) { if (rf & 1) {
123
+ const _r5 = i0.ɵɵgetCurrentView();
124
+ i0.ɵɵelementStart(0, "div", 28)(1, "div", 29)(2, "h4");
125
+ i0.ɵɵtext(3, "Conversations");
126
+ i0.ɵɵelementEnd()();
127
+ i0.ɵɵelementStart(4, "div", 32)(5, "button", 59);
128
+ i0.ɵɵlistener("click", function ProfileDialogComponent_Conditional_40_Template_button_click_5_listener() { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ToggleForking()); });
129
+ i0.ɵɵelementStart(6, "div", 50);
130
+ i0.ɵɵelement(7, "i", 60);
131
+ i0.ɵɵelementEnd();
132
+ i0.ɵɵelementStart(8, "div", 52);
133
+ i0.ɵɵtext(9, " Fork when I edit or regenerate ");
134
+ i0.ɵɵelementStart(10, "div", 53);
135
+ i0.ɵɵtext(11, "When off, Edit and Regenerate change the latest turn in place.");
136
+ i0.ɵɵelementEnd()();
137
+ i0.ɵɵelementStart(12, "div", 54)(13, "span", 57);
138
+ i0.ɵɵelement(14, "span", 58);
139
+ i0.ɵɵelementEnd()()()()();
140
+ } if (rf & 2) {
141
+ const ctx_r1 = i0.ɵɵnextContext();
142
+ i0.ɵɵadvance(5);
143
+ i0.ɵɵclassProp("mj-profile__channel--on", ctx_r1.ForkingEnabled);
144
+ i0.ɵɵproperty("disabled", ctx_r1.SavingForking);
145
+ i0.ɵɵattribute("aria-checked", ctx_r1.ForkingEnabled);
146
+ i0.ɵɵadvance(8);
147
+ i0.ɵɵclassProp("mj-profile__switch--on", ctx_r1.ForkingEnabled);
148
+ } }
149
+ function ProfileDialogComponent_Conditional_45_Template(rf, ctx) { if (rf & 1) {
121
150
  i0.ɵɵelementStart(0, "span", 30);
122
151
  i0.ɵɵtext(1);
123
152
  i0.ɵɵelementEnd();
@@ -126,27 +155,27 @@ function ProfileDialogComponent_Conditional_44_Template(rf, ctx) { if (rf & 1) {
126
155
  i0.ɵɵadvance();
127
156
  i0.ɵɵtextInterpolate1("", ctx_r1.UnreadCount, " unread");
128
157
  } }
129
- function ProfileDialogComponent_Conditional_45_Template(rf, ctx) { if (rf & 1) {
158
+ function ProfileDialogComponent_Conditional_46_Template(rf, ctx) { if (rf & 1) {
130
159
  i0.ɵɵelementStart(0, "div", 31);
131
160
  i0.ɵɵelement(1, "i", 55);
132
161
  i0.ɵɵtext(2, " Loading\u2026 ");
133
162
  i0.ɵɵelementEnd();
134
163
  } }
135
- function ProfileDialogComponent_Conditional_46_For_2_Conditional_6_Template(rf, ctx) { if (rf & 1) {
164
+ function ProfileDialogComponent_Conditional_47_For_2_Conditional_6_Template(rf, ctx) { if (rf & 1) {
136
165
  i0.ɵɵelement(0, "i", 55);
137
166
  } }
138
- function ProfileDialogComponent_Conditional_46_For_2_Conditional_7_Template(rf, ctx) { if (rf & 1) {
167
+ function ProfileDialogComponent_Conditional_47_For_2_Conditional_7_Template(rf, ctx) { if (rf & 1) {
139
168
  i0.ɵɵelementStart(0, "span", 57);
140
169
  i0.ɵɵelement(1, "span", 58);
141
170
  i0.ɵɵelementEnd();
142
171
  } if (rf & 2) {
143
- const ch_r6 = i0.ɵɵnextContext().$implicit;
144
- i0.ɵɵclassProp("mj-profile__switch--on", ch_r6.enabled);
172
+ const ch_r7 = i0.ɵɵnextContext().$implicit;
173
+ i0.ɵɵclassProp("mj-profile__switch--on", ch_r7.enabled);
145
174
  } }
146
- function ProfileDialogComponent_Conditional_46_For_2_Template(rf, ctx) { if (rf & 1) {
147
- const _r5 = i0.ɵɵgetCurrentView();
148
- i0.ɵɵelementStart(0, "button", 60);
149
- i0.ɵɵlistener("click", function ProfileDialogComponent_Conditional_46_For_2_Template_button_click_0_listener() { const ch_r6 = i0.ɵɵrestoreView(_r5).$implicit; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.ToggleChannel(ch_r6)); });
175
+ function ProfileDialogComponent_Conditional_47_For_2_Template(rf, ctx) { if (rf & 1) {
176
+ const _r6 = i0.ɵɵgetCurrentView();
177
+ i0.ɵɵelementStart(0, "button", 62);
178
+ i0.ɵɵlistener("click", function ProfileDialogComponent_Conditional_47_For_2_Template_button_click_0_listener() { const ch_r7 = i0.ɵɵrestoreView(_r6).$implicit; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.ToggleChannel(ch_r7)); });
150
179
  i0.ɵɵelementStart(1, "div", 50);
151
180
  i0.ɵɵelement(2, "i");
152
181
  i0.ɵɵelementEnd();
@@ -154,122 +183,122 @@ function ProfileDialogComponent_Conditional_46_For_2_Template(rf, ctx) { if (rf
154
183
  i0.ɵɵtext(4);
155
184
  i0.ɵɵelementEnd();
156
185
  i0.ɵɵelementStart(5, "div", 54);
157
- i0.ɵɵconditionalCreate(6, ProfileDialogComponent_Conditional_46_For_2_Conditional_6_Template, 1, 0, "i", 55)(7, ProfileDialogComponent_Conditional_46_For_2_Conditional_7_Template, 2, 2, "span", 56);
186
+ i0.ɵɵconditionalCreate(6, ProfileDialogComponent_Conditional_47_For_2_Conditional_6_Template, 1, 0, "i", 55)(7, ProfileDialogComponent_Conditional_47_For_2_Conditional_7_Template, 2, 2, "span", 56);
158
187
  i0.ɵɵelementEnd()();
159
188
  } if (rf & 2) {
160
- const ch_r6 = ctx.$implicit;
161
- i0.ɵɵclassProp("mj-profile__channel--on", ch_r6.enabled);
162
- i0.ɵɵproperty("disabled", ch_r6.saving);
189
+ const ch_r7 = ctx.$implicit;
190
+ i0.ɵɵclassProp("mj-profile__channel--on", ch_r7.enabled);
191
+ i0.ɵɵproperty("disabled", ch_r7.saving);
163
192
  i0.ɵɵadvance(2);
164
- i0.ɵɵclassMap(ch_r6.icon);
193
+ i0.ɵɵclassMap(ch_r7.icon);
165
194
  i0.ɵɵadvance(2);
166
- i0.ɵɵtextInterpolate(ch_r6.label);
195
+ i0.ɵɵtextInterpolate(ch_r7.label);
167
196
  i0.ɵɵadvance(2);
168
- i0.ɵɵconditional(ch_r6.saving ? 6 : 7);
197
+ i0.ɵɵconditional(ch_r7.saving ? 6 : 7);
169
198
  } }
170
- function ProfileDialogComponent_Conditional_46_Template(rf, ctx) { if (rf & 1) {
199
+ function ProfileDialogComponent_Conditional_47_Template(rf, ctx) { if (rf & 1) {
171
200
  i0.ɵɵelementStart(0, "div", 32);
172
- i0.ɵɵrepeaterCreate(1, ProfileDialogComponent_Conditional_46_For_2_Template, 8, 7, "button", 59, _forTrack1);
201
+ i0.ɵɵrepeaterCreate(1, ProfileDialogComponent_Conditional_47_For_2_Template, 8, 7, "button", 61, _forTrack1);
173
202
  i0.ɵɵelementEnd();
174
203
  } if (rf & 2) {
175
204
  const ctx_r1 = i0.ɵɵnextContext();
176
205
  i0.ɵɵadvance();
177
206
  i0.ɵɵrepeater(ctx_r1.Channels);
178
207
  } }
179
- function ProfileDialogComponent_Conditional_61_Template(rf, ctx) { if (rf & 1) {
208
+ function ProfileDialogComponent_Conditional_62_Template(rf, ctx) { if (rf & 1) {
180
209
  i0.ɵɵelement(0, "mj-user-profile-settings");
181
210
  } }
182
- function ProfileDialogComponent_Conditional_62_For_2_Conditional_6_Template(rf, ctx) { if (rf & 1) {
183
- i0.ɵɵelementStart(0, "div", 66);
211
+ function ProfileDialogComponent_Conditional_63_For_2_Conditional_6_Template(rf, ctx) { if (rf & 1) {
212
+ i0.ɵɵelementStart(0, "div", 68);
184
213
  i0.ɵɵtext(1);
185
214
  i0.ɵɵelementEnd();
186
215
  } if (rf & 2) {
187
- const theme_r8 = i0.ɵɵnextContext().$implicit;
216
+ const theme_r9 = i0.ɵɵnextContext().$implicit;
188
217
  i0.ɵɵadvance();
189
- i0.ɵɵtextInterpolate(theme_r8.description);
218
+ i0.ɵɵtextInterpolate(theme_r9.description);
190
219
  } }
191
- function ProfileDialogComponent_Conditional_62_For_2_Conditional_7_Template(rf, ctx) { if (rf & 1) {
192
- i0.ɵɵelement(0, "i", 67);
220
+ function ProfileDialogComponent_Conditional_63_For_2_Conditional_7_Template(rf, ctx) { if (rf & 1) {
221
+ i0.ɵɵelement(0, "i", 69);
193
222
  } }
194
- function ProfileDialogComponent_Conditional_62_For_2_Conditional_8_Template(rf, ctx) { if (rf & 1) {
195
- i0.ɵɵelement(0, "i", 68);
223
+ function ProfileDialogComponent_Conditional_63_For_2_Conditional_8_Template(rf, ctx) { if (rf & 1) {
224
+ i0.ɵɵelement(0, "i", 70);
196
225
  } }
197
- function ProfileDialogComponent_Conditional_62_For_2_Template(rf, ctx) { if (rf & 1) {
198
- const _r7 = i0.ɵɵgetCurrentView();
199
- i0.ɵɵelementStart(0, "button", 62);
200
- i0.ɵɵlistener("click", function ProfileDialogComponent_Conditional_62_For_2_Template_button_click_0_listener() { const theme_r8 = i0.ɵɵrestoreView(_r7).$implicit; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.SelectTheme(theme_r8.id)); });
201
- i0.ɵɵelementStart(1, "div", 63);
226
+ function ProfileDialogComponent_Conditional_63_For_2_Template(rf, ctx) { if (rf & 1) {
227
+ const _r8 = i0.ɵɵgetCurrentView();
228
+ i0.ɵɵelementStart(0, "button", 64);
229
+ i0.ɵɵlistener("click", function ProfileDialogComponent_Conditional_63_For_2_Template_button_click_0_listener() { const theme_r9 = i0.ɵɵrestoreView(_r8).$implicit; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.SelectTheme(theme_r9.id)); });
230
+ i0.ɵɵelementStart(1, "div", 65);
202
231
  i0.ɵɵelement(2, "i");
203
232
  i0.ɵɵelementEnd();
204
- i0.ɵɵelementStart(3, "div", 64)(4, "div", 65);
233
+ i0.ɵɵelementStart(3, "div", 66)(4, "div", 67);
205
234
  i0.ɵɵtext(5);
206
235
  i0.ɵɵelementEnd();
207
- i0.ɵɵconditionalCreate(6, ProfileDialogComponent_Conditional_62_For_2_Conditional_6_Template, 2, 1, "div", 66);
236
+ i0.ɵɵconditionalCreate(6, ProfileDialogComponent_Conditional_63_For_2_Conditional_6_Template, 2, 1, "div", 68);
208
237
  i0.ɵɵelementEnd();
209
- i0.ɵɵconditionalCreate(7, ProfileDialogComponent_Conditional_62_For_2_Conditional_7_Template, 1, 0, "i", 67)(8, ProfileDialogComponent_Conditional_62_For_2_Conditional_8_Template, 1, 0, "i", 68);
238
+ i0.ɵɵconditionalCreate(7, ProfileDialogComponent_Conditional_63_For_2_Conditional_7_Template, 1, 0, "i", 69)(8, ProfileDialogComponent_Conditional_63_For_2_Conditional_8_Template, 1, 0, "i", 70);
210
239
  i0.ɵɵelementEnd();
211
240
  } if (rf & 2) {
212
- const theme_r8 = ctx.$implicit;
241
+ const theme_r9 = ctx.$implicit;
213
242
  const ctx_r1 = i0.ɵɵnextContext(2);
214
- i0.ɵɵclassProp("mj-profile__theme--active", theme_r8.id === ctx_r1.ThemePreference)("mj-profile__theme--saving", ctx_r1.SavingTheme === theme_r8.id);
243
+ i0.ɵɵclassProp("mj-profile__theme--active", theme_r9.id === ctx_r1.ThemePreference)("mj-profile__theme--saving", ctx_r1.SavingTheme === theme_r9.id);
215
244
  i0.ɵɵproperty("disabled", !!ctx_r1.SavingTheme);
216
245
  i0.ɵɵadvance();
217
- i0.ɵɵclassMap("mj-profile__theme-swatch--" + theme_r8.swatch);
246
+ i0.ɵɵclassMap("mj-profile__theme-swatch--" + theme_r9.swatch);
218
247
  i0.ɵɵadvance();
219
- i0.ɵɵclassMap(theme_r8.icon);
248
+ i0.ɵɵclassMap(theme_r9.icon);
220
249
  i0.ɵɵadvance(3);
221
- i0.ɵɵtextInterpolate(theme_r8.name);
250
+ i0.ɵɵtextInterpolate(theme_r9.name);
222
251
  i0.ɵɵadvance();
223
- i0.ɵɵconditional(theme_r8.description ? 6 : -1);
252
+ i0.ɵɵconditional(theme_r9.description ? 6 : -1);
224
253
  i0.ɵɵadvance();
225
- i0.ɵɵconditional(ctx_r1.SavingTheme === theme_r8.id ? 7 : theme_r8.id === ctx_r1.ThemePreference ? 8 : -1);
254
+ i0.ɵɵconditional(ctx_r1.SavingTheme === theme_r9.id ? 7 : theme_r9.id === ctx_r1.ThemePreference ? 8 : -1);
226
255
  } }
227
- function ProfileDialogComponent_Conditional_62_Conditional_3_For_3_For_3_Template(rf, ctx) { if (rf & 1) {
256
+ function ProfileDialogComponent_Conditional_63_Conditional_3_For_3_For_3_Template(rf, ctx) { if (rf & 1) {
228
257
  i0.ɵɵelement(0, "i");
229
258
  } if (rf & 2) {
230
- const c_r11 = ctx.$implicit;
231
- i0.ɵɵstyleProp("background", c_r11);
259
+ const c_r12 = ctx.$implicit;
260
+ i0.ɵɵstyleProp("background", c_r12);
232
261
  } }
233
- function ProfileDialogComponent_Conditional_62_Conditional_3_For_3_Conditional_7_Template(rf, ctx) { if (rf & 1) {
234
- i0.ɵɵelement(0, "i", 68);
262
+ function ProfileDialogComponent_Conditional_63_Conditional_3_For_3_Conditional_7_Template(rf, ctx) { if (rf & 1) {
263
+ i0.ɵɵelement(0, "i", 70);
235
264
  } }
236
- function ProfileDialogComponent_Conditional_62_Conditional_3_For_3_Template(rf, ctx) { if (rf & 1) {
237
- const _r9 = i0.ɵɵgetCurrentView();
238
- i0.ɵɵelementStart(0, "button", 71);
239
- i0.ɵɵlistener("click", function ProfileDialogComponent_Conditional_62_Conditional_3_For_3_Template_button_click_0_listener() { const t_r10 = i0.ɵɵrestoreView(_r9).$implicit; const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.ApplyStarredTheme(t_r10)); });
240
- i0.ɵɵelementStart(1, "div", 72);
241
- i0.ɵɵrepeaterCreate(2, ProfileDialogComponent_Conditional_62_Conditional_3_For_3_For_3_Template, 1, 2, "i", 73, i0.ɵɵrepeaterTrackByIndex);
265
+ function ProfileDialogComponent_Conditional_63_Conditional_3_For_3_Template(rf, ctx) { if (rf & 1) {
266
+ const _r10 = i0.ɵɵgetCurrentView();
267
+ i0.ɵɵelementStart(0, "button", 73);
268
+ i0.ɵɵlistener("click", function ProfileDialogComponent_Conditional_63_Conditional_3_For_3_Template_button_click_0_listener() { const t_r11 = i0.ɵɵrestoreView(_r10).$implicit; const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.ApplyStarredTheme(t_r11)); });
269
+ i0.ɵɵelementStart(1, "div", 74);
270
+ i0.ɵɵrepeaterCreate(2, ProfileDialogComponent_Conditional_63_Conditional_3_For_3_For_3_Template, 1, 2, "i", 75, i0.ɵɵrepeaterTrackByIndex);
242
271
  i0.ɵɵelementEnd();
243
- i0.ɵɵelementStart(4, "div", 64)(5, "div", 65);
272
+ i0.ɵɵelementStart(4, "div", 66)(5, "div", 67);
244
273
  i0.ɵɵtext(6);
245
274
  i0.ɵɵelementEnd()();
246
- i0.ɵɵconditionalCreate(7, ProfileDialogComponent_Conditional_62_Conditional_3_For_3_Conditional_7_Template, 1, 0, "i", 68);
275
+ i0.ɵɵconditionalCreate(7, ProfileDialogComponent_Conditional_63_Conditional_3_For_3_Conditional_7_Template, 1, 0, "i", 70);
247
276
  i0.ɵɵelementEnd();
248
277
  } if (rf & 2) {
249
- const t_r10 = ctx.$implicit;
278
+ const t_r11 = ctx.$implicit;
250
279
  const ctx_r1 = i0.ɵɵnextContext(3);
251
- i0.ɵɵclassProp("mj-profile__theme--active", ctx_r1.IsAppliedBrand(t_r10.id));
280
+ i0.ɵɵclassProp("mj-profile__theme--active", ctx_r1.IsAppliedBrand(t_r11.id));
252
281
  i0.ɵɵadvance(2);
253
- i0.ɵɵrepeater(t_r10.swatches);
282
+ i0.ɵɵrepeater(t_r11.swatches);
254
283
  i0.ɵɵadvance(4);
255
- i0.ɵɵtextInterpolate(t_r10.name);
284
+ i0.ɵɵtextInterpolate(t_r11.name);
256
285
  i0.ɵɵadvance();
257
- i0.ɵɵconditional(ctx_r1.IsAppliedBrand(t_r10.id) ? 7 : -1);
286
+ i0.ɵɵconditional(ctx_r1.IsAppliedBrand(t_r11.id) ? 7 : -1);
258
287
  } }
259
- function ProfileDialogComponent_Conditional_62_Conditional_3_Template(rf, ctx) { if (rf & 1) {
260
- i0.ɵɵelementStart(0, "div", 69);
288
+ function ProfileDialogComponent_Conditional_63_Conditional_3_Template(rf, ctx) { if (rf & 1) {
289
+ i0.ɵɵelementStart(0, "div", 71);
261
290
  i0.ɵɵtext(1, "Brand themes");
262
291
  i0.ɵɵelementEnd();
263
- i0.ɵɵrepeaterCreate(2, ProfileDialogComponent_Conditional_62_Conditional_3_For_3_Template, 8, 4, "button", 70, _forTrack2);
292
+ i0.ɵɵrepeaterCreate(2, ProfileDialogComponent_Conditional_63_Conditional_3_For_3_Template, 8, 4, "button", 72, _forTrack2);
264
293
  } if (rf & 2) {
265
294
  const ctx_r1 = i0.ɵɵnextContext(2);
266
295
  i0.ɵɵadvance(2);
267
296
  i0.ɵɵrepeater(ctx_r1.StarredThemes);
268
297
  } }
269
- function ProfileDialogComponent_Conditional_62_Template(rf, ctx) { if (rf & 1) {
298
+ function ProfileDialogComponent_Conditional_63_Template(rf, ctx) { if (rf & 1) {
270
299
  i0.ɵɵelementStart(0, "div", 44);
271
- i0.ɵɵrepeaterCreate(1, ProfileDialogComponent_Conditional_62_For_2_Template, 9, 12, "button", 61, _forTrack2);
272
- i0.ɵɵconditionalCreate(3, ProfileDialogComponent_Conditional_62_Conditional_3_Template, 4, 0);
300
+ i0.ɵɵrepeaterCreate(1, ProfileDialogComponent_Conditional_63_For_2_Template, 9, 12, "button", 63, _forTrack2);
301
+ i0.ɵɵconditionalCreate(3, ProfileDialogComponent_Conditional_63_Conditional_3_Template, 4, 0);
273
302
  i0.ɵɵelementEnd();
274
303
  } if (rf & 2) {
275
304
  const ctx_r1 = i0.ɵɵnextContext();
@@ -306,6 +335,10 @@ export class ProfileDialogComponent extends BaseAngularComponent {
306
335
  OmnibarAvailable = false;
307
336
  OmnibarEnabled = false;
308
337
  SavingOmnibar = false;
338
+ // Personal forking switch (shown only to a person who holds Conversations: Fork)
339
+ ForkingAvailable = false;
340
+ ForkingEnabled = true;
341
+ SavingForking = false;
309
342
  /** Platform-correct summon-shortcut label ('⌘K' on Mac, 'Ctrl+K' elsewhere). */
310
343
  get OmnibarShortcutLabel() {
311
344
  return GetOmnibarShortcutLabel();
@@ -343,6 +376,8 @@ export class ProfileDialogComponent extends BaseAngularComponent {
343
376
  this.loadNotifications();
344
377
  this.OmnibarAvailable = IsOmnibarAvailable();
345
378
  this.OmnibarEnabled = IsOmnibarEnabledForUser();
379
+ this.ForkingAvailable = UserHoldsAuthorization(this.ProviderToUse.CurrentUser, CONVERSATIONS_FORK_AUTHORIZATION, this.ProviderToUse);
380
+ this.ForkingEnabled = IsForkingOnForUser();
346
381
  this.themeSub = this.themeService.Preference$.subscribe(pref => {
347
382
  this.ThemePreference = pref;
348
383
  this.ThemeLabel = this.computeThemeLabel();
@@ -486,6 +521,29 @@ export class ProfileDialogComponent extends BaseAngularComponent {
486
521
  this.cdr.markForCheck();
487
522
  }
488
523
  }
524
+ /**
525
+ * Turns the person's forking on or off. Saved through UserInfoEngine (MJ: User Settings), so it
526
+ * follows them across browsers; an open conversation reads it on its next change detection.
527
+ */
528
+ async ToggleForking() {
529
+ if (this.SavingForking)
530
+ return;
531
+ const next = !this.ForkingEnabled;
532
+ this.SavingForking = true;
533
+ this.cdr.markForCheck();
534
+ try {
535
+ if (await SaveForkingForUser(next)) {
536
+ this.ForkingEnabled = next;
537
+ }
538
+ else {
539
+ this.sharedService.CreateSimpleNotification('Could not save the forking preference', 'error', 3000);
540
+ }
541
+ }
542
+ finally {
543
+ this.SavingForking = false;
544
+ this.cdr.markForCheck();
545
+ }
546
+ }
489
547
  async ToggleChannel(channel) {
490
548
  if (channel.saving)
491
549
  return;
@@ -645,7 +703,7 @@ export class ProfileDialogComponent extends BaseAngularComponent {
645
703
  return preference === 'system' ? `${themeName} · System` : themeName;
646
704
  }
647
705
  static ɵfac = /*@__PURE__*/ (() => { let ɵProfileDialogComponent_BaseFactory; return function ProfileDialogComponent_Factory(__ngFactoryType__) { return (ɵProfileDialogComponent_BaseFactory || (ɵProfileDialogComponent_BaseFactory = i0.ɵɵgetInheritedFactory(ProfileDialogComponent)))(__ngFactoryType__ || ProfileDialogComponent); }; })();
648
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ProfileDialogComponent, selectors: [["mj-profile-dialog"]], inputs: { AvatarUrl: "AvatarUrl", AvatarIconClass: "AvatarIconClass" }, outputs: { CloseRequested: "CloseRequested" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 63, vars: 17, consts: [["role", "document", 1, "mj-profile"], ["type", "button", "aria-label", "Close", 1, "mj-profile__close", 3, "click"], [1, "fa-solid", "fa-xmark"], [1, "mj-profile__main"], [1, "mj-profile__hero"], [1, "mj-profile__hero-title"], [1, "mj-profile__avatar-zone"], ["alt", "", 1, "mj-profile__avatar", "mj-profile__avatar--img", 3, "src"], [1, "mj-profile__avatar", "mj-profile__avatar--icon"], [1, "mj-profile__avatar"], ["type", "button", "title", "Change photo", 1, "mj-profile__avatar-edit", 3, "click"], [1, "fa-solid", "fa-camera"], [1, "mj-profile__identity"], [1, "mj-profile__name"], [1, "mj-profile__email"], [1, "mj-profile__chips"], [1, "mj-profile__scroll"], [1, "mj-profile__field-list"], [1, "mj-profile__field"], [1, "mj-profile__field-icon"], [1, "fa-solid", "fa-id-badge"], [1, "mj-profile__field-body"], [1, "mj-profile__field-label"], [1, "mj-profile__field-value"], [1, "mj-profile__field-muted"], ["type", "button", 1, "mj-profile__field", "mj-profile__field--button", 3, "click"], [1, "fa-solid", "fa-palette"], [1, "fa-solid", "fa-chevron-right", "mj-profile__field-chev"], [1, "mj-profile__section"], [1, "mj-profile__section-head"], [1, "mj-profile__unread"], [1, "mj-profile__channels-loading"], [1, "mj-profile__channels"], [1, "mj-profile__footer"], ["type", "button", 1, "mj-profile__btn", "mj-profile__btn--danger", 3, "click"], [1, "fa-solid", "fa-arrow-right-from-bracket"], [1, "mj-profile__spacer"], ["type", "button", 1, "mj-profile__btn", "mj-profile__btn--primary", 3, "click"], [1, "mj-profile__panel"], [1, "mj-profile__panel-header"], ["type", "button", "aria-label", "Back", 1, "mj-profile__panel-back", 3, "click"], [1, "fa-solid", "fa-arrow-left"], [1, "mj-profile__panel-title"], [1, "mj-profile__panel-body"], [1, "mj-profile__themes"], ["alt", "", 1, "mj-profile__avatar", "mj-profile__avatar--img", 3, "error", "src"], [1, "mj-profile__chip", 3, "class"], [1, "mj-profile__chip"], [3, "class"], ["type", "button", "data-testid", "omnibar-toggle", 1, "mj-profile__channel", 3, "click", "disabled"], [1, "mj-profile__channel-icon"], [1, "fa-solid", "fa-magnifying-glass"], [1, "mj-profile__channel-label"], [1, "mj-profile__channel-hint"], [1, "mj-profile__channel-state"], [1, "fa-solid", "fa-spinner", "fa-spin"], [1, "mj-profile__switch", 3, "mj-profile__switch--on"], [1, "mj-profile__switch"], [1, "mj-profile__switch-knob"], ["type", "button", 1, "mj-profile__channel", 3, "mj-profile__channel--on", "disabled"], ["type", "button", 1, "mj-profile__channel", 3, "click", "disabled"], ["type", "button", 1, "mj-profile__theme", 3, "mj-profile__theme--active", "mj-profile__theme--saving", "disabled"], ["type", "button", 1, "mj-profile__theme", 3, "click", "disabled"], [1, "mj-profile__theme-swatch"], [1, "mj-profile__theme-info"], [1, "mj-profile__theme-name"], [1, "mj-profile__theme-desc"], [1, "fa-solid", "fa-spinner", "fa-spin", "mj-profile__theme-check"], [1, "fa-solid", "fa-check", "mj-profile__theme-check"], [1, "mj-profile__theme-sep"], ["type", "button", 1, "mj-profile__theme", 3, "mj-profile__theme--active"], ["type", "button", 1, "mj-profile__theme", 3, "click"], [1, "mj-profile__theme-swatch", "mj-profile__brand-swatch"], [3, "background"]], template: function ProfileDialogComponent_Template(rf, ctx) { if (rf & 1) {
706
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ProfileDialogComponent, selectors: [["mj-profile-dialog"]], inputs: { AvatarUrl: "AvatarUrl", AvatarIconClass: "AvatarIconClass" }, outputs: { CloseRequested: "CloseRequested" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 64, vars: 18, consts: [["role", "document", 1, "mj-profile"], ["type", "button", "aria-label", "Close", 1, "mj-profile__close", 3, "click"], [1, "fa-solid", "fa-xmark"], [1, "mj-profile__main"], [1, "mj-profile__hero"], [1, "mj-profile__hero-title"], [1, "mj-profile__avatar-zone"], ["alt", "", 1, "mj-profile__avatar", "mj-profile__avatar--img", 3, "src"], [1, "mj-profile__avatar", "mj-profile__avatar--icon"], [1, "mj-profile__avatar"], ["type", "button", "title", "Change photo", 1, "mj-profile__avatar-edit", 3, "click"], [1, "fa-solid", "fa-camera"], [1, "mj-profile__identity"], [1, "mj-profile__name"], [1, "mj-profile__email"], [1, "mj-profile__chips"], [1, "mj-profile__scroll"], [1, "mj-profile__field-list"], [1, "mj-profile__field"], [1, "mj-profile__field-icon"], [1, "fa-solid", "fa-id-badge"], [1, "mj-profile__field-body"], [1, "mj-profile__field-label"], [1, "mj-profile__field-value"], [1, "mj-profile__field-muted"], ["type", "button", 1, "mj-profile__field", "mj-profile__field--button", 3, "click"], [1, "fa-solid", "fa-palette"], [1, "fa-solid", "fa-chevron-right", "mj-profile__field-chev"], [1, "mj-profile__section"], [1, "mj-profile__section-head"], [1, "mj-profile__unread"], [1, "mj-profile__channels-loading"], [1, "mj-profile__channels"], [1, "mj-profile__footer"], ["type", "button", 1, "mj-profile__btn", "mj-profile__btn--danger", 3, "click"], [1, "fa-solid", "fa-arrow-right-from-bracket"], [1, "mj-profile__spacer"], ["type", "button", 1, "mj-profile__btn", "mj-profile__btn--primary", 3, "click"], [1, "mj-profile__panel"], [1, "mj-profile__panel-header"], ["type", "button", "aria-label", "Back", 1, "mj-profile__panel-back", 3, "click"], [1, "fa-solid", "fa-arrow-left"], [1, "mj-profile__panel-title"], [1, "mj-profile__panel-body"], [1, "mj-profile__themes"], ["alt", "", 1, "mj-profile__avatar", "mj-profile__avatar--img", 3, "error", "src"], [1, "mj-profile__chip", 3, "class"], [1, "mj-profile__chip"], [3, "class"], ["type", "button", "data-testid", "omnibar-toggle", 1, "mj-profile__channel", 3, "click", "disabled"], [1, "mj-profile__channel-icon"], [1, "fa-solid", "fa-magnifying-glass"], [1, "mj-profile__channel-label"], [1, "mj-profile__channel-hint"], [1, "mj-profile__channel-state"], [1, "fa-solid", "fa-spinner", "fa-spin"], [1, "mj-profile__switch", 3, "mj-profile__switch--on"], [1, "mj-profile__switch"], [1, "mj-profile__switch-knob"], ["type", "button", "data-testid", "forking-toggle", "role", "switch", 1, "mj-profile__channel", 3, "click", "disabled"], ["aria-hidden", "true", 1, "fa-solid", "fa-code-branch"], ["type", "button", 1, "mj-profile__channel", 3, "mj-profile__channel--on", "disabled"], ["type", "button", 1, "mj-profile__channel", 3, "click", "disabled"], ["type", "button", 1, "mj-profile__theme", 3, "mj-profile__theme--active", "mj-profile__theme--saving", "disabled"], ["type", "button", 1, "mj-profile__theme", 3, "click", "disabled"], [1, "mj-profile__theme-swatch"], [1, "mj-profile__theme-info"], [1, "mj-profile__theme-name"], [1, "mj-profile__theme-desc"], [1, "fa-solid", "fa-spinner", "fa-spin", "mj-profile__theme-check"], [1, "fa-solid", "fa-check", "mj-profile__theme-check"], [1, "mj-profile__theme-sep"], ["type", "button", 1, "mj-profile__theme", 3, "mj-profile__theme--active"], ["type", "button", 1, "mj-profile__theme", 3, "click"], [1, "mj-profile__theme-swatch", "mj-profile__brand-swatch"], [3, "background"]], template: function ProfileDialogComponent_Template(rf, ctx) { if (rf & 1) {
649
707
  i0.ɵɵelementStart(0, "div", 0)(1, "button", 1);
650
708
  i0.ɵɵlistener("click", function ProfileDialogComponent_Template_button_click_1_listener() { return ctx.OnCloseClick(); });
651
709
  i0.ɵɵelement(2, "i", 2);
@@ -691,32 +749,33 @@ export class ProfileDialogComponent extends BaseAngularComponent {
691
749
  i0.ɵɵelement(38, "i", 27);
692
750
  i0.ɵɵelementEnd()();
693
751
  i0.ɵɵconditionalCreate(39, ProfileDialogComponent_Conditional_39_Template, 15, 5, "div", 28);
694
- i0.ɵɵelementStart(40, "div", 28)(41, "div", 29)(42, "h4");
695
- i0.ɵɵtext(43, "Notifications");
752
+ i0.ɵɵconditionalCreate(40, ProfileDialogComponent_Conditional_40_Template, 15, 6, "div", 28);
753
+ i0.ɵɵelementStart(41, "div", 28)(42, "div", 29)(43, "h4");
754
+ i0.ɵɵtext(44, "Notifications");
696
755
  i0.ɵɵelementEnd();
697
- i0.ɵɵconditionalCreate(44, ProfileDialogComponent_Conditional_44_Template, 2, 1, "span", 30);
756
+ i0.ɵɵconditionalCreate(45, ProfileDialogComponent_Conditional_45_Template, 2, 1, "span", 30);
698
757
  i0.ɵɵelementEnd();
699
- i0.ɵɵconditionalCreate(45, ProfileDialogComponent_Conditional_45_Template, 3, 0, "div", 31)(46, ProfileDialogComponent_Conditional_46_Template, 3, 0, "div", 32);
758
+ i0.ɵɵconditionalCreate(46, ProfileDialogComponent_Conditional_46_Template, 3, 0, "div", 31)(47, ProfileDialogComponent_Conditional_47_Template, 3, 0, "div", 32);
700
759
  i0.ɵɵelementEnd()();
701
- i0.ɵɵelementStart(47, "div", 33)(48, "button", 34);
702
- i0.ɵɵlistener("click", function ProfileDialogComponent_Template_button_click_48_listener() { return ctx.OnSignOut(); });
703
- i0.ɵɵelement(49, "i", 35);
704
- i0.ɵɵtext(50, " Sign out ");
760
+ i0.ɵɵelementStart(48, "div", 33)(49, "button", 34);
761
+ i0.ɵɵlistener("click", function ProfileDialogComponent_Template_button_click_49_listener() { return ctx.OnSignOut(); });
762
+ i0.ɵɵelement(50, "i", 35);
763
+ i0.ɵɵtext(51, " Sign out ");
705
764
  i0.ɵɵelementEnd();
706
- i0.ɵɵelement(51, "span", 36);
707
- i0.ɵɵelementStart(52, "button", 37);
708
- i0.ɵɵlistener("click", function ProfileDialogComponent_Template_button_click_52_listener() { return ctx.OnCloseClick(); });
709
- i0.ɵɵtext(53, " Done ");
765
+ i0.ɵɵelement(52, "span", 36);
766
+ i0.ɵɵelementStart(53, "button", 37);
767
+ i0.ɵɵlistener("click", function ProfileDialogComponent_Template_button_click_53_listener() { return ctx.OnCloseClick(); });
768
+ i0.ɵɵtext(54, " Done ");
710
769
  i0.ɵɵelementEnd()()();
711
- i0.ɵɵelementStart(54, "div", 38)(55, "div", 39)(56, "button", 40);
712
- i0.ɵɵlistener("click", function ProfileDialogComponent_Template_button_click_56_listener() { return ctx.ClosePanel(); });
713
- i0.ɵɵelement(57, "i", 41);
770
+ i0.ɵɵelementStart(55, "div", 38)(56, "div", 39)(57, "button", 40);
771
+ i0.ɵɵlistener("click", function ProfileDialogComponent_Template_button_click_57_listener() { return ctx.ClosePanel(); });
772
+ i0.ɵɵelement(58, "i", 41);
714
773
  i0.ɵɵelementEnd();
715
- i0.ɵɵelementStart(58, "h3", 42);
716
- i0.ɵɵtext(59);
774
+ i0.ɵɵelementStart(59, "h3", 42);
775
+ i0.ɵɵtext(60);
717
776
  i0.ɵɵelementEnd()();
718
- i0.ɵɵelementStart(60, "div", 43);
719
- i0.ɵɵconditionalCreate(61, ProfileDialogComponent_Conditional_61_Template, 1, 0, "mj-user-profile-settings")(62, ProfileDialogComponent_Conditional_62_Template, 4, 1, "div", 44);
777
+ i0.ɵɵelementStart(61, "div", 43);
778
+ i0.ɵɵconditionalCreate(62, ProfileDialogComponent_Conditional_62_Template, 1, 0, "mj-user-profile-settings")(63, ProfileDialogComponent_Conditional_63_Template, 4, 1, "div", 44);
720
779
  i0.ɵɵelementEnd()()();
721
780
  } if (rf & 2) {
722
781
  i0.ɵɵclassProp("mj-profile--panel-open", ctx.ActivePanel !== "none");
@@ -736,16 +795,18 @@ export class ProfileDialogComponent extends BaseAngularComponent {
736
795
  i0.ɵɵtextInterpolate(ctx.ThemeLabel);
737
796
  i0.ɵɵadvance(2);
738
797
  i0.ɵɵconditional(ctx.OmnibarAvailable ? 39 : -1);
798
+ i0.ɵɵadvance();
799
+ i0.ɵɵconditional(ctx.ForkingAvailable ? 40 : -1);
739
800
  i0.ɵɵadvance(5);
740
- i0.ɵɵconditional(ctx.UnreadCount > 0 ? 44 : -1);
801
+ i0.ɵɵconditional(ctx.UnreadCount > 0 ? 45 : -1);
741
802
  i0.ɵɵadvance();
742
- i0.ɵɵconditional(ctx.LoadingNotifications ? 45 : 46);
803
+ i0.ɵɵconditional(ctx.LoadingNotifications ? 46 : 47);
743
804
  i0.ɵɵadvance(9);
744
805
  i0.ɵɵclassProp("mj-profile__panel--open", ctx.ActivePanel !== "none");
745
806
  i0.ɵɵadvance(5);
746
807
  i0.ɵɵtextInterpolate(ctx.PanelTitle);
747
808
  i0.ɵɵadvance(2);
748
- i0.ɵɵconditional(ctx.ActivePanel === "photo" ? 61 : ctx.ActivePanel === "theme" ? 62 : -1);
809
+ i0.ɵɵconditional(ctx.ActivePanel === "photo" ? 62 : ctx.ActivePanel === "theme" ? 63 : -1);
749
810
  } }, dependencies: [CommonModule, ExplorerSettingsModule, i1.UserProfileSettingsComponent], styles: ["[_nghost-%COMP%] {\n display: block;\n width: 100%;\n height: 100%;\n}\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.mj-profile[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n height: 100%;\n max-height: 100vh;\n max-height: 100dvh;\n min-height: 0;\n position: relative;\n font-family: inherit;\n overflow: hidden;\n}\n.mj-profile__close[_ngcontent-%COMP%] {\n position: absolute;\n top: 12px; right: 12px;\n width: 36px; height: 36px;\n border: none; border-radius: 8px;\n background: rgba(255, 255, 255, 0.18);\n backdrop-filter: blur(8px);\n color: #fff;\n cursor: pointer;\n font-size: 16px;\n display: flex; align-items: center; justify-content: center;\n transition: background 0.15s, opacity 0.2s;\n z-index: 4;\n}\n.mj-profile__close[_ngcontent-%COMP%]:hover { background: rgba(255, 255, 255, 0.3); }\n.mj-profile--panel-open[_ngcontent-%COMP%] .mj-profile__close[_ngcontent-%COMP%] { opacity: 0; pointer-events: none; }\n\n\n\n\n\n.mj-profile__main[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n flex: 1;\n min-height: 0;\n transition: transform 0.32s cubic-bezier(0.4, 0, 0.2, 1);\n}\n.mj-profile--panel-open[_ngcontent-%COMP%] .mj-profile__main[_ngcontent-%COMP%] {\n transform: translateX(-12%);\n pointer-events: none;\n}\n\n.mj-profile__hero[_ngcontent-%COMP%] {\n background: linear-gradient(135deg, #264FAF 0%, #0076b6 100%);\n color: #fff;\n padding: 22px 24px 56px;\n position: relative;\n overflow: hidden;\n flex-shrink: 0;\n}\n.mj-profile__hero[_ngcontent-%COMP%]::before {\n content: '';\n position: absolute;\n inset: -50%;\n background: radial-gradient(circle, rgba(255, 255, 255, 0.10) 0%, transparent 60%);\n animation: _ngcontent-%COMP%_mj-profile-rotate 24s linear infinite;\n pointer-events: none;\n}\n@media (prefers-reduced-motion: reduce) {\n .mj-profile__hero[_ngcontent-%COMP%]::before { animation: none; }\n}\n@keyframes _ngcontent-%COMP%_mj-profile-rotate { to { transform: rotate(360deg); } }\n\n.mj-profile__hero-title[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 12px;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 1.2px;\n opacity: 0.85;\n position: relative;\n z-index: 1;\n}\n\n.mj-profile__avatar-zone[_ngcontent-%COMP%] {\n position: relative;\n width: 96px;\n height: 96px;\n margin: -48px auto 12px;\n z-index: 2;\n}\n.mj-profile__avatar[_ngcontent-%COMP%] {\n width: 96px;\n height: 96px;\n border-radius: 50%;\n background: linear-gradient(135deg, #264FAF 0%, #0076b6 100%);\n color: #fff;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 32px;\n font-weight: 700;\n border: 4px solid var(--mj-bg-surface);\n box-shadow: 0 6px 20px rgba(0, 0, 0, 0.18);\n object-fit: cover;\n overflow: hidden;\n}\nimg.mj-profile__avatar[_ngcontent-%COMP%] { background: var(--mj-bg-surface-card); }\n.mj-profile__avatar--icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%] { font-size: 36px; }\n\n.mj-profile__avatar-edit[_ngcontent-%COMP%] {\n position: absolute;\n bottom: 2px; right: 2px;\n width: 30px; height: 30px;\n border-radius: 50%;\n background: var(--mj-bg-surface);\n color: var(--mj-brand-primary);\n border: 2px solid var(--mj-bg-surface);\n cursor: pointer;\n display: flex; align-items: center; justify-content: center;\n font-size: 12px;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);\n transition: transform 0.15s;\n}\n.mj-profile__avatar-edit[_ngcontent-%COMP%]:hover { transform: scale(1.1); }\n\n.mj-profile__identity[_ngcontent-%COMP%] {\n text-align: center;\n padding: 0 24px 16px;\n flex-shrink: 0;\n}\n.mj-profile__name[_ngcontent-%COMP%] {\n margin: 0 0 4px;\n font-size: 22px;\n font-weight: 700;\n letter-spacing: -0.4px;\n color: var(--mj-text-primary);\n}\n.mj-profile__email[_ngcontent-%COMP%] {\n margin: 0 0 12px;\n color: var(--mj-text-muted);\n font-size: 13px;\n word-break: break-all;\n}\n.mj-profile__chips[_ngcontent-%COMP%] {\n display: flex;\n gap: 6px;\n flex-wrap: wrap;\n justify-content: center;\n}\n.mj-profile__chip[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 3px 9px;\n border-radius: 100px;\n font-size: 11px;\n font-weight: 600;\n background: color-mix(in srgb, var(--mj-brand-primary) 12%, transparent);\n color: var(--mj-brand-primary);\n}\n.mj-profile__chip--admin[_ngcontent-%COMP%] {\n background: color-mix(in srgb, #f59e0b 14%, transparent);\n color: #b45309;\n}\n.mj-profile__chip--dev[_ngcontent-%COMP%] {\n background: color-mix(in srgb, #10b981 14%, transparent);\n color: #047857;\n}\n\n\n\n\n\n.mj-profile__scroll[_ngcontent-%COMP%] {\n flex: 1;\n min-height: 0;\n overflow-y: auto;\n}\n\n.mj-profile__field-list[_ngcontent-%COMP%] {\n padding: 0 24px;\n}\n.mj-profile__field[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n padding: 12px 0;\n gap: 14px;\n border-top: 1px solid var(--mj-border-subtle);\n width: 100%;\n text-align: left;\n background: transparent;\n border-left: none;\n border-right: none;\n border-bottom: none;\n font-family: inherit;\n color: inherit;\n}\n.mj-profile__field[_ngcontent-%COMP%]:first-child { border-top: none; }\n.mj-profile__field--button[_ngcontent-%COMP%] {\n cursor: pointer;\n transition: background 0.12s;\n margin: 0 -8px;\n padding-left: 8px;\n padding-right: 8px;\n border-radius: 8px;\n border-top: none;\n}\n.mj-profile__field--button[_ngcontent-%COMP%] + .mj-profile__field--button[_ngcontent-%COMP%] { margin-top: 0; }\n.mj-profile__field--button[_ngcontent-%COMP%]:hover { background: var(--mj-bg-surface-hover); }\n.mj-profile__field--button[_ngcontent-%COMP%]:hover .mj-profile__field-chev[_ngcontent-%COMP%] { color: var(--mj-brand-primary); }\n.mj-profile__field-icon[_ngcontent-%COMP%] {\n width: 32px; height: 32px;\n background: var(--mj-bg-surface-sunken);\n border-radius: 8px;\n color: var(--mj-text-secondary);\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 12px;\n flex-shrink: 0;\n}\n.mj-profile__field-body[_ngcontent-%COMP%] { flex: 1; min-width: 0; }\n.mj-profile__field-label[_ngcontent-%COMP%] {\n font-size: 10.5px;\n color: var(--mj-text-muted);\n text-transform: uppercase;\n font-weight: 600;\n letter-spacing: 0.5px;\n}\n.mj-profile__field-value[_ngcontent-%COMP%] {\n font-size: 13px;\n color: var(--mj-text-primary);\n margin-top: 2px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.mj-profile__field-muted[_ngcontent-%COMP%] { color: var(--mj-text-muted); }\n.mj-profile__field-chev[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-size: 11px;\n transition: color 0.15s;\n}\n\n.mj-profile__section[_ngcontent-%COMP%] {\n padding: 16px 24px 8px;\n}\n.mj-profile__section-head[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: 10px;\n}\n.mj-profile__section-head[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 11px;\n font-weight: 700;\n color: var(--mj-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.6px;\n}\n.mj-profile__unread[_ngcontent-%COMP%] {\n font-size: 11px;\n font-weight: 600;\n color: var(--mj-brand-primary);\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n padding: 2px 8px;\n border-radius: 100px;\n}\n.mj-profile__channels-loading[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-size: 12.5px;\n padding: 12px;\n text-align: center;\n}\n.mj-profile__channels[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n.mj-profile__channel[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 10px 14px;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-subtle);\n border-radius: 10px;\n cursor: pointer;\n transition: all 0.15s;\n font-family: inherit;\n text-align: left;\n width: 100%;\n}\n.mj-profile__channel[_ngcontent-%COMP%]:hover:not(:disabled) {\n border-color: var(--mj-border-default);\n background: var(--mj-bg-surface-hover);\n}\n.mj-profile__channel[_ngcontent-%COMP%]:disabled { cursor: wait; opacity: 0.7; }\n.mj-profile__channel-icon[_ngcontent-%COMP%] {\n width: 32px; height: 32px;\n border-radius: 8px;\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n display: flex; align-items: center; justify-content: center;\n font-size: 13px;\n flex-shrink: 0;\n transition: all 0.15s;\n}\n.mj-profile__channel--on[_ngcontent-%COMP%] .mj-profile__channel-icon[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-brand-primary) 14%, transparent);\n color: var(--mj-brand-primary);\n}\n.mj-profile__channel-label[_ngcontent-%COMP%] {\n flex: 1;\n font-size: 13.5px;\n font-weight: 500;\n color: var(--mj-text-primary);\n}\n.mj-profile__channel-hint[_ngcontent-%COMP%] {\n font-size: 11.5px;\n font-weight: 400;\n color: var(--mj-text-muted);\n margin-top: 2px;\n}\n.mj-profile__channel-state[_ngcontent-%COMP%] {\n flex-shrink: 0;\n color: var(--mj-text-muted);\n font-size: 13px;\n min-width: 36px;\n display: flex; justify-content: flex-end; align-items: center;\n}\n\n.mj-profile__switch[_ngcontent-%COMP%] {\n width: 36px;\n height: 20px;\n background: var(--mj-border-strong);\n border-radius: 100px;\n position: relative;\n transition: background 0.2s;\n display: inline-block;\n}\n.mj-profile__switch-knob[_ngcontent-%COMP%] {\n position: absolute;\n top: 2px; left: 2px;\n width: 16px; height: 16px;\n background: white;\n border-radius: 50%;\n transition: transform 0.2s;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);\n}\n.mj-profile__switch--on[_ngcontent-%COMP%] { background: var(--mj-brand-primary); }\n.mj-profile__switch--on[_ngcontent-%COMP%] .mj-profile__switch-knob[_ngcontent-%COMP%] { transform: translateX(16px); }\n\n.mj-profile__footer[_ngcontent-%COMP%] {\n border-top: 1px solid var(--mj-border-subtle);\n padding: 14px 20px;\n display: flex;\n gap: 8px;\n align-items: center;\n flex-shrink: 0;\n}\n.mj-profile__spacer[_ngcontent-%COMP%] { flex: 1; }\n.mj-profile__btn[_ngcontent-%COMP%] {\n padding: 9px 16px;\n border-radius: 8px;\n border: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n cursor: pointer;\n font-size: 13px;\n font-weight: 500;\n font-family: inherit;\n display: inline-flex;\n align-items: center;\n gap: 6px;\n transition: all 0.15s;\n}\n.mj-profile__btn[_ngcontent-%COMP%]:hover { background: var(--mj-bg-surface-hover); border-color: var(--mj-border-strong); }\n.mj-profile__btn--primary[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border-color: var(--mj-brand-primary);\n}\n.mj-profile__btn--primary[_ngcontent-%COMP%]:hover {\n background: color-mix(in srgb, var(--mj-brand-primary) 88%, black);\n border-color: color-mix(in srgb, var(--mj-brand-primary) 88%, black);\n}\n.mj-profile__btn--danger[_ngcontent-%COMP%] {\n color: var(--mj-status-error);\n border-color: color-mix(in srgb, var(--mj-status-error) 30%, var(--mj-border-default));\n}\n.mj-profile__btn--danger[_ngcontent-%COMP%]:hover {\n background: color-mix(in srgb, var(--mj-status-error) 8%, transparent);\n border-color: var(--mj-status-error);\n}\n\n\n.mj-profile__panel[_ngcontent-%COMP%] {\n position: absolute;\n inset: 0;\n background: var(--mj-bg-surface);\n transform: translateX(100%);\n transition: transform 0.32s cubic-bezier(0.4, 0, 0.2, 1);\n display: flex;\n flex-direction: column;\n z-index: 3;\n}\n.mj-profile__panel--open[_ngcontent-%COMP%] {\n transform: translateX(0);\n box-shadow: -8px 0 24px rgba(0, 0, 0, 0.06);\n}\n.mj-profile__panel-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 14px 18px;\n border-bottom: 1px solid var(--mj-border-subtle);\n background: var(--mj-bg-surface-card);\n flex-shrink: 0;\n}\n.mj-profile__panel-back[_ngcontent-%COMP%] {\n width: 34px; height: 34px;\n border-radius: 8px;\n border: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n cursor: pointer;\n display: flex; align-items: center; justify-content: center;\n font-size: 13px;\n transition: all 0.15s;\n font-family: inherit;\n}\n.mj-profile__panel-back[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-hover);\n border-color: var(--mj-brand-primary);\n color: var(--mj-brand-primary);\n}\n.mj-profile__panel-title[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 15px;\n font-weight: 600;\n color: var(--mj-text-primary);\n letter-spacing: -0.2px;\n}\n.mj-profile__panel-body[_ngcontent-%COMP%] {\n flex: 1;\n min-height: 0;\n overflow-y: auto;\n padding: 16px 20px 20px;\n}\n\n\n.mj-profile__themes[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n.mj-profile__theme[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 14px;\n padding: 12px 14px;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-subtle);\n border-radius: 10px;\n cursor: pointer;\n transition: all 0.15s;\n text-align: left;\n width: 100%;\n font-family: inherit;\n}\n.mj-profile__theme[_ngcontent-%COMP%]:hover:not(:disabled) {\n border-color: var(--mj-brand-primary);\n background: var(--mj-bg-surface-hover);\n}\n.mj-profile__theme[_ngcontent-%COMP%]:disabled { cursor: wait; opacity: 0.7; }\n.mj-profile__theme--active[_ngcontent-%COMP%] {\n border-color: var(--mj-brand-primary);\n background: color-mix(in srgb, var(--mj-brand-primary) 5%, var(--mj-bg-surface-card));\n}\n.mj-profile__theme-swatch[_ngcontent-%COMP%] {\n width: 40px; height: 40px;\n border-radius: 10px;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 16px;\n flex-shrink: 0;\n border: 1px solid var(--mj-border-default);\n}\n.mj-profile__theme-swatch--light[_ngcontent-%COMP%] {\n background: linear-gradient(135deg, #ffffff 0%, #f1f5f9 100%);\n color: #f59e0b;\n}\n.mj-profile__theme-swatch--dark[_ngcontent-%COMP%] {\n background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%);\n color: #94a3b8;\n border-color: #334155;\n}\n.mj-profile__theme-swatch--system[_ngcontent-%COMP%] {\n background: linear-gradient(135deg, #ffffff 0%, #ffffff 49%, #1e293b 51%, #0f172a 100%);\n color: var(--mj-text-secondary);\n}\n.mj-profile__theme-info[_ngcontent-%COMP%] { flex: 1; min-width: 0; }\n.mj-profile__theme-name[_ngcontent-%COMP%] {\n font-size: 13.5px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n.mj-profile__theme-desc[_ngcontent-%COMP%] {\n font-size: 11.5px;\n color: var(--mj-text-muted);\n margin-top: 2px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.mj-profile__theme-check[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n font-size: 14px;\n flex-shrink: 0;\n}\n\n\n.mj-profile__theme-sep[_ngcontent-%COMP%] {\n font-size: 11px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase;\n color: var(--mj-text-muted); padding: 6px 4px 2px; margin-top: 6px;\n}\n.mj-profile__brand-swatch[_ngcontent-%COMP%] {\n display: flex; align-items: center; justify-content: center; overflow: hidden; padding: 0;\n}\n.mj-profile__brand-swatch[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n width: 33%; height: 100%; display: block;\n}\n\n@media (max-width: 480px) {\n .mj-profile__hero[_ngcontent-%COMP%] { padding: 20px 18px 48px; }\n .mj-profile__avatar-zone[_ngcontent-%COMP%] { width: 88px; height: 88px; margin-top: -44px; }\n .mj-profile__avatar[_ngcontent-%COMP%] { width: 88px; height: 88px; font-size: 28px; }\n .mj-profile__name[_ngcontent-%COMP%] { font-size: 19px; }\n .mj-profile__field-list[_ngcontent-%COMP%], \n .mj-profile__section[_ngcontent-%COMP%] { padding-left: 18px; padding-right: 18px; }\n .mj-profile__footer[_ngcontent-%COMP%] { padding: 12px 16px; }\n .mj-profile--panel-open[_ngcontent-%COMP%] .mj-profile__main[_ngcontent-%COMP%] { transform: translateX(-20%); }\n .mj-profile__panel-body[_ngcontent-%COMP%] { padding: 14px 16px 16px; }\n}"] });
750
811
  }
751
812
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ProfileDialogComponent, [{
@@ -851,6 +912,35 @@ export class ProfileDialogComponent extends BaseAngularComponent {
851
912
  </div>
852
913
  }
853
914
 
915
+ @if (ForkingAvailable) {
916
+ <div class="mj-profile__section">
917
+ <div class="mj-profile__section-head">
918
+ <h4>Conversations</h4>
919
+ </div>
920
+ <div class="mj-profile__channels">
921
+ <button type="button"
922
+ class="mj-profile__channel"
923
+ data-testid="forking-toggle"
924
+ role="switch"
925
+ [attr.aria-checked]="ForkingEnabled"
926
+ [class.mj-profile__channel--on]="ForkingEnabled"
927
+ [disabled]="SavingForking"
928
+ (click)="ToggleForking()">
929
+ <div class="mj-profile__channel-icon"><i class="fa-solid fa-code-branch" aria-hidden="true"></i></div>
930
+ <div class="mj-profile__channel-label">
931
+ Fork when I edit or regenerate
932
+ <div class="mj-profile__channel-hint">When off, Edit and Regenerate change the latest turn in place.</div>
933
+ </div>
934
+ <div class="mj-profile__channel-state">
935
+ <span class="mj-profile__switch" [class.mj-profile__switch--on]="ForkingEnabled">
936
+ <span class="mj-profile__switch-knob"></span>
937
+ </span>
938
+ </div>
939
+ </button>
940
+ </div>
941
+ </div>
942
+ }
943
+
854
944
  <div class="mj-profile__section">
855
945
  <div class="mj-profile__section-head">
856
946
  <h4>Notifications</h4>
@@ -968,5 +1058,5 @@ export class ProfileDialogComponent extends BaseAngularComponent {
968
1058
  }], AvatarIconClass: [{
969
1059
  type: Input
970
1060
  }] }); })();
971
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ProfileDialogComponent, { className: "ProfileDialogComponent", filePath: "src/lib/profile/profile-dialog.component.ts", lineNumber: 838 }); })();
1061
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ProfileDialogComponent, { className: "ProfileDialogComponent", filePath: "src/lib/profile/profile-dialog.component.ts", lineNumber: 870 }); })();
972
1062
  //# sourceMappingURL=profile-dialog.component.js.map