extended-dynamic-forms 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/README.md +398 -1075
  2. package/dist/WizardForm.d.ts +4 -1
  3. package/dist/events/FormEventContext.d.ts +3 -0
  4. package/dist/events/FormEventHub.d.ts +19 -2
  5. package/dist/index.es.js +21051 -12923
  6. package/dist/index.umd.js +63 -36
  7. package/dist/style.css +1 -1
  8. package/dist/types/index.d.ts +6 -1
  9. package/dist/utils/fieldChangeDetector.d.ts +22 -0
  10. package/dist/widgets/base/index.d.ts +2 -0
  11. package/dist/widgets/base/types.d.ts +135 -0
  12. package/dist/widgets/base/utils.d.ts +63 -0
  13. package/dist/widgets/choice/ChoiceWidget.d.ts +30 -0
  14. package/dist/widgets/choice/ChoiceWidget.types.d.ts +496 -0
  15. package/dist/widgets/choice/examples/ChoiceWidget.example.d.ts +7 -0
  16. package/dist/widgets/choice/hooks/__tests__/useChoiceWidget.test.d.ts +1 -0
  17. package/dist/widgets/choice/hooks/__tests__/useDataSource.test.d.ts +1 -0
  18. package/dist/widgets/choice/hooks/examples/useChoiceWidget.example.d.ts +18 -0
  19. package/dist/widgets/choice/hooks/examples/useDataSourceExample.d.ts +22 -0
  20. package/dist/widgets/choice/hooks/index.d.ts +6 -0
  21. package/dist/widgets/choice/hooks/useChoiceWidget.d.ts +65 -0
  22. package/dist/widgets/choice/hooks/useDataSource.d.ts +69 -0
  23. package/dist/widgets/choice/index.d.ts +59 -0
  24. package/dist/widgets/choice/presenters/CheckboxPresenter.d.ts +70 -0
  25. package/dist/widgets/choice/presenters/DropdownPresenter.d.ts +37 -0
  26. package/dist/widgets/choice/presenters/PresenterStrategy.d.ts +230 -0
  27. package/dist/widgets/choice/presenters/RadioPresenter.d.ts +39 -0
  28. package/dist/widgets/choice/presenters/examples/RadioPresenterExample.d.ts +7 -0
  29. package/dist/widgets/choice/presenters/index.d.ts +20 -0
  30. package/dist/widgets/choice/providers/ApiDataSource.d.ts +241 -0
  31. package/dist/widgets/choice/providers/DataSourceProvider.d.ts +260 -0
  32. package/dist/widgets/choice/providers/StaticDataSource.d.ts +258 -0
  33. package/dist/widgets/choice/providers/WebSocketDataSource.d.ts +310 -0
  34. package/dist/widgets/choice/providers/index.d.ts +12 -0
  35. package/dist/widgets/choice/utils/index.d.ts +1 -0
  36. package/dist/widgets/choice/utils/responseMappers.d.ts +342 -0
  37. package/dist/widgets/date/DateTimeWidget.d.ts +26 -0
  38. package/dist/widgets/date/EnhancedDateWidget.d.ts +26 -0
  39. package/dist/widgets/date/index.d.ts +13 -0
  40. package/dist/widgets/file/FileUploadWidget.d.ts +40 -0
  41. package/dist/widgets/file/index.d.ts +2 -0
  42. package/dist/widgets/index.d.ts +33 -17
  43. package/dist/widgets/input/EmailWidget.d.ts +34 -0
  44. package/dist/widgets/input/NumberWidget.d.ts +39 -0
  45. package/dist/widgets/input/TelephoneWidget.d.ts +34 -0
  46. package/dist/widgets/input/URLWidget.d.ts +34 -0
  47. package/dist/widgets/input/index.d.ts +7 -0
  48. package/dist/widgets/text/PasswordWidget.d.ts +45 -0
  49. package/dist/widgets/text/TextWidget.d.ts +40 -0
  50. package/dist/widgets/text/TextareaWidget.d.ts +38 -0
  51. package/dist/widgets/text/index.d.ts +20 -0
  52. package/package.json +8 -8
  53. package/dist/vanilla-entry.d.ts +0 -204
  54. package/dist/widgets/enhanced/EnhancedWidgets.d.ts +0 -37
  55. package/examples/conditional-v2-example.tsx +0 -64
  56. package/examples/dynamic-array-items-example.tsx +0 -211
  57. package/examples/form-devtools-example.tsx +0 -384
  58. package/examples/global-ui-rules-example.tsx +0 -371
  59. package/examples/vanilla-js/README.md +0 -212
  60. package/examples/vanilla-js/basic-form.html +0 -142
  61. package/examples/vanilla-js/conditional-form.html +0 -159
  62. package/examples/vanilla-js/wizard-form.html +0 -185
@@ -21,5 +21,8 @@ export interface WizardFormProps {
21
21
  submitButtonText?: string;
22
22
  liveValidate?: boolean;
23
23
  showErrorList?: boolean;
24
+ onWebhookStart?: (webhook: WebhookConfig, event: any) => void;
25
+ onWebhookComplete?: (webhook: WebhookConfig, event: any, response: any) => void;
26
+ onWebhookError?: (webhook: WebhookConfig, event: any, error: Error) => void;
24
27
  }
25
- export declare function WizardForm({ schema, uiSchema, webhooks, formData: initialFormData, onSubmit, onStepChange, onFieldFocus, onFieldBlur, onFieldChange, onLiveChange, showProgressBar, showStepDescription, submitButtonText, liveValidate, showErrorList, }: WizardFormProps): import("react/jsx-runtime").JSX.Element;
28
+ export declare function WizardForm({ schema, uiSchema, webhooks, formData: initialFormData, onSubmit, onStepChange, onFieldFocus, onFieldBlur, onFieldChange, onLiveChange, showProgressBar, showStepDescription, submitButtonText, liveValidate, showErrorList, onWebhookStart, onWebhookComplete, onWebhookError, }: WizardFormProps): import("react/jsx-runtime").JSX.Element;
@@ -1,10 +1,13 @@
1
1
  import { default as React, ReactNode } from 'react';
2
2
  import { FormEventHub } from './FormEventHub';
3
+ import { FormEventManager } from './FormEventManager';
3
4
 
4
5
  export interface FormEventContextType {
5
6
  eventHub: FormEventHub;
6
7
  formData?: any;
7
8
  }
9
+ declare const FormEventContext: React.Context<FormEventContextType | null>;
10
+ export { FormEventContext, FormEventManager };
8
11
  export interface FormEventProviderProps {
9
12
  eventHub: FormEventHub;
10
13
  formData?: any;
@@ -7,16 +7,30 @@ export declare class FormEventHub {
7
7
  private debounceTimers;
8
8
  private webhookQueue;
9
9
  private isProcessingQueue;
10
- constructor(formHandlers: FormEventHandlers, fieldHandlers?: FieldEventHandlers, webhooks?: WebhookConfig[]);
10
+ private webhookCallbacks?;
11
+ constructor(formHandlers: FormEventHandlers, fieldHandlers?: FieldEventHandlers, webhooks?: WebhookConfig[], webhookCallbacks?: {
12
+ onWebhookStart?: (webhook: WebhookConfig, event: any) => void;
13
+ onWebhookComplete?: (webhook: WebhookConfig, event: any, response: any) => void;
14
+ onWebhookError?: (webhook: WebhookConfig, event: any, error: Error) => void;
15
+ });
16
+ updateWebhooks(webhooks: WebhookConfig[]): void;
17
+ updateCallbacks(callbacks: {
18
+ onWebhookStart?: (webhook: WebhookConfig, event: any) => void;
19
+ onWebhookComplete?: (webhook: WebhookConfig, event: any, response: any) => void;
20
+ onWebhookError?: (webhook: WebhookConfig, event: any, error: Error) => void;
21
+ }): void;
11
22
  handleBeforeSubmit(data: any): Promise<any>;
12
23
  handleAfterSubmit(data: any): Promise<void>;
13
24
  handleBeforeValidation(data: any): Promise<any>;
14
- handleAfterValidation(data: any, errors: any): Promise<void>;
25
+ handleAfterValidation(validationErrors: any, formData: any): Promise<void>;
26
+ handleStepChange(fromStep: number, toStep: number, formData: any): Promise<void>;
15
27
  handleFieldEvent(eventType: 'focus' | 'blur' | 'change', fieldId: string, fieldValue: any, schema?: any, formData?: any, fieldPath?: string[]): Promise<void>;
16
28
  private processWebhooks;
17
29
  private debounceWebhook;
18
30
  private queueWebhook;
19
31
  private processWebhookQueue;
32
+ private cleanEventForWebhook;
33
+ private deepCleanObject;
20
34
  private callWebhook;
21
35
  createFieldEventHandlers(fieldId: string, schema?: any, formData?: any, fieldPath?: string[]): {
22
36
  onFocus: (value: any) => Promise<void>;
@@ -24,4 +38,7 @@ export declare class FormEventHub {
24
38
  onChange: (value: any) => Promise<void>;
25
39
  };
26
40
  cleanup(): void;
41
+ private formatValidationErrors;
42
+ private generateDebounceKey;
43
+ private createStandardizedPayload;
27
44
  }