peryl 1.5.33 → 1.5.35

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 (68) hide show
  1. package/demo/hsml-app-test_demo.ts +2 -3
  2. package/dist/browser-esmodule/hsml-app.js +63 -67
  3. package/dist/browser-esmodule/hsml-app.js.map +1 -1
  4. package/dist/browser-esmodule/hsml-dom.js +39 -61
  5. package/dist/browser-esmodule/hsml-dom.js.map +1 -1
  6. package/dist/browser-esmodule/hsml-html.js +39 -61
  7. package/dist/browser-esmodule/hsml-html.js.map +1 -1
  8. package/dist/browser-esmodule/hsml-idom.js +39 -61
  9. package/dist/browser-esmodule/hsml-idom.js.map +1 -1
  10. package/dist/browser-esmodule/hsml.js +39 -61
  11. package/dist/browser-esmodule/hsml.js.map +1 -1
  12. package/dist/browser-esmodule/index.js +63 -67
  13. package/dist/browser-esmodule/index.js.map +1 -1
  14. package/dist/browser-umd/hsml-app.js +1 -1
  15. package/dist/browser-umd/hsml-app.js.map +1 -1
  16. package/dist/browser-umd/hsml-dom.js +1 -1
  17. package/dist/browser-umd/hsml-dom.js.map +1 -1
  18. package/dist/browser-umd/hsml-html.js +1 -1
  19. package/dist/browser-umd/hsml-html.js.map +1 -1
  20. package/dist/browser-umd/hsml-idom.js +1 -1
  21. package/dist/browser-umd/hsml-idom.js.map +1 -1
  22. package/dist/browser-umd/hsml.js +1 -1
  23. package/dist/browser-umd/hsml.js.map +1 -1
  24. package/dist/browser-umd/index.js +1 -1
  25. package/dist/browser-umd/index.js.map +1 -1
  26. package/dist/demo/hsml-app-bysquare_demo.html +1 -1
  27. package/dist/demo/hsml-app-form-validation_demo.html +1 -1
  28. package/dist/demo/hsml-app-form_demo.html +1 -1
  29. package/dist/demo/hsml-app-test_demo.4a116b33.js +2 -0
  30. package/dist/demo/hsml-app-test_demo.4a116b33.js.map +1 -0
  31. package/dist/demo/hsml-app-test_demo.d9c12ac9.js +2 -0
  32. package/dist/demo/hsml-app-test_demo.d9c12ac9.js.map +1 -0
  33. package/dist/demo/hsml-app-test_demo.html +1 -1
  34. package/dist/demo/hsml-app-tictactoe_demo.html +1 -1
  35. package/dist/demo/hsml-app_demo.html +1 -1
  36. package/dist/demo/hsml-appel-usercard_demo.html +1 -1
  37. package/dist/demo/hsml-appel_demo.html +1 -1
  38. package/dist/demo/hsml-appi_demo.3842e7ad.js +2 -0
  39. package/dist/demo/hsml-appi_demo.3842e7ad.js.map +1 -0
  40. package/dist/demo/hsml-appi_demo.70e09178.js +2 -0
  41. package/dist/demo/hsml-appi_demo.70e09178.js.map +1 -0
  42. package/dist/demo/hsml-appi_demo.html +1 -1
  43. package/dist/demo/hsml_demo.3b8d4fbe.js +2 -0
  44. package/dist/demo/hsml_demo.3b8d4fbe.js.map +1 -0
  45. package/dist/demo/hsml_demo.71e1ca15.js +2 -0
  46. package/dist/demo/hsml_demo.71e1ca15.js.map +1 -0
  47. package/dist/demo/hsml_demo.html +1 -1
  48. package/dist/hsml-app.d.ts +1 -1
  49. package/dist/hsml-app.js +24 -8
  50. package/dist/hsml-app.js.map +1 -1
  51. package/dist/hsml.d.ts +3 -2
  52. package/dist/hsml.js +55 -66
  53. package/dist/hsml.js.map +1 -1
  54. package/package.json +1 -1
  55. package/src/hsml-app.ts +43 -10
  56. package/src/hsml.ts +133 -113
  57. package/dist/demo/hsml-app-test_demo.3e9243f0.js +0 -2
  58. package/dist/demo/hsml-app-test_demo.3e9243f0.js.map +0 -1
  59. package/dist/demo/hsml-app-test_demo.87e52ec0.js +0 -2
  60. package/dist/demo/hsml-app-test_demo.87e52ec0.js.map +0 -1
  61. package/dist/demo/hsml-appi_demo.47dba0a4.js +0 -2
  62. package/dist/demo/hsml-appi_demo.47dba0a4.js.map +0 -1
  63. package/dist/demo/hsml-appi_demo.bc174bf2.js +0 -2
  64. package/dist/demo/hsml-appi_demo.bc174bf2.js.map +0 -1
  65. package/dist/demo/hsml_demo.09844cda.js +0 -2
  66. package/dist/demo/hsml_demo.09844cda.js.map +0 -1
  67. package/dist/demo/hsml_demo.42652a77.js +0 -2
  68. package/dist/demo/hsml_demo.42652a77.js.map +0 -1
@@ -31,10 +31,9 @@ const counterDispatcher: HDispatcher<CounterState, CounterActions> = async funct
31
31
  switch (action.type) {
32
32
 
33
33
  case HAppActions.mount:
34
- this.addEventListener(
34
+ this.eventListener(
35
35
  Actions.xXx,
36
- (event: Event) => {
37
- const data = (event as CustomEvent).detail;
36
+ (data: any) => {
38
37
  dispatch(CounterActions.dec, data);
39
38
  });
40
39
  break;
@@ -19,81 +19,58 @@ const $a15669afd069c056$export$4442f9d5f627adc8 = "\xa0";
19
19
  const $a15669afd069c056$export$3027455780d8394 = " ";
20
20
  const $a15669afd069c056$export$76bbc0cf5037aeea = " ";
21
21
  const $a15669afd069c056$export$480ed2f7fd18b4a2 = " ";
22
+ const $a15669afd069c056$var$headRegex = /^([^#.~]*)(?:#([^.~]*))?(?:\.([^~]*))?(?:~(.*))?$/;
22
23
  function $a15669afd069c056$export$8f4ee6ea2853750b(hml, handler, ctx) {
23
24
  if (hml === undefined || hml === null) return;
24
- switch(hml.constructor){
25
- case Array:
26
- hsmlTag(hml, handler, ctx);
27
- break;
28
- case Function:
29
- handler.fnc(hml, ctx);
30
- break;
31
- case String:
32
- handler.text(hml, ctx);
33
- break;
34
- case Boolean:
35
- handler.text("" + hml, ctx);
36
- break;
37
- case Number:
38
- const n = hml;
39
- const ns = n.toLocaleString ? n.toLocaleString() : n.toString();
40
- handler.text(ns, ctx);
41
- break;
42
- case Date:
43
- const d = hml;
44
- const ds = d.toLocaleString ? d.toLocaleString() : d.toString();
45
- handler.text(ds, ctx);
46
- break;
47
- default:
48
- handler.obj(hml, ctx);
49
- }
25
+ if (Array.isArray(hml)) hsmlTag(hml, handler, ctx);
26
+ else if (typeof hml === "function") handler.fnc(hml, ctx);
27
+ else if (typeof hml === "string") handler.text(hml, ctx);
28
+ else if (typeof hml === "boolean") handler.text("" + hml, ctx);
29
+ else if (typeof hml === "number") {
30
+ const n = hml;
31
+ const ns = n.toLocaleString ? n.toLocaleString() : n.toString();
32
+ handler.text(ns, ctx);
33
+ } else if (hml instanceof Date) {
34
+ const d = hml;
35
+ const ds = d.toLocaleString ? d.toLocaleString() : d.toString();
36
+ handler.text(ds, ctx);
37
+ } else if (typeof hml === "object") handler.obj(hml, ctx);
38
+ else console.warn("hsml: unexpected element type:", hml);
50
39
  function hsmlTag(hmlTag, handler, ctx) {
51
- var _a;
52
40
  if (typeof hmlTag[0] !== "string") {
53
- console.error("HSML tag head not string:", hmlTag);
41
+ console.error("hsml: tag head is not a string:", hmlTag);
54
42
  return;
55
43
  }
56
44
  const head = hmlTag[0];
57
45
  const attrsObj = hmlTag[1];
58
- const hasAttrs = attrsObj && attrsObj.constructor === Object;
46
+ const hasAttrs = attrsObj !== null && attrsObj !== undefined && !Array.isArray(attrsObj) && typeof attrsObj === "object" && !(attrsObj instanceof Date);
59
47
  const childIdx = hasAttrs ? 2 : 1;
60
48
  let children = [];
61
49
  let hFnc;
62
50
  let hObj;
63
51
  const htc = hmlTag[childIdx];
64
- switch(htc != null && htc.constructor){
65
- case Array:
66
- children = htc;
67
- break;
68
- case Function:
69
- hFnc = htc;
70
- break;
71
- case String:
72
- case Boolean:
73
- case Number:
74
- case Date:
75
- children = [
76
- htc
77
- ];
78
- break;
79
- default:
80
- hObj = htc;
81
- break;
52
+ if (htc != null) {
53
+ if (Array.isArray(htc)) children = htc;
54
+ else if (typeof htc === "function") hFnc = htc;
55
+ else if (typeof htc === "string" || typeof htc === "boolean" || typeof htc === "number" || htc instanceof Date) children = [
56
+ htc
57
+ ];
58
+ else hObj = htc;
82
59
  }
83
- const refSplit = head.split("~");
84
- const ref = refSplit[1];
85
- const dotSplit = refSplit[0].split(".");
86
- const hashSplit = dotSplit[0].split("#");
87
- const tag = (_a = hashSplit[0]) !== null && _a !== void 0 ? _a : "div";
88
- const id = hashSplit[1];
89
- const classes = dotSplit.slice(1);
90
- let attrs;
91
- if (hasAttrs) attrs = attrsObj;
92
- else attrs = {};
93
- if (id) attrs._id = id;
94
- if (classes.length) attrs._classes = classes;
95
- if (ref) attrs._ref = ref;
96
- if (hObj) attrs._hObj = hObj;
60
+ const match = head.match($a15669afd069c056$var$headRegex);
61
+ const tag = match[1] || "div";
62
+ const id = match[2];
63
+ const classes = match[3] ? match[3].split(".") : [];
64
+ const ref = match[4];
65
+ const attrs = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, hasAttrs ? attrsObj : {}), id && {
66
+ _id: id
67
+ }), classes.length && {
68
+ _classes: classes
69
+ }), ref && {
70
+ _ref: ref
71
+ }), hObj && {
72
+ _hObj: hObj
73
+ });
97
74
  const skip = handler.open(tag, attrs, children, ctx);
98
75
  if (hFnc) handler.fnc(hFnc, ctx);
99
76
  if (!skip) children.forEach((jml)=>$a15669afd069c056$export$8f4ee6ea2853750b(jml, handler, ctx));
@@ -101,6 +78,7 @@ function $a15669afd069c056$export$8f4ee6ea2853750b(hml, handler, ctx) {
101
78
  }
102
79
  }
103
80
  function $a15669afd069c056$export$7427c8b17ccb408c(hsmls, sep) {
81
+ if (hsmls.length === 0) return [];
104
82
  const r = hsmls.reduce((p, c)=>(p.push(c, sep), p), []);
105
83
  r.splice(-1);
106
84
  return r;
@@ -986,8 +964,26 @@ var $9adf8bc2f1ba310f$export$3dcd9fad60135c2c;
986
964
  HAppActions["umount"] = "happ-umount";
987
965
  HAppActions["attribute"] = "happ-attribute";
988
966
  })($9adf8bc2f1ba310f$export$3dcd9fad60135c2c || ($9adf8bc2f1ba310f$export$3dcd9fad60135c2c = {}));
989
- const $9adf8bc2f1ba310f$var$schedule = (callback)=>window.requestAnimationFrame(callback);
990
- const $9adf8bc2f1ba310f$var$unschedule = (handle)=>window.cancelAnimationFrame(handle);
967
+ const $9adf8bc2f1ba310f$var$scheduledCallbacks = new Map();
968
+ let $9adf8bc2f1ba310f$var$scheduleId = 0;
969
+ const $9adf8bc2f1ba310f$var$scheduleChannel = new MessageChannel();
970
+ $9adf8bc2f1ba310f$var$scheduleChannel.port2.onmessage = ()=>{
971
+ const cbs = [
972
+ ...$9adf8bc2f1ba310f$var$scheduledCallbacks.values()
973
+ ];
974
+ $9adf8bc2f1ba310f$var$scheduledCallbacks.clear();
975
+ cbs.forEach((cb)=>cb());
976
+ };
977
+ const $9adf8bc2f1ba310f$var$schedule = (callback)=>{
978
+ const id = ++$9adf8bc2f1ba310f$var$scheduleId;
979
+ const wasEmpty = $9adf8bc2f1ba310f$var$scheduledCallbacks.size === 0;
980
+ $9adf8bc2f1ba310f$var$scheduledCallbacks.set(id, callback);
981
+ if (wasEmpty) $9adf8bc2f1ba310f$var$scheduleChannel.port1.postMessage(null);
982
+ return id;
983
+ };
984
+ const $9adf8bc2f1ba310f$var$unschedule = (handle)=>{
985
+ $9adf8bc2f1ba310f$var$scheduledCallbacks.delete(handle);
986
+ };
991
987
  const $9adf8bc2f1ba310f$var$msgAction = "action:";
992
988
  const $9adf8bc2f1ba310f$var$msgDispatch = "dispatch:";
993
989
  const $9adf8bc2f1ba310f$var$msgRender = "render:";
@@ -1202,10 +1198,10 @@ class $9adf8bc2f1ba310f$export$8cfef5dc37c46888 {
1202
1198
  }
1203
1199
  });
1204
1200
  }
1205
- addEventListener(type, listener, element = window) {
1201
+ eventListener(type, listener, element = window) {
1206
1202
  var _a;
1207
1203
  if (!this._abortController) this._abortController = new AbortController();
1208
- element.addEventListener(type, listener, {
1204
+ element.addEventListener(type, (e)=>listener("detail" in e ? e.detail : undefined, e), {
1209
1205
  signal: (_a = this._abortController) === null || _a === void 0 ? void 0 : _a.signal
1210
1206
  });
1211
1207
  }
@@ -1232,12 +1228,12 @@ function $9adf8bc2f1ba310f$var$arrayBufferToBase64(buffer) {
1232
1228
  return btoa(binary);
1233
1229
  }
1234
1230
  function $9adf8bc2f1ba310f$var$formData(e) {
1231
+ var _a;
1235
1232
  return $9adf8bc2f1ba310f$var$__awaiter(this, void 0, void 0, function*() {
1236
1233
  const el = e.target;
1237
1234
  switch(el.nodeName){
1238
1235
  case "FORM":
1239
- if (e instanceof SubmitEvent) e.preventDefault();
1240
- e.preventDefault();
1236
+ (_a = e.preventDefault) === null || _a === void 0 || _a.call(e);
1241
1237
  const form = {
1242
1238
  data: {},
1243
1239
  validation: {},