@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.
- package/LICENSE +90 -0
- package/README.md +13 -2
- package/dist/__tests__/dom-test-setup.d.ts +21 -0
- package/dist/__tests__/dom-test-setup.d.ts.map +1 -0
- package/dist/__tests__/dom-test-setup.js +36 -0
- package/dist/__tests__/dom-test-setup.js.map +1 -0
- package/dist/a11y/announcer.d.ts +66 -0
- package/dist/a11y/announcer.d.ts.map +1 -0
- package/dist/a11y/announcer.js +140 -0
- package/dist/a11y/announcer.js.map +1 -0
- package/dist/a11y/contrast.d.ts +55 -0
- package/dist/a11y/contrast.d.ts.map +1 -0
- package/dist/a11y/contrast.js +93 -0
- package/dist/a11y/contrast.js.map +1 -0
- package/dist/a11y/focus.d.ts +124 -0
- package/dist/a11y/focus.d.ts.map +1 -0
- package/dist/a11y/focus.js +282 -0
- package/dist/a11y/focus.js.map +1 -0
- package/dist/a11y/index.d.ts +22 -0
- package/dist/a11y/index.d.ts.map +1 -0
- package/dist/a11y/index.js +18 -0
- package/dist/a11y/index.js.map +1 -0
- package/dist/a11y/keyboard.d.ts +145 -0
- package/dist/a11y/keyboard.d.ts.map +1 -0
- package/dist/a11y/keyboard.js +317 -0
- package/dist/a11y/keyboard.js.map +1 -0
- package/dist/adapters/default-image.d.ts +26 -0
- package/dist/adapters/default-image.d.ts.map +1 -0
- package/dist/adapters/default-image.js +37 -0
- package/dist/adapters/default-image.js.map +1 -0
- package/dist/adapters/index.d.ts +28 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/index.js +28 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/adapters/next-image.d.ts +39 -0
- package/dist/adapters/next-image.d.ts.map +1 -0
- package/dist/adapters/next-image.js +124 -0
- package/dist/adapters/next-image.js.map +1 -0
- package/dist/adapters/types.d.ts +62 -0
- package/dist/adapters/types.d.ts.map +1 -0
- package/dist/adapters/types.js +11 -0
- package/dist/adapters/types.js.map +1 -0
- package/dist/analytics/index.d.ts +15 -0
- package/dist/analytics/index.d.ts.map +1 -0
- package/dist/analytics/index.js +15 -0
- package/dist/analytics/index.js.map +1 -0
- package/dist/analytics/tracker.d.ts +66 -0
- package/dist/analytics/tracker.d.ts.map +1 -0
- package/dist/analytics/tracker.js +251 -0
- package/dist/analytics/tracker.js.map +1 -0
- package/dist/analytics/types.d.ts +131 -0
- package/dist/analytics/types.d.ts.map +1 -0
- package/dist/analytics/types.js +11 -0
- package/dist/analytics/types.js.map +1 -0
- package/dist/auth/index.d.ts +16 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +14 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/auth/provider.d.ts +133 -0
- package/dist/auth/provider.d.ts.map +1 -0
- package/dist/auth/provider.js +473 -0
- package/dist/auth/provider.js.map +1 -0
- package/dist/auth/types.d.ts +118 -0
- package/dist/auth/types.d.ts.map +1 -0
- package/dist/auth/types.js +9 -0
- package/dist/auth/types.js.map +1 -0
- package/dist/binding/collection.d.ts +191 -0
- package/dist/binding/collection.d.ts.map +1 -0
- package/dist/binding/collection.js +358 -0
- package/dist/binding/collection.js.map +1 -0
- package/dist/binding/datasource.d.ts +320 -0
- package/dist/binding/datasource.d.ts.map +1 -0
- package/dist/binding/datasource.js +556 -0
- package/dist/binding/datasource.js.map +1 -0
- package/dist/binding/engine.d.ts +66 -0
- package/dist/binding/engine.d.ts.map +1 -0
- package/dist/binding/engine.js +268 -0
- package/dist/binding/engine.js.map +1 -0
- package/dist/binding/expression.d.ts +151 -0
- package/dist/binding/expression.d.ts.map +1 -0
- package/dist/binding/expression.js +787 -0
- package/dist/binding/expression.js.map +1 -0
- package/dist/binding/index.d.ts +20 -0
- package/dist/binding/index.d.ts.map +1 -0
- package/dist/binding/index.js +14 -0
- package/dist/binding/index.js.map +1 -0
- package/dist/binding/two-way.d.ts +150 -0
- package/dist/binding/two-way.d.ts.map +1 -0
- package/dist/binding/two-way.js +462 -0
- package/dist/binding/two-way.js.map +1 -0
- package/dist/binding/types.d.ts +120 -0
- package/dist/binding/types.d.ts.map +1 -0
- package/dist/binding/types.js +9 -0
- package/dist/binding/types.js.map +1 -0
- package/dist/blocks/__test-fixtures__/block-fixtures.d.ts +40 -0
- package/dist/blocks/__test-fixtures__/block-fixtures.d.ts.map +1 -0
- package/dist/blocks/__test-fixtures__/block-fixtures.js +506 -0
- package/dist/blocks/__test-fixtures__/block-fixtures.js.map +1 -0
- package/dist/blocks/component-types.d.ts +82 -0
- package/dist/blocks/component-types.d.ts.map +1 -0
- package/dist/blocks/component-types.js +11 -0
- package/dist/blocks/component-types.js.map +1 -0
- package/dist/blocks/composition-rules.d.ts +169 -0
- package/dist/blocks/composition-rules.d.ts.map +1 -0
- package/dist/blocks/composition-rules.js +391 -0
- package/dist/blocks/composition-rules.js.map +1 -0
- package/dist/blocks/hooks.d.ts +32 -0
- package/dist/blocks/hooks.d.ts.map +1 -0
- package/dist/blocks/hooks.js +42 -0
- package/dist/blocks/hooks.js.map +1 -0
- package/dist/blocks/index.d.ts +16 -0
- package/dist/blocks/index.d.ts.map +1 -0
- package/dist/blocks/index.js +24 -0
- package/dist/blocks/index.js.map +1 -0
- package/dist/blocks/registry.d.ts +85 -0
- package/dist/blocks/registry.d.ts.map +1 -0
- package/dist/blocks/registry.js +136 -0
- package/dist/blocks/registry.js.map +1 -0
- package/dist/blocks/rule-engine.d.ts +132 -0
- package/dist/blocks/rule-engine.d.ts.map +1 -0
- package/dist/blocks/rule-engine.js +321 -0
- package/dist/blocks/rule-engine.js.map +1 -0
- package/dist/blocks/surface-event-context.d.ts +14 -0
- package/dist/blocks/surface-event-context.d.ts.map +1 -0
- package/dist/blocks/surface-event-context.js +14 -0
- package/dist/blocks/surface-event-context.js.map +1 -0
- package/dist/blocks/surface-id-context.d.ts +14 -0
- package/dist/blocks/surface-id-context.d.ts.map +1 -0
- package/dist/blocks/surface-id-context.js +15 -0
- package/dist/blocks/surface-id-context.js.map +1 -0
- package/dist/bus.d.ts +42 -0
- package/dist/bus.d.ts.map +1 -0
- package/dist/bus.js +158 -0
- package/dist/bus.js.map +1 -0
- package/dist/cache/index.d.ts +10 -0
- package/dist/cache/index.d.ts.map +1 -0
- package/dist/cache/index.js +10 -0
- package/dist/cache/index.js.map +1 -0
- package/dist/cache/memory.d.ts +33 -0
- package/dist/cache/memory.d.ts.map +1 -0
- package/dist/cache/memory.js +138 -0
- package/dist/cache/memory.js.map +1 -0
- package/dist/cache/types.d.ts +63 -0
- package/dist/cache/types.d.ts.map +1 -0
- package/dist/cache/types.js +9 -0
- package/dist/cache/types.js.map +1 -0
- package/dist/capability/index.d.ts +73 -0
- package/dist/capability/index.d.ts.map +1 -0
- package/dist/capability/index.js +87 -0
- package/dist/capability/index.js.map +1 -0
- package/dist/capability/kernel-capabilities.d.ts +32 -0
- package/dist/capability/kernel-capabilities.d.ts.map +1 -0
- package/dist/capability/kernel-capabilities.js +36 -0
- package/dist/capability/kernel-capabilities.js.map +1 -0
- package/dist/capability/platform-capabilities.d.ts +72 -0
- package/dist/capability/platform-capabilities.d.ts.map +1 -0
- package/dist/capability/platform-capabilities.js +267 -0
- package/dist/capability/platform-capabilities.js.map +1 -0
- package/dist/capability/type-mapping.d.ts +71 -0
- package/dist/capability/type-mapping.d.ts.map +1 -0
- package/dist/capability/type-mapping.js +107 -0
- package/dist/capability/type-mapping.js.map +1 -0
- package/dist/capability/validation.d.ts +47 -0
- package/dist/capability/validation.d.ts.map +1 -0
- package/dist/capability/validation.js +54 -0
- package/dist/capability/validation.js.map +1 -0
- package/dist/connectors/declared-connector.d.ts +49 -0
- package/dist/connectors/declared-connector.d.ts.map +1 -0
- package/dist/connectors/declared-connector.js +333 -0
- package/dist/connectors/declared-connector.js.map +1 -0
- package/dist/connectors/engine-registry.d.ts +51 -0
- package/dist/connectors/engine-registry.d.ts.map +1 -0
- package/dist/connectors/engine-registry.js +135 -0
- package/dist/connectors/engine-registry.js.map +1 -0
- package/dist/connectors/index.d.ts +15 -0
- package/dist/connectors/index.d.ts.map +1 -0
- package/dist/connectors/index.js +14 -0
- package/dist/connectors/index.js.map +1 -0
- package/dist/connectors/module-loader.d.ts +71 -0
- package/dist/connectors/module-loader.d.ts.map +1 -0
- package/dist/connectors/module-loader.js +143 -0
- package/dist/connectors/module-loader.js.map +1 -0
- package/dist/connectors/types.d.ts +175 -0
- package/dist/connectors/types.d.ts.map +1 -0
- package/dist/connectors/types.js +23 -0
- package/dist/connectors/types.js.map +1 -0
- package/dist/context.d.ts +28 -0
- package/dist/context.d.ts.map +1 -0
- package/dist/context.js +38 -0
- package/dist/context.js.map +1 -0
- package/dist/data/DataCapabilityProvider.d.ts +40 -0
- package/dist/data/DataCapabilityProvider.d.ts.map +1 -0
- package/dist/data/DataCapabilityProvider.js +58 -0
- package/dist/data/DataCapabilityProvider.js.map +1 -0
- package/dist/data/index.d.ts +18 -0
- package/dist/data/index.d.ts.map +1 -0
- package/dist/data/index.js +18 -0
- package/dist/data/index.js.map +1 -0
- package/dist/data/manager.d.ts +41 -0
- package/dist/data/manager.d.ts.map +1 -0
- package/dist/data/manager.js +442 -0
- package/dist/data/manager.js.map +1 -0
- package/dist/data/types.d.ts +219 -0
- package/dist/data/types.d.ts.map +1 -0
- package/dist/data/types.js +2 -0
- package/dist/data/types.js.map +1 -0
- package/dist/entity/aggregate.d.ts +9 -0
- package/dist/entity/aggregate.d.ts.map +1 -0
- package/dist/entity/aggregate.js +24 -0
- package/dist/entity/aggregate.js.map +1 -0
- package/dist/entity/apply-query.d.ts +59 -0
- package/dist/entity/apply-query.d.ts.map +1 -0
- package/dist/entity/apply-query.js +264 -0
- package/dist/entity/apply-query.js.map +1 -0
- package/dist/entity/behavior.d.ts +95 -0
- package/dist/entity/behavior.d.ts.map +1 -0
- package/dist/entity/behavior.js +78 -0
- package/dist/entity/behavior.js.map +1 -0
- package/dist/entity/connector.d.ts +142 -0
- package/dist/entity/connector.d.ts.map +1 -0
- package/dist/entity/connector.js +89 -0
- package/dist/entity/connector.js.map +1 -0
- package/dist/entity/connectors/index.d.ts +13 -0
- package/dist/entity/connectors/index.d.ts.map +1 -0
- package/dist/entity/connectors/index.js +11 -0
- package/dist/entity/connectors/index.js.map +1 -0
- package/dist/entity/connectors/static.d.ts +52 -0
- package/dist/entity/connectors/static.d.ts.map +1 -0
- package/dist/entity/connectors/static.js +245 -0
- package/dist/entity/connectors/static.js.map +1 -0
- package/dist/entity/entity-datasource.d.ts +51 -0
- package/dist/entity/entity-datasource.d.ts.map +1 -0
- package/dist/entity/entity-datasource.js +33 -0
- package/dist/entity/entity-datasource.js.map +1 -0
- package/dist/entity/facade.d.ts +71 -0
- package/dist/entity/facade.d.ts.map +1 -0
- package/dist/entity/facade.js +70 -0
- package/dist/entity/facade.js.map +1 -0
- package/dist/entity/http-connector.d.ts +124 -0
- package/dist/entity/http-connector.d.ts.map +1 -0
- package/dist/entity/http-connector.js +295 -0
- package/dist/entity/http-connector.js.map +1 -0
- package/dist/entity/index.d.ts +39 -0
- package/dist/entity/index.d.ts.map +1 -0
- package/dist/entity/index.js +31 -0
- package/dist/entity/index.js.map +1 -0
- package/dist/entity/postgres-connector.d.ts +65 -0
- package/dist/entity/postgres-connector.d.ts.map +1 -0
- package/dist/entity/postgres-connector.js +239 -0
- package/dist/entity/postgres-connector.js.map +1 -0
- package/dist/entity/registry.d.ts +60 -0
- package/dist/entity/registry.d.ts.map +1 -0
- package/dist/entity/registry.js +90 -0
- package/dist/entity/registry.js.map +1 -0
- package/dist/entity/store.d.ts +67 -0
- package/dist/entity/store.d.ts.map +1 -0
- package/dist/entity/store.js +349 -0
- package/dist/entity/store.js.map +1 -0
- package/dist/entity/types.d.ts +181 -0
- package/dist/entity/types.d.ts.map +1 -0
- package/dist/entity/types.js +10 -0
- package/dist/entity/types.js.map +1 -0
- package/dist/execution-context.d.ts +89 -0
- package/dist/execution-context.d.ts.map +1 -0
- package/dist/execution-context.js +146 -0
- package/dist/execution-context.js.map +1 -0
- package/dist/executor.d.ts +28 -0
- package/dist/executor.d.ts.map +1 -0
- package/dist/executor.js +33 -0
- package/dist/executor.js.map +1 -0
- package/dist/forms/form-entity-bridge.d.ts +95 -0
- package/dist/forms/form-entity-bridge.d.ts.map +1 -0
- package/dist/forms/form-entity-bridge.js +96 -0
- package/dist/forms/form-entity-bridge.js.map +1 -0
- package/dist/forms/form-write-target.d.ts +35 -0
- package/dist/forms/form-write-target.d.ts.map +1 -0
- package/dist/forms/form-write-target.js +81 -0
- package/dist/forms/form-write-target.js.map +1 -0
- package/dist/forms/index.d.ts +23 -0
- package/dist/forms/index.d.ts.map +1 -0
- package/dist/forms/index.js +25 -0
- package/dist/forms/index.js.map +1 -0
- package/dist/forms/named-control-values.d.ts +28 -0
- package/dist/forms/named-control-values.d.ts.map +1 -0
- package/dist/forms/named-control-values.js +42 -0
- package/dist/forms/named-control-values.js.map +1 -0
- package/dist/forms/processor.d.ts +56 -0
- package/dist/forms/processor.d.ts.map +1 -0
- package/dist/forms/processor.js +154 -0
- package/dist/forms/processor.js.map +1 -0
- package/dist/forms/types.d.ts +175 -0
- package/dist/forms/types.d.ts.map +1 -0
- package/dist/forms/types.js +33 -0
- package/dist/forms/types.js.map +1 -0
- package/dist/forms/validator.d.ts +62 -0
- package/dist/forms/validator.d.ts.map +1 -0
- package/dist/forms/validator.js +218 -0
- package/dist/forms/validator.js.map +1 -0
- package/dist/graph/index.d.ts +11 -0
- package/dist/graph/index.d.ts.map +1 -0
- package/dist/graph/index.js +9 -0
- package/dist/graph/index.js.map +1 -0
- package/dist/graph/resolver.d.ts +67 -0
- package/dist/graph/resolver.d.ts.map +1 -0
- package/dist/graph/resolver.js +243 -0
- package/dist/graph/resolver.js.map +1 -0
- package/dist/graph/types.d.ts +126 -0
- package/dist/graph/types.d.ts.map +1 -0
- package/dist/graph/types.js +9 -0
- package/dist/graph/types.js.map +1 -0
- package/dist/hooks/useInstalledAtoms.d.ts +97 -0
- package/dist/hooks/useInstalledAtoms.d.ts.map +1 -0
- package/dist/hooks/useInstalledAtoms.js +92 -0
- package/dist/hooks/useInstalledAtoms.js.map +1 -0
- package/dist/i18n/index.d.ts +16 -0
- package/dist/i18n/index.d.ts.map +1 -0
- package/dist/i18n/index.js +14 -0
- package/dist/i18n/index.js.map +1 -0
- package/dist/i18n/translator.d.ts +77 -0
- package/dist/i18n/translator.d.ts.map +1 -0
- package/dist/i18n/translator.js +357 -0
- package/dist/i18n/translator.js.map +1 -0
- package/dist/i18n/types.d.ts +94 -0
- package/dist/i18n/types.d.ts.map +1 -0
- package/dist/i18n/types.js +9 -0
- package/dist/i18n/types.js.map +1 -0
- package/dist/index.d.ts +65 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +95 -0
- package/dist/index.js.map +1 -0
- package/dist/kernel.d.ts +48 -0
- package/dist/kernel.d.ts.map +1 -0
- package/dist/kernel.js +258 -0
- package/dist/kernel.js.map +1 -0
- package/dist/perf/budget.d.ts +93 -0
- package/dist/perf/budget.d.ts.map +1 -0
- package/dist/perf/budget.js +122 -0
- package/dist/perf/budget.js.map +1 -0
- package/dist/perf/index.d.ts +17 -0
- package/dist/perf/index.d.ts.map +1 -0
- package/dist/perf/index.js +13 -0
- package/dist/perf/index.js.map +1 -0
- package/dist/perf/render-timer.d.ts +91 -0
- package/dist/perf/render-timer.d.ts.map +1 -0
- package/dist/perf/render-timer.js +136 -0
- package/dist/perf/render-timer.js.map +1 -0
- package/dist/perf/reporter.d.ts +127 -0
- package/dist/perf/reporter.d.ts.map +1 -0
- package/dist/perf/reporter.js +241 -0
- package/dist/perf/reporter.js.map +1 -0
- package/dist/perf/web-vitals.d.ts +112 -0
- package/dist/perf/web-vitals.d.ts.map +1 -0
- package/dist/perf/web-vitals.js +268 -0
- package/dist/perf/web-vitals.js.map +1 -0
- package/dist/registry.d.ts +64 -0
- package/dist/registry.d.ts.map +1 -0
- package/dist/registry.js +126 -0
- package/dist/registry.js.map +1 -0
- package/dist/render/BehaviorSurfaceProvider.d.ts +66 -0
- package/dist/render/BehaviorSurfaceProvider.d.ts.map +1 -0
- package/dist/render/BehaviorSurfaceProvider.js +185 -0
- package/dist/render/BehaviorSurfaceProvider.js.map +1 -0
- package/dist/render/BlockErrorBoundary.d.ts +27 -0
- package/dist/render/BlockErrorBoundary.d.ts.map +1 -0
- package/dist/render/BlockErrorBoundary.js +41 -0
- package/dist/render/BlockErrorBoundary.js.map +1 -0
- package/dist/render/DataBoundSurfaceRenderer.d.ts +79 -0
- package/dist/render/DataBoundSurfaceRenderer.d.ts.map +1 -0
- package/dist/render/DataBoundSurfaceRenderer.js +998 -0
- package/dist/render/DataBoundSurfaceRenderer.js.map +1 -0
- package/dist/render/DynamicBlockWrapper.d.ts +24 -0
- package/dist/render/DynamicBlockWrapper.d.ts.map +1 -0
- package/dist/render/DynamicBlockWrapper.js +117 -0
- package/dist/render/DynamicBlockWrapper.js.map +1 -0
- package/dist/render/appearance-resolver.d.ts +51 -0
- package/dist/render/appearance-resolver.d.ts.map +1 -0
- package/dist/render/appearance-resolver.js +78 -0
- package/dist/render/appearance-resolver.js.map +1 -0
- package/dist/render/capability-gate.d.ts +70 -0
- package/dist/render/capability-gate.d.ts.map +1 -0
- package/dist/render/capability-gate.js +94 -0
- package/dist/render/capability-gate.js.map +1 -0
- package/dist/render/conditional-states-css.d.ts +42 -0
- package/dist/render/conditional-states-css.d.ts.map +1 -0
- package/dist/render/conditional-states-css.js +82 -0
- package/dist/render/conditional-states-css.js.map +1 -0
- package/dist/render/connections-context.d.ts +32 -0
- package/dist/render/connections-context.d.ts.map +1 -0
- package/dist/render/connections-context.js +34 -0
- package/dist/render/connections-context.js.map +1 -0
- package/dist/render/dark-theme-css.d.ts +37 -0
- package/dist/render/dark-theme-css.d.ts.map +1 -0
- package/dist/render/dark-theme-css.js +67 -0
- package/dist/render/dark-theme-css.js.map +1 -0
- package/dist/render/data-binding-types.d.ts +192 -0
- package/dist/render/data-binding-types.d.ts.map +1 -0
- package/dist/render/data-binding-types.js +11 -0
- package/dist/render/data-binding-types.js.map +1 -0
- package/dist/render/data-cache.d.ts +31 -0
- package/dist/render/data-cache.d.ts.map +1 -0
- package/dist/render/data-cache.js +37 -0
- package/dist/render/data-cache.js.map +1 -0
- package/dist/render/derive-dark-theme.d.ts +18 -0
- package/dist/render/derive-dark-theme.d.ts.map +1 -0
- package/dist/render/derive-dark-theme.js +18 -0
- package/dist/render/derive-dark-theme.js.map +1 -0
- package/dist/render/dynamic-artifact-context.d.ts +78 -0
- package/dist/render/dynamic-artifact-context.d.ts.map +1 -0
- package/dist/render/dynamic-artifact-context.js +89 -0
- package/dist/render/dynamic-artifact-context.js.map +1 -0
- package/dist/render/dynamic-block-loader.d.ts +81 -0
- package/dist/render/dynamic-block-loader.d.ts.map +1 -0
- package/dist/render/dynamic-block-loader.js +197 -0
- package/dist/render/dynamic-block-loader.js.map +1 -0
- package/dist/render/endpoint.d.ts +19 -0
- package/dist/render/endpoint.d.ts.map +1 -0
- package/dist/render/endpoint.js +109 -0
- package/dist/render/endpoint.js.map +1 -0
- package/dist/render/entity-facade-context.d.ts +35 -0
- package/dist/render/entity-facade-context.d.ts.map +1 -0
- package/dist/render/entity-facade-context.js +37 -0
- package/dist/render/entity-facade-context.js.map +1 -0
- package/dist/render/group-states-css.d.ts +42 -0
- package/dist/render/group-states-css.d.ts.map +1 -0
- package/dist/render/group-states-css.js +73 -0
- package/dist/render/group-states-css.js.map +1 -0
- package/dist/render/hooks/useSurfaceEvents.d.ts +9 -0
- package/dist/render/hooks/useSurfaceEvents.d.ts.map +1 -0
- package/dist/render/hooks/useSurfaceEvents.js +9 -0
- package/dist/render/hooks/useSurfaceEvents.js.map +1 -0
- package/dist/render/hooks/useSurfaceId.d.ts +9 -0
- package/dist/render/hooks/useSurfaceId.d.ts.map +1 -0
- package/dist/render/hooks/useSurfaceId.js +9 -0
- package/dist/render/hooks/useSurfaceId.js.map +1 -0
- package/dist/render/index.d.ts +49 -0
- package/dist/render/index.d.ts.map +1 -0
- package/dist/render/index.js +61 -0
- package/dist/render/index.js.map +1 -0
- package/dist/render/interaction-rule-engine.d.ts +13 -0
- package/dist/render/interaction-rule-engine.d.ts.map +1 -0
- package/dist/render/interaction-rule-engine.js +47 -0
- package/dist/render/interaction-rule-engine.js.map +1 -0
- package/dist/render/keyframes-css.d.ts +32 -0
- package/dist/render/keyframes-css.d.ts.map +1 -0
- package/dist/render/keyframes-css.js +44 -0
- package/dist/render/keyframes-css.js.map +1 -0
- package/dist/render/query-state.d.ts +4 -0
- package/dist/render/query-state.d.ts.map +1 -0
- package/dist/render/query-state.js +70 -0
- package/dist/render/query-state.js.map +1 -0
- package/dist/render/renderer.d.ts +45 -0
- package/dist/render/renderer.d.ts.map +1 -0
- package/dist/render/renderer.js +937 -0
- package/dist/render/renderer.js.map +1 -0
- package/dist/render/resolve-expressions.d.ts +38 -0
- package/dist/render/resolve-expressions.d.ts.map +1 -0
- package/dist/render/resolve-expressions.js +309 -0
- package/dist/render/resolve-expressions.js.map +1 -0
- package/dist/render/responsive-style-css.d.ts +43 -0
- package/dist/render/responsive-style-css.d.ts.map +1 -0
- package/dist/render/responsive-style-css.js +123 -0
- package/dist/render/responsive-style-css.js.map +1 -0
- package/dist/render/responsive.d.ts +50 -0
- package/dist/render/responsive.d.ts.map +1 -0
- package/dist/render/responsive.js +99 -0
- package/dist/render/responsive.js.map +1 -0
- package/dist/render/scoped-css.d.ts +72 -0
- package/dist/render/scoped-css.d.ts.map +1 -0
- package/dist/render/scoped-css.js +102 -0
- package/dist/render/scoped-css.js.map +1 -0
- package/dist/render/shell-selection.d.ts +70 -0
- package/dist/render/shell-selection.d.ts.map +1 -0
- package/dist/render/shell-selection.js +117 -0
- package/dist/render/shell-selection.js.map +1 -0
- package/dist/render/states-css.d.ts +33 -0
- package/dist/render/states-css.d.ts.map +1 -0
- package/dist/render/states-css.js +63 -0
- package/dist/render/states-css.js.map +1 -0
- package/dist/render/surface-data-context.d.ts +19 -0
- package/dist/render/surface-data-context.d.ts.map +1 -0
- package/dist/render/surface-data-context.js +21 -0
- package/dist/render/surface-data-context.js.map +1 -0
- package/dist/render/surface-event-bus.d.ts +20 -0
- package/dist/render/surface-event-bus.d.ts.map +1 -0
- package/dist/render/surface-event-bus.js +68 -0
- package/dist/render/surface-event-bus.js.map +1 -0
- package/dist/render/surface-event-context.d.ts +12 -0
- package/dist/render/surface-event-context.d.ts.map +1 -0
- package/dist/render/surface-event-context.js +12 -0
- package/dist/render/surface-event-context.js.map +1 -0
- package/dist/render/surface-id-context.d.ts +9 -0
- package/dist/render/surface-id-context.d.ts.map +1 -0
- package/dist/render/surface-id-context.js +9 -0
- package/dist/render/surface-id-context.js.map +1 -0
- package/dist/render/theme-utils.d.ts +15 -0
- package/dist/render/theme-utils.d.ts.map +1 -0
- package/dist/render/theme-utils.js +15 -0
- package/dist/render/theme-utils.js.map +1 -0
- package/dist/render/types.d.ts +283 -0
- package/dist/render/types.d.ts.map +1 -0
- package/dist/render/types.js +9 -0
- package/dist/render/types.js.map +1 -0
- package/dist/render/visibility-css.d.ts +43 -0
- package/dist/render/visibility-css.d.ts.map +1 -0
- package/dist/render/visibility-css.js +119 -0
- package/dist/render/visibility-css.js.map +1 -0
- package/dist/render/width-scope.d.ts +35 -0
- package/dist/render/width-scope.d.ts.map +1 -0
- package/dist/render/width-scope.js +44 -0
- package/dist/render/width-scope.js.map +1 -0
- package/dist/render/write-only-sources.d.ts +34 -0
- package/dist/render/write-only-sources.d.ts.map +1 -0
- package/dist/render/write-only-sources.js +99 -0
- package/dist/render/write-only-sources.js.map +1 -0
- package/dist/routing/index.d.ts +15 -0
- package/dist/routing/index.d.ts.map +1 -0
- package/dist/routing/index.js +15 -0
- package/dist/routing/index.js.map +1 -0
- package/dist/routing/router.d.ts +43 -0
- package/dist/routing/router.d.ts.map +1 -0
- package/dist/routing/router.js +218 -0
- package/dist/routing/router.js.map +1 -0
- package/dist/routing/types.d.ts +125 -0
- package/dist/routing/types.d.ts.map +1 -0
- package/dist/routing/types.js +9 -0
- package/dist/routing/types.js.map +1 -0
- package/dist/seo/generator.d.ts +40 -0
- package/dist/seo/generator.d.ts.map +1 -0
- package/dist/seo/generator.js +236 -0
- package/dist/seo/generator.js.map +1 -0
- package/dist/seo/index.d.ts +15 -0
- package/dist/seo/index.d.ts.map +1 -0
- package/dist/seo/index.js +15 -0
- package/dist/seo/index.js.map +1 -0
- package/dist/seo/types.d.ts +182 -0
- package/dist/seo/types.d.ts.map +1 -0
- package/dist/seo/types.js +9 -0
- package/dist/seo/types.js.map +1 -0
- package/dist/state/index.d.ts +16 -0
- package/dist/state/index.d.ts.map +1 -0
- package/dist/state/index.js +16 -0
- package/dist/state/index.js.map +1 -0
- package/dist/state/manager.d.ts +34 -0
- package/dist/state/manager.d.ts.map +1 -0
- package/dist/state/manager.js +81 -0
- package/dist/state/manager.js.map +1 -0
- package/dist/state/store.d.ts +41 -0
- package/dist/state/store.d.ts.map +1 -0
- package/dist/state/store.js +145 -0
- package/dist/state/store.js.map +1 -0
- package/dist/state/types.d.ts +108 -0
- package/dist/state/types.d.ts.map +1 -0
- package/dist/state/types.js +9 -0
- package/dist/state/types.js.map +1 -0
- package/dist/surface/expression.d.ts +66 -0
- package/dist/surface/expression.d.ts.map +1 -0
- package/dist/surface/expression.js +179 -0
- package/dist/surface/expression.js.map +1 -0
- package/dist/surface/index.d.ts +33 -0
- package/dist/surface/index.d.ts.map +1 -0
- package/dist/surface/index.js +25 -0
- package/dist/surface/index.js.map +1 -0
- package/dist/surface/interpreter.d.ts +97 -0
- package/dist/surface/interpreter.d.ts.map +1 -0
- package/dist/surface/interpreter.js +231 -0
- package/dist/surface/interpreter.js.map +1 -0
- package/dist/surface/layout.d.ts +55 -0
- package/dist/surface/layout.d.ts.map +1 -0
- package/dist/surface/layout.js +288 -0
- package/dist/surface/layout.js.map +1 -0
- package/dist/surface/output.d.ts +91 -0
- package/dist/surface/output.d.ts.map +1 -0
- package/dist/surface/output.js +104 -0
- package/dist/surface/output.js.map +1 -0
- package/dist/surface/primitives.d.ts +181 -0
- package/dist/surface/primitives.d.ts.map +1 -0
- package/dist/surface/primitives.js +339 -0
- package/dist/surface/primitives.js.map +1 -0
- package/dist/surface/renderer.d.ts +97 -0
- package/dist/surface/renderer.d.ts.map +1 -0
- package/dist/surface/renderer.js +190 -0
- package/dist/surface/renderer.js.map +1 -0
- package/dist/surface/schemas.d.ts +182 -0
- package/dist/surface/schemas.d.ts.map +1 -0
- package/dist/surface/schemas.js +142 -0
- package/dist/surface/schemas.js.map +1 -0
- package/dist/surface/transforms.d.ts +145 -0
- package/dist/surface/transforms.d.ts.map +1 -0
- package/dist/surface/transforms.js +120 -0
- package/dist/surface/transforms.js.map +1 -0
- package/dist/surface/types.d.ts +161 -0
- package/dist/surface/types.d.ts.map +1 -0
- package/dist/surface/types.js +51 -0
- package/dist/surface/types.js.map +1 -0
- package/dist/surface/validation.d.ts +124 -0
- package/dist/surface/validation.d.ts.map +1 -0
- package/dist/surface/validation.js +147 -0
- package/dist/surface/validation.js.map +1 -0
- package/dist/validator.d.ts +56 -0
- package/dist/validator.d.ts.map +1 -0
- package/dist/validator.js +100 -0
- package/dist/validator.js.map +1 -0
- package/package.json +105 -3
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @pwfabric/runtime/blocks
|
|
3
|
+
*
|
|
4
|
+
* Core UI block schemas, definitions, and React components for the PWFabric platform.
|
|
5
|
+
*
|
|
6
|
+
* @module @pwfabric/runtime/blocks
|
|
7
|
+
*/
|
|
8
|
+
// `./blocks/*` directory deleted — first-party block
|
|
9
|
+
// components live exclusively in `pwpack-source/<pack>/blocks/<cat>/<name>/component.tsx`
|
|
10
|
+
// and are loaded at runtime through the dynamic install pipeline.
|
|
11
|
+
export * from './registry.js';
|
|
12
|
+
export * from './composition-rules.js';
|
|
13
|
+
export * from './rule-engine.js';
|
|
14
|
+
export * from './component-types.js';
|
|
15
|
+
export { SurfaceEventContext } from './surface-event-context.js';
|
|
16
|
+
export { SurfaceIdContext } from './surface-id-context.js';
|
|
17
|
+
export { useSurfaceEvents, useSurfaceId } from './hooks.js';
|
|
18
|
+
// canonical test fixture — opt-in for suites that
|
|
19
|
+
// exercise registry-dependent behaviour (BlockRegistry, rule engine,
|
|
20
|
+
// composer prompt, block introspection). Production code must NOT
|
|
21
|
+
// import this; the install pipeline supplies block metadata via
|
|
22
|
+
// `useInstalledAtoms` (browser) / `installedBlocksOverride` (server).
|
|
23
|
+
export { populateTestBlocks, TEST_BLOCK_DEFINITIONS } from './__test-fixtures__/block-fixtures.js';
|
|
24
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/blocks/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,qDAAqD;AACrD,0FAA0F;AAC1F,kEAAkE;AAClE,cAAc,eAAe,CAAA;AAC7B,cAAc,wBAAwB,CAAA;AACtC,cAAc,kBAAkB,CAAA;AAChC,cAAc,sBAAsB,CAAA;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE3D,kDAAkD;AAClD,qEAAqE;AACrE,kEAAkE;AAClE,gEAAgE;AAChE,sEAAsE;AACtE,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAA"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Block Registry
|
|
3
|
+
*
|
|
4
|
+
* CP7: Central registry for block type definitions
|
|
5
|
+
*
|
|
6
|
+
* @module @pwfabric/core/blocks/registry
|
|
7
|
+
*/
|
|
8
|
+
import type { BlockDefinition, BlockCategory } from '@pwfabric/core';
|
|
9
|
+
/**
|
|
10
|
+
* Block Registry
|
|
11
|
+
*
|
|
12
|
+
* Manages registration and retrieval of block definitions.
|
|
13
|
+
*/
|
|
14
|
+
export declare class BlockRegistry {
|
|
15
|
+
private readonly definitions;
|
|
16
|
+
/**
|
|
17
|
+
* Register a block definition
|
|
18
|
+
*
|
|
19
|
+
* @param definition - Block definition to register
|
|
20
|
+
* @throws Error if block type already registered
|
|
21
|
+
*/
|
|
22
|
+
register(definition: BlockDefinition): void;
|
|
23
|
+
/**
|
|
24
|
+
* Get a block definition by type
|
|
25
|
+
*
|
|
26
|
+
* @param type - Block type identifier
|
|
27
|
+
* @returns Block definition or undefined
|
|
28
|
+
*/
|
|
29
|
+
get(type: string): BlockDefinition | undefined;
|
|
30
|
+
/**
|
|
31
|
+
* Check if a block type is registered
|
|
32
|
+
*
|
|
33
|
+
* @param type - Block type identifier
|
|
34
|
+
* @returns True if registered
|
|
35
|
+
*/
|
|
36
|
+
has(type: string): boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Get all registered block definitions
|
|
39
|
+
*
|
|
40
|
+
* @returns Array of all block definitions
|
|
41
|
+
*/
|
|
42
|
+
list(): readonly BlockDefinition[];
|
|
43
|
+
/**
|
|
44
|
+
* Get block definitions by category
|
|
45
|
+
*
|
|
46
|
+
* @param category - Block category
|
|
47
|
+
* @returns Array of block definitions in category
|
|
48
|
+
*/
|
|
49
|
+
getByCategory(category: BlockCategory): readonly BlockDefinition[];
|
|
50
|
+
/**
|
|
51
|
+
* Get all registered block types
|
|
52
|
+
*
|
|
53
|
+
* @returns Array of block type identifiers
|
|
54
|
+
*/
|
|
55
|
+
types(): readonly string[];
|
|
56
|
+
/**
|
|
57
|
+
* Unregister a block definition
|
|
58
|
+
*
|
|
59
|
+
* @param type - Block type identifier
|
|
60
|
+
* @returns True if block was unregistered
|
|
61
|
+
*/
|
|
62
|
+
unregister(type: string): boolean;
|
|
63
|
+
/**
|
|
64
|
+
* Clear all registrations
|
|
65
|
+
*/
|
|
66
|
+
clear(): void;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Default block registry singleton (intentionally empty post-).
|
|
70
|
+
*/
|
|
71
|
+
export declare const blockRegistry: BlockRegistry;
|
|
72
|
+
/**
|
|
73
|
+
* Get the default block registry
|
|
74
|
+
*
|
|
75
|
+
* @returns The default block registry instance
|
|
76
|
+
*/
|
|
77
|
+
export declare function getBlockRegistry(): BlockRegistry;
|
|
78
|
+
/**
|
|
79
|
+
* Create a new block registry
|
|
80
|
+
*
|
|
81
|
+
* @param populate - Whether to populate with default blocks
|
|
82
|
+
* @returns New block registry instance
|
|
83
|
+
*/
|
|
84
|
+
export declare function createBlockRegistry(populate?: boolean): BlockRegistry;
|
|
85
|
+
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/blocks/registry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAepE;;;;GAIG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqC;IAEjE;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI;IAO3C;;;;;OAKG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IAI9C;;;;;OAKG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B;;;;OAIG;IACH,IAAI,IAAI,SAAS,eAAe,EAAE;IAIlC;;;;;OAKG;IACH,aAAa,CAAC,QAAQ,EAAE,aAAa,GAAG,SAAS,eAAe,EAAE;IAIlE;;;;OAIG;IACH,KAAK,IAAI,SAAS,MAAM,EAAE;IAI1B;;;;;OAKG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIjC;;OAEG;IACH,KAAK,IAAI,IAAI;CAGd;AAkBD;;GAEG;AACH,eAAO,MAAM,aAAa,eAA0B,CAAA;AAEpD;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,aAAa,CAEhD;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,UAAQ,GAAG,aAAa,CAKnE"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Block Registry
|
|
3
|
+
*
|
|
4
|
+
* CP7: Central registry for block type definitions
|
|
5
|
+
*
|
|
6
|
+
* @module @pwfabric/core/blocks/registry
|
|
7
|
+
*/
|
|
8
|
+
// legacy first-party `BlockDefinition` imports moved
|
|
9
|
+
// to the `__test-fixtures__/block-fixtures.ts` module so this
|
|
10
|
+
// production registry file no longer pulls the 45 hardcoded blocks
|
|
11
|
+
// into its bundle. Block authoring is canonical in
|
|
12
|
+
// `pwpack-source/<pack>/.../component.tsx`; the runtime registry is
|
|
13
|
+
// populated per world via `getBlockRegistryForWorld` (browser) or
|
|
14
|
+
// `assembleCanonicalRegistry({installedBlocksOverride})` (server).
|
|
15
|
+
// Tests that need a populated singleton must explicitly import
|
|
16
|
+
// `populateTestBlocks` from the fixtures module.
|
|
17
|
+
// ============================================================
|
|
18
|
+
// BLOCK REGISTRY CLASS
|
|
19
|
+
// ============================================================
|
|
20
|
+
/**
|
|
21
|
+
* Block Registry
|
|
22
|
+
*
|
|
23
|
+
* Manages registration and retrieval of block definitions.
|
|
24
|
+
*/
|
|
25
|
+
export class BlockRegistry {
|
|
26
|
+
definitions = new Map();
|
|
27
|
+
/**
|
|
28
|
+
* Register a block definition
|
|
29
|
+
*
|
|
30
|
+
* @param definition - Block definition to register
|
|
31
|
+
* @throws Error if block type already registered
|
|
32
|
+
*/
|
|
33
|
+
register(definition) {
|
|
34
|
+
if (this.definitions.has(definition.type)) {
|
|
35
|
+
throw new Error(`Block type "${definition.type}" is already registered`);
|
|
36
|
+
}
|
|
37
|
+
this.definitions.set(definition.type, definition);
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Get a block definition by type
|
|
41
|
+
*
|
|
42
|
+
* @param type - Block type identifier
|
|
43
|
+
* @returns Block definition or undefined
|
|
44
|
+
*/
|
|
45
|
+
get(type) {
|
|
46
|
+
return this.definitions.get(type);
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Check if a block type is registered
|
|
50
|
+
*
|
|
51
|
+
* @param type - Block type identifier
|
|
52
|
+
* @returns True if registered
|
|
53
|
+
*/
|
|
54
|
+
has(type) {
|
|
55
|
+
return this.definitions.has(type);
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Get all registered block definitions
|
|
59
|
+
*
|
|
60
|
+
* @returns Array of all block definitions
|
|
61
|
+
*/
|
|
62
|
+
list() {
|
|
63
|
+
return Array.from(this.definitions.values());
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Get block definitions by category
|
|
67
|
+
*
|
|
68
|
+
* @param category - Block category
|
|
69
|
+
* @returns Array of block definitions in category
|
|
70
|
+
*/
|
|
71
|
+
getByCategory(category) {
|
|
72
|
+
return this.list().filter((def) => def.category === category);
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Get all registered block types
|
|
76
|
+
*
|
|
77
|
+
* @returns Array of block type identifiers
|
|
78
|
+
*/
|
|
79
|
+
types() {
|
|
80
|
+
return Array.from(this.definitions.keys());
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Unregister a block definition
|
|
84
|
+
*
|
|
85
|
+
* @param type - Block type identifier
|
|
86
|
+
* @returns True if block was unregistered
|
|
87
|
+
*/
|
|
88
|
+
unregister(type) {
|
|
89
|
+
return this.definitions.delete(type);
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Clear all registrations
|
|
93
|
+
*/
|
|
94
|
+
clear() {
|
|
95
|
+
this.definitions.clear();
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
// ============================================================
|
|
99
|
+
// REGISTRY SINGLETON
|
|
100
|
+
// ============================================================
|
|
101
|
+
/**
|
|
102
|
+
* the default block registry is empty. Per-world content
|
|
103
|
+
* comes through the dynamic install pipeline — see
|
|
104
|
+
* `getBlockRegistryForWorld` (browser) / `loadInstalledBlocksForWorld`
|
|
105
|
+
* (server). The empty singleton is kept for legacy callers that just
|
|
106
|
+
* type-check against `BlockRegistry`; production code paths must NOT
|
|
107
|
+
* depend on it being pre-populated.
|
|
108
|
+
*/
|
|
109
|
+
function createDefaultRegistry() {
|
|
110
|
+
return new BlockRegistry();
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Default block registry singleton (intentionally empty post-).
|
|
114
|
+
*/
|
|
115
|
+
export const blockRegistry = createDefaultRegistry();
|
|
116
|
+
/**
|
|
117
|
+
* Get the default block registry
|
|
118
|
+
*
|
|
119
|
+
* @returns The default block registry instance
|
|
120
|
+
*/
|
|
121
|
+
export function getBlockRegistry() {
|
|
122
|
+
return blockRegistry;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Create a new block registry
|
|
126
|
+
*
|
|
127
|
+
* @param populate - Whether to populate with default blocks
|
|
128
|
+
* @returns New block registry instance
|
|
129
|
+
*/
|
|
130
|
+
export function createBlockRegistry(populate = false) {
|
|
131
|
+
if (populate) {
|
|
132
|
+
return createDefaultRegistry();
|
|
133
|
+
}
|
|
134
|
+
return new BlockRegistry();
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/blocks/registry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,qDAAqD;AACrD,8DAA8D;AAC9D,mEAAmE;AACnE,mDAAmD;AACnD,oEAAoE;AACpE,kEAAkE;AAClE,mEAAmE;AACnE,+DAA+D;AAC/D,iDAAiD;AAEjD,+DAA+D;AAC/D,uBAAuB;AACvB,+DAA+D;AAE/D;;;;GAIG;AACH,MAAM,OAAO,aAAa;IACP,WAAW,GAAG,IAAI,GAAG,EAA2B,CAAA;IAEjE;;;;;OAKG;IACH,QAAQ,CAAC,UAA2B;QAClC,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,eAAe,UAAU,CAAC,IAAI,yBAAyB,CAAC,CAAA;QAC1E,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;IACnD,CAAC;IAED;;;;;OAKG;IACH,GAAG,CAAC,IAAY;QACd,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IACnC,CAAC;IAED;;;;;OAKG;IACH,GAAG,CAAC,IAAY;QACd,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IACnC,CAAC;IAED;;;;OAIG;IACH,IAAI;QACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAA;IAC9C,CAAC;IAED;;;;;OAKG;IACH,aAAa,CAAC,QAAuB;QACnC,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAA;IAC/D,CAAC;IAED;;;;OAIG;IACH,KAAK;QACH,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAA;IAC5C,CAAC;IAED;;;;;OAKG;IACH,UAAU,CAAC,IAAY;QACrB,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACtC,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAA;IAC1B,CAAC;CACF;AAED,+DAA+D;AAC/D,qBAAqB;AACrB,+DAA+D;AAE/D;;;;;;;GAOG;AACH,SAAS,qBAAqB;IAC5B,OAAO,IAAI,aAAa,EAAE,CAAA;AAC5B,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,qBAAqB,EAAE,CAAA;AAEpD;;;;GAIG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO,aAAa,CAAA;AACtB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,QAAQ,GAAG,KAAK;IAClD,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,qBAAqB,EAAE,CAAA;IAChC,CAAC;IACD,OAAO,IAAI,aAAa,EAAE,CAAA;AAC5B,CAAC"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Composition Rule Engine
|
|
3
|
+
*
|
|
4
|
+
* CP7: Validation engine for block compositions
|
|
5
|
+
* Block metadata accessor is now an injectable provider so
|
|
6
|
+
* web-side editor flows can supply install-aware data without depending on
|
|
7
|
+
* the populated runtime singleton.
|
|
8
|
+
*
|
|
9
|
+
* @module @pwfabric/core/blocks/rule-engine
|
|
10
|
+
*/
|
|
11
|
+
import type { Block, BlockValidationResult as ValidationResult, CompositionRule } from '@pwfabric/core';
|
|
12
|
+
/**
|
|
13
|
+
* Snapshot of the block metadata the rule engine consults during
|
|
14
|
+
* validation. A subset of `BlockDefinition` — only the fields that
|
|
15
|
+
* affect composition decisions (name + child/parent rules).
|
|
16
|
+
*/
|
|
17
|
+
export interface BlockMetaSnapshot {
|
|
18
|
+
readonly type: string;
|
|
19
|
+
readonly name: string;
|
|
20
|
+
readonly canHaveChildren: boolean;
|
|
21
|
+
readonly allowedChildren?: readonly string[];
|
|
22
|
+
readonly allowedParents?: readonly string[];
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Pluggable block metadata accessor. The default implementation is a
|
|
26
|
+
* thin adapter over the legacy `blockRegistry` singleton; install-aware
|
|
27
|
+
* editor flows construct their own provider that wraps
|
|
28
|
+
* `useInstalledAtoms` data.
|
|
29
|
+
*/
|
|
30
|
+
export interface BlockMetaProvider {
|
|
31
|
+
get(type: string): BlockMetaSnapshot | undefined;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Default provider — reads from the runtime `blockRegistry` singleton.
|
|
35
|
+
* Returns `undefined` for types absent from the singleton (post-
|
|
36
|
+
* the singleton is empty by default).
|
|
37
|
+
*/
|
|
38
|
+
export declare const defaultBlockMetaProvider: BlockMetaProvider;
|
|
39
|
+
export declare const CompositionErrorCode: {
|
|
40
|
+
readonly MAX_DEPTH_EXCEEDED: "MAX_DEPTH_EXCEEDED";
|
|
41
|
+
readonly INVALID_CHILD: "INVALID_CHILD";
|
|
42
|
+
readonly INVALID_PARENT: "INVALID_PARENT";
|
|
43
|
+
readonly NO_CHILDREN_ALLOWED: "NO_CHILDREN_ALLOWED";
|
|
44
|
+
readonly SELF_NESTING: "SELF_NESTING";
|
|
45
|
+
readonly UNKNOWN_BLOCK_TYPE: "UNKNOWN_BLOCK_TYPE";
|
|
46
|
+
readonly ORPHANED_BLOCK: "ORPHANED_BLOCK";
|
|
47
|
+
};
|
|
48
|
+
export type CompositionErrorCodeType = (typeof CompositionErrorCode)[keyof typeof CompositionErrorCode];
|
|
49
|
+
/**
|
|
50
|
+
* Composition Rule Engine
|
|
51
|
+
*
|
|
52
|
+
* Validates block compositions against defined rules.
|
|
53
|
+
*/
|
|
54
|
+
export declare class CompositionRuleEngine {
|
|
55
|
+
/** Rules for this engine instance (reserved for future custom rule support) */
|
|
56
|
+
readonly rules: readonly CompositionRule[];
|
|
57
|
+
/** Block metadata accessor */
|
|
58
|
+
readonly meta: BlockMetaProvider;
|
|
59
|
+
constructor(rules?: readonly CompositionRule[], meta?: BlockMetaProvider);
|
|
60
|
+
/**
|
|
61
|
+
* Check if a child can be inserted into a parent
|
|
62
|
+
*
|
|
63
|
+
* @param parent - Parent block (null for root level)
|
|
64
|
+
* @param childType - Type of child block to insert
|
|
65
|
+
* @param currentDepth - Current nesting depth
|
|
66
|
+
* @returns Validation result
|
|
67
|
+
*/
|
|
68
|
+
canInsert(parent: Block | null, childType: string, currentDepth?: number): ValidationResult;
|
|
69
|
+
/**
|
|
70
|
+
* Check if a block can be moved to a new parent
|
|
71
|
+
*
|
|
72
|
+
* @param block - Block to move
|
|
73
|
+
* @param newParent - New parent block (null for root level)
|
|
74
|
+
* @param currentDepth - Current nesting depth
|
|
75
|
+
* @returns Validation result
|
|
76
|
+
*/
|
|
77
|
+
canMove(block: Block, newParent: Block | null, currentDepth?: number): ValidationResult;
|
|
78
|
+
/**
|
|
79
|
+
* Validate an entire block tree
|
|
80
|
+
*
|
|
81
|
+
* @param blocks - Root level blocks to validate
|
|
82
|
+
* @returns Array of validation errors
|
|
83
|
+
*/
|
|
84
|
+
validateTree(blocks: readonly Block[]): ValidationResult;
|
|
85
|
+
/**
|
|
86
|
+
* Get the depth of a block in a tree
|
|
87
|
+
*
|
|
88
|
+
* @param blocks - Root level blocks
|
|
89
|
+
* @param targetId - ID of block to find
|
|
90
|
+
* @returns Depth of block or -1 if not found
|
|
91
|
+
*/
|
|
92
|
+
getBlockDepth(blocks: readonly Block[], targetId: string): number;
|
|
93
|
+
/**
|
|
94
|
+
* Check if a block is a descendant of another block
|
|
95
|
+
*
|
|
96
|
+
* @param block - Block to check descendants of
|
|
97
|
+
* @param potentialAncestor - Potential ancestor block
|
|
98
|
+
* @returns True if block is a descendant
|
|
99
|
+
*/
|
|
100
|
+
private isDescendantOf;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Default composition rule engine singleton
|
|
104
|
+
*/
|
|
105
|
+
export declare const compositionRuleEngine: CompositionRuleEngine;
|
|
106
|
+
/**
|
|
107
|
+
* Get the default composition rule engine
|
|
108
|
+
*
|
|
109
|
+
* @returns The default rule engine instance
|
|
110
|
+
*/
|
|
111
|
+
export declare function getCompositionRuleEngine(): CompositionRuleEngine;
|
|
112
|
+
/**
|
|
113
|
+
* Create a new composition rule engine
|
|
114
|
+
*
|
|
115
|
+
* @param rules - Optional custom rules
|
|
116
|
+
* @param meta - Optional block metadata provider
|
|
117
|
+
* @returns New rule engine instance
|
|
118
|
+
*/
|
|
119
|
+
export declare function createCompositionRuleEngine(rules?: readonly CompositionRule[], meta?: BlockMetaProvider): CompositionRuleEngine;
|
|
120
|
+
/**
|
|
121
|
+
* Check if a block can be inserted (convenience function)
|
|
122
|
+
*/
|
|
123
|
+
export declare function canInsertBlock(parent: Block | null, childType: string, currentDepth?: number): ValidationResult;
|
|
124
|
+
/**
|
|
125
|
+
* Check if a block can be moved (convenience function)
|
|
126
|
+
*/
|
|
127
|
+
export declare function canMoveBlock(block: Block, newParent: Block | null, currentDepth?: number): ValidationResult;
|
|
128
|
+
/**
|
|
129
|
+
* Validate a block tree (convenience function)
|
|
130
|
+
*/
|
|
131
|
+
export declare function validateBlockTree(blocks: readonly Block[]): ValidationResult;
|
|
132
|
+
//# sourceMappingURL=rule-engine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rule-engine.d.ts","sourceRoot":"","sources":["../../src/blocks/rule-engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EACV,KAAK,EACL,qBAAqB,IAAI,gBAAgB,EAEzC,eAAe,EAEhB,MAAM,gBAAgB,CAAA;AASvB;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAC5C,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAC5C;AAED;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAAA;CACjD;AAYD;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,EAAE,iBAKtC,CAAA;AAMD,eAAO,MAAM,oBAAoB;;;;;;;;CAQvB,CAAA;AAEV,MAAM,MAAM,wBAAwB,GAClC,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,OAAO,oBAAoB,CAAC,CAAA;AAMlE;;;;GAIG;AACH,qBAAa,qBAAqB;IAChC,+EAA+E;IAC/E,QAAQ,CAAC,KAAK,EAAE,SAAS,eAAe,EAAE,CAAA;IAC1C,8BAA8B;IAC9B,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAA;gBAG9B,KAAK,GAAE,SAAS,eAAe,EAAqB,EACpD,IAAI,GAAE,iBAA4C;IAMpD;;;;;;;OAOG;IACH,SAAS,CAAC,MAAM,EAAE,KAAK,GAAG,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,SAAI,GAAG,gBAAgB;IAyFtF;;;;;;;OAOG;IACH,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,GAAG,IAAI,EAAE,YAAY,SAAI,GAAG,gBAAgB;IAkBlF;;;;;OAKG;IACH,YAAY,CAAC,MAAM,EAAE,SAAS,KAAK,EAAE,GAAG,gBAAgB;IA0DxD;;;;;;OAMG;IACH,aAAa,CAAC,MAAM,EAAE,SAAS,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IAiBjE;;;;;;OAMG;IACH,OAAO,CAAC,cAAc;CAevB;AAMD;;GAEG;AACH,eAAO,MAAM,qBAAqB,uBAA8B,CAAA;AAEhE;;;;GAIG;AACH,wBAAgB,wBAAwB,IAAI,qBAAqB,CAEhE;AAED;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,CAAC,EAAE,SAAS,eAAe,EAAE,EAClC,IAAI,CAAC,EAAE,iBAAiB,GACvB,qBAAqB,CAEvB;AAMD;;GAEG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,KAAK,GAAG,IAAI,EACpB,SAAS,EAAE,MAAM,EACjB,YAAY,SAAI,GACf,gBAAgB,CAElB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,KAAK,GAAG,IAAI,EACvB,YAAY,SAAI,GACf,gBAAgB,CAElB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,KAAK,EAAE,GAAG,gBAAgB,CAE5E"}
|