peryl 1.5.6 → 1.5.8

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 (96) hide show
  1. package/demo/hsml-app-form_demo.ts +22 -1
  2. package/demo/hsml-app-test_demo.ts +3 -0
  3. package/dist/browser-esmodule/hsml-app.js +30 -19
  4. package/dist/browser-esmodule/hsml-app.js.map +1 -1
  5. package/dist/browser-esmodule/index.js +33 -20
  6. package/dist/browser-esmodule/index.js.map +1 -1
  7. package/dist/browser-esmodule/validators-moment.js +3 -1
  8. package/dist/browser-esmodule/validators-moment.js.map +1 -1
  9. package/dist/browser-esmodule/validators-numeral.js +3 -1
  10. package/dist/browser-esmodule/validators-numeral.js.map +1 -1
  11. package/dist/browser-esmodule/validators.js +4 -2
  12. package/dist/browser-esmodule/validators.js.map +1 -1
  13. package/dist/browser-umd/hsml-app.js +1 -1
  14. package/dist/browser-umd/hsml-app.js.map +1 -1
  15. package/dist/browser-umd/index.js +1 -1
  16. package/dist/browser-umd/index.js.map +1 -1
  17. package/dist/browser-umd/validators-moment.js +1 -1
  18. package/dist/browser-umd/validators-moment.js.map +1 -1
  19. package/dist/browser-umd/validators-numeral.js +1 -1
  20. package/dist/browser-umd/validators-numeral.js.map +1 -1
  21. package/dist/browser-umd/validators.js +1 -1
  22. package/dist/browser-umd/validators.js.map +1 -1
  23. package/dist/demo/hsml-app-form-validation_demo.0a96208f.js +2 -0
  24. package/dist/demo/hsml-app-form-validation_demo.0a96208f.js.map +1 -0
  25. package/dist/demo/hsml-app-form-validation_demo.f978a37a.js +2 -0
  26. package/dist/demo/hsml-app-form-validation_demo.f978a37a.js.map +1 -0
  27. package/dist/demo/hsml-app-form-validation_demo.html +1 -1
  28. package/dist/demo/hsml-app-form_demo.9b60b61c.js +2 -0
  29. package/dist/demo/hsml-app-form_demo.9b60b61c.js.map +1 -0
  30. package/dist/demo/hsml-app-form_demo.c90fa370.js +2 -0
  31. package/dist/demo/hsml-app-form_demo.c90fa370.js.map +1 -0
  32. package/dist/demo/hsml-app-form_demo.html +1 -1
  33. package/dist/demo/hsml-app-test_demo.6a8e9136.js +2 -0
  34. package/dist/demo/hsml-app-test_demo.6a8e9136.js.map +1 -0
  35. package/dist/demo/hsml-app-test_demo.ab25579c.js +2 -0
  36. package/dist/demo/hsml-app-test_demo.ab25579c.js.map +1 -0
  37. package/dist/demo/hsml-app-test_demo.html +1 -1
  38. package/dist/demo/hsml-app-tictactoe_demo.8645fee1.js +2 -0
  39. package/dist/demo/hsml-app-tictactoe_demo.8645fee1.js.map +1 -0
  40. package/dist/demo/hsml-app-tictactoe_demo.d217c5b7.js +2 -0
  41. package/dist/demo/hsml-app-tictactoe_demo.d217c5b7.js.map +1 -0
  42. package/dist/demo/hsml-app-tictactoe_demo.html +1 -1
  43. package/dist/demo/hsml-app_demo.4bfc35c1.js +2 -0
  44. package/dist/demo/hsml-app_demo.4bfc35c1.js.map +1 -0
  45. package/dist/demo/hsml-app_demo.fce5f266.js +2 -0
  46. package/dist/demo/hsml-app_demo.fce5f266.js.map +1 -0
  47. package/dist/demo/hsml-app_demo.html +1 -1
  48. package/dist/demo/hsml-appel_demo.24f802cc.js +2 -0
  49. package/dist/demo/hsml-appel_demo.24f802cc.js.map +1 -0
  50. package/dist/demo/hsml-appel_demo.e6368c6c.js +2 -0
  51. package/dist/demo/hsml-appel_demo.e6368c6c.js.map +1 -0
  52. package/dist/demo/hsml-appel_demo.html +1 -1
  53. package/dist/demo/hsml-appi_demo.2e622dfe.js +2 -0
  54. package/dist/demo/hsml-appi_demo.2e622dfe.js.map +1 -0
  55. package/dist/demo/hsml-appi_demo.dd571d2a.js +2 -0
  56. package/dist/demo/hsml-appi_demo.dd571d2a.js.map +1 -0
  57. package/dist/demo/hsml-appi_demo.html +1 -1
  58. package/dist/demo/validators_demo.6a5913d0.js.map +1 -1
  59. package/dist/demo/validators_demo.8a773c14.js.map +1 -1
  60. package/dist/hsml-app.d.ts +3 -4
  61. package/dist/hsml-app.js +22 -13
  62. package/dist/hsml-app.js.map +1 -1
  63. package/dist/validators.d.ts +1 -0
  64. package/dist/validators.js +3 -2
  65. package/dist/validators.js.map +1 -1
  66. package/package.json +1 -1
  67. package/src/hsml-app.ts +26 -21
  68. package/src/validators.ts +3 -1
  69. package/dist/demo/hsml-app-form-validation_demo.15177b24.js +0 -2
  70. package/dist/demo/hsml-app-form-validation_demo.15177b24.js.map +0 -1
  71. package/dist/demo/hsml-app-form-validation_demo.4382a0eb.js +0 -2
  72. package/dist/demo/hsml-app-form-validation_demo.4382a0eb.js.map +0 -1
  73. package/dist/demo/hsml-app-form_demo.51d49351.js +0 -2
  74. package/dist/demo/hsml-app-form_demo.51d49351.js.map +0 -1
  75. package/dist/demo/hsml-app-form_demo.be641ffa.js +0 -2
  76. package/dist/demo/hsml-app-form_demo.be641ffa.js.map +0 -1
  77. package/dist/demo/hsml-app-test_demo.ed8a7474.js +0 -2
  78. package/dist/demo/hsml-app-test_demo.ed8a7474.js.map +0 -1
  79. package/dist/demo/hsml-app-test_demo.f40ed9d3.js +0 -2
  80. package/dist/demo/hsml-app-test_demo.f40ed9d3.js.map +0 -1
  81. package/dist/demo/hsml-app-tictactoe_demo.729eb1bc.js +0 -2
  82. package/dist/demo/hsml-app-tictactoe_demo.729eb1bc.js.map +0 -1
  83. package/dist/demo/hsml-app-tictactoe_demo.dd4b41dd.js +0 -2
  84. package/dist/demo/hsml-app-tictactoe_demo.dd4b41dd.js.map +0 -1
  85. package/dist/demo/hsml-app_demo.51bb6b99.js +0 -2
  86. package/dist/demo/hsml-app_demo.51bb6b99.js.map +0 -1
  87. package/dist/demo/hsml-app_demo.b99fc1e8.js +0 -2
  88. package/dist/demo/hsml-app_demo.b99fc1e8.js.map +0 -1
  89. package/dist/demo/hsml-appel_demo.2870f567.js +0 -2
  90. package/dist/demo/hsml-appel_demo.2870f567.js.map +0 -1
  91. package/dist/demo/hsml-appel_demo.32b75e99.js +0 -2
  92. package/dist/demo/hsml-appel_demo.32b75e99.js.map +0 -1
  93. package/dist/demo/hsml-appi_demo.1a389c5c.js +0 -2
  94. package/dist/demo/hsml-appi_demo.1a389c5c.js.map +0 -1
  95. package/dist/demo/hsml-appi_demo.3c7ab926.js +0 -2
  96. package/dist/demo/hsml-appi_demo.3c7ab926.js.map +0 -1
@@ -145,6 +145,16 @@ const view: HView<State, Actions> = function (state) {
145
145
  ]
146
146
  ]
147
147
  ]],
148
+ ["p", [
149
+ ["label", ["Data",
150
+ ["input.w3-input", {
151
+ type: "file",
152
+ name: "file",
153
+ accept: "application/json,.json",
154
+ multiple: false
155
+ }]
156
+ ]]
157
+ ]],
148
158
  ["button.w3-btn.w3-blue", "Submit"]
149
159
  ]
150
160
  ]
@@ -163,7 +173,18 @@ const dispatcher: HDispatcher<State, Actions> = async function (action, state) {
163
173
  break;
164
174
 
165
175
  case Actions.change:
166
- console.log("FormActions.change", JSON.stringify(action.data, null, 4));
176
+ console.log("FormActions.change", action.data);
177
+ if (action.data.file) {
178
+ const file = action.data.file as File;
179
+ // Read the file as text
180
+ console.log("FormActions.change file text:", await file.text());
181
+ // Abuse response to read json data
182
+ console.log("FormActions.change file json:", JSON.stringify(await new Response(file).json(), null, 4));
183
+ // Read the file as ArrayBuffer to handle binary data
184
+ console.log("FormActions.change file ArrayBuffer:", new Uint8Array(await file.arrayBuffer()));
185
+ // Read large data chunk by chunk
186
+ console.log("FormActions.change file stream:", file.stream());
187
+ }
167
188
  break;
168
189
 
169
190
  case Actions.submit:
@@ -28,9 +28,11 @@ const counterDispatcher: HDispatcher<CounterState, CounterActions> = async funct
28
28
  // console.log("happ counter:", this);
29
29
 
30
30
  switch (action.type) {
31
+
31
32
  case HAppActions.mount:
32
33
  this.windowDispatchOn();
33
34
  break;
35
+
34
36
  case HAppActions.umount:
35
37
  this.windowDispatchOff();
36
38
  break;
@@ -48,6 +50,7 @@ const counterDispatcher: HDispatcher<CounterState, CounterActions> = async funct
48
50
  state.count = state.count + action.data as number;
49
51
  setTimeout(() => dispatch(CounterActions.dec, 1), 1e3); // async call
50
52
  break;
53
+
51
54
  case CounterActions.dec:
52
55
  state.count = state.count - action.data as number;
53
56
  break;
@@ -981,7 +981,6 @@ var $9adf8bc2f1ba310f$export$3dcd9fad60135c2c;
981
981
  HAppActions["init"] = "happ-init";
982
982
  HAppActions["mount"] = "happ-mount";
983
983
  HAppActions["umount"] = "happ-umount";
984
- HAppActions["update"] = "happ-update";
985
984
  HAppActions["action"] = "happ-action";
986
985
  HAppActions["attribute"] = "happ-attribute";
987
986
  })($9adf8bc2f1ba310f$export$3dcd9fad60135c2c || ($9adf8bc2f1ba310f$export$3dcd9fad60135c2c = {}));
@@ -1069,6 +1068,28 @@ class $9adf8bc2f1ba310f$export$8cfef5dc37c46888 {
1069
1068
  }
1070
1069
  });
1071
1070
  }
1071
+ _dispatchElement(type, data) {
1072
+ return $9adf8bc2f1ba310f$var$__awaiter(this, void 0, void 0, function*() {
1073
+ this.customElement && $9adf8bc2f1ba310f$var$elementDispatchCustomEvent(this.customElement, $9adf8bc2f1ba310f$export$3dcd9fad60135c2c.action, {
1074
+ type: type,
1075
+ data: data
1076
+ });
1077
+ !this.customElement && this.element && $9adf8bc2f1ba310f$var$elementDispatchCustomEvent(this.element, $9adf8bc2f1ba310f$export$3dcd9fad60135c2c.action, {
1078
+ type: type,
1079
+ data: data
1080
+ });
1081
+ });
1082
+ }
1083
+ _dispatchWindow(type, data) {
1084
+ return $9adf8bc2f1ba310f$var$__awaiter(this, void 0, void 0, function*() {
1085
+ window.dispatchEvent(new CustomEvent($9adf8bc2f1ba310f$export$3dcd9fad60135c2c.action, {
1086
+ detail: {
1087
+ type: type,
1088
+ data: data
1089
+ }
1090
+ }));
1091
+ });
1092
+ }
1072
1093
  windowDispatchOn() {
1073
1094
  if (!this._windowEventListener) {
1074
1095
  this._windowEventListener = (event)=>{
@@ -1094,24 +1115,6 @@ class $9adf8bc2f1ba310f$export$8cfef5dc37c46888 {
1094
1115
  this.dispatch = (type, data, scope)=>$9adf8bc2f1ba310f$var$__awaiter(this, void 0, void 0, function*() {
1095
1116
  return this._dispatchAction(type, data, undefined, scope);
1096
1117
  });
1097
- this._dispatchElement = (type, data)=>$9adf8bc2f1ba310f$var$__awaiter(this, void 0, void 0, function*() {
1098
- this.customElement && $9adf8bc2f1ba310f$var$elementDispatchCustomEvent(this.customElement, $9adf8bc2f1ba310f$export$3dcd9fad60135c2c.action, {
1099
- type: type,
1100
- data: data
1101
- });
1102
- !this.customElement && this.element && $9adf8bc2f1ba310f$var$elementDispatchCustomEvent(this.element, $9adf8bc2f1ba310f$export$3dcd9fad60135c2c.action, {
1103
- type: type,
1104
- data: data
1105
- });
1106
- });
1107
- this._dispatchWindow = (type, data)=>$9adf8bc2f1ba310f$var$__awaiter(this, void 0, void 0, function*() {
1108
- window.dispatchEvent(new CustomEvent($9adf8bc2f1ba310f$export$3dcd9fad60135c2c.action, {
1109
- detail: {
1110
- type: type,
1111
- data: data
1112
- }
1113
- }));
1114
- });
1115
1118
  this.render = ()=>{
1116
1119
  if (this.debug) {
1117
1120
  const t0 = performance.now();
@@ -1322,6 +1325,14 @@ function $9adf8bc2f1ba310f$var$formInputData(el) {
1322
1325
  };
1323
1326
  else data = iel.checked ? String(iel.value) : null;
1324
1327
  break;
1328
+ case "file":
1329
+ const files = iel.files;
1330
+ const value = files.length === 1 ? files[0] : files;
1331
+ if (iel.name) data = {
1332
+ [iel.name]: value
1333
+ };
1334
+ else data = value;
1335
+ break;
1325
1336
  }
1326
1337
  break;
1327
1338
  case "SELECT":