@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
@@ -752,7 +752,7 @@ declare namespace LocalJSX {
752
752
  }
753
753
  export { LocalJSX as JSX };
754
754
  export declare namespace JSXBase {
755
- interface IntrinsicElements {
755
+ export interface IntrinsicElements {
756
756
  slot: JSXBase.SlotAttributes<HTMLSlotElement>;
757
757
  a: JSXBase.AnchorHTMLAttributes<HTMLAnchorElement>;
758
758
  abbr: JSXBase.HTMLAttributes;
@@ -923,12 +923,12 @@ export declare namespace JSXBase {
923
923
  use: JSXBase.SVGAttributes;
924
924
  view: JSXBase.SVGAttributes;
925
925
  }
926
- interface SlotAttributes<T = HTMLSlotElement> extends JSXAttributes<T> {
926
+ export interface SlotAttributes<T = HTMLSlotElement> extends JSXAttributes<T> {
927
927
  name?: string;
928
928
  slot?: string;
929
929
  onSlotchange?: (event: Event) => void;
930
930
  }
931
- interface AnchorHTMLAttributes<T> extends HTMLAttributes<T> {
931
+ export interface AnchorHTMLAttributes<T> extends HTMLAttributes<T> {
932
932
  download?: any;
933
933
  href?: string;
934
934
  hrefLang?: string;
@@ -939,9 +939,9 @@ export declare namespace JSXBase {
939
939
  target?: string;
940
940
  referrerPolicy?: ReferrerPolicy;
941
941
  }
942
- interface AudioHTMLAttributes<T> extends MediaHTMLAttributes<T> {
942
+ export interface AudioHTMLAttributes<T> extends MediaHTMLAttributes<T> {
943
943
  }
944
- interface AreaHTMLAttributes<T> extends HTMLAttributes<T> {
944
+ export interface AreaHTMLAttributes<T> extends HTMLAttributes<T> {
945
945
  alt?: string;
946
946
  coords?: string;
947
947
  download?: any;
@@ -953,14 +953,14 @@ export declare namespace JSXBase {
953
953
  shape?: string;
954
954
  target?: string;
955
955
  }
956
- interface BaseHTMLAttributes<T> extends HTMLAttributes<T> {
956
+ export interface BaseHTMLAttributes<T> extends HTMLAttributes<T> {
957
957
  href?: string;
958
958
  target?: string;
959
959
  }
960
- interface BlockquoteHTMLAttributes<T> extends HTMLAttributes<T> {
960
+ export interface BlockquoteHTMLAttributes<T> extends HTMLAttributes<T> {
961
961
  cite?: string;
962
962
  }
963
- interface ButtonHTMLAttributes<T> extends HTMLAttributes<T> {
963
+ export interface ButtonHTMLAttributes<T> extends HTMLAttributes<T> {
964
964
  disabled?: boolean;
965
965
  form?: string;
966
966
  formAction?: string;
@@ -983,44 +983,45 @@ export declare namespace JSXBase {
983
983
  commandFor?: string;
984
984
  commandfor?: string;
985
985
  }
986
- interface CanvasHTMLAttributes<T> extends HTMLAttributes<T> {
986
+ export interface CanvasHTMLAttributes<T> extends HTMLAttributes<T> {
987
987
  height?: number | string;
988
988
  width?: number | string;
989
989
  }
990
- interface ColHTMLAttributes<T> extends HTMLAttributes<T> {
990
+ export interface ColHTMLAttributes<T> extends HTMLAttributes<T> {
991
991
  span?: number;
992
992
  }
993
- interface ColgroupHTMLAttributes<T> extends HTMLAttributes<T> {
993
+ export interface ColgroupHTMLAttributes<T> extends HTMLAttributes<T> {
994
994
  span?: number;
995
995
  }
996
- interface DetailsHTMLAttributes<T> extends HTMLAttributes<T> {
996
+ export interface DetailsHTMLAttributes<T> extends HTMLAttributes<T> {
997
997
  open?: boolean;
998
998
  name?: string;
999
999
  onToggle?: (event: ToggleEvent) => void;
1000
1000
  }
1001
- interface DelHTMLAttributes<T> extends HTMLAttributes<T> {
1001
+ export interface DelHTMLAttributes<T> extends HTMLAttributes<T> {
1002
1002
  cite?: string;
1003
1003
  dateTime?: string;
1004
1004
  datetime?: string;
1005
1005
  }
1006
- interface DialogHTMLAttributes<T> extends HTMLAttributes<T> {
1006
+ export interface DialogHTMLAttributes<T> extends HTMLAttributes<T> {
1007
1007
  onCancel?: (event: Event) => void;
1008
1008
  onClose?: (event: Event) => void;
1009
1009
  open?: boolean;
1010
1010
  returnValue?: string;
1011
+ closedby?: 'any' | 'closerequest' | 'none';
1011
1012
  }
1012
- interface EmbedHTMLAttributes<T> extends HTMLAttributes<T> {
1013
+ export interface EmbedHTMLAttributes<T> extends HTMLAttributes<T> {
1013
1014
  height?: number | string;
1014
1015
  src?: string;
1015
1016
  type?: string;
1016
1017
  width?: number | string;
1017
1018
  }
1018
- interface FieldsetHTMLAttributes<T> extends HTMLAttributes<T> {
1019
+ export interface FieldsetHTMLAttributes<T> extends HTMLAttributes<T> {
1019
1020
  disabled?: boolean;
1020
1021
  form?: string;
1021
1022
  name?: string;
1022
1023
  }
1023
- interface FormHTMLAttributes<T> extends HTMLAttributes<T> {
1024
+ export interface FormHTMLAttributes<T> extends HTMLAttributes<T> {
1024
1025
  acceptCharset?: string;
1025
1026
  acceptcharset?: string;
1026
1027
  action?: string;
@@ -1034,10 +1035,10 @@ export declare namespace JSXBase {
1034
1035
  novalidate?: boolean | string;
1035
1036
  target?: string;
1036
1037
  }
1037
- interface HtmlHTMLAttributes<T> extends HTMLAttributes<T> {
1038
+ export interface HtmlHTMLAttributes<T> extends HTMLAttributes<T> {
1038
1039
  manifest?: string;
1039
1040
  }
1040
- interface IframeHTMLAttributes<T> extends HTMLAttributes<T> {
1041
+ export interface IframeHTMLAttributes<T> extends HTMLAttributes<T> {
1041
1042
  allow?: string;
1042
1043
  allowFullScreen?: boolean;
1043
1044
  allowfullScreen?: string | boolean;
@@ -1045,6 +1046,8 @@ export declare namespace JSXBase {
1045
1046
  allowtransparency?: string | boolean;
1046
1047
  frameBorder?: number | string;
1047
1048
  frameborder?: number | string;
1049
+ fetchPriority?: 'high' | 'low' | 'auto';
1050
+ fetchpriority?: 'high' | 'low' | 'auto';
1048
1051
  importance?: 'low' | 'auto' | 'high';
1049
1052
  height?: number | string;
1050
1053
  loading?: 'lazy' | 'auto' | 'eager';
@@ -1062,14 +1065,17 @@ export declare namespace JSXBase {
1062
1065
  srcdoc?: string;
1063
1066
  width?: number | string;
1064
1067
  }
1065
- interface ImgHTMLAttributes<T> extends HTMLAttributes<T> {
1068
+ export interface ImgHTMLAttributes<T> extends HTMLAttributes<T> {
1066
1069
  alt?: string;
1067
1070
  crossOrigin?: string;
1068
1071
  crossorigin?: string;
1069
1072
  decoding?: 'async' | 'auto' | 'sync';
1073
+ fetchPriority?: 'high' | 'low' | 'auto';
1074
+ fetchpriority?: 'high' | 'low' | 'auto';
1070
1075
  importance?: 'low' | 'auto' | 'high';
1071
1076
  height?: number | string;
1072
1077
  loading?: 'lazy' | 'auto' | 'eager';
1078
+ referrerPolicy?: ReferrerPolicy;
1073
1079
  sizes?: string;
1074
1080
  src?: string;
1075
1081
  srcSet?: string;
@@ -1078,12 +1084,12 @@ export declare namespace JSXBase {
1078
1084
  usemap?: string;
1079
1085
  width?: number | string;
1080
1086
  }
1081
- interface InsHTMLAttributes<T> extends HTMLAttributes<T> {
1087
+ export interface InsHTMLAttributes<T> extends HTMLAttributes<T> {
1082
1088
  cite?: string;
1083
1089
  dateTime?: string;
1084
1090
  datetime?: string;
1085
1091
  }
1086
- interface InputHTMLAttributes<T> extends HTMLAttributes<T> {
1092
+ export interface InputHTMLAttributes<T> extends HTMLAttributes<T> {
1087
1093
  accept?: string;
1088
1094
  allowdirs?: boolean;
1089
1095
  alt?: string;
@@ -1146,7 +1152,7 @@ export declare namespace JSXBase {
1146
1152
  popoverTargetElement?: Element | null;
1147
1153
  popoverTarget?: string;
1148
1154
  }
1149
- interface KeygenHTMLAttributes<T> extends HTMLAttributes<T> {
1155
+ export interface KeygenHTMLAttributes<T> extends HTMLAttributes<T> {
1150
1156
  challenge?: string;
1151
1157
  disabled?: boolean;
1152
1158
  form?: string;
@@ -1156,15 +1162,17 @@ export declare namespace JSXBase {
1156
1162
  keyparams?: string;
1157
1163
  name?: string;
1158
1164
  }
1159
- interface LabelHTMLAttributes<T> extends HTMLAttributes<T> {
1165
+ export interface LabelHTMLAttributes<T> extends HTMLAttributes<T> {
1160
1166
  form?: string;
1161
1167
  htmlFor?: string;
1162
1168
  }
1163
- interface LiHTMLAttributes<T> extends HTMLAttributes<T> {
1169
+ export interface LiHTMLAttributes<T> extends HTMLAttributes<T> {
1164
1170
  value?: string | string[] | number;
1165
1171
  }
1166
- interface LinkHTMLAttributes<T> extends HTMLAttributes<T> {
1172
+ export interface LinkHTMLAttributes<T> extends HTMLAttributes<T> {
1167
1173
  as?: string;
1174
+ fetchPriority?: 'high' | 'low' | 'auto';
1175
+ fetchpriority?: 'high' | 'low' | 'auto';
1168
1176
  href?: string;
1169
1177
  hrefLang?: string;
1170
1178
  hreflang?: string;
@@ -1175,13 +1183,13 @@ export declare namespace JSXBase {
1175
1183
  sizes?: string;
1176
1184
  type?: string;
1177
1185
  }
1178
- interface MapHTMLAttributes<T> extends HTMLAttributes<T> {
1186
+ export interface MapHTMLAttributes<T> extends HTMLAttributes<T> {
1179
1187
  name?: string;
1180
1188
  }
1181
- interface MenuHTMLAttributes<T> extends HTMLAttributes<T> {
1189
+ export interface MenuHTMLAttributes<T> extends HTMLAttributes<T> {
1182
1190
  type?: string;
1183
1191
  }
1184
- interface MediaHTMLAttributes<T> extends HTMLAttributes<T> {
1192
+ export interface MediaHTMLAttributes<T> extends HTMLAttributes<T> {
1185
1193
  autoPlay?: boolean;
1186
1194
  autoplay?: boolean | string;
1187
1195
  controls?: boolean;
@@ -1221,7 +1229,7 @@ export declare namespace JSXBase {
1221
1229
  onVolumeChange?: (event: Event) => void;
1222
1230
  onWaiting?: (event: Event) => void;
1223
1231
  }
1224
- interface MetaHTMLAttributes<T> extends HTMLAttributes<T> {
1232
+ export interface MetaHTMLAttributes<T> extends HTMLAttributes<T> {
1225
1233
  charSet?: string;
1226
1234
  charset?: string;
1227
1235
  content?: string;
@@ -1229,7 +1237,7 @@ export declare namespace JSXBase {
1229
1237
  httpequiv?: string;
1230
1238
  name?: string;
1231
1239
  }
1232
- interface MeterHTMLAttributes<T> extends HTMLAttributes<T> {
1240
+ export interface MeterHTMLAttributes<T> extends HTMLAttributes<T> {
1233
1241
  form?: string;
1234
1242
  high?: number;
1235
1243
  low?: number;
@@ -1238,10 +1246,10 @@ export declare namespace JSXBase {
1238
1246
  optimum?: number;
1239
1247
  value?: string | string[] | number;
1240
1248
  }
1241
- interface QuoteHTMLAttributes<T> extends HTMLAttributes<T> {
1249
+ export interface QuoteHTMLAttributes<T> extends HTMLAttributes<T> {
1242
1250
  cite?: string;
1243
1251
  }
1244
- interface ObjectHTMLAttributes<T> extends HTMLAttributes<T> {
1252
+ export interface ObjectHTMLAttributes<T> extends HTMLAttributes<T> {
1245
1253
  classID?: string;
1246
1254
  classid?: string;
1247
1255
  data?: string;
@@ -1254,47 +1262,49 @@ export declare namespace JSXBase {
1254
1262
  width?: number | string;
1255
1263
  wmode?: string;
1256
1264
  }
1257
- interface OlHTMLAttributes<T> extends HTMLAttributes<T> {
1265
+ export interface OlHTMLAttributes<T> extends HTMLAttributes<T> {
1258
1266
  reversed?: boolean;
1259
1267
  start?: number;
1260
1268
  }
1261
- interface OptgroupHTMLAttributes<T> extends HTMLAttributes<T> {
1269
+ export interface OptgroupHTMLAttributes<T> extends HTMLAttributes<T> {
1262
1270
  disabled?: boolean;
1263
1271
  label?: string;
1264
1272
  }
1265
- interface OptionHTMLAttributes<T> extends HTMLAttributes<T> {
1273
+ export interface OptionHTMLAttributes<T> extends HTMLAttributes<T> {
1266
1274
  disabled?: boolean;
1267
1275
  label?: string;
1268
1276
  selected?: boolean;
1269
1277
  value?: string | string[] | number;
1270
1278
  }
1271
- interface OutputHTMLAttributes<T> extends HTMLAttributes<T> {
1279
+ export interface OutputHTMLAttributes<T> extends HTMLAttributes<T> {
1272
1280
  form?: string;
1273
1281
  htmlFor?: string;
1274
1282
  name?: string;
1275
1283
  }
1276
- interface ParamHTMLAttributes<T> extends HTMLAttributes<T> {
1284
+ export interface ParamHTMLAttributes<T> extends HTMLAttributes<T> {
1277
1285
  name?: string;
1278
1286
  value?: string | string[] | number;
1279
1287
  }
1280
- interface ProgressHTMLAttributes<T> extends HTMLAttributes<T> {
1288
+ export interface ProgressHTMLAttributes<T> extends HTMLAttributes<T> {
1281
1289
  max?: number | string;
1282
1290
  value?: string | string[] | number;
1283
1291
  }
1284
- interface ScriptHTMLAttributes<T> extends HTMLAttributes<T> {
1292
+ export interface ScriptHTMLAttributes<T> extends HTMLAttributes<T> {
1285
1293
  async?: boolean;
1286
1294
  charSet?: string;
1287
1295
  charset?: string;
1288
1296
  crossOrigin?: string;
1289
1297
  crossorigin?: string;
1290
1298
  defer?: boolean;
1299
+ fetchPriority?: 'high' | 'low' | 'auto';
1300
+ fetchpriority?: 'high' | 'low' | 'auto';
1291
1301
  importance?: 'low' | 'auto' | 'high';
1292
1302
  integrity?: string;
1293
1303
  nonce?: string;
1294
1304
  src?: string;
1295
1305
  type?: string;
1296
1306
  }
1297
- interface SelectHTMLAttributes<T> extends HTMLAttributes<T> {
1307
+ export interface SelectHTMLAttributes<T> extends HTMLAttributes<T> {
1298
1308
  disabled?: boolean;
1299
1309
  form?: string;
1300
1310
  multiple?: boolean;
@@ -1304,7 +1314,7 @@ export declare namespace JSXBase {
1304
1314
  autoComplete?: string;
1305
1315
  autocomplete?: string;
1306
1316
  }
1307
- interface SourceHTMLAttributes<T> extends HTMLAttributes<T> {
1317
+ export interface SourceHTMLAttributes<T> extends HTMLAttributes<T> {
1308
1318
  height?: number;
1309
1319
  media?: string;
1310
1320
  sizes?: string;
@@ -1313,20 +1323,20 @@ export declare namespace JSXBase {
1313
1323
  type?: string;
1314
1324
  width?: number;
1315
1325
  }
1316
- interface StyleHTMLAttributes<T> extends HTMLAttributes<T> {
1326
+ export interface StyleHTMLAttributes<T> extends HTMLAttributes<T> {
1317
1327
  media?: string;
1318
1328
  nonce?: string;
1319
1329
  scoped?: boolean;
1320
1330
  type?: string;
1321
1331
  }
1322
- interface TableHTMLAttributes<T> extends HTMLAttributes<T> {
1332
+ export interface TableHTMLAttributes<T> extends HTMLAttributes<T> {
1323
1333
  cellPadding?: number | string;
1324
1334
  cellpadding?: number | string;
1325
1335
  cellSpacing?: number | string;
1326
1336
  cellspacing?: number | string;
1327
1337
  summary?: string;
1328
1338
  }
1329
- interface TextareaHTMLAttributes<T> extends HTMLAttributes<T> {
1339
+ export interface TextareaHTMLAttributes<T> extends HTMLAttributes<T> {
1330
1340
  autoComplete?: string;
1331
1341
  autocomplete?: string;
1332
1342
  cols?: number;
@@ -1347,12 +1357,12 @@ export declare namespace JSXBase {
1347
1357
  value?: string | string[] | number;
1348
1358
  wrap?: string;
1349
1359
  }
1350
- interface TdHTMLAttributes<T> extends HTMLAttributes<T> {
1360
+ export interface TdHTMLAttributes<T> extends HTMLAttributes<T> {
1351
1361
  colSpan?: number;
1352
1362
  headers?: string;
1353
1363
  rowSpan?: number;
1354
1364
  }
1355
- interface ThHTMLAttributes<T> extends HTMLAttributes<T> {
1365
+ export interface ThHTMLAttributes<T> extends HTMLAttributes<T> {
1356
1366
  abbr?: string;
1357
1367
  colSpan?: number;
1358
1368
  headers?: string;
@@ -1360,10 +1370,10 @@ export declare namespace JSXBase {
1360
1370
  rowspan?: number | string;
1361
1371
  scope?: string;
1362
1372
  }
1363
- interface TimeHTMLAttributes<T> extends HTMLAttributes<T> {
1373
+ export interface TimeHTMLAttributes<T> extends HTMLAttributes<T> {
1364
1374
  dateTime?: string;
1365
1375
  }
1366
- interface TrackHTMLAttributes<T> extends HTMLAttributes<T> {
1376
+ export interface TrackHTMLAttributes<T> extends HTMLAttributes<T> {
1367
1377
  default?: boolean;
1368
1378
  kind?: string;
1369
1379
  label?: string;
@@ -1371,14 +1381,14 @@ export declare namespace JSXBase {
1371
1381
  srcLang?: string;
1372
1382
  srclang?: string;
1373
1383
  }
1374
- interface VideoHTMLAttributes<T> extends MediaHTMLAttributes<T> {
1384
+ export interface VideoHTMLAttributes<T> extends MediaHTMLAttributes<T> {
1375
1385
  height?: number | string;
1376
1386
  playsInline?: boolean;
1377
1387
  playsinline?: boolean | string;
1378
1388
  poster?: string;
1379
1389
  width?: number | string;
1380
1390
  }
1381
- interface HTMLAttributes<T = HTMLElement> extends DOMAttributes<T> {
1391
+ export interface HTMLAttributes<T = HTMLElement> extends DOMAttributes<T> {
1382
1392
  innerHTML?: string;
1383
1393
  accessKey?: string;
1384
1394
  autoFocus?: boolean;
@@ -1403,7 +1413,10 @@ export declare namespace JSXBase {
1403
1413
  tabIndex?: number;
1404
1414
  tabindex?: number | string;
1405
1415
  title?: string;
1416
+ translate?: 'yes' | 'no' | (string & {});
1406
1417
  popover?: string | null;
1418
+ focusgroup?: string;
1419
+ focusgroupstart?: boolean;
1407
1420
  inputMode?: string;
1408
1421
  inputmode?: string;
1409
1422
  enterKeyHint?: string;
@@ -1441,7 +1454,7 @@ export declare namespace JSXBase {
1441
1454
  security?: string;
1442
1455
  unselectable?: boolean;
1443
1456
  }
1444
- interface SVGAttributes<T = SVGElement> extends DOMAttributes<T> {
1457
+ export interface SVGAttributes<T = SVGElement> extends DOMAttributes<T> {
1445
1458
  class?: string | {
1446
1459
  [className: string]: boolean;
1447
1460
  };
@@ -1703,13 +1716,19 @@ export declare namespace JSXBase {
1703
1716
  zoomAndPan?: string;
1704
1717
  }
1705
1718
  /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ToggleEvent) */
1706
- interface ToggleEvent extends Event {
1719
+ export interface ToggleEvent extends Event {
1707
1720
  /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ToggleEvent/newState) */
1708
1721
  readonly newState: string;
1709
1722
  /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ToggleEvent/oldState) */
1710
1723
  readonly oldState: string;
1711
1724
  }
1712
- interface DOMAttributes<T> extends JSXAttributes<T> {
1725
+ type AriaIDLPropertyName = {
1726
+ [K in keyof ARIAMixin]: ARIAMixin[K] extends string | null ? K : never;
1727
+ }[keyof ARIAMixin];
1728
+ type JSXAriaProperties = {
1729
+ [K in AriaIDLPropertyName]?: string | boolean | undefined;
1730
+ };
1731
+ export interface DOMAttributes<T> extends JSXAttributes<T>, JSXAriaProperties {
1713
1732
  slot?: string;
1714
1733
  part?: string;
1715
1734
  exportparts?: string;
@@ -1839,8 +1858,8 @@ export declare namespace JSXBase {
1839
1858
  onTransitionStart?: (event: TransitionEvent) => void;
1840
1859
  onTransitionStartCapture?: (event: TransitionEvent) => void;
1841
1860
  [key: `aria-${string}`]: string | boolean | undefined;
1842
- [key: `aria${string}`]: string | boolean | undefined;
1843
1861
  }
1862
+ export {};
1844
1863
  }
1845
1864
  export interface JSXAttributes<T = Element> {
1846
1865
  key?: string | number;
@@ -0,0 +1,9 @@
1
+ import { ComponentInterface } from '../../../../stencil-public-runtime';
2
+ export declare class TestPropertiesObservable implements ComponentInterface {
3
+ foo: string;
4
+ bar: string;
5
+ baz: string;
6
+ private _value;
7
+ connectedCallback(): void;
8
+ render(): any;
9
+ }
@@ -0,0 +1,8 @@
1
+ import { ComponentInterface } from '../../../../stencil-public-runtime';
2
+ export declare class TestPropertyObservable implements ComponentInterface {
3
+ private prop;
4
+ private value?;
5
+ connectedCallback(): void;
6
+ setValue(value: string): Promise<void>;
7
+ render(): any;
8
+ }
@@ -0,0 +1,12 @@
1
+ import { ComponentInterface } from '../../../../stencil-public-runtime';
2
+ export declare class TestViewChildObservableShadowDom implements ComponentInterface {
3
+ which: 'even' | 'odd' | 'all';
4
+ private _log;
5
+ getLog(): Promise<string[]>;
6
+ clearLog(): Promise<void>;
7
+ /**
8
+ * {@inheritdoc}
9
+ */
10
+ connectedCallback(): void;
11
+ render(): void;
12
+ }
@@ -0,0 +1,7 @@
1
+ import { ComponentInterface } from '../../../../stencil-public-runtime';
2
+ export declare class TestScheduleRender implements ComponentInterface {
3
+ private _counter;
4
+ connectedCallback(): void;
5
+ increase(): Promise<void>;
6
+ render(): any;
7
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,11 @@
1
+ import { ComponentInterface } from '../stencil-public-runtime';
2
+ import { Observable } from 'rxjs';
3
+ import { ViewChildOptions } from '../rx/decorator/view-child';
4
+ import { ViewChildrenOptions } from '../rx/decorator/view-children';
5
+ /**
6
+ * Applies operators to the observable based on the provided options.
7
+ *
8
+ * @internal
9
+ */
10
+ export declare function applyOperators<E extends Element = Element>(observable: Observable<E | null>, cmp: ComponentInterface, options?: ViewChildOptions): Observable<E | null>;
11
+ export declare function applyOperators<E extends Element = Element>(observable: Observable<E[]>, cmp: ComponentInterface, options?: ViewChildrenOptions): Observable<E[]>;
@@ -1 +1 @@
1
- export { getPropertyDescriptor } from './get-property-descriptor';
1
+ export { getHostRef, isPropOrState, } from './stencil';
@@ -0,0 +1,31 @@
1
+ import { MonoTypeOperatorFunction, Observable } from 'rxjs';
2
+ import { ElementComparatorFn } from '../rx';
3
+ /**
4
+ * Returns an RxJS operator that emits only when the element changes, based on the provided comparator function.
5
+ *
6
+ * If boolean `true` is provided, the default comparator function will be used, which compares the elements by reference.
7
+ *
8
+ * If falsy value is provided, the operator will emit every time the source observable emits.
9
+ *
10
+ * @internal
11
+ */
12
+ export declare function distinctUntilElementChanged<E extends Element = Element>(comparator?: ElementComparatorFn<E> | boolean): MonoTypeOperatorFunction<E | null>;
13
+ /**
14
+ * Returns an RxJS operator that emits only when the array of elements changes, based on the provided comparator function.
15
+ *
16
+ * If boolean `true` is provided, the default comparator function will be used, which compares the elements by reference.
17
+ *
18
+ * If falsy value is provided, the operator will emit every time the source observable emits.
19
+ *
20
+ * @internal
21
+ */
22
+ export declare function distinctUntilElementsChanged<E extends Element = Element>(comparator?: ElementComparatorFn<E> | boolean): MonoTypeOperatorFunction<E[]>;
23
+ /**
24
+ * Observe the subtree of an element for mutations.
25
+ *
26
+ * This function returns an observable that emits an array of MutationRecords whenever a mutation occurs
27
+ * in the subtree of the specified element.
28
+ *
29
+ * @internal
30
+ */
31
+ export declare function observeSubtree(element: HTMLElement): Observable<MutationRecord[]>;
@@ -0,0 +1,54 @@
1
+ import { ComponentInterface } from '../stencil-public-runtime';
2
+ import { HostRef, HTMLStencilElement } from '../stencil-public-runtime';
3
+ /**
4
+ * Describes a node that has been relocated for slot emulation by Stencil.
5
+ *
6
+ * These nodes have additional properties to indicate their original location and slot name.
7
+ *
8
+ * @internal
9
+ */
10
+ export type EmulatedSlotNode<E extends Element = HTMLElement> = E & {
11
+ 's-ol'?: Node;
12
+ 's-sn'?: string;
13
+ };
14
+ /**
15
+ * Get the host reference of a component.
16
+ *
17
+ * This is useful for accessing the underlying DOM element of a Stencil component.
18
+ *
19
+ * @internal
20
+ */
21
+ export declare function getHostRef(cmp: ComponentInterface): HostRef;
22
+ /**
23
+ * Check if a property is defined as a member of the component with @State or @Prop decorator.
24
+ *
25
+ * @internal
26
+ */
27
+ export declare function isPropOrState(cmp: ComponentInterface, property: string): boolean;
28
+ /**
29
+ * Check if a component uses Shadow DOM.
30
+ *
31
+ * @internal
32
+ */
33
+ export declare function usesShadowDom(cmp: ComponentInterface): boolean;
34
+ /**
35
+ * Check if a node is an emulated view child node.
36
+ *
37
+ * We are checking if node is a child node of the component which is not
38
+ * in emulated slot.
39
+ *
40
+ * @internal
41
+ */
42
+ export declare function isEmulatedViewChild(node: Node, element: HTMLStencilElement): boolean;
43
+ /**
44
+ * Get the tag name of a component.
45
+ *
46
+ * @internal
47
+ */
48
+ export declare function getComponentTagName(cmp: ComponentInterface): string;
49
+ /**
50
+ * Check if a component has been rendered at least once.
51
+ *
52
+ * @internal
53
+ */
54
+ export declare function isRendered(cmp: ComponentInterface): boolean;
@@ -0,0 +1,10 @@
1
+ import { Observable } from 'rxjs';
2
+ export declare class ValuesRegistry<T> {
3
+ private _observables;
4
+ has(element: HTMLElement, property: string): boolean;
5
+ get(element: HTMLElement, property: string): Observable<T> | undefined;
6
+ set(element: HTMLElement, property: string, observable: Observable<T>, initial?: T): void;
7
+ delete(element: HTMLElement, property: string): void;
8
+ value(element: HTMLElement, property: string): T | undefined;
9
+ }
10
+ export declare function getRegistry<T>(key: string): ValuesRegistry<T>;
package/loader/index.d.ts CHANGED
@@ -8,7 +8,7 @@ export interface CustomElementsDefineOptions {
8
8
  ael?: (el: EventTarget, eventName: string, listener: EventListenerOrEventListenerObject, options: boolean | AddEventListenerOptions) => void;
9
9
  rel?: (el: EventTarget, eventName: string, listener: EventListenerOrEventListenerObject, options: boolean | AddEventListenerOptions) => void;
10
10
  }
11
- export declare function defineCustomElements(win?: Window, opts?: CustomElementsDefineOptions): void;
11
+ export declare function defineCustomElements(win?: Window, opts?: CustomElementsDefineOptions): Promise<void>;
12
12
  /**
13
13
  * @deprecated
14
14
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@runopencode/rx-stencil",
3
- "version": "0.4.4",
3
+ "version": "0.5.0",
4
4
  "description": "ReactiveX (RxJS) utilities for Stencil",
5
5
  "keywords": [
6
6
  "stencil",
@@ -9,6 +9,7 @@
9
9
  "web components",
10
10
  "reactive programming"
11
11
  ],
12
+ "type": "module",
12
13
  "main": "dist/index.cjs.js",
13
14
  "module": "dist/index.js",
14
15
  "es2015": "dist/esm/index.mjs",
@@ -19,7 +20,7 @@
19
20
  "unpkg": "dist/rx-stencil/rx-stencil.esm.js",
20
21
  "repository": {
21
22
  "type": "git",
22
- "url": "https://github.com/RunOpenCode/rx-stencil"
23
+ "url": "https://github.com/runopencode/rx-stencil"
23
24
  },
24
25
  "files": [
25
26
  "dist/",
@@ -27,23 +28,31 @@
27
28
  "docs/"
28
29
  ],
29
30
  "scripts": {
30
- "build": "stencil build --docs",
31
+ "build": "stencil build",
31
32
  "start": "stencil build --dev --watch --serve",
32
- "test": "stencil test --spec --e2e",
33
- "test.watch": "stencil test --spec --e2e --watchAll",
34
- "generate": "stencil generate"
33
+ "test": "stencil-test --coverage",
34
+ "test:watch": "stencil-test --watch"
35
+ },
36
+ "dependencies": {
37
+ "@stencil/core": "^4.0"
35
38
  },
36
39
  "peerDependencies": {
37
- "@stencil/core": "^4.0",
38
40
  "rxjs": "^7.0"
39
41
  },
40
42
  "devDependencies": {
41
- "@stencil/sass": "^3.2.3",
43
+ "@stencil/sass": "^3.3.3",
44
+ "@stencil/vitest": "^1.15.1",
42
45
  "@types/jest": "^29.5.14",
43
- "@types/node": "^22.13.5",
46
+ "@types/node": "^22.20.1",
47
+ "@vitest/browser": "^4.1.11",
48
+ "@vitest/browser-playwright": "^4.1.10",
49
+ "@vitest/coverage-v8": "^4.1.10",
44
50
  "jest": "^29.7.0",
45
51
  "jest-cli": "^29.7.0",
46
- "puppeteer": "^24.3.0"
52
+ "jsdom": "^30.0.1",
53
+ "puppeteer": "^24.3.0",
54
+ "vitest": "^4.1.10"
47
55
  },
56
+ "author": "Nikola Svitlica, a.k.a TheCelavi",
48
57
  "license": "MIT"
49
58
  }