@runopencode/rx-stencil 0.4.4 → 0.5.0

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 (161) hide show
  1. package/dist/cjs/{index-CbERigo8.js → index-DWhjpI-K.js} +396 -41
  2. package/dist/{esm/set-property-CpZKE-Xu.js → cjs/index-Dssn3hdS.js} +2 -61
  3. package/dist/cjs/index.cjs.js +280 -244
  4. package/dist/cjs/loader.cjs.js +2 -2
  5. package/dist/cjs/mutation-observable-qY7nC854.js +152 -0
  6. package/dist/cjs/properties-observable-DXbVBslA.js +23 -0
  7. package/dist/cjs/property-observable-CPp5WEjC.js +86 -0
  8. package/dist/cjs/rx-async.cjs.entry.js +21 -14
  9. package/dist/cjs/rx-stencil.cjs.js +3 -3
  10. package/dist/cjs/schedule-render-DG4hFv5E.js +53 -0
  11. package/dist/cjs/set-property-C3KARzdl.js +33 -0
  12. package/dist/cjs/stencil-uD4ZIy1h.js +75 -0
  13. package/dist/cjs/test-properties-observable.cjs.entry.js +27 -0
  14. package/dist/cjs/test-property-observable.cjs.entry.js +31 -0
  15. package/dist/cjs/test-schedule-render.cjs.entry.js +28 -0
  16. package/dist/cjs/test-view-child-observable-shadow-dom.cjs.entry.js +40 -0
  17. package/dist/cjs/until-disconnected-BTCr-3q2.js +27 -0
  18. package/dist/collection/collection-manifest.json +9 -2
  19. package/dist/collection/components/async/async.js +42 -10
  20. package/dist/collection/components/index.js +1 -1
  21. package/dist/collection/rx/decorator/content-child.js +34 -0
  22. package/dist/collection/rx/decorator/content-children.js +34 -0
  23. package/dist/collection/rx/decorator/index.js +6 -2
  24. package/dist/collection/rx/decorator/query-selector-all.js +6 -38
  25. package/dist/collection/rx/decorator/query-selector.js +6 -51
  26. package/dist/collection/rx/decorator/view-child.js +34 -0
  27. package/dist/collection/rx/decorator/view-children.js +34 -0
  28. package/dist/collection/rx/index.js +1 -0
  29. package/dist/collection/rx/observable/connected-observable.js +27 -0
  30. package/dist/collection/rx/observable/content-child-observable.js +24 -0
  31. package/dist/collection/rx/observable/content-children-observable.js +15 -0
  32. package/dist/collection/rx/observable/from-event.js +26 -0
  33. package/dist/collection/rx/observable/index.js +9 -4
  34. package/dist/collection/rx/observable/mutation-observable.js +6 -0
  35. package/dist/collection/rx/observable/properties-observable.js +5 -0
  36. package/dist/collection/rx/observable/property-observable.js +72 -17
  37. package/dist/collection/rx/observable/render-observable.js +18 -9
  38. package/dist/collection/rx/observable/view-child-observable.js +30 -0
  39. package/dist/collection/rx/observable/view-children-observable.js +21 -0
  40. package/dist/collection/rx/operator/index.js +4 -3
  41. package/dist/collection/rx/operator/to-property.js +7 -7
  42. package/dist/collection/rx/operator/until-disconnected.js +12 -94
  43. package/dist/collection/rx/operator/while-connected.js +39 -0
  44. package/dist/collection/rx/subscriber/index.js +1 -1
  45. package/dist/collection/rx/subscriber/set-property.js +13 -0
  46. package/dist/collection/rx/types.js +1 -0
  47. package/dist/collection/tests/rx/observable/from-event/test-from-event.component.js +30 -0
  48. package/dist/collection/tests/rx/observable/properties-observable/test-properties-observable.component.js +85 -0
  49. package/dist/collection/tests/rx/observable/property-observable/test-property-observable.component.js +47 -0
  50. package/dist/collection/tests/rx/observable/render-observable.unit.js +38 -0
  51. package/dist/collection/tests/rx/observable/view-child-observable/test-view-child-observable-shadow-dom.component.js +96 -0
  52. package/dist/collection/tests/rx/operator/schedule-render/test-schedule-render.component.js +42 -0
  53. package/dist/collection/tests/rx/operator/to-property.unit.js +28 -0
  54. package/dist/collection/tests/rx/operator/until-disconnected.unit.js +25 -0
  55. package/dist/collection/tests/rx/operator/while-connected/test-while-connected.component.js +32 -0
  56. package/dist/collection/tests/rx/subscriber/set-property.unit.js +53 -0
  57. package/dist/collection/utils/decorator.js +33 -0
  58. package/dist/collection/utils/index.js +1 -1
  59. package/dist/collection/utils/rxjs.js +67 -0
  60. package/dist/collection/utils/stencil.js +66 -0
  61. package/dist/collection/utils/values-registry.js +40 -0
  62. package/dist/components/index.js +1 -1
  63. package/dist/components/index2.js +1 -0
  64. package/dist/components/mutation-observable.js +1 -0
  65. package/dist/components/properties-observable.js +1 -0
  66. package/dist/components/property-observable.js +1 -0
  67. package/dist/components/rx-async.js +1 -1
  68. package/dist/components/schedule-render.js +1 -0
  69. package/dist/components/set-property.js +1 -1
  70. package/dist/components/stencil.js +1 -0
  71. package/dist/components/test-properties-observable.d.ts +11 -0
  72. package/dist/components/test-properties-observable.js +1 -0
  73. package/dist/components/test-property-observable.d.ts +11 -0
  74. package/dist/components/test-property-observable.js +1 -0
  75. package/dist/components/test-schedule-render.d.ts +11 -0
  76. package/dist/components/test-schedule-render.js +1 -0
  77. package/dist/components/test-view-child-observable-shadow-dom.d.ts +11 -0
  78. package/dist/components/test-view-child-observable-shadow-dom.js +1 -0
  79. package/dist/components/until-disconnected.js +1 -0
  80. package/dist/esm/{index-BIBww8qU.js → index-BCGlW-2C.js} +396 -42
  81. package/dist/{cjs/set-property-BZHuI0P5.js → esm/index-Bn8mRT4P.js} +1 -67
  82. package/dist/esm/index.js +266 -240
  83. package/dist/esm/loader.js +3 -3
  84. package/dist/esm/mutation-observable-xA7xgk29.js +145 -0
  85. package/dist/esm/properties-observable-Bzq-rZ4c.js +21 -0
  86. package/dist/esm/property-observable-BKyQe0OR.js +84 -0
  87. package/dist/esm/rx-async.entry.js +18 -11
  88. package/dist/esm/rx-stencil.js +4 -4
  89. package/dist/esm/schedule-render-BGCI5FMG.js +50 -0
  90. package/dist/esm/set-property-CgrvJ28c.js +31 -0
  91. package/dist/esm/stencil-BQCAKjCT.js +68 -0
  92. package/dist/esm/test-properties-observable.entry.js +25 -0
  93. package/dist/esm/test-property-observable.entry.js +29 -0
  94. package/dist/esm/test-schedule-render.entry.js +26 -0
  95. package/dist/esm/test-view-child-observable-shadow-dom.entry.js +38 -0
  96. package/dist/esm/until-disconnected-D2pF81SM.js +25 -0
  97. package/dist/rx-stencil/index.esm.js +1 -1
  98. package/dist/rx-stencil/p-7c570c65.entry.js +1 -0
  99. package/dist/rx-stencil/p-BCGlW-2C.js +3 -0
  100. package/dist/rx-stencil/p-BLLg2g3n.js +1 -0
  101. package/dist/rx-stencil/p-BQCAKjCT.js +1 -0
  102. package/dist/rx-stencil/p-Bn8mRT4P.js +1 -0
  103. package/dist/rx-stencil/p-D1zETqVV.js +1 -0
  104. package/dist/rx-stencil/p-DHIVm3-O.js +1 -0
  105. package/dist/rx-stencil/p-J0xLdrjW.js +1 -0
  106. package/dist/rx-stencil/p-Sf5sf4Pq.js +1 -0
  107. package/dist/rx-stencil/p-a4c71f45.entry.js +1 -0
  108. package/dist/rx-stencil/p-b2c6ba01.entry.js +1 -0
  109. package/dist/rx-stencil/p-dc654207.entry.js +1 -0
  110. package/dist/rx-stencil/p-e661490a.entry.js +1 -0
  111. package/dist/rx-stencil/p-wVeMJABH.js +1 -0
  112. package/dist/rx-stencil/rx-stencil.esm.js +1 -1
  113. package/dist/types/components/async/async.d.ts +9 -2
  114. package/dist/types/components/index.d.ts +1 -1
  115. package/dist/types/components.d.ts +92 -2
  116. package/dist/types/rx/decorator/content-child.d.ts +3 -0
  117. package/dist/types/rx/decorator/content-children.d.ts +3 -0
  118. package/dist/types/rx/decorator/index.d.ts +6 -2
  119. package/dist/types/rx/decorator/query-selector-all.d.ts +7 -21
  120. package/dist/types/rx/decorator/query-selector.d.ts +7 -29
  121. package/dist/types/rx/decorator/view-child.d.ts +27 -0
  122. package/dist/types/rx/decorator/view-children.d.ts +11 -0
  123. package/dist/types/rx/index.d.ts +1 -0
  124. package/dist/types/rx/observable/connected-observable.d.ts +9 -0
  125. package/dist/types/rx/observable/content-child-observable.d.ts +5 -0
  126. package/dist/types/rx/observable/content-children-observable.d.ts +5 -0
  127. package/dist/types/rx/observable/from-event.d.ts +26 -0
  128. package/dist/types/rx/observable/index.d.ts +9 -4
  129. package/dist/types/rx/observable/mutation-observable.d.ts +6 -0
  130. package/dist/types/rx/observable/properties-observable.d.ts +5 -0
  131. package/dist/types/rx/observable/property-observable.d.ts +1 -1
  132. package/dist/types/rx/observable/render-observable.d.ts +6 -1
  133. package/dist/types/rx/observable/view-child-observable.d.ts +17 -0
  134. package/dist/types/rx/observable/view-children-observable.d.ts +5 -0
  135. package/dist/types/rx/operator/index.d.ts +4 -3
  136. package/dist/types/rx/operator/to-property.d.ts +1 -3
  137. package/dist/types/rx/operator/while-connected.d.ts +22 -0
  138. package/dist/types/rx/subscriber/index.d.ts +1 -1
  139. package/dist/types/rx/subscriber/set-property.d.ts +13 -0
  140. package/dist/types/rx/types.d.ts +12 -0
  141. package/dist/types/stencil-public-runtime.d.ts +74 -55
  142. package/dist/types/tests/rx/observable/properties-observable/test-properties-observable.component.d.ts +9 -0
  143. package/dist/types/tests/rx/observable/property-observable/test-property-observable.component.d.ts +8 -0
  144. package/dist/types/tests/rx/observable/render-observable.unit.d.ts +1 -0
  145. package/dist/types/tests/rx/observable/view-child-observable/test-view-child-observable-shadow-dom.component.d.ts +12 -0
  146. package/dist/types/tests/rx/operator/schedule-render/test-schedule-render.component.d.ts +7 -0
  147. package/dist/types/tests/rx/operator/to-property.unit.d.ts +1 -0
  148. package/dist/types/tests/rx/operator/until-disconnected.unit.d.ts +1 -0
  149. package/dist/types/tests/rx/subscriber/set-property.unit.d.ts +1 -0
  150. package/dist/types/utils/decorator.d.ts +11 -0
  151. package/dist/types/utils/index.d.ts +1 -1
  152. package/dist/types/utils/rxjs.d.ts +31 -0
  153. package/dist/types/utils/stencil.d.ts +54 -0
  154. package/dist/types/utils/values-registry.d.ts +10 -0
  155. package/loader/index.d.ts +1 -1
  156. package/package.json +19 -10
  157. package/dist/collection/utils/get-property-descriptor.js +0 -17
  158. package/dist/rx-stencil/p-77100dee.entry.js +0 -1
  159. package/dist/rx-stencil/p-BIBww8qU.js +0 -2
  160. package/dist/rx-stencil/p-IbpJ_cRo.js +0 -1
  161. package/dist/types/utils/get-property-descriptor.d.ts +0 -7
@@ -0,0 +1,145 @@
1
+ import { g as getElement } from './index-BCGlW-2C.js';
2
+ import { c as cjsExports } from './index-Bn8mRT4P.js';
3
+ import { b as getComponentTagName, c as isRendered, g as getHostRef, u as usesShadowDom, i as isEmulatedViewChild } from './stencil-BQCAKjCT.js';
4
+
5
+ /**
6
+ * Returns an RxJS operator that emits only when the element changes, based on the provided comparator function.
7
+ *
8
+ * If boolean `true` is provided, the default comparator function will be used, which compares the elements by reference.
9
+ *
10
+ * If falsy value is provided, the operator will emit every time the source observable emits.
11
+ *
12
+ * @internal
13
+ */
14
+ function distinctUntilElementChanged(comparator) {
15
+ if (!comparator) {
16
+ return cjsExports.identity;
17
+ }
18
+ if ('function' === typeof comparator) {
19
+ return cjsExports.distinctUntilChanged(comparator);
20
+ }
21
+ return cjsExports.distinctUntilChanged();
22
+ }
23
+ /**
24
+ * Returns an RxJS operator that emits only when the array of elements changes, based on the provided comparator function.
25
+ *
26
+ * If boolean `true` is provided, the default comparator function will be used, which compares the elements by reference.
27
+ *
28
+ * If falsy value is provided, the operator will emit every time the source observable emits.
29
+ *
30
+ * @internal
31
+ */
32
+ function distinctUntilElementsChanged(comparator) {
33
+ if (!comparator) {
34
+ return cjsExports.identity;
35
+ }
36
+ // If the comparator is a function, use it to compare elements. Otherwise, use the default comparator that compares elements by reference.
37
+ let cmpFn = 'function' === typeof comparator ? comparator : (previous, current) => previous === current;
38
+ return cjsExports.distinctUntilChanged((previous, current) => {
39
+ var _a;
40
+ if (previous.length !== current.length) {
41
+ return false;
42
+ }
43
+ return (_a = previous === null || previous === void 0 ? void 0 : previous.every((item, index) => cmpFn(item, current[index]))) !== null && _a !== void 0 ? _a : false;
44
+ });
45
+ }
46
+ /**
47
+ * Observe the subtree of an element for mutations.
48
+ *
49
+ * This function returns an observable that emits an array of MutationRecords whenever a mutation occurs
50
+ * in the subtree of the specified element.
51
+ *
52
+ * @internal
53
+ */
54
+ function observeSubtree(element) {
55
+ return mutationObservable(element, {
56
+ childList: true,
57
+ subtree: true,
58
+ }).pipe(cjsExports.filter((records) => {
59
+ for (let i = 0; i < records.length; i++) {
60
+ if ('childList' !== records[i].type) {
61
+ continue;
62
+ }
63
+ if (records[i].addedNodes.length || records[i].removedNodes.length) {
64
+ return true;
65
+ }
66
+ }
67
+ return false;
68
+ }));
69
+ }
70
+
71
+ let observables = new WeakMap();
72
+ /**
73
+ * Returns an observable that emits when the component `render()`
74
+ * function is called. Value will be emitted after the next
75
+ * microtask (next tick).
76
+ *
77
+ * If component is already rendered, the observable will emit
78
+ * immediately.
79
+ *
80
+ * Uses hot observable pattern.
81
+ */
82
+ function renderObservable(cmp) {
83
+ if ('function' !== typeof cmp.render) {
84
+ throw new Error(`Component "${getComponentTagName(cmp)}" does not have a render function.`);
85
+ }
86
+ let element = getElement(cmp);
87
+ if (!observables.has(element)) {
88
+ let previousRender = cmp.render;
89
+ let subject = new cjsExports.Subject();
90
+ cmp.render = function () {
91
+ Promise.resolve().then(() => {
92
+ subject.next();
93
+ });
94
+ return previousRender.call(this);
95
+ };
96
+ observables.set(element, subject.asObservable());
97
+ }
98
+ return observables.get(element).pipe(isRendered(cmp) ? cjsExports.startWith(() => void 0) : cjsExports.identity);
99
+ }
100
+
101
+ function viewChildObservable(cmp, selector, options) {
102
+ let element = getElement(cmp);
103
+ let hostRef = getHostRef(cmp);
104
+ let rendered = renderObservable(cmp);
105
+ options = Object.assign({ distinct: true }, options);
106
+ if ((hostRef.$renderCount$ || 0) > 0) {
107
+ rendered = rendered.pipe(cjsExports.startWith(void 0));
108
+ }
109
+ // In shadow DOM, this is quite cheap, we can query only shadow DOM and skip the light DOM.
110
+ if (usesShadowDom(cmp)) {
111
+ return rendered.pipe(cjsExports.map(() => element.shadowRoot.querySelector(selector)), distinctUntilElementChanged(options.distinct));
112
+ }
113
+ // When shadow DOM is emulated, this is more expensive, we need to query light DOM and use first element
114
+ // which matches the selector, and it is not a child of any emulated slot node.
115
+ return rendered.pipe(cjsExports.map(() => {
116
+ let candidates = element.querySelectorAll(selector);
117
+ for (let i = 0; i < candidates.length; i++) {
118
+ let candidate = candidates[i];
119
+ if (isEmulatedViewChild(candidate, element)) {
120
+ return candidate;
121
+ }
122
+ }
123
+ return null;
124
+ }), distinctUntilElementChanged(options.distinct));
125
+ }
126
+
127
+ /**
128
+ * Create mutation observer and return observable that emits mutation records when the target node is mutated.
129
+ *
130
+ * @param {Node} target The target node to observe for mutations.
131
+ * @param {MutationObserverInit} options The options for the mutation observer.
132
+ */
133
+ function mutationObservable(target, options) {
134
+ return new cjsExports.Observable((observer) => {
135
+ let mutation = new MutationObserver((mutations) => {
136
+ observer.next(mutations);
137
+ });
138
+ mutation.observe(target, options);
139
+ return () => {
140
+ mutation.disconnect();
141
+ };
142
+ });
143
+ }
144
+
145
+ export { distinctUntilElementsChanged as a, distinctUntilElementChanged as d, mutationObservable as m, observeSubtree as o, renderObservable as r, viewChildObservable as v };
@@ -0,0 +1,21 @@
1
+ import { c as cjsExports } from './index-Bn8mRT4P.js';
2
+ import { p as propertyObservable } from './property-observable-BKyQe0OR.js';
3
+
4
+ /**
5
+ * Returns an observable that emits an array of values from the given properties.
6
+ *
7
+ * It always emits an array of values, even if only one property is specified. The order
8
+ * of the values in the emitted array corresponds to the order of the properties specified.
9
+ *
10
+ * Do note that `combineLatest()` operator is used to combine the observables.
11
+ */
12
+ function propertiesObservable(cmp, ...properties) {
13
+ if (0 === properties.length) {
14
+ throw new Error('At least one property must be specified.');
15
+ }
16
+ return cjsExports.combineLatest(properties.map((property) => {
17
+ return propertyObservable(cmp, property);
18
+ }));
19
+ }
20
+
21
+ export { propertiesObservable as p };
@@ -0,0 +1,84 @@
1
+ import { g as getElement, B as BUILD } from './index-BCGlW-2C.js';
2
+ import { c as cjsExports } from './index-Bn8mRT4P.js';
3
+ import { a as isPropOrState, g as getHostRef } from './stencil-BQCAKjCT.js';
4
+
5
+ /**
6
+ * A WeakMap to store BehaviorSubjects for each component property.
7
+ *
8
+ * The key is the HTMLElement (component instance), and the value is a record of property names to BehaviorSubjects.
9
+ *
10
+ * @internal
11
+ */
12
+ let subjects = new WeakMap();
13
+ /**
14
+ * The name of the watcher callback function that will be registered on the component instance.
15
+ */
16
+ const WATCHER_CALLBACK_NAME = '__runopencode_rx_stencil_watcher';
17
+ /**
18
+ * Returns an observable that emits property value when the component property value changes.
19
+ */
20
+ function propertyObservable(cmp, property) {
21
+ let element = getElement(cmp);
22
+ let initialize = false;
23
+ if (!subjects.has(element)) {
24
+ subjects.set(element, {});
25
+ }
26
+ if (!subjects.get(element)[property]) {
27
+ subjects.get(element)[property] = new cjsExports.BehaviorSubject(cmp[property]);
28
+ initialize = true;
29
+ }
30
+ if (!initialize) {
31
+ return subjects.get(element)[property]
32
+ .asObservable()
33
+ .pipe(cjsExports.distinctUntilChanged());
34
+ }
35
+ let subject = subjects.get(element)[property];
36
+ let isMember = isPropOrState(cmp, property);
37
+ // If the property is not a member of the component (not decorated with @Prop or @State),
38
+ // we can watch it by modifying the property descriptor directly.
39
+ if (!isMember) {
40
+ let descriptor = Object.getOwnPropertyDescriptor(cmp, property);
41
+ Object.defineProperty(cmp, property, {
42
+ get() {
43
+ return subject.value;
44
+ },
45
+ set(value) {
46
+ subject.next(value);
47
+ if (descriptor && descriptor.set) {
48
+ descriptor.set.call(this, value);
49
+ }
50
+ },
51
+ configurable: true,
52
+ enumerable: true,
53
+ });
54
+ return subject
55
+ .asObservable()
56
+ .pipe(cjsExports.distinctUntilChanged());
57
+ }
58
+ let hostRef = getHostRef(cmp);
59
+ // If callback function is not registered on the component, we need to register it and ensure that some of the
60
+ // stencil internal flags are set to ensure that the callback will be called when the property changes.
61
+ if (!cmp[WATCHER_CALLBACK_NAME]) {
62
+ // This flag ensures that Stencil will call the prop change callback when the property changes.
63
+ BUILD.propChangeCallback = true;
64
+ // $flags$ needs to include 128 (0x80) to indicate that the component has watchers.
65
+ hostRef.$flags$ |= 128;
66
+ // $watchers$ object needs to exist so we can add them for property.
67
+ hostRef.$cmpMeta$.$watchers$ = hostRef.$cmpMeta$.$watchers$ || {};
68
+ // Finally, we need to register the watcher callback function on the component instance.
69
+ cmp[WATCHER_CALLBACK_NAME] = function (current, _previous, property) {
70
+ let element = getElement(this);
71
+ let subject = subjects.get(element)[property];
72
+ subject.next(current);
73
+ };
74
+ }
75
+ hostRef.$cmpMeta$.$watchers$[property] = hostRef.$cmpMeta$.$watchers$[property] || [];
76
+ hostRef.$cmpMeta$.$watchers$[property].push({
77
+ [WATCHER_CALLBACK_NAME]: 0,
78
+ });
79
+ return subject
80
+ .asObservable()
81
+ .pipe(cjsExports.distinctUntilChanged());
82
+ }
83
+
84
+ export { propertyObservable as p };
@@ -1,5 +1,9 @@
1
- import { r as registerInstance, h, H as Host } from './index-BIBww8qU.js';
2
- import { p as propertyObservable, c as cjsExports, s as setProperty } from './set-property-CpZKE-Xu.js';
1
+ import { r as registerInstance, h, H as Host } from './index-BCGlW-2C.js';
2
+ import { c as cjsExports } from './index-Bn8mRT4P.js';
3
+ import { p as propertyObservable } from './property-observable-BKyQe0OR.js';
4
+ import { u as untilDisconnected } from './until-disconnected-D2pF81SM.js';
5
+ import { s as setProperty } from './set-property-CgrvJ28c.js';
6
+ import './stencil-BQCAKjCT.js';
3
7
 
4
8
  const asyncCss = () => `:host{display:inline-block}`;
5
9
 
@@ -7,10 +11,15 @@ const Async = class {
7
11
  constructor(hostRef) {
8
12
  registerInstance(this, hostRef);
9
13
  this.value = null;
14
+ this.transform = (value) => value;
10
15
  this._value = null;
11
16
  }
17
+ /**
18
+ * {@inheritdoc}
19
+ */
12
20
  connectedCallback() {
13
- propertyObservable(this, 'value').pipe(cjsExports.switchMap((value) => {
21
+ propertyObservable(this, 'value')
22
+ .pipe(cjsExports.switchMap((value) => {
14
23
  if (cjsExports.isObservable(value)) {
15
24
  return value;
16
25
  }
@@ -18,16 +27,14 @@ const Async = class {
18
27
  return cjsExports.from(value);
19
28
  }
20
29
  return cjsExports.of(value);
21
- })).subscribe(setProperty(this, '_value', {
22
- scheduleRender: true,
23
- nextTick: false,
24
- }));
25
- }
26
- disconnectedCallback() {
27
- // noop
30
+ }), untilDisconnected(this))
31
+ .subscribe(setProperty(this, '_value'));
28
32
  }
33
+ /**
34
+ * {@inheritdoc}
35
+ */
29
36
  render() {
30
- return (h(Host, { key: '83bc02eb1171d43e61d25232a0bc1ad024294e68' }, this._value));
37
+ return (h(Host, { key: 'f59ccdf7defbbb0d9d3b87bc20e3edaae9a2513b' }, this.transform(this._value)));
31
38
  }
32
39
  };
33
40
  Async.style = asyncCss();
@@ -1,9 +1,9 @@
1
- import { p as promiseResolve, b as bootstrapLazy } from './index-BIBww8qU.js';
2
- export { s as setNonce } from './index-BIBww8qU.js';
1
+ import { p as promiseResolve, b as bootstrapLazy } from './index-BCGlW-2C.js';
2
+ export { s as setNonce } from './index-BCGlW-2C.js';
3
3
  import { g as globalScripts } from './app-globals-DQuL1Twl.js';
4
4
 
5
5
  /*
6
- Stencil Client Patch Browser v4.43.1 | MIT Licensed | https://stenciljs.com
6
+ Stencil Client Patch Browser v4.45.0 | MIT Licensed | https://stenciljs.com
7
7
  */
8
8
 
9
9
  var patchBrowser = () => {
@@ -17,5 +17,5 @@ var patchBrowser = () => {
17
17
 
18
18
  patchBrowser().then(async (options) => {
19
19
  await globalScripts();
20
- return bootstrapLazy([["rx-async",[[0,"rx-async",{"value":[16]}]]]], options);
20
+ return bootstrapLazy([["rx-async",[[0,"rx-async",{"value":[16],"transform":[16],"_value":[32]}]]],["test-properties-observable",[[0,"test-properties-observable",{"foo":[1],"bar":[1],"baz":[1],"_value":[32]}]]],["test-property-observable",[[0,"test-property-observable",{"setValue":[64]}]]],["test-schedule-render",[[0,"test-schedule-render",{"increase":[64]}]]],["test-view-child-observable-shadow-dom",[[257,"test-view-child-observable-shadow-dom",{"which":[1],"getLog":[64],"clearLog":[64]}]]]], options);
21
21
  });
@@ -0,0 +1,50 @@
1
+ import { g as getElement, f as forceUpdate } from './index-BCGlW-2C.js';
2
+ import { c as cjsExports } from './index-Bn8mRT4P.js';
3
+
4
+ function fromEvent(cmp, eventName, delegateOrOptions, options) {
5
+ let element = getElement(cmp);
6
+ let delegate = 'string' === typeof delegateOrOptions ? delegateOrOptions : undefined;
7
+ let configuration = 'object' === typeof delegateOrOptions ? delegateOrOptions : options;
8
+ return new cjsExports.Observable((subscriber) => {
9
+ let handler = (event) => {
10
+ if (!delegate) {
11
+ subscriber.next(event);
12
+ return;
13
+ }
14
+ if (!(event.target instanceof Element)) {
15
+ return;
16
+ }
17
+ if (!event.target.closest(delegate)) {
18
+ return;
19
+ }
20
+ subscriber.next(event);
21
+ };
22
+ element.addEventListener(eventName, handler, configuration);
23
+ return () => {
24
+ element.removeEventListener(eventName, handler, configuration);
25
+ };
26
+ });
27
+ }
28
+
29
+ /**
30
+ * Schedule a render of the component. This is useful when you
31
+ * want to force a render of the component as result of changing
32
+ * the values of the component which are not tracked by Stencil,
33
+ * observables, for example.
34
+ *
35
+ * By default, the render is scheduled on the next tick, but you
36
+ * can disable this behavior by passing `false` as second argument.
37
+ */
38
+ function scheduleRender(cmp, nextTick = true) {
39
+ return (source) => {
40
+ return source.pipe(cjsExports.tap(() => {
41
+ if (!nextTick) {
42
+ forceUpdate(cmp);
43
+ return;
44
+ }
45
+ Promise.resolve().then(() => forceUpdate(cmp));
46
+ }));
47
+ };
48
+ }
49
+
50
+ export { fromEvent as f, scheduleRender as s };
@@ -0,0 +1,31 @@
1
+ import { f as forceUpdate } from './index-BCGlW-2C.js';
2
+
3
+ /**
4
+ * Set a property on a Stencil component and optionally schedule a render.
5
+ *
6
+ * This function returns a setter function that can be used to update the property value. Common use case
7
+ * is to set it as subscriber to an observable, so that the property is updated whenever the observable
8
+ * emits a new value.
9
+ *
10
+ * @param {ComponentInterface} cmp Component instance on which the property is to be set.
11
+ * @param {string} property Name of the property to be set on the component.
12
+ * @param {SetPropertyOptions} options Options to control the behavior of the property setter,
13
+ * such as whether to schedule a render and whether to do
14
+ * it on the next tick.
15
+ */
16
+ function setProperty(cmp, property, options = {}) {
17
+ let resolvedOptions = Object.assign({ scheduleRender: false, nextTick: true }, options);
18
+ return (value) => {
19
+ cmp[property] = value;
20
+ if (!resolvedOptions.scheduleRender) {
21
+ return;
22
+ }
23
+ if (!resolvedOptions.nextTick) {
24
+ forceUpdate(cmp);
25
+ return;
26
+ }
27
+ Promise.resolve().then(() => forceUpdate(cmp));
28
+ };
29
+ }
30
+
31
+ export { setProperty as s };
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Get the host reference of a component.
3
+ *
4
+ * This is useful for accessing the underlying DOM element of a Stencil component.
5
+ *
6
+ * @internal
7
+ */
8
+ function getHostRef(cmp) {
9
+ return cmp.__stencil__getHostRef();
10
+ }
11
+ /**
12
+ * Check if a property is defined as a member of the component with @State or @Prop decorator.
13
+ *
14
+ * @internal
15
+ */
16
+ function isPropOrState(cmp, property) {
17
+ let hostRef = getHostRef(cmp);
18
+ return !!hostRef.$cmpMeta$.$members$[property];
19
+ }
20
+ /**
21
+ * Check if a component uses Shadow DOM.
22
+ *
23
+ * @internal
24
+ */
25
+ function usesShadowDom(cmp) {
26
+ let hostRef = getHostRef(cmp);
27
+ let flags = hostRef.$cmpMeta$.$flags$;
28
+ return (flags & (1 << 0)) !== 0;
29
+ }
30
+ /**
31
+ * Check if a node is an emulated view child node.
32
+ *
33
+ * We are checking if node is a child node of the component which is not
34
+ * in emulated slot.
35
+ *
36
+ * @internal
37
+ */
38
+ function isEmulatedViewChild(node, element) {
39
+ // If the node has the 's-ol' property, it is not an emulated content child.
40
+ if ('s-ol' in node) {
41
+ return false;
42
+ }
43
+ // If it is direct child of the component, it is not an emulated content child.
44
+ if (node.parentElement === element) {
45
+ return false;
46
+ }
47
+ return isEmulatedViewChild(node.parentElement, element);
48
+ }
49
+ /**
50
+ * Get the tag name of a component.
51
+ *
52
+ * @internal
53
+ */
54
+ function getComponentTagName(cmp) {
55
+ let hostRef = getHostRef(cmp);
56
+ return hostRef.$cmpMeta$.$tagName$;
57
+ }
58
+ /**
59
+ * Check if a component has been rendered at least once.
60
+ *
61
+ * @internal
62
+ */
63
+ function isRendered(cmp) {
64
+ let hostRef = getHostRef(cmp);
65
+ return (hostRef.$renderCount$ || 0) > 0;
66
+ }
67
+
68
+ export { isPropOrState as a, getComponentTagName as b, isRendered as c, getHostRef as g, isEmulatedViewChild as i, usesShadowDom as u };
@@ -0,0 +1,25 @@
1
+ import { r as registerInstance, h, H as Host } from './index-BCGlW-2C.js';
2
+ import { c as cjsExports } from './index-Bn8mRT4P.js';
3
+ import { p as propertiesObservable } from './properties-observable-Bzq-rZ4c.js';
4
+ import { u as untilDisconnected } from './until-disconnected-D2pF81SM.js';
5
+ import './property-observable-BKyQe0OR.js';
6
+ import './stencil-BQCAKjCT.js';
7
+
8
+ const TestPropertiesObservable = class {
9
+ constructor(hostRef) {
10
+ registerInstance(this, hostRef);
11
+ this._value = undefined;
12
+ }
13
+ connectedCallback() {
14
+ propertiesObservable(this, 'foo', 'bar', 'baz')
15
+ .pipe(cjsExports.map(([foo, bar, baz]) => {
16
+ this._value = `Foo: "${foo}", Bar: "${bar}", Baz: "${baz}"`;
17
+ }), untilDisconnected(this))
18
+ .subscribe();
19
+ }
20
+ render() {
21
+ return (h(Host, { key: 'b69107bec9636608215a705991bbbb0bf17ad303' }, this._value));
22
+ }
23
+ };
24
+
25
+ export { TestPropertiesObservable as test_properties_observable };
@@ -0,0 +1,29 @@
1
+ import { r as registerInstance, h, H as Host } from './index-BCGlW-2C.js';
2
+ import { p as propertyObservable } from './property-observable-BKyQe0OR.js';
3
+ import { u as untilDisconnected } from './until-disconnected-D2pF81SM.js';
4
+ import { s as setProperty } from './set-property-CgrvJ28c.js';
5
+ import './index-Bn8mRT4P.js';
6
+ import './stencil-BQCAKjCT.js';
7
+
8
+ const TestPropertyObservable = class {
9
+ constructor(hostRef) {
10
+ registerInstance(this, hostRef);
11
+ // @ts-ignore
12
+ this.prop = 'foo';
13
+ }
14
+ connectedCallback() {
15
+ propertyObservable(this, 'prop')
16
+ .pipe(untilDisconnected(this))
17
+ .subscribe(setProperty(this, 'value', {
18
+ scheduleRender: true,
19
+ }));
20
+ }
21
+ async setValue(value) {
22
+ this.prop = value;
23
+ }
24
+ render() {
25
+ return (h(Host, { key: '092d6fe0477d9ddfc771b152fe132c26e5dc04f0' }, this.value));
26
+ }
27
+ };
28
+
29
+ export { TestPropertyObservable as test_property_observable };
@@ -0,0 +1,26 @@
1
+ import { r as registerInstance, h, H as Host } from './index-BCGlW-2C.js';
2
+ import { f as fromEvent, s as scheduleRender } from './schedule-render-BGCI5FMG.js';
3
+ import { u as untilDisconnected } from './until-disconnected-D2pF81SM.js';
4
+ import './index-Bn8mRT4P.js';
5
+
6
+ const TestScheduleRender = class {
7
+ constructor(hostRef) {
8
+ registerInstance(this, hostRef);
9
+ this._counter = 0;
10
+ }
11
+ connectedCallback() {
12
+ fromEvent(this, 'click')
13
+ .pipe(scheduleRender(this), untilDisconnected(this))
14
+ .subscribe(() => {
15
+ this._counter++;
16
+ });
17
+ }
18
+ async increase() {
19
+ this._counter++;
20
+ }
21
+ render() {
22
+ return (h(Host, { key: '66f26c1ef51b9e595d13926b1e46d1c7cb015566' }, this._counter));
23
+ }
24
+ };
25
+
26
+ export { TestScheduleRender as test_schedule_render };
@@ -0,0 +1,38 @@
1
+ import { r as registerInstance, h, H as Host } from './index-BCGlW-2C.js';
2
+ import { v as viewChildObservable } from './mutation-observable-xA7xgk29.js';
3
+ import './index-Bn8mRT4P.js';
4
+ import './stencil-BQCAKjCT.js';
5
+
6
+ const TestViewChildObservableShadowDom = class {
7
+ constructor(hostRef) {
8
+ registerInstance(this, hostRef);
9
+ this.which = 'all';
10
+ this._log = [];
11
+ }
12
+ async getLog() {
13
+ return this._log;
14
+ }
15
+ async clearLog() {
16
+ this._log = [];
17
+ }
18
+ /**
19
+ * {@inheritdoc}
20
+ */
21
+ connectedCallback() {
22
+ viewChildObservable(this, 'div')
23
+ .subscribe((el) => {
24
+ this._log.push(`viewChildObservable@connectedCallback: ${el === null || el === void 0 ? void 0 : el.id}`);
25
+ });
26
+ }
27
+ render() {
28
+ return (h(Host, { key: '3d253195f6c56cf48990e6daf7dde10971753a74' }, this.which !== 'even'
29
+ ? (h("div", { id: "test-1", class: "odd all", key: "test-1" }, "1"))
30
+ : null, this.which !== 'odd'
31
+ ? (h("div", { id: "test-2", class: "even all", key: "test-2" }, "2"))
32
+ : null, this.which !== 'even'
33
+ ? (h("div", { id: "test-3", class: "odd all", key: "test-3" }, "3"))
34
+ : null, h("slot", { key: '141bd2c2626e1b89acc55ee79d7fa89e4b767e52' })));
35
+ }
36
+ };
37
+
38
+ export { TestViewChildObservableShadowDom as test_view_child_observable_shadow_dom };
@@ -0,0 +1,25 @@
1
+ import { g as getElement } from './index-BCGlW-2C.js';
2
+ import { c as cjsExports } from './index-Bn8mRT4P.js';
3
+
4
+ let observables = new WeakMap();
5
+ /**
6
+ * Operator that unsubscribes from the source observable when
7
+ * the component is disconnected from DOM.
8
+ */
9
+ function untilDisconnected(cmp) {
10
+ return (source) => {
11
+ let element = getElement(cmp);
12
+ if (!observables.has(element)) {
13
+ let observable = new cjsExports.Subject();
14
+ let previous = cmp.disconnectedCallback;
15
+ cmp.disconnectedCallback = function () {
16
+ previous === null || previous === void 0 ? void 0 : previous.call(this);
17
+ observable.next();
18
+ };
19
+ observables.set(element, observable.asObservable());
20
+ }
21
+ return source.pipe(cjsExports.takeUntil(observables.get(element)));
22
+ };
23
+ }
24
+
25
+ export { untilDisconnected as u };
@@ -1 +1 @@
1
- import{g as t,f as r}from"./p-BIBww8qU.js";import{c as e,p as n,g as o}from"./p-IbpJ_cRo.js";export{s as setProperty}from"./p-IbpJ_cRo.js";function i(t,r){return new e.Observable((e=>{let n=new MutationObserver((t=>{e.next(t)}));return n.observe(t,r),()=>{n.disconnect()}}))}function u(t,...r){if(0===r.length)throw new Error("At least one property must be specified.");return e.combineLatest(r.map((r=>n(t,r))))}function l(t){if("function"!=typeof t.render)throw new Error("Component does not have a render function.");return new e.Observable((r=>{let e=t.render;return t.render=function(){return Promise.resolve().then((()=>{r.next()})),e.call(this)},()=>{t.render=e}}))}function _(t){return i(t,{subtree:!0,childList:!0}).pipe(e.filter((t=>{for(let r=0;r<t.length;r++)if("childList"===t[r].type&&(t[r].addedNodes.length||t[r].removedNodes.length))return!0;return!1})),e.map((()=>{})))}function f(r,n){return(o,i)=>{Object.defineProperty(o,i,{set:function(){throw new Error(`Property "${i}" is read-only.`)},get:function(){let o=`__rx__query_selector__observable__shadow_root__${(null==n?void 0:n.shadowRoot)?"yes":"no"}__mutation_observer__${(null==n?void 0:n.mutationObserver)?"yes":"no"}__selector__${r}__`;if(!this[o]){let i=(null==n?void 0:n.shadowRoot)?t(this).shadowRoot:t(this),u=(null==n?void 0:n.mutationObserver)?_(i):l(this);this[o]=u.pipe(e.startWith(),e.map((()=>i.querySelector(r))),e.distinctUntilChanged(),e.shareReplay(1))}return this[o]}})}}function c(r,n){return(o,i)=>{Object.defineProperty(o,i,{set:function(){throw new Error(`Property "${i}" is read-only.`)},get:function(){let o=`__rx__query_selector_all__observable__shadow_root__${(null==n?void 0:n.shadowRoot)?"yes":"no"}__mutation_observer__${(null==n?void 0:n.mutationObserver)?"yes":"no"}__selector__${r}__`;if(!this[o]){let i=(null==n?void 0:n.shadowRoot)?t(this).shadowRoot:t(this),u=(null==n?void 0:n.mutationObserver)?_(i):l(this);this[o]=u.pipe(e.startWith(),e.map((()=>Array.from(i.querySelectorAll(r)))),e.distinctUntilChanged(((t,r)=>{if(t.length!==r.length)return!1;for(let e=0;e<t.length;e++)if(t[e]!==r[e])return!1;return!0})),e.shareReplay(1))}return this[o]}})}}function a(t,n=!0){return o=>o.pipe(e.tap((()=>{n?Promise.resolve().then((()=>r(t))):r(t)})))}function h(t,r){return o(t,r),n=>n.pipe(e.tap((e=>{t[r]=e})))}let d=new WeakMap,w=function(t){let r=t.disconnectedCallback;if(!r)throw new Error(`Component "${t.constructor.name}" does not have a "disconnectedCallback()" method defined.`);let n=new e.Subject;return t.disconnectedCallback=function(){r&&r.call(t),n.next()},n.asObservable()},p=function(r){let n=t(r);if(null===n.parentNode)throw new Error(`Component "${r.constructor.name}" is not within DOM.`);return new e.Observable((t=>{let e=new MutationObserver((r=>{r.forEach((r=>{for(let e of Array.from(r.removedNodes))e===n&&(t.next(),t.complete())}))}));return e.observe(n.parentNode,{childList:!0,subtree:!0}),()=>{e.disconnect(),d.delete(r)}}))};function b(t){return r=>{d.has(t)||function(t){let r=[w,p];for(let e of r)try{return void d.set(t,e(t))}catch(t){}throw new Error(`Could not create disconnect observable for component "${t.constructor.name}".`)}(t);let n=d.get(t);return r.pipe(e.takeUntil(n))}}export{f as QuerySelector,c as QuerySelectorAll,i as mutationObservable,u as propertiesObservable,n as propertyObservable,l as renderObservable,a as scheduleRender,h as toProperty,b as untilDisconnected}
1
+ import{g as t}from"./p-BCGlW-2C.js";import{c as e}from"./p-Bn8mRT4P.js";import{u as n,i as r,g as i}from"./p-BQCAKjCT.js";import{o as l,d as o,a as c,v as a,r as d}from"./p-DHIVm3-O.js";export{m as mutationObservable}from"./p-DHIVm3-O.js";export{f as fromEvent,s as scheduleRender}from"./p-Sf5sf4Pq.js";export{p as propertiesObservable}from"./p-D1zETqVV.js";export{p as propertyObservable}from"./p-BLLg2g3n.js";export{u as untilDisconnected}from"./p-J0xLdrjW.js";export{s as setProperty}from"./p-wVeMJABH.js";function h(n,r){return i=>{let l=t(n);if(!(null==r?void 0:r.reemit))return i.pipe(e.filter((()=>l.isConnected)));let o,u=!1,s=new e.Subject,c=n.connectedCallback;return n.connectedCallback=function(){null==c||c.call(this),u&&(s.next(o),u=!1,o=void 0)},e.merge(s,i.pipe(e.tap((t=>{l.isConnected||(u=!0,o=t)})),e.filter((()=>l.isConnected))))}}function b(...t){let[n,r,i]=t;return function(t,n,r){return(null==r?void 0:r.whileConnected)&&(t=t.pipe(h(n,{reemit:!0}))),(null==r?void 0:r.filter)&&(t=t.pipe(e.filter(!0===r.filter?t=>!!(Array.isArray(t)&&t.length>0)||!!t:r.filter))),(null==r?void 0:r.cached)&&(t=t.pipe(e.take(1))),t}(n,r,i)}let j=new Map;class v{constructor(){this._observables=new WeakMap}has(t,e){return this._observables.has(t)&&this._observables.get(t).has(e)}get(t,e){var n,r;return null===(r=null===(n=this._observables.get(t))||void 0===n?void 0:n.get(e))||void 0===r?void 0:r[0]}set(t,e,n,r){this.delete(t,e),this._observables.has(t)||this._observables.set(t,new Map),this._observables.get(t).set(e,[n,r,void 0]),this._observables.get(t).get(e)[2]=n.subscribe((n=>{this._observables.get(t).get(e)[1]=n}))}delete(t,e){if(this._observables.has(t)&&this._observables.get(t).has(e)){let n=this._observables.get(t).get(e)[2];null==n||n.unsubscribe(),this._observables.get(t).delete(e)}}value(t,e){var n,r;return null===(r=null===(n=this._observables.get(t))||void 0===n?void 0:n.get(e))||void 0===r?void 0:r[1]}}function O(t){return j.has(t)||j.set(t,new v),j.get(t)}function g(i,u,s){let c=t(i),f=l(c).pipe(e.map((()=>{})),e.startWith(void 0));return s=Object.assign({distinct:!0},s),n(i)?f.pipe(e.map((()=>c.querySelector(u))),o(s.distinct)):f.pipe(e.map((()=>{let t=Array.from(c.querySelectorAll(u));for(let e=0;e<t.length;e++){let n=t[e];if(!r(n,c))return n}return null})),o(s.distinct))}function C(e,n){return function(r,i){let l=r.connectedCallback;r.connectedCallback=function(){null==l||l.call(this)};let o=Object.getOwnPropertyDescriptor(r.prototype,i)||{configurable:!0,enumerable:!0};delete o.value,delete o.writable,Object.defineProperty(r,i,Object.assign(Object.assign({},o),{set(t){},get(){let r=t(this),l=O("@ContentChild");if(!l.has(r,i)){let t=g(this,e,n);t=b(t,this,n),l.set(r,i,t)}return l.value(r,i)}}))}}function w(i,o,u){let s=t(i),f=l(s).pipe(e.map((()=>{})),e.startWith(void 0));return u=Object.assign({distinct:!0},u),n(i)?f.pipe(e.map((()=>Array.from(s.querySelectorAll(o)))),c(u.distinct)):f.pipe(e.map((()=>Array.from(s.querySelectorAll(o)).filter((t=>!r(t,s))))),c(u.distinct))}function x(e,n){return function(r,i){let l=r.connectedCallback;r.connectedCallback=function(){null==l||l.call(this)};let o=Object.getOwnPropertyDescriptor(r.prototype,i)||{configurable:!0,enumerable:!0};delete o.value,delete o.writable,Object.defineProperty(r,i,Object.assign(Object.assign({},o),{set(t){},get(){let l=t(r),o=O("@ContentChildren");if(!o.has(l,i)){let t=w(this,e,n);t=b(t,this,n),o.set(l,i,t)}return o.value(l,i)}}))}}function y(e,n){return function(r,i){let l=r.connectedCallback;r.connectedCallback=function(){null==l||l.call(this)};let o=Object.getOwnPropertyDescriptor(r.prototype,i)||{configurable:!0,enumerable:!0};delete o.value,delete o.writable,Object.defineProperty(r,i,Object.assign(Object.assign({},o),{set(t){},get(){let r=t(this),l=O("@ViewChild");if(!l.has(r,i)){let t=a(this,e,n);t=b(t,this,n),l.set(r,i,t)}return l.value(r,i)}}))}}function A(t,e){return"content"===(null==e?void 0:e.target)?C(t,e):y(t,e)}function V(l,o,u){let s=t(l),f=i(l),a=d(l);return u=Object.assign({distinct:!0},u),(f.t||0)>0&&(a=a.pipe(e.startWith(void 0))),n(l)?a.pipe(e.map((()=>Array.from(s.shadowRoot.querySelectorAll(o)))),c(u.distinct)):a.pipe(e.map((()=>Array.from(s.querySelectorAll(o)))),e.map((t=>t.filter((t=>r(t,s))))),c(u.distinct))}function B(e,n){return function(r,i){let l=r.connectedCallback;r.connectedCallback=function(){null==l||l.call(this)};let o=Object.getOwnPropertyDescriptor(r.prototype,i)||{configurable:!0,enumerable:!0};delete o.value,delete o.writable,Object.defineProperty(r,i,Object.assign(Object.assign({},o),{set(t){},get(){let l=t(r),o=O("@ViewChildren");if(!o.has(l,i)){let t=V(this,e,n);t=b(t,this,n),o.set(l,i,t)}return o.value(l,i)}}))}}function D(t,e){return"content"===(null==e?void 0:e.target)?x(t,e):B(t,e)}function M(t,n){return r=>r.pipe(e.tap((e=>{t[n]=e})))}export{C as ContentChild,x as ContentChildren,A as QuerySelector,D as QuerySelectorAll,y as ViewChild,B as ViewChildren,g as contentChildObservable,w as contentChildrenObservable,d as renderObservable,M as toProperty,a as viewChildObservable,V as viewChildrenObservable,h as whileConnected}
@@ -0,0 +1 @@
1
+ import{r as e,h as s,H as t}from"./p-BCGlW-2C.js";import{v as l}from"./p-DHIVm3-O.js";import"./p-Bn8mRT4P.js";import"./p-BQCAKjCT.js";const d=class{constructor(s){e(this,s),this.which="all",this._log=[]}async getLog(){return this._log}async clearLog(){this._log=[]}connectedCallback(){l(this,"div").subscribe((e=>{this._log.push(`viewChildObservable@connectedCallback: ${null==e?void 0:e.id}`)}))}render(){return s(t,{key:"3d253195f6c56cf48990e6daf7dde10971753a74"},"even"!==this.which?s("div",{id:"test-1",class:"odd all",key:"test-1"},"1"):null,"odd"!==this.which?s("div",{id:"test-2",class:"even all",key:"test-2"},"2"):null,"even"!==this.which?s("div",{id:"test-3",class:"odd all",key:"test-3"},"3"):null,s("slot",{key:"141bd2c2626e1b89acc55ee79d7fa89e4b767e52"}))}};export{d as test_view_child_observable_shadow_dom}