@dooboostore/simple-web-component 1.0.31 → 1.0.32

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 (64) hide show
  1. package/dist/cjs/decorators/applyStyle.js +1 -1
  2. package/dist/cjs/decorators/applyStyle.js.map +2 -2
  3. package/dist/cjs/decorators/attribute.js +17 -1
  4. package/dist/cjs/decorators/attribute.js.map +2 -2
  5. package/dist/cjs/decorators/elementDefine.js +26 -9
  6. package/dist/cjs/decorators/elementDefine.js.map +3 -3
  7. package/dist/cjs/elements/SwcAppMixin.js +1 -1
  8. package/dist/cjs/elements/SwcAppMixin.js.map +2 -2
  9. package/dist/cjs/elements/SwcAsync.js +69 -57
  10. package/dist/cjs/elements/SwcAsync.js.map +2 -2
  11. package/dist/cjs/elements/SwcChoose.js +66 -60
  12. package/dist/cjs/elements/SwcChoose.js.map +2 -2
  13. package/dist/cjs/elements/SwcIf.js +51 -66
  14. package/dist/cjs/elements/SwcIf.js.map +2 -2
  15. package/dist/cjs/elements/SwcLoop.js +58 -78
  16. package/dist/cjs/elements/SwcLoop.js.map +2 -2
  17. package/dist/cjs/elements/register.js +310 -335
  18. package/dist/cjs/elements/register.js.map +2 -2
  19. package/dist/cjs/types.js.map +1 -1
  20. package/dist/cjs/utils/Utils.js +7 -13
  21. package/dist/cjs/utils/Utils.js.map +2 -2
  22. package/dist/esm/decorators/applyStyle.js +1 -1
  23. package/dist/esm/decorators/applyStyle.js.map +2 -2
  24. package/dist/esm/decorators/attribute.js +18 -2
  25. package/dist/esm/decorators/attribute.js.map +2 -2
  26. package/dist/esm/decorators/elementDefine.js +24 -7
  27. package/dist/esm/decorators/elementDefine.js.map +3 -3
  28. package/dist/esm/elements/SwcAppMixin.js +1 -1
  29. package/dist/esm/elements/SwcAppMixin.js.map +2 -2
  30. package/dist/esm/elements/SwcAsync.js +70 -58
  31. package/dist/esm/elements/SwcAsync.js.map +2 -2
  32. package/dist/esm/elements/SwcChoose.js +67 -61
  33. package/dist/esm/elements/SwcChoose.js.map +2 -2
  34. package/dist/esm/elements/SwcIf.js +52 -67
  35. package/dist/esm/elements/SwcIf.js.map +2 -2
  36. package/dist/esm/elements/SwcLoop.js +59 -79
  37. package/dist/esm/elements/SwcLoop.js.map +2 -2
  38. package/dist/esm/elements/register.js +239 -264
  39. package/dist/esm/elements/register.js.map +2 -2
  40. package/dist/esm/types.js.map +1 -1
  41. package/dist/esm/utils/Utils.js +7 -13
  42. package/dist/esm/utils/Utils.js.map +2 -2
  43. package/dist/esm-bundle/dooboostore-simple-web-component.esm.js +2623 -2422
  44. package/dist/esm-bundle/dooboostore-simple-web-component.esm.js.map +4 -4
  45. package/dist/types/decorators/attribute.d.ts.map +1 -1
  46. package/dist/types/decorators/elementDefine.d.ts.map +1 -1
  47. package/dist/types/elements/register.d.ts.map +1 -1
  48. package/dist/types/types.d.ts +8 -1
  49. package/dist/types/types.d.ts.map +1 -1
  50. package/dist/types/utils/Utils.d.ts.map +1 -1
  51. package/dist/umd-bundle/dooboostore-simple-web-component.umd.js +2623 -2422
  52. package/dist/umd-bundle/dooboostore-simple-web-component.umd.js.map +4 -4
  53. package/package.json +1 -1
  54. package/src/decorators/applyStyle.ts +1 -1
  55. package/src/decorators/attribute.ts +35 -30
  56. package/src/decorators/elementDefine.ts +26 -7
  57. package/src/elements/SwcAppMixin.ts +1 -1
  58. package/src/elements/SwcAsync.ts +75 -69
  59. package/src/elements/SwcChoose.ts +67 -80
  60. package/src/elements/SwcIf.ts +51 -76
  61. package/src/elements/SwcLoop.ts +56 -87
  62. package/src/elements/register.ts +235 -307
  63. package/src/types.ts +6 -1
  64. package/src/utils/Utils.ts +11 -17
package/src/types.ts CHANGED
@@ -41,8 +41,13 @@ export type HostSet = {
41
41
  $lastAppHost: SwcAppInterface | null;
42
42
  };
43
43
 
44
- export type HelperHostSet = HelperSet & HostSet;
44
+ export type HelperHostSet = HelperSet & HostSet & {$this: any};
45
45
  export interface SwcChooseInterface extends HTMLTemplateElement {
46
+ value: any;
47
+ refresh(): void;
48
+ }
49
+ export interface SwcIfInterface extends HTMLTemplateElement {
50
+ value: any;
46
51
  refresh(): void;
47
52
  }
48
53
  export interface SwcAppInterface extends HTMLElement {
@@ -1,5 +1,6 @@
1
1
  import { SwcAppInterface, HostSet, HelperSet, HelperHostSet } from '../types';
2
2
  import {getElementConfig} from "../decorators";
3
+ import { getExpression, ExpressionResult, GetExpressionConfig, GetExpressionResult } from '@dooboostore/core';
3
4
 
4
5
  export const SWC_NOT_FOUND = Symbol.for('simple-web-component:not-found');
5
6
 
@@ -185,7 +186,8 @@ export namespace SwcUtils {
185
186
  const hostSet = getHostSet(el);
186
187
  return {
187
188
  ...helperSet,
188
- ...hostSet
189
+ ...hostSet,
190
+ $this: el,
189
191
  };
190
192
  };
191
193
 
@@ -307,22 +309,12 @@ export namespace SwcUtils {
307
309
  };
308
310
 
309
311
  export const getHostSet = (el: HTMLElement): HostSet => {
310
- const isSwc = !!getElementConfig(el);
311
312
  const ancestors = findAllSwcHosts(el); // [root, ..., parent]
312
-
313
- let $host: HTMLElement;
314
- let $parentHost: HTMLElement | null;
315
-
316
- if (isSwc) {
317
- $host = el;
318
- $parentHost = ancestors.length > 0 ? ancestors[ancestors.length - 1] : null;
319
- } else {
320
- $host = ancestors.length > 0 ? ancestors[ancestors.length - 1] : el;
321
- $parentHost = ancestors.length > 1 ? ancestors[ancestors.length - 2] : null;
322
- }
323
-
324
- const $hosts = isSwc ? [...ancestors, el] : ancestors;
325
- const $firstHost = $hosts.length > 0 ? $hosts[0] : null;
313
+
314
+ const $host = ancestors.length > 0 ? ancestors[ancestors.length - 1] : null;
315
+ const $parentHost = ancestors.length > 1 ? ancestors[ancestors.length - 2] : null;
316
+ const $hosts = ancestors;
317
+ const $firstHost = ancestors.length > 0 ? ancestors[0] : null;
326
318
 
327
319
  // Collect loop contexts
328
320
  const loopContext: Record<string, any> = {};
@@ -386,4 +378,6 @@ export namespace SwcUtils {
386
378
 
387
379
  return result;
388
380
  };
389
- }
381
+
382
+
383
+ };