@bagelink/vue 1.3.1 → 1.3.5

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.
@@ -1,9 +1,10 @@
1
1
  import { SelectInput, TextInput } from '..';
2
- import { Paths, Get, IterableElement, LiteralUnion, OmitIndexSignature } from 'type-fest';
2
+ import { Paths, Get, IterableElement, OmitIndexSignature } from 'type-fest';
3
+ import { ToString } from 'type-fest/source/internal';
4
+ import { LiteralStringUnion } from 'type-fest/source/literal-union';
5
+ import { PathsOptions, DefaultPathsOptions } from 'type-fest/source/paths';
3
6
  import { VNode } from 'vue';
4
7
  import { ComponentExposed } from 'vue-component-type-helpers';
5
- export type ToString<T> = T extends string | number ? `${T}` : never;
6
- export type LiteralStringUnion<T> = LiteralUnion<T, string>;
7
8
  export type AttributeValue = string | number | boolean | undefined | {
8
9
  [key: string]: any;
9
10
  };
@@ -11,28 +12,29 @@ export type AttributeFn<T, P extends Path<T>> = (field: FieldVal<T, P>, row?: T)
11
12
  export interface Attributes<T, P extends Path<T>> {
12
13
  [key: string]: AttributeValue | AttributeFn<T, P>;
13
14
  }
14
- export type BagelFieldOptions<T, P extends Path<T>> = (string | ({
15
+ export type BagelFieldOptions<T, P extends Path<T>> = string | ({
15
16
  label?: string;
16
17
  value: string | number;
17
18
  } | string | number | boolean | {
18
19
  [key: string]: any;
19
- })[] | ((val?: FieldVal<T, P>, rowData?: T) => void));
20
- export type VIfType<T, P extends Path<T>> = (string | boolean | ((val?: FieldVal<T, P>, rowData?: T) => boolean));
20
+ })[] | ((val?: FieldVal<T, P>, rowData?: T) => void);
21
+ export type VIfType<T, P extends Path<T>> = string | boolean | ((val?: FieldVal<T, P>, rowData?: T) => boolean);
21
22
  export type ValidationFn<T, P extends Path<T>> = (val?: FieldVal<T, P>, rowData?: T) => string | undefined;
22
- export type _Path<T> = (ToString<Paths<OmitIndexSignature<T>, {
23
- bracketNotation: false;
24
- }>>);
25
- export type Path<T> = (FieldVal<T, _Path<T>> extends Array<any> ? LiteralStringUnion<_Path<T>> : _Path<T>);
23
+ export interface ShallowPathsOptions extends PathsOptions {
24
+ maxRecursionDepth: 1;
25
+ }
26
+ export type _Path<T, PO extends PathsOptions = DefaultPathsOptions> = ToString<Paths<OmitIndexSignature<T>, PO>>;
27
+ export type Path<T, PO extends PathsOptions = DefaultPathsOptions> = FieldVal<T, _Path<T, PO>> extends Array<any> ? LiteralStringUnion<_Path<T, PO>> : _Path<T, PO>;
26
28
  /** The value type at path P in object T. */
27
- export type FieldVal<T, P extends Path<T>> = (unknown extends Get<T, P> ? unknown : Get<T, P>);
29
+ export type FieldVal<T, P extends Path<T>> = unknown extends Get<T, P> ? unknown : Get<T, P>;
28
30
  /** If path P in T is an array, this gives the array's element type. */
29
31
  export type ArrayFieldVal<T, P extends Path<T>> = IterableElement<Get<T, P>>;
30
32
  export type VNodeFn<T, P extends Path<T>> = (props: {
31
33
  row?: T;
32
34
  field: BaseBagelField<T, P>;
33
35
  }) => VNode;
34
- export type SchemaChild<T, P extends Path<T>> = Field<T> | VNode | VNodeFn<T, P> | string;
35
- export interface BaseBagelField<T, P extends Path<T>> {
36
+ export type SchemaChild<T, P extends Path<T>, PO extends PathsOptions = DefaultPathsOptions> = Field<T, PO> | VNode | VNodeFn<T, P> | string;
37
+ export interface BaseBagelField<T, P extends Path<T>, PO extends PathsOptions = DefaultPathsOptions> {
36
38
  '$el'?: any;
37
39
  'id'?: P;
38
40
  'label'?: string;
@@ -43,9 +45,9 @@ export interface BaseBagelField<T, P extends Path<T>> {
43
45
  'disabled'?: boolean;
44
46
  'helptext'?: string;
45
47
  'options'?: BagelFieldOptions<T, P>;
46
- 'children'?: SchemaChild<T, P>[];
48
+ 'children'?: SchemaChild<T, P, PO>[];
47
49
  'slots'?: {
48
- [key: string]: SchemaChild<T, P>[];
50
+ [key: string]: SchemaChild<T, P, PO>[];
49
51
  };
50
52
  'defaultValue'?: any;
51
53
  'vIf'?: VIfType<T, P>;
@@ -54,14 +56,15 @@ export interface BaseBagelField<T, P extends Path<T>> {
54
56
  'onUpdate'?: (val?: FieldVal<T, P>, rowData?: T) => unknown;
55
57
  'validate'?: ValidationFn<T, P>;
56
58
  }
57
- export type _MappedBaseBagelField<T> = {
58
- [P in Path<T>]: BaseBagelField<T, P>;
59
+ export type _MappedBaseBagelField<T, PO extends PathsOptions = DefaultPathsOptions> = {
60
+ [P in Path<T, PO>]: BaseBagelField<T, P, PO>;
59
61
  };
60
- export type MappedBaseBagelFieldP<T, P extends Path<T>> = _MappedBaseBagelField<T>[P];
61
- export type FieldByP<T, P extends Path<T>> = MappedBaseBagelFieldP<T, P>;
62
- export type Field<T> = MappedBaseBagelFieldP<T, Path<T>>;
63
- export type BglFieldT<T> = Field<T>;
64
- export type BglFormSchemaT<T> = Field<T>[];
62
+ export type MappedBaseBagelFieldP<T, P extends Path<T>, PO extends PathsOptions = DefaultPathsOptions> = _MappedBaseBagelField<T, PO>[P];
63
+ export type FieldByP<T, P extends Path<T>, PO extends PathsOptions = DefaultPathsOptions> = MappedBaseBagelFieldP<T, P, PO>;
64
+ export type Field<T, PO extends PathsOptions = DefaultPathsOptions> = MappedBaseBagelFieldP<T, Path<T, PO>, PO>;
65
+ export type BglFieldT<T, PO extends PathsOptions = DefaultPathsOptions> = Field<T, PO>;
66
+ export type BglFormSchemaT<T, PO extends PathsOptions = DefaultPathsOptions> = Field<T, PO>[];
67
+ export type ShallowBglFormSchemaT<T, PO extends PathsOptions = ShallowPathsOptions> = Field<T, PO>[];
65
68
  export interface InputBagelField<T, P extends Path<T>> extends BaseBagelField<T, P> {
66
69
  $el: 'text' | ComponentExposed<typeof TextInput>;
67
70
  type?: 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":"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"}
@@ -1,4 +1,5 @@
1
- import { ArrayFieldVal, BaseBagelField, BglFormSchemaT, FieldByP, IconType, InputBagelField, Option, Path, SchemaChild, SelectBagelField, UploadInputProps } from '..';
1
+ import { ArrayFieldVal, BaseBagelField, BglFormSchemaT, FieldByP, IconType, InputBagelField, Option, Path, SchemaChild, SelectBagelField, ShallowBglFormSchemaT, UploadInputProps } from '..';
2
+ import { DefaultPathsOptions, PathsOptions } from 'type-fest/source/paths';
2
3
  interface InputOptions<T, P extends Path<T>> extends Partial<BaseBagelField<T, P>> {
3
4
  defaultValue?: string | number;
4
5
  autocomplete?: AutoFillField;
@@ -36,27 +37,27 @@ interface NumFieldOptions<T, K extends Path<T>> extends InputOptions<T, K> {
36
37
  }
37
38
  type RichTextOptions<T, P extends Path<T>> = InputOptions<T, P>;
38
39
  export declare function getBaseField<T, P extends Path<T>>(id?: P, labelOrRest?: string | Partial<BaseBagelField<T, P>>, rest?: Partial<BaseBagelField<T, P>>): BaseBagelField<T, P>;
39
- export declare function richText<T, P extends Path<T>>(id: P, label?: string, options?: RichTextOptions<T, P>): BaseBagelField<T, P>;
40
- export declare function txtField<T, P extends Path<T>>(id: P, label?: string, options?: TextInputOptions<T, P>): InputBagelField<T, P>;
41
- export declare function selectField<T, P extends Path<T>>(id: P, label?: string, options?: Option[] | (() => Option[]), config?: SlctInputOptions<T, P>): SelectBagelField<T, P>;
40
+ export declare function richText<T, P extends Path<T>>(id?: P, label?: string, options?: RichTextOptions<T, P>): BaseBagelField<T, P>;
41
+ export declare function txtField<T, P extends Path<T>>(id?: P, label?: string, options?: TextInputOptions<T, P>): InputBagelField<T, P>;
42
+ export declare function selectField<T, P extends Path<T>>(id?: P, label?: string, options?: Option[] | (() => Option[]), config?: SlctInputOptions<T, P>): SelectBagelField<T, P>;
42
43
  export declare const slctField: typeof selectField;
43
44
  interface CheckInputOptions<T, K extends Path<T>> extends InputOptions<T, K> {
44
45
  value?: string;
45
46
  }
46
- export declare function checkField<T, P extends Path<T>>(id: P, label?: string, options?: CheckInputOptions<T, P>): BaseBagelField<T, P>;
47
+ export declare function checkField<T, P extends Path<T>>(id?: P, label?: string, options?: CheckInputOptions<T, P>): BaseBagelField<T, P>;
47
48
  interface EmailInputOptions<T, P extends Path<T>> extends InputOptions<T, P> {
48
49
  autocorrect?: boolean;
49
50
  serverValidate?: boolean;
50
51
  preventFakeEmails?: boolean;
51
52
  pattern?: string;
52
53
  }
53
- export declare function emailField<T, P extends Path<T>>(id: P, label?: string, options?: EmailInputOptions<T, P>): BaseBagelField<T, P>;
54
- export declare function dateField<T, P extends Path<T>>(id: P, label?: string, options?: DateOptions<T, P>): BaseBagelField<T, P>;
55
- export declare function numField<T, P extends Path<T>>(id: P, label?: string, options?: NumFieldOptions<T, P>): BaseBagelField<T, P>;
56
- export declare function frmRow<T, P extends Path<T>>(...children: SchemaChild<T, P>[]): FieldByP<T, P>;
54
+ export declare function emailField<T, P extends Path<T>>(id?: P, label?: string, options?: EmailInputOptions<T, P>): BaseBagelField<T, P>;
55
+ export declare function dateField<T, P extends Path<T>>(id?: P, label?: string, options?: DateOptions<T, P>): BaseBagelField<T, P>;
56
+ export declare function numField<T, P extends Path<T>>(id?: P, label?: string, options?: NumFieldOptions<T, P>): BaseBagelField<T, P>;
57
+ export declare function frmRow<T, P extends Path<T>, PO extends PathsOptions = DefaultPathsOptions>(...children: SchemaChild<T, P, PO>[]): FieldByP<T, P, PO>;
57
58
  export interface UploadOptions<T, K extends Path<T>> extends Omit<UploadInputProps, 'id'>, InputOptions<T, K> {
58
59
  }
59
- export declare function uploadField<T, P extends Path<T>>(id: P, label?: string, options?: UploadOptions<T, P>): BaseBagelField<T, P>;
60
+ export declare function uploadField<T, P extends Path<T>>(id?: P, label?: string, options?: UploadOptions<T, P>): BaseBagelField<T, P>;
60
61
  interface RangeOptions<T, K extends Path<T>> extends InputOptions<T, K> {
61
62
  min?: number;
62
63
  max?: number;
@@ -65,7 +66,7 @@ interface RangeOptions<T, K extends Path<T>> extends InputOptions<T, K> {
65
66
  multiRange?: boolean;
66
67
  formatValue?: (value: number) => string;
67
68
  }
68
- export declare function rangeField<T, P extends Path<T>>(id: P, label?: string, options?: RangeOptions<T, P>): BaseBagelField<T, P>;
69
+ export declare function rangeField<T, P extends Path<T>>(id?: P, label?: string, options?: RangeOptions<T, P>): BaseBagelField<T, P>;
69
70
  export declare function bglForm<T>(idOrField?: string | FieldByP<T, Path<T>>, ...schema: FieldByP<T, Path<T>>[]): {
70
71
  $el: string;
71
72
  id: string;
@@ -79,13 +80,13 @@ export declare function bglForm<T>(idOrField?: string | FieldByP<T, Path<T>>, ..
79
80
  };
80
81
  id?: undefined;
81
82
  };
82
- export declare function telField<T, P extends Path<T>>(id: P, label?: string, options?: {
83
+ export declare function telField<T, P extends Path<T>>(id?: P, label?: string, options?: {
83
84
  [key: string]: any;
84
85
  }): BaseBagelField<T, P>;
85
- export declare function colorField<T, P extends Path<T>>(id: P, label?: string, options?: {
86
+ export declare function colorField<T, P extends Path<T>>(id?: P, label?: string, options?: {
86
87
  [key: string]: any;
87
88
  }): BaseBagelField<T, P>;
88
- export declare function findBglFieldById<T>(id: string, _schema: BglFormSchemaT<T>): FieldByP<T, Path<T>> | undefined;
89
+ export declare function findBglFieldById<T>(id: string, _schema: ShallowBglFormSchemaT<T>): FieldByP<T, Path<T>> | undefined;
89
90
  export interface ArrayFieldOptions<T, K extends Path<T>> extends InputOptions<T, K> {
90
91
  delete?: boolean;
91
92
  add?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"BagelFormUtils.d.ts","sourceRoot":"","sources":["../../src/utils/BagelFormUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BagelFormUtils.d.ts","sourceRoot":"","sources":["../../src/utils/BagelFormUtils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@bagelink/vue",
3
3
  "type": "module",
4
- "version": "1.3.1",
4
+ "version": "1.3.5",
5
5
  "description": "Bagel core sdk packages",
6
6
  "author": {
7
7
  "name": "Neveh Allon",
@@ -1,12 +1,17 @@
1
1
  import type { SelectInput, TextInput } from '@bagelink/vue'
2
- import type { Paths, Get, IterableElement, LiteralUnion, OmitIndexSignature } from 'type-fest'
2
+ import type { Paths, Get, IterableElement, OmitIndexSignature } from 'type-fest'
3
+ import type { ToString } from 'type-fest/source/internal'
4
+ import type { LiteralStringUnion } from 'type-fest/source/literal-union'
5
+ import type { PathsOptions, DefaultPathsOptions } from 'type-fest/source/paths'
3
6
  import type { VNode } from 'vue'
4
7
  import type { ComponentExposed } from 'vue-component-type-helpers'
5
8
 
6
- export type ToString<T> = T extends string | number ? `${T}` : never
7
- export type LiteralStringUnion<T> = LiteralUnion<T, string>
8
-
9
- export type AttributeValue = string | number | boolean | undefined | { [key: string]: any }
9
+ export type AttributeValue =
10
+ | string
11
+ | number
12
+ | boolean
13
+ | undefined
14
+ | { [key: string]: any }
10
15
 
11
16
  export type AttributeFn<T, P extends Path<T>> = (
12
17
  field: FieldVal<T, P>,
@@ -17,10 +22,10 @@ export interface Attributes<T, P extends Path<T>> {
17
22
  [key: string]: AttributeValue | AttributeFn<T, P>
18
23
  }
19
24
 
20
- export type BagelFieldOptions<T, P extends Path<T>> = (
21
- string
25
+ export type BagelFieldOptions<T, P extends Path<T>> =
26
+ | string
22
27
  | (
23
- {
28
+ | {
24
29
  label?: string
25
30
  value: string | number
26
31
  }
@@ -30,52 +35,55 @@ export type BagelFieldOptions<T, P extends Path<T>> = (
30
35
  | { [key: string]: any }
31
36
  )[]
32
37
  | ((val?: FieldVal<T, P>, rowData?: T) => void)
33
- )
34
38
 
35
- export type VIfType<T, P extends Path<T>> = (
36
- string |
37
- boolean |
38
- ((val?: FieldVal<T, P>, rowData?: T) => boolean)
39
- )
39
+ export type VIfType<T, P extends Path<T>> =
40
+ | string
41
+ | boolean
42
+ | ((val?: FieldVal<T, P>, rowData?: T) => boolean)
40
43
 
41
44
  export type ValidationFn<T, P extends Path<T>> = (
42
45
  val?: FieldVal<T, P>,
43
- rowData?: T,
46
+ rowData?: T
44
47
  ) => string | undefined
45
48
 
46
- export type _Path<T> = (
47
- ToString<
48
- Paths<
49
- OmitIndexSignature<T>,
50
- {
51
- bracketNotation: false
52
- }
53
- >
54
- >
55
- )
56
-
57
- export type Path<T> = (
58
- FieldVal<T, _Path<T>> extends Array<any> ?
59
- LiteralStringUnion<_Path<T>> :
60
- _Path<T>
61
- )
49
+ export interface ShallowPathsOptions extends PathsOptions {
50
+ maxRecursionDepth: 1
51
+ }
52
+
53
+ export type _Path<
54
+ T,
55
+ PO extends PathsOptions = DefaultPathsOptions,
56
+ > = ToString<Paths<OmitIndexSignature<T>, PO>>
57
+
58
+ export type Path<T, PO extends PathsOptions = DefaultPathsOptions> =
59
+ FieldVal<T, _Path<T, PO>> extends Array<any>
60
+ ? LiteralStringUnion<_Path<T, PO>>
61
+ : _Path<T, PO>
62
62
 
63
63
  /** The value type at path P in object T. */
64
64
  // Fall back to unknown if type resolution fails
65
- export type FieldVal<T, P extends Path<T>> = (
66
- unknown extends Get<T, P> ?
67
- unknown :
68
- Get<T, P>
69
- )
65
+ export type FieldVal<T, P extends Path<T>> =
66
+ unknown extends Get<T, P> ? unknown : Get<T, P>
70
67
 
71
68
  /** If path P in T is an array, this gives the array's element type. */
72
69
  export type ArrayFieldVal<T, P extends Path<T>> = IterableElement<Get<T, P>>
73
70
 
74
- export type VNodeFn<T, P extends Path<T>> = (props: { row?: T, field: BaseBagelField<T, P> }) => VNode
75
-
76
- export type SchemaChild<T, P extends Path<T>> = Field<T> | VNode | VNodeFn<T, P> | string
77
-
78
- export interface BaseBagelField<T, P extends Path<T>> {
71
+ export type VNodeFn<T, P extends Path<T>> = (props: {
72
+ row?: T
73
+ field: BaseBagelField<T, P>
74
+ }) => VNode
75
+
76
+ export type SchemaChild<
77
+ T,
78
+ P extends Path<T>,
79
+ PO extends PathsOptions = DefaultPathsOptions,
80
+ > = Field<T, PO> | VNode | VNodeFn<T, P> | string
81
+
82
+ export interface BaseBagelField<
83
+ T,
84
+ P extends Path<T>,
85
+ PO extends PathsOptions = DefaultPathsOptions,
86
+ > {
79
87
  '$el'?: any
80
88
  'id'?: P
81
89
  'label'?: string
@@ -86,8 +94,8 @@ export interface BaseBagelField<T, P extends Path<T>> {
86
94
  'disabled'?: boolean
87
95
  'helptext'?: string
88
96
  'options'?: BagelFieldOptions<T, P>
89
- 'children'?: SchemaChild<T, P>[]
90
- 'slots'?: { [key: string]: SchemaChild<T, P>[] }
97
+ 'children'?: SchemaChild<T, P, PO>[]
98
+ 'slots'?: { [key: string]: SchemaChild<T, P, PO>[] }
91
99
  'defaultValue'?: any
92
100
  'vIf'?: VIfType<T, P>
93
101
  'v-if'?: VIfType<T, P>
@@ -96,26 +104,53 @@ export interface BaseBagelField<T, P extends Path<T>> {
96
104
  'validate'?: ValidationFn<T, P>
97
105
  }
98
106
 
99
- export type _MappedBaseBagelField<T> = {
100
- [P in Path<T>]: BaseBagelField<T, P>
107
+ export type _MappedBaseBagelField<
108
+ T,
109
+ PO extends PathsOptions = DefaultPathsOptions,
110
+ > = {
111
+ [P in Path<T, PO>]: BaseBagelField<T, P, PO>
101
112
  }
102
113
 
103
- export type MappedBaseBagelFieldP<T, P extends Path<T>> = _MappedBaseBagelField<T>[P]
104
-
105
- export type FieldByP<T, P extends Path<T>> = MappedBaseBagelFieldP<T, P>
106
-
107
- export type Field<T> = MappedBaseBagelFieldP<T, Path<T>>
108
-
109
- export type BglFieldT<T> = Field<T>
110
-
111
- export type BglFormSchemaT<T> = Field<T>[]
112
-
113
- export interface InputBagelField<T, P extends Path<T>> extends BaseBagelField<T, P> {
114
+ export type MappedBaseBagelFieldP<
115
+ T,
116
+ P extends Path<T>,
117
+ PO extends PathsOptions = DefaultPathsOptions,
118
+ > = _MappedBaseBagelField<T, PO>[P]
119
+
120
+ export type FieldByP<
121
+ T,
122
+ P extends Path<T>,
123
+ PO extends PathsOptions = DefaultPathsOptions,
124
+ > = MappedBaseBagelFieldP<T, P, PO>
125
+
126
+ export type Field<
127
+ T,
128
+ PO extends PathsOptions = DefaultPathsOptions,
129
+ > = MappedBaseBagelFieldP<T, Path<T, PO>, PO>
130
+
131
+ export type BglFieldT<
132
+ T,
133
+ PO extends PathsOptions = DefaultPathsOptions,
134
+ > = Field<T, PO>
135
+
136
+ export type BglFormSchemaT<
137
+ T,
138
+ PO extends PathsOptions = DefaultPathsOptions,
139
+ > = Field<T, PO>[]
140
+
141
+ export type ShallowBglFormSchemaT<
142
+ T,
143
+ PO extends PathsOptions = ShallowPathsOptions,
144
+ > = Field<T, PO>[]
145
+
146
+ export interface InputBagelField<T, P extends Path<T>>
147
+ extends BaseBagelField<T, P> {
114
148
  $el: 'text' | ComponentExposed<typeof TextInput>
115
149
  type?: string
116
150
  }
117
151
 
118
- export interface SelectBagelField<T, P extends Path<T>> extends BaseBagelField<T, P> {
152
+ export interface SelectBagelField<T, P extends Path<T>>
153
+ extends BaseBagelField<T, P> {
119
154
  $el: 'select' | ComponentExposed<typeof SelectInput>
120
155
  type?: string
121
156
  }
@@ -1,4 +1,5 @@
1
- import type { ArrayFieldVal, Attributes, BaseBagelField, BglFormSchemaT, FieldByP, IconType, InputBagelField, Option, Path, SchemaChild, SelectBagelField, UploadInputProps } from '@bagelink/vue'
1
+ import type { ArrayFieldVal, Attributes, BaseBagelField, BglFormSchemaT, FieldByP, IconType, InputBagelField, Option, Path, SchemaChild, SelectBagelField, ShallowBglFormSchemaT, UploadInputProps } from '@bagelink/vue'
2
+ import type { DefaultPathsOptions, PathsOptions } from 'type-fest/source/paths'
2
3
 
3
4
  interface InputOptions<T, P extends Path<T>> extends Partial<BaseBagelField<T, P>> {
4
5
  defaultValue?: string | number
@@ -52,7 +53,7 @@ export function getBaseField<T, P extends Path<T>>(
52
53
  }
53
54
 
54
55
  export function richText<T, P extends Path<T>>(
55
- id: P,
56
+ id?: P,
56
57
  label?: string,
57
58
  options?: RichTextOptions<T, P>,
58
59
  ): BaseBagelField<T, P> {
@@ -71,7 +72,7 @@ export function richText<T, P extends Path<T>>(
71
72
  }
72
73
 
73
74
  export function txtField<T, P extends Path<T>>(
74
- id: P,
75
+ id?: P,
75
76
  label?: string,
76
77
  options?: TextInputOptions<T, P>,
77
78
  ): InputBagelField<T, P> {
@@ -102,7 +103,7 @@ export function txtField<T, P extends Path<T>>(
102
103
  }
103
104
 
104
105
  export function selectField<T, P extends Path<T>>(
105
- id: P,
106
+ id?: P,
106
107
  label?: string,
107
108
  options?: Option[] | (() => Option[]),
108
109
  config?: SlctInputOptions<T, P>,
@@ -135,7 +136,7 @@ interface CheckInputOptions<T, K extends Path<T>> extends InputOptions<T, K> {
135
136
  }
136
137
 
137
138
  export function checkField<T, P extends Path<T>>(
138
- id: P,
139
+ id?: P,
139
140
  label?: string,
140
141
  options?: CheckInputOptions<T, P>,
141
142
  ): BaseBagelField<T, P> {
@@ -158,7 +159,7 @@ interface EmailInputOptions<T, P extends Path<T>> extends InputOptions<T, P> {
158
159
  pattern?: string
159
160
  }
160
161
 
161
- export function emailField<T, P extends Path<T>>(id: P, label?: string, options?: EmailInputOptions<T, P>): BaseBagelField<T, P> {
162
+ export function emailField<T, P extends Path<T>>(id?: P, label?: string, options?: EmailInputOptions<T, P>): BaseBagelField<T, P> {
162
163
  return {
163
164
  $el: 'email',
164
165
  id,
@@ -176,7 +177,7 @@ export function emailField<T, P extends Path<T>>(id: P, label?: string, options?
176
177
  }
177
178
 
178
179
  export function dateField<T, P extends Path<T>>(
179
- id: P,
180
+ id?: P,
180
181
  label?: string,
181
182
  options?: DateOptions<T, P>,
182
183
  ): BaseBagelField<T, P> {
@@ -201,7 +202,7 @@ export function dateField<T, P extends Path<T>>(
201
202
  }
202
203
 
203
204
  export function numField<T, P extends Path<T>>(
204
- id: P,
205
+ id?: P,
205
206
  label?: string,
206
207
  options?: NumFieldOptions<T, P>,
207
208
  ): BaseBagelField<T, P> {
@@ -229,9 +230,9 @@ export function numField<T, P extends Path<T>>(
229
230
  }
230
231
  }
231
232
 
232
- export function frmRow<T, P extends Path<T>>(
233
- ...children: SchemaChild<T, P>[]
234
- ): FieldByP<T, P> {
233
+ export function frmRow<T, P extends Path<T>, PO extends PathsOptions = DefaultPathsOptions>(
234
+ ...children: SchemaChild<T, P, PO>[]
235
+ ): FieldByP<T, P, PO> {
235
236
  return {
236
237
  $el: 'div',
237
238
  class: 'flex gap-1 m_block align-items-end',
@@ -242,7 +243,7 @@ export function frmRow<T, P extends Path<T>>(
242
243
  export interface UploadOptions<T, K extends Path<T>> extends Omit<UploadInputProps, 'id'>, InputOptions<T, K> {}
243
244
 
244
245
  export function uploadField<T, P extends Path<T>>(
245
- id: P,
246
+ id?: P,
246
247
  label?: string,
247
248
  options?: UploadOptions<T, P>
248
249
  ): BaseBagelField<T, P> {
@@ -267,7 +268,7 @@ interface RangeOptions<T, K extends Path<T>> extends InputOptions<T, K> {
267
268
  }
268
269
 
269
270
  export function rangeField<T, P extends Path<T>>(
270
- id: P,
271
+ id?: P,
271
272
  label?: string,
272
273
  options?: RangeOptions <T, P>
273
274
  ): BaseBagelField<T, P> {
@@ -307,7 +308,7 @@ export function bglForm<T>(idOrField?: string | FieldByP<T, Path<T>>, ...schema:
307
308
  }
308
309
 
309
310
  export function telField<T, P extends Path<T>>(
310
- id: P,
311
+ id?: P,
311
312
  label?: string,
312
313
  options?: { [key: string]: any }
313
314
  ): BaseBagelField<T, P> {
@@ -322,7 +323,7 @@ export function telField<T, P extends Path<T>>(
322
323
  }
323
324
 
324
325
  export function colorField<T, P extends Path<T>>(
325
- id: P,
326
+ id?: P,
326
327
  label?: string,
327
328
  options?: { [key: string]: any }
328
329
  ): BaseBagelField<T, P> {
@@ -336,14 +337,14 @@ export function colorField<T, P extends Path<T>>(
336
337
  }
337
338
  }
338
339
 
339
- export function findBglFieldById<T>(id: string, _schema: BglFormSchemaT<T>): FieldByP<T, Path<T>> | undefined {
340
+ export function findBglFieldById<T>(id: string, _schema: ShallowBglFormSchemaT<T>): FieldByP<T, Path<T>> | undefined {
340
341
  for (const field of _schema) {
341
342
  if (field.id === id) return field as FieldByP<T, Path<T>> | undefined
342
343
  if (field.children && Number(field.children.length) > 0) {
343
344
  const fieldChildren = field.children.filter(
344
345
  c => typeof c === 'object' && '$el' in c
345
346
  )
346
- const child = findBglFieldById(id, fieldChildren as BglFormSchemaT<T>)
347
+ const child = findBglFieldById(id, fieldChildren as ShallowBglFormSchemaT<T>)
347
348
  if (child) return child as FieldByP<T, Path<T>> | undefined
348
349
  }
349
350
  }
@@ -400,23 +401,7 @@ export function arrField<T, P extends Path<T>>(
400
401
  // })
401
402
  // }
402
403
 
403
- export function useForm(): {
404
- txtField: typeof txtField
405
- selectField: typeof selectField
406
- checkField: typeof checkField
407
- dateField: typeof dateField
408
- numField: typeof numField
409
- frmRow: typeof frmRow
410
- uploadField: typeof uploadField
411
- rangeField: typeof rangeField
412
- bglForm: typeof bglForm
413
- telField: typeof telField
414
- colorField: typeof colorField
415
- arrField: typeof arrField
416
- richText: typeof richText
417
- findBglFieldById: typeof findBglFieldById
418
- getBaseField: typeof getBaseField
419
- } {
404
+ export function useForm() {
420
405
  return {
421
406
  txtField,
422
407
  selectField,