@object-ui/fields 17.7.0 → 18.0.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/index.cjs CHANGED
@@ -1,9 +1,9 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(e){throw n=[e],e}},s=(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},c=(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},l=(n,r,o)=>(o=n==null?{}:e(i(n)),c(r||!n||!n.__esModule||!a.call(n,`default`)?t(o,`default`,{value:n,enumerable:!0}):o,n));let u=require("react");u=l(u,1);let d=require("@object-ui/core"),f=require("@objectstack/spec/data"),p=require("@object-ui/i18n"),m=require("@object-ui/components"),h=require("lucide-react"),g=require("@object-ui/react"),_=require("@object-ui/permissions"),v=require("react/jsx-runtime"),y=require("react-markdown");y=l(y,1);let b=require("remark-gfm");b=l(b,1);let x=require("rehype-sanitize");x=l(x,1);let S=require("@object-ui/types"),C=require("@object-ui/providers");function w(e){let t=({schema:t,field:n,...r})=>(0,v.jsx)(e,{...r,field:n??t});return t.displayName=`FieldCarrier(${e.displayName||e.name||`Component`})`,t}function T(e){return e.postalCode??e.zipCode}function E(e){return e==null?``:String(e).trim()}function D(e){return(e||``).split(/[-_]/)[0].toLowerCase()}function O(e,t){let n=E(e.street),r=E(e.city),i=E(e.state),a=E(T(e)),o=E(e.country);return k.has(D(t))?[o,[a,i].filter(Boolean).join(` `),r,n].filter(Boolean).join(`, `):[n,r,[i,a].filter(Boolean).join(` `),o].filter(Boolean).join(`, `)}var k,ee=o((()=>{k=new Set([`zh`,`ja`,`ko`])}));function A(e){let t=N.get(e);if(t!==void 0)return t;let n=M;try{n=new Intl.NumberFormat(void 0,{style:`currency`,currency:e}).resolvedOptions().maximumFractionDigits??M}catch{}return N.set(e,n),n}function j(e,t){let n=`${t}|${e}`,r=P.get(n);if(r!==void 0)return r;let i=e;try{i=new Intl.NumberFormat(t,{style:`currency`,currency:e}).formatToParts(0).find(e=>e.type===`currency`)?.value??e}catch{}return P.set(n,i),i}var M,N,P,F=o((()=>{M=2,N=new Map,P=new Map}));function I(e,t,n){let r=(0,f.resolveFieldScale)({type:t.type,scale:`scale`in t?t.scale:void 0}),i=`useGrouping`in t&&typeof t.useGrouping==`boolean`?t.useGrouping:void 0;return(0,p.formatDisplayNumber)(e,{locale:n,scale:r,useGrouping:i,...r===void 0?{minimumFractionDigits:0,maximumFractionDigits:20}:{minimumFractionDigits:r,maximumFractionDigits:r}})}function te(e){return e?A(e):2}function L(e,t,n){let r=te(t);try{return(0,p.formatDisplayNumber)(e,{locale:n,...t?{currency:t}:{},minimumFractionDigits:r,maximumFractionDigits:r})}catch{return t?`${t} ${e.toFixed(r)}`:e.toFixed(r)}}function R(e){if(e?.type===`progress`)return`whole`;let t=typeof e?.max==`number`?e.max:void 0;return(0,f.percentScaleOf)({type:`percent`,max:t})}function ne(e,t,n){try{return(0,p.formatDisplayNumber)(e,{locale:n,style:`percentPoints`,minimumFractionDigits:t,maximumFractionDigits:t})}catch{return`${e.toFixed(t)}%`}}var z=o((()=>{F()}));function re({images:e,index:t,open:n,onOpenChange:r,onIndexChange:i}){let{t:a}=(0,p.useObjectTranslation)(),o=e.length,s=e[t],c=u.useCallback(e=>{if(o<=1)return;let n=(t+e+o)%o;i?.(n)},[o,t,i]),l=u.useCallback(e=>{e.key===`ArrowRight`?(e.preventDefault(),c(1)):e.key===`ArrowLeft`&&(e.preventDefault(),c(-1))},[c]);return s?(0,v.jsx)(m.Dialog,{open:n,onOpenChange:r,children:(0,v.jsxs)(m.DialogContent,{className:`max-w-[92vw] sm:max-w-4xl p-0 bg-transparent border-0 shadow-none`,onKeyDown:l,children:[(0,v.jsx)(m.DialogTitle,{className:`sr-only`,children:s.name||a(`fields.image.preview`)}),(0,v.jsxs)(`div`,{className:`relative flex items-center justify-center`,children:[(0,v.jsx)(`img`,{src:s.url,alt:s.name||a(`fields.image.imageAlt`,{index:t+1}),className:`max-h-[85vh] max-w-full rounded-md object-contain`}),o>1&&(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(`button`,{type:`button`,onClick:()=>c(-1),"aria-label":a(`fields.image.previous`),className:`absolute left-2 top-1/2 -translate-y-1/2 flex size-9 items-center justify-center rounded-full bg-black/50 text-white hover:bg-black/70 transition-colors`,children:(0,v.jsx)(h.ChevronLeft,{className:`size-5`})}),(0,v.jsx)(`button`,{type:`button`,onClick:()=>c(1),"aria-label":a(`fields.image.next`),className:`absolute right-2 top-1/2 -translate-y-1/2 flex size-9 items-center justify-center rounded-full bg-black/50 text-white hover:bg-black/70 transition-colors`,children:(0,v.jsx)(h.ChevronRight,{className:`size-5`})}),(0,v.jsx)(`div`,{className:`absolute bottom-2 left-1/2 -translate-x-1/2 rounded-full bg-black/50 px-2.5 py-1 text-xs font-medium text-white`,children:a(`fields.image.counter`,{current:t+1,total:o})})]})]})]})}):null}var B=o((()=>{}));function ie(e){if((0,f.isFileIdToken)(e))return e;if(e&&typeof e==`object`){let t=e,n=t.file_id??t.id;if(typeof n==`string`&&n)return n}}function ae(e){return`${ue}/files/${encodeURIComponent(e)}`}function oe(e){if(/^data:/i.test(e))return;let t=(e.split(/[?#]/)[0]??e).split(`/`).filter(Boolean).pop();if(!t)return e;try{return decodeURIComponent(t)}catch(e){if(e instanceof URIError)return t;throw e}}function V(e,t=`File`){if(e==null)return{name:t,raw:e};if(typeof e==`string`)return(0,f.isFileIdToken)(e)?{id:e,name:t,url:ae(e),raw:e}:{url:e,name:oe(e)??t,raw:e};if(typeof e==`object`){let n=e,r=e=>typeof e==`string`&&e?e:void 0,i=ie(n),a=r(n.url)??(i?ae(i):void 0);return{id:i,name:r(n.name)??r(n.original_name)??(r(n.url)?oe(r(n.url)):void 0)??t,url:a,size:typeof n.size==`number`?n.size:void 0,mimeType:r(n.mimeType)??r(n.mime_type),raw:e}}return{name:t,raw:e}}function H(e,t=`File`){return e==null?[]:(Array.isArray(e)?e:[e]).filter(e=>e!=null).map(e=>V(e,t))}function se(e){return(e.mimeType??``).startsWith(`image/`)}function ce(e,t){let n=e.meta?.fileId;if((0,f.isFileIdToken)(n))return n;throw new W(t??e.name)}function le(e,t){return{id:(0,f.isFileIdToken)(e.meta?.fileId)?e.meta.fileId:void 0,name:e.name||t||`File`,url:e.url,size:e.size,mimeType:e.mimeType,raw:e}}function U(e,t){return Object.keys(t).length===0?e:e.map(e=>{let n=e.id?t[e.id]:void 0;return n?e.raw&&typeof e.raw==`object`&&typeof e.raw.url==`string`&&e.raw.url?e:{...n,raw:e.raw}:e})}var ue,W,G=o((()=>{ue=`/api/v1/storage`,W=class extends Error{code=`UPLOAD_INCOMPLETE`;fileName;constructor(e){super(`upload of "${e}" did not complete: the upload adapter returned no sys_file id (meta.fileId), so nothing was submitted`),this.name=`UploadIncompleteError`,this.fileName=e}}}));function K({view:e,fallback:t,className:n,icon:r=!0}){let i=e.url?.trim();if(!i)return(0,v.jsx)(v.Fragment,{children:t});let a=e.name;return(0,v.jsxs)(`a`,{href:i,target:`_blank`,rel:`noopener noreferrer`,title:a,onClick:e=>e.stopPropagation(),"data-slot":`file-download-link`,className:(0,m.cn)(`inline-flex min-w-0 max-w-full items-center gap-1 align-middle text-blue-600 hover:text-blue-800 hover:underline`,n),children:[r&&(0,v.jsx)(h.File,{className:`size-3 shrink-0`,"aria-hidden":`true`}),(0,v.jsx)(`span`,{className:`truncate`,children:a})]})}var q=o((()=>{}));function J(e){if(e==null||typeof e==`number`||typeof e==`boolean`||typeof e==`string`)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.externalId||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.externalId||t.id||t._id||`[Object]`)}return String(e)}var de=o((()=>{})),fe=s({default:()=>Y});function Y({value:e}){return(0,v.jsx)(`div`,{className:`prose prose-sm max-w-none dark:prose-invert break-words`,children:(0,v.jsx)(y.default,{remarkPlugins:[b.default],rehypePlugins:[x.default],children:e})})}var X=o((()=>{}));function pe(e){let t=J(e);if(t!=null&&t!==``)return String(t)}function Z({value:e}){let t=pe(e);return t===void 0?(0,v.jsx)(m.EmptyValue,{}):(0,v.jsx)(u.default.Suspense,{fallback:(0,v.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:t.slice(0,80)}),children:(0,v.jsx)(ve,{value:t})})}function me(e){return e.replace(/<\s*(script|style|iframe|object|embed)[^>]*>[\s\S]*?<\s*\/\s*\1\s*>/gi,``).replace(/\son\w+\s*=\s*("[^"]*"|'[^']*'|[^\s>]+)/gi,``).replace(/(href|src)\s*=\s*("javascript:[^"]*"|'javascript:[^']*')/gi,`$1="#"`)}function he({value:e}){let t=pe(e);return t===void 0?(0,v.jsx)(m.EmptyValue,{}):(0,v.jsx)(`div`,{className:`prose prose-sm max-w-none dark:prose-invert break-words`,dangerouslySetInnerHTML:{__html:me(t)}})}function ge(e){let t=_e(e);if(t)return t===Z?`markdown`:`html`}function _e(e){return ye[e]}var ve,ye,be,xe=o((()=>{de(),ve=u.default.lazy(()=>Promise.resolve().then(()=>(X(),fe))),ye={markdown:Z,html:he,richtext:he},be=Object.keys(ye)}));function Se(e){we=e}function Ce(){return we}var we,Te=o((()=>{}));ee(),z(),B(),G(),q(),xe(),Te();var Ee={select:`field:multiselect`},De=`field:`;function Oe(e,t){return t?.multiple&&Ee[e]?Ee[e]:{text:`field:text`,textarea:`field:textarea`,markdown:`field:markdown`,html:`field:html`,richtext:`field:richtext`,secret:`field:password`,number:`field:number`,currency:`field:currency`,percent:`field:percent`,slider:`field:slider`,progress:`field:slider`,rating:`field:rating`,date:`field:date`,datetime:`field:datetime`,time:`field:time`,boolean:`field:boolean`,toggle:`field:boolean`,select:`field:select`,multiselect:`field:multiselect`,radio:`field:radio`,checkboxes:`field:checkboxes`,tags:`field:tags`,lookup:`field:lookup`,master_detail:`field:master_detail`,tree:`field:lookup`,user:`field:user`,email:`field:email`,phone:`field:phone`,url:`field:url`,file:`field:file`,image:`field:image`,avatar:`field:avatar`,video:`field:file`,audio:`field:file`,signature:`field:signature`,password:`field:password`,location:`field:location`,geolocation:`field:geolocation`,address:`field:address`,color:`field:color`,code:`field:code`,json:`field:object`,qrcode:`field:qrcode`,vector:`field:vector`,object:`field:object`,composite:`field:object`,record:`field:object`,repeater:`field:grid`,formula:`field:formula`,summary:`field:summary`,autonumber:`field:auto_number`,auto_number:`field:auto_number`}[e]||((0,d.reportRetiredFieldType)(e)?`${De}${e}`:`field:text`)}function Q(e){return(0,d.pickDomProps)(e,ke)}var ke,$=o((()=>{ke=[`id`,`name`,`autoFocus`,`tabIndex`,`onBlur`,`onFocus`,`onClick`,`className`,`disabled`]}));$();var Ae=[`error`,`onUploadingChange`,`dataSource`,`dependentValues`,`dependsOn`,`dependsOnLabels`,`emptyHint`,`onSelectRecord`,`onCreateNew`];function je(e){let t=new Set(Ae),n={};for(let r of Object.keys(e))t.has(r)&&(n[r]=e[r]);return n}var Me=s({TextField:()=>Ne});function Ne({value:e,onChange:t,field:n,readonly:r,error:i,...a}){let o=n;if(r)return(0,v.jsx)(`span`,{className:`text-sm`,children:e||(0,v.jsx)(m.EmptyValue,{})});let s=o?.rows,c=Q(a),l=o?.maxLength;return s&&s>1?(0,v.jsx)(m.Textarea,{...c,value:e||``,onChange:e=>t(e.target.value),placeholder:o?.placeholder,maxLength:l,disabled:r||c.disabled,"aria-invalid":!!i}):(0,v.jsx)(m.Input,{...c,type:o?.type===`password`?`password`:`text`,value:e||``,onChange:e=>t(e.target.value),placeholder:o?.placeholder,maxLength:l,disabled:r||c.disabled,"aria-invalid":!!i})}var Pe=o((()=>{}));function Fe(e){return(0,v.jsx)(m.FullscreenEditor,{...e})}var Ie=o((()=>{})),Le=s({TextAreaField:()=>Re});function Re({value:e,onChange:t,field:n,readonly:r,error:i,...a}){let o=n,s=o?.maxLength,c=(0,u.useId)(),l=`${c}-charcount`,d=`${c}-fullscreen-charcount`;if(r)return(0,v.jsx)(`div`,{className:`text-sm whitespace-pre-wrap`,children:e||(0,v.jsx)(m.EmptyValue,{})});let f=o?.rows||4,p=!!o?.mobile_fullscreen,h=Q(a),g=!!h.disabled,_=[h[`aria-describedby`],s?l:void 0].filter(Boolean).join(` `)||void 0;return(0,v.jsxs)(`div`,{className:`relative`,children:[(0,v.jsx)(m.Textarea,{...h,value:e||``,onChange:e=>t(e.target.value),placeholder:o?.placeholder,disabled:r||g,rows:f,maxLength:s,"aria-invalid":!!i,"aria-describedby":_,className:h.className}),s&&(0,v.jsx)(m.CharacterCount,{length:(e||``).length,maxLength:s,descriptionId:l,announceNearLimit:!0,className:`absolute bottom-2 right-2 text-xs text-gray-400`,testId:`textarea-character-count`}),p&&(0,v.jsx)(Fe,{value:e??``,onCommit:t,label:o?.label,testIdPrefix:`textarea`,disabled:g,error:i,footer:e=>s?(0,v.jsx)(m.CharacterCount,{length:e.length,maxLength:s,descriptionId:d,announceNearLimit:!1,className:`text-xs text-muted-foreground self-center`,testId:`textarea-fullscreen-character-count`}):null,children:(e,t,n,r)=>(0,v.jsx)(m.Textarea,{autoFocus:!0,value:e,onChange:e=>t(e.target.value),disabled:n,maxLength:s,placeholder:o?.placeholder,...r,"aria-describedby":s?d:void 0,className:`h-full min-h-full resize-none text-base`,"data-testid":`textarea-fullscreen-input`})})]})}var ze=o((()=>{Ie(),$()})),Be,Ve,He=o((()=>{Be={"common.selectOption":`Select an option`,"common.select":`Select…`,"common.loading":`Loading…`,"common.noResults":`No results found`,"common.cancel":`Cancel`,"common.confirm":`Confirm`,"table.selected":`{{count}} selected`,"table.search":`Search…`,"lookup.loading":`Loading…`,"lookup.noOptions":`No options found`,"lookup.noRecords":`No records found`,"lookup.recentlyUsed":`Recently used`,"lookup.allResults":`All results`,"lookup.createNew":`Create new`,"lookup.createNamed":`Create new "{{name}}"`,"lookup.showingResults":`Showing {{shown}} of {{total}} results`,"lookup.showAllResults":`Show all results ({{count}})`,"lookup.selectedBadge":`Selected`,"lookup.browseAll":`Browse all records`,"lookup.remove":`Remove {{label}}`,"lookup.selectFirst":`Select {{fields}} first`,"lookup.selectRecord":`Select record`,"lookup.recordCount":`{{count}} records`,"lookup.recordCount_one":`{{count}} record`,"lookup.recordCount_other":`{{count}} records`,"lookup.pageOf":`Page {{current}} of {{total}}`,"lookup.filters":`Filters`,"lookup.clear":`Clear`,"lookup.yes":`Yes`,"lookup.filterPlaceholder":`Filter {{label}}`,"lookup.prevPage":`Previous page`,"lookup.nextPage":`Next page`,"lookup.jumpToPage":`Jump to page`,"lookup.retry":`Retry`,"fields.options.empty":`No options available`,"fields.options.selectFirst":`Select {{fields}} first`,"validation.formInvalidJoiner":`, `,"fields.objectRef.loading":`Loading objects…`,"fields.objectRef.placeholder":`Select an object`,"fields.objectRef.search":`Search objects…`,"fields.objectRef.empty":`No objects found`,"fields.recipient.selectTypeFirst":`Select a recipient type first.`,"fields.recipient.loading":`Loading…`,"fields.recipient.search":`Search…`,"fields.recipient.empty":`No matches`,"fields.recipient.select":`Select a recipient`,"fields.recipient.selectUser":`Select a user`,"fields.recipient.selectTeam":`Select a team`,"fields.recipient.selectBusinessUnit":`Select a business unit`,"fields.recipient.selectPosition":`Select a position`,"fields.recipient.selectUnitAndSubordinates":`Select a business unit`,"fields.recipient.selectField":`Select a user field`,"fields.recipient.noUserFields":`No user fields on this object`,"fields.recipient.fieldNotUserTyped":`{{name}} — not a user field`,"fields.filterCondition.selectObjectFirst":`Select an object first.`,"fields.filterCondition.noCriteria":`No criteria — this rule shares nothing`,"fields.filterCondition.criteriaRequired":`Add at least one condition. A rule with no criteria would share every record, so it cannot be saved.`,"fields.filterCondition.invalidJson":`Invalid JSON — the rule will match no records until fixed.`,"fields.filterCondition.jsonOnly":`This criteria can only be edited as JSON`,"fields.filterCondition.editAsJson":`Edit as JSON`,"fields.filterCondition.useVisualBuilder":`Use visual builder`,"fields.object.invalidJson":`Invalid JSON`,"fields.location.refusedFormat":`Not saved: enter a latitude, longitude pair (example: 30.2741, 120.1551).`,"fields.location.refusedRange":`Not saved: {{detail}}`,"fields.location.latitude":`latitude`,"fields.location.longitude":`longitude`,"fields.location.refusedResidueOne":`Not saved: {{name}} "{{text}}" is not a number. Enter plain decimals (example: 30.2741, 120.1551).`,"fields.location.refusedResidue":`Not saved: {{name}} "{{text}}" and {{otherName}} "{{otherText}}" are not numbers. Enter plain decimals (example: 30.2741, 120.1551).`,"fields.number.badInput":`Not saved: the text in this box is not a number. Enter a plain decimal (example: {{example}}).`,"fields.date.impossibleDay":`The stored value "{{value}}" is not a real date. Pick a date to replace it.`,"fields.dateTime.impossibleDay":`The stored value "{{value}}" is not a real date. Pick a date and time to replace it.`,"fields.tags.placeholder":`Type and press Enter to add…`,"fields.address.street":`Street Address`,"fields.address.city":`City`,"fields.address.state":`State / Province`,"fields.address.postalCode":`ZIP / Postal Code`,"fields.address.country":`Country`,"capability.group.platform":`Platform`,"capability.group.org":`Organization`,"capability.group.other":`Other`,"capability.label.manage_users":`Manage Users`,"capability.label.manage_org_users":`Manage Organization Users`,"capability.label.manage_metadata":`Manage Metadata`,"capability.label.manage_org_presentation":`Manage Organization Presentation`,"capability.label.manage_platform_settings":`Manage Platform Settings`,"capability.label.setup_access":`Setup Access`,"capability.label.setup_write":`Write Settings`,"capability.label.studio_access":`Studio Access`,"capability.label.manage_sharing":`Manage Sharing`},Ve=(0,p.createSafeTranslation)(Be,`common.selectOption`)}));function Ue(e,t){return e(`fields.number.badInput`,{example:t})}function We(e){let[t,n]=(0,u.useState)(null),{t:r}=Ve();return{refusal:t,readBadInput:(0,u.useCallback)(t=>{let i=t?.validity?.badInput===!0;return n(i?Ue(r,e):null),i},[e,r])}}function Ge({refusal:e}){return e?(0,v.jsx)(`p`,{className:`text-xs text-red-500`,children:e}):null}var Ke,qe=o((()=>{He(),Ke=`border-red-500 focus-visible:ring-red-500`})),Je=s({NumberField:()=>Ye});function Ye({value:e,onChange:t,field:n,readonly:r,error:i,...a}){let{refusal:o,readBadInput:s}=We(`1234`),c=(0,p.useDisplayLocale)();if(r)return e==null?(0,v.jsx)(m.EmptyValue,{}):(0,v.jsx)(`span`,{className:`text-sm`,children:typeof e==`number`?I(e,n,c):e});let l=n,u=l?.scale,d=typeof l?.step==`number`?l.step:typeof u==`number`?10**-u:`any`,f=Q(a),h=e=>{s(e.target),f.onBlur?.(e)};return(0,v.jsxs)(`div`,{className:`space-y-1`,children:[(0,v.jsx)(m.Input,{...f,type:`number`,value:e??``,onChange:e=>{s(e.target);let n=e.target.value;t(n===``?null:Number(n))},onBlur:h,placeholder:l?.placeholder,disabled:r||f.disabled,className:(0,m.cn)(o?Ke:``,f.className),min:typeof l?.min==`number`?l.min:void 0,max:typeof l?.max==`number`?l.max:void 0,step:d,"aria-invalid":!!i||!!o}),(0,v.jsx)(Ge,{refusal:o})]})}var Xe=o((()=>{$(),qe()})),Ze=s({CurrencyField:()=>Qe});function Qe({value:e,onChange:t,field:n,readonly:r,error:i,className:a,...o}){let s=n,{currency:c}=(0,p.useLocalization)(),l=(0,p.useDisplayLocale)(),u=(0,p.resolveFieldCurrency)(s,c),d=te(u),{refusal:f,readBadInput:h}=We(`1234.56`);if(r)return e==null?(0,v.jsx)(m.EmptyValue,{}):(0,v.jsx)(`span`,{className:`text-sm font-medium tabular-nums`,children:L(Number(e),u,l)});let g=Q(o),_=e=>{h(e.target);let n=parseFloat(e.target.value);isNaN(n)||t(parseFloat(n.toFixed(d))),g.onBlur?.(e)},y=u?j(u,l):``;return(0,v.jsxs)(`div`,{className:`space-y-1`,children:[(0,v.jsxs)(`div`,{className:`relative`,children:[y&&(0,v.jsx)(`span`,{className:`absolute left-3 top-1/2 -translate-y-1/2 text-sm text-gray-500`,children:y}),(0,v.jsx)(m.Input,{...g,type:`number`,value:e??``,onChange:e=>{h(e.target),t(e.target.value===``?null:parseFloat(e.target.value))},onBlur:_,placeholder:s?.placeholder||`0.00`,disabled:r||o.disabled,className:(0,m.cn)(y?`pl-8`:``,f?Ke:``,a),min:typeof s?.min==`number`?s.min:void 0,max:typeof s?.max==`number`?s.max:void 0,step:(10**-d).toFixed(d),"aria-invalid":!!i||!!f})]}),(0,v.jsx)(Ge,{refusal:f})]})}var $e=o((()=>{$(),F(),qe(),z()})),et=s({PercentField:()=>tt});function tt({value:e,onChange:t,field:n,readonly:r,error:i,className:a,...o}){let s=n,c=(0,f.resolveFieldScale)({type:`percent`,scale:s?.scale}),{refusal:l,readBadInput:u}=We(`12.5`),d=(0,p.useDisplayLocale)(),h=typeof s?.max==`number`?s.max:void 0,g=(0,f.percentScaleOf)({type:`percent`,max:h})===`whole`,_=e=>g?e:e*100,y=e=>g?e:nt(e),b=g?h:100;if(r)return e==null?(0,v.jsx)(m.EmptyValue,{}):(0,v.jsx)(`span`,{className:`text-sm font-medium tabular-nums`,children:ne(_(e),c,d)});let x=e==null?``:_(e),S=e==null?0:_(e),C=e=>{if(u(e.target),e.target.value===``){t(null);return}let n=parseFloat(e.target.value);t(isNaN(n)?null:y(n))},w=Q(o),T=e=>{u(e.target),w.onBlur?.(e)},E=e=>{if(r||o.disabled)return;if(!Array.isArray(e)||e.length===0){t(null);return}let n=e[0];t(typeof n==`number`?y(n):null)},D=10**-c;return(0,v.jsxs)(`div`,{className:`space-y-2`,children:[(0,v.jsxs)(`div`,{className:`relative`,children:[(0,v.jsx)(m.Input,{...w,type:`number`,value:x,onChange:C,onBlur:T,placeholder:s?.placeholder||`0`,disabled:r||o.disabled,className:(0,m.cn)(`pr-8`,l?Ke:``,a),step:(10**-c).toFixed(c),"aria-invalid":!!i||!!l}),(0,v.jsx)(`span`,{className:`absolute right-3 top-1/2 -translate-y-1/2 text-sm text-gray-500`,children:`%`})]}),(0,v.jsx)(Ge,{refusal:l}),(0,v.jsx)(m.Slider,{value:[S],onValueChange:E,min:0,max:b,step:D,disabled:r||o.disabled,className:`w-full`,"aria-label":`Percentage`,"data-testid":`percent-slider`})]})}var nt,rt=o((()=>{$(),qe(),z(),nt=e=>{if(!Number.isFinite(e))return e;let[t,n]=String(e).split(`e`);return Number(`${t}e${n?Number(n)-2:-2}`)}}));function it(e,t){let{id:n,"aria-labelledby":r,"aria-describedby":i}=Q(e);return{id:n,"aria-labelledby":r,...t===`instead-of-the-inputs`?{"aria-describedby":i}:null,...r==null?null:{role:`group`}}}function at(e){let{id:t,"aria-describedby":n}=Q(e);return{id:t,"aria-describedby":n}}var ot=o((()=>{$()})),st=s({SliderField:()=>ct});function ct({value:e,onChange:t,field:n,readonly:r,error:i,...a}){let o=n,s=o?.min??0,c=o?.max??100,l=o?.step??1;if(r)return(0,v.jsxs)(`div`,{...it(a,`instead-of-the-inputs`),className:`flex items-center gap-2`,children:[(0,v.jsx)(`span`,{className:`text-sm font-medium`,children:e??s}),(0,v.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[`/ `,c]})]});let{name:u,disabled:d,className:f,...p}=Q(a);return(0,v.jsxs)(`div`,{className:`flex items-center gap-4`,children:[(0,v.jsx)(m.Slider,{name:u,value:[e??s],onValueChange:e=>t(e[0]),min:s,max:c,step:l,disabled:r||a.disabled,className:a.className,thumbProps:{...p,"aria-invalid":!!i}}),(0,v.jsx)(`span`,{className:`text-sm font-medium w-12 text-right`,children:e??s})]})}var lt=o((()=>{$(),ot()})),ut=s({RatingField:()=>dt});function dt({value:e,onChange:t,field:n,readonly:r,className:i,error:a,...o}){let s=n?.max??5,c=e??0,[l,d]=u.default.useState(null),f=l===null?c:l;if(r)return(0,v.jsxs)(`div`,{...it(o,`instead-of-the-inputs`),className:(0,m.cn)(`flex items-center gap-1`,i),children:[Array.from({length:s},(e,t)=>(0,v.jsx)(h.Star,{className:`w-5 h-5 ${t<c?`fill-yellow-400 text-yellow-400`:`text-muted-foreground`}`},t)),(0,v.jsxs)(`span`,{className:`ml-2 text-sm text-muted-foreground`,children:[c,` / `,s]})]});let{"aria-invalid":p,name:g,..._}=Q(o),y=_[`aria-labelledby`]!=null;return(0,v.jsxs)(`div`,{..._,role:y?`group`:void 0,className:(0,m.cn)(`flex items-center gap-1`,i),children:[Array.from({length:s},(e,n)=>(0,v.jsx)(`button`,{type:`button`,onClick:()=>t(n+1),onMouseEnter:()=>d(n+1),onMouseLeave:()=>d(null),className:`focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 rounded`,disabled:r||o.disabled,"aria-invalid":!!a,children:(0,v.jsx)(h.Star,{className:`w-5 h-5 transition-colors ${n<f?`fill-yellow-400 text-yellow-400 hover:fill-yellow-500 hover:text-yellow-500`:`text-muted-foreground hover:text-yellow-400`}`})},n)),(0,v.jsxs)(`span`,{className:`ml-2 text-sm text-muted-foreground`,children:[c,` / `,s]})]})}var ft=o((()=>{$(),ot()})),pt=s({BooleanField:()=>mt});function mt({value:e,onChange:t,field:n,readonly:r,error:i,...a}){let o=n,s=o?.widget,c=(0,u.useId)(),l=a.id,d=l||o?.name||c,f=o?.label||`Checkbox`,p=!l;if(r)return typeof e==`boolean`?(0,v.jsx)(`span`,{className:`text-sm`,children:e?`Yes`:`No`}):(0,v.jsx)(m.EmptyValue,{});let h=Q(a);return s===`checkbox`?(0,v.jsxs)(`div`,{className:`flex items-center space-x-2`,children:[(0,v.jsx)(m.Checkbox,{...h,id:d,checked:!!e,onCheckedChange:e=>t(!!e),disabled:r||h.disabled,"aria-invalid":!!i}),p&&(0,v.jsx)(m.Label,{htmlFor:d,className:`sr-only`,children:f})]}):(0,v.jsxs)(`div`,{className:`flex items-center space-x-2`,children:[(0,v.jsx)(m.Switch,{...h,id:d,checked:!!e,onCheckedChange:t,disabled:r||h.disabled,"aria-invalid":!!i}),p&&(0,v.jsx)(m.Label,{htmlFor:d,className:`sr-only`,children:f})]})}var ht=o((()=>{$()}));function gt({emptyHint:e,gated:t,dependsOnFields:n,testId:r,className:i,hostGroupProps:a,hostControlProps:o}){let{t:s}=Ve(),c=e||(t?s(`fields.options.selectFirst`,{fields:n.join(s(`validation.formInvalidJoiner`))}):s(`fields.options.empty`)),l=(0,m.cn)(`flex w-full items-center rounded-md border border-input bg-muted/30 px-3 py-2 text-sm text-muted-foreground`,i);return o?(0,v.jsx)(`output`,{...o,"data-testid":r,className:l,children:c}):(0,v.jsx)(`div`,{...a,"data-testid":r,className:l,children:c})}var _t=o((()=>{He()}));function vt(e,t,n){let r=(0,u.useMemo)(()=>n??{},[n]),i=(0,g.usePredicateScope)();return(0,u.useMemo)(()=>(0,d.resolveCascadingOptions)(e,r,t,i),[e,r,t,i])}var yt=o((()=>{})),bt=s({MultiSelectField:()=>xt});function xt({value:e,onChange:t,field:n,readonly:r,className:i,dependentValues:a,dependsOn:o,emptyHint:s,dataSource:c,error:l,...f}){let p=n,h=p?.options||[],g=Array.isArray(e)?e:e==null?[]:[e],_=f.name||p?.name||f.id||``,{options:y,gated:b,dependsOnFields:x}=vt(h,n?.dependsOn??o,a);(0,u.useEffect)(()=>{if(r||h.length===0||b||g.length===0)return;let e=g.filter(e=>y.some(t=>t.value===e));e.length!==g.length&&t(e)},[y,b]);let S=it(f,`instead-of-the-inputs`);if(r)return g.length===0?(0,v.jsx)(m.EmptyValue,{...S}):(0,v.jsx)(`div`,{...S,className:`flex flex-wrap gap-1`,children:g.map(e=>{let t=h.find(t=>t.value===e);return(0,v.jsx)(m.Badge,{variant:`outline`,children:t?(0,d.optionDisplayLabel)(t):e},e)})});if(y.length===0)return(0,v.jsx)(gt,{emptyHint:s,gated:b,dependsOnFields:x,testId:_?`multiselect-empty-${_}`:void 0,className:`min-h-9`,hostGroupProps:S});let C=e=>{t(g.includes(e)?g.filter(t=>t!==e):[...g,e])},{"aria-invalid":w,name:T,...E}=Q(f),D=E[`aria-labelledby`]!=null,O=g.length===0?n?.placeholder:void 0;return(0,v.jsxs)(`div`,{...E,role:D?`group`:void 0,className:(0,m.cn)(`flex flex-wrap gap-1.5`,i),"data-testid":_?`multiselect-${_}`:void 0,children:[O?(0,v.jsx)(`span`,{className:`self-center text-sm text-muted-foreground`,children:O}):null,y.map(e=>{let t=String(e.value),n=g.includes(t);return(0,v.jsx)(`button`,{type:`button`,onClick:()=>C(t),disabled:f.disabled,"aria-pressed":n,"aria-invalid":!!l,"data-testid":`multiselect-option-${e.value}`,className:(0,m.cn)(`rounded-full border px-3 py-1 text-sm transition-colors`,n?`border-primary bg-primary text-primary-foreground`:`border-input bg-background text-foreground hover:bg-accent`),children:(0,d.optionDisplayLabel)(e)},t)})]})}var St=o((()=>{$(),ot(),_t(),yt()})),Ct=s({SelectField:()=>wt});function wt(e){return e.field?.multiple?(0,v.jsx)(xt,{...e}):(0,v.jsx)(Tt,{...e})}function Tt({value:e,onChange:t,field:n,readonly:r,error:i,dependentValues:a,dependsOn:o,emptyHint:s,dataSource:c,...l}){let f=n,p=f?.options||[],{t:h}=Ve(),g=l.name||f?.name||l.id||``,{options:_,gated:y,dependsOnFields:b}=vt(p,n?.dependsOn??o,a);if((0,u.useEffect)(()=>{r||p.length!==0&&(y||e!=null&&e!==``&&((0,d.isValueStillOffered)(e,_)||t?.(null)))},[_,y]),r){let t=p.find(t=>t.value===e),n=t?(0,d.optionDisplayLabel)(t):e;return n?(0,v.jsx)(`span`,{className:`text-sm`,children:n}):(0,v.jsx)(m.EmptyValue,{})}if(_.length===0)return(0,v.jsx)(gt,{emptyHint:s,gated:y,dependsOnFields:b,testId:g?`select-empty-${g}`:void 0,className:`h-9`,hostControlProps:at(l)});let{name:x,disabled:S,...C}=Q(l);return(0,v.jsxs)(m.Select,{name:x,value:e===null?``:e,onValueChange:t,disabled:r||l.disabled,children:[(0,v.jsx)(m.SelectTrigger,{...C,"data-testid":g?`select-trigger-${g}`:void 0,"aria-invalid":!!i,children:(0,v.jsx)(m.SelectValue,{placeholder:f?.placeholder||h(`common.selectOption`)})}),(0,v.jsx)(m.SelectContent,{position:`popper`,children:_.map(e=>(0,v.jsx)(m.SelectItem,{value:e.value,"data-testid":`select-option-${e.value}`,children:(0,d.optionDisplayLabel)(e)},e.value))})]})}var Et=o((()=>{He(),$(),St(),_t(),ot(),yt()})),Dt=s({RadioField:()=>Ot});function Ot({value:e,onChange:t,field:n,readonly:r,className:i,dependentValues:a,dependsOn:o,emptyHint:s,dataSource:c,error:l,...f}){let p=n,h=p?.options||[],g=(0,u.useId)(),_=f.name||p?.name||f.id||``,{options:y,gated:b,dependsOnFields:x}=vt(h,n?.dependsOn??o,a);(0,u.useEffect)(()=>{r||h.length!==0&&(b||e!=null&&e!==``&&((0,d.isValueStillOffered)(e,y)||t?.(null)))},[y,b]);let S=it(f,`instead-of-the-inputs`);if(r){if(e==null||e===``)return(0,v.jsx)(m.EmptyValue,{...S});let t=h.find(t=>t.value===e);return(0,v.jsx)(`span`,{...S,className:`text-sm`,children:t?(0,d.optionDisplayLabel)(t):String(e)})}return y.length===0?(0,v.jsx)(gt,{emptyHint:s,gated:b,dependsOnFields:x,testId:_?`radio-empty-${_}`:void 0,className:`min-h-9`,hostGroupProps:S}):(0,v.jsx)(m.RadioGroup,{...Q(f),value:e??``,onValueChange:t,disabled:f.disabled,className:i,"aria-invalid":!!l,children:y.map(e=>{let t=String(e.value),n=`${g}-${t}`;return(0,v.jsxs)(`div`,{className:`flex items-center space-x-2`,children:[(0,v.jsx)(m.RadioGroupItem,{value:t,id:n,"data-testid":`radio-option-${t}`}),(0,v.jsx)(m.Label,{htmlFor:n,className:`font-normal`,children:(0,d.optionDisplayLabel)(e)})]},t)})})}var kt=o((()=>{$(),ot(),_t(),yt()})),At=s({CheckboxesField:()=>jt});function jt({value:e,onChange:t,field:n,readonly:r,className:i,dependentValues:a,dependsOn:o,emptyHint:s,dataSource:c,error:l,...f}){let p=n,h=p?.options||[],g=Array.isArray(e)?e:e==null?[]:[e],_=(0,u.useId)(),y=f.name||p?.name||f.id||``,{options:b,gated:x,dependsOnFields:S}=vt(h,n?.dependsOn??o,a);(0,u.useEffect)(()=>{if(r||h.length===0||x||g.length===0)return;let e=g.filter(e=>b.some(t=>t.value===e));e.length!==g.length&&t(e)},[b,x]);let C=it(f,`instead-of-the-inputs`);if(r)return g.length===0?(0,v.jsx)(m.EmptyValue,{...C}):(0,v.jsx)(`div`,{...C,className:`flex flex-wrap gap-1`,children:g.map(e=>{let t=h.find(t=>t.value===e);return(0,v.jsx)(m.Badge,{variant:`outline`,children:t?(0,d.optionDisplayLabel)(t):e},e)})});if(b.length===0)return(0,v.jsx)(gt,{emptyHint:s,gated:x,dependsOnFields:S,testId:y?`checkboxes-empty-${y}`:void 0,className:`min-h-9`,hostGroupProps:C});let w=(e,n)=>{t(n?[...g.filter(t=>t!==e),e]:g.filter(t=>t!==e))},{"aria-invalid":T,name:E,...D}=Q(f),O=D[`aria-labelledby`]!=null;return(0,v.jsx)(`div`,{...D,role:O?`group`:void 0,className:i,"data-testid":y?`checkboxes-${y}`:void 0,children:b.map(e=>{let t=String(e.value),n=`${_}-${t}`;return(0,v.jsxs)(`div`,{className:`flex items-center space-x-2 py-0.5`,children:[(0,v.jsx)(m.Checkbox,{id:n,checked:g.includes(t),onCheckedChange:e=>w(t,!!e),disabled:f.disabled,"aria-invalid":!!l,"data-testid":`checkboxes-option-${t}`}),(0,v.jsx)(m.Label,{htmlFor:n,className:`font-normal`,children:(0,d.optionDisplayLabel)(e)})]},t)})})}var Mt=o((()=>{$(),ot(),_t(),yt()})),Nt=s({TagsField:()=>Pt});function Pt({value:e,onChange:t,field:n,readonly:r,className:i,error:a,...o}){let s=Array.isArray(e)?e:e==null?[]:[e],[c,l]=u.default.useState(``),{t:d}=Ve();if(r)return s.length===0?(0,v.jsx)(m.EmptyValue,{}):(0,v.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:s.map(e=>(0,v.jsx)(m.Badge,{variant:`secondary`,children:e},e))});let f=e=>{let n=e.trim();n&&!s.includes(n)&&(t([...s,n]),l(``))},p=e=>t(s.filter(t=>t!==e)),h=Q(o),g=e=>{f(c),h.onBlur?.(e)},_=e=>{e.key===`Enter`||e.key===`,`?(e.preventDefault(),f(c)):e.key===`Backspace`&&c===``&&s.length>0&&p(s[s.length-1])};return(0,v.jsxs)(`div`,{className:(0,m.cn)(`flex flex-wrap items-center gap-1.5 rounded-md border border-input bg-background p-1.5`,i),children:[s.map(e=>(0,v.jsxs)(m.Badge,{variant:`secondary`,className:`gap-1`,children:[e,(0,v.jsx)(`button`,{type:`button`,onClick:()=>p(e),className:`ml-0.5 rounded-full text-muted-foreground hover:text-foreground`,"aria-label":`Remove ${e}`,children:`×`})]},e)),(0,v.jsx)(m.Input,{...h,value:c,onChange:e=>l(e.target.value),onKeyDown:_,onBlur:g,disabled:o.disabled,placeholder:s.length===0?n?.placeholder||d(`fields.tags.placeholder`):``,className:`h-7 flex-1 border-0 bg-transparent p-0 px-1 shadow-none focus-visible:ring-0 min-w-[8ch]`,"aria-invalid":!!a})]})}var Ft=o((()=>{$(),He()}));function It(e){if(!(e.disabled||e.readOnly))try{e.showPicker?.()}catch{}}var Lt=o((()=>{})),Rt=o((()=>{})),zt=s({DateField:()=>Bt});function Bt({value:e,onChange:t,field:n,readonly:r,error:i,...a}){let o=(0,p.useDisplayLocale)(),{t:s}=Ve(),c=u.default.useId();if(r)return!e||isNaN((0,d.toDisplayDate)(e).getTime())?(0,v.jsx)(m.EmptyValue,{}):(0,v.jsx)(`span`,{className:`text-sm`,children:(0,d.formatDate)(e,void 0,{locale:o})});let l=Q(a),f=(0,d.isImpossibleStoredDay)(e),h=f?[l[`aria-describedby`],c].filter(Boolean).join(` `):l[`aria-describedby`],g=(0,v.jsx)(m.Input,{...l,type:`date`,value:f?``:(0,d.toDateInputValue)(e),onChange:e=>t(e.target.value),onClick:e=>{It(e.currentTarget),l.onClick?.(e)},disabled:r||l.disabled,"aria-invalid":!!i||f,"aria-describedby":h});return f?(0,v.jsxs)(`div`,{className:`space-y-1`,children:[g,(0,v.jsx)(`p`,{id:c,className:`text-xs text-destructive`,"data-testid":`date-impossible-day`,children:s(`fields.date.impossibleDay`,{value:String(e)})})]}):g}var Vt=o((()=>{$(),Lt(),Rt(),He()})),Ht=s({DateTimeField:()=>Ut});function Ut({value:e,onChange:t,field:n,readonly:r,error:i,...a}){let o=(0,p.useDisplayLocale)(),{t:s}=Ve(),c=u.default.useId();if(r)return e?(0,v.jsx)(`span`,{className:`text-sm`,children:(0,d.formatDateTime)(e,{locale:o})}):(0,v.jsx)(m.EmptyValue,{});let l=Q(a),f=(0,d.isImpossibleStoredDay)(e),h=f?[l[`aria-describedby`],c].filter(Boolean).join(` `):l[`aria-describedby`],g=(0,v.jsx)(m.Input,{...l,type:`datetime-local`,value:(0,d.toDateTimeInputValue)(e),onChange:e=>t((0,d.fromDateTimeInputValue)(e.target.value)),onClick:e=>{It(e.currentTarget),l.onClick?.(e)},disabled:r||l.disabled,"aria-invalid":!!i||f,"aria-describedby":h});return f?(0,v.jsxs)(`div`,{className:`space-y-1`,children:[g,(0,v.jsx)(`p`,{id:c,className:`text-xs text-destructive`,"data-testid":`datetime-impossible-day`,children:s(`fields.dateTime.impossibleDay`,{value:String(e)})})]}):g}var Wt=o((()=>{$(),Lt(),Rt(),He()})),Gt=s({TimeField:()=>Kt});function Kt({value:e,onChange:t,field:n,readonly:r,error:i,...a}){if(r)return(0,v.jsx)(`span`,{className:`text-sm`,children:e||(0,v.jsx)(m.EmptyValue,{})});let o=Q(a);return(0,v.jsx)(m.Input,{...o,type:`time`,value:e||``,onChange:e=>t(e.target.value),onClick:e=>{It(e.currentTarget),o.onClick?.(e)},disabled:r||o.disabled,"aria-invalid":!!i})}var qt=o((()=>{$(),Lt()})),Jt=s({EmailField:()=>Yt});function Yt({value:e,onChange:t,field:n,readonly:r,error:i,...a}){let o=n;if(r)return e?(0,v.jsx)(`a`,{href:`mailto:${e}`,className:`text-sm text-blue-600 hover:text-blue-800 hover:underline`,children:e}):(0,v.jsx)(m.EmptyValue,{});let s=Q(a);return(0,v.jsx)(m.Input,{...s,type:`email`,value:e||``,onChange:e=>t(e.target.value),placeholder:o?.placeholder||`email@example.com`,disabled:r||s.disabled,"aria-invalid":!!i})}var Xt=o((()=>{$()})),Zt=s({PhoneField:()=>Qt});function Qt({value:e,onChange:t,field:n,readonly:r,error:i,...a}){let o=n;if(r)return e?(0,v.jsx)(`a`,{href:`tel:${e}`,className:`text-sm text-blue-600 hover:text-blue-800 hover:underline`,children:e}):(0,v.jsx)(m.EmptyValue,{});let s=Q(a);return(0,v.jsx)(m.Input,{...s,type:`tel`,value:e||``,onChange:e=>t(e.target.value),placeholder:o?.placeholder||`(555) 123-4567`,disabled:r||s.disabled,"aria-invalid":!!i})}var $t=o((()=>{$()})),en=s({UrlField:()=>tn});function tn({value:e,onChange:t,field:n,readonly:r,error:i,...a}){let o=n;if(r)return e?e.startsWith(`http://`)||e.startsWith(`https://`)?(0,v.jsx)(`a`,{href:e,target:`_blank`,rel:`noopener noreferrer`,className:`text-sm text-blue-600 hover:text-blue-800 hover:underline`,children:e}):(0,v.jsx)(`span`,{className:`text-sm`,children:e}):(0,v.jsx)(m.EmptyValue,{});let s=Q(a);return(0,v.jsx)(m.Input,{...s,type:`url`,value:e||``,onChange:e=>t(e.target.value),placeholder:o?.placeholder||`https://example.com`,disabled:r||s.disabled,"aria-invalid":!!i})}var nn=o((()=>{$()}));function rn(e){return e==null?!1:Array.isArray(e)?e.length>0:typeof e==`object`&&Object.keys(e).length>0}function an(e){let{dataSource:t,objectName:n,enabled:r=!0,pageSize:i=50,paginate:a=!1,filter:o,expand:s,searchFields:c,debounceMs:l=300}=e,[d,f]=(0,u.useState)([]),[p,m]=(0,u.useState)(!1),[h,g]=(0,u.useState)(null),[_,v]=(0,u.useState)(0),[y,b]=(0,u.useState)(1),[x,S]=(0,u.useState)(``),[C,w]=(0,u.useState)(null),T=(0,u.useRef)(null),E=(0,u.useRef)(0),D=(0,u.useCallback)(()=>{T.current&&=(clearTimeout(T.current),null)},[]),O=(0,u.useMemo)(()=>rn(o)?JSON.stringify(o):``,[o]),k=(0,u.useMemo)(()=>s?.length?s.join(`,`):``,[s]),ee=(0,u.useMemo)(()=>c?.length?c.join(`,`):``,[c]),A=!!r&&!!t&&typeof t.find==`function`&&!!n,j=(0,u.useCallback)(async(e,r,l)=>{if(!A||!t||!n)return;let u=++E.current,d=()=>E.current===u;m(!0),g(null);try{let u={$top:i};a&&(u.$skip=(r-1)*i),e&&e.trim()&&(u.$search=e.trim()),c&&c.length>0&&(u.$searchFields=c),l&&(u.$orderby={[l.field]:l.direction}),rn(o)&&(u.$filter=o),s&&s.length>0&&(u.$expand=s);let p=await t.find(n,u);if(!d())return;let m=p?.data??p??[];f(m),v(p?.total??m.length)}catch(e){if(!d())return;g(e instanceof Error?e.message:String(e)),f([])}finally{d()&&m(!1)}},[A,t,n,i,a,O,k,ee]);(0,u.useEffect)(()=>{A&&j(x,y,C)},[A,y,C,j]);let M=(0,u.useCallback)(()=>{E.current+=1,D(),m(!1),f([]),g(null),S(``),b(1),w(null)},[D]);(0,u.useEffect)(()=>{A||M()},[A,M]),(0,u.useEffect)(()=>()=>D(),[j,y,C,D]);let N=(0,u.useCallback)(e=>{S(e),b(1),D(),T.current=setTimeout(()=>{j(e,1,C)},l)},[j,C,l,D]),P=(0,u.useCallback)(e=>{b(e)},[]),F=(0,u.useCallback)(e=>{w(t=>t&&t.field===e?{field:e,direction:t.direction===`asc`?`desc`:`asc`}:{field:e,direction:`asc`}),b(1)},[]),I=(0,u.useCallback)(e=>{w(e),b(1)},[]),te=(0,u.useCallback)(()=>{j(x,y,C)},[j,x,y,C]);return{records:d,loading:p,error:h,total:_,totalPages:Math.max(1,Math.ceil(_/Math.max(1,i))),page:y,search:x,sort:C,setPage:P,setSearch:N,toggleSort:F,setSort:I,reset:M,refetch:te}}var on=o((()=>{}));function sn(e){return typeof e==`string`?{field:e}:e}function cn(e){return e.replace(/_/g,` `).replace(/([a-z])([A-Z])/g,`$1 $2`).replace(/\b\w/g,e=>e.toUpperCase())}function ln(e,t,n,r){let i=e?.options;if(!Array.isArray(i)||i.length===0)return;let a=i;return t?r(t,n,a):a}function un(e,t,n,r){let i={};for(let a of e){let e=t?.[a.field],o=a.type??e?.type;if(!o)continue;let s=e?{...e,name:a.field,type:o}:{name:a.field,type:o},c=ln(e,n,a.field,r);c&&(s.options=c),i[a.field]=s}return i}function dn(e,t,n){let{descriptors:r,cellRenderer:i,objectSchema:a,titleField:o,displayField:s,displayLocale:c}=n;if(a&&t.field===s){let t=(0,d.getRecordDisplayName)(a,e,{titleField:o}),n=e?.id??e?._id;if(!(t===`Untitled`||n!=null&&t===`Record #${n}`))return t}let l=e?.[t.field],u=r[t.field];if(u&&i){let e=i(u.type);if(e)return(0,v.jsx)(e,{value:l,field:u})}return l==null?``:typeof l==`object`?l.$numberDecimal?String(Number(l.$numberDecimal)):l.$oid?String(l.$oid):l.$date?(0,d.formatDate)(l.$date,void 0,{locale:c}):l.name||l.label?String(l.name||l.label):JSON.stringify(l):typeof l==`boolean`?l?`Yes`:`No`:String(l)}var fn=o((()=>{}));function pn(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}}return t}function mn(e){return e==null?void 0:String(e)}function hn(e,t){let n=e?.find(e=>String(e.value)===t);return n?n.value:t}function gn(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 _n({open:e,onOpenChange:t,title:n=`Select Record`,multiple:r=!1,dataSource:i,objectName:a,columns:o,displayField:s,objectSchema:c,idField:l=`id`,pageSize:f=vn,value:g,onSelect:y,onSelectRecords:b,lookupFilters:x,baseFilter:S,cellRenderer:C,fieldsMeta:w,filterColumns:T,renderFilterBar:E,renderGrid:D}){let O=s??`name`,{t:k}=Ve(),{translateOptions:ee}=(0,p.useSafeFieldLabel)(),A=(0,p.useDisplayLocale)(),[j,M]=(0,u.useState)(new Set),N=(0,u.useRef)(new Map),[P,F]=(0,u.useState)(-1),I=(0,u.useRef)(null),[te,L]=(0,u.useState)(!1),[R,ne]=(0,u.useState)({}),[z,re]=(0,u.useState)({}),B=(0,u.useRef)(null),[ie,ae]=(0,u.useState)(``),oe=(0,u.useMemo)(()=>o&&o.length>0?o.map(sn):[{field:O,label:cn(O)}],[o,O]),V=(0,u.useMemo)(()=>un(oe,w,a,ee),[oe,w,a,ee]),H=(0,_.usePermissions)(),se=(0,u.useMemo)(()=>{let e=oe.filter(e=>e.field!==l);if(e.length===0)return[];let t=(0,d.buildExpandFields)(w,e);return H.isLoaded?t.filter(e=>H.checkField(a,e,`read`)):t},[w,oe,l,H,a]),ce=(0,u.useMemo)(()=>{if(!H.isLoaded)return oe;let e=oe.filter(e=>e.field===l||H.checkField(a,e.field,`read`));return e.length>0?e:[{field:l,label:cn(l)}]},[oe,H,a,l]),le=(0,u.useMemo)(()=>{if(T&&T.length>0)return T;if(x&&x.length>0)return x.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:cn(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}})}:{}}})},[T,x]),U=(0,u.useMemo)(()=>{if(le)return le.map(e=>{if(e.type!==`select`||e.options&&e.options.length>0)return e;let t=ln(w?.[e.field],a,e.field,ee);return t?{...e,options:t}:e})},[le,w,a,ee]),ue=(0,u.useMemo)(()=>{let e=x?.length?pn(x):{},t=U?.length?gn(R,U):{},n=Array.isArray(S)?S:void 0,r=n?void 0:S,i={...e,...t,...r??{}},a=Object.keys(i).length>0?i:void 0;if(!n)return{ok:!0,node:a};let o=(0,d.toFilterNodeSafely)(a);if(!o.ok)return o;let s=(0,d.toFilterNodeSafely)(n);return s.ok?{ok:!0,node:(0,d.mergeFilterNodes)(o.node,s.node)}:s},[x,U,R,S]),W=ue.ok?void 0:ue.refusal,G=an({dataSource:i,objectName:a,enabled:e&&ue.ok,pageSize:f,paginate:!0,filter:ue.ok?ue.node:void 0,expand:se}),{records:K,loading:q}=G,J=W?W.message:G.error,de=G.total,fe=G.totalPages,Y=G.search,X=G.page,pe=G.sort?.field??null,Z=G.sort?.direction??`asc`,me=G.setPage,he=G.toggleSort,ge=G.setSearch;(0,u.useEffect)(()=>{e||(F(-1),L(!1),ne({}),re({}),ae(``),M(new Set(r&&Array.isArray(g)?g:[])),N.current.clear())},[e]),(0,u.useEffect)(()=>{e&&r&&M(new Set(Array.isArray(g)?g:[]))},[e,r,g]),(0,u.useEffect)(()=>{F(-1)},[K]);let _e=(0,u.useCallback)(e=>e[l]??e.id??e._id,[l]),ve=(0,u.useCallback)(e=>{let t=_e(e);return r?j.has(t):g===t},[r,g,j,_e]),ye=(0,u.useCallback)(e=>{let n=_e(e),i=(0,d.toPredicateRecord)(e,w);r?M(e=>{let t=new Set(e);return t.has(n)?(t.delete(n),N.current.delete(n)):(t.add(n),N.current.set(n,i)),t}):(y(n),b?.([i]),t(!1))},[r,_e,w,y,b,t]),be=(0,u.useCallback)(()=>{let e=Array.from(j);y(e);let n=e.map(e=>N.current.get(e)).filter(Boolean);b?.(n),t(!1)},[j,y,b,t]),xe=(0,u.useCallback)(()=>{me(Math.max(1,X-1))},[me,X]),Se=(0,u.useCallback)(()=>{me(Math.min(fe,X+1))},[me,X,fe]),Ce=(0,u.useCallback)(e=>{if(e.key!==`Enter`)return;let t=parseInt(ie,10);!isNaN(t)&&t>=1&&t<=fe&&me(t),ae(``)},[ie,fe]),we=(0,u.useCallback)(e=>{K.length!==0&&(e.key===`ArrowDown`?(e.preventDefault(),F(e=>Math.min(e+1,K.length-1))):e.key===`ArrowUp`?(e.preventDefault(),F(e=>Math.max(e-1,0))):(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),P>=0&&P<K.length&&ye(K[P])))},[K,P,ye]);(0,u.useEffect)(()=>{if(P>=0&&I.current){let e=I.current.querySelector(`[data-row-index="${P}"]`);e&&typeof e.scrollIntoView==`function`&&e.scrollIntoView({block:`nearest`})}},[P]);let Te=(0,u.useCallback)((e,t)=>dn(c&&t.field===O?(0,d.withoutDeniedFields)((0,d.toPredicateRecord)(e,w),H,a,[l]):e,t,{descriptors:V,cellRenderer:C,objectSchema:c,titleField:s,displayField:O,displayLocale:A}),[C,c,s,O,w,V,A,H,a,l]),Ee=(0,u.useCallback)(e=>pe===e?Z===`asc`?(0,v.jsx)(h.ArrowUp,{className:`ml-1 size-3`}):(0,v.jsx)(h.ArrowDown,{className:`ml-1 size-3`}):(0,v.jsx)(h.ArrowUpDown,{className:`ml-1 size-3 opacity-40`}),[pe,Z]),De=(0,u.useCallback)((e,t,n)=>{e.preventDefault(),e.stopPropagation(),B.current={field:t,startX:e.clientX,startWidth:n};let r=e=>{if(!B.current)return;let t=e.clientX-B.current.startX,n=Math.max(yn,B.current.startWidth+t);re(e=>({...e,[B.current.field]:n}))},i=()=>{B.current=null,document.removeEventListener(`mousemove`,r),document.removeEventListener(`mouseup`,i)};document.addEventListener(`mousemove`,r),document.addEventListener(`mouseup`,i)},[]),Oe=(0,u.useCallback)((e,t)=>{ne(n=>({...n,[e]:t})),me(1)},[]),Q=(0,u.useCallback)(()=>{ne({}),me(1)},[]),ke=(0,u.useMemo)(()=>Object.values(R).filter(e=>e!=null&&e!==``).length,[R]),$=(0,u.useCallback)(e=>{let t=R[e.field],n=e.label||cn(e.field);switch(e.type){case`select`:return(0,v.jsxs)(`div`,{className:`space-y-1`,children:[(0,v.jsx)(m.Label,{className:`text-xs text-muted-foreground`,children:n}),(0,v.jsxs)(m.Select,{value:mn(t)??``,onValueChange:t=>Oe(e.field,hn(e.options,t)),children:[(0,v.jsx)(m.SelectTrigger,{className:`h-8 text-xs`,children:(0,v.jsx)(m.SelectValue,{placeholder:k(`lookup.filterPlaceholder`,{label:n})})}),(0,v.jsx)(m.SelectContent,{children:e.options?.map(e=>(0,v.jsx)(m.SelectItem,{value:String(e.value),children:e.label},String(e.value)))})]})]});case`number`:return(0,v.jsxs)(`div`,{className:`space-y-1`,children:[(0,v.jsx)(m.Label,{className:`text-xs text-muted-foreground`,children:n}),(0,v.jsx)(m.Input,{type:`number`,className:`h-8 text-xs`,value:t??``,placeholder:k(`lookup.filterPlaceholder`,{label:n}),onChange:t=>{let n=t.target.value;Oe(e.field,n===``?``:Number(n))}})]});case`date`:return(0,v.jsxs)(`div`,{className:`space-y-1`,children:[(0,v.jsx)(m.Label,{className:`text-xs text-muted-foreground`,children:n}),(0,v.jsx)(m.Input,{type:`date`,className:`h-8 text-xs`,value:t??``,onChange:t=>Oe(e.field,t.target.value)})]});case`boolean`:return(0,v.jsxs)(`div`,{className:`space-y-1`,children:[(0,v.jsx)(m.Label,{className:`text-xs text-muted-foreground`,children:n}),(0,v.jsxs)(`div`,{className:`flex items-center gap-2 h-8`,children:[(0,v.jsx)(m.Checkbox,{checked:!!t,onCheckedChange:t=>Oe(e.field,!!t)}),(0,v.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:k(`lookup.yes`)})]})]});default:return(0,v.jsxs)(`div`,{className:`space-y-1`,children:[(0,v.jsx)(m.Label,{className:`text-xs text-muted-foreground`,children:n}),(0,v.jsx)(m.Input,{className:`h-8 text-xs`,value:t??``,placeholder:k(`lookup.filterPlaceholder`,{label:n}),onChange:t=>Oe(e.field,t.target.value)})]})}},[R,Oe]),Ae=(0,u.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,v.jsx)(m.Dialog,{open:e,onOpenChange:t,children:(0,v.jsxs)(m.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,v.jsx)(m.DialogHeader,{children:(0,v.jsxs)(m.DialogTitle,{children:[n,r&&(0,v.jsx)(`span`,{className:`sr-only`,children:` (multiple selection)`})]})}),(0,v.jsxs)(`div`,{className:`relative rounded-md border bg-muted/30 mb-3`,children:[(0,v.jsx)(h.Search,{className:`absolute left-3 top-1/2 -translate-y-1/2 size-4 text-muted-foreground`}),(0,v.jsx)(m.Input,{placeholder:k(`table.search`),value:Y,onChange:e=>ge(e.target.value),className:`pl-9 border-0 bg-transparent shadow-none focus-visible:ring-0`,"data-testid":`record-picker-search`}),q&&(0,v.jsx)(h.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`})]}),U&&U.length>0&&(0,v.jsx)(`div`,{className:`py-2`,children:E?(0,v.jsx)(`div`,{"data-testid":`record-picker-filter-bar`,children:E({filterColumns:U,values:R,onChange:Oe,onClear:Q,activeCount:ke})}):(0,v.jsxs)(v.Fragment,{children:[(0,v.jsxs)(`div`,{className:`flex items-center gap-2`,"data-testid":`record-picker-filter-bar`,children:[(0,v.jsxs)(m.Button,{type:`button`,variant:ke>0?`secondary`:`outline`,size:`sm`,className:`gap-1.5 shrink-0`,onClick:()=>L(e=>!e),children:[(0,v.jsx)(h.SlidersHorizontal,{className:`size-3.5`}),k(`lookup.filters`),ke>0&&(0,v.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:ke})]}),ke>0&&(0,v.jsxs)(m.Button,{type:`button`,variant:`ghost`,size:`sm`,className:`gap-1 text-xs`,onClick:Q,children:[(0,v.jsx)(h.X,{className:`size-3`}),k(`lookup.clear`)]})]}),te&&(0,v.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:U.map(e=>(0,v.jsx)(`div`,{children:$(e)},e.field))})]})}),J&&(0,v.jsxs)(`div`,{className:`flex flex-col items-center gap-2 py-4`,role:`alert`,children:[(0,v.jsx)(h.AlertCircle,{className:`size-5 text-destructive`}),(0,v.jsx)(`p`,{className:`text-sm text-destructive`,children:J}),W?null:(0,v.jsx)(m.Button,{variant:`outline`,size:`sm`,onClick:()=>G.refetch(),type:`button`,children:k(`lookup.retry`)})]}),D?(0,v.jsx)(`div`,{className:`flex-1 min-h-0`,"data-testid":`record-picker-grid-slot`,children:D({columns:ce,records:K,loading:q,totalCount:de,currentPage:X,pageSize:f,sortField:pe,sortDirection:Z,onSort:he,onPageChange:me,onRowClick:ye,isSelected:ve,multiple:r,idField:l,cellRenderer:C})}):(0,v.jsxs)(v.Fragment,{children:[q&&K.length===0&&!J&&(0,v.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,v.jsxs)(m.Table,{children:[(0,v.jsx)(m.TableHeader,{children:(0,v.jsxs)(m.TableRow,{className:`bg-muted/40`,children:[r&&(0,v.jsx)(m.TableHead,{className:`w-10`}),ce.map(e=>(0,v.jsx)(m.TableHead,{children:(0,v.jsx)(m.Skeleton,{className:`h-4 w-20`})},e.field))]})}),(0,v.jsx)(m.TableBody,{children:Array.from({length:bn},(e,t)=>(0,v.jsxs)(m.TableRow,{children:[r&&(0,v.jsx)(m.TableCell,{className:`w-10`,children:(0,v.jsx)(m.Skeleton,{className:`size-4 rounded`})}),ce.map(e=>(0,v.jsx)(m.TableCell,{children:(0,v.jsx)(m.Skeleton,{className:`h-4 w-full`})},e.field))]},t))})]})}),!q&&!J&&K.length===0&&(0,v.jsx)(`div`,{className:`py-8 text-center`,children:(0,v.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:k(`lookup.noRecords`)})}),!J&&K.length>0&&(0,v.jsxs)(`div`,{className:`relative flex-1 overflow-auto min-h-0 border rounded-md`,"aria-busy":q||void 0,"data-state":q?`loading`:`idle`,tabIndex:0,onKeyDown:we,role:`grid`,"aria-label":`Records`,children:[q&&(0,v.jsx)(`div`,{className:`absolute inset-0 z-10 flex items-center justify-center bg-background/60`,"data-testid":`record-picker-loading-overlay`,children:(0,v.jsx)(h.Loader2,{className:`size-6 animate-spin text-muted-foreground`})}),(0,v.jsxs)(m.Table,{style:Object.keys(z).length>0?{tableLayout:`fixed`}:void 0,children:[(0,v.jsx)(m.TableHeader,{className:`sticky top-0 z-[5] bg-muted/50 [&_tr]:border-b`,"data-testid":`record-picker-sticky-header`,children:(0,v.jsxs)(m.TableRow,{children:[r&&(0,v.jsx)(m.TableHead,{className:`w-10`}),ce.map(e=>{let t=z[e.field],n=t?{width:`${t}px`,minWidth:`${t}px`}:e.width?{width:e.width}:void 0;return(0,v.jsxs)(m.TableHead,{style:n,className:`cursor-pointer select-none relative group text-xs font-semibold uppercase tracking-wider`,onClick:()=>he(e.field),"aria-sort":pe===e.field?Z===`asc`?`ascending`:`descending`:`none`,children:[(0,v.jsxs)(`span`,{className:`inline-flex items-center`,children:[e.label||cn(e.field),Ee(e.field)]}),(0,v.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();De(t,e.field,n?.width??100)},onClick:e=>e.stopPropagation(),"data-testid":`resize-handle-${e.field}`})]},e.field)})]})}),(0,v.jsx)(m.TableBody,{ref:I,children:K.map((e,t)=>{let n=_e(e),i=ve(e),a=t===P;return(0,v.jsxs)(m.TableRow,{"data-row-index":t,className:(0,m.cn)(`cursor-pointer transition-colors`,Ae(i,t),a&&`ring-2 ring-primary ring-inset`),onClick:()=>ye(e),"data-testid":`record-row-${n}`,"aria-selected":i,children:[r&&(0,v.jsx)(m.TableCell,{className:`w-10`,children:i&&(0,v.jsx)(h.Check,{className:`size-4 text-primary`})}),ce.map(t=>(0,v.jsx)(m.TableCell,{className:`py-2.5`,"data-lookup-cell":t.field,children:Te(e,t)},t.field))]},n??t)})})]})]}),!J&&de>0&&(0,v.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,v.jsxs)(`span`,{children:[k(`lookup.recordCount`,{count:de}),fe>1&&` · ${k(`lookup.pageOf`,{current:X,total:fe})}`]}),fe>1&&(0,v.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,v.jsx)(m.Button,{variant:`outline`,size:`icon`,className:`size-7`,onClick:xe,disabled:X<=1,type:`button`,"aria-label":k(`lookup.prevPage`),children:(0,v.jsx)(h.ChevronLeft,{className:`size-4`})}),(0,v.jsx)(m.Input,{className:`h-7 w-12 text-center text-xs px-1`,placeholder:String(X),value:ie,onChange:e=>ae(e.target.value),onKeyDown:Ce,"aria-label":k(`lookup.jumpToPage`),"data-testid":`record-picker-page-jump`}),(0,v.jsx)(m.Button,{variant:`outline`,size:`icon`,className:`size-7`,onClick:Se,disabled:X>=fe,type:`button`,"aria-label":k(`lookup.nextPage`),children:(0,v.jsx)(h.ChevronRight,{className:`size-4`})})]})]})]}),r&&(0,v.jsx)(m.DialogFooter,{children:(0,v.jsxs)(`div`,{className:`flex items-center gap-2 w-full justify-between`,children:[(0,v.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:k(`table.selected`,{count:j.size})}),(0,v.jsxs)(`div`,{className:`flex gap-2`,children:[(0,v.jsx)(m.Button,{variant:`outline`,type:`button`,onClick:()=>t(!1),children:k(`common.cancel`)}),(0,v.jsx)(m.Button,{type:`button`,onClick:be,children:k(`common.confirm`)})]})]})})]})})}var vn,yn,bn,xn=o((()=>{He(),on(),fn(),vn=10,yn=60,bn=5}));function Sn(e,t){if(e&&t)return t.includes(`.`)?t.split(`.`).reduce((e,t)=>e==null?e:e[t],e):e[t]}function Cn(e=`name`){return[e,`name`,`username`,`label`]}function wn(e,t=`name`){if(e==null)return``;if(typeof e!=`object`)return String(e);let n=typeof t==`string`?Cn(t):t;for(let t of n)if(e[t]!=null)return String(e[t]);return``}function Tn(e){let t=(e||``).trim();if(!t)return`?`;let n=t.split(/\s+/).filter(Boolean);if(n.length>=2)return(n[0][0]+n[n.length-1][0]).toUpperCase();let r=n[0];return/[㐀-鿿]/.test(r)?r.length<=2?r:r.slice(-2):r.slice(0,2).toUpperCase()}function En(e,t){return!e||!t||t.length===0?``:t.map(t=>Sn(e,t)).filter(e=>e!=null&&e!==``).map(e=>String(e)).join(` · `)}function Dn(e,t=`image`){let n=e&&t?Sn(e,t):void 0;return n?String(n):void 0}function On(e,t=`id`){return!e||typeof e!=`object`?e:e[t]??e.id??e._id}function kn(e,t){let n=e??``,r=(t??``).trim().toLowerCase();if(!r||!n)return[];let i=n.toLowerCase(),a=[],o=0;for(;;){let e=i.indexOf(r,o);if(e===-1)break;a.push([e,e+r.length]),o=e+r.length}return a}var An=o((()=>{}));function jn({text:e,query:t}){let n=t?kn(e,t):[];if(n.length===0)return(0,v.jsx)(v.Fragment,{children:e});let r=[],i=0;return n.forEach(([t,n],a)=>{t>i&&r.push(e.slice(i,t)),r.push((0,v.jsx)(`mark`,{className:`rounded-[2px] bg-primary/20 px-px text-inherit`,children:e.slice(t,n)},a)),i=n}),i<e.length&&r.push(e.slice(i)),(0,v.jsx)(v.Fragment,{children:r})}function Mn({record:e,displayField:t=`name`,nameFields:n,subtitleFields:r,avatarField:i=`image`,selected:a=!1,active:o=!1,highlightQuery:s,onSelect:c,className:l}){let d=wn(e,n??t),f=En(e,r),p=Dn(e,i),g=Tn(d),_=(0,u.useRef)(null);return(0,u.useEffect)(()=>{o&&_.current?.scrollIntoView?.({block:`nearest`})},[o]),(0,v.jsxs)(`button`,{ref:_,type:`button`,tabIndex:-1,onClick:()=>c?.(e),"aria-pressed":a,"data-testid":`person-row`,"data-active":o||void 0,className:(0,m.cn)(`flex w-full items-center gap-3 rounded-md px-2 py-1.5 text-left transition-colors`,`hover:bg-accent focus-visible:outline-none`,a&&`bg-accent`,o&&`bg-accent ring-1 ring-inset ring-ring`,l),children:[(0,v.jsxs)(m.Avatar,{className:`size-9 shrink-0`,children:[p&&(0,v.jsx)(m.AvatarImage,{src:p,alt:d}),(0,v.jsx)(m.AvatarFallback,{className:`text-xs`,children:g})]}),(0,v.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,v.jsx)(`div`,{className:`truncate text-sm font-medium`,children:d?(0,v.jsx)(jn,{text:d,query:s}):`—`}),f&&(0,v.jsx)(`div`,{className:`truncate text-xs text-muted-foreground`,children:(0,v.jsx)(jn,{text:f,query:s})})]}),a&&(0,v.jsx)(h.Check,{className:`size-4 shrink-0 text-primary`,"aria-hidden":!0})]})}var Nn=o((()=>{An()}));function Pn({records:e,onRemove:t,displayField:n=`name`,nameFields:r,avatarField:i=`image`,idField:a=`id`,label:o,onClear:s,clearLabel:c,emptyText:l,className:u}){let d=!!o||!!s&&e.length>0;return(0,v.jsxs)(`div`,{className:(0,m.cn)(`flex flex-col gap-1.5`,u),"data-testid":`selection-tray`,children:[d&&(0,v.jsxs)(`div`,{className:`flex items-center justify-between`,children:[o&&(0,v.jsx)(`div`,{className:`text-xs font-medium text-muted-foreground`,children:o}),s&&e.length>0&&(0,v.jsx)(`button`,{type:`button`,onClick:s,className:`text-xs text-muted-foreground transition-colors hover:text-foreground`,"data-testid":`selection-clear`,children:c??`Clear all`})]}),e.length===0?(0,v.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:l??``}):(0,v.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:e.map(e=>{let o=On(e,a),s=wn(e,r??n),c=Dn(e,i),l=Tn(s);return(0,v.jsxs)(`span`,{"data-testid":`selection-chip`,className:`inline-flex items-center gap-1.5 rounded-full border bg-background py-0.5 pl-0.5 pr-1.5 text-sm`,children:[(0,v.jsxs)(m.Avatar,{className:`size-6 shrink-0`,children:[c&&(0,v.jsx)(m.AvatarImage,{src:c,alt:s}),(0,v.jsx)(m.AvatarFallback,{className:`text-[10px]`,children:l})]}),(0,v.jsx)(`span`,{className:`max-w-[10rem] truncate`,children:s||`—`}),(0,v.jsx)(`button`,{type:`button`,onClick:()=>t(o),"aria-label":`Remove ${s}`,className:`rounded-full p-0.5 text-muted-foreground transition-colors hover:bg-accent hover:text-foreground`,children:(0,v.jsx)(h.X,{className:`size-3.5`,"aria-hidden":!0})})]},String(o))})})]})}var Fn=o((()=>{An()}));function In(){try{return typeof localStorage<`u`?localStorage:null}catch{return null}}function Ln(e){let t=In();if(!e||!t)return[];try{let n=t.getItem(zn+e);if(!n)return[];let r=JSON.parse(n);return Array.isArray(r)?r.slice(0,Bn):[]}catch{return[]}}function Rn(e,t){let n=In();if(e&&t!=null&&t!==``&&n)try{let r=[t,...Ln(e).filter(e=>e!==t)].slice(0,Bn);n.setItem(zn+e,JSON.stringify(r))}catch{}}var zn,Bn,Vn=o((()=>{zn=`objectui:lookup:recent:`,Bn=5}));function Hn({open:e,onOpenChange:t,title:n,multiple:r=!1,dataSource:i,objectName:a,displayField:o=`name`,idField:s=`id`,subtitleFields:c,avatarField:l=`image`,expand:f,searchFields:p,pageSize:g=Un,lookupFilters:y,baseFilter:b,value:x,onSelect:S,onSelectRecords:C,inline:w=!1,trigger:T}){let{t:E}=Ve(),D=(0,m.useIsMobile)(),O=(0,u.useMemo)(()=>{let e={...y?.length?pn(y):{},...b??{}};return Object.keys(e).length>0?e:void 0},[y,b]),k=(0,_.usePermissions)(),ee=(0,u.useMemo)(()=>{let e;if(f&&f.length)e=f;else{let t=new Set;(c??[]).forEach(e=>{e.includes(`.`)&&t.add(e.split(`.`)[0])}),e=Array.from(t)}let t=e.filter(e=>!k.isLoaded||k.checkField(a,e,`read`));return t.length?t:void 0},[f,c,k,a]),A=(0,u.useMemo)(()=>c?.filter(e=>!k.isLoaded||k.checkField(a,e.split(`.`)[0],`read`)),[c,k,a]),j=(0,u.useMemo)(()=>!k.isLoaded||k.checkField(a,l.split(`.`)[0],`read`)?l:null,[l,k,a]),M=(0,u.useMemo)(()=>Cn(o).filter(e=>!k.isLoaded||k.checkField(a,e.split(`.`)[0],`read`)),[o,k,a]),N=an({dataSource:i,objectName:a,enabled:e,pageSize:g,filter:O,expand:ee,searchFields:p}),P=(0,u.useMemo)(()=>e?Ln(a):[],[e,a]),F=(0,u.useMemo)(()=>r?Array.isArray(x)?x:[]:x!=null&&x!==``?[x]:[],[r,x]),I=an({dataSource:i,objectName:a,enabled:e&&F.length>0,pageSize:Math.max(1,F.length),filter:{[s]:{$in:F}},expand:ee}),te=(0,u.useMemo)(()=>{let e={[s]:{$in:P}};if(!O)return{ok:!0,node:e};let t=(0,d.toFilterNodeSafely)(O);return t.ok?{ok:!0,node:(0,d.mergeFilterNodes)(t.node,e)}:t},[O,s,P]),L=te.ok?void 0:te.refusal,R=an({dataSource:i,objectName:a,enabled:e&&P.length>0&&te.ok,pageSize:Math.max(1,P.length),filter:te.ok?te.node:void 0,expand:ee}),ne=(0,u.useMemo)(()=>{let e=new Map;for(let t of I.records)e.set(String(On(t,s)),t);return e},[I.records,s]),[z,re]=(0,u.useState)([]),B=(0,u.useRef)(!1),ie=(0,u.useRef)(!1);(0,u.useEffect)(()=>{e||(B.current=!1,ie.current=!1,re([]))},[e]),(0,u.useEffect)(()=>{if(!e||B.current)return;if(F.length===0){B.current=!0;return}if(I.loading){ie.current=!0;return}if(!ie.current)return;let t=F.map(e=>ne.get(String(e))).filter(Boolean);re(t),B.current=!0},[e,F,I.loading,ne]);let ae=(0,u.useMemo)(()=>new Set(z.map(e=>String(On(e,s)))),[z,s]),oe=(0,u.useCallback)((e,n)=>{S(r?e:e[0]??null),C?.(n),e.forEach(e=>Rn(a,e)),t(!1)},[r,a,S,C,t]),V=(0,u.useCallback)(e=>{S(e.map(e=>On(e,s))),C?.(e)},[S,C,s]),H=(0,u.useCallback)(e=>{let t=On(e,s);if(!r){oe([t],[e]);return}let n=String(t),i=z.some(e=>String(On(e,s))===n),o=i?z.filter(e=>String(On(e,s))!==n):[...z,e];re(o),w&&(i||Rn(a,t),V(o))},[r,s,oe,z,w,a,V]),se=(0,u.useCallback)(e=>{let t=String(e),n=z.filter(e=>String(On(e,s))!==t);re(n),w&&V(n)},[s,z,w,V]),ce=(0,u.useCallback)(()=>{oe(z.map(e=>On(e,s)),z)},[oe,z,s]),le=N.search.trim().length>0,U=(0,u.useMemo)(()=>{if(le)return[];let e=new Map(R.records.map(e=>[String(On(e,s)),e]));return P.map(t=>e.get(String(t))).filter(Boolean)},[le,P,R.records,s]),ue=(0,u.useMemo)(()=>{if(le)return N.records;let e=new Set(P.map(String));return N.records.filter(t=>!e.has(String(On(t,s))))},[le,N.records,P,s]),W=(0,u.useMemo)(()=>[...U,...ue],[U,ue]),[G,K]=(0,u.useState)(-1),q=(0,u.useMemo)(()=>N.records.map(e=>String(On(e,s))).join(`\0`),[N.records,s]),J=`${N.search}\u0000${q}`,[de,fe]=(0,u.useState)(J);de!==J&&(fe(J),K(-1)),(0,u.useEffect)(()=>{K(e=>e>=W.length?W.length-1:e)},[W.length]);let Y=(0,u.useCallback)(e=>{e.key===`ArrowDown`?(e.preventDefault(),K(e=>W.length?Math.min(W.length-1,e+1):-1)):e.key===`ArrowUp`?(e.preventDefault(),K(e=>Math.max(0,e-1))):e.key===`Enter`?G>=0&&G<W.length&&(e.preventDefault(),H(W[G])):e.key===`Backspace`&&N.search.length===0&&r&&z.length>0&&se(On(z[z.length-1],s))},[W,G,H,N.search,r,z,se,s]),X=N.error??L?.message??null,pe=N.loading&&!X&&N.records.length===0&&U.length===0,Z=N.loading&&!pe,me=!N.loading&&!X&&ue.length===0&&U.length===0,he=(e,t)=>{let n=On(e,s);return(0,v.jsx)(Mn,{record:e,displayField:o,nameFields:M,subtitleFields:A,avatarField:j,selected:ae.has(String(n)),active:t===G,highlightQuery:N.search,onSelect:H},String(n))},ge=n||E(`lookup.selectRecord`),_e=(0,v.jsxs)(v.Fragment,{children:[(0,v.jsxs)(`div`,{className:`relative`,children:[(0,v.jsx)(h.Search,{className:`pointer-events-none absolute left-2.5 top-1/2 size-4 -translate-y-1/2 text-muted-foreground`,"aria-hidden":!0}),(0,v.jsx)(m.Input,{autoFocus:!D,value:N.search,onChange:e=>N.setSearch(e.target.value),onKeyDown:Y,placeholder:E(`table.search`),className:`px-8`,role:`combobox`,"aria-expanded":!0,"aria-controls":`people-picker-list`,"data-testid":`people-picker-search`}),N.loading&&(0,v.jsx)(h.Loader2,{className:`pointer-events-none absolute right-2.5 top-1/2 size-4 -translate-y-1/2 animate-spin text-muted-foreground`,"aria-hidden":!0})]}),(0,v.jsx)(m.ScrollArea,{className:`min-h-0 flex-1`,"data-testid":`people-picker-list`,children:(0,v.jsx)(`div`,{id:`people-picker-list`,role:`listbox`,"aria-busy":N.loading,className:(0,m.cn)(`flex flex-col gap-0.5 pr-2 transition-opacity`,Z&&`opacity-70`),children:X?(0,v.jsxs)(`div`,{className:`flex flex-col items-center gap-2 py-8 text-center text-sm text-muted-foreground`,"data-testid":`people-picker-error`,children:[(0,v.jsx)(h.AlertCircle,{className:`size-5 text-destructive`,"aria-hidden":!0}),(0,v.jsx)(`span`,{className:`max-w-xs`,children:X}),N.error?(0,v.jsx)(m.Button,{type:`button`,variant:`outline`,size:`sm`,onClick:N.refetch,children:E(`lookup.retry`)}):null]}):pe?Array.from({length:Wn}).map((e,t)=>(0,v.jsxs)(`div`,{className:`flex items-center gap-3 px-2 py-1.5`,children:[(0,v.jsx)(m.Skeleton,{className:`size-9 shrink-0 rounded-full`}),(0,v.jsxs)(`div`,{className:`flex-1 space-y-1.5`,children:[(0,v.jsx)(m.Skeleton,{className:`h-3 w-1/3`}),(0,v.jsx)(m.Skeleton,{className:`h-2.5 w-1/2`})]})]},t)):(0,v.jsxs)(v.Fragment,{children:[U.length>0&&(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(`div`,{className:`px-2 py-1 text-xs font-medium text-muted-foreground`,children:E(`lookup.recentlyUsed`)}),U.map((e,t)=>he(e,t)),ue.length>0&&(0,v.jsxs)(`div`,{className:`mt-1 flex items-center gap-1.5 px-2 py-1 text-xs font-medium text-muted-foreground`,children:[(0,v.jsx)(`span`,{children:E(`lookup.allResults`)}),(0,v.jsxs)(`span`,{className:`font-normal opacity-70`,children:[`· `,N.total]})]})]}),ue.map((e,t)=>he(e,U.length+t)),me&&(0,v.jsx)(`div`,{className:`py-8 text-center text-sm text-muted-foreground`,children:E(`lookup.noRecords`)})]})})}),r&&!w&&(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(Pn,{records:z,onRemove:se,onClear:()=>re([]),clearLabel:E(`lookup.clear`),displayField:o,nameFields:M,avatarField:j,idField:s,label:E(`table.selected`,{count:z.length}),className:(0,m.cn)(`border-t pt-3`)}),(0,v.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,v.jsx)(m.Button,{type:`button`,variant:`outline`,onClick:()=>t(!1),children:E(`common.cancel`)}),(0,v.jsx)(m.Button,{type:`button`,onClick:ce,children:E(`common.confirm`)})]})]})]});return w?D?(0,v.jsxs)(m.Sheet,{open:e,onOpenChange:t,children:[(0,v.jsx)(m.SheetTrigger,{asChild:!0,children:T}),(0,v.jsxs)(m.SheetContent,{side:`bottom`,className:`flex h-[85vh] flex-col gap-3`,"data-testid":`people-picker-sheet`,children:[(0,v.jsx)(m.SheetHeader,{className:`text-left`,children:(0,v.jsx)(m.SheetTitle,{children:ge})}),_e]})]}):(0,v.jsxs)(m.Popover,{open:e,onOpenChange:t,children:[(0,v.jsx)(m.PopoverTrigger,{asChild:!0,children:T}),(0,v.jsx)(m.PopoverContent,{align:`start`,className:`flex max-h-[min(28rem,60vh)] w-[var(--radix-popover-trigger-width)] min-w-72 flex-col gap-3 p-3`,"data-testid":`people-picker-inline`,children:_e})]}):D?(0,v.jsx)(m.Sheet,{open:e,onOpenChange:t,children:(0,v.jsxs)(m.SheetContent,{side:`bottom`,className:`flex h-[85vh] flex-col gap-3`,"data-testid":`people-picker-sheet`,children:[(0,v.jsx)(m.SheetHeader,{className:`text-left`,children:(0,v.jsx)(m.SheetTitle,{children:ge})}),_e]})}):(0,v.jsx)(m.Dialog,{open:e,onOpenChange:t,children:(0,v.jsxs)(m.DialogContent,{className:`flex max-h-[80vh] flex-col gap-3 sm:max-w-lg`,"data-testid":`people-picker-dialog`,children:[(0,v.jsx)(m.DialogHeader,{children:(0,v.jsx)(m.DialogTitle,{children:ge})}),_e]})})}var Un,Wn,Gn=o((()=>{on(),xn(),An(),Nn(),Fn(),Vn(),He(),Un=25,Wn=6}));function Kn(e){let t=new Set,n=[];for(let r of e)t.has(r)||(t.add(r),n.push(r));return n}function qn(e,{displayField:t,max:n=4}){let r=e?.fields??{},i=e=>r[e]??{},a=e=>{let t=i(e);return{field:e,...t.label?{label:t.label}:{},...t.type?{type:t.type}:{}}};if(Object.keys(r).length===0)return[];let o=e=>!Array.isArray(e)||e.length===0?null:Kn([t,...e.filter(e=>typeof e==`string`&&e.length>0).filter(e=>e!==t)]).slice(0,n).map(a);return o(e?.highlightFields)||o(e?.displayFields)||Kn([t,...Object.keys(r).filter(e=>{if(e===t)return!1;let n=i(e);return!((0,S.isSystemManagedField)(e,n)||n.hidden||n.type&&Jn.has(n.type))})]).slice(0,n).map(a)}var Jn,Yn=o((()=>{Jn=new Set([`json`,`object`,`grid`,`html`,`richtext`,`markdown`,`code`,`image`,`file`,`avatar`,`vector`,`location`,`geometry`,`textarea`,`secret`,`password`,`encrypted`])})),Xn=s({LookupField:()=>rr});function Zn(e){return!!e&&!or.test(e)&&!sr.has(e)}function Qn(e,t,n,r,i,a,o){let s=$n(e,n),c=(0,d.withoutDeniedFields)(e,a,o,[n]),l;if(i){let n=(0,d.getRecordDisplayName)(i,c,{titleField:t}),r=e?.id??e?._id;n===`Untitled`||r!=null&&n===`Record #${r}`||(l=n)}let u=l??c[t??cr]??c.label??c.name??c.full_name??c.title??c.subject??c.externalId??String(s),f=r?e[r]:void 0,p={value:s,label:String(u),description:f,...e};return c===e?p:{...p,label:String(u)}}function $n(e,t){return e[t]??e.id??e._id??e.externalId}function er(e,t,n){let r=new Map(e.map(e=>[$n(e,n),e]));for(let e of t)r.set($n(e,n),e);return Array.from(r.values())}function tr(e){if(typeof e!=`string`)return null;let t=e.trim();if(!t.startsWith(`{`)||!t.endsWith(`}`))return null;try{let e=JSON.parse(t);return e&&typeof e==`object`&&!Array.isArray(e)?e:null}catch{return null}}function nr(e){return{text:`text`,number:`number`,currency:`number`,percent:`number`,select:`select`,status:`select`,date:`date`,datetime:`date`,boolean:`boolean`}[e]}function rr({value:e,onChange:t,field:n,readonly:r,error:i,...a}){let[o,s]=(0,u.useState)(!1),{t:c}=Ve(),{translateOptions:l}=(0,p.useSafeFieldLabel)(),f=(0,p.useDisplayLocale)(),y=u.default.useId(),[b,x]=(0,u.useState)(null),[S,C]=(0,u.useState)([]),[w,T]=(0,u.useState)([]),[E,D]=(0,u.useState)(()=>new Set),[O,k]=(0,u.useState)(-1),ee=(0,u.useRef)(null),A=n,j=A?.field,M=j&&typeof j==`object`&&(`reference`in j||`type`in j)?j:A,N=M?.options||[],P=M?.multiple||!1,F=M?.displayField||M?.reference_field||void 0,I=F||cr,te=M?.descriptionField,L=M?.idField||`id`,R=M?.reference,ne=M?.allow_create??M?.allowCreate,z=ne==null?Zn(R):!!ne,re=M?.lookup_columns??M?.lookupColumns,B=M?.lookup_page_size??M?.lookupPageSize,ie=M?.lookupFilters,ae=M?.picker,oe=M?.subtitle,V=M?.avatar_field??M?.avatarField??`image`,H=M,se=(0,u.useMemo)(()=>{let e=H?.dependsOn;return!e||!Array.isArray(e)?[]:e.map(e=>typeof e==`string`?{field:e,param:e}:{field:e.field,param:e.param??e.field})},[H?.dependsOn]),ce=a.dependsOnLabels,le=(0,u.useMemo)(()=>se.map(e=>ce?.[e.field]||e.field).join(c(`validation.formInvalidJoiner`)),[se,ce,c]),U=a.dependentValues,ue=(0,u.useContext)(ar)?.dataSource??null,W=a.dataSource??A?.dataSource??M?.dataSource??ue,G=(0,u.useMemo)(()=>U??{},[U]),K=(0,u.useMemo)(()=>se.length!==0&&se.some(({field:e})=>{let t=G[e];return t==null||t===``||Array.isArray(t)&&t.length===0}),[se,G]),q=W!=null&&typeof W.find==`function`&&!!R,[J,de]=(0,u.useState)(null);(0,u.useEffect)(()=>{if(!W||!R)return;let e=W.getObjectSchema;if(typeof e!=`function`)return;let t=!0;return Promise.resolve(e.call(W,R)).then(e=>{t&&de(e)}).catch(()=>{}),()=>{t=!1}},[W,R]);let fe=(0,u.useMemo)(()=>{if(re&&re.length>0)return re;let e=qn(J,{displayField:I});return e.length>0?e:void 0},[re,J,I]),Y=(0,u.useMemo)(()=>{if(te)return te;let e=fe?.find(e=>(typeof e==`string`?e:e.field)!==I);if(e)return typeof e==`string`?e:e.field},[te,fe,I]),X=(0,u.useMemo)(()=>{let e=[],t=new Set([I]);te&&(e.push({field:te}),t.add(te));for(let n of fe??[]){let r=sn(n);t.has(r.field)||(t.add(r.field),e.push(r))}return e},[te,fe,I]),pe=(0,u.useMemo)(()=>un(X,J?.fields,R??``,l),[X,J,R,l]),Z=(0,_.usePermissions)(),me=(0,u.useMemo)(()=>{if(X.length===0)return[];let e=(0,d.buildExpandFields)(J?.fields,X);return!Z.isLoaded||!R?e:e.filter(e=>Z.checkField(R,e,`read`))},[J,X,Z,R]),he=(0,u.useMemo)(()=>X.filter(e=>!Z.isLoaded||!R||e.field===L||Z.checkField(R,e.field,`read`)),[X,Z,R,L]),ge=(0,u.useMemo)(()=>{if(!fe)return;let e=[];for(let t of fe)if(typeof t==`object`&&t.type){let n=nr(t.type);n&&e.push({field:t.field,label:t.label,type:n})}return e.length>0?e:void 0},[fe]),_e=a.onCreateNew??A?.onCreateNew,[ve,ye]=(0,u.useState)(!1),be=(0,u.useMemo)(()=>{let e={};for(let{field:t,param:n}of se){let r=G[t];r!=null&&r!==``&&(e[n]=typeof r==`number`?r:String(r))}return Object.keys(e).length>0?e:void 0},[se,G]),xe=(0,u.useMemo)(()=>{let e={...ie&&ie.length>0?pn(ie):{},...be??{}};return Object.keys(e).length>0?e:void 0},[be,ie]),Se=an({dataSource:W,objectName:R,enabled:o&&q&&!K,pageSize:ir,filter:xe,expand:me}),we=Se.search,Te=Se.loading,Ee=Se.total,De=Se.error??b,Oe=(0,u.useMemo)(()=>Se.records.map(e=>Qn((0,d.toPredicateRecord)(e,J?.fields),F,L,Y,J,Z,R)),[Se.records,F,L,Y,J,Z,R]),ke=q?Oe:N,$=(0,u.useMemo)(()=>{if(q||!we)return ke;let e=we.toLowerCase();return ke.filter(t=>t.label.toLowerCase().includes(e)||t.description&&t.description.toLowerCase().includes(e))},[q,ke,we]);(0,u.useEffect)(()=>{k(-1)},[$.length]),(0,u.useEffect)(()=>{o||k(-1)},[o]);let Ae=(0,u.useCallback)(e=>Se.setSearch(e),[Se.setSearch]);(0,u.useEffect)(()=>{if(!q||!W||!R)return;let t=(P?Array.isArray(e)?e:[]:e!=null&&e!==``?[e]:[]).filter(e=>e!=null&&e!==``&&typeof e!=`object`&&!tr(e));if(!t.length)return;let n=t.filter(e=>!Ne(e));if(!n.length)return;let r=!1;return(async()=>{try{let e=[];if(n.length===1){let t=n[0];if(typeof W.findOne==`function`&&L===`id`){let n=await W.findOne(R,t);n&&e.push(n)}else{let n=await W.find(R,{$filter:{[L]:t},$top:1}),r=n?.data??n??[];r[0]&&e.push(r[0])}}else{let t=[];for(let e=0;e<n.length;e+=ir)t.push(n.slice(e,e+ir));let r=await Promise.all(t.map(e=>W.find(R,{$filter:{[L]:{$in:e}},$top:e.length})));for(let t of r){let n=t?.data??t??[];if(Array.isArray(n))for(let t of n)e.push(t)}}!r&&e.length&&T(t=>er(t,e,L))}catch{}finally{r||D(e=>{let t=new Set(e);for(let e of n)t.add(String(e));return t})}})(),()=>{r=!0}},[e,q,R,L,P]);let[je,Me]=(0,u.useMemo)(()=>{let e=e=>Qn(e,F,L,Y,J,Z,R);return[S.map(e),w.map(e)]},[S,w,F,L,Y,J,Z,R]),Ne=(0,u.useCallback)(e=>N.find(t=>t.value===e)??Oe.find(t=>t.value===e)??je.find(t=>t.value===e)??Me.find(t=>t.value===e),[N,Oe,je,Me]),Pe=(0,u.useCallback)(e=>{let t=String(e);return N.find(e=>String(e.value)===t)??Oe.find(e=>String(e.value)===t)??je.find(e=>String(e.value)===t)??Me.find(e=>String(e.value)===t)},[N,Oe,je,Me]),Fe=(0,u.useCallback)(e=>{let t=typeof e==`object`&&e?e:tr(e);return t?t[L]??t.id??t._id??t.externalId:e},[L]),Ie=(0,u.useMemo)(()=>P?Array.isArray(e)?e.map(Fe):[]:Fe(e),[P,e,Fe]),Le=(0,u.useCallback)(e=>{if(e==null||e===``)return;let t=typeof e==`object`?e:tr(e);return t?Qn(t,F,L,Y,J,Z,R):Ne(e)??Pe(e)},[Ne,Pe,F,L,Y,J,Z,R]),Re=(0,u.useMemo)(()=>q?(P?Array.isArray(e)?e:[]:e!=null&&e!==``?[e]:[]).some(e=>e!=null&&e!==``&&typeof e!=`object`&&!tr(e)&&!Ne(e)&&!Pe(e)&&!E.has(String(e))):!1,[q,P,e,Ne,Pe,E]),ze=P?(Array.isArray(e)?e:[]).filter(e=>e!=null&&e!==``).length:+(e!=null&&e!==``),Be=P?(Array.isArray(e)?e:[]).map(Le).filter(Boolean):e?[Le(e)].filter(Boolean):[],He=a.onSelectRecord,Ue=(0,u.useCallback)((n,r)=>{if(r&&n&&n.value!=null&&C(e=>er(e,[r],L)),P){let r=(Array.isArray(e)?e:[]).map(Fe);r.includes(n.value)?t(r.filter(e=>e!==n.value)):(R&&Rn(R,n.value),t([...r,n.value]))}else R&&Rn(R,n.value),He?He(n):t(n.value),s(!1)},[P,e,t,He,R,Fe,L]),We=n=>{t(P?(Array.isArray(e)?e:[]).map(Fe).filter(e=>e!==n):null)},Ge=(0,u.useCallback)(e=>{R&&e.forEach(e=>Rn(R,$n(e,L))),C(e)},[L,R]),[Ke,qe]=(0,u.useState)([]),Je=me.join(`,`);(0,u.useEffect)(()=>{if(!o||!q||!W||!R||we)return;if(K){qe([]);return}let e=Ln(R);if(!e.length){qe([]);return}let t=!1;return(async()=>{try{let n={[L]:{$in:e}},r=await W.find(R,{$filter:xe?(0,d.mergeFilterNodes)(xe,n):n,$top:e.length,...me.length>0?{$expand:me}:{}}),i=r?.data??r??[],a=new Map;if(Array.isArray(i))for(let e of i){let t=(0,d.toPredicateRecord)(e,J?.fields),n=t?.[L]??t?.id??t?._id;n!=null&&a.set(String(n),e)}let o=e.map(e=>a.get(String(e))).filter(Boolean);t||qe(o)}catch{t||qe([])}})(),()=>{t=!0}},[o,q,R,we,K,xe,L,Je]);let Ye=(0,u.useMemo)(()=>Ke.map(e=>Qn((0,d.toPredicateRecord)(e,J?.fields),F,L,Y,J,Z,R)),[Ke,F,L,Y,J,Z,R]),Xe=(0,u.useMemo)(()=>{let e=new Map;for(let t of[...Ke,...Se.records]){let n=(0,d.toPredicateRecord)(t,J?.fields),r=n?.[L]??n?.id??n?._id??n?.externalId;r!=null&&!e.has(String(r))&&e.set(String(r),t)}return e},[Ke,Se.records,J,L]),Ze=(0,u.useCallback)(e=>{let t=Xe.get(String(e.value));Ue(e,t?(0,d.toPredicateRecord)(t,J?.fields):void 0)},[Xe,J,Ue]),Qe=!we&&q?Ye.length:0,$e=(0,u.useMemo)(()=>{if(we||!q||Ye.length===0)return $;let e=new Set(Ye.map(e=>e.value));return[...Ye,...$.filter(t=>!e.has(t.value))]},[we,q,Ye,$]);(0,u.useEffect)(()=>{k(-1)},[$e.length]);let[et,tt]=(0,u.useState)(!1),{execute:nt}=(0,g.useAction)(),rt=(0,g.useHasActionProvider)(),it=!!_e||z&&(rt||q),at=(0,u.useCallback)(async e=>{let t=(e||``).trim();if(_e){_e(t),s(!1);return}if(z&&R){if(x(null),rt){s(!1),await new Promise(e=>setTimeout(e,0));let e=await nt({type:`modal`,modal:{objectName:R,mode:`create`}});if(e?.success&&e.data){let t=Qn(e.data,F,L,Y,J,Z,R);Ue(t,e.data);return}if(!(e?.success&&e.modal))return}if(W&&t){tt(!0);try{let e=await W.create(R,{[I]:t}),n=Qn(e,F,L,Y,J,Z,R);Ue(n,e)}catch(e){x(e instanceof Error?e.message:String(e))}finally{tt(!1)}}}},[_e,z,R,rt,nt,W,I,F,L,Y,J,Ue,Z]),ot=(0,u.useCallback)(e=>{let t=Xe.get(String(e.value)),n=t?{...e,...t}:e,r=he.filter(e=>{let t=n[e.field];return t!=null&&t!==``});return r.length===0?null:r.map((e,t)=>(0,v.jsxs)(u.default.Fragment,{children:[t>0&&(0,v.jsx)(`span`,{"aria-hidden":`true`,className:`shrink-0 opacity-60`,children:`·`}),(0,v.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1 truncate`,children:[(0,v.jsx)(`span`,{className:`shrink-0 opacity-70`,children:`${e.label||cn(e.field)}:`}),(0,v.jsx)(`span`,{className:`min-w-0 truncate`,"data-lookup-preview":e.field,children:dn(n,e,{descriptors:pe,cellRenderer:Ce(),displayLocale:f})})]})]},e.field))},[Xe,he,pe,f]),st=(0,u.useCallback)(e=>{e.key===`ArrowDown`?(e.preventDefault(),k(e=>e<$e.length-1?e+1:e)):e.key===`ArrowUp`?(e.preventDefault(),k(e=>e>0?e-1:0)):e.key===`Enter`&&(e.preventDefault(),O>=0&&O<$e.length&&Ze($e[O]))},[$e,O,Ze]);if((0,u.useEffect)(()=>{O>=0&&ee.current&&ee.current.querySelector(`[data-lookup-index="${O}"]`)?.scrollIntoView({block:`nearest`})},[O]),r)return Be.length?P?(0,v.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:Be.map((e,t)=>(0,v.jsx)(m.Badge,{variant:`outline`,children:e?.label||e?.[I]},t))}):(0,v.jsx)(`span`,{className:`text-sm`,children:Be[0]?.label||Be[0]?.[I]}):Re?(0,v.jsxs)(`span`,{className:`inline-flex items-center gap-1.5 text-sm text-muted-foreground`,"data-testid":`lookup-hydrating`,children:[(0,v.jsx)(h.Loader2,{className:`size-3.5 animate-spin`}),P?c(`table.selected`,{count:ze}):c(`lookup.loading`)]}):(0,v.jsx)(m.EmptyValue,{});let ct=!!a.compact,lt=Be[0]?.label||Be[0]?.[I],{name:ut,...dt}=Q(a),ft=(0,v.jsxs)(m.Button,{...dt,variant:`outline`,className:(0,m.cn)(`min-w-0 max-w-full flex-1 justify-start text-left font-normal`,ct&&`h-8 rounded-none border-0 bg-transparent px-2 shadow-none focus-visible:ring-1 focus-visible:ring-ring/60`),type:`button`,disabled:K||a.disabled,"data-testid":K?`lookup-trigger-gated`:a.name||A?.name?`lookup-trigger-${a.name||A.name}`:`lookup-trigger`,title:K?c(`lookup.selectFirst`,{fields:le}):void 0,"aria-invalid":!!i,children:[Re?(0,v.jsx)(h.Loader2,{className:(0,m.cn)(`size-4 shrink-0 animate-spin text-muted-foreground`,ct?`mr-1.5`:`mr-2`),"data-testid":`lookup-hydrating`}):(0,v.jsx)(h.Search,{className:(0,m.cn)(`size-4 shrink-0 text-muted-foreground`,ct?`mr-1.5`:`mr-2`)}),(0,v.jsx)(`span`,{className:(0,m.cn)(`truncate`,ct&&Be.length===0&&`text-muted-foreground`),children:K?c(`lookup.selectFirst`,{fields:le}):Re?P?c(`table.selected`,{count:ze}):c(`lookup.loading`):ct&&!P&&Be.length>0?lt:Be.length===0?A?.placeholder||c(`common.select`):P?c(`table.selected`,{count:Be.length}):c(`common.select`)})]}),pt=!a.disabled,mt=e=>{let t=(0,d.withoutDeniedFields)(e,Z,R,[L]),n=t?.[V]||t?.image;return n?String(n):void 0};return(0,v.jsxs)(`div`,{className:ct?``:`space-y-2`,children:[Be.length>0&&!ct&&(0,v.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:Be.map((e,t)=>{let n=e?.label||e?.[I];if(ae===`search`){let r=mt(e);return(0,v.jsxs)(`span`,{"data-testid":`people-field-chip`,className:`inline-flex items-center gap-1.5 rounded-full border bg-background py-0.5 pl-0.5 pr-1.5 text-sm`,children:[(0,v.jsxs)(m.Avatar,{className:`size-6 shrink-0`,children:[r&&(0,v.jsx)(m.AvatarImage,{src:r,alt:String(n||``)}),(0,v.jsx)(m.AvatarFallback,{className:`text-[10px]`,children:Tn(String(n||``))})]}),(0,v.jsx)(`span`,{className:`max-w-[10rem] truncate`,children:n}),pt&&(0,v.jsx)(`button`,{onClick:()=>We(e?.value),className:`rounded-full p-0.5 text-muted-foreground transition-colors hover:bg-accent hover:text-foreground`,type:`button`,"aria-label":c(`lookup.remove`,{label:n}),children:(0,v.jsx)(h.X,{className:`size-3`})})]},t)}return(0,v.jsxs)(m.Badge,{variant:`outline`,className:`gap-1`,children:[n,pt&&(0,v.jsx)(`button`,{onClick:()=>We(e?.value),className:`ml-1 hover:text-destructive`,type:`button`,"aria-label":c(`lookup.remove`,{label:n}),children:(0,v.jsx)(h.X,{className:`size-3`})})]},t)})}),ae===`search`&&q&&W&&R?(0,v.jsx)(Hn,{inline:!0,trigger:ft,open:ve,onOpenChange:ye,title:A?.label||c(`common.select`),multiple:P,dataSource:W,objectName:R,displayField:I,idField:L,subtitleFields:oe,avatarField:V,pageSize:B,value:Ie,onSelect:t,onSelectRecords:Ge,lookupFilters:ie,baseFilter:be}):(0,v.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,v.jsxs)(m.Popover,{open:o,onOpenChange:e=>{K||s(e)},children:[(0,v.jsx)(m.PopoverTrigger,{asChild:!0,children:ft}),(0,v.jsxs)(m.PopoverContent,{className:`w-[var(--radix-popover-trigger-width)] p-0`,align:`start`,children:[(0,v.jsx)(`div`,{className:`p-2`,children:(0,v.jsxs)(`div`,{className:`relative`,children:[(0,v.jsx)(h.Search,{className:`absolute left-3 top-1/2 -translate-y-1/2 size-4 text-muted-foreground`}),(0,v.jsx)(m.Input,{placeholder:c(`table.search`),value:we,onChange:e=>Ae(e.target.value),onKeyDown:st,className:`w-full pl-9 h-8 text-sm`,role:`combobox`,"aria-autocomplete":`list`,"aria-controls":y,"aria-expanded":o,"aria-activedescendant":O>=0?`${y}-opt-${O}`:void 0}),Te&&(0,v.jsx)(h.Loader2,{className:`absolute right-3 top-1/2 -translate-y-1/2 size-4 animate-spin text-muted-foreground`,"data-testid":`lookup-loading`})]})}),De&&(0,v.jsxs)(`div`,{className:`flex flex-col items-center gap-2 py-4 px-2`,role:`alert`,children:[(0,v.jsx)(h.AlertCircle,{className:`size-5 text-destructive`}),(0,v.jsx)(`p`,{className:`text-sm text-destructive`,children:De}),(0,v.jsx)(m.Button,{variant:`outline`,size:`sm`,onClick:()=>Se.refetch(),type:`button`,children:c(`lookup.retry`)})]}),Te&&$.length===0&&!De&&(0,v.jsxs)(`div`,{className:`flex flex-col items-center gap-2 py-6`,role:`status`,"aria-live":`polite`,children:[(0,v.jsx)(h.Loader2,{className:`size-6 animate-spin text-muted-foreground`}),(0,v.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:c(`lookup.loading`)})]}),!De&&!(Te&&$.length===0)&&(0,v.jsx)(`div`,{ref:ee,className:`max-h-64 overflow-y-auto px-1 pb-1`,role:`listbox`,id:y,children:$e.length===0?(0,v.jsxs)(`div`,{className:`py-4 text-center`,children:[(0,v.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:c(`lookup.noOptions`)}),it&&(0,v.jsxs)(m.Button,{variant:`ghost`,size:`sm`,className:`mt-2 gap-1`,type:`button`,disabled:et,onClick:()=>at(we),children:[et?(0,v.jsx)(h.Loader2,{className:`size-4 animate-spin`}):(0,v.jsx)(h.Plus,{className:`size-4`}),we?c(`lookup.createNamed`,{name:we}):c(`lookup.createNew`)]})]}):(0,v.jsxs)(v.Fragment,{children:[$e.map((t,n)=>{let r=P?(Array.isArray(e)?e:[]).map(Fe).includes(t.value):Fe(e)===t.value,i=n===O,a=Qe>0&&n===0,o=Qe>0&&n===Qe;return(0,v.jsxs)(u.default.Fragment,{children:[a&&(0,v.jsx)(`div`,{className:`px-3 pt-2 pb-1 text-[11px] font-medium uppercase tracking-wide text-muted-foreground`,children:c(`lookup.recentlyUsed`)}),o&&(0,v.jsx)(`div`,{className:`mt-1 border-t px-3 pt-2 pb-1 text-[11px] font-medium uppercase tracking-wide text-muted-foreground`,children:c(`lookup.allResults`)}),(0,v.jsxs)(`button`,{id:`${y}-opt-${n}`,"data-lookup-index":n,role:`option`,"aria-selected":r,title:String(t.label??``),onClick:()=>Ze(t),className:`w-full text-left px-3 py-2 rounded-md text-sm hover:bg-accent flex items-center justify-between ${i?`bg-accent text-accent-foreground`:r?`bg-accent/50 text-accent-foreground`:``}`,type:`button`,children:[(0,v.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,v.jsx)(`span`,{className:`block truncate`,children:t.label}),(()=>{let e=ot(t);return e?(0,v.jsx)(`span`,{className:`flex min-w-0 items-center gap-1 overflow-hidden text-xs text-muted-foreground`,"data-testid":`lookup-option-preview`,children:e}):null})()]}),r&&(0,v.jsx)(m.Badge,{variant:`default`,className:`ml-2 shrink-0`,children:c(`lookup.selectedBadge`)})]})]},t.value)}),q&&Ee>$.length&&(0,v.jsx)(`p`,{className:`text-xs text-muted-foreground text-center py-2`,children:c(`lookup.showingResults`,{shown:$.length,total:Ee})}),q&&Ee>$.length&&(0,v.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:()=>{s(!1),ye(!0)},"data-testid":`show-all-results`,children:[(0,v.jsx)(h.TableProperties,{className:`size-3.5`}),c(`lookup.showAllResults`,{count:Ee})]}),it&&(0,v.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`,disabled:et,onClick:()=>at(we),children:[et?(0,v.jsx)(h.Loader2,{className:`size-3.5 animate-spin`}):(0,v.jsx)(h.Plus,{className:`size-3.5`}),we?c(`lookup.createNamed`,{name:we}):c(`lookup.createNew`)]})]})})]})]}),q&&ae!==`search`&&(0,v.jsx)(m.Button,{variant:`outline`,size:`icon`,className:`shrink-0`,type:`button`,disabled:K||a.disabled,onClick:()=>ye(!0),"aria-label":c(`lookup.browseAll`),title:K?c(`lookup.selectFirst`,{fields:le}):c(`lookup.browseAll`),"data-testid":`browse-all-records`,children:(0,v.jsx)(h.TableProperties,{className:`size-4`})})]}),q&&W&&R&&ae!==`search`&&(0,v.jsx)(_n,{open:ve,onOpenChange:ye,title:A?.label||c(`common.select`),multiple:P,dataSource:W,objectName:R,columns:fe,displayField:F,objectSchema:J,idField:L,pageSize:B,value:Ie,onSelect:t,onSelectRecords:Ge,lookupFilters:ie,baseFilter:be,cellRenderer:Ce(),fieldsMeta:J?.fields,filterColumns:ge})]})}var ir,ar,or,sr,cr,lr=o((()=>{$(),xn(),Gn(),on(),Yn(),Vn(),An(),fn(),He(),ir=50,ar=g.SchemaRendererContext,or=/^(sys_|cloud_|ai_)/,sr=new Set([`user`,`users`]),cr=`name`})),ur=s({UserField:()=>fr});function dr(e){let t=Array.isArray(e)?e:[];return t.some(e=>e?.field===`banned`)?t:[...t,{field:`banned`,operator:`ne`,value:!0}]}function fr(e){let t=e.field,n=t?.field&&typeof t.field==`object`&&(`reference`in t.field||`type`in t.field),r=n?t.field:t,i={...r||{},reference:r?.reference||`sys_user`,displayField:r?.displayField||r?.reference_field||`name`,picker:r?.picker??`search`,subtitle:r?.subtitle??[`primary_business_unit_id.name`,`email`],avatar_field:r?.avatar_field??r?.avatarField??`image`,lookupFilters:dr(r?.lookupFilters)},a=n?{...t,field:i}:i;return(0,v.jsx)(rr,{...e,field:a})}var pr=o((()=>{lr()})),mr=s({ColorField:()=>hr});function hr({value:e,onChange:t,field:n,readonly:r,error:i,...a}){let o=n;return r?(0,v.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,v.jsx)(`div`,{className:`w-6 h-6 rounded border border-input`,style:{backgroundColor:e||`#000000`}}),(0,v.jsx)(`span`,{className:`text-sm`,children:e||(0,v.jsx)(m.EmptyValue,{})})]}):(0,v.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,v.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`,"aria-invalid":!!i}),(0,v.jsx)(m.Input,{...Q(a),type:`text`,value:e||``,onChange:e=>t(e.target.value),placeholder:o?.placeholder||`#000000`,disabled:r||a.disabled,className:a.className,pattern:`^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$`,"aria-invalid":!!i})]})}var gr=o((()=>{$()})),_r=s({AddressField:()=>vr});function vr({value:e,onChange:t,field:n,readonly:r,error:i,...a}){let o=e||{},{id:s,"aria-labelledby":c,...l}=Q(a),d=it(a,`instead-of-the-inputs`),f=it(a,`above-the-inputs`),h=(0,u.useId)(),g=e=>`${h}-${e}`,{t:_}=Ve(),y=(0,p.useDisplayLocale)(),b=T(o),x=(e,n)=>{let r={...o};delete r.zipCode,t({...r,...b?{postalCode:b}:null,[e]:n})};if(r){let e=O(o,y);return e?(0,v.jsx)(`span`,{...d,className:`text-sm`,children:e}):(0,v.jsx)(m.EmptyValue,{...d})}return(0,v.jsxs)(`div`,{className:`space-y-3`,...f,children:[(0,v.jsxs)(`div`,{children:[(0,v.jsx)(m.Label,{htmlFor:g(`street`),className:`text-xs`,children:_(`fields.address.street`)}),(0,v.jsx)(m.Input,{...l,id:g(`street`),type:`text`,value:o.street||``,onChange:e=>x(`street`,e.target.value),disabled:r||a.disabled,className:a.className,"aria-invalid":!!i})]}),(0,v.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,v.jsxs)(`div`,{children:[(0,v.jsx)(m.Label,{htmlFor:g(`city`),className:`text-xs`,children:_(`fields.address.city`)}),(0,v.jsx)(m.Input,{id:g(`city`),type:`text`,value:o.city||``,onChange:e=>x(`city`,e.target.value),disabled:r||a.disabled,"aria-invalid":!!i})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(m.Label,{htmlFor:g(`state`),className:`text-xs`,children:_(`fields.address.state`)}),(0,v.jsx)(m.Input,{id:g(`state`),type:`text`,value:o.state||``,onChange:e=>x(`state`,e.target.value),disabled:r||a.disabled,"aria-invalid":!!i})]})]}),(0,v.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,v.jsxs)(`div`,{children:[(0,v.jsx)(m.Label,{htmlFor:g(`postalCode`),className:`text-xs`,children:_(`fields.address.postalCode`)}),(0,v.jsx)(m.Input,{id:g(`postalCode`),type:`text`,value:b||``,onChange:e=>x(`postalCode`,e.target.value),disabled:r||a.disabled,"aria-invalid":!!i})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(m.Label,{htmlFor:g(`country`),className:`text-xs`,children:_(`fields.address.country`)}),(0,v.jsx)(m.Input,{id:g(`country`),type:`text`,value:o.country||``,onChange:e=>x(`country`,e.target.value),disabled:r||a.disabled,"aria-invalid":!!i})]})]})]})}var yr=o((()=>{$(),ot(),He()})),br=s({LocationField:()=>Nr});function xr(e){if(!e||typeof e!=`object`||Array.isArray(e))return!1;let{lat:t,lng:n}=e;return Sr(t)&&Sr(n)}function Sr(e){return typeof e==`number`&&Number.isFinite(e)}function Cr(e){return f.LocationValueSchema.safeParse(e).success}function wr(e,t,n){let r={lat:e,lng:t};return xr(n)?(Sr(n.altitude)&&(r.altitude=n.altitude),Sr(n.accuracy)&&(r.accuracy=n.accuracy),r):r}function Tr(e){return xr(e)?`${e.lat}, ${e.lng}`:``}function Er(e){if(!e.trim())return{kind:`cleared`};let t=e.split(`,`).map(e=>e.trim());if(t.length!==2)return{kind:`unparsable`};let n=parseFloat(t[0]),r=parseFloat(t[1]);if(isNaN(n)||isNaN(r))return{kind:`unparsable`};let i=Fr.map((e,n)=>({label:e,text:t[n]})).filter(e=>!Pr.test(e.text));return i.length>0?{kind:`residue`,residue:i}:{kind:`pair`,lat:n,lng:r}}function Dr(e,t){let n=Er(e);return n.kind===`cleared`?!xr(t):n.kind===`pair`&&xr(t)&&t.lat===n.lat&&t.lng===n.lng}function Or(e){return e(`fields.location.refusedFormat`)}function kr(e,t){let n=f.LocationValueSchema.safeParse(t);return n.success?``:e(`fields.location.refusedRange`,{detail:n.error.issues.map(e=>`${e.path.join(`.`)||`value`}: ${e.message}`).join(`; `)})}function Ar(e,t){let[n,r]=t.map(t=>({name:jr(e,t.label),text:t.text}));return r?e(`fields.location.refusedResidue`,{name:n.name,text:n.text,otherName:r.name,otherText:r.text}):e(`fields.location.refusedResidueOne`,{name:n.name,text:n.text})}function jr(e,t){return e(t===`latitude`?`fields.location.latitude`:`fields.location.longitude`)}function Mr(e){return Fr.map(t=>jr(e,t)).join(`, `)}function Nr({value:e,onChange:t,field:n,readonly:r,error:i,...a}){let o=n,[s,c]=(0,u.useState)(()=>Tr(e)),[l,d]=(0,u.useState)(null),{t:f}=Ve(),p=(0,u.useRef)(e);if((0,u.useEffect)(()=>{Object.is(p.current,e)||(p.current=e,!l&&(Dr(s,e)||c(Tr(e))))},[e,s,l]),r)return(0,v.jsx)(`span`,{className:`text-sm`,children:Tr(e)||(0,v.jsx)(m.EmptyValue,{})});let h=n=>{let r=n.target.value;c(r);let i=Er(r);if(i.kind===`cleared`){d(null),t(null);return}if(i.kind===`unparsable`){d(Or(f));return}if(i.kind===`residue`){d(Ar(f,i.residue));return}let a=wr(i.lat,i.lng,e);if(Cr(a)){d(null),t(a);return}d(kr(f,a))};return(0,v.jsxs)(`div`,{className:`space-y-1`,children:[(0,v.jsx)(m.Input,{...Q(a),type:`text`,value:s,onChange:h,placeholder:o?.placeholder||Mr(f),disabled:r||a.disabled,className:(0,m.cn)(l?`border-red-500 focus-visible:ring-red-500`:``,a.className),"aria-invalid":!!i||!!l}),l&&(0,v.jsx)(`p`,{className:`text-xs text-red-500`,children:l})]})}var Pr,Fr,Ir=o((()=>{$(),He(),Pr=/^[+-]?(?:Infinity|(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?)$/,Fr=[`latitude`,`longitude`]})),Lr=s({GeolocationField:()=>Rr});function Rr({value:e,onChange:t,field:n,readonly:r,error:i,...a}){let[o,s]=u.default.useState(!1),c=We(`30.2741`),l=We(`120.1551`),d=e||{},{id:f,"aria-labelledby":p,...g}=Q(a),_=it(a,`instead-of-the-inputs`),y=it(a,`above-the-inputs`),b=(0,u.useId)(),x=e=>`${b}-${e}`,S=(e,n)=>{t({...d,[e]:n?Number(n):null})},C=e=>{c.readBadInput(e.target),g.onBlur?.(e)},w=()=>{if(!navigator.geolocation){console.error(`Geolocation is not supported by this browser`);return}s(!0),navigator.geolocation.getCurrentPosition(e=>{t({latitude:e.coords.latitude,longitude:e.coords.longitude,accuracy:e.coords.accuracy}),s(!1)},e=>{console.error(`Error getting location:`,e.message),s(!1)},{enableHighAccuracy:!0,timeout:5e3,maximumAge:0})},T=e=>Br(e)?`${e.latitude.toFixed(6)}, ${e.longitude.toFixed(6)}`:``,E=()=>{if(!Br(d))return;let e=`https://www.google.com/maps?q=${d.latitude},${d.longitude}`;window.open(e,`_blank`)};if(r){let e=T(d);return(0,v.jsxs)(`div`,{..._,className:`flex items-center gap-2`,children:[(0,v.jsx)(h.MapPin,{className:`w-4 h-4 text-muted-foreground`}),e?(0,v.jsx)(`span`,{className:`text-sm`,children:e}):(0,v.jsx)(m.EmptyValue,{}),Br(d)&&(0,v.jsx)(m.Button,{type:`button`,variant:`link`,size:`sm`,onClick:E,className:`p-0 h-auto`,children:`View on map`})]})}return(0,v.jsxs)(`div`,{className:`space-y-3`,...y,children:[(0,v.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,v.jsxs)(m.Button,{type:`button`,variant:`outline`,size:`sm`,onClick:w,disabled:r||o,children:[(0,v.jsx)(h.Crosshair,{className:`w-4 h-4 mr-2`}),o?`Getting location...`:`Use Current Location`]}),Br(d)&&(0,v.jsxs)(m.Button,{type:`button`,variant:`link`,size:`sm`,onClick:E,children:[(0,v.jsx)(h.MapPin,{className:`w-4 h-4 mr-2`}),`View on map`]})]}),(0,v.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,v.jsxs)(`div`,{children:[(0,v.jsx)(m.Label,{htmlFor:x(`latitude`),className:`text-xs`,children:`Latitude`}),(0,v.jsx)(m.Input,{...g,id:x(`latitude`),type:`number`,value:d.latitude??``,onChange:e=>{c.readBadInput(e.target),S(`latitude`,e.target.value)},onBlur:C,placeholder:`37.7749`,disabled:r||a.disabled,step:`any`,className:(0,m.cn)(c.refusal?Ke:``,a.className),"aria-invalid":!!i||!!c.refusal}),(0,v.jsx)(Ge,{refusal:c.refusal})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(m.Label,{htmlFor:x(`longitude`),className:`text-xs`,children:`Longitude`}),(0,v.jsx)(m.Input,{id:x(`longitude`),type:`number`,value:d.longitude??``,onChange:e=>{l.readBadInput(e.target),S(`longitude`,e.target.value)},onBlur:e=>l.readBadInput(e.target),placeholder:`-122.4194`,disabled:r||a.disabled,step:`any`,className:l.refusal?Ke:void 0,"aria-invalid":!!i||!!l.refusal}),(0,v.jsx)(Ge,{refusal:l.refusal})]})]}),zr(d.accuracy)&&(0,v.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`Accuracy: ±`,d.accuracy.toFixed(0),`m`]})]})}var zr,Br,Vr=o((()=>{$(),ot(),qe(),zr=e=>typeof e==`number`&&!Number.isNaN(e),Br=e=>zr(e.latitude)&&zr(e.longitude)})),Hr=s({CodeField:()=>Ur});function Ur({value:e,onChange:t,field:n,readonly:r,error:i,...a}){let o=n,s=o?.language??`javascript`;return r?(0,v.jsx)(`pre`,{className:(0,m.cn)(`text-sm bg-muted p-2 rounded overflow-x-auto border`,a.className),children:(0,v.jsx)(`code`,{children:e||(0,v.jsx)(m.EmptyValue,{})})}):(0,v.jsx)(m.Textarea,{...Q(a),value:e||``,onChange:e=>t(e.target.value),placeholder:o?.placeholder||`// Write ${s} code here...`,disabled:r||a.disabled,className:(0,m.cn)(`font-mono text-sm`,a.className),rows:12,spellCheck:!1,"aria-invalid":!!i})}var Wr=o((()=>{$()})),Gr=s({ObjectField:()=>Jr});function Kr(e){return e==null?``:JSON.stringify(e,null,2)}function qr(e,t){if(!e.trim())return t==null;try{return JSON.stringify(JSON.parse(e))===JSON.stringify(t)}catch{return!1}}function Jr({value:e,onChange:t,field:n,readonly:r,error:i,...a}){let o=n,[s,c]=(0,u.useState)(()=>Kr(e)),[l,f]=(0,u.useState)(null),{t:p}=Ve(),h=(0,u.useRef)(null),g=(0,u.useRef)(e);if((0,u.useEffect)(()=>{Object.is(g.current,e)||(g.current=e,!l&&(qr(s,e)||c(Kr(e))))},[e,s,l]),(0,u.useEffect)(()=>{h.current?.setCustomValidity(l??``)},[l]),r)return(0,d.isEmptyValue)(e)&&!Array.isArray(e)?(0,v.jsx)(m.EmptyValue,{}):(0,v.jsx)(`pre`,{className:(0,m.cn)(`text-xs bg-gray-50 p-2 rounded border border-gray-200 overflow-auto max-h-40`,a.className),children:JSON.stringify(e,null,2)});let _=e=>{let n=e.target.value;if(c(n),!n.trim()){f(null),t(null);return}try{let e=JSON.parse(n);f(null),t(e)}catch{f(p(`fields.object.invalidJson`))}};return(0,v.jsxs)(`div`,{className:`space-y-1`,children:[(0,v.jsx)(m.Textarea,{...Q(a),ref:h,value:s,onChange:_,placeholder:o?.placeholder||`{
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(e){throw n=[e],e}},s=(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},c=(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},l=(n,r,o)=>(o=n==null?{}:e(i(n)),c(r||!n||!n.__esModule||!a.call(n,`default`)?t(o,`default`,{value:n,enumerable:!0}):o,n));let u=require("react");u=l(u,1);let d=require("@object-ui/core"),f=require("@objectstack/spec/data"),p=require("@object-ui/i18n"),m=require("@object-ui/components"),h=require("lucide-react"),g=require("@object-ui/react"),_=require("@object-ui/permissions"),v=require("react/jsx-runtime"),y=require("react-markdown");y=l(y,1);let b=require("remark-gfm");b=l(b,1);let x=require("rehype-sanitize");x=l(x,1);let S=require("@objectstack/spec/ui"),C=require("@object-ui/types"),w=require("@object-ui/providers"),T=require("@objectstack/spec");function E(e){let t=({schema:t,field:n,...r})=>(0,v.jsx)(e,{...r,field:n??t});return t.displayName=`FieldCarrier(${e.displayName||e.name||`Component`})`,t}function D(e){return e.postalCode??e.zipCode}function O(e){return e==null?``:String(e).trim()}function k(e){return(e||``).split(/[-_]/)[0].toLowerCase()}function ee(e,t){let n=O(e.street),r=O(e.city),i=O(e.state),a=O(D(e)),o=O(e.country);return A.has(k(t))?[o,[a,i].filter(Boolean).join(` `),r,n].filter(Boolean).join(`, `):[n,r,[i,a].filter(Boolean).join(` `),o].filter(Boolean).join(`, `)}var A,j=o((()=>{A=new Set([`zh`,`ja`,`ko`])}));function M(e){let t=F.get(e);if(t!==void 0)return t;let n=P;try{n=new Intl.NumberFormat(void 0,{style:`currency`,currency:e}).resolvedOptions().maximumFractionDigits??P}catch{}return F.set(e,n),n}function N(e,t){let n=`${t}|${e}`,r=I.get(n);if(r!==void 0)return r;let i=e;try{i=new Intl.NumberFormat(t,{style:`currency`,currency:e}).formatToParts(0).find(e=>e.type===`currency`)?.value??e}catch{}return I.set(n,i),i}var P,F,I,L=o((()=>{P=2,F=new Map,I=new Map}));function R(e,t,n){let r=(0,f.resolveFieldScale)({type:t.type,scale:`scale`in t?t.scale:void 0}),i=`useGrouping`in t&&typeof t.useGrouping==`boolean`?t.useGrouping:void 0;return(0,p.formatDisplayNumber)(e,{locale:n,scale:r,useGrouping:i,...r===void 0?{minimumFractionDigits:0,maximumFractionDigits:20}:{minimumFractionDigits:r,maximumFractionDigits:r}})}function z(e){return e?M(e):2}function B(e,t,n){let r=z(t);try{return(0,p.formatDisplayNumber)(e,{locale:n,...t?{currency:t}:{},minimumFractionDigits:r,maximumFractionDigits:r})}catch{return t?`${t} ${e.toFixed(r)}`:e.toFixed(r)}}function V(e){if(e?.type===`progress`)return`whole`;let t=typeof e?.max==`number`?e.max:void 0;return(0,f.percentScaleOf)({type:`percent`,max:t})}function te(e,t,n){try{return(0,p.formatDisplayNumber)(e,{locale:n,style:`percentPoints`,minimumFractionDigits:t,maximumFractionDigits:t})}catch{return`${e.toFixed(t)}%`}}var ne=o((()=>{L()})),re,ie,H=o((()=>{re={"common.selectOption":`Select an option`,"common.select":`Select…`,"common.loading":`Loading…`,"common.noResults":`No results found`,"common.cancel":`Cancel`,"common.confirm":`Confirm`,"common.yes":`Yes`,"common.no":`No`,"fields.boolean.offBadge":`{{label}} — Off`,"fields.boolean.completed":`Completed`,"fields.boolean.notCompleted":`Not completed`,"table.selected":`{{count}} selected`,"table.search":`Search…`,"lookup.loading":`Loading…`,"lookup.noOptions":`No options found`,"lookup.noRecords":`No records found`,"lookup.recentlyUsed":`Recently used`,"lookup.allResults":`All results`,"lookup.createNew":`Create new`,"lookup.createNamed":`Create new "{{name}}"`,"lookup.showingResults":`Showing {{shown}} of {{total}} results`,"lookup.showAllResults":`Show all results ({{count}})`,"lookup.selectedBadge":`Selected`,"lookup.browseAll":`Browse all records`,"lookup.remove":`Remove {{label}}`,"lookup.selectFirst":`Select {{fields}} first`,"lookup.selectRecord":`Select record`,"lookup.recordCount":`{{count}} records`,"lookup.recordCount_one":`{{count}} record`,"lookup.recordCount_other":`{{count}} records`,"lookup.pageOf":`Page {{current}} of {{total}}`,"lookup.filters":`Filters`,"lookup.clear":`Clear`,"lookup.yes":`Yes`,"lookup.filterPlaceholder":`Filter {{label}}`,"lookup.prevPage":`Previous page`,"lookup.nextPage":`Next page`,"lookup.jumpToPage":`Jump to page`,"lookup.retry":`Retry`,"fields.options.empty":`No options available`,"fields.options.selectFirst":`Select {{fields}} first`,"fields.image.cropPreview":`Image crop preview`,"fields.percent.slider":`Percentage`,"console.commandPalette.records":`Records`,"validation.formInvalidJoiner":`, `,"fields.objectRef.loading":`Loading objects…`,"fields.objectRef.placeholder":`Select an object`,"fields.objectRef.search":`Search objects…`,"fields.objectRef.empty":`No objects found`,"fields.registryRef.loadFailed":`The list could not be loaded. You can still type the name.`,"fields.registryRef.notFound":`{{name}} (not found)`,"fields.recipient.selectTypeFirst":`Select a recipient type first.`,"fields.recipient.loading":`Loading…`,"fields.recipient.search":`Search…`,"fields.recipient.empty":`No matches`,"fields.recipient.select":`Select a recipient`,"fields.recipient.selectUser":`Select a user`,"fields.recipient.selectTeam":`Select a team`,"fields.recipient.selectBusinessUnit":`Select a business unit`,"fields.recipient.selectPosition":`Select a position`,"fields.recipient.selectUnitAndSubordinates":`Select a business unit`,"fields.recipient.selectField":`Select a user field`,"fields.recipient.noUserFields":`No user fields on this object`,"fields.recipient.fieldNotUserTyped":`{{name}} — not a user field`,"fields.filterCondition.selectObjectFirst":`Select an object first.`,"fields.filterCondition.noCriteria":`No criteria — this rule shares nothing`,"fields.filterCondition.criteriaRequired":`Add at least one condition. A rule with no criteria would share every record, so it cannot be saved.`,"fields.filterCondition.invalidJson":`Invalid JSON — the rule will match no records until fixed.`,"fields.filterCondition.jsonOnly":`This criteria can only be edited as JSON`,"fields.filterCondition.editAsJson":`Edit as JSON`,"fields.filterCondition.useVisualBuilder":`Use visual builder`,"fields.object.invalidJson":`Invalid JSON`,"fields.location.refusedFormat":`Not saved: enter a latitude, longitude pair (example: 30.2741, 120.1551).`,"fields.location.refusedRange":`Not saved: {{detail}}`,"fields.location.latitude":`latitude`,"fields.location.longitude":`longitude`,"fields.location.refusedResidueOne":`Not saved: {{name}} "{{text}}" is not a number. Enter plain decimals (example: 30.2741, 120.1551).`,"fields.location.refusedResidue":`Not saved: {{name}} "{{text}}" and {{otherName}} "{{otherText}}" are not numbers. Enter plain decimals (example: 30.2741, 120.1551).`,"fields.number.badInput":`Not saved: the text in this box is not a number. Enter a plain decimal (example: {{example}}).`,"fields.date.impossibleDay":`The stored value "{{value}}" is not a real date. Pick a date to replace it.`,"fields.dateTime.impossibleDay":`The stored value "{{value}}" is not a real date. Pick a date and time to replace it.`,"fields.datePicker.today":`Today`,"fields.datePicker.tomorrow":`Tomorrow`,"fields.datePicker.clear":`Clear date`,"fields.datePicker.openCalendar":`Open calendar`,"fields.datePicker.invalid":`Not saved: "{{value}}" is not a date. Type it as {{format}}, or pick one from the calendar.`,"fields.tags.placeholder":`Type and press Enter to add…`,"fields.address.street":`Street Address`,"fields.address.city":`City`,"fields.address.state":`State / Province`,"fields.address.postalCode":`ZIP / Postal Code`,"fields.address.country":`Country`,"capability.group.platform":`Platform`,"capability.group.org":`Organization`,"capability.group.other":`Other`,"capability.label.manage_users":`Manage Users`,"capability.label.manage_org_users":`Manage Organization Users`,"capability.label.manage_metadata":`Manage Metadata`,"capability.label.manage_platform_settings":`Manage Platform Settings`,"capability.label.setup_access":`Setup Access`,"capability.label.setup_write":`Write Settings`,"capability.label.studio_access":`Studio Access`,"capability.label.manage_sharing":`Manage Sharing`,"capability.label.view_all_audit_log":`View All Audit Log`,"capability.label.manage_mailboxes":`Manage Mailboxes`},ie=(0,p.createSafeTranslation)(re,`common.selectOption`)}));function U(){let{t:e}=ie();return t=>e(t?`common.yes`:`common.no`)}function ae({value:e}){let t=U();return(0,v.jsx)(v.Fragment,{children:t(e)})}var oe=o((()=>{H()}));function se({images:e,index:t,open:n,onOpenChange:r,onIndexChange:i}){let{t:a}=(0,p.useObjectTranslation)(),o=e.length,s=e[t],c=u.useCallback(e=>{if(o<=1)return;let n=(t+e+o)%o;i?.(n)},[o,t,i]),l=u.useCallback(e=>{e.key===`ArrowRight`?(e.preventDefault(),c(1)):e.key===`ArrowLeft`&&(e.preventDefault(),c(-1))},[c]);return s?(0,v.jsx)(m.Dialog,{open:n,onOpenChange:r,children:(0,v.jsxs)(m.DialogContent,{className:`max-w-[92vw] sm:max-w-4xl ${m.DIALOG_VIEWPORT_GUTTER} p-0 bg-transparent border-0 shadow-none`,onKeyDown:l,children:[(0,v.jsx)(m.DialogTitle,{className:`sr-only`,children:s.name||a(`fields.image.preview`)}),(0,v.jsxs)(`div`,{className:`relative flex items-center justify-center`,children:[(0,v.jsx)(`img`,{src:s.url,alt:s.name||a(`fields.image.imageAlt`,{index:t+1}),className:`max-h-[85vh] max-w-full rounded-md object-contain`}),o>1&&(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(`button`,{type:`button`,onClick:()=>c(-1),"aria-label":a(`fields.image.previous`),className:`absolute left-2 top-1/2 -translate-y-1/2 flex size-9 items-center justify-center rounded-full bg-black/50 text-white hover:bg-black/70 transition-colors`,children:(0,v.jsx)(h.ChevronLeft,{className:`size-5`})}),(0,v.jsx)(`button`,{type:`button`,onClick:()=>c(1),"aria-label":a(`fields.image.next`),className:`absolute right-2 top-1/2 -translate-y-1/2 flex size-9 items-center justify-center rounded-full bg-black/50 text-white hover:bg-black/70 transition-colors`,children:(0,v.jsx)(h.ChevronRight,{className:`size-5`})}),(0,v.jsx)(`div`,{className:`absolute bottom-2 left-1/2 -translate-x-1/2 rounded-full bg-black/50 px-2.5 py-1 text-xs font-medium text-white`,children:a(`fields.image.counter`,{current:t+1,total:o})})]})]})]})}):null}var ce=o((()=>{}));function le(e){return f.FileRefusedValueSchema.safeParse(e).success}function W(e){return le(e)?e.id:e}var ue=o((()=>{}));function de(e){if((0,f.isFileIdToken)(e))return e;if(e&&typeof e==`object`){let t=e,n=t.file_id??t.id;if(typeof n==`string`&&n)return n}}function G(e){return`${he}/files/${encodeURIComponent(e)}`}function K(e){if(/^data:/i.test(e))return;let t=(e.split(/[?#]/)[0]??e).split(`/`).filter(Boolean).pop();if(!t)return e;try{return decodeURIComponent(t)}catch(e){if(e instanceof URIError)return t;throw e}}function fe(e,t=`File`){if(e==null)return{name:t,raw:e};if(typeof e==`string`)return(0,f.isFileIdToken)(e)?{id:e,name:t,url:G(e),raw:e}:{url:e,name:K(e)??t,raw:e};if(typeof e==`object`){if(le(e))return{id:e.id,name:t,url:G(e.id),metadataRefused:!0,raw:e};let n=e,r=e=>typeof e==`string`&&e?e:void 0,i=de(n),a=r(n.url)??(i?G(i):void 0);return{id:i,name:r(n.name)??r(n.original_name)??(r(n.url)?K(r(n.url)):void 0)??t,url:a,size:typeof n.size==`number`?n.size:void 0,mimeType:r(n.mimeType)??r(n.mime_type),raw:e}}return{name:t,raw:e}}function q(e,t=`File`){return e==null?[]:(Array.isArray(e)?e:[e]).filter(e=>e!=null).map(e=>fe(e,t))}function J(e){return(e.mimeType??``).startsWith(`image/`)}function pe(e,t){let n=e.meta?.fileId;if((0,f.isFileIdToken)(n))return n;throw new ge(t??e.name)}function me(e,t){return{id:(0,f.isFileIdToken)(e.meta?.fileId)?e.meta.fileId:void 0,name:e.name||t||`File`,url:e.url,size:e.size,mimeType:e.mimeType,raw:e}}function Y(e,t){return Object.keys(t).length===0?e:e.map(e=>{let n=e.id?t[e.id]:void 0;return n?e.raw&&typeof e.raw==`object`&&typeof e.raw.url==`string`&&e.raw.url?e:{...n,raw:e.raw}:e})}var he,ge,X=o((()=>{ue(),he=`/api/v1/storage`,ge=class extends Error{code=`UPLOAD_INCOMPLETE`;fileName;constructor(e){super(`upload of "${e}" did not complete: the upload adapter returned no sys_file id (meta.fileId), so nothing was submitted`),this.name=`UploadIncompleteError`,this.fileName=e}}}));function _e(){let{t:e}=(0,p.useObjectTranslation)();return{label:e(`fields.file.restricted`,{defaultValue:`Restricted file`}),hint:e(`fields.file.restrictedHint`,{defaultValue:`You do not have access to the details of this file`})}}function ve({view:e,className:t,compact:n=!1,icon:r=!0}){let{label:i,hint:a}=_e(),o=e.url?.trim(),s=(0,v.jsxs)(v.Fragment,{children:[(r||n)&&(0,v.jsx)(h.Lock,{className:`size-3 shrink-0`,"aria-hidden":`true`}),!n&&(0,v.jsx)(`span`,{className:`truncate`,children:i})]}),c=(0,m.cn)(`inline-flex min-w-0 max-w-full items-center gap-1 align-middle text-muted-foreground`,t);return o?(0,v.jsx)(`a`,{href:o,target:`_blank`,rel:`noopener noreferrer`,title:a,onClick:e=>e.stopPropagation(),"data-slot":`file-restricted`,"aria-label":n?i:void 0,className:(0,m.cn)(c,`hover:text-foreground hover:underline`),children:s}):(0,v.jsx)(`span`,{className:c,title:a,"data-slot":`file-restricted`,...n?{role:`img`,"aria-label":i}:{},children:s})}function ye({view:e,fallback:t,className:n,icon:r=!0}){if(e.metadataRefused)return(0,v.jsx)(ve,{view:e,className:n,icon:r});let i=e.url?.trim();if(!i)return(0,v.jsx)(v.Fragment,{children:t});let a=e.name;return(0,v.jsxs)(`a`,{href:i,target:`_blank`,rel:`noopener noreferrer`,title:a,onClick:e=>e.stopPropagation(),"data-slot":`file-download-link`,className:(0,m.cn)(`inline-flex min-w-0 max-w-full items-center gap-1 align-middle text-blue-600 hover:text-blue-800 hover:underline`,n),children:[r&&(0,v.jsx)(h.File,{className:`size-3 shrink-0`,"aria-hidden":`true`}),(0,v.jsx)(`span`,{className:`truncate`,children:a})]})}var be=o((()=>{}));function Z(e){if(e==null||typeof e==`number`||typeof e==`boolean`||typeof e==`string`)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.externalId||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.externalId||t.id||t._id||`[Object]`)}return String(e)}var xe=o((()=>{})),Se=s({default:()=>Ce});function Ce({value:e}){return(0,v.jsx)(`div`,{className:`prose prose-sm max-w-none dark:prose-invert break-words`,children:(0,v.jsx)(y.default,{remarkPlugins:[b.default],rehypePlugins:[x.default],children:e})})}var we=o((()=>{}));function Te(e){let t=Z(e);if(t!=null&&t!==``)return String(t)}function Ee({value:e}){let t=Te(e);return t===void 0?(0,v.jsx)(m.EmptyValue,{}):(0,v.jsx)(u.default.Suspense,{fallback:(0,v.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:t.slice(0,80)}),children:(0,v.jsx)(Ae,{value:t})})}function De(e){return e.replace(/<\s*(script|style|iframe|object|embed)[^>]*>[\s\S]*?<\s*\/\s*\1\s*>/gi,``).replace(/\son\w+\s*=\s*("[^"]*"|'[^']*'|[^\s>]+)/gi,``).replace(/(href|src)\s*=\s*("javascript:[^"]*"|'javascript:[^']*')/gi,`$1="#"`)}function Oe({value:e}){let t=Te(e);return t===void 0?(0,v.jsx)(m.EmptyValue,{}):(0,v.jsx)(`div`,{className:`prose prose-sm max-w-none dark:prose-invert break-words`,dangerouslySetInnerHTML:{__html:De(t)}})}function ke(e){return je[e]}var Ae,je,Me,Ne=o((()=>{xe(),Ae=u.default.lazy(()=>Promise.resolve().then(()=>(we(),Se))),je={markdown:Ee,html:Oe,richtext:Oe},Me=Object.keys(je)}));function Pe(e){Ie=e}function Fe(){return Ie}var Ie,Le=o((()=>{}));j(),ne(),oe(),ce(),X(),be(),Ne(),Le();var Re={select:`field:multiselect`},ze=`field:`;function Be(e,t){return t?.multiple&&Re[e]?Re[e]:{text:`field:text`,textarea:`field:textarea`,markdown:`field:markdown`,html:`field:html`,richtext:`field:richtext`,secret:`field:password`,number:`field:number`,currency:`field:currency`,percent:`field:percent`,slider:`field:slider`,progress:`field:slider`,rating:`field:rating`,date:`field:date`,datetime:`field:datetime`,time:`field:time`,boolean:`field:boolean`,toggle:`field:boolean`,select:`field:select`,multiselect:`field:multiselect`,radio:`field:radio`,checkboxes:`field:checkboxes`,tags:`field:tags`,lookup:`field:lookup`,master_detail:`field:master_detail`,tree:`field:lookup`,user:`field:user`,email:`field:email`,phone:`field:phone`,url:`field:url`,file:`field:file`,image:`field:image`,avatar:`field:avatar`,video:`field:file`,audio:`field:file`,signature:`field:signature`,password:`field:password`,location:`field:location`,geolocation:`field:geolocation`,address:`field:address`,color:`field:color`,code:`field:code`,json:`field:object`,qrcode:`field:qrcode`,vector:`field:vector`,object:`field:object`,composite:`field:object`,record:`field:object`,repeater:`field:grid`,formula:`field:formula`,summary:`field:summary`,autonumber:`field:auto_number`,auto_number:`field:auto_number`}[e]||((0,d.reportRetiredFieldType)(e)?`${ze}${e}`:`field:text`)}function Ve(e){return e.inlineHelpText||e.description||void 0}var He={checkbox:`boolean`,reference:`lookup`,"datetime-local":`datetime`};function Ue(e){return Hl(He[e]??e)}function We(e){return e.name??e.field}function Ge(e,t){if(e)return Ke(e)?e:e.map(e=>typeof e.label==`string`?e:{...e,label:(0,S.resolveI18nLabel)(e.label,t)??e.value})}function Ke(e){return e.every(e=>typeof e.label==`string`)}function qe(e){return e.field??e.name}var Je=(()=>{let e="It is inherited from the referenced field — make the param field-backed (`{ field: '<lookup_field>' }`) to pick it up.";return{referenceTo:"Use `reference` instead — `reference: '<object>'` is the spec's spelling for an inline picker target, and the only one this resolver reads.",displayField:e,idField:e,descriptionField:e,titleFormat:e,lookupColumns:e,lookupFilters:e,lookupPageSize:e,dependsOn:e}})();function Ye(e){if(process.env.NODE_ENV===`production`)return;let t=e;for(let n of Object.keys(Je))t[n]!==void 0&&console.warn(`[resolveActionParams] Param "${We(e)??`(unnamed)`}" declares \`${n}\`, which is not an authorable action-param key: it belongs to the RESOLVED \`ActionParamDef\`, \`@objectstack/spec\`'s \`ActionParamSchema\` rejects it at parse time, and this resolver ignores it. `+Je[n])}function Xe(e,t,n,r){if(Array.isArray(e)&&e.length!==0)return e.map(e=>{let i=typeof e==`string`?{label:e,value:e}:e,a=r?r(t,n,i.value,i.label):i.label;return{...i,label:a,value:i.value}})}function Ze(e){if(typeof e==`string`)return e||void 0;if(e&&typeof e==`object`&&typeof e.source==`string`)return e.source||void 0}function Qe(e,t){let n=t.objects.find(e=>e?.name===t.objectName);return(0,d.toPredicateRecord)(e,n?.fields)}function $e(e,t){Ye(e);let n=qe(e),r=e.defaultFromRow&&t.row&&n!=null&&Object.prototype.hasOwnProperty.call(t.row,n)?Qe(t.row,t)[n]:void 0,i=(0,S.resolveI18nLabel)(e.label,t.locale),a=Ge(e.options,t.locale);if(!e.field)return{name:e.name??``,label:i??e.name??``,type:e.type??`text`,required:e.required??!1,options:a,placeholder:e.placeholder,helpText:e.helpText,defaultValue:r??e.defaultValue,visible:Ze(e.visible),carryOver:e.carryOver,multiple:e.multiple,accept:e.accept,maxSize:e.maxSize,referenceTo:e.reference};let o=e.objectOverride??t.objectName,s=t.objects.find(e=>e?.name===o)?.fields?.[e.field];if(!s)return process.env.NODE_ENV!==`production`&&console.warn(`[resolveActionParams] Param "${We(e)??e.field}" is field-backed (\`{ field: '${e.field}' }\`) but \`${o}.${e.field}\` is not in the object metadata this resolver was given, so its type, options and picker target are all unknown. The action dialog refuses the param instead of rendering an input for a contract it cannot read. Check the field name, the owning object (\`objectOverride\`), and that the object metadata has loaded.`),{unresolvedField:`${o}.${e.field}`,name:We(e)??e.field,label:i??t.fieldLabel(o,e.field,e.field),type:e.type??`text`,required:e.required??!1,options:a,placeholder:e.placeholder,helpText:e.helpText,defaultValue:r??e.defaultValue,visible:Ze(e.visible),carryOver:e.carryOver,multiple:e.multiple,accept:e.accept,maxSize:e.maxSize,referenceTo:e.reference};let c=e.type??s.type??`text`,l=a??Xe(s.options,o,e.field,t.fieldOptionLabel),u=i??t.fieldLabel(o,e.field,s.label??e.field),f=d.EXPANDABLE_FIELD_TYPES.has(Ue(c))?{referenceTo:e.reference??s.reference,displayField:s.displayField??s.reference_field,idField:s.id_field,descriptionField:s.descriptionField??s.description_field,titleFormat:s.title_format,lookupColumns:s.lookupColumns,lookupFilters:s.lookupFilters??s.lookup_filters,lookupPageSize:s.lookupPageSize,dependsOn:s.dependsOn}:{};return{name:We(e)??e.field,label:u,type:c,required:e.required??s.required??!1,options:l,placeholder:e.placeholder??s.placeholder,helpText:e.helpText??Ve(s),defaultValue:r??e.defaultValue??s.defaultValue,visible:Ze(e.visible),carryOver:e.carryOver,multiple:e.multiple??s.multiple,accept:e.accept??s.accept,maxSize:e.maxSize??s.maxSize,...f}}function et(e,t){let n=e=>{let t=e?.name;return typeof t==`string`&&t?t:void 0},r=Array.isArray(e)?[...e]:[],i=new Set;for(let e of r){let t=n(e);t&&i.add(t)}if(!Array.isArray(t))return r;for(let e of t){let t=n(e);t&&!i.has(t)&&(i.add(t),r.push(e))}return r}function tt(e,t){return Array.isArray(e)?e.map(e=>$e(e,t)):[]}function Q(e){return(0,d.pickDomProps)(e,nt)}var nt,$=o((()=>{nt=[`id`,`name`,`autoFocus`,`tabIndex`,`onBlur`,`onFocus`,`onClick`,`className`,`disabled`]}));$();var rt=[`error`,`onUploadingChange`,`dataSource`,`dependentValues`,`dependsOn`,`dependsOnLabels`,`emptyHint`,`onSelectRecord`,`onCreateNew`];function it(e){let t=new Set(rt),n={};for(let r of Object.keys(e))t.has(r)&&(n[r]=e[r]);return n}var at=s({TextField:()=>ot});function ot({value:e,onChange:t,field:n,readonly:r,error:i,...a}){let o=n;if(r)return(0,v.jsx)(`span`,{className:`text-sm`,children:e||(0,v.jsx)(m.EmptyValue,{})});let s=o?.rows,c=Q(a),l=o?.maxLength;return s&&s>1?(0,v.jsx)(m.Textarea,{...c,value:e||``,onChange:e=>t(e.target.value),placeholder:o?.placeholder,maxLength:l,disabled:r||c.disabled,"aria-invalid":!!i}):(0,v.jsx)(m.Input,{...c,type:o?.type===`password`?`password`:`text`,value:e||``,onChange:e=>t(e.target.value),placeholder:o?.placeholder,maxLength:l,disabled:r||c.disabled,"aria-invalid":!!i})}var st=o((()=>{}));function ct(e){return(0,v.jsx)(m.FullscreenEditor,{...e})}var lt=o((()=>{})),ut=s({TextAreaField:()=>dt});function dt({value:e,onChange:t,field:n,readonly:r,error:i,...a}){let o=n,s=o?.maxLength,c=(0,u.useId)(),l=`${c}-charcount`,d=`${c}-fullscreen-charcount`;if(r)return(0,v.jsx)(`div`,{className:`text-sm whitespace-pre-wrap`,children:e||(0,v.jsx)(m.EmptyValue,{})});let f=o?.rows||4,p=!!o?.mobile_fullscreen,h=Q(a),g=!!h.disabled,_=[h[`aria-describedby`],s?l:void 0].filter(Boolean).join(` `)||void 0;return(0,v.jsxs)(`div`,{className:`relative`,children:[(0,v.jsx)(m.Textarea,{...h,value:e||``,onChange:e=>t(e.target.value),placeholder:o?.placeholder,disabled:r||g,rows:f,maxLength:s,"aria-invalid":!!i,"aria-describedby":_,className:h.className}),s&&(0,v.jsx)(m.CharacterCount,{length:(e||``).length,maxLength:s,descriptionId:l,announceNearLimit:!0,className:`absolute bottom-2 right-2 text-xs text-gray-400`,testId:`textarea-character-count`}),p&&(0,v.jsx)(ct,{value:e??``,onCommit:t,label:o?.label,testIdPrefix:`textarea`,disabled:g,error:i,footer:e=>s?(0,v.jsx)(m.CharacterCount,{length:e.length,maxLength:s,descriptionId:d,announceNearLimit:!1,className:`text-xs text-muted-foreground self-center`,testId:`textarea-fullscreen-character-count`}):null,children:(e,t,n,r)=>(0,v.jsx)(m.Textarea,{autoFocus:!0,value:e,onChange:e=>t(e.target.value),disabled:n,maxLength:s,placeholder:o?.placeholder,...r,"aria-describedby":s?d:void 0,className:`h-full min-h-full resize-none text-base`,"data-testid":`textarea-fullscreen-input`})})]})}var ft=o((()=>{lt(),$()}));function pt(e,t){return e(`fields.number.badInput`,{example:t})}function mt(e){let[t,n]=(0,u.useState)(null),{t:r}=ie();return{refusal:t,readBadInput:(0,u.useCallback)(t=>{let i=t?.validity?.badInput===!0;return n(i?pt(r,e):null),i},[e,r])}}function ht({refusal:e}){return e?(0,v.jsx)(`p`,{className:`text-xs text-red-500`,children:e}):null}var gt,_t=o((()=>{H(),gt=`border-red-500 focus-visible:ring-red-500`})),vt=s({NumberField:()=>yt});function yt({value:e,onChange:t,field:n,readonly:r,error:i,...a}){let{refusal:o,readBadInput:s}=mt(`1234`),c=(0,p.useDisplayLocale)();if(r)return e==null?(0,v.jsx)(m.EmptyValue,{}):(0,v.jsx)(`span`,{className:`text-sm`,children:typeof e==`number`?R(e,n,c):e});let l=n,u=l?.scale,d=typeof l?.step==`number`?l.step:typeof u==`number`?10**-u:`any`,f=Q(a),h=e=>{s(e.target),f.onBlur?.(e)};return(0,v.jsxs)(`div`,{className:`space-y-1`,children:[(0,v.jsx)(m.Input,{...f,type:`number`,value:e??``,onChange:e=>{s(e.target);let n=e.target.value;t(n===``?null:Number(n))},onBlur:h,placeholder:l?.placeholder,disabled:r||f.disabled,className:(0,m.cn)(o?gt:``,f.className),min:typeof l?.min==`number`?l.min:void 0,max:typeof l?.max==`number`?l.max:void 0,step:d,"aria-invalid":!!i||!!o}),(0,v.jsx)(ht,{refusal:o})]})}var bt=o((()=>{$(),_t()})),xt=s({CurrencyField:()=>St});function St({value:e,onChange:t,field:n,readonly:r,error:i,className:a,...o}){let s=n,{currency:c}=(0,p.useLocalization)(),l=(0,p.useDisplayLocale)(),u=(0,p.resolveFieldCurrency)(s,c),d=z(u),{refusal:f,readBadInput:h}=mt(`1234.56`);if(r)return e==null?(0,v.jsx)(m.EmptyValue,{}):(0,v.jsx)(`span`,{className:`text-sm font-medium tabular-nums`,children:B(Number(e),u,l)});let g=Q(o),_=e=>{h(e.target);let n=parseFloat(e.target.value);isNaN(n)||t(parseFloat(n.toFixed(d))),g.onBlur?.(e)},y=u?N(u,l):``;return(0,v.jsxs)(`div`,{className:`space-y-1`,children:[(0,v.jsxs)(`div`,{className:`relative`,children:[y&&(0,v.jsx)(`span`,{className:`absolute left-3 top-1/2 -translate-y-1/2 text-sm text-gray-500`,children:y}),(0,v.jsx)(m.Input,{...g,type:`number`,value:e??``,onChange:e=>{h(e.target),t(e.target.value===``?null:parseFloat(e.target.value))},onBlur:_,placeholder:s?.placeholder||`0.00`,disabled:r||o.disabled,className:(0,m.cn)(y?`pl-8`:``,f?gt:``,a),min:typeof s?.min==`number`?s.min:void 0,max:typeof s?.max==`number`?s.max:void 0,step:(10**-d).toFixed(d),"aria-invalid":!!i||!!f})]}),(0,v.jsx)(ht,{refusal:f})]})}var Ct=o((()=>{$(),L(),_t(),ne()})),wt=s({PercentField:()=>Tt});function Tt({value:e,onChange:t,field:n,readonly:r,error:i,className:a,...o}){let s=n,c=(0,f.resolveFieldScale)({type:`percent`,scale:s?.scale}),{refusal:l,readBadInput:u}=mt(`12.5`),d=(0,p.useDisplayLocale)(),{t:h}=ie(),g=typeof s?.max==`number`?s.max:void 0,_=(0,f.percentScaleOf)({type:`percent`,max:g})===`whole`,y=e=>_?e:e*100,b=e=>_?e:Et(e),x=_?g:100;if(r)return e==null?(0,v.jsx)(m.EmptyValue,{}):(0,v.jsx)(`span`,{className:`text-sm font-medium tabular-nums`,children:te(y(e),c,d)});let S=e==null?``:y(e),C=e==null?0:y(e),w=e=>{if(u(e.target),e.target.value===``){t(null);return}let n=parseFloat(e.target.value);t(isNaN(n)?null:b(n))},T=Q(o),E=e=>{u(e.target),T.onBlur?.(e)},D=e=>{if(r||o.disabled)return;if(!Array.isArray(e)||e.length===0){t(null);return}let n=e[0];t(typeof n==`number`?b(n):null)},O=10**-c;return(0,v.jsxs)(`div`,{className:`space-y-2`,children:[(0,v.jsxs)(`div`,{className:`relative`,children:[(0,v.jsx)(m.Input,{...T,type:`number`,value:S,onChange:w,onBlur:E,placeholder:s?.placeholder||`0`,disabled:r||o.disabled,className:(0,m.cn)(`pr-8`,l?gt:``,a),step:(10**-c).toFixed(c),"aria-invalid":!!i||!!l}),(0,v.jsx)(`span`,{className:`absolute right-3 top-1/2 -translate-y-1/2 text-sm text-gray-500`,children:`%`})]}),(0,v.jsx)(ht,{refusal:l}),(0,v.jsx)(m.Slider,{value:[C],onValueChange:D,min:0,max:x,step:O,disabled:r||o.disabled,className:`w-full`,"aria-label":h(`fields.percent.slider`),"data-testid":`percent-slider`})]})}var Et,Dt=o((()=>{$(),_t(),ne(),H(),Et=e=>{if(!Number.isFinite(e))return e;let[t,n]=String(e).split(`e`);return Number(`${t}e${n?Number(n)-2:-2}`)}}));function Ot(e,t){let{id:n,"aria-labelledby":r,"aria-describedby":i}=Q(e);return{id:n,"aria-labelledby":r,...t===`instead-of-the-inputs`?{"aria-describedby":i}:null,...r==null?null:{role:`group`}}}function kt(e){let{id:t,"aria-describedby":n}=Q(e);return{id:t,"aria-describedby":n}}var At=o((()=>{$()})),jt=s({SliderField:()=>Mt});function Mt({value:e,onChange:t,field:n,readonly:r,error:i,...a}){let o=n,s=o?.min??0,c=o?.max??100,l=o?.step??1;if(r)return(0,v.jsxs)(`div`,{...Ot(a,`instead-of-the-inputs`),className:`flex items-center gap-2`,children:[(0,v.jsx)(`span`,{className:`text-sm font-medium`,children:e??s}),(0,v.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[`/ `,c]})]});let{name:u,disabled:d,className:f,...p}=Q(a);return(0,v.jsxs)(`div`,{className:`flex items-center gap-4`,children:[(0,v.jsx)(m.Slider,{name:u,value:[e??s],onValueChange:e=>t(e[0]),min:s,max:c,step:l,disabled:r||a.disabled,className:a.className,thumbProps:{...p,"aria-invalid":!!i}}),(0,v.jsx)(`span`,{className:`text-sm font-medium w-12 text-right`,children:e??s})]})}var Nt=o((()=>{$(),At()})),Pt=s({RatingField:()=>Ft});function Ft({value:e,onChange:t,field:n,readonly:r,className:i,error:a,...o}){let s=n?.max??5,c=e??0,[l,d]=u.default.useState(null),f=l===null?c:l;if(r)return(0,v.jsxs)(`div`,{...Ot(o,`instead-of-the-inputs`),className:(0,m.cn)(`flex items-center gap-1`,i),children:[Array.from({length:s},(e,t)=>(0,v.jsx)(h.Star,{className:`w-5 h-5 ${t<c?`fill-yellow-400 text-yellow-400`:`text-muted-foreground`}`},t)),(0,v.jsxs)(`span`,{className:`ml-2 text-sm text-muted-foreground`,children:[c,` / `,s]})]});let{"aria-invalid":p,name:g,..._}=Q(o),y=_[`aria-labelledby`]!=null;return(0,v.jsxs)(`div`,{..._,role:y?`group`:void 0,className:(0,m.cn)(`flex items-center gap-1`,i),children:[Array.from({length:s},(e,n)=>(0,v.jsx)(`button`,{type:`button`,onClick:()=>t(n+1),onMouseEnter:()=>d(n+1),onMouseLeave:()=>d(null),className:`focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 rounded`,disabled:r||o.disabled,"aria-invalid":!!a,children:(0,v.jsx)(h.Star,{className:`w-5 h-5 transition-colors ${n<f?`fill-yellow-400 text-yellow-400 hover:fill-yellow-500 hover:text-yellow-500`:`text-muted-foreground hover:text-yellow-400`}`})},n)),(0,v.jsxs)(`span`,{className:`ml-2 text-sm text-muted-foreground`,children:[c,` / `,s]})]})}var It=o((()=>{$(),At()})),Lt=s({BooleanField:()=>Rt});function Rt({value:e,onChange:t,field:n,readonly:r,error:i,...a}){let o=n,s=o?.widget,c=(0,u.useId)(),l=U(),d=a.id,f=d||o?.name||c,p=o?.label||`Checkbox`,h=!d;if(r)return typeof e==`boolean`?(0,v.jsx)(`span`,{className:`text-sm`,children:l(e)}):(0,v.jsx)(m.EmptyValue,{});let g=Q(a);return s===`checkbox`?(0,v.jsxs)(`div`,{className:`flex items-center space-x-2`,children:[(0,v.jsx)(m.Checkbox,{...g,id:f,checked:!!e,onCheckedChange:e=>t(!!e),disabled:r||g.disabled,"aria-invalid":!!i}),h&&(0,v.jsx)(m.Label,{htmlFor:f,className:`sr-only`,children:p})]}):(0,v.jsxs)(`div`,{className:`flex items-center space-x-2`,children:[(0,v.jsx)(m.Switch,{...g,id:f,checked:!!e,onCheckedChange:t,disabled:r||g.disabled,"aria-invalid":!!i}),h&&(0,v.jsx)(m.Label,{htmlFor:f,className:`sr-only`,children:p})]})}var zt=o((()=>{$()}));function Bt({emptyHint:e,gated:t,dependsOnFields:n,testId:r,className:i,hostGroupProps:a,hostControlProps:o}){let{t:s}=ie(),c=e||(t?s(`fields.options.selectFirst`,{fields:n.join(s(`validation.formInvalidJoiner`))}):s(`fields.options.empty`)),l=(0,m.cn)(`flex w-full items-center rounded-md border border-input bg-muted/30 px-3 py-2 text-sm text-muted-foreground`,i);return o?(0,v.jsx)(`output`,{...o,"data-testid":r,className:l,children:c}):(0,v.jsx)(`div`,{...a,"data-testid":r,className:l,children:c})}var Vt=o((()=>{H()}));function Ht(e,t,n){let r=(0,u.useMemo)(()=>n??{},[n]),i=(0,g.usePredicateScope)();return(0,u.useMemo)(()=>(0,d.resolveCascadingOptions)(e,r,t,i),[e,r,t,i])}var Ut=o((()=>{})),Wt=s({MultiSelectField:()=>Gt});function Gt({value:e,onChange:t,field:n,readonly:r,className:i,dependentValues:a,dependsOn:o,emptyHint:s,dataSource:c,error:l,...f}){let p=n,h=p?.options||[],g=Array.isArray(e)?e:e==null?[]:[e],_=f.name||p?.name||f.id||``,{options:y,gated:b,dependsOnFields:x}=Ht(h,n?.dependsOn??o,a);(0,u.useEffect)(()=>{if(r||h.length===0||b||g.length===0)return;let e=g.filter(e=>y.some(t=>t.value===e));e.length!==g.length&&t(e)},[y,b]);let S=Ot(f,`instead-of-the-inputs`);if(r)return g.length===0?(0,v.jsx)(m.EmptyValue,{...S}):(0,v.jsx)(`div`,{...S,className:`flex flex-wrap gap-1`,children:g.map(e=>{let t=h.find(t=>t.value===e);return(0,v.jsx)(m.Badge,{variant:`outline`,children:t?(0,d.optionDisplayLabel)(t):e},e)})});if(y.length===0)return(0,v.jsx)(Bt,{emptyHint:s,gated:b,dependsOnFields:x,testId:_?`multiselect-empty-${_}`:void 0,className:`min-h-9`,hostGroupProps:S});let C=e=>{t(g.includes(e)?g.filter(t=>t!==e):[...g,e])},{"aria-invalid":w,name:T,...E}=Q(f),D=E[`aria-labelledby`]!=null,O=g.length===0?n?.placeholder:void 0;return(0,v.jsxs)(`div`,{...E,role:D?`group`:void 0,className:(0,m.cn)(`flex flex-wrap gap-1.5`,i),"data-testid":_?`multiselect-${_}`:void 0,children:[O?(0,v.jsx)(`span`,{className:`self-center text-sm text-muted-foreground`,children:O}):null,y.map(e=>{let t=String(e.value),n=g.includes(t);return(0,v.jsx)(`button`,{type:`button`,onClick:()=>C(t),disabled:f.disabled,"aria-pressed":n,"aria-invalid":!!l,"data-testid":`multiselect-option-${e.value}`,className:(0,m.cn)(`rounded-full border px-3 py-1 text-sm transition-colors`,n?`border-primary bg-primary text-primary-foreground`:`border-input bg-background text-foreground hover:bg-accent`),children:(0,d.optionDisplayLabel)(e)},t)})]})}var Kt=o((()=>{$(),At(),Vt(),Ut()})),qt=s({SelectField:()=>Jt});function Jt(e){return e.field?.multiple?(0,v.jsx)(Gt,{...e}):(0,v.jsx)(Yt,{...e})}function Yt({value:e,onChange:t,field:n,readonly:r,error:i,dependentValues:a,dependsOn:o,emptyHint:s,dataSource:c,...l}){let f=n,p=f?.options||[],{t:h}=ie(),g=l.name||f?.name||l.id||``,{options:_,gated:y,dependsOnFields:b}=Ht(p,n?.dependsOn??o,a);if((0,u.useEffect)(()=>{r||p.length!==0&&(y||e!=null&&e!==``&&((0,d.isValueStillOffered)(e,_)||t?.(null)))},[_,y]),r){let t=p.find(t=>t.value===e),n=t?(0,d.optionDisplayLabel)(t):e;return n?(0,v.jsx)(`span`,{className:`text-sm`,children:n}):(0,v.jsx)(m.EmptyValue,{})}if(_.length===0)return(0,v.jsx)(Bt,{emptyHint:s,gated:y,dependsOnFields:b,testId:g?`select-empty-${g}`:void 0,className:`h-9`,hostControlProps:kt(l)});let{name:x,disabled:S,...C}=Q(l);return(0,v.jsxs)(m.Select,{name:x,value:e===null||e===void 0&&typeof t==`function`?``:e,onValueChange:t,disabled:r||l.disabled,children:[(0,v.jsx)(m.SelectTrigger,{...C,"data-testid":g?`select-trigger-${g}`:void 0,"aria-invalid":!!i,children:(0,v.jsx)(m.SelectValue,{placeholder:f?.placeholder||h(`common.selectOption`)})}),(0,v.jsx)(m.SelectContent,{position:`popper`,children:_.map(e=>(0,v.jsx)(m.SelectItem,{value:e.value,"data-testid":`select-option-${e.value}`,children:(0,d.optionDisplayLabel)(e)},e.value))})]})}var Xt=o((()=>{H(),$(),Kt(),Vt(),At(),Ut()})),Zt=s({RadioField:()=>Qt});function Qt({value:e,onChange:t,field:n,readonly:r,className:i,dependentValues:a,dependsOn:o,emptyHint:s,dataSource:c,error:l,...f}){let p=n,h=p?.options||[],g=(0,u.useId)(),_=f.name||p?.name||f.id||``,{options:y,gated:b,dependsOnFields:x}=Ht(h,n?.dependsOn??o,a);(0,u.useEffect)(()=>{r||h.length!==0&&(b||e!=null&&e!==``&&((0,d.isValueStillOffered)(e,y)||t?.(null)))},[y,b]);let S=Ot(f,`instead-of-the-inputs`);if(r){if(e==null||e===``)return(0,v.jsx)(m.EmptyValue,{...S});let t=h.find(t=>t.value===e);return(0,v.jsx)(`span`,{...S,className:`text-sm`,children:t?(0,d.optionDisplayLabel)(t):String(e)})}return y.length===0?(0,v.jsx)(Bt,{emptyHint:s,gated:b,dependsOnFields:x,testId:_?`radio-empty-${_}`:void 0,className:`min-h-9`,hostGroupProps:S}):(0,v.jsx)(m.RadioGroup,{...Q(f),value:e??``,onValueChange:t,disabled:f.disabled,className:i,"aria-invalid":!!l,children:y.map(e=>{let t=String(e.value),n=`${g}-${t}`;return(0,v.jsxs)(`div`,{className:`flex items-center space-x-2`,children:[(0,v.jsx)(m.RadioGroupItem,{value:t,id:n,"data-testid":`radio-option-${t}`}),(0,v.jsx)(m.Label,{htmlFor:n,className:`font-normal`,children:(0,d.optionDisplayLabel)(e)})]},t)})})}var $t=o((()=>{$(),At(),Vt(),Ut()})),en=s({CheckboxesField:()=>tn});function tn({value:e,onChange:t,field:n,readonly:r,className:i,dependentValues:a,dependsOn:o,emptyHint:s,dataSource:c,error:l,...f}){let p=n,h=p?.options||[],g=Array.isArray(e)?e:e==null?[]:[e],_=(0,u.useId)(),y=f.name||p?.name||f.id||``,{options:b,gated:x,dependsOnFields:S}=Ht(h,n?.dependsOn??o,a);(0,u.useEffect)(()=>{if(r||h.length===0||x||g.length===0)return;let e=g.filter(e=>b.some(t=>t.value===e));e.length!==g.length&&t(e)},[b,x]);let C=Ot(f,`instead-of-the-inputs`);if(r)return g.length===0?(0,v.jsx)(m.EmptyValue,{...C}):(0,v.jsx)(`div`,{...C,className:`flex flex-wrap gap-1`,children:g.map(e=>{let t=h.find(t=>t.value===e);return(0,v.jsx)(m.Badge,{variant:`outline`,children:t?(0,d.optionDisplayLabel)(t):e},e)})});if(b.length===0)return(0,v.jsx)(Bt,{emptyHint:s,gated:x,dependsOnFields:S,testId:y?`checkboxes-empty-${y}`:void 0,className:`min-h-9`,hostGroupProps:C});let w=(e,n)=>{t(n?[...g.filter(t=>t!==e),e]:g.filter(t=>t!==e))},{"aria-invalid":T,name:E,...D}=Q(f),O=D[`aria-labelledby`]!=null;return(0,v.jsx)(`div`,{...D,role:O?`group`:void 0,className:i,"data-testid":y?`checkboxes-${y}`:void 0,children:b.map(e=>{let t=String(e.value),n=`${_}-${t}`;return(0,v.jsxs)(`div`,{className:`flex items-center space-x-2 py-0.5`,children:[(0,v.jsx)(m.Checkbox,{id:n,checked:g.includes(t),onCheckedChange:e=>w(t,!!e),disabled:f.disabled,"aria-invalid":!!l,"data-testid":`checkboxes-option-${t}`}),(0,v.jsx)(m.Label,{htmlFor:n,className:`font-normal`,children:(0,d.optionDisplayLabel)(e)})]},t)})})}var nn=o((()=>{$(),At(),Vt(),Ut()})),rn=s({TagsField:()=>an});function an({value:e,onChange:t,field:n,readonly:r,className:i,error:a,...o}){let s=Array.isArray(e)?e:e==null?[]:[e],[c,l]=u.default.useState(``),{t:d}=ie();if(r)return s.length===0?(0,v.jsx)(m.EmptyValue,{}):(0,v.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:s.map(e=>(0,v.jsx)(m.Badge,{variant:`secondary`,children:e},e))});let f=e=>{let n=e.trim();n&&!s.includes(n)&&(t([...s,n]),l(``))},p=e=>t(s.filter(t=>t!==e)),h=Q(o),g=e=>{f(c),h.onBlur?.(e)},_=e=>{e.key===`Enter`||e.key===`,`?(e.preventDefault(),f(c)):e.key===`Backspace`&&c===``&&s.length>0&&p(s[s.length-1])};return(0,v.jsxs)(`div`,{className:(0,m.cn)(`flex flex-wrap items-center gap-1.5 rounded-md border border-input bg-background p-1.5`,i),children:[s.map(e=>(0,v.jsxs)(m.Badge,{variant:`secondary`,className:`gap-1`,children:[e,(0,v.jsx)(`button`,{type:`button`,onClick:()=>p(e),className:`ml-0.5 rounded-full text-muted-foreground hover:text-foreground`,"aria-label":`Remove ${e}`,children:`×`})]},e)),(0,v.jsx)(m.Input,{...h,value:c,onChange:e=>l(e.target.value),onKeyDown:_,onBlur:g,disabled:o.disabled,placeholder:s.length===0?n?.placeholder||d(`fields.tags.placeholder`):``,className:`h-7 flex-1 border-0 bg-transparent p-0 px-1 shadow-none focus-visible:ring-0 min-w-[8ch]`,"aria-invalid":!!a})]})}var on=o((()=>{$(),H()}));function sn(e){if(!(e.disabled||e.readOnly))try{e.showPicker?.()}catch{}}var cn=o((()=>{})),ln=s({TimeField:()=>un});function un({value:e,onChange:t,field:n,readonly:r,error:i,...a}){if(r)return(0,v.jsx)(`span`,{className:`text-sm`,children:e||(0,v.jsx)(m.EmptyValue,{})});let o=Q(a);return(0,v.jsx)(m.Input,{...o,type:`time`,value:e||``,onChange:e=>t(e.target.value),onClick:e=>{sn(e.currentTarget),o.onClick?.(e)},disabled:r||o.disabled,"aria-invalid":!!i})}var dn=o((()=>{$(),cn()})),fn=s({EmailField:()=>pn});function pn({value:e,onChange:t,field:n,readonly:r,error:i,...a}){let o=n;if(r)return e?(0,v.jsx)(`a`,{href:`mailto:${e}`,className:`text-sm text-blue-600 hover:text-blue-800 hover:underline`,children:e}):(0,v.jsx)(m.EmptyValue,{});let s=Q(a);return(0,v.jsx)(m.Input,{...s,type:`email`,value:e||``,onChange:e=>t(e.target.value),placeholder:o?.placeholder||`email@example.com`,disabled:r||s.disabled,"aria-invalid":!!i})}var mn=o((()=>{$()})),hn=s({PhoneField:()=>gn});function gn({value:e,onChange:t,field:n,readonly:r,error:i,...a}){let o=n;if(r)return e?(0,v.jsx)(`a`,{href:`tel:${e}`,className:`text-sm text-blue-600 hover:text-blue-800 hover:underline`,children:e}):(0,v.jsx)(m.EmptyValue,{});let s=Q(a);return(0,v.jsx)(m.Input,{...s,type:`tel`,value:e||``,onChange:e=>t(e.target.value),placeholder:o?.placeholder||`(555) 123-4567`,disabled:r||s.disabled,"aria-invalid":!!i})}var _n=o((()=>{$()})),vn=s({UrlField:()=>yn});function yn({value:e,onChange:t,field:n,readonly:r,error:i,...a}){let o=n;if(r)return e?e.startsWith(`http://`)||e.startsWith(`https://`)?(0,v.jsx)(`a`,{href:e,target:`_blank`,rel:`noopener noreferrer`,className:`text-sm text-blue-600 hover:text-blue-800 hover:underline`,children:e}):(0,v.jsx)(`span`,{className:`text-sm`,children:e}):(0,v.jsx)(m.EmptyValue,{});let s=Q(a);return(0,v.jsx)(m.Input,{...s,type:`url`,value:e||``,onChange:e=>t(e.target.value),placeholder:o?.placeholder||`https://example.com`,disabled:r||s.disabled,"aria-invalid":!!i})}var bn=o((()=>{$()}));function xn(e){return e==null?!1:Array.isArray(e)?e.length>0:typeof e==`object`&&Object.keys(e).length>0}function Sn(e){let{dataSource:t,objectName:n,enabled:r=!0,pageSize:i=50,paginate:a=!1,filter:o,expand:s,searchFields:c,debounceMs:l=300}=e,[d,f]=(0,u.useState)([]),[p,m]=(0,u.useState)(!1),[h,g]=(0,u.useState)(null),[_,v]=(0,u.useState)(0),[y,b]=(0,u.useState)(1),[x,S]=(0,u.useState)(``),[C,w]=(0,u.useState)(``),[T,E]=(0,u.useState)(null),D=(0,u.useRef)(null),O=(0,u.useRef)(0),k=(0,u.useCallback)(()=>{D.current&&=(clearTimeout(D.current),null)},[]),ee=(0,u.useMemo)(()=>xn(o)?JSON.stringify(o):``,[o]),A=(0,u.useMemo)(()=>s?.length?s.join(`,`):``,[s]),j=(0,u.useMemo)(()=>c?.length?c.join(`,`):``,[c]),M=!!r&&!!t&&typeof t.find==`function`&&!!n,N=(0,u.useCallback)(async(e,r,l)=>{if(!M||!t||!n)return;let u=++O.current,d=()=>O.current===u;m(!0),g(null);try{let u={$top:i};a&&(u.$skip=(r-1)*i),e&&e.trim()&&(u.$search=e.trim()),c&&c.length>0&&(u.$searchFields=c),l&&(u.$orderby={[l.field]:l.direction}),xn(o)&&(u.$filter=o),s&&s.length>0&&(u.$expand=s);let p=await t.find(n,u);if(!d())return;let m=p?.data??p??[];f(m),v(p?.total??m.length),w(e)}catch(t){if(!d())return;g(t instanceof Error?t.message:String(t)),f([]),w(e)}finally{d()&&m(!1)}},[M,t,n,i,a,ee,A,j]);(0,u.useEffect)(()=>{M&&N(x,y,T)},[M,y,T,N]);let P=(0,u.useCallback)(()=>{O.current+=1,k(),m(!1),f([]),g(null),S(``),w(``),b(1),E(null)},[k]);(0,u.useEffect)(()=>{M||P()},[M,P]),(0,u.useEffect)(()=>()=>k(),[N,y,T,k]);let F=(0,u.useCallback)(e=>{S(e),b(1),k(),D.current=setTimeout(()=>{N(e,1,T)},l)},[N,T,l,k]),I=(0,u.useCallback)(e=>{b(e)},[]),L=(0,u.useCallback)(e=>{E(t=>t&&t.field===e?{field:e,direction:t.direction===`asc`?`desc`:`asc`}:{field:e,direction:`asc`}),b(1)},[]),R=(0,u.useCallback)(e=>{E(e),b(1)},[]),z=(0,u.useCallback)(()=>{N(x,y,T)},[N,x,y,T]);return{records:d,loading:p,error:h,total:_,totalPages:Math.max(1,Math.ceil(_/Math.max(1,i))),page:y,search:x,answeredSearch:C,sort:T,setPage:I,setSearch:F,toggleSort:L,setSort:R,reset:P,refetch:z}}var Cn=o((()=>{}));function wn(e){if(!e||typeof e!=`object`)return;let t=e,n=t.fields;if(!n||typeof n!=`object`)return;let r=Array.isArray(n)?n.map(e=>[e?.name,e]):Object.entries(n),i={};for(let[e,t]of r)typeof e==`string`&&t&&typeof t==`object`&&t.internal!==!0&&(i[e]=t);let a=Array.isArray(t.searchableFields)?t.searchableFields.filter(e=>typeof e==`string`):void 0;return(0,f.resolveSearchFieldResolution)({fields:i,searchableFields:a}).allowed.length>0}var Tn=o((()=>{}));function En(e){return typeof e==`string`?{field:e}:e}function Dn(e){return e.replace(/_/g,` `).replace(/([a-z])([A-Z])/g,`$1 $2`).replace(/\b\w/g,e=>e.toUpperCase())}function On(e,t,n,r){let i=e?.options;if(!Array.isArray(i)||i.length===0)return;let a=i;return t?r(t,n,a):a}function kn(e,t,n,r){let i={};for(let a of e){let e=t?.[a.field],o=a.type??e?.type;if(!o)continue;let s=e?{...e,name:a.field,type:o}:{name:a.field,type:o},c=On(e,n,a.field,r);c&&(s.options=c),i[a.field]=s}return i}function An(e,t,n){let{descriptors:r,cellRenderer:i,objectSchema:a,titleField:o,displayField:s,displayLocale:c}=n;if(a&&t.field===s){let t=(0,d.getRecordDisplayName)(a,e,{titleField:o}),n=e?.id??e?._id;if(!(t===`Untitled`||n!=null&&t===`Record #${n}`))return t}let l=e?.[t.field],u=r[t.field];if(u&&i){let e=i(u.type);if(e)return(0,v.jsx)(e,{value:l,field:u})}return l==null?``:typeof l==`object`?l.$numberDecimal?String(Number(l.$numberDecimal)):l.$oid?String(l.$oid):l.$date?(0,d.formatDate)(l.$date,void 0,{locale:c}):l.name||l.label?String(l.name||l.label):JSON.stringify(l):typeof l==`boolean`?(0,v.jsx)(ae,{value:l}):String(l)}var jn=o((()=>{oe()}));function Mn(e,t){return Hn[(t?Math.max(e,Wn):e)-1]??Un}function Nn(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}}return t}function Pn(e){return e==null?void 0:String(e)}function Fn(e,t){let n=e?.find(e=>String(e.value)===t);return n?n.value:t}function In(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 Ln({children:e}){let t=(0,g.useRelatedRecordActions)();return t?(0,v.jsx)(g.RelatedRecordActionsProvider,{value:{...t,recordHref:void 0,openRecord:void 0},children:e}):(0,v.jsx)(v.Fragment,{children:e})}function Rn({open:e,onOpenChange:t,title:n=`Select Record`,multiple:r=!1,dataSource:i,objectName:a,columns:o,displayField:s,objectSchema:c,idField:l=`id`,pageSize:f=zn,value:g,onSelect:y,onSelectRecords:b,lookupFilters:x,baseFilter:S,cellRenderer:C,fieldsMeta:w,filterColumns:T,renderFilterBar:E,renderGrid:D}){let O=s??`name`,{t:k}=ie(),{translateOptions:ee}=(0,p.useSafeFieldLabel)(),A=(0,p.useDisplayLocale)(),[j,M]=(0,u.useState)(new Set),N=(0,u.useRef)(new Map),[P,F]=(0,u.useState)(-1),I=(0,u.useRef)(null),[L,R]=(0,u.useState)(!1),[z,B]=(0,u.useState)({}),[V,te]=(0,u.useState)({}),ne=(0,u.useRef)(null),[re,H]=(0,u.useState)(``),U=(0,u.useMemo)(()=>o&&o.length>0?o.map(En):[{field:O,label:Dn(O)}],[o,O]),ae=(0,u.useMemo)(()=>kn(U,w,a,ee),[U,w,a,ee]),oe=(0,_.usePermissions)(),se=(0,u.useMemo)(()=>{let e=U.filter(e=>e.field!==l);if(e.length===0)return[];let t=(0,d.buildExpandFields)(w,e);return oe.isLoaded?t.filter(e=>oe.checkField(a,e,`read`)):t},[w,U,l,oe,a]),ce=(0,u.useMemo)(()=>{if(!oe.isLoaded)return U;let e=U.filter(e=>e.field===l||oe.checkField(a,e.field,`read`));return e.length>0?e:[{field:l,label:Dn(l)}]},[U,oe,a,l]),le=(0,u.useMemo)(()=>{if(T&&T.length>0)return T;if(x&&x.length>0)return x.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:Dn(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}})}:{}}})},[T,x]),W=(0,u.useMemo)(()=>{if(le)return le.map(e=>{if(e.type!==`select`||e.options&&e.options.length>0)return e;let t=On(w?.[e.field],a,e.field,ee);return t?{...e,options:t}:e})},[le,w,a,ee]),ue=(0,u.useMemo)(()=>{let e=x?.length?Nn(x):{},t=W?.length?In(z,W):{},n=Array.isArray(S)?S:void 0,r=n?void 0:S,i={...e,...t,...r??{}},a=Object.keys(i).length>0?i:void 0;if(!n)return{ok:!0,node:a};let o=(0,d.toFilterNodeSafely)(a);if(!o.ok)return o;let s=(0,d.toFilterNodeSafely)(n);return s.ok?{ok:!0,node:(0,d.mergeFilterNodes)(o.node,s.node)}:s},[x,W,z,S]),de=ue.ok?void 0:ue.refusal,G=Sn({dataSource:i,objectName:a,enabled:e&&ue.ok,pageSize:f,paginate:!0,filter:ue.ok?ue.node:void 0,expand:se}),{records:K,loading:fe}=G,q=de?de.message:G.error,J=G.total,pe=G.totalPages,me=G.search,Y=G.page,he=G.sort?.field??null,ge=G.sort?.direction??`asc`,X=G.setPage,_e=G.toggleSort,ve=G.setSearch,ye=wn(c)!==!1;(0,u.useEffect)(()=>{e||(F(-1),R(!1),B({}),te({}),H(``),M(new Set(r&&Array.isArray(g)?g:[])),N.current.clear())},[e]),(0,u.useEffect)(()=>{e&&r&&M(new Set(Array.isArray(g)?g:[]))},[e,r,g]),(0,u.useEffect)(()=>{F(-1)},[K]);let be=(0,u.useCallback)(e=>e[l]??e.id??e._id,[l]),Z=(0,u.useCallback)(e=>{let t=be(e);return r?j.has(t):g===t},[r,g,j,be]),xe=(0,u.useCallback)(e=>{let n=be(e),i=(0,d.toPredicateRecord)(e,w);r?M(e=>{let t=new Set(e);return t.has(n)?(t.delete(n),N.current.delete(n)):(t.add(n),N.current.set(n,i)),t}):(y(n),b?.([i]),t(!1))},[r,be,w,y,b,t]),Se=(0,u.useCallback)(()=>{let e=K.map(e=>({rid:be(e),selected:(0,d.toPredicateRecord)(e,w)}));M(t=>{let n=new Set(t),r=e.length>0&&e.every(({rid:e})=>n.has(e));for(let{rid:t,selected:i}of e)r?(n.delete(t),N.current.delete(t)):n.has(t)||(n.add(t),N.current.set(t,i));return n})},[K,be,w]),Ce=(0,u.useCallback)(()=>{let e=Array.from(j);y(e);let n=e.map(e=>N.current.get(e)).filter(Boolean);b?.(n),t(!1)},[j,y,b,t]),we=(0,u.useCallback)(()=>{X(Math.max(1,Y-1))},[X,Y]),Te=(0,u.useCallback)(()=>{X(Math.min(pe,Y+1))},[X,Y,pe]),Ee=(0,u.useCallback)(e=>{if(e.key!==`Enter`)return;let t=parseInt(re,10);!isNaN(t)&&t>=1&&t<=pe&&X(t),H(``)},[re,pe]),De=(0,u.useCallback)(e=>{K.length!==0&&(e.key===`ArrowDown`?(e.preventDefault(),F(e=>Math.min(e+1,K.length-1))):e.key===`ArrowUp`?(e.preventDefault(),F(e=>Math.max(e-1,0))):(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),P>=0&&P<K.length&&xe(K[P])))},[K,P,xe]);(0,u.useEffect)(()=>{if(P>=0&&I.current){let e=I.current.querySelector(`[data-row-index="${P}"]`);e&&typeof e.scrollIntoView==`function`&&e.scrollIntoView({block:`nearest`})}},[P]);let Oe=(0,u.useCallback)((e,t)=>An(c&&t.field===O?(0,d.withoutDeniedFields)((0,d.toPredicateRecord)(e,w),oe,a,[l]):e,t,{descriptors:ae,cellRenderer:C?e=>C(Gn.has(e)?Kn:e):void 0,objectSchema:c,titleField:s,displayField:O,displayLocale:A}),[C,c,s,O,w,ae,A,oe,a,l]),ke=(0,u.useCallback)(e=>he===e?ge===`asc`?(0,v.jsx)(h.ArrowUp,{className:`ml-1 size-3`}):(0,v.jsx)(h.ArrowDown,{className:`ml-1 size-3`}):(0,v.jsx)(h.ArrowUpDown,{className:`ml-1 size-3 opacity-40`}),[he,ge]),Ae=(0,u.useCallback)((e,t,n)=>{e.preventDefault(),e.stopPropagation(),ne.current={field:t,startX:e.clientX,startWidth:n};let r=e=>{if(!ne.current)return;let t=e.clientX-ne.current.startX,n=Math.max(Bn,ne.current.startWidth+t);te(e=>({...e,[ne.current.field]:n}))},i=()=>{ne.current=null,document.removeEventListener(`mousemove`,r),document.removeEventListener(`mouseup`,i)};document.addEventListener(`mousemove`,r),document.addEventListener(`mouseup`,i)},[]),je=(0,u.useCallback)((e,t)=>{B(n=>({...n,[e]:t})),X(1)},[]),Me=(0,u.useCallback)(()=>{B({}),X(1)},[]),Ne=(0,u.useMemo)(()=>Object.values(z).filter(e=>e!=null&&e!==``).length,[z]),Pe=(0,u.useCallback)(e=>{let t=z[e.field],n=e.label||Dn(e.field);switch(e.type){case`select`:return(0,v.jsxs)(`div`,{className:`space-y-1`,children:[(0,v.jsx)(m.Label,{className:`text-xs text-muted-foreground`,children:n}),(0,v.jsxs)(m.Select,{value:Pn(t)??``,onValueChange:t=>je(e.field,Fn(e.options,t)),children:[(0,v.jsx)(m.SelectTrigger,{className:`h-8 text-xs`,children:(0,v.jsx)(m.SelectValue,{placeholder:k(`lookup.filterPlaceholder`,{label:n})})}),(0,v.jsx)(m.SelectContent,{children:e.options?.map(e=>(0,v.jsx)(m.SelectItem,{value:String(e.value),children:e.label},String(e.value)))})]})]});case`number`:return(0,v.jsxs)(`div`,{className:`space-y-1`,children:[(0,v.jsx)(m.Label,{className:`text-xs text-muted-foreground`,children:n}),(0,v.jsx)(m.Input,{type:`number`,className:`h-8 text-xs`,value:t??``,placeholder:k(`lookup.filterPlaceholder`,{label:n}),onChange:t=>{let n=t.target.value;je(e.field,n===``?``:Number(n))}})]});case`date`:return(0,v.jsxs)(`div`,{className:`space-y-1`,children:[(0,v.jsx)(m.Label,{className:`text-xs text-muted-foreground`,children:n}),(0,v.jsx)(m.Input,{type:`date`,className:`h-8 text-xs`,value:t??``,onChange:t=>je(e.field,t.target.value)})]});case`boolean`:return(0,v.jsxs)(`div`,{className:`space-y-1`,children:[(0,v.jsx)(m.Label,{className:`text-xs text-muted-foreground`,children:n}),(0,v.jsxs)(`div`,{className:`flex items-center gap-2 h-8`,children:[(0,v.jsx)(m.Checkbox,{checked:!!t,onCheckedChange:t=>je(e.field,!!t)}),(0,v.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:k(`lookup.yes`)})]})]});default:return(0,v.jsxs)(`div`,{className:`space-y-1`,children:[(0,v.jsx)(m.Label,{className:`text-xs text-muted-foreground`,children:n}),(0,v.jsx)(m.Input,{className:`h-8 text-xs`,value:t??``,placeholder:k(`lookup.filterPlaceholder`,{label:n}),onChange:t=>je(e.field,t.target.value)})]})}},[z,je]),Fe=(0,u.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`,[]),Ie=r&&K.length>0&&K.every(e=>j.has(be(e))),Le=!D&&!q&&J>0;return(0,v.jsx)(m.Dialog,{open:e,onOpenChange:t,children:(0,v.jsxs)(m.DialogContent,{className:(0,m.cn)(`w-[95vw] max-h-[85vh] sm:max-h-[80vh] flex flex-col`,m.DIALOG_VIEWPORT_GUTTER,Mn(ce.length,r)),"data-testid":`record-picker-dialog`,children:[(0,v.jsx)(m.DialogHeader,{children:(0,v.jsxs)(m.DialogTitle,{children:[n,r&&(0,v.jsx)(`span`,{className:`sr-only`,children:` (multiple selection)`})]})}),ye&&(0,v.jsxs)(`div`,{className:`relative`,children:[(0,v.jsx)(h.Search,{"aria-hidden":`true`,className:`pointer-events-none absolute left-3 top-1/2 -translate-y-1/2 size-4 text-muted-foreground`}),(0,v.jsx)(m.Input,{placeholder:k(`table.search`),value:me,onChange:e=>ve(e.target.value),className:`pl-9 pr-9`,"data-testid":`record-picker-search`}),fe&&(0,v.jsx)(h.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`})]}),W&&W.length>0&&(0,v.jsx)(`div`,{children:E?(0,v.jsx)(`div`,{"data-testid":`record-picker-filter-bar`,children:E({filterColumns:W,values:z,onChange:je,onClear:Me,activeCount:Ne})}):(0,v.jsxs)(v.Fragment,{children:[(0,v.jsxs)(`div`,{className:`flex items-center gap-2`,"data-testid":`record-picker-filter-bar`,children:[(0,v.jsxs)(m.Button,{type:`button`,variant:Ne>0?`secondary`:`outline`,size:`sm`,className:`gap-1.5 shrink-0`,onClick:()=>R(e=>!e),children:[(0,v.jsx)(h.SlidersHorizontal,{className:`size-3.5`}),k(`lookup.filters`),Ne>0&&(0,v.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:Ne})]}),Ne>0&&(0,v.jsxs)(m.Button,{type:`button`,variant:`ghost`,size:`sm`,className:`gap-1 text-xs`,onClick:Me,children:[(0,v.jsx)(h.X,{className:`size-3`}),k(`lookup.clear`)]})]}),L&&(0,v.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:W.map(e=>(0,v.jsx)(`div`,{children:Pe(e)},e.field))})]})}),q&&(0,v.jsxs)(`div`,{className:`flex flex-col items-center gap-2 py-4`,role:`alert`,children:[(0,v.jsx)(h.AlertCircle,{className:`size-5 text-destructive`}),(0,v.jsx)(`p`,{className:`text-sm text-destructive`,children:q}),de?null:(0,v.jsx)(m.Button,{variant:`outline`,size:`sm`,onClick:()=>G.refetch(),type:`button`,children:k(`lookup.retry`)})]}),D?(0,v.jsx)(`div`,{className:`flex-1 min-h-0`,"data-testid":`record-picker-grid-slot`,children:D({columns:ce,records:K,loading:fe,totalCount:J,currentPage:Y,pageSize:f,sortField:he,sortDirection:ge,onSort:_e,onPageChange:X,onRowClick:xe,isSelected:Z,multiple:r,idField:l,cellRenderer:C})}):(0,v.jsxs)(v.Fragment,{children:[fe&&K.length===0&&!q&&(0,v.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,v.jsxs)(m.Table,{children:[(0,v.jsx)(m.TableHeader,{children:(0,v.jsxs)(m.TableRow,{className:`bg-muted/40`,children:[r&&(0,v.jsx)(m.TableHead,{className:`w-10`,children:(0,v.jsx)(m.Skeleton,{className:`size-4 rounded`})}),ce.map(e=>(0,v.jsx)(m.TableHead,{children:(0,v.jsx)(m.Skeleton,{className:`h-4 w-20`})},e.field))]})}),(0,v.jsx)(m.TableBody,{children:Array.from({length:Vn},(e,t)=>(0,v.jsxs)(m.TableRow,{children:[r&&(0,v.jsx)(m.TableCell,{className:`w-10`,children:(0,v.jsx)(m.Skeleton,{className:`size-4 rounded`})}),ce.map(e=>(0,v.jsx)(m.TableCell,{children:(0,v.jsx)(m.Skeleton,{className:`h-4 w-full`})},e.field))]},t))})]})}),!fe&&!q&&K.length===0&&(0,v.jsx)(`div`,{className:`py-8 text-center`,children:(0,v.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:k(`lookup.noRecords`)})}),!q&&K.length>0&&(0,v.jsxs)(`div`,{className:`relative flex-1 overflow-auto min-h-0 border rounded-md`,"aria-busy":fe||void 0,"data-state":fe?`loading`:`idle`,tabIndex:0,onKeyDown:De,role:`grid`,"aria-label":k(`console.commandPalette.records`),children:[fe&&(0,v.jsx)(`div`,{className:`absolute inset-0 z-10 flex items-center justify-center bg-background/60`,"data-testid":`record-picker-loading-overlay`,children:(0,v.jsx)(h.Loader2,{className:`size-6 animate-spin text-muted-foreground`})}),(0,v.jsx)(Ln,{children:(0,v.jsxs)(m.Table,{style:Object.keys(V).length>0?{tableLayout:`fixed`}:void 0,children:[(0,v.jsx)(m.TableHeader,{className:`sticky top-0 z-[5] bg-muted/50 [&_tr]:border-b`,"data-testid":`record-picker-sticky-header`,children:(0,v.jsxs)(m.TableRow,{children:[r&&(0,v.jsx)(m.TableHead,{className:`w-10`,children:(0,v.jsx)(m.Checkbox,{checked:Ie,onCheckedChange:Se,onKeyDown:e=>e.stopPropagation(),"aria-label":k(`table.selectAllRows`,{defaultValue:`Select all rows`}),"data-testid":`record-picker-select-page`})}),ce.map(e=>{let t=V[e.field],n=t?{width:`${t}px`,minWidth:`${t}px`}:e.width?{width:e.width}:void 0;return(0,v.jsxs)(m.TableHead,{style:n,className:`cursor-pointer select-none relative group text-xs font-semibold uppercase tracking-wider`,onClick:()=>_e(e.field),"aria-sort":he===e.field?ge===`asc`?`ascending`:`descending`:`none`,children:[(0,v.jsxs)(`span`,{className:`inline-flex items-center`,children:[e.label||Dn(e.field),ke(e.field)]}),(0,v.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();Ae(t,e.field,n?.width??100)},onClick:e=>e.stopPropagation(),"data-testid":`resize-handle-${e.field}`})]},e.field)})]})}),(0,v.jsx)(m.TableBody,{ref:I,children:K.map((e,t)=>{let n=be(e),i=Z(e),a=t===P;return(0,v.jsxs)(m.TableRow,{"data-row-index":t,className:(0,m.cn)(`cursor-pointer transition-colors`,Fe(i,t),a&&`ring-2 ring-primary ring-inset`),onClick:()=>xe(e),"data-testid":`record-row-${n}`,"aria-selected":i,children:[r&&(0,v.jsx)(m.TableCell,{className:`w-10 py-2.5`,children:(0,v.jsx)(m.Checkbox,{checked:i,tabIndex:-1,onClick:e=>e.stopPropagation(),onCheckedChange:()=>xe(e),"aria-label":k(`table.selectRow`,{defaultValue:`Select row`}),"data-testid":`record-picker-row-checkbox-${n}`})}),ce.map(t=>(0,v.jsx)(m.TableCell,{className:`py-2.5`,"data-lookup-cell":t.field,children:Oe(e,t)},t.field))]},n??t)})})]})})]})]}),(Le||r)&&(0,v.jsxs)(m.DialogFooter,{className:`gap-2 sm:flex-wrap sm:items-center sm:justify-between sm:space-x-0`,"data-testid":`record-picker-footer`,children:[Le&&(0,v.jsxs)(`div`,{className:`flex items-center gap-3 text-sm text-muted-foreground`,"data-testid":`record-picker-pagination`,children:[(0,v.jsxs)(`span`,{children:[k(`lookup.recordCount`,{count:J}),pe>1&&` · ${k(`lookup.pageOf`,{current:Y,total:pe})}`]}),pe>1&&(0,v.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,v.jsx)(m.Button,{variant:`outline`,size:`icon`,className:`size-7`,onClick:we,disabled:Y<=1,type:`button`,"aria-label":k(`lookup.prevPage`),children:(0,v.jsx)(h.ChevronLeft,{className:`size-4`})}),(0,v.jsx)(m.Input,{className:`h-7 w-12 text-center text-xs px-1`,placeholder:String(Y),value:re,onChange:e=>H(e.target.value),onKeyDown:Ee,"aria-label":k(`lookup.jumpToPage`),"data-testid":`record-picker-page-jump`}),(0,v.jsx)(m.Button,{variant:`outline`,size:`icon`,className:`size-7`,onClick:Te,disabled:Y>=pe,type:`button`,"aria-label":k(`lookup.nextPage`),children:(0,v.jsx)(h.ChevronRight,{className:`size-4`})})]})]}),r&&(0,v.jsxs)(`div`,{className:`flex items-center gap-2 sm:ml-auto`,children:[(0,v.jsx)(`span`,{className:`text-sm text-muted-foreground`,"data-testid":`record-picker-selected-count`,children:k(`table.selected`,{count:j.size})}),(0,v.jsx)(m.Button,{variant:`outline`,type:`button`,onClick:()=>t(!1),children:k(`common.cancel`)}),(0,v.jsx)(m.Button,{type:`button`,onClick:Ce,disabled:j.size===0,"data-testid":`record-picker-confirm`,children:k(`common.confirm`)})]})]})]})})}var zn,Bn,Vn,Hn,Un,Wn,Gn,Kn,qn=o((()=>{H(),Cn(),Tn(),jn(),zn=10,Bn=60,Vn=5,Hn=[`sm:max-w-xl`,`sm:max-w-xl`,`sm:max-w-2xl`,`sm:max-w-3xl`,`sm:max-w-3xl lg:max-w-4xl`],Un=`sm:max-w-3xl lg:max-w-5xl`,Wn=3,Gn=new Set([`email`,`url`,`phone`,`file`,`video`,`audio`]),Kn=`text`}));function Jn(e,t){if(e&&t)return t.includes(`.`)?t.split(`.`).reduce((e,t)=>e==null?e:e[t],e):e[t]}function Yn(e=`name`){return[e,`name`,`username`,`label`]}function Xn(e,t=`name`){if(e==null)return``;if(typeof e!=`object`)return String(e);let n=typeof t==`string`?Yn(t):t;for(let t of n)if(e[t]!=null)return String(e[t]);return``}function Zn(e){let t=(e||``).trim();if(!t)return`?`;let n=t.split(/\s+/).filter(Boolean);if(n.length>=2)return(n[0][0]+n[n.length-1][0]).toUpperCase();let r=n[0];return/[㐀-鿿]/.test(r)?r.length<=2?r:r.slice(-2):r.slice(0,2).toUpperCase()}function Qn(e,t){return!e||!t||t.length===0?``:t.map(t=>Jn(e,t)).filter(e=>e!=null&&e!==``).map(e=>String(e)).join(` · `)}function $n(e,t=`image`){let n=e&&t?Jn(e,t):void 0;return n?String(n):void 0}function er(e,t=`id`){return!e||typeof e!=`object`?e:e[t]??e.id??e._id}function tr(e,t){let n=e??``,r=(t??``).trim().toLowerCase();if(!r||!n)return[];let i=n.toLowerCase(),a=[],o=0;for(;;){let e=i.indexOf(r,o);if(e===-1)break;a.push([e,e+r.length]),o=e+r.length}return a}var nr=o((()=>{}));function rr({text:e,query:t}){let n=t?tr(e,t):[];if(n.length===0)return(0,v.jsx)(v.Fragment,{children:e});let r=[],i=0;return n.forEach(([t,n],a)=>{t>i&&r.push(e.slice(i,t)),r.push((0,v.jsx)(`mark`,{className:`rounded-[2px] bg-primary/20 px-px text-inherit`,children:e.slice(t,n)},a)),i=n}),i<e.length&&r.push(e.slice(i)),(0,v.jsx)(v.Fragment,{children:r})}function ir({record:e,displayField:t=`name`,nameFields:n,subtitleFields:r,avatarField:i=`image`,selected:a=!1,active:o=!1,highlightQuery:s,onSelect:c,className:l}){let d=Xn(e,n??t),f=Qn(e,r),p=$n(e,i),g=Zn(d),_=(0,u.useRef)(null);return(0,u.useEffect)(()=>{o&&_.current?.scrollIntoView?.({block:`nearest`})},[o]),(0,v.jsxs)(`button`,{ref:_,type:`button`,tabIndex:-1,onClick:()=>c?.(e),"aria-pressed":a,"data-testid":`person-row`,"data-active":o||void 0,className:(0,m.cn)(`flex w-full items-center gap-3 rounded-md px-2 py-1.5 text-left transition-colors`,`hover:bg-accent focus-visible:outline-none`,a&&`bg-accent`,o&&`bg-accent ring-1 ring-inset ring-ring`,l),children:[(0,v.jsxs)(m.Avatar,{className:`size-9 shrink-0`,children:[p&&(0,v.jsx)(m.AvatarImage,{src:p,alt:d}),(0,v.jsx)(m.AvatarFallback,{className:`text-xs`,children:g})]}),(0,v.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,v.jsx)(`div`,{className:`truncate text-sm font-medium`,children:d?(0,v.jsx)(rr,{text:d,query:s}):`—`}),f&&(0,v.jsx)(`div`,{className:`truncate text-xs text-muted-foreground`,children:(0,v.jsx)(rr,{text:f,query:s})})]}),a&&(0,v.jsx)(h.Check,{className:`size-4 shrink-0 text-primary`,"aria-hidden":!0})]})}var ar=o((()=>{nr()}));function or({records:e,onRemove:t,displayField:n=`name`,nameFields:r,avatarField:i=`image`,idField:a=`id`,label:o,onClear:s,clearLabel:c,emptyText:l,className:u}){let d=!!o||!!s&&e.length>0;return(0,v.jsxs)(`div`,{className:(0,m.cn)(`flex flex-col gap-1.5`,u),"data-testid":`selection-tray`,children:[d&&(0,v.jsxs)(`div`,{className:`flex items-center justify-between`,children:[o&&(0,v.jsx)(`div`,{className:`text-xs font-medium text-muted-foreground`,children:o}),s&&e.length>0&&(0,v.jsx)(`button`,{type:`button`,onClick:s,className:`text-xs text-muted-foreground transition-colors hover:text-foreground`,"data-testid":`selection-clear`,children:c??`Clear all`})]}),e.length===0?(0,v.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:l??``}):(0,v.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:e.map(e=>{let o=er(e,a),s=Xn(e,r??n),c=$n(e,i),l=Zn(s);return(0,v.jsxs)(`span`,{"data-testid":`selection-chip`,className:`inline-flex items-center gap-1.5 rounded-full border bg-background py-0.5 pl-0.5 pr-1.5 text-sm`,children:[(0,v.jsxs)(m.Avatar,{className:`size-6 shrink-0`,children:[c&&(0,v.jsx)(m.AvatarImage,{src:c,alt:s}),(0,v.jsx)(m.AvatarFallback,{className:`text-[10px]`,children:l})]}),(0,v.jsx)(`span`,{className:`max-w-[10rem] truncate`,children:s||`—`}),(0,v.jsx)(`button`,{type:`button`,onClick:()=>t(o),"aria-label":`Remove ${s}`,className:`rounded-full p-0.5 text-muted-foreground transition-colors hover:bg-accent hover:text-foreground`,children:(0,v.jsx)(h.X,{className:`size-3.5`,"aria-hidden":!0})})]},String(o))})})]})}var sr=o((()=>{nr()}));function cr(){try{return typeof localStorage<`u`?localStorage:null}catch{return null}}function lr(e){let t=cr();if(!e||!t)return[];try{let n=t.getItem(dr+e);if(!n)return[];let r=JSON.parse(n);return Array.isArray(r)?r.slice(0,fr):[]}catch{return[]}}function ur(e,t){let n=cr();if(e&&t!=null&&t!==``&&n)try{let r=[t,...lr(e).filter(e=>e!==t)].slice(0,fr);n.setItem(dr+e,JSON.stringify(r))}catch{}}var dr,fr,pr=o((()=>{dr=`objectui:lookup:recent:`,fr=5}));function mr({open:e,onOpenChange:t,title:n,multiple:r=!1,dataSource:i,objectName:a,displayField:o=`name`,idField:s=`id`,subtitleFields:c,avatarField:l=`image`,expand:f,searchFields:p,pageSize:g=hr,lookupFilters:y,baseFilter:b,value:x,onSelect:S,onSelectRecords:C,inline:w=!1,trigger:T}){let{t:E}=ie(),D=(0,m.useIsMobile)(),O=(0,u.useMemo)(()=>{let e={...y?.length?Nn(y):{},...b??{}};return Object.keys(e).length>0?e:void 0},[y,b]),k=(0,_.usePermissions)(),ee=(0,u.useMemo)(()=>{let e;if(f&&f.length)e=f;else{let t=new Set;(c??[]).forEach(e=>{e.includes(`.`)&&t.add(e.split(`.`)[0])}),e=Array.from(t)}let t=e.filter(e=>!k.isLoaded||k.checkField(a,e,`read`));return t.length?t:void 0},[f,c,k,a]),A=(0,u.useMemo)(()=>c?.filter(e=>!k.isLoaded||k.checkField(a,e.split(`.`)[0],`read`)),[c,k,a]),j=(0,u.useMemo)(()=>!k.isLoaded||k.checkField(a,l.split(`.`)[0],`read`)?l:null,[l,k,a]),M=(0,u.useMemo)(()=>Yn(o).filter(e=>!k.isLoaded||k.checkField(a,e.split(`.`)[0],`read`)),[o,k,a]),N=Sn({dataSource:i,objectName:a,enabled:e,pageSize:g,filter:O,expand:ee,searchFields:p}),P=(0,u.useMemo)(()=>e?lr(a):[],[e,a]),F=(0,u.useMemo)(()=>r?Array.isArray(x)?x:[]:x!=null&&x!==``?[x]:[],[r,x]),I=Sn({dataSource:i,objectName:a,enabled:e&&F.length>0,pageSize:Math.max(1,F.length),filter:{[s]:{$in:F}},expand:ee}),L=(0,u.useMemo)(()=>{let e={[s]:{$in:P}};if(!O)return{ok:!0,node:e};let t=(0,d.toFilterNodeSafely)(O);return t.ok?{ok:!0,node:(0,d.mergeFilterNodes)(t.node,e)}:t},[O,s,P]),R=L.ok?void 0:L.refusal,z=Sn({dataSource:i,objectName:a,enabled:e&&P.length>0&&L.ok,pageSize:Math.max(1,P.length),filter:L.ok?L.node:void 0,expand:ee}),B=(0,u.useMemo)(()=>{let e=new Map;for(let t of I.records)e.set(String(er(t,s)),t);return e},[I.records,s]),[V,te]=(0,u.useState)([]),ne=(0,u.useRef)(!1),re=(0,u.useRef)(!1);(0,u.useEffect)(()=>{e||(ne.current=!1,re.current=!1,te([]))},[e]),(0,u.useEffect)(()=>{if(!e||ne.current)return;if(F.length===0){ne.current=!0;return}if(I.loading){re.current=!0;return}if(!re.current)return;let t=F.map(e=>B.get(String(e))).filter(Boolean);te(t),ne.current=!0},[e,F,I.loading,B]);let H=(0,u.useMemo)(()=>new Set(V.map(e=>String(er(e,s)))),[V,s]),U=(0,u.useCallback)((e,n)=>{S(r?e:e[0]??null),C?.(n),e.forEach(e=>ur(a,e)),t(!1)},[r,a,S,C,t]),ae=(0,u.useCallback)(e=>{S(e.map(e=>er(e,s))),C?.(e)},[S,C,s]),oe=(0,u.useCallback)(e=>{let t=er(e,s);if(!r){U([t],[e]);return}let n=String(t),i=V.some(e=>String(er(e,s))===n),o=i?V.filter(e=>String(er(e,s))!==n):[...V,e];te(o),w&&(i||ur(a,t),ae(o))},[r,s,U,V,w,a,ae]),se=(0,u.useCallback)(e=>{let t=String(e),n=V.filter(e=>String(er(e,s))!==t);te(n),w&&ae(n)},[s,V,w,ae]),ce=(0,u.useCallback)(()=>{U(V.map(e=>er(e,s)),V)},[U,V,s]),le=N.search.trim().length>0,W=(0,u.useMemo)(()=>{if(le)return[];let e=new Map(z.records.map(e=>[String(er(e,s)),e]));return P.map(t=>e.get(String(t))).filter(Boolean)},[le,P,z.records,s]),ue=(0,u.useMemo)(()=>{if(le)return N.records;let e=new Set(P.map(String));return N.records.filter(t=>!e.has(String(er(t,s))))},[le,N.records,P,s]),de=(0,u.useMemo)(()=>[...W,...ue],[W,ue]),[G,K]=(0,u.useState)(-1),fe=(0,u.useMemo)(()=>N.records.map(e=>String(er(e,s))).join(`\0`),[N.records,s]),q=`${N.search}\u0000${fe}`,[J,pe]=(0,u.useState)(q);J!==q&&(pe(q),K(-1)),(0,u.useEffect)(()=>{K(e=>e>=de.length?de.length-1:e)},[de.length]);let me=(0,u.useCallback)(e=>{e.key===`ArrowDown`?(e.preventDefault(),K(e=>de.length?Math.min(de.length-1,e+1):-1)):e.key===`ArrowUp`?(e.preventDefault(),K(e=>Math.max(0,e-1))):e.key===`Enter`?G>=0&&G<de.length&&(e.preventDefault(),oe(de[G])):e.key===`Backspace`&&N.search.length===0&&r&&V.length>0&&se(er(V[V.length-1],s))},[de,G,oe,N.search,r,V,se,s]),Y=N.error??R?.message??null,he=N.loading&&!Y&&N.records.length===0&&W.length===0,ge=N.loading&&!he,X=!N.loading&&!Y&&ue.length===0&&W.length===0,_e=(e,t)=>{let n=er(e,s);return(0,v.jsx)(ir,{record:e,displayField:o,nameFields:M,subtitleFields:A,avatarField:j,selected:H.has(String(n)),active:t===G,highlightQuery:N.search,onSelect:oe},String(n))},ve=n||E(`lookup.selectRecord`),ye=(0,v.jsxs)(v.Fragment,{children:[(0,v.jsxs)(`div`,{className:`relative`,children:[(0,v.jsx)(h.Search,{className:`pointer-events-none absolute left-2.5 top-1/2 size-4 -translate-y-1/2 text-muted-foreground`,"aria-hidden":!0}),(0,v.jsx)(m.Input,{autoFocus:!D,value:N.search,onChange:e=>N.setSearch(e.target.value),onKeyDown:me,placeholder:E(`table.search`),className:`px-8`,role:`combobox`,"aria-expanded":!0,"aria-controls":`people-picker-list`,"data-testid":`people-picker-search`}),N.loading&&(0,v.jsx)(h.Loader2,{className:`pointer-events-none absolute right-2.5 top-1/2 size-4 -translate-y-1/2 animate-spin text-muted-foreground`,"aria-hidden":!0})]}),(0,v.jsx)(m.ScrollArea,{className:`min-h-0 flex-1`,"data-testid":`people-picker-list`,children:(0,v.jsx)(`div`,{id:`people-picker-list`,role:`listbox`,"aria-busy":N.loading,className:(0,m.cn)(`flex flex-col gap-0.5 pr-2 transition-opacity`,ge&&`opacity-70`),children:Y?(0,v.jsxs)(`div`,{className:`flex flex-col items-center gap-2 py-8 text-center text-sm text-muted-foreground`,"data-testid":`people-picker-error`,children:[(0,v.jsx)(h.AlertCircle,{className:`size-5 text-destructive`,"aria-hidden":!0}),(0,v.jsx)(`span`,{className:`max-w-xs`,children:Y}),N.error?(0,v.jsx)(m.Button,{type:`button`,variant:`outline`,size:`sm`,onClick:N.refetch,children:E(`lookup.retry`)}):null]}):he?Array.from({length:gr}).map((e,t)=>(0,v.jsxs)(`div`,{className:`flex items-center gap-3 px-2 py-1.5`,children:[(0,v.jsx)(m.Skeleton,{className:`size-9 shrink-0 rounded-full`}),(0,v.jsxs)(`div`,{className:`flex-1 space-y-1.5`,children:[(0,v.jsx)(m.Skeleton,{className:`h-3 w-1/3`}),(0,v.jsx)(m.Skeleton,{className:`h-2.5 w-1/2`})]})]},t)):(0,v.jsxs)(v.Fragment,{children:[W.length>0&&(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(`div`,{className:`px-2 py-1 text-xs font-medium text-muted-foreground`,children:E(`lookup.recentlyUsed`)}),W.map((e,t)=>_e(e,t)),ue.length>0&&(0,v.jsxs)(`div`,{className:`mt-1 flex items-center gap-1.5 px-2 py-1 text-xs font-medium text-muted-foreground`,children:[(0,v.jsx)(`span`,{children:E(`lookup.allResults`)}),(0,v.jsxs)(`span`,{className:`font-normal opacity-70`,children:[`· `,N.total]})]})]}),ue.map((e,t)=>_e(e,W.length+t)),X&&(0,v.jsx)(`div`,{className:`py-8 text-center text-sm text-muted-foreground`,children:E(`lookup.noRecords`)})]})})}),r&&!w&&(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(or,{records:V,onRemove:se,onClear:()=>te([]),clearLabel:E(`lookup.clear`),displayField:o,nameFields:M,avatarField:j,idField:s,label:E(`table.selected`,{count:V.length}),className:(0,m.cn)(`border-t pt-3`)}),(0,v.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,v.jsx)(m.Button,{type:`button`,variant:`outline`,onClick:()=>t(!1),children:E(`common.cancel`)}),(0,v.jsx)(m.Button,{type:`button`,onClick:ce,children:E(`common.confirm`)})]})]})]});return w?D?(0,v.jsxs)(m.Sheet,{open:e,onOpenChange:t,children:[(0,v.jsx)(m.SheetTrigger,{asChild:!0,children:T}),(0,v.jsxs)(m.SheetContent,{side:`bottom`,className:`flex h-[85vh] flex-col gap-3`,"data-testid":`people-picker-sheet`,children:[(0,v.jsx)(m.SheetHeader,{className:`text-left`,children:(0,v.jsx)(m.SheetTitle,{children:ve})}),ye]})]}):(0,v.jsxs)(m.Popover,{open:e,onOpenChange:t,children:[(0,v.jsx)(m.PopoverTrigger,{asChild:!0,children:T}),(0,v.jsx)(m.PopoverContent,{align:`start`,className:`flex max-h-[min(28rem,60vh)] w-[var(--radix-popover-trigger-width)] min-w-72 flex-col gap-3 p-3`,"data-testid":`people-picker-inline`,children:ye})]}):D?(0,v.jsx)(m.Sheet,{open:e,onOpenChange:t,children:(0,v.jsxs)(m.SheetContent,{side:`bottom`,className:`flex h-[85vh] flex-col gap-3`,"data-testid":`people-picker-sheet`,children:[(0,v.jsx)(m.SheetHeader,{className:`text-left`,children:(0,v.jsx)(m.SheetTitle,{children:ve})}),ye]})}):(0,v.jsx)(m.Dialog,{open:e,onOpenChange:t,children:(0,v.jsxs)(m.DialogContent,{className:`flex max-h-[80vh] flex-col gap-3 sm:max-w-lg`,"data-testid":`people-picker-dialog`,children:[(0,v.jsx)(m.DialogHeader,{children:(0,v.jsx)(m.DialogTitle,{children:ve})}),ye]})})}var hr,gr,_r=o((()=>{Cn(),qn(),nr(),ar(),sr(),pr(),H(),hr=25,gr=6}));function vr(e){let t=new Set,n=[];for(let r of e)t.has(r)||(t.add(r),n.push(r));return n}function yr(e,{displayField:t,max:n=4}){let r=e?.fields??{},i=e=>r[e]??{},a=e=>{let t=i(e);return{field:e,...t.label?{label:t.label}:{},...t.type?{type:t.type}:{}}};if(Object.keys(r).length===0)return[];let o=e=>!Array.isArray(e)||e.length===0?null:vr([t,...e.filter(e=>typeof e==`string`&&e.length>0).filter(e=>e!==t)]).slice(0,n).map(a);return o(e?.highlightFields)||o(e?.displayFields)||vr([t,...Object.keys(r).filter(e=>{if(e===t)return!1;let n=i(e);return!((0,C.isSystemManagedField)(e,n)||n.hidden||n.type&&br.has(n.type))})]).slice(0,n).map(a)}var br,xr=o((()=>{br=new Set([`json`,`object`,`grid`,`html`,`richtext`,`markdown`,`code`,`image`,`file`,`avatar`,`vector`,`location`,`geometry`,`textarea`,`secret`,`password`,`encrypted`])})),Sr=s({LookupField:()=>jr});function Cr(e){return!!e&&!Pr.test(e)&&!Fr.has(e)}function wr(e,t,n,r,i,a,o){let s=Tr(e,n),c=(0,d.withoutDeniedFields)(e,a,o,[n]),l;if(i){let n=(0,d.getRecordDisplayName)(i,c,{titleField:t}),r=e?.id??e?._id;n===`Untitled`||r!=null&&n===`Record #${r}`||(l=n)}let u=l??c[t??Ir]??c.label??c.name??c.full_name??c.title??c.subject??c.externalId??String(s),f=r?e[r]:void 0,p={value:s,label:String(u),description:f,...e};return c===e?p:{...p,label:String(u)}}function Tr(e,t){return e[t]??e.id??e._id??e.externalId}function Er(e,t,n){let r=new Map(e.map(e=>[Tr(e,n),e]));for(let e of t)r.set(Tr(e,n),e);return Array.from(r.values())}function Dr(e){if(typeof e!=`string`)return null;let t=e.trim();if(!t.startsWith(`{`)||!t.endsWith(`}`))return null;try{let e=JSON.parse(t);return e&&typeof e==`object`&&!Array.isArray(e)?e:null}catch{return null}}function Or(e){return{text:`text`,number:`number`,currency:`number`,percent:`number`,select:`select`,status:`select`,date:`date`,datetime:`date`,boolean:`boolean`}[e]}function kr(e){let t=Array.from(e.children);for(let e of t)e.hidden=!1;for(let n=t.length-1;n>=0&&e.scrollWidth>e.clientWidth;--n)t[n].hidden=!0}function Ar({children:e}){let t=(0,u.useRef)(null);return u.default.useLayoutEffect(()=>{t.current&&kr(t.current)}),u.default.useLayoutEffect(()=>{let e=t.current;if(!e||typeof ResizeObserver>`u`)return;let n=new ResizeObserver(()=>kr(e));return n.observe(e),()=>n.disconnect()},[]),(0,v.jsx)(`span`,{ref:t,className:`flex min-w-0 items-center gap-1 overflow-hidden text-xs text-muted-foreground`,"data-testid":`lookup-option-preview`,children:e})}function jr({value:e,onChange:t,field:n,readonly:r,error:i,...a}){let[o,s]=(0,u.useState)(!1),{t:c}=ie(),{translateOptions:l}=(0,p.useSafeFieldLabel)(),f=(0,p.useDisplayLocale)(),y=u.default.useId(),[b,x]=(0,u.useState)(null),[S,C]=(0,u.useState)([]),[w,T]=(0,u.useState)([]),[E,D]=(0,u.useState)(()=>new Set),[O,k]=(0,u.useState)(-1),ee=(0,u.useRef)(null),A=n,j=A?.field,M=j&&typeof j==`object`&&(`reference`in j||`type`in j)?j:A,N=M,P=M?.options||[],F=M?.multiple||!1,I=M?.displayField||M?.reference_field||void 0,L=I||Ir,R=M?.descriptionField,z=N?.idField||`id`,B=M?.reference,V=M?.allowCreate,te=V==null?Cr(B):!!V,ne=M?.lookupColumns,re=M?.lookupPageSize,H=M?.lookupFilters,U=N?.picker,ae=N?.subtitle,oe=M?.avatar_field??M?.avatarField??`image`,se=M,ce=(0,u.useMemo)(()=>{let e=se?.dependsOn;return!e||!Array.isArray(e)?[]:e.map(e=>typeof e==`string`?{field:e,param:e}:{field:e.field,param:e.param??e.field})},[se?.dependsOn]),le=a.dependsOnLabels,W=(0,u.useMemo)(()=>ce.map(e=>le?.[e.field]||e.field).join(c(`validation.formInvalidJoiner`)),[ce,le,c]),ue=a.dependentValues,de=(0,u.useContext)(Nr)?.dataSource??null,G=a.dataSource??A?.dataSource??M?.dataSource??de,K=(0,u.useMemo)(()=>ue??{},[ue]),fe=(0,u.useMemo)(()=>ce.length!==0&&ce.some(({field:e})=>{let t=K[e];return t==null||t===``||Array.isArray(t)&&t.length===0}),[ce,K]),q=G!=null&&typeof G.find==`function`&&!!B,[J,pe]=(0,u.useState)(null);(0,u.useEffect)(()=>{if(!G||!B)return;let e=G.getObjectSchema;if(typeof e!=`function`)return;let t=!0;return Promise.resolve(e.call(G,B)).then(e=>{t&&pe(e)}).catch(()=>{}),()=>{t=!1}},[G,B]);let me=(0,u.useMemo)(()=>{if(ne&&ne.length>0)return ne;let e=yr(J,{displayField:L});return e.length>0?e:void 0},[ne,J,L]),Y=(0,u.useMemo)(()=>{if(R)return R;let e=me?.find(e=>(typeof e==`string`?e:e.field)!==L);if(e)return typeof e==`string`?e:e.field},[R,me,L]),he=(0,u.useMemo)(()=>{let e=[],t=new Set([L]);R&&(e.push({field:R}),t.add(R));for(let n of me??[]){let r=En(n);t.has(r.field)||(t.add(r.field),e.push(r))}return e},[R,me,L]),ge=(0,u.useMemo)(()=>kn(he,J?.fields,B??``,l),[he,J,B,l]),X=(0,_.usePermissions)(),_e=(0,u.useMemo)(()=>{if(he.length===0)return[];let e=(0,d.buildExpandFields)(J?.fields,he);return!X.isLoaded||!B?e:e.filter(e=>X.checkField(B,e,`read`))},[J,he,X,B]),ve=(0,u.useMemo)(()=>he.filter(e=>!X.isLoaded||!B||e.field===z||X.checkField(B,e.field,`read`)),[he,X,B,z]),ye=(0,u.useMemo)(()=>{if(!me)return;let e=[];for(let t of me)if(typeof t==`object`&&t.type){let n=Or(t.type);n&&e.push({field:t.field,label:t.label,type:n})}return e.length>0?e:void 0},[me]),be=a.onCreateNew??A?.onCreateNew,[Z,xe]=(0,u.useState)(!1),Se=(0,u.useMemo)(()=>{let e={};for(let{field:t,param:n}of ce){let r=K[t];r!=null&&r!==``&&(e[n]=typeof r==`number`?r:String(r))}return Object.keys(e).length>0?e:void 0},[ce,K]),Ce=(0,u.useMemo)(()=>{let e={...H&&H.length>0?Nn(H):{},...Se??{}};return Object.keys(e).length>0?e:void 0},[Se,H]),we=Sn({dataSource:G,objectName:B,enabled:o&&q&&!fe,pageSize:Mr,filter:Ce,expand:_e}),Te=we.search,Ee=we.loading,De=we.total,Oe=we.error??b,ke=(0,u.useMemo)(()=>we.records.map(e=>wr((0,d.toPredicateRecord)(e,J?.fields),I,z,Y,J,X,B)),[we.records,I,z,Y,J,X,B]),Ae=q?ke:P,je=(0,u.useMemo)(()=>{if(q||!Te)return Ae;let e=Te.toLowerCase();return Ae.filter(t=>t.label.toLowerCase().includes(e)||t.description&&t.description.toLowerCase().includes(e))},[q,Ae,Te]);(0,u.useEffect)(()=>{o||k(-1)},[o]);let Me=wn(J)!==!1,Ne=(0,u.useCallback)(e=>{k(-1),we.setSearch(e)},[we.setSearch]);(0,u.useEffect)(()=>{if(!q||!G||!B)return;let t=(F?Array.isArray(e)?e:[]:e!=null&&e!==``?[e]:[]).filter(e=>e!=null&&e!==``&&typeof e!=`object`&&!Dr(e));if(!t.length)return;let n=t.filter(e=>!Le(e));if(!n.length)return;let r=!1;return(async()=>{try{let e=[];if(n.length===1){let t=n[0];if(typeof G.findOne==`function`&&z===`id`){let n=await G.findOne(B,t);n&&e.push(n)}else{let n=await G.find(B,{$filter:{[z]:t},$top:1}),r=n?.data??n??[];r[0]&&e.push(r[0])}}else{let t=[];for(let e=0;e<n.length;e+=Mr)t.push(n.slice(e,e+Mr));let r=await Promise.all(t.map(e=>G.find(B,{$filter:{[z]:{$in:e}},$top:e.length})));for(let t of r){let n=t?.data??t??[];if(Array.isArray(n))for(let t of n)e.push(t)}}!r&&e.length&&T(t=>Er(t,e,z))}catch{}finally{r||D(e=>{let t=new Set(e);for(let e of n)t.add(String(e));return t})}})(),()=>{r=!0}},[e,q,B,z,F]);let[Pe,Ie]=(0,u.useMemo)(()=>{let e=e=>wr(e,I,z,Y,J,X,B);return[S.map(e),w.map(e)]},[S,w,I,z,Y,J,X,B]),Le=(0,u.useCallback)(e=>P.find(t=>t.value===e)??ke.find(t=>t.value===e)??Pe.find(t=>t.value===e)??Ie.find(t=>t.value===e),[P,ke,Pe,Ie]),Re=(0,u.useCallback)(e=>{let t=String(e);return P.find(e=>String(e.value)===t)??ke.find(e=>String(e.value)===t)??Pe.find(e=>String(e.value)===t)??Ie.find(e=>String(e.value)===t)},[P,ke,Pe,Ie]),ze=(0,u.useCallback)(e=>{let t=typeof e==`object`&&e?e:Dr(e);return t?t[z]??t.id??t._id??t.externalId:e},[z]),Be=(0,u.useMemo)(()=>F?Array.isArray(e)?e.map(ze):[]:ze(e),[F,e,ze]),Ve=(0,u.useCallback)(e=>{if(e==null||e===``)return;let t=typeof e==`object`?e:Dr(e);return t?wr(t,I,z,Y,J,X,B):Le(e)??Re(e)},[Le,Re,I,z,Y,J,X,B]),He=(0,u.useMemo)(()=>q?(F?Array.isArray(e)?e:[]:e!=null&&e!==``?[e]:[]).some(e=>e!=null&&e!==``&&typeof e!=`object`&&!Dr(e)&&!Le(e)&&!Re(e)&&!E.has(String(e))):!1,[q,F,e,Le,Re,E]),Ue=F?(Array.isArray(e)?e:[]).filter(e=>e!=null&&e!==``).length:+(e!=null&&e!==``),We=F?(Array.isArray(e)?e:[]).map(Ve).filter(Boolean):e?[Ve(e)].filter(Boolean):[],Ge=a.onSelectRecord,Ke=(0,u.useCallback)((n,r)=>{if(r&&n&&n.value!=null&&C(e=>Er(e,[r],z)),F){let r=(Array.isArray(e)?e:[]).map(ze);r.includes(n.value)?t(r.filter(e=>e!==n.value)):(B&&ur(B,n.value),t([...r,n.value]))}else B&&ur(B,n.value),Ge?Ge(n):t(n.value),s(!1)},[F,e,t,Ge,B,ze,z]),qe=n=>{t(F?(Array.isArray(e)?e:[]).map(ze).filter(e=>e!==n):null)},Je=(0,u.useCallback)(e=>{B&&e.forEach(e=>ur(B,Tr(e,z))),C(e)},[z,B]),[Ye,Xe]=(0,u.useState)([]),Ze=_e.join(`,`);(0,u.useEffect)(()=>{if(!o||!q||!G||!B||Te)return;if(fe){Xe([]);return}let e=lr(B);if(!e.length){Xe([]);return}let t=!1;return(async()=>{try{let n={[z]:{$in:e}},r=await G.find(B,{$filter:Ce?(0,d.mergeFilterNodes)(Ce,n):n,$top:e.length,..._e.length>0?{$expand:_e}:{}}),i=r?.data??r??[],a=new Map;if(Array.isArray(i))for(let e of i){let t=(0,d.toPredicateRecord)(e,J?.fields),n=t?.[z]??t?.id??t?._id;n!=null&&a.set(String(n),e)}let o=e.map(e=>a.get(String(e))).filter(Boolean);t||Xe(o)}catch{t||Xe([])}})(),()=>{t=!0}},[o,q,B,Te,fe,Ce,z,Ze]);let Qe=(0,u.useMemo)(()=>Ye.map(e=>wr((0,d.toPredicateRecord)(e,J?.fields),I,z,Y,J,X,B)),[Ye,I,z,Y,J,X,B]),$e=(0,u.useMemo)(()=>{let e=new Map;for(let t of[...Ye,...we.records]){let n=(0,d.toPredicateRecord)(t,J?.fields),r=n?.[z]??n?.id??n?._id??n?.externalId;r!=null&&!e.has(String(r))&&e.set(String(r),t)}return e},[Ye,we.records,J,z]),et=(0,u.useCallback)(e=>{let t=$e.get(String(e.value));Ke(e,t?(0,d.toPredicateRecord)(t,J?.fields):void 0)},[$e,J,Ke]),tt=!Te&&q?Qe.length:0,nt=(0,u.useMemo)(()=>{if(Te||!q||Qe.length===0)return je;let e=new Set(Qe.map(e=>e.value));return[...Qe,...je.filter(t=>!e.has(t.value))]},[Te,q,Qe,je]),$=!q||we.answeredSearch===Te,rt=Te&&$&&nt.length>0?0:-1,it=JSON.stringify(nt.map(e=>e.value));(0,u.useEffect)(()=>{k(rt)},[it,rt]);let[at,ot]=(0,u.useState)(!1),{execute:st}=(0,g.useAction)(),ct=(0,g.useHasActionProvider)(),lt=(0,d.resolveAffordance)(`lookupCreateNew`,{objectSchema:J,objectName:B,perms:X}).allowed,ut=!!be||te&&lt&&(ct||q),dt=(0,u.useCallback)(async e=>{let t=(e||``).trim();if(be){be(t),s(!1);return}if(te&&lt&&B){if(x(null),ct){s(!1),await new Promise(e=>setTimeout(e,0));let e=await st({type:`modal`,modal:{objectName:B,mode:`create`}});if(e?.success&&e.data){let t=wr(e.data,I,z,Y,J,X,B);Ke(t,e.data);return}if(!(e?.success&&e.modal))return}if(G&&t){ot(!0);try{let e=await G.create(B,{[L]:t}),n=wr(e,I,z,Y,J,X,B);Ke(n,e)}catch(e){x(e instanceof Error?e.message:String(e))}finally{ot(!1)}}}},[be,te,lt,B,ct,st,G,L,I,z,Y,J,Ke,X]),ft=(0,u.useCallback)(e=>{let t=$e.get(String(e.value)),n=t?{...e,...t}:e,r=ve.filter(e=>{let t=n[e.field];return t!=null&&t!==``});if(r.length===0)return null;let i=Fe(),a=i?.(`select`);return r.map((e,t)=>{let r=ge[e.field]?.type,o=!!a&&!!r&&i?.(r)===a,s=(0,v.jsxs)(`span`,{className:`flex items-center gap-1 whitespace-nowrap`,children:[t>0&&(0,v.jsx)(`span`,{"aria-hidden":`true`,className:`opacity-60`,children:`·`}),(0,v.jsx)(`span`,{className:`opacity-70`,children:`${e.label||Dn(e.field)}:`})]}),c=An(n,e,{descriptors:ge,cellRenderer:i,displayLocale:f});return o?(0,v.jsxs)(`span`,{className:`flex shrink-0 items-center gap-1`,children:[s,(0,v.jsx)(`span`,{"data-lookup-preview":e.field,children:c})]},e.field):(0,v.jsxs)(`span`,{className:`grid grid-cols-[auto_minmax(0,max-content)] items-center gap-1`,children:[s,(0,v.jsx)(`span`,{className:`min-w-0 truncate`,"data-lookup-preview":e.field,children:c})]},e.field)})},[$e,ve,ge,f]),pt=(0,u.useCallback)(e=>{e.key===`ArrowDown`?(e.preventDefault(),k(e=>e<nt.length-1?e+1:e)):e.key===`ArrowUp`?(e.preventDefault(),k(e=>e>0?e-1:0)):e.key===`Enter`&&(e.preventDefault(),O>=0&&O<nt.length&&et(nt[O]))},[nt,O,et]);if((0,u.useEffect)(()=>{O>=0&&ee.current&&ee.current.querySelector(`[data-lookup-index="${O}"]`)?.scrollIntoView({block:`nearest`})},[O]),r)return We.length?F?(0,v.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:We.map((e,t)=>(0,v.jsx)(m.Badge,{variant:`outline`,children:e?.label||e?.[L]},t))}):(0,v.jsx)(`span`,{className:`text-sm`,children:We[0]?.label||We[0]?.[L]}):He?(0,v.jsxs)(`span`,{className:`inline-flex items-center gap-1.5 text-sm text-muted-foreground`,"data-testid":`lookup-hydrating`,children:[(0,v.jsx)(h.Loader2,{className:`size-3.5 animate-spin`}),F?c(`table.selected`,{count:Ue}):c(`lookup.loading`)]}):(0,v.jsx)(m.EmptyValue,{});let mt=!!a.compact,ht=We[0]?.label||We[0]?.[L],gt=!F&&We.length>0,_t=e=>{let t=(0,d.withoutDeniedFields)(e,X,B,[z]),n=t?.[oe]||t?.image;return n?String(n):void 0},vt=U===`search`&&gt?_t(We[0]):void 0,{name:yt,...bt}=Q(a),xt=(0,v.jsxs)(m.Button,{...bt,variant:`outline`,className:(0,m.cn)(`min-w-0 max-w-full flex-1 justify-start text-left font-normal`,mt&&`h-8 rounded-none border-0 bg-transparent px-2 shadow-none focus-visible:ring-1 focus-visible:ring-ring/60`),type:`button`,disabled:fe||a.disabled,"data-testid":fe?`lookup-trigger-gated`:a.name||A?.name?`lookup-trigger-${a.name||A.name}`:`lookup-trigger`,title:fe?c(`lookup.selectFirst`,{fields:W}):void 0,"aria-invalid":!!i,children:[He?(0,v.jsx)(h.Loader2,{className:(0,m.cn)(`size-4 shrink-0 animate-spin text-muted-foreground`,mt?`mr-1.5`:`mr-2`),"data-testid":`lookup-hydrating`}):U===`search`&&gt&&!fe?(0,v.jsxs)(m.Avatar,{className:(0,m.cn)(`size-5 shrink-0`,mt?`mr-1.5`:`mr-2`),children:[vt&&(0,v.jsx)(m.AvatarImage,{src:vt,alt:``}),(0,v.jsx)(m.AvatarFallback,{className:`text-[9px]`,children:Zn(String(ht||``))})]}):(0,v.jsx)(h.Search,{className:(0,m.cn)(`size-4 shrink-0 text-muted-foreground`,mt?`mr-1.5`:`mr-2`)}),(0,v.jsx)(`span`,{className:(0,m.cn)(`truncate`,We.length===0&&!He&&`text-muted-foreground`),title:!fe&&!He&&gt?String(ht??``):void 0,children:fe?c(`lookup.selectFirst`,{fields:W}):He?F?c(`table.selected`,{count:Ue}):c(`lookup.loading`):We.length===0?A?.placeholder||c(`common.select`):F?c(`table.selected`,{count:We.length}):ht})]}),St=!a.disabled,Ct=gt&&!mt&&St?(0,v.jsx)(m.Button,{variant:`ghost`,size:`icon`,className:`shrink-0 text-muted-foreground hover:text-destructive`,type:`button`,onClick:()=>qe(We[0]?.value),"aria-label":c(`lookup.remove`,{label:ht}),"data-testid":`lookup-clear`,children:(0,v.jsx)(h.X,{className:`size-4`})}):null;return(0,v.jsxs)(`div`,{className:mt?``:`space-y-2`,children:[F&&We.length>0&&!mt&&(0,v.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:We.map((e,t)=>{let n=e?.label||e?.[L];if(U===`search`){let r=_t(e);return(0,v.jsxs)(`span`,{"data-testid":`people-field-chip`,className:`inline-flex items-center gap-1.5 rounded-full border bg-background py-0.5 pl-0.5 pr-1.5 text-sm`,children:[(0,v.jsxs)(m.Avatar,{className:`size-6 shrink-0`,children:[r&&(0,v.jsx)(m.AvatarImage,{src:r,alt:String(n||``)}),(0,v.jsx)(m.AvatarFallback,{className:`text-[10px]`,children:Zn(String(n||``))})]}),(0,v.jsx)(`span`,{className:`max-w-[10rem] truncate`,children:n}),St&&(0,v.jsx)(`button`,{onClick:()=>qe(e?.value),className:`rounded-full p-0.5 text-muted-foreground transition-colors hover:bg-accent hover:text-foreground`,type:`button`,"aria-label":c(`lookup.remove`,{label:n}),children:(0,v.jsx)(h.X,{className:`size-3`})})]},t)}return(0,v.jsxs)(m.Badge,{variant:`outline`,className:`gap-1`,children:[n,St&&(0,v.jsx)(`button`,{onClick:()=>qe(e?.value),className:`ml-1 hover:text-destructive`,type:`button`,"aria-label":c(`lookup.remove`,{label:n}),children:(0,v.jsx)(h.X,{className:`size-3`})})]},t)})}),U===`search`&&q&&G&&B?(0,v.jsxs)(`div`,{className:F?`contents`:`flex items-center gap-1.5`,children:[(0,v.jsx)(mr,{inline:!0,trigger:xt,open:Z,onOpenChange:xe,title:A?.label||c(`common.select`),multiple:F,dataSource:G,objectName:B,displayField:L,idField:z,subtitleFields:ae,avatarField:oe,pageSize:re,value:Be,onSelect:t,onSelectRecords:Je,lookupFilters:H,baseFilter:Se}),Ct]}):(0,v.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,v.jsxs)(m.Popover,{open:o,onOpenChange:e=>{fe||s(e)},children:[(0,v.jsx)(m.PopoverTrigger,{asChild:!0,children:xt}),(0,v.jsxs)(m.PopoverContent,{className:`w-[var(--radix-popover-trigger-width)] p-0`,align:`start`,children:[Me&&(0,v.jsx)(`div`,{className:`p-2`,children:(0,v.jsxs)(`div`,{className:`relative`,children:[(0,v.jsx)(h.Search,{className:`absolute left-3 top-1/2 -translate-y-1/2 size-4 text-muted-foreground`}),(0,v.jsx)(m.Input,{placeholder:c(`table.search`),value:Te,onChange:e=>Ne(e.target.value),onKeyDown:pt,className:`w-full pl-9 h-8 text-sm`,role:`combobox`,"aria-autocomplete":`list`,"aria-controls":y,"aria-expanded":o,"aria-activedescendant":O>=0?`${y}-opt-${O}`:void 0}),Ee&&(0,v.jsx)(h.Loader2,{className:`absolute right-3 top-1/2 -translate-y-1/2 size-4 animate-spin text-muted-foreground`,"data-testid":`lookup-loading`})]})}),Oe&&(0,v.jsxs)(`div`,{className:`flex flex-col items-center gap-2 py-4 px-2`,role:`alert`,children:[(0,v.jsx)(h.AlertCircle,{className:`size-5 text-destructive`}),(0,v.jsx)(`p`,{className:`text-sm text-destructive`,children:Oe}),(0,v.jsx)(m.Button,{variant:`outline`,size:`sm`,onClick:()=>we.refetch(),type:`button`,children:c(`lookup.retry`)})]}),Ee&&je.length===0&&!Oe&&(0,v.jsxs)(`div`,{className:`flex flex-col items-center gap-2 py-6`,role:`status`,"aria-live":`polite`,children:[(0,v.jsx)(h.Loader2,{className:`size-6 animate-spin text-muted-foreground`}),(0,v.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:c(`lookup.loading`)})]}),!Oe&&!(Ee&&je.length===0)&&(0,v.jsx)(`div`,{ref:ee,className:`max-h-64 overflow-y-auto px-1 pb-1`,role:`listbox`,id:y,children:nt.length===0?(0,v.jsxs)(`div`,{className:`py-4 text-center`,children:[(0,v.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:c(`lookup.noOptions`)}),ut&&(0,v.jsxs)(m.Button,{variant:`ghost`,size:`sm`,className:`mt-2 gap-1`,type:`button`,disabled:at,onClick:()=>dt(Te),children:[at?(0,v.jsx)(h.Loader2,{className:`size-4 animate-spin`}):(0,v.jsx)(h.Plus,{className:`size-4`}),Te?c(`lookup.createNamed`,{name:Te}):c(`lookup.createNew`)]})]}):(0,v.jsxs)(v.Fragment,{children:[nt.map((t,n)=>{let r=F?(Array.isArray(e)?e:[]).map(ze).includes(t.value):ze(e)===t.value,i=n===O,a=tt>0&&n===0,o=tt>0&&n===tt;return(0,v.jsxs)(u.default.Fragment,{children:[a&&(0,v.jsx)(`div`,{className:`px-3 pt-2 pb-1 text-[11px] font-medium uppercase tracking-wide text-muted-foreground`,children:c(`lookup.recentlyUsed`)}),o&&(0,v.jsx)(`div`,{className:`mt-1 border-t px-3 pt-2 pb-1 text-[11px] font-medium uppercase tracking-wide text-muted-foreground`,children:c(`lookup.allResults`)}),(0,v.jsxs)(`button`,{id:`${y}-opt-${n}`,"data-lookup-index":n,role:`option`,"aria-selected":r,title:String(t.label??``),onClick:()=>et(t),className:`w-full text-left px-3 py-2 rounded-md text-sm hover:bg-accent flex items-center justify-between ${i?`bg-accent text-accent-foreground`:r?`bg-accent/50 text-accent-foreground`:``}`,type:`button`,children:[(0,v.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,v.jsx)(`span`,{className:`block truncate`,children:t.label}),(()=>{let e=ft(t);return e?(0,v.jsx)(Ar,{children:e}):null})()]}),r&&(0,v.jsx)(m.Badge,{variant:`default`,className:`ml-2 shrink-0`,children:c(`lookup.selectedBadge`)})]})]},t.value)}),q&&De>je.length&&(0,v.jsx)(`p`,{className:`text-xs text-muted-foreground text-center py-2`,children:c(`lookup.showingResults`,{shown:je.length,total:De})}),q&&De>je.length&&(0,v.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:()=>{s(!1),xe(!0)},"data-testid":`show-all-results`,children:[(0,v.jsx)(h.TableProperties,{className:`size-3.5`}),c(`lookup.showAllResults`,{count:De})]}),ut&&(0,v.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`,disabled:at,onClick:()=>dt(Te),children:[at?(0,v.jsx)(h.Loader2,{className:`size-3.5 animate-spin`}):(0,v.jsx)(h.Plus,{className:`size-3.5`}),Te?c(`lookup.createNamed`,{name:Te}):c(`lookup.createNew`)]})]})})]})]}),Ct,q&&U!==`search`&&(0,v.jsx)(m.Button,{variant:`outline`,size:`icon`,className:`shrink-0`,type:`button`,disabled:fe||a.disabled,onClick:()=>xe(!0),"aria-label":c(`lookup.browseAll`),title:fe?c(`lookup.selectFirst`,{fields:W}):c(`lookup.browseAll`),"data-testid":`browse-all-records`,children:(0,v.jsx)(h.TableProperties,{className:`size-4`})})]}),q&&G&&B&&U!==`search`&&(0,v.jsx)(Rn,{open:Z,onOpenChange:xe,title:A?.label||c(`common.select`),multiple:F,dataSource:G,objectName:B,columns:me,displayField:I,objectSchema:J,idField:z,pageSize:re,value:Be,onSelect:t,onSelectRecords:Je,lookupFilters:H,baseFilter:Se,cellRenderer:Fe(),fieldsMeta:J?.fields,filterColumns:ye})]})}var Mr,Nr,Pr,Fr,Ir,Lr=o((()=>{$(),qn(),_r(),Cn(),Tn(),xr(),pr(),nr(),jn(),H(),Mr=50,Nr=g.SchemaRendererContext,Pr=/^(sys_|cloud_|ai_)/,Fr=new Set([`user`,`users`]),Ir=`name`})),Rr=s({UserField:()=>Br});function zr(e){let t=Array.isArray(e)?e:[];return t.some(e=>e?.field===`banned`)?t:[...t,{field:`banned`,operator:`ne`,value:!0}]}function Br(e){let t=e.field,n=t?.field&&typeof t.field==`object`&&(`reference`in t.field||`type`in t.field),r=n?t.field:t,i={...r||{},reference:r?.reference||`sys_user`,displayField:r?.displayField||r?.reference_field||`name`,picker:r?.picker??`search`,subtitle:r?.subtitle??[`primary_business_unit_id.name`,`email`],avatar_field:r?.avatar_field??r?.avatarField??`image`,lookupFilters:zr(r?.lookupFilters)},a=n?{...t,field:i}:i;return(0,v.jsx)(jr,{...e,field:a})}var Vr=o((()=>{Lr()})),Hr=s({ColorField:()=>Ur});function Ur({value:e,onChange:t,field:n,readonly:r,error:i,...a}){let o=n;return r?(0,v.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,v.jsx)(`div`,{className:`w-6 h-6 rounded border border-input`,style:{backgroundColor:e||`#000000`}}),(0,v.jsx)(`span`,{className:`text-sm`,children:e||(0,v.jsx)(m.EmptyValue,{})})]}):(0,v.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,v.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`,"aria-invalid":!!i}),(0,v.jsx)(m.Input,{...Q(a),type:`text`,value:e||``,onChange:e=>t(e.target.value),placeholder:o?.placeholder||`#000000`,disabled:r||a.disabled,className:a.className,pattern:`^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$`,"aria-invalid":!!i})]})}var Wr=o((()=>{$()})),Gr=s({AddressField:()=>Kr});function Kr({value:e,onChange:t,field:n,readonly:r,error:i,...a}){let o=e||{},{id:s,"aria-labelledby":c,...l}=Q(a),d=Ot(a,`instead-of-the-inputs`),f=Ot(a,`above-the-inputs`),h=(0,u.useId)(),g=e=>`${h}-${e}`,{t:_}=ie(),y=(0,p.useDisplayLocale)(),b=D(o),x=(e,n)=>{let r={...o};delete r.zipCode,t({...r,...b?{postalCode:b}:null,[e]:n})};if(r){let e=ee(o,y);return e?(0,v.jsx)(`span`,{...d,className:`text-sm`,children:e}):(0,v.jsx)(m.EmptyValue,{...d})}return(0,v.jsxs)(`div`,{className:`space-y-3`,...f,children:[(0,v.jsxs)(`div`,{children:[(0,v.jsx)(m.Label,{htmlFor:g(`street`),className:`text-xs`,children:_(`fields.address.street`)}),(0,v.jsx)(m.Input,{...l,id:g(`street`),type:`text`,value:o.street||``,onChange:e=>x(`street`,e.target.value),disabled:r||a.disabled,className:a.className,"aria-invalid":!!i})]}),(0,v.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,v.jsxs)(`div`,{children:[(0,v.jsx)(m.Label,{htmlFor:g(`city`),className:`text-xs`,children:_(`fields.address.city`)}),(0,v.jsx)(m.Input,{id:g(`city`),type:`text`,value:o.city||``,onChange:e=>x(`city`,e.target.value),disabled:r||a.disabled,"aria-invalid":!!i})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(m.Label,{htmlFor:g(`state`),className:`text-xs`,children:_(`fields.address.state`)}),(0,v.jsx)(m.Input,{id:g(`state`),type:`text`,value:o.state||``,onChange:e=>x(`state`,e.target.value),disabled:r||a.disabled,"aria-invalid":!!i})]})]}),(0,v.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,v.jsxs)(`div`,{children:[(0,v.jsx)(m.Label,{htmlFor:g(`postalCode`),className:`text-xs`,children:_(`fields.address.postalCode`)}),(0,v.jsx)(m.Input,{id:g(`postalCode`),type:`text`,value:b||``,onChange:e=>x(`postalCode`,e.target.value),disabled:r||a.disabled,"aria-invalid":!!i})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(m.Label,{htmlFor:g(`country`),className:`text-xs`,children:_(`fields.address.country`)}),(0,v.jsx)(m.Input,{id:g(`country`),type:`text`,value:o.country||``,onChange:e=>x(`country`,e.target.value),disabled:r||a.disabled,"aria-invalid":!!i})]})]})]})}var qr=o((()=>{$(),At(),H()})),Jr=s({LocationField:()=>si});function Yr(e){if(!e||typeof e!=`object`||Array.isArray(e))return!1;let{lat:t,lng:n}=e;return Xr(t)&&Xr(n)}function Xr(e){return typeof e==`number`&&Number.isFinite(e)}function Zr(e){return f.LocationValueSchema.safeParse(e).success}function Qr(e,t,n){let r={lat:e,lng:t};return Yr(n)?(Xr(n.altitude)&&(r.altitude=n.altitude),Xr(n.accuracy)&&(r.accuracy=n.accuracy),r):r}function $r(e){return Yr(e)?`${e.lat}, ${e.lng}`:``}function ei(e){if(!e.trim())return{kind:`cleared`};let t=e.split(`,`).map(e=>e.trim());if(t.length!==2)return{kind:`unparsable`};let n=parseFloat(t[0]),r=parseFloat(t[1]);if(isNaN(n)||isNaN(r))return{kind:`unparsable`};let i=li.map((e,n)=>({label:e,text:t[n]})).filter(e=>!ci.test(e.text));return i.length>0?{kind:`residue`,residue:i}:{kind:`pair`,lat:n,lng:r}}function ti(e,t){let n=ei(e);return n.kind===`cleared`?!Yr(t):n.kind===`pair`&&Yr(t)&&t.lat===n.lat&&t.lng===n.lng}function ni(e){return e(`fields.location.refusedFormat`)}function ri(e,t){let n=f.LocationValueSchema.safeParse(t);return n.success?``:e(`fields.location.refusedRange`,{detail:n.error.issues.map(e=>`${e.path.join(`.`)||`value`}: ${e.message}`).join(`; `)})}function ii(e,t){let[n,r]=t.map(t=>({name:ai(e,t.label),text:t.text}));return r?e(`fields.location.refusedResidue`,{name:n.name,text:n.text,otherName:r.name,otherText:r.text}):e(`fields.location.refusedResidueOne`,{name:n.name,text:n.text})}function ai(e,t){return e(t===`latitude`?`fields.location.latitude`:`fields.location.longitude`)}function oi(e){return li.map(t=>ai(e,t)).join(`, `)}function si({value:e,onChange:t,field:n,readonly:r,error:i,...a}){let o=n,[s,c]=(0,u.useState)(()=>$r(e)),[l,d]=(0,u.useState)(null),{t:f}=ie(),p=(0,u.useRef)(e);if((0,u.useEffect)(()=>{Object.is(p.current,e)||(p.current=e,!l&&(ti(s,e)||c($r(e))))},[e,s,l]),r)return(0,v.jsx)(`span`,{className:`text-sm`,children:$r(e)||(0,v.jsx)(m.EmptyValue,{})});let h=n=>{let r=n.target.value;c(r);let i=ei(r);if(i.kind===`cleared`){d(null),t(null);return}if(i.kind===`unparsable`){d(ni(f));return}if(i.kind===`residue`){d(ii(f,i.residue));return}let a=Qr(i.lat,i.lng,e);if(Zr(a)){d(null),t(a);return}d(ri(f,a))};return(0,v.jsxs)(`div`,{className:`space-y-1`,children:[(0,v.jsx)(m.Input,{...Q(a),type:`text`,value:s,onChange:h,placeholder:o?.placeholder||oi(f),disabled:r||a.disabled,className:(0,m.cn)(l?`border-red-500 focus-visible:ring-red-500`:``,a.className),"aria-invalid":!!i||!!l}),l&&(0,v.jsx)(`p`,{className:`text-xs text-red-500`,children:l})]})}var ci,li,ui=o((()=>{$(),H(),ci=/^[+-]?(?:Infinity|(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?)$/,li=[`latitude`,`longitude`]})),di=s({GeolocationField:()=>fi});function fi({value:e,onChange:t,field:n,readonly:r,error:i,...a}){let[o,s]=u.default.useState(!1),c=mt(`30.2741`),l=mt(`120.1551`),d=e||{},{id:f,"aria-labelledby":p,...g}=Q(a),_=Ot(a,`instead-of-the-inputs`),y=Ot(a,`above-the-inputs`),b=(0,u.useId)(),x=e=>`${b}-${e}`,S=(e,n)=>{t({...d,[e]:n?Number(n):null})},C=e=>{c.readBadInput(e.target),g.onBlur?.(e)},w=()=>{if(!navigator.geolocation){console.error(`Geolocation is not supported by this browser`);return}s(!0),navigator.geolocation.getCurrentPosition(e=>{t({latitude:e.coords.latitude,longitude:e.coords.longitude,accuracy:e.coords.accuracy}),s(!1)},e=>{console.error(`Error getting location:`,e.message),s(!1)},{enableHighAccuracy:!0,timeout:5e3,maximumAge:0})},T=e=>mi(e)?`${e.latitude.toFixed(6)}, ${e.longitude.toFixed(6)}`:``,E=()=>{if(!mi(d))return;let e=`https://www.google.com/maps?q=${d.latitude},${d.longitude}`;window.open(e,`_blank`)};if(r){let e=T(d);return(0,v.jsxs)(`div`,{..._,className:`flex items-center gap-2`,children:[(0,v.jsx)(h.MapPin,{className:`w-4 h-4 text-muted-foreground`}),e?(0,v.jsx)(`span`,{className:`text-sm`,children:e}):(0,v.jsx)(m.EmptyValue,{}),mi(d)&&(0,v.jsx)(m.Button,{type:`button`,variant:`link`,size:`sm`,onClick:E,className:`p-0 h-auto`,children:`View on map`})]})}return(0,v.jsxs)(`div`,{className:`space-y-3`,...y,children:[(0,v.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,v.jsxs)(m.Button,{type:`button`,variant:`outline`,size:`sm`,onClick:w,disabled:r||o,children:[(0,v.jsx)(h.Crosshair,{className:`w-4 h-4 mr-2`}),o?`Getting location...`:`Use Current Location`]}),mi(d)&&(0,v.jsxs)(m.Button,{type:`button`,variant:`link`,size:`sm`,onClick:E,children:[(0,v.jsx)(h.MapPin,{className:`w-4 h-4 mr-2`}),`View on map`]})]}),(0,v.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,v.jsxs)(`div`,{children:[(0,v.jsx)(m.Label,{htmlFor:x(`latitude`),className:`text-xs`,children:`Latitude`}),(0,v.jsx)(m.Input,{...g,id:x(`latitude`),type:`number`,value:d.latitude??``,onChange:e=>{c.readBadInput(e.target),S(`latitude`,e.target.value)},onBlur:C,placeholder:`37.7749`,disabled:r||a.disabled,step:`any`,className:(0,m.cn)(c.refusal?gt:``,a.className),"aria-invalid":!!i||!!c.refusal}),(0,v.jsx)(ht,{refusal:c.refusal})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(m.Label,{htmlFor:x(`longitude`),className:`text-xs`,children:`Longitude`}),(0,v.jsx)(m.Input,{id:x(`longitude`),type:`number`,value:d.longitude??``,onChange:e=>{l.readBadInput(e.target),S(`longitude`,e.target.value)},onBlur:e=>l.readBadInput(e.target),placeholder:`-122.4194`,disabled:r||a.disabled,step:`any`,className:l.refusal?gt:void 0,"aria-invalid":!!i||!!l.refusal}),(0,v.jsx)(ht,{refusal:l.refusal})]})]}),pi(d.accuracy)&&(0,v.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`Accuracy: ±`,d.accuracy.toFixed(0),`m`]})]})}var pi,mi,hi=o((()=>{$(),At(),_t(),pi=e=>typeof e==`number`&&!Number.isNaN(e),mi=e=>pi(e.latitude)&&pi(e.longitude)})),gi=s({CodeField:()=>_i});function _i({value:e,onChange:t,field:n,readonly:r,error:i,...a}){let o=n,s=o?.language??`javascript`;return r?(0,v.jsx)(`pre`,{className:(0,m.cn)(`text-sm bg-muted p-2 rounded overflow-x-auto border`,a.className),children:(0,v.jsx)(`code`,{children:e||(0,v.jsx)(m.EmptyValue,{})})}):(0,v.jsx)(m.Textarea,{...Q(a),value:e||``,onChange:e=>t(e.target.value),placeholder:o?.placeholder||`// Write ${s} code here...`,disabled:r||a.disabled,className:(0,m.cn)(`font-mono text-sm`,a.className),rows:12,spellCheck:!1,"aria-invalid":!!i})}var vi=o((()=>{$()})),yi=s({ObjectField:()=>Si});function bi(e){return e==null?``:JSON.stringify(e,null,2)}function xi(e,t){if(!e.trim())return t==null;try{return JSON.stringify(JSON.parse(e))===JSON.stringify(t)}catch{return!1}}function Si({value:e,onChange:t,field:n,readonly:r,error:i,...a}){let o=n,[s,c]=(0,u.useState)(()=>bi(e)),[l,f]=(0,u.useState)(null),{t:p}=ie(),h=(0,u.useRef)(null),g=(0,u.useRef)(e);if((0,u.useEffect)(()=>{Object.is(g.current,e)||(g.current=e,!l&&(xi(s,e)||c(bi(e))))},[e,s,l]),(0,u.useEffect)(()=>{h.current?.setCustomValidity(l??``)},[l]),r)return(0,d.isEmptyValue)(e)&&!Array.isArray(e)?(0,v.jsx)(m.EmptyValue,{}):(0,v.jsx)(`pre`,{className:(0,m.cn)(`text-xs bg-gray-50 p-2 rounded border border-gray-200 overflow-auto max-h-40`,a.className),children:JSON.stringify(e,null,2)});let _=e=>{let n=e.target.value;if(c(n),!n.trim()){f(null),t(null);return}try{let e=JSON.parse(n);f(null),t(e)}catch{f(p(`fields.object.invalidJson`))}};return(0,v.jsxs)(`div`,{className:`space-y-1`,children:[(0,v.jsx)(m.Textarea,{...Q(a),ref:h,value:s,onChange:_,placeholder:o?.placeholder||`{
2
2
  "key": "value"
3
- }`,disabled:r||a.disabled,className:(0,m.cn)(`font-mono text-xs`,l?`border-red-500 focus-visible:ring-red-500`:``,a.className),rows:6,"aria-invalid":!!i||!!l}),l&&(0,v.jsx)(`p`,{className:`text-xs text-red-500`,children:l})]})}var Yr=o((()=>{$(),He()})),Xr=s({QRCodeField:()=>Zr});function Zr({value:e,onChange:t,field:n,readonly:r,error:i,...a}){let[o,s]=u.default.useState(!1),c=n,l=e=>`https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=${encodeURIComponent(e)}`,d=()=>{e&&navigator.clipboard.writeText(e)};return r?(0,v.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,v.jsx)(`span`,{className:`text-sm flex-1 truncate`,children:e||(0,v.jsx)(m.EmptyValue,{})}),e&&(0,v.jsxs)(m.Button,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>s(!o),children:[(0,v.jsx)(h.QrCode,{className:`w-4 h-4 mr-2`}),o?`Hide`:`Show`,` QR`]})]}):(0,v.jsxs)(`div`,{className:`space-y-3`,children:[(0,v.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,v.jsx)(m.Input,{...Q(a),type:`text`,value:e||``,onChange:e=>t(e.target.value),placeholder:c?.placeholder||`Enter text for QR code`,disabled:r||a.disabled,className:a.className,"aria-invalid":!!i}),e&&(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(m.Button,{type:`button`,variant:`outline`,size:`sm`,onClick:d,children:(0,v.jsx)(h.Copy,{className:`w-4 h-4`})}),(0,v.jsx)(m.Button,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>s(!o),children:(0,v.jsx)(h.QrCode,{className:`w-4 h-4`})})]})]}),o&&e&&(0,v.jsx)(`div`,{className:`border rounded p-4 bg-white flex justify-center`,children:(0,v.jsx)(`img`,{src:l(e),alt:`QR Code`,className:`w-48 h-48`})}),e&&(0,v.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`QR code contains: `,e.length,` characters`]})]})}var Qr=o((()=>{$()}));$(),Pe(),ze(),Xe(),$e(),rt(),lt(),ft(),ht(),Et(),St(),kt(),Mt(),Ft(),Vt(),Wt(),qt(),Xt(),$t(),nn(),lr(),pr(),gr(),yr(),Ir(),Vr(),Wr(),Yr(),Qr();var $r={text:Ne,textarea:Re,number:Ye,currency:Qe,percent:tt,slider:ct,progress:ct,rating:dt,boolean:mt,toggle:mt,select:wt,status:wt,multiselect:xt,radio:Ot,checkboxes:jt,tags:Pt,date:Bt,datetime:Ut,time:Kt,email:Yt,phone:Qt,url:tn,lookup:rr,master_detail:rr,user:fr,color:hr,address:vr,location:Nr,geolocation:Rr,code:Ur,json:Jr,qrcode:Zr},ei=new Set([`formula`,`summary`,`auto_number`,`file`,`image`,`avatar`,`signature`,`markdown`,`html`,`richtext`,`password`,`secret`,`object`,`grid`,`vector`,`object-ref`,`filter-condition`,`recipient-picker`]),ti=new Set([`boolean`,`toggle`,`select`,`status`,`radio`,`rating`]);function ni(e){return e in $r||ei.has(e)?e:Oe(e).replace(/^field:/,``)}function ri(e){return!e||(0,d.isRetiredFieldType)(e)?!1:ni(e)in $r}function ii(e){return e?(0,d.isRetiredFieldType)(e)?!0:ei.has(ni(e)):!1}var ai=new Set([`lookup`,`master_detail`,`user`]);function oi(e){let{field:t,value:n,onChange:r,readonly:i}=e;if(t?.type&&(0,d.isRetiredFieldType)(t.type))return(0,d.reportRetiredFieldType)(t.type),null;let a=t?.type?ni(t.type):void 0,o=a?$r[a]:void 0;if(!o)return null;let s=a&&ai.has(a)?{compact:!0}:{};return(0,v.jsx)(o,{...Q(e),...je(e),field:t,value:n,onChange:r,readonly:i,...s})}var si=s({PasswordField:()=>ci});function ci({value:e,onChange:t,field:n,readonly:r,className:i,...a}){let[o,s]=(0,u.useState)(!1),c=n;if(r)return(0,d.isEmptyValue)(J(e))?(0,v.jsx)(m.EmptyValue,{}):(0,v.jsx)(`span`,{className:`text-sm`,children:`••••••••`});let l=Q(a);return(0,v.jsxs)(`div`,{className:`relative`,children:[(0,v.jsx)(m.Input,{...l,type:o?`text`:`password`,value:e||``,onChange:e=>t(e.target.value),placeholder:c?.placeholder,disabled:r||l.disabled,className:`pr-10 ${i||``}`}),(0,v.jsx)(m.Button,{type:`button`,variant:`ghost`,size:`sm`,className:`absolute right-0 top-0 h-full px-3 py-2 hover:bg-transparent`,onClick:()=>s(!o),tabIndex:-1,children:o?(0,v.jsx)(h.EyeOff,{className:`size-4 text-gray-500`}):(0,v.jsx)(h.Eye,{className:`size-4 text-gray-500`})})]})}var li=o((()=>{de(),$()})),ui=s({RichTextField:()=>pi});function di({value:e,onChange:t,formatLabel:n,hint:r,placeholder:i,rows:a,disabled:o,error:s,className:c,fullHeight:l,autoFocus:u,textareaTestId:d,overlay:f,counter:p,maxLength:h,describedBy:g,domProps:_,editorAria:y}){return(0,v.jsxs)(`div`,{className:(0,m.cn)(`space-y-2`,l&&`flex flex-col h-full`),children:[(0,v.jsxs)(`div`,{className:`flex items-center justify-between text-xs text-gray-500`,children:[(0,v.jsx)(`span`,{children:n}),(0,v.jsx)(`span`,{className:`italic`,children:r})]}),(0,v.jsxs)(`div`,{className:(0,m.cn)(`relative`,l&&`flex-1 min-h-0`),children:[(0,v.jsx)(m.Textarea,{autoFocus:u,"data-testid":d,..._,value:e||``,onChange:e=>t(e.target.value),placeholder:i,disabled:o,rows:l?void 0:a,maxLength:h,className:(0,m.cn)(`font-mono`,l?`text-base h-full min-h-full resize-none`:`text-sm`,c),"aria-invalid":!!s,"aria-describedby":g,...y}),p,f]})]})}function fi(e){let t=e?.type,n=typeof t==`string`?t:``;return n.startsWith(`field:`)?n.slice(6):n}function pi({value:e,onChange:t,field:n,readonly:r,error:i,...a}){let{t:o}=(0,g.useObjectTranslation)(),s=fi(n),c=ge(s),l=(0,u.useId)(),d=`${l}-charcount`,f=`${l}-fullscreen-charcount`;if(r){let t=_e(s);return t?(0,v.jsx)(t,{value:e,field:n}):(0,v.jsx)(`div`,{className:`text-sm whitespace-pre-wrap break-words`,children:e||(0,v.jsx)(m.EmptyValue,{})})}let p=n,h=p?.rows||8,_=p?.maxLength,y=c??``,b=!!p?.mobile_fullscreen,x=Q(a),S=!!x.disabled,C=[x[`aria-describedby`],_?d:void 0].filter(Boolean).join(` `)||void 0,w=o(`fields.richText.format`,{format:y,defaultValue:`Format: ${y}`}),T=o(`fields.richText.basicEditorHint`,{defaultValue:`Rich text editor (basic)`}),E=p?.placeholder||o(`fields.richText.placeholder`,{defaultValue:`Enter text…`});return(0,v.jsx)(di,{value:e,onChange:t,formatLabel:w,hint:T,placeholder:E,rows:h,disabled:r||S,error:i,className:x.className,maxLength:_,describedBy:C,domProps:x,counter:_?(0,v.jsx)(m.CharacterCount,{length:(e||``).length,maxLength:_,descriptionId:d,announceNearLimit:!0,className:`absolute bottom-2 right-2 text-xs text-gray-400`,testId:`richtext-character-count`}):null,overlay:b&&(0,v.jsx)(Fe,{value:e??``,onCommit:t,label:p?.label,testIdPrefix:`richtext`,disabled:S,error:i,footer:e=>_?(0,v.jsx)(m.CharacterCount,{length:e.length,maxLength:_,descriptionId:f,announceNearLimit:!1,className:`text-xs text-muted-foreground self-center`,testId:`richtext-fullscreen-character-count`}):null,children:(e,t,n,r)=>(0,v.jsx)(di,{value:e,onChange:t,formatLabel:w,hint:T,placeholder:E,disabled:n,autoFocus:!0,fullHeight:!0,maxLength:_,describedBy:_?f:void 0,textareaTestId:`richtext-fullscreen-input`,editorAria:r})})})}var mi=o((()=>{Ie(),$()}));He();function hi(e){if(Array.isArray(e))return e.map(e=>String(e)).filter(Boolean);if(typeof e==`string`){let t=e.trim();if(!t)return[];try{let e=JSON.parse(t);return Array.isArray(e)?e.map(e=>String(e)).filter(Boolean):[String(e)].filter(Boolean)}catch{return t.split(`,`).map(e=>e.trim()).filter(Boolean)}}return[]}var gi=[`platform`,`org`,`other`],_i=new Set([`manage_users`,`manage_org_users`,`manage_metadata`,`manage_org_presentation`,`manage_platform_settings`,`setup_access`,`setup_write`,`studio_access`,`manage_sharing`]);function vi({value:e,onChange:t,readonly:n,className:r,...i}){let{t:a}=Ve(),o=u.default.useContext(g.SchemaRendererContext),s=i.dataSource??o?.dataSource??null,c=i.disabled,[l,d]=u.default.useState(null),f=u.default.useMemo(()=>hi(e),[e]);u.default.useEffect(()=>{if(!s||typeof s.find!=`function`)return;let e=!1;return(async()=>{try{let t=await s.find(`sys_capability`,{$filter:{active:!0},$top:500}),n=t?.data??t?.records??(Array.isArray(t)?t:[]);e||d(Array.isArray(n)?n:[])}catch{e||d([])}})(),()=>{e=!0}},[s]);let p=u.default.useCallback(e=>t(JSON.stringify(e)),[t]),h=u.default.useMemo(()=>{let e=new Map;for(let t of l??[])t?.name&&e.set(t.name,t);for(let t of f)e.has(t)||e.set(t,{name:t,label:t,scope:`other`});return e},[l,f]),_=e=>{let t=h.get(e)?.label||e,n=e.replace(/\./g,`_`);return _i.has(n)?a(`capability.label.${n}`,{defaultValue:t}):t},y=u.default.useMemo(()=>{let e=new Map;for(let t of h.values()){let n=gi.includes(t.scope)?t.scope:`other`,r=e.get(n)??[];r.push(t),e.set(n,r)}return gi.filter(t=>e.has(t)).map(t=>({scope:t,label:a(`capability.group.${t}`),items:(e.get(t)??[]).sort((e,t)=>(e.label||e.name).localeCompare(t.label||t.name))}))},[h,a]);if(n)return f.length===0?(0,v.jsx)(m.EmptyValue,{}):(0,v.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:f.map(e=>(0,v.jsx)(m.Badge,{variant:`outline`,title:h.get(e)?.description,children:_(e)},e))});let b=e=>{let t=f.includes(e)?f.filter(t=>t!==e):[...f,e];p(t)};return(0,v.jsxs)(`div`,{className:(0,m.cn)(`flex flex-col gap-3`,r),children:[l===null&&y.length===0&&(0,v.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:`Loading capabilities…`}),y.map(e=>(0,v.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,v.jsx)(`div`,{className:`text-xs font-medium uppercase tracking-wide text-muted-foreground`,children:e.label}),(0,v.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:e.items.map(e=>{let t=f.includes(e.name);return(0,v.jsx)(`button`,{type:`button`,onClick:()=>b(e.name),disabled:c,"aria-pressed":t,title:e.description||void 0,className:(0,m.cn)(`rounded-full border px-3 py-1 text-sm transition-colors disabled:opacity-50`,t?`border-primary bg-primary text-primary-foreground`:`border-input bg-background text-foreground hover:bg-accent`),children:_(e.name)},e.name)})})]},e.scope))]})}var yi=s({ObjectRefField:()=>bi,default:()=>bi});function bi({value:e,onChange:t,readonly:n,className:r,error:i,...a}){let o=u.default.useContext(g.SchemaRendererContext),{t:s}=Ve(),c=a.dataSource??o?.dataSource??null,l=a.disabled,[d,f]=u.default.useState(null);u.default.useEffect(()=>{if(!c)return;let e=!1;return(async()=>{try{let t=[];if(typeof c.getObjects==`function`)t=await c.getObjects()??[];else if(typeof c.find==`function`){let e=await c.find(`sys_metadata`,{$filter:{type:`object`},$top:1e3});t=(e?.data??e?.records??(Array.isArray(e)?e:[])).map(e=>({name:String(e?.name??``),label:e?.label==null?void 0:String(e.label)})).filter(e=>e.name)}e||f(t)}catch{e||f([])}})(),()=>{e=!0}},[c]);let p=u.default.useMemo(()=>{let t=(d??[]).map(e=>({value:e.name,label:e.label?`${e.label} (${e.name})`:e.name}));return e&&!t.some(t=>t.value===e)&&t.unshift({value:e,label:e}),t.sort((e,t)=>e.label.localeCompare(t.label))},[d,e]);if(n){if(!e)return(0,v.jsx)(m.EmptyValue,{});let t=p.find(t=>t.value===e)?.label??e;return(0,v.jsx)(`span`,{className:r,children:t})}let{name:h,..._}=Q(a);return(0,v.jsx)(m.Combobox,{..._,options:p,value:e??``,onValueChange:e=>t(e),placeholder:s(d===null?`fields.objectRef.loading`:`fields.objectRef.placeholder`),searchPlaceholder:s(`fields.objectRef.search`),emptyText:s(d===null?`common.loading`:`fields.objectRef.empty`),disabled:l,className:(0,m.cn)(`w-full`,r),"aria-invalid":!!i})}var xi=o((()=>{$(),He()})),Si=s({FILTER_CONDITION_EXTRA_OPERATORS:()=>Bi,FilterConditionField:()=>Ri,condToMongo:()=>Ai,default:()=>Ri,isMatchAllCriteria:()=>Ii,kvToCondition:()=>Pi});function Ci(e){let t=e?.fields,n=Array.isArray(t)?t.map(e=>[e?.name,e]):t&&typeof t==`object`?Object.entries(t):[],r=[];for(let[e,t]of n){if(!e||!t||t.hidden)continue;let n=t.type;n&&Vi.has(n)||r.push({value:e,label:t.label||e,type:n,options:Array.isArray(t.options)?t.options.map(e=>typeof e==`string`?{value:e,label:e}:{value:String(e?.value),label:String(e?.label??e?.value)}):void 0,referenceTo:t.reference})}return r}function wi(e,t){if(e==null)return e;if(t===`boolean`||t===`toggle`)return typeof e==`boolean`?e:e===`true`||e!==`false`&&e;if(t===`number`||t===`currency`||t===`percent`||t===`rating`||t===`slider`){let t=Number(e);return Number.isFinite(t)&&e!==``?t:e}return e}function Ti(e){return e==null||e===``}function Ei(e){return Array.isArray(e)?e:typeof e==`string`?e.split(`,`).map(e=>e.trim()).filter(Boolean):e==null?[]:[e]}function Di(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Oi(e){if(!Di(e))return null;let t=Object.entries(e);if(t.length!==1||t[0][0].startsWith(`$`))return null;let[n,r]=t[0];if(!Di(r))return null;let i=Object.entries(r);return i.length===1?[n,i[0][0],i[0][1]]:null}function ki(e){if(!Array.isArray(e)||e.length!==2)return null;let t=Oi(e[0]),n=Oi(e[1]);if(!t||!n||t[0]!==n[0])return null;let[r,i,a]=t;return i===`$in`&&Mi(a,[``])&&n[1]===`$null`&&n[2]===!0?r:null}function Ai(e,t){let{field:n,operator:r,value:i}=e||{};if(!n||Hi.has(r)&&Ti(i))return null;let a=t(n),o=wi(i,a);switch(r){case`equals`:return{[n]:o};case`not_equals`:return{[n]:{$ne:o}};case`contains`:return{[n]:{$contains:i}};case`icontains`:return{[n]:{$icontains:i}};case`not_contains`:return{[n]:{$notContains:i}};case`starts_with`:return{[n]:{$startsWith:i}};case`ends_with`:return{[n]:{$endsWith:i}};case`is_empty`:return{[n]:{$empty:!0}};case`is_not_empty`:return{[n]:{$empty:!1}};case`is_null`:return{[n]:{$null:!0}};case`is_not_null`:return{[n]:{$null:!1}};case`exists`:return{[n]:{$exists:!0}};case`notExists`:return{[n]:{$exists:!1}};case`greater_than`:case`after`:return{[n]:{$gt:o}};case`less_than`:case`before`:return{[n]:{$lt:o}};case`greater_than_or_equal`:return{[n]:{$gte:o}};case`less_than_or_equal`:return{[n]:{$lte:o}};case`between`:{let[e,t]=Array.isArray(i)?i:[void 0,void 0];return Ti(e)||Ti(t)?null:{[n]:{$gte:wi(e,a),$lte:wi(t,a)}}}case`in`:return{[n]:{$in:Ei(i).map(e=>wi(e,a))}};case`not_in`:return{[n]:{$nin:Ei(i).map(e=>wi(e,a))}};default:return{[n]:o}}}function ji(e,t){let n=(e?.conditions??[]).map(e=>Ai(e,t)).filter(e=>!!e);if(n.length===0)return null;if(e.logic===`or`)return{$or:n};if(n.length===1)return n[0];let r=n.flatMap(e=>Object.keys(e));return new Set(r).size===r.length?Object.assign({},...n):{$and:n}}function Mi(e,t){return Array.isArray(e)&&e.length===t.length&&e.every((e,n)=>e===t[n])}function Ni(e){if(e==null||typeof e==`object`&&!Array.isArray(e)&&Object.keys(e).length===0)return``;try{return JSON.stringify(e)??``}catch{return`[unserialisable criteria]`}}function Pi(e,t,n){if(e.startsWith(`$`)){let r=e===`$or`?ki(t):null;return r===null?null:{id:`c_${n}_${r}`,field:r,operator:`is_empty`,value:``}}let r=`c_${n}_${e}`;if(typeof t!=`object`||!t||Array.isArray(t))return{id:r,field:e,operator:`equals`,value:t};let i=Object.keys(t);if(i.length===1){let n=i[0],a=t[n];switch(n){case`$ne`:return{id:r,field:e,operator:`not_equals`,value:a};case`$contains`:return{id:r,field:e,operator:`contains`,value:a};case`$icontains`:return{id:r,field:e,operator:`icontains`,value:a};case`$notContains`:case`$ncontains`:return{id:r,field:e,operator:`not_contains`,value:a};case`$gt`:return{id:r,field:e,operator:`greater_than`,value:a};case`$lt`:return{id:r,field:e,operator:`less_than`,value:a};case`$gte`:return{id:r,field:e,operator:`greater_than_or_equal`,value:a};case`$lte`:return{id:r,field:e,operator:`less_than_or_equal`,value:a};case`$startsWith`:return{id:r,field:e,operator:`starts_with`,value:a};case`$endsWith`:return{id:r,field:e,operator:`ends_with`,value:a};case`$null`:return{id:r,field:e,operator:a===!1?`is_not_null`:`is_null`,value:``};case`$exists`:return{id:r,field:e,operator:a===!1?`notExists`:`exists`,value:``};case`$empty`:return a===!0?{id:r,field:e,operator:`is_empty`,value:``}:a===!1?{id:r,field:e,operator:`is_not_empty`,value:``}:null;case`$in`:return Mi(a,[null,``])?{id:r,field:e,operator:`is_empty`,value:``}:{id:r,field:e,operator:`in`,value:a};case`$nin`:return Mi(a,[null,``])?{id:r,field:e,operator:`is_not_empty`,value:``}:{id:r,field:e,operator:`not_in`,value:a};default:return null}}return i.length===2&&`$gte`in t&&`$lte`in t?{id:r,field:e,operator:`between`,value:[t.$gte,t.$lte]}:i.length===2&&`$nin`in t&&`$null`in t&&Mi(t.$nin,[``])&&t.$null===!1?{id:r,field:e,operator:`is_not_empty`,value:``}:null}function Fi(e){if(e==null)return{...zi,conditions:[]};if(typeof e!=`object`||Array.isArray(e))return null;let t=Object.entries(e);if(t.length===0)return{...zi,conditions:[]};if(t.length===1&&(e.$or||e.$and)&&!Pi(t[0][0],t[0][1],0)){let t=e.$or?`or`:`and`,n=e.$or||e.$and;if(!Array.isArray(n))return null;let r=[];for(let e=0;e<n.length;e++){let t=n[e];if(!t||typeof t!=`object`||Object.keys(t).length!==1)return null;let i=Object.keys(t)[0],a=Pi(i,t[i],e);if(!a)return null;r.push(a)}return{id:`root`,logic:t,conditions:r}}let n=[],r=0;for(let[e,i]of t){let t=Pi(e,i,r++);if(!t)return null;n.push(t)}return{id:`root`,logic:`and`,conditions:n}}function Ii(e){if(e==null)return!0;if(Array.isArray(e))return e.every(Ii);if(typeof e!=`object`)return!0;let t=Object.entries(e);if(t.length===0)return!0;for(let[e,n]of t){if(e===`$and`){if(!Array.isArray(n)||n.every(Ii))continue;return!1}if(e===`$or`){if(!Array.isArray(n)||n.length===0||n.some(Ii))continue;return!1}return!1}return!0}function Li(e){if(e==null||e===``)return``;if(typeof e==`string`)return e;try{return JSON.stringify(e)}catch{return``}}function Ri({value:e,onChange:t,readonly:n,className:r,error:i,...a}){let o=u.default.useContext(g.SchemaRendererContext),{t:s}=Ve(),c=a.dataSource??o?.dataSource??null,l=a.dependentValues??{},d=String(l.object_name??``),[f,p]=u.default.useState(null);u.default.useEffect(()=>{if(p(null),!c||!d||typeof c.getObjectSchema!=`function`)return;let e=!1;return(async()=>{try{let t=await c.getObjectSchema(d);e||p(Ci(t))}catch{e||p([])}})(),()=>{e=!0}},[c,d]);let h=u.default.useMemo(()=>Li(e),[e]),_=u.default.useMemo(()=>{if(!h.trim())return{mongo:{},ok:!0};try{return{mongo:JSON.parse(h),ok:!0}}catch{return{mongo:null,ok:!1}}},[h]),y=u.default.useMemo(()=>_.ok?Fi(_.mongo):null,[_]),b=u.default.useMemo(()=>_.ok&&Ii(_.mongo),[_]),x=_.ok&&y!==null,[S,C]=u.default.useState(!x);u.default.useEffect(()=>{x||C(!0)},[x]);let w=u.default.useMemo(()=>{let e=new Map((f??[]).map(e=>[e.value,e.type]));return t=>e.get(t)},[f]),[T,E]=u.default.useState(()=>y??zi),D=_.ok?Ni(_.mongo):null,O=Ni(ji(T,w));return u.default.useEffect(()=>{y!==null&&D!==null&&D!==O&&E(y)},[y,D,O]),d?n?h.trim()?(0,v.jsx)(`pre`,{className:(0,m.cn)(`overflow-x-auto rounded bg-muted/40 p-2 text-xs`,r),children:h}):(0,v.jsx)(`span`,{className:(0,m.cn)(`text-sm text-destructive`,r),children:s(`fields.filterCondition.noCriteria`)}):(0,v.jsxs)(`div`,{className:(0,m.cn)(`flex flex-col gap-2`,r),children:[S?(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(`textarea`,{...Q(a),className:`min-h-[96px] w-full rounded border bg-background px-2 py-1 font-mono text-xs`,value:h,placeholder:`{ "type": "customer", "is_active": true }`,onChange:e=>t(e.target.value),"aria-invalid":!!i||!_.ok}),!_.ok&&(0,v.jsx)(`span`,{className:`text-xs text-destructive`,children:s(`fields.filterCondition.invalidJson`)})]}):(0,v.jsx)(m.FilterBuilder,{fields:f??[],value:T,onChange:e=>{E(e);let n=ji(e,w);t(n==null?``:JSON.stringify(n))},extraOperators:Bi}),b&&(0,v.jsx)(`span`,{className:`text-xs text-destructive`,children:s(`fields.filterCondition.criteriaRequired`)}),(0,v.jsx)(`button`,{type:`button`,className:`self-start text-xs text-muted-foreground underline-offset-2 hover:underline`,onClick:()=>C(e=>!e),disabled:!x&&!S,title:x?void 0:s(`fields.filterCondition.jsonOnly`),children:s(S?`fields.filterCondition.useVisualBuilder`:`fields.filterCondition.editAsJson`)})]}):(0,v.jsx)(`p`,{className:(0,m.cn)(`text-sm text-muted-foreground`,r),children:s(`fields.filterCondition.selectObjectFirst`)})}var zi,Bi,Vi,Hi,Ui=o((()=>{$(),He(),zi={id:`root`,logic:`and`,conditions:[]},Bi=[`exists`,`notExists`],Vi=new Set([`object`,`vector`,`file`,`image`,`avatar`,`signature`,`richtext`,`html`,`markdown`,`location`,`grid`,`json`,`code`]),Hi=new Set([`contains`,`icontains`,`not_contains`,`starts_with`,`ends_with`])})),Wi=s({RecipientPickerField:()=>qi,default:()=>qi,deriveUserFields:()=>Ki,fieldHoldsUsers:()=>Gi});function Gi(e){if(!e||typeof e!=`object`)return!1;let t=e;return t.type===`user`||(t.type===`lookup`||t.type===`master_detail`)&&t.reference===`sys_user`}function Ki(e){let t=e?.fields,n=Array.isArray(t)?t.map(e=>[e?.name,e]):t&&typeof t==`object`?Object.entries(t):[],r=[];for(let[e,t]of n)e&&Gi(t)&&r.push({name:String(e),label:t.label?String(t.label):String(e)});return r}function qi({value:e,onChange:t,readonly:n,className:r,error:i,...a}){let o=u.default.useContext(g.SchemaRendererContext),{t:s}=Ve(),c=a.dataSource??o?.dataSource??null,l=a.disabled,d=a.dependentValues??{},f=String(d.recipient_type??``),p=Ji[f],h=String(d.object_name??``),_=f===Yi&&!!c&&typeof c.getObjectSchema==`function`,[y,b]=u.default.useState(null),[x,S]=u.default.useState(null),C=u.default.useRef(``);u.default.useEffect(()=>{C.current&&f&&C.current!==f&&e&&t(``),C.current=f},[f]),u.default.useEffect(()=>{if(b(null),!c||!p||typeof c.find!=`function`)return;let e=!1;return(async()=>{try{let t=await c.find(p.object,{$top:500,$orderby:{name:`asc`}}),n=t?.data??t?.records??(Array.isArray(t)?t:[]);e||b(Array.isArray(n)?n:[])}catch{e||b([])}})(),()=>{e=!0}},[c,p?.object]),u.default.useEffect(()=>{if(S(null),!_||!h)return;let e=!1;return(async()=>{try{let t=await c.getObjectSchema(h);e||S(Ki(t))}catch{e||S([])}})(),()=>{e=!0}},[c,h,_]);let w=e=>{for(let t of p?.labelFields??[`name`])if(e?.[t])return String(e[t]);return String(e?.id??``)},T=e=>String(e?.[p?.storeField??`id`]??``),E=u.default.useMemo(()=>{let t=(y??[]).map(e=>({value:T(e),label:w(e)})).filter(e=>e.value);return e&&!t.some(t=>t.value===e)&&t.unshift({value:e,label:e}),t},[y,e,p]),D=u.default.useMemo(()=>(x??[]).map(e=>({value:e.name,label:e.label})),[x]),{name:O,...k}=Q(a);if(!f)return(0,v.jsx)(`p`,{className:(0,m.cn)(`text-sm text-muted-foreground`,r),children:s(`fields.recipient.selectTypeFirst`)});if(_){if(!h)return(0,v.jsx)(`p`,{className:(0,m.cn)(`text-sm text-muted-foreground`,r),children:s(`fields.filterCondition.selectObjectFirst`)});let a=e&&!D.some(t=>t.value===e)?[{value:e,label:s(`fields.recipient.fieldNotUserTyped`,{name:e})},...D]:D;return n?e?(0,v.jsx)(`span`,{className:r,children:a.find(t=>t.value===e)?.label??e}):(0,v.jsx)(m.EmptyValue,{}):(0,v.jsx)(m.Combobox,{...k,options:a,value:e??``,onValueChange:e=>t(e),placeholder:s(x===null?`fields.recipient.loading`:`fields.recipient.selectField`),searchPlaceholder:s(`fields.recipient.search`),emptyText:s(x===null?`fields.recipient.loading`:`fields.recipient.noUserFields`),disabled:l,className:(0,m.cn)(`w-full`,r),"aria-invalid":!!i})}return p?n?e?(0,v.jsx)(`span`,{className:r,children:E.find(t=>t.value===e)?.label??e}):(0,v.jsx)(m.EmptyValue,{}):(0,v.jsx)(m.Combobox,{...k,options:E,value:e??``,onValueChange:e=>t(e),placeholder:s(y===null?`fields.recipient.loading`:p.placeholderKey??`fields.recipient.select`),searchPlaceholder:s(`fields.recipient.search`),emptyText:s(y===null?`fields.recipient.loading`:`fields.recipient.empty`),disabled:l,className:(0,m.cn)(`w-full`,r),"aria-invalid":!!i}):(0,v.jsx)(`input`,{...Q(a),className:(0,m.cn)(`w-full rounded border bg-background px-2 py-1 text-sm`,r),value:e??``,disabled:l||n,onChange:e=>t(e.target.value),"aria-invalid":!!i})}var Ji,Yi,Xi=o((()=>{$(),He(),Ji={user:{object:`sys_user`,storeField:`id`,labelFields:[`name`,`full_name`,`email`],placeholderKey:`fields.recipient.selectUser`},team:{object:`sys_team`,storeField:`id`,labelFields:[`name`,`label`],placeholderKey:`fields.recipient.selectTeam`},business_unit:{object:`sys_business_unit`,storeField:`id`,labelFields:[`name`,`label`],placeholderKey:`fields.recipient.selectBusinessUnit`},unit_and_subordinates:{object:`sys_business_unit`,storeField:`id`,labelFields:[`name`,`label`],placeholderKey:`fields.recipient.selectUnitAndSubordinates`},position:{object:`sys_position`,storeField:`name`,labelFields:[`label`,`name`],placeholderKey:`fields.recipient.selectPosition`}},Yi=`field`}));function Zi(){let[e,t]=u.useState([]),n=u.useContext(ta),r=u.useRef(n);r.current=n;let i=u.useId(),a=u.useMemo(()=>({report(e,n){t(t=>n===t.includes(e)?t:n?[...t,e]:t.filter(t=>t!==e))}}),[]),o=e.length>0;return u.useEffect(()=>{r.current?.report(i,o)},[o,i]),u.useEffect(()=>()=>{r.current?.report(i,!1)},[i]),{anyUploading:o,sink:a}}function Qi({scope:e,children:t}){return(0,v.jsx)(ta.Provider,{value:e.sink,children:t})}function $i(e){let t=u.useContext(ta),n=u.useId(),r=u.useRef(t);r.current=t,u.useEffect(()=>{r.current?.report(n,e)},[e,n]),u.useEffect(()=>()=>{r.current?.report(n,!1)},[n])}function ea(){let e=u.useContext(ta),t=u.useRef(e);return t.current=e,u.useCallback(()=>{let e=t.current;if(!e)return ra;na+=1;let n=`upload-hold:${na}`;e.report(n,!0);let r=!1;return()=>{r||(r=!0,e.report(n,!1))}},[])}var ta,na,ra,ia=o((()=>{ta=u.createContext(null),na=0,ra=()=>{}}));function aa(e,t){let n=(0,u.useRef)(t);n.current=t,(0,u.useEffect)(()=>{n.current?.(e)},[e]),$i(e)}var oa=o((()=>{ia()}));function sa(e,t,n){if(!n||t.size<=n)return null;let r=(n/ca).toFixed(1);return e(`fields.file.exceedsMaxSize`,{defaultValue:`"${t.name}" exceeds max size (${r} MB)`,name:t.name,max:r})}var ca,la=o((()=>{ca=1048576}));function ua(e,t,n){return n instanceof W?e(`fields.file.uploadIncomplete`,{defaultValue:`Upload of "${t}" did not complete: no file id was returned, so nothing was saved`,name:t}):e(`fields.file.uploadFailed`,{defaultValue:`Failed to upload "${t}": ${n.message}`,name:t,error:n.message})}var da=o((()=>{})),fa=s({FileCell:()=>ha,FileField:()=>ma});function pa(e){let{files:t,multiple:n,maxSize:r,onChange:i,holdScope:a}=e,{upload:o}=(0,C.useUpload)(),{t:s}=(0,p.useObjectTranslation)(),[c,l]=(0,u.useState)([]),[d,f]=(0,u.useState)({}),[m,h]=(0,u.useState)(!1),[g,_]=(0,u.useState)({});return{processFiles:(0,u.useCallback)(async e=>{if(e.length===0)return;let c=[],u=e.filter(e=>{let t=sa(s,e,r);return!t||(c.push(t),!1)});if(l(c),u.length===0)return;let d=a?.();h(!0);try{let e=(await Promise.all(u.map(async e=>{try{let t=await o(e,{onProgress:t=>f(n=>({...n,[e.name]:t}))}),n=ce(t,e.name);return{result:t,originalName:e.name,value:n}}catch(t){return c.push(ua(s,e.name,t)),l([...c]),null}}))).filter(Boolean);if(e.length===0)return;let r={};for(let{result:t,originalName:n}of e){let e=le(t,n);e.id&&(r[e.id]=e)}Object.keys(r).length>0&&_(e=>({...e,...r}));let a=e.map(({value:e})=>e);i(n?[...t,...a]:a[0])}finally{d?.(),h(!1),f({})}},[t,n,i,r,o,s,a]),errors:c,uploading:m,uploadProgress:d,recent:g}}function ma({value:e,onChange:t,field:n,readonly:r,onUploadingChange:i,error:a,...o}){let{t:s}=(0,p.useObjectTranslation)(),c=(0,u.useRef)(null),l=(0,u.useRef)(null),d=n,f=d?.multiple||!1,g=d?.accept?d.accept.join(`,`):void 0,_=d?.maxSize,y=d?.capture??null,b=!g||g.split(`,`).some(e=>e.trim().startsWith(`image/`)||e.trim()===`image/*`||e.trim().startsWith(`.jp`)||e.trim().startsWith(`.png`)||e.trim().startsWith(`.gif`)||e.trim().startsWith(`.webp`)),x=typeof navigator<`u`&&(navigator.maxTouchPoints>0||/Mobi|Android/i.test(navigator.userAgent)),S=y===!1?!1:y??(b&&x?`environment`:null),[C,w]=(0,u.useState)(!1),T=e?Array.isArray(e)?e:[e]:[],{processFiles:E,errors:D,uploading:O,uploadProgress:k,recent:ee}=pa({files:T,multiple:f,maxSize:_,onChange:t,holdScope:ea()}),A=U(H(e,s(`fields.file.fileFallback`,{defaultValue:`File`})),ee);aa(O,i);let j=(0,u.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),w(!0)},[]),M=(0,u.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),w(!1)},[]),N=(0,u.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),w(!1);let t=Array.from(e.dataTransfer.files);if(g){let e=g.split(`,`).map(e=>e.trim().toLowerCase()),n=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(`/*`,`/`)))});E(n)}else E(t)},[g,E]);if(r){let t=it(o,`instead-of-the-inputs`);return e?(0,v.jsx)(`div`,{...t,className:`flex flex-wrap gap-2`,children:A.map((e,t)=>(0,v.jsx)(K,{view:e,className:`text-sm max-w-xs`,fallback:(0,v.jsx)(`span`,{className:`text-sm truncate max-w-xs`,children:e.name})},t))}):(0,v.jsx)(m.EmptyValue,{...t})}let P=e=>{E(Array.from(e.target.files||[]))},F=e=>{if(f){let n=T.filter((t,n)=>n!==e);t(n.length>0?n:null)}else t(null)},{name:I,...te}=Q(o);return(0,v.jsxs)(`div`,{className:o.className,children:[(0,v.jsx)(`input`,{ref:c,type:`file`,multiple:f,accept:g,onChange:P,className:`hidden`}),S&&(0,v.jsx)(`input`,{ref:l,type:`file`,accept:`image/*`,capture:S,onChange:P,className:`hidden`,"aria-label":s(`fields.file.cameraCapture`,{defaultValue:`Camera capture`}),"data-testid":`file-field-camera-input`}),(0,v.jsxs)(`div`,{className:`space-y-2`,children:[(0,v.jsxs)(`div`,{...te,onDragOver:j,onDragLeave:M,onDrop:N,onClick:()=>c.current?.click(),className:`
3
+ }`,disabled:r||a.disabled,className:(0,m.cn)(`font-mono text-xs`,l?`border-red-500 focus-visible:ring-red-500`:``,a.className),rows:6,"aria-invalid":!!i||!!l}),l&&(0,v.jsx)(`p`,{className:`text-xs text-red-500`,children:l})]})}var Ci=o((()=>{$(),H()})),wi=s({QRCodeField:()=>Ti});function Ti({value:e,onChange:t,field:n,readonly:r,error:i,...a}){let[o,s]=u.default.useState(!1),c=n,l=e=>`https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=${encodeURIComponent(e)}`,d=()=>{e&&navigator.clipboard.writeText(e)};return r?(0,v.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,v.jsx)(`span`,{className:`text-sm flex-1 truncate`,children:e||(0,v.jsx)(m.EmptyValue,{})}),e&&(0,v.jsxs)(m.Button,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>s(!o),children:[(0,v.jsx)(h.QrCode,{className:`w-4 h-4 mr-2`}),o?`Hide`:`Show`,` QR`]})]}):(0,v.jsxs)(`div`,{className:`space-y-3`,children:[(0,v.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,v.jsx)(m.Input,{...Q(a),type:`text`,value:e||``,onChange:e=>t(e.target.value),placeholder:c?.placeholder||`Enter text for QR code`,disabled:r||a.disabled,className:a.className,"aria-invalid":!!i}),e&&(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(m.Button,{type:`button`,variant:`outline`,size:`sm`,onClick:d,children:(0,v.jsx)(h.Copy,{className:`w-4 h-4`})}),(0,v.jsx)(m.Button,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>s(!o),children:(0,v.jsx)(h.QrCode,{className:`w-4 h-4`})})]})]}),o&&e&&(0,v.jsx)(`div`,{className:`border rounded p-4 bg-white flex justify-center`,children:(0,v.jsx)(`img`,{src:l(e),alt:`QR Code`,className:`w-48 h-48`})}),e&&(0,v.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`QR code contains: `,e.length,` characters`]})]})}var Ei=o((()=>{$()})),Di=o((()=>{}));function Oi({value:e,onChange:t,field:n,readonly:r,error:i,...a}){let o=(0,p.useDisplayLocale)(),{t:s}=ie(),c=u.default.useId();if(r)return!e||isNaN((0,d.toDisplayDate)(e).getTime())?(0,v.jsx)(m.EmptyValue,{}):(0,v.jsx)(`span`,{className:`text-sm`,children:(0,d.formatDate)(e,void 0,{locale:o})});let l=Q(a),f=(0,d.isImpossibleStoredDay)(e),h=f?[l[`aria-describedby`],c].filter(Boolean).join(` `):l[`aria-describedby`],g=(0,v.jsx)(m.Input,{...l,type:`date`,value:f?``:(0,d.toDateInputValue)(e),onChange:e=>t(e.target.value),onClick:e=>{sn(e.currentTarget),l.onClick?.(e)},disabled:r||l.disabled,"aria-invalid":!!i||f,"aria-describedby":h});return f?(0,v.jsxs)(`div`,{className:`space-y-1`,children:[g,(0,v.jsx)(`p`,{id:c,className:`text-xs text-destructive`,"data-testid":`date-impossible-day`,children:s(`fields.date.impossibleDay`,{value:String(e)})})]}):g}var ki=o((()=>{$(),cn(),Di(),H()}));function Ai({value:e,onChange:t,field:n,readonly:r,error:i,...a}){let o=(0,p.useDisplayLocale)(),{t:s}=ie(),c=u.default.useId();if(r)return e?(0,v.jsx)(`span`,{className:`text-sm`,children:(0,d.formatDateTime)(e,{locale:o})}):(0,v.jsx)(m.EmptyValue,{});let l=Q(a),f=(0,d.isImpossibleStoredDay)(e),h=f?[l[`aria-describedby`],c].filter(Boolean).join(` `):l[`aria-describedby`],g=(0,v.jsx)(m.Input,{...l,type:`datetime-local`,value:(0,d.toDateTimeInputValue)(e),onChange:e=>t((0,d.fromDateTimeInputValue)(e.target.value)),onClick:e=>{sn(e.currentTarget),l.onClick?.(e)},disabled:r||l.disabled,"aria-invalid":!!i||f,"aria-describedby":h});return f?(0,v.jsxs)(`div`,{className:`space-y-1`,children:[g,(0,v.jsx)(`p`,{id:c,className:`text-xs text-destructive`,"data-testid":`datetime-impossible-day`,children:s(`fields.dateTime.impossibleDay`,{value:String(e)})})]}):g}var ji=o((()=>{$(),cn(),Di(),H()}));function Mi(e,t){let n={year:`numeric`,month:`2-digit`,day:`2-digit`,timeZone:`UTC`,numberingSystem:`latn`,...t?{hour:`2-digit`,minute:`2-digit`}:null};return new Intl.DateTimeFormat(e,n)}function Ni(e){return Mi(e,!1).formatToParts(Vi).map(e=>e.type).filter(e=>e===`year`||e===`month`||e===`day`)}function Pi(e){let t=e.match(/^(\d{4})-(\d{2})-(\d{2})(?:T(\d{2}):(\d{2}))?$/);return t?{y:+t[1],m:+t[2],d:+t[3],h:t[4]?+t[4]:0,mi:t[5]?+t[5]:0}:null}function Fi(e,t,n){let r=Pi(e);return r?Mi(t,n).format(Date.UTC(r.y,r.m-1,r.d,r.h,r.mi)):``}function Ii(e,t){let n={year:`YYYY`,month:`MM`,day:`DD`,hour:`HH`,minute:`mm`};return Mi(e,t).formatToParts(Vi).map(e=>e.type===`dayPeriod`?`AM/PM`:n[e.type]??e.value).join(``)}function Li(e){return new Intl.DateTimeFormat(Mi(e,!0).resolvedOptions().locale,{hour:`numeric`,hour12:!0,timeZone:`UTC`}).formatToParts(Vi).find(e=>e.type===`dayPeriod`)?.value.toLowerCase()}function Ri(e,t,n){let r=e.trim();if(!r)return``;let i=r.match(/\d+/g)??[];if(i.length<3)return null;let a=(i[0]??``).length===4?[`year`,`month`,`day`]:Ni(t);if(a.length!==3)return null;let o={year:``,month:``,day:``};if(a.forEach((e,t)=>{o[e]=i[t]??``}),o.year.length===2&&(o.year=`20${o.year}`),o.year.length!==4||o.month.length>2||o.day.length>2)return null;let s=`${o.year}-${Hi(Number(o.month))}-${Hi(Number(o.day))}`;if(!(0,d.isRealCalendarDate)(s))return null;let c=i.slice(3);if(!n)return c.length===0?s:null;if(c.length===0)return`${s}T00:00`;let[l=``,u=`0`]=c;if(c.length>3||l.length>2||u.length>2)return null;let f=Number(l),p=Number(u),m=r.toLowerCase(),h=Li(t),g=/\bp\.?\s?m\.?/.test(m)||!!h&&m.includes(h),_=/\ba\.?\s?m\.?/.test(m);if(g||_){if(f<1||f>12)return null;g&&f<12&&(f+=12),_&&f===12&&(f=0)}return f>23||p>59?null:`${s}T${Hi(f)}:${Hi(p)}`}function zi(e){return`${e.getFullYear()}-${Hi(e.getMonth()+1)}-${Hi(e.getDate())}`}function Bi(e){let t=Pi(e.slice(0,10));return t?new Date(t.y,t.m-1,t.d):void 0}var Vi,Hi,Ui=o((()=>{Vi=Date.UTC(2026,10,23,13,5),Hi=e=>String(e).padStart(2,`0`)})),Wi=s({DatePickerField:()=>Gi,DateTimePickerField:()=>Ki});function Gi(e){return(0,v.jsx)(qi,{...e,withTime:!1})}function Ki(e){return(0,v.jsx)(qi,{...e,withTime:!0})}function qi({value:e,onChange:t,field:n,readonly:r,error:i,withTime:a,...o}){let s=(0,p.useDisplayLocale)(),{t:c}=ie(),l=u.default.useId(),[f,g]=u.default.useState(!1),_=(0,d.isImpossibleStoredDay)(e),y=_?``:a?(0,d.toDateTimeInputValue)(e):(0,d.toDateInputValue)(e),b=Fi(y,s,a),[x,S]=u.default.useState(b),[C,w]=u.default.useState(null),[T,E]=u.default.useState(b);if(b!==T&&(E(b),S(b),w(null)),r)return(0,v.jsx)(a?Ai:Oi,{value:e,onChange:t,field:n,readonly:!0,error:i,...o});let D=Q(o),O=!!D.disabled,k=e=>{let n=a?(0,d.fromDateTimeInputValue)(e):e;w(null),S(Fi(e,s,a)),e!==y&&t(n)},ee=()=>{let e=Ri(x,s,a);if(e===null){w(x);return}k(e)},A=e=>{if(!e)return;let t=y.slice(11,16)||`00:00`;k(a?`${zi(e)}T${t}`:zi(e)),g(!1)},j=e=>{let t=new Date;t.setHours(0,0,0,0),t.setDate(t.getDate()+e),A(t)},M=y?Bi(y):void 0,N=Ii(s,a),P=C===null?_?c(a?`fields.dateTime.impossibleDay`:`fields.date.impossibleDay`,{value:String(e)}):null:c(`fields.datePicker.invalid`,{value:C,format:N}),F=P?[D[`aria-describedby`],l].filter(Boolean).join(` `):D[`aria-describedby`];return(0,v.jsxs)(`div`,{className:`space-y-1`,"data-slot":`date-picker`,children:[(0,v.jsxs)(`div`,{className:`relative`,children:[(0,v.jsx)(m.Input,{...D,type:`text`,inputMode:`numeric`,autoComplete:`off`,className:(0,m.cn)(`pr-16`,D.className),placeholder:N,value:x,onChange:e=>S(e.target.value),onBlur:e=>{ee(),D.onBlur?.(e)},onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),ee())},disabled:O,"aria-invalid":!!i||_||C!==null,"aria-describedby":F}),(0,v.jsxs)(`div`,{className:`absolute inset-y-0 right-1 flex items-center gap-0.5`,children:[!O&&(x||y)?(0,v.jsx)(m.Button,{type:`button`,variant:`ghost`,size:`icon`,className:`h-7 w-7`,"aria-label":c(`fields.datePicker.clear`),"data-testid":`date-picker-clear`,onClick:()=>k(``),children:(0,v.jsx)(h.X,{className:`h-3.5 w-3.5`})}):null,(0,v.jsxs)(m.Popover,{open:f,onOpenChange:g,children:[(0,v.jsx)(m.PopoverTrigger,{asChild:!0,children:(0,v.jsx)(m.Button,{type:`button`,variant:`ghost`,size:`icon`,className:`h-7 w-7`,disabled:O,"aria-label":c(`fields.datePicker.openCalendar`),"data-testid":`date-picker-trigger`,children:(0,v.jsx)(h.CalendarDays,{className:`h-4 w-4`})})}),(0,v.jsxs)(m.PopoverContent,{className:`w-auto p-0`,align:`end`,children:[(0,v.jsx)(m.Calendar,{mode:`single`,defaultMonth:M,selected:M,onSelect:A,autoFocus:!0}),(0,v.jsxs)(`div`,{className:`flex items-center gap-2 border-t p-2`,children:[(0,v.jsx)(m.Button,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>j(0),children:c(`fields.datePicker.today`)}),(0,v.jsx)(m.Button,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>j(1),children:c(`fields.datePicker.tomorrow`)})]})]})]})]})]}),P?(0,v.jsx)(`p`,{id:l,className:`text-xs text-destructive`,"data-testid":`date-picker-notice`,children:P}):null]})}var Ji=o((()=>{$(),ki(),ji(),Di(),Ui(),H()}));$(),st(),ft(),bt(),Ct(),Dt(),Nt(),It(),zt(),Xt(),Kt(),$t(),nn(),on(),dn(),mn(),_n(),bn(),Lr(),Vr(),Wr(),qr(),ui(),hi(),vi(),Ci(),Ei();var Yi=u.default.lazy(()=>Promise.resolve().then(()=>(Ji(),Wi)).then(e=>({default:e.DatePickerField}))),Xi=u.default.lazy(()=>Promise.resolve().then(()=>(Ji(),Wi)).then(e=>({default:e.DateTimePickerField}))),Zi=new Set([Yi,Xi]),Qi={text:ot,textarea:dt,number:yt,currency:St,percent:Tt,slider:Mt,progress:Mt,rating:Ft,boolean:Rt,toggle:Rt,select:Jt,status:Jt,multiselect:Gt,radio:Qt,checkboxes:tn,tags:an,date:Yi,datetime:Xi,time:un,email:pn,phone:gn,url:yn,lookup:jr,master_detail:jr,user:Br,color:Ur,address:Kr,location:si,geolocation:fi,code:_i,json:Si,qrcode:Ti},$i=new Set([`formula`,`summary`,`auto_number`,`file`,`image`,`avatar`,`signature`,`markdown`,`html`,`richtext`,`password`,`secret`,`object`,`grid`,`vector`,`object-ref`,`filter-condition`,`recipient-picker`,`position-ref`,`permission-ref`]),ea=new Set([`boolean`,`toggle`,`select`,`status`,`radio`,`rating`]);function ta(e){return e in Qi||$i.has(e)?e:Be(e).replace(/^field:/,``)}function na(e){return!e||(0,d.isRetiredFieldType)(e)?!1:ta(e)in Qi}function ra(e){return e?(0,d.isRetiredFieldType)(e)?!0:$i.has(ta(e)):!1}var ia=new Set([`lookup`,`master_detail`,`user`]);function aa(e){let{field:t,value:n,onChange:r,readonly:i}=e;if(t?.type&&(0,d.isRetiredFieldType)(t.type))return(0,d.reportRetiredFieldType)(t.type),null;let a=t?.type?ta(t.type):void 0,o=a?Qi[a]:void 0;if(!o)return null;let s=a&&ia.has(a)?{compact:!0}:{},c=(0,v.jsx)(o,{...Q(e),...it(e),field:t,value:n,onChange:r,readonly:i,...s});return Zi.has(o)?(0,v.jsx)(u.default.Suspense,{fallback:(0,v.jsx)(`div`,{"aria-busy":`true`,"data-testid":`field-edit-widget-loading`,className:`h-9 w-full rounded-md border border-input bg-muted/40`}),children:c}):c}var oa=s({PasswordField:()=>sa});function sa({value:e,onChange:t,field:n,readonly:r,className:i,...a}){let[o,s]=(0,u.useState)(!1),c=n;if(r)return(0,d.isEmptyValue)(Z(e))?(0,v.jsx)(m.EmptyValue,{}):(0,v.jsx)(`span`,{className:`text-sm`,children:`••••••••`});let l=Q(a);return(0,v.jsxs)(`div`,{className:`relative`,children:[(0,v.jsx)(m.Input,{...l,type:o?`text`:`password`,value:e||``,onChange:e=>t(e.target.value),placeholder:c?.placeholder,disabled:r||l.disabled,className:`pr-10 ${i||``}`}),(0,v.jsx)(m.Button,{type:`button`,variant:`ghost`,size:`sm`,className:`absolute right-0 top-0 h-full px-3 py-2 hover:bg-transparent`,onClick:()=>s(!o),tabIndex:-1,children:o?(0,v.jsx)(h.EyeOff,{className:`size-4 text-gray-500`}):(0,v.jsx)(h.Eye,{className:`size-4 text-gray-500`})})]})}var ca=o((()=>{xe(),$()})),la=s({RichTextField:()=>fa});function ua({value:e,onChange:t,placeholder:n,rows:r,disabled:i,error:a,className:o,fullHeight:s,autoFocus:c,textareaTestId:l,overlay:u,counter:d,maxLength:f,describedBy:p,domProps:h,editorAria:g}){return(0,v.jsx)(`div`,{className:(0,m.cn)(s&&`flex flex-col h-full`),children:(0,v.jsxs)(`div`,{className:(0,m.cn)(`relative`,s&&`flex-1 min-h-0`),children:[(0,v.jsx)(m.Textarea,{autoFocus:c,"data-testid":l,...h,value:e||``,onChange:e=>t(e.target.value),placeholder:n,disabled:i,rows:s?void 0:r,maxLength:f,className:(0,m.cn)(`font-mono`,s?`text-base h-full min-h-full resize-none`:`text-sm`,o),"aria-invalid":!!a,"aria-describedby":p,...g}),d,u]})})}function da(e){let t=e?.type,n=typeof t==`string`?t:``;return n.startsWith(`field:`)?n.slice(6):n}function fa({value:e,onChange:t,field:n,readonly:r,error:i,...a}){let{t:o}=(0,g.useObjectTranslation)(),s=(0,u.useId)(),c=`${s}-charcount`,l=`${s}-fullscreen-charcount`;if(r){let t=ke(da(n));return t?(0,v.jsx)(t,{value:e,field:n}):(0,v.jsx)(`div`,{className:`text-sm whitespace-pre-wrap break-words`,children:e||(0,v.jsx)(m.EmptyValue,{})})}let d=n,f=d?.rows||8,p=d?.maxLength,h=!!d?.mobile_fullscreen,_=Q(a),y=!!_.disabled,b=[_[`aria-describedby`],p?c:void 0].filter(Boolean).join(` `)||void 0,x=d?.placeholder||o(`fields.richText.placeholder`,{defaultValue:`Enter text…`});return(0,v.jsx)(ua,{value:e,onChange:t,placeholder:x,rows:f,disabled:r||y,error:i,className:_.className,maxLength:p,describedBy:b,domProps:_,counter:p?(0,v.jsx)(m.CharacterCount,{length:(e||``).length,maxLength:p,descriptionId:c,announceNearLimit:!0,className:`absolute bottom-2 right-2 text-xs text-gray-400`,testId:`richtext-character-count`}):null,overlay:h&&(0,v.jsx)(ct,{value:e??``,onCommit:t,label:d?.label,testIdPrefix:`richtext`,disabled:y,error:i,footer:e=>p?(0,v.jsx)(m.CharacterCount,{length:e.length,maxLength:p,descriptionId:l,announceNearLimit:!1,className:`text-xs text-muted-foreground self-center`,testId:`richtext-fullscreen-character-count`}):null,children:(e,t,n,r)=>(0,v.jsx)(ua,{value:e,onChange:t,placeholder:x,disabled:n,autoFocus:!0,fullHeight:!0,maxLength:p,describedBy:p?l:void 0,textareaTestId:`richtext-fullscreen-input`,editorAria:r})})})}var pa=o((()=>{lt(),$()}));H();var ma=`capability`;function ha(e){if(Array.isArray(e))return e.map(e=>String(e)).filter(Boolean);if(typeof e==`string`){let t=e.trim();if(!t)return[];try{let e=JSON.parse(t);return Array.isArray(e)?e.map(e=>String(e)).filter(Boolean):[String(e)].filter(Boolean)}catch{return t.split(`,`).map(e=>e.trim()).filter(Boolean)}}return[]}var ga=[`platform`,`org`,`other`],_a=new Set([`manage_users`,`manage_org_users`,`manage_metadata`,`manage_platform_settings`,`setup_access`,`setup_write`,`studio_access`,`manage_sharing`,`view_all_audit_log`,`manage_mailboxes`]);function va({value:e,onChange:t,readonly:n,className:r,...i}){let{t:a}=ie(),o=i.disabled,[s,c]=u.default.useState(null),l=u.default.useMemo(()=>ha(e),[e]),d=u.default.useContext(g.MetadataCtx),f=u.default.useRef(d);f.current=d;let p=d!==null;u.default.useEffect(()=>{let e=f.current;if(!e){c([]);return}let t=!1;return e.ensureType(ma).then(e=>{if(t)return;let n=[];for(let t of Array.isArray(e)?e:[])typeof t?.name==`string`&&t.name&&n.push({name:t.name,label:typeof t.label==`string`?t.label:void 0,description:typeof t.description==`string`?t.description:void 0,scope:typeof t.scope==`string`?t.scope:void 0});c(n)}).catch(()=>{t||c([])}),()=>{t=!0}},[p]);let h=u.default.useCallback(e=>t(JSON.stringify(e)),[t]),_=u.default.useMemo(()=>{let e=new Map;for(let t of s??[])t?.name&&e.set(t.name,t);for(let t of l)e.has(t)||e.set(t,{name:t,label:t,scope:`other`});return e},[s,l]),y=e=>{let t=_.get(e)?.label||e,n=e.replace(/\./g,`_`);return _a.has(n)?a(`capability.label.${n}`,{defaultValue:t}):t},b=u.default.useMemo(()=>{let e=new Map;for(let t of _.values()){let n=ga.includes(t.scope)?t.scope:`other`,r=e.get(n)??[];r.push(t),e.set(n,r)}return ga.filter(t=>e.has(t)).map(t=>({scope:t,label:a(`capability.group.${t}`),items:(e.get(t)??[]).sort((e,t)=>(e.label||e.name).localeCompare(t.label||t.name))}))},[_,a]);if(n)return l.length===0?(0,v.jsx)(m.EmptyValue,{}):(0,v.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:l.map(e=>(0,v.jsx)(m.Badge,{variant:`outline`,title:_.get(e)?.description,children:y(e)},e))});let x=e=>{let t=l.includes(e)?l.filter(t=>t!==e):[...l,e];h(t)};return(0,v.jsxs)(`div`,{className:(0,m.cn)(`flex flex-col gap-3`,r),children:[s===null&&b.length===0&&(0,v.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:`Loading capabilities…`}),b.map(e=>(0,v.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,v.jsx)(`div`,{className:`text-xs font-medium uppercase tracking-wide text-muted-foreground`,children:e.label}),(0,v.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:e.items.map(e=>{let t=l.includes(e.name);return(0,v.jsx)(`button`,{type:`button`,onClick:()=>x(e.name),disabled:o,"aria-pressed":t,title:e.description||void 0,className:(0,m.cn)(`rounded-full border px-3 py-1 text-sm transition-colors disabled:opacity-50`,t?`border-primary bg-primary text-primary-foreground`:`border-input bg-background text-foreground hover:bg-accent`),children:y(e.name)},e.name)})})]},e.scope))]})}function ya(e,t){return t?`${t} (${e})`:e}var ba=o((()=>{})),xa=s({ObjectRefField:()=>Sa,default:()=>Sa});function Sa({value:e,onChange:t,readonly:n,className:r,error:i,...a}){let o=u.default.useContext(g.SchemaRendererContext),{t:s}=ie(),c=a.dataSource??o?.dataSource??null,l=a.disabled,[d,f]=u.default.useState(null);u.default.useEffect(()=>{if(!c)return;let e=!1;return(async()=>{try{let t=[];if(typeof c.getObjects==`function`)t=await c.getObjects()??[];else if(typeof c.find==`function`){let e=await c.find(`sys_metadata`,{$filter:{type:`object`},$top:1e3});t=(e?.data??e?.records??(Array.isArray(e)?e:[])).map(e=>({name:String(e?.name??``),label:e?.label==null?void 0:String(e.label)})).filter(e=>e.name)}e||f(t)}catch{e||f([])}})(),()=>{e=!0}},[c]);let p=u.default.useMemo(()=>{let t=(d??[]).map(e=>({value:e.name,label:ya(e.name,e.label)}));return e&&!t.some(t=>t.value===e)&&t.unshift({value:e,label:e}),t.sort((e,t)=>e.label.localeCompare(t.label))},[d,e]);if(n){if(!e)return(0,v.jsx)(m.EmptyValue,{});let t=p.find(t=>t.value===e)?.label??e;return(0,v.jsx)(`span`,{className:r,children:t})}let{name:h,..._}=Q(a);return(0,v.jsx)(m.Combobox,{..._,options:p,value:e??``,onValueChange:e=>t(e),placeholder:s(d===null?`fields.objectRef.loading`:`fields.objectRef.placeholder`),searchPlaceholder:s(`fields.objectRef.search`),emptyText:s(d===null?`common.loading`:`fields.objectRef.empty`),disabled:l,className:(0,m.cn)(`w-full`,r),"aria-invalid":!!i})}var Ca=o((()=>{$(),H(),ba()})),wa=s({FILTER_CONDITION_EXTRA_OPERATORS:()=>Ha,FilterConditionField:()=>Ba,condToMongo:()=>Ma,default:()=>Ba,isMatchAllCriteria:()=>Ra,kvToCondition:()=>Ia});function Ta(e){let t=e?.fields,n=Array.isArray(t)?t.map(e=>[e?.name,e]):t&&typeof t==`object`?Object.entries(t):[],r=[];for(let[e,t]of n){if(!e||!t||t.hidden)continue;let n=t.type;n&&Ua.has(n)||r.push({value:e,label:t.label||e,type:n,options:Array.isArray(t.options)?t.options.map(e=>typeof e==`string`?{value:e,label:e}:{value:String(e?.value),label:String(e?.label??e?.value)}):void 0,referenceTo:t.reference})}return r}function Ea(e,t){if(e==null)return e;if(t===`boolean`||t===`toggle`)return typeof e==`boolean`?e:e===`true`||e!==`false`&&e;if(t===`number`||t===`currency`||t===`percent`||t===`rating`||t===`slider`){let t=Number(e);return Number.isFinite(t)&&e!==``?t:e}return e}function Da(e){return e==null||e===``}function Oa(e){return Array.isArray(e)?e:typeof e==`string`?e.split(`,`).map(e=>e.trim()).filter(Boolean):e==null?[]:[e]}function ka(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Aa(e){if(!ka(e))return null;let t=Object.entries(e);if(t.length!==1||t[0][0].startsWith(`$`))return null;let[n,r]=t[0];if(!ka(r))return null;let i=Object.entries(r);return i.length===1?[n,i[0][0],i[0][1]]:null}function ja(e){if(!Array.isArray(e)||e.length!==2)return null;let t=Aa(e[0]),n=Aa(e[1]);if(!t||!n||t[0]!==n[0])return null;let[r,i,a]=t;return i===`$in`&&Pa(a,[``])&&n[1]===`$null`&&n[2]===!0?r:null}function Ma(e,t){let{field:n,operator:r,value:i}=e||{};if(!n||Wa.has(r)&&Da(i))return null;let a=t(n),o=Ea(i,a);switch(r){case`equals`:return{[n]:o};case`not_equals`:return{[n]:{$ne:o}};case`contains`:return{[n]:{$contains:i}};case`icontains`:return{[n]:{$icontains:i}};case`not_contains`:return{[n]:{$notContains:i}};case`starts_with`:return{[n]:{$startsWith:i}};case`ends_with`:return{[n]:{$endsWith:i}};case`is_empty`:return{[n]:{$empty:!0}};case`is_not_empty`:return{[n]:{$empty:!1}};case`is_null`:return{[n]:{$null:!0}};case`is_not_null`:return{[n]:{$null:!1}};case`exists`:return{[n]:{$exists:!0}};case`notExists`:return{[n]:{$exists:!1}};case`greater_than`:case`after`:return{[n]:{$gt:o}};case`less_than`:case`before`:return{[n]:{$lt:o}};case`greater_than_or_equal`:return{[n]:{$gte:o}};case`less_than_or_equal`:return{[n]:{$lte:o}};case`between`:{let[e,t]=Array.isArray(i)?i:[void 0,void 0];return Da(e)||Da(t)?null:{[n]:{$gte:Ea(e,a),$lte:Ea(t,a)}}}case`in`:return{[n]:{$in:Oa(i).map(e=>Ea(e,a))}};case`not_in`:return{[n]:{$nin:Oa(i).map(e=>Ea(e,a))}};default:return{[n]:o}}}function Na(e,t){let n=(e?.conditions??[]).map(e=>Ma(e,t)).filter(e=>!!e);if(n.length===0)return null;if(e.logic===`or`)return{$or:n};if(n.length===1)return n[0];let r=n.flatMap(e=>Object.keys(e));return new Set(r).size===r.length?Object.assign({},...n):{$and:n}}function Pa(e,t){return Array.isArray(e)&&e.length===t.length&&e.every((e,n)=>e===t[n])}function Fa(e){if(e==null||typeof e==`object`&&!Array.isArray(e)&&Object.keys(e).length===0)return``;try{return JSON.stringify(e)??``}catch{return`[unserialisable criteria]`}}function Ia(e,t,n){if(e.startsWith(`$`)){let r=e===`$or`?ja(t):null;return r===null?null:{id:`c_${n}_${r}`,field:r,operator:`is_empty`,value:``}}let r=`c_${n}_${e}`;if(typeof t!=`object`||!t||Array.isArray(t))return{id:r,field:e,operator:`equals`,value:t};let i=Object.keys(t);if(i.length===1){let n=i[0],a=t[n];switch(n){case`$ne`:return{id:r,field:e,operator:`not_equals`,value:a};case`$contains`:return{id:r,field:e,operator:`contains`,value:a};case`$icontains`:return{id:r,field:e,operator:`icontains`,value:a};case`$notContains`:case`$ncontains`:return{id:r,field:e,operator:`not_contains`,value:a};case`$gt`:return{id:r,field:e,operator:`greater_than`,value:a};case`$lt`:return{id:r,field:e,operator:`less_than`,value:a};case`$gte`:return{id:r,field:e,operator:`greater_than_or_equal`,value:a};case`$lte`:return{id:r,field:e,operator:`less_than_or_equal`,value:a};case`$startsWith`:return{id:r,field:e,operator:`starts_with`,value:a};case`$endsWith`:return{id:r,field:e,operator:`ends_with`,value:a};case`$null`:return{id:r,field:e,operator:a===!1?`is_not_null`:`is_null`,value:``};case`$exists`:return{id:r,field:e,operator:a===!1?`notExists`:`exists`,value:``};case`$empty`:return a===!0?{id:r,field:e,operator:`is_empty`,value:``}:a===!1?{id:r,field:e,operator:`is_not_empty`,value:``}:null;case`$in`:return Pa(a,[null,``])?{id:r,field:e,operator:`is_empty`,value:``}:{id:r,field:e,operator:`in`,value:a};case`$nin`:return Pa(a,[null,``])?{id:r,field:e,operator:`is_not_empty`,value:``}:{id:r,field:e,operator:`not_in`,value:a};default:return null}}return i.length===2&&`$gte`in t&&`$lte`in t?{id:r,field:e,operator:`between`,value:[t.$gte,t.$lte]}:i.length===2&&`$nin`in t&&`$null`in t&&Pa(t.$nin,[``])&&t.$null===!1?{id:r,field:e,operator:`is_not_empty`,value:``}:null}function La(e){if(e==null)return{...Va,conditions:[]};if(typeof e!=`object`||Array.isArray(e))return null;let t=Object.entries(e);if(t.length===0)return{...Va,conditions:[]};if(t.length===1&&(e.$or||e.$and)&&!Ia(t[0][0],t[0][1],0)){let t=e.$or?`or`:`and`,n=e.$or||e.$and;if(!Array.isArray(n))return null;let r=[];for(let e=0;e<n.length;e++){let t=n[e];if(!t||typeof t!=`object`||Object.keys(t).length!==1)return null;let i=Object.keys(t)[0],a=Ia(i,t[i],e);if(!a)return null;r.push(a)}return{id:`root`,logic:t,conditions:r}}let n=[],r=0;for(let[e,i]of t){let t=Ia(e,i,r++);if(!t)return null;n.push(t)}return{id:`root`,logic:`and`,conditions:n}}function Ra(e){if(e==null)return!0;if(Array.isArray(e))return e.every(Ra);if(typeof e!=`object`)return!0;let t=Object.entries(e);if(t.length===0)return!0;for(let[e,n]of t){if(e===`$and`){if(!Array.isArray(n)||n.every(Ra))continue;return!1}if(e===`$or`){if(!Array.isArray(n)||n.length===0||n.some(Ra))continue;return!1}return!1}return!0}function za(e){if(e==null||e===``)return``;if(typeof e==`string`)return e;try{return JSON.stringify(e)}catch{return``}}function Ba({value:e,onChange:t,readonly:n,className:r,error:i,...a}){let o=u.default.useContext(g.SchemaRendererContext),{t:s}=ie(),c=a.dataSource??o?.dataSource??null,l=a.dependentValues??{},d=String(l.object_name??``),[f,p]=u.default.useState(null);u.default.useEffect(()=>{if(p(null),!c||!d||typeof c.getObjectSchema!=`function`)return;let e=!1;return(async()=>{try{let t=await c.getObjectSchema(d);e||p(Ta(t))}catch{e||p([])}})(),()=>{e=!0}},[c,d]);let h=u.default.useMemo(()=>za(e),[e]),_=u.default.useMemo(()=>{if(!h.trim())return{mongo:{},ok:!0};try{return{mongo:JSON.parse(h),ok:!0}}catch{return{mongo:null,ok:!1}}},[h]),y=u.default.useMemo(()=>_.ok?La(_.mongo):null,[_]),b=u.default.useMemo(()=>_.ok&&Ra(_.mongo),[_]),x=_.ok&&y!==null,[S,C]=u.default.useState(!x);u.default.useEffect(()=>{x||C(!0)},[x]);let w=u.default.useMemo(()=>{let e=new Map((f??[]).map(e=>[e.value,e.type]));return t=>e.get(t)},[f]),[T,E]=u.default.useState(()=>y??Va),D=_.ok?Fa(_.mongo):null,O=Fa(Na(T,w));return u.default.useEffect(()=>{y!==null&&D!==null&&D!==O&&E(y)},[y,D,O]),d?n?h.trim()?(0,v.jsx)(`pre`,{className:(0,m.cn)(`overflow-x-auto rounded bg-muted/40 p-2 text-xs`,r),children:h}):(0,v.jsx)(`span`,{className:(0,m.cn)(`text-sm text-destructive`,r),children:s(`fields.filterCondition.noCriteria`)}):(0,v.jsxs)(`div`,{className:(0,m.cn)(`flex flex-col gap-2`,r),children:[S?(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(`textarea`,{...Q(a),className:`min-h-[96px] w-full rounded border bg-background px-2 py-1 font-mono text-xs`,value:h,placeholder:`{ "type": "customer", "is_active": true }`,onChange:e=>t(e.target.value),"aria-invalid":!!i||!_.ok}),!_.ok&&(0,v.jsx)(`span`,{className:`text-xs text-destructive`,children:s(`fields.filterCondition.invalidJson`)})]}):(0,v.jsx)(m.FilterBuilder,{fields:f??[],value:T,onChange:e=>{E(e);let n=Na(e,w);t(n==null?``:JSON.stringify(n))},extraOperators:Ha}),b&&(0,v.jsx)(`span`,{className:`text-xs text-destructive`,children:s(`fields.filterCondition.criteriaRequired`)}),(0,v.jsx)(`button`,{type:`button`,className:`self-start text-xs text-muted-foreground underline-offset-2 hover:underline`,onClick:()=>C(e=>!e),disabled:!x&&!S,title:x?void 0:s(`fields.filterCondition.jsonOnly`),children:s(S?`fields.filterCondition.useVisualBuilder`:`fields.filterCondition.editAsJson`)})]}):(0,v.jsx)(`p`,{className:(0,m.cn)(`text-sm text-muted-foreground`,r),children:s(`fields.filterCondition.selectObjectFirst`)})}var Va,Ha,Ua,Wa,Ga=o((()=>{$(),H(),Va={id:`root`,logic:`and`,conditions:[]},Ha=[`exists`,`notExists`],Ua=new Set([`object`,`vector`,`file`,`image`,`avatar`,`signature`,`richtext`,`html`,`markdown`,`location`,`grid`,`json`,`code`]),Wa=new Set([`contains`,`icontains`,`not_contains`,`starts_with`,`ends_with`])}));function Ka(e,t){let n=t;for(let t of e??[`name`])if(n?.[t])return String(n[t]);return String(n?.id??``)}var qa,Ja,Ya,Xa=o((()=>{qa={user:{object:`sys_user`,storeField:`id`,labelFields:[`name`,`full_name`,`email`],placeholderKey:`fields.recipient.selectUser`},team:{object:`sys_team`,storeField:`id`,labelFields:[`name`,`label`],placeholderKey:`fields.recipient.selectTeam`},business_unit:{object:`sys_business_unit`,storeField:`id`,labelFields:[`name`,`label`],placeholderKey:`fields.recipient.selectBusinessUnit`},unit_and_subordinates:{object:`sys_business_unit`,storeField:`id`,labelFields:[`name`,`label`],placeholderKey:`fields.recipient.selectUnitAndSubordinates`}},Ja={position:{type:`position`,storeField:`name`,labelFields:[`label`,`name`],placeholderKey:`fields.recipient.selectPosition`}},Ya=`field`})),Za=s({RecipientPickerField:()=>eo,default:()=>eo,deriveUserFields:()=>$a,fieldHoldsUsers:()=>Qa});function Qa(e){if(!e||typeof e!=`object`)return!1;let t=e;return t.type===`user`||(t.type===`lookup`||t.type===`master_detail`)&&t.reference===`sys_user`}function $a(e){let t=e?.fields,n=Array.isArray(t)?t.map(e=>[e?.name,e]):t&&typeof t==`object`?Object.entries(t):[],r=[];for(let[e,t]of n)e&&Qa(t)&&r.push({name:String(e),label:t.label?String(t.label):String(e)});return r}function eo({value:e,onChange:t,readonly:n,className:r,error:i,...a}){let o=u.default.useContext(g.SchemaRendererContext),{t:s}=ie(),c=a.dataSource??o?.dataSource??null,l=a.disabled,d=a.dependentValues??{},f=String(d.recipient_type??``),p=qa[f],h=u.default.useContext(g.MetadataCtx),_=h?Ja[f]:void 0,y=p??_,b=String(d.object_name??``),x=f===`field`&&!!c&&typeof c.getObjectSchema==`function`,[S,C]=u.default.useState(null),[w,T]=u.default.useState(null),E=u.default.useRef(``);u.default.useEffect(()=>{E.current&&f&&E.current!==f&&e&&t(``),E.current=f},[f]),u.default.useEffect(()=>{if(C(null),!c||!p||typeof c.find!=`function`)return;let e=!1;return(async()=>{try{let t=await c.find(p.object,{$top:500,$orderby:{name:`asc`}}),n=t?.data??t?.records??(Array.isArray(t)?t:[]);e||C(Array.isArray(n)?n:[])}catch{e||C([])}})(),()=>{e=!0}},[c,p?.object]);let D=u.default.useRef(h);D.current=h;let O=_?.type;u.default.useEffect(()=>{let e=D.current;if(!O||!e)return;C(null);let t=!1;return e.ensureType(O).then(e=>{if(t)return;let n=(Array.isArray(e)?e:[]).filter(e=>typeof e?.name==`string`&&e.name);C([...n].sort((e,t)=>String(e.name).localeCompare(String(t.name))))}).catch(()=>{t||C([])}),()=>{t=!0}},[O]),u.default.useEffect(()=>{if(T(null),!x||!b)return;let e=!1;return(async()=>{try{let t=await c.getObjectSchema(b);e||T($a(t))}catch{e||T([])}})(),()=>{e=!0}},[c,b,x]);let k=e=>Ka(y?.labelFields,e),ee=e=>String(e?.[y?.storeField??`id`]??``),A=u.default.useMemo(()=>{let t=(S??[]).map(e=>({value:ee(e),label:k(e)})).filter(e=>e.value);return e&&!t.some(t=>t.value===e)&&t.unshift({value:e,label:e}),t},[S,e,y]),j=u.default.useMemo(()=>(w??[]).map(e=>({value:e.name,label:e.label})),[w]),{name:M,...N}=Q(a);if(!f)return(0,v.jsx)(`p`,{className:(0,m.cn)(`text-sm text-muted-foreground`,r),children:s(`fields.recipient.selectTypeFirst`)});if(x){if(!b)return(0,v.jsx)(`p`,{className:(0,m.cn)(`text-sm text-muted-foreground`,r),children:s(`fields.filterCondition.selectObjectFirst`)});let a=e&&!j.some(t=>t.value===e)?[{value:e,label:s(`fields.recipient.fieldNotUserTyped`,{name:e})},...j]:j;return n?e?(0,v.jsx)(`span`,{className:r,children:a.find(t=>t.value===e)?.label??e}):(0,v.jsx)(m.EmptyValue,{}):(0,v.jsx)(m.Combobox,{...N,options:a,value:e??``,onValueChange:e=>t(e),placeholder:s(w===null?`fields.recipient.loading`:`fields.recipient.selectField`),searchPlaceholder:s(`fields.recipient.search`),emptyText:s(w===null?`fields.recipient.loading`:`fields.recipient.noUserFields`),disabled:l,className:(0,m.cn)(`w-full`,r),"aria-invalid":!!i})}return y?n?e?(0,v.jsx)(`span`,{className:r,children:A.find(t=>t.value===e)?.label??e}):(0,v.jsx)(m.EmptyValue,{}):(0,v.jsx)(m.Combobox,{...N,options:A,value:e??``,onValueChange:e=>t(e),placeholder:s(S===null?`fields.recipient.loading`:y.placeholderKey??`fields.recipient.select`),searchPlaceholder:s(`fields.recipient.search`),emptyText:s(S===null?`fields.recipient.loading`:`fields.recipient.empty`),disabled:l,className:(0,m.cn)(`w-full`,r),"aria-invalid":!!i}):(0,v.jsx)(`input`,{...Q(a),className:(0,m.cn)(`w-full rounded border bg-background px-2 py-1 text-sm`,r),value:e??``,disabled:l||n,onChange:e=>t(e.target.value),"aria-invalid":!!i})}var to=o((()=>{$(),H(),Xa()}));function no(){let[e,t]=u.useState([]),n=u.useContext(oo),r=u.useRef(n);r.current=n;let i=u.useId(),a=u.useMemo(()=>({report(e,n){t(t=>n===t.includes(e)?t:n?[...t,e]:t.filter(t=>t!==e))}}),[]),o=e.length>0;return u.useEffect(()=>{r.current?.report(i,o)},[o,i]),u.useEffect(()=>()=>{r.current?.report(i,!1)},[i]),{anyUploading:o,sink:a}}function ro({scope:e,children:t}){return(0,v.jsx)(oo.Provider,{value:e.sink,children:t})}function io(e){let t=u.useContext(oo),n=u.useId(),r=u.useRef(t);r.current=t,u.useEffect(()=>{r.current?.report(n,e)},[e,n]),u.useEffect(()=>()=>{r.current?.report(n,!1)},[n])}function ao(){let e=u.useContext(oo),t=u.useRef(e);return t.current=e,u.useCallback(()=>{let e=t.current;if(!e)return co;so+=1;let n=`upload-hold:${so}`;e.report(n,!0);let r=!1;return()=>{r||(r=!0,e.report(n,!1))}},[])}var oo,so,co,lo=o((()=>{oo=u.createContext(null),so=0,co=()=>{}}));function uo(e,t){let n=(0,u.useRef)(t);n.current=t,(0,u.useEffect)(()=>{n.current?.(e)},[e]),io(e)}var fo=o((()=>{lo()}));function po(e,t,n){if(!n||t.size<=n)return null;let r=(n/mo).toFixed(1);return e(`fields.file.exceedsMaxSize`,{defaultValue:`"${t.name}" exceeds max size (${r} MB)`,name:t.name,max:r})}var mo,ho=o((()=>{mo=1048576}));function go(e,t,n){return n instanceof ge?e(`fields.file.uploadIncomplete`,{defaultValue:`Upload of "${t}" did not complete: no file id was returned, so nothing was saved`,name:t}):e(`fields.file.uploadFailed`,{defaultValue:`Failed to upload "${t}": ${n.message}`,name:t,error:n.message})}var _o=o((()=>{})),vo=s({FileCell:()=>xo,FileField:()=>bo});function yo(e){let{files:t,multiple:n,maxSize:r,onChange:i,holdScope:a}=e,{upload:o}=(0,w.useUpload)(),{t:s}=(0,p.useObjectTranslation)(),[c,l]=(0,u.useState)([]),[d,f]=(0,u.useState)({}),[m,h]=(0,u.useState)(!1),[g,_]=(0,u.useState)({});return{processFiles:(0,u.useCallback)(async e=>{if(e.length===0)return;let c=[],u=e.filter(e=>{let t=po(s,e,r);return!t||(c.push(t),!1)});if(l(c),u.length===0)return;let d=a?.();h(!0);try{let e=(await Promise.all(u.map(async e=>{try{let t=await o(e,{onProgress:t=>f(n=>({...n,[e.name]:t}))}),n=pe(t,e.name);return{result:t,originalName:e.name,value:n}}catch(t){return c.push(go(s,e.name,t)),l([...c]),null}}))).filter(Boolean);if(e.length===0)return;let r={};for(let{result:t,originalName:n}of e){let e=me(t,n);e.id&&(r[e.id]=e)}Object.keys(r).length>0&&_(e=>({...e,...r}));let a=e.map(({value:e})=>e);i(n?[...t.map(W),...a]:a[0])}finally{d?.(),h(!1),f({})}},[t,n,i,r,o,s,a]),errors:c,uploading:m,uploadProgress:d,recent:g}}function bo({value:e,onChange:t,field:n,readonly:r,onUploadingChange:i,error:a,...o}){let{t:s}=(0,p.useObjectTranslation)(),c=(0,u.useRef)(null),l=(0,u.useRef)(null),d=n,f=d?.multiple||!1,g=d?.accept?d.accept.join(`,`):void 0,_=d?.maxSize,y=d?.capture??null,b=!g||g.split(`,`).some(e=>e.trim().startsWith(`image/`)||e.trim()===`image/*`||e.trim().startsWith(`.jp`)||e.trim().startsWith(`.png`)||e.trim().startsWith(`.gif`)||e.trim().startsWith(`.webp`)),x=typeof navigator<`u`&&(navigator.maxTouchPoints>0||/Mobi|Android/i.test(navigator.userAgent)),S=y===!1?!1:y??(b&&x?`environment`:null),[C,w]=(0,u.useState)(!1),T=e?Array.isArray(e)?e:[e]:[],{processFiles:E,errors:D,uploading:O,uploadProgress:k,recent:ee}=yo({files:T,multiple:f,maxSize:_,onChange:t,holdScope:ao()}),A=Y(q(e,s(`fields.file.fileFallback`,{defaultValue:`File`})),ee);uo(O,i);let j=(0,u.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),w(!0)},[]),M=(0,u.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),w(!1)},[]),N=(0,u.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),w(!1);let t=Array.from(e.dataTransfer.files);if(g){let e=g.split(`,`).map(e=>e.trim().toLowerCase()),n=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(`/*`,`/`)))});E(n)}else E(t)},[g,E]);if(r){let t=Ot(o,`instead-of-the-inputs`);return e?(0,v.jsx)(`div`,{...t,className:`flex flex-wrap gap-2`,children:A.map((e,t)=>(0,v.jsx)(ye,{view:e,className:`text-sm max-w-xs`,fallback:(0,v.jsx)(`span`,{className:`text-sm truncate max-w-xs`,children:e.name})},t))}):(0,v.jsx)(m.EmptyValue,{...t})}let P=e=>{E(Array.from(e.target.files||[]))},F=e=>{if(f){let n=T.filter((t,n)=>n!==e).map(W);t(n.length>0?n:null)}else t(null)},{name:I,...L}=Q(o);return(0,v.jsxs)(`div`,{className:o.className,children:[(0,v.jsx)(`input`,{ref:c,type:`file`,multiple:f,accept:g,onChange:P,className:`hidden`}),S&&(0,v.jsx)(`input`,{ref:l,type:`file`,accept:`image/*`,capture:S,onChange:P,className:`hidden`,"aria-label":s(`fields.file.cameraCapture`,{defaultValue:`Camera capture`}),"data-testid":`file-field-camera-input`}),(0,v.jsxs)(`div`,{className:`space-y-2`,children:[(0,v.jsxs)(`div`,{...L,onDragOver:j,onDragLeave:M,onDrop:N,onClick:()=>c.current?.click(),className:`
4
4
  flex flex-col items-center justify-center gap-2 p-6
5
5
  border-2 border-dashed rounded-lg cursor-pointer
6
6
  transition-colors duration-200
7
7
  ${C?`border-primary bg-primary/5 text-primary`:`border-muted-foreground/25 hover:border-primary/50 text-muted-foreground hover:text-foreground`}
8
- `,role:`button`,tabIndex:0,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),c.current?.click())},"aria-invalid":!!a,children:[(0,v.jsx)(h.Upload,{className:`size-8 ${C?`text-primary`:`text-muted-foreground`}`}),(0,v.jsxs)(`div`,{className:`text-center`,children:[(0,v.jsx)(`p`,{className:`text-sm font-medium`,children:C?s(`fields.file.dropFilesHere`,{defaultValue:`Drop files here`}):s(`fields.file.dragDropHere`,{defaultValue:`Drag & drop files here`})}),(0,v.jsx)(`p`,{className:`text-xs text-muted-foreground mt-1`,children:S?s(`fields.file.browseHintCamera`,{defaultValue:`or click to browse • use the camera button below`}):s(`fields.file.browseHint`,{defaultValue:`or click to browse`})})]})]}),S&&(0,v.jsxs)(m.Button,{type:`button`,variant:`outline`,size:`sm`,className:`w-full`,onClick:e=>{e.stopPropagation(),l.current?.click()},"data-testid":`file-field-camera-button`,children:[(0,v.jsx)(h.Camera,{className:`size-4 mr-2`}),S===`user`?s(`fields.file.takeSelfie`,{defaultValue:`Take selfie`}):s(`fields.file.takePhoto`,{defaultValue:`Take photo`})]}),O&&(0,v.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-muted-foreground`,"data-testid":`file-field-uploading`,children:[(0,v.jsx)(h.Loader2,{className:`size-3 animate-spin`}),(0,v.jsx)(`span`,{children:(()=>{let e=Object.keys(k);if(e.length===0)return s(`fields.file.uploading`,{defaultValue:`Uploading…`});let t=Math.round(Object.values(k).reduce((e,t)=>e+t,0)/e.length*100);return s(`fields.file.uploadingPct`,{defaultValue:`Uploading… (${t}%)`,pct:t})})()})]}),D.length>0&&(0,v.jsx)(`div`,{className:`space-y-0.5`,children:D.map((e,t)=>(0,v.jsx)(`p`,{className:`text-xs text-destructive`,children:e},t))}),A.length>0&&(0,v.jsx)(`div`,{className:`space-y-1`,children:A.map((e,t)=>(0,v.jsxs)(`div`,{className:`flex items-center justify-between gap-2 p-2 bg-muted/50 rounded-md border`,children:[(0,v.jsxs)(`div`,{className:`flex items-center gap-2 flex-1 min-w-0`,children:[se(e)&&e.url?(0,v.jsx)(`img`,{src:e.url,alt:e.name,className:`size-8 object-cover rounded shrink-0`}):se(e)?(0,v.jsx)(h.ImageIcon,{className:`size-4 text-muted-foreground shrink-0`}):(0,v.jsx)(h.File,{className:`size-4 text-muted-foreground shrink-0`}),(0,v.jsx)(K,{view:e,className:`text-sm`,icon:!1,fallback:(0,v.jsx)(`span`,{className:`text-sm truncate`,children:e.name})}),e.size&&(0,v.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[`(`,(e.size/1024).toFixed(1),` KB)`]})]}),(0,v.jsx)(m.Button,{type:`button`,variant:`ghost`,size:`sm`,onClick:e=>{e.stopPropagation(),F(t)},className:`h-6 w-6 p-0`,children:(0,v.jsx)(h.X,{className:`size-3`})})]},t))})]})]})}function ha({value:e,onChange:t,disabled:n,multiple:r,accept:i,maxSize:a,error:o,"aria-label":s,"data-cell":c}){let{t:l}=(0,p.useObjectTranslation)(),d=(0,u.useRef)(null),f=e?Array.isArray(e)?e:[e]:[],{processFiles:g,errors:_,uploading:y,recent:b}=pa({files:f,multiple:!!r,maxSize:a,onChange:t}),x=U(H(e,l(`fields.file.fileFallback`,{defaultValue:`File`})),b),S=e=>{if(r){let n=f.filter((t,n)=>n!==e);t(n.length>0?n:null)}else t(null)},C=!n&&!y&&(r||f.length===0);return(0,v.jsxs)(`div`,{className:`flex min-h-8 flex-wrap items-center gap-1 px-1 py-0.5`,children:[(0,v.jsx)(`input`,{ref:d,type:`file`,multiple:r,accept:i,onChange:e=>{g(Array.from(e.target.files||[])),e.target.value=``},className:`hidden`}),x.map((e,t)=>(0,v.jsxs)(`span`,{className:`inline-flex max-w-40 items-center gap-1 rounded border bg-muted/50 px-1 py-0.5 text-xs`,title:e.name,"data-testid":`file-cell-chip`,children:[se(e)&&e.url?(0,v.jsx)(`img`,{src:e.url,alt:e.name,className:`size-5 shrink-0 rounded object-cover`}):(0,v.jsx)(h.File,{className:`size-3 shrink-0 text-muted-foreground`}),(0,v.jsx)(K,{view:e,icon:!1,fallback:(0,v.jsx)(`span`,{className:`truncate`,children:e.name})}),!n&&(0,v.jsx)(`button`,{type:`button`,className:`shrink-0 rounded p-0.5 text-muted-foreground hover:text-foreground`,"aria-label":l(`fields.file.remove`,{defaultValue:`Remove ${e.name}`,name:e.name}),onClick:()=>S(t),children:(0,v.jsx)(h.X,{className:`size-3`})})]},t)),y&&(0,v.jsx)(`span`,{className:`inline-flex items-center gap-1 text-xs text-muted-foreground`,"data-testid":`file-cell-uploading`,children:(0,v.jsx)(h.Loader2,{className:`size-3.5 animate-spin`})}),C&&(0,v.jsxs)(m.Button,{type:`button`,variant:`ghost`,size:`sm`,className:`h-7 gap-1 px-2 text-xs text-muted-foreground hover:text-foreground`,onClick:()=>d.current?.click(),"aria-label":s,"data-cell":c,disabled:n,"aria-invalid":!!o,children:[(0,v.jsx)(h.Upload,{className:`size-3.5`}),f.length===0&&l(`fields.file.upload`,{defaultValue:`Upload`})]}),_.length>0&&(0,v.jsx)(`span`,{className:`w-full truncate text-[11px] text-destructive`,title:_.join(`; `),children:_[0]})]})}var ga=o((()=>{$(),ot(),oa(),ia(),la(),da(),G()})),_a=s({ImageCropperDialog:()=>va}),va,ya=o((()=>{va=({open:e,onOpenChange:t,src:n,outputType:r=`image/png`,outputName:i=`cropped.png`,onConfirm:a})=>{let o=(0,u.useRef)(null),s=(0,u.useRef)(null),[c,l]=(0,u.useState)(0),[d,f]=(0,u.useState)({x:0,y:0,width:100,height:100}),[p,g]=(0,u.useState)(null),[_,y]=(0,u.useState)(!1);(0,u.useEffect)(()=>{if(!e||!n)return;y(!1);let t=new Image;t.crossOrigin=`anonymous`,t.onload=()=>{s.current=t;let e=t.naturalWidth*.8,n=t.naturalHeight*.8;f({x:(t.naturalWidth-e)/2,y:(t.naturalHeight-n)/2,width:e,height:n}),l(0),y(!0)},t.onerror=()=>y(!1),t.src=n},[e,n]),(0,u.useEffect)(()=>{if(!_||!s.current||!o.current)return;let e=s.current,t=o.current,n=t.getContext(`2d`);if(!n)return;let r=480/e.naturalWidth,i=e.naturalHeight*r;t.width=480,t.height=i,n.clearRect(0,0,480,i),n.save(),n.translate(240,i/2),n.rotate(c*Math.PI/180);let a=c%180==0?480:i,l=c%180==0?i:480;n.drawImage(e,-a/2,-l/2,a,l),n.restore();let u=d.x*r,f=d.y*r,p=d.width*r,m=d.height*r;n.fillStyle=`rgba(0,0,0,0.45)`,n.fillRect(0,0,480,f),n.fillRect(0,f+m,480,i-f-m),n.fillRect(0,f,u,m),n.fillRect(u+p,f,480-u-p,m),n.strokeStyle=`#3b82f6`,n.lineWidth=2,n.strokeRect(u,f,p,m)},[_,d,c]);let b=(0,u.useCallback)(e=>{if(!s.current||!o.current)return;let t=o.current.getBoundingClientRect(),n=s.current.naturalWidth/t.width;g({ox:(e.clientX-t.left)*n,oy:(e.clientY-t.top)*n,cx:d.x,cy:d.y}),e.target.setPointerCapture(e.pointerId)},[d]),x=(0,u.useCallback)(e=>{if(!p||!s.current||!o.current)return;let t=o.current.getBoundingClientRect(),n=s.current.naturalWidth/t.width,r=(e.clientX-t.left)*n-p.ox,i=(e.clientY-t.top)*n-p.oy,a=Math.max(0,Math.min(p.cx+r,s.current.naturalWidth-d.width)),c=Math.max(0,Math.min(p.cy+i,s.current.naturalHeight-d.height));f(e=>({...e,x:a,y:c}))},[p,d.width,d.height]),S=(0,u.useCallback)(()=>g(null),[]),C=(0,u.useCallback)(()=>l(e=>(e+90)%360),[]),w=(0,u.useCallback)(async()=>{if(!s.current)return;let e=s.current,n=document.createElement(`canvas`),o=d.width,l=d.height;n.width=c%180==0?o:l,n.height=c%180==0?l:o;let u=n.getContext(`2d`);if(!u)return;u.save(),u.translate(n.width/2,n.height/2),u.rotate(c*Math.PI/180),u.drawImage(e,d.x,d.y,o,l,-o/2,-l/2,o,l),u.restore();let f=await new Promise(e=>n.toBlob(e,r));f&&(a(f,i),t(!1))},[d,c,i,r,a,t]);return(0,v.jsx)(m.Dialog,{open:e,onOpenChange:t,children:(0,v.jsxs)(m.DialogContent,{className:`max-w-xl`,children:[(0,v.jsxs)(m.DialogHeader,{children:[(0,v.jsx)(m.DialogTitle,{children:`Crop & rotate image`}),(0,v.jsx)(m.DialogDescription,{children:`Drag the highlighted box to reposition the crop. Use the rotate button to spin the image in 90° increments.`})]}),(0,v.jsxs)(`div`,{className:`flex flex-col items-center gap-3`,children:[_?(0,v.jsx)(`canvas`,{ref:o,"data-testid":`image-cropper-canvas`,role:`img`,"aria-label":`Image crop preview`,className:`border rounded-md cursor-move touch-none max-w-full`,onPointerDown:b,onPointerMove:x,onPointerUp:S,onPointerCancel:S}):(0,v.jsx)(`div`,{className:`flex h-[270px] w-full items-center justify-center text-sm text-muted-foreground`,children:`Loading image…`}),(0,v.jsxs)(`div`,{className:`flex w-full items-center justify-between text-xs text-muted-foreground`,children:[(0,v.jsxs)(`span`,{children:[`Crop: `,Math.round(d.width),` × `,Math.round(d.height),` px`]}),(0,v.jsxs)(`span`,{children:[`Rotation: `,c,`°`]})]})]}),(0,v.jsxs)(m.DialogFooter,{className:`flex justify-between sm:justify-between`,children:[(0,v.jsxs)(m.Button,{type:`button`,variant:`outline`,onClick:C,"data-testid":`image-cropper-rotate`,children:[(0,v.jsx)(h.RotateCw,{className:`size-4 mr-2`}),`Rotate 90°`]}),(0,v.jsxs)(`div`,{className:`flex gap-2`,children:[(0,v.jsx)(m.Button,{type:`button`,variant:`ghost`,onClick:()=>t(!1),children:`Cancel`}),(0,v.jsxs)(m.Button,{type:`button`,onClick:w,disabled:!_,"data-testid":`image-cropper-confirm`,children:[(0,v.jsx)(h.Crop,{className:`size-4 mr-2`}),`Apply crop`]})]})]})]})})}})),ba=s({ImageField:()=>xa});function xa({value:e,onChange:t,field:n,readonly:r,onUploadingChange:i,error:a,...o}){let s=(0,u.useRef)(null),c=n,l=c?.multiple||!1,d=c?.accept?c.accept.join(`,`):`image/*`,f=c?.maxSize,g=c?.crop!==!1,[_,y]=(0,u.useState)(null),[b,x]=(0,u.useState)(null),{upload:S}=(0,C.useUpload)(),{t:w}=(0,p.useObjectTranslation)(),[T,E]=(0,u.useState)(!1),[D,O]=(0,u.useState)([]),[k,ee]=(0,u.useState)({});aa(T,i);let A=ea(),j=e?Array.isArray(e)?e:[e]:[],M=U(H(e,``),k),N=(0,u.useCallback)((e,t)=>{let n=le(e,t);n.id&&ee(e=>({...e,[n.id]:n}))},[]),P=(0,u.useCallback)(async(e,n)=>{if(!_)return;let r=sa(w,{name:n,size:e.size},f);if(r){O([r]),y(null);return}O([]);let i=A();E(!0);try{let r=await S(e),i=ce(r,n);if(N(r,n),l){let e=[...j];e[_.index]=i,t(e)}else t(i)}catch(e){O([ua(w,n,e)])}finally{i(),E(!1),y(null)}},[_,j,l,t,S,N,f,w,A]),F=(0,u.useCallback)(e=>{let t=M[e];t?.url&&y({index:e,src:t.url,name:t.name||`image-${e}.png`})},[M]),I=M.filter(e=>e.url).map(e=>({url:e.url,name:e.name}));if(r)return!e||I.length===0?(0,v.jsx)(m.EmptyValue,{}):(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:I.map((e,t)=>(0,v.jsxs)(`button`,{type:`button`,onClick:()=>x(t),className:`group relative overflow-hidden rounded-md border border-border focus:outline-none focus:ring-2 focus:ring-ring`,"aria-label":w(`fields.image.enlarge`,{name:e.name||w(`fields.image.imageAlt`,{index:t+1})}),children:[(0,v.jsx)(`img`,{src:e.url,alt:e.name||w(`fields.image.imageAlt`,{index:t+1}),className:`size-20 object-cover transition-transform duration-150 group-hover:scale-105`}),(0,v.jsx)(`span`,{className:`pointer-events-none absolute inset-0 bg-black/0 transition-colors group-hover:bg-black/10`})]},t))}),b!==null&&(0,v.jsx)(re,{images:I,index:b,open:!0,onOpenChange:e=>!e&&x(null),onIndexChange:x})]});let te=async e=>{let n=Array.from(e.target.files||[]);if(s.current&&(s.current.value=``),n.length===0)return;let r=[],i=n.filter(e=>{let t=sa(w,e,f);return!t||(r.push(t),!1)});if(O(r),i.length===0)return;let a=[],o=A();E(!0);try{let e=await Promise.all(i.map(async e=>{try{let t=await S(e),n=ce(t,e.name);return N(t,e.name),n}catch(t){return a.push(ua(w,e.name,t)),null}}));a.length>0&&O([...r,...a]);let n=e.filter(e=>e!==null);if(n.length===0)return;t(l?[...j,...n]:n[0])}finally{o(),E(!1)}},L=e=>{if(l){let n=j.filter((t,n)=>n!==e);t(n.length>0?n:null)}else t(null)};return(0,v.jsxs)(`div`,{className:o.className,children:[(0,v.jsx)(`input`,{ref:s,type:`file`,multiple:l,accept:d,onChange:te,className:`hidden`}),(0,v.jsxs)(`div`,{className:`space-y-2`,children:[M.length>0&&(0,v.jsx)(`div`,{className:`grid grid-cols-4 gap-2`,children:M.map((e,t)=>(0,v.jsxs)(`div`,{className:`relative group`,children:[(0,v.jsx)(`img`,{src:e.url||``,alt:e.name||w(`fields.image.imageAlt`,{index:t+1}),className:`size-20 rounded-md object-cover border border-gray-200`}),(0,v.jsxs)(`div`,{className:`absolute top-1 right-1 flex gap-1 opacity-0 group-hover:opacity-100 transition-opacity`,children:[g&&(0,v.jsx)(m.Button,{type:`button`,variant:`secondary`,size:`sm`,onClick:()=>F(t),className:`h-6 w-6 p-0`,"aria-label":w(`fields.image.crop`,{index:t+1}),"data-testid":`image-field-crop-${t}`,children:(0,v.jsx)(h.Crop,{className:`size-3`})}),(0,v.jsx)(m.Button,{type:`button`,variant:`destructive`,size:`sm`,onClick:()=>L(t),className:`h-6 w-6 p-0`,"aria-label":w(`fields.image.remove`,{index:t+1}),children:(0,v.jsx)(h.X,{className:`size-3`})})]})]},t))}),(0,v.jsxs)(m.Button,{...Q(o),type:`button`,variant:`outline`,onClick:()=>s.current?.click(),className:`w-full`,disabled:T,"data-testid":`image-field-upload-button`,"aria-invalid":!!a,children:[T?(0,v.jsx)(h.Loader2,{className:`size-4 mr-2 animate-spin`}):(0,v.jsx)(h.Image,{className:`size-4 mr-2`}),T?w(`fields.image.uploading`):j.length>0?w(`fields.image.addMore`):w(`fields.image.upload`)]}),D.length>0&&(0,v.jsx)(`div`,{className:`space-y-0.5`,children:D.map((e,t)=>(0,v.jsx)(`p`,{className:`text-xs text-destructive`,children:e},t))})]}),g&&_&&(0,v.jsx)(u.Suspense,{fallback:null,children:(0,v.jsx)(Sa,{open:!0,onOpenChange:e=>!e&&y(null),src:_.src,outputName:_.name,onConfirm:P})})]})}var Sa,Ca=o((()=>{$(),oa(),ia(),la(),da(),G(),Sa=(0,u.lazy)(()=>Promise.resolve().then(()=>(ya(),_a)).then(e=>({default:e.ImageCropperDialog})))})),wa=s({FormulaField:()=>Ta});function Ta({value:e,field:t,...n}){let r=(0,p.useDisplayLocale)(),i=t?.returnType??`text`;if(e==null)return(0,v.jsx)(m.EmptyValue,{className:n.className});let a;if(i===`number`)a=typeof e==`number`?e.toFixed(2):String(e);else if(i===`boolean`)a=e?`Yes`:`No`;else if(i===`date`){if(isNaN((0,d.toDisplayDate)(e).getTime()))return(0,v.jsx)(m.EmptyValue,{className:n.className});a=(0,d.formatDate)(e,void 0,{locale:r})}else a=String(e);return(0,v.jsx)(`span`,{className:`text-sm font-mono text-gray-700 ${n.className||``}`,children:a})}var Ea=o((()=>{})),Da=s({SummaryField:()=>Oa});function Oa({value:e,field:t,...n}){let r=t?.summaryOperations?.function??`count`;if(e==null)return(0,v.jsx)(m.EmptyValue,{className:n.className});let i;return i=r===`count`?String(e):[`sum`,`avg`,`min`,`max`].includes(r)&&typeof e==`number`?e.toFixed(2):String(e),(0,v.jsx)(`span`,{className:`text-sm font-medium tabular-nums text-gray-700 ${n.className||``}`,children:i})}var ka=o((()=>{})),Aa=s({AutoNumberField:()=>ja});function ja({value:e,field:t,...n}){return e==null?(0,v.jsx)(m.EmptyValue,{className:n.className}):(0,v.jsx)(`span`,{className:`text-sm font-mono text-gray-700 ${n.className||``}`,children:String(e)})}var Ma=o((()=>{})),Na=s({VectorField:()=>Pa});function Pa({value:e,field:t,...n}){let r=t?.dimensions||(Array.isArray(e)?e.length:0);if(!e||!Array.isArray(e))return(0,v.jsx)(m.EmptyValue,{});let i=e.slice(0,3).map(e=>{let t=Number(e);return isNaN(t)?`0`:t.toFixed(4)}).join(`, `);return(0,v.jsxs)(`div`,{className:`text-sm ${n.className||``}`,children:[(0,v.jsxs)(`span`,{className:`font-mono text-gray-700`,children:[`[`,i,`...]`]}),(0,v.jsxs)(`span`,{className:`text-gray-500 ml-2`,children:[`(`,r,`D)`]})]})}var Fa=o((()=>{})),Ia=s({GridField:()=>Qa,LineItemsField:()=>ro,computeRow:()=>Ga,evalArith:()=>Ba,lookupAutofillPatch:()=>Va,sumColumn:()=>Za});function La(e){if(e.width)return{width:e.width,minWidth:e.width};if((e.type??`text`)===`text`)return{minWidth:180};let t=eo[e.type??`text`]??132;return{width:t,minWidth:t}}function Ra(e){let t=[],n=0;for(;n<e.length;){let r=e[n];if(r===` `||r===` `||r===`
9
- `){n++;continue}if(r>=`0`&&r<=`9`||r===`.`){let r=n+1;for(;r<e.length&&(e[r]>=`0`&&e[r]<=`9`||e[r]===`.`);)r++;t.push({t:`num`,v:e.slice(n,r)}),n=r;continue}if(/[a-zA-Z_]/.test(r)){let r=n+1;for(;r<e.length&&/[a-zA-Z0-9_.]/.test(e[r]);)r++;t.push({t:`id`,v:e.slice(n,r)}),n=r;continue}if(r===`+`||r===`-`||r===`*`||r===`/`||r===`%`){t.push({t:`op`,v:r}),n++;continue}if(r===`(`){t.push({t:`lp`,v:r}),n++;continue}if(r===`)`){t.push({t:`rp`,v:r}),n++;continue}return null}return t}function za(e,t){let n=e.startsWith(`record.`)?e.slice(7):e,r=t?.[n];if(r==null||r===``)return null;let i=Number(r);return Number.isFinite(i)?i:null}function Ba(e,t){let n=Ra(e);if(!n||n.length===0)return null;let r=0,i=!1,a=()=>n[r],o=()=>n[r++];function s(){let e=a();if(!e)return i=!0,NaN;if(e.t===`op`&&e.v===`-`)return o(),-s();if(e.t===`op`&&e.v===`+`)return o(),s();if(e.t===`num`)return o(),Number(e.v);if(e.t===`id`){o();let n=za(e.v,t);return n===null?(i=!0,NaN):n}if(e.t===`lp`){o();let e=l(),t=o();return(!t||t.t!==`rp`)&&(i=!0),e}return i=!0,NaN}function c(){let e=s();for(;a()&&a().t===`op`&&(a().v===`*`||a().v===`/`||a().v===`%`);){let t=o().v,n=s();e=t===`*`?e*n:t===`/`?e/n:e%n}return e}function l(){let e=c();for(;a()&&a().t===`op`&&(a().v===`+`||a().v===`-`);){let t=o().v,n=c();e=t===`+`?e+n:e-n}return e}let u=l();return i||r!==n.length||!Number.isFinite(u)?null:u}function Va(e,t,n){let r={[t.name]:n?.value??n?.id??n?._id};if(t.autofill!==!1&&n&&typeof n==`object`)for(let i of e){if(i.name===t.name||i.computed||i.type===`lookup`)continue;let e=n[i.name];e!=null&&e!==``&&(r[i.name]=e)}return r}function Ha(e){return(0,p.resolveFieldCurrency)(void 0,e)}function Ua(e){return e?A(e):void 0}function Wa(e,t){return e.type===`currency`?Ua(Ha(t)):e.scale}function Ga(e,t,n){let r=e.filter(e=>e.computed&&e.expr);if(r.length===0)return t;let i={...t};for(let e of r){let t=Ba(e.expr,i);if(t===null){i[e.name]=null;continue}let r=Wa(e,n);i[e.name]=r==null?t:Number(t.toFixed(r))}return i}function Ka(e,t,n){let r=String(t);if(e===`time`)return r;if(e===`date`){let e=(0,d.toDateInputValue)(t);if(!e)return r;let i=(0,d.toDisplayDate)(e);return Number.isNaN(i.getTime())?r:(0,d.formatDate)(i,void 0,{locale:n})}if(Number.isNaN((0,d.toDisplayDate)(t instanceof Date?t:r).getTime()))return r;let i=t instanceof Date?t:new Date(r);return(0,d.formatDateTime)(i,{style:`compact`,locale:n})}function qa(e,t,n){return e.prefix?e.prefix:t?j(t,n):``}function Ja(e,t,n,r){let i=Ua(n),a=i===void 0?{}:{minimumFractionDigits:i,maximumFractionDigits:i};if(e.prefix||!n)return`${qa(e,n,r)}${(0,p.formatDisplayNumber)(t,{locale:r,...a})}`;try{return(0,p.formatDisplayNumber)(t,{locale:r,currency:n,...a})}catch{return`${n} ${t.toFixed(i)}`}}function Ya(e,t,n,r){if(t==null||t===``)return`—`;if(no(e.type))return Ka(e.type,t,n);if(e.type===`file`){let e=Array.isArray(t)?t:[t];if(e.length===0)return`—`;if(e.length>1)return`${e.length} files`;let n=e[0];return typeof n==`string`?n:n?.name||n?.original_name||`File`}if(e.type===`select`&&Array.isArray(e.options)){let n=e.options.find(e=>String(e.value)===String(t));return n?n.label:String(t)}if($a(e.type)){let i=Number(t);if(Number.isFinite(i))return e.type===`currency`?Ja(e,i,r,n):i.toLocaleString(n)}return Array.isArray(t)?t.join(`, `):String(t)}function Xa(e,t){if($a(e)){if(t===``||t==null)return null;let e=Number(t);return Number.isNaN(e)?t:e}return e===`datetime`?(0,d.fromDateTimeInputValue)(t):t}function Za(e,t){return Array.isArray(e)?e.reduce((e,n)=>{let r=Number(n?.[t]);return e+(Number.isFinite(r)?r:0)},0):0}function Qa({value:e,onChange:t,field:n,readonly:r,disabled:i,className:a,error:o,onRowExpand:s,displayMode:c,onAdd:l,...f}){let g=n||{},_=g.columns||[],y=Array.isArray(e)?e:[],b=f.contextRecord,x=(0,p.useDisplayLocale)(),{t:S}=Ve(),C=S(`view.dragToReorder`,{defaultValue:`Drag to reorder`}),w=S(`fields.grid.openRow`,{defaultValue:`Open row`}),T=S(`fields.grid.duplicateRow`,{defaultValue:`Duplicate row`}),E=S(`fields.grid.removeRow`,{defaultValue:`Remove row`}),D=S(`form.masterDetail.total`,{defaultValue:`Total`}),O=e=>S(`validation.required`,{field:e.label||e.name,defaultValue:`{{field}} is required`}),k=u.default.useId(),{currency:ee}=(0,p.useLocalization)(),A=Ha(ee),j=(0,u.useCallback)((e,t)=>{if(!e.readonlyWhen&&!e.requiredWhen)return{readonly:!1,required:!!e.required};let n=(0,d.resolveFieldRuleState)({readonlyWhen:e.readonlyWhen,requiredWhen:e.requiredWhen},t||{},{required:!!e.required,readonly:!1},void 0,b?{parent:b}:void 0);return{readonly:n.readonly,required:n.required}},[b]),M=c===`list`&&!r,[N,P]=u.default.useState(()=>new Set),F=_.filter(e=>e.defaultHidden&&!e.required),I=_.filter(e=>!e.defaultHidden||e.required||N.has(e.name)),te=(0,u.useCallback)(e=>{P(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),L=g.allow_add!==!1&&!r&&!i,R=g.allow_delete!==!1&&!r&&!i,ne=L,z=typeof s==`function`&&!r,re=g.min_rows??0,B=g.max_rows,ie=g.total_field,ae=g.sort_field,oe=g.allow_reorder!==!1&&!r&&!i,V=(0,u.useCallback)(e=>{t?.(ae?e.map((e,t)=>({...e,[ae]:t})):e)},[t,ae]),H=(0,u.useCallback)(()=>{let e={};for(let t of I)e[t.name]=null;return e},[I]),se=(0,u.useCallback)((e,t)=>{if(e>=y.length){if(B!=null&&y.length>=B)return;V([...y,Ga(I,{...H(),...t},ee)]);return}V(y.map((n,r)=>r===e?Ga(I,{...n,...t},ee):n))},[y,I,B,H,V,ee]),ce=(0,u.useCallback)((e,t,n)=>se(e,{[t]:n}),[se]),le=(0,u.useCallback)((e,t,n)=>{se(e,Va(I,t,n))},[I,se]),U=(0,u.useCallback)((e,t,n)=>ce(e,t,n),[ce]),ue=(0,u.useCallback)((e,t,n)=>{ce(e,t.name,Xa(t.type,n))},[ce]),W=(0,u.useCallback)(()=>{B!=null&&y.length>=B||V([...y,H()])},[y,H,B,V]),G=(0,u.useRef)(null),K=(0,u.useCallback)((e,t)=>{let n=G.current?.querySelector(`[data-cell="${e}-${t}"]`);n&&(n.focus(),n instanceof HTMLInputElement&&n.select())},[]),q=(0,u.useCallback)((e,t,n)=>{e.key===`ArrowDown`||e.key===`Enter`?(e.preventDefault(),K(t+1,n)):e.key===`ArrowUp`&&(e.preventDefault(),t>0&&K(t-1,n))},[K]),J=(0,u.useCallback)(e=>{y.length<=re||V(y.filter((t,n)=>n!==e))},[y,re,V]),de=(0,u.useCallback)(e=>{if(B!=null&&y.length>=B)return;let t=y[e];if(!t)return;let{id:n,_id:r,recordId:i,...a}=t,o=[...y];o.splice(e+1,0,{...a}),V(o)},[y,B,V]),fe=(0,u.useCallback)((e,t)=>{if(e===t||e<0||t<0||e>=y.length||t>=y.length)return;let n=[...y],[r]=n.splice(e,1);n.splice(t,0,r),V(n)},[y,V]),Y=(0,u.useRef)(null),X=z||R||ne,pe=(+!!z+ +!!ne+ +!!R)*34+12,Z=!!ie,me=Z?Za(y,ie):0,he=Z?Math.max(0,I.findIndex(e=>e.name===ie)):-1,ge=F.length>0?(0,v.jsxs)(m.Popover,{children:[(0,v.jsx)(m.PopoverTrigger,{asChild:!0,children:(0,v.jsxs)(m.Button,{type:`button`,variant:`ghost`,size:`sm`,className:`h-7 gap-1.5 text-xs text-muted-foreground`,"data-testid":`line-items-columns`,children:[(0,v.jsx)(h.SlidersHorizontal,{className:`h-3.5 w-3.5`}),S(`table.columns`,{defaultValue:`Columns`}),N.size>0&&(0,v.jsxs)(`span`,{className:`rounded-full bg-primary/10 px-1.5 text-[10px] font-medium text-primary`,children:[`+`,N.size]})]})}),(0,v.jsxs)(m.PopoverContent,{align:`end`,className:`w-56 p-2`,children:[(0,v.jsx)(`div`,{className:`px-1 pb-1.5 text-xs font-medium text-muted-foreground`,children:S(`fields.grid.optionalColumns`,{defaultValue:`Optional columns`})}),(0,v.jsx)(`div`,{className:`max-h-64 space-y-0.5 overflow-y-auto`,children:F.map(e=>{let t=`col-toggle-${e.name}`;return(0,v.jsxs)(m.Label,{htmlFor:t,className:`flex cursor-pointer items-center gap-2 rounded-md px-1.5 py-1.5 text-sm font-normal hover:bg-muted`,children:[(0,v.jsx)(m.Checkbox,{id:t,checked:N.has(e.name),onCheckedChange:()=>te(e.name)}),(0,v.jsx)(`span`,{className:`truncate`,children:e.label||e.name})]},e.name)})})]})]}):null;if(r)return(0,v.jsxs)(`div`,{...it(f,`instead-of-the-inputs`),className:(0,m.cn)(`space-y-2`,a),children:[ge&&(0,v.jsx)(`div`,{className:`flex justify-end`,children:ge}),(0,v.jsx)(`div`,{className:`border border-border rounded-lg overflow-x-auto`,"data-testid":`line-items-readonly`,children:(0,v.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,v.jsx)(`thead`,{className:`bg-muted border-b border-border`,children:(0,v.jsxs)(`tr`,{children:[(0,v.jsx)(`th`,{className:`w-10 px-2 py-2 text-right text-xs font-medium text-muted-foreground`,children:`#`}),I.map(e=>(0,v.jsx)(`th`,{style:{minWidth:to(e)},className:(0,m.cn)(`px-3 py-2 text-xs font-medium text-muted-foreground whitespace-nowrap`,$a(e.type)?`text-right`:`text-left`),children:e.label||e.name},e.name))]})}),(0,v.jsx)(`tbody`,{className:`divide-y divide-border`,children:y.length===0?(0,v.jsx)(`tr`,{children:(0,v.jsx)(`td`,{colSpan:I.length+1,className:`px-3 py-6 text-center text-muted-foreground`,children:S(`fields.grid.noItems`,{defaultValue:`No items`})})}):y.map((e,t)=>(0,v.jsxs)(`tr`,{children:[(0,v.jsx)(`td`,{className:`px-2 py-2 text-right text-muted-foreground tabular-nums`,children:t+1}),I.map(t=>(0,v.jsx)(`td`,{className:(0,m.cn)(`px-3 py-2 text-foreground`,$a(t.type)&&`text-right tabular-nums`),children:t.type===`lookup`&&e[t.name]!=null&&e[t.name]!==``?(0,v.jsx)(rr,{value:e[t.name],onChange:()=>{},readonly:!0,field:{reference:t.reference,displayField:t.displayField,idField:t.idField}}):t.type===`file`||no(t.type)?Ya(t,e[t.name],x,A):e[t.name]!=null&&e[t.name]!==``?String(e[t.name]):`—`},t.name))]},t))}),Z&&(0,v.jsx)(`tfoot`,{className:`border-t border-border bg-muted/40`,children:(0,v.jsxs)(`tr`,{children:[(0,v.jsx)(`td`,{colSpan:1+he,className:`px-3 py-2 text-right text-xs font-medium text-muted-foreground`,children:D}),(0,v.jsx)(`td`,{className:`px-3 py-2 text-right font-semibold text-foreground tabular-nums`,children:me.toLocaleString(x)}),I.length-he-1>0&&(0,v.jsx)(`td`,{colSpan:I.length-he-1})]})})]})})]});let _e=!M&&L&&(B==null||y.length<B),ve=_e?[...y,H()]:y,ye=!!o&&y.length===0,be=(e,t,n,r,a=!1)=>{let o=r?.[e.name],s=i||j(e,r).readonly;if(M)return e.type===`lookup`&&o!=null&&o!==``?(0,v.jsx)(rr,{value:o,onChange:()=>{},readonly:!0,field:{reference:e.reference,displayField:e.displayField,idField:e.idField}}):(0,v.jsx)(`span`,{className:(0,m.cn)(`px-2 text-sm text-foreground`,$a(e.type)&&`tabular-nums`,(o==null||o===``)&&`text-muted-foreground`),children:Ya(e,o,x,A)});if(e.computed)return(0,v.jsx)(`span`,{className:(0,m.cn)(`block px-2 text-sm tabular-nums`,$a(e.type)?`text-right`:`text-left`,o==null||o===``?`text-muted-foreground`:`text-foreground`),title:S(`fields.grid.computed`,{defaultValue:`Computed`}),"data-computed":e.name,children:Ya(e,o,x,A)});if(e.type===`lookup`)return(0,v.jsx)(rr,{value:o,onChange:t=>U(n,e.name,t),onSelectRecord:t=>le(n,e,t),compact:!0,field:{reference:e.reference,displayField:e.displayField,idField:e.idField,multiple:e.multiple,options:e.options,placeholder:`—`},disabled:s,error:a?O(e):void 0});if(e.type===`file`)return(0,v.jsx)(ha,{value:o,onChange:t=>U(n,e.name,t),multiple:e.multiple,accept:Array.isArray(e.accept)&&e.accept.length>0?e.accept.join(`,`):void 0,disabled:s,"aria-label":e.label||e.name,"data-cell":`${n}-${t}`,error:a?O(e):void 0});if(e.type===`select`)return(0,v.jsxs)(m.Select,{value:o==null?``:String(o),onValueChange:t=>ue(n,e,t),disabled:s,children:[(0,v.jsx)(m.SelectTrigger,{className:`h-8 rounded-none border-0 bg-transparent px-2 shadow-none focus:ring-1 focus:ring-ring/60`,"aria-label":e.label||e.name,"aria-invalid":a||void 0,children:(0,v.jsx)(m.SelectValue,{placeholder:`—`})}),(0,v.jsx)(m.SelectContent,{children:(e.options||[]).map(e=>(0,v.jsx)(m.SelectItem,{value:e.value,children:e.label},e.value))})]});let c=e.type===`currency`?qa(e,A,x):``,l=(e.type===`date`||e.type===`datetime`)&&(0,d.isImpossibleStoredDay)(o),u=l?`${k}-impossible-${n}-${t}`:void 0;return(0,v.jsxs)(`div`,{className:`relative`,children:[c&&(0,v.jsx)(`span`,{className:`pointer-events-none absolute left-2 top-1/2 -translate-y-1/2 text-xs text-muted-foreground`,children:c}),(0,v.jsx)(m.Input,{"data-cell":`${n}-${t}`,"aria-invalid":a||l||void 0,"aria-describedby":u,onKeyDown:e=>q(e,n,t),className:(0,m.cn)(`h-8 rounded-none border-0 bg-transparent px-2 shadow-none focus-visible:ring-1 focus-visible:ring-ring/60`,c&&`pl-6`,$a(e.type)&&`text-right tabular-nums`),type:e.type===`date`?`date`:e.type===`datetime`?`datetime-local`:e.type===`time`?`time`:$a(e.type)?`number`:`text`,step:$a(e.type)?e.step??`any`:void 0,"aria-label":e.label||e.name,value:e.type===`date`?l?``:(0,d.toDateInputValue)(o):e.type===`datetime`?(0,d.toDateTimeInputValue)(o):o==null?``:String(o),onChange:t=>ue(n,e,t.target.value),disabled:s}),l&&(0,v.jsx)(`p`,{id:u,className:`px-2 pb-1 text-xs text-destructive`,"data-testid":`line-items-impossible-day-${n}-${e.name}`,children:S(e.type===`date`?`fields.date.impossibleDay`:`fields.dateTime.impossibleDay`,{value:String(o)})})]})},{"aria-invalid":xe,name:Se,...Ce}=Q(f),we=Ce[`aria-labelledby`]!=null;return(0,v.jsxs)(`div`,{...Ce,role:we?`group`:void 0,className:(0,m.cn)(`space-y-2`,a),"data-testid":`line-items`,children:[ge&&(0,v.jsx)(`div`,{className:`flex justify-end`,children:ge}),(0,v.jsx)(`div`,{className:`border border-border rounded-lg overflow-x-auto`,children:(0,v.jsxs)(`table`,{ref:G,className:`w-full text-sm`,children:[(0,v.jsx)(`thead`,{className:`bg-muted/60 border-b border-border`,children:(0,v.jsxs)(`tr`,{children:[(0,v.jsx)(`th`,{className:(0,m.cn)(`px-2 py-2 text-right text-xs font-medium text-muted-foreground`,oe?`w-14`:`w-10`),children:`#`}),I.map(e=>(0,v.jsxs)(`th`,{className:(0,m.cn)(`px-2 py-2 text-xs font-medium text-muted-foreground whitespace-nowrap`,$a(e.type)?`text-right`:`text-left`),style:La(e),children:[e.label||e.name,e.required&&!e.computed&&(0,v.jsx)(`span`,{className:`text-destructive`,children:` *`})]},e.name)),X&&(0,v.jsx)(`th`,{style:{width:pe}})]})}),(0,v.jsx)(`tbody`,{className:`divide-y divide-border`,children:M&&y.length===0?(0,v.jsx)(`tr`,{children:(0,v.jsx)(`td`,{colSpan:I.length+ +!!X+1,className:`px-3 py-6 text-center text-muted-foreground`,children:S(`fields.grid.noItemsAddHint`,{label:g.add_label||S(`detail.add`,{defaultValue:`Add`}),defaultValue:`No items yet — click “{{label}}” to begin.`})})}):ve.map((e,t)=>{let n=_e&&t===y.length,r=oe&&!n&&!M;return(0,v.jsxs)(`tr`,{className:(0,m.cn)(`group`,!n&&`hover:bg-muted/30`),...oe&&!n?{onDragOver:e=>{Y.current!=null&&e.preventDefault()},onDrop:e=>{e.preventDefault(),Y.current!=null&&(fe(Y.current,t),Y.current=null)}}:{},children:[(0,v.jsx)(`td`,{className:`px-1 py-1 text-right align-middle text-xs text-muted-foreground tabular-nums`,children:(0,v.jsxs)(`span`,{className:`inline-flex items-center justify-end gap-0.5`,children:[r&&(0,v.jsx)(`span`,{draggable:!0,onDragStart:()=>{Y.current=t},onDragEnd:()=>{Y.current=null},className:`cursor-grab text-muted-foreground/40 opacity-0 transition-opacity group-hover:opacity-100`,title:C,"aria-label":C,"data-testid":`line-items-drag-${t}`,children:(0,v.jsx)(h.GripVertical,{className:`h-3.5 w-3.5`})}),(0,v.jsx)(`span`,{className:(0,m.cn)(n&&`opacity-30`),children:t+1})]})}),I.map((r,i)=>{let a=j(r,e).required,o=(!n||ye)&&!M&&a&&!r.computed&&(e[r.name]==null||e[r.name]===``);return(0,v.jsx)(`td`,{title:o?O(r):void 0,"data-testid":o?`line-items-invalid-${t}-${r.name}`:void 0,className:(0,m.cn)(`border-r border-border/40 px-1 py-0.5 align-middle last:border-r-0`,M&&`px-2 py-1.5`,o&&`bg-destructive/5 ring-1 ring-inset ring-destructive/50`),children:be(r,i,t,e,o)},r.name)}),X&&(0,v.jsx)(`td`,{className:`px-1 py-0.5 align-middle whitespace-nowrap`,children:(0,v.jsxs)(`div`,{className:`flex items-center justify-center gap-0.5`,children:[!n&&z&&(0,v.jsx)(m.Button,{type:`button`,variant:`ghost`,size:`icon`,className:`h-8 w-8 text-muted-foreground hover:text-foreground`,"aria-label":w,title:w,"data-testid":`line-items-expand-${t}`,onClick:()=>s(t),children:(0,v.jsx)(h.Maximize2,{className:`h-3.5 w-3.5`})}),!n&&ne&&(0,v.jsx)(m.Button,{type:`button`,variant:`ghost`,size:`icon`,className:`h-8 w-8 text-muted-foreground hover:text-foreground`,"aria-label":T,title:T,"data-testid":`line-items-duplicate-${t}`,onClick:()=>de(t),disabled:i||B!=null&&y.length>=B,children:(0,v.jsx)(h.Copy,{className:`h-3.5 w-3.5`})}),!n&&R&&(0,v.jsx)(m.Button,{type:`button`,variant:`ghost`,size:`icon`,className:`h-8 w-8 text-muted-foreground hover:text-destructive`,"aria-label":E,"data-testid":`line-items-remove-${t}`,onClick:()=>J(t),disabled:i||y.length<=re,children:(0,v.jsx)(h.Trash2,{className:`h-4 w-4`})})]})})]},t)})}),Z&&(0,v.jsx)(`tfoot`,{className:`border-t border-border bg-muted/40`,children:(0,v.jsxs)(`tr`,{children:[(0,v.jsx)(`td`,{colSpan:1+he,className:`px-3 py-2 text-right text-xs font-medium text-muted-foreground`,children:D}),(0,v.jsx)(`td`,{className:`px-3 py-2 text-right font-semibold text-foreground tabular-nums`,"data-testid":`line-items-total`,children:me.toLocaleString(x)}),I.length-he-1+ +!!X>0&&(0,v.jsx)(`td`,{colSpan:I.length-he-1+ +!!X})]})})]})}),L&&(0,v.jsxs)(m.Button,{type:`button`,variant:`outline`,size:`sm`,onClick:M&&l?l:W,disabled:B!=null&&y.length>=B,"data-testid":`line-items-add`,children:[(0,v.jsx)(h.Plus,{className:`mr-1.5 h-4 w-4`}),g.add_label||S(`fields.grid.addLine`,{defaultValue:`Add line`})]})]})}var $a,eo,to,no,ro,io=o((()=>{F(),lr(),ga(),Rt(),He(),$(),ot(),$a=e=>e===`number`||e===`currency`,eo={text:160,select:132,lookup:168,number:104,currency:116,date:150,datetime:200,time:116,file:168},to=e=>e.width??eo[e.type??`text`]??132,no=e=>e===`date`||e===`datetime`||e===`time`,ro=Qa})),ao=s({AvatarField:()=>oo});function oo({value:e,onChange:t,field:n,readonly:r,onUploadingChange:i,error:a,...o}){let[s,c]=u.default.useState(!1),l=u.default.useRef(null),{upload:d}=(0,C.useUpload)(),{t:f}=(0,p.useObjectTranslation)(),[g,_]=u.default.useState(!1),[y,b]=u.default.useState(null),[x,S]=u.default.useState({});aa(g,i);let w=ea(),T=n,E=U(H(e,``),x)[0]?.url,D=async e=>{let n=e.target.files?.[0];if(l.current&&(l.current.value=``),!n)return;if(!n.type.startsWith(`image/`)){console.error(`Please select an image file`);return}if(n.size>5242880){console.error(`File size must be less than 5MB`);return}b(null);let r=w();_(!0);try{let e=await d(n),r=ce(e,n.name),i=le(e,n.name);i.id&&S(e=>({...e,[i.id]:i})),t(r)}catch(e){b(ua(f,n.name,e))}finally{r(),_(!1)}},O=()=>{t(``)},k=()=>(T?.defaultName||T?.label||`User`).split(` `).map(e=>e[0]).join(``).toUpperCase().slice(0,2);return r?(0,v.jsxs)(m.Avatar,{className:`w-16 h-16`,children:[E&&(0,v.jsx)(m.AvatarImage,{src:E,alt:T?.label}),(0,v.jsx)(m.AvatarFallback,{children:k()})]}):(0,v.jsxs)(`div`,{className:`flex items-center gap-4`,children:[(0,v.jsxs)(`div`,{className:`relative`,onMouseEnter:()=>c(!0),onMouseLeave:()=>c(!1),children:[(0,v.jsxs)(m.Avatar,{className:`w-16 h-16`,children:[E&&(0,v.jsx)(m.AvatarImage,{src:E,alt:T?.label}),(0,v.jsx)(m.AvatarFallback,{children:k()})]}),!r&&s&&e&&(0,v.jsx)(`button`,{type:`button`,onClick:O,className:`absolute -top-1 -right-1 bg-destructive text-destructive-foreground rounded-full p-1 hover:bg-destructive/90`,children:(0,v.jsx)(h.X,{className:`w-3 h-3`})})]}),(0,v.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,v.jsx)(`input`,{ref:l,type:`file`,accept:`image/*`,onChange:D,className:`hidden`}),(0,v.jsx)(m.Button,{...Q(o),type:`button`,variant:`outline`,size:`sm`,onClick:()=>l.current?.click(),disabled:r||o.disabled||g,"aria-invalid":!!a,children:g?(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(h.Loader2,{className:`w-4 h-4 mr-2 animate-spin`}),f(`fields.image.uploading`,{defaultValue:`Uploading…`})]}):(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(h.Upload,{className:`w-4 h-4 mr-2`}),e?`Change`:`Upload`,` Avatar`]})}),(0,v.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`PNG, JPG up to 5MB`}),y&&(0,v.jsx)(`p`,{className:`text-xs text-destructive`,children:y})]})]})}var so=o((()=>{$(),oa(),ia(),da(),G()})),co=s({SignatureField:()=>lo});function lo({value:e,onChange:t,readonly:n,...r}){let i=(0,u.useRef)(null),[a,o]=u.default.useState(!1),[s,c]=u.default.useState(!e);(0,u.useEffect)(()=>{if(e&&i.current){let t=i.current.getContext(`2d`);if(t){let n=new Image;n.onload=()=>{t.drawImage(n,0,0),c(!1)},n.src=e}}},[e]);let l=e=>{if(n)return;o(!0),c(!1);let t=i.current;if(!t)return;let r=t.getContext(`2d`);if(!r)return;let a=t.getBoundingClientRect(),s=`touches`in e?e.touches[0].clientX-a.left:e.clientX-a.left,l=`touches`in e?e.touches[0].clientY-a.top:e.clientY-a.top;r.beginPath(),r.moveTo(s,l)},d=e=>{if(!a||n)return;let t=i.current;if(!t)return;let r=t.getContext(`2d`);if(!r)return;let o=t.getBoundingClientRect(),s=`touches`in e?e.touches[0].clientX-o.left:e.clientX-o.left,c=`touches`in e?e.touches[0].clientY-o.top:e.clientY-o.top;r.lineTo(s,c),r.strokeStyle=`#000`,r.lineWidth=2,r.lineCap=`round`,r.lineJoin=`round`,r.stroke()},f=()=>{if(!a)return;o(!1);let e=i.current;e&&t(e.toDataURL(`image/png`))},p=()=>{let e=i.current;if(!e)return;let n=e.getContext(`2d`);n&&(n.clearRect(0,0,e.width,e.height),c(!0),t(``))},g=it(r,`instead-of-the-inputs`);return n&&e?(0,v.jsx)(`div`,{...g,className:`border rounded p-2 bg-white`,children:(0,v.jsx)(`img`,{src:e,alt:`Signature`,loading:`lazy`,className:`max-w-full h-auto`})}):n&&!e?(0,v.jsx)(`span`,{...g,className:`text-sm text-muted-foreground`,children:`No signature`}):(0,v.jsxs)(`div`,{...g,className:`space-y-2`,children:[(0,v.jsx)(`div`,{className:`border rounded bg-white`,children:(0,v.jsx)(`canvas`,{ref:i,width:400,height:200,className:`w-full touch-none cursor-crosshair`,onMouseDown:l,onMouseMove:d,onMouseUp:f,onMouseLeave:f,onTouchStart:l,onTouchMove:d,onTouchEnd:f})}),(0,v.jsxs)(`div`,{className:`flex justify-between items-center`,children:[(0,v.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:s?`Sign above`:`Signature captured`}),(0,v.jsxs)(m.Button,{type:`button`,variant:`outline`,size:`sm`,onClick:p,disabled:n||s,children:[(0,v.jsx)(h.Eraser,{className:`w-4 h-4 mr-2`}),`Clear`]})]})]})}var uo=o((()=>{ot()}));ya();function fo({value:e,onChange:t,field:n,readonly:r,className:i,...a}){let o=e||[],s=n,c=()=>{let e={id:`new-${Date.now()}`,label:`New Related Record`};t([...o,e])},l=e=>{t(o.filter(t=>t.id!==e))};return r?(0,v.jsxs)(`div`,{className:(0,m.cn)(`space-y-2`,i),children:[o.length===0?(0,v.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:`No related records`}):o.map(e=>(0,v.jsxs)(`div`,{className:`flex items-center justify-between p-2 border rounded hover:bg-muted/50`,children:[(0,v.jsx)(`span`,{className:`text-sm`,children:e.label}),(0,v.jsx)(m.Button,{type:`button`,variant:`ghost`,size:`sm`,onClick:()=>void 0,children:(0,v.jsx)(h.ExternalLink,{className:`w-4 h-4`})})]},e.id)),(0,v.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[o.length,` `,o.length===1?`record`:`records`]})]}):(0,v.jsxs)(`div`,{className:(0,m.cn)(`space-y-3`,i),children:[(0,v.jsxs)(`div`,{className:`space-y-2`,children:[o.map(e=>(0,v.jsxs)(`div`,{className:`flex items-center justify-between gap-2 p-2 border rounded hover:bg-muted/50`,children:[(0,v.jsxs)(`div`,{className:`flex items-center gap-2 flex-1`,children:[(0,v.jsx)(m.Badge,{variant:`outline`,children:e.id}),(0,v.jsx)(`span`,{className:`text-sm flex-1`,children:e.label})]}),(0,v.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,v.jsx)(m.Button,{type:`button`,variant:`ghost`,size:`sm`,onClick:()=>void 0,children:(0,v.jsx)(h.ExternalLink,{className:`w-4 h-4`})}),(0,v.jsx)(m.Button,{type:`button`,variant:`ghost`,size:`sm`,onClick:()=>l(e.id),disabled:a.disabled,children:(0,v.jsx)(h.X,{className:`w-4 h-4`})})]})]},e.id)),o.length===0&&(0,v.jsx)(`div`,{className:`text-sm text-muted-foreground text-center py-4 border border-dashed rounded bg-muted/20`,children:`No related records`})]}),(0,v.jsxs)(m.Button,{type:`button`,variant:`outline`,className:`w-full`,onClick:c,disabled:a.disabled,children:[(0,v.jsx)(h.Plus,{className:`w-4 h-4 mr-2`}),`Add `,s?.label||`Record`]})]})}ee(),z(),B(),G(),q(),de(),F(),xe(),Te(),G(),Pe(),Xe(),ht(),Et(),Vt(),Wt(),qt(),Xt(),$t(),nn(),$e(),rt(),li(),ze(),mi(),lr(),xi(),Ui(),Xi(),xn(),Yn(),ga(),Ca(),Ir(),Ea(),ka(),Ma(),pr(),Yr(),Fa(),io(),gr(),lt(),ft(),Wr(),so(),yr(),Vr(),uo(),Qr(),St(),kt(),Mt(),Ft(),$(),Rt(),ia(),oa(),Pe(),ze(),Xe(),$e(),rt(),lt(),ft(),ht(),St(),Et(),kt(),Mt(),Ft(),Vt(),Wt(),qt(),Xt(),$t(),nn(),xn(),Yn(),lr(),pr(),gr(),yr(),Ir(),Vr(),Wr(),Yr(),Qr(),li(),mi(),xi(),Ui(),Xi(),ga(),Ca(),Ea(),ka(),Ma(),Fa(),io(),so(),uo();var po=new Map;function mo(e,t){if(!e||typeof e!=`object`)return;if(t){let n=e[t];if(typeof n==`string`&&n.trim())return n.trim();if(typeof n==`number`)return String(n)}for(let t of[`name`,`full_name`,`display_name`,`label`,`title`,`subject`,`username`]){let n=e[t];if(typeof n==`string`&&n.trim())return n.trim();if(typeof n==`number`)return String(n)}let n=e.first_name,r=e.last_name,i=[e.salutation,n,r].filter(e=>typeof e==`string`&&e.trim()).map(e=>e.trim()).join(` `);if(i)return i;let a=e.email;if(typeof a==`string`&&a.trim())return a.trim();let o=new Set([`id`,`_id`,`organization_id`,`created_by`,`updated_by`,`created_at`,`updated_at`,`tenant_id`]),s=[`_name`,`_title`,`_number`,`_code`,`_label`];for(let[t,n]of Object.entries(e))if(!o.has(t)&&!t.endsWith(`_id`)&&s.some(e=>t.endsWith(e))){if(typeof n==`string`&&n.trim())return n.trim();if(typeof n==`number`)return String(n)}}var ho=new Map;async function go(e,t){let n=()=>{let e=ho.get(t);return e?.state===`ok`?e.schema:void 0},r=ho.get(t);if(r?.state===`pending`)return await r.promise,n();if(r)return n();let i=e?.getObjectSchema;if(typeof i!=`function`)return;let a=Promise.resolve().then(()=>i.call(e,t)).then(e=>{ho.set(t,{state:`ok`,schema:e})}).catch(()=>{ho.set(t,{state:`err`})});return ho.set(t,{state:`pending`,promise:a}),await a,n()}function _o(e){let t=u.default.useContext(g.SchemaRendererContext)?.dataSource,[,n]=u.default.useState(0),r=!!e&&!!t&&typeof t.getObjectSchema==`function`;if(u.default.useEffect(()=>{if(!r)return;let i=ho.get(e);if(i&&i.state!==`pending`)return;let a=!0;return go(t,e).then(()=>{a&&n(e=>e+1)}),()=>{a=!1}},[r,e,t]),!r)return;let i=ho.get(e);return i?.state===`ok`?i.schema:void 0}function vo(e,t,n,r,i){if(!e||typeof e!=`object`)return;let a=(0,d.withoutDeniedFields)(e,r,i);if(t){let e=(0,d.getRecordDisplayName)(t,a,{titleField:n}),r=a.id??a._id;if(!(e===`Untitled`||r!=null&&e===`Record #${r}`)&&e)return e}return mo(a,n)}function yo(e){if(typeof e!=`string`||!/^[A-Za-z0-9_-]{12,32}$/.test(e))return!1;let t=/[A-Z]/.test(e),n=/[a-z]/.test(e),r=/[0-9_-]/.test(e);return t&&n||t&&r||n&&r}function bo(e,t,n,r){let i=u.default.useContext(g.SchemaRendererContext)?.dataSource,[,a]=u.default.useState(0),o=!!e&&!!i&&typeof i.find==`function`&&(typeof t==`string`||typeof t==`number`)&&t!==``,s=o?`${e}:${String(t)}:${n??``}`:``;if(u.default.useEffect(()=>{if(!o)return;let n=po.get(s);if(n&&n.state!==`pending`&&n.promise==null||n?.state===`pending`)return;let r=(async()=>{try{let n;if(typeof i.findOne==`function`)n=await i.findOne(e,t);else{let r=await i.find(e,{$filter:{id:t},$top:1});n=(0,d.extractRecords)(r)[0]}let r=await go(i,e);po.set(s,{state:`ok`,record:n,schema:r})}catch{po.set(s,{state:`err`})}a(e=>e+1)})();po.set(s,{state:`pending`,promise:r})},[s,o,e,t,i]),!o)return;let c=po.get(s);return c?.state===`ok`?vo(c.record,c.schema,n,r,e):void 0}function xo(){let{t:e}=(0,g.useObjectTranslation)();return(t,n)=>{let r=e(t);return!r||r===t?n:r}}function So(){let{t:e}=(0,g.useObjectTranslation)();return e}function Co(e){return(0,d.isEmptyValue)(e)||typeof e==`string`&&e.trim()===``}function wo(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&!(e instanceof Date)}function To(e,t,n){if(!t)try{return(0,p.formatDisplayNumber)(e,{locale:n,notation:`compact`,maximumFractionDigits:1}).replace(/\.0(?=[KMBT])/,``)}catch{return String(e)}try{return(0,p.formatDisplayNumber)(e,{locale:n,currency:t,notation:`compact`,maximumFractionDigits:1}).replace(/\.0(?=[KMBT])/,``)}catch{return`${t} ${e}`}}function Eo(e,t=2,n){try{return(0,p.formatDisplayNumber)(e,{locale:n,minimumFractionDigits:t,maximumFractionDigits:t})}catch{return e.toFixed(t)}}function Do(e,t,n=0,r){return ne((0,d.percentDisplayValue)(e,t),n,r)}function Oo({text:e,className:t}){return(0,v.jsx)(`span`,{className:(0,m.cn)(`block max-w-full truncate`,t),title:e,children:e})}function ko({value:e}){let t=J(e);return(0,d.isEmptyValue)(t)?(0,v.jsx)(m.EmptyValue,{}):(0,v.jsx)(Oo,{text:String(t)})}function Ao({value:e,field:t}){let n=(0,p.useDisplayLocale)(),r=J(e);if(Co(r))return(0,v.jsx)(m.EmptyValue,{});let i=Number(r),a=isNaN(i)?String(r):I(i,t,n);return(0,v.jsx)(`span`,{className:`tabular-nums`,children:a})}function jo({value:e,field:t}){let{currency:n}=(0,p.useLocalization)(),r=(0,p.useDisplayLocale)(),i=J(e);if(Co(i))return(0,v.jsx)(m.EmptyValue,{});let a=(0,p.resolveFieldCurrency)(t,n),o=Number(i),s=isNaN(o)?String(i):L(o,a,r);return(0,v.jsx)(`span`,{className:`tabular-nums font-medium whitespace-nowrap`,children:s})}function Mo({value:e,field:t}){let n=(0,p.useDisplayLocale)(),r=J(e);if(Co(r))return(0,v.jsx)(m.EmptyValue,{});let i=t,a=(0,f.resolveFieldScale)({type:i.type,scale:i.scale}),o=Number(r);if(isNaN(o))return(0,v.jsx)(`span`,{className:`tabular-nums whitespace-nowrap`,children:String(r)});let s=R(i),c=(0,d.percentDisplayValue)(o,s),l=Do(o,s,a,n),u=Math.max(0,Math.min(100,c));return(0,v.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,v.jsx)(`div`,{className:`h-1.5 w-16 min-w-0 shrink rounded-full bg-muted ring-1 ring-inset ring-border/60 overflow-hidden`,role:`progressbar`,"aria-valuenow":u,"aria-valuemin":0,"aria-valuemax":100,children:(0,v.jsx)(`div`,{className:`h-full rounded-full bg-primary transition-all`,style:{width:`${u}%`}})}),(0,v.jsx)(`span`,{className:`shrink-0 tabular-nums whitespace-nowrap`,children:l})]})}var No=new Set([`active`,`is_active`,`enabled`,`is_enabled`,`verified`,`is_verified`]);function Po({value:e,field:t}){if(typeof e!=`boolean`)return(0,v.jsx)(`span`,{className:`flex items-center justify-center`,children:(0,v.jsx)(m.EmptyValue,{})});let n=t?.name?.toLowerCase()||``;return n===`completed`||n===`is_completed`||n===`done`||n===`is_done`?(0,v.jsx)(`div`,{className:`flex items-center justify-center`,children:e?(0,v.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,v.jsx)(h.Check,{className:`size-3 text-white`})}):(0,v.jsx)(`div`,{className:`size-5 rounded-full border-2 border-muted-foreground/30`,role:`img`,"aria-label":`Not completed`,"data-testid":`completion-indicator`})}):No.has(n)&&e===!1?(0,v.jsxs)(m.Badge,{variant:`destructive`,className:`text-xs`,"data-testid":`boolean-warning-badge`,children:[t?.label||(0,d.humanizeLabel)(n),` — Off`]}):(0,v.jsx)(`div`,{className:`flex items-center justify-start`,children:(0,v.jsx)(m.Checkbox,{checked:e,disabled:!0,className:`pointer-events-none`})})}var Fo=/(^|_)(due|deadline|expires?|expiry|expiration|expected_close|target_close|sla|return_by|renewal|next_action)(_|$)/;function Io(e){if(e?.dueLike===!0)return!0;let t=e,n=String(t?.name||t?.accessorKey||t?.key||``).toLowerCase();return Fo.test(n)}function Lo(e,t){if(!t)return!1;let n=new Date;return n.setHours(0,0,0,0),e<n}function Ro({value:e,field:t}){let n=(0,p.useDisplayLocale)(),r=So();if(!e)return(0,v.jsx)(m.EmptyValue,{});let i=J(e);if(Co(i))return(0,v.jsx)(m.EmptyValue,{});let a=i==null?null:(0,d.toDisplayDate)(i);if(a===null||isNaN(a.getTime()))return(0,v.jsx)(m.EmptyValue,{});let o=new Date(i),s=t.format||`relative`,c=Io(t),l=(0,d.formatDate)(i,s,{dueLike:c,locale:n,t:r}),u=Lo(a,c);return(0,v.jsx)(`span`,{className:`tabular-nums${u?` text-red-600`:``}`,title:o.toISOString(),children:l})}function zo({value:e,field:t}){let n=(0,p.useDisplayLocale)(),r=So();if(!e)return(0,v.jsx)(m.EmptyValue,{});let i=J(e),a=i==null?null:(0,d.toDisplayDate)(i);if(a===null||isNaN(a.getTime()))return(0,v.jsx)(m.EmptyValue,{});let o=new Date(i),s=t?.format||`compact`,c=s===`short`?`compact`:s,l=Io(t),u=`tabular-nums text-sm whitespace-nowrap${Lo(o,l)?` text-red-600`:``}`;if(c===`relative`)return(0,v.jsx)(`span`,{className:u,children:(0,d.formatRelativeDate)(o,{dueLike:l,locale:n,t:r})});if(c===`compact`){let e=(0,d.formatDateTimeCompactParts)(o,{locale:n});if(e)return(0,v.jsxs)(`span`,{className:u,children:[(0,v.jsx)(`span`,{children:e.date}),(0,v.jsx)(`span`,{className:`ml-2 text-muted-foreground`,children:e.time})]})}return(0,v.jsx)(`span`,{className:u,children:(0,d.formatDateTime)(o,{style:c,locale:n,t:r})})}var Bo={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`,contacted:`blue`,qualified:`purple`,converted:`green`,won:`green`,lost:`red`,紧急:`red`,严重:`red`,高:`orange`,中:`yellow`,普通:`blue`,低:`gray`,无:`gray`,新建:`gray`,草稿:`gray`,待处理:`yellow`,待审核:`yellow`,待联系:`yellow`,挂起:`yellow`,进行中:`blue`,处理中:`blue`,已联系:`blue`,跟进中:`blue`,已发货:`blue`,打开:`blue`,已确认:`green`,已审核:`green`,已通过:`green`,已完成:`green`,已支付:`green`,已签收:`green`,已转化:`green`,成单:`green`,赢得:`green`,已签约:`green`,已交付:`purple`,已归档:`indigo`,已关闭:`gray`,已取消:`red`,已拒绝:`red`,失败:`red`,逾期:`red`,流失:`red`,丢失:`red`},Vo={gray:`bg-gray-50 text-gray-700 border-gray-200 dark:bg-gray-800/50 dark:text-gray-200 dark:border-gray-700/60`,red:`bg-red-50 text-red-700 border-red-200 dark:bg-red-950/40 dark:text-red-300 dark:border-red-900/60`,orange:`bg-orange-50 text-orange-700 border-orange-200 dark:bg-orange-950/40 dark:text-orange-300 dark:border-orange-900/60`,yellow:`bg-yellow-50 text-yellow-800 border-yellow-200 dark:bg-yellow-950/40 dark:text-yellow-300 dark:border-yellow-900/60`,green:`bg-green-50 text-green-700 border-green-200 dark:bg-green-950/40 dark:text-green-300 dark:border-green-900/60`,blue:`bg-blue-50 text-blue-700 border-blue-200 dark:bg-blue-950/40 dark:text-blue-300 dark:border-blue-900/60`,indigo:`bg-indigo-50 text-indigo-700 border-indigo-200 dark:bg-indigo-950/40 dark:text-indigo-300 dark:border-indigo-900/60`,purple:`bg-purple-50 text-purple-700 border-purple-200 dark:bg-purple-950/40 dark:text-purple-300 dark:border-purple-900/60`,pink:`bg-pink-50 text-pink-700 border-pink-200 dark:bg-pink-950/40 dark:text-pink-300 dark:border-pink-900/60`},Ho={gray:`bg-gray-400 dark:bg-gray-500`,red:`bg-red-500`,orange:`bg-orange-500`,yellow:`bg-yellow-500`,green:`bg-green-500`,blue:`bg-blue-500`,indigo:`bg-indigo-500`,purple:`bg-purple-500`,pink:`bg-pink-500`},Uo=[`blue`,`green`,`purple`,`orange`,`pink`,`indigo`,`yellow`,`red`];function Wo(e){let t=5381;for(let n=0;n<e.length;n++)t=(t<<5)+t^e.charCodeAt(n);return Uo[Math.abs(t)%Uo.length]}function Go(e){let t=/^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/.exec(e.trim());if(!t)return;let n=t[1];n.length===3&&(n=n.split(``).map(e=>e+e).join(``));let r=parseInt(n.slice(0,2),16)/255,i=parseInt(n.slice(2,4),16)/255,a=parseInt(n.slice(4,6),16)/255,o=Math.max(r,i,a),s=Math.min(r,i,a),c=o-s,l=(o+s)/2;if((c===0?0:c/(1-Math.abs(2*l-1)))<.22)return`gray`;let u;return u=o===r?((i-a)/c%6+6)%6:o===i?(a-r)/c+2:(r-i)/c+4,u*=60,u>=345||u<15?`red`:u<30?`orange`:u<60?`yellow`:u<170?`green`:u<238?`blue`:u<250?`indigo`:u<295?`purple`:`pink`}function Ko(e){if(e){if(Vo[e])return e;if(e.charAt(0)===`#`)return Go(e)}}var qo=4.5,Jo=1.9,Yo={r:255,g:255,b:255},Xo={r:10,g:10,b:10},Zo=(e,t,n)=>Math.min(n,Math.max(t,e));function Qo(e){let t=/^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/.exec(e.trim());if(!t)return;let n=t[1];return n.length===3&&(n=n.split(``).map(e=>e+e).join(``)),{r:parseInt(n.slice(0,2),16),g:parseInt(n.slice(2,4),16),b:parseInt(n.slice(4,6),16)}}function $o({r:e,g:t,b:n}){let r=e/255,i=t/255,a=n/255,o=Math.max(r,i,a),s=Math.min(r,i,a),c=o-s,l=(o+s)/2,u=c===0?0:c/(1-Math.abs(2*l-1)),d=0;return c!==0&&(d=o===r?((i-a)/c%6+6)%6:o===i?(a-r)/c+2:(r-i)/c+4,d*=60),{h:d,s:u,l}}function es(e,t,n){let r=(e%360+360)%360,i=(1-Math.abs(2*n-1))*t,a=i*(1-Math.abs(r/60%2-1)),o=n-i/2,s;return s=r<60?[i,a,0]:r<120?[a,i,0]:r<180?[0,i,a]:r<240?[0,a,i]:r<300?[a,0,i]:[i,0,a],{r:Math.round((s[0]+o)*255),g:Math.round((s[1]+o)*255),b:Math.round((s[2]+o)*255)}}var ts=({r:e,g:t,b:n})=>`#`+[e,t,n].map(e=>Zo(Math.round(e),0,255).toString(16).padStart(2,`0`)).join(``);function ns({r:e,g:t,b:n}){let r=e=>{let t=e/255;return t<=.03928?t/12.92:((t+.055)/1.055)**2.4};return .2126*r(e)+.7152*r(t)+.0722*r(n)}function rs(e,t){let n=ns(e),r=ns(t);return(Math.max(n,r)+.05)/(Math.min(n,r)+.05)}function is(e,t,n,r,i){let a,o=1/0;for(let s=0;s<=100;s++){let c=s/100,l=es(e,t,c);if(rs(l,r)<i)continue;let u=Math.abs(c-n);u<o&&(o=u,a=l)}if(a)return a;let s={r:0,g:0,b:0},c={r:255,g:255,b:255};return rs(s,r)>=rs(c,r)?s:c}function as(e){let t=Qo(e);if(!t)return;let{h:n,s:r,l:i}=$o(t),a=Zo(r,.18,.92),o=.95-.32*(1-i),s=es(n,a*(.55+.25*(1-i)),o),c=es(n,a*.62,Zo(o-.14,0,1)),l=is(n,a,i,s,qo),u=.1+.3*i,d=es(n,a*.6,u),f=es(n,a*.55,Zo(u+.12,0,1)),p=is(n,a,i,d,qo);return{bg:ts(s),fg:ts(l),border:ts(c),bgDark:ts(d),fgDark:ts(p),borderDark:ts(f),dot:ts(is(n,a,i,Yo,Jo)),dotDark:ts(is(n,a,i,Xo,Jo))}}var os=`bg-[color:var(--os-badge-bg)] text-[color:var(--os-badge-fg)] border-[color:var(--os-badge-border)] dark:bg-[color:var(--os-badge-bg-dark)] dark:text-[color:var(--os-badge-fg-dark)] dark:border-[color:var(--os-badge-border-dark)]`,ss=`bg-[color:var(--os-dot-bg)] dark:bg-[color:var(--os-dot-bg-dark)]`;function cs(e){if(!e||e.charAt(0)!==`#`)return;let t=as(e);if(t)return{className:os,style:{"--os-badge-bg":t.bg,"--os-badge-fg":t.fg,"--os-badge-border":t.border,"--os-badge-bg-dark":t.bgDark,"--os-badge-fg-dark":t.fgDark,"--os-badge-border-dark":t.borderDark}}}function ls(e){if(!e||e.charAt(0)!==`#`)return;let t=as(e);if(t)return{className:ss,style:{"--os-dot-bg":t.dot,"--os-dot-bg-dark":t.dotDark}}}function us(e,t){let n=Ko(e);if(n&&Vo[n])return Vo[n];if(t==null||t===``)return`bg-muted text-muted-foreground border-border`;let r=String(t).toLowerCase().replace(/[\s-]/g,`_`),i=Bo[r];return i&&Vo[i]?Vo[i]:Vo[Wo(r)]}function ds(e,t){let n=Ko(e);if(n&&Vo[n])return n;if(t==null||t===``)return;let r=String(t).toLowerCase().replace(/[\s-]/g,`_`);return Bo[r]||Wo(r)}var fs={gray:`#6b7280`,red:`#ef4444`,orange:`#f97316`,yellow:`#eab308`,green:`#22c55e`,blue:`#3b82f6`,indigo:`#6366f1`,purple:`#a855f7`,pink:`#ec4899`};function ps(e,t=`#3b82f6`){return e?fs[e]??t:t}function ms({value:e,field:t}){let n=t,r=n.options||[],i=n.appearance===`dot`?`dot`:`badge`;if((0,d.isEmptyValue)(e))return(0,v.jsx)(m.EmptyValue,{});let a=e=>{let t=r.find(t=>t.value===e);if(t)return t;let n=String(e).toLowerCase();return r.find(e=>String(e.value).toLowerCase()===n)},o=(e,t)=>{let n=a(e),r=n?.label||(wo(e)?String(J(e)):(0,d.humanizeLabel)(String(e)));if(i===`dot`){let i=ls(n?.color),a=Ko(n?.color)||Bo[String(e).toLowerCase().replace(/[\s-]/g,`_`)]||Wo(String(e).toLowerCase().replace(/[\s-]/g,`_`)),o=i?i.className:Ho[a]||Ho.gray;return(0,v.jsxs)(`span`,{className:`inline-flex max-w-full items-center gap-1.5 text-sm`,title:r,children:[(0,v.jsx)(`span`,{className:(0,m.cn)(`h-1.5 w-1.5 rounded-full shrink-0`,o),style:i?.style,"aria-hidden":`true`}),(0,v.jsx)(`span`,{className:`min-w-0 truncate`,children:r})]},t)}let o=cs(n?.color),s=o?o.className:us(n?.color,e);return(0,v.jsx)(m.Badge,{variant:`outline`,className:(0,m.cn)(`max-w-full min-w-0`,s),style:o?.style,title:r,children:(0,v.jsx)(`span`,{className:`truncate`,children:r})},t)};return Array.isArray(e)?(0,v.jsx)(`div`,{className:(0,m.cn)(`flex flex-wrap`,i===`dot`?`gap-x-3 gap-y-1`:`gap-1`),children:e.map((e,t)=>o(e,t))}):o(e)}function hs({value:e}){let t=xo(),[n,r]=u.default.useState(!1);if(!e)return(0,v.jsx)(m.EmptyValue,{});let i=J(e);if(Co(i))return(0,v.jsx)(m.EmptyValue,{});let a=String(i);return wo(e)?(0,v.jsx)(Oo,{text:a}):(0,v.jsxs)(`span`,{className:`inline-flex items-center gap-1 group/email`,children:[(0,v.jsx)(m.Button,{variant:`link`,className:`p-0 h-auto font-normal text-blue-600 hover:text-blue-800`,asChild:!0,children:(0,v.jsx)(`a`,{href:`mailto:${a}`,onClick:e=>e.stopPropagation(),children:a})}),(0,v.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(a).then(()=>{r(!0),setTimeout(()=>r(!1),2e3)}).catch(()=>{})},"aria-label":t(`detail.copyEmail`,`Copy email`),children:n?(0,v.jsx)(h.Check,{className:`h-3 w-3 text-green-600`}):(0,v.jsx)(h.Copy,{className:`h-3 w-3 text-muted-foreground`})})]})}function gs({value:e}){if(!e)return(0,v.jsx)(m.EmptyValue,{});let t=J(e);if(Co(t))return(0,v.jsx)(m.EmptyValue,{});let n=String(t);return wo(e)?(0,v.jsx)(Oo,{text:n}):(0,v.jsx)(m.Button,{variant:`link`,className:`p-0 h-auto font-normal text-blue-600 hover:text-blue-800`,asChild:!0,children:(0,v.jsx)(`a`,{href:n,target:`_blank`,rel:`noopener noreferrer`,onClick:e=>e.stopPropagation(),children:n})})}function _s({value:e}){let t=xo(),[n,r]=u.default.useState(!1);if(!e)return(0,v.jsx)(m.EmptyValue,{});let i=J(e);if(Co(i))return(0,v.jsx)(m.EmptyValue,{});let a=String(i);return wo(e)?(0,v.jsx)(Oo,{text:a}):(0,v.jsxs)(`span`,{className:`inline-flex items-center gap-1 group/phone`,children:[(0,v.jsxs)(`a`,{href:`tel:${a}`,className:`inline-flex items-center gap-1 text-blue-600 hover:text-blue-800`,onClick:e=>e.stopPropagation(),children:[(0,v.jsx)(h.Phone,{className:`h-3 w-3`}),a]}),(0,v.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(a).then(()=>{r(!0),setTimeout(()=>r(!1),2e3)}).catch(()=>{})},"aria-label":t(`detail.copyPhone`,`Copy phone number`),children:n?(0,v.jsx)(h.Check,{className:`h-3 w-3 text-green-600`}):(0,v.jsx)(h.Copy,{className:`h-3 w-3 text-muted-foreground`})})]})}function vs({value:e,field:t}){let n=So();if(!e)return(0,v.jsx)(m.EmptyValue,{});t.multiple;let r=n?.(`fields.file.fileFallback`),i=!r||r===`fields.file.fileFallback`?`File`:r,a=(e,t)=>(0,v.jsx)(K,{view:e,className:`text-sm`,fallback:(0,v.jsx)(Oo,{text:e.name,className:`text-sm`})},t),o=e=>{let t=n?.(`detail.fileCount`,{count:e});return!t||t===`detail.fileCount`?`${e} ${e===1?`file`:`files`}`:t};if(Array.isArray(e)){let t=H(e,i);return t.length===0?(0,v.jsx)(`span`,{className:`text-sm text-gray-600`,children:o(t.length)}):(0,v.jsx)(`span`,{className:`flex min-w-0 max-w-full flex-wrap items-center gap-x-2 gap-y-0.5`,children:t.map((e,t)=>a(e,t))})}return wo(e)&&Object.keys(e).length===0?(0,v.jsx)(m.EmptyValue,{}):a(V(e,i))}function ys(e){return H(e,``).filter(e=>e.url).map(e=>({url:e.url,name:e.name||void 0}))}function bs({value:e}){let{t}=(0,g.useObjectTranslation)(),[n,r]=u.default.useState(null),i=u.default.useMemo(()=>ys(e),[e]);if(!e||i.length===0)return(0,v.jsx)(m.EmptyValue,{});let a=(e,n)=>n||t(`fields.image.imageAlt`,{index:e+1}),o=e=>t=>{t.stopPropagation(),r(e)},s=i.length>1,c=n!==null&&(0,v.jsx)(re,{images:i,index:n,open:!0,onOpenChange:e=>!e&&r(null),onIndexChange:r});return s?(0,v.jsxs)(v.Fragment,{children:[(0,v.jsxs)(`div`,{className:`flex -space-x-2`,children:[i.slice(0,3).map((e,t)=>(0,v.jsx)(`img`,{src:e.url,alt:a(t,e.name),onClick:o(t),className:`size-8 cursor-zoom-in rounded-md border-2 border-background object-cover transition-transform hover:scale-110 hover:z-10`},t)),i.length>3&&(0,v.jsxs)(`button`,{type:`button`,onClick:o(3),className:`size-8 rounded-md border-2 border-background bg-muted flex items-center justify-center text-xs font-medium text-muted-foreground hover:bg-muted/80`,children:[`+`,i.length-3]})]}),c]}):(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(`img`,{src:i[0].url,alt:a(0,i[0].name),onClick:o(0),className:`size-10 cursor-zoom-in rounded-md object-cover transition-transform hover:scale-105`}),c]})}function xs(e){return ys(e.value).length>0?(0,v.jsx)(bs,{...e}):(0,v.jsx)(ko,{...e})}function Ss(e){if(e!=null&&e!==``){if(typeof e==`object`){let t=e.id??e._id;return typeof t==`number`||typeof t==`string`&&t!==``?t:void 0}if(typeof e==`string`||typeof e==`number`)return e}}function Cs({objectName:e,recordId:t,className:n,children:r}){let i=(0,g.useRelatedRecordActions)(),a=e&&t!=null&&t!==``&&i?.recordHref?i.recordHref(e,t):null;return a?(0,v.jsx)(`a`,{href:a,className:(0,m.cn)(`text-primary underline-offset-4 hover:underline`,n),onClick:n=>{n.stopPropagation(),!(n.metaKey||n.ctrlKey||n.shiftKey||n.altKey||n.button!==0)&&i?.openRecord&&(n.preventDefault(),i.openRecord(e,t))},children:r}):(0,v.jsx)(v.Fragment,{children:r})}var ws=3;function Ts({value:e,field:t}){let n=t.reference,r=t.displayField||t.reference_field||void 0,i=_o(n),a=(0,_.usePermissions)(),o=(()=>{if(Array.isArray(e))return e.find(e=>e!=null&&(typeof e==`string`||typeof e==`number`)&&e!==``);if(e!=null&&e!==``&&(typeof e==`string`||typeof e==`number`)&&typeof e!=`object`)return e})(),s=bo(n,o,r,a);if((0,d.isEmptyValue)(e))return(0,v.jsx)(m.EmptyValue,{});if(typeof e==`string`){let t=e.trim();if(t.startsWith(`{`)&&t.endsWith(`}`)){let e=``,o;try{let s=JSON.parse(t);s&&typeof s==`object`&&(e=vo(s,i,r,a,n)||String(s.externalId??s.id??s._id??``),o=Ss(s))}catch{}if(e)return(0,v.jsx)(Cs,{objectName:n,recordId:o,children:(0,v.jsx)(Oo,{text:e})})}}if(!Array.isArray(e)&&typeof e==`object`){let t=e,o=vo(t,i,r,a,n)||String(t.id||t._id||``);if(o)return(0,v.jsx)(Cs,{objectName:n,recordId:Ss(t),children:(0,v.jsx)(Oo,{text:o})})}let c=t.options||[],l=e=>{if(c.length>0){let t=c.find(t=>String(t.value)===String(e));if(t)return{text:t.label,unresolved:!1}}return e===o&&s?{text:s,unresolved:!1}:{text:String(e),unresolved:!0}};if(Array.isArray(e)){let t=e=>{if(typeof e==`object`&&e)return{label:vo(e,i,r,a,n)||String(e.id||e._id||`[Object]`),unresolved:!1};let t=l(e);return{label:t.text,unresolved:t.unresolved}},o=e.slice(0,ws),s=e.slice(ws);return(0,v.jsxs)(`div`,{className:`flex flex-wrap gap-1`,children:[o.map((e,r)=>{let{label:i,unresolved:a}=t(e);return(0,v.jsx)(Cs,{objectName:n,recordId:Ss(e),className:`text-inherit`,children:(0,v.jsx)(`span`,{className:(0,m.cn)(`inline-flex items-center px-2 py-0.5 rounded text-xs font-medium`,a?`bg-muted/40 text-muted-foreground`:`bg-gray-50 text-gray-700 dark:bg-gray-800/50 dark:text-gray-200`),children:a?(0,v.jsx)(Os,{value:i}):i})},r)}),s.length>0&&(0,v.jsxs)(`span`,{className:`inline-flex items-center px-2 py-0.5 rounded text-xs font-medium bg-muted/40 text-muted-foreground`,title:s.map(e=>t(e).label).join(`, `),children:[`+`,s.length]})]})}if(typeof e==`object`&&e){let t=vo(e,i,r,a,n)||String(e.id||e._id||`[Object]`);return(0,v.jsx)(Cs,{objectName:n,recordId:Ss(e),children:(0,v.jsx)(Oo,{text:t})})}let{text:u,unresolved:f}=l(e);return(0,v.jsx)(Cs,{objectName:n,recordId:Ss(e),children:f?(0,v.jsx)(Os,{value:u}):(0,v.jsx)(Oo,{text:u})})}function Es({value:e}){let t=J(e);return(0,d.isEmptyValue)(t)?(0,v.jsx)(m.EmptyValue,{}):(0,v.jsx)(`span`,{className:`text-gray-700 font-mono text-sm`,children:String(t)})}function Ds({value:e,className:t}){let n=So(),r=String(e),i=n?.(`detail.unresolvedReference`,{value:r}),a=!i||i===`detail.unresolvedReference`?`Unresolved reference: ${r} was not resolved to a user`:i;return(0,v.jsx)(ks,{raw:r,hint:a,className:t})}function Os({value:e,className:t}){let n=So(),r=String(e),i=n?.(`detail.unresolvedLookupReference`,{value:r}),a=!i||i===`detail.unresolvedLookupReference`?`Unresolved reference: ${r} was not resolved to a record on this screen`:i;return(0,v.jsx)(ks,{raw:r,hint:a,className:t})}function ks({raw:e,hint:t,className:n}){return(0,v.jsxs)(`span`,{"data-slot":`unresolved-reference`,className:(0,m.cn)(`inline-flex min-w-0 max-w-full items-center gap-1 text-muted-foreground`,n),title:t,children:[(0,v.jsx)(h.CircleQuestionMark,{className:`size-3.5 shrink-0`,"aria-hidden":`true`}),(0,v.jsx)(`span`,{className:`truncate`,children:e})]})}function As({value:e,field:t}){let n=(0,_.usePermissions)(),r=t?.reference||`sys_user`;if((0,d.isEmptyValue)(e)||!e)return(0,v.jsx)(m.EmptyValue,{});if(typeof e!=`object`)return(0,v.jsx)(Ds,{value:e});if(Array.isArray(e))return(0,v.jsxs)(`div`,{className:`flex -space-x-2`,children:[e.slice(0,3).map((e,t)=>{if(typeof e!=`object`||!e)return(0,v.jsx)(Ds,{value:e,className:`text-sm`},t);let i=(0,d.withoutDeniedFields)(e,n,r);if(wo(i)&&Object.keys(i).length===0)return(0,v.jsx)(Oo,{text:String(J(i)),className:`text-sm`},t);let a=i.name||i.username||`User`,o=a.split(` `).map(e=>e[0]).join(``).toUpperCase().slice(0,2);return(0,v.jsxs)(m.Avatar,{className:`size-8 border-2 border-white`,title:a,children:[i.image&&(0,v.jsx)(m.AvatarImage,{src:i.image,alt:a}),(0,v.jsx)(m.AvatarFallback,{className:`bg-blue-500 text-white text-xs`,children:o})]},t)}),e.length>3&&(0,v.jsx)(m.Avatar,{className:`size-8 border-2 border-white`,children:(0,v.jsxs)(m.AvatarFallback,{className:`bg-gray-200 text-gray-600 text-xs`,children:[`+`,e.length-3]})})]});let i=(0,d.withoutDeniedFields)(e,n,r);if(Object.keys(i).length===0)return(0,v.jsx)(Oo,{text:String(J(i))});let a=i.name||i.username||`User`,o=a.split(` `).map(e=>e[0]).join(``).toUpperCase().slice(0,2);return(0,v.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,v.jsxs)(m.Avatar,{className:`size-8`,children:[i.image&&(0,v.jsx)(m.AvatarImage,{src:i.image,alt:a}),(0,v.jsx)(m.AvatarFallback,{className:`bg-blue-500 text-white text-xs`,children:o})]}),(0,v.jsx)(Oo,{text:String(a)})]})}var js=new Map;function Ms(e,t){js.set(e,t)}var Ns={phone:`phone`,tel:`phone`,telephone:`phone`,email:`email`,url:`url`,uri:`url`,link:`url`,currency:`currency`,money:`currency`,percent:`percent`,percentage:`percent`},Ps=new Set([`text`,`textarea`,`string`,`longtext`,``]);function Fs(e){if(!e)return`text`;if(typeof e==`string`)return e;let t=(e.type||``).toLowerCase(),n=e.format,r=typeof n==`string`?n.toLowerCase():``;return r&&Ns[r]&&Ps.has(t)?Ns[r]:e.type||`text`}function Is({value:e}){if((0,d.isEmptyValue)(e)&&!Array.isArray(e))return(0,v.jsx)(m.EmptyValue,{});let t;if(typeof e==`object`)try{t=JSON.stringify(e)}catch{t=String(e)}else t=String(e);return(0,v.jsx)(Oo,{text:t,className:`font-mono text-xs text-gray-600`})}function Ls({value:e}){if((0,d.isEmptyValue)(e))return(0,v.jsx)(m.EmptyValue,{});if(wo(e)){let t=J(e);return Co(t)?(0,v.jsx)(m.EmptyValue,{}):(0,v.jsx)(Oo,{text:String(t)})}let t=String(e);return Co(t)?(0,v.jsx)(m.EmptyValue,{}):(0,v.jsxs)(`span`,{className:`inline-flex items-center gap-1.5 text-sm`,children:[(0,v.jsx)(`span`,{className:`h-3.5 w-3.5 rounded border border-black/10 shrink-0`,style:{backgroundColor:t},"aria-hidden":`true`}),(0,v.jsx)(`span`,{className:`font-mono text-xs`,children:t})]})}function Rs({value:e}){if((0,d.isEmptyValue)(e)&&!Array.isArray(e))return(0,v.jsx)(m.EmptyValue,{});let t,n;if(typeof e==`object`&&!Array.isArray(e)){let r=e;t=typeof r.lat==`number`?r.lat:typeof r.latitude==`number`?r.latitude:void 0,n=typeof r.lng==`number`?r.lng:typeof r.lon==`number`?r.lon:typeof r.longitude==`number`?r.longitude:void 0}else if(Array.isArray(e)&&e.length===2)t=Number(e[0]),n=Number(e[1]);else if(typeof e==`string`){let r=e.split(`,`).map(e=>parseFloat(e.trim()));r.length===2&&!isNaN(r[0])&&!isNaN(r[1])&&([t,n]=r)}return typeof t==`number`&&typeof n==`number`&&!isNaN(t)&&!isNaN(n)?(0,v.jsxs)(`span`,{className:`inline-flex items-center gap-1 text-sm tabular-nums`,children:[(0,v.jsx)(h.MapPin,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground`,"aria-hidden":`true`}),t.toFixed(4),`, `,n.toFixed(4)]}):(0,v.jsx)(Is,{value:e,field:{}})}function zs({value:e}){let t=(0,p.useDisplayLocale)();if((0,d.isEmptyValue)(e)&&!Array.isArray(e))return(0,v.jsx)(m.EmptyValue,{});if(typeof e==`string`)return(0,v.jsx)(Oo,{text:e,className:`text-sm`});if(typeof e==`object`&&!Array.isArray(e)){let n=O(e,t);if(n)return(0,v.jsx)(Oo,{text:n,className:`text-sm`});if(Object.keys(e).length===0)return(0,v.jsx)(m.EmptyValue,{})}return(0,v.jsx)(Is,{value:e,field:{}})}function Bs({value:e}){let t=So(),n=Array.isArray(e)?e.length:0;if(n===0)return(0,v.jsx)(m.EmptyValue,{});let r=t?.(`detail.repeaterItemCount`,{count:n}),i=!r||r===`detail.repeaterItemCount`?`${n} ${n===1?`item`:`items`}`:r;return(0,v.jsx)(`span`,{className:`text-gray-500 italic`,children:i})}function Vs({value:e}){return(0,d.isEmptyValue)(J(e))?(0,v.jsx)(m.EmptyValue,{}):(0,v.jsx)(`span`,{children:`••••••`})}var Hs=new Set([`password`,`secret`]);function Us(e){if(!e)return!1;let t=Ks(),n=js.has(e)?js.get(e):t[e];return n===Vs?!0:Hs.has(e)?!Object.values(t).some(e=>e===n):!1}function Ws({value:e}){return(0,d.isEmptyValue)(e)?(0,v.jsx)(m.EmptyValue,{}):(0,v.jsx)(`span`,{className:`text-gray-500 italic`,children:`[Vector]`})}function Gs({value:e}){return(0,d.isEmptyValue)(e)?(0,v.jsx)(m.EmptyValue,{}):(0,v.jsx)(`span`,{className:`text-gray-500 italic`,children:`[Grid]`})}function Ks(){return{text:ko,textarea:ko,...ye,code:ko,qrcode:ko,number:Ao,currency:jo,percent:Mo,progress:Mo,slider:Ao,rating:Ao,boolean:Po,toggle:Po,date:Ro,datetime:zo,time:ko,select:ms,status:ms,multiselect:ms,radio:ms,checkboxes:ms,tags:ms,lookup:Ts,master_detail:Ts,tree:Ts,email:hs,url:gs,phone:_s,file:vs,video:vs,audio:vs,image:bs,avatar:bs,signature:xs,formula:Es,summary:Es,auto_number:ko,user:As,...Object.fromEntries([...Hs].map(e=>[e,Vs])),location:Rs,geolocation:Rs,address:zs,color:Ls,json:Is,object:Is,composite:Is,record:Is,repeater:Bs,vector:Ws,grid:Gs}}function qs(){return[...new Set([...js.keys(),...Object.keys(Ks())])].sort()}function Js(e){return js.has(e)?js.get(e):((0,d.reportRetiredFieldType)(e),Ks()[e]||ko)}Ms(`lookup`,Ts),Ms(`master_detail`,Ts),Ms(`select`,ms),Ms(`status`,ms),Ms(`user`,As),Se(Js);function Ys(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]}`}var Xs=new WeakMap;function Zs(e){let t=Xs.get(e);return t||(t=(0,f.valueSchemaFor)(e,`stored`),Xs.set(e,t)),t}function Qs(e){return t=>{if((0,d.isMissingForRequired)(t))return!0;let n=Zs(e).safeParse(t);return n.success?!0:`Invalid location: ${n.error.issues.map(e=>`${e.path.join(`.`)||`value`}: ${e.message}`).join(`; `)}`}}function $s(e){let t={};e.required&&(t.required=typeof e.required_message!=`string`||e.required_message);let n=e.minLength;n&&(t.minLength={value:n,message:typeof e.min_length_message==`string`?e.min_length_message:void 0,messageKey:`validation.minLength`});let r=e.maxLength;if(r&&(t.maxLength={value:r,message:typeof e.max_length_message==`string`?e.max_length_message:void 0,messageKey:`validation.maxLength`}),e.min!==void 0&&(t.min={value:e.min,message:typeof e.min_message==`string`?e.min_message:void 0,messageKey:`validation.min`}),e.max!==void 0&&(t.max={value:e.max,message:typeof e.max_message==`string`?e.max_message:void 0,messageKey:`validation.max`}),e.pattern&&(t.pattern={value:typeof e.pattern==`string`?new RegExp(e.pattern):e.pattern,message:typeof e.pattern_message==`string`?e.pattern_message:void 0,messageKey:`validation.pattern`}),e.type===`email`&&(t.pattern={value:/^[^\s@]+@[^\s@]+\.[^\s@]+$/,message:void 0,messageKey:`validation.email`}),e.type===`url`&&(t.pattern={value:/^https?:\/\/.+/,message:void 0,messageKey:`validation.url`}),e.validate&&(t.validate=e.validate),e.type===`location`){let n=t.validate;t.validate={...typeof n==`function`?{validate:n}:n??{},location:Qs(e)}}return Object.keys(t).length>0?t:void 0}function ec(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=>ec(e,t)):e.or&&Array.isArray(e.or)?e.or.some(e=>ec(e,t)):!0}var tc={text:()=>Promise.resolve().then(()=>(Pe(),Me)).then(e=>({default:e.TextField})),textarea:()=>Promise.resolve().then(()=>(ze(),Le)).then(e=>({default:e.TextAreaField})),number:()=>Promise.resolve().then(()=>(Xe(),Je)).then(e=>({default:e.NumberField})),boolean:()=>Promise.resolve().then(()=>(ht(),pt)).then(e=>({default:e.BooleanField})),select:()=>Promise.resolve().then(()=>(Et(),Ct)).then(e=>({default:e.SelectField})),date:()=>Promise.resolve().then(()=>(Vt(),zt)).then(e=>({default:e.DateField})),datetime:()=>Promise.resolve().then(()=>(Wt(),Ht)).then(e=>({default:e.DateTimeField})),time:()=>Promise.resolve().then(()=>(qt(),Gt)).then(e=>({default:e.TimeField})),email:()=>Promise.resolve().then(()=>(Xt(),Jt)).then(e=>({default:e.EmailField})),phone:()=>Promise.resolve().then(()=>($t(),Zt)).then(e=>({default:e.PhoneField})),url:()=>Promise.resolve().then(()=>(nn(),en)).then(e=>({default:e.UrlField})),multiselect:()=>Promise.resolve().then(()=>(St(),bt)).then(e=>({default:e.MultiSelectField})),radio:()=>Promise.resolve().then(()=>(kt(),Dt)).then(e=>({default:e.RadioField})),checkboxes:()=>Promise.resolve().then(()=>(Mt(),At)).then(e=>({default:e.CheckboxesField})),tags:()=>Promise.resolve().then(()=>(Ft(),Nt)).then(e=>({default:e.TagsField})),currency:()=>Promise.resolve().then(()=>($e(),Ze)).then(e=>({default:e.CurrencyField})),percent:()=>Promise.resolve().then(()=>(rt(),et)).then(e=>({default:e.PercentField})),password:()=>Promise.resolve().then(()=>(li(),si)).then(e=>({default:e.PasswordField})),markdown:()=>Promise.resolve().then(()=>(mi(),ui)).then(e=>({default:e.RichTextField})),html:()=>Promise.resolve().then(()=>(mi(),ui)).then(e=>({default:e.RichTextField})),richtext:()=>Promise.resolve().then(()=>(mi(),ui)).then(e=>({default:e.RichTextField})),lookup:()=>Promise.resolve().then(()=>(lr(),Xn)).then(e=>({default:e.LookupField})),master_detail:()=>Promise.resolve().then(()=>(lr(),Xn)).then(e=>({default:e.LookupField})),file:()=>Promise.resolve().then(()=>(ga(),fa)).then(e=>({default:e.FileField})),image:()=>Promise.resolve().then(()=>(Ca(),ba)).then(e=>({default:e.ImageField})),location:()=>Promise.resolve().then(()=>(Ir(),br)).then(e=>({default:e.LocationField})),formula:()=>Promise.resolve().then(()=>(Ea(),wa)).then(e=>({default:e.FormulaField})),summary:()=>Promise.resolve().then(()=>(ka(),Da)).then(e=>({default:e.SummaryField})),auto_number:()=>Promise.resolve().then(()=>(Ma(),Aa)).then(e=>({default:e.AutoNumberField})),user:()=>Promise.resolve().then(()=>(pr(),ur)).then(e=>({default:e.UserField})),object:()=>Promise.resolve().then(()=>(Yr(),Gr)).then(e=>({default:e.ObjectField})),vector:()=>Promise.resolve().then(()=>(Fa(),Na)).then(e=>({default:e.VectorField})),grid:()=>Promise.resolve().then(()=>(io(),Ia)).then(e=>({default:e.GridField})),color:()=>Promise.resolve().then(()=>(gr(),mr)).then(e=>({default:e.ColorField})),slider:()=>Promise.resolve().then(()=>(lt(),st)).then(e=>({default:e.SliderField})),rating:()=>Promise.resolve().then(()=>(ft(),ut)).then(e=>({default:e.RatingField})),code:()=>Promise.resolve().then(()=>(Wr(),Hr)).then(e=>({default:e.CodeField})),avatar:()=>Promise.resolve().then(()=>(so(),ao)).then(e=>({default:e.AvatarField})),address:()=>Promise.resolve().then(()=>(yr(),_r)).then(e=>({default:e.AddressField})),geolocation:()=>Promise.resolve().then(()=>(Vr(),Lr)).then(e=>({default:e.GeolocationField})),signature:()=>Promise.resolve().then(()=>(uo(),co)).then(e=>({default:e.SignatureField})),qrcode:()=>Promise.resolve().then(()=>(Qr(),Xr)).then(e=>({default:e.QRCodeField})),"object-ref":()=>Promise.resolve().then(()=>(xi(),yi)).then(e=>({default:e.ObjectRefField})),"filter-condition":()=>Promise.resolve().then(()=>(Ui(),Si)).then(e=>({default:e.FilterConditionField})),"recipient-picker":()=>Promise.resolve().then(()=>(Xi(),Wi)).then(e=>({default:e.RecipientPickerField}))},nc=tc,rc=Object.freeze(Object.keys(tc));function ic(e){if(nc[e]||d.RETIRED_FIELD_TYPES[e])return e;let t=Oe(e).replace(/^field:/,``);return nc[t]?t:`text`}var ac=new Map;function oc(e){let t=ic(e);if(d.RETIRED_FIELD_TYPES[t])return fc(t);let n=ac.get(t);return n||(n=u.default.lazy(nc[t]),ac.set(t,n)),n}var sc=new Set(`text.html.image.avatar.grid.textarea.select.email.password.slider.markdown.code.time.address.object-ref.filter-condition.recipient-picker.auto_number.boolean.checkboxes.color.currency.date.datetime.file.formula.geolocation.location.lookup.master_detail.multiselect.number.object.percent.phone.qrcode.radio.rating.richtext.signature.summary.tags.url.user.vector`.split(`.`)),cc={text:`control`,textarea:`control`,number:`control`,boolean:`control`,select:`control`,date:`control`,datetime:`control`,time:`control`,email:`control`,phone:`control`,url:`control`,multiselect:`group`,radio:`group`,checkboxes:`group`,tags:`control`,currency:`control`,percent:`control`,password:`control`,markdown:`control`,html:`control`,richtext:`control`,lookup:`control`,master_detail:`control`,file:`group`,image:`control`,location:`control`,formula:`display`,summary:`display`,auto_number:`display`,user:`control`,object:`control`,vector:`display`,grid:`group`,color:`control`,slider:`group`,rating:`group`,code:`control`,avatar:`control`,address:`group`,geolocation:`group`,signature:`group`,qrcode:`control`,"object-ref":`control`,"filter-condition":`control`,"recipient-picker":`control`};function lc(e){let t=nc[e];if(!t){console.warn(`Unknown field type: ${e}`);return}let n=u.default.lazy(t),r=cc[e];d.ComponentRegistry.register(e,w(n),{namespace:`field`,skipFallback:sc.has(e),...r===`control`?null:{labelling:r}})}var uc=e=>{let t=e?.retiredFieldType??e?.field?.type??e?.schema?.type??e?.type??`unknown`,n=d.RETIRED_FIELD_TYPES[t]??`[object-ui] Field type \`${t}\` was retired.`;return u.default.useEffect(()=>{(0,d.reportRetiredFieldType)(t)},[t]),(0,v.jsx)(`div`,{role:`alert`,"data-testid":`field-retired-tombstone`,"data-retired-field-type":t,className:`rounded-md border border-destructive/50 bg-destructive/10 px-3 py-2 text-sm text-destructive`,children:n})},dc=new Map;function fc(e){let t=dc.get(e);if(!t){let n=t=>(0,v.jsx)(uc,{...t,retiredFieldType:e});n.displayName=`RetiredFieldTombstone(${e})`,t=n,dc.set(e,t)}return t}function pc(){Object.keys(tc).forEach(e=>{lc(e)}),Object.keys(d.RETIRED_FIELD_TYPES).forEach(e=>{d.ComponentRegistry.register(e,fc(e),{namespace:`field`,skipFallback:!0})})}pc(),exports.AddressCellRenderer=zs,exports.AddressField=vr,exports.AutoNumberField=ja,exports.AvatarField=oo,exports.BooleanCellRenderer=Po,exports.BooleanField=mt,Object.defineProperty(exports,"CASCADE_OPTION_WIDGET_TYPES",{enumerable:!0,get:function(){return d.CASCADE_OPTION_WIDGET_TYPES}}),exports.CapabilityMultiSelectField=vi,exports.CheckboxesField=jt,exports.CodeField=Ur,exports.ColorField=hr,exports.ColorSwatchCellRenderer=Ls,exports.CurrencyCellRenderer=jo,exports.CurrencyField=Qe,exports.DISCRETE_EDIT_TYPES=ti,exports.DateCellRenderer=Ro,exports.DateField=Bt,exports.DateTimeCellRenderer=zo,exports.DateTimeField=Ut,exports.EmailCellRenderer=hs,exports.EmailField=Yt,exports.FIELD_WIDGET_LABELLING=cc,exports.FILE_STORAGE_BASE_PATH=ue,exports.FILTER_CONDITION_EXTRA_OPERATORS=Bi,exports.FORM_FIELD_TYPES=rc,exports.FieldEditWidget=oi,exports.FileCell=ha,exports.FileCellRenderer=vs,exports.FileField=ma,exports.FilterConditionField=Ri,exports.FormulaCellRenderer=Es,exports.FormulaField=Ta,exports.GeolocationField=Rr,exports.GridField=Qa,exports.HtmlCellRenderer=he,exports.INLINE_EXCLUDED_FIELD_TYPES=ei,exports.ImageCellRenderer=bs,exports.ImageCropperDialog=va,exports.ImageField=xa,exports.JsonCellRenderer=Is,exports.LineItemsField=ro,exports.LocationCellRenderer=Rs,exports.LocationField=Nr,exports.LookupCellRenderer=Ts,exports.LookupField=rr,exports.MASKED_FIELD_TYPES=Hs,exports.MarkdownCellRenderer=Z,exports.MaskedCellRenderer=Vs,exports.MasterDetailField=fo,exports.MultiSelectField=xt,exports.NumberCellRenderer=Ao,exports.NumberField=Ye,exports.ObjectField=Jr,exports.ObjectRefField=bi,exports.PasswordField=ci,exports.PercentCellRenderer=Mo,exports.PercentField=tt,exports.PhoneCellRenderer=_s,exports.PhoneField=Qt,exports.QRCodeField=Zr,Object.defineProperty(exports,"RETIRED_FIELD_TYPES",{enumerable:!0,get:function(){return d.RETIRED_FIELD_TYPES}}),exports.RICH_TEXT_FIELD_TYPES=be,exports.RadioField=Ot,exports.RatingField=dt,exports.RecipientPickerField=qi,exports.RecordPickerDialog=_n,exports.RetiredFieldTombstone=uc,exports.RichTextField=pi,exports.SelectCellRenderer=ms,exports.SelectField=wt,exports.SignatureField=lo,exports.SliderField=ct,exports.SummaryField=Oa,exports.TagsField=Pt,exports.TextAreaField=Re,exports.TextCellRenderer=ko,exports.TextField=Ne,exports.TimeField=Kt,exports.UploadIncompleteError=W,exports.UploadingScopeProvider=Qi,exports.UrlCellRenderer=gs,exports.UrlField=tn,exports.UserCellRenderer=As,exports.UserField=fr,exports.VectorField=Pa,exports.buildValidationRules=$s,exports.coerceToSafeValue=J,exports.computeRow=Ga,exports.condToMongo=Ai,exports.deriveHexBadgePalette=as,exports.deriveLookupColumns=qn,exports.deriveUserFields=Ki,exports.evalArith=Ba,exports.evaluateCondition=ec,exports.fieldHoldsUsers=Gi,exports.fileIdOf=ie,exports.fileUrlFromId=ae,exports.fileValueForSubmit=ce,exports.formatCompactCurrency=To,exports.formatCurrency=L,exports.formatDate=d.formatDate,exports.formatDateTime=d.formatDateTime,exports.formatDateTimeCompactParts=d.formatDateTimeCompactParts,exports.formatFileSize=Ys,exports.formatNumber=Eo,exports.formatPercent=Do,exports.formatRelativeDate=d.formatRelativeDate,Object.defineProperty(exports,"fromDateTimeInputValue",{enumerable:!0,get:function(){return d.fromDateTimeInputValue}}),exports.getBadgeColorClasses=us,exports.getBadgeHexAppearance=cs,exports.getCellRenderer=Js,exports.getDotHexAppearance=ls,exports.getLazyFieldWidget=oc,exports.getSemanticColorName=ds,exports.getSemanticHex=ps,exports.hasFieldEditWidget=ri,exports.humanizeLabel=d.humanizeLabel,exports.isFileIdToken=f.isFileIdToken,exports.isImageValue=se,exports.isInlineExcludedFieldType=ii,exports.isLikelyOpaqueId=yo,exports.isMaskedFieldType=Us,exports.isMatchAllCriteria=Ii,Object.defineProperty(exports,"isRetiredFieldType",{enumerable:!0,get:function(){return d.isRetiredFieldType}}),exports.kvToCondition=Pi,exports.listCellRendererTypes=qs,exports.lookupAutofillPatch=Va,exports.lookupFiltersToRecord=pn,exports.mapFieldTypeToFormType=Oe,exports.parseCapabilityNames=hi,exports.percentCellScale=R,exports.pickRecordDisplayName=mo,exports.readFileValue=V,exports.readFileValues=H,exports.registerAllFields=pc,exports.registerField=lc,exports.registerFieldRenderer=Ms,Object.defineProperty(exports,"reportRetiredFieldType",{enumerable:!0,get:function(){return d.reportRetiredFieldType}}),Object.defineProperty(exports,"resetRetiredFieldTypeReports",{enumerable:!0,get:function(){return d.resetRetiredFieldTypeReports}}),exports.resolveCellRendererType=Fs,Object.defineProperty(exports,"resolveFieldCurrency",{enumerable:!0,get:function(){return p.resolveFieldCurrency}}),exports.resolveFormWidgetType=ic,exports.sumColumn=Za,Object.defineProperty(exports,"toDateInputValue",{enumerable:!0,get:function(){return d.toDateInputValue}}),Object.defineProperty(exports,"toDateTimeInputValue",{enumerable:!0,get:function(){return d.toDateTimeInputValue}}),exports.toDomProps=Q,exports.toHostProps=je,exports.uploadResultView=le,exports.useUploadingScope=Zi,exports.useUploadingSignal=aa,exports.withFieldCarrier=w,exports.withRecentUploads=U;
8
+ `,role:`button`,tabIndex:0,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),c.current?.click())},"aria-invalid":!!a,children:[(0,v.jsx)(h.Upload,{className:`size-8 ${C?`text-primary`:`text-muted-foreground`}`}),(0,v.jsxs)(`div`,{className:`text-center`,children:[(0,v.jsx)(`p`,{className:`text-sm font-medium`,children:C?s(`fields.file.dropFilesHere`,{defaultValue:`Drop files here`}):s(`fields.file.dragDropHere`,{defaultValue:`Drag & drop files here`})}),(0,v.jsx)(`p`,{className:`text-xs text-muted-foreground mt-1`,children:S?s(`fields.file.browseHintCamera`,{defaultValue:`or click to browse • use the camera button below`}):s(`fields.file.browseHint`,{defaultValue:`or click to browse`})})]})]}),S&&(0,v.jsxs)(m.Button,{type:`button`,variant:`outline`,size:`sm`,className:`w-full`,onClick:e=>{e.stopPropagation(),l.current?.click()},"data-testid":`file-field-camera-button`,children:[(0,v.jsx)(h.Camera,{className:`size-4 mr-2`}),S===`user`?s(`fields.file.takeSelfie`,{defaultValue:`Take selfie`}):s(`fields.file.takePhoto`,{defaultValue:`Take photo`})]}),O&&(0,v.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-muted-foreground`,"data-testid":`file-field-uploading`,children:[(0,v.jsx)(h.Loader2,{className:`size-3 animate-spin`}),(0,v.jsx)(`span`,{children:(()=>{let e=Object.keys(k);if(e.length===0)return s(`fields.file.uploading`,{defaultValue:`Uploading…`});let t=Math.round(Object.values(k).reduce((e,t)=>e+t,0)/e.length*100);return s(`fields.file.uploadingPct`,{defaultValue:`Uploading… (${t}%)`,pct:t})})()})]}),D.length>0&&(0,v.jsx)(`div`,{className:`space-y-0.5`,children:D.map((e,t)=>(0,v.jsx)(`p`,{className:`text-xs text-destructive`,children:e},t))}),A.length>0&&(0,v.jsx)(`div`,{className:`space-y-1`,children:A.map((e,t)=>(0,v.jsxs)(`div`,{className:`flex items-center justify-between gap-2 p-2 bg-muted/50 rounded-md border`,children:[(0,v.jsxs)(`div`,{className:`flex items-center gap-2 flex-1 min-w-0`,children:[e.metadataRefused?(0,v.jsx)(h.Lock,{className:`size-4 text-muted-foreground shrink-0`,"aria-hidden":`true`}):J(e)&&e.url?(0,v.jsx)(`img`,{src:e.url,alt:e.name,className:`size-8 object-cover rounded shrink-0`}):J(e)?(0,v.jsx)(h.ImageIcon,{className:`size-4 text-muted-foreground shrink-0`}):(0,v.jsx)(h.File,{className:`size-4 text-muted-foreground shrink-0`}),(0,v.jsx)(ye,{view:e,className:`text-sm`,icon:!1,fallback:(0,v.jsx)(`span`,{className:`text-sm truncate`,children:e.name})}),e.size&&(0,v.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[`(`,(e.size/1024).toFixed(1),` KB)`]})]}),(0,v.jsx)(m.Button,{type:`button`,variant:`ghost`,size:`sm`,onClick:e=>{e.stopPropagation(),F(t)},className:`h-6 w-6 p-0`,children:(0,v.jsx)(h.X,{className:`size-3`})})]},t))})]})]})}function xo({value:e,onChange:t,disabled:n,multiple:r,accept:i,maxSize:a,error:o,"aria-label":s,"data-cell":c}){let{t:l}=(0,p.useObjectTranslation)(),d=(0,u.useRef)(null),f=e?Array.isArray(e)?e:[e]:[],{processFiles:g,errors:_,uploading:y,recent:b}=yo({files:f,multiple:!!r,maxSize:a,onChange:t}),x=Y(q(e,l(`fields.file.fileFallback`,{defaultValue:`File`})),b),S=_e(),C=e=>e.metadataRefused?S.label:e.name,w=e=>{if(r){let n=f.filter((t,n)=>n!==e).map(W);t(n.length>0?n:null)}else t(null)},T=!n&&!y&&(r||f.length===0);return(0,v.jsxs)(`div`,{className:`flex min-h-8 flex-wrap items-center gap-1 px-1 py-0.5`,children:[(0,v.jsx)(`input`,{ref:d,type:`file`,multiple:r,accept:i,onChange:e=>{g(Array.from(e.target.files||[])),e.target.value=``},className:`hidden`}),x.map((e,t)=>(0,v.jsxs)(`span`,{className:`inline-flex max-w-40 items-center gap-1 rounded border bg-muted/50 px-1 py-0.5 text-xs`,title:e.metadataRefused?S.hint:e.name,"data-testid":`file-cell-chip`,children:[e.metadataRefused?(0,v.jsx)(h.Lock,{className:`size-3 shrink-0 text-muted-foreground`,"aria-hidden":`true`}):J(e)&&e.url?(0,v.jsx)(`img`,{src:e.url,alt:e.name,className:`size-5 shrink-0 rounded object-cover`}):(0,v.jsx)(h.File,{className:`size-3 shrink-0 text-muted-foreground`}),(0,v.jsx)(ye,{view:e,icon:!1,fallback:(0,v.jsx)(`span`,{className:`truncate`,children:e.name})}),!n&&(0,v.jsx)(`button`,{type:`button`,className:`shrink-0 rounded p-0.5 text-muted-foreground hover:text-foreground`,"aria-label":l(`fields.file.remove`,{defaultValue:`Remove ${C(e)}`,name:C(e)}),onClick:()=>w(t),children:(0,v.jsx)(h.X,{className:`size-3`})})]},t)),y&&(0,v.jsx)(`span`,{className:`inline-flex items-center gap-1 text-xs text-muted-foreground`,"data-testid":`file-cell-uploading`,children:(0,v.jsx)(h.Loader2,{className:`size-3.5 animate-spin`})}),T&&(0,v.jsxs)(m.Button,{type:`button`,variant:`ghost`,size:`sm`,className:`h-7 gap-1 px-2 text-xs text-muted-foreground hover:text-foreground`,onClick:()=>d.current?.click(),"aria-label":s,"data-cell":c,disabled:n,"aria-invalid":!!o,children:[(0,v.jsx)(h.Upload,{className:`size-3.5`}),f.length===0&&l(`fields.file.upload`,{defaultValue:`Upload`})]}),_.length>0&&(0,v.jsx)(`span`,{className:`w-full truncate text-[11px] text-destructive`,title:_.join(`; `),children:_[0]})]})}var So=o((()=>{$(),At(),fo(),lo(),ho(),_o(),X(),ue()})),Co=s({ImageCropperDialog:()=>wo}),wo,To=o((()=>{H(),wo=({open:e,onOpenChange:t,src:n,outputType:r=`image/png`,outputName:i=`cropped.png`,onConfirm:a})=>{let{t:o}=ie(),s=(0,u.useRef)(null),c=(0,u.useRef)(null),[l,d]=(0,u.useState)(0),[f,p]=(0,u.useState)({x:0,y:0,width:100,height:100}),[g,_]=(0,u.useState)(null),[y,b]=(0,u.useState)(!1);(0,u.useEffect)(()=>{if(!e||!n)return;b(!1);let t=new Image;t.crossOrigin=`anonymous`,t.onload=()=>{c.current=t;let e=t.naturalWidth*.8,n=t.naturalHeight*.8;p({x:(t.naturalWidth-e)/2,y:(t.naturalHeight-n)/2,width:e,height:n}),d(0),b(!0)},t.onerror=()=>b(!1),t.src=n},[e,n]),(0,u.useEffect)(()=>{if(!y||!c.current||!s.current)return;let e=c.current,t=s.current,n=t.getContext(`2d`);if(!n)return;let r=480/e.naturalWidth,i=e.naturalHeight*r;t.width=480,t.height=i,n.clearRect(0,0,480,i),n.save(),n.translate(240,i/2),n.rotate(l*Math.PI/180);let a=l%180==0?480:i,o=l%180==0?i:480;n.drawImage(e,-a/2,-o/2,a,o),n.restore();let u=f.x*r,d=f.y*r,p=f.width*r,m=f.height*r;n.fillStyle=`rgba(0,0,0,0.45)`,n.fillRect(0,0,480,d),n.fillRect(0,d+m,480,i-d-m),n.fillRect(0,d,u,m),n.fillRect(u+p,d,480-u-p,m),n.strokeStyle=`#3b82f6`,n.lineWidth=2,n.strokeRect(u,d,p,m)},[y,f,l]);let x=(0,u.useCallback)(e=>{if(!c.current||!s.current)return;let t=s.current.getBoundingClientRect(),n=c.current.naturalWidth/t.width;_({ox:(e.clientX-t.left)*n,oy:(e.clientY-t.top)*n,cx:f.x,cy:f.y}),e.target.setPointerCapture(e.pointerId)},[f]),S=(0,u.useCallback)(e=>{if(!g||!c.current||!s.current)return;let t=s.current.getBoundingClientRect(),n=c.current.naturalWidth/t.width,r=(e.clientX-t.left)*n-g.ox,i=(e.clientY-t.top)*n-g.oy,a=Math.max(0,Math.min(g.cx+r,c.current.naturalWidth-f.width)),o=Math.max(0,Math.min(g.cy+i,c.current.naturalHeight-f.height));p(e=>({...e,x:a,y:o}))},[g,f.width,f.height]),C=(0,u.useCallback)(()=>_(null),[]),w=(0,u.useCallback)(()=>d(e=>(e+90)%360),[]),T=(0,u.useCallback)(async()=>{if(!c.current)return;let e=c.current,n=document.createElement(`canvas`),o=f.width,s=f.height;n.width=l%180==0?o:s,n.height=l%180==0?s:o;let u=n.getContext(`2d`);if(!u)return;u.save(),u.translate(n.width/2,n.height/2),u.rotate(l*Math.PI/180),u.drawImage(e,f.x,f.y,o,s,-o/2,-s/2,o,s),u.restore();let d=await new Promise(e=>n.toBlob(e,r));d&&(a(d,i),t(!1))},[f,l,i,r,a,t]);return(0,v.jsx)(m.Dialog,{open:e,onOpenChange:t,children:(0,v.jsxs)(m.DialogContent,{className:`max-w-xl`,children:[(0,v.jsxs)(m.DialogHeader,{children:[(0,v.jsx)(m.DialogTitle,{children:`Crop & rotate image`}),(0,v.jsx)(m.DialogDescription,{children:`Drag the highlighted box to reposition the crop. Use the rotate button to spin the image in 90° increments.`})]}),(0,v.jsxs)(`div`,{className:`flex flex-col items-center gap-3`,children:[y?(0,v.jsx)(`canvas`,{ref:s,"data-testid":`image-cropper-canvas`,role:`img`,"aria-label":o(`fields.image.cropPreview`),className:`border rounded-md cursor-move touch-none max-w-full`,onPointerDown:x,onPointerMove:S,onPointerUp:C,onPointerCancel:C}):(0,v.jsx)(`div`,{className:`flex h-[270px] w-full items-center justify-center text-sm text-muted-foreground`,children:`Loading image…`}),(0,v.jsxs)(`div`,{className:`flex w-full items-center justify-between text-xs text-muted-foreground`,children:[(0,v.jsxs)(`span`,{children:[`Crop: `,Math.round(f.width),` × `,Math.round(f.height),` px`]}),(0,v.jsxs)(`span`,{children:[`Rotation: `,l,`°`]})]})]}),(0,v.jsxs)(m.DialogFooter,{className:`flex justify-between sm:justify-between`,children:[(0,v.jsxs)(m.Button,{type:`button`,variant:`outline`,onClick:w,"data-testid":`image-cropper-rotate`,children:[(0,v.jsx)(h.RotateCw,{className:`size-4 mr-2`}),`Rotate 90°`]}),(0,v.jsxs)(`div`,{className:`flex gap-2`,children:[(0,v.jsx)(m.Button,{type:`button`,variant:`ghost`,onClick:()=>t(!1),children:`Cancel`}),(0,v.jsxs)(m.Button,{type:`button`,onClick:T,disabled:!y,"data-testid":`image-cropper-confirm`,children:[(0,v.jsx)(h.Crop,{className:`size-4 mr-2`}),`Apply crop`]})]})]})]})})}})),Eo=s({ImageField:()=>Do});function Do({value:e,onChange:t,field:n,readonly:r,onUploadingChange:i,error:a,...o}){let s=(0,u.useRef)(null),c=n,l=c?.multiple||!1,d=c?.accept?c.accept.join(`,`):`image/*`,f=c?.maxSize,g=c?.crop!==!1,[_,y]=(0,u.useState)(null),[b,x]=(0,u.useState)(null),{upload:S}=(0,w.useUpload)(),{t:C}=(0,p.useObjectTranslation)(),[T,E]=(0,u.useState)(!1),[D,O]=(0,u.useState)([]),[k,ee]=(0,u.useState)({});uo(T,i);let A=ao(),j=e?Array.isArray(e)?e:[e]:[],M=Y(q(e,``),k),N=(0,u.useCallback)((e,t)=>{let n=me(e,t);n.id&&ee(e=>({...e,[n.id]:n}))},[]),P=(0,u.useCallback)(async(e,n)=>{if(!_)return;let r=po(C,{name:n,size:e.size},f);if(r){O([r]),y(null);return}O([]);let i=A();E(!0);try{let r=await S(e),i=pe(r,n);if(N(r,n),l){let e=j.map(W);e[_.index]=i,t(e)}else t(i)}catch(e){O([go(C,n,e)])}finally{i(),E(!1),y(null)}},[_,j,l,t,S,N,f,C,A]),F=(0,u.useCallback)(e=>{let t=M[e];t?.url&&!t.metadataRefused&&y({index:e,src:t.url,name:t.name||`image-${e}.png`})},[M]),I=M.filter(e=>e.url&&!e.metadataRefused).map(e=>({url:e.url,name:e.name})),L=M.some(e=>e.metadataRefused);if(r){if(!e||I.length===0&&!L)return(0,v.jsx)(m.EmptyValue,{});let t=-1;return(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:M.map((e,n)=>{if(e.metadataRefused)return(0,v.jsx)(ve,{view:e,compact:!0,className:`size-20 justify-center rounded-md border border-border bg-muted`},n);if(!e.url)return null;let r=++t,i=I[r];return(0,v.jsxs)(`button`,{type:`button`,onClick:()=>x(r),className:`group relative overflow-hidden rounded-md border border-border focus:outline-none focus:ring-2 focus:ring-ring`,"aria-label":C(`fields.image.enlarge`,{name:i.name||C(`fields.image.imageAlt`,{index:r+1})}),children:[(0,v.jsx)(`img`,{src:i.url,alt:i.name||C(`fields.image.imageAlt`,{index:r+1}),className:`size-20 object-cover transition-transform duration-150 group-hover:scale-105`}),(0,v.jsx)(`span`,{className:`pointer-events-none absolute inset-0 bg-black/0 transition-colors group-hover:bg-black/10`})]},n)})}),b!==null&&(0,v.jsx)(se,{images:I,index:b,open:!0,onOpenChange:e=>!e&&x(null),onIndexChange:x})]})}let R=async e=>{let n=Array.from(e.target.files||[]);if(s.current&&(s.current.value=``),n.length===0)return;let r=[],i=n.filter(e=>{let t=po(C,e,f);return!t||(r.push(t),!1)});if(O(r),i.length===0)return;let a=[],o=A();E(!0);try{let e=await Promise.all(i.map(async e=>{try{let t=await S(e),n=pe(t,e.name);return N(t,e.name),n}catch(t){return a.push(go(C,e.name,t)),null}}));a.length>0&&O([...r,...a]);let n=e.filter(e=>e!==null);if(n.length===0)return;t(l?[...j.map(W),...n]:n[0])}finally{o(),E(!1)}},z=e=>{if(l){let n=j.filter((t,n)=>n!==e).map(W);t(n.length>0?n:null)}else t(null)};return(0,v.jsxs)(`div`,{className:o.className,children:[(0,v.jsx)(`input`,{ref:s,type:`file`,multiple:l,accept:d,onChange:R,className:`hidden`}),(0,v.jsxs)(`div`,{className:`space-y-2`,children:[M.length>0&&(0,v.jsx)(`div`,{className:`grid grid-cols-4 gap-2`,children:M.map((e,t)=>(0,v.jsxs)(`div`,{className:`relative group`,children:[e.metadataRefused?(0,v.jsx)(ve,{view:e,compact:!0,className:`size-20 justify-center rounded-md border border-gray-200 bg-muted`}):(0,v.jsx)(`img`,{src:e.url||``,alt:e.name||C(`fields.image.imageAlt`,{index:t+1}),className:`size-20 rounded-md object-cover border border-gray-200`}),(0,v.jsxs)(`div`,{className:`absolute top-1 right-1 flex gap-1 opacity-0 group-hover:opacity-100 transition-opacity`,children:[g&&!e.metadataRefused&&(0,v.jsx)(m.Button,{type:`button`,variant:`secondary`,size:`sm`,onClick:()=>F(t),className:`h-6 w-6 p-0`,"aria-label":C(`fields.image.crop`,{index:t+1}),"data-testid":`image-field-crop-${t}`,children:(0,v.jsx)(h.Crop,{className:`size-3`})}),(0,v.jsx)(m.Button,{type:`button`,variant:`destructive`,size:`sm`,onClick:()=>z(t),className:`h-6 w-6 p-0`,"aria-label":C(`fields.image.remove`,{index:t+1}),children:(0,v.jsx)(h.X,{className:`size-3`})})]})]},t))}),(0,v.jsxs)(m.Button,{...Q(o),type:`button`,variant:`outline`,onClick:()=>s.current?.click(),className:`w-full`,disabled:T,"data-testid":`image-field-upload-button`,"aria-invalid":!!a,children:[T?(0,v.jsx)(h.Loader2,{className:`size-4 mr-2 animate-spin`}):(0,v.jsx)(h.Image,{className:`size-4 mr-2`}),T?C(`fields.image.uploading`):j.length>0?C(`fields.image.addMore`):C(`fields.image.upload`)]}),D.length>0&&(0,v.jsx)(`div`,{className:`space-y-0.5`,children:D.map((e,t)=>(0,v.jsx)(`p`,{className:`text-xs text-destructive`,children:e},t))})]}),g&&_&&(0,v.jsx)(u.Suspense,{fallback:null,children:(0,v.jsx)(Oo,{open:!0,onOpenChange:e=>!e&&y(null),src:_.src,outputName:_.name,onConfirm:P})})]})}var Oo,ko=o((()=>{$(),fo(),lo(),ho(),_o(),X(),ue(),be(),Oo=(0,u.lazy)(()=>Promise.resolve().then(()=>(To(),Co)).then(e=>({default:e.ImageCropperDialog})))})),Ao=s({FormulaField:()=>jo});function jo({value:e,field:t,...n}){let r=(0,p.useDisplayLocale)(),i=U(),a=Z(e);if((0,d.isEmptyValue)(a))return(0,v.jsx)(m.EmptyValue,{className:n.className});let o=t?.returnType??(typeof e==`number`?`number`:`text`),s=`text-sm ${n.className||``}`;if(o===`number`){if(typeof a==`string`&&a.trim()===``)return(0,v.jsx)(m.EmptyValue,{className:n.className});let e=Number(a),i=isNaN(e)?String(a):R(e,t,r);return(0,v.jsx)(`span`,{className:s,children:i})}if(o===`currency`){if(typeof a==`string`&&a.trim()===``)return(0,v.jsx)(m.EmptyValue,{className:n.className});let e=Number(a);return isNaN(e)?(0,v.jsx)(`span`,{className:s,children:String(a)}):(0,v.jsx)(St,{value:e,onChange:n.onChange,field:t,readonly:!0})}return o===`boolean`?typeof e==`boolean`?(0,v.jsx)(`span`,{className:s,children:i(e)}):(0,v.jsx)(m.EmptyValue,{className:n.className}):o===`date`?!a||isNaN((0,d.toDisplayDate)(a).getTime())?(0,v.jsx)(m.EmptyValue,{className:n.className}):(0,v.jsx)(`span`,{className:s,children:(0,d.formatDate)(a,void 0,{locale:r})}):(0,v.jsx)(`span`,{className:s,children:String(a)})}var Mo=o((()=>{oe(),ne(),Ct(),xe()})),No=s({SummaryField:()=>Po});function Po({value:e,field:t,...n}){let r=(0,p.useDisplayLocale)(),i=Z(e);if((0,d.isEmptyValue)(i))return(0,v.jsx)(m.EmptyValue,{className:n.className});let a=typeof e==`number`&&!isNaN(e)?R(e,t,r):String(i);return(0,v.jsx)(`span`,{className:`text-sm font-medium tabular-nums text-gray-700 ${n.className||``}`,children:a})}var Fo=o((()=>{ne(),xe()})),Io=s({AutoNumberField:()=>Lo});function Lo({value:e,field:t,...n}){return e==null?(0,v.jsx)(m.EmptyValue,{className:n.className}):(0,v.jsx)(`span`,{className:`text-sm font-mono text-gray-700 ${n.className||``}`,children:String(e)})}var Ro=o((()=>{})),zo=s({VectorField:()=>Bo});function Bo({value:e,field:t,...n}){let r=t?.dimensions||(Array.isArray(e)?e.length:0);if(!e||!Array.isArray(e))return(0,v.jsx)(m.EmptyValue,{});let i=e.slice(0,3).map(e=>{let t=Number(e);return isNaN(t)?`0`:t.toFixed(4)}).join(`, `);return(0,v.jsxs)(`div`,{className:`text-sm ${n.className||``}`,children:[(0,v.jsxs)(`span`,{className:`font-mono text-gray-700`,children:[`[`,i,`...]`]}),(0,v.jsxs)(`span`,{className:`text-gray-500 ml-2`,children:[`(`,r,`D)`]})]})}var Vo=o((()=>{})),Ho=s({GridField:()=>ss,LineItemsField:()=>ms,computeRow:()=>Zo,evalArith:()=>Ko,lookupAutofillPatch:()=>qo,sumColumn:()=>rs});function Uo(e){if(e.width)return{width:e.width,minWidth:e.width};if((e.type??`text`)===`text`)return{minWidth:180};let t=us[e.type??`text`]??132;return{width:t,minWidth:t}}function Wo(e){let t=[],n=0;for(;n<e.length;){let r=e[n];if(r===` `||r===` `||r===`
9
+ `){n++;continue}if(r>=`0`&&r<=`9`||r===`.`){let r=n+1;for(;r<e.length&&(e[r]>=`0`&&e[r]<=`9`||e[r]===`.`);)r++;t.push({t:`num`,v:e.slice(n,r)}),n=r;continue}if(/[a-zA-Z_]/.test(r)){let r=n+1;for(;r<e.length&&/[a-zA-Z0-9_.]/.test(e[r]);)r++;t.push({t:`id`,v:e.slice(n,r)}),n=r;continue}if(r===`+`||r===`-`||r===`*`||r===`/`||r===`%`){t.push({t:`op`,v:r}),n++;continue}if(r===`(`){t.push({t:`lp`,v:r}),n++;continue}if(r===`)`){t.push({t:`rp`,v:r}),n++;continue}return null}return t}function Go(e,t){let n=e.startsWith(`record.`)?e.slice(7):e,r=t?.[n];if(r==null||r===``)return null;let i=Number(r);return Number.isFinite(i)?i:null}function Ko(e,t){let n=Wo(e);if(!n||n.length===0)return null;let r=0,i=!1,a=()=>n[r],o=()=>n[r++];function s(){let e=a();if(!e)return i=!0,NaN;if(e.t===`op`&&e.v===`-`)return o(),-s();if(e.t===`op`&&e.v===`+`)return o(),s();if(e.t===`num`)return o(),Number(e.v);if(e.t===`id`){o();let n=Go(e.v,t);return n===null?(i=!0,NaN):n}if(e.t===`lp`){o();let e=l(),t=o();return(!t||t.t!==`rp`)&&(i=!0),e}return i=!0,NaN}function c(){let e=s();for(;a()&&a().t===`op`&&(a().v===`*`||a().v===`/`||a().v===`%`);){let t=o().v,n=s();e=t===`*`?e*n:t===`/`?e/n:e%n}return e}function l(){let e=c();for(;a()&&a().t===`op`&&(a().v===`+`||a().v===`-`);){let t=o().v,n=c();e=t===`+`?e+n:e-n}return e}let u=l();return i||r!==n.length||!Number.isFinite(u)?null:u}function qo(e,t,n){let r={[t.name]:n?.value??n?.id??n?._id};if(t.autofill!==!1&&n&&typeof n==`object`)for(let i of e){if(i.name===t.name||i.computed||i.type===`lookup`)continue;let e=n[i.name];e!=null&&e!==``&&(r[i.name]=e)}return r}function Jo(e){return(0,p.resolveFieldCurrency)(void 0,e)}function Yo(e){return e?M(e):void 0}function Xo(e,t){return e.type===`currency`?Yo(Jo(t)):e.scale}function Zo(e,t,n){let r=e.filter(e=>e.computed&&e.expr);if(r.length===0)return t;let i={...t};for(let e of r){let t=Ko(e.expr,i);if(t===null){i[e.name]=null;continue}let r=Xo(e,n);i[e.name]=r==null?t:Number(t.toFixed(r))}return i}function Qo(e,t,n){let r=String(t);if(e===`time`)return r;if(e===`date`){let e=(0,d.toDateInputValue)(t);if(!e)return r;let i=(0,d.toDisplayDate)(e);return Number.isNaN(i.getTime())?r:(0,d.formatDate)(i,void 0,{locale:n})}if(Number.isNaN((0,d.toDisplayDate)(t instanceof Date?t:r).getTime()))return r;let i=t instanceof Date?t:new Date(r);return(0,d.formatDateTime)(i,{style:`compact`,locale:n})}function $o(e,t,n){return e.prefix?e.prefix:t?N(t,n):``}function es(e,t,n,r){let i=Yo(n),a=i===void 0?{}:{minimumFractionDigits:i,maximumFractionDigits:i};if(e.prefix||!n)return`${$o(e,n,r)}${(0,p.formatDisplayNumber)(t,{locale:r,...a})}`;try{return(0,p.formatDisplayNumber)(t,{locale:r,currency:n,...a})}catch{return`${n} ${t.toFixed(i)}`}}function ts(e,t,n,r,i){if(t==null||t===``)return`—`;if(fs(e.type))return Qo(e.type,t,n);if(e.type===`file`){let e=Array.isArray(t)?t:[t];if(e.length===0)return`—`;if(e.length>1)return r.count(e.length);let n=e[0];return typeof n==`string`?n:n?.name||n?.original_name||r.nameless}if(e.type===`select`&&Array.isArray(e.options)){let n=e.options.find(e=>String(e.value)===String(t));return n?n.label:String(t)}if(ls(e.type)){let r=Number(t);if(Number.isFinite(r))return e.type===`currency`?es(e,r,i,n):r.toLocaleString(n)}return Array.isArray(t)?t.join(`, `):String(t)}function ns(e,t){if(ls(e)){if(t===``||t==null)return null;let e=Number(t);return Number.isNaN(e)?t:e}return e===`datetime`?(0,d.fromDateTimeInputValue)(t):t}function rs(e,t){return Array.isArray(e)?e.reduce((e,n)=>{let r=Number(n?.[t]);return e+(Number.isFinite(r)?r:0)},0):0}function is(e){if(typeof e!=`object`||!e)return[];let t=e;return Object.keys(C.GRID_FIELD_RETIRED_KEYS).filter(e=>t[e]!==void 0)}function as(e,t){return`[object-ui] ${typeof e==`string`&&e?`Grid field \`${e}\``:`This grid field`} carries retired snake_case key(s): ${t.map(e=>`\`${e}\` → \`${C.GRID_FIELD_RETIRED_KEYS[e]}\``).join(`, `)}. The grid's field-level keys are camelCase since objectui#11610 and it reads no snake_case spelling, so the grid is not drawn until each key is renamed; the values stay the same.`}function os({message:e,keys:t}){return u.default.useEffect(()=>{ps.has(e)||(ps.add(e),console.error(e))},[e]),(0,v.jsx)(`div`,{role:`alert`,"data-testid":`grid-field-retired-keys`,"data-retired-keys":t.join(` `),className:`rounded-md border border-destructive/50 bg-destructive/10 px-3 py-2 text-sm text-destructive`,children:e})}function ss(e){let t=is(e.field);if(t.length>0){let n=as(e.field?.name,t);return(0,v.jsx)(os,{message:n,keys:t})}return(0,v.jsx)(cs,{...e})}function cs({value:e,onChange:t,field:n,readonly:r,disabled:i,className:a,error:o,onRowExpand:s,displayMode:c,onAdd:l,...f}){let g=n||{},_=g.columns||[],y=Array.isArray(e)?e:[],b=f.contextRecord,x=(0,p.useDisplayLocale)(),{t:S}=ie(),C=S(`view.dragToReorder`,{defaultValue:`Drag to reorder`}),w=S(`fields.grid.openRow`,{defaultValue:`Open row`}),T=S(`fields.grid.duplicateRow`,{defaultValue:`Duplicate row`}),E=S(`fields.grid.removeRow`,{defaultValue:`Remove row`}),D=S(`form.masterDetail.total`,{defaultValue:`Total`}),O=e=>S(`validation.required`,{field:e.label||e.name,defaultValue:`{{field}} is required`}),k={count:e=>S(`detail.fileCount`,{count:e,defaultValue:`{{count}} files`}),nameless:S(`fields.file.fileFallback`,{defaultValue:`File`})},ee=(e,t,n,r)=>ts(e,t,n,k,r),A=u.default.useId(),{currency:j}=(0,p.useLocalization)(),M=Jo(j),N=(0,u.useCallback)((e,t)=>{if(!e.readonlyWhen&&!e.requiredWhen)return{readonly:!1,required:!!e.required};let n=(0,d.resolveFieldRuleState)({readonlyWhen:e.readonlyWhen,requiredWhen:e.requiredWhen},t||{},{required:!!e.required,readonly:!1},void 0,b?{parent:b}:void 0);return{readonly:n.readonly,required:n.required}},[b]),P=c===`list`&&!r,[F,I]=u.default.useState(()=>new Set),L=_.filter(e=>e.defaultHidden&&!e.required),R=_.filter(e=>!e.defaultHidden||e.required||F.has(e.name)),z=(0,u.useCallback)(e=>{I(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),B=g.allowAdd!==!1&&!r&&!i,V=g.allowDelete!==!1&&!r&&!i,te=B,ne=typeof s==`function`&&!r,re=g.minRows??0,H=g.maxRows,U=g.totalField,ae=g.sortField,oe=g.allowReorder!==!1&&!r&&!i,se=(0,u.useCallback)((e,n=!0)=>{t?.(ae&&n?e.map((e,t)=>({...e,[ae]:t})):e)},[t,ae]),ce=(0,u.useCallback)(()=>{let e={};for(let t of R)e[t.name]=null;return e},[R]),le=(0,u.useCallback)((e,t)=>{if(e>=y.length){if(H!=null&&y.length>=H)return;se([...y,Zo(R,{...ce(),...t},j)]);return}se(y.map((n,r)=>r===e?Zo(R,{...n,...t},j):n),!1)},[y,R,H,ce,se,j]),W=(0,u.useCallback)((e,t,n)=>le(e,{[t]:n}),[le]),ue=(0,u.useCallback)((e,t,n)=>{le(e,qo(R,t,n))},[R,le]),de=(0,u.useCallback)((e,t,n)=>W(e,t,n),[W]),G=(0,u.useCallback)((e,t,n)=>{W(e,t.name,ns(t.type,n))},[W]),K=(0,u.useCallback)(()=>{H!=null&&y.length>=H||se([...y,ce()])},[y,ce,H,se]),fe=(0,u.useRef)(null),q=(0,u.useCallback)((e,t)=>{let n=fe.current?.querySelector(`[data-cell="${e}-${t}"]`);n&&(n.focus(),n instanceof HTMLInputElement&&n.select())},[]),J=(0,u.useCallback)((e,t,n)=>{e.key===`ArrowDown`||e.key===`Enter`?(e.preventDefault(),q(t+1,n)):e.key===`ArrowUp`&&(e.preventDefault(),t>0&&q(t-1,n))},[q]),pe=(0,u.useCallback)(e=>{y.length<=re||se(y.filter((t,n)=>n!==e))},[y,re,se]),me=(0,u.useCallback)(e=>{if(H!=null&&y.length>=H)return;let t=y[e];if(!t)return;let{id:n,_id:r,recordId:i,...a}=t,o=[...y];o.splice(e+1,0,{...a}),se(o)},[y,H,se]),Y=(0,u.useCallback)((e,t)=>{if(e===t||e<0||t<0||e>=y.length||t>=y.length)return;let n=[...y],[r]=n.splice(e,1);n.splice(t,0,r),se(n)},[y,se]),he=(0,u.useRef)(null),ge=ne||V||te,X=(+!!ne+ +!!te+ +!!V)*34+12,_e=!!U,ve=_e?rs(y,U):0,ye=_e?Math.max(0,R.findIndex(e=>e.name===U)):-1,be=L.length>0?(0,v.jsxs)(m.Popover,{children:[(0,v.jsx)(m.PopoverTrigger,{asChild:!0,children:(0,v.jsxs)(m.Button,{type:`button`,variant:`ghost`,size:`sm`,className:`h-7 gap-1.5 text-xs text-muted-foreground`,"data-testid":`line-items-columns`,children:[(0,v.jsx)(h.SlidersHorizontal,{className:`h-3.5 w-3.5`}),S(`table.columns`,{defaultValue:`Columns`}),F.size>0&&(0,v.jsxs)(`span`,{className:`rounded-full bg-primary/10 px-1.5 text-[10px] font-medium text-primary`,children:[`+`,F.size]})]})}),(0,v.jsxs)(m.PopoverContent,{align:`end`,className:`w-56 p-2`,children:[(0,v.jsx)(`div`,{className:`px-1 pb-1.5 text-xs font-medium text-muted-foreground`,children:S(`fields.grid.optionalColumns`,{defaultValue:`Optional columns`})}),(0,v.jsx)(`div`,{className:`max-h-64 space-y-0.5 overflow-y-auto`,children:L.map(e=>{let t=`col-toggle-${e.name}`;return(0,v.jsxs)(m.Label,{htmlFor:t,className:`flex cursor-pointer items-center gap-2 rounded-md px-1.5 py-1.5 text-sm font-normal hover:bg-muted`,children:[(0,v.jsx)(m.Checkbox,{id:t,checked:F.has(e.name),onCheckedChange:()=>z(e.name)}),(0,v.jsx)(`span`,{className:`truncate`,children:e.label||e.name})]},e.name)})})]})]}):null;if(r)return(0,v.jsxs)(`div`,{...Ot(f,`instead-of-the-inputs`),className:(0,m.cn)(`space-y-2`,a),children:[be&&(0,v.jsx)(`div`,{className:`flex justify-end`,children:be}),(0,v.jsx)(`div`,{className:`border border-border rounded-lg overflow-x-auto`,"data-testid":`line-items-readonly`,children:(0,v.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,v.jsx)(`thead`,{className:`bg-muted border-b border-border`,children:(0,v.jsxs)(`tr`,{children:[(0,v.jsx)(`th`,{className:`w-10 px-2 py-2 text-right text-xs font-medium text-muted-foreground`,children:`#`}),R.map(e=>(0,v.jsx)(`th`,{style:{minWidth:ds(e)},className:(0,m.cn)(`px-3 py-2 text-xs font-medium text-muted-foreground whitespace-nowrap`,ls(e.type)?`text-right`:`text-left`),children:e.label||e.name},e.name))]})}),(0,v.jsx)(`tbody`,{className:`divide-y divide-border`,children:y.length===0?(0,v.jsx)(`tr`,{children:(0,v.jsx)(`td`,{colSpan:R.length+1,className:`px-3 py-6 text-center text-muted-foreground`,children:S(`fields.grid.noItems`,{defaultValue:`No items`})})}):y.map((e,t)=>(0,v.jsxs)(`tr`,{children:[(0,v.jsx)(`td`,{className:`px-2 py-2 text-right text-muted-foreground tabular-nums`,children:t+1}),R.map(t=>(0,v.jsx)(`td`,{className:(0,m.cn)(`px-3 py-2 text-foreground`,ls(t.type)&&`text-right tabular-nums`),children:t.type===`lookup`&&e[t.name]!=null&&e[t.name]!==``?(0,v.jsx)(jr,{value:e[t.name],onChange:()=>{},readonly:!0,field:{reference:t.reference,displayField:t.displayField,idField:t.idField}}):ee(t,e[t.name],x,M)},t.name))]},t))}),_e&&(0,v.jsx)(`tfoot`,{className:`border-t border-border bg-muted/40`,children:(0,v.jsxs)(`tr`,{children:[(0,v.jsx)(`td`,{colSpan:1+ye,className:`px-3 py-2 text-right text-xs font-medium text-muted-foreground`,children:D}),(0,v.jsx)(`td`,{className:`px-3 py-2 text-right font-semibold text-foreground tabular-nums`,children:ve.toLocaleString(x)}),R.length-ye-1>0&&(0,v.jsx)(`td`,{colSpan:R.length-ye-1})]})})]})})]});let Z=!P&&B&&(H==null||y.length<H),xe=Z?[...y,ce()]:y,Se=!!o&&y.length===0,Ce=(e,t,n,r,a=!1)=>{let o=r?.[e.name],s=i||N(e,r).readonly;if(P)return e.type===`lookup`&&o!=null&&o!==``?(0,v.jsx)(jr,{value:o,onChange:()=>{},readonly:!0,field:{reference:e.reference,displayField:e.displayField,idField:e.idField}}):(0,v.jsx)(`span`,{className:(0,m.cn)(`px-2 text-sm text-foreground`,ls(e.type)&&`tabular-nums`,(o==null||o===``)&&`text-muted-foreground`),children:ee(e,o,x,M)});if(e.computed)return(0,v.jsx)(`span`,{className:(0,m.cn)(`block px-2 text-sm tabular-nums`,ls(e.type)?`text-right`:`text-left`,o==null||o===``?`text-muted-foreground`:`text-foreground`),title:S(`fields.grid.computed`,{defaultValue:`Computed`}),"data-computed":e.name,children:ee(e,o,x,M)});if(e.type===`lookup`)return(0,v.jsx)(jr,{value:o,onChange:t=>de(n,e.name,t),onSelectRecord:t=>ue(n,e,t),compact:!0,field:{reference:e.reference,displayField:e.displayField,idField:e.idField,multiple:e.multiple,options:e.options,placeholder:`—`},disabled:s,error:a?O(e):void 0});if(e.type===`file`)return(0,v.jsx)(xo,{value:o,onChange:t=>de(n,e.name,t),multiple:e.multiple,accept:Array.isArray(e.accept)&&e.accept.length>0?e.accept.join(`,`):void 0,disabled:s,"aria-label":e.label||e.name,"data-cell":`${n}-${t}`,error:a?O(e):void 0});if(e.type===`select`)return(0,v.jsxs)(m.Select,{value:o==null?``:String(o),onValueChange:t=>G(n,e,t),disabled:s,children:[(0,v.jsx)(m.SelectTrigger,{className:`h-8 rounded-none border-0 bg-transparent px-2 shadow-none focus:ring-1 focus:ring-ring/60`,"aria-label":e.label||e.name,"aria-invalid":a||void 0,children:(0,v.jsx)(m.SelectValue,{placeholder:`—`})}),(0,v.jsx)(m.SelectContent,{children:(e.options||[]).map(e=>(0,v.jsx)(m.SelectItem,{value:e.value,children:e.label},e.value))})]});let c=e.type===`currency`?$o(e,M,x):``,l=(e.type===`date`||e.type===`datetime`)&&(0,d.isImpossibleStoredDay)(o),u=l?`${A}-impossible-${n}-${t}`:void 0;return(0,v.jsxs)(`div`,{className:`relative`,children:[c&&(0,v.jsx)(`span`,{className:`pointer-events-none absolute left-2 top-1/2 -translate-y-1/2 text-xs text-muted-foreground`,children:c}),(0,v.jsx)(m.Input,{"data-cell":`${n}-${t}`,"aria-invalid":a||l||void 0,"aria-describedby":u,onKeyDown:e=>J(e,n,t),className:(0,m.cn)(`h-8 rounded-none border-0 bg-transparent px-2 shadow-none focus-visible:ring-1 focus-visible:ring-ring/60`,c&&`pl-6`,ls(e.type)&&`text-right tabular-nums`),type:e.type===`date`?`date`:e.type===`datetime`?`datetime-local`:e.type===`time`?`time`:ls(e.type)?`number`:`text`,step:ls(e.type)?e.step??`any`:void 0,"aria-label":e.label||e.name,value:e.type===`date`?l?``:(0,d.toDateInputValue)(o):e.type===`datetime`?(0,d.toDateTimeInputValue)(o):o==null?``:String(o),onChange:t=>G(n,e,t.target.value),disabled:s}),l&&(0,v.jsx)(`p`,{id:u,className:`px-2 pb-1 text-xs text-destructive`,"data-testid":`line-items-impossible-day-${n}-${e.name}`,children:S(e.type===`date`?`fields.date.impossibleDay`:`fields.dateTime.impossibleDay`,{value:String(o)})})]})},{"aria-invalid":we,name:Te,...Ee}=Q(f),De=Ee[`aria-labelledby`]!=null;return(0,v.jsxs)(`div`,{...Ee,role:De?`group`:void 0,className:(0,m.cn)(`space-y-2`,a),"data-testid":`line-items`,children:[be&&(0,v.jsx)(`div`,{className:`flex justify-end`,children:be}),(0,v.jsx)(`div`,{className:`border border-border rounded-lg overflow-x-auto`,children:(0,v.jsxs)(`table`,{ref:fe,className:`w-full text-sm`,children:[(0,v.jsx)(`thead`,{className:`bg-muted/60 border-b border-border`,children:(0,v.jsxs)(`tr`,{children:[(0,v.jsx)(`th`,{className:(0,m.cn)(`px-2 py-2 text-right text-xs font-medium text-muted-foreground`,oe?`w-14`:`w-10`),children:`#`}),R.map(e=>(0,v.jsxs)(`th`,{className:(0,m.cn)(`px-2 py-2 text-xs font-medium text-muted-foreground whitespace-nowrap`,ls(e.type)?`text-right`:`text-left`),style:Uo(e),children:[e.label||e.name,e.required&&!e.computed&&(0,v.jsx)(`span`,{className:`text-destructive`,children:` *`})]},e.name)),ge&&(0,v.jsx)(`th`,{style:{width:X}})]})}),(0,v.jsx)(`tbody`,{className:`divide-y divide-border`,children:P&&y.length===0?(0,v.jsx)(`tr`,{children:(0,v.jsx)(`td`,{colSpan:R.length+ +!!ge+1,className:`px-3 py-6 text-center text-muted-foreground`,children:S(`fields.grid.noItemsAddHint`,{label:g.addLabel||S(`detail.add`,{defaultValue:`Add`}),defaultValue:`No items yet — click “{{label}}” to begin.`})})}):xe.map((e,t)=>{let n=Z&&t===y.length,r=oe&&!n&&!P;return(0,v.jsxs)(`tr`,{className:(0,m.cn)(`group`,!n&&`hover:bg-muted/30`),...oe&&!n?{onDragOver:e=>{he.current!=null&&e.preventDefault()},onDrop:e=>{e.preventDefault(),he.current!=null&&(Y(he.current,t),he.current=null)}}:{},children:[(0,v.jsx)(`td`,{className:`px-1 py-1 text-right align-middle text-xs text-muted-foreground tabular-nums`,children:(0,v.jsxs)(`span`,{className:`inline-flex items-center justify-end gap-0.5`,children:[r&&(0,v.jsx)(`span`,{draggable:!0,onDragStart:()=>{he.current=t},onDragEnd:()=>{he.current=null},className:`cursor-grab text-muted-foreground/40 opacity-0 transition-opacity group-hover:opacity-100`,title:C,"aria-label":C,"data-testid":`line-items-drag-${t}`,children:(0,v.jsx)(h.GripVertical,{className:`h-3.5 w-3.5`})}),(0,v.jsx)(`span`,{className:(0,m.cn)(n&&`opacity-30`),children:t+1})]})}),R.map((r,i)=>{let a=N(r,e).required,o=(!n||Se)&&!P&&a&&!r.computed&&(e[r.name]==null||e[r.name]===``);return(0,v.jsx)(`td`,{title:o?O(r):void 0,"data-testid":o?`line-items-invalid-${t}-${r.name}`:void 0,className:(0,m.cn)(`border-r border-border/40 px-1 py-0.5 align-middle last:border-r-0`,P&&`px-2 py-1.5`,o&&`bg-destructive/5 ring-1 ring-inset ring-destructive/50`),children:Ce(r,i,t,e,o)},r.name)}),ge&&(0,v.jsx)(`td`,{className:`px-1 py-0.5 align-middle whitespace-nowrap`,children:(0,v.jsxs)(`div`,{className:`flex items-center justify-center gap-0.5`,children:[!n&&ne&&(0,v.jsx)(m.Button,{type:`button`,variant:`ghost`,size:`icon`,className:`h-8 w-8 text-muted-foreground hover:text-foreground`,"aria-label":w,title:w,"data-testid":`line-items-expand-${t}`,onClick:()=>s(t),children:(0,v.jsx)(h.Maximize2,{className:`h-3.5 w-3.5`})}),!n&&te&&(0,v.jsx)(m.Button,{type:`button`,variant:`ghost`,size:`icon`,className:`h-8 w-8 text-muted-foreground hover:text-foreground`,"aria-label":T,title:T,"data-testid":`line-items-duplicate-${t}`,onClick:()=>me(t),disabled:i||H!=null&&y.length>=H,children:(0,v.jsx)(h.Copy,{className:`h-3.5 w-3.5`})}),!n&&V&&(0,v.jsx)(m.Button,{type:`button`,variant:`ghost`,size:`icon`,className:`h-8 w-8 text-muted-foreground hover:text-destructive`,"aria-label":E,"data-testid":`line-items-remove-${t}`,onClick:()=>pe(t),disabled:i||y.length<=re,children:(0,v.jsx)(h.Trash2,{className:`h-4 w-4`})})]})})]},t)})}),_e&&(0,v.jsx)(`tfoot`,{className:`border-t border-border bg-muted/40`,children:(0,v.jsxs)(`tr`,{children:[(0,v.jsx)(`td`,{colSpan:1+ye,className:`px-3 py-2 text-right text-xs font-medium text-muted-foreground`,children:D}),(0,v.jsx)(`td`,{className:`px-3 py-2 text-right font-semibold text-foreground tabular-nums`,"data-testid":`line-items-total`,children:ve.toLocaleString(x)}),R.length-ye-1+ +!!ge>0&&(0,v.jsx)(`td`,{colSpan:R.length-ye-1+ +!!ge})]})})]})}),B&&(0,v.jsxs)(m.Button,{type:`button`,variant:`outline`,size:`sm`,onClick:P&&l?l:K,disabled:H!=null&&y.length>=H,"data-testid":`line-items-add`,children:[(0,v.jsx)(h.Plus,{className:`mr-1.5 h-4 w-4`}),g.addLabel||S(`fields.grid.addLine`,{defaultValue:`Add line`})]})]})}var ls,us,ds,fs,ps,ms,hs=o((()=>{L(),Lr(),So(),Di(),H(),$(),At(),ls=e=>e===`number`||e===`currency`,us={text:160,select:132,lookup:168,number:104,currency:116,date:150,datetime:200,time:116,file:168},ds=e=>e.width??us[e.type??`text`]??132,fs=e=>e===`date`||e===`datetime`||e===`time`,ps=new Set,ms=ss})),gs=s({AvatarField:()=>_s});function _s({value:e,onChange:t,field:n,readonly:r,onUploadingChange:i,error:a,...o}){let[s,c]=u.default.useState(!1),l=u.default.useRef(null),{upload:d}=(0,w.useUpload)(),{t:f}=(0,p.useObjectTranslation)(),[g,_]=u.default.useState(!1),[y,b]=u.default.useState(null),[x,S]=u.default.useState({});uo(g,i);let C=ao(),T=n,E=Y(q(e,``),x)[0],D=!!E?.metadataRefused,O=D?void 0:E?.url,k=_e(),ee=async e=>{let n=e.target.files?.[0];if(l.current&&(l.current.value=``),!n)return;if(!n.type.startsWith(`image/`)){console.error(`Please select an image file`);return}if(n.size>5242880){console.error(`File size must be less than 5MB`);return}b(null);let r=C();_(!0);try{let e=await d(n),r=pe(e,n.name),i=me(e,n.name);i.id&&S(e=>({...e,[i.id]:i})),t(r)}catch(e){b(go(f,n.name,e))}finally{r(),_(!1)}},A=()=>{t(``)},j=D?(0,v.jsx)(m.AvatarFallback,{title:k.hint,"data-slot":`file-restricted`,children:(0,v.jsx)(h.Lock,{className:`size-5 text-muted-foreground`,role:`img`,"aria-label":k.label})}):(0,v.jsx)(m.AvatarFallback,{children:(T?.defaultName||T?.label||`User`).split(` `).map(e=>e[0]).join(``).toUpperCase().slice(0,2)});return r?(0,v.jsxs)(m.Avatar,{className:`w-16 h-16`,children:[O&&(0,v.jsx)(m.AvatarImage,{src:O,alt:T?.label}),j]}):(0,v.jsxs)(`div`,{className:`flex items-center gap-4`,children:[(0,v.jsxs)(`div`,{className:`relative`,onMouseEnter:()=>c(!0),onMouseLeave:()=>c(!1),children:[(0,v.jsxs)(m.Avatar,{className:`w-16 h-16`,children:[O&&(0,v.jsx)(m.AvatarImage,{src:O,alt:T?.label}),j]}),!r&&s&&e&&(0,v.jsx)(`button`,{type:`button`,onClick:A,className:`absolute -top-1 -right-1 bg-destructive text-destructive-foreground rounded-full p-1 hover:bg-destructive/90`,children:(0,v.jsx)(h.X,{className:`w-3 h-3`})})]}),(0,v.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,v.jsx)(`input`,{ref:l,type:`file`,accept:`image/*`,onChange:ee,className:`hidden`}),(0,v.jsx)(m.Button,{...Q(o),type:`button`,variant:`outline`,size:`sm`,onClick:()=>l.current?.click(),disabled:r||o.disabled||g,"aria-invalid":!!a,children:g?(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(h.Loader2,{className:`w-4 h-4 mr-2 animate-spin`}),f(`fields.image.uploading`,{defaultValue:`Uploading…`})]}):(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(h.Upload,{className:`w-4 h-4 mr-2`}),e?`Change`:`Upload`,` Avatar`]})}),(0,v.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`PNG, JPG up to 5MB`}),y&&(0,v.jsx)(`p`,{className:`text-xs text-destructive`,children:y})]})]})}var vs=o((()=>{$(),fo(),lo(),_o(),X(),be()})),ys=s({SignatureField:()=>bs});function bs({value:e,onChange:t,readonly:n,...r}){let i=(0,u.useRef)(null),[a,o]=u.default.useState(!1),[s,c]=u.default.useState(!e);(0,u.useEffect)(()=>{if(e&&i.current){let t=i.current.getContext(`2d`);if(t){let n=new Image;n.onload=()=>{t.drawImage(n,0,0),c(!1)},n.src=e}}},[e]);let l=e=>{if(n)return;o(!0),c(!1);let t=i.current;if(!t)return;let r=t.getContext(`2d`);if(!r)return;let a=t.getBoundingClientRect(),s=`touches`in e?e.touches[0].clientX-a.left:e.clientX-a.left,l=`touches`in e?e.touches[0].clientY-a.top:e.clientY-a.top;r.beginPath(),r.moveTo(s,l)},d=e=>{if(!a||n)return;let t=i.current;if(!t)return;let r=t.getContext(`2d`);if(!r)return;let o=t.getBoundingClientRect(),s=`touches`in e?e.touches[0].clientX-o.left:e.clientX-o.left,c=`touches`in e?e.touches[0].clientY-o.top:e.clientY-o.top;r.lineTo(s,c),r.strokeStyle=`#000`,r.lineWidth=2,r.lineCap=`round`,r.lineJoin=`round`,r.stroke()},f=()=>{if(!a)return;o(!1);let e=i.current;e&&t(e.toDataURL(`image/png`))},p=()=>{let e=i.current;if(!e)return;let n=e.getContext(`2d`);n&&(n.clearRect(0,0,e.width,e.height),c(!0),t(``))},g=Ot(r,`instead-of-the-inputs`);return n&&e?(0,v.jsx)(`div`,{...g,className:`border rounded p-2 bg-white`,children:(0,v.jsx)(`img`,{src:e,alt:`Signature`,loading:`lazy`,className:`max-w-full h-auto`})}):n&&!e?(0,v.jsx)(`span`,{...g,className:`text-sm text-muted-foreground`,children:`No signature`}):(0,v.jsxs)(`div`,{...g,className:`space-y-2`,children:[(0,v.jsx)(`div`,{className:`border rounded bg-white`,children:(0,v.jsx)(`canvas`,{ref:i,width:400,height:200,className:`w-full touch-none cursor-crosshair`,onMouseDown:l,onMouseMove:d,onMouseUp:f,onMouseLeave:f,onTouchStart:l,onTouchMove:d,onTouchEnd:f})}),(0,v.jsxs)(`div`,{className:`flex justify-between items-center`,children:[(0,v.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:s?`Sign above`:`Signature captured`}),(0,v.jsxs)(m.Button,{type:`button`,variant:`outline`,size:`sm`,onClick:p,disabled:n||s,children:[(0,v.jsx)(h.Eraser,{className:`w-4 h-4 mr-2`}),`Clear`]})]})]})}var xs=o((()=>{At()}));To();function Ss({value:e,onChange:t,field:n,readonly:r,className:i,...a}){let o=e||[],s=n,c=()=>{let e={id:`new-${Date.now()}`,label:`New Related Record`};t([...o,e])},l=e=>{t(o.filter(t=>t.id!==e))};return r?(0,v.jsxs)(`div`,{className:(0,m.cn)(`space-y-2`,i),children:[o.length===0?(0,v.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:`No related records`}):o.map(e=>(0,v.jsxs)(`div`,{className:`flex items-center justify-between p-2 border rounded hover:bg-muted/50`,children:[(0,v.jsx)(`span`,{className:`text-sm`,children:e.label}),(0,v.jsx)(m.Button,{type:`button`,variant:`ghost`,size:`sm`,onClick:()=>void 0,children:(0,v.jsx)(h.ExternalLink,{className:`w-4 h-4`})})]},e.id)),(0,v.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[o.length,` `,o.length===1?`record`:`records`]})]}):(0,v.jsxs)(`div`,{className:(0,m.cn)(`space-y-3`,i),children:[(0,v.jsxs)(`div`,{className:`space-y-2`,children:[o.map(e=>(0,v.jsxs)(`div`,{className:`flex items-center justify-between gap-2 p-2 border rounded hover:bg-muted/50`,children:[(0,v.jsxs)(`div`,{className:`flex items-center gap-2 flex-1`,children:[(0,v.jsx)(m.Badge,{variant:`outline`,children:e.id}),(0,v.jsx)(`span`,{className:`text-sm flex-1`,children:e.label})]}),(0,v.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,v.jsx)(m.Button,{type:`button`,variant:`ghost`,size:`sm`,onClick:()=>void 0,children:(0,v.jsx)(h.ExternalLink,{className:`w-4 h-4`})}),(0,v.jsx)(m.Button,{type:`button`,variant:`ghost`,size:`sm`,onClick:()=>l(e.id),disabled:a.disabled,children:(0,v.jsx)(h.X,{className:`w-4 h-4`})})]})]},e.id)),o.length===0&&(0,v.jsx)(`div`,{className:`text-sm text-muted-foreground text-center py-4 border border-dashed rounded bg-muted/20`,children:`No related records`})]}),(0,v.jsxs)(m.Button,{type:`button`,variant:`outline`,className:`w-full`,onClick:c,disabled:a.disabled,children:[(0,v.jsx)(h.Plus,{className:`w-4 h-4 mr-2`}),`Add `,s?.label||`Record`]})]})}var Cs=s({PermissionRefField:()=>js,PositionRefField:()=>As,RegistryRefField:()=>ks,default:()=>ks});function ws(e){let t=e;return t&&typeof t.listMetadataItems==`function`?t:null}function Ts(e){return e instanceof Error?e.message:typeof e==`string`?e:``}function Es(e){return e===`position`?Ps:Fs}function Ds(e,t){let[n,r]=u.default.useState(null);return u.default.useEffect(()=>{let n=ws(e);if(!n)return;let i=!1;return n.listMetadataItems(t).then(n=>{i||r({dataSource:e,type:t,state:{status:`loaded`,items:n}})},n=>{i||r({dataSource:e,type:t,state:{status:`error`,message:Ts(n)}})}),()=>{i=!0}},[e,t]),ws(e)?n&&n.dataSource===e&&n.type===t?n.state:Ns:Ms}function Os(e){return e.label&&e.label!==e.name?`${e.label} (${e.name})`:e.name}function ks({registryType:e,value:t,onChange:n,readonly:r,className:i,error:a,...o}){let s=u.default.useContext(g.SchemaRendererContext),{t:c}=ie(),l=Ds(o.dataSource??s?.dataSource??null,e),d=Es(e),f=typeof t==`string`?t:``,p=`registry-ref-${e}`,_=l.status===`loaded`?l.items:null,y=_?.find(e=>e.name===f),b=_!==null&&f!==``&&!y,x=c(`fields.registryRef.notFound`,{name:f});if(r)return f?(0,v.jsx)(`span`,{className:(0,m.cn)(`text-sm`,i),"data-testid":p,"data-not-found":b||void 0,children:b?x:y?Os(y):f}):(0,v.jsx)(m.EmptyValue,{});let S=Q(o),C=o.disabled,w=(0,v.jsx)(m.Input,{...S,"data-testid":`${p}-input`,value:f,onChange:e=>n(e.target.value),disabled:C,className:i,"aria-invalid":!!a});if(l.status===`error`)return(0,v.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,v.jsxs)(`div`,{role:`status`,"data-testid":`${p}-load-failed`,className:`flex items-start gap-1.5 rounded-md border border-amber-300 bg-amber-50 px-2 py-1.5 text-xs text-amber-900 dark:border-amber-700 dark:bg-amber-950 dark:text-amber-100`,children:[(0,v.jsx)(h.AlertTriangle,{className:`mt-0.5 h-3.5 w-3.5 shrink-0`,"aria-hidden":`true`}),(0,v.jsxs)(`div`,{className:`min-w-0`,children:[(0,v.jsx)(`p`,{children:c(`fields.registryRef.loadFailed`)}),l.message?(0,v.jsx)(`p`,{"data-testid":`${p}-load-failed-cause`,className:`break-words font-mono text-[10px]`,children:l.message}):null]})]}),w]});if(l.status===`loading`)return(0,v.jsx)(m.Input,{...S,"data-testid":`${p}-input`,value:f,disabled:!0,readOnly:!0,placeholder:c(`common.loading`),className:i,"aria-invalid":!!a});let T=(_??[]).filter(e=>!d.has(e.name));if(T.length===0)return w;let E=T.sort((e,t)=>e.name.localeCompare(t.name)).map(e=>({value:e.name,label:Os(e)}));y&&d.has(y.name)&&E.unshift({value:f,label:Os(y)}),b&&E.unshift({value:f,label:x});let{name:D,...O}=S;return(0,v.jsx)(m.Combobox,{...O,"data-testid":p,"data-not-found":b||void 0,options:E,value:f,onValueChange:e=>n(e),placeholder:c(`common.select`),searchPlaceholder:c(`table.search`),emptyText:c(`common.noResults`),disabled:C,className:(0,m.cn)(`w-full`,i),"aria-invalid":!!a})}function As(e){return(0,v.jsx)(ks,{...e,registryType:`position`})}function js(e){return(0,v.jsx)(ks,{...e,registryType:`permission`})}var Ms,Ns,Ps,Fs,Is=o((()=>{$(),H(),Ms={status:`idle`},Ns={status:`loading`},Ps=new Set(T.AUDIENCE_ANCHOR_POSITIONS),Fs=new Set}));j(),ne(),H(),oe(),ce(),X(),be(),xe(),L(),Ne(),Le(),X(),st(),bt(),zt(),Xt(),ki(),ji(),dn(),mn(),_n(),bn(),Ct(),Dt(),ca(),ft(),pa(),Lr(),Ca(),Ga(),to(),ba(),Xa(),qn(),xr(),So(),ko(),ui(),Mo(),Fo(),Ro(),Vr(),Ci(),Vo(),hs(),Wr(),Nt(),It(),vi(),vs(),qr(),hi(),xs(),Ei(),Kt(),$t(),nn(),on(),$(),Di(),lo(),fo(),st(),ft(),bt(),Ct(),Dt(),Nt(),It(),zt(),Kt(),Xt(),$t(),nn(),on(),dn(),mn(),_n(),bn(),qn(),xr(),Lr(),Vr(),Wr(),qr(),ui(),hi(),vi(),Ci(),Ei(),ki(),ji(),ca(),pa(),Ca(),Ga(),to(),So(),ko(),Mo(),Fo(),Ro(),Vo(),hs(),vs(),xs();var Ls=new Map;function Rs(e,t){if(!e||typeof e!=`object`)return;if(t){let n=e[t];if(typeof n==`string`&&n.trim())return n.trim();if(typeof n==`number`)return String(n)}for(let t of[`name`,`full_name`,`display_name`,`label`,`title`,`subject`,`username`]){let n=e[t];if(typeof n==`string`&&n.trim())return n.trim();if(typeof n==`number`)return String(n)}let n=e.first_name,r=e.last_name,i=[e.salutation,n,r].filter(e=>typeof e==`string`&&e.trim()).map(e=>e.trim()).join(` `);if(i)return i;let a=e.email;if(typeof a==`string`&&a.trim())return a.trim();let o=new Set([`id`,`_id`,`organization_id`,`created_by`,`updated_by`,`created_at`,`updated_at`,`tenant_id`]),s=[`_name`,`_title`,`_number`,`_code`,`_label`];for(let[t,n]of Object.entries(e))if(!o.has(t)&&!t.endsWith(`_id`)&&s.some(e=>t.endsWith(e))){if(typeof n==`string`&&n.trim())return n.trim();if(typeof n==`number`)return String(n)}}var zs=new Map;async function Bs(e,t){let n=()=>{let e=zs.get(t);return e?.state===`ok`?e.schema:void 0},r=zs.get(t);if(r?.state===`pending`)return await r.promise,n();if(r)return n();let i=e?.getObjectSchema;if(typeof i!=`function`)return;let a=Promise.resolve().then(()=>i.call(e,t)).then(e=>{zs.set(t,{state:`ok`,schema:e})}).catch(()=>{zs.set(t,{state:`err`})});return zs.set(t,{state:`pending`,promise:a}),await a,n()}function Vs(e){let t=u.default.useContext(g.SchemaRendererContext)?.dataSource,[,n]=u.default.useState(0),r=!!e&&!!t&&typeof t.getObjectSchema==`function`;if(u.default.useEffect(()=>{if(!r)return;let i=zs.get(e);if(i&&i.state!==`pending`)return;let a=!0;return Bs(t,e).then(()=>{a&&n(e=>e+1)}),()=>{a=!1}},[r,e,t]),!r)return;let i=zs.get(e);return i?.state===`ok`?i.schema:void 0}function Hs(e,t,n,r,i){if(!e||typeof e!=`object`)return;let a=(0,d.withoutDeniedFields)(e,r,i);if(t){let e=(0,d.getRecordDisplayName)(t,a,{titleField:n}),r=a.id??a._id;if(!(e===`Untitled`||r!=null&&e===`Record #${r}`)&&e)return e}return Rs(a,n)}function Us(e){if(typeof e!=`string`||!/^[A-Za-z0-9_-]{12,32}$/.test(e))return!1;let t=/[A-Z]/.test(e),n=/[a-z]/.test(e),r=/[0-9_-]/.test(e);return t&&n||t&&r||n&&r}function Ws(e,t,n,r){let i=u.default.useContext(g.SchemaRendererContext)?.dataSource,[,a]=u.default.useState(0),o=!!e&&!!i&&typeof i.find==`function`&&(typeof t==`string`||typeof t==`number`)&&t!==``,s=o?`${e}:${String(t)}:${n??``}`:``;if(u.default.useEffect(()=>{if(!o)return;let n=Ls.get(s);if(n&&n.state!==`pending`&&n.promise==null||n?.state===`pending`)return;let r=(async()=>{try{let n;if(typeof i.findOne==`function`)n=await i.findOne(e,t);else{let r=await i.find(e,{$filter:{id:t},$top:1});n=(0,d.extractRecords)(r)[0]}let r=await Bs(i,e);Ls.set(s,{state:`ok`,record:n,schema:r})}catch{Ls.set(s,{state:`err`})}a(e=>e+1)})();Ls.set(s,{state:`pending`,promise:r})},[s,o,e,t,i]),!o)return;let c=Ls.get(s);return c?.state===`ok`?Hs(c.record,c.schema,n,r,e):void 0}function Gs(){let{t:e}=(0,g.useObjectTranslation)();return(t,n)=>{let r=e(t);return!r||r===t?n:r}}function Ks(){let{t:e}=(0,g.useObjectTranslation)();return e}function qs(e){return(0,d.isEmptyValue)(e)||typeof e==`string`&&e.trim()===``}function Js(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&!(e instanceof Date)}function Ys(e,t,n){if(!t)try{return(0,p.formatDisplayNumber)(e,{locale:n,notation:`compact`,maximumFractionDigits:1}).replace(/\.0(?=[KMBT])/,``)}catch{return String(e)}try{return(0,p.formatDisplayNumber)(e,{locale:n,currency:t,notation:`compact`,maximumFractionDigits:1}).replace(/\.0(?=[KMBT])/,``)}catch{return`${t} ${e}`}}function Xs(e,t=2,n){try{return(0,p.formatDisplayNumber)(e,{locale:n,minimumFractionDigits:t,maximumFractionDigits:t})}catch{return e.toFixed(t)}}function Zs(e,t,n=0,r){return te((0,d.percentDisplayValue)(e,t),n,r)}function Qs({text:e,className:t}){return(0,v.jsx)(`span`,{className:(0,m.cn)(`block max-w-full truncate`,t),title:e,children:e})}function $s({value:e}){let t=Z(e);return(0,d.isEmptyValue)(t)?(0,v.jsx)(m.EmptyValue,{}):(0,v.jsx)(Qs,{text:String(t)})}function ec({value:e,field:t}){let n=(0,p.useDisplayLocale)(),r=Z(e);if(qs(r))return(0,v.jsx)(m.EmptyValue,{});let i=Number(r),a=isNaN(i)?String(r):R(i,t,n);return(0,v.jsx)(`span`,{className:`tabular-nums`,children:a})}function tc({value:e,field:t}){let n=Z(e);if(qs(n))return(0,v.jsx)(m.EmptyValue,{});let r=Number(n);if(!Number.isFinite(r))return(0,v.jsx)(`span`,{className:`tabular-nums`,children:String(n)});let i=t?.max,a=typeof i==`number`&&i>0?Math.floor(i):5,o=Math.max(0,Math.min(a,Math.round(r)));return(0,v.jsxs)(`span`,{className:`inline-flex items-center gap-0.5`,title:`${r} / ${a}`,children:[Array.from({length:a},(e,t)=>(0,v.jsx)(h.Star,{"aria-hidden":`true`,className:(0,m.cn)(`h-3.5 w-3.5 shrink-0`,t<o?`fill-yellow-400 text-yellow-400`:`text-muted-foreground/40`)},t)),(0,v.jsx)(`span`,{className:`sr-only`,children:`${r} / ${a}`})]})}function nc({value:e,field:t}){let{currency:n}=(0,p.useLocalization)(),r=(0,p.useDisplayLocale)(),i=Z(e);if(qs(i))return(0,v.jsx)(m.EmptyValue,{});let a=(0,p.resolveFieldCurrency)(t,n),o=Number(i),s=isNaN(o)?String(i):B(o,a,r);return(0,v.jsx)(`span`,{className:`tabular-nums font-medium whitespace-nowrap`,children:s})}function rc({value:e,field:t}){let n=(0,p.useDisplayLocale)(),r=u.default.useId(),i=Z(e);if(qs(i))return(0,v.jsx)(m.EmptyValue,{});let a=t,o=(0,f.resolveFieldScale)({type:a.type,scale:a.scale}),s=Number(i);if(isNaN(s))return(0,v.jsx)(`span`,{className:`tabular-nums whitespace-nowrap`,children:String(i)});let c=V(a),l=(0,d.percentDisplayValue)(s,c),h=Zs(s,c,o,n),g=Math.max(0,Math.min(100,l));return(0,v.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,v.jsx)(`div`,{className:`h-1.5 w-16 min-w-0 shrink rounded-full bg-muted ring-1 ring-inset ring-border/60 overflow-hidden`,role:`progressbar`,"aria-labelledby":r,"aria-valuenow":g,"aria-valuemin":0,"aria-valuemax":100,children:(0,v.jsx)(`div`,{className:`h-full rounded-full bg-primary transition-all`,style:{width:`${g}%`}})}),(0,v.jsx)(`span`,{id:r,className:`shrink-0 tabular-nums whitespace-nowrap`,children:h})]})}var ic=new Set([`active`,`is_active`,`enabled`,`is_enabled`,`verified`,`is_verified`]);function ac({value:e,field:t}){let{t:n}=ie();if(typeof e!=`boolean`)return(0,v.jsx)(`span`,{className:`flex items-center justify-center`,children:(0,v.jsx)(m.EmptyValue,{})});let r=t?.name?.toLowerCase()||``,i=r===`completed`||r===`is_completed`||r===`done`||r===`is_done`,a=t?.label||(0,d.humanizeLabel)(t?.name||``);return i?(0,v.jsx)(`div`,{className:`flex items-center justify-center`,children:e?(0,v.jsx)(`div`,{className:`size-5 rounded-full bg-green-500 flex items-center justify-center`,role:`img`,"aria-label":n(`fields.boolean.completed`),"data-testid":`completion-indicator`,children:(0,v.jsx)(h.Check,{className:`size-3 text-white`})}):(0,v.jsx)(`div`,{className:`size-5 rounded-full border-2 border-muted-foreground/30`,role:`img`,"aria-label":n(`fields.boolean.notCompleted`),"data-testid":`completion-indicator`})}):ic.has(r)&&e===!1?(0,v.jsx)(m.Badge,{variant:`destructive`,className:`text-xs`,"data-testid":`boolean-warning-badge`,children:n(`fields.boolean.offBadge`,{label:a})}):(0,v.jsx)(`div`,{className:`flex items-center justify-start`,children:(0,v.jsx)(m.Checkbox,{checked:e,disabled:!0,"aria-label":a,className:`pointer-events-none`})})}function oc(e,t){return t!==!0&&e?.dueLike===!0}function sc(e,t){if(!t)return!1;let n=new Date;return n.setHours(0,0,0,0),e<n}function cc({value:e,field:t,deadlineSettled:n}){let r=(0,p.useDisplayLocale)(),i=Ks();if(!e)return(0,v.jsx)(m.EmptyValue,{});let a=Z(e);if(qs(a))return(0,v.jsx)(m.EmptyValue,{});let o=a==null?null:(0,d.toDisplayDate)(a);if(o===null||isNaN(o.getTime()))return(0,v.jsx)(m.EmptyValue,{});let s=new Date(a),c=t.format||`relative`,l=oc(t,n),u=(0,d.formatDate)(a,c,{dueLike:l,locale:r,t:i}),f=sc(o,l);return(0,v.jsx)(`span`,{className:`tabular-nums${f?` text-red-600`:``}`,title:s.toISOString(),children:u})}function lc({value:e,field:t,deadlineSettled:n}){let r=(0,p.useDisplayLocale)(),i=Ks();if(!e)return(0,v.jsx)(m.EmptyValue,{});let a=Z(e),o=a==null?null:(0,d.toDisplayDate)(a);if(o===null||isNaN(o.getTime()))return(0,v.jsx)(m.EmptyValue,{});let s=new Date(a),c=t?.format||`compact`,l=c===`short`?`compact`:c,u=oc(t,n),f=`tabular-nums text-sm whitespace-nowrap${sc(s,u)?` text-red-600`:``}`;if(l===`relative`)return(0,v.jsx)(`span`,{className:f,children:(0,d.formatRelativeDate)(s,{dueLike:u,locale:r,t:i})});if(l===`compact`){let e=(0,d.formatDateTimeCompactParts)(s,{locale:r});if(e)return(0,v.jsxs)(`span`,{className:f,children:[(0,v.jsx)(`span`,{children:e.date}),` `,(0,v.jsx)(`span`,{className:`ml-1 text-muted-foreground`,children:e.time})]})}return(0,v.jsx)(`span`,{className:f,children:(0,d.formatDateTime)(s,{style:l,locale:r,t:i})})}var uc={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`,contacted:`blue`,qualified:`purple`,converted:`green`,won:`green`,lost:`red`,紧急:`red`,严重:`red`,高:`orange`,中:`yellow`,普通:`blue`,低:`gray`,无:`gray`,新建:`gray`,草稿:`gray`,待处理:`yellow`,待审核:`yellow`,待联系:`yellow`,挂起:`yellow`,进行中:`blue`,处理中:`blue`,已联系:`blue`,跟进中:`blue`,已发货:`blue`,打开:`blue`,已确认:`green`,已审核:`green`,已通过:`green`,已完成:`green`,已支付:`green`,已签收:`green`,已转化:`green`,成单:`green`,赢得:`green`,已签约:`green`,已交付:`purple`,已归档:`indigo`,已关闭:`gray`,已取消:`red`,已拒绝:`red`,失败:`red`,逾期:`red`,流失:`red`,丢失:`red`},dc={gray:`bg-gray-50 text-gray-700 border-gray-200 dark:bg-gray-800/50 dark:text-gray-200 dark:border-gray-700/60`,red:`bg-red-50 text-red-700 border-red-200 dark:bg-red-950/40 dark:text-red-300 dark:border-red-900/60`,orange:`bg-orange-50 text-orange-700 border-orange-200 dark:bg-orange-950/40 dark:text-orange-300 dark:border-orange-900/60`,yellow:`bg-yellow-50 text-yellow-800 border-yellow-200 dark:bg-yellow-950/40 dark:text-yellow-300 dark:border-yellow-900/60`,green:`bg-green-50 text-green-700 border-green-200 dark:bg-green-950/40 dark:text-green-300 dark:border-green-900/60`,blue:`bg-blue-50 text-blue-700 border-blue-200 dark:bg-blue-950/40 dark:text-blue-300 dark:border-blue-900/60`,indigo:`bg-indigo-50 text-indigo-700 border-indigo-200 dark:bg-indigo-950/40 dark:text-indigo-300 dark:border-indigo-900/60`,purple:`bg-purple-50 text-purple-700 border-purple-200 dark:bg-purple-950/40 dark:text-purple-300 dark:border-purple-900/60`,pink:`bg-pink-50 text-pink-700 border-pink-200 dark:bg-pink-950/40 dark:text-pink-300 dark:border-pink-900/60`},fc={gray:`bg-gray-400 dark:bg-gray-500`,red:`bg-red-500`,orange:`bg-orange-500`,yellow:`bg-yellow-500`,green:`bg-green-500`,blue:`bg-blue-500`,indigo:`bg-indigo-500`,purple:`bg-purple-500`,pink:`bg-pink-500`},pc=[`blue`,`green`,`purple`,`orange`,`pink`,`indigo`,`yellow`,`red`];function mc(e){let t=5381;for(let n=0;n<e.length;n++)t=(t<<5)+t^e.charCodeAt(n);return pc[Math.abs(t)%pc.length]}function hc(e){let t=/^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/.exec(e.trim());if(!t)return;let n=t[1];n.length===3&&(n=n.split(``).map(e=>e+e).join(``));let r=parseInt(n.slice(0,2),16)/255,i=parseInt(n.slice(2,4),16)/255,a=parseInt(n.slice(4,6),16)/255,o=Math.max(r,i,a),s=Math.min(r,i,a),c=o-s,l=(o+s)/2;if((c===0?0:c/(1-Math.abs(2*l-1)))<.22)return`gray`;let u;return u=o===r?((i-a)/c%6+6)%6:o===i?(a-r)/c+2:(r-i)/c+4,u*=60,u>=345||u<15?`red`:u<30?`orange`:u<60?`yellow`:u<170?`green`:u<238?`blue`:u<250?`indigo`:u<295?`purple`:`pink`}function gc(e){if(e){if(dc[e])return e;if(e.charAt(0)===`#`)return hc(e)}}var _c=4.5,vc=1.9,yc={r:255,g:255,b:255},bc={r:10,g:10,b:10},xc=(e,t,n)=>Math.min(n,Math.max(t,e));function Sc(e){let t=/^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/.exec(e.trim());if(!t)return;let n=t[1];return n.length===3&&(n=n.split(``).map(e=>e+e).join(``)),{r:parseInt(n.slice(0,2),16),g:parseInt(n.slice(2,4),16),b:parseInt(n.slice(4,6),16)}}function Cc({r:e,g:t,b:n}){let r=e/255,i=t/255,a=n/255,o=Math.max(r,i,a),s=Math.min(r,i,a),c=o-s,l=(o+s)/2,u=c===0?0:c/(1-Math.abs(2*l-1)),d=0;return c!==0&&(d=o===r?((i-a)/c%6+6)%6:o===i?(a-r)/c+2:(r-i)/c+4,d*=60),{h:d,s:u,l}}function wc(e,t,n){let r=(e%360+360)%360,i=(1-Math.abs(2*n-1))*t,a=i*(1-Math.abs(r/60%2-1)),o=n-i/2,s;return s=r<60?[i,a,0]:r<120?[a,i,0]:r<180?[0,i,a]:r<240?[0,a,i]:r<300?[a,0,i]:[i,0,a],{r:Math.round((s[0]+o)*255),g:Math.round((s[1]+o)*255),b:Math.round((s[2]+o)*255)}}var Tc=({r:e,g:t,b:n})=>`#`+[e,t,n].map(e=>xc(Math.round(e),0,255).toString(16).padStart(2,`0`)).join(``);function Ec({r:e,g:t,b:n}){let r=e=>{let t=e/255;return t<=.03928?t/12.92:((t+.055)/1.055)**2.4};return .2126*r(e)+.7152*r(t)+.0722*r(n)}function Dc(e,t){let n=Ec(e),r=Ec(t);return(Math.max(n,r)+.05)/(Math.min(n,r)+.05)}function Oc(e,t,n,r,i){let a,o=1/0;for(let s=0;s<=100;s++){let c=s/100,l=wc(e,t,c);if(Dc(l,r)<i)continue;let u=Math.abs(c-n);u<o&&(o=u,a=l)}if(a)return a;let s={r:0,g:0,b:0},c={r:255,g:255,b:255};return Dc(s,r)>=Dc(c,r)?s:c}function kc(e){let t=Sc(e);if(!t)return;let{h:n,s:r,l:i}=Cc(t),a=xc(r,.18,.92),o=.95-.32*(1-i),s=wc(n,a*(.55+.25*(1-i)),o),c=wc(n,a*.62,xc(o-.14,0,1)),l=Oc(n,a,i,s,_c),u=.1+.3*i,d=wc(n,a*.6,u),f=wc(n,a*.55,xc(u+.12,0,1)),p=Oc(n,a,i,d,_c);return{bg:Tc(s),fg:Tc(l),border:Tc(c),bgDark:Tc(d),fgDark:Tc(p),borderDark:Tc(f),dot:Tc(Oc(n,a,i,yc,vc)),dotDark:Tc(Oc(n,a,i,bc,vc))}}var Ac=`bg-[color:var(--os-badge-bg)] text-[color:var(--os-badge-fg)] border-[color:var(--os-badge-border)] dark:bg-[color:var(--os-badge-bg-dark)] dark:text-[color:var(--os-badge-fg-dark)] dark:border-[color:var(--os-badge-border-dark)]`,jc=`bg-[color:var(--os-dot-bg)] dark:bg-[color:var(--os-dot-bg-dark)]`;function Mc(e){if(!e||e.charAt(0)!==`#`)return;let t=kc(e);if(t)return{className:Ac,style:{"--os-badge-bg":t.bg,"--os-badge-fg":t.fg,"--os-badge-border":t.border,"--os-badge-bg-dark":t.bgDark,"--os-badge-fg-dark":t.fgDark,"--os-badge-border-dark":t.borderDark}}}function Nc(e){if(!e||e.charAt(0)!==`#`)return;let t=kc(e);if(t)return{className:jc,style:{"--os-dot-bg":t.dot,"--os-dot-bg-dark":t.dotDark}}}function Pc(e,t){let n=gc(e);if(n&&dc[n])return dc[n];if(t==null||t===``)return`bg-muted text-muted-foreground border-border`;let r=String(t).toLowerCase().replace(/[\s-]/g,`_`),i=uc[r];return i&&dc[i]?dc[i]:dc[mc(r)]}function Fc(e,t){let n=gc(e);if(n&&dc[n])return n;if(t==null||t===``)return;let r=String(t).toLowerCase().replace(/[\s-]/g,`_`);return uc[r]||mc(r)}var Ic={gray:`#6b7280`,red:`#ef4444`,orange:`#f97316`,yellow:`#eab308`,green:`#22c55e`,blue:`#3b82f6`,indigo:`#6366f1`,purple:`#a855f7`,pink:`#ec4899`};function Lc(e,t=`#3b82f6`){return e?Ic[e]??t:t}function Rc({value:e,field:t}){let n=t,r=n.options||[],i=n.appearance===`dot`?`dot`:`badge`;if((0,d.isEmptyValue)(e))return(0,v.jsx)(m.EmptyValue,{});let a=e=>{let t=r.find(t=>t.value===e);if(t)return t;let n=String(e).toLowerCase();return r.find(e=>String(e.value).toLowerCase()===n)},o=(e,t)=>{let n=a(e),r=n?.label||(Js(e)?String(Z(e)):(0,d.humanizeLabel)(String(e)));if(i===`dot`){let i=Nc(n?.color),a=gc(n?.color)||uc[String(e).toLowerCase().replace(/[\s-]/g,`_`)]||mc(String(e).toLowerCase().replace(/[\s-]/g,`_`)),o=i?i.className:fc[a]||fc.gray;return(0,v.jsxs)(`span`,{className:`inline-flex max-w-full items-center gap-1.5 text-sm`,title:r,children:[(0,v.jsx)(`span`,{className:(0,m.cn)(`h-1.5 w-1.5 rounded-full shrink-0`,o),style:i?.style,"aria-hidden":`true`}),(0,v.jsx)(`span`,{className:`min-w-0 truncate`,children:r})]},t)}let o=Mc(n?.color),s=o?o.className:Pc(n?.color,e);return(0,v.jsx)(m.Badge,{variant:`outline`,className:(0,m.cn)(`max-w-full min-w-0`,s),style:o?.style,title:r,children:(0,v.jsx)(`span`,{className:`truncate`,children:r})},t)};return Array.isArray(e)?(0,v.jsx)(`div`,{className:(0,m.cn)(`flex flex-wrap`,i===`dot`?`gap-x-3 gap-y-1`:`gap-1`),children:e.map((e,t)=>o(e,t))}):o(e)}function zc({value:e}){let t=Gs(),[n,r]=u.default.useState(!1);if(!e)return(0,v.jsx)(m.EmptyValue,{});let i=Z(e);if(qs(i))return(0,v.jsx)(m.EmptyValue,{});let a=String(i);return Js(e)?(0,v.jsx)(Qs,{text:a}):(0,v.jsxs)(`span`,{className:`inline-flex max-w-full items-center gap-1 group/email`,children:[(0,v.jsx)(m.Button,{variant:`link`,className:`block min-w-0 truncate p-0 h-auto font-normal text-blue-600 hover:text-blue-800`,asChild:!0,children:(0,v.jsx)(`a`,{href:`mailto:${a}`,onClick:e=>e.stopPropagation(),children:a})}),(0,v.jsx)(`button`,{type:`button`,className:`shrink-0 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(a).then(()=>{r(!0),setTimeout(()=>r(!1),2e3)}).catch(()=>{})},"aria-label":t(`detail.copyEmail`,`Copy email`),children:n?(0,v.jsx)(h.Check,{className:`h-3 w-3 text-green-600`}):(0,v.jsx)(h.Copy,{className:`h-3 w-3 text-muted-foreground`})})]})}function Bc({value:e}){if(!e)return(0,v.jsx)(m.EmptyValue,{});let t=Z(e);if(qs(t))return(0,v.jsx)(m.EmptyValue,{});let n=String(t);return Js(e)?(0,v.jsx)(Qs,{text:n}):(0,v.jsx)(m.Button,{variant:`link`,className:`inline-block max-w-full truncate align-top p-0 h-auto font-normal text-blue-600 hover:text-blue-800`,asChild:!0,children:(0,v.jsx)(`a`,{href:n,target:`_blank`,rel:`noopener noreferrer`,onClick:e=>e.stopPropagation(),children:n})})}function Vc({value:e}){let t=Gs(),[n,r]=u.default.useState(!1);if(!e)return(0,v.jsx)(m.EmptyValue,{});let i=Z(e);if(qs(i))return(0,v.jsx)(m.EmptyValue,{});let a=String(i);return Js(e)?(0,v.jsx)(Qs,{text:a}):(0,v.jsxs)(`span`,{className:`inline-flex max-w-full items-center gap-1 group/phone`,children:[(0,v.jsxs)(`a`,{href:`tel:${a}`,className:`inline-flex min-w-0 items-center gap-1 text-blue-600 hover:text-blue-800`,onClick:e=>e.stopPropagation(),children:[(0,v.jsx)(h.Phone,{className:`h-3 w-3 shrink-0`}),(0,v.jsx)(`span`,{className:`truncate`,children:a})]}),(0,v.jsx)(`button`,{type:`button`,className:`shrink-0 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(a).then(()=>{r(!0),setTimeout(()=>r(!1),2e3)}).catch(()=>{})},"aria-label":t(`detail.copyPhone`,`Copy phone number`),children:n?(0,v.jsx)(h.Check,{className:`h-3 w-3 text-green-600`}):(0,v.jsx)(h.Copy,{className:`h-3 w-3 text-muted-foreground`})})]})}function Hc({value:e,field:t}){let n=Ks();if(!e)return(0,v.jsx)(m.EmptyValue,{});t.multiple;let r=n?.(`fields.file.fileFallback`),i=!r||r===`fields.file.fileFallback`?`File`:r,a=(e,t)=>(0,v.jsx)(ye,{view:e,className:`text-sm`,fallback:(0,v.jsx)(Qs,{text:e.name,className:`text-sm`})},t),o=e=>{let t=n?.(`detail.fileCount`,{count:e});return!t||t===`detail.fileCount`?`${e} ${e===1?`file`:`files`}`:t};if(Array.isArray(e)){let t=q(e,i);return t.length===0?(0,v.jsx)(`span`,{className:`text-sm text-gray-600`,children:o(t.length)}):(0,v.jsx)(`span`,{className:`flex min-w-0 max-w-full flex-wrap items-center gap-x-2 gap-y-0.5`,children:t.map((e,t)=>a(e,t))})}return Js(e)&&Object.keys(e).length===0?(0,v.jsx)(m.EmptyValue,{}):a(fe(e,i))}function Uc(e){return q(e,``).filter(e=>e.url&&!e.metadataRefused).map(e=>({url:e.url,name:e.name||void 0}))}function Wc({value:e}){let{t}=(0,g.useObjectTranslation)(),[n,r]=u.default.useState(null),i=u.default.useMemo(()=>Uc(e),[e]),a=u.default.useMemo(()=>q(e,``).filter(e=>e.metadataRefused),[e]);if(!e||i.length===0&&a.length===0)return(0,v.jsx)(m.EmptyValue,{});let o=a.length>0&&(0,v.jsx)(`span`,{className:`inline-flex items-center gap-1 align-middle`,children:a.map((e,t)=>(0,v.jsx)(ve,{view:e,compact:!0,className:`size-8 justify-center rounded-md border bg-muted`},t))});if(i.length===0)return(0,v.jsx)(v.Fragment,{children:o});let s=(e,n)=>n||t(`fields.image.imageAlt`,{index:e+1}),c=e=>t=>{t.stopPropagation(),r(e)},l=i.length>1,d=n!==null&&(0,v.jsx)(se,{images:i,index:n,open:!0,onOpenChange:e=>!e&&r(null),onIndexChange:r});return l?(0,v.jsxs)(v.Fragment,{children:[(0,v.jsxs)(`div`,{className:`flex -space-x-2`,children:[i.slice(0,3).map((e,t)=>(0,v.jsx)(`img`,{src:e.url,alt:s(t,e.name),onClick:c(t),className:`size-8 cursor-zoom-in rounded-md border-2 border-background object-cover transition-transform hover:scale-110 hover:z-10`},t)),i.length>3&&(0,v.jsxs)(`button`,{type:`button`,onClick:c(3),className:`size-8 rounded-md border-2 border-background bg-muted flex items-center justify-center text-xs font-medium text-muted-foreground hover:bg-muted/80`,children:[`+`,i.length-3]})]}),o,d]}):(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(`img`,{src:i[0].url,alt:s(0,i[0].name),onClick:c(0),className:`size-10 cursor-zoom-in rounded-md object-cover transition-transform hover:scale-105`}),o,d]})}function Gc(e){return Uc(e.value).length>0?(0,v.jsx)(Wc,{...e}):(0,v.jsx)($s,{...e})}function Kc(e){if(e!=null&&e!==``){if(typeof e==`object`){let t=e.id??e._id;return typeof t==`number`||typeof t==`string`&&t!==``?t:void 0}if(typeof e==`string`||typeof e==`number`)return e}}function qc({objectName:e,recordId:t,className:n,children:r}){let i=(0,g.useRelatedRecordActions)(),a=e&&t!=null&&t!==``&&i?.recordHref?i.recordHref(e,t):null;return a?(0,v.jsx)(`a`,{href:a,className:(0,m.cn)(`text-primary underline-offset-4 hover:underline`,n),onClick:n=>{n.stopPropagation(),!(n.metaKey||n.ctrlKey||n.shiftKey||n.altKey||n.button!==0)&&i?.openRecord&&(n.preventDefault(),i.openRecord(e,t))},children:r}):(0,v.jsx)(v.Fragment,{children:r})}var Jc=3;function Yc({value:e,field:t}){let n=t.reference,r=t.displayField||t.reference_field||void 0,i=Vs(n),a=(0,_.usePermissions)(),o=(()=>{if(Array.isArray(e))return e.find(e=>e!=null&&(typeof e==`string`||typeof e==`number`)&&e!==``);if(e!=null&&e!==``&&(typeof e==`string`||typeof e==`number`)&&typeof e!=`object`)return e})(),s=Ws(n,o,r,a);if((0,d.isEmptyValue)(e))return(0,v.jsx)(m.EmptyValue,{});if(typeof e==`string`){let t=e.trim();if(t.startsWith(`{`)&&t.endsWith(`}`)){let e=``,o;try{let s=JSON.parse(t);s&&typeof s==`object`&&(e=Hs(s,i,r,a,n)||String(s.externalId??s.id??s._id??``),o=Kc(s))}catch{}if(e)return(0,v.jsx)(qc,{objectName:n,recordId:o,children:(0,v.jsx)(Qs,{text:e})})}}if(!Array.isArray(e)&&typeof e==`object`){let t=e,o=Hs(t,i,r,a,n)||String(t.id||t._id||``);if(o)return(0,v.jsx)(qc,{objectName:n,recordId:Kc(t),children:(0,v.jsx)(Qs,{text:o})})}let c=t.options||[],l=e=>{if(c.length>0){let t=c.find(t=>String(t.value)===String(e));if(t)return{text:t.label,unresolved:!1}}return e===o&&s?{text:s,unresolved:!1}:{text:String(e),unresolved:!0}};if(Array.isArray(e)){let t=e=>{if(typeof e==`object`&&e)return{label:Hs(e,i,r,a,n)||String(e.id||e._id||`[Object]`),unresolved:!1};let t=l(e);return{label:t.text,unresolved:t.unresolved}},o=e.slice(0,Jc),s=e.slice(Jc);return(0,v.jsxs)(`div`,{className:`flex flex-wrap gap-1`,children:[o.map((e,r)=>{let{label:i,unresolved:a}=t(e);return(0,v.jsx)(qc,{objectName:n,recordId:Kc(e),className:`text-inherit`,children:(0,v.jsx)(`span`,{className:(0,m.cn)(`inline-flex items-center px-2 py-0.5 rounded text-xs font-medium`,a?`bg-muted/40 text-muted-foreground`:`bg-gray-50 text-gray-700 dark:bg-gray-800/50 dark:text-gray-200`),children:a?(0,v.jsx)(Qc,{value:i}):i})},r)}),s.length>0&&(0,v.jsxs)(`span`,{className:`inline-flex items-center px-2 py-0.5 rounded text-xs font-medium bg-muted/40 text-muted-foreground`,title:s.map(e=>t(e).label).join(`, `),children:[`+`,s.length]})]})}if(typeof e==`object`&&e){let t=Hs(e,i,r,a,n)||String(e.id||e._id||`[Object]`);return(0,v.jsx)(qc,{objectName:n,recordId:Kc(e),children:(0,v.jsx)(Qs,{text:t})})}let{text:u,unresolved:f}=l(e);return(0,v.jsx)(qc,{objectName:n,recordId:Kc(e),children:f?(0,v.jsx)(Qc,{value:u}):(0,v.jsx)(Qs,{text:u})})}function Xc({value:e,field:t}){let n=(0,p.useDisplayLocale)(),r=U(),i=Z(e);if((0,d.isEmptyValue)(i))return(0,v.jsx)(m.EmptyValue,{});let a=(t&&`returnType`in t?t.returnType:void 0)??(typeof e==`number`?`number`:`text`);return a===`number`?(0,v.jsx)(ec,{value:e,field:t}):a===`currency`?(0,v.jsx)(nc,{value:e,field:t}):a===`boolean`?typeof e==`boolean`?(0,v.jsx)(`span`,{children:r(e)}):(0,v.jsx)(m.EmptyValue,{}):a===`date`?!i||isNaN((0,d.toDisplayDate)(i).getTime())?(0,v.jsx)(m.EmptyValue,{}):(0,v.jsx)(`span`,{className:`tabular-nums`,children:(0,d.formatDate)(i,void 0,{locale:n})}):(0,v.jsx)($s,{value:e,field:t})}function Zc({value:e,className:t}){let n=Ks(),r=String(e),i=n?.(`detail.unresolvedReference`,{value:r}),a=!i||i===`detail.unresolvedReference`?`Unresolved reference: ${r} was not resolved to a user`:i;return(0,v.jsx)($c,{raw:r,hint:a,className:t})}function Qc({value:e,className:t}){let n=Ks(),r=String(e),i=n?.(`detail.unresolvedLookupReference`,{value:r}),a=!i||i===`detail.unresolvedLookupReference`?`Unresolved reference: ${r} was not resolved to a record on this screen`:i;return(0,v.jsx)($c,{raw:r,hint:a,className:t})}function $c({raw:e,hint:t,className:n}){return(0,v.jsxs)(`span`,{"data-slot":`unresolved-reference`,className:(0,m.cn)(`inline-flex min-w-0 max-w-full items-center gap-1 text-muted-foreground`,n),title:t,children:[(0,v.jsx)(h.CircleQuestionMark,{className:`size-3.5 shrink-0`,"aria-hidden":`true`}),(0,v.jsx)(`span`,{className:`truncate`,children:e})]})}function el({value:e,field:t}){let n=(0,_.usePermissions)(),r=t?.reference||`sys_user`;if((0,d.isEmptyValue)(e)||!e)return(0,v.jsx)(m.EmptyValue,{});if(typeof e!=`object`)return(0,v.jsx)(Zc,{value:e});if(Array.isArray(e))return(0,v.jsxs)(`div`,{className:`flex -space-x-2`,children:[e.slice(0,3).map((e,t)=>{if(typeof e!=`object`||!e)return(0,v.jsx)(Zc,{value:e,className:`text-sm`},t);let i=(0,d.withoutDeniedFields)(e,n,r);if(Js(i)&&Object.keys(i).length===0)return(0,v.jsx)(Qs,{text:String(Z(i)),className:`text-sm`},t);let a=i.name||i.username||`User`,o=a.split(` `).map(e=>e[0]).join(``).toUpperCase().slice(0,2);return(0,v.jsxs)(m.Avatar,{className:`size-8 border-2 border-white`,title:a,children:[i.image&&(0,v.jsx)(m.AvatarImage,{src:i.image,alt:a}),(0,v.jsx)(m.AvatarFallback,{className:`bg-blue-500 text-white text-xs`,children:o})]},t)}),e.length>3&&(0,v.jsx)(m.Avatar,{className:`size-8 border-2 border-white`,children:(0,v.jsxs)(m.AvatarFallback,{className:`bg-gray-200 text-gray-600 text-xs`,children:[`+`,e.length-3]})})]});let i=(0,d.withoutDeniedFields)(e,n,r);if(Object.keys(i).length===0)return(0,v.jsx)(Qs,{text:String(Z(i))});let a=i.name||i.username||`User`,o=a.split(` `).map(e=>e[0]).join(``).toUpperCase().slice(0,2);return(0,v.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,v.jsxs)(m.Avatar,{className:`size-8`,children:[i.image&&(0,v.jsx)(m.AvatarImage,{src:i.image,alt:a}),(0,v.jsx)(m.AvatarFallback,{className:`bg-blue-500 text-white text-xs`,children:o})]}),(0,v.jsx)(Qs,{text:String(a)})]})}var tl=new Map;function nl(e,t){tl.set(e,t)}var rl=`record_pointer_card`;function il(e,t,n){if(!e||!t||e.type!==`text`)return null;let r=e.referenceVia;if(typeof r!=`string`||r===``)return null;let i=t[e.name],a=t[r];if(typeof i!=`string`||i.trim()===``||typeof a!=`string`||a.trim()===``)return null;let o=al(e.referenceDeletedWhen,t,n);return o===null?{objectName:a,recordId:i}:{objectName:a,recordId:i,deletedLabel:o}}function al(e,t,n){if(!e||typeof e.field!=`string`||typeof e.value!=`string`||t[e.field]!==e.value)return null;let r=n?.(e.field)?.find(t=>t?.value===e.value)?.label;return typeof r==`string`&&r.trim()!==``?r:null}function ol(e){if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.objectName==`string`&&typeof t.recordId==`string`}function sl({value:e,field:t}){let n=ol(e)?e.deletedLabel??e.recordId:e;return(0,v.jsx)($s,{value:n,field:t})}var cl={phone:`phone`,tel:`phone`,telephone:`phone`,email:`email`,url:`url`,uri:`url`,link:`url`,currency:`currency`,money:`currency`,percent:`percent`,percentage:`percent`},ll=new Set([`text`,`textarea`,`string`,`longtext`,``]),ul=new Set([`object-ref`,`recipient-picker`]);function dl(e){if(!e)return`text`;if(typeof e==`string`)return e;let t=(e.type||``).toLowerCase(),n=e.widget;if(typeof n==`string`&&ul.has(n)&&ll.has(t))return n;let r=e.format,i=typeof r==`string`?r.toLowerCase():``;return i&&cl[i]&&ll.has(t)?cl[i]:e.type||`text`}function fl(e){if(typeof e!=`object`)return String(e);try{return JSON.stringify(e)}catch{return String(e)}}function pl({value:e}){if((0,d.isEmptyValue)(e)&&!Array.isArray(e))return(0,v.jsx)(m.EmptyValue,{});let t=fl(e);return(0,v.jsx)(Qs,{text:t,className:`font-mono text-xs text-gray-600`})}var ml={name:``,type:`number`},hl=` · `;function gl(e){return e.map(e=>`group`in e?`${e.label} (${gl(e.group)})`:`${e.label} ${e.face.text}`).join(hl)}function _l(e){return e.map((e,t)=>(0,v.jsxs)(`div`,{className:`inline`,children:[(0,v.jsxs)(`dt`,{className:(0,m.cn)(`inline`,`group`in e?`font-medium`:`text-muted-foreground`),children:[t>0&&(0,v.jsx)(`span`,{"aria-hidden":`true`,className:`font-normal text-muted-foreground`,children:hl}),e.label]}),` `,(0,v.jsx)(`dd`,{className:`inline`,children:`group`in e?(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(`span`,{"aria-hidden":`true`,className:`text-muted-foreground`,children:`(`}),(0,v.jsx)(`dl`,{className:`inline`,children:_l(e.group)}),(0,v.jsx)(`span`,{"aria-hidden":`true`,className:`text-muted-foreground`,children:`)`})]}):e.face.node})]},e.key))}function vl({value:e,field:t,groupEntries:n}){let r=(0,p.useDisplayLocale)(),i=U();if((0,d.isEmptyValue)(e)&&!Array.isArray(e))return(0,v.jsx)(m.EmptyValue,{});if(!Js(e)||Object.keys(e).length===0)return(0,v.jsx)(pl,{value:e,field:t});let a=e=>{if((0,d.isEmptyValue)(e)&&!Array.isArray(e))return{node:(0,v.jsx)(m.EmptyValue,{}),text:`—`};if(typeof e==`boolean`){let t=i(e);return{node:t,text:t}}if(typeof e==`number`&&Number.isFinite(e)){let t=R(e,ml,r);return{node:(0,v.jsx)(`span`,{className:`tabular-nums`,children:t}),text:t}}if(Array.isArray(e)||Js(e)){let t=fl(e);return{node:(0,v.jsx)(`span`,{className:`font-mono`,children:t}),text:t}}let t=String(Z(e));return{node:t,text:t}},o=e=>Object.entries(e).map(([e,t])=>({key:e,label:(0,d.humanizeLabel)(e),face:a(t)})),s=Object.entries(e).map(([e,t])=>n&&Js(t)&&Object.keys(t).length>0?{key:e,label:(0,d.humanizeLabel)(e),group:o(t)}:{key:e,label:(0,d.humanizeLabel)(e),face:a(t)});return(0,v.jsx)(`dl`,{className:`block max-w-full truncate`,title:gl(s),children:_l(s)})}function yl(e){return(0,v.jsx)(vl,{...e,groupEntries:!1})}function bl(e){return(0,v.jsx)(vl,{...e,groupEntries:!0})}function xl({value:e}){if((0,d.isEmptyValue)(e))return(0,v.jsx)(m.EmptyValue,{});if(Js(e)){let t=Z(e);return qs(t)?(0,v.jsx)(m.EmptyValue,{}):(0,v.jsx)(Qs,{text:String(t)})}let t=String(e);return qs(t)?(0,v.jsx)(m.EmptyValue,{}):(0,v.jsxs)(`span`,{className:`inline-flex items-center gap-1.5 text-sm`,children:[(0,v.jsx)(`span`,{className:`h-3.5 w-3.5 rounded border border-black/10 shrink-0`,style:{backgroundColor:t},"aria-hidden":`true`}),(0,v.jsx)(`span`,{className:`font-mono text-xs`,children:t})]})}function Sl({value:e}){if((0,d.isEmptyValue)(e)&&!Array.isArray(e))return(0,v.jsx)(m.EmptyValue,{});let t,n;if(typeof e==`object`&&!Array.isArray(e)){let r=e;t=typeof r.lat==`number`?r.lat:typeof r.latitude==`number`?r.latitude:void 0,n=typeof r.lng==`number`?r.lng:typeof r.lon==`number`?r.lon:typeof r.longitude==`number`?r.longitude:void 0}else if(Array.isArray(e)&&e.length===2)t=Number(e[0]),n=Number(e[1]);else if(typeof e==`string`){let r=e.split(`,`).map(e=>parseFloat(e.trim()));r.length===2&&!isNaN(r[0])&&!isNaN(r[1])&&([t,n]=r)}return typeof t==`number`&&typeof n==`number`&&!isNaN(t)&&!isNaN(n)?(0,v.jsxs)(`span`,{className:`inline-flex items-center gap-1 text-sm tabular-nums`,children:[(0,v.jsx)(h.MapPin,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground`,"aria-hidden":`true`}),t.toFixed(4),`, `,n.toFixed(4)]}):(0,v.jsx)(pl,{value:e,field:{}})}function Cl({value:e}){let t=(0,p.useDisplayLocale)();if((0,d.isEmptyValue)(e)&&!Array.isArray(e))return(0,v.jsx)(m.EmptyValue,{});if(typeof e==`string`)return(0,v.jsx)(Qs,{text:e,className:`text-sm`});if(typeof e==`object`&&!Array.isArray(e)){let n=ee(e,t);if(n)return(0,v.jsx)(Qs,{text:n,className:`text-sm`});if(Object.keys(e).length===0)return(0,v.jsx)(m.EmptyValue,{})}return(0,v.jsx)(pl,{value:e,field:{}})}function wl({value:e}){let t=Ks(),n=Array.isArray(e)?e.length:0;if(n===0)return(0,v.jsx)(m.EmptyValue,{});let r=t?.(`detail.repeaterItemCount`,{count:n}),i=!r||r===`detail.repeaterItemCount`?`${n} ${n===1?`item`:`items`}`:r;return(0,v.jsx)(`span`,{className:`text-gray-500 italic`,children:i})}function Tl({value:e}){return(0,d.isEmptyValue)(Z(e))?(0,v.jsx)(m.EmptyValue,{}):(0,v.jsx)(`span`,{children:`••••••`})}var El=new Set([`password`,`secret`]);function Dl(e){if(!e)return!1;let t=Al(),n=tl.has(e)?tl.get(e):t[e];return n===Tl?!0:El.has(e)?!Object.values(t).some(e=>e===n):!1}function Ol({value:e}){return(0,d.isEmptyValue)(e)?(0,v.jsx)(m.EmptyValue,{}):(0,v.jsx)(`span`,{className:`text-gray-500 italic`,children:`[Vector]`})}function kl({value:e}){return(0,d.isEmptyValue)(e)?(0,v.jsx)(m.EmptyValue,{}):(0,v.jsx)(`span`,{className:`text-gray-500 italic`,children:`[Grid]`})}function Al(){return{text:$s,textarea:$s,...je,code:$s,qrcode:$s,number:ec,currency:nc,percent:rc,progress:rc,slider:ec,rating:tc,boolean:ac,toggle:ac,date:cc,datetime:lc,time:$s,select:Rc,status:Rc,multiselect:Rc,radio:Rc,checkboxes:Rc,tags:Rc,lookup:Yc,master_detail:Yc,tree:Yc,email:zc,url:Bc,phone:Vc,file:Hc,video:Hc,audio:Hc,image:Wc,avatar:Wc,signature:Gc,formula:Xc,summary:Xc,auto_number:$s,user:el,...Object.fromEntries([...El].map(e=>[e,Tl])),location:Sl,geolocation:Sl,address:Cl,color:xl,json:pl,object:pl,composite:yl,record:bl,repeater:wl,vector:Ol,grid:kl}}function jl(){return[...new Set([...tl.keys(),...Object.keys(Al())])].sort()}function Ml(e){return tl.has(e)?tl.get(e):((0,d.reportRetiredFieldType)(e),Al()[e]||$s)}nl(`lookup`,Yc),nl(`master_detail`,Yc),nl(`select`,Rc),nl(`status`,Rc),nl(`user`,el),nl(rl,sl),nl(`object-ref`,$s),nl(`recipient-picker`,$s),Pe(Ml);function Nl(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]}`}var Pl=new WeakMap;function Fl(e){let t=Pl.get(e);return t||(t=(0,f.valueSchemaFor)(e,`stored`),Pl.set(e,t)),t}function Il(e){return t=>{if((0,d.isMissingForRequired)(t))return!0;let n=Fl(e).safeParse(t);return n.success?!0:`Invalid location: ${n.error.issues.map(e=>`${e.path.join(`.`)||`value`}: ${e.message}`).join(`; `)}`}}function Ll(e){let t={};e.required&&(t.required=typeof e.required_message!=`string`||e.required_message);let n=e.minLength;n&&(t.minLength={value:n,message:typeof e.min_length_message==`string`?e.min_length_message:void 0,messageKey:`validation.minLength`});let r=e.maxLength;return r&&(t.maxLength={value:r,message:typeof e.max_length_message==`string`?e.max_length_message:void 0,messageKey:`validation.maxLength`}),e.min!==void 0&&(t.min={value:e.min,message:typeof e.min_message==`string`?e.min_message:void 0,messageKey:`validation.min`}),e.max!==void 0&&(t.max={value:e.max,message:typeof e.max_message==`string`?e.max_message:void 0,messageKey:`validation.max`}),e.type===`email`&&(t.pattern={value:/^[^\s@]+@[^\s@]+\.[^\s@]+$/,message:void 0,messageKey:`validation.email`}),e.type===`url`&&(t.pattern={value:/^https?:\/\/.+/,message:void 0,messageKey:`validation.url`}),e.type===`location`&&(t.validate={location:Il(e)}),Object.keys(t).length>0?t:void 0}function Rl(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=>Rl(e,t)):e.or&&Array.isArray(e.or)?e.or.some(e=>Rl(e,t)):!0}var zl={text:()=>Promise.resolve().then(()=>(st(),at)).then(e=>({default:e.TextField})),textarea:()=>Promise.resolve().then(()=>(ft(),ut)).then(e=>({default:e.TextAreaField})),number:()=>Promise.resolve().then(()=>(bt(),vt)).then(e=>({default:e.NumberField})),boolean:()=>Promise.resolve().then(()=>(zt(),Lt)).then(e=>({default:e.BooleanField})),select:()=>Promise.resolve().then(()=>(Xt(),qt)).then(e=>({default:e.SelectField})),date:()=>Promise.resolve().then(()=>(Ji(),Wi)).then(e=>({default:e.DatePickerField})),datetime:()=>Promise.resolve().then(()=>(Ji(),Wi)).then(e=>({default:e.DateTimePickerField})),time:()=>Promise.resolve().then(()=>(dn(),ln)).then(e=>({default:e.TimeField})),email:()=>Promise.resolve().then(()=>(mn(),fn)).then(e=>({default:e.EmailField})),phone:()=>Promise.resolve().then(()=>(_n(),hn)).then(e=>({default:e.PhoneField})),url:()=>Promise.resolve().then(()=>(bn(),vn)).then(e=>({default:e.UrlField})),multiselect:()=>Promise.resolve().then(()=>(Kt(),Wt)).then(e=>({default:e.MultiSelectField})),radio:()=>Promise.resolve().then(()=>($t(),Zt)).then(e=>({default:e.RadioField})),checkboxes:()=>Promise.resolve().then(()=>(nn(),en)).then(e=>({default:e.CheckboxesField})),tags:()=>Promise.resolve().then(()=>(on(),rn)).then(e=>({default:e.TagsField})),currency:()=>Promise.resolve().then(()=>(Ct(),xt)).then(e=>({default:e.CurrencyField})),percent:()=>Promise.resolve().then(()=>(Dt(),wt)).then(e=>({default:e.PercentField})),password:()=>Promise.resolve().then(()=>(ca(),oa)).then(e=>({default:e.PasswordField})),markdown:()=>Promise.resolve().then(()=>(pa(),la)).then(e=>({default:e.RichTextField})),html:()=>Promise.resolve().then(()=>(pa(),la)).then(e=>({default:e.RichTextField})),richtext:()=>Promise.resolve().then(()=>(pa(),la)).then(e=>({default:e.RichTextField})),lookup:()=>Promise.resolve().then(()=>(Lr(),Sr)).then(e=>({default:e.LookupField})),master_detail:()=>Promise.resolve().then(()=>(Lr(),Sr)).then(e=>({default:e.LookupField})),file:()=>Promise.resolve().then(()=>(So(),vo)).then(e=>({default:e.FileField})),image:()=>Promise.resolve().then(()=>(ko(),Eo)).then(e=>({default:e.ImageField})),location:()=>Promise.resolve().then(()=>(ui(),Jr)).then(e=>({default:e.LocationField})),formula:()=>Promise.resolve().then(()=>(Mo(),Ao)).then(e=>({default:e.FormulaField})),summary:()=>Promise.resolve().then(()=>(Fo(),No)).then(e=>({default:e.SummaryField})),auto_number:()=>Promise.resolve().then(()=>(Ro(),Io)).then(e=>({default:e.AutoNumberField})),user:()=>Promise.resolve().then(()=>(Vr(),Rr)).then(e=>({default:e.UserField})),object:()=>Promise.resolve().then(()=>(Ci(),yi)).then(e=>({default:e.ObjectField})),vector:()=>Promise.resolve().then(()=>(Vo(),zo)).then(e=>({default:e.VectorField})),grid:()=>Promise.resolve().then(()=>(hs(),Ho)).then(e=>({default:e.GridField})),color:()=>Promise.resolve().then(()=>(Wr(),Hr)).then(e=>({default:e.ColorField})),slider:()=>Promise.resolve().then(()=>(Nt(),jt)).then(e=>({default:e.SliderField})),rating:()=>Promise.resolve().then(()=>(It(),Pt)).then(e=>({default:e.RatingField})),code:()=>Promise.resolve().then(()=>(vi(),gi)).then(e=>({default:e.CodeField})),avatar:()=>Promise.resolve().then(()=>(vs(),gs)).then(e=>({default:e.AvatarField})),address:()=>Promise.resolve().then(()=>(qr(),Gr)).then(e=>({default:e.AddressField})),geolocation:()=>Promise.resolve().then(()=>(hi(),di)).then(e=>({default:e.GeolocationField})),signature:()=>Promise.resolve().then(()=>(xs(),ys)).then(e=>({default:e.SignatureField})),qrcode:()=>Promise.resolve().then(()=>(Ei(),wi)).then(e=>({default:e.QRCodeField})),"object-ref":()=>Promise.resolve().then(()=>(Ca(),xa)).then(e=>({default:e.ObjectRefField})),"filter-condition":()=>Promise.resolve().then(()=>(Ga(),wa)).then(e=>({default:e.FilterConditionField})),"recipient-picker":()=>Promise.resolve().then(()=>(to(),Za)).then(e=>({default:e.RecipientPickerField})),"position-ref":()=>Promise.resolve().then(()=>(Is(),Cs)).then(e=>({default:e.PositionRefField})),"permission-ref":()=>Promise.resolve().then(()=>(Is(),Cs)).then(e=>({default:e.PermissionRefField}))},Bl=zl,Vl=Object.freeze(Object.keys(zl));function Hl(e){if(Bl[e]||d.RETIRED_FIELD_TYPES[e])return e;let t=Be(e).replace(/^field:/,``);return Bl[t]?t:`text`}var Ul=new Map;function Wl(e){let t=Hl(e);if(d.RETIRED_FIELD_TYPES[t])return Xl(t);let n=Ul.get(t);return n||(n=u.default.lazy(Bl[t]),Ul.set(t,n)),n}var Gl=new Set(`text.html.image.avatar.grid.textarea.select.email.password.slider.markdown.code.time.address.object-ref.filter-condition.recipient-picker.position-ref.permission-ref.auto_number.boolean.checkboxes.color.currency.date.datetime.file.formula.geolocation.location.lookup.master_detail.multiselect.number.object.percent.phone.qrcode.radio.rating.richtext.signature.summary.tags.url.user.vector`.split(`.`)),Kl={text:`control`,textarea:`control`,number:`control`,boolean:`control`,select:`control`,date:`control`,datetime:`control`,time:`control`,email:`control`,phone:`control`,url:`control`,multiselect:`group`,radio:`group`,checkboxes:`group`,tags:`control`,currency:`control`,percent:`control`,password:`control`,markdown:`control`,html:`control`,richtext:`control`,lookup:`control`,master_detail:`control`,file:`group`,image:`control`,location:`control`,formula:`display`,summary:`display`,auto_number:`display`,user:`control`,object:`control`,vector:`display`,grid:`group`,color:`control`,slider:`group`,rating:`group`,code:`control`,avatar:`control`,address:`group`,geolocation:`group`,signature:`group`,qrcode:`control`,"object-ref":`control`,"filter-condition":`control`,"recipient-picker":`control`,"position-ref":`control`,"permission-ref":`control`};function ql(e){let t=Bl[e];if(!t){console.warn(`Unknown field type: ${e}`);return}let n=u.default.lazy(t),r=Kl[e];d.ComponentRegistry.register(e,E(n),{namespace:`field`,skipFallback:Gl.has(e),...r===`control`?null:{labelling:r}})}var Jl=e=>{let t=e?.retiredFieldType??e?.field?.type??e?.schema?.type??e?.type??`unknown`,n=d.RETIRED_FIELD_TYPES[t]??`[object-ui] Field type \`${t}\` was retired.`;return u.default.useEffect(()=>{(0,d.reportRetiredFieldType)(t)},[t]),(0,v.jsx)(`div`,{role:`alert`,"data-testid":`field-retired-tombstone`,"data-retired-field-type":t,className:`rounded-md border border-destructive/50 bg-destructive/10 px-3 py-2 text-sm text-destructive`,children:n})},Yl=new Map;function Xl(e){let t=Yl.get(e);if(!t){let n=t=>(0,v.jsx)(Jl,{...t,retiredFieldType:e});n.displayName=`RetiredFieldTombstone(${e})`,t=n,Yl.set(e,t)}return t}function Zl(){Object.keys(zl).forEach(e=>{ql(e)}),Object.keys(d.RETIRED_FIELD_TYPES).forEach(e=>{d.ComponentRegistry.register(e,Xl(e),{namespace:`field`,skipFallback:!0})})}Zl(),exports.AddressCellRenderer=Cl,exports.AddressField=Kr,exports.AutoNumberField=Lo,exports.AvatarField=_s,exports.BooleanCellRenderer=ac,exports.BooleanField=Rt,Object.defineProperty(exports,"CASCADE_OPTION_WIDGET_TYPES",{enumerable:!0,get:function(){return d.CASCADE_OPTION_WIDGET_TYPES}}),exports.CapabilityMultiSelectField=va,exports.CheckboxesField=tn,exports.CodeField=_i,exports.ColorField=Ur,exports.ColorSwatchCellRenderer=xl,exports.CurrencyCellRenderer=nc,exports.CurrencyField=St,exports.DISCRETE_EDIT_TYPES=ea,exports.DateCellRenderer=cc,exports.DateField=Oi,exports.DateTimeCellRenderer=lc,exports.DateTimeField=Ai,exports.EmailCellRenderer=zc,exports.EmailField=pn,exports.FIELD_RECIPIENT_TYPE=Ya,exports.FIELD_WIDGET_LABELLING=Kl,exports.FILE_STORAGE_BASE_PATH=he,exports.FILTER_CONDITION_EXTRA_OPERATORS=Ha,exports.FORM_FIELD_TYPES=Vl,exports.FieldEditWidget=aa,exports.FileCell=xo,exports.FileCellRenderer=Hc,exports.FileField=bo,exports.FilterConditionField=Ba,exports.FormulaCellRenderer=Xc,exports.FormulaField=jo,exports.GeolocationField=fi,exports.GridField=ss,exports.HtmlCellRenderer=Oe,exports.INLINE_EXCLUDED_FIELD_TYPES=$i,exports.ImageCellRenderer=Wc,exports.ImageCropperDialog=wo,exports.ImageField=Do,exports.JsonCellRenderer=pl,exports.LineItemsField=ms,exports.LocationCellRenderer=Sl,exports.LocationField=si,exports.LookupCellRenderer=Yc,exports.LookupField=jr,exports.MASKED_FIELD_TYPES=El,exports.MarkdownCellRenderer=Ee,exports.MaskedCellRenderer=Tl,exports.MasterDetailField=Ss,exports.MultiSelectField=Gt,exports.NumberCellRenderer=ec,exports.NumberField=yt,exports.ObjectField=Si,exports.ObjectRefField=Sa,exports.PasswordField=sa,exports.PercentCellRenderer=rc,exports.PercentField=Tt,exports.PhoneCellRenderer=Vc,exports.PhoneField=gn,exports.QRCodeField=Ti,exports.RECIPIENT_RECORD_KINDS=qa,exports.RECIPIENT_REGISTRY_KINDS=Ja,exports.RECORD_POINTER_CARD_TYPE=rl,exports.RESOLVED_ONLY_PARAM_KEYS=Je,Object.defineProperty(exports,"RETIRED_FIELD_TYPES",{enumerable:!0,get:function(){return d.RETIRED_FIELD_TYPES}}),exports.RICH_TEXT_FIELD_TYPES=Me,exports.RadioField=Qt,exports.RatingField=Ft,exports.RecipientPickerField=eo,exports.RecordPickerDialog=Rn,exports.RetiredFieldTombstone=Jl,exports.RichTextField=fa,exports.SelectCellRenderer=Rc,exports.SelectField=Jt,exports.SignatureField=bs,exports.SliderField=Mt,exports.SummaryField=Po,exports.TagsField=an,exports.TextAreaField=dt,exports.TextCellRenderer=$s,exports.TextField=ot,exports.TimeField=un,exports.UnresolvedReferenceMark=$c,exports.UploadIncompleteError=ge,exports.UploadingScopeProvider=ro,exports.UrlCellRenderer=Bc,exports.UrlField=yn,exports.UserCellRenderer=el,exports.UserField=Br,exports.VectorField=Bo,exports.buildValidationRules=Ll,exports.coerceToSafeValue=Z,exports.computeRow=Zo,exports.condToMongo=Ma,exports.deriveHexBadgePalette=kc,exports.deriveLookupColumns=yr,exports.deriveUserFields=$a,exports.evalArith=Ko,exports.evaluateCondition=Rl,exports.fieldHelpText=Ve,exports.fieldHoldsUsers=Qa,exports.fileIdOf=de,exports.fileUrlFromId=G,exports.fileValueForSubmit=pe,exports.formatCompactCurrency=Ys,exports.formatCurrency=B,exports.formatDate=d.formatDate,exports.formatDateTime=d.formatDateTime,exports.formatDateTimeCompactParts=d.formatDateTimeCompactParts,exports.formatFileSize=Nl,exports.formatNumber=Xs,exports.formatPercent=Zs,exports.formatRelativeDate=d.formatRelativeDate,Object.defineProperty(exports,"fromDateTimeInputValue",{enumerable:!0,get:function(){return d.fromDateTimeInputValue}}),exports.getBadgeColorClasses=Pc,exports.getBadgeHexAppearance=Mc,exports.getCellRenderer=Ml,exports.getDotHexAppearance=Nc,exports.getLazyFieldWidget=Wl,exports.getSemanticColorName=Fc,exports.getSemanticHex=Lc,exports.hasFieldEditWidget=na,exports.humanizeLabel=d.humanizeLabel,exports.isFileIdToken=f.isFileIdToken,exports.isImageValue=J,exports.isInlineExcludedFieldType=ra,exports.isLikelyOpaqueId=Us,exports.isMaskedFieldType=Dl,exports.isMatchAllCriteria=Ra,Object.defineProperty(exports,"isRetiredFieldType",{enumerable:!0,get:function(){return d.isRetiredFieldType}}),exports.kvToCondition=Ia,exports.listCellRendererTypes=jl,exports.lookupAutofillPatch=qo,exports.lookupFiltersToRecord=Nn,exports.mapFieldTypeToFormType=Be,exports.objectRefOptionLabel=ya,exports.parseCapabilityNames=ha,exports.percentCellScale=V,exports.pickRecordDisplayName=Rs,exports.readFileValue=fe,exports.readFileValues=q,exports.recipientCandidateLabel=Ka,exports.registerAllFields=Zl,exports.registerField=ql,exports.registerFieldRenderer=nl,Object.defineProperty(exports,"reportRetiredFieldType",{enumerable:!0,get:function(){return d.reportRetiredFieldType}}),Object.defineProperty(exports,"resetRetiredFieldTypeReports",{enumerable:!0,get:function(){return d.resetRetiredFieldTypeReports}}),exports.resolveActionParam=$e,exports.resolveActionParams=tt,exports.resolveCellRendererType=dl,Object.defineProperty(exports,"resolveFieldCurrency",{enumerable:!0,get:function(){return p.resolveFieldCurrency}}),exports.resolveFormWidgetType=Hl,exports.resolveParamWidgetType=Ue,exports.resolveRecordPointer=il,exports.sumColumn=rs,Object.defineProperty(exports,"toDateInputValue",{enumerable:!0,get:function(){return d.toDateInputValue}}),Object.defineProperty(exports,"toDateTimeInputValue",{enumerable:!0,get:function(){return d.toDateTimeInputValue}}),exports.toDomProps=Q,exports.toHostProps=it,exports.uploadResultView=me,exports.useBooleanValueLabel=U,exports.useUploadingScope=no,exports.useUploadingSignal=uo,exports.withFieldCarrier=E,exports.withKnownObjects=et,exports.withRecentUploads=Y;