clickgo 3.12.1 → 3.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +1 -1
- package/dist/app/demo/form/control/check/check.xml +1 -0
- package/dist/app/demo/form/control/drawer/drawer.js +1 -0
- package/dist/app/demo/form/control/drawer/drawer.xml +2 -1
- package/dist/app/demo/form/control/group/group.xml +17 -17
- package/dist/app/demo/form/control/marquee/marquee.xml +4 -4
- package/dist/app/demo/form/control/select/select.xml +1 -1
- package/dist/app/demo/form/control/table/table.js +7 -2
- package/dist/app/demo/form/control/table/table.xml +32 -3
- package/dist/app/demo/form/control/text/text.js +1 -1
- package/dist/app/demo/form/control/text/text.xml +6 -0
- package/dist/app/demo/form/control/weditor/weditor.xml +1 -1
- package/dist/clickgo.js +1 -1
- package/dist/clickgo.ts +1 -1
- package/dist/control/arteditor.cgc +0 -0
- package/dist/control/box.cgc +0 -0
- package/dist/control/common.cgc +0 -0
- package/dist/control/desc.cgc +0 -0
- package/dist/control/drawer.cgc +0 -0
- package/dist/control/echarts.cgc +0 -0
- package/dist/control/form.cgc +0 -0
- package/dist/control/iconview.cgc +0 -0
- package/dist/control/map.cgc +0 -0
- package/dist/control/monaco.cgc +0 -0
- package/dist/control/nav.cgc +0 -0
- package/dist/control/page.cgc +0 -0
- package/dist/control/property.cgc +0 -0
- package/dist/control/table.cgc +0 -0
- package/dist/control/task.cgc +0 -0
- package/dist/control/tuieditor.cgc +0 -0
- package/dist/control/tuiviewer.cgc +0 -0
- package/dist/control/weditor.cgc +0 -0
- package/dist/control/xterm.cgc +0 -0
- package/dist/global.css +1 -1
- package/dist/lib/control.js +31 -1
- package/dist/lib/control.ts +36 -2
- package/dist/lib/core.ts +1 -1
- package/dist/lib/dom.ts +1 -1
- package/dist/lib/form.ts +1 -1
- package/dist/lib/native.ts +1 -1
- package/dist/lib/storage.ts +1 -1
- package/dist/lib/task.js +6 -0
- package/dist/lib/task.ts +13 -1
- package/dist/lib/theme.ts +1 -1
- package/dist/lib/tool.js +8 -2
- package/dist/lib/tool.ts +10 -2
- package/dist/theme/byterun.cgt +0 -0
- package/dist/theme/familiar.cgt +0 -0
- package/dist/theme/light.cgt +0 -0
- package/package.json +6 -6
- package/types/index.d.ts +16 -0
package/LICENSE
CHANGED
|
@@ -186,7 +186,7 @@
|
|
|
186
186
|
same "printed page" as the copyright notice for easier
|
|
187
187
|
identification within third-party archives.
|
|
188
188
|
|
|
189
|
-
Copyright
|
|
189
|
+
Copyright 2024 MAIYUN.NET
|
|
190
190
|
|
|
191
191
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
192
192
|
you may not use this file except in compliance with the License.
|
package/README.md
CHANGED
|
@@ -25,7 +25,7 @@ Load the module loader first, and then load it using the module loader.
|
|
|
25
25
|
**index.html**
|
|
26
26
|
|
|
27
27
|
```html
|
|
28
|
-
<script src="https://cdn.jsdelivr.net/npm/@litert/loader@3.5.
|
|
28
|
+
<script src="https://cdn.jsdelivr.net/npm/@litert/loader@3.5.7/dist/loader.min.js?path=index&npm={'clickgo':'3.13.0'}"></script>
|
|
29
29
|
```
|
|
30
30
|
|
|
31
31
|
**index.js**
|
|
@@ -12,5 +12,6 @@
|
|
|
12
12
|
</layout>
|
|
13
13
|
<button @click="indeterminate1=true;indeterminate2=true;indeterminate3=true;indeterminate4=true">Set indeterminate</button>
|
|
14
14
|
<button @click="disabled = !disabled">{{disabled ? 'Remove' : 'Set'}} disabled</button>
|
|
15
|
+
<button @click="checked2 = true">Set checked2 = true</button>
|
|
15
16
|
</layout>
|
|
16
17
|
</form>
|
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
<layout direction="v" gutter="10">
|
|
3
3
|
<label>drawer: {{drawer ? 'true' : 'false'}}</label>
|
|
4
4
|
<button @click="drawer = true">Open</button>
|
|
5
|
+
<button @click="tclose = !tclose">{{tclose ? '' : '!'}}close</button>
|
|
5
6
|
</layout>
|
|
6
|
-
<drawer title="Drawer" gutter="10" v-model="drawer" direction="v" width="50%">
|
|
7
|
+
<drawer title="Drawer" gutter="10" v-model="drawer" direction="v" width="50%" :close="tclose">
|
|
7
8
|
<label>123</label>
|
|
8
9
|
<button @click="drawer2 = true">456</button>
|
|
9
10
|
<tuieditor style="height: 200px;"></tuieditor>
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
<form title="Group" width="450" height="550"
|
|
2
|
-
<layout gutter="10" direction="v" style="flex: 1; width: 0;">
|
|
3
|
-
<
|
|
4
|
-
<
|
|
5
|
-
<
|
|
6
|
-
<
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
<form title="Group" width="450" height="550">
|
|
2
|
+
<layout gutter="10" direction="v" style="flex: 1; width: 0; padding: 10px;">
|
|
3
|
+
<group :title="title" style="flex: 1; height: 0;">
|
|
4
|
+
<template v-if="slotTitle" v-slot:title>
|
|
5
|
+
<layout align-v="center" style="flex: 1;">
|
|
6
|
+
<label style="flex: 1;">slot title</label>
|
|
7
|
+
<button>test</button>
|
|
8
|
+
</layout>
|
|
9
|
+
</template>
|
|
10
|
+
<flow direction="v" gutter="10" style="flex: 1;">
|
|
11
11
|
<label>123</label>
|
|
12
12
|
<button>abc</button>
|
|
13
13
|
<title>Small title</title>
|
|
@@ -20,13 +20,13 @@
|
|
|
20
20
|
<label>123</label>
|
|
21
21
|
<title type="danger">Danger title</title>
|
|
22
22
|
<label>123</label>
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
</
|
|
27
|
-
</
|
|
28
|
-
</
|
|
29
|
-
</
|
|
23
|
+
</flow>
|
|
24
|
+
<template v-if="slotFooter" v-slot:footer>
|
|
25
|
+
<layout align-h="end" style="flex: 1;">
|
|
26
|
+
<button>OK</button>
|
|
27
|
+
</layout>
|
|
28
|
+
</template>
|
|
29
|
+
</group>
|
|
30
30
|
<layout gutter="10">
|
|
31
31
|
<button style="flex: 1;" @click="title = title === 'The title' ? 'Changed title' : 'The title'">Change title</button>
|
|
32
32
|
<button style="flex: 1;" @click="title = ''">Set empty</button>
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
<form title="Marquee" width="
|
|
1
|
+
<form title="Marquee" width="350" height="300" padding="10">
|
|
2
2
|
<layout gutter="10" direction="v" style="flex: 1; width: 0;">
|
|
3
3
|
<!-- 左右分 -->
|
|
4
4
|
<layout gutter="10" style="flex: 1; height: 0;">
|
|
5
5
|
<layout direction="v" style="flex: 1; width: 0;">
|
|
6
|
-
<marquee direction="top"
|
|
6
|
+
<marquee direction="top" style="border: 1px solid rgba(0, 0, 0, .1); background: #FFF;" :style="{'padding': style ? '10px' : undefined, 'line-height': style ? '1.5' : undefined}">
|
|
7
7
|
<block v-for="(line, index) of lineCount">
|
|
8
8
|
<button v-if="index > 0 && index % 10 === 0" style="height: 30px;">test</button>
|
|
9
9
|
<block v-else>Line {{line}}, index: {{index}}.</block>
|
|
@@ -11,10 +11,10 @@
|
|
|
11
11
|
</marquee>
|
|
12
12
|
</layout>
|
|
13
13
|
<layout direction="v" gutter="10" style="flex: 1; width: 0;">
|
|
14
|
-
<marquee direction="left"
|
|
14
|
+
<marquee direction="left" style="background: #000; color: #FFF;" :style="{'padding': style ? '10px' : undefined, 'line-height': style ? '1.5' : undefined}">
|
|
15
15
|
<block v-for="(line, index) of lineCount">Line {{line}}, index: {{index}}.</block>
|
|
16
16
|
</marquee>
|
|
17
|
-
<marquee :direction="direction"
|
|
17
|
+
<marquee :direction="direction" style="flex: 1; height: 0; border: 1px solid rgba(0, 0, 0, .1); background: #FFF;" :style="{'padding': style ? '10px' : undefined, 'line-height': style ? '1.5' : undefined}">
|
|
18
18
|
<block v-for="(line, index) of lineCount">
|
|
19
19
|
<button v-if="index > 0 && index % 10 === 0" style="height: 30px;">test</button>
|
|
20
20
|
<block v-else>Line {{line}}, index: {{index}}.</block>
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
<select :data="['1','2','3','4','5']" :disabled="disabled" :editable="editable" :multi="multi" :plain="plain" :tree="tree" :async="async" :search="search" :remote="remote" :remote-delay="remoteDelay[0]" :icon="icon" icon-default="../../../res/txt.svg" style="height: 60px;" @load="onLoad" @remote="onRemote" :style="{'font-size': fontSize ? '16px' : undefined, 'padding': padding ? '15px' : undefined, 'background': background ? 'red' : undefined, 'color': background ? '#FFF' : undefined}"></select>
|
|
52
52
|
<label>Always editable: {{aemodel}}</label>
|
|
53
53
|
<layout gutter="10">
|
|
54
|
-
<select v-model="aemodel" :data="editableData ? ['1','2','3',{'label':'is gDa','value':'gDa'},'5'] : ['6','7','8','9','10']" :disabled="disabled" editable editablelabel :multi="multi" :plain="plain" :tree="tree" :async="async" :search="search" :remote="remote" :remote-delay="remoteDelay[0]" :icon="icon" icon-default="../../../res/txt.svg" placeholder="Please enter" @load="onLoad" @remote="onRemote" style="flex: 1;" :style="{'font-size': fontSize ? '16px' : undefined, 'padding': padding ? '15px' : undefined, 'background': background ? 'red' : undefined, 'color': background ? '#FFF' : undefined}"></select>
|
|
54
|
+
<select v-model="aemodel" :data="editableData ? ['1','2','3',{'label':'is gDa','value':'gDa'},'5'] : ['6','7','8','9','10',{'label':'But gDa','value':'gDa'}]" :disabled="disabled" editable editablelabel :multi="multi" :plain="plain" :tree="tree" :async="async" :search="search" :remote="remote" :remote-delay="remoteDelay[0]" :icon="icon" icon-default="../../../res/txt.svg" placeholder="Please enter" @load="onLoad" @remote="onRemote" style="flex: 1;" :style="{'font-size': fontSize ? '16px' : undefined, 'padding': padding ? '15px' : undefined, 'background': background ? 'red' : undefined, 'color': background ? '#FFF' : undefined}"></select>
|
|
55
55
|
<button @click="aemodel.length=0">clear</button>
|
|
56
56
|
<button @click="aemodel[0] = '4'">4</button>
|
|
57
57
|
<button @click="aemodel[0] = '22'">22</button>
|
|
@@ -44,6 +44,7 @@ class default_1 extends clickgo.form.AbstractForm {
|
|
|
44
44
|
this.must = true;
|
|
45
45
|
this.multi = false;
|
|
46
46
|
this.ctrl = true;
|
|
47
|
+
this.bottom = false;
|
|
47
48
|
this.selection = false;
|
|
48
49
|
this.gesture = false;
|
|
49
50
|
this.selectionArea = {};
|
|
@@ -53,6 +54,7 @@ class default_1 extends clickgo.form.AbstractForm {
|
|
|
53
54
|
this.split = false;
|
|
54
55
|
this.virtual = false;
|
|
55
56
|
this.slot = false;
|
|
57
|
+
this.fixed = ['undefined'];
|
|
56
58
|
this.checkinfo = {
|
|
57
59
|
'total': 0,
|
|
58
60
|
'selected': 0
|
|
@@ -187,12 +189,14 @@ class default_1 extends clickgo.form.AbstractForm {
|
|
|
187
189
|
{
|
|
188
190
|
'check': false,
|
|
189
191
|
'type': 0,
|
|
190
|
-
'name': 'Appraise'
|
|
192
|
+
'name': 'Appraise',
|
|
193
|
+
'bottom': false
|
|
191
194
|
},
|
|
192
195
|
{
|
|
193
196
|
'check': false,
|
|
194
197
|
'type': 0,
|
|
195
198
|
'name': 'Card',
|
|
199
|
+
'bottom': false
|
|
196
200
|
},
|
|
197
201
|
{
|
|
198
202
|
'check': false,
|
|
@@ -205,7 +209,8 @@ class default_1 extends clickgo.form.AbstractForm {
|
|
|
205
209
|
},
|
|
206
210
|
{
|
|
207
211
|
'check': false,
|
|
208
|
-
'type': 1
|
|
212
|
+
'type': 1,
|
|
213
|
+
'bottom': true
|
|
209
214
|
}
|
|
210
215
|
];
|
|
211
216
|
this.loadFirst = true;
|
|
@@ -1,16 +1,19 @@
|
|
|
1
1
|
<form width="500" height="500" title="Table" padding="10">
|
|
2
2
|
<layout direction="v" gutter="10" style="flex: 1; width: 0;">
|
|
3
3
|
<label>Value: {{val}}</label>
|
|
4
|
-
<table :data="data" :style="{'flex': adaptation ? undefined : '1'}" v-model="val" :disabled="disabled" :must="must" :multi="multi" :ctrl="ctrl" :selection="selection" :gesture="gesture ? ['top', 'bottom'] : []" :split="split" @gesture="onGesture" :scroll="scroll" :sizes="sizes" :sort="sort" :virtual="virtual" @select="onSelect" @sort="onSort">
|
|
4
|
+
<table :data="data" :style="{'flex': adaptation ? undefined : '1'}" v-model="val" :disabled="disabled" :must="must" :multi="multi" :ctrl="ctrl" :selection="selection" :gesture="gesture ? ['top', 'bottom'] : []" :split="split" @gesture="onGesture" :scroll="scroll" :sizes="sizes" :sort="sort" :virtual="virtual" :fixed="fixed[0]==='undefined'?undefined:fixed[0]" @select="onSelect" @sort="onSort">
|
|
5
5
|
<template v-slot="d">
|
|
6
6
|
<table-item v-if="index" width="100" sort="false" align-h="center" align-v="center">
|
|
7
7
|
<check v-model="d.row.check" @changed="refreshCheckinfo">{{d.index}}</check>
|
|
8
8
|
</table-item>
|
|
9
9
|
<table-item label="name">{{d.row.name ?? 'name'}}</table-item>
|
|
10
10
|
<table-item label="size" width="80" align-v="center" align-h="center">{{d.row.type ?? '0'}}</table-item>
|
|
11
|
-
<table-item label="col" width="
|
|
11
|
+
<table-item label="col" width="120" direction="v" gutter="5" sort="false">
|
|
12
12
|
<label>line1</label>
|
|
13
|
-
<
|
|
13
|
+
<layout gutter="5">
|
|
14
|
+
<button>line2</button>
|
|
15
|
+
<button v-if="bottom" @click="d.row.bottom = d.row.bottom ? false : true">{{d.row.bottom ? 'close' : 'open'}}</button>
|
|
16
|
+
</layout>
|
|
14
17
|
</table-item>
|
|
15
18
|
</template>
|
|
16
19
|
<template v-slot:pop>
|
|
@@ -23,6 +26,27 @@
|
|
|
23
26
|
<check :modelValue="checkinfo.selected > 0" @change="onHeaderCheck" :indeterminate="checkinfo.selected > 0 && checkinfo.selected < checkinfo.total">index</check>
|
|
24
27
|
</layout>
|
|
25
28
|
</template>
|
|
29
|
+
<!-- bottom -->
|
|
30
|
+
<template v-if="bottom" v-slot:bottom="d">
|
|
31
|
+
<desc v-if="d.row.bottom" style="flex: 1; margin: var(--g-padding); margin-top: 0;">
|
|
32
|
+
<desc-row>
|
|
33
|
+
<desc-head>HEAD1</desc-head>
|
|
34
|
+
<desc-head>HEAD2</desc-head>
|
|
35
|
+
<desc-head>HEAD3</desc-head>
|
|
36
|
+
<desc-head>HEAD4</desc-head>
|
|
37
|
+
</desc-row>
|
|
38
|
+
<desc-row>
|
|
39
|
+
<desc-head>HEAD5</desc-head>
|
|
40
|
+
<desc-cell>CELL1</desc-cell>
|
|
41
|
+
<desc-head>HEAD6</desc-head>
|
|
42
|
+
<desc-cell>CELL2</desc-cell>
|
|
43
|
+
</desc-row>
|
|
44
|
+
<desc-row>
|
|
45
|
+
<desc-head>HEAD7</desc-head>
|
|
46
|
+
<desc-cell colspan="3">CELL1</desc-cell>
|
|
47
|
+
</desc-row>
|
|
48
|
+
</desc>
|
|
49
|
+
</template>
|
|
26
50
|
</table>
|
|
27
51
|
<template v-if="loadFirst">
|
|
28
52
|
<layout gutter="10">
|
|
@@ -41,6 +65,7 @@
|
|
|
41
65
|
<button style="flex: 1;" @click="disabled = !disabled">{{disabled ? '' : '!'}}disabled</button>
|
|
42
66
|
<button style="flex: 1;" @click="multi = !multi">{{multi ? '' : '!'}}multi</button>
|
|
43
67
|
<button style="flex: 1;" @click="ctrl = !ctrl">{{ctrl ? '' : '!'}}ctrl</button>
|
|
68
|
+
<button style="flex: 1;" @click="bottom = !bottom">{{bottom ? '' : '!'}}bottom</button>
|
|
44
69
|
</layout>
|
|
45
70
|
<layout gutter="10">
|
|
46
71
|
<button style="flex: 1;" @click="must = !must">{{must ? '' : '!'}}must</button>
|
|
@@ -48,6 +73,10 @@
|
|
|
48
73
|
<button style="flex: 1;" @click="virtual = !virtual">{{virtual ? '' : '!'}}virtual</button>
|
|
49
74
|
<button style="flex: 1;" @click="slot = !slot">{{slot ? '' : '!'}}slot</button>
|
|
50
75
|
</layout>
|
|
76
|
+
<layout gutter="10" align-v="center">
|
|
77
|
+
<label>fixed</label>
|
|
78
|
+
<select v-model="fixed" :data="['undefined', 'left', 'right', 'both']" style="flex: 1;"></select>
|
|
79
|
+
</layout>
|
|
51
80
|
</template>
|
|
52
81
|
<button v-else @click="load">Load</button>
|
|
53
82
|
</layout>
|
|
@@ -39,6 +39,12 @@
|
|
|
39
39
|
<select v-model="type" :data="['text', 'password', 'multi', 'number']" style="flex: 1;"></select>
|
|
40
40
|
<button @click="maxlength = maxlength === 0 ? 10 : 0" style="flex: 1;">maxlength to {{maxlength === 0 ? 10 : 0}}</button>
|
|
41
41
|
</layout>
|
|
42
|
+
<layout gutter="10">
|
|
43
|
+
<label>max:</label>
|
|
44
|
+
<label style="flex: 1;">{{max}}</label>
|
|
45
|
+
<label>min:</label>
|
|
46
|
+
<label style="flex: 1;">{{min}}</label>
|
|
47
|
+
</layout>
|
|
42
48
|
<layout gutter="10">
|
|
43
49
|
<button @click="max = '200'; min = '10'" style="flex: 1;">max 200 min 10</button>
|
|
44
50
|
<button @click="max = '20'" style="flex: 1;">max 20</button>
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<weditor v-model="html" @text="text = $event" :disabled="disabled" :readonly="readonly" :theme="theme[0]" :visual="visual" @imgselect="imgselect" @videoselect="videoselect" style="flex: 2;" :style="{'font-size': size[0], 'font-family': family ? 'Consolas, \'Courier New\', monospace' : undefined}"></weditor>
|
|
6
6
|
<layout gutter="10" direction="v" style="flex: 1;">
|
|
7
7
|
<text style="flex: 1;" v-model="text" readonly type="multi"></text>
|
|
8
|
-
<text style="flex: 1;" v-model="html" type="multi"></text>
|
|
8
|
+
<text style="flex: 1;" v-model="html" type="multi" readonly></text>
|
|
9
9
|
</layout>
|
|
10
10
|
</layout>
|
|
11
11
|
<layout gutter="10">
|
package/dist/clickgo.js
CHANGED
|
@@ -24,7 +24,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
26
|
exports.zip = exports.tool = exports.theme = exports.task = exports.storage = exports.native = exports.fs = exports.form = exports.dom = exports.core = exports.control = exports.vue = exports.hasFrame = exports.isImmersion = exports.getPlatform = exports.isNative = exports.getVersion = void 0;
|
|
27
|
-
const version = '3.
|
|
27
|
+
const version = '3.13.0';
|
|
28
28
|
function getVersion() {
|
|
29
29
|
return version;
|
|
30
30
|
}
|
package/dist/clickgo.ts
CHANGED
|
Binary file
|
package/dist/control/box.cgc
CHANGED
|
Binary file
|
package/dist/control/common.cgc
CHANGED
|
Binary file
|
package/dist/control/desc.cgc
CHANGED
|
Binary file
|
package/dist/control/drawer.cgc
CHANGED
|
Binary file
|
package/dist/control/echarts.cgc
CHANGED
|
Binary file
|
package/dist/control/form.cgc
CHANGED
|
Binary file
|
|
Binary file
|
package/dist/control/map.cgc
CHANGED
|
Binary file
|
package/dist/control/monaco.cgc
CHANGED
|
Binary file
|
package/dist/control/nav.cgc
CHANGED
|
Binary file
|
package/dist/control/page.cgc
CHANGED
|
Binary file
|
|
Binary file
|
package/dist/control/table.cgc
CHANGED
|
Binary file
|
package/dist/control/task.cgc
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/dist/control/weditor.cgc
CHANGED
|
Binary file
|
package/dist/control/xterm.cgc
CHANGED
|
Binary file
|
package/dist/global.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
#cg-wrap{position:fixed;left:0;top:0;--g-padding:7px;--g-bpadding:18px;--g-margin:2px;--g-radius:0;--g-size:12px;--g-family:"Lucida Sans Unicode", "Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Noto Sans CJK SC","Noto Sans CJK","Source Han Sans","WenQuanYi Micro Hei","Microsoft YaHei",sans-serif;--g-line:1;--g-cubic:cubic-bezier(0.39, 0.575, 0.565, 1);--cg:hsl(20, 100%, 65%);--success:hsl(150, 100%, 40%);--success-hover:hsl(150, 100%, 45%);--success-active:hsl(150, 100%, 30%);--success-focus:hsl(150, 100%, 35%);--success-disabled:hsl(150, 0%, 40%);--success-bg:hsl(150, 100%, 98%);--info:hsl(210, 100%, 50%);--info-hover:hsl(210, 100%, 60%);--info-active:hsl(210, 100%, 40%);--info-focus:hsl(210, 100%, 45%);--info-disabled:hsl(210, 0%, 50%);--success-bg:hsl(210, 100%, 98%);--warning:hsl(20, 100%, 70%);--warning-hover:hsl(20, 100%, 80%);--warning-active:hsl(20, 100%, 60%);--warning-focus:hsl(20, 100%, 65%);--warning-disabled:hsl(20, 0%, 70%);--warning-bg:hsl(20, 100%, 98%);--danger:hsl(350, 100%, 50%);--danger-hover:hsl(350, 100%, 70%);--danger-active:hsl(350, 100%, 40%);--danger-focus:hsl(350, 100%, 45%);--danger-disabled:hsl(350, 0%, 50%);--danger-bg:hsl(350, 100%, 98%);--system-color:hsl(0, 0%, 95%);--system-background:hsla(0, 0%, 0%, .35);--system-control-background:hsla(0, 0%, 100%, .03);--system-background-hover:hsla(0, 0%, 100%, .06);--system-background-active:hsla(0, 0%, 100%, .1);--system-border-color:hsla(0, 0%, 100%, .03);--system-border-color-hover:hsla(0, 0%, 100%, .06);--system-placeholder-color: hsla(0, 0%, 100%, .2);--face:hsl(0, 0%, 95%);--g-color:hsl(0, 0%, 20%);--g-color-hover:hsl(0, 0%, 30%);--g-color-active:hsl(0, 0%, 10%);--g-color-focus:hsl(0, 0%, 15%);--g-color-disabled:hsl(0, 0%, 60%);--g-background:hsl(0, 0%, 95%);--g-background-hover:hsl(0, 0%, 100%);--g-background-active:hsl(0, 0%, 85%);--g-background-kp:hsl(0, 0%, 80%);--g-background-opacity:hsl(0, 0%, 50%, .2);--g-background-focus:hsl(0, 0%, 97.5%);--g-background-disabled:hsl(0, 0%, 75%);--g-border-color:hsl(0, 0%, 40%);--g-border-color-hover:hsl(0, 0%, 50%);--g-border-color-active:hsl(0, 0%, 30%);--g-border-color-focus:hsl(0, 0%, 35%);--g-border-color-disabled:hsl(0, 0%, 60%);--g-focusbox-border-color:var(--g-plain-border-color);--g-plain-color:var(--g-color);--g-plain-color-hover:var(--g-color-hover);--g-plain-color-active:var(--g-color-active);--g-plain-color-focus:var(--g-color-focus);--g-plain-color-disabled:var(--g-color-disabled);--g-plain-background:hsl(0, 0%, 100%);--g-plain-background-hover:hsl(0, 0%, 98%);--g-plain-background-active:hsl(0, 0%, 95%);--g-plain-background-focus:var(--g-plain-background);--g-plain-background-disabled:hsl(0, 0%, 95%);--g-plain-border-color:hsl(0, 0%, 70%);--g-plain-border-color-hover:hsl(0, 0%, 80%);--g-plain-border-color-active:hsl(0, 0%, 60%);--g-plain-border-color-focus:hsl(0, 0%, 65%);--g-plain-border-color-disabled:hsl(0, 0%, 60%);--g-block-background:hsl(0, 0%, 85%);--g-block-background-hover:hsl(0, 0%, 75%)}[data-cg-disabled]{cursor:not-allowed}#cg-form-list{z-index:20020000}#cg-pop-list{z-index:20020001}#cg-simpletask{z-index:20020002}#cg-rectangle{z-index:20020003;box-sizing:border-box;position:absolute;border-radius:3px;box-shadow:0 0 10px rgba(0,0,0,.25);background:rgba(255,255,255,.05);pointer-events:none;opacity:0}#cg-circular{z-index:20020003;box-sizing:border-box;position:absolute;border:solid 3px var(--cg);border-radius:50%;filter:drop-shadow(0 0 3px var(--cg));pointer-events:none;opacity:0}#cg-gesture{z-index:20020003;box-sizing:border-box;position:absolute;border-radius:50%;pointer-events:none;opacity:0;background:var(--system-background);box-shadow:0 5px 20px rgba(0,0,0,.25);transform:scale(0);width:20px;height:20px}#cg-gesture.done{background:rgba(255,255,255,.3);border:solid 3px rgba(0,0,0,.3)}#cg-gesture.ani{transition:all .3s var(--g-cubic);transition-property:left,top,transform}#cg-drag{z-index:20020003;box-sizing:border-box;position:absolute;border-radius:3px;pointer-events:none;background:rgba(255,255,255,.1);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);box-shadow:0 3px 5px rgba(0,0,0,.1);opacity:0;display:flex;justify-content:center;align-items:center;border:solid 1px #fff;transition:all .3s var(--g-cubic);transition-property:transform,border;transform:initial}#cg-launcher{z-index:20020004;box-sizing:border-box;position:fixed;background:var(--system-background);-webkit-backdrop-filter:blur(30px) saturate(1.5);backdrop-filter:blur(30px) saturate(1.5);width:100%;height:100%;left:0;top:0;color:var(--system-color);display:none;flex-direction:column;transition:all .3s var(--g-cubic);transform:scale(1.2);opacity:0}#cg-launcher:not(.cg-show){pointer-events:none}#cg-launcher.cg-show{transform:scale(1);opacity:1}.cg-launcher-search{text-align:center;padding:50px}.cg-launcher-sinput{-webkit-appearance:none;appearance:none;padding:15px;border:solid 1px rgba(0,0,0,0);background:var(--system-control-background);width:60%;border-radius:5px;color:var(--system-color);transition:all .3s var(--g-cubic)}.cg-launcher-sinput::placeholder{color:var(--system-placeholder-color)}.cg-launcher-sinput::selection{background-color:var(--system-background-hover)}.cg-launcher-sinput:focus{outline:none;border-color:var(--system-border-color-hover)}.cg-launcher-foldername{-webkit-appearance:none;appearance:none;height:50px;font-size:28px !important;border:none;background:rgba(0,0,0,0);width:50%;color:var(--system-color);text-align:center}.cg-launcher-foldername::selection{background-color:var(--system-background-hover)}.cg-launcher-foldername:focus{outline:none}.cg-launcher-item{width:190px;display:inline-flex;vertical-align:middle;margin-bottom:50px}.cg-launcher-inner{flex:1;width:0}.cg-launcher-icon{background-position:center;background-size:80px;height:80px;background-repeat:no-repeat}.cg-launcher-icon:active{filter:brightness(0.6)}.cg-launcher-name{font-size:13px;font-weight:bold;text-shadow:0 0 3px rgba(0,0,0,.6);text-align:center;margin-top:20px}.cg-launcher-icon,.cg-launcher-name{transition:all .3s var(--g-cubic);transition-property:opacity}.cg-launcher-space{width:50px}.cg-launcher-folder{display:flex;justify-content:center;height:80px}.cg-launcher-folder>div{height:80px;width:80px;background:rgba(255,255,255,.3);border-radius:20px;padding:10px 4px 4px 10px;transition:all .3s var(--g-cubic);transition-property:left,top,width,height,opacity;overflow-y:auto}.cg-launcher-folder>div::-webkit-scrollbar{display:none}.cg-launcher-folder>div .cg-launcher-item,.cg-launcher-folder>div .cg-launcher-space{transition:all .3s var(--g-cubic)}.cg-launcher-folder>div.cg-show{padding:50px 0 0 50px}.cg-launcher-folder>div:not(.cg-show):active{filter:brightness(0.6)}.cg-launcher-folder>div:not(.cg-show) .cg-launcher-item{width:22px;margin-bottom:6px}.cg-launcher-folder>div:not(.cg-show) .cg-launcher-icon{background-size:16px;height:16px;pointer-events:none}.cg-launcher-folder>div:not(.cg-show) .cg-launcher-name{display:none}.cg-launcher-folder>div:not(.cg-show) .cg-launcher-space{width:6px}.cg-launcher-list{flex:1;height:0;overflow-y:auto;padding:0 0 0 50px}.cg-launcher-list::-webkit-scrollbar{display:none}.cg-launcher-list.cg-folder-open>.cg-launcher-item>.cg-launcher-inner>.cg-launcher-icon,.cg-launcher-list.cg-folder-open>.cg-launcher-item>.cg-launcher-inner>.cg-launcher-name{opacity:0}.cg-launcher-list.cg-folder-open>.cg-launcher-item>.cg-launcher-inner>.cg-launcher-folder>div:not(.cg-show){opacity:0}[data-cg-pop]{position:absolute;box-shadow:0px 5px 20px rgba(0,0,0,.25);transition:.3s var(--g-cubic);transition-property:transform,opacity;transform:translateY(-10px);opacity:0}[data-cg-pop]:not([data-cg-open]){pointer-events:none}[data-cg-pop][data-cg-open]{transform:translateY(0px);opacity:1}#cg-notify{z-index:20020005}.cg-notify-wrap{background:var(--system-background);position:fixed;padding:15px;border-radius:5px;right:0;top:0;width:280px;font-size:14px;display:flex;transition:.3s var(--g-cubic);transition-property:transform,opacity;overflow:hidden;color:var(--system-color);box-shadow:0 5px 20px rgba(0,0,0,.25);-webkit-backdrop-filter:blur(30px) saturate(1.5);backdrop-filter:blur(30px) saturate(1.5)}.cg-notify-wrap.cg-notify-only{align-items:center}.cg-notify-wrap.cg-notify-full .cg-notify-title{padding-bottom:10px}.cg-notify-icon{margin-right:10px;width:16px;height:16px;border-radius:50%}.cg-notify-icon.cg-primary{background:var(--success)}.cg-notify-icon.cg-info{background:var(--info)}.cg-notify-icon.cg-warning{background:var(--warning)}.cg-notify-icon.cg-danger{background:var(--danger)}.cg-notify-icon.cg-progress{background:var(--cg)}.cg-notify-title{font-size:16px;font-weight:bold}.cg-notify-content{line-height:1.5;word-break:break-word}.cg-notify-progress{position:absolute;bottom:0;left:0;border-radius:1px;background:var(--cg);transition:width 1s ease-out;width:0%;height:2px}#cg-simpletask{left:0;bottom:-46px;width:100%;height:46px;top:initial;background:var(--system-background);-webkit-backdrop-filter:blur(30px) saturate(1.5);backdrop-filter:blur(30px) saturate(1.5);padding:5px 0 5px 5px;display:flex;color:var(--system-color);transition:bottom .3s var(--g-cubic);overflow-x:auto;position:fixed}#cg-simpletask::-webkit-scrollbar{display:none}.cg-simpletask-item{background:rgba(0,0,0,.05);border-radius:3px;padding:10px;display:flex;align-items:center;margin-right:5px}.cg-simpletask-item:hover{background:rgba(0,0,0,.1)}.cg-simpletask-item:active{background:rgba(0,0,0,.2)}.cg-simpletask-icon{margin-right:5px;background-size:cover;width:16px;height:16px}#cg-confirm{z-index:20020006;position:fixed;left:0;top:0;width:100%;height:100%;background:var(--system-background);-webkit-backdrop-filter:blur(150px) saturate(1.5);backdrop-filter:blur(150px) saturate(1.5);justify-content:center;align-items:center}#cg-confirm .cg-confirm-box{background:var(--system-background);width:60%;box-shadow:0 5px 20px rgba(0,0,0,.25);font-size:14px;border-radius:3px;overflow:hidden;color:var(--system-color)}#cg-confirm .cg-confirm-box #cg-confirm-content{padding:25px;line-height:1.5}#cg-confirm .cg-confirm-box .cg-confirm-controls{border-top:solid .5px var(--system-border-color);display:flex}#cg-confirm .cg-confirm-box .cg-confirm-controls>div{padding:20px;flex:1;text-align:center}#cg-confirm .cg-confirm-box .cg-confirm-controls>div:last-child{border-left:solid .5px var(--system-border-color)}#cg-confirm .cg-confirm-box .cg-confirm-controls>div:hover{background:var(--system-background-hover)}#cg-confirm .cg-confirm-box .cg-confirm-controls>div:active{background:var(--system-background-active)}
|
|
1
|
+
#cg-wrap{position:fixed;left:0;top:0;--g-padding:7px;--g-bpadding:18px;--g-margin:2px;--g-radius:0;--g-size:12px;--g-family:"Lucida Sans Unicode","Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Noto Sans CJK SC","Noto Sans CJK","Source Han Sans","WenQuanYi Micro Hei","Microsoft YaHei","sans-serif";--g-line:1;--g-cubic:cubic-bezier(0.39, 0.575, 0.565, 1);--g-transition:none;--cg:hsl(20, 100%, 65%);--success:hsl(150, 100%, 40%);--success-hover:hsl(150, 100%, 45%);--success-active:hsl(150, 100%, 30%);--success-focus:hsl(150, 100%, 35%);--success-disabled:hsl(150, 0%, 40%);--success-bg:hsl(150, 100%, 98%);--info:hsl(210, 100%, 50%);--info-hover:hsl(210, 100%, 60%);--info-active:hsl(210, 100%, 40%);--info-focus:hsl(210, 100%, 45%);--info-disabled:hsl(210, 0%, 50%);--success-bg:hsl(210, 100%, 98%);--warning:hsl(20, 100%, 70%);--warning-hover:hsl(20, 100%, 80%);--warning-active:hsl(20, 100%, 60%);--warning-focus:hsl(20, 100%, 65%);--warning-disabled:hsl(20, 0%, 70%);--warning-bg:hsl(20, 100%, 98%);--danger:hsl(350, 100%, 50%);--danger-hover:hsl(350, 100%, 70%);--danger-active:hsl(350, 100%, 40%);--danger-focus:hsl(350, 100%, 45%);--danger-disabled:hsl(350, 0%, 50%);--danger-bg:hsl(350, 100%, 98%);--system-color:hsl(0, 0%, 95%);--system-background:hsla(0, 0%, 0%, .35);--system-control-background:hsla(0, 0%, 100%, .03);--system-background-hover:hsla(0, 0%, 100%, .06);--system-background-active:hsla(0, 0%, 100%, .1);--system-border-color:hsla(0, 0%, 100%, .03);--system-border-color-hover:hsla(0, 0%, 100%, .06);--system-placeholder-color: hsla(0, 0%, 100%, .2);--face:hsl(0, 0%, 95%);--face-child:hsl(0, 0%, 90%);--face-hover:hsl(0, 0%, 88%);--face-selected:hsl(0, 0%, 85%);--g-pop-background:#FFF;--g-pop-backdrop:none;--g-pop-border:solid .5px var(--g-border-color);--g-shadow:none;--g-outline-shadow:none;--g-color:hsl(0, 0%, 20%);--g-color-hover:hsl(0, 0%, 30%);--g-color-active:hsl(0, 0%, 10%);--g-color-focus:hsl(0, 0%, 15%);--g-color-disabled:hsl(0, 0%, 60%);--g-background:hsl(0, 0%, 95%);--g-background-hover:hsl(0, 0%, 100%);--g-background-active:hsl(0, 0%, 85%);--g-background-opacity:hsl(0, 0%, 50%, .2);--g-background-focus:hsl(0, 0%, 97.5%);--g-background-disabled:hsl(0, 0%, 75%);--g-border-color:hsl(0, 0%, 40%);--g-border-color-hover:hsl(0, 0%, 50%);--g-border-color-active:hsl(0, 0%, 30%);--g-border-color-focus:hsl(0, 0%, 35%);--g-border-color-disabled:hsl(0, 0%, 60%);--g-focusbox-border-color:var(--g-plain-border-color);--g-plain-color:var(--g-color);--g-plain-color-hover:var(--g-color-hover);--g-plain-color-active:var(--g-color-active);--g-plain-color-focus:var(--g-color-focus);--g-plain-color-disabled:var(--g-color-disabled);--g-plain-background:hsl(0, 0%, 100%);--g-plain-background-hover:hsl(0, 0%, 98%);--g-plain-background-active:hsl(0, 0%, 95%);--g-plain-background-focus:var(--g-plain-background);--g-plain-background-disabled:hsl(0, 0%, 95%);--g-plain-background-selected:hsl(0, 0%, 95%);--g-plain-border-color:hsl(0, 0%, 70%);--g-plain-border-color-hover:hsl(0, 0%, 80%);--g-plain-border-color-active:hsl(0, 0%, 60%);--g-plain-border-color-focus:hsl(0, 0%, 65%);--g-plain-border-color-disabled:hsl(0, 0%, 60%);--g-block-background:hsl(0, 0%, 85%);--g-block-background-hover:hsl(0, 0%, 75%);--g-block-dark-background:hsl(0, 0%, 15%);--g-block-dark-background-hover:hsl(0, 0%, 25%)}[data-cg-disabled]{cursor:not-allowed}#cg-form-list{z-index:20020000}#cg-pop-list{z-index:20020001}#cg-simpletask{z-index:20020002}#cg-rectangle{z-index:20020003;box-sizing:border-box;position:absolute;border-radius:3px;box-shadow:0 0 10px rgba(0,0,0,.25);background:rgba(255,255,255,.05);pointer-events:none;opacity:0}#cg-circular{z-index:20020003;box-sizing:border-box;position:absolute;border:solid 3px var(--cg);border-radius:50%;filter:drop-shadow(0 0 3px var(--cg));pointer-events:none;opacity:0}#cg-gesture{z-index:20020003;box-sizing:border-box;position:absolute;border-radius:50%;pointer-events:none;opacity:0;background:var(--system-background);box-shadow:0px 15px 30px rgba(0,0,0,.07);transform:scale(0);width:20px;height:20px}#cg-gesture.done{background:rgba(255,255,255,.3);border:solid 3px rgba(0,0,0,.3)}#cg-gesture.ani{transition:all .3s var(--g-cubic);transition-property:left,top,transform}#cg-drag{z-index:20020003;box-sizing:border-box;position:absolute;border-radius:3px;pointer-events:none;background:rgba(255,255,255,.1);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);box-shadow:0 3px 5px rgba(0,0,0,.1);opacity:0;display:flex;justify-content:center;align-items:center;border:solid 1px #fff;transition:all .3s var(--g-cubic);transition-property:transform,border;transform:initial}#cg-launcher{z-index:20020004;box-sizing:border-box;position:fixed;background:var(--system-background);-webkit-backdrop-filter:blur(30px) saturate(1.5);backdrop-filter:blur(30px) saturate(1.5);width:100%;height:100%;left:0;top:0;color:var(--system-color);display:none;flex-direction:column;transition:all .3s var(--g-cubic);transform:scale(1.2);opacity:0}#cg-launcher:not(.cg-show){pointer-events:none}#cg-launcher.cg-show{transform:scale(1);opacity:1}.cg-launcher-search{text-align:center;padding:50px}.cg-launcher-sinput{-webkit-appearance:none;appearance:none;padding:15px;border:solid 1px rgba(0,0,0,0);background:var(--system-control-background);width:60%;border-radius:5px;color:var(--system-color);transition:all .3s var(--g-cubic)}.cg-launcher-sinput::placeholder{color:var(--system-placeholder-color)}.cg-launcher-sinput::selection{background-color:var(--system-background-hover)}.cg-launcher-sinput:focus{outline:none;border-color:var(--system-border-color-hover)}.cg-launcher-foldername{-webkit-appearance:none;appearance:none;height:50px;font-size:28px !important;border:none;background:rgba(0,0,0,0);width:50%;color:var(--system-color);text-align:center}.cg-launcher-foldername::selection{background-color:var(--system-background-hover)}.cg-launcher-foldername:focus{outline:none}.cg-launcher-item{width:190px;display:inline-flex;vertical-align:middle;margin-bottom:50px}.cg-launcher-inner{flex:1;width:0}.cg-launcher-icon{background-position:center;background-size:80px;height:80px;background-repeat:no-repeat}.cg-launcher-icon:active{filter:brightness(0.6)}.cg-launcher-name{font-size:13px;font-weight:bold;text-shadow:0 0 3px rgba(0,0,0,.6);text-align:center;margin-top:20px}.cg-launcher-icon,.cg-launcher-name{transition:all .3s var(--g-cubic);transition-property:opacity}.cg-launcher-space{width:50px}.cg-launcher-folder{display:flex;justify-content:center;height:80px}.cg-launcher-folder>div{height:80px;width:80px;background:rgba(255,255,255,.3);border-radius:20px;padding:10px 4px 4px 10px;transition:all .3s var(--g-cubic);transition-property:left,top,width,height,opacity;overflow-y:auto}.cg-launcher-folder>div::-webkit-scrollbar{display:none}.cg-launcher-folder>div .cg-launcher-item,.cg-launcher-folder>div .cg-launcher-space{transition:all .3s var(--g-cubic)}.cg-launcher-folder>div.cg-show{padding:50px 0 0 50px}.cg-launcher-folder>div:not(.cg-show):active{filter:brightness(0.6)}.cg-launcher-folder>div:not(.cg-show) .cg-launcher-item{width:22px;margin-bottom:6px}.cg-launcher-folder>div:not(.cg-show) .cg-launcher-icon{background-size:16px;height:16px;pointer-events:none}.cg-launcher-folder>div:not(.cg-show) .cg-launcher-name{display:none}.cg-launcher-folder>div:not(.cg-show) .cg-launcher-space{width:6px}.cg-launcher-list{flex:1;height:0;overflow-y:auto;padding:0 0 0 50px}.cg-launcher-list::-webkit-scrollbar{display:none}.cg-launcher-list.cg-folder-open>.cg-launcher-item>.cg-launcher-inner>.cg-launcher-icon,.cg-launcher-list.cg-folder-open>.cg-launcher-item>.cg-launcher-inner>.cg-launcher-name{opacity:0}.cg-launcher-list.cg-folder-open>.cg-launcher-item>.cg-launcher-inner>.cg-launcher-folder>div:not(.cg-show){opacity:0}[data-cg-pop]{position:absolute;box-shadow:0px 15px 30px rgba(0,0,0,.07);transition:.3s var(--g-cubic);transition-property:transform,opacity;transform:translateY(-10px);opacity:0;overflow:hidden}[data-cg-pop]:not([data-cg-open]){pointer-events:none}[data-cg-pop][data-cg-open]{transform:translateY(0px);opacity:1}#cg-notify{z-index:20020005}.cg-notify-wrap{background:var(--system-background);position:fixed;padding:15px;border-radius:5px;right:0;top:0;width:280px;font-size:14px;display:flex;transition:.3s var(--g-cubic);transition-property:transform,opacity;overflow:hidden;color:var(--system-color);box-shadow:0px 15px 30px rgba(0,0,0,.07);-webkit-backdrop-filter:blur(30px) saturate(1.5);backdrop-filter:blur(30px) saturate(1.5);pointer-events:none}.cg-notify-wrap.cg-notify-only{align-items:center}.cg-notify-wrap.cg-notify-full .cg-notify-title{padding-bottom:10px}.cg-notify-icon{margin-right:10px;width:16px;height:16px;border-radius:50%}.cg-notify-icon.cg-primary{background:var(--success)}.cg-notify-icon.cg-info{background:var(--info)}.cg-notify-icon.cg-warning{background:var(--warning)}.cg-notify-icon.cg-danger{background:var(--danger)}.cg-notify-icon.cg-progress{background:var(--cg)}.cg-notify-title{font-size:16px;font-weight:bold}.cg-notify-content{line-height:1.5;word-break:break-word}.cg-notify-progress{position:absolute;bottom:0;left:0;border-radius:1px;background:var(--cg);transition:width 1s ease-out;width:0%;height:2px}#cg-simpletask{left:0;bottom:-46px;width:100%;height:46px;top:initial;background:var(--system-background);-webkit-backdrop-filter:blur(30px) saturate(1.5);backdrop-filter:blur(30px) saturate(1.5);padding:5px 0 5px 5px;display:flex;color:var(--system-color);transition:bottom .3s var(--g-cubic);overflow-x:auto;position:fixed}#cg-simpletask::-webkit-scrollbar{display:none}.cg-simpletask-item{background:rgba(0,0,0,.05);border-radius:3px;padding:10px;display:flex;align-items:center;margin-right:5px}.cg-simpletask-item:hover{background:rgba(0,0,0,.1)}.cg-simpletask-item:active{background:rgba(0,0,0,.2)}.cg-simpletask-icon{margin-right:5px;background-size:cover;width:16px;height:16px}#cg-confirm{z-index:20020006;position:fixed;left:0;top:0;width:100%;height:100%;background:var(--system-background);-webkit-backdrop-filter:blur(150px) saturate(1.5);backdrop-filter:blur(150px) saturate(1.5);justify-content:center;align-items:center}#cg-confirm .cg-confirm-box{background:var(--system-background);width:60%;box-shadow:0px 15px 30px rgba(0,0,0,.07);font-size:14px;border-radius:3px;overflow:hidden;color:var(--system-color)}#cg-confirm .cg-confirm-box #cg-confirm-content{padding:25px;line-height:1.5}#cg-confirm .cg-confirm-box .cg-confirm-controls{border-top:solid .5px var(--system-border-color);display:flex}#cg-confirm .cg-confirm-box .cg-confirm-controls>div{padding:20px;flex:1;text-align:center}#cg-confirm .cg-confirm-box .cg-confirm-controls>div:last-child{border-left:solid .5px var(--system-border-color)}#cg-confirm .cg-confirm-box .cg-confirm-controls>div:hover{background:var(--system-background-hover)}#cg-confirm .cg-confirm-box .cg-confirm-controls>div:active{background:var(--system-background-active)}
|
package/dist/lib/control.js
CHANGED
|
@@ -115,6 +115,36 @@ class AbstractControl {
|
|
|
115
115
|
return `cg-theme-task${this.taskId}-${this.controlName}_${cla}${this.prep ? (' ' + this.prep + cla) : ''}`;
|
|
116
116
|
};
|
|
117
117
|
}
|
|
118
|
+
get alignHComp() {
|
|
119
|
+
if (!this.props.alignH) {
|
|
120
|
+
return undefined;
|
|
121
|
+
}
|
|
122
|
+
switch (this.props.alignH) {
|
|
123
|
+
case 'center': {
|
|
124
|
+
return 'center';
|
|
125
|
+
}
|
|
126
|
+
case 'left':
|
|
127
|
+
case 'start': {
|
|
128
|
+
return 'flex-start';
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
return 'flex-end';
|
|
132
|
+
}
|
|
133
|
+
get alignVComp() {
|
|
134
|
+
if (!this.props.alignV) {
|
|
135
|
+
return undefined;
|
|
136
|
+
}
|
|
137
|
+
switch (this.props.alignV) {
|
|
138
|
+
case 'center': {
|
|
139
|
+
return 'center';
|
|
140
|
+
}
|
|
141
|
+
case 'top':
|
|
142
|
+
case 'start': {
|
|
143
|
+
return 'flex-start';
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
return 'flex-end';
|
|
147
|
+
}
|
|
118
148
|
watch(name, cb, opt = {}) {
|
|
119
149
|
return this.$watch(name, cb, opt);
|
|
120
150
|
}
|
|
@@ -349,7 +379,7 @@ function init(taskId, invoke, cache) {
|
|
|
349
379
|
if (t.controls[name].layout.includes('<teleport')) {
|
|
350
380
|
t.controls[name].layout = tool.teleportGlue(t.controls[name].layout, '{{{formId}}}');
|
|
351
381
|
}
|
|
352
|
-
t.controls[name].access['cgPCMap'] = tool.random(8, tool.RANDOM_LUNS);
|
|
382
|
+
t.controls[name].access['cgPCMap'] = tool.random(8, tool.RANDOM_LUNS, '"<>$');
|
|
353
383
|
t.controls[name].layout = t.controls[name].layout.replace(/(<cg-[a-zA-Z0-9-_]+)/g, `$1 data-cg-rootcontrol="${t.controls[name].access['cgPCMap']}"`);
|
|
354
384
|
let cls;
|
|
355
385
|
if (item.files[item.config.code + '.js']) {
|
package/dist/lib/control.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright
|
|
2
|
+
* Copyright 2024 Han Guoshuai <zohegs@gmail.com>
|
|
3
3
|
|
|
4
4
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
5
|
* you may not use this file except in compliance with the License.
|
|
@@ -130,6 +130,40 @@ export abstract class AbstractControl {
|
|
|
130
130
|
};
|
|
131
131
|
}
|
|
132
132
|
|
|
133
|
+
/** --- 获取 alignH 的 css 属性模式,请确保 props.alignH 存在 --- */
|
|
134
|
+
public get alignHComp(): string | undefined {
|
|
135
|
+
if (!(this.props as any).alignH) {
|
|
136
|
+
return undefined;
|
|
137
|
+
}
|
|
138
|
+
switch ((this.props as any).alignH) {
|
|
139
|
+
case 'center': {
|
|
140
|
+
return 'center';
|
|
141
|
+
}
|
|
142
|
+
case 'left':
|
|
143
|
+
case 'start': {
|
|
144
|
+
return 'flex-start'
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
return 'flex-end';
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
/** --- 获取 alignH 的 css 属性模式,请确保 props.alignH 存在 --- */
|
|
151
|
+
public get alignVComp(): string | undefined {
|
|
152
|
+
if (!(this.props as any).alignV) {
|
|
153
|
+
return undefined;
|
|
154
|
+
}
|
|
155
|
+
switch ((this.props as any).alignV) {
|
|
156
|
+
case 'center': {
|
|
157
|
+
return 'center';
|
|
158
|
+
}
|
|
159
|
+
case 'top':
|
|
160
|
+
case 'start': {
|
|
161
|
+
return 'flex-start'
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
return 'flex-end';
|
|
165
|
+
}
|
|
166
|
+
|
|
133
167
|
/**
|
|
134
168
|
* --- 监视变动 ---
|
|
135
169
|
* @param name 监视的属性或 prop 值
|
|
@@ -489,7 +523,7 @@ export async function init(
|
|
|
489
523
|
t.controls[name].layout = tool.teleportGlue(t.controls[name].layout, '{{{formId}}}');
|
|
490
524
|
}
|
|
491
525
|
// --- 添加父子组件的映射关系 ---
|
|
492
|
-
t.controls[name].access['cgPCMap'] = tool.random(8, tool.RANDOM_LUNS);
|
|
526
|
+
t.controls[name].access['cgPCMap'] = tool.random(8, tool.RANDOM_LUNS, '"<>$');
|
|
493
527
|
t.controls[name].layout = t.controls[name].layout.replace(/(<cg-[a-zA-Z0-9-_]+)/g, `$1 data-cg-rootcontrol="${t.controls[name].access['cgPCMap']}"`);
|
|
494
528
|
// --- 检测是否有 js ---
|
|
495
529
|
let cls: any;
|
package/dist/lib/core.ts
CHANGED
package/dist/lib/dom.ts
CHANGED
package/dist/lib/form.ts
CHANGED
package/dist/lib/native.ts
CHANGED
package/dist/lib/storage.ts
CHANGED
package/dist/lib/task.js
CHANGED
|
@@ -1055,9 +1055,15 @@ function run(url_1) {
|
|
|
1055
1055
|
fetch: function (url, init) {
|
|
1056
1056
|
return tool.fetch(url, init);
|
|
1057
1057
|
},
|
|
1058
|
+
get: function (url, opt) {
|
|
1059
|
+
return tool.get(url, opt);
|
|
1060
|
+
},
|
|
1058
1061
|
post: function (url, data, opt) {
|
|
1059
1062
|
return tool.post(url, data, opt);
|
|
1060
1063
|
},
|
|
1064
|
+
getResponseJson: function (url, opt) {
|
|
1065
|
+
return tool.getResponseJson(url, opt);
|
|
1066
|
+
},
|
|
1061
1067
|
postResponseJson: function (url, data, opt) {
|
|
1062
1068
|
return tool.postResponseJson(url, data, opt);
|
|
1063
1069
|
},
|
package/dist/lib/task.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright
|
|
2
|
+
* Copyright 2024 Han Guoshuai <zohegs@gmail.com>
|
|
3
3
|
*
|
|
4
4
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
5
|
* you may not use this file except in compliance with the License.
|
|
@@ -1186,12 +1186,24 @@ export async function run(url: string | types.IApp, opt: types.ITaskRunOptions =
|
|
|
1186
1186
|
fetch: function(url: string, init?: RequestInit): Promise<string | Blob | null> {
|
|
1187
1187
|
return tool.fetch(url, init);
|
|
1188
1188
|
},
|
|
1189
|
+
get: function(url: string, opt?: {
|
|
1190
|
+
'credentials'?: 'include' | 'same-origin' | 'omit';
|
|
1191
|
+
'headers'?: HeadersInit;
|
|
1192
|
+
}) {
|
|
1193
|
+
return tool.get(url, opt);
|
|
1194
|
+
},
|
|
1189
1195
|
post: function(url: string, data: Record<string, any> | FormData, opt?: {
|
|
1190
1196
|
'credentials'?: 'include' | 'same-origin' | 'omit';
|
|
1191
1197
|
'headers'?: HeadersInit;
|
|
1192
1198
|
}): Promise<Response | null> {
|
|
1193
1199
|
return tool.post(url, data, opt);
|
|
1194
1200
|
},
|
|
1201
|
+
getResponseJson: function(url: string, opt?: {
|
|
1202
|
+
'credentials'?: 'include' | 'same-origin' | 'omit';
|
|
1203
|
+
'headers'?: HeadersInit;
|
|
1204
|
+
}): Promise<any | null> {
|
|
1205
|
+
return tool.getResponseJson(url, opt);
|
|
1206
|
+
},
|
|
1195
1207
|
postResponseJson: function(url: string, data: Record<string, any> | FormData, opt?: {
|
|
1196
1208
|
'credentials'?: 'include' | 'same-origin' | 'omit';
|
|
1197
1209
|
'headers'?: HeadersInit;
|
package/dist/lib/theme.ts
CHANGED
package/dist/lib/tool.js
CHANGED
|
@@ -9,7 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.queryParse = exports.queryStringify = exports.formatSecond = exports.compar = exports.execCommand = exports.blob2DataUrl = exports.blob2Text = exports.urlAtom = exports.urlResolve = exports.parseUrl = exports.postResponseJson = exports.post = exports.get = exports.fetch = exports.request = exports.rgb2hsl = exports.escapeHTML = exports.getArray = exports.getNumber = exports.getBoolean = exports.random = exports.RANDOM_LUNS = exports.RANDOM_V = exports.RANDOM_LUN = exports.RANDOM_LU = exports.RANDOM_LN = exports.RANDOM_UN = exports.RANDOM_L = exports.RANDOM_U = exports.RANDOM_N = exports.rand = exports.getMimeByPath = exports.stylePrepend = exports.teleportGlue = exports.eventsAttrWrap = exports.layoutClassPrepend = exports.layoutInsertAttr = exports.layoutAddTagClassAndReTagName = exports.styleUrl2DataUrl = exports.match = exports.purify = exports.sleepFrame = exports.nextFrame = exports.sleep = exports.clone = exports.blob2ArrayBuffer = exports.getClassPrototype = void 0;
|
|
12
|
+
exports.queryParse = exports.queryStringify = exports.formatSecond = exports.compar = exports.execCommand = exports.blob2DataUrl = exports.blob2Text = exports.urlAtom = exports.urlResolve = exports.parseUrl = exports.postResponseJson = exports.getResponseJson = exports.post = exports.get = exports.fetch = exports.request = exports.rgb2hsl = exports.escapeHTML = exports.getArray = exports.getNumber = exports.getBoolean = exports.random = exports.RANDOM_LUNS = exports.RANDOM_V = exports.RANDOM_LUN = exports.RANDOM_LU = exports.RANDOM_LN = exports.RANDOM_UN = exports.RANDOM_L = exports.RANDOM_U = exports.RANDOM_N = exports.rand = exports.getMimeByPath = exports.stylePrepend = exports.teleportGlue = exports.eventsAttrWrap = exports.layoutClassPrepend = exports.layoutInsertAttr = exports.layoutAddTagClassAndReTagName = exports.styleUrl2DataUrl = exports.match = exports.purify = exports.sleepFrame = exports.nextFrame = exports.sleep = exports.clone = exports.blob2ArrayBuffer = exports.getClassPrototype = void 0;
|
|
13
13
|
function getClassPrototype(obj, over = [], level = 0) {
|
|
14
14
|
if (level === 0) {
|
|
15
15
|
return getClassPrototype(Object.getPrototypeOf(obj), over, level + 1);
|
|
@@ -429,7 +429,7 @@ exports.RANDOM_LN = exports.RANDOM_L + exports.RANDOM_N;
|
|
|
429
429
|
exports.RANDOM_LU = exports.RANDOM_L + exports.RANDOM_U;
|
|
430
430
|
exports.RANDOM_LUN = exports.RANDOM_L + exports.RANDOM_U + exports.RANDOM_N;
|
|
431
431
|
exports.RANDOM_V = 'ACEFGHJKLMNPRSTWXY34567';
|
|
432
|
-
exports.RANDOM_LUNS = exports.RANDOM_LUN + '()`~!@#$%^&*-+=_|{}[]:;\'<>,.?/]';
|
|
432
|
+
exports.RANDOM_LUNS = exports.RANDOM_LUN + '()`~!@#$%^&*-+=_|{}[]:;\'<>,.?/]"';
|
|
433
433
|
function random(length = 8, source = exports.RANDOM_LN, block = '') {
|
|
434
434
|
let len = block.length;
|
|
435
435
|
if (len > 0) {
|
|
@@ -643,6 +643,12 @@ function post(url, data, opt) {
|
|
|
643
643
|
return loader.post(url, data, opt);
|
|
644
644
|
}
|
|
645
645
|
exports.post = post;
|
|
646
|
+
function getResponseJson(url, opt) {
|
|
647
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
648
|
+
return loader.getResponseJson(url, opt);
|
|
649
|
+
});
|
|
650
|
+
}
|
|
651
|
+
exports.getResponseJson = getResponseJson;
|
|
646
652
|
function postResponseJson(url, data, opt) {
|
|
647
653
|
return __awaiter(this, void 0, void 0, function* () {
|
|
648
654
|
return loader.postResponseJson(url, data, opt);
|
package/dist/lib/tool.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright
|
|
2
|
+
* Copyright 2024 Han Guoshuai <zohegs@gmail.com>
|
|
3
3
|
*
|
|
4
4
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
5
|
* you may not use this file except in compliance with the License.
|
|
@@ -580,7 +580,7 @@ export const RANDOM_LN = RANDOM_L + RANDOM_N;
|
|
|
580
580
|
export const RANDOM_LU = RANDOM_L + RANDOM_U;
|
|
581
581
|
export const RANDOM_LUN = RANDOM_L + RANDOM_U + RANDOM_N;
|
|
582
582
|
export const RANDOM_V = 'ACEFGHJKLMNPRSTWXY34567';
|
|
583
|
-
export const RANDOM_LUNS = RANDOM_LUN + '()`~!@#$%^&*-+=_|{}[]:;\'<>,.?/]';
|
|
583
|
+
export const RANDOM_LUNS = RANDOM_LUN + '()`~!@#$%^&*-+=_|{}[]:;\'<>,.?/]"';
|
|
584
584
|
export function random(length: number = 8, source: string = RANDOM_LN, block: string = ''): string {
|
|
585
585
|
// --- 剔除 block 字符 ---
|
|
586
586
|
let len = block.length;
|
|
@@ -820,6 +820,14 @@ export function post(url: string, data: Record<string, any> | FormData, opt?: {
|
|
|
820
820
|
return loader.post(url, data, opt);
|
|
821
821
|
}
|
|
822
822
|
|
|
823
|
+
/** --- 发送 get 响应为 json 的网络数据,无需 try,失败返回 null */
|
|
824
|
+
export async function getResponseJson(url: string, opt?: {
|
|
825
|
+
'credentials'?: 'include' | 'same-origin' | 'omit';
|
|
826
|
+
'headers'?: HeadersInit;
|
|
827
|
+
}): Promise<any | null> {
|
|
828
|
+
return loader.getResponseJson(url, opt);
|
|
829
|
+
}
|
|
830
|
+
|
|
823
831
|
/** --- 发送响应为 json 的网络数据,无需 try,失败返回 null --- */
|
|
824
832
|
export async function postResponseJson(url: string, data: Record<string, any> | FormData, opt?: {
|
|
825
833
|
'credentials'?: 'include' | 'same-origin' | 'omit';
|
package/dist/theme/byterun.cgt
CHANGED
|
Binary file
|
package/dist/theme/familiar.cgt
CHANGED
|
Binary file
|
package/dist/theme/light.cgt
CHANGED
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "clickgo",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.13.0",
|
|
4
4
|
"description": "Background interface, software interface, mobile phone APP interface operation library.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"deskrt",
|
|
@@ -19,11 +19,11 @@
|
|
|
19
19
|
},
|
|
20
20
|
"devDependencies": {
|
|
21
21
|
"@litert/eslint-plugin-rules": "^0.1.7",
|
|
22
|
-
"@litert/loader": "^3.5.
|
|
23
|
-
"@types/node": "^20.
|
|
24
|
-
"electron": "^
|
|
22
|
+
"@litert/loader": "^3.5.7",
|
|
23
|
+
"@types/node": "^20.14.6",
|
|
24
|
+
"electron": "^31.0.2",
|
|
25
25
|
"jszip": "^3.10.1",
|
|
26
|
-
"terser": "^5.
|
|
27
|
-
"typescript": "^5.4.
|
|
26
|
+
"terser": "^5.31.1",
|
|
27
|
+
"typescript": "^5.4.5"
|
|
28
28
|
}
|
|
29
29
|
}
|
package/types/index.d.ts
CHANGED
|
@@ -776,6 +776,14 @@ export interface IGreatlistItemclickedEvent {
|
|
|
776
776
|
};
|
|
777
777
|
}
|
|
778
778
|
|
|
779
|
+
export interface IGreatlistItemdblclickedEvent {
|
|
780
|
+
'detail': {
|
|
781
|
+
'event': MouseEvent | TouchEvent;
|
|
782
|
+
'value': number;
|
|
783
|
+
'arrow': boolean;
|
|
784
|
+
};
|
|
785
|
+
}
|
|
786
|
+
|
|
779
787
|
// --- Greatselect Control ---
|
|
780
788
|
|
|
781
789
|
export interface IGreatselectChangeEvent extends ICustomEvent {
|
|
@@ -922,6 +930,14 @@ export interface IListItemclickedEvent {
|
|
|
922
930
|
};
|
|
923
931
|
}
|
|
924
932
|
|
|
933
|
+
export interface IListItemdblclickedEvent {
|
|
934
|
+
'detail': {
|
|
935
|
+
'event': MouseEvent | TouchEvent;
|
|
936
|
+
'value': string;
|
|
937
|
+
'arrow': boolean;
|
|
938
|
+
};
|
|
939
|
+
}
|
|
940
|
+
|
|
925
941
|
// --- Nav Item ---
|
|
926
942
|
|
|
927
943
|
export interface INavItemSelectEvent extends ICustomEvent {
|