@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.
- package/dist/CrudService.d.ts +26 -8
- package/dist/CrudService.d.ts.map +1 -1
- package/dist/CrudService.js +1 -1
- package/dist/CrudStore.d.ts.map +1 -1
- package/dist/CrudStore.js +1 -1
- package/dist/adapters/FirestoreAdapter.d.ts +1 -1
- package/dist/adapters/FirestoreAdapter.d.ts.map +1 -1
- package/dist/adapters/FirestoreAdapter.js +1 -1
- package/dist/adapters/FunctionsAdapter.d.ts +1 -1
- package/dist/adapters/FunctionsAdapter.d.ts.map +1 -1
- package/dist/adapters/FunctionsAdapter.js +1 -1
- package/dist/builtinFieldTypes.d.ts +17 -4
- package/dist/builtinFieldTypes.d.ts.map +1 -1
- package/dist/builtinFieldTypes.js +1 -1
- package/dist/components/DisplayFieldRenderer.d.ts +2 -0
- package/dist/components/DisplayFieldRenderer.d.ts.map +1 -1
- package/dist/components/DisplayFieldRenderer.js +1 -1
- package/dist/components/EntityDisplayRenderer.d.ts +2 -2
- package/dist/components/EntityDisplayRenderer.d.ts.map +1 -1
- package/dist/components/EntityDisplayRenderer.js +1 -1
- package/dist/components/EntityFilters.d.ts +19 -1
- package/dist/components/EntityFilters.d.ts.map +1 -1
- package/dist/components/EntityFilters.js +1 -1
- package/dist/components/FormFieldRenderer.d.ts.map +1 -1
- package/dist/components/FormFieldRenderer.js +1 -1
- package/dist/components/controlled/input/ControlledCurrencyField.d.ts +8 -0
- package/dist/components/controlled/input/ControlledCurrencyField.d.ts.map +1 -0
- package/dist/components/controlled/input/ControlledCurrencyField.js +1 -0
- package/dist/components/controlled/input/ControlledDurationField.d.ts +7 -0
- package/dist/components/controlled/input/ControlledDurationField.d.ts.map +1 -0
- package/dist/components/controlled/input/ControlledDurationField.js +1 -0
- package/dist/components/controlled/input/ControlledGdprConsentField.d.ts.map +1 -1
- package/dist/components/controlled/input/ControlledGdprConsentField.js +1 -1
- package/dist/components/controlled/input/ControlledPriceField.d.ts +8 -0
- package/dist/components/controlled/input/ControlledPriceField.d.ts.map +1 -0
- package/dist/components/controlled/input/ControlledPriceField.js +1 -0
- package/dist/components/controlled/input/ControlledRatingField.d.ts +8 -0
- package/dist/components/controlled/input/ControlledRatingField.d.ts.map +1 -0
- package/dist/components/controlled/input/ControlledRatingField.js +1 -0
- package/dist/components/controlled/input/index.d.ts +4 -0
- package/dist/components/controlled/input/index.d.ts.map +1 -1
- package/dist/components/controlled/input/index.js +1 -1
- package/dist/components/controlled/select/ControlledYearField.js +1 -1
- package/dist/components/fields/display/AvatarFieldDisplay.d.ts +23 -0
- package/dist/components/fields/display/AvatarFieldDisplay.d.ts.map +1 -0
- package/dist/components/fields/display/AvatarFieldDisplay.js +1 -0
- package/dist/components/fields/display/BadgeFieldDisplay.d.ts +21 -0
- package/dist/components/fields/display/BadgeFieldDisplay.d.ts.map +1 -0
- package/dist/components/fields/display/BadgeFieldDisplay.js +1 -0
- package/dist/components/fields/display/ButtonFieldDisplay.d.ts +29 -0
- package/dist/components/fields/display/ButtonFieldDisplay.d.ts.map +1 -0
- package/dist/components/fields/display/ButtonFieldDisplay.js +1 -0
- package/dist/components/fields/display/CheckboxFieldDisplay.d.ts +21 -0
- package/dist/components/fields/display/CheckboxFieldDisplay.d.ts.map +1 -0
- package/dist/components/fields/display/CheckboxFieldDisplay.js +1 -0
- package/dist/components/fields/display/DateFieldDisplay.d.ts +24 -0
- package/dist/components/fields/display/DateFieldDisplay.d.ts.map +1 -0
- package/dist/components/fields/display/DateFieldDisplay.js +1 -0
- package/dist/components/fields/display/DropdownDisplay.d.ts +21 -0
- package/dist/components/fields/display/DropdownDisplay.d.ts.map +1 -0
- package/dist/components/fields/display/DropdownDisplay.js +1 -0
- package/dist/components/fields/display/FileFieldDisplay.d.ts +21 -0
- package/dist/components/fields/display/FileFieldDisplay.d.ts.map +1 -0
- package/dist/components/fields/display/FileFieldDisplay.js +1 -0
- package/dist/components/fields/display/GeoPointFieldDisplay.d.ts +25 -0
- package/dist/components/fields/display/GeoPointFieldDisplay.d.ts.map +1 -0
- package/dist/components/fields/display/GeoPointFieldDisplay.js +1 -0
- package/dist/components/fields/display/HiddenFieldDisplay.d.ts +30 -0
- package/dist/components/fields/display/HiddenFieldDisplay.d.ts.map +1 -0
- package/dist/components/fields/display/HiddenFieldDisplay.js +1 -0
- package/dist/components/fields/display/ImageFieldDisplay.d.ts +24 -0
- package/dist/components/fields/display/ImageFieldDisplay.d.ts.map +1 -0
- package/dist/components/fields/display/ImageFieldDisplay.js +1 -0
- package/dist/components/fields/display/LinkFieldDisplay.d.ts +22 -0
- package/dist/components/fields/display/LinkFieldDisplay.d.ts.map +1 -0
- package/dist/components/fields/display/LinkFieldDisplay.js +1 -0
- package/dist/components/fields/display/MapFieldDisplay.d.ts +25 -0
- package/dist/components/fields/display/MapFieldDisplay.d.ts.map +1 -0
- package/dist/components/fields/display/MapFieldDisplay.js +1 -0
- package/dist/components/fields/display/MultiDropdownDisplay.d.ts +22 -0
- package/dist/components/fields/display/MultiDropdownDisplay.d.ts.map +1 -0
- package/dist/components/fields/display/MultiDropdownDisplay.js +1 -0
- package/dist/components/fields/display/MultiInputTextFieldDisplay.d.ts +22 -0
- package/dist/components/fields/display/MultiInputTextFieldDisplay.d.ts.map +1 -0
- package/dist/components/fields/display/MultiInputTextFieldDisplay.js +1 -0
- package/dist/components/fields/display/NumberFieldDisplay.d.ts +24 -0
- package/dist/components/fields/display/NumberFieldDisplay.d.ts.map +1 -0
- package/dist/components/fields/display/NumberFieldDisplay.js +1 -0
- package/dist/components/fields/display/PasswordFieldDisplay.d.ts +24 -0
- package/dist/components/fields/display/PasswordFieldDisplay.d.ts.map +1 -0
- package/dist/components/fields/display/PasswordFieldDisplay.js +1 -0
- package/dist/components/fields/display/PhoneNumberDisplay.d.ts +22 -0
- package/dist/components/fields/display/PhoneNumberDisplay.d.ts.map +1 -0
- package/dist/components/fields/display/PhoneNumberDisplay.js +1 -0
- package/dist/components/fields/display/RadioFieldDisplay.d.ts +22 -0
- package/dist/components/fields/display/RadioFieldDisplay.d.ts.map +1 -0
- package/dist/components/fields/display/RadioFieldDisplay.js +1 -0
- package/dist/components/fields/display/RangeFieldDisplay.d.ts +22 -0
- package/dist/components/fields/display/RangeFieldDisplay.d.ts.map +1 -0
- package/dist/components/fields/display/RangeFieldDisplay.js +1 -0
- package/dist/components/fields/display/ReferenceFieldDisplay.d.ts +22 -0
- package/dist/components/fields/display/ReferenceFieldDisplay.d.ts.map +1 -0
- package/dist/components/fields/display/ReferenceFieldDisplay.js +1 -0
- package/dist/components/fields/display/RichTextDisplay.d.ts +25 -0
- package/dist/components/fields/display/RichTextDisplay.d.ts.map +1 -0
- package/dist/components/fields/display/RichTextDisplay.js +61 -0
- package/dist/components/fields/display/TextAreaDisplay.d.ts +22 -0
- package/dist/components/fields/display/TextAreaDisplay.d.ts.map +1 -0
- package/dist/components/fields/display/TextAreaDisplay.js +1 -0
- package/dist/components/fields/display/TextFieldDisplay.d.ts +42 -0
- package/dist/components/fields/display/TextFieldDisplay.d.ts.map +1 -0
- package/dist/components/fields/display/TextFieldDisplay.js +1 -0
- package/dist/components/fields/display/TimestampFieldDisplay.d.ts +22 -0
- package/dist/components/fields/display/TimestampFieldDisplay.d.ts.map +1 -0
- package/dist/components/fields/display/TimestampFieldDisplay.js +1 -0
- package/dist/components/fields/display/index.d.ts +32 -0
- package/dist/components/fields/display/index.d.ts.map +1 -0
- package/dist/components/fields/display/index.js +1 -0
- package/dist/components/form/fields/ComboboxComponent.d.ts +6 -0
- package/dist/components/form/fields/ComboboxComponent.d.ts.map +1 -1
- package/dist/components/form/fields/ComboboxComponent.js +1 -1
- package/dist/components/form/fields/DurationFieldComponent.d.ts +42 -0
- package/dist/components/form/fields/DurationFieldComponent.d.ts.map +1 -0
- package/dist/components/form/fields/DurationFieldComponent.js +1 -0
- package/dist/components/form/fields/GdprConsentFieldComponent.d.ts +2 -2
- package/dist/components/form/fields/GdprConsentFieldComponent.d.ts.map +1 -1
- package/dist/components/form/fields/GdprConsentFieldComponent.js +1 -1
- package/dist/components/form/fields/PriceFieldComponent.d.ts +34 -0
- package/dist/components/form/fields/PriceFieldComponent.d.ts.map +1 -0
- package/dist/components/form/fields/PriceFieldComponent.js +1 -0
- package/dist/components/form/fields/RatingFieldComponent.d.ts +37 -0
- package/dist/components/form/fields/RatingFieldComponent.d.ts.map +1 -0
- package/dist/components/form/fields/RatingFieldComponent.js +1 -0
- package/dist/components/form/fields/index.d.ts +7 -0
- package/dist/components/form/fields/index.d.ts.map +1 -1
- package/dist/components/form/fields/index.js +1 -1
- package/dist/components/index.d.ts +3 -9
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +1 -1
- package/dist/fieldTypeRegistry.d.ts +92 -0
- package/dist/fieldTypeRegistry.d.ts.map +1 -0
- package/dist/fieldTypeRegistry.js +1 -0
- package/dist/forms/hooks/useEntityForm.d.ts.map +1 -1
- package/dist/forms/hooks/useEntityForm.js +1 -1
- package/dist/forms/types.d.ts +5 -3
- package/dist/forms/types.d.ts.map +1 -1
- package/dist/forms/utils/getFieldsForOperation.d.ts +2 -3
- package/dist/forms/utils/getFieldsForOperation.d.ts.map +1 -1
- package/dist/forms/utils/getFieldsForOperation.js +1 -1
- package/dist/forms/utils/isFieldEditable.d.ts +1 -1
- package/dist/forms/utils/isFieldEditable.d.ts.map +1 -1
- package/dist/hooks/index.d.ts +5 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +1 -1
- package/dist/hooks/useEntityFavorites.d.ts +53 -0
- package/dist/hooks/useEntityFavorites.d.ts.map +1 -0
- package/dist/hooks/useEntityFavorites.js +1 -0
- package/dist/hooks/useRelatedItems.d.ts +37 -0
- package/dist/hooks/useRelatedItems.d.ts.map +1 -0
- package/dist/hooks/useRelatedItems.js +1 -0
- package/dist/index.d.ts +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/registerBuiltinFieldTypes.d.ts +6 -0
- package/dist/registerBuiltinFieldTypes.d.ts.map +1 -0
- package/dist/registerBuiltinFieldTypes.js +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types.d.ts +60 -25
- package/dist/types.d.ts.map +1 -1
- package/dist/useBaseCrudList.d.ts +53 -0
- package/dist/useBaseCrudList.d.ts.map +1 -0
- package/dist/useBaseCrudList.js +1 -0
- package/dist/useCrud.d.ts +3 -6
- package/dist/useCrud.d.ts.map +1 -1
- package/dist/useCrud.js +1 -1
- package/dist/useCrudCardList.d.ts +10 -4
- package/dist/useCrudCardList.d.ts.map +1 -1
- package/dist/useCrudCardList.js +1 -1
- package/dist/useCrudList.d.ts +12 -5
- package/dist/useCrudList.d.ts.map +1 -1
- package/dist/useCrudList.js +1 -1
- package/dist/utils/mergeWithOptimistic.d.ts +4 -5
- package/dist/utils/mergeWithOptimistic.d.ts.map +1 -1
- package/dist/utils/mergeWithOptimistic.js +1 -1
- package/dist/utils/scopeUtils.d.ts +38 -0
- package/dist/utils/scopeUtils.d.ts.map +1 -0
- package/dist/utils/scopeUtils.js +1 -0
- package/package.json +15 -14
- package/dist/components/EntityCardList.d.ts +0 -29
- package/dist/components/EntityCardList.d.ts.map +0 -1
- package/dist/components/EntityCardList.js +0 -1
- package/dist/components/EntityList.d.ts +0 -30
- package/dist/components/EntityList.d.ts.map +0 -1
- package/dist/components/EntityList.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{jsx as p,jsxs as f}from"react/jsx-runtime";import{Text as y,Stack as b,ImageGallery as D,Rating as $}from"@donotdev/components";import{formatCurrency as C}from"@donotdev/core";import{ControlledCheckboxField as V,ControlledComboboxField as I,ControlledDateField as h,ControlledDropdownField as L,ControlledFileField as M,ControlledMultiFileField as N,ControlledDocumentField as R,ControlledMultiDocumentField as _,ControlledGeoPointField as P,ControlledImageField as B,ControlledMapField as E,ControlledMultiDropdownField as U,ControlledMultiInputField as H,ControlledNumberField as K,ControlledPasswordField as O,ControlledPhoneField as Y,ControlledRangeField as G,ControlledRatingField as W,ControlledDurationField as q,ControlledRadioField as J,ControlledYearField as Q,ControlledTextField as m,ControlledTextareaField as X,ControlledRichTextField as Z,ControlledTimestampField as ee,ControlledAddressField as te,ControlledSwitchField as re,ControlledMultiImageField as ne,ControlledGdprConsentField as oe,ControlledCurrencyField as le,ControlledPriceField as ie}from"./components/controlled";import{AvatarFieldComponent as ae,BadgeFieldComponent as ce,ButtonFieldComponent as v,HiddenFieldComponent as se,TextAreaComponent as pe,RichTextComponent as de,TextFieldComponent as x}from"./components/form/fields";import{registerBuiltinFieldType as i}from"./fieldTypeRegistry";import{translateLabel as g}from"./forms/utils";function d(e){return e?p("span",{style:{color:"var(--muted-foreground)"},children:"\u2014"}):p(y,{variant:"muted",children:"\u2014"})}const c={timestamp:(e,n,l,t)=>{const r=t?.compact??!1;if(e==null||e==="")return d(r);try{return(e instanceof Date?e:new Date(e)).toLocaleString()}catch{return String(e)}},date:(e,n,l,t)=>{const r=t?.compact??!1;if(e==null||e==="")return d(r);try{return(e instanceof Date?e:new Date(e)).toLocaleDateString()}catch{return String(e)}},"datetime-local":(e,n,l,t)=>{const r=t?.compact??!1;if(e==null||e==="")return d(r);try{return(e instanceof Date?e:new Date(e)).toLocaleString()}catch{return String(e)}},time:(e,n,l,t)=>{const r=t?.compact??!1;if(e==null||e==="")return d(r);try{return(e instanceof Date?e:new Date(e)).toLocaleTimeString()}catch{return String(e)}},week:(e,n,l,t)=>{const r=t?.compact??!1;return e==null||e===""?d(r):String(e)},month:(e,n,l,t)=>{const r=t?.compact??!1;return e==null||e===""?d(r):String(e)},boolean:(e,n,l)=>e?"Yes":"No",checkbox:(e,n,l)=>e?"Yes":"No",switch:(e,n,l)=>{const t=n.options?.fieldSpecific;if(t){const r=t.uncheckedValue??!1,o=t.checkedValue??!0;if(e===o&&t.checkedLabel)return g(t.checkedLabel,l);if(e===r&&t.uncheckedLabel)return g(t.uncheckedLabel,l)}return e?"Yes":"No"},year:(e,n,l)=>String(e),number:(e,n,l)=>typeof e=="number"?e.toLocaleString():String(e),currency:(e,n,l)=>{if(e==null||isNaN(e))return"";const o=(n.options||{}).fieldSpecific?.currency||"EUR";return C(e,o)},price:(e,n,l,t)=>{const r=t?.compact??!1,o=t?.asString??!1,a=e!=null&&typeof e=="number"?{amount:e,currency:"EUR",vatIncluded:!0,discountPercent:0}:e;if(a==null||typeof a!="object")return d(r);const s=a.amount;if(s==null||isNaN(s))return d(r);const u=a.currency||"EUR",j=a.vatIncluded??!0,T=a.discountPercent??0,A=T>0?s*(1-T/100):s,F=j?` ${l("crud:price.vatIncluded",{defaultValue:"VAT Incl."})}`:"";if(T>0){const z=C(s,u),S=C(A,u),w=` ${l("crud:price.discountPercent",{percent:Math.round(T),defaultValue:"-{{percent}}%"})}`;return o?`${S}${F}${w}`:r?f(y,{variant:"success",weight:"bold",children:[S,F,w]}):f(b,{direction:"column",gap:"tight",align:"end",children:[p(y,{variant:"muted",style:{textDecoration:"line-through",fontSize:"var(--font-size-sm)"},children:z}),f(y,{variant:"success",weight:"bold",children:[S,F]})]})}return`${C(s,u)}${F}`},range:(e,n,l)=>typeof e=="number"?e.toLocaleString():String(e),rating:(e,n,l,t)=>{const r=t?.compact??!1;if(e==null)return d(r);const o=typeof e=="number"?e:parseFloat(e);if(isNaN(o))return d(r);const a=n.validation?.max??5;return p($,{value:o,max:a,readonly:!0,"aria-label":`${o} out of ${a} stars`})},duration:(e,n,l,t)=>{const r=t?.compact??!1;if(e==null)return d(r);const o=typeof e=="number"?e:parseInt(String(e),10);if(Number.isNaN(o))return d(r);if(o===0)return l("crud:duration.zero",{defaultValue:"\u2014"});if(o<60)return l("crud:duration.minutes",{count:o,defaultValue:`${o} min`});const a=Math.floor(o/60),s=o%60;return l("crud:duration.hoursMinutes",{hours:a,minutes:s,defaultValue:s===0?`${a}h`:`${a}h ${s}min`})},select:(e,n,l)=>{const t=n.validation?.options;if(Array.isArray(t)){const o=t.find(a=>a.value===e)?.label;return o?g(o,l):String(e)}return String(e)},radio:(e,n,l)=>{const t=n.validation?.options;if(Array.isArray(t)){const o=t.find(a=>a.value===e)?.label;return o?g(o,l):String(e)}return String(e)},combobox:(e,n,l)=>{const t=n.validation?.options;if(Array.isArray(t)){const o=t.find(a=>a.value===e)?.label;return o?g(o,l):String(e)}return String(e)},multiselect:(e,n,l)=>{if(Array.isArray(e)){const t=n.validation?.options;if(Array.isArray(t))return e.map(o=>{const s=t.find(u=>u.value===o)?.label;return s?g(s,l):o}).join(", ")}return String(e)},image:(e,n,l,t)=>{const r=t?.compact??!1;return e==null||e===""?d(r):typeof e=="string"?p("img",{src:e,alt:n.label||"",style:{width:r?"40px":void 0,height:r?"40px":void 0,maxWidth:r?void 0:"200px",maxHeight:r?void 0:"150px",objectFit:"cover",borderRadius:"var(--radius-sm)"}}):d(r)},images:(e,n,l,t)=>{const r=t?.compact??!1;if(!Array.isArray(e)||e.length===0)return d(r);const o=e[0],a=typeof o=="object"&&o.thumbUrl?o.thumbUrl:o;return r?f("div",{style:{display:"flex",alignItems:"center",gap:"var(--gap-xs)"},children:[p("img",{src:a,alt:"",style:{width:"40px",height:"40px",objectFit:"cover",borderRadius:"var(--radius-sm)"}}),e.length>1&&f("span",{style:{fontSize:"var(--font-size-xs)",color:"var(--muted-foreground)"},children:["+",e.length-1]})]}):p(D,{images:e,altPrefix:n.label||"Image"})},files:(e,n,l,t)=>{const r=t?.compact??!1;return!Array.isArray(e)||e.length===0?d(r):p(b,{gap:"tight",children:e.map((o,a)=>f("a",{href:o.url||o,target:"_blank",rel:"noopener noreferrer",style:{color:"var(--primary)",textDecoration:"none",display:"flex",alignItems:"center",fontSize:"var(--font-size-sm)"},children:[o.filename||`File ${a+1}`,o.size&&f(y,{level:"caption",variant:"muted",style:{marginLeft:"var(--gap-sm)"},children:["(",Math.round(o.size/1024)," KB)"]})]},a))})},documents:(e,n,l,t)=>{const r=t?.compact??!1;return!Array.isArray(e)||e.length===0?d(r):p(b,{gap:"tight",children:e.map((o,a)=>f("a",{href:o.url||o,target:"_blank",rel:"noopener noreferrer",style:{color:"var(--primary)",textDecoration:"none",display:"flex",alignItems:"center",fontSize:"var(--font-size-sm)"},children:[o.filename||`File ${a+1}`,o.size&&f(y,{level:"caption",variant:"muted",style:{marginLeft:"var(--gap-sm)"},children:["(",Math.round(o.size/1024)," KB)"]})]},a))})},file:(e,n,l,t)=>{const r=t?.compact??!1;if(!e)return d(r);const o=typeof e=="string"?e:e.url,a=typeof e=="string"?"View file":e.filename||"View file";return f("a",{href:o,target:"_blank",rel:"noopener noreferrer",style:{color:"var(--primary)",textDecoration:"none"},children:[a,typeof e=="object"&&e.size&&f("span",{style:{color:"var(--muted-foreground)",marginLeft:"var(--gap-sm)"},children:["(",Math.round(e.size/1024)," KB)"]})]})},document:(e,n,l,t)=>{const r=t?.compact??!1;if(!e)return d(r);const o=typeof e=="string"?e:e.url,a=typeof e=="string"?"View file":e.filename||"View file";return f("a",{href:o,target:"_blank",rel:"noopener noreferrer",style:{color:"var(--primary)",textDecoration:"none"},children:[a,typeof e=="object"&&e.size&&f("span",{style:{color:"var(--muted-foreground)",marginLeft:"var(--gap-sm)"},children:["(",Math.round(e.size/1024)," KB)"]})]})},reference:(e,n,l)=>String(e),geopoint:(e,n,l,t)=>{const r=t?.compact??!1;return e&&typeof e=="object"&&"lat"in e&&"lng"in e?`${e.lat.toFixed(6)}, ${e.lng.toFixed(6)}`:d(r)},address:(e,n,l)=>e&&typeof e=="object"&&"formatted_address"in e?e.formatted_address:String(e),map:(e,n,l,t)=>{const r=t?.compact??!1;if(e&&typeof e=="object"){const o=Object.entries(e);return o.length===0?d(r):f(b,{direction:"column",gap:"tight",children:[o.slice(0,5).map(([a,s])=>f(y,{style:{fontSize:"var(--font-size-sm)"},children:[f("strong",{children:[a,":"]})," ",String(s)]},a)),o.length>5&&f(y,{variant:"muted",children:["+",o.length-5," more"]})]})}return d(r)},array:(e,n,l,t)=>{const r=t?.compact??!1;return Array.isArray(e)?e.length===0?d(r):e.join(", "):d(r)},password:()=>"\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022",email:(e,n,l)=>p("a",{href:`mailto:${e}`,style:{color:"var(--primary)"},onClick:t=>t.stopPropagation(),children:e}),tel:(e,n,l)=>p("a",{href:`tel:${e}`,style:{color:"var(--primary)"},onClick:t=>t.stopPropagation(),children:e}),url:(e,n,l)=>p("a",{href:e,target:"_blank",rel:"noopener noreferrer",style:{color:"var(--primary)"},children:e}),color:(e,n,l)=>f(b,{direction:"row",gap:"tight",align:"center",children:[p("div",{style:{width:"20px",height:"20px",backgroundColor:e,borderRadius:"var(--radius-sm)",border:"1px solid var(--border)"}}),p(y,{children:e})]}),textarea:(e,n,l)=>String(e),text:(e,n,l)=>String(e),richtext:(e,n,l,t)=>{const r=t?.compact??!1;return e&&typeof e=="string"?r?e.replace(/<[^>]*>/g,"").trim()||p("span",{style:{color:"var(--muted-foreground)"},children:"\u2014"}):p("div",{dangerouslySetInnerHTML:{__html:e},style:{padding:"var(--gap-sm)",fontSize:"var(--font-size-sm)",lineHeight:"1.6"}}):d(r)}};function fe(e){return e.type==="avatar"}function ue(e){return e.type==="badge"}let k=!1;function me(){k||(k=!0,i({type:"text",filterable:!0,filterType:"text",valueType:"string",displayFormatter:c.text,components:{controlled:m,uncontrolled:e=>{const{value:n,onChange:l,label:t,error:r,config:o}=e;return p(x,{label:t||"",value:typeof n=="string"?n:"",onChange:s=>{const u=s.target.value;l(u)},error:r,...o.options})}}}),i({type:"email",filterable:!0,filterType:"text",valueType:"string",displayFormatter:c.email,components:{controlled:m,uncontrolled:e=>{const{value:n,onChange:l,label:t,error:r,config:o}=e;return p(x,{label:t||"",value:typeof n=="string"?n:"",onChange:s=>{const u=s.target.value;l(u)},error:r,type:"email",...o.options})}}}),i({type:"url",filterable:!0,filterType:"text",valueType:"string",displayFormatter:c.url,components:{controlled:m,uncontrolled:e=>{const{value:n,onChange:l,label:t,error:r,config:o}=e;return p(x,{label:t||"",value:typeof n=="string"?n:"",onChange:s=>{const u=s.target.value;l(u)},error:r,type:"url",...o.options})}}}),i({type:"color",filterable:!0,filterType:"text",valueType:"string",displayFormatter:c.color,components:{controlled:m,uncontrolled:e=>{const{value:n,onChange:l,label:t,error:r,config:o}=e;return p(x,{label:t||"",value:typeof n=="string"?n:"",onChange:s=>{const u=s.target.value;l(u)},error:r,type:"color",...o.options})}}}),i({type:"textarea",filterable:!0,filterType:"text",valueType:"string",displayFormatter:c.textarea,components:{controlled:X,uncontrolled:e=>{const{value:n,onChange:l,label:t,error:r,config:o}=e;return p(pe,{label:t||"",value:typeof n=="string"?n:"",onChange:s=>{const u=s.target.value;l(u)},error:r,...o.options})}}}),i({type:"richtext",filterable:!0,filterType:"text",valueType:"string",displayFormatter:c.richtext,components:{controlled:Z,uncontrolled:e=>{const{value:n,onChange:l,label:t,error:r,config:o}=e;return p(de,{label:t||"",value:typeof n=="string"?n:"",onChange:s=>{const u=s.target.value;l(u)},error:r,...o.options})}}}),i({type:"password",filterable:!1,filterType:"none",valueType:"string",displayFormatter:c.password,components:{controlled:O}}),i({type:"tel",filterable:!0,filterType:"text",valueType:"string",displayFormatter:c.tel,components:{controlled:Y}}),i({type:"number",filterable:!0,filterType:"range",valueType:"number",displayFormatter:c.number,components:{controlled:K}}),i({type:"currency",filterable:!0,filterType:"range",valueType:"number",displayFormatter:c.currency,components:{controlled:le}}),i({type:"price",filterable:!0,filterType:"range",valueType:"object",displayFormatter:c.price,components:{controlled:ie}}),i({type:"range",filterable:!0,filterType:"range",valueType:"number",displayFormatter:c.range,components:{controlled:G}}),i({type:"year",filterable:!0,filterType:"range",valueType:"number",displayFormatter:c.year,components:{controlled:Q}}),i({type:"rating",filterable:!0,filterType:"range",valueType:"number",displayFormatter:c.rating,components:{controlled:W}}),i({type:"duration",filterable:!0,filterType:"range",valueType:"number",displayFormatter:c.duration,components:{controlled:q}}),i({type:"boolean",filterable:!0,filterType:"select",valueType:"boolean",displayFormatter:c.boolean,components:{controlled:V}}),i({type:"checkbox",filterable:!0,filterType:"select",valueType:"boolean",displayFormatter:c.checkbox,components:{controlled:V}}),i({type:"gdprConsent",filterable:!0,filterType:"select",valueType:"object",components:{controlled:oe}}),i({type:"switch",filterable:!0,filterType:"select",valueType:"boolean",displayFormatter:c.switch,components:{controlled:re}}),i({type:"date",filterable:!0,filterType:"range",valueType:"date",displayFormatter:c.date,components:{controlled:h}}),i({type:"datetime-local",filterable:!0,filterType:"range",valueType:"date",displayFormatter:c["datetime-local"],components:{controlled:h}}),i({type:"time",filterable:!0,filterType:"range",valueType:"date",displayFormatter:c.time,components:{controlled:h}}),i({type:"week",filterable:!0,filterType:"range",valueType:"date",displayFormatter:c.week,components:{controlled:h}}),i({type:"month",filterable:!0,filterType:"range",valueType:"date",displayFormatter:c.month,components:{controlled:h}}),i({type:"timestamp",filterable:!0,filterType:"range",valueType:"date",displayFormatter:c.timestamp,components:{controlled:ee}}),i({type:"file",filterable:!1,filterType:"none",valueType:"object",displayFormatter:c.file,components:{controlled:M}}),i({type:"files",filterable:!1,filterType:"none",valueType:"array",displayFormatter:c.files,components:{controlled:N}}),i({type:"document",filterable:!1,filterType:"none",valueType:"object",displayFormatter:c.document,components:{controlled:R}}),i({type:"documents",filterable:!1,filterType:"none",valueType:"array",displayFormatter:c.documents,components:{controlled:_}}),i({type:"image",filterable:!1,filterType:"none",valueType:"object",displayFormatter:c.image,components:{controlled:B}}),i({type:"images",filterable:!1,filterType:"none",valueType:"array",displayFormatter:c.images,components:{controlled:ne}}),i({type:"geopoint",filterable:!1,filterType:"none",valueType:"object",displayFormatter:c.geopoint,components:{controlled:P}}),i({type:"address",filterable:!0,filterType:"address",valueType:"object",displayFormatter:c.address,components:{controlled:te}}),i({type:"map",filterable:!1,filterType:"none",valueType:"object",displayFormatter:c.map,components:{controlled:E}}),i({type:"array",filterable:!1,filterType:"none",valueType:"array",displayFormatter:c.array,components:{controlled:H}}),i({type:"select",filterable:!0,filterType:"select",valueType:"string",displayFormatter:c.select,components:{controlled:L}}),i({type:"combobox",filterable:!0,filterType:"select",valueType:"string",displayFormatter:c.combobox,components:{controlled:I}}),i({type:"multiselect",filterable:!0,filterType:"multiselect",valueType:"array",displayFormatter:c.multiselect,components:{controlled:U}}),i({type:"radio",filterable:!0,filterType:"select",valueType:"string",displayFormatter:c.radio,components:{controlled:J}}),i({type:"reference",filterable:!0,filterType:"text",valueType:"string",components:{controlled:m}}),i({type:"hidden",filterable:!1,filterType:"none",valueType:"string",components:{controlled:m,uncontrolled:e=>{const{name:n,value:l}=e;return p(se,{name:n,value:typeof l=="string"?l:""})}}}),i({type:"avatar",filterable:!1,filterType:"none",valueType:"string",components:{controlled:m,uncontrolled:e=>{const{value:n,onChange:l,error:t,config:r,t:o}=e;if(!fe(r))throw new Error("Invalid config type for avatar field");return p(ae,{config:r,value:typeof n=="string"?n:"",onChange:s=>{l(s)},error:!!t,helperText:t||void 0,t:o,...r.options})}}}),i({type:"badge",filterable:!1,filterType:"none",valueType:"string",components:{controlled:m,uncontrolled:e=>{const{value:n,onChange:l,error:t,config:r,t:o}=e;if(!ue(r))throw new Error("Invalid config type for badge field");return p(ce,{config:r,value:typeof n=="string"?n:"",onChange:s=>{l(s)},error:!!t,helperText:t||void 0,t:o,...r.options})}}}),i({type:"submit",filterable:!1,filterType:"none",valueType:"string",components:{controlled:m,uncontrolled:e=>{const{name:n,label:l,config:t}=e;return p(v,{label:l||n,type:"submit",onClick:()=>{},...t.options})}}}),i({type:"reset",filterable:!1,filterType:"none",valueType:"string",components:{controlled:m,uncontrolled:e=>{const{name:n,label:l,config:t}=e;return p(v,{label:l||n,type:"reset",onClick:()=>{},...t.options})}}}))}me();export{me as registerAllBuiltinFieldTypes};
|