@fayz-ai/plugin-forms 0.1.1

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 (99) hide show
  1. package/dist/CustomFormsContext.d.ts +15 -0
  2. package/dist/CustomFormsContext.d.ts.map +1 -0
  3. package/dist/FormBuilder-4VKYVZAC.cjs +619 -0
  4. package/dist/FormBuilder-4VKYVZAC.cjs.map +1 -0
  5. package/dist/FormBuilder-KDANEL6Z.js +613 -0
  6. package/dist/FormBuilder-KDANEL6Z.js.map +1 -0
  7. package/dist/chunk-32I43T37.js +198 -0
  8. package/dist/chunk-32I43T37.js.map +1 -0
  9. package/dist/chunk-XLUULIVL.cjs +200 -0
  10. package/dist/chunk-XLUULIVL.cjs.map +1 -0
  11. package/dist/components/AddDocumentDropdown.d.ts +9 -0
  12. package/dist/components/AddDocumentDropdown.d.ts.map +1 -0
  13. package/dist/components/BuilderCanvas.d.ts +12 -0
  14. package/dist/components/BuilderCanvas.d.ts.map +1 -0
  15. package/dist/components/BuilderField.d.ts +11 -0
  16. package/dist/components/BuilderField.d.ts.map +1 -0
  17. package/dist/components/DocumentFormDialog.d.ts +17 -0
  18. package/dist/components/DocumentFormDialog.d.ts.map +1 -0
  19. package/dist/components/DocumentList.d.ts +14 -0
  20. package/dist/components/DocumentList.d.ts.map +1 -0
  21. package/dist/components/FieldConfigDialog.d.ts +12 -0
  22. package/dist/components/FieldConfigDialog.d.ts.map +1 -0
  23. package/dist/components/FieldPalette.d.ts +10 -0
  24. package/dist/components/FieldPalette.d.ts.map +1 -0
  25. package/dist/components/FormBuilder.d.ts +14 -0
  26. package/dist/components/FormBuilder.d.ts.map +1 -0
  27. package/dist/components/FormRenderer.d.ts +11 -0
  28. package/dist/components/FormRenderer.d.ts.map +1 -0
  29. package/dist/components/FormViewer.d.ts +12 -0
  30. package/dist/components/FormViewer.d.ts.map +1 -0
  31. package/dist/components/PersonDocumentsWidget.d.ts +17 -0
  32. package/dist/components/PersonDocumentsWidget.d.ts.map +1 -0
  33. package/dist/components/TemplateSelector.d.ts +11 -0
  34. package/dist/components/TemplateSelector.d.ts.map +1 -0
  35. package/dist/config.d.ts +23 -0
  36. package/dist/config.d.ts.map +1 -0
  37. package/dist/data/index.d.ts +4 -0
  38. package/dist/data/index.d.ts.map +1 -0
  39. package/dist/data/mock.d.ts +3 -0
  40. package/dist/data/mock.d.ts.map +1 -0
  41. package/dist/data/supabase.d.ts +3 -0
  42. package/dist/data/supabase.d.ts.map +1 -0
  43. package/dist/data/types.d.ts +17 -0
  44. package/dist/data/types.d.ts.map +1 -0
  45. package/dist/document-types.d.ts +25 -0
  46. package/dist/document-types.d.ts.map +1 -0
  47. package/dist/index.cjs +1612 -0
  48. package/dist/index.cjs.map +1 -0
  49. package/dist/index.d.ts +6 -0
  50. package/dist/index.d.ts.map +1 -0
  51. package/dist/index.js +1605 -0
  52. package/dist/index.js.map +1 -0
  53. package/dist/lib/tenant.d.ts +3 -0
  54. package/dist/lib/tenant.d.ts.map +1 -0
  55. package/dist/locales/en.d.ts +2 -0
  56. package/dist/locales/en.d.ts.map +1 -0
  57. package/dist/locales/index.d.ts +2 -0
  58. package/dist/locales/index.d.ts.map +1 -0
  59. package/dist/locales/pt-BR.d.ts +2 -0
  60. package/dist/locales/pt-BR.d.ts.map +1 -0
  61. package/dist/store.d.ts +29 -0
  62. package/dist/store.d.ts.map +1 -0
  63. package/dist/types.d.ts +150 -0
  64. package/dist/types.d.ts.map +1 -0
  65. package/dist/views/CustomFormsSettingsTab.d.ts +14 -0
  66. package/dist/views/CustomFormsSettingsTab.d.ts.map +1 -0
  67. package/dist/views/TemplateListView.d.ts +13 -0
  68. package/dist/views/TemplateListView.d.ts.map +1 -0
  69. package/package.json +57 -0
  70. package/src/CustomFormsContext.tsx +28 -0
  71. package/src/components/AddDocumentDropdown.tsx +92 -0
  72. package/src/components/BuilderCanvas.tsx +87 -0
  73. package/src/components/BuilderField.tsx +81 -0
  74. package/src/components/DocumentFormDialog.tsx +134 -0
  75. package/src/components/DocumentList.tsx +250 -0
  76. package/src/components/FieldConfigDialog.tsx +203 -0
  77. package/src/components/FieldPalette.tsx +81 -0
  78. package/src/components/FormBuilder.tsx +345 -0
  79. package/src/components/FormRenderer.tsx +256 -0
  80. package/src/components/FormViewer.tsx +84 -0
  81. package/src/components/PersonDocumentsWidget.tsx +220 -0
  82. package/src/components/TemplateSelector.tsx +91 -0
  83. package/src/config.ts +39 -0
  84. package/src/data/index.ts +3 -0
  85. package/src/data/mock.ts +193 -0
  86. package/src/data/supabase.ts +405 -0
  87. package/src/data/types.ts +33 -0
  88. package/src/document-types.ts +51 -0
  89. package/src/index.ts +195 -0
  90. package/src/lib/tenant.ts +5 -0
  91. package/src/locales/en.ts +75 -0
  92. package/src/locales/index.ts +7 -0
  93. package/src/locales/pt-BR.ts +75 -0
  94. package/src/migrations/001_frm_base.sql +138 -0
  95. package/src/migrations/002_document_archetype.sql +135 -0
  96. package/src/store.ts +167 -0
  97. package/src/types.ts +203 -0
  98. package/src/views/CustomFormsSettingsTab.tsx +115 -0
  99. package/src/views/TemplateListView.tsx +163 -0
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import type { FormFieldDef, FormFieldType } from '../types';
3
+ interface BuilderCanvasProps {
4
+ fields: FormFieldDef[];
5
+ selectedFieldId: string | null;
6
+ onSelectField: (field: FormFieldDef) => void;
7
+ onRemoveField: (fieldId: string) => void;
8
+ draggingFieldType: FormFieldType | null;
9
+ }
10
+ export declare function BuilderCanvas({ fields, selectedFieldId, onSelectField, onRemoveField, draggingFieldType, }: BuilderCanvasProps): React.JSX.Element;
11
+ export {};
12
+ //# sourceMappingURL=BuilderCanvas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BuilderCanvas.d.ts","sourceRoot":"","sources":["../../src/components/BuilderCanvas.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAI3D,UAAU,kBAAkB;IAC1B,MAAM,EAAE,YAAY,EAAE,CAAA;IACtB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,aAAa,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAA;IAC5C,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IACxC,iBAAiB,EAAE,aAAa,GAAG,IAAI,CAAA;CACxC;AAqBD,wBAAgB,aAAa,CAAC,EAC5B,MAAM,EACN,eAAe,EACf,aAAa,EACb,aAAa,EACb,iBAAiB,GAClB,EAAE,kBAAkB,qBA6CpB"}
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ import type { FormFieldDef } from '../types';
3
+ interface BuilderFieldProps {
4
+ field: FormFieldDef;
5
+ onSelect: (field: FormFieldDef) => void;
6
+ onRemove: (fieldId: string) => void;
7
+ isSelected: boolean;
8
+ }
9
+ export declare function BuilderField({ field, onSelect, onRemove, isSelected }: BuilderFieldProps): React.JSX.Element;
10
+ export {};
11
+ //# sourceMappingURL=BuilderField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BuilderField.d.ts","sourceRoot":"","sources":["../../src/components/BuilderField.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAG5C,UAAU,iBAAiB;IACzB,KAAK,EAAE,YAAY,CAAA;IACnB,QAAQ,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAA;IACvC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IACnC,UAAU,EAAE,OAAO,CAAA;CACpB;AAED,wBAAgB,YAAY,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,iBAAiB,qBAiExF"}
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ import type { CustomFormsDataProvider } from '../data/types';
3
+ import type { CustomFormsStore } from '../store';
4
+ import type { FormTemplate, FormDocument } from '../types';
5
+ interface DocumentFormDialogProps {
6
+ template: FormTemplate | null;
7
+ existingDocument?: FormDocument;
8
+ personId: string;
9
+ personName?: string;
10
+ provider: CustomFormsDataProvider;
11
+ store: CustomFormsStore;
12
+ onSaved: () => void;
13
+ onBack: () => void;
14
+ }
15
+ export declare function DocumentFormDialog({ template: initialTemplate, existingDocument, personId, personName, provider, store, onSaved, onBack, }: DocumentFormDialogProps): React.JSX.Element;
16
+ export {};
17
+ //# sourceMappingURL=DocumentFormDialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DocumentFormDialog.d.ts","sourceRoot":"","sources":["../../src/components/DocumentFormDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAA;AAI/D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAA;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAChD,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAU1D,UAAU,uBAAuB;IAC/B,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAA;IAC7B,gBAAgB,CAAC,EAAE,YAAY,CAAA;IAC/B,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,uBAAuB,CAAA;IACjC,KAAK,EAAE,gBAAgB,CAAA;IACvB,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,MAAM,EAAE,MAAM,IAAI,CAAA;CACnB;AAED,wBAAgB,kBAAkB,CAAC,EACjC,QAAQ,EAAE,eAAe,EACzB,gBAAgB,EAChB,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,KAAK,EACL,OAAO,EACP,MAAM,GACP,EAAE,uBAAuB,qBAiGzB"}
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ import type { CustomFormsDataProvider } from '../data/types';
3
+ import type { CustomFormsStore } from '../store';
4
+ import type { FormDocument } from '../types';
5
+ interface DocumentListProps {
6
+ personId: string;
7
+ provider: CustomFormsDataProvider;
8
+ store: CustomFormsStore;
9
+ onView: (doc: FormDocument) => void;
10
+ onFileDrop?: (files: File[]) => void;
11
+ }
12
+ export declare function DocumentList({ personId, provider, store, onView, onFileDrop }: DocumentListProps): React.JSX.Element;
13
+ export {};
14
+ //# sourceMappingURL=DocumentList.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DocumentList.d.ts","sourceRoot":"","sources":["../../src/components/DocumentList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAA;AAIvE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAA;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAChD,OAAO,KAAK,EAAE,YAAY,EAAkB,MAAM,UAAU,CAAA;AAE5D,UAAU,iBAAiB;IACzB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,uBAAuB,CAAA;IACjC,KAAK,EAAE,gBAAgB,CAAA;IACvB,MAAM,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,IAAI,CAAA;IACnC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,CAAA;CACrC;AA8CD,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,iBAAiB,qBA6LhG"}
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import type { FormFieldDef } from '../types';
3
+ interface FieldConfigDrawerProps {
4
+ field: FormFieldDef | null;
5
+ onSave: (updated: FormFieldDef) => void;
6
+ /** Live update without closing — used for visual changes like colSpan */
7
+ onUpdate?: (updated: FormFieldDef) => void;
8
+ onClose: () => void;
9
+ }
10
+ export declare function FieldConfigDrawer({ field, onSave, onUpdate, onClose }: FieldConfigDrawerProps): React.JSX.Element | null;
11
+ export {};
12
+ //# sourceMappingURL=FieldConfigDialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FieldConfigDialog.d.ts","sourceRoot":"","sources":["../../src/components/FieldConfigDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAA;AAalD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAY5C,UAAU,sBAAsB;IAC9B,KAAK,EAAE,YAAY,GAAG,IAAI,CAAA;IAC1B,MAAM,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,CAAA;IACvC,yEAAyE;IACzE,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,CAAA;IAC1C,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB;AAED,wBAAgB,iBAAiB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,sBAAsB,4BAyK7F"}
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import type { FormFieldType } from '../types';
3
+ export interface FieldTypeItem {
4
+ type: FormFieldType;
5
+ icon: React.ElementType;
6
+ }
7
+ export declare const DEFAULT_COL_SPAN: Record<string, number>;
8
+ export declare const FIELD_TYPES: FieldTypeItem[];
9
+ export declare function FieldPalette(): React.JSX.Element;
10
+ //# sourceMappingURL=FieldPalette.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FieldPalette.d.ts","sourceRoot":"","sources":["../../src/components/FieldPalette.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAQzB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAE7C,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,aAAa,CAAA;IACnB,IAAI,EAAE,KAAK,CAAC,WAAW,CAAA;CACxB;AAED,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAanD,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,aAAa,EAatC,CAAA;AAwBD,wBAAgB,YAAY,sBAa3B"}
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ import type { CustomFormsStore } from '../store';
3
+ import type { CustomFormsDataProvider } from '../data/types';
4
+ import type { CustomFormsConfig } from '../config';
5
+ interface FormBuilderProps {
6
+ templateId?: string;
7
+ store: CustomFormsStore;
8
+ provider: CustomFormsDataProvider;
9
+ config: CustomFormsConfig;
10
+ onBack: () => void;
11
+ }
12
+ export declare function FormBuilder({ templateId, store, provider, config, onBack }: FormBuilderProps): React.JSX.Element;
13
+ export {};
14
+ //# sourceMappingURL=FormBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormBuilder.d.ts","sourceRoot":"","sources":["../../src/components/FormBuilder.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAA;AA0B/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAChD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAA;AAC5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAUlD,UAAU,gBAAgB;IACxB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,gBAAgB,CAAA;IACvB,QAAQ,EAAE,uBAAuB,CAAA;IACjC,MAAM,EAAE,iBAAiB,CAAA;IACzB,MAAM,EAAE,MAAM,IAAI,CAAA;CACnB;AAED,wBAAgB,WAAW,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,gBAAgB,qBA0S5F"}
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ import type { FormSchema } from '../types';
3
+ interface FormRendererProps {
4
+ schema: FormSchema;
5
+ data: Record<string, unknown>;
6
+ onChange: (data: Record<string, unknown>) => void;
7
+ readOnly?: boolean;
8
+ }
9
+ export declare function FormRenderer({ schema, data, onChange, readOnly }: FormRendererProps): React.JSX.Element;
10
+ export {};
11
+ //# sourceMappingURL=FormRenderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormRenderer.d.ts","sourceRoot":"","sources":["../../src/components/FormRenderer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsB,MAAM,OAAO,CAAA;AAW1C,OAAO,KAAK,EAAgB,UAAU,EAAE,MAAM,UAAU,CAAA;AAExD,UAAU,iBAAiB;IACzB,MAAM,EAAE,UAAU,CAAA;IAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAA;IACjD,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAkND,wBAAgB,YAAY,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,iBAAiB,qBA2BnF"}
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import type { CustomFormsDataProvider } from '../data/types';
3
+ import type { FormDocument } from '../types';
4
+ interface FormViewerProps {
5
+ document: FormDocument;
6
+ provider: CustomFormsDataProvider;
7
+ onBack: () => void;
8
+ onEdit?: (doc: FormDocument) => void;
9
+ }
10
+ export declare function FormViewer({ document: doc, provider, onBack, onEdit }: FormViewerProps): React.JSX.Element;
11
+ export {};
12
+ //# sourceMappingURL=FormViewer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormViewer.d.ts","sourceRoot":"","sources":["../../src/components/FormViewer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAA;AAKlD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAA;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAgB,MAAM,UAAU,CAAA;AAG1D,UAAU,eAAe;IACvB,QAAQ,EAAE,YAAY,CAAA;IACtB,QAAQ,EAAE,uBAAuB,CAAA;IACjC,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,IAAI,CAAA;CACrC;AASD,wBAAgB,UAAU,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,eAAe,qBA4DtF"}
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ import type { CustomFormsConfig } from '../config';
3
+ import type { CustomFormsDataProvider } from '../data/types';
4
+ import type { CustomFormsStore } from '../store';
5
+ interface PersonDocumentsWidgetProps {
6
+ item: {
7
+ id: string;
8
+ name?: string;
9
+ [key: string]: any;
10
+ };
11
+ config: CustomFormsConfig;
12
+ provider: CustomFormsDataProvider;
13
+ store: CustomFormsStore;
14
+ }
15
+ export declare function PersonDocumentsWidget({ item, config, provider, store }: PersonDocumentsWidgetProps): React.JSX.Element;
16
+ export {};
17
+ //# sourceMappingURL=PersonDocumentsWidget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PersonDocumentsWidget.d.ts","sourceRoot":"","sources":["../../src/components/PersonDocumentsWidget.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwC,MAAM,OAAO,CAAA;AAI5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAClD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAA;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAQhD,UAAU,0BAA0B;IAClC,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAA;IACvD,MAAM,EAAE,iBAAiB,CAAA;IACzB,QAAQ,EAAE,uBAAuB,CAAA;IACjC,KAAK,EAAE,gBAAgB,CAAA;CACxB;AAQD,wBAAgB,qBAAqB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,0BAA0B,qBAmJlG"}
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ import type { CustomFormsDataProvider } from '../data/types';
3
+ import type { FormTemplate } from '../types';
4
+ interface TemplateSelectorProps {
5
+ provider: CustomFormsDataProvider;
6
+ onSelect: (template: FormTemplate) => void;
7
+ onClose: () => void;
8
+ }
9
+ export declare function TemplateSelector({ provider, onSelect, onClose }: TemplateSelectorProps): React.JSX.Element;
10
+ export {};
11
+ //# sourceMappingURL=TemplateSelector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TemplateSelector.d.ts","sourceRoot":"","sources":["../../src/components/TemplateSelector.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAA;AAKlD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAA;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAE5C,UAAU,qBAAqB;IAC7B,QAAQ,EAAE,uBAAuB,CAAA;IACjC,QAAQ,EAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,IAAI,CAAA;IAC1C,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB;AAED,wBAAgB,gBAAgB,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,qBAAqB,qBA4EtF"}
@@ -0,0 +1,23 @@
1
+ import type { PluginScope, VerticalId } from '@fayz-ai/core';
2
+ import type { CustomFormsDataProvider } from './data/types';
3
+ export interface CustomFormsPluginOptions {
4
+ scope?: PluginScope;
5
+ verticalId?: VerticalId;
6
+ dataProvider?: CustomFormsDataProvider;
7
+ navSection?: 'main' | 'secondary' | 'settings';
8
+ navPosition?: number;
9
+ labels?: Partial<CustomFormsLabels>;
10
+ }
11
+ export interface CustomFormsLabels {
12
+ pageTitle: string;
13
+ settingsLabel: string;
14
+ templates: string;
15
+ documents: string;
16
+ newTemplate: string;
17
+ addDocument: string;
18
+ }
19
+ export interface CustomFormsConfig {
20
+ labels: CustomFormsLabels;
21
+ }
22
+ export declare function resolveConfig(options?: CustomFormsPluginOptions): CustomFormsConfig;
23
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC5D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAA;AAE3D,MAAM,WAAW,wBAAwB;IACvC,KAAK,CAAC,EAAE,WAAW,CAAA;IACnB,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,YAAY,CAAC,EAAE,uBAAuB,CAAA;IACtC,UAAU,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,UAAU,CAAA;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAA;CACpC;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,MAAM,CAAA;IACrB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,iBAAiB,CAAA;CAC1B;AAWD,wBAAgB,aAAa,CAAC,OAAO,CAAC,EAAE,wBAAwB,GAAG,iBAAiB,CAInF"}
@@ -0,0 +1,4 @@
1
+ export type { CustomFormsDataProvider } from './types';
2
+ export { createMockFormsProvider } from './mock';
3
+ export { createSupabaseFormsProvider } from './supabase';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/data/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAA;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,QAAQ,CAAA;AAChD,OAAO,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAA"}
@@ -0,0 +1,3 @@
1
+ import type { CustomFormsDataProvider } from './types';
2
+ export declare function createMockFormsProvider(): CustomFormsDataProvider;
3
+ //# sourceMappingURL=mock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mock.d.ts","sourceRoot":"","sources":["../../src/data/mock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAA;AAsBtD,wBAAgB,uBAAuB,IAAI,uBAAuB,CA0KjE"}
@@ -0,0 +1,3 @@
1
+ import type { CustomFormsDataProvider } from './types';
2
+ export declare function createSupabaseFormsProvider(): CustomFormsDataProvider;
3
+ //# sourceMappingURL=supabase.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"supabase.d.ts","sourceRoot":"","sources":["../../src/data/supabase.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAA;AAgGtD,wBAAgB,2BAA2B,IAAI,uBAAuB,CAmTrE"}
@@ -0,0 +1,17 @@
1
+ import type { FormTemplate, FormDocument, DocumentFile, TemplateQuery, DocumentQuery, PaginatedResult, CreateTemplateInput, UpdateTemplateInput, CreateDocumentInput, UpdateDocumentInput } from '../types';
2
+ export interface CustomFormsDataProvider {
3
+ getTemplates(query: TemplateQuery): Promise<PaginatedResult<FormTemplate>>;
4
+ getTemplateById(id: string): Promise<FormTemplate | null>;
5
+ createTemplate(input: CreateTemplateInput): Promise<FormTemplate>;
6
+ updateTemplate(id: string, input: UpdateTemplateInput): Promise<FormTemplate>;
7
+ deleteTemplate(id: string): Promise<void>;
8
+ getDocuments(query: DocumentQuery): Promise<PaginatedResult<FormDocument>>;
9
+ getDocumentById(id: string): Promise<FormDocument | null>;
10
+ createDocument(input: CreateDocumentInput): Promise<FormDocument>;
11
+ updateDocument(id: string, input: UpdateDocumentInput): Promise<FormDocument>;
12
+ deleteDocument(id: string): Promise<void>;
13
+ getDocumentFiles(documentId: string): Promise<DocumentFile[]>;
14
+ uploadFile(documentId: string, fieldKey: string, file: File): Promise<DocumentFile>;
15
+ deleteFile(fileId: string): Promise<void>;
16
+ }
17
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/data/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,aAAa,EACb,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,UAAU,CAAA;AAEjB,MAAM,WAAW,uBAAuB;IAEtC,YAAY,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAA;IAC1E,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAA;IACzD,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;IACjE,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;IAC7E,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAGzC,YAAY,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAA;IAC1E,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAA;IACzD,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;IACjE,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;IAC7E,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAGzC,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAA;IAC7D,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;IACnF,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1C"}
@@ -0,0 +1,25 @@
1
+ import type React from 'react';
2
+ export interface DocumentTypeOption {
3
+ /** Unique id, e.g. 'custom_forms:template:abc123' or 'core:image' */
4
+ id: string;
5
+ label: string;
6
+ icon: React.ElementType;
7
+ /** Group label for dropdown sections (e.g. 'Formulários', 'Arquivos') */
8
+ group: string;
9
+ /** Group sort order — lower groups appear first */
10
+ groupOrder?: number;
11
+ /** Sort order within group */
12
+ order?: number;
13
+ /** Description shown below label */
14
+ description?: string;
15
+ }
16
+ export interface DocumentTypeProvider {
17
+ /** Unique provider id, e.g. 'custom_forms', 'core_files' */
18
+ id: string;
19
+ /** Returns available document types for a given person */
20
+ getTypes(personId: string): DocumentTypeOption[] | Promise<DocumentTypeOption[]>;
21
+ }
22
+ export declare function registerDocumentTypeProvider(provider: DocumentTypeProvider): void;
23
+ export declare function getDocumentTypeProviders(): DocumentTypeProvider[];
24
+ export declare function getAllDocumentTypes(personId: string): Promise<DocumentTypeOption[]>;
25
+ //# sourceMappingURL=document-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document-types.d.ts","sourceRoot":"","sources":["../src/document-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAO9B,MAAM,WAAW,kBAAkB;IACjC,qEAAqE;IACrE,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,KAAK,CAAC,WAAW,CAAA;IACvB,yEAAyE;IACzE,KAAK,EAAE,MAAM,CAAA;IACb,mDAAmD;IACnD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,oCAAoC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC,4DAA4D;IAC5D,EAAE,EAAE,MAAM,CAAA;IACV,0DAA0D;IAC1D,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,kBAAkB,EAAE,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAA;CACjF;AAMD,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,oBAAoB,QAG1E;AAED,wBAAgB,wBAAwB,IAAI,oBAAoB,EAAE,CAEjE;AAED,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAQzF"}