@k3-universe/react-kit 0.0.2 → 0.0.3

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.
@@ -6,7 +6,7 @@ export interface FormBuilderFieldConfig {
6
6
  id?: string;
7
7
  name: string;
8
8
  label: string;
9
- type: 'text' | 'email' | 'password' | 'number' | 'textarea' | 'select' | 'autocomplete' | 'checkbox' | 'radio' | 'date' | 'file' | 'object' | 'array';
9
+ type: 'text' | 'email' | 'password' | 'number' | 'textarea' | 'select' | 'autocomplete' | 'checkbox' | 'switch' | 'radio' | 'date' | 'file' | 'object' | 'array';
10
10
  placeholder?: string;
11
11
  description?: string;
12
12
  required?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"FormBuilder.d.ts","sourceRoot":"","sources":["../../../../../src/kit/builder/form/components/FormBuilder.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+B,MAAM,OAAO,CAAC;AAGpD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,kBAAkB,EAAe,MAAM,qBAAqB,CAAC;AAC9G,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAEjG,MAAM,WAAW,sBAAsB;IACrC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EACA,MAAM,GACN,OAAO,GACP,UAAU,GACV,QAAQ,GACR,UAAU,GACV,QAAQ,GACR,cAAc,GACd,UAAU,GACV,OAAO,GACP,MAAM,GACN,MAAM,GACN,QAAQ,GACR,OAAO,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;KAAE,EAAE,CAAC;IAE7D,gBAAgB,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IACvC,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,CACb,MAAM,EAAE,kBAAkB,EAC1B,QAAQ,EAAE,OAAO,KACd,KAAK,CAAC,SAAS,CAAC;IACrB,UAAU,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG;QAC5B,OAAO,CAAC,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;QAC7C,GAAG,CAAC,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;QACzC,GAAG,CAAC,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;QACzC,SAAS,CAAC,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;QAC/C,SAAS,CAAC,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;KAChD,CAAC;IACF,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,MAAM,CAAC,EAAE,sBAAsB,EAAE,CAAC;IAClC,YAAY,CAAC,EAAE;QACb,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,OAAO,CAAC;QACnC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAC;QAC5D,KAAK,CAAC,EAAE,GAAG,CAAC;KACb,EAAE,CAAC;IACJ,QAAQ,CAAC,EAAE,CACT,KAAK,EAAE,GAAG,EACV,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI,EAC7C,SAAS,EAAE,MAAM,GAAG,KACjB,IAAI,CAAC;IACV,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,GAAG,CAAC;KACZ,CAAC;IACF,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,cAAc,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAEjD,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,wBAAwB;IACvC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,sBAAsB,EAAE,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,OAAO,CAAC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,wBAAwB,EAAE,CAAC;IACrC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAC3C,QAAQ,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,aAAa,CAAC,EAAE,CACd,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,GAAG,EACV,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAC3B,IAAI,CAAC;IACV,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAEhC,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,wBAAgB,WAAW,CAAC,EAC1B,QAAQ,EACR,MAAM,EACN,aAAkB,EAClB,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,aAAa,EACb,WAAsB,EACtB,WAAsB,EACtB,UAAoB,EACpB,YAAoB,EACpB,SAAS,EACT,aAAa,EACb,gBAAgB,EAChB,WAAkB,EAClB,aAAa,EACb,oBAA2B,GAC5B,EAAE,gBAAgB,2CAuVlB"}
1
+ {"version":3,"file":"FormBuilder.d.ts","sourceRoot":"","sources":["../../../../../src/kit/builder/form/components/FormBuilder.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"FormBuilderField.d.ts","sourceRoot":"","sources":["../../../../../src/kit/builder/form/components/FormBuilderField.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAgC,MAAM,iBAAiB,CAAC;AAWxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAIvD,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,sBAAsB,CAAC;IAC9B,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAChC,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;IACnF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,gBAAgB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,EAAE,qBAAqB,kDAub9G;AAED,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"FormBuilderField.d.ts","sourceRoot":"","sources":["../../../../../src/kit/builder/form/components/FormBuilderField.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAgC,MAAM,iBAAiB,CAAC;AAYxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAIvD,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,sBAAsB,CAAC;IAC9B,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAChC,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;IACnF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,gBAAgB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,EAAE,qBAAqB,kDAye9G;AAED,eAAe,gBAAgB,CAAC"}
@@ -10,6 +10,7 @@ export declare const createField: {
10
10
  value: string | number | null;
11
11
  }[], fieldOptions?: Partial<FormBuilderFieldConfig>) => FormBuilderFieldConfig;
12
12
  checkbox: (name: string, label: string, options?: Partial<FormBuilderFieldConfig>) => FormBuilderFieldConfig;
13
+ switch: (name: string, label: string, options?: Partial<FormBuilderFieldConfig>) => FormBuilderFieldConfig;
13
14
  radio: (name: string, label: string, options: {
14
15
  label: string;
15
16
  value: string | number;
@@ -1 +1 @@
1
- {"version":3,"file":"field-factories.d.ts","sourceRoot":"","sources":["../../../../../src/kit/builder/form/utils/field-factories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAInE,eAAO,MAAM,WAAW;iBAEd,MAAM,SACL,MAAM,YACJ,OAAO,CAAC,sBAAsB,CAAC,KACvC,sBAAsB;kBASjB,MAAM,SACL,MAAM,YACJ,OAAO,CAAC,sBAAsB,CAAC,KACvC,sBAAsB;qBAUjB,MAAM,SACL,MAAM,YACJ,OAAO,CAAC,sBAAsB,CAAC,KACvC,sBAAsB;mBAUjB,MAAM,SACL,MAAM,YACJ,OAAO,CAAC,sBAAsB,CAAC,KACvC,sBAAsB;qBASjB,MAAM,SACL,MAAM,YACJ,OAAO,CAAC,sBAAsB,CAAC,KACvC,sBAAsB;mBAUjB,MAAM,SACL,MAAM,WACJ;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;KAAE,EAAE,iBAC7C,OAAO,CAAC,sBAAsB,CAAC,KAC5C,sBAAsB;qBAUjB,MAAM,SACL,MAAM,YACJ,OAAO,CAAC,sBAAsB,CAAC,KACvC,sBAAsB;kBAUjB,MAAM,SACL,MAAM,WACJ;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,EAAE,iBACtC,OAAO,CAAC,sBAAsB,CAAC,KAC5C,sBAAsB;iBAUjB,MAAM,SACL,MAAM,YACJ,OAAO,CAAC,sBAAsB,CAAC,KACvC,sBAAsB;iBASjB,MAAM,SACL,MAAM,YACJ,OAAO,CAAC,sBAAsB,CAAC,KACvC,sBAAsB;mBASjB,MAAM,SACL,MAAM,UACL,sBAAsB,EAAE,YACvB,OAAO,CAAC,sBAAsB,CAAC,KACvC,sBAAsB;kBAWjB,MAAM,SACL,MAAM,UACL,sBAAsB,EAAE,YACvB,OAAO,CAAC,sBAAsB,CAAC,KACvC,sBAAsB;CAU1B,CAAC"}
1
+ {"version":3,"file":"field-factories.d.ts","sourceRoot":"","sources":["../../../../../src/kit/builder/form/utils/field-factories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAInE,eAAO,MAAM,WAAW;iBAEd,MAAM,SACL,MAAM,YACJ,OAAO,CAAC,sBAAsB,CAAC,KACvC,sBAAsB;kBASjB,MAAM,SACL,MAAM,YACJ,OAAO,CAAC,sBAAsB,CAAC,KACvC,sBAAsB;qBAUjB,MAAM,SACL,MAAM,YACJ,OAAO,CAAC,sBAAsB,CAAC,KACvC,sBAAsB;mBAUjB,MAAM,SACL,MAAM,YACJ,OAAO,CAAC,sBAAsB,CAAC,KACvC,sBAAsB;qBASjB,MAAM,SACL,MAAM,YACJ,OAAO,CAAC,sBAAsB,CAAC,KACvC,sBAAsB;mBAUjB,MAAM,SACL,MAAM,WACJ;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;KAAE,EAAE,iBAC7C,OAAO,CAAC,sBAAsB,CAAC,KAC5C,sBAAsB;qBAUjB,MAAM,SACL,MAAM,YACJ,OAAO,CAAC,sBAAsB,CAAC,KACvC,sBAAsB;mBAUjB,MAAM,SACL,MAAM,YACJ,OAAO,CAAC,sBAAsB,CAAC,KACvC,sBAAsB;kBAUjB,MAAM,SACL,MAAM,WACJ;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,EAAE,iBACtC,OAAO,CAAC,sBAAsB,CAAC,KAC5C,sBAAsB;iBAUjB,MAAM,SACL,MAAM,YACJ,OAAO,CAAC,sBAAsB,CAAC,KACvC,sBAAsB;iBASjB,MAAM,SACL,MAAM,YACJ,OAAO,CAAC,sBAAsB,CAAC,KACvC,sBAAsB;mBASjB,MAAM,SACL,MAAM,UACL,sBAAsB,EAAE,YACvB,OAAO,CAAC,sBAAsB,CAAC,KACvC,sBAAsB;kBAWjB,MAAM,SACL,MAAM,UACL,sBAAsB,EAAE,YACvB,OAAO,CAAC,sBAAsB,CAAC,KACvC,sBAAsB;CAU1B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@k3-universe/react-kit",
3
- "version": "0.0.2",
3
+ "version": "0.0.3",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",
@@ -22,6 +22,7 @@ export interface FormBuilderFieldConfig {
22
22
  | 'select'
23
23
  | 'autocomplete'
24
24
  | 'checkbox'
25
+ | 'switch'
25
26
  | 'radio'
26
27
  | 'date'
27
28
  | 'file'
@@ -161,6 +162,7 @@ export function FormBuilder({
161
162
  baseSchema = z.union([z.string(), z.number()]).nullable();
162
163
  break;
163
164
  case 'checkbox':
165
+ case 'switch':
164
166
  baseSchema = z.boolean();
165
167
  break;
166
168
  case 'date':
@@ -203,6 +205,7 @@ export function FormBuilder({
203
205
  fieldSchema = z.union([z.string(), z.number(), z.object()]).nullable();
204
206
  break;
205
207
  case 'checkbox':
208
+ case 'switch':
206
209
  fieldSchema = z.boolean();
207
210
  break;
208
211
  case 'date':
@@ -6,6 +6,7 @@ import { Input } from '../../../../shadcn/ui/input';
6
6
  import { Textarea } from '../../../../shadcn/ui/textarea';
7
7
  import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '../../../../shadcn/ui/select';
8
8
  import { Checkbox } from '../../../../shadcn/ui/checkbox';
9
+ import { Switch } from '../../../../shadcn/ui/switch';
9
10
  import { RadioGroup, RadioGroupItem } from '../../../../shadcn/ui/radio-group';
10
11
  import { Label } from '../../../../shadcn/ui/label';
11
12
  import { Card, CardContent, CardHeader, CardTitle } from '../../../../shadcn/ui/card';
@@ -180,6 +181,56 @@ export function FormBuilderField({ field, control, onChange, onFieldChange, pare
180
181
  );
181
182
  }
182
183
 
184
+ case 'switch': {
185
+ const placement = field.labelPlacement ?? 'inline';
186
+ if (placement === 'stacked') {
187
+ const labelId = `${fieldPath}-label`;
188
+ return (
189
+ <div className="space-y-2">
190
+ <Label id={labelId} className="text-sm font-medium">
191
+ {field.label}
192
+ {field.required && <span className="text-destructive ml-1">*</span>}
193
+ </Label>
194
+ <Switch
195
+ aria-labelledby={labelId}
196
+ id={fieldPath}
197
+ checked={controllerField.value || false}
198
+ onCheckedChange={handleChange}
199
+ disabled={field.disabled}
200
+ className={cn(error && 'border-destructive', field.className)}
201
+ />
202
+ </div>
203
+ );
204
+ }
205
+ if (placement === 'hidden') {
206
+ return (
207
+ <Switch
208
+ id={fieldPath}
209
+ checked={controllerField.value || false}
210
+ onCheckedChange={handleChange}
211
+ disabled={field.disabled}
212
+ className={cn(error && 'border-destructive', field.className)}
213
+ />
214
+ );
215
+ }
216
+ // inline (default)
217
+ return (
218
+ <div className="flex items-center space-x-2">
219
+ <Switch
220
+ id={fieldPath}
221
+ checked={controllerField.value || false}
222
+ onCheckedChange={handleChange}
223
+ disabled={field.disabled}
224
+ className={cn(error && 'border-destructive', field.className)}
225
+ />
226
+ <Label htmlFor={fieldPath} className="text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70">
227
+ {field.label}
228
+ {field.required && <span className="text-destructive ml-1">*</span>}
229
+ </Label>
230
+ </div>
231
+ );
232
+ }
233
+
183
234
  case 'radio': {
184
235
  const toUiValue = (val: unknown) => (val === null || val === undefined ? NULL_SENTINEL : String(val));
185
236
  const fromUiValue = (val: string) => {
@@ -394,8 +445,8 @@ export function FormBuilderField({ field, control, onChange, onFieldChange, pare
394
445
  return renderArrayField();
395
446
  }
396
447
 
397
- // For checkbox, label may be inline/stacked/hidden handled inside renderBasicField
398
- if (field.type === 'checkbox') {
448
+ // For checkbox/switch, label may be inline/stacked/hidden handled inside renderBasicField
449
+ if (field.type === 'checkbox' || field.type === 'switch') {
399
450
  return (
400
451
  <div className={cn('space-y-2', field.gridCols && `md:col-span-${field.gridCols}`)}>
401
452
  {renderBasicField()}
@@ -93,6 +93,19 @@ export const createField = {
93
93
  ...options,
94
94
  }),
95
95
 
96
+ switch: (
97
+ name: string,
98
+ label: string,
99
+ options: Partial<FormBuilderFieldConfig> = {},
100
+ ): FormBuilderFieldConfig => ({
101
+ name,
102
+ label,
103
+ type: 'switch',
104
+ required: false,
105
+ defaultValue: false,
106
+ ...options,
107
+ }),
108
+
96
109
  radio: (
97
110
  name: string,
98
111
  label: string,
@@ -29,6 +29,8 @@ export const BasicUsage: Story = {
29
29
  { name: 'lastName', label: 'Last name', type: 'text', required: true },
30
30
  { name: 'email', label: 'Email', type: 'email', required: true },
31
31
  { name: 'newsletter', label: 'Subscribe to newsletter', type: 'checkbox', defaultValue: false, gridCols: 2 },
32
+ { name: 'darkMode', label: 'Enable dark mode', type: 'switch', defaultValue: false, gridCols: 2 },
33
+ { name: 'darkModeStacked', label: 'Enable dark mode (stacked)', type: 'switch', defaultValue: true, labelPlacement: 'stacked', gridCols: 2 },
32
34
  ],
33
35
  },
34
36
  ],
@@ -59,6 +59,10 @@ export const SimpleExample: Story = {
59
59
  defaultValue: false,
60
60
  gridCols: 2,
61
61
  }),
62
+ createField.switch('contactPermission', 'Allow contact by phone', {
63
+ defaultValue: false,
64
+ gridCols: 2,
65
+ }),
62
66
  ]),
63
67
  ];
64
68