@cocoar/vue-page-builder 2.16.0 → 2.17.1
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 +140 -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 +5016 -2125
- package/dist/renderSafety.d.ts +21 -0
- package/dist/renderSafety.d.ts.map +1 -0
- package/dist/schema.d.ts +280 -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,43 @@ 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 INPUTS offering (the palette's Inputs group and the input
|
|
355
|
+
* entries of the outline's add-child menu) — i.e. exactly the value
|
|
356
|
+
* elements the field contract replaces; authors then bind fields by
|
|
357
|
+
* dragging contract `fields`. Containers and content/action elements
|
|
358
|
+
* (headings, notes, buttons, links, images) stay available — every form
|
|
359
|
+
* needs layout and chrome. The split is registry-derived (value-spec
|
|
360
|
+
* presence), so consumer elements sort themselves. Pure authoring UI —
|
|
361
|
+
* `allowedElements` remains the boundary for what may be USED at all.
|
|
362
|
+
*/
|
|
363
|
+
hideElementPicker?: boolean;
|
|
163
364
|
/**
|
|
164
365
|
* Action IDs that buttons and links may reference. When provided, the builder's
|
|
165
366
|
* Action-ID input becomes a dropdown of these choices instead of free text.
|
|
@@ -184,6 +385,16 @@ export interface PageConfig {
|
|
|
184
385
|
* back to its `:asset-resolver` prop only.
|
|
185
386
|
*/
|
|
186
387
|
assetResolver?: (id: string) => string;
|
|
388
|
+
/**
|
|
389
|
+
* Resolves an options-source id to the option list of a choice input
|
|
390
|
+
* (select / multi-select / radio-group) — the async sibling of
|
|
391
|
+
* `assetResolver` in the callback family, for API-backed lists (countries,
|
|
392
|
+
* users, …). A node opts in via its `optionsSourceId` prop; static
|
|
393
|
+
* `options` remain the default and the fallback when this callback is
|
|
394
|
+
* absent. Called once per element instance — memoize consumer-side when
|
|
395
|
+
* several elements share a source.
|
|
396
|
+
*/
|
|
397
|
+
optionsSource?: (sourceId: string) => Promise<OptionItem[]>;
|
|
187
398
|
/**
|
|
188
399
|
* Opens the consumer's own asset picker UI (modal, drawer — whatever you
|
|
189
400
|
* want) and resolves to the chosen `assetId`, or `null` if the user
|
|
@@ -199,6 +410,6 @@ export interface PageConfig {
|
|
|
199
410
|
* The root `page` type is always allowed — it's a schema-shape marker, not a
|
|
200
411
|
* user-placeable element.
|
|
201
412
|
*/
|
|
202
|
-
export declare function isElementAllowed(type:
|
|
413
|
+
export declare function isElementAllowed(type: string, config?: PageConfig): boolean;
|
|
203
414
|
export {};
|
|
204
415
|
//# 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":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cocoar/vue-page-builder",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.17.1",
|
|
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.1",
|
|
46
|
+
"@cocoar/vue-ui": "2.17.1",
|
|
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"}
|