@memberjunction/ng-explorer-core 6.1.0-edge.4 → 6.1.0-edge.6
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.
- package/README.md +19 -0
- package/dist/generated/lazy-feature-config.d.ts.map +1 -1
- package/dist/generated/lazy-feature-config.js +12 -6
- package/dist/generated/lazy-feature-config.js.map +1 -1
- package/dist/lib/about/about-dialog.component.js +4 -4
- package/dist/lib/about/about-dialog.component.js.map +1 -1
- package/dist/lib/command-palette/command-palette.component.d.ts +13 -0
- package/dist/lib/command-palette/command-palette.component.d.ts.map +1 -1
- package/dist/lib/command-palette/command-palette.component.js +106 -42
- package/dist/lib/command-palette/command-palette.component.js.map +1 -1
- package/dist/lib/conversation-feedback/conversation-feedback.js +1 -1
- package/dist/lib/dashboard-preferences-dialog/dashboard-preferences-dialog.component.js +1 -1
- package/dist/lib/oauth/oauth-callback.component.js +1 -1
- package/dist/lib/omnibar/omnibar-palette.component.d.ts.map +1 -1
- package/dist/lib/omnibar/omnibar-palette.component.js +9 -3
- package/dist/lib/omnibar/omnibar-palette.component.js.map +1 -1
- package/dist/lib/omnibar/providers/omnibar-record.provider.d.ts.map +1 -1
- package/dist/lib/omnibar/providers/omnibar-record.provider.js +9 -3
- package/dist/lib/omnibar/providers/omnibar-record.provider.js.map +1 -1
- package/dist/lib/profile/profile-dialog.component.js +1 -1
- package/dist/lib/resource-wrappers/chat-conversations-resource.component.d.ts.map +1 -1
- package/dist/lib/resource-wrappers/chat-conversations-resource.component.js +13 -12
- package/dist/lib/resource-wrappers/chat-conversations-resource.component.js.map +1 -1
- package/dist/lib/resource-wrappers/chat-deeplink-params.d.ts +24 -0
- package/dist/lib/resource-wrappers/chat-deeplink-params.d.ts.map +1 -0
- package/dist/lib/resource-wrappers/chat-deeplink-params.js +27 -0
- package/dist/lib/resource-wrappers/chat-deeplink-params.js.map +1 -0
- package/dist/lib/resource-wrappers/dashboard-resource.component.d.ts +7 -0
- package/dist/lib/resource-wrappers/dashboard-resource.component.d.ts.map +1 -1
- package/dist/lib/resource-wrappers/dashboard-resource.component.js +29 -14
- package/dist/lib/resource-wrappers/dashboard-resource.component.js.map +1 -1
- package/dist/lib/resource-wrappers/list-detail-resource.component.js +1 -1
- package/dist/lib/resource-wrappers/list-detail-resource.component.js.map +1 -1
- package/dist/lib/resource-wrappers/query-resource.component.js +1 -1
- package/dist/lib/resource-wrappers/query-resource.component.js.map +1 -1
- package/dist/lib/resource-wrappers/record-resource.component.d.ts +3 -0
- package/dist/lib/resource-wrappers/record-resource.component.d.ts.map +1 -1
- package/dist/lib/resource-wrappers/record-resource.component.js +18 -4
- package/dist/lib/resource-wrappers/record-resource.component.js.map +1 -1
- package/dist/lib/resource-wrappers/search-results-resource.component.d.ts.map +1 -1
- package/dist/lib/resource-wrappers/search-results-resource.component.js +6 -2
- package/dist/lib/resource-wrappers/search-results-resource.component.js.map +1 -1
- package/dist/lib/resource-wrappers/view-resource.component.d.ts.map +1 -1
- package/dist/lib/resource-wrappers/view-resource.component.js +6 -3
- package/dist/lib/resource-wrappers/view-resource.component.js.map +1 -1
- package/dist/lib/server-connectivity/server-connectivity-banner.component.d.ts +20 -8
- package/dist/lib/server-connectivity/server-connectivity-banner.component.d.ts.map +1 -1
- package/dist/lib/server-connectivity/server-connectivity-banner.component.js +25 -20
- package/dist/lib/server-connectivity/server-connectivity-banner.component.js.map +1 -1
- package/dist/lib/shell/components/dialogs/app-access-dialog.component.js +2 -2
- package/dist/lib/shell/components/dialogs/app-access-dialog.component.js.map +1 -1
- package/dist/lib/shell/components/header/app-nav.component.js +1 -1
- package/dist/lib/shell/components/header/app-switcher.component.js +82 -83
- package/dist/lib/shell/components/header/app-switcher.component.js.map +1 -1
- package/dist/lib/shell/components/record-open/record-bar.component.js +1 -1
- package/dist/lib/shell/components/record-open/record-origin-crumb.component.js +1 -1
- package/dist/lib/shell/components/record-open/record-switcher-sheet.component.js +1 -1
- package/dist/lib/shell/components/record-open/records-hub-pill.component.js +1 -1
- package/dist/lib/shell/components/tabs/tab-container.component.d.ts +25 -0
- package/dist/lib/shell/components/tabs/tab-container.component.d.ts.map +1 -1
- package/dist/lib/shell/components/tabs/tab-container.component.js +88 -4
- package/dist/lib/shell/components/tabs/tab-container.component.js.map +1 -1
- package/dist/lib/shell/services/sharing-center-dialog-host.component.js +2 -2
- package/dist/lib/shell/services/sharing-center-dialog-host.component.js.map +1 -1
- package/dist/lib/shell/shell-chrome-policy.d.ts +54 -0
- package/dist/lib/shell/shell-chrome-policy.d.ts.map +1 -0
- package/dist/lib/shell/shell-chrome-policy.js +62 -0
- package/dist/lib/shell/shell-chrome-policy.js.map +1 -0
- package/dist/lib/shell/shell.component.d.ts +42 -0
- package/dist/lib/shell/shell.component.d.ts.map +1 -1
- package/dist/lib/shell/shell.component.js +394 -255
- package/dist/lib/shell/shell.component.js.map +1 -1
- package/dist/lib/single-dashboard/Components/edit-dashboard/edit-dashboard.component.js +1 -1
- package/dist/lib/single-dashboard/single-dashboard.component.js +1 -1
- package/dist/lib/single-list-detail/single-list-detail.component.d.ts +9 -0
- package/dist/lib/single-list-detail/single-list-detail.component.d.ts.map +1 -1
- package/dist/lib/single-list-detail/single-list-detail.component.js +34 -15
- package/dist/lib/single-list-detail/single-list-detail.component.js.map +1 -1
- package/dist/lib/single-record/single-record.component.d.ts +10 -0
- package/dist/lib/single-record/single-record.component.d.ts.map +1 -1
- package/dist/lib/single-record/single-record.component.js +23 -3
- package/dist/lib/single-record/single-record.component.js.map +1 -1
- package/dist/lib/single-search-result/single-search-result.component.d.ts.map +1 -1
- package/dist/lib/single-search-result/single-search-result.component.js +5 -2
- package/dist/lib/single-search-result/single-search-result.component.js.map +1 -1
- package/dist/lib/user-notifications/user-notifications.component.js +11 -12
- package/dist/lib/user-notifications/user-notifications.component.js.map +1 -1
- package/dist/lib/user-profile/user-profile.component.js +1 -1
- package/dist/public-api.d.ts +1 -0
- package/dist/public-api.d.ts.map +1 -1
- package/dist/public-api.js +1 -0
- package/dist/public-api.js.map +1 -1
- package/package.json +62 -62
|
@@ -20,65 +20,65 @@ function AppSwitcherComponent_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
|
20
20
|
function AppSwitcherComponent_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
21
21
|
i0.ɵɵelement(0, "i", 11);
|
|
22
22
|
} if (rf & 2) {
|
|
23
|
-
const
|
|
24
|
-
i0.ɵɵclassMap((
|
|
25
|
-
i0.ɵɵstyleProp("color",
|
|
23
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
24
|
+
i0.ɵɵclassMap((ctx_r0.activeApp == null ? null : ctx_r0.activeApp.Icon) || "fa-solid fa-cube");
|
|
25
|
+
i0.ɵɵstyleProp("color", ctx_r0.activeApp == null ? null : ctx_r0.activeApp.GetColor());
|
|
26
26
|
} }
|
|
27
27
|
function AppSwitcherComponent_Conditional_8_Conditional_2_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
28
|
-
const
|
|
28
|
+
const _r4 = i0.ɵɵgetCurrentView();
|
|
29
29
|
i0.ɵɵelementStart(0, "div", 19);
|
|
30
30
|
i0.ɵɵelement(1, "i", 21);
|
|
31
31
|
i0.ɵɵelementStart(2, "span", 22);
|
|
32
32
|
i0.ɵɵtext(3, "You have unsaved changes.");
|
|
33
33
|
i0.ɵɵelementEnd();
|
|
34
34
|
i0.ɵɵelementStart(4, "button", 23);
|
|
35
|
-
i0.ɵɵlistener("click", function AppSwitcherComponent_Conditional_8_Conditional_2_Conditional_7_Template_button_click_4_listener() { i0.ɵɵrestoreView(
|
|
35
|
+
i0.ɵɵlistener("click", function AppSwitcherComponent_Conditional_8_Conditional_2_Conditional_7_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r4); const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.ConfirmDiscard()); });
|
|
36
36
|
i0.ɵɵtext(5, "Discard");
|
|
37
37
|
i0.ɵɵelementEnd();
|
|
38
38
|
i0.ɵɵelementStart(6, "button", 24);
|
|
39
|
-
i0.ɵɵlistener("click", function AppSwitcherComponent_Conditional_8_Conditional_2_Conditional_7_Template_button_click_6_listener() { i0.ɵɵrestoreView(
|
|
39
|
+
i0.ɵɵlistener("click", function AppSwitcherComponent_Conditional_8_Conditional_2_Conditional_7_Template_button_click_6_listener() { i0.ɵɵrestoreView(_r4); const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.CancelDiscard()); });
|
|
40
40
|
i0.ɵɵtext(7, "Keep editing");
|
|
41
41
|
i0.ɵɵelementEnd()();
|
|
42
42
|
} }
|
|
43
43
|
function AppSwitcherComponent_Conditional_8_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
44
|
-
const
|
|
44
|
+
const _r3 = i0.ɵɵgetCurrentView();
|
|
45
45
|
i0.ɵɵelementStart(0, "div", 13)(1, "button", 14);
|
|
46
|
-
i0.ɵɵlistener("click", function AppSwitcherComponent_Conditional_8_Conditional_2_Template_button_click_1_listener() { i0.ɵɵrestoreView(
|
|
46
|
+
i0.ɵɵlistener("click", function AppSwitcherComponent_Conditional_8_Conditional_2_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r3); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.RequestExitConfigMode()); });
|
|
47
47
|
i0.ɵɵelement(2, "i", 15);
|
|
48
48
|
i0.ɵɵelementEnd();
|
|
49
49
|
i0.ɵɵelementStart(3, "h2", 16);
|
|
50
50
|
i0.ɵɵtext(4, "Configure apps");
|
|
51
51
|
i0.ɵɵelementEnd();
|
|
52
52
|
i0.ɵɵelementStart(5, "button", 17);
|
|
53
|
-
i0.ɵɵlistener("click", function AppSwitcherComponent_Conditional_8_Conditional_2_Template_button_click_5_listener() { i0.ɵɵrestoreView(
|
|
53
|
+
i0.ɵɵlistener("click", function AppSwitcherComponent_Conditional_8_Conditional_2_Template_button_click_5_listener() { i0.ɵɵrestoreView(_r3); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.CloseLauncher()); });
|
|
54
54
|
i0.ɵɵelement(6, "i", 18);
|
|
55
55
|
i0.ɵɵelementEnd()();
|
|
56
56
|
i0.ɵɵconditionalCreate(7, AppSwitcherComponent_Conditional_8_Conditional_2_Conditional_7_Template, 8, 0, "div", 19);
|
|
57
57
|
i0.ɵɵelementStart(8, "mj-user-app-config-content", 20);
|
|
58
|
-
i0.ɵɵlistener("Saved", function AppSwitcherComponent_Conditional_8_Conditional_2_Template_mj_user_app_config_content_Saved_8_listener() { i0.ɵɵrestoreView(
|
|
58
|
+
i0.ɵɵlistener("Saved", function AppSwitcherComponent_Conditional_8_Conditional_2_Template_mj_user_app_config_content_Saved_8_listener() { i0.ɵɵrestoreView(_r3); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.ExitConfigMode()); })("Cancelled", function AppSwitcherComponent_Conditional_8_Conditional_2_Template_mj_user_app_config_content_Cancelled_8_listener() { i0.ɵɵrestoreView(_r3); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.RequestExitConfigMode()); });
|
|
59
59
|
i0.ɵɵelementEnd();
|
|
60
60
|
} if (rf & 2) {
|
|
61
|
-
const
|
|
61
|
+
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
62
62
|
i0.ɵɵadvance(7);
|
|
63
|
-
i0.ɵɵconditional(
|
|
63
|
+
i0.ɵɵconditional(ctx_r0.PendingDiscard ? 7 : -1);
|
|
64
64
|
i0.ɵɵadvance();
|
|
65
|
-
i0.ɵɵproperty("Provider",
|
|
65
|
+
i0.ɵɵproperty("Provider", ctx_r0.Provider);
|
|
66
66
|
} }
|
|
67
67
|
function AppSwitcherComponent_Conditional_8_Conditional_3_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
68
|
-
const
|
|
68
|
+
const _r6 = i0.ɵɵgetCurrentView();
|
|
69
69
|
i0.ɵɵelementStart(0, "div", 25)(1, "div", 32);
|
|
70
70
|
i0.ɵɵelement(2, "i", 33);
|
|
71
71
|
i0.ɵɵelementStart(3, "input", 34, 3);
|
|
72
|
-
i0.ɵɵlistener("input", function AppSwitcherComponent_Conditional_8_Conditional_3_Conditional_0_Template_input_input_3_listener($event) { i0.ɵɵrestoreView(
|
|
72
|
+
i0.ɵɵlistener("input", function AppSwitcherComponent_Conditional_8_Conditional_3_Conditional_0_Template_input_input_3_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.OnFilterInput($event)); })("keydown", function AppSwitcherComponent_Conditional_8_Conditional_3_Conditional_0_Template_input_keydown_3_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.OnFilterKeydown($event)); });
|
|
73
73
|
i0.ɵɵelementEnd()();
|
|
74
74
|
i0.ɵɵelementStart(5, "button", 17);
|
|
75
|
-
i0.ɵɵlistener("click", function AppSwitcherComponent_Conditional_8_Conditional_3_Conditional_0_Template_button_click_5_listener() { i0.ɵɵrestoreView(
|
|
75
|
+
i0.ɵɵlistener("click", function AppSwitcherComponent_Conditional_8_Conditional_3_Conditional_0_Template_button_click_5_listener() { i0.ɵɵrestoreView(_r6); const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.CloseLauncher()); });
|
|
76
76
|
i0.ɵɵelement(6, "i", 18);
|
|
77
77
|
i0.ɵɵelementEnd()();
|
|
78
78
|
} if (rf & 2) {
|
|
79
|
-
const
|
|
79
|
+
const ctx_r0 = i0.ɵɵnextContext(3);
|
|
80
80
|
i0.ɵɵadvance(3);
|
|
81
|
-
i0.ɵɵproperty("value",
|
|
81
|
+
i0.ɵɵproperty("value", ctx_r0.FilterText);
|
|
82
82
|
} }
|
|
83
83
|
function AppSwitcherComponent_Conditional_8_Conditional_3_Conditional_2_For_2_ng_container_0_Template(rf, ctx) { if (rf & 1) {
|
|
84
84
|
i0.ɵɵelementContainer(0);
|
|
@@ -86,20 +86,20 @@ function AppSwitcherComponent_Conditional_8_Conditional_3_Conditional_2_For_2_ng
|
|
|
86
86
|
function AppSwitcherComponent_Conditional_8_Conditional_3_Conditional_2_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
87
87
|
i0.ɵɵtemplate(0, AppSwitcherComponent_Conditional_8_Conditional_3_Conditional_2_For_2_ng_container_0_Template, 1, 0, "ng-container", 37);
|
|
88
88
|
} if (rf & 2) {
|
|
89
|
-
const
|
|
90
|
-
const ɵ$
|
|
89
|
+
const app_r7 = ctx.$implicit;
|
|
90
|
+
const ɵ$index_68_r8 = ctx.$index;
|
|
91
91
|
i0.ɵɵnextContext(4);
|
|
92
|
-
const
|
|
93
|
-
i0.ɵɵproperty("ngTemplateOutlet",
|
|
92
|
+
const appCard_r9 = i0.ɵɵreference(10);
|
|
93
|
+
i0.ɵɵproperty("ngTemplateOutlet", appCard_r9)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c3, app_r7, ɵ$index_68_r8));
|
|
94
94
|
} }
|
|
95
95
|
function AppSwitcherComponent_Conditional_8_Conditional_3_Conditional_2_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
96
96
|
i0.ɵɵelementStart(0, "div", 36);
|
|
97
97
|
i0.ɵɵtext(1);
|
|
98
98
|
i0.ɵɵelementEnd();
|
|
99
99
|
} if (rf & 2) {
|
|
100
|
-
const
|
|
100
|
+
const ctx_r0 = i0.ɵɵnextContext(4);
|
|
101
101
|
i0.ɵɵadvance();
|
|
102
|
-
i0.ɵɵtextInterpolate1("No apps match \"",
|
|
102
|
+
i0.ɵɵtextInterpolate1("No apps match \"", ctx_r0.FilterText, "\"");
|
|
103
103
|
} }
|
|
104
104
|
function AppSwitcherComponent_Conditional_8_Conditional_3_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
105
105
|
i0.ɵɵelementStart(0, "div", 35);
|
|
@@ -107,11 +107,11 @@ function AppSwitcherComponent_Conditional_8_Conditional_3_Conditional_2_Template
|
|
|
107
107
|
i0.ɵɵelementEnd();
|
|
108
108
|
i0.ɵɵconditionalCreate(3, AppSwitcherComponent_Conditional_8_Conditional_3_Conditional_2_Conditional_3_Template, 2, 1, "div", 36);
|
|
109
109
|
} if (rf & 2) {
|
|
110
|
-
const
|
|
110
|
+
const ctx_r0 = i0.ɵɵnextContext(3);
|
|
111
111
|
i0.ɵɵadvance();
|
|
112
|
-
i0.ɵɵrepeater(
|
|
112
|
+
i0.ɵɵrepeater(ctx_r0.VisibleApps);
|
|
113
113
|
i0.ɵɵadvance(2);
|
|
114
|
-
i0.ɵɵconditional(
|
|
114
|
+
i0.ɵɵconditional(ctx_r0.VisibleApps.length === 0 ? 3 : -1);
|
|
115
115
|
} }
|
|
116
116
|
function AppSwitcherComponent_Conditional_8_Conditional_3_Conditional_3_Conditional_0_For_4_ng_container_0_Template(rf, ctx) { if (rf & 1) {
|
|
117
117
|
i0.ɵɵelementContainer(0);
|
|
@@ -119,11 +119,11 @@ function AppSwitcherComponent_Conditional_8_Conditional_3_Conditional_3_Conditio
|
|
|
119
119
|
function AppSwitcherComponent_Conditional_8_Conditional_3_Conditional_3_Conditional_0_For_4_Template(rf, ctx) { if (rf & 1) {
|
|
120
120
|
i0.ɵɵtemplate(0, AppSwitcherComponent_Conditional_8_Conditional_3_Conditional_3_Conditional_0_For_4_ng_container_0_Template, 1, 0, "ng-container", 37);
|
|
121
121
|
} if (rf & 2) {
|
|
122
|
-
const
|
|
123
|
-
const ɵ$
|
|
122
|
+
const app_r11 = ctx.$implicit;
|
|
123
|
+
const ɵ$index_84_r12 = ctx.$index;
|
|
124
124
|
i0.ɵɵnextContext(5);
|
|
125
|
-
const
|
|
126
|
-
i0.ɵɵproperty("ngTemplateOutlet",
|
|
125
|
+
const appCard_r9 = i0.ɵɵreference(10);
|
|
126
|
+
i0.ɵɵproperty("ngTemplateOutlet", appCard_r9)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c3, app_r11, ɵ$index_84_r12));
|
|
127
127
|
} }
|
|
128
128
|
function AppSwitcherComponent_Conditional_8_Conditional_3_Conditional_3_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
129
129
|
i0.ɵɵelementStart(0, "div", 42);
|
|
@@ -133,9 +133,9 @@ function AppSwitcherComponent_Conditional_8_Conditional_3_Conditional_3_Conditio
|
|
|
133
133
|
i0.ɵɵrepeaterCreate(3, AppSwitcherComponent_Conditional_8_Conditional_3_Conditional_3_Conditional_0_For_4_Template, 1, 5, "ng-container", null, _forTrack0);
|
|
134
134
|
i0.ɵɵelementEnd();
|
|
135
135
|
} if (rf & 2) {
|
|
136
|
-
const
|
|
136
|
+
const ctx_r0 = i0.ɵɵnextContext(4);
|
|
137
137
|
i0.ɵɵadvance(3);
|
|
138
|
-
i0.ɵɵrepeater(
|
|
138
|
+
i0.ɵɵrepeater(ctx_r0.RecentApps);
|
|
139
139
|
} }
|
|
140
140
|
function AppSwitcherComponent_Conditional_8_Conditional_3_Conditional_3_For_8_ng_container_0_Template(rf, ctx) { if (rf & 1) {
|
|
141
141
|
i0.ɵɵelementContainer(0);
|
|
@@ -143,11 +143,11 @@ function AppSwitcherComponent_Conditional_8_Conditional_3_Conditional_3_For_8_ng
|
|
|
143
143
|
function AppSwitcherComponent_Conditional_8_Conditional_3_Conditional_3_For_8_Template(rf, ctx) { if (rf & 1) {
|
|
144
144
|
i0.ɵɵtemplate(0, AppSwitcherComponent_Conditional_8_Conditional_3_Conditional_3_For_8_ng_container_0_Template, 1, 0, "ng-container", 37);
|
|
145
145
|
} if (rf & 2) {
|
|
146
|
-
const
|
|
147
|
-
const ɵ$
|
|
148
|
-
const
|
|
149
|
-
const
|
|
150
|
-
i0.ɵɵproperty("ngTemplateOutlet",
|
|
146
|
+
const app_r13 = ctx.$implicit;
|
|
147
|
+
const ɵ$index_100_r14 = ctx.$index;
|
|
148
|
+
const ctx_r0 = i0.ɵɵnextContext(4);
|
|
149
|
+
const appCard_r9 = i0.ɵɵreference(10);
|
|
150
|
+
i0.ɵɵproperty("ngTemplateOutlet", appCard_r9)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c3, app_r13, ɵ$index_100_r14 + ctx_r0.RecentApps.length));
|
|
151
151
|
} }
|
|
152
152
|
function AppSwitcherComponent_Conditional_8_Conditional_3_Conditional_3_Conditional_9_Template(rf, ctx) { if (rf & 1) {
|
|
153
153
|
i0.ɵɵelementStart(0, "div", 36);
|
|
@@ -155,13 +155,13 @@ function AppSwitcherComponent_Conditional_8_Conditional_3_Conditional_3_Conditio
|
|
|
155
155
|
i0.ɵɵelementEnd();
|
|
156
156
|
} }
|
|
157
157
|
function AppSwitcherComponent_Conditional_8_Conditional_3_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
158
|
-
const
|
|
158
|
+
const _r10 = i0.ɵɵgetCurrentView();
|
|
159
159
|
i0.ɵɵconditionalCreate(0, AppSwitcherComponent_Conditional_8_Conditional_3_Conditional_3_Conditional_0_Template, 5, 0);
|
|
160
160
|
i0.ɵɵelementStart(1, "div", 38)(2, "span");
|
|
161
161
|
i0.ɵɵtext(3, "All apps");
|
|
162
162
|
i0.ɵɵelementEnd();
|
|
163
163
|
i0.ɵɵelementStart(4, "button", 39);
|
|
164
|
-
i0.ɵɵlistener("click", function AppSwitcherComponent_Conditional_8_Conditional_3_Conditional_3_Template_button_click_4_listener() { i0.ɵɵrestoreView(
|
|
164
|
+
i0.ɵɵlistener("click", function AppSwitcherComponent_Conditional_8_Conditional_3_Conditional_3_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r10); const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.ToggleSortMode()); });
|
|
165
165
|
i0.ɵɵelement(5, "i", 40);
|
|
166
166
|
i0.ɵɵelementEnd()();
|
|
167
167
|
i0.ɵɵelementStart(6, "div", 41);
|
|
@@ -169,20 +169,20 @@ function AppSwitcherComponent_Conditional_8_Conditional_3_Conditional_3_Template
|
|
|
169
169
|
i0.ɵɵelementEnd();
|
|
170
170
|
i0.ɵɵconditionalCreate(9, AppSwitcherComponent_Conditional_8_Conditional_3_Conditional_3_Conditional_9_Template, 2, 0, "div", 36);
|
|
171
171
|
} if (rf & 2) {
|
|
172
|
-
const
|
|
173
|
-
i0.ɵɵconditional(
|
|
172
|
+
const ctx_r0 = i0.ɵɵnextContext(3);
|
|
173
|
+
i0.ɵɵconditional(ctx_r0.RecentApps.length > 0 ? 0 : -1);
|
|
174
174
|
i0.ɵɵadvance(4);
|
|
175
|
-
i0.ɵɵproperty("title",
|
|
176
|
-
i0.ɵɵattribute("aria-pressed",
|
|
175
|
+
i0.ɵɵproperty("title", ctx_r0.SortMode === "alpha" ? "Sorted A\u2013Z \u2014 click for your custom order" : "Custom order \u2014 click for A\u2013Z");
|
|
176
|
+
i0.ɵɵattribute("aria-pressed", ctx_r0.SortMode === "alpha")("aria-label", ctx_r0.SortMode === "alpha" ? "Sorted alphabetically \u2014 switch to your custom order" : "Sorted by your custom order \u2014 switch to alphabetical");
|
|
177
177
|
i0.ɵɵadvance();
|
|
178
|
-
i0.ɵɵclassMap(
|
|
178
|
+
i0.ɵɵclassMap(ctx_r0.SortMode === "alpha" ? "fa-solid fa-arrow-down-a-z" : "fa-solid fa-bars-staggered");
|
|
179
179
|
i0.ɵɵadvance(2);
|
|
180
|
-
i0.ɵɵrepeater(
|
|
180
|
+
i0.ɵɵrepeater(ctx_r0.OtherApps);
|
|
181
181
|
i0.ɵɵadvance(2);
|
|
182
|
-
i0.ɵɵconditional(
|
|
182
|
+
i0.ɵɵconditional(ctx_r0.VisibleApps.length === 0 ? 9 : -1);
|
|
183
183
|
} }
|
|
184
184
|
function AppSwitcherComponent_Conditional_8_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
185
|
-
const
|
|
185
|
+
const _r5 = i0.ɵɵgetCurrentView();
|
|
186
186
|
i0.ɵɵconditionalCreate(0, AppSwitcherComponent_Conditional_8_Conditional_3_Conditional_0_Template, 7, 1, "div", 25);
|
|
187
187
|
i0.ɵɵelementStart(1, "div", 26);
|
|
188
188
|
i0.ɵɵconditionalCreate(2, AppSwitcherComponent_Conditional_8_Conditional_3_Conditional_2_Template, 4, 1)(3, AppSwitcherComponent_Conditional_8_Conditional_3_Conditional_3_Template, 10, 7);
|
|
@@ -206,7 +206,7 @@ function AppSwitcherComponent_Conditional_8_Conditional_3_Template(rf, ctx) { if
|
|
|
206
206
|
i0.ɵɵtext(19, " close");
|
|
207
207
|
i0.ɵɵelementEnd()();
|
|
208
208
|
i0.ɵɵelementStart(20, "button", 29);
|
|
209
|
-
i0.ɵɵlistener("click", function AppSwitcherComponent_Conditional_8_Conditional_3_Template_button_click_20_listener() { i0.ɵɵrestoreView(
|
|
209
|
+
i0.ɵɵlistener("click", function AppSwitcherComponent_Conditional_8_Conditional_3_Template_button_click_20_listener() { i0.ɵɵrestoreView(_r5); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.EnterConfigMode()); });
|
|
210
210
|
i0.ɵɵelement(21, "i", 30);
|
|
211
211
|
i0.ɵɵelementStart(22, "span");
|
|
212
212
|
i0.ɵɵtext(23, "Configure\u2026");
|
|
@@ -215,26 +215,26 @@ function AppSwitcherComponent_Conditional_8_Conditional_3_Template(rf, ctx) { if
|
|
|
215
215
|
i0.ɵɵtext(25);
|
|
216
216
|
i0.ɵɵelementEnd();
|
|
217
217
|
} if (rf & 2) {
|
|
218
|
-
const
|
|
219
|
-
i0.ɵɵconditional(
|
|
218
|
+
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
219
|
+
i0.ɵɵconditional(ctx_r0.ShowFilter ? 0 : -1);
|
|
220
220
|
i0.ɵɵadvance(2);
|
|
221
|
-
i0.ɵɵconditional(
|
|
221
|
+
i0.ɵɵconditional(ctx_r0.IsFiltering ? 2 : 3);
|
|
222
222
|
i0.ɵɵadvance(23);
|
|
223
|
-
i0.ɵɵtextInterpolate1("",
|
|
223
|
+
i0.ɵɵtextInterpolate1("", ctx_r0.AnnouncedAppCount, " applications available");
|
|
224
224
|
} }
|
|
225
225
|
function AppSwitcherComponent_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
226
|
-
const
|
|
226
|
+
const _r2 = i0.ɵɵgetCurrentView();
|
|
227
227
|
i0.ɵɵelementStart(0, "dialog", 12, 2);
|
|
228
|
-
i0.ɵɵlistener("click", function AppSwitcherComponent_Conditional_8_Template_dialog_click_0_listener($event) { i0.ɵɵrestoreView(
|
|
228
|
+
i0.ɵɵlistener("click", function AppSwitcherComponent_Conditional_8_Template_dialog_click_0_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.OnDialogClick($event)); })("cancel", function AppSwitcherComponent_Conditional_8_Template_dialog_cancel_0_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.OnDialogCancel($event)); })("keydown", function AppSwitcherComponent_Conditional_8_Template_dialog_keydown_0_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.OnPanelKeydown($event)); });
|
|
229
229
|
i0.ɵɵconditionalCreate(2, AppSwitcherComponent_Conditional_8_Conditional_2_Template, 9, 2)(3, AppSwitcherComponent_Conditional_8_Conditional_3_Template, 26, 3);
|
|
230
230
|
i0.ɵɵelementEnd();
|
|
231
231
|
} if (rf & 2) {
|
|
232
|
-
const
|
|
233
|
-
i0.ɵɵstyleProp("--anchor-left",
|
|
234
|
-
i0.ɵɵclassProp("launcher-panel--compact",
|
|
235
|
-
i0.ɵɵattribute("aria-label",
|
|
232
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
233
|
+
i0.ɵɵstyleProp("--anchor-left", ctx_r0.AnchorLeft + "px")("--anchor-top", ctx_r0.AnchorTop + "px");
|
|
234
|
+
i0.ɵɵclassProp("launcher-panel--compact", ctx_r0.CompactMode && !ctx_r0.ConfigMode);
|
|
235
|
+
i0.ɵɵattribute("aria-label", ctx_r0.ConfigMode ? null : "Application launcher")("aria-labelledby", ctx_r0.ConfigMode ? "mj-launcher-config-title" : null);
|
|
236
236
|
i0.ɵɵadvance(2);
|
|
237
|
-
i0.ɵɵconditional(
|
|
237
|
+
i0.ɵɵconditional(ctx_r0.ConfigMode ? 2 : 3);
|
|
238
238
|
} }
|
|
239
239
|
function AppSwitcherComponent_ng_template_9_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
240
240
|
i0.ɵɵelement(0, "i", 46);
|
|
@@ -242,26 +242,26 @@ function AppSwitcherComponent_ng_template_9_Conditional_2_Template(rf, ctx) { if
|
|
|
242
242
|
function AppSwitcherComponent_ng_template_9_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
243
243
|
i0.ɵɵelement(0, "i", 40);
|
|
244
244
|
} if (rf & 2) {
|
|
245
|
-
const
|
|
246
|
-
i0.ɵɵclassMap(
|
|
245
|
+
const app_r16 = i0.ɵɵnextContext().$implicit;
|
|
246
|
+
i0.ɵɵclassMap(app_r16.Icon || "fa-solid fa-cube");
|
|
247
247
|
} }
|
|
248
248
|
function AppSwitcherComponent_ng_template_9_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
249
249
|
i0.ɵɵelementStart(0, "div", 51);
|
|
250
250
|
i0.ɵɵtext(1);
|
|
251
251
|
i0.ɵɵelementEnd();
|
|
252
252
|
} if (rf & 2) {
|
|
253
|
-
const
|
|
254
|
-
const
|
|
255
|
-
const
|
|
256
|
-
const
|
|
257
|
-
i0.ɵɵproperty("id",
|
|
253
|
+
const ctx_r17 = i0.ɵɵnextContext();
|
|
254
|
+
const app_r16 = ctx_r17.$implicit;
|
|
255
|
+
const idx_r17 = ctx_r17.idx;
|
|
256
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
257
|
+
i0.ɵɵproperty("id", ctx_r0.OptionId(idx_r17) + "-desc");
|
|
258
258
|
i0.ɵɵadvance();
|
|
259
|
-
i0.ɵɵtextInterpolate(
|
|
259
|
+
i0.ɵɵtextInterpolate(app_r16.Description);
|
|
260
260
|
} }
|
|
261
261
|
function AppSwitcherComponent_ng_template_9_Template(rf, ctx) { if (rf & 1) {
|
|
262
|
-
const
|
|
262
|
+
const _r15 = i0.ɵɵgetCurrentView();
|
|
263
263
|
i0.ɵɵelementStart(0, "div", 44);
|
|
264
|
-
i0.ɵɵlistener("click", function AppSwitcherComponent_ng_template_9_Template_div_click_0_listener() { const
|
|
264
|
+
i0.ɵɵlistener("click", function AppSwitcherComponent_ng_template_9_Template_div_click_0_listener() { const app_r16 = i0.ɵɵrestoreView(_r15).$implicit; const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.selectApp(app_r16)); })("keydown", function AppSwitcherComponent_ng_template_9_Template_div_keydown_0_listener($event) { const idx_r17 = i0.ɵɵrestoreView(_r15).idx; const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.OnCardKeydown(idx_r17, $event)); });
|
|
265
265
|
i0.ɵɵelementStart(1, "div", 45);
|
|
266
266
|
i0.ɵɵconditionalCreate(2, AppSwitcherComponent_ng_template_9_Conditional_2_Template, 1, 0, "i", 46)(3, AppSwitcherComponent_ng_template_9_Conditional_3_Template, 1, 2, "i", 47);
|
|
267
267
|
i0.ɵɵelementEnd();
|
|
@@ -271,19 +271,19 @@ function AppSwitcherComponent_ng_template_9_Template(rf, ctx) { if (rf & 1) {
|
|
|
271
271
|
i0.ɵɵconditionalCreate(8, AppSwitcherComponent_ng_template_9_Conditional_8_Template, 2, 2, "div", 51);
|
|
272
272
|
i0.ɵɵelementEnd()();
|
|
273
273
|
} if (rf & 2) {
|
|
274
|
-
const
|
|
275
|
-
const
|
|
276
|
-
const
|
|
277
|
-
i0.ɵɵstyleProp("--app-color",
|
|
278
|
-
i0.ɵɵclassProp("active",
|
|
279
|
-
i0.ɵɵproperty("id",
|
|
280
|
-
i0.ɵɵattribute("aria-current",
|
|
274
|
+
const app_r16 = ctx.$implicit;
|
|
275
|
+
const idx_r17 = ctx.idx;
|
|
276
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
277
|
+
i0.ɵɵstyleProp("--app-color", app_r16.GetColor());
|
|
278
|
+
i0.ɵɵclassProp("active", ctx_r0.IsActiveApp(app_r16))("loading", ctx_r0.IsLoadingApp(app_r16));
|
|
279
|
+
i0.ɵɵproperty("id", ctx_r0.OptionId(idx_r17))("mjClickable", app_r16.Name)("testId", "app-switcher-item-" + app_r16.Name);
|
|
280
|
+
i0.ɵɵattribute("aria-current", ctx_r0.IsActiveApp(app_r16) ? "true" : null)("aria-describedby", app_r16.Description ? ctx_r0.OptionId(idx_r17) + "-desc" : null);
|
|
281
281
|
i0.ɵɵadvance(2);
|
|
282
|
-
i0.ɵɵconditional(
|
|
282
|
+
i0.ɵɵconditional(ctx_r0.IsLoadingApp(app_r16) ? 2 : 3);
|
|
283
283
|
i0.ɵɵadvance(5);
|
|
284
|
-
i0.ɵɵtextInterpolate(
|
|
284
|
+
i0.ɵɵtextInterpolate(app_r16.Name);
|
|
285
285
|
i0.ɵɵadvance();
|
|
286
|
-
i0.ɵɵconditional(
|
|
286
|
+
i0.ɵɵconditional(app_r16.Description ? 8 : -1);
|
|
287
287
|
} }
|
|
288
288
|
/** UserInfoEngine setting key holding the recently-switched-to apps */
|
|
289
289
|
const RECENT_APPS_KEY = 'mj.shell.recentApps.v1';
|
|
@@ -857,9 +857,8 @@ export class AppSwitcherComponent extends BaseAngularComponent {
|
|
|
857
857
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.panelRef = _t.first);
|
|
858
858
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.configContent = _t.first);
|
|
859
859
|
} }, inputs: { activeApp: "activeApp", isViewingSystemTab: "isViewingSystemTab", loadingAppId: "loadingAppId", SwitcherStyle: "SwitcherStyle" }, outputs: { appSelected: "appSelected" }, standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 11, vars: 9, consts: [["trigger", ""], ["appCard", ""], ["panel", ""], ["filterInput", ""], [1, "app-switcher-container"], ["testId", "app-switcher-trigger", 1, "app-switcher-button", 3, "click", "mjClickable"], ["aria-hidden", "true", 1, "app-icon", "loading-spinner", "fa-solid", "fa-spinner", "fa-spin"], ["aria-hidden", "true", 1, "app-icon", 3, "class", "color"], [1, "app-label"], ["aria-hidden", "true", 1, "dropdown-arrow", "fa-solid", "fa-chevron-down"], ["role", "dialog", "aria-modal", "true", 1, "launcher-panel", 3, "launcher-panel--compact", "--anchor-left", "--anchor-top"], ["aria-hidden", "true", 1, "app-icon"], ["role", "dialog", "aria-modal", "true", 1, "launcher-panel", 3, "click", "cancel", "keydown"], [1, "launcher-head", "launcher-head--config"], ["type", "button", "aria-label", "Back to apps", 1, "launcher-back", 3, "click"], ["aria-hidden", "true", 1, "fa-solid", "fa-arrow-left"], ["id", "mj-launcher-config-title", 1, "launcher-title"], ["type", "button", "aria-label", "Close application launcher", 1, "launcher-close", 3, "click"], ["aria-hidden", "true", 1, "fa-solid", "fa-xmark"], ["role", "alert", 1, "launcher-discard-bar"], [1, "launcher-config-body", 3, "Saved", "Cancelled", "Provider"], ["aria-hidden", "true", 1, "fa-solid", "fa-triangle-exclamation"], [1, "discard-msg"], ["mjButton", "", "variant", "danger", "size", "sm", 3, "click"], ["mjButton", "", "size", "sm", 3, "click"], [1, "launcher-head"], [1, "launcher-scroll"], [1, "launcher-foot"], ["aria-hidden", "true", 1, "launcher-kbd-hints"], ["type", "button", "testId", "app-switcher-configure", 1, "launcher-configure", 3, "click"], ["aria-hidden", "true", 1, "fa-solid", "fa-gear"], ["role", "status", 1, "sr-only"], [1, "launcher-filter"], ["aria-hidden", "true", 1, "fa-solid", "fa-magnifying-glass"], ["type", "text", "placeholder", "Find an app\u2026", "aria-label", "Find an app", "autocomplete", "off", "spellcheck", "false", 3, "input", "keydown", "value"], [1, "launcher-grid"], [1, "launcher-empty"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], [1, "launcher-sect", "launcher-sect--row"], ["type", "button", 1, "launcher-sort-toggle", 3, "click", "title"], ["aria-hidden", "true"], ["role", "group", "aria-label", "All applications", 1, "launcher-grid"], [1, "launcher-sect"], ["role", "group", "aria-label", "Recent applications", 1, "launcher-grid"], ["role", "link", 1, "app-card", 3, "click", "keydown", "id", "mjClickable", "testId"], [1, "app-card-glyph"], ["aria-hidden", "true", 1, "fa-solid", "fa-spinner", "fa-spin"], ["aria-hidden", "true", 3, "class"], [1, "app-card-text"], [1, "app-card-name"], [1, "app-card-name-label"], [1, "app-card-desc", 3, "id"]], template: function AppSwitcherComponent_Template(rf, ctx) { if (rf & 1) {
|
|
860
|
-
const _r1 = i0.ɵɵgetCurrentView();
|
|
861
860
|
i0.ɵɵelementStart(0, "div", 4)(1, "div", 5, 0);
|
|
862
|
-
i0.ɵɵlistener("click", function AppSwitcherComponent_Template_div_click_1_listener() {
|
|
861
|
+
i0.ɵɵlistener("click", function AppSwitcherComponent_Template_div_click_1_listener() { return ctx.ToggleLauncher(); });
|
|
863
862
|
i0.ɵɵconditionalCreate(3, AppSwitcherComponent_Conditional_3_Template, 1, 0, "i", 6);
|
|
864
863
|
i0.ɵɵconditionalCreate(4, AppSwitcherComponent_Conditional_4_Template, 1, 4, "i", 7);
|
|
865
864
|
i0.ɵɵelementStart(5, "span", 8);
|
|
@@ -883,7 +882,7 @@ export class AppSwitcherComponent extends BaseAngularComponent {
|
|
|
883
882
|
i0.ɵɵtextInterpolate(ctx.TriggerLabel);
|
|
884
883
|
i0.ɵɵadvance(2);
|
|
885
884
|
i0.ɵɵconditional(ctx.showDropdown ? 8 : -1);
|
|
886
|
-
} }, dependencies: [i2.NgTemplateOutlet, i3.MJClickableDirective, i3.MJButtonDirective, i4.UserAppConfigContentComponent], styles: [".app-switcher-container[_ngcontent-%COMP%] {\n position: relative;\n margin-left: calc(-1 * var(--mj-space-0-5)); \n\n}\n\n\n\n.app-switcher-button[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: var(--mj-space-1-5);\n padding: var(--mj-space-2) var(--mj-space-2-5);\n border-radius: var(--mj-radius-md);\n cursor: pointer;\n transition: background var(--mj-transition-fast);\n user-select: none;\n position: relative;\n}\n.app-switcher-button[_ngcontent-%COMP%] .app-icon[_ngcontent-%COMP%] {\n font-size: var(--mj-text-xl);\n width: 24px;\n text-align: center;\n position: relative;\n}\n.app-switcher-button[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-hover);\n}\n.app-switcher-button[_ngcontent-%COMP%]:focus-visible {\n outline: 2px solid var(--mj-border-focus);\n outline-offset: 2px;\n}\n\n\n\n.app-switcher-button[_ngcontent-%COMP%] .app-label[_ngcontent-%COMP%] {\n font-size: var(--mj-text-sm);\n font-weight: var(--mj-font-semibold);\n color: var(--mj-text-primary);\n max-width: 160px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.app-switcher-button[_ngcontent-%COMP%] .dropdown-arrow[_ngcontent-%COMP%] {\n font-size: 10px;\n color: var(--mj-text-muted);\n transition: color var(--mj-transition-fast);\n}\n\n\n\n.app-switcher-button[_ngcontent-%COMP%]:hover .dropdown-arrow[_ngcontent-%COMP%] {\n color: var(--mj-text-secondary);\n}\n.app-switcher-button[_ngcontent-%COMP%] .loading-spinner[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n}\n\n\n\n\n\n\n\n.launcher-panel[_ngcontent-%COMP%] {\n \n\n padding: 0;\n margin: 0;\n inset: unset;\n max-width: none;\n position: fixed;\n top: calc(60px + var(--mj-connectivity-banner-height, 0px) + var(--mj-space-6));\n left: 50%;\n transform: translateX(-50%);\n width: min(880px, calc(100vw - var(--mj-space-12)));\n max-height: calc(100vh - 60px - var(--mj-connectivity-banner-height, 0px) - var(--mj-space-12));\n background: var(--mj-bg-surface-elevated);\n color: inherit;\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-lg);\n box-shadow: var(--mj-shadow-xl);\n flex-direction: column;\n overflow: hidden;\n animation: _ngcontent-%COMP%_launcher-pop .13s ease-out;\n}\n.launcher-panel[open][_ngcontent-%COMP%] {\n display: flex;\n}\n.launcher-panel[_ngcontent-%COMP%]::backdrop {\n background: var(--mj-bg-overlay);\n animation: _ngcontent-%COMP%_launcher-fade-in var(--mj-transition-fast);\n}\n\n\n\n\n\n\n\n@media (min-width: 769px) {\n .launcher-panel--compact[_ngcontent-%COMP%] {\n left: var(--anchor-left);\n top: var(--anchor-top);\n transform: none;\n width: 320px;\n max-height: calc(100vh - var(--anchor-top) - var(--mj-space-6));\n box-shadow: var(--mj-shadow-lg);\n \n\n animation: _ngcontent-%COMP%_launcher-fade-in var(--mj-transition-fast);\n }\n .launcher-panel--compact[_ngcontent-%COMP%]::backdrop {\n background: transparent;\n animation: none;\n }\n .launcher-panel--compact[_ngcontent-%COMP%] .launcher-grid[_ngcontent-%COMP%] {\n grid-template-columns: 1fr;\n gap: var(--mj-space-1);\n }\n .launcher-panel--compact[_ngcontent-%COMP%] .launcher-scroll[_ngcontent-%COMP%] {\n padding: var(--mj-space-2);\n }\n .launcher-panel--compact[_ngcontent-%COMP%] .launcher-sect[_ngcontent-%COMP%] {\n display: none; \n\n }\n \n\n\n .launcher-panel--compact[_ngcontent-%COMP%] .app-card[_ngcontent-%COMP%] {\n padding: var(--mj-space-2) var(--mj-space-2-5);\n align-items: center;\n background: transparent;\n border-color: transparent;\n }\n .launcher-panel--compact[_ngcontent-%COMP%] .app-card[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-hover);\n border-color: transparent;\n transform: none;\n }\n .launcher-panel--compact[_ngcontent-%COMP%] .app-card.active[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n border-color: transparent;\n }\n .launcher-panel--compact[_ngcontent-%COMP%] .app-card[_ngcontent-%COMP%]:hover {\n transform: none;\n }\n .launcher-panel--compact[_ngcontent-%COMP%] .app-card-glyph[_ngcontent-%COMP%] {\n width: 32px;\n height: 32px;\n font-size: var(--mj-text-base);\n }\n .launcher-panel--compact[_ngcontent-%COMP%] .app-card-desc[_ngcontent-%COMP%] {\n display: none;\n }\n .launcher-panel--compact[_ngcontent-%COMP%] .launcher-kbd-hints[_ngcontent-%COMP%] {\n display: none;\n }\n}\n\n@keyframes _ngcontent-%COMP%_launcher-fade-in {\n from { opacity: 0; }\n to { opacity: 1; }\n}\n\n\n\n\n\n@keyframes _ngcontent-%COMP%_launcher-pop {\n from { opacity: 0; transform: translateX(-50%) scale(.985) translateY(-4px); }\n to { opacity: 1; transform: translateX(-50%) scale(1); }\n}\n\n\n\n.launcher-head[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: var(--mj-space-2);\n padding: var(--mj-space-4) var(--mj-space-4) var(--mj-space-2);\n flex-shrink: 0;\n}\n.launcher-filter[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: var(--mj-space-2-5);\n flex: 1;\n height: 46px;\n padding: 0 var(--mj-space-3-5);\n background: var(--mj-bg-surface-sunken);\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-md);\n transition: border-color var(--mj-transition-fast);\n}\n.launcher-filter[_ngcontent-%COMP%]:focus-within {\n border-color: var(--mj-border-focus);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 15%, transparent);\n}\n.launcher-filter[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-size: var(--mj-text-sm);\n flex-shrink: 0;\n}\n.launcher-filter[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n border: none;\n outline: none;\n background: transparent;\n width: 100%;\n font-family: inherit;\n font-size: var(--mj-text-base);\n color: var(--mj-text-primary);\n}\n.launcher-filter[_ngcontent-%COMP%] input[_ngcontent-%COMP%]::placeholder {\n color: var(--mj-text-muted);\n}\n.launcher-close[_ngcontent-%COMP%] {\n width: 40px;\n height: 40px;\n flex-shrink: 0;\n border: none;\n border-radius: var(--mj-radius-md);\n background: transparent;\n color: var(--mj-text-muted);\n font-size: var(--mj-text-base);\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: background var(--mj-transition-fast);\n}\n.launcher-close[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-primary);\n}\n.launcher-close[_ngcontent-%COMP%]:focus-visible {\n outline: 2px solid var(--mj-border-focus);\n outline-offset: 2px;\n}\n\n\n\n.launcher-head--config[_ngcontent-%COMP%] {\n align-items: center;\n gap: var(--mj-space-2-5);\n padding-bottom: var(--mj-space-2);\n border-bottom: 1px solid var(--mj-border-subtle);\n}\n.launcher-back[_ngcontent-%COMP%] {\n width: 40px;\n height: 40px;\n flex-shrink: 0;\n border: none;\n border-radius: var(--mj-radius-md);\n background: transparent;\n color: var(--mj-text-muted);\n font-size: var(--mj-text-base);\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: background var(--mj-transition-fast);\n}\n.launcher-back[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-primary);\n}\n.launcher-back[_ngcontent-%COMP%]:focus-visible {\n outline: 2px solid var(--mj-border-focus);\n outline-offset: 2px;\n}\n.launcher-title[_ngcontent-%COMP%] {\n flex: 1;\n margin: 0;\n font-size: var(--mj-text-base);\n font-weight: var(--mj-font-semibold);\n color: var(--mj-text-primary);\n}\n.launcher-config-body[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n flex: 1 1 auto;\n min-height: 0;\n overflow: hidden;\n}\n\n\n\n.launcher-discard-bar[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: var(--mj-space-2-5);\n margin: var(--mj-space-2) var(--mj-space-4) 0;\n padding: var(--mj-space-2) var(--mj-space-3);\n background: var(--mj-status-warning-bg);\n border: 1px solid var(--mj-status-warning-border);\n border-radius: var(--mj-radius-md);\n flex-shrink: 0;\n}\n.launcher-discard-bar[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-status-warning);\n}\n.launcher-discard-bar[_ngcontent-%COMP%] .discard-msg[_ngcontent-%COMP%] {\n flex: 1;\n font-size: var(--mj-text-sm);\n font-weight: var(--mj-font-medium);\n color: var(--mj-status-warning-text);\n}\n\n\n\n.launcher-scroll[_ngcontent-%COMP%] {\n overflow-y: auto;\n padding: 0 var(--mj-space-4) var(--mj-space-4);\n flex: 1 1 auto;\n min-height: 0;\n}\n\n\n.launcher-sect[_ngcontent-%COMP%] {\n font-size: 10.5px;\n font-weight: var(--mj-font-bold);\n letter-spacing: .6px;\n text-transform: uppercase;\n color: var(--mj-text-muted);\n padding: var(--mj-space-3) var(--mj-space-1-5) var(--mj-space-1-5);\n}\n.launcher-sect--row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding-right: var(--mj-space-1);\n}\n\n\n.launcher-sort-toggle[_ngcontent-%COMP%] {\n width: 28px;\n height: 28px;\n border: none;\n border-radius: var(--mj-radius-sm);\n background: transparent;\n color: var(--mj-text-muted);\n font-size: var(--mj-text-xs);\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: background var(--mj-transition-fast), color var(--mj-transition-fast);\n}\n.launcher-sort-toggle[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-primary);\n}\n.launcher-sort-toggle[_ngcontent-%COMP%]:focus-visible {\n outline: 2px solid var(--mj-border-focus);\n outline-offset: 2px;\n}\n.launcher-sort-toggle[aria-pressed=\"true\"][_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n}\n.launcher-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(3, 1fr);\n gap: var(--mj-space-2-5);\n}\n.launcher-empty[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-size: var(--mj-text-sm);\n text-align: center;\n padding: var(--mj-space-6) var(--mj-space-2);\n}\n\n\n\n.app-card[_ngcontent-%COMP%] {\n display: flex;\n align-items: flex-start;\n gap: var(--mj-space-3);\n \n\n\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-lg);\n padding: var(--mj-space-3) var(--mj-space-3-5);\n cursor: pointer;\n min-width: 0;\n transition: border-color var(--mj-transition-fast), background var(--mj-transition-fast), transform var(--mj-transition-fast);\n}\n.app-card[_ngcontent-%COMP%]:hover {\n border-color: color-mix(in srgb, var(--mj-brand-primary) 45%, var(--mj-border-default));\n background: var(--mj-bg-surface-hover);\n transform: translateY(-1px);\n}\n.app-card[_ngcontent-%COMP%]:focus-visible {\n outline: 2px solid var(--mj-border-focus);\n outline-offset: -1px;\n}\n.app-card.active[_ngcontent-%COMP%] {\n \n\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n border-color: color-mix(in srgb, var(--mj-brand-primary) 45%, transparent);\n}\n.app-card.loading[_ngcontent-%COMP%] {\n pointer-events: none;\n opacity: 0.7;\n}\n.app-card-glyph[_ngcontent-%COMP%] {\n width: 40px;\n height: 40px;\n border-radius: var(--mj-radius-md);\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: var(--mj-text-lg);\n color: var(--app-color, var(--mj-text-muted));\n background: color-mix(in srgb, var(--app-color, var(--mj-text-muted)) 14%, var(--mj-bg-surface-card));\n}\n.app-card-text[_ngcontent-%COMP%] {\n min-width: 0;\n flex: 1;\n}\n.app-card-name[_ngcontent-%COMP%] {\n display: flex;\n align-items: baseline;\n gap: var(--mj-space-2);\n font-size: var(--mj-text-sm);\n font-weight: var(--mj-font-bold);\n color: var(--mj-text-primary);\n}\n.app-card-name-label[_ngcontent-%COMP%] {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.app-card.active[_ngcontent-%COMP%] .app-card-name[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n}\n.app-card-desc[_ngcontent-%COMP%] {\n margin-top: var(--mj-space-0-5);\n font-size: var(--mj-text-xs);\n line-height: var(--mj-leading-snug);\n color: var(--mj-text-muted);\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n}\n\n\n\n\n\n.launcher-foot[_ngcontent-%COMP%] {\n border-top: 1px solid var(--mj-border-subtle);\n background: var(--mj-bg-surface-card);\n padding: var(--mj-space-2-5) var(--mj-space-4);\n display: flex;\n align-items: center;\n flex-shrink: 0;\n}\n\n\n\n.launcher-configure[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: var(--mj-space-2);\n margin-left: auto;\n border: none;\n background: transparent;\n color: var(--mj-text-secondary);\n font-family: inherit;\n font-size: var(--mj-text-sm);\n font-weight: var(--mj-font-semibold);\n padding: var(--mj-space-1-5) var(--mj-space-2);\n border-radius: var(--mj-radius-md);\n cursor: pointer;\n transition: background var(--mj-transition-fast), color var(--mj-transition-fast);\n}\n.launcher-configure[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-primary);\n}\n.launcher-configure[_ngcontent-%COMP%]:focus-visible {\n outline: 2px solid var(--mj-border-focus);\n outline-offset: 2px;\n}\n.launcher-kbd-hints[_ngcontent-%COMP%] {\n display: flex;\n gap: var(--mj-space-4);\n font-size: 11.5px;\n color: var(--mj-text-muted);\n}\n\n\n\n.launcher-kbd-hints[_ngcontent-%COMP%] kbd[_ngcontent-%COMP%] {\n font-family: inherit;\n font-size: 10.5px;\n font-weight: var(--mj-font-semibold);\n color: var(--mj-text-muted);\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-strong);\n border-bottom-width: 2px;\n border-radius: 5px;\n padding: 1.5px var(--mj-space-1-5);\n}\n\n\n\n.sr-only[_ngcontent-%COMP%] {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n\n\n@media (max-width: 900px) {\n .launcher-grid[_ngcontent-%COMP%] {\n grid-template-columns: repeat(2, 1fr);\n }\n}\n\n\n\n\n@media (max-width: 768px) {\n \n\n\n .launcher-panel[_ngcontent-%COMP%] {\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n transform: none;\n width: 100%;\n max-height: none;\n height: 100dvh;\n border-radius: 0;\n border: none;\n animation: none;\n }\n .launcher-grid[_ngcontent-%COMP%] {\n grid-template-columns: 1fr;\n }\n .app-card[_ngcontent-%COMP%] {\n min-height: 48px;\n align-items: center;\n }\n .launcher-close[_ngcontent-%COMP%] {\n width: 46px;\n height: 46px;\n }\n .launcher-kbd-hints[_ngcontent-%COMP%] {\n display: none; \n\n }\n .app-switcher-button[_ngcontent-%COMP%] .app-label[_ngcontent-%COMP%] {\n display: none; \n\n }\n}\n\n\n\n@media (prefers-reduced-motion: reduce) {\n .launcher-panel[_ngcontent-%COMP%], \n .launcher-panel[_ngcontent-%COMP%]::backdrop {\n animation: none;\n }\n .app-card[_ngcontent-%COMP%], \n .app-card[_ngcontent-%COMP%]:hover {\n transition: none;\n transform: none;\n }\n}"] });
|
|
885
|
+
} }, dependencies: [i2.NgTemplateOutlet, i3.MJClickableDirective, i3.MJButtonDirective, i4.UserAppConfigContentComponent], styles: [".app-switcher-container[_ngcontent-%COMP%] {\n position: relative;\n margin-left: calc(-1 * var(--mj-space-0-5)); \n}\n\n\n.app-switcher-button[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: var(--mj-space-1-5);\n padding: var(--mj-space-2) var(--mj-space-2-5);\n border-radius: var(--mj-radius-md);\n cursor: pointer;\n transition: background var(--mj-transition-fast);\n user-select: none;\n position: relative;\n}\n.app-switcher-button[_ngcontent-%COMP%] .app-icon[_ngcontent-%COMP%] {\n font-size: var(--mj-text-xl);\n width: 24px;\n text-align: center;\n position: relative;\n}\n.app-switcher-button[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-hover);\n}\n.app-switcher-button[_ngcontent-%COMP%]:focus-visible {\n outline: 2px solid var(--mj-border-focus);\n outline-offset: 2px;\n}\n\n\n.app-switcher-button[_ngcontent-%COMP%] .app-label[_ngcontent-%COMP%] {\n font-size: var(--mj-text-sm);\n font-weight: var(--mj-font-semibold);\n color: var(--mj-text-primary);\n max-width: 160px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.app-switcher-button[_ngcontent-%COMP%] .dropdown-arrow[_ngcontent-%COMP%] {\n font-size: 10px;\n color: var(--mj-text-muted);\n transition: color var(--mj-transition-fast);\n}\n\n\n.app-switcher-button[_ngcontent-%COMP%]:hover .dropdown-arrow[_ngcontent-%COMP%] {\n color: var(--mj-text-secondary);\n}\n.app-switcher-button[_ngcontent-%COMP%] .loading-spinner[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n}\n\n\n\n\n\n\n.launcher-panel[_ngcontent-%COMP%] {\n \n padding: 0;\n margin: 0;\n inset: unset;\n max-width: none;\n position: fixed;\n top: calc(60px + var(--mj-connectivity-banner-height, 0px) + var(--mj-space-6));\n left: 50%;\n transform: translateX(-50%);\n width: min(880px, calc(100vw - var(--mj-space-12)));\n max-height: calc(100vh - 60px - var(--mj-connectivity-banner-height, 0px) - var(--mj-space-12));\n background: var(--mj-bg-surface-elevated);\n color: inherit;\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-lg);\n box-shadow: var(--mj-shadow-xl);\n flex-direction: column;\n overflow: hidden;\n animation: _ngcontent-%COMP%_launcher-pop .13s ease-out;\n}\n.launcher-panel[open][_ngcontent-%COMP%] {\n display: flex;\n}\n.launcher-panel[_ngcontent-%COMP%]::backdrop {\n background: var(--mj-bg-overlay);\n animation: _ngcontent-%COMP%_launcher-fade-in var(--mj-transition-fast);\n}\n\n\n\n\n\n\n@media (min-width: 769px) {\n .launcher-panel--compact[_ngcontent-%COMP%] {\n left: var(--anchor-left);\n top: var(--anchor-top);\n transform: none;\n width: 320px;\n max-height: calc(100vh - var(--anchor-top) - var(--mj-space-6));\n box-shadow: var(--mj-shadow-lg);\n \n animation: _ngcontent-%COMP%_launcher-fade-in var(--mj-transition-fast);\n }\n .launcher-panel--compact[_ngcontent-%COMP%]::backdrop {\n background: transparent;\n animation: none;\n }\n .launcher-panel--compact[_ngcontent-%COMP%] .launcher-grid[_ngcontent-%COMP%] {\n grid-template-columns: 1fr;\n gap: var(--mj-space-1);\n }\n .launcher-panel--compact[_ngcontent-%COMP%] .launcher-scroll[_ngcontent-%COMP%] {\n padding: var(--mj-space-2);\n }\n .launcher-panel--compact[_ngcontent-%COMP%] .launcher-sect[_ngcontent-%COMP%] {\n display: none; \n }\n \n\n .launcher-panel--compact[_ngcontent-%COMP%] .app-card[_ngcontent-%COMP%] {\n padding: var(--mj-space-2) var(--mj-space-2-5);\n align-items: center;\n background: transparent;\n border-color: transparent;\n }\n .launcher-panel--compact[_ngcontent-%COMP%] .app-card[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-hover);\n border-color: transparent;\n transform: none;\n }\n .launcher-panel--compact[_ngcontent-%COMP%] .app-card.active[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n border-color: transparent;\n }\n .launcher-panel--compact[_ngcontent-%COMP%] .app-card[_ngcontent-%COMP%]:hover {\n transform: none;\n }\n .launcher-panel--compact[_ngcontent-%COMP%] .app-card-glyph[_ngcontent-%COMP%] {\n width: 32px;\n height: 32px;\n font-size: var(--mj-text-base);\n }\n .launcher-panel--compact[_ngcontent-%COMP%] .app-card-desc[_ngcontent-%COMP%] {\n display: none;\n }\n .launcher-panel--compact[_ngcontent-%COMP%] .launcher-kbd-hints[_ngcontent-%COMP%] {\n display: none;\n }\n}\n\n@keyframes _ngcontent-%COMP%_launcher-fade-in {\n from { opacity: 0; }\n to { opacity: 1; }\n}\n\n\n\n\n@keyframes _ngcontent-%COMP%_launcher-pop {\n from { opacity: 0; transform: translateX(-50%) scale(.985) translateY(-4px); }\n to { opacity: 1; transform: translateX(-50%) scale(1); }\n}\n\n\n.launcher-head[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: var(--mj-space-2);\n padding: var(--mj-space-4) var(--mj-space-4) var(--mj-space-2);\n flex-shrink: 0;\n}\n.launcher-filter[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: var(--mj-space-2-5);\n flex: 1;\n height: 46px;\n padding: 0 var(--mj-space-3-5);\n background: var(--mj-bg-surface-sunken);\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-md);\n transition: border-color var(--mj-transition-fast);\n}\n.launcher-filter[_ngcontent-%COMP%]:focus-within {\n border-color: var(--mj-border-focus);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 15%, transparent);\n}\n.launcher-filter[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-size: var(--mj-text-sm);\n flex-shrink: 0;\n}\n.launcher-filter[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n border: none;\n outline: none;\n background: transparent;\n width: 100%;\n font-family: inherit;\n font-size: var(--mj-text-base);\n color: var(--mj-text-primary);\n}\n.launcher-filter[_ngcontent-%COMP%] input[_ngcontent-%COMP%]::placeholder {\n color: var(--mj-text-muted);\n}\n.launcher-close[_ngcontent-%COMP%] {\n width: 40px;\n height: 40px;\n flex-shrink: 0;\n border: none;\n border-radius: var(--mj-radius-md);\n background: transparent;\n color: var(--mj-text-muted);\n font-size: var(--mj-text-base);\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: background var(--mj-transition-fast);\n}\n.launcher-close[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-primary);\n}\n.launcher-close[_ngcontent-%COMP%]:focus-visible {\n outline: 2px solid var(--mj-border-focus);\n outline-offset: 2px;\n}\n\n\n.launcher-head--config[_ngcontent-%COMP%] {\n align-items: center;\n gap: var(--mj-space-2-5);\n padding-bottom: var(--mj-space-2);\n border-bottom: 1px solid var(--mj-border-subtle);\n}\n.launcher-back[_ngcontent-%COMP%] {\n width: 40px;\n height: 40px;\n flex-shrink: 0;\n border: none;\n border-radius: var(--mj-radius-md);\n background: transparent;\n color: var(--mj-text-muted);\n font-size: var(--mj-text-base);\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: background var(--mj-transition-fast);\n}\n.launcher-back[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-primary);\n}\n.launcher-back[_ngcontent-%COMP%]:focus-visible {\n outline: 2px solid var(--mj-border-focus);\n outline-offset: 2px;\n}\n.launcher-title[_ngcontent-%COMP%] {\n flex: 1;\n margin: 0;\n font-size: var(--mj-text-base);\n font-weight: var(--mj-font-semibold);\n color: var(--mj-text-primary);\n}\n.launcher-config-body[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n flex: 1 1 auto;\n min-height: 0;\n overflow: hidden;\n}\n\n\n.launcher-discard-bar[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: var(--mj-space-2-5);\n margin: var(--mj-space-2) var(--mj-space-4) 0;\n padding: var(--mj-space-2) var(--mj-space-3);\n background: var(--mj-status-warning-bg);\n border: 1px solid var(--mj-status-warning-border);\n border-radius: var(--mj-radius-md);\n flex-shrink: 0;\n}\n.launcher-discard-bar[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-status-warning);\n}\n.launcher-discard-bar[_ngcontent-%COMP%] .discard-msg[_ngcontent-%COMP%] {\n flex: 1;\n font-size: var(--mj-text-sm);\n font-weight: var(--mj-font-medium);\n color: var(--mj-status-warning-text);\n}\n\n\n.launcher-scroll[_ngcontent-%COMP%] {\n overflow-y: auto;\n padding: 0 var(--mj-space-4) var(--mj-space-4);\n flex: 1 1 auto;\n min-height: 0;\n}\n\n.launcher-sect[_ngcontent-%COMP%] {\n font-size: 10.5px;\n font-weight: var(--mj-font-bold);\n letter-spacing: .6px;\n text-transform: uppercase;\n color: var(--mj-text-muted);\n padding: var(--mj-space-3) var(--mj-space-1-5) var(--mj-space-1-5);\n}\n.launcher-sect--row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding-right: var(--mj-space-1);\n}\n\n.launcher-sort-toggle[_ngcontent-%COMP%] {\n width: 28px;\n height: 28px;\n border: none;\n border-radius: var(--mj-radius-sm);\n background: transparent;\n color: var(--mj-text-muted);\n font-size: var(--mj-text-xs);\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: background var(--mj-transition-fast), color var(--mj-transition-fast);\n}\n.launcher-sort-toggle[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-primary);\n}\n.launcher-sort-toggle[_ngcontent-%COMP%]:focus-visible {\n outline: 2px solid var(--mj-border-focus);\n outline-offset: 2px;\n}\n.launcher-sort-toggle[aria-pressed=\"true\"][_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n}\n.launcher-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(3, 1fr);\n gap: var(--mj-space-2-5);\n}\n.launcher-empty[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-size: var(--mj-text-sm);\n text-align: center;\n padding: var(--mj-space-6) var(--mj-space-2);\n}\n\n\n.app-card[_ngcontent-%COMP%] {\n display: flex;\n align-items: flex-start;\n gap: var(--mj-space-3);\n \n\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-lg);\n padding: var(--mj-space-3) var(--mj-space-3-5);\n cursor: pointer;\n min-width: 0;\n transition: border-color var(--mj-transition-fast), background var(--mj-transition-fast), transform var(--mj-transition-fast);\n}\n.app-card[_ngcontent-%COMP%]:hover {\n border-color: color-mix(in srgb, var(--mj-brand-primary) 45%, var(--mj-border-default));\n background: var(--mj-bg-surface-hover);\n transform: translateY(-1px);\n}\n.app-card[_ngcontent-%COMP%]:focus-visible {\n outline: 2px solid var(--mj-border-focus);\n outline-offset: -1px;\n}\n.app-card.active[_ngcontent-%COMP%] {\n \n background: color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n border-color: color-mix(in srgb, var(--mj-brand-primary) 45%, transparent);\n}\n.app-card.loading[_ngcontent-%COMP%] {\n pointer-events: none;\n opacity: 0.7;\n}\n.app-card-glyph[_ngcontent-%COMP%] {\n width: 40px;\n height: 40px;\n border-radius: var(--mj-radius-md);\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: var(--mj-text-lg);\n color: var(--app-color, var(--mj-text-muted));\n background: color-mix(in srgb, var(--app-color, var(--mj-text-muted)) 14%, var(--mj-bg-surface-card));\n}\n.app-card-text[_ngcontent-%COMP%] {\n min-width: 0;\n flex: 1;\n}\n.app-card-name[_ngcontent-%COMP%] {\n display: flex;\n align-items: baseline;\n gap: var(--mj-space-2);\n font-size: var(--mj-text-sm);\n font-weight: var(--mj-font-bold);\n color: var(--mj-text-primary);\n}\n.app-card-name-label[_ngcontent-%COMP%] {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.app-card.active[_ngcontent-%COMP%] .app-card-name[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n}\n.app-card-desc[_ngcontent-%COMP%] {\n margin-top: var(--mj-space-0-5);\n font-size: var(--mj-text-xs);\n line-height: var(--mj-leading-snug);\n color: var(--mj-text-muted);\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n}\n\n\n\n.launcher-foot[_ngcontent-%COMP%] {\n border-top: 1px solid var(--mj-border-subtle);\n background: var(--mj-bg-surface-card);\n padding: var(--mj-space-2-5) var(--mj-space-4);\n display: flex;\n align-items: center;\n flex-shrink: 0;\n}\n\n\n.launcher-configure[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: var(--mj-space-2);\n margin-left: auto;\n border: none;\n background: transparent;\n color: var(--mj-text-secondary);\n font-family: inherit;\n font-size: var(--mj-text-sm);\n font-weight: var(--mj-font-semibold);\n padding: var(--mj-space-1-5) var(--mj-space-2);\n border-radius: var(--mj-radius-md);\n cursor: pointer;\n transition: background var(--mj-transition-fast), color var(--mj-transition-fast);\n}\n.launcher-configure[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-primary);\n}\n.launcher-configure[_ngcontent-%COMP%]:focus-visible {\n outline: 2px solid var(--mj-border-focus);\n outline-offset: 2px;\n}\n.launcher-kbd-hints[_ngcontent-%COMP%] {\n display: flex;\n gap: var(--mj-space-4);\n font-size: 11.5px;\n color: var(--mj-text-muted);\n}\n\n\n.launcher-kbd-hints[_ngcontent-%COMP%] kbd[_ngcontent-%COMP%] {\n font-family: inherit;\n font-size: 10.5px;\n font-weight: var(--mj-font-semibold);\n color: var(--mj-text-muted);\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-strong);\n border-bottom-width: 2px;\n border-radius: 5px;\n padding: 1.5px var(--mj-space-1-5);\n}\n\n\n.sr-only[_ngcontent-%COMP%] {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n\n@media (max-width: 900px) {\n .launcher-grid[_ngcontent-%COMP%] {\n grid-template-columns: repeat(2, 1fr);\n }\n}\n\n\n\n@media (max-width: 768px) {\n \n\n .launcher-panel[_ngcontent-%COMP%] {\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n transform: none;\n width: 100%;\n max-height: none;\n height: 100dvh;\n border-radius: 0;\n border: none;\n animation: none;\n }\n .launcher-grid[_ngcontent-%COMP%] {\n grid-template-columns: 1fr;\n }\n .app-card[_ngcontent-%COMP%] {\n min-height: 48px;\n align-items: center;\n }\n .launcher-close[_ngcontent-%COMP%] {\n width: 46px;\n height: 46px;\n }\n .launcher-kbd-hints[_ngcontent-%COMP%] {\n display: none; \n }\n .app-switcher-button[_ngcontent-%COMP%] .app-label[_ngcontent-%COMP%] {\n display: none; \n }\n}\n\n\n@media (prefers-reduced-motion: reduce) {\n .launcher-panel[_ngcontent-%COMP%], \n .launcher-panel[_ngcontent-%COMP%]::backdrop {\n animation: none;\n }\n .app-card[_ngcontent-%COMP%], \n .app-card[_ngcontent-%COMP%]:hover {\n transition: none;\n transform: none;\n }\n}"] });
|
|
887
886
|
}
|
|
888
887
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AppSwitcherComponent, [{
|
|
889
888
|
type: Component,
|