@bagelink/vue 1.4.136 → 1.4.139
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/components/form/inputs/RichText/components/EditorToolbar.vue.d.ts.map +1 -1
- package/dist/components/form/inputs/RichText/config.d.ts.map +1 -1
- package/dist/composables/useSchemaField.d.ts.map +1 -1
- package/dist/index.cjs +19 -19
- package/dist/index.mjs +19 -19
- package/dist/style.css +1 -1
- package/dist/types/BagelForm.d.ts +13 -5
- package/dist/types/BagelForm.d.ts.map +1 -1
- package/dist/utils/BagelFormUtils.d.ts +28 -6
- package/dist/utils/BagelFormUtils.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/form/inputs/RadioGroup.vue +4 -4
- package/src/components/form/inputs/RichText/components/EditorToolbar.vue +3 -0
- package/src/components/form/inputs/RichText/config.ts +3 -0
- package/src/composables/useSchemaField.ts +31 -17
- package/src/types/BagelForm.ts +26 -12
- package/src/utils/BagelFormUtils.ts +97 -7
- package/src/utils/index.ts +1 -1
|
@@ -30,9 +30,14 @@ export type _Path<T, PO extends PathsOptions = DefaultPathsOptions> = ToString<P
|
|
|
30
30
|
export type OpenEndedPath<T> = keyof T extends infer K ? K extends keyof T ? T[K] extends {
|
|
31
31
|
[key: string]: any;
|
|
32
32
|
} ? `${K & string}.${string}` : never : never : never;
|
|
33
|
-
|
|
34
|
-
[
|
|
35
|
-
|
|
33
|
+
type IndexSignaturePaths<T> = {
|
|
34
|
+
[K in keyof T]: T[K] extends {
|
|
35
|
+
[key: string]: any;
|
|
36
|
+
} ? T[K] extends {
|
|
37
|
+
[key: string]: infer V;
|
|
38
|
+
} ? `${K & string}.${string}` : never : never;
|
|
39
|
+
}[keyof T];
|
|
40
|
+
export type Path<T, PO extends PathsOptions = DefaultPathsOptions> = FieldVal<T, _Path<T, PO>> extends Array<any> ? LiteralStringUnion<_Path<T, PO>> : _Path<T, PO> | IndexSignaturePaths<T> | `${keyof T & string}.more_info.${string}`;
|
|
36
41
|
export type SmartFieldVal<T, P extends Path<T>> = P extends string ? P extends keyof T ? T[P] : any : FieldVal<T, P>;
|
|
37
42
|
export type SmartBagelFieldOptions<T, P extends Path<T>> = string | ({
|
|
38
43
|
label?: string;
|
|
@@ -64,9 +69,12 @@ export interface ElementField<T, PO extends PathsOptions = DefaultPathsOptions>
|
|
|
64
69
|
transform?: (val?: any, rowData?: T) => any;
|
|
65
70
|
children?: ElementField<T, PO>[];
|
|
66
71
|
}
|
|
67
|
-
|
|
72
|
+
type ValidBaseBagelField<T, PO extends PathsOptions = DefaultPathsOptions> = {
|
|
73
|
+
[P in Path<T, PO>]: BaseBagelField<T, P, PO>;
|
|
74
|
+
}[Path<T, PO>];
|
|
75
|
+
export type SchemaChild<T, P extends Path<T, PO>, PO extends PathsOptions = DefaultPathsOptions> = Field<T, PO> | ElementField<T, PO> | VNode | VNodeFn<T, P> | string | ValidBaseBagelField<T, PO>;
|
|
68
76
|
export interface BaseBagelField<T, P extends Path<T, PO>, PO extends PathsOptions = DefaultPathsOptions> {
|
|
69
|
-
'$el'?: any;
|
|
77
|
+
'$el'?: string | any;
|
|
70
78
|
'id'?: P;
|
|
71
79
|
'label'?: string;
|
|
72
80
|
'placeholder'?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BagelForm.d.ts","sourceRoot":"","sources":["../../src/types/BagelForm.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"BagelForm.d.ts","sourceRoot":"","sources":["../../src/types/BagelForm.ts"],"names":[],"mappings":"AACA,KAAK,UAAU,GAAG,GAAG,CAAA;AACrB,UAAU,MAAM;IAAG,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,GAAG,CAAA;CAAE;AAC9C,OAAO,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAChF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AACxE,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAC/E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,KAAK,CAAA;AAEhC,MAAM,MAAM,cAAc,GACvB,MAAM,GACN,MAAM,GACN,OAAO,GACP,SAAS,GACT;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,CAAA;AAEzB,MAAM,MAAM,WAAW,CAAC,CAAC,EAAE,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,IAAI,CAC/C,KAAK,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,EAC1B,GAAG,CAAC,EAAE,CAAC,KACH,cAAc,CAAA;AAEnB,MAAM,WAAW,UAAU,CAAC,CAAC,EAAE,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC;IAC/C,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,GAAG,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;CACjD;AAED,MAAM,MAAM,iBAAiB,CAAC,CAAC,EAAE,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,IAC/C,MAAM,GACN,CACC;IACD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CACtB,GACC,MAAM,GACN,MAAM,GACN,OAAO,GACP;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,CACxB,EAAE,GACD,CAAC,CAAC,GAAG,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,KAAK,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,GAC/F,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;AAEjF,MAAM,MAAM,OAAO,CAAC,CAAC,EAAE,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,IACrC,MAAM,GACN,OAAO,GACP,CAAC,CAAC,GAAG,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC,CAAA;AAExD,MAAM,MAAM,YAAY,CAAC,CAAC,EAAE,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,IAAI,CAChD,GAAG,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,EACzB,OAAO,CAAC,EAAE,CAAC,KACP,MAAM,GAAG,SAAS,CAAA;AAEvB,MAAM,WAAW,mBAAoB,SAAQ,YAAY;IACxD,iBAAiB,EAAE,CAAC,CAAA;CACpB;AAED,MAAM,MAAM,KAAK,CAChB,CAAC,EACD,EAAE,SAAS,YAAY,GAAG,mBAAmB,IAC1C,QAAQ,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;AAG9C,MAAM,MAAM,aAAa,CAAC,CAAC,IACzB,MAAM,CAAC,SAAS,MAAM,CAAC,GACtB,CAAC,SAAS,MAAM,CAAC,GAChB,CAAC,CAAC,CAAC,CAAC,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,GAC/B,GAAG,CAAC,GAAG,MAAM,IAAI,MAAM,EAAE,GAC1B,KAAK,GACN,KAAK,GACN,KAAK,CAAA;AAYV,KAAK,mBAAmB,CAAC,CAAC,IAAI;KAC5B,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GAChD,CAAC,CAAC,CAAC,CAAC,SAAS;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,CAAA;KAAE,GACtC,GAAG,CAAC,GAAG,MAAM,IAAI,MAAM,EAAE,GACzB,KAAK,GACN,KAAK;CACR,CAAC,MAAM,CAAC,CAAC,CAAA;AAGV,MAAM,MAAM,IAAI,CAAC,CAAC,EAAE,EAAE,SAAS,YAAY,GAAG,mBAAmB,IAC/D,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,KAAK,CAAC,GAAG,CAAC,GACzC,kBAAkB,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAChC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,MAAM,cAAc,MAAM,EAAE,CAAA;AAGtF,MAAM,MAAM,aAAa,CAAC,CAAC,EAAE,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,IAC7C,CAAC,SAAS,MAAM,GACb,CAAC,SAAS,MAAM,CAAC,GAChB,CAAC,CAAC,CAAC,CAAC,GACJ,GAAG,GACJ,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AAGlB,MAAM,MAAM,sBAAsB,CAAC,CAAC,EAAE,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,IACpD,MAAM,GACN,CACC;IACD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CACtB,GACC,MAAM,GACN,MAAM,GACN,OAAO,GACP;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,CACxB,EAAE,GACD,CAAC,CAAC,GAAG,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,KAAK,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,GAC/F,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;AAGjF,MAAM,MAAM,YAAY,CAAC,CAAC,EAAE,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,IAC1C,MAAM,GACN,OAAO,GACP,CAAC,CAAC,GAAG,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC,CAAA;AAGxD,MAAM,MAAM,iBAAiB,CAAC,CAAC,EAAE,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,IAAI,CACrD,GAAG,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,EACzB,OAAO,CAAC,EAAE,CAAC,KACP,MAAM,GAAG,SAAS,CAAA;AAGvB,MAAM,MAAM,gBAAgB,CAAC,CAAC,EAAE,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,IAAI,CACpD,KAAK,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,EAC1B,GAAG,CAAC,EAAE,CAAC,KACH,cAAc,CAAA;AAGnB,MAAM,MAAM,gBAAgB,CAAC,CAAC,EAAE,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,IAAI,CACpD,GAAG,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,EACzB,OAAO,CAAC,EAAE,CAAC,KACP,GAAG,CAAA;AAGR,MAAM,MAAM,aAAa,CAAC,CAAC,EAAE,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,IAAI,CACjD,GAAG,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,EACzB,OAAO,CAAC,EAAE,CAAC,KACP,OAAO,CAAA;AAEZ,4CAA4C;AAE5C,MAAM,MAAM,QAAQ,CAAC,CAAC,EAAE,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,IACxC,OAAO,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AAEhD,uEAAuE;AACvE,MAAM,MAAM,aAAa,CAAC,CAAC,EAAE,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,IAAI,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;AAE5E,MAAM,MAAM,OAAO,CAAC,CAAC,EAAE,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE;IACnD,GAAG,CAAC,EAAE,CAAC,CAAA;IACP,KAAK,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;CAC3B,KAAK,KAAK,CAAA;AAEX,MAAM,WAAW,YAAY,CAC5B,CAAC,EACD,EAAE,SAAS,YAAY,GAAG,mBAAmB;IAE7C,GAAG,EAAE,GAAG,CAAA;IACR,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,MAAM,CAAA;IACzB,KAAK,CAAC,EAAE,GAAG,CAAA;IACX,GAAG,CAAC,EAAE,GAAG,CAAA;IACT,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC3B,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,CAAC,KAAK,IAAI,CAAA;IAC1C,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,CAAC,KAAK,GAAG,CAAA;IAC3C,QAAQ,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAA;CAChC;AAGD,KAAK,mBAAmB,CAAC,CAAC,EAAE,EAAE,SAAS,YAAY,GAAG,mBAAmB,IAAI;KAC3E,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;CAC5C,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;AAEd,MAAM,MAAM,WAAW,CACtB,CAAC,EACD,CAAC,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,EACrB,EAAE,SAAS,YAAY,GAAG,mBAAmB,IAC1C,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,GAAG,mBAAmB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AAEpG,MAAM,WAAW,cAAc,CAC9B,CAAC,EACD,CAAC,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,EACrB,EAAE,SAAS,YAAY,GAAG,mBAAmB;IAE7C,KAAK,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;IACpB,IAAI,CAAC,EAAE,CAAC,CAAA;IACR,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,OAAO,CAAC,EAAE,cAAc,GAAG,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACjD,OAAO,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,sBAAsB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACxC,UAAU,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAA;IAC9C,OAAO,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAA;KAAE,CAAA;IAC9D,cAAc,CAAC,EAAE,GAAG,CAAA;IACpB,KAAK,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAC1B,MAAM,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAC3B,WAAW,CAAC,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACpC,UAAU,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAChC,UAAU,CAAC,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;CACpC;AAED,MAAM,MAAM,qBAAqB,CAChC,CAAC,EACD,EAAE,SAAS,YAAY,GAAG,mBAAmB,IAC1C;KACF,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;CAC5C,CAAA;AAED,MAAM,MAAM,qBAAqB,CAChC,CAAC,EACD,CAAC,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,EACrB,EAAE,SAAS,YAAY,GAAG,mBAAmB,IAC1C,qBAAqB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;AAEnC,MAAM,MAAM,QAAQ,CACnB,CAAC,EACD,CAAC,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,EACrB,EAAE,SAAS,YAAY,GAAG,mBAAmB,IAC1C,qBAAqB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;AAEnC,MAAM,MAAM,KAAK,CAChB,CAAC,EACD,EAAE,SAAS,YAAY,GAAG,mBAAmB,IAC1C,qBAAqB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;AAE7C,MAAM,MAAM,SAAS,CACpB,CAAC,EACD,EAAE,SAAS,YAAY,GAAG,mBAAmB,IAC1C,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AAEhB,MAAM,MAAM,WAAW,CACtB,CAAC,EACD,EAAE,SAAS,YAAY,GAAG,mBAAmB,IAC1C,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AAEtC,MAAM,MAAM,cAAc,CACzB,CAAC,EACD,EAAE,SAAS,YAAY,GAAG,mBAAmB,IAC1C,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAA;AAE/D,MAAM,MAAM,qBAAqB,CAChC,CAAC,EACD,EAAE,SAAS,YAAY,GAAG,mBAAmB,IAC1C,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAA;AAE/D,MAAM,WAAW,eAAe,CAC/B,CAAC,EACD,CAAC,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,EACrB,EAAE,SAAS,YAAY,GAAG,mBAAmB,CAE7C,SAAQ,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAChC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,gBAAgB,CAChC,CAAC,EACD,CAAC,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,EACrB,EAAE,SAAS,YAAY,GAAG,mBAAmB,CAE7C,SAAQ,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAChC,GAAG,EAAE,QAAQ,GAAG,GAAG,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,eAAe,CAC/B,CAAC,EACD,CAAC,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,EACrB,EAAE,SAAS,YAAY,GAAG,mBAAmB,CAE7C,SAAQ,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAChC,GAAG,EAAE,OAAO,GAAG,GAAG,CAAA;IAClB,KAAK,CAAC,EAAE,UAAU,CAAA;CAClB;AAED,MAAM,WAAW,kBAAkB;IAClC,QAAQ,CAAC,EAAE,YAAY,CAAC;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,EAAE,MAAM,CAAC,CAAA;IAC3D,WAAW,CAAC,EAAE,MAAM,GAAG,CAAA;CACvB;AAED,MAAM,WAAW,gBAAgB;IAChC,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACxB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,KAAK,CAAC,EAAE,UAAU,GAAG,OAAO,CAAA;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAA;CACvB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DefaultPathsOptions, PathsOptions } from 'type-fest/source/paths';
|
|
2
|
-
import { Path, BaseBagelField, InputBagelField, SelectBagelField, ArrayBagelField, ArrayFieldVal, Attributes, BglFormSchemaT, FieldByP,
|
|
2
|
+
import { Path, BaseBagelField, InputBagelField, SelectBagelField, ArrayBagelField, ArrayFieldVal, Attributes, BglFormSchemaT, FieldByP, ShallowBglFormSchemaT, UploadInputProps } from '../types/BagelForm';
|
|
3
3
|
interface IconType {
|
|
4
4
|
name: string;
|
|
5
5
|
}
|
|
@@ -50,6 +50,10 @@ export interface NumFieldOptions<T, K extends Path<T>> extends InputOptions<T, K
|
|
|
50
50
|
export interface RichTextOptions<T, P extends Path<T>> extends InputOptions<T, P> {
|
|
51
51
|
height?: number | string;
|
|
52
52
|
}
|
|
53
|
+
export interface TelInputOptions<T, P extends Path<T>> extends InputOptions<T, P> {
|
|
54
|
+
pattern?: string;
|
|
55
|
+
autocomplete?: AutoFillField;
|
|
56
|
+
}
|
|
53
57
|
export declare function getBaseField<T, P extends Path<T, PO>, PO extends PathsOptions = DefaultPathsOptions>(id?: P, labelOrRest?: string | Partial<BaseBagelField<T, P>>, rest?: Partial<BaseBagelField<T, P>>): BaseBagelField<T, P, PO>;
|
|
54
58
|
export declare function richText<T, P extends Path<T, PO>, PO extends PathsOptions = DefaultPathsOptions>(id?: P, label?: string, options?: RichTextOptions<T, P>): BaseBagelField<T, P, PO>;
|
|
55
59
|
export declare function txtField<T, P extends Path<T, PO>, PO extends PathsOptions = DefaultPathsOptions>(id?: P, label?: string, options?: TextInputOptions<T, P>): InputBagelField<T, P, PO>;
|
|
@@ -69,10 +73,10 @@ interface EmailInputOptions<T, P extends Path<T>> extends InputOptions<T, P> {
|
|
|
69
73
|
export declare function emailField<T, P extends Path<T, PO>, PO extends PathsOptions = DefaultPathsOptions>(id?: P, label?: string, options?: EmailInputOptions<T, P>): BaseBagelField<T, P, PO>;
|
|
70
74
|
export declare function dateField<T, P extends Path<T, PO>, PO extends PathsOptions = DefaultPathsOptions>(id?: P, label?: string, options?: DateOptions<T, P>): BaseBagelField<T, P, PO>;
|
|
71
75
|
export declare function numField<T, P extends Path<T, PO>, PO extends PathsOptions = DefaultPathsOptions>(id?: P, label?: string, options?: NumFieldOptions<T, P>): BaseBagelField<T, P, PO>;
|
|
72
|
-
export declare function frmRow<T, PO extends PathsOptions = DefaultPathsOptions>(...children:
|
|
76
|
+
export declare function frmRow<T, PO extends PathsOptions = DefaultPathsOptions>(...children: Array<BaseBagelField<T, any, PO>>): {
|
|
73
77
|
$el: string;
|
|
74
78
|
class: string;
|
|
75
|
-
children:
|
|
79
|
+
children: Array<BaseBagelField<T, any, PO>>;
|
|
76
80
|
};
|
|
77
81
|
export interface UploadOptions<T, K extends Path<T>> extends Omit<UploadInputProps, 'id'>, InputOptions<T, K> {
|
|
78
82
|
}
|
|
@@ -99,9 +103,7 @@ export declare function bglForm<T>(idOrField?: string | FieldByP<T, Path<T>>, ..
|
|
|
99
103
|
};
|
|
100
104
|
id?: undefined;
|
|
101
105
|
};
|
|
102
|
-
export declare function telField<T, P extends Path<T, PO>, PO extends PathsOptions = DefaultPathsOptions>(id?: P, label?: string, options?:
|
|
103
|
-
[key: string]: any;
|
|
104
|
-
}): BaseBagelField<T, P, PO>;
|
|
106
|
+
export declare function telField<T, P extends Path<T, PO>, PO extends PathsOptions = DefaultPathsOptions>(id?: P, label?: string, options?: TelInputOptions<T, P>): BaseBagelField<T, P, PO>;
|
|
105
107
|
export declare function colorField<T, P extends Path<T, PO>, PO extends PathsOptions = DefaultPathsOptions>(id?: P, label?: string, options?: {
|
|
106
108
|
[key: string]: any;
|
|
107
109
|
}): BaseBagelField<T, P, PO>;
|
|
@@ -116,6 +118,25 @@ export interface ArrayFieldOptions<T, K extends Path<T>> extends InputOptions<T,
|
|
|
116
118
|
}
|
|
117
119
|
export type ArrayType = 'number' | 'text';
|
|
118
120
|
export declare function arrField<T, P extends Path<T, PO>, PO extends PathsOptions = DefaultPathsOptions>(id: P, label: string, schemaOrType: BglFormSchemaT<ArrayFieldVal<T, P>> | ArrayType, options?: ArrayFieldOptions<T, P>): ArrayBagelField<T, P, PO>;
|
|
121
|
+
export declare function createSchema<T, PO extends PathsOptions = DefaultPathsOptions>(): {
|
|
122
|
+
txtField: <P extends Path<T, PO>>(id?: P, label?: string, options?: TextInputOptions<T, P>) => InputBagelField<T, P, PO>;
|
|
123
|
+
selectField: <P extends Path<T, PO>>(id?: P, label?: string, options?: any, fieldOptions?: SlctInputOptions<T, P>) => SelectBagelField<T, P, PO>;
|
|
124
|
+
dateField: <P extends Path<T, PO>>(id?: P, label?: string, options?: DateOptions<T, P>) => BaseBagelField<T, P, PO>;
|
|
125
|
+
telField: <P extends Path<T, PO>>(id?: P, label?: string, options?: TelInputOptions<T, P>) => BaseBagelField<T, P, PO>;
|
|
126
|
+
frmRow: (...children: Array<BaseBagelField<T, any, PO>>) => {
|
|
127
|
+
$el: string;
|
|
128
|
+
class: string;
|
|
129
|
+
children: BaseBagelField<T, any, PO>[];
|
|
130
|
+
};
|
|
131
|
+
numField: <P extends Path<T, PO>>(id?: P, label?: string, options?: NumFieldOptions<T, P>) => BaseBagelField<T, P, PO>;
|
|
132
|
+
checkField: <P extends Path<T, PO>>(id?: P, label?: string, options?: CheckInputOptions<T, P>) => BaseBagelField<T, P, PO>;
|
|
133
|
+
emailField: <P extends Path<T, PO>>(id?: P, label?: string, options?: EmailInputOptions<T, P>) => BaseBagelField<T, P, PO>;
|
|
134
|
+
uploadField: <P extends Path<T, PO>>(id?: P, label?: string, options?: UploadOptions<T, P>) => BaseBagelField<T, P, PO>;
|
|
135
|
+
rangeField: <P extends Path<T, PO>>(id?: P, label?: string, options?: RangeOptions<T, P>) => BaseBagelField<T, P, PO>;
|
|
136
|
+
colorField: <P extends Path<T, PO>>(id?: P, label?: string, options?: {
|
|
137
|
+
[key: string]: any;
|
|
138
|
+
}) => BaseBagelField<T, P, PO>;
|
|
139
|
+
};
|
|
119
140
|
export declare function useForm(): {
|
|
120
141
|
txtField: typeof txtField;
|
|
121
142
|
selectField: typeof selectField;
|
|
@@ -133,6 +154,7 @@ export declare function useForm(): {
|
|
|
133
154
|
richText: typeof richText;
|
|
134
155
|
findBglFieldById: typeof findBglFieldById;
|
|
135
156
|
getBaseField: typeof getBaseField;
|
|
157
|
+
createSchema: typeof createSchema;
|
|
136
158
|
};
|
|
137
159
|
export {};
|
|
138
160
|
//# sourceMappingURL=BagelFormUtils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BagelFormUtils.d.ts","sourceRoot":"","sources":["../../src/utils/BagelFormUtils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAG/E,OAAO,KAAK,EACX,IAAI,EACJ,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,UAAU,EACV,cAAc,EACd,QAAQ,EACR,
|
|
1
|
+
{"version":3,"file":"BagelFormUtils.d.ts","sourceRoot":"","sources":["../../src/utils/BagelFormUtils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -87,9 +87,9 @@ function handleChange() {
|
|
|
87
87
|
<div :class="containerClasses">
|
|
88
88
|
<label
|
|
89
89
|
v-for="(opt, index) in visibleOptions" :key="opt.id || `${name}-${index}`"
|
|
90
|
-
class="border rounded flex
|
|
90
|
+
class="border rounded flex active-list-item hover"
|
|
91
91
|
:for="opt.id || `${name}-${index}`"
|
|
92
|
-
:class="{ 'p-05 gap-025': thin, 'py-1 gap-075': !thin, 'bg-gray-light': !flat, 'align-items-start': align === 'start' || align === 'top', 'align-items-center': align === 'center', 'align-items-end': align === 'end' || align === 'bottom', invertedActive }"
|
|
92
|
+
:class="{ 'p-05 gap-025': thin, 'ps-05 py-1 gap-075': !thin, 'bg-gray-light': !flat, 'align-items-start': align === 'start' || align === 'top', 'align-items-center': align === 'center', 'align-items-end': align === 'end' || align === 'bottom', invertedActive }"
|
|
93
93
|
>
|
|
94
94
|
<input
|
|
95
95
|
:id="opt.id || `${name}-${index}`" v-model="selectedOption" :disabled class="radio-input-list"
|
|
@@ -106,8 +106,8 @@ function handleChange() {
|
|
|
106
106
|
:alt="opt.imgAlt"
|
|
107
107
|
>
|
|
108
108
|
<div class="">
|
|
109
|
-
<p v-if="opt.label" class="m-0 m_txt-14 line-height-14
|
|
110
|
-
<p v-if="opt.subLabel" class="txt-gray txt-12 m-0">{{ opt.subLabel }}</p>
|
|
109
|
+
<p v-if="opt.label" class="m-0 m_txt-14 line-height-14">{{ opt.label }}</p>
|
|
110
|
+
<p v-if="opt.subLabel" class="txt-gray txt-12 m-0 pt-025">{{ opt.subLabel }}</p>
|
|
111
111
|
</div>
|
|
112
112
|
<slot name="radioItem" v-bind="opt" />
|
|
113
113
|
</div>
|
|
@@ -17,6 +17,7 @@ export const tableTools: ToolbarConfig = [
|
|
|
17
17
|
]
|
|
18
18
|
|
|
19
19
|
export const basicToolbarConfig: ToolbarConfig = [
|
|
20
|
+
'h1',
|
|
20
21
|
'h2',
|
|
21
22
|
'h3',
|
|
22
23
|
'h4',
|
|
@@ -41,6 +42,7 @@ export const basicToolbarConfig: ToolbarConfig = [
|
|
|
41
42
|
]
|
|
42
43
|
|
|
43
44
|
export const fullToolbarConfig: ToolbarConfig = [
|
|
45
|
+
'h1',
|
|
44
46
|
'h2',
|
|
45
47
|
'h3',
|
|
46
48
|
'h4',
|
|
@@ -76,6 +78,7 @@ export const fullToolbarConfig: ToolbarConfig = [
|
|
|
76
78
|
]
|
|
77
79
|
|
|
78
80
|
export const toolbarOptions: ToolbarOption[] = [
|
|
81
|
+
{ name: 'h1', label: 'h1', icon: 'format_h1' },
|
|
79
82
|
{ name: 'h2', label: 'h2', icon: 'format_h2' },
|
|
80
83
|
{ name: 'h3', label: 'h3', icon: 'format_h3' },
|
|
81
84
|
{ name: 'h4', label: 'h4', icon: 'format_h4' },
|
|
@@ -19,7 +19,8 @@ import {
|
|
|
19
19
|
TelInput,
|
|
20
20
|
ColorInput,
|
|
21
21
|
RangeInput,
|
|
22
|
-
EmailInput
|
|
22
|
+
EmailInput,
|
|
23
|
+
getNestedValue
|
|
23
24
|
} from '@bagelink/vue'
|
|
24
25
|
import { h, isVNode } from 'vue'
|
|
25
26
|
|
|
@@ -93,7 +94,9 @@ export function useSchemaField<T extends { [key: string]: any }>(optns: UseSchem
|
|
|
93
94
|
field.attrs = { ...field.attrs, multiline: true }
|
|
94
95
|
}
|
|
95
96
|
|
|
96
|
-
return typeof field.$el === 'object'
|
|
97
|
+
return typeof field.$el === 'object'
|
|
98
|
+
? field.$el
|
|
99
|
+
: (componentMap[field.$el as keyof typeof componentMap] ?? field.$el ?? 'div')
|
|
97
100
|
}
|
|
98
101
|
|
|
99
102
|
function renderChild(child: SchemaChild<T, Path<T>>, slots?: BaseBagelField<T, Path<T>>['slots']) {
|
|
@@ -122,7 +125,7 @@ export function useSchemaField<T extends { [key: string]: any }>(optns: UseSchem
|
|
|
122
125
|
const vIfCurrentValue = field.id
|
|
123
126
|
? ('get' in (rowData || {})
|
|
124
127
|
? (rowData as any)?.get(field.id)
|
|
125
|
-
: (rowData
|
|
128
|
+
: getNestedValue(rowData, field.id as string))
|
|
126
129
|
: undefined
|
|
127
130
|
|
|
128
131
|
const vIfResult = field.id
|
|
@@ -132,7 +135,7 @@ export function useSchemaField<T extends { [key: string]: any }>(optns: UseSchem
|
|
|
132
135
|
return
|
|
133
136
|
}
|
|
134
137
|
} else if (typeof condition === 'string') {
|
|
135
|
-
if (!(rowData
|
|
138
|
+
if (!getNestedValue(rowData, condition)) {
|
|
136
139
|
return
|
|
137
140
|
}
|
|
138
141
|
} else if (!condition) {
|
|
@@ -143,8 +146,6 @@ export function useSchemaField<T extends { [key: string]: any }>(optns: UseSchem
|
|
|
143
146
|
const {
|
|
144
147
|
$el: _$el,
|
|
145
148
|
children,
|
|
146
|
-
options: _options,
|
|
147
|
-
attrs: _attrs,
|
|
148
149
|
class: fieldClass,
|
|
149
150
|
id,
|
|
150
151
|
transform,
|
|
@@ -158,11 +159,11 @@ export function useSchemaField<T extends { [key: string]: any }>(optns: UseSchem
|
|
|
158
159
|
...fieldProps
|
|
159
160
|
} = field
|
|
160
161
|
|
|
161
|
-
// Use the get method if available, otherwise fall back to
|
|
162
|
+
// Use the get method if available, otherwise fall back to nested value access
|
|
162
163
|
const currentValue = field.id
|
|
163
164
|
? ('get' in (rowData || {})
|
|
164
165
|
? (rowData as any)?.get(field.id)
|
|
165
|
-
: (rowData
|
|
166
|
+
: getNestedValue(rowData, field.id as string))
|
|
166
167
|
: undefined
|
|
167
168
|
|
|
168
169
|
// Apply transform with conditional args: provide (val,row) only when id exists; otherwise provide only (row)
|
|
@@ -195,7 +196,7 @@ export function useSchemaField<T extends { [key: string]: any }>(optns: UseSchem
|
|
|
195
196
|
// Wire top-level onClick with conditional args
|
|
196
197
|
if (typeof (field as any).onClick === 'function') {
|
|
197
198
|
const original = (field as any).onClick as (val?: any, row?: T) => void
|
|
198
|
-
props.onClick = (
|
|
199
|
+
props.onClick = () => {
|
|
199
200
|
if (id) {
|
|
200
201
|
original(currentValue, rowData)
|
|
201
202
|
} else {
|
|
@@ -222,7 +223,11 @@ export function useSchemaField<T extends { [key: string]: any }>(optns: UseSchem
|
|
|
222
223
|
}
|
|
223
224
|
|
|
224
225
|
// Remove undefined props to avoid vue warnings
|
|
225
|
-
Object.keys(props).forEach(key =>
|
|
226
|
+
Object.keys(props).forEach((key) => {
|
|
227
|
+
if (props[key] === undefined) {
|
|
228
|
+
delete props[key]
|
|
229
|
+
}
|
|
230
|
+
})
|
|
226
231
|
|
|
227
232
|
// Add options if they exist in the field
|
|
228
233
|
if (field.options) {
|
|
@@ -272,10 +277,13 @@ export function useSchemaField<T extends { [key: string]: any }>(optns: UseSchem
|
|
|
272
277
|
if (field.attrs) {
|
|
273
278
|
const boundAttrs = bindAttrs(field.attrs, currentValue, rowData)
|
|
274
279
|
Object.entries(boundAttrs).forEach(([key, value]) => {
|
|
280
|
+
// Skip $el as it's not a DOM attribute
|
|
281
|
+
if (key === '$el') return
|
|
282
|
+
|
|
275
283
|
if (typeof value === 'function') {
|
|
276
284
|
if (key === 'onClick') {
|
|
277
285
|
const original = value as (val?: any, row?: T) => void
|
|
278
|
-
props.onClick = (
|
|
286
|
+
props.onClick = () => {
|
|
279
287
|
if (id) {
|
|
280
288
|
original(currentValue, rowData)
|
|
281
289
|
} else {
|
|
@@ -301,7 +309,7 @@ export function useSchemaField<T extends { [key: string]: any }>(optns: UseSchem
|
|
|
301
309
|
const componentSlots: Parameters<typeof h>[1] = {}
|
|
302
310
|
|
|
303
311
|
// Add default slot if there are children
|
|
304
|
-
if (children
|
|
312
|
+
if (children && children.length > 0) {
|
|
305
313
|
componentSlots.default = () => children
|
|
306
314
|
.map(child => renderChild(child, slots))
|
|
307
315
|
.filter(Boolean) // Filter out null results from vIf
|
|
@@ -309,7 +317,7 @@ export function useSchemaField<T extends { [key: string]: any }>(optns: UseSchem
|
|
|
309
317
|
|
|
310
318
|
// For slot value components, add the transformed value as default slot content
|
|
311
319
|
if (isSlotValueComponent && transformedValue !== undefined) {
|
|
312
|
-
componentSlots.default = () => transformedValue
|
|
320
|
+
componentSlots.default = () => String(transformedValue ?? '')
|
|
313
321
|
}
|
|
314
322
|
|
|
315
323
|
// Handle custom slots from the field
|
|
@@ -332,20 +340,24 @@ export function useSchemaField<T extends { [key: string]: any }>(optns: UseSchem
|
|
|
332
340
|
return renderField(schemaField as BaseBagelField<T, Path<T>>, slots)
|
|
333
341
|
})
|
|
334
342
|
}
|
|
343
|
+
return []
|
|
335
344
|
}
|
|
336
345
|
})
|
|
337
346
|
}
|
|
338
347
|
|
|
339
348
|
// Handle custom slot content from parent
|
|
340
349
|
|
|
341
|
-
const slotContent = field.id
|
|
350
|
+
const slotContent = field.id
|
|
351
|
+
? (slots?.[field.id] as VNodeFn<T, Path<T>> | undefined)?.({ row: rowData, field })
|
|
352
|
+
: undefined
|
|
342
353
|
// field.id && slots?.[field.id] && typeof slots[field.id] === 'function' && !Array.isArray(slots?.[field.id])
|
|
343
354
|
// ? (slots[field.id])({ row: rowData, field })
|
|
344
355
|
// : undefined
|
|
345
356
|
|
|
346
357
|
if (mode === 'preview') {
|
|
347
358
|
// Skip rendering if value is unset and includeUnset is false
|
|
348
|
-
if (!includeUnset && (transformedValue === undefined || transformedValue === null
|
|
359
|
+
if (!includeUnset && (transformedValue === undefined || transformedValue === null
|
|
360
|
+
|| (typeof transformedValue === 'string' && transformedValue.length === 0))) {
|
|
349
361
|
return
|
|
350
362
|
}
|
|
351
363
|
|
|
@@ -355,8 +367,10 @@ export function useSchemaField<T extends { [key: string]: any }>(optns: UseSchem
|
|
|
355
367
|
slotContent || (typeof field.$el === 'object'
|
|
356
368
|
? h(Component as any, props, componentSlots)
|
|
357
369
|
: typeof transformedValue === 'object' && transformedValue !== null
|
|
358
|
-
? h('pre', {
|
|
359
|
-
|
|
370
|
+
? h('pre', {
|
|
371
|
+
style: 'margin: 0; white-space: pre-wrap; font-family: inherit; font-size: inherit;'
|
|
372
|
+
}, renderObject(transformedValue))
|
|
373
|
+
: String(transformedValue ?? ''))
|
|
360
374
|
])
|
|
361
375
|
])
|
|
362
376
|
}
|
package/src/types/BagelForm.ts
CHANGED
|
@@ -67,20 +67,29 @@ export type OpenEndedPath<T> =
|
|
|
67
67
|
: never
|
|
68
68
|
: never
|
|
69
69
|
|
|
70
|
+
// Helper type to check if a type has ONLY index signature (no specific keys)
|
|
71
|
+
type HasOnlyIndexSignature<T> = T extends Record<string, any>
|
|
72
|
+
? string extends keyof T
|
|
73
|
+
? Record<string, never> extends Pick<T, Exclude<keyof T, string | number>>
|
|
74
|
+
? true // Only index signature, no specific keys
|
|
75
|
+
: false // Has specific keys
|
|
76
|
+
: false
|
|
77
|
+
: false
|
|
78
|
+
|
|
79
|
+
// Helper type to get paths for index signature properties
|
|
80
|
+
type IndexSignaturePaths<T> = {
|
|
81
|
+
[K in keyof T]: T[K] extends { [key: string]: any }
|
|
82
|
+
? T[K] extends { [key: string]: infer V }
|
|
83
|
+
? `${K & string}.${string}`
|
|
84
|
+
: never
|
|
85
|
+
: never
|
|
86
|
+
}[keyof T]
|
|
87
|
+
|
|
70
88
|
// Enhanced Path type that allows flexibility for nested open-ended objects
|
|
71
89
|
export type Path<T, PO extends PathsOptions = DefaultPathsOptions> =
|
|
72
90
|
FieldVal<T, _Path<T, PO>> extends Array<any>
|
|
73
91
|
? LiteralStringUnion<_Path<T, PO>>
|
|
74
|
-
: _Path<T, PO> |
|
|
75
|
-
// Allow nested paths for properties that have index signatures
|
|
76
|
-
keyof T extends infer K ?
|
|
77
|
-
K extends keyof T ?
|
|
78
|
-
T[K] extends { [key: string]: any } ?
|
|
79
|
-
`${K & string}.${string}`
|
|
80
|
-
: never
|
|
81
|
-
: never
|
|
82
|
-
: never
|
|
83
|
-
)
|
|
92
|
+
: _Path<T, PO> | IndexSignaturePaths<T> | `${keyof T & string}.more_info.${string}`
|
|
84
93
|
|
|
85
94
|
// Smart field value type that preserves type information when possible
|
|
86
95
|
export type SmartFieldVal<T, P extends Path<T>> =
|
|
@@ -164,18 +173,23 @@ export interface ElementField<
|
|
|
164
173
|
children?: ElementField<T, PO>[]
|
|
165
174
|
}
|
|
166
175
|
|
|
176
|
+
// Helper type to extract all possible BaseBagelField types for valid paths
|
|
177
|
+
type ValidBaseBagelField<T, PO extends PathsOptions = DefaultPathsOptions> = {
|
|
178
|
+
[P in Path<T, PO>]: BaseBagelField<T, P, PO>
|
|
179
|
+
}[Path<T, PO>]
|
|
180
|
+
|
|
167
181
|
export type SchemaChild<
|
|
168
182
|
T,
|
|
169
183
|
P extends Path<T, PO>,
|
|
170
184
|
PO extends PathsOptions = DefaultPathsOptions,
|
|
171
|
-
> = Field<T, PO> | ElementField<T, PO> | VNode | VNodeFn<T, P> | string |
|
|
185
|
+
> = Field<T, PO> | ElementField<T, PO> | VNode | VNodeFn<T, P> | string | ValidBaseBagelField<T, PO>
|
|
172
186
|
|
|
173
187
|
export interface BaseBagelField<
|
|
174
188
|
T,
|
|
175
189
|
P extends Path<T, PO>,
|
|
176
190
|
PO extends PathsOptions = DefaultPathsOptions,
|
|
177
191
|
> {
|
|
178
|
-
'$el'?: any
|
|
192
|
+
'$el'?: string | any
|
|
179
193
|
'id'?: P
|
|
180
194
|
'label'?: string
|
|
181
195
|
'placeholder'?: string
|
|
@@ -12,11 +12,15 @@ import type {
|
|
|
12
12
|
Attributes,
|
|
13
13
|
BglFormSchemaT,
|
|
14
14
|
FieldByP,
|
|
15
|
-
SchemaChild,
|
|
16
15
|
ShallowBglFormSchemaT,
|
|
17
16
|
UploadInputProps
|
|
18
17
|
} from '../types/BagelForm'
|
|
19
18
|
|
|
19
|
+
// Import ValidBaseBagelField from the types file
|
|
20
|
+
type ValidBaseBagelField<T, PO extends import('type-fest/source/paths').PathsOptions = import('type-fest/source/paths').DefaultPathsOptions> = {
|
|
21
|
+
[P in Path<T, PO>]: BaseBagelField<T, P, PO>
|
|
22
|
+
}[Path<T, PO>]
|
|
23
|
+
|
|
20
24
|
// Local type definitions for internal use only
|
|
21
25
|
interface IconType { name: string }
|
|
22
26
|
interface AutoFillField { name: string }
|
|
@@ -70,6 +74,11 @@ export interface RichTextOptions<T, P extends Path<T>> extends InputOptions<T, P
|
|
|
70
74
|
height?: number | string
|
|
71
75
|
}
|
|
72
76
|
|
|
77
|
+
export interface TelInputOptions<T, P extends Path<T>> extends InputOptions<T, P> {
|
|
78
|
+
pattern?: string
|
|
79
|
+
autocomplete?: AutoFillField
|
|
80
|
+
}
|
|
81
|
+
|
|
73
82
|
export function getBaseField<T, P extends Path<T, PO>, PO extends PathsOptions = DefaultPathsOptions>(
|
|
74
83
|
id?: P,
|
|
75
84
|
labelOrRest: string | Partial<BaseBagelField<T, P>> = {},
|
|
@@ -308,8 +317,8 @@ export function frmRow<
|
|
|
308
317
|
T,
|
|
309
318
|
PO extends PathsOptions = DefaultPathsOptions,
|
|
310
319
|
>(
|
|
311
|
-
...children:
|
|
312
|
-
): { $el: string, class: string, children:
|
|
320
|
+
...children: Array<BaseBagelField<T, any, PO>>
|
|
321
|
+
): { $el: string, class: string, children: Array<BaseBagelField<T, any, PO>> } {
|
|
313
322
|
return {
|
|
314
323
|
$el: 'div',
|
|
315
324
|
class: 'flex gap-1 m_block align-items-end',
|
|
@@ -406,16 +415,25 @@ export function telField<
|
|
|
406
415
|
>(
|
|
407
416
|
id?: P,
|
|
408
417
|
label?: string,
|
|
409
|
-
options?:
|
|
418
|
+
options?: TelInputOptions<T, P>
|
|
410
419
|
): BaseBagelField<T, P, PO> {
|
|
411
420
|
return {
|
|
412
421
|
$el: 'tel',
|
|
413
422
|
id,
|
|
414
423
|
label,
|
|
415
|
-
vIf: options?.vIf,
|
|
416
|
-
attrs: options,
|
|
417
424
|
class: options?.class,
|
|
425
|
+
required: options?.required,
|
|
426
|
+
placeholder: options?.placeholder,
|
|
427
|
+
helptext: options?.helptext,
|
|
428
|
+
disabled: options?.disabled,
|
|
429
|
+
defaultValue: options?.defaultValue,
|
|
430
|
+
vIf: options?.vIf,
|
|
418
431
|
transform: options?.transform,
|
|
432
|
+
attrs: {
|
|
433
|
+
...options?.attrs,
|
|
434
|
+
pattern: options?.pattern,
|
|
435
|
+
autocomplete: options?.autocomplete,
|
|
436
|
+
},
|
|
419
437
|
}
|
|
420
438
|
}
|
|
421
439
|
|
|
@@ -517,6 +535,77 @@ export function arrField<
|
|
|
517
535
|
// })
|
|
518
536
|
// }
|
|
519
537
|
|
|
538
|
+
// Schema builder function that provides type context
|
|
539
|
+
export function createSchema<T, PO extends PathsOptions = DefaultPathsOptions>() {
|
|
540
|
+
return {
|
|
541
|
+
txtField: <P extends Path<T, PO>>(
|
|
542
|
+
id?: P,
|
|
543
|
+
label?: string,
|
|
544
|
+
options?: TextInputOptions<T, P>
|
|
545
|
+
) => txtField<T, P, PO>(id, label, options),
|
|
546
|
+
|
|
547
|
+
selectField: <P extends Path<T, PO>>(
|
|
548
|
+
id?: P,
|
|
549
|
+
label?: string,
|
|
550
|
+
options?: any,
|
|
551
|
+
fieldOptions?: SlctInputOptions<T, P>
|
|
552
|
+
) => selectField<T, P, PO>(id, label, options, fieldOptions),
|
|
553
|
+
|
|
554
|
+
dateField: <P extends Path<T, PO>>(
|
|
555
|
+
id?: P,
|
|
556
|
+
label?: string,
|
|
557
|
+
options?: DateOptions<T, P>
|
|
558
|
+
) => dateField<T, P, PO>(id, label, options),
|
|
559
|
+
|
|
560
|
+
telField: <P extends Path<T, PO>>(
|
|
561
|
+
id?: P,
|
|
562
|
+
label?: string,
|
|
563
|
+
options?: TelInputOptions<T, P>
|
|
564
|
+
) => telField<T, P, PO>(id, label, options),
|
|
565
|
+
|
|
566
|
+
frmRow: (
|
|
567
|
+
...children: Array<BaseBagelField<T, any, PO>>
|
|
568
|
+
) => frmRow<T, PO>(...children),
|
|
569
|
+
|
|
570
|
+
// Add other field functions as needed
|
|
571
|
+
numField: <P extends Path<T, PO>>(
|
|
572
|
+
id?: P,
|
|
573
|
+
label?: string,
|
|
574
|
+
options?: NumFieldOptions<T, P>
|
|
575
|
+
) => numField<T, P, PO>(id, label, options),
|
|
576
|
+
|
|
577
|
+
checkField: <P extends Path<T, PO>>(
|
|
578
|
+
id?: P,
|
|
579
|
+
label?: string,
|
|
580
|
+
options?: CheckInputOptions<T, P>
|
|
581
|
+
) => checkField<T, P, PO>(id, label, options),
|
|
582
|
+
|
|
583
|
+
emailField: <P extends Path<T, PO>>(
|
|
584
|
+
id?: P,
|
|
585
|
+
label?: string,
|
|
586
|
+
options?: EmailInputOptions<T, P>
|
|
587
|
+
) => emailField<T, P, PO>(id, label, options),
|
|
588
|
+
|
|
589
|
+
uploadField: <P extends Path<T, PO>>(
|
|
590
|
+
id?: P,
|
|
591
|
+
label?: string,
|
|
592
|
+
options?: UploadOptions<T, P>
|
|
593
|
+
) => uploadField<T, P, PO>(id, label, options),
|
|
594
|
+
|
|
595
|
+
rangeField: <P extends Path<T, PO>>(
|
|
596
|
+
id?: P,
|
|
597
|
+
label?: string,
|
|
598
|
+
options?: RangeOptions<T, P>
|
|
599
|
+
) => rangeField<T, P, PO>(id, label, options),
|
|
600
|
+
|
|
601
|
+
colorField: <P extends Path<T, PO>>(
|
|
602
|
+
id?: P,
|
|
603
|
+
label?: string,
|
|
604
|
+
options?: { [key: string]: any }
|
|
605
|
+
) => colorField<T, P, PO>(id, label, options),
|
|
606
|
+
}
|
|
607
|
+
}
|
|
608
|
+
|
|
520
609
|
export function useForm() {
|
|
521
610
|
return {
|
|
522
611
|
txtField,
|
|
@@ -534,6 +623,7 @@ export function useForm() {
|
|
|
534
623
|
arrField,
|
|
535
624
|
richText,
|
|
536
625
|
findBglFieldById,
|
|
537
|
-
getBaseField
|
|
626
|
+
getBaseField,
|
|
627
|
+
createSchema
|
|
538
628
|
}
|
|
539
629
|
}
|