@v1nt1248/3nclient-lib 0.0.12 → 0.0.14
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/dist/components/index.d.ts +3 -1
- package/dist/components/ui3n-virtual-scroll.vue.d.ts +34 -0
- package/dist/index.d.ts +1 -0
- package/dist/libs/index.d.ts +3 -0
- package/dist/libs/ipc-service-caller.d.ts +12 -0
- package/dist/libs/ipc-service.d.ts +60 -0
- package/dist/libs/serialization-for-ipc/copy-json.d.ts +8 -0
- package/dist/libs/serialization-for-ipc/json-n-binary.d.ts +5 -0
- package/dist/libs/serialization-for-ipc/protobuf-type.d.ts +10 -0
- package/dist/libs/sqlite-on-3nstorage/deferred.d.ts +6 -0
- package/dist/libs/sqlite-on-3nstorage/index.d.ts +49 -0
- package/dist/libs/sqlite-on-3nstorage/synced.d.ts +73 -0
- package/dist/style.css +1 -1
- package/dist/ui-3n-lib.js +11916 -7921
- package/package.json +5 -2
|
@@ -21,4 +21,6 @@ import Ui3nMenu from './ui3n-menu.vue';
|
|
|
21
21
|
import type { Ui3nMenuProps, Ui3nMenuEmits, Ui3nMenuSlots } from './ui3n-menu.vue';
|
|
22
22
|
import Ui3nList from './ui3n-list.vue';
|
|
23
23
|
import type { Ui3nListProps, Ui3nListEmits, Ui3nListSlots } from './ui3n-list.vue';
|
|
24
|
-
|
|
24
|
+
import Ui3nVirtualScroll from './ui3n-virtual-scroll.vue';
|
|
25
|
+
import type { Ui3nVirtualScrollProps, Ui3nVirtualScrollSlots } from './ui3n-virtual-scroll.vue';
|
|
26
|
+
export { Ui3nIcon, Ui3nIconProps, Ui3nIconEmits, Ui3nButton, Ui3nButtonProps, Ui3nButtonEmits, Ui3nDropFiles, Ui3nDropFilesProps, Ui3nDropFilesEmits, Ui3nEmoji, Ui3nEmojiProps, Ui3nEmojiEmits, Ui3nInput, Ui3nInputProps, Ui3nInputEmits, Ui3nText, Ui3nTextProps, Ui3nTextEmits, Ui3nNotification, Ui3nTableSortIcon, Ui3nTableSortIconProps, Ui3nTable, Ui3nTableProps, Ui3nTableEmits, Ui3nDialog, Ui3nDialogComponentProps, Ui3nDialogComponentEmits, Ui3nDialogProps, Ui3nDialogEvent, Ui3nMenu, Ui3nMenuProps, Ui3nMenuEmits, Ui3nMenuSlots, Ui3nList, Ui3nListProps, Ui3nListEmits, Ui3nListSlots, Ui3nVirtualScroll, Ui3nVirtualScrollProps, Ui3nVirtualScrollSlots, };
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export interface Ui3nVirtualScrollProps<T> {
|
|
2
|
+
items: T[];
|
|
3
|
+
minChildHeight: number;
|
|
4
|
+
renderAhread?: number;
|
|
5
|
+
}
|
|
6
|
+
export interface Ui3nVirtualScrollSlots<T> {
|
|
7
|
+
item: (item: T, index: number) => any;
|
|
8
|
+
}
|
|
9
|
+
declare const _default: <T extends {
|
|
10
|
+
id?: string | undefined;
|
|
11
|
+
}>(__VLS_props: Ui3nVirtualScrollProps<T> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, __VLS_ctx?: Pick<{
|
|
12
|
+
props: Ui3nVirtualScrollProps<T>;
|
|
13
|
+
expose(exposed: {}): void;
|
|
14
|
+
attrs: any;
|
|
15
|
+
slots: Ui3nVirtualScrollSlots<T>;
|
|
16
|
+
emit: any;
|
|
17
|
+
}, "slots" | "emit" | "attrs"> | undefined, __VLS_setup?: Promise<{
|
|
18
|
+
props: Ui3nVirtualScrollProps<T>;
|
|
19
|
+
expose(exposed: {}): void;
|
|
20
|
+
attrs: any;
|
|
21
|
+
slots: Ui3nVirtualScrollSlots<T>;
|
|
22
|
+
emit: any;
|
|
23
|
+
}>) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
24
|
+
[key: string]: any;
|
|
25
|
+
}> & {
|
|
26
|
+
__ctx?: {
|
|
27
|
+
props: Ui3nVirtualScrollProps<T>;
|
|
28
|
+
expose(exposed: {}): void;
|
|
29
|
+
attrs: any;
|
|
30
|
+
slots: Ui3nVirtualScrollSlots<T>;
|
|
31
|
+
emit: any;
|
|
32
|
+
} | undefined;
|
|
33
|
+
};
|
|
34
|
+
export default _default;
|
package/dist/index.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import type { Ui3nDialogComponentProps } from './components/ui3n-dialog.vue';
|
|
|
3
3
|
import type { DialogInstance } from './plugins/dialogs';
|
|
4
4
|
export * from './constants';
|
|
5
5
|
export * from './tools';
|
|
6
|
+
export * from './libs';
|
|
6
7
|
export * from './plugins';
|
|
7
8
|
export * from './directives';
|
|
8
9
|
export * from './components';
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
type RPCConnection = web3n.rpc.client.RPCConnection;
|
|
2
|
+
type PassedDatum = web3n.rpc.PassedDatum;
|
|
3
|
+
export interface TransformOpts {
|
|
4
|
+
unpackReply?: ((reply: PassedDatum | undefined) => any) | 'noop';
|
|
5
|
+
packRequest?: ((args: any[]) => PassedDatum | undefined) | 'noop';
|
|
6
|
+
}
|
|
7
|
+
export declare function makeReqRepMethodCaller<F extends Function>(connection: RPCConnection, method: string, transforms?: TransformOpts): F;
|
|
8
|
+
export declare function makeObservableMethodCaller<F extends Function>(connection: RPCConnection, method: string, transforms?: TransformOpts): F;
|
|
9
|
+
export declare function makeServiceCaller<T>(connection: RPCConnection, reqRepMethods?: (keyof T)[], obsMethods?: (keyof T)[], transforms?: {
|
|
10
|
+
[method in keyof T]: TransformOpts;
|
|
11
|
+
}): Partial<T>;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
type IncomingConnection = web3n.rpc.service.IncomingConnection;
|
|
2
|
+
type PassedDatum = web3n.rpc.PassedDatum;
|
|
3
|
+
type Observer<T> = web3n.Observer<T>;
|
|
4
|
+
export type HandleObservingCall = (obs: Observer<any>, ...requestArgs: any[]) => (() => void);
|
|
5
|
+
export type HandleReqReplyCall = (...requestArgs: any[]) => Promise<any>;
|
|
6
|
+
export interface TransformOpts {
|
|
7
|
+
unpackRequest?: ((req: PassedDatum | undefined) => any[]) | 'noop';
|
|
8
|
+
packReply?: ((reply: any) => PassedDatum | undefined) | 'noop';
|
|
9
|
+
}
|
|
10
|
+
declare class ConnectionState {
|
|
11
|
+
private readonly disconnect;
|
|
12
|
+
private readonly calls;
|
|
13
|
+
private isRunning;
|
|
14
|
+
constructor(disconnect: () => void);
|
|
15
|
+
acceptsMsgs(): boolean;
|
|
16
|
+
stop(): void;
|
|
17
|
+
hasCall(callNum: number): boolean;
|
|
18
|
+
cancelCall(callNum: number): void;
|
|
19
|
+
completeCall(callNum: number): void;
|
|
20
|
+
registerReqReplyCall(callNum: number): void;
|
|
21
|
+
registerObservableCall(callNum: number, cancel: () => void): void;
|
|
22
|
+
}
|
|
23
|
+
export declare abstract class IPCWrap {
|
|
24
|
+
readonly srvName: string;
|
|
25
|
+
protected readonly connections: Map<web3n.rpc.service.IncomingConnection, ConnectionState>;
|
|
26
|
+
private readonly methods;
|
|
27
|
+
constructor(srvName: string);
|
|
28
|
+
addReqReplyMethod(method: string, srv: object | undefined, func: HandleReqReplyCall, transforms?: TransformOpts): void;
|
|
29
|
+
exposeReqReplyMethods<T extends object>(srv: T, methods: (keyof T)[], transforms?: {
|
|
30
|
+
[method in keyof T]: TransformOpts;
|
|
31
|
+
}): void;
|
|
32
|
+
addObservableMethod(method: string, srv: object | undefined, func: HandleObservingCall, transforms?: TransformOpts): void;
|
|
33
|
+
exposeObservableMethods<T extends object>(srv: T, methods: (keyof T)[], transforms?: {
|
|
34
|
+
[method in keyof T]: TransformOpts;
|
|
35
|
+
}): void;
|
|
36
|
+
private onMsg;
|
|
37
|
+
private callReqReplyHandler;
|
|
38
|
+
private callObsHandler;
|
|
39
|
+
startIPC(): () => void;
|
|
40
|
+
stopIPC(): void;
|
|
41
|
+
protected onConnection(connection: IncomingConnection): Promise<void>;
|
|
42
|
+
protected onConnectionCompletion(connection: IncomingConnection, connectionState: ConnectionState): Promise<void>;
|
|
43
|
+
protected onConnectionError(connection: IncomingConnection, connectionState: ConnectionState, err: any): Promise<void>;
|
|
44
|
+
protected abstract onListeningCompletion(): Promise<void>;
|
|
45
|
+
protected abstract onListeningError(err: any): Promise<void>;
|
|
46
|
+
}
|
|
47
|
+
export declare class SingleConnectionIPCWrap extends IPCWrap {
|
|
48
|
+
constructor(srvName: string);
|
|
49
|
+
protected onListeningCompletion(): Promise<void>;
|
|
50
|
+
protected onListeningError(err: any): Promise<void>;
|
|
51
|
+
protected onConnectionCompletion(connection: IncomingConnection, connectionState: ConnectionState): Promise<void>;
|
|
52
|
+
protected onConnectionError(connection: IncomingConnection, connectionState: ConnectionState, err: any): Promise<void>;
|
|
53
|
+
}
|
|
54
|
+
export declare class MultiConnectionIPCWrap extends IPCWrap {
|
|
55
|
+
constructor(srvName: string);
|
|
56
|
+
protected onListeningCompletion(): Promise<void>;
|
|
57
|
+
protected onListeningError(err: any): Promise<void>;
|
|
58
|
+
protected onConnectionError(connection: IncomingConnection, connectionState: ConnectionState, err: any): Promise<void>;
|
|
59
|
+
}
|
|
60
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This function creates a copy of json entity with a caveat that Buffer and
|
|
3
|
+
* byte arrays are shared between original and a copy.
|
|
4
|
+
* @param orig is an object, which copy is created. Buffer and byte arrays
|
|
5
|
+
* passed through like primitives.
|
|
6
|
+
* @param excludeTopFields is an optional list of fields to exclude from copy.
|
|
7
|
+
*/
|
|
8
|
+
export declare function copyJSON<T>(orig: T, excludeTopFields?: string[]): T;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/// <reference types="@types/node" />
|
|
2
|
+
export declare class ProtoType<T extends object> {
|
|
3
|
+
private readonly type;
|
|
4
|
+
private constructor();
|
|
5
|
+
static for<T extends object>(type: any): ProtoType<T>;
|
|
6
|
+
pack(msg: T): Buffer;
|
|
7
|
+
unpack(bytes: Buffer | void): T;
|
|
8
|
+
packToBase64(msg: T): string;
|
|
9
|
+
unpackFromBase64(str: string): T;
|
|
10
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { Database as DBClass, BindParams as QueryParams, QueryExecResult as QueryResult } from './sqljs.js';
|
|
2
|
+
import { SingleProc, Action } from './synced.js';
|
|
3
|
+
export type Database = DBClass;
|
|
4
|
+
export type BindParams = QueryParams;
|
|
5
|
+
export type QueryExecResult = QueryResult;
|
|
6
|
+
type WritableFile = web3n.files.WritableFile;
|
|
7
|
+
export interface SaveOpts {
|
|
8
|
+
skipUpload?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export declare abstract class SQLiteOn3NStorage {
|
|
11
|
+
protected readonly database: Database;
|
|
12
|
+
protected readonly file: WritableFile;
|
|
13
|
+
protected readonly syncProc: SingleProc;
|
|
14
|
+
protected constructor(database: Database, file: WritableFile);
|
|
15
|
+
static makeAndStart(file: WritableFile): Promise<SQLiteOn3NStorage>;
|
|
16
|
+
private start;
|
|
17
|
+
saveToFile(opts?: SaveOpts): Promise<void>;
|
|
18
|
+
get db(): Database;
|
|
19
|
+
sync<T>(action: Action<T>): Promise<T>;
|
|
20
|
+
listTables(): string[];
|
|
21
|
+
}
|
|
22
|
+
export declare function objectFromQueryExecResult<T>(sqlResult: QueryExecResult): Array<T>;
|
|
23
|
+
export declare class TableColumnsAndParams<ColumnDefs extends object> {
|
|
24
|
+
readonly name: string;
|
|
25
|
+
private readonly columnDefs;
|
|
26
|
+
readonly c: {
|
|
27
|
+
[columnName in keyof ColumnDefs]: string;
|
|
28
|
+
};
|
|
29
|
+
readonly cReversed: {
|
|
30
|
+
[snakedColName: string]: keyof ColumnDefs;
|
|
31
|
+
};
|
|
32
|
+
readonly p: {
|
|
33
|
+
[columnName in keyof ColumnDefs]: string;
|
|
34
|
+
};
|
|
35
|
+
readonly q: {
|
|
36
|
+
[columnName in keyof ColumnDefs]: string;
|
|
37
|
+
};
|
|
38
|
+
constructor(name: string, columnDefs: ColumnDefs);
|
|
39
|
+
private toC;
|
|
40
|
+
toParams<T extends {
|
|
41
|
+
[columnName in keyof ColumnDefs]: any;
|
|
42
|
+
}>(value: Partial<T>, throwOnUnknownField?: boolean): any;
|
|
43
|
+
getFromQueryExecResult<T>(sqlResult: QueryExecResult): Array<T>;
|
|
44
|
+
get insertQuery(): string;
|
|
45
|
+
updateQuery(withTabName: boolean, columns?: (keyof ColumnDefs)[] | undefined, skipColumns?: boolean): string;
|
|
46
|
+
get columnsCreateSection(): string;
|
|
47
|
+
selectQuery(columnsToSelect: (keyof ColumnDefs)[] | string, ...whereAndColEqual: (keyof ColumnDefs)[]): string;
|
|
48
|
+
}
|
|
49
|
+
export {};
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This represents a function that will create a promise, potentially starting
|
|
3
|
+
* some background process, only when it is called. Such wrap of code is needed
|
|
4
|
+
* for scheduling, as very often any start of an action must be postponed till
|
|
5
|
+
* later time. Scheduler needs a not-yet-started activity, as scheduler has
|
|
6
|
+
* control action's start.
|
|
7
|
+
*/
|
|
8
|
+
export type Action<T> = () => Promise<T>;
|
|
9
|
+
/**
|
|
10
|
+
* This is a container of processes, labeled by some ids. It allows to track if
|
|
11
|
+
* there is a process already in progress with a given id. And, it allows to
|
|
12
|
+
* chain process, when needed.
|
|
13
|
+
*
|
|
14
|
+
* Common use of such class is to reuse getting of some expensive resource(s).
|
|
15
|
+
*/
|
|
16
|
+
export declare class NamedProcs {
|
|
17
|
+
private processes;
|
|
18
|
+
constructor();
|
|
19
|
+
/**
|
|
20
|
+
* @param id is a string key of a process
|
|
21
|
+
* @return a promise of a process' completion, or undefined, if process with
|
|
22
|
+
* given id is unknown.
|
|
23
|
+
*/
|
|
24
|
+
latestTaskAtThisMoment<T>(id: string): Promise<T> | undefined;
|
|
25
|
+
isProcessing(id: string): boolean;
|
|
26
|
+
/**
|
|
27
|
+
* This method will add a promise of an already started process.
|
|
28
|
+
* @param id is a string key of a process
|
|
29
|
+
* @param promise of an already started process
|
|
30
|
+
* @return a promise of a process' completion.
|
|
31
|
+
*/
|
|
32
|
+
addStarted<T>(id: string, promise: Promise<T>): Promise<T>;
|
|
33
|
+
/**
|
|
34
|
+
* This method will start a given action only, if a process with a given id
|
|
35
|
+
* is not running.
|
|
36
|
+
* @param id is a string key of a process
|
|
37
|
+
* @param action is a function that starts some process
|
|
38
|
+
* @return a promise of a process' completion.
|
|
39
|
+
*/
|
|
40
|
+
start<T>(id: string, action: Action<T>): Promise<T>;
|
|
41
|
+
/**
|
|
42
|
+
* This method will chain a given action to an already running process, or,
|
|
43
|
+
* if identified process is not running, this will start given action under
|
|
44
|
+
* a given id.
|
|
45
|
+
* @param id is a string key of a process
|
|
46
|
+
* @param action is a function that starts some process
|
|
47
|
+
* @return a promise of a process' completion.
|
|
48
|
+
*/
|
|
49
|
+
startOrChain<T>(id: string, action: Action<T>): Promise<T>;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* This is a container of process. It allows to track if a process is already
|
|
53
|
+
* in progress. It also allows to chain process, when needed.
|
|
54
|
+
*
|
|
55
|
+
* Common use of such class is to reuse getting of some expensive resource, or
|
|
56
|
+
* do ning something as an exclusive process.
|
|
57
|
+
*/
|
|
58
|
+
export declare class SingleProc {
|
|
59
|
+
private onGoingIdle?;
|
|
60
|
+
private actions;
|
|
61
|
+
private running;
|
|
62
|
+
constructor(onGoingIdle?: (() => void) | undefined);
|
|
63
|
+
isProcessing(): boolean;
|
|
64
|
+
latestTaskAtThisMoment<T>(): Promise<T> | undefined;
|
|
65
|
+
addStarted<T>(promise: Promise<T>): Promise<T>;
|
|
66
|
+
start<T>(action: Action<T>): Promise<T>;
|
|
67
|
+
private runIfIdle;
|
|
68
|
+
startOrChain<T>(action: Action<T>): Promise<T>;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* This wraps given function/method into syncing wrap.
|
|
72
|
+
*/
|
|
73
|
+
export declare function makeSyncedFunc<T extends Function>(syncProc: SingleProc, thisArg: any, func: T): T;
|
package/dist/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.ui3n-button[data-v-5f7c3964]{--ui3n-button-text-size: 12px;--ui3n-button-text-height: 16px;--ui3n-button-text-color: var(--system-white, #fff);--ui3n-button-background: var(--blue-main, #0090ec);--ui3n-button-padding-vert: 8px;--ui3n-button-padding-horiz: 16px;display:flex;align-items:center;border:none;outline:none;padding:var(--ui3n-button-padding-vert) var(--ui3n-button-padding-horiz);border-radius:4px;background:var(--ui3n-button-background);font-size:var(--ui3n-button-text-size);line-height:var(--ui3n-button-text-height);font-weight:600;color:var(--ui3n-button-text-color);background-position:center;transition:background .5s ease-in-out}.ui3n-button--round[data-v-5f7c3964]{--ui3n-button-padding-vert: 4px;--ui3n-button-padding-horiz: 4px;border-radius:50%}.ui3n-button--elevation[data-v-5f7c3964]{box-shadow:0 2px 1px -1px var(--shadow-key-umbra-opacity),0 1px 1px 0 var(--shadow-key-penumbra-opacity),0 1px 3px 0 var(--shadow-key-ambient-opacity)}.ui3n-button[data-v-5f7c3964]:not([disabled]){cursor:pointer}.ui3n-button[data-v-5f7c3964]:not([disabled]):hover{background:var(--ui3n-button-background) radial-gradient(circle,transparent 1%,var(--ui3n-button-background) 1%) center/15000%}.ui3n-button:not([disabled]):hover .ui3n-button__icon[data-v-5f7c3964],.ui3n-button:not([disabled]):hover .ui3n-button__text[data-v-5f7c3964]{opacity:1}.ui3n-button[data-v-5f7c3964]:not([disabled]):active{opacity:1;background-color:var(--black-30, #b3b3b3);background-size:100%;transition:background 0s}.ui3n-button__icon[data-v-5f7c3964]{opacity:.85;transition:opacity .2s ease-in-out}.ui3n-button__text[data-v-5f7c3964]{display:block;opacity:.85;transition:opacity .2s ease-in-out}.ui3n-button__text--margin[data-v-5f7c3964]{margin-left:4px}.ui3n-button[disabled][data-v-5f7c3964]{opacity:.7}.ui3n-notification[data-v-436fa887]{display:flex;position:relative;z-index:5000;border-radius:var(--half-size, 4px);padding:var(--base-size, 8px);max-width:400px;margin-bottom:var(--base-size)}.ui3n-notification--with-icon[data-v-436fa887]{display:flex;justify-content:flex-start;align-items:center}.ui3n-notification--with-icon .ui3n-notification__content[data-v-436fa887]{padding-left:var(--base-size, 8px)}.ui3n-notification__content[data-v-436fa887]{position:relative;flex-grow:2;font-size:var(--font-13, 13px);font-weight:400;line-height:1.5;color:var(--system-white, #fff)}.ui3n-notification__close[data-v-436fa887]{position:absolute;z-index:1;top:0;right:0}.ui3n-notification--success[data-v-436fa887]{background-color:#10c48f}.ui3n-notification--warning[data-v-436fa887]{background-color:#f80}.ui3n-notification--info[data-v-436fa887]{background-color:#10afef}.ui3n-notification--error[data-v-436fa887]{background-color:#ef5350}.ui3n-notification--left[data-v-436fa887]{margin-left:0;margin-right:auto}.ui3n-notification--center[data-v-436fa887]{margin-left:auto;margin-right:auto}.ui3n-notification--right[data-v-436fa887]{margin-left:auto;margin-right:0}.ui3n-dialog__overlay{position:fixed;z-index:1000;top:0;right:0;bottom:0;left:0;display:flex;justify-content:center;align-items:center;background-color:#0006}.ui3n-dialog{--dialog-border-radius: 8px;--dialog-title-padding: 16px 24px 16px;--dialog-title-font-size: 14px;--dialog-actions-padding: 16px;--dialog-confirm-button-color: var(--system-white, #fff);--dialog-cancel-button-color: var(--blue-main, #0090ec);--dialog-confirm-background-color: var(--blue-main, #0090ec);--dialog-cancel-background-color: var(--system-white, #fff);position:relative;display:flex;flex-direction:column;height:auto;max-height:95%;background-color:var(--system-white, #fff);border-radius:var(--dialog-border-radius);box-shadow:0 2px 1px -1px var(--shadow-key-umbra-opacity),0 1px 1px 0 var(--shadow-key-penumbra-opacity),0 1px 3px 0 var(--shadow-key-ambient-opacity)}.ui3n-dialog__title{padding:var(--dialog-title-padding);font-size:var(--dialog-title-font-size);font-weight:600;line-height:1.3;color:var(--black-90, #212121);border-bottom:1px solid var(--grey-50, #f2f2f2);max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ui3n-dialog__close{position:absolute;right:4px;top:4px}.ui3n-dialog__content{flex-grow:2;overflow-y:auto}.ui3n-dialog__actions{padding:var(--dialog-actions-padding);display:flex;justify-content:flex-end;align-items:center}.ui3n-dialog__actions--both .ui3n-button{margin-left:8px}.ui3n-drop-files[data-v-3411ed77]{position:relative;width:100%;height:100%}.ui3n-drop-files__dropzone[data-v-3411ed77]{position:absolute;background-color:var(--system-white, #fff);display:flex;flex-direction:column;justify-content:center;align-items:center;inset:var(--half-size, 4px) var(--base-size, 8px);border-radius:var(--base-size, 8px);z-index:5}.ui3n-drop-files__dropzone-border[data-v-3411ed77]{position:absolute;width:calc(100% - var(--base-size, 8px) * 2);height:calc(100% - var(--base-size, 8px) * 2);top:var(--base-size, 8px);left:var(--base-size, 8px);border-radius:var(--base-size, 8px);border:2px dashed var(--gray-50, #f2f2f2);pointer-events:none}.ui3n-drop-files__dropzone-title[data-v-3411ed77]{margin:0 0 24px;font-size:var(--font-24, 24px);font-weight:600;color:var(--black-30, #b3b3b3);pointer-events:none}.ui3n-drop-files__dropzone-icon[data-v-3411ed77]{position:relative;width:160px;height:160px;border-radius:50%;background-color:var(--gray-50, #f2f2f2);display:flex;justify-content:center;align-items:center;pointer-events:none}.ui3n-drop-files__dropzone-text[data-v-3411ed77]{margin-top:calc(var(--base-size, 8px) * 3);font-size:var(--font-12, 12px);line-height:var(--font-16, 16px);font-weight:400;color:var(--black-30, #b3b3b3)}.ui3n-drop-files__dropzone-additional[data-v-3411ed77]{margin-top:var(--half-size, 4px);font-size:var(--font-12, 12px);font-weight:500;color:var(--black-90, #212121)}.ui3n-emoji[data-v-cf691041]{--emoji-size: 16px;display:flex;width:var(--emoji-size);height:var(--emoji-size);justify-content:center;align-items:center;cursor:pointer}.ui3n-emoji--readonly[data-v-cf691041]{cursor:default}.ui3n-input[data-v-41c114f0]{--ui3n-input-height: calc(var(--base-size, 8px) * 4);--ui3n-input-padding-left: var(--base-size, 8px);--ui3n-input-padding-right: var(--base-size, 8px);position:relative;width:100%}.ui3n-input__label[data-v-41c114f0]{display:block;width:100%;font-size:var(--font-12, 12px);font-weight:600;color:var(--black-90, #212121);margin-bottom:calc(var(--base-size, 8px) / 2)}.ui3n-input__input[data-v-41c114f0]{display:block;box-sizing:border-box;width:100%;position:relative;border:none;outline:none;height:var(--ui3n-input-height);padding:0 var(--ui3n-input-padding-right) 0 var(--ui3n-input-padding-left);border-radius:var(--half-size, 4px);background-color:var(--gray-50, #f2f2f2);font-size:var(--font-13, 13px);font-weight:400;line-height:1;color:var(--black-90, #212121)}.ui3n-input__input[data-v-41c114f0]::placeholder{color:var(--black-30, #b3b3b3);font-style:italic;font-size:var(--font-13, 13px);font-weight:400}.ui3n-input__input[data-v-41c114f0]:focus-within{background-color:var(--blue-main-20, #d8edfd)}.ui3n-input__icon[data-v-41c114f0]{position:absolute;left:var(--half-size, 4px);top:var(--base-size, 8px)}.ui3n-input__clear-btn[data-v-41c114f0]{position:absolute;right:0;top:var(--half-size, 4px)}.ui3n-input__error-text[data-v-41c114f0]{font-style:italic;font-size:var(--font-10, 10px);font-weight:400;line-height:1.5;color:var(--pear-100, #f75d53)}.ui3n-input--clearable[data-v-41c114f0]{--ui3n-input-padding-right: calc(var(--base-size, 8px) * 3)}.ui3n-input--with-icon[data-v-41c114f0]{--ui3n-input-padding-left: calc(var(--base-size, 8px) * 3)}.ui3n-input--error[data-v-41c114f0]{--ui3n-input-padding-left: calc(var(--base-size, 8px) - 1px);--ui3n-input-padding-right: calc(var(--base-size, 8px) - 1px)}.ui3n-input--error .ui3n-input__input[data-v-41c114f0]{border:1px solid var(--pear-100, #f75d53)}.ui3n-input--error.ui3n-input--clearable[data-v-41c114f0]{--ui3n-input-padding-right: calc(var(--base-size, 8px) * 2 - 1px)}.ui3n-input--error.ui3n-input--with-icon[data-v-41c114f0]{--ui3n-input-padding-left: calc(var(--base-size, 8px) * 2 - 1px)}.ui3n-input--disabled[data-v-41c114f0]{pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.5}.ui3n-input--with-label .ui3n-input__icon[data-v-41c114f0]{top:calc(var(--base-size) * 3.5 + 1px)}.ui3n-input--with-label .ui3n-input__clear-btn[data-v-41c114f0]{top:calc(var(--base-size) * 3 + 1px)}.ui3n-text[data-v-33487f04]{position:relative;width:100%}.ui3n-text__label[data-v-33487f04]{display:block;width:100%;font-size:var(--font-12, 12px);font-weight:600;color:var(--black-90, #212121);margin-bottom:calc(var(--base-size, 8px) / 2)}.ui3n-text__body[data-v-33487f04]{position:relative;width:100%;padding:var(--base-size, 8px) 0;background-color:var(--gray-50, #f2f2f2);border-radius:4px}.ui3n-text__content[data-v-33487f04]{resize:none;display:block;box-sizing:border-box;position:relative;width:100%;border-radius:4px;background-color:var(--gray-50, #f2f2f2);padding:0 var(--base-size, 8px);font-family:OpenSans,sans-serif;font-size:var(--font-13, 13px);font-weight:400;line-height:var(--font-16, 16px);color:var(--black-90, #212121);border:none}.ui3n-text__content[data-v-33487f04]::placeholder{font-size:var(--font-13, 13px);font-weight:300;font-style:italic;color:var(--gray-90, #212121)}.ui3n-text--disabled[data-v-33487f04]{pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.5}.ui3n-text--focused .ui3n-text__body[data-v-33487f04],.ui3n-text--focused .ui3n-text__content[data-v-33487f04]{background-color:var(--blue-main-20, #d8edfd);outline:none;border:none}.ui3n-table[data-v-5a78ec1c]{--table-header-height: 36px;--table-row-height: 28px;position:relative;width:100%;height:100%;overflow-x:hidden;overflow-y:auto}.ui3n-table__header[data-v-5a78ec1c]{position:sticky;top:0;display:flex;width:100%;height:var(--table-header-height);justify-content:flex-start;align-items:center;padding:0 calc(var(--base-size) * 2);background-color:var(--gray-50)}.ui3n-table__header-cell[data-v-5a78ec1c]{display:flex;justify-content:flex-start;align-items:center;font-size:var(--font-13);line-height:var(--font-18);font-weight:500;color:var(--black-90)}.ui3n-table__header-cell--sortable[data-v-5a78ec1c]{cursor:pointer}.ui3n-table__header-text[data-v-5a78ec1c]{display:block;position:relative;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ui3n-table__item[data-v-5a78ec1c]{display:flex;width:100%;height:var(--table-row-height);justify-content:flex-start;align-items:center;padding:0 calc(var(--base-size) * 2) 0 calc(var(--base-size) * 5);cursor:pointer;border-bottom:1px solid var(--gray-50)}.ui3n-table__item-bookmark[data-v-5a78ec1c],.ui3n-table__item-rename[data-v-5a78ec1c]{display:none;position:absolute;z-index:1;color:var(--black-30)}.ui3n-table__item-bookmark[data-v-5a78ec1c]{left:2px}.ui3n-table__item-rename[data-v-5a78ec1c]{right:calc(var(--base-size) * 13 + 24px)}.ui3n-table__item-icon[data-v-5a78ec1c]{position:absolute;left:calc(var(--base-size) * 2);color:var(--black-30);pointer-events:none}.ui3n-table__item-cell[data-v-5a78ec1c]{position:relative;font-weight:400;pointer-events:none}.ui3n-table__item[data-v-5a78ec1c]:hover{background-color:var(--blue-main-30)}.ui3n-table__item:hover .ui3n-table__item-bookmark[data-v-5a78ec1c],.ui3n-table__item:hover .ui3n-table__item-rename[data-v-5a78ec1c]{display:block}.ui3n-table__item:hover .ui3n-table__item-icon[data-v-5a78ec1c]{color:var(--blue-main)}.ui3n-table__name[data-v-5a78ec1c]{flex:1 0}.ui3n-table__name.ui3n-table__item-cell[data-v-5a78ec1c]{font-size:var(--font-12)}.ui3n-table__type[data-v-5a78ec1c]{width:calc(var(--base-size) * 7);text-align:center}.ui3n-table__type.ui3n-table__item-cell[data-v-5a78ec1c]{font-size:var(--font-10)}.ui3n-table__changedAt[data-v-5a78ec1c]{width:calc(var(--base-size) * 13)}.ui3n-table__changedAt.ui3n-table__item-cell[data-v-5a78ec1c]{font-size:var(--font-11)}.ui3n-table__empty[data-v-5a78ec1c]{font-size:var(--font-20);font-style:italic;color:var(--black-30);text-align:center;padding-top:calc(var(--base-size) * 10)}.ui3n-menu[data-v-8ba1dfb9]{--menu-animation-duration: .4s;position:relative;overflow:visible}.ui3n-menu .menu-enter-active[data-v-8ba1dfb9],.ui3n-menu .menu-leave-active[data-v-8ba1dfb9]{transition:opacity var(--menu-animation-duration)}.ui3n-menu .menu-enter-from[data-v-8ba1dfb9],.ui3n-menu .menu-leave-to[data-v-8ba1dfb9]{opacity:0}.ui3n-menu__trigger[data-v-8ba1dfb9]{position:relative}.ui3n-menu__content[data-v-8ba1dfb9]{position:absolute;border-radius:4px;background-color:var(--system-white, #fff);box-shadow:0 3px 3px -2px var(--shadow-key-umbra-opacity),0 3px 4px 0 var(--shadow-key-penumbra-opacity),0 1px 8px 0 var(--shadow-key-ambient-opacity)}.ui3n-list[data-v-8ccc687f]{--ui3n-list-item-height: 28px;--ui3n-list-bg-color: var(--system-white, #fff);position:relative;width:100%;height:100%;background-color:var(--ui3n-list-bg-color);display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch}.ui3n-list__title[data-v-8ccc687f]{position:relative;top:0;z-index:1}.ui3n-list__title--sticky[data-v-8ccc687f]{position:sticky}.ui3n-list__content[data-v-8ccc687f]{position:relative;flex-grow:1}.ui3n-list__title-content[data-v-8ccc687f],.ui3n-list__item[data-v-8ccc687f]{position:relative;width:100%;min-height:var(--ui3n-list-item-height);padding:4px 0;display:flex;justify-content:flex-start;align-items:center}.ui3n-list__title-content[data-v-8ccc687f]{z-index:1;font-size:16px;font-weight:600;background-color:var(--ui3n-list-bg-color)}.ui3n-list__item-content[data-v-8ccc687f]{font-size:14px;font-weight:400;cursor:pointer}.ui3n-list__item-content--disabled[data-v-8ccc687f]{pointer-events:none;cursor:default}
|
|
1
|
+
.ui3n-button[data-v-5f7c3964]{--ui3n-button-text-size: 12px;--ui3n-button-text-height: 16px;--ui3n-button-text-color: var(--system-white, #fff);--ui3n-button-background: var(--blue-main, #0090ec);--ui3n-button-padding-vert: 8px;--ui3n-button-padding-horiz: 16px;display:flex;align-items:center;border:none;outline:none;padding:var(--ui3n-button-padding-vert) var(--ui3n-button-padding-horiz);border-radius:4px;background:var(--ui3n-button-background);font-size:var(--ui3n-button-text-size);line-height:var(--ui3n-button-text-height);font-weight:600;color:var(--ui3n-button-text-color);background-position:center;transition:background .5s ease-in-out}.ui3n-button--round[data-v-5f7c3964]{--ui3n-button-padding-vert: 4px;--ui3n-button-padding-horiz: 4px;border-radius:50%}.ui3n-button--elevation[data-v-5f7c3964]{box-shadow:0 2px 1px -1px var(--shadow-key-umbra-opacity),0 1px 1px 0 var(--shadow-key-penumbra-opacity),0 1px 3px 0 var(--shadow-key-ambient-opacity)}.ui3n-button[data-v-5f7c3964]:not([disabled]){cursor:pointer}.ui3n-button[data-v-5f7c3964]:not([disabled]):hover{background:var(--ui3n-button-background) radial-gradient(circle,transparent 1%,var(--ui3n-button-background) 1%) center/15000%}.ui3n-button:not([disabled]):hover .ui3n-button__icon[data-v-5f7c3964],.ui3n-button:not([disabled]):hover .ui3n-button__text[data-v-5f7c3964]{opacity:1}.ui3n-button[data-v-5f7c3964]:not([disabled]):active{opacity:1;background-color:var(--black-30, #b3b3b3);background-size:100%;transition:background 0s}.ui3n-button__icon[data-v-5f7c3964]{opacity:.85;transition:opacity .2s ease-in-out}.ui3n-button__text[data-v-5f7c3964]{display:block;opacity:.85;transition:opacity .2s ease-in-out}.ui3n-button__text--margin[data-v-5f7c3964]{margin-left:4px}.ui3n-button[disabled][data-v-5f7c3964]{opacity:.7}.ui3n-notification[data-v-436fa887]{display:flex;position:relative;z-index:5000;border-radius:var(--half-size, 4px);padding:var(--base-size, 8px);max-width:400px;margin-bottom:var(--base-size)}.ui3n-notification--with-icon[data-v-436fa887]{display:flex;justify-content:flex-start;align-items:center}.ui3n-notification--with-icon .ui3n-notification__content[data-v-436fa887]{padding-left:var(--base-size, 8px)}.ui3n-notification__content[data-v-436fa887]{position:relative;flex-grow:2;font-size:var(--font-13, 13px);font-weight:400;line-height:1.5;color:var(--system-white, #fff)}.ui3n-notification__close[data-v-436fa887]{position:absolute;z-index:1;top:0;right:0}.ui3n-notification--success[data-v-436fa887]{background-color:#10c48f}.ui3n-notification--warning[data-v-436fa887]{background-color:#f80}.ui3n-notification--info[data-v-436fa887]{background-color:#10afef}.ui3n-notification--error[data-v-436fa887]{background-color:#ef5350}.ui3n-notification--left[data-v-436fa887]{margin-left:0;margin-right:auto}.ui3n-notification--center[data-v-436fa887]{margin-left:auto;margin-right:auto}.ui3n-notification--right[data-v-436fa887]{margin-left:auto;margin-right:0}.ui3n-dialog__overlay{position:fixed;z-index:1000;top:0;right:0;bottom:0;left:0;display:flex;justify-content:center;align-items:center;background-color:#0006}.ui3n-dialog{--dialog-border-radius: 8px;--dialog-title-padding: 16px 24px 16px;--dialog-title-font-size: 14px;--dialog-actions-padding: 16px;--dialog-confirm-button-color: var(--system-white, #fff);--dialog-cancel-button-color: var(--blue-main, #0090ec);--dialog-confirm-background-color: var(--blue-main, #0090ec);--dialog-cancel-background-color: var(--system-white, #fff);position:relative;display:flex;flex-direction:column;height:auto;max-height:95%;background-color:var(--system-white, #fff);border-radius:var(--dialog-border-radius);box-shadow:0 2px 1px -1px var(--shadow-key-umbra-opacity),0 1px 1px 0 var(--shadow-key-penumbra-opacity),0 1px 3px 0 var(--shadow-key-ambient-opacity)}.ui3n-dialog__title{padding:var(--dialog-title-padding);font-size:var(--dialog-title-font-size);font-weight:600;line-height:1.3;color:var(--black-90, #212121);border-bottom:1px solid var(--grey-50, #f2f2f2);max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ui3n-dialog__close{position:absolute;right:4px;top:4px}.ui3n-dialog__content{flex-grow:2;overflow-y:auto}.ui3n-dialog__actions{padding:var(--dialog-actions-padding);display:flex;justify-content:flex-end;align-items:center}.ui3n-dialog__actions--both .ui3n-button{margin-left:8px}.ui3n-drop-files[data-v-3411ed77]{position:relative;width:100%;height:100%}.ui3n-drop-files__dropzone[data-v-3411ed77]{position:absolute;background-color:var(--system-white, #fff);display:flex;flex-direction:column;justify-content:center;align-items:center;inset:var(--half-size, 4px) var(--base-size, 8px);border-radius:var(--base-size, 8px);z-index:5}.ui3n-drop-files__dropzone-border[data-v-3411ed77]{position:absolute;width:calc(100% - var(--base-size, 8px) * 2);height:calc(100% - var(--base-size, 8px) * 2);top:var(--base-size, 8px);left:var(--base-size, 8px);border-radius:var(--base-size, 8px);border:2px dashed var(--gray-50, #f2f2f2);pointer-events:none}.ui3n-drop-files__dropzone-title[data-v-3411ed77]{margin:0 0 24px;font-size:var(--font-24, 24px);font-weight:600;color:var(--black-30, #b3b3b3);pointer-events:none}.ui3n-drop-files__dropzone-icon[data-v-3411ed77]{position:relative;width:160px;height:160px;border-radius:50%;background-color:var(--gray-50, #f2f2f2);display:flex;justify-content:center;align-items:center;pointer-events:none}.ui3n-drop-files__dropzone-text[data-v-3411ed77]{margin-top:calc(var(--base-size, 8px) * 3);font-size:var(--font-12, 12px);line-height:var(--font-16, 16px);font-weight:400;color:var(--black-30, #b3b3b3)}.ui3n-drop-files__dropzone-additional[data-v-3411ed77]{margin-top:var(--half-size, 4px);font-size:var(--font-12, 12px);font-weight:500;color:var(--black-90, #212121)}.ui3n-emoji[data-v-cf691041]{--emoji-size: 16px;display:flex;width:var(--emoji-size);height:var(--emoji-size);justify-content:center;align-items:center;cursor:pointer}.ui3n-emoji--readonly[data-v-cf691041]{cursor:default}.ui3n-input[data-v-41c114f0]{--ui3n-input-height: calc(var(--base-size, 8px) * 4);--ui3n-input-padding-left: var(--base-size, 8px);--ui3n-input-padding-right: var(--base-size, 8px);position:relative;width:100%}.ui3n-input__label[data-v-41c114f0]{display:block;width:100%;font-size:var(--font-12, 12px);font-weight:600;color:var(--black-90, #212121);margin-bottom:calc(var(--base-size, 8px) / 2)}.ui3n-input__input[data-v-41c114f0]{display:block;box-sizing:border-box;width:100%;position:relative;border:none;outline:none;height:var(--ui3n-input-height);padding:0 var(--ui3n-input-padding-right) 0 var(--ui3n-input-padding-left);border-radius:var(--half-size, 4px);background-color:var(--gray-50, #f2f2f2);font-size:var(--font-13, 13px);font-weight:400;line-height:1;color:var(--black-90, #212121)}.ui3n-input__input[data-v-41c114f0]::placeholder{color:var(--black-30, #b3b3b3);font-style:italic;font-size:var(--font-13, 13px);font-weight:400}.ui3n-input__input[data-v-41c114f0]:focus-within{background-color:var(--blue-main-20, #d8edfd)}.ui3n-input__icon[data-v-41c114f0]{position:absolute;left:var(--half-size, 4px);top:var(--base-size, 8px)}.ui3n-input__clear-btn[data-v-41c114f0]{position:absolute;right:0;top:var(--half-size, 4px)}.ui3n-input__error-text[data-v-41c114f0]{font-style:italic;font-size:var(--font-10, 10px);font-weight:400;line-height:1.5;color:var(--pear-100, #f75d53)}.ui3n-input--clearable[data-v-41c114f0]{--ui3n-input-padding-right: calc(var(--base-size, 8px) * 3)}.ui3n-input--with-icon[data-v-41c114f0]{--ui3n-input-padding-left: calc(var(--base-size, 8px) * 3)}.ui3n-input--error[data-v-41c114f0]{--ui3n-input-padding-left: calc(var(--base-size, 8px) - 1px);--ui3n-input-padding-right: calc(var(--base-size, 8px) - 1px)}.ui3n-input--error .ui3n-input__input[data-v-41c114f0]{border:1px solid var(--pear-100, #f75d53)}.ui3n-input--error.ui3n-input--clearable[data-v-41c114f0]{--ui3n-input-padding-right: calc(var(--base-size, 8px) * 2 - 1px)}.ui3n-input--error.ui3n-input--with-icon[data-v-41c114f0]{--ui3n-input-padding-left: calc(var(--base-size, 8px) * 2 - 1px)}.ui3n-input--disabled[data-v-41c114f0]{pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.5}.ui3n-input--with-label .ui3n-input__icon[data-v-41c114f0]{top:calc(var(--base-size) * 3.5 + 1px)}.ui3n-input--with-label .ui3n-input__clear-btn[data-v-41c114f0]{top:calc(var(--base-size) * 3 + 1px)}.ui3n-text[data-v-33487f04]{position:relative;width:100%}.ui3n-text__label[data-v-33487f04]{display:block;width:100%;font-size:var(--font-12, 12px);font-weight:600;color:var(--black-90, #212121);margin-bottom:calc(var(--base-size, 8px) / 2)}.ui3n-text__body[data-v-33487f04]{position:relative;width:100%;padding:var(--base-size, 8px) 0;background-color:var(--gray-50, #f2f2f2);border-radius:4px}.ui3n-text__content[data-v-33487f04]{resize:none;display:block;box-sizing:border-box;position:relative;width:100%;border-radius:4px;background-color:var(--gray-50, #f2f2f2);padding:0 var(--base-size, 8px);font-family:OpenSans,sans-serif;font-size:var(--font-13, 13px);font-weight:400;line-height:var(--font-16, 16px);color:var(--black-90, #212121);border:none}.ui3n-text__content[data-v-33487f04]::placeholder{font-size:var(--font-13, 13px);font-weight:300;font-style:italic;color:var(--gray-90, #212121)}.ui3n-text--disabled[data-v-33487f04]{pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.5}.ui3n-text--focused .ui3n-text__body[data-v-33487f04],.ui3n-text--focused .ui3n-text__content[data-v-33487f04]{background-color:var(--blue-main-20, #d8edfd);outline:none;border:none}.ui3n-table[data-v-5a78ec1c]{--table-header-height: 36px;--table-row-height: 28px;position:relative;width:100%;height:100%;overflow-x:hidden;overflow-y:auto}.ui3n-table__header[data-v-5a78ec1c]{position:sticky;top:0;display:flex;width:100%;height:var(--table-header-height);justify-content:flex-start;align-items:center;padding:0 calc(var(--base-size) * 2);background-color:var(--gray-50)}.ui3n-table__header-cell[data-v-5a78ec1c]{display:flex;justify-content:flex-start;align-items:center;font-size:var(--font-13);line-height:var(--font-18);font-weight:500;color:var(--black-90)}.ui3n-table__header-cell--sortable[data-v-5a78ec1c]{cursor:pointer}.ui3n-table__header-text[data-v-5a78ec1c]{display:block;position:relative;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ui3n-table__item[data-v-5a78ec1c]{display:flex;width:100%;height:var(--table-row-height);justify-content:flex-start;align-items:center;padding:0 calc(var(--base-size) * 2) 0 calc(var(--base-size) * 5);cursor:pointer;border-bottom:1px solid var(--gray-50)}.ui3n-table__item-bookmark[data-v-5a78ec1c],.ui3n-table__item-rename[data-v-5a78ec1c]{display:none;position:absolute;z-index:1;color:var(--black-30)}.ui3n-table__item-bookmark[data-v-5a78ec1c]{left:2px}.ui3n-table__item-rename[data-v-5a78ec1c]{right:calc(var(--base-size) * 13 + 24px)}.ui3n-table__item-icon[data-v-5a78ec1c]{position:absolute;left:calc(var(--base-size) * 2);color:var(--black-30);pointer-events:none}.ui3n-table__item-cell[data-v-5a78ec1c]{position:relative;font-weight:400;pointer-events:none}.ui3n-table__item[data-v-5a78ec1c]:hover{background-color:var(--blue-main-30)}.ui3n-table__item:hover .ui3n-table__item-bookmark[data-v-5a78ec1c],.ui3n-table__item:hover .ui3n-table__item-rename[data-v-5a78ec1c]{display:block}.ui3n-table__item:hover .ui3n-table__item-icon[data-v-5a78ec1c]{color:var(--blue-main)}.ui3n-table__name[data-v-5a78ec1c]{flex:1 0}.ui3n-table__name.ui3n-table__item-cell[data-v-5a78ec1c]{font-size:var(--font-12)}.ui3n-table__type[data-v-5a78ec1c]{width:calc(var(--base-size) * 7);text-align:center}.ui3n-table__type.ui3n-table__item-cell[data-v-5a78ec1c]{font-size:var(--font-10)}.ui3n-table__changedAt[data-v-5a78ec1c]{width:calc(var(--base-size) * 13)}.ui3n-table__changedAt.ui3n-table__item-cell[data-v-5a78ec1c]{font-size:var(--font-11)}.ui3n-table__empty[data-v-5a78ec1c]{font-size:var(--font-20);font-style:italic;color:var(--black-30);text-align:center;padding-top:calc(var(--base-size) * 10)}.ui3n-menu[data-v-8ba1dfb9]{--menu-animation-duration: .4s;position:relative;overflow:visible}.ui3n-menu .menu-enter-active[data-v-8ba1dfb9],.ui3n-menu .menu-leave-active[data-v-8ba1dfb9]{transition:opacity var(--menu-animation-duration)}.ui3n-menu .menu-enter-from[data-v-8ba1dfb9],.ui3n-menu .menu-leave-to[data-v-8ba1dfb9]{opacity:0}.ui3n-menu__trigger[data-v-8ba1dfb9]{position:relative}.ui3n-menu__content[data-v-8ba1dfb9]{position:absolute;border-radius:4px;background-color:var(--system-white, #fff);box-shadow:0 3px 3px -2px var(--shadow-key-umbra-opacity),0 3px 4px 0 var(--shadow-key-penumbra-opacity),0 1px 8px 0 var(--shadow-key-ambient-opacity)}.ui3n-list[data-v-8ccc687f]{--ui3n-list-item-height: 28px;--ui3n-list-bg-color: var(--system-white, #fff);position:relative;width:100%;height:100%;background-color:var(--ui3n-list-bg-color);display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch}.ui3n-list__title[data-v-8ccc687f]{position:relative;top:0;z-index:1}.ui3n-list__title--sticky[data-v-8ccc687f]{position:sticky}.ui3n-list__content[data-v-8ccc687f]{position:relative;flex-grow:1}.ui3n-list__title-content[data-v-8ccc687f],.ui3n-list__item[data-v-8ccc687f]{position:relative;width:100%;min-height:var(--ui3n-list-item-height);padding:4px 0;display:flex;justify-content:flex-start;align-items:center}.ui3n-list__title-content[data-v-8ccc687f]{z-index:1;font-size:16px;font-weight:600;background-color:var(--ui3n-list-bg-color)}.ui3n-list__item-content[data-v-8ccc687f]{font-size:14px;font-weight:400;cursor:pointer}.ui3n-list__item-content--disabled[data-v-8ccc687f]{pointer-events:none;cursor:default}.ui3n-virtual-scroll[data-v-6a998153]{position:relative;width:100%;height:100%;overflow-y:auto}.ui3n-virtual-scroll__viewport[data-v-6a998153]{position:relative;overflow:hidden;will-change:transform}.ui3n-virtual-scroll__content[data-v-6a998153]{will-change:transform}.ui3n-virtual-scroll__item[data-v-6a998153]{position:relative;min-height:16px}
|