clickgo 3.15.49 → 3.15.51

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 (44) hide show
  1. package/README.md +1 -1
  2. package/dist/app/demo/form/control/date/date.js +1 -0
  3. package/dist/app/demo/form/control/date/date.xml +2 -1
  4. package/dist/app/demo/form/control/daterange/daterange.js +1 -0
  5. package/dist/app/demo/form/control/daterange/daterange.xml +2 -1
  6. package/dist/app/demo/form/control/desc/desc.xml +13 -15
  7. package/dist/app/demo/form/control/palette/palette.xml +2 -0
  8. package/dist/app/demo/form/event/other/other.js +16 -0
  9. package/dist/clickgo.js +1 -1
  10. package/dist/clickgo.ts +1 -1
  11. package/dist/control/arteditor.cgc +0 -0
  12. package/dist/control/box.cgc +0 -0
  13. package/dist/control/common.cgc +0 -0
  14. package/dist/control/desc.cgc +0 -0
  15. package/dist/control/drawer.cgc +0 -0
  16. package/dist/control/echarts.cgc +0 -0
  17. package/dist/control/form.cgc +0 -0
  18. package/dist/control/iconview.cgc +0 -0
  19. package/dist/control/jodit.cgc +0 -0
  20. package/dist/control/map.cgc +0 -0
  21. package/dist/control/monaco.cgc +0 -0
  22. package/dist/control/nav.cgc +0 -0
  23. package/dist/control/page.cgc +0 -0
  24. package/dist/control/pdf.cgc +0 -0
  25. package/dist/control/property.cgc +0 -0
  26. package/dist/control/table.cgc +0 -0
  27. package/dist/control/task.cgc +0 -0
  28. package/dist/control/tuieditor.cgc +0 -0
  29. package/dist/control/tuiviewer.cgc +0 -0
  30. package/dist/control/xterm.cgc +0 -0
  31. package/dist/global.css +1 -1
  32. package/dist/index.js +6 -0
  33. package/dist/index.ts +12 -0
  34. package/dist/lib/core.js +20 -1
  35. package/dist/lib/core.ts +26 -1
  36. package/dist/lib/dom.js +2 -0
  37. package/dist/lib/dom.ts +2 -0
  38. package/dist/lib/form.js +6 -0
  39. package/dist/lib/form.ts +12 -0
  40. package/dist/theme/blue.cgt +0 -0
  41. package/dist/theme/byterun.cgt +0 -0
  42. package/dist/theme/light.cgt +0 -0
  43. package/package.json +1 -1
  44. package/types/index.d.ts +1 -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.8/dist/loader.min.js?path=index&npm={'clickgo':'3.15.49'}"></script>
28
+ <script src="https://cdn.jsdelivr.net/npm/@litert/loader@3.5.8/dist/loader.min.js?path=index&npm={'clickgo':'3.15.51'}"></script>
29
29
  ```
30
30
 
31
31
  **index.js**
@@ -30,6 +30,7 @@ class default_1 extends clickgo.form.AbstractForm {
30
30
  this.date = true;
31
31
  this.time = true;
32
32
  this.zone = true;
33
+ this.cclose = true;
33
34
  this.ts = undefined;
34
35
  this.tz = undefined;
35
36
  this.disabled = false;
@@ -2,7 +2,7 @@
2
2
  <layout direction="v" gutter="10" style="padding: 10px; flex: 1;">
3
3
  <label>Timestamp: {{ts}}, Time zone: {{tz}}</label>
4
4
  <label>yearmonth: {{ym}}, hourminute: {{hm}}</label>
5
- <date v-model="ts" v-model:tz="tz" :date="date" :time="time" :zone="zone" :disabled="disabled" :start="start ? 1706745600 : undefined" v-model:yearmonth="ym" v-model:hourminute="hm">
5
+ <date v-model="ts" v-model:tz="tz" :date="date" :time="time" :zone="zone" :close="cclose" :disabled="disabled" :start="start ? 1706745600 : undefined" v-model:yearmonth="ym" v-model:hourminute="hm">
6
6
  <template v-if="bottom" v-slot="d">
7
7
  <layout style="flex: 1;" align-h="center">{{d.year}}</layout>
8
8
  </template>
@@ -11,6 +11,7 @@
11
11
  <button @click="date = !date" style="flex: 1;">{{date ? '' : '!'}}date</button>
12
12
  <button @click="time = !time" style="flex: 1;">{{time ? '' : '!'}}time</button>
13
13
  <button @click="zone = !zone" style="flex: 1;">{{zone ? '' : '!'}}zone</button>
14
+ <button @click="cclose = !cclose" style="flex: 1;">{{cclose ? '' : '!'}}close</button>
14
15
  </layout>
15
16
  <layout gutter="10">
16
17
  <button @click="disabled = !disabled" style="flex: 1;">{{disabled ? '' : '!'}}disabled</button>
@@ -29,6 +29,7 @@ class default_1 extends clickgo.form.AbstractForm {
29
29
  super(...arguments);
30
30
  this.time = true;
31
31
  this.zone = true;
32
+ this.cclose = true;
32
33
  this.ts = [];
33
34
  this.tz = undefined;
34
35
  this.disabled = false;
@@ -1,7 +1,7 @@
1
1
  <form width="400" height="350" title="Daterange">
2
2
  <layout direction="v" gutter="10" style="padding: 10px; flex: 1;">
3
3
  <label>Timestamp: {{ts}}, Time zone: {{tz}}</label>
4
- <daterange v-model="ts" v-model:tz="tz" :time="time" :zone="zone" :disabled="disabled" :start="start ? 1706745600 : undefined">
4
+ <daterange v-model="ts" v-model:tz="tz" :time="time" :zone="zone" :close="cclose" :disabled="disabled" :start="start ? 1706745600 : undefined">
5
5
  <template v-if="bottom" v-slot="d">
6
6
  <layout style="flex: 1;" align-h="center">{{d.year}}</layout>
7
7
  </template>
@@ -9,6 +9,7 @@
9
9
  <layout gutter="10">
10
10
  <button @click="time = !time" style="flex: 1;">{{time ? '' : '!'}}time</button>
11
11
  <button @click="zone = !zone" style="flex: 1;">{{zone ? '' : '!'}}zone</button>
12
+ <button @click="cclose = !cclose" style="flex: 1;">{{cclose ? '' : '!'}}close</button>
12
13
  <button @click="tz = 9" style="flex: 1;">tz to 9</button>
13
14
  </layout>
14
15
  <layout gutter="10">
@@ -27,20 +27,18 @@
27
27
  <select v-model="size" style="flex: 1;" :data="['s', 'm', 'l', 'xl']" />
28
28
  </layout>
29
29
  <label>Test: {{cols}}</label>
30
- <flow style="flex: 1;">
31
- <desc :border="border" :collapse="collapse" :size="size[0]" :plain="plain" style="flex: 1;">
32
- <desc-row v-for="line of maxLine">
33
- <!-- 行 1 - max -->
34
- <template v-for="col of data.length">
35
- <!-- 1 - max -->
36
- <desc-cell v-if="col===data.length">{{data[col-1].child[(line-1)%cols[col-2]]}}</desc-cell>
37
- <desc-cell v-else-if="line%cols[col-1]===1" :rowspan="cols[col-1]">{{data[col-1].child[Math.floor((line-1)/cols[col-1])%data[col-1].child.length]}}</desc-cell>
38
- </template>
39
- <desc-cell>LINE-{{line}}</desc-cell>
40
- <desc-cell>DATA1</desc-cell>
41
- <desc-cell>DATA2</desc-cell>
42
- </desc-row>
43
- </desc>
44
- </flow>
30
+ <desc :border="border" :collapse="collapse" :size="size[0]" :plain="plain" style="flex: 1;">
31
+ <desc-row v-for="line of maxLine">
32
+ <!-- 行 1 - max -->
33
+ <template v-for="col of data.length">
34
+ <!-- 列 1 - max -->
35
+ <desc-cell v-if="col===data.length">{{data[col-1].child[(line-1)%cols[col-2]]}}</desc-cell>
36
+ <desc-cell v-else-if="line%cols[col-1]===1" :rowspan="cols[col-1]">{{data[col-1].child[Math.floor((line-1)/cols[col-1])%data[col-1].child.length]}}</desc-cell>
37
+ </template>
38
+ <desc-cell>LINE-{{line}}</desc-cell>
39
+ <desc-cell>DATA1</desc-cell>
40
+ <desc-cell>DATA2</desc-cell>
41
+ </desc-row>
42
+ </desc>
45
43
  </layout>
46
44
  </form>
@@ -4,11 +4,13 @@
4
4
  <palette v-model="value" :mode="mode[0]" style="flex: 1;"></palette>
5
5
  <layout gutter="10" align-v="center">
6
6
  <label style="flex: 1">value2: {{value2}}</label>
7
+ <button @click="value2='#c91d1d'">set</button>
7
8
  <colorist v-model="value2" :disabled="disabled" :mode="mode[0]"></colorist>
8
9
  </layout>
9
10
  <layout gutter="10">
10
11
  <select v-model="mode" :data="['hsl', 'rgb', 'hex']" style="flex: 1;"></select>
11
12
  <button @click="disabled = !disabled" style="flex: 1;">{{disabled ? '' : '!'}}disabled</button>
13
+ <button @click="value='#0303e2'" style="flex: 1;">set first</button>
12
14
  </layout>
13
15
  </layout>
14
16
  </form>
@@ -48,5 +48,21 @@ class default_1 extends clickgo.form.AbstractForm {
48
48
  'content': hash
49
49
  });
50
50
  }
51
+ onKeydown(e) {
52
+ const date = new Date();
53
+ this.list.unshift({
54
+ 'time': date.getHours().toString() + ':' + date.getMinutes().toString() + ':' + date.getSeconds().toString(),
55
+ 'name': 'keydown',
56
+ 'content': e.key
57
+ });
58
+ }
59
+ onKeyup(e) {
60
+ const date = new Date();
61
+ this.list.unshift({
62
+ 'time': date.getHours().toString() + ':' + date.getMinutes().toString() + ':' + date.getSeconds().toString(),
63
+ 'name': 'keyup',
64
+ 'content': e.key
65
+ });
66
+ }
51
67
  }
52
68
  exports.default = default_1;
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.49';
32
+ const version = '3.15.51';
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.49';
16
+ const version = '3.15.51';
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
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:Inter, "SF Pro Text", Roboto, "Helvetica Neue", Helvetica, Tahoma, Arial, "PingFang SC", "Microsoft YaHei";--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-hover:hsl(0, 0%, 90%);--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:hsla(0,0%,100%,.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:hsla(0,0%,100%,.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:hsla(0,0%,100%,.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:hsla(0,0%,100%,.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:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Helvetica,Arial,"PingFang SC","Hiragino Sans GB","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-hover:hsl(0, 0%, 90%);--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/index.js CHANGED
@@ -98,6 +98,12 @@ class AbstractBoot {
98
98
  onHashChanged() {
99
99
  return;
100
100
  }
101
+ onKeydown() {
102
+ return;
103
+ }
104
+ onKeyup() {
105
+ return;
106
+ }
101
107
  onRuntimeFileLoad() {
102
108
  return;
103
109
  }
package/dist/index.ts CHANGED
@@ -176,6 +176,18 @@ export abstract class AbstractBoot {
176
176
  return;
177
177
  }
178
178
 
179
+ /** --- 键盘按下事件 --- */
180
+ public onKeydown(e: KeyboardEvent): void | Promise<void>;
181
+ public onKeydown(): void {
182
+ return;
183
+ }
184
+
185
+ /** --- 键盘弹起事件 --- */
186
+ public onKeyup(e: KeyboardEvent): void | Promise<void>;
187
+ public onKeyup(): void {
188
+ return;
189
+ }
190
+
179
191
  /** --- 环境文件准备加载时的事件 --- */
180
192
  public onRuntimeFileLoad(url: string): void | Promise<void>;
181
193
  public onRuntimeFileLoad(): void {
package/dist/lib/core.js CHANGED
@@ -149,6 +149,12 @@ class AbstractApp {
149
149
  onHashChanged() {
150
150
  return;
151
151
  }
152
+ onKeydown() {
153
+ return;
154
+ }
155
+ onKeyup() {
156
+ return;
157
+ }
152
158
  }
153
159
  exports.AbstractApp = AbstractApp;
154
160
  function getCdn() {
@@ -442,7 +448,7 @@ const globalEvents = {
442
448
  }
443
449
  };
444
450
  function trigger(name, taskId = 0, formId = 0, param1 = '', param2 = '', param3 = true) {
445
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25;
451
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30;
446
452
  const eventName = 'on' + name[0].toUpperCase() + name.slice(1);
447
453
  switch (name) {
448
454
  case 'error': {
@@ -607,6 +613,19 @@ function trigger(name, taskId = 0, formId = 0, param1 = '', param2 = '', param3
607
613
  }
608
614
  break;
609
615
  }
616
+ case 'keydown':
617
+ case 'keyup': {
618
+ (_27 = (_26 = globalEvents)[name]) === null || _27 === void 0 ? void 0 : _27.call(_26, taskId);
619
+ exports.boot === null || exports.boot === void 0 ? void 0 : exports.boot[eventName](taskId);
620
+ for (const tid in task.list) {
621
+ const t = task.list[tid];
622
+ (_28 = t.class) === null || _28 === void 0 ? void 0 : _28[eventName](taskId);
623
+ for (const fid in t.forms) {
624
+ (_30 = (_29 = t.forms[fid].vroot)[eventName]) === null || _30 === void 0 ? void 0 : _30.call(_29, taskId);
625
+ }
626
+ }
627
+ break;
628
+ }
610
629
  }
611
630
  }
612
631
  function readApp(blob) {
package/dist/lib/core.ts CHANGED
@@ -198,6 +198,18 @@ export abstract class AbstractApp {
198
198
  return;
199
199
  }
200
200
 
201
+ /** --- 键盘按下事件 --- */
202
+ public onKeydown(e: KeyboardEvent): void | Promise<void>;
203
+ public onKeydown(): void {
204
+ return;
205
+ }
206
+
207
+ /** --- 键盘弹起事件 --- */
208
+ public onKeyup(e: KeyboardEvent): void | Promise<void>;
209
+ public onKeyup(): void {
210
+ return;
211
+ }
212
+
201
213
  }
202
214
 
203
215
  /** --- CDN 地址 --- */
@@ -511,7 +523,7 @@ const globalEvents = {
511
523
  /**
512
524
  * --- 主动触发系统级事件,App 中无效,用 this.trigger 替代 ---
513
525
  */
514
- export function trigger(name: types.TGlobalEvent, taskId: number | string | boolean = 0, formId: number | string | boolean | Record<string, any> | null = 0, param1: boolean | Error | string = '', param2: string | Record<string, any> = '', param3: boolean = true): void {
526
+ export function trigger(name: types.TGlobalEvent, taskId: number | string | boolean | KeyboardEvent = 0, formId: number | string | boolean | Record<string, any> | null = 0, param1: boolean | Error | string = '', param2: string | Record<string, any> = '', param3: boolean = true): void {
515
527
  const eventName = 'on' + name[0].toUpperCase() + name.slice(1);
516
528
  switch (name) {
517
529
  case 'error': {
@@ -676,6 +688,19 @@ export function trigger(name: types.TGlobalEvent, taskId: number | string | bool
676
688
  }
677
689
  break;
678
690
  }
691
+ case 'keydown':
692
+ case 'keyup': {
693
+ (globalEvents as any)[name]?.(taskId);
694
+ (boot as any)?.[eventName](taskId);
695
+ for (const tid in task.list) {
696
+ const t = task.list[tid];
697
+ (t.class as any)?.[eventName](taskId);
698
+ for (const fid in t.forms) {
699
+ t.forms[fid].vroot[eventName]?.(taskId);
700
+ }
701
+ }
702
+ break;
703
+ }
679
704
  }
680
705
  }
681
706
 
package/dist/lib/dom.js CHANGED
@@ -1620,6 +1620,7 @@ window.addEventListener('keydown', function (e) {
1620
1620
  break;
1621
1621
  }
1622
1622
  }
1623
+ core.trigger('keydown', e);
1623
1624
  });
1624
1625
  window.addEventListener('keyup', function (e) {
1625
1626
  switch (e.key) {
@@ -1636,6 +1637,7 @@ window.addEventListener('keyup', function (e) {
1636
1637
  break;
1637
1638
  }
1638
1639
  }
1640
+ core.trigger('keyup', e);
1639
1641
  });
1640
1642
  function bindMove(e, opt) {
1641
1643
  var _a, _b, _c, _d;
package/dist/lib/dom.ts CHANGED
@@ -2059,6 +2059,7 @@ window.addEventListener('keydown', function(e: KeyboardEvent) {
2059
2059
  break;
2060
2060
  }
2061
2061
  }
2062
+ core.trigger('keydown', e);
2062
2063
  });
2063
2064
  window.addEventListener('keyup', function(e: KeyboardEvent) {
2064
2065
  switch (e.key) {
@@ -2075,6 +2076,7 @@ window.addEventListener('keyup', function(e: KeyboardEvent) {
2075
2076
  break;
2076
2077
  }
2077
2078
  }
2079
+ core.trigger('keyup', e);
2078
2080
  });
2079
2081
 
2080
2082
  /**
package/dist/lib/form.js CHANGED
@@ -623,6 +623,12 @@ class AbstractForm extends AbstractCommon {
623
623
  onHashChanged() {
624
624
  return;
625
625
  }
626
+ onKeydown() {
627
+ return;
628
+ }
629
+ onKeyup() {
630
+ return;
631
+ }
626
632
  }
627
633
  exports.AbstractForm = AbstractForm;
628
634
  const popInfo = {
package/dist/lib/form.ts CHANGED
@@ -852,6 +852,18 @@ export abstract class AbstractForm extends AbstractCommon {
852
852
  return;
853
853
  }
854
854
 
855
+ /** --- 键盘按下事件 --- */
856
+ public onKeydown(e: KeyboardEvent): void | Promise<void>;
857
+ public onKeydown(): void {
858
+ return;
859
+ }
860
+
861
+ /** --- 键盘弹起事件 --- */
862
+ public onKeyup(e: KeyboardEvent): void | Promise<void>;
863
+ public onKeyup(): void {
864
+ return;
865
+ }
866
+
855
867
  }
856
868
 
857
869
  /** --- pop 相关信息 --- */
Binary file
Binary file
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clickgo",
3
- "version": "3.15.49",
3
+ "version": "3.15.51",
4
4
  "description": "Background interface, software interface, mobile phone APP interface operation library.",
5
5
  "keywords": [
6
6
  "deskrt",
package/types/index.d.ts CHANGED
@@ -86,7 +86,7 @@ export interface IAvailArea {
86
86
  }
87
87
 
88
88
  /** --- 全局事件类型 --- */
89
- export type TGlobalEvent = 'error' | 'screenResize' | 'configChanged' | 'formCreated' | 'formRemoved' | 'formTitleChanged' | 'formIconChanged' | 'formStateMinChanged' | 'formStateMaxChanged' | 'formShowChanged' | 'formFocused' | 'formBlurred' | 'formFlash' | 'formShowInSystemTaskChange' | 'formHashChange' | 'taskStarted' | 'taskEnded' | 'launcherFolderNameChanged' | 'hashChanged';
89
+ export type TGlobalEvent = 'error' | 'screenResize' | 'configChanged' | 'formCreated' | 'formRemoved' | 'formTitleChanged' | 'formIconChanged' | 'formStateMinChanged' | 'formStateMaxChanged' | 'formShowChanged' | 'formFocused' | 'formBlurred' | 'formFlash' | 'formShowInSystemTaskChange' | 'formHashChange' | 'taskStarted' | 'taskEnded' | 'launcherFolderNameChanged' | 'hashChanged' | 'keydown' | 'keyup';
90
90
 
91
91
  /** --- 现场下载 app 的参数 --- */
92
92
  export interface ICoreFetchAppOptions {