@typed/template 0.9.6 → 0.10.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 (300) hide show
  1. package/RenderQueue/package.json +6 -0
  2. package/dist/cjs/Directive.js +1 -1
  3. package/dist/cjs/Directive.js.map +1 -1
  4. package/dist/cjs/ElementRef.js +1 -1
  5. package/dist/cjs/ElementRef.js.map +1 -1
  6. package/dist/cjs/ElementSource.js +1 -1
  7. package/dist/cjs/ElementSource.js.map +1 -1
  8. package/dist/cjs/EventHandler.js +11 -4
  9. package/dist/cjs/EventHandler.js.map +1 -1
  10. package/dist/cjs/Html.js +84 -44
  11. package/dist/cjs/Html.js.map +1 -1
  12. package/dist/cjs/HtmlChunk.js +67 -21
  13. package/dist/cjs/HtmlChunk.js.map +1 -1
  14. package/dist/cjs/Hydrate.js +6 -6
  15. package/dist/cjs/Hydrate.js.map +1 -1
  16. package/dist/cjs/Many.js +4 -4
  17. package/dist/cjs/Many.js.map +1 -1
  18. package/dist/cjs/Meta.js +10 -3
  19. package/dist/cjs/Meta.js.map +1 -1
  20. package/dist/cjs/Parser.js +1 -1
  21. package/dist/cjs/Placeholder.js +5 -9
  22. package/dist/cjs/Placeholder.js.map +1 -1
  23. package/dist/cjs/Platform.js +7 -5
  24. package/dist/cjs/Platform.js.map +1 -1
  25. package/dist/cjs/Render.js +8 -7
  26. package/dist/cjs/Render.js.map +1 -1
  27. package/dist/cjs/RenderContext.js +8 -92
  28. package/dist/cjs/RenderContext.js.map +1 -1
  29. package/dist/cjs/RenderEvent.js +9 -1
  30. package/dist/cjs/RenderEvent.js.map +1 -1
  31. package/dist/cjs/RenderQueue.js +341 -0
  32. package/dist/cjs/RenderQueue.js.map +1 -0
  33. package/dist/cjs/RenderTemplate.js +1 -1
  34. package/dist/cjs/RenderTemplate.js.map +1 -1
  35. package/dist/cjs/Template.js +12 -0
  36. package/dist/cjs/Template.js.map +1 -1
  37. package/dist/cjs/Test.js +64 -33
  38. package/dist/cjs/Test.js.map +1 -1
  39. package/dist/cjs/Vitest.js +12 -20
  40. package/dist/cjs/Vitest.js.map +1 -1
  41. package/dist/cjs/index.js +6 -3
  42. package/dist/cjs/index.js.map +1 -1
  43. package/dist/cjs/internal/EventSource.js +16 -9
  44. package/dist/cjs/internal/EventSource.js.map +1 -1
  45. package/dist/cjs/internal/HydrateContext.js.map +1 -1
  46. package/dist/cjs/internal/browser.js +11 -10
  47. package/dist/cjs/internal/browser.js.map +1 -1
  48. package/dist/cjs/internal/character-entities.js +2141 -0
  49. package/dist/cjs/internal/character-entities.js.map +1 -0
  50. package/dist/cjs/internal/errors.js +19 -2
  51. package/dist/cjs/internal/errors.js.map +1 -1
  52. package/dist/cjs/internal/indexRefCounter.js +36 -63
  53. package/dist/cjs/internal/indexRefCounter.js.map +1 -1
  54. package/dist/cjs/internal/parser.js +18 -17
  55. package/dist/cjs/internal/parser.js.map +1 -1
  56. package/dist/cjs/internal/parser2.js +382 -0
  57. package/dist/cjs/internal/parser2.js.map +1 -0
  58. package/dist/cjs/internal/server-parts.js +124 -0
  59. package/dist/cjs/internal/server-parts.js.map +1 -0
  60. package/dist/cjs/internal/server.js +15 -185
  61. package/dist/cjs/internal/server.js.map +1 -1
  62. package/dist/cjs/internal/utils.js +73 -9
  63. package/dist/cjs/internal/utils.js.map +1 -1
  64. package/dist/cjs/internal/v2/SyncPart.js +6 -0
  65. package/dist/cjs/internal/v2/SyncPart.js.map +1 -0
  66. package/dist/cjs/internal/v2/helpers.js +15 -0
  67. package/dist/cjs/internal/v2/helpers.js.map +1 -0
  68. package/dist/cjs/internal/v2/hydrate.js +202 -0
  69. package/dist/cjs/internal/v2/hydrate.js.map +1 -0
  70. package/dist/cjs/internal/v2/hydration-template.js +269 -0
  71. package/dist/cjs/internal/v2/hydration-template.js.map +1 -0
  72. package/dist/cjs/internal/v2/parts.js +169 -0
  73. package/dist/cjs/internal/v2/parts.js.map +1 -0
  74. package/dist/cjs/internal/v2/render-entry.js +110 -0
  75. package/dist/cjs/internal/v2/render-entry.js.map +1 -0
  76. package/dist/cjs/internal/v2/render-sync-parts.js +318 -0
  77. package/dist/cjs/internal/v2/render-sync-parts.js.map +1 -0
  78. package/dist/cjs/internal/v2/render.js +417 -0
  79. package/dist/cjs/internal/v2/render.js.map +1 -0
  80. package/dist/cjs/internal/v2/sync-parts.js +115 -0
  81. package/dist/cjs/internal/v2/sync-parts.js.map +1 -0
  82. package/dist/dts/ElementRef.d.ts +1 -1
  83. package/dist/dts/ElementRef.d.ts.map +1 -1
  84. package/dist/dts/ElementSource.d.ts +1 -1
  85. package/dist/dts/ElementSource.d.ts.map +1 -1
  86. package/dist/dts/EventHandler.d.ts +12 -8
  87. package/dist/dts/EventHandler.d.ts.map +1 -1
  88. package/dist/dts/Html.d.ts +6 -5
  89. package/dist/dts/Html.d.ts.map +1 -1
  90. package/dist/dts/HtmlChunk.d.ts.map +1 -1
  91. package/dist/dts/Hydrate.d.ts +1 -3
  92. package/dist/dts/Hydrate.d.ts.map +1 -1
  93. package/dist/dts/Many.d.ts +9 -11
  94. package/dist/dts/Many.d.ts.map +1 -1
  95. package/dist/dts/Meta.d.ts +5 -1
  96. package/dist/dts/Meta.d.ts.map +1 -1
  97. package/dist/dts/Parser.d.ts +1 -1
  98. package/dist/dts/Parser.d.ts.map +1 -1
  99. package/dist/dts/Part.d.ts +20 -56
  100. package/dist/dts/Part.d.ts.map +1 -1
  101. package/dist/dts/Placeholder.d.ts +6 -10
  102. package/dist/dts/Placeholder.d.ts.map +1 -1
  103. package/dist/dts/Platform.d.ts +2 -4
  104. package/dist/dts/Platform.d.ts.map +1 -1
  105. package/dist/dts/Render.d.ts +4 -8
  106. package/dist/dts/Render.d.ts.map +1 -1
  107. package/dist/dts/RenderContext.d.ts +3 -22
  108. package/dist/dts/RenderContext.d.ts.map +1 -1
  109. package/dist/dts/RenderEvent.d.ts +6 -1
  110. package/dist/dts/RenderEvent.d.ts.map +1 -1
  111. package/dist/dts/RenderQueue.d.ts +103 -0
  112. package/dist/dts/RenderQueue.d.ts.map +1 -0
  113. package/dist/dts/RenderTemplate.d.ts +3 -2
  114. package/dist/dts/RenderTemplate.d.ts.map +1 -1
  115. package/dist/dts/Renderable.d.ts +1 -1
  116. package/dist/dts/Template.d.ts +14 -1
  117. package/dist/dts/Template.d.ts.map +1 -1
  118. package/dist/dts/Test.d.ts +14 -1
  119. package/dist/dts/Test.d.ts.map +1 -1
  120. package/dist/dts/Vitest.d.ts +11 -8
  121. package/dist/dts/Vitest.d.ts.map +1 -1
  122. package/dist/dts/index.d.ts +4 -0
  123. package/dist/dts/index.d.ts.map +1 -1
  124. package/dist/dts/internal/EventSource.d.ts +2 -1
  125. package/dist/dts/internal/EventSource.d.ts.map +1 -1
  126. package/dist/dts/internal/browser.d.ts +3 -3
  127. package/dist/dts/internal/browser.d.ts.map +1 -1
  128. package/dist/dts/internal/character-entities.d.ts +2133 -0
  129. package/dist/dts/internal/character-entities.d.ts.map +1 -0
  130. package/dist/dts/internal/errors.d.ts +9 -1
  131. package/dist/dts/internal/errors.d.ts.map +1 -1
  132. package/dist/dts/internal/indexRefCounter.d.ts +0 -4
  133. package/dist/dts/internal/indexRefCounter.d.ts.map +1 -1
  134. package/dist/dts/internal/parser.d.ts +13 -0
  135. package/dist/dts/internal/parser.d.ts.map +1 -1
  136. package/dist/dts/internal/parser2.d.ts +12 -0
  137. package/dist/dts/internal/parser2.d.ts.map +1 -0
  138. package/dist/dts/internal/server-parts.d.ts +223 -0
  139. package/dist/dts/internal/server-parts.d.ts.map +1 -0
  140. package/dist/dts/internal/server.d.ts +2 -28
  141. package/dist/dts/internal/server.d.ts.map +1 -1
  142. package/dist/dts/internal/utils.d.ts +4 -1
  143. package/dist/dts/internal/utils.d.ts.map +1 -1
  144. package/dist/dts/internal/v2/SyncPart.d.ts +87 -0
  145. package/dist/dts/internal/v2/SyncPart.d.ts.map +1 -0
  146. package/dist/dts/internal/v2/helpers.d.ts +3 -0
  147. package/dist/dts/internal/v2/helpers.d.ts.map +1 -0
  148. package/dist/dts/internal/v2/hydrate.d.ts +7 -0
  149. package/dist/dts/internal/v2/hydrate.d.ts.map +1 -0
  150. package/dist/dts/internal/v2/hydration-template.d.ts +54 -0
  151. package/dist/dts/internal/v2/hydration-template.d.ts.map +1 -0
  152. package/dist/dts/internal/v2/parts.d.ts +245 -0
  153. package/dist/dts/internal/v2/parts.d.ts.map +1 -0
  154. package/dist/dts/internal/v2/render-entry.d.ts +6 -0
  155. package/dist/dts/internal/v2/render-entry.d.ts.map +1 -0
  156. package/dist/dts/internal/v2/render-sync-parts.d.ts +22 -0
  157. package/dist/dts/internal/v2/render-sync-parts.d.ts.map +1 -0
  158. package/dist/dts/internal/v2/render.d.ts +62 -0
  159. package/dist/dts/internal/v2/render.d.ts.map +1 -0
  160. package/dist/dts/internal/v2/sync-parts.d.ts +129 -0
  161. package/dist/dts/internal/v2/sync-parts.d.ts.map +1 -0
  162. package/dist/esm/ElementRef.js.map +1 -1
  163. package/dist/esm/EventHandler.js +14 -4
  164. package/dist/esm/EventHandler.js.map +1 -1
  165. package/dist/esm/Html.js +91 -50
  166. package/dist/esm/Html.js.map +1 -1
  167. package/dist/esm/HtmlChunk.js +75 -24
  168. package/dist/esm/HtmlChunk.js.map +1 -1
  169. package/dist/esm/Hydrate.js +5 -5
  170. package/dist/esm/Hydrate.js.map +1 -1
  171. package/dist/esm/Many.js +3 -3
  172. package/dist/esm/Many.js.map +1 -1
  173. package/dist/esm/Meta.js +7 -1
  174. package/dist/esm/Meta.js.map +1 -1
  175. package/dist/esm/Parser.js +1 -1
  176. package/dist/esm/Parser.js.map +1 -1
  177. package/dist/esm/Placeholder.js +4 -8
  178. package/dist/esm/Placeholder.js.map +1 -1
  179. package/dist/esm/Platform.js +3 -1
  180. package/dist/esm/Platform.js.map +1 -1
  181. package/dist/esm/Render.js +6 -5
  182. package/dist/esm/Render.js.map +1 -1
  183. package/dist/esm/RenderContext.js +5 -85
  184. package/dist/esm/RenderContext.js.map +1 -1
  185. package/dist/esm/RenderEvent.js +8 -1
  186. package/dist/esm/RenderEvent.js.map +1 -1
  187. package/dist/esm/RenderQueue.js +336 -0
  188. package/dist/esm/RenderQueue.js.map +1 -0
  189. package/dist/esm/RenderTemplate.js.map +1 -1
  190. package/dist/esm/Template.js +12 -0
  191. package/dist/esm/Template.js.map +1 -1
  192. package/dist/esm/Test.js +71 -30
  193. package/dist/esm/Test.js.map +1 -1
  194. package/dist/esm/Vitest.js +11 -8
  195. package/dist/esm/Vitest.js.map +1 -1
  196. package/dist/esm/index.js +4 -0
  197. package/dist/esm/index.js.map +1 -1
  198. package/dist/esm/internal/EventSource.js +12 -7
  199. package/dist/esm/internal/EventSource.js.map +1 -1
  200. package/dist/esm/internal/HydrateContext.js.map +1 -1
  201. package/dist/esm/internal/browser.js +10 -9
  202. package/dist/esm/internal/browser.js.map +1 -1
  203. package/dist/esm/internal/character-entities.js +2134 -0
  204. package/dist/esm/internal/character-entities.js.map +1 -0
  205. package/dist/esm/internal/errors.js +22 -2
  206. package/dist/esm/internal/errors.js.map +1 -1
  207. package/dist/esm/internal/indexRefCounter.js +36 -61
  208. package/dist/esm/internal/indexRefCounter.js.map +1 -1
  209. package/dist/esm/internal/parser.js +18 -18
  210. package/dist/esm/internal/parser.js.map +1 -1
  211. package/dist/esm/internal/parser2.js +393 -0
  212. package/dist/esm/internal/parser2.js.map +1 -0
  213. package/dist/esm/internal/server-parts.js +109 -0
  214. package/dist/esm/internal/server-parts.js.map +1 -0
  215. package/dist/esm/internal/server.js +12 -161
  216. package/dist/esm/internal/server.js.map +1 -1
  217. package/dist/esm/internal/utils.js +71 -7
  218. package/dist/esm/internal/utils.js.map +1 -1
  219. package/dist/esm/internal/v2/SyncPart.js +5 -0
  220. package/dist/esm/internal/v2/SyncPart.js.map +1 -0
  221. package/dist/esm/internal/v2/helpers.js +12 -0
  222. package/dist/esm/internal/v2/helpers.js.map +1 -0
  223. package/dist/esm/internal/v2/hydrate.js +195 -0
  224. package/dist/esm/internal/v2/hydrate.js.map +1 -0
  225. package/dist/esm/internal/v2/hydration-template.js +265 -0
  226. package/dist/esm/internal/v2/hydration-template.js.map +1 -0
  227. package/dist/esm/internal/v2/parts.js +150 -0
  228. package/dist/esm/internal/v2/parts.js.map +1 -0
  229. package/dist/esm/internal/v2/render-entry.js +102 -0
  230. package/dist/esm/internal/v2/render-entry.js.map +1 -0
  231. package/dist/esm/internal/v2/render-sync-parts.js +265 -0
  232. package/dist/esm/internal/v2/render-sync-parts.js.map +1 -0
  233. package/dist/esm/internal/v2/render.js +353 -0
  234. package/dist/esm/internal/v2/render.js.map +1 -0
  235. package/dist/esm/internal/v2/sync-parts.js +102 -0
  236. package/dist/esm/internal/v2/sync-parts.js.map +1 -0
  237. package/package.json +20 -13
  238. package/src/ElementRef.ts +1 -1
  239. package/src/ElementSource.ts +1 -1
  240. package/src/EventHandler.ts +29 -11
  241. package/src/Html.ts +199 -90
  242. package/src/HtmlChunk.ts +77 -30
  243. package/src/Hydrate.ts +20 -14
  244. package/src/Many.ts +17 -14
  245. package/src/Meta.ts +8 -1
  246. package/src/Parser.ts +1 -1
  247. package/src/Part.ts +22 -66
  248. package/src/Placeholder.ts +17 -15
  249. package/src/Platform.ts +5 -5
  250. package/src/Render.ts +23 -26
  251. package/src/RenderContext.ts +14 -142
  252. package/src/RenderEvent.ts +10 -1
  253. package/src/RenderQueue.ts +445 -0
  254. package/src/RenderTemplate.ts +7 -2
  255. package/src/Renderable.ts +1 -1
  256. package/src/Template.ts +15 -1
  257. package/src/Test.ts +122 -38
  258. package/src/Vitest.ts +20 -10
  259. package/src/index.ts +4 -0
  260. package/src/internal/EventSource.ts +14 -8
  261. package/src/internal/HydrateContext.ts +3 -4
  262. package/src/internal/browser.ts +26 -21
  263. package/src/internal/character-entities.ts +2136 -0
  264. package/src/internal/errors.ts +30 -3
  265. package/src/internal/indexRefCounter.ts +38 -70
  266. package/src/internal/parser.ts +19 -19
  267. package/src/internal/parser2.ts +468 -0
  268. package/src/internal/server-parts.ts +161 -0
  269. package/src/internal/server.ts +16 -272
  270. package/src/internal/utils.ts +83 -7
  271. package/src/internal/v2/SyncPart.ts +112 -0
  272. package/src/internal/v2/helpers.ts +13 -0
  273. package/src/internal/v2/hydrate.ts +289 -0
  274. package/src/internal/v2/hydration-template.ts +308 -0
  275. package/src/internal/v2/parts.ts +254 -0
  276. package/src/internal/v2/render-entry.ts +131 -0
  277. package/src/internal/v2/render-sync-parts.ts +440 -0
  278. package/src/internal/v2/render.ts +588 -0
  279. package/src/internal/v2/sync-parts.ts +133 -0
  280. package/dist/cjs/internal/hydrate.js +0 -274
  281. package/dist/cjs/internal/hydrate.js.map +0 -1
  282. package/dist/cjs/internal/parts.js +0 -451
  283. package/dist/cjs/internal/parts.js.map +0 -1
  284. package/dist/cjs/internal/render.js +0 -704
  285. package/dist/cjs/internal/render.js.map +0 -1
  286. package/dist/dts/internal/hydrate.d.ts +0 -33
  287. package/dist/dts/internal/hydrate.d.ts.map +0 -1
  288. package/dist/dts/internal/parts.d.ts +0 -314
  289. package/dist/dts/internal/parts.d.ts.map +0 -1
  290. package/dist/dts/internal/render.d.ts +0 -16
  291. package/dist/dts/internal/render.d.ts.map +0 -1
  292. package/dist/esm/internal/hydrate.js +0 -239
  293. package/dist/esm/internal/hydrate.js.map +0 -1
  294. package/dist/esm/internal/parts.js +0 -373
  295. package/dist/esm/internal/parts.js.map +0 -1
  296. package/dist/esm/internal/render.js +0 -689
  297. package/dist/esm/internal/render.js.map +0 -1
  298. package/src/internal/hydrate.ts +0 -366
  299. package/src/internal/parts.ts +0 -609
  300. package/src/internal/render.ts +0 -971
@@ -0,0 +1,417 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.attachRoot = attachRoot;
7
+ exports.getEventHandler = getEventHandler;
8
+ exports.getNodes = getNodes;
9
+ exports.makeTemplateContext = makeTemplateContext;
10
+ exports.matchRenderable = matchRenderable;
11
+ exports.matchSyncPart = matchSyncPart;
12
+ exports.removeChildren = removeChildren;
13
+ exports.renderTemplate = void 0;
14
+ exports.replaceChildren = replaceChildren;
15
+ exports.runSyncUpdate = runSyncUpdate;
16
+ exports.setupAttrPart = setupAttrPart;
17
+ exports.setupBooleanPart = setupBooleanPart;
18
+ exports.setupClassNamePart = setupClassNamePart;
19
+ exports.setupCommentPart = setupCommentPart;
20
+ exports.setupDataPart = setupDataPart;
21
+ exports.setupEventPart = setupEventPart;
22
+ exports.setupNodePart = setupNodePart;
23
+ exports.setupPropertiesPart = setupPropertiesPart;
24
+ exports.setupPropertyPart = setupPropertyPart;
25
+ exports.setupRefPart = setupRefPart;
26
+ exports.setupSparseAttrPart = setupSparseAttrPart;
27
+ exports.setupSparseClassNamePart = setupSparseClassNamePart;
28
+ exports.setupSparseCommentPart = setupSparseCommentPart;
29
+ exports.setupTextPart = setupTextPart;
30
+ var Context = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@typed/context"));
31
+ var Fx = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@typed/fx"));
32
+ var _wire = /*#__PURE__*/require("@typed/wire");
33
+ var Effect = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Effect"));
34
+ var ExecutionStrategy = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/ExecutionStrategy"));
35
+ var _Function = /*#__PURE__*/require("effect/Function");
36
+ var Scope = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Scope"));
37
+ var _Directive = /*#__PURE__*/require("../../Directive.js");
38
+ var ElementRef = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("../../ElementRef.js"));
39
+ var ElementSource = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("../../ElementSource.js"));
40
+ var EventHandler = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("../../EventHandler.js"));
41
+ var _RenderEvent = /*#__PURE__*/require("../../RenderEvent.js");
42
+ var _RenderQueue = /*#__PURE__*/require("../../RenderQueue.js");
43
+ var _EventSource = /*#__PURE__*/require("../EventSource.js");
44
+ var _indexRefCounter = /*#__PURE__*/require("../indexRefCounter.js");
45
+ var _utils = /*#__PURE__*/require("../utils.js");
46
+ var _helpers = /*#__PURE__*/require("./helpers.js");
47
+ var _parts = /*#__PURE__*/require("./parts.js");
48
+ var _renderEntry = /*#__PURE__*/require("./render-entry.js");
49
+ var SyncPartsInternal = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./render-sync-parts.js"));
50
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
51
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
52
+ const renderTemplate = (document, renderContext) => (templateStrings, values) => {
53
+ const entry = (0, _renderEntry.getBrowserEntry)(document, renderContext, templateStrings);
54
+ if (entry.template.parts.length === 0) {
55
+ return Fx.succeed((0, _RenderEvent.DomRenderEvent)((0, _wire.persistent)(document, document.importNode(entry.content, true))));
56
+ }
57
+ return Fx.make(sink => Effect.catchAllCause(Effect.gen(function* () {
58
+ // Create a context for rendering our template
59
+ const ctx = yield* makeTemplateContext(entry.content, document, renderContext, values, sink.onFailure);
60
+ // Setup all parts
61
+ const effects = setupParts(entry.template.parts, ctx);
62
+ if (effects.length > 0) {
63
+ yield* Effect.forEach(effects, (0, _Function.flow)(Effect.catchAllCause(ctx.onCause), Effect.forkIn(ctx.scope)));
64
+ }
65
+ // If there's anything to wait on and it's not already done, wait for an initial value
66
+ // for all asynchronous sources.
67
+ if (ctx.expected > 0 && (yield* ctx.refCounter.expect(ctx.expected))) {
68
+ yield* ctx.refCounter.wait;
69
+ }
70
+ // Create a persistent wire from our content
71
+ const wire = (0, _wire.persistent)(document, ctx.content);
72
+ // Setup our event listeners for our wire.
73
+ // We use the parentScope to allow event listeners to exist
74
+ // beyond the lifetime of the current Fiber, but no further than its parent template.
75
+ yield* ctx.eventSource.setup(wire, ctx.parentScope);
76
+ // Emit our DomRenderEvent
77
+ yield* sink.onSuccess((0, _RenderEvent.DomRenderEvent)(wire)).pipe(
78
+ // Ensure our templates last forever in the DOM environment
79
+ // so event listeners are kept attached to the current Scope.
80
+ Effect.zipRight(Effect.never),
81
+ // Close our scope whenever the current Fiber is interrupted
82
+ Effect.onExit(exit => Scope.close(ctx.scope, exit)));
83
+ }), sink.onFailure));
84
+ };
85
+ exports.renderTemplate = renderTemplate;
86
+ function makeTemplateContext(entry, document, renderContext, values, onCause) {
87
+ return Effect.gen(function* () {
88
+ const refCounter = yield* _indexRefCounter.makeRefCounter;
89
+ const context = yield* Effect.context();
90
+ const queue = Context.get(context, _RenderQueue.RenderQueue);
91
+ const parentScope = Context.get(context, Scope.Scope);
92
+ const eventSource = (0, _EventSource.makeEventSource)();
93
+ const content = document.importNode(entry, true);
94
+ const scope = yield* Scope.fork(parentScope, ExecutionStrategy.sequential);
95
+ const templateContext = {
96
+ context: Context.add(context, Scope.Scope, scope),
97
+ expected: 0,
98
+ content,
99
+ document,
100
+ eventSource,
101
+ parentScope,
102
+ queue,
103
+ refCounter,
104
+ renderContext,
105
+ scope,
106
+ values,
107
+ spreadIndex: values.length,
108
+ onCause
109
+ };
110
+ return templateContext;
111
+ });
112
+ }
113
+ function setupParts(parts, ctx) {
114
+ const effects = [];
115
+ for (const [part, path] of parts) {
116
+ const effect = setupPart(part, path, ctx);
117
+ if (effect) {
118
+ effects.push(effect);
119
+ }
120
+ }
121
+ return effects;
122
+ }
123
+ function setupPart(part, path, ctx) {
124
+ switch (part._tag) {
125
+ case "attr":
126
+ return setupAttrPart(part, (0, _utils.findPath)(ctx.content, path), ctx, ctx.values[part.index]);
127
+ case "boolean-part":
128
+ return setupBooleanPart(part, (0, _utils.findPath)(ctx.content, path), ctx, ctx.values[part.index]);
129
+ case "className-part":
130
+ return setupClassNamePart(part, (0, _utils.findPath)(ctx.content, path), ctx, ctx.values[part.index]);
131
+ case "comment-part":
132
+ return setupCommentPart(part, (0, _utils.findPath)(ctx.content, path), ctx);
133
+ case "data":
134
+ return setupDataPart(part, (0, _utils.findPath)(ctx.content, path), ctx, ctx.values[part.index]);
135
+ case "event":
136
+ return setupEventPart(part, (0, _utils.findPath)(ctx.content, path), ctx, ctx.values[part.index]);
137
+ case "node":
138
+ {
139
+ const parent = (0, _utils.findPath)(ctx.content, path);
140
+ const comment = (0, _utils.findHoleComment)(parent, part.index);
141
+ return setupNodePart(part, comment, ctx, null, []);
142
+ }
143
+ case "properties":
144
+ return setupPropertiesPart(part, (0, _utils.findPath)(ctx.content, path), ctx);
145
+ case "property":
146
+ return setupPropertyPart(part, (0, _utils.findPath)(ctx.content, path), ctx, ctx.values[part.index]);
147
+ case "ref":
148
+ return setupRefPart(part, (0, _utils.findPath)(ctx.content, path), ctx);
149
+ case "sparse-attr":
150
+ return setupSparseAttrPart(part, (0, _utils.findPath)(ctx.content, path), ctx);
151
+ case "sparse-class-name":
152
+ return setupSparseClassNamePart(part, (0, _utils.findPath)(ctx.content, path), ctx);
153
+ case "sparse-comment":
154
+ return setupSparseCommentPart(part, (0, _utils.findPath)(ctx.content, path), ctx);
155
+ case "text-part":
156
+ {
157
+ const parent = (0, _utils.findPath)(ctx.content, path);
158
+ const comment = (0, _utils.findHoleComment)(parent, part.index);
159
+ return setupTextPart(part, comment, ctx);
160
+ }
161
+ }
162
+ }
163
+ function setupAttrPart({
164
+ index,
165
+ name
166
+ }, element, ctx, renderable) {
167
+ const attr = element.getAttributeNode(name) ?? ctx.document.createAttribute(name);
168
+ const part = SyncPartsInternal.makeAttributePart(index, element, attr);
169
+ return matchSyncPart(renderable, ctx, part);
170
+ }
171
+ function setupBooleanPart({
172
+ index,
173
+ name
174
+ }, element, ctx, renderable) {
175
+ const part = SyncPartsInternal.makeBooleanAttributePart(name, index, element);
176
+ return matchSyncPart(renderable, ctx, part);
177
+ }
178
+ function setupClassNamePart({
179
+ index
180
+ }, element, ctx, renderable) {
181
+ const part = SyncPartsInternal.makeClassNamePart(index, element);
182
+ return matchSyncPart(renderable, ctx, part);
183
+ }
184
+ function setupCommentPart({
185
+ index
186
+ }, comment, ctx) {
187
+ const part = SyncPartsInternal.makeCommentPart(index, comment);
188
+ const renderable = ctx.values[index];
189
+ return matchSyncPart(renderable, ctx, part);
190
+ }
191
+ function setupDataPart({
192
+ index
193
+ }, element, ctx, renderable) {
194
+ const part = SyncPartsInternal.makeDataPart(index, element);
195
+ return matchSyncPart(renderable, ctx, part);
196
+ }
197
+ function setupEventPart({
198
+ index,
199
+ name
200
+ }, element, ctx, renderable) {
201
+ if ((0, _helpers.isNullOrUndefined)(renderable)) return null;
202
+ if ((0, _Directive.isDirective)(renderable)) {
203
+ return renderable(new _parts.EventPartImpl(name, index, ElementSource.fromElement(element), ctx.onCause, handler => ctx.eventSource.addEventListener(element, name, handler)));
204
+ } else {
205
+ const handler = getEventHandler(renderable, ctx.context, ctx.onCause);
206
+ if (handler === null) return null;
207
+ ctx.eventSource.addEventListener(element, name, handler);
208
+ return null;
209
+ }
210
+ }
211
+ function getEventHandler(renderable, ctx, onCause) {
212
+ if (renderable && typeof renderable === "object") {
213
+ if (EventHandler.EventHandlerTypeId in renderable) {
214
+ return EventHandler.make(ev => Effect.provide(Effect.catchAllCause(renderable.handler(ev), onCause), ctx), renderable.options);
215
+ } else if (Effect.EffectTypeId in renderable) {
216
+ return EventHandler.make(() => Effect.provide(Effect.catchAllCause(renderable, onCause), ctx));
217
+ }
218
+ }
219
+ return null;
220
+ }
221
+ function setupNodePart({
222
+ index
223
+ }, comment, ctx, text, nodes) {
224
+ const part = SyncPartsInternal.makeNodePart(index, comment, ctx.document, text, nodes);
225
+ const renderable = ctx.values[index];
226
+ return matchSyncPart(renderable, ctx, part);
227
+ }
228
+ function setupPropertyPart({
229
+ index,
230
+ name
231
+ }, element, ctx, renderable) {
232
+ const part = SyncPartsInternal.makePropertyPart(name, index, element);
233
+ return matchSyncPart(renderable, ctx, part);
234
+ }
235
+ function setupRefPart({
236
+ index
237
+ }, element, ctx) {
238
+ const renderable = ctx.values[index];
239
+ if ((0, _helpers.isNullOrUndefined)(renderable)) return null;else if ((0, _Directive.isDirective)(renderable)) {
240
+ return renderable(new _parts.RefPartImpl(ElementSource.fromElement(element), index));
241
+ } else if (ElementRef.isElementRef(renderable)) {
242
+ // TODO: We need to enable only setting these values once the Template has been rendered into the DOM
243
+ return ElementRef.set(renderable, element);
244
+ } else {
245
+ return null;
246
+ }
247
+ }
248
+ function setupPropertiesPart({
249
+ index
250
+ }, element, ctx) {
251
+ const renderable = ctx.values[index];
252
+ if (renderable && typeof renderable === "object") {
253
+ const effects = [];
254
+ const addEffect = effect => {
255
+ if ((0, _helpers.isNullOrUndefined)(effect)) return;
256
+ effects.push(effect);
257
+ };
258
+ for (const [key, value] of Object.entries(renderable)) {
259
+ const [type, name] = (0, _utils.keyToPartType)(key);
260
+ const index = ++ctx.spreadIndex;
261
+ switch (type) {
262
+ case "attr":
263
+ addEffect(setupAttrPart({
264
+ index,
265
+ name
266
+ }, element, ctx, value));
267
+ break;
268
+ case "boolean":
269
+ addEffect(setupBooleanPart({
270
+ index,
271
+ name
272
+ }, element, ctx, value));
273
+ break;
274
+ case "class":
275
+ addEffect(setupClassNamePart({
276
+ index
277
+ }, element, ctx, value));
278
+ break;
279
+ case "data":
280
+ addEffect(setupDataPart({
281
+ index
282
+ }, element, ctx, value));
283
+ break;
284
+ case "event":
285
+ addEffect(setupEventPart({
286
+ index,
287
+ name
288
+ }, element, ctx, value));
289
+ break;
290
+ case "property":
291
+ addEffect(setupPropertyPart({
292
+ index,
293
+ name
294
+ }, element, ctx, value));
295
+ break;
296
+ }
297
+ }
298
+ return Effect.all(effects, {
299
+ concurrency: "unbounded"
300
+ });
301
+ }
302
+ return null;
303
+ }
304
+ function setupSparseAttrPart({
305
+ name,
306
+ nodes
307
+ }, element, ctx) {
308
+ ctx.expected++;
309
+ const attr = element.getAttributeNode(name) ?? ctx.document.createAttribute(name);
310
+ const index = nodes.find(n => n._tag === "attr").index;
311
+ return SyncPartsInternal.handleSparseAttribute(element, attr, nodes, ctx.values, f => Effect.zipRight(ctx.queue.add(attr, f, _RenderQueue.DEFAULT_PRIORITY), ctx.refCounter.release(index)));
312
+ }
313
+ function setupSparseClassNamePart({
314
+ nodes
315
+ }, element, ctx) {
316
+ ctx.expected++;
317
+ const index = nodes.find(n => n._tag === "className-part").index;
318
+ return SyncPartsInternal.handleSparseClassName(element, nodes, ctx.values, f => Effect.zipRight(ctx.queue.add(element.classList, f, _RenderQueue.DEFAULT_PRIORITY), ctx.refCounter.release(index)));
319
+ }
320
+ function setupSparseCommentPart({
321
+ nodes
322
+ }, comment, ctx) {
323
+ ctx.expected++;
324
+ const index = nodes.find(n => n._tag === "comment-part").index;
325
+ return SyncPartsInternal.handleSparseComment(comment, nodes, ctx.values, f => Effect.zipRight(ctx.queue.add(comment, f, _RenderQueue.DEFAULT_PRIORITY), ctx.refCounter.release(index)));
326
+ }
327
+ function setupTextPart({
328
+ index
329
+ }, comment, ctx) {
330
+ const text = comment.previousSibling ? SyncPartsInternal.getPreviousTextSibling(comment.previousSibling) ?? createText(ctx.document, comment) : createText(ctx.document, comment);
331
+ const part = SyncPartsInternal.makeTextPart(index, text);
332
+ const renderable = ctx.values[index];
333
+ return matchSyncPart(renderable, ctx, part);
334
+ }
335
+ function createText(document, comment) {
336
+ const text = document.createTextNode("");
337
+ comment.parentNode.insertBefore(text, comment);
338
+ return text;
339
+ }
340
+ function matchSyncPart(renderable, ctx, syncPart) {
341
+ return matchRenderable(renderable, ctx, {
342
+ Fx: fx => fx.run(Fx.Sink.make(ctx.onCause, value => runSyncUpdate(syncPart, value, ctx))),
343
+ Effect: effect => Effect.flatMap(effect, value => runSyncUpdate(syncPart, value, ctx)),
344
+ Directive: directive => directive((0, _parts.syncPartToPart)(syncPart, ({
345
+ value
346
+ }) => runSyncUpdate(syncPart, value, ctx))),
347
+ Otherwise: value => {
348
+ syncPart.update(value);
349
+ return null;
350
+ }
351
+ });
352
+ }
353
+ function unwrapRenderable(renderable) {
354
+ switch (typeof renderable) {
355
+ case "undefined":
356
+ case "object":
357
+ {
358
+ if (renderable === null || renderable === undefined) return Fx.succeed(null);else if (Array.isArray(renderable)) {
359
+ return renderable.length === 0 ? Fx.succeed(null)
360
+ // TODO: We need to ensure the ordering of these values in server environments
361
+ : Fx.map(Fx.tuple(renderable.map(unwrapRenderable)), xs => xs.flat());
362
+ } else if (Fx.TypeId in renderable) {
363
+ return renderable;
364
+ } else if (Effect.EffectTypeId in renderable) {
365
+ return Fx.fromFxEffect(Effect.map(renderable, unwrapRenderable));
366
+ } else return Fx.succeed(renderable);
367
+ }
368
+ default:
369
+ return Fx.succeed(renderable);
370
+ }
371
+ }
372
+ function runSyncUpdate(syncPart, value, ctx) {
373
+ return Effect.zipRight(ctx.queue.add(syncPart, () => syncPart.update(value), _RenderQueue.DEFAULT_PRIORITY), ctx.refCounter.release(syncPart.index));
374
+ }
375
+ function matchRenderable(renderable, ctx, matches) {
376
+ if (Fx.isFx(renderable)) {
377
+ ctx.expected++;
378
+ return matches.Fx(renderable);
379
+ } else if (Effect.isEffect(renderable)) {
380
+ ctx.expected++;
381
+ return matches.Effect(renderable);
382
+ } else if ((0, _Directive.isDirective)(renderable)) {
383
+ ctx.expected++;
384
+ return matches.Directive(renderable);
385
+ } else if (Array.isArray(renderable)) {
386
+ return matches.Fx(unwrapRenderable(renderable));
387
+ } else {
388
+ return matches.Otherwise(renderable);
389
+ }
390
+ }
391
+ function attachRoot(cache, where, what // TODO: Should we support HTML RenderEvents here too?,
392
+ ) {
393
+ return Effect.sync(() => {
394
+ const wire = what?.valueOf();
395
+ const previous = cache.get(where);
396
+ if (wire !== previous) {
397
+ if (previous && !wire) removeChildren(where, previous);
398
+ cache.set(where, wire || null);
399
+ if (wire) replaceChildren(where, wire);
400
+ return wire;
401
+ }
402
+ return previous;
403
+ });
404
+ }
405
+ function removeChildren(where, previous) {
406
+ for (const node of getNodes(previous)) {
407
+ where.removeChild(node);
408
+ }
409
+ }
410
+ function replaceChildren(where, wire) {
411
+ where.replaceChildren(...getNodes(wire));
412
+ }
413
+ function getNodes(rendered) {
414
+ const value = rendered.valueOf();
415
+ return Array.isArray(value) ? value : [value];
416
+ }
417
+ //# sourceMappingURL=render.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render.js","names":["Context","_interopRequireWildcard","require","Fx","_wire","Effect","ExecutionStrategy","_Function","Scope","_Directive","ElementRef","ElementSource","EventHandler","_RenderEvent","_RenderQueue","_EventSource","_indexRefCounter","_utils","_helpers","_parts","_renderEntry","SyncPartsInternal","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","renderTemplate","document","renderContext","templateStrings","values","entry","getBrowserEntry","template","parts","length","succeed","DomRenderEvent","persistent","importNode","content","make","sink","catchAllCause","gen","ctx","makeTemplateContext","onFailure","effects","setupParts","forEach","flow","onCause","forkIn","scope","expected","refCounter","expect","wait","wire","eventSource","setup","parentScope","onSuccess","pipe","zipRight","never","onExit","exit","close","exports","makeRefCounter","context","queue","RenderQueue","makeEventSource","fork","sequential","templateContext","add","spreadIndex","part","path","effect","setupPart","push","_tag","setupAttrPart","findPath","index","setupBooleanPart","setupClassNamePart","setupCommentPart","setupDataPart","setupEventPart","parent","comment","findHoleComment","setupNodePart","setupPropertiesPart","setupPropertyPart","setupRefPart","setupSparseAttrPart","setupSparseClassNamePart","setupSparseCommentPart","setupTextPart","name","element","renderable","attr","getAttributeNode","createAttribute","makeAttributePart","matchSyncPart","makeBooleanAttributePart","makeClassNamePart","makeCommentPart","makeDataPart","isNullOrUndefined","isDirective","EventPartImpl","fromElement","handler","addEventListener","getEventHandler","EventHandlerTypeId","ev","provide","options","EffectTypeId","text","nodes","makeNodePart","makePropertyPart","RefPartImpl","isElementRef","addEffect","key","value","entries","type","keyToPartType","all","concurrency","find","handleSparseAttribute","f","DEFAULT_PRIORITY","release","handleSparseClassName","classList","handleSparseComment","previousSibling","getPreviousTextSibling","createText","makeTextPart","createTextNode","parentNode","insertBefore","syncPart","matchRenderable","fx","run","Sink","runSyncUpdate","flatMap","Directive","directive","syncPartToPart","Otherwise","update","unwrapRenderable","undefined","Array","isArray","map","tuple","xs","flat","TypeId","fromFxEffect","matches","isFx","isEffect","attachRoot","cache","where","what","sync","valueOf","previous","removeChildren","replaceChildren","node","getNodes","removeChild","rendered"],"sources":["../../../../src/internal/v2/render.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.TextPartImpl = exports.PropertyPartImpl = exports.NodePartImpl = exports.DataPartImpl = exports.CommentPartImpl = exports.ClassNamePartImpl = exports.BooleanPartImpl = exports.AttributePartImpl = void 0;
7
+ exports.splitClassNames = splitClassNames;
8
+ var _Equal = /*#__PURE__*/require("effect/Equal");
9
+ var Equivalence = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Equivalence"));
10
+ var _helpers = /*#__PURE__*/require("./helpers.js");
11
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
12
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
13
+ const strictEq = /*#__PURE__*/Equivalence.strict();
14
+ const base = tag => class Base {
15
+ index;
16
+ commit;
17
+ value;
18
+ eq;
19
+ _tag = tag;
20
+ constructor(index, commit, value, eq = _Equal.equals) {
21
+ this.index = index;
22
+ this.commit = commit;
23
+ this.value = value;
24
+ this.eq = eq;
25
+ this.update = this.update.bind(this);
26
+ }
27
+ update(input) {
28
+ const previous = this.value;
29
+ const value = this.getValue(input);
30
+ if (this.eq(previous, value)) {
31
+ return false;
32
+ }
33
+ this.value = value;
34
+ this.commit.call(this, {
35
+ previous,
36
+ value
37
+ });
38
+ return true;
39
+ }
40
+ getValue(value) {
41
+ return value;
42
+ }
43
+ };
44
+ class AttributePartImpl extends base("attribute") {
45
+ name;
46
+ constructor(name, index, commit, value) {
47
+ super(index, commit, value, strictEq);
48
+ this.name = name;
49
+ }
50
+ getValue(value) {
51
+ return (0, _helpers.isNullOrUndefined)(value) ? value : (0, _helpers.renderToString)(value);
52
+ }
53
+ }
54
+ exports.AttributePartImpl = AttributePartImpl;
55
+ class BooleanPartImpl extends base("boolean") {
56
+ name;
57
+ constructor(name, index, commit, value) {
58
+ super(index, commit, value, strictEq);
59
+ this.name = name;
60
+ }
61
+ getValue(value) {
62
+ return !!value;
63
+ }
64
+ }
65
+ exports.BooleanPartImpl = BooleanPartImpl;
66
+ class ClassNamePartImpl extends base("className") {
67
+ constructor(index, commit, value) {
68
+ super(index, commit, value, strictEq);
69
+ }
70
+ getValue(value) {
71
+ if ((0, _helpers.isNullOrUndefined)(value)) {
72
+ return [];
73
+ } else if (Array.isArray(value)) {
74
+ return value.flatMap(splitClassNames);
75
+ } else {
76
+ return splitClassNames((0, _helpers.renderToString)(value));
77
+ }
78
+ }
79
+ }
80
+ exports.ClassNamePartImpl = ClassNamePartImpl;
81
+ const SPACE_REGEXP = /\s+/g;
82
+ function splitClassNames(value) {
83
+ return value.split(SPACE_REGEXP).flatMap(a => {
84
+ const trimmed = a.trim();
85
+ return trimmed.length > 0 ? [trimmed] : [];
86
+ });
87
+ }
88
+ class CommentPartImpl extends base("comment") {
89
+ getValue(value) {
90
+ return (0, _helpers.isNullOrUndefined)(value) ? value : (0, _helpers.renderToString)(value);
91
+ }
92
+ }
93
+ exports.CommentPartImpl = CommentPartImpl;
94
+ class DataPartImpl extends base("data") {}
95
+ exports.DataPartImpl = DataPartImpl;
96
+ class NodePartImpl extends base("node") {}
97
+ exports.NodePartImpl = NodePartImpl;
98
+ class PropertyPartImpl extends base("property") {
99
+ name;
100
+ constructor(name, index, commit, value) {
101
+ super(index, commit, value, strictEq);
102
+ this.name = name;
103
+ }
104
+ }
105
+ exports.PropertyPartImpl = PropertyPartImpl;
106
+ class TextPartImpl extends base("text") {
107
+ constructor(index, commit, value) {
108
+ super(index, commit, value, strictEq);
109
+ }
110
+ getValue(value) {
111
+ return (0, _helpers.isNullOrUndefined)(value) ? value : (0, _helpers.renderToString)(value);
112
+ }
113
+ }
114
+ exports.TextPartImpl = TextPartImpl;
115
+ //# sourceMappingURL=sync-parts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync-parts.js","names":["_Equal","require","Equivalence","_interopRequireWildcard","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","strictEq","strict","base","tag","Base","index","commit","value","eq","_tag","constructor","equals","update","bind","input","previous","getValue","AttributePartImpl","name","isNullOrUndefined","renderToString","exports","BooleanPartImpl","ClassNamePartImpl","Array","isArray","flatMap","splitClassNames","SPACE_REGEXP","split","trimmed","trim","length","CommentPartImpl","DataPartImpl","NodePartImpl","PropertyPartImpl","TextPartImpl"],"sources":["../../../../src/internal/v2/sync-parts.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,10 +1,10 @@
1
1
  import * as RefSubject from "@typed/fx/RefSubject";
2
2
  import type { Versioned } from "@typed/fx/Versioned";
3
3
  import { type Rendered } from "@typed/wire";
4
- import type { Scope } from "effect";
5
4
  import type { NoSuchElementException } from "effect/Cause";
6
5
  import * as Effect from "effect/Effect";
7
6
  import * as Option from "effect/Option";
7
+ import type * as Scope from "effect/Scope";
8
8
  import { ElementSource } from "./ElementSource.js";
9
9
  export declare const ElementRefTypeId: unique symbol;
10
10
  export type ElementRefTypeId = typeof ElementRefTypeId;
@@ -1 +1 @@
1
- {"version":3,"file":"ElementRef.d.ts","sourceRoot":"","sources":["../../src/ElementRef.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,UAAU,MAAM,sBAAsB,CAAA;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AACnC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AAC1D,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAGvC,OAAO,EAAE,aAAa,EAAe,MAAM,oBAAoB,CAAA;AAG/D,eAAO,MAAM,gBAAgB,eAA2C,CAAA;AACxE,MAAM,MAAM,gBAAgB,GAAG,OAAO,gBAAgB,CAAA;AAEtD;;;GAGG;AACH,MAAM,WAAW,UAAU,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,CACvD,SAAQ,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,sBAAsB,EAAE,KAAK,CAAC;IAExF,QAAQ,CAAC,CAAC,gBAAgB,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IAEpE,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IACzC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;IAC3C,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAA;IAC/C,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAA;CAC1D;AAID;;GAEG;AACH,wBAAgB,IAAI,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,KAAK,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAKtG;AAED;;GAEG;AACH,wBAAgB,EAAE,CAAC,CAAC,SAAS,QAAQ,EAAE,QAAQ,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAKpG;AAuCD;;GAEG;AACH,eAAO,MAAM,GAAG,EAAE;IAChB,CAAC,CAAC,SAAS,QAAQ,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IAC/E,CAAC,CAAC,SAAS,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;CAG3E,CAAA;AAEF;;GAEG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,QAAQ,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,sDAajF;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,CAEhE"}
1
+ {"version":3,"file":"ElementRef.d.ts","sourceRoot":"","sources":["../../src/ElementRef.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,UAAU,MAAM,sBAAsB,CAAA;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AAC1D,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAE1C,OAAO,EAAE,aAAa,EAAe,MAAM,oBAAoB,CAAA;AAG/D,eAAO,MAAM,gBAAgB,eAA2C,CAAA;AACxE,MAAM,MAAM,gBAAgB,GAAG,OAAO,gBAAgB,CAAA;AAEtD;;;GAGG;AACH,MAAM,WAAW,UAAU,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,CACvD,SAAQ,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,sBAAsB,EAAE,KAAK,CAAC;IAExF,QAAQ,CAAC,CAAC,gBAAgB,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IAEpE,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IACzC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;IAC3C,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAA;IAC/C,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAA;CAC1D;AAID;;GAEG;AACH,wBAAgB,IAAI,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,KAAK,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAKtG;AAED;;GAEG;AACH,wBAAgB,EAAE,CAAC,CAAC,SAAS,QAAQ,EAAE,QAAQ,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAKpG;AAuCD;;GAEG;AACH,eAAO,MAAM,GAAG,EAAE;IAChB,CAAC,CAAC,SAAS,QAAQ,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IAC/E,CAAC,CAAC,SAAS,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;CAG3E,CAAA;AAEF;;GAEG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,QAAQ,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,sDAajF;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,CAEhE"}
@@ -35,7 +35,7 @@ export declare function fromElement<T extends Element, EventMap extends {} = Def
35
35
  /**
36
36
  * @since 1.0.0
37
37
  */
38
- export type ParseSelector<T extends string, Fallback> = [T] extends [typeof ROOT_CSS_SELECTOR] ? Fallback : Fallback extends globalThis.Element ? TQS.ParseSelector<T, Fallback> : Fallback;
38
+ export type ParseSelector<T extends string, Fallback> = [T] extends [typeof ROOT_CSS_SELECTOR] ? Fallback : Fallback extends globalThis.Element ? Extract<TQS.ParseSelector<T, Fallback>, globalThis.Element> : Fallback;
39
39
  /**
40
40
  * @since 1.0.0
41
41
  */
@@ -1 +1 @@
1
- {"version":3,"file":"ElementSource.d.ts","sourceRoot":"","sources":["../../src/ElementSource.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AAEpE,OAAO,KAAK,EAAE,MAAM,cAAc,CAAA;AAElC,OAAO,KAAK,SAAS,MAAM,qBAAqB,CAAA;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAE3C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAG1C,OAAO,KAAK,UAAU,MAAM,sBAAsB,CAAA;AAClD,OAAO,KAAK,KAAK,GAAG,MAAM,6BAA6B,CAAA;AAEvD;;GAEG;AACH,MAAM,WAAW,aAAa,CAC5B,CAAC,SAAS,QAAQ,GAAG,OAAO,EAC5B,QAAQ,SAAS,EAAE,GAAG,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CACnE,SACA,SAAS,CAAC,SAAS,CACjB,KAAK,EACL,KAAK,EACL,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EACpB,KAAK,EACL,KAAK,CAAC,KAAK,EACX,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EACpB,sBAAsB,EACtB,KAAK,CACN;IAED,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAE3B,QAAQ,CAAC,KAAK,EAAE;QACd,CAAC,CAAC,SAAS,MAAM,EAAE,EAAE,SAAS,EAAE,GAAG,eAAe,CAAC,aAAa,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,EAC3E,QAAQ,EAAE,CAAC,GACV,aAAa,CAAC,aAAa,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAA;QAE/C,CAAC,MAAM,SAAS,QAAQ,EAAE,QAAQ,SAAS,EAAE,GAAG,eAAe,CAAC,MAAM,CAAC,EACrE,QAAQ,EAAE,MAAM,GACf,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;KACnC,CAAA;IAED,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;IAE5D,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,SAAS,MAAM,QAAQ,EAC3C,IAAI,EAAE,IAAI,EACV,OAAO,CAAC,EAAE,uBAAuB,KAC9B,EAAE,CAAC,EAAE,CAAC,sBAAsB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;IAEpG,QAAQ,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,aAAa,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAA;CAC5G;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,QAAQ,EAAE,QAAQ,SAAS,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC,EACxF,WAAW,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,GAClC,aAAa,CAAC,CAAC,EAAE,QAAQ,CAAC,CAE5B;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,OAAO,EAAE,QAAQ,SAAS,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC,EACrF,WAAW,EAAE,CAAC,GACb,aAAa,CAAC,CAAC,EAAE,QAAQ,CAAC,CAE5B;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,QAAQ,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,iBAAiB,CAAC,GAAG,QAAQ,GACrG,QAAQ,SAAS,UAAU,CAAC,OAAO,GAAG,GAAG,CAAC,aAAa,CAAC,CAAC,EAAE,QAAQ,CAAC,GACpE,QAAQ,CAAA;AAEZ;;GAEG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GAAG,cAAc,GAC9D,CAAC,SAAS,QAAQ,GAAG,gBAAgB,GACrC,CAAC,SAAS,gBAAgB,GAAG,wBAAwB,GACrD,CAAC,SAAS,gBAAgB,GAAG,wBAAwB,GACrD,CAAC,SAAS,WAAW,GAAG,mBAAmB,GAC3C,CAAC,SAAS,UAAU,GAAG,kBAAkB,GACzC,CAAC,SAAS,OAAO,GAAG,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,GACrE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAA;AAEnC;;GAEG;AACH,eAAO,MAAM,iBAAiB,SAAmB,CAAA;AAIjD;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,QAAQ,EAAE,OAAO,EAAE,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,CAclF;AA8QD;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,YAAY,GAAG,eAAe,CAAA;AAErD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAA;IACpB,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;CAC1C;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,YAAY,CAK3E;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;IACxB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CAC1B;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,eAAe,CAKjE"}
1
+ {"version":3,"file":"ElementSource.d.ts","sourceRoot":"","sources":["../../src/ElementSource.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AAEpE,OAAO,KAAK,EAAE,MAAM,cAAc,CAAA;AAElC,OAAO,KAAK,SAAS,MAAM,qBAAqB,CAAA;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAE3C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAG1C,OAAO,KAAK,UAAU,MAAM,sBAAsB,CAAA;AAClD,OAAO,KAAK,KAAK,GAAG,MAAM,6BAA6B,CAAA;AAEvD;;GAEG;AACH,MAAM,WAAW,aAAa,CAC5B,CAAC,SAAS,QAAQ,GAAG,OAAO,EAC5B,QAAQ,SAAS,EAAE,GAAG,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CACnE,SACA,SAAS,CAAC,SAAS,CACjB,KAAK,EACL,KAAK,EACL,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EACpB,KAAK,EACL,KAAK,CAAC,KAAK,EACX,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EACpB,sBAAsB,EACtB,KAAK,CACN;IAED,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAE3B,QAAQ,CAAC,KAAK,EAAE;QACd,CAAC,CAAC,SAAS,MAAM,EAAE,EAAE,SAAS,EAAE,GAAG,eAAe,CAAC,aAAa,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,EAC3E,QAAQ,EAAE,CAAC,GACV,aAAa,CAAC,aAAa,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAA;QAE/C,CAAC,MAAM,SAAS,QAAQ,EAAE,QAAQ,SAAS,EAAE,GAAG,eAAe,CAAC,MAAM,CAAC,EACrE,QAAQ,EAAE,MAAM,GACf,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;KACnC,CAAA;IAED,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;IAE5D,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,SAAS,MAAM,QAAQ,EAC3C,IAAI,EAAE,IAAI,EACV,OAAO,CAAC,EAAE,uBAAuB,KAC9B,EAAE,CAAC,EAAE,CAAC,sBAAsB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;IAEpG,QAAQ,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,aAAa,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAA;CAC5G;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,QAAQ,EAAE,QAAQ,SAAS,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC,EACxF,WAAW,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,GAClC,aAAa,CAAC,CAAC,EAAE,QAAQ,CAAC,CAE5B;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,OAAO,EAAE,QAAQ,SAAS,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC,EACrF,WAAW,EAAE,CAAC,GACb,aAAa,CAAC,CAAC,EAAE,QAAQ,CAAC,CAE5B;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,QAAQ,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,iBAAiB,CAAC,GAAG,QAAQ,GACrG,QAAQ,SAAS,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,GACjG,QAAQ,CAAA;AAEZ;;GAEG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GAAG,cAAc,GAC9D,CAAC,SAAS,QAAQ,GAAG,gBAAgB,GACrC,CAAC,SAAS,gBAAgB,GAAG,wBAAwB,GACrD,CAAC,SAAS,gBAAgB,GAAG,wBAAwB,GACrD,CAAC,SAAS,WAAW,GAAG,mBAAmB,GAC3C,CAAC,SAAS,UAAU,GAAG,kBAAkB,GACzC,CAAC,SAAS,OAAO,GAAG,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,GACrE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAA;AAEnC;;GAEG;AACH,eAAO,MAAM,iBAAiB,SAAmB,CAAA;AAIjD;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,QAAQ,EAAE,OAAO,EAAE,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,CAclF;AA8QD;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,YAAY,GAAG,eAAe,CAAA;AAErD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAA;IACpB,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;CAC1C;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,YAAY,CAK3E;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;IACxB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CAC1B;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,eAAe,CAKjE"}