@donotdev/crud 0.0.9 → 0.0.11

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 (194) 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/adapters/FirestoreAdapter.d.ts +1 -1
  7. package/dist/adapters/FirestoreAdapter.d.ts.map +1 -1
  8. package/dist/adapters/FirestoreAdapter.js +1 -1
  9. package/dist/adapters/FunctionsAdapter.d.ts +1 -1
  10. package/dist/adapters/FunctionsAdapter.d.ts.map +1 -1
  11. package/dist/adapters/FunctionsAdapter.js +1 -1
  12. package/dist/builtinFieldTypes.d.ts +17 -4
  13. package/dist/builtinFieldTypes.d.ts.map +1 -1
  14. package/dist/builtinFieldTypes.js +1 -1
  15. package/dist/components/DisplayFieldRenderer.d.ts +2 -0
  16. package/dist/components/DisplayFieldRenderer.d.ts.map +1 -1
  17. package/dist/components/DisplayFieldRenderer.js +1 -1
  18. package/dist/components/EntityDisplayRenderer.d.ts +2 -2
  19. package/dist/components/EntityDisplayRenderer.d.ts.map +1 -1
  20. package/dist/components/EntityDisplayRenderer.js +1 -1
  21. package/dist/components/EntityFilters.d.ts +19 -1
  22. package/dist/components/EntityFilters.d.ts.map +1 -1
  23. package/dist/components/EntityFilters.js +1 -1
  24. package/dist/components/FormFieldRenderer.d.ts.map +1 -1
  25. package/dist/components/FormFieldRenderer.js +1 -1
  26. package/dist/components/controlled/input/ControlledCurrencyField.d.ts +8 -0
  27. package/dist/components/controlled/input/ControlledCurrencyField.d.ts.map +1 -0
  28. package/dist/components/controlled/input/ControlledCurrencyField.js +1 -0
  29. package/dist/components/controlled/input/ControlledDurationField.d.ts +7 -0
  30. package/dist/components/controlled/input/ControlledDurationField.d.ts.map +1 -0
  31. package/dist/components/controlled/input/ControlledDurationField.js +1 -0
  32. package/dist/components/controlled/input/ControlledGdprConsentField.d.ts.map +1 -1
  33. package/dist/components/controlled/input/ControlledGdprConsentField.js +1 -1
  34. package/dist/components/controlled/input/ControlledPriceField.d.ts +8 -0
  35. package/dist/components/controlled/input/ControlledPriceField.d.ts.map +1 -0
  36. package/dist/components/controlled/input/ControlledPriceField.js +1 -0
  37. package/dist/components/controlled/input/ControlledRatingField.d.ts +8 -0
  38. package/dist/components/controlled/input/ControlledRatingField.d.ts.map +1 -0
  39. package/dist/components/controlled/input/ControlledRatingField.js +1 -0
  40. package/dist/components/controlled/input/index.d.ts +4 -0
  41. package/dist/components/controlled/input/index.d.ts.map +1 -1
  42. package/dist/components/controlled/input/index.js +1 -1
  43. package/dist/components/controlled/select/ControlledYearField.js +1 -1
  44. package/dist/components/fields/display/AvatarFieldDisplay.d.ts +23 -0
  45. package/dist/components/fields/display/AvatarFieldDisplay.d.ts.map +1 -0
  46. package/dist/components/fields/display/AvatarFieldDisplay.js +1 -0
  47. package/dist/components/fields/display/BadgeFieldDisplay.d.ts +21 -0
  48. package/dist/components/fields/display/BadgeFieldDisplay.d.ts.map +1 -0
  49. package/dist/components/fields/display/BadgeFieldDisplay.js +1 -0
  50. package/dist/components/fields/display/ButtonFieldDisplay.d.ts +29 -0
  51. package/dist/components/fields/display/ButtonFieldDisplay.d.ts.map +1 -0
  52. package/dist/components/fields/display/ButtonFieldDisplay.js +1 -0
  53. package/dist/components/fields/display/CheckboxFieldDisplay.d.ts +21 -0
  54. package/dist/components/fields/display/CheckboxFieldDisplay.d.ts.map +1 -0
  55. package/dist/components/fields/display/CheckboxFieldDisplay.js +1 -0
  56. package/dist/components/fields/display/DateFieldDisplay.d.ts +24 -0
  57. package/dist/components/fields/display/DateFieldDisplay.d.ts.map +1 -0
  58. package/dist/components/fields/display/DateFieldDisplay.js +1 -0
  59. package/dist/components/fields/display/DropdownDisplay.d.ts +21 -0
  60. package/dist/components/fields/display/DropdownDisplay.d.ts.map +1 -0
  61. package/dist/components/fields/display/DropdownDisplay.js +1 -0
  62. package/dist/components/fields/display/FileFieldDisplay.d.ts +21 -0
  63. package/dist/components/fields/display/FileFieldDisplay.d.ts.map +1 -0
  64. package/dist/components/fields/display/FileFieldDisplay.js +1 -0
  65. package/dist/components/fields/display/GeoPointFieldDisplay.d.ts +25 -0
  66. package/dist/components/fields/display/GeoPointFieldDisplay.d.ts.map +1 -0
  67. package/dist/components/fields/display/GeoPointFieldDisplay.js +1 -0
  68. package/dist/components/fields/display/HiddenFieldDisplay.d.ts +30 -0
  69. package/dist/components/fields/display/HiddenFieldDisplay.d.ts.map +1 -0
  70. package/dist/components/fields/display/HiddenFieldDisplay.js +1 -0
  71. package/dist/components/fields/display/ImageFieldDisplay.d.ts +24 -0
  72. package/dist/components/fields/display/ImageFieldDisplay.d.ts.map +1 -0
  73. package/dist/components/fields/display/ImageFieldDisplay.js +1 -0
  74. package/dist/components/fields/display/LinkFieldDisplay.d.ts +22 -0
  75. package/dist/components/fields/display/LinkFieldDisplay.d.ts.map +1 -0
  76. package/dist/components/fields/display/LinkFieldDisplay.js +1 -0
  77. package/dist/components/fields/display/MapFieldDisplay.d.ts +25 -0
  78. package/dist/components/fields/display/MapFieldDisplay.d.ts.map +1 -0
  79. package/dist/components/fields/display/MapFieldDisplay.js +1 -0
  80. package/dist/components/fields/display/MultiDropdownDisplay.d.ts +22 -0
  81. package/dist/components/fields/display/MultiDropdownDisplay.d.ts.map +1 -0
  82. package/dist/components/fields/display/MultiDropdownDisplay.js +1 -0
  83. package/dist/components/fields/display/MultiInputTextFieldDisplay.d.ts +22 -0
  84. package/dist/components/fields/display/MultiInputTextFieldDisplay.d.ts.map +1 -0
  85. package/dist/components/fields/display/MultiInputTextFieldDisplay.js +1 -0
  86. package/dist/components/fields/display/NumberFieldDisplay.d.ts +24 -0
  87. package/dist/components/fields/display/NumberFieldDisplay.d.ts.map +1 -0
  88. package/dist/components/fields/display/NumberFieldDisplay.js +1 -0
  89. package/dist/components/fields/display/PasswordFieldDisplay.d.ts +24 -0
  90. package/dist/components/fields/display/PasswordFieldDisplay.d.ts.map +1 -0
  91. package/dist/components/fields/display/PasswordFieldDisplay.js +1 -0
  92. package/dist/components/fields/display/PhoneNumberDisplay.d.ts +22 -0
  93. package/dist/components/fields/display/PhoneNumberDisplay.d.ts.map +1 -0
  94. package/dist/components/fields/display/PhoneNumberDisplay.js +1 -0
  95. package/dist/components/fields/display/RadioFieldDisplay.d.ts +22 -0
  96. package/dist/components/fields/display/RadioFieldDisplay.d.ts.map +1 -0
  97. package/dist/components/fields/display/RadioFieldDisplay.js +1 -0
  98. package/dist/components/fields/display/RangeFieldDisplay.d.ts +22 -0
  99. package/dist/components/fields/display/RangeFieldDisplay.d.ts.map +1 -0
  100. package/dist/components/fields/display/RangeFieldDisplay.js +1 -0
  101. package/dist/components/fields/display/ReferenceFieldDisplay.d.ts +22 -0
  102. package/dist/components/fields/display/ReferenceFieldDisplay.d.ts.map +1 -0
  103. package/dist/components/fields/display/ReferenceFieldDisplay.js +1 -0
  104. package/dist/components/fields/display/RichTextDisplay.d.ts +25 -0
  105. package/dist/components/fields/display/RichTextDisplay.d.ts.map +1 -0
  106. package/dist/components/fields/display/RichTextDisplay.js +61 -0
  107. package/dist/components/fields/display/TextAreaDisplay.d.ts +22 -0
  108. package/dist/components/fields/display/TextAreaDisplay.d.ts.map +1 -0
  109. package/dist/components/fields/display/TextAreaDisplay.js +1 -0
  110. package/dist/components/fields/display/TextFieldDisplay.d.ts +42 -0
  111. package/dist/components/fields/display/TextFieldDisplay.d.ts.map +1 -0
  112. package/dist/components/fields/display/TextFieldDisplay.js +1 -0
  113. package/dist/components/fields/display/TimestampFieldDisplay.d.ts +22 -0
  114. package/dist/components/fields/display/TimestampFieldDisplay.d.ts.map +1 -0
  115. package/dist/components/fields/display/TimestampFieldDisplay.js +1 -0
  116. package/dist/components/fields/display/index.d.ts +32 -0
  117. package/dist/components/fields/display/index.d.ts.map +1 -0
  118. package/dist/components/fields/display/index.js +1 -0
  119. package/dist/components/form/fields/ComboboxComponent.d.ts +6 -0
  120. package/dist/components/form/fields/ComboboxComponent.d.ts.map +1 -1
  121. package/dist/components/form/fields/ComboboxComponent.js +1 -1
  122. package/dist/components/form/fields/DurationFieldComponent.d.ts +42 -0
  123. package/dist/components/form/fields/DurationFieldComponent.d.ts.map +1 -0
  124. package/dist/components/form/fields/DurationFieldComponent.js +1 -0
  125. package/dist/components/form/fields/GdprConsentFieldComponent.d.ts +2 -2
  126. package/dist/components/form/fields/GdprConsentFieldComponent.d.ts.map +1 -1
  127. package/dist/components/form/fields/GdprConsentFieldComponent.js +1 -1
  128. package/dist/components/form/fields/PriceFieldComponent.d.ts +34 -0
  129. package/dist/components/form/fields/PriceFieldComponent.d.ts.map +1 -0
  130. package/dist/components/form/fields/PriceFieldComponent.js +1 -0
  131. package/dist/components/form/fields/RatingFieldComponent.d.ts +37 -0
  132. package/dist/components/form/fields/RatingFieldComponent.d.ts.map +1 -0
  133. package/dist/components/form/fields/RatingFieldComponent.js +1 -0
  134. package/dist/components/form/fields/index.d.ts +7 -0
  135. package/dist/components/form/fields/index.d.ts.map +1 -1
  136. package/dist/components/form/fields/index.js +1 -1
  137. package/dist/components/index.d.ts +3 -9
  138. package/dist/components/index.d.ts.map +1 -1
  139. package/dist/components/index.js +1 -1
  140. package/dist/fieldTypeRegistry.d.ts +92 -0
  141. package/dist/fieldTypeRegistry.d.ts.map +1 -0
  142. package/dist/fieldTypeRegistry.js +1 -0
  143. package/dist/forms/hooks/useEntityForm.d.ts.map +1 -1
  144. package/dist/forms/hooks/useEntityForm.js +1 -1
  145. package/dist/forms/types.d.ts +5 -3
  146. package/dist/forms/types.d.ts.map +1 -1
  147. package/dist/forms/utils/getFieldsForOperation.d.ts +2 -3
  148. package/dist/forms/utils/getFieldsForOperation.d.ts.map +1 -1
  149. package/dist/forms/utils/getFieldsForOperation.js +1 -1
  150. package/dist/forms/utils/isFieldEditable.d.ts +1 -1
  151. package/dist/forms/utils/isFieldEditable.d.ts.map +1 -1
  152. package/dist/hooks/index.d.ts +5 -0
  153. package/dist/hooks/index.d.ts.map +1 -1
  154. package/dist/hooks/index.js +1 -1
  155. package/dist/hooks/useEntityFavorites.d.ts +53 -0
  156. package/dist/hooks/useEntityFavorites.d.ts.map +1 -0
  157. package/dist/hooks/useEntityFavorites.js +1 -0
  158. package/dist/hooks/useRelatedItems.d.ts +37 -0
  159. package/dist/hooks/useRelatedItems.d.ts.map +1 -0
  160. package/dist/hooks/useRelatedItems.js +1 -0
  161. package/dist/index.d.ts +4 -3
  162. package/dist/index.d.ts.map +1 -1
  163. package/dist/index.js +1 -1
  164. package/dist/registerBuiltinFieldTypes.d.ts +6 -0
  165. package/dist/registerBuiltinFieldTypes.d.ts.map +1 -0
  166. package/dist/registerBuiltinFieldTypes.js +1 -0
  167. package/dist/tsconfig.tsbuildinfo +1 -1
  168. package/dist/types.d.ts +60 -25
  169. package/dist/types.d.ts.map +1 -1
  170. package/dist/useBaseCrudList.d.ts +53 -0
  171. package/dist/useBaseCrudList.d.ts.map +1 -0
  172. package/dist/useBaseCrudList.js +1 -0
  173. package/dist/useCrud.d.ts +3 -6
  174. package/dist/useCrud.d.ts.map +1 -1
  175. package/dist/useCrud.js +1 -1
  176. package/dist/useCrudCardList.d.ts +10 -4
  177. package/dist/useCrudCardList.d.ts.map +1 -1
  178. package/dist/useCrudCardList.js +1 -1
  179. package/dist/useCrudList.d.ts +12 -5
  180. package/dist/useCrudList.d.ts.map +1 -1
  181. package/dist/useCrudList.js +1 -1
  182. package/dist/utils/mergeWithOptimistic.d.ts +4 -5
  183. package/dist/utils/mergeWithOptimistic.d.ts.map +1 -1
  184. package/dist/utils/mergeWithOptimistic.js +1 -1
  185. package/dist/utils/scopeUtils.d.ts +38 -0
  186. package/dist/utils/scopeUtils.d.ts.map +1 -0
  187. package/dist/utils/scopeUtils.js +1 -0
  188. package/package.json +15 -14
  189. package/dist/components/EntityCardList.d.ts +0 -29
  190. package/dist/components/EntityCardList.d.ts.map +0 -1
  191. package/dist/components/EntityCardList.js +0 -1
  192. package/dist/components/EntityList.d.ts +0 -30
  193. package/dist/components/EntityList.d.ts.map +0 -1
  194. package/dist/components/EntityList.js +0 -1
@@ -0,0 +1 @@
1
+ "use client";import{jsx as c}from"react/jsx-runtime";import{Controller as g}from"react-hook-form";import{CurrencyFieldComponent as v}from"../../form/fields";import{convertValidationRules as y}from"../types";function V(i){const{control:s,errors:l,fieldConfig:t,t:d,placeholder:p}=i,{name:o,label:m,validation:r}=t,a=(t.options||{}).fieldSpecific;return c(g,{name:o,control:s,rules:r?y(r):void 0,render:({field:e})=>{const f=h=>{const n=h.target.value;if(n==null||n===""){e.onChange(null);return}const u=typeof n=="number"?n/100:parseFloat(String(n))/100;isNaN(u)?e.onChange(null):e.onChange(u)},C=e.value!=null&&!isNaN(e.value)?Math.round(e.value*100):void 0;return c(v,{label:d(m),value:C,onChange:f,currency:a?.currency||"EUR",locale:a?.locale,error:!!l[o],helperText:l[o]?.message,required:r?.required,placeholder:p})}})}export{V as ControlledCurrencyField};
@@ -0,0 +1,7 @@
1
+ import { type ControlledFieldProps } from '../types';
2
+ import type { ReactElement } from 'react';
3
+ /**
4
+ * ControlledDurationField - Controlled component for duration (minutes) with preset chips + custom slider
5
+ */
6
+ export declare function ControlledDurationField(props: ControlledFieldProps): ReactElement;
7
+ //# sourceMappingURL=ControlledDurationField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ControlledDurationField.d.ts","sourceRoot":"","sources":["../../../../src/components/controlled/input/ControlledDurationField.tsx"],"names":[],"mappings":"AAgBA,OAAO,EAA0B,KAAK,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAG7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,oBAAoB,GAC1B,YAAY,CA8Bd"}
@@ -0,0 +1 @@
1
+ "use client";import{jsx as a}from"react/jsx-runtime";import{Controller as c}from"react-hook-form";import{DurationFieldComponent as u}from"../../form/fields";import{convertValidationRules as f}from"../types";function h(s){const{control:m,errors:i,fieldConfig:t,t:l}=s,{name:e,label:d,validation:o}=t,n=(t.options||{}).fieldSpecific;return a(c,{name:e,control:m,rules:o?f(o):void 0,render:({field:r})=>a(u,{label:l(d),value:r.value??0,onChange:p=>r.onChange(p),error:!!i[e],helperText:i[e]?.message,required:o?.required,disabled:r.disabled,min:n?.min??0,max:n?.max??480,step:n?.step??5,t:l})})}export{h as ControlledDurationField};
@@ -1 +1 @@
1
- {"version":3,"file":"ControlledGdprConsentField.d.ts","sourceRoot":"","sources":["../../../../src/components/controlled/input/ControlledGdprConsentField.tsx"],"names":[],"mappings":"AAOA,OAAO,EAA0B,KAAK,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAI7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,oBAAoB,GAC1B,YAAY,CAgCd"}
1
+ {"version":3,"file":"ControlledGdprConsentField.d.ts","sourceRoot":"","sources":["../../../../src/components/controlled/input/ControlledGdprConsentField.tsx"],"names":[],"mappings":"AAOA,OAAO,EAA0B,KAAK,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAI7E,OAAO,KAAK,EAAe,YAAY,EAAE,MAAM,OAAO,CAAC;AAEvD;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,oBAAoB,GAC1B,YAAY,CA0Dd"}
@@ -1 +1 @@
1
- "use client";import{jsx as t}from"react/jsx-runtime";import{Controller as p}from"react-hook-form";import{GdprConsentFieldComponent as f}from"../../form/fields";import{convertValidationRules as h}from"../types";function g(n){const{control:i,errors:u,fieldConfig:c}=n,{name:a,validation:e,options:l={}}=c,o=l.fieldSpecific,s=o?.privacyPolicyPath||"/legal/privacy",d=o?.termsPath||"/legal/terms";return t(p,{name:a,control:i,rules:e?h(e):void 0,render:({field:r})=>t(f,{checked:!!r.value,onChange:m=>r.onChange(m.target.checked),required:e?.required,privacyPolicyPath:s,termsPath:d})})}export{g as ControlledGdprConsentField};
1
+ "use client";import{jsx as r}from"react/jsx-runtime";import{Controller as m}from"react-hook-form";import{GdprConsentFieldComponent as u}from"../../form/fields";import{convertValidationRules as f}from"../types";function D(c){const{control:a,errors:y,fieldConfig:i}=c,{name:s,validation:n,options:l={}}=i,t=l.fieldSpecific,d=t?.privacyPolicyPath||"/legal/privacy",p=t?.termsPath||"/legal/terms";return r(m,{name:s,control:a,rules:n?f(n):void 0,render:({field:o})=>{const e=o.value,h=typeof e=="object"&&e!==null?!!e.gdprConsent:!!e;return r(u,{checked:h,onChange:C=>{if(C.target.checked){const g=new Date().toISOString().split("T")[0];o.onChange({gdprConsent:!0,gdprConsentDate:new Date().toISOString(),gdprConsentVersion:g})}else o.onChange(!1)},required:n?.required,privacyPolicyPath:d,termsPath:p})}})}export{D as ControlledGdprConsentField};
@@ -0,0 +1,8 @@
1
+ import { type ControlledFieldProps } from '../types';
2
+ import type { ReactElement } from 'react';
3
+ /**
4
+ * ControlledPriceField - Controlled component for structured price (amount, currency, VAT, discount %).
5
+ * Value: { amount, currency?, vatIncluded?, discountPercent? }.
6
+ */
7
+ export declare function ControlledPriceField(props: ControlledFieldProps): ReactElement;
8
+ //# sourceMappingURL=ControlledPriceField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ControlledPriceField.d.ts","sourceRoot":"","sources":["../../../../src/components/controlled/input/ControlledPriceField.tsx"],"names":[],"mappings":"AAOA,OAAO,EAA0B,KAAK,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAI7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAI1C;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,oBAAoB,GAC1B,YAAY,CA2Cd"}
@@ -0,0 +1 @@
1
+ "use client";import{jsx as l}from"react/jsx-runtime";import{Controller as C}from"react-hook-form";import{PriceFieldComponent as h}from"../../form/fields";import{convertValidationRules as g}from"../types";function q(c){const{control:s,errors:n,fieldConfig:i,t:a,placeholder:d}=c,{name:e,label:u,validation:o}=i,r=(i.options||{}).fieldSpecific;return l(C,{name:e,control:s,rules:o?g(o):void 0,render:({field:t})=>{const p=t.value,f=m=>{t.onChange(m)};return l(h,{label:a(u),value:p??void 0,onChange:f,error:!!n[e],helperText:n[e]?.message,required:o?.required,placeholder:d,defaultCurrency:r?.defaultCurrency??"EUR",optionsTitle:r?.optionsTitle,currencies:r?.currencies})}})}export{q as ControlledPriceField};
@@ -0,0 +1,8 @@
1
+ import { type ControlledFieldProps } from '../types';
2
+ import type { ReactElement } from 'react';
3
+ /**
4
+ * ControlledRatingField - Controlled component for star rating inputs
5
+ * Wraps RatingFieldComponent with react-hook-form Controller
6
+ */
7
+ export declare function ControlledRatingField(props: ControlledFieldProps): ReactElement;
8
+ //# sourceMappingURL=ControlledRatingField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ControlledRatingField.d.ts","sourceRoot":"","sources":["../../../../src/components/controlled/input/ControlledRatingField.tsx"],"names":[],"mappings":"AAiBA,OAAO,EAA0B,KAAK,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAG7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,oBAAoB,GAC1B,YAAY,CA8Bd"}
@@ -0,0 +1 @@
1
+ "use client";import{jsx as l}from"react/jsx-runtime";import{Controller as p}from"react-hook-form";import{RatingFieldComponent as u}from"../../form/fields";import{convertValidationRules as f}from"../types";function R(a){const{control:s,errors:n,fieldConfig:r,t:m}=a,{name:o,label:c,validation:e}=r,i=(r.options||{}).fieldSpecific;return l(p,{name:o,control:s,rules:e?f(e):void 0,render:({field:t})=>l(u,{label:m(c),value:t.value??0,onChange:d=>{t.onChange(d)},error:!!n[o],helperText:n[o]?.message,required:e?.required,max:i?.max??e?.max??5,showValue:i?.showValue})})}export{R as ControlledRatingField};
@@ -1,8 +1,12 @@
1
1
  export { ControlledCheckboxField } from './ControlledCheckboxField';
2
+ export { ControlledCurrencyField } from './ControlledCurrencyField';
2
3
  export { ControlledNumberField } from './ControlledNumberField';
3
4
  export { ControlledPasswordField } from './ControlledPasswordField';
5
+ export { ControlledPriceField } from './ControlledPriceField';
4
6
  export { ControlledPhoneField } from './ControlledPhoneField';
5
7
  export { ControlledRangeField } from './ControlledRangeField';
8
+ export { ControlledRatingField } from './ControlledRatingField';
9
+ export { ControlledDurationField } from './ControlledDurationField';
6
10
  export { ControlledSwitchField } from './ControlledSwitchField';
7
11
  export { ControlledTextField } from './ControlledTextField';
8
12
  export { ControlledTextareaField } from './ControlledTextareaField';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/controlled/input/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/controlled/input/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC"}
@@ -1 +1 @@
1
- import{ControlledCheckboxField as r}from"./ControlledCheckboxField";import{ControlledNumberField as t}from"./ControlledNumberField";import{ControlledPasswordField as n}from"./ControlledPasswordField";import{ControlledPhoneField as C}from"./ControlledPhoneField";import{ControlledRangeField as m}from"./ControlledRangeField";import{ControlledSwitchField as f}from"./ControlledSwitchField";import{ControlledTextField as a}from"./ControlledTextField";import{ControlledTextareaField as s}from"./ControlledTextareaField";import{ControlledGdprConsentField as c}from"./ControlledGdprConsentField";export{r as ControlledCheckboxField,c as ControlledGdprConsentField,t as ControlledNumberField,n as ControlledPasswordField,C as ControlledPhoneField,m as ControlledRangeField,f as ControlledSwitchField,a as ControlledTextField,s as ControlledTextareaField};
1
+ import{ControlledCheckboxField as r}from"./ControlledCheckboxField";import{ControlledCurrencyField as t}from"./ControlledCurrencyField";import{ControlledNumberField as n}from"./ControlledNumberField";import{ControlledPasswordField as x}from"./ControlledPasswordField";import{ControlledPriceField as m}from"./ControlledPriceField";import{ControlledPhoneField as f}from"./ControlledPhoneField";import{ControlledRangeField as a}from"./ControlledRangeField";import{ControlledRatingField as h}from"./ControlledRatingField";import{ControlledDurationField as u}from"./ControlledDurationField";import{ControlledSwitchField as b}from"./ControlledSwitchField";import{ControlledTextField as w}from"./ControlledTextField";import{ControlledTextareaField as T}from"./ControlledTextareaField";import{ControlledGdprConsentField as y}from"./ControlledGdprConsentField";export{r as ControlledCheckboxField,t as ControlledCurrencyField,u as ControlledDurationField,y as ControlledGdprConsentField,n as ControlledNumberField,x as ControlledPasswordField,f as ControlledPhoneField,m as ControlledPriceField,a as ControlledRangeField,h as ControlledRatingField,b as ControlledSwitchField,w as ControlledTextField,T as ControlledTextareaField};
@@ -1 +1 @@
1
- "use client";import{jsx as s}from"react/jsx-runtime";import{useMemo as b}from"react";import{Controller as h}from"react-hook-form";import{ComboboxComponent as x}from"../../form/fields";import{translateLabel as C}from"../../../forms/utils";import{convertValidationRules as v}from"../types";function w(m){const{control:i,errors:l,fieldConfig:c,t:u,placeholder:p}=m,{name:t,label:d,validation:r}=c,g=b(()=>{const e=r?.min??1900,a=r?.max??new Date().getFullYear()+10,o=[];for(let n=a;n>=e;n--)o.push({value:String(n),label:String(n)});return o},[r?.min,r?.max]);return s(h,{name:t,control:i,rules:r?v(r):void 0,render:({field:e})=>{const a=o=>{const n=typeof o=="string"?o:o.target.value,f=n===""?void 0:Number(n);e.onChange(f)};return s(x,{...e,label:C(d,u),value:e.value!==void 0&&e.value!==null?String(e.value):"",onChange:a,onBlur:e.onBlur,options:g,error:!!l[t],helperText:l[t]?.message,required:r?.required,placeholder:p||u("actions.selectYear",{defaultValue:"Select or type year"}),creatable:!0})}})}export{w as ControlledYearField};
1
+ "use client";import{jsx as s}from"react/jsx-runtime";import{useMemo as b}from"react";import{Controller as x}from"react-hook-form";import{ComboboxComponent as C}from"../../form/fields";import{translateLabel as y}from"../../../forms/utils";import{convertValidationRules as v}from"../types";function B(i){const{control:u,errors:l,fieldConfig:m,t:c,placeholder:p}=i,{name:t,label:d,validation:r,options:f={}}=m,g=b(()=>{const e=r?.min??1900,a=r?.max??new Date().getFullYear()+10,n=[];for(let o=a;o>=e;o--)n.push({value:String(o),label:String(o)});return n},[r?.min,r?.max]);return s(x,{name:t,control:u,rules:r?v(r):void 0,render:({field:e})=>{const a=n=>{const o=typeof n=="string"?n:n.target.value,h=o===""?void 0:Number(o);e.onChange(h)};return s(C,{...e,label:y(d,c),value:e.value!==void 0&&e.value!==null?String(e.value):"",onChange:a,onBlur:e.onBlur,options:g,error:!!l[t],helperText:l[t]?.message,required:r?.required,placeholder:p||f.placeholder,translationNamespace:"crud",placeholderKey:"actions.selectYear",placeholderDefault:"Select or type year",creatable:!0})}})}export{B as ControlledYearField};
@@ -0,0 +1,23 @@
1
+ import type { EntityField } from '@donotdev/core';
2
+ export interface AvatarFieldDisplayProps {
3
+ /** Field configuration */
4
+ config: EntityField<'image'>;
5
+ /** Value to display (image URL) */
6
+ value: string;
7
+ /** Translation function */
8
+ t: (key: string, options?: Record<string, any>) => string;
9
+ /** Additional CSS classes */
10
+ className?: string;
11
+ /** Avatar size */
12
+ size?: 'sm' | 'md' | 'lg';
13
+ }
14
+ /**
15
+ * AvatarFieldDisplay - Displays image values as avatars
16
+ *
17
+ * @version 0.0.1
18
+ * @since 0.0.1
19
+ * @author AMBROISE PARK Consulting
20
+ */
21
+ export declare const AvatarFieldDisplay: React.ComponentType<AvatarFieldDisplayProps>;
22
+ export default AvatarFieldDisplay;
23
+ //# sourceMappingURL=AvatarFieldDisplay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AvatarFieldDisplay.d.ts","sourceRoot":"","sources":["../../../../src/components/fields/display/AvatarFieldDisplay.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,MAAM,WAAW,uBAAuB;IACtC,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,kBAAkB;IAClB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;CAC3B;AAED;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,aAAa,CAClD,uBAAuB,CAiCxB,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1 @@
1
+ import{jsx as e}from"react/jsx-runtime";import{Avatar as m,Text as n}from"@donotdev/components";const p=({config:t,value:a,t:d,className:s,size:r="md"})=>{if(!a)return e(n,{as:"span",variant:"muted",className:s,children:"-"});const l={sm:"size-touch",md:"size-touch",lg:"h-16 w-16"},i=o=>o.split(" ").map(c=>c.charAt(0)).slice(0,2).join("").toUpperCase();return e(m,{src:a,alt:t.label||"Avatar",fallback:i(t.label||"AV"),className:`${l[r]} ${s||""}`})};var x=p;export{p as AvatarFieldDisplay,x as default};
@@ -0,0 +1,21 @@
1
+ import type { EntityField } from '@donotdev/core';
2
+ export interface BadgeFieldDisplayProps {
3
+ /** Field configuration */
4
+ config: EntityField<'boolean' | 'checkbox' | 'select' | 'radio'>;
5
+ /** Value to display */
6
+ value: boolean | string;
7
+ /** Translation function */
8
+ t: (key: string, options?: Record<string, any>) => string;
9
+ /** Additional CSS classes */
10
+ className?: string;
11
+ }
12
+ /**
13
+ * BadgeFieldDisplay - Displays boolean/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 BadgeFieldDisplay: React.ComponentType<BadgeFieldDisplayProps>;
20
+ export default BadgeFieldDisplay;
21
+ //# sourceMappingURL=BadgeFieldDisplay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BadgeFieldDisplay.d.ts","sourceRoot":"","sources":["../../../../src/components/fields/display/BadgeFieldDisplay.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,MAAM,WAAW,sBAAsB;IACrC,0BAA0B;IAC1B,MAAM,EAAE,WAAW,CAAC,SAAS,GAAG,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAC,CAAC;IACjE,uBAAuB;IACvB,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC;IACxB,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,KAAK,CAAC,aAAa,CAAC,sBAAsB,CA6BzE,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1 @@
1
+ import{jsx as e}from"react/jsx-runtime";import{Badge as a,Text as i}from"@donotdev/components";const s=({config:d,value:n,t:o,className:t})=>{if(n==null)return e(i,{as:"span",variant:"muted",className:t,children:"-"});const r=typeof n=="boolean"?o(n?"common.yes":"common.no"):String(n);return e(a,{variant:typeof n=="boolean"?n?"default":"secondary":"outline",className:t,children:r})};var p=s;export{s as BadgeFieldDisplay,p as default};
@@ -0,0 +1,29 @@
1
+ /**
2
+ * @fileoverview ButtonFieldDisplay component
3
+ * @description Button fields are not displayed in read-only mode
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
+ export interface ButtonFieldDisplayProps {
11
+ /** Field configuration */
12
+ config: EntityField<'submit' | 'reset'>;
13
+ /** Value to display */
14
+ value: any;
15
+ /** Translation function */
16
+ t: (key: string, options?: Record<string, any>) => string;
17
+ /** Additional CSS classes */
18
+ className?: string;
19
+ }
20
+ /**
21
+ * ButtonFieldDisplay - Button fields are not displayed in read-only mode
22
+ *
23
+ * @version 0.0.1
24
+ * @since 0.0.1
25
+ * @author AMBROISE PARK Consulting
26
+ */
27
+ export declare const ButtonFieldDisplay: React.ComponentType<ButtonFieldDisplayProps>;
28
+ export default ButtonFieldDisplay;
29
+ //# sourceMappingURL=ButtonFieldDisplay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ButtonFieldDisplay.d.ts","sourceRoot":"","sources":["../../../../src/components/fields/display/ButtonFieldDisplay.tsx"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,MAAM,WAAW,uBAAuB;IACtC,0BAA0B;IAC1B,MAAM,EAAE,WAAW,CAAC,QAAQ,GAAG,OAAO,CAAC,CAAC;IACxC,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,kBAAkB,EAAE,KAAK,CAAC,aAAa,CAClD,uBAAuB,CAGxB,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1 @@
1
+ const t=()=>null;var e=t;export{t as ButtonFieldDisplay,e as default};
@@ -0,0 +1,21 @@
1
+ import type { EntityField } from '@donotdev/core';
2
+ export interface CheckboxFieldDisplayProps {
3
+ /** Field configuration */
4
+ config: EntityField<'checkbox' | 'boolean'>;
5
+ /** Value to display */
6
+ value: boolean;
7
+ /** Translation function */
8
+ t: (key: string, options?: Record<string, any>) => string;
9
+ /** Additional CSS classes */
10
+ className?: string;
11
+ }
12
+ /**
13
+ * CheckboxFieldDisplay - Displays checkbox/boolean values as badges
14
+ *
15
+ * @version 0.0.1
16
+ * @since 0.0.1
17
+ * @author AMBROISE PARK Consulting
18
+ */
19
+ export declare const CheckboxFieldDisplay: React.ComponentType<CheckboxFieldDisplayProps>;
20
+ export default CheckboxFieldDisplay;
21
+ //# sourceMappingURL=CheckboxFieldDisplay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CheckboxFieldDisplay.d.ts","sourceRoot":"","sources":["../../../../src/components/fields/display/CheckboxFieldDisplay.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,MAAM,WAAW,yBAAyB;IACxC,0BAA0B;IAC1B,MAAM,EAAE,WAAW,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC;IAC5C,uBAAuB;IACvB,KAAK,EAAE,OAAO,CAAC;IACf,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,KAAK,CAAC,aAAa,CACpD,yBAAyB,CAkB1B,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
@@ -0,0 +1 @@
1
+ import{jsx as r}from"react/jsx-runtime";import{Badge as t,Text as i}from"@donotdev/components";const s=({config:c,value:n,t:a,className:o})=>{if(n==null)return r(i,{as:"span",variant:"muted",className:o,children:"-"});const e=a(n?"common.yes":"common.no");return r(t,{variant:n?"default":"secondary",className:o,children:e})};var f=s;export{s as CheckboxFieldDisplay,f as default};
@@ -0,0 +1,24 @@
1
+ import type { EntityField } from '@donotdev/core';
2
+ import type { ComponentType } from 'react';
3
+ export interface DateFieldDisplayProps {
4
+ /** Field configuration */
5
+ config: EntityField<'date' | 'datetime-local'>;
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
+ * DateFieldDisplay - Displays date 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 DateFieldDisplay: ComponentType<DateFieldDisplayProps>;
23
+ export default DateFieldDisplay;
24
+ //# sourceMappingURL=DateFieldDisplay.d.ts.map
@@ -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 e,jsxs as d}from"react/jsx-runtime";import{Text as a,Spinner as c}from"@donotdev/components";const m=({config:i,value:n,t:p,className:t,loading:l=!1})=>{if(l)return e(c,{className:t});if(!n)return e(a,{as:"span",variant:"muted",className:t,children:"-"});try{const r=new Date(n),s=r.toLocaleDateString(),o=r.toLocaleTimeString();return i.type==="date"?e(a,{as:"span",className:t,children:s}):d("div",{className:t,children:[e(a,{as:"span",children:s}),e(a,{as:"span",variant:"muted",level:"small",children:o})]})}catch{return e(a,{as:"span",variant:"muted",className:t,children:"-"})}};var h=m;export{m as DateFieldDisplay,h 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 a}from"react/jsx-runtime";import{Badge as e,BADGE_VARIANT as n,Text as o}from"@donotdev/components";const i=({config:s,value:r,t:p,className:t})=>r?a(e,{variant:n.OUTLINE,className:t,children:r}):a(o,{as:"span",variant:"muted",className:t,children:"-"});var c=i;export{i as DropdownDisplay,c 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 r,jsxs as s}from"react/jsx-runtime";import{Badge as t,BADGE_VARIANT as n,Text as a,Stack as d}from"@donotdev/components";const l=({config:o,value:e,t:c,className:i})=>e?s(d,{direction:"row",align:"center",gap:"medium",className:i,children:[r(a,{as:"span",level:"small",children:e.name}),e.size&&s(t,{variant:n.SECONDARY,children:[(e.size/1024).toFixed(1)," KB"]})]}):r(a,{as:"span",variant:"muted",className:i,children:"-"});var x=l;export{l as FileFieldDisplay,x 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 s,jsxs as i}from"react/jsx-runtime";import{Text as e}from"@donotdev/components";const o=({config:r,value:t,t:d,className:n})=>!t||t.lat===void 0&&t.lng===void 0?s(e,{as:"span",variant:"muted",className:n,children:"-"}):i(e,{as:"div",level:"small",className:`font-mono ${n||""}`,children:[t.lat?.toFixed(6),", ",t.lng?.toFixed(6)]});var x=o;export{o as GeoPointFieldDisplay,x 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 e=()=>null;var l=e;export{e as HiddenFieldDisplay,l 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 e}from"react/jsx-runtime";import{Avatar as c,Text as n}from"@donotdev/components";const p=({config:t,value:s,t:d,className:a,size:r="md"})=>{if(!s)return e(n,{as:"span",variant:"muted",className:a,children:"-"});const l={sm:"size-touch",md:"size-touch",lg:"h-16 w-16"},i=m=>m.split(" ").map(o=>o.charAt(0)).slice(0,2).join("").toUpperCase();return e(c,{src:s,alt:t.label||"Image",fallback:i(t.label||"IMG"),className:`${l[r]} ${a||""}`})};var x=p;export{p as ImageFieldDisplay,x 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 o}from"react/jsx-runtime";import{Text as l}from"@donotdev/components";const s=({config:a,value:e,t:r,className:t})=>{if(!e)return o(l,{as:"span",variant:"muted",className:t,children:"-"});const i=(()=>{switch(a.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 o("a",{...i,className:t||"",style:{color:"var(--primary)",textDecoration:"none"},onMouseEnter:n=>n.currentTarget.style.textDecoration="underline",onMouseLeave:n=>n.currentTarget.style.textDecoration="none",children:e})};var u=s;export{s as LinkFieldDisplay,u 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 e,jsxs as i}from"react/jsx-runtime";import{Text as s}from"@donotdev/components";const o=({config:r,value:t,t:d,className:n})=>!t||t.lat===void 0&&t.lng===void 0?e(s,{as:"span",variant:"muted",className:n,children:"-"}):i(s,{as:"div",level:"small",className:`font-mono ${n||""}`,children:[t.lat?.toFixed(6),", ",t.lng?.toFixed(6)]});var x=o;export{o as MapFieldDisplay,x 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 t}from"react/jsx-runtime";import{Badge as e,BADGE_VARIANT as o,Text as p,Stack as s}from"@donotdev/components";const d=({config:m,value:r,t:c,className:a})=>!r||!Array.isArray(r)||r.length===0?t(p,{as:"span",variant:"muted",className:a,children:"-"}):t(s,{direction:"row",wrap:"wrap",gap:"medium",className:a,children:r.map((i,n)=>t(e,{variant:o.OUTLINE,children:String(i)},n))});var l=d;export{d as MultiDropdownDisplay,l 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 t}from"react/jsx-runtime";import{Badge as n,BADGE_VARIANT as p,Text as o,Stack as s}from"@donotdev/components";const d=({config:m,value:r,t:c,className:i})=>!r||!Array.isArray(r)||r.length===0?t(o,{as:"span",variant:"muted",className:i,children:"-"}):t(s,{direction:"row",wrap:"wrap",gap:"medium",className:i,children:r.map((a,e)=>t(n,{variant:p.OUTLINE,children:String(a)},e))});var f=d;export{d as MultiInputTextFieldDisplay,f 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