@dooboostore/simple-web-component 1.0.48 → 1.0.49

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 (150) hide show
  1. package/README.md +117 -19
  2. package/dist/cjs/config/config.js +1 -1
  3. package/dist/cjs/config/config.js.map +2 -2
  4. package/dist/cjs/decorators/addEventListener.js +387 -29
  5. package/dist/cjs/decorators/addEventListener.js.map +3 -3
  6. package/dist/cjs/decorators/applyAttribute.js +25 -0
  7. package/dist/cjs/decorators/applyAttribute.js.map +2 -2
  8. package/dist/cjs/decorators/applyClass.js +49 -18
  9. package/dist/cjs/decorators/applyClass.js.map +3 -3
  10. package/dist/cjs/decorators/applyNode.js +67 -1
  11. package/dist/cjs/decorators/applyNode.js.map +3 -3
  12. package/dist/cjs/decorators/applyProperty.js +101 -3
  13. package/dist/cjs/decorators/applyProperty.js.map +2 -2
  14. package/dist/cjs/decorators/applyStyle.js +36 -5
  15. package/dist/cjs/decorators/applyStyle.js.map +2 -2
  16. package/dist/cjs/decorators/changedAttribute.js +39 -0
  17. package/dist/cjs/decorators/changedAttribute.js.map +2 -2
  18. package/dist/cjs/decorators/elementDefine.js +237 -437
  19. package/dist/cjs/decorators/elementDefine.js.map +3 -3
  20. package/dist/cjs/decorators/emitCustomEvent.js +55 -0
  21. package/dist/cjs/decorators/emitCustomEvent.js.map +2 -2
  22. package/dist/cjs/decorators/index.js +3 -1
  23. package/dist/cjs/decorators/index.js.map +2 -2
  24. package/dist/cjs/decorators/intersectionObserver.js +209 -0
  25. package/dist/cjs/decorators/intersectionObserver.js.map +7 -0
  26. package/dist/cjs/decorators/mutationObserver.js +140 -0
  27. package/dist/cjs/decorators/mutationObserver.js.map +3 -3
  28. package/dist/cjs/decorators/query.js +117 -102
  29. package/dist/cjs/decorators/query.js.map +2 -2
  30. package/dist/cjs/decorators/resizeObserver.js +87 -0
  31. package/dist/cjs/decorators/resizeObserver.js.map +2 -2
  32. package/dist/cjs/decorators/setInterval.js +82 -0
  33. package/dist/cjs/decorators/setInterval.js.map +7 -0
  34. package/dist/cjs/decorators/setTimeout.js +82 -0
  35. package/dist/cjs/decorators/setTimeout.js.map +7 -0
  36. package/dist/cjs/decorators/subscribeSwcAppMessageWhileConnected.js +9 -0
  37. package/dist/cjs/decorators/subscribeSwcAppMessageWhileConnected.js.map +2 -2
  38. package/dist/cjs/decorators/subscribeSwcAppRouteChangeWhileConnected.js +9 -0
  39. package/dist/cjs/decorators/subscribeSwcAppRouteChangeWhileConnected.js.map +2 -2
  40. package/dist/cjs/types/index.js.map +1 -1
  41. package/dist/esm/config/config.js +1 -1
  42. package/dist/esm/config/config.js.map +2 -2
  43. package/dist/esm/decorators/addEventListener.js +388 -29
  44. package/dist/esm/decorators/addEventListener.js.map +3 -3
  45. package/dist/esm/decorators/applyAttribute.js +25 -0
  46. package/dist/esm/decorators/applyAttribute.js.map +2 -2
  47. package/dist/esm/decorators/applyClass.js +49 -18
  48. package/dist/esm/decorators/applyClass.js.map +3 -3
  49. package/dist/esm/decorators/applyNode.js +67 -1
  50. package/dist/esm/decorators/applyNode.js.map +3 -3
  51. package/dist/esm/decorators/applyProperty.js +101 -3
  52. package/dist/esm/decorators/applyProperty.js.map +2 -2
  53. package/dist/esm/decorators/applyStyle.js +36 -5
  54. package/dist/esm/decorators/applyStyle.js.map +2 -2
  55. package/dist/esm/decorators/changedAttribute.js +40 -0
  56. package/dist/esm/decorators/changedAttribute.js.map +2 -2
  57. package/dist/esm/decorators/elementDefine.js +244 -444
  58. package/dist/esm/decorators/elementDefine.js.map +3 -3
  59. package/dist/esm/decorators/emitCustomEvent.js +55 -0
  60. package/dist/esm/decorators/emitCustomEvent.js.map +2 -2
  61. package/dist/esm/decorators/index.js +3 -1
  62. package/dist/esm/decorators/index.js.map +2 -2
  63. package/dist/esm/decorators/intersectionObserver.js +191 -0
  64. package/dist/esm/decorators/intersectionObserver.js.map +7 -0
  65. package/dist/esm/decorators/mutationObserver.js +141 -0
  66. package/dist/esm/decorators/mutationObserver.js.map +3 -3
  67. package/dist/esm/decorators/query.js +117 -102
  68. package/dist/esm/decorators/query.js.map +2 -2
  69. package/dist/esm/decorators/resizeObserver.js +88 -0
  70. package/dist/esm/decorators/resizeObserver.js.map +2 -2
  71. package/dist/esm/decorators/setInterval.js +64 -0
  72. package/dist/esm/decorators/setInterval.js.map +7 -0
  73. package/dist/esm/decorators/setTimeout.js +64 -0
  74. package/dist/esm/decorators/setTimeout.js.map +7 -0
  75. package/dist/esm/decorators/subscribeSwcAppMessageWhileConnected.js +9 -0
  76. package/dist/esm/decorators/subscribeSwcAppMessageWhileConnected.js.map +2 -2
  77. package/dist/esm/decorators/subscribeSwcAppRouteChangeWhileConnected.js +9 -0
  78. package/dist/esm/decorators/subscribeSwcAppRouteChangeWhileConnected.js.map +2 -2
  79. package/dist/esm/types/index.js.map +1 -1
  80. package/dist/esm-bundle/dooboostore-simple-web-component.esm.js +2565 -1474
  81. package/dist/esm-bundle/dooboostore-simple-web-component.esm.js.map +4 -4
  82. package/dist/types/config/config.d.ts.map +1 -1
  83. package/dist/types/decorators/addEventListener.d.ts +84 -33
  84. package/dist/types/decorators/addEventListener.d.ts.map +1 -1
  85. package/dist/types/decorators/applyAttribute.d.ts +22 -34
  86. package/dist/types/decorators/applyAttribute.d.ts.map +1 -1
  87. package/dist/types/decorators/applyClass.d.ts +34 -34
  88. package/dist/types/decorators/applyClass.d.ts.map +1 -1
  89. package/dist/types/decorators/applyNode.d.ts +30 -20
  90. package/dist/types/decorators/applyNode.d.ts.map +1 -1
  91. package/dist/types/decorators/applyProperty.d.ts +57 -34
  92. package/dist/types/decorators/applyProperty.d.ts.map +1 -1
  93. package/dist/types/decorators/applyStyle.d.ts +25 -12
  94. package/dist/types/decorators/applyStyle.d.ts.map +1 -1
  95. package/dist/types/decorators/changedAttribute.d.ts +11 -0
  96. package/dist/types/decorators/changedAttribute.d.ts.map +1 -1
  97. package/dist/types/decorators/elementDefine.d.ts +0 -14
  98. package/dist/types/decorators/elementDefine.d.ts.map +1 -1
  99. package/dist/types/decorators/emitCustomEvent.d.ts +28 -4
  100. package/dist/types/decorators/emitCustomEvent.d.ts.map +1 -1
  101. package/dist/types/decorators/index.d.ts +3 -1
  102. package/dist/types/decorators/index.d.ts.map +1 -1
  103. package/dist/types/decorators/intersectionObserver.d.ts +49 -0
  104. package/dist/types/decorators/intersectionObserver.d.ts.map +1 -0
  105. package/dist/types/decorators/mutationObserver.d.ts +35 -25
  106. package/dist/types/decorators/mutationObserver.d.ts.map +1 -1
  107. package/dist/types/decorators/query.d.ts +57 -14
  108. package/dist/types/decorators/query.d.ts.map +1 -1
  109. package/dist/types/decorators/resizeObserver.d.ts +34 -23
  110. package/dist/types/decorators/resizeObserver.d.ts.map +1 -1
  111. package/dist/types/decorators/setInterval.d.ts +29 -0
  112. package/dist/types/decorators/setInterval.d.ts.map +1 -0
  113. package/dist/types/decorators/setTimeout.d.ts +29 -0
  114. package/dist/types/decorators/setTimeout.d.ts.map +1 -0
  115. package/dist/types/decorators/subscribeSwcAppMessageWhileConnected.d.ts +7 -1
  116. package/dist/types/decorators/subscribeSwcAppMessageWhileConnected.d.ts.map +1 -1
  117. package/dist/types/decorators/subscribeSwcAppRouteChangeWhileConnected.d.ts +6 -0
  118. package/dist/types/decorators/subscribeSwcAppRouteChangeWhileConnected.d.ts.map +1 -1
  119. package/dist/types/types/index.d.ts +104 -0
  120. package/dist/types/types/index.d.ts.map +1 -1
  121. package/dist/umd-bundle/dooboostore-simple-web-component.umd.js +2565 -1474
  122. package/dist/umd-bundle/dooboostore-simple-web-component.umd.js.map +4 -4
  123. package/package.json +7 -5
  124. package/src/config/config.ts +1 -1
  125. package/src/decorators/addEventListener.ts +394 -34
  126. package/src/decorators/applyAttribute.ts +50 -36
  127. package/src/decorators/applyClass.ts +76 -26
  128. package/src/decorators/applyNode.ts +114 -36
  129. package/src/decorators/applyProperty.ts +152 -40
  130. package/src/decorators/applyStyle.ts +64 -17
  131. package/src/decorators/changedAttribute.ts +46 -0
  132. package/src/decorators/elementDefine.ts +281 -580
  133. package/src/decorators/emitCustomEvent.ts +73 -5
  134. package/src/decorators/index.ts +3 -1
  135. package/src/decorators/intersectionObserver.ts +259 -0
  136. package/src/decorators/mutationObserver.ts +215 -39
  137. package/src/decorators/query.ts +168 -126
  138. package/src/decorators/resizeObserver.ts +152 -46
  139. package/src/decorators/setInterval.ts +80 -0
  140. package/src/decorators/setTimeout.ts +80 -0
  141. package/src/decorators/subscribeSwcAppMessageWhileConnected.ts +17 -0
  142. package/src/decorators/subscribeSwcAppRouteChangeWhileConnected.ts +19 -0
  143. package/src/types/index.ts +141 -0
  144. package/dist/cjs/decorators/queryAll.js +0 -181
  145. package/dist/cjs/decorators/queryAll.js.map +0 -7
  146. package/dist/esm/decorators/queryAll.js +0 -162
  147. package/dist/esm/decorators/queryAll.js.map +0 -7
  148. package/dist/types/decorators/queryAll.d.ts +0 -22
  149. package/dist/types/decorators/queryAll.d.ts.map +0 -1
  150. package/src/decorators/queryAll.ts +0 -186
@@ -1,34 +1,77 @@
1
- import { SwcQueryOptions, HelperHostSet } from '../types';
2
- export interface QueryOptions extends SwcQueryOptions {
3
- /**
4
- * Filter function to determine whether to include the element.
5
- * If it returns false, the element is skipped.
6
- */
1
+ import { SwcQueryOptions, SwcRootType, SwcFnSelector, SwcSelector, HelperHostSet } from '../types';
2
+ export type QueryPick = 'first' | 'last' | 'all' | 'even' | 'odd' | number;
3
+ export interface QueryBaseOptions {
4
+ pick?: QueryPick;
7
5
  filter?: (target: HTMLElement, meta: {
8
6
  currentThis: any;
9
7
  helper: HelperHostSet;
10
8
  }) => boolean;
11
9
  }
10
+ export type QueryOptions = QueryBaseOptions & SwcQueryOptions;
11
+ export type QueryNonQueryOptions = QueryBaseOptions;
12
+ export type QueryFnSelector = SwcFnSelector;
13
+ export type QuerySelector = SwcSelector;
14
+ export type QueryOptionsOf<S extends QuerySelector> = S extends string ? QueryOptions : QueryNonQueryOptions;
12
15
  export interface QueryMetadata {
13
16
  propertyKey: string | symbol;
14
- selector: string | ((currentThis: any, helper: HelperHostSet) => Node | NodeList | Element | Element[] | null);
17
+ selector: QuerySelector;
15
18
  options: QueryOptions;
16
19
  }
17
20
  export declare const QUERY_METADATA_KEY: unique symbol;
21
+ /**
22
+ * 셀렉터를 해석해 매칭된 모든 요소를 배열로 반환한다 (query/queryAll 공용).
23
+ * $window/$document는 요소가 아니므로 여기서 처리하지 않는다.
24
+ */
25
+ export declare const resolveQueryElements: (inst: any, selector: QuerySelector, options: QueryOptions, win: Window) => HTMLElement[];
26
+ /**
27
+ * 매칭된 요소 배열에서 pick 옵션에 따라 요소를 고른다.
28
+ * - 'first'(기본) / 'last' / number(인덱스) → 단일 요소
29
+ * - 'all' / 'even'(0,2,4...) / 'odd'(1,3,5...) → 배열
30
+ */
31
+ export declare const pickElements: (all: HTMLElement[], pick: QueryPick) => HTMLElement | HTMLElement[] | null;
18
32
  export declare function query(target: Object, propertyKey: string | symbol, descriptor?: PropertyDescriptor): PropertyDescriptor | void;
19
- export declare function query(selector: string | ((currentThis: any, helper: HelperHostSet) => Node | NodeList | Element | Element[] | null), options?: QueryOptions): PropertyDecorator;
33
+ export declare function query(selector: string, options?: QueryOptions): PropertyDecorator;
34
+ export declare function query(selector: QueryFnSelector, options?: QueryNonQueryOptions): PropertyDecorator;
20
35
  export declare function query(options?: QueryOptions): PropertyDecorator;
21
36
  export declare const getQueryMetadata: (target: any) => QueryMetadata[];
37
+ export declare const QUERY_ALL_METADATA_KEY: symbol;
38
+ export declare function queryAll(target: Object, propertyKey: string | symbol, descriptor?: PropertyDescriptor): PropertyDescriptor | void;
39
+ export declare function queryAll(selector: string, options?: Omit<QueryOptions, 'pick'>): PropertyDecorator;
40
+ export declare function queryAll(selector: QueryFnSelector, options?: Omit<QueryNonQueryOptions, 'pick'>): PropertyDecorator;
41
+ export declare function queryAll(options?: Omit<QueryOptions, 'pick'>): PropertyDecorator;
42
+ export declare const getQueryAllMetadata: (target: any) => QueryMetadata[];
43
+ /**
44
+ * @queryShadow(selector, options?) — shadow DOM에서 요소를 쿼리
45
+ */
46
+ export declare function queryShadow(selector: string | QueryFnSelector, options?: QueryBaseOptions): PropertyDecorator;
47
+ /**
48
+ * @queryLight(selector, options?) — light DOM에서 요소를 쿼리
49
+ */
50
+ export declare function queryLight(selector: string | QueryFnSelector, options?: QueryBaseOptions): PropertyDecorator;
51
+ /**
52
+ * @queryAllRoots(selector, options?) — shadow+light 모두에서 요소를 쿼리 (pick 기본 first)
53
+ */
54
+ export declare function queryAllRoots(selector: string | QueryFnSelector, options?: QueryBaseOptions): PropertyDecorator;
55
+ /**
56
+ * @queryAllShadow(selector, options?) — shadow DOM에서 모든 매칭 요소를 배열로 쿼리
57
+ */
58
+ export declare function queryAllShadow(selector: string | QueryFnSelector, options?: QueryBaseOptions): PropertyDecorator;
22
59
  /**
23
- * @queryShadow(selector, options?) — shadow DOM에서 단일 요소를 쿼리
60
+ * @queryAllLight(selector, options?) — light DOM에서 모든 매칭 요소를 배열로 쿼리
24
61
  */
25
- export declare function queryShadow(selector: string | ((currentThis: any, helper: HelperHostSet) => Node | NodeList | Element | Element[] | null), options?: Omit<QueryOptions, 'root'>): PropertyDecorator;
62
+ export declare function queryAllLight(selector: string | QueryFnSelector, options?: QueryBaseOptions): PropertyDecorator;
26
63
  /**
27
- * @queryLight(selector, options?) — light DOM에서 단일 요소를 쿼리
64
+ * @queryAllAll(selector, options?) — shadow+light 모두에서 모든 매칭 요소를 배열로 쿼리
28
65
  */
29
- export declare function queryLight(selector: string | ((currentThis: any, helper: HelperHostSet) => Node | NodeList | Element | Element[] | null), options?: Omit<QueryOptions, 'root'>): PropertyDecorator;
66
+ export declare function queryAllAll(selector: string | QueryFnSelector, options?: QueryBaseOptions): PropertyDecorator;
30
67
  /**
31
- * @queryAll(selector, options?) — shadow+light 모두에서 요소를 쿼리
68
+ * @queryIn(root, pick?) — root + pick 조합 팩토리.
69
+ * first/last/even/odd/all/number를 모두 지원하는 데코레이터를 생성한다.
70
+ *
71
+ * @example
72
+ * @queryIn('shadow', 'even')('.item') // shadow DOM 짝수 인덱스들
73
+ * @queryIn('light', 2)('.item') // light DOM 3번째 요소
74
+ * @queryIn('all')('.item') // root all, pick 기본 first
32
75
  */
33
- export declare function queryAllRoots(selector: string | ((currentThis: any, helper: HelperHostSet) => Node | NodeList | Element | Element[] | null), options?: Omit<QueryOptions, 'root'>): PropertyDecorator;
76
+ export declare const queryIn: (root: SwcRootType, pick?: QueryPick) => (selector: string | QueryFnSelector, options?: QueryBaseOptions) => PropertyDecorator;
34
77
  //# sourceMappingURL=query.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../src/decorators/query.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE1D,MAAM,WAAW,YAAa,SAAQ,eAAe;IACnD;;;OAGG;IACH,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE;QAAE,WAAW,EAAE,GAAG,CAAC;QAAC,MAAM,EAAE,aAAa,CAAA;KAAE,KAAK,OAAO,CAAC;CAC9F;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,QAAQ,EAAE,MAAM,GAAG,CAAC,CAAC,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,aAAa,KAAK,IAAI,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IAC/G,OAAO,EAAE,YAAY,CAAE;CACxB;AAED,eAAO,MAAM,kBAAkB,eAA2C,CAAC;AAE3E,wBAAgB,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,UAAU,CAAC,EAAE,kBAAkB,GAAG,kBAAkB,GAAG,IAAI,CAAC;AAChI,wBAAgB,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,CAAC,CAAC,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,aAAa,KAAK,IAAI,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,EAAE,GAAG,IAAI,CAAC,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,iBAAiB,CAAC;AACjL,wBAAgB,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,iBAAiB,CAAC;AAwJjE,eAAO,MAAM,gBAAgB,GAAI,QAAQ,GAAG,KAAG,aAAa,EAG3D,CAAC;AAIF;;GAEG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,CAAC,CAAC,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,aAAa,KAAK,IAAI,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,EAAE,GAAG,IAAI,CAAC,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,GAAG,iBAAiB,CAEnM;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,CAAC,CAAC,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,aAAa,KAAK,IAAI,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,EAAE,GAAG,IAAI,CAAC,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,GAAG,iBAAiB,CAElM;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,CAAC,CAAC,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,aAAa,KAAK,IAAI,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,EAAE,GAAG,IAAI,CAAC,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,GAAG,iBAAiB,CAErM"}
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../src/decorators/query.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEnG,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;AAE3E,MAAM,WAAW,gBAAgB;IAE/B,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE;QAAE,WAAW,EAAE,GAAG,CAAC;QAAC,MAAM,EAAE,aAAa,CAAA;KAAE,KAAK,OAAO,CAAC;CAC9F;AAED,MAAM,MAAM,YAAY,GAAG,gBAAgB,GAAG,eAAe,CAAC;AAE9D,MAAM,MAAM,oBAAoB,GAAG,gBAAgB,CAAC;AAEpD,MAAM,MAAM,eAAe,GAAG,aAAa,CAAC;AAC5C,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC;AAGxC,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,aAAa,IAAI,CAAC,SAAS,MAAM,GAAG,YAAY,GAAG,oBAAoB,CAAC;AAE7G,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,QAAQ,EAAE,aAAa,CAAC;IACxB,OAAO,EAAE,YAAY,CAAC;CACvB;AAED,eAAO,MAAM,kBAAkB,eAA2C,CAAC;AAE3E;;;GAGG;AACH,eAAO,MAAM,oBAAoB,GAC/B,MAAM,GAAG,EACT,UAAU,aAAa,EACvB,SAAS,YAAY,EACrB,KAAK,MAAM,KACV,WAAW,EAsCb,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,YAAY,GACvB,KAAK,WAAW,EAAE,EAClB,MAAM,SAAS,KACd,WAAW,GAAG,WAAW,EAAE,GAAG,IAOhC,CAAC;AAEF,wBAAgB,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,UAAU,CAAC,EAAE,kBAAkB,GAAG,kBAAkB,GAAG,IAAI,CAAC;AAChI,wBAAgB,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,iBAAiB,CAAC;AACnF,wBAAgB,KAAK,CAAC,QAAQ,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,iBAAiB,CAAC;AACpG,wBAAgB,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,iBAAiB,CAAC;AA+DjE,eAAO,MAAM,gBAAgB,GAAI,QAAQ,GAAG,KAAG,aAAa,EAG3D,CAAC;AAGF,eAAO,MAAM,sBAAsB,QAAqB,CAAC;AAEzD,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,UAAU,CAAC,EAAE,kBAAkB,GAAG,kBAAkB,GAAG,IAAI,CAAC;AACnI,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,GAAG,iBAAiB,CAAC;AACpG,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,oBAAoB,EAAE,MAAM,CAAC,GAAG,iBAAiB,CAAC;AACrH,wBAAgB,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,GAAG,iBAAiB,CAAC;AAYlF,eAAO,MAAM,mBAAmB,WAvBS,GAAG,KAAG,aAAa,EAuBT,CAAC;AAIpD;;GAEG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,iBAAiB,CAE7G;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,iBAAiB,CAE5G;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,iBAAiB,CAE/G;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,iBAAiB,CAEhH;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,iBAAiB,CAE/G;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,iBAAiB,CAE7G;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,OAAO,GAAI,MAAM,WAAW,EAAE,OAAO,SAAS,MACxD,UAAU,MAAM,GAAG,eAAe,EAAE,UAAU,gBAAgB,KAAG,iBACuB,CAAC"}
@@ -1,7 +1,5 @@
1
- import { SpecialSelector, SwcQueryOptions, HelperHostSet } from '../types';
2
- import { EventListenerSelector } from './addEventListener';
3
- export interface ResizeObserverOptions extends SwcQueryOptions {
4
- delegate?: boolean;
1
+ import { SpecialSelector, SwcQueryOptions, SwcFnSelector, SwcSelector, HelperHostSet } from '../types';
2
+ export interface ResizeObserverBaseOptions {
5
3
  box?: 'content-box' | 'border-box' | 'device-pixel-content-box';
6
4
  filter?: (matchedEls: HTMLElement[], meta: {
7
5
  currentThis: any;
@@ -9,29 +7,42 @@ export interface ResizeObserverOptions extends SwcQueryOptions {
9
7
  }) => boolean;
10
8
  removeObserver?: (target: Element, optionValue: ResizeObserverOptions) => void;
11
9
  }
10
+ export type ResizeObserverQueryOptions = ResizeObserverBaseOptions & SwcQueryOptions & {
11
+ delegate?: boolean;
12
+ };
13
+ export type ResizeObserverNonQueryOptions = ResizeObserverBaseOptions;
14
+ export type ResizeObserverOptions = ResizeObserverQueryOptions;
15
+ export type ResizeObserverOptionsOf<S extends SwcSelector> = S extends string ? ResizeObserverQueryOptions : ResizeObserverNonQueryOptions;
12
16
  export interface ResizeObserverMetadata {
13
17
  propertyKey: string | symbol;
14
- selector: EventListenerSelector;
18
+ selector: SwcSelector;
15
19
  options: ResizeObserverOptions;
16
20
  }
17
21
  export declare const RESIZE_OBSERVER_METADATA_KEY: unique symbol;
18
- export declare function resizeObserver(target: SpecialSelector, options?: ResizeObserverOptions): MethodDecorator;
19
- export declare function resizeObserver(selector: EventListenerSelector, options?: ResizeObserverOptions): MethodDecorator;
20
- export declare function resizeObserver(options?: ResizeObserverOptions): MethodDecorator;
21
- export declare function resizeObserverThis(options?: ResizeObserverOptions): MethodDecorator;
22
- export declare function resizeObserverDelegateLight(selector: EventListenerSelector, options?: Omit<ResizeObserverOptions, 'delegate'>): MethodDecorator;
23
- export declare function resizeObserverDelegateLight(options?: Omit<ResizeObserverOptions, 'delegate'>): MethodDecorator;
24
- export declare function resizeObserverDelegateShadow(selector: EventListenerSelector, options?: Omit<ResizeObserverOptions, 'delegate'>): MethodDecorator;
25
- export declare function resizeObserverDelegateShadow(options?: Omit<ResizeObserverOptions, 'delegate'>): MethodDecorator;
26
- export declare function resizeObserverDelegateAll(selector: EventListenerSelector, options?: Omit<ResizeObserverOptions, 'delegate'>): MethodDecorator;
27
- export declare function resizeObserverDelegateAll(options?: Omit<ResizeObserverOptions, 'delegate'>): MethodDecorator;
28
- export declare function resizeObserverDelegate(selector: EventListenerSelector, options?: Omit<ResizeObserverOptions, 'delegate'>): MethodDecorator;
29
- export declare function resizeObserverDelegate(options?: Omit<ResizeObserverOptions, 'delegate'>): MethodDecorator;
30
- export declare function resizeObserverLight(selector: EventListenerSelector, options?: ResizeObserverOptions): MethodDecorator;
31
- export declare function resizeObserverLight(options?: ResizeObserverOptions): MethodDecorator;
32
- export declare function resizeObserverShadow(selector: EventListenerSelector, options?: ResizeObserverOptions): MethodDecorator;
33
- export declare function resizeObserverShadow(options?: ResizeObserverOptions): MethodDecorator;
34
- export declare function resizeObserverAll(selector: EventListenerSelector, options?: ResizeObserverOptions): MethodDecorator;
35
- export declare function resizeObserverAll(options?: ResizeObserverOptions): MethodDecorator;
22
+ export declare function resizeObserver(target: SpecialSelector, options?: ResizeObserverQueryOptions): MethodDecorator;
23
+ export declare function resizeObserver(selector: string, options?: ResizeObserverQueryOptions): MethodDecorator;
24
+ export declare function resizeObserver(selector: SwcFnSelector, options?: ResizeObserverNonQueryOptions): MethodDecorator;
25
+ export declare function resizeObserver(options?: ResizeObserverQueryOptions): MethodDecorator;
26
+ export declare function resizeObserverThis(options?: ResizeObserverQueryOptions): MethodDecorator;
27
+ export declare function resizeObserverDelegateLight(selector: string, options?: Omit<ResizeObserverQueryOptions, 'delegate'>): MethodDecorator;
28
+ export declare function resizeObserverDelegateLight(options?: Omit<ResizeObserverQueryOptions, 'delegate'>): MethodDecorator;
29
+ export declare function resizeObserverDelegateShadow(selector: string, options?: Omit<ResizeObserverQueryOptions, 'delegate'>): MethodDecorator;
30
+ export declare function resizeObserverDelegateShadow(options?: Omit<ResizeObserverQueryOptions, 'delegate'>): MethodDecorator;
31
+ export declare function resizeObserverDelegateAll(selector: string, options?: Omit<ResizeObserverQueryOptions, 'delegate'>): MethodDecorator;
32
+ export declare function resizeObserverDelegateAll(options?: Omit<ResizeObserverQueryOptions, 'delegate'>): MethodDecorator;
33
+ export declare function resizeObserverDelegate(selector: string, options?: Omit<ResizeObserverQueryOptions, 'delegate'>): MethodDecorator;
34
+ export declare function resizeObserverDelegate(options?: Omit<ResizeObserverQueryOptions, 'delegate'>): MethodDecorator;
35
+ export declare function resizeObserverLight(selector: string, options?: ResizeObserverQueryOptions): MethodDecorator;
36
+ export declare function resizeObserverLight(options?: ResizeObserverQueryOptions): MethodDecorator;
37
+ export declare function resizeObserverShadow(selector: string, options?: ResizeObserverQueryOptions): MethodDecorator;
38
+ export declare function resizeObserverShadow(options?: ResizeObserverQueryOptions): MethodDecorator;
39
+ export declare function resizeObserverAll(selector: string, options?: ResizeObserverQueryOptions): MethodDecorator;
40
+ export declare function resizeObserverAll(options?: ResizeObserverQueryOptions): MethodDecorator;
36
41
  export declare function getResizeObserverMetadata(target: any): ResizeObserverMetadata[] | undefined;
42
+ import { ElementDefineLifeCycler, OnConnectedResult } from '../types';
43
+ export declare class ResizeObserverLifeCycler implements ElementDefineLifeCycler {
44
+ private readonly removeObserverCallbacksMap;
45
+ onConnected(helperHostSet: HelperHostSet): OnConnectedResult | void;
46
+ onDisconnected(helperHostSet: HelperHostSet): void;
47
+ }
37
48
  //# sourceMappingURL=resizeObserver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resizeObserver.d.ts","sourceRoot":"","sources":["../../../src/decorators/resizeObserver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resizeObserver.d.ts","sourceRoot":"","sources":["../../../src/decorators/resizeObserver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import { ElementDefineLifeCycler, HelperHostSet } from '../types';
2
+ export declare const SET_INTERVAL_METADATA_KEY: unique symbol;
3
+ export interface SetIntervalOptions {
4
+ /** 매 tick마다 데코레이트된 메서드에 넘길 인자를 계산. 없으면 인자 없이 호출. */
5
+ parameter?: (set: HelperHostSet) => any[];
6
+ /** 타이머 등록 직후 1회 호출 (디버깅/로깅용). id는 실제 setInterval 반환값 - cleanup은 자동으로 처리되므로 직접 clear할 필요 없음. */
7
+ created?: (set: HelperHostSet, id: number) => void;
8
+ /**
9
+ * 매 tick마다 데코레이트된 메서드의 리턴값이 객체이고 이 키의 값이 함수이면 (id: number)로 호출한다.
10
+ * applyAttribute.ts의 valueKey와 동일한 컨벤션 - 리턴 객체에서 이 데코레이터 몫만 뽑아 쓴다.
11
+ */
12
+ valueKey?: symbol | string;
13
+ }
14
+ export interface SetIntervalMetadata {
15
+ propertyKey: string | symbol;
16
+ interval: number;
17
+ options: SetIntervalOptions;
18
+ }
19
+ /**
20
+ * connect 시 자동으로 setInterval을 걸고, disconnect 시 자동으로 clearInterval 한다.
21
+ */
22
+ export declare function setInterval(interval: number, options?: SetIntervalOptions): MethodDecorator;
23
+ export declare const findAllSetIntervalMetadata: (target: any) => SetIntervalMetadata[];
24
+ export declare class SetIntervalLifeCycler implements ElementDefineLifeCycler {
25
+ private readonly activeMap;
26
+ onConnected(helperHostSet: HelperHostSet): void;
27
+ onDisconnected(helperHostSet: HelperHostSet): void;
28
+ }
29
+ //# sourceMappingURL=setInterval.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setInterval.d.ts","sourceRoot":"","sources":["../../../src/decorators/setInterval.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAElE,eAAO,MAAM,yBAAyB,eAAkD,CAAC;AAEzF,MAAM,WAAW,kBAAkB;IACjC,oDAAoD;IACpD,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,GAAG,EAAE,CAAC;IAC1C,+FAA+F;IAC/F,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,kBAAkB,CAAC;CAC7B;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,kBAAuB,GAAG,eAAe,CAU/F;AAED,eAAO,MAAM,0BAA0B,GAAI,QAAQ,GAAG,KAAG,mBAAmB,EAG3E,CAAC;AAEF,qBAAa,qBAAsB,YAAW,uBAAuB;IACnE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAgC;IAE1D,WAAW,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI;IAsB/C,cAAc,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI;CAWnD"}
@@ -0,0 +1,29 @@
1
+ import { ElementDefineLifeCycler, HelperHostSet } from '../types';
2
+ export declare const SET_TIMEOUT_METADATA_KEY: unique symbol;
3
+ export interface SetTimeoutOptions {
4
+ /** 실행 시 데코레이트된 메서드에 넘길 인자를 계산. 없으면 인자 없이 호출. */
5
+ parameter?: (set: HelperHostSet) => any[];
6
+ /** 타이머 등록 직후 1회 호출 (디버깅/로깅용). id는 실제 setTimeout 반환값 - cleanup은 자동으로 처리되므로 직접 clear할 필요 없음. */
7
+ created?: (set: HelperHostSet, id: number) => void;
8
+ /**
9
+ * fire 시 데코레이트된 메서드의 리턴값이 객체이고 이 키의 값이 함수이면 (id: number)로 호출한다.
10
+ * applyAttribute.ts의 valueKey와 동일한 컨벤션 - 리턴 객체에서 이 데코레이터 몫만 뽑아 쓴다.
11
+ */
12
+ valueKey?: symbol | string;
13
+ }
14
+ export interface SetTimeoutMetadata {
15
+ propertyKey: string | symbol;
16
+ delay: number;
17
+ options: SetTimeoutOptions;
18
+ }
19
+ /**
20
+ * connect 시 자동으로 setTimeout을 걸고, disconnect 시 (아직 실행 전이라면) 자동으로 clearTimeout 한다.
21
+ */
22
+ export declare function setTimeout(delay: number, options?: SetTimeoutOptions): MethodDecorator;
23
+ export declare const findAllSetTimeoutMetadata: (target: any) => SetTimeoutMetadata[];
24
+ export declare class SetTimeoutLifeCycler implements ElementDefineLifeCycler {
25
+ private readonly activeMap;
26
+ onConnected(helperHostSet: HelperHostSet): void;
27
+ onDisconnected(helperHostSet: HelperHostSet): void;
28
+ }
29
+ //# sourceMappingURL=setTimeout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setTimeout.d.ts","sourceRoot":"","sources":["../../../src/decorators/setTimeout.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAElE,eAAO,MAAM,wBAAwB,eAAiD,CAAC;AAEvF,MAAM,WAAW,iBAAiB;IAChC,gDAAgD;IAChD,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,GAAG,EAAE,CAAC;IAC1C,8FAA8F;IAC9F,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,iBAAiB,CAAC;CAC5B;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,eAAe,CAU1F;AAED,eAAO,MAAM,yBAAyB,GAAI,QAAQ,GAAG,KAAG,kBAAkB,EAGzE,CAAC;AAEF,qBAAa,oBAAqB,YAAW,uBAAuB;IAClE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAgC;IAE1D,WAAW,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI;IAsB/C,cAAc,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI;CAWnD"}
@@ -1,4 +1,4 @@
1
- import { SwcAppMessage } from '../types';
1
+ import { SwcAppMessage, HelperHostSet } from '../types';
2
2
  export declare const SUBSCRIBE_SWC_APP_MESSAGE_WHILE_CONNECTED_METADATA_KEY: unique symbol;
3
3
  export interface SwcAppMessageSubscriberMetadata {
4
4
  propertyKey: string | symbol;
@@ -14,4 +14,10 @@ export declare function subscribeSwcAppMessageWhileConnected(options: SwcAppMess
14
14
  export declare function subscribeSwcAppMessageWhileConnected(messageType: string, options: SwcAppMessageOptions): MethodDecorator;
15
15
  export declare const receiveMessage: typeof subscribeSwcAppMessageWhileConnected;
16
16
  export declare const getSubscribeSwcAppMessageWhileConnectedMetadata: (target: any) => SwcAppMessageSubscriberMetadata[] | undefined;
17
+ import { ElementDefineLifeCycler } from '../types';
18
+ export declare class MessageSubscribeLifeCycler implements ElementDefineLifeCycler {
19
+ onConnected(_helperHostSet: HelperHostSet): void;
20
+ /** SwcAppMixin 이 구독 대상 메타를 꺼낼 때 사용 */
21
+ getMetadata(helperHostSet: HelperHostSet): SwcAppMessageSubscriberMetadata[] | undefined;
22
+ }
17
23
  //# sourceMappingURL=subscribeSwcAppMessageWhileConnected.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"subscribeSwcAppMessageWhileConnected.d.ts","sourceRoot":"","sources":["../../../src/decorators/subscribeSwcAppMessageWhileConnected.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAmD,MAAM,UAAU,CAAC;AAE1F,eAAO,MAAM,sDAAsD,eAA+E,CAAC;AAEnJ,MAAM,WAAW,+BAA+B;IAC9C,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,KAAK,OAAO,CAAC;CAChE;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,KAAK,OAAO,CAAC;CAChE;AAmBD,wBAAgB,oCAAoC,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,UAAU,EAAE,kBAAkB,GAAG,kBAAkB,GAAG,IAAI,CAAC;AAE9J,wBAAgB,oCAAoC,CAAC,WAAW,EAAE,MAAM,GAAG,eAAe,CAAC;AAE3F,wBAAgB,oCAAoC,CAAC,OAAO,EAAE,oBAAoB,GAAG,eAAe,CAAC;AAErG,wBAAgB,oCAAoC,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,GAAG,eAAe,CAAC;AA8B1H,eAAO,MAAM,cAAc,6CAAuC,CAAC;AAEnE,eAAO,MAAM,+CAA+C,GAAI,QAAQ,GAAG,KAAG,+BAA+B,EAAE,GAAG,SAGjH,CAAC"}
1
+ {"version":3,"file":"subscribeSwcAppMessageWhileConnected.d.ts","sourceRoot":"","sources":["../../../src/decorators/subscribeSwcAppMessageWhileConnected.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAoC,aAAa,EAAE,MAAM,UAAU,CAAC;AAE1F,eAAO,MAAM,sDAAsD,eAA+E,CAAC;AAEnJ,MAAM,WAAW,+BAA+B;IAC9C,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,KAAK,OAAO,CAAC;CAChE;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,KAAK,OAAO,CAAC;CAChE;AAmBD,wBAAgB,oCAAoC,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,UAAU,EAAE,kBAAkB,GAAG,kBAAkB,GAAG,IAAI,CAAC;AAE9J,wBAAgB,oCAAoC,CAAC,WAAW,EAAE,MAAM,GAAG,eAAe,CAAC;AAE3F,wBAAgB,oCAAoC,CAAC,OAAO,EAAE,oBAAoB,GAAG,eAAe,CAAC;AAErG,wBAAgB,oCAAoC,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,GAAG,eAAe,CAAC;AA8B1H,eAAO,MAAM,cAAc,6CAAuC,CAAC;AAEnE,eAAO,MAAM,+CAA+C,GAAI,QAAQ,GAAG,KAAG,+BAA+B,EAAE,GAAG,SAGjH,CAAC;AAMF,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAEnD,qBAAa,0BAA2B,YAAW,uBAAuB;IACxE,WAAW,CAAC,cAAc,EAAE,aAAa,GAAG,IAAI;IAIhD,sCAAsC;IACtC,WAAW,CAAC,aAAa,EAAE,aAAa,GAAG,+BAA+B,EAAE,GAAG,SAAS;CAGzF"}
@@ -22,4 +22,10 @@ export declare function subscribeSwcAppRouteChangeWhileConnected(pathPattern: Ro
22
22
  export declare function subscribeSwcAppRouteChangeWhileConnected(options: SwcAppRouteChangeOptions): MethodDecorator;
23
23
  export declare const changedRoute: typeof subscribeSwcAppRouteChangeWhileConnected;
24
24
  export declare const getSubscribeSwcAppRouteChangeWhileConnectedMetadata: (target: any) => SwcAppRouteChangeSubscriberMetadata[];
25
+ import { ElementDefineLifeCycler } from '../types';
26
+ export declare class RouteSubscribeLifeCycler implements ElementDefineLifeCycler {
27
+ onConnected(_helperHostSet: HelperHostSet): void;
28
+ /** SwcAppMixin 이 구독 대상 메타를 꺼낼 때 사용 */
29
+ getMetadata(helperHostSet: HelperHostSet): SwcAppRouteChangeSubscriberMetadata[];
30
+ }
25
31
  //# sourceMappingURL=subscribeSwcAppRouteChangeWhileConnected.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"subscribeSwcAppRouteChangeWhileConnected.d.ts","sourceRoot":"","sources":["../../../src/decorators/subscribeSwcAppRouteChangeWhileConnected.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,MAAM,EAAC,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAC,aAAa,EAAC,MAAM,UAAU,CAAC;AAEvC,eAAO,MAAM,2DAA2D,eAAoF,CAAC;AAE7J,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;AAE1F,MAAM,WAAW,mCAAmC;IAClD,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,OAAO,CAAC,EAAE,wBAAwB,CAAC;CACpC;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE;QAAE,WAAW,EAAE,GAAG,CAAC;QAAC,MAAM,EAAE,aAAa,CAAA;KAAE,KAAK,OAAO,CAAC;IACxF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC5B;AAoBD,wBAAgB,wCAAwC,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,UAAU,EAAE,kBAAkB,GAAG,kBAAkB,GAAG,IAAI,CAAC;AAElK,wBAAgB,wCAAwC,IAAI,eAAe,CAAC;AAC5E,wBAAgB,wCAAwC,CAAC,WAAW,EAAE,aAAa,GAAG,eAAe,CAAC;AACtG,wBAAgB,wCAAwC,CAAC,WAAW,EAAE,aAAa,EAAE,MAAM,EAAE,IAAI,CAAC,wBAAwB,EAAE,MAAM,CAAC,GAAG,eAAe,CAAC;AACtJ,wBAAgB,wCAAwC,CAAC,OAAO,EAAE,wBAAwB,GAAG,eAAe,CAAC;AAkC7G,eAAO,MAAM,YAAY,iDAA2C,CAAC;AAGrE,eAAO,MAAM,mDAAmD,GAAI,QAAQ,GAAG,KAAG,mCAAmC,EAOpH,CAAC"}
1
+ {"version":3,"file":"subscribeSwcAppRouteChangeWhileConnected.d.ts","sourceRoot":"","sources":["../../../src/decorators/subscribeSwcAppRouteChangeWhileConnected.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,MAAM,EAAC,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAC,aAAa,EAAC,MAAM,UAAU,CAAC;AAEvC,eAAO,MAAM,2DAA2D,eAAoF,CAAC;AAE7J,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;AAE1F,MAAM,WAAW,mCAAmC;IAClD,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,OAAO,CAAC,EAAE,wBAAwB,CAAC;CACpC;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE;QAAE,WAAW,EAAE,GAAG,CAAC;QAAC,MAAM,EAAE,aAAa,CAAA;KAAE,KAAK,OAAO,CAAC;IACxF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC5B;AAoBD,wBAAgB,wCAAwC,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,UAAU,EAAE,kBAAkB,GAAG,kBAAkB,GAAG,IAAI,CAAC;AAElK,wBAAgB,wCAAwC,IAAI,eAAe,CAAC;AAC5E,wBAAgB,wCAAwC,CAAC,WAAW,EAAE,aAAa,GAAG,eAAe,CAAC;AACtG,wBAAgB,wCAAwC,CAAC,WAAW,EAAE,aAAa,EAAE,MAAM,EAAE,IAAI,CAAC,wBAAwB,EAAE,MAAM,CAAC,GAAG,eAAe,CAAC;AACtJ,wBAAgB,wCAAwC,CAAC,OAAO,EAAE,wBAAwB,GAAG,eAAe,CAAC;AAkC7G,eAAO,MAAM,YAAY,iDAA2C,CAAC;AAGrE,eAAO,MAAM,mDAAmD,GAAI,QAAQ,GAAG,KAAG,mCAAmC,EAOpH,CAAC;AAQF,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAEnD,qBAAa,wBAAyB,YAAW,uBAAuB;IACtE,WAAW,CAAC,cAAc,EAAE,aAAa,GAAG,IAAI;IAIhD,sCAAsC;IACtC,WAAW,CAAC,aAAa,EAAE,aAAa,GAAG,mCAAmC,EAAE;CAGjF"}
@@ -39,6 +39,8 @@ export type HostSet = {
39
39
  export type HelperHostSet = HelperSet & HostSet & {
40
40
  $this: any;
41
41
  };
42
+ export type SwcFnSelector = (currentThis: any, helper: HelperHostSet) => Node | NodeList | Element | Element[] | null;
43
+ export type SwcSelector = string | SwcFnSelector;
42
44
  export type SwcAppMessage<T = any> = {
43
45
  publisher?: any;
44
46
  data?: T;
@@ -58,4 +60,106 @@ export interface SwcAppInterface extends HTMLElement {
58
60
  export interface SwcElement {
59
61
  _swcId: string;
60
62
  }
63
+ /** observer observe 대상 엔트리. delegate:true 이면 target 은 셀렉터 문자열이며, 실제 요소는 동적 추적으로 observe/unobserve 된다. */
64
+ export interface ObserverObserveTarget<TOptions> {
65
+ target: Element | ShadowRoot | string;
66
+ options?: TOptions;
67
+ delegate?: boolean;
68
+ /** delegate 동적 추적 시 observe/unobserve 를 실행할 루트(스코프). delegate:true 일 때만 의미 있다. */
69
+ delegateRoot?: SwcRootType;
70
+ }
71
+ /** MutationObserver observe 대상 하나. 동일 루트의 여러 대상은 같은 callback 을 공유한다. */
72
+ export interface MutationObserverSetEntry {
73
+ target: Element | ShadowRoot | string;
74
+ options?: MutationObserverInit;
75
+ delegate?: boolean;
76
+ delegateRoot?: SwcRootType;
77
+ callback: (mutations: MutationRecord[], observer: MutationObserver) => void;
78
+ }
79
+ /** observe 할 대상 목록 (엔트리별 콜백 포함). elementDefine 이 하나의 MutationObserver 로 모두 observe 한다. */
80
+ export type MutationObserverSet = MutationObserverSetEntry[];
81
+ /** ResizeObserver observe 대상 하나. 동일 셀렉터의 여러 대상은 같은 callback 을 공유한다. */
82
+ export interface ResizeObserverSetEntry {
83
+ target: Element | ShadowRoot | string;
84
+ options?: ResizeObserverOptions;
85
+ delegate?: boolean;
86
+ delegateRoot?: SwcRootType;
87
+ callback: (entries: ResizeObserverEntry[], observer: ResizeObserver) => void;
88
+ }
89
+ /** observe 할 대상 목록 (엔트리별 콜백 포함). elementDefine 이 하나의 ResizeObserver 로 모두 observe 한다. */
90
+ export type ResizeObserverSet = ResizeObserverSetEntry[];
91
+ /** IntersectionObserver observe 대상 하나. 같은 옵션 그룹의 여러 대상은 같은 callback 을 공유한다. */
92
+ export interface IntersectionObserverSetEntry {
93
+ target: Element | ShadowRoot | string;
94
+ delegate?: boolean;
95
+ delegateRoot?: SwcRootType;
96
+ callback: (entries: IntersectionObserverEntry[], observer: IntersectionObserver) => void;
97
+ }
98
+ /** IntersectionObserver 그룹. observer 는 생성 시점에 옵션이 고정되므로 옵션별로 1개씩 생성된다. */
99
+ export interface IntersectionObserverGroup {
100
+ /** observer 생성 옵션 (threshold/rootMargin/root). 이 값이 같으면 같은 observer 를 공유한다. */
101
+ options: IntersectionObserverInit;
102
+ observeTargets: IntersectionObserverSetEntry[];
103
+ }
104
+ /** observe 할 옵션 그룹 목록. elementDefine 이 그룹마다 IntersectionObserver 를 생성한다. */
105
+ export type IntersectionObserverSet = IntersectionObserverGroup[];
106
+ /**
107
+ * onConnected 의 반환 타입.
108
+ * observer 가 필요 없는 cycler 는 undefined 를 반환해도 된다.
109
+ */
110
+ export interface OnConnectedResult {
111
+ mutationObserverSet?: MutationObserverSet;
112
+ resizeObserverSet?: ResizeObserverSet;
113
+ intersectionObserverSet?: IntersectionObserverSet;
114
+ }
115
+ /**
116
+ * 각 데코레이터 파일이 구현하는 라이프사이클 위임 interface.
117
+ *
118
+ * 구현체는 상태를 갖지 않고, 각 훅의 첫 번째 인자로 HelperHostSet 을 받는다.
119
+ * 관심 있는 훅만 구현하면 된다 (전부 optional).
120
+ *
121
+ * ```ts
122
+ * const eventCycler = new EventListenerLifeCycler();
123
+ * const cyclers: ElementDefineLifeCycler[] = [eventCycler, ...]; // elementDefine 시 1회 생성
124
+ *
125
+ * proto.connectedCallback = async function () {
126
+ * const helperHostSet = SwcUtils.getHelperAndHostSet(win, this);
127
+ * const results = await Promise.all(cyclers.map(c => c.onConnected?.(helperHostSet)));
128
+ * // results 에서 mutationObserverSet / resizeObserverSet 수집
129
+ * // → 필요한 경우에만 MutationObserver / ResizeObserver 생성
130
+ * };
131
+ * proto.disconnectedCallback = function () {
132
+ * for (const c of cyclers) c.onDisconnected?.(helperHostSet);
133
+ * };
134
+ * ```
135
+ */
136
+ export interface ElementDefineLifeCycler {
137
+ /**
138
+ * connectedCallback 시 호출.
139
+ * observer 가 필요하면 OnConnectedResult 를 반환하고,
140
+ * 필요 없으면 void / undefined 를 반환한다.
141
+ * @param helperHostSet 현재 엘리먼트 인스턴스($this)를 포함한 컨텍스트
142
+ * @param resizeObserverSet 이전 시클러가 반환한 resize observer set (mutation 시클러가 주입받아 사용)
143
+ */
144
+ onConnected?(helperHostSet: HelperHostSet, resizeObserverSet?: ResizeObserverSet): OnConnectedResult | void | Promise<OnConnectedResult | void>;
145
+ /** disconnectedCallback 시 호출. 등록한 리소스를 해제한다. */
146
+ onDisconnected?(helperHostSet: HelperHostSet): void;
147
+ /** adoptedCallback 시 호출 (선택적). */
148
+ onAdopted?(helperHostSet: HelperHostSet): void;
149
+ /**
150
+ * attributeChangedCallback 시 호출 (선택적).
151
+ * @param helperHostSet 현재 엘리먼트 인스턴스($this)를 포함한 컨텍스트
152
+ * @param name 변경된 attribute 이름
153
+ * @param oldVal 이전 값
154
+ * @param newVal 새 값 (ActionExpression 처리 후)
155
+ */
156
+ onAttributeChanged?(helperHostSet: HelperHostSet, name: string, oldVal: string | null, newVal: any): void;
157
+ /**
158
+ * observedAttributes 에 포함해야 하는 attribute 이름 목록을 반환한다.
159
+ * elementDefine 이 define-time(constructor)에 호출해 수집한다.
160
+ * 관심 없으면 구현하지 않거나 빈 배열을 반환한다.
161
+ * @param target constructor 또는 element 인스턴스 (메타데이터 조회용)
162
+ */
163
+ getObservedAttributeNames?(target: any): string[];
164
+ }
61
165
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"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"}