@object-ui/fields 3.1.5 → 3.3.0
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/AddressField-Do46PdqT.cjs +1 -0
- package/dist/AutoNumberField-cS2tsxd-.cjs +1 -0
- package/dist/AvatarField-CxhGS3wF.cjs +1 -0
- package/dist/BooleanField-BgkbTHPY.cjs +1 -0
- package/dist/CodeField-DE3dLruS.cjs +1 -0
- package/dist/ColorField-DBTFFYpv.cjs +1 -0
- package/dist/CurrencyField-C28LkJts.cjs +1 -0
- package/dist/DateField-WGWwddDF.cjs +1 -0
- package/dist/DateTimeField-BYsZs8f7.cjs +1 -0
- package/dist/EmailField-1PW03WW8.cjs +1 -0
- package/dist/FileField-BqZkp1O6.cjs +1 -0
- package/dist/FormulaField-MZ9le4RE.cjs +1 -0
- package/dist/GeolocationField-onbAOdIe.cjs +1 -0
- package/dist/GridField-D4OWfaU4.cjs +1 -0
- package/dist/ImageField-BZf-AL2e.cjs +1 -0
- package/dist/LocationField-DhGJtUzZ.cjs +1 -0
- package/dist/LookupField-B6MOSQVJ.js +906 -0
- package/dist/LookupField-BHr7uTX1.cjs +1 -0
- package/dist/MasterDetailField-YTAU1hzg.cjs +1 -0
- package/dist/NumberField-BCk42NjA.cjs +1 -0
- package/dist/ObjectField-iYK5eab_.cjs +1 -0
- package/dist/PasswordField-BAReSDz7.cjs +1 -0
- package/dist/PercentField-nzACEXtC.cjs +1 -0
- package/dist/PhoneField-CvbkGpN3.cjs +1 -0
- package/dist/QRCodeField-D8fov03S.cjs +1 -0
- package/dist/RatingField-DBgj9cgE.cjs +1 -0
- package/dist/RichTextField-7VwN6GcU.cjs +1 -0
- package/dist/SelectField-BUOTiYaS.cjs +1 -0
- package/dist/SignatureField-DW_Cz6t9.cjs +1 -0
- package/dist/SliderField-Bgi3-TAD.cjs +1 -0
- package/dist/SummaryField-Ed2wJBvs.cjs +1 -0
- package/dist/TextAreaField-O503xJff.cjs +1 -0
- package/dist/TextField-BrwtPIQC.cjs +1 -0
- package/dist/TimeField-Bhoxv2yp.cjs +1 -0
- package/dist/UrlField-VFO089Gr.cjs +1 -0
- package/dist/UserField-BRe9SCCk.cjs +1 -0
- package/dist/VectorField-ByrWkiud.cjs +1 -0
- package/dist/chunk-D-qHiVGv.cjs +1 -0
- package/dist/index.cjs +3 -3
- package/dist/index.d.ts +1 -1
- package/dist/index.js +629 -593
- package/dist/packages/fields/src/widgets/useFieldTranslation.d.ts +5 -0
- package/dist/rolldown-runtime-CAFD8bLK.js +11 -0
- package/dist/useFieldTranslation-BiQad4ar.cjs +1 -0
- package/dist/useFieldTranslation-Bv3oUVgb.js +9 -0
- package/package.json +9 -8
- package/src/widgets/LookupField.tsx +5 -3
- package/src/widgets/SelectField.tsx +3 -1
- package/src/widgets/useFieldTranslation.ts +17 -0
- package/dist/AddressField-B6fPb2Fs.js +0 -3
- package/dist/AddressField-Ctsxkj35.cjs +0 -1
- package/dist/AutoNumberField-DXIYJfiB.js +0 -3
- package/dist/AutoNumberField-f76XU1bR.cjs +0 -1
- package/dist/AvatarField-BHpex3Wa.js +0 -3
- package/dist/AvatarField-CXOdYavl.cjs +0 -1
- package/dist/BooleanField-Bs0urhsx.js +0 -3
- package/dist/BooleanField-DeexI_O2.cjs +0 -1
- package/dist/CodeField-DDOMH8E8.cjs +0 -1
- package/dist/CodeField-tRACqngO.js +0 -3
- package/dist/ColorField-Bar6bOJw.js +0 -3
- package/dist/ColorField-CM9CxZ9h.cjs +0 -1
- package/dist/CurrencyField-CezTX_rA.cjs +0 -1
- package/dist/CurrencyField-D4VwXI9k.js +0 -3
- package/dist/DateField-DDUllj7w.cjs +0 -1
- package/dist/DateField-DjGiK6BH.js +0 -3
- package/dist/DateTimeField-DBh-dYdR.js +0 -3
- package/dist/DateTimeField-DDqgVN3b.cjs +0 -1
- package/dist/EmailField-B-3nY8Pr.cjs +0 -1
- package/dist/EmailField-Cp6yJlpH.js +0 -3
- package/dist/FileField-C1bcL7tu.cjs +0 -1
- package/dist/FileField-DUgt6ai3.js +0 -3
- package/dist/FormulaField-BLV1KgkQ.js +0 -3
- package/dist/FormulaField-CsbQIZ7S.cjs +0 -1
- package/dist/GeolocationField-BbIRH51u.js +0 -3
- package/dist/GeolocationField-UFu9VR-x.cjs +0 -1
- package/dist/GridField-2m74haE0.cjs +0 -1
- package/dist/GridField-O3Jd1NuJ.js +0 -3
- package/dist/ImageField-Cna7g6KL.cjs +0 -1
- package/dist/ImageField-rc1Nzcvb.js +0 -3
- package/dist/LocationField-DpRe9QlH.cjs +0 -1
- package/dist/LocationField-QZPPYo0J.js +0 -3
- package/dist/LookupField-BX4sK8NG.js +0 -904
- package/dist/LookupField-C9rPrHi_.cjs +0 -1
- package/dist/MasterDetailField-BXncIT1s.js +0 -3
- package/dist/MasterDetailField-TNP2825Z.cjs +0 -1
- package/dist/NumberField-DCHTzmDG.js +0 -3
- package/dist/NumberField-SqRwbcY8.cjs +0 -1
- package/dist/ObjectField-BEUHpn_X.js +0 -3
- package/dist/ObjectField-BWZwaFIG.cjs +0 -1
- package/dist/PasswordField-BZ_OeQyw.js +0 -3
- package/dist/PasswordField-kLp-ZyPm.cjs +0 -1
- package/dist/PercentField-B2t2knlc.js +0 -3
- package/dist/PercentField-BzhD6tQm.cjs +0 -1
- package/dist/PhoneField-CirvuysP.cjs +0 -1
- package/dist/PhoneField-CkrCFmcO.js +0 -3
- package/dist/QRCodeField-C4OOLCbE.cjs +0 -1
- package/dist/QRCodeField-CQoGow8y.js +0 -3
- package/dist/RatingField-CZG8SgQ8.cjs +0 -1
- package/dist/RatingField-DecDJkou.js +0 -3
- package/dist/RichTextField-Bog2i4NN.cjs +0 -1
- package/dist/RichTextField-b-8QbNCJ.js +0 -3
- package/dist/SelectField-CAa6c0cB.cjs +0 -1
- package/dist/SelectField-DMy5IxRc.js +0 -3
- package/dist/SignatureField-BvTPE7Dn.js +0 -3
- package/dist/SignatureField-jsb-0AYp.cjs +0 -1
- package/dist/SliderField-B7WvKFv7.js +0 -3
- package/dist/SliderField-DRjEJSxK.cjs +0 -1
- package/dist/SummaryField-DA16Edq3.cjs +0 -1
- package/dist/SummaryField-DVSVfKmY.js +0 -3
- package/dist/TextAreaField--ut87UiB.js +0 -3
- package/dist/TextAreaField-Cxp3DFC6.cjs +0 -1
- package/dist/TextField-CkEDGbkQ.js +0 -3
- package/dist/TextField-aLAzBaLZ.cjs +0 -1
- package/dist/TimeField-D0lF0y_I.cjs +0 -1
- package/dist/TimeField-DA_S6lQV.js +0 -3
- package/dist/UrlField-D0ugmD3f.cjs +0 -1
- package/dist/UrlField-DCnXHR1A.js +0 -3
- package/dist/UserField-DGlorzyG.cjs +0 -1
- package/dist/UserField-V0GmvyGV.js +0 -3
- package/dist/VectorField-BSD85ntU.cjs +0 -1
- package/dist/VectorField-CVi5yrrc.js +0 -3
- package/dist/jsx-runtime-DHCF5ANT.cjs +0 -6
- package/dist/jsx-runtime-MxADXuRH.js +0 -189
- /package/dist/{fields → packages/fields}/src/__tests__/boolean-checkbox.test.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/__tests__/cell-renderers.test.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/__tests__/datetime-cell.test.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/__tests__/datetime-timezone.test.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/__tests__/extreme-inputs.test.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/__tests__/form-variants.test.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/__tests__/validation-feedback.test.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/complex-widgets.test.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/datetime-widgets.test.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/fields-edge-cases.stories.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/fields.stories.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/index.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/new-widgets.test.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/record-picker-dialog.stories.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/record-picker.test.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/remaining-widgets.test.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/standard-widgets.test.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/text-rich-widgets.test.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/visual-widgets.test.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/AddressField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/AutoNumberField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/AvatarField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/BooleanField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/CodeField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/ColorField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/CurrencyField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/DateField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/DateTimeField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/EmailField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/FileField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/FormulaField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/GeolocationField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/GridField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/ImageField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/LocationField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/LookupField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/MasterDetailField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/NumberField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/ObjectField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/PasswordField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/PercentField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/PhoneField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/QRCodeField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/RatingField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/RecordPickerDialog.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/RichTextField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/SelectField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/SignatureField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/SliderField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/SummaryField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/TextAreaField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/TextField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/TimeField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/UrlField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/UserField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/VectorField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/_cell-renderer-bridge.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/types.d.ts +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`./chunk-D-qHiVGv.cjs`),t=require(`./useFieldTranslation-BiQad4ar.cjs`);let n=require(`react`);n=e.n(n,1);let r=require(`@object-ui/components`),i=require(`lucide-react`),a=require(`react/jsx-runtime`),o=require(`@object-ui/react`);var s=10,ee=60,te=5;function ne(e){return typeof e==`string`?{field:e}:e}function c(e){return e.replace(/_/g,` `).replace(/([a-z])([A-Z])/g,`$1 $2`).replace(/\b\w/g,e=>e.toUpperCase())}function l(e){let t={};for(let n of e)switch(n.operator){case`eq`:t[n.field]=n.value;break;case`ne`:t[n.field]={$ne:n.value};break;case`gt`:t[n.field]={$gt:n.value};break;case`lt`:t[n.field]={$lt:n.value};break;case`gte`:t[n.field]={$gte:n.value};break;case`lte`:t[n.field]={$lte:n.value};break;case`contains`:t[n.field]={$contains:n.value};break;case`in`:t[n.field]={$in:n.value};break;case`notIn`:t[n.field]={$nin:n.value};break}return t}function re(e,t){let n={};for(let r of t){let t=e[r.field];t==null||t===``||(r.type===`boolean`?n[r.field]=!!t:r.type===`text`?n[r.field]={$contains:t}:n[r.field]=t)}return n}function u({open:e,onOpenChange:t,title:o=`Select Record`,multiple:u=!1,dataSource:d,objectName:f,columns:p,displayField:m=`name`,idField:ie=`id`,pageSize:h=s,value:g,onSelect:_,onSelectRecords:v,lookupFilters:y,cellRenderer:b,filterColumns:x,renderFilterBar:S,renderGrid:ae}){let[C,oe]=(0,n.useState)([]),[w,T]=(0,n.useState)(!1),[E,D]=(0,n.useState)(null),[O,k]=(0,n.useState)(0),[A,j]=(0,n.useState)(``),[M,N]=(0,n.useState)(1),P=(0,n.useRef)(null),[F,I]=(0,n.useState)(null),[L,se]=(0,n.useState)(`asc`),[R,ce]=(0,n.useState)(new Set),z=(0,n.useRef)(new Map),[B,V]=(0,n.useState)(-1),H=(0,n.useRef)(null),[le,U]=(0,n.useState)(!1),[W,G]=(0,n.useState)({}),[K,ue]=(0,n.useState)({}),q=(0,n.useRef)(null),[J,Y]=(0,n.useState)(``),X=(0,n.useMemo)(()=>p&&p.length>0?p.map(ne):[{field:m,label:c(m)}],[p,m]),Z=(0,n.useMemo)(()=>{if(x&&x.length>0)return x;if(y&&y.length>0)return y.map(e=>{let t=`text`;return typeof e.value==`boolean`?t=`boolean`:Array.isArray(e.value)?t=`select`:typeof e.value==`number`||e.operator===`gt`||e.operator===`lt`||e.operator===`gte`||e.operator===`lte`?t=`number`:(e.operator===`in`||e.operator===`notIn`)&&(t=`select`),{field:e.field,label:c(e.field),type:t,...Array.isArray(e.value)?{options:e.value.map(e=>{if(typeof e==`object`&&e){let t=e;return{label:String(t.name||t.label||t.title||e),value:e}}return{label:String(e),value:e}})}:{}}})},[x,y]),de=(0,n.useMemo)(()=>{let e=y?.length?l(y):{},t=Z?.length?re(W,Z):{},n={...e,...t};return Object.keys(n).length>0?n:void 0},[y,Z,W]),Q=Math.max(1,Math.ceil(O/h)),fe=(0,n.useCallback)(async(e,t=1,n,r)=>{if(!(!d||!f)){T(!0),D(null);try{let i={$top:h,$skip:(t-1)*h};e&&e.trim()&&(i.$search=e.trim()),n&&(i.$orderby={[n.field]:n.direction});let a=r===void 0?de:r;a&&Object.keys(a).length>0&&(i.$filter=a);let o=await d.find(f,i),s=o?.data??o??[];oe(s),k(o?.total??s.length),V(-1)}catch(e){D(e instanceof Error?e.message:String(e)),oe([])}finally{T(!1)}}},[d,f,h,de]),pe=(0,n.useMemo)(()=>F?{field:F,direction:L}:null,[F,L]);(0,n.useEffect)(()=>{e||(j(``),N(1),D(null),oe([]),I(null),se(`asc`),V(-1),U(!1),G({}),ue({}),Y(``),ce(new Set(u&&Array.isArray(g)?g:[])),z.current.clear())},[e]),(0,n.useEffect)(()=>{e&&fe(A||void 0,M,pe)},[e,M,pe,de]),(0,n.useEffect)(()=>{e&&u&&ce(new Set(Array.isArray(g)?g:[]))},[e,u,g]);let me=(0,n.useCallback)(e=>{j(e),N(1),P.current&&clearTimeout(P.current),P.current=setTimeout(()=>{fe(e||void 0,1,pe)},300)},[fe,pe]);(0,n.useEffect)(()=>()=>{P.current&&clearTimeout(P.current)},[]);let he=(0,n.useCallback)(e=>{I(t=>t===e?(se(e=>e===`asc`?`desc`:`asc`),e):(se(`asc`),e)),N(1)},[]),ge=(0,n.useCallback)(e=>e[ie]??e.id??e._id,[ie]),_e=(0,n.useCallback)(e=>{let t=ge(e);return u?R.has(t):g===t},[u,g,R,ge]),ve=(0,n.useCallback)(e=>{let n=ge(e);u?ce(t=>{let r=new Set(t);return r.has(n)?(r.delete(n),z.current.delete(n)):(r.add(n),z.current.set(n,e)),r}):(_(n),v?.([e]),t(!1))},[u,ge,_,v,t]),ye=(0,n.useCallback)(()=>{let e=Array.from(R);_(e);let n=e.map(e=>z.current.get(e)).filter(Boolean);v?.(n),t(!1)},[R,_,v,t]),be=(0,n.useCallback)(()=>{N(e=>Math.max(1,e-1))},[]),xe=(0,n.useCallback)(()=>{N(e=>Math.min(Q,e+1))},[Q]),Se=(0,n.useCallback)(e=>{if(e.key!==`Enter`)return;let t=parseInt(J,10);!isNaN(t)&&t>=1&&t<=Q&&N(t),Y(``)},[J,Q]),Ce=(0,n.useCallback)(e=>{C.length!==0&&(e.key===`ArrowDown`?(e.preventDefault(),V(e=>Math.min(e+1,C.length-1))):e.key===`ArrowUp`?(e.preventDefault(),V(e=>Math.max(e-1,0))):(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),B>=0&&B<C.length&&ve(C[B])))},[C,B,ve]);(0,n.useEffect)(()=>{if(B>=0&&H.current){let e=H.current.querySelector(`[data-row-index="${B}"]`);e&&typeof e.scrollIntoView==`function`&&e.scrollIntoView({block:`nearest`})}},[B]);let we=(0,n.useCallback)((e,t)=>{let n=e[t.field];if(t.type&&b){let e=b(t.type);if(e)return(0,a.jsx)(e,{value:n,field:{name:t.field,type:t.type}})}return n==null?``:typeof n==`object`?n.$numberDecimal?String(Number(n.$numberDecimal)):n.$oid?String(n.$oid):n.$date?new Date(n.$date).toLocaleDateString():n.name||n.label?String(n.name||n.label):JSON.stringify(n):typeof n==`boolean`?n?`Yes`:`No`:String(n)},[b]),Te=(0,n.useCallback)(e=>F===e?L===`asc`?(0,a.jsx)(i.ArrowUp,{className:`ml-1 size-3`}):(0,a.jsx)(i.ArrowDown,{className:`ml-1 size-3`}):(0,a.jsx)(i.ArrowUpDown,{className:`ml-1 size-3 opacity-40`}),[F,L]),Ee=(0,n.useCallback)((e,t,n)=>{e.preventDefault(),e.stopPropagation(),q.current={field:t,startX:e.clientX,startWidth:n};let r=e=>{if(!q.current)return;let t=e.clientX-q.current.startX,n=Math.max(ee,q.current.startWidth+t);ue(e=>({...e,[q.current.field]:n}))},i=()=>{q.current=null,document.removeEventListener(`mousemove`,r),document.removeEventListener(`mouseup`,i)};document.addEventListener(`mousemove`,r),document.addEventListener(`mouseup`,i)},[]),$=(0,n.useCallback)((e,t)=>{G(n=>({...n,[e]:t})),N(1)},[]),De=(0,n.useCallback)(()=>{G({}),N(1)},[]),Oe=(0,n.useMemo)(()=>Object.values(W).filter(e=>e!=null&&e!==``).length,[W]),ke=(0,n.useCallback)(e=>{let t=W[e.field],n=e.label||c(e.field);switch(e.type){case`select`:return(0,a.jsxs)(`div`,{className:`space-y-1`,children:[(0,a.jsx)(r.Label,{className:`text-xs text-muted-foreground`,children:n}),(0,a.jsxs)(r.Select,{value:t==null?``:String(t),onValueChange:t=>$(e.field,t),children:[(0,a.jsx)(r.SelectTrigger,{className:`h-8 text-xs`,children:(0,a.jsx)(r.SelectValue,{placeholder:`Filter ${n}`})}),(0,a.jsx)(r.SelectContent,{children:e.options?.map(e=>(0,a.jsx)(r.SelectItem,{value:String(e.value),children:e.label},String(e.value)))})]})]});case`number`:return(0,a.jsxs)(`div`,{className:`space-y-1`,children:[(0,a.jsx)(r.Label,{className:`text-xs text-muted-foreground`,children:n}),(0,a.jsx)(r.Input,{type:`number`,className:`h-8 text-xs`,value:t??``,placeholder:`Filter ${n}`,onChange:t=>{let n=t.target.value;$(e.field,n===``?``:Number(n))}})]});case`date`:return(0,a.jsxs)(`div`,{className:`space-y-1`,children:[(0,a.jsx)(r.Label,{className:`text-xs text-muted-foreground`,children:n}),(0,a.jsx)(r.Input,{type:`date`,className:`h-8 text-xs`,value:t??``,onChange:t=>$(e.field,t.target.value)})]});case`boolean`:return(0,a.jsxs)(`div`,{className:`space-y-1`,children:[(0,a.jsx)(r.Label,{className:`text-xs text-muted-foreground`,children:n}),(0,a.jsxs)(`div`,{className:`flex items-center gap-2 h-8`,children:[(0,a.jsx)(r.Checkbox,{checked:!!t,onCheckedChange:t=>$(e.field,!!t)}),(0,a.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`Yes`})]})]});default:return(0,a.jsxs)(`div`,{className:`space-y-1`,children:[(0,a.jsx)(r.Label,{className:`text-xs text-muted-foreground`,children:n}),(0,a.jsx)(r.Input,{className:`h-8 text-xs`,value:t??``,placeholder:`Filter ${n}`,onChange:t=>$(e.field,t.target.value)})]})}},[W,$]),Ae=(0,n.useCallback)((e,t)=>e?`bg-primary/5 hover:bg-primary/10`:t%2==1?`bg-muted/20 hover:bg-accent/30`:`hover:bg-accent/30`,[]);return(0,a.jsx)(r.Dialog,{open:e,onOpenChange:t,children:(0,a.jsxs)(r.DialogContent,{className:`w-[95vw] sm:max-w-3xl lg:max-w-5xl max-h-[85vh] sm:max-h-[80vh] flex flex-col gap-0`,"data-testid":`record-picker-dialog`,children:[(0,a.jsx)(r.DialogHeader,{children:(0,a.jsxs)(r.DialogTitle,{children:[o,u&&(0,a.jsx)(`span`,{className:`sr-only`,children:` (multiple selection)`})]})}),(0,a.jsxs)(`div`,{className:`relative rounded-md border bg-muted/30 mb-3`,children:[(0,a.jsx)(i.Search,{className:`absolute left-3 top-1/2 -translate-y-1/2 size-4 text-muted-foreground`}),(0,a.jsx)(r.Input,{placeholder:`Search...`,value:A,onChange:e=>me(e.target.value),className:`pl-9 border-0 bg-transparent shadow-none focus-visible:ring-0`,"data-testid":`record-picker-search`}),w&&(0,a.jsx)(i.Loader2,{className:`absolute right-3 top-1/2 -translate-y-1/2 size-4 animate-spin text-muted-foreground`,"data-testid":`record-picker-loading-indicator`})]}),Z&&Z.length>0&&(0,a.jsx)(`div`,{className:`py-2`,children:S?(0,a.jsx)(`div`,{"data-testid":`record-picker-filter-bar`,children:S({filterColumns:Z,values:W,onChange:$,onClear:De,activeCount:Oe})}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(`div`,{className:`flex items-center gap-2`,"data-testid":`record-picker-filter-bar`,children:[(0,a.jsxs)(r.Button,{type:`button`,variant:Oe>0?`secondary`:`outline`,size:`sm`,className:`gap-1.5 shrink-0`,onClick:()=>U(e=>!e),children:[(0,a.jsx)(i.SlidersHorizontal,{className:`size-3.5`}),`Filters`,Oe>0&&(0,a.jsx)(`span`,{className:`inline-flex h-5 min-w-[20px] items-center justify-center rounded-full bg-primary/10 px-1 text-xs font-medium text-primary`,children:Oe})]}),Oe>0&&(0,a.jsxs)(r.Button,{type:`button`,variant:`ghost`,size:`sm`,className:`gap-1 text-xs`,onClick:De,children:[(0,a.jsx)(i.X,{className:`size-3`}),`Clear`]})]}),le&&(0,a.jsx)(`div`,{className:`mt-2 grid gap-3 sm:grid-cols-2 lg:grid-cols-3 border rounded-md p-3 bg-muted/30`,"data-testid":`record-picker-filter-panel`,children:Z.map(e=>(0,a.jsx)(`div`,{children:ke(e)},e.field))})]})}),E&&(0,a.jsxs)(`div`,{className:`flex flex-col items-center gap-2 py-4`,role:`alert`,children:[(0,a.jsx)(i.AlertCircle,{className:`size-5 text-destructive`}),(0,a.jsx)(`p`,{className:`text-sm text-destructive`,children:E}),(0,a.jsx)(r.Button,{variant:`outline`,size:`sm`,onClick:()=>fe(A||void 0,M,pe),type:`button`,children:`Retry`})]}),ae?(0,a.jsx)(`div`,{className:`flex-1 min-h-0`,"data-testid":`record-picker-grid-slot`,children:ae({columns:X,records:C,loading:w,totalCount:O,currentPage:M,pageSize:h,sortField:F,sortDirection:L,onSort:he,onPageChange:N,onRowClick:ve,isSelected:_e,multiple:u,idField:ie,cellRenderer:b})}):(0,a.jsxs)(a.Fragment,{children:[w&&C.length===0&&!E&&(0,a.jsx)(`div`,{className:`flex-1 overflow-hidden min-h-0 border rounded-md`,role:`status`,"aria-live":`polite`,"data-testid":`record-picker-skeleton`,children:(0,a.jsxs)(r.Table,{children:[(0,a.jsx)(r.TableHeader,{children:(0,a.jsxs)(r.TableRow,{className:`bg-muted/40`,children:[u&&(0,a.jsx)(r.TableHead,{className:`w-10`}),X.map(e=>(0,a.jsx)(r.TableHead,{children:(0,a.jsx)(r.Skeleton,{className:`h-4 w-20`})},e.field))]})}),(0,a.jsx)(r.TableBody,{children:Array.from({length:te},(e,t)=>(0,a.jsxs)(r.TableRow,{children:[u&&(0,a.jsx)(r.TableCell,{className:`w-10`,children:(0,a.jsx)(r.Skeleton,{className:`size-4 rounded`})}),X.map(e=>(0,a.jsx)(r.TableCell,{children:(0,a.jsx)(r.Skeleton,{className:`h-4 w-full`})},e.field))]},t))})]})}),!w&&!E&&C.length===0&&(0,a.jsx)(`div`,{className:`py-8 text-center`,children:(0,a.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`No records found`})}),!E&&C.length>0&&(0,a.jsxs)(`div`,{className:`relative flex-1 overflow-auto min-h-0 border rounded-md`,tabIndex:0,onKeyDown:Ce,role:`grid`,"aria-label":`Records`,children:[w&&(0,a.jsx)(`div`,{className:`absolute inset-0 z-10 flex items-center justify-center bg-background/60`,"data-testid":`record-picker-loading-overlay`,children:(0,a.jsx)(i.Loader2,{className:`size-6 animate-spin text-muted-foreground`})}),(0,a.jsxs)(r.Table,{style:Object.keys(K).length>0?{tableLayout:`fixed`}:void 0,children:[(0,a.jsx)(r.TableHeader,{className:`sticky top-0 z-[5] bg-muted/50 [&_tr]:border-b`,"data-testid":`record-picker-sticky-header`,children:(0,a.jsxs)(r.TableRow,{children:[u&&(0,a.jsx)(r.TableHead,{className:`w-10`}),X.map(e=>{let t=K[e.field];return(0,a.jsxs)(r.TableHead,{style:t?{width:`${t}px`,minWidth:`${t}px`}:e.width?{width:e.width}:void 0,className:`cursor-pointer select-none relative group text-xs font-semibold uppercase tracking-wider`,onClick:()=>he(e.field),"aria-sort":F===e.field?L===`asc`?`ascending`:`descending`:`none`,children:[(0,a.jsxs)(`span`,{className:`inline-flex items-center`,children:[e.label||c(e.field),Te(e.field)]}),(0,a.jsx)(`span`,{role:`separator`,"aria-orientation":`vertical`,className:`absolute right-0 top-0 bottom-0 w-1 cursor-col-resize opacity-0 group-hover:opacity-100 bg-border hover:bg-primary/50 transition-opacity`,onMouseDown:t=>{let n=t.currentTarget.parentElement?.getBoundingClientRect();Ee(t,e.field,n?.width??100)},onClick:e=>e.stopPropagation(),"data-testid":`resize-handle-${e.field}`})]},e.field)})]})}),(0,a.jsx)(r.TableBody,{ref:H,children:C.map((e,t)=>{let n=ge(e),o=_e(e),s=t===B;return(0,a.jsxs)(r.TableRow,{"data-row-index":t,className:(0,r.cn)(`cursor-pointer transition-colors`,Ae(o,t),s&&`ring-2 ring-primary ring-inset`),onClick:()=>ve(e),"data-testid":`record-row-${n}`,"aria-selected":o,children:[u&&(0,a.jsx)(r.TableCell,{className:`w-10`,children:o&&(0,a.jsx)(i.Check,{className:`size-4 text-primary`})}),X.map(t=>(0,a.jsx)(r.TableCell,{className:`py-2.5`,children:we(e,t)},t.field))]},n??t)})})]})]}),!E&&O>0&&(0,a.jsxs)(`div`,{className:`flex items-center justify-between text-sm text-muted-foreground border-t pt-3 mt-2 px-1`,"data-testid":`record-picker-pagination`,children:[(0,a.jsxs)(`span`,{children:[O,` `,O===1?`record`:`records`,Q>1&&` · Page ${M} of ${Q}`]}),Q>1&&(0,a.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,a.jsx)(r.Button,{variant:`outline`,size:`icon`,className:`size-7`,onClick:be,disabled:M<=1,type:`button`,"aria-label":`Previous page`,children:(0,a.jsx)(i.ChevronLeft,{className:`size-4`})}),(0,a.jsx)(r.Input,{className:`h-7 w-12 text-center text-xs px-1`,placeholder:String(M),value:J,onChange:e=>Y(e.target.value),onKeyDown:Se,"aria-label":`Jump to page`,"data-testid":`record-picker-page-jump`}),(0,a.jsx)(r.Button,{variant:`outline`,size:`icon`,className:`size-7`,onClick:xe,disabled:M>=Q,type:`button`,"aria-label":`Next page`,children:(0,a.jsx)(i.ChevronRight,{className:`size-4`})})]})]})]}),u&&(0,a.jsx)(r.DialogFooter,{children:(0,a.jsxs)(`div`,{className:`flex items-center gap-2 w-full justify-between`,children:[(0,a.jsxs)(`span`,{className:`text-sm text-muted-foreground`,children:[R.size,` selected`]}),(0,a.jsxs)(`div`,{className:`flex gap-2`,children:[(0,a.jsx)(r.Button,{variant:`outline`,type:`button`,onClick:()=>t(!1),children:`Cancel`}),(0,a.jsx)(r.Button,{type:`button`,onClick:ye,children:`Confirm`})]})]})})]})})}var d;function f(e){d=e}function p(){return d}var m=e.t({LookupField:()=>v}),ie=50,h=o.SchemaRendererContext;function g(e,t,n,r){let i=e[n]??e.id??e._id,a=e[t]??e.label??e.name??String(i),o=r?e[r]:void 0;return{value:i,label:String(a),description:o,...e}}function _(e){return{text:`text`,number:`number`,currency:`number`,percent:`number`,select:`select`,status:`select`,date:`date`,datetime:`date`,boolean:`boolean`}[e]}function v({value:e,onChange:o,field:s,readonly:ee,...te}){let[ne,c]=(0,n.useState)(!1),[l,re]=(0,n.useState)(``),{t:d}=t.t(),[f,m]=(0,n.useState)([]),[v,y]=(0,n.useState)(!1),[b,x]=(0,n.useState)(null),[S,ae]=(0,n.useState)(0),C=(0,n.useRef)(null),[oe,w]=(0,n.useState)([]),[T,E]=(0,n.useState)(-1),D=(0,n.useRef)(null),O=s||te.schema,k=O?.field,A=k&&typeof k==`object`&&(`reference_to`in k||`reference`in k||`type`in k)?k:O,j=A?.options||[],M=A?.multiple||!1,N=A?.display_field||A?.reference_field||`name`,P=A?.description_field,F=A?.id_field||`id`,I=A?.reference_to||A?.reference,L=A?.lookup_columns,se=A?.lookup_page_size,R=A?.lookup_filters,ce=(0,n.useMemo)(()=>{if(!L)return;let e=[];for(let t of L)if(typeof t==`object`&&t.type){let n=_(t.type);n&&e.push({field:t.field,label:t.label,type:n})}return e.length>0?e:void 0},[L]),z=(0,n.useContext)(h)?.dataSource??null,B=te.dataSource??O?.dataSource??A?.dataSource??z,V=B!=null&&typeof B.find==`function`&&!!I,H=te.onCreateNew??O?.onCreateNew,[le,U]=(0,n.useState)(!1),W=V?f:j,G=(0,n.useMemo)(()=>{if(V||!l)return W;let e=l.toLowerCase();return W.filter(t=>t.label.toLowerCase().includes(e)||t.description&&t.description.toLowerCase().includes(e))},[V,W,l]);(0,n.useEffect)(()=>{E(-1)},[G.length]);let K=(0,n.useCallback)(async e=>{if(!(!B||!I)){y(!0),x(null);try{let t={$top:ie};e&&e.trim()&&(t.$search=e.trim());let n=await B.find(I,t),r=n?.data??n??[];m(r.map(e=>g(e,N,F,P))),ae(n?.total??r.length)}catch(e){x(e instanceof Error?e.message:String(e)),m([])}finally{y(!1)}}},[B,I,N,F,P]);(0,n.useEffect)(()=>{ne&&V&&K(l||void 0),ne||(re(``),x(null),E(-1))},[ne]);let ue=(0,n.useCallback)(e=>{re(e),V&&(C.current&&clearTimeout(C.current),C.current=setTimeout(()=>{K(e||void 0)},300))},[V,K]);(0,n.useEffect)(()=>()=>{C.current&&clearTimeout(C.current)},[]);let q=(0,n.useCallback)(e=>j.find(t=>t.value===e)??f.find(t=>t.value===e)??oe.find(t=>t.value===e),[j,f,oe]),J=M?(Array.isArray(e)?e:[]).map(q).filter(Boolean):e?[q(e)].filter(Boolean):[],Y=(0,n.useCallback)(t=>{if(M){let n=Array.isArray(e)?e:[];n.includes(t.value)?o(n.filter(e=>e!==t.value)):o([...n,t.value])}else o(t.value),c(!1)},[M,e,o]),X=t=>{o(M?(Array.isArray(e)?e:[]).filter(e=>e!==t):null)},Z=(0,n.useCallback)(e=>{w(e.map(e=>g(e,N,F,P)))},[N,F,P]),de=(0,n.useCallback)(e=>{e.key===`ArrowDown`?(e.preventDefault(),E(e=>e<G.length-1?e+1:e)):e.key===`ArrowUp`?(e.preventDefault(),E(e=>e>0?e-1:0)):e.key===`Enter`&&(e.preventDefault(),T>=0&&T<G.length&&Y(G[T]))},[G,T,Y]);return(0,n.useEffect)(()=>{T>=0&&D.current&&D.current.querySelector(`[data-lookup-index="${T}"]`)?.scrollIntoView({block:`nearest`})},[T]),ee?J.length?M?(0,a.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:J.map((e,t)=>(0,a.jsx)(r.Badge,{variant:`outline`,children:e?.[N]||e?.label},t))}):(0,a.jsx)(`span`,{className:`text-sm`,children:J[0]?.[N]||J[0]?.label}):(0,a.jsx)(`span`,{className:`text-sm`,children:`-`}):(0,a.jsxs)(`div`,{className:`space-y-2`,children:[J.length>0&&(0,a.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:J.map((e,t)=>(0,a.jsxs)(r.Badge,{variant:`outline`,className:`gap-1`,children:[e?.[N]||e?.label,(0,a.jsx)(`button`,{onClick:()=>X(e?.value),className:`ml-1 hover:text-destructive`,type:`button`,"aria-label":`Remove ${e?.[N]||e?.label}`,children:(0,a.jsx)(i.X,{className:`size-3`})})]},t))}),(0,a.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,a.jsxs)(r.Popover,{open:ne,onOpenChange:c,children:[(0,a.jsx)(r.PopoverTrigger,{asChild:!0,children:(0,a.jsxs)(r.Button,{variant:`outline`,className:`min-w-0 flex-1 justify-start text-left font-normal`,type:`button`,children:[(0,a.jsx)(i.Search,{className:`mr-2 size-4`}),J.length===0?O?.placeholder||d(`common.select`):M?d(`table.selected`,{count:J.length}):d(`common.select`)]})}),(0,a.jsxs)(r.PopoverContent,{className:`w-[var(--radix-popover-trigger-width)] p-0`,align:`start`,children:[(0,a.jsx)(`div`,{className:`p-2`,children:(0,a.jsxs)(`div`,{className:`relative`,children:[(0,a.jsx)(i.Search,{className:`absolute left-3 top-1/2 -translate-y-1/2 size-4 text-muted-foreground`}),(0,a.jsx)(r.Input,{placeholder:d(`common.search`)+`...`,value:l,onChange:e=>ue(e.target.value),onKeyDown:de,className:`w-full pl-9 h-8 text-sm`}),v&&(0,a.jsx)(i.Loader2,{className:`absolute right-3 top-1/2 -translate-y-1/2 size-4 animate-spin text-muted-foreground`,"data-testid":`lookup-loading`})]})}),b&&(0,a.jsxs)(`div`,{className:`flex flex-col items-center gap-2 py-4 px-2`,role:`alert`,children:[(0,a.jsx)(i.AlertCircle,{className:`size-5 text-destructive`}),(0,a.jsx)(`p`,{className:`text-sm text-destructive`,children:b}),(0,a.jsx)(r.Button,{variant:`outline`,size:`sm`,onClick:()=>K(l||void 0),type:`button`,children:`Retry`})]}),v&&G.length===0&&!b&&(0,a.jsxs)(`div`,{className:`flex flex-col items-center gap-2 py-6`,role:`status`,"aria-live":`polite`,children:[(0,a.jsx)(i.Loader2,{className:`size-6 animate-spin text-muted-foreground`}),(0,a.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Loading…`})]}),!b&&!(v&&G.length===0)&&(0,a.jsx)(`div`,{ref:D,className:`max-h-64 overflow-y-auto px-1 pb-1`,role:`listbox`,children:G.length===0?(0,a.jsxs)(`div`,{className:`py-4 text-center`,children:[(0,a.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`No options found`}),H&&(0,a.jsxs)(r.Button,{variant:`ghost`,size:`sm`,className:`mt-2 gap-1`,type:`button`,onClick:()=>{H(l),c(!1)},children:[(0,a.jsx)(i.Plus,{className:`size-4`}),`Create new`]})]}):(0,a.jsxs)(a.Fragment,{children:[G.map((t,n)=>{let i=M?(Array.isArray(e)?e:[]).includes(t.value):e===t.value;return(0,a.jsxs)(`button`,{"data-lookup-index":n,role:`option`,"aria-selected":i,onClick:()=>Y(t),className:`w-full text-left px-3 py-2 rounded-md text-sm hover:bg-accent flex items-center justify-between ${n===T?`bg-accent text-accent-foreground`:i?`bg-accent/50 text-accent-foreground`:``}`,type:`button`,children:[(0,a.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,a.jsx)(`span`,{className:`block truncate`,children:t.label}),t.description&&(0,a.jsx)(`span`,{className:`block truncate text-xs text-muted-foreground`,children:t.description})]}),i&&(0,a.jsx)(r.Badge,{variant:`default`,className:`ml-2 shrink-0`,children:`Selected`})]},t.value)}),V&&S>G.length&&(0,a.jsxs)(`p`,{className:`text-xs text-muted-foreground text-center py-2`,children:[`Showing `,G.length,` of `,S,` results.`]}),V&&S>G.length&&(0,a.jsxs)(`button`,{type:`button`,className:`w-full text-center px-3 py-2 rounded-md text-sm font-medium text-primary hover:bg-accent flex items-center justify-center gap-1.5`,onClick:()=>{c(!1),U(!0)},"data-testid":`show-all-results`,children:[(0,a.jsx)(i.TableProperties,{className:`size-3.5`}),`Show All Results (`,S,`)`]}),H&&(0,a.jsxs)(`button`,{type:`button`,className:`w-full text-left px-3 py-2 rounded-md text-sm hover:bg-accent flex items-center gap-1.5 text-muted-foreground`,onClick:()=>{H(l),c(!1)},children:[(0,a.jsx)(i.Plus,{className:`size-3.5`}),`Create new`,l?` "${l}"`:``]})]})})]})]}),V&&(0,a.jsx)(r.Button,{variant:`outline`,size:`icon`,className:`shrink-0`,type:`button`,onClick:()=>U(!0),"aria-label":`Browse all records`,title:`Browse all records`,"data-testid":`browse-all-records`,children:(0,a.jsx)(i.TableProperties,{className:`size-4`})})]}),V&&B&&I&&(0,a.jsx)(u,{open:le,onOpenChange:U,title:O?.label||`Select`,multiple:M,dataSource:B,objectName:I,columns:L,displayField:N,idField:F,pageSize:se,value:e,onSelect:o,onSelectRecords:Z,lookupFilters:R,cellRenderer:p(),filterColumns:ce})]})}Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return v}});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`./index.cjs`);exports.MasterDetailField=e.MasterDetailField;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`./index.cjs`);exports.NumberField=e.NumberField;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`./index.cjs`);exports.ObjectField=e.ObjectField;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`./index.cjs`);exports.PasswordField=e.PasswordField;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`./index.cjs`);exports.PercentField=e.PercentField;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`./index.cjs`);exports.PhoneField=e.PhoneField;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`./index.cjs`);exports.QRCodeField=e.QRCodeField;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`./index.cjs`);exports.RatingField=e.RatingField;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`./index.cjs`);exports.RichTextField=e.RichTextField;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`./index.cjs`);exports.SelectField=e.SelectField;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`./index.cjs`);exports.SignatureField=e.SignatureField;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`./index.cjs`);exports.SliderField=e.SliderField;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`./index.cjs`);exports.SummaryField=e.SummaryField;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`./index.cjs`);exports.TextAreaField=e.TextAreaField;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`./index.cjs`);exports.TextField=e.TextField;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`./index.cjs`);exports.TimeField=e.TimeField;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`./index.cjs`);exports.UrlField=e.UrlField;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`./index.cjs`);exports.UserField=e.UserField;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`./index.cjs`);exports.VectorField=e.VectorField;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r},s=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},c=(n,r,a)=>(a=n==null?{}:e(i(n)),s(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return o}});
|
package/dist/index.cjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./jsx-runtime-DHCF5ANT.cjs`),t=require(`./LookupField-C9rPrHi_.cjs`);let n=require(`react`);n=e.r(n);let r=require(`@object-ui/core`),i=require(`@object-ui/components`),a=require(`lucide-react`);var o=e.t();function s({value:e,onChange:t,field:n,readonly:r,...a}){let s=n||a.schema;if(r)return(0,o.jsx)(`span`,{className:`text-sm`,children:e||`-`});let c=s?.rows,{inputType:l,...u}=a;return c&&c>1?(0,o.jsx)(i.Textarea,{...u,value:e||``,onChange:e=>t(e.target.value),placeholder:s?.placeholder,disabled:r||u.disabled}):(0,o.jsx)(i.Input,{...u,type:s?.type===`password`?`password`:`text`,value:e||``,onChange:e=>t(e.target.value),placeholder:s?.placeholder,disabled:r||u.disabled})}function c({value:e,onChange:t,field:n,readonly:r,...a}){if(r)return(0,o.jsx)(`span`,{className:`text-sm`,children:e??`-`});let s=n||a.schema,c=s?.precision,{inputType:l,...u}=a;return(0,o.jsx)(i.Input,{...u,type:`number`,value:e??``,onChange:e=>{let n=e.target.value;t(n===``?null:Number(n))},placeholder:s?.placeholder,disabled:r||u.disabled,step:c?10**-c:`any`})}function l({value:e,onChange:t,field:r,readonly:a,...s}){let c=r||s.schema,l=c?.widget,u=(0,n.useId)(),d=c?.name||u,f=c?.label||`Checkbox`;if(a)return(0,o.jsx)(`span`,{className:`text-sm`,children:e?`Yes`:`No`});let{inputType:p,...m}=s;return l===`checkbox`?(0,o.jsxs)(`div`,{className:`flex items-center space-x-2`,children:[(0,o.jsx)(i.Checkbox,{...m,id:d,checked:!!e,onCheckedChange:e=>t(!!e),disabled:a||m.disabled}),(0,o.jsx)(i.Label,{htmlFor:d,children:f})]}):(0,o.jsxs)(`div`,{className:`flex items-center space-x-2`,children:[(0,o.jsx)(i.Switch,{...m,id:d,checked:!!e,onCheckedChange:t,disabled:a||m.disabled}),(0,o.jsx)(i.Label,{htmlFor:d,children:f})]})}function u({value:e,onChange:t,field:n,readonly:r,...a}){let s=n||a.schema,c=s?.options||[];return r?(0,o.jsx)(`span`,{className:`text-sm`,children:c.find(t=>t.value===e)?.label||e||`-`}):(0,o.jsxs)(i.Select,{...a,value:e,onValueChange:t,disabled:r||a.disabled,children:[(0,o.jsx)(i.SelectTrigger,{className:a.className,id:a.id,children:(0,o.jsx)(i.SelectValue,{placeholder:s?.placeholder||`Select an option`})}),(0,o.jsx)(i.SelectContent,{position:`popper`,children:c.map(e=>(0,o.jsx)(i.SelectItem,{value:e.value,children:e.label},e.value))})]})}function d({value:e,onChange:t,field:n,readonly:r,...a}){if(r)return(0,o.jsx)(`span`,{className:`text-sm`,children:e?new Date(e).toLocaleDateString():`-`});let{inputType:s,...c}=a;return(0,o.jsx)(i.Input,{...c,type:`date`,value:e||``,onChange:e=>t(e.target.value),disabled:r||c.disabled})}function f({value:e,onChange:t,field:n,readonly:r,errorMessage:a,...s}){let c=n||s.schema;if(r)return e?(0,o.jsx)(`a`,{href:`mailto:${e}`,className:`text-sm text-blue-600 hover:text-blue-800 hover:underline`,children:e}):(0,o.jsx)(`span`,{className:`text-sm`,children:`-`});let{inputType:l,...u}=s;return(0,o.jsx)(i.Input,{...u,type:`email`,value:e||``,onChange:e=>t(e.target.value),placeholder:c?.placeholder||`email@example.com`,disabled:r||u.disabled,"aria-invalid":!!a})}function p({value:e,onChange:t,field:n,readonly:r,errorMessage:a,...s}){let c=n||s.schema;if(r)return e?(0,o.jsx)(`a`,{href:`tel:${e}`,className:`text-sm text-blue-600 hover:text-blue-800 hover:underline`,children:e}):(0,o.jsx)(`span`,{className:`text-sm`,children:`-`});let{inputType:l,...u}=s;return(0,o.jsx)(i.Input,{...u,type:`tel`,value:e||``,onChange:e=>t(e.target.value),placeholder:c?.placeholder||`(555) 123-4567`,disabled:r||u.disabled,"aria-invalid":!!a})}function m({value:e,onChange:t,field:n,readonly:r,errorMessage:a,...s}){let c=n||s.schema;if(r)return e?e.startsWith(`http://`)||e.startsWith(`https://`)?(0,o.jsx)(`a`,{href:e,target:`_blank`,rel:`noopener noreferrer`,className:`text-sm text-blue-600 hover:text-blue-800 hover:underline`,children:e}):(0,o.jsx)(`span`,{className:`text-sm`,children:e}):(0,o.jsx)(`span`,{className:`text-sm`,children:`-`});let{inputType:l,...u}=s;return(0,o.jsx)(i.Input,{...u,type:`url`,value:e||``,onChange:e=>t(e.target.value),placeholder:c?.placeholder||`https://example.com`,disabled:r||u.disabled,"aria-invalid":!!a})}function h(e,t=`USD`){try{return new Intl.NumberFormat(`en-US`,{style:`currency`,currency:t}).format(e)}catch{return`${t} ${e.toFixed(2)}`}}function g({value:e,onChange:t,field:n,readonly:r,errorMessage:a,className:s,...c}){let l=n||c.schema,u=l?.currency||`USD`,d=l?.precision??2;if(r)return e==null?(0,o.jsx)(`span`,{className:`text-sm`,children:`-`}):(0,o.jsx)(`span`,{className:`text-sm font-medium tabular-nums`,children:h(Number(e),u)});let f=e=>{let n=parseFloat(e.target.value);isNaN(n)||t(parseFloat(n.toFixed(d)))};return(0,o.jsxs)(`div`,{className:`relative`,children:[(0,o.jsx)(`span`,{className:`absolute left-3 top-1/2 -translate-y-1/2 text-sm text-gray-500`,children:u===`USD`?`$`:u}),(0,o.jsx)(i.Input,{...c,type:`number`,value:e??``,onChange:e=>{t(e.target.value===``?null:parseFloat(e.target.value))},onBlur:f,placeholder:l?.placeholder||`0.00`,disabled:r||c.disabled,className:`pl-8 ${s||``}`,step:(10**-d).toFixed(d),"aria-invalid":!!a})]})}function _({value:e,onChange:t,field:n,readonly:r,errorMessage:a,...s}){if(r)return(0,o.jsx)(`div`,{className:`text-sm whitespace-pre-wrap`,children:e||`-`});let c=n||s.schema,l=c?.rows||4,u=c?.max_length,{inputType:d,...f}=s;return(0,o.jsxs)(`div`,{className:`relative`,children:[(0,o.jsx)(i.Textarea,{...f,value:e||``,onChange:e=>t(e.target.value),placeholder:c?.placeholder,disabled:r||f.disabled,rows:l,maxLength:u,"aria-invalid":!!a}),u&&(0,o.jsxs)(`div`,{className:`absolute bottom-2 right-2 text-xs text-gray-400`,"aria-live":`polite`,"aria-label":`Character count: ${(e||``).length} of ${u}`,children:[(e||``).length,`/`,u]})]})}function v({value:e,onChange:t,field:n,readonly:r,errorMessage:a,...s}){if(r)return(0,o.jsx)(`div`,{className:`text-sm prose prose-sm max-w-none`,children:e||`-`});let c=n||s.schema,l=c?.rows||8;return(0,o.jsxs)(`div`,{className:`space-y-2`,children:[(0,o.jsxs)(`div`,{className:`flex items-center justify-between text-xs text-gray-500`,children:[(0,o.jsxs)(`span`,{children:[`Format: `,c?.format||`markdown`]}),(0,o.jsx)(`span`,{className:`italic`,children:`Rich text editor (basic)`})]}),(0,o.jsx)(i.Textarea,{value:e||``,onChange:e=>t(e.target.value),placeholder:c?.placeholder||`Enter text...`,disabled:r||s.disabled,rows:l,className:`font-mono text-sm ${s.className||``}`,"aria-invalid":!!a})]})}function y({value:e,onChange:t,field:n,readonly:r,...a}){if(r){if(!e)return(0,o.jsx)(`span`,{className:`text-sm`,children:`-`});let t=new Date(e);return(0,o.jsxs)(`span`,{className:`text-sm`,children:[t.toLocaleDateString(),` `,t.toLocaleTimeString()]})}let{inputType:s,...c}=a;return(0,o.jsx)(i.Input,{...c,type:`datetime-local`,value:e||``,onChange:e=>t(e.target.value),disabled:r||c.disabled})}function b({value:e,onChange:t,field:n,readonly:r,...a}){if(r)return(0,o.jsx)(`span`,{className:`text-sm`,children:e||`-`});let{inputType:s,...c}=a;return(0,o.jsx)(i.Input,{...c,type:`time`,value:e||``,onChange:e=>t(e.target.value),disabled:r||c.disabled})}function x({value:e,onChange:t,field:n,readonly:r,errorMessage:a,className:s,...c}){let l=n||c.schema,u=l?.precision??2;if(r)return e==null?(0,o.jsx)(`span`,{className:`text-sm`,children:`-`}):(0,o.jsxs)(`span`,{className:`text-sm font-medium tabular-nums`,children:[(e*100).toFixed(u),`%`]});let d=e==null?``:e*100,f=e==null?0:e*100,p=e=>{if(e.target.value===``){t(null);return}let n=parseFloat(e.target.value);t(isNaN(n)?null:n/100)},m=e=>{if(r||c.disabled)return;if(!Array.isArray(e)||e.length===0){t(null);return}let n=e[0];t(typeof n==`number`?n/100:null)},h=10**-u;return(0,o.jsxs)(`div`,{className:`space-y-2`,children:[(0,o.jsxs)(`div`,{className:`relative`,children:[(0,o.jsx)(i.Input,{...c,type:`number`,value:d,onChange:p,placeholder:l?.placeholder||`0`,disabled:r||c.disabled,className:`pr-8 ${s||``}`,step:(10**-u).toFixed(u),"aria-invalid":!!a}),(0,o.jsx)(`span`,{className:`absolute right-3 top-1/2 -translate-y-1/2 text-sm text-gray-500`,children:`%`})]}),(0,o.jsx)(i.Slider,{value:[f],onValueChange:m,min:0,max:100,step:h,disabled:r||c.disabled,className:`w-full`,"aria-label":`Percentage`,"data-testid":`percent-slider`})]})}function S({value:e,onChange:t,field:r,readonly:s,className:c,...l}){let[u,d]=(0,n.useState)(!1),f=r||l.schema;if(s)return(0,o.jsx)(`span`,{className:`text-sm`,children:`••••••••`});let{inputType:p,...m}=l;return(0,o.jsxs)(`div`,{className:`relative`,children:[(0,o.jsx)(i.Input,{...m,type:u?`text`:`password`,value:e||``,onChange:e=>t(e.target.value),placeholder:f?.placeholder,disabled:s||m.disabled,className:`pr-10 ${c||``}`}),(0,o.jsx)(i.Button,{type:`button`,variant:`ghost`,size:`sm`,className:`absolute right-0 top-0 h-full px-3 py-2 hover:bg-transparent`,onClick:()=>d(!u),tabIndex:-1,children:u?(0,o.jsx)(a.EyeOff,{className:`size-4 text-gray-500`}):(0,o.jsx)(a.Eye,{className:`size-4 text-gray-500`})})]})}function C({value:e,onChange:t,field:r,readonly:s,...c}){let l=(0,n.useRef)(null),u=r||c.schema,d=u?.multiple||!1,f=u?.accept?u.accept.join(`,`):void 0,p=u?.maxSize,[m,h]=(0,n.useState)(!1),[g,_]=(0,n.useState)([]),v=e?Array.isArray(e)?e:[e]:[],y=(0,n.useCallback)(e=>{if(e.length===0)return;let n=[],r=e.filter(e=>{if(p&&e.size>p){let t=(p/(1024*1024)).toFixed(1);return n.push(`"${e.name}" exceeds max size (${t} MB)`),!1}return!0});if(_(n),r.length===0)return;let i=r.map(e=>({name:e.name,original_name:e.name,size:e.size,mime_type:e.type,url:URL.createObjectURL(e)}));t(d?[...v,...i]:i[0])},[v,d,t,p]),b=(0,n.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),h(!0)},[]),x=(0,n.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),h(!1)},[]),S=(0,n.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),h(!1);let t=Array.from(e.dataTransfer.files);if(f){let e=f.split(`,`).map(e=>e.trim().toLowerCase());y(t.filter(t=>{let n=t.name.split(`.`),r=n.length>1?`.`+n.pop()?.toLowerCase():``;return e.some(e=>e===t.type||r&&e===r||e.endsWith(`/*`)&&t.type.startsWith(e.replace(`/*`,`/`)))}))}else y(t)},[f,y]);if(s)return e?(0,o.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:(Array.isArray(e)?e:[e]).map((e,t)=>(0,o.jsx)(`span`,{className:`text-sm truncate max-w-xs`,children:e.name||e.original_name||`File`},t))}):(0,o.jsx)(`span`,{className:`text-sm`,children:`-`});let C=e=>{y(Array.from(e.target.files||[]))},w=e=>{if(d){let n=v.filter((t,n)=>n!==e);t(n.length>0?n:null)}else t(null)},T=e=>(e.mime_type||``).startsWith(`image/`);return(0,o.jsxs)(`div`,{className:c.className,children:[(0,o.jsx)(`input`,{ref:l,type:`file`,multiple:d,accept:f,onChange:C,className:`hidden`}),(0,o.jsxs)(`div`,{className:`space-y-2`,children:[(0,o.jsxs)(`div`,{onDragOver:b,onDragLeave:x,onDrop:S,onClick:()=>l.current?.click(),className:`
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./chunk-D-qHiVGv.cjs`),t=require(`./useFieldTranslation-BiQad4ar.cjs`),n=require(`./LookupField-BHr7uTX1.cjs`);let r=require(`react`);r=e.n(r,1);let i=require(`@object-ui/core`),a=require(`@object-ui/components`),o=require(`lucide-react`),s=require(`react/jsx-runtime`);function c({value:e,onChange:t,field:n,readonly:r,...i}){let o=n||i.schema;if(r)return(0,s.jsx)(`span`,{className:`text-sm`,children:e||`-`});let c=o?.rows,{inputType:l,...u}=i;return c&&c>1?(0,s.jsx)(a.Textarea,{...u,value:e||``,onChange:e=>t(e.target.value),placeholder:o?.placeholder,disabled:r||u.disabled}):(0,s.jsx)(a.Input,{...u,type:o?.type===`password`?`password`:`text`,value:e||``,onChange:e=>t(e.target.value),placeholder:o?.placeholder,disabled:r||u.disabled})}function l({value:e,onChange:t,field:n,readonly:r,...i}){if(r)return(0,s.jsx)(`span`,{className:`text-sm`,children:e??`-`});let o=n||i.schema,c=o?.precision,{inputType:l,...u}=i;return(0,s.jsx)(a.Input,{...u,type:`number`,value:e??``,onChange:e=>{let n=e.target.value;t(n===``?null:Number(n))},placeholder:o?.placeholder,disabled:r||u.disabled,step:c?10**-c:`any`})}function u({value:e,onChange:t,field:n,readonly:i,...o}){let c=n||o.schema,l=c?.widget,u=(0,r.useId)(),d=c?.name||u,f=c?.label||`Checkbox`;if(i)return(0,s.jsx)(`span`,{className:`text-sm`,children:e?`Yes`:`No`});let{inputType:p,...m}=o;return l===`checkbox`?(0,s.jsxs)(`div`,{className:`flex items-center space-x-2`,children:[(0,s.jsx)(a.Checkbox,{...m,id:d,checked:!!e,onCheckedChange:e=>t(!!e),disabled:i||m.disabled}),(0,s.jsx)(a.Label,{htmlFor:d,children:f})]}):(0,s.jsxs)(`div`,{className:`flex items-center space-x-2`,children:[(0,s.jsx)(a.Switch,{...m,id:d,checked:!!e,onCheckedChange:t,disabled:i||m.disabled}),(0,s.jsx)(a.Label,{htmlFor:d,children:f})]})}function d({value:e,onChange:n,field:r,readonly:i,...o}){let c=r||o.schema,l=c?.options||[],{t:u}=t.t();return i?(0,s.jsx)(`span`,{className:`text-sm`,children:l.find(t=>t.value===e)?.label||e||`-`}):(0,s.jsxs)(a.Select,{...o,value:e,onValueChange:n,disabled:i||o.disabled,children:[(0,s.jsx)(a.SelectTrigger,{className:o.className,id:o.id,children:(0,s.jsx)(a.SelectValue,{placeholder:c?.placeholder||u(`common.selectOption`)})}),(0,s.jsx)(a.SelectContent,{position:`popper`,children:l.map(e=>(0,s.jsx)(a.SelectItem,{value:e.value,children:e.label},e.value))})]})}function f({value:e,onChange:t,field:n,readonly:r,...i}){if(r)return(0,s.jsx)(`span`,{className:`text-sm`,children:e?new Date(e).toLocaleDateString():`-`});let{inputType:o,...c}=i;return(0,s.jsx)(a.Input,{...c,type:`date`,value:e||``,onChange:e=>t(e.target.value),disabled:r||c.disabled})}function p({value:e,onChange:t,field:n,readonly:r,errorMessage:i,...o}){let c=n||o.schema;if(r)return e?(0,s.jsx)(`a`,{href:`mailto:${e}`,className:`text-sm text-blue-600 hover:text-blue-800 hover:underline`,children:e}):(0,s.jsx)(`span`,{className:`text-sm`,children:`-`});let{inputType:l,...u}=o;return(0,s.jsx)(a.Input,{...u,type:`email`,value:e||``,onChange:e=>t(e.target.value),placeholder:c?.placeholder||`email@example.com`,disabled:r||u.disabled,"aria-invalid":!!i})}function m({value:e,onChange:t,field:n,readonly:r,errorMessage:i,...o}){let c=n||o.schema;if(r)return e?(0,s.jsx)(`a`,{href:`tel:${e}`,className:`text-sm text-blue-600 hover:text-blue-800 hover:underline`,children:e}):(0,s.jsx)(`span`,{className:`text-sm`,children:`-`});let{inputType:l,...u}=o;return(0,s.jsx)(a.Input,{...u,type:`tel`,value:e||``,onChange:e=>t(e.target.value),placeholder:c?.placeholder||`(555) 123-4567`,disabled:r||u.disabled,"aria-invalid":!!i})}function h({value:e,onChange:t,field:n,readonly:r,errorMessage:i,...o}){let c=n||o.schema;if(r)return e?e.startsWith(`http://`)||e.startsWith(`https://`)?(0,s.jsx)(`a`,{href:e,target:`_blank`,rel:`noopener noreferrer`,className:`text-sm text-blue-600 hover:text-blue-800 hover:underline`,children:e}):(0,s.jsx)(`span`,{className:`text-sm`,children:e}):(0,s.jsx)(`span`,{className:`text-sm`,children:`-`});let{inputType:l,...u}=o;return(0,s.jsx)(a.Input,{...u,type:`url`,value:e||``,onChange:e=>t(e.target.value),placeholder:c?.placeholder||`https://example.com`,disabled:r||u.disabled,"aria-invalid":!!i})}function g(e,t=`USD`){try{return new Intl.NumberFormat(`en-US`,{style:`currency`,currency:t}).format(e)}catch{return`${t} ${e.toFixed(2)}`}}function _({value:e,onChange:t,field:n,readonly:r,errorMessage:i,className:o,...c}){let l=n||c.schema,u=l?.currency||`USD`,d=l?.precision??2;if(r)return e==null?(0,s.jsx)(`span`,{className:`text-sm`,children:`-`}):(0,s.jsx)(`span`,{className:`text-sm font-medium tabular-nums`,children:g(Number(e),u)});let f=e=>{let n=parseFloat(e.target.value);isNaN(n)||t(parseFloat(n.toFixed(d)))};return(0,s.jsxs)(`div`,{className:`relative`,children:[(0,s.jsx)(`span`,{className:`absolute left-3 top-1/2 -translate-y-1/2 text-sm text-gray-500`,children:u===`USD`?`$`:u}),(0,s.jsx)(a.Input,{...c,type:`number`,value:e??``,onChange:e=>{t(e.target.value===``?null:parseFloat(e.target.value))},onBlur:f,placeholder:l?.placeholder||`0.00`,disabled:r||c.disabled,className:`pl-8 ${o||``}`,step:(10**-d).toFixed(d),"aria-invalid":!!i})]})}function v({value:e,onChange:t,field:n,readonly:r,errorMessage:i,...o}){if(r)return(0,s.jsx)(`div`,{className:`text-sm whitespace-pre-wrap`,children:e||`-`});let c=n||o.schema,l=c?.rows||4,u=c?.max_length,{inputType:d,...f}=o;return(0,s.jsxs)(`div`,{className:`relative`,children:[(0,s.jsx)(a.Textarea,{...f,value:e||``,onChange:e=>t(e.target.value),placeholder:c?.placeholder,disabled:r||f.disabled,rows:l,maxLength:u,"aria-invalid":!!i}),u&&(0,s.jsxs)(`div`,{className:`absolute bottom-2 right-2 text-xs text-gray-400`,"aria-live":`polite`,"aria-label":`Character count: ${(e||``).length} of ${u}`,children:[(e||``).length,`/`,u]})]})}function y({value:e,onChange:t,field:n,readonly:r,errorMessage:i,...o}){if(r)return(0,s.jsx)(`div`,{className:`text-sm prose prose-sm max-w-none`,children:e||`-`});let c=n||o.schema,l=c?.rows||8;return(0,s.jsxs)(`div`,{className:`space-y-2`,children:[(0,s.jsxs)(`div`,{className:`flex items-center justify-between text-xs text-gray-500`,children:[(0,s.jsxs)(`span`,{children:[`Format: `,c?.format||`markdown`]}),(0,s.jsx)(`span`,{className:`italic`,children:`Rich text editor (basic)`})]}),(0,s.jsx)(a.Textarea,{value:e||``,onChange:e=>t(e.target.value),placeholder:c?.placeholder||`Enter text...`,disabled:r||o.disabled,rows:l,className:`font-mono text-sm ${o.className||``}`,"aria-invalid":!!i})]})}function b({value:e,onChange:t,field:n,readonly:r,...i}){if(r){if(!e)return(0,s.jsx)(`span`,{className:`text-sm`,children:`-`});let t=new Date(e);return(0,s.jsxs)(`span`,{className:`text-sm`,children:[t.toLocaleDateString(),` `,t.toLocaleTimeString()]})}let{inputType:o,...c}=i;return(0,s.jsx)(a.Input,{...c,type:`datetime-local`,value:e||``,onChange:e=>t(e.target.value),disabled:r||c.disabled})}function x({value:e,onChange:t,field:n,readonly:r,...i}){if(r)return(0,s.jsx)(`span`,{className:`text-sm`,children:e||`-`});let{inputType:o,...c}=i;return(0,s.jsx)(a.Input,{...c,type:`time`,value:e||``,onChange:e=>t(e.target.value),disabled:r||c.disabled})}function S({value:e,onChange:t,field:n,readonly:r,errorMessage:i,className:o,...c}){let l=n||c.schema,u=l?.precision??2;if(r)return e==null?(0,s.jsx)(`span`,{className:`text-sm`,children:`-`}):(0,s.jsxs)(`span`,{className:`text-sm font-medium tabular-nums`,children:[(e*100).toFixed(u),`%`]});let d=e==null?``:e*100,f=e==null?0:e*100,p=e=>{if(e.target.value===``){t(null);return}let n=parseFloat(e.target.value);t(isNaN(n)?null:n/100)},m=e=>{if(r||c.disabled)return;if(!Array.isArray(e)||e.length===0){t(null);return}let n=e[0];t(typeof n==`number`?n/100:null)},h=10**-u;return(0,s.jsxs)(`div`,{className:`space-y-2`,children:[(0,s.jsxs)(`div`,{className:`relative`,children:[(0,s.jsx)(a.Input,{...c,type:`number`,value:d,onChange:p,placeholder:l?.placeholder||`0`,disabled:r||c.disabled,className:`pr-8 ${o||``}`,step:(10**-u).toFixed(u),"aria-invalid":!!i}),(0,s.jsx)(`span`,{className:`absolute right-3 top-1/2 -translate-y-1/2 text-sm text-gray-500`,children:`%`})]}),(0,s.jsx)(a.Slider,{value:[f],onValueChange:m,min:0,max:100,step:h,disabled:r||c.disabled,className:`w-full`,"aria-label":`Percentage`,"data-testid":`percent-slider`})]})}function C({value:e,onChange:t,field:n,readonly:i,className:c,...l}){let[u,d]=(0,r.useState)(!1),f=n||l.schema;if(i)return(0,s.jsx)(`span`,{className:`text-sm`,children:`••••••••`});let{inputType:p,...m}=l;return(0,s.jsxs)(`div`,{className:`relative`,children:[(0,s.jsx)(a.Input,{...m,type:u?`text`:`password`,value:e||``,onChange:e=>t(e.target.value),placeholder:f?.placeholder,disabled:i||m.disabled,className:`pr-10 ${c||``}`}),(0,s.jsx)(a.Button,{type:`button`,variant:`ghost`,size:`sm`,className:`absolute right-0 top-0 h-full px-3 py-2 hover:bg-transparent`,onClick:()=>d(!u),tabIndex:-1,children:u?(0,s.jsx)(o.EyeOff,{className:`size-4 text-gray-500`}):(0,s.jsx)(o.Eye,{className:`size-4 text-gray-500`})})]})}function w({value:e,onChange:t,field:n,readonly:i,...c}){let l=(0,r.useRef)(null),u=n||c.schema,d=u?.multiple||!1,f=u?.accept?u.accept.join(`,`):void 0,p=u?.maxSize,[m,h]=(0,r.useState)(!1),[g,_]=(0,r.useState)([]),v=e?Array.isArray(e)?e:[e]:[],y=(0,r.useCallback)(e=>{if(e.length===0)return;let n=[],r=e.filter(e=>{if(p&&e.size>p){let t=(p/(1024*1024)).toFixed(1);return n.push(`"${e.name}" exceeds max size (${t} MB)`),!1}return!0});if(_(n),r.length===0)return;let i=r.map(e=>({name:e.name,original_name:e.name,size:e.size,mime_type:e.type,url:URL.createObjectURL(e)}));t(d?[...v,...i]:i[0])},[v,d,t,p]),b=(0,r.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),h(!0)},[]),x=(0,r.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),h(!1)},[]),S=(0,r.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),h(!1);let t=Array.from(e.dataTransfer.files);if(f){let e=f.split(`,`).map(e=>e.trim().toLowerCase());y(t.filter(t=>{let n=t.name.split(`.`),r=n.length>1?`.`+n.pop()?.toLowerCase():``;return e.some(e=>e===t.type||r&&e===r||e.endsWith(`/*`)&&t.type.startsWith(e.replace(`/*`,`/`)))}))}else y(t)},[f,y]);if(i)return e?(0,s.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:(Array.isArray(e)?e:[e]).map((e,t)=>(0,s.jsx)(`span`,{className:`text-sm truncate max-w-xs`,children:e.name||e.original_name||`File`},t))}):(0,s.jsx)(`span`,{className:`text-sm`,children:`-`});let C=e=>{y(Array.from(e.target.files||[]))},w=e=>{if(d){let n=v.filter((t,n)=>n!==e);t(n.length>0?n:null)}else t(null)},T=e=>(e.mime_type||``).startsWith(`image/`);return(0,s.jsxs)(`div`,{className:c.className,children:[(0,s.jsx)(`input`,{ref:l,type:`file`,multiple:d,accept:f,onChange:C,className:`hidden`}),(0,s.jsxs)(`div`,{className:`space-y-2`,children:[(0,s.jsxs)(`div`,{onDragOver:b,onDragLeave:x,onDrop:S,onClick:()=>l.current?.click(),className:`
|
|
2
2
|
flex flex-col items-center justify-center gap-2 p-6
|
|
3
3
|
border-2 border-dashed rounded-lg cursor-pointer
|
|
4
4
|
transition-colors duration-200
|
|
5
5
|
${m?`border-primary bg-primary/5 text-primary`:`border-muted-foreground/25 hover:border-primary/50 text-muted-foreground hover:text-foreground`}
|
|
6
|
-
`,role:`button`,tabIndex:0,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),l.current?.click())},children:[(0,
|
|
6
|
+
`,role:`button`,tabIndex:0,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),l.current?.click())},children:[(0,s.jsx)(o.Upload,{className:`size-8 ${m?`text-primary`:`text-muted-foreground`}`}),(0,s.jsxs)(`div`,{className:`text-center`,children:[(0,s.jsx)(`p`,{className:`text-sm font-medium`,children:m?`Drop files here`:`Drag & drop files here`}),(0,s.jsx)(`p`,{className:`text-xs text-muted-foreground mt-1`,children:`or click to browse`})]})]}),g.length>0&&(0,s.jsx)(`div`,{className:`space-y-0.5`,children:g.map((e,t)=>(0,s.jsx)(`p`,{className:`text-xs text-destructive`,children:e},t))}),v.length>0&&(0,s.jsx)(`div`,{className:`space-y-1`,children:v.map((e,t)=>(0,s.jsxs)(`div`,{className:`flex items-center justify-between gap-2 p-2 bg-muted/50 rounded-md border`,children:[(0,s.jsxs)(`div`,{className:`flex items-center gap-2 flex-1 min-w-0`,children:[T(e)&&e.url?(0,s.jsx)(`img`,{src:e.url,alt:e.name,className:`size-8 object-cover rounded flex-shrink-0`}):T(e)?(0,s.jsx)(o.ImageIcon,{className:`size-4 text-muted-foreground flex-shrink-0`}):(0,s.jsx)(o.File,{className:`size-4 text-muted-foreground flex-shrink-0`}),(0,s.jsx)(`span`,{className:`text-sm truncate`,children:e.name||e.original_name||`File`}),e.size&&(0,s.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[`(`,(e.size/1024).toFixed(1),` KB)`]})]}),(0,s.jsx)(a.Button,{type:`button`,variant:`ghost`,size:`sm`,onClick:e=>{e.stopPropagation(),w(t)},className:`h-6 w-6 p-0`,children:(0,s.jsx)(o.X,{className:`size-3`})})]},t))})]})]})}function T({value:e,onChange:t,field:n,readonly:i,...c}){let l=(0,r.useRef)(null),u=n||c.schema,d=u?.multiple||!1,f=u?.accept?u.accept.join(`,`):`image/*`;if(i)return e?(0,s.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:(Array.isArray(e)?e:[e]).map((e,t)=>(0,s.jsx)(`img`,{src:e.url||``,alt:e.name||`Image ${t+1}`,className:`size-20 rounded-md object-cover border border-gray-200`},t))}):(0,s.jsx)(`span`,{className:`text-sm`,children:`-`});let p=e?Array.isArray(e)?e:[e]:[],m=e=>{let n=Array.from(e.target.files||[]);if(n.length===0)return;let r=n.map(e=>({name:e.name,original_name:e.name,size:e.size,mime_type:e.type,url:URL.createObjectURL(e)}));t(d?[...p,...r]:r[0])},h=e=>{if(d){let n=p.filter((t,n)=>n!==e);t(n.length>0?n:null)}else t(null)};return(0,s.jsxs)(`div`,{className:c.className,children:[(0,s.jsx)(`input`,{ref:l,type:`file`,multiple:d,accept:f,onChange:m,className:`hidden`}),(0,s.jsxs)(`div`,{className:`space-y-2`,children:[p.length>0&&(0,s.jsx)(`div`,{className:`grid grid-cols-4 gap-2`,children:p.map((e,t)=>(0,s.jsxs)(`div`,{className:`relative group`,children:[(0,s.jsx)(`img`,{src:e.url||``,alt:e.name||`Image ${t+1}`,className:`size-20 rounded-md object-cover border border-gray-200`}),(0,s.jsx)(a.Button,{type:`button`,variant:`destructive`,size:`sm`,onClick:()=>h(t),className:`absolute top-1 right-1 h-6 w-6 p-0 opacity-0 group-hover:opacity-100 transition-opacity`,children:(0,s.jsx)(o.X,{className:`size-3`})})]},t))}),(0,s.jsxs)(a.Button,{type:`button`,variant:`outline`,onClick:()=>l.current?.click(),className:`w-full`,children:[(0,s.jsx)(o.Image,{className:`size-4 mr-2`}),p.length>0?`Add More Images`:`Upload Image`]})]})]})}function E({value:e,onChange:t,field:n,readonly:r,...i}){let o=n||i.schema,c=e&&typeof e==`object`?`${e.latitude||0}, ${e.longitude||0}`:``;return r?(0,s.jsx)(`span`,{className:`text-sm`,children:c||`-`}):(0,s.jsx)(a.Input,{type:`text`,value:c,onChange:e=>{let n=e.target.value;if(!n.trim()){t(null);return}let r=n.split(`,`).map(e=>e.trim());if(r.length===2){let e=parseFloat(r[0]),n=parseFloat(r[1]);!isNaN(e)&&!isNaN(n)&&t({latitude:e,longitude:n})}},placeholder:o?.placeholder||`latitude, longitude`,disabled:r||i.disabled,className:i.className})}function D({value:e,field:t,...n}){let r=(t||n.schema)?.return_type||`text`,i=`-`;return e!=null&&(i=r===`number`||r===`currency`?typeof e==`number`?e.toFixed(2):String(e):r===`boolean`?e?`Yes`:`No`:r===`date`?new Date(e).toLocaleDateString():String(e)),(0,s.jsx)(`span`,{className:`text-sm font-mono text-gray-700 ${n.className||``}`,children:i})}function ee({value:e,field:t,...n}){let r=(t||n.schema)?.summary_type||`count`,i=`-`;return e!=null&&(i=r===`count`?String(e):[`sum`,`avg`,`min`,`max`].includes(r)&&typeof e==`number`?e.toFixed(2):String(e)),(0,s.jsx)(`span`,{className:`text-sm font-medium tabular-nums text-gray-700 ${n.className||``}`,children:i})}function te({value:e,field:t,...n}){let r=e==null?`-`:String(e);return(0,s.jsx)(`span`,{className:`text-sm font-mono text-gray-700 ${n.className||``}`,children:r})}function O({value:e,onChange:t,field:n,readonly:r,...i}){let c=(n||i.schema)?.multiple||!1;if(r){if(!e)return(0,s.jsx)(`span`,{className:`text-sm`,children:`-`});let t=Array.isArray(e)?e:[e];return(0,s.jsxs)(`div`,{className:`flex -space-x-2`,children:[t.slice(0,3).map((e,t)=>{let n=e.name||e.username||`User`;return(0,s.jsx)(a.Avatar,{className:`size-8 border-2 border-white`,title:n,children:(0,s.jsx)(a.AvatarFallback,{className:`bg-blue-500 text-white text-xs`,children:n.split(` `).map(e=>e[0]).join(``).toUpperCase().slice(0,2)})},t)}),t.length>3&&(0,s.jsx)(a.Avatar,{className:`size-8 border-2 border-white`,children:(0,s.jsxs)(a.AvatarFallback,{className:`bg-gray-200 text-gray-600 text-xs`,children:[`+`,t.length-3]})})]})}let l=e?Array.isArray(e)?e:[e]:[],u=e=>{if(c){let n=l.filter((t,n)=>n!==e);t(n.length>0?n:null)}else t(null)};return(0,s.jsxs)(`div`,{className:i.className,children:[l.length>0&&(0,s.jsx)(`div`,{className:`flex flex-wrap gap-2 mb-2`,children:l.map((e,t)=>{let n=e.name||e.username||`User`;return(0,s.jsxs)(a.Badge,{variant:`outline`,className:`gap-2 pr-1`,children:[(0,s.jsx)(a.Avatar,{className:`size-5`,children:(0,s.jsx)(a.AvatarFallback,{className:`bg-blue-500 text-white text-xs`,children:n.split(` `).map(e=>e[0]).join(``).toUpperCase().slice(0,2)})}),(0,s.jsx)(`span`,{className:`text-sm`,children:n}),(0,s.jsx)(`button`,{type:`button`,onClick:()=>u(t),className:`ml-1 rounded-full hover:bg-gray-200 p-0.5`,children:(0,s.jsx)(o.X,{className:`size-3`})})]},t)})}),(0,s.jsx)(`div`,{className:`text-sm text-gray-500 italic`,children:`User selection component requires integration with user management system`})]})}function ne({value:e,onChange:t,field:n,readonly:i,...o}){let c=n||o.schema,[l,u]=(0,r.useState)(()=>e==null?``:JSON.stringify(e,null,2)),[d,f]=(0,r.useState)(null);return(0,r.useEffect)(()=>{try{if(e==null){u(``);return}let t=l?JSON.parse(l):null;JSON.stringify(t)!==JSON.stringify(e)&&u(JSON.stringify(e,null,2))}catch{u(JSON.stringify(e,null,2))}},[e,l]),i?e?(0,s.jsx)(`pre`,{className:(0,a.cn)(`text-xs bg-gray-50 p-2 rounded border border-gray-200 overflow-auto max-h-40`,o.className),children:JSON.stringify(e,null,2)}):(0,s.jsx)(`span`,{className:`text-sm`,children:`-`}):(0,s.jsxs)(`div`,{className:`space-y-1`,children:[(0,s.jsx)(a.Textarea,{value:l,onChange:e=>{let n=e.target.value;if(u(n),f(null),!n.trim()){t(null);return}try{t(JSON.parse(n))}catch{f(`Invalid JSON`)}},placeholder:c?.placeholder||`{
|
|
7
7
|
"key": "value"
|
|
8
|
-
}`,disabled:a||s.disabled,className:(0,i.cn)(`font-mono text-xs`,d?`border-red-500 focus-visible:ring-red-500`:``,s.className),rows:6}),d&&(0,o.jsx)(`p`,{className:`text-xs text-red-500`,children:d})]})}function ee({value:e,field:t,...n}){let r=(t||n.schema)?.dimensions||(Array.isArray(e)?e.length:0);if(!e||!Array.isArray(e))return(0,o.jsx)(`span`,{className:`text-sm text-gray-500`,children:`-`});let i=e.slice(0,3).map(e=>{let t=Number(e);return isNaN(t)?`0`:t.toFixed(4)}).join(`, `);return(0,o.jsxs)(`div`,{className:`text-sm ${n.className||``}`,children:[(0,o.jsxs)(`span`,{className:`font-mono text-gray-700`,children:[`[`,i,`...]`]}),(0,o.jsxs)(`span`,{className:`text-gray-500 ml-2`,children:[`(`,r,`D)`]})]})}function te({value:e,field:t,readonly:n,...r}){let a=(t||r.schema)?.columns||[];return!e||!Array.isArray(e)?(0,o.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:`-`}):n?(0,o.jsx)(`div`,{className:(0,i.cn)(`text-sm`,r.className),children:(0,o.jsxs)(`span`,{className:`text-foreground`,children:[e.length,` rows`]})}):(0,o.jsxs)(`div`,{className:(0,i.cn)(`border border-border rounded-lg overflow-hidden`,r.className),children:[(0,o.jsx)(`div`,{className:`overflow-auto max-h-60`,children:(0,o.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,o.jsx)(`thead`,{className:`bg-muted border-b border-border`,children:(0,o.jsx)(`tr`,{children:a.map((e,t)=>(0,o.jsx)(`th`,{className:`px-3 py-2 text-left text-xs font-medium text-muted-foreground`,children:e.label||e.name},t))})}),(0,o.jsx)(`tbody`,{className:`divide-y divide-border`,children:e.slice(0,5).map((e,t)=>(0,o.jsx)(`tr`,{className:`hover:bg-muted/50 transition-colors`,children:a.map((t,n)=>(0,o.jsx)(`td`,{className:`px-3 py-2 text-foreground`,children:e[t.name]==null?`-`:String(e[t.name])},n))},t))})]})}),e.length>5&&(0,o.jsxs)(`div`,{className:`bg-muted px-3 py-2 text-xs text-muted-foreground border-t border-border`,children:[`Showing 5 of `,e.length,` rows`]})]})}function ne({value:e,onChange:t,field:n,readonly:r,...a}){let s=n||a.schema;return r?(0,o.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,o.jsx)(`div`,{className:`w-6 h-6 rounded border border-input`,style:{backgroundColor:e||`#000000`}}),(0,o.jsx)(`span`,{className:`text-sm`,children:e||`-`})]}):(0,o.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,o.jsx)(`input`,{type:`color`,value:e||`#000000`,onChange:e=>t(e.target.value),disabled:r||a.disabled,className:`w-10 h-10 rounded border border-input cursor-pointer`}),(0,o.jsx)(i.Input,{type:`text`,value:e||``,onChange:e=>t(e.target.value),placeholder:s?.placeholder||`#000000`,disabled:r||a.disabled,className:a.className,pattern:`^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$`})]})}function re({value:e,onChange:t,field:n,readonly:r,...a}){let s=n||a.schema,c=s?.min??0,l=s?.max??100,u=s?.step??1;return r?(0,o.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,o.jsx)(`span`,{className:`text-sm font-medium`,children:e??c}),(0,o.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[`/ `,l]})]}):(0,o.jsxs)(`div`,{className:`flex items-center gap-4`,children:[(0,o.jsx)(i.Slider,{value:[e??c],onValueChange:e=>t(e[0]),min:c,max:l,step:u,disabled:r||a.disabled,className:a.className}),(0,o.jsx)(`span`,{className:`text-sm font-medium w-12 text-right`,children:e??c})]})}function ie({value:e,onChange:t,field:r,readonly:s,className:c,...l}){let u=(r||l.schema)?.max??5,d=e??0,[f,p]=n.default.useState(null),m=f===null?d:f;return s?(0,o.jsxs)(`div`,{className:(0,i.cn)(`flex items-center gap-1`,c),children:[Array.from({length:u},(e,t)=>(0,o.jsx)(a.Star,{className:`w-5 h-5 ${t<d?`fill-yellow-400 text-yellow-400`:`text-muted-foreground`}`},t)),(0,o.jsxs)(`span`,{className:`ml-2 text-sm text-muted-foreground`,children:[d,` / `,u]})]}):(0,o.jsxs)(`div`,{className:(0,i.cn)(`flex items-center gap-1`,c),children:[Array.from({length:u},(e,n)=>(0,o.jsx)(`button`,{type:`button`,onClick:()=>t(n+1),onMouseEnter:()=>p(n+1),onMouseLeave:()=>p(null),className:`focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 rounded`,disabled:s||l.disabled,children:(0,o.jsx)(a.Star,{className:`w-5 h-5 transition-colors ${n<m?`fill-yellow-400 text-yellow-400 hover:fill-yellow-500 hover:text-yellow-500`:`text-muted-foreground hover:text-yellow-400`}`})},n)),(0,o.jsxs)(`span`,{className:`ml-2 text-sm text-muted-foreground`,children:[d,` / `,u]})]})}function ae({value:e,onChange:t,field:n,readonly:r,...a}){let s=n||a.schema,c=s?.language??`javascript`;return r?(0,o.jsx)(`pre`,{className:(0,i.cn)(`text-sm bg-muted p-2 rounded overflow-x-auto border`,a.className),children:(0,o.jsx)(`code`,{children:e||`-`})}):(0,o.jsx)(i.Textarea,{value:e||``,onChange:e=>t(e.target.value),placeholder:s?.placeholder||`// Write ${c} code here...`,disabled:r||a.disabled,className:(0,i.cn)(`font-mono text-sm`,a.className),rows:12,spellCheck:!1})}function oe({value:e,onChange:t,field:r,readonly:s,...c}){let[l,u]=n.default.useState(!1),d=n.default.useRef(null),f=r||c.schema,p=e=>{let n=e.target.files?.[0];if(!n)return;if(!n.type.startsWith(`image/`)){console.error(`Please select an image file`);return}if(n.size>5*1024*1024){console.error(`File size must be less than 5MB`);return}let r=new FileReader;r.onloadend=()=>{t(r.result)},r.readAsDataURL(n)},m=()=>{t(``)},h=()=>(f?.defaultName||f?.label||`User`).split(` `).map(e=>e[0]).join(``).toUpperCase().slice(0,2);return s?(0,o.jsxs)(i.Avatar,{className:`w-16 h-16`,children:[e&&(0,o.jsx)(i.AvatarImage,{src:e,alt:f?.label}),(0,o.jsx)(i.AvatarFallback,{children:h()})]}):(0,o.jsxs)(`div`,{className:`flex items-center gap-4`,children:[(0,o.jsxs)(`div`,{className:`relative`,onMouseEnter:()=>u(!0),onMouseLeave:()=>u(!1),children:[(0,o.jsxs)(i.Avatar,{className:`w-16 h-16`,children:[e&&(0,o.jsx)(i.AvatarImage,{src:e,alt:f?.label}),(0,o.jsx)(i.AvatarFallback,{children:h()})]}),!s&&l&&e&&(0,o.jsx)(`button`,{type:`button`,onClick:m,className:`absolute -top-1 -right-1 bg-destructive text-destructive-foreground rounded-full p-1 hover:bg-destructive/90`,children:(0,o.jsx)(a.X,{className:`w-3 h-3`})})]}),(0,o.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,o.jsx)(`input`,{ref:d,type:`file`,accept:`image/*`,onChange:p,className:`hidden`}),(0,o.jsxs)(i.Button,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>d.current?.click(),disabled:s||c.disabled,children:[(0,o.jsx)(a.Upload,{className:`w-4 h-4 mr-2`}),e?`Change`:`Upload`,` Avatar`]}),(0,o.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`PNG, JPG up to 5MB`})]})]})}function se({value:e,onChange:t,field:n,readonly:r,...a}){let s=e||{},c=(e,n)=>{t({...s,[e]:n})};return r?(0,o.jsx)(`span`,{className:`text-sm`,children:(e=>[e.street,e.city,[e.state,e.zipCode].filter(Boolean).join(` `),e.country].filter(Boolean).join(`, `)||`-`)(s)}):(0,o.jsxs)(`div`,{className:`space-y-3`,children:[(0,o.jsxs)(`div`,{children:[(0,o.jsx)(i.Label,{htmlFor:`street`,className:`text-xs`,children:`Street Address`}),(0,o.jsx)(i.Input,{id:`street`,type:`text`,value:s.street||``,onChange:e=>c(`street`,e.target.value),placeholder:`123 Main St`,disabled:r||a.disabled,className:a.className})]}),(0,o.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,o.jsxs)(`div`,{children:[(0,o.jsx)(i.Label,{htmlFor:`city`,className:`text-xs`,children:`City`}),(0,o.jsx)(i.Input,{id:`city`,type:`text`,value:s.city||``,onChange:e=>c(`city`,e.target.value),placeholder:`San Francisco`,disabled:r||a.disabled})]}),(0,o.jsxs)(`div`,{children:[(0,o.jsx)(i.Label,{htmlFor:`state`,className:`text-xs`,children:`State / Province`}),(0,o.jsx)(i.Input,{id:`state`,type:`text`,value:s.state||``,onChange:e=>c(`state`,e.target.value),placeholder:`CA`,disabled:r||a.disabled})]})]}),(0,o.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,o.jsxs)(`div`,{children:[(0,o.jsx)(i.Label,{htmlFor:`zipCode`,className:`text-xs`,children:`ZIP / Postal Code`}),(0,o.jsx)(i.Input,{id:`zipCode`,type:`text`,value:s.zipCode||``,onChange:e=>c(`zipCode`,e.target.value),placeholder:`94102`,disabled:r||a.disabled})]}),(0,o.jsxs)(`div`,{children:[(0,o.jsx)(i.Label,{htmlFor:`country`,className:`text-xs`,children:`Country`}),(0,o.jsx)(i.Input,{id:`country`,type:`text`,value:s.country||``,onChange:e=>c(`country`,e.target.value),placeholder:`United States`,disabled:r||a.disabled})]})]})]})}function ce({value:e,onChange:t,field:r,readonly:s,...c}){let[l,u]=n.default.useState(!1),d=e||{},f=(e,n)=>{t({...d,[e]:n?Number(n):void 0})},p=()=>{if(!navigator.geolocation){console.error(`Geolocation is not supported by this browser`);return}u(!0),navigator.geolocation.getCurrentPosition(e=>{t({latitude:e.coords.latitude,longitude:e.coords.longitude,accuracy:e.coords.accuracy}),u(!1)},e=>{console.error(`Error getting location:`,e.message),u(!1)},{enableHighAccuracy:!0,timeout:5e3,maximumAge:0})},m=e=>!e.latitude||!e.longitude?`-`:`${e.latitude.toFixed(6)}, ${e.longitude.toFixed(6)}`,h=()=>{if(!d.latitude||!d.longitude)return;let e=`https://www.google.com/maps?q=${d.latitude},${d.longitude}`;window.open(e,`_blank`)};return s?(0,o.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,o.jsx)(a.MapPin,{className:`w-4 h-4 text-muted-foreground`}),(0,o.jsx)(`span`,{className:`text-sm`,children:m(d)}),d.latitude&&d.longitude&&(0,o.jsx)(i.Button,{type:`button`,variant:`link`,size:`sm`,onClick:h,className:`p-0 h-auto`,children:`View on map`})]}):(0,o.jsxs)(`div`,{className:`space-y-3`,children:[(0,o.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,o.jsxs)(i.Button,{type:`button`,variant:`outline`,size:`sm`,onClick:p,disabled:s||l,children:[(0,o.jsx)(a.Crosshair,{className:`w-4 h-4 mr-2`}),l?`Getting location...`:`Use Current Location`]}),d.latitude&&d.longitude&&(0,o.jsxs)(i.Button,{type:`button`,variant:`link`,size:`sm`,onClick:h,children:[(0,o.jsx)(a.MapPin,{className:`w-4 h-4 mr-2`}),`View on map`]})]}),(0,o.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,o.jsxs)(`div`,{children:[(0,o.jsx)(i.Label,{htmlFor:`latitude`,className:`text-xs`,children:`Latitude`}),(0,o.jsx)(i.Input,{id:`latitude`,type:`number`,value:d.latitude??``,onChange:e=>f(`latitude`,e.target.value),placeholder:`37.7749`,disabled:s||c.disabled,step:`any`,className:c.className})]}),(0,o.jsxs)(`div`,{children:[(0,o.jsx)(i.Label,{htmlFor:`longitude`,className:`text-xs`,children:`Longitude`}),(0,o.jsx)(i.Input,{id:`longitude`,type:`number`,value:d.longitude??``,onChange:e=>f(`longitude`,e.target.value),placeholder:`-122.4194`,disabled:s||c.disabled,step:`any`})]})]}),d.accuracy&&(0,o.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`Accuracy: ±`,d.accuracy.toFixed(0),`m`]})]})}function le({value:e,onChange:t,readonly:r}){let s=(0,n.useRef)(null),[c,l]=n.default.useState(!1),[u,d]=n.default.useState(!e);(0,n.useEffect)(()=>{if(e&&s.current){let t=s.current.getContext(`2d`);if(t){let n=new Image;n.onload=()=>{t.drawImage(n,0,0),d(!1)},n.src=e}}},[e]);let f=e=>{if(r)return;l(!0),d(!1);let t=s.current;if(!t)return;let n=t.getContext(`2d`);if(!n)return;let i=t.getBoundingClientRect(),a=`touches`in e?e.touches[0].clientX-i.left:e.clientX-i.left,o=`touches`in e?e.touches[0].clientY-i.top:e.clientY-i.top;n.beginPath(),n.moveTo(a,o)},p=e=>{if(!c||r)return;let t=s.current;if(!t)return;let n=t.getContext(`2d`);if(!n)return;let i=t.getBoundingClientRect(),a=`touches`in e?e.touches[0].clientX-i.left:e.clientX-i.left,o=`touches`in e?e.touches[0].clientY-i.top:e.clientY-i.top;n.lineTo(a,o),n.strokeStyle=`#000`,n.lineWidth=2,n.lineCap=`round`,n.lineJoin=`round`,n.stroke()},m=()=>{if(!c)return;l(!1);let e=s.current;e&&t(e.toDataURL(`image/png`))};return r&&e?(0,o.jsx)(`div`,{className:`border rounded p-2 bg-white`,children:(0,o.jsx)(`img`,{src:e,alt:`Signature`,loading:`lazy`,className:`max-w-full h-auto`})}):r&&!e?(0,o.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:`No signature`}):(0,o.jsxs)(`div`,{className:`space-y-2`,children:[(0,o.jsx)(`div`,{className:`border rounded bg-white`,children:(0,o.jsx)(`canvas`,{ref:s,width:400,height:200,className:`w-full touch-none cursor-crosshair`,onMouseDown:f,onMouseMove:p,onMouseUp:m,onMouseLeave:m,onTouchStart:f,onTouchMove:p,onTouchEnd:m})}),(0,o.jsxs)(`div`,{className:`flex justify-between items-center`,children:[(0,o.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:u?`Sign above`:`Signature captured`}),(0,o.jsxs)(i.Button,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>{let e=s.current;if(!e)return;let n=e.getContext(`2d`);n&&(n.clearRect(0,0,e.width,e.height),d(!0),t(``))},disabled:r||u,children:[(0,o.jsx)(a.Eraser,{className:`w-4 h-4 mr-2`}),`Clear`]})]})]})}function ue({value:e,onChange:t,field:r,readonly:s,...c}){let[l,u]=n.default.useState(!1),d=r||c.schema;return s?(0,o.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,o.jsx)(`span`,{className:`text-sm flex-1 truncate`,children:e||`-`}),e&&(0,o.jsxs)(i.Button,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>u(!l),children:[(0,o.jsx)(a.QrCode,{className:`w-4 h-4 mr-2`}),l?`Hide`:`Show`,` QR`]})]}):(0,o.jsxs)(`div`,{className:`space-y-3`,children:[(0,o.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,o.jsx)(i.Input,{type:`text`,value:e||``,onChange:e=>t(e.target.value),placeholder:d?.placeholder||`Enter text for QR code`,disabled:s||c.disabled,className:c.className}),e&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(i.Button,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>{e&&navigator.clipboard.writeText(e)},children:(0,o.jsx)(a.Copy,{className:`w-4 h-4`})}),(0,o.jsx)(i.Button,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>u(!l),children:(0,o.jsx)(a.QrCode,{className:`w-4 h-4`})})]})]}),l&&e&&(0,o.jsx)(`div`,{className:`border rounded p-4 bg-white flex justify-center`,children:(0,o.jsx)(`img`,{src:(e=>`https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=${encodeURIComponent(e)}`)(e),alt:`QR Code`,className:`w-48 h-48`})}),e&&(0,o.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`QR code contains: `,e.length,` characters`]})]})}function j({value:e,onChange:t,field:n,readonly:r,className:s,...c}){let l=e||[],u=n||c.schema,d=()=>{let e={id:`new-${Date.now()}`,label:`New Related Record`};t([...l,e])},f=e=>{t(l.filter(t=>t.id!==e))},p=e=>{console.log(`View detail:`,e)};return r?(0,o.jsxs)(`div`,{className:(0,i.cn)(`space-y-2`,s),children:[l.length===0?(0,o.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:`No related records`}):l.map(e=>(0,o.jsxs)(`div`,{className:`flex items-center justify-between p-2 border rounded hover:bg-muted/50`,children:[(0,o.jsx)(`span`,{className:`text-sm`,children:e.label}),(0,o.jsx)(i.Button,{type:`button`,variant:`ghost`,size:`sm`,onClick:()=>p(e),children:(0,o.jsx)(a.ExternalLink,{className:`w-4 h-4`})})]},e.id)),(0,o.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[l.length,` `,l.length===1?`record`:`records`]})]}):(0,o.jsxs)(`div`,{className:(0,i.cn)(`space-y-3`,s),children:[(0,o.jsxs)(`div`,{className:`space-y-2`,children:[l.map(e=>(0,o.jsxs)(`div`,{className:`flex items-center justify-between gap-2 p-2 border rounded hover:bg-muted/50`,children:[(0,o.jsxs)(`div`,{className:`flex items-center gap-2 flex-1`,children:[(0,o.jsx)(i.Badge,{variant:`outline`,children:e.id}),(0,o.jsx)(`span`,{className:`text-sm flex-1`,children:e.label})]}),(0,o.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,o.jsx)(i.Button,{type:`button`,variant:`ghost`,size:`sm`,onClick:()=>p(e),children:(0,o.jsx)(a.ExternalLink,{className:`w-4 h-4`})}),(0,o.jsx)(i.Button,{type:`button`,variant:`ghost`,size:`sm`,onClick:()=>f(e.id),disabled:c.disabled,children:(0,o.jsx)(a.X,{className:`w-4 h-4`})})]})]},e.id)),l.length===0&&(0,o.jsx)(`div`,{className:`text-sm text-muted-foreground text-center py-4 border border-dashed rounded bg-muted/20`,children:`No related records`})]}),(0,o.jsxs)(i.Button,{type:`button`,variant:`outline`,className:`w-full`,onClick:d,disabled:c.disabled,children:[(0,o.jsx)(a.Plus,{className:`w-4 h-4 mr-2`}),`Add `,u?.label||`Record`]})]})}function M(e){if(e==null||typeof e==`string`||typeof e==`number`||typeof e==`boolean`)return e;if(e instanceof Date)return e.toISOString();if(Array.isArray(e))return e.map(e=>{if(typeof e==`object`&&e){let t=e;return String(t.name||t.label||t.id||t._id||`[Object]`)}return String(e)}).join(`, `);if(typeof e==`object`){let t=e;return`$numberDecimal`in t?Number(t.$numberDecimal):`$oid`in t?String(t.$oid):`$date`in t?String(t.$date):String(t.name||t.label||t.id||t._id||`[Object]`)}return String(e)}function N(e,t=`USD`){try{return new Intl.NumberFormat(`en-US`,{style:`currency`,currency:t}).format(e)}catch{return`${t} ${e.toFixed(2)}`}}function de(e,t=`USD`){try{return new Intl.NumberFormat(`en-US`,{style:`currency`,currency:t,notation:`compact`,maximumFractionDigits:1}).format(e).replace(/\.0(?=[KMBT])/,``)}catch{return`${t} ${e}`}}function P(e,t=0){return`${(e>-1&&e<1?e*100:e).toFixed(t)}%`}function F(e){return e.replace(/[_-]/g,` `).replace(/\b\w/g,e=>e.toUpperCase())}function I(e){if(!e)return`-`;let t=typeof e==`string`?new Date(e):e;if(isNaN(t.getTime()))return`-`;let n=new Date,r=new Date(n.getFullYear(),n.getMonth(),n.getDate()),i=new Date(t.getFullYear(),t.getMonth(),t.getDate()).getTime()-r.getTime(),a=Math.round(i/(1e3*60*60*24));if(a===0)return`Today`;if(a===1)return`Tomorrow`;if(a===-1)return`Yesterday`;if(a<-1){let e=Math.abs(a);return e<=7?`Overdue ${e}d`:L(t)}return a>1&&a<=7?`In ${a} days`:L(t)}function L(e,t){if(!e)return`-`;let n=typeof e==`string`?new Date(e):e;return isNaN(n.getTime())?`-`:t===`short`?`${n.toLocaleDateString(`en-US`,{month:`short`})} ${n.getDate()}, '${String(n.getFullYear()).slice(-2)}`:t===`relative`?I(n):n.toLocaleDateString(void 0,{year:`numeric`,month:`short`,day:`numeric`})}function fe(e){if(!e)return`-`;let t=typeof e==`string`?new Date(e):e;return isNaN(t.getTime())?`-`:t.toLocaleDateString(void 0,{year:`numeric`,month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`})}function R({value:e}){let t=M(e);return(0,o.jsx)(`span`,{className:`truncate`,children:t!=null&&t!==``?String(t):`-`})}function z({value:e,field:t}){if(e==null)return(0,o.jsx)(`span`,{className:`text-muted-foreground`,children:`-`});let n=M(e),r=t.precision??0,i=Number(n);return(0,o.jsx)(`span`,{className:`tabular-nums`,children:isNaN(i)?String(n):new Intl.NumberFormat(`en-US`,{minimumFractionDigits:r,maximumFractionDigits:r}).format(i)})}function B({value:e,field:t}){if(e==null)return(0,o.jsx)(`span`,{className:`text-muted-foreground`,children:`-`});let n=M(e),r=t.currency||`USD`,i=Number(n);return(0,o.jsx)(`span`,{className:`tabular-nums font-medium whitespace-nowrap`,children:isNaN(i)?String(n):N(i,r)})}var pe=/progress|completion/;function V({value:e,field:t}){if(e==null)return(0,o.jsx)(`span`,{className:`text-muted-foreground`,children:`-`});let n=M(e),r=t.precision??0,i=Number(n);if(isNaN(i))return(0,o.jsx)(`span`,{className:`tabular-nums whitespace-nowrap`,children:String(n)});let a=pe.test(t?.name?.toLowerCase()||``),s=a?i:i>-1&&i<1?i*100:i,c=a?`${i.toFixed(r)}%`:P(i,r),l=Math.max(0,Math.min(100,s));return(0,o.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,o.jsx)(`div`,{className:`h-1.5 w-16 rounded-full bg-muted overflow-hidden flex-shrink-0`,role:`progressbar`,"aria-valuenow":l,"aria-valuemin":0,"aria-valuemax":100,children:(0,o.jsx)(`div`,{className:`h-full rounded-full bg-primary transition-all`,style:{width:`${l}%`}})}),(0,o.jsx)(`span`,{className:`tabular-nums whitespace-nowrap`,children:c})]})}var me=new Set([`active`,`is_active`,`enabled`,`is_enabled`,`verified`,`is_verified`]);function H({value:e,field:t}){if(e==null)return(0,o.jsx)(`span`,{className:`text-muted-foreground/50 text-xs italic flex items-center justify-center`,children:`—`});let n=t?.name?.toLowerCase()||``;return n===`completed`||n===`is_completed`||n===`done`||n===`is_done`?(0,o.jsx)(`div`,{className:`flex items-center justify-center`,children:e?(0,o.jsx)(`div`,{className:`size-5 rounded-full bg-green-500 flex items-center justify-center`,role:`img`,"aria-label":`Completed`,"data-testid":`completion-indicator`,children:(0,o.jsx)(a.Check,{className:`size-3 text-white`})}):(0,o.jsx)(`div`,{className:`size-5 rounded-full border-2 border-muted-foreground/30`,role:`img`,"aria-label":`Not completed`,"data-testid":`completion-indicator`})}):me.has(n)&&!e?(0,o.jsxs)(i.Badge,{variant:`destructive`,className:`text-xs`,"data-testid":`boolean-warning-badge`,children:[t?.label||F(n),` — Off`]}):(0,o.jsx)(`div`,{className:`flex items-center justify-center`,children:(0,o.jsx)(i.Checkbox,{checked:!!e,disabled:!0,className:`pointer-events-none`})})}function U({value:e,field:t}){if(!e)return(0,o.jsx)(`span`,{className:`text-muted-foreground`,children:`-`});let n=M(e),r=L(n,t.format||`relative`),i=typeof n==`string`?new Date(n):n,a=i instanceof Date&&!isNaN(i.getTime()),s=new Date;s.setHours(0,0,0,0);let c=a&&i<s,l=a?i.toISOString():String(n);return(0,o.jsx)(`span`,{className:`tabular-nums${c?` text-red-600`:``}`,title:l,children:r})}function W({value:e}){if(!e)return(0,o.jsx)(`span`,{className:`text-muted-foreground`,children:`-`});let t=M(e),n=typeof t==`string`?new Date(t):t;if(!(n instanceof Date)||isNaN(n.getTime()))return(0,o.jsx)(`span`,{className:`text-muted-foreground`,children:`-`});let r=n.toLocaleDateString(void 0,{month:`numeric`,day:`numeric`,year:`numeric`}),i=n.toLocaleTimeString(void 0,{hour:`numeric`,minute:`2-digit`,hour12:!0}).toLowerCase();return(0,o.jsxs)(`span`,{className:`tabular-nums text-sm whitespace-nowrap`,children:[(0,o.jsx)(`span`,{children:r}),(0,o.jsx)(`span`,{className:`ml-2 text-muted-foreground`,children:i})]})}var he={critical:`red`,urgent:`red`,high:`orange`,medium:`yellow`,normal:`blue`,low:`gray`,none:`gray`,paid:`green`,completed:`green`,done:`green`,active:`green`,approved:`green`,resolved:`green`,pending:`yellow`,waiting:`yellow`,on_hold:`yellow`,shipped:`blue`,in_progress:`blue`,open:`blue`,processing:`blue`,draft:`gray`,new:`gray`,inactive:`gray`,closed:`gray`,cancelled:`red`,canceled:`red`,rejected:`red`,failed:`red`,overdue:`red`,delivered:`purple`,archived:`indigo`},ge={gray:`bg-gray-100 text-gray-800 border-gray-300`,red:`bg-red-100 text-red-800 border-red-300`,orange:`bg-orange-100 text-orange-800 border-orange-300`,yellow:`bg-yellow-100 text-yellow-800 border-yellow-300`,green:`bg-green-100 text-green-800 border-green-300`,blue:`bg-blue-100 text-blue-800 border-blue-300`,indigo:`bg-indigo-100 text-indigo-800 border-indigo-300`,purple:`bg-purple-100 text-purple-800 border-purple-300`,pink:`bg-pink-100 text-pink-800 border-pink-300`};function _e(e,t){return ge[e||(t?he[String(t).toLowerCase().replace(/[\s-]/g,`_`)]:void 0)||``]||`bg-muted text-muted-foreground border-border`}function G({value:e,field:t}){let n=t.options||[];if(!e)return(0,o.jsx)(`span`,{children:`-`});if(Array.isArray(e))return(0,o.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:e.map((e,t)=>{let r=n.find(t=>t.value===e),a=r?.label||F(String(e));return(0,o.jsx)(i.Badge,{variant:`outline`,className:_e(r?.color,e),children:a},t)})});let r=n.find(t=>t.value===e),a=r?.label||F(String(e));return(0,o.jsx)(i.Badge,{variant:`outline`,className:_e(r?.color,e),children:a})}function ve({value:e}){if(!e)return(0,o.jsx)(`span`,{children:`-`});let t=String(M(e)??``),[r,s]=n.default.useState(!1);return(0,o.jsxs)(`span`,{className:`inline-flex items-center gap-1 group/email`,children:[(0,o.jsx)(i.Button,{variant:`link`,className:`p-0 h-auto font-normal text-blue-600 hover:text-blue-800`,asChild:!0,children:(0,o.jsx)(`a`,{href:`mailto:${t}`,onClick:e=>e.stopPropagation(),children:t})}),(0,o.jsx)(`button`,{type:`button`,className:`opacity-0 group-hover/email:opacity-100 transition-opacity p-0.5 rounded hover:bg-muted`,onClick:e=>{e.stopPropagation(),e.preventDefault(),navigator.clipboard.writeText(t).then(()=>{s(!0),setTimeout(()=>s(!1),2e3)}).catch(()=>{})},"aria-label":`Copy email`,children:r?(0,o.jsx)(a.Check,{className:`h-3 w-3 text-green-600`}):(0,o.jsx)(a.Copy,{className:`h-3 w-3 text-muted-foreground`})})]})}function ye({value:e}){if(!e)return(0,o.jsx)(`span`,{children:`-`});let t=String(M(e)??``);return(0,o.jsx)(i.Button,{variant:`link`,className:`p-0 h-auto font-normal text-blue-600 hover:text-blue-800`,asChild:!0,children:(0,o.jsx)(`a`,{href:t,target:`_blank`,rel:`noopener noreferrer`,onClick:e=>e.stopPropagation(),children:t})})}function be({value:e}){if(!e)return(0,o.jsx)(`span`,{children:`-`});let t=String(M(e)??``),[r,i]=n.default.useState(!1);return(0,o.jsxs)(`span`,{className:`inline-flex items-center gap-1 group/phone`,children:[(0,o.jsxs)(`a`,{href:`tel:${t}`,className:`inline-flex items-center gap-1 text-blue-600 hover:text-blue-800`,onClick:e=>e.stopPropagation(),children:[(0,o.jsx)(a.Phone,{className:`h-3 w-3`}),t]}),(0,o.jsx)(`button`,{type:`button`,className:`opacity-0 group-hover/phone:opacity-100 transition-opacity p-0.5 rounded hover:bg-muted`,onClick:e=>{e.stopPropagation(),e.preventDefault(),navigator.clipboard.writeText(t).then(()=>{i(!0),setTimeout(()=>i(!1),2e3)}).catch(()=>{})},"aria-label":`Copy phone number`,children:r?(0,o.jsx)(a.Check,{className:`h-3 w-3 text-green-600`}):(0,o.jsx)(a.Copy,{className:`h-3 w-3 text-muted-foreground`})})]})}function xe({value:e,field:t}){if(!e)return(0,o.jsx)(`span`,{children:`-`});if(t.multiple,Array.isArray(e)){let t=e.length;return(0,o.jsxs)(`span`,{className:`text-sm text-gray-600`,children:[t,` `,t===1?`file`:`files`]})}return(0,o.jsx)(`span`,{className:`text-sm truncate`,children:e.name||e.original_name||`File`})}function Se({value:e}){return e?Array.isArray(e)?(0,o.jsxs)(`div`,{className:`flex -space-x-2`,children:[e.slice(0,3).map((e,t)=>(0,o.jsx)(`img`,{src:e.url||``,alt:e.name||`Image ${t+1}`,className:`size-8 rounded-md border-2 border-white object-cover`},t)),e.length>3&&(0,o.jsxs)(`div`,{className:`size-8 rounded-md border-2 border-white bg-gray-100 flex items-center justify-center text-xs font-medium text-gray-600`,children:[`+`,e.length-3]})]}):(0,o.jsx)(`img`,{src:e.url||``,alt:e.name||`Image`,className:`size-10 rounded-md object-cover`}):(0,o.jsx)(`span`,{children:`-`})}function K({value:e,field:t}){if(e==null||e===``)return(0,o.jsx)(`span`,{children:`-`});let n=t.options||[],r=e=>{if(n.length>0){let t=n.find(t=>String(t.value)===String(e));if(t)return t.label}return String(e)};return Array.isArray(e)?(0,o.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:e.map((e,t)=>{let n;return n=typeof e==`object`&&e?e.name||e.label||e.id||e._id||String(e):r(e),(0,o.jsx)(`span`,{className:`inline-flex items-center px-2 py-0.5 rounded text-xs font-medium bg-gray-100 text-gray-800`,children:n},t)})}):typeof e==`object`&&e?(0,o.jsx)(`span`,{className:`truncate`,children:e.name||e.label||e.id||e._id||`[Object]`}):(0,o.jsx)(`span`,{className:`truncate`,children:r(e)})}function q({value:e}){let t=M(e);return(0,o.jsx)(`span`,{className:`text-gray-700 font-mono text-sm`,children:t==null?`-`:String(t)})}function J({value:e}){if(!e)return(0,o.jsx)(`span`,{children:`-`});if(typeof e!=`object`)return(0,o.jsx)(`span`,{className:`truncate`,children:String(e)});if(Array.isArray(e))return(0,o.jsxs)(`div`,{className:`flex -space-x-2`,children:[e.slice(0,3).map((e,t)=>{if(typeof e!=`object`||!e)return(0,o.jsx)(`span`,{className:`truncate text-sm`,children:String(e)},t);let n=e.name||e.username||`User`;return(0,o.jsx)(i.Avatar,{className:`size-8 border-2 border-white`,title:n,children:(0,o.jsx)(i.AvatarFallback,{className:`bg-blue-500 text-white text-xs`,children:n.split(` `).map(e=>e[0]).join(``).toUpperCase().slice(0,2)})},t)}),e.length>3&&(0,o.jsx)(i.Avatar,{className:`size-8 border-2 border-white`,children:(0,o.jsxs)(i.AvatarFallback,{className:`bg-gray-200 text-gray-600 text-xs`,children:[`+`,e.length-3]})})]});let t=e.name||e.username||`User`;return(0,o.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,o.jsx)(i.Avatar,{className:`size-8`,children:(0,o.jsx)(i.AvatarFallback,{className:`bg-blue-500 text-white text-xs`,children:t.split(` `).map(e=>e[0]).join(``).toUpperCase().slice(0,2)})}),(0,o.jsx)(`span`,{className:`truncate`,children:t})]})}var Y=new Map;function X(e,t){Y.set(e,t)}function Z(e){return Y.has(e)?Y.get(e):{text:R,textarea:R,markdown:R,html:R,number:z,currency:B,percent:V,boolean:H,date:U,datetime:W,time:R,select:G,status:G,lookup:K,master_detail:K,email:ve,url:ye,phone:be,file:xe,image:Se,formula:q,summary:q,auto_number:R,user:J,owner:J,password:()=>(0,o.jsx)(`span`,{children:`••••••`}),location:R,object:()=>(0,o.jsx)(`span`,{className:`text-gray-500 italic`,children:`[Object]`}),vector:()=>(0,o.jsx)(`span`,{className:`text-gray-500 italic`,children:`[Vector]`}),grid:()=>(0,o.jsx)(`span`,{className:`text-gray-500 italic`,children:`[Grid]`})}[e]||R}X(`lookup`,K),X(`master_detail`,K),X(`select`,G),X(`status`,G),X(`user`,J),X(`owner`,J),t.r(Z);function Ce(e){return{text:`field:text`,textarea:`field:textarea`,markdown:`field:markdown`,html:`field:html`,number:`field:number`,currency:`field:currency`,percent:`field:percent`,date:`field:date`,datetime:`field:datetime`,time:`field:time`,boolean:`field:boolean`,select:`field:select`,lookup:`field:lookup`,master_detail:`field:master_detail`,email:`field:email`,phone:`field:phone`,url:`field:url`,file:`field:file`,image:`field:image`,password:`field:password`,location:`field:location`,formula:`field:formula`,summary:`field:summary`,auto_number:`field:auto_number`}[e]||`field:text`}function we(e){if(e<0||!Number.isFinite(e)||e===0)return`0 B`;let t=[`B`,`KB`,`MB`,`GB`,`TB`],n=e,r=0;for(;n>=1024&&r<t.length-1;)n/=1024,r++;return`${n.toFixed(r>0?1:0)} ${t[r]}`}function Te(e){let t={};return e.required&&(t.required=typeof e.required_message==`string`?e.required_message:`${e.label||e.name} is required`),e.min_length&&(t.minLength={value:e.min_length,message:e.min_length_message||`Minimum length is ${e.min_length} characters`}),e.max_length&&(t.maxLength={value:e.max_length,message:e.max_length_message||`Maximum length is ${e.max_length} characters`}),e.min!==void 0&&(t.min={value:e.min,message:e.min_message||`Minimum value is ${e.min}`}),e.max!==void 0&&(t.max={value:e.max,message:e.max_message||`Maximum value is ${e.max}`}),e.pattern&&(t.pattern={value:typeof e.pattern==`string`?new RegExp(e.pattern):e.pattern,message:e.pattern_message||`Invalid format`}),e.type===`email`&&(t.pattern={value:/^[^\s@]+@[^\s@]+\.[^\s@]+$/,message:`Please enter a valid email address`}),e.type===`url`&&(t.pattern={value:/^https?:\/\/.+/,message:`Please enter a valid URL`}),e.validate&&(t.validate=e.validate),Object.keys(t).length>0?t:void 0}function Q(e,t){if(!e)return!0;if(e.field&&e.value!==void 0){let n=t[e.field];if(e.operator===`=`||e.operator===`==`)return n===e.value;if(e.operator===`!=`)return n!==e.value;if(e.operator===`>`)return n>e.value;if(e.operator===`>=`)return n>=e.value;if(e.operator===`<`)return n<e.value;if(e.operator===`<=`)return n<=e.value;if(e.operator===`in`)return Array.isArray(e.value)&&e.value.includes(n)}return e.and&&Array.isArray(e.and)?e.and.every(e=>Q(e,t)):e.or&&Array.isArray(e.or)?e.or.some(e=>Q(e,t)):!0}function $(e){let t=({schema:t,className:r,value:i,...a})=>{let[s,c]=n.default.useState(i??t?.value??``),l={name:t?.name||`field`,label:t?.label,type:t?.type,placeholder:t?.placeholder,required:t?.required,readonly:t?.readonly||t?.readOnly,help:t?.help,description:t?.description,defaultValue:t?.defaultValue||t?.value,...t},u=n.default.useCallback(e=>{c(e),a.onChange&&a.onChange(e)},[a]),d=t?.readonly||t?.readOnly||!1;return(0,o.jsxs)(`div`,{className:`grid w-full items-center gap-1.5`,"data-obj-id":t?.id,"data-obj-type":t?.type,children:[t?.label&&(0,o.jsx)(`label`,{htmlFor:t.id,className:t.required?`after:content-['*'] after:ml-0.5 after:text-red-500`:``,children:t.label}),(0,o.jsx)(e,{value:s,onChange:u,field:l,readonly:d,className:r}),t?.description&&(0,o.jsx)(`p`,{className:`text-sm text-gray-500`,children:t.description})]})};return t.displayName=`FieldRenderer(${e.displayName||e.name||`Component`})`,t}var Ee={text:()=>Promise.resolve().then(()=>require(`./TextField-aLAzBaLZ.cjs`)).then(e=>({default:e.TextField})),textarea:()=>Promise.resolve().then(()=>require(`./TextAreaField-Cxp3DFC6.cjs`)).then(e=>({default:e.TextAreaField})),number:()=>Promise.resolve().then(()=>require(`./NumberField-SqRwbcY8.cjs`)).then(e=>({default:e.NumberField})),boolean:()=>Promise.resolve().then(()=>require(`./BooleanField-DeexI_O2.cjs`)).then(e=>({default:e.BooleanField})),select:()=>Promise.resolve().then(()=>require(`./SelectField-CAa6c0cB.cjs`)).then(e=>({default:e.SelectField})),date:()=>Promise.resolve().then(()=>require(`./DateField-DDUllj7w.cjs`)).then(e=>({default:e.DateField})),datetime:()=>Promise.resolve().then(()=>require(`./DateTimeField-DDqgVN3b.cjs`)).then(e=>({default:e.DateTimeField})),time:()=>Promise.resolve().then(()=>require(`./TimeField-D0lF0y_I.cjs`)).then(e=>({default:e.TimeField})),email:()=>Promise.resolve().then(()=>require(`./EmailField-B-3nY8Pr.cjs`)).then(e=>({default:e.EmailField})),phone:()=>Promise.resolve().then(()=>require(`./PhoneField-CirvuysP.cjs`)).then(e=>({default:e.PhoneField})),url:()=>Promise.resolve().then(()=>require(`./UrlField-D0ugmD3f.cjs`)).then(e=>({default:e.UrlField})),currency:()=>Promise.resolve().then(()=>require(`./CurrencyField-CezTX_rA.cjs`)).then(e=>({default:e.CurrencyField})),percent:()=>Promise.resolve().then(()=>require(`./PercentField-BzhD6tQm.cjs`)).then(e=>({default:e.PercentField})),password:()=>Promise.resolve().then(()=>require(`./PasswordField-kLp-ZyPm.cjs`)).then(e=>({default:e.PasswordField})),markdown:()=>Promise.resolve().then(()=>require(`./RichTextField-Bog2i4NN.cjs`)).then(e=>({default:e.RichTextField})),html:()=>Promise.resolve().then(()=>require(`./RichTextField-Bog2i4NN.cjs`)).then(e=>({default:e.RichTextField})),lookup:()=>Promise.resolve().then(()=>require(`./LookupField-C9rPrHi_.cjs`)).then(e=>e.n).then(e=>({default:e.LookupField})),master_detail:()=>Promise.resolve().then(()=>require(`./MasterDetailField-TNP2825Z.cjs`)).then(e=>({default:e.MasterDetailField})),file:()=>Promise.resolve().then(()=>require(`./FileField-C1bcL7tu.cjs`)).then(e=>({default:e.FileField})),image:()=>Promise.resolve().then(()=>require(`./ImageField-Cna7g6KL.cjs`)).then(e=>({default:e.ImageField})),location:()=>Promise.resolve().then(()=>require(`./LocationField-DpRe9QlH.cjs`)).then(e=>({default:e.LocationField})),formula:()=>Promise.resolve().then(()=>require(`./FormulaField-CsbQIZ7S.cjs`)).then(e=>({default:e.FormulaField})),summary:()=>Promise.resolve().then(()=>require(`./SummaryField-DA16Edq3.cjs`)).then(e=>({default:e.SummaryField})),auto_number:()=>Promise.resolve().then(()=>require(`./AutoNumberField-f76XU1bR.cjs`)).then(e=>({default:e.AutoNumberField})),user:()=>Promise.resolve().then(()=>require(`./UserField-DGlorzyG.cjs`)).then(e=>({default:e.UserField})),owner:()=>Promise.resolve().then(()=>require(`./UserField-DGlorzyG.cjs`)).then(e=>({default:e.UserField})),object:()=>Promise.resolve().then(()=>require(`./ObjectField-BWZwaFIG.cjs`)).then(e=>({default:e.ObjectField})),vector:()=>Promise.resolve().then(()=>require(`./VectorField-BSD85ntU.cjs`)).then(e=>({default:e.VectorField})),grid:()=>Promise.resolve().then(()=>require(`./GridField-2m74haE0.cjs`)).then(e=>({default:e.GridField})),color:()=>Promise.resolve().then(()=>require(`./ColorField-CM9CxZ9h.cjs`)).then(e=>({default:e.ColorField})),slider:()=>Promise.resolve().then(()=>require(`./SliderField-DRjEJSxK.cjs`)).then(e=>({default:e.SliderField})),rating:()=>Promise.resolve().then(()=>require(`./RatingField-CZG8SgQ8.cjs`)).then(e=>({default:e.RatingField})),code:()=>Promise.resolve().then(()=>require(`./CodeField-DDOMH8E8.cjs`)).then(e=>({default:e.CodeField})),avatar:()=>Promise.resolve().then(()=>require(`./AvatarField-CXOdYavl.cjs`)).then(e=>({default:e.AvatarField})),address:()=>Promise.resolve().then(()=>require(`./AddressField-Ctsxkj35.cjs`)).then(e=>({default:e.AddressField})),geolocation:()=>Promise.resolve().then(()=>require(`./GeolocationField-UFu9VR-x.cjs`)).then(e=>({default:e.GeolocationField})),signature:()=>Promise.resolve().then(()=>require(`./SignatureField-jsb-0AYp.cjs`)).then(e=>({default:e.SignatureField})),qrcode:()=>Promise.resolve().then(()=>require(`./QRCodeField-C4OOLCbE.cjs`)).then(e=>({default:e.QRCodeField}))};function De(e){let t=Ee[e];if(!t){console.warn(`Unknown field type: ${e}`);return}let i=n.default.lazy(t);r.ComponentRegistry.register(e,i,{namespace:`field`})}function Oe(){Object.keys(Ee).forEach(e=>{De(e)})}function ke(){r.ComponentRegistry.register(`text`,$(s),{namespace:`field`}),r.ComponentRegistry.register(`textarea`,$(_),{namespace:`field`}),r.ComponentRegistry.register(`number`,$(c),{namespace:`field`}),r.ComponentRegistry.register(`boolean`,$(l),{namespace:`field`}),r.ComponentRegistry.register(`select`,$(u),{namespace:`field`}),r.ComponentRegistry.register(`date`,$(d),{namespace:`field`}),r.ComponentRegistry.register(`datetime`,$(y),{namespace:`field`}),r.ComponentRegistry.register(`time`,$(b),{namespace:`field`}),r.ComponentRegistry.register(`email`,$(f),{namespace:`field`}),r.ComponentRegistry.register(`phone`,$(p),{namespace:`field`}),r.ComponentRegistry.register(`url`,$(m),{namespace:`field`}),r.ComponentRegistry.register(`currency`,$(g),{namespace:`field`}),r.ComponentRegistry.register(`percent`,$(x),{namespace:`field`}),r.ComponentRegistry.register(`password`,$(S),{namespace:`field`}),r.ComponentRegistry.register(`markdown`,$(v),{namespace:`field`}),r.ComponentRegistry.register(`html`,$(v),{namespace:`field`}),r.ComponentRegistry.register(`lookup`,$(t.t),{namespace:`field`}),r.ComponentRegistry.register(`master_detail`,$(j),{namespace:`field`}),r.ComponentRegistry.register(`file`,$(C),{namespace:`field`}),r.ComponentRegistry.register(`image`,$(w),{namespace:`field`}),r.ComponentRegistry.register(`location`,$(T),{namespace:`field`}),r.ComponentRegistry.register(`formula`,$(E),{namespace:`field`}),r.ComponentRegistry.register(`summary`,$(D),{namespace:`field`}),r.ComponentRegistry.register(`auto_number`,$(O),{namespace:`field`}),r.ComponentRegistry.register(`user`,$(k),{namespace:`field`}),r.ComponentRegistry.register(`owner`,$(k),{namespace:`field`}),r.ComponentRegistry.register(`object`,$(A),{namespace:`field`}),r.ComponentRegistry.register(`vector`,$(ee),{namespace:`field`}),r.ComponentRegistry.register(`grid`,$(te),{namespace:`field`}),r.ComponentRegistry.register(`color`,$(ne),{namespace:`field`}),r.ComponentRegistry.register(`slider`,$(re),{namespace:`field`}),r.ComponentRegistry.register(`rating`,$(ie),{namespace:`field`}),r.ComponentRegistry.register(`code`,$(ae),{namespace:`field`}),r.ComponentRegistry.register(`avatar`,$(oe),{namespace:`field`}),r.ComponentRegistry.register(`address`,$(se),{namespace:`field`}),r.ComponentRegistry.register(`geolocation`,$(ce),{namespace:`field`}),r.ComponentRegistry.register(`signature`,$(le),{namespace:`field`}),r.ComponentRegistry.register(`qrcode`,$(ue),{namespace:`field`})}Oe(),exports.AddressField=se,exports.AutoNumberField=O,exports.AvatarField=oe,exports.BooleanCellRenderer=H,exports.BooleanField=l,exports.CodeField=ae,exports.ColorField=ne,exports.CurrencyCellRenderer=B,exports.CurrencyField=g,exports.DateCellRenderer=U,exports.DateField=d,exports.DateTimeCellRenderer=W,exports.DateTimeField=y,exports.EmailCellRenderer=ve,exports.EmailField=f,exports.FileCellRenderer=xe,exports.FileField=C,exports.FormulaCellRenderer=q,exports.FormulaField=E,exports.GeolocationField=ce,exports.GridField=te,exports.ImageCellRenderer=Se,exports.ImageField=w,exports.LocationField=T,exports.LookupCellRenderer=K,exports.LookupField=t.t,exports.MasterDetailField=j,exports.NumberCellRenderer=z,exports.NumberField=c,exports.ObjectField=A,exports.PasswordField=S,exports.PercentCellRenderer=V,exports.PercentField=x,exports.PhoneCellRenderer=be,exports.PhoneField=p,exports.QRCodeField=ue,exports.RatingField=ie,exports.RecordPickerDialog=t.i,exports.RichTextField=v,exports.SelectCellRenderer=G,exports.SelectField=u,exports.SignatureField=le,exports.SliderField=re,exports.SummaryField=D,exports.TextAreaField=_,exports.TextCellRenderer=R,exports.TextField=s,exports.TimeField=b,exports.UrlCellRenderer=ye,exports.UrlField=m,exports.UserCellRenderer=J,exports.UserField=k,exports.VectorField=ee,exports.buildValidationRules=Te,exports.coerceToSafeValue=M,exports.evaluateCondition=Q,exports.formatCompactCurrency=de,exports.formatCurrency=N,exports.formatDate=L,exports.formatDateTime=fe,exports.formatFileSize=we,exports.formatPercent=P,exports.formatRelativeDate=I,exports.getCellRenderer=Z,exports.humanizeLabel=F,exports.mapFieldTypeToFormType=Ce,exports.registerAllFields=Oe,exports.registerField=De,exports.registerFieldRenderer=X,exports.registerFields=ke;
|
|
8
|
+
}`,disabled:i||o.disabled,className:(0,a.cn)(`font-mono text-xs`,d?`border-red-500 focus-visible:ring-red-500`:``,o.className),rows:6}),d&&(0,s.jsx)(`p`,{className:`text-xs text-red-500`,children:d})]})}function k({value:e,field:t,...n}){let r=(t||n.schema)?.dimensions||(Array.isArray(e)?e.length:0);if(!e||!Array.isArray(e))return(0,s.jsx)(`span`,{className:`text-sm text-gray-500`,children:`-`});let i=e.slice(0,3).map(e=>{let t=Number(e);return isNaN(t)?`0`:t.toFixed(4)}).join(`, `);return(0,s.jsxs)(`div`,{className:`text-sm ${n.className||``}`,children:[(0,s.jsxs)(`span`,{className:`font-mono text-gray-700`,children:[`[`,i,`...]`]}),(0,s.jsxs)(`span`,{className:`text-gray-500 ml-2`,children:[`(`,r,`D)`]})]})}function A({value:e,field:t,readonly:n,...r}){let i=(t||r.schema)?.columns||[];return!e||!Array.isArray(e)?(0,s.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:`-`}):n?(0,s.jsx)(`div`,{className:(0,a.cn)(`text-sm`,r.className),children:(0,s.jsxs)(`span`,{className:`text-foreground`,children:[e.length,` rows`]})}):(0,s.jsxs)(`div`,{className:(0,a.cn)(`border border-border rounded-lg overflow-hidden`,r.className),children:[(0,s.jsx)(`div`,{className:`overflow-auto max-h-60`,children:(0,s.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,s.jsx)(`thead`,{className:`bg-muted border-b border-border`,children:(0,s.jsx)(`tr`,{children:i.map((e,t)=>(0,s.jsx)(`th`,{className:`px-3 py-2 text-left text-xs font-medium text-muted-foreground`,children:e.label||e.name},t))})}),(0,s.jsx)(`tbody`,{className:`divide-y divide-border`,children:e.slice(0,5).map((e,t)=>(0,s.jsx)(`tr`,{className:`hover:bg-muted/50 transition-colors`,children:i.map((t,n)=>(0,s.jsx)(`td`,{className:`px-3 py-2 text-foreground`,children:e[t.name]==null?`-`:String(e[t.name])},n))},t))})]})}),e.length>5&&(0,s.jsxs)(`div`,{className:`bg-muted px-3 py-2 text-xs text-muted-foreground border-t border-border`,children:[`Showing 5 of `,e.length,` rows`]})]})}function re({value:e,onChange:t,field:n,readonly:r,...i}){let o=n||i.schema;return r?(0,s.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,s.jsx)(`div`,{className:`w-6 h-6 rounded border border-input`,style:{backgroundColor:e||`#000000`}}),(0,s.jsx)(`span`,{className:`text-sm`,children:e||`-`})]}):(0,s.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,s.jsx)(`input`,{type:`color`,value:e||`#000000`,onChange:e=>t(e.target.value),disabled:r||i.disabled,className:`w-10 h-10 rounded border border-input cursor-pointer`}),(0,s.jsx)(a.Input,{type:`text`,value:e||``,onChange:e=>t(e.target.value),placeholder:o?.placeholder||`#000000`,disabled:r||i.disabled,className:i.className,pattern:`^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$`})]})}function ie({value:e,onChange:t,field:n,readonly:r,...i}){let o=n||i.schema,c=o?.min??0,l=o?.max??100,u=o?.step??1;return r?(0,s.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,s.jsx)(`span`,{className:`text-sm font-medium`,children:e??c}),(0,s.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[`/ `,l]})]}):(0,s.jsxs)(`div`,{className:`flex items-center gap-4`,children:[(0,s.jsx)(a.Slider,{value:[e??c],onValueChange:e=>t(e[0]),min:c,max:l,step:u,disabled:r||i.disabled,className:i.className}),(0,s.jsx)(`span`,{className:`text-sm font-medium w-12 text-right`,children:e??c})]})}function ae({value:e,onChange:t,field:n,readonly:i,className:c,...l}){let u=(n||l.schema)?.max??5,d=e??0,[f,p]=r.default.useState(null),m=f===null?d:f;return i?(0,s.jsxs)(`div`,{className:(0,a.cn)(`flex items-center gap-1`,c),children:[Array.from({length:u},(e,t)=>(0,s.jsx)(o.Star,{className:`w-5 h-5 ${t<d?`fill-yellow-400 text-yellow-400`:`text-muted-foreground`}`},t)),(0,s.jsxs)(`span`,{className:`ml-2 text-sm text-muted-foreground`,children:[d,` / `,u]})]}):(0,s.jsxs)(`div`,{className:(0,a.cn)(`flex items-center gap-1`,c),children:[Array.from({length:u},(e,n)=>(0,s.jsx)(`button`,{type:`button`,onClick:()=>t(n+1),onMouseEnter:()=>p(n+1),onMouseLeave:()=>p(null),className:`focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 rounded`,disabled:i||l.disabled,children:(0,s.jsx)(o.Star,{className:`w-5 h-5 transition-colors ${n<m?`fill-yellow-400 text-yellow-400 hover:fill-yellow-500 hover:text-yellow-500`:`text-muted-foreground hover:text-yellow-400`}`})},n)),(0,s.jsxs)(`span`,{className:`ml-2 text-sm text-muted-foreground`,children:[d,` / `,u]})]})}function oe({value:e,onChange:t,field:n,readonly:r,...i}){let o=n||i.schema,c=o?.language??`javascript`;return r?(0,s.jsx)(`pre`,{className:(0,a.cn)(`text-sm bg-muted p-2 rounded overflow-x-auto border`,i.className),children:(0,s.jsx)(`code`,{children:e||`-`})}):(0,s.jsx)(a.Textarea,{value:e||``,onChange:e=>t(e.target.value),placeholder:o?.placeholder||`// Write ${c} code here...`,disabled:r||i.disabled,className:(0,a.cn)(`font-mono text-sm`,i.className),rows:12,spellCheck:!1})}function se({value:e,onChange:t,field:n,readonly:i,...c}){let[l,u]=r.default.useState(!1),d=r.default.useRef(null),f=n||c.schema,p=e=>{let n=e.target.files?.[0];if(!n)return;if(!n.type.startsWith(`image/`)){console.error(`Please select an image file`);return}if(n.size>5*1024*1024){console.error(`File size must be less than 5MB`);return}let r=new FileReader;r.onloadend=()=>{t(r.result)},r.readAsDataURL(n)},m=()=>{t(``)},h=()=>(f?.defaultName||f?.label||`User`).split(` `).map(e=>e[0]).join(``).toUpperCase().slice(0,2);return i?(0,s.jsxs)(a.Avatar,{className:`w-16 h-16`,children:[e&&(0,s.jsx)(a.AvatarImage,{src:e,alt:f?.label}),(0,s.jsx)(a.AvatarFallback,{children:h()})]}):(0,s.jsxs)(`div`,{className:`flex items-center gap-4`,children:[(0,s.jsxs)(`div`,{className:`relative`,onMouseEnter:()=>u(!0),onMouseLeave:()=>u(!1),children:[(0,s.jsxs)(a.Avatar,{className:`w-16 h-16`,children:[e&&(0,s.jsx)(a.AvatarImage,{src:e,alt:f?.label}),(0,s.jsx)(a.AvatarFallback,{children:h()})]}),!i&&l&&e&&(0,s.jsx)(`button`,{type:`button`,onClick:m,className:`absolute -top-1 -right-1 bg-destructive text-destructive-foreground rounded-full p-1 hover:bg-destructive/90`,children:(0,s.jsx)(o.X,{className:`w-3 h-3`})})]}),(0,s.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,s.jsx)(`input`,{ref:d,type:`file`,accept:`image/*`,onChange:p,className:`hidden`}),(0,s.jsxs)(a.Button,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>d.current?.click(),disabled:i||c.disabled,children:[(0,s.jsx)(o.Upload,{className:`w-4 h-4 mr-2`}),e?`Change`:`Upload`,` Avatar`]}),(0,s.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`PNG, JPG up to 5MB`})]})]})}function ce({value:e,onChange:t,field:n,readonly:r,...i}){let o=e||{},c=(e,n)=>{t({...o,[e]:n})};return r?(0,s.jsx)(`span`,{className:`text-sm`,children:(e=>[e.street,e.city,[e.state,e.zipCode].filter(Boolean).join(` `),e.country].filter(Boolean).join(`, `)||`-`)(o)}):(0,s.jsxs)(`div`,{className:`space-y-3`,children:[(0,s.jsxs)(`div`,{children:[(0,s.jsx)(a.Label,{htmlFor:`street`,className:`text-xs`,children:`Street Address`}),(0,s.jsx)(a.Input,{id:`street`,type:`text`,value:o.street||``,onChange:e=>c(`street`,e.target.value),placeholder:`123 Main St`,disabled:r||i.disabled,className:i.className})]}),(0,s.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,s.jsxs)(`div`,{children:[(0,s.jsx)(a.Label,{htmlFor:`city`,className:`text-xs`,children:`City`}),(0,s.jsx)(a.Input,{id:`city`,type:`text`,value:o.city||``,onChange:e=>c(`city`,e.target.value),placeholder:`San Francisco`,disabled:r||i.disabled})]}),(0,s.jsxs)(`div`,{children:[(0,s.jsx)(a.Label,{htmlFor:`state`,className:`text-xs`,children:`State / Province`}),(0,s.jsx)(a.Input,{id:`state`,type:`text`,value:o.state||``,onChange:e=>c(`state`,e.target.value),placeholder:`CA`,disabled:r||i.disabled})]})]}),(0,s.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,s.jsxs)(`div`,{children:[(0,s.jsx)(a.Label,{htmlFor:`zipCode`,className:`text-xs`,children:`ZIP / Postal Code`}),(0,s.jsx)(a.Input,{id:`zipCode`,type:`text`,value:o.zipCode||``,onChange:e=>c(`zipCode`,e.target.value),placeholder:`94102`,disabled:r||i.disabled})]}),(0,s.jsxs)(`div`,{children:[(0,s.jsx)(a.Label,{htmlFor:`country`,className:`text-xs`,children:`Country`}),(0,s.jsx)(a.Input,{id:`country`,type:`text`,value:o.country||``,onChange:e=>c(`country`,e.target.value),placeholder:`United States`,disabled:r||i.disabled})]})]})]})}function le({value:e,onChange:t,field:n,readonly:i,...c}){let[l,u]=r.default.useState(!1),d=e||{},f=(e,n)=>{t({...d,[e]:n?Number(n):void 0})},p=()=>{if(!navigator.geolocation){console.error(`Geolocation is not supported by this browser`);return}u(!0),navigator.geolocation.getCurrentPosition(e=>{t({latitude:e.coords.latitude,longitude:e.coords.longitude,accuracy:e.coords.accuracy}),u(!1)},e=>{console.error(`Error getting location:`,e.message),u(!1)},{enableHighAccuracy:!0,timeout:5e3,maximumAge:0})},m=e=>!e.latitude||!e.longitude?`-`:`${e.latitude.toFixed(6)}, ${e.longitude.toFixed(6)}`,h=()=>{if(!d.latitude||!d.longitude)return;let e=`https://www.google.com/maps?q=${d.latitude},${d.longitude}`;window.open(e,`_blank`)};return i?(0,s.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,s.jsx)(o.MapPin,{className:`w-4 h-4 text-muted-foreground`}),(0,s.jsx)(`span`,{className:`text-sm`,children:m(d)}),d.latitude&&d.longitude&&(0,s.jsx)(a.Button,{type:`button`,variant:`link`,size:`sm`,onClick:h,className:`p-0 h-auto`,children:`View on map`})]}):(0,s.jsxs)(`div`,{className:`space-y-3`,children:[(0,s.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,s.jsxs)(a.Button,{type:`button`,variant:`outline`,size:`sm`,onClick:p,disabled:i||l,children:[(0,s.jsx)(o.Crosshair,{className:`w-4 h-4 mr-2`}),l?`Getting location...`:`Use Current Location`]}),d.latitude&&d.longitude&&(0,s.jsxs)(a.Button,{type:`button`,variant:`link`,size:`sm`,onClick:h,children:[(0,s.jsx)(o.MapPin,{className:`w-4 h-4 mr-2`}),`View on map`]})]}),(0,s.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,s.jsxs)(`div`,{children:[(0,s.jsx)(a.Label,{htmlFor:`latitude`,className:`text-xs`,children:`Latitude`}),(0,s.jsx)(a.Input,{id:`latitude`,type:`number`,value:d.latitude??``,onChange:e=>f(`latitude`,e.target.value),placeholder:`37.7749`,disabled:i||c.disabled,step:`any`,className:c.className})]}),(0,s.jsxs)(`div`,{children:[(0,s.jsx)(a.Label,{htmlFor:`longitude`,className:`text-xs`,children:`Longitude`}),(0,s.jsx)(a.Input,{id:`longitude`,type:`number`,value:d.longitude??``,onChange:e=>f(`longitude`,e.target.value),placeholder:`-122.4194`,disabled:i||c.disabled,step:`any`})]})]}),d.accuracy&&(0,s.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`Accuracy: ±`,d.accuracy.toFixed(0),`m`]})]})}function ue({value:e,onChange:t,readonly:n}){let i=(0,r.useRef)(null),[c,l]=r.default.useState(!1),[u,d]=r.default.useState(!e);(0,r.useEffect)(()=>{if(e&&i.current){let t=i.current.getContext(`2d`);if(t){let n=new Image;n.onload=()=>{t.drawImage(n,0,0),d(!1)},n.src=e}}},[e]);let f=e=>{if(n)return;l(!0),d(!1);let t=i.current;if(!t)return;let r=t.getContext(`2d`);if(!r)return;let a=t.getBoundingClientRect(),o=`touches`in e?e.touches[0].clientX-a.left:e.clientX-a.left,s=`touches`in e?e.touches[0].clientY-a.top:e.clientY-a.top;r.beginPath(),r.moveTo(o,s)},p=e=>{if(!c||n)return;let t=i.current;if(!t)return;let r=t.getContext(`2d`);if(!r)return;let a=t.getBoundingClientRect(),o=`touches`in e?e.touches[0].clientX-a.left:e.clientX-a.left,s=`touches`in e?e.touches[0].clientY-a.top:e.clientY-a.top;r.lineTo(o,s),r.strokeStyle=`#000`,r.lineWidth=2,r.lineCap=`round`,r.lineJoin=`round`,r.stroke()},m=()=>{if(!c)return;l(!1);let e=i.current;e&&t(e.toDataURL(`image/png`))};return n&&e?(0,s.jsx)(`div`,{className:`border rounded p-2 bg-white`,children:(0,s.jsx)(`img`,{src:e,alt:`Signature`,loading:`lazy`,className:`max-w-full h-auto`})}):n&&!e?(0,s.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:`No signature`}):(0,s.jsxs)(`div`,{className:`space-y-2`,children:[(0,s.jsx)(`div`,{className:`border rounded bg-white`,children:(0,s.jsx)(`canvas`,{ref:i,width:400,height:200,className:`w-full touch-none cursor-crosshair`,onMouseDown:f,onMouseMove:p,onMouseUp:m,onMouseLeave:m,onTouchStart:f,onTouchMove:p,onTouchEnd:m})}),(0,s.jsxs)(`div`,{className:`flex justify-between items-center`,children:[(0,s.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:u?`Sign above`:`Signature captured`}),(0,s.jsxs)(a.Button,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>{let e=i.current;if(!e)return;let n=e.getContext(`2d`);n&&(n.clearRect(0,0,e.width,e.height),d(!0),t(``))},disabled:n||u,children:[(0,s.jsx)(o.Eraser,{className:`w-4 h-4 mr-2`}),`Clear`]})]})]})}function j({value:e,onChange:t,field:n,readonly:i,...c}){let[l,u]=r.default.useState(!1),d=n||c.schema;return i?(0,s.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,s.jsx)(`span`,{className:`text-sm flex-1 truncate`,children:e||`-`}),e&&(0,s.jsxs)(a.Button,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>u(!l),children:[(0,s.jsx)(o.QrCode,{className:`w-4 h-4 mr-2`}),l?`Hide`:`Show`,` QR`]})]}):(0,s.jsxs)(`div`,{className:`space-y-3`,children:[(0,s.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,s.jsx)(a.Input,{type:`text`,value:e||``,onChange:e=>t(e.target.value),placeholder:d?.placeholder||`Enter text for QR code`,disabled:i||c.disabled,className:c.className}),e&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(a.Button,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>{e&&navigator.clipboard.writeText(e)},children:(0,s.jsx)(o.Copy,{className:`w-4 h-4`})}),(0,s.jsx)(a.Button,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>u(!l),children:(0,s.jsx)(o.QrCode,{className:`w-4 h-4`})})]})]}),l&&e&&(0,s.jsx)(`div`,{className:`border rounded p-4 bg-white flex justify-center`,children:(0,s.jsx)(`img`,{src:(e=>`https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=${encodeURIComponent(e)}`)(e),alt:`QR Code`,className:`w-48 h-48`})}),e&&(0,s.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`QR code contains: `,e.length,` characters`]})]})}function M({value:e,onChange:t,field:n,readonly:r,className:i,...c}){let l=e||[],u=n||c.schema,d=()=>{let e={id:`new-${Date.now()}`,label:`New Related Record`};t([...l,e])},f=e=>{t(l.filter(t=>t.id!==e))},p=e=>{console.log(`View detail:`,e)};return r?(0,s.jsxs)(`div`,{className:(0,a.cn)(`space-y-2`,i),children:[l.length===0?(0,s.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:`No related records`}):l.map(e=>(0,s.jsxs)(`div`,{className:`flex items-center justify-between p-2 border rounded hover:bg-muted/50`,children:[(0,s.jsx)(`span`,{className:`text-sm`,children:e.label}),(0,s.jsx)(a.Button,{type:`button`,variant:`ghost`,size:`sm`,onClick:()=>p(e),children:(0,s.jsx)(o.ExternalLink,{className:`w-4 h-4`})})]},e.id)),(0,s.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[l.length,` `,l.length===1?`record`:`records`]})]}):(0,s.jsxs)(`div`,{className:(0,a.cn)(`space-y-3`,i),children:[(0,s.jsxs)(`div`,{className:`space-y-2`,children:[l.map(e=>(0,s.jsxs)(`div`,{className:`flex items-center justify-between gap-2 p-2 border rounded hover:bg-muted/50`,children:[(0,s.jsxs)(`div`,{className:`flex items-center gap-2 flex-1`,children:[(0,s.jsx)(a.Badge,{variant:`outline`,children:e.id}),(0,s.jsx)(`span`,{className:`text-sm flex-1`,children:e.label})]}),(0,s.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,s.jsx)(a.Button,{type:`button`,variant:`ghost`,size:`sm`,onClick:()=>p(e),children:(0,s.jsx)(o.ExternalLink,{className:`w-4 h-4`})}),(0,s.jsx)(a.Button,{type:`button`,variant:`ghost`,size:`sm`,onClick:()=>f(e.id),disabled:c.disabled,children:(0,s.jsx)(o.X,{className:`w-4 h-4`})})]})]},e.id)),l.length===0&&(0,s.jsx)(`div`,{className:`text-sm text-muted-foreground text-center py-4 border border-dashed rounded bg-muted/20`,children:`No related records`})]}),(0,s.jsxs)(a.Button,{type:`button`,variant:`outline`,className:`w-full`,onClick:d,disabled:c.disabled,children:[(0,s.jsx)(o.Plus,{className:`w-4 h-4 mr-2`}),`Add `,u?.label||`Record`]})]})}function N(e){if(e==null||typeof e==`string`||typeof e==`number`||typeof e==`boolean`)return e;if(e instanceof Date)return e.toISOString();if(Array.isArray(e))return e.map(e=>{if(typeof e==`object`&&e){let t=e;return String(t.name||t.label||t.id||t._id||`[Object]`)}return String(e)}).join(`, `);if(typeof e==`object`){let t=e;return`$numberDecimal`in t?Number(t.$numberDecimal):`$oid`in t?String(t.$oid):`$date`in t?String(t.$date):String(t.name||t.label||t.id||t._id||`[Object]`)}return String(e)}function P(e,t=`USD`){try{return new Intl.NumberFormat(`en-US`,{style:`currency`,currency:t}).format(e)}catch{return`${t} ${e.toFixed(2)}`}}function de(e,t=`USD`){try{return new Intl.NumberFormat(`en-US`,{style:`currency`,currency:t,notation:`compact`,maximumFractionDigits:1}).format(e).replace(/\.0(?=[KMBT])/,``)}catch{return`${t} ${e}`}}function F(e,t=0){return`${(e>-1&&e<1?e*100:e).toFixed(t)}%`}function I(e){return e.replace(/[_-]/g,` `).replace(/\b\w/g,e=>e.toUpperCase())}function L(e){if(!e)return`-`;let t=typeof e==`string`?new Date(e):e;if(isNaN(t.getTime()))return`-`;let n=new Date,r=new Date(n.getFullYear(),n.getMonth(),n.getDate()),i=new Date(t.getFullYear(),t.getMonth(),t.getDate()).getTime()-r.getTime(),a=Math.round(i/(1e3*60*60*24));if(a===0)return`Today`;if(a===1)return`Tomorrow`;if(a===-1)return`Yesterday`;if(a<-1){let e=Math.abs(a);return e<=7?`Overdue ${e}d`:R(t)}return a>1&&a<=7?`In ${a} days`:R(t)}function R(e,t){if(!e)return`-`;let n=typeof e==`string`?new Date(e):e;return isNaN(n.getTime())?`-`:t===`short`?`${n.toLocaleDateString(`en-US`,{month:`short`})} ${n.getDate()}, '${String(n.getFullYear()).slice(-2)}`:t===`relative`?L(n):n.toLocaleDateString(void 0,{year:`numeric`,month:`short`,day:`numeric`})}function fe(e){if(!e)return`-`;let t=typeof e==`string`?new Date(e):e;return isNaN(t.getTime())?`-`:t.toLocaleDateString(void 0,{year:`numeric`,month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`})}function z({value:e}){let t=N(e);return(0,s.jsx)(`span`,{className:`truncate`,children:t!=null&&t!==``?String(t):`-`})}function B({value:e,field:t}){if(e==null)return(0,s.jsx)(`span`,{className:`text-muted-foreground`,children:`-`});let n=N(e),r=t.precision??0,i=Number(n);return(0,s.jsx)(`span`,{className:`tabular-nums`,children:isNaN(i)?String(n):new Intl.NumberFormat(`en-US`,{minimumFractionDigits:r,maximumFractionDigits:r}).format(i)})}function V({value:e,field:t}){if(e==null)return(0,s.jsx)(`span`,{className:`text-muted-foreground`,children:`-`});let n=N(e),r=t.currency||`USD`,i=Number(n);return(0,s.jsx)(`span`,{className:`tabular-nums font-medium whitespace-nowrap`,children:isNaN(i)?String(n):P(i,r)})}var pe=/progress|completion/;function H({value:e,field:t}){if(e==null)return(0,s.jsx)(`span`,{className:`text-muted-foreground`,children:`-`});let n=N(e),r=t.precision??0,i=Number(n);if(isNaN(i))return(0,s.jsx)(`span`,{className:`tabular-nums whitespace-nowrap`,children:String(n)});let a=pe.test(t?.name?.toLowerCase()||``),o=a?i:i>-1&&i<1?i*100:i,c=a?`${i.toFixed(r)}%`:F(i,r),l=Math.max(0,Math.min(100,o));return(0,s.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,s.jsx)(`div`,{className:`h-1.5 w-16 rounded-full bg-muted overflow-hidden flex-shrink-0`,role:`progressbar`,"aria-valuenow":l,"aria-valuemin":0,"aria-valuemax":100,children:(0,s.jsx)(`div`,{className:`h-full rounded-full bg-primary transition-all`,style:{width:`${l}%`}})}),(0,s.jsx)(`span`,{className:`tabular-nums whitespace-nowrap`,children:c})]})}var me=new Set([`active`,`is_active`,`enabled`,`is_enabled`,`verified`,`is_verified`]);function U({value:e,field:t}){if(e==null)return(0,s.jsx)(`span`,{className:`text-muted-foreground/50 text-xs italic flex items-center justify-center`,children:`—`});let n=t?.name?.toLowerCase()||``;return n===`completed`||n===`is_completed`||n===`done`||n===`is_done`?(0,s.jsx)(`div`,{className:`flex items-center justify-center`,children:e?(0,s.jsx)(`div`,{className:`size-5 rounded-full bg-green-500 flex items-center justify-center`,role:`img`,"aria-label":`Completed`,"data-testid":`completion-indicator`,children:(0,s.jsx)(o.Check,{className:`size-3 text-white`})}):(0,s.jsx)(`div`,{className:`size-5 rounded-full border-2 border-muted-foreground/30`,role:`img`,"aria-label":`Not completed`,"data-testid":`completion-indicator`})}):me.has(n)&&!e?(0,s.jsxs)(a.Badge,{variant:`destructive`,className:`text-xs`,"data-testid":`boolean-warning-badge`,children:[t?.label||I(n),` — Off`]}):(0,s.jsx)(`div`,{className:`flex items-center justify-center`,children:(0,s.jsx)(a.Checkbox,{checked:!!e,disabled:!0,className:`pointer-events-none`})})}function W({value:e,field:t}){if(!e)return(0,s.jsx)(`span`,{className:`text-muted-foreground`,children:`-`});let n=N(e),r=R(n,t.format||`relative`),i=typeof n==`string`?new Date(n):n,a=i instanceof Date&&!isNaN(i.getTime()),o=new Date;o.setHours(0,0,0,0);let c=a&&i<o,l=a?i.toISOString():String(n);return(0,s.jsx)(`span`,{className:`tabular-nums${c?` text-red-600`:``}`,title:l,children:r})}function G({value:e}){if(!e)return(0,s.jsx)(`span`,{className:`text-muted-foreground`,children:`-`});let t=N(e),n=typeof t==`string`?new Date(t):t;if(!(n instanceof Date)||isNaN(n.getTime()))return(0,s.jsx)(`span`,{className:`text-muted-foreground`,children:`-`});let r=n.toLocaleDateString(void 0,{month:`numeric`,day:`numeric`,year:`numeric`}),i=n.toLocaleTimeString(void 0,{hour:`numeric`,minute:`2-digit`,hour12:!0}).toLowerCase();return(0,s.jsxs)(`span`,{className:`tabular-nums text-sm whitespace-nowrap`,children:[(0,s.jsx)(`span`,{children:r}),(0,s.jsx)(`span`,{className:`ml-2 text-muted-foreground`,children:i})]})}var he={critical:`red`,urgent:`red`,high:`orange`,medium:`yellow`,normal:`blue`,low:`gray`,none:`gray`,paid:`green`,completed:`green`,done:`green`,active:`green`,approved:`green`,resolved:`green`,pending:`yellow`,waiting:`yellow`,on_hold:`yellow`,shipped:`blue`,in_progress:`blue`,open:`blue`,processing:`blue`,draft:`gray`,new:`gray`,inactive:`gray`,closed:`gray`,cancelled:`red`,canceled:`red`,rejected:`red`,failed:`red`,overdue:`red`,delivered:`purple`,archived:`indigo`},ge={gray:`bg-gray-100 text-gray-800 border-gray-300`,red:`bg-red-100 text-red-800 border-red-300`,orange:`bg-orange-100 text-orange-800 border-orange-300`,yellow:`bg-yellow-100 text-yellow-800 border-yellow-300`,green:`bg-green-100 text-green-800 border-green-300`,blue:`bg-blue-100 text-blue-800 border-blue-300`,indigo:`bg-indigo-100 text-indigo-800 border-indigo-300`,purple:`bg-purple-100 text-purple-800 border-purple-300`,pink:`bg-pink-100 text-pink-800 border-pink-300`};function _e(e,t){return ge[e||(t?he[String(t).toLowerCase().replace(/[\s-]/g,`_`)]:void 0)||``]||`bg-muted text-muted-foreground border-border`}function K({value:e,field:t}){let n=t.options||[];if(!e)return(0,s.jsx)(`span`,{children:`-`});if(Array.isArray(e))return(0,s.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:e.map((e,t)=>{let r=n.find(t=>t.value===e),i=r?.label||I(String(e));return(0,s.jsx)(a.Badge,{variant:`outline`,className:_e(r?.color,e),children:i},t)})});let r=n.find(t=>t.value===e),i=r?.label||I(String(e));return(0,s.jsx)(a.Badge,{variant:`outline`,className:_e(r?.color,e),children:i})}function ve({value:e}){if(!e)return(0,s.jsx)(`span`,{children:`-`});let t=String(N(e)??``),[n,i]=r.default.useState(!1);return(0,s.jsxs)(`span`,{className:`inline-flex items-center gap-1 group/email`,children:[(0,s.jsx)(a.Button,{variant:`link`,className:`p-0 h-auto font-normal text-blue-600 hover:text-blue-800`,asChild:!0,children:(0,s.jsx)(`a`,{href:`mailto:${t}`,onClick:e=>e.stopPropagation(),children:t})}),(0,s.jsx)(`button`,{type:`button`,className:`opacity-0 group-hover/email:opacity-100 transition-opacity p-0.5 rounded hover:bg-muted`,onClick:e=>{e.stopPropagation(),e.preventDefault(),navigator.clipboard.writeText(t).then(()=>{i(!0),setTimeout(()=>i(!1),2e3)}).catch(()=>{})},"aria-label":`Copy email`,children:n?(0,s.jsx)(o.Check,{className:`h-3 w-3 text-green-600`}):(0,s.jsx)(o.Copy,{className:`h-3 w-3 text-muted-foreground`})})]})}function ye({value:e}){if(!e)return(0,s.jsx)(`span`,{children:`-`});let t=String(N(e)??``);return(0,s.jsx)(a.Button,{variant:`link`,className:`p-0 h-auto font-normal text-blue-600 hover:text-blue-800`,asChild:!0,children:(0,s.jsx)(`a`,{href:t,target:`_blank`,rel:`noopener noreferrer`,onClick:e=>e.stopPropagation(),children:t})})}function be({value:e}){if(!e)return(0,s.jsx)(`span`,{children:`-`});let t=String(N(e)??``),[n,i]=r.default.useState(!1);return(0,s.jsxs)(`span`,{className:`inline-flex items-center gap-1 group/phone`,children:[(0,s.jsxs)(`a`,{href:`tel:${t}`,className:`inline-flex items-center gap-1 text-blue-600 hover:text-blue-800`,onClick:e=>e.stopPropagation(),children:[(0,s.jsx)(o.Phone,{className:`h-3 w-3`}),t]}),(0,s.jsx)(`button`,{type:`button`,className:`opacity-0 group-hover/phone:opacity-100 transition-opacity p-0.5 rounded hover:bg-muted`,onClick:e=>{e.stopPropagation(),e.preventDefault(),navigator.clipboard.writeText(t).then(()=>{i(!0),setTimeout(()=>i(!1),2e3)}).catch(()=>{})},"aria-label":`Copy phone number`,children:n?(0,s.jsx)(o.Check,{className:`h-3 w-3 text-green-600`}):(0,s.jsx)(o.Copy,{className:`h-3 w-3 text-muted-foreground`})})]})}function xe({value:e,field:t}){if(!e)return(0,s.jsx)(`span`,{children:`-`});if(t.multiple,Array.isArray(e)){let t=e.length;return(0,s.jsxs)(`span`,{className:`text-sm text-gray-600`,children:[t,` `,t===1?`file`:`files`]})}return(0,s.jsx)(`span`,{className:`text-sm truncate`,children:e.name||e.original_name||`File`})}function Se({value:e}){return e?Array.isArray(e)?(0,s.jsxs)(`div`,{className:`flex -space-x-2`,children:[e.slice(0,3).map((e,t)=>(0,s.jsx)(`img`,{src:e.url||``,alt:e.name||`Image ${t+1}`,className:`size-8 rounded-md border-2 border-white object-cover`},t)),e.length>3&&(0,s.jsxs)(`div`,{className:`size-8 rounded-md border-2 border-white bg-gray-100 flex items-center justify-center text-xs font-medium text-gray-600`,children:[`+`,e.length-3]})]}):(0,s.jsx)(`img`,{src:e.url||``,alt:e.name||`Image`,className:`size-10 rounded-md object-cover`}):(0,s.jsx)(`span`,{children:`-`})}function q({value:e,field:t}){if(e==null||e===``)return(0,s.jsx)(`span`,{children:`-`});let n=t.options||[],r=e=>{if(n.length>0){let t=n.find(t=>String(t.value)===String(e));if(t)return t.label}return String(e)};return Array.isArray(e)?(0,s.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:e.map((e,t)=>{let n;return n=typeof e==`object`&&e?e.name||e.label||e.id||e._id||String(e):r(e),(0,s.jsx)(`span`,{className:`inline-flex items-center px-2 py-0.5 rounded text-xs font-medium bg-gray-100 text-gray-800`,children:n},t)})}):typeof e==`object`&&e?(0,s.jsx)(`span`,{className:`truncate`,children:e.name||e.label||e.id||e._id||`[Object]`}):(0,s.jsx)(`span`,{className:`truncate`,children:r(e)})}function J({value:e}){let t=N(e);return(0,s.jsx)(`span`,{className:`text-gray-700 font-mono text-sm`,children:t==null?`-`:String(t)})}function Y({value:e}){if(!e)return(0,s.jsx)(`span`,{children:`-`});if(typeof e!=`object`)return(0,s.jsx)(`span`,{className:`truncate`,children:String(e)});if(Array.isArray(e))return(0,s.jsxs)(`div`,{className:`flex -space-x-2`,children:[e.slice(0,3).map((e,t)=>{if(typeof e!=`object`||!e)return(0,s.jsx)(`span`,{className:`truncate text-sm`,children:String(e)},t);let n=e.name||e.username||`User`;return(0,s.jsx)(a.Avatar,{className:`size-8 border-2 border-white`,title:n,children:(0,s.jsx)(a.AvatarFallback,{className:`bg-blue-500 text-white text-xs`,children:n.split(` `).map(e=>e[0]).join(``).toUpperCase().slice(0,2)})},t)}),e.length>3&&(0,s.jsx)(a.Avatar,{className:`size-8 border-2 border-white`,children:(0,s.jsxs)(a.AvatarFallback,{className:`bg-gray-200 text-gray-600 text-xs`,children:[`+`,e.length-3]})})]});let t=e.name||e.username||`User`;return(0,s.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,s.jsx)(a.Avatar,{className:`size-8`,children:(0,s.jsx)(a.AvatarFallback,{className:`bg-blue-500 text-white text-xs`,children:t.split(` `).map(e=>e[0]).join(``).toUpperCase().slice(0,2)})}),(0,s.jsx)(`span`,{className:`truncate`,children:t})]})}var X=new Map;function Z(e,t){X.set(e,t)}function Ce(e){return X.has(e)?X.get(e):{text:z,textarea:z,markdown:z,html:z,number:B,currency:V,percent:H,boolean:U,date:W,datetime:G,time:z,select:K,status:K,lookup:q,master_detail:q,email:ve,url:ye,phone:be,file:xe,image:Se,formula:J,summary:J,auto_number:z,user:Y,owner:Y,password:()=>(0,s.jsx)(`span`,{children:`••••••`}),location:z,object:()=>(0,s.jsx)(`span`,{className:`text-gray-500 italic`,children:`[Object]`}),vector:()=>(0,s.jsx)(`span`,{className:`text-gray-500 italic`,children:`[Vector]`}),grid:()=>(0,s.jsx)(`span`,{className:`text-gray-500 italic`,children:`[Grid]`})}[e]||z}Z(`lookup`,q),Z(`master_detail`,q),Z(`select`,K),Z(`status`,K),Z(`user`,Y),Z(`owner`,Y),n.r(Ce);function we(e){return{text:`field:text`,textarea:`field:textarea`,markdown:`field:markdown`,html:`field:html`,number:`field:number`,currency:`field:currency`,percent:`field:percent`,date:`field:date`,datetime:`field:datetime`,time:`field:time`,boolean:`field:boolean`,select:`field:select`,lookup:`field:lookup`,master_detail:`field:master_detail`,email:`field:email`,phone:`field:phone`,url:`field:url`,file:`field:file`,image:`field:image`,password:`field:password`,location:`field:location`,formula:`field:formula`,summary:`field:summary`,auto_number:`field:auto_number`}[e]||`field:text`}function Te(e){if(e<0||!Number.isFinite(e)||e===0)return`0 B`;let t=[`B`,`KB`,`MB`,`GB`,`TB`],n=e,r=0;for(;n>=1024&&r<t.length-1;)n/=1024,r++;return`${n.toFixed(+(r>0))} ${t[r]}`}function Ee(e){let t={};return e.required&&(t.required=typeof e.required_message==`string`?e.required_message:`${e.label||e.name} is required`),e.min_length&&(t.minLength={value:e.min_length,message:e.min_length_message||`Minimum length is ${e.min_length} characters`}),e.max_length&&(t.maxLength={value:e.max_length,message:e.max_length_message||`Maximum length is ${e.max_length} characters`}),e.min!==void 0&&(t.min={value:e.min,message:e.min_message||`Minimum value is ${e.min}`}),e.max!==void 0&&(t.max={value:e.max,message:e.max_message||`Maximum value is ${e.max}`}),e.pattern&&(t.pattern={value:typeof e.pattern==`string`?new RegExp(e.pattern):e.pattern,message:e.pattern_message||`Invalid format`}),e.type===`email`&&(t.pattern={value:/^[^\s@]+@[^\s@]+\.[^\s@]+$/,message:`Please enter a valid email address`}),e.type===`url`&&(t.pattern={value:/^https?:\/\/.+/,message:`Please enter a valid URL`}),e.validate&&(t.validate=e.validate),Object.keys(t).length>0?t:void 0}function Q(e,t){if(!e)return!0;if(e.field&&e.value!==void 0){let n=t[e.field];if(e.operator===`=`||e.operator===`==`)return n===e.value;if(e.operator===`!=`)return n!==e.value;if(e.operator===`>`)return n>e.value;if(e.operator===`>=`)return n>=e.value;if(e.operator===`<`)return n<e.value;if(e.operator===`<=`)return n<=e.value;if(e.operator===`in`)return Array.isArray(e.value)&&e.value.includes(n)}return e.and&&Array.isArray(e.and)?e.and.every(e=>Q(e,t)):e.or&&Array.isArray(e.or)?e.or.some(e=>Q(e,t)):!0}function $(e){let t=({schema:t,className:n,value:i,...a})=>{let[o,c]=r.default.useState(i??t?.value??``),l={name:t?.name||`field`,label:t?.label,type:t?.type,placeholder:t?.placeholder,required:t?.required,readonly:t?.readonly||t?.readOnly,help:t?.help,description:t?.description,defaultValue:t?.defaultValue||t?.value,...t},u=r.default.useCallback(e=>{c(e),a.onChange&&a.onChange(e)},[a]),d=t?.readonly||t?.readOnly||!1;return(0,s.jsxs)(`div`,{className:`grid w-full items-center gap-1.5`,"data-obj-id":t?.id,"data-obj-type":t?.type,children:[t?.label&&(0,s.jsx)(`label`,{htmlFor:t.id,className:t.required?`after:content-['*'] after:ml-0.5 after:text-red-500`:``,children:t.label}),(0,s.jsx)(e,{value:o,onChange:u,field:l,readonly:d,className:n}),t?.description&&(0,s.jsx)(`p`,{className:`text-sm text-gray-500`,children:t.description})]})};return t.displayName=`FieldRenderer(${e.displayName||e.name||`Component`})`,t}var De={text:()=>Promise.resolve().then(()=>require(`./TextField-BrwtPIQC.cjs`)).then(e=>({default:e.TextField})),textarea:()=>Promise.resolve().then(()=>require(`./TextAreaField-O503xJff.cjs`)).then(e=>({default:e.TextAreaField})),number:()=>Promise.resolve().then(()=>require(`./NumberField-BCk42NjA.cjs`)).then(e=>({default:e.NumberField})),boolean:()=>Promise.resolve().then(()=>require(`./BooleanField-BgkbTHPY.cjs`)).then(e=>({default:e.BooleanField})),select:()=>Promise.resolve().then(()=>require(`./SelectField-BUOTiYaS.cjs`)).then(e=>({default:e.SelectField})),date:()=>Promise.resolve().then(()=>require(`./DateField-WGWwddDF.cjs`)).then(e=>({default:e.DateField})),datetime:()=>Promise.resolve().then(()=>require(`./DateTimeField-BYsZs8f7.cjs`)).then(e=>({default:e.DateTimeField})),time:()=>Promise.resolve().then(()=>require(`./TimeField-Bhoxv2yp.cjs`)).then(e=>({default:e.TimeField})),email:()=>Promise.resolve().then(()=>require(`./EmailField-1PW03WW8.cjs`)).then(e=>({default:e.EmailField})),phone:()=>Promise.resolve().then(()=>require(`./PhoneField-CvbkGpN3.cjs`)).then(e=>({default:e.PhoneField})),url:()=>Promise.resolve().then(()=>require(`./UrlField-VFO089Gr.cjs`)).then(e=>({default:e.UrlField})),currency:()=>Promise.resolve().then(()=>require(`./CurrencyField-C28LkJts.cjs`)).then(e=>({default:e.CurrencyField})),percent:()=>Promise.resolve().then(()=>require(`./PercentField-nzACEXtC.cjs`)).then(e=>({default:e.PercentField})),password:()=>Promise.resolve().then(()=>require(`./PasswordField-BAReSDz7.cjs`)).then(e=>({default:e.PasswordField})),markdown:()=>Promise.resolve().then(()=>require(`./RichTextField-7VwN6GcU.cjs`)).then(e=>({default:e.RichTextField})),html:()=>Promise.resolve().then(()=>require(`./RichTextField-7VwN6GcU.cjs`)).then(e=>({default:e.RichTextField})),lookup:()=>Promise.resolve().then(()=>require(`./LookupField-BHr7uTX1.cjs`)).then(e=>e.n).then(e=>({default:e.LookupField})),master_detail:()=>Promise.resolve().then(()=>require(`./MasterDetailField-YTAU1hzg.cjs`)).then(e=>({default:e.MasterDetailField})),file:()=>Promise.resolve().then(()=>require(`./FileField-BqZkp1O6.cjs`)).then(e=>({default:e.FileField})),image:()=>Promise.resolve().then(()=>require(`./ImageField-BZf-AL2e.cjs`)).then(e=>({default:e.ImageField})),location:()=>Promise.resolve().then(()=>require(`./LocationField-DhGJtUzZ.cjs`)).then(e=>({default:e.LocationField})),formula:()=>Promise.resolve().then(()=>require(`./FormulaField-MZ9le4RE.cjs`)).then(e=>({default:e.FormulaField})),summary:()=>Promise.resolve().then(()=>require(`./SummaryField-Ed2wJBvs.cjs`)).then(e=>({default:e.SummaryField})),auto_number:()=>Promise.resolve().then(()=>require(`./AutoNumberField-cS2tsxd-.cjs`)).then(e=>({default:e.AutoNumberField})),user:()=>Promise.resolve().then(()=>require(`./UserField-BRe9SCCk.cjs`)).then(e=>({default:e.UserField})),owner:()=>Promise.resolve().then(()=>require(`./UserField-BRe9SCCk.cjs`)).then(e=>({default:e.UserField})),object:()=>Promise.resolve().then(()=>require(`./ObjectField-iYK5eab_.cjs`)).then(e=>({default:e.ObjectField})),vector:()=>Promise.resolve().then(()=>require(`./VectorField-ByrWkiud.cjs`)).then(e=>({default:e.VectorField})),grid:()=>Promise.resolve().then(()=>require(`./GridField-D4OWfaU4.cjs`)).then(e=>({default:e.GridField})),color:()=>Promise.resolve().then(()=>require(`./ColorField-DBTFFYpv.cjs`)).then(e=>({default:e.ColorField})),slider:()=>Promise.resolve().then(()=>require(`./SliderField-Bgi3-TAD.cjs`)).then(e=>({default:e.SliderField})),rating:()=>Promise.resolve().then(()=>require(`./RatingField-DBgj9cgE.cjs`)).then(e=>({default:e.RatingField})),code:()=>Promise.resolve().then(()=>require(`./CodeField-DE3dLruS.cjs`)).then(e=>({default:e.CodeField})),avatar:()=>Promise.resolve().then(()=>require(`./AvatarField-CxhGS3wF.cjs`)).then(e=>({default:e.AvatarField})),address:()=>Promise.resolve().then(()=>require(`./AddressField-Do46PdqT.cjs`)).then(e=>({default:e.AddressField})),geolocation:()=>Promise.resolve().then(()=>require(`./GeolocationField-onbAOdIe.cjs`)).then(e=>({default:e.GeolocationField})),signature:()=>Promise.resolve().then(()=>require(`./SignatureField-DW_Cz6t9.cjs`)).then(e=>({default:e.SignatureField})),qrcode:()=>Promise.resolve().then(()=>require(`./QRCodeField-D8fov03S.cjs`)).then(e=>({default:e.QRCodeField}))};function Oe(e){let t=De[e];if(!t){console.warn(`Unknown field type: ${e}`);return}let n=r.default.lazy(t);i.ComponentRegistry.register(e,n,{namespace:`field`})}function ke(){Object.keys(De).forEach(e=>{Oe(e)})}function Ae(){i.ComponentRegistry.register(`text`,$(c),{namespace:`field`}),i.ComponentRegistry.register(`textarea`,$(v),{namespace:`field`}),i.ComponentRegistry.register(`number`,$(l),{namespace:`field`}),i.ComponentRegistry.register(`boolean`,$(u),{namespace:`field`}),i.ComponentRegistry.register(`select`,$(d),{namespace:`field`}),i.ComponentRegistry.register(`date`,$(f),{namespace:`field`}),i.ComponentRegistry.register(`datetime`,$(b),{namespace:`field`}),i.ComponentRegistry.register(`time`,$(x),{namespace:`field`}),i.ComponentRegistry.register(`email`,$(p),{namespace:`field`}),i.ComponentRegistry.register(`phone`,$(m),{namespace:`field`}),i.ComponentRegistry.register(`url`,$(h),{namespace:`field`}),i.ComponentRegistry.register(`currency`,$(_),{namespace:`field`}),i.ComponentRegistry.register(`percent`,$(S),{namespace:`field`}),i.ComponentRegistry.register(`password`,$(C),{namespace:`field`}),i.ComponentRegistry.register(`markdown`,$(y),{namespace:`field`}),i.ComponentRegistry.register(`html`,$(y),{namespace:`field`}),i.ComponentRegistry.register(`lookup`,$(n.t),{namespace:`field`}),i.ComponentRegistry.register(`master_detail`,$(M),{namespace:`field`}),i.ComponentRegistry.register(`file`,$(w),{namespace:`field`}),i.ComponentRegistry.register(`image`,$(T),{namespace:`field`}),i.ComponentRegistry.register(`location`,$(E),{namespace:`field`}),i.ComponentRegistry.register(`formula`,$(D),{namespace:`field`}),i.ComponentRegistry.register(`summary`,$(ee),{namespace:`field`}),i.ComponentRegistry.register(`auto_number`,$(te),{namespace:`field`}),i.ComponentRegistry.register(`user`,$(O),{namespace:`field`}),i.ComponentRegistry.register(`owner`,$(O),{namespace:`field`}),i.ComponentRegistry.register(`object`,$(ne),{namespace:`field`}),i.ComponentRegistry.register(`vector`,$(k),{namespace:`field`}),i.ComponentRegistry.register(`grid`,$(A),{namespace:`field`}),i.ComponentRegistry.register(`color`,$(re),{namespace:`field`}),i.ComponentRegistry.register(`slider`,$(ie),{namespace:`field`}),i.ComponentRegistry.register(`rating`,$(ae),{namespace:`field`}),i.ComponentRegistry.register(`code`,$(oe),{namespace:`field`}),i.ComponentRegistry.register(`avatar`,$(se),{namespace:`field`}),i.ComponentRegistry.register(`address`,$(ce),{namespace:`field`}),i.ComponentRegistry.register(`geolocation`,$(le),{namespace:`field`}),i.ComponentRegistry.register(`signature`,$(ue),{namespace:`field`}),i.ComponentRegistry.register(`qrcode`,$(j),{namespace:`field`})}ke(),exports.AddressField=ce,exports.AutoNumberField=te,exports.AvatarField=se,exports.BooleanCellRenderer=U,exports.BooleanField=u,exports.CodeField=oe,exports.ColorField=re,exports.CurrencyCellRenderer=V,exports.CurrencyField=_,exports.DateCellRenderer=W,exports.DateField=f,exports.DateTimeCellRenderer=G,exports.DateTimeField=b,exports.EmailCellRenderer=ve,exports.EmailField=p,exports.FileCellRenderer=xe,exports.FileField=w,exports.FormulaCellRenderer=J,exports.FormulaField=D,exports.GeolocationField=le,exports.GridField=A,exports.ImageCellRenderer=Se,exports.ImageField=T,exports.LocationField=E,exports.LookupCellRenderer=q,exports.LookupField=n.t,exports.MasterDetailField=M,exports.NumberCellRenderer=B,exports.NumberField=l,exports.ObjectField=ne,exports.PasswordField=C,exports.PercentCellRenderer=H,exports.PercentField=S,exports.PhoneCellRenderer=be,exports.PhoneField=m,exports.QRCodeField=j,exports.RatingField=ae,exports.RecordPickerDialog=n.i,exports.RichTextField=y,exports.SelectCellRenderer=K,exports.SelectField=d,exports.SignatureField=ue,exports.SliderField=ie,exports.SummaryField=ee,exports.TextAreaField=v,exports.TextCellRenderer=z,exports.TextField=c,exports.TimeField=x,exports.UrlCellRenderer=ye,exports.UrlField=h,exports.UserCellRenderer=Y,exports.UserField=O,exports.VectorField=k,exports.buildValidationRules=Ee,exports.coerceToSafeValue=N,exports.evaluateCondition=Q,exports.formatCompactCurrency=de,exports.formatCurrency=P,exports.formatDate=R,exports.formatDateTime=fe,exports.formatFileSize=Te,exports.formatPercent=F,exports.formatRelativeDate=L,exports.getCellRenderer=Ce,exports.humanizeLabel=I,exports.mapFieldTypeToFormType=we,exports.registerAllFields=ke,exports.registerField=Oe,exports.registerFieldRenderer=Z,exports.registerFields=Ae;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './fields/src/index'
|
|
1
|
+
export * from './packages/fields/src/index'
|
|
2
2
|
export {}
|