@web-atoms/core 2.6.21 → 2.6.25

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 (137) hide show
  1. package/dist/App.d.ts +1 -1
  2. package/dist/App.d.ts.map +1 -1
  3. package/dist/App.js.map +1 -1
  4. package/dist/core/SingleInvoker.d.ts.map +1 -1
  5. package/dist/core/SingleInvoker.js.map +1 -1
  6. package/dist/core/sleep.js.map +1 -1
  7. package/dist/tsconfig.tsbuildinfo +1 -1
  8. package/dist-esm/App.d.ts +1 -1
  9. package/dist-esm/App.d.ts.map +1 -1
  10. package/dist-esm/App.js +231 -235
  11. package/dist-esm/App.js.map +1 -1
  12. package/dist-esm/Atom.js +93 -96
  13. package/dist-esm/MockApp.js +17 -18
  14. package/dist-esm/Pack.js +1 -3
  15. package/dist-esm/core/AtomBinder.js +189 -187
  16. package/dist-esm/core/AtomComponent.js +479 -502
  17. package/dist-esm/core/AtomDispatcher.js +46 -48
  18. package/dist-esm/core/AtomDisposableList.js +24 -25
  19. package/dist-esm/core/AtomEnumerator.js +15 -16
  20. package/dist-esm/core/AtomList.js +193 -192
  21. package/dist-esm/core/AtomLoader.js +229 -215
  22. package/dist-esm/core/AtomMap.js +7 -8
  23. package/dist-esm/core/AtomOnce.js +22 -24
  24. package/dist-esm/core/AtomSelectableList.js +240 -243
  25. package/dist-esm/core/AtomUri.js +70 -72
  26. package/dist-esm/core/AtomWatcher.js +105 -111
  27. package/dist-esm/core/Bind.js +271 -269
  28. package/dist-esm/core/BindableProperty.js +26 -27
  29. package/dist-esm/core/CancelTokenFactory.js +21 -24
  30. package/dist-esm/core/Color.js +1 -2
  31. package/dist-esm/core/Colors.js +545 -231
  32. package/dist-esm/core/Command.js +236 -223
  33. package/dist-esm/core/Defer.js +21 -22
  34. package/dist-esm/core/EventScope.js +96 -88
  35. package/dist-esm/core/ExpressionParser.js +132 -144
  36. package/dist-esm/core/ExtendControl.js +7 -8
  37. package/dist-esm/core/FormattedError.js +7 -8
  38. package/dist-esm/core/FormattedString.js +4 -5
  39. package/dist-esm/core/Hacks.js +41 -42
  40. package/dist-esm/core/IFetchEvent.js +1 -2
  41. package/dist-esm/core/IScreen.js +1 -2
  42. package/dist-esm/core/IValueConverter.js +1 -2
  43. package/dist-esm/core/InheritedProperty.js +61 -63
  44. package/dist-esm/core/InjectProperty.js +12 -13
  45. package/dist-esm/core/KeyValuePairs.js +1 -2
  46. package/dist-esm/core/Markdown.js +14 -17
  47. package/dist-esm/core/MarkdownError.js +6 -7
  48. package/dist-esm/core/PropertyBinding.js +1 -2
  49. package/dist-esm/core/PropertyMap.js +28 -27
  50. package/dist-esm/core/Route.js +149 -148
  51. package/dist-esm/core/SingleInvoker.d.ts.map +1 -1
  52. package/dist-esm/core/SingleInvoker.js +32 -35
  53. package/dist-esm/core/SingleInvoker.js.map +1 -1
  54. package/dist-esm/core/StringHelper.js +49 -51
  55. package/dist-esm/core/TransientDisposable.js +14 -16
  56. package/dist-esm/core/WatchProperty.js +18 -17
  57. package/dist-esm/core/WebImage.js +7 -8
  58. package/dist-esm/core/XNode.js +134 -117
  59. package/dist-esm/core/sleep.js +21 -24
  60. package/dist-esm/core/sleep.js.map +1 -1
  61. package/dist-esm/core/types.js +102 -103
  62. package/dist-esm/di/DISingleton.js +7 -5
  63. package/dist-esm/di/DITransient.js +7 -5
  64. package/dist-esm/di/IMockOrInject.js +1 -2
  65. package/dist-esm/di/IServiceProvider.js +1 -2
  66. package/dist-esm/di/Inject.js +67 -67
  67. package/dist-esm/di/Register.js +25 -26
  68. package/dist-esm/di/RegisterScoped.js +4 -3
  69. package/dist-esm/di/RegisterSingleton.js +4 -3
  70. package/dist-esm/di/ServiceCollection.js +38 -37
  71. package/dist-esm/di/ServiceProvider.js +94 -94
  72. package/dist-esm/di/TypeKey.js +13 -12
  73. package/dist-esm/services/BusyIndicatorService.js +7 -11
  74. package/dist-esm/services/CacheService.js +54 -62
  75. package/dist-esm/services/FetchBuilder.js +327 -278
  76. package/dist-esm/services/JsonService.js +118 -116
  77. package/dist-esm/services/MockNavigationService.js +127 -126
  78. package/dist-esm/services/NavigationService.js +95 -102
  79. package/dist-esm/services/ReferenceService.js +30 -33
  80. package/dist-esm/services/http/AjaxOptions.js +1 -3
  81. package/dist-esm/services/http/JsonError.js +16 -15
  82. package/dist-esm/services/http/RestService.js +314 -323
  83. package/dist-esm/style/StyleRule.js +1 -2
  84. package/dist-esm/test.js +0 -1
  85. package/dist-esm/tsconfig.esm.tsbuildinfo +1 -1
  86. package/dist-esm/unit/AtomTest.js +10 -11
  87. package/dist-esm/view-model/Action.js +258 -223
  88. package/dist-esm/view-model/AtomViewModel.js +234 -232
  89. package/dist-esm/view-model/AtomWindowViewModel.js +13 -14
  90. package/dist-esm/view-model/BindableUrlParameter.js +7 -8
  91. package/dist-esm/view-model/Delay.js +21 -25
  92. package/dist-esm/view-model/Disposable.js +28 -29
  93. package/dist-esm/view-model/Load.js +72 -73
  94. package/dist-esm/view-model/Once.js +33 -35
  95. package/dist-esm/view-model/baseTypes.js +4 -5
  96. package/dist-esm/view-model/bindPromise.js +24 -27
  97. package/dist-esm/view-model/bindProperty.js +3 -4
  98. package/dist-esm/view-model/bindUrlParameter.js +39 -43
  99. package/dist-esm/web/controls/AtomComboBox.js +56 -63
  100. package/dist-esm/web/controls/AtomControl.js +485 -490
  101. package/dist-esm/web/controls/AtomGridSplitter.js +57 -50
  102. package/dist-esm/web/controls/AtomGridView.js +230 -222
  103. package/dist-esm/web/controls/AtomItemsControl.js +677 -688
  104. package/dist-esm/web/controls/AtomPage.js +6 -7
  105. package/dist-esm/web/controls/AtomTemplate.js +1 -3
  106. package/dist-esm/web/controls/AtomTemplateControl.js +28 -29
  107. package/dist-esm/web/controls/AtomViewStack.js +19 -20
  108. package/dist-esm/web/core/AtomUI.js +200 -200
  109. package/dist-esm/web/core/Encoder.js +142 -152
  110. package/dist-esm/web/core/HtmlNode.js +141 -139
  111. package/dist-esm/web/images/Busy.js +1 -2
  112. package/dist-esm/web/images/BusyDataUrl.js +2 -869
  113. package/dist-esm/web/images/Button.js +1 -2
  114. package/dist-esm/web/images/ButtonDataUrl.js +2 -30
  115. package/dist-esm/web/images/CloseButton.js +1 -2
  116. package/dist-esm/web/images/CloseButtonDataUrl.js +2 -30
  117. package/dist-esm/web/images/CloseButtonHover.js +1 -2
  118. package/dist-esm/web/images/CloseButtonHoverDataUrl.js +2 -24
  119. package/dist-esm/web/services/LastTarget.js +31 -29
  120. package/dist-esm/web/services/MarkdownService.js +19 -31
  121. package/dist-esm/web/services/NotificationPopup.js +28 -21
  122. package/dist-esm/web/services/PopupService.js +512 -478
  123. package/dist-esm/web/services/PopupWindow.js +266 -247
  124. package/dist-esm/web/styles/AtomAlertWindowStyle.js +39 -40
  125. package/dist-esm/web/styles/AtomFrameStyle.js +15 -16
  126. package/dist-esm/web/styles/AtomNotificationStyle.js +19 -20
  127. package/dist-esm/web/styles/AtomPageLinkStyle.js +11 -12
  128. package/dist-esm/web/styles/AtomPopupStyle.js +9 -10
  129. package/dist-esm/web/styles/AtomStyle.js +61 -64
  130. package/dist-esm/web/styles/AtomStyleSheet.js +50 -51
  131. package/dist-esm/web/styles/AtomWindowStyle.js +116 -117
  132. package/dist-esm/web/styles/IStyleDeclaration.js +1 -2
  133. package/dist-esm/web/styles/StyleBuilder.js +79 -80
  134. package/package.json +3 -1
  135. package/src/App.ts +1 -1
  136. package/src/core/SingleInvoker.ts +1 -1
  137. package/src/core/sleep.ts +1 -1
@@ -2,42 +2,39 @@ import { __decorate } from "tslib";
2
2
  import DITransient from "../di/DITransient.js";
3
3
  import TransientDisposable from "./TransientDisposable.js";
4
4
  let SingleInvoker = class SingleInvoker extends TransientDisposable {
5
- constructor() {
6
- super(...arguments);
7
- this.keys = new Map();
5
+ constructor() {
6
+ super(...arguments);
7
+ this.keys = new Map();
8
+ }
9
+ dispose() {
10
+ for (const [key, index] of this.keys.entries()) {
11
+ clearTimeout(index);
8
12
  }
9
- dispose() {
10
- for (const [key, index] of this.keys.entries()) {
11
- clearTimeout(index);
12
- }
13
- this.keys.clear();
13
+ this.keys.clear();
14
+ }
15
+ invoke(key, fx, delay = 100) {
16
+ const keys = this.keys;
17
+ const e = keys.get(key);
18
+ if (e) {
19
+ clearTimeout(e);
14
20
  }
15
- invoke(key, fx, delay = 100) {
16
- const keys = this.keys;
17
- const e = keys.get(key);
18
- if (e) {
19
- clearTimeout(e);
20
- }
21
- keys.set(key, setTimeout(() => {
22
- keys.delete(key);
23
- fx();
24
- }, delay));
25
- }
26
- queue(fx, delay = 1, key) {
27
- key ??= fx.toString();
28
- const keys = this.keys;
29
- const e = keys.get(key);
30
- if (e) {
31
- clearTimeout(e);
32
- }
33
- keys.set(key, setTimeout(() => {
34
- keys.delete(key);
35
- fx();
36
- }, delay));
21
+ keys.set(key, setTimeout(() => {
22
+ keys.delete(key);
23
+ fx();
24
+ }, delay));
25
+ }
26
+ queue(fx, delay = 1, key) {
27
+ key ??= fx.toString();
28
+ const keys = this.keys;
29
+ const e = keys.get(key);
30
+ if (e) {
31
+ clearTimeout(e);
37
32
  }
33
+ keys.set(key, setTimeout(() => {
34
+ keys.delete(key);
35
+ fx();
36
+ }, delay));
37
+ }
38
38
  };
39
- SingleInvoker = __decorate([
40
- DITransient()
41
- ], SingleInvoker);
42
- export default SingleInvoker;
43
- //# sourceMappingURL=SingleInvoker.js.map
39
+ SingleInvoker = __decorate([DITransient()], SingleInvoker);
40
+ export default SingleInvoker;
@@ -1 +1 @@
1
- {"version":3,"file":"SingleInvoker.js","sourceRoot":"","sources":["../../src/core/SingleInvoker.ts"],"names":[],"mappings":";AAAA,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAC/C,OAAO,mBAAmB,MAAM,0BAA0B,CAAC;AAI5C,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,mBAAmB;IAA/C;;QAEH,SAAI,GAAG,IAAI,GAAG,EAAkB,CAAC;IAoC7C,CAAC;IAlCU,OAAO;QACV,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;YAC7C,YAAY,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;IAGM,MAAM,CAAC,GAAW,EAAE,EAAY,EAAE,QAAgB,GAAG;QACxD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACxB,IAAI,CAAC,EAAE,CAAC;YACJ,YAAY,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE;YAC1B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjB,EAAE,EAAE,CAAC;QACT,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IACf,CAAC;IAGM,KAAK,CAAC,EAAY,EAAE,QAAgB,CAAC,EAAE,GAAY;QACtD,GAAG,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC;QACtB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACxB,IAAI,CAAC,EAAE,CAAC;YACJ,YAAY,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE;YAC1B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjB,EAAE,EAAE,CAAC;QACT,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IACf,CAAC;CAEJ,CAAA;AAtCoB,aAAa;IADjC,WAAW,EAAE;GACO,aAAa,CAsCjC;eAtCoB,aAAa"}
1
+ {"version":3,"file":"SingleInvoker.js","sourceRoot":"","sources":["../../src/core/SingleInvoker.ts"],"names":[],"mappings":";AAAA,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAC/C,OAAO,mBAAmB,MAAM,0BAA0B,CAAC;AAI5C,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,mBAAmB;IAA/C;;QAEH,SAAI,GAAG,IAAI,GAAG,EAAe,CAAC;IAoC1C,CAAC;IAlCU,OAAO;QACV,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;YAC7C,YAAY,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;IAGM,MAAM,CAAC,GAAW,EAAE,EAAY,EAAE,QAAgB,GAAG;QACxD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACxB,IAAI,CAAC,EAAE,CAAC;YACJ,YAAY,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE;YAC1B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjB,EAAE,EAAE,CAAC;QACT,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IACf,CAAC;IAGM,KAAK,CAAC,EAAY,EAAE,QAAgB,CAAC,EAAE,GAAY;QACtD,GAAG,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC;QACtB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACxB,IAAI,CAAC,EAAE,CAAC;YACJ,YAAY,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE;YAC1B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjB,EAAE,EAAE,CAAC;QACT,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IACf,CAAC;CAEJ,CAAA;AAtCoB,aAAa;IADjC,WAAW,EAAE;GACO,aAAa,CAsCjC;eAtCoB,aAAa"}
@@ -1,52 +1,50 @@
1
1
  export class StringHelper {
2
- static escapeRegExp(text) {
3
- return text.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
4
- }
5
- static createContainsRegExp(text) {
6
- return new RegExp(this.escapeRegExp(text), "i");
7
- }
8
- static createContainsAnyWordRegExp(text) {
9
- return new RegExp(text.split(/\s+/g).map((x) => `(${this.escapeRegExp(x)})`).join("|"), "i");
10
- }
11
- static containsIgnoreCase(source, test) {
12
- if (!source) {
13
- return false;
14
- }
15
- if (!test) {
16
- return true;
17
- }
18
- return this.createContainsRegExp(test).test(source);
19
- }
20
- static containsAnyWordIgnoreCase(source, test) {
21
- if (!source) {
22
- return false;
23
- }
24
- if (!test) {
25
- return true;
26
- }
27
- return this.createContainsAnyWordRegExp(test).test(source);
28
- }
29
- static fromCamelToHyphen(input) {
30
- return input.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase();
31
- }
32
- static fromCamelToUnderscore(input) {
33
- return input.replace(/([a-z])([A-Z])/g, "$1_$2").toLowerCase();
34
- }
35
- static fromCamelToPascal(input) {
36
- return input[0].toUpperCase() + input.substr(1);
37
- }
38
- static fromHyphenToCamel(input) {
39
- return input.replace(/-([a-z])/g, (g) => g[1].toUpperCase());
40
- }
41
- static fromUnderscoreToCamel(input) {
42
- return input.replace(/\_([a-z])/g, (g) => g[1].toUpperCase());
43
- }
44
- static fromPascalToCamel(input) {
45
- return input[0].toLowerCase() + input.substr(1);
46
- }
47
- static fromPascalToTitleCase(s) {
48
- return s.replace(/([A-Z])/gm, (x, g, i) => i ? " " + x : x);
49
- }
50
- ;
51
- }
52
- //# sourceMappingURL=StringHelper.js.map
2
+ static escapeRegExp(text) {
3
+ return text.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
4
+ }
5
+ static createContainsRegExp(text) {
6
+ return new RegExp(this.escapeRegExp(text), "i");
7
+ }
8
+ static createContainsAnyWordRegExp(text) {
9
+ return new RegExp(text.split(/\s+/g).map(x => `(${this.escapeRegExp(x)})`).join("|"), "i");
10
+ }
11
+ static containsIgnoreCase(source, test) {
12
+ if (!source) {
13
+ return false;
14
+ }
15
+ if (!test) {
16
+ return true;
17
+ }
18
+ return this.createContainsRegExp(test).test(source);
19
+ }
20
+ static containsAnyWordIgnoreCase(source, test) {
21
+ if (!source) {
22
+ return false;
23
+ }
24
+ if (!test) {
25
+ return true;
26
+ }
27
+ return this.createContainsAnyWordRegExp(test).test(source);
28
+ }
29
+ static fromCamelToHyphen(input) {
30
+ return input.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase();
31
+ }
32
+ static fromCamelToUnderscore(input) {
33
+ return input.replace(/([a-z])([A-Z])/g, "$1_$2").toLowerCase();
34
+ }
35
+ static fromCamelToPascal(input) {
36
+ return input[0].toUpperCase() + input.substr(1);
37
+ }
38
+ static fromHyphenToCamel(input) {
39
+ return input.replace(/-([a-z])/g, g => g[1].toUpperCase());
40
+ }
41
+ static fromUnderscoreToCamel(input) {
42
+ return input.replace(/\_([a-z])/g, g => g[1].toUpperCase());
43
+ }
44
+ static fromPascalToCamel(input) {
45
+ return input[0].toLowerCase() + input.substr(1);
46
+ }
47
+ static fromPascalToTitleCase(s) {
48
+ return s.replace(/([A-Z])/gm, (x, g, i) => i ? " " + x : x);
49
+ }
50
+ }
@@ -1,19 +1,17 @@
1
1
  export default class TransientDisposable {
2
- constructor(owner) {
3
- if (owner) {
4
- this.registerIn(owner);
5
- }
2
+ constructor(owner) {
3
+ if (owner) {
4
+ this.registerIn(owner);
6
5
  }
7
- registerIn(value) {
8
- const v = value.disposables;
9
- if (v) {
10
- v.push(this);
11
- }
12
- else {
13
- if (value.registerDisposable) {
14
- value.registerDisposable(this);
15
- }
16
- }
6
+ }
7
+ registerIn(value) {
8
+ const v = value.disposables;
9
+ if (v) {
10
+ v.push(this);
11
+ } else {
12
+ if (value.registerDisposable) {
13
+ value.registerDisposable(this);
14
+ }
17
15
  }
18
- }
19
- //# sourceMappingURL=TransientDisposable.js.map
16
+ }
17
+ }
@@ -1,20 +1,21 @@
1
1
  import { AtomBinder } from "./AtomBinder.js";
2
2
  import { AtomWatcher } from "./AtomWatcher.js";
3
3
  export default function WatchProperty(target, key, descriptor) {
4
- const { get } = descriptor;
5
- const isSetup = Symbol.for(`isSetup${key}`);
6
- return {
7
- get: function () {
8
- const watcher = new AtomWatcher(this, get, () => {
9
- AtomBinder.refreshValue(this, key);
10
- }, this);
11
- watcher.init(false);
12
- this.registerDisposable(watcher);
13
- this[isSetup] = watcher;
14
- Object.defineProperty(this, key, descriptor);
15
- return get.apply(this);
16
- },
17
- configurable: true
18
- };
19
- }
20
- //# sourceMappingURL=WatchProperty.js.map
4
+ const {
5
+ get
6
+ } = descriptor;
7
+ const isSetup = Symbol.for(`isSetup${key}`);
8
+ return {
9
+ get: function () {
10
+ const watcher = new AtomWatcher(this, get, () => {
11
+ AtomBinder.refreshValue(this, key);
12
+ }, this);
13
+ watcher.init(false);
14
+ this.registerDisposable(watcher);
15
+ this[isSetup] = watcher;
16
+ Object.defineProperty(this, key, descriptor);
17
+ return get.apply(this);
18
+ },
19
+ configurable: true
20
+ };
21
+ }
@@ -1,9 +1,8 @@
1
1
  export default class WebImage {
2
- constructor(url) {
3
- this.url = url;
4
- }
5
- toString() {
6
- return this.url;
7
- }
8
- }
9
- //# sourceMappingURL=WebImage.js.map
2
+ constructor(url) {
3
+ this.url = url;
4
+ }
5
+ toString() {
6
+ return this.url;
7
+ }
8
+ }
@@ -1,17 +1,17 @@
1
1
  import { bindSymbol } from "./Bind.js";
2
2
  export class RootObject {
3
- get vsProps() {
4
- return undefined;
5
- }
6
- addEventListener(name, handler) {
7
- return bridge.addEventHandler(this, name, handler);
8
- }
9
- appendChild(e) {
10
- bridge.appendChild(this, e);
11
- }
12
- dispatchEvent(evt) {
13
- bridge.dispatchEvent(evt);
14
- }
3
+ get vsProps() {
4
+ return undefined;
5
+ }
6
+ addEventListener(name, handler) {
7
+ return bridge.addEventHandler(this, name, handler);
8
+ }
9
+ appendChild(e) {
10
+ bridge.appendChild(this, e);
11
+ }
12
+ dispatchEvent(evt) {
13
+ bridge.dispatchEvent(evt);
14
+ }
15
15
  }
16
16
  export const xnodeSymbol = Symbol("XNode");
17
17
  export const isControl = Symbol.for("isControl");
@@ -23,121 +23,138 @@ export const constructorNeedsArgumentsSymbol = Symbol("constructorNeedsArguments
23
23
  export const attachedProperties = {};
24
24
  let attachedId = 1;
25
25
  const attach = (name, attacher) => {
26
- const key = `:${attachedId++}`;
27
- const fx = (v) => {
28
- return {
29
- [key]: v
30
- };
26
+ const key = `:${attachedId++}`;
27
+ const fx = v => {
28
+ return {
29
+ [key]: v
31
30
  };
32
- attachedProperties[key] = attacher;
33
- fx[attachedSymbol] = attacher;
34
- fx[isFactorySymbol] = key;
35
- return fx;
31
+ };
32
+ attachedProperties[key] = attacher;
33
+ fx[attachedSymbol] = attacher;
34
+ fx[isFactorySymbol] = key;
35
+ return fx;
36
36
  };
37
37
  export default class XNode {
38
- static { this.isFactory = isFactorySymbol; }
39
- static { this.elementFactory = elementFactorySymbol; }
40
- static { this.bindSymbol = bindSymbol; }
41
- static { this.isTemplate = isTemplateSymbol; }
42
- static { this.prepareAttached = attach; }
43
- static { this.constructorNeedsArguments = constructorNeedsArgumentsSymbol; }
44
- static { this.classes = {}; }
45
- static attach(n, tag) {
46
- return {
47
- factory: (attributes, ...nodes) => new XNode(n, attributes
48
- ? { ...attributes, for: tag }
49
- : { for: tag }, nodes)
50
- };
38
+ static {
39
+ this.isFactory = isFactorySymbol;
40
+ }
41
+ static {
42
+ this.elementFactory = elementFactorySymbol;
43
+ }
44
+ static {
45
+ this.bindSymbol = bindSymbol;
46
+ }
47
+ static {
48
+ this.isTemplate = isTemplateSymbol;
49
+ }
50
+ static {
51
+ this.prepareAttached = attach;
52
+ }
53
+ static {
54
+ this.constructorNeedsArguments = constructorNeedsArgumentsSymbol;
55
+ }
56
+ static {
57
+ this.classes = {};
58
+ }
59
+ static attach(n, tag) {
60
+ return {
61
+ factory: (attributes, ...nodes) => new XNode(n, attributes ? {
62
+ ...attributes,
63
+ for: tag
64
+ } : {
65
+ for: tag
66
+ }, nodes)
67
+ };
68
+ }
69
+ static prepare(n, isProperty, isTemplate) {
70
+ function px(v) {
71
+ return {
72
+ [n]: v
73
+ };
51
74
  }
52
- static prepare(n, isProperty, isTemplate) {
53
- function px(v) {
54
- return ({
55
- [n]: v
56
- });
75
+ px.factory = (a, ...nodes) => {
76
+ return new XNode(n, a, nodes, isProperty, isTemplate);
77
+ };
78
+ px.toString = () => n;
79
+ return px;
80
+ }
81
+ static getClass(fullTypeName, assemblyName) {
82
+ const n = fullTypeName + ";" + assemblyName;
83
+ const cx = XNode.classes[n] || (XNode.classes[n] = bridge.getClass(fullTypeName, assemblyName, RootObject, (name, isProperty, isTemplate) => (a, ...nodes) => new XNode(name, a, nodes, isProperty, isTemplate)));
84
+ return cx;
85
+ }
86
+ static {
87
+ this.factory = (name, isProperty, isTemplate) => (a, ...nodes) => {
88
+ return new XNode(name, a, nodes, isProperty, isTemplate);
89
+ };
90
+ }
91
+ static namespace(ns, assemblyName) {
92
+ return (type, isTemplate) => {
93
+ return c => {
94
+ for (const key in c) {
95
+ if (c.hasOwnProperty(key)) {
96
+ const element = c[key];
97
+ if (element) {
98
+ const n = ns + "." + type + ":" + key + ";" + assemblyName;
99
+ const af = a => {
100
+ const r = {
101
+ [n]: a
102
+ };
103
+ Object.defineProperty(r, "toString", {
104
+ value: () => n,
105
+ enumerable: false,
106
+ configurable: false
107
+ });
108
+ return r;
109
+ };
110
+ af.factory = (a, ...nodes) => new XNode(n, a, nodes, true, element.isTemplate);
111
+ af.toString = () => n;
112
+ c[key] = af;
113
+ }
114
+ }
57
115
  }
58
- px.factory = (a, ...nodes) => {
59
- return new XNode(n, a, nodes, isProperty, isTemplate);
116
+ const tn = ns + "." + type + ";" + assemblyName;
117
+ c.factory = (a, ...nodes) => {
118
+ return new XNode(tn, a, nodes, false, isTemplate);
60
119
  };
61
- px.toString = () => n;
62
- return px;
120
+ c.toString = () => tn;
121
+ };
122
+ };
123
+ }
124
+ static create(name, attributes, ...children) {
125
+ if (typeof name === "string") {
126
+ return new XNode(name, attributes, children);
63
127
  }
64
- static getClass(fullTypeName, assemblyName) {
65
- const n = fullTypeName + ";" + assemblyName;
66
- const cx = XNode.classes[n] || (XNode.classes[n] =
67
- bridge.getClass(fullTypeName, assemblyName, RootObject, (name, isProperty, isTemplate) => (a, ...nodes) => new XNode(name, a, nodes, isProperty, isTemplate)));
68
- return cx;
128
+ if (name[isFactorySymbol]) {
129
+ return new XNode(name, attributes, children);
69
130
  }
70
- static { this.factory = (name, isProperty, isTemplate) => (a, ...nodes) => {
71
- return new XNode(name, a, nodes, isProperty, isTemplate);
72
- }; }
73
- static namespace(ns, assemblyName) {
74
- return (type, isTemplate) => {
75
- return (c) => {
76
- for (const key in c) {
77
- if (c.hasOwnProperty(key)) {
78
- const element = c[key];
79
- if (element) {
80
- const n = ns + "." + type + ":" + key + ";" + assemblyName;
81
- const af = (a) => {
82
- const r = {
83
- [n]: a
84
- };
85
- Object.defineProperty(r, "toString", {
86
- value: () => n,
87
- enumerable: false,
88
- configurable: false
89
- });
90
- return r;
91
- };
92
- af.factory = (a, ...nodes) => new XNode(n, a, nodes, true, element.isTemplate);
93
- af.toString = () => n;
94
- c[key] = af;
95
- }
96
- }
97
- }
98
- const tn = ns + "." + type + ";" + assemblyName;
99
- c.factory = (a, ...nodes) => {
100
- return new XNode(tn, a, nodes, false, isTemplate);
101
- };
102
- c.toString = () => tn;
103
- };
104
- };
105
- }
106
- static create(name, attributes, ...children) {
107
- if (typeof name === "string") {
108
- return new XNode(name, attributes, children);
109
- }
110
- if (name[isFactorySymbol]) {
111
- return new XNode(name, attributes, children);
112
- }
113
- if (name.factory) {
114
- return (name.factory)(attributes, ...children);
115
- }
116
- switch (typeof name) {
117
- case "object":
118
- name = name.toString();
119
- break;
120
- case "function":
121
- return name(attributes || {}, ...children);
122
- }
123
- return new XNode(name, attributes, children);
131
+ if (name.factory) {
132
+ return name.factory(attributes, ...children);
124
133
  }
125
- constructor(name, attributes, children, isProperty, isTemplate) {
126
- this.name = name;
127
- this.attributes = attributes;
128
- this.children = children;
129
- this.isProperty = isProperty;
130
- this.isTemplate = isTemplate;
131
- this[xnodeSymbol] = true;
134
+ switch (typeof name) {
135
+ case "object":
136
+ name = name.toString();
137
+ break;
138
+ case "function":
139
+ return name(attributes || {}, ...children);
132
140
  }
133
- toString() {
134
- if (typeof this.name === "string") {
135
- return `name is of type string and value is ${this.name}`;
136
- }
137
- return `name is of type ${typeof this.name}`;
141
+ return new XNode(name, attributes, children);
142
+ }
143
+ constructor(name, attributes, children, isProperty, isTemplate) {
144
+ this.name = name;
145
+ this.attributes = attributes;
146
+ this.children = children;
147
+ this.isProperty = isProperty;
148
+ this.isTemplate = isTemplate;
149
+ this[xnodeSymbol] = true;
150
+ }
151
+ toString() {
152
+ if (typeof this.name === "string") {
153
+ return `name is of type string and value is ${this.name}`;
138
154
  }
155
+ return `name is of type ${typeof this.name}`;
156
+ }
139
157
  }
140
158
  if (typeof bridge !== "undefined") {
141
- bridge.XNode = XNode;
142
- }
143
- //# sourceMappingURL=XNode.js.map
159
+ bridge.XNode = XNode;
160
+ }
@@ -1,27 +1,24 @@
1
1
  export default function sleep(timeInMS, ct, throwOnCancel = true) {
2
- let token = 0;
3
- return new Promise((resolve, reject) => {
4
- ct?.registerForCancel((reason) => {
5
- if (token) {
6
- clearTimeout(token);
7
- if (throwOnCancel) {
8
- reject(reason);
9
- }
10
- else {
11
- resolve();
12
- }
13
- }
14
- });
15
- if (ct?.cancelled) {
16
- if (throwOnCancel) {
17
- reject("cancelled");
18
- }
19
- else {
20
- resolve();
21
- }
22
- return;
2
+ let token = 0;
3
+ return new Promise((resolve, reject) => {
4
+ ct?.registerForCancel(reason => {
5
+ if (token) {
6
+ clearTimeout(token);
7
+ if (throwOnCancel) {
8
+ reject(reason);
9
+ } else {
10
+ resolve();
23
11
  }
24
- token = setTimeout(resolve, timeInMS);
12
+ }
25
13
  });
26
- }
27
- //# sourceMappingURL=sleep.js.map
14
+ if (ct?.cancelled) {
15
+ if (throwOnCancel) {
16
+ reject("cancelled");
17
+ } else {
18
+ resolve();
19
+ }
20
+ return;
21
+ }
22
+ token = setTimeout(resolve, timeInMS);
23
+ });
24
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"sleep.js","sourceRoot":"","sources":["../../src/core/sleep.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,QAAgB,EAAE,EAAgB,EAAE,aAAa,GAAG,IAAI;IAClF,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACzC,EAAE,EAAE,iBAAiB,CAAC,CAAC,MAAM,EAAE,EAAE;YAC7B,IAAI,KAAK,EAAE,CAAC;gBACR,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,IAAI,aAAa,EAAE,CAAC;oBAChB,MAAM,CAAC,MAAM,CAAC,CAAC;gBACnB,CAAC;qBAAM,CAAC;oBACJ,OAAO,EAAE,CAAC;gBACd,CAAC;YACL,CAAC;QACL,CAAC,CAAC,CAAC;QACH,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC;YAChB,IAAI,aAAa,EAAE,CAAC;gBAChB,MAAM,CAAC,WAAW,CAAC,CAAC;YACxB,CAAC;iBAAM,CAAC;gBACJ,OAAO,EAAE,CAAC;YACd,CAAC;YACD,OAAO;QACX,CAAC;QACD,KAAK,GAAG,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"sleep.js","sourceRoot":"","sources":["../../src/core/sleep.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,QAAgB,EAAE,EAAgB,EAAE,aAAa,GAAG,IAAI;IAClF,IAAI,KAAK,GAAG,CAAQ,CAAC;IACrB,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACzC,EAAE,EAAE,iBAAiB,CAAC,CAAC,MAAM,EAAE,EAAE;YAC7B,IAAI,KAAK,EAAE,CAAC;gBACR,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,IAAI,aAAa,EAAE,CAAC;oBAChB,MAAM,CAAC,MAAM,CAAC,CAAC;gBACnB,CAAC;qBAAM,CAAC;oBACJ,OAAO,EAAE,CAAC;gBACd,CAAC;YACL,CAAC;QACL,CAAC,CAAC,CAAC;QACH,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC;YAChB,IAAI,aAAa,EAAE,CAAC;gBAChB,MAAM,CAAC,WAAW,CAAC,CAAC;YACxB,CAAC;iBAAM,CAAC;gBACJ,OAAO,EAAE,CAAC;YACd,CAAC;YACD,OAAO;QACX,CAAC;QACD,KAAK,GAAG,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;AACP,CAAC"}