@synopackageland/sdk 0.9.7 → 0.9.9
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 +12 -1
- package/dist/i18n/background/de.json +0 -1
- package/dist/i18n/background/en.json +0 -1
- package/dist/i18n/background/es.json +0 -1
- package/dist/i18n/background/fr.json +0 -1
- package/dist/i18n/background/it.json +0 -1
- package/dist/i18n/background/ja.json +2 -3
- package/dist/i18n/background/ko.json +0 -1
- package/dist/i18n/background/zh-CN.json +0 -1
- package/dist/i18n/background/zh-TW.json +0 -1
- package/dist/i18n/delegate/de.json +10 -2
- package/dist/i18n/delegate/en.json +10 -2
- package/dist/i18n/delegate/es.json +10 -2
- package/dist/i18n/delegate/fr.json +10 -2
- package/dist/i18n/delegate/it.json +10 -2
- package/dist/i18n/delegate/ja.json +10 -2
- package/dist/i18n/delegate/ko.json +10 -2
- package/dist/i18n/delegate/zh-CN.json +10 -2
- package/dist/i18n/delegate/zh-TW.json +10 -2
- package/dist/i18n/files/de.json +1 -0
- package/dist/i18n/files/en.json +1 -0
- package/dist/i18n/files/es.json +1 -0
- package/dist/i18n/files/fr.json +1 -0
- package/dist/i18n/files/it.json +1 -0
- package/dist/i18n/files/ja.json +1 -0
- package/dist/i18n/files/ko.json +1 -0
- package/dist/i18n/files/zh-CN.json +1 -0
- package/dist/i18n/files/zh-TW.json +1 -0
- package/dist/i18n/identity/de.json +2 -0
- package/dist/i18n/identity/en.json +2 -0
- package/dist/i18n/identity/es.json +2 -0
- package/dist/i18n/identity/fr.json +2 -0
- package/dist/i18n/identity/it.json +2 -0
- package/dist/i18n/identity/ja.json +2 -0
- package/dist/i18n/identity/ko.json +2 -0
- package/dist/i18n/identity/zh-CN.json +2 -0
- package/dist/i18n/identity/zh-TW.json +2 -0
- package/dist/i18n/portal/de.json +21 -0
- package/dist/i18n/portal/en.json +21 -0
- package/dist/i18n/portal/es.json +21 -0
- package/dist/i18n/portal/fr.json +21 -0
- package/dist/i18n/portal/it.json +21 -0
- package/dist/i18n/portal/ja.json +21 -0
- package/dist/i18n/portal/ko.json +21 -0
- package/dist/i18n/portal/zh-CN.json +21 -0
- package/dist/i18n/portal/zh-TW.json +21 -0
- package/dist/i18n/save/de.json +12 -2
- package/dist/i18n/save/en.json +12 -2
- package/dist/i18n/save/es.json +12 -2
- package/dist/i18n/save/fr.json +12 -2
- package/dist/i18n/save/it.json +12 -2
- package/dist/i18n/save/ja.json +12 -2
- package/dist/i18n/save/ko.json +12 -2
- package/dist/i18n/save/zh-CN.json +12 -2
- package/dist/i18n/save/zh-TW.json +12 -2
- package/dist/index.js +2622 -2162
- package/dist/src/background/BackgroundPanel.vue.d.ts +4 -1
- package/dist/src/background/i18n.d.ts +0 -1
- package/dist/src/background/picker-provider.d.ts +1 -1
- package/dist/src/context.d.ts +4 -1
- package/dist/src/delegate/BackgroundSavePanel.vue.d.ts +6 -1
- package/dist/src/delegate/DelegatePanel.vue.d.ts +3 -1
- package/dist/src/delegate/ExecutorSettings.vue.d.ts +4 -1
- package/dist/src/delegate/copy.d.ts +18 -2
- package/dist/src/delegate/save-copy.d.ts +34 -4
- package/dist/src/i18n.d.ts +2 -0
- package/dist/src/identity/i18n.d.ts +2 -0
- package/dist/src/index.d.ts +4 -1
- package/dist/src/nas/NasPicker.vue.d.ts +3 -0
- package/dist/src/nas/locale.d.ts +1 -0
- package/dist/src/nas/provider.d.ts +2 -2
- package/dist/src/portal/access.d.ts +16 -0
- package/dist/src/portal/i18n.d.ts +3 -0
- package/dist/style.css +1 -1
- package/dist/vue.js +1828 -1574
- package/package.json +3 -3
|
@@ -2,6 +2,9 @@ import type { Context } from '../context';
|
|
|
2
2
|
type __VLS_Props = {
|
|
3
3
|
ctx: Pick<Context, 'call' | 'locale'>;
|
|
4
4
|
};
|
|
5
|
-
declare
|
|
5
|
+
declare function refresh(): Promise<void>;
|
|
6
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {
|
|
7
|
+
refresh: typeof refresh;
|
|
8
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
6
9
|
declare const _default: typeof __VLS_export;
|
|
7
10
|
export default _default;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { Context } from '../context';
|
|
2
2
|
import type { NasProvider } from '../nas/contract';
|
|
3
|
-
export declare function createBackgroundPickerProvider(ctx: Pick<Context, 'call'>): NasProvider;
|
|
3
|
+
export declare function createBackgroundPickerProvider(ctx: Pick<Context, 'call' | 'requestTimeout'>): NasProvider;
|
package/dist/src/context.d.ts
CHANGED
|
@@ -73,7 +73,7 @@ export interface PortalAccess {
|
|
|
73
73
|
register?(): Promise<PortalStatus>;
|
|
74
74
|
unregister?(): Promise<PortalStatus>;
|
|
75
75
|
openControlPanel(): void;
|
|
76
|
-
mountPanel(element: HTMLElement): {
|
|
76
|
+
mountPanel?(element: HTMLElement): {
|
|
77
77
|
refresh(): Promise<void>;
|
|
78
78
|
dispose(): void;
|
|
79
79
|
};
|
|
@@ -90,7 +90,10 @@ export interface AuthorizationAccess {
|
|
|
90
90
|
request(): Promise<AuthorizationStatus>;
|
|
91
91
|
revoke(): Promise<AuthorizationStatus>;
|
|
92
92
|
}
|
|
93
|
+
export declare const DEFAULT_REQUEST_TIMEOUT = 20000;
|
|
94
|
+
export declare function clientTimeout(requestTimeout?: number): number;
|
|
93
95
|
export interface Context {
|
|
96
|
+
requestTimeout?: number;
|
|
94
97
|
authorization?: AuthorizationAccess;
|
|
95
98
|
delegate?: import('./delegate/long-running').BackgroundSaveFacade;
|
|
96
99
|
files?: {
|
|
@@ -7,9 +7,14 @@ type __VLS_Props = {
|
|
|
7
7
|
picker?: {
|
|
8
8
|
provider: NasProvider;
|
|
9
9
|
keys: string[];
|
|
10
|
+
labels?: Record<string, string>;
|
|
10
11
|
};
|
|
12
|
+
pickerErrorText?: (error: unknown) => string | undefined;
|
|
13
|
+
sampleSave?: boolean;
|
|
11
14
|
};
|
|
12
|
-
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {
|
|
15
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {
|
|
16
|
+
refresh: () => Promise<void>;
|
|
17
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
13
18
|
authorized: (grant: DestinationGrant) => any;
|
|
14
19
|
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
15
20
|
onAuthorized?: ((grant: DestinationGrant) => any) | undefined;
|
|
@@ -2,6 +2,8 @@ import type { Context } from '../context';
|
|
|
2
2
|
type __VLS_Props = {
|
|
3
3
|
ctx: Pick<Context, 'call' | 'locale'>;
|
|
4
4
|
};
|
|
5
|
-
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {
|
|
5
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {
|
|
6
|
+
refresh: () => Promise<void>;
|
|
7
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
6
8
|
declare const _default: typeof __VLS_export;
|
|
7
9
|
export default _default;
|
|
@@ -4,7 +4,10 @@ type __VLS_Props = {
|
|
|
4
4
|
locale?: string;
|
|
5
5
|
ctx?: Pick<Context, 'call'>;
|
|
6
6
|
};
|
|
7
|
-
declare
|
|
7
|
+
declare function refresh(): Promise<void>;
|
|
8
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {
|
|
9
|
+
refresh: typeof refresh;
|
|
10
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
8
11
|
confirmed: () => any;
|
|
9
12
|
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
10
13
|
onConfirmed?: (() => any) | undefined;
|
|
@@ -15,7 +15,6 @@ export declare const delegateCatalogs: Record<import("..").UiLocale, {
|
|
|
15
15
|
blocked: string;
|
|
16
16
|
loading: string;
|
|
17
17
|
details: string;
|
|
18
|
-
refresh: string;
|
|
19
18
|
revoke: string;
|
|
20
19
|
cancel: string;
|
|
21
20
|
noDelegations: string;
|
|
@@ -49,6 +48,15 @@ export declare const delegateCatalogs: Record<import("..").UiLocale, {
|
|
|
49
48
|
scopeChangeHelp: string;
|
|
50
49
|
confirmScope: string;
|
|
51
50
|
waiting_executor: string;
|
|
51
|
+
status: string;
|
|
52
|
+
statusReady: string;
|
|
53
|
+
statusNeeds: string;
|
|
54
|
+
statusScope: string;
|
|
55
|
+
statusBlocked: string;
|
|
56
|
+
statusConfirming: string;
|
|
57
|
+
hintPassword: string;
|
|
58
|
+
hintUnchanged: string;
|
|
59
|
+
retry: string;
|
|
52
60
|
}>;
|
|
53
61
|
export declare function delegateCopy(locale?: string): {
|
|
54
62
|
title: string;
|
|
@@ -65,7 +73,6 @@ export declare function delegateCopy(locale?: string): {
|
|
|
65
73
|
blocked: string;
|
|
66
74
|
loading: string;
|
|
67
75
|
details: string;
|
|
68
|
-
refresh: string;
|
|
69
76
|
revoke: string;
|
|
70
77
|
cancel: string;
|
|
71
78
|
noDelegations: string;
|
|
@@ -99,5 +106,14 @@ export declare function delegateCopy(locale?: string): {
|
|
|
99
106
|
scopeChangeHelp: string;
|
|
100
107
|
confirmScope: string;
|
|
101
108
|
waiting_executor: string;
|
|
109
|
+
status: string;
|
|
110
|
+
statusReady: string;
|
|
111
|
+
statusNeeds: string;
|
|
112
|
+
statusScope: string;
|
|
113
|
+
statusBlocked: string;
|
|
114
|
+
statusConfirming: string;
|
|
115
|
+
hintPassword: string;
|
|
116
|
+
hintUnchanged: string;
|
|
117
|
+
retry: string;
|
|
102
118
|
};
|
|
103
119
|
export declare function errorCopy(error: unknown, copy: DelegateCopy): string;
|
|
@@ -10,7 +10,6 @@ export declare const saveCatalogs: Record<import("..").UiLocale, {
|
|
|
10
10
|
choose: string;
|
|
11
11
|
needs: string;
|
|
12
12
|
cancel: string;
|
|
13
|
-
refresh: string;
|
|
14
13
|
disable: string;
|
|
15
14
|
enable: string;
|
|
16
15
|
disableHelp: string;
|
|
@@ -30,8 +29,10 @@ export declare const saveCatalogs: Record<import("..").UiLocale, {
|
|
|
30
29
|
loading: string;
|
|
31
30
|
denied: string;
|
|
32
31
|
permission: string;
|
|
32
|
+
permissionSelect: string;
|
|
33
33
|
missing: string;
|
|
34
34
|
appPrivilege: string;
|
|
35
|
+
appPrivilegeSelect: string;
|
|
35
36
|
session: string;
|
|
36
37
|
conflict: string;
|
|
37
38
|
space: string;
|
|
@@ -42,6 +43,15 @@ export declare const saveCatalogs: Record<import("..").UiLocale, {
|
|
|
42
43
|
reselect: string;
|
|
43
44
|
example: string;
|
|
44
45
|
exampleHelp: string;
|
|
46
|
+
statusEnabled: string;
|
|
47
|
+
statusDisabled: string;
|
|
48
|
+
statusNeedsScope: string;
|
|
49
|
+
status: string;
|
|
50
|
+
file: string;
|
|
51
|
+
size: string;
|
|
52
|
+
location: string;
|
|
53
|
+
openFolder: string;
|
|
54
|
+
retry: string;
|
|
45
55
|
}>;
|
|
46
56
|
export declare function saveCopy(locale?: string): {
|
|
47
57
|
title: string;
|
|
@@ -55,7 +65,6 @@ export declare function saveCopy(locale?: string): {
|
|
|
55
65
|
choose: string;
|
|
56
66
|
needs: string;
|
|
57
67
|
cancel: string;
|
|
58
|
-
refresh: string;
|
|
59
68
|
disable: string;
|
|
60
69
|
enable: string;
|
|
61
70
|
disableHelp: string;
|
|
@@ -75,8 +84,10 @@ export declare function saveCopy(locale?: string): {
|
|
|
75
84
|
loading: string;
|
|
76
85
|
denied: string;
|
|
77
86
|
permission: string;
|
|
87
|
+
permissionSelect: string;
|
|
78
88
|
missing: string;
|
|
79
89
|
appPrivilege: string;
|
|
90
|
+
appPrivilegeSelect: string;
|
|
80
91
|
session: string;
|
|
81
92
|
conflict: string;
|
|
82
93
|
space: string;
|
|
@@ -87,6 +98,15 @@ export declare function saveCopy(locale?: string): {
|
|
|
87
98
|
reselect: string;
|
|
88
99
|
example: string;
|
|
89
100
|
exampleHelp: string;
|
|
101
|
+
statusEnabled: string;
|
|
102
|
+
statusDisabled: string;
|
|
103
|
+
statusNeedsScope: string;
|
|
104
|
+
status: string;
|
|
105
|
+
file: string;
|
|
106
|
+
size: string;
|
|
107
|
+
location: string;
|
|
108
|
+
openFolder: string;
|
|
109
|
+
retry: string;
|
|
90
110
|
};
|
|
91
111
|
export declare function saveError(error: unknown, copy?: {
|
|
92
112
|
title: string;
|
|
@@ -100,7 +120,6 @@ export declare function saveError(error: unknown, copy?: {
|
|
|
100
120
|
choose: string;
|
|
101
121
|
needs: string;
|
|
102
122
|
cancel: string;
|
|
103
|
-
refresh: string;
|
|
104
123
|
disable: string;
|
|
105
124
|
enable: string;
|
|
106
125
|
disableHelp: string;
|
|
@@ -120,8 +139,10 @@ export declare function saveError(error: unknown, copy?: {
|
|
|
120
139
|
loading: string;
|
|
121
140
|
denied: string;
|
|
122
141
|
permission: string;
|
|
142
|
+
permissionSelect: string;
|
|
123
143
|
missing: string;
|
|
124
144
|
appPrivilege: string;
|
|
145
|
+
appPrivilegeSelect: string;
|
|
125
146
|
session: string;
|
|
126
147
|
conflict: string;
|
|
127
148
|
space: string;
|
|
@@ -132,4 +153,13 @@ export declare function saveError(error: unknown, copy?: {
|
|
|
132
153
|
reselect: string;
|
|
133
154
|
example: string;
|
|
134
155
|
exampleHelp: string;
|
|
135
|
-
|
|
156
|
+
statusEnabled: string;
|
|
157
|
+
statusDisabled: string;
|
|
158
|
+
statusNeedsScope: string;
|
|
159
|
+
status: string;
|
|
160
|
+
file: string;
|
|
161
|
+
size: string;
|
|
162
|
+
location: string;
|
|
163
|
+
openFolder: string;
|
|
164
|
+
retry: string;
|
|
165
|
+
}, situation?: 'save' | 'select'): string;
|
package/dist/src/i18n.d.ts
CHANGED
|
@@ -22,3 +22,5 @@ export type Message = string | {
|
|
|
22
22
|
/** Fills {key} placeholders from values; a placeholder without a value stays
|
|
23
23
|
* visible. Plural forms are chosen by values.count in the given locale. */
|
|
24
24
|
export declare function format(message: Message, values: Record<string, string | number>, locale?: string): string;
|
|
25
|
+
/** The colon between a label and its value: full-width in Chinese and Japanese. */
|
|
26
|
+
export declare function labelSeparator(locale: string): string;
|
package/dist/src/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export type * from './context';
|
|
2
|
+
export { DEFAULT_REQUEST_TIMEOUT, clientTimeout } from './context';
|
|
2
3
|
export type * from './delegate/long-running';
|
|
3
4
|
export type * from './delegate/executor-setup';
|
|
4
5
|
export type * from './nas/contract';
|
|
@@ -12,7 +13,7 @@ export { createBackgroundPickerProvider } from './background/picker-provider';
|
|
|
12
13
|
export { scopedPicker } from './delegate/scoped-picker';
|
|
13
14
|
export { requestKey } from './background/request-key';
|
|
14
15
|
export { shellPages, activePage, type ShellPage, type ShellFeatureFlags } from './shell/pages';
|
|
15
|
-
export { uiLocale, uiLocales, catalogs, mergeCatalogs, format, type Message, type UiLocale } from './i18n';
|
|
16
|
+
export { uiLocale, uiLocales, catalogs, mergeCatalogs, format, labelSeparator, type Message, type UiLocale } from './i18n';
|
|
16
17
|
export { nasCopy, nasErrorCopy, nasCatalogs, type NasCopy } from './nas/locale';
|
|
17
18
|
export { shellCopy, shellCatalogs, type ShellCopy } from './shell/i18n';
|
|
18
19
|
export { identityCopy, identityCatalogs, type IdentityCopy, type IdentityNotice } from './identity/i18n';
|
|
@@ -20,5 +21,7 @@ export { backgroundCopy, backgroundErrorCopy, backgroundCatalogs, type Backgroun
|
|
|
20
21
|
export { delegateCopy, errorCopy, delegateCatalogs, type DelegateCopy } from './delegate/copy';
|
|
21
22
|
export { saveCopy, saveError, saveCatalogs } from './delegate/save-copy';
|
|
22
23
|
export { authorizationCopy, authorizationCatalogs } from './authorization/i18n';
|
|
24
|
+
export { portalMessages, portalCatalogs } from './portal/i18n';
|
|
25
|
+
export { createPortalAccess, type PortalOptions } from './portal/access';
|
|
23
26
|
export * from './protocol/v1';
|
|
24
27
|
export { encodeRequest, decodeResponse, type ProtocolAuth, type ProtocolResponse } from './protocol/codec';
|
|
@@ -8,15 +8,18 @@ type __VLS_Props = {
|
|
|
8
8
|
title?: string;
|
|
9
9
|
description?: string;
|
|
10
10
|
destination?: DestinationSelection;
|
|
11
|
+
errorText?: (error: unknown) => string | undefined;
|
|
11
12
|
};
|
|
12
13
|
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
13
14
|
selected: (path: string) => any;
|
|
14
15
|
"update:open": (value: boolean) => any;
|
|
15
16
|
authorized: (grant: DestinationGrant) => any;
|
|
17
|
+
refused: (error: unknown) => any;
|
|
16
18
|
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
17
19
|
onSelected?: ((path: string) => any) | undefined;
|
|
18
20
|
"onUpdate:open"?: ((value: boolean) => any) | undefined;
|
|
19
21
|
onAuthorized?: ((grant: DestinationGrant) => any) | undefined;
|
|
22
|
+
onRefused?: ((error: unknown) => any) | undefined;
|
|
20
23
|
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
21
24
|
declare const _default: typeof __VLS_export;
|
|
22
25
|
export default _default;
|
package/dist/src/nas/locale.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type Context } from '../context';
|
|
2
2
|
import type { NasProvider } from './contract';
|
|
3
|
-
export declare function createNasProvider(ctx: Pick<Context, 'call' | 'files'>): NasProvider;
|
|
3
|
+
export declare function createNasProvider(ctx: Pick<Context, 'call' | 'files' | 'requestTimeout'>): NasProvider;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { PortalAccess } from '../context';
|
|
2
|
+
export interface PortalOptions {
|
|
3
|
+
appId: string;
|
|
4
|
+
defaultAlias: string;
|
|
5
|
+
locale: string;
|
|
6
|
+
location: {
|
|
7
|
+
protocol: string;
|
|
8
|
+
host: string;
|
|
9
|
+
};
|
|
10
|
+
call(method: 'portal.status' | 'portal.register' | 'portal.unregister', params: Record<string, never>): Promise<unknown>;
|
|
11
|
+
send(api: string, method: string, version: number, params: Record<string, unknown>): Promise<unknown>;
|
|
12
|
+
isAdmin(): boolean;
|
|
13
|
+
launch(app: string, params: Record<string, string>): void;
|
|
14
|
+
entry?: boolean;
|
|
15
|
+
}
|
|
16
|
+
export declare function createPortalAccess(options: PortalOptions): PortalAccess;
|
package/dist/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.app-shell[data-v-05f63ca5]{height:100%;min-width:0;grid-template-rows:minmax(0,1fr)}.app-shell[data-v-05f63ca5]>div{min-height:0}.app-shell[data-v-05f63ca5] main{display:flex;flex-direction:column;overflow:hidden}.app-page[data-v-05f63ca5]{flex:1 1 auto;min-height:0;overflow-y:auto}.app-page-content[data-v-05f63ca5]{padding-bottom:var(--ui-space-6, 24px)}.file-browser[data-v-c689761c]{min-width:0;color:var(--ui-text)}.file-toolbar[data-v-c689761c]{display:flex;flex-wrap:wrap;gap:var(--ui-space-2, 8px);margin-block:var(--ui-space-3, 12px)}.file-location[data-v-c689761c]{flex-wrap:nowrap;align-items:center;gap:var(--ui-space-1, 4px)}.file-path[data-v-c689761c]{flex:1;min-width:0;margin-inline-start:var(--ui-space-2, 8px)}.file-columns[data-v-c689761c]{display:grid;grid-template-columns:minmax(140px,1fr) minmax(0,3fr);gap:var(--ui-space-3, 12px);height:clamp(240px,60vh,400px)}.file-tree[data-v-c689761c]{min-width:0;overflow:auto;border-inline-end:1px solid var(--ui-border)}.file-content[data-v-c689761c]{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:auto}.file-empty[data-v-c689761c]{display:flex;flex-direction:column;align-items:center;gap:var(--ui-space-2, 8px);padding-block:var(--ui-space-6, 24px);color:var(--ui-text-muted)}.file-name[data-v-c689761c]{display:inline-flex;align-items:center;gap:var(--ui-space-2, 8px);overflow-wrap:anywhere}.file-bytes[data-v-c689761c]{font-variant-numeric:tabular-nums}.file-selection[data-v-c689761c]{overflow-wrap:anywhere}@media(max-width:600px){.file-columns[data-v-c689761c]{grid-template-columns:minmax(0,1fr);height:auto}.file-content[data-v-c689761c] th:nth-child(2),.file-content[data-v-c689761c] td:nth-child(2),.file-content[data-v-c689761c] th:nth-child(3),.file-content[data-v-c689761c] td:nth-child(3){display:none}.file-tree[data-v-c689761c]{height:clamp(96px,25vh,180px);border-inline-end:0;border-bottom:1px solid var(--ui-border)}.file-content[data-v-c689761c]{height:clamp(200px,45vh,360px)}}.nas-picker-content[data-v-
|
|
1
|
+
.app-shell[data-v-05f63ca5]{height:100%;min-width:0;grid-template-rows:minmax(0,1fr)}.app-shell[data-v-05f63ca5]>div{min-height:0}.app-shell[data-v-05f63ca5] main{display:flex;flex-direction:column;overflow:hidden}.app-page[data-v-05f63ca5]{flex:1 1 auto;min-height:0;overflow-y:auto}.app-page-content[data-v-05f63ca5]{padding-bottom:var(--ui-space-6, 24px)}.file-browser[data-v-c689761c]{min-width:0;color:var(--ui-text)}.file-toolbar[data-v-c689761c]{display:flex;flex-wrap:wrap;gap:var(--ui-space-2, 8px);margin-block:var(--ui-space-3, 12px)}.file-location[data-v-c689761c]{flex-wrap:nowrap;align-items:center;gap:var(--ui-space-1, 4px)}.file-path[data-v-c689761c]{flex:1;min-width:0;margin-inline-start:var(--ui-space-2, 8px)}.file-columns[data-v-c689761c]{display:grid;grid-template-columns:minmax(140px,1fr) minmax(0,3fr);gap:var(--ui-space-3, 12px);height:clamp(240px,60vh,400px)}.file-tree[data-v-c689761c]{min-width:0;overflow:auto;border-inline-end:1px solid var(--ui-border)}.file-content[data-v-c689761c]{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:auto}.file-empty[data-v-c689761c]{display:flex;flex-direction:column;align-items:center;gap:var(--ui-space-2, 8px);padding-block:var(--ui-space-6, 24px);color:var(--ui-text-muted)}.file-name[data-v-c689761c]{display:inline-flex;align-items:center;gap:var(--ui-space-2, 8px);overflow-wrap:anywhere}.file-bytes[data-v-c689761c]{font-variant-numeric:tabular-nums}.file-selection[data-v-c689761c]{overflow-wrap:anywhere}@media(max-width:600px){.file-columns[data-v-c689761c]{grid-template-columns:minmax(0,1fr);height:auto}.file-content[data-v-c689761c] th:nth-child(2),.file-content[data-v-c689761c] td:nth-child(2),.file-content[data-v-c689761c] th:nth-child(3),.file-content[data-v-c689761c] td:nth-child(3){display:none}.file-tree[data-v-c689761c]{height:clamp(96px,25vh,180px);border-inline-end:0;border-bottom:1px solid var(--ui-border)}.file-content[data-v-c689761c]{height:clamp(200px,45vh,360px)}}.nas-picker-content[data-v-6ed8b8f6]{max-height:65vh;overflow:auto}.save-message[data-v-6ed8b8f6]{--ui-text-secondary:var(--ui-text)}.save-consent[data-v-6ed8b8f6]{color:var(--ui-text);margin-block:0 var(--ui-space-4,16px)}.files-actions[data-v-15f9eb8e]{display:flex;flex-wrap:wrap;gap:var(--ui-space-2, 8px)}.files-path[data-v-15f9eb8e]{display:flex;min-width:0}p[data-v-d803ac7c]{margin:0 0 var(--ui-space-3,12px);max-width:72ch}.portal-form[data-v-d803ac7c]{max-width:28rem}.identity-login[data-v-1c0358cd]{max-width:36rem;margin-inline:auto;padding:var(--ui-space-4, 16px);overflow:auto;max-height:100%;color:var(--ui-text);font-family:var(--ui-font-sans);font-size:13px;line-height:1.5}.identity-login p[data-v-1c0358cd]{margin-block:var(--ui-space-4, 16px);overflow-wrap:anywhere}.bg-cards[data-v-fa2b6101]{display:grid;gap:var(--ui-space-3,12px);min-width:0;overflow-wrap:anywhere}.bg-card-body[data-v-fa2b6101]{display:flex;flex-direction:column;align-items:flex-start;gap:var(--ui-space-2,8px);min-width:0}.bg-card-body>span[data-v-fa2b6101]{min-width:0;max-width:100%}.integration-actions[data-v-fa2b6101]{display:flex;flex-wrap:wrap;gap:var(--ui-space-2,8px)}.bg-schedules[data-v-fa2b6101]{margin-block-start:var(--ui-space-6,24px);min-width:0;overflow-wrap:anywhere}.bg-schedules p[data-v-fa2b6101]{min-width:0;max-width:100%}.bg-schedules h3[data-v-fa2b6101]{font-size:15px;font-weight:600}.bg-schedule-form[data-v-fa2b6101]{margin-block:var(--ui-space-4,16px)}.bg-path[data-v-fa2b6101]{display:flex;align-items:center;gap:var(--ui-space-2,8px);min-width:0;max-width:100%}.executor-help[data-v-868f9f3a]{margin:0 0 var(--ui-space-3,12px);max-width:72ch;color:var(--ui-text-secondary)}.executor-summary[data-v-868f9f3a]{margin-bottom:var(--ui-space-3,12px)}.executor-form[data-v-868f9f3a]{margin-top:var(--ui-space-4,16px);max-width:28rem}.executor-hint[data-v-868f9f3a]{font-size:12px;color:var(--ui-text-secondary)}.executor-alert[data-v-868f9f3a]{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--ui-space-2,8px)}.delegate-panel[data-v-c590f505]{min-width:0;overflow-wrap:anywhere}h3[data-v-c590f505]{font-size:var(--ui-font-size-base,14px);font-weight:600;margin:var(--ui-space-6,24px) 0 var(--ui-space-3,12px)}.records[data-v-c590f505]{list-style:none;padding:0;margin:0}.records li[data-v-c590f505]{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:var(--ui-space-3,12px);padding-block:var(--ui-space-4,16px);border-bottom:1px solid var(--ui-border)}.records li>div[data-v-c590f505],.records li>span[data-v-c590f505],.destination[data-v-c590f505]{min-width:0;max-width:100%;overflow-wrap:anywhere}.records p[data-v-c590f505]{margin:var(--ui-space-2,8px) 0 0}.destination[data-v-c590f505]{display:flex;align-items:center;gap:var(--ui-space-2,8px)}.background-save-panel[data-v-5ef5e256]{min-width:0;overflow-wrap:anywhere}.save-message[data-v-5ef5e256]{--ui-text-secondary:var(--ui-text)}.save-help[data-v-5ef5e256]{margin:0 0 var(--ui-space-3,12px);max-width:72ch;color:var(--ui-text-secondary)}.save-summary[data-v-5ef5e256]{margin-bottom:var(--ui-space-3,12px)}h3[data-v-5ef5e256]{font-size:var(--ui-font-size-base,14px);font-weight:600;margin:var(--ui-space-6,24px) 0 var(--ui-space-3,12px)}.save-actions[data-v-5ef5e256],.save-records li[data-v-5ef5e256],.save-danger[data-v-5ef5e256]{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--ui-space-2,8px)}.save-actions[data-v-5ef5e256]{justify-content:flex-start;margin-top:var(--ui-space-3,12px)}.save-records[data-v-5ef5e256]{list-style:none;margin:0;padding:0}.save-records li[data-v-5ef5e256]{padding-block:var(--ui-space-2,8px);border-bottom:1px solid var(--ui-border)}.save-record[data-v-5ef5e256]{display:flex;flex-direction:column;align-items:flex-start;min-width:0;flex:1}.save-name[data-v-5ef5e256]{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.save-note[data-v-5ef5e256]{margin:var(--ui-space-1,4px) 0 0;font-size:12px;color:var(--ui-text-secondary);white-space:normal}.save-alert[data-v-5ef5e256]{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--ui-space-2,8px)}.save-icon[data-v-5ef5e256]{width:16px;height:16px}[data-save-operations][data-v-5ef5e256] table{table-layout:fixed}[data-save-operations][data-v-5ef5e256] th,[data-save-operations][data-v-5ef5e256] td{overflow-wrap:normal;white-space:nowrap}[data-save-operations][data-v-5ef5e256] td{padding-block:var(--ui-space-2,8px)}.save-example[data-v-5ef5e256]{margin-top:var(--ui-space-5,20px)}.save-pages[data-v-5ef5e256]{margin-top:var(--ui-space-3,12px)}.save-danger[data-v-5ef5e256]{flex:1;margin-top:var(--ui-space-2,8px);padding-top:var(--ui-space-4,16px);border-top:1px solid var(--ui-border)}.save-danger p[data-v-5ef5e256]{margin:0;flex:1 1 20rem;max-width:72ch;color:var(--ui-text-secondary)}.authorization-view[data-v-e16b5f7d]{display:flex;flex-direction:column;gap:12px}.authorization-body[data-v-e16b5f7d]{margin:0;font-size:13px;line-height:1.6;color:var(--ui-text);text-wrap:pretty}.authorization-status[data-v-e16b5f7d],.authorization-failed[data-v-e16b5f7d]{color:var(--ui-text)}.authorization-content[data-v-e16b5f7d]{display:flex;flex-direction:column;height:100%;min-height:0}.authorization-content[data-v-e16b5f7d] .app-shell{flex:1;min-height:0;height:auto}.authorization-setting[data-v-f031e7c7]{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.authorization-revoke-body[data-v-f031e7c7]{margin:0;font-size:13px;line-height:1.6;color:var(--ui-text)}.authorization-state[data-v-f031e7c7]{display:inline-flex;align-items:center;gap:6px;color:var(--ui-text)}
|