@donotdev/crud 0.0.22 → 0.0.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (138) hide show
  1. package/dist/CrudService.d.ts.map +1 -1
  2. package/dist/CrudService.js +2 -2
  3. package/dist/CrudStore.js +1 -1
  4. package/dist/adapters/FunctionsAdapter.js +1 -1
  5. package/dist/components/CrudButton.js +1 -1
  6. package/dist/components/CrudCard.js +1 -1
  7. package/dist/components/DateFilter.js +1 -1
  8. package/dist/components/DisplayFieldRenderer.js +1 -1
  9. package/dist/components/DisplayThumbnail.js +1 -1
  10. package/dist/components/EntityFilters.js +1 -1
  11. package/dist/components/FormFieldRenderer.js +1 -1
  12. package/dist/components/FormLayout.js +1 -1
  13. package/dist/components/controlled/complex/ControlledAddressField.js +1 -1
  14. package/dist/components/controlled/complex/ControlledDateField.js +1 -1
  15. package/dist/components/controlled/complex/ControlledFieldArrayField.js +1 -1
  16. package/dist/components/controlled/complex/ControlledMapField.js +1 -1
  17. package/dist/components/controlled/complex/ControlledMultiInputField.js +1 -1
  18. package/dist/components/controlled/complex/ControlledRichTextField.js +1 -1
  19. package/dist/components/controlled/complex/ControlledTimestampField.js +1 -1
  20. package/dist/components/controlled/file/ControlledDocumentField.js +1 -1
  21. package/dist/components/controlled/file/ControlledFileField.js +1 -1
  22. package/dist/components/controlled/file/ControlledImageField.js +1 -1
  23. package/dist/components/controlled/file/ControlledMultiDocumentField.js +1 -1
  24. package/dist/components/controlled/file/ControlledMultiFileField.js +1 -1
  25. package/dist/components/controlled/file/ControlledMultiImageField.js +1 -1
  26. package/dist/components/controlled/input/ControlledCheckboxField.js +1 -1
  27. package/dist/components/controlled/input/ControlledCurrencyField.js +1 -1
  28. package/dist/components/controlled/input/ControlledDurationField.js +1 -1
  29. package/dist/components/controlled/input/ControlledGdprConsentField.js +1 -1
  30. package/dist/components/controlled/input/ControlledNumberField.js +1 -1
  31. package/dist/components/controlled/input/ControlledPasswordField.js +1 -1
  32. package/dist/components/controlled/input/ControlledPhoneField.js +1 -1
  33. package/dist/components/controlled/input/ControlledPriceField.js +1 -1
  34. package/dist/components/controlled/input/ControlledRangeField.js +1 -1
  35. package/dist/components/controlled/input/ControlledRatingField.js +1 -1
  36. package/dist/components/controlled/input/ControlledSwitchField.js +1 -1
  37. package/dist/components/controlled/input/ControlledTextField.js +1 -1
  38. package/dist/components/controlled/input/ControlledTextareaField.js +1 -1
  39. package/dist/components/controlled/select/ControlledComboboxField.js +1 -1
  40. package/dist/components/controlled/select/ControlledDropdownField.js +1 -1
  41. package/dist/components/controlled/select/ControlledMultiDropdownField.js +1 -1
  42. package/dist/components/controlled/select/ControlledRadioField.js +1 -1
  43. package/dist/components/controlled/select/ControlledReferenceField.js +1 -1
  44. package/dist/components/controlled/select/ControlledYearField.js +1 -1
  45. package/dist/components/controlled/types.js +1 -1
  46. package/dist/components/fields/display/AvatarFieldDisplay.js +1 -1
  47. package/dist/components/fields/display/BadgeFieldDisplay.js +1 -1
  48. package/dist/components/fields/display/ButtonFieldDisplay.js +1 -1
  49. package/dist/components/fields/display/CheckboxFieldDisplay.js +1 -1
  50. package/dist/components/fields/display/DateFieldDisplay.js +1 -1
  51. package/dist/components/fields/display/DropdownDisplay.js +1 -1
  52. package/dist/components/fields/display/FileFieldDisplay.js +1 -1
  53. package/dist/components/fields/display/GeoPointFieldDisplay.js +1 -1
  54. package/dist/components/fields/display/HiddenFieldDisplay.js +1 -1
  55. package/dist/components/fields/display/ImageFieldDisplay.js +1 -1
  56. package/dist/components/fields/display/LinkFieldDisplay.js +1 -1
  57. package/dist/components/fields/display/MapFieldDisplay.js +1 -1
  58. package/dist/components/fields/display/MultiDropdownDisplay.js +1 -1
  59. package/dist/components/fields/display/MultiInputTextFieldDisplay.js +1 -1
  60. package/dist/components/fields/display/NumberFieldDisplay.js +1 -1
  61. package/dist/components/fields/display/PasswordFieldDisplay.js +1 -1
  62. package/dist/components/fields/display/RadioFieldDisplay.js +1 -1
  63. package/dist/components/fields/display/RangeFieldDisplay.js +1 -1
  64. package/dist/components/fields/display/ReferenceFieldDisplay.js +1 -1
  65. package/dist/components/fields/display/TextAreaDisplay.js +1 -1
  66. package/dist/components/fields/display/TextFieldDisplay.js +1 -1
  67. package/dist/components/fields/display/index.js +1 -1
  68. package/dist/components/form/fields/AddressFieldComponent.js +1 -1
  69. package/dist/components/form/fields/AvatarFieldComponent.js +1 -1
  70. package/dist/components/form/fields/BadgeFieldComponent.js +1 -1
  71. package/dist/components/form/fields/ButtonFieldComponent.js +1 -1
  72. package/dist/components/form/fields/CheckboxFieldComponent.js +1 -1
  73. package/dist/components/form/fields/ComboboxComponent.js +1 -1
  74. package/dist/components/form/fields/CurrencyFieldComponent.js +1 -1
  75. package/dist/components/form/fields/DateFieldComponent.js +1 -1
  76. package/dist/components/form/fields/DocumentFieldComponent.js +1 -1
  77. package/dist/components/form/fields/DropdownComponent.js +1 -1
  78. package/dist/components/form/fields/DurationFieldComponent.js +1 -1
  79. package/dist/components/form/fields/FileFieldComponent.js +1 -1
  80. package/dist/components/form/fields/GdprConsentFieldComponent.js +1 -1
  81. package/dist/components/form/fields/GeoPointFieldComponent.js +1 -1
  82. package/dist/components/form/fields/ImageFieldComponent.js +1 -1
  83. package/dist/components/form/fields/MapFieldComponent.js +1 -1
  84. package/dist/components/form/fields/MultiDropdownComponent.js +1 -1
  85. package/dist/components/form/fields/MultiInputTextFieldComponent.js +1 -1
  86. package/dist/components/form/fields/NumberFieldComponent.js +1 -1
  87. package/dist/components/form/fields/PasswordFieldComponent.js +1 -1
  88. package/dist/components/form/fields/PhoneNumberComponent.js +1 -1
  89. package/dist/components/form/fields/PriceFieldComponent.js +1 -1
  90. package/dist/components/form/fields/RadioFieldComponent.js +1 -1
  91. package/dist/components/form/fields/RangeFieldComponent.js +1 -1
  92. package/dist/components/form/fields/RatingFieldComponent.js +1 -1
  93. package/dist/components/form/fields/ReferenceFieldComponent.js +1 -1
  94. package/dist/components/form/fields/RichTextComponent.js +1 -1
  95. package/dist/components/form/fields/SwitchFieldComponent.js +1 -1
  96. package/dist/components/form/fields/TextAreaComponent.js +1 -1
  97. package/dist/components/form/fields/TextFieldComponent.js +1 -1
  98. package/dist/components/form/fields/TimestampFieldComponent.js +1 -1
  99. package/dist/components/form/fields/index.js +1 -1
  100. package/dist/components/form/fields/internal/TiptapEditor.js +2 -2
  101. package/dist/components/form/internal/ImageViewerDialog.js +1 -1
  102. package/dist/components/index.js +1 -1
  103. package/dist/contexts/UploadContext.js +1 -1
  104. package/dist/fieldTypeRegistry.js +1 -1
  105. package/dist/forms/hooks/useController.js +1 -1
  106. package/dist/forms/hooks/useEntityField.js +1 -1
  107. package/dist/forms/hooks/useEntityForm.js +1 -1
  108. package/dist/forms/utils/buildInitialValues.js +1 -1
  109. package/dist/forms/utils/getFieldsForOperation.js +1 -1
  110. package/dist/forms/utils/isFieldEditable.js +1 -1
  111. package/dist/forms/utils/translateFieldLabel.js +1 -1
  112. package/dist/forms/utils/validateEntity.js +1 -1
  113. package/dist/hooks/index.js +1 -1
  114. package/dist/hooks/useEntityFavorites.js +1 -1
  115. package/dist/hooks/useFieldConditions.js +1 -1
  116. package/dist/hooks/useFileUpload.js +1 -1
  117. package/dist/hooks/useReferenceResolver.js +1 -1
  118. package/dist/hooks/useRelatedItems.js +1 -1
  119. package/dist/hooks/useUnsavedChangesWarning.js +1 -1
  120. package/dist/index.js +1 -1
  121. package/dist/registerBuiltinFieldTypes.js +1 -1
  122. package/dist/stores/FormStore.js +1 -1
  123. package/dist/stores/UploadStore.js +1 -1
  124. package/dist/stores/index.js +1 -1
  125. package/dist/tsconfig.tsbuildinfo +1 -1
  126. package/dist/useBaseCrudList.js +1 -1
  127. package/dist/useCrud.js +1 -1
  128. package/dist/useCrudCardList.js +1 -1
  129. package/dist/useCrudList.js +1 -1
  130. package/dist/utils/collections.js +1 -1
  131. package/dist/utils/imageProcessing.js +1 -1
  132. package/dist/utils/imageStorage.js +1 -1
  133. package/dist/utils/matchesFilter.js +1 -1
  134. package/dist/utils/mergeWithOptimistic.js +1 -1
  135. package/dist/utils/uploadValidation.js +1 -1
  136. package/dist/workflows/defineWorkflow.js +1 -1
  137. package/dist/workflows/useEntityWorkflow.js +1 -1
  138. package/package.json +4 -4
@@ -1 +1 @@
1
- "use client";import{createDoNotDevStore as F}from"@donotdev/core";const m={status:"idle",progress:0,error:null},d=F({name:"upload-store",createStore:(a,n)=>({uploads:{},uploadFunctions:{},checkPendingFunctions:{},retryAttempts:{},maxRetries:3,retryDelay:1e3,registerUpload:(s,e,t,o)=>{a(r=>({uploadFunctions:{...r.uploadFunctions,[s]:{...r.uploadFunctions[s]||{},[e]:t}},checkPendingFunctions:{...r.checkPendingFunctions,[s]:{...r.checkPendingFunctions[s]||{},[e]:o||(()=>!1)}}}))},unregisterUpload:(s,e)=>{a(t=>{const o=t.uploadFunctions[s],r=t.checkPendingFunctions[s];if(!o)return t;const{[e]:l,...p}=o,{[e]:u,...i}=r||{},{[e]:g,...h}=t.retryAttempts[s]||{};return{uploadFunctions:{...t.uploadFunctions,[s]:p},checkPendingFunctions:{...t.checkPendingFunctions,[s]:i},retryAttempts:{...t.retryAttempts,[s]:h}}})},startUpload:(s,e)=>{a(t=>({uploads:{...t.uploads,[s]:{...t.uploads[s]||{},[e]:{status:"uploading",progress:0,error:null}}}}))},setProgress:(s,e,t)=>{a(o=>{const r=o.uploads[s]?.[e]||m;return{uploads:{...o.uploads,[s]:{...o.uploads[s]||{},[e]:{...r,progress:Math.min(100,Math.max(0,t))}}}}})},completeUpload:(s,e)=>{a(t=>{const o=t.uploads[s]?.[e]||m;return{uploads:{...t.uploads,[s]:{...t.uploads[s]||{},[e]:{...o,status:"complete",progress:100}}}}})},failUpload:(s,e,t)=>{a(o=>{const r=o.uploads[s]?.[e]||m;return{uploads:{...o.uploads,[s]:{...o.uploads[s]||{},[e]:{...r,status:"error",error:t}}}}})},resetUpload:(s,e)=>{a(t=>({uploads:{...t.uploads,[s]:{...t.uploads[s]||{},[e]:{...m}}}}))},resetForm:s=>{a(e=>({uploads:{...e.uploads,[s]:{}}}))},cleanup:s=>{a(e=>{const{[s]:t,...o}=e.uploads,{[s]:r,...l}=e.uploadFunctions,{[s]:p,...u}=e.checkPendingFunctions,{[s]:i,...g}=e.retryAttempts;return{uploads:o,uploadFunctions:l,checkPendingFunctions:u,retryAttempts:g}})},uploadAll:async s=>{const e=n().uploadFunctions[s];if(!e)return;const t=Object.entries(e);if(t.length===0)return;const o=async(r,l,p=1)=>{n().startUpload(s,r);try{await l(u=>{n().setProgress(s,r,u)}),n().completeUpload(s,r),a(u=>({retryAttempts:{...u.retryAttempts,[s]:{...u.retryAttempts[s]||{},[r]:0}}}))}catch(u){const i=u instanceof Error?u.message:"Upload failed",g=n().maxRetries;if((n().retryAttempts[s]?.[r]??0)<g){a(c=>({retryAttempts:{...c.retryAttempts,[s]:{...c.retryAttempts[s]||{},[r]:(c.retryAttempts[s]?.[r]??0)+1}}}));const h=n().retryDelay*Math.pow(2,p-1);return await new Promise(c=>setTimeout(c,h)),o(r,l,p+1)}else throw n().failUpload(s,r,i),u}};await Promise.all(t.map(async([r,l])=>{await o(r,l)}))},hasPendingUploads:s=>{const e=n(),t=e.uploadFunctions[s],o=e.checkPendingFunctions[s];return t?Object.entries(t).some(([r,l])=>{const p=o?.[r];return p?p():!0}):!1},getStatus:(s,e)=>n().uploads[s]?.[e]?.status??"idle",getProgress:(s,e)=>n().uploads[s]?.[e]?.progress??0,getTotalProgress:s=>{const e=n().uploads[s];if(!e)return 100;const t=Object.values(e);if(t.length===0)return 100;const o=t.reduce((r,l)=>r+l.progress,0);return Math.round(o/t.length)},isUploading:s=>{const e=n().uploads[s];return e?Object.values(e).some(t=>t.status==="uploading"):!1},getError:(s,e)=>n().uploads[s]?.[e]?.error??null})}),y=a=>d(n=>{const s=n.uploads[a];if(!s)return 100;const e=Object.values(s);if(e.length===0)return 100;const t=e.reduce((o,r)=>o+r.progress,0);return Math.round(t/e.length)}),P=a=>d(n=>{const s=n.uploads[a];return s?Object.values(s).some(e=>e.status==="uploading"):!1}),A=(a,n)=>d(s=>s.uploads[a]?.[n]?.progress??0),U=(a,n)=>d(s=>s.uploads[a]?.[n]?.status??"idle");export{A as useFieldProgress,U as useFieldUploadStatus,P as useIsUploading,y as useTotalProgress,d as useUploadStore};
1
+ "use client";import{createDoNotDevStore as F}from"@donotdev/core";const m={status:"idle",progress:0,error:null},c=F({name:"upload-store",createStore:(u,a)=>({uploads:{},uploadFunctions:{},checkPendingFunctions:{},retryAttempts:{},maxRetries:3,retryDelay:1e3,registerUpload:(t,s,e,r)=>{u(o=>({uploadFunctions:{...o.uploadFunctions,[t]:{...o.uploadFunctions[t]||{},[s]:e}},checkPendingFunctions:{...o.checkPendingFunctions,[t]:{...o.checkPendingFunctions[t]||{},[s]:r||(()=>!1)}}}))},unregisterUpload:(t,s)=>{u(e=>{const r=e.uploadFunctions[t],o=e.checkPendingFunctions[t];if(!r)return e;const{[s]:l,...p}=r,{[s]:n,...i}=o||{},{[s]:g,...h}=e.retryAttempts[t]||{};return{uploadFunctions:{...e.uploadFunctions,[t]:p},checkPendingFunctions:{...e.checkPendingFunctions,[t]:i},retryAttempts:{...e.retryAttempts,[t]:h}}})},startUpload:(t,s)=>{u(e=>({uploads:{...e.uploads,[t]:{...e.uploads[t]||{},[s]:{status:"uploading",progress:0,error:null}}}}))},setProgress:(t,s,e)=>{u(r=>{const o=r.uploads[t]?.[s]||m;return{uploads:{...r.uploads,[t]:{...r.uploads[t]||{},[s]:{...o,progress:Math.min(100,Math.max(0,e))}}}}})},completeUpload:(t,s)=>{u(e=>{const r=e.uploads[t]?.[s]||m;return{uploads:{...e.uploads,[t]:{...e.uploads[t]||{},[s]:{...r,status:"complete",progress:100}}}}})},failUpload:(t,s,e)=>{u(r=>{const o=r.uploads[t]?.[s]||m;return{uploads:{...r.uploads,[t]:{...r.uploads[t]||{},[s]:{...o,status:"error",error:e}}}}})},resetUpload:(t,s)=>{u(e=>({uploads:{...e.uploads,[t]:{...e.uploads[t]||{},[s]:{...m}}}}))},resetForm:t=>{u(s=>({uploads:{...s.uploads,[t]:{}}}))},cleanup:t=>{u(s=>{const{[t]:e,...r}=s.uploads,{[t]:o,...l}=s.uploadFunctions,{[t]:p,...n}=s.checkPendingFunctions,{[t]:i,...g}=s.retryAttempts;return{uploads:r,uploadFunctions:l,checkPendingFunctions:n,retryAttempts:g}})},uploadAll:async t=>{const s=a().uploadFunctions[t];if(!s)return;const e=Object.entries(s);if(e.length===0)return;const r=async(o,l,p=1)=>{a().startUpload(t,o);try{await l(n=>{a().setProgress(t,o,n)}),a().completeUpload(t,o),u(n=>({retryAttempts:{...n.retryAttempts,[t]:{...n.retryAttempts[t]||{},[o]:0}}}))}catch(n){const i=n instanceof Error?n.message:"Upload failed",g=a().maxRetries;if((a().retryAttempts[t]?.[o]??0)<g){u(d=>({retryAttempts:{...d.retryAttempts,[t]:{...d.retryAttempts[t]||{},[o]:(d.retryAttempts[t]?.[o]??0)+1}}}));const h=a().retryDelay*Math.pow(2,p-1);return await new Promise(d=>setTimeout(d,h)),r(o,l,p+1)}else throw a().failUpload(t,o,i),n}};await Promise.all(e.map(async([o,l])=>{await r(o,l)}))},hasPendingUploads:t=>{const s=a(),e=s.uploadFunctions[t],r=s.checkPendingFunctions[t];return e?Object.entries(e).some(([o,l])=>{const p=r?.[o];return p?p():!0}):!1},getStatus:(t,s)=>a().uploads[t]?.[s]?.status??"idle",getProgress:(t,s)=>a().uploads[t]?.[s]?.progress??0,getTotalProgress:t=>{const s=a().uploads[t];if(!s)return 100;const e=Object.values(s);if(e.length===0)return 100;const r=e.reduce((o,l)=>o+l.progress,0);return Math.round(r/e.length)},isUploading:t=>{const s=a().uploads[t];return s?Object.values(s).some(e=>e.status==="uploading"):!1},getError:(t,s)=>a().uploads[t]?.[s]?.error??null})}),y=u=>c(a=>{const t=a.uploads[u];if(!t)return 100;const s=Object.values(t);if(s.length===0)return 100;const e=s.reduce((r,o)=>r+o.progress,0);return Math.round(e/s.length)}),P=u=>c(a=>{const t=a.uploads[u];return t?Object.values(t).some(s=>s.status==="uploading"):!1}),A=(u,a)=>c(t=>t.uploads[u]?.[a]?.progress??0),U=(u,a)=>c(t=>t.uploads[u]?.[a]?.status??"idle");export{A as useFieldProgress,U as useFieldUploadStatus,P as useIsUploading,y as useTotalProgress,c as useUploadStore};
@@ -1 +1 @@
1
- import{useFormStore as s,useFormStatus as r,useFormLoading as a,useUploadProgress as o,useFormError as e,useFormIsDirty as u,useHasDirtyForms as t}from"./FormStore";import{useUploadStore as m,useTotalProgress as F,useIsUploading as d,useFieldProgress as i,useFieldUploadStatus as l}from"./UploadStore";export{i as useFieldProgress,l as useFieldUploadStatus,e as useFormError,u as useFormIsDirty,a as useFormLoading,r as useFormStatus,s as useFormStore,t as useHasDirtyForms,d as useIsUploading,F as useTotalProgress,o as useUploadProgress,m as useUploadStore};
1
+ import{useFormStore as s,useFormStatus as a,useFormLoading as r,useUploadProgress as o,useFormError as e,useFormIsDirty as u,useHasDirtyForms as t}from"./FormStore";import{useUploadStore as m,useTotalProgress as F,useIsUploading as i,useFieldProgress as l,useFieldUploadStatus as d}from"./UploadStore";export{l as useFieldProgress,d as useFieldUploadStatus,e as useFormError,u as useFormIsDirty,r as useFormLoading,a as useFormStatus,s as useFormStore,t as useHasDirtyForms,i as useIsUploading,F as useTotalProgress,o as useUploadProgress,m as useUploadStore};