@pwfabric/runtime 0.0.0-stage → 1.0.0-rc.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 (603) hide show
  1. package/LICENSE +90 -0
  2. package/README.md +13 -2
  3. package/dist/__tests__/dom-test-setup.d.ts +21 -0
  4. package/dist/__tests__/dom-test-setup.d.ts.map +1 -0
  5. package/dist/__tests__/dom-test-setup.js +36 -0
  6. package/dist/__tests__/dom-test-setup.js.map +1 -0
  7. package/dist/a11y/announcer.d.ts +66 -0
  8. package/dist/a11y/announcer.d.ts.map +1 -0
  9. package/dist/a11y/announcer.js +140 -0
  10. package/dist/a11y/announcer.js.map +1 -0
  11. package/dist/a11y/contrast.d.ts +55 -0
  12. package/dist/a11y/contrast.d.ts.map +1 -0
  13. package/dist/a11y/contrast.js +93 -0
  14. package/dist/a11y/contrast.js.map +1 -0
  15. package/dist/a11y/focus.d.ts +124 -0
  16. package/dist/a11y/focus.d.ts.map +1 -0
  17. package/dist/a11y/focus.js +282 -0
  18. package/dist/a11y/focus.js.map +1 -0
  19. package/dist/a11y/index.d.ts +22 -0
  20. package/dist/a11y/index.d.ts.map +1 -0
  21. package/dist/a11y/index.js +18 -0
  22. package/dist/a11y/index.js.map +1 -0
  23. package/dist/a11y/keyboard.d.ts +145 -0
  24. package/dist/a11y/keyboard.d.ts.map +1 -0
  25. package/dist/a11y/keyboard.js +317 -0
  26. package/dist/a11y/keyboard.js.map +1 -0
  27. package/dist/adapters/default-image.d.ts +26 -0
  28. package/dist/adapters/default-image.d.ts.map +1 -0
  29. package/dist/adapters/default-image.js +37 -0
  30. package/dist/adapters/default-image.js.map +1 -0
  31. package/dist/adapters/index.d.ts +28 -0
  32. package/dist/adapters/index.d.ts.map +1 -0
  33. package/dist/adapters/index.js +28 -0
  34. package/dist/adapters/index.js.map +1 -0
  35. package/dist/adapters/next-image.d.ts +39 -0
  36. package/dist/adapters/next-image.d.ts.map +1 -0
  37. package/dist/adapters/next-image.js +124 -0
  38. package/dist/adapters/next-image.js.map +1 -0
  39. package/dist/adapters/types.d.ts +62 -0
  40. package/dist/adapters/types.d.ts.map +1 -0
  41. package/dist/adapters/types.js +11 -0
  42. package/dist/adapters/types.js.map +1 -0
  43. package/dist/analytics/index.d.ts +15 -0
  44. package/dist/analytics/index.d.ts.map +1 -0
  45. package/dist/analytics/index.js +15 -0
  46. package/dist/analytics/index.js.map +1 -0
  47. package/dist/analytics/tracker.d.ts +66 -0
  48. package/dist/analytics/tracker.d.ts.map +1 -0
  49. package/dist/analytics/tracker.js +251 -0
  50. package/dist/analytics/tracker.js.map +1 -0
  51. package/dist/analytics/types.d.ts +131 -0
  52. package/dist/analytics/types.d.ts.map +1 -0
  53. package/dist/analytics/types.js +11 -0
  54. package/dist/analytics/types.js.map +1 -0
  55. package/dist/auth/index.d.ts +16 -0
  56. package/dist/auth/index.d.ts.map +1 -0
  57. package/dist/auth/index.js +14 -0
  58. package/dist/auth/index.js.map +1 -0
  59. package/dist/auth/provider.d.ts +133 -0
  60. package/dist/auth/provider.d.ts.map +1 -0
  61. package/dist/auth/provider.js +473 -0
  62. package/dist/auth/provider.js.map +1 -0
  63. package/dist/auth/types.d.ts +118 -0
  64. package/dist/auth/types.d.ts.map +1 -0
  65. package/dist/auth/types.js +9 -0
  66. package/dist/auth/types.js.map +1 -0
  67. package/dist/binding/collection.d.ts +191 -0
  68. package/dist/binding/collection.d.ts.map +1 -0
  69. package/dist/binding/collection.js +358 -0
  70. package/dist/binding/collection.js.map +1 -0
  71. package/dist/binding/datasource.d.ts +320 -0
  72. package/dist/binding/datasource.d.ts.map +1 -0
  73. package/dist/binding/datasource.js +556 -0
  74. package/dist/binding/datasource.js.map +1 -0
  75. package/dist/binding/engine.d.ts +66 -0
  76. package/dist/binding/engine.d.ts.map +1 -0
  77. package/dist/binding/engine.js +268 -0
  78. package/dist/binding/engine.js.map +1 -0
  79. package/dist/binding/expression.d.ts +151 -0
  80. package/dist/binding/expression.d.ts.map +1 -0
  81. package/dist/binding/expression.js +787 -0
  82. package/dist/binding/expression.js.map +1 -0
  83. package/dist/binding/index.d.ts +20 -0
  84. package/dist/binding/index.d.ts.map +1 -0
  85. package/dist/binding/index.js +14 -0
  86. package/dist/binding/index.js.map +1 -0
  87. package/dist/binding/two-way.d.ts +150 -0
  88. package/dist/binding/two-way.d.ts.map +1 -0
  89. package/dist/binding/two-way.js +462 -0
  90. package/dist/binding/two-way.js.map +1 -0
  91. package/dist/binding/types.d.ts +120 -0
  92. package/dist/binding/types.d.ts.map +1 -0
  93. package/dist/binding/types.js +9 -0
  94. package/dist/binding/types.js.map +1 -0
  95. package/dist/blocks/__test-fixtures__/block-fixtures.d.ts +40 -0
  96. package/dist/blocks/__test-fixtures__/block-fixtures.d.ts.map +1 -0
  97. package/dist/blocks/__test-fixtures__/block-fixtures.js +506 -0
  98. package/dist/blocks/__test-fixtures__/block-fixtures.js.map +1 -0
  99. package/dist/blocks/component-types.d.ts +82 -0
  100. package/dist/blocks/component-types.d.ts.map +1 -0
  101. package/dist/blocks/component-types.js +11 -0
  102. package/dist/blocks/component-types.js.map +1 -0
  103. package/dist/blocks/composition-rules.d.ts +169 -0
  104. package/dist/blocks/composition-rules.d.ts.map +1 -0
  105. package/dist/blocks/composition-rules.js +391 -0
  106. package/dist/blocks/composition-rules.js.map +1 -0
  107. package/dist/blocks/hooks.d.ts +32 -0
  108. package/dist/blocks/hooks.d.ts.map +1 -0
  109. package/dist/blocks/hooks.js +42 -0
  110. package/dist/blocks/hooks.js.map +1 -0
  111. package/dist/blocks/index.d.ts +16 -0
  112. package/dist/blocks/index.d.ts.map +1 -0
  113. package/dist/blocks/index.js +24 -0
  114. package/dist/blocks/index.js.map +1 -0
  115. package/dist/blocks/registry.d.ts +85 -0
  116. package/dist/blocks/registry.d.ts.map +1 -0
  117. package/dist/blocks/registry.js +136 -0
  118. package/dist/blocks/registry.js.map +1 -0
  119. package/dist/blocks/rule-engine.d.ts +132 -0
  120. package/dist/blocks/rule-engine.d.ts.map +1 -0
  121. package/dist/blocks/rule-engine.js +321 -0
  122. package/dist/blocks/rule-engine.js.map +1 -0
  123. package/dist/blocks/surface-event-context.d.ts +14 -0
  124. package/dist/blocks/surface-event-context.d.ts.map +1 -0
  125. package/dist/blocks/surface-event-context.js +14 -0
  126. package/dist/blocks/surface-event-context.js.map +1 -0
  127. package/dist/blocks/surface-id-context.d.ts +14 -0
  128. package/dist/blocks/surface-id-context.d.ts.map +1 -0
  129. package/dist/blocks/surface-id-context.js +15 -0
  130. package/dist/blocks/surface-id-context.js.map +1 -0
  131. package/dist/bus.d.ts +42 -0
  132. package/dist/bus.d.ts.map +1 -0
  133. package/dist/bus.js +158 -0
  134. package/dist/bus.js.map +1 -0
  135. package/dist/cache/index.d.ts +10 -0
  136. package/dist/cache/index.d.ts.map +1 -0
  137. package/dist/cache/index.js +10 -0
  138. package/dist/cache/index.js.map +1 -0
  139. package/dist/cache/memory.d.ts +33 -0
  140. package/dist/cache/memory.d.ts.map +1 -0
  141. package/dist/cache/memory.js +138 -0
  142. package/dist/cache/memory.js.map +1 -0
  143. package/dist/cache/types.d.ts +63 -0
  144. package/dist/cache/types.d.ts.map +1 -0
  145. package/dist/cache/types.js +9 -0
  146. package/dist/cache/types.js.map +1 -0
  147. package/dist/capability/index.d.ts +73 -0
  148. package/dist/capability/index.d.ts.map +1 -0
  149. package/dist/capability/index.js +87 -0
  150. package/dist/capability/index.js.map +1 -0
  151. package/dist/capability/kernel-capabilities.d.ts +32 -0
  152. package/dist/capability/kernel-capabilities.d.ts.map +1 -0
  153. package/dist/capability/kernel-capabilities.js +36 -0
  154. package/dist/capability/kernel-capabilities.js.map +1 -0
  155. package/dist/capability/platform-capabilities.d.ts +72 -0
  156. package/dist/capability/platform-capabilities.d.ts.map +1 -0
  157. package/dist/capability/platform-capabilities.js +267 -0
  158. package/dist/capability/platform-capabilities.js.map +1 -0
  159. package/dist/capability/type-mapping.d.ts +71 -0
  160. package/dist/capability/type-mapping.d.ts.map +1 -0
  161. package/dist/capability/type-mapping.js +107 -0
  162. package/dist/capability/type-mapping.js.map +1 -0
  163. package/dist/capability/validation.d.ts +47 -0
  164. package/dist/capability/validation.d.ts.map +1 -0
  165. package/dist/capability/validation.js +54 -0
  166. package/dist/capability/validation.js.map +1 -0
  167. package/dist/connectors/declared-connector.d.ts +49 -0
  168. package/dist/connectors/declared-connector.d.ts.map +1 -0
  169. package/dist/connectors/declared-connector.js +333 -0
  170. package/dist/connectors/declared-connector.js.map +1 -0
  171. package/dist/connectors/engine-registry.d.ts +51 -0
  172. package/dist/connectors/engine-registry.d.ts.map +1 -0
  173. package/dist/connectors/engine-registry.js +135 -0
  174. package/dist/connectors/engine-registry.js.map +1 -0
  175. package/dist/connectors/index.d.ts +15 -0
  176. package/dist/connectors/index.d.ts.map +1 -0
  177. package/dist/connectors/index.js +14 -0
  178. package/dist/connectors/index.js.map +1 -0
  179. package/dist/connectors/module-loader.d.ts +71 -0
  180. package/dist/connectors/module-loader.d.ts.map +1 -0
  181. package/dist/connectors/module-loader.js +143 -0
  182. package/dist/connectors/module-loader.js.map +1 -0
  183. package/dist/connectors/types.d.ts +175 -0
  184. package/dist/connectors/types.d.ts.map +1 -0
  185. package/dist/connectors/types.js +23 -0
  186. package/dist/connectors/types.js.map +1 -0
  187. package/dist/context.d.ts +28 -0
  188. package/dist/context.d.ts.map +1 -0
  189. package/dist/context.js +38 -0
  190. package/dist/context.js.map +1 -0
  191. package/dist/data/DataCapabilityProvider.d.ts +40 -0
  192. package/dist/data/DataCapabilityProvider.d.ts.map +1 -0
  193. package/dist/data/DataCapabilityProvider.js +58 -0
  194. package/dist/data/DataCapabilityProvider.js.map +1 -0
  195. package/dist/data/index.d.ts +18 -0
  196. package/dist/data/index.d.ts.map +1 -0
  197. package/dist/data/index.js +18 -0
  198. package/dist/data/index.js.map +1 -0
  199. package/dist/data/manager.d.ts +41 -0
  200. package/dist/data/manager.d.ts.map +1 -0
  201. package/dist/data/manager.js +442 -0
  202. package/dist/data/manager.js.map +1 -0
  203. package/dist/data/types.d.ts +219 -0
  204. package/dist/data/types.d.ts.map +1 -0
  205. package/dist/data/types.js +2 -0
  206. package/dist/data/types.js.map +1 -0
  207. package/dist/entity/aggregate.d.ts +9 -0
  208. package/dist/entity/aggregate.d.ts.map +1 -0
  209. package/dist/entity/aggregate.js +24 -0
  210. package/dist/entity/aggregate.js.map +1 -0
  211. package/dist/entity/apply-query.d.ts +59 -0
  212. package/dist/entity/apply-query.d.ts.map +1 -0
  213. package/dist/entity/apply-query.js +264 -0
  214. package/dist/entity/apply-query.js.map +1 -0
  215. package/dist/entity/behavior.d.ts +95 -0
  216. package/dist/entity/behavior.d.ts.map +1 -0
  217. package/dist/entity/behavior.js +78 -0
  218. package/dist/entity/behavior.js.map +1 -0
  219. package/dist/entity/connector.d.ts +142 -0
  220. package/dist/entity/connector.d.ts.map +1 -0
  221. package/dist/entity/connector.js +89 -0
  222. package/dist/entity/connector.js.map +1 -0
  223. package/dist/entity/connectors/index.d.ts +13 -0
  224. package/dist/entity/connectors/index.d.ts.map +1 -0
  225. package/dist/entity/connectors/index.js +11 -0
  226. package/dist/entity/connectors/index.js.map +1 -0
  227. package/dist/entity/connectors/static.d.ts +52 -0
  228. package/dist/entity/connectors/static.d.ts.map +1 -0
  229. package/dist/entity/connectors/static.js +245 -0
  230. package/dist/entity/connectors/static.js.map +1 -0
  231. package/dist/entity/entity-datasource.d.ts +51 -0
  232. package/dist/entity/entity-datasource.d.ts.map +1 -0
  233. package/dist/entity/entity-datasource.js +33 -0
  234. package/dist/entity/entity-datasource.js.map +1 -0
  235. package/dist/entity/facade.d.ts +71 -0
  236. package/dist/entity/facade.d.ts.map +1 -0
  237. package/dist/entity/facade.js +70 -0
  238. package/dist/entity/facade.js.map +1 -0
  239. package/dist/entity/http-connector.d.ts +124 -0
  240. package/dist/entity/http-connector.d.ts.map +1 -0
  241. package/dist/entity/http-connector.js +295 -0
  242. package/dist/entity/http-connector.js.map +1 -0
  243. package/dist/entity/index.d.ts +39 -0
  244. package/dist/entity/index.d.ts.map +1 -0
  245. package/dist/entity/index.js +31 -0
  246. package/dist/entity/index.js.map +1 -0
  247. package/dist/entity/postgres-connector.d.ts +65 -0
  248. package/dist/entity/postgres-connector.d.ts.map +1 -0
  249. package/dist/entity/postgres-connector.js +239 -0
  250. package/dist/entity/postgres-connector.js.map +1 -0
  251. package/dist/entity/registry.d.ts +60 -0
  252. package/dist/entity/registry.d.ts.map +1 -0
  253. package/dist/entity/registry.js +90 -0
  254. package/dist/entity/registry.js.map +1 -0
  255. package/dist/entity/store.d.ts +67 -0
  256. package/dist/entity/store.d.ts.map +1 -0
  257. package/dist/entity/store.js +349 -0
  258. package/dist/entity/store.js.map +1 -0
  259. package/dist/entity/types.d.ts +181 -0
  260. package/dist/entity/types.d.ts.map +1 -0
  261. package/dist/entity/types.js +10 -0
  262. package/dist/entity/types.js.map +1 -0
  263. package/dist/execution-context.d.ts +89 -0
  264. package/dist/execution-context.d.ts.map +1 -0
  265. package/dist/execution-context.js +146 -0
  266. package/dist/execution-context.js.map +1 -0
  267. package/dist/executor.d.ts +28 -0
  268. package/dist/executor.d.ts.map +1 -0
  269. package/dist/executor.js +33 -0
  270. package/dist/executor.js.map +1 -0
  271. package/dist/forms/form-entity-bridge.d.ts +95 -0
  272. package/dist/forms/form-entity-bridge.d.ts.map +1 -0
  273. package/dist/forms/form-entity-bridge.js +96 -0
  274. package/dist/forms/form-entity-bridge.js.map +1 -0
  275. package/dist/forms/form-write-target.d.ts +35 -0
  276. package/dist/forms/form-write-target.d.ts.map +1 -0
  277. package/dist/forms/form-write-target.js +81 -0
  278. package/dist/forms/form-write-target.js.map +1 -0
  279. package/dist/forms/index.d.ts +23 -0
  280. package/dist/forms/index.d.ts.map +1 -0
  281. package/dist/forms/index.js +25 -0
  282. package/dist/forms/index.js.map +1 -0
  283. package/dist/forms/named-control-values.d.ts +28 -0
  284. package/dist/forms/named-control-values.d.ts.map +1 -0
  285. package/dist/forms/named-control-values.js +42 -0
  286. package/dist/forms/named-control-values.js.map +1 -0
  287. package/dist/forms/processor.d.ts +56 -0
  288. package/dist/forms/processor.d.ts.map +1 -0
  289. package/dist/forms/processor.js +154 -0
  290. package/dist/forms/processor.js.map +1 -0
  291. package/dist/forms/types.d.ts +175 -0
  292. package/dist/forms/types.d.ts.map +1 -0
  293. package/dist/forms/types.js +33 -0
  294. package/dist/forms/types.js.map +1 -0
  295. package/dist/forms/validator.d.ts +62 -0
  296. package/dist/forms/validator.d.ts.map +1 -0
  297. package/dist/forms/validator.js +218 -0
  298. package/dist/forms/validator.js.map +1 -0
  299. package/dist/graph/index.d.ts +11 -0
  300. package/dist/graph/index.d.ts.map +1 -0
  301. package/dist/graph/index.js +9 -0
  302. package/dist/graph/index.js.map +1 -0
  303. package/dist/graph/resolver.d.ts +67 -0
  304. package/dist/graph/resolver.d.ts.map +1 -0
  305. package/dist/graph/resolver.js +243 -0
  306. package/dist/graph/resolver.js.map +1 -0
  307. package/dist/graph/types.d.ts +126 -0
  308. package/dist/graph/types.d.ts.map +1 -0
  309. package/dist/graph/types.js +9 -0
  310. package/dist/graph/types.js.map +1 -0
  311. package/dist/hooks/useInstalledAtoms.d.ts +97 -0
  312. package/dist/hooks/useInstalledAtoms.d.ts.map +1 -0
  313. package/dist/hooks/useInstalledAtoms.js +92 -0
  314. package/dist/hooks/useInstalledAtoms.js.map +1 -0
  315. package/dist/i18n/index.d.ts +16 -0
  316. package/dist/i18n/index.d.ts.map +1 -0
  317. package/dist/i18n/index.js +14 -0
  318. package/dist/i18n/index.js.map +1 -0
  319. package/dist/i18n/translator.d.ts +77 -0
  320. package/dist/i18n/translator.d.ts.map +1 -0
  321. package/dist/i18n/translator.js +357 -0
  322. package/dist/i18n/translator.js.map +1 -0
  323. package/dist/i18n/types.d.ts +94 -0
  324. package/dist/i18n/types.d.ts.map +1 -0
  325. package/dist/i18n/types.js +9 -0
  326. package/dist/i18n/types.js.map +1 -0
  327. package/dist/index.d.ts +65 -0
  328. package/dist/index.d.ts.map +1 -0
  329. package/dist/index.js +95 -0
  330. package/dist/index.js.map +1 -0
  331. package/dist/kernel.d.ts +48 -0
  332. package/dist/kernel.d.ts.map +1 -0
  333. package/dist/kernel.js +258 -0
  334. package/dist/kernel.js.map +1 -0
  335. package/dist/perf/budget.d.ts +93 -0
  336. package/dist/perf/budget.d.ts.map +1 -0
  337. package/dist/perf/budget.js +122 -0
  338. package/dist/perf/budget.js.map +1 -0
  339. package/dist/perf/index.d.ts +17 -0
  340. package/dist/perf/index.d.ts.map +1 -0
  341. package/dist/perf/index.js +13 -0
  342. package/dist/perf/index.js.map +1 -0
  343. package/dist/perf/render-timer.d.ts +91 -0
  344. package/dist/perf/render-timer.d.ts.map +1 -0
  345. package/dist/perf/render-timer.js +136 -0
  346. package/dist/perf/render-timer.js.map +1 -0
  347. package/dist/perf/reporter.d.ts +127 -0
  348. package/dist/perf/reporter.d.ts.map +1 -0
  349. package/dist/perf/reporter.js +241 -0
  350. package/dist/perf/reporter.js.map +1 -0
  351. package/dist/perf/web-vitals.d.ts +112 -0
  352. package/dist/perf/web-vitals.d.ts.map +1 -0
  353. package/dist/perf/web-vitals.js +268 -0
  354. package/dist/perf/web-vitals.js.map +1 -0
  355. package/dist/registry.d.ts +64 -0
  356. package/dist/registry.d.ts.map +1 -0
  357. package/dist/registry.js +126 -0
  358. package/dist/registry.js.map +1 -0
  359. package/dist/render/BehaviorSurfaceProvider.d.ts +66 -0
  360. package/dist/render/BehaviorSurfaceProvider.d.ts.map +1 -0
  361. package/dist/render/BehaviorSurfaceProvider.js +185 -0
  362. package/dist/render/BehaviorSurfaceProvider.js.map +1 -0
  363. package/dist/render/BlockErrorBoundary.d.ts +27 -0
  364. package/dist/render/BlockErrorBoundary.d.ts.map +1 -0
  365. package/dist/render/BlockErrorBoundary.js +41 -0
  366. package/dist/render/BlockErrorBoundary.js.map +1 -0
  367. package/dist/render/DataBoundSurfaceRenderer.d.ts +79 -0
  368. package/dist/render/DataBoundSurfaceRenderer.d.ts.map +1 -0
  369. package/dist/render/DataBoundSurfaceRenderer.js +998 -0
  370. package/dist/render/DataBoundSurfaceRenderer.js.map +1 -0
  371. package/dist/render/DynamicBlockWrapper.d.ts +24 -0
  372. package/dist/render/DynamicBlockWrapper.d.ts.map +1 -0
  373. package/dist/render/DynamicBlockWrapper.js +117 -0
  374. package/dist/render/DynamicBlockWrapper.js.map +1 -0
  375. package/dist/render/appearance-resolver.d.ts +51 -0
  376. package/dist/render/appearance-resolver.d.ts.map +1 -0
  377. package/dist/render/appearance-resolver.js +78 -0
  378. package/dist/render/appearance-resolver.js.map +1 -0
  379. package/dist/render/capability-gate.d.ts +70 -0
  380. package/dist/render/capability-gate.d.ts.map +1 -0
  381. package/dist/render/capability-gate.js +94 -0
  382. package/dist/render/capability-gate.js.map +1 -0
  383. package/dist/render/conditional-states-css.d.ts +42 -0
  384. package/dist/render/conditional-states-css.d.ts.map +1 -0
  385. package/dist/render/conditional-states-css.js +82 -0
  386. package/dist/render/conditional-states-css.js.map +1 -0
  387. package/dist/render/connections-context.d.ts +32 -0
  388. package/dist/render/connections-context.d.ts.map +1 -0
  389. package/dist/render/connections-context.js +34 -0
  390. package/dist/render/connections-context.js.map +1 -0
  391. package/dist/render/dark-theme-css.d.ts +37 -0
  392. package/dist/render/dark-theme-css.d.ts.map +1 -0
  393. package/dist/render/dark-theme-css.js +67 -0
  394. package/dist/render/dark-theme-css.js.map +1 -0
  395. package/dist/render/data-binding-types.d.ts +192 -0
  396. package/dist/render/data-binding-types.d.ts.map +1 -0
  397. package/dist/render/data-binding-types.js +11 -0
  398. package/dist/render/data-binding-types.js.map +1 -0
  399. package/dist/render/data-cache.d.ts +31 -0
  400. package/dist/render/data-cache.d.ts.map +1 -0
  401. package/dist/render/data-cache.js +37 -0
  402. package/dist/render/data-cache.js.map +1 -0
  403. package/dist/render/derive-dark-theme.d.ts +18 -0
  404. package/dist/render/derive-dark-theme.d.ts.map +1 -0
  405. package/dist/render/derive-dark-theme.js +18 -0
  406. package/dist/render/derive-dark-theme.js.map +1 -0
  407. package/dist/render/dynamic-artifact-context.d.ts +78 -0
  408. package/dist/render/dynamic-artifact-context.d.ts.map +1 -0
  409. package/dist/render/dynamic-artifact-context.js +89 -0
  410. package/dist/render/dynamic-artifact-context.js.map +1 -0
  411. package/dist/render/dynamic-block-loader.d.ts +81 -0
  412. package/dist/render/dynamic-block-loader.d.ts.map +1 -0
  413. package/dist/render/dynamic-block-loader.js +197 -0
  414. package/dist/render/dynamic-block-loader.js.map +1 -0
  415. package/dist/render/endpoint.d.ts +19 -0
  416. package/dist/render/endpoint.d.ts.map +1 -0
  417. package/dist/render/endpoint.js +109 -0
  418. package/dist/render/endpoint.js.map +1 -0
  419. package/dist/render/entity-facade-context.d.ts +35 -0
  420. package/dist/render/entity-facade-context.d.ts.map +1 -0
  421. package/dist/render/entity-facade-context.js +37 -0
  422. package/dist/render/entity-facade-context.js.map +1 -0
  423. package/dist/render/group-states-css.d.ts +42 -0
  424. package/dist/render/group-states-css.d.ts.map +1 -0
  425. package/dist/render/group-states-css.js +73 -0
  426. package/dist/render/group-states-css.js.map +1 -0
  427. package/dist/render/hooks/useSurfaceEvents.d.ts +9 -0
  428. package/dist/render/hooks/useSurfaceEvents.d.ts.map +1 -0
  429. package/dist/render/hooks/useSurfaceEvents.js +9 -0
  430. package/dist/render/hooks/useSurfaceEvents.js.map +1 -0
  431. package/dist/render/hooks/useSurfaceId.d.ts +9 -0
  432. package/dist/render/hooks/useSurfaceId.d.ts.map +1 -0
  433. package/dist/render/hooks/useSurfaceId.js +9 -0
  434. package/dist/render/hooks/useSurfaceId.js.map +1 -0
  435. package/dist/render/index.d.ts +49 -0
  436. package/dist/render/index.d.ts.map +1 -0
  437. package/dist/render/index.js +61 -0
  438. package/dist/render/index.js.map +1 -0
  439. package/dist/render/interaction-rule-engine.d.ts +13 -0
  440. package/dist/render/interaction-rule-engine.d.ts.map +1 -0
  441. package/dist/render/interaction-rule-engine.js +47 -0
  442. package/dist/render/interaction-rule-engine.js.map +1 -0
  443. package/dist/render/keyframes-css.d.ts +32 -0
  444. package/dist/render/keyframes-css.d.ts.map +1 -0
  445. package/dist/render/keyframes-css.js +44 -0
  446. package/dist/render/keyframes-css.js.map +1 -0
  447. package/dist/render/query-state.d.ts +4 -0
  448. package/dist/render/query-state.d.ts.map +1 -0
  449. package/dist/render/query-state.js +70 -0
  450. package/dist/render/query-state.js.map +1 -0
  451. package/dist/render/renderer.d.ts +45 -0
  452. package/dist/render/renderer.d.ts.map +1 -0
  453. package/dist/render/renderer.js +937 -0
  454. package/dist/render/renderer.js.map +1 -0
  455. package/dist/render/resolve-expressions.d.ts +38 -0
  456. package/dist/render/resolve-expressions.d.ts.map +1 -0
  457. package/dist/render/resolve-expressions.js +309 -0
  458. package/dist/render/resolve-expressions.js.map +1 -0
  459. package/dist/render/responsive-style-css.d.ts +43 -0
  460. package/dist/render/responsive-style-css.d.ts.map +1 -0
  461. package/dist/render/responsive-style-css.js +123 -0
  462. package/dist/render/responsive-style-css.js.map +1 -0
  463. package/dist/render/responsive.d.ts +50 -0
  464. package/dist/render/responsive.d.ts.map +1 -0
  465. package/dist/render/responsive.js +99 -0
  466. package/dist/render/responsive.js.map +1 -0
  467. package/dist/render/scoped-css.d.ts +72 -0
  468. package/dist/render/scoped-css.d.ts.map +1 -0
  469. package/dist/render/scoped-css.js +102 -0
  470. package/dist/render/scoped-css.js.map +1 -0
  471. package/dist/render/shell-selection.d.ts +70 -0
  472. package/dist/render/shell-selection.d.ts.map +1 -0
  473. package/dist/render/shell-selection.js +117 -0
  474. package/dist/render/shell-selection.js.map +1 -0
  475. package/dist/render/states-css.d.ts +33 -0
  476. package/dist/render/states-css.d.ts.map +1 -0
  477. package/dist/render/states-css.js +63 -0
  478. package/dist/render/states-css.js.map +1 -0
  479. package/dist/render/surface-data-context.d.ts +19 -0
  480. package/dist/render/surface-data-context.d.ts.map +1 -0
  481. package/dist/render/surface-data-context.js +21 -0
  482. package/dist/render/surface-data-context.js.map +1 -0
  483. package/dist/render/surface-event-bus.d.ts +20 -0
  484. package/dist/render/surface-event-bus.d.ts.map +1 -0
  485. package/dist/render/surface-event-bus.js +68 -0
  486. package/dist/render/surface-event-bus.js.map +1 -0
  487. package/dist/render/surface-event-context.d.ts +12 -0
  488. package/dist/render/surface-event-context.d.ts.map +1 -0
  489. package/dist/render/surface-event-context.js +12 -0
  490. package/dist/render/surface-event-context.js.map +1 -0
  491. package/dist/render/surface-id-context.d.ts +9 -0
  492. package/dist/render/surface-id-context.d.ts.map +1 -0
  493. package/dist/render/surface-id-context.js +9 -0
  494. package/dist/render/surface-id-context.js.map +1 -0
  495. package/dist/render/theme-utils.d.ts +15 -0
  496. package/dist/render/theme-utils.d.ts.map +1 -0
  497. package/dist/render/theme-utils.js +15 -0
  498. package/dist/render/theme-utils.js.map +1 -0
  499. package/dist/render/types.d.ts +283 -0
  500. package/dist/render/types.d.ts.map +1 -0
  501. package/dist/render/types.js +9 -0
  502. package/dist/render/types.js.map +1 -0
  503. package/dist/render/visibility-css.d.ts +43 -0
  504. package/dist/render/visibility-css.d.ts.map +1 -0
  505. package/dist/render/visibility-css.js +119 -0
  506. package/dist/render/visibility-css.js.map +1 -0
  507. package/dist/render/width-scope.d.ts +35 -0
  508. package/dist/render/width-scope.d.ts.map +1 -0
  509. package/dist/render/width-scope.js +44 -0
  510. package/dist/render/width-scope.js.map +1 -0
  511. package/dist/render/write-only-sources.d.ts +34 -0
  512. package/dist/render/write-only-sources.d.ts.map +1 -0
  513. package/dist/render/write-only-sources.js +99 -0
  514. package/dist/render/write-only-sources.js.map +1 -0
  515. package/dist/routing/index.d.ts +15 -0
  516. package/dist/routing/index.d.ts.map +1 -0
  517. package/dist/routing/index.js +15 -0
  518. package/dist/routing/index.js.map +1 -0
  519. package/dist/routing/router.d.ts +43 -0
  520. package/dist/routing/router.d.ts.map +1 -0
  521. package/dist/routing/router.js +218 -0
  522. package/dist/routing/router.js.map +1 -0
  523. package/dist/routing/types.d.ts +125 -0
  524. package/dist/routing/types.d.ts.map +1 -0
  525. package/dist/routing/types.js +9 -0
  526. package/dist/routing/types.js.map +1 -0
  527. package/dist/seo/generator.d.ts +40 -0
  528. package/dist/seo/generator.d.ts.map +1 -0
  529. package/dist/seo/generator.js +236 -0
  530. package/dist/seo/generator.js.map +1 -0
  531. package/dist/seo/index.d.ts +15 -0
  532. package/dist/seo/index.d.ts.map +1 -0
  533. package/dist/seo/index.js +15 -0
  534. package/dist/seo/index.js.map +1 -0
  535. package/dist/seo/types.d.ts +182 -0
  536. package/dist/seo/types.d.ts.map +1 -0
  537. package/dist/seo/types.js +9 -0
  538. package/dist/seo/types.js.map +1 -0
  539. package/dist/state/index.d.ts +16 -0
  540. package/dist/state/index.d.ts.map +1 -0
  541. package/dist/state/index.js +16 -0
  542. package/dist/state/index.js.map +1 -0
  543. package/dist/state/manager.d.ts +34 -0
  544. package/dist/state/manager.d.ts.map +1 -0
  545. package/dist/state/manager.js +81 -0
  546. package/dist/state/manager.js.map +1 -0
  547. package/dist/state/store.d.ts +41 -0
  548. package/dist/state/store.d.ts.map +1 -0
  549. package/dist/state/store.js +145 -0
  550. package/dist/state/store.js.map +1 -0
  551. package/dist/state/types.d.ts +108 -0
  552. package/dist/state/types.d.ts.map +1 -0
  553. package/dist/state/types.js +9 -0
  554. package/dist/state/types.js.map +1 -0
  555. package/dist/surface/expression.d.ts +66 -0
  556. package/dist/surface/expression.d.ts.map +1 -0
  557. package/dist/surface/expression.js +179 -0
  558. package/dist/surface/expression.js.map +1 -0
  559. package/dist/surface/index.d.ts +33 -0
  560. package/dist/surface/index.d.ts.map +1 -0
  561. package/dist/surface/index.js +25 -0
  562. package/dist/surface/index.js.map +1 -0
  563. package/dist/surface/interpreter.d.ts +97 -0
  564. package/dist/surface/interpreter.d.ts.map +1 -0
  565. package/dist/surface/interpreter.js +231 -0
  566. package/dist/surface/interpreter.js.map +1 -0
  567. package/dist/surface/layout.d.ts +55 -0
  568. package/dist/surface/layout.d.ts.map +1 -0
  569. package/dist/surface/layout.js +288 -0
  570. package/dist/surface/layout.js.map +1 -0
  571. package/dist/surface/output.d.ts +91 -0
  572. package/dist/surface/output.d.ts.map +1 -0
  573. package/dist/surface/output.js +104 -0
  574. package/dist/surface/output.js.map +1 -0
  575. package/dist/surface/primitives.d.ts +181 -0
  576. package/dist/surface/primitives.d.ts.map +1 -0
  577. package/dist/surface/primitives.js +339 -0
  578. package/dist/surface/primitives.js.map +1 -0
  579. package/dist/surface/renderer.d.ts +97 -0
  580. package/dist/surface/renderer.d.ts.map +1 -0
  581. package/dist/surface/renderer.js +190 -0
  582. package/dist/surface/renderer.js.map +1 -0
  583. package/dist/surface/schemas.d.ts +182 -0
  584. package/dist/surface/schemas.d.ts.map +1 -0
  585. package/dist/surface/schemas.js +142 -0
  586. package/dist/surface/schemas.js.map +1 -0
  587. package/dist/surface/transforms.d.ts +145 -0
  588. package/dist/surface/transforms.d.ts.map +1 -0
  589. package/dist/surface/transforms.js +120 -0
  590. package/dist/surface/transforms.js.map +1 -0
  591. package/dist/surface/types.d.ts +161 -0
  592. package/dist/surface/types.d.ts.map +1 -0
  593. package/dist/surface/types.js +51 -0
  594. package/dist/surface/types.js.map +1 -0
  595. package/dist/surface/validation.d.ts +124 -0
  596. package/dist/surface/validation.d.ts.map +1 -0
  597. package/dist/surface/validation.js +147 -0
  598. package/dist/surface/validation.js.map +1 -0
  599. package/dist/validator.d.ts +56 -0
  600. package/dist/validator.d.ts.map +1 -0
  601. package/dist/validator.js +100 -0
  602. package/dist/validator.js.map +1 -0
  603. package/package.json +105 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderer.js","sourceRoot":"","sources":["../../src/render/renderer.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Expression Resolution for Block Props
3
+ *
4
+ * Resolves {{expression}} placeholders in block prop values.
5
+ * Uses the existing expression engine (evaluate/interpolate) from surface/expression.
6
+ *
7
+ * Key behavior:
8
+ * - Whole-value: "{{items}}" returns raw value (array, object, etc.)
9
+ * - String interpolation: "Total: {{count}}" returns interpolated string
10
+ * - Recursively walks block tree and nested objects/arrays in props
11
+ *
12
+ * @module @pwfabric/runtime/render/resolve-expressions
13
+ */
14
+ import type { Block } from '@pwfabric/core';
15
+ import type { ExpressionContext } from '../surface/expression.js';
16
+ /**
17
+ * Resolve a single string value.
18
+ *
19
+ * - If the string is exactly "{{expr}}", evaluate and return the raw value (preserving type).
20
+ * - If the string contains embedded "{{expr}}", interpolate and return a string.
21
+ * - Otherwise return as-is.
22
+ */
23
+ export declare function resolveString(value: string, context: ExpressionContext): unknown;
24
+ /**
25
+ * Resolve all {{expression}} placeholders in a block tree.
26
+ *
27
+ * Creates a deep copy of the blocks with all string prop values
28
+ * containing expressions resolved against the provided data context.
29
+ *
30
+ * @param blocks - Block array to resolve
31
+ * @param data - Data context (keyed by source ID, plus 'state')
32
+ * @param helpers - Optional additional helper functions
33
+ * @returns New block array with resolved prop values
34
+ */
35
+ export declare function resolveBlockExpressions(blocks: readonly Block[], data: Record<string, unknown>, helpers?: Record<string, (...args: unknown[]) => unknown>): Block[];
36
+ /** True when this resolved block expanded a `repeat` — its children are clones. */
37
+ export declare function isRepeatExpanded(block: Block | undefined): boolean;
38
+ //# sourceMappingURL=resolve-expressions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-expressions.d.ts","sourceRoot":"","sources":["../../src/render/resolve-expressions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAG3C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAuBjE;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAyBhF;AAoCD;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,SAAS,KAAK,EAAE,EACxB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,GACxD,KAAK,EAAE,CAKT;AAsMD,mFAAmF;AACnF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,GAAG,OAAO,CAElE"}
@@ -0,0 +1,309 @@
1
+ /**
2
+ * Expression Resolution for Block Props
3
+ *
4
+ * Resolves {{expression}} placeholders in block prop values.
5
+ * Uses the existing expression engine (evaluate/interpolate) from surface/expression.
6
+ *
7
+ * Key behavior:
8
+ * - Whole-value: "{{items}}" returns raw value (array, object, etc.)
9
+ * - String interpolation: "Total: {{count}}" returns interpolated string
10
+ * - Recursively walks block tree and nested objects/arrays in props
11
+ *
12
+ * @module @pwfabric/runtime/render/resolve-expressions
13
+ */
14
+ import { BREAKPOINT_ORDER } from '@pwfabric/core';
15
+ import { evaluate, interpolate, createExpressionContext } from '../surface/expression.js';
16
+ // ============================================================
17
+ // WHOLE-VALUE PATTERN
18
+ // ============================================================
19
+ /**
20
+ * Matches a string that is exactly one expression placeholder with no surrounding text.
21
+ * e.g. "{{products}}" or "{{ state.x === 'a' ? 'primary' : 'outline' }}"
22
+ * The inner capture uses a negative lookahead to prevent matching across }} boundaries,
23
+ * so "{{a}} · {{b}}" is NOT treated as a whole-value expression.
24
+ */
25
+ const WHOLE_VALUE_PATTERN = /^\{\{((?:(?!\}\}).)+)\}\}$/s;
26
+ /**
27
+ * Matches strings that contain at least one expression placeholder.
28
+ */
29
+ const HAS_EXPRESSION_PATTERN = /\{\{.+?\}\}/;
30
+ // ============================================================
31
+ // STRING RESOLUTION
32
+ // ============================================================
33
+ /**
34
+ * Resolve a single string value.
35
+ *
36
+ * - If the string is exactly "{{expr}}", evaluate and return the raw value (preserving type).
37
+ * - If the string contains embedded "{{expr}}", interpolate and return a string.
38
+ * - Otherwise return as-is.
39
+ */
40
+ export function resolveString(value, context) {
41
+ // Check for whole-value expression first
42
+ const wholeMatch = WHOLE_VALUE_PATTERN.exec(value);
43
+ if (wholeMatch) {
44
+ const expr = (wholeMatch[1] ?? '').trim();
45
+ const result = evaluate(expr, context);
46
+ if (result.success) {
47
+ return result.value;
48
+ }
49
+ // On failure, return original string as fallback
50
+ return value;
51
+ }
52
+ // Check for embedded expressions
53
+ if (HAS_EXPRESSION_PATTERN.test(value)) {
54
+ const result = interpolate(value, context);
55
+ if (result.success) {
56
+ return result.value;
57
+ }
58
+ // On failure, return original string as fallback
59
+ return value;
60
+ }
61
+ // No expressions, return as-is
62
+ return value;
63
+ }
64
+ // ============================================================
65
+ // PROP VALUE RESOLUTION
66
+ // ============================================================
67
+ /**
68
+ * Recursively resolve expressions in a prop value.
69
+ * - Strings are checked for expressions
70
+ * - Arrays and plain objects are traversed
71
+ * - Other types pass through unchanged
72
+ */
73
+ function resolveValue(value, context) {
74
+ if (typeof value === 'string') {
75
+ return resolveString(value, context);
76
+ }
77
+ if (Array.isArray(value)) {
78
+ return value.map((item) => resolveValue(item, context));
79
+ }
80
+ if (value !== null && typeof value === 'object') {
81
+ const resolved = {};
82
+ for (const [key, val] of Object.entries(value)) {
83
+ resolved[key] = resolveValue(val, context);
84
+ }
85
+ return resolved;
86
+ }
87
+ return value;
88
+ }
89
+ // ============================================================
90
+ // BLOCK EXPRESSION RESOLUTION
91
+ // ============================================================
92
+ /**
93
+ * Resolve all {{expression}} placeholders in a block tree.
94
+ *
95
+ * Creates a deep copy of the blocks with all string prop values
96
+ * containing expressions resolved against the provided data context.
97
+ *
98
+ * @param blocks - Block array to resolve
99
+ * @param data - Data context (keyed by source ID, plus 'state')
100
+ * @param helpers - Optional additional helper functions
101
+ * @returns New block array with resolved prop values
102
+ */
103
+ export function resolveBlockExpressions(blocks, data, helpers) {
104
+ const context = createExpressionContext(data, helpers);
105
+ return blocks
106
+ .map((block) => resolveBlock(block, context, false))
107
+ .filter((b) => b !== null);
108
+ }
109
+ /**
110
+ * A block may carry a conditional-visibility expression — `visibleWhen` (or the
111
+ * shorthand `if`) — a template string evaluated against surface state/data. When
112
+ * it resolves falsy the block (and its subtree) is omitted from the render
113
+ * entirely. This drives state-driven UI in the blocks-array receipt path:
114
+ * form↔success toggles, wizard steps, "show X only when {{state.y}}". The
115
+ * companion is a `setState` action (e.g. a form's onSubmitAction) flipping state.
116
+ *
117
+ * Falsy = empty string, 'false', 'undefined', 'null', '0', NaN or a falsy primitive.
118
+ */
119
+ function isFalsyCondition(value) {
120
+ if (value == null || value === false)
121
+ return true;
122
+ if (typeof value === 'string') {
123
+ const t = value.trim().toLowerCase();
124
+ return t === '' || t === 'false' || t === 'undefined' || t === 'null' || t === '0';
125
+ }
126
+ if (typeof value === 'number')
127
+ return value === 0 || Number.isNaN(value);
128
+ return false;
129
+ }
130
+ /**
131
+ * Evaluate a `visibleWhen` / `if` condition. Unlike a prop, a condition that
132
+ * cannot be evaluated has NO fallback value: a prop keeps its raw template so
133
+ * the author can see it, but a raw template in a condition is a non-empty
134
+ * string — truthy — and the block would show forever (a "no results" empty
135
+ * state beside the results). FAIL CLOSED: not evaluable means hidden.
136
+ */
137
+ function evaluateCondition(condition, context) {
138
+ const whole = WHOLE_VALUE_PATTERN.exec(condition);
139
+ if (whole) {
140
+ const r = evaluate((whole[1] ?? '').trim(), context);
141
+ return r.success ? { ok: true, value: r.value } : { ok: false, error: r.error };
142
+ }
143
+ if (HAS_EXPRESSION_PATTERN.test(condition)) {
144
+ const r = interpolate(condition, context);
145
+ return r.success ? { ok: true, value: r.value } : { ok: false, error: r.error };
146
+ }
147
+ return { ok: true, value: condition };
148
+ }
149
+ /** One warning per block + condition, not one per render. */
150
+ const warnedConditions = new Set();
151
+ function warnUnevaluable(blockId, condition, error) {
152
+ const nodeEnv = typeof process !== 'undefined' ? process.env?.['NODE_ENV'] : undefined;
153
+ if (nodeEnv === 'production')
154
+ return;
155
+ const key = `${blockId}|${condition}`;
156
+ if (warnedConditions.has(key))
157
+ return;
158
+ if (warnedConditions.size > 500)
159
+ warnedConditions.clear();
160
+ warnedConditions.add(key);
161
+ console.warn(`[surface] block "${blockId}": visibleWhen ${JSON.stringify(condition)} could not be evaluated, so the block is HIDDEN. ${error}`);
162
+ }
163
+ /** The block that gathers its descendants' fields into one submission. */
164
+ function isFormBlock(block) {
165
+ const type = String(block.type ?? '');
166
+ return type === 'form' || type.endsWith('/form');
167
+ }
168
+ /** `layout.hidden` is responsive; every breakpoint, so no authored one wins. */
169
+ const HIDDEN_AT_EVERY_BREAKPOINT = Object.freeze(Object.fromEntries(BREAKPOINT_ORDER.map((bp) => [bp, true])));
170
+ /**
171
+ * Hidden but still mounted: the wrapper gets `display: none` through the
172
+ * block's own layout (`layout.hidden`, the same switch the responsive layout
173
+ * uses), so the renderer keeps the subtree — and its inputs — in the DOM.
174
+ */
175
+ function hideInPlace(block) {
176
+ const layout = block.layout;
177
+ return { ...block, layout: { ...(layout ?? {}), hidden: HIDDEN_AT_EVERY_BREAKPOINT } };
178
+ }
179
+ /**
180
+ * Resolve expressions in a single block and its children recursively.
181
+ * Returns null when the block's `visibleWhen`/`if` condition resolves falsy
182
+ * (or cannot be evaluated — see evaluateCondition).
183
+ *
184
+ * A reserved surface-state key `__show:<blockId>` (written by `showBlock`/
185
+ * `hideBlock` actions) acts as a visibility OVERRIDE that is checked BEFORE
186
+ * the `visibleWhen`/`if` template evaluation:
187
+ * - `true` → block is forced VISIBLE (visibleWhen/if skipped)
188
+ * - `false` → block is forced HIDDEN
189
+ * - absent → fall through to the visibleWhen/if logic
190
+ *
191
+ * The key is read directly from the context data (not via the template
192
+ * evaluator) because the colon in `__show:<id>` breaks the path grammar.
193
+ *
194
+ * INSIDE A FORM, HIDDEN MEANS HIDDEN — NOT UNMOUNTED. A wizard is
195
+ * one `form` whose steps are sections gated by `visibleWhen: {{state.step == N}}`.
196
+ * The form block gathers its values from the DOM (`new FormData(form)`), so an
197
+ * unmounted step contributed nothing: the RSVP wizard submitted an empty
198
+ * record, and going "back" remounted step 1 with empty inputs. A block under a
199
+ * form is therefore kept in the tree with `layout.hidden` (display:none) — its
200
+ * inputs keep their values and stay part of the submission. The form itself,
201
+ * and everything outside forms, still unmounts as before.
202
+ */
203
+ function resolveBlock(block, context, insideForm) {
204
+ const stateMap = context.data['state'];
205
+ const override = stateMap?.[`__show:${block.id}`];
206
+ let hidden = override === false;
207
+ if (override !== true && override !== false) {
208
+ const condition = block.visibleWhen
209
+ ?? block.if;
210
+ if (typeof condition === 'string' && condition.trim()) {
211
+ const r = evaluateCondition(condition, context);
212
+ if (!r.ok) {
213
+ warnUnevaluable(block.id, condition, r.error);
214
+ hidden = true;
215
+ }
216
+ else if (isFalsyCondition(r.value)) {
217
+ hidden = true;
218
+ }
219
+ }
220
+ }
221
+ if (hidden && !insideForm)
222
+ return null;
223
+ const resolved = resolveVisibleBlock(block, context, insideForm || isFormBlock(block));
224
+ return hidden ? hideInPlace(resolved) : resolved;
225
+ }
226
+ function resolveVisibleBlock(block, context, insideForm) {
227
+ const resolvedProps = block.props
228
+ ? resolveValue(block.props, context)
229
+ : block.props;
230
+ // Item-template expansion (repeat + {{item.*}} scope): a block carrying a
231
+ // block-level `repeat` expression treats its authored children as a PER-ITEM
232
+ // TEMPLATE. The binding resolves to an array; for each element the template
233
+ // subtree is cloned and re-resolved with `item` and `index` added to the
234
+ // expression context — so `{{item.Title}}` / `{{index}}` resolve per row.
235
+ // Cloned block ids get a `--<index>` suffix (unique React keys /
236
+ // data-block-id). Without `repeat` nothing changes (children resolve
237
+ // normally, byte-identical to the previous behavior); a non-array binding
238
+ // (source still loading) expands to zero children rather than leaking the
239
+ // raw template. First consumer: the repeater block family — but the
240
+ // contract is deliberately block-agnostic (a plain container can repeat).
241
+ const repeatExpr = block.repeat;
242
+ if (typeof repeatExpr === 'string' && repeatExpr.trim() && block.children?.length) {
243
+ const resolved = resolveValue(repeatExpr, context);
244
+ const items = Array.isArray(resolved) ? resolved : [];
245
+ const template = block.children;
246
+ const expanded = [];
247
+ for (let index = 0; index < items.length; index++) {
248
+ const itemContext = {
249
+ ...context,
250
+ data: { ...context.data, item: items[index], index },
251
+ };
252
+ for (const child of template) {
253
+ const clone = resolveBlock(suffixIds(child, index), itemContext, insideForm);
254
+ if (clone)
255
+ expanded.push(clone);
256
+ }
257
+ }
258
+ const { repeat: _repeat, ...rest } = block;
259
+ return markRepeatExpanded({ ...rest, props: resolvedProps, children: expanded });
260
+ }
261
+ if (block.children) {
262
+ return {
263
+ ...block,
264
+ props: resolvedProps,
265
+ children: block.children
266
+ .map((child) => resolveBlock(child, context, insideForm))
267
+ .filter((b) => b !== null),
268
+ };
269
+ }
270
+ return {
271
+ ...block,
272
+ props: resolvedProps,
273
+ };
274
+ }
275
+ /**
276
+ * THE BLOCK THAT EXPANDED A REPEAT OWNS ITS CLONES' LAYOUT.
277
+ *
278
+ * `repeat` is stripped from the resolved block, so the renderer could no
279
+ * longer tell a repeater from any other parent: every clone got the surface
280
+ * default `gridColumn: span 12`, and inside the repeater's own grid
281
+ * (`repeat(auto-fit, minmax(…))`) a 12-column span put each item on a row of
282
+ * its own — every repeater wall rendered as one column. The mark survives
283
+ * object spread (an own enumerable symbol key) and never reaches JSON, so the
284
+ * surface document is unchanged; the renderer reads it through
285
+ * `isRepeatExpanded` and leaves the clones to the parent's own grid.
286
+ */
287
+ const REPEAT_EXPANDED = Symbol.for('pwfabric.repeatExpanded');
288
+ function markRepeatExpanded(block) {
289
+ return { ...block, [REPEAT_EXPANDED]: true };
290
+ }
291
+ /** True when this resolved block expanded a `repeat` — its children are clones. */
292
+ export function isRepeatExpanded(block) {
293
+ return block?.[REPEAT_EXPANDED] === true;
294
+ }
295
+ /**
296
+ * Deep-clone a template subtree, suffixing every block id with `--<index>` so
297
+ * expanded clones stay unique across rows (React keys, data-block-id lookups,
298
+ * label htmlFor targets).
299
+ */
300
+ function suffixIds(block, index) {
301
+ return {
302
+ ...block,
303
+ id: `${block.id}--${index}`,
304
+ ...(block.children
305
+ ? { children: block.children.map((c) => suffixIds(c, index)) }
306
+ : {}),
307
+ };
308
+ }
309
+ //# sourceMappingURL=resolve-expressions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-expressions.js","sourceRoot":"","sources":["../../src/render/resolve-expressions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Per-prop responsive style CSS generation (block.style values vary by breakpoint).
3
+ *
4
+ * `block.style` sits inline and can express a single value per property; it
5
+ * cannot express media queries. A style prop whose value is a
6
+ * `ResponsiveValue<string>` map (`{ xs?, sm?, md?, lg?, xl?, '2xl'? }`) instead
7
+ * of a flat string declares a value that varies per breakpoint. The renderer
8
+ * flattens the base (`xs` / smallest defined) value inline so SSR / no-JS get a
9
+ * sane default; this collector emits the LARGER-breakpoint values as scoped,
10
+ * mobile-first `min-width` media-query rules — keyed by the block's
11
+ * `data-block-id` — that override upward. Same mechanism `layout.hideOn`/
12
+ * `showOn` (visibility-css) and `block.states` (states-css) use.
13
+ *
14
+ * For a block with `style.padding = { xs:'8px', md:'24px', lg:'48px' }`:
15
+ *
16
+ * `@media (min-width:768px){[data-pw-surface] [data-block-id="<id>"]{padding:24px}}`
17
+ * `@media (min-width:1024px){[data-pw-surface] [data-block-id="<id>"]{padding:48px}}`
18
+ *
19
+ * The `xs` (base) value is NOT emitted here — it is rendered inline by the
20
+ * renderer. Flat string values emit zero bytes (the inline path owns them).
21
+ * Blocks without any responsive style value emit zero bytes so existing
22
+ * surfaces are byte-identical.
23
+ *
24
+ * @module @pwfabric/runtime/render/responsive-style-css
25
+ */
26
+ import type { Block } from '@pwfabric/core';
27
+ /**
28
+ * Emit the scoped per-breakpoint media-query CSS for a single block's
29
+ * responsive style props. Targets `[data-block-id="<id>"]` scoped under the
30
+ * surface root so it cannot leak to the host page. Only breakpoints LARGER than
31
+ * `xs` are emitted (the `xs`/base value is inline); each emitted breakpoint key
32
+ * becomes a `@media (min-width:<px>)` rule. Returns '' when the block declares
33
+ * no responsive style value.
34
+ */
35
+ export declare function blockResponsiveStyleCss(blockId: string, style: NonNullable<Block['style']>, surfaceId?: string): string;
36
+ /**
37
+ * Walk a surface block tree and concatenate the per-block responsive style CSS
38
+ * for every block declaring a `ResponsiveValue` style prop. Blocks with only
39
+ * flat string style values (or no style) are skipped (zero bytes emitted) so
40
+ * existing surfaces are byte-identical.
41
+ */
42
+ export declare function collectResponsiveStyleCss(blocks: readonly Block[], surfaceId?: string): string;
43
+ //# sourceMappingURL=responsive-style-css.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"responsive-style-css.d.ts","sourceRoot":"","sources":["../../src/render/responsive-style-css.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAkB3C;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAClC,SAAS,CAAC,EAAE,MAAM,GACjB,MAAM,CAkER;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,KAAK,EAAE,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAI9F"}
@@ -0,0 +1,123 @@
1
+ /**
2
+ * Per-prop responsive style CSS generation (block.style values vary by breakpoint).
3
+ *
4
+ * `block.style` sits inline and can express a single value per property; it
5
+ * cannot express media queries. A style prop whose value is a
6
+ * `ResponsiveValue<string>` map (`{ xs?, sm?, md?, lg?, xl?, '2xl'? }`) instead
7
+ * of a flat string declares a value that varies per breakpoint. The renderer
8
+ * flattens the base (`xs` / smallest defined) value inline so SSR / no-JS get a
9
+ * sane default; this collector emits the LARGER-breakpoint values as scoped,
10
+ * mobile-first `min-width` media-query rules — keyed by the block's
11
+ * `data-block-id` — that override upward. Same mechanism `layout.hideOn`/
12
+ * `showOn` (visibility-css) and `block.states` (states-css) use.
13
+ *
14
+ * For a block with `style.padding = { xs:'8px', md:'24px', lg:'48px' }`:
15
+ *
16
+ * `@media (min-width:768px){[data-pw-surface] [data-block-id="<id>"]{padding:24px}}`
17
+ * `@media (min-width:1024px){[data-pw-surface] [data-block-id="<id>"]{padding:48px}}`
18
+ *
19
+ * The `xs` (base) value is NOT emitted here — it is rendered inline by the
20
+ * renderer. Flat string values emit zero bytes (the inline path owns them).
21
+ * Blocks without any responsive style value emit zero bytes so existing
22
+ * surfaces are byte-identical.
23
+ *
24
+ * @module @pwfabric/runtime/render/responsive-style-css
25
+ */
26
+ import { BREAKPOINTS, BREAKPOINT_ORDER } from '@pwfabric/core';
27
+ import { blockSelector, camelToKebab, collectScopedCss, LAYOUT_HOIST_KEYS, WRAPPER_ATTR } from './scoped-css.js';
28
+ /** Breakpoint name → `minWidth` px (same thresholds the span/visibility systems use). */
29
+ function minWidthFor(bp) {
30
+ return BREAKPOINTS.find((b) => b.name === bp)?.minWidth ?? 0;
31
+ }
32
+ /** A style prop value is responsive when it is a non-null object (not a flat string). */
33
+ function isResponsiveValue(value) {
34
+ return typeof value === 'object' && value !== null;
35
+ }
36
+ /**
37
+ * Emit the scoped per-breakpoint media-query CSS for a single block's
38
+ * responsive style props. Targets `[data-block-id="<id>"]` scoped under the
39
+ * surface root so it cannot leak to the host page. Only breakpoints LARGER than
40
+ * `xs` are emitted (the `xs`/base value is inline); each emitted breakpoint key
41
+ * becomes a `@media (min-width:<px>)` rule. Returns '' when the block declares
42
+ * no responsive style value.
43
+ */
44
+ export function blockResponsiveStyleCss(blockId, style, surfaceId) {
45
+ const selector = blockSelector(blockId, surfaceId);
46
+ // Group declarations by breakpoint so one prop's md value and another prop's
47
+ // md value share a single `@media` rule (mirrors how a mobile-first stylesheet
48
+ // would be authored). The base (smallest defined breakpoint per prop) is a
49
+ // NON-media rule so ALL breakpoints live in the stylesheet — never inline.
50
+ // (Inline always beats stylesheet rules incl. @media, so a flattened-inline
51
+ // base would pin the value and the larger @media overrides would never apply.)
52
+ // THE HOISTING RULE APPLIES ON THE SELECTOR SIDE TOO.
53
+ //
54
+ // `[data-block-id]` matches BOTH the wrapper AND the component root. For flat
55
+ // values the renderer hoists margin/maxWidth/flex to the wrapper and removes
56
+ // them from the root; for responsive values the value leaves the inline style
57
+ // and lands here, so without the same split here the rule would apply TWICE
58
+ // (`marginTop:'-40%'` → both -335px and -256px).
59
+ //
60
+ // Hence two sets: hoisted keys go ONLY to the wrapper, the rest ONLY to the
61
+ // component root.
62
+ const HOIST = new Set(LAYOUT_HOIST_KEYS);
63
+ const baseDecls = [];
64
+ const byBreakpoint = new Map();
65
+ const baseHoist = [];
66
+ const byBreakpointHoist = new Map();
67
+ for (const [prop, value] of Object.entries(style)) {
68
+ if (!isResponsiveValue(value))
69
+ continue; // flat string → inline path owns it
70
+ let baseTaken = false;
71
+ // BREAKPOINT_ORDER is mobile-first ascending → first defined key is the base.
72
+ for (const bp of BREAKPOINT_ORDER) {
73
+ const v = value[bp];
74
+ if (v === undefined)
75
+ continue;
76
+ // `!important`: a block COMPONENT often applies the same CSS property
77
+ // inline with its own default (e.g. the text block sets
78
+ // `font-size: var(--pw-font-size-base)`). Inline beats any stylesheet rule,
79
+ // so without `!important` the author's responsive value would be pinned to
80
+ // the component default. Scoped to `[data-block-id]`, this only overrides
81
+ // the one block's own responsive props. Base + larger are both `!important`
82
+ // at equal specificity → source order (larger emitted later) wins on match.
83
+ const hoisted = HOIST.has(prop);
84
+ const bag = hoisted ? baseHoist : baseDecls;
85
+ const map = hoisted ? byBreakpointHoist : byBreakpoint;
86
+ if (!baseTaken) {
87
+ bag.push(`${camelToKebab(prop)}:${v} !important`);
88
+ baseTaken = true;
89
+ }
90
+ else {
91
+ const decls = map.get(bp) ?? [];
92
+ decls.push(`${camelToKebab(prop)}:${v} !important`);
93
+ map.set(bp, decls);
94
+ }
95
+ }
96
+ }
97
+ let css = '';
98
+ // Base (non-media) first, then ascending breakpoint order so larger
99
+ // breakpoints (later in source) win the cascade at equal specificity.
100
+ const emit = (sel, base, map) => {
101
+ if (base.length > 0)
102
+ css += `${sel}{${base.join(';')}}`;
103
+ for (const bp of BREAKPOINT_ORDER) {
104
+ const decls = map.get(bp);
105
+ if (!decls || decls.length === 0)
106
+ continue;
107
+ css += `@media (min-width:${minWidthFor(bp)}px){${sel}{${decls.join(';')}}}`;
108
+ }
109
+ };
110
+ emit(`${selector}:not(${WRAPPER_ATTR})`, baseDecls, byBreakpoint);
111
+ emit(`${selector}${WRAPPER_ATTR}`, baseHoist, byBreakpointHoist);
112
+ return css;
113
+ }
114
+ /**
115
+ * Walk a surface block tree and concatenate the per-block responsive style CSS
116
+ * for every block declaring a `ResponsiveValue` style prop. Blocks with only
117
+ * flat string style values (or no style) are skipped (zero bytes emitted) so
118
+ * existing surfaces are byte-identical.
119
+ */
120
+ export function collectResponsiveStyleCss(blocks, surfaceId) {
121
+ return collectScopedCss(blocks, (block) => block.style ? blockResponsiveStyleCss(block.id, block.style, surfaceId) : '');
122
+ }
123
+ //# sourceMappingURL=responsive-style-css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"responsive-style-css.js","sourceRoot":"","sources":["../../src/render/responsive-style-css.ts"],"names":[],"mappings":"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"}