@donotdev/crud 0.0.6 → 0.0.7
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.
- package/README.md +18 -2
- package/dist/CrudService.d.ts +91 -8
- package/dist/CrudService.d.ts.map +1 -1
- package/dist/CrudService.js +1 -1
- package/dist/CrudStore.d.ts +45 -2
- package/dist/CrudStore.d.ts.map +1 -1
- package/dist/CrudStore.js +1 -1
- package/dist/FieldRegistry.d.ts +56 -20
- package/dist/FieldRegistry.d.ts.map +1 -1
- package/dist/FieldRegistry.js +1 -1
- package/dist/adapters/FirestoreAdapter.d.ts +4 -4
- package/dist/adapters/FirestoreAdapter.d.ts.map +1 -1
- package/dist/adapters/FirestoreAdapter.js +1 -1
- package/dist/adapters/FunctionsAdapter.d.ts +3 -2
- package/dist/adapters/FunctionsAdapter.d.ts.map +1 -1
- package/dist/adapters/FunctionsAdapter.js +1 -1
- package/dist/builtinFieldTypes.d.ts +4 -0
- package/dist/builtinFieldTypes.d.ts.map +1 -1
- package/dist/builtinFieldTypes.js +1 -1
- package/dist/components/CrudButton.d.ts +1 -1
- package/dist/components/CrudButton.d.ts.map +1 -1
- package/dist/components/CrudButton.js +1 -1
- package/dist/components/DisplayFieldRenderer.d.ts +15 -11
- package/dist/components/DisplayFieldRenderer.d.ts.map +1 -1
- package/dist/components/DisplayFieldRenderer.js +1 -1
- package/dist/components/EntityCardList.d.ts +27 -0
- package/dist/components/EntityCardList.d.ts.map +1 -0
- package/dist/components/EntityCardList.js +1 -0
- package/dist/components/EntityDisplayRenderer.d.ts +43 -0
- package/dist/components/EntityDisplayRenderer.d.ts.map +1 -0
- package/dist/components/EntityDisplayRenderer.js +1 -0
- package/dist/components/EntityFormRenderer.d.ts +21 -26
- package/dist/components/EntityFormRenderer.d.ts.map +1 -1
- package/dist/components/EntityFormRenderer.js +1 -5
- package/dist/components/EntityList.d.ts +24 -0
- package/dist/components/EntityList.d.ts.map +1 -0
- package/dist/components/EntityList.js +1 -0
- package/dist/components/FormFieldRenderer.d.ts +3 -10
- package/dist/components/FormFieldRenderer.d.ts.map +1 -1
- package/dist/components/FormFieldRenderer.js +1 -1
- package/dist/components/FormLayout.d.ts +1 -9
- package/dist/components/FormLayout.d.ts.map +1 -1
- package/dist/components/controlled/complex/ControlledAddressField.d.ts +8 -0
- package/dist/components/controlled/complex/ControlledAddressField.d.ts.map +1 -0
- package/dist/components/controlled/complex/ControlledAddressField.js +1 -0
- package/dist/components/controlled/complex/ControlledDateField.d.ts +8 -0
- package/dist/components/controlled/complex/ControlledDateField.d.ts.map +1 -0
- package/dist/components/controlled/complex/ControlledDateField.js +1 -0
- package/dist/components/controlled/complex/ControlledGeoPointField.d.ts +8 -0
- package/dist/components/controlled/complex/ControlledGeoPointField.d.ts.map +1 -0
- package/dist/components/controlled/complex/ControlledGeoPointField.js +1 -0
- package/dist/components/controlled/complex/ControlledMapField.d.ts +8 -0
- package/dist/components/controlled/complex/ControlledMapField.d.ts.map +1 -0
- package/dist/components/controlled/complex/ControlledMapField.js +1 -0
- package/dist/components/controlled/complex/ControlledMultiInputField.d.ts +8 -0
- package/dist/components/controlled/complex/ControlledMultiInputField.d.ts.map +1 -0
- package/dist/components/controlled/complex/ControlledMultiInputField.js +1 -0
- package/dist/components/controlled/complex/ControlledRichTextField.d.ts +8 -0
- package/dist/components/controlled/complex/ControlledRichTextField.d.ts.map +1 -0
- package/dist/components/controlled/complex/ControlledRichTextField.js +1 -0
- package/dist/components/controlled/complex/ControlledTimestampField.d.ts +8 -0
- package/dist/components/controlled/complex/ControlledTimestampField.d.ts.map +1 -0
- package/dist/components/controlled/complex/ControlledTimestampField.js +1 -0
- package/dist/components/controlled/complex/index.d.ts +8 -0
- package/dist/components/controlled/complex/index.d.ts.map +1 -0
- package/dist/components/controlled/complex/index.js +1 -0
- package/dist/components/controlled/file/ControlledDocumentField.d.ts +8 -0
- package/dist/components/controlled/file/ControlledDocumentField.d.ts.map +1 -0
- package/dist/components/controlled/file/ControlledDocumentField.js +1 -0
- package/dist/components/controlled/file/ControlledFileField.d.ts +8 -0
- package/dist/components/controlled/file/ControlledFileField.d.ts.map +1 -0
- package/dist/components/controlled/file/ControlledFileField.js +1 -0
- package/dist/components/controlled/file/ControlledImageField.d.ts +8 -0
- package/dist/components/controlled/file/ControlledImageField.d.ts.map +1 -0
- package/dist/components/controlled/file/ControlledImageField.js +1 -0
- package/dist/components/controlled/file/ControlledMultiDocumentField.d.ts +8 -0
- package/dist/components/controlled/file/ControlledMultiDocumentField.d.ts.map +1 -0
- package/dist/components/controlled/file/ControlledMultiDocumentField.js +1 -0
- package/dist/components/controlled/file/ControlledMultiFileField.d.ts +8 -0
- package/dist/components/controlled/file/ControlledMultiFileField.d.ts.map +1 -0
- package/dist/components/controlled/file/ControlledMultiFileField.js +1 -0
- package/dist/components/controlled/file/ControlledMultiImageField.d.ts +8 -0
- package/dist/components/controlled/file/ControlledMultiImageField.d.ts.map +1 -0
- package/dist/components/controlled/file/ControlledMultiImageField.js +1 -0
- package/dist/components/controlled/file/index.d.ts +7 -0
- package/dist/components/controlled/file/index.d.ts.map +1 -0
- package/dist/components/controlled/file/index.js +1 -0
- package/dist/components/controlled/index.d.ts +12 -0
- package/dist/components/controlled/index.d.ts.map +1 -0
- package/dist/components/controlled/index.js +1 -0
- package/dist/components/controlled/input/ControlledCheckboxField.d.ts +8 -0
- package/dist/components/controlled/input/ControlledCheckboxField.d.ts.map +1 -0
- package/dist/components/controlled/input/ControlledCheckboxField.js +1 -0
- package/dist/components/controlled/input/ControlledNumberField.d.ts +8 -0
- package/dist/components/controlled/input/ControlledNumberField.d.ts.map +1 -0
- package/dist/components/controlled/input/ControlledNumberField.js +1 -0
- package/dist/components/controlled/input/ControlledPasswordField.d.ts +8 -0
- package/dist/components/controlled/input/ControlledPasswordField.d.ts.map +1 -0
- package/dist/components/controlled/input/ControlledPasswordField.js +1 -0
- package/dist/components/controlled/input/ControlledPhoneField.d.ts +8 -0
- package/dist/components/controlled/input/ControlledPhoneField.d.ts.map +1 -0
- package/dist/components/controlled/input/ControlledPhoneField.js +1 -0
- package/dist/components/controlled/input/ControlledRangeField.d.ts +8 -0
- package/dist/components/controlled/input/ControlledRangeField.d.ts.map +1 -0
- package/dist/components/controlled/input/ControlledRangeField.js +1 -0
- package/dist/components/controlled/input/ControlledSwitchField.d.ts +8 -0
- package/dist/components/controlled/input/ControlledSwitchField.d.ts.map +1 -0
- package/dist/components/controlled/input/ControlledSwitchField.js +1 -0
- package/dist/components/controlled/input/ControlledTextField.d.ts +8 -0
- package/dist/components/controlled/input/ControlledTextField.d.ts.map +1 -0
- package/dist/components/controlled/input/ControlledTextField.js +1 -0
- package/dist/components/controlled/input/ControlledTextareaField.d.ts +8 -0
- package/dist/components/controlled/input/ControlledTextareaField.d.ts.map +1 -0
- package/dist/components/controlled/input/ControlledTextareaField.js +1 -0
- package/dist/components/controlled/input/index.d.ts +9 -0
- package/dist/components/controlled/input/index.d.ts.map +1 -0
- package/dist/components/controlled/input/index.js +1 -0
- package/dist/components/controlled/select/ControlledComboboxField.d.ts +9 -0
- package/dist/components/controlled/select/ControlledComboboxField.d.ts.map +1 -0
- package/dist/components/controlled/select/ControlledComboboxField.js +1 -0
- package/dist/components/controlled/select/ControlledDropdownField.d.ts +9 -0
- package/dist/components/controlled/select/ControlledDropdownField.d.ts.map +1 -0
- package/dist/components/controlled/select/ControlledDropdownField.js +1 -0
- package/dist/components/controlled/select/ControlledMultiDropdownField.d.ts +9 -0
- package/dist/components/controlled/select/ControlledMultiDropdownField.d.ts.map +1 -0
- package/dist/components/controlled/select/ControlledMultiDropdownField.js +1 -0
- package/dist/components/controlled/select/ControlledRadioField.d.ts +9 -0
- package/dist/components/controlled/select/ControlledRadioField.d.ts.map +1 -0
- package/dist/components/controlled/select/ControlledRadioField.js +1 -0
- package/dist/components/controlled/select/index.d.ts +5 -0
- package/dist/components/controlled/select/index.d.ts.map +1 -0
- package/dist/components/controlled/select/index.js +1 -0
- package/dist/components/controlled/types.d.ts +23 -0
- package/dist/components/controlled/types.d.ts.map +1 -0
- package/dist/components/controlled/types.js +1 -0
- package/dist/components/form/fields/AddressFieldComponent.d.ts.map +1 -1
- package/dist/components/form/fields/AddressFieldComponent.js +1 -1
- package/dist/components/form/fields/AvatarFieldComponent.d.ts +2 -2
- package/dist/components/form/fields/BadgeFieldComponent.d.ts +2 -2
- package/dist/components/form/fields/ButtonFieldComponent.d.ts +1 -9
- package/dist/components/form/fields/ButtonFieldComponent.d.ts.map +1 -1
- package/dist/components/form/fields/ButtonFieldComponent.js +1 -1
- package/dist/components/form/fields/ComboboxComponent.d.ts.map +1 -1
- package/dist/components/form/fields/CurrencyFieldComponent.d.ts +1 -9
- package/dist/components/form/fields/CurrencyFieldComponent.d.ts.map +1 -1
- package/dist/components/form/fields/CurrencyFieldComponent.js +1 -1
- package/dist/components/form/fields/DateFieldComponent.d.ts.map +1 -1
- package/dist/components/form/fields/DateFieldComponent.js +1 -1
- package/dist/components/form/fields/DocumentFieldComponent.d.ts +47 -0
- package/dist/components/form/fields/DocumentFieldComponent.d.ts.map +1 -0
- package/dist/components/form/fields/DocumentFieldComponent.js +1 -0
- package/dist/components/form/fields/DropdownComponent.d.ts.map +1 -1
- package/dist/components/form/fields/DropdownComponent.js +1 -1
- package/dist/components/form/fields/FileFieldComponent.d.ts +31 -15
- package/dist/components/form/fields/FileFieldComponent.d.ts.map +1 -1
- package/dist/components/form/fields/FileFieldComponent.js +1 -1
- package/dist/components/form/fields/GeoPointFieldComponent.d.ts.map +1 -1
- package/dist/components/form/fields/GeoPointFieldComponent.js +1 -1
- package/dist/components/form/fields/HiddenFieldComponent.d.ts +1 -1
- package/dist/components/form/fields/HiddenFieldComponent.d.ts.map +1 -1
- package/dist/components/form/fields/HiddenFieldComponent.js +1 -1
- package/dist/components/form/fields/ImageFieldComponent.d.ts +8 -14
- package/dist/components/form/fields/ImageFieldComponent.d.ts.map +1 -1
- package/dist/components/form/fields/ImageFieldComponent.js +1 -1
- package/dist/components/form/fields/MapFieldComponent.d.ts.map +1 -1
- package/dist/components/form/fields/MapFieldComponent.js +1 -1
- package/dist/components/form/fields/MultiDropdownComponent.js +1 -1
- package/dist/components/form/fields/MultiInputTextFieldComponent.d.ts +1 -9
- package/dist/components/form/fields/MultiInputTextFieldComponent.d.ts.map +1 -1
- package/dist/components/form/fields/MultiInputTextFieldComponent.js +1 -1
- package/dist/components/form/fields/NumberFieldComponent.d.ts +2 -0
- package/dist/components/form/fields/NumberFieldComponent.d.ts.map +1 -1
- package/dist/components/form/fields/NumberFieldComponent.js +1 -1
- package/dist/components/form/fields/PasswordFieldComponent.d.ts +1 -9
- package/dist/components/form/fields/PasswordFieldComponent.d.ts.map +1 -1
- package/dist/components/form/fields/PhoneNumberComponent.d.ts +1 -9
- package/dist/components/form/fields/PhoneNumberComponent.d.ts.map +1 -1
- package/dist/components/form/fields/PhoneNumberComponent.js +1 -1
- package/dist/components/form/fields/RadioFieldComponent.d.ts +1 -9
- package/dist/components/form/fields/RadioFieldComponent.d.ts.map +1 -1
- package/dist/components/form/fields/ReferenceFieldComponent.d.ts +33 -12
- package/dist/components/form/fields/ReferenceFieldComponent.d.ts.map +1 -1
- package/dist/components/form/fields/ReferenceFieldComponent.js +1 -1
- package/dist/components/form/fields/RichTextComponent.d.ts +32 -0
- package/dist/components/form/fields/RichTextComponent.d.ts.map +1 -0
- package/dist/components/form/fields/RichTextComponent.js +1 -0
- package/dist/components/form/fields/SwitchFieldComponent.d.ts.map +1 -1
- package/dist/components/form/fields/TextAreaComponent.d.ts +1 -9
- package/dist/components/form/fields/TextAreaComponent.d.ts.map +1 -1
- package/dist/components/form/fields/TextAreaComponent.js +1 -1
- package/dist/components/form/fields/TextFieldComponent.d.ts +1 -9
- package/dist/components/form/fields/TextFieldComponent.d.ts.map +1 -1
- package/dist/components/form/fields/index.d.ts +4 -2
- package/dist/components/form/fields/index.d.ts.map +1 -1
- package/dist/components/form/fields/index.js +1 -1
- package/dist/components/form/fields/internal/TiptapEditor.d.ts +13 -0
- package/dist/components/form/fields/internal/TiptapEditor.d.ts.map +1 -0
- package/dist/components/form/fields/internal/TiptapEditor.js +52 -0
- package/dist/components/form/index.d.ts +10 -0
- package/dist/components/form/index.d.ts.map +1 -0
- package/dist/components/form/index.js +1 -0
- package/dist/components/form/internal/ImageViewerDialog.d.ts +1 -1
- package/dist/components/form/internal/ImageViewerDialog.d.ts.map +1 -1
- package/dist/components/index.d.ts +8 -2
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +1 -1
- package/dist/contexts/UploadContext.d.ts +16 -0
- package/dist/contexts/UploadContext.d.ts.map +1 -0
- package/dist/contexts/UploadContext.js +1 -0
- package/dist/contexts/index.d.ts +3 -0
- package/dist/contexts/index.d.ts.map +1 -0
- package/dist/contexts/index.js +1 -0
- package/dist/forms/hooks/index.d.ts +2 -0
- package/dist/forms/hooks/index.d.ts.map +1 -1
- package/dist/forms/hooks/index.js +1 -1
- package/dist/forms/hooks/useController.d.ts +29 -0
- package/dist/forms/hooks/useController.d.ts.map +1 -0
- package/dist/forms/hooks/useController.js +1 -0
- package/dist/forms/hooks/useEntityField.d.ts.map +1 -1
- package/dist/forms/hooks/useEntityField.js +1 -1
- package/dist/forms/hooks/useEntityForm.d.ts +8 -76
- package/dist/forms/hooks/useEntityForm.d.ts.map +1 -1
- package/dist/forms/hooks/useEntityForm.js +1 -1
- package/dist/forms/index.d.ts +6 -4
- package/dist/forms/index.d.ts.map +1 -1
- package/dist/forms/index.js +1 -1
- package/dist/forms/types.d.ts +31 -5
- package/dist/forms/types.d.ts.map +1 -1
- package/dist/forms/utils/getFieldsForOperation.d.ts +5 -5
- package/dist/forms/utils/getFieldsForOperation.d.ts.map +1 -1
- package/dist/forms/utils/getFieldsForOperation.js +1 -1
- package/dist/forms/utils/index.d.ts +9 -5
- package/dist/forms/utils/index.d.ts.map +1 -1
- package/dist/forms/utils/index.js +1 -1
- package/dist/forms/utils/isFieldEditable.d.ts +0 -8
- package/dist/forms/utils/isFieldEditable.d.ts.map +1 -1
- package/dist/forms/utils/optionHelpers.d.ts +54 -0
- package/dist/forms/utils/optionHelpers.d.ts.map +1 -0
- package/dist/forms/utils/optionHelpers.js +1 -0
- package/dist/forms/utils/translateFieldLabel.d.ts +70 -0
- package/dist/forms/utils/translateFieldLabel.d.ts.map +1 -0
- package/dist/forms/utils/translateFieldLabel.js +1 -0
- package/dist/forms/utils/validateEntity.d.ts +5 -2
- package/dist/forms/utils/validateEntity.d.ts.map +1 -1
- package/dist/forms/utils/validateEntity.js +1 -1
- package/dist/hooks/index.d.ts +3 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +1 -0
- package/dist/hooks/useFileUpload.d.ts +67 -0
- package/dist/hooks/useFileUpload.d.ts.map +1 -0
- package/dist/hooks/useFileUpload.js +1 -0
- package/dist/index.d.ts +15 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/stores/FormStore.d.ts +78 -0
- package/dist/stores/FormStore.d.ts.map +1 -0
- package/dist/stores/FormStore.js +1 -0
- package/dist/stores/UploadStore.d.ts +105 -0
- package/dist/stores/UploadStore.d.ts.map +1 -0
- package/dist/stores/UploadStore.js +1 -0
- package/dist/stores/index.d.ts +11 -0
- package/dist/stores/index.d.ts.map +1 -0
- package/dist/stores/index.js +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/useCrud.d.ts +32 -74
- package/dist/useCrud.d.ts.map +1 -1
- package/dist/useCrud.js +1 -1
- package/dist/useCrudCardList.d.ts +62 -0
- package/dist/useCrudCardList.d.ts.map +1 -0
- package/dist/useCrudCardList.js +1 -0
- package/dist/useCrudList.d.ts +61 -0
- package/dist/useCrudList.d.ts.map +1 -0
- package/dist/useCrudList.js +1 -0
- package/dist/utils/fileStorage.d.ts +58 -0
- package/dist/utils/fileStorage.d.ts.map +1 -0
- package/dist/utils/fileStorage.js +1 -0
- package/dist/utils/imageProcessing.d.ts +1 -1
- package/dist/utils/imageProcessing.d.ts.map +1 -1
- package/dist/utils/imageProcessing.js +1 -1
- package/dist/utils/imageStorage.d.ts +1 -10
- package/dist/utils/imageStorage.d.ts.map +1 -1
- package/dist/utils/imageStorage.js +1 -1
- package/dist/utils/mergeWithOptimistic.d.ts +27 -0
- package/dist/utils/mergeWithOptimistic.d.ts.map +1 -0
- package/dist/utils/mergeWithOptimistic.js +1 -0
- package/dist/utils/uploadValidation.d.ts +37 -0
- package/dist/utils/uploadValidation.d.ts.map +1 -0
- package/dist/utils/uploadValidation.js +1 -0
- package/package.json +22 -5
- package/dist/components/ControlledFields.d.ts +0 -49
- package/dist/components/ControlledFields.d.ts.map +0 -1
- package/dist/components/ControlledFields.js +0 -1
- package/dist/context/FormUploadContext.d.ts +0 -36
- package/dist/context/FormUploadContext.d.ts.map +0 -1
- package/dist/context/FormUploadContext.js +0 -1
- package/dist/context/index.d.ts +0 -2
- package/dist/context/index.d.ts.map +0 -1
- package/dist/context/index.js +0 -1
- package/dist/forms/utils/createEntitySchema.d.ts +0 -53
- package/dist/forms/utils/createEntitySchema.d.ts.map +0 -1
- package/dist/forms/utils/createEntitySchema.js +0 -1
- package/dist/forms/utils/normalizeToFieldConfig.d.ts +0 -47
- package/dist/forms/utils/normalizeToFieldConfig.d.ts.map +0 -1
- package/dist/forms/utils/normalizeToFieldConfig.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RadioFieldComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/form/fields/RadioFieldComponent.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RadioFieldComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/form/fields/RadioFieldComponent.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAExD,MAAM,WAAW,wBAAwB;IACvC,kBAAkB;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,qBAAqB;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2DAA2D;IAC3D,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IAClE,8BAA8B;IAC9B,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,kBAAkB;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,kBAAkB;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oCAAoC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,QAAA,MAAM,mBAAmB,EAAE,aAAa,CAAC,wBAAwB,CA4ChE,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
|
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
/** Option format for reference field */
|
|
2
|
+
export interface ReferenceOption {
|
|
3
|
+
/** Document ID */
|
|
4
|
+
id: string;
|
|
5
|
+
/** Display label (e.g., name) */
|
|
6
|
+
label: string;
|
|
7
|
+
/** Optional description for search */
|
|
8
|
+
description?: string;
|
|
9
|
+
}
|
|
1
10
|
/**
|
|
2
11
|
* Reference field component props
|
|
3
12
|
*/
|
|
@@ -6,14 +15,12 @@ export interface ReferenceFieldComponentProps {
|
|
|
6
15
|
label: string;
|
|
7
16
|
/** Selected reference document ID */
|
|
8
17
|
value?: string;
|
|
9
|
-
/** Change handler */
|
|
18
|
+
/** Change handler - receives selected ID */
|
|
10
19
|
onChange: (value: string) => void;
|
|
11
|
-
/**
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
|
|
15
|
-
/** Field to display (e.g. 'name') */
|
|
16
|
-
displayField?: string;
|
|
20
|
+
/** Available options to select from */
|
|
21
|
+
options: ReferenceOption[];
|
|
22
|
+
/** Loading state */
|
|
23
|
+
isLoading?: boolean;
|
|
17
24
|
/** Error state */
|
|
18
25
|
error?: boolean;
|
|
19
26
|
/** Helper text */
|
|
@@ -22,16 +29,30 @@ export interface ReferenceFieldComponentProps {
|
|
|
22
29
|
required?: boolean;
|
|
23
30
|
/** Blur handler */
|
|
24
31
|
onBlur?: () => void;
|
|
32
|
+
/** Callback to create new item - opens modal, returns new ID */
|
|
33
|
+
onCreate?: () => void;
|
|
34
|
+
/** Placeholder text */
|
|
35
|
+
placeholder?: string;
|
|
25
36
|
}
|
|
26
37
|
/**
|
|
27
38
|
* Reference field component for selecting related documents
|
|
28
|
-
*
|
|
29
|
-
*
|
|
39
|
+
*
|
|
40
|
+
* Pattern: Receives options as props, doesn't fetch its own data.
|
|
41
|
+
* Use ControlledReferenceField for automatic data fetching via useCrud.
|
|
30
42
|
*
|
|
31
43
|
* @component
|
|
32
|
-
* @
|
|
33
|
-
*
|
|
44
|
+
* @example
|
|
45
|
+
* ```tsx
|
|
46
|
+
* <ReferenceFieldComponent
|
|
47
|
+
* label="Customer"
|
|
48
|
+
* value={customerId}
|
|
49
|
+
* onChange={setCustomerId}
|
|
50
|
+
* options={customers.map(c => ({ id: c.id, label: c.name }))}
|
|
51
|
+
* isLoading={loading}
|
|
52
|
+
* onCreate={() => openCustomerModal()}
|
|
53
|
+
* />
|
|
54
|
+
* ```
|
|
34
55
|
*/
|
|
35
|
-
declare const ReferenceFieldComponent: ({ label, value, onChange,
|
|
56
|
+
declare const ReferenceFieldComponent: ({ label, value, onChange, options, isLoading, error, helperText, required, onBlur, onCreate, placeholder, }: ReferenceFieldComponentProps) => import("react/jsx-runtime").JSX.Element;
|
|
36
57
|
export default ReferenceFieldComponent;
|
|
37
58
|
//# sourceMappingURL=ReferenceFieldComponent.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReferenceFieldComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/form/fields/ReferenceFieldComponent.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ReferenceFieldComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/form/fields/ReferenceFieldComponent.tsx"],"names":[],"mappings":"AAmBA,wCAAwC;AACxC,MAAM,WAAW,eAAe;IAC9B,kBAAkB;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,iCAAiC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,sCAAsC;IACtC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,kBAAkB;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,qCAAqC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,uCAAuC;IACvC,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,oBAAoB;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,kBAAkB;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,kBAAkB;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oCAAoC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mBAAmB;IACnB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,gEAAgE;IAChE,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,uBAAuB;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,QAAA,MAAM,uBAAuB,GAAI,6GAY9B,4BAA4B,4CA4E9B,CAAC;AAEF,eAAe,uBAAuB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as
|
|
1
|
+
import{jsx as t,jsxs as l}from"react/jsx-runtime";import"lucide-react";import{useMemo as z,useId as S}from"react";import{Combobox as A,Stack as d}from"@donotdev/components";import{useTranslation as I}from"@donotdev/core";const O=({label:r,value:s,onChange:u,options:a,isLoading:f=!1,error:p,helperText:o,required:m,onBlur:h,onCreate:$,placeholder:g})=>{const{t:i}=I("crud"),c=S(),v=z(()=>a.map(e=>({value:e.id,label:e.label,description:e.description})),[a]),x=e=>{const j=Array.isArray(e)?e[0]||"":e;u(j)},C=e=>{e||h?.()},n=!!p,b=`${c}-error`,y=`${c}-helper`;return l(d,{gap:"tight",children:[t(A,{label:r,value:s||"",onValueChange:x,onOpenChange:C,placeholder:g||i("reference.placeholder",{label:r})||`Select ${r}`,emptyMessage:i("reference.noResults")||"No results found",options:v,required:m,variant:n?"destructive":void 0,isLoading:f,clearable:!!s}),n&&l(d,{id:b,direction:"row",align:"center",gap:"tight",style:{fontSize:"var(--font-size-xs)",color:"var(--destructive-foreground)"},role:"alert",children:[t("span",{children:"\u26A0"}),o]}),o&&!n&&t("p",{id:y,style:{fontSize:"var(--font-size-xs)",color:"var(--muted-foreground)"},children:o})]})};var F=O;export{F as default};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { ChangeEvent, ComponentType } from 'react';
|
|
2
|
+
export interface RichTextComponentProps {
|
|
3
|
+
/** Field label */
|
|
4
|
+
label: string;
|
|
5
|
+
/** Current HTML value */
|
|
6
|
+
value?: string;
|
|
7
|
+
/** Change handler */
|
|
8
|
+
onChange: (event: ChangeEvent<HTMLTextAreaElement>) => void;
|
|
9
|
+
/** Error state */
|
|
10
|
+
error?: string;
|
|
11
|
+
/** Helper text */
|
|
12
|
+
helperText?: string;
|
|
13
|
+
/** Required field */
|
|
14
|
+
required?: boolean;
|
|
15
|
+
/** Disabled state */
|
|
16
|
+
disabled?: boolean;
|
|
17
|
+
/** Placeholder */
|
|
18
|
+
placeholder?: string;
|
|
19
|
+
/** Optional className */
|
|
20
|
+
className?: string;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* RichTextComponent - WYSIWYG editor with Tiptap
|
|
24
|
+
* Falls back to textarea if Tiptap is not available
|
|
25
|
+
*
|
|
26
|
+
* @version 0.0.1
|
|
27
|
+
* @since 0.0.1
|
|
28
|
+
* @author AMBROISE PARK Consulting
|
|
29
|
+
*/
|
|
30
|
+
declare const RichTextComponent: ComponentType<RichTextComponentProps>;
|
|
31
|
+
export default RichTextComponent;
|
|
32
|
+
//# sourceMappingURL=RichTextComponent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RichTextComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/form/fields/RichTextComponent.tsx"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAExD,MAAM,WAAW,sBAAsB;IACrC,kBAAkB;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,yBAAyB;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qBAAqB;IACrB,QAAQ,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,mBAAmB,CAAC,KAAK,IAAI,CAAC;IAC5D,kBAAkB;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kBAAkB;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,kBAAkB;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yBAAyB;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAYD;;;;;;;GAOG;AACH,QAAA,MAAM,iBAAiB,EAAE,aAAa,CAAC,sBAAsB,CA+E5D,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{jsx as e}from"react/jsx-runtime";import{lazy as m,Suspense as h,useState as x,useEffect as C}from"react";import{Stack as T}from"@donotdev/components";import p from"./TextAreaComponent";const c=m(()=>typeof window<"u"?import("./internal/TiptapEditor").catch(()=>({default:()=>null})):Promise.resolve({default:()=>null})),b=({label:t,value:r="",onChange:l,error:o,helperText:n,required:a,disabled:i,placeholder:s,className:u})=>{const[f,d]=x(!1);return C(()=>{d(!0)},[]),f?e(T,{gap:"tight",children:e(h,{fallback:e(p,{label:t,value:r,onChange:l,error:o,helperText:n,required:a,disabled:i,placeholder:s,className:u}),children:c?e(c,{label:t,value:r,onChange:l,error:o,helperText:n,required:a,disabled:i,placeholder:s,className:u}):e(p,{label:t,value:r,onChange:l,error:o,helperText:n,required:a,disabled:i,placeholder:s,className:u})})}):e(p,{label:t,value:r,onChange:l,error:o,helperText:n,required:a,disabled:i,placeholder:s,className:u})};var v=b;export{v as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SwitchFieldComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/form/fields/SwitchFieldComponent.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAExD,MAAM,WAAW,yBAAyB;IACxC,kBAAkB;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,oCAAoC;IACpC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IAC1D,iDAAiD;IACjD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kDAAkD;IAClD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;GASG;AACH,QAAA,MAAM,oBAAoB,EAAE,aAAa,CAAC,yBAAyB,
|
|
1
|
+
{"version":3,"file":"SwitchFieldComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/form/fields/SwitchFieldComponent.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAExD,MAAM,WAAW,yBAAyB;IACxC,kBAAkB;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,oCAAoC;IACpC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IAC1D,iDAAiD;IACjD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kDAAkD;IAClD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;GASG;AACH,QAAA,MAAM,oBAAoB,EAAE,aAAa,CAAC,yBAAyB,CA8ClE,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
|
|
@@ -1,13 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview Text Area Component
|
|
3
|
-
* @description Enhanced textarea component with ARIA, auto-resize, and modern UX. Form field component for textarea inputs in CRUD forms.
|
|
4
|
-
*
|
|
5
|
-
* @version 0.0.1
|
|
6
|
-
* @since 0.0.1
|
|
7
|
-
* @author AMBROISE PARK Consulting
|
|
8
|
-
*/
|
|
9
|
-
import { type ChangeEvent, type ComponentProps, type ComponentType } from 'react';
|
|
10
1
|
import { Textarea } from '@donotdev/components';
|
|
2
|
+
import type { ChangeEvent, ComponentProps, ComponentType } from 'react';
|
|
11
3
|
export interface TextAreaComponentProps extends Omit<ComponentProps<typeof Textarea>, 'value' | 'onChange'> {
|
|
12
4
|
/** Field label */
|
|
13
5
|
label: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextAreaComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/form/fields/TextAreaComponent.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TextAreaComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/form/fields/TextAreaComponent.tsx"],"names":[],"mappings":"AAcA,OAAO,EACL,QAAQ,EAKT,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAExE,MAAM,WAAW,sBAAuB,SAAQ,IAAI,CAClD,cAAc,CAAC,OAAO,QAAQ,CAAC,EAC/B,OAAO,GAAG,UAAU,CACrB;IACC,kBAAkB;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,oBAAoB;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qBAAqB;IACrB,QAAQ,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,mBAAmB,CAAC,KAAK,IAAI,CAAC;IAC5D,oBAAoB;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kCAAkC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oBAAoB;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,8BAA8B;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2BAA2B;IAC3B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,mCAAmC;IACnC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,QAAA,MAAM,iBAAiB,EAAE,aAAa,CAAC,sBAAsB,CA6I5D,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as s,jsxs as i}from"react/jsx-runtime";import{useState as
|
|
1
|
+
"use client";import{jsx as s,jsxs as i}from"react/jsx-runtime";import{useState as N,useId as z,useRef as A,useEffect as B}from"react";import{Textarea as E,FloatingLabel as I,Spinner as _,cn as p,Stack as m}from"@donotdev/components";const k=({label:y,value:a="",onChange:b,error:f,helperText:o,rows:x=3,loading:l=!1,maxLength:r,showCharCount:v=!1,autoResize:n=!1,required:F=!1,disabled:h=!1,className:$,...S})=>{const e=z(),[q,g]=N(!1),d=A(null),t=!!f,c=a.length,j=r&&c>r*.8,w=r&&c>r;return B(()=>{if(n&&d.current){const u=d.current;u.style.height="auto",u.style.height=`${u.scrollHeight}px`}},[a,n]),i(m,{gap:"tight",children:[s(I,{htmlFor:e,label:y,disabled:h||l,required:F,children:i("div",{className:"dndev-relative",children:[s(E,{ref:d,id:e,value:a,onChange:b,onFocus:()=>g(!0),onBlur:()=>g(!1),disabled:h||l,maxLength:r,rows:n?1:x,"aria-describedby":p(t&&`${e}-error`,o&&!t&&`${e}-helper`,v&&`${e}-count`),"aria-invalid":t,className:p("dndev-w-full",n&&"dndev-overflow-hidden",$),"data-variant":t?"destructive":void 0,style:{resize:n?"none":void 0},...S}),l&&s("div",{className:"dndev-absolute",style:{right:"var(--gap-md)",top:"var(--gap-md)"},children:s(_,{"aria-label":"Loading"})})]})}),v&&r&&i("div",{id:`${e}-count`,style:{fontSize:"var(--font-size-xs)",textAlign:"right",color:w?"var(--destructive-foreground)":j?"var(--warning)":"var(--muted-foreground)"},children:[c,"/",r]}),t&&i(m,{as:"p",id:`${e}-error`,direction:"row",align:"center",gap:"tight",style:{fontSize:"var(--font-size-xs)",color:"var(--destructive-foreground)"},role:"alert",children:[s("span",{children:"\u26A0"}),f]}),o&&!t&&s("p",{id:`${e}-helper`,style:{fontSize:"var(--font-size-xs)",color:"var(--muted-foreground)"},children:o})]})};var J=k;export{J as default};
|
|
@@ -1,13 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview Text Field Component
|
|
3
|
-
* @description Enhanced text field component with ARIA, loading states, and modern UX. Form field component for text inputs in CRUD forms.
|
|
4
|
-
*
|
|
5
|
-
* @version 0.0.1
|
|
6
|
-
* @since 0.0.1
|
|
7
|
-
* @author AMBROISE PARK Consulting
|
|
8
|
-
*/
|
|
9
|
-
import { type ChangeEvent, type ComponentProps, type ComponentType } from 'react';
|
|
10
1
|
import { Input } from '@donotdev/components';
|
|
2
|
+
import type { ChangeEvent, ComponentProps, ComponentType } from 'react';
|
|
11
3
|
export interface TextFieldComponentProps extends Omit<ComponentProps<typeof Input>, 'value' | 'onChange'> {
|
|
12
4
|
/** Field label */
|
|
13
5
|
label: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextFieldComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/form/fields/TextFieldComponent.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TextFieldComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/form/fields/TextFieldComponent.tsx"],"names":[],"mappings":"AAcA,OAAO,EAAE,KAAK,EAA6B,MAAM,sBAAsB,CAAC;AAExE,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAExE,MAAM,WAAW,uBAAwB,SAAQ,IAAI,CACnD,cAAc,CAAC,OAAO,KAAK,CAAC,EAC5B,OAAO,GAAG,UAAU,CACrB;IACC,kBAAkB;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,oBAAoB;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qBAAqB;IACrB,QAAQ,EAAE,CACR,KAAK,EAAE,WAAW,CAAC,gBAAgB,GAAG,mBAAmB,CAAC,KACvD,IAAI,CAAC;IACV,oBAAoB;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iCAAiC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oBAAoB;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,8BAA8B;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2BAA2B;IAC3B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,QAAA,MAAM,kBAAkB,EAAE,aAAa,CAAC,uBAAuB,CAkG9D,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
|
|
@@ -28,6 +28,8 @@ export { default as FileFieldComponent } from './FileFieldComponent';
|
|
|
28
28
|
export type { FileFieldComponentProps } from './FileFieldComponent';
|
|
29
29
|
export { default as ImageFieldComponent } from './ImageFieldComponent';
|
|
30
30
|
export type { ImageFieldComponentProps } from './ImageFieldComponent';
|
|
31
|
+
export { default as DocumentFieldComponent } from './DocumentFieldComponent';
|
|
32
|
+
export type { DocumentFieldComponentProps } from './DocumentFieldComponent';
|
|
31
33
|
export { default as TextAreaComponent } from './TextAreaComponent';
|
|
32
34
|
export type { TextAreaComponentProps } from './TextAreaComponent';
|
|
33
35
|
export { default as SwitchFieldComponent } from './SwitchFieldComponent';
|
|
@@ -44,8 +46,6 @@ export { default as MapFieldComponent } from './MapFieldComponent';
|
|
|
44
46
|
export type { MapFieldComponentProps } from './MapFieldComponent';
|
|
45
47
|
export { default as TimestampFieldComponent } from './TimestampFieldComponent';
|
|
46
48
|
export type { TimestampFieldComponentProps } from './TimestampFieldComponent';
|
|
47
|
-
export { default as ReferenceFieldComponent } from './ReferenceFieldComponent';
|
|
48
|
-
export type { ReferenceFieldComponentProps } from './ReferenceFieldComponent';
|
|
49
49
|
export { default as MultiInputTextFieldComponent } from './MultiInputTextFieldComponent';
|
|
50
50
|
export type { MultiInputTextFieldComponentProps } from './MultiInputTextFieldComponent';
|
|
51
51
|
export { default as ButtonFieldComponent } from './ButtonFieldComponent';
|
|
@@ -58,4 +58,6 @@ export { default as AddressFieldComponent } from './AddressFieldComponent';
|
|
|
58
58
|
export type { AddressFieldComponentProps } from './AddressFieldComponent';
|
|
59
59
|
export { default as CurrencyFieldComponent } from './CurrencyFieldComponent';
|
|
60
60
|
export type { CurrencyFieldComponentProps } from './CurrencyFieldComponent';
|
|
61
|
+
export { default as RichTextComponent } from './RichTextComponent';
|
|
62
|
+
export type { RichTextComponentProps } from './RichTextComponent';
|
|
61
63
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/form/fields/index.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACzE,YAAY,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAExE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACvE,YAAY,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAEtE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,YAAY,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAEpE,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACzE,YAAY,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAExE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,YAAY,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAEpE,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,YAAY,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAE5E,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,YAAY,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAElE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,YAAY,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAElE,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,YAAY,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAE5E,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,YAAY,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAEpE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACvE,YAAY,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAEtE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,YAAY,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACzE,YAAY,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAExE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACvE,YAAY,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAEtE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACvE,YAAY,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAEtE,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACzE,YAAY,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAExE,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,YAAY,EACV,2BAA2B,EAC3B,QAAQ,GACT,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,YAAY,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAElE,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAC/E,YAAY,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AAE9E,OAAO,EAAE,OAAO,IAAI,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/form/fields/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{default as t}from"./AvatarFieldComponent";import{default as
|
|
1
|
+
import{default as t}from"./AvatarFieldComponent";import{default as n}from"./BadgeFieldComponent";import{default as m}from"./TextFieldComponent";import{default as d}from"./NumberFieldComponent";import{default as l}from"./DateFieldComponent";import{default as x}from"./CheckboxFieldComponent";import{default as i}from"./ComboboxComponent";import{default as F}from"./DropdownComponent";import{default as c}from"./MultiDropdownComponent";import{default as h}from"./FileFieldComponent";import{default as D}from"./ImageFieldComponent";import{default as A}from"./DocumentFieldComponent";import{default as P}from"./TextAreaComponent";import{default as B}from"./SwitchFieldComponent";import{default as N}from"./RadioFieldComponent";import{default as v}from"./RangeFieldComponent";import{default as G}from"./PhoneNumberComponent";import{default as S}from"./GeoPointFieldComponent";import{default as q}from"./MapFieldComponent";import{default as E}from"./TimestampFieldComponent";import{default as K}from"./MultiInputTextFieldComponent";import{default as O}from"./ButtonFieldComponent";import{default as U}from"./HiddenFieldComponent";import{default as W}from"./PasswordFieldComponent";import{default as Y}from"./AddressFieldComponent";import{default as _}from"./CurrencyFieldComponent";import{default as oo}from"./RichTextComponent";export{Y as AddressFieldComponent,t as AvatarFieldComponent,n as BadgeFieldComponent,O as ButtonFieldComponent,x as CheckboxFieldComponent,i as ComboboxComponent,_ as CurrencyFieldComponent,l as DateFieldComponent,A as DocumentFieldComponent,F as DropdownComponent,h as FileFieldComponent,S as GeoPointFieldComponent,U as HiddenFieldComponent,D as ImageFieldComponent,q as MapFieldComponent,c as MultiDropdownComponent,K as MultiInputTextFieldComponent,d as NumberFieldComponent,W as PasswordFieldComponent,G as PhoneNumberComponent,N as RadioFieldComponent,v as RangeFieldComponent,oo as RichTextComponent,B as SwitchFieldComponent,P as TextAreaComponent,m as TextFieldComponent,E as TimestampFieldComponent};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { RichTextComponentProps } from '../RichTextComponent';
|
|
2
|
+
import type { ComponentType } from 'react';
|
|
3
|
+
/**
|
|
4
|
+
* TiptapEditor - WYSIWYG editor component
|
|
5
|
+
* Uses dynamic imports to gracefully handle missing Tiptap packages
|
|
6
|
+
*
|
|
7
|
+
* @version 0.0.1
|
|
8
|
+
* @since 0.0.1
|
|
9
|
+
* @author AMBROISE PARK Consulting
|
|
10
|
+
*/
|
|
11
|
+
declare const TiptapEditor: ComponentType<RichTextComponentProps>;
|
|
12
|
+
export default TiptapEditor;
|
|
13
|
+
//# sourceMappingURL=TiptapEditor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TiptapEditor.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/fields/internal/TiptapEditor.tsx"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,KAAK,EAAe,aAAa,EAAE,MAAM,OAAO,CAAC;AAQxD;;;;;;;GAOG;AACH,QAAA,MAAM,YAAY,EAAE,aAAa,CAAC,sBAAsB,CA+MvD,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use client";import{jsx as n,jsxs as M}from"react/jsx-runtime";import{useEffect as y,useState as r,useMemo as j}from"react";import{Stack as L}from"@donotdev/components";const H=({label:P,value:o="",onChange:f,error:a,helperText:m,required:E,disabled:s,placeholder:g,className:b})=>{const[i,x]=r(!1),[d,T]=r(!1),[l,z]=r(null),[h,C]=r(null),[c,S]=r(null),[p,w]=r(null);y(()=>{if(i||d)return;(async()=>{try{const[{useEditor:e,EditorContent:u},k,F]=await Promise.all([import("@tiptap/react"),import("@tiptap/starter-kit"),import("@tiptap/extension-placeholder")]);z(e),C(u),S(k.default),w(F.default),x(!0)}catch(e){e instanceof Error&&(e.message.includes("Cannot find module '@tiptap")||e.message.includes("Failed to fetch dynamically imported module")),T(!0)}})()},[i,d]);const t=j(()=>!i||!l||!c||!p?null:l({extensions:[c.configure({heading:{levels:[1,2,3]}}),p.configure({placeholder:g||"Start typing..."})],content:o,editable:!s,onUpdate:({editor:v})=>{const u={target:{value:v.getHTML()}};f(u)}}),[i,l,c,p,o,s,g,f]);return y(()=>{t&&o!==t.getHTML()&&t.commands.setContent(o||"")},[o,t]),d||!i||!t||!h?null:M(L,{gap:"tight",children:[M("label",{style:{fontSize:"var(--font-size-sm)",fontWeight:500,color:a?"var(--destructive-foreground)":"var(--foreground)"},children:[P,E&&n("span",{style:{color:"var(--destructive)"},children:" *"})]}),n("div",{className:b,"data-variant":a?"destructive":void 0,style:{border:"var(--border-hairline) solid",borderColor:a?"var(--destructive)":"var(--line-2)",borderRadius:"var(--radius-interactive)",padding:"var(--gap-md)",minHeight:"200px",backgroundColor:s?"var(--muted)":"transparent",opacity:s?"var(--opacity-muted)":void 0},children:n(h,{editor:t})}),m&&n("p",{style:{fontSize:"var(--font-size-xs)",color:a?"var(--destructive-foreground)":"var(--muted-foreground)"},children:m}),n("style",{children:`
|
|
2
|
+
.ProseMirror {
|
|
3
|
+
outline: none;
|
|
4
|
+
min-height: 150px;
|
|
5
|
+
}
|
|
6
|
+
.ProseMirror p {
|
|
7
|
+
margin: 0.5em 0;
|
|
8
|
+
}
|
|
9
|
+
.ProseMirror p.is-editor-empty:first-child::before {
|
|
10
|
+
content: attr(data-placeholder);
|
|
11
|
+
float: left;
|
|
12
|
+
color: var(--muted-foreground);
|
|
13
|
+
pointer-events: none;
|
|
14
|
+
height: 0;
|
|
15
|
+
}
|
|
16
|
+
.ProseMirror h1 {
|
|
17
|
+
font-size: var(--font-size-2xl);
|
|
18
|
+
font-weight: 600;
|
|
19
|
+
margin: 0.5em 0;
|
|
20
|
+
}
|
|
21
|
+
.ProseMirror h2 {
|
|
22
|
+
font-size: var(--font-size-xl);
|
|
23
|
+
font-weight: 600;
|
|
24
|
+
margin: 0.5em 0;
|
|
25
|
+
}
|
|
26
|
+
.ProseMirror h3 {
|
|
27
|
+
font-size: var(--font-size-lg);
|
|
28
|
+
font-weight: 600;
|
|
29
|
+
margin: 0.5em 0;
|
|
30
|
+
}
|
|
31
|
+
.ProseMirror ul, .ProseMirror ol {
|
|
32
|
+
padding-left: 1.5em;
|
|
33
|
+
}
|
|
34
|
+
.ProseMirror strong {
|
|
35
|
+
font-weight: 600;
|
|
36
|
+
}
|
|
37
|
+
.ProseMirror em {
|
|
38
|
+
font-style: italic;
|
|
39
|
+
}
|
|
40
|
+
.ProseMirror code {
|
|
41
|
+
background: var(--muted);
|
|
42
|
+
padding: 0.2em 0.4em;
|
|
43
|
+
border-radius: var(--radius-sm);
|
|
44
|
+
font-family: monospace;
|
|
45
|
+
}
|
|
46
|
+
.ProseMirror blockquote {
|
|
47
|
+
border-left: 3px solid var(--border);
|
|
48
|
+
padding-left: 1em;
|
|
49
|
+
margin: 0.5em 0;
|
|
50
|
+
color: var(--muted-foreground);
|
|
51
|
+
}
|
|
52
|
+
`})]})};var _=H;export{_ as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/form/index.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,cAAc,UAAU,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export*from"./fields";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImageViewerDialog.d.ts","sourceRoot":"","sources":["../../../../src/components/form/internal/ImageViewerDialog.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ImageViewerDialog.d.ts","sourceRoot":"","sources":["../../../../src/components/form/internal/ImageViewerDialog.tsx"],"names":[],"mappings":"AAyCA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAG/D,MAAM,WAAW,sBAAsB;IACrC,sBAAsB;IACtB,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,2BAA2B;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB;IACjB,IAAI,EAAE,OAAO,CAAC;IACd,qBAAqB;IACrB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,sBAAsB;IACtB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;IACnE,sBAAsB;IACtB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,wBAAwB;IACxB,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,oBAAoB;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,MAAM,EACN,aAAa,EACb,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,QAAgB,GACjB,EAAE,sBAAsB,kDAiXxB;AAED,eAAe,iBAAiB,CAAC"}
|
|
@@ -12,7 +12,13 @@ export { EntityFormRenderer } from './EntityFormRenderer';
|
|
|
12
12
|
export { FormFieldRenderer } from './FormFieldRenderer';
|
|
13
13
|
export { DisplayFieldRenderer } from './DisplayFieldRenderer';
|
|
14
14
|
export type { DisplayFieldRendererProps } from './DisplayFieldRenderer';
|
|
15
|
+
export { EntityDisplayRenderer } from './EntityDisplayRenderer';
|
|
16
|
+
export type { EntityDisplayRendererProps } from './EntityDisplayRenderer';
|
|
15
17
|
export { default as FormLayout } from './FormLayout';
|
|
16
|
-
export * from './
|
|
17
|
-
export * from './form
|
|
18
|
+
export * from './controlled';
|
|
19
|
+
export * from './form';
|
|
20
|
+
export { EntityList } from './EntityList';
|
|
21
|
+
export type { EntityListProps } from './EntityList';
|
|
22
|
+
export { EntityCardList } from './EntityCardList';
|
|
23
|
+
export type { EntityCardListProps } from './EntityCardList';
|
|
18
24
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,YAAY,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,YAAY,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,YAAY,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC"}
|
package/dist/components/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{default as o}from"./CrudButton";import{EntityFormRenderer as m}from"./EntityFormRenderer";import{FormFieldRenderer as
|
|
1
|
+
import{default as o}from"./CrudButton";import{EntityFormRenderer as m}from"./EntityFormRenderer";import{FormFieldRenderer as p}from"./FormFieldRenderer";import{DisplayFieldRenderer as i}from"./DisplayFieldRenderer";import{EntityDisplayRenderer as n}from"./EntityDisplayRenderer";import{default as y}from"./FormLayout";export*from"./controlled";export*from"./form";import{EntityList as F}from"./EntityList";import{EntityCardList as R}from"./EntityCardList";export{o as CrudButton,i as DisplayFieldRenderer,R as EntityCardList,n as EntityDisplayRenderer,m as EntityFormRenderer,F as EntityList,p as FormFieldRenderer,y as FormLayout};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
export interface UploadProviderProps {
|
|
3
|
+
formId: string | undefined;
|
|
4
|
+
children: ReactNode;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* UploadProvider - Provides formId to upload components via context
|
|
8
|
+
* Used by EntityFormRenderer to enable deferred uploads
|
|
9
|
+
*/
|
|
10
|
+
export declare function UploadProvider({ formId, children }: UploadProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
/**
|
|
12
|
+
* useUploadContext - Get formId for upload components
|
|
13
|
+
* Returns undefined if not inside an UploadProvider (standalone usage)
|
|
14
|
+
*/
|
|
15
|
+
export declare function useUploadContext(): string | undefined;
|
|
16
|
+
//# sourceMappingURL=UploadContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UploadContext.d.ts","sourceRoot":"","sources":["../../src/contexts/UploadContext.tsx"],"names":[],"mappings":"AA+BA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAKvC,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,mBAAmB,2CAMvE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,GAAG,SAAS,CAErD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{jsx as r}from"react/jsx-runtime";import{createContext as n,useContext as i}from"react";const e=n(void 0);function x({formId:t,children:o}){return r(e.Provider,{value:t,children:o})}function p(){return i(e)}export{x as UploadProvider,p as useUploadContext};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/contexts/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnE,YAAY,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{UploadProvider as r,useUploadContext as d}from"./UploadContext";export{r as UploadProvider,d as useUploadContext};
|
|
@@ -8,4 +8,6 @@
|
|
|
8
8
|
*/
|
|
9
9
|
export { useEntityForm } from './useEntityForm';
|
|
10
10
|
export { useEntityField } from './useEntityField';
|
|
11
|
+
export { useController } from './useController';
|
|
12
|
+
export type { UseControllerProps, UseControllerReturn, ControllerRenderProps, ControllerFieldState, } from './useController';
|
|
11
13
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/forms/hooks/index.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/forms/hooks/index.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EACV,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,iBAAiB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useEntityForm as
|
|
1
|
+
import{useEntityForm as e}from"./useEntityForm";import{useEntityField as m}from"./useEntityField";import{useController as i}from"./useController";export{i as useController,m as useEntityField,e as useEntityForm};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { FieldPath, FieldValues, UseControllerProps, UseControllerReturn } from 'react-hook-form';
|
|
2
|
+
/**
|
|
3
|
+
* Framework-provided useController hook
|
|
4
|
+
*
|
|
5
|
+
* Use this instead of importing useController from react-hook-form directly.
|
|
6
|
+
* This ensures type compatibility with framework's Control types.
|
|
7
|
+
*
|
|
8
|
+
* @template TFieldValues - Form values type
|
|
9
|
+
* @template TName - Field name path
|
|
10
|
+
* @param props - Controller props (name and control)
|
|
11
|
+
* @returns Controller return value (field, fieldState, formState)
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```tsx
|
|
15
|
+
* import { useController } from '@donotdev/crud';
|
|
16
|
+
* import type { ControlledFieldProps } from '@donotdev/crud';
|
|
17
|
+
*
|
|
18
|
+
* function MyCustomField({ control, fieldConfig }: ControlledFieldProps) {
|
|
19
|
+
* const { field, fieldState } = useController({
|
|
20
|
+
* name: fieldConfig.name,
|
|
21
|
+
* control: control,
|
|
22
|
+
* });
|
|
23
|
+
* // ...
|
|
24
|
+
* }
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
export declare function useController<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>(props: UseControllerProps<TFieldValues, TName>): UseControllerReturn<TFieldValues, TName>;
|
|
28
|
+
export type { UseControllerProps, UseControllerReturn, ControllerRenderProps, ControllerFieldState, } from 'react-hook-form';
|
|
29
|
+
//# sourceMappingURL=useController.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useController.d.ts","sourceRoot":"","sources":["../../../src/forms/hooks/useController.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAEV,SAAS,EACT,WAAW,EACX,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,iBAAiB,CAAC;AAEzB;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,aAAa,CAC3B,YAAY,SAAS,WAAW,GAAG,WAAW,EAC9C,KAAK,SAAS,SAAS,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC,YAAY,CAAC,EAE/D,KAAK,EAAE,kBAAkB,CAAC,YAAY,EAAE,KAAK,CAAC,GAC7C,mBAAmB,CAAC,YAAY,EAAE,KAAK,CAAC,CAE1C;AAGD,YAAY,EACV,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{useController as e}from"react-hook-form";function t(r){return e(r)}export{t as useController};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useEntityField.d.ts","sourceRoot":"","sources":["../../../src/forms/hooks/useEntityField.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"useEntityField.d.ts","sourceRoot":"","sources":["../../../src/forms/hooks/useEntityField.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,MAAM,EAAe,MAAM,gBAAgB,CAAC;AAI1D,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EAClB,MAAM,UAAU,CAAC;AAElB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8DG;AACH,wBAAgB,cAAc,CAC5B,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,MAAM,eAAe,CAAC,CAAC,CAAC,EAClC,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CA0ElE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{useMemo as
|
|
1
|
+
"use client";import{useMemo as s}from"react";import{useController as m}from"./useController";import{isFieldEditable as p}from"../utils";function g(l,e){const{entity:a,operation:o,viewerRole:c,fields:u}=l,r=a.fields[e],t=s(()=>r?{...r,name:r.name||e,label:r.label||e}:{name:e,type:"text",label:e,visibility:"user"},[e,r]),n=s(()=>u.some(f=>f.name===e),[u,e]),b=s(()=>!n||o==="edit"&&t.visibility==="technical"&&t.editable===void 0?!1:p(t.editable,c,o),[n,o,t.visibility,t.editable,c]),{field:d,fieldState:i}=m({name:e,control:l.control}),y=s(()=>({error:i.error?.message,touched:i.isTouched,isDirty:i.isDirty}),[i.error?.message,i.isTouched,i.isDirty]);return{field:d,meta:y,config:t,isEditable:b,isVisible:n}}export{g as useEntityField};
|