@cocoar/vue-page-builder 2.16.0 → 2.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -0
- package/README.md +169 -0
- package/dist/CoarPageBuilder.vue.d.ts.map +1 -1
- package/dist/CoarPageRenderer.vue.d.ts +44 -2
- package/dist/CoarPageRenderer.vue.d.ts.map +1 -1
- package/dist/PageNode.vue.d.ts.map +1 -1
- package/dist/builder/BuilderCanvas.vue.d.ts.map +1 -1
- package/dist/builder/BuilderCanvasNode.vue.d.ts +11 -0
- package/dist/builder/BuilderCanvasNode.vue.d.ts.map +1 -0
- package/dist/builder/BuilderOutline.vue.d.ts +3 -1
- package/dist/builder/BuilderOutline.vue.d.ts.map +1 -1
- package/dist/builder/BuilderOutlineNode.vue.d.ts.map +1 -1
- package/dist/builder/BuilderPropsPanel.vue.d.ts.map +1 -1
- package/dist/builder/nodeDefaults.d.ts +17 -11
- package/dist/builder/nodeDefaults.d.ts.map +1 -1
- package/dist/builder/operations.d.ts +9 -0
- package/dist/builder/operations.d.ts.map +1 -1
- package/dist/builder/pointerDnd.d.ts +40 -0
- package/dist/builder/pointerDnd.d.ts.map +1 -0
- package/dist/builder/props/OptionsEditor.vue.d.ts +14 -0
- package/dist/builder/props/OptionsEditor.vue.d.ts.map +1 -0
- package/dist/builder/props/StyleProps.vue.d.ts +2 -0
- package/dist/builder/props/StyleProps.vue.d.ts.map +1 -1
- package/dist/builder/schemaMigrateV1.d.ts +18 -0
- package/dist/builder/schemaMigrateV1.d.ts.map +1 -0
- package/dist/builder/schemaNormalize.d.ts +38 -0
- package/dist/builder/schemaNormalize.d.ts.map +1 -0
- package/dist/builder/useBuilderDnd.d.ts +11 -3
- package/dist/builder/useBuilderDnd.d.ts.map +1 -1
- package/dist/builder/usePageBuilder.d.ts +27 -7
- package/dist/builder/usePageBuilder.d.ts.map +1 -1
- package/dist/builder/useSchemaValidation.d.ts.map +1 -1
- package/dist/context.d.ts +46 -4
- package/dist/context.d.ts.map +1 -1
- package/dist/elements/builtins.d.ts +3 -0
- package/dist/elements/builtins.d.ts.map +1 -0
- package/dist/elements/button/ButtonInspector.vue.d.ts +10 -0
- package/dist/elements/button/ButtonInspector.vue.d.ts.map +1 -0
- package/dist/{builder/props/ButtonProps.vue.d.ts → elements/button/ButtonPreview.vue.d.ts} +2 -2
- package/dist/elements/button/ButtonPreview.vue.d.ts.map +1 -0
- package/dist/elements/button/ButtonRenderer.vue.d.ts +7 -0
- package/dist/elements/button/ButtonRenderer.vue.d.ts.map +1 -0
- package/dist/elements/button/index.d.ts +10 -0
- package/dist/elements/button/index.d.ts.map +1 -0
- package/dist/{builder/props/CardProps.vue.d.ts → elements/card/CardInspector.vue.d.ts} +1 -1
- package/dist/elements/card/CardInspector.vue.d.ts.map +1 -0
- package/dist/elements/card/CardRenderer.vue.d.ts +22 -0
- package/dist/elements/card/CardRenderer.vue.d.ts.map +1 -0
- package/dist/elements/card/index.d.ts +4 -0
- package/dist/elements/card/index.d.ts.map +1 -0
- package/dist/elements/checkbox/CheckboxDefaultInput.vue.d.ts +12 -0
- package/dist/elements/checkbox/CheckboxDefaultInput.vue.d.ts.map +1 -0
- package/dist/elements/checkbox/CheckboxInspector.vue.d.ts +10 -0
- package/dist/elements/checkbox/CheckboxInspector.vue.d.ts.map +1 -0
- package/dist/elements/checkbox/CheckboxPreview.vue.d.ts +8 -0
- package/dist/elements/checkbox/CheckboxPreview.vue.d.ts.map +1 -0
- package/dist/{builder/props/CheckboxProps.vue.d.ts → elements/checkbox/CheckboxRenderer.vue.d.ts} +1 -2
- package/dist/elements/checkbox/CheckboxRenderer.vue.d.ts.map +1 -0
- package/dist/elements/checkbox/index.d.ts +5 -0
- package/dist/elements/checkbox/index.d.ts.map +1 -0
- package/dist/elements/date-input/DateInputDefaultInput.vue.d.ts +12 -0
- package/dist/elements/date-input/DateInputDefaultInput.vue.d.ts.map +1 -0
- package/dist/elements/date-input/DateInputInspector.vue.d.ts +8 -0
- package/dist/elements/date-input/DateInputInspector.vue.d.ts.map +1 -0
- package/dist/elements/date-input/DateInputPreview.vue.d.ts +8 -0
- package/dist/elements/date-input/DateInputPreview.vue.d.ts.map +1 -0
- package/dist/elements/date-input/DateInputRenderer.vue.d.ts +7 -0
- package/dist/elements/date-input/DateInputRenderer.vue.d.ts.map +1 -0
- package/dist/elements/date-input/index.d.ts +6 -0
- package/dist/elements/date-input/index.d.ts.map +1 -0
- package/dist/elements/datetime-input/DateTimeInputDefaultInput.vue.d.ts +12 -0
- package/dist/elements/datetime-input/DateTimeInputDefaultInput.vue.d.ts.map +1 -0
- package/dist/elements/datetime-input/DateTimeInputInspector.vue.d.ts +8 -0
- package/dist/elements/datetime-input/DateTimeInputInspector.vue.d.ts.map +1 -0
- package/dist/elements/datetime-input/DateTimeInputPreview.vue.d.ts +8 -0
- package/dist/elements/datetime-input/DateTimeInputPreview.vue.d.ts.map +1 -0
- package/dist/elements/datetime-input/DateTimeInputRenderer.vue.d.ts +7 -0
- package/dist/elements/datetime-input/DateTimeInputRenderer.vue.d.ts.map +1 -0
- package/dist/elements/datetime-input/index.d.ts +6 -0
- package/dist/elements/datetime-input/index.d.ts.map +1 -0
- package/dist/elements/divider/DividerPreview.vue.d.ts +8 -0
- package/dist/elements/divider/DividerPreview.vue.d.ts.map +1 -0
- package/dist/elements/divider/DividerRenderer.vue.d.ts +7 -0
- package/dist/elements/divider/DividerRenderer.vue.d.ts.map +1 -0
- package/dist/elements/divider/index.d.ts +2 -0
- package/dist/elements/divider/index.d.ts.map +1 -0
- package/dist/elements/fieldContract.d.ts +42 -0
- package/dist/elements/fieldContract.d.ts.map +1 -0
- package/dist/elements/heading/HeadingInspector.vue.d.ts +10 -0
- package/dist/elements/heading/HeadingInspector.vue.d.ts.map +1 -0
- package/dist/{builder/props/HeadingProps.vue.d.ts → elements/heading/HeadingPreview.vue.d.ts} +2 -2
- package/dist/elements/heading/HeadingPreview.vue.d.ts.map +1 -0
- package/dist/elements/heading/HeadingRenderer.vue.d.ts +7 -0
- package/dist/elements/heading/HeadingRenderer.vue.d.ts.map +1 -0
- package/dist/elements/heading/index.d.ts +5 -0
- package/dist/elements/heading/index.d.ts.map +1 -0
- package/dist/elements/image/ImageInspector.vue.d.ts +10 -0
- package/dist/elements/image/ImageInspector.vue.d.ts.map +1 -0
- package/dist/{builder/props/ImageProps.vue.d.ts → elements/image/ImagePreview.vue.d.ts} +2 -2
- package/dist/elements/image/ImagePreview.vue.d.ts.map +1 -0
- package/dist/elements/image/ImageRenderer.vue.d.ts +7 -0
- package/dist/elements/image/ImageRenderer.vue.d.ts.map +1 -0
- package/dist/elements/image/index.d.ts +5 -0
- package/dist/elements/image/index.d.ts.map +1 -0
- package/dist/{builder/props/LinkProps.vue.d.ts → elements/link/LinkInspector.vue.d.ts} +4 -2
- package/dist/elements/link/LinkInspector.vue.d.ts.map +1 -0
- package/dist/elements/link/LinkPreview.vue.d.ts +8 -0
- package/dist/elements/link/LinkPreview.vue.d.ts.map +1 -0
- package/dist/elements/link/LinkRenderer.vue.d.ts +7 -0
- package/dist/elements/link/LinkRenderer.vue.d.ts.map +1 -0
- package/dist/elements/link/index.d.ts +5 -0
- package/dist/elements/link/index.d.ts.map +1 -0
- package/dist/elements/multi-select/MultiSelectDefaultInput.vue.d.ts +12 -0
- package/dist/elements/multi-select/MultiSelectDefaultInput.vue.d.ts.map +1 -0
- package/dist/elements/multi-select/MultiSelectInspector.vue.d.ts +8 -0
- package/dist/elements/multi-select/MultiSelectInspector.vue.d.ts.map +1 -0
- package/dist/elements/multi-select/MultiSelectPreview.vue.d.ts +8 -0
- package/dist/elements/multi-select/MultiSelectPreview.vue.d.ts.map +1 -0
- package/dist/elements/multi-select/MultiSelectRenderer.vue.d.ts +7 -0
- package/dist/elements/multi-select/MultiSelectRenderer.vue.d.ts.map +1 -0
- package/dist/elements/multi-select/index.d.ts +8 -0
- package/dist/elements/multi-select/index.d.ts.map +1 -0
- package/dist/elements/note/NoteInspector.vue.d.ts +10 -0
- package/dist/elements/note/NoteInspector.vue.d.ts.map +1 -0
- package/dist/elements/note/NotePreview.vue.d.ts +8 -0
- package/dist/elements/note/NotePreview.vue.d.ts.map +1 -0
- package/dist/elements/note/NoteRenderer.vue.d.ts +7 -0
- package/dist/elements/note/NoteRenderer.vue.d.ts.map +1 -0
- package/dist/elements/note/index.d.ts +5 -0
- package/dist/elements/note/index.d.ts.map +1 -0
- package/dist/elements/number-input/NumberInputDefaultInput.vue.d.ts +12 -0
- package/dist/elements/number-input/NumberInputDefaultInput.vue.d.ts.map +1 -0
- package/dist/elements/number-input/NumberInputInspector.vue.d.ts +8 -0
- package/dist/elements/number-input/NumberInputInspector.vue.d.ts.map +1 -0
- package/dist/elements/number-input/NumberInputPreview.vue.d.ts +8 -0
- package/dist/elements/number-input/NumberInputPreview.vue.d.ts.map +1 -0
- package/dist/elements/number-input/NumberInputRenderer.vue.d.ts +7 -0
- package/dist/elements/number-input/NumberInputRenderer.vue.d.ts.map +1 -0
- package/dist/elements/number-input/index.d.ts +10 -0
- package/dist/elements/number-input/index.d.ts.map +1 -0
- package/dist/elements/optionUtils.d.ts +4 -0
- package/dist/elements/optionUtils.d.ts.map +1 -0
- package/dist/elements/otp-input/OtpInputInspector.vue.d.ts +8 -0
- package/dist/elements/otp-input/OtpInputInspector.vue.d.ts.map +1 -0
- package/dist/elements/otp-input/OtpInputPreview.vue.d.ts +8 -0
- package/dist/elements/otp-input/OtpInputPreview.vue.d.ts.map +1 -0
- package/dist/elements/otp-input/OtpInputRenderer.vue.d.ts +7 -0
- package/dist/elements/otp-input/OtpInputRenderer.vue.d.ts.map +1 -0
- package/dist/elements/otp-input/index.d.ts +8 -0
- package/dist/elements/otp-input/index.d.ts.map +1 -0
- package/dist/{builder/props/ParagraphProps.vue.d.ts → elements/paragraph/ParagraphInspector.vue.d.ts} +1 -1
- package/dist/elements/paragraph/ParagraphInspector.vue.d.ts.map +1 -0
- package/dist/elements/paragraph/ParagraphPreview.vue.d.ts +8 -0
- package/dist/elements/paragraph/ParagraphPreview.vue.d.ts.map +1 -0
- package/dist/elements/paragraph/ParagraphRenderer.vue.d.ts +7 -0
- package/dist/elements/paragraph/ParagraphRenderer.vue.d.ts.map +1 -0
- package/dist/elements/paragraph/index.d.ts +4 -0
- package/dist/elements/paragraph/index.d.ts.map +1 -0
- package/dist/elements/password-input/PasswordInputInspector.vue.d.ts +8 -0
- package/dist/elements/password-input/PasswordInputInspector.vue.d.ts.map +1 -0
- package/dist/elements/password-input/PasswordInputPreview.vue.d.ts +8 -0
- package/dist/elements/password-input/PasswordInputPreview.vue.d.ts.map +1 -0
- package/dist/elements/password-input/PasswordInputRenderer.vue.d.ts +7 -0
- package/dist/elements/password-input/PasswordInputRenderer.vue.d.ts.map +1 -0
- package/dist/elements/password-input/index.d.ts +6 -0
- package/dist/elements/password-input/index.d.ts.map +1 -0
- package/dist/elements/previewUtils.d.ts +11 -0
- package/dist/elements/previewUtils.d.ts.map +1 -0
- package/dist/elements/radio-group/RadioGroupDefaultInput.vue.d.ts +12 -0
- package/dist/elements/radio-group/RadioGroupDefaultInput.vue.d.ts.map +1 -0
- package/dist/elements/radio-group/RadioGroupInspector.vue.d.ts +8 -0
- package/dist/elements/radio-group/RadioGroupInspector.vue.d.ts.map +1 -0
- package/dist/elements/radio-group/RadioGroupPreview.vue.d.ts +8 -0
- package/dist/elements/radio-group/RadioGroupPreview.vue.d.ts.map +1 -0
- package/dist/elements/radio-group/RadioGroupRenderer.vue.d.ts +7 -0
- package/dist/elements/radio-group/RadioGroupRenderer.vue.d.ts.map +1 -0
- package/dist/elements/radio-group/index.d.ts +8 -0
- package/dist/elements/radio-group/index.d.ts.map +1 -0
- package/dist/elements/registry.d.ts +136 -0
- package/dist/elements/registry.d.ts.map +1 -0
- package/dist/{builder/props/SectionProps.vue.d.ts → elements/section/SectionInspector.vue.d.ts} +1 -1
- package/dist/elements/section/SectionInspector.vue.d.ts.map +1 -0
- package/dist/elements/section/SectionRenderer.vue.d.ts +22 -0
- package/dist/elements/section/SectionRenderer.vue.d.ts.map +1 -0
- package/dist/elements/section/index.d.ts +4 -0
- package/dist/elements/section/index.d.ts.map +1 -0
- package/dist/elements/select/SelectDefaultInput.vue.d.ts +12 -0
- package/dist/elements/select/SelectDefaultInput.vue.d.ts.map +1 -0
- package/dist/{builder/props/SelectProps.vue.d.ts → elements/select/SelectInspector.vue.d.ts} +1 -1
- package/dist/elements/select/SelectInspector.vue.d.ts.map +1 -0
- package/dist/elements/select/SelectPreview.vue.d.ts +8 -0
- package/dist/elements/select/SelectPreview.vue.d.ts.map +1 -0
- package/dist/elements/select/SelectRenderer.vue.d.ts +7 -0
- package/dist/elements/select/SelectRenderer.vue.d.ts.map +1 -0
- package/dist/elements/select/index.d.ts +8 -0
- package/dist/elements/select/index.d.ts.map +1 -0
- package/dist/{builder/props/SpacerProps.vue.d.ts → elements/spacer/SpacerInspector.vue.d.ts} +1 -1
- package/dist/elements/spacer/SpacerInspector.vue.d.ts.map +1 -0
- package/dist/elements/spacer/SpacerPreview.vue.d.ts +8 -0
- package/dist/elements/spacer/SpacerPreview.vue.d.ts.map +1 -0
- package/dist/elements/spacer/SpacerRenderer.vue.d.ts +7 -0
- package/dist/elements/spacer/SpacerRenderer.vue.d.ts.map +1 -0
- package/dist/elements/spacer/index.d.ts +4 -0
- package/dist/elements/spacer/index.d.ts.map +1 -0
- package/dist/{builder/props/StackProps.vue.d.ts → elements/stack/StackInspector.vue.d.ts} +1 -1
- package/dist/elements/stack/StackInspector.vue.d.ts.map +1 -0
- package/dist/elements/stack/StackRenderer.vue.d.ts +22 -0
- package/dist/elements/stack/StackRenderer.vue.d.ts.map +1 -0
- package/dist/elements/stack/index.d.ts +5 -0
- package/dist/elements/stack/index.d.ts.map +1 -0
- package/dist/elements/switch/SwitchDefaultInput.vue.d.ts +12 -0
- package/dist/elements/switch/SwitchDefaultInput.vue.d.ts.map +1 -0
- package/dist/elements/switch/SwitchInspector.vue.d.ts +10 -0
- package/dist/elements/switch/SwitchInspector.vue.d.ts.map +1 -0
- package/dist/elements/switch/SwitchPreview.vue.d.ts +8 -0
- package/dist/elements/switch/SwitchPreview.vue.d.ts.map +1 -0
- package/dist/elements/switch/SwitchRenderer.vue.d.ts +7 -0
- package/dist/elements/switch/SwitchRenderer.vue.d.ts.map +1 -0
- package/dist/elements/switch/index.d.ts +5 -0
- package/dist/elements/switch/index.d.ts.map +1 -0
- package/dist/{builder/props/TextInputProps.vue.d.ts → elements/text-input/TextInputInspector.vue.d.ts} +1 -1
- package/dist/elements/text-input/TextInputInspector.vue.d.ts.map +1 -0
- package/dist/elements/text-input/TextInputPreview.vue.d.ts +8 -0
- package/dist/elements/text-input/TextInputPreview.vue.d.ts.map +1 -0
- package/dist/elements/text-input/TextInputRenderer.vue.d.ts +7 -0
- package/dist/elements/text-input/TextInputRenderer.vue.d.ts.map +1 -0
- package/dist/elements/text-input/index.d.ts +8 -0
- package/dist/elements/text-input/index.d.ts.map +1 -0
- package/dist/elements/useMergedElements.d.ts +7 -0
- package/dist/elements/useMergedElements.d.ts.map +1 -0
- package/dist/elements/usePageElement.d.ts +34 -0
- package/dist/elements/usePageElement.d.ts.map +1 -0
- package/dist/elements/useResolvedOptions.d.ts +10 -0
- package/dist/elements/useResolvedOptions.d.ts.map +1 -0
- package/dist/index.css +1 -1
- package/dist/index.d.ts +11 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4979 -2120
- package/dist/renderSafety.d.ts +21 -0
- package/dist/renderSafety.d.ts.map +1 -0
- package/dist/schema.d.ts +276 -69
- package/dist/schema.d.ts.map +1 -1
- package/package.json +15 -5
- package/dist/builder/props/ButtonProps.vue.d.ts.map +0 -1
- package/dist/builder/props/CardProps.vue.d.ts.map +0 -1
- package/dist/builder/props/CheckboxProps.vue.d.ts.map +0 -1
- package/dist/builder/props/HeadingProps.vue.d.ts.map +0 -1
- package/dist/builder/props/ImageProps.vue.d.ts.map +0 -1
- package/dist/builder/props/LinkProps.vue.d.ts.map +0 -1
- package/dist/builder/props/ParagraphProps.vue.d.ts.map +0 -1
- package/dist/builder/props/SectionProps.vue.d.ts.map +0 -1
- package/dist/builder/props/SelectProps.vue.d.ts.map +0 -1
- package/dist/builder/props/SpacerProps.vue.d.ts.map +0 -1
- package/dist/builder/props/StackProps.vue.d.ts.map +0 -1
- package/dist/builder/props/TextInputProps.vue.d.ts.map +0 -1
- package/dist/builder/props/registry.d.ts +0 -15
- package/dist/builder/props/registry.d.ts.map +0 -1
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Temporal } from '@js-temporal/polyfill';
|
|
2
|
+
declare const HEADING_TAGS: readonly ["h1", "h2", "h3", "h4", "h5", "h6"];
|
|
3
|
+
export type HeadingTag = (typeof HEADING_TAGS)[number];
|
|
4
|
+
/**
|
|
5
|
+
* Schema `level` becomes a DOM tag name — anything outside 1–6 (strings, NaN,
|
|
6
|
+
* tampered data) would throw in `document.createElement`.
|
|
7
|
+
*/
|
|
8
|
+
export declare function headingTag(level: unknown): HeadingTag;
|
|
9
|
+
/**
|
|
10
|
+
* Compile a schema `validation.pattern`. Anchored, because the schema
|
|
11
|
+
* documents `pattern` as a full-string match (the HTML `pattern`-attribute
|
|
12
|
+
* semantics). Returns null instead of throwing on an invalid pattern — a
|
|
13
|
+
* tenant typo must render as an inert rule, not crash the page.
|
|
14
|
+
*/
|
|
15
|
+
export declare function compilePagePattern(pattern: string): RegExp | null;
|
|
16
|
+
export declare function isValidEmail(value: string): boolean;
|
|
17
|
+
export declare function isUnsafeFieldName(name: string): boolean;
|
|
18
|
+
export declare function isoToPlainDate(value: unknown): Temporal.PlainDate | null;
|
|
19
|
+
export declare function isoToPlainDateTime(value: unknown): Temporal.PlainDateTime | null;
|
|
20
|
+
export {};
|
|
21
|
+
//# sourceMappingURL=renderSafety.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderSafety.d.ts","sourceRoot":"","sources":["../src/renderSafety.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,QAAA,MAAM,YAAY,+CAAgD,CAAC;AACnE,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,CAGrD;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMjE;AAWD,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEnD;AAUD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEvD;AAMD,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,CAAC,SAAS,GAAG,IAAI,CAOxE;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,CAAC,aAAa,GAAG,IAAI,CAOhF"}
|
package/dist/schema.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { PageElementRegistry } from './elements/registry';
|
|
1
2
|
export interface NodeStyle {
|
|
2
3
|
/** CSS gap between children, e.g. '8px', '1rem'. Applied to inner layout. */
|
|
3
4
|
gap?: string;
|
|
@@ -32,122 +33,289 @@ interface PageNodeBase {
|
|
|
32
33
|
id: string;
|
|
33
34
|
style?: NodeStyle;
|
|
34
35
|
}
|
|
35
|
-
/**
|
|
36
|
+
/** Element-specific props. Must stay JSON-safe — the bag is persisted verbatim. */
|
|
37
|
+
export type ElementProps = Record<string, unknown>;
|
|
38
|
+
/**
|
|
39
|
+
* The unified node grammar: `type` is an open string (the element-registry
|
|
40
|
+
* key), everything element-specific lives in the `props` bag, and the host
|
|
41
|
+
* vocabulary stays at node level (`id`, `style`, the value-model trio, and
|
|
42
|
+
* `children` for containers). The bag exists so consumer-registered elements
|
|
43
|
+
* can never collide with host fields; built-ins follow the same grammar for
|
|
44
|
+
* uniformity.
|
|
45
|
+
*
|
|
46
|
+
* `name`/`defaultValue`/`validation` are only meaningful when the element's
|
|
47
|
+
* registry definition declares a `value` spec; `children` only when it
|
|
48
|
+
* declares `container`.
|
|
49
|
+
*/
|
|
50
|
+
export interface ElementNode<K extends string = string, P extends ElementProps = ElementProps> extends PageNodeBase {
|
|
51
|
+
type: K;
|
|
52
|
+
props: P;
|
|
53
|
+
/** When set (and the definition has a value spec), the renderer manages this node's value. */
|
|
54
|
+
name?: string;
|
|
55
|
+
defaultValue?: unknown;
|
|
56
|
+
validation?: FieldValidation;
|
|
57
|
+
/** Conditional visibility against the live value model. See `VisibleWhen`. */
|
|
58
|
+
visibleWhen?: VisibleWhen;
|
|
59
|
+
children?: PageNode[];
|
|
60
|
+
}
|
|
61
|
+
/** Marker bag for elements without element-specific props. */
|
|
62
|
+
export type EmptyProps = Record<string, never>;
|
|
63
|
+
/** Option entry shared by the option-based inputs (radio-group, select, multi-select). */
|
|
64
|
+
export interface OptionItem {
|
|
65
|
+
value: string;
|
|
66
|
+
label: string;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Root-level page container. Behaves like a column; always the schema root.
|
|
70
|
+
* The one node shape outside the element grammar — it is a schema-shape
|
|
71
|
+
* marker, not a placeable element, and carries the wire-format version.
|
|
72
|
+
*/
|
|
36
73
|
export interface PageRootNode extends PageNodeBase {
|
|
37
74
|
type: 'page';
|
|
75
|
+
/**
|
|
76
|
+
* Wire-format version. `2` = unified props-bag grammar (current). `1` /
|
|
77
|
+
* absent = the pre-GA flat grammar, migrated transparently on ingest by
|
|
78
|
+
* `normalizePageSchema` (and on the fly by the renderer).
|
|
79
|
+
*/
|
|
80
|
+
schemaVersion?: number;
|
|
81
|
+
/**
|
|
82
|
+
* Enter submits the page: a plain Enter inside an Enter-eligible input
|
|
83
|
+
* (see `ElementValueSpec.submitOnEnter`) fires the page's default button —
|
|
84
|
+
* the first button with `default: true`, else the first `validates: true`
|
|
85
|
+
* button in tree order. Off by default.
|
|
86
|
+
*/
|
|
87
|
+
enterSubmits?: boolean;
|
|
38
88
|
children: PageNode[];
|
|
39
89
|
}
|
|
40
90
|
/**
|
|
41
91
|
* Generic flex container. Direction is toggleable in the props panel, so users
|
|
42
92
|
* never have to delete + recreate to switch between vertical and horizontal stacks.
|
|
43
93
|
*/
|
|
44
|
-
export interface StackNode extends
|
|
45
|
-
type: 'stack';
|
|
94
|
+
export interface StackNode extends ElementNode<'stack', {
|
|
46
95
|
/** Flex direction. Defaults to 'column'. */
|
|
47
96
|
direction?: 'column' | 'row';
|
|
48
97
|
/** Wrap children to the next line. Only meaningful for direction = 'row'. */
|
|
49
98
|
wrap?: boolean;
|
|
99
|
+
}> {
|
|
50
100
|
children: PageNode[];
|
|
51
101
|
}
|
|
52
|
-
export interface CardNode extends
|
|
53
|
-
type: 'card';
|
|
102
|
+
export interface CardNode extends ElementNode<'card', {
|
|
54
103
|
title?: string;
|
|
104
|
+
}> {
|
|
55
105
|
children: PageNode[];
|
|
56
106
|
}
|
|
57
|
-
export interface SectionNode extends
|
|
58
|
-
type: 'section';
|
|
107
|
+
export interface SectionNode extends ElementNode<'section', {
|
|
59
108
|
title?: string;
|
|
109
|
+
}> {
|
|
60
110
|
children: PageNode[];
|
|
61
111
|
}
|
|
62
|
-
export
|
|
63
|
-
|
|
64
|
-
}
|
|
65
|
-
export interface SpacerNode extends PageNodeBase {
|
|
66
|
-
type: 'spacer';
|
|
112
|
+
export type DividerNode = ElementNode<'divider', EmptyProps>;
|
|
113
|
+
export type SpacerNode = ElementNode<'spacer', {
|
|
67
114
|
/** CSS size, e.g. '24px'. Defaults to flex:1 (fills available space). */
|
|
68
115
|
size?: string;
|
|
69
|
-
}
|
|
70
|
-
export
|
|
71
|
-
type: 'heading';
|
|
116
|
+
}>;
|
|
117
|
+
export type HeadingNode = ElementNode<'heading', {
|
|
72
118
|
text: string;
|
|
73
119
|
level?: 1 | 2 | 3 | 4 | 5 | 6;
|
|
74
|
-
}
|
|
75
|
-
export
|
|
76
|
-
type: 'paragraph';
|
|
120
|
+
}>;
|
|
121
|
+
export type ParagraphNode = ElementNode<'paragraph', {
|
|
77
122
|
text: string;
|
|
78
|
-
}
|
|
79
|
-
export
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
matchField?: string;
|
|
86
|
-
/** Overrides the default error message for any rule on this field. */
|
|
87
|
-
message?: string;
|
|
88
|
-
}
|
|
89
|
-
export interface TextInputNode extends PageNodeBase {
|
|
90
|
-
type: 'text-input';
|
|
91
|
-
/** When set, value is managed by the renderer and passed to actions. */
|
|
92
|
-
name?: string;
|
|
123
|
+
}>;
|
|
124
|
+
export type NoteNode = ElementNode<'note', {
|
|
125
|
+
text: string;
|
|
126
|
+
/** Visual tone of the note box. Defaults to the design system's 'neutral'. */
|
|
127
|
+
variant?: 'neutral' | 'success' | 'warning' | 'error' | 'info' | 'accent';
|
|
128
|
+
}>;
|
|
129
|
+
export type TextInputNode = ElementNode<'text-input', {
|
|
93
130
|
label?: string;
|
|
94
131
|
placeholder?: string;
|
|
95
132
|
/** Controls HTML input type and autocomplete hints. Defaults to 'text'. */
|
|
96
|
-
inputType?: 'text' | 'email' | '
|
|
97
|
-
|
|
98
|
-
|
|
133
|
+
inputType?: 'text' | 'email' | 'url';
|
|
134
|
+
/** Visible text rows; 2+ renders a multiline textarea. Defaults to 1. */
|
|
135
|
+
rows?: number;
|
|
99
136
|
disabled?: boolean;
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
137
|
+
}>;
|
|
138
|
+
/**
|
|
139
|
+
* Masked single-line input. Its own element (not a text-input variant) so it
|
|
140
|
+
* is directly pickable — in the palette and as a representation for string
|
|
141
|
+
* fields. Legacy `text-input` nodes with `inputType: 'password'` migrate here.
|
|
142
|
+
*/
|
|
143
|
+
export type PasswordInputNode = ElementNode<'password-input', {
|
|
144
|
+
label?: string;
|
|
145
|
+
placeholder?: string;
|
|
146
|
+
disabled?: boolean;
|
|
147
|
+
}>;
|
|
148
|
+
export type NumberInputNode = ElementNode<'number-input', {
|
|
149
|
+
label?: string;
|
|
150
|
+
placeholder?: string;
|
|
151
|
+
min?: number;
|
|
152
|
+
max?: number;
|
|
153
|
+
step?: number;
|
|
154
|
+
/** Number of decimal places. Defaults to 0 (integers). */
|
|
155
|
+
decimals?: number;
|
|
156
|
+
disabled?: boolean;
|
|
157
|
+
}>;
|
|
158
|
+
export type CheckboxNode = ElementNode<'checkbox', {
|
|
105
159
|
label: string;
|
|
106
|
-
defaultValue?: boolean;
|
|
107
|
-
validation?: Pick<FieldValidation, 'required'>;
|
|
108
160
|
disabled?: boolean;
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
161
|
+
}>;
|
|
162
|
+
/** `validation.required` means the switch must be ON (consent-style, like checkbox). */
|
|
163
|
+
export type SwitchNode = ElementNode<'switch', {
|
|
164
|
+
label: string;
|
|
165
|
+
disabled?: boolean;
|
|
166
|
+
}>;
|
|
167
|
+
export type RadioGroupNode = ElementNode<'radio-group', {
|
|
168
|
+
label?: string;
|
|
169
|
+
options?: OptionItem[];
|
|
170
|
+
/** Dynamic option list: resolved via `config.optionsSource` at render time; wins over `options`. */
|
|
171
|
+
optionsSourceId?: string;
|
|
172
|
+
/** Layout of the radio buttons. Defaults to 'vertical'. */
|
|
173
|
+
orientation?: 'vertical' | 'horizontal';
|
|
174
|
+
disabled?: boolean;
|
|
175
|
+
}>;
|
|
176
|
+
export type SelectNode = ElementNode<'select', {
|
|
114
177
|
label?: string;
|
|
115
178
|
placeholder?: string;
|
|
116
|
-
options?:
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
}[];
|
|
120
|
-
defaultValue?: string;
|
|
121
|
-
validation?: Pick<FieldValidation, 'required'>;
|
|
179
|
+
options?: OptionItem[];
|
|
180
|
+
/** Dynamic option list: resolved via `config.optionsSource` at render time; wins over `options`. */
|
|
181
|
+
optionsSourceId?: string;
|
|
122
182
|
disabled?: boolean;
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
|
|
183
|
+
}>;
|
|
184
|
+
/** `validation.required` means at least one option must be selected. */
|
|
185
|
+
export type MultiSelectNode = ElementNode<'multi-select', {
|
|
186
|
+
label?: string;
|
|
187
|
+
placeholder?: string;
|
|
188
|
+
options?: OptionItem[];
|
|
189
|
+
/** Dynamic option list: resolved via `config.optionsSource` at render time; wins over `options`. */
|
|
190
|
+
optionsSourceId?: string;
|
|
191
|
+
disabled?: boolean;
|
|
192
|
+
}>;
|
|
193
|
+
/** `validation.required` means the code must be COMPLETE (all cells filled). */
|
|
194
|
+
export type OtpInputNode = ElementNode<'otp-input', {
|
|
195
|
+
label?: string;
|
|
196
|
+
/** Number of code cells. Defaults to 6. */
|
|
197
|
+
length?: number;
|
|
198
|
+
/** Accepted character set. Defaults to 'numeric'. */
|
|
199
|
+
otpType?: 'numeric' | 'alphanumeric' | 'text';
|
|
200
|
+
/** Render cells masked (like a password). */
|
|
201
|
+
mask?: boolean;
|
|
202
|
+
disabled?: boolean;
|
|
203
|
+
}>;
|
|
204
|
+
/**
|
|
205
|
+
* Date value wire format: ISO string `YYYY-MM-DD` (in `defaultValue` and the
|
|
206
|
+
* value model). The renderer converts to/from `Temporal.PlainDate` at the
|
|
207
|
+
* component boundary; an unparsable value renders as empty instead of crashing.
|
|
208
|
+
*/
|
|
209
|
+
export type DateInputNode = ElementNode<'date-input', {
|
|
210
|
+
label?: string;
|
|
211
|
+
placeholder?: string;
|
|
212
|
+
disabled?: boolean;
|
|
213
|
+
}>;
|
|
214
|
+
/** Date-time wire format: ISO `YYYY-MM-DDTHH:mm[:ss]` (no time zone — plain wall time). */
|
|
215
|
+
export type DateTimeInputNode = ElementNode<'datetime-input', {
|
|
216
|
+
label?: string;
|
|
217
|
+
placeholder?: string;
|
|
218
|
+
disabled?: boolean;
|
|
219
|
+
}>;
|
|
220
|
+
export type ButtonNode = ElementNode<'button', {
|
|
126
221
|
label: string;
|
|
127
222
|
/** Action ID matched against the `actions` map passed to the renderer. */
|
|
128
223
|
action?: string;
|
|
129
224
|
/** When true, validates all named fields before calling the action. */
|
|
130
225
|
validates?: boolean;
|
|
226
|
+
/**
|
|
227
|
+
* The page's default button: Enter-to-submit (page `enterSubmits`) fires
|
|
228
|
+
* this one. Without it, Enter falls back to the first `validates: true`
|
|
229
|
+
* button in tree order.
|
|
230
|
+
*/
|
|
231
|
+
default?: boolean;
|
|
131
232
|
icon?: string;
|
|
132
233
|
variant?: 'primary' | 'secondary' | 'ghost' | 'danger';
|
|
133
234
|
size?: 'xs' | 's' | 'm' | 'l';
|
|
134
|
-
}
|
|
135
|
-
export
|
|
136
|
-
type: 'link';
|
|
235
|
+
}>;
|
|
236
|
+
export type LinkNode = ElementNode<'link', {
|
|
137
237
|
label: string;
|
|
138
238
|
/** Action ID matched against the `actions` map passed to the renderer. */
|
|
139
239
|
action?: string;
|
|
140
|
-
}
|
|
141
|
-
export
|
|
142
|
-
type: 'image';
|
|
240
|
+
}>;
|
|
241
|
+
export type ImageNode = ElementNode<'image', {
|
|
143
242
|
/** Asset ID resolved by `assetResolver` at render time. Never a raw URL. */
|
|
144
243
|
assetId: string;
|
|
145
244
|
alt?: string;
|
|
245
|
+
}>;
|
|
246
|
+
/**
|
|
247
|
+
* Declarative field validation, at node level (host vocabulary — uniform for
|
|
248
|
+
* every valued element). Which rules an element actually enforces is the
|
|
249
|
+
* element's concern: the built-in inputs enforce `required`/`matchField`
|
|
250
|
+
* everywhere and the text rules (`minLength`/`maxLength`/`pattern`) on
|
|
251
|
+
* text-input only.
|
|
252
|
+
*/
|
|
253
|
+
export interface FieldValidation {
|
|
254
|
+
required?: boolean;
|
|
255
|
+
minLength?: number;
|
|
256
|
+
maxLength?: number;
|
|
257
|
+
pattern?: string;
|
|
258
|
+
/** Field must equal the value of another named field. */
|
|
259
|
+
matchField?: string;
|
|
260
|
+
/** Overrides the default error message for any rule on this field. */
|
|
261
|
+
message?: string;
|
|
262
|
+
}
|
|
263
|
+
/**
|
|
264
|
+
* Declarative conditional visibility, at node level (host vocabulary — works
|
|
265
|
+
* on every element, containers included). The node and its whole subtree
|
|
266
|
+
* render only while the condition holds against the LIVE value model, and a
|
|
267
|
+
* hidden subtree leaves the value model with it: hidden required fields never
|
|
268
|
+
* veto a validating button, and hidden values never ship in action payloads.
|
|
269
|
+
* Values typed before hiding are kept internally and return when re-shown.
|
|
270
|
+
* A malformed condition fails OPEN (the node stays visible).
|
|
271
|
+
*/
|
|
272
|
+
export interface VisibleWhen {
|
|
273
|
+
/** Name of the controlling field (a named input on the page). */
|
|
274
|
+
field: string;
|
|
275
|
+
/** Visible while the field's value equals this (JSON-safe values compare by content). */
|
|
276
|
+
equals?: unknown;
|
|
277
|
+
/** Visible while the field's value is one of these. */
|
|
278
|
+
in?: unknown[];
|
|
146
279
|
}
|
|
147
280
|
export type ContainerNode = PageRootNode | StackNode | CardNode | SectionNode;
|
|
148
|
-
|
|
149
|
-
export type
|
|
281
|
+
/** The built-in element set (closed — drives the internal per-type tables). */
|
|
282
|
+
export type BuiltinNode = StackNode | CardNode | SectionNode | DividerNode | SpacerNode | HeadingNode | ParagraphNode | NoteNode | TextInputNode | PasswordInputNode | NumberInputNode | CheckboxNode | SwitchNode | RadioGroupNode | SelectNode | MultiSelectNode | OtpInputNode | DateInputNode | DateTimeInputNode | ButtonNode | LinkNode | ImageNode;
|
|
283
|
+
/**
|
|
284
|
+
* Any node in a page tree. The union is OPEN: the last member admits
|
|
285
|
+
* consumer-registered elements (whose `type` is their registry key). Code
|
|
286
|
+
* that needs the closed built-in set uses `ElementType`/`BuiltinNode`;
|
|
287
|
+
* dispatch on the open set goes through the element registry, not switches.
|
|
288
|
+
*/
|
|
289
|
+
export type PageNode = PageRootNode | BuiltinNode | ElementNode;
|
|
290
|
+
/** Built-in type strings (closed). The wire format admits any string `type`. */
|
|
291
|
+
export type ElementType = 'page' | BuiltinNode['type'];
|
|
150
292
|
export declare function isContainerNode(node: PageNode): node is ContainerNode;
|
|
293
|
+
/**
|
|
294
|
+
* Value type of a contract field / of the values an element can edit. Open
|
|
295
|
+
* union: consumers can introduce their own tokens (e.g. 'geo', 'money') —
|
|
296
|
+
* compatibility is exact token match between field and element.
|
|
297
|
+
*/
|
|
298
|
+
export type PageValueType = 'string' | 'number' | 'boolean' | 'string[]' | 'date' | 'datetime' | (string & {});
|
|
299
|
+
/**
|
|
300
|
+
* One field of the data contract behind a page — typically a DTO property.
|
|
301
|
+
* The contract constrains AUTHORING only: the persisted schema stays
|
|
302
|
+
* self-contained (binding is just `node.name === field.name`), and documents
|
|
303
|
+
* remain renderable without it.
|
|
304
|
+
*/
|
|
305
|
+
export interface PageFieldSpec {
|
|
306
|
+
/** The ActionValues key — the DTO property name. */
|
|
307
|
+
name: string;
|
|
308
|
+
valueType: PageValueType;
|
|
309
|
+
/** Display label, applied to the element on binding (when still default). */
|
|
310
|
+
label?: string;
|
|
311
|
+
/**
|
|
312
|
+
* Contract-level requirement: binding sets `validation.required`, and the
|
|
313
|
+
* builder lint warns while the field is missing from the page.
|
|
314
|
+
*/
|
|
315
|
+
required?: boolean;
|
|
316
|
+
/** Preferred element type for the field-first flow (palette drag). */
|
|
317
|
+
defaultElement?: string;
|
|
318
|
+
}
|
|
151
319
|
/**
|
|
152
320
|
* Shared between `<CoarPageBuilder>` and `<CoarPageRenderer>`. The IDP / consumer
|
|
153
321
|
* passes the SAME config to both — the builder uses it to filter UI affordances
|
|
@@ -156,10 +324,39 @@ export declare function isContainerNode(node: PageNode): node is ContainerNode;
|
|
|
156
324
|
*/
|
|
157
325
|
export interface PageConfig {
|
|
158
326
|
/**
|
|
159
|
-
* Element types permitted to appear in the tree
|
|
160
|
-
*
|
|
327
|
+
* Element types permitted to appear in the tree (built-in types and
|
|
328
|
+
* consumer-registered keys alike). Omit to allow every type. `page` (the
|
|
329
|
+
* root marker) is always implicitly allowed regardless of this list.
|
|
330
|
+
*/
|
|
331
|
+
allowedElements?: (ElementType | (string & {}))[];
|
|
332
|
+
/**
|
|
333
|
+
* Consumer-registered elements, merged ADDITIVELY over the built-in set
|
|
334
|
+
* (shadowing a built-in key warns in DEV). The same config reaches builder
|
|
335
|
+
* and renderer, so one registration serves palette, canvas, inspector and
|
|
336
|
+
* runtime. App-wide defaults can be provided under `PAGE_ELEMENTS_KEY`
|
|
337
|
+
* instead; this field wins when both are present.
|
|
338
|
+
*/
|
|
339
|
+
elements?: PageElementRegistry;
|
|
340
|
+
/**
|
|
341
|
+
* The data contract behind the page (DTO fields). When present, the
|
|
342
|
+
* builder's Field section offers these instead of a free-text name —
|
|
343
|
+
* filtered to the fields the selected element can edit (see
|
|
344
|
+
* `ElementValueSpec.types`) — and the lint flags unknown names,
|
|
345
|
+
* incompatible bindings, and missing required fields.
|
|
161
346
|
*/
|
|
162
|
-
|
|
347
|
+
fields?: PageFieldSpec[];
|
|
348
|
+
/**
|
|
349
|
+
* Allow binding names outside `fields`. Defaults to false — with a
|
|
350
|
+
* contract, authors pick from it.
|
|
351
|
+
*/
|
|
352
|
+
allowCustomFields?: boolean;
|
|
353
|
+
/**
|
|
354
|
+
* Hide the free element picker (the Containers/Elements palette groups and
|
|
355
|
+
* the outline's add-child menu). Authors then place content exclusively by
|
|
356
|
+
* dragging contract `fields`. Pure authoring UI — `allowedElements` remains
|
|
357
|
+
* the boundary for what may be USED at all.
|
|
358
|
+
*/
|
|
359
|
+
hideElementPicker?: boolean;
|
|
163
360
|
/**
|
|
164
361
|
* Action IDs that buttons and links may reference. When provided, the builder's
|
|
165
362
|
* Action-ID input becomes a dropdown of these choices instead of free text.
|
|
@@ -184,6 +381,16 @@ export interface PageConfig {
|
|
|
184
381
|
* back to its `:asset-resolver` prop only.
|
|
185
382
|
*/
|
|
186
383
|
assetResolver?: (id: string) => string;
|
|
384
|
+
/**
|
|
385
|
+
* Resolves an options-source id to the option list of a choice input
|
|
386
|
+
* (select / multi-select / radio-group) — the async sibling of
|
|
387
|
+
* `assetResolver` in the callback family, for API-backed lists (countries,
|
|
388
|
+
* users, …). A node opts in via its `optionsSourceId` prop; static
|
|
389
|
+
* `options` remain the default and the fallback when this callback is
|
|
390
|
+
* absent. Called once per element instance — memoize consumer-side when
|
|
391
|
+
* several elements share a source.
|
|
392
|
+
*/
|
|
393
|
+
optionsSource?: (sourceId: string) => Promise<OptionItem[]>;
|
|
187
394
|
/**
|
|
188
395
|
* Opens the consumer's own asset picker UI (modal, drawer — whatever you
|
|
189
396
|
* want) and resolves to the chosen `assetId`, or `null` if the user
|
|
@@ -199,6 +406,6 @@ export interface PageConfig {
|
|
|
199
406
|
* The root `page` type is always allowed — it's a schema-shape marker, not a
|
|
200
407
|
* user-placeable element.
|
|
201
408
|
*/
|
|
202
|
-
export declare function isElementAllowed(type:
|
|
409
|
+
export declare function isElementAllowed(type: string, config?: PageConfig): boolean;
|
|
203
410
|
export {};
|
|
204
411
|
//# sourceMappingURL=schema.d.ts.map
|
package/dist/schema.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,SAAS;IAExB,6EAA6E;IAC7E,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,oCAAoC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,sEAAsE;IACtE,OAAO,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,eAAe,GAAG,cAAc,GAAG,cAAc,CAAA;IACxF,gEAAgE;IAChE,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAA;IAG9C,sEAAsE;IACtE,SAAS,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAA;IAClD;;;;;OAKG;IACH,IAAI,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,CAAA;IAC/B,gFAAgF;IAChF,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAID,UAAU,YAAY;IACpB,2CAA2C;IAC3C,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,CAAC,EAAE,SAAS,CAAA;CAClB;AAID,
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAI9D,MAAM,WAAW,SAAS;IAExB,6EAA6E;IAC7E,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,oCAAoC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,sEAAsE;IACtE,OAAO,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,eAAe,GAAG,cAAc,GAAG,cAAc,CAAA;IACxF,gEAAgE;IAChE,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAA;IAG9C,sEAAsE;IACtE,SAAS,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAA;IAClD;;;;;OAKG;IACH,IAAI,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,CAAA;IAC/B,gFAAgF;IAChF,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAID,UAAU,YAAY;IACpB,2CAA2C;IAC3C,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,CAAC,EAAE,SAAS,CAAA;CAClB;AAID,mFAAmF;AACnF,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAElD;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,WAAW,CAC1B,CAAC,SAAS,MAAM,GAAG,MAAM,EACzB,CAAC,SAAS,YAAY,GAAG,YAAY,CACrC,SAAQ,YAAY;IACpB,IAAI,EAAE,CAAC,CAAA;IACP,KAAK,EAAE,CAAC,CAAA;IACR,8FAA8F;IAC9F,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,UAAU,CAAC,EAAE,eAAe,CAAA;IAC5B,8EAA8E;IAC9E,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAA;CACtB;AAED,8DAA8D;AAC9D,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;AAE9C,0FAA0F;AAC1F,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd;AAID;;;;GAIG;AACH,MAAM,WAAW,YAAa,SAAQ,YAAY;IAChD,IAAI,EAAE,MAAM,CAAA;IACZ;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,QAAQ,EAAE,QAAQ,EAAE,CAAA;CACrB;AAKD;;;GAGG;AACH,MAAM,WAAW,SAAU,SAAQ,WAAW,CAAC,OAAO,EAAE;IACtD,4CAA4C;IAC5C,SAAS,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAA;IAC5B,6EAA6E;IAC7E,IAAI,CAAC,EAAE,OAAO,CAAA;CACf,CAAC;IAAG,QAAQ,EAAE,QAAQ,EAAE,CAAA;CAAE;AAE3B,MAAM,WAAW,QAAS,SAAQ,WAAW,CAAC,MAAM,EAAE;IACpD,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAC;IAAG,QAAQ,EAAE,QAAQ,EAAE,CAAA;CAAE;AAE3B,MAAM,WAAW,WAAY,SAAQ,WAAW,CAAC,SAAS,EAAE;IAC1D,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAC;IAAG,QAAQ,EAAE,QAAQ,EAAE,CAAA;CAAE;AAE3B,MAAM,MAAM,WAAW,GAAG,WAAW,CAAC,SAAS,EAAE,UAAU,CAAC,CAAA;AAE5D,MAAM,MAAM,UAAU,GAAG,WAAW,CAAC,QAAQ,EAAE;IAC7C,yEAAyE;IACzE,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAC,CAAA;AAEF,MAAM,MAAM,WAAW,GAAG,WAAW,CAAC,SAAS,EAAE;IAC/C,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;CAC9B,CAAC,CAAA;AAEF,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC,WAAW,EAAE;IACnD,IAAI,EAAE,MAAM,CAAA;CACb,CAAC,CAAA;AAEF,MAAM,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,EAAE;IACzC,IAAI,EAAE,MAAM,CAAA;IACZ,8EAA8E;IAC9E,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAA;CAC1E,CAAC,CAAA;AAEF,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC,YAAY,EAAE;IACpD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,CAAA;IACpC,yEAAyE;IACzE,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAC,CAAA;AAEF;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG,WAAW,CAAC,gBAAgB,EAAE;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAC,CAAA;AAEF,MAAM,MAAM,eAAe,GAAG,WAAW,CAAC,cAAc,EAAE;IACxD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAC,CAAA;AAEF,MAAM,MAAM,YAAY,GAAG,WAAW,CAAC,UAAU,EAAE;IACjD,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAC,CAAA;AAEF,wFAAwF;AACxF,MAAM,MAAM,UAAU,GAAG,WAAW,CAAC,QAAQ,EAAE;IAC7C,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAC,CAAA;AAEF,MAAM,MAAM,cAAc,GAAG,WAAW,CAAC,aAAa,EAAE;IACtD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,UAAU,EAAE,CAAA;IACtB,oGAAoG;IACpG,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,2DAA2D;IAC3D,WAAW,CAAC,EAAE,UAAU,GAAG,YAAY,CAAA;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAC,CAAA;AAEF,MAAM,MAAM,UAAU,GAAG,WAAW,CAAC,QAAQ,EAAE;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,UAAU,EAAE,CAAA;IACtB,oGAAoG;IACpG,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAC,CAAA;AAEF,wEAAwE;AACxE,MAAM,MAAM,eAAe,GAAG,WAAW,CAAC,cAAc,EAAE;IACxD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,UAAU,EAAE,CAAA;IACtB,oGAAoG;IACpG,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAC,CAAA;AAEF,gFAAgF;AAChF,MAAM,MAAM,YAAY,GAAG,WAAW,CAAC,WAAW,EAAE;IAClD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,2CAA2C;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,qDAAqD;IACrD,OAAO,CAAC,EAAE,SAAS,GAAG,cAAc,GAAG,MAAM,CAAA;IAC7C,6CAA6C;IAC7C,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAC,CAAA;AAEF;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC,YAAY,EAAE;IACpD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAC,CAAA;AAEF,2FAA2F;AAC3F,MAAM,MAAM,iBAAiB,GAAG,WAAW,CAAC,gBAAgB,EAAE;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAC,CAAA;AAEF,MAAM,MAAM,UAAU,GAAG,WAAW,CAAC,QAAQ,EAAE;IAC7C,KAAK,EAAE,MAAM,CAAA;IACb,0EAA0E;IAC1E,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,uEAAuE;IACvE,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,OAAO,GAAG,QAAQ,CAAA;IACtD,IAAI,CAAC,EAAE,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAA;CAC9B,CAAC,CAAA;AAEF,MAAM,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,EAAE;IACzC,KAAK,EAAE,MAAM,CAAA;IACb,0EAA0E;IAC1E,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAC,CAAA;AAEF,MAAM,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,EAAE;IAC3C,4EAA4E;IAC5E,OAAO,EAAE,MAAM,CAAA;IACf,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,CAAC,CAAA;AAIF;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,yDAAyD;IACzD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,sEAAsE;IACtE,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,WAAW;IAC1B,iEAAiE;IACjE,KAAK,EAAE,MAAM,CAAA;IACb,yFAAyF;IACzF,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,uDAAuD;IACvD,EAAE,CAAC,EAAE,OAAO,EAAE,CAAA;CACf;AAID,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,SAAS,GAAG,QAAQ,GAAG,WAAW,CAAA;AAE7E,+EAA+E;AAC/E,MAAM,MAAM,WAAW,GACnB,SAAS,GACT,QAAQ,GACR,WAAW,GACX,WAAW,GACX,UAAU,GACV,WAAW,GACX,aAAa,GACb,QAAQ,GACR,aAAa,GACb,iBAAiB,GACjB,eAAe,GACf,YAAY,GACZ,UAAU,GACV,cAAc,GACd,UAAU,GACV,eAAe,GACf,YAAY,GACZ,aAAa,GACb,iBAAiB,GACjB,UAAU,GACV,QAAQ,GACR,SAAS,CAAA;AAEb;;;;;GAKG;AACH,MAAM,MAAM,QAAQ,GAAG,YAAY,GAAG,WAAW,GAAG,WAAW,CAAA;AAE/D,gFAAgF;AAChF,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAA;AAItD,wBAAgB,eAAe,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,IAAI,aAAa,CAOrE;AAID;;;;GAIG;AACH,MAAM,MAAM,aAAa,GACrB,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,UAAU,GACV,MAAM,GACN,UAAU,GACV,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;AAEjB;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,oDAAoD;IACpD,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,aAAa,CAAA;IACxB,6EAA6E;IAC7E,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,sEAAsE;IACtE,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAID;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB;;;;OAIG;IACH,eAAe,CAAC,EAAE,CAAC,WAAW,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,EAAE,CAAA;IACjD;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,mBAAmB,CAAA;IAC9B;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,aAAa,EAAE,CAAA;IACxB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B;;;;;;;;OAQG;IACH,gBAAgB,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IAClD;;;;;;;;;OASG;IACH,aAAa,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,CAAA;IACtC;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,EAAE,CAAC,CAAA;IAC3D;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;CAC3D;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,OAAO,CAI3E"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cocoar/vue-page-builder",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.17.0",
|
|
4
4
|
"description": "Generic headless visual page builder and renderer for Vue 3 built on the Cocoar Design System",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -8,6 +8,8 @@
|
|
|
8
8
|
"url": "https://github.com/cocoar-dev/cocoar-ui-vue.git",
|
|
9
9
|
"directory": "packages/page-builder"
|
|
10
10
|
},
|
|
11
|
+
"homepage": "https://docs.cocoar.dev/cocoar-ui-vue/",
|
|
12
|
+
"bugs": "https://github.com/cocoar-dev/cocoar-ui-vue/issues",
|
|
11
13
|
"keywords": [
|
|
12
14
|
"vue",
|
|
13
15
|
"vue3",
|
|
@@ -17,7 +19,8 @@
|
|
|
17
19
|
],
|
|
18
20
|
"type": "module",
|
|
19
21
|
"sideEffects": [
|
|
20
|
-
"*.css"
|
|
22
|
+
"*.css",
|
|
23
|
+
"*.vue"
|
|
21
24
|
],
|
|
22
25
|
"main": "./dist/index.js",
|
|
23
26
|
"module": "./dist/index.js",
|
|
@@ -26,22 +29,29 @@
|
|
|
26
29
|
".": {
|
|
27
30
|
"import": "./dist/index.js",
|
|
28
31
|
"types": "./dist/index.d.ts"
|
|
29
|
-
}
|
|
32
|
+
},
|
|
33
|
+
"./styles": "./dist/index.css"
|
|
30
34
|
},
|
|
31
35
|
"files": [
|
|
32
36
|
"dist"
|
|
33
37
|
],
|
|
34
38
|
"scripts": {
|
|
35
39
|
"build": "vite build",
|
|
36
|
-
"test": "vitest run
|
|
40
|
+
"test": "vitest run",
|
|
41
|
+
"typecheck": "vue-tsc --noEmit",
|
|
37
42
|
"lint": "eslint src/"
|
|
38
43
|
},
|
|
39
44
|
"peerDependencies": {
|
|
40
|
-
"@cocoar/vue-
|
|
45
|
+
"@cocoar/vue-localization": "2.17.0",
|
|
46
|
+
"@cocoar/vue-ui": "2.17.0",
|
|
41
47
|
"vue": "^3.5.0"
|
|
42
48
|
},
|
|
43
49
|
"devDependencies": {
|
|
50
|
+
"@cocoar/vue-localization": "workspace:*",
|
|
44
51
|
"@cocoar/vue-ui": "workspace:*",
|
|
45
52
|
"vue": "^3.5.32"
|
|
53
|
+
},
|
|
54
|
+
"dependencies": {
|
|
55
|
+
"@js-temporal/polyfill": "^0.5.1"
|
|
46
56
|
}
|
|
47
57
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ButtonProps.vue.d.ts","sourceRoot":"","sources":["../../../src/builder/props/ButtonProps.vue"],"names":[],"mappings":"AA2HA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG/C,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC;CAC9C,CAAC;;AAqRF,wBAMG"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CardProps.vue.d.ts","sourceRoot":"","sources":["../../../src/builder/props/CardProps.vue"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE7C,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC;CAC5C,CAAC;;AAmEF,wBAOG"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CheckboxProps.vue.d.ts","sourceRoot":"","sources":["../../../src/builder/props/CheckboxProps.vue"],"names":[],"mappings":"AAyCA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC;CAChD,CAAC;;AA0IF,wBAMG"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"HeadingProps.vue.d.ts","sourceRoot":"","sources":["../../../src/builder/props/HeadingProps.vue"],"names":[],"mappings":"AA+CA,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;;AA2GF,wBAMG"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ImageProps.vue.d.ts","sourceRoot":"","sources":["../../../src/builder/props/ImageProps.vue"],"names":[],"mappings":"AAiJA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAG9C,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC;CAC7C,CAAC;;AAiOF,wBAMG"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LinkProps.vue.d.ts","sourceRoot":"","sources":["../../../src/builder/props/LinkProps.vue"],"names":[],"mappings":"AAmEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAG7C,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC;CAC5C,CAAC;;AA4IF,wBAMG"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ParagraphProps.vue.d.ts","sourceRoot":"","sources":["../../../src/builder/props/ParagraphProps.vue"],"names":[],"mappings":"AA4CA,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;;AA8DF,wBAOG"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SectionProps.vue.d.ts","sourceRoot":"","sources":["../../../src/builder/props/SectionProps.vue"],"names":[],"mappings":"AAqBA,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;;AAmEF,wBAOG"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SelectProps.vue.d.ts","sourceRoot":"","sources":["../../../src/builder/props/SelectProps.vue"],"names":[],"mappings":"AA+CA,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;;AAsKF,wBAMG"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SpacerProps.vue.d.ts","sourceRoot":"","sources":["../../../src/builder/props/SpacerProps.vue"],"names":[],"mappings":"AAyBA,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;;AAuEF,wBAOG"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"StackProps.vue.d.ts","sourceRoot":"","sources":["../../../src/builder/props/StackProps.vue"],"names":[],"mappings":"AA8FA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC;CAC7C,CAAC;;AAkGF,wBAMG"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TextInputProps.vue.d.ts","sourceRoot":"","sources":["../../../src/builder/props/TextInputProps.vue"],"names":[],"mappings":"AAyEA,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;;AA6MF,wBAMG"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { Component } from 'vue';
|
|
2
|
-
import { ElementType } from '../../schema';
|
|
3
|
-
export interface PropsRegistryEntry {
|
|
4
|
-
/** Component to render for the element-specific props section. */
|
|
5
|
-
component: Component;
|
|
6
|
-
/** Title shown above the element section. */
|
|
7
|
-
sectionTitle: string;
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* Per-element-type props registry. An entry is absent when an element type has
|
|
11
|
-
* no type-specific properties (`page`, `divider`) — only the universal style
|
|
12
|
-
* section is shown for those.
|
|
13
|
-
*/
|
|
14
|
-
export declare const PROPS_REGISTRY: Partial<Record<ElementType, PropsRegistryEntry>>;
|
|
15
|
-
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/builder/props/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AACrC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAehD,MAAM,WAAW,kBAAkB;IACjC,kEAAkE;IAClE,SAAS,EAAE,SAAS,CAAC;IACrB,6CAA6C;IAC7C,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAa3E,CAAC"}
|