@donotdev/crud 0.0.15 → 0.0.17
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.map +1 -1
- package/dist/CrudService.js +2 -2
- package/dist/CrudStore.d.ts.map +1 -1
- package/dist/FieldRegistry.d.ts +3 -30
- package/dist/FieldRegistry.d.ts.map +1 -1
- package/dist/adapters/FunctionsAdapter.d.ts.map +1 -1
- package/dist/adapters/FunctionsAdapter.js +1 -1
- package/dist/components/CrudCard.d.ts.map +1 -1
- package/dist/components/EntityFilters.d.ts +1 -34
- package/dist/components/EntityFilters.d.ts.map +1 -1
- package/dist/components/EntityFilters.js +1 -1
- package/dist/components/__tests__/EntityFilters.test.js +1 -1
- package/dist/components/__tests__/FormFieldRenderer.test.js +1 -1
- package/dist/components/controlled/complex/ControlledFieldArrayField.d.ts +18 -0
- package/dist/components/controlled/complex/ControlledFieldArrayField.d.ts.map +1 -0
- package/dist/components/controlled/complex/ControlledFieldArrayField.js +1 -0
- package/dist/components/controlled/complex/index.d.ts +1 -0
- package/dist/components/controlled/complex/index.d.ts.map +1 -1
- package/dist/components/controlled/complex/index.js +1 -1
- package/dist/components/controlled/types.d.ts +19 -5
- package/dist/components/controlled/types.d.ts.map +1 -1
- package/dist/components/form/fields/DocumentFieldComponent.d.ts.map +1 -1
- package/dist/components/form/fields/DocumentFieldComponent.js +1 -1
- 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/internal/TiptapEditor.d.ts.map +1 -1
- package/dist/components/index.d.ts +2 -1
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +1 -1
- package/dist/forms/hooks/useEntityField.d.ts +15 -24
- 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 +3 -2
- package/dist/forms/hooks/useEntityForm.d.ts.map +1 -1
- package/dist/forms/hooks/useEntityForm.js +1 -1
- package/dist/forms/types.d.ts +13 -8
- package/dist/forms/types.d.ts.map +1 -1
- package/dist/forms/utils/buildInitialValues.d.ts.map +1 -1
- package/dist/forms/utils/buildInitialValues.js +1 -1
- package/dist/hooks/index.d.ts +1 -1
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +1 -1
- package/dist/hooks/useFileUpload.d.ts.map +1 -1
- package/dist/hooks/useFileUpload.js +1 -1
- package/dist/hooks/useUnsavedChangesWarning.d.ts +3 -24
- package/dist/hooks/useUnsavedChangesWarning.d.ts.map +1 -1
- package/dist/hooks/useUnsavedChangesWarning.js +1 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/registerBuiltinFieldTypes.d.ts.map +1 -1
- package/dist/registerBuiltinFieldTypes.js +1 -1
- package/dist/stores/UploadStore.d.ts.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/useBaseCrudList.d.ts.map +1 -1
- package/dist/useCrud.js +1 -1
- package/dist/useCrudCardList.d.ts +14 -19
- package/dist/useCrudCardList.d.ts.map +1 -1
- package/dist/useCrudCardList.js +1 -1
- package/dist/useCrudList.d.ts +19 -18
- package/dist/useCrudList.d.ts.map +1 -1
- package/dist/useCrudList.js +1 -1
- package/dist/utils/clientListProcessing.d.ts +82 -0
- package/dist/utils/clientListProcessing.d.ts.map +1 -0
- package/dist/utils/clientListProcessing.js +1 -0
- package/dist/utils/fileStorage.d.ts.map +1 -1
- package/dist/utils/imageStorage.d.ts.map +1 -1
- package/dist/utils/imageStorage.js +1 -1
- package/dist/utils/matchesFilter.d.ts +45 -0
- package/dist/utils/matchesFilter.d.ts.map +1 -0
- package/dist/utils/matchesFilter.js +1 -0
- package/dist/utils/mergeWithOptimistic.d.ts.map +1 -1
- package/dist/utils/uploadValidation.d.ts.map +1 -1
- package/dist/utils/uploadValidation.js +1 -1
- package/package.json +5 -8
- package/dist/hooks/useFormNavigationGuard.d.ts +0 -34
- package/dist/hooks/useFormNavigationGuard.d.ts.map +0 -1
- package/dist/hooks/useFormNavigationGuard.js +0 -1
|
@@ -14,7 +14,8 @@ export type { DisplayFieldRendererProps } from './DisplayFieldRenderer';
|
|
|
14
14
|
export { default as FormLayout } from './FormLayout';
|
|
15
15
|
export * from './controlled';
|
|
16
16
|
export * from './form';
|
|
17
|
-
export { EntityFilters
|
|
17
|
+
export { EntityFilters } from './EntityFilters';
|
|
18
|
+
export { matchesFilter } from '../utils/matchesFilter';
|
|
18
19
|
export type { EntityFiltersProps } from './EntityFilters';
|
|
19
20
|
export * from './fields/display';
|
|
20
21
|
export { DisplayThumbnail } from './DisplayThumbnail';
|
|
@@ -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,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC3E,YAAY,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,
|
|
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,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC3E,YAAY,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/components/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{default as e}from"./CrudButton";import{FormFieldRenderer as m}from"./FormFieldRenderer";import{DisplayFieldRenderer as
|
|
1
|
+
import{default as e}from"./CrudButton";import{FormFieldRenderer as m}from"./FormFieldRenderer";import{DisplayFieldRenderer as p,formatValue as a}from"./DisplayFieldRenderer";import{default as l}from"./FormLayout";export*from"./controlled";export*from"./form";import{EntityFilters as s}from"./EntityFilters";import{matchesFilter as n}from"../utils/matchesFilter";export*from"./fields/display";import{DisplayThumbnail as h}from"./DisplayThumbnail";import{CrudCard as R}from"./CrudCard";export{e as CrudButton,R as CrudCard,p as DisplayFieldRenderer,h as DisplayThumbnail,s as EntityFilters,m as FormFieldRenderer,l as FormLayout,a as formatValue,n as matchesFilter};
|
|
@@ -6,22 +6,31 @@ import type { EntityFormReturn, InferEntityData, EntityFieldReturn } from '../ty
|
|
|
6
6
|
* Useful when you need fine-grained control over field rendering,
|
|
7
7
|
* such as custom components, conditional logic, or complex layouts.
|
|
8
8
|
*
|
|
9
|
+
* Returns `{ field, meta, config, isEditable, isVisible, display }`.
|
|
10
|
+
* - `display(options?)` formats the current value using the registered field type formatter.
|
|
11
|
+
*
|
|
9
12
|
* @template E - Entity type from defineEntity()
|
|
10
13
|
* @template K - Field key from entity
|
|
11
14
|
* @param form - Form instance from useEntityForm
|
|
12
15
|
* @param fieldName - Name of the field to control
|
|
13
|
-
* @returns Field state, config, and
|
|
16
|
+
* @returns Field state, config, editability info, and display formatter
|
|
14
17
|
*
|
|
15
18
|
* @example
|
|
16
19
|
* ```tsx
|
|
17
|
-
*
|
|
20
|
+
* // Custom field with display()
|
|
21
|
+
* const { field, display, isEditable } = useEntityField(form, 'price');
|
|
22
|
+
* // display() → "€42.00" (uses registered formatter)
|
|
23
|
+
* // display({ compact: true }) → compact format for lists
|
|
24
|
+
* if (!isEditable) return <span>{display()}</span>;
|
|
25
|
+
* ```
|
|
18
26
|
*
|
|
27
|
+
* @example
|
|
28
|
+
* ```tsx
|
|
29
|
+
* // Full custom field
|
|
19
30
|
* function CustomEmailField({ form }) {
|
|
20
31
|
* const { field, meta, config, isEditable } = useEntityField(form, 'email');
|
|
21
32
|
*
|
|
22
|
-
* if (!isEditable) {
|
|
23
|
-
* return <span>{field.value}</span>;
|
|
24
|
-
* }
|
|
33
|
+
* if (!isEditable) return <span>{field.value}</span>;
|
|
25
34
|
*
|
|
26
35
|
* return (
|
|
27
36
|
* <div>
|
|
@@ -38,28 +47,10 @@ import type { EntityFormReturn, InferEntityData, EntityFieldReturn } from '../ty
|
|
|
38
47
|
* }
|
|
39
48
|
* ```
|
|
40
49
|
*
|
|
41
|
-
* @example
|
|
42
|
-
* ```tsx
|
|
43
|
-
* // With conditional rendering
|
|
44
|
-
* function ConditionalField({ form }) {
|
|
45
|
-
* const typeField = useEntityField(form, 'type');
|
|
46
|
-
* const lengthField = useEntityField(form, 'truckBedLength');
|
|
47
|
-
*
|
|
48
|
-
* return (
|
|
49
|
-
* <>
|
|
50
|
-
* <Select {...typeField.field} options={typeField.config.validation?.options} />
|
|
51
|
-
* {typeField.field.value === 'truck' && lengthField.isVisible && (
|
|
52
|
-
* <Input {...lengthField.field} label={lengthField.config.label} />
|
|
53
|
-
* )}
|
|
54
|
-
* </>
|
|
55
|
-
* );
|
|
56
|
-
* }
|
|
57
|
-
* ```
|
|
58
|
-
*
|
|
59
50
|
* @see {@link useEntityForm} for creating the form instance
|
|
60
51
|
* @see {@link EntityFieldReturn} for return type
|
|
61
52
|
*
|
|
62
|
-
* @version 0.0.
|
|
53
|
+
* @version 0.0.2
|
|
63
54
|
* @since 0.0.1
|
|
64
55
|
* @author AMBROISE PARK Consulting
|
|
65
56
|
*/
|
|
@@ -1 +1 @@
|
|
|
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;
|
|
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;AAK1D,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EAClB,MAAM,UAAU,CAAC;AAElB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;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,CAkFlE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{useMemo as
|
|
1
|
+
"use client";import{useMemo as o,useCallback as p}from"react";import{useController as v}from"./useController";import{isFieldEditable as h}from"../utils";import{formatValue as D}from"../../components/DisplayFieldRenderer";function F(s,e){const{entity:d,operation:n,viewerRole:c,fields:b}=s,r=d.fields[e],t=o(()=>r?{...r,name:r.name||e,label:r.label||e}:{name:e,type:"text",label:e,visibility:"user"},[e,r]),l=o(()=>b.some(u=>u.name===e),[b,e]),y=o(()=>!l||n==="edit"&&t.visibility==="technical"&&t.editable===void 0?!1:h(t.editable,c,n),[l,n,t.visibility,t.editable,c]),{field:a,fieldState:i}=v({name:e,control:s.control}),f=o(()=>({error:i.error?.message,touched:i.isTouched,isDirty:i.isDirty}),[i.error?.message,i.isTouched,i.isDirty]),m=p(u=>D(a.value,t,s.t,u),[a.value,t,s.t]);return{field:a,meta:f,config:t,isEditable:y,isVisible:l,display:m}}export{F as useEntityField};
|
|
@@ -4,8 +4,9 @@ import type { UseEntityFormOptions, EntityFormReturn } from '../types';
|
|
|
4
4
|
* Creates a type-safe form instance from an entity definition.
|
|
5
5
|
*
|
|
6
6
|
* Simple, predictable behavior:
|
|
7
|
-
* - Edit mode: defaultValues (DB object) is used as-is
|
|
8
|
-
* - Create mode: starts empty,
|
|
7
|
+
* - Edit mode: defaultValues (DB object) is used as-is, auto-save to localStorage
|
|
8
|
+
* - Create mode: starts empty, auto-save to localStorage
|
|
9
|
+
* - Draft restored on mount with dismissible toast
|
|
9
10
|
*
|
|
10
11
|
* When formId is provided:
|
|
11
12
|
* - Tracks form status (uploading/validating/submitting)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useEntityForm.d.ts","sourceRoot":"","sources":["../../../src/forms/hooks/useEntityForm.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useEntityForm.d.ts","sourceRoot":"","sources":["../../../src/forms/hooks/useEntityForm.ts"],"names":[],"mappings":"AAkCA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAW7C,OAAO,KAAK,EACV,oBAAoB,EACpB,gBAAgB,EAEjB,MAAM,UAAU,CAAC;AAsClB;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,EAC5C,MAAM,EAAE,CAAC,EACT,OAAO,GAAE,oBAAoB,CAAC,CAAC,CAAM,GACpC,gBAAgB,CAAC,CAAC,CAAC,CA0frB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{valibotResolver as
|
|
1
|
+
"use client";import{valibotResolver as K}from"@hookform/resolvers/valibot";import{useMemo as l,useEffect as A,useRef as V,useCallback as v,createElement as ae}from"react";import{useForm as ne}from"react-hook-form";import{toast as ie,ToastAction as ue}from"@donotdev/components";import{useLocalStorage as ce,BACKEND_GENERATED_FIELD_NAMES as le,createSchemas as fe}from"@donotdev/core";import{useFormStore as P,useFormStatus as de,useUploadProgress as me}from"../../stores";import{useUploadStore as N}from"../../stores/UploadStore";import{checkForBlobUrls as q}from"../../utils/uploadValidation";import{getFieldsForOperation as pe}from"../utils";import{buildInitialFromRecord as Se,buildSchemaDefaults as ge}from"../utils/buildInitialValues";const he=n=>n;function z(n,E){const e={...n};for(const S of Object.keys(E)){const c=n[S],d=E[S];d!==null&&typeof d=="object"&&!Array.isArray(d)&&c!==null&&typeof c=="object"&&!Array.isArray(c)?e[S]=z(c,d):e[S]=d}return e}function Ae(n,E={}){const{formId:e,operation:S,defaultValues:c,viewerRole:d,mode:G="onBlur",t:H}=E,g=H??he,U=d??"guest",i=S??(c?"edit":"create"),W=de(e??""),Y=me(e??""),F=l(()=>fe(n),[n.name]),O=l(()=>K(F.create),[F.create]),$=l(()=>K(F.draft),[F.draft]),J=l(()=>async(r,s,a)=>((r?.status??c?.status)==="draft"?$:O)(r,s,a),[O,$,c?.status]),y=l(()=>ge(n),[n]),j=c,u=l(()=>{if(i==="create")return y;if(j)return Se(n,j)},[i,y,n,j]),o=ne({defaultValues:i==="create"?u:void 0,mode:G,resolver:J,shouldUnregister:!1,shouldFocusError:!0}),R=V(o);A(()=>{R.current=o},[o]);const T=V(null);A(()=>{if(i==="edit"&&u){const r=u.id??null;r&&r!==T.current?(R.current.reset(u),T.current=r):!r&&T.current===null&&(R.current.reset(u),T.current="initialized")}},[i,u]);const k=c?.id,Q=l(()=>{const r=`${n.name.toLowerCase()}-form-draft`;return i==="create"?r:k?`${r}-${k}`:`${r}-edit`},[n.name,i,k]),{value:b,setValue:x,removeValue:h}=ce(Q,{defaultValue:null,syncAcrossTabs:!0}),D=V(!1);A(()=>{if(D.current)return;const r=s=>{const a=()=>{h(),s&&R.current.reset(s)};ie({toastType:"info",title:g("draft.restored",{defaultValue:"Draft restored"}),description:g("draft.restoredDescription",{defaultValue:"Your unsaved changes were recovered"}),action:ae(ue,{altText:g("draft.discard",{defaultValue:"Discard"}),onClick:a},g("draft.discard",{defaultValue:"Discard"})),duration:8e3})};if(i==="create"&&!c){b&&(o.reset(b),r(y)),D.current=!0;return}if(i==="edit"&&u){if(b){const s=z(u,b);o.reset(s),r(u)}D.current=!0}},[i,c,b,o,u,h,g,y]);const I=V(!1),w=V(null);A(()=>{const r=o.watch(s=>{I.current||!D.current||(w.current&&clearTimeout(w.current),w.current=setTimeout(()=>{if(!s)return;Object.values(s).some(t=>t!=null&&t!=="")&&x(s)},3e3))});return()=>{r.unsubscribe(),w.current&&clearTimeout(w.current)}},[o,x]);const B=v(async()=>{if(!e)return!0;const r=N.getState(),s=P.getState();if(!r.hasPendingUploads(e))return!0;try{s.setUploading(e,0),await r.uploadAll(e),await new Promise(p=>setTimeout(p,50));let a=o.getValues(),t=q(a),f=0;const m=5;for(;t.length>0&&f<m;)f++,await new Promise(p=>setTimeout(p,100)),a=o.getValues(),t=q(a);if(t.length>0){const p=`Upload incomplete: files still pending at ${t.join(", ")}`;return s.setError(e,p),!1}return!0}catch(a){const t=a instanceof Error?a.message:"File upload failed";return P.getState().setError(e,t),!1}},[e,o]),C=v(r=>i!=="create"?r:Object.fromEntries(Object.entries(r).filter(([s])=>!le.includes(s))),[i]),L=v(r=>{if(typeof window>"u")return;const s=Object.keys(r).find(t=>t!=="root"&&r[t]);if(!s)return;const a=document.querySelector(`input[name="${s}"][aria-invalid="true"], textarea[name="${s}"][aria-invalid="true"], select[name="${s}"][aria-invalid="true"]`);a&&(a.scrollIntoView({behavior:"smooth",block:"center"}),a.focus())},[]),_=o.handleSubmit,X=l(()=>((r,s)=>async a=>{a?.preventDefault?.();const t=e?P.getState():null;e&&t&&t.startSubmit(e),I.current=!0;try{if(!await B()){e&&t&&t.setError(e,"Upload failed");return}e&&t&&t.setValidating(e),await _(async(m,p)=>{e&&t&&t.setSubmitting(e);const se=C(m);try{await r(se,p),h(),e&&t&&t.setSuccess(e)}catch(M){const oe=M instanceof Error?M.message:"Submission failed";throw e&&t&&t.setError(e,oe),M}},m=>{e&&t&&t.setError(e,"Validation failed"),L(m),s?.(m)})(a)}catch{if(e&&t){const f=t.getStatus(e);f!=="error"&&f!=="idle"&&f!=="success"&&t.reset(e)}}finally{I.current=!1}}),[_,e,B,C,L,i,h]),Z=v(()=>{h(),o.reset(u),D.current=!1},[h,o,u]),ee=v(()=>{e&&(P.getState().cleanup(e),N.getState().cleanup(e))},[e]),te=l(()=>pe(n,{operation:i,viewerRole:U,availableFields:void 0}),[n,i,U]),re=o.formState.isSubmitted||Object.keys(o.formState.touchedFields||{}).length>0;return{...o,handleSubmit:X,fields:te,operation:i,entity:n,t:g,viewerRole:U,formId:e,formStatus:e?W:"idle",uploadProgress:e?Y:0,cleanup:ee,isDirty:o.formState.isDirty,hasUserInteracted:re,resetForm:Z,originalValues:u}}export{Ae as useEntityForm};
|
package/dist/forms/types.d.ts
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
* @since 0.0.1
|
|
7
7
|
* @author AMBROISE PARK Consulting
|
|
8
8
|
*/
|
|
9
|
+
import type { ReactElement } from 'react';
|
|
9
10
|
import type { Entity, EntityField, FieldType, FieldTypeToValue, Visibility, Editable, ValidationRules, dndevSchema } from '@donotdev/core';
|
|
10
11
|
import type { FormStatus } from '../stores/FormStore';
|
|
11
12
|
import type { RenderableField, ViewerRole } from './utils';
|
|
@@ -111,14 +112,6 @@ export interface UseEntityFormOptions<E extends Entity> {
|
|
|
111
112
|
* If not provided, uses entity labels or generates from field names.
|
|
112
113
|
*/
|
|
113
114
|
t?: (key: string, options?: Record<string, unknown>) => string;
|
|
114
|
-
/**
|
|
115
|
-
* Enable auto-save to localStorage for crash recovery.
|
|
116
|
-
* Saves form state every 3 seconds (debounced) with multi-tab sync.
|
|
117
|
-
* Auto-generates key: `<entity-name>-form-draft`
|
|
118
|
-
* Auto-cleans up on successful submit.
|
|
119
|
-
* @default false
|
|
120
|
-
*/
|
|
121
|
-
autoSave?: boolean;
|
|
122
115
|
}
|
|
123
116
|
/**
|
|
124
117
|
* Return type for useEntityForm hook.
|
|
@@ -231,5 +224,17 @@ export interface EntityFieldReturn<E extends Entity, K extends keyof InferEntity
|
|
|
231
224
|
* Whether field is visible (based on filtering).
|
|
232
225
|
*/
|
|
233
226
|
isVisible: boolean;
|
|
227
|
+
/**
|
|
228
|
+
* Format the current field value for display using registered formatter.
|
|
229
|
+
* Returns the formatted value as string or ReactElement.
|
|
230
|
+
*
|
|
231
|
+
* @param options - Formatting options
|
|
232
|
+
* @param options.compact - Use compact formatting (smaller images, plain spans for empty)
|
|
233
|
+
* @param options.asString - Prefer string output when possible
|
|
234
|
+
*/
|
|
235
|
+
display: (options?: {
|
|
236
|
+
compact?: boolean;
|
|
237
|
+
asString?: boolean;
|
|
238
|
+
}) => string | ReactElement;
|
|
234
239
|
}
|
|
235
240
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/forms/types.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,MAAM,EACN,WAAW,EACX,SAAS,EACT,gBAAgB,EAChB,UAAU,EACV,QAAQ,EACR,eAAe,EACf,WAAW,EACZ,MAAM,gBAAgB,CAAC;AAExB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC3D,OAAO,KAAK,EACV,aAAa,EAUb,qBAAqB,EACrB,SAAS,EACV,MAAM,iBAAiB,CAAC;AAGzB,YAAY,EACV,MAAM,EACN,WAAW,EACX,SAAS,EACT,UAAU,EACV,QAAQ,EACR,eAAe,EACf,WAAW,EACX,eAAe,EACf,UAAU,GACX,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,MAAM,IAAI;KAC7C,CAAC,IAAI,MAAM,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;QAAE,IAAI,EAAE,MAAM,CAAC,CAAA;KAAE,GAC9D,CAAC,SAAS,SAAS,GACjB,CAAC,SAAS,MAAM,gBAAgB,GAC9B,gBAAgB,CAAC,CAAC,CAAC,GACnB,OAAO,GACT,OAAO,GACT,OAAO;CACZ,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,MAAM,IAAI,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;AAE7E;;;;;;;;;GASG;AACH,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,MAAM,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC;AAErE;;;;;;;;GAQG;AACH,MAAM,WAAW,oBAAoB,CAAC,CAAC,SAAS,MAAM;IACpD;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IAE9B;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;IAE5C;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,IAAI,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,UAAU,GAAG,WAAW,GAAG,KAAK,CAAC;IAEhE;;;OAGG;IACH,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/forms/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildInitialValues.d.ts","sourceRoot":"","sources":["../../../src/forms/utils/buildInitialValues.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"buildInitialValues.d.ts","sourceRoot":"","sources":["../../../src/forms/utils/buildInitialValues.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AA2BhD;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,MAAM,EACrD,MAAM,EAAE,CAAC,EACT,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,GAClC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CA6D7B;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,MAAM,EAClD,MAAM,EAAE,CAAC,GACR,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAG7B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function y(
|
|
1
|
+
function y(n,c){if(c in n)return n[c];const r=c.replace(/_([a-z])/g,(u,e)=>e.toUpperCase());if(r!==c&&r in n)return n[r]}function o(n,c){if(c in n)return!0;const r=c.replace(/_([a-z])/g,(u,e)=>e.toUpperCase());return r!==c&&r in n}function b(n,c){const r=c??{},u={...r};return Object.entries(n.fields).forEach(([e,t])=>{const s=y(u,e);s!==void 0&&!(e in u)&&(u[e]=s);const p=!o(r,e)||s===null||s===void 0;if(t.type==="switch"){if(s==null){const a=t.options?.fieldSpecific;u[e]=a?.uncheckedValue??!1}}else p&&(t.type==="price"?u[e]={amount:0,currency:"EUR",vatIncluded:!0,discountPercent:0}:t.type==="checkbox"||t.type==="boolean"?u[e]=!1:t.type==="text"||t.type==="textarea"||t.type==="email"||t.type==="url"||t.type==="tel"||t.type==="iban"||t.type==="password"||t.type==="color"?u[e]="":(t.type==="number"||t.type==="range"||t.type==="rating")&&(u[e]=void 0))}),u}function h(n){return b(n,{})}export{b as buildInitialFromRecord,h as buildSchemaDefaults};
|
package/dist/hooks/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { useFileUpload } from './useFileUpload';
|
|
2
2
|
export type { FileMetadata, UseFileUploadOptions } from './useFileUpload';
|
|
3
|
-
export { useUnsavedChangesWarning
|
|
3
|
+
export { useUnsavedChangesWarning } from './useUnsavedChangesWarning';
|
|
4
4
|
export { useEntityFavorites } from './useEntityFavorites';
|
|
5
5
|
export type { UseEntityFavoritesOptions, UseEntityFavoritesReturn, } from './useEntityFavorites';
|
|
6
6
|
export { useCrudFilters } from './useCrudFilters';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAE1E,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAE1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,YAAY,EACV,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EACV,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EACV,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,mBAAmB,CAAC"}
|
package/dist/hooks/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useFileUpload as o}from"./useFileUpload";import{useUnsavedChangesWarning as s
|
|
1
|
+
import{useFileUpload as o}from"./useFileUpload";import{useUnsavedChangesWarning as s}from"./useUnsavedChangesWarning";import{useEntityFavorites as m}from"./useEntityFavorites";import{useCrudFilters as u}from"./useCrudFilters";import{useRelatedItems as i}from"./useRelatedItems";export{u as useCrudFilters,m as useEntityFavorites,o as useFileUpload,i as useRelatedItems,s as useUnsavedChangesWarning};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFileUpload.d.ts","sourceRoot":"","sources":["../../src/hooks/useFileUpload.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAK9C,8CAA8C;AAC9C,MAAM,WAAW,YAAY;IAC3B,+BAA+B;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,6CAA6C;IAC7C,IAAI,EAAE,IAAI,CAAC;IACX,6DAA6D;IAC7D,UAAU,EAAE,MAAM,CAAC;IACnB,iDAAiD;IACjD,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,uCAAuC;IACvC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB,qCAAqC;IACrC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,oBAAoB;IACnC,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,8BAA8B;IAC9B,KAAK,EAAE,OAAO,GAAG,OAAO,EAAE,GAAG,IAAI,GAAG,SAAS,CAAC;IAC9C,oCAAoC;IACpC,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,EAAE,GAAG,IAAI,KAAK,IAAI,CAAC;IACtD,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6CAA6C;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,0BAA0B;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uEAAuE;IACvE,QAAQ,CAAC,EAAE,CACT,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,KACnC,OAAO,CAAC,OAAO,CAAC,CAAC;CACvB;AA4DD;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,EAC5B,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,QAAgB,EAChB,QAAa,EACb,OAA0B,EAC1B,MAAW,EACX,WAAuB,EACvB,QAAQ,GACT,EAAE,oBAAoB;
|
|
1
|
+
{"version":3,"file":"useFileUpload.d.ts","sourceRoot":"","sources":["../../src/hooks/useFileUpload.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAK9C,8CAA8C;AAC9C,MAAM,WAAW,YAAY;IAC3B,+BAA+B;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,6CAA6C;IAC7C,IAAI,EAAE,IAAI,CAAC;IACX,6DAA6D;IAC7D,UAAU,EAAE,MAAM,CAAC;IACnB,iDAAiD;IACjD,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,uCAAuC;IACvC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB,qCAAqC;IACrC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,oBAAoB;IACnC,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,8BAA8B;IAC9B,KAAK,EAAE,OAAO,GAAG,OAAO,EAAE,GAAG,IAAI,GAAG,SAAS,CAAC;IAC9C,oCAAoC;IACpC,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,EAAE,GAAG,IAAI,KAAK,IAAI,CAAC;IACtD,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6CAA6C;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,0BAA0B;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uEAAuE;IACvE,QAAQ,CAAC,EAAE,CACT,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,KACnC,OAAO,CAAC,OAAO,CAAC,CAAC;CACvB;AA4DD;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,EAC5B,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,QAAgB,EAChB,QAAa,EACb,OAA0B,EAC1B,MAAW,EACX,WAAuB,EACvB,QAAQ,GACT,EAAE,oBAAoB;IAibnB,yCAAyC;;IAEzC,4CAA4C;yBAvGjC,IAAI,EAAE;IAyGjB,0BAA0B;qBAhCrB,MAAM;IAkCX,2CAA2C;;IAE3C,oCAAoC;;IAEpC,6BAA6B;;IAE7B,qDAAqD;;IAErD,sFAAsF;;EAGzF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{useState as
|
|
1
|
+
"use client";import{useState as G,useCallback as A,useEffect as L,useRef as U,startTransition as H}from"react";import{handleError as k}from"@donotdev/core";import{useUploadContext as K}from"../contexts/UploadContext";import{useUploadStore as B}from"../stores/UploadStore";let D=0;function M(l){if(l){const a=l.split("/").pop()?.split("?")[0];if(a)return`file-${a}`}D+=1;const u=typeof performance<"u"?performance.now():Date.now(),g=Math.random().toString(36).slice(2,11);return`file-${D}-${u}-${g}`}function Q(l){return URL.createObjectURL(l)}function T(l){l.startsWith("blob:")&&URL.revokeObjectURL(l)}function X(l,u,g){return u.length>0&&!u.some(m=>{if(m.endsWith("/*")){const E=m.slice(0,-2);return l.type.startsWith(E)}return l.type===m})?{valid:!1,error:`File type ${l.type} not accepted`}:l.size>g?{valid:!1,error:`File exceeds ${(g/1048576).toFixed(0)}MB limit`}:{valid:!0}}function er({name:l,value:u,onChange:g,multiple:a=!1,maxFiles:m=10,maxSize:E=10*1024*1024,accept:P=[],storagePath:Y="uploads",uploadFn:h}){const w=K(),y=!!w,[f,d]=G([]),v=U(!1),S=U(null),F=U(u),$=U([]),b=U(!1),C=U(null);L(()=>{if(v.current){v.current=!1;return}const t=u?JSON.stringify((Array.isArray(u)?u:[u]).map(s=>s.fullUrl).filter(Boolean)):null;t!==S.current&&(S.current=t,F.current=u,H(()=>{if(u){const n=(Array.isArray(u)?u:[u]).filter(e=>e.fullUrl).map((e,r)=>({id:`${M(e.fullUrl)}-existing-${r}`,file:new File([],"existing"),previewURL:e.thumbUrl||e.fullUrl,progress:100,uploaded:e,error:null}));d(n)}else d([])}))},[u]),L(()=>{$.current=f},[f]),L(()=>{b.current&&(b.current=!1,C.current?.(f,!0))},[f]),L(()=>()=>{$.current.forEach(t=>T(t.previewURL))},[]);const p=A((t,s=!1)=>{const e=(s?t.filter(o=>!o.error):t.filter(o=>o.uploaded&&!o.error)).map(o=>o.uploaded?o.uploaded:s&&y?{fullUrl:o.previewURL,thumbUrl:o.previewURL}:null).filter(o=>o!==null);let r;a?r=e.length>0?e:null:r=e[0]||null;const i=F.current;(()=>{if(!r&&!i)return!1;if(!r||!i)return!0;if(a&&Array.isArray(r)&&Array.isArray(i)){if(r.length!==i.length)return!0;const o=r.map(x=>x.fullUrl).join(","),R=i.map(x=>x.fullUrl).join(",");return o!==R}return!a&&!Array.isArray(r)&&!Array.isArray(i)?r.fullUrl!==i.fullUrl:!0})()&&(v.current=!0,F.current=r,g(r))},[a,g,y]);C.current=p;const I=A(async()=>{if(!h)return;let t=[];if(d(n=>(t=n.filter(e=>!e.uploaded&&!e.error),t.length===0?n:n.map(e=>t.some(r=>r.id===e.id)?{...e,progress:0}:e))),t.length===0)return;const s=await Promise.allSettled(t.map(async n=>{try{const e=await h(n.file,r=>{d(i=>i.map(c=>c.id===n.id?{...c,progress:r}:c))});return{id:n.id,picture:e,error:null}}catch(e){const r=e instanceof Error?e.message:"Upload failed";return{id:n.id,picture:null,error:r}}}));d(n=>{const e=n.map(r=>{const i=s.find(c=>c.status==="fulfilled"&&c.value.id===r.id);if(i&&i.status==="fulfilled"){const c=i.value;return{...r,uploaded:c.picture,progress:c.picture?100:null,error:c.error}}return r});return p(e,!1),e})},[h,p]),N=U(I);N.current=I,L(()=>{if(!(!w||!l))return B.getState().registerUpload(w,l,async()=>{await N.current()},()=>$.current.some(t=>!t.uploaded&&!t.error)),()=>{B.getState().unregisterUpload(w,l)}},[w,l]);const j=A(async t=>{if(h){d(s=>s.map(n=>n.id===t.id?{...n,progress:0}:n));try{const s=await h(t.file,n=>{d(e=>e.map(r=>r.id===t.id?{...r,progress:n}:r))});d(n=>{const e=n.map(r=>r.id===t.id?{...r,uploaded:s,progress:100,error:null}:r);return p(e,!1),e})}catch(s){const n=s instanceof Error?s.message:"Upload failed";d(e=>e.map(r=>r.id===t.id?{...r,error:n,progress:null}:r))}}},[h,p]),V=A(t=>{d(s=>{const e=(a?m:1)-s.length;if(e<=0)return k(new Error("Maximum files reached"),{userMessage:a?`Maximum ${m} files allowed`:"Only one file allowed",severity:"warning",showNotification:!0}),s;const r=t.slice(0,e),i=[];for(const o of r){const R=X(o,P,E);if(!R.valid){k(new Error(R.error),{userMessage:R.error,severity:"warning",showNotification:!0});continue}i.push({id:M(),file:o,previewURL:Q(o),progress:null,uploaded:null,error:null})}if(i.length===0)return s;const c=a?[...s,...i]:i;return y?b.current=!0:i.forEach(o=>j(o)),c})},[a,m,P,E,y,j,p]),O=A(t=>{d(s=>{const n=s.find(r=>r.id===t);n&&T(n.previewURL);const e=s.filter(r=>r.id!==t);return p(e,!1),e})},[p]),W=f.some(t=>!t.uploaded&&!t.error),J=f.some(t=>t.progress!==null&&t.progress<100),q=f.length>0?f.reduce((t,s)=>t+(s.progress??0),0)/f.length:0;return{files:f,addFiles:V,removeFile:O,hasPending:W,isUploading:J,progress:q,formId:w,isDeferred:y}}export{er as useFileUpload};
|
|
@@ -5,18 +5,15 @@ export interface UseUnsavedChangesWarningOptions {
|
|
|
5
5
|
enabled?: boolean;
|
|
6
6
|
/** Custom message for beforeunload (browsers often ignore this) */
|
|
7
7
|
message?: string;
|
|
8
|
-
/** Callback when user tries to navigate away - return false to block, true to allow */
|
|
9
|
-
onBeforeNavigate?: () => boolean | Promise<boolean>;
|
|
10
8
|
}
|
|
11
9
|
/**
|
|
12
|
-
* Hook to warn users about unsaved changes
|
|
10
|
+
* Hook to warn users about unsaved changes on browser close/refresh only.
|
|
13
11
|
*
|
|
14
12
|
* Handles:
|
|
15
13
|
* - Browser refresh/close (beforeunload event)
|
|
16
14
|
* - Browser back/forward (beforeunload event)
|
|
17
15
|
*
|
|
18
|
-
*
|
|
19
|
-
* with your router's navigation blocking mechanism.
|
|
16
|
+
* Does NOT block SPA navigation — auto-save handles that.
|
|
20
17
|
*
|
|
21
18
|
* @example
|
|
22
19
|
* ```tsx
|
|
@@ -28,24 +25,6 @@ export interface UseUnsavedChangesWarningOptions {
|
|
|
28
25
|
* });
|
|
29
26
|
* ```
|
|
30
27
|
*/
|
|
31
|
-
export declare function useUnsavedChangesWarning({ isDirty, enabled, message,
|
|
32
|
-
/**
|
|
33
|
-
* Helper to confirm navigation with unsaved changes.
|
|
34
|
-
* Use this in your router's navigation guard.
|
|
35
|
-
*
|
|
36
|
-
* @example Next.js App Router:
|
|
37
|
-
* ```tsx
|
|
38
|
-
* // In your page/layout
|
|
39
|
-
* const confirmNavigation = useConfirmNavigation(isDirty);
|
|
40
|
-
*
|
|
41
|
-
* // In link click handler
|
|
42
|
-
* const handleNavigation = async (href: string) => {
|
|
43
|
-
* if (await confirmNavigation()) {
|
|
44
|
-
* router.push(href);
|
|
45
|
-
* }
|
|
46
|
-
* };
|
|
47
|
-
* ```
|
|
48
|
-
*/
|
|
49
|
-
export declare function useConfirmNavigation(isDirty: boolean, message?: string): () => Promise<boolean>;
|
|
28
|
+
export declare function useUnsavedChangesWarning({ isDirty, enabled, message, }: UseUnsavedChangesWarningOptions): void;
|
|
50
29
|
export default useUnsavedChangesWarning;
|
|
51
30
|
//# sourceMappingURL=useUnsavedChangesWarning.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useUnsavedChangesWarning.d.ts","sourceRoot":"","sources":["../../src/hooks/useUnsavedChangesWarning.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useUnsavedChangesWarning.d.ts","sourceRoot":"","sources":["../../src/hooks/useUnsavedChangesWarning.ts"],"names":[],"mappings":"AAqBA,MAAM,WAAW,+BAA+B;IAC9C,2CAA2C;IAC3C,OAAO,EAAE,OAAO,CAAC;IACjB,qDAAqD;IACrD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,mEAAmE;IACnE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,wBAAwB,CAAC,EACvC,OAAO,EACP,OAAc,EACd,OAAqE,GACtE,EAAE,+BAA+B,GAAG,IAAI,CAgBxC;AAED,eAAe,wBAAwB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{useEffect as
|
|
1
|
+
"use client";import{useEffect as u}from"react";import{isClient as a}from"@donotdev/core";function f({isDirty:n,enabled:r=!0,message:e="You have unsaved changes. Are you sure you want to leave?"}){u(()=>{if(!r||!n||!a())return;const o=t=>(t.preventDefault(),t.returnValue=e,e);return window.addEventListener("beforeunload",o),()=>{window.removeEventListener("beforeunload",o)}},[n,r,e])}var l=f;export{l as default,f as useUnsavedChangesWarning};
|
package/dist/index.d.ts
CHANGED
|
@@ -25,7 +25,11 @@ export { useEntityForm, useEntityField, useController, isFieldEditable, getField
|
|
|
25
25
|
export type { ViewerRole, RenderableField, GetFieldsForOperationOptions, EntityFieldsInput, SchemaOperation, ValidationIssue, ValidationResult, InferEntityData, InferEntityInput, InferEntityOutput, UseEntityFormOptions, EntityFormReturn, EntityFieldReturn, UseControllerProps, UseControllerReturn, ControllerRenderProps, ControllerFieldState, } from './forms';
|
|
26
26
|
export { UploadProvider, useUploadContext } from './contexts';
|
|
27
27
|
export type { UploadProviderProps } from './contexts';
|
|
28
|
-
export { useFileUpload, useUnsavedChangesWarning,
|
|
28
|
+
export { useFileUpload, useUnsavedChangesWarning, useEntityFavorites, useRelatedItems, useCrudFilters, } from './hooks';
|
|
29
29
|
export type { FileMetadata, UseFileUploadOptions, UseEntityFavoritesOptions, UseEntityFavoritesReturn, UseRelatedItemsOptions, UseRelatedItemsReturn, UseCrudFiltersOptions, UseCrudFiltersReturn, } from './hooks';
|
|
30
30
|
export { isStorageUrl, validatePicture, checkForBlobUrls, hasBlobUrls, } from './utils/uploadValidation';
|
|
31
|
+
export { formatValue } from './components/DisplayFieldRenderer';
|
|
32
|
+
export { matchesFilter } from './utils/matchesFilter';
|
|
33
|
+
export { applyFilters, applySearch, applySort, getSearchableFields, } from './utils/clientListProcessing';
|
|
34
|
+
export type { ClientSortConfig } from './utils/clientListProcessing';
|
|
31
35
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAGH,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAGlC,cAAc,cAAc,CAAC;AAG7B,cAAc,UAAU,CAAC;AAIzB,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,YAAY,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAGzE,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAI/C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,YAAY,EACV,oBAAoB,EACpB,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,WAAW,EACX,iBAAiB,GAClB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAG9D,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,GAC5B,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,wBAAwB,EACxB,oBAAoB,EACpB,aAAa,EACb,mBAAmB,EACnB,YAAY,EACZ,YAAY,EACZ,sBAAsB,EACtB,KAAK,iBAAiB,EACtB,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,GAC3B,MAAM,qBAAqB,CAAC;AAM7B,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAGhE,OAAO,EAEL,aAAa,EACb,cAAc,EACd,aAAa,EAEb,eAAe,EACf,qBAAqB,EACrB,cAAc,EACd,mBAAmB,EACnB,cAAc,GACf,MAAM,SAAS,CAAC;AAGjB,YAAY,EACV,UAAU,EACV,eAAe,EACf,4BAA4B,EAC5B,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9D,YAAY,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EACL,aAAa,EACb,wBAAwB,EACxB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAGH,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAGlC,cAAc,cAAc,CAAC;AAG7B,cAAc,UAAU,CAAC;AAIzB,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,YAAY,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAGzE,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAI/C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,YAAY,EACV,oBAAoB,EACpB,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,WAAW,EACX,iBAAiB,GAClB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAG9D,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,GAC5B,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,wBAAwB,EACxB,oBAAoB,EACpB,aAAa,EACb,mBAAmB,EACnB,YAAY,EACZ,YAAY,EACZ,sBAAsB,EACtB,KAAK,iBAAiB,EACtB,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,GAC3B,MAAM,qBAAqB,CAAC;AAM7B,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAGhE,OAAO,EAEL,aAAa,EACb,cAAc,EACd,aAAa,EAEb,eAAe,EACf,qBAAqB,EACrB,cAAc,EACd,mBAAmB,EACnB,cAAc,GACf,MAAM,SAAS,CAAC;AAGjB,YAAY,EACV,UAAU,EACV,eAAe,EACf,4BAA4B,EAC5B,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9D,YAAY,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EACL,aAAa,EACb,wBAAwB,EACxB,kBAAkB,EAClB,eAAe,EACf,cAAc,GACf,MAAM,SAAS,CAAC;AACjB,YAAY,EACV,YAAY,EACZ,oBAAoB,EACpB,yBAAyB,EACzB,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,SAAS,CAAC;AAGjB,OAAO,EACL,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,WAAW,GACZ,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAGhE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGtD,OAAO,EACL,YAAY,EACZ,WAAW,EACX,SAAS,EACT,mBAAmB,GACpB,MAAM,8BAA8B,CAAC;AACtC,YAAY,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export*from"./useCrud";export*from"./useCrudList";export*from"./useCrudCardList";export*from"./components";export*from"./stores";import{FunctionsAdapter as
|
|
1
|
+
export*from"./useCrud";export*from"./useCrudList";export*from"./useCrudCardList";export*from"./components";export*from"./stores";import{FunctionsAdapter as p}from"./adapters/FunctionsAdapter";import{getCrudService as d}from"./CrudService";import{useCrudStore as F}from"./CrudStore";import{OPTIMISTIC_STATUSES as f,CRUD_OPERATION as x}from"./types";import{loadDeterministicRange as g,upsertDeterministic as y,appendToCollection as T}from"./utils/collections";import{getFieldRegistry as S,registerFieldType as C,isFieldTypeRegistered as U}from"./FieldRegistry";import{registerBuiltinFieldType as E,getFieldTypeMetadata as R,getFilterType as h,getDisplayFormatter as v,isFilterable as I,getValueType as B,clearFieldTypeRegistry as D}from"./fieldTypeRegistry";import{registerBuiltinFieldTypes as P}from"./builtinFieldTypes";import{useEntityForm as L,useEntityField as M,useController as V,isFieldEditable as _,getFieldsForOperation as k,validateEntity as N,translateFieldLabel as W,translateLabel as j}from"./forms";import{UploadProvider as w,useUploadContext as z}from"./contexts";import{useFileUpload as H,useUnsavedChangesWarning as J,useEntityFavorites as K,useRelatedItems as Q,useCrudFilters as X}from"./hooks";import{isStorageUrl as Z,validatePicture as $,checkForBlobUrls as ee,hasBlobUrls as re}from"./utils/uploadValidation";import{formatValue as oe}from"./components/DisplayFieldRenderer";import{matchesFilter as le}from"./utils/matchesFilter";import{applyFilters as pe,applySearch as se,applySort as de,getSearchableFields as me}from"./utils/clientListProcessing";export{x as CRUD_OPERATION,p as FunctionsAdapter,f as OPTIMISTIC_STATUSES,w as UploadProvider,T as appendToCollection,pe as applyFilters,se as applySearch,de as applySort,ee as checkForBlobUrls,D as clearFieldTypeRegistry,oe as formatValue,d as getCrudService,v as getDisplayFormatter,S as getFieldRegistry,R as getFieldTypeMetadata,k as getFieldsForOperation,h as getFilterType,me as getSearchableFields,B as getValueType,re as hasBlobUrls,_ as isFieldEditable,U as isFieldTypeRegistered,I as isFilterable,Z as isStorageUrl,g as loadDeterministicRange,le as matchesFilter,E as registerBuiltinFieldType,P as registerBuiltinFieldTypes,C as registerFieldType,W as translateFieldLabel,j as translateLabel,y as upsertDeterministic,V as useController,X as useCrudFilters,F as useCrudStore,K as useEntityFavorites,M as useEntityField,L as useEntityForm,H as useFileUpload,Q as useRelatedItems,J as useUnsavedChangesWarning,z as useUploadContext,N as validateEntity,$ as validatePicture};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerBuiltinFieldTypes.d.ts","sourceRoot":"","sources":["../src/registerBuiltinFieldTypes.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"registerBuiltinFieldTypes.d.ts","sourceRoot":"","sources":["../src/registerBuiltinFieldTypes.tsx"],"names":[],"mappings":"AAq5BA;;;GAGG;AACH,wBAAgB,4BAA4B,IAAI,IAAI,CA0tBnD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as p,jsxs as u}from"react/jsx-runtime";import{Text as m,Stack as b,ImageGallery as I,Rating as $,CopyToClipboard as j}from"@donotdev/components";import{formatCurrency as x,maybeTranslate as N}from"@donotdev/core";import{ControlledCheckboxField as A,ControlledComboboxField as v,ControlledDateField as T,ControlledDropdownField as P,ControlledFileField as M,ControlledMultiFileField as _,ControlledDocumentField as R,ControlledMultiDocumentField as B,ControlledGeoPointField as E,ControlledImageField as U,ControlledMapField as H,ControlledMultiDropdownField as K,ControlledMultiInputField as O,ControlledNumberField as Y,ControlledPasswordField as G,ControlledPhoneField as W,ControlledRangeField as q,ControlledRatingField as J,ControlledDurationField as Q,ControlledRadioField as X,ControlledYearField as Z,ControlledTextField as y,ControlledTextareaField as ee,ControlledRichTextField as te,ControlledTimestampField as re,ControlledAddressField as ne,ControlledSwitchField as oe,ControlledMultiImageField as le,ControlledGdprConsentField as ie,ControlledCurrencyField as ae,ControlledPriceField as ce}from"./components/controlled";import{AvatarFieldComponent as se,BadgeFieldComponent as pe,ButtonFieldComponent as z,HiddenFieldComponent as de,TextAreaComponent as fe,RichTextComponent as ue,TextFieldComponent as C}from"./components/form/fields";import{registerBuiltinFieldType as a}from"./fieldTypeRegistry";import{translateLabel as h}from"./forms/utils";import{sanitizeHtml as ye}from"./utils/sanitizeHtml";function d(e){return e?p("span",{style:{color:"var(--muted-foreground)"},children:"\u2014"}):p(m,{variant:"muted",children:"\u2014"})}const c={timestamp:(e,l,o,t)=>{const r=t?.compact??!1;if(e==null||e==="")return d(r);try{return(e instanceof Date?e:new Date(e)).toLocaleString()}catch{return String(e)}},date:(e,l,o,t)=>{const r=t?.compact??!1;if(e==null||e==="")return d(r);try{return(e instanceof Date?e:new Date(e)).toLocaleDateString()}catch{return String(e)}},"datetime-local":(e,l,o,t)=>{const r=t?.compact??!1;if(e==null||e==="")return d(r);try{return(e instanceof Date?e:new Date(e)).toLocaleString()}catch{return String(e)}},time:(e,l,o,t)=>{const r=t?.compact??!1;if(e==null||e==="")return d(r);try{return(e instanceof Date?e:new Date(e)).toLocaleTimeString()}catch{return String(e)}},week:(e,l,o,t)=>{const r=t?.compact??!1;return e==null||e===""?d(r):String(e)},month:(e,l,o,t)=>{const r=t?.compact??!1;return e==null||e===""?d(r):String(e)},boolean:(e,l,o)=>e?"Yes":"No",checkbox:(e,l,o)=>e?"Yes":"No",switch:(e,l,o)=>{const t=l.options?.fieldSpecific;if(t){const r=t.uncheckedValue??!1,n=t.checkedValue??!0;if(e===n&&t.checkedLabel)return h(t.checkedLabel,o);if(e===r&&t.uncheckedLabel)return h(t.uncheckedLabel,o)}return e?"Yes":"No"},year:(e,l,o)=>String(e),number:(e,l,o)=>{if(e==null||e==="")return"\u2014";const t=l.options?.unit??"",r=N(o,l.options?.suffix);return[(typeof e=="number"?e.toLocaleString():String(e))+t,r].filter(Boolean).join(" ")},currency:(e,l,o)=>{if(e==null||isNaN(e))return"";const n=(l.options||{}).fieldSpecific?.currency||"EUR";return x(e,n)},price:(e,l,o,t)=>{const r=t?.compact??!1,n=t?.asString??!1,i=e!=null&&typeof e=="number"?{amount:e,currency:"EUR",vatIncluded:!0,discountPercent:0}:e;if(i==null||typeof i!="object")return d(r);const s=i.amount;if(s==null||isNaN(s))return d(r);const f=i.currency||"EUR",V=i.vatIncluded??!0,g=i.discountPercent??0,S=g>0?s*(1-g/100):s,F=V?` ${o("crud:price.vatIncluded",{defaultValue:"VAT Incl."})}`:"";if(g>0){const L=x(s,f),w=x(S,f),k=` ${o("crud:price.discountPercent",{percent:Math.round(g),defaultValue:"-{{percent}}%"})}`;return n?`${w}${F}${k}`:r?u(m,{variant:"success",weight:"bold",children:[w,F,k]}):u(b,{direction:"column",gap:"tight",align:"end",children:[p(m,{variant:"muted",style:{textDecoration:"line-through",fontSize:"var(--font-size-sm)"},children:L}),u(m,{variant:"success",weight:"bold",children:[w,F]})]})}return`${x(s,f)}${F}`},range:(e,l,o)=>typeof e=="number"?e.toLocaleString():String(e),rating:(e,l,o,t)=>{const r=t?.compact??!1;if(e==null)return d(r);const n=typeof e=="number"?e:parseFloat(e);if(isNaN(n))return d(r);const i=l.validation?.max??5;return p($,{value:n,max:i,readonly:!0,"aria-label":`${n} out of ${i} stars`})},duration:(e,l,o,t)=>{const r=t?.compact??!1;if(e==null)return d(r);const n=typeof e=="number"?e:parseInt(String(e),10);if(Number.isNaN(n))return d(r);if(n===0)return o("crud:duration.zero",{defaultValue:"\u2014"});if(n<60)return o("crud:duration.minutes",{count:n,defaultValue:`${n} min`});const i=Math.floor(n/60),s=n%60;return o("crud:duration.hoursMinutes",{hours:i,minutes:s,defaultValue:s===0?`${i}h`:`${i}h ${s}min`})},gdprConsent:(e,l,o,t)=>{const r=t?.compact??!1;if(!e||typeof e!="object")return d(r);const n=e.gdprConsent===!0,i=e.gdprConsentDate,s=e.gdprConsentVersion,f=o("crud:gdprConsent.display.yes",{defaultValue:"Consented"}),V=o("crud:gdprConsent.display.no",{defaultValue:"Not consented"});if(!n)return V;const g=[f];if(i)try{const S=new Date(i);g.push(S.toLocaleDateString())}catch{g.push(i)}return s&&g.push(`v${s}`),g.join(" \xB7 ")},select:(e,l,o)=>{const t=l.validation?.options;if(Array.isArray(t)){const n=t.find(i=>i.value===e)?.label;return n?h(n,o):String(e)}return String(e)},radio:(e,l,o)=>{const t=l.validation?.options;if(Array.isArray(t)){const n=t.find(i=>i.value===e)?.label;return n?h(n,o):String(e)}return String(e)},combobox:(e,l,o)=>{const t=l.validation?.options;if(Array.isArray(t)){const n=t.find(i=>i.value===e)?.label;return n?h(n,o):String(e)}return String(e)},multiselect:(e,l,o)=>{if(Array.isArray(e)){const t=l.validation?.options;if(Array.isArray(t))return e.map(n=>{const s=t.find(f=>f.value===n)?.label;return s?h(s,o):n}).join(", ")}return String(e)},image:(e,l,o,t)=>{const r=t?.compact??!1;return e==null||e===""?d(r):typeof e=="string"?p("img",{src:e,alt:l.label||"",style:{width:r?"40px":void 0,height:r?"40px":void 0,maxWidth:r?void 0:"200px",maxHeight:r?void 0:"150px",objectFit:"cover",borderRadius:"var(--radius-sm)"}}):d(r)},images:(e,l,o,t)=>{const r=t?.compact??!1;if(!Array.isArray(e)||e.length===0)return d(r);const n=e[0],i=typeof n=="object"&&n.thumbUrl?n.thumbUrl:n;return r?u("div",{style:{display:"flex",alignItems:"center",gap:"var(--gap-xs)"},children:[p("img",{src:i,alt:"",style:{width:"40px",height:"40px",objectFit:"cover",borderRadius:"var(--radius-sm)"}}),e.length>1&&u("span",{style:{fontSize:"var(--font-size-xs)",color:"var(--muted-foreground)"},children:["+",e.length-1]})]}):p(I,{images:e,altPrefix:l.label||"Image"})},files:(e,l,o,t)=>{const r=t?.compact??!1;return!Array.isArray(e)||e.length===0?d(r):p(b,{gap:"tight",children:e.map((n,i)=>u("a",{href:n.url||n,target:"_blank",rel:"noopener noreferrer",style:{color:"var(--primary)",textDecoration:"none",display:"flex",alignItems:"center",fontSize:"var(--font-size-sm)"},children:[n.filename||`File ${i+1}`,n.size&&u(m,{level:"caption",variant:"muted",style:{marginLeft:"var(--gap-sm)"},children:["(",Math.round(n.size/1024)," KB)"]})]},i))})},documents:(e,l,o,t)=>{const r=t?.compact??!1;return!Array.isArray(e)||e.length===0?d(r):p(b,{gap:"tight",children:e.map((n,i)=>u("a",{href:n.url||n,target:"_blank",rel:"noopener noreferrer",style:{color:"var(--primary)",textDecoration:"none",display:"flex",alignItems:"center",fontSize:"var(--font-size-sm)"},children:[n.filename||`File ${i+1}`,n.size&&u(m,{level:"caption",variant:"muted",style:{marginLeft:"var(--gap-sm)"},children:["(",Math.round(n.size/1024)," KB)"]})]},i))})},file:(e,l,o,t)=>{const r=t?.compact??!1;if(!e)return d(r);const n=typeof e=="string"?e:e.url,i=typeof e=="string"?"View file":e.filename||"View file";return u("a",{href:n,target:"_blank",rel:"noopener noreferrer",style:{color:"var(--primary)",textDecoration:"none"},children:[i,typeof e=="object"&&e.size&&u("span",{style:{color:"var(--muted-foreground)",marginLeft:"var(--gap-sm)"},children:["(",Math.round(e.size/1024)," KB)"]})]})},document:(e,l,o,t)=>{const r=t?.compact??!1;if(!e)return d(r);const n=typeof e=="string"?e:e.url,i=typeof e=="string"?"View file":e.filename||"View file";return u("a",{href:n,target:"_blank",rel:"noopener noreferrer",style:{color:"var(--primary)",textDecoration:"none"},children:[i,typeof e=="object"&&e.size&&u("span",{style:{color:"var(--muted-foreground)",marginLeft:"var(--gap-sm)"},children:["(",Math.round(e.size/1024)," KB)"]})]})},reference:(e,l,o,t)=>{const r=t?.compact??!1;if(!e)return d(r);if(typeof e=="object"&&e!==null){const n=e.displayName||e.name||e.id||String(e);return String(n)}return String(e)},geopoint:(e,l,o,t)=>{const r=t?.compact??!1;return e&&typeof e=="object"&&"lat"in e&&"lng"in e?`${e.lat.toFixed(6)}, ${e.lng.toFixed(6)}`:d(r)},address:(e,l,o)=>e&&typeof e=="object"&&"formatted_address"in e?e.formatted_address:String(e),map:(e,l,o,t)=>{const r=t?.compact??!1;if(e&&typeof e=="object"){const n=Object.entries(e);return n.length===0?d(r):u(b,{direction:"column",gap:"tight",children:[n.slice(0,5).map(([i,s])=>u(m,{style:{fontSize:"var(--font-size-sm)"},children:[u("strong",{children:[i,":"]})," ",String(s)]},i)),n.length>5&&u(m,{variant:"muted",children:["+",n.length-5," more"]})]})}return d(r)},array:(e,l,o,t)=>{const r=t?.compact??!1;return Array.isArray(e)?e.length===0?d(r):e.join(", "):d(r)},password:()=>"\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022",email:(e,l,o)=>u(b,{direction:"row",gap:"tight",align:"center",children:[p("a",{href:`mailto:${e}`,style:{color:"var(--primary)",flex:1},onClick:t=>t.stopPropagation(),children:e}),p(j,{text:e,tooltipText:o("crud:copyToClipboard",{defaultValue:"Copy to clipboard"}),ariaLabel:o("crud:actions.copyEmail",{defaultValue:"Copy email"}),onClick:t=>t.stopPropagation()})]}),tel:(e,l,o)=>u(b,{direction:"row",gap:"tight",align:"center",children:[p("a",{href:`tel:${e}`,style:{color:"var(--primary)",flex:1},onClick:t=>t.stopPropagation(),children:e}),p(j,{text:e,tooltipText:o("crud:copyToClipboard",{defaultValue:"Copy to clipboard"}),ariaLabel:o("crud:actions.copyPhone",{defaultValue:"Copy phone"}),onClick:t=>t.stopPropagation()})]}),iban:(e,l,o,t)=>{const r=t?.compact??!1;return e?u(b,{direction:"row",gap:"tight",align:"center",children:[p(m,{style:{flex:1},children:e}),p(j,{text:e,tooltipText:o("crud:copyToClipboard",{defaultValue:"Copy to clipboard"}),ariaLabel:o("crud:actions.copyIban",{defaultValue:"Copy IBAN"}),onClick:n=>n.stopPropagation()})]}):d(r)},url:(e,l,o)=>p("a",{href:e,target:"_blank",rel:"noopener noreferrer",style:{color:"var(--primary)"},children:e}),color:(e,l,o)=>u(b,{direction:"row",gap:"tight",align:"center",children:[p("div",{style:{width:"20px",height:"20px",backgroundColor:e,borderRadius:"var(--radius-sm)",border:"1px solid var(--border)"}}),p(m,{children:e})]}),textarea:(e,l,o)=>String(e),text:(e,l,o)=>String(e),richtext:(e,l,o,t)=>{const r=t?.compact??!1;return e&&typeof e=="string"?r?e.replace(/<[^>]*>/g,"").trim()||p("span",{style:{color:"var(--muted-foreground)"},children:"\u2014"}):p("div",{dangerouslySetInnerHTML:{__html:ye(e)},style:{padding:"var(--gap-sm)",fontSize:"var(--font-size-sm)",lineHeight:"1.6"}}):d(r)}};function me(e){return e.type==="avatar"}function ge(e){return e.type==="badge"}let D=!1;function be(){D||(D=!0,a({type:"text",filterable:!0,filterType:"text",valueType:"string",displayFormatter:c.text,components:{controlled:y,uncontrolled:e=>{const{value:l,onChange:o,label:t,error:r,config:n}=e;return p(C,{label:t||"",value:typeof l=="string"?l:"",onChange:s=>{const f=s.target.value;o(f)},error:r,...n.options})}}}),a({type:"email",filterable:!0,filterType:"text",valueType:"string",displayFormatter:c.email,components:{controlled:y,uncontrolled:e=>{const{value:l,onChange:o,label:t,error:r,config:n}=e;return p(C,{label:t||"",value:typeof l=="string"?l:"",onChange:s=>{const f=s.target.value;o(f)},error:r,type:"email",...n.options})}}}),a({type:"url",filterable:!0,filterType:"text",valueType:"string",displayFormatter:c.url,components:{controlled:y,uncontrolled:e=>{const{value:l,onChange:o,label:t,error:r,config:n}=e;return p(C,{label:t||"",value:typeof l=="string"?l:"",onChange:s=>{const f=s.target.value;o(f)},error:r,type:"url",...n.options})}}}),a({type:"color",filterable:!0,filterType:"text",valueType:"string",displayFormatter:c.color,components:{controlled:y,uncontrolled:e=>{const{value:l,onChange:o,label:t,error:r,config:n}=e;return p(C,{label:t||"",value:typeof l=="string"?l:"",onChange:s=>{const f=s.target.value;o(f)},error:r,type:"color",...n.options})}}}),a({type:"textarea",filterable:!0,filterType:"text",valueType:"string",displayFormatter:c.textarea,components:{controlled:ee,uncontrolled:e=>{const{value:l,onChange:o,label:t,error:r,config:n}=e;return p(fe,{label:t||"",value:typeof l=="string"?l:"",onChange:s=>{const f=s.target.value;o(f)},error:r,...n.options})}}}),a({type:"richtext",filterable:!0,filterType:"text",valueType:"string",displayFormatter:c.richtext,components:{controlled:te,uncontrolled:e=>{const{value:l,onChange:o,label:t,error:r,config:n}=e;return p(ue,{label:t||"",value:typeof l=="string"?l:"",onChange:s=>{const f=s.target.value;o(f)},error:r,...n.options})}}}),a({type:"password",filterable:!1,filterType:"none",valueType:"string",displayFormatter:c.password,components:{controlled:G}}),a({type:"tel",filterable:!0,filterType:"text",valueType:"string",displayFormatter:c.tel,components:{controlled:W}}),a({type:"iban",filterable:!0,filterType:"text",valueType:"string",displayFormatter:c.iban,components:{controlled:y,uncontrolled:e=>{const{value:l,onChange:o,label:t,error:r,config:n}=e;return p(C,{label:t||"",value:typeof l=="string"?l:"",onChange:s=>{const f=s.target.value.replace(/\s/g,"").toUpperCase();o(f)},error:r,...n.options})}}}),a({type:"number",filterable:!0,filterType:"range",valueType:"number",displayFormatter:c.number,components:{controlled:Y}}),a({type:"currency",filterable:!0,filterType:"range",valueType:"number",displayFormatter:c.currency,components:{controlled:ae}}),a({type:"price",filterable:!0,filterType:"range",valueType:"object",displayFormatter:c.price,components:{controlled:ce}}),a({type:"range",filterable:!0,filterType:"range",valueType:"number",displayFormatter:c.range,components:{controlled:q}}),a({type:"year",filterable:!0,filterType:"range",valueType:"number",displayFormatter:c.year,components:{controlled:Z}}),a({type:"rating",filterable:!0,filterType:"range",valueType:"number",displayFormatter:c.rating,components:{controlled:J}}),a({type:"duration",filterable:!0,filterType:"range",valueType:"number",displayFormatter:c.duration,components:{controlled:Q}}),a({type:"boolean",filterable:!0,filterType:"select",valueType:"boolean",displayFormatter:c.boolean,components:{controlled:A}}),a({type:"checkbox",filterable:!0,filterType:"select",valueType:"boolean",displayFormatter:c.checkbox,components:{controlled:A}}),a({type:"gdprConsent",filterable:!0,filterType:"select",valueType:"object",displayFormatter:c.gdprConsent,components:{controlled:ie}}),a({type:"switch",filterable:!0,filterType:"select",valueType:"boolean",displayFormatter:c.switch,components:{controlled:oe}}),a({type:"date",filterable:!0,filterType:"range",valueType:"date",displayFormatter:c.date,components:{controlled:T}}),a({type:"datetime-local",filterable:!0,filterType:"range",valueType:"date",displayFormatter:c["datetime-local"],components:{controlled:T}}),a({type:"time",filterable:!0,filterType:"range",valueType:"date",displayFormatter:c.time,components:{controlled:T}}),a({type:"week",filterable:!0,filterType:"range",valueType:"date",displayFormatter:c.week,components:{controlled:T}}),a({type:"month",filterable:!0,filterType:"range",valueType:"date",displayFormatter:c.month,components:{controlled:T}}),a({type:"timestamp",filterable:!0,filterType:"range",valueType:"date",displayFormatter:c.timestamp,components:{controlled:re}}),a({type:"file",filterable:!1,filterType:"none",valueType:"object",displayFormatter:c.file,components:{controlled:M}}),a({type:"files",filterable:!1,filterType:"none",valueType:"array",displayFormatter:c.files,components:{controlled:_}}),a({type:"document",filterable:!1,filterType:"none",valueType:"object",displayFormatter:c.document,components:{controlled:R}}),a({type:"documents",filterable:!1,filterType:"none",valueType:"array",displayFormatter:c.documents,components:{controlled:B}}),a({type:"image",filterable:!1,filterType:"none",valueType:"object",displayFormatter:c.image,components:{controlled:U}}),a({type:"images",filterable:!1,filterType:"none",valueType:"array",displayFormatter:c.images,components:{controlled:le}}),a({type:"geopoint",filterable:!1,filterType:"none",valueType:"object",displayFormatter:c.geopoint,components:{controlled:E}}),a({type:"address",filterable:!0,filterType:"address",valueType:"object",displayFormatter:c.address,components:{controlled:ne}}),a({type:"map",filterable:!1,filterType:"none",valueType:"object",displayFormatter:c.map,components:{controlled:H}}),a({type:"array",filterable:!1,filterType:"none",valueType:"array",displayFormatter:c.array,components:{controlled:O}}),a({type:"select",filterable:!0,filterType:"select",valueType:"string",displayFormatter:c.select,components:{controlled:P}}),a({type:"combobox",filterable:!0,filterType:"select",valueType:"string",displayFormatter:c.combobox,components:{controlled:v}}),a({type:"multiselect",filterable:!0,filterType:"multiselect",valueType:"array",displayFormatter:c.multiselect,components:{controlled:K}}),a({type:"radio",filterable:!0,filterType:"select",valueType:"string",displayFormatter:c.radio,components:{controlled:X}}),a({type:"reference",filterable:!0,filterType:"text",valueType:"string",displayFormatter:c.reference,components:{controlled:y}}),a({type:"hidden",filterable:!1,filterType:"none",valueType:"string",components:{controlled:y,uncontrolled:e=>{const{name:l,value:o}=e;return p(de,{name:l,value:typeof o=="string"?o:""})}}}),a({type:"avatar",filterable:!1,filterType:"none",valueType:"string",components:{controlled:y,uncontrolled:e=>{const{value:l,onChange:o,error:t,config:r,t:n}=e;if(!me(r))throw new Error("Invalid config type for avatar field");return p(se,{config:r,value:typeof l=="string"?l:"",onChange:s=>{o(s)},error:!!t,helperText:t||void 0,t:n,...r.options})}}}),a({type:"badge",filterable:!1,filterType:"none",valueType:"string",components:{controlled:y,uncontrolled:e=>{const{value:l,onChange:o,error:t,config:r,t:n}=e;if(!ge(r))throw new Error("Invalid config type for badge field");return p(pe,{config:r,value:typeof l=="string"?l:"",onChange:s=>{o(s)},error:!!t,helperText:t||void 0,t:n,...r.options})}}}),a({type:"submit",filterable:!1,filterType:"none",valueType:"string",components:{controlled:y,uncontrolled:e=>{const{name:l,label:o,config:t}=e;return p(z,{label:o||l,type:"submit",onClick:()=>{},...t.options})}}}),a({type:"reset",filterable:!1,filterType:"none",valueType:"string",components:{controlled:y,uncontrolled:e=>{const{name:l,label:o,config:t}=e;return p(z,{label:o||l,type:"reset",onClick:()=>{},...t.options})}}}))}be();export{be as registerAllBuiltinFieldTypes};
|
|
1
|
+
"use client";import{jsx as p,jsxs as u}from"react/jsx-runtime";import{Text as g,Stack as h,ImageGallery as I,Rating as $,CopyToClipboard as j}from"@donotdev/components";import{formatCurrency as S,maybeTranslate as N}from"@donotdev/core";import{ControlledCheckboxField as A,ControlledComboboxField as P,ControlledDateField as C,ControlledDropdownField as M,ControlledFileField as _,ControlledMultiFileField as B,ControlledDocumentField as R,ControlledMultiDocumentField as v,ControlledGeoPointField as E,ControlledImageField as O,ControlledMapField as U,ControlledMultiDropdownField as H,ControlledMultiInputField as K,ControlledNumberField as Y,ControlledPasswordField as G,ControlledPhoneField as J,ControlledRangeField as W,ControlledRatingField as q,ControlledDurationField as Q,ControlledRadioField as X,ControlledYearField as Z,ControlledTextField as m,ControlledTextareaField as ee,ControlledRichTextField as te,ControlledTimestampField as re,ControlledAddressField as ne,ControlledFieldArrayField as oe,ControlledSwitchField as le,ControlledMultiImageField as ie,ControlledGdprConsentField as ae,ControlledCurrencyField as ce,ControlledPriceField as se}from"./components/controlled";import{AvatarFieldComponent as pe,BadgeFieldComponent as de,ButtonFieldComponent as z,HiddenFieldComponent as fe,TextAreaComponent as ue,RichTextComponent as ye,TextFieldComponent as F}from"./components/form/fields";import{registerBuiltinFieldType as a}from"./fieldTypeRegistry";import{translateLabel as T}from"./forms/utils";import{sanitizeHtml as me}from"./utils/sanitizeHtml";function d(e){return e?p("span",{style:{color:"var(--muted-foreground)"},children:"\u2014"}):p(g,{variant:"muted",children:"\u2014"})}const c={timestamp:(e,o,l,t)=>{const r=t?.compact??!1;if(e==null||e==="")return d(r);try{return(e instanceof Date?e:new Date(e)).toLocaleString()}catch{return String(e)}},date:(e,o,l,t)=>{const r=t?.compact??!1;if(e==null||e==="")return d(r);try{return(e instanceof Date?e:new Date(e)).toLocaleDateString()}catch{return String(e)}},"datetime-local":(e,o,l,t)=>{const r=t?.compact??!1;if(e==null||e==="")return d(r);try{return(e instanceof Date?e:new Date(e)).toLocaleString()}catch{return String(e)}},time:(e,o,l,t)=>{const r=t?.compact??!1;if(e==null||e==="")return d(r);try{return(e instanceof Date?e:new Date(e)).toLocaleTimeString()}catch{return String(e)}},week:(e,o,l,t)=>{const r=t?.compact??!1;return e==null||e===""?d(r):String(e)},month:(e,o,l,t)=>{const r=t?.compact??!1;return e==null||e===""?d(r):String(e)},boolean:(e,o,l)=>e?"Yes":"No",checkbox:(e,o,l)=>e?"Yes":"No",switch:(e,o,l)=>{const t=o.options?.fieldSpecific;if(t){const r=t.uncheckedValue??!1,n=t.checkedValue??!0;if(e===n&&t.checkedLabel)return T(t.checkedLabel,l);if(e===r&&t.uncheckedLabel)return T(t.uncheckedLabel,l)}return e?"Yes":"No"},year:(e,o,l)=>String(e),number:(e,o,l)=>{if(e==null||e==="")return"\u2014";const t=o.options?.unit??"",r=N(l,o.options?.suffix);return[(typeof e=="number"?e.toLocaleString():String(e))+t,r].filter(Boolean).join(" ")},currency:(e,o,l)=>{if(e==null||isNaN(e))return"";const n=(o.options||{}).fieldSpecific?.currency||"EUR";return S(e,n)},price:(e,o,l,t)=>{const r=t?.compact??!1,n=t?.asString??!1,i=e!=null&&typeof e=="number"?{amount:e,currency:"EUR",vatIncluded:!0,discountPercent:0}:e;if(i==null||typeof i!="object")return d(r);const s=i.amount;if(s==null||isNaN(s))return d(r);const f=i.currency||"EUR",y=i.vatIncluded??!0,b=i.discountPercent??0,V=b>0?s*(1-b/100):s,x=y?` ${l("crud:price.vatIncluded",{defaultValue:"VAT Incl."})}`:"";if(b>0){const L=S(s,f),w=S(V,f),k=` ${l("crud:price.discountPercent",{percent:Math.round(b),defaultValue:"-{{percent}}%"})}`;return n?`${w}${x}${k}`:r?u(g,{variant:"success",weight:"bold",children:[w,x,k]}):u(h,{direction:"column",gap:"tight",align:"end",children:[p(g,{variant:"muted",style:{textDecoration:"line-through",fontSize:"var(--font-size-sm)"},children:L}),u(g,{variant:"success",weight:"bold",children:[w,x]})]})}return`${S(s,f)}${x}`},range:(e,o,l)=>typeof e=="number"?e.toLocaleString():String(e),rating:(e,o,l,t)=>{const r=t?.compact??!1;if(e==null)return d(r);const n=typeof e=="number"?e:parseFloat(e);if(isNaN(n))return d(r);const i=o.validation?.max??5;return p($,{value:n,max:i,readonly:!0,"aria-label":`${n} out of ${i} stars`})},duration:(e,o,l,t)=>{const r=t?.compact??!1;if(e==null)return d(r);const n=typeof e=="number"?e:parseInt(String(e),10);if(Number.isNaN(n))return d(r);if(n===0)return l("crud:duration.zero",{defaultValue:"\u2014"});if(n<60)return l("crud:duration.minutes",{count:n,defaultValue:`${n} min`});const i=Math.floor(n/60),s=n%60;return l("crud:duration.hoursMinutes",{hours:i,minutes:s,defaultValue:s===0?`${i}h`:`${i}h ${s}min`})},gdprConsent:(e,o,l,t)=>{const r=t?.compact??!1;if(!e||typeof e!="object")return d(r);const n=e.gdprConsent===!0,i=e.gdprConsentDate,s=e.gdprConsentVersion,f=l("crud:gdprConsent.display.yes",{defaultValue:"Consented"}),y=l("crud:gdprConsent.display.no",{defaultValue:"Not consented"});if(!n)return y;const b=[f];if(i)try{const V=new Date(i);b.push(V.toLocaleDateString())}catch{b.push(i)}return s&&b.push(`v${s}`),b.join(" \xB7 ")},select:(e,o,l)=>{const t=o.validation?.options;if(Array.isArray(t)){const n=t.find(i=>i.value===e)?.label;return n?T(n,l):String(e)}return String(e)},radio:(e,o,l)=>{const t=o.validation?.options;if(Array.isArray(t)){const n=t.find(i=>i.value===e)?.label;return n?T(n,l):String(e)}return String(e)},combobox:(e,o,l)=>{const t=o.validation?.options;if(Array.isArray(t)){const n=t.find(i=>i.value===e)?.label;return n?T(n,l):String(e)}return String(e)},multiselect:(e,o,l)=>{if(Array.isArray(e)){const t=o.validation?.options;if(Array.isArray(t))return e.map(n=>{const s=t.find(f=>f.value===n)?.label;return s?T(s,l):n}).join(", ")}return String(e)},image:(e,o,l,t)=>{const r=t?.compact??!1;return e==null||e===""?d(r):typeof e=="string"?p("img",{src:e,alt:o.label||"",style:{width:r?"40px":void 0,height:r?"40px":void 0,maxWidth:r?void 0:"200px",maxHeight:r?void 0:"150px",objectFit:"cover",borderRadius:"var(--radius-sm)"}}):d(r)},images:(e,o,l,t)=>{const r=t?.compact??!1;if(!Array.isArray(e)||e.length===0)return d(r);const n=e[0],i=typeof n=="object"&&n.thumbUrl?n.thumbUrl:n;return r?u("div",{style:{display:"flex",alignItems:"center",gap:"var(--gap-xs)"},children:[p("img",{src:i,alt:"",style:{width:"40px",height:"40px",objectFit:"cover",borderRadius:"var(--radius-sm)"}}),e.length>1&&u("span",{style:{fontSize:"var(--font-size-xs)",color:"var(--muted-foreground)"},children:["+",e.length-1]})]}):p(I,{images:e,altPrefix:o.label||"Image"})},files:(e,o,l,t)=>{const r=t?.compact??!1;return!Array.isArray(e)||e.length===0?d(r):p(h,{gap:"tight",children:e.map((n,i)=>u("a",{href:n.url||n,target:"_blank",rel:"noopener noreferrer",style:{color:"var(--primary)",textDecoration:"none",display:"flex",alignItems:"center",fontSize:"var(--font-size-sm)"},children:[n.filename||`File ${i+1}`,n.size&&u(g,{level:"caption",variant:"muted",style:{marginLeft:"var(--gap-sm)"},children:["(",Math.round(n.size/1024)," KB)"]})]},i))})},documents:(e,o,l,t)=>{const r=t?.compact??!1;return!Array.isArray(e)||e.length===0?d(r):p(h,{gap:"tight",children:e.map((n,i)=>u("a",{href:n.url||n,target:"_blank",rel:"noopener noreferrer",style:{color:"var(--primary)",textDecoration:"none",display:"flex",alignItems:"center",fontSize:"var(--font-size-sm)"},children:[n.filename||`File ${i+1}`,n.size&&u(g,{level:"caption",variant:"muted",style:{marginLeft:"var(--gap-sm)"},children:["(",Math.round(n.size/1024)," KB)"]})]},i))})},file:(e,o,l,t)=>{const r=t?.compact??!1;if(!e)return d(r);const n=typeof e=="string"?e:e.url,i=typeof e=="string"?"View file":e.filename||"View file";return u("a",{href:n,target:"_blank",rel:"noopener noreferrer",style:{color:"var(--primary)",textDecoration:"none"},children:[i,typeof e=="object"&&e.size&&u("span",{style:{color:"var(--muted-foreground)",marginLeft:"var(--gap-sm)"},children:["(",Math.round(e.size/1024)," KB)"]})]})},document:(e,o,l,t)=>{const r=t?.compact??!1;if(!e)return d(r);const n=typeof e=="string"?e:e.url,i=typeof e=="string"?"View file":e.filename||"View file";return u("a",{href:n,target:"_blank",rel:"noopener noreferrer",style:{color:"var(--primary)",textDecoration:"none"},children:[i,typeof e=="object"&&e.size&&u("span",{style:{color:"var(--muted-foreground)",marginLeft:"var(--gap-sm)"},children:["(",Math.round(e.size/1024)," KB)"]})]})},reference:(e,o,l,t)=>{const r=t?.compact??!1;if(!e)return d(r);if(typeof e=="object"&&e!==null){const n=e.displayName||e.name||e.id||String(e);return String(n)}return String(e)},geopoint:(e,o,l,t)=>{const r=t?.compact??!1;return e&&typeof e=="object"&&"lat"in e&&"lng"in e?`${e.lat.toFixed(6)}, ${e.lng.toFixed(6)}`:d(r)},address:(e,o,l)=>e&&typeof e=="object"&&"formatted_address"in e?e.formatted_address:String(e),map:(e,o,l,t)=>{const r=t?.compact??!1;if(e&&typeof e=="object"){const n=Object.entries(e);return n.length===0?d(r):u(h,{direction:"column",gap:"tight",children:[n.slice(0,5).map(([i,s])=>u(g,{style:{fontSize:"var(--font-size-sm)"},children:[u("strong",{children:[i,":"]})," ",String(s)]},i)),n.length>5&&u(g,{variant:"muted",children:["+",n.length-5," more"]})]})}return d(r)},array:(e,o,l,t)=>{const r=t?.compact??!1;return Array.isArray(e)?e.length===0?d(r):e.join(", "):d(r)},"field-array":(e,o,l,t)=>{const r=t?.compact??!1;if(!Array.isArray(e)||e.length===0)return d(r);const n=o.options?.fieldSpecific?.fields;return e.map(i=>{if(typeof i!="object"||i==null)return"";const s=i;return(n?n.map(y=>y.name):Object.keys(s)).map(y=>s[y]).filter(y=>y!=null&&y!=="").map(y=>typeof y=="object"?JSON.stringify(y):String(y)).join(" \xB7 ")}).filter(Boolean).join(", ")},password:()=>"\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022",email:(e,o,l)=>u(h,{direction:"row",gap:"tight",align:"center",children:[p("a",{href:`mailto:${e}`,style:{color:"var(--primary)",flex:1},onClick:t=>t.stopPropagation(),children:e}),p(j,{text:e,tooltipText:l("crud:copyToClipboard",{defaultValue:"Copy to clipboard"}),ariaLabel:l("crud:actions.copyEmail",{defaultValue:"Copy email"}),onClick:t=>t.stopPropagation()})]}),tel:(e,o,l)=>u(h,{direction:"row",gap:"tight",align:"center",children:[p("a",{href:`tel:${e}`,style:{color:"var(--primary)",flex:1},onClick:t=>t.stopPropagation(),children:e}),p(j,{text:e,tooltipText:l("crud:copyToClipboard",{defaultValue:"Copy to clipboard"}),ariaLabel:l("crud:actions.copyPhone",{defaultValue:"Copy phone"}),onClick:t=>t.stopPropagation()})]}),iban:(e,o,l,t)=>{const r=t?.compact??!1;return e?u(h,{direction:"row",gap:"tight",align:"center",children:[p(g,{style:{flex:1},children:e}),p(j,{text:e,tooltipText:l("crud:copyToClipboard",{defaultValue:"Copy to clipboard"}),ariaLabel:l("crud:actions.copyIban",{defaultValue:"Copy IBAN"}),onClick:n=>n.stopPropagation()})]}):d(r)},url:(e,o,l)=>p("a",{href:e,target:"_blank",rel:"noopener noreferrer",style:{color:"var(--primary)"},children:e}),color:(e,o,l)=>u(h,{direction:"row",gap:"tight",align:"center",children:[p("div",{style:{width:"20px",height:"20px",backgroundColor:e,borderRadius:"var(--radius-sm)",border:"1px solid var(--border)"}}),p(g,{children:e})]}),textarea:(e,o,l)=>String(e),text:(e,o,l)=>String(e),richtext:(e,o,l,t)=>{const r=t?.compact??!1;return e&&typeof e=="string"?r?e.replace(/<[^>]*>/g,"").trim()||p("span",{style:{color:"var(--muted-foreground)"},children:"\u2014"}):p("div",{dangerouslySetInnerHTML:{__html:me(e)},style:{padding:"var(--gap-sm)",fontSize:"var(--font-size-sm)",lineHeight:"1.6"}}):d(r)}};function ge(e){return e.type==="avatar"}function be(e){return e.type==="badge"}let D=!1;function he(){D||(D=!0,a({type:"text",filterable:!0,filterType:"text",valueType:"string",displayFormatter:c.text,components:{controlled:m,uncontrolled:e=>{const{value:o,onChange:l,label:t,error:r,config:n}=e;return p(F,{label:t||"",value:typeof o=="string"?o:"",onChange:s=>{const f=s.target.value;l(f)},error:r,...n.options})}}}),a({type:"email",filterable:!0,filterType:"text",valueType:"string",displayFormatter:c.email,components:{controlled:m,uncontrolled:e=>{const{value:o,onChange:l,label:t,error:r,config:n}=e;return p(F,{label:t||"",value:typeof o=="string"?o:"",onChange:s=>{const f=s.target.value;l(f)},error:r,type:"email",...n.options})}}}),a({type:"url",filterable:!0,filterType:"text",valueType:"string",displayFormatter:c.url,components:{controlled:m,uncontrolled:e=>{const{value:o,onChange:l,label:t,error:r,config:n}=e;return p(F,{label:t||"",value:typeof o=="string"?o:"",onChange:s=>{const f=s.target.value;l(f)},error:r,type:"url",...n.options})}}}),a({type:"color",filterable:!0,filterType:"text",valueType:"string",displayFormatter:c.color,components:{controlled:m,uncontrolled:e=>{const{value:o,onChange:l,label:t,error:r,config:n}=e;return p(F,{label:t||"",value:typeof o=="string"?o:"",onChange:s=>{const f=s.target.value;l(f)},error:r,type:"color",...n.options})}}}),a({type:"textarea",filterable:!0,filterType:"text",valueType:"string",displayFormatter:c.textarea,components:{controlled:ee,uncontrolled:e=>{const{value:o,onChange:l,label:t,error:r,config:n}=e;return p(ue,{label:t||"",value:typeof o=="string"?o:"",onChange:s=>{const f=s.target.value;l(f)},error:r,...n.options})}}}),a({type:"richtext",filterable:!0,filterType:"text",valueType:"string",displayFormatter:c.richtext,components:{controlled:te,uncontrolled:e=>{const{value:o,onChange:l,label:t,error:r,config:n}=e;return p(ye,{label:t||"",value:typeof o=="string"?o:"",onChange:s=>{const f=s.target.value;l(f)},error:r,...n.options})}}}),a({type:"password",filterable:!1,filterType:"none",valueType:"string",displayFormatter:c.password,components:{controlled:G}}),a({type:"tel",filterable:!0,filterType:"text",valueType:"string",displayFormatter:c.tel,components:{controlled:J}}),a({type:"iban",filterable:!0,filterType:"text",valueType:"string",displayFormatter:c.iban,components:{controlled:m,uncontrolled:e=>{const{value:o,onChange:l,label:t,error:r,config:n}=e;return p(F,{label:t||"",value:typeof o=="string"?o:"",onChange:s=>{const f=s.target.value.replace(/\s/g,"").toUpperCase();l(f)},error:r,...n.options})}}}),a({type:"number",filterable:!0,filterType:"range",valueType:"number",displayFormatter:c.number,components:{controlled:Y}}),a({type:"currency",filterable:!0,filterType:"range",valueType:"number",displayFormatter:c.currency,components:{controlled:ce}}),a({type:"price",filterable:!0,filterType:"range",valueType:"object",displayFormatter:c.price,components:{controlled:se}}),a({type:"range",filterable:!0,filterType:"range",valueType:"number",displayFormatter:c.range,components:{controlled:W}}),a({type:"year",filterable:!0,filterType:"range",valueType:"number",displayFormatter:c.year,components:{controlled:Z}}),a({type:"rating",filterable:!0,filterType:"range",valueType:"number",displayFormatter:c.rating,components:{controlled:q}}),a({type:"duration",filterable:!0,filterType:"range",valueType:"number",displayFormatter:c.duration,components:{controlled:Q}}),a({type:"boolean",filterable:!0,filterType:"select",valueType:"boolean",displayFormatter:c.boolean,components:{controlled:A}}),a({type:"checkbox",filterable:!0,filterType:"select",valueType:"boolean",displayFormatter:c.checkbox,components:{controlled:A}}),a({type:"gdprConsent",filterable:!0,filterType:"select",valueType:"object",displayFormatter:c.gdprConsent,components:{controlled:ae}}),a({type:"switch",filterable:!0,filterType:"select",valueType:"boolean",displayFormatter:c.switch,components:{controlled:le}}),a({type:"date",filterable:!0,filterType:"range",valueType:"date",displayFormatter:c.date,components:{controlled:C}}),a({type:"datetime-local",filterable:!0,filterType:"range",valueType:"date",displayFormatter:c["datetime-local"],components:{controlled:C}}),a({type:"time",filterable:!0,filterType:"range",valueType:"date",displayFormatter:c.time,components:{controlled:C}}),a({type:"week",filterable:!0,filterType:"range",valueType:"date",displayFormatter:c.week,components:{controlled:C}}),a({type:"month",filterable:!0,filterType:"range",valueType:"date",displayFormatter:c.month,components:{controlled:C}}),a({type:"timestamp",filterable:!0,filterType:"range",valueType:"date",displayFormatter:c.timestamp,components:{controlled:re}}),a({type:"file",filterable:!1,filterType:"none",valueType:"object",displayFormatter:c.file,components:{controlled:_}}),a({type:"files",filterable:!1,filterType:"none",valueType:"array",displayFormatter:c.files,components:{controlled:B}}),a({type:"document",filterable:!1,filterType:"none",valueType:"object",displayFormatter:c.document,components:{controlled:R}}),a({type:"documents",filterable:!1,filterType:"none",valueType:"array",displayFormatter:c.documents,components:{controlled:v}}),a({type:"image",filterable:!1,filterType:"none",valueType:"object",displayFormatter:c.image,components:{controlled:O}}),a({type:"images",filterable:!1,filterType:"none",valueType:"array",displayFormatter:c.images,components:{controlled:ie}}),a({type:"geopoint",filterable:!1,filterType:"none",valueType:"object",displayFormatter:c.geopoint,components:{controlled:E}}),a({type:"address",filterable:!0,filterType:"address",valueType:"object",displayFormatter:c.address,components:{controlled:ne}}),a({type:"map",filterable:!1,filterType:"none",valueType:"object",displayFormatter:c.map,components:{controlled:U}}),a({type:"array",filterable:!1,filterType:"none",valueType:"array",displayFormatter:c.array,components:{controlled:K}}),a({type:"field-array",filterable:!1,filterType:"none",valueType:"array",displayFormatter:c["field-array"],components:{controlled:oe}}),a({type:"select",filterable:!0,filterType:"select",valueType:"string",displayFormatter:c.select,components:{controlled:M}}),a({type:"combobox",filterable:!0,filterType:"select",valueType:"string",displayFormatter:c.combobox,components:{controlled:P}}),a({type:"multiselect",filterable:!0,filterType:"multiselect",valueType:"array",displayFormatter:c.multiselect,components:{controlled:H}}),a({type:"radio",filterable:!0,filterType:"select",valueType:"string",displayFormatter:c.radio,components:{controlled:X}}),a({type:"reference",filterable:!0,filterType:"text",valueType:"string",displayFormatter:c.reference,components:{controlled:m}}),a({type:"hidden",filterable:!1,filterType:"none",valueType:"string",components:{controlled:m,uncontrolled:e=>{const{name:o,value:l}=e;return p(fe,{name:o,value:typeof l=="string"?l:""})}}}),a({type:"avatar",filterable:!1,filterType:"none",valueType:"string",components:{controlled:m,uncontrolled:e=>{const{value:o,onChange:l,error:t,config:r,t:n}=e;if(!ge(r))throw new Error("Invalid config type for avatar field");return p(pe,{config:r,value:typeof o=="string"?o:"",onChange:s=>{l(s)},error:!!t,helperText:t||void 0,t:n,...r.options})}}}),a({type:"badge",filterable:!1,filterType:"none",valueType:"string",components:{controlled:m,uncontrolled:e=>{const{value:o,onChange:l,error:t,config:r,t:n}=e;if(!be(r))throw new Error("Invalid config type for badge field");return p(de,{config:r,value:typeof o=="string"?o:"",onChange:s=>{l(s)},error:!!t,helperText:t||void 0,t:n,...r.options})}}}),a({type:"submit",filterable:!1,filterType:"none",valueType:"string",components:{controlled:m,uncontrolled:e=>{const{name:o,label:l,config:t}=e;return p(z,{label:l||o,type:"submit",onClick:()=>{},...t.options})}}}),a({type:"reset",filterable:!1,filterType:"none",valueType:"string",components:{controlled:m,uncontrolled:e=>{const{name:o,label:l,config:t}=e;return p(z,{label:l||o,type:"reset",onClick:()=>{},...t.options})}}}))}he();export{he as registerAllBuiltinFieldTypes};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UploadStore.d.ts","sourceRoot":"","sources":["../../src/stores/UploadStore.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"UploadStore.d.ts","sourceRoot":"","sources":["../../src/stores/UploadStore.ts"],"names":[],"mappings":"AAeA;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,WAAW,GAAG,UAAU,GAAG,OAAO,CAAC;AAEvE;;GAEG;AACH,UAAU,gBAAgB;IACxB,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,CAC3B,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,KACpC,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnB;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG,MAAM,OAAO,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,kDAAkD;IAClD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAC1D,mEAAmE;IACnE,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;IAChE,qEAAqE;IACrE,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC;IAC5E,sDAAsD;IACtD,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACtD,yCAAyC;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,6CAA6C;IAC7C,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAEjC,8CAA8C;IAC9C,cAAc,EAAE,CACd,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,cAAc,EACxB,YAAY,CAAC,EAAE,oBAAoB,KAChC,IAAI,CAAC;IACV,qDAAqD;IACrD,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAG9D,+BAA+B;IAC/B,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACzD,+BAA+B;IAC/B,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3E,8BAA8B;IAC9B,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5D,4BAA4B;IAC5B,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvE,qCAAqC;IACrC,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACzD,mCAAmC;IACnC,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,uCAAuC;IACvC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAGlC,6CAA6C;IAC7C,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,kDAAkD;IAClD,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;IAG/C,oCAAoC;IACpC,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,YAAY,CAAC;IAC/D,sCAAsC;IACtC,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;IAC3D,qDAAqD;IACrD,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;IAC7C,gDAAgD;IAChD,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;IACzC,4BAA4B;IAC5B,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;CAChE;AAQD;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,+IA+TzB,CAAC;AAMH;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAAI,QAAQ,MAAM,KAAG,MAU9C,CAAC;AAEL;;GAEG;AACH,eAAO,MAAM,cAAc,GAAI,QAAQ,MAAM,KAAG,OAQ5C,CAAC;AAEL;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAAI,QAAQ,MAAM,EAAE,WAAW,MAAM,KAAG,MACS,CAAC;AAE/E;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAC/B,QAAQ,MAAM,EACd,WAAW,MAAM,KAChB,YAGA,CAAC"}
|