@donotdev/crud 0.0.7 → 0.0.9
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/dist/CrudService.d.ts +6 -54
- package/dist/CrudService.d.ts.map +1 -1
- package/dist/CrudService.js +1 -1
- package/dist/CrudStore.d.ts +1 -94
- package/dist/CrudStore.d.ts.map +1 -1
- package/dist/adapters/FirestoreAdapter.d.ts +3 -1
- package/dist/adapters/FirestoreAdapter.d.ts.map +1 -1
- package/dist/adapters/FirestoreAdapter.js +1 -1
- package/dist/adapters/FunctionsAdapter.d.ts +8 -1
- package/dist/adapters/FunctionsAdapter.d.ts.map +1 -1
- package/dist/adapters/FunctionsAdapter.js +1 -1
- package/dist/builtinFieldTypes.d.ts.map +1 -1
- package/dist/builtinFieldTypes.js +1 -1
- package/dist/components/EntityCardList.d.ts +5 -3
- package/dist/components/EntityCardList.d.ts.map +1 -1
- package/dist/components/EntityCardList.js +1 -1
- package/dist/components/EntityDisplayRenderer.d.ts +3 -3
- package/dist/components/EntityDisplayRenderer.d.ts.map +1 -1
- package/dist/components/EntityDisplayRenderer.js +1 -1
- package/dist/components/EntityFilters.d.ts +43 -0
- package/dist/components/EntityFilters.d.ts.map +1 -0
- package/dist/components/EntityFilters.js +1 -0
- package/dist/components/EntityFormRenderer.d.ts +22 -1
- package/dist/components/EntityFormRenderer.d.ts.map +1 -1
- package/dist/components/EntityFormRenderer.js +1 -1
- package/dist/components/EntityList.d.ts +12 -6
- package/dist/components/EntityList.d.ts.map +1 -1
- package/dist/components/EntityList.js +1 -1
- package/dist/components/FormFieldRenderer.d.ts.map +1 -1
- package/dist/components/controlled/complex/ControlledAddressField.d.ts +3 -0
- package/dist/components/controlled/complex/ControlledAddressField.d.ts.map +1 -1
- package/dist/components/controlled/complex/ControlledDateField.d.ts +3 -0
- package/dist/components/controlled/complex/ControlledDateField.d.ts.map +1 -1
- package/dist/components/controlled/complex/ControlledGeoPointField.d.ts +3 -0
- package/dist/components/controlled/complex/ControlledGeoPointField.d.ts.map +1 -1
- package/dist/components/controlled/complex/ControlledMapField.d.ts +3 -0
- package/dist/components/controlled/complex/ControlledMapField.d.ts.map +1 -1
- package/dist/components/controlled/complex/ControlledMultiInputField.d.ts +3 -0
- package/dist/components/controlled/complex/ControlledMultiInputField.d.ts.map +1 -1
- package/dist/components/controlled/complex/ControlledRichTextField.d.ts +3 -0
- package/dist/components/controlled/complex/ControlledRichTextField.d.ts.map +1 -1
- package/dist/components/controlled/complex/ControlledTimestampField.d.ts +3 -0
- package/dist/components/controlled/complex/ControlledTimestampField.d.ts.map +1 -1
- package/dist/components/controlled/complex/index.d.ts.map +1 -1
- package/dist/components/controlled/file/ControlledDocumentField.d.ts +3 -0
- package/dist/components/controlled/file/ControlledDocumentField.d.ts.map +1 -1
- package/dist/components/controlled/file/ControlledFileField.d.ts +3 -0
- package/dist/components/controlled/file/ControlledFileField.d.ts.map +1 -1
- package/dist/components/controlled/file/ControlledImageField.d.ts +3 -0
- package/dist/components/controlled/file/ControlledImageField.d.ts.map +1 -1
- package/dist/components/controlled/file/ControlledMultiDocumentField.d.ts +3 -0
- package/dist/components/controlled/file/ControlledMultiDocumentField.d.ts.map +1 -1
- package/dist/components/controlled/file/ControlledMultiFileField.d.ts +3 -0
- package/dist/components/controlled/file/ControlledMultiFileField.d.ts.map +1 -1
- package/dist/components/controlled/file/ControlledMultiImageField.d.ts +3 -0
- package/dist/components/controlled/file/ControlledMultiImageField.d.ts.map +1 -1
- package/dist/components/controlled/file/index.d.ts.map +1 -1
- package/dist/components/controlled/index.d.ts +4 -0
- package/dist/components/controlled/index.d.ts.map +1 -1
- package/dist/components/controlled/input/ControlledCheckboxField.d.ts +3 -0
- package/dist/components/controlled/input/ControlledCheckboxField.d.ts.map +1 -1
- package/dist/components/controlled/input/ControlledCheckboxField.js +1 -1
- package/dist/components/controlled/input/ControlledGdprConsentField.d.ts +8 -0
- package/dist/components/controlled/input/ControlledGdprConsentField.d.ts.map +1 -0
- package/dist/components/controlled/input/ControlledGdprConsentField.js +1 -0
- package/dist/components/controlled/input/ControlledNumberField.d.ts +3 -0
- package/dist/components/controlled/input/ControlledNumberField.d.ts.map +1 -1
- package/dist/components/controlled/input/ControlledPasswordField.d.ts +3 -0
- package/dist/components/controlled/input/ControlledPasswordField.d.ts.map +1 -1
- package/dist/components/controlled/input/ControlledPhoneField.d.ts +3 -0
- package/dist/components/controlled/input/ControlledPhoneField.d.ts.map +1 -1
- package/dist/components/controlled/input/ControlledRangeField.d.ts +3 -0
- package/dist/components/controlled/input/ControlledRangeField.d.ts.map +1 -1
- package/dist/components/controlled/input/ControlledSwitchField.d.ts +3 -0
- package/dist/components/controlled/input/ControlledSwitchField.d.ts.map +1 -1
- package/dist/components/controlled/input/ControlledTextField.d.ts +3 -0
- package/dist/components/controlled/input/ControlledTextField.d.ts.map +1 -1
- package/dist/components/controlled/input/ControlledTextareaField.d.ts +3 -0
- package/dist/components/controlled/input/ControlledTextareaField.d.ts.map +1 -1
- package/dist/components/controlled/input/index.d.ts +1 -0
- package/dist/components/controlled/input/index.d.ts.map +1 -1
- package/dist/components/controlled/input/index.js +1 -1
- package/dist/components/controlled/select/ControlledComboboxField.d.ts +4 -0
- package/dist/components/controlled/select/ControlledComboboxField.d.ts.map +1 -1
- package/dist/components/controlled/select/ControlledDropdownField.d.ts +4 -0
- package/dist/components/controlled/select/ControlledDropdownField.d.ts.map +1 -1
- package/dist/components/controlled/select/ControlledMultiDropdownField.d.ts +4 -0
- package/dist/components/controlled/select/ControlledMultiDropdownField.d.ts.map +1 -1
- package/dist/components/controlled/select/ControlledRadioField.d.ts +4 -0
- package/dist/components/controlled/select/ControlledRadioField.d.ts.map +1 -1
- package/dist/components/controlled/select/ControlledYearField.d.ts +9 -0
- package/dist/components/controlled/select/ControlledYearField.d.ts.map +1 -0
- package/dist/components/controlled/select/ControlledYearField.js +1 -0
- package/dist/components/controlled/select/index.d.ts +1 -0
- package/dist/components/controlled/select/index.d.ts.map +1 -1
- package/dist/components/controlled/select/index.js +1 -1
- package/dist/components/controlled/types.d.ts +6 -0
- package/dist/components/controlled/types.d.ts.map +1 -1
- package/dist/components/form/fields/CheckboxFieldComponent.d.ts +3 -3
- package/dist/components/form/fields/CheckboxFieldComponent.d.ts.map +1 -1
- package/dist/components/form/fields/DocumentFieldComponent.d.ts.map +1 -1
- package/dist/components/form/fields/FileFieldComponent.d.ts.map +1 -1
- package/dist/components/form/fields/GdprConsentFieldComponent.d.ts +26 -0
- package/dist/components/form/fields/GdprConsentFieldComponent.d.ts.map +1 -0
- package/dist/components/form/fields/GdprConsentFieldComponent.js +1 -0
- package/dist/components/form/fields/ImageFieldComponent.d.ts +4 -3
- 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/PhoneNumberComponent.d.ts.map +1 -1
- package/dist/components/form/fields/PhoneNumberComponent.js +1 -1
- package/dist/components/form/fields/RichTextComponent.d.ts +2 -21
- package/dist/components/form/fields/RichTextComponent.d.ts.map +1 -1
- 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/index.d.ts +3 -1
- 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 +1 -1
- package/dist/components/form/fields/internal/TiptapEditor.d.ts.map +1 -1
- package/dist/components/form/fields/types.d.ts +33 -0
- package/dist/components/form/fields/types.d.ts.map +1 -0
- package/dist/components/form/fields/types.js +0 -0
- package/dist/components/form/internal/ImageViewerDialog.d.ts +2 -1
- package/dist/components/form/internal/ImageViewerDialog.d.ts.map +1 -1
- package/dist/components/form/internal/ImageViewerDialog.js +1 -1
- package/dist/components/index.d.ts +2 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +1 -1
- package/dist/contexts/UploadContext.d.ts.map +1 -1
- package/dist/forms/hooks/useEntityForm.d.ts.map +1 -1
- package/dist/forms/hooks/useEntityForm.js +1 -1
- package/dist/forms/index.d.ts +2 -2
- package/dist/forms/index.d.ts.map +1 -1
- package/dist/forms/index.js +1 -1
- package/dist/forms/types.d.ts +15 -0
- package/dist/forms/types.d.ts.map +1 -1
- package/dist/forms/utils/index.d.ts +0 -2
- package/dist/forms/utils/index.d.ts.map +1 -1
- package/dist/forms/utils/index.js +1 -1
- package/dist/forms/utils/validateEntity.js +1 -1
- package/dist/hooks/useFileUpload.d.ts +1 -1
- package/dist/hooks/useFileUpload.d.ts.map +1 -1
- package/dist/hooks/useFileUpload.js +1 -1
- package/dist/hooks/useFormNavigationGuard.d.ts +34 -0
- package/dist/hooks/useFormNavigationGuard.d.ts.map +1 -0
- package/dist/hooks/useFormNavigationGuard.js +1 -0
- package/dist/hooks/useUnsavedChangesWarning.d.ts +51 -0
- package/dist/hooks/useUnsavedChangesWarning.d.ts.map +1 -0
- package/dist/hooks/useUnsavedChangesWarning.js +1 -0
- package/dist/index.d.ts +6 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/stores/FormStore.d.ts +17 -0
- package/dist/stores/FormStore.d.ts.map +1 -1
- package/dist/stores/FormStore.js +1 -1
- package/dist/stores/index.d.ts +1 -1
- package/dist/stores/index.d.ts.map +1 -1
- package/dist/stores/index.js +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types.d.ts +167 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +0 -0
- package/dist/useCrud.d.ts +1 -2
- package/dist/useCrud.d.ts.map +1 -1
- package/dist/useCrud.js +1 -1
- package/dist/useCrudCardList.d.ts.map +1 -1
- package/dist/useCrudCardList.js +1 -1
- package/dist/useCrudList.d.ts +7 -0
- package/dist/useCrudList.d.ts.map +1 -1
- package/dist/useCrudList.js +1 -1
- package/dist/utils/fileStorage.d.ts +1 -1
- package/dist/utils/fileStorage.d.ts.map +1 -1
- package/dist/utils/imageStorage.d.ts +1 -1
- package/dist/utils/imageStorage.d.ts.map +1 -1
- package/dist/utils/imageUtils.d.ts +1 -1
- package/dist/utils/imageUtils.d.ts.map +1 -1
- package/dist/utils/mergeWithOptimistic.d.ts +1 -1
- package/dist/utils/mergeWithOptimistic.d.ts.map +1 -1
- package/dist/utils/uploadValidation.d.ts +1 -1
- package/dist/utils/uploadValidation.d.ts.map +1 -1
- package/package.json +17 -11
- package/dist/forms/utils/optionHelpers.d.ts +0 -54
- package/dist/forms/utils/optionHelpers.d.ts.map +0 -1
- package/dist/forms/utils/optionHelpers.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{jsx as x,jsxs as E}from"react/jsx-runtime";import{useMemo as j}from"react";import{Button as k,Stack as A,Combobox as B,Slider as K,Grid as Q,RangeInput as W}from"@donotdev/components";import{useTranslation as _}from"@donotdev/core";import{translateFieldLabel as U,translateLabel as G}from"../forms/utils";function X(n,a,p){if(!a)return!0;if(typeof a=="object"&&"min"in a){const C=p==="date"||p==="datetime-local"||p==="timestamp";if(p==="number"||p==="range"){const c=a.min&&a.min!=="",g=a.max&&a.max!=="";if(c&&!g){if(n==null)return!1;const i=typeof n=="number"?n:Number(n);return isNaN(i)?!1:i>=Number(a.min)}if(!c&&g){if(n==null)return!0;const i=typeof n=="number"?n:Number(n);return isNaN(i)?!1:i<=Number(a.max)}if(c&&g){if(n==null)return!1;const i=typeof n=="number"?n:Number(n);return isNaN(i)?!1:i>=Number(a.min)&&i<=Number(a.max)}return!0}if(C){const c=a.min&&a.min!=="",g=a.max&&a.max!=="";if(c&&!g){if(n==null)return!1;const i=n instanceof Date?n:new Date(n);return isNaN(i.getTime())?!1:i>=new Date(a.min)}if(!c&&g){if(n==null)return!0;const i=n instanceof Date?n:new Date(n);return isNaN(i.getTime())?!1:i<=new Date(a.max)}if(c&&g){if(n==null)return!1;const i=n instanceof Date?n:new Date(n);return isNaN(i.getTime())?!1:i>=new Date(a.min)&&i<=new Date(a.max)}return!0}}return n==null?!1:String(n).toLowerCase().includes(String(a).toLowerCase())}function rn({entity:n,data:a,filters:p,onFiltersChange:C,fieldsToFilter:M}){const{t:c}=_("crud"),{t:g}=_(n.namespace),i=j(()=>M&&M.length>0?M:n.listFields||Object.keys(n.fields),[M,n.listFields,n.fields]),I=j(()=>{const t={};return i.forEach(e=>{const d=Object.fromEntries(Object.entries(p).filter(([l])=>l!==e));if(Object.keys(d).length===0){t[e]=a;return}t[e]=a.filter(l=>Object.entries(d).every(([w,F])=>{const b=l[w],h=n.fields[w]?.type||"text";return X(b,F,h)}))}),t},[a,p,n.fields,i]),P=j(()=>{const t={};return i.forEach(e=>{const d=n.fields[e];if(!d)return;const l=d.type||"text",w=l==="date"||l==="datetime-local"||l==="timestamp";if(l==="number"||l==="range"){const b=a.map(s=>s[e]).filter(s=>s!=null&&s!=="").map(s=>typeof s=="number"?s:Number(s)).filter(s=>!isNaN(s));b.length>0&&(t[e]={min:Math.min(...b),max:Math.max(...b)})}else if(w){const b=a.map(s=>s[e]).filter(s=>s!=null&&s!=="").map(s=>s instanceof Date?s:new Date(s)).filter(s=>!isNaN(s.getTime()));if(b.length>0){const s=new Date(Math.min(...b.map(O=>O.getTime()))),h=new Date(Math.max(...b.map(O=>O.getTime()))),Y=s.toISOString().split("T")[0],y=h.toISOString().split("T")[0];t[e]={min:Y||"",max:y||""}}}}),t},[a,n.fields,i]),D=(t,e)=>{const d={...p};if(!e||e==="")delete d[t];else if(typeof e=="object"&&"min"in e){const l=e.min&&e.min!=="",w=e.max&&e.max!=="";!l&&!w?delete d[t]:d[t]=e}else d[t]=e;C(d)},N=()=>{C({})},v=j(()=>i.length===0?null:i.map(t=>{const e=n.fields[t];if(!e)return null;const d=U(t,e,g),l=e.type||"text",w=l==="date"||l==="datetime-local"||l==="timestamp",F=l==="number"||l==="range",b=l==="year",s=l==="select"||l==="radio"||l==="combobox",h=p[t],y=typeof h=="object"&&h!==null&&"min"in h?h:{min:"",max:""};if(b){const u=e.validation?.min??1900,m=e.validation?.max??new Date().getFullYear()+10,o=[];for(let r=m;r>=u;r--)o.push({value:String(r),label:String(r)});return x("div",{style:{gridColumn:"span 2",gridRow:"span 1"},children:x(B,{label:d,value:typeof h=="string"?h:void 0,onValueChange:r=>{D(t,r==="all"||!r?"":String(r))},options:o,placeholder:c("filter.placeholder",{defaultValue:"Filter..."}),clearable:!0,creatable:!0})},t)}if(F){const u=P[t],m=u?.min??0,o=u?.max??100,r=y.min?Number(y.min):m,f=y.max?Number(y.max):o;return E(A,{gap:"tight",style:{gridColumn:"span 2",gridRow:"span 2"},children:[x(W,{type:"number",label:d,minPlaceholder:c("filter.min",{defaultValue:"Min"}),maxPlaceholder:c("filter.max",{defaultValue:"Max"}),minValue:y.min||"",maxValue:y.max||"",actualMin:m,actualMax:o,onChange:(S,J)=>{D(t,{min:S,max:J})},onClear:()=>D(t,void 0)}),x(K,{value:[r,f],min:m,max:o,step:1,onValueChange:S=>{D(t,{min:String(S[0]),max:String(S[1])})}})]},t)}if(w){const u=P[t],m=u?.min||"",o=u?.max||"";return E(A,{gap:"tight",style:{gridColumn:"span 2",gridRow:"span 2"},children:[x(W,{type:"date",label:d,minPlaceholder:c("filter.from",{defaultValue:"From"}),maxPlaceholder:c("filter.to",{defaultValue:"To"}),minValue:y.min||"",maxValue:y.max||"",actualMin:m,actualMax:o,min:m,max:o,onChange:(r,f)=>{D(t,{min:r,max:f})},onClear:()=>D(t,void 0)}),E(A,{direction:"row",gap:"tight",children:[x(k,{variant:"outline",display:"compact",onClick:()=>{const r=new Date().toISOString().split("T")[0];D(t,{min:r,max:r})},children:c("filter.today",{defaultValue:"Today"})}),x(k,{variant:"outline",display:"compact",onClick:()=>{const r=new Date,f=new Date(r);f.setDate(r.getDate()-r.getDay());const S=new Date(f);S.setDate(f.getDate()+6),D(t,{min:f.toISOString().split("T")[0],max:S.toISOString().split("T")[0]})},children:c("filter.thisWeek",{defaultValue:"This Week"})}),x(k,{variant:"outline",display:"compact",onClick:()=>{const r=new Date,f=new Date(r.getFullYear(),r.getMonth(),1),S=new Date(r.getFullYear(),r.getMonth()+1,0);D(t,{min:f.toISOString().split("T")[0],max:S.toISOString().split("T")[0]})},children:c("filter.thisMonth",{defaultValue:"This Month"})})]})]},t)}const L=s&&e.validation&&"options"in e.validation&&e.validation?Array.isArray(e.validation.options)?e.validation.options:typeof e.validation.options=="function"?e.validation.options():[]:[],H=I[t]||a,R=new Set;H.forEach(u=>{const m=u[t];m!=null&&R.add(String(m))});const T=[{value:"all",label:c("filter.selectPlaceholder",{defaultValue:"All"})}];if(L.length>0){const u=[],m=[];L.forEach(o=>{const r=typeof o=="string"?o:o.value,f=typeof o=="string"?o:o.label;R.has(r)?u.push({value:r,label:f}):m.push({value:r,label:f})}),u.sort((o,r)=>o.label.localeCompare(r.label)),m.sort((o,r)=>o.label.localeCompare(r.label)),u.forEach(o=>{T.push({value:o.value,label:G(o.label,g),disabled:!1})}),m.forEach(o=>{T.push({value:o.value,label:G(o.label,g),disabled:!0})})}else Array.from(R).sort().slice(0,100).forEach(u=>{T.push({value:u,label:u})});return x("div",{style:{gridColumn:"span 2",gridRow:"span 1"},children:x(B,{label:d,value:typeof h=="string"?h:void 0,onValueChange:u=>{D(t,u==="all"||!u?"":String(u))},options:T,placeholder:c("filter.placeholder",{defaultValue:"Filter..."}),clearable:!0})},t)}),[i,n.fields,a,p,g,c,I]);if(!v||v.length===0)return null;const q=v.filter(Boolean),z=Object.keys(p).length>0;return E(Q,{cols:[2,4,6,8],gap:"medium",style:{gridAutoRows:"min-content"},children:[q,x(k,{variant:"outline",onClick:N,disabled:!z,style:{gridColumn:"1 / -1",gridRow:"span 1"},children:c("filter.clear",{defaultValue:"Clear Filters"})})]})}export{rn as EntityFilters,X as matchesFilter};
|
|
@@ -46,6 +46,27 @@ interface EntityFormRendererProps<T extends Record<string, unknown> = Record<str
|
|
|
46
46
|
* If not provided, one will be generated automatically.
|
|
47
47
|
*/
|
|
48
48
|
formId?: string;
|
|
49
|
+
/**
|
|
50
|
+
* Cancel button text. If provided, shows a cancel button.
|
|
51
|
+
* If not provided but onCancel is provided, shows default "Cancel" text.
|
|
52
|
+
* Set to null to explicitly hide cancel button.
|
|
53
|
+
*/
|
|
54
|
+
cancelText?: string | null;
|
|
55
|
+
/**
|
|
56
|
+
* Callback when cancel is clicked (after confirmation if dirty).
|
|
57
|
+
* If not provided, cancel just resets the form.
|
|
58
|
+
* If provided, cancel button will show (with cancelText or default "Cancel").
|
|
59
|
+
*/
|
|
60
|
+
onCancel?: () => void;
|
|
61
|
+
/**
|
|
62
|
+
* Whether to show unsaved changes warning when navigating away.
|
|
63
|
+
* @default true
|
|
64
|
+
*/
|
|
65
|
+
warnOnUnsavedChanges?: boolean;
|
|
66
|
+
/**
|
|
67
|
+
* Custom message for unsaved changes confirmation.
|
|
68
|
+
*/
|
|
69
|
+
unsavedChangesMessage?: string;
|
|
49
70
|
}
|
|
50
71
|
/**
|
|
51
72
|
* EntityFormRenderer - Dumb component that renders a form from entity definition.
|
|
@@ -60,6 +81,6 @@ interface EntityFormRendererProps<T extends Record<string, unknown> = Record<str
|
|
|
60
81
|
* @since 0.0.1
|
|
61
82
|
* @author AMBROISE PARK Consulting
|
|
62
83
|
*/
|
|
63
|
-
export declare function EntityFormRenderer<T extends Record<string, any> = any>({ entity, onSubmit, t, className, submitText, loading, defaultValues, submitVariant, secondaryButtonText, secondaryButtonVariant, onSecondarySubmit, viewerRole, operation, autoSave, formId: externalFormId, }: EntityFormRendererProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
84
|
+
export declare function EntityFormRenderer<T extends Record<string, any> = any>({ entity, onSubmit, t, className, submitText, loading, defaultValues, submitVariant, secondaryButtonText, secondaryButtonVariant, onSecondarySubmit, viewerRole, operation, autoSave, formId: externalFormId, cancelText, onCancel, warnOnUnsavedChanges, unsavedChangesMessage, }: EntityFormRendererProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
64
85
|
export default EntityFormRenderer;
|
|
65
86
|
//# sourceMappingURL=EntityFormRenderer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityFormRenderer.d.ts","sourceRoot":"","sources":["../../src/components/EntityFormRenderer.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"EntityFormRenderer.d.ts","sourceRoot":"","sources":["../../src/components/EntityFormRenderer.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAY7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD,UAAU,uBAAuB,CAC/B,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAE3D,mEAAmE;IACnE,MAAM,EAAE,MAAM,CAAC;IACf,8BAA8B;IAC9B,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,2BAA2B;IAC3B,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC;IAC/D,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yBAAyB;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,0BAA0B;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3B,4BAA4B;IAC5B,aAAa,CAAC,EAAE,SAAS,GAAG,aAAa,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;IACzE,4BAA4B;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,+BAA+B;IAC/B,sBAAsB,CAAC,EACnB,SAAS,GACT,aAAa,GACb,SAAS,GACT,OAAO,GACP,MAAM,CAAC;IACX,0CAA0C;IAC1C,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD;;;OAGG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB;;;OAGG;IACH,SAAS,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC9B;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB;;;OAGG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;OAEG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,EACtE,MAAM,EACN,QAAQ,EACR,CAAC,EACD,SAAc,EACd,UAAU,EACV,OAAe,EACf,aAAa,EACb,aAAyB,EACzB,mBAAmB,EACnB,sBAAkC,EAClC,iBAAiB,EACjB,UAAU,EACV,SAA6C,EAC7C,QAAiC,EACjC,MAAM,EAAE,cAAc,EACtB,UAAU,EACV,QAAQ,EACR,oBAA2B,EAC3B,qBAAqB,GACtB,EAAE,uBAAuB,CAAC,CAAC,CAAC,2CA+O5B;AAED,eAAe,kBAAkB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as
|
|
1
|
+
"use client";import{jsx as r,jsxs as f}from"react/jsx-runtime";import{useEffect as T,useId as Q,useMemo as p}from"react";import{FormProvider as X}from"react-hook-form";import{Button as v,Stack as Z,Spinner as ee}from"@donotdev/components";import{useTranslation as I}from"@donotdev/core";import{DisplayFieldRenderer as re}from"./DisplayFieldRenderer";import{FormFieldRenderer as oe}from"./FormFieldRenderer";import{UploadProvider as te}from"../contexts/UploadContext";import{useEntityForm as ne}from"../forms/hooks/useEntityForm";import{useUnsavedChangesWarning as ae,useConfirmNavigation as ie}from"../hooks/useUnsavedChangesWarning";import{useFormStore as se}from"../stores";function de({entity:u,onSubmit:V,t:k,className:D="",submitText:N,loading:j=!1,defaultValues:s,submitVariant:P="primary",secondaryButtonText:m,secondaryButtonVariant:E="outline",onSecondarySubmit:h,viewerRole:L,operation:c=s?"edit":"create",autoSave:R=c==="create",formId:U,cancelText:b,onCancel:$,warnOnUnsavedChanges:B=!0,unsavedChangesMessage:d}){const M=Q(),n=U??`entity-form-${u.name}-${M}`,{t:Y}=I(u.namespace),{t:e}=I("crud"),g=k||Y,y=ne(u,{formId:n,operation:c,defaultValues:s,viewerRole:L,t:g,autoSave:R}),{control:_,handleSubmit:x,formState:{errors:z},fields:A,formStatus:l,uploadProgress:a,cleanup:C,isDirty:i,resetForm:W}=y;T(()=>{n&&se.getState().setIsDirty(n,i)},[n,i]),T(()=>C,[C]);const q=p(()=>d||e("messages.unsavedChangesLeave",{defaultValue:"You have unsaved changes. Are you sure you want to leave?"}),[d,e]),G=p(()=>d||e("messages.unsavedChangesDiscard",{defaultValue:"You have unsaved changes. Discard them?"}),[d,e]);ae({isDirty:i,enabled:B,message:q});const H=ie(i,G),J=async()=>{i&&!await H()||(W(),$?.())},F=b!==null,S=b??e("form.cancel",{defaultValue:"Cancel"}),K=j||c==="edit"&&!s,o=p(()=>l==="uploading"?{loading:!0,loadingText:a<100?e("form.uploading",{progress:Math.round(a),defaultValue:`Uploading ${Math.round(a)}%...`}):e("form.processing",{defaultValue:"Processing..."}),progress:a}:l==="validating"?{loading:!0,loadingText:e("form.validating",{defaultValue:"Validating..."})}:l==="submitting"?{loading:!0,loadingText:e("form.saving",{defaultValue:"Saving..."})}:{loading:!1},[l,a,e]);return r(X,{...y,children:r(te,{formId:n,children:f("div",{style:{position:"relative",width:"100%",gridColumn:"1 / -1",display:"contents"},children:[K&&r(ee,{overlay:!0}),f("form",{onSubmit:x(V),noValidate:!0,className:D,style:{width:"100%",gridColumn:"1 / -1",display:"contents"},children:[A.map(({name:t,config:w,editable:O})=>O?r(oe,{name:t,config:w,control:_,errors:z,t:g},t):r(re,{name:t,config:w,value:s?.[t],t:g},t)),f(Z,{direction:m||F?"row":"column",gap:"tight",style:{gridColumn:"1 / -1",position:"sticky",bottom:0,backgroundColor:"var(--background)",borderTop:"1px solid var(--border)",paddingTop:"var(--gap-md)",paddingBottom:"var(--gap-md)",zIndex:10,marginTop:"var(--gap-lg)"},children:[F&&S&&r(v,{type:"button",onClick:J,disabled:o.loading,variant:"outline",className:"dndev-w-full",children:S}),m&&r(v,{type:"button",onClick:()=>h&&x(h)(),loading:o.loading,loadingText:o.loadingText,progress:o.progress,variant:E,className:"dndev-w-full",children:m}),r(v,{type:"submit",loading:o.loading,loadingText:o.loadingText,progress:o.progress,variant:P,className:"dndev-w-full",children:N||e("form.submit",{defaultValue:"Submit"})})]})]})]})})})}var Ce=de;export{de as EntityFormRenderer,Ce as default};
|
|
@@ -4,12 +4,18 @@ export interface EntityListProps {
|
|
|
4
4
|
entity: Entity;
|
|
5
5
|
/** Current user role (for UI toggle only - backend enforces security) */
|
|
6
6
|
userRole?: string;
|
|
7
|
-
/**
|
|
8
|
-
onEdit
|
|
9
|
-
/**
|
|
7
|
+
/** Edit handler - called when edit button is clicked */
|
|
8
|
+
onEdit: (id: string) => void;
|
|
9
|
+
/** View handler (row click) - called when row is clicked */
|
|
10
10
|
onView?: (id: string) => void;
|
|
11
|
-
/**
|
|
12
|
-
|
|
11
|
+
/** Create handler - called when "Add New" button is clicked */
|
|
12
|
+
onCreate?: () => void;
|
|
13
|
+
/** Hide filters section (default: false) */
|
|
14
|
+
hideFilters?: boolean;
|
|
15
|
+
/** Pagination mode: 'client' (default) or 'server' for massive datasets */
|
|
16
|
+
pagination?: 'client' | 'server';
|
|
17
|
+
/** Default page size (default: 10) */
|
|
18
|
+
defaultPageSize?: number;
|
|
13
19
|
}
|
|
14
20
|
/**
|
|
15
21
|
* Entity List Component - Table view for admin/internal operations
|
|
@@ -20,5 +26,5 @@ export interface EntityListProps {
|
|
|
20
26
|
* - Excel-like table display with formatted values
|
|
21
27
|
* - Edit and Delete actions (admin only)
|
|
22
28
|
*/
|
|
23
|
-
export declare function EntityList({ entity, userRole, onEdit, onView,
|
|
29
|
+
export declare function EntityList({ entity, userRole, onEdit, onView, onCreate, hideFilters, pagination, defaultPageSize, }: EntityListProps): import("react/jsx-runtime").JSX.Element;
|
|
24
30
|
//# sourceMappingURL=EntityList.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityList.d.ts","sourceRoot":"","sources":["../../src/components/EntityList.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"EntityList.d.ts","sourceRoot":"","sources":["../../src/components/EntityList.tsx"],"names":[],"mappings":"AA+BA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAU7C,MAAM,WAAW,eAAe;IAC9B,4BAA4B;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wDAAwD;IACxD,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,4DAA4D;IAC5D,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,4CAA4C;IAC5C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,2EAA2E;IAC3E,UAAU,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IACjC,sCAAsC;IACtC,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,EACzB,MAAM,EACN,QAAkB,EAClB,MAAM,EACN,MAAM,EACN,QAAQ,EACR,WAAmB,EACnB,UAAqB,EACrB,eAAoB,GACrB,EAAE,eAAe,2CAqSjB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as
|
|
1
|
+
"use client";import{jsx as n,jsxs as f,Fragment as J}from"react/jsx-runtime";import{RefreshCw as K,Plus as U,Trash2 as W,Edit as X,Search as Y}from"lucide-react";import{useMemo as N,useCallback as o,useState as m}from"react";import{DataTable as Z,Button as V,Stack as y,ActionButton as ee,Section as R,Input as te}from"@donotdev/components";import{useTranslation as _}from"@donotdev/core";import{translateFieldLabel as ae}from"../forms/utils";import{useCrud as le}from"../useCrud";import{useCrudList as re}from"../useCrudList";import{formatValue as ne}from"./DisplayFieldRenderer";import{EntityFilters as ie,matchesFilter as se}from"./EntityFilters";function Fe({entity:l,userRole:oe="guest",onEdit:F,onView:g,onCreate:x,hideFilters:A=!1,pagination:h="client",defaultPageSize:B=10}){const[P,E]=m(1),[v,ue]=m(B),{data:S,loading:p,mutate:T}=re(l,{pagination:h,...h==="server"&&{page:P,pageSize:v}}),{delete:k}=le(l),{t:e}=_("crud"),b=S?.items||[],{t:u}=_(l.namespace),[c,z]=m({}),[d,Q]=m(""),$=o(async()=>{await T()},[T]),L=o(t=>{F(t)},[F]),M=o(t=>{g&&g(t)},[g]),j=o(async t=>{await k(t)},[k]),q=o(t=>{z(t)},[]),D=N(()=>{let t=b;if(d){const i=d.toLowerCase();t=t.filter(r=>Object.values(r).some(a=>a==null?!1:String(a).toLowerCase().includes(i)))}return Object.keys(c).length>0&&(t=t.filter(i=>Object.entries(c).every(([r,a])=>{const s=i[r],O=l.fields[r]?.type||"text";return se(s,a,O)}))),t},[b,d,c,l.fields]),G=N(()=>{const i=(l.listFields||Object.keys(l.fields)).map(r=>{const a=l.fields[r];if(!a)return null;const s=ae(r,a,u),C=a.type||"text";return{key:r,title:s,dataIndex:r,sortable:!0,filterable:!0,align:C==="number"||C==="range"?"end":"start",render:(H,de)=>ne(H,a,u,{compact:!0})}}).filter(Boolean);return i.unshift({key:"_actions",title:e("actions.label",{defaultValue:"Actions"}),dataIndex:void 0,sortable:!1,width:120,align:"center",render:(r,a)=>f(y,{direction:"row",gap:"tight",align:"center",justify:"center",children:[n(V,{variant:"outline",icon:X,onClick:s=>{s.stopPropagation(),L(a.id)},"aria-label":e("edit",{defaultValue:"Edit"})}),n(ee,{action:async()=>{await j(a.id)},confirmText:e("delete.confirm",{defaultValue:"Are you sure you want to delete this item?"}),confirmTitle:e("delete.title",{defaultValue:"Delete Item"}),loadingText:e("delete.loading",{defaultValue:"Deleting..."}),variant:"destructive",icon:W,"aria-label":e("delete",{defaultValue:"Delete"}),children:e("delete",{defaultValue:"Delete"})})]})}),i},[l,u,e,L,j]),I=u("name",{defaultValue:l.name}),w=D.length;return f(J,{children:[n(R,{title:e("filters.title",{entity:I,defaultValue:`Browse ${I} - Filters`}),collapsible:!0,defaultOpen:!0,children:f(y,{gap:"medium",children:[f(y,{direction:"row",gap:"tight",align:"center",className:"dndev-w-full",style:{display:"grid",gridTemplateColumns:"1fr auto auto"},children:[n(te,{placeholder:e("search.placeholder",{defaultValue:"Search..."}),value:d,onChange:t=>Q(t.target.value),icon:Y,className:"dndev-w-full"}),n(V,{icon:K,variant:"outline",onClick:$,disabled:p,display:"compact","aria-label":e("refresh",{defaultValue:"Refresh"})}),x&&n(V,{icon:U,onClick:x,display:"compact",children:e("addNew",{defaultValue:"Add New"})})]}),!A&&n(ie,{entity:l,data:b,filters:c,onFiltersChange:q,fieldsToFilter:l.listFields})]})}),n(R,{title:p?e("results.title.fetching",{defaultValue:"Fetching..."}):e("results.title.count",{count:w,defaultValue:w===1?"Found 1 occurrence":`Found ${w} occurrences`}),collapsible:!0,defaultOpen:!0,children:n(Z,{data:D,columns:G,sortable:!0,searchable:!1,pagination:!0,loading:p,onRowClick:t=>M(t.id),showingLabel:e("pagination.showing",{defaultValue:"Showing {{from}} to {{to}} of {{total}} entries"}),paginationPreviousLabel:e("pagination.previous",{defaultValue:"Previous"}),paginationNextLabel:e("pagination.next",{defaultValue:"Next"}),paginationItemsPerPagePlaceholder:e("pagination.itemsPerPagePlaceholder",{defaultValue:"Items per page"}),...h==="server"&&{currentPage:P,pageSize:v,total:S?.total,onPageChange:E}})})]})}export{Fe as EntityList};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormFieldRenderer.d.ts","sourceRoot":"","sources":["../../src/components/FormFieldRenderer.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAKhF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAM5D,OAAO,sBAAsB,CAAC;AAM9B,UAAU,0BAA0B,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS;IAClE,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,MAAM,CAAC;CAC3D;AAED,UAAU,iBAAiB,CACzB,CAAC,SAAS,SAAS,CACnB,SAAQ,0BAA0B,CAAC,CAAC,CAAC;IACrC,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAC5B,QAAQ,EAAE,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAChD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,KAAK,CAAC;IAChB,MAAM,CAAC,EAAE,KAAK,CAAC;CAChB;AAED,UAAU,eAAe,CACvB,CAAC,SAAS,SAAS,EACnB,YAAY,SAAS,WAAW,GAAG,WAAW,CAC9C,SAAQ,0BAA0B,CAAC,CAAC,CAAC;IACrC,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED,MAAM,MAAM,sBAAsB,CAChC,CAAC,SAAS,SAAS,EACnB,YAAY,SAAS,WAAW,GAAG,WAAW,IAC5C,iBAAiB,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;AAE5D;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,CAAC,SAAS,SAAS,EACnB,YAAY,SAAS,WAAW,GAAG,WAAW,EAC9C,EACA,IAAI,EACJ,MAAM,EACN,CAAC,EACD,GAAG,KAAK,EACT,EAAE,sBAAsB,CAAC,CAAC,EAAE,YAAY,CAAC,GAAG,YAAY,
|
|
1
|
+
{"version":3,"file":"FormFieldRenderer.d.ts","sourceRoot":"","sources":["../../src/components/FormFieldRenderer.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAKhF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAM5D,OAAO,sBAAsB,CAAC;AAM9B,UAAU,0BAA0B,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS;IAClE,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,MAAM,CAAC;CAC3D;AAED,UAAU,iBAAiB,CACzB,CAAC,SAAS,SAAS,CACnB,SAAQ,0BAA0B,CAAC,CAAC,CAAC;IACrC,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAC5B,QAAQ,EAAE,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAChD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,KAAK,CAAC;IAChB,MAAM,CAAC,EAAE,KAAK,CAAC;CAChB;AAED,UAAU,eAAe,CACvB,CAAC,SAAS,SAAS,EACnB,YAAY,SAAS,WAAW,GAAG,WAAW,CAC9C,SAAQ,0BAA0B,CAAC,CAAC,CAAC;IACrC,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED,MAAM,MAAM,sBAAsB,CAChC,CAAC,SAAS,SAAS,EACnB,YAAY,SAAS,WAAW,GAAG,WAAW,IAC5C,iBAAiB,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;AAE5D;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,CAAC,SAAS,SAAS,EACnB,YAAY,SAAS,WAAW,GAAG,WAAW,EAC9C,EACA,IAAI,EACJ,MAAM,EACN,CAAC,EACD,GAAG,KAAK,EACT,EAAE,sBAAsB,CAAC,CAAC,EAAE,YAAY,CAAC,GAAG,YAAY,CAmGxD;AAED,eAAe,iBAAiB,CAAC"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { type ControlledFieldProps } from '../types';
|
|
2
2
|
import type { ReactElement } from 'react';
|
|
3
3
|
/**
|
|
4
|
+
|
|
4
5
|
* ControlledAddressField - Explicit controlled component for address inputs
|
|
6
|
+
|
|
5
7
|
* NO ref forwarding - complex component handles its own refs
|
|
8
|
+
|
|
6
9
|
*/
|
|
7
10
|
export declare function ControlledAddressField(props: ControlledFieldProps): ReactElement;
|
|
8
11
|
//# sourceMappingURL=ControlledAddressField.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ControlledAddressField.d.ts","sourceRoot":"","sources":["../../../../src/components/controlled/complex/ControlledAddressField.tsx"],"names":[],"mappings":"AAOA,OAAO,EAA0B,KAAK,oBAAoB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"ControlledAddressField.d.ts","sourceRoot":"","sources":["../../../../src/components/controlled/complex/ControlledAddressField.tsx"],"names":[],"mappings":"AAOA,OAAO,EAA0B,KAAK,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAI7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C;;;;;;GAMG;AAEH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,oBAAoB,GAC1B,YAAY,CA8Bd"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { type ControlledFieldProps } from '../types';
|
|
2
2
|
import type { ReactElement } from 'react';
|
|
3
3
|
/**
|
|
4
|
+
|
|
4
5
|
* ControlledDateField - Explicit controlled component for date inputs
|
|
6
|
+
|
|
5
7
|
* Forwards Controller's ref for focus/validation (simple input)
|
|
8
|
+
|
|
6
9
|
*/
|
|
7
10
|
export declare function ControlledDateField(props: ControlledFieldProps): ReactElement;
|
|
8
11
|
//# sourceMappingURL=ControlledDateField.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ControlledDateField.d.ts","sourceRoot":"","sources":["../../../../src/components/controlled/complex/ControlledDateField.tsx"],"names":[],"mappings":"AAOA,OAAO,EAA0B,KAAK,oBAAoB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"ControlledDateField.d.ts","sourceRoot":"","sources":["../../../../src/components/controlled/complex/ControlledDateField.tsx"],"names":[],"mappings":"AAOA,OAAO,EAA0B,KAAK,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAI7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C;;;;;;GAMG;AAEH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,oBAAoB,GAAG,YAAY,CA2C7E"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { type ControlledFieldProps } from '../types';
|
|
2
2
|
import type { ReactElement } from 'react';
|
|
3
3
|
/**
|
|
4
|
+
|
|
4
5
|
* ControlledGeoPointField - Explicit controlled component for geographic coordinates
|
|
6
|
+
|
|
5
7
|
* NO ref forwarding - complex component handles its own refs
|
|
8
|
+
|
|
6
9
|
*/
|
|
7
10
|
export declare function ControlledGeoPointField(props: ControlledFieldProps): ReactElement;
|
|
8
11
|
//# sourceMappingURL=ControlledGeoPointField.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ControlledGeoPointField.d.ts","sourceRoot":"","sources":["../../../../src/components/controlled/complex/ControlledGeoPointField.tsx"],"names":[],"mappings":"AAOA,OAAO,EAA0B,KAAK,oBAAoB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"ControlledGeoPointField.d.ts","sourceRoot":"","sources":["../../../../src/components/controlled/complex/ControlledGeoPointField.tsx"],"names":[],"mappings":"AAOA,OAAO,EAA0B,KAAK,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAI7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C;;;;;;GAMG;AAEH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,oBAAoB,GAC1B,YAAY,CA4Cd"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { type ControlledFieldProps } from '../types';
|
|
2
2
|
import type { ReactElement } from 'react';
|
|
3
3
|
/**
|
|
4
|
+
|
|
4
5
|
* ControlledMapField - Explicit controlled component for map data inputs
|
|
6
|
+
|
|
5
7
|
* NO ref forwarding - complex component handles its own refs
|
|
8
|
+
|
|
6
9
|
*/
|
|
7
10
|
export declare function ControlledMapField(props: ControlledFieldProps): ReactElement;
|
|
8
11
|
//# sourceMappingURL=ControlledMapField.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ControlledMapField.d.ts","sourceRoot":"","sources":["../../../../src/components/controlled/complex/ControlledMapField.tsx"],"names":[],"mappings":"AAOA,OAAO,EAA0B,KAAK,oBAAoB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"ControlledMapField.d.ts","sourceRoot":"","sources":["../../../../src/components/controlled/complex/ControlledMapField.tsx"],"names":[],"mappings":"AAOA,OAAO,EAA0B,KAAK,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAI7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C;;;;;;GAMG;AAEH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,oBAAoB,GAAG,YAAY,CA4C5E"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { type ControlledFieldProps } from '../types';
|
|
2
2
|
import type { ReactElement } from 'react';
|
|
3
3
|
/**
|
|
4
|
+
|
|
4
5
|
* ControlledMultiInputField - Explicit controlled component for array of text inputs
|
|
6
|
+
|
|
5
7
|
* NO ref forwarding - complex component handles its own refs
|
|
8
|
+
|
|
6
9
|
*/
|
|
7
10
|
export declare function ControlledMultiInputField(props: ControlledFieldProps): ReactElement;
|
|
8
11
|
//# sourceMappingURL=ControlledMultiInputField.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ControlledMultiInputField.d.ts","sourceRoot":"","sources":["../../../../src/components/controlled/complex/ControlledMultiInputField.tsx"],"names":[],"mappings":"AAOA,OAAO,EAA0B,KAAK,oBAAoB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"ControlledMultiInputField.d.ts","sourceRoot":"","sources":["../../../../src/components/controlled/complex/ControlledMultiInputField.tsx"],"names":[],"mappings":"AAOA,OAAO,EAA0B,KAAK,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAI7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C;;;;;;GAMG;AAEH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,oBAAoB,GAC1B,YAAY,CAyCd"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { type ControlledFieldProps } from '../types';
|
|
2
2
|
import type { ReactElement } from 'react';
|
|
3
3
|
/**
|
|
4
|
+
|
|
4
5
|
* ControlledRichTextField - Explicit controlled component for rich text editor
|
|
6
|
+
|
|
5
7
|
* NO ref forwarding - complex component handles its own refs
|
|
8
|
+
|
|
6
9
|
*/
|
|
7
10
|
export declare function ControlledRichTextField(props: ControlledFieldProps): ReactElement;
|
|
8
11
|
//# sourceMappingURL=ControlledRichTextField.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ControlledRichTextField.d.ts","sourceRoot":"","sources":["../../../../src/components/controlled/complex/ControlledRichTextField.tsx"],"names":[],"mappings":"AAOA,OAAO,EAA0B,KAAK,oBAAoB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"ControlledRichTextField.d.ts","sourceRoot":"","sources":["../../../../src/components/controlled/complex/ControlledRichTextField.tsx"],"names":[],"mappings":"AAOA,OAAO,EAA0B,KAAK,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAI7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C;;;;;;GAMG;AAEH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,oBAAoB,GAC1B,YAAY,CAwBd"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { type ControlledFieldProps } from '../types';
|
|
2
2
|
import type { ReactElement } from 'react';
|
|
3
3
|
/**
|
|
4
|
+
|
|
4
5
|
* ControlledTimestampField - Explicit controlled component for timestamp inputs
|
|
6
|
+
|
|
5
7
|
* Forwards Controller's ref for focus/validation (simple input)
|
|
8
|
+
|
|
6
9
|
*/
|
|
7
10
|
export declare function ControlledTimestampField(props: ControlledFieldProps): ReactElement;
|
|
8
11
|
//# sourceMappingURL=ControlledTimestampField.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ControlledTimestampField.d.ts","sourceRoot":"","sources":["../../../../src/components/controlled/complex/ControlledTimestampField.tsx"],"names":[],"mappings":"AAOA,OAAO,EAA0B,KAAK,oBAAoB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"ControlledTimestampField.d.ts","sourceRoot":"","sources":["../../../../src/components/controlled/complex/ControlledTimestampField.tsx"],"names":[],"mappings":"AAOA,OAAO,EAA0B,KAAK,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAI7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C;;;;;;GAMG;AAEH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,oBAAoB,GAC1B,YAAY,CAuBd"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/controlled/complex/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/controlled/complex/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAExE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { type ControlledFieldProps } from '../types';
|
|
2
2
|
import type { ReactElement } from 'react';
|
|
3
3
|
/**
|
|
4
|
+
|
|
4
5
|
* ControlledDocumentField - Explicit controlled component for document uploads
|
|
6
|
+
|
|
5
7
|
* NO ref forwarding - complex component (forwardRef) handles its own refs
|
|
8
|
+
|
|
6
9
|
*/
|
|
7
10
|
export declare function ControlledDocumentField(props: ControlledFieldProps): ReactElement;
|
|
8
11
|
//# sourceMappingURL=ControlledDocumentField.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ControlledDocumentField.d.ts","sourceRoot":"","sources":["../../../../src/components/controlled/file/ControlledDocumentField.tsx"],"names":[],"mappings":"AAOA,OAAO,EAA0B,KAAK,oBAAoB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"ControlledDocumentField.d.ts","sourceRoot":"","sources":["../../../../src/components/controlled/file/ControlledDocumentField.tsx"],"names":[],"mappings":"AAOA,OAAO,EAA0B,KAAK,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAI7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C;;;;;;GAMG;AAEH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,oBAAoB,GAC1B,YAAY,CA6Bd"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { type ControlledFieldProps } from '../types';
|
|
2
2
|
import type { ReactElement } from 'react';
|
|
3
3
|
/**
|
|
4
|
+
|
|
4
5
|
* ControlledFileField - Explicit controlled component for file uploads
|
|
6
|
+
|
|
5
7
|
* NO ref forwarding - complex component (forwardRef) handles its own refs
|
|
8
|
+
|
|
6
9
|
*/
|
|
7
10
|
export declare function ControlledFileField(props: ControlledFieldProps): ReactElement;
|
|
8
11
|
//# sourceMappingURL=ControlledFileField.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ControlledFileField.d.ts","sourceRoot":"","sources":["../../../../src/components/controlled/file/ControlledFileField.tsx"],"names":[],"mappings":"AAOA,OAAO,EAA0B,KAAK,oBAAoB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"ControlledFileField.d.ts","sourceRoot":"","sources":["../../../../src/components/controlled/file/ControlledFileField.tsx"],"names":[],"mappings":"AAOA,OAAO,EAA0B,KAAK,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAI7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C;;;;;;GAMG;AAEH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,oBAAoB,GAAG,YAAY,CA6B7E"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { type ControlledFieldProps } from '../types';
|
|
2
2
|
import type { ReactElement } from 'react';
|
|
3
3
|
/**
|
|
4
|
+
|
|
4
5
|
* ControlledImageField - Explicit controlled component for image uploads
|
|
6
|
+
|
|
5
7
|
* NO ref forwarding - complex component (forwardRef) handles its own refs
|
|
8
|
+
|
|
6
9
|
*/
|
|
7
10
|
export declare function ControlledImageField(props: ControlledFieldProps): ReactElement;
|
|
8
11
|
//# sourceMappingURL=ControlledImageField.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ControlledImageField.d.ts","sourceRoot":"","sources":["../../../../src/components/controlled/file/ControlledImageField.tsx"],"names":[],"mappings":"AAOA,OAAO,EAA0B,KAAK,oBAAoB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"ControlledImageField.d.ts","sourceRoot":"","sources":["../../../../src/components/controlled/file/ControlledImageField.tsx"],"names":[],"mappings":"AAOA,OAAO,EAA0B,KAAK,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAI7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C;;;;;;GAMG;AAEH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,oBAAoB,GAC1B,YAAY,CA6Bd"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { type ControlledFieldProps } from '../types';
|
|
2
2
|
import type { ReactElement } from 'react';
|
|
3
3
|
/**
|
|
4
|
+
|
|
4
5
|
* ControlledMultiDocumentField - Explicit controlled component for multiple document uploads
|
|
6
|
+
|
|
5
7
|
* NO ref forwarding - complex component (forwardRef) handles its own refs
|
|
8
|
+
|
|
6
9
|
*/
|
|
7
10
|
export declare function ControlledMultiDocumentField(props: ControlledFieldProps): ReactElement;
|
|
8
11
|
//# sourceMappingURL=ControlledMultiDocumentField.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ControlledMultiDocumentField.d.ts","sourceRoot":"","sources":["../../../../src/components/controlled/file/ControlledMultiDocumentField.tsx"],"names":[],"mappings":"AAOA,OAAO,EAA0B,KAAK,oBAAoB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"ControlledMultiDocumentField.d.ts","sourceRoot":"","sources":["../../../../src/components/controlled/file/ControlledMultiDocumentField.tsx"],"names":[],"mappings":"AAOA,OAAO,EAA0B,KAAK,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAI7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C;;;;;;GAMG;AAEH,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,oBAAoB,GAC1B,YAAY,CAuCd"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { type ControlledFieldProps } from '../types';
|
|
2
2
|
import type { ReactElement } from 'react';
|
|
3
3
|
/**
|
|
4
|
+
|
|
4
5
|
* ControlledMultiFileField - Explicit controlled component for multiple file uploads
|
|
6
|
+
|
|
5
7
|
* NO ref forwarding - complex component (forwardRef) handles its own refs
|
|
8
|
+
|
|
6
9
|
*/
|
|
7
10
|
export declare function ControlledMultiFileField(props: ControlledFieldProps): ReactElement;
|
|
8
11
|
//# sourceMappingURL=ControlledMultiFileField.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ControlledMultiFileField.d.ts","sourceRoot":"","sources":["../../../../src/components/controlled/file/ControlledMultiFileField.tsx"],"names":[],"mappings":"AAOA,OAAO,EAA0B,KAAK,oBAAoB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"ControlledMultiFileField.d.ts","sourceRoot":"","sources":["../../../../src/components/controlled/file/ControlledMultiFileField.tsx"],"names":[],"mappings":"AAOA,OAAO,EAA0B,KAAK,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAI7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C;;;;;;GAMG;AAEH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,oBAAoB,GAC1B,YAAY,CAuCd"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { type ControlledFieldProps } from '../types';
|
|
2
2
|
import type { ReactElement } from 'react';
|
|
3
3
|
/**
|
|
4
|
+
|
|
4
5
|
* ControlledMultiImageField - Explicit controlled component for multiple image uploads
|
|
6
|
+
|
|
5
7
|
* NO ref forwarding - complex component (forwardRef) handles its own refs
|
|
8
|
+
|
|
6
9
|
*/
|
|
7
10
|
export declare function ControlledMultiImageField(props: ControlledFieldProps): ReactElement;
|
|
8
11
|
//# sourceMappingURL=ControlledMultiImageField.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ControlledMultiImageField.d.ts","sourceRoot":"","sources":["../../../../src/components/controlled/file/ControlledMultiImageField.tsx"],"names":[],"mappings":"AAOA,OAAO,EAA0B,KAAK,oBAAoB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"ControlledMultiImageField.d.ts","sourceRoot":"","sources":["../../../../src/components/controlled/file/ControlledMultiImageField.tsx"],"names":[],"mappings":"AAOA,OAAO,EAA0B,KAAK,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAI7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C;;;;;;GAMG;AAEH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,oBAAoB,GAC1B,YAAY,CAuCd"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/controlled/file/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/controlled/file/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAE9E,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC"}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
+
|
|
2
3
|
* @fileoverview Controlled Fields
|
|
4
|
+
|
|
3
5
|
* @description Explicit controlled components for all field types, organized by category.
|
|
6
|
+
|
|
4
7
|
* All components use standard React Hook Form Controller pattern.
|
|
8
|
+
|
|
5
9
|
*/
|
|
6
10
|
export type { ControlledFieldProps } from './types';
|
|
7
11
|
export { convertValidationRules, convertPatternToRegex } from './types';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/controlled/index.ts"],"names":[],"mappings":"AAEA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/controlled/index.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AAIH,YAAY,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAEpD,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAIxE,cAAc,SAAS,CAAC;AAExB,cAAc,UAAU,CAAC;AAEzB,cAAc,QAAQ,CAAC;AAEvB,cAAc,WAAW,CAAC"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { type ControlledFieldProps } from '../types';
|
|
2
2
|
import type { ReactElement } from 'react';
|
|
3
3
|
/**
|
|
4
|
+
|
|
4
5
|
* ControlledCheckboxField - Explicit controlled component for checkbox inputs
|
|
6
|
+
|
|
5
7
|
* Uses standard React Hook Form Controller pattern
|
|
8
|
+
|
|
6
9
|
*/
|
|
7
10
|
export declare function ControlledCheckboxField(props: ControlledFieldProps): ReactElement;
|
|
8
11
|
//# sourceMappingURL=ControlledCheckboxField.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ControlledCheckboxField.d.ts","sourceRoot":"","sources":["../../../../src/components/controlled/input/ControlledCheckboxField.tsx"],"names":[],"mappings":"AAOA,OAAO,EAA0B,KAAK,oBAAoB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"ControlledCheckboxField.d.ts","sourceRoot":"","sources":["../../../../src/components/controlled/input/ControlledCheckboxField.tsx"],"names":[],"mappings":"AAOA,OAAO,EAA0B,KAAK,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAI7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C;;;;;;GAMG;AAEH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,oBAAoB,GAC1B,YAAY,CAuBd"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as r}from"react/jsx-runtime";import{Controller as
|
|
1
|
+
"use client";import{jsx as r}from"react/jsx-runtime";import{Controller as s}from"react-hook-form";import{CheckboxFieldComponent as u}from"../../form/fields";import{convertValidationRules as C}from"../types";function x(t){const{control:l,errors:f,fieldConfig:i,t:a}=t,{name:c,label:e,validation:o}=i,d=typeof e=="string"?a(e):e;return r(s,{name:c,control:l,rules:o?C(o):void 0,render:({field:n})=>r(u,{label:d,checked:!!n.value,onChange:m=>n.onChange(m.target.checked),required:o?.required})})}export{x as ControlledCheckboxField};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type ControlledFieldProps } from '../types';
|
|
2
|
+
import type { ReactElement } from 'react';
|
|
3
|
+
/**
|
|
4
|
+
* ControlledGdprConsentField - GDPR-compliant consent checkbox with automatic label generation
|
|
5
|
+
* Uses standard React Hook Form Controller pattern
|
|
6
|
+
*/
|
|
7
|
+
export declare function ControlledGdprConsentField(props: ControlledFieldProps): ReactElement;
|
|
8
|
+
//# sourceMappingURL=ControlledGdprConsentField.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ControlledGdprConsentField.d.ts","sourceRoot":"","sources":["../../../../src/components/controlled/input/ControlledGdprConsentField.tsx"],"names":[],"mappings":"AAOA,OAAO,EAA0B,KAAK,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAI7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,oBAAoB,GAC1B,YAAY,CAgCd"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{jsx as t}from"react/jsx-runtime";import{Controller as p}from"react-hook-form";import{GdprConsentFieldComponent as f}from"../../form/fields";import{convertValidationRules as h}from"../types";function g(n){const{control:i,errors:u,fieldConfig:c}=n,{name:a,validation:e,options:l={}}=c,o=l.fieldSpecific,s=o?.privacyPolicyPath||"/legal/privacy",d=o?.termsPath||"/legal/terms";return t(p,{name:a,control:i,rules:e?h(e):void 0,render:({field:r})=>t(f,{checked:!!r.value,onChange:m=>r.onChange(m.target.checked),required:e?.required,privacyPolicyPath:s,termsPath:d})})}export{g as ControlledGdprConsentField};
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { type ControlledFieldProps } from '../types';
|
|
2
2
|
import type { ReactElement } from 'react';
|
|
3
3
|
/**
|
|
4
|
+
|
|
4
5
|
* ControlledNumberField - Explicit controlled component for number inputs
|
|
6
|
+
|
|
5
7
|
* Forwards Controller's ref for focus/validation (simple input)
|
|
8
|
+
|
|
6
9
|
*/
|
|
7
10
|
export declare function ControlledNumberField(props: ControlledFieldProps): ReactElement;
|
|
8
11
|
//# sourceMappingURL=ControlledNumberField.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ControlledNumberField.d.ts","sourceRoot":"","sources":["../../../../src/components/controlled/input/ControlledNumberField.tsx"],"names":[],"mappings":"AAOA,OAAO,EAA0B,KAAK,oBAAoB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"ControlledNumberField.d.ts","sourceRoot":"","sources":["../../../../src/components/controlled/input/ControlledNumberField.tsx"],"names":[],"mappings":"AAOA,OAAO,EAA0B,KAAK,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAI7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C;;;;;;GAMG;AAEH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,oBAAoB,GAC1B,YAAY,CA4Dd"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { type ControlledFieldProps } from '../types';
|
|
2
2
|
import type { ReactElement } from 'react';
|
|
3
3
|
/**
|
|
4
|
+
|
|
4
5
|
* ControlledPasswordField - Explicit controlled component for password inputs
|
|
6
|
+
|
|
5
7
|
* Forwards Controller's ref for focus/validation (simple input)
|
|
8
|
+
|
|
6
9
|
*/
|
|
7
10
|
export declare function ControlledPasswordField(props: ControlledFieldProps): ReactElement;
|
|
8
11
|
//# sourceMappingURL=ControlledPasswordField.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ControlledPasswordField.d.ts","sourceRoot":"","sources":["../../../../src/components/controlled/input/ControlledPasswordField.tsx"],"names":[],"mappings":"AAOA,OAAO,EAA0B,KAAK,oBAAoB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"ControlledPasswordField.d.ts","sourceRoot":"","sources":["../../../../src/components/controlled/input/ControlledPasswordField.tsx"],"names":[],"mappings":"AAOA,OAAO,EAA0B,KAAK,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAI7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C;;;;;;GAMG;AAEH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,oBAAoB,GAC1B,YAAY,CAyBd"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { type ControlledFieldProps } from '../types';
|
|
2
2
|
import type { ReactElement } from 'react';
|
|
3
3
|
/**
|
|
4
|
+
|
|
4
5
|
* ControlledPhoneField - Explicit controlled component for phone inputs
|
|
6
|
+
|
|
5
7
|
* Forwards Controller's ref for focus/validation (simple input)
|
|
8
|
+
|
|
6
9
|
*/
|
|
7
10
|
export declare function ControlledPhoneField(props: ControlledFieldProps): ReactElement;
|
|
8
11
|
//# sourceMappingURL=ControlledPhoneField.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ControlledPhoneField.d.ts","sourceRoot":"","sources":["../../../../src/components/controlled/input/ControlledPhoneField.tsx"],"names":[],"mappings":"AAOA,OAAO,EAA0B,KAAK,oBAAoB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"ControlledPhoneField.d.ts","sourceRoot":"","sources":["../../../../src/components/controlled/input/ControlledPhoneField.tsx"],"names":[],"mappings":"AAOA,OAAO,EAA0B,KAAK,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAI7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C;;;;;;GAMG;AAEH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,oBAAoB,GAC1B,YAAY,CAsBd"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { type ControlledFieldProps } from '../types';
|
|
2
2
|
import type { ReactElement } from 'react';
|
|
3
3
|
/**
|
|
4
|
+
|
|
4
5
|
* ControlledRangeField - Explicit controlled component for range inputs
|
|
6
|
+
|
|
5
7
|
* Forwards Controller's ref for focus/validation (simple input)
|
|
8
|
+
|
|
6
9
|
*/
|
|
7
10
|
export declare function ControlledRangeField(props: ControlledFieldProps): ReactElement;
|
|
8
11
|
//# sourceMappingURL=ControlledRangeField.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ControlledRangeField.d.ts","sourceRoot":"","sources":["../../../../src/components/controlled/input/ControlledRangeField.tsx"],"names":[],"mappings":"AAOA,OAAO,EAA0B,KAAK,oBAAoB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"ControlledRangeField.d.ts","sourceRoot":"","sources":["../../../../src/components/controlled/input/ControlledRangeField.tsx"],"names":[],"mappings":"AAOA,OAAO,EAA0B,KAAK,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAI7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C;;;;;;GAMG;AAEH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,oBAAoB,GAC1B,YAAY,CAsCd"}
|