@donotdev/crud 0.0.9 → 0.0.10

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 (266) hide show
  1. package/dist/CrudService.d.ts +26 -8
  2. package/dist/CrudService.d.ts.map +1 -1
  3. package/dist/CrudService.js +1 -1
  4. package/dist/CrudStore.d.ts.map +1 -1
  5. package/dist/CrudStore.js +1 -1
  6. package/dist/FieldRegistry.js +1 -1
  7. package/dist/adapters/FirestoreAdapter.d.ts +1 -1
  8. package/dist/adapters/FirestoreAdapter.d.ts.map +1 -1
  9. package/dist/adapters/FirestoreAdapter.js +1 -1
  10. package/dist/adapters/FunctionsAdapter.d.ts +1 -1
  11. package/dist/adapters/FunctionsAdapter.d.ts.map +1 -1
  12. package/dist/adapters/FunctionsAdapter.js +1 -1
  13. package/dist/adapters/index.js +1 -1
  14. package/dist/builtinFieldTypes.d.ts +17 -4
  15. package/dist/builtinFieldTypes.d.ts.map +1 -1
  16. package/dist/builtinFieldTypes.js +1 -1
  17. package/dist/components/CrudButton.js +1 -1
  18. package/dist/components/DisplayFieldRenderer.d.ts +2 -0
  19. package/dist/components/DisplayFieldRenderer.d.ts.map +1 -1
  20. package/dist/components/DisplayFieldRenderer.js +1 -1
  21. package/dist/components/EntityDisplayRenderer.js +1 -1
  22. package/dist/components/EntityFilters.d.ts +19 -1
  23. package/dist/components/EntityFilters.d.ts.map +1 -1
  24. package/dist/components/EntityFilters.js +1 -1
  25. package/dist/components/EntityFormRenderer.js +1 -1
  26. package/dist/components/FormFieldRenderer.d.ts.map +1 -1
  27. package/dist/components/FormFieldRenderer.js +1 -1
  28. package/dist/components/FormLayout.js +1 -1
  29. package/dist/components/controlled/complex/ControlledAddressField.js +1 -1
  30. package/dist/components/controlled/complex/ControlledDateField.js +1 -1
  31. package/dist/components/controlled/complex/ControlledGeoPointField.js +1 -1
  32. package/dist/components/controlled/complex/ControlledMapField.js +1 -1
  33. package/dist/components/controlled/complex/ControlledMultiInputField.js +1 -1
  34. package/dist/components/controlled/complex/ControlledRichTextField.js +1 -1
  35. package/dist/components/controlled/complex/ControlledTimestampField.js +1 -1
  36. package/dist/components/controlled/complex/index.js +1 -1
  37. package/dist/components/controlled/file/ControlledDocumentField.js +1 -1
  38. package/dist/components/controlled/file/ControlledFileField.js +1 -1
  39. package/dist/components/controlled/file/ControlledImageField.js +1 -1
  40. package/dist/components/controlled/file/ControlledMultiDocumentField.js +1 -1
  41. package/dist/components/controlled/file/ControlledMultiFileField.js +1 -1
  42. package/dist/components/controlled/file/ControlledMultiImageField.js +1 -1
  43. package/dist/components/controlled/file/index.js +1 -1
  44. package/dist/components/controlled/index.js +1 -1
  45. package/dist/components/controlled/input/ControlledCheckboxField.js +1 -1
  46. package/dist/components/controlled/input/ControlledCurrencyField.d.ts +8 -0
  47. package/dist/components/controlled/input/ControlledCurrencyField.d.ts.map +1 -0
  48. package/dist/components/controlled/input/ControlledCurrencyField.js +1 -0
  49. package/dist/components/controlled/input/ControlledGdprConsentField.d.ts.map +1 -1
  50. package/dist/components/controlled/input/ControlledGdprConsentField.js +1 -1
  51. package/dist/components/controlled/input/ControlledNumberField.js +1 -1
  52. package/dist/components/controlled/input/ControlledPasswordField.js +1 -1
  53. package/dist/components/controlled/input/ControlledPhoneField.js +1 -1
  54. package/dist/components/controlled/input/ControlledPriceField.d.ts +8 -0
  55. package/dist/components/controlled/input/ControlledPriceField.d.ts.map +1 -0
  56. package/dist/components/controlled/input/ControlledPriceField.js +1 -0
  57. package/dist/components/controlled/input/ControlledRangeField.js +1 -1
  58. package/dist/components/controlled/input/ControlledRatingField.d.ts +8 -0
  59. package/dist/components/controlled/input/ControlledRatingField.d.ts.map +1 -0
  60. package/dist/components/controlled/input/ControlledRatingField.js +1 -0
  61. package/dist/components/controlled/input/ControlledSwitchField.js +1 -1
  62. package/dist/components/controlled/input/ControlledTextField.js +1 -1
  63. package/dist/components/controlled/input/ControlledTextareaField.js +1 -1
  64. package/dist/components/controlled/input/index.d.ts +3 -0
  65. package/dist/components/controlled/input/index.d.ts.map +1 -1
  66. package/dist/components/controlled/input/index.js +1 -1
  67. package/dist/components/controlled/select/ControlledComboboxField.js +1 -1
  68. package/dist/components/controlled/select/ControlledDropdownField.js +1 -1
  69. package/dist/components/controlled/select/ControlledMultiDropdownField.js +1 -1
  70. package/dist/components/controlled/select/ControlledRadioField.js +1 -1
  71. package/dist/components/controlled/select/ControlledYearField.js +1 -1
  72. package/dist/components/controlled/select/index.js +1 -1
  73. package/dist/components/controlled/types.js +1 -1
  74. package/dist/components/fields/display/AvatarFieldDisplay.d.ts +23 -0
  75. package/dist/components/fields/display/AvatarFieldDisplay.d.ts.map +1 -0
  76. package/dist/components/fields/display/AvatarFieldDisplay.js +1 -0
  77. package/dist/components/fields/display/BadgeFieldDisplay.d.ts +21 -0
  78. package/dist/components/fields/display/BadgeFieldDisplay.d.ts.map +1 -0
  79. package/dist/components/fields/display/BadgeFieldDisplay.js +1 -0
  80. package/dist/components/fields/display/ButtonFieldDisplay.d.ts +29 -0
  81. package/dist/components/fields/display/ButtonFieldDisplay.d.ts.map +1 -0
  82. package/dist/components/fields/display/ButtonFieldDisplay.js +1 -0
  83. package/dist/components/fields/display/CheckboxFieldDisplay.d.ts +21 -0
  84. package/dist/components/fields/display/CheckboxFieldDisplay.d.ts.map +1 -0
  85. package/dist/components/fields/display/CheckboxFieldDisplay.js +1 -0
  86. package/dist/components/fields/display/DateFieldDisplay.d.ts +24 -0
  87. package/dist/components/fields/display/DateFieldDisplay.d.ts.map +1 -0
  88. package/dist/components/fields/display/DateFieldDisplay.js +1 -0
  89. package/dist/components/fields/display/DropdownDisplay.d.ts +21 -0
  90. package/dist/components/fields/display/DropdownDisplay.d.ts.map +1 -0
  91. package/dist/components/fields/display/DropdownDisplay.js +1 -0
  92. package/dist/components/fields/display/FileFieldDisplay.d.ts +21 -0
  93. package/dist/components/fields/display/FileFieldDisplay.d.ts.map +1 -0
  94. package/dist/components/fields/display/FileFieldDisplay.js +1 -0
  95. package/dist/components/fields/display/GeoPointFieldDisplay.d.ts +25 -0
  96. package/dist/components/fields/display/GeoPointFieldDisplay.d.ts.map +1 -0
  97. package/dist/components/fields/display/GeoPointFieldDisplay.js +1 -0
  98. package/dist/components/fields/display/HiddenFieldDisplay.d.ts +30 -0
  99. package/dist/components/fields/display/HiddenFieldDisplay.d.ts.map +1 -0
  100. package/dist/components/fields/display/HiddenFieldDisplay.js +1 -0
  101. package/dist/components/fields/display/ImageFieldDisplay.d.ts +24 -0
  102. package/dist/components/fields/display/ImageFieldDisplay.d.ts.map +1 -0
  103. package/dist/components/fields/display/ImageFieldDisplay.js +1 -0
  104. package/dist/components/fields/display/LinkFieldDisplay.d.ts +22 -0
  105. package/dist/components/fields/display/LinkFieldDisplay.d.ts.map +1 -0
  106. package/dist/components/fields/display/LinkFieldDisplay.js +1 -0
  107. package/dist/components/fields/display/MapFieldDisplay.d.ts +25 -0
  108. package/dist/components/fields/display/MapFieldDisplay.d.ts.map +1 -0
  109. package/dist/components/fields/display/MapFieldDisplay.js +1 -0
  110. package/dist/components/fields/display/MultiDropdownDisplay.d.ts +22 -0
  111. package/dist/components/fields/display/MultiDropdownDisplay.d.ts.map +1 -0
  112. package/dist/components/fields/display/MultiDropdownDisplay.js +1 -0
  113. package/dist/components/fields/display/MultiInputTextFieldDisplay.d.ts +22 -0
  114. package/dist/components/fields/display/MultiInputTextFieldDisplay.d.ts.map +1 -0
  115. package/dist/components/fields/display/MultiInputTextFieldDisplay.js +1 -0
  116. package/dist/components/fields/display/NumberFieldDisplay.d.ts +24 -0
  117. package/dist/components/fields/display/NumberFieldDisplay.d.ts.map +1 -0
  118. package/dist/components/fields/display/NumberFieldDisplay.js +1 -0
  119. package/dist/components/fields/display/PasswordFieldDisplay.d.ts +24 -0
  120. package/dist/components/fields/display/PasswordFieldDisplay.d.ts.map +1 -0
  121. package/dist/components/fields/display/PasswordFieldDisplay.js +1 -0
  122. package/dist/components/fields/display/PhoneNumberDisplay.d.ts +22 -0
  123. package/dist/components/fields/display/PhoneNumberDisplay.d.ts.map +1 -0
  124. package/dist/components/fields/display/PhoneNumberDisplay.js +1 -0
  125. package/dist/components/fields/display/RadioFieldDisplay.d.ts +22 -0
  126. package/dist/components/fields/display/RadioFieldDisplay.d.ts.map +1 -0
  127. package/dist/components/fields/display/RadioFieldDisplay.js +1 -0
  128. package/dist/components/fields/display/RangeFieldDisplay.d.ts +22 -0
  129. package/dist/components/fields/display/RangeFieldDisplay.d.ts.map +1 -0
  130. package/dist/components/fields/display/RangeFieldDisplay.js +1 -0
  131. package/dist/components/fields/display/ReferenceFieldDisplay.d.ts +22 -0
  132. package/dist/components/fields/display/ReferenceFieldDisplay.d.ts.map +1 -0
  133. package/dist/components/fields/display/ReferenceFieldDisplay.js +1 -0
  134. package/dist/components/fields/display/RichTextDisplay.d.ts +25 -0
  135. package/dist/components/fields/display/RichTextDisplay.d.ts.map +1 -0
  136. package/dist/components/fields/display/RichTextDisplay.js +61 -0
  137. package/dist/components/fields/display/TextAreaDisplay.d.ts +22 -0
  138. package/dist/components/fields/display/TextAreaDisplay.d.ts.map +1 -0
  139. package/dist/components/fields/display/TextAreaDisplay.js +1 -0
  140. package/dist/components/fields/display/TextFieldDisplay.d.ts +42 -0
  141. package/dist/components/fields/display/TextFieldDisplay.d.ts.map +1 -0
  142. package/dist/components/fields/display/TextFieldDisplay.js +1 -0
  143. package/dist/components/fields/display/TimestampFieldDisplay.d.ts +22 -0
  144. package/dist/components/fields/display/TimestampFieldDisplay.d.ts.map +1 -0
  145. package/dist/components/fields/display/TimestampFieldDisplay.js +1 -0
  146. package/dist/components/fields/display/index.d.ts +32 -0
  147. package/dist/components/fields/display/index.d.ts.map +1 -0
  148. package/dist/components/fields/display/index.js +1 -0
  149. package/dist/components/form/fields/AddressFieldComponent.js +1 -1
  150. package/dist/components/form/fields/AvatarFieldComponent.js +1 -1
  151. package/dist/components/form/fields/BadgeFieldComponent.js +1 -1
  152. package/dist/components/form/fields/ButtonFieldComponent.js +1 -1
  153. package/dist/components/form/fields/CheckboxFieldComponent.js +1 -1
  154. package/dist/components/form/fields/ComboboxComponent.d.ts +6 -0
  155. package/dist/components/form/fields/ComboboxComponent.d.ts.map +1 -1
  156. package/dist/components/form/fields/ComboboxComponent.js +1 -1
  157. package/dist/components/form/fields/CurrencyFieldComponent.js +1 -1
  158. package/dist/components/form/fields/DateFieldComponent.js +1 -1
  159. package/dist/components/form/fields/DocumentFieldComponent.js +1 -1
  160. package/dist/components/form/fields/DropdownComponent.js +1 -1
  161. package/dist/components/form/fields/FileFieldComponent.js +1 -1
  162. package/dist/components/form/fields/GdprConsentFieldComponent.d.ts +2 -2
  163. package/dist/components/form/fields/GdprConsentFieldComponent.d.ts.map +1 -1
  164. package/dist/components/form/fields/GdprConsentFieldComponent.js +1 -1
  165. package/dist/components/form/fields/GeoPointFieldComponent.js +1 -1
  166. package/dist/components/form/fields/HiddenFieldComponent.js +1 -1
  167. package/dist/components/form/fields/ImageFieldComponent.js +1 -1
  168. package/dist/components/form/fields/MapFieldComponent.js +1 -1
  169. package/dist/components/form/fields/MultiDropdownComponent.js +1 -1
  170. package/dist/components/form/fields/MultiInputTextFieldComponent.js +1 -1
  171. package/dist/components/form/fields/NumberFieldComponent.js +1 -1
  172. package/dist/components/form/fields/PasswordFieldComponent.js +1 -1
  173. package/dist/components/form/fields/PhoneNumberComponent.js +1 -1
  174. package/dist/components/form/fields/PriceFieldComponent.d.ts +34 -0
  175. package/dist/components/form/fields/PriceFieldComponent.d.ts.map +1 -0
  176. package/dist/components/form/fields/PriceFieldComponent.js +1 -0
  177. package/dist/components/form/fields/RadioFieldComponent.js +1 -1
  178. package/dist/components/form/fields/RangeFieldComponent.js +1 -1
  179. package/dist/components/form/fields/RatingFieldComponent.d.ts +37 -0
  180. package/dist/components/form/fields/RatingFieldComponent.d.ts.map +1 -0
  181. package/dist/components/form/fields/RatingFieldComponent.js +1 -0
  182. package/dist/components/form/fields/ReferenceFieldComponent.js +1 -1
  183. package/dist/components/form/fields/RichTextComponent.js +1 -1
  184. package/dist/components/form/fields/SwitchFieldComponent.js +1 -1
  185. package/dist/components/form/fields/TextAreaComponent.js +1 -1
  186. package/dist/components/form/fields/TextFieldComponent.js +1 -1
  187. package/dist/components/form/fields/TimestampFieldComponent.js +1 -1
  188. package/dist/components/form/fields/index.d.ts +4 -0
  189. package/dist/components/form/fields/index.d.ts.map +1 -1
  190. package/dist/components/form/fields/index.js +1 -1
  191. package/dist/components/form/fields/internal/TiptapEditor.js +2 -2
  192. package/dist/components/form/internal/ImageViewerDialog.js +1 -1
  193. package/dist/components/index.d.ts +3 -9
  194. package/dist/components/index.d.ts.map +1 -1
  195. package/dist/components/index.js +1 -1
  196. package/dist/contexts/UploadContext.js +1 -1
  197. package/dist/contexts/index.js +1 -1
  198. package/dist/fieldTypeRegistry.d.ts +92 -0
  199. package/dist/fieldTypeRegistry.d.ts.map +1 -0
  200. package/dist/fieldTypeRegistry.js +1 -0
  201. package/dist/forms/hooks/index.js +1 -1
  202. package/dist/forms/hooks/useController.js +1 -1
  203. package/dist/forms/hooks/useEntityField.js +1 -1
  204. package/dist/forms/hooks/useEntityForm.d.ts.map +1 -1
  205. package/dist/forms/hooks/useEntityForm.js +1 -1
  206. package/dist/forms/index.js +1 -1
  207. package/dist/forms/utils/getFieldsForOperation.js +1 -1
  208. package/dist/forms/utils/index.js +1 -1
  209. package/dist/forms/utils/isFieldEditable.js +1 -1
  210. package/dist/forms/utils/translateFieldLabel.js +1 -1
  211. package/dist/forms/utils/validateEntity.js +1 -1
  212. package/dist/hooks/index.d.ts +5 -0
  213. package/dist/hooks/index.d.ts.map +1 -1
  214. package/dist/hooks/index.js +1 -1
  215. package/dist/hooks/useEntityFavorites.d.ts +53 -0
  216. package/dist/hooks/useEntityFavorites.d.ts.map +1 -0
  217. package/dist/hooks/useEntityFavorites.js +1 -0
  218. package/dist/hooks/useFileUpload.js +1 -1
  219. package/dist/hooks/useFormNavigationGuard.js +1 -1
  220. package/dist/hooks/useRelatedItems.d.ts +37 -0
  221. package/dist/hooks/useRelatedItems.d.ts.map +1 -0
  222. package/dist/hooks/useRelatedItems.js +1 -0
  223. package/dist/hooks/useUnsavedChangesWarning.js +1 -1
  224. package/dist/index.d.ts +4 -3
  225. package/dist/index.d.ts.map +1 -1
  226. package/dist/index.js +1 -1
  227. package/dist/registerBuiltinFieldTypes.d.ts +6 -0
  228. package/dist/registerBuiltinFieldTypes.d.ts.map +1 -0
  229. package/dist/registerBuiltinFieldTypes.js +1 -0
  230. package/dist/stores/FormStore.js +1 -1
  231. package/dist/stores/UploadStore.js +1 -1
  232. package/dist/stores/index.js +1 -1
  233. package/dist/tsconfig.tsbuildinfo +1 -1
  234. package/dist/types.d.ts +60 -25
  235. package/dist/types.d.ts.map +1 -1
  236. package/dist/useBaseCrudList.d.ts +53 -0
  237. package/dist/useBaseCrudList.d.ts.map +1 -0
  238. package/dist/useBaseCrudList.js +1 -0
  239. package/dist/useCrud.d.ts +3 -6
  240. package/dist/useCrud.d.ts.map +1 -1
  241. package/dist/useCrud.js +1 -1
  242. package/dist/useCrudCardList.d.ts +10 -4
  243. package/dist/useCrudCardList.d.ts.map +1 -1
  244. package/dist/useCrudCardList.js +1 -1
  245. package/dist/useCrudList.d.ts +12 -5
  246. package/dist/useCrudList.d.ts.map +1 -1
  247. package/dist/useCrudList.js +1 -1
  248. package/dist/utils/collections.js +1 -1
  249. package/dist/utils/fileStorage.js +1 -1
  250. package/dist/utils/imageProcessing.js +1 -1
  251. package/dist/utils/imageStorage.js +1 -1
  252. package/dist/utils/imageUtils.js +1 -1
  253. package/dist/utils/mergeWithOptimistic.d.ts +4 -5
  254. package/dist/utils/mergeWithOptimistic.d.ts.map +1 -1
  255. package/dist/utils/mergeWithOptimistic.js +1 -1
  256. package/dist/utils/scopeUtils.d.ts +38 -0
  257. package/dist/utils/scopeUtils.d.ts.map +1 -0
  258. package/dist/utils/scopeUtils.js +1 -0
  259. package/dist/utils/uploadValidation.js +1 -1
  260. package/package.json +15 -14
  261. package/dist/components/EntityCardList.d.ts +0 -29
  262. package/dist/components/EntityCardList.d.ts.map +0 -1
  263. package/dist/components/EntityCardList.js +0 -1
  264. package/dist/components/EntityList.d.ts +0 -30
  265. package/dist/components/EntityList.d.ts.map +0 -1
  266. package/dist/components/EntityList.js +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DateFieldDisplay.d.ts","sourceRoot":"","sources":["../../../../src/components/fields/display/DateFieldDisplay.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,MAAM,WAAW,qBAAqB;IACpC,0BAA0B;IAC1B,MAAM,EAAE,WAAW,CAAC,MAAM,GAAG,gBAAgB,CAAC,CAAC;IAC/C,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,MAAM,CAAC;IAC1D,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mCAAmC;IACnC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,EAAE,aAAa,CAAC,qBAAqB,CA+CjE,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1 @@
1
+ import{jsx as a,jsxs as d}from"react/jsx-runtime";import{Text as s,Spinner as o}from"@donotdev/components";const l=({config:i,value:r,t:u,className:e,loading:c=!1})=>{if(c)return a(o,{className:e});if(!r)return a(s,{as:"span",variant:"muted",className:e,children:"-"});try{const n=new Date(r),t=n.toLocaleDateString(),m=n.toLocaleTimeString();return i.type==="date"?a(s,{as:"span",className:e,children:t}):d("div",{className:e,children:[a(s,{as:"span",children:t}),a(s,{as:"span",variant:"muted",level:"small",children:m})]})}catch{return a(s,{as:"span",variant:"muted",className:e,children:"-"})}};var p=l;export{l as DateFieldDisplay,p as default};
@@ -0,0 +1,21 @@
1
+ import type { EntityField } from '@donotdev/core';
2
+ export interface DropdownDisplayProps {
3
+ /** Field configuration */
4
+ config: EntityField<'select'>;
5
+ /** Value to display */
6
+ value: string;
7
+ /** Translation function */
8
+ t: (key: string, options?: Record<string, any>) => string;
9
+ /** Additional CSS classes */
10
+ className?: string;
11
+ }
12
+ /**
13
+ * DropdownDisplay - Displays select values as badges
14
+ *
15
+ * @version 0.0.1
16
+ * @since 0.0.1
17
+ * @author AMBROISE PARK Consulting
18
+ */
19
+ export declare const DropdownDisplay: React.ComponentType<DropdownDisplayProps>;
20
+ export default DropdownDisplay;
21
+ //# sourceMappingURL=DropdownDisplay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DropdownDisplay.d.ts","sourceRoot":"","sources":["../../../../src/components/fields/display/DropdownDisplay.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,MAAM,WAAW,oBAAoB;IACnC,0BAA0B;IAC1B,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC9B,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,MAAM,CAAC;IAC1D,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,aAAa,CAAC,oBAAoB,CAmBrE,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -0,0 +1 @@
1
+ import{jsx as e}from"react/jsx-runtime";import{Badge as r,BADGE_VARIANT as i,Text as n}from"@donotdev/components";const o=({config:c,value:a,t:l,className:s})=>a?e(r,{variant:i.OUTLINE,className:s,children:a}):e(n,{as:"span",variant:"muted",className:s,children:"-"});var t=o;export{o as DropdownDisplay,t as default};
@@ -0,0 +1,21 @@
1
+ import type { EntityField } from '@donotdev/core';
2
+ export interface FileFieldDisplayProps {
3
+ /** Field configuration */
4
+ config: EntityField<'file'>;
5
+ /** Value to display */
6
+ value: File | null;
7
+ /** Translation function */
8
+ t: (key: string, options?: Record<string, any>) => string;
9
+ /** Additional CSS classes */
10
+ className?: string;
11
+ }
12
+ /**
13
+ * FileFieldDisplay - Displays file values in read-only mode
14
+ *
15
+ * @version 0.0.1
16
+ * @since 0.0.1
17
+ * @author AMBROISE PARK Consulting
18
+ */
19
+ export declare const FileFieldDisplay: React.ComponentType<FileFieldDisplayProps>;
20
+ export default FileFieldDisplay;
21
+ //# sourceMappingURL=FileFieldDisplay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileFieldDisplay.d.ts","sourceRoot":"","sources":["../../../../src/components/fields/display/FileFieldDisplay.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,MAAM,WAAW,qBAAqB;IACpC,0BAA0B;IAC1B,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5B,uBAAuB;IACvB,KAAK,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,2BAA2B;IAC3B,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,MAAM,CAAC;IAC1D,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,aAAa,CAAC,qBAAqB,CA0BvE,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1 @@
1
+ import{jsx as e,jsxs as i}from"react/jsx-runtime";import{Badge as n,BADGE_VARIANT as t,Text as l,Stack as c}from"@donotdev/components";const r=({config:m,value:a,t:o,className:s})=>a?i(c,{direction:"row",align:"center",gap:"medium",className:s,children:[e(l,{as:"span",level:"small",children:a.name}),a.size&&i(n,{variant:t.SECONDARY,children:[(a.size/1024).toFixed(1)," KB"]})]}):e(l,{as:"span",variant:"muted",className:s,children:"-"});var d=r;export{r as FileFieldDisplay,d as default};
@@ -0,0 +1,25 @@
1
+ import type { EntityField } from '@donotdev/core';
2
+ import type { ComponentType } from 'react';
3
+ export interface GeoPointFieldDisplayProps {
4
+ /** Field configuration */
5
+ config: EntityField<'geopoint'>;
6
+ /** Value to display */
7
+ value: {
8
+ lat: number;
9
+ lng: number;
10
+ } | null;
11
+ /** Translation function */
12
+ t: (key: string, options?: Record<string, any>) => string;
13
+ /** Additional CSS classes */
14
+ className?: string;
15
+ }
16
+ /**
17
+ * GeoPointFieldDisplay - Displays geopoint values in read-only mode
18
+ *
19
+ * @version 0.0.1
20
+ * @since 0.0.1
21
+ * @author AMBROISE PARK Consulting
22
+ */
23
+ export declare const GeoPointFieldDisplay: ComponentType<GeoPointFieldDisplayProps>;
24
+ export default GeoPointFieldDisplay;
25
+ //# sourceMappingURL=GeoPointFieldDisplay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GeoPointFieldDisplay.d.ts","sourceRoot":"","sources":["../../../../src/components/fields/display/GeoPointFieldDisplay.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,MAAM,WAAW,yBAAyB;IACxC,0BAA0B;IAC1B,MAAM,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;IAChC,uBAAuB;IACvB,KAAK,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC3C,2BAA2B;IAC3B,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,MAAM,CAAC;IAC1D,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,EAAE,aAAa,CAAC,yBAAyB,CAmBzE,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
@@ -0,0 +1 @@
1
+ import{jsx as o,jsxs as i}from"react/jsx-runtime";import{Text as e}from"@donotdev/components";const l=({config:t,value:a,t:m,className:s})=>!a||a.lat===void 0&&a.lng===void 0?o(e,{as:"span",variant:"muted",className:s,children:"-"}):i(e,{as:"div",level:"small",className:`font-mono ${s||""}`,children:[a.lat?.toFixed(6),", ",a.lng?.toFixed(6)]});var d=l;export{l as GeoPointFieldDisplay,d as default};
@@ -0,0 +1,30 @@
1
+ /**
2
+ * @fileoverview HiddenFieldDisplay component
3
+ * @description Hidden fields are not displayed
4
+ *
5
+ * @version 0.0.1
6
+ * @since 0.0.1
7
+ * @author AMBROISE PARK Consulting
8
+ */
9
+ import type { EntityField } from '@donotdev/core';
10
+ import type { ComponentType } from 'react';
11
+ export interface HiddenFieldDisplayProps {
12
+ /** Field configuration */
13
+ config: EntityField<'hidden'>;
14
+ /** Value to display */
15
+ value: string;
16
+ /** Translation function */
17
+ t: (key: string, options?: Record<string, any>) => string;
18
+ /** Additional CSS classes */
19
+ className?: string;
20
+ }
21
+ /**
22
+ * HiddenFieldDisplay - Hidden fields are not displayed
23
+ *
24
+ * @version 0.0.1
25
+ * @since 0.0.1
26
+ * @author AMBROISE PARK Consulting
27
+ */
28
+ export declare const HiddenFieldDisplay: ComponentType<HiddenFieldDisplayProps>;
29
+ export default HiddenFieldDisplay;
30
+ //# sourceMappingURL=HiddenFieldDisplay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HiddenFieldDisplay.d.ts","sourceRoot":"","sources":["../../../../src/components/fields/display/HiddenFieldDisplay.tsx"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,MAAM,WAAW,uBAAuB;IACtC,0BAA0B;IAC1B,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC9B,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,MAAM,CAAC;IAC1D,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,EAAE,aAAa,CAC5C,uBAAuB,CAGxB,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1 @@
1
+ const l=()=>null;var a=l;export{l as HiddenFieldDisplay,a as default};
@@ -0,0 +1,24 @@
1
+ import type { EntityField } from '@donotdev/core';
2
+ import type { ComponentType } from 'react';
3
+ export interface ImageFieldDisplayProps {
4
+ /** Field configuration */
5
+ config: EntityField<'image'>;
6
+ /** Value to display (image URL) */
7
+ value: string;
8
+ /** Translation function */
9
+ t: (key: string, options?: Record<string, any>) => string;
10
+ /** Additional CSS classes */
11
+ className?: string;
12
+ /** Image size */
13
+ size?: 'sm' | 'md' | 'lg';
14
+ }
15
+ /**
16
+ * ImageFieldDisplay - Displays image values as avatars
17
+ *
18
+ * @version 0.0.1
19
+ * @since 0.0.1
20
+ * @author AMBROISE PARK Consulting
21
+ */
22
+ export declare const ImageFieldDisplay: ComponentType<ImageFieldDisplayProps>;
23
+ export default ImageFieldDisplay;
24
+ //# sourceMappingURL=ImageFieldDisplay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ImageFieldDisplay.d.ts","sourceRoot":"","sources":["../../../../src/components/fields/display/ImageFieldDisplay.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,MAAM,WAAW,sBAAsB;IACrC,0BAA0B;IAC1B,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAC7B,mCAAmC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,MAAM,CAAC;IAC1D,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB;IACjB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;CAC3B;AAED;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,EAAE,aAAa,CAAC,sBAAsB,CAsCnE,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1 @@
1
+ import{jsx as l}from"react/jsx-runtime";import{Avatar as n,Text as p}from"@donotdev/components";const t=({config:a,value:s,t:u,className:e,size:r="md"})=>{if(!s)return l(p,{as:"span",variant:"muted",className:e,children:"-"});const i={sm:"size-touch",md:"size-touch",lg:"h-16 w-16"},c=m=>m.split(" ").map(o=>o.charAt(0)).slice(0,2).join("").toUpperCase();return l(n,{src:s,alt:a.label||"Image",fallback:c(a.label||"IMG"),className:`${i[r]} ${e||""}`})};var d=t;export{t as ImageFieldDisplay,d as default};
@@ -0,0 +1,22 @@
1
+ import type { EntityField } from '@donotdev/core';
2
+ import type { ComponentType } from 'react';
3
+ export interface LinkFieldDisplayProps {
4
+ /** Field configuration */
5
+ config: EntityField<'url' | 'email' | 'tel'>;
6
+ /** Value to display */
7
+ value: string;
8
+ /** Translation function */
9
+ t: (key: string, options?: Record<string, any>) => string;
10
+ /** Additional CSS classes */
11
+ className?: string;
12
+ }
13
+ /**
14
+ * LinkFieldDisplay - Displays URL/email/tel values as clickable links
15
+ *
16
+ * @version 0.0.1
17
+ * @since 0.0.1
18
+ * @author AMBROISE PARK Consulting
19
+ */
20
+ export declare const LinkFieldDisplay: ComponentType<LinkFieldDisplayProps>;
21
+ export default LinkFieldDisplay;
22
+ //# sourceMappingURL=LinkFieldDisplay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LinkFieldDisplay.d.ts","sourceRoot":"","sources":["../../../../src/components/fields/display/LinkFieldDisplay.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,MAAM,WAAW,qBAAqB;IACpC,0BAA0B;IAC1B,MAAM,EAAE,WAAW,CAAC,KAAK,GAAG,OAAO,GAAG,KAAK,CAAC,CAAC;IAC7C,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,MAAM,CAAC;IAC1D,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,EAAE,aAAa,CAAC,qBAAqB,CAkDjE,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1 @@
1
+ import{jsx as n}from"react/jsx-runtime";import{Text as i}from"@donotdev/components";const o=({config:l,value:e,t:r,className:t})=>{if(!e)return n(i,{as:"span",variant:"muted",className:t,children:"-"});const s=(()=>{switch(l.type){case"email":return{href:`mailto:${e}`,"aria-label":r("common.sendEmailTo",{email:e})};case"tel":return{href:`tel:${e}`,"aria-label":r("common.callNumber",{number:e})};default:return{href:e,target:"_blank",rel:"noopener noreferrer","aria-label":r("common.openLink")}}})();return n("a",{...s,className:t||"",style:{color:"var(--primary)",textDecoration:"none"},onMouseEnter:a=>a.currentTarget.style.textDecoration="underline",onMouseLeave:a=>a.currentTarget.style.textDecoration="none",children:e})};var c=o;export{o as LinkFieldDisplay,c as default};
@@ -0,0 +1,25 @@
1
+ import type { EntityField } from '@donotdev/core';
2
+ import type { ComponentType } from 'react';
3
+ export interface MapFieldDisplayProps {
4
+ /** Field configuration */
5
+ config: EntityField<'map'>;
6
+ /** Value to display */
7
+ value: {
8
+ lat: number;
9
+ lng: number;
10
+ } | null;
11
+ /** Translation function */
12
+ t: (key: string, options?: Record<string, any>) => string;
13
+ /** Additional CSS classes */
14
+ className?: string;
15
+ }
16
+ /**
17
+ * MapFieldDisplay - Displays map values in read-only mode
18
+ *
19
+ * @version 0.0.1
20
+ * @since 0.0.1
21
+ * @author AMBROISE PARK Consulting
22
+ */
23
+ export declare const MapFieldDisplay: ComponentType<MapFieldDisplayProps>;
24
+ export default MapFieldDisplay;
25
+ //# sourceMappingURL=MapFieldDisplay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MapFieldDisplay.d.ts","sourceRoot":"","sources":["../../../../src/components/fields/display/MapFieldDisplay.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,MAAM,WAAW,oBAAoB;IACnC,0BAA0B;IAC1B,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;IAC3B,uBAAuB;IACvB,KAAK,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC3C,2BAA2B;IAC3B,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,MAAM,CAAC;IAC1D,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,EAAE,aAAa,CAAC,oBAAoB,CAmB/D,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -0,0 +1 @@
1
+ import{jsx as o,jsxs as i}from"react/jsx-runtime";import{Text as l}from"@donotdev/components";const e=({config:m,value:a,t:r,className:s})=>!a||a.lat===void 0&&a.lng===void 0?o(l,{as:"span",variant:"muted",className:s,children:"-"}):i(l,{as:"div",level:"small",className:`font-mono ${s||""}`,children:[a.lat?.toFixed(6),", ",a.lng?.toFixed(6)]});var d=e;export{e as MapFieldDisplay,d as default};
@@ -0,0 +1,22 @@
1
+ import type { EntityField } from '@donotdev/core';
2
+ import type { ComponentType } from 'react';
3
+ export interface MultiDropdownDisplayProps {
4
+ /** Field configuration */
5
+ config: EntityField<'multiselect'>;
6
+ /** Value to display */
7
+ value: string[];
8
+ /** Translation function */
9
+ t: (key: string, options?: Record<string, any>) => string;
10
+ /** Additional CSS classes */
11
+ className?: string;
12
+ }
13
+ /**
14
+ * MultiDropdownDisplay - Displays multiselect values as multiple badges
15
+ *
16
+ * @version 0.0.1
17
+ * @since 0.0.1
18
+ * @author AMBROISE PARK Consulting
19
+ */
20
+ export declare const MultiDropdownDisplay: ComponentType<MultiDropdownDisplayProps>;
21
+ export default MultiDropdownDisplay;
22
+ //# sourceMappingURL=MultiDropdownDisplay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultiDropdownDisplay.d.ts","sourceRoot":"","sources":["../../../../src/components/fields/display/MultiDropdownDisplay.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,MAAM,WAAW,yBAAyB;IACxC,0BAA0B;IAC1B,MAAM,EAAE,WAAW,CAAC,aAAa,CAAC,CAAC;IACnC,uBAAuB;IACvB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,2BAA2B;IAC3B,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,MAAM,CAAC;IAC1D,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,EAAE,aAAa,CAAC,yBAAyB,CAuBzE,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
@@ -0,0 +1 @@
1
+ import{jsx as s}from"react/jsx-runtime";import{Badge as l,BADGE_VARIANT as m,Text as n,Stack as o}from"@donotdev/components";const e=({config:p,value:a,t:d,className:r})=>!a||!Array.isArray(a)||a.length===0?s(n,{as:"span",variant:"muted",className:r,children:"-"}):s(o,{direction:"row",wrap:"wrap",gap:"medium",className:r,children:a.map((t,i)=>s(l,{variant:m.OUTLINE,children:String(t)},i))});var c=e;export{e as MultiDropdownDisplay,c as default};
@@ -0,0 +1,22 @@
1
+ import type { EntityField } from '@donotdev/core';
2
+ import type { ComponentType } from 'react';
3
+ export interface MultiInputTextFieldDisplayProps {
4
+ /** Field configuration */
5
+ config: EntityField<'array'>;
6
+ /** Value to display */
7
+ value: any[];
8
+ /** Translation function */
9
+ t: (key: string, options?: Record<string, any>) => string;
10
+ /** Additional CSS classes */
11
+ className?: string;
12
+ }
13
+ /**
14
+ * MultiInputTextFieldDisplay - Displays array values as multiple badges
15
+ *
16
+ * @version 0.0.1
17
+ * @since 0.0.1
18
+ * @author AMBROISE PARK Consulting
19
+ */
20
+ export declare const MultiInputTextFieldDisplay: ComponentType<MultiInputTextFieldDisplayProps>;
21
+ export default MultiInputTextFieldDisplay;
22
+ //# sourceMappingURL=MultiInputTextFieldDisplay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultiInputTextFieldDisplay.d.ts","sourceRoot":"","sources":["../../../../src/components/fields/display/MultiInputTextFieldDisplay.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,MAAM,WAAW,+BAA+B;IAC9C,0BAA0B;IAC1B,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAC7B,uBAAuB;IACvB,KAAK,EAAE,GAAG,EAAE,CAAC;IACb,2BAA2B;IAC3B,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,MAAM,CAAC;IAC1D,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,EAAE,aAAa,CACpD,+BAA+B,CAmBhC,CAAC;AAEF,eAAe,0BAA0B,CAAC"}
@@ -0,0 +1 @@
1
+ import{jsx as s}from"react/jsx-runtime";import{Badge as n,BADGE_VARIANT as l,Text as m,Stack as c}from"@donotdev/components";const e=({config:d,value:a,t:o,className:t})=>!a||!Array.isArray(a)||a.length===0?s(m,{as:"span",variant:"muted",className:t,children:"-"}):s(c,{direction:"row",wrap:"wrap",gap:"medium",className:t,children:a.map((r,i)=>s(n,{variant:l.OUTLINE,children:String(r)},i))});var p=e;export{e as MultiInputTextFieldDisplay,p as default};
@@ -0,0 +1,24 @@
1
+ import type { EntityField } from '@donotdev/core';
2
+ import type { ComponentType } from 'react';
3
+ export interface NumberFieldDisplayProps {
4
+ /** Field configuration */
5
+ config: EntityField<'number' | 'range'>;
6
+ /** Value to display */
7
+ value: number;
8
+ /** Translation function */
9
+ t: (key: string, options?: Record<string, any>) => string;
10
+ /** Additional CSS classes */
11
+ className?: string;
12
+ /** Whether the field is loading */
13
+ loading?: boolean;
14
+ }
15
+ /**
16
+ * NumberFieldDisplay - Displays number values in read-only mode
17
+ *
18
+ * @version 0.0.1
19
+ * @since 0.0.1
20
+ * @author AMBROISE PARK Consulting
21
+ */
22
+ export declare const NumberFieldDisplay: ComponentType<NumberFieldDisplayProps>;
23
+ export default NumberFieldDisplay;
24
+ //# sourceMappingURL=NumberFieldDisplay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NumberFieldDisplay.d.ts","sourceRoot":"","sources":["../../../../src/components/fields/display/NumberFieldDisplay.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,MAAM,WAAW,uBAAuB;IACtC,0BAA0B;IAC1B,MAAM,EAAE,WAAW,CAAC,QAAQ,GAAG,OAAO,CAAC,CAAC;IACxC,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,MAAM,CAAC;IAC1D,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mCAAmC;IACnC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,EAAE,aAAa,CAAC,uBAAuB,CAwBrE,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1 @@
1
+ import{jsx as s}from"react/jsx-runtime";import{Text as l,Spinner as t}from"@donotdev/components";const o=({config:m,value:e,t:r,className:a,loading:n=!1})=>n?s(t,{className:a}):e==null?s(l,{as:"span",variant:"muted",className:a,children:"-"}):s(l,{as:"span",className:`font-mono ${a||""}`,children:e.toLocaleString()});var i=o;export{o as NumberFieldDisplay,i as default};
@@ -0,0 +1,24 @@
1
+ import type { EntityField } from '@donotdev/core';
2
+ import type { ComponentType } from 'react';
3
+ export interface PasswordFieldDisplayProps {
4
+ /** Field configuration */
5
+ config: EntityField<'password'>;
6
+ /** Value to display */
7
+ value: string;
8
+ /** Translation function */
9
+ t: (key: string, options?: Record<string, any>) => string;
10
+ /** Additional CSS classes */
11
+ className?: string;
12
+ /** Whether the field is loading */
13
+ loading?: boolean;
14
+ }
15
+ /**
16
+ * PasswordFieldDisplay - Displays password values with show/hide toggle and copy functionality
17
+ *
18
+ * @version 0.0.1
19
+ * @since 0.0.1
20
+ * @author AMBROISE PARK Consulting
21
+ */
22
+ export declare const PasswordFieldDisplay: ComponentType<PasswordFieldDisplayProps>;
23
+ export default PasswordFieldDisplay;
24
+ //# sourceMappingURL=PasswordFieldDisplay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PasswordFieldDisplay.d.ts","sourceRoot":"","sources":["../../../../src/components/fields/display/PasswordFieldDisplay.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,MAAM,WAAW,yBAAyB;IACxC,0BAA0B;IAC1B,MAAM,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;IAChC,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,MAAM,CAAC;IAC1D,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mCAAmC;IACnC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,EAAE,aAAa,CAAC,yBAAyB,CAwCzE,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
@@ -0,0 +1 @@
1
+ import{jsx as o,jsxs as r}from"react/jsx-runtime";import{Eye as c,EyeOff as n}from"lucide-react";import{useState as m}from"react";import{Skeleton as u,Button as y,CopyToClipboard as f,Stack as i}from"@donotdev/components";const l=({config:w,value:e,t:s,className:t,loading:d=!1})=>{const[a,p]=m(!1);return d?o(u,{className:t}):e?r(i,{direction:"row",align:"center",gap:"medium",className:t,children:[o("span",{style:{fontFamily:"monospace"},children:a?e:"\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022"}),r(i,{direction:"row",align:"center",gap:"tight",children:[o(y,{type:"button",onClick:()=>p(!a),"aria-label":a?"Hide password":"Show password",children:a?o(n,{}):o(c,{})}),o(f,{text:e,tooltipText:s("copyToClipboard")||"Copy to clipboard",copiedTooltipText:s("copied")||"Copied!",ariaLabel:s("copyPassword")||"Copy password"})]})]}):o("div",{style:{color:"var(--muted-foreground)"},children:"-"})};var g=l;export{l as PasswordFieldDisplay,g as default};
@@ -0,0 +1,22 @@
1
+ import type { EntityField } from '@donotdev/core';
2
+ import type { ComponentType } from 'react';
3
+ export interface PhoneNumberDisplayProps {
4
+ /** Field configuration */
5
+ config: EntityField<'tel'>;
6
+ /** Value to display */
7
+ value: string;
8
+ /** Translation function */
9
+ t: (key: string, options?: Record<string, any>) => string;
10
+ /** Additional CSS classes */
11
+ className?: string;
12
+ }
13
+ /**
14
+ * PhoneNumberDisplay - Displays phone number values as clickable links
15
+ *
16
+ * @version 0.0.1
17
+ * @since 0.0.1
18
+ * @author AMBROISE PARK Consulting
19
+ */
20
+ export declare const PhoneNumberDisplay: ComponentType<PhoneNumberDisplayProps>;
21
+ export default PhoneNumberDisplay;
22
+ //# sourceMappingURL=PhoneNumberDisplay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PhoneNumberDisplay.d.ts","sourceRoot":"","sources":["../../../../src/components/fields/display/PhoneNumberDisplay.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,MAAM,WAAW,uBAAuB;IACtC,0BAA0B;IAC1B,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;IAC3B,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,MAAM,CAAC;IAC1D,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,EAAE,aAAa,CAAC,uBAAuB,CA0BrE,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1 @@
1
+ import{jsx as t}from"react/jsx-runtime";import{Text as s}from"@donotdev/components";const n=({config:c,value:e,t:o,className:r})=>e?t("a",{href:`tel:${e}`,className:r||"",style:{color:"var(--primary)",textDecoration:"none"},onMouseEnter:a=>a.currentTarget.style.textDecoration="underline",onMouseLeave:a=>a.currentTarget.style.textDecoration="none","aria-label":o("common.callNumber",{number:e}),children:e}):t(s,{as:"span",variant:"muted",className:r,children:"-"});var l=n;export{n as PhoneNumberDisplay,l as default};
@@ -0,0 +1,22 @@
1
+ import type { EntityField } from '@donotdev/core';
2
+ import type { ComponentType } from 'react';
3
+ export interface RadioFieldDisplayProps {
4
+ /** Field configuration */
5
+ config: EntityField<'radio'>;
6
+ /** Value to display */
7
+ value: string;
8
+ /** Translation function */
9
+ t: (key: string, options?: Record<string, any>) => string;
10
+ /** Additional CSS classes */
11
+ className?: string;
12
+ }
13
+ /**
14
+ * RadioFieldDisplay - Displays radio values as badges
15
+ *
16
+ * @version 0.0.1
17
+ * @since 0.0.1
18
+ * @author AMBROISE PARK Consulting
19
+ */
20
+ export declare const RadioFieldDisplay: ComponentType<RadioFieldDisplayProps>;
21
+ export default RadioFieldDisplay;
22
+ //# sourceMappingURL=RadioFieldDisplay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RadioFieldDisplay.d.ts","sourceRoot":"","sources":["../../../../src/components/fields/display/RadioFieldDisplay.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,MAAM,WAAW,sBAAsB;IACrC,0BAA0B;IAC1B,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAC7B,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,MAAM,CAAC;IAC1D,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,EAAE,aAAa,CAAC,sBAAsB,CAmBnE,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1 @@
1
+ import{jsx as e}from"react/jsx-runtime";import{Badge as l,BADGE_VARIANT as o,Text as r}from"@donotdev/components";const i=({config:c,value:a,t:d,className:s})=>a?e(l,{variant:o.OUTLINE,className:s,children:a}):e(r,{as:"span",variant:"muted",className:s,children:"-"});var t=i;export{i as RadioFieldDisplay,t as default};
@@ -0,0 +1,22 @@
1
+ import type { EntityField } from '@donotdev/core';
2
+ import type { ComponentType } from 'react';
3
+ export interface RangeFieldDisplayProps {
4
+ /** Field configuration */
5
+ config: EntityField<'range'>;
6
+ /** Value to display */
7
+ value: number;
8
+ /** Translation function */
9
+ t: (key: string, options?: Record<string, any>) => string;
10
+ /** Additional CSS classes */
11
+ className?: string;
12
+ }
13
+ /**
14
+ * RangeFieldDisplay - Displays range values in read-only mode
15
+ *
16
+ * @version 0.0.1
17
+ * @since 0.0.1
18
+ * @author AMBROISE PARK Consulting
19
+ */
20
+ export declare const RangeFieldDisplay: ComponentType<RangeFieldDisplayProps>;
21
+ export default RangeFieldDisplay;
22
+ //# sourceMappingURL=RangeFieldDisplay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RangeFieldDisplay.d.ts","sourceRoot":"","sources":["../../../../src/components/fields/display/RangeFieldDisplay.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,MAAM,WAAW,sBAAsB;IACrC,0BAA0B;IAC1B,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAC7B,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,MAAM,CAAC;IAC1D,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,EAAE,aAAa,CAAC,sBAAsB,CAmBnE,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1 @@
1
+ import{jsx as e}from"react/jsx-runtime";import{Text as l}from"@donotdev/components";const o=({config:n,value:a,t:m,className:s})=>a==null?e(l,{as:"span",variant:"muted",className:s,children:"-"}):e(l,{as:"span",className:`font-mono ${s||""}`,children:a});var t=o;export{o as RangeFieldDisplay,t as default};
@@ -0,0 +1,22 @@
1
+ import type { EntityField } from '@donotdev/core';
2
+ import type { ComponentType } from 'react';
3
+ export interface ReferenceFieldDisplayProps {
4
+ /** Field configuration */
5
+ config: EntityField<'reference'>;
6
+ /** Value to display */
7
+ value: any;
8
+ /** Translation function */
9
+ t: (key: string, options?: Record<string, any>) => string;
10
+ /** Additional CSS classes */
11
+ className?: string;
12
+ }
13
+ /**
14
+ * ReferenceFieldDisplay - Displays reference values as badges
15
+ *
16
+ * @version 0.0.1
17
+ * @since 0.0.1
18
+ * @author AMBROISE PARK Consulting
19
+ */
20
+ export declare const ReferenceFieldDisplay: ComponentType<ReferenceFieldDisplayProps>;
21
+ export default ReferenceFieldDisplay;
22
+ //# sourceMappingURL=ReferenceFieldDisplay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReferenceFieldDisplay.d.ts","sourceRoot":"","sources":["../../../../src/components/fields/display/ReferenceFieldDisplay.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,MAAM,WAAW,0BAA0B;IACzC,0BAA0B;IAC1B,MAAM,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;IACjC,uBAAuB;IACvB,KAAK,EAAE,GAAG,CAAC;IACX,2BAA2B;IAC3B,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,MAAM,CAAC;IAC1D,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,EAAE,aAAa,CAC/C,0BAA0B,CAiB3B,CAAC;AAEF,eAAe,qBAAqB,CAAC"}
@@ -0,0 +1 @@
1
+ import{jsx as e}from"react/jsx-runtime";import{Badge as n,BADGE_VARIANT as r,Text as m}from"@donotdev/components";const t=({config:c,value:a,t:d,className:s})=>{if(!a)return e(m,{as:"span",variant:"muted",className:s,children:"-"});const i=a.displayName||a.name||a.id||a;return e(n,{variant:r.OUTLINE,className:s,children:String(i)})};var l=t;export{t as ReferenceFieldDisplay,l as default};
@@ -0,0 +1,25 @@
1
+ import type { EntityField } from '@donotdev/core';
2
+ import type { ComponentType } from 'react';
3
+ export interface RichTextDisplayProps {
4
+ /** Field configuration */
5
+ config: EntityField<'richtext'>;
6
+ /** HTML value to display */
7
+ value: string;
8
+ /** Translation function */
9
+ t: (key: string, options?: Record<string, any>) => string;
10
+ /** Additional CSS classes */
11
+ className?: string;
12
+ }
13
+ /**
14
+ * RichTextDisplay - Displays rich text/HTML content in read-only mode
15
+ *
16
+ * Renders HTML with styling that matches Tiptap editor output.
17
+ * Safe to use with HTML from Tiptap (sanitized by Tiptap).
18
+ *
19
+ * @version 0.0.1
20
+ * @since 0.0.1
21
+ * @author AMBROISE PARK Consulting
22
+ */
23
+ export declare const RichTextDisplay: ComponentType<RichTextDisplayProps>;
24
+ export default RichTextDisplay;
25
+ //# sourceMappingURL=RichTextDisplay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RichTextDisplay.d.ts","sourceRoot":"","sources":["../../../../src/components/fields/display/RichTextDisplay.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,MAAM,WAAW,oBAAoB;IACnC,0BAA0B;IAC1B,MAAM,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;IAChC,4BAA4B;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,MAAM,CAAC;IAC1D,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe,EAAE,aAAa,CAAC,oBAAoB,CAmG/D,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -0,0 +1,61 @@
1
+ import{jsx as r,jsxs as s}from"react/jsx-runtime";import{Text as i}from"@donotdev/components";const a=({config:n,value:e,t:m,className:o})=>!e||e.trim()===""?r(i,{as:"span",variant:"muted",className:o,children:"-"}):s("div",{className:o,style:{padding:"var(--gap-md)",backgroundColor:"var(--muted)",borderRadius:"var(--radius-md)",border:"1px solid var(--border)",minHeight:"38px"},children:[r("div",{dangerouslySetInnerHTML:{__html:e},style:{outline:"none",fontSize:"var(--font-size-base)",lineHeight:"1.6"},className:"prose prose-sm max-w-none"}),r("style",{children:`
2
+ /* Match Tiptap ProseMirror styling */
3
+ .prose p {
4
+ margin: 0.5em 0;
5
+ }
6
+ .prose p:first-child {
7
+ margin-top: 0;
8
+ }
9
+ .prose p:last-child {
10
+ margin-bottom: 0;
11
+ }
12
+ .prose h1 {
13
+ font-size: var(--font-size-2xl);
14
+ font-weight: 600;
15
+ margin: 0.5em 0;
16
+ }
17
+ .prose h2 {
18
+ font-size: var(--font-size-xl);
19
+ font-weight: 600;
20
+ margin: 0.5em 0;
21
+ }
22
+ .prose h3 {
23
+ font-size: var(--font-size-lg);
24
+ font-weight: 600;
25
+ margin: 0.5em 0;
26
+ }
27
+ .prose ul, .prose ol {
28
+ padding-left: 1.5em;
29
+ margin: 0.5em 0;
30
+ }
31
+ .prose li {
32
+ margin: 0.25em 0;
33
+ }
34
+ .prose strong {
35
+ font-weight: 600;
36
+ }
37
+ .prose em {
38
+ font-style: italic;
39
+ }
40
+ .prose code {
41
+ background: var(--muted);
42
+ padding: 0.2em 0.4em;
43
+ border-radius: var(--radius-sm);
44
+ font-family: monospace;
45
+ font-size: 0.9em;
46
+ }
47
+ .prose blockquote {
48
+ border-left: 3px solid var(--border);
49
+ padding-left: 1em;
50
+ margin: 0.5em 0;
51
+ color: var(--muted-foreground);
52
+ font-style: italic;
53
+ }
54
+ .prose a {
55
+ color: var(--primary);
56
+ text-decoration: underline;
57
+ }
58
+ .prose a:hover {
59
+ color: var(--primary-hover);
60
+ }
61
+ `})]});var t=a;export{a as RichTextDisplay,t as default};
@@ -0,0 +1,22 @@
1
+ import type { EntityField } from '@donotdev/core';
2
+ import type { ComponentType } from 'react';
3
+ export interface TextAreaDisplayProps {
4
+ /** Field configuration */
5
+ config: EntityField<'textarea'>;
6
+ /** Value to display */
7
+ value: string;
8
+ /** Translation function */
9
+ t: (key: string, options?: Record<string, any>) => string;
10
+ /** Additional CSS classes */
11
+ className?: string;
12
+ }
13
+ /**
14
+ * TextAreaDisplay - Displays textarea values in read-only mode
15
+ *
16
+ * @version 0.0.1
17
+ * @since 0.0.1
18
+ * @author AMBROISE PARK Consulting
19
+ */
20
+ export declare const TextAreaDisplay: ComponentType<TextAreaDisplayProps>;
21
+ export default TextAreaDisplay;
22
+ //# sourceMappingURL=TextAreaDisplay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextAreaDisplay.d.ts","sourceRoot":"","sources":["../../../../src/components/fields/display/TextAreaDisplay.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,MAAM,WAAW,oBAAoB;IACnC,0BAA0B;IAC1B,MAAM,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;IAChC,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,MAAM,CAAC;IAC1D,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,EAAE,aAAa,CAAC,oBAAoB,CAuB/D,CAAC;AAEF,eAAe,eAAe,CAAC"}