@cocoar/vue-page-builder 2.19.0 → 3.0.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/IDP_INTEGRATION.md +350 -0
- package/README.md +498 -169
- package/dist/BuilderElementCodeDialog-DXGNzleE.js +64 -0
- package/dist/BuilderExpressionDialog-yIfwYgXD.js +61 -0
- package/dist/BuilderLogicPanel-C9urz5Cd.js +68 -0
- package/dist/BuilderPageRootCodeDialog-CQsg_ozW.js +61 -0
- package/dist/CoarPageBuilder.vue.d.ts +71 -1
- package/dist/CoarPageBuilder.vue.d.ts.map +1 -1
- package/dist/CoarPageRenderer.vue.d.ts +36 -1
- package/dist/CoarPageRenderer.vue.d.ts.map +1 -1
- package/dist/PageNode.vue.d.ts +9 -1
- package/dist/PageNode.vue.d.ts.map +1 -1
- package/dist/VisualMarkupInspector-CmAOc-CH.js +54 -0
- package/dist/_plugin-vue_export-helper-BTgDAbhb.js +8 -0
- package/dist/actionValues.d.ts +21 -0
- package/dist/actionValues.d.ts.map +1 -0
- package/dist/assets/pageScriptRuntime.worker-Cll8Lm_I.js +25 -0
- package/dist/builder/BuilderCanvas.vue.d.ts +31 -1
- package/dist/builder/BuilderCanvas.vue.d.ts.map +1 -1
- package/dist/builder/BuilderCanvasNode.vue.d.ts.map +1 -1
- package/dist/builder/BuilderCompositionsPanel.vue.d.ts +3 -0
- package/dist/builder/BuilderCompositionsPanel.vue.d.ts.map +1 -0
- package/dist/builder/BuilderElementCodeDialog.vue.d.ts +14 -0
- package/dist/builder/BuilderElementCodeDialog.vue.d.ts.map +1 -0
- package/dist/builder/BuilderExpressionDialog.vue.d.ts +11 -0
- package/dist/builder/BuilderExpressionDialog.vue.d.ts.map +1 -0
- package/dist/builder/BuilderFxButton.vue.d.ts +28 -0
- package/dist/builder/BuilderFxButton.vue.d.ts.map +1 -0
- package/dist/builder/BuilderLogicPanel.vue.d.ts +3 -0
- package/dist/builder/BuilderLogicPanel.vue.d.ts.map +1 -0
- package/dist/builder/BuilderOutline.vue.d.ts.map +1 -1
- package/dist/builder/BuilderOutlineNode.vue.d.ts.map +1 -1
- package/dist/builder/BuilderPageRootCodeDialog.vue.d.ts +13 -0
- package/dist/builder/BuilderPageRootCodeDialog.vue.d.ts.map +1 -0
- package/dist/builder/BuilderPalette.vue.d.ts +3 -0
- package/dist/builder/BuilderPalette.vue.d.ts.map +1 -0
- package/dist/builder/BuilderPropsPanel.vue.d.ts.map +1 -1
- package/dist/builder/BuilderTranslationsPanel.vue.d.ts +6 -0
- package/dist/builder/BuilderTranslationsPanel.vue.d.ts.map +1 -0
- package/dist/builder/boxSides.d.ts +30 -0
- package/dist/builder/boxSides.d.ts.map +1 -0
- package/dist/builder/builderContext.d.ts +46 -4
- package/dist/builder/builderContext.d.ts.map +1 -1
- package/dist/builder/expressionAuthoring.d.ts +7 -0
- package/dist/builder/expressionAuthoring.d.ts.map +1 -0
- package/dist/builder/nodeDefaults.d.ts +10 -5
- package/dist/builder/nodeDefaults.d.ts.map +1 -1
- package/dist/builder/pageCodeAuthoring.d.ts +11 -0
- package/dist/builder/pageCodeAuthoring.d.ts.map +1 -0
- package/dist/builder/props/ActionPropsEditor.vue.d.ts +9 -0
- package/dist/builder/props/ActionPropsEditor.vue.d.ts.map +1 -0
- package/dist/builder/props/BuilderViewportControl.vue.d.ts +23 -0
- package/dist/builder/props/BuilderViewportControl.vue.d.ts.map +1 -0
- package/dist/builder/props/BuilderZoomControl.vue.d.ts +24 -0
- package/dist/builder/props/BuilderZoomControl.vue.d.ts.map +1 -0
- package/dist/builder/props/CompoundLengthProperty.vue.d.ts +20 -0
- package/dist/builder/props/CompoundLengthProperty.vue.d.ts.map +1 -0
- package/dist/builder/props/StyleProps.vue.d.ts +1 -0
- package/dist/builder/props/StyleProps.vue.d.ts.map +1 -1
- package/dist/builder/schemaMigrateV1.d.ts +7 -0
- package/dist/builder/schemaMigrateV1.d.ts.map +1 -1
- package/dist/builder/schemaNormalize.d.ts.map +1 -1
- package/dist/builder/{useSchemaValidation.d.ts → useAuthoringFindings.d.ts} +8 -8
- package/dist/builder/useAuthoringFindings.d.ts.map +1 -0
- package/dist/builder/useBuilderDnd.d.ts +8 -1
- package/dist/builder/useBuilderDnd.d.ts.map +1 -1
- package/dist/builder/useCanvasZoom.d.ts +50 -0
- package/dist/builder/useCanvasZoom.d.ts.map +1 -0
- package/dist/builder/usePageBuilder.d.ts +2 -0
- package/dist/builder/usePageBuilder.d.ts.map +1 -1
- package/dist/builder/usePageCompositions.d.ts +71 -0
- package/dist/builder/usePageCompositions.d.ts.map +1 -0
- package/dist/builderContext-B3rX2dxZ.js +4 -0
- package/dist/compositions.d.ts +79 -0
- package/dist/compositions.d.ts.map +1 -0
- package/dist/conditions.d.ts +8 -0
- package/dist/conditions.d.ts.map +1 -0
- package/dist/context.d.ts +17 -3
- package/dist/context.d.ts.map +1 -1
- package/dist/documentValidation.d.ts +12 -0
- package/dist/documentValidation.d.ts.map +1 -0
- package/dist/elements/builtins.d.ts.map +1 -1
- package/dist/elements/button/ButtonInspector.vue.d.ts.map +1 -1
- package/dist/elements/button/ButtonRenderer.vue.d.ts.map +1 -1
- package/dist/elements/button/index.d.ts +2 -2
- package/dist/elements/button/index.d.ts.map +1 -1
- package/dist/elements/card/CardInspector.vue.d.ts.map +1 -1
- package/dist/elements/card/index.d.ts.map +1 -1
- package/dist/elements/checkbox/CheckboxDefaultInput.vue.d.ts.map +1 -1
- package/dist/elements/checkbox/CheckboxInspector.vue.d.ts.map +1 -1
- package/dist/elements/checkbox/CheckboxRenderer.vue.d.ts.map +1 -1
- package/dist/elements/checkbox/index.d.ts.map +1 -1
- package/dist/elements/date-input/DateInputDefaultInput.vue.d.ts.map +1 -1
- package/dist/elements/date-input/DateInputInspector.vue.d.ts.map +1 -1
- package/dist/elements/date-input/index.d.ts.map +1 -1
- package/dist/elements/datetime-input/DateTimeInputDefaultInput.vue.d.ts.map +1 -1
- package/dist/elements/datetime-input/DateTimeInputInspector.vue.d.ts.map +1 -1
- package/dist/elements/datetime-input/index.d.ts.map +1 -1
- package/dist/elements/feedback/FeedbackInspector.vue.d.ts +8 -0
- package/dist/elements/feedback/FeedbackInspector.vue.d.ts.map +1 -0
- package/dist/elements/feedback/FeedbackPreview.vue.d.ts +7 -0
- package/dist/elements/feedback/FeedbackPreview.vue.d.ts.map +1 -0
- package/dist/elements/{stack/StackInspector.vue.d.ts → feedback/FeedbackRenderer.vue.d.ts} +3 -4
- package/dist/elements/feedback/FeedbackRenderer.vue.d.ts.map +1 -0
- package/dist/elements/feedback/index.d.ts +6 -0
- package/dist/elements/feedback/index.d.ts.map +1 -0
- package/dist/elements/heading/HeadingInspector.vue.d.ts.map +1 -1
- package/dist/elements/heading/index.d.ts.map +1 -1
- package/dist/elements/image/ImageInspector.vue.d.ts.map +1 -1
- package/dist/elements/image/index.d.ts.map +1 -1
- package/dist/elements/link/LinkInspector.vue.d.ts +1 -1
- package/dist/elements/link/LinkInspector.vue.d.ts.map +1 -1
- package/dist/elements/link/index.d.ts +1 -2
- package/dist/elements/link/index.d.ts.map +1 -1
- package/dist/elements/multi-select/MultiSelectDefaultInput.vue.d.ts.map +1 -1
- package/dist/elements/multi-select/MultiSelectInspector.vue.d.ts.map +1 -1
- package/dist/elements/multi-select/index.d.ts.map +1 -1
- package/dist/elements/note/NoteInspector.vue.d.ts.map +1 -1
- package/dist/elements/number-input/NumberInputDefaultInput.vue.d.ts.map +1 -1
- package/dist/elements/number-input/NumberInputInspector.vue.d.ts.map +1 -1
- package/dist/elements/number-input/index.d.ts.map +1 -1
- package/dist/elements/otp-input/OtpInputInspector.vue.d.ts.map +1 -1
- package/dist/elements/otp-input/index.d.ts.map +1 -1
- package/dist/elements/paragraph/index.d.ts.map +1 -1
- package/dist/elements/password-input/PasswordInputInspector.vue.d.ts.map +1 -1
- package/dist/elements/password-input/index.d.ts.map +1 -1
- package/dist/elements/previewUtils.d.ts.map +1 -1
- package/dist/elements/radio-group/RadioGroupDefaultInput.vue.d.ts.map +1 -1
- package/dist/elements/radio-group/RadioGroupInspector.vue.d.ts.map +1 -1
- package/dist/elements/radio-group/index.d.ts.map +1 -1
- package/dist/elements/registry.d.ts +265 -2
- package/dist/elements/registry.d.ts.map +1 -1
- package/dist/elements/repeat/RepeatInspector.vue.d.ts +8 -0
- package/dist/elements/repeat/RepeatInspector.vue.d.ts.map +1 -0
- package/dist/elements/repeat/RepeatRenderer.vue.d.ts +29 -0
- package/dist/elements/repeat/RepeatRenderer.vue.d.ts.map +1 -0
- package/dist/elements/repeat/index.d.ts +10 -0
- package/dist/elements/repeat/index.d.ts.map +1 -0
- package/dist/elements/section/SectionInspector.vue.d.ts.map +1 -1
- package/dist/elements/section/index.d.ts.map +1 -1
- package/dist/elements/select/SelectDefaultInput.vue.d.ts.map +1 -1
- package/dist/elements/select/SelectInspector.vue.d.ts.map +1 -1
- package/dist/elements/select/index.d.ts.map +1 -1
- package/dist/elements/spacer/SpacerInspector.vue.d.ts.map +1 -1
- package/dist/elements/stack/StackRenderer.vue.d.ts.map +1 -1
- package/dist/elements/stack/index.d.ts.map +1 -1
- package/dist/elements/switch/SwitchDefaultInput.vue.d.ts.map +1 -1
- package/dist/elements/switch/SwitchInspector.vue.d.ts.map +1 -1
- package/dist/elements/switch/index.d.ts.map +1 -1
- package/dist/elements/text-input/TextInputInspector.vue.d.ts.map +1 -1
- package/dist/elements/text-input/index.d.ts.map +1 -1
- package/dist/elements/usePageElement.d.ts +6 -2
- package/dist/elements/usePageElement.d.ts.map +1 -1
- package/dist/elements/visual-markup/VisualMarkupInspector.vue.d.ts +10 -0
- package/dist/elements/visual-markup/VisualMarkupInspector.vue.d.ts.map +1 -0
- package/dist/elements/visual-markup/VisualMarkupPreview.vue.d.ts +7 -0
- package/dist/elements/visual-markup/VisualMarkupPreview.vue.d.ts.map +1 -0
- package/dist/elements/visual-markup/VisualMarkupRenderer.vue.d.ts +7 -0
- package/dist/elements/visual-markup/VisualMarkupRenderer.vue.d.ts.map +1 -0
- package/dist/elements/visual-markup/index.d.ts +6 -0
- package/dist/elements/visual-markup/index.d.ts.map +1 -0
- package/dist/elements/visual-markup/visualDocument.d.ts +13 -0
- package/dist/elements/visual-markup/visualDocument.d.ts.map +1 -0
- package/dist/expressionAuthoring-7iAyadA3.js +74 -0
- package/dist/index.css +1 -1
- package/dist/index.d.ts +32 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8571 -3448
- package/dist/pageCode-echPQdna.js +455 -0
- package/dist/pageCode.d.ts +101 -0
- package/dist/pageCode.d.ts.map +1 -0
- package/dist/pageCodeAuthoring-C8grEAUf.js +123 -0
- package/dist/responsive.d.ts +7 -0
- package/dist/responsive.d.ts.map +1 -0
- package/dist/runtime/PageRuntimeHost.d.ts +57 -0
- package/dist/runtime/PageRuntimeHost.d.ts.map +1 -0
- package/dist/runtime/PageScriptRuntime.d.ts +62 -0
- package/dist/runtime/PageScriptRuntime.d.ts.map +1 -0
- package/dist/runtime/pageScriptRuntime.worker.d.ts +1 -0
- package/dist/runtime/pageScriptRuntime.worker.d.ts.map +1 -0
- package/dist/runtime/runtimeProtocol.d.ts +150 -0
- package/dist/runtime/runtimeProtocol.d.ts.map +1 -0
- package/dist/runtime/usePageCodeRuntime.d.ts +32 -0
- package/dist/runtime/usePageCodeRuntime.d.ts.map +1 -0
- package/dist/runtime-worker.js +240 -0
- package/dist/runtimeBindings.d.ts +32 -0
- package/dist/runtimeBindings.d.ts.map +1 -0
- package/dist/runtimeExpressions.d.ts +16 -0
- package/dist/runtimeExpressions.d.ts.map +1 -0
- package/dist/runtimeProtocol-Bg1C-O0c.js +36 -0
- package/dist/runtimeWorkerEntry.d.ts +2 -0
- package/dist/runtimeWorkerEntry.d.ts.map +1 -0
- package/dist/schema.d.ts +298 -31
- package/dist/schema.d.ts.map +1 -1
- package/dist/styleMapping.d.ts +7 -0
- package/dist/styleMapping.d.ts.map +1 -1
- package/dist/translations.d.ts +8 -0
- package/dist/translations.d.ts.map +1 -0
- package/dist/visualDocument-DKjWBfpW.js +139 -0
- package/package.json +24 -6
- package/dist/builder/useSchemaValidation.d.ts.map +0 -1
- package/dist/elements/stack/StackInspector.vue.d.ts.map +0 -1
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare const repeatElement: import('../registry').PageElementDefinition<{
|
|
2
|
+
contextPath?: string;
|
|
3
|
+
keyPath?: string;
|
|
4
|
+
items?: unknown[];
|
|
5
|
+
itemAlias?: string;
|
|
6
|
+
maxItems?: number;
|
|
7
|
+
emptyText?: string;
|
|
8
|
+
selection?: import('../..').RepeatSelection;
|
|
9
|
+
}>;
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/repeat/index.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,aAAa;;;;;;;;EAexB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SectionInspector.vue.d.ts","sourceRoot":"","sources":["../../../src/elements/section/SectionInspector.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SectionInspector.vue.d.ts","sourceRoot":"","sources":["../../../src/elements/section/SectionInspector.vue"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;CAC/C,CAAC;;AAwEF,wBAOG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/section/index.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,cAAc;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/section/index.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,cAAc;;EAezB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectDefaultInput.vue.d.ts","sourceRoot":"","sources":["../../../src/elements/select/SelectDefaultInput.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SelectDefaultInput.vue.d.ts","sourceRoot":"","sources":["../../../src/elements/select/SelectDefaultInput.vue"],"names":[],"mappings":"AAqCA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,KAAK,WAAW,GAAG;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;CAC5B,CAAC;;;;;;AA4EF,wBAQG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectInspector.vue.d.ts","sourceRoot":"","sources":["../../../src/elements/select/SelectInspector.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SelectInspector.vue.d.ts","sourceRoot":"","sources":["../../../src/elements/select/SelectInspector.vue"],"names":[],"mappings":"AAsEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC;CAC9C,CAAC;;AA6LF,wBAMG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/select/index.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,aAAa;;;;;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/select/index.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,aAAa;;;;;;EAsBxB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpacerInspector.vue.d.ts","sourceRoot":"","sources":["../../../src/elements/spacer/SpacerInspector.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SpacerInspector.vue.d.ts","sourceRoot":"","sources":["../../../src/elements/spacer/SpacerInspector.vue"],"names":[],"mappings":"AA8BA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC;CAC9C,CAAC;;AA4EF,wBAOG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StackRenderer.vue.d.ts","sourceRoot":"","sources":["../../../src/elements/stack/StackRenderer.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"StackRenderer.vue.d.ts","sourceRoot":"","sources":["../../../src/elements/stack/StackRenderer.vue"],"names":[],"mappings":"AAoDA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAG9C,KAAK,WAAW,GAAG;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC;AASvC,iBAAS,cAAc;WAmCT,OAAO,IAA6B;;yBAVrB,GAAG;;;;EAe/B;AAWD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe,6SAOnB,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAQpG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/stack/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/stack/index.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,YAAY;;;EAavB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SwitchDefaultInput.vue.d.ts","sourceRoot":"","sources":["../../../src/elements/switch/SwitchDefaultInput.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SwitchDefaultInput.vue.d.ts","sourceRoot":"","sources":["../../../src/elements/switch/SwitchDefaultInput.vue"],"names":[],"mappings":"AA6BA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,KAAK,WAAW,GAAG;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;CAC5B,CAAC;;;;;;AAqEF,wBAQG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SwitchInspector.vue.d.ts","sourceRoot":"","sources":["../../../src/elements/switch/SwitchInspector.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SwitchInspector.vue.d.ts","sourceRoot":"","sources":["../../../src/elements/switch/SwitchInspector.vue"],"names":[],"mappings":"AAgCA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,GAAG;QAAE,KAAK,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAA;KAAE,KAAK,IAAI,CAAC;CACxG,CAAC;;AA6FF,wBAMG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/switch/index.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,aAAa;;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/switch/index.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,aAAa;;;EAgBxB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextInputInspector.vue.d.ts","sourceRoot":"","sources":["../../../src/elements/text-input/TextInputInspector.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TextInputInspector.vue.d.ts","sourceRoot":"","sources":["../../../src/elements/text-input/TextInputInspector.vue"],"names":[],"mappings":"AAgFA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;CACjD,CAAC;;AA4MF,wBAMG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/text-input/index.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,gBAAgB;;;;;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/text-input/index.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,gBAAgB;;;;;;EAsB3B,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Ref } from 'vue';
|
|
2
|
-
import { PageConfig } from '../schema';
|
|
2
|
+
import { ActionProps, PageConfig, RuntimeBinding } from '../schema';
|
|
3
|
+
import { ActionValues } from '../context';
|
|
3
4
|
export interface PageElementContext {
|
|
4
5
|
/** Current value of a named field ('' semantics are the element's concern). */
|
|
5
6
|
getValue: (name: string) => unknown;
|
|
@@ -9,7 +10,9 @@ export interface PageElementContext {
|
|
|
9
10
|
/** Mark a field touched (typically on blur; choose-is-the-interaction inputs mark on change). */
|
|
10
11
|
markTouched: (name: string) => void;
|
|
11
12
|
/** Fire a page action by id; `validates` gates it behind form validation. */
|
|
12
|
-
triggerAction: (id: string, validates?: boolean) => void;
|
|
13
|
+
triggerAction: (id: string, validates?: boolean, actionValues?: ActionValues) => void;
|
|
14
|
+
/** Fire an ActionProps element through the shared JSON-safe payload path. */
|
|
15
|
+
triggerElementAction: (props: ActionProps, validates?: boolean) => void;
|
|
13
16
|
/** True while an async `onValidate` is in flight — disable submit affordances. */
|
|
14
17
|
isValidating: Readonly<Ref<boolean>>;
|
|
15
18
|
/** True while an action handler's Promise is pending — disable submit affordances. */
|
|
@@ -28,6 +31,7 @@ export interface PageElementContext {
|
|
|
28
31
|
formError: Readonly<Ref<string>>;
|
|
29
32
|
/** Resolve an assetId to a URL; '' when no resolver is configured. */
|
|
30
33
|
resolveAsset: (assetId: string) => string;
|
|
34
|
+
resolveBinding: (binding: RuntimeBinding, item?: unknown, allowedItemPaths?: ReadonlySet<string>, itemIndex?: number) => unknown;
|
|
31
35
|
config?: Readonly<PageConfig>;
|
|
32
36
|
}
|
|
33
37
|
export declare function usePageElement(): PageElementContext;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePageElement.d.ts","sourceRoot":"","sources":["../../src/elements/usePageElement.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC/B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"usePageElement.d.ts","sourceRoot":"","sources":["../../src/elements/usePageElement.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC/B,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,WAAW,kBAAkB;IACjC,+EAA+E;IAC/E,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IACpC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACjD,0EAA0E;IAC1E,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACnC,iGAAiG;IACjG,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,6EAA6E;IAC7E,aAAa,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,YAAY,KAAK,IAAI,CAAC;IACtF,6EAA6E;IAC7E,oBAAoB,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACxE,kFAAkF;IAClF,YAAY,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IACrC,sFAAsF;IACtF,YAAY,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IACrC;;;;OAIG;IACH,aAAa,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;IAC5C;;;;OAIG;IACH,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACjC,sEAAsE;IACtE,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;IAC1C,cAAc,EAAE,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,gBAAgB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;IACjI,MAAM,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;CAC/B;AAED,wBAAgB,cAAc,IAAI,kBAAkB,CA2BnD"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { VisualMarkupNode } from '../../schema';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
node: VisualMarkupNode;
|
|
4
|
+
patch: (update: Partial<Omit<VisualMarkupNode, 'props'>> & {
|
|
5
|
+
props?: Partial<VisualMarkupNode['props']>;
|
|
6
|
+
}) => void;
|
|
7
|
+
};
|
|
8
|
+
declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
9
|
+
export default _default;
|
|
10
|
+
//# sourceMappingURL=VisualMarkupInspector.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VisualMarkupInspector.vue.d.ts","sourceRoot":"","sources":["../../../src/elements/visual-markup/VisualMarkupInspector.vue"],"names":[],"mappings":"AAoDA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAIrD,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,gBAAgB,CAAA;IACtB,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC,GAAG;QAAE,KAAK,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAA;KAAE,KAAK,IAAI,CAAA;CACnH,CAAC;;AAgJF,wBAMG"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { VisualMarkupNode } from '../../schema';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
node: VisualMarkupNode;
|
|
4
|
+
};
|
|
5
|
+
declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
6
|
+
export default _default;
|
|
7
|
+
//# sourceMappingURL=VisualMarkupPreview.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VisualMarkupPreview.vue.d.ts","sourceRoot":"","sources":["../../../src/elements/visual-markup/VisualMarkupPreview.vue"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAGrD,KAAK,WAAW,GAAG;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,CAAC;;AA0D9C,wBAOG"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { VisualMarkupNode } from '../../schema';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
node: VisualMarkupNode;
|
|
4
|
+
};
|
|
5
|
+
declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
6
|
+
export default _default;
|
|
7
|
+
//# sourceMappingURL=VisualMarkupRenderer.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VisualMarkupRenderer.vue.d.ts","sourceRoot":"","sources":["../../../src/elements/visual-markup/VisualMarkupRenderer.vue"],"names":[],"mappings":"AAuDA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAIrD,KAAK,WAAW,GAAG;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,CAAC;;AAqE9C,wBAOG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/visual-markup/index.ts"],"names":[],"mappings":"AAoBA,eAAO,MAAM,mBAAmB;;;EAgC9B,CAAC;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { PageVisualMarkupConfig } from '../../schema';
|
|
2
|
+
export interface VisualDocumentResult {
|
|
3
|
+
ok: boolean;
|
|
4
|
+
srcdoc: string;
|
|
5
|
+
errors: string[];
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Builds the complete opaque-origin visual document. CSP + the empty iframe
|
|
9
|
+
* sandbox are the authority boundary; strict markup/CSS allowlists are defense
|
|
10
|
+
* in depth and provide actionable builder diagnostics.
|
|
11
|
+
*/
|
|
12
|
+
export declare function buildVisualDocument(html: string, css?: string, config?: PageVisualMarkupConfig): VisualDocumentResult;
|
|
13
|
+
//# sourceMappingURL=visualDocument.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"visualDocument.d.ts","sourceRoot":"","sources":["../../../src/elements/visual-markup/visualDocument.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkB,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAuB3E,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,OAAO,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,EAAE,CAAA;CACjB;AA8ED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,GAAG,SAAK,EACR,MAAM,GAAE,sBAA2B,GAClC,oBAAoB,CAkCtB"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
//#region src/builder/expressionAuthoring.ts
|
|
2
|
+
function e(e) {
|
|
3
|
+
switch (e.valueType) {
|
|
4
|
+
case "string": return "string";
|
|
5
|
+
case "number": return "number";
|
|
6
|
+
case "boolean": return "boolean";
|
|
7
|
+
case "string[]": return "readonly string[]";
|
|
8
|
+
case "date":
|
|
9
|
+
case "datetime": return "string";
|
|
10
|
+
default: return "unknown";
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
function t(e) {
|
|
14
|
+
return e.type === "string[]" ? "readonly string[]" : e.type === "array" ? `readonly ${e.itemFields?.length ? `Readonly<{ ${e.itemFields.map((e) => `readonly ${JSON.stringify(e.path)}: ${e.type === "string[]" ? "readonly string[]" : e.type === "object" ? "Readonly<Record<string, unknown>>" : e.type};`).join(" ")} }>` : "unknown"}[]` : e.type === "object" ? "Readonly<Record<string, unknown>>" : e.type;
|
|
15
|
+
}
|
|
16
|
+
function n(e) {
|
|
17
|
+
let n = e?.contextFields ?? [];
|
|
18
|
+
if (n.length === 0) return " readonly [name: string]: unknown;";
|
|
19
|
+
let r = { children: /* @__PURE__ */ new Map() };
|
|
20
|
+
for (let e of n) {
|
|
21
|
+
let n = e.path.split(".").filter(Boolean), i = r;
|
|
22
|
+
for (let e of n) {
|
|
23
|
+
let t = i.children.get(e);
|
|
24
|
+
t || (t = { children: /* @__PURE__ */ new Map() }, i.children.set(e, t)), i = t;
|
|
25
|
+
}
|
|
26
|
+
i.type = t(e);
|
|
27
|
+
}
|
|
28
|
+
let i = (e, t) => [...e.children.entries()].map(([e, n]) => {
|
|
29
|
+
let r = " ".repeat(t), a = n.children.size > 0 ? `Readonly<{\n${i(n, t + 1)}\n${r}}>` : n.type ?? "unknown";
|
|
30
|
+
return `${r}readonly ${JSON.stringify(e)}: ${a};`;
|
|
31
|
+
}).join("\n");
|
|
32
|
+
return i(r, 1);
|
|
33
|
+
}
|
|
34
|
+
function r(t) {
|
|
35
|
+
let r = t?.dataContract ?? [];
|
|
36
|
+
return [{
|
|
37
|
+
filePath: "file:///page-builder/page-runtime.d.ts",
|
|
38
|
+
content: `
|
|
39
|
+
interface PageFields {
|
|
40
|
+
${r.length ? r.map((t) => ` readonly ${JSON.stringify(t.name)}: ${e(t)};`).join("\n") : " readonly [name: string]: unknown;"}
|
|
41
|
+
}
|
|
42
|
+
interface PageForm {
|
|
43
|
+
readonly valid: boolean;
|
|
44
|
+
readonly dirty: boolean;
|
|
45
|
+
readonly validating: boolean;
|
|
46
|
+
readonly submitting: boolean;
|
|
47
|
+
}
|
|
48
|
+
interface PageContext {
|
|
49
|
+
${n(t)}
|
|
50
|
+
}
|
|
51
|
+
interface PageResourceState<T = unknown> {
|
|
52
|
+
readonly status: 'idle' | 'pending' | 'success' | 'error';
|
|
53
|
+
readonly value?: T;
|
|
54
|
+
readonly error?: string;
|
|
55
|
+
}
|
|
56
|
+
interface PageResources {
|
|
57
|
+
readonly [id: string]: PageResourceState;
|
|
58
|
+
}
|
|
59
|
+
interface PageViewport {
|
|
60
|
+
readonly width: number;
|
|
61
|
+
readonly breakpoint: 'compact' | 'phone' | 'tablet' | 'desktop';
|
|
62
|
+
}
|
|
63
|
+
`
|
|
64
|
+
}];
|
|
65
|
+
}
|
|
66
|
+
var i = "\nconst fields = /** @type {Readonly<PageFields>} */ ({});\nconst form = /** @type {Readonly<PageForm>} */ ({});\nconst context = /** @type {Readonly<PageContext>} */ ({});\nconst resources = /** @type {Readonly<PageResources>} */ ({});\nconst viewport = /** @type {Readonly<PageViewport>} */ ({});\n";
|
|
67
|
+
function a(e) {
|
|
68
|
+
return e === "disabled" || e === "style.hidden" || e.endsWith(".disabled") ? "boolean" : e.startsWith("style.") || /label|text|title|placeholder|alt/i.test(e) ? "string" : "JSON value";
|
|
69
|
+
}
|
|
70
|
+
function o(e) {
|
|
71
|
+
return e === void 0 ? "undefined" : JSON.stringify(e) ?? "undefined";
|
|
72
|
+
}
|
|
73
|
+
//#endregion
|
|
74
|
+
export { r as i, a as n, o as r, i as t };
|
package/dist/index.css
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
.pb-stack[data-v-22e0278d]{flex-direction:column;min-width:0;display:flex}.pb-stack--row[data-v-22e0278d]{flex-direction:row}.pb-stack--row>[data-v-22e0278d-s]{min-width:0}.pb-stack--wrap[data-v-22e0278d]{flex-wrap:wrap}.pb-prop-group[data-v-27700614]{flex-direction:column;gap:4px;display:flex}.pb-prop-label[data-v-27700614]{color:var(--coar-text-neutral-primary,#111);font-size:12px;font-weight:500}.pb-prop-seg[data-v-27700614]{border:1px solid var(--coar-border-neutral,#d0d0d0);background:var(--coar-surface-base,#fff);border-radius:6px;display:inline-flex;overflow:hidden}.pb-prop-seg__btn[data-v-27700614]{color:var(--coar-text-neutral-secondary,#555);cursor:pointer;background:0 0;border:none;flex:1;padding:6px 12px;font-family:inherit;font-size:12px;transition:background-color .12s,color .12s}.pb-prop-seg__btn+.pb-prop-seg__btn[data-v-27700614]{border-left:1px solid var(--coar-border-neutral,#d0d0d0)}.pb-prop-seg__btn[data-v-27700614]:hover:not(.pb-prop-seg__btn--active){background:var(--coar-surface-neutral-subtle,#f0f0f2)}.pb-prop-seg__btn--active[data-v-27700614]{background:var(--coar-surface-accent-subtle,#e6eefa);color:var(--coar-text-accent,#1666cc);font-weight:600}.pb-card-body[data-v-81fc7712]{flex-direction:column;min-width:0;display:flex}.pb-section[data-v-9f1ef1ed]{display:block}.pb-section__title[data-v-9f1ef1ed]{margin:0 0 var(--coar-spacing-s,8px);font-size:var(--coar-body-base-size,14px);color:var(--coar-text-neutral-primary,#111);font-weight:600}.pb-section__body[data-v-9f1ef1ed]{flex-direction:column;display:flex}.pb-spacer[data-v-87936435]{flex-shrink:0}.canvas-node__spacer-preview[data-v-62e97d99]{background:repeating-linear-gradient(45deg,#00000008 0 4px,#0000 4px 8px);border:1px dashed #0000001f;border-radius:2px;height:20px}.pb-heading[data-v-61919abd],.canvas-node__heading[data-v-72e52037]{color:var(--coar-text-neutral-primary,#111);margin:0;font-weight:600}h1.canvas-node__heading[data-v-72e52037]{font-size:28px}h2.canvas-node__heading[data-v-72e52037]{font-size:22px}h3.canvas-node__heading[data-v-72e52037]{font-size:18px}h4.canvas-node__heading[data-v-72e52037]{font-size:15px}h5.canvas-node__heading[data-v-72e52037]{font-size:13px}h6.canvas-node__heading[data-v-72e52037]{font-size:12px}.pb-paragraph[data-v-d1869f20]{color:var(--coar-text-neutral-secondary,#666);margin:0}.canvas-node__paragraph[data-v-2a478621]{color:var(--coar-text-neutral-secondary,#555);margin:0;font-size:14px}.pb-prop-textarea[data-v-0781e405]{border:1px solid var(--coar-border-neutral,#d0d0d0);width:100%;color:var(--coar-text-neutral-primary,#111);background:var(--coar-surface-base,#fff);resize:vertical;box-sizing:border-box;border-radius:6px;min-height:60px;padding:6px 10px;font-family:inherit;font-size:13px}.pb-prop-textarea[data-v-0781e405]:focus{outline:2px solid var(--coar-border-accent,#1a73e8);outline-offset:-1px}.pb-number-grid[data-v-4bfe9510]{grid-template-columns:1fr 1fr;gap:8px;display:grid}.pb-select-options[data-v-d7e1a125]{flex-direction:column;gap:6px;display:flex}.pb-select-options__label[data-v-d7e1a125]{color:var(--coar-text-neutral-secondary,#5a5a60);font-size:12px;font-weight:500}.pb-select-options__row[data-v-d7e1a125]{grid-template-columns:1fr 1fr auto auto auto;align-items:center;gap:4px;display:grid}.pb-select-options__btn[data-v-d7e1a125]{border:1px solid var(--coar-border-neutral,#dcdce0);width:22px;height:22px;color:var(--coar-icon-neutral-secondary,#5a5a60);cursor:pointer;background:0 0;border-radius:3px;justify-content:center;align-items:center;padding:0;transition:background-color .12s ease-out,color .12s ease-out;display:inline-flex}.pb-select-options__btn[data-v-d7e1a125]:hover:not(:disabled){background:var(--coar-surface-neutral-subtle,#f0f0f2);color:var(--coar-icon-neutral-primary,#111)}.pb-select-options__btn[data-v-d7e1a125]:disabled{opacity:.3;cursor:not-allowed}.pb-select-options__btn--danger[data-v-d7e1a125]:hover:not(:disabled){background:var(--coar-surface-semantic-error-subtle,#fde8e4);color:var(--coar-text-semantic-error-bold,#c0392b)}.pb-select-options__add[data-v-d7e1a125]{border:1px dashed var(--coar-border-neutral,#cecece);height:24px;color:var(--coar-text-neutral-secondary,#666);cursor:pointer;background:0 0;border-radius:4px;align-self:flex-start;align-items:center;gap:6px;padding:0 8px;font-family:inherit;font-size:12px;transition:border-color .12s,color .12s;display:inline-flex}.pb-select-options__add[data-v-d7e1a125]:hover{border-color:var(--coar-border-accent,#1666cc);color:var(--coar-text-accent,#1666cc)}.pb-button[data-v-c2a9e667]{width:fit-content;max-width:100%}.pb-link[data-v-e02789ef]{cursor:pointer;width:fit-content;max-width:100%;color:var(--coar-text-accent,#06c);font-size:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.pb-link[data-v-e02789ef]:hover{color:var(--coar-text-accent-hover,#004fa3)}.pb-link[data-v-e02789ef]:disabled{opacity:.5;cursor:default}.canvas-node__link[data-v-8cbfd982]{cursor:default;color:var(--coar-text-accent,#1666cc);background:0 0;border:none;padding:0;font-size:14px;text-decoration:underline}.pb-image[data-v-a8b9c85c]{width:fit-content;max-width:100%;display:block}.canvas-node__image-preview[data-v-5c45e3fb]{border-radius:4px;max-width:100%;height:auto;display:block}.canvas-node__image-placeholder[data-v-5c45e3fb]{background:var(--coar-surface-subtle,#f7f7f9);color:var(--coar-text-neutral-secondary,#888);border:1px dashed #00000026;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:20px;font-size:12px;display:flex}.pb-image-asset[data-v-9a98cb44]{align-items:stretch;gap:10px;display:flex}.pb-image-asset__thumb[data-v-9a98cb44]{background:var(--coar-surface-neutral-subtle,#f0f0f2);border:1px solid var(--coar-border-neutral,#e0e0e0);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:80px;height:80px;display:flex;overflow:hidden}.pb-image-asset__thumb img[data-v-9a98cb44]{object-fit:cover;width:100%;height:100%;display:block}.pb-image-asset__empty[data-v-9a98cb44]{color:var(--coar-icon-neutral-disabled,#b0b0b6);flex-direction:column;align-items:center;gap:2px;font-size:10px;display:flex}.pb-image-asset__empty-label[data-v-9a98cb44]{font-size:10px}.pb-image-asset__controls[data-v-9a98cb44]{flex-direction:column;justify-content:center;gap:6px;display:flex}.pb-page[data-v-aac75b9a]{flex-direction:column;min-width:0;display:flex}.coar-page-renderer[data-v-4ff07fa9]{display:contents}.pb-form-error[data-v-4ff07fa9]{margin-bottom:var(--coar-spacing-m)}.pb-tree-node[data-v-bf63e38a]{color:var(--coar-text-neutral-primary,#111);font-size:13px}.pb-tree-row[data-v-bf63e38a]{cursor:pointer;border-radius:4px;align-items:center;gap:6px;height:30px;padding-right:8px;display:flex;position:relative}.pb-tree-row[data-v-bf63e38a]:hover{background:var(--coar-surface-neutral-subtle,#f1f1f3)}.pb-tree-node--selected>.pb-tree-row[data-v-bf63e38a]{background:var(--coar-surface-accent-subtle,#e6eefa);color:var(--coar-text-accent,#1666cc)}.pb-tree-node--selected>.pb-tree-row[data-v-bf63e38a]:before{content:"";background:var(--coar-background-accent-primary,#1666cc);border-radius:2px;width:3px;position:absolute;top:3px;bottom:3px;left:0}.pb-tree-grip[data-v-bf63e38a]{width:12px;color:var(--coar-icon-neutral-disabled,#b8b8bc);opacity:.4;cursor:grab;touch-action:none;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .12s ease-out;display:inline-flex}.pb-tree-node--root>.pb-tree-row .pb-tree-grip[data-v-bf63e38a]{opacity:0;cursor:default}.pb-tree-row:hover .pb-tree-grip[data-v-bf63e38a],.pb-tree-node--selected>.pb-tree-row .pb-tree-grip[data-v-bf63e38a]{opacity:1}.pb-tree-node--root>.pb-tree-row:hover .pb-tree-grip[data-v-bf63e38a]{opacity:0}.pb-outline-zone[data-v-bf63e38a]{pointer-events:none;background:0 0;border-radius:2px;height:0;margin-right:8px;transition:height .12s ease-out,background-color .12s ease-out}.pb-outline-zone--active[data-v-bf63e38a]{outline-offset:-1px;background:#1666cc26;outline:1px dashed #1666cc59;height:6px}.pb-outline-zone--over[data-v-bf63e38a]{background:var(--coar-background-accent-primary,#1666cc);outline:none;height:10px}.pb-tree-row--dropinto[data-v-bf63e38a]{background:var(--coar-surface-accent-subtle,#e6eefa);box-shadow:inset 0 0 0 2px var(--coar-border-accent,#1666cc)}.pb-tree-type-icon[data-v-bf63e38a]{color:var(--coar-icon-neutral-secondary,#5a5a60);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.pb-tree-node--selected>.pb-tree-row .pb-tree-type-icon[data-v-bf63e38a]{color:var(--coar-icon-accent,#1666cc)}.pb-tree-label[data-v-bf63e38a]{flex:1;align-items:baseline;gap:6px;min-width:0;display:inline-flex}.pb-tree-label-text[data-v-bf63e38a]{white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.pb-tree-label-key[data-v-bf63e38a]{color:var(--coar-text-neutral-tertiary,#8a8a90);white-space:nowrap;text-overflow:ellipsis;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11px;overflow:hidden}.pb-tree-node--selected>.pb-tree-row .pb-tree-label-key[data-v-bf63e38a]{color:var(--coar-text-accent,#1666cc);opacity:.7}.pb-tree-issue[data-v-bf63e38a]{flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;margin-right:30px;display:inline-flex}.pb-tree-issue--warning[data-v-bf63e38a]{color:var(--coar-icon-semantic-warning,#b45309)}.pb-tree-issue--error[data-v-bf63e38a]{color:var(--coar-icon-semantic-error,#c0392b)}.pb-tree-actions[data-v-bf63e38a]{opacity:0;background:var(--coar-surface-neutral-subtle,#f1f1f3);border-radius:4px;gap:1px;padding:1px;transition:opacity .12s ease-out;display:flex;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.pb-tree-row:hover .pb-tree-actions[data-v-bf63e38a],.pb-tree-node--selected>.pb-tree-row .pb-tree-actions[data-v-bf63e38a]{opacity:1}.pb-tree-node--selected>.pb-tree-row .pb-tree-actions[data-v-bf63e38a]{background:var(--coar-surface-accent-subtle,#e6eefa)}.pb-tree-btn[data-v-bf63e38a]{width:22px;height:22px;color:var(--coar-icon-neutral-secondary,#5a5a60);cursor:pointer;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;padding:0;transition:background-color .12s ease-out,color .12s ease-out;display:inline-flex}.pb-tree-btn[data-v-bf63e38a]:hover:not(:disabled){background:var(--coar-surface-neutral-default,#dedee2);color:var(--coar-icon-neutral-primary,#111)}.pb-tree-btn[data-v-bf63e38a]:disabled{opacity:.3;cursor:not-allowed}.pb-tree-btn--danger[data-v-bf63e38a]:hover:not(:disabled){background:var(--coar-surface-semantic-error-subtle,#fde8e4);color:var(--coar-text-semantic-error-bold,#c0392b)}.pb-tree-add[data-v-bf63e38a]{padding-top:2px;padding-bottom:2px;padding-right:8px;position:relative}.pb-tree-add__trigger[data-v-bf63e38a]{border:1px dashed var(--coar-border-neutral,#cecece);height:26px;color:var(--coar-text-neutral-secondary,#666);cursor:pointer;background:0 0;border-radius:4px;align-items:center;gap:6px;padding:0 10px;font-family:inherit;font-size:12px;transition:border-color .12s,color .12s,background-color .12s;display:inline-flex}.pb-tree-add__trigger[data-v-bf63e38a]:hover,.pb-tree-add__trigger--open[data-v-bf63e38a]{border-color:var(--coar-border-accent,#1666cc);color:var(--coar-text-accent,#1666cc);background:var(--coar-surface-accent-subtle,#e6eefa)}.pb-tree-add__menu[data-v-bf63e38a]{top:calc(100% + 4px);left:inherit;background:var(--coar-surface-default,#fff);border:1px solid var(--coar-border-neutral,#dcdce0);z-index:10;border-radius:6px;flex-direction:column;min-width:200px;padding:4px;display:flex;position:absolute;box-shadow:0 8px 24px #0000001f}.pb-tree-add__group-label[data-v-bf63e38a]{text-transform:uppercase;letter-spacing:.04em;color:var(--coar-text-neutral-tertiary,#8a8a90);padding:6px 8px 2px;font-size:11px}.pb-tree-add__divider[data-v-bf63e38a]{background:var(--coar-border-neutral-subtle,#eeeef0);height:1px;margin:4px 0}.pb-tree-add__item[data-v-bf63e38a]{color:var(--coar-text-neutral-primary,#111);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:10px;padding:6px 8px;font-family:inherit;font-size:13px;transition:background-color .12s;display:inline-flex}.pb-tree-add__item[data-v-bf63e38a]:hover{background:var(--coar-surface-accent-subtle,#e6eefa);color:var(--coar-text-accent,#1666cc)}.pb-tree-add__item[data-v-bf63e38a]>:first-child{color:var(--coar-icon-neutral-secondary,#5a5a60);flex-shrink:0}.pb-tree-add__item[data-v-bf63e38a]:hover>:first-child{color:var(--coar-icon-accent,#1666cc)}.pb-outline-wrap[data-v-90246b78]{height:100%;padding:4px 0;overflow-y:auto}.canvas-node[data-v-765f4f97]{--canvas-border:#66666e4d;--canvas-border-selected:#1666ccb3;--canvas-tab-fg:#5a5a60;--canvas-tab-bg:#fff;--canvas-tab-border:#66666e59}.canvas-node--container[data-v-765f4f97]{--canvas-border:#1666cc61;--canvas-tab-fg:#1666cc;--canvas-tab-border:#1666cc73}.canvas-node--element[data-v-765f4f97]{--canvas-border:#05966959;--canvas-tab-fg:#047857;--canvas-tab-border:#05966973}.canvas-node[data-v-765f4f97]{box-sizing:border-box;border:1px dashed var(--canvas-border);cursor:pointer;border-radius:6px;min-width:0;padding:16px 10px 10px;transition:border-color .12s ease-out,background-color .12s ease-out;position:relative}.canvas-node[data-v-765f4f97]:hover{background:#1666cc08}.canvas-node--selected[data-v-765f4f97]{border-color:var(--canvas-border-selected);background:#1666cc0d;border-style:solid}.canvas-node--dragging[data-v-765f4f97]{opacity:.4}.canvas-node--blocked[data-v-765f4f97]{--canvas-border:#c0392b80;--canvas-tab-fg:#c0392b;--canvas-tab-border:#c0392b8c;background:repeating-linear-gradient(45deg,#c0392b0a 0 6px,#0000 6px 12px)}.canvas-node__blocked[data-v-765f4f97]{color:var(--coar-text-semantic-error-bold,#c0392b);align-items:center;gap:6px;margin:2px 0 6px;font-size:11px;font-weight:500;display:flex}.canvas-node--root[data-v-765f4f97]{min-height:80px;padding:20px 14px 14px}.canvas-node__tab[data-v-765f4f97]{background:var(--canvas-tab-bg);border:1px solid var(--canvas-tab-border);height:18px;color:var(--canvas-tab-fg);white-space:nowrap;text-overflow:ellipsis;-webkit-user-select:none;user-select:none;border-radius:4px;align-items:center;gap:4px;max-width:calc(100% - 40px);padding:0 6px;font-size:11px;font-weight:500;display:inline-flex;position:absolute;top:-9px;left:10px;overflow:hidden}.canvas-node__tab--grabbable[data-v-765f4f97]{cursor:grab;touch-action:none}.canvas-node__tab--grabbable[data-v-765f4f97]:active{cursor:grabbing}.canvas-node--selected .canvas-node__tab[data-v-765f4f97]{border-color:var(--canvas-border-selected);color:var(--canvas-border-selected);font-weight:600}.canvas-node__tab-label[data-v-765f4f97]{text-overflow:ellipsis;line-height:1;overflow:hidden}.canvas-node__tab-eye[data-v-765f4f97]{opacity:.75;flex-shrink:0;align-items:center;display:inline-flex}.canvas-node__delete[data-v-765f4f97]{border:1px solid var(--canvas-tab-border);background:var(--canvas-tab-bg);width:18px;height:18px;color:var(--canvas-tab-fg);cursor:pointer;opacity:0;border-radius:4px;justify-content:center;align-items:center;padding:0;transition:opacity .12s ease-out,background-color .12s ease-out,border-color .12s ease-out,color .12s ease-out;display:inline-flex;position:absolute;top:-9px;right:10px}.canvas-node--selected>.canvas-node__delete[data-v-765f4f97]{opacity:1}.canvas-node:hover:not(:has(.canvas-node:hover))>.canvas-node__delete[data-v-765f4f97]{opacity:1}.canvas-node__duplicate[data-v-765f4f97]{right:34px}.canvas-node[data-v-765f4f97]:focus-visible{outline:2px solid var(--coar-border-focus,#1666cc);outline-offset:1px}.canvas-node__delete[data-v-765f4f97]:hover{background:var(--coar-surface-semantic-error-subtle,#fde8e4);border-color:var(--coar-text-semantic-error-bold,#c0392b);color:var(--coar-text-semantic-error-bold,#c0392b)}.canvas-node__body[data-v-765f4f97]{min-height:24px}.canvas-node__body--dir-row>.canvas-node[data-v-765f4f97]{min-width:0}.canvas-node__body--card[data-v-765f4f97]{background:var(--coar-surface-default,#fff);border:1px solid var(--coar-border-neutral,#e0e0e0);border-radius:6px;padding:12px;box-shadow:0 1px 4px #00000012}.canvas-node__section-title[data-v-765f4f97]{color:var(--coar-text-neutral-primary,#111);border-bottom:1px solid var(--coar-border-neutral,#e0e0e0);margin-bottom:8px;padding-bottom:6px;font-size:13px;font-weight:600}.canvas-dropzone[data-v-765f4f97]{box-sizing:border-box;opacity:0;pointer-events:none;background:#1666cc1f;border:1px dashed #1666cc73;border-radius:3px;flex-shrink:0;transition:background-color .12s ease-out,border-color .12s ease-out,opacity .15s ease-out,width .14s ease-out,min-width .14s ease-out,height .14s ease-out,min-height .14s ease-out}.canvas-dropzone--empty[data-v-765f4f97]{opacity:1;pointer-events:auto;color:var(--coar-text-neutral-tertiary,#8a8a90);text-align:center;min-height:unset;background:#66666e0a;border-color:#66666e40;height:auto;padding:14px 12px;font-size:12px;font-style:italic}.canvas-dropzone--drag-active[data-v-765f4f97]{background:#1666cc33;border-color:#1666ccb3}.canvas-dropzone--over[data-v-765f4f97]{background:#1666cc59;border-style:solid;border-color:#1666ccf2;box-shadow:inset 0 0 0 1px #1666cc99}.canvas-dropzone--disabled[data-v-765f4f97]{opacity:.55;background:#64646a14;border-color:#64646a4d}.canvas-dropzone--row[data-v-765f4f97]{align-self:stretch;width:0;min-width:0}.canvas-dropzone--row.canvas-dropzone--drag-active[data-v-765f4f97]{width:10px;min-width:10px}.canvas-dropzone--row.canvas-dropzone--over[data-v-765f4f97]{width:24px;min-width:24px}.canvas-dropzone--column[data-v-765f4f97]{width:auto;height:0;min-height:0}.canvas-dropzone--column.canvas-dropzone--drag-active[data-v-765f4f97]{height:10px;min-height:10px}.canvas-dropzone--column.canvas-dropzone--over[data-v-765f4f97]{height:24px;min-height:24px}.canvas-node__preview[data-v-765f4f97]{pointer-events:none}.canvas-node__generic-preview[data-v-765f4f97]{color:var(--coar-text-neutral-secondary,#888);border:1px dashed #66666e4d;border-radius:4px;align-items:center;gap:6px;padding:10px;font-size:12px;display:flex}.pb-canvas-shell[data-v-8a414058]{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.pb-palette[data-v-8a414058]{background:var(--coar-surface-neutral-subtle,#f7f7f9);border-bottom:1px solid var(--coar-border-neutral,#e2e2e6);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:10px;padding:8px 12px;display:flex}.pb-palette__group[data-v-8a414058]{flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}.pb-palette__label[data-v-8a414058]{text-transform:uppercase;letter-spacing:.06em;color:var(--coar-text-neutral-tertiary,#8a8a90);white-space:nowrap;margin-right:2px;font-size:10px;font-weight:600}.pb-palette__divider[data-v-8a414058]{background:var(--coar-border-neutral,#d8d8dc);flex-shrink:0;width:1px;height:20px}.pb-palette__card[data-v-8a414058]{border:1px solid var(--card-border,#66666e40);height:24px;color:var(--card-fg,#5a5a60);cursor:grab;-webkit-user-select:none;user-select:none;white-space:nowrap;touch-action:none;background:#fff;border-radius:4px;align-items:center;gap:4px;padding:0 7px;font-family:inherit;font-size:12px;font-weight:500;transition:background-color .12s,border-color .12s,transform 80ms;display:inline-flex}.pb-palette__card[data-v-8a414058]:hover{background:var(--card-bg-hover,#1666cc0f);border-color:var(--card-border-hover,#1666cc66);color:var(--card-fg-hover,#1666cc)}.pb-palette__card[data-v-8a414058]:active{transform:scale(.97)}.pb-palette__card--dragging[data-v-8a414058]{opacity:.4;cursor:grabbing}.pb-palette__card--container[data-v-8a414058]{--card-fg:#1666cc;--card-fg-hover:#1666cc;--card-border:#1666cc4d;--card-border-hover:#1666cc8c;--card-bg-hover:#1666cc14}.pb-palette__card--element[data-v-8a414058]{--card-fg:#047857;--card-fg-hover:#047857;--card-border:#0596694d;--card-border-hover:#0596698c;--card-bg-hover:#05966914}.pb-palette__card--field[data-v-8a414058]{--card-fg:#7c3aed;--card-fg-hover:#7c3aed;--card-border:#7c3aed4d;--card-border-hover:#7c3aed8c;--card-bg-hover:#7c3aed14}.pb-palette__card--field[data-v-8a414058]:disabled{opacity:.45;cursor:default;transform:none}.pb-palette__field-required[data-v-8a414058]{color:var(--coar-text-semantic-error-bold,#c0392b);font-weight:700}.pb-canvas[data-v-8a414058]{background:repeating-linear-gradient(45deg,#00000004 0 6px,#0000 6px 12px);flex:1;padding:28px 20px 20px;overflow:auto}.pb-props[data-v-3bcb1779]{background:var(--coar-surface-default,#fff);height:100%;min-height:0;font-family:var(--coar-body-base-family,sans-serif);flex-direction:column;display:flex}.pb-props__header[data-v-3bcb1779]{box-sizing:border-box;border-bottom:1px solid var(--coar-border-neutral,#e2e2e6);height:44px;color:var(--coar-text-neutral-secondary,#5a5a60);flex-shrink:0;align-items:center;gap:8px;padding:0 14px;display:flex}.pb-props__title[data-v-3bcb1779]{text-transform:uppercase;letter-spacing:.06em;color:var(--coar-text-neutral-secondary,#5a5a60);font-size:11px;font-weight:600}.pb-props__body[data-v-3bcb1779]{flex-direction:column;flex:1;padding:16px;display:flex;overflow:auto}.pb-props__section[data-v-3bcb1779]{flex-direction:column;gap:12px;display:flex}.pb-props__section--separated[data-v-3bcb1779]{border-top:1px solid var(--coar-border-neutral-subtle,#eeeef0);margin-top:20px;padding-top:16px}.pb-props__section-title[data-v-3bcb1779]{text-transform:uppercase;letter-spacing:.06em;color:var(--coar-text-neutral-tertiary,#8a8a90);margin:0;font-size:10px;font-weight:600}.pb-props__empty[data-v-3bcb1779]{color:var(--coar-icon-neutral-disabled,#b0b0b6);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:6px;padding:32px 16px;display:flex}.pb-props__empty-title[data-v-3bcb1779]{font-size:var(--coar-body-small-base-size,14px);color:var(--coar-text-neutral-secondary,#5a5a60);margin:8px 0 0;font-weight:500}.pb-props__empty-hint[data-v-3bcb1779],.pb-props__hint[data-v-3bcb1779]{font-size:var(--coar-body-caption-size,12px);color:var(--coar-text-neutral-tertiary,#8a8a90);margin:0}.pb-props__issues[data-v-3bcb1779]{flex-direction:column;gap:6px;margin:0 0 16px;padding:0;list-style:none;display:flex}.pb-props__issue[data-v-3bcb1779]{border-radius:6px;align-items:flex-start;gap:8px;padding:8px 10px;font-size:12px;line-height:1.4;display:flex}.pb-props__issue--warning[data-v-3bcb1779]{background:var(--coar-surface-semantic-warning-subtle,#fef3c7);color:var(--coar-text-semantic-warning-bold,#92400e)}.pb-props__issue--error[data-v-3bcb1779]{background:var(--coar-surface-semantic-error-subtle,#fde8e4);color:var(--coar-text-semantic-error-bold,#c0392b)}.pb-builder[data-v-a92ce3d0]{grid-template-columns:var(--v1af739b7) 1px minmax(360px, 1fr) 1px var(--v18f237ee);background:var(--coar-surface-default,#fff);border:1px solid var(--coar-border-neutral,#e2e2e6);height:100%;min-height:520px;font-family:var(--coar-body-base-family,sans-serif);border-radius:8px;transition:grid-template-columns .18s ease-out;display:grid;overflow:hidden}.pb-builder--resizing[data-v-a92ce3d0]{-webkit-user-select:none;user-select:none;cursor:col-resize;transition:none}.pb-builder[data-v-a92ce3d0]:focus{outline:none}.pb-builder__pane[data-v-a92ce3d0]{background:var(--coar-surface-default,#fff);flex-direction:column;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}.pb-builder__pane--rail[data-v-a92ce3d0]{justify-content:flex-start;align-items:center;padding:8px 0}.pb-builder__pane-header[data-v-a92ce3d0]{box-sizing:border-box;border-bottom:1px solid var(--coar-border-neutral,#e2e2e6);height:44px;color:var(--coar-text-neutral-secondary,#5a5a60);flex-shrink:0;align-items:center;gap:8px;padding:0 14px;display:flex}.pb-builder__pane-title[data-v-a92ce3d0]{text-transform:uppercase;letter-spacing:.06em;color:var(--coar-text-neutral-secondary,#5a5a60);flex:1;font-size:11px;font-weight:600}.pb-builder[data-v-a92ce3d0] .coar-tab-list{box-sizing:border-box;align-items:stretch;min-height:44px}.pb-builder[data-v-a92ce3d0] .coar-tab-button{align-items:center;padding-top:0;padding-bottom:0;display:inline-flex}.pb-builder[data-v-a92ce3d0] .pb-props__header{box-sizing:border-box;height:44px;padding:0 14px}.pb-builder[data-v-a92ce3d0] .coar-tab-content{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.pb-builder[data-v-a92ce3d0] .coar-tab-panel{display:none}.pb-builder[data-v-a92ce3d0] .coar-tab-panel.active{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.pb-builder__tree-scroll[data-v-a92ce3d0]{flex:1;padding:6px 6px 12px;overflow:auto}.pb-builder__pane-inner[data-v-a92ce3d0]{border:none;border-radius:0;flex:1;min-height:0}.pb-builder__divider[data-v-a92ce3d0]{background:var(--coar-border-neutral,#e2e2e6);cursor:col-resize;z-index:1;transition:background-color .12s ease-out;position:relative}.pb-builder__divider[data-v-a92ce3d0]:after{content:"";cursor:inherit;position:absolute;inset:0 -3px}.pb-builder__divider[data-v-a92ce3d0]:hover,.pb-builder--resizing .pb-builder__divider[data-v-a92ce3d0]{background:var(--coar-background-accent-primary,#1666cc)}.pb-builder__divider--inert[data-v-a92ce3d0]{cursor:default;pointer-events:none}.pb-builder__divider--inert[data-v-a92ce3d0]:after{pointer-events:none}.pb-builder__icon-btn[data-v-a92ce3d0]{width:26px;height:26px;color:var(--coar-icon-neutral-secondary,#5a5a60);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;padding:0;transition:background-color .12s,color .12s,border-color .12s;display:inline-flex}.pb-builder__icon-btn[data-v-a92ce3d0]:hover:not(:disabled){background:var(--coar-surface-neutral-subtle,#f0f0f2);border-color:var(--coar-border-neutral,#dcdce0);color:var(--coar-icon-neutral-primary,#111)}.pb-builder__icon-btn[data-v-a92ce3d0]:disabled{opacity:.3;cursor:not-allowed}.pb-builder__icon-btn--corner[data-v-a92ce3d0]{z-index:2;position:absolute;top:9px;right:10px}.pb-builder__rail-btn[data-v-a92ce3d0]{width:28px;height:28px;color:var(--coar-icon-neutral-secondary,#5a5a60);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;padding:0;transition:background-color .12s,border-color .12s,color .12s;display:inline-flex}.pb-builder__rail-btn[data-v-a92ce3d0]:hover{background:var(--coar-surface-neutral-subtle,#f0f0f2);border-color:var(--coar-border-neutral,#dcdce0);color:var(--coar-icon-neutral-primary,#111)}.pb-builder__pane--center[data-v-a92ce3d0]{padding:0}.pb-builder__tabs[data-v-a92ce3d0]{flex-direction:column;flex:1;min-height:0;display:flex}.pb-builder__tab-label[data-v-a92ce3d0]{align-items:center;gap:6px;display:inline-flex}.pb-builder__preview-pane[data-v-a92ce3d0]{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.pb-builder__preview-toolbar[data-v-a92ce3d0]{border-bottom:1px solid var(--coar-border-neutral,#e2e2e6);background:var(--coar-surface-neutral-subtle,#f7f7f9);flex-shrink:0;align-items:center;gap:8px;padding:8px 12px;display:flex}.pb-builder__seg[data-v-a92ce3d0]{border:1px solid var(--coar-border-neutral,#d0d0d0);background:var(--coar-surface-base,#fff);border-radius:6px;display:inline-flex;overflow:hidden}.pb-builder__seg-btn[data-v-a92ce3d0]{color:var(--coar-text-neutral-secondary,#555);cursor:pointer;background:0 0;border:none;align-items:center;gap:5px;padding:4px 10px;font-family:inherit;font-size:12px;transition:background-color .12s,color .12s;display:inline-flex}.pb-builder__seg-btn+.pb-builder__seg-btn[data-v-a92ce3d0]{border-left:1px solid var(--coar-border-neutral,#d0d0d0)}.pb-builder__seg-btn[data-v-a92ce3d0]:hover:not(.pb-builder__seg-btn--active){background:var(--coar-surface-neutral-subtle,#f0f0f2)}.pb-builder__seg-btn--active[data-v-a92ce3d0]{background:var(--coar-surface-accent-subtle,#e6eefa);color:var(--coar-text-accent,#1666cc);font-weight:600}.pb-builder__preview[data-v-a92ce3d0]{box-sizing:border-box;background:repeating-linear-gradient(45deg,#00000004 0 6px,#0000 6px 12px);flex:1;min-height:0;padding:20px 24px;overflow:auto}.pb-builder__preview-frame[data-v-a92ce3d0]{background:var(--coar-surface-default,#fff);border:1px solid var(--coar-border-neutral,#e2e2e6);border-radius:8px;transition:max-width .18s ease-out,width .18s ease-out;overflow:hidden}.pb-builder__json-pane[data-v-a92ce3d0]{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.pb-builder__json-toolbar[data-v-a92ce3d0]{border-bottom:1px solid var(--coar-border-neutral,#e2e2e6);background:var(--coar-surface-neutral-subtle,#f7f7f9);flex-shrink:0;align-items:center;gap:8px;padding:6px 12px;display:flex}.pb-builder__json-hint[data-v-a92ce3d0]{color:var(--coar-text-neutral-secondary,#888);flex:1;font-size:12px}.pb-builder__json-error[data-v-a92ce3d0]{color:var(--coar-text-semantic-error-bold,#c0392b);font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px}.pb-builder__json-warning[data-v-a92ce3d0]{color:var(--coar-text-semantic-warning-bold,#9a6700);font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px}.pb-builder__json-apply[data-v-a92ce3d0]{background:var(--coar-background-accent-primary,#1666cc);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:4px;padding:4px 14px;font-family:inherit;font-size:12px;font-weight:500}.pb-builder__json-apply[data-v-a92ce3d0]:disabled{opacity:.4;cursor:default}.pb-builder__json-apply[data-v-a92ce3d0]:not(:disabled):hover{filter:brightness(.92)}.pb-builder__json-editor[data-v-a92ce3d0]{resize:none;color:var(--coar-text-neutral-primary,#111);background:var(--coar-surface-neutral-subtle,#f7f7f9);border:none;outline:none;flex:1;padding:16px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px;line-height:1.55}
|
|
1
|
+
.pb-stack[data-v-bb469dd8]{flex-direction:column;min-width:0;display:flex}.pb-stack--row[data-v-bb469dd8]{flex-direction:row}.pb-stack--row>[data-v-bb469dd8-s]{min-width:0}.pb-stack--wrap[data-v-bb469dd8]{flex-wrap:wrap}.pb-card-body[data-v-81fc7712]{flex-direction:column;min-width:0;display:flex}.pb-section[data-v-9f1ef1ed]{display:block}.pb-section__title[data-v-9f1ef1ed]{margin:0 0 var(--coar-spacing-s,8px);font-size:var(--coar-body-base-size,14px);color:var(--coar-text-neutral-primary,#111);font-weight:600}.pb-section__body[data-v-9f1ef1ed]{flex-direction:column;display:flex}.pb-repeat[data-v-42f53fd8]{gap:inherit;flex-direction:column;min-width:0;display:flex}.pb-repeat__empty[data-v-42f53fd8]{color:var(--coar-text-neutral-secondary,#666);margin:0}.pb-spacer[data-v-87936435]{flex-shrink:0}.canvas-node__spacer-preview[data-v-62e97d99]{background:repeating-linear-gradient(45deg,#00000008 0 4px,#0000 4px 8px);border:1px dashed #0000001f;border-radius:2px;height:20px}.pb-heading[data-v-61919abd],.canvas-node__heading[data-v-72e52037]{color:var(--coar-text-neutral-primary,#111);margin:0;font-weight:600}h1.canvas-node__heading[data-v-72e52037]{font-size:28px}h2.canvas-node__heading[data-v-72e52037]{font-size:22px}h3.canvas-node__heading[data-v-72e52037]{font-size:18px}h4.canvas-node__heading[data-v-72e52037]{font-size:15px}h5.canvas-node__heading[data-v-72e52037]{font-size:13px}h6.canvas-node__heading[data-v-72e52037]{font-size:12px}.pb-paragraph[data-v-d1869f20]{color:var(--coar-text-neutral-secondary,#666);margin:0}.canvas-node__paragraph[data-v-2a478621]{color:var(--coar-text-neutral-secondary,#555);margin:0;font-size:14px}.pb-prop-textarea[data-v-24532929]{border:1px solid var(--coar-border-neutral,#d0d0d0);width:100%;color:var(--coar-text-neutral-primary,#111);background:var(--coar-background-neutral-primary,#fff);resize:vertical;box-sizing:border-box;border-radius:6px;min-height:60px;padding:6px 10px;font-family:inherit;font-size:13px}.pb-prop-textarea[data-v-24532929]:focus{outline:2px solid var(--coar-border-accent-primary,#1a73e8);outline-offset:-1px}.pb-feedback[data-v-743e0d2b]{min-width:0}.pb-number-grid[data-v-7e2146a8]{grid-template-columns:1fr 1fr;gap:8px;display:grid}.pb-select-options[data-v-03cb50ff]{flex-direction:column;gap:6px;display:flex}.pb-select-options__label[data-v-03cb50ff]{color:var(--coar-text-neutral-secondary,#5a5a60);font-size:12px;font-weight:500}.pb-select-options__row[data-v-03cb50ff]{grid-template-columns:1fr 1fr auto auto auto;align-items:center;gap:4px;display:grid}.pb-select-options__btn[data-v-03cb50ff]{border:1px solid var(--coar-border-neutral,#dcdce0);width:22px;height:22px;color:var(--coar-icon-neutral-secondary,#5a5a60);cursor:pointer;background:0 0;border-radius:3px;justify-content:center;align-items:center;padding:0;transition:background-color .12s ease-out,color .12s ease-out;display:inline-flex}.pb-select-options__btn[data-v-03cb50ff]:hover:not(:disabled){background:var(--coar-background-neutral-secondary,#f0f0f2);color:var(--coar-icon-neutral-primary,#111)}.pb-select-options__btn[data-v-03cb50ff]:disabled{opacity:.3;cursor:not-allowed}.pb-select-options__btn--danger[data-v-03cb50ff]:hover:not(:disabled){background:var(--coar-background-semantic-error-subtle,#fde8e4);color:var(--coar-text-semantic-error-bold,#c0392b)}.pb-select-options__add[data-v-03cb50ff]{border:1px dashed var(--coar-border-neutral,#cecece);height:24px;color:var(--coar-text-neutral-secondary,#666);cursor:pointer;background:0 0;border-radius:4px;align-self:flex-start;align-items:center;gap:6px;padding:0 8px;font-family:inherit;font-size:12px;transition:border-color .12s,color .12s;display:inline-flex}.pb-select-options__add[data-v-03cb50ff]:hover{border-color:var(--coar-border-accent-primary,#1666cc);color:var(--coar-text-accent-primary,#1666cc)}.pb-button[data-v-949f857b]{width:fit-content;max-width:100%}.pb-bindable-property[data-v-f8061442]{flex-direction:column;gap:7px;display:flex}.pb-bindable-property__mode[data-v-f8061442]{width:24px;height:20px;color:var(--coar-text-neutral-tertiary,#777);cursor:pointer;background:0 0;border:0;border-radius:2px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.pb-bindable-property__mode span[data-v-f8061442]{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;font-style:italic;font-weight:700;line-height:1}.pb-bindable-property__mode[data-v-f8061442]:not(.pb-bindable-property__mode--active):after{content:"";background:currentColor;border-radius:1px;width:20px;height:1.5px;position:absolute;transform:rotate(-42deg)}.pb-bindable-property__mode--active[data-v-f8061442],.pb-bindable-property__mode[data-v-f8061442]:hover{color:var(--coar-text-accent-primary,#1666cc)}.pb-bindable-property__mode[data-v-f8061442]:focus-visible{outline:2px solid var(--coar-focus-color,#1666cc);outline-offset:2px}.pb-bindable-property__control[data-v-f8061442]{min-width:0;position:relative}.pb-bindable-property__static--covered[data-v-f8061442]{visibility:hidden;pointer-events:none}.pb-bindable-property__expression[data-v-f8061442]{box-sizing:border-box;border:1px solid var(--coar-border-accent-primary,#1666cc);background:var(--coar-surface-accent-secondary,#eef4ff);min-width:0;min-height:0;color:var(--coar-text-accent-primary,#1666cc);cursor:pointer;text-align:left;border-radius:5px;justify-content:space-between;align-items:flex-start;gap:8px;padding:7px 9px;display:flex;position:absolute;inset:0;overflow:hidden}.pb-bindable-property__expression code[data-v-f8061442]{color:inherit;overflow-wrap:anywhere;white-space:pre-wrap;-webkit-line-clamp:6;-webkit-box-orient:vertical;font-size:11px;display:-webkit-box;overflow:hidden}.pb-bindable-property__expression span[data-v-f8061442]{flex:none;font-size:11px;font-weight:600}.pb-bindable-property__expression[data-v-f8061442]:hover{background:var(--coar-surface-accent-secondary,#e6eefa);color:var(--coar-text-accent-primary,#1666cc)}.pb-link[data-v-b19c8dfa]{cursor:pointer;width:fit-content;max-width:100%;color:var(--coar-text-accent-primary,#06c);font-size:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.pb-link[data-v-b19c8dfa]:hover{color:var(--coar-text-accent-secondary,#004fa3)}.pb-link[data-v-b19c8dfa]:disabled{opacity:.5;cursor:default}.canvas-node__link[data-v-82c8c2f5]{cursor:default;color:var(--coar-text-accent-primary,#1666cc);background:0 0;border:none;padding:0;font-size:14px;text-decoration:underline}.pb-image[data-v-a8b9c85c]{width:fit-content;max-width:100%;display:block}.canvas-node__image-preview[data-v-d4b499a8]{border-radius:4px;max-width:100%;height:auto;display:block}.canvas-node__image-placeholder[data-v-d4b499a8]{background:var(--coar-background-neutral-secondary,#f7f7f9);color:var(--coar-text-neutral-secondary,#888);border:1px dashed #00000026;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:20px;font-size:12px;display:flex}.pb-image-asset[data-v-4cc22491]{align-items:stretch;gap:10px;display:flex}.pb-image-asset__thumb[data-v-4cc22491]{background:var(--coar-background-neutral-secondary,#f0f0f2);border:1px solid var(--coar-border-neutral,#e0e0e0);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:80px;height:80px;display:flex;overflow:hidden}.pb-image-asset__thumb img[data-v-4cc22491]{object-fit:cover;width:100%;height:100%;display:block}.pb-image-asset__empty[data-v-4cc22491]{color:var(--coar-icon-neutral-disabled,#b0b0b6);flex-direction:column;align-items:center;gap:2px;font-size:10px;display:flex}.pb-image-asset__empty-label[data-v-4cc22491]{font-size:10px}.pb-image-asset__controls[data-v-4cc22491]{flex-direction:column;justify-content:center;gap:6px;display:flex}.pb-visual-markup[data-v-6da7763b]{aspect-ratio:16/9;pointer-events:none;width:100%;min-width:0;overflow:hidden}.pb-visual-markup__frame[data-v-6da7763b]{pointer-events:none;border:0;width:100%;height:100%;display:block}.pb-visual-preview[data-v-60f39939]{aspect-ratio:16/9;background:#f7f7f9;border-radius:4px;width:100%;overflow:hidden}.pb-visual-preview iframe[data-v-60f39939]{pointer-events:none;border:0;width:100%;height:100%;display:block}.pb-visual-preview span[data-v-60f39939]{color:#991b1b;place-items:center;min-height:80px;font-size:12px;display:grid}.pb-page[data-v-569ef76c]{box-sizing:border-box;flex-direction:column;width:100%;min-width:0;height:100%;display:flex;overflow:auto}.coar-page-renderer[data-v-0a62d15d]{width:100%;min-width:0;height:100%;display:block}.pb-form-error[data-v-0a62d15d]{margin-bottom:var(--coar-spacing-m)}.pb-zoom[data-v-de1fae69]{flex-shrink:0;align-items:center;gap:2px;margin-left:auto;display:inline-flex}.pb-zoom__btn[data-v-de1fae69]{width:22px;height:22px;color:var(--coar-text-neutral-secondary,#5a5a60);cursor:pointer;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;display:inline-flex}.pb-zoom__btn[data-v-de1fae69]:hover:not(:disabled){background:var(--coar-background-neutral-tertiary,#eeeef1);color:var(--coar-text-neutral-primary,#202124)}.pb-zoom__btn[data-v-de1fae69]:disabled{opacity:.4;cursor:default}.pb-zoom__field[data-v-de1fae69]{border:1px solid #0000;border-radius:4px;align-items:center;height:22px;padding:0 4px;display:inline-flex}.pb-zoom__field[data-v-de1fae69]:hover,.pb-zoom__field[data-v-de1fae69]:focus-within{border-color:var(--coar-border-neutral,#e2e2e6);background:var(--coar-background-neutral-primary,#fff)}.pb-zoom__input[data-v-de1fae69]{width:28px;color:var(--coar-text-neutral-secondary,#5a5a60);font:inherit;font-variant-numeric:tabular-nums;text-align:right;background:0 0;border:0;outline:none;padding:0;font-size:11px}.pb-zoom__input[data-v-de1fae69]:focus{color:var(--coar-text-neutral-primary,#202124)}.pb-zoom__suffix[data-v-de1fae69]{color:var(--coar-text-neutral-tertiary,#8a8a90);font-size:11px}.pb-viewport[data-v-fe2dfbef]{border:1px solid var(--coar-border-neutral,#e2e2e6);background:var(--coar-background-neutral-primary,#fff);border-radius:5px;flex-shrink:0;align-items:center;gap:1px;padding:1px;display:inline-flex}.pb-viewport__btn[data-v-fe2dfbef]{color:var(--coar-text-neutral-secondary,#5a5a60);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:4px;padding:3px 7px;font-size:11px}.pb-viewport__btn[data-v-fe2dfbef]:hover{background:var(--coar-background-neutral-tertiary,#eeeef1);color:var(--coar-text-neutral-primary,#202124)}.pb-viewport__btn--active[data-v-fe2dfbef]{background:var(--coar-surface-accent-secondary,#eef3f9);color:var(--coar-text-accent-primary,#315f91)}.pb-tree-node[data-v-7d325075]{color:var(--coar-text-neutral-primary,#303238);font-size:12px;font-weight:400}.pb-tree-row[data-v-7d325075]{cursor:pointer;border-radius:4px;align-items:center;gap:6px;height:30px;padding-right:8px;display:flex;position:relative}.pb-tree-row[data-v-7d325075]:hover{background:var(--coar-background-neutral-secondary,#f1f1f3)}.pb-tree-node--selected>.pb-tree-row[data-v-7d325075]{background:var(--coar-surface-accent-secondary,#eef3f9);color:var(--coar-text-accent-primary,#315f91)}.pb-tree-node--selected>.pb-tree-row[data-v-7d325075]:before{content:"";background:var(--coar-background-accent-primary,#315f91);border-radius:2px;width:2px;position:absolute;top:3px;bottom:3px;left:0}.pb-tree-grip[data-v-7d325075]{width:12px;color:var(--coar-icon-neutral-disabled,#b8b8bc);opacity:.4;cursor:grab;touch-action:none;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .12s ease-out;display:inline-flex}.pb-tree-node--root>.pb-tree-row .pb-tree-grip[data-v-7d325075]{opacity:0;cursor:default}.pb-tree-row:hover .pb-tree-grip[data-v-7d325075],.pb-tree-node--selected>.pb-tree-row .pb-tree-grip[data-v-7d325075]{opacity:1}.pb-tree-node--root>.pb-tree-row:hover .pb-tree-grip[data-v-7d325075]{opacity:0}.pb-outline-zone[data-v-7d325075]{pointer-events:none;background:0 0;border-radius:2px;height:0;margin-right:8px;transition:height .12s ease-out,background-color .12s ease-out}.pb-outline-zone--active[data-v-7d325075]{outline-offset:-1px;background:#1666cc26;outline:1px dashed #1666cc59;height:6px}.pb-outline-zone--over[data-v-7d325075]{background:var(--coar-background-accent-primary,#1666cc);outline:none;height:10px}.pb-tree-row--dropinto[data-v-7d325075]{background:var(--coar-surface-accent-secondary,#e6eefa);box-shadow:inset 0 0 0 2px var(--coar-border-accent-primary,#1666cc)}.pb-tree-type-icon[data-v-7d325075]{color:var(--coar-icon-neutral-secondary,#5a5a60);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.pb-tree-node--selected>.pb-tree-row .pb-tree-type-icon[data-v-7d325075]{color:var(--coar-icon-accent-primary,#1666cc)}.pb-tree-label[data-v-7d325075]{flex:1;align-items:baseline;gap:6px;min-width:0;display:inline-flex}.pb-tree-label-text[data-v-7d325075]{white-space:nowrap;text-overflow:ellipsis;font-weight:400;overflow:hidden}.pb-tree-label-key[data-v-7d325075]{color:var(--coar-text-neutral-tertiary,#8a8a90);white-space:nowrap;text-overflow:ellipsis;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11px;overflow:hidden}.pb-tree-composition[data-v-7d325075]{background:var(--coar-background-neutral-secondary,#f1f1f3);max-width:120px;color:var(--coar-text-neutral-secondary,#666a72);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;padding:1px 5px;font-size:9px;font-weight:400;overflow:hidden}.pb-tree-node--selected>.pb-tree-row .pb-tree-label-key[data-v-7d325075]{color:var(--coar-text-accent-primary,#1666cc);opacity:.7}.pb-tree-issue[data-v-7d325075]{flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;margin-right:30px;display:inline-flex}.pb-tree-issue--warning[data-v-7d325075]{color:var(--coar-icon-semantic-warning-bold,#b45309)}.pb-tree-issue--error[data-v-7d325075]{color:var(--coar-icon-semantic-error-bold,#c0392b)}.pb-tree-actions[data-v-7d325075]{opacity:0;background:var(--coar-background-neutral-secondary,#f1f1f3);border-radius:4px;gap:1px;padding:1px;transition:opacity .12s ease-out;display:flex;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.pb-tree-row:hover .pb-tree-actions[data-v-7d325075],.pb-tree-node--selected>.pb-tree-row .pb-tree-actions[data-v-7d325075]{opacity:1}.pb-tree-node--selected>.pb-tree-row .pb-tree-actions[data-v-7d325075]{background:var(--coar-surface-accent-secondary,#e6eefa)}.pb-tree-btn[data-v-7d325075]{width:22px;height:22px;color:var(--coar-icon-neutral-secondary,#5a5a60);cursor:pointer;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;padding:0;transition:background-color .12s ease-out,color .12s ease-out;display:inline-flex}.pb-tree-btn[data-v-7d325075]:hover:not(:disabled){background:var(--coar-background-neutral-tertiary,#dedee2);color:var(--coar-icon-neutral-primary,#111)}.pb-tree-btn[data-v-7d325075]:disabled{opacity:.3;cursor:not-allowed}.pb-tree-btn--danger[data-v-7d325075]:hover:not(:disabled){background:var(--coar-background-semantic-error-subtle,#fde8e4);color:var(--coar-text-semantic-error-bold,#c0392b)}.pb-tree-add[data-v-7d325075]{padding-top:2px;padding-bottom:2px;padding-right:8px;position:relative}.pb-tree-add__trigger[data-v-7d325075]{border:1px dashed var(--coar-border-neutral,#cecece);height:26px;color:var(--coar-text-neutral-secondary,#666);cursor:pointer;background:0 0;border-radius:4px;align-items:center;gap:6px;padding:0 10px;font-family:inherit;font-size:12px;transition:border-color .12s,color .12s,background-color .12s;display:inline-flex}.pb-tree-add__trigger[data-v-7d325075]:hover,.pb-tree-add__trigger--open[data-v-7d325075]{border-color:var(--coar-border-accent-primary,#1666cc);color:var(--coar-text-accent-primary,#1666cc);background:var(--coar-surface-accent-secondary,#e6eefa)}.pb-tree-add__menu[data-v-7d325075]{top:calc(100% + 4px);left:inherit;background:var(--coar-background-neutral-primary,#fff);border:1px solid var(--coar-border-neutral,#dcdce0);z-index:10;border-radius:6px;flex-direction:column;min-width:200px;padding:4px;display:flex;position:absolute;box-shadow:0 8px 24px #0000001f}.pb-tree-add__group-label[data-v-7d325075]{text-transform:uppercase;letter-spacing:.04em;color:var(--coar-text-neutral-tertiary,#8a8a90);padding:6px 8px 2px;font-size:11px}.pb-tree-add__divider[data-v-7d325075]{background:var(--coar-border-neutral-tertiary,#eeeef0);height:1px;margin:4px 0}.pb-tree-add__item[data-v-7d325075]{color:var(--coar-text-neutral-primary,#111);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:10px;padding:6px 8px;font-family:inherit;font-size:13px;transition:background-color .12s;display:inline-flex}.pb-tree-add__item[data-v-7d325075]:hover{background:var(--coar-surface-accent-secondary,#e6eefa);color:var(--coar-text-accent-primary,#1666cc)}.pb-tree-add__item[data-v-7d325075]>:first-child{color:var(--coar-icon-neutral-secondary,#5a5a60);flex-shrink:0}.pb-tree-add__item[data-v-7d325075]:hover>:first-child{color:var(--coar-icon-accent-primary,#1666cc)}.pb-outline-wrap[data-v-1f013364]{box-sizing:border-box;height:100%;padding:4px 0;overflow-y:auto}.canvas-node[data-v-406cfd3b]{--canvas-accent:oklch(from var(--coar-background-accent-primary,#315f91) .44 .07 h);--canvas-border:#50566029;--canvas-border-selected:var(--canvas-accent);--canvas-tab-fg:#666b73;--canvas-tab-bg:#fff;--canvas-tab-border:#5056603d}.canvas-node--container[data-v-406cfd3b],.canvas-node--element[data-v-406cfd3b]{--canvas-border:#50566029;--canvas-tab-fg:#666b73;--canvas-tab-border:#5056603d}.canvas-node[data-v-406cfd3b]{box-sizing:border-box;border:1px solid var(--canvas-border);cursor:pointer;border-radius:5px;min-width:0;padding:11px 8px 8px;transition:border-color .12s ease-out,background-color .12s ease-out;position:relative}.canvas-node--container[data-v-406cfd3b]{flex-direction:column;display:flex}.canvas-node--container>.canvas-node__body[data-v-406cfd3b]{flex:auto;min-height:0}.canvas-node[data-v-406cfd3b]:hover:not(:has(.canvas-node:hover)){border-color:#50566057}.canvas-node--responsive-hidden[data-v-406cfd3b]{opacity:.52;background:repeating-linear-gradient(-45deg,#0000 0 6px,#5a5a640f 6px 12px)}.canvas-node--selected[data-v-406cfd3b]{border-color:var(--canvas-border-selected);background:color-mix(in oklab, var(--canvas-accent) 4%, transparent);box-shadow:0 0 0 1px color-mix(in oklab, var(--canvas-accent) 12%, transparent);border-style:solid}.canvas-node--dragging[data-v-406cfd3b]{opacity:.4}.canvas-node--blocked[data-v-406cfd3b]{--canvas-border:#c0392b80;--canvas-tab-fg:#c0392b;--canvas-tab-border:#c0392b8c;background:repeating-linear-gradient(45deg,#c0392b0a 0 6px,#0000 6px 12px)}.canvas-node__blocked[data-v-406cfd3b]{color:var(--coar-text-semantic-error-bold,#c0392b);align-items:center;gap:6px;margin:2px 0 6px;font-size:11px;font-weight:500;display:flex}.canvas-node--root[data-v-406cfd3b]{min-height:80px;padding:14px 10px 10px}.canvas-node__tab[data-v-406cfd3b]{background:var(--canvas-tab-bg);border:1px solid var(--canvas-tab-border);height:16px;color:var(--canvas-tab-fg);white-space:nowrap;text-overflow:ellipsis;-webkit-user-select:none;user-select:none;opacity:0;border-radius:4px;align-items:center;gap:4px;max-width:calc(100% - 40px);padding:0 5px;font-size:10px;font-weight:400;transition:opacity .12s ease-out,border-color .12s ease-out,color .12s ease-out;display:inline-flex;position:absolute;top:-8px;left:8px;overflow:hidden}.canvas-node--selected>.canvas-node__tab[data-v-406cfd3b],.canvas-node--blocked>.canvas-node__tab[data-v-406cfd3b]{opacity:1}.canvas-node:hover:not(:has(.canvas-node:hover))>.canvas-node__tab[data-v-406cfd3b]{opacity:1}.canvas-node__tab--grabbable[data-v-406cfd3b]{cursor:grab;touch-action:none}.canvas-node__tab--grabbable[data-v-406cfd3b]:active{cursor:grabbing}.canvas-node--selected>.canvas-node__tab[data-v-406cfd3b]{border-color:var(--canvas-border-selected);color:var(--canvas-border-selected);font-weight:500}.canvas-node__tab-label[data-v-406cfd3b]{text-overflow:ellipsis;line-height:1;overflow:hidden}.canvas-node__tab-eye[data-v-406cfd3b]{opacity:.75;flex-shrink:0;align-items:center;display:inline-flex}.canvas-node__delete[data-v-406cfd3b]{border:1px solid var(--canvas-tab-border);background:var(--canvas-tab-bg);width:16px;height:16px;color:var(--canvas-tab-fg);cursor:pointer;opacity:0;border-radius:4px;justify-content:center;align-items:center;padding:0;transition:opacity .12s ease-out,background-color .12s ease-out,border-color .12s ease-out,color .12s ease-out;display:inline-flex;position:absolute;top:-8px;right:8px}.canvas-node--selected>.canvas-node__delete[data-v-406cfd3b]{opacity:1}.canvas-node:hover:not(:has(.canvas-node:hover))>.canvas-node__delete[data-v-406cfd3b]{opacity:1}.canvas-node__duplicate[data-v-406cfd3b]{right:29px}.canvas-node[data-v-406cfd3b]:focus-visible{outline:2px solid var(--coar-border-focus,#1666cc);outline-offset:1px}.canvas-node__delete[data-v-406cfd3b]:hover{background:var(--coar-background-semantic-error-subtle,#fde8e4);border-color:var(--coar-text-semantic-error-bold,#c0392b);color:var(--coar-text-semantic-error-bold,#c0392b)}.canvas-node__body[data-v-406cfd3b]{min-height:24px}.canvas-node__body--dir-row>.canvas-node[data-v-406cfd3b]{min-width:0}.canvas-node__body--card[data-v-406cfd3b]{background:var(--coar-background-neutral-primary,#fff);border:1px solid var(--coar-border-neutral,#e0e0e0);border-radius:6px;padding:12px;box-shadow:0 1px 4px #00000012}.canvas-node__section-title[data-v-406cfd3b]{color:var(--coar-text-neutral-primary,#111);border-bottom:1px solid var(--coar-border-neutral,#e0e0e0);margin-bottom:8px;padding-bottom:6px;font-size:13px;font-weight:600}.canvas-dropzone[data-v-406cfd3b]{box-sizing:border-box;opacity:0;pointer-events:none;background:#1666cc1f;border:1px dashed #1666cc73;border-radius:3px;flex-shrink:0;transition:background-color .12s ease-out,border-color .12s ease-out,opacity .15s ease-out,width .14s ease-out,min-width .14s ease-out,height .14s ease-out,min-height .14s ease-out}.canvas-dropzone--empty[data-v-406cfd3b]{opacity:1;pointer-events:auto;color:var(--coar-text-neutral-tertiary,#8a8a90);text-align:center;min-height:unset;background:#66666e0a;border-color:#66666e40;height:auto;padding:14px 12px;font-size:12px;font-style:italic}.canvas-dropzone--drag-active[data-v-406cfd3b]{background:#1666cc33;border-color:#1666ccb3}.canvas-dropzone--over[data-v-406cfd3b]{background:#1666cc59;border-style:solid;border-color:#1666ccf2;box-shadow:inset 0 0 0 1px #1666cc99}.canvas-dropzone--disabled[data-v-406cfd3b]{opacity:.55;background:#64646a14;border-color:#64646a4d}.canvas-dropzone--row[data-v-406cfd3b]{align-self:stretch;width:0;min-width:0}.canvas-dropzone--row.canvas-dropzone--drag-active[data-v-406cfd3b]{width:10px;min-width:10px}.canvas-dropzone--row.canvas-dropzone--over[data-v-406cfd3b]{width:24px;min-width:24px}.canvas-dropzone--column[data-v-406cfd3b]{width:auto;height:0;min-height:0}.canvas-dropzone--column.canvas-dropzone--drag-active[data-v-406cfd3b]{height:10px;min-height:10px}.canvas-dropzone--column.canvas-dropzone--over[data-v-406cfd3b]{height:24px;min-height:24px}.canvas-node__preview[data-v-406cfd3b]{pointer-events:none}.canvas-node__generic-preview[data-v-406cfd3b]{color:var(--coar-text-neutral-secondary,#888);border:1px dashed #66666e4d;border-radius:4px;align-items:center;gap:6px;padding:10px;font-size:12px;display:flex}.pb-canvas-shell[data-v-0a26d104]{flex-direction:column;flex:1;min-height:0;display:flex}.pb-canvas__toolbar[data-v-0a26d104]{box-sizing:border-box;border-bottom:1px solid var(--coar-border-neutral,#e2e2e6);background:var(--coar-background-neutral-secondary,#f7f7f9);flex-shrink:0;align-items:center;gap:8px;height:38px;padding:8px 12px;display:flex}.pb-canvas[data-v-0a26d104]{background:var(--coar-background-neutral-secondary,#f7f8f9);flex:1;min-height:0;padding:28px 24px 24px;overflow:auto}.pb-canvas__frame[data-v-0a26d104]{min-width:0;margin-inline:auto}.pb-canvas__content[data-v-0a26d104]{min-width:0}.pb-library[data-v-ed1d1d31]{background:var(--coar-background-neutral-primary,#fff);flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.pb-library__sr-only[data-v-ed1d1d31]{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.pb-library__search[data-v-ed1d1d31]{border-bottom:1px solid var(--coar-border-neutral-tertiary,#ececef);flex:none;padding:10px 9px}.pb-library__scroll[data-v-ed1d1d31]{flex:1;min-height:0;overflow:auto}.pb-library__group[data-v-ed1d1d31]{border-bottom:1px solid var(--coar-border-neutral-tertiary,#ececef)}.pb-library__group-toggle[data-v-ed1d1d31]{width:100%;height:36px;color:var(--coar-text-neutral-secondary,#5f6368);font:inherit;letter-spacing:.01em;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:16px minmax(0,1fr) auto;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:500;display:grid}.pb-library__group-toggle[data-v-ed1d1d31]:hover{background:var(--coar-background-neutral-secondary,#f6f6f7)}.pb-library__group-toggle small[data-v-ed1d1d31]{min-width:18px;color:var(--coar-text-neutral-tertiary,#8b8f96);text-align:right;padding:0;font-size:10px;font-weight:400}.pb-library__items[data-v-ed1d1d31]{gap:2px;padding:3px 6px 8px;display:grid}.pb-library__item[data-v-ed1d1d31]{--item-accent:#6c7078;min-height:30px;color:var(--coar-text-neutral-primary,#303238);font:inherit;text-align:left;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;background:0 0;border:1px solid #0000;border-radius:4px;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:7px;padding:4px 7px;font-size:12px;font-weight:400;display:grid}.pb-library__item[data-v-ed1d1d31]:hover{border-color:var(--coar-border-neutral-tertiary,#e4e5e8);background:var(--coar-background-neutral-secondary,#f5f5f6)}.pb-library__item>span[data-v-ed1d1d31]{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.pb-library__item[data-v-ed1d1d31]>:first-child{color:var(--item-accent)}.pb-library__item>small[data-v-ed1d1d31]{color:var(--coar-text-neutral-tertiary,#8b8f96);font-size:9px}.pb-library__item--container[data-v-ed1d1d31]{--item-accent:#52749a}.pb-library__item--element[data-v-ed1d1d31]{--item-accent:#5f6b72}.pb-library__item--composition[data-v-ed1d1d31]{--item-accent:#806b52}.pb-library__item--field[data-v-ed1d1d31]{--item-accent:#725f88}.pb-library__item--dragging[data-v-ed1d1d31]{opacity:.4;cursor:grabbing}.pb-library__item[data-v-ed1d1d31]:disabled{opacity:.43;cursor:default}.pb-library__required[data-v-ed1d1d31]{color:var(--coar-text-semantic-error-bold,#b42318);font-weight:500}.pb-library__empty[data-v-ed1d1d31]{color:var(--coar-text-neutral-tertiary,#777);margin:4px 3px;font-size:11px}.pb-responsive-status[data-v-695b3f56]{background:var(--coar-background-neutral-secondary,#f7f7f9);color:var(--coar-text-neutral-secondary,#666);border-radius:5px;flex-wrap:wrap;align-items:center;gap:5px;padding:7px 8px;font-size:11px;display:flex}.pb-responsive-status button[data-v-695b3f56]{border:1px solid var(--coar-border-neutral,#d0d0d5);background:var(--coar-background-neutral-primary,#fff);color:inherit;font:inherit;cursor:pointer;border-radius:999px}.pb-style-bindable[data-v-695b3f56]{flex-direction:column;display:flex}.pb-action-values[data-v-c30ffd20]{flex-direction:column;gap:8px;display:flex}.pb-action-values__heading[data-v-c30ffd20]{justify-content:space-between;align-items:flex-start;gap:8px;margin-top:8px;display:flex}.pb-action-values__heading strong[data-v-c30ffd20],.pb-action-values__dynamic strong[data-v-c30ffd20]{font-size:12px}.pb-action-values__heading p[data-v-c30ffd20],.pb-action-values__dynamic p[data-v-c30ffd20],.pb-action-values__empty[data-v-c30ffd20],.pb-action-values__precedence[data-v-c30ffd20]{color:var(--coar-text-neutral-secondary,#666);margin:2px 0 0;font-size:11px;line-height:1.4}.pb-action-values__row[data-v-c30ffd20]{border:1px solid var(--coar-border-neutral-tertiary,#ddd);border-radius:6px;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:6px;padding:8px;display:grid}.pb-action-values__error[data-v-c30ffd20]{color:var(--coar-text-semantic-error-bold,#b42318);grid-column:1/-1;margin:0;font-size:11px}.pb-action-values__remove[data-v-c30ffd20]{color:var(--coar-text-semantic-error-bold,#b42318);cursor:pointer;background:0 0;border:0;grid-column:1/-1;justify-self:end;padding:0;font-size:11px}.pb-action-values__dynamic[data-v-c30ffd20]{border-top:1px solid var(--coar-border-neutral-tertiary,#ddd);flex-direction:column;gap:6px;padding-top:10px;display:flex}.pb-action-values__dynamic code[data-v-c30ffd20]{font-size:10px}.pb-action-values__precedence[data-v-c30ffd20]{background:var(--coar-background-neutral-secondary,#f7f7f9);border-radius:5px;padding:7px}.pb-compound[data-v-39bc1c00]{flex-direction:column;gap:4px;min-width:0;display:flex}.pb-compound__row[data-v-39bc1c00]{grid-template-columns:minmax(0,84px) minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.pb-compound__label[data-v-39bc1c00]{color:var(--coar-text-neutral-secondary,#5a5a60);overflow-wrap:anywhere;font-size:12px;line-height:1.3}.pb-compound__input[data-v-39bc1c00]{min-width:0}.pb-compound__toggle[data-v-39bc1c00]{width:20px;height:20px;color:var(--coar-icon-neutral-secondary,#6c7078);cursor:pointer;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.pb-compound__toggle[data-v-39bc1c00]:hover{background:var(--coar-background-neutral-tertiary,#eeeef1);color:var(--coar-icon-neutral-primary,#202124)}.pb-compound__toggle--marked[data-v-39bc1c00]:after{content:"";background:var(--coar-background-accent-primary,#315f91);border-radius:50%;width:4px;height:4px;position:absolute;top:2px;right:2px}.pb-compound__hint[data-v-39bc1c00]{color:var(--coar-text-neutral-tertiary,#8a8a90);margin:0 0 0 92px;font-size:11px}.pb-compound__details[data-v-39bc1c00]{border-left:1px solid var(--coar-border-neutral,#e2e2e6);flex-direction:column;gap:4px;margin:2px 0 4px 92px;padding-left:8px;display:flex}.pb-compound__detail[data-v-39bc1c00]{grid-template-columns:minmax(0,64px) minmax(0,1fr);align-items:center;gap:8px;display:grid}.pb-compound__detail-label[data-v-39bc1c00]{color:var(--coar-text-neutral-tertiary,#8a8a90);overflow-wrap:anywhere;font-size:11px}.pb-compound__note[data-v-39bc1c00]{color:var(--coar-text-neutral-secondary,#5a5a60);margin:0;font-size:11px}.pb-compound__reset[data-v-39bc1c00]{font:inherit;color:var(--coar-text-accent-primary,#315f91);cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:2px 0;font-size:11px}.pb-props[data-v-2ba3db80]{background:var(--coar-background-neutral-primary,#fff);height:100%;min-height:0;font-family:var(--coar-body-base-family,sans-serif);flex-direction:column;font-weight:400;display:flex}.pb-props__header[data-v-2ba3db80]{box-sizing:border-box;border-bottom:1px solid var(--coar-border-neutral,#e2e2e6);height:44px;color:var(--coar-text-neutral-secondary,#5a5a60);flex-shrink:0;align-items:center;gap:8px;padding:0 14px;display:flex}.pb-props__title[data-v-2ba3db80]{letter-spacing:.01em;color:var(--coar-text-neutral-secondary,#5a5a60);font-size:12px;font-weight:500}.pb-props__body[data-v-2ba3db80]{flex-direction:column;flex:1;padding:14px;display:flex;overflow:auto}.pb-props__section[data-v-2ba3db80]{flex-direction:column;gap:12px;display:flex}.pb-props__section--separated[data-v-2ba3db80]{border-top:1px solid var(--coar-border-neutral-tertiary,#eeeef0);margin-top:20px;padding-top:16px}.pb-props__section-title[data-v-2ba3db80]{letter-spacing:.01em;color:var(--coar-text-neutral-secondary,#666a72);margin:0;font-size:11px;font-weight:500}.pb-props__name-editor[data-v-2ba3db80]{flex-direction:column;gap:6px;display:flex}.pb-props__quick-property[data-v-2ba3db80]{align-items:center;gap:6px;display:flex}.pb-props[data-v-2ba3db80] .coar-form-field--inline{width:100%}.pb-props[data-v-2ba3db80] .coar-form-field--inline .coar-form-field__body{grid-template-columns:minmax(0,84px) minmax(0,1fr);align-items:center;gap:8px;display:grid}.pb-props[data-v-2ba3db80] .coar-form-field--inline .coar-form-field__label-cluster,.pb-props[data-v-2ba3db80] .coar-form-field--inline .coar-form-field__label{min-width:0;color:var(--coar-text-neutral-secondary,#5a5a60);overflow-wrap:anywhere;font-size:12px;line-height:1.3}.pb-props[data-v-2ba3db80] .coar-form-field--inline .coar-form-field__control{min-width:0}.pb-props__quick-control[data-v-2ba3db80]{flex:1;min-width:0}.pb-props__quick-from[data-v-2ba3db80]{background:var(--coar-background-neutral-secondary,#f2f2f4);color:var(--coar-text-neutral-tertiary,#8a8a90);white-space:nowrap;cursor:help;border-radius:999px;flex:none;align-self:center;padding:1px 5px;font-size:10px}.pb-props__quick-reset[data-v-2ba3db80]{color:var(--coar-text-neutral-tertiary,#8a8a90);font:inherit;cursor:pointer;background:0 0;border:0;flex:none;margin-bottom:3px;padding:2px 3px;font-size:10px}.pb-props__quick-reset[data-v-2ba3db80]:hover{color:var(--coar-text-accent-primary,#1666cc)}.pb-props__translation-link[data-v-2ba3db80]{max-width:100%;color:var(--coar-text-neutral-tertiary,#73737b);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:4px;margin-top:3px;padding:0;display:flex}.pb-props__translation-link[data-v-2ba3db80]:hover{color:var(--coar-text-accent-primary,#1666cc)}.pb-props__translation-link code[data-v-2ba3db80]{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.pb-props__sr-only[data-v-2ba3db80]{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pb-props__section-heading[data-v-2ba3db80]{justify-content:space-between;align-items:center;gap:8px;display:flex}.pb-props__section-actions[data-v-2ba3db80]{align-items:center;gap:5px;display:flex}.pb-props__composition[data-v-2ba3db80]{border-bottom:1px solid var(--coar-border-neutral,#e2e2e6);padding-bottom:14px}.pb-props__composition-actions[data-v-2ba3db80]{flex-wrap:wrap;gap:6px;display:flex}.pb-props__composition-error[data-v-2ba3db80]{color:var(--coar-text-semantic-error-bold,#b42318);margin:0;font-size:11px}.pb-props__small-button[data-v-2ba3db80],.pb-props__remove-binding[data-v-2ba3db80]{border:1px solid var(--coar-border-neutral,#d0d0d5);background:var(--coar-background-neutral-primary,#fff);color:var(--coar-text-accent-primary,#1666cc);font:inherit;cursor:pointer;border-radius:5px;font-size:11px}.pb-props__binding[data-v-2ba3db80]{border:1px solid var(--coar-border-neutral-tertiary,#eeeef0);border-radius:6px;flex-direction:column;gap:8px;padding:10px;display:flex}.pb-props__expression-summary[data-v-2ba3db80]{flex-direction:column;gap:7px;display:flex}.pb-props__expression-summary code[data-v-2ba3db80]{background:var(--coar-background-neutral-secondary,#f7f7f9);max-height:54px;color:var(--coar-text-neutral-secondary,#555);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:4px;padding:6px;font-size:10px;display:block;overflow:hidden}.pb-props__localized-key[data-v-2ba3db80]{color:var(--coar-text-neutral-primary,#222);font-size:12px}.pb-props__remove-binding[data-v-2ba3db80]{color:var(--coar-text-semantic-error-bold,#b42318);align-self:flex-start}.pb-props__empty[data-v-2ba3db80]{color:var(--coar-icon-neutral-disabled,#b0b0b6);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:6px;padding:32px 16px;display:flex}.pb-props__empty-title[data-v-2ba3db80]{font-size:var(--coar-body-small-base-size,14px);color:var(--coar-text-neutral-secondary,#5a5a60);margin:8px 0 0;font-weight:500}.pb-props__empty-hint[data-v-2ba3db80],.pb-props__hint[data-v-2ba3db80]{font-size:var(--coar-body-caption-size,12px);color:var(--coar-text-neutral-tertiary,#8a8a90);margin:0}.pb-props__issues[data-v-2ba3db80]{flex-direction:column;gap:6px;margin:0 0 16px;padding:0;list-style:none;display:flex}.pb-props__issue[data-v-2ba3db80]{border-radius:6px;align-items:flex-start;gap:8px;padding:8px 10px;font-size:12px;line-height:1.4;display:flex}.pb-props__issue--warning[data-v-2ba3db80]{background:var(--coar-background-semantic-warning-subtle,#fef3c7);color:var(--coar-text-semantic-warning-bold,#92400e)}.pb-props__issue--error[data-v-2ba3db80]{background:var(--coar-background-semantic-error-subtle,#fde8e4);color:var(--coar-text-semantic-error-bold,#c0392b)}.pb-translations[data-v-7c74b04a]{background:var(--coar-background-neutral-primary,#fff);height:100%;padding:20px;overflow:auto}.pb-translations__header[data-v-7c74b04a]{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:18px;display:flex}.pb-translations__header h3[data-v-7c74b04a]{margin:0 0 4px;font-size:18px}.pb-translations__header p[data-v-7c74b04a]{color:var(--coar-text-neutral-secondary,#666);margin:0;font-size:13px}.pb-translations__locale[data-v-7c74b04a]{flex:none;width:180px}.pb-translations__toolbar[data-v-7c74b04a]{grid-template-columns:minmax(220px,1fr) minmax(340px,1fr);gap:12px;margin-bottom:14px;display:grid}.pb-translations__add[data-v-7c74b04a]{grid-template-columns:1fr auto;gap:8px;display:grid}.pb-translations__table-wrap[data-v-7c74b04a]{border:1px solid var(--coar-border-neutral,#ddd);border-radius:7px;overflow:auto}.pb-translations__table[data-v-7c74b04a]{border-collapse:collapse;width:100%;min-width:760px}.pb-translations__table th[data-v-7c74b04a],.pb-translations__table td[data-v-7c74b04a]{border-bottom:1px solid var(--coar-border-neutral,#e5e5e8);text-align:left;vertical-align:middle;padding:9px}.pb-translations__table thead th[data-v-7c74b04a]{z-index:1;background:var(--coar-background-neutral-secondary,#f7f7f8);font-size:12px;position:sticky;top:0}.pb-translations__table tbody th[data-v-7c74b04a]{width:30%;font-weight:500}.pb-translations__table tbody tr[data-v-7c74b04a]:last-child>*{border-bottom:0}.pb-translations__table code[data-v-7c74b04a]{overflow-wrap:anywhere;font-size:12px}.pb-translations__usage[data-v-7c74b04a],.pb-translations__unused[data-v-7c74b04a]{white-space:nowrap;font-size:11px}.pb-translations__usage[data-v-7c74b04a]{background:var(--coar-surface-accent-secondary,#e8f1ff);min-width:22px;color:var(--coar-text-accent-primary,#1666cc);border-radius:999px;justify-content:center;padding:2px 6px;display:inline-flex}.pb-translations__unused[data-v-7c74b04a]{color:var(--coar-text-neutral-tertiary,#888)}.pb-translations__actions[data-v-7c74b04a]{white-space:nowrap;width:1%}.pb-translations__delete[data-v-7c74b04a]{color:var(--coar-text-semantic-error-bold,#b42318);font:inherit;cursor:pointer;background:0 0;border:0;padding:3px 5px;font-size:11px}.pb-translations__delete[data-v-7c74b04a]:disabled{color:var(--coar-text-neutral-disabled,#aaa);cursor:not-allowed}.pb-translations__sr-only[data-v-7c74b04a]{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.pb-translations__empty[data-v-7c74b04a]{min-height:240px;color:var(--coar-text-neutral-secondary,#666);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}@media (width<=820px){.pb-translations__header[data-v-7c74b04a]{flex-direction:column}.pb-translations__locale[data-v-7c74b04a]{width:100%}.pb-translations__toolbar[data-v-7c74b04a]{grid-template-columns:1fr}}.pb-compositions[data-v-79845972]{color:var(--coar-text-neutral-primary,#17171a);align-content:start;gap:16px;padding:20px;display:grid;overflow:auto}.pb-compositions__header[data-v-79845972],.pb-compositions__section-heading[data-v-79845972],.pb-compositions__actions[data-v-79845972],.pb-compositions__create[data-v-79845972],.pb-compositions__item[data-v-79845972]{align-items:center;gap:10px;display:flex}.pb-compositions__header[data-v-79845972]{justify-content:space-between}.pb-compositions h3[data-v-79845972],.pb-compositions h4[data-v-79845972],.pb-compositions p[data-v-79845972]{margin:0}.pb-compositions h3[data-v-79845972]{font-size:17px}.pb-compositions h4[data-v-79845972]{font-size:14px}.pb-compositions__header p[data-v-79845972],.pb-compositions__section p[data-v-79845972]{color:var(--coar-text-neutral-secondary,#666);margin-top:4px;font-size:12px;line-height:1.45}.pb-compositions__section[data-v-79845972]{border:1px solid var(--coar-border-neutral,#dedee3);background:var(--coar-background-neutral-primary,#fff);border-radius:8px;padding:14px}.pb-compositions__linked[data-v-79845972]{border-color:var(--coar-border-accent-primary,#4b7fd1);background:var(--coar-surface-accent-secondary,#f3f7fd)}.pb-compositions__section-heading[data-v-79845972]{justify-content:space-between}.pb-compositions__eyebrow[data-v-79845972]{color:var(--coar-text-neutral-tertiary,#777);letter-spacing:.06em;text-transform:uppercase;margin-bottom:3px;font-size:10px;font-weight:700;display:block}.pb-compositions__actions[data-v-79845972],.pb-compositions__create[data-v-79845972]{flex-wrap:wrap;margin-top:12px}.pb-compositions__create[data-v-79845972]>:first-child{flex:1;min-width:180px}.pb-compositions__hint[data-v-79845972],.pb-compositions__empty[data-v-79845972]{margin-top:8px!important}.pb-compositions__error[data-v-79845972]{color:var(--coar-text-semantic-error-bold,#a32b20);background:var(--coar-background-semantic-error-subtle,#fde8e4);border-radius:6px;padding:10px 12px;font-size:12px}.pb-compositions__issues[data-v-79845972]{border-color:var(--coar-border-semantic-warning,#d69e2e);background:var(--coar-background-semantic-warning-subtle,#fff8df)}.pb-compositions__target[data-v-79845972]{color:var(--coar-text-neutral-secondary,#666);font-size:11px}.pb-compositions__item[data-v-79845972]{border-top:1px solid var(--coar-border-neutral,#e5e5e8);padding:10px 0}.pb-compositions__item[data-v-79845972]:first-of-type{margin-top:10px}.pb-compositions__item-copy[data-v-79845972]{flex:1;gap:2px;min-width:0;display:grid}.pb-compositions__item-copy strong[data-v-79845972]{font-size:13px}.pb-compositions__item-copy code[data-v-79845972]{text-overflow:ellipsis;color:var(--coar-text-neutral-tertiary,#777);font-size:11px;overflow:hidden}.pb-compositions__version[data-v-79845972]{color:var(--coar-text-neutral-secondary,#666);gap:2px;font-size:10px;display:grid}.pb-compositions__version select[data-v-79845972]{border:1px solid var(--coar-border-neutral,#ccc);min-width:72px;font:inherit;background:#fff;border-radius:4px;padding:3px 5px}.pb-builder[data-v-0ab18b49]{background:var(--coar-background-neutral-primary,#fff);border:1px solid var(--coar-border-neutral,#e2e2e6);height:100%;min-height:520px;font-family:var(--coar-body-base-family,sans-serif);color:var(--coar-text-neutral-primary,#202124);border-radius:8px;font-size:13px;font-weight:400;transition:grid-template-columns .18s ease-out;display:grid;overflow:hidden}.pb-builder--resizing[data-v-0ab18b49]{-webkit-user-select:none;user-select:none;cursor:col-resize;transition:none}.pb-builder[data-v-0ab18b49]:focus{outline:none}.pb-builder__pane[data-v-0ab18b49]{background:var(--coar-background-neutral-primary,#fff);flex-direction:column;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}.pb-builder__pane--rail[data-v-0ab18b49]{justify-content:flex-start;align-items:center;padding:8px 0}.pb-builder__pane--tools[data-v-0ab18b49]{background:var(--coar-background-neutral-secondary,#f8f8f9);grid-template-columns:44px minmax(0,1fr);display:grid}.pb-builder__activity-rail[data-v-0ab18b49]{border-right:1px solid var(--coar-border-neutral-tertiary,#ececef);flex-direction:column;align-items:center;gap:4px;padding:8px 0;display:flex}.pb-builder__activity-btn[data-v-0ab18b49]{width:32px;height:32px;color:var(--coar-icon-neutral-secondary,#6c7078);cursor:pointer;background:0 0;border:0;border-radius:5px;justify-content:center;align-items:center;padding:0;transition:background-color .12s ease-out,color .12s ease-out;display:inline-flex;position:relative}.pb-builder__activity-btn[data-v-0ab18b49]:hover{background:var(--coar-background-neutral-tertiary,#eeeef1);color:var(--coar-icon-neutral-primary,#202124)}.pb-builder__activity-btn--active[data-v-0ab18b49]{background:var(--coar-surface-accent-secondary,#eef3f9);color:var(--coar-text-accent-primary,#315f91)}.pb-builder__activity-btn--active[data-v-0ab18b49]:before{content:"";background:var(--coar-background-accent-primary,#315f91);border-radius:2px;width:2px;height:18px;position:absolute;left:-6px}.pb-builder__tool-drawer[data-v-0ab18b49]{background:var(--coar-background-neutral-primary,#fff);flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.pb-builder__pane-header[data-v-0ab18b49]{box-sizing:border-box;border-bottom:1px solid var(--coar-border-neutral,#e2e2e6);height:40px;color:var(--coar-text-neutral-secondary,#5a5a60);flex-shrink:0;align-items:center;gap:8px;padding:0 12px;display:flex}.pb-builder__pane-title[data-v-0ab18b49]{letter-spacing:.01em;color:var(--coar-text-neutral-secondary,#5a5a60);flex:1;font-size:12px;font-weight:500}.pb-builder[data-v-0ab18b49] .coar-tab-list{box-sizing:border-box;align-items:stretch;min-height:40px}.pb-builder[data-v-0ab18b49] .coar-tab-button{align-items:center;padding-top:0;padding-bottom:0;font-size:13px;font-weight:400;display:inline-flex}.pb-builder[data-v-0ab18b49] .coar-tab-button:hover:not(.disabled),.pb-builder[data-v-0ab18b49] .coar-tab-button.active{color:var(--coar-text-neutral-primary,#202124)}.pb-builder[data-v-0ab18b49] .pb-props__header{box-sizing:border-box;height:40px;padding:0 12px}.pb-builder[data-v-0ab18b49] .coar-tab-content{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.pb-builder[data-v-0ab18b49] .coar-tab-panel{display:none}.pb-builder[data-v-0ab18b49] .coar-tab-panel.active{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.pb-builder__tree-scroll[data-v-0ab18b49]{flex:1;min-height:0;padding:6px 4px 12px;overflow:hidden}.pb-builder__pane-inner[data-v-0ab18b49]{border:none;border-radius:0;flex:1;min-height:0}.pb-builder__divider[data-v-0ab18b49]{background:var(--coar-border-neutral,#e2e2e6);cursor:col-resize;z-index:1;transition:background-color .12s ease-out;position:relative}.pb-builder__divider[data-v-0ab18b49]:after{content:"";cursor:inherit;position:absolute;inset:0 -5px}.pb-builder__divider[data-v-0ab18b49]:hover,.pb-builder--resizing .pb-builder__divider[data-v-0ab18b49]{background:var(--coar-background-accent-primary,#1666cc)}.pb-builder__divider--inert[data-v-0ab18b49]{cursor:default;pointer-events:none}.pb-builder__divider--inert[data-v-0ab18b49]:after{pointer-events:none}.pb-builder__icon-btn[data-v-0ab18b49]{width:24px;height:24px;color:var(--coar-icon-neutral-secondary,#5a5a60);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;padding:0;transition:background-color .12s,color .12s,border-color .12s;display:inline-flex}.pb-builder__icon-btn[data-v-0ab18b49]:hover:not(:disabled){background:var(--coar-background-neutral-secondary,#f0f0f2);border-color:var(--coar-border-neutral,#dcdce0);color:var(--coar-icon-neutral-primary,#111)}.pb-builder__icon-btn[data-v-0ab18b49]:disabled{opacity:.3;cursor:not-allowed}.pb-builder__icon-btn--corner[data-v-0ab18b49]{z-index:2;position:absolute;top:8px;right:8px}.pb-builder__rail-btn[data-v-0ab18b49]{width:28px;height:28px;color:var(--coar-icon-neutral-secondary,#5a5a60);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;padding:0;transition:background-color .12s,border-color .12s,color .12s;display:inline-flex}.pb-builder__rail-btn[data-v-0ab18b49]:hover{background:var(--coar-background-neutral-secondary,#f0f0f2);border-color:var(--coar-border-neutral,#dcdce0);color:var(--coar-icon-neutral-primary,#111)}.pb-builder__pane--center[data-v-0ab18b49]{padding:0}.pb-builder__tabs[data-v-0ab18b49]{flex-direction:column;flex:1;min-height:0;display:flex}.pb-builder__tab-label[data-v-0ab18b49]{align-items:center;gap:6px;display:inline-flex}.pb-builder__preview-pane[data-v-0ab18b49]{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.pb-builder__preview-toolbar[data-v-0ab18b49]{box-sizing:border-box;border-bottom:1px solid var(--coar-border-neutral,#e2e2e6);background:var(--coar-background-neutral-secondary,#f7f7f9);flex-shrink:0;align-items:center;gap:8px;height:38px;padding:8px 12px;display:flex}.pb-builder__bar-control[data-v-0ab18b49]{color:var(--coar-text-neutral-secondary,#555);align-items:center;gap:5px;margin-left:4px;font-size:11px;display:inline-flex}.pb-builder__preview-scale[data-v-0ab18b49]{margin-inline:auto}.pb-builder__bar-control select[data-v-0ab18b49]{border:1px solid var(--coar-border-neutral,#d0d0d0);background:var(--coar-background-neutral-primary,#fff);max-width:150px;font:inherit;border-radius:4px}.pb-builder__preview[data-v-0ab18b49]{box-sizing:border-box;background:var(--coar-background-neutral-secondary,#f7f8f9);flex:1;min-height:0;padding:20px 24px;overflow:auto}.pb-builder__preview-frame[data-v-0ab18b49]{background:var(--coar-background-neutral-primary,#fff);border:1px solid var(--coar-border-neutral,#e2e2e6);border-radius:8px;flex:none;transition:max-width .18s ease-out,width .18s ease-out;overflow:auto}.pb-builder__preview-empty[data-v-0ab18b49]{box-sizing:border-box;min-height:240px;color:var(--coar-text-neutral-secondary,#666);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:24px;display:flex}.pb-builder__preview-empty strong[data-v-0ab18b49]{color:var(--coar-text-neutral-primary,#222)}.pb-builder__preview-empty span[data-v-0ab18b49]{max-width:440px;font-size:12px}.pb-builder__json-pane[data-v-0ab18b49]{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.pb-builder__json-toolbar[data-v-0ab18b49]{border-bottom:1px solid var(--coar-border-neutral,#e2e2e6);background:var(--coar-background-neutral-secondary,#f7f7f9);flex-shrink:0;align-items:center;gap:8px;padding:6px 12px;display:flex}.pb-builder__json-hint[data-v-0ab18b49]{color:var(--coar-text-neutral-secondary,#888);flex:1;font-size:12px}.pb-builder__json-error[data-v-0ab18b49]{color:var(--coar-text-semantic-error-bold,#c0392b);font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px}.pb-builder__json-warning[data-v-0ab18b49]{color:var(--coar-text-semantic-warning-bold,#9a6700);font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px}.pb-builder__json-apply[data-v-0ab18b49]{background:var(--coar-background-accent-primary,#1666cc);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:4px;padding:4px 14px;font-family:inherit;font-size:12px;font-weight:500}.pb-builder__json-apply[data-v-0ab18b49]:disabled{opacity:.4;cursor:default}.pb-builder__json-apply[data-v-0ab18b49]:not(:disabled):hover{filter:brightness(.92)}.pb-builder__json-editor[data-v-0ab18b49]{resize:none;color:var(--coar-text-neutral-primary,#111);background:var(--coar-background-neutral-secondary,#f7f7f9);border:none;outline:none;flex:1;padding:16px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px;line-height:1.55}.pb-visual-errors[data-v-7e11a49f]{margin:0;padding-left:18px}.pb-page-code[data-v-d2484ca8]{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.pb-page-code__toolbar[data-v-d2484ca8]{border-bottom:1px solid var(--coar-border-neutral,#ddd);justify-content:space-between;align-items:center;gap:20px;padding:10px 14px;display:flex}.pb-page-code__toolbar>div[data-v-d2484ca8]:first-child{flex-direction:column;gap:2px;display:flex}.pb-page-code__toolbar span[data-v-d2484ca8],.pb-page-code footer[data-v-d2484ca8]{color:var(--coar-text-neutral-secondary,#666);font-size:11px}.pb-page-code__actions[data-v-d2484ca8]{align-items:center;gap:8px;display:flex}.pb-page-code__dirty[data-v-d2484ca8]{color:var(--coar-text-semantic-warning-bold,#946200)!important}.pb-page-code__editor[data-v-d2484ca8]{flex:1;min-height:360px;overflow:hidden}.pb-page-code__editor[data-v-d2484ca8] .coar-script-editor{--coar-script-editor-marker-display:none;--coar-script-editor-locked-line-bg:transparent;--coar-script-editor-locked-line-opacity:.42}.pb-page-code footer[data-v-d2484ca8]{border-top:1px solid var(--coar-border-neutral,#ddd);flex-wrap:wrap;gap:8px 20px;padding:8px 14px;display:flex}.pb-expression-dialog[data-v-463025ca]{flex-direction:column;gap:12px;display:flex}.pb-expression-dialog__meta[data-v-463025ca]{justify-content:space-between;gap:24px;display:flex}.pb-expression-dialog__meta div[data-v-463025ca]{flex-direction:column;gap:2px;min-width:0;display:flex}.pb-expression-dialog__meta span[data-v-463025ca],.pb-expression-dialog__hint[data-v-463025ca]{color:var(--coar-text-neutral-secondary,#666);font-size:12px}.pb-expression-dialog__meta strong[data-v-463025ca]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pb-expression-dialog__editor[data-v-463025ca]{border:1px solid var(--coar-border-neutral,#ddd);border-radius:6px;flex:none;overflow:hidden}.pb-expression-dialog__hint[data-v-463025ca]{margin:0}.pb-expression-dialog footer[data-v-463025ca]{justify-content:flex-end;gap:8px;display:flex}.pb-element-code-dialog[data-v-037d2ed2]{flex-direction:column;gap:12px;display:flex}.pb-element-code-dialog__meta[data-v-037d2ed2]{justify-content:space-between;gap:24px;display:flex}.pb-element-code-dialog__meta div[data-v-037d2ed2]{flex-direction:column;gap:2px;min-width:0;display:flex}.pb-element-code-dialog__meta span[data-v-037d2ed2],.pb-element-code-dialog__hint[data-v-037d2ed2]{color:var(--coar-text-neutral-secondary,#666);font-size:12px}.pb-element-code-dialog__meta strong[data-v-037d2ed2]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pb-element-code-dialog__editor[data-v-037d2ed2]{border:1px solid var(--coar-border-neutral,#ddd);border-radius:6px;flex:none;overflow:hidden}.pb-element-code-dialog__editor[data-v-037d2ed2] .coar-script-editor{--coar-script-editor-marker-display:none;--coar-script-editor-locked-line-bg:transparent;--coar-script-editor-locked-line-opacity:.42}.pb-element-code-dialog__hint[data-v-037d2ed2]{margin:0}.pb-element-code-dialog footer[data-v-037d2ed2]{justify-content:flex-end;gap:8px;display:flex}.pb-page-root-code-dialog[data-v-f361c916]{flex-direction:column;gap:12px;display:flex}.pb-page-root-code-dialog__meta[data-v-f361c916]{justify-content:space-between;gap:24px;display:flex}.pb-page-root-code-dialog__meta div[data-v-f361c916]{flex-direction:column;gap:2px;min-width:0;display:flex}.pb-page-root-code-dialog__meta span[data-v-f361c916],.pb-page-root-code-dialog__hint[data-v-f361c916]{color:var(--coar-text-neutral-secondary,#666);font-size:12px}.pb-page-root-code-dialog__editor[data-v-f361c916]{border:1px solid var(--coar-border-neutral,#ddd);border-radius:6px;flex:none;overflow:hidden}.pb-page-root-code-dialog__editor[data-v-f361c916] .coar-script-editor{--coar-script-editor-marker-display:none;--coar-script-editor-locked-line-bg:transparent;--coar-script-editor-locked-line-opacity:.42}.pb-page-root-code-dialog__hint[data-v-f361c916]{margin:0}.pb-page-root-code-dialog footer[data-v-f361c916]{justify-content:flex-end;gap:8px;display:flex}
|
|
2
2
|
/*$vite$:1*/
|
package/dist/index.d.ts
CHANGED
|
@@ -2,13 +2,43 @@ export { default as CoarPageRenderer } from './CoarPageRenderer.vue';
|
|
|
2
2
|
export { default as CoarPageBuilder } from './CoarPageBuilder.vue';
|
|
3
3
|
export type { ActionValues, ActionHandler, CustomValidator } from './context';
|
|
4
4
|
export { FORM_ERROR_KEY } from './context';
|
|
5
|
-
export type { PageNode, ElementType, NodeStyle, FieldValidation, VisibleWhen, ContainerNode, BuiltinNode, ElementNode, ElementProps, EmptyProps, OptionItem, PageRootNode, StackNode, CardNode, SectionNode, DividerNode, SpacerNode, HeadingNode, ParagraphNode, NoteNode, TextInputNode, PasswordInputNode, NumberInputNode, CheckboxNode, SwitchNode, RadioGroupNode, SelectNode, MultiSelectNode, OtpInputNode, DateInputNode, DateTimeInputNode, ButtonNode, LinkNode, ImageNode, PageConfig, PageValueType, PageFieldSpec, } from './schema';
|
|
5
|
+
export type { PageNode, PageCompositionReference, PageCompositionOrigin, ElementType, NodeStyle, PageBreakpoint, ResponsiveNodeStyles, PageContextValueType, PageContextItemField, PageContextField, RuntimeBinding, RuntimeExpressionBinding, RuntimeExpressionValues, RuntimeTemplate, PropertyBinding, LocalizedValue, TranslationBinding, PageTranslations, FieldValidation, VisibleWhen, ContainerNode, BuiltinNode, ElementNode, ElementProps, EmptyProps, OptionItem, PageRootNode, PagePreviewViewport, StackNode, CardNode, SectionNode, RepeatNode, RepeatSelection, DividerNode, SpacerNode, HeadingNode, ParagraphNode, NoteNode, FeedbackNode, TextInputNode, PasswordInputNode, NumberInputNode, CheckboxNode, SwitchNode, RadioGroupNode, SelectNode, MultiSelectNode, OtpInputNode, DateInputNode, DateTimeInputNode, ActionProps, ButtonNode, LinkNode, ImageNode, VisualMarkupNode, PageConfig, PageVisualFont, PageVisualMarkupConfig, PageValueType, PageFieldSpec, } from './schema';
|
|
6
|
+
export { collectCompositionReferences, compilePageCompositions, compositionReference, compositionTemplateFromInstance, createInMemoryPageCompositionRepository, detachPageComposition, isPageCompositionReference, linkExistingCompositionInstance, materializePageComposition, validatePageCompositionReferences, type CreatePageCompositionInput, type MaybePromise, type PageCompositionDefinition, type PageCompositionIssue, type PageCompositionRepository, type PageCompositionSummary, type PublishPageCompositionInput, } from './compositions';
|
|
6
7
|
export { isContainerNode, isElementAllowed } from './schema';
|
|
8
|
+
export { CURRENT_PAGE_SCHEMA_VERSION } from './schema';
|
|
9
|
+
export type { PageBuilderAuthoringMode } from './builder/builderContext';
|
|
10
|
+
export type { PageCompositionManagement } from './builder/usePageCompositions';
|
|
11
|
+
export { PageScriptRuntime, withRuntimeEndowmentContext, type ContextualRuntimeEndowmentMethod, type ContextualRuntimeEndowmentMethodHandler, type PageScriptRuntimeContext, type RuntimeEndowmentContext, type RuntimeEndowmentObject, type RuntimeEndowments, type RuntimeInvocation, } from '#page-runtime-worker';
|
|
12
|
+
export { PageRuntimeHost, PageRuntimeSession, definePageRuntimeHost, type PageRuntimeGrantContext, type PageRuntimeHostOptions, type PageRuntimeSessionOptions, } from './runtime/PageRuntimeHost';
|
|
13
|
+
export { cloneRuntimeValue, type MainToRuntimeMessage, type RuntimeBindingDefinition, type RuntimeBootstrapMetrics, type RuntimeDefinition, type RuntimeEndowmentDescriptor, type RuntimeEndowmentGrants, type RuntimeInitializationMetrics, type RuntimePath, type RuntimeReactiveUpdate, type RuntimeResourceDefinition, type RuntimeResourceState, type RuntimeResourceStatus, type RuntimeScriptDefinition, type RuntimeStatePatch, type RuntimeStateUpdateMetrics, type RuntimeToMainMessage, type RuntimeValue, } from './runtime/runtimeProtocol';
|
|
14
|
+
export { usePageCodeRuntime, type PageCodeRuntimeOptions, } from './runtime/usePageCodeRuntime';
|
|
15
|
+
export { PAGE_BREAKPOINT_WIDTHS, breakpointForWidth, resolveNodeStyle, localNodeStyle, } from './responsive';
|
|
16
|
+
export { safeAspectRatio, safeCssLength, safeFontVariationSettings } from './styleMapping';
|
|
17
|
+
export { actionValuesFromProps, isJsonSafeActionValue, isJsonSafeActionValues, isBindableActionValueField, isSafeActionValueField, mergeActionValues, } from './actionValues';
|
|
7
18
|
export { normalizePageSchema, migrateLegacyTypes, KNOWN_ELEMENT_TYPES, type NormalizeIssue, type NormalizeOptions, type NormalizeResult, } from './builder/schemaNormalize';
|
|
8
19
|
export { migrateV1PropsBag } from './builder/schemaMigrateV1';
|
|
9
|
-
export { definePageElement, mergeElementRegistries,
|
|
20
|
+
export { definePageElement, mergeElementRegistries, PAGE_ELEMENT_TYPES_KEY, ELEMENT_KEY_PATTERN, QUICK_PROPERTY_PRESETS, QUICK_COMPOUND_PRESETS, PAGE_ROOT_QUICK_PROPERTIES, isQuickCompound, type PageElementDefinition, type PageElementBuilderDefinition, type PageElementQuickProperty, type PageElementQuickPropertyOption, type PageElementQuickCompound, type PageElementQuickCompoundPart, type PageElementQuickEntry, type QuickPropertyPath, type PageElementRegistry, type ElementValueSpec, type ElementLintIssue, type I18nText, } from './elements/registry';
|
|
10
21
|
export { usePageElement, type PageElementContext } from './elements/usePageElement';
|
|
11
22
|
export { useResolvedOptions } from './elements/useResolvedOptions';
|
|
23
|
+
export { buildVisualDocument } from './elements/visual-markup';
|
|
24
|
+
export { evaluateCondition, type ConditionSources } from './conditions';
|
|
25
|
+
export { safeReadPath, matchesContextType, readAllowedContext, resolveLocalizedValue, resolveRuntimeBinding, resolvePropertyBinding, resolveNodeRuntime, resolveExpressionStyle, isExpressionBinding, isExpressionBindingEnabled, runtimeExpressionKey, type RuntimeResolutionContext, } from './runtimeBindings';
|
|
26
|
+
export { isTranslationBinding, translation, pageTranslationTemplate, resolveTranslation, translationKeyFor, } from './translations';
|
|
27
|
+
export { validatePageDocument, type PageDocumentIssue, type PageDocumentValidationResult } from './documentValidation';
|
|
28
|
+
/**
|
|
29
|
+
* The builder's authoring findings — the same list `<CoarPageBuilder>` draws
|
|
30
|
+
* in its outline and props panel and emits via `@findings`. Exported for
|
|
31
|
+
* hosts that need them OUTSIDE a mounted builder (a save gate, a document
|
|
32
|
+
* dashboard). Call it in a component `setup()`: it resolves the element
|
|
33
|
+
* registry reactively, honouring `config.elementTypes` and an app-level
|
|
34
|
+
* `PAGE_ELEMENT_TYPES_KEY` provide alike.
|
|
35
|
+
*
|
|
36
|
+
* Not the activation contract — `validatePageDocument` is what the runtime
|
|
37
|
+
* enforces. These are UX hints on top of it.
|
|
38
|
+
*/
|
|
39
|
+
export { useAuthoringFindings, type AuthoringFinding, type FindingSeverity, type UseAuthoringFindingsReturn, } from './builder/useAuthoringFindings';
|
|
40
|
+
export { collectPageRuntimeExpressions, pageRuntimeExpressionSource, type PageRuntimeExpressionDefinition, } from './runtimeExpressions';
|
|
41
|
+
export { DEFAULT_PAGE_CODE, applyPageCodeValues, createPageCodeDrafts, normalizePageCodeOutput, pageCodeRuntimeSource, pageStateRuntimeSource, pageRootComputeRuntimeSource, elementComputeRuntimeSource, elementActionRuntimeSource, readElementQuickProperties, setElementQuickProperty, setPageRootQuickProperty, elementBindingId, pageRootBindingId, elementActionDefinitionId, elementClickActionId, DEFAULT_PAGE_STATE_CODE, DEFAULT_PAGE_ROOT_CODE, DEFAULT_ELEMENT_CODE, constrainPageStateCode, constrainPageRootCode, constrainElementCode, elementCodeHasClickAction, type PageCodeDraftSet, type PageCodeElementDraft, type PageCodeRuntimeInput, type PageCodeRuntimeValues, } from './pageCode';
|
|
12
42
|
export { isFieldCompatible, compatibleFields, compatibleElementTypes, defaultElementForField, defineFields, type TypedFieldSpec, type ValueTypeFor, } from './elements/fieldContract';
|
|
13
43
|
/** Shared options-list editor, exported so consumer inspectors can reuse it. */
|
|
14
44
|
export { default as OptionsEditor } from './builder/props/OptionsEditor.vue';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAEnE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE3C,YAAY,EACV,QAAQ,EACR,WAAW,EACX,SAAS,EACT,eAAe,EACf,WAAW,EACX,aAAa,EACb,WAAW,EACX,WAAW,EACX,YAAY,EACZ,UAAU,EACV,UAAU,EACV,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,WAAW,EACX,WAAW,EACX,UAAU,EACV,WAAW,EACX,aAAa,EACb,QAAQ,EACR,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,UAAU,EACV,cAAc,EACd,UAAU,EACV,eAAe,EACf,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,UAAU,EACV,QAAQ,EACR,SAAS,EACT,UAAU,EACV,aAAa,EACb,aAAa,GACd,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAEnE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE3C,YAAY,EACV,QAAQ,EACR,wBAAwB,EACxB,qBAAqB,EACrB,WAAW,EACX,SAAS,EACT,cAAc,EACd,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACd,wBAAwB,EACxB,uBAAuB,EACvB,eAAe,EACf,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,aAAa,EACb,WAAW,EACX,WAAW,EACX,YAAY,EACZ,UAAU,EACV,UAAU,EACV,YAAY,EACZ,mBAAmB,EACnB,SAAS,EACT,QAAQ,EACR,WAAW,EACX,UAAU,EACV,eAAe,EACf,WAAW,EACX,UAAU,EACV,WAAW,EACX,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,UAAU,EACV,cAAc,EACd,UAAU,EACV,eAAe,EACf,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,UAAU,EACV,QAAQ,EACR,SAAS,EACT,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,sBAAsB,EACtB,aAAa,EACb,aAAa,GACd,MAAM,UAAU,CAAC;AAElB,OAAO,EACL,4BAA4B,EAC5B,uBAAuB,EACvB,oBAAoB,EACpB,+BAA+B,EAC/B,uCAAuC,EACvC,qBAAqB,EACrB,0BAA0B,EAC1B,+BAA+B,EAC/B,0BAA0B,EAC1B,iCAAiC,EACjC,KAAK,0BAA0B,EAC/B,KAAK,YAAY,EACjB,KAAK,yBAAyB,EAC9B,KAAK,oBAAoB,EACzB,KAAK,yBAAyB,EAC9B,KAAK,sBAAsB,EAC3B,KAAK,2BAA2B,GACjC,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC7D,OAAO,EAAE,2BAA2B,EAAE,MAAM,UAAU,CAAC;AACvD,YAAY,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACzE,YAAY,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAI/E,OAAO,EACL,iBAAiB,EACjB,2BAA2B,EAC3B,KAAK,gCAAgC,EACrC,KAAK,uCAAuC,EAC5C,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,GACvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EACrB,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,GAC/B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,iBAAiB,EACjB,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,KAAK,iBAAiB,EACtB,KAAK,0BAA0B,EAC/B,KAAK,sBAAsB,EAC3B,KAAK,4BAA4B,EACjC,KAAK,WAAW,EAChB,KAAK,qBAAqB,EAC1B,KAAK,yBAAyB,EAC9B,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,EAC5B,KAAK,iBAAiB,EACtB,KAAK,yBAAyB,EAC9B,KAAK,oBAAoB,EACzB,KAAK,YAAY,GAClB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,kBAAkB,EAClB,KAAK,sBAAsB,GAC5B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,GACf,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC3F,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,0BAA0B,EAC1B,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,eAAe,GACrB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAI9D,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,EACtB,sBAAsB,EACtB,0BAA0B,EAC1B,eAAe,EACf,KAAK,qBAAqB,EAC1B,KAAK,4BAA4B,EACjC,KAAK,wBAAwB,EAC7B,KAAK,8BAA8B,EACnC,KAAK,wBAAwB,EAC7B,KAAK,4BAA4B,EACjC,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,QAAQ,GACd,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,cAAc,EAAE,KAAK,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpF,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,OAAO,EAAE,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,kBAAkB,EAClB,sBAAsB,EACtB,mBAAmB,EACnB,0BAA0B,EAC1B,oBAAoB,EACpB,KAAK,wBAAwB,GAC9B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,oBAAoB,EACpB,WAAW,EACX,uBAAuB,EACvB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,oBAAoB,EAAE,KAAK,iBAAiB,EAAE,KAAK,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AAEvH;;;;;;;;;;GAUG;AACH,OAAO,EACL,oBAAoB,EACpB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,0BAA0B,GAChC,MAAM,gCAAgC,CAAC;AAExC,OAAO,EACL,6BAA6B,EAC7B,2BAA2B,EAC3B,KAAK,+BAA+B,GACrC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,EACvB,qBAAqB,EACrB,sBAAsB,EACtB,4BAA4B,EAC5B,2BAA2B,EAC3B,0BAA0B,EAC1B,0BAA0B,EAC1B,uBAAuB,EACvB,wBAAwB,EACxB,gBAAgB,EAChB,iBAAiB,EACjB,yBAAyB,EACzB,oBAAoB,EACpB,uBAAuB,EACvB,sBAAsB,EACtB,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,EACzB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,GAC3B,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,sBAAsB,EACtB,YAAY,EACZ,KAAK,cAAc,EACnB,KAAK,YAAY,GAClB,MAAM,0BAA0B,CAAC;AAElC,gFAAgF;AAChF,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAC7E,YAAY,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC"}
|