@acoustte-digital-services/digitalstore-controls-dev 0.8.1-dev.20260424091320 → 0.8.1-dev.20260425052557

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.
@@ -3,7 +3,7 @@ import {
3
3
  Button_default,
4
4
  ServiceClient_default,
5
5
  ToastService_default
6
- } from "./chunk-7XWLHQXT.mjs";
6
+ } from "./chunk-WMUACDXV.mjs";
7
7
 
8
8
  // src/components/pageRenderingEngine/nodes/LinkNodeButton.tsx
9
9
  import { useCallback, useState } from "react";
@@ -412,6 +412,7 @@ var ServiceClient_default = ServiceClient;
412
412
  export {
413
413
  ToastService_default,
414
414
  buttonClasses,
415
+ ClientButton_default,
415
416
  Button_default,
416
417
  ServiceClient_default
417
418
  };
package/dist/index.d.mts CHANGED
@@ -32,14 +32,14 @@ declare const ViewControlTypes: {
32
32
  aiGeneratedSummary: string;
33
33
  };
34
34
 
35
- interface InputCallbackValues<T> {
35
+ interface InputCallbackValues$1<T> {
36
36
  name: keyof T;
37
37
  value: T[keyof T];
38
38
  index?: number;
39
39
  groupKey?: string;
40
40
  }
41
- interface InputChangeCallback<T> {
42
- (updatedValues: InputCallbackValues<T>): void;
41
+ interface InputChangeCallback$1<T> {
42
+ (updatedValues: InputCallbackValues$1<T>): void;
43
43
  }
44
44
 
45
45
  interface ActionResponse$1<T> {
@@ -66,7 +66,7 @@ interface SingleResponse<T> {
66
66
  result?: T;
67
67
  }
68
68
 
69
- interface ServiceClientInterface {
69
+ interface ServiceClientInterface$1 {
70
70
  baseUrl: string;
71
71
  session: any;
72
72
  post(path: string, data: any): Promise<ActionResponse$1<any>>;
@@ -78,15 +78,15 @@ interface ServiceClientInterface {
78
78
  }): Promise<SingleResponse<T>>;
79
79
  }
80
80
 
81
- interface InputControlProps {
81
+ interface InputControlProps$1 {
82
82
  name: string;
83
83
  value?: string | null | number | boolean | undefined;
84
84
  defaultValue?: string | number | readonly string[] | undefined;
85
85
  index?: number;
86
86
  groupKey?: string;
87
87
  controlType: string;
88
- callback?: InputChangeCallback<any>;
89
- serviceClient?: ServiceClientInterface;
88
+ callback?: InputChangeCallback$1<any>;
89
+ serviceClient?: ServiceClientInterface$1;
90
90
  disable?: boolean;
91
91
  dataSourceDependsOn?: string;
92
92
  dependentValue?: string;
@@ -124,7 +124,7 @@ interface InputControlProps {
124
124
  };
125
125
  }
126
126
 
127
- declare const InputControl: React.ForwardRefExoticComponent<InputControlProps & React.RefAttributes<HTMLDivElement>>;
127
+ declare const InputControl: React.ForwardRefExoticComponent<InputControlProps$1 & React.RefAttributes<HTMLDivElement>>;
128
128
 
129
129
  declare const InputControlType: {
130
130
  lineTextInput: string;
@@ -171,7 +171,7 @@ interface PageBodyRendererProps {
171
171
  breadcrumb?: string;
172
172
  donotApplyContainerClass?: boolean;
173
173
  donotApplyContainerLargeClass?: boolean;
174
- serviceClient?: ServiceClientInterface;
174
+ serviceClient?: ServiceClientInterface$1;
175
175
  assetBaseUrl?: string;
176
176
  device?: string;
177
177
  widgetRenderer?: any;
@@ -191,31 +191,31 @@ declare class ToastService {
191
191
  static close(): void;
192
192
  }
193
193
 
194
- declare const LineTextInput: React.FC<InputControlProps>;
194
+ declare const LineTextInput: React.FC<InputControlProps$1>;
195
195
 
196
- declare const MultilineTextInput: React.FC<InputControlProps>;
196
+ declare const MultilineTextInput: React.FC<InputControlProps$1>;
197
197
 
198
- declare const MoneyInput: React.FC<InputControlProps>;
198
+ declare const MoneyInput: React.FC<InputControlProps$1>;
199
199
 
200
- declare const PercentageInput: React.FC<InputControlProps>;
200
+ declare const PercentageInput: React.FC<InputControlProps$1>;
201
201
 
202
- declare const PhoneInput: React.FC<InputControlProps>;
202
+ declare const PhoneInput: React.FC<InputControlProps$1>;
203
203
 
204
- declare const NumberInput: React.FC<InputControlProps>;
204
+ declare const NumberInput: React.FC<InputControlProps$1>;
205
205
 
206
- declare const CheckboxInput: React.FC<InputControlProps>;
206
+ declare const CheckboxInput: React.FC<InputControlProps$1>;
207
207
 
208
- declare const OtpInput: React.FC<InputControlProps>;
208
+ declare const OtpInput: React.FC<InputControlProps$1>;
209
209
 
210
- declare const DateTimeInput: React.FC<InputControlProps>;
210
+ declare const DateTimeInput: React.FC<InputControlProps$1>;
211
211
 
212
- declare const ColorInput: React.FC<InputControlProps>;
212
+ declare const ColorInput: React.FC<InputControlProps$1>;
213
213
 
214
- declare const BooleanSelect: React.FC<InputControlProps>;
214
+ declare const BooleanSelect: React.FC<InputControlProps$1>;
215
215
 
216
- declare const EmailInput: React.FC<InputControlProps>;
216
+ declare const EmailInput: React.FC<InputControlProps$1>;
217
217
 
218
- declare const TimeInput: React.FC<InputControlProps>;
218
+ declare const TimeInput: React.FC<InputControlProps$1>;
219
219
 
220
220
  interface TabItem {
221
221
  tabTitle: string;
@@ -234,7 +234,7 @@ interface DataListConfiguration<T> {
234
234
  columns: DataListColumn[];
235
235
  filters?: FilterColumn[];
236
236
  path: string;
237
- serviceClient?: ServiceClientInterface;
237
+ serviceClient?: ServiceClientInterface$1;
238
238
  query?: {
239
239
  [key: string]: string;
240
240
  };
@@ -366,51 +366,87 @@ interface SiteFormDataFormSectionRowElementData {
366
366
  helpText?: string;
367
367
  autoFocus?: boolean;
368
368
  }
369
- interface SiteFormDataFormSectionRequest {
370
- siteFormDataFormSectionId?: number | null;
371
- sectionTitle?: string | null;
372
- sectionName: string;
369
+ interface DataFormSection {
370
+ isDeleted?: boolean;
371
+ name?: string;
372
+ sectionTitle?: string;
373
+ sectionRows: SectionRow[];
373
374
  isChildSection?: boolean;
374
- parentSectionName?: string | null;
375
- rows?: SiteFormDataFormSectionRowRequest[] | null;
376
- isDeleted?: boolean | null;
377
- }
378
- interface SiteFormDataFormSectionRowRequest {
379
- siteFormDataFormSectionRowId?: number | null;
380
- grow: boolean;
381
- elements?: SiteFormDataFormSectionRowElementRequest[] | null;
382
- isDeleted?: boolean | null;
383
- }
384
- interface SiteFormDataFormSectionRowElementRequest {
385
- siteFormDataFormSectionRowElementId?: number | null;
375
+ visible?: string;
376
+ relationshipType?: "one-to-many" | "one-to-one";
377
+ dynamicBehavior?: any[];
378
+ childSections?: DataFormSection[];
379
+ readonly?: boolean;
380
+ }
381
+ interface SectionRow {
382
+ visible?: string;
383
+ grow?: boolean;
384
+ elements: InputControlProps[];
385
+ }
386
+ interface InputControlProps {
386
387
  name: string;
387
- label: string;
388
- controlTypeCode: string;
389
- dataSource?: string | null;
390
- dataKeyFieldName?: string | null;
391
- dataTextFieldName?: string | null;
392
- isDeleted?: boolean | null;
393
- errormessage?: string | null;
394
- maxLength?: number;
395
- minLength?: number;
396
- maxValue?: number;
397
- minValue?: number;
398
- readOnly?: boolean;
399
- hintText?: string;
400
- placeholder?: string;
401
- required?: boolean;
402
- errorMessage?: string;
403
- helpText?: string;
404
- autoFocus?: boolean;
388
+ value?: string | null | number | boolean | undefined;
389
+ defaultValue?: string | number | readonly string[] | undefined;
390
+ index?: number;
391
+ groupKey?: string;
392
+ controlType: string;
393
+ callback?: InputChangeCallback<any>;
394
+ serviceClient?: ServiceClientInterface;
395
+ disable?: boolean;
396
+ dataSourceDependsOn?: string;
397
+ dependentValue?: string;
398
+ dataSource?: string | any;
399
+ dataKeyFieldName?: string;
400
+ dataTextFieldName?: string;
401
+ dataset?: any[];
402
+ assetsUploadPath?: string;
403
+ entityType?: string;
404
+ showAsLink?: boolean;
405
+ linkUrlSegment?: string;
406
+ uploadInSharedLocation?: boolean;
407
+ prefix?: string;
408
+ inputClasses?: string;
409
+ createFields?: any[];
410
+ isTenantColor?: boolean;
411
+ onChange?: (value: string | number | boolean | null) => void;
412
+ onBlur?: () => void;
413
+ attributes?: {
414
+ pattern?: string;
415
+ maxLength?: number;
416
+ minLength?: number;
417
+ maxValue?: number;
418
+ minValue?: number;
419
+ readOnly?: boolean;
420
+ disable?: boolean;
421
+ label?: string;
422
+ hintText?: string;
423
+ placeholder?: string;
424
+ required?: boolean;
425
+ errorMessage?: string;
426
+ helpText?: string;
427
+ autoFocus?: boolean;
428
+ heading?: string;
429
+ };
430
+ }
431
+ interface InputChangeCallback<T> {
432
+ (updatedValues: InputCallbackValues<T>): void;
433
+ }
434
+ interface InputCallbackValues<T> {
435
+ name: keyof T;
436
+ value: T[keyof T];
437
+ index?: number;
438
+ groupKey?: string;
405
439
  }
406
- interface SiteFormDataFormActionRequest {
407
- siteFormDataFormActionId?: number | null;
408
- actionCode: string;
409
- actionTitle: string;
410
- serviceRoute: string;
411
- httpMethod: string;
412
- returnRoute?: string | null;
413
- isDeleted?: boolean | null;
440
+ interface ServiceClientInterface {
441
+ baseUrl: string;
442
+ session: Session;
443
+ post(path: string, data: any): Promise<ActionResponse$1<any>>;
444
+ get(path: string, params?: {
445
+ [key: string]: any;
446
+ }): Promise<QueryResponse<any>>;
447
+ getSingle<T>(path: string, params?: {
448
+ [key: string]: any;
449
+ }): Promise<SingleResponse<T>>;
414
450
  }
415
451
 
416
452
  interface DataListRendererProps {
@@ -425,37 +461,42 @@ interface DataListRendererProps {
425
461
  }
426
462
  declare const DataListRenderer: ({ formDefinition, apiBaseUrl, session, params, tabs, query, path, widgetProps, }: DataListRendererProps) => react_jsx_runtime.JSX.Element;
427
463
 
428
- interface DataFormLayoutProps {
429
- formId?: number | null;
430
- sections: SiteFormDataFormSectionRequest[];
431
- setSections: (sections: SiteFormDataFormSectionRequest[]) => void;
432
- actions: SiteFormDataFormActionRequest[];
433
- setActions: (actions: SiteFormDataFormActionRequest[]) => void;
434
- formTitle: string;
435
- setFormTitle: (title: string) => void;
436
- entityIdParamName: string;
437
- setEntityIdParamName: (name: string) => void;
438
- selectedAppId: number;
439
- setSelectedAppId: (id: number) => void;
440
- apps: Array<{
441
- appId: number;
442
- title: string;
443
- }>;
444
- loadingApps: boolean;
445
- isEditMode: boolean;
446
- nextTempId: number;
447
- setNextTempId: (id: number) => void;
448
- onSave: () => Promise<any>;
449
- onDelete: () => Promise<any>;
450
- siteFormTypeId?: number;
451
- }
452
- declare function DataForm({ formId, sections, setSections, actions, setActions, formTitle, setFormTitle, entityIdParamName, setEntityIdParamName, selectedAppId, setSelectedAppId, apps, loadingApps, isEditMode, nextTempId, setNextTempId, onSave, onDelete, siteFormTypeId, }: DataFormLayoutProps): react_jsx_runtime.JSX.Element;
453
-
454
464
  interface FormState<T> {
455
465
  inputValues: T;
456
466
  lastPropertyChanged: string;
457
467
  }
458
468
 
469
+ interface FormRules {
470
+ onChangeRules?: Array<{
471
+ name: string;
472
+ getApiEndpoint: string;
473
+ apiParams?: Record<string, any>;
474
+ updateValues?: Array<{
475
+ contextPropName: string;
476
+ resultPropName: string;
477
+ }>;
478
+ triggerCondition?: string;
479
+ }>;
480
+ }
481
+ interface DataFormConfiguration {
482
+ title?: string;
483
+ dataItem: any;
484
+ onClick?: (formState: FormState<any>) => Promise<ActionResponse$1<any>>;
485
+ onDelete?: (formState: FormState<any>) => Promise<ActionResponse$1<any>>;
486
+ serviceClient?: ServiceClientInterface;
487
+ sections?: DataFormSection[];
488
+ additionalActions?: AdditionalActions;
489
+ rules?: FormRules;
490
+ params?: Record<string, any>;
491
+ buttonText?: string;
492
+ }
493
+ interface AdditionalActions {
494
+ name: string;
495
+ title: string;
496
+ onClick?: (formState: FormState<any>) => Promise<ActionResponse$1<any>>;
497
+ }
498
+ declare const DataForm2: React.FC<DataFormConfiguration>;
499
+
459
500
  interface ActionResponse<T> {
460
501
  isSuccessful: boolean;
461
502
  message?: string;
@@ -490,4 +531,4 @@ interface DataFormRendererProps {
490
531
  }
491
532
  declare const DataFormRenderer: ({ formDefinition, dataItem, params, tabs, apiBaseUrl, session, widgetProps, onSave, onDelete, onCancelAdd, isAddPage, entityId, }: DataFormRendererProps) => react_jsx_runtime.JSX.Element | null;
492
533
 
493
- export { type ActionResponse$1 as ActionResponse, BooleanSelect, CheckboxInput, ColorInput, DataForm, DataFormRenderer, DataList, DataListRenderer, DateTimeInput, EmailInput, InputControl, type InputControlProps, InputControlType, LineTextInput, MoneyInput, MultilineTextInput, NavigationTabsV2, NumberInput, OtpInput, PageBodyRenderer, PercentageInput, PhoneInput, TimeInput, Toast, ToastService, ViewControl, type ViewControlProps, ViewControlTypes };
534
+ export { type ActionResponse$1 as ActionResponse, BooleanSelect, CheckboxInput, ColorInput, DataForm2 as DataForm, DataFormRenderer, DataList, DataListRenderer, DateTimeInput, EmailInput, InputControl, type InputControlProps$1 as InputControlProps, InputControlType, LineTextInput, MoneyInput, MultilineTextInput, NavigationTabsV2, NumberInput, OtpInput, PageBodyRenderer, PercentageInput, PhoneInput, TimeInput, Toast, ToastService, ViewControl, type ViewControlProps, ViewControlTypes };
package/dist/index.d.ts CHANGED
@@ -32,14 +32,14 @@ declare const ViewControlTypes: {
32
32
  aiGeneratedSummary: string;
33
33
  };
34
34
 
35
- interface InputCallbackValues<T> {
35
+ interface InputCallbackValues$1<T> {
36
36
  name: keyof T;
37
37
  value: T[keyof T];
38
38
  index?: number;
39
39
  groupKey?: string;
40
40
  }
41
- interface InputChangeCallback<T> {
42
- (updatedValues: InputCallbackValues<T>): void;
41
+ interface InputChangeCallback$1<T> {
42
+ (updatedValues: InputCallbackValues$1<T>): void;
43
43
  }
44
44
 
45
45
  interface ActionResponse$1<T> {
@@ -66,7 +66,7 @@ interface SingleResponse<T> {
66
66
  result?: T;
67
67
  }
68
68
 
69
- interface ServiceClientInterface {
69
+ interface ServiceClientInterface$1 {
70
70
  baseUrl: string;
71
71
  session: any;
72
72
  post(path: string, data: any): Promise<ActionResponse$1<any>>;
@@ -78,15 +78,15 @@ interface ServiceClientInterface {
78
78
  }): Promise<SingleResponse<T>>;
79
79
  }
80
80
 
81
- interface InputControlProps {
81
+ interface InputControlProps$1 {
82
82
  name: string;
83
83
  value?: string | null | number | boolean | undefined;
84
84
  defaultValue?: string | number | readonly string[] | undefined;
85
85
  index?: number;
86
86
  groupKey?: string;
87
87
  controlType: string;
88
- callback?: InputChangeCallback<any>;
89
- serviceClient?: ServiceClientInterface;
88
+ callback?: InputChangeCallback$1<any>;
89
+ serviceClient?: ServiceClientInterface$1;
90
90
  disable?: boolean;
91
91
  dataSourceDependsOn?: string;
92
92
  dependentValue?: string;
@@ -124,7 +124,7 @@ interface InputControlProps {
124
124
  };
125
125
  }
126
126
 
127
- declare const InputControl: React.ForwardRefExoticComponent<InputControlProps & React.RefAttributes<HTMLDivElement>>;
127
+ declare const InputControl: React.ForwardRefExoticComponent<InputControlProps$1 & React.RefAttributes<HTMLDivElement>>;
128
128
 
129
129
  declare const InputControlType: {
130
130
  lineTextInput: string;
@@ -171,7 +171,7 @@ interface PageBodyRendererProps {
171
171
  breadcrumb?: string;
172
172
  donotApplyContainerClass?: boolean;
173
173
  donotApplyContainerLargeClass?: boolean;
174
- serviceClient?: ServiceClientInterface;
174
+ serviceClient?: ServiceClientInterface$1;
175
175
  assetBaseUrl?: string;
176
176
  device?: string;
177
177
  widgetRenderer?: any;
@@ -191,31 +191,31 @@ declare class ToastService {
191
191
  static close(): void;
192
192
  }
193
193
 
194
- declare const LineTextInput: React.FC<InputControlProps>;
194
+ declare const LineTextInput: React.FC<InputControlProps$1>;
195
195
 
196
- declare const MultilineTextInput: React.FC<InputControlProps>;
196
+ declare const MultilineTextInput: React.FC<InputControlProps$1>;
197
197
 
198
- declare const MoneyInput: React.FC<InputControlProps>;
198
+ declare const MoneyInput: React.FC<InputControlProps$1>;
199
199
 
200
- declare const PercentageInput: React.FC<InputControlProps>;
200
+ declare const PercentageInput: React.FC<InputControlProps$1>;
201
201
 
202
- declare const PhoneInput: React.FC<InputControlProps>;
202
+ declare const PhoneInput: React.FC<InputControlProps$1>;
203
203
 
204
- declare const NumberInput: React.FC<InputControlProps>;
204
+ declare const NumberInput: React.FC<InputControlProps$1>;
205
205
 
206
- declare const CheckboxInput: React.FC<InputControlProps>;
206
+ declare const CheckboxInput: React.FC<InputControlProps$1>;
207
207
 
208
- declare const OtpInput: React.FC<InputControlProps>;
208
+ declare const OtpInput: React.FC<InputControlProps$1>;
209
209
 
210
- declare const DateTimeInput: React.FC<InputControlProps>;
210
+ declare const DateTimeInput: React.FC<InputControlProps$1>;
211
211
 
212
- declare const ColorInput: React.FC<InputControlProps>;
212
+ declare const ColorInput: React.FC<InputControlProps$1>;
213
213
 
214
- declare const BooleanSelect: React.FC<InputControlProps>;
214
+ declare const BooleanSelect: React.FC<InputControlProps$1>;
215
215
 
216
- declare const EmailInput: React.FC<InputControlProps>;
216
+ declare const EmailInput: React.FC<InputControlProps$1>;
217
217
 
218
- declare const TimeInput: React.FC<InputControlProps>;
218
+ declare const TimeInput: React.FC<InputControlProps$1>;
219
219
 
220
220
  interface TabItem {
221
221
  tabTitle: string;
@@ -234,7 +234,7 @@ interface DataListConfiguration<T> {
234
234
  columns: DataListColumn[];
235
235
  filters?: FilterColumn[];
236
236
  path: string;
237
- serviceClient?: ServiceClientInterface;
237
+ serviceClient?: ServiceClientInterface$1;
238
238
  query?: {
239
239
  [key: string]: string;
240
240
  };
@@ -366,51 +366,87 @@ interface SiteFormDataFormSectionRowElementData {
366
366
  helpText?: string;
367
367
  autoFocus?: boolean;
368
368
  }
369
- interface SiteFormDataFormSectionRequest {
370
- siteFormDataFormSectionId?: number | null;
371
- sectionTitle?: string | null;
372
- sectionName: string;
369
+ interface DataFormSection {
370
+ isDeleted?: boolean;
371
+ name?: string;
372
+ sectionTitle?: string;
373
+ sectionRows: SectionRow[];
373
374
  isChildSection?: boolean;
374
- parentSectionName?: string | null;
375
- rows?: SiteFormDataFormSectionRowRequest[] | null;
376
- isDeleted?: boolean | null;
377
- }
378
- interface SiteFormDataFormSectionRowRequest {
379
- siteFormDataFormSectionRowId?: number | null;
380
- grow: boolean;
381
- elements?: SiteFormDataFormSectionRowElementRequest[] | null;
382
- isDeleted?: boolean | null;
383
- }
384
- interface SiteFormDataFormSectionRowElementRequest {
385
- siteFormDataFormSectionRowElementId?: number | null;
375
+ visible?: string;
376
+ relationshipType?: "one-to-many" | "one-to-one";
377
+ dynamicBehavior?: any[];
378
+ childSections?: DataFormSection[];
379
+ readonly?: boolean;
380
+ }
381
+ interface SectionRow {
382
+ visible?: string;
383
+ grow?: boolean;
384
+ elements: InputControlProps[];
385
+ }
386
+ interface InputControlProps {
386
387
  name: string;
387
- label: string;
388
- controlTypeCode: string;
389
- dataSource?: string | null;
390
- dataKeyFieldName?: string | null;
391
- dataTextFieldName?: string | null;
392
- isDeleted?: boolean | null;
393
- errormessage?: string | null;
394
- maxLength?: number;
395
- minLength?: number;
396
- maxValue?: number;
397
- minValue?: number;
398
- readOnly?: boolean;
399
- hintText?: string;
400
- placeholder?: string;
401
- required?: boolean;
402
- errorMessage?: string;
403
- helpText?: string;
404
- autoFocus?: boolean;
388
+ value?: string | null | number | boolean | undefined;
389
+ defaultValue?: string | number | readonly string[] | undefined;
390
+ index?: number;
391
+ groupKey?: string;
392
+ controlType: string;
393
+ callback?: InputChangeCallback<any>;
394
+ serviceClient?: ServiceClientInterface;
395
+ disable?: boolean;
396
+ dataSourceDependsOn?: string;
397
+ dependentValue?: string;
398
+ dataSource?: string | any;
399
+ dataKeyFieldName?: string;
400
+ dataTextFieldName?: string;
401
+ dataset?: any[];
402
+ assetsUploadPath?: string;
403
+ entityType?: string;
404
+ showAsLink?: boolean;
405
+ linkUrlSegment?: string;
406
+ uploadInSharedLocation?: boolean;
407
+ prefix?: string;
408
+ inputClasses?: string;
409
+ createFields?: any[];
410
+ isTenantColor?: boolean;
411
+ onChange?: (value: string | number | boolean | null) => void;
412
+ onBlur?: () => void;
413
+ attributes?: {
414
+ pattern?: string;
415
+ maxLength?: number;
416
+ minLength?: number;
417
+ maxValue?: number;
418
+ minValue?: number;
419
+ readOnly?: boolean;
420
+ disable?: boolean;
421
+ label?: string;
422
+ hintText?: string;
423
+ placeholder?: string;
424
+ required?: boolean;
425
+ errorMessage?: string;
426
+ helpText?: string;
427
+ autoFocus?: boolean;
428
+ heading?: string;
429
+ };
430
+ }
431
+ interface InputChangeCallback<T> {
432
+ (updatedValues: InputCallbackValues<T>): void;
433
+ }
434
+ interface InputCallbackValues<T> {
435
+ name: keyof T;
436
+ value: T[keyof T];
437
+ index?: number;
438
+ groupKey?: string;
405
439
  }
406
- interface SiteFormDataFormActionRequest {
407
- siteFormDataFormActionId?: number | null;
408
- actionCode: string;
409
- actionTitle: string;
410
- serviceRoute: string;
411
- httpMethod: string;
412
- returnRoute?: string | null;
413
- isDeleted?: boolean | null;
440
+ interface ServiceClientInterface {
441
+ baseUrl: string;
442
+ session: Session;
443
+ post(path: string, data: any): Promise<ActionResponse$1<any>>;
444
+ get(path: string, params?: {
445
+ [key: string]: any;
446
+ }): Promise<QueryResponse<any>>;
447
+ getSingle<T>(path: string, params?: {
448
+ [key: string]: any;
449
+ }): Promise<SingleResponse<T>>;
414
450
  }
415
451
 
416
452
  interface DataListRendererProps {
@@ -425,37 +461,42 @@ interface DataListRendererProps {
425
461
  }
426
462
  declare const DataListRenderer: ({ formDefinition, apiBaseUrl, session, params, tabs, query, path, widgetProps, }: DataListRendererProps) => react_jsx_runtime.JSX.Element;
427
463
 
428
- interface DataFormLayoutProps {
429
- formId?: number | null;
430
- sections: SiteFormDataFormSectionRequest[];
431
- setSections: (sections: SiteFormDataFormSectionRequest[]) => void;
432
- actions: SiteFormDataFormActionRequest[];
433
- setActions: (actions: SiteFormDataFormActionRequest[]) => void;
434
- formTitle: string;
435
- setFormTitle: (title: string) => void;
436
- entityIdParamName: string;
437
- setEntityIdParamName: (name: string) => void;
438
- selectedAppId: number;
439
- setSelectedAppId: (id: number) => void;
440
- apps: Array<{
441
- appId: number;
442
- title: string;
443
- }>;
444
- loadingApps: boolean;
445
- isEditMode: boolean;
446
- nextTempId: number;
447
- setNextTempId: (id: number) => void;
448
- onSave: () => Promise<any>;
449
- onDelete: () => Promise<any>;
450
- siteFormTypeId?: number;
451
- }
452
- declare function DataForm({ formId, sections, setSections, actions, setActions, formTitle, setFormTitle, entityIdParamName, setEntityIdParamName, selectedAppId, setSelectedAppId, apps, loadingApps, isEditMode, nextTempId, setNextTempId, onSave, onDelete, siteFormTypeId, }: DataFormLayoutProps): react_jsx_runtime.JSX.Element;
453
-
454
464
  interface FormState<T> {
455
465
  inputValues: T;
456
466
  lastPropertyChanged: string;
457
467
  }
458
468
 
469
+ interface FormRules {
470
+ onChangeRules?: Array<{
471
+ name: string;
472
+ getApiEndpoint: string;
473
+ apiParams?: Record<string, any>;
474
+ updateValues?: Array<{
475
+ contextPropName: string;
476
+ resultPropName: string;
477
+ }>;
478
+ triggerCondition?: string;
479
+ }>;
480
+ }
481
+ interface DataFormConfiguration {
482
+ title?: string;
483
+ dataItem: any;
484
+ onClick?: (formState: FormState<any>) => Promise<ActionResponse$1<any>>;
485
+ onDelete?: (formState: FormState<any>) => Promise<ActionResponse$1<any>>;
486
+ serviceClient?: ServiceClientInterface;
487
+ sections?: DataFormSection[];
488
+ additionalActions?: AdditionalActions;
489
+ rules?: FormRules;
490
+ params?: Record<string, any>;
491
+ buttonText?: string;
492
+ }
493
+ interface AdditionalActions {
494
+ name: string;
495
+ title: string;
496
+ onClick?: (formState: FormState<any>) => Promise<ActionResponse$1<any>>;
497
+ }
498
+ declare const DataForm2: React.FC<DataFormConfiguration>;
499
+
459
500
  interface ActionResponse<T> {
460
501
  isSuccessful: boolean;
461
502
  message?: string;
@@ -490,4 +531,4 @@ interface DataFormRendererProps {
490
531
  }
491
532
  declare const DataFormRenderer: ({ formDefinition, dataItem, params, tabs, apiBaseUrl, session, widgetProps, onSave, onDelete, onCancelAdd, isAddPage, entityId, }: DataFormRendererProps) => react_jsx_runtime.JSX.Element | null;
492
533
 
493
- export { type ActionResponse$1 as ActionResponse, BooleanSelect, CheckboxInput, ColorInput, DataForm, DataFormRenderer, DataList, DataListRenderer, DateTimeInput, EmailInput, InputControl, type InputControlProps, InputControlType, LineTextInput, MoneyInput, MultilineTextInput, NavigationTabsV2, NumberInput, OtpInput, PageBodyRenderer, PercentageInput, PhoneInput, TimeInput, Toast, ToastService, ViewControl, type ViewControlProps, ViewControlTypes };
534
+ export { type ActionResponse$1 as ActionResponse, BooleanSelect, CheckboxInput, ColorInput, DataForm2 as DataForm, DataFormRenderer, DataList, DataListRenderer, DateTimeInput, EmailInput, InputControl, type InputControlProps$1 as InputControlProps, InputControlType, LineTextInput, MoneyInput, MultilineTextInput, NavigationTabsV2, NumberInput, OtpInput, PageBodyRenderer, PercentageInput, PhoneInput, TimeInput, Toast, ToastService, ViewControl, type ViewControlProps, ViewControlTypes };