clickgo 3.15.25 → 3.15.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/README.md +6 -1
  2. package/dist/app/demo/config.json +4 -0
  3. package/dist/app/demo/form/control/iconview/iconview.js +2 -1
  4. package/dist/app/demo/form/control/iconview/iconview.xml +2 -1
  5. package/dist/app/demo/form/control/palette/palette.js +36 -0
  6. package/dist/app/demo/form/control/palette/palette.xml +14 -0
  7. package/dist/app/demo/form/control/uploader/uploader.js +74 -0
  8. package/dist/app/demo/form/control/uploader/uploader.xml +10 -0
  9. package/dist/app/demo/form/main.js +10 -0
  10. package/dist/app/demo/form/main.xml +3 -1
  11. package/dist/app/demo/form/method/tool/tool.js +6 -0
  12. package/dist/app/demo/form/method/tool/tool.xml +4 -0
  13. package/dist/clickgo.js +1 -1
  14. package/dist/clickgo.ts +1 -1
  15. package/dist/control/arteditor.cgc +0 -0
  16. package/dist/control/box.cgc +0 -0
  17. package/dist/control/common.cgc +0 -0
  18. package/dist/control/desc.cgc +0 -0
  19. package/dist/control/drawer.cgc +0 -0
  20. package/dist/control/echarts.cgc +0 -0
  21. package/dist/control/form.cgc +0 -0
  22. package/dist/control/iconview.cgc +0 -0
  23. package/dist/control/jodit.cgc +0 -0
  24. package/dist/control/map.cgc +0 -0
  25. package/dist/control/monaco.cgc +0 -0
  26. package/dist/control/nav.cgc +0 -0
  27. package/dist/control/page.cgc +0 -0
  28. package/dist/control/property.cgc +0 -0
  29. package/dist/control/table.cgc +0 -0
  30. package/dist/control/task.cgc +0 -0
  31. package/dist/control/tuieditor.cgc +0 -0
  32. package/dist/control/tuiviewer.cgc +0 -0
  33. package/dist/control/xterm.cgc +0 -0
  34. package/dist/global.css +1 -1
  35. package/dist/lib/form.js +16 -4
  36. package/dist/lib/form.ts +16 -4
  37. package/dist/lib/fs.js +1 -1
  38. package/dist/lib/fs.ts +1 -1
  39. package/dist/lib/task.js +17 -2
  40. package/dist/lib/task.ts +37 -2
  41. package/dist/lib/tool.js +172 -32
  42. package/dist/lib/tool.ts +214 -35
  43. package/dist/theme/byterun.cgt +0 -0
  44. package/dist/theme/familiar.cgt +0 -0
  45. package/dist/theme/light.cgt +0 -0
  46. package/package.json +1 -1
  47. package/types/index.d.ts +67 -1
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.7/dist/loader.min.js?path=index&npm={'clickgo':'3.15.25'}"></script>
28
+ <script src="https://cdn.jsdelivr.net/npm/@litert/loader@3.5.7/dist/loader.min.js?path=index&npm={'clickgo':'3.15.27'}"></script>
29
29
  ```
30
30
 
31
31
  **index.js**
@@ -125,6 +125,11 @@ This library is published under [Apache-2.0](./LICENSE) license.
125
125
 
126
126
  [Plus SVG Vector](https://www.svgrepo.com/svg/447037/plus)
127
127
 
128
+ #### Uploader
129
+
130
+ [Plus SVG Vector](https://www.svgrepo.com/svg/447037/plus)
131
+ [Trash SVG Vector](https://www.svgrepo.com/svg/447040/trash)
132
+
128
133
  #### Video
129
134
 
130
135
  [Play SVG Vector](https://www.svgrepo.com/svg/447035/play)
@@ -108,6 +108,8 @@
108
108
  "/form/control/nav/nav.xml",
109
109
  "/form/control/page/page.js",
110
110
  "/form/control/page/page.xml",
111
+ "/form/control/palette/palette.js",
112
+ "/form/control/palette/palette.xml",
111
113
  "/form/control/panel/panel.js",
112
114
  "/form/control/panel/panel.xml",
113
115
  "/form/control/panel/test1.js",
@@ -143,6 +145,8 @@
143
145
  "/form/control/tuieditor/tuieditor.xml",
144
146
  "/form/control/tuiviewer/tuiviewer.js",
145
147
  "/form/control/tuiviewer/tuiviewer.xml",
148
+ "/form/control/uploader/uploader.js",
149
+ "/form/control/uploader/uploader.xml",
146
150
  "/form/control/vflow/vflow.css",
147
151
  "/form/control/vflow/vflow.js",
148
152
  "/form/control/vflow/vflow.xml",
@@ -99,6 +99,7 @@ class default_1 extends clickgo.form.AbstractForm {
99
99
  this.selectionArea = {};
100
100
  this.scroll = 'auto';
101
101
  this.size = [100];
102
+ this.plain = false;
102
103
  }
103
104
  showIndex() {
104
105
  clickgo.form.dialog('Index is ' + this.select.toString() + '.').catch((e) => { throw e; });
@@ -112,7 +113,7 @@ class default_1 extends clickgo.form.AbstractForm {
112
113
  for (const item of this.select) {
113
114
  types.push(this.list[item].type);
114
115
  }
115
- clickgo.form.dialog(`Type is ${types}.`).catch((e) => { throw e; });
116
+ clickgo.form.dialog(`Type is ${JSON.stringify(types)}.`).catch((e) => { throw e; });
116
117
  }
117
118
  }
118
119
  add() {
@@ -1,7 +1,7 @@
1
1
  <form title="Iconview" width="500" height="500" padding="10">
2
2
  <layout gutter="10" direction="v" style="flex: 1; width: 0;">
3
3
  <label>select: {{select}}</label>
4
- <iconview :data="list" v-model="select" :disabled="disabled" :must="must" :multi="multi" :ctrl="ctrl" :selection="selection" :gesture="gesture ? ['top', 'bottom'] : []" @gesture="onGesture" :scroll="scroll" :size="size[0] ? size[0] : undefined" :name="name" style="flex: 1;" @drop="drop" @select="onSelect" @open="onOpen">
4
+ <iconview :data="list" v-model="select" :disabled="disabled" :must="must" :multi="multi" :ctrl="ctrl" :selection="selection" :gesture="gesture ? ['top', 'bottom'] : []" @gesture="onGesture" :scroll="scroll" :size="size[0] ? size[0] : undefined" :name="name" :plain="plain" style="flex: 1;" @drop="drop" @select="onSelect" @open="onOpen">
5
5
  <template v-slot:pop>
6
6
  <menulist>
7
7
  <menulist-item alt="S">Some options</menulist-item>
@@ -29,6 +29,7 @@
29
29
  <button @click="disabled = !disabled" style="flex: 1;">{{disabled ? '' : '!'}}disabled</button>
30
30
  <button @click="multi = !multi" style="flex: 1;">{{multi ? '' : '!'}}multi</button>
31
31
  <button @click="ctrl = !ctrl" style="flex: 1;">{{ctrl ? '' : '!'}}ctrl</button>
32
+ <button @click="plain = !plain" style="flex: 1;">{{plain ? '' : '!'}}plain</button>
32
33
  </layout>
33
34
  <layout class="ctr" gutter="10">
34
35
  <button @click="must = !must" style="flex: 1;">{{must ? '' : '!'}}must</button>
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ const clickgo = __importStar(require("clickgo"));
27
+ class default_1 extends clickgo.form.AbstractForm {
28
+ constructor() {
29
+ super(...arguments);
30
+ this.value = '';
31
+ this.mode = ['hsl'];
32
+ this.value2 = '';
33
+ this.disabled = false;
34
+ }
35
+ }
36
+ exports.default = default_1;
@@ -0,0 +1,14 @@
1
+ <form width="700" height="500" title="Palette">
2
+ <layout direction="v" gutter="10" style="flex: 1; padding: 10px;">
3
+ <label>value: {{value}}</label>
4
+ <palette v-model="value" :mode="mode[0]" style="flex: 1;"></palette>
5
+ <layout gutter="10" align-v="center">
6
+ <label style="flex: 1">value2: {{value2}}</label>
7
+ <colorist v-model="value2" :disabled="disabled"></colorist>
8
+ </layout>
9
+ <layout gutter="10">
10
+ <select v-model="mode" :data="['hsl', 'rgb', 'hex']" style="flex: 1;"></select>
11
+ <button @click="disabled = !disabled" style="flex: 1;">{{disabled ? '' : '!'}}disabled</button>
12
+ </layout>
13
+ </layout>
14
+ </form>
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ var __importDefault = (this && this.__importDefault) || function (mod) {
35
+ return (mod && mod.__esModule) ? mod : { "default": mod };
36
+ };
37
+ Object.defineProperty(exports, "__esModule", { value: true });
38
+ const clickgo = __importStar(require("clickgo"));
39
+ const img_1 = __importDefault(require("../arteditor/img"));
40
+ class default_1 extends clickgo.form.AbstractForm {
41
+ constructor() {
42
+ super(...arguments);
43
+ this.list = [];
44
+ this.disabled = false;
45
+ this.multi = false;
46
+ this.progress = undefined;
47
+ }
48
+ select() {
49
+ return __awaiter(this, void 0, void 0, function* () {
50
+ const frm = yield clickgo.form.create(img_1.default);
51
+ const path = yield frm.showDialog();
52
+ if (!path) {
53
+ return;
54
+ }
55
+ this.progress = 0;
56
+ const timer = clickgo.task.createTimer(() => __awaiter(this, void 0, void 0, function* () {
57
+ if (this.progress === undefined) {
58
+ clickgo.task.removeTimer(timer);
59
+ return;
60
+ }
61
+ this.progress += clickgo.tool.rand(0, 20);
62
+ if (this.progress < 100) {
63
+ return;
64
+ }
65
+ this.progress = 100;
66
+ clickgo.task.removeTimer(timer);
67
+ yield clickgo.tool.sleep(500);
68
+ this.progress = undefined;
69
+ this.list.push(path);
70
+ }), 500);
71
+ });
72
+ }
73
+ }
74
+ exports.default = default_1;
@@ -0,0 +1,10 @@
1
+ <form width="700" height="500" title="Uploader">
2
+ <layout direction="v" gutter="10" style="flex: 1; padding: 10px;">
3
+ <label>value: {{list}}</label>
4
+ <uploader :disabled="disabled" v-model="list" :multi="multi" @select="select" pre="/package/" :progress="progress"></uploader>
5
+ <layout gutter="10">
6
+ <button style="flex: 1" @click="disabled = !disabled">{{disabled ? '' : '!'}}disabled</button>
7
+ <button style="flex: 1" @click="multi = !multi">{{multi ? '' : '!'}}multi</button>
8
+ </layout>
9
+ </layout>
10
+ </form>
@@ -55,6 +55,7 @@ const alert_1 = __importDefault(require("./control/alert/alert"));
55
55
  const iconview_1 = __importDefault(require("./control/iconview/iconview"));
56
56
  const link_1 = __importDefault(require("./control/link/link"));
57
57
  const label_1 = __importDefault(require("./control/label/label"));
58
+ const palette_1 = __importDefault(require("./control/palette/palette"));
58
59
  const layout_1 = __importDefault(require("./control/layout/layout"));
59
60
  const hske_1 = __importDefault(require("./control/hske/hske"));
60
61
  const list_1 = __importDefault(require("./control/list/list"));
@@ -73,6 +74,7 @@ const radio_1 = __importDefault(require("./control/radio/radio"));
73
74
  const switch_1 = __importDefault(require("./control/switch/switch"));
74
75
  const scroll_1 = __importDefault(require("./control/scroll/scroll"));
75
76
  const select_1 = __importDefault(require("./control/select/select"));
77
+ const uploader_1 = __importDefault(require("./control/uploader/uploader"));
76
78
  const svg_1 = __importDefault(require("./control/svg/svg"));
77
79
  const tab_1 = __importDefault(require("./control/tab/tab"));
78
80
  const table_1 = __importDefault(require("./control/table/table"));
@@ -261,6 +263,10 @@ class default_1 extends clickgo.form.AbstractForm {
261
263
  frm = yield clickgo.form.create(label_1.default);
262
264
  break;
263
265
  }
266
+ case 'cpalette': {
267
+ frm = yield clickgo.form.create(palette_1.default);
268
+ break;
269
+ }
264
270
  case 'clayout': {
265
271
  frm = yield clickgo.form.create(layout_1.default);
266
272
  break;
@@ -331,6 +337,10 @@ class default_1 extends clickgo.form.AbstractForm {
331
337
  frm = yield clickgo.form.create(select_1.default);
332
338
  break;
333
339
  }
340
+ case 'cuploader': {
341
+ frm = yield clickgo.form.create(uploader_1.default);
342
+ break;
343
+ }
334
344
  case 'csvg': {
335
345
  frm = yield clickgo.form.create(svg_1.default);
336
346
  break;
@@ -1,4 +1,4 @@
1
- <form width="500" height="650" title="ClickGo demo" icon="/package/res/icon.svg">
1
+ <form width="520" height="650" title="ClickGo demo" icon="/package/res/icon.svg">
2
2
  <tab v-model="ntab" :tabs="['control', 'method', 'event', 'solution']" style="margin: 10px; flex: 1;">
3
3
  <flow v-if="ntab === 'control'" class="inner" direction="v">
4
4
  <layout class="buttons" gutter="10" direction="v">
@@ -26,6 +26,7 @@
26
26
  <layout gutter="10">
27
27
  <button @click="openForm('ctab')">Tab</button>
28
28
  <button @click="openForm('clabel')">Label</button>
29
+ <button @click="openForm('cpalette')">Palette + Colorist</button>
29
30
  </layout>
30
31
  <layout gutter="10">
31
32
  <button @click="openForm('clink')">Link</button>
@@ -60,6 +61,7 @@
60
61
  <layout gutter="10">
61
62
  <button @click="openForm('clist')">List</button>
62
63
  <button @click="openForm('cselect')">Select</button>
64
+ <button @click="openForm('cuploader')">Uploader</button>
63
65
  </layout>
64
66
  <layout gutter="10">
65
67
  <button @click="openForm('cpanel')">Panel</button>
@@ -67,6 +67,7 @@ class default_1 extends clickgo.form.AbstractForm {
67
67
  this.url1 = '/abc/def/hehe';
68
68
  this.url2 = '../bb.index';
69
69
  this.second = '4531';
70
+ this.weight = '8761';
70
71
  this.qs = 'a=1&b=2&c=3';
71
72
  }
72
73
  sleep() {
@@ -105,6 +106,11 @@ class default_1 extends clickgo.form.AbstractForm {
105
106
  yield clickgo.form.dialog(clickgo.tool.formatSecond(parseInt(this.second) || 0));
106
107
  });
107
108
  }
109
+ weightFormat() {
110
+ return __awaiter(this, void 0, void 0, function* () {
111
+ yield clickgo.form.dialog(clickgo.tool.weightFormat(parseInt(this.weight) || 0));
112
+ });
113
+ }
108
114
  queryParse() {
109
115
  return __awaiter(this, void 0, void 0, function* () {
110
116
  yield clickgo.form.dialog(JSON.stringify(clickgo.tool.queryParse(this.qs)));
@@ -26,6 +26,10 @@
26
26
  <text v-model="second" style="flex: 1;"></text>
27
27
  <button @click="formatSecond">formatSecond({{second}})</button>
28
28
  </layout>
29
+ <layout gutter="10">
30
+ <text v-model="weight" style="flex: 1;"></text>
31
+ <button @click="weightFormat">weightFormat({{weight}})</button>
32
+ </layout>
29
33
  <layout gutter="10">
30
34
  <text v-model="qs" style="flex: 1;"></text>
31
35
  <button @click="queryParse">queryParse('{{qs.slice(0, 5)}}...')</button>
package/dist/clickgo.js CHANGED
@@ -29,7 +29,7 @@ exports.isNative = isNative;
29
29
  exports.getPlatform = getPlatform;
30
30
  exports.isImmersion = isImmersion;
31
31
  exports.hasFrame = hasFrame;
32
- const version = '3.15.25';
32
+ const version = '3.15.27';
33
33
  function getVersion() {
34
34
  return version;
35
35
  }
package/dist/clickgo.ts CHANGED
@@ -13,7 +13,7 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- const version = '3.15.25';
16
+ const version = '3.15.27';
17
17
  export function getVersion(): string {
18
18
  return version;
19
19
  }
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
package/dist/global.css CHANGED
@@ -1 +1 @@
1
- #cg-wrap{position:fixed;left:0;top:0;--g-padding-s:4px;--g-padding:7px;--g-padding-h:4px var(--g-padding);--g-padding-l:14px;--g-padding-l-h:8px var(--g-padding-l);--g-padding-xl:22px;--g-padding-xl-h:12px var(--g-padding-xl);--g-bpadding:18px;--g-margin:2px;--g-radius:0;--g-radius-l:4px;--g-radius-xl:8px;--g-size:12px;--g-size-m:16px;--g-size-l:20px;--g-size-xl:28px;--g-control:14px;--g-control-m:18px;--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.2;--g-cubic:cubic-bezier(0.39, 0.575, 0.565, 1);--g-transition:none;--g-boxsize:calc(var(--g-padding) * 2 + var(--g-size));--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%);--info-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%, 35%);--g-color-hover:hsl(0, 0%, 45%);--g-color-active:hsl(0, 0%, 25%);--g-color-focus:hsl(0, 0%, 30%);--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-plain-border-color-plain:hsl(0, 0%, 85%);--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:var(--g-size);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-pop-none]{display:none !important}[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;bottom: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)}.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:14px;height:14px;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-alert{z-index:20020006}.cg-alert-wrap{position:fixed;left:0;bottom:100px;width:100%;font-size:14px;display:flex;align-items:center;justify-content:center;transition:.3s var(--g-cubic);transition-property:transform,opacity;color:var(--system-color);pointer-events:none}.cg-alert-wrap.cg-default .cg-alert-icon{display:none}.cg-alert-wrap.cg-primary{color:var(--success)}.cg-alert-wrap.cg-primary .cg-alert-content{border-color:var(--success);background:var(--success-bg)}.cg-alert-wrap.cg-primary .cg-alert-icon{background:var(--success)}.cg-alert-wrap.cg-info{color:var(--info)}.cg-alert-wrap.cg-info .cg-alert-content{border-color:var(--info);background:var(--info-bg)}.cg-alert-wrap.cg-info .cg-alert-icon{background:var(--info)}.cg-alert-wrap.cg-warning{color:var(--warning)}.cg-alert-wrap.cg-warning .cg-alert-content{border-color:var(--warning);background:var(--warning-bg)}.cg-alert-wrap.cg-warning .cg-alert-icon{background:var(--warning)}.cg-alert-wrap.cg-danger{color:var(--danger)}.cg-alert-wrap.cg-danger .cg-alert-content{border-color:var(--danger);background:var(--danger-bg)}.cg-alert-wrap.cg-danger .cg-alert-icon{background:var(--danger)}.cg-alert-content{padding:15px;background:var(--system-background);display:flex;align-items:center;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);border:solid .5px rgba(0,0,0,0);border-radius:5px}.cg-alert-icon{margin-right:10px;width:14px;height:14px;border-radius:50%}#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:20020007;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)}
1
+ #cg-wrap{position:fixed;left:0;top:0;--g-padding-s:4px;--g-padding:7px;--g-padding-h:4px var(--g-padding);--g-padding-l:14px;--g-padding-l-h:8px var(--g-padding-l);--g-padding-xl:22px;--g-padding-xl-h:12px var(--g-padding-xl);--g-bpadding:18px;--g-margin:2px;--g-radius:0;--g-radius-l:4px;--g-radius-xl:8px;--g-size:12px;--g-size-m:16px;--g-size-l:20px;--g-size-xl:28px;--g-control:14px;--g-control-m:18px;--g-family:"Lucida Sans Unicode","Helvetica Neue","Helvetica","SF Pro","Ping Fang SC","ui-sans-serif","Hiragino Sans GB","Noto Sans CJK SC","Noto Sans CJK","Source Han Sans","WenQuanYi Micro Hei","Microsoft YaHei","sans-serif";--g-line:1.2;--g-cubic:cubic-bezier(0.39, 0.575, 0.565, 1);--g-transition:none;--g-boxsize:calc(var(--g-padding) * 2 + var(--g-size));--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%);--info-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%, 35%);--g-color-hover:hsl(0, 0%, 45%);--g-color-active:hsl(0, 0%, 25%);--g-color-focus:hsl(0, 0%, 30%);--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-plain-border-color-plain:hsl(0, 0%, 85%);--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:var(--g-size);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-pop-none]{display:none !important}[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;bottom: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)}.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:14px;height:14px;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-alert{z-index:20020006}.cg-alert-wrap{position:fixed;left:0;bottom:100px;width:100%;font-size:14px;display:flex;align-items:center;justify-content:center;transition:.3s var(--g-cubic);transition-property:transform,opacity;color:var(--system-color);pointer-events:none}.cg-alert-wrap.cg-default .cg-alert-icon{display:none}.cg-alert-wrap.cg-primary{color:var(--success)}.cg-alert-wrap.cg-primary .cg-alert-content{border-color:var(--success);background:var(--success-bg)}.cg-alert-wrap.cg-primary .cg-alert-icon{background:var(--success)}.cg-alert-wrap.cg-info{color:var(--info)}.cg-alert-wrap.cg-info .cg-alert-content{border-color:var(--info);background:var(--info-bg)}.cg-alert-wrap.cg-info .cg-alert-icon{background:var(--info)}.cg-alert-wrap.cg-warning{color:var(--warning)}.cg-alert-wrap.cg-warning .cg-alert-content{border-color:var(--warning);background:var(--warning-bg)}.cg-alert-wrap.cg-warning .cg-alert-icon{background:var(--warning)}.cg-alert-wrap.cg-danger{color:var(--danger)}.cg-alert-wrap.cg-danger .cg-alert-content{border-color:var(--danger);background:var(--danger-bg)}.cg-alert-wrap.cg-danger .cg-alert-icon{background:var(--danger)}.cg-alert-content{padding:15px;background:var(--system-background);display:flex;align-items:center;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);border:solid .5px rgba(0,0,0,0);border-radius:5px}.cg-alert-icon{margin-right:10px;width:14px;height:14px;border-radius:50%}#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:20020007;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/form.js CHANGED
@@ -2827,6 +2827,9 @@ function dialog(opt) {
2827
2827
  'go': true,
2828
2828
  preventDefault: function () {
2829
2829
  this.go = false;
2830
+ },
2831
+ 'detail': {
2832
+ 'button': button
2830
2833
  }
2831
2834
  };
2832
2835
  if (nopt.select) {
@@ -2896,7 +2899,7 @@ function confirm(opt) {
2896
2899
  }
2897
2900
  function prompt(opt) {
2898
2901
  return __awaiter(this, void 0, void 0, function* () {
2899
- var _a, _b, _c;
2902
+ var _a, _b, _c, _d, _e;
2900
2903
  if (typeof opt === 'string') {
2901
2904
  opt = {
2902
2905
  'content': opt
@@ -2911,6 +2914,11 @@ function prompt(opt) {
2911
2914
  return '';
2912
2915
  }
2913
2916
  const locale = t.locale.lang || core.config.locale;
2917
+ const buttons = [(_b = (_a = info.locale[locale]) === null || _a === void 0 ? void 0 : _a.ok) !== null && _b !== void 0 ? _b : info.locale['en'].ok];
2918
+ const cancelBtn = (_d = (_c = info.locale[locale]) === null || _c === void 0 ? void 0 : _c.cancel) !== null && _d !== void 0 ? _d : info.locale['en'].cancel;
2919
+ if (opt.cancel === true || opt.cancel === undefined) {
2920
+ buttons.unshift(cancelBtn);
2921
+ }
2914
2922
  const res = yield dialog({
2915
2923
  'taskId': taskId,
2916
2924
  'title': opt.title,
@@ -2918,12 +2926,16 @@ function prompt(opt) {
2918
2926
  'gutter': 10,
2919
2927
  'content': '<block>' + opt.content + '</block><text v-model="data.text" />',
2920
2928
  'data': {
2921
- 'text': (_a = opt.text) !== null && _a !== void 0 ? _a : ''
2929
+ 'text': (_e = opt.text) !== null && _e !== void 0 ? _e : ''
2922
2930
  },
2923
- 'select': function () {
2931
+ 'select': function (e) {
2932
+ if (e.detail.button === cancelBtn) {
2933
+ this.dialogResult = '';
2934
+ return;
2935
+ }
2924
2936
  this.dialogResult = this.data.text;
2925
2937
  },
2926
- 'buttons': [(_c = (_b = info.locale[locale]) === null || _b === void 0 ? void 0 : _b.ok) !== null && _c !== void 0 ? _c : info.locale['en'].ok],
2938
+ 'buttons': buttons,
2927
2939
  'autoDialogResult': false
2928
2940
  });
2929
2941
  return res;
package/dist/lib/form.ts CHANGED
@@ -3585,14 +3585,17 @@ export function dialog(opt: string | types.IFormDialogOptions): Promise<string>
3585
3585
  }
3586
3586
 
3587
3587
  public select(button: string): void {
3588
- const event = {
3588
+ const event: types.IFormDialogSelectEvent = {
3589
3589
  'go': true,
3590
3590
  preventDefault: function() {
3591
3591
  this.go = false;
3592
+ },
3593
+ 'detail': {
3594
+ 'button': button
3592
3595
  }
3593
3596
  };
3594
3597
  if (nopt.select) {
3595
- nopt.select.call(this, event as unknown as Event, button);
3598
+ nopt.select.call(this, event, button);
3596
3599
  }
3597
3600
  if (event.go) {
3598
3601
  if (nopt.autoDialogResult !== false) {
@@ -3679,6 +3682,11 @@ export async function prompt(opt: string | types.IFormPromptOptions): Promise<st
3679
3682
  return '';
3680
3683
  }
3681
3684
  const locale = t.locale.lang || core.config.locale;
3685
+ const buttons = [info.locale[locale]?.ok ?? info.locale['en'].ok];
3686
+ const cancelBtn = info.locale[locale]?.cancel ?? info.locale['en'].cancel;
3687
+ if (opt.cancel === true || opt.cancel === undefined) {
3688
+ buttons.unshift(cancelBtn);
3689
+ }
3682
3690
  const res = await dialog({
3683
3691
  'taskId': taskId,
3684
3692
 
@@ -3689,10 +3697,14 @@ export async function prompt(opt: string | types.IFormPromptOptions): Promise<st
3689
3697
  'data': {
3690
3698
  'text': opt.text ?? ''
3691
3699
  },
3692
- 'select': function(this: any) {
3700
+ 'select': function(e: types.IFormDialogSelectEvent) {
3701
+ if (e.detail.button === cancelBtn) {
3702
+ this.dialogResult = '';
3703
+ return;
3704
+ }
3693
3705
  this.dialogResult = this.data.text;
3694
3706
  },
3695
- 'buttons': [info.locale[locale]?.ok ?? info.locale['en'].ok],
3707
+ 'buttons': buttons,
3696
3708
  'autoDialogResult': false
3697
3709
  });
3698
3710
  return res;