@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,42 @@
1
+ function findBlock(blocks, id) {
2
+ for (const block of blocks ?? []) {
3
+ if (block.id === id)
4
+ return block;
5
+ const inner = findBlock(block.children, id);
6
+ if (inner)
7
+ return inner;
8
+ }
9
+ return undefined;
10
+ }
11
+ function collect(blocks, state, into, seen) {
12
+ for (const block of blocks ?? []) {
13
+ const props = (block.props ?? {});
14
+ const name = props['name'];
15
+ const stateKey = props['stateKey'];
16
+ if (typeof name === 'string' &&
17
+ name &&
18
+ typeof stateKey === 'string' &&
19
+ stateKey &&
20
+ props['disabled'] !== true &&
21
+ !seen.has(name) &&
22
+ state[stateKey] !== undefined) {
23
+ into[name] = state[stateKey];
24
+ seen.add(name);
25
+ }
26
+ collect(block.children, state, into, seen);
27
+ }
28
+ }
29
+ /**
30
+ * The form's submitted values, completed from page state for named controls
31
+ * FormData missed. Returns `values` itself when there is nothing to add.
32
+ */
33
+ export function completeNamedControlValues(blocks, formId, values, state) {
34
+ const form = findBlock(blocks, formId);
35
+ if (!form)
36
+ return values;
37
+ const seen = new Set(Object.keys(values));
38
+ const added = {};
39
+ collect(form.children, state, added, seen);
40
+ return Object.keys(added).length > 0 ? { ...values, ...added } : values;
41
+ }
42
+ //# sourceMappingURL=named-control-values.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"named-control-values.js","sourceRoot":"","sources":["../../src/forms/named-control-values.ts"],"names":[],"mappings":"AAuBA,SAAS,SAAS,CAAC,MAAoC,EAAE,EAAU;IACjE,KAAK,MAAM,KAAK,IAAI,MAAM,IAAI,EAAE,EAAE,CAAC;QACjC,IAAI,KAAK,CAAC,EAAE,KAAK,EAAE;YAAE,OAAO,KAAK,CAAA;QACjC,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,QAAwC,EAAE,EAAE,CAAC,CAAA;QAC3E,IAAI,KAAK;YAAE,OAAO,KAAK,CAAA;IACzB,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,SAAS,OAAO,CACd,MAAoC,EACpC,KAA8B,EAC9B,IAA6B,EAC7B,IAAiB;IAEjB,KAAK,MAAM,KAAK,IAAI,MAAM,IAAI,EAAE,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAA4B,CAAA;QAC5D,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAA;QAC1B,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAA;QAClC,IACE,OAAO,IAAI,KAAK,QAAQ;YACxB,IAAI;YACJ,OAAO,QAAQ,KAAK,QAAQ;YAC5B,QAAQ;YACR,KAAK,CAAC,UAAU,CAAC,KAAK,IAAI;YAC1B,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;YACf,KAAK,CAAC,QAAQ,CAAC,KAAK,SAAS,EAC7B,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAA;YAC5B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAChB,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,QAAwC,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;IAC5E,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CACxC,MAAwB,EACxB,MAAc,EACd,MAA+B,EAC/B,KAA8B;IAE9B,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACtC,IAAI,CAAC,IAAI;QAAE,OAAO,MAAM,CAAA;IACxB,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IACzC,MAAM,KAAK,GAA4B,EAAE,CAAA;IACzC,OAAO,CAAC,IAAI,CAAC,QAAwC,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;IAC1E,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAA;AACzE,CAAC"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Form Processor
3
+ *
4
+ * Form processing implementation
5
+ *
6
+ * @module @pwfabric/runtime/forms/processor
7
+ */
8
+ import type { ZodType } from 'zod';
9
+ import type { FormProcessor, FormField, FormSubmitHandler, FormResult, FormError, FormValidationResult, FormProcessorConfig } from './types.js';
10
+ /**
11
+ * Default form processor implementation
12
+ */
13
+ export declare class DefaultFormProcessor implements FormProcessor {
14
+ private readonly validator;
15
+ private readonly config;
16
+ constructor(config?: FormProcessorConfig);
17
+ validate(values: Record<string, unknown>, fields: readonly FormField[]): FormValidationResult;
18
+ validateWithSchema<T>(values: Record<string, unknown>, schema: ZodType<T>): FormValidationResult;
19
+ process<T>(_formId: string, values: Record<string, unknown>, handler: FormSubmitHandler<T>): Promise<FormResult<T>>;
20
+ /**
21
+ * Process form with validation
22
+ */
23
+ processWithValidation<T>(formId: string, values: Record<string, unknown>, fields: readonly FormField[], handler: FormSubmitHandler<T>): Promise<FormResult<T>>;
24
+ /**
25
+ * Process form with Zod schema validation
26
+ */
27
+ processWithSchema<T, TOutput>(formId: string, values: Record<string, unknown>, schema: ZodType<TOutput>, handler: FormSubmitHandler<T>): Promise<FormResult<T>>;
28
+ private createFormError;
29
+ }
30
+ /**
31
+ * Create a form processor
32
+ */
33
+ export declare function createFormProcessor(config?: FormProcessorConfig): FormProcessor;
34
+ /**
35
+ * Check if a form result is successful
36
+ */
37
+ export declare function isFormSuccess<T>(result: FormResult<T>): result is {
38
+ success: true;
39
+ data: T;
40
+ };
41
+ /**
42
+ * Check if a form result is a failure
43
+ */
44
+ export declare function isFormFailure<T>(result: FormResult<T>): result is {
45
+ success: false;
46
+ error: FormError;
47
+ };
48
+ /**
49
+ * Format form validation errors into a single message
50
+ */
51
+ export declare function formatFormErrors(errors: Record<string, string[]>): string;
52
+ /**
53
+ * Get all error messages as a flat array
54
+ */
55
+ export declare function getErrorMessages(errors: Record<string, string[]>): string[];
56
+ //# sourceMappingURL=processor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processor.d.ts","sourceRoot":"","sources":["../../src/forms/processor.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,CAAA;AAClC,OAAO,KAAK,EACV,aAAa,EACb,SAAS,EACT,iBAAiB,EACjB,UAAU,EACV,SAAS,EACT,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,YAAY,CAAA;AAOnB;;GAEG;AACH,qBAAa,oBAAqB,YAAW,aAAa;IACxD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAsB;IAChD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+B;gBAE1C,MAAM,GAAE,mBAAwB;IAU5C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,SAAS,EAAE,GAAG,oBAAoB;IAI7F,kBAAkB,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,oBAAoB;IAI1F,OAAO,CAAC,CAAC,EACb,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAC5B,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAezB;;OAEG;IACG,qBAAqB,CAAC,CAAC,EAC3B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,MAAM,EAAE,SAAS,SAAS,EAAE,EAC5B,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAC5B,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAoBzB;;OAEG;IACG,iBAAiB,CAAC,CAAC,EAAE,OAAO,EAChC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,EACxB,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAC5B,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAkBzB,OAAO,CAAC,eAAe;CA4BxB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,CAAC,EAAE,mBAAmB,GAAG,aAAa,CAE/E;AAMD;;GAEG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,CAAC,CAAA;CAAE,CAE5F;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAC7B,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,GACpB,MAAM,IAAI;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,SAAS,CAAA;CAAE,CAEhD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM,CAUzE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM,EAAE,CAQ3E"}
@@ -0,0 +1,154 @@
1
+ /**
2
+ * Form Processor
3
+ *
4
+ * Form processing implementation
5
+ *
6
+ * @module @pwfabric/runtime/forms/processor
7
+ */
8
+ import { DefaultFormValidator, validateWithZod } from './validator.js';
9
+ // ============================================================
10
+ // DEFAULT FORM PROCESSOR
11
+ // ============================================================
12
+ /**
13
+ * Default form processor implementation
14
+ */
15
+ export class DefaultFormProcessor {
16
+ validator;
17
+ config;
18
+ constructor(config = {}) {
19
+ this.validator = new DefaultFormValidator(config.messages);
20
+ this.config = {
21
+ validateOnSubmit: config.validateOnSubmit ?? true,
22
+ validateOnBlur: config.validateOnBlur ?? true,
23
+ validateOnChange: config.validateOnChange ?? false,
24
+ messages: config.messages ?? {},
25
+ };
26
+ }
27
+ validate(values, fields) {
28
+ return this.validator.validateAll(values, fields);
29
+ }
30
+ validateWithSchema(values, schema) {
31
+ return validateWithZod(values, schema);
32
+ }
33
+ async process(_formId, values, handler) {
34
+ try {
35
+ const result = await handler(values);
36
+ return {
37
+ success: true,
38
+ data: result,
39
+ };
40
+ }
41
+ catch (error) {
42
+ return {
43
+ success: false,
44
+ error: this.createFormError(error),
45
+ };
46
+ }
47
+ }
48
+ /**
49
+ * Process form with validation
50
+ */
51
+ async processWithValidation(formId, values, fields, handler) {
52
+ // Validate first if enabled
53
+ if (this.config.validateOnSubmit) {
54
+ const validationResult = this.validate(values, fields);
55
+ if (!validationResult.valid) {
56
+ return {
57
+ success: false,
58
+ error: {
59
+ type: 'validation_failed',
60
+ message: 'Form validation failed',
61
+ validationErrors: validationResult.errors,
62
+ },
63
+ };
64
+ }
65
+ }
66
+ return this.process(formId, values, handler);
67
+ }
68
+ /**
69
+ * Process form with Zod schema validation
70
+ */
71
+ async processWithSchema(formId, values, schema, handler) {
72
+ // Validate with Zod schema
73
+ const validationResult = this.validateWithSchema(values, schema);
74
+ if (!validationResult.valid) {
75
+ return {
76
+ success: false,
77
+ error: {
78
+ type: 'validation_failed',
79
+ message: 'Form validation failed',
80
+ validationErrors: validationResult.errors,
81
+ },
82
+ };
83
+ }
84
+ return this.process(formId, values, handler);
85
+ }
86
+ createFormError(error) {
87
+ if (error instanceof Error) {
88
+ // Check for network errors
89
+ if (error.name === 'NetworkError' ||
90
+ error.message.includes('network') ||
91
+ error.message.includes('fetch')) {
92
+ return {
93
+ type: 'network_error',
94
+ message: 'A network error occurred. Please try again.',
95
+ cause: error,
96
+ };
97
+ }
98
+ return {
99
+ type: 'processing_failed',
100
+ message: error.message,
101
+ cause: error,
102
+ };
103
+ }
104
+ return {
105
+ type: 'unknown',
106
+ message: 'An unexpected error occurred',
107
+ cause: error,
108
+ };
109
+ }
110
+ }
111
+ /**
112
+ * Create a form processor
113
+ */
114
+ export function createFormProcessor(config) {
115
+ return new DefaultFormProcessor(config);
116
+ }
117
+ // ============================================================
118
+ // HELPER FUNCTIONS
119
+ // ============================================================
120
+ /**
121
+ * Check if a form result is successful
122
+ */
123
+ export function isFormSuccess(result) {
124
+ return result.success;
125
+ }
126
+ /**
127
+ * Check if a form result is a failure
128
+ */
129
+ export function isFormFailure(result) {
130
+ return !result.success;
131
+ }
132
+ /**
133
+ * Format form validation errors into a single message
134
+ */
135
+ export function formatFormErrors(errors) {
136
+ const messages = [];
137
+ for (const [field, fieldErrors] of Object.entries(errors)) {
138
+ for (const error of fieldErrors) {
139
+ messages.push(`${field}: ${error}`);
140
+ }
141
+ }
142
+ return messages.join('. ');
143
+ }
144
+ /**
145
+ * Get all error messages as a flat array
146
+ */
147
+ export function getErrorMessages(errors) {
148
+ const messages = [];
149
+ for (const fieldErrors of Object.values(errors)) {
150
+ messages.push(...fieldErrors);
151
+ }
152
+ return messages;
153
+ }
154
+ //# sourceMappingURL=processor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processor.js","sourceRoot":"","sources":["../../src/forms/processor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,175 @@
1
+ /**
2
+ * Form Processing Types
3
+ *
4
+ * Form processing capability for surfaces
5
+ *
6
+ * @module @pwfabric/runtime/forms/types
7
+ */
8
+ import type { ZodType } from 'zod';
9
+ /**
10
+ * Form field input type
11
+ */
12
+ export type FormFieldType = 'text' | 'email' | 'number' | 'select' | 'checkbox' | 'textarea' | 'password' | 'tel' | 'url' | 'date' | 'hidden';
13
+ /**
14
+ * Validation rule type
15
+ */
16
+ export type ValidationRuleType = 'required' | 'minLength' | 'maxLength' | 'min' | 'max' | 'pattern' | 'email' | 'url' | 'custom';
17
+ /**
18
+ * Validation rule definition
19
+ */
20
+ export interface ValidationRule {
21
+ readonly type: ValidationRuleType;
22
+ readonly value?: unknown;
23
+ readonly message: string;
24
+ }
25
+ /**
26
+ * Select option for select fields
27
+ */
28
+ export interface SelectOption {
29
+ readonly value: string | number;
30
+ readonly label: string;
31
+ readonly disabled?: boolean;
32
+ }
33
+ /**
34
+ * Form field definition
35
+ */
36
+ export interface FormField {
37
+ readonly name: string;
38
+ readonly type: FormFieldType;
39
+ readonly label?: string;
40
+ readonly placeholder?: string;
41
+ readonly required?: boolean;
42
+ readonly disabled?: boolean;
43
+ readonly defaultValue?: unknown;
44
+ readonly validation?: readonly ValidationRule[];
45
+ readonly options?: readonly SelectOption[];
46
+ }
47
+ /**
48
+ * Form state tracking
49
+ */
50
+ export interface FormState {
51
+ readonly values: Record<string, unknown>;
52
+ readonly errors: Record<string, string[]>;
53
+ readonly touched: Record<string, boolean>;
54
+ readonly isValid: boolean;
55
+ readonly isSubmitting: boolean;
56
+ readonly isDirty: boolean;
57
+ readonly submitCount: number;
58
+ }
59
+ /**
60
+ * Initial form state
61
+ */
62
+ export declare const INITIAL_FORM_STATE: FormState;
63
+ /**
64
+ * Result of validating form values
65
+ */
66
+ export interface FormValidationResult {
67
+ readonly valid: boolean;
68
+ readonly errors: Record<string, string[]>;
69
+ }
70
+ /**
71
+ * Successful validation result
72
+ */
73
+ export interface FormValidationSuccess extends FormValidationResult {
74
+ readonly valid: true;
75
+ readonly errors: Record<string, never>;
76
+ }
77
+ /**
78
+ * Failed validation result
79
+ */
80
+ export interface FormValidationFailure extends FormValidationResult {
81
+ readonly valid: false;
82
+ readonly errors: Record<string, string[]>;
83
+ }
84
+ /**
85
+ * Result of form processing
86
+ */
87
+ export type FormResult<T = unknown> = {
88
+ readonly success: true;
89
+ readonly data: T;
90
+ } | {
91
+ readonly success: false;
92
+ readonly error: FormError;
93
+ };
94
+ /**
95
+ * Form processing error
96
+ */
97
+ export interface FormError {
98
+ readonly type: 'validation_failed' | 'processing_failed' | 'network_error' | 'unknown';
99
+ readonly message: string;
100
+ readonly validationErrors?: Record<string, string[]>;
101
+ readonly cause?: unknown;
102
+ }
103
+ /**
104
+ * Form submission handler function
105
+ */
106
+ export type FormSubmitHandler<T = unknown> = (values: Record<string, unknown>) => Promise<T> | T;
107
+ /**
108
+ * Form processor interface
109
+ */
110
+ export interface FormProcessor {
111
+ /**
112
+ * Validate form values against field definitions
113
+ */
114
+ validate(values: Record<string, unknown>, fields: readonly FormField[]): FormValidationResult;
115
+ /**
116
+ * Validate form values using a Zod schema
117
+ */
118
+ validateWithSchema<T>(values: Record<string, unknown>, schema: ZodType<T>): FormValidationResult;
119
+ /**
120
+ * Process a form submission
121
+ */
122
+ process<T>(formId: string, values: Record<string, unknown>, handler: FormSubmitHandler<T>): Promise<FormResult<T>>;
123
+ }
124
+ /**
125
+ * Form validator interface
126
+ */
127
+ export interface FormValidator {
128
+ /**
129
+ * Validate a single field value
130
+ */
131
+ validateField(value: unknown, field: FormField): string[];
132
+ /**
133
+ * Validate all fields
134
+ */
135
+ validateAll(values: Record<string, unknown>, fields: readonly FormField[]): FormValidationResult;
136
+ }
137
+ /**
138
+ * Form processor configuration
139
+ */
140
+ export interface FormProcessorConfig {
141
+ /**
142
+ * Whether to validate on submit
143
+ */
144
+ readonly validateOnSubmit?: boolean;
145
+ /**
146
+ * Whether to validate individual fields on blur
147
+ */
148
+ readonly validateOnBlur?: boolean;
149
+ /**
150
+ * Whether to validate individual fields on change
151
+ */
152
+ readonly validateOnChange?: boolean;
153
+ /**
154
+ * Custom error messages
155
+ */
156
+ readonly messages?: Partial<ValidationMessages>;
157
+ }
158
+ /**
159
+ * Default validation error messages
160
+ */
161
+ export interface ValidationMessages {
162
+ readonly required: string;
163
+ readonly email: string;
164
+ readonly url: string;
165
+ readonly minLength: string;
166
+ readonly maxLength: string;
167
+ readonly min: string;
168
+ readonly max: string;
169
+ readonly pattern: string;
170
+ }
171
+ /**
172
+ * Default validation messages
173
+ */
174
+ export declare const DEFAULT_VALIDATION_MESSAGES: ValidationMessages;
175
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/forms/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Form Processing Types
3
+ *
4
+ * Form processing capability for surfaces
5
+ *
6
+ * @module @pwfabric/runtime/forms/types
7
+ */
8
+ /**
9
+ * Initial form state
10
+ */
11
+ export const INITIAL_FORM_STATE = {
12
+ values: {},
13
+ errors: {},
14
+ touched: {},
15
+ isValid: true,
16
+ isSubmitting: false,
17
+ isDirty: false,
18
+ submitCount: 0,
19
+ };
20
+ /**
21
+ * Default validation messages
22
+ */
23
+ export const DEFAULT_VALIDATION_MESSAGES = {
24
+ required: 'This field is required',
25
+ email: 'Please enter a valid email address',
26
+ url: 'Please enter a valid URL',
27
+ minLength: 'Must be at least {value} characters',
28
+ maxLength: 'Must be no more than {value} characters',
29
+ min: 'Must be at least {value}',
30
+ max: 'Must be no more than {value}',
31
+ pattern: 'Invalid format',
32
+ };
33
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/forms/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAwFH;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAc;IAC3C,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,EAAE;IACV,OAAO,EAAE,EAAE;IACX,OAAO,EAAE,IAAI;IACb,YAAY,EAAE,KAAK;IACnB,OAAO,EAAE,KAAK;IACd,WAAW,EAAE,CAAC;CACf,CAAA;AAkJD;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAuB;IAC7D,QAAQ,EAAE,wBAAwB;IAClC,KAAK,EAAE,oCAAoC;IAC3C,GAAG,EAAE,0BAA0B;IAC/B,SAAS,EAAE,qCAAqC;IAChD,SAAS,EAAE,yCAAyC;IACpD,GAAG,EAAE,0BAA0B;IAC/B,GAAG,EAAE,8BAA8B;IACnC,OAAO,EAAE,gBAAgB;CAC1B,CAAA"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Form Validator
3
+ *
4
+ * Form validation implementation
5
+ *
6
+ * @module @pwfabric/runtime/forms/validator
7
+ */
8
+ import { z, type ZodType } from 'zod';
9
+ import type { FormValidator, FormField, FormValidationResult, ValidationMessages } from './types.js';
10
+ /**
11
+ * Default form validator implementation
12
+ */
13
+ export declare class DefaultFormValidator implements FormValidator {
14
+ private readonly messages;
15
+ constructor(customMessages?: Partial<ValidationMessages>);
16
+ validateField(value: unknown, field: FormField): string[];
17
+ validateAll(values: Record<string, unknown>, fields: readonly FormField[]): FormValidationResult;
18
+ private validateRule;
19
+ private isEmpty;
20
+ private validateEmail;
21
+ private validateUrl;
22
+ private validateMinLength;
23
+ private validateMaxLength;
24
+ private validateMin;
25
+ private validateMax;
26
+ private validatePattern;
27
+ private formatMessage;
28
+ }
29
+ /**
30
+ * Validate values using a Zod schema
31
+ */
32
+ export declare function validateWithZod<T>(values: Record<string, unknown>, schema: ZodType<T>): FormValidationResult;
33
+ /**
34
+ * Common Zod schemas for form validation
35
+ */
36
+ export declare const FormSchemas: {
37
+ /**
38
+ * Email validation schema
39
+ */
40
+ email: z.ZodString;
41
+ /**
42
+ * Required string schema
43
+ */
44
+ requiredString: z.ZodString;
45
+ /**
46
+ * URL validation schema
47
+ */
48
+ url: z.ZodString;
49
+ /**
50
+ * Phone number schema (basic)
51
+ */
52
+ phone: z.ZodString;
53
+ /**
54
+ * Password schema (min 8 chars, at least one number and letter)
55
+ */
56
+ password: z.ZodString;
57
+ };
58
+ /**
59
+ * Create a form validator
60
+ */
61
+ export declare function createFormValidator(customMessages?: Partial<ValidationMessages>): FormValidator;
62
+ //# sourceMappingURL=validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/forms/validator.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,KAAK,OAAO,EAAiB,MAAM,KAAK,CAAA;AACpD,OAAO,KAAK,EACV,aAAa,EACb,SAAS,EAET,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,YAAY,CAAA;AAOnB;;GAEG;AACH,qBAAa,oBAAqB,YAAW,aAAa;IACxD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoB;gBAEjC,cAAc,GAAE,OAAO,CAAC,kBAAkB,CAAM;IAI5D,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,GAAG,MAAM,EAAE;IA2BzD,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,SAAS,EAAE,GAAG,oBAAoB;IAoBhG,OAAO,CAAC,YAAY;IAuCpB,OAAO,CAAC,OAAO;IAOf,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,WAAW;IAWnB,OAAO,CAAC,iBAAiB;IAKzB,OAAO,CAAC,iBAAiB;IAKzB,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,aAAa;CAGtB;AAMD;;GAEG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,GACjB,oBAAoB,CActB;AAuBD;;GAEG;AACH,eAAO,MAAM,WAAW;IACtB;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;CAMJ,CAAA;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,aAAa,CAE/F"}