@prolibu-suite/cobalt-form-builder 0.2.2 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/CobaltFormBuilder.vue.d.ts +30 -4
- package/dist/CobaltFormBuilder.vue.d.ts.map +1 -1
- package/dist/cobalt-form-builder.cjs +1 -1
- package/dist/cobalt-form-builder.cjs.map +1 -1
- package/dist/cobalt-form-builder.css +1 -1
- package/dist/cobalt-form-builder.js +2390 -1786
- package/dist/cobalt-form-builder.js.map +1 -1
- package/dist/components/DesignerTab.vue.d.ts +15 -1
- package/dist/components/DesignerTab.vue.d.ts.map +1 -1
- package/dist/components/EditableText.vue.d.ts +1 -0
- package/dist/components/EditableText.vue.d.ts.map +1 -1
- package/dist/components/FieldCanvas.vue.d.ts.map +1 -1
- package/dist/components/FieldCard.vue.d.ts.map +1 -1
- package/dist/components/FieldCardExpanded.vue.d.ts.map +1 -1
- package/dist/components/FieldToolbox.vue.d.ts.map +1 -1
- package/dist/components/PageCard.vue.d.ts.map +1 -1
- package/dist/components/PreviewTab.vue.d.ts.map +1 -1
- package/dist/components/PropertiesPanel.vue.d.ts +16 -1
- package/dist/components/PropertiesPanel.vue.d.ts.map +1 -1
- package/dist/fieldCatalog.d.ts +4 -0
- package/dist/fieldCatalog.d.ts.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/stores/schema.d.ts.map +1 -1
- package/package.json +9 -9
|
@@ -11,22 +11,38 @@ import { createSchemaStore, type SchemaEvent } from './stores/schema';
|
|
|
11
11
|
* - `actions` — right side of the topbar (default: undo/redo buttons)
|
|
12
12
|
* - `before` — content above the topbar (custom banner / breadcrumb)
|
|
13
13
|
* - `after` — content below the editor (custom footer / save bar)
|
|
14
|
+
* - `[custom]` — any custom tab slot. Pass `{ id, label }` objects in the
|
|
15
|
+
* `tabs` prop and provide a matching `#<id>` slot.
|
|
16
|
+
* Each custom slot receives `{ store }` as slot props.
|
|
14
17
|
*
|
|
15
18
|
* Granular `SchemaEvent`s are re-emitted as Vue events the host can
|
|
16
19
|
* listen for analytics, autosave, etc.
|
|
17
20
|
*/
|
|
18
|
-
type
|
|
21
|
+
type BuiltinTabId = 'designer' | 'preview' | 'json';
|
|
22
|
+
export interface CustomTab {
|
|
23
|
+
id: string;
|
|
24
|
+
label: string;
|
|
25
|
+
}
|
|
26
|
+
type TabEntry = BuiltinTabId | CustomTab;
|
|
19
27
|
type __VLS_Props = {
|
|
20
28
|
/** The schema being edited (paged shape preferred — `{title,pages,theme}`). */
|
|
21
29
|
modelValue?: Record<string, any>;
|
|
22
|
-
/** Which top-level tabs to expose.
|
|
23
|
-
tabs?:
|
|
30
|
+
/** Which top-level tabs to expose. Strings for built-in tabs, objects for custom ones. */
|
|
31
|
+
tabs?: TabEntry[];
|
|
24
32
|
/** Hide the builder's brand mark (when the host has its own chrome). */
|
|
25
33
|
hideBrand?: boolean;
|
|
26
34
|
/** Brand label text (defaults to "Cobalt Form Builder"). */
|
|
27
35
|
brandLabel?: string;
|
|
28
36
|
/** Skip auto-registering Cobalt custom elements (host already did it). */
|
|
29
37
|
skipCobaltRegister?: boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Force the schema mode. When set, the store's `data.mode` is synced
|
|
40
|
+
* to this value on mount and whenever it changes. This drives quiz-mode
|
|
41
|
+
* behavior (filtered toolbox, answer-key panel, etc.).
|
|
42
|
+
*/
|
|
43
|
+
mode?: 'form' | 'quiz' | 'survey';
|
|
44
|
+
/** Show error state on the title field (e.g. after failed validation). */
|
|
45
|
+
titleError?: boolean;
|
|
30
46
|
};
|
|
31
47
|
type __VLS_Slots = {
|
|
32
48
|
brand?: () => any;
|
|
@@ -37,6 +53,14 @@ type __VLS_Slots = {
|
|
|
37
53
|
after?: (props: {
|
|
38
54
|
store: ReturnType<typeof createSchemaStore>;
|
|
39
55
|
}) => any;
|
|
56
|
+
'field-layout-extra'?: (props: {
|
|
57
|
+
field: Record<string, any>;
|
|
58
|
+
fieldName: string;
|
|
59
|
+
patchField: (key: string, value: any) => void;
|
|
60
|
+
}) => any;
|
|
61
|
+
[key: string]: ((props: {
|
|
62
|
+
store: ReturnType<typeof createSchemaStore>;
|
|
63
|
+
}) => any) | ((props: any) => any) | undefined;
|
|
40
64
|
};
|
|
41
65
|
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
42
66
|
"field-added": (payload: {
|
|
@@ -183,8 +207,10 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {},
|
|
|
183
207
|
"onUpdate:modelValue"?: ((value: Record<string, any>) => any) | undefined;
|
|
184
208
|
onEvent?: ((payload: SchemaEvent) => any) | undefined;
|
|
185
209
|
}>, {
|
|
210
|
+
mode: "form" | "quiz" | "survey";
|
|
186
211
|
modelValue: Record<string, any>;
|
|
187
|
-
|
|
212
|
+
titleError: boolean;
|
|
213
|
+
tabs: TabEntry[];
|
|
188
214
|
hideBrand: boolean;
|
|
189
215
|
brandLabel: string;
|
|
190
216
|
skipCobaltRegister: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CobaltFormBuilder.vue.d.ts","sourceRoot":"","sources":["../src/CobaltFormBuilder.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CobaltFormBuilder.vue.d.ts","sourceRoot":"","sources":["../src/CobaltFormBuilder.vue"],"names":[],"mappings":"AAwcA,OAAO,EAEL,iBAAiB,EACjB,KAAK,WAAW,EACjB,MAAM,iBAAiB,CAAC;AAKzB;;;;;;;;;;;;;;;;;;GAkBG;AAEH,KAAK,YAAY,GAAG,UAAU,GAAG,SAAS,GAAG,MAAM,CAAC;AAEpD,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf;AAED,KAAK,QAAQ,GAAG,YAAY,GAAG,SAAS,CAAC;AAEzC,KAAK,WAAW,GAAG;IACf,+EAA+E;IAC/E,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACjC,0FAA0F;IAC1F,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;IAClB,wEAAwE;IACxE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0EAA0E;IAC1E,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;IAClC,0EAA0E;IAC1E,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAuCJ,KAAK,WAAW,GAAG;IACjB,KAAK,CAAC,EAAE,MAAM,GAAG,CAAC;IAClB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAA;KAAE,KAAK,GAAG,CAAC;IAC1E,MAAM,CAAC,EAAE,MAAM,GAAG,CAAC;IACnB,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAA;KAAE,KAAK,GAAG,CAAC;IACxE,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI,CAAA;KAAE,KAAK,GAAG,CAAC;IACxI,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAA;KAAE,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAAC,GAAG,SAAS,CAAC;CACtH,CAAC;AA0WF,QAAA,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UA3ZL,MAAM,GAAG,MAAM,GAAG,QAAQ;gBAdpB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;gBAgBnB,OAAO;UAdb,QAAQ,EAAE;eAEL,OAAO;gBAEN,MAAM;wBAEE,OAAO;6EAqa9B,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AAWzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
|