@donotdev/crud 0.0.21 → 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 (212) hide show
  1. package/dist/CrudService.d.ts.map +1 -1
  2. package/dist/CrudService.js +2 -2
  3. package/dist/CrudStore.d.ts.map +1 -1
  4. package/dist/CrudStore.js +1 -1
  5. package/dist/FieldRegistry.d.ts +1 -1
  6. package/dist/FieldRegistry.d.ts.map +1 -1
  7. package/dist/adapters/FunctionsAdapter.d.ts +15 -0
  8. package/dist/adapters/FunctionsAdapter.d.ts.map +1 -1
  9. package/dist/adapters/FunctionsAdapter.js +1 -1
  10. package/dist/components/CrudButton.js +1 -1
  11. package/dist/components/CrudCard.js +1 -1
  12. package/dist/components/DateFilter.d.ts.map +1 -1
  13. package/dist/components/DateFilter.js +1 -1
  14. package/dist/components/DisplayFieldRenderer.d.ts.map +1 -1
  15. package/dist/components/DisplayFieldRenderer.js +1 -1
  16. package/dist/components/DisplayThumbnail.js +1 -1
  17. package/dist/components/EntityFilters.d.ts +4 -1
  18. package/dist/components/EntityFilters.d.ts.map +1 -1
  19. package/dist/components/EntityFilters.js +1 -1
  20. package/dist/components/FormFieldRenderer.d.ts.map +1 -1
  21. package/dist/components/FormFieldRenderer.js +1 -1
  22. package/dist/components/FormLayout.js +1 -1
  23. package/dist/components/controlled/complex/ControlledAddressField.d.ts.map +1 -1
  24. package/dist/components/controlled/complex/ControlledAddressField.js +1 -1
  25. package/dist/components/controlled/complex/ControlledDateField.d.ts.map +1 -1
  26. package/dist/components/controlled/complex/ControlledDateField.js +1 -1
  27. package/dist/components/controlled/complex/ControlledFieldArrayField.d.ts.map +1 -1
  28. package/dist/components/controlled/complex/ControlledFieldArrayField.js +1 -1
  29. package/dist/components/controlled/complex/ControlledGeoPointField.d.ts.map +1 -1
  30. package/dist/components/controlled/complex/ControlledMapField.d.ts.map +1 -1
  31. package/dist/components/controlled/complex/ControlledMapField.js +1 -1
  32. package/dist/components/controlled/complex/ControlledMultiInputField.d.ts.map +1 -1
  33. package/dist/components/controlled/complex/ControlledMultiInputField.js +1 -1
  34. package/dist/components/controlled/complex/ControlledRichTextField.d.ts.map +1 -1
  35. package/dist/components/controlled/complex/ControlledRichTextField.js +1 -1
  36. package/dist/components/controlled/complex/ControlledTimestampField.d.ts.map +1 -1
  37. package/dist/components/controlled/complex/ControlledTimestampField.js +1 -1
  38. package/dist/components/controlled/file/ControlledDocumentField.d.ts.map +1 -1
  39. package/dist/components/controlled/file/ControlledDocumentField.js +1 -1
  40. package/dist/components/controlled/file/ControlledFileField.d.ts.map +1 -1
  41. package/dist/components/controlled/file/ControlledFileField.js +1 -1
  42. package/dist/components/controlled/file/ControlledImageField.d.ts.map +1 -1
  43. package/dist/components/controlled/file/ControlledImageField.js +1 -1
  44. package/dist/components/controlled/file/ControlledMultiDocumentField.d.ts.map +1 -1
  45. package/dist/components/controlled/file/ControlledMultiDocumentField.js +1 -1
  46. package/dist/components/controlled/file/ControlledMultiFileField.d.ts.map +1 -1
  47. package/dist/components/controlled/file/ControlledMultiFileField.js +1 -1
  48. package/dist/components/controlled/file/ControlledMultiImageField.d.ts.map +1 -1
  49. package/dist/components/controlled/file/ControlledMultiImageField.js +1 -1
  50. package/dist/components/controlled/input/ControlledCheckboxField.d.ts.map +1 -1
  51. package/dist/components/controlled/input/ControlledCheckboxField.js +1 -1
  52. package/dist/components/controlled/input/ControlledCurrencyField.d.ts.map +1 -1
  53. package/dist/components/controlled/input/ControlledCurrencyField.js +1 -1
  54. package/dist/components/controlled/input/ControlledDurationField.d.ts.map +1 -1
  55. package/dist/components/controlled/input/ControlledDurationField.js +1 -1
  56. package/dist/components/controlled/input/ControlledGdprConsentField.d.ts.map +1 -1
  57. package/dist/components/controlled/input/ControlledGdprConsentField.js +1 -1
  58. package/dist/components/controlled/input/ControlledNumberField.d.ts.map +1 -1
  59. package/dist/components/controlled/input/ControlledNumberField.js +1 -1
  60. package/dist/components/controlled/input/ControlledPasswordField.d.ts.map +1 -1
  61. package/dist/components/controlled/input/ControlledPasswordField.js +1 -1
  62. package/dist/components/controlled/input/ControlledPhoneField.d.ts.map +1 -1
  63. package/dist/components/controlled/input/ControlledPhoneField.js +1 -1
  64. package/dist/components/controlled/input/ControlledPriceField.d.ts.map +1 -1
  65. package/dist/components/controlled/input/ControlledPriceField.js +1 -1
  66. package/dist/components/controlled/input/ControlledRangeField.d.ts.map +1 -1
  67. package/dist/components/controlled/input/ControlledRangeField.js +1 -1
  68. package/dist/components/controlled/input/ControlledRatingField.d.ts.map +1 -1
  69. package/dist/components/controlled/input/ControlledRatingField.js +1 -1
  70. package/dist/components/controlled/input/ControlledSwitchField.d.ts.map +1 -1
  71. package/dist/components/controlled/input/ControlledSwitchField.js +1 -1
  72. package/dist/components/controlled/input/ControlledTextField.d.ts.map +1 -1
  73. package/dist/components/controlled/input/ControlledTextField.js +1 -1
  74. package/dist/components/controlled/input/ControlledTextareaField.d.ts.map +1 -1
  75. package/dist/components/controlled/input/ControlledTextareaField.js +1 -1
  76. package/dist/components/controlled/select/ControlledComboboxField.d.ts.map +1 -1
  77. package/dist/components/controlled/select/ControlledComboboxField.js +1 -1
  78. package/dist/components/controlled/select/ControlledDropdownField.d.ts.map +1 -1
  79. package/dist/components/controlled/select/ControlledDropdownField.js +1 -1
  80. package/dist/components/controlled/select/ControlledMultiDropdownField.d.ts.map +1 -1
  81. package/dist/components/controlled/select/ControlledMultiDropdownField.js +1 -1
  82. package/dist/components/controlled/select/ControlledRadioField.d.ts.map +1 -1
  83. package/dist/components/controlled/select/ControlledRadioField.js +1 -1
  84. package/dist/components/controlled/select/ControlledReferenceField.d.ts.map +1 -1
  85. package/dist/components/controlled/select/ControlledReferenceField.js +1 -1
  86. package/dist/components/controlled/select/ControlledYearField.d.ts.map +1 -1
  87. package/dist/components/controlled/select/ControlledYearField.js +1 -1
  88. package/dist/components/controlled/types.d.ts.map +1 -1
  89. package/dist/components/controlled/types.js +1 -1
  90. package/dist/components/fields/display/AvatarFieldDisplay.js +1 -1
  91. package/dist/components/fields/display/BadgeFieldDisplay.js +1 -1
  92. package/dist/components/fields/display/ButtonFieldDisplay.js +1 -1
  93. package/dist/components/fields/display/CheckboxFieldDisplay.js +1 -1
  94. package/dist/components/fields/display/DateFieldDisplay.js +1 -1
  95. package/dist/components/fields/display/DropdownDisplay.js +1 -1
  96. package/dist/components/fields/display/FileFieldDisplay.js +1 -1
  97. package/dist/components/fields/display/GeoPointFieldDisplay.js +1 -1
  98. package/dist/components/fields/display/HiddenFieldDisplay.js +1 -1
  99. package/dist/components/fields/display/ImageFieldDisplay.js +1 -1
  100. package/dist/components/fields/display/LinkFieldDisplay.js +1 -1
  101. package/dist/components/fields/display/MapFieldDisplay.js +1 -1
  102. package/dist/components/fields/display/MultiDropdownDisplay.js +1 -1
  103. package/dist/components/fields/display/MultiInputTextFieldDisplay.js +1 -1
  104. package/dist/components/fields/display/NumberFieldDisplay.js +1 -1
  105. package/dist/components/fields/display/PasswordFieldDisplay.js +1 -1
  106. package/dist/components/fields/display/RadioFieldDisplay.js +1 -1
  107. package/dist/components/fields/display/RangeFieldDisplay.js +1 -1
  108. package/dist/components/fields/display/ReferenceFieldDisplay.js +1 -1
  109. package/dist/components/fields/display/TextAreaDisplay.js +1 -1
  110. package/dist/components/fields/display/TextFieldDisplay.js +1 -1
  111. package/dist/components/fields/display/index.js +1 -1
  112. package/dist/components/form/fields/AddressFieldComponent.js +1 -1
  113. package/dist/components/form/fields/AvatarFieldComponent.js +1 -1
  114. package/dist/components/form/fields/BadgeFieldComponent.js +1 -1
  115. package/dist/components/form/fields/ButtonFieldComponent.js +1 -1
  116. package/dist/components/form/fields/CheckboxFieldComponent.js +1 -1
  117. package/dist/components/form/fields/ComboboxComponent.js +1 -1
  118. package/dist/components/form/fields/CurrencyFieldComponent.js +1 -1
  119. package/dist/components/form/fields/DateFieldComponent.js +1 -1
  120. package/dist/components/form/fields/DocumentFieldComponent.js +1 -1
  121. package/dist/components/form/fields/DropdownComponent.js +1 -1
  122. package/dist/components/form/fields/DurationFieldComponent.js +1 -1
  123. package/dist/components/form/fields/FileFieldComponent.js +1 -1
  124. package/dist/components/form/fields/GdprConsentFieldComponent.js +1 -1
  125. package/dist/components/form/fields/GeoPointFieldComponent.js +1 -1
  126. package/dist/components/form/fields/ImageFieldComponent.d.ts.map +1 -1
  127. package/dist/components/form/fields/ImageFieldComponent.js +1 -1
  128. package/dist/components/form/fields/MapFieldComponent.js +1 -1
  129. package/dist/components/form/fields/MultiDropdownComponent.js +1 -1
  130. package/dist/components/form/fields/MultiInputTextFieldComponent.js +1 -1
  131. package/dist/components/form/fields/NumberFieldComponent.js +1 -1
  132. package/dist/components/form/fields/PasswordFieldComponent.js +1 -1
  133. package/dist/components/form/fields/PhoneNumberComponent.js +1 -1
  134. package/dist/components/form/fields/PriceFieldComponent.js +1 -1
  135. package/dist/components/form/fields/RadioFieldComponent.js +1 -1
  136. package/dist/components/form/fields/RangeFieldComponent.js +1 -1
  137. package/dist/components/form/fields/RatingFieldComponent.js +1 -1
  138. package/dist/components/form/fields/ReferenceFieldComponent.js +1 -1
  139. package/dist/components/form/fields/RichTextComponent.d.ts +1 -1
  140. package/dist/components/form/fields/RichTextComponent.d.ts.map +1 -1
  141. package/dist/components/form/fields/RichTextComponent.js +1 -1
  142. package/dist/components/form/fields/SwitchFieldComponent.d.ts.map +1 -1
  143. package/dist/components/form/fields/SwitchFieldComponent.js +1 -1
  144. package/dist/components/form/fields/TextAreaComponent.js +1 -1
  145. package/dist/components/form/fields/TextFieldComponent.js +1 -1
  146. package/dist/components/form/fields/TimestampFieldComponent.js +1 -1
  147. package/dist/components/form/fields/index.js +1 -1
  148. package/dist/components/form/fields/internal/TiptapEditor.js +2 -2
  149. package/dist/components/form/internal/ImageViewerDialog.js +1 -1
  150. package/dist/components/index.js +1 -1
  151. package/dist/contexts/UploadContext.d.ts.map +1 -1
  152. package/dist/contexts/UploadContext.js +1 -1
  153. package/dist/fieldTypeRegistry.d.ts +1 -1
  154. package/dist/fieldTypeRegistry.d.ts.map +1 -1
  155. package/dist/fieldTypeRegistry.js +1 -1
  156. package/dist/forms/hooks/useController.d.ts.map +1 -1
  157. package/dist/forms/hooks/useController.js +1 -1
  158. package/dist/forms/hooks/useEntityField.d.ts.map +1 -1
  159. package/dist/forms/hooks/useEntityField.js +1 -1
  160. package/dist/forms/hooks/useEntityForm.d.ts.map +1 -1
  161. package/dist/forms/hooks/useEntityForm.js +1 -1
  162. package/dist/forms/types.d.ts +2 -2
  163. package/dist/forms/types.d.ts.map +1 -1
  164. package/dist/forms/utils/buildInitialValues.d.ts.map +1 -1
  165. package/dist/forms/utils/buildInitialValues.js +1 -1
  166. package/dist/forms/utils/getFieldsForOperation.js +1 -1
  167. package/dist/forms/utils/isFieldEditable.js +1 -1
  168. package/dist/forms/utils/translateFieldLabel.js +1 -1
  169. package/dist/forms/utils/validateEntity.js +1 -1
  170. package/dist/hooks/index.js +1 -1
  171. package/dist/hooks/useCrudFilters.d.ts.map +1 -1
  172. package/dist/hooks/useEntityFavorites.js +1 -1
  173. package/dist/hooks/useFieldConditions.d.ts +1 -1
  174. package/dist/hooks/useFieldConditions.d.ts.map +1 -1
  175. package/dist/hooks/useFieldConditions.js +1 -1
  176. package/dist/hooks/useFileUpload.js +1 -1
  177. package/dist/hooks/useReferenceResolver.js +1 -1
  178. package/dist/hooks/useRelatedItems.js +1 -1
  179. package/dist/hooks/useUnsavedChangesWarning.d.ts +0 -1
  180. package/dist/hooks/useUnsavedChangesWarning.d.ts.map +1 -1
  181. package/dist/hooks/useUnsavedChangesWarning.js +1 -1
  182. package/dist/index.js +1 -1
  183. package/dist/registerBuiltinFieldTypes.d.ts.map +1 -1
  184. package/dist/registerBuiltinFieldTypes.js +1 -1
  185. package/dist/stores/FormStore.js +1 -1
  186. package/dist/stores/UploadStore.js +1 -1
  187. package/dist/stores/index.js +1 -1
  188. package/dist/tsconfig.tsbuildinfo +1 -1
  189. package/dist/useBaseCrudList.d.ts.map +1 -1
  190. package/dist/useBaseCrudList.js +1 -1
  191. package/dist/useCrud.d.ts.map +1 -1
  192. package/dist/useCrud.js +1 -1
  193. package/dist/useCrudCardList.d.ts.map +1 -1
  194. package/dist/useCrudCardList.js +1 -1
  195. package/dist/useCrudList.d.ts.map +1 -1
  196. package/dist/useCrudList.js +1 -1
  197. package/dist/utils/clientListProcessing.d.ts.map +1 -1
  198. package/dist/utils/collections.js +1 -1
  199. package/dist/utils/fileStorage.d.ts.map +1 -1
  200. package/dist/utils/imageProcessing.js +1 -1
  201. package/dist/utils/imageStorage.d.ts.map +1 -1
  202. package/dist/utils/imageStorage.js +1 -1
  203. package/dist/utils/matchesFilter.js +1 -1
  204. package/dist/utils/mergeWithOptimistic.d.ts +0 -8
  205. package/dist/utils/mergeWithOptimistic.d.ts.map +1 -1
  206. package/dist/utils/mergeWithOptimistic.js +1 -1
  207. package/dist/utils/uploadValidation.js +1 -1
  208. package/dist/workflows/defineWorkflow.d.ts.map +1 -1
  209. package/dist/workflows/defineWorkflow.js +1 -1
  210. package/dist/workflows/useEntityWorkflow.d.ts.map +1 -1
  211. package/dist/workflows/useEntityWorkflow.js +1 -1
  212. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"useBaseCrudList.d.ts","sourceRoot":"","sources":["../src/useBaseCrudList.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EACV,MAAM,EACN,aAAa,EACb,cAAc,EAEd,YAAY,EACb,MAAM,gBAAgB,CAAC;AAQxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAQhD,+BAA+B;AAC/B,MAAM,WAAW,gBAAgB;IAC/B;;;;;OAKG;IACH,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACnC,yDAAyD;IACzD,IAAI,EAAE,MAAM,CAAC;IACb,2CAA2C;IAC3C,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,kCAAkC;AAClC,MAAM,WAAW,sBAAsB,CAAC,CAAC,CAAE,SAAQ,cAAc,CAAC,CAAC,CAAC;IAClE,wDAAwD;IACxD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,0CAA0C;IAC1C,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED,sCAAsC;AACtC,MAAM,WAAW,qBAAqB,CAAC,CAAC;IACtC,MAAM,EAAE,aAAa,CAAC;IACtB,IAAI,EAAE;QAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC5C,mDAAmD;IACnD,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,iDAAiD;IACjD,OAAO,EAAE,OAAO,CAAC;IACjB,6DAA6D;IAC7D,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,8BAA8B;IAC9B,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,wCAAwC;IACxC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,WAAW,EAAE,OAAO,CAAC;IACrB,4EAA4E;IAC5E,aAAa,EAAE,QAAQ,GAAG,QAAQ,CAAC;CACpC;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EACvE,kBAAkB,EAAE,MAAM,GAAG,MAAM,EACnC,UAAU,EAAE,cAAc,EAC1B,UAAU,EAAE,gBAAgB,GAAG,IAAI,EACnC,OAAO,GAAE,sBAAsB,CAAC,CAAC,CAAM,GACtC,qBAAqB,CAAC,CAAC,CAAC,CAwQ1B"}
1
+ {"version":3,"file":"useBaseCrudList.d.ts","sourceRoot":"","sources":["../src/useBaseCrudList.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EACV,MAAM,EACN,aAAa,EACb,cAAc,EAEd,YAAY,EACb,MAAM,gBAAgB,CAAC;AASxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAQhD,+BAA+B;AAC/B,MAAM,WAAW,gBAAgB;IAC/B;;;;;OAKG;IACH,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACnC,yDAAyD;IACzD,IAAI,EAAE,MAAM,CAAC;IACb,2CAA2C;IAC3C,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,kCAAkC;AAClC,MAAM,WAAW,sBAAsB,CAAC,CAAC,CAAE,SAAQ,cAAc,CAAC,CAAC,CAAC;IAClE,wDAAwD;IACxD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,0CAA0C;IAC1C,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED,sCAAsC;AACtC,MAAM,WAAW,qBAAqB,CAAC,CAAC;IACtC,MAAM,EAAE,aAAa,CAAC;IACtB,IAAI,EAAE;QAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC5C,mDAAmD;IACnD,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,iDAAiD;IACjD,OAAO,EAAE,OAAO,CAAC;IACjB,6DAA6D;IAC7D,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,8BAA8B;IAC9B,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,wCAAwC;IACxC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,WAAW,EAAE,OAAO,CAAC;IACrB,4EAA4E;IAC5E,aAAa,EAAE,QAAQ,GAAG,QAAQ,CAAC;CACpC;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EACvE,kBAAkB,EAAE,MAAM,GAAG,MAAM,EACnC,UAAU,EAAE,cAAc,EAC1B,UAAU,EAAE,gBAAgB,GAAG,IAAI,EACnC,OAAO,GAAE,sBAAsB,CAAC,CAAC,CAAM,GACtC,qBAAqB,CAAC,CAAC,CAAC,CAwQ1B"}
@@ -1 +1 @@
1
- import{useMemo as P,useCallback as X,useRef as Q,useState as Z,useEffect as $}from"react";import{useQuery as ee}from"@donotdev/core";import{useCrudStore as te}from"./CrudStore";import{useCrud as R,getCrudServiceInstance as se,EMPTY_OPTIMISTIC as re}from"./useCrud";import{mergeWithOptimistic as ie}from"./utils/mergeWithOptimistic";import{injectScopeFilter as ae,getCurrentScopeValue as oe}from"./utils/scopeUtils";import{CRUD_OPERATION as V}from"./types";const ne=1e3;function le(j,f,t,g={}){const K=g.enabled??!0,b=R("status"),c=b==="ready",k=R(j,g),{error:L,invalidate:_,_collection:p,_schemas:v,_cacheOptions:y,_scope:M}=k,T=te(e=>e.collections[p]?.optimistic||re),q=Q(new Map([[1,null]])),S=Q(0),[E,x]=Z(!1),o=t?.mode==="auto"?E?"server":"client":t?.mode??"client",B=oe(M),O=P(()=>{if(!c||!v)return null;const e=se();if(!e)return null;const h=f==="listCard"?v.listCard:v.list,n=ae(g.queryOptions,M);if(!t)return e.getListQueryOptions(p,n,h,y,f);if(o==="client"){const l=t.mode==="auto"&&!n?.limit?{...n,limit:ne}:n;return e.getListQueryOptions(p,l,h,y,f)}const u=q.current,m=S.current,{page:d,pageSize:s}=t;let i,r;if(u.has(d))i=u.get(d)??void 0,r=s;else if(d>m&&u.has(m)){const l=d-m;i=u.get(m)??void 0,r=l*s}else i=void 0,r=d*s;return e.getListQueryOptions(p,{...n,limit:r,startAfter:i},h,y,f)},[c,p,y,v?"hasSchema":"noSchema",f,o,t?.page,t?.pageSize,g.queryOptions,M?.provider,B]),{data:a,isLoading:N,isFetching:U,error:W,refetch:w}=ee({queryKey:O?.queryKey??["crud",p,"disabled"],queryFn:O?.queryFn??(()=>Promise.resolve({items:[]})),staleTime:O?.staleTime,enabled:K&&!!O});$(()=>{t?.mode==="auto"&&!E&&a&&a.total!=null&&a.total>a.items.length&&x(!0)},[a,t?.mode,E]);const A=P(()=>{if(!a||!c)return{items:[],total:void 0};let e=a.items;if(o==="server"&&t&&e.length>0){const s=q.current,i=S.current,{page:r,pageSize:l}=t,G=e.length;if(Math.ceil(G/l)>1||r>i){const D=s.has(r)?r:i+1;for(let C=D;C<=r;C++){const F=(C-D+1)*l-1;if(F<e.length){const J=e[F];s.set(C+1,J.id)}}}a.lastVisible&&s.set(r+1,a.lastVisible),S.current=Math.max(i,r);const z=s.has(r)?0:(r-i-1)*l,H=z+l;e=e.slice(z,H)}const h=ie(e,T),n=new Set(e.map(s=>s.id));let u=0,m=0;for(const[s,i]of Object.entries(T))i.operation===V.ADD&&!n.has(s)?u++:i.operation===V.DELETE&&n.has(s)&&m++;const d=(a.total??e.length)+u-m;return{items:h,total:d}},[a,T,c,o,t?.page,t?.pageSize]),I=X(async()=>{c&&(o==="server"&&(q.current=new Map([[1,null]]),S.current=0),await _(),await w())},[_,w,c,o]);if(!c){const e=async()=>{};return{status:b,data:{items:[],total:void 0},items:[],loading:!1,fetching:!1,error:L,mutate:e,refresh:e,isAvailable:!1,effectiveMode:o}}const Y=A?.items??[];return{status:b,data:A,items:Y,loading:N,fetching:U,error:W??L,mutate:I,refresh:I,isAvailable:!0,effectiveMode:o}}export{le as useBaseCrudList};
1
+ import{useMemo as P,useCallback as X,useRef as Q,useState as Z,useEffect as $}from"react";import{useQuery as ee}from"@donotdev/core";import{useCrudStore as te}from"./CrudStore";import{CRUD_OPERATION as R}from"./types";import{useCrud as V,getCrudServiceInstance as re,EMPTY_OPTIMISTIC as ie}from"./useCrud";import{mergeWithOptimistic as se}from"./utils/mergeWithOptimistic";import{injectScopeFilter as ae,getCurrentScopeValue as oe}from"./utils/scopeUtils";const ne=1e3;function le(x,f,t,g={}){const K=g.enabled??!0,b=V("status"),c=b==="ready",j=V(x,g),{error:L,invalidate:_,_collection:p,_schemas:v,_cacheOptions:y,_scope:M}=j,T=te(e=>e.collections[p]?.optimistic||ie),q=Q(new Map([[1,null]])),S=Q(0),[E,k]=Z(!1),o=t?.mode==="auto"?E?"server":"client":t?.mode??"client",B=oe(M),O=P(()=>{if(!c||!v)return null;const e=re();if(!e)return null;const h=f==="listCard"?v.listCard:v.list,n=ae(g.queryOptions,M);if(!t)return e.getListQueryOptions(p,n,h,y,f);if(o==="client"){const l=t.mode==="auto"&&!n?.limit?{...n,limit:ne}:n;return e.getListQueryOptions(p,l,h,y,f)}const u=q.current,m=S.current,{page:d,pageSize:r}=t;let s,i;if(u.has(d))s=u.get(d)??void 0,i=r;else if(d>m&&u.has(m)){const l=d-m;s=u.get(m)??void 0,i=l*r}else s=void 0,i=d*r;return e.getListQueryOptions(p,{...n,limit:i,startAfter:s},h,y,f)},[c,p,y,v?"hasSchema":"noSchema",f,o,t?.page,t?.pageSize,g.queryOptions,M?.provider,B]),{data:a,isLoading:N,isFetching:U,error:W,refetch:w}=ee({queryKey:O?.queryKey??["crud",p,"disabled"],queryFn:O?.queryFn??(()=>Promise.resolve({items:[]})),staleTime:O?.staleTime,enabled:K&&!!O});$(()=>{t?.mode==="auto"&&!E&&a&&a.total!=null&&a.total>a.items.length&&k(!0)},[a,t?.mode,E]);const A=P(()=>{if(!a||!c)return{items:[],total:void 0};let e=a.items;if(o==="server"&&t&&e.length>0){const r=q.current,s=S.current,{page:i,pageSize:l}=t,G=e.length;if(Math.ceil(G/l)>1||i>s){const D=r.has(i)?i:s+1;for(let C=D;C<=i;C++){const F=(C-D+1)*l-1;if(F<e.length){const J=e[F];r.set(C+1,J.id)}}}a.lastVisible&&r.set(i+1,a.lastVisible),S.current=Math.max(s,i);const z=r.has(i)?0:(i-s-1)*l,H=z+l;e=e.slice(z,H)}const h=se(e,T),n=new Set(e.map(r=>r.id));let u=0,m=0;for(const[r,s]of Object.entries(T))s.operation===R.ADD&&!n.has(r)?u++:s.operation===R.DELETE&&n.has(r)&&m++;const d=(a.total??e.length)+u-m;return{items:h,total:d}},[a,T,c,o,t?.page,t?.pageSize]),I=X(async()=>{c&&(o==="server"&&(q.current=new Map([[1,null]]),S.current=0),await _(),await w())},[_,w,c,o]);if(!c){const e=async()=>{};return{status:b,data:{items:[],total:void 0},items:[],loading:!1,fetching:!1,error:L,mutate:e,refresh:e,isAvailable:!1,effectiveMode:o}}const Y=A?.items??[];return{status:b,data:A,items:Y,loading:N,fetching:U,error:W??L,mutate:I,refresh:I,isAvailable:!0,effectiveMode:o}}export{le as useBaseCrudList};
@@ -1 +1 @@
1
- {"version":3,"file":"useCrud.d.ts","sourceRoot":"","sources":["../src/useCrud.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EACV,WAAW,EACX,MAAM,EACN,aAAa,EACb,gBAAgB,EAChB,OAAO,EACP,WAAW,EAEZ,MAAM,gBAAgB,CAAC;AAKxB,OAAO,KAAK,EACV,oBAAoB,EACpB,YAAY,EAEb,MAAM,SAAS,CAAC;AAKjB,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,CAAC;AACtD,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,CAAC;AAM5D;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,oBAAoB,GAAG,IAAI,CAEpE;AAMD,MAAM,WAAW,cAAc,CAAC,CAAC;IAC/B,MAAM,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IACxB,uEAAuE;IACvE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0DAA0D;IAC1D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8CAA8C;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC,CAAE,SAAQ,OAAO,CAAC,CAAC,CAAC;IAElD,gCAAgC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,kCAAkC;IAClC,QAAQ,EAAE,gBAAgB,GAAG,SAAS,CAAC;IACvC,8BAA8B;IAC9B,aAAa,EAAE,YAAY,CAAC;IAC5B,wDAAwD;IACxD,MAAM,EAAE,WAAW,GAAG,SAAS,CAAC;CACjC;AAMD;;;;;;;;;;;;GAYG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,QAAQ,GAAG,aAAa,CAAC;AACtD,wBAAgB,OAAO,CAAC,CAAC,GAAG,OAAO,EACjC,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GAC1B,aAAa,CAAC,CAAC,CAAC,CAAC;AACpB,wBAAgB,OAAO,CAAC,CAAC,GAAG,OAAO,EACjC,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GAC1B,aAAa,CAAC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"useCrud.d.ts","sourceRoot":"","sources":["../src/useCrud.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EACV,WAAW,EACX,MAAM,EACN,aAAa,EACb,gBAAgB,EAChB,OAAO,EACP,WAAW,EAEZ,MAAM,gBAAgB,CAAC;AAMxB,OAAO,KAAK,EACV,oBAAoB,EACpB,YAAY,EAEb,MAAM,SAAS,CAAC;AAKjB,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,CAAC;AACtD,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,CAAC;AAM5D;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,oBAAoB,GAAG,IAAI,CAEpE;AAMD,MAAM,WAAW,cAAc,CAAC,CAAC;IAC/B,MAAM,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IACxB,uEAAuE;IACvE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0DAA0D;IAC1D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8CAA8C;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC,CAAE,SAAQ,OAAO,CAAC,CAAC,CAAC;IAElD,gCAAgC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,kCAAkC;IAClC,QAAQ,EAAE,gBAAgB,GAAG,SAAS,CAAC;IACvC,8BAA8B;IAC9B,aAAa,EAAE,YAAY,CAAC;IAC5B,wDAAwD;IACxD,MAAM,EAAE,WAAW,GAAG,SAAS,CAAC;CACjC;AAMD;;;;;;;;;;;;GAYG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,QAAQ,GAAG,aAAa,CAAC;AACtD,wBAAgB,OAAO,CAAC,CAAC,GAAG,OAAO,EACjC,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GAC1B,aAAa,CAAC,CAAC,CAAC,CAAC;AACpB,wBAAgB,OAAO,CAAC,CAAC,GAAG,OAAO,EACjC,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GAC1B,aAAa,CAAC,CAAC,CAAC,CAAC"}
package/dist/useCrud.js CHANGED
@@ -1 +1 @@
1
- "use client";import{useEffect as K,useMemo as F,useCallback as n}from"react";import{useFeatureConsent as L,FRAMEWORK_FEATURES as W,FEATURE_STATUS as m,handleError as Z,isClient as B,createSchemas as H,DEGRADED_CRUD_API as J}from"@donotdev/core";import{getCrudService as Q}from"./CrudService";import{useCrudStore as u}from"./CrudStore";import{injectScope as M,injectScopeFilter as V}from"./utils/scopeUtils";const X={},$={};let _=null,E=null,b=!1;function r(){return _}function ee(l,d={}){const f=L(W.CRUD),U=u(e=>e.crudService),g=f&&!U,y=f?g?m.INITIALIZING:m.READY:m.DEGRADED,S=l==="status",p=!S&&typeof l=="object"?l:d.entity,a=S?"__status__":typeof l=="string"?l:l.collection,o=p?.scope,v=d.noCache??!1,T=d.staleTime,h=F(()=>({noCache:v,staleTime:T}),[v,T]),t=F(()=>{if(!S){if(d.schema){const e=d.schema;return{create:e,draft:e,update:e,get:e,list:e,listCard:e,delete:e}}if(p)return H(p)}},[S,d.schema,p?.name,a]),Y=u(e=>e.collections[a]?.loading||!1),A=u(e=>e.collections[a]?.error||null),O=null;K(()=>{if(!B()||!f||!t)return;const{crudService:e}=u.getState();e||_||E||(E=(async()=>{try{if(_||u.getState().crudService)return;const s=Q();_=s,s.setStore(u),await s.initialize(),b=!1,u.getState().setCrudService(s)}catch(s){b||(Z(s,{userMessage:"Failed to initialize CRUD service.",context:{collection:a},severity:"error"}),b=!0)}finally{E=null}})())},[f,a,t?"hasSchema":"noSchema"]);const D=g||Y,P=y===m.READY,j=n(async e=>{const s=r();return!s||!t?null:s.get(a,e,t.get,h)},[a,t?"hasSchema":"noSchema",h]),G=n(async(e,s,c)=>{const i=r();if(!i||!t)return;const C=M(s,o),k=C?.status==="draft"?t.draft:t.create;await i.set(a,e,C,k,c)},[a,t?"hasSchema":"noSchema",o?.provider]),q=n(async(e,s,c)=>{const i=r();i&&await i.update(a,e,s,t?.update,c)},[a,t]),x=n(async(e,s)=>{const c=r();c&&await c.delete(a,e,s)},[a]),z=n(async(e,s)=>{const c=r();if(!c||!t)return"";const i=M(e,o),C=i?.status==="draft"?t.draft:t.create;return c.add(a,i,C,s)},[a,t?"hasSchema":"noSchema",o?.provider]),N=n(async e=>{const s=r();if(!s||!t)return[];const c=V(e,o);return(await s.query(a,c,t.list,h)).items},[a,t?"hasSchema":"noSchema",h,o?.provider]),R=n((e,s)=>{const c=r();return!c||!t?()=>{}:c.subscribe(a,e,s,t.get)},[a,t?"hasSchema":"noSchema"]),I=n((e,s)=>{const c=r();return!c||!t?()=>{}:c.subscribeToCollection(a,e,s,t.list)},[a,t?"hasSchema":"noSchema"]),w=n(async()=>{const e=r();e&&await e.invalidateCollection(a)},[a]);return S?y:P?{status:m.READY,data:O,loading:D,error:A,get:j,set:G,update:q,delete:x,add:z,query:N,subscribe:R,subscribeToCollection:I,invalidate:w,isAvailable:!0,_collection:a,_schemas:t,_cacheOptions:h,_scope:o}:{...J,status:y,loading:D,error:A,subscribe:R,subscribeToCollection:I,invalidate:w,_collection:a,_schemas:t,_cacheOptions:h,_scope:o}}export{X as EMPTY_DATA,$ as EMPTY_OPTIMISTIC,r as getCrudServiceInstance,ee as useCrud};
1
+ "use client";import{useEffect as L,useMemo as F,useCallback as n}from"react";import{useFeatureConsent as W,FRAMEWORK_FEATURES as Z,FEATURE_STATUS as d,handleError as B,isClient as H,createSchemas as J,DEGRADED_CRUD_API as K}from"@donotdev/core";import{getCrudService as Q}from"./CrudService";import{useCrudStore as u}from"./CrudStore";import{injectScope as M,injectScopeFilter as V}from"./utils/scopeUtils";const X={},$={};let _=null,E=null,b=!1;function r(){return _}function ee(l,m={}){const f=W(Z.CRUD),U=u(e=>e.crudService),g=f&&!U,y=f?g?d.INITIALIZING:d.READY:d.DEGRADED,S=l==="status",p=!S&&typeof l=="object"?l:m.entity,a=S?"__status__":typeof l=="string"?l:l.collection,o=p?.scope,v=m.noCache??!1,T=m.staleTime,h=F(()=>({noCache:v,staleTime:T}),[v,T]),t=F(()=>{if(!S){if(m.schema){const e=m.schema;return{create:e,draft:e,update:e,get:e,list:e,listCard:e,delete:e}}if(p)return J(p)}},[S,m.schema,p?.name,a]),Y=u(e=>e.collections[a]?.loading||!1),A=u(e=>e.collections[a]?.error||null),O=null;L(()=>{if(!H()||!f||!t)return;const{crudService:e}=u.getState();e||_||E||(E=(async()=>{try{if(_||u.getState().crudService)return;const s=Q();_=s,s.setStore(u),await s.initialize(),b=!1,u.getState().setCrudService(s)}catch(s){b||(B(s,{userMessage:"Failed to initialize CRUD service.",context:{collection:a},severity:"error"}),b=!0)}finally{E=null}})())},[f,a,t?"hasSchema":"noSchema"]);const D=g||Y,P=y===d.READY,j=n(async e=>{const s=r();return!s||!t?null:s.get(a,e,t.get,h)},[a,t?"hasSchema":"noSchema",h]),G=n(async(e,s,c)=>{const i=r();if(!i||!t)return;const C=M(s,o),k=C?.status==="draft"?t.draft:t.create;await i.set(a,e,C,k,c)},[a,t?"hasSchema":"noSchema",o?.provider]),q=n(async(e,s,c)=>{const i=r();i&&await i.update(a,e,s,t?.update,c)},[a,t]),x=n(async(e,s)=>{const c=r();c&&await c.delete(a,e,s)},[a]),z=n(async(e,s)=>{const c=r();if(!c||!t)return"";const i=M(e,o),C=i?.status==="draft"?t.draft:t.create;return c.add(a,i,C,s)},[a,t?"hasSchema":"noSchema",o?.provider]),N=n(async e=>{const s=r();if(!s||!t)return[];const c=V(e,o);return(await s.query(a,c,t.list,h)).items},[a,t?"hasSchema":"noSchema",h,o?.provider]),R=n((e,s)=>{const c=r();return!c||!t?()=>{}:c.subscribe(a,e,s,t.get)},[a,t?"hasSchema":"noSchema"]),I=n((e,s)=>{const c=r();return!c||!t?()=>{}:c.subscribeToCollection(a,e,s,t.list)},[a,t?"hasSchema":"noSchema"]),w=n(async()=>{const e=r();e&&await e.invalidateCollection(a)},[a]);return S?y:P?{status:d.READY,data:O,loading:D,error:A,get:j,set:G,update:q,delete:x,add:z,query:N,subscribe:R,subscribeToCollection:I,invalidate:w,isAvailable:!0,_collection:a,_schemas:t,_cacheOptions:h,_scope:o}:{...K,status:y,loading:D,error:A,subscribe:R,subscribeToCollection:I,invalidate:w,_collection:a,_schemas:t,_cacheOptions:h,_scope:o}}export{X as EMPTY_DATA,$ as EMPTY_OPTIMISTIC,r as getCrudServiceInstance,ee as useCrud};
@@ -1 +1 @@
1
- {"version":3,"file":"useCrudCardList.d.ts","sourceRoot":"","sources":["../src/useCrudCardList.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAM1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAQhD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAErE,MAAM,WAAW,sBAAsB,CAAC,CAAC,CAAE,SAAQ,cAAc,CAAC,CAAC,CAAC;IAClE,wDAAwD;IACxD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,mDAAmD;IACnD,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,uDAAuD;IACvD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qFAAqF;IACrF,UAAU,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;CACtC;AAED,MAAM,WAAW,qBAAqB,CAAC,CAAC;IACtC,MAAM,EAAE,aAAa,CAAC;IACtB,IAAI,EAAE;QAAE,KAAK,EAAE,CAAC,EAAE,CAAA;KAAE,GAAG,IAAI,CAAC;IAC5B,4FAA4F;IAC5F,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,wEAAwE;IACxE,SAAS,EAAE,CAAC,EAAE,CAAC;IACf,gEAAgE;IAChE,aAAa,EAAE,MAAM,CAAC;IACtB,iDAAiD;IACjD,OAAO,EAAE,OAAO,CAAC;IACjB,6DAA6D;IAC7D,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,8BAA8B;IAC9B,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,wCAAwC;IACxC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EACvE,kBAAkB,EAAE,MAAM,GAAG,MAAM,EACnC,OAAO,GAAE,sBAAsB,CAAC,CAAC,CAAM,GACtC,qBAAqB,CAAC,CAAC,CAAC,CAuE1B"}
1
+ {"version":3,"file":"useCrudCardList.d.ts","sourceRoot":"","sources":["../src/useCrudCardList.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAa1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAErE,MAAM,WAAW,sBAAsB,CAAC,CAAC,CAAE,SAAQ,cAAc,CAAC,CAAC,CAAC;IAClE,wDAAwD;IACxD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,mDAAmD;IACnD,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,uDAAuD;IACvD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qFAAqF;IACrF,UAAU,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;CACtC;AAED,MAAM,WAAW,qBAAqB,CAAC,CAAC;IACtC,MAAM,EAAE,aAAa,CAAC;IACtB,IAAI,EAAE;QAAE,KAAK,EAAE,CAAC,EAAE,CAAA;KAAE,GAAG,IAAI,CAAC;IAC5B,4FAA4F;IAC5F,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,wEAAwE;IACxE,SAAS,EAAE,CAAC,EAAE,CAAC;IACf,gEAAgE;IAChE,aAAa,EAAE,MAAM,CAAC;IACtB,iDAAiD;IACjD,OAAO,EAAE,OAAO,CAAC;IACjB,6DAA6D;IAC7D,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,8BAA8B;IAC9B,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,wCAAwC;IACxC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EACvE,kBAAkB,EAAE,MAAM,GAAG,MAAM,EACnC,OAAO,GAAE,sBAAsB,CAAC,CAAC,CAAM,GACtC,qBAAqB,CAAC,CAAC,CAAC,CAuE1B"}
@@ -1 +1 @@
1
- import{useMemo as d}from"react";import{useBaseCrudList as p}from"./useBaseCrudList";import{useCrudFilters as f}from"./hooks/useCrudFilters";import{applyFilters as h,applySearch as y,applySort as g}from"./utils/clientListProcessing";function C(l,t={}){const o={enabled:t.enabled,queryOptions:t.queryOptions,schema:t.schema,entity:t.entity,staleTime:t.staleTime,noCache:t.noCache},e=p(l,"listCard",null,o),s=typeof l=="string"?null:l,n=s?.collection??l,{filters:a}=f({collection:n}),i=t.clientSort===null?null:t.clientSort??s?.defaultSort??null,{processed:u,filteredTotal:c}=d(()=>{let r=e.items;s&&Object.keys(a).length>0&&(r=h(r,a,s)),s&&t.searchQuery&&(r=y(r,t.searchQuery,s));const m=r.length;return i&&(r=g(r,i)),{processed:r,filteredTotal:m}},[e.items,a,t.searchQuery,i,s]);return{status:e.status,data:e.data?{items:e.data.items}:null,items:e.items,processed:u,filteredTotal:c,loading:e.loading,fetching:e.fetching,error:e.error,mutate:e.mutate,refresh:e.refresh,isAvailable:e.isAvailable}}export{C as useCrudCardList};
1
+ import{useMemo as d}from"react";import{useCrudFilters as p}from"./hooks/useCrudFilters";import{useBaseCrudList as f}from"./useBaseCrudList";import{applyFilters as h,applySearch as y,applySort as g}from"./utils/clientListProcessing";function C(a,t={}){const o={enabled:t.enabled,queryOptions:t.queryOptions,schema:t.schema,entity:t.entity,staleTime:t.staleTime,noCache:t.noCache},e=f(a,"listCard",null,o),s=typeof a=="string"?null:a,n=s?.collection??a,{filters:l}=p({collection:n}),i=t.clientSort===null?null:t.clientSort??s?.defaultSort??null,{processed:u,filteredTotal:c}=d(()=>{let r=e.items;s&&Object.keys(l).length>0&&(r=h(r,l,s)),s&&t.searchQuery&&(r=y(r,t.searchQuery,s));const m=r.length;return i&&(r=g(r,i)),{processed:r,filteredTotal:m}},[e.items,l,t.searchQuery,i,s]);return{status:e.status,data:e.data?{items:e.data.items}:null,items:e.items,processed:u,filteredTotal:c,loading:e.loading,fetching:e.fetching,error:e.error,mutate:e.mutate,refresh:e.refresh,isAvailable:e.isAvailable}}export{C as useCrudCardList};
@@ -1 +1 @@
1
- {"version":3,"file":"useCrudList.d.ts","sourceRoot":"","sources":["../src/useCrudList.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAO5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAQhD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAErE,MAAM,WAAW,kBAAkB,CAAC,CAAC,CAAE,SAAQ,cAAc,CAAC,CAAC,CAAC;IAC9D,wDAAwD;IACxD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC1C,qEAAqE;IACrE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kFAAkF;IAClF,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,uDAAuD;IACvD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qFAAqF;IACrF,UAAU,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;CACtC;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAClC,MAAM,EAAE,aAAa,CAAC;IACtB,IAAI,EAAE;QAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC5C,4FAA4F;IAC5F,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,wEAAwE;IACxE,SAAS,EAAE,CAAC,EAAE,CAAC;IACf,gEAAgE;IAChE,aAAa,EAAE,MAAM,CAAC;IACtB,iDAAiD;IACjD,OAAO,EAAE,OAAO,CAAC;IACjB,6DAA6D;IAC7D,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,8BAA8B;IAC9B,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,wCAAwC;IACxC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,WAAW,EAAE,OAAO,CAAC;IACrB,6EAA6E;IAC7E,aAAa,EAAE,QAAQ,GAAG,QAAQ,CAAC;CACpC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EACnE,kBAAkB,EAAE,MAAM,GAAG,MAAM,EACnC,OAAO,GAAE,kBAAkB,CAAC,CAAC,CAAM,GAClC,iBAAiB,CAAC,CAAC,CAAC,CAwEtB"}
1
+ {"version":3,"file":"useCrudList.d.ts","sourceRoot":"","sources":["../src/useCrudList.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAcnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAErE,MAAM,WAAW,kBAAkB,CAAC,CAAC,CAAE,SAAQ,cAAc,CAAC,CAAC,CAAC;IAC9D,wDAAwD;IACxD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC1C,qEAAqE;IACrE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kFAAkF;IAClF,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,uDAAuD;IACvD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qFAAqF;IACrF,UAAU,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;CACtC;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAClC,MAAM,EAAE,aAAa,CAAC;IACtB,IAAI,EAAE;QAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC5C,4FAA4F;IAC5F,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,wEAAwE;IACxE,SAAS,EAAE,CAAC,EAAE,CAAC;IACf,gEAAgE;IAChE,aAAa,EAAE,MAAM,CAAC;IACtB,iDAAiD;IACjD,OAAO,EAAE,OAAO,CAAC;IACjB,6DAA6D;IAC7D,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,8BAA8B;IAC9B,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,wCAAwC;IACxC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,WAAW,EAAE,OAAO,CAAC;IACrB,6EAA6E;IAC7E,aAAa,EAAE,QAAQ,GAAG,QAAQ,CAAC;CACpC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EACnE,kBAAkB,EAAE,MAAM,GAAG,MAAM,EACnC,OAAO,GAAE,kBAAkB,CAAC,CAAC,CAAM,GAClC,iBAAiB,CAAC,CAAC,CAAC,CAwEtB"}
@@ -1 +1 @@
1
- import{useMemo as h}from"react";import{useBaseCrudList as g}from"./useBaseCrudList";import{useCrudFilters as S}from"./hooks/useCrudFilters";import{applyFilters as C,applySearch as T,applySort as b}from"./utils/clientListProcessing";function Q(l,e={}){const i=e.pagination??"auto",n=e.page??1,p=e.pageSize??10,c={mode:i,page:n,pageSize:p},u={enabled:e.enabled,queryOptions:e.queryOptions,schema:e.schema,entity:e.entity,staleTime:e.staleTime,noCache:e.noCache},o=g(l,"list",c,u),r=typeof l=="string"?null:l,m=r?.collection??l,{filters:s}=S({collection:m}),a=e.clientSort===null?null:e.clientSort??r?.defaultSort??null,{processed:d,filteredTotal:y}=h(()=>{let t=o.items;r&&Object.keys(s).length>0&&(t=C(t,s,r)),r&&e.searchQuery&&(t=T(t,e.searchQuery,r));const f=t.length;return a&&(t=b(t,a)),{processed:t,filteredTotal:f}},[o.items,s,e.searchQuery,a,r]);return{...o,processed:d,filteredTotal:y}}export{Q as useCrudList};
1
+ import{useMemo as h}from"react";import{useCrudFilters as g}from"./hooks/useCrudFilters";import{useBaseCrudList as S}from"./useBaseCrudList";import{applyFilters as T,applySearch as C,applySort as b}from"./utils/clientListProcessing";function Q(s,e={}){const a=e.pagination??"auto",n=e.page??1,p=e.pageSize??10,c={mode:a,page:n,pageSize:p},u={enabled:e.enabled,queryOptions:e.queryOptions,schema:e.schema,entity:e.entity,staleTime:e.staleTime,noCache:e.noCache},l=S(s,"list",c,u),r=typeof s=="string"?null:s,m=r?.collection??s,{filters:o}=g({collection:m}),i=e.clientSort===null?null:e.clientSort??r?.defaultSort??null,{processed:d,filteredTotal:y}=h(()=>{let t=l.items;r&&Object.keys(o).length>0&&(t=T(t,o,r)),r&&e.searchQuery&&(t=C(t,e.searchQuery,r));const f=t.length;return i&&(t=b(t,i)),{processed:t,filteredTotal:f}},[l.items,o,e.searchQuery,i,r]);return{...l,processed:d,filteredTotal:y}}export{Q as useCrudList};
@@ -1 +1 @@
1
- {"version":3,"file":"clientListProcessing.d.ts","sourceRoot":"","sources":["../../src/utils/clientListProcessing.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAI7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C;;;;;;;GAOG;AACH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACxD,KAAK,EAAE,CAAC,EAAE,EACV,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,MAAM,GACb,CAAC,EAAE,CAWL;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAyB5D;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACvD,KAAK,EAAE,CAAC,EAAE,EACV,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,CAAC,EAAE,CA+BL;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACrD,KAAK,EAAE,CAAC,EAAE,EACV,IAAI,EAAE,gBAAgB,GACrB,CAAC,EAAE,CAoCL"}
1
+ {"version":3,"file":"clientListProcessing.d.ts","sourceRoot":"","sources":["../../src/utils/clientListProcessing.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAK7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C;;;;;;;GAOG;AACH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACxD,KAAK,EAAE,CAAC,EAAE,EACV,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,MAAM,GACb,CAAC,EAAE,CAWL;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAyB5D;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACvD,KAAK,EAAE,CAAC,EAAE,EACV,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,CAAC,EAAE,CA+BL;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACrD,KAAK,EAAE,CAAC,EAAE,EACV,IAAI,EAAE,gBAAgB,GACrB,CAAC,EAAE,CAoCL"}
@@ -1 +1 @@
1
- import{getCrudService as i}from"../CrudService";async function p(a,t){const e=i(),s=[],o=t.range?.start??1,c=t.range?.end??28;for(let r=o;r<=c;r++){const m=String(r),n=await e.get(t.path(a),m,t.schema);n&&s.push(n)}return s}async function d(a,t,e){const s=i();for(const o of e){const c=t.idOf(o);await s.set(t.path(a),c,o,t.schema)}}async function h(a,t,e){const s=i();if(t.idFrom){const o=t.idFrom(e);return s.set(t.path(a),o,e,t.schema)}return s.add(t.path(a),e,t.schema)}export{h as appendToCollection,p as loadDeterministicRange,d as upsertDeterministic};
1
+ import{getCrudService as c}from"../CrudService";async function d(r,n){const a=c(),e=[],t=n.range?.start??1,s=n.range?.end??28;for(let o=t;o<=s;o++){const m=String(o),i=await a.get(n.path(r),m,n.schema);i&&e.push(i)}return e}async function h(r,n,a){const e=c();for(const t of a){const s=n.idOf(t);await e.set(n.path(r),s,t,n.schema)}}async function p(r,n,a){const e=c();if(n.idFrom){const t=n.idFrom(a);return e.set(n.path(r),t,a,n.schema)}return e.add(n.path(r),a,n.schema)}export{p as appendToCollection,d as loadDeterministicRange,h as upsertDeterministic};
@@ -1 +1 @@
1
- {"version":3,"file":"fileStorage.d.ts","sourceRoot":"","sources":["../../src/utils/fileStorage.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,iGAAiG;AACjG,KAAK,sBAAsB,GAAG,CAAC,QAAQ,EAAE;IACvC,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB,KAAK,IAAI,CAAC;AAEX,YAAY,EAAE,SAAS,EAAE,CAAC;AAE1B,MAAM,WAAW,cAAc;IAC7B,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wDAAwD;IACxD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wBAAwB;IACxB,UAAU,CAAC,EAAE,sBAAsB,CAAC;CACrC;AAYD;;;GAGG;AACH,wBAAsB,UAAU,CAC9B,IAAI,EAAE,IAAI,EACV,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,SAAS,CAAC,CAmDpB;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,KAAK,EAAE,IAAI,EAAE,EACb,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,SAAS,EAAE,CAAC,CA4BtB;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBhE;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGzD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CA4CxE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMpD;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,UAY/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,UAY/B,CAAC;AAEF;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CAEhD"}
1
+ {"version":3,"file":"fileStorage.d.ts","sourceRoot":"","sources":["../../src/utils/fileStorage.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,iGAAiG;AACjG,KAAK,sBAAsB,GAAG,CAAC,QAAQ,EAAE;IACvC,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB,KAAK,IAAI,CAAC;AAEX,YAAY,EAAE,SAAS,EAAE,CAAC;AAE1B,MAAM,WAAW,cAAc;IAC7B,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wDAAwD;IACxD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wBAAwB;IACxB,UAAU,CAAC,EAAE,sBAAsB,CAAC;CACrC;AAYD;;;GAGG;AACH,wBAAsB,UAAU,CAC9B,IAAI,EAAE,IAAI,EACV,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,SAAS,CAAC,CAmDpB;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,KAAK,EAAE,IAAI,EAAE,EACb,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,SAAS,EAAE,CAAC,CA4BtB;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBhE;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGzD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CA4CxE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMpD;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,UAY/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,UAY/B,CAAC;AAEF;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CAEhD"}
@@ -1 +1 @@
1
- async function f(i,a={}){const{maxWidth:n=1920,maxHeight:h=1440,thumbWidth:s=300,thumbHeight:t=225,aspectRatio:e=4/3,quality:d=.85,crop:o}=a;return new Promise((w,l)=>{const r=new Image,c=new FileReader;c.onload=g=>{r.src=g.target?.result},c.onerror=()=>l(new Error("Failed to read file")),r.onload=async()=>{try{const{width:g,height:m}=v(o?o.width:r.width,o?o.height:r.height,n,h,e),F=await u(r,g,m,e,d,o),b=await u(r,s,t,e,.65,o);w({fullBlob:F,thumbBlob:b,width:g,height:m})}catch(g){l(g)}},r.onerror=()=>l(new Error("Failed to load image")),c.readAsDataURL(i)})}function v(i,a,n,h,s){let t=i,e=a;t>n&&(e=n/t*e,t=n),e>h&&(t=h/e*t,e=h);const d=t/e;return Math.abs(d-s)>.01&&(d>s?e=t/s:t=e*s),{width:Math.round(t),height:Math.round(e)}}async function u(i,a,n,h,s,t){const e=document.createElement("canvas"),d=e.getContext("2d");if(!d)throw new Error("Failed to get canvas context");e.width=a,e.height=n,d.fillStyle="#FFFFFF",d.fillRect(0,0,a,n);let o,w,l,r;if(t)o=t.x,w=t.y,l=t.width,r=t.height;else{const c=i.width/i.height;l=i.width,r=i.height,o=0,w=0,c>h?(l=i.height*h,o=(i.width-l)/2):c<h&&(r=i.width/h,w=(i.height-r)/2)}return d.drawImage(i,o,w,l,r,0,0,a,n),new Promise((c,g)=>{e.toBlob(m=>{m?c(m):g(new Error("Failed to convert canvas to blob"))},"image/webp",s)})}function x(i,a){return i.type.startsWith("image/")?a&&i.size>a?{valid:!1,error:`File size exceeds ${(a/1048576).toFixed(1)}MB limit`}:{valid:!0}:{valid:!1,error:"File must be an image"}}export{f as processImage,x as validateImageFile};
1
+ async function f(a,o={}){const{maxWidth:h=1920,maxHeight:n=1440,thumbWidth:l=300,thumbHeight:t=225,aspectRatio:e=4/3,quality:d=.85,crop:r}=o;return new Promise((w,c)=>{const i=new Image,s=new FileReader;s.onload=g=>{i.src=g.target?.result},s.onerror=()=>c(new Error("Failed to read file")),i.onload=async()=>{try{const{width:g,height:m}=v(r?r.width:i.width,r?r.height:i.height,h,n,e),F=await u(i,g,m,e,d,r),b=await u(i,l,t,e,.65,r);w({fullBlob:F,thumbBlob:b,width:g,height:m})}catch(g){c(g)}},i.onerror=()=>c(new Error("Failed to load image")),s.readAsDataURL(a)})}function v(a,o,h,n,l){let t=a,e=o;t>h&&(e=h/t*e,t=h),e>n&&(t=n/e*t,e=n);const d=t/e;return Math.abs(d-l)>.01&&(d>l?e=t/l:t=e*l),{width:Math.round(t),height:Math.round(e)}}async function u(a,o,h,n,l,t){const e=document.createElement("canvas"),d=e.getContext("2d");if(!d)throw new Error("Failed to get canvas context");e.width=o,e.height=h,d.fillStyle="#FFFFFF",d.fillRect(0,0,o,h);let r,w,c,i;if(t)r=t.x,w=t.y,c=t.width,i=t.height;else{const s=a.width/a.height;c=a.width,i=a.height,r=0,w=0,s>n?(c=a.height*n,r=(a.width-c)/2):s<n&&(i=a.width/n,w=(a.height-i)/2)}return d.drawImage(a,r,w,c,i,0,0,o,h),new Promise((s,g)=>{e.toBlob(m=>{m?s(m):g(new Error("Failed to convert canvas to blob"))},"image/webp",l)})}function x(a,o){return a.type.startsWith("image/")?o&&a.size>o?{valid:!1,error:`File size exceeds ${(o/1048576).toFixed(1)}MB limit`}:{valid:!0}:{valid:!1,error:"File must be an image"}}export{f as processImage,x as validateImageFile};
@@ -1 +1 @@
1
- {"version":3,"file":"imageStorage.d.ts","sourceRoot":"","sources":["../../src/utils/imageStorage.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAE9C,iGAAiG;AACjG,KAAK,sBAAsB,GAAG,CAAC,QAAQ,EAAE;IACvC,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB,KAAK,IAAI,CAAC;AAEX,YAAY,EAAE,OAAO,EAAE,CAAC;AAExB,MAAM,WAAW,cAAc;IAC7B,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,+CAA+C;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wDAAwD;IACxD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wBAAwB;IACxB,UAAU,CAAC,EAAE,sBAAsB,CAAC;CACrC;AAYD;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,IAAI,EACd,SAAS,EAAE,IAAI,EACf,gBAAgB,EAAE,MAAM,EACxB,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,OAAO,CAAC,CA0HlB;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBjE"}
1
+ {"version":3,"file":"imageStorage.d.ts","sourceRoot":"","sources":["../../src/utils/imageStorage.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAE9C,iGAAiG;AACjG,KAAK,sBAAsB,GAAG,CAAC,QAAQ,EAAE;IACvC,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB,KAAK,IAAI,CAAC;AAEX,YAAY,EAAE,OAAO,EAAE,CAAC;AAExB,MAAM,WAAW,cAAc;IAC7B,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,+CAA+C;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wDAAwD;IACxD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wBAAwB;IACxB,UAAU,CAAC,EAAE,sBAAsB,CAAC;CACrC;AAYD;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,IAAI,EACd,SAAS,EAAE,IAAI,EACf,gBAAgB,EAAE,MAAM,EACxB,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,OAAO,CAAC,CA0HlB;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBjE"}
@@ -1 +1 @@
1
- import{handleError as _,hasProvider as g,getProvider as w}from"@donotdev/core";function v(e){return e.replace(/[^a-zA-Z0-9.-]/g,"_").replace(/_{2,}/g,"_").toLowerCase()}async function B(e,t,o,d={}){const{storagePath:i="uploads/images",filename:f,onProgress:a}=d,y=Date.now(),r=(f||`${y}_${v(o)}`).replace(/\.[^/.]+$/,""),b=`${i}/${r}_full.webp`,h=`${i}/${r}_thumb.webp`;try{const c=new File([e],`${r}_full.webp`,{type:"image/webp"}),s=new File([t],`${r}_thumb.webp`,{type:"image/webp"});let n,u;if(g("storage")){const l=w("storage");n=(await l.upload(c,{storagePath:i,filename:`${r}_full.webp`,onProgress:a?m=>a({bytesTransferred:0,totalBytes:0,progress:m*.5}):void 0})).url,u=(await l.upload(s,{storagePath:i,filename:`${r}_thumb.webp`,onProgress:a?m=>a({bytesTransferred:0,totalBytes:0,progress:50+m*.5}):void 0})).url}else{const{uploadFileResumable:l}=await import("@donotdev/firebase"),m=a?p=>{a({bytesTransferred:p.bytesTransferred,totalBytes:p.totalBytes*2,progress:p.progress*.5})}:void 0,{promise:U}=l(c,{basePath:i,filename:`${r}_full.webp`,onProgress:m,metadata:{contentType:"image/webp"}});n=(await U).url;const P=a?p=>{a({bytesTransferred:p.bytesTransferred+e.size,totalBytes:e.size+t.size,progress:50+p.progress*.5})}:void 0,{promise:$}=l(s,{basePath:i,filename:`${r}_thumb.webp`,onProgress:P,metadata:{contentType:"image/webp"}});u=(await $).url}return{fullUrl:n,thumbUrl:u}}catch(c){try{if(g("storage")){const s=w("storage");await s.delete(b).catch(()=>{}),await s.delete(h).catch(()=>{})}else{const{getFileUrl:s,deleteFileByUrl:n}=await import("@donotdev/firebase"),u=await s(b).catch(()=>null),l=await s(h).catch(()=>null);u&&await n(u).catch(()=>{}),l&&await n(l).catch(()=>{})}}catch{}throw c}}async function F(e){try{if(g("storage")){const t=w("storage"),o=[t.delete(e.fullUrl)];e.thumbUrl&&o.push(t.delete(e.thumbUrl)),await Promise.all(o)}else{const{deleteFileByUrl:t}=await import("@donotdev/firebase"),o=[t(e.fullUrl)];e.thumbUrl&&o.push(t(e.thumbUrl)),await Promise.all(o)}}catch(t){throw _(t,{userMessage:"Failed to delete image",severity:"error",context:{fullUrl:e.fullUrl,thumbUrl:e.thumbUrl}}),t}}export{F as deleteImage,B as uploadImage};
1
+ import{handleError as _,hasProvider as w,getProvider as m}from"@donotdev/core";function v(e){return e.replace(/[^a-zA-Z0-9.-]/g,"_").replace(/_{2,}/g,"_").toLowerCase()}async function B(e,t,o,d={}){const{storagePath:i="uploads/images",filename:f,onProgress:a}=d,y=Date.now(),r=(f||`${y}_${v(o)}`).replace(/\.[^/.]+$/,""),b=`${i}/${r}_full.webp`,h=`${i}/${r}_thumb.webp`;try{const g=new File([e],`${r}_full.webp`,{type:"image/webp"}),s=new File([t],`${r}_thumb.webp`,{type:"image/webp"});let n,u;if(w("storage")){const l=m("storage");n=(await l.upload(g,{storagePath:i,filename:`${r}_full.webp`,onProgress:a?p=>a({bytesTransferred:0,totalBytes:0,progress:p*.5}):void 0})).url,u=(await l.upload(s,{storagePath:i,filename:`${r}_thumb.webp`,onProgress:a?p=>a({bytesTransferred:0,totalBytes:0,progress:50+p*.5}):void 0})).url}else{const{uploadFileResumable:l}=await import("@donotdev/firebase"),p=a?c=>{a({bytesTransferred:c.bytesTransferred,totalBytes:c.totalBytes*2,progress:c.progress*.5})}:void 0,{promise:U}=l(g,{basePath:i,filename:`${r}_full.webp`,onProgress:p,metadata:{contentType:"image/webp"}});n=(await U).url;const P=a?c=>{a({bytesTransferred:c.bytesTransferred+e.size,totalBytes:e.size+t.size,progress:50+c.progress*.5})}:void 0,{promise:$}=l(s,{basePath:i,filename:`${r}_thumb.webp`,onProgress:P,metadata:{contentType:"image/webp"}});u=(await $).url}return{fullUrl:n,thumbUrl:u}}catch(g){try{if(w("storage")){const s=m("storage");await s.delete(b).catch(()=>{}),await s.delete(h).catch(()=>{})}else{const{getFileUrl:s,deleteFileByUrl:n}=await import("@donotdev/firebase"),u=await s(b).catch(()=>null),l=await s(h).catch(()=>null);u&&await n(u).catch(()=>{}),l&&await n(l).catch(()=>{})}}catch{}throw g}}async function F(e){try{if(w("storage")){const t=m("storage"),o=[t.delete(e.fullUrl)];e.thumbUrl&&o.push(t.delete(e.thumbUrl)),await Promise.all(o)}else{const{deleteFileByUrl:t}=await import("@donotdev/firebase"),o=[t(e.fullUrl)];e.thumbUrl&&o.push(t(e.thumbUrl)),await Promise.all(o)}}catch(t){throw _(t,{userMessage:"Failed to delete image",severity:"error",context:{fullUrl:e.fullUrl,thumbUrl:e.thumbUrl}}),t}}export{F as deleteImage,B as uploadImage};
@@ -1 +1 @@
1
- import{getFilterType as N}from"../fieldTypeRegistry";function T(t,n,i){if(!n)return!0;if(Array.isArray(n)){if(n.length===0)return!0;if(!(N(i)==="range"&&(i==="date"||i==="datetime-local"||i==="timestamp")))return n.some(e=>{if(typeof e=="object"&&"date"in e){const g=e.date;return(t instanceof Date?t.toISOString().split("T")[0]:new Date(t).toISOString().split("T")[0])===g}return String(t)===String(e)});const a=t instanceof Date?t.toISOString().split("T")[0]:new Date(t).toISOString().split("T")[0];return n.some(e=>typeof e=="string"?a===e:typeof e=="object"&&"date"in e?a===e.date:!1)}if(typeof n=="object"&&"date"in n&&!("min"in n)&&!Array.isArray(n)){if(!(N(i)==="range"&&(i==="date"||i==="datetime-local"||i==="timestamp")))return!1;const a=n.date;if(!a)return!0;if(t==null)return!1;const e=t instanceof Date?t.toISOString().split("T")[0]:new Date(t).toISOString().split("T")[0];if((i==="datetime-local"||i==="timestamp")&&n.time){const g=t instanceof Date?t.toISOString().slice(11,16):new Date(t).toISOString().slice(11,16);return e===a&&g===n.time}return e===a}if(typeof n=="object"&&"min"in n){const a=N(i);if(!a)return!0;const e=a==="range"&&(i==="date"||i==="datetime-local"||i==="timestamp"),g=a==="range"&&!e,S=i==="price",f=S&&t!=null&&typeof t=="object"?Number(t.amount):g&&t!=null?typeof t=="number"?t:Number(t):NaN;if(g||S){if(typeof n.min=="object"&&n.min!==null&&"date"in n.min)return!1;const r=n,l=typeof r.min=="string"&&r.min!=="",c=typeof r.max=="string"&&r.max!=="";return l&&!c?t==null||isNaN(f)?!1:f>=Number(r.min):!l&&c?t==null?!0:isNaN(f)?!1:f<=Number(r.max):l&&c?t==null||isNaN(f)?!1:f>=Number(r.min)&&f<=Number(r.max):!0}if(e){if(typeof n.min=="object"&&n.min!==null&&"date"in n.min&&!("min"in n.min)){const o=n,u=o.min,s=o.max,D=u?.date&&u.date!=="",w=s?.date&&s.date!=="";if(D&&!w){if(t==null)return!1;const m=t instanceof Date?t:new Date(t);if(isNaN(m.getTime()))return!1;const d=new Date(u.date+(u.time?`T${u.time}:00`:"T00:00:00"));return m>=d}if(!D&&w&&s){if(t==null)return!0;const m=t instanceof Date?t:new Date(t);if(isNaN(m.getTime()))return!1;const d=new Date(s.date+(s.time?`T${s.time}:00`:"T23:59:59"));return m<=d}if(D&&w&&s){if(t==null)return!1;const m=t instanceof Date?t:new Date(t);if(isNaN(m.getTime()))return!1;const d=new Date(u.date+(u.time?`T${u.time}:00`:"T00:00:00")),y=new Date(s.date+(s.time?`T${s.time}:00`:"T23:59:59"));return m>=d&&m<=y}return!0}const r=n,l=typeof r.min=="string"&&r.min!=="",c=typeof r.max=="string"&&r.max!=="";if(l&&!c){if(t==null)return!1;const o=t instanceof Date?t:new Date(t);return isNaN(o.getTime())?!1:o>=new Date(r.min)}if(!l&&c){if(t==null)return!0;const o=t instanceof Date?t:new Date(t);return isNaN(o.getTime())?!1:o<=new Date(r.max)}if(l&&c){if(t==null)return!1;const o=t instanceof Date?t:new Date(t);return isNaN(o.getTime())?!1:o>=new Date(r.min)&&o<=new Date(r.max)}return!0}}if(typeof n=="string"&&N(i)==="rating"){if(t==null)return!1;const a=Number(n),e=typeof t=="number"?t:Number(t);return isNaN(a)||isNaN(e)?!0:e>=a}const p=N(i);if(!p)return!0;if(p==="address")return t==null?!1:typeof t=="object"&&"formatted_address"in t?String(t.formatted_address).toLowerCase().includes(String(n).toLowerCase()):!1;if(p==="multiselect"){if(!Array.isArray(t)||t.length===0)return!1;const a=String(n).toLowerCase();return t.some(e=>String(e).toLowerCase().includes(a))}return t==null?!1:String(t).toLowerCase().includes(String(n).toLowerCase())}export{T as matchesFilter};
1
+ import{getFilterType as N}from"../fieldTypeRegistry";function T(e,t,r){if(!t)return!0;if(Array.isArray(t)){if(t.length===0)return!0;if(!(N(r)==="range"&&(r==="date"||r==="datetime-local"||r==="timestamp")))return t.some(i=>{if(typeof i=="object"&&"date"in i){const g=i.date;return(e instanceof Date?e.toISOString().split("T")[0]:new Date(e).toISOString().split("T")[0])===g}return String(e)===String(i)});const a=e instanceof Date?e.toISOString().split("T")[0]:new Date(e).toISOString().split("T")[0];return t.some(i=>typeof i=="string"?a===i:typeof i=="object"&&"date"in i?a===i.date:!1)}if(typeof t=="object"&&"date"in t&&!("min"in t)&&!Array.isArray(t)){if(!(N(r)==="range"&&(r==="date"||r==="datetime-local"||r==="timestamp")))return!1;const a=t.date;if(!a)return!0;if(e==null)return!1;const i=e instanceof Date?e.toISOString().split("T")[0]:new Date(e).toISOString().split("T")[0];if((r==="datetime-local"||r==="timestamp")&&t.time){const g=e instanceof Date?e.toISOString().slice(11,16):new Date(e).toISOString().slice(11,16);return i===a&&g===t.time}return i===a}if(typeof t=="object"&&"min"in t){const a=N(r);if(!a)return!0;const i=a==="range"&&(r==="date"||r==="datetime-local"||r==="timestamp"),g=a==="range"&&!i,w=r==="price",f=w&&e!=null&&typeof e=="object"?Number(e.amount):g&&e!=null?typeof e=="number"?e:Number(e):NaN;if(g||w){if(typeof t.min=="object"&&t.min!==null&&"date"in t.min)return!1;const n=t,l=typeof n.min=="string"&&n.min!=="",c=typeof n.max=="string"&&n.max!=="";return l&&!c?e==null||isNaN(f)?!1:f>=Number(n.min):!l&&c?e==null?!0:isNaN(f)?!1:f<=Number(n.max):l&&c?e==null||isNaN(f)?!1:f>=Number(n.min)&&f<=Number(n.max):!0}if(i){if(typeof t.min=="object"&&t.min!==null&&"date"in t.min&&!("min"in t.min)){const o=t,u=o.min,s=o.max,D=u?.date&&u.date!=="",S=s?.date&&s.date!=="";if(D&&!S){if(e==null)return!1;const m=e instanceof Date?e:new Date(e);if(isNaN(m.getTime()))return!1;const d=new Date(u.date+(u.time?`T${u.time}:00`:"T00:00:00"));return m>=d}if(!D&&S&&s){if(e==null)return!0;const m=e instanceof Date?e:new Date(e);if(isNaN(m.getTime()))return!1;const d=new Date(s.date+(s.time?`T${s.time}:00`:"T23:59:59"));return m<=d}if(D&&S&&s){if(e==null)return!1;const m=e instanceof Date?e:new Date(e);if(isNaN(m.getTime()))return!1;const d=new Date(u.date+(u.time?`T${u.time}:00`:"T00:00:00")),y=new Date(s.date+(s.time?`T${s.time}:00`:"T23:59:59"));return m>=d&&m<=y}return!0}const n=t,l=typeof n.min=="string"&&n.min!=="",c=typeof n.max=="string"&&n.max!=="";if(l&&!c){if(e==null)return!1;const o=e instanceof Date?e:new Date(e);return isNaN(o.getTime())?!1:o>=new Date(n.min)}if(!l&&c){if(e==null)return!0;const o=e instanceof Date?e:new Date(e);return isNaN(o.getTime())?!1:o<=new Date(n.max)}if(l&&c){if(e==null)return!1;const o=e instanceof Date?e:new Date(e);return isNaN(o.getTime())?!1:o>=new Date(n.min)&&o<=new Date(n.max)}return!0}}if(typeof t=="string"&&N(r)==="rating"){if(e==null)return!1;const a=Number(t),i=typeof e=="number"?e:Number(e);return isNaN(a)||isNaN(i)?!0:i>=a}const p=N(r);if(!p)return!0;if(p==="address")return e==null?!1:typeof e=="object"&&"formatted_address"in e?String(e.formatted_address).toLowerCase().includes(String(t).toLowerCase()):!1;if(p==="multiselect"){if(!Array.isArray(e)||e.length===0)return!1;const a=String(t).toLowerCase();return e.some(i=>String(i).toLowerCase().includes(a))}return e==null?!1:String(e).toLowerCase().includes(String(t).toLowerCase())}export{T as matchesFilter};
@@ -1,11 +1,3 @@
1
- /**
2
- * @fileoverview Optimistic merge utility
3
- * @description Merges TanStack Query results with optimistic operations from store
4
- *
5
- * @version 0.1.0
6
- * @since 0.0.1
7
- * @author AMBROISE PARK Consulting
8
- */
9
1
  import type { OptimisticMeta } from '../types';
10
2
  interface WithId {
11
3
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"mergeWithOptimistic.d.ts","sourceRoot":"","sources":["../../src/utils/mergeWithOptimistic.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAG/C,UAAU,MAAM;IACd,EAAE,EAAE,MAAM,CAAC;IACX,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,MAAM,EAClD,SAAS,EAAE,CAAC,EAAE,EACd,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,GACzC,CAAC,EAAE,CAgCL"}
1
+ {"version":3,"file":"mergeWithOptimistic.d.ts","sourceRoot":"","sources":["../../src/utils/mergeWithOptimistic.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,UAAU,MAAM;IACd,EAAE,EAAE,MAAM,CAAC;IACX,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,MAAM,EAClD,SAAS,EAAE,CAAC,EAAE,EACd,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,GACzC,CAAC,EAAE,CAgCL"}
@@ -1 +1 @@
1
- import{CRUD_OPERATION as a}from"../types";function n(e,s){const o=[],p=new Set;for(const i of e){const t=s[i.id];t?.operation!==a.DELETE&&(t?.operation===a.UPDATE&&t.optimisticData?o.push(t.optimisticData):o.push(i),p.add(i.id))}for(const[i,t]of Object.entries(s))t.operation===a.ADD&&!p.has(i)&&t.optimisticData&&o.push(t.optimisticData);return o}export{n as mergeWithOptimistic};
1
+ import{CRUD_OPERATION as a}from"../types";function p(n,s){const o=[],e=new Set;for(const i of n){const t=s[i.id];t?.operation!==a.DELETE&&(t?.operation===a.UPDATE&&t.optimisticData?o.push(t.optimisticData):o.push(i),e.add(i.id))}for(const[i,t]of Object.entries(s))t.operation===a.ADD&&!e.has(i)&&t.optimisticData&&o.push(t.optimisticData);return o}export{p as mergeWithOptimistic};
@@ -1 +1 @@
1
- "use client";function o(r){return!r||typeof r!="string"?!1:r.startsWith("https://")&&!r.startsWith("blob:")}function h(r){return!(!r||typeof r!="object"||!o(r.fullUrl)||r.thumbUrl&&!o(r.thumbUrl))}function i(r,l=""){const t=[];if(r==null)return t;if(typeof r=="string")return r.startsWith("blob:")&&t.push(l||"root"),t;if(typeof r!="object")return t;if(Array.isArray(r))r.forEach((e,s)=>{const n=l?`${l}[${s}]`:`[${s}]`;t.push(...i(e,n))});else{const e=r;if(e.fullUrl!==void 0&&e.thumbUrl!==void 0){const s=e.fullUrl,n=e.thumbUrl,u=typeof s=="string"&&!o(s),c=n&&typeof n=="string"&&!o(n);if(u||c){const f=l||"root";t.push(`${f}.fullUrl or ${f}.thumbUrl contains blob URL`)}}else Object.entries(e).forEach(([s,n])=>{const u=l?`${l}.${s}`:s;t.push(...i(n,u))})}return t}function b(r){return i(r).length>0}export{i as checkForBlobUrls,b as hasBlobUrls,o as isStorageUrl,h as validatePicture};
1
+ "use client";function n(t){return!t||typeof t!="string"?!1:t.startsWith("https://")&&!t.startsWith("blob:")}function h(t){return!(!t||typeof t!="object"||!n(t.fullUrl)||t.thumbUrl&&!n(t.thumbUrl))}function u(t,o=""){const s=[];if(t==null)return s;if(typeof t=="string")return t.startsWith("blob:")&&s.push(o||"root"),s;if(typeof t!="object")return s;if(Array.isArray(t))t.forEach((r,l)=>{const e=o?`${o}[${l}]`:`[${l}]`;s.push(...u(r,e))});else{const r=t;if(r.fullUrl!==void 0&&r.thumbUrl!==void 0){const l=r.fullUrl,e=r.thumbUrl,i=typeof l=="string"&&!n(l),c=e&&typeof e=="string"&&!n(e);if(i||c){const f=o||"root";s.push(`${f}.fullUrl or ${f}.thumbUrl contains blob URL`)}}else Object.entries(r).forEach(([l,e])=>{const i=o?`${o}.${l}`:l;s.push(...u(e,i))})}return s}function b(t){return u(t).length>0}export{u as checkForBlobUrls,b as hasBlobUrls,n as isStorageUrl,h as validatePicture};
@@ -1 +1 @@
1
- {"version":3,"file":"defineWorkflow.d.ts","sourceRoot":"","sources":["../../src/workflows/defineWorkflow.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,+CAA+C;AAC/C,MAAM,WAAW,YAAY;IAC3B,6BAA6B;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oDAAoD;IACpD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2EAA2E;IAC3E,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,0CAA0C;IAC1C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,yFAAyF;IACzF,UAAU,CAAC,EAAE;QACX,OAAO,CAAC,EAAE,cAAc,CAAC;KAC1B,CAAC;IACF,8GAA8G;IAC9G,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IACtD,uCAAuC;IACvC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/D,yEAAyE;IACzE,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,SAAS,CAAC;IACzD,qCAAqC;IACrC,UAAU,CAAC,EAAE;QACX,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,GAAG,MAAM,CAAC;QAC/D,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAED,uCAAuC;AACvC,MAAM,WAAW,mBAAmB;IAClC,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,0CAA0C;IAC1C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,kCAAkC;IAClC,IAAI,EAAE;QACJ,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;KACpD,CAAC;CACH;AAED,kCAAkC;AAClC,MAAM,WAAW,cAAc;IAC7B,iCAAiC;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,kDAAkD;IAClD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,uDAAuD;IACvD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qBAAqB;IACrB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,4CAA4C;IAC5C,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzE;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,cAAc,GAAG,cAAc,CAErE"}
1
+ {"version":3,"file":"defineWorkflow.d.ts","sourceRoot":"","sources":["../../src/workflows/defineWorkflow.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE1E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,+CAA+C;AAC/C,MAAM,WAAW,YAAY;IAC3B,6BAA6B;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oDAAoD;IACpD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2EAA2E;IAC3E,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,0CAA0C;IAC1C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,yFAAyF;IACzF,UAAU,CAAC,EAAE;QACX,OAAO,CAAC,EAAE,cAAc,CAAC;KAC1B,CAAC;IACF,8GAA8G;IAC9G,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IACtD,uCAAuC;IACvC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/D,yEAAyE;IACzE,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,SAAS,CAAC;IACzD,qCAAqC;IACrC,UAAU,CAAC,EAAE;QACX,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,GAAG,MAAM,CAAC;QAC/D,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAED,uCAAuC;AACvC,MAAM,WAAW,mBAAmB;IAClC,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,0CAA0C;IAC1C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,kCAAkC;IAClC,IAAI,EAAE;QACJ,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;KACpD,CAAC;CACH;AAED,kCAAkC;AAClC,MAAM,WAAW,cAAc;IAC7B,iCAAiC;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,kDAAkD;IAClD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,uDAAuD;IACvD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qBAAqB;IACrB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,4CAA4C;IAC5C,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzE;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,cAAc,GAAG,cAAc,CAErE"}
@@ -1 +1 @@
1
- function n(e){return e}export{n as defineWorkflow};
1
+ function e(n){return n}export{e as defineWorkflow};
@@ -1 +1 @@
1
- {"version":3,"file":"useEntityWorkflow.d.ts","sourceRoot":"","sources":["../../src/workflows/useEntityWorkflow.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAOrE,oCAAoC;AACpC,MAAM,WAAW,wBAAwB;IACvC,kEAAkE;IAClE,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxE,iCAAiC;IACjC,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5D,8CAA8C;IAC9C,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACzC;AAED,uCAAuC;AACvC,MAAM,WAAW,oBAAoB;IACnC,iCAAiC;IACjC,WAAW,EAAE,YAAY,CAAC;IAC1B,8DAA8D;IAC9D,gBAAgB,EAAE,MAAM,CAAC;IACzB,2DAA2D;IAC3D,YAAY,EAAE,YAAY,EAAE,CAAC;IAC7B,uCAAuC;IACvC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAClD,mCAAmC;IACnC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,2DAA2D;IAC3D,MAAM,EAAE,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACxE,gCAAgC;IAChC,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,oDAAoD;IACpD,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,uCAAuC;IACvC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,qDAAqD;IACrD,OAAO,EAAE,OAAO,CAAC;IACjB,oDAAoD;IACpD,MAAM,EAAE,OAAO,CAAC;IAChB,sDAAsD;IACtD,YAAY,EAAE,OAAO,CAAC;IACtB,kEAAkE;IAClE,SAAS,EAAE,OAAO,CAAC;IACnB,+CAA+C;IAC/C,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,gCAAgC;IAChC,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,uCAAuC;IACvC,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;CACxE;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,cAAc,EACtB,OAAO,GAAE,wBAA6B,GACrC,oBAAoB,CAyPtB"}
1
+ {"version":3,"file":"useEntityWorkflow.d.ts","sourceRoot":"","sources":["../../src/workflows/useEntityWorkflow.ts"],"names":[],"mappings":"AAgCA,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErE,oCAAoC;AACpC,MAAM,WAAW,wBAAwB;IACvC,kEAAkE;IAClE,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxE,iCAAiC;IACjC,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5D,8CAA8C;IAC9C,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACzC;AAED,uCAAuC;AACvC,MAAM,WAAW,oBAAoB;IACnC,iCAAiC;IACjC,WAAW,EAAE,YAAY,CAAC;IAC1B,8DAA8D;IAC9D,gBAAgB,EAAE,MAAM,CAAC;IACzB,2DAA2D;IAC3D,YAAY,EAAE,YAAY,EAAE,CAAC;IAC7B,uCAAuC;IACvC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAClD,mCAAmC;IACnC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,2DAA2D;IAC3D,MAAM,EAAE,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACxE,gCAAgC;IAChC,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,oDAAoD;IACpD,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,uCAAuC;IACvC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,qDAAqD;IACrD,OAAO,EAAE,OAAO,CAAC;IACjB,oDAAoD;IACpD,MAAM,EAAE,OAAO,CAAC;IAChB,sDAAsD;IACtD,YAAY,EAAE,OAAO,CAAC;IACtB,kEAAkE;IAClE,SAAS,EAAE,OAAO,CAAC;IACnB,+CAA+C;IAC/C,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,gCAAgC;IAChC,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,uCAAuC;IACvC,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;CACxE;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,cAAc,EACtB,OAAO,GAAE,wBAA6B,GACrC,oBAAoB,CAyPtB"}
@@ -1 +1 @@
1
- "use client";import{useState as g,useCallback as p,useMemo as h,useEffect as L,useRef as M}from"react";import{evaluateCondition as R}from"@donotdev/core";import{saveWorkflowState as K,loadWorkflowState as j,clearWorkflowState as C}from"./WorkflowPersistence";function V(e,I={}){const{onComplete:m,onStepChange:f,defaultValues:y}=I,w=M(m);w.current=m;const[a,v]=g(()=>{if(e.persist){const t=j(e.persistKey??e.id);if(t)return t.stepData}if(y){const t={};for(const r of e.steps)if(r.entity&&r.fields){const o={};for(const i of r.fields)i in y&&(o[i]=y[i]);Object.keys(o).length>0&&(t[r.id]=o)}return t}return{}}),[s,S]=g(()=>{if(e.persist){const t=j(e.persistKey??e.id);if(t)return t.currentStepIndex}return 0}),[k,x]=g(!1),l=h(()=>{const t={};for(const[r,o]of Object.entries(a))for(const[i,c]of Object.entries(o))t[i]=c,t[`${r}.${i}`]=c;return t},[a]),n=h(()=>e.steps.filter(t=>t.conditions?.visible?R(t.conditions.visible,l):!0),[e.steps,l]),O=n[s]??n[0],b=s===0,d=s===n.length-1;L(()=>{e.persist&&K(e.persistKey??e.id,{currentStepIndex:s,stepData:a,savedAt:Date.now()})},[e.persist,e.persistKey,e.id,s,a]);const W=p(async t=>{const r=n[s];if(!r)return!1;if(t&&v(i=>({...i,[r.id]:{...i[r.id],...t}})),r.validation?.validate){const i={...l,...t??{}};if(r.validation.validate(i)!==!0)return!1}if(r.after){const i={};await r.after({data:t??a[r.id]??{},allData:{...l,...t??{}},next:{prefill:c=>{const u=n[s+1];u&&(i[u.id]=c)}}}),Object.keys(i).length>0&&v(c=>{const u={...c};for(const[D,G]of Object.entries(i))u[D]={...u[D],...G};return u})}if(d){x(!0);try{const i={...l,...t??{}},c=w.current??e.onComplete;return c&&await c(i),e.persist&&C(e.persistKey??e.id),!0}catch{return!1}finally{x(!1)}}const o=s+1;return S(o),f?.(s,o),!0},[n,s,l,a,d,e,f]),N=p(()=>{if(b)return;const t=s-1;S(t),f?.(s,t)},[s,b,f]),A=p(()=>{if(!n[s]?.allowSkip||d)return;const t=s+1;S(t),f?.(s,t)},[n,s,d,f]),E=p(t=>{t>=0&&t<n.length&&(f?.(s,t),S(t))},[n.length,s,f]),P=p(()=>{e.persist&&K(e.persistKey??e.id,{currentStepIndex:s,stepData:a,savedAt:Date.now()})},[e,s,a]),$=p(()=>{C(e.persistKey??e.id)},[e]),F=p((t,r)=>{v(o=>({...o,[t]:{...o[t],...r}}))},[]);return{currentStep:O,currentStepIndex:s,visibleSteps:n,stepData:a,allData:l,goNext:W,goPrevious:N,skipStep:A,goToStep:E,isFirst:b,isLast:d,isSubmitting:k,canGoNext:!k,persistNow:P,clearPersisted:$,prefillStep:F}}export{V as useEntityWorkflow};
1
+ "use client";import{useState as m,useCallback as p,useMemo as D,useEffect as L,useRef as M}from"react";import{evaluateCondition as R}from"@donotdev/core";import{saveWorkflowState as K,loadWorkflowState as j,clearWorkflowState as C}from"./WorkflowPersistence";function V(e,O={}){const{onComplete:w,onStepChange:f,defaultValues:y}=O,g=M(w);g.current=w;const[a,v]=m(()=>{if(e.persist){const t=j(e.persistKey??e.id);if(t)return t.stepData}if(y){const t={};for(const r of e.steps)if(r.entity&&r.fields){const o={};for(const i of r.fields)i in y&&(o[i]=y[i]);Object.keys(o).length>0&&(t[r.id]=o)}return t}return{}}),[s,S]=m(()=>{if(e.persist){const t=j(e.persistKey??e.id);if(t)return t.currentStepIndex}return 0}),[k,x]=m(!1),l=D(()=>{const t={};for(const[r,o]of Object.entries(a))for(const[i,c]of Object.entries(o))t[i]=c,t[`${r}.${i}`]=c;return t},[a]),n=D(()=>e.steps.filter(t=>t.conditions?.visible?R(t.conditions.visible,l):!0),[e.steps,l]),I=n[s]??n[0],b=s===0,d=s===n.length-1;L(()=>{e.persist&&K(e.persistKey??e.id,{currentStepIndex:s,stepData:a,savedAt:Date.now()})},[e.persist,e.persistKey,e.id,s,a]);const W=p(async t=>{const r=n[s];if(!r)return!1;if(t&&v(i=>({...i,[r.id]:{...i[r.id],...t}})),r.validation?.validate){const i={...l,...t??{}};if(r.validation.validate(i)!==!0)return!1}if(r.after){const i={};await r.after({data:t??a[r.id]??{},allData:{...l,...t??{}},next:{prefill:c=>{const u=n[s+1];u&&(i[u.id]=c)}}}),Object.keys(i).length>0&&v(c=>{const u={...c};for(const[h,G]of Object.entries(i))u[h]={...u[h],...G};return u})}if(d){x(!0);try{const i={...l,...t??{}},c=g.current??e.onComplete;return c&&await c(i),e.persist&&C(e.persistKey??e.id),!0}catch{return!1}finally{x(!1)}}const o=s+1;return S(o),f?.(s,o),!0},[n,s,l,a,d,e,f]),N=p(()=>{if(b)return;const t=s-1;S(t),f?.(s,t)},[s,b,f]),A=p(()=>{if(!n[s]?.allowSkip||d)return;const t=s+1;S(t),f?.(s,t)},[n,s,d,f]),E=p(t=>{t>=0&&t<n.length&&(f?.(s,t),S(t))},[n.length,s,f]),P=p(()=>{e.persist&&K(e.persistKey??e.id,{currentStepIndex:s,stepData:a,savedAt:Date.now()})},[e,s,a]),$=p(()=>{C(e.persistKey??e.id)},[e]),F=p((t,r)=>{v(o=>({...o,[t]:{...o[t],...r}}))},[]);return{currentStep:I,currentStepIndex:s,visibleSteps:n,stepData:a,allData:l,goNext:W,goPrevious:N,skipStep:A,goToStep:E,isFirst:b,isLast:d,isSubmitting:k,canGoNext:!k,persistNow:P,clearPersisted:$,prefillStep:F}}export{V as useEntityWorkflow};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@donotdev/crud",
3
- "version": "0.0.21",
3
+ "version": "0.0.23",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "license": "SEE LICENSE IN LICENSE.md",
@@ -53,13 +53,13 @@
53
53
  "@dnd-kit/core": "^6.3.1",
54
54
  "@dnd-kit/sortable": "^10.0.0",
55
55
  "@dnd-kit/utilities": "^3.2.2",
56
- "@donotdev/components": "^0.0.24",
57
- "@donotdev/core": "^0.0.30",
56
+ "@donotdev/components": "^0.0.26",
57
+ "@donotdev/core": "^0.0.36",
58
58
  "@hookform/resolvers": "^5.2.2",
59
59
  "react-easy-crop": "^5.5.6"
60
60
  },
61
61
  "peerDependencies": {
62
- "@donotdev/firebase": "^0.0.16",
62
+ "@donotdev/firebase": "^0.0.19",
63
63
  "@tiptap/extension-placeholder": "^3.19.0",
64
64
  "@tiptap/pm": "^3.19.0",
65
65
  "@tiptap/react": "^3.19.0",