@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":"DataBoundSurfaceRenderer.js","sourceRoot":"","sources":["../../src/render/DataBoundSurfaceRenderer.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Dynamic Block Wrapper Component
3
+ *
4
+ * Wraps dynamically loaded block components with loading,
5
+ * error, and loaded state management.
6
+ *
7
+ * @module @pwfabric/runtime/render/DynamicBlockWrapper
8
+ */
9
+ import { type ReactNode } from 'react';
10
+ import type { DynamicBlockDescriptor } from '@pwfabric/contracts';
11
+ import type { Block } from '@pwfabric/core';
12
+ import type { BlockContext } from './types.js';
13
+ export interface DynamicBlockWrapperProps {
14
+ readonly descriptor: DynamicBlockDescriptor;
15
+ readonly block: Block;
16
+ readonly context: BlockContext;
17
+ readonly children?: ReactNode;
18
+ }
19
+ /**
20
+ * Wraps a dynamically loaded block component.
21
+ * Manages loading → loaded | error state machine.
22
+ */
23
+ export declare function DynamicBlockWrapper({ descriptor, block, context, children, }: DynamicBlockWrapperProps): ReactNode;
24
+ //# sourceMappingURL=DynamicBlockWrapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DynamicBlockWrapper.d.ts","sourceRoot":"","sources":["../../src/render/DynamicBlockWrapper.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAoC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AACxE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AACjE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,EAAkB,YAAY,EAAE,MAAM,YAAY,CAAA;AAO9D,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,UAAU,EAAE,sBAAsB,CAAA;IAC3C,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAA;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAA;CAC9B;AAwGD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,UAAU,EACV,KAAK,EACL,OAAO,EACP,QAAQ,GACT,EAAE,wBAAwB,GAAG,SAAS,CAqEtC"}
@@ -0,0 +1,117 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /**
3
+ * Dynamic Block Wrapper Component
4
+ *
5
+ * Wraps dynamically loaded block components with loading,
6
+ * error, and loaded state management.
7
+ *
8
+ * @module @pwfabric/runtime/render/DynamicBlockWrapper
9
+ */
10
+ import { useState, useEffect, useCallback } from 'react';
11
+ import { BlockModuleLoader } from './dynamic-block-loader.js';
12
+ // ============================================================
13
+ // SKELETON & ERROR COMPONENTS
14
+ // ============================================================
15
+ /**
16
+ * Quiet, theme-tokened module-load placeholder. Deliberately renders NO
17
+ * visible text or spinner — the earlier "Loading {blockType}..." card was a
18
+ * hardcoded light-theme box (gray fill, indigo spinner, English dev-facing
19
+ * label) that flashed as a burst of bright cards on dark-themed surfaces
20
+ * during a cold load. A low-contrast wash derived from the local text token
21
+ * reads as "something is about to appear" in any theme and inside any card.
22
+ * The data attributes keep the state machine observable for tests/tooling.
23
+ */
24
+ function DynamicBlockSkeleton({ blockType }) {
25
+ return (_jsx("div", { "data-dynamic-block": blockType, "data-state": "loading", "aria-busy": "true", style: {
26
+ minHeight: '24px',
27
+ borderRadius: '8px',
28
+ backgroundColor: 'color-mix(in srgb, var(--pw-color-text, #9ca3af) 6%, transparent)',
29
+ } }));
30
+ }
31
+ /**
32
+ * Module-load failure. Same quiet-shape rule: no visible copy — the error
33
+ * tint + dashed border carry the meaning, the technical message lives in the
34
+ * title tooltip (and the loader already logs it), and the single retry
35
+ * control is an icon button with an English aria-label.
36
+ */
37
+ function DynamicBlockError({ blockType, error, onRetry, }) {
38
+ return (_jsx("div", { "data-dynamic-block": blockType, "data-state": "error", title: error, style: {
39
+ display: 'flex',
40
+ alignItems: 'center',
41
+ justifyContent: 'center',
42
+ padding: '12px',
43
+ border: '2px dashed var(--pw-color-error, #fca5a5)',
44
+ borderRadius: '8px',
45
+ backgroundColor: 'color-mix(in srgb, var(--pw-color-error, #ef4444) 8%, transparent)',
46
+ minHeight: '48px',
47
+ }, children: _jsx("button", { type: "button", onClick: onRetry, "aria-label": `Retry loading ${blockType}`, style: {
48
+ display: 'flex',
49
+ alignItems: 'center',
50
+ justifyContent: 'center',
51
+ width: '28px',
52
+ height: '28px',
53
+ border: '1px solid var(--pw-color-error, #fca5a5)',
54
+ borderRadius: '50%',
55
+ backgroundColor: 'transparent',
56
+ color: 'var(--pw-color-error, #991b1b)',
57
+ cursor: 'pointer',
58
+ padding: 0,
59
+ }, children: _jsxs("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: [_jsx("path", { d: "M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8" }), _jsx("path", { d: "M3 3v5h5" })] }) }) }));
60
+ }
61
+ // ============================================================
62
+ // WRAPPER COMPONENT
63
+ // ============================================================
64
+ /**
65
+ * Wraps a dynamically loaded block component.
66
+ * Manages loading → loaded | error state machine.
67
+ */
68
+ export function DynamicBlockWrapper({ descriptor, block, context, children, }) {
69
+ const [state, setState] = useState(BlockModuleLoader.isLoaded(descriptor.blockType) ? 'loaded' : 'idle');
70
+ const [component, setComponent] = useState(() => BlockModuleLoader.getSync(descriptor.blockType));
71
+ const [errorMessage, setErrorMessage] = useState('');
72
+ const loadModule = useCallback(() => {
73
+ setComponent(null);
74
+ setState('loading');
75
+ setErrorMessage('');
76
+ BlockModuleLoader.load(descriptor)
77
+ .then((comp) => {
78
+ setComponent(() => comp);
79
+ setState('loaded');
80
+ })
81
+ .catch((err) => {
82
+ const msg = err instanceof Error ? err.message : 'Unknown error';
83
+ setErrorMessage(msg);
84
+ setState('error');
85
+ });
86
+ }, [descriptor]);
87
+ useEffect(() => {
88
+ if (state === 'idle') {
89
+ loadModule();
90
+ }
91
+ }, [state, loadModule]);
92
+ const handleRetry = useCallback(() => {
93
+ BlockModuleLoader.invalidate(descriptor.blockType);
94
+ loadModule();
95
+ }, [descriptor.blockType, loadModule]);
96
+ // Component-first: if we have a loaded component, always render it regardless of
97
+ // the state machine. This prevents the skeleton from flashing when state transitions
98
+ // to 'loading' (e.g. retry) while the previous component is still valid in cache.
99
+ if (component) {
100
+ const Component = component;
101
+ // `props` is NEVER undefined. A node may legitimately carry no `props` key
102
+ // at all — `{id, type, children}` is a valid section — and a block component
103
+ // reads `props.x` directly, so handing it `undefined` throws inside the
104
+ // component and the block renders as an error placeholder.
105
+ //
106
+ // A `section` authored without a `props` key would otherwise crash with
107
+ // "Cannot read properties of undefined (reading 'paddingY')". The static
108
+ // renderer guards this too (`renderer.tsx`: `block.props ?? {}`); this is
109
+ // the path every PACK-INSTALLED block takes.
110
+ return (_jsx(Component, { block: block, props: block.props ?? {}, context: context, children: children }));
111
+ }
112
+ if (state === 'error') {
113
+ return (_jsx(DynamicBlockError, { blockType: descriptor.blockType, error: errorMessage, onRetry: handleRetry }));
114
+ }
115
+ return _jsx(DynamicBlockSkeleton, { blockType: descriptor.blockType });
116
+ }
117
+ //# sourceMappingURL=DynamicBlockWrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DynamicBlockWrapper.js","sourceRoot":"","sources":["../../src/render/DynamicBlockWrapper.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Appearance Resolver
3
+ *
4
+ * Bridges `surface.appearance` with the render path. ONE path: the in-process
5
+ * cascade (`surfaceThemeToCSS`) over the platform baseline.
6
+ *
7
+ * There is no second path that delegates to an appearance atom's own
8
+ * `resolve()`: an atom carrying its own baseline would never receive
9
+ * `projectTheme`, so light and dark would come from different bases.
10
+ *
11
+ * @module @pwfabric/runtime/render/appearance-resolver
12
+ */
13
+ import type { SurfaceAppearanceRef, SurfaceTheme } from '@pwfabric/contracts';
14
+ /**
15
+ * Resolve a surface.appearance reference to the CSS custom property map that the
16
+ * renderer applies to `[data-pw-surface]`.
17
+ *
18
+ * `DEFAULT_APPEARANCE_THEME` is the baseline so an absent/empty surface config
19
+ * still yields the full token set. The surface config overrides only the tokens
20
+ * it sets; `projectTheme` sits as a middle layer between the platform baseline
21
+ * and the surface override.
22
+ */
23
+ export declare function resolveAppearanceVars(appearance: SurfaceAppearanceRef | undefined, projectTheme?: SurfaceTheme): Record<string, string>;
24
+ /**
25
+ * Resolve the DARK theme variant CSS-variable map for a surface appearance.
26
+ *
27
+ * The dark mode is ALWAYS the derivation of the effective light theme
28
+ * (platform baseline < project theme < surface theme), with the explicit dark
29
+ * overrides on top: the project's `darkTheme`, then the surface's own
30
+ * `appearance.config.darkTheme`.
31
+ *
32
+ * An explicit `darkTheme` does NOT replace the derivation: an authoring tool
33
+ * may write it as sparse overrides — only the tokens the author changed — and
34
+ * merged over the LIGHT default, one edited dark colour would produce a dark
35
+ * mode with a white page and dark text. A fully baked dark variant still
36
+ * renders as baked: every token it sets wins over the derivation.
37
+ *
38
+ * A surface with no appearance config and no project dark overrides gets NO
39
+ * dark CSS (conservative: one that never opted into theming stays light-only).
40
+ */
41
+ export declare function resolveAppearanceDarkVars(appearance: SurfaceAppearanceRef | undefined, projectTheme?: SurfaceTheme, projectDarkTheme?: SurfaceTheme): Record<string, string>;
42
+ /**
43
+ * Resolve the surface-scoped custom `@keyframes` registry for an appearance.
44
+ *
45
+ * Reads `appearance.config.keyframes` (name → keyframe body). The renderer
46
+ * feeds this map to `buildKeyframesCss`, which emits one
47
+ * `@keyframes pw-kf-<name>{<body>}` per entry. Returns `{}` when no registry is
48
+ * declared (no keyframe CSS emitted).
49
+ */
50
+ export declare function resolveAppearanceKeyframes(appearance: SurfaceAppearanceRef | undefined): Record<string, string>;
51
+ //# sourceMappingURL=appearance-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appearance-resolver.d.ts","sourceRoot":"","sources":["../../src/render/appearance-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAS7E;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,oBAAoB,GAAG,SAAS,EAC5C,YAAY,CAAC,EAAE,YAAY,GAC1B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAgBxB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,oBAAoB,GAAG,SAAS,EAC5C,YAAY,CAAC,EAAE,YAAY,EAC3B,gBAAgB,CAAC,EAAE,YAAY,GAC9B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAUxB;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,oBAAoB,GAAG,SAAS,GAC3C,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAIxB"}
@@ -0,0 +1,78 @@
1
+ /**
2
+ * Appearance Resolver
3
+ *
4
+ * Bridges `surface.appearance` with the render path. ONE path: the in-process
5
+ * cascade (`surfaceThemeToCSS`) over the platform baseline.
6
+ *
7
+ * There is no second path that delegates to an appearance atom's own
8
+ * `resolve()`: an atom carrying its own baseline would never receive
9
+ * `projectTheme`, so light and dark would come from different bases.
10
+ *
11
+ * @module @pwfabric/runtime/render/appearance-resolver
12
+ */
13
+ import { DEFAULT_APPEARANCE_THEME, mergeSurfaceThemes, resolveDarkTheme, resolveAppearanceMode, } from '@pwfabric/contracts';
14
+ import { surfaceThemeToCSS } from './theme-utils.js';
15
+ /**
16
+ * Resolve a surface.appearance reference to the CSS custom property map that the
17
+ * renderer applies to `[data-pw-surface]`.
18
+ *
19
+ * `DEFAULT_APPEARANCE_THEME` is the baseline so an absent/empty surface config
20
+ * still yields the full token set. The surface config overrides only the tokens
21
+ * it sets; `projectTheme` sits as a middle layer between the platform baseline
22
+ * and the surface override.
23
+ */
24
+ export function resolveAppearanceVars(appearance, projectTheme) {
25
+ const cfg = appearance?.config;
26
+ const theme = cfg?.theme;
27
+ // a config that promises high contrast gets its inks pushed to 7:1.
28
+ const { contrast } = resolveAppearanceMode(cfg);
29
+ const themeVars = surfaceThemeToCSS(theme, DEFAULT_APPEARANCE_THEME, projectTheme, { contrast });
30
+ const customVars = {};
31
+ if (cfg?.styleVariables) {
32
+ for (const [key, value] of Object.entries(cfg.styleVariables)) {
33
+ const varName = key.startsWith('--') ? key : `--${key}`;
34
+ customVars[varName] = value;
35
+ }
36
+ }
37
+ return { ...themeVars, ...customVars };
38
+ }
39
+ /**
40
+ * Resolve the DARK theme variant CSS-variable map for a surface appearance.
41
+ *
42
+ * The dark mode is ALWAYS the derivation of the effective light theme
43
+ * (platform baseline < project theme < surface theme), with the explicit dark
44
+ * overrides on top: the project's `darkTheme`, then the surface's own
45
+ * `appearance.config.darkTheme`.
46
+ *
47
+ * An explicit `darkTheme` does NOT replace the derivation: an authoring tool
48
+ * may write it as sparse overrides — only the tokens the author changed — and
49
+ * merged over the LIGHT default, one edited dark colour would produce a dark
50
+ * mode with a white page and dark text. A fully baked dark variant still
51
+ * renders as baked: every token it sets wins over the derivation.
52
+ *
53
+ * A surface with no appearance config and no project dark overrides gets NO
54
+ * dark CSS (conservative: one that never opted into theming stays light-only).
55
+ */
56
+ export function resolveAppearanceDarkVars(appearance, projectTheme, projectDarkTheme) {
57
+ const cfg = appearance?.config;
58
+ if (!cfg && !projectDarkTheme)
59
+ return {};
60
+ const light = mergeSurfaceThemes(DEFAULT_APPEARANCE_THEME, projectTheme, cfg?.theme);
61
+ const dark = resolveDarkTheme(light, projectDarkTheme, cfg?.darkTheme);
62
+ return surfaceThemeToCSS(dark, undefined, undefined, { contrast: resolveAppearanceMode(cfg).contrast });
63
+ }
64
+ /**
65
+ * Resolve the surface-scoped custom `@keyframes` registry for an appearance.
66
+ *
67
+ * Reads `appearance.config.keyframes` (name → keyframe body). The renderer
68
+ * feeds this map to `buildKeyframesCss`, which emits one
69
+ * `@keyframes pw-kf-<name>{<body>}` per entry. Returns `{}` when no registry is
70
+ * declared (no keyframe CSS emitted).
71
+ */
72
+ export function resolveAppearanceKeyframes(appearance) {
73
+ const keyframes = appearance?.config?.keyframes;
74
+ if (!keyframes)
75
+ return {};
76
+ return { ...keyframes };
77
+ }
78
+ //# sourceMappingURL=appearance-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appearance-resolver.js","sourceRoot":"","sources":["../../src/render/appearance-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EACL,wBAAwB,EACxB,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAEpD;;;;;;;;GAQG;AACH,MAAM,UAAU,qBAAqB,CACnC,UAA4C,EAC5C,YAA2B;IAE3B,MAAM,GAAG,GAAG,UAAU,EAAE,MAAM,CAAA;IAC9B,MAAM,KAAK,GAAG,GAAG,EAAE,KAAiC,CAAA;IACpD,oEAAoE;IACpE,MAAM,EAAE,QAAQ,EAAE,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAA;IAC/C,MAAM,SAAS,GAAG,iBAAiB,CAAC,KAAK,EAAE,wBAAwB,EAAE,YAAY,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;IAEhG,MAAM,UAAU,GAA2B,EAAE,CAAA;IAC7C,IAAI,GAAG,EAAE,cAAc,EAAE,CAAC;QACxB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;YAC9D,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAA;YACvD,UAAU,CAAC,OAAO,CAAC,GAAG,KAAK,CAAA;QAC7B,CAAC;IACH,CAAC;IAED,OAAO,EAAE,GAAG,SAAS,EAAE,GAAG,UAAU,EAAE,CAAA;AACxC,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,yBAAyB,CACvC,UAA4C,EAC5C,YAA2B,EAC3B,gBAA+B;IAE/B,MAAM,GAAG,GAAG,UAAU,EAAE,MAAM,CAAA;IAC9B,IAAI,CAAC,GAAG,IAAI,CAAC,gBAAgB;QAAE,OAAO,EAAE,CAAA;IACxC,MAAM,KAAK,GAAG,kBAAkB,CAC9B,wBAAwB,EACxB,YAAY,EACZ,GAAG,EAAE,KAAiC,CACvC,CAAA;IACD,MAAM,IAAI,GAAG,gBAAgB,CAAC,KAAK,EAAE,gBAAgB,EAAE,GAAG,EAAE,SAAqC,CAAC,CAAA;IAClG,OAAO,iBAAiB,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,qBAAqB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;AACzG,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,0BAA0B,CACxC,UAA4C;IAE5C,MAAM,SAAS,GAAG,UAAU,EAAE,MAAM,EAAE,SAAS,CAAA;IAC/C,IAAI,CAAC,SAAS;QAAE,OAAO,EAAE,CAAA;IACzB,OAAO,EAAE,GAAG,SAAS,EAAE,CAAA;AACzB,CAAC"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * Capability Gate Components
3
+ *
4
+ * Entitlement enforcement at the rendering layer.
5
+ *
6
+ * Provides:
7
+ * - EntitlementProvider: React context for entitlement state
8
+ * - useEntitlements: Hook to read entitlement state
9
+ * - GatedBlockPlaceholder: Visual placeholder for unentitled blocks
10
+ *
11
+ * @module @pwfabric/runtime/render/capability-gate
12
+ */
13
+ import * as React from 'react';
14
+ /**
15
+ * The claim set this gate reads.
16
+ *
17
+ * Enforcing a claim set is a rendering mechanism; deciding WHO is entitled to
18
+ * WHAT is the host's business. A host's own entitlement type conforms to this
19
+ * shape structurally.
20
+ *
21
+ * Keeping the gate but not the vocabulary is the point: the engine can
22
+ * enforce entitlements for a product it knows nothing about.
23
+ */
24
+ export interface EntitlementClaims {
25
+ readonly blocks: readonly string[];
26
+ readonly capabilities: readonly string[];
27
+ }
28
+ export interface EntitlementContextValue {
29
+ /** Whether entitlements have been loaded */
30
+ readonly loaded: boolean;
31
+ /** Set of entitled block types */
32
+ readonly entitledBlocks: ReadonlySet<string>;
33
+ /** Set of entitled capabilities */
34
+ readonly entitledCapabilities: ReadonlySet<string>;
35
+ /** Check if a specific block type is entitled */
36
+ readonly isBlockEntitled: (blockType: string) => boolean;
37
+ /** Check if a specific capability is entitled */
38
+ readonly isCapabilityEntitled: (capability: string) => boolean;
39
+ }
40
+ export interface EntitlementProviderProps {
41
+ /** The claim set from the host, or null if not yet loaded */
42
+ readonly entitlements: EntitlementClaims | null;
43
+ readonly children: React.ReactNode;
44
+ }
45
+ /**
46
+ * EntitlementProvider
47
+ *
48
+ * Wraps the app or surface renderer to provide entitlement state.
49
+ * When entitlements is null (not yet loaded), all checks pass (fail-open).
50
+ * Once loaded, enforcement is active.
51
+ */
52
+ export declare function EntitlementProvider({ entitlements, children, }: EntitlementProviderProps): React.ReactElement;
53
+ /**
54
+ * useEntitlements
55
+ *
56
+ * Read entitlement state from the nearest EntitlementProvider.
57
+ */
58
+ export declare function useEntitlements(): EntitlementContextValue;
59
+ export interface GatedBlockPlaceholderProps {
60
+ readonly blockId: string;
61
+ readonly blockType: string;
62
+ }
63
+ /**
64
+ * GatedBlockPlaceholder
65
+ *
66
+ * Renders a visual placeholder for blocks the tenant is not entitled to use.
67
+ * Uses inline styles (no Tailwind dependency in runtime package).
68
+ */
69
+ export declare function GatedBlockPlaceholder({ blockId, blockType, }: GatedBlockPlaceholderProps): React.ReactElement;
70
+ //# sourceMappingURL=capability-gate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capability-gate.d.ts","sourceRoot":"","sources":["../../src/render/capability-gate.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAM9B;;;;;;;;;GASG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAA;IAClC,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAA;CACzC;AAED,MAAM,WAAW,uBAAuB;IACtC,4CAA4C;IAC5C,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IACxB,kCAAkC;IAClC,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAC5C,mCAAmC;IACnC,QAAQ,CAAC,oBAAoB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAClD,iDAAiD;IACjD,QAAQ,CAAC,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAA;IACxD,iDAAiD;IACjD,QAAQ,CAAC,oBAAoB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAA;CAC/D;AAED,MAAM,WAAW,wBAAwB;IACvC,6DAA6D;IAC7D,QAAQ,CAAC,YAAY,EAAE,iBAAiB,GAAG,IAAI,CAAA;IAC/C,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CACnC;AAkBD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,YAAY,EACZ,QAAQ,GACT,EAAE,wBAAwB,GAAG,KAAK,CAAC,YAAY,CAyB/C;AAMD;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,uBAAuB,CAEzD;AAMD,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,OAAO,EACP,SAAS,GACV,EAAE,0BAA0B,GAAG,KAAK,CAAC,YAAY,CA6BjD"}
@@ -0,0 +1,94 @@
1
+ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
+ /**
3
+ * Capability Gate Components
4
+ *
5
+ * Entitlement enforcement at the rendering layer.
6
+ *
7
+ * Provides:
8
+ * - EntitlementProvider: React context for entitlement state
9
+ * - useEntitlements: Hook to read entitlement state
10
+ * - GatedBlockPlaceholder: Visual placeholder for unentitled blocks
11
+ *
12
+ * @module @pwfabric/runtime/render/capability-gate
13
+ */
14
+ import * as React from 'react';
15
+ // ============================================================
16
+ // CONTEXT
17
+ // ============================================================
18
+ const EntitlementContext = React.createContext({
19
+ loaded: false,
20
+ entitledBlocks: new Set(),
21
+ entitledCapabilities: new Set(),
22
+ isBlockEntitled: () => true, // fail-open when no provider
23
+ isCapabilityEntitled: () => true,
24
+ });
25
+ // ============================================================
26
+ // PROVIDER
27
+ // ============================================================
28
+ /**
29
+ * EntitlementProvider
30
+ *
31
+ * Wraps the app or surface renderer to provide entitlement state.
32
+ * When entitlements is null (not yet loaded), all checks pass (fail-open).
33
+ * Once loaded, enforcement is active.
34
+ */
35
+ export function EntitlementProvider({ entitlements, children, }) {
36
+ const value = React.useMemo(() => {
37
+ if (!entitlements) {
38
+ return {
39
+ loaded: false,
40
+ entitledBlocks: new Set(),
41
+ entitledCapabilities: new Set(),
42
+ isBlockEntitled: () => true,
43
+ isCapabilityEntitled: () => true,
44
+ };
45
+ }
46
+ const blocks = new Set(entitlements.blocks);
47
+ const capabilities = new Set(entitlements.capabilities);
48
+ return {
49
+ loaded: true,
50
+ entitledBlocks: blocks,
51
+ entitledCapabilities: capabilities,
52
+ isBlockEntitled: (blockType) => blocks.has(blockType),
53
+ isCapabilityEntitled: (capability) => capabilities.has(capability),
54
+ };
55
+ }, [entitlements]);
56
+ return React.createElement(EntitlementContext.Provider, { value }, children);
57
+ }
58
+ // ============================================================
59
+ // HOOK
60
+ // ============================================================
61
+ /**
62
+ * useEntitlements
63
+ *
64
+ * Read entitlement state from the nearest EntitlementProvider.
65
+ */
66
+ export function useEntitlements() {
67
+ return React.useContext(EntitlementContext);
68
+ }
69
+ /**
70
+ * GatedBlockPlaceholder
71
+ *
72
+ * Renders a visual placeholder for blocks the tenant is not entitled to use.
73
+ * Uses inline styles (no Tailwind dependency in runtime package).
74
+ */
75
+ export function GatedBlockPlaceholder({ blockId, blockType, }) {
76
+ return (_jsxs("div", { "data-block-id": blockId, "data-gated-block": blockType, style: {
77
+ display: 'flex',
78
+ flexDirection: 'column',
79
+ alignItems: 'center',
80
+ justifyContent: 'center',
81
+ padding: '24px 16px',
82
+ // Theme-tokened (was a hardcoded light-gray card that clashed on
83
+ // dark-themed surfaces). The copy stays — this is a deliberate
84
+ // marketplace CTA, not an error message.
85
+ border: '2px dashed var(--pw-color-border, #d1d5db)',
86
+ borderRadius: '8px',
87
+ backgroundColor: 'color-mix(in srgb, var(--pw-color-text, #6b7280) 5%, transparent)',
88
+ color: 'var(--pw-color-text-muted, #6b7280)',
89
+ textAlign: 'center',
90
+ minHeight: '80px',
91
+ gap: '4px',
92
+ }, children: [_jsxs("span", { style: { fontSize: '14px', fontWeight: 500 }, children: ['\u{1F512}', " ", blockType, " block"] }), _jsx("span", { style: { fontSize: '12px', color: 'var(--pw-color-text-muted, #9ca3af)' }, children: "Install from Marketplace" })] }));
93
+ }
94
+ //# sourceMappingURL=capability-gate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capability-gate.js","sourceRoot":"","sources":["../../src/render/capability-gate.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAwC9B,+DAA+D;AAC/D,UAAU;AACV,+DAA+D;AAE/D,MAAM,kBAAkB,GAAG,KAAK,CAAC,aAAa,CAA0B;IACtE,MAAM,EAAE,KAAK;IACb,cAAc,EAAE,IAAI,GAAG,EAAE;IACzB,oBAAoB,EAAE,IAAI,GAAG,EAAE;IAC/B,eAAe,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,6BAA6B;IAC1D,oBAAoB,EAAE,GAAG,EAAE,CAAC,IAAI;CACjC,CAAC,CAAA;AAEF,+DAA+D;AAC/D,WAAW;AACX,+DAA+D;AAE/D;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,EAClC,YAAY,EACZ,QAAQ,GACiB;IACzB,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAA0B,GAAG,EAAE;QACxD,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO;gBACL,MAAM,EAAE,KAAK;gBACb,cAAc,EAAE,IAAI,GAAG,EAAE;gBACzB,oBAAoB,EAAE,IAAI,GAAG,EAAE;gBAC/B,eAAe,EAAE,GAAG,EAAE,CAAC,IAAI;gBAC3B,oBAAoB,EAAE,GAAG,EAAE,CAAC,IAAI;aACjC,CAAA;QACH,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;QAC3C,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,YAAY,CAAC,CAAA;QAEvD,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,cAAc,EAAE,MAAM;YACtB,oBAAoB,EAAE,YAAY;YAClC,eAAe,EAAE,CAAC,SAAiB,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC;YAC7D,oBAAoB,EAAE,CAAC,UAAkB,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC;SAC3E,CAAA;IACH,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAA;IAElB,OAAO,KAAK,CAAC,aAAa,CAAC,kBAAkB,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,QAAQ,CAAC,CAAA;AAC9E,CAAC;AAED,+DAA+D;AAC/D,OAAO;AACP,+DAA+D;AAE/D;;;;GAIG;AACH,MAAM,UAAU,eAAe;IAC7B,OAAO,KAAK,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAA;AAC7C,CAAC;AAWD;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,EACpC,OAAO,EACP,SAAS,GACkB;IAC3B,OAAO,CACL,gCACiB,OAAO,sBACJ,SAAS,EAC3B,KAAK,EAAE;YACL,OAAO,EAAE,MAAM;YACf,aAAa,EAAE,QAAQ;YACvB,UAAU,EAAE,QAAQ;YACpB,cAAc,EAAE,QAAQ;YACxB,OAAO,EAAE,WAAW;YACpB,iEAAiE;YACjE,+DAA+D;YAC/D,yCAAyC;YACzC,MAAM,EAAE,4CAA4C;YACpD,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,mEAAmE;YACpF,KAAK,EAAE,qCAAqC;YAC5C,SAAS,EAAE,QAAQ;YACnB,SAAS,EAAE,MAAM;YACjB,GAAG,EAAE,KAAK;SACX,aAED,gBAAM,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,aAC/C,WAAW,OAAG,SAAS,cACnB,EACP,eAAM,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,qCAAqC,EAAE,yCAAiC,IAC5G,CACP,CAAA;AACH,CAAC"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Conditional-state CSS generation (aria/data/disabled/checked/`:has(…)` variants).
3
+ *
4
+ * `block.style` sits inline and cannot express pseudo-classes or attribute
5
+ * selectors, and the fixed `block.states` field only covers the three
6
+ * interaction pseudo-classes (`:hover`/`:active`/`:focus-visible`). Everything
7
+ * else a block can style by STATE without JS — form pseudo-classes
8
+ * (`:disabled`, `:checked`, `:invalid`, `:required`), ARIA reflections
9
+ * (`[aria-expanded="true"]`), `data-*` flags (`[data-active]`), and structural
10
+ * `:has(…)` / sibling rules — lives in `block.conditionalStates`. Each entry's
11
+ * `selector` is a CSS suffix APPENDED to the block selector, so the runtime
12
+ * emits:
13
+ *
14
+ * `[data-pw-surface] [data-block-id="<id>"]:disabled{ … }`
15
+ * `[data-pw-surface] [data-block-id="<id>"][aria-expanded="true"]{ … }`
16
+ * `[data-pw-surface] [data-block-id="<id>"]:has(> img){ … }`
17
+ *
18
+ * Keys are CSS camelCase property names (converted to kebab-case); declarations
19
+ * are emitted with `!important` because a block COMPONENT often applies the same
20
+ * CSS property inline with its own default, and inline beats any plain
21
+ * stylesheet rule. Scoped to `[data-block-id]`, so it only overrides the one
22
+ * block. Blocks without `conditionalStates` emit zero bytes so existing surfaces
23
+ * are byte-identical.
24
+ *
25
+ * @module @pwfabric/runtime/render/conditional-states-css
26
+ */
27
+ import type { Block } from '@pwfabric/core';
28
+ /**
29
+ * Emit the scoped CSS rule(s) for a single block's conditional states. Targets
30
+ * `[data-block-id="<id>"]<selector>` scoped under the surface root so it cannot
31
+ * leak to the host page. Entries with a malformed `selector` (not a valid
32
+ * suffix) or an empty `style` record are skipped. Returns '' when the block
33
+ * declares no usable conditional state.
34
+ */
35
+ export declare function blockConditionalStatesCss(blockId: string, conditionalStates: NonNullable<Block['conditionalStates']>, surfaceId?: string): string;
36
+ /**
37
+ * Walk a surface block tree and concatenate the per-block conditional-state CSS
38
+ * for every block declaring `conditionalStates`. Blocks without it are skipped
39
+ * (zero bytes emitted) so existing surfaces are byte-identical.
40
+ */
41
+ export declare function collectConditionalStatesCss(blocks: readonly Block[], surfaceId?: string): string;
42
+ //# sourceMappingURL=conditional-states-css.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conditional-states-css.d.ts","sourceRoot":"","sources":["../../src/render/conditional-states-css.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AA0B3C;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,MAAM,EACf,iBAAiB,EAAE,WAAW,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,EAC1D,SAAS,CAAC,EAAE,MAAM,GACjB,MAAM,CAYR;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,SAAS,KAAK,EAAE,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAMhG"}