@object-ui/fields 17.5.0 → 17.6.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.
Files changed (229) hide show
  1. package/CHANGELOG.md +714 -0
  2. package/dist/FieldEditWidget.d.ts +16 -2
  3. package/dist/field-type-alias.d.ts +16 -0
  4. package/dist/index.cjs +4 -4
  5. package/dist/index.css +27 -9
  6. package/dist/index.d.ts +425 -72
  7. package/dist/index.js +2530 -2228
  8. package/dist/widgets/AddressField.d.ts +3 -3
  9. package/dist/widgets/AutoNumberField.d.ts +1 -1
  10. package/dist/widgets/AvatarField.d.ts +1 -1
  11. package/dist/widgets/BooleanField.d.ts +1 -1
  12. package/dist/widgets/CapabilityMultiSelectField.d.ts +1 -1
  13. package/dist/widgets/CheckboxesField.d.ts +1 -1
  14. package/dist/widgets/CodeField.d.ts +1 -1
  15. package/dist/widgets/ColorField.d.ts +1 -1
  16. package/dist/widgets/CurrencyField.d.ts +1 -1
  17. package/dist/widgets/DateField.d.ts +1 -1
  18. package/dist/widgets/DateTimeField.d.ts +1 -1
  19. package/dist/widgets/EmailField.d.ts +1 -1
  20. package/dist/widgets/FileField.d.ts +18 -2
  21. package/dist/widgets/FilterConditionField.d.ts +28 -1
  22. package/dist/widgets/FormulaField.d.ts +1 -1
  23. package/dist/widgets/FullscreenFieldEditor.d.ts +9 -2
  24. package/dist/widgets/GeolocationField.d.ts +1 -1
  25. package/dist/widgets/GridField.d.ts +56 -4
  26. package/dist/widgets/ImageField.d.ts +1 -1
  27. package/dist/widgets/LocationField.d.ts +1 -1
  28. package/dist/widgets/LookupField.d.ts +1 -1
  29. package/dist/widgets/MasterDetailField.d.ts +1 -1
  30. package/dist/widgets/MultiSelectField.d.ts +1 -1
  31. package/dist/widgets/NumberField.d.ts +1 -1
  32. package/dist/widgets/ObjectField.d.ts +1 -1
  33. package/dist/widgets/ObjectRefField.d.ts +1 -1
  34. package/dist/widgets/OptionsEmptyState.d.ts +13 -7
  35. package/dist/widgets/PasswordField.d.ts +1 -1
  36. package/dist/widgets/PercentField.d.ts +1 -1
  37. package/dist/widgets/PhoneField.d.ts +1 -1
  38. package/dist/widgets/QRCodeField.d.ts +1 -1
  39. package/dist/widgets/RadioField.d.ts +1 -1
  40. package/dist/widgets/RatingField.d.ts +1 -1
  41. package/dist/widgets/RecipientPickerField.d.ts +1 -1
  42. package/dist/widgets/RecordPickerDialog.d.ts +2 -4
  43. package/dist/widgets/RichTextField.d.ts +37 -1
  44. package/dist/widgets/SelectField.d.ts +1 -1
  45. package/dist/widgets/SignatureField.d.ts +32 -2
  46. package/dist/widgets/SliderField.d.ts +37 -2
  47. package/dist/widgets/SummaryField.d.ts +1 -1
  48. package/dist/widgets/TagsField.d.ts +1 -1
  49. package/dist/widgets/TextAreaField.d.ts +6 -2
  50. package/dist/widgets/TextField.d.ts +1 -1
  51. package/dist/widgets/TimeField.d.ts +1 -1
  52. package/dist/widgets/UrlField.d.ts +1 -1
  53. package/dist/widgets/UserField.d.ts +1 -1
  54. package/dist/widgets/VectorField.d.ts +1 -1
  55. package/dist/widgets/_cell-renderer-bridge.d.ts +1 -1
  56. package/dist/widgets/address-format.d.ts +27 -7
  57. package/dist/widgets/lookupColumnDisplay.d.ts +93 -0
  58. package/dist/widgets/richTextDisplay.d.ts +80 -0
  59. package/dist/widgets/toHostGroupProps.d.ts +119 -21
  60. package/dist/widgets/types.d.ts +8 -3
  61. package/package.json +9 -10
  62. package/dist/widgets/CharacterCount.d.ts +0 -56
  63. package/src/FieldEditWidget.test.ts +0 -133
  64. package/src/FieldEditWidget.tsx +0 -207
  65. package/src/__tests__/AddressCellRenderer.test.tsx +0 -166
  66. package/src/__tests__/CurrencyField.minorUnits.test.tsx +0 -191
  67. package/src/__tests__/CurrencyField.symbol.test.tsx +0 -198
  68. package/src/__tests__/DateCellRenderer.test.tsx +0 -82
  69. package/src/__tests__/NumberCellRenderer.grouping.test.tsx +0 -146
  70. package/src/__tests__/NumberCellRenderer.test.tsx +0 -60
  71. package/src/__tests__/PercentCellRenderer.locale.test.tsx +0 -152
  72. package/src/__tests__/PercentCellRenderer.test.tsx +0 -115
  73. package/src/__tests__/boolean-label-association-e2e.test.tsx +0 -298
  74. package/src/__tests__/capability-multiselect-retired.test.ts +0 -109
  75. package/src/__tests__/cell-truncation.test.tsx +0 -96
  76. package/src/__tests__/composite-group-label-e2e.test.tsx +0 -436
  77. package/src/__tests__/composite-group-label-readonly-e2e.test.tsx +0 -403
  78. package/src/__tests__/date-formatter-residue-4272.test.ts +0 -120
  79. package/src/__tests__/date-locale-channel.test.tsx +0 -305
  80. package/src/__tests__/field-carrier-sdui.test.tsx +0 -169
  81. package/src/__tests__/formatCurrency.centsDigit.test.tsx +0 -158
  82. package/src/__tests__/formatCurrency.minorUnits.test.tsx +0 -221
  83. package/src/__tests__/group-labelling-declaration.test.ts +0 -148
  84. package/src/__tests__/lookupCellDisplayField.test.tsx +0 -107
  85. package/src/__tests__/lookupCellDisplayName.test.tsx +0 -119
  86. package/src/__tests__/lookupCellRecordLink.test.tsx +0 -171
  87. package/src/__tests__/lookupCellReferenceKey.test.tsx +0 -57
  88. package/src/__tests__/percent-cell-vs-measure-4576.test.ts +0 -115
  89. package/src/__tests__/percent-formatter-locale-4553.test.ts +0 -147
  90. package/src/__tests__/percent-tie-halfup-4590.test.ts +0 -224
  91. package/src/__tests__/registry-collision.test.ts +0 -91
  92. package/src/__tests__/resolveFieldCurrency.test.ts +0 -20
  93. package/src/__tests__/select-label-association-e2e.test.tsx +0 -199
  94. package/src/__tests__/spec-symbol-batch7.test.ts +0 -126
  95. package/src/__tests__/validation-feedback.test.tsx +0 -361
  96. package/src/__tests__/widget-aria-invalid-e2e.test.tsx +0 -265
  97. package/src/__tests__/widget-aria-invalid-registry-e2e.test.tsx +0 -338
  98. package/src/__tests__/widget-dom-leak-e2e.test.tsx +0 -357
  99. package/src/__tests__/widget-props-contract.test.tsx +0 -142
  100. package/src/coerce-safe-value.test.ts +0 -34
  101. package/src/complex-widgets.test.tsx +0 -924
  102. package/src/currency.ts +0 -144
  103. package/src/datetime-widgets.test.tsx +0 -185
  104. package/src/field-type-alias.multiple.test.ts +0 -81
  105. package/src/field-type-alias.ts +0 -156
  106. package/src/field-type-coverage.test.ts +0 -67
  107. package/src/index.css +0 -44
  108. package/src/index.tsx +0 -2745
  109. package/src/standard-widgets.test.tsx +0 -364
  110. package/src/widgets/AddressField.postalCode.test.tsx +0 -257
  111. package/src/widgets/AddressField.tsx +0 -182
  112. package/src/widgets/AddressField.uniqueIds.test.tsx +0 -93
  113. package/src/widgets/AutoNumberField.tsx +0 -18
  114. package/src/widgets/AvatarField.tsx +0 -117
  115. package/src/widgets/BooleanField.tsx +0 -86
  116. package/src/widgets/CapabilityMultiSelectField.test.tsx +0 -168
  117. package/src/widgets/CapabilityMultiSelectField.tsx +0 -241
  118. package/src/widgets/CharacterCount.tsx +0 -263
  119. package/src/widgets/CheckboxesField.cascade.test.tsx +0 -143
  120. package/src/widgets/CheckboxesField.tsx +0 -169
  121. package/src/widgets/CodeField.tsx +0 -41
  122. package/src/widgets/ColorField.tsx +0 -53
  123. package/src/widgets/CurrencyField.tsx +0 -135
  124. package/src/widgets/DateField.tsx +0 -40
  125. package/src/widgets/DateTimeField.tsx +0 -46
  126. package/src/widgets/EmailField.tsx +0 -37
  127. package/src/widgets/FileField.tsx +0 -512
  128. package/src/widgets/FilterConditionField.tsx +0 -454
  129. package/src/widgets/FormulaField.tsx +0 -38
  130. package/src/widgets/FullscreenFieldEditor.tsx +0 -60
  131. package/src/widgets/GeolocationField.tsx +0 -193
  132. package/src/widgets/GeolocationField.uniqueIds.test.tsx +0 -88
  133. package/src/widgets/GridField.test.tsx +0 -632
  134. package/src/widgets/GridField.tsx +0 -1070
  135. package/src/widgets/ImageCropperDialog.tsx +0 -245
  136. package/src/widgets/ImageField.maxSize.test.tsx +0 -154
  137. package/src/widgets/ImageField.tsx +0 -305
  138. package/src/widgets/ImageLightbox.test.tsx +0 -52
  139. package/src/widgets/ImageLightbox.tsx +0 -108
  140. package/src/widgets/LocationField.tsx +0 -57
  141. package/src/widgets/LookupField.dependsOn.test.tsx +0 -233
  142. package/src/widgets/LookupField.gateHintLabel.test.tsx +0 -135
  143. package/src/widgets/LookupField.hydration.test.tsx +0 -136
  144. package/src/widgets/LookupField.idField.test.tsx +0 -61
  145. package/src/widgets/LookupField.tsx +0 -1295
  146. package/src/widgets/MarkdownContent.tsx +0 -19
  147. package/src/widgets/MasterDetailField.tsx +0 -131
  148. package/src/widgets/MultiSelectField.cascade.test.tsx +0 -143
  149. package/src/widgets/MultiSelectField.tsx +0 -196
  150. package/src/widgets/NumberField.tsx +0 -49
  151. package/src/widgets/ObjectField.tsx +0 -94
  152. package/src/widgets/ObjectRefField.tsx +0 -121
  153. package/src/widgets/OptionsEmptyState.no-provider.test.tsx +0 -88
  154. package/src/widgets/OptionsEmptyState.test.tsx +0 -169
  155. package/src/widgets/OptionsEmptyState.tsx +0 -99
  156. package/src/widgets/PasswordField.tsx +0 -49
  157. package/src/widgets/PeoplePicker.test.tsx +0 -360
  158. package/src/widgets/PeoplePicker.tsx +0 -579
  159. package/src/widgets/PeoplePickerComponents.test.tsx +0 -104
  160. package/src/widgets/PercentField.tsx +0 -95
  161. package/src/widgets/PersonRow.tsx +0 -117
  162. package/src/widgets/PhoneField.tsx +0 -37
  163. package/src/widgets/QRCodeField.tsx +0 -103
  164. package/src/widgets/RadioField.cascade.test.tsx +0 -141
  165. package/src/widgets/RadioField.tsx +0 -143
  166. package/src/widgets/RatingField.tsx +0 -94
  167. package/src/widgets/RecipientPickerField.test.tsx +0 -157
  168. package/src/widgets/RecipientPickerField.tsx +0 -188
  169. package/src/widgets/RecordPickerDialog.baseFilterShapes.test.tsx +0 -191
  170. package/src/widgets/RecordPickerDialog.dateLocale.test.tsx +0 -124
  171. package/src/widgets/RecordPickerDialog.filterOptions.test.tsx +0 -611
  172. package/src/widgets/RecordPickerDialog.selectLabel.test.tsx +0 -112
  173. package/src/widgets/RecordPickerDialog.tsx +0 -1365
  174. package/src/widgets/RichTextField.tsx +0 -176
  175. package/src/widgets/SelectField.cascade.test.tsx +0 -138
  176. package/src/widgets/SelectField.tsx +0 -193
  177. package/src/widgets/SelectionTray.tsx +0 -110
  178. package/src/widgets/SignatureField.tsx +0 -140
  179. package/src/widgets/SliderField.tsx +0 -39
  180. package/src/widgets/SummaryField.tsx +0 -31
  181. package/src/widgets/TagsField.placeholder.no-provider.test.tsx +0 -68
  182. package/src/widgets/TagsField.placeholder.test.tsx +0 -95
  183. package/src/widgets/TagsField.tsx +0 -88
  184. package/src/widgets/TextAreaField.tsx +0 -213
  185. package/src/widgets/TextField.tsx +0 -45
  186. package/src/widgets/TimeField.tsx +0 -31
  187. package/src/widgets/UrlField.tsx +0 -46
  188. package/src/widgets/UserField.tsx +0 -59
  189. package/src/widgets/UserFieldPicker.test.tsx +0 -78
  190. package/src/widgets/VectorField.tsx +0 -29
  191. package/src/widgets/__tests__/FilterConditionField.matchAll.test.ts +0 -66
  192. package/src/widgets/__tests__/FilterConditionField.operators.test.ts +0 -166
  193. package/src/widgets/__tests__/FullscreenFieldEditor.i18n.test.tsx +0 -248
  194. package/src/widgets/__tests__/FullscreenFieldEditor.no-provider.test.tsx +0 -116
  195. package/src/widgets/__tests__/RichTextField.fullscreenDisabled.test.tsx +0 -244
  196. package/src/widgets/__tests__/RichTextField.mobileFullscreen.test.tsx +0 -195
  197. package/src/widgets/__tests__/TextAreaField.characterCount.announcements.test.tsx +0 -417
  198. package/src/widgets/__tests__/TextAreaField.characterCount.i18n.test.tsx +0 -287
  199. package/src/widgets/__tests__/TextAreaField.characterCount.no-provider.test.tsx +0 -160
  200. package/src/widgets/__tests__/TextAreaField.fullscreenCharacterCount.i18n.test.tsx +0 -161
  201. package/src/widgets/__tests__/TextAreaField.fullscreenCharacterCount.test.tsx +0 -346
  202. package/src/widgets/__tests__/TextAreaField.fullscreenDisabled.test.tsx +0 -246
  203. package/src/widgets/__tests__/TextAreaField.mobileFullscreen.test.tsx +0 -175
  204. package/src/widgets/_cell-renderer-bridge.ts +0 -19
  205. package/src/widgets/address-format.ts +0 -120
  206. package/src/widgets/deriveLookupColumns.test.ts +0 -112
  207. package/src/widgets/deriveLookupColumns.ts +0 -108
  208. package/src/widgets/file-size-guard.ts +0 -55
  209. package/src/widgets/file-value.test.ts +0 -230
  210. package/src/widgets/file-value.ts +0 -246
  211. package/src/widgets/nativeDateValue.test.ts +0 -115
  212. package/src/widgets/nativeDateValue.ts +0 -112
  213. package/src/widgets/openNativePicker.ts +0 -18
  214. package/src/widgets/optionWidgets.gatedOptions.test.tsx +0 -267
  215. package/src/widgets/optionWidgets.unconfiguredOptions.test.tsx +0 -150
  216. package/src/widgets/personDisplay.test.ts +0 -113
  217. package/src/widgets/personDisplay.ts +0 -92
  218. package/src/widgets/recentLookups.test.ts +0 -45
  219. package/src/widgets/recentLookups.ts +0 -47
  220. package/src/widgets/toDomProps.ts +0 -204
  221. package/src/widgets/toHostGroupProps.ts +0 -102
  222. package/src/widgets/types.ts +0 -242
  223. package/src/widgets/useCascadingOptions.ts +0 -46
  224. package/src/widgets/useFieldTranslation.ts +0 -132
  225. package/src/widgets/useRecordQuery.test.ts +0 -174
  226. package/src/widgets/useRecordQuery.ts +0 -291
  227. package/src/widgets/useUploadingSignal.test.tsx +0 -62
  228. package/src/widgets/useUploadingSignal.ts +0 -20
  229. package/src/withFieldCarrier.tsx +0 -75
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("@object-ui/i18n"),p=require("@object-ui/components"),m=require("lucide-react"),h=require("@object-ui/react"),g=require("react/jsx-runtime"),_=require("@objectstack/spec/data"),v=require("@object-ui/types"),y=require("@object-ui/providers"),b=require("react-markdown");b=l(b,1);let x=require("remark-gfm");x=l(x,1);let S=require("rehype-sanitize");S=l(S,1);function C(e){let t=({schema:t,field:n,...r})=>(0,g.jsx)(e,{...r,field:n??t});return t.displayName=`FieldCarrier(${e.displayName||e.name||`Component`})`,t}function w(e){return e.postalCode??e.zipCode}function T(e){return e==null?``:String(e).trim()}function E(e){let t=[T(e.state),T(w(e))].filter(Boolean).join(` `);return[T(e.street),T(e.city),t,T(e.country)].filter(Boolean).join(`, `)}var D=o((()=>{}));function O({images:e,index:t,open:n,onOpenChange:r,onIndexChange:i}){let{t:a}=(0,f.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,g.jsx)(p.Dialog,{open:n,onOpenChange:r,children:(0,g.jsxs)(p.DialogContent,{className:`max-w-[92vw] sm:max-w-4xl p-0 bg-transparent border-0 shadow-none`,onKeyDown:l,children:[(0,g.jsx)(p.DialogTitle,{className:`sr-only`,children:s.name||a(`fields.image.preview`)}),(0,g.jsxs)(`div`,{className:`relative flex items-center justify-center`,children:[(0,g.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,g.jsxs)(g.Fragment,{children:[(0,g.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,g.jsx)(m.ChevronLeft,{className:`size-5`})}),(0,g.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,g.jsx)(m.ChevronRight,{className:`size-5`})}),(0,g.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 k=o((()=>{}));function A(e){if((0,_.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 j(e){return`${R}/files/${encodeURIComponent(e)}`}function M(e){let t=(e.split(/[?#]/)[0]??e).split(`/`).filter(Boolean).pop();return t?decodeURIComponent(t):e}function N(e,t=`File`){if(e==null)return{name:t,raw:e};if(typeof e==`string`)return(0,_.isFileIdToken)(e)?{id:e,name:t,url:j(e),raw:e}:{url:e,name:M(e),raw:e};if(typeof e==`object`){let n=e,r=e=>typeof e==`string`&&e?e:void 0,i=A(n),a=r(n.url)??(i?j(i):void 0);return{id:i,name:r(n.name)??r(n.original_name)??(r(n.url)?M(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 P(e,t=`File`){return e==null?[]:(Array.isArray(e)?e:[e]).filter(e=>e!=null).map(e=>N(e,t))}function F(e){return(e.mimeType??``).startsWith(`image/`)}function ee(e,t){let n=e.meta?.fileId;return(0,_.isFileIdToken)(n)?n:{name:e.name,original_name:t??e.name,size:e.size,mime_type:e.mimeType,url:e.url}}function I(e,t){return{id:(0,_.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 L(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 R,z=o((()=>{R=`/api/v1/storage`}));function B(e){let t=re.get(e);if(t!==void 0)return t;let n=ne;try{n=new Intl.NumberFormat(void 0,{style:`currency`,currency:e}).resolvedOptions().maximumFractionDigits??ne}catch{}return re.set(e,n),n}function te(e,t){let n=`${t}|${e}`,r=V.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 V.set(n,i),i}var ne,re,V,ie=o((()=>{ne=2,re=new Map,V=new Map}));function H(e){U=e}function ae(){return U}var U,W=o((()=>{}));D(),k(),z(),ie(),W();var G={select:`field:multiselect`};function K(e,t){return t?.multiple&&G[e]?G[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`,owner:`field:owner`,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:code`,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]||`field:text`}function q(e){return(0,d.pickDomProps)(e,oe)}var oe,J=o((()=>{oe=[`id`,`name`,`autoFocus`,`tabIndex`,`onBlur`,`onFocus`,`onClick`,`className`,`disabled`]})),Y=s({TextField:()=>X});function X({value:e,onChange:t,field:n,readonly:r,...i}){let a=n;if(r)return(0,g.jsx)(`span`,{className:`text-sm`,children:e||(0,g.jsx)(p.EmptyValue,{})});let o=a?.rows,s=q(i);return o&&o>1?(0,g.jsx)(p.Textarea,{...s,value:e||``,onChange:e=>t(e.target.value),placeholder:a?.placeholder,disabled:r||s.disabled}):(0,g.jsx)(p.Input,{...s,type:a?.type===`password`?`password`:`text`,value:e||``,onChange:e=>t(e.target.value),placeholder:a?.placeholder,disabled:r||s.disabled})}var se=o((()=>{J()})),Z,ce,Q=o((()=>{Z={"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.recordCountOne":`1 record`,"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.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.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.tags.placeholder":`Type and press Enter to add…`,"fields.textarea.characterCount":`Character count: {{count}} of {{max}}`,"fields.textarea.charactersRemaining":`Characters remaining: {{count}}`,"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`},ce=(0,f.createSafeTranslation)(Z,`common.selectOption`)}));function le(e){return Math.max(Math.ceil(e*fe),$)}function ue({length:e,maxLength:t,descriptionId:n,announceNearLimit:r,className:i,testId:a}){let{t:o}=ce(),s=o(`fields.textarea.characterCount`,{count:e,max:t}),c=r&&t-e<=le(t)?o(`fields.textarea.charactersRemaining`,{count:Math.max(t-e,0)}):``,[l,d]=(0,u.useState)(``);return(0,u.useEffect)(()=>{if(!c)return;let e=setTimeout(()=>d(c),de);return()=>clearTimeout(e)},[c]),(0,g.jsxs)(g.Fragment,{children:[(0,g.jsxs)(`div`,{className:i,"aria-hidden":`true`,"data-testid":a,children:[e,`/`,t]}),(0,g.jsx)(`span`,{id:n,className:`sr-only`,children:s}),r&&(0,g.jsx)(`span`,{className:`sr-only`,"aria-live":`polite`,"aria-atomic":`true`,children:l===c?c:``})]})}var de,fe,$,pe=o((()=>{Q(),de=1e3,fe=.1,$=20}));function me(e){return(0,g.jsx)(p.FullscreenEditor,{...e})}var he=o((()=>{})),ge=s({TextAreaField:()=>_e});function _e({value:e,onChange:t,field:n,readonly:r,error:i,...a}){let o=n,s=o?.maxLength??o?.max_length,c=(0,u.useId)(),l=`${c}-charcount`,d=`${c}-fullscreen-charcount`;if(r)return(0,g.jsx)(`div`,{className:`text-sm whitespace-pre-wrap`,children:e||(0,g.jsx)(p.EmptyValue,{})});let f=o?.rows||4,m=!!o?.mobile_fullscreen,h=q(a),_=!!h.disabled,v=[h[`aria-describedby`],s?l:void 0].filter(Boolean).join(` `)||void 0;return(0,g.jsxs)(`div`,{className:`relative`,children:[(0,g.jsx)(p.Textarea,{...h,value:e||``,onChange:e=>t(e.target.value),placeholder:o?.placeholder,disabled:r||_,rows:f,maxLength:s,"aria-invalid":!!i,"aria-describedby":v,className:h.className}),s&&(0,g.jsx)(ue,{length:(e||``).length,maxLength:s,descriptionId:l,announceNearLimit:!0,className:`absolute bottom-2 right-2 text-xs text-gray-400`,testId:`textarea-character-count`}),m&&(0,g.jsx)(me,{value:e??``,onCommit:t,label:o?.label,testIdPrefix:`textarea`,disabled:_,footer:e=>s?(0,g.jsx)(ue,{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)=>(0,g.jsx)(p.Textarea,{autoFocus:!0,value:e,onChange:e=>t(e.target.value),disabled:n,maxLength:s,placeholder:o?.placeholder,"aria-describedby":s?d:void 0,className:`h-full min-h-full resize-none text-base`,"data-testid":`textarea-fullscreen-input`})})]})}var ve=o((()=>{pe(),he(),J()})),ye=s({NumberField:()=>be});function be({value:e,onChange:t,field:n,readonly:r,...i}){if(r)return e==null?(0,g.jsx)(p.EmptyValue,{}):(0,g.jsx)(`span`,{className:`text-sm`,children:e});let a=n,o=a?.scale,s=typeof a?.step==`number`?a.step:typeof o==`number`?10**-o:`any`,c=q(i);return(0,g.jsx)(p.Input,{...c,type:`number`,value:e??``,onChange:e=>{let n=e.target.value;t(n===``?null:Number(n))},placeholder:a?.placeholder,disabled:r||c.disabled,min:typeof a?.min==`number`?a.min:void 0,max:typeof a?.max==`number`?a.max:void 0,step:s})}var xe=o((()=>{J()})),Se=s({CurrencyField:()=>we});function Ce(e,t,n,r){if(t)try{return(0,f.formatDisplayNumber)(e,{locale:r,currency:t,minimumFractionDigits:n,maximumFractionDigits:n})}catch{return`${t} ${e.toFixed(n)}`}try{return(0,f.formatDisplayNumber)(e,{locale:r,minimumFractionDigits:n,maximumFractionDigits:n})}catch{return e.toFixed(n)}}function we({value:e,onChange:t,field:n,readonly:r,error:i,className:a,...o}){let s=n,{currency:c}=(0,f.useLocalization)(),l=(0,f.useDisplayLocale)(),u=(0,f.resolveFieldCurrency)(s,c),d=s?.precision??(u?B(u):2);if(r)return e==null?(0,g.jsx)(p.EmptyValue,{}):(0,g.jsx)(`span`,{className:`text-sm font-medium tabular-nums`,children:Ce(Number(e),u,d,l)});let m=e=>{let n=parseFloat(e.target.value);isNaN(n)||t(parseFloat(n.toFixed(d)))},h=u?te(u,l):``;return(0,g.jsxs)(`div`,{className:`relative`,children:[h&&(0,g.jsx)(`span`,{className:`absolute left-3 top-1/2 -translate-y-1/2 text-sm text-gray-500`,children:h}),(0,g.jsx)(p.Input,{...q(o),type:`number`,value:e??``,onChange:e=>{t(e.target.value===``?null:parseFloat(e.target.value))},onBlur:m,placeholder:s?.placeholder||`0.00`,disabled:r||o.disabled,className:`${h?`pl-8`:``} ${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})]})}var Te=o((()=>{J()})),Ee=s({PercentField:()=>De});function De({value:e,onChange:t,field:n,readonly:r,error:i,className:a,...o}){let s=n,c=s?.precision??2,l=typeof s?.max==`number`?s.max:void 0,u=l!=null&&l>1,d=e=>u?e:e*100,f=e=>u?e:e/100,m=u?l:100;if(r)return e==null?(0,g.jsx)(p.EmptyValue,{}):(0,g.jsxs)(`span`,{className:`text-sm font-medium tabular-nums`,children:[d(e).toFixed(c),`%`]});let h=e==null?``:d(e),_=e==null?0:d(e),v=e=>{if(e.target.value===``){t(null);return}let n=parseFloat(e.target.value);t(isNaN(n)?null:f(n))},y=e=>{if(r||o.disabled)return;if(!Array.isArray(e)||e.length===0){t(null);return}let n=e[0];t(typeof n==`number`?f(n):null)},b=10**-c;return(0,g.jsxs)(`div`,{className:`space-y-2`,children:[(0,g.jsxs)(`div`,{className:`relative`,children:[(0,g.jsx)(p.Input,{...q(o),type:`number`,value:h,onChange:v,placeholder:s?.placeholder||`0`,disabled:r||o.disabled,className:`pr-8 ${a||``}`,step:(10**-c).toFixed(c),"aria-invalid":!!i}),(0,g.jsx)(`span`,{className:`absolute right-3 top-1/2 -translate-y-1/2 text-sm text-gray-500`,children:`%`})]}),(0,g.jsx)(p.Slider,{value:[_],onValueChange:y,min:0,max:m,step:b,disabled:r||o.disabled,className:`w-full`,"aria-label":`Percentage`,"data-testid":`percent-slider`})]})}var Oe=o((()=>{J()})),ke=s({SliderField:()=>Ae});function Ae({value:e,onChange:t,field:n,readonly:r,...i}){let a=n,o=a?.min??0,s=a?.max??100,c=a?.step??1;return r?(0,g.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,g.jsx)(`span`,{className:`text-sm font-medium`,children:e??o}),(0,g.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[`/ `,s]})]}):(0,g.jsxs)(`div`,{className:`flex items-center gap-4`,children:[(0,g.jsx)(p.Slider,{value:[e??o],onValueChange:e=>t(e[0]),min:o,max:s,step:c,disabled:r||i.disabled,className:i.className}),(0,g.jsx)(`span`,{className:`text-sm font-medium w-12 text-right`,children:e??o})]})}var je=o((()=>{}));function Me(e){let{id:t,"aria-labelledby":n}=q(e);return{id:t,"aria-labelledby":n,...n==null?null:{role:`group`}}}var Ne=o((()=>{J()})),Pe=s({RatingField:()=>Fe});function Fe({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,g.jsxs)(`div`,{...Me(o),className:(0,p.cn)(`flex items-center gap-1`,i),children:[Array.from({length:s},(e,t)=>(0,g.jsx)(m.Star,{className:`w-5 h-5 ${t<c?`fill-yellow-400 text-yellow-400`:`text-muted-foreground`}`},t)),(0,g.jsxs)(`span`,{className:`ml-2 text-sm text-muted-foreground`,children:[c,` / `,s]})]});let{"aria-invalid":h,name:_,...v}=q(o),y=v[`aria-labelledby`]!=null;return(0,g.jsxs)(`div`,{...v,role:y?`group`:void 0,className:(0,p.cn)(`flex items-center gap-1`,i),children:[Array.from({length:s},(e,n)=>(0,g.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,g.jsx)(m.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,g.jsxs)(`span`,{className:`ml-2 text-sm text-muted-foreground`,children:[c,` / `,s]})]})}var Ie=o((()=>{J(),Ne()})),Le=s({BooleanField:()=>Re});function Re({value:e,onChange:t,field:n,readonly:r,...i}){let a=n,o=a?.widget,s=(0,u.useId)(),c=i.id,l=c||a?.name||s,d=a?.label||`Checkbox`,f=!c;if(r)return(0,g.jsx)(`span`,{className:`text-sm`,children:e?`Yes`:`No`});let m=q(i);return o===`checkbox`?(0,g.jsxs)(`div`,{className:`flex items-center space-x-2`,children:[(0,g.jsx)(p.Checkbox,{...m,id:l,checked:!!e,onCheckedChange:e=>t(!!e),disabled:r||m.disabled}),f&&(0,g.jsx)(p.Label,{htmlFor:l,className:`sr-only`,children:d})]}):(0,g.jsxs)(`div`,{className:`flex items-center space-x-2`,children:[(0,g.jsx)(p.Switch,{...m,id:l,checked:!!e,onCheckedChange:t,disabled:r||m.disabled}),f&&(0,g.jsx)(p.Label,{htmlFor:l,className:`sr-only`,children:d})]})}var ze=o((()=>{J()}));function Be({emptyHint:e,gated:t,dependsOnFields:n,testId:r,className:i,hostGroupProps:a}){let{t:o}=ce(),s=e||(t?o(`fields.options.selectFirst`,{fields:n.join(` / `)}):o(`fields.options.empty`));return(0,g.jsx)(`div`,{...a,"data-testid":r,className:(0,p.cn)(`flex w-full items-center rounded-md border border-input bg-muted/30 px-3 py-2 text-sm text-muted-foreground`,i),children:s})}var Ve=o((()=>{Q()}));function He(e,t,n){let r=(0,u.useContext)(h.SchemaRendererContext),i=(0,u.useMemo)(()=>n??r?.formValues??r?.data??{},[n,r?.formValues,r?.data]),a=(0,h.usePredicateScope)();return(0,u.useMemo)(()=>(0,d.resolveCascadingOptions)(e,i,t,a),[e,i,t,a])}var Ue=o((()=>{})),We=s({MultiSelectField:()=>Ge});function Ge({value:e,onChange:t,field:n,readonly:r,className:i,dependentValues:a,dependsOn:o,emptyHint:s,dataSource:c,error:l,...d}){let f=n,m=f?.options||[],h=Array.isArray(e)?e:e==null?[]:[e],_=d.name||f?.name||d.id||``,{options:v,gated:y,dependsOnFields:b}=He(m,f?.dependsOn??o,a);(0,u.useEffect)(()=>{if(r||m.length===0||y||h.length===0)return;let e=h.filter(e=>v.some(t=>t.value===e));e.length!==h.length&&t(e)},[v,y]);let x=Me(d);if(r)return h.length===0?(0,g.jsx)(p.EmptyValue,{...x}):(0,g.jsx)(`div`,{...x,className:`flex flex-wrap gap-1`,children:h.map(e=>{let t=m.find(t=>t.value===e);return(0,g.jsx)(p.Badge,{variant:`outline`,children:t?.label||e},e)})});if(v.length===0)return(0,g.jsx)(Be,{emptyHint:s,gated:y,dependsOnFields:b,testId:_?`multiselect-empty-${_}`:void 0,className:`min-h-9`,hostGroupProps:x});let S=e=>{t(h.includes(e)?h.filter(t=>t!==e):[...h,e])},{"aria-invalid":C,name:w,...T}=q(d),E=T[`aria-labelledby`]!=null;return(0,g.jsx)(`div`,{...T,role:E?`group`:void 0,className:(0,p.cn)(`flex flex-wrap gap-1.5`,i),"data-testid":_?`multiselect-${_}`:void 0,children:v.map(e=>{let t=String(e.value),n=h.includes(t);return(0,g.jsx)(`button`,{type:`button`,onClick:()=>S(t),disabled:d.disabled,"aria-pressed":n,"aria-invalid":!!l,"data-testid":`multiselect-option-${e.value}`,className:(0,p.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:e.label},t)})})}var Ke=o((()=>{J(),Ne(),Ve(),Ue()})),qe=s({SelectField:()=>Je});function Je(e){return e.field?.multiple?(0,g.jsx)(Ge,{...e}):(0,g.jsx)(Ye,{...e})}function Ye({value:e,onChange:t,field:n,readonly:r,error:i,dependentValues:a,dependsOn:o,emptyHint:s,dataSource:c,...l}){let f=n,m=f?.options||[],{t:h}=ce(),_=l.name||f?.name||l.id||``,{options:v,gated:y,dependsOnFields:b}=He(m,f?.dependsOn??o,a);if((0,u.useEffect)(()=>{r||m.length!==0&&(y||e!=null&&e!==``&&((0,d.isValueStillOffered)(e,v)||t?.(void 0)))},[v,y]),r){let t=m.find(t=>t.value===e)?.label||e;return t?(0,g.jsx)(`span`,{className:`text-sm`,children:t}):(0,g.jsx)(p.EmptyValue,{})}if(v.length===0)return(0,g.jsx)(Be,{emptyHint:s,gated:y,dependsOnFields:b,testId:_?`select-empty-${_}`:void 0,className:`h-9`});let{name:x,disabled:S,...C}=q(l);return(0,g.jsxs)(p.Select,{name:x,value:e,onValueChange:t,disabled:r||l.disabled,children:[(0,g.jsx)(p.SelectTrigger,{...C,"data-testid":_?`select-trigger-${_}`:void 0,"aria-invalid":!!i,children:(0,g.jsx)(p.SelectValue,{placeholder:f?.placeholder||h(`common.selectOption`)})}),(0,g.jsx)(p.SelectContent,{position:`popper`,children:v.map(e=>(0,g.jsx)(p.SelectItem,{value:e.value,"data-testid":`select-option-${e.value}`,children:e.label},e.value))})]})}var Xe=o((()=>{Q(),J(),Ke(),Ve(),Ue()})),Ze=s({RadioField:()=>Qe});function Qe({value:e,onChange:t,field:n,readonly:r,className:i,dependentValues:a,dependsOn:o,emptyHint:s,dataSource:c,error:l,...f}){let m=n,h=m?.options||[],_=(0,u.useId)(),v=f.name||m?.name||f.id||``,{options:y,gated:b,dependsOnFields:x}=He(h,m?.dependsOn??o,a);(0,u.useEffect)(()=>{r||h.length!==0&&(b||e!=null&&e!==``&&((0,d.isValueStillOffered)(e,y)||t?.(void 0)))},[y,b]);let S=Me(f);if(r){if(e==null||e===``)return(0,g.jsx)(p.EmptyValue,{...S});let t=h.find(t=>t.value===e);return(0,g.jsx)(`span`,{...S,className:`text-sm`,children:t?.label||String(e)})}return y.length===0?(0,g.jsx)(Be,{emptyHint:s,gated:b,dependsOnFields:x,testId:v?`radio-empty-${v}`:void 0,className:`min-h-9`,hostGroupProps:S}):(0,g.jsx)(p.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=`${_}-${t}`;return(0,g.jsxs)(`div`,{className:`flex items-center space-x-2`,children:[(0,g.jsx)(p.RadioGroupItem,{value:t,id:n,"data-testid":`radio-option-${t}`}),(0,g.jsx)(p.Label,{htmlFor:n,className:`font-normal`,children:e.label})]},t)})})}var $e=o((()=>{J(),Ne(),Ve(),Ue()})),et=s({CheckboxesField:()=>tt});function tt({value:e,onChange:t,field:n,readonly:r,className:i,dependentValues:a,dependsOn:o,emptyHint:s,dataSource:c,error:l,...d}){let f=n,m=f?.options||[],h=Array.isArray(e)?e:e==null?[]:[e],_=(0,u.useId)(),v=d.name||f?.name||d.id||``,{options:y,gated:b,dependsOnFields:x}=He(m,f?.dependsOn??o,a);(0,u.useEffect)(()=>{if(r||m.length===0||b||h.length===0)return;let e=h.filter(e=>y.some(t=>t.value===e));e.length!==h.length&&t(e)},[y,b]);let S=Me(d);if(r)return h.length===0?(0,g.jsx)(p.EmptyValue,{...S}):(0,g.jsx)(`div`,{...S,className:`flex flex-wrap gap-1`,children:h.map(e=>{let t=m.find(t=>t.value===e);return(0,g.jsx)(p.Badge,{variant:`outline`,children:t?.label||e},e)})});if(y.length===0)return(0,g.jsx)(Be,{emptyHint:s,gated:b,dependsOnFields:x,testId:v?`checkboxes-empty-${v}`:void 0,className:`min-h-9`,hostGroupProps:S});let C=(e,n)=>{t(n?[...h.filter(t=>t!==e),e]:h.filter(t=>t!==e))},{"aria-invalid":w,name:T,...E}=q(d),D=E[`aria-labelledby`]!=null;return(0,g.jsx)(`div`,{...E,role:D?`group`:void 0,className:i,"data-testid":v?`checkboxes-${v}`:void 0,children:y.map(e=>{let t=String(e.value),n=`${_}-${t}`;return(0,g.jsxs)(`div`,{className:`flex items-center space-x-2 py-0.5`,children:[(0,g.jsx)(p.Checkbox,{id:n,checked:h.includes(t),onCheckedChange:e=>C(t,!!e),disabled:d.disabled,"aria-invalid":!!l,"data-testid":`checkboxes-option-${t}`}),(0,g.jsx)(p.Label,{htmlFor:n,className:`font-normal`,children:e.label})]},t)})})}var nt=o((()=>{J(),Ne(),Ve(),Ue()})),rt=s({TagsField:()=>it});function it({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}=ce();if(r)return s.length===0?(0,g.jsx)(p.EmptyValue,{}):(0,g.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:s.map(e=>(0,g.jsx)(p.Badge,{variant:`secondary`,children:e},e))});let f=e=>{let n=e.trim();!n||s.includes(n)||(t([...s,n]),l(``))},m=e=>t(s.filter(t=>t!==e)),h=e=>{e.key===`Enter`||e.key===`,`?(e.preventDefault(),f(c)):e.key===`Backspace`&&c===``&&s.length>0&&m(s[s.length-1])};return(0,g.jsxs)(`div`,{className:(0,p.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,g.jsxs)(p.Badge,{variant:`secondary`,className:`gap-1`,children:[e,(0,g.jsx)(`button`,{type:`button`,onClick:()=>m(e),className:`ml-0.5 rounded-full text-muted-foreground hover:text-foreground`,"aria-label":`Remove ${e}`,children:`×`})]},e)),(0,g.jsx)(p.Input,{...q(o),value:c,onChange:e=>l(e.target.value),onKeyDown:h,onBlur:()=>f(c),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 at=o((()=>{J(),Q()}));function ot(e){if(!(e.disabled||e.readOnly))try{e.showPicker?.()}catch{}}var st=o((()=>{}));function ct(e){return String(e).padStart(2,`0`)}function lt(e){if(e==null||e===``)return``;if(typeof e==`string`){let t=e.match(/^(\d{4}-\d{2}-\d{2})/);if(t)return t[1]}let t=e instanceof Date?e:new Date(String(e));return Number.isNaN(t.getTime())?``:`${t.getFullYear()}-${ct(t.getMonth()+1)}-${ct(t.getDate())}`}function ut(e){if(e==null||e===``)return``;if(typeof e==`string`){let t=e.match(/^(\d{4}-\d{2}-\d{2})T(\d{2}:\d{2})(?::\d{2}(?:\.\d+)?)?$/);if(t)return`${t[1]}T${t[2]}`}let t=e instanceof Date?e:new Date(String(e));return Number.isNaN(t.getTime())?``:`${t.getFullYear()}-${ct(t.getMonth()+1)}-${ct(t.getDate())}T${ct(t.getHours())}:${ct(t.getMinutes())}`}function dt(e){if(!e)return``;let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toISOString()}var ft=o((()=>{})),pt=s({DateField:()=>mt});function mt({value:e,onChange:t,field:n,readonly:r,...i}){let a=(0,f.useDisplayLocale)();if(r)return e?(0,g.jsx)(`span`,{className:`text-sm`,children:new Date(e).toLocaleDateString(a)}):(0,g.jsx)(p.EmptyValue,{});let o=q(i);return(0,g.jsx)(p.Input,{...o,type:`date`,value:lt(e),onChange:e=>t(e.target.value),onClick:e=>{ot(e.currentTarget),o.onClick?.(e)},disabled:r||o.disabled})}var ht=o((()=>{J(),st(),ft()})),gt=s({DateTimeField:()=>_t});function _t({value:e,onChange:t,field:n,readonly:r,...i}){let a=(0,f.useDisplayLocale)();if(r){if(!e)return(0,g.jsx)(p.EmptyValue,{});let t=new Date(e);return(0,g.jsxs)(`span`,{className:`text-sm`,children:[t.toLocaleDateString(a),` `,t.toLocaleTimeString(a)]})}let o=q(i);return(0,g.jsx)(p.Input,{...o,type:`datetime-local`,value:ut(e),onChange:e=>t(dt(e.target.value)),onClick:e=>{ot(e.currentTarget),o.onClick?.(e)},disabled:r||o.disabled})}var vt=o((()=>{J(),st(),ft()})),yt=s({TimeField:()=>bt});function bt({value:e,onChange:t,field:n,readonly:r,...i}){if(r)return(0,g.jsx)(`span`,{className:`text-sm`,children:e||(0,g.jsx)(p.EmptyValue,{})});let a=q(i);return(0,g.jsx)(p.Input,{...a,type:`time`,value:e||``,onChange:e=>t(e.target.value),onClick:e=>{ot(e.currentTarget),a.onClick?.(e)},disabled:r||a.disabled})}var xt=o((()=>{J(),st()})),St=s({EmailField:()=>Ct});function Ct({value:e,onChange:t,field:n,readonly:r,error:i,...a}){let o=n;if(r)return e?(0,g.jsx)(`a`,{href:`mailto:${e}`,className:`text-sm text-blue-600 hover:text-blue-800 hover:underline`,children:e}):(0,g.jsx)(p.EmptyValue,{});let s=q(a);return(0,g.jsx)(p.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 wt=o((()=>{J()})),Tt=s({PhoneField:()=>Et});function Et({value:e,onChange:t,field:n,readonly:r,error:i,...a}){let o=n;if(r)return e?(0,g.jsx)(`a`,{href:`tel:${e}`,className:`text-sm text-blue-600 hover:text-blue-800 hover:underline`,children:e}):(0,g.jsx)(p.EmptyValue,{});let s=q(a);return(0,g.jsx)(p.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 Dt=o((()=>{J()})),Ot=s({UrlField:()=>kt});function kt({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,g.jsx)(`a`,{href:e,target:`_blank`,rel:`noopener noreferrer`,className:`text-sm text-blue-600 hover:text-blue-800 hover:underline`,children:e}):(0,g.jsx)(`span`,{className:`text-sm`,children:e}):(0,g.jsx)(p.EmptyValue,{});let s=q(a);return(0,g.jsx)(p.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 At=o((()=>{J()}));function jt(e){return e==null?!1:Array.isArray(e)?e.length>0:typeof e==`object`&&Object.keys(e).length>0}function Mt(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.useMemo)(()=>jt(o)?JSON.stringify(o):``,[o]),D=(0,u.useMemo)(()=>s?.length?s.join(`,`):``,[s]),O=(0,u.useMemo)(()=>c?.length?c.join(`,`):``,[c]),k=!!r&&!!t&&typeof t.find==`function`&&!!n,A=(0,u.useCallback)(async(e,r,l)=>{if(!(!k||!t||!n)){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}),jt(o)&&(u.$filter=o),s&&s.length>0&&(u.$expand=s);let d=await t.find(n,u),p=d?.data??d??[];f(p),v(d?.total??p.length)}catch(e){g(e instanceof Error?e.message:String(e)),f([])}finally{m(!1)}}},[k,t,n,i,a,E,D,O]);(0,u.useEffect)(()=>{k&&A(x,y,C)},[k,y,C,A]),(0,u.useEffect)(()=>{r||(f([]),g(null),S(``),b(1),w(null))},[r]),(0,u.useEffect)(()=>()=>{T.current&&clearTimeout(T.current)},[]);let j=(0,u.useCallback)(e=>{S(e),b(1),T.current&&clearTimeout(T.current),T.current=setTimeout(()=>{A(e,1,C)},l)},[A,C,l]),M=(0,u.useCallback)(e=>{b(e)},[]),N=(0,u.useCallback)(e=>{w(t=>t&&t.field===e?{field:e,direction:t.direction===`asc`?`desc`:`asc`}:{field:e,direction:`asc`}),b(1)},[]),P=(0,u.useCallback)(e=>{w(e),b(1)},[]),F=(0,u.useCallback)(()=>{T.current&&clearTimeout(T.current),f([]),g(null),S(``),b(1),w(null)},[]),ee=(0,u.useCallback)(()=>{A(x,y,C)},[A,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:M,setSearch:j,toggleSort:N,setSort:P,reset:F,refetch:ee}}var Nt=o((()=>{}));function Pt(e){return typeof e==`string`?{field:e}:e}function Ft(e){return e.replace(/_/g,` `).replace(/([a-z])([A-Z])/g,`$1 $2`).replace(/\b\w/g,e=>e.toUpperCase())}function It(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 Lt(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 Rt(e){return e==null?void 0:String(e)}function zt(e,t){let n=e?.find(e=>String(e.value)===t);return n?n.value:t}function Bt(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 Vt({open:e,onOpenChange:t,title:n=`Select Record`,multiple:r=!1,dataSource:i,objectName:a,columns:o,displayField:s=`name`,titleFormat:c,idField:l=`id`,pageSize:h=Ht,value:_,onSelect:v,onSelectRecords:y,lookupFilters:b,baseFilter:x,cellRenderer:S,fieldsMeta:C,filterColumns:w,renderFilterBar:T,renderGrid:E}){let{t:D}=ce(),{translateOptions:O}=(0,f.useSafeFieldLabel)(),k=(0,f.useDisplayLocale)(),[A,j]=(0,u.useState)(new Set),M=(0,u.useRef)(new Map),[N,P]=(0,u.useState)(-1),F=(0,u.useRef)(null),[ee,I]=(0,u.useState)(!1),[L,R]=(0,u.useState)({}),[z,B]=(0,u.useState)({}),te=(0,u.useRef)(null),[ne,re]=(0,u.useState)(``),V=(0,u.useMemo)(()=>o&&o.length>0?o.map(Pt):[{field:s,label:Ft(s)}],[o,s]),ie=(0,u.useMemo)(()=>{let e={};for(let t of V){let n=C?.[t.field],r=t.type??n?.type;if(!r)continue;let i=n?{...n,name:t.field,type:r}:{name:t.field,type:r},o=Lt(n,a,t.field,O);o&&(i.options=o),e[t.field]=i}return e},[V,C,a,O]),H=(0,u.useMemo)(()=>{if(w&&w.length>0)return w;if(b&&b.length>0)return b.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:Ft(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}})}:{}}})},[w,b]),ae=(0,u.useMemo)(()=>{if(H)return H.map(e=>{if(e.type!==`select`||e.options&&e.options.length>0)return e;let t=Lt(C?.[e.field],a,e.field,O);return t?{...e,options:t}:e})},[H,C,a,O]),U=Mt({dataSource:i,objectName:a,enabled:e,pageSize:h,paginate:!0,filter:(0,u.useMemo)(()=>{let e=b?.length?It(b):{},t=ae?.length?Bt(L,ae):{},n=Array.isArray(x)?x:void 0,r=n?void 0:x,i={...e,...t,...r??{}},a=Object.keys(i).length>0?i:void 0;return n?(0,d.mergeFilterNodes)(a,n):a},[b,ae,L,x])}),{records:W,loading:G,error:K}=U,q=U.total,oe=U.totalPages,J=U.search,Y=U.page,X=U.sort?.field??null,se=U.sort?.direction??`asc`,Z=U.setPage,Q=U.toggleSort,le=U.setSearch;(0,u.useEffect)(()=>{e||(P(-1),I(!1),R({}),B({}),re(``),j(new Set(r&&Array.isArray(_)?_:[])),M.current.clear())},[e]),(0,u.useEffect)(()=>{e&&r&&j(new Set(Array.isArray(_)?_:[]))},[e,r,_]),(0,u.useEffect)(()=>{P(-1)},[W]);let ue=(0,u.useCallback)(e=>e[l]??e.id??e._id,[l]),de=(0,u.useCallback)(e=>{let t=ue(e);return r?A.has(t):_===t},[r,_,A,ue]),fe=(0,u.useCallback)(e=>{let n=ue(e);r?j(t=>{let r=new Set(t);return r.has(n)?(r.delete(n),M.current.delete(n)):(r.add(n),M.current.set(n,e)),r}):(v(n),y?.([e]),t(!1))},[r,ue,v,y,t]),$=(0,u.useCallback)(()=>{let e=Array.from(A);v(e);let n=e.map(e=>M.current.get(e)).filter(Boolean);y?.(n),t(!1)},[A,v,y,t]),pe=(0,u.useCallback)(()=>{Z(Math.max(1,Y-1))},[Z,Y]),me=(0,u.useCallback)(()=>{Z(Math.min(oe,Y+1))},[Z,Y,oe]),he=(0,u.useCallback)(e=>{if(e.key!==`Enter`)return;let t=parseInt(ne,10);!isNaN(t)&&t>=1&&t<=oe&&Z(t),re(``)},[ne,oe]),ge=(0,u.useCallback)(e=>{W.length!==0&&(e.key===`ArrowDown`?(e.preventDefault(),P(e=>Math.min(e+1,W.length-1))):e.key===`ArrowUp`?(e.preventDefault(),P(e=>Math.max(e-1,0))):(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),N>=0&&N<W.length&&fe(W[N])))},[W,N,fe]);(0,u.useEffect)(()=>{if(N>=0&&F.current){let e=F.current.querySelector(`[data-row-index="${N}"]`);e&&typeof e.scrollIntoView==`function`&&e.scrollIntoView({block:`nearest`})}},[N]);let _e=(0,u.useCallback)((e,t)=>{if(c&&t.field===s){let t=`[-\\u2013\\u2014|/·,:]`,n=!1,r=c.replace(/\{([^{}]+)\}/g,(t,r)=>{let i=e[r.trim()];return i!=null&&i!==``?(n=!0,String(i)):`\0`});if(n){let e=r.replace(RegExp(`\\s*${t}\\s*`,`g`),``).replace(RegExp(`\\s*${t}\\s*`,`g`),``).replace(RegExp(`\0`,`g`),``).replace(/\s+/g,` `).trim();if(e)return e}}let n=e[t.field],r=ie[t.field];if(r&&S){let e=S(r.type);if(e)return(0,g.jsx)(e,{value:n,field:r})}return n==null?``:typeof n==`object`?n.$numberDecimal?String(Number(n.$numberDecimal)):n.$oid?String(n.$oid):n.$date?new Date(n.$date).toLocaleDateString(k):n.name||n.label?String(n.name||n.label):JSON.stringify(n):typeof n==`boolean`?n?`Yes`:`No`:String(n)},[S,c,s,ie,k]),ve=(0,u.useCallback)(e=>X===e?se===`asc`?(0,g.jsx)(m.ArrowUp,{className:`ml-1 size-3`}):(0,g.jsx)(m.ArrowDown,{className:`ml-1 size-3`}):(0,g.jsx)(m.ArrowUpDown,{className:`ml-1 size-3 opacity-40`}),[X,se]),ye=(0,u.useCallback)((e,t,n)=>{e.preventDefault(),e.stopPropagation(),te.current={field:t,startX:e.clientX,startWidth:n};let r=e=>{if(!te.current)return;let t=e.clientX-te.current.startX,n=Math.max(Ut,te.current.startWidth+t);B(e=>({...e,[te.current.field]:n}))},i=()=>{te.current=null,document.removeEventListener(`mousemove`,r),document.removeEventListener(`mouseup`,i)};document.addEventListener(`mousemove`,r),document.addEventListener(`mouseup`,i)},[]),be=(0,u.useCallback)((e,t)=>{R(n=>({...n,[e]:t})),Z(1)},[]),xe=(0,u.useCallback)(()=>{R({}),Z(1)},[]),Se=(0,u.useMemo)(()=>Object.values(L).filter(e=>e!=null&&e!==``).length,[L]),Ce=(0,u.useCallback)(e=>{let t=L[e.field],n=e.label||Ft(e.field);switch(e.type){case`select`:return(0,g.jsxs)(`div`,{className:`space-y-1`,children:[(0,g.jsx)(p.Label,{className:`text-xs text-muted-foreground`,children:n}),(0,g.jsxs)(p.Select,{value:Rt(t)??``,onValueChange:t=>be(e.field,zt(e.options,t)),children:[(0,g.jsx)(p.SelectTrigger,{className:`h-8 text-xs`,children:(0,g.jsx)(p.SelectValue,{placeholder:D(`lookup.filterPlaceholder`,{label:n})})}),(0,g.jsx)(p.SelectContent,{children:e.options?.map(e=>(0,g.jsx)(p.SelectItem,{value:String(e.value),children:e.label},String(e.value)))})]})]});case`number`:return(0,g.jsxs)(`div`,{className:`space-y-1`,children:[(0,g.jsx)(p.Label,{className:`text-xs text-muted-foreground`,children:n}),(0,g.jsx)(p.Input,{type:`number`,className:`h-8 text-xs`,value:t??``,placeholder:D(`lookup.filterPlaceholder`,{label:n}),onChange:t=>{let n=t.target.value;be(e.field,n===``?``:Number(n))}})]});case`date`:return(0,g.jsxs)(`div`,{className:`space-y-1`,children:[(0,g.jsx)(p.Label,{className:`text-xs text-muted-foreground`,children:n}),(0,g.jsx)(p.Input,{type:`date`,className:`h-8 text-xs`,value:t??``,onChange:t=>be(e.field,t.target.value)})]});case`boolean`:return(0,g.jsxs)(`div`,{className:`space-y-1`,children:[(0,g.jsx)(p.Label,{className:`text-xs text-muted-foreground`,children:n}),(0,g.jsxs)(`div`,{className:`flex items-center gap-2 h-8`,children:[(0,g.jsx)(p.Checkbox,{checked:!!t,onCheckedChange:t=>be(e.field,!!t)}),(0,g.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:D(`lookup.yes`)})]})]});default:return(0,g.jsxs)(`div`,{className:`space-y-1`,children:[(0,g.jsx)(p.Label,{className:`text-xs text-muted-foreground`,children:n}),(0,g.jsx)(p.Input,{className:`h-8 text-xs`,value:t??``,placeholder:D(`lookup.filterPlaceholder`,{label:n}),onChange:t=>be(e.field,t.target.value)})]})}},[L,be]),we=(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,g.jsx)(p.Dialog,{open:e,onOpenChange:t,children:(0,g.jsxs)(p.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,g.jsx)(p.DialogHeader,{children:(0,g.jsxs)(p.DialogTitle,{children:[n,r&&(0,g.jsx)(`span`,{className:`sr-only`,children:` (multiple selection)`})]})}),(0,g.jsxs)(`div`,{className:`relative rounded-md border bg-muted/30 mb-3`,children:[(0,g.jsx)(m.Search,{className:`absolute left-3 top-1/2 -translate-y-1/2 size-4 text-muted-foreground`}),(0,g.jsx)(p.Input,{placeholder:D(`table.search`),value:J,onChange:e=>le(e.target.value),className:`pl-9 border-0 bg-transparent shadow-none focus-visible:ring-0`,"data-testid":`record-picker-search`}),G&&(0,g.jsx)(m.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`})]}),ae&&ae.length>0&&(0,g.jsx)(`div`,{className:`py-2`,children:T?(0,g.jsx)(`div`,{"data-testid":`record-picker-filter-bar`,children:T({filterColumns:ae,values:L,onChange:be,onClear:xe,activeCount:Se})}):(0,g.jsxs)(g.Fragment,{children:[(0,g.jsxs)(`div`,{className:`flex items-center gap-2`,"data-testid":`record-picker-filter-bar`,children:[(0,g.jsxs)(p.Button,{type:`button`,variant:Se>0?`secondary`:`outline`,size:`sm`,className:`gap-1.5 shrink-0`,onClick:()=>I(e=>!e),children:[(0,g.jsx)(m.SlidersHorizontal,{className:`size-3.5`}),D(`lookup.filters`),Se>0&&(0,g.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:Se})]}),Se>0&&(0,g.jsxs)(p.Button,{type:`button`,variant:`ghost`,size:`sm`,className:`gap-1 text-xs`,onClick:xe,children:[(0,g.jsx)(m.X,{className:`size-3`}),D(`lookup.clear`)]})]}),ee&&(0,g.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:ae.map(e=>(0,g.jsx)(`div`,{children:Ce(e)},e.field))})]})}),K&&(0,g.jsxs)(`div`,{className:`flex flex-col items-center gap-2 py-4`,role:`alert`,children:[(0,g.jsx)(m.AlertCircle,{className:`size-5 text-destructive`}),(0,g.jsx)(`p`,{className:`text-sm text-destructive`,children:K}),(0,g.jsx)(p.Button,{variant:`outline`,size:`sm`,onClick:()=>U.refetch(),type:`button`,children:D(`lookup.retry`)})]}),E?(0,g.jsx)(`div`,{className:`flex-1 min-h-0`,"data-testid":`record-picker-grid-slot`,children:E({columns:V,records:W,loading:G,totalCount:q,currentPage:Y,pageSize:h,sortField:X,sortDirection:se,onSort:Q,onPageChange:Z,onRowClick:fe,isSelected:de,multiple:r,idField:l,cellRenderer:S})}):(0,g.jsxs)(g.Fragment,{children:[G&&W.length===0&&!K&&(0,g.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,g.jsxs)(p.Table,{children:[(0,g.jsx)(p.TableHeader,{children:(0,g.jsxs)(p.TableRow,{className:`bg-muted/40`,children:[r&&(0,g.jsx)(p.TableHead,{className:`w-10`}),V.map(e=>(0,g.jsx)(p.TableHead,{children:(0,g.jsx)(p.Skeleton,{className:`h-4 w-20`})},e.field))]})}),(0,g.jsx)(p.TableBody,{children:Array.from({length:Wt},(e,t)=>(0,g.jsxs)(p.TableRow,{children:[r&&(0,g.jsx)(p.TableCell,{className:`w-10`,children:(0,g.jsx)(p.Skeleton,{className:`size-4 rounded`})}),V.map(e=>(0,g.jsx)(p.TableCell,{children:(0,g.jsx)(p.Skeleton,{className:`h-4 w-full`})},e.field))]},t))})]})}),!G&&!K&&W.length===0&&(0,g.jsx)(`div`,{className:`py-8 text-center`,children:(0,g.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:D(`lookup.noRecords`)})}),!K&&W.length>0&&(0,g.jsxs)(`div`,{className:`relative flex-1 overflow-auto min-h-0 border rounded-md`,"aria-busy":G||void 0,"data-state":G?`loading`:`idle`,tabIndex:0,onKeyDown:ge,role:`grid`,"aria-label":`Records`,children:[G&&(0,g.jsx)(`div`,{className:`absolute inset-0 z-10 flex items-center justify-center bg-background/60`,"data-testid":`record-picker-loading-overlay`,children:(0,g.jsx)(m.Loader2,{className:`size-6 animate-spin text-muted-foreground`})}),(0,g.jsxs)(p.Table,{style:Object.keys(z).length>0?{tableLayout:`fixed`}:void 0,children:[(0,g.jsx)(p.TableHeader,{className:`sticky top-0 z-[5] bg-muted/50 [&_tr]:border-b`,"data-testid":`record-picker-sticky-header`,children:(0,g.jsxs)(p.TableRow,{children:[r&&(0,g.jsx)(p.TableHead,{className:`w-10`}),V.map(e=>{let t=z[e.field],n=t?{width:`${t}px`,minWidth:`${t}px`}:e.width?{width:e.width}:void 0;return(0,g.jsxs)(p.TableHead,{style:n,className:`cursor-pointer select-none relative group text-xs font-semibold uppercase tracking-wider`,onClick:()=>Q(e.field),"aria-sort":X===e.field?se===`asc`?`ascending`:`descending`:`none`,children:[(0,g.jsxs)(`span`,{className:`inline-flex items-center`,children:[e.label||Ft(e.field),ve(e.field)]}),(0,g.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();ye(t,e.field,n?.width??100)},onClick:e=>e.stopPropagation(),"data-testid":`resize-handle-${e.field}`})]},e.field)})]})}),(0,g.jsx)(p.TableBody,{ref:F,children:W.map((e,t)=>{let n=ue(e),i=de(e),a=t===N;return(0,g.jsxs)(p.TableRow,{"data-row-index":t,className:(0,p.cn)(`cursor-pointer transition-colors`,we(i,t),a&&`ring-2 ring-primary ring-inset`),onClick:()=>fe(e),"data-testid":`record-row-${n}`,"aria-selected":i,children:[r&&(0,g.jsx)(p.TableCell,{className:`w-10`,children:i&&(0,g.jsx)(m.Check,{className:`size-4 text-primary`})}),V.map(t=>(0,g.jsx)(p.TableCell,{className:`py-2.5`,children:_e(e,t)},t.field))]},n??t)})})]})]}),!K&&q>0&&(0,g.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,g.jsxs)(`span`,{children:[q===1?D(`lookup.recordCountOne`):D(`lookup.recordCount`,{count:q}),oe>1&&` · ${D(`lookup.pageOf`,{current:Y,total:oe})}`]}),oe>1&&(0,g.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,g.jsx)(p.Button,{variant:`outline`,size:`icon`,className:`size-7`,onClick:pe,disabled:Y<=1,type:`button`,"aria-label":D(`lookup.prevPage`),children:(0,g.jsx)(m.ChevronLeft,{className:`size-4`})}),(0,g.jsx)(p.Input,{className:`h-7 w-12 text-center text-xs px-1`,placeholder:String(Y),value:ne,onChange:e=>re(e.target.value),onKeyDown:he,"aria-label":D(`lookup.jumpToPage`),"data-testid":`record-picker-page-jump`}),(0,g.jsx)(p.Button,{variant:`outline`,size:`icon`,className:`size-7`,onClick:me,disabled:Y>=oe,type:`button`,"aria-label":D(`lookup.nextPage`),children:(0,g.jsx)(m.ChevronRight,{className:`size-4`})})]})]})]}),r&&(0,g.jsx)(p.DialogFooter,{children:(0,g.jsxs)(`div`,{className:`flex items-center gap-2 w-full justify-between`,children:[(0,g.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:D(`table.selected`,{count:A.size})}),(0,g.jsxs)(`div`,{className:`flex gap-2`,children:[(0,g.jsx)(p.Button,{variant:`outline`,type:`button`,onClick:()=>t(!1),children:D(`common.cancel`)}),(0,g.jsx)(p.Button,{type:`button`,onClick:$,children:D(`common.confirm`)})]})]})})]})})}var Ht,Ut,Wt,Gt=o((()=>{Q(),Nt(),Ht=10,Ut=60,Wt=5}));function Kt(e,t){if(!(!e||!t))return t.includes(`.`)?t.split(`.`).reduce((e,t)=>e==null?e:e[t],e):e[t]}function qt(e,t=`name`){return e==null?``:String(typeof e==`object`?e[t]??e.name??e.username??e.label??``:e)}function Jt(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 Yt(e,t){return!e||!t||t.length===0?``:t.map(t=>Kt(e,t)).filter(e=>e!=null&&e!==``).map(e=>String(e)).join(` · `)}function Xt(e,t=`image`){let n=e?Kt(e,t):void 0;return n?String(n):void 0}function Zt(e,t=`id`){return!e||typeof e!=`object`?e:e[t]??e.id??e._id}function Qt(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 $t=o((()=>{}));function en({text:e,query:t}){let n=t?Qt(e,t):[];if(n.length===0)return(0,g.jsx)(g.Fragment,{children:e});let r=[],i=0;return n.forEach(([t,n],a)=>{t>i&&r.push(e.slice(i,t)),r.push((0,g.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,g.jsx)(g.Fragment,{children:r})}function tn({record:e,displayField:t=`name`,subtitleFields:n,avatarField:r=`image`,selected:i=!1,active:a=!1,highlightQuery:o,onSelect:s,className:c}){let l=qt(e,t),d=Yt(e,n),f=Xt(e,r),h=Jt(l),_=(0,u.useRef)(null);return(0,u.useEffect)(()=>{a&&_.current?.scrollIntoView?.({block:`nearest`})},[a]),(0,g.jsxs)(`button`,{ref:_,type:`button`,tabIndex:-1,onClick:()=>s?.(e),"aria-pressed":i,"data-testid":`person-row`,"data-active":a||void 0,className:(0,p.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`,i&&`bg-accent`,a&&`bg-accent ring-1 ring-inset ring-ring`,c),children:[(0,g.jsxs)(p.Avatar,{className:`size-9 shrink-0`,children:[f&&(0,g.jsx)(p.AvatarImage,{src:f,alt:l}),(0,g.jsx)(p.AvatarFallback,{className:`text-xs`,children:h})]}),(0,g.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,g.jsx)(`div`,{className:`truncate text-sm font-medium`,children:l?(0,g.jsx)(en,{text:l,query:o}):`—`}),d&&(0,g.jsx)(`div`,{className:`truncate text-xs text-muted-foreground`,children:(0,g.jsx)(en,{text:d,query:o})})]}),i&&(0,g.jsx)(m.Check,{className:`size-4 shrink-0 text-primary`,"aria-hidden":!0})]})}var nn=o((()=>{$t()}));function rn({records:e,onRemove:t,displayField:n=`name`,avatarField:r=`image`,idField:i=`id`,label:a,onClear:o,clearLabel:s,emptyText:c,className:l}){let u=!!a||!!o&&e.length>0;return(0,g.jsxs)(`div`,{className:(0,p.cn)(`flex flex-col gap-1.5`,l),"data-testid":`selection-tray`,children:[u&&(0,g.jsxs)(`div`,{className:`flex items-center justify-between`,children:[a&&(0,g.jsx)(`div`,{className:`text-xs font-medium text-muted-foreground`,children:a}),o&&e.length>0&&(0,g.jsx)(`button`,{type:`button`,onClick:o,className:`text-xs text-muted-foreground transition-colors hover:text-foreground`,"data-testid":`selection-clear`,children:s??`Clear all`})]}),e.length===0?(0,g.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:c??``}):(0,g.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:e.map(e=>{let a=Zt(e,i),o=qt(e,n),s=Xt(e,r),c=Jt(o);return(0,g.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,g.jsxs)(p.Avatar,{className:`size-6 shrink-0`,children:[s&&(0,g.jsx)(p.AvatarImage,{src:s,alt:o}),(0,g.jsx)(p.AvatarFallback,{className:`text-[10px]`,children:c})]}),(0,g.jsx)(`span`,{className:`max-w-[10rem] truncate`,children:o||`—`}),(0,g.jsx)(`button`,{type:`button`,onClick:()=>t(a),"aria-label":`Remove ${o}`,className:`rounded-full p-0.5 text-muted-foreground transition-colors hover:bg-accent hover:text-foreground`,children:(0,g.jsx)(m.X,{className:`size-3.5`,"aria-hidden":!0})})]},String(a))})})]})}var an=o((()=>{$t()}));function on(){try{return typeof localStorage<`u`?localStorage:null}catch{return null}}function sn(e){let t=on();if(!e||!t)return[];try{let n=t.getItem(ln+e);if(!n)return[];let r=JSON.parse(n);return Array.isArray(r)?r.slice(0,un):[]}catch{return[]}}function cn(e,t){let n=on();if(!(!e||t==null||t===``||!n))try{let r=[t,...sn(e).filter(e=>e!==t)].slice(0,un);n.setItem(ln+e,JSON.stringify(r))}catch{}}var ln,un,dn=o((()=>{ln=`objectui:lookup:recent:`,un=5}));function fn({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:d,searchFields:f,pageSize:h=pn,lookupFilters:_,baseFilter:v,value:y,onSelect:b,onSelectRecords:x,inline:S=!1,trigger:C}){let{t:w}=ce(),T=(0,p.useIsMobile)(),E=(0,u.useMemo)(()=>{let e={..._?.length?It(_):{},...v??{}};return Object.keys(e).length>0?e:void 0},[_,v]),D=(0,u.useMemo)(()=>{if(d&&d.length)return d;let e=new Set;return(c??[]).forEach(t=>{t.includes(`.`)&&e.add(t.split(`.`)[0])}),e.size?Array.from(e):void 0},[d,c]),O=Mt({dataSource:i,objectName:a,enabled:e,pageSize:h,filter:E,expand:D,searchFields:f}),k=(0,u.useMemo)(()=>e?sn(a):[],[e,a]),A=(0,u.useMemo)(()=>r?Array.isArray(y)?y:[]:y!=null&&y!==``?[y]:[],[r,y]),j=(0,u.useMemo)(()=>Array.from(new Set([...A,...k].map(e=>e))),[A,k]),M=Mt({dataSource:i,objectName:a,enabled:e&&j.length>0,pageSize:Math.max(1,j.length),filter:{[s]:{$in:j}},expand:D}),N=(0,u.useMemo)(()=>{let e=new Map;for(let t of M.records)e.set(String(Zt(t,s)),t);return e},[M.records,s]),[P,F]=(0,u.useState)([]),ee=(0,u.useRef)(!1),I=(0,u.useRef)(!1);(0,u.useEffect)(()=>{e||(ee.current=!1,I.current=!1,F([]))},[e]),(0,u.useEffect)(()=>{if(!e||ee.current)return;if(A.length===0){ee.current=!0;return}if(M.loading){I.current=!0;return}if(!I.current)return;let t=A.map(e=>N.get(String(e))).filter(Boolean);F(t),ee.current=!0},[e,A,M.loading,N]);let L=(0,u.useMemo)(()=>new Set(P.map(e=>String(Zt(e,s)))),[P,s]),R=(0,u.useCallback)((e,n)=>{b(r?e:e[0]??null),x?.(n),e.forEach(e=>cn(a,e)),t(!1)},[r,a,b,x,t]),z=(0,u.useCallback)(e=>{b(e.map(e=>Zt(e,s))),x?.(e)},[b,x,s]),B=(0,u.useCallback)(e=>{let t=Zt(e,s);if(!r){R([t],[e]);return}let n=String(t),i=P.some(e=>String(Zt(e,s))===n),o=i?P.filter(e=>String(Zt(e,s))!==n):[...P,e];F(o),S&&(i||cn(a,t),z(o))},[r,s,R,P,S,a,z]),te=(0,u.useCallback)(e=>{let t=String(e),n=P.filter(e=>String(Zt(e,s))!==t);F(n),S&&z(n)},[s,P,S,z]),ne=(0,u.useCallback)(()=>{R(P.map(e=>Zt(e,s)),P)},[R,P,s]),re=O.search.trim().length>0,V=(0,u.useMemo)(()=>re?[]:k.map(e=>N.get(String(e))).filter(Boolean),[re,k,N]),ie=(0,u.useMemo)(()=>{if(re)return O.records;let e=new Set(k.map(String));return O.records.filter(t=>!e.has(String(Zt(t,s))))},[re,O.records,k,s]),H=(0,u.useMemo)(()=>[...V,...ie],[V,ie]),[ae,U]=(0,u.useState)(-1),W=(0,u.useMemo)(()=>O.records.map(e=>String(Zt(e,s))).join(`\0`),[O.records,s]),G=`${O.search}\u0000${W}`,[K,q]=(0,u.useState)(G);K!==G&&(q(G),U(-1)),(0,u.useEffect)(()=>{U(e=>e>=H.length?H.length-1:e)},[H.length]);let oe=(0,u.useCallback)(e=>{e.key===`ArrowDown`?(e.preventDefault(),U(e=>H.length?Math.min(H.length-1,e+1):-1)):e.key===`ArrowUp`?(e.preventDefault(),U(e=>Math.max(0,e-1))):e.key===`Enter`?ae>=0&&ae<H.length&&(e.preventDefault(),B(H[ae])):e.key===`Backspace`&&O.search.length===0&&r&&P.length>0&&te(Zt(P[P.length-1],s))},[H,ae,B,O.search,r,P,te,s]),J=O.loading&&!O.error&&O.records.length===0&&V.length===0,Y=O.loading&&!J,X=!O.loading&&!O.error&&ie.length===0&&V.length===0,se=(e,t)=>{let n=Zt(e,s);return(0,g.jsx)(tn,{record:e,displayField:o,subtitleFields:c,avatarField:l,selected:L.has(String(n)),active:t===ae,highlightQuery:O.search,onSelect:B},String(n))},Z=n||w(`lookup.selectRecord`),Q=(0,g.jsxs)(g.Fragment,{children:[(0,g.jsxs)(`div`,{className:`relative`,children:[(0,g.jsx)(m.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,g.jsx)(p.Input,{autoFocus:!T,value:O.search,onChange:e=>O.setSearch(e.target.value),onKeyDown:oe,placeholder:w(`table.search`),className:`px-8`,role:`combobox`,"aria-expanded":!0,"aria-controls":`people-picker-list`,"data-testid":`people-picker-search`}),O.loading&&(0,g.jsx)(m.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,g.jsx)(p.ScrollArea,{className:`min-h-0 flex-1`,"data-testid":`people-picker-list`,children:(0,g.jsx)(`div`,{id:`people-picker-list`,role:`listbox`,"aria-busy":O.loading,className:(0,p.cn)(`flex flex-col gap-0.5 pr-2 transition-opacity`,Y&&`opacity-70`),children:O.error?(0,g.jsxs)(`div`,{className:`flex flex-col items-center gap-2 py-8 text-center text-sm text-muted-foreground`,children:[(0,g.jsx)(m.AlertCircle,{className:`size-5 text-destructive`,"aria-hidden":!0}),(0,g.jsx)(`span`,{className:`max-w-xs`,children:O.error}),(0,g.jsx)(p.Button,{type:`button`,variant:`outline`,size:`sm`,onClick:O.refetch,children:w(`lookup.retry`)})]}):J?Array.from({length:mn}).map((e,t)=>(0,g.jsxs)(`div`,{className:`flex items-center gap-3 px-2 py-1.5`,children:[(0,g.jsx)(p.Skeleton,{className:`size-9 shrink-0 rounded-full`}),(0,g.jsxs)(`div`,{className:`flex-1 space-y-1.5`,children:[(0,g.jsx)(p.Skeleton,{className:`h-3 w-1/3`}),(0,g.jsx)(p.Skeleton,{className:`h-2.5 w-1/2`})]})]},t)):(0,g.jsxs)(g.Fragment,{children:[V.length>0&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(`div`,{className:`px-2 py-1 text-xs font-medium text-muted-foreground`,children:w(`lookup.recentlyUsed`)}),V.map((e,t)=>se(e,t)),ie.length>0&&(0,g.jsxs)(`div`,{className:`mt-1 flex items-center gap-1.5 px-2 py-1 text-xs font-medium text-muted-foreground`,children:[(0,g.jsx)(`span`,{children:w(`lookup.allResults`)}),(0,g.jsxs)(`span`,{className:`font-normal opacity-70`,children:[`· `,O.total]})]})]}),ie.map((e,t)=>se(e,V.length+t)),X&&(0,g.jsx)(`div`,{className:`py-8 text-center text-sm text-muted-foreground`,children:w(`lookup.noRecords`)})]})})}),r&&!S&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(rn,{records:P,onRemove:te,onClear:()=>F([]),clearLabel:w(`lookup.clear`),displayField:o,avatarField:l,idField:s,label:w(`table.selected`,{count:P.length}),className:(0,p.cn)(`border-t pt-3`)}),(0,g.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,g.jsx)(p.Button,{type:`button`,variant:`outline`,onClick:()=>t(!1),children:w(`common.cancel`)}),(0,g.jsx)(p.Button,{type:`button`,onClick:ne,children:w(`common.confirm`)})]})]})]});return S?T?(0,g.jsxs)(p.Sheet,{open:e,onOpenChange:t,children:[(0,g.jsx)(p.SheetTrigger,{asChild:!0,children:C}),(0,g.jsxs)(p.SheetContent,{side:`bottom`,className:`flex h-[85vh] flex-col gap-3`,"data-testid":`people-picker-sheet`,children:[(0,g.jsx)(p.SheetHeader,{className:`text-left`,children:(0,g.jsx)(p.SheetTitle,{children:Z})}),Q]})]}):(0,g.jsxs)(p.Popover,{open:e,onOpenChange:t,children:[(0,g.jsx)(p.PopoverTrigger,{asChild:!0,children:C}),(0,g.jsx)(p.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:Q})]}):T?(0,g.jsx)(p.Sheet,{open:e,onOpenChange:t,children:(0,g.jsxs)(p.SheetContent,{side:`bottom`,className:`flex h-[85vh] flex-col gap-3`,"data-testid":`people-picker-sheet`,children:[(0,g.jsx)(p.SheetHeader,{className:`text-left`,children:(0,g.jsx)(p.SheetTitle,{children:Z})}),Q]})}):(0,g.jsx)(p.Dialog,{open:e,onOpenChange:t,children:(0,g.jsxs)(p.DialogContent,{className:`flex max-h-[80vh] flex-col gap-3 sm:max-w-lg`,"data-testid":`people-picker-dialog`,children:[(0,g.jsx)(p.DialogHeader,{children:(0,g.jsx)(p.DialogTitle,{children:Z})}),Q]})})}var pn,mn,hn=o((()=>{Nt(),Gt(),$t(),nn(),an(),dn(),Q(),pn=25,mn=6}));function gn(e){let t=new Set,n=[];for(let r of e)t.has(r)||(t.add(r),n.push(r));return n}function _n(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:gn([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)||gn([t,...Object.keys(r).filter(e=>{if(e===t)return!1;let n=i(e);return!((0,v.isSystemManagedField)(e,n)||n.hidden||n.type&&vn.has(n.type))})]).slice(0,n).map(a)}var vn,yn=o((()=>{vn=new Set([`json`,`object`,`grid`,`html`,`richtext`,`markdown`,`code`,`image`,`file`,`avatar`,`vector`,`location`,`geometry`,`textarea`,`secret`,`password`,`encrypted`])})),bn=s({LookupField:()=>En});function xn(e){return!!e&&!kn.test(e)&&!An.has(e)}function Sn(e,t){if(!e||typeof e!=`object`||!t)return null;let n=`[-\\u2013\\u2014|/·,:]`,r=!1,i=t.replace(/\{([^{}]+)\}/g,(t,n)=>{let i=e[n.trim()];return i!=null&&i!==``?(r=!0,String(i)):`\0`});return r&&i.replace(RegExp(`\\s*${n}\\s*`,`g`),``).replace(RegExp(`\\s*${n}\\s*`,`g`),``).replace(RegExp(`\0`,`g`),``).replace(/\s+/g,` `).trim()||null}function Cn(e,t,n,r,i,a){let o=e[n]??e.id??e._id??e.externalId,s=i?Sn(e,i):null,c;if(a){let t=(0,d.getRecordDisplayName)(a,e),n=e?.id??e?._id;t===`Untitled`||n!=null&&t===`Record #${n}`||(c=t)}let l=s??e[t]??c??e.label??e.name??e.full_name??e.title??e.subject??e.externalId??String(o),u=r?e[r]:void 0;return{value:o,label:String(l),description:u,...e}}function wn(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 Tn(e){return{text:`text`,number:`number`,currency:`number`,percent:`number`,select:`select`,status:`select`,date:`date`,datetime:`date`,boolean:`boolean`}[e]}function En({value:e,onChange:t,field:n,readonly:r,error:i,...a}){let[o,s]=(0,u.useState)(!1),{t:c}=ce(),l=u.default.useId(),[d,f]=(0,u.useState)(null),[_,v]=(0,u.useState)([]),[y,b]=(0,u.useState)(()=>new Set),[x,S]=(0,u.useState)(-1),C=(0,u.useRef)(null),w=n,T=w?.field,E=T&&typeof T==`object`&&(`reference_to`in T||`reference`in T||`type`in T)?T:w,D=E?.options||[],O=E?.multiple||!1,k=E?.display_field||E?.displayField||E?.reference_field||`name`,A=E?.description_field??E?.descriptionField,j=E?.id_field||`id`,M=E?.reference_to||E?.reference,N=E?.allow_create??E?.allowCreate,P=N==null?xn(M):!!N,F=E?.lookup_columns??E?.lookupColumns,ee=E?.lookup_page_size??E?.lookupPageSize,I=E?.lookup_filters??E?.lookupFilters,L=E?.picker,R=E?.subtitle,z=E?.avatar_field??E?.avatarField??`image`,B=(0,u.useMemo)(()=>{let e=E?.depends_on??E?.dependsOn;return e&&Array.isArray(e)?e.map(e=>typeof e==`string`?{field:e,param:e}:{field:e.field,param:e.param??e.field}):[]},[E?.depends_on,E?.dependsOn]),te=a.dependsOnLabels,ne=(0,u.useMemo)(()=>B.map(e=>te?.[e.field]||e.field).join(`, `),[B,te]),re=a.dependentValues,V=(0,u.useContext)(On),ie=V?.dataSource??null,H=a.dataSource??w?.dataSource??E?.dataSource??ie,U=(0,u.useMemo)(()=>re||(V?.formValues??V?.data??{}),[re,V?.formValues,V?.data]),W=(0,u.useMemo)(()=>B.length!==0&&B.some(({field:e})=>{let t=U[e];return t==null||t===``||Array.isArray(t)&&t.length===0}),[B,U]),G=H!=null&&typeof H.find==`function`&&!!M,[K,oe]=(0,u.useState)(null);(0,u.useEffect)(()=>{if(!H||!M)return;let e=H.getObjectSchema;if(typeof e!=`function`)return;let t=!0;return Promise.resolve(e.call(H,M)).then(e=>{t&&oe(e)}).catch(()=>{}),()=>{t=!1}},[H,M]);let J=(0,u.useMemo)(()=>{let e=K?.titleFormat;return typeof e==`string`?e:e&&typeof e==`object`&&typeof e.source==`string`?e.source:null},[K]),Y=(0,u.useMemo)(()=>{if(F&&F.length>0)return F;let e=_n(K,{displayField:k});return e.length>0?e:void 0},[F,K,k]),X=(0,u.useMemo)(()=>{if(A)return A;let e=Y?.find(e=>(typeof e==`string`?e:e.field)!==k);if(e)return typeof e==`string`?e:e.field},[A,Y,k]),se=(0,u.useMemo)(()=>{if(!Y)return;let e=[];for(let t of Y)if(typeof t==`object`&&t.type){let n=Tn(t.type);n&&e.push({field:t.field,label:t.label,type:n})}return e.length>0?e:void 0},[Y]),Z=a.onCreateNew??w?.onCreateNew,[Q,le]=(0,u.useState)(!1),ue=(0,u.useMemo)(()=>{let e={};for(let{field:t,param:n}of B){let r=U[t];r!=null&&r!==``&&(e[n]=typeof r==`number`?r:String(r))}return Object.keys(e).length>0?e:void 0},[B,U]),de=(0,u.useMemo)(()=>{let e={...I&&I.length>0?It(I):{},...ue??{}};return Object.keys(e).length>0?e:void 0},[ue,I]),fe=Mt({dataSource:H,objectName:M,enabled:o&&G&&!W,pageSize:Dn,filter:de}),$=fe.search,pe=fe.loading,me=fe.total,he=fe.error??d,ge=(0,u.useMemo)(()=>fe.records.map(e=>Cn(e,k,j,X,J,K)),[fe.records,k,j,X,J,K]),_e=G?ge:D,ve=(0,u.useMemo)(()=>{if(G||!$)return _e;let e=$.toLowerCase();return _e.filter(t=>t.label.toLowerCase().includes(e)||t.description&&t.description.toLowerCase().includes(e))},[G,_e,$]);(0,u.useEffect)(()=>{S(-1)},[ve.length]),(0,u.useEffect)(()=>{o||S(-1)},[o]);let ye=(0,u.useCallback)(e=>fe.setSearch(e),[fe.setSearch]);(0,u.useEffect)(()=>{if(!G||!H||!M)return;let t=(O?Array.isArray(e)?e:[]:e!=null&&e!==``?[e]:[]).filter(e=>e!=null&&e!==``&&typeof e!=`object`&&!wn(e));if(!t.length)return;let n=t.filter(e=>!be(e));if(!n.length)return;let r=!1;return(async()=>{try{let e=[];if(n.length===1){let t=n[0];if(typeof H.findOne==`function`&&j===`id`){let n=await H.findOne(M,t);n&&e.push(Cn(n,k,j,X,J,K))}else{let n=await H.find(M,{$filter:{[j]:t},$top:1}),r=n?.data??n??[];r[0]&&e.push(Cn(r[0],k,j,X,J,K))}}else{let t=[];for(let e=0;e<n.length;e+=Dn)t.push(n.slice(e,e+Dn));let r=await Promise.all(t.map(e=>H.find(M,{$filter:{[j]:{$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(Cn(t,k,j,X,J,K))}}!r&&e.length&&v(t=>{let n=new Map(t.map(e=>[e.value,e]));for(let t of e)n.set(t.value,t);return Array.from(n.values())})}catch{}finally{r||b(e=>{let t=new Set(e);for(let e of n)t.add(String(e));return t})}})(),()=>{r=!0}},[e,G,M,k,j,X,O]);let be=(0,u.useCallback)(e=>D.find(t=>t.value===e)??ge.find(t=>t.value===e)??_.find(t=>t.value===e),[D,ge,_]),xe=(0,u.useCallback)(e=>{let t=String(e);return D.find(e=>String(e.value)===t)??ge.find(e=>String(e.value)===t)??_.find(e=>String(e.value)===t)},[D,ge,_]),Se=(0,u.useCallback)(e=>{let t=typeof e==`object`&&e?e:wn(e);return t?t[j]??t.id??t._id??t.externalId:e},[j]),Ce=(0,u.useMemo)(()=>O?Array.isArray(e)?e.map(Se):[]:Se(e),[O,e,Se]),we=(0,u.useCallback)(e=>{if(e==null||e===``)return;let t=typeof e==`object`?e:wn(e);return t?Cn(t,k,j,X,J,K):be(e)??xe(e)},[be,xe,k,j,X,J,K]),Te=(0,u.useMemo)(()=>G?(O?Array.isArray(e)?e:[]:e!=null&&e!==``?[e]:[]).some(e=>e!=null&&e!==``&&typeof e!=`object`&&!wn(e)&&!be(e)&&!xe(e)&&!y.has(String(e))):!1,[G,O,e,be,xe,y]),Ee=O?(Array.isArray(e)?e:[]).filter(e=>e!=null&&e!==``).length:+(e!=null&&e!==``),De=O?(Array.isArray(e)?e:[]).map(we).filter(Boolean):e?[we(e)].filter(Boolean):[],Oe=a.onSelectRecord,ke=(0,u.useCallback)(n=>{if(n&&n.value!=null&&v(e=>{let t=new Map(e.map(e=>[e.value,e]));return t.set(n.value,n),Array.from(t.values())}),O){let r=(Array.isArray(e)?e:[]).map(Se);r.includes(n.value)?t(r.filter(e=>e!==n.value)):(M&&cn(M,n.value),t([...r,n.value]))}else M&&cn(M,n.value),Oe?Oe(n):t(n.value),s(!1)},[O,e,t,Oe,M,Se]),Ae=n=>{t(O?(Array.isArray(e)?e:[]).map(Se).filter(e=>e!==n):null)},je=(0,u.useCallback)(e=>{let t=e.map(e=>Cn(e,k,j,X,J,K));M&&t.forEach(e=>cn(M,e.value)),v(t)},[k,j,X,J,M]),[Me,Ne]=(0,u.useState)([]);(0,u.useEffect)(()=>{if(!o||!G||!H||!M||$)return;let e=sn(M);if(!e.length){Ne([]);return}let t=!1;return(async()=>{try{let n=[];for(let t of e){let e=be(t);if(e){n.push(e);continue}if(typeof H.findOne==`function`){let e=await H.findOne(M,t);e&&n.push(Cn(e,k,j,X,J,K))}}t||Ne(n)}catch{t||Ne([])}})(),()=>{t=!0}},[o,G,M,$]);let Pe=!$&&G?Me.length:0,Fe=(0,u.useMemo)(()=>{if($||!G||Me.length===0)return ve;let e=new Set(Me.map(e=>e.value));return[...Me,...ve.filter(t=>!e.has(t.value))]},[$,G,Me,ve]);(0,u.useEffect)(()=>{S(-1)},[Fe.length]);let[Ie,Le]=(0,u.useState)(!1),{execute:Re}=(0,h.useAction)(),ze=(0,h.useHasActionProvider)(),Be=!!Z||P&&(ze||G),Ve=(0,u.useCallback)(async e=>{let t=(e||``).trim();if(Z){Z(t),s(!1);return}if(!(!P||!M)){if(f(null),ze){s(!1),await new Promise(e=>setTimeout(e,0));let e=await Re({type:`modal`,modal:{objectName:M,mode:`create`}});if(e?.success&&e.data){let t=Cn(e.data,k,j,X,J,K);v(e=>[t,...e.filter(e=>e.value!==t.value)]),ke(t);return}if(!(e?.success&&e.modal))return}if(!(!H||!t)){Le(!0);try{let e=Cn(await H.create(M,{[k]:t}),k,j,X,J,K);v(t=>[e,...t.filter(t=>t.value!==e.value)]),ke(e)}catch(e){f(e instanceof Error?e.message:String(e))}finally{Le(!1)}}}},[Z,P,M,ze,Re,H,k,j,X,J,K,ke]),He=(0,u.useCallback)(e=>{if(!Y||Y.length===0)return;let t=[];for(let n of Y){let r=typeof n==`string`?n:n.field;if(r===k)continue;let i=e[r];if(i==null||i===``)continue;let a=typeof n==`string`?r:n.label||r,o=typeof i==`object`?i.name??i.label??JSON.stringify(i):i;t.push(`${a}: ${o}`)}return t.length?t.join(` · `):void 0},[Y,k]),Ue=(0,u.useCallback)(e=>{e.key===`ArrowDown`?(e.preventDefault(),S(e=>e<Fe.length-1?e+1:e)):e.key===`ArrowUp`?(e.preventDefault(),S(e=>e>0?e-1:0)):e.key===`Enter`&&(e.preventDefault(),x>=0&&x<Fe.length&&ke(Fe[x]))},[Fe,x,ke]);if((0,u.useEffect)(()=>{x>=0&&C.current&&C.current.querySelector(`[data-lookup-index="${x}"]`)?.scrollIntoView({block:`nearest`})},[x]),r)return De.length?O?(0,g.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:De.map((e,t)=>(0,g.jsx)(p.Badge,{variant:`outline`,children:e?.label||e?.[k]},t))}):(0,g.jsx)(`span`,{className:`text-sm`,children:De[0]?.label||De[0]?.[k]}):Te?(0,g.jsxs)(`span`,{className:`inline-flex items-center gap-1.5 text-sm text-muted-foreground`,"data-testid":`lookup-hydrating`,children:[(0,g.jsx)(m.Loader2,{className:`size-3.5 animate-spin`}),O?c(`table.selected`,{count:Ee}):c(`lookup.loading`)]}):(0,g.jsx)(p.EmptyValue,{});let We=!!a.compact,Ge=De[0]?.label||De[0]?.[k],{name:Ke,...qe}=q(a),Je=(0,g.jsxs)(p.Button,{...qe,variant:`outline`,className:(0,p.cn)(`min-w-0 max-w-full flex-1 justify-start text-left font-normal`,We&&`h-8 rounded-none border-0 bg-transparent px-2 shadow-none focus-visible:ring-1 focus-visible:ring-ring/60`),type:`button`,disabled:W||a.disabled,"data-testid":W?`lookup-trigger-gated`:a.name||w?.name?`lookup-trigger-${a.name||w.name}`:`lookup-trigger`,title:W?c(`lookup.selectFirst`,{fields:ne}):void 0,"aria-invalid":!!i,children:[Te?(0,g.jsx)(m.Loader2,{className:(0,p.cn)(`size-4 shrink-0 animate-spin text-muted-foreground`,We?`mr-1.5`:`mr-2`),"data-testid":`lookup-hydrating`}):(0,g.jsx)(m.Search,{className:(0,p.cn)(`size-4 shrink-0 text-muted-foreground`,We?`mr-1.5`:`mr-2`)}),(0,g.jsx)(`span`,{className:(0,p.cn)(`truncate`,We&&De.length===0&&`text-muted-foreground`),children:W?c(`lookup.selectFirst`,{fields:ne}):Te?O?c(`table.selected`,{count:Ee}):c(`lookup.loading`):We&&!O&&De.length>0?Ge:De.length===0?w?.placeholder||c(`common.select`):O?c(`table.selected`,{count:De.length}):c(`common.select`)})]});return(0,g.jsxs)(`div`,{className:We?``:`space-y-2`,children:[De.length>0&&!We&&(0,g.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:De.map((e,t)=>{let n=e?.label||e?.[k];if(L===`search`){let r=e?.[z]||e?.image;return(0,g.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,g.jsxs)(p.Avatar,{className:`size-6 shrink-0`,children:[r&&(0,g.jsx)(p.AvatarImage,{src:r,alt:String(n||``)}),(0,g.jsx)(p.AvatarFallback,{className:`text-[10px]`,children:Jt(String(n||``))})]}),(0,g.jsx)(`span`,{className:`max-w-[10rem] truncate`,children:n}),(0,g.jsx)(`button`,{onClick:()=>Ae(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,g.jsx)(m.X,{className:`size-3`})})]},t)}return(0,g.jsxs)(p.Badge,{variant:`outline`,className:`gap-1`,children:[n,(0,g.jsx)(`button`,{onClick:()=>Ae(e?.value),className:`ml-1 hover:text-destructive`,type:`button`,"aria-label":c(`lookup.remove`,{label:n}),children:(0,g.jsx)(m.X,{className:`size-3`})})]},t)})}),L===`search`&&G&&H&&M?(0,g.jsx)(fn,{inline:!0,trigger:Je,open:Q,onOpenChange:le,title:w?.label||c(`common.select`),multiple:O,dataSource:H,objectName:M,displayField:k,idField:j,subtitleFields:R,avatarField:z,pageSize:ee,value:Ce,onSelect:t,onSelectRecords:je,lookupFilters:I,baseFilter:ue}):(0,g.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,g.jsxs)(p.Popover,{open:o,onOpenChange:e=>{W||s(e)},children:[(0,g.jsx)(p.PopoverTrigger,{asChild:!0,children:Je}),(0,g.jsxs)(p.PopoverContent,{className:`w-[var(--radix-popover-trigger-width)] p-0`,align:`start`,children:[(0,g.jsx)(`div`,{className:`p-2`,children:(0,g.jsxs)(`div`,{className:`relative`,children:[(0,g.jsx)(m.Search,{className:`absolute left-3 top-1/2 -translate-y-1/2 size-4 text-muted-foreground`}),(0,g.jsx)(p.Input,{placeholder:c(`table.search`),value:$,onChange:e=>ye(e.target.value),onKeyDown:Ue,className:`w-full pl-9 h-8 text-sm`,role:`combobox`,"aria-autocomplete":`list`,"aria-controls":l,"aria-expanded":o,"aria-activedescendant":x>=0?`${l}-opt-${x}`:void 0}),pe&&(0,g.jsx)(m.Loader2,{className:`absolute right-3 top-1/2 -translate-y-1/2 size-4 animate-spin text-muted-foreground`,"data-testid":`lookup-loading`})]})}),he&&(0,g.jsxs)(`div`,{className:`flex flex-col items-center gap-2 py-4 px-2`,role:`alert`,children:[(0,g.jsx)(m.AlertCircle,{className:`size-5 text-destructive`}),(0,g.jsx)(`p`,{className:`text-sm text-destructive`,children:he}),(0,g.jsx)(p.Button,{variant:`outline`,size:`sm`,onClick:()=>fe.refetch(),type:`button`,children:c(`lookup.retry`)})]}),pe&&ve.length===0&&!he&&(0,g.jsxs)(`div`,{className:`flex flex-col items-center gap-2 py-6`,role:`status`,"aria-live":`polite`,children:[(0,g.jsx)(m.Loader2,{className:`size-6 animate-spin text-muted-foreground`}),(0,g.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:c(`lookup.loading`)})]}),!he&&!(pe&&ve.length===0)&&(0,g.jsx)(`div`,{ref:C,className:`max-h-64 overflow-y-auto px-1 pb-1`,role:`listbox`,id:l,children:Fe.length===0?(0,g.jsxs)(`div`,{className:`py-4 text-center`,children:[(0,g.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:c(`lookup.noOptions`)}),Be&&(0,g.jsxs)(p.Button,{variant:`ghost`,size:`sm`,className:`mt-2 gap-1`,type:`button`,disabled:Ie,onClick:()=>Ve($),children:[Ie?(0,g.jsx)(m.Loader2,{className:`size-4 animate-spin`}):(0,g.jsx)(m.Plus,{className:`size-4`}),$?c(`lookup.createNamed`,{name:$}):c(`lookup.createNew`)]})]}):(0,g.jsxs)(g.Fragment,{children:[Fe.map((t,n)=>{let r=O?(Array.isArray(e)?e:[]).map(Se).includes(t.value):Se(e)===t.value,i=n===x,a=Pe>0&&n===0,o=Pe>0&&n===Pe;return(0,g.jsxs)(u.default.Fragment,{children:[a&&(0,g.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,g.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,g.jsxs)(`button`,{id:`${l}-opt-${n}`,"data-lookup-index":n,role:`option`,"aria-selected":r,title:He(t),onClick:()=>ke(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,g.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,g.jsx)(`span`,{className:`block truncate`,children:t.label}),t.description&&(0,g.jsx)(`span`,{className:`block truncate text-xs text-muted-foreground`,children:t.description})]}),r&&(0,g.jsx)(p.Badge,{variant:`default`,className:`ml-2 shrink-0`,children:c(`lookup.selectedBadge`)})]})]},t.value)}),G&&me>ve.length&&(0,g.jsx)(`p`,{className:`text-xs text-muted-foreground text-center py-2`,children:c(`lookup.showingResults`,{shown:ve.length,total:me})}),G&&me>ve.length&&(0,g.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),le(!0)},"data-testid":`show-all-results`,children:[(0,g.jsx)(m.TableProperties,{className:`size-3.5`}),c(`lookup.showAllResults`,{count:me})]}),Be&&(0,g.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:Ie,onClick:()=>Ve($),children:[Ie?(0,g.jsx)(m.Loader2,{className:`size-3.5 animate-spin`}):(0,g.jsx)(m.Plus,{className:`size-3.5`}),$?c(`lookup.createNamed`,{name:$}):c(`lookup.createNew`)]})]})})]})]}),G&&L!==`search`&&(0,g.jsx)(p.Button,{variant:`outline`,size:`icon`,className:`shrink-0`,type:`button`,disabled:W||a.disabled,onClick:()=>le(!0),"aria-label":c(`lookup.browseAll`),title:W?c(`lookup.selectFirst`,{fields:ne}):c(`lookup.browseAll`),"data-testid":`browse-all-records`,children:(0,g.jsx)(m.TableProperties,{className:`size-4`})})]}),G&&H&&M&&L!==`search`&&(0,g.jsx)(Vt,{open:Q,onOpenChange:le,title:w?.label||c(`common.select`),multiple:O,dataSource:H,objectName:M,columns:Y,displayField:k,titleFormat:J,idField:j,pageSize:ee,value:Ce,onSelect:t,onSelectRecords:je,lookupFilters:I,baseFilter:ue,cellRenderer:ae(),fieldsMeta:K?.fields,filterColumns:se})]})}var Dn,On,kn,An,jn=o((()=>{J(),Gt(),hn(),Nt(),yn(),dn(),$t(),Q(),Dn=50,On=h.SchemaRendererContext,kn=/^(sys_|cloud_|ai_)/,An=new Set([`user`,`users`])})),Mn=s({UserField:()=>Pn});function Nn(e){let t=Array.isArray(e)?e:[];return t.some(e=>e?.field===`banned`)?t:[...t,{field:`banned`,operator:`ne`,value:!0}]}function Pn(e){let t=e.field,n=t?.field&&typeof t.field==`object`&&(`reference`in t.field||`reference_to`in t.field||`type`in t.field),r=n?t.field:t,i={...r||{},reference:r?.reference||r?.reference_to||`sys_user`,display_field:r?.display_field||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`,lookup_filters:Nn(r?.lookup_filters??r?.lookupFilters)},a=n?{...t,field:i}:i;return(0,g.jsx)(En,{...e,field:a})}var Fn=o((()=>{jn()})),In=s({ColorField:()=>Ln});function Ln({value:e,onChange:t,field:n,readonly:r,error:i,...a}){let o=n;return r?(0,g.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,g.jsx)(`div`,{className:`w-6 h-6 rounded border border-input`,style:{backgroundColor:e||`#000000`}}),(0,g.jsx)(`span`,{className:`text-sm`,children:e||(0,g.jsx)(p.EmptyValue,{})})]}):(0,g.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,g.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,g.jsx)(p.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 Rn=o((()=>{J()})),zn=s({AddressField:()=>Bn});function Bn({value:e,onChange:t,field:n,readonly:r,error:i,...a}){let o=e||{},{id:s,"aria-labelledby":c,...l}=q(a),d=Me(a),f=(0,u.useId)(),m=e=>`${f}-${e}`,h=w(o),_=(e,n)=>{let r={...o};delete r.zipCode,t({...r,...h?{postalCode:h}:null,[e]:n})};if(r){let e=E(o);return e?(0,g.jsx)(`span`,{...d,className:`text-sm`,children:e}):(0,g.jsx)(p.EmptyValue,{...d})}return(0,g.jsxs)(`div`,{className:`space-y-3`,...d,children:[(0,g.jsxs)(`div`,{children:[(0,g.jsx)(p.Label,{htmlFor:m(`street`),className:`text-xs`,children:`Street Address`}),(0,g.jsx)(p.Input,{...l,id:m(`street`),type:`text`,value:o.street||``,onChange:e=>_(`street`,e.target.value),placeholder:`123 Main St`,disabled:r||a.disabled,className:a.className,"aria-invalid":!!i})]}),(0,g.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,g.jsxs)(`div`,{children:[(0,g.jsx)(p.Label,{htmlFor:m(`city`),className:`text-xs`,children:`City`}),(0,g.jsx)(p.Input,{id:m(`city`),type:`text`,value:o.city||``,onChange:e=>_(`city`,e.target.value),placeholder:`San Francisco`,disabled:r||a.disabled,"aria-invalid":!!i})]}),(0,g.jsxs)(`div`,{children:[(0,g.jsx)(p.Label,{htmlFor:m(`state`),className:`text-xs`,children:`State / Province`}),(0,g.jsx)(p.Input,{id:m(`state`),type:`text`,value:o.state||``,onChange:e=>_(`state`,e.target.value),placeholder:`CA`,disabled:r||a.disabled,"aria-invalid":!!i})]})]}),(0,g.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,g.jsxs)(`div`,{children:[(0,g.jsx)(p.Label,{htmlFor:m(`postalCode`),className:`text-xs`,children:`ZIP / Postal Code`}),(0,g.jsx)(p.Input,{id:m(`postalCode`),type:`text`,value:h||``,onChange:e=>_(`postalCode`,e.target.value),placeholder:`94102`,disabled:r||a.disabled,"aria-invalid":!!i})]}),(0,g.jsxs)(`div`,{children:[(0,g.jsx)(p.Label,{htmlFor:m(`country`),className:`text-xs`,children:`Country`}),(0,g.jsx)(p.Input,{id:m(`country`),type:`text`,value:o.country||``,onChange:e=>_(`country`,e.target.value),placeholder:`United States`,disabled:r||a.disabled,"aria-invalid":!!i})]})]})]})}var Vn=o((()=>{J(),Ne()})),Hn=s({LocationField:()=>Un});function Un({value:e,onChange:t,field:n,readonly:r,error:i,...a}){let o=n,s=e&&typeof e==`object`?`${e.latitude||0}, ${e.longitude||0}`:``;if(r)return(0,g.jsx)(`span`,{className:`text-sm`,children:s||(0,g.jsx)(p.EmptyValue,{})});let c=e=>{let n=e.target.value;if(!n.trim()){t(null);return}let r=n.split(`,`).map(e=>e.trim());if(r.length===2){let e=parseFloat(r[0]),n=parseFloat(r[1]);!isNaN(e)&&!isNaN(n)&&t({latitude:e,longitude:n})}};return(0,g.jsx)(p.Input,{...q(a),type:`text`,value:s,onChange:c,placeholder:o?.placeholder||`latitude, longitude`,disabled:r||a.disabled,className:a.className,"aria-invalid":!!i})}var Wn=o((()=>{J()})),Gn=s({GeolocationField:()=>Kn});function Kn({value:e,onChange:t,field:n,readonly:r,error:i,...a}){let[o,s]=u.default.useState(!1),c=e||{},{id:l,"aria-labelledby":d,...f}=q(a),h=Me(a),_=(0,u.useId)(),v=e=>`${_}-${e}`,y=(e,n)=>{t({...c,[e]:n?Number(n):void 0})},b=()=>{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})},x=e=>!e.latitude||!e.longitude?``:`${e.latitude.toFixed(6)}, ${e.longitude.toFixed(6)}`,S=()=>{if(!c.latitude||!c.longitude)return;let e=`https://www.google.com/maps?q=${c.latitude},${c.longitude}`;window.open(e,`_blank`)};if(r){let e=x(c);return(0,g.jsxs)(`div`,{...h,className:`flex items-center gap-2`,children:[(0,g.jsx)(m.MapPin,{className:`w-4 h-4 text-muted-foreground`}),e?(0,g.jsx)(`span`,{className:`text-sm`,children:e}):(0,g.jsx)(p.EmptyValue,{}),c.latitude&&c.longitude&&(0,g.jsx)(p.Button,{type:`button`,variant:`link`,size:`sm`,onClick:S,className:`p-0 h-auto`,children:`View on map`})]})}return(0,g.jsxs)(`div`,{className:`space-y-3`,...h,children:[(0,g.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,g.jsxs)(p.Button,{type:`button`,variant:`outline`,size:`sm`,onClick:b,disabled:r||o,children:[(0,g.jsx)(m.Crosshair,{className:`w-4 h-4 mr-2`}),o?`Getting location...`:`Use Current Location`]}),c.latitude&&c.longitude&&(0,g.jsxs)(p.Button,{type:`button`,variant:`link`,size:`sm`,onClick:S,children:[(0,g.jsx)(m.MapPin,{className:`w-4 h-4 mr-2`}),`View on map`]})]}),(0,g.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,g.jsxs)(`div`,{children:[(0,g.jsx)(p.Label,{htmlFor:v(`latitude`),className:`text-xs`,children:`Latitude`}),(0,g.jsx)(p.Input,{...f,id:v(`latitude`),type:`number`,value:c.latitude??``,onChange:e=>y(`latitude`,e.target.value),placeholder:`37.7749`,disabled:r||a.disabled,step:`any`,className:a.className,"aria-invalid":!!i})]}),(0,g.jsxs)(`div`,{children:[(0,g.jsx)(p.Label,{htmlFor:v(`longitude`),className:`text-xs`,children:`Longitude`}),(0,g.jsx)(p.Input,{id:v(`longitude`),type:`number`,value:c.longitude??``,onChange:e=>y(`longitude`,e.target.value),placeholder:`-122.4194`,disabled:r||a.disabled,step:`any`,"aria-invalid":!!i})]})]}),c.accuracy&&(0,g.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`Accuracy: ±`,c.accuracy.toFixed(0),`m`]})]})}var qn=o((()=>{J(),Ne()})),Jn=s({CodeField:()=>Yn});function Yn({value:e,onChange:t,field:n,readonly:r,error:i,...a}){let o=n,s=o?.language??`javascript`;return r?(0,g.jsx)(`pre`,{className:(0,p.cn)(`text-sm bg-muted p-2 rounded overflow-x-auto border`,a.className),children:(0,g.jsx)(`code`,{children:e||(0,g.jsx)(p.EmptyValue,{})})}):(0,g.jsx)(p.Textarea,{...q(a),value:e||``,onChange:e=>t(e.target.value),placeholder:o?.placeholder||`// Write ${s} code here...`,disabled:r||a.disabled,className:(0,p.cn)(`font-mono text-sm`,a.className),rows:12,spellCheck:!1,"aria-invalid":!!i})}var Xn=o((()=>{J()})),Zn=s({QRCodeField:()=>Qn});function Qn({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,g.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,g.jsx)(`span`,{className:`text-sm flex-1 truncate`,children:e||(0,g.jsx)(p.EmptyValue,{})}),e&&(0,g.jsxs)(p.Button,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>s(!o),children:[(0,g.jsx)(m.QrCode,{className:`w-4 h-4 mr-2`}),o?`Hide`:`Show`,` QR`]})]}):(0,g.jsxs)(`div`,{className:`space-y-3`,children:[(0,g.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,g.jsx)(p.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,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(p.Button,{type:`button`,variant:`outline`,size:`sm`,onClick:d,children:(0,g.jsx)(m.Copy,{className:`w-4 h-4`})}),(0,g.jsx)(p.Button,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>s(!o),children:(0,g.jsx)(m.QrCode,{className:`w-4 h-4`})})]})]}),o&&e&&(0,g.jsx)(`div`,{className:`border rounded p-4 bg-white flex justify-center`,children:(0,g.jsx)(`img`,{src:l(e),alt:`QR Code`,className:`w-48 h-48`})}),e&&(0,g.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`QR code contains: `,e.length,` characters`]})]})}var $n=o((()=>{J()}));se(),ve(),xe(),Te(),Oe(),je(),Ie(),ze(),Xe(),Ke(),$e(),nt(),at(),ht(),vt(),xt(),wt(),Dt(),At(),jn(),Fn(),Rn(),Vn(),Wn(),qn(),Xn(),$n();var er={text:X,textarea:_e,number:be,currency:we,percent:De,slider:Ae,progress:Ae,rating:Fe,boolean:Re,toggle:Re,select:Je,status:Je,multiselect:Ge,radio:Qe,checkboxes:tt,tags:it,date:mt,datetime:_t,time:bt,email:Ct,phone:Et,url:kt,lookup:En,master_detail:En,user:Pn,owner:Pn,color:Ln,address:Bn,location:Un,geolocation:Kn,code:Yn,qrcode:Qn},tr=new Set([`formula`,`summary`,`auto_number`,`file`,`image`,`avatar`,`signature`,`markdown`,`html`,`richtext`,`password`,`secret`,`object`,`grid`,`vector`,`object-ref`,`filter-condition`,`recipient-picker`]),nr=new Set([`boolean`,`toggle`,`select`,`status`,`radio`,`rating`]);function rr(e){return e in er||tr.has(e)?e:K(e).replace(/^field:/,``)}function ir(e){return!!e&&rr(e)in er}function ar(e){return!!e&&tr.has(rr(e))}var or=new Set([`lookup`,`master_detail`,`user`,`owner`]);function sr({field:e,value:t,onChange:n,readonly:r,autoFocus:i}){let a=e?.type?rr(e.type):void 0,o=a?er[a]:void 0;if(!o)return null;let s=a&&or.has(a)?{compact:!0}:{};return(0,g.jsx)(o,{field:e,value:t,onChange:n,readonly:r,autoFocus:i,...s})}var cr=s({PasswordField:()=>lr});function lr({value:e,onChange:t,field:n,readonly:r,className:i,...a}){let[o,s]=(0,u.useState)(!1),c=n;if(r)return(0,g.jsx)(`span`,{className:`text-sm`,children:`••••••••`});let l=q(a);return(0,g.jsxs)(`div`,{className:`relative`,children:[(0,g.jsx)(p.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,g.jsx)(p.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,g.jsx)(m.EyeOff,{className:`size-4 text-gray-500`}):(0,g.jsx)(m.Eye,{className:`size-4 text-gray-500`})})]})}var ur=o((()=>{J()})),dr=s({RichTextField:()=>pr});function fr({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}){return(0,g.jsxs)(`div`,{className:(0,p.cn)(`space-y-2`,l&&`flex flex-col h-full`),children:[(0,g.jsxs)(`div`,{className:`flex items-center justify-between text-xs text-gray-500`,children:[(0,g.jsx)(`span`,{children:n}),(0,g.jsx)(`span`,{className:`italic`,children:r})]}),(0,g.jsxs)(`div`,{className:(0,p.cn)(`relative`,l&&`flex-1 min-h-0`),children:[(0,g.jsx)(p.Textarea,{value:e||``,onChange:e=>t(e.target.value),placeholder:i,disabled:o,autoFocus:u,rows:l?void 0:a,className:(0,p.cn)(`font-mono`,l?`text-base h-full min-h-full resize-none`:`text-sm`,c),"aria-invalid":!!s,"data-testid":d}),f]})]})}function pr({value:e,onChange:t,field:n,readonly:r,error:i,...a}){let{t:o}=(0,h.useObjectTranslation)();if(r)return(0,g.jsx)(`div`,{className:`text-sm prose prose-sm max-w-none`,children:e||(0,g.jsx)(p.EmptyValue,{})});let s=n,c=s?.rows||8,l=s?.format||`markdown`,u=!!s?.mobile_fullscreen,d=!!a.disabled,f=o(`fields.richText.format`,{format:l,defaultValue:`Format: ${l}`}),m=o(`fields.richText.basicEditorHint`,{defaultValue:`Rich text editor (basic)`}),_=s?.placeholder||o(`fields.richText.placeholder`,{defaultValue:`Enter text…`});return(0,g.jsx)(fr,{value:e,onChange:t,formatLabel:f,hint:m,placeholder:_,rows:c,disabled:r||d,error:i,className:a.className,overlay:u&&(0,g.jsx)(me,{value:e??``,onCommit:t,label:s?.label,testIdPrefix:`richtext`,disabled:d,children:(e,t,n)=>(0,g.jsx)(fr,{value:e,onChange:t,formatLabel:f,hint:m,placeholder:_,disabled:n,autoFocus:!0,fullHeight:!0,textareaTestId:`richtext-fullscreen-input`})})})}var mr=o((()=>{he()}));Q();function hr(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 gr=[`platform`,`org`,`other`],_r=new Set([`manage_users`,`manage_org_users`,`manage_metadata`,`manage_platform_settings`,`setup_access`,`setup_write`,`studio_access`]);function vr({value:e,onChange:t,readonly:n,className:r,...i}){let{t:a}=ce(),o=u.default.useContext(h.SchemaRendererContext),s=i.dataSource??o?.dataSource??null,c=i.disabled,[l,d]=u.default.useState(null),f=u.default.useMemo(()=>hr(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 m=u.default.useCallback(e=>t(JSON.stringify(e)),[t]),_=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]),v=e=>{let t=e.replace(/\./g,`_`);return _r.has(t)?a(`capability.label.${t}`):_.get(e)?.label||e},y=u.default.useMemo(()=>{let e=new Map;for(let t of _.values()){let n=gr.includes(t.scope)?t.scope:`other`,r=e.get(n)??[];r.push(t),e.set(n,r)}return gr.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 f.length===0?(0,g.jsx)(p.EmptyValue,{}):(0,g.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:f.map(e=>(0,g.jsx)(p.Badge,{variant:`outline`,title:_.get(e)?.description,children:v(e)},e))});let b=e=>{let t=f.includes(e)?f.filter(t=>t!==e):[...f,e];m(t)};return(0,g.jsxs)(`div`,{className:(0,p.cn)(`flex flex-col gap-3`,r),children:[l===null&&y.length===0&&(0,g.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:`Loading capabilities…`}),y.map(e=>(0,g.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,g.jsx)(`div`,{className:`text-xs font-medium uppercase tracking-wide text-muted-foreground`,children:e.label}),(0,g.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:e.items.map(e=>{let t=f.includes(e.name);return(0,g.jsx)(`button`,{type:`button`,onClick:()=>b(e.name),disabled:c,"aria-pressed":t,title:e.description||void 0,className:(0,p.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:v(e.name)},e.name)})})]},e.scope))]})}var yr=s({ObjectRefField:()=>br,default:()=>br});function br({value:e,onChange:t,readonly:n,className:r,error:i,...a}){let o=u.default.useContext(h.SchemaRendererContext),{t:s}=ce(),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 m=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,g.jsx)(p.EmptyValue,{});let t=m.find(t=>t.value===e)?.label??e;return(0,g.jsx)(`span`,{className:r,children:t})}let{name:_,...v}=q(a);return(0,g.jsx)(p.Combobox,{...v,options:m,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,p.cn)(`w-full`,r),"aria-invalid":!!i})}var xr=o((()=>{J(),Q()})),Sr=s({FilterConditionField:()=>Nr,condToMongo:()=>Er,default:()=>Nr,isMatchAllCriteria:()=>jr,kvToCondition:()=>kr});function Cr(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&&Fr.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_to||t.reference})}return r}function wr(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 Tr(e){return Array.isArray(e)?e:typeof e==`string`?e.split(`,`).map(e=>e.trim()).filter(Boolean):e==null?[]:[e]}function Er(e,t){let{field:n,operator:r,value:i}=e||{};if(!n)return null;let a=t(n),o=wr(i,a);switch(r){case`equals`:return{[n]:o};case`notEquals`:return{[n]:{$ne:o}};case`contains`:return{[n]:{$contains:i}};case`notContains`:return{[n]:{$notContains:i}};case`startsWith`:return{[n]:{$startsWith:i}};case`endsWith`:return{[n]:{$endsWith:i}};case`isEmpty`:return{[n]:{$in:[null,``]}};case`isNotEmpty`:return{[n]:{$nin:[null,``]}};case`isNull`:return{[n]:{$null:!0}};case`isNotNull`:return{[n]:{$null:!1}};case`exists`:return{[n]:{$exists:!0}};case`notExists`:return{[n]:{$exists:!1}};case`greaterThan`:case`after`:return{[n]:{$gt:o}};case`lessThan`:case`before`:return{[n]:{$lt:o}};case`greaterOrEqual`:return{[n]:{$gte:o}};case`lessOrEqual`:return{[n]:{$lte:o}};case`between`:{let[e,t]=Array.isArray(i)?i:[void 0,void 0];return{[n]:{$gte:wr(e,a),$lte:wr(t,a)}}}case`in`:return{[n]:{$in:Tr(i).map(e=>wr(e,a))}};case`notIn`:return{[n]:{$nin:Tr(i).map(e=>wr(e,a))}};default:return{[n]:o}}}function Dr(e,t){let n=(e?.conditions??[]).map(e=>Er(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 Or(e,t){return Array.isArray(e)&&e.length===t.length&&e.every((e,n)=>e===t[n])}function kr(e,t,n){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:`notEquals`,value:a};case`$contains`:return{id:r,field:e,operator:`contains`,value:a};case`$notContains`:case`$ncontains`:return{id:r,field:e,operator:`notContains`,value:a};case`$gt`:return{id:r,field:e,operator:`greaterThan`,value:a};case`$lt`:return{id:r,field:e,operator:`lessThan`,value:a};case`$gte`:return{id:r,field:e,operator:`greaterOrEqual`,value:a};case`$lte`:return{id:r,field:e,operator:`lessOrEqual`,value:a};case`$startsWith`:return{id:r,field:e,operator:`startsWith`,value:a};case`$endsWith`:return{id:r,field:e,operator:`endsWith`,value:a};case`$null`:return{id:r,field:e,operator:a===!1?`isNotNull`:`isNull`,value:``};case`$exists`:return{id:r,field:e,operator:a===!1?`notExists`:`exists`,value:``};case`$in`:return Or(a,[null,``])?{id:r,field:e,operator:`isEmpty`,value:``}:{id:r,field:e,operator:`in`,value:a};case`$nin`:return Or(a,[null,``])?{id:r,field:e,operator:`isNotEmpty`,value:``}:{id:r,field:e,operator:`notIn`,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]}:null}function Ar(e){if(e==null)return{...Pr,conditions:[]};if(typeof e!=`object`||Array.isArray(e))return null;let t=Object.entries(e);if(t.length===0)return{...Pr,conditions:[]};if(t.length===1&&(e.$or||e.$and)){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];if(i.startsWith(`$`))return null;let a=kr(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){if(e.startsWith(`$`))return null;let t=kr(e,i,r++);if(!t)return null;n.push(t)}return{id:`root`,logic:`and`,conditions:n}}function jr(e){if(e==null)return!0;if(Array.isArray(e))return e.every(jr);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(jr))continue;return!1}if(e===`$or`){if(!Array.isArray(n)||n.length===0||n.some(jr))continue;return!1}return!1}return!0}function Mr(e){if(e==null||e===``)return``;if(typeof e==`string`)return e;try{return JSON.stringify(e)}catch{return``}}function Nr({value:e,onChange:t,readonly:n,className:r,error:i,...a}){let o=u.default.useContext(h.SchemaRendererContext),{t:s}=ce(),c=a.dataSource??o?.dataSource??null,l=a.dependentValues??{},d=String(l.object_name??``),[f,m]=u.default.useState(null);u.default.useEffect(()=>{if(m(null),!c||!d||typeof c.getObjectSchema!=`function`)return;let e=!1;return(async()=>{try{let t=await c.getObjectSchema(d);e||m(Cr(t))}catch{e||m([])}})(),()=>{e=!0}},[c,d]);let _=u.default.useMemo(()=>Mr(e),[e]),v=u.default.useMemo(()=>{if(!_.trim())return{mongo:{},ok:!0};try{return{mongo:JSON.parse(_),ok:!0}}catch{return{mongo:null,ok:!1}}},[_]),y=u.default.useMemo(()=>v.ok?Ar(v.mongo):null,[v]),b=u.default.useMemo(()=>v.ok&&jr(v.mongo),[v]),x=v.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]);return d?n?_.trim()?(0,g.jsx)(`pre`,{className:(0,p.cn)(`overflow-x-auto rounded bg-muted/40 p-2 text-xs`,r),children:_}):(0,g.jsx)(`span`,{className:(0,p.cn)(`text-sm text-destructive`,r),children:s(`fields.filterCondition.noCriteria`)}):(0,g.jsxs)(`div`,{className:(0,p.cn)(`flex flex-col gap-2`,r),children:[S?(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(`textarea`,{...q(a),className:`min-h-[96px] w-full rounded border bg-background px-2 py-1 font-mono text-xs`,value:_,placeholder:`{ "type": "customer", "is_active": true }`,onChange:e=>t(e.target.value),"aria-invalid":!!i||!v.ok}),!v.ok&&(0,g.jsx)(`span`,{className:`text-xs text-destructive`,children:s(`fields.filterCondition.invalidJson`)})]}):(0,g.jsx)(p.FilterBuilder,{fields:f??[],value:y??Pr,onChange:e=>{let n=Dr(e,w);t(n==null?``:JSON.stringify(n))}}),b&&(0,g.jsx)(`span`,{className:`text-xs text-destructive`,children:s(`fields.filterCondition.criteriaRequired`)}),(0,g.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,g.jsx)(`p`,{className:(0,p.cn)(`text-sm text-muted-foreground`,r),children:s(`fields.filterCondition.selectObjectFirst`)})}var Pr,Fr,Ir=o((()=>{J(),Q(),Pr={id:`root`,logic:`and`,conditions:[]},Fr=new Set([`object`,`vector`,`file`,`image`,`avatar`,`signature`,`richtext`,`html`,`markdown`,`location`,`grid`,`json`,`code`])})),Lr=s({RecipientPickerField:()=>Rr,default:()=>Rr});function Rr({value:e,onChange:t,readonly:n,className:r,error:i,...a}){let o=u.default.useContext(h.SchemaRendererContext),{t:s}=ce(),c=a.dataSource??o?.dataSource??null,l=a.disabled,d=a.dependentValues??{},f=String(d.recipient_type??``),m=zr[f],[_,v]=u.default.useState(null),y=u.default.useRef(``);u.default.useEffect(()=>{y.current&&f&&y.current!==f&&e&&t(``),y.current=f},[f]),u.default.useEffect(()=>{if(v(null),!c||!m||typeof c.find!=`function`)return;let e=!1;return(async()=>{try{let t=await c.find(m.object,{$top:500,$orderby:{name:`asc`}}),n=t?.data??t?.records??(Array.isArray(t)?t:[]);e||v(Array.isArray(n)?n:[])}catch{e||v([])}})(),()=>{e=!0}},[c,m?.object]);let b=e=>{for(let t of m?.labelFields??[`name`])if(e?.[t])return String(e[t]);return String(e?.id??``)},x=e=>String(e?.[m?.storeField??`id`]??``),S=u.default.useMemo(()=>{let t=(_??[]).map(e=>({value:x(e),label:b(e)})).filter(e=>e.value);return e&&!t.some(t=>t.value===e)&&t.unshift({value:e,label:e}),t},[_,e,m]);if(!f)return(0,g.jsx)(`p`,{className:(0,p.cn)(`text-sm text-muted-foreground`,r),children:s(`fields.recipient.selectTypeFirst`)});if(!m)return(0,g.jsx)(`input`,{...q(a),className:(0,p.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});if(n)return e?(0,g.jsx)(`span`,{className:r,children:S.find(t=>t.value===e)?.label??e}):(0,g.jsx)(p.EmptyValue,{});let{name:C,...w}=q(a);return(0,g.jsx)(p.Combobox,{...w,options:S,value:e??``,onValueChange:e=>t(e),placeholder:s(_===null?`fields.recipient.loading`:m.placeholderKey??`fields.recipient.select`),searchPlaceholder:s(`fields.recipient.search`),emptyText:s(_===null?`fields.recipient.loading`:`fields.recipient.empty`),disabled:l,className:(0,p.cn)(`w-full`,r),"aria-invalid":!!i})}var zr,Br=o((()=>{J(),Q(),zr={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`}}}));function Vr(e,t){let n=(0,u.useRef)(t);n.current=t,(0,u.useEffect)(()=>{n.current?.(e)},[e])}var Hr=o((()=>{}));function Ur(e,t,n){if(!n||t.size<=n)return null;let r=(n/Wr).toFixed(1);return e(`fields.file.exceedsMaxSize`,{defaultValue:`"${t.name}" exceeds max size (${r} MB)`,name:t.name,max:r})}var Wr,Gr=o((()=>{Wr=1048576})),Kr=s({FileCell:()=>Yr,FileField:()=>Jr});function qr(e){let{files:t,multiple:n,maxSize:r,onChange:i}=e,{upload:a}=(0,y.useUpload)(),{t:o}=(0,f.useObjectTranslation)(),[s,c]=(0,u.useState)([]),[l,d]=(0,u.useState)({}),[p,m]=(0,u.useState)(!1),[h,g]=(0,u.useState)({});return{processFiles:(0,u.useCallback)(async e=>{if(e.length===0)return;let s=[],l=e.filter(e=>{let t=Ur(o,e,r);return!t||(s.push(t),!1)});if(c(s),l.length!==0){m(!0);try{let e=(await Promise.all(l.map(async e=>{try{return{result:await a(e,{onProgress:t=>d(n=>({...n,[e.name]:t}))}),originalName:e.name}}catch(t){return s.push(o(`fields.file.uploadFailed`,{defaultValue:`Failed to upload "${e.name}": ${t.message}`,name:e.name,error:t.message})),c([...s]),null}}))).filter(Boolean);if(e.length===0)return;let r={};for(let{result:t,originalName:n}of e){let e=I(t,n);e.id&&(r[e.id]=e)}Object.keys(r).length>0&&g(e=>({...e,...r}));let u=e.map(({result:e,originalName:t})=>ee(e,t));i(n?[...t,...u]:u[0])}finally{m(!1),d({})}}},[t,n,i,r,a,o]),errors:s,uploading:p,uploadProgress:l,recent:h}}function Jr({value:e,onChange:t,field:n,readonly:r,onUploadingChange:i,error:a,...o}){let{t:s}=(0,f.useObjectTranslation)(),c=(0,u.useRef)(null),l=(0,u.useRef)(null),d=n,h=d?.multiple||!1,_=d?.accept?d.accept.join(`,`):void 0,v=d?.maxSize,y=d?.capture??null,b=!_||_.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:A}=qr({files:T,multiple:h,maxSize:v,onChange:t}),j=L(P(e,s(`fields.file.fileFallback`,{defaultValue:`File`})),A);Vr(O,i);let M=(0,u.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),w(!0)},[]),N=(0,u.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),w(!1)},[]),ee=(0,u.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),w(!1);let t=Array.from(e.dataTransfer.files);if(_){let e=_.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)},[_,E]);if(r){let t=Me(o);return e?(0,g.jsx)(`div`,{...t,className:`flex flex-wrap gap-2`,children:j.map((e,t)=>(0,g.jsx)(`span`,{className:`text-sm truncate max-w-xs`,children:e.name},t))}):(0,g.jsx)(p.EmptyValue,{...t})}let I=e=>{E(Array.from(e.target.files||[]))},R=e=>{if(h){let n=T.filter((t,n)=>n!==e);t(n.length>0?n:null)}else t(null)},{name:z,...B}=q(o);return(0,g.jsxs)(`div`,{className:o.className,children:[(0,g.jsx)(`input`,{ref:c,type:`file`,multiple:h,accept:_,onChange:I,className:`hidden`}),S&&(0,g.jsx)(`input`,{ref:l,type:`file`,accept:`image/*`,capture:S,onChange:I,className:`hidden`,"aria-label":s(`fields.file.cameraCapture`,{defaultValue:`Camera capture`}),"data-testid":`file-field-camera-input`}),(0,g.jsxs)(`div`,{className:`space-y-2`,children:[(0,g.jsxs)(`div`,{...B,onDragOver:M,onDragLeave:N,onDrop:ee,onClick:()=>c.current?.click(),className:`
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("@object-ui/i18n"),p=require("@object-ui/components"),m=require("lucide-react"),h=require("@object-ui/react"),g=require("react/jsx-runtime"),_=require("@objectstack/spec/data"),v=require("react-markdown");v=l(v,1);let y=require("remark-gfm");y=l(y,1);let b=require("rehype-sanitize");b=l(b,1);let x=require("@object-ui/types"),S=require("@object-ui/providers");function C(e){let t=({schema:t,field:n,...r})=>(0,g.jsx)(e,{...r,field:n??t});return t.displayName=`FieldCarrier(${e.displayName||e.name||`Component`})`,t}function w(e){return e.postalCode??e.zipCode}function T(e){return e==null?``:String(e).trim()}function E(e){return(e||``).split(/[-_]/)[0].toLowerCase()}function D(e,t){let n=T(e.street),r=T(e.city),i=T(e.state),a=T(w(e)),o=T(e.country);return O.has(E(t))?[o,[a,i].filter(Boolean).join(` `),r,n].filter(Boolean).join(`, `):[n,r,[i,a].filter(Boolean).join(` `),o].filter(Boolean).join(`, `)}var O,k=o((()=>{O=new Set([`zh`,`ja`,`ko`])}));function A({images:e,index:t,open:n,onOpenChange:r,onIndexChange:i}){let{t:a}=(0,f.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,g.jsx)(p.Dialog,{open:n,onOpenChange:r,children:(0,g.jsxs)(p.DialogContent,{className:`max-w-[92vw] sm:max-w-4xl p-0 bg-transparent border-0 shadow-none`,onKeyDown:l,children:[(0,g.jsx)(p.DialogTitle,{className:`sr-only`,children:s.name||a(`fields.image.preview`)}),(0,g.jsxs)(`div`,{className:`relative flex items-center justify-center`,children:[(0,g.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,g.jsxs)(g.Fragment,{children:[(0,g.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,g.jsx)(m.ChevronLeft,{className:`size-5`})}),(0,g.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,g.jsx)(m.ChevronRight,{className:`size-5`})}),(0,g.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 j=o((()=>{}));function M(e){if((0,_.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 N(e){return`${z}/files/${encodeURIComponent(e)}`}function P(e){let t=(e.split(/[?#]/)[0]??e).split(`/`).filter(Boolean).pop();return t?decodeURIComponent(t):e}function F(e,t=`File`){if(e==null)return{name:t,raw:e};if(typeof e==`string`)return(0,_.isFileIdToken)(e)?{id:e,name:t,url:N(e),raw:e}:{url:e,name:P(e),raw:e};if(typeof e==`object`){let n=e,r=e=>typeof e==`string`&&e?e:void 0,i=M(n),a=r(n.url)??(i?N(i):void 0);return{id:i,name:r(n.name)??r(n.original_name)??(r(n.url)?P(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 I(e,t=`File`){return e==null?[]:(Array.isArray(e)?e:[e]).filter(e=>e!=null).map(e=>F(e,t))}function ee(e){return(e.mimeType??``).startsWith(`image/`)}function L(e,t){let n=e.meta?.fileId;return(0,_.isFileIdToken)(n)?n:{name:e.name,original_name:t??e.name,size:e.size,mime_type:e.mimeType,url:e.url}}function R(e,t){return{id:(0,_.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 te(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 z,B=o((()=>{z=`/api/v1/storage`}));function ne(e){let t=ie.get(e);if(t!==void 0)return t;let n=V;try{n=new Intl.NumberFormat(void 0,{style:`currency`,currency:e}).resolvedOptions().maximumFractionDigits??V}catch{}return ie.set(e,n),n}function re(e,t){let n=`${t}|${e}`,r=ae.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 ae.set(n,i),i}var V,ie,ae,oe=o((()=>{V=2,ie=new Map,ae=new Map})),H=s({default:()=>U});function U({value:e}){return(0,g.jsx)(`div`,{className:`prose prose-sm max-w-none dark:prose-invert break-words`,children:(0,g.jsx)(v.default,{remarkPlugins:[y.default],rehypePlugins:[b.default],children:e})})}var W=o((()=>{}));function se({value:e}){return e==null||e===``?(0,g.jsx)(p.EmptyValue,{}):(0,g.jsx)(u.default.Suspense,{fallback:(0,g.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:String(e).slice(0,80)}),children:(0,g.jsx)(J,{value:String(e)})})}function G(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 K({value:e}){return e==null||e===``?(0,g.jsx)(p.EmptyValue,{}):(0,g.jsx)(`div`,{className:`prose prose-sm max-w-none dark:prose-invert break-words`,dangerouslySetInnerHTML:{__html:G(String(e))}})}function q(e){let t=ce(e);if(t)return t===se?`markdown`:`html`}function ce(e){return Y[e]}var J,Y,X=o((()=>{J=u.default.lazy(()=>Promise.resolve().then(()=>(W(),H))),Y={markdown:se,html:K,richtext:K}}));function le(e){de=e}function ue(){return de}var de,fe=o((()=>{}));k(),j(),B(),oe(),X(),fe();var pe={select:`field:multiselect`},me=`field:`;function he(e,t){return t?.multiple&&pe[e]?pe[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:code`,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)?`${me}${e}`:`field:text`)}function Z(e){return(0,d.pickDomProps)(e,ge)}var ge,Q=o((()=>{ge=[`id`,`name`,`autoFocus`,`tabIndex`,`onBlur`,`onFocus`,`onClick`,`className`,`disabled`]})),_e=s({TextField:()=>$});function $({value:e,onChange:t,field:n,readonly:r,...i}){let a=n;if(r)return(0,g.jsx)(`span`,{className:`text-sm`,children:e||(0,g.jsx)(p.EmptyValue,{})});let o=a?.rows,s=Z(i);return o&&o>1?(0,g.jsx)(p.Textarea,{...s,value:e||``,onChange:e=>t(e.target.value),placeholder:a?.placeholder,disabled:r||s.disabled}):(0,g.jsx)(p.Input,{...s,type:a?.type===`password`?`password`:`text`,value:e||``,onChange:e=>t(e.target.value),placeholder:a?.placeholder,disabled:r||s.disabled})}var ve=o((()=>{Q()}));function ye(e){return(0,g.jsx)(p.FullscreenEditor,{...e})}var be=o((()=>{})),xe=s({TextAreaField:()=>Se});function Se({value:e,onChange:t,field:n,readonly:r,error:i,...a}){let o=n,s=o?.maxLength??o?.max_length,c=(0,u.useId)(),l=`${c}-charcount`,d=`${c}-fullscreen-charcount`;if(r)return(0,g.jsx)(`div`,{className:`text-sm whitespace-pre-wrap`,children:e||(0,g.jsx)(p.EmptyValue,{})});let f=o?.rows||4,m=!!o?.mobile_fullscreen,h=Z(a),_=!!h.disabled,v=[h[`aria-describedby`],s?l:void 0].filter(Boolean).join(` `)||void 0;return(0,g.jsxs)(`div`,{className:`relative`,children:[(0,g.jsx)(p.Textarea,{...h,value:e||``,onChange:e=>t(e.target.value),placeholder:o?.placeholder,disabled:r||_,rows:f,maxLength:s,"aria-invalid":!!i,"aria-describedby":v,className:h.className}),s&&(0,g.jsx)(p.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`}),m&&(0,g.jsx)(ye,{value:e??``,onCommit:t,label:o?.label,testIdPrefix:`textarea`,disabled:_,error:i,footer:e=>s?(0,g.jsx)(p.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,g.jsx)(p.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 Ce=o((()=>{be(),Q()})),we=s({NumberField:()=>Te});function Te({value:e,onChange:t,field:n,readonly:r,...i}){if(r)return e==null?(0,g.jsx)(p.EmptyValue,{}):(0,g.jsx)(`span`,{className:`text-sm`,children:e});let a=n,o=a?.scale,s=typeof a?.step==`number`?a.step:typeof o==`number`?10**-o:`any`,c=Z(i);return(0,g.jsx)(p.Input,{...c,type:`number`,value:e??``,onChange:e=>{let n=e.target.value;t(n===``?null:Number(n))},placeholder:a?.placeholder,disabled:r||c.disabled,min:typeof a?.min==`number`?a.min:void 0,max:typeof a?.max==`number`?a.max:void 0,step:s})}var Ee=o((()=>{Q()})),De=s({CurrencyField:()=>ke});function Oe(e,t,n,r){if(t)try{return(0,f.formatDisplayNumber)(e,{locale:r,currency:t,minimumFractionDigits:n,maximumFractionDigits:n})}catch{return`${t} ${e.toFixed(n)}`}try{return(0,f.formatDisplayNumber)(e,{locale:r,minimumFractionDigits:n,maximumFractionDigits:n})}catch{return e.toFixed(n)}}function ke({value:e,onChange:t,field:n,readonly:r,error:i,className:a,...o}){let s=n,{currency:c}=(0,f.useLocalization)(),l=(0,f.useDisplayLocale)(),u=(0,f.resolveFieldCurrency)(s,c),d=s?.precision??(u?ne(u):2);if(r)return e==null?(0,g.jsx)(p.EmptyValue,{}):(0,g.jsx)(`span`,{className:`text-sm font-medium tabular-nums`,children:Oe(Number(e),u,d,l)});let m=e=>{let n=parseFloat(e.target.value);isNaN(n)||t(parseFloat(n.toFixed(d)))},h=u?re(u,l):``;return(0,g.jsxs)(`div`,{className:`relative`,children:[h&&(0,g.jsx)(`span`,{className:`absolute left-3 top-1/2 -translate-y-1/2 text-sm text-gray-500`,children:h}),(0,g.jsx)(p.Input,{...Z(o),type:`number`,value:e??``,onChange:e=>{t(e.target.value===``?null:parseFloat(e.target.value))},onBlur:m,placeholder:s?.placeholder||`0.00`,disabled:r||o.disabled,className:`${h?`pl-8`:``} ${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})]})}var Ae=o((()=>{Q()})),je=s({PercentField:()=>Me});function Me({value:e,onChange:t,field:n,readonly:r,error:i,className:a,...o}){let s=n,c=s?.precision??2,l=typeof s?.max==`number`?s.max:void 0,u=l!=null&&l>1,d=e=>u?e:e*100,f=e=>u?e:e/100,m=u?l:100;if(r)return e==null?(0,g.jsx)(p.EmptyValue,{}):(0,g.jsxs)(`span`,{className:`text-sm font-medium tabular-nums`,children:[d(e).toFixed(c),`%`]});let h=e==null?``:d(e),_=e==null?0:d(e),v=e=>{if(e.target.value===``){t(null);return}let n=parseFloat(e.target.value);t(isNaN(n)?null:f(n))},y=e=>{if(r||o.disabled)return;if(!Array.isArray(e)||e.length===0){t(null);return}let n=e[0];t(typeof n==`number`?f(n):null)},b=10**-c;return(0,g.jsxs)(`div`,{className:`space-y-2`,children:[(0,g.jsxs)(`div`,{className:`relative`,children:[(0,g.jsx)(p.Input,{...Z(o),type:`number`,value:h,onChange:v,placeholder:s?.placeholder||`0`,disabled:r||o.disabled,className:`pr-8 ${a||``}`,step:(10**-c).toFixed(c),"aria-invalid":!!i}),(0,g.jsx)(`span`,{className:`absolute right-3 top-1/2 -translate-y-1/2 text-sm text-gray-500`,children:`%`})]}),(0,g.jsx)(p.Slider,{value:[_],onValueChange:y,min:0,max:m,step:b,disabled:r||o.disabled,className:`w-full`,"aria-label":`Percentage`,"data-testid":`percent-slider`})]})}var Ne=o((()=>{Q()}));function Pe(e,t){let{id:n,"aria-labelledby":r,"aria-describedby":i}=Z(e);return{id:n,"aria-labelledby":r,...t===`instead-of-the-inputs`?{"aria-describedby":i}:null,...r==null?null:{role:`group`}}}var Fe=o((()=>{Q()})),Ie=s({SliderField:()=>Le});function Le({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,g.jsxs)(`div`,{...Pe(a,`instead-of-the-inputs`),className:`flex items-center gap-2`,children:[(0,g.jsx)(`span`,{className:`text-sm font-medium`,children:e??s}),(0,g.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[`/ `,c]})]});let{name:u,disabled:d,className:f,...m}=Z(a);return(0,g.jsxs)(`div`,{className:`flex items-center gap-4`,children:[(0,g.jsx)(p.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:{...m,"aria-invalid":!!i}}),(0,g.jsx)(`span`,{className:`text-sm font-medium w-12 text-right`,children:e??s})]})}var Re=o((()=>{Q(),Fe()})),ze=s({RatingField:()=>Be});function Be({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,g.jsxs)(`div`,{...Pe(o,`instead-of-the-inputs`),className:(0,p.cn)(`flex items-center gap-1`,i),children:[Array.from({length:s},(e,t)=>(0,g.jsx)(m.Star,{className:`w-5 h-5 ${t<c?`fill-yellow-400 text-yellow-400`:`text-muted-foreground`}`},t)),(0,g.jsxs)(`span`,{className:`ml-2 text-sm text-muted-foreground`,children:[c,` / `,s]})]});let{"aria-invalid":h,name:_,...v}=Z(o),y=v[`aria-labelledby`]!=null;return(0,g.jsxs)(`div`,{...v,role:y?`group`:void 0,className:(0,p.cn)(`flex items-center gap-1`,i),children:[Array.from({length:s},(e,n)=>(0,g.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,g.jsx)(m.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,g.jsxs)(`span`,{className:`ml-2 text-sm text-muted-foreground`,children:[c,` / `,s]})]})}var Ve=o((()=>{Q(),Fe()})),He=s({BooleanField:()=>Ue});function Ue({value:e,onChange:t,field:n,readonly:r,...i}){let a=n,o=a?.widget,s=(0,u.useId)(),c=i.id,l=c||a?.name||s,d=a?.label||`Checkbox`,f=!c;if(r)return(0,g.jsx)(`span`,{className:`text-sm`,children:e?`Yes`:`No`});let m=Z(i);return o===`checkbox`?(0,g.jsxs)(`div`,{className:`flex items-center space-x-2`,children:[(0,g.jsx)(p.Checkbox,{...m,id:l,checked:!!e,onCheckedChange:e=>t(!!e),disabled:r||m.disabled}),f&&(0,g.jsx)(p.Label,{htmlFor:l,className:`sr-only`,children:d})]}):(0,g.jsxs)(`div`,{className:`flex items-center space-x-2`,children:[(0,g.jsx)(p.Switch,{...m,id:l,checked:!!e,onCheckedChange:t,disabled:r||m.disabled}),f&&(0,g.jsx)(p.Label,{htmlFor:l,className:`sr-only`,children:d})]})}var We=o((()=>{Q()})),Ge,Ke,qe=o((()=>{Ge={"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.recordCountOne":`1 record`,"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.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.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`},Ke=(0,f.createSafeTranslation)(Ge,`common.selectOption`)}));function Je({emptyHint:e,gated:t,dependsOnFields:n,testId:r,className:i,hostGroupProps:a}){let{t:o}=Ke(),s=e||(t?o(`fields.options.selectFirst`,{fields:n.join(o(`validation.formInvalidJoiner`))}):o(`fields.options.empty`));return(0,g.jsx)(`div`,{...a,"data-testid":r,className:(0,p.cn)(`flex w-full items-center rounded-md border border-input bg-muted/30 px-3 py-2 text-sm text-muted-foreground`,i),children:s})}var Ye=o((()=>{qe()}));function Xe(e,t,n){let r=(0,u.useContext)(h.SchemaRendererContext),i=(0,u.useMemo)(()=>n??r?.formValues??r?.data??{},[n,r?.formValues,r?.data]),a=(0,h.usePredicateScope)();return(0,u.useMemo)(()=>(0,d.resolveCascadingOptions)(e,i,t,a),[e,i,t,a])}var Ze=o((()=>{})),Qe=s({MultiSelectField:()=>$e});function $e({value:e,onChange:t,field:n,readonly:r,className:i,dependentValues:a,dependsOn:o,emptyHint:s,dataSource:c,error:l,...d}){let f=n,m=f?.options||[],h=Array.isArray(e)?e:e==null?[]:[e],_=d.name||f?.name||d.id||``,{options:v,gated:y,dependsOnFields:b}=Xe(m,f?.dependsOn??o,a);(0,u.useEffect)(()=>{if(r||m.length===0||y||h.length===0)return;let e=h.filter(e=>v.some(t=>t.value===e));e.length!==h.length&&t(e)},[v,y]);let x=Pe(d,`instead-of-the-inputs`);if(r)return h.length===0?(0,g.jsx)(p.EmptyValue,{...x}):(0,g.jsx)(`div`,{...x,className:`flex flex-wrap gap-1`,children:h.map(e=>{let t=m.find(t=>t.value===e);return(0,g.jsx)(p.Badge,{variant:`outline`,children:t?.label||e},e)})});if(v.length===0)return(0,g.jsx)(Je,{emptyHint:s,gated:y,dependsOnFields:b,testId:_?`multiselect-empty-${_}`:void 0,className:`min-h-9`,hostGroupProps:x});let S=e=>{t(h.includes(e)?h.filter(t=>t!==e):[...h,e])},{"aria-invalid":C,name:w,...T}=Z(d),E=T[`aria-labelledby`]!=null;return(0,g.jsx)(`div`,{...T,role:E?`group`:void 0,className:(0,p.cn)(`flex flex-wrap gap-1.5`,i),"data-testid":_?`multiselect-${_}`:void 0,children:v.map(e=>{let t=String(e.value),n=h.includes(t);return(0,g.jsx)(`button`,{type:`button`,onClick:()=>S(t),disabled:d.disabled,"aria-pressed":n,"aria-invalid":!!l,"data-testid":`multiselect-option-${e.value}`,className:(0,p.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:e.label},t)})})}var et=o((()=>{Q(),Fe(),Ye(),Ze()})),tt=s({SelectField:()=>nt});function nt(e){return e.field?.multiple?(0,g.jsx)($e,{...e}):(0,g.jsx)(rt,{...e})}function rt({value:e,onChange:t,field:n,readonly:r,error:i,dependentValues:a,dependsOn:o,emptyHint:s,dataSource:c,...l}){let f=n,m=f?.options||[],{t:h}=Ke(),_=l.name||f?.name||l.id||``,{options:v,gated:y,dependsOnFields:b}=Xe(m,f?.dependsOn??o,a);if((0,u.useEffect)(()=>{r||m.length!==0&&(y||e!=null&&e!==``&&((0,d.isValueStillOffered)(e,v)||t?.(void 0)))},[v,y]),r){let t=m.find(t=>t.value===e)?.label||e;return t?(0,g.jsx)(`span`,{className:`text-sm`,children:t}):(0,g.jsx)(p.EmptyValue,{})}if(v.length===0)return(0,g.jsx)(Je,{emptyHint:s,gated:y,dependsOnFields:b,testId:_?`select-empty-${_}`:void 0,className:`h-9`});let{name:x,disabled:S,...C}=Z(l);return(0,g.jsxs)(p.Select,{name:x,value:e,onValueChange:t,disabled:r||l.disabled,children:[(0,g.jsx)(p.SelectTrigger,{...C,"data-testid":_?`select-trigger-${_}`:void 0,"aria-invalid":!!i,children:(0,g.jsx)(p.SelectValue,{placeholder:f?.placeholder||h(`common.selectOption`)})}),(0,g.jsx)(p.SelectContent,{position:`popper`,children:v.map(e=>(0,g.jsx)(p.SelectItem,{value:e.value,"data-testid":`select-option-${e.value}`,children:e.label},e.value))})]})}var it=o((()=>{qe(),Q(),et(),Ye(),Ze()})),at=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 m=n,h=m?.options||[],_=(0,u.useId)(),v=f.name||m?.name||f.id||``,{options:y,gated:b,dependsOnFields:x}=Xe(h,m?.dependsOn??o,a);(0,u.useEffect)(()=>{r||h.length!==0&&(b||e!=null&&e!==``&&((0,d.isValueStillOffered)(e,y)||t?.(void 0)))},[y,b]);let S=Pe(f,`instead-of-the-inputs`);if(r){if(e==null||e===``)return(0,g.jsx)(p.EmptyValue,{...S});let t=h.find(t=>t.value===e);return(0,g.jsx)(`span`,{...S,className:`text-sm`,children:t?.label||String(e)})}return y.length===0?(0,g.jsx)(Je,{emptyHint:s,gated:b,dependsOnFields:x,testId:v?`radio-empty-${v}`:void 0,className:`min-h-9`,hostGroupProps:S}):(0,g.jsx)(p.RadioGroup,{...Z(f),value:e??``,onValueChange:t,disabled:f.disabled,className:i,"aria-invalid":!!l,children:y.map(e=>{let t=String(e.value),n=`${_}-${t}`;return(0,g.jsxs)(`div`,{className:`flex items-center space-x-2`,children:[(0,g.jsx)(p.RadioGroupItem,{value:t,id:n,"data-testid":`radio-option-${t}`}),(0,g.jsx)(p.Label,{htmlFor:n,className:`font-normal`,children:e.label})]},t)})})}var st=o((()=>{Q(),Fe(),Ye(),Ze()})),ct=s({CheckboxesField:()=>lt});function lt({value:e,onChange:t,field:n,readonly:r,className:i,dependentValues:a,dependsOn:o,emptyHint:s,dataSource:c,error:l,...d}){let f=n,m=f?.options||[],h=Array.isArray(e)?e:e==null?[]:[e],_=(0,u.useId)(),v=d.name||f?.name||d.id||``,{options:y,gated:b,dependsOnFields:x}=Xe(m,f?.dependsOn??o,a);(0,u.useEffect)(()=>{if(r||m.length===0||b||h.length===0)return;let e=h.filter(e=>y.some(t=>t.value===e));e.length!==h.length&&t(e)},[y,b]);let S=Pe(d,`instead-of-the-inputs`);if(r)return h.length===0?(0,g.jsx)(p.EmptyValue,{...S}):(0,g.jsx)(`div`,{...S,className:`flex flex-wrap gap-1`,children:h.map(e=>{let t=m.find(t=>t.value===e);return(0,g.jsx)(p.Badge,{variant:`outline`,children:t?.label||e},e)})});if(y.length===0)return(0,g.jsx)(Je,{emptyHint:s,gated:b,dependsOnFields:x,testId:v?`checkboxes-empty-${v}`:void 0,className:`min-h-9`,hostGroupProps:S});let C=(e,n)=>{t(n?[...h.filter(t=>t!==e),e]:h.filter(t=>t!==e))},{"aria-invalid":w,name:T,...E}=Z(d),D=E[`aria-labelledby`]!=null;return(0,g.jsx)(`div`,{...E,role:D?`group`:void 0,className:i,"data-testid":v?`checkboxes-${v}`:void 0,children:y.map(e=>{let t=String(e.value),n=`${_}-${t}`;return(0,g.jsxs)(`div`,{className:`flex items-center space-x-2 py-0.5`,children:[(0,g.jsx)(p.Checkbox,{id:n,checked:h.includes(t),onCheckedChange:e=>C(t,!!e),disabled:d.disabled,"aria-invalid":!!l,"data-testid":`checkboxes-option-${t}`}),(0,g.jsx)(p.Label,{htmlFor:n,className:`font-normal`,children:e.label})]},t)})})}var ut=o((()=>{Q(),Fe(),Ye(),Ze()})),dt=s({TagsField:()=>ft});function ft({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}=Ke();if(r)return s.length===0?(0,g.jsx)(p.EmptyValue,{}):(0,g.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:s.map(e=>(0,g.jsx)(p.Badge,{variant:`secondary`,children:e},e))});let f=e=>{let n=e.trim();!n||s.includes(n)||(t([...s,n]),l(``))},m=e=>t(s.filter(t=>t!==e)),h=e=>{e.key===`Enter`||e.key===`,`?(e.preventDefault(),f(c)):e.key===`Backspace`&&c===``&&s.length>0&&m(s[s.length-1])};return(0,g.jsxs)(`div`,{className:(0,p.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,g.jsxs)(p.Badge,{variant:`secondary`,className:`gap-1`,children:[e,(0,g.jsx)(`button`,{type:`button`,onClick:()=>m(e),className:`ml-0.5 rounded-full text-muted-foreground hover:text-foreground`,"aria-label":`Remove ${e}`,children:`×`})]},e)),(0,g.jsx)(p.Input,{...Z(o),value:c,onChange:e=>l(e.target.value),onKeyDown:h,onBlur:()=>f(c),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 pt=o((()=>{Q(),qe()}));function mt(e){if(!(e.disabled||e.readOnly))try{e.showPicker?.()}catch{}}var ht=o((()=>{}));function gt(e){return String(e).padStart(2,`0`)}function _t(e){if(e==null||e===``)return``;if(typeof e==`string`){let t=e.match(/^(\d{4}-\d{2}-\d{2})/);if(t)return t[1]}let t=e instanceof Date?e:new Date(String(e));return Number.isNaN(t.getTime())?``:`${t.getFullYear()}-${gt(t.getMonth()+1)}-${gt(t.getDate())}`}function vt(e){if(e==null||e===``)return``;if(typeof e==`string`){let t=e.match(/^(\d{4}-\d{2}-\d{2})T(\d{2}:\d{2})(?::\d{2}(?:\.\d+)?)?$/);if(t)return`${t[1]}T${t[2]}`}let t=e instanceof Date?e:new Date(String(e));return Number.isNaN(t.getTime())?``:`${t.getFullYear()}-${gt(t.getMonth()+1)}-${gt(t.getDate())}T${gt(t.getHours())}:${gt(t.getMinutes())}`}function yt(e){if(!e)return``;let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toISOString()}var bt=o((()=>{})),xt=s({DateField:()=>St});function St({value:e,onChange:t,field:n,readonly:r,...i}){let a=(0,f.useDisplayLocale)();if(r)return e?(0,g.jsx)(`span`,{className:`text-sm`,children:new Date(e).toLocaleDateString(a)}):(0,g.jsx)(p.EmptyValue,{});let o=Z(i);return(0,g.jsx)(p.Input,{...o,type:`date`,value:_t(e),onChange:e=>t(e.target.value),onClick:e=>{mt(e.currentTarget),o.onClick?.(e)},disabled:r||o.disabled})}var Ct=o((()=>{Q(),ht(),bt()})),wt=s({DateTimeField:()=>Tt});function Tt({value:e,onChange:t,field:n,readonly:r,...i}){let a=(0,f.useDisplayLocale)();if(r){if(!e)return(0,g.jsx)(p.EmptyValue,{});let t=new Date(e);return(0,g.jsxs)(`span`,{className:`text-sm`,children:[t.toLocaleDateString(a),` `,t.toLocaleTimeString(a)]})}let o=Z(i);return(0,g.jsx)(p.Input,{...o,type:`datetime-local`,value:vt(e),onChange:e=>t(yt(e.target.value)),onClick:e=>{mt(e.currentTarget),o.onClick?.(e)},disabled:r||o.disabled})}var Et=o((()=>{Q(),ht(),bt()})),Dt=s({TimeField:()=>Ot});function Ot({value:e,onChange:t,field:n,readonly:r,...i}){if(r)return(0,g.jsx)(`span`,{className:`text-sm`,children:e||(0,g.jsx)(p.EmptyValue,{})});let a=Z(i);return(0,g.jsx)(p.Input,{...a,type:`time`,value:e||``,onChange:e=>t(e.target.value),onClick:e=>{mt(e.currentTarget),a.onClick?.(e)},disabled:r||a.disabled})}var kt=o((()=>{Q(),ht()})),At=s({EmailField:()=>jt});function jt({value:e,onChange:t,field:n,readonly:r,error:i,...a}){let o=n;if(r)return e?(0,g.jsx)(`a`,{href:`mailto:${e}`,className:`text-sm text-blue-600 hover:text-blue-800 hover:underline`,children:e}):(0,g.jsx)(p.EmptyValue,{});let s=Z(a);return(0,g.jsx)(p.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 Mt=o((()=>{Q()})),Nt=s({PhoneField:()=>Pt});function Pt({value:e,onChange:t,field:n,readonly:r,error:i,...a}){let o=n;if(r)return e?(0,g.jsx)(`a`,{href:`tel:${e}`,className:`text-sm text-blue-600 hover:text-blue-800 hover:underline`,children:e}):(0,g.jsx)(p.EmptyValue,{});let s=Z(a);return(0,g.jsx)(p.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 Ft=o((()=>{Q()})),It=s({UrlField:()=>Lt});function Lt({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,g.jsx)(`a`,{href:e,target:`_blank`,rel:`noopener noreferrer`,className:`text-sm text-blue-600 hover:text-blue-800 hover:underline`,children:e}):(0,g.jsx)(`span`,{className:`text-sm`,children:e}):(0,g.jsx)(p.EmptyValue,{});let s=Z(a);return(0,g.jsx)(p.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 Rt=o((()=>{Q()}));function zt(e){return e==null?!1:Array.isArray(e)?e.length>0:typeof e==`object`&&Object.keys(e).length>0}function Bt(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.useMemo)(()=>zt(o)?JSON.stringify(o):``,[o]),D=(0,u.useMemo)(()=>s?.length?s.join(`,`):``,[s]),O=(0,u.useMemo)(()=>c?.length?c.join(`,`):``,[c]),k=!!r&&!!t&&typeof t.find==`function`&&!!n,A=(0,u.useCallback)(async(e,r,l)=>{if(!(!k||!t||!n)){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}),zt(o)&&(u.$filter=o),s&&s.length>0&&(u.$expand=s);let d=await t.find(n,u),p=d?.data??d??[];f(p),v(d?.total??p.length)}catch(e){g(e instanceof Error?e.message:String(e)),f([])}finally{m(!1)}}},[k,t,n,i,a,E,D,O]);(0,u.useEffect)(()=>{k&&A(x,y,C)},[k,y,C,A]),(0,u.useEffect)(()=>{r||(f([]),g(null),S(``),b(1),w(null))},[r]),(0,u.useEffect)(()=>()=>{T.current&&clearTimeout(T.current)},[]);let j=(0,u.useCallback)(e=>{S(e),b(1),T.current&&clearTimeout(T.current),T.current=setTimeout(()=>{A(e,1,C)},l)},[A,C,l]),M=(0,u.useCallback)(e=>{b(e)},[]),N=(0,u.useCallback)(e=>{w(t=>t&&t.field===e?{field:e,direction:t.direction===`asc`?`desc`:`asc`}:{field:e,direction:`asc`}),b(1)},[]),P=(0,u.useCallback)(e=>{w(e),b(1)},[]),F=(0,u.useCallback)(()=>{T.current&&clearTimeout(T.current),f([]),g(null),S(``),b(1),w(null)},[]),I=(0,u.useCallback)(()=>{A(x,y,C)},[A,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:M,setSearch:j,toggleSort:N,setSort:P,reset:F,refetch:I}}var Vt=o((()=>{}));function Ht(e){return typeof e==`string`?{field:e}:e}function Ut(e){return e.replace(/_/g,` `).replace(/([a-z])([A-Z])/g,`$1 $2`).replace(/\b\w/g,e=>e.toUpperCase())}function Wt(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 Gt(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=Wt(e,n,a.field,r);c&&(s.options=c),i[a.field]=s}return i}function Kt(e,t,n){let{descriptors:r,cellRenderer:i,titleFormat:a,displayField:o,displayLocale:s}=n;if(a&&t.field===o){let t=`[-\\u2013\\u2014|/·,:]`,n=!1,r=a.replace(/\{([^{}]+)\}/g,(t,r)=>{let i=e?.[r.trim()];return i!=null&&i!==``?(n=!0,String(i)):qt});if(n){let e=r.replace(RegExp(`\\s*${t}\\s*${qt}`,`g`),``).replace(RegExp(`${qt}\\s*${t}\\s*`,`g`),``).replace(new RegExp(qt,`g`),``).replace(/\s+/g,` `).trim();if(e)return e}}let c=e?.[t.field],l=r[t.field];if(l&&i){let e=i(l.type);if(e)return(0,g.jsx)(e,{value:c,field:l})}return c==null?``:typeof c==`object`?c.$numberDecimal?String(Number(c.$numberDecimal)):c.$oid?String(c.$oid):c.$date?new Date(c.$date).toLocaleDateString(s):c.name||c.label?String(c.name||c.label):JSON.stringify(c):typeof c==`boolean`?c?`Yes`:`No`:String(c)}var qt,Jt=o((()=>{qt=`\0`}));function Yt(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 Xt(e){return e==null?void 0:String(e)}function Zt(e,t){let n=e?.find(e=>String(e.value)===t);return n?n.value:t}function Qt(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 $t({open:e,onOpenChange:t,title:n=`Select Record`,multiple:r=!1,dataSource:i,objectName:a,columns:o,displayField:s=`name`,titleFormat:c,idField:l=`id`,pageSize:h=en,value:_,onSelect:v,onSelectRecords:y,lookupFilters:b,baseFilter:x,cellRenderer:S,fieldsMeta:C,filterColumns:w,renderFilterBar:T,renderGrid:E}){let{t:D}=Ke(),{translateOptions:O}=(0,f.useSafeFieldLabel)(),k=(0,f.useDisplayLocale)(),[A,j]=(0,u.useState)(new Set),M=(0,u.useRef)(new Map),[N,P]=(0,u.useState)(-1),F=(0,u.useRef)(null),[I,ee]=(0,u.useState)(!1),[L,R]=(0,u.useState)({}),[te,z]=(0,u.useState)({}),B=(0,u.useRef)(null),[ne,re]=(0,u.useState)(``),V=(0,u.useMemo)(()=>o&&o.length>0?o.map(Ht):[{field:s,label:Ut(s)}],[o,s]),ie=(0,u.useMemo)(()=>Gt(V,C,a,O),[V,C,a,O]),ae=(0,u.useMemo)(()=>{if(w&&w.length>0)return w;if(b&&b.length>0)return b.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:Ut(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}})}:{}}})},[w,b]),oe=(0,u.useMemo)(()=>{if(ae)return ae.map(e=>{if(e.type!==`select`||e.options&&e.options.length>0)return e;let t=Wt(C?.[e.field],a,e.field,O);return t?{...e,options:t}:e})},[ae,C,a,O]),H=Bt({dataSource:i,objectName:a,enabled:e,pageSize:h,paginate:!0,filter:(0,u.useMemo)(()=>{let e=b?.length?Yt(b):{},t=oe?.length?Qt(L,oe):{},n=Array.isArray(x)?x:void 0,r=n?void 0:x,i={...e,...t,...r??{}},a=Object.keys(i).length>0?i:void 0;return n?(0,d.mergeFilterNodes)(a,n):a},[b,oe,L,x])}),{records:U,loading:W,error:se}=H,G=H.total,K=H.totalPages,q=H.search,ce=H.page,J=H.sort?.field??null,Y=H.sort?.direction??`asc`,X=H.setPage,le=H.toggleSort,ue=H.setSearch;(0,u.useEffect)(()=>{e||(P(-1),ee(!1),R({}),z({}),re(``),j(new Set(r&&Array.isArray(_)?_:[])),M.current.clear())},[e]),(0,u.useEffect)(()=>{e&&r&&j(new Set(Array.isArray(_)?_:[]))},[e,r,_]),(0,u.useEffect)(()=>{P(-1)},[U]);let de=(0,u.useCallback)(e=>e[l]??e.id??e._id,[l]),fe=(0,u.useCallback)(e=>{let t=de(e);return r?A.has(t):_===t},[r,_,A,de]),pe=(0,u.useCallback)(e=>{let n=de(e);r?j(t=>{let r=new Set(t);return r.has(n)?(r.delete(n),M.current.delete(n)):(r.add(n),M.current.set(n,e)),r}):(v(n),y?.([e]),t(!1))},[r,de,v,y,t]),me=(0,u.useCallback)(()=>{let e=Array.from(A);v(e);let n=e.map(e=>M.current.get(e)).filter(Boolean);y?.(n),t(!1)},[A,v,y,t]),he=(0,u.useCallback)(()=>{X(Math.max(1,ce-1))},[X,ce]),Z=(0,u.useCallback)(()=>{X(Math.min(K,ce+1))},[X,ce,K]),ge=(0,u.useCallback)(e=>{if(e.key!==`Enter`)return;let t=parseInt(ne,10);!isNaN(t)&&t>=1&&t<=K&&X(t),re(``)},[ne,K]),Q=(0,u.useCallback)(e=>{U.length!==0&&(e.key===`ArrowDown`?(e.preventDefault(),P(e=>Math.min(e+1,U.length-1))):e.key===`ArrowUp`?(e.preventDefault(),P(e=>Math.max(e-1,0))):(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),N>=0&&N<U.length&&pe(U[N])))},[U,N,pe]);(0,u.useEffect)(()=>{if(N>=0&&F.current){let e=F.current.querySelector(`[data-row-index="${N}"]`);e&&typeof e.scrollIntoView==`function`&&e.scrollIntoView({block:`nearest`})}},[N]);let _e=(0,u.useCallback)((e,t)=>Kt(e,t,{descriptors:ie,cellRenderer:S,titleFormat:c,displayField:s,displayLocale:k}),[S,c,s,ie,k]),$=(0,u.useCallback)(e=>J===e?Y===`asc`?(0,g.jsx)(m.ArrowUp,{className:`ml-1 size-3`}):(0,g.jsx)(m.ArrowDown,{className:`ml-1 size-3`}):(0,g.jsx)(m.ArrowUpDown,{className:`ml-1 size-3 opacity-40`}),[J,Y]),ve=(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(tn,B.current.startWidth+t);z(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)},[]),ye=(0,u.useCallback)((e,t)=>{R(n=>({...n,[e]:t})),X(1)},[]),be=(0,u.useCallback)(()=>{R({}),X(1)},[]),xe=(0,u.useMemo)(()=>Object.values(L).filter(e=>e!=null&&e!==``).length,[L]),Se=(0,u.useCallback)(e=>{let t=L[e.field],n=e.label||Ut(e.field);switch(e.type){case`select`:return(0,g.jsxs)(`div`,{className:`space-y-1`,children:[(0,g.jsx)(p.Label,{className:`text-xs text-muted-foreground`,children:n}),(0,g.jsxs)(p.Select,{value:Xt(t)??``,onValueChange:t=>ye(e.field,Zt(e.options,t)),children:[(0,g.jsx)(p.SelectTrigger,{className:`h-8 text-xs`,children:(0,g.jsx)(p.SelectValue,{placeholder:D(`lookup.filterPlaceholder`,{label:n})})}),(0,g.jsx)(p.SelectContent,{children:e.options?.map(e=>(0,g.jsx)(p.SelectItem,{value:String(e.value),children:e.label},String(e.value)))})]})]});case`number`:return(0,g.jsxs)(`div`,{className:`space-y-1`,children:[(0,g.jsx)(p.Label,{className:`text-xs text-muted-foreground`,children:n}),(0,g.jsx)(p.Input,{type:`number`,className:`h-8 text-xs`,value:t??``,placeholder:D(`lookup.filterPlaceholder`,{label:n}),onChange:t=>{let n=t.target.value;ye(e.field,n===``?``:Number(n))}})]});case`date`:return(0,g.jsxs)(`div`,{className:`space-y-1`,children:[(0,g.jsx)(p.Label,{className:`text-xs text-muted-foreground`,children:n}),(0,g.jsx)(p.Input,{type:`date`,className:`h-8 text-xs`,value:t??``,onChange:t=>ye(e.field,t.target.value)})]});case`boolean`:return(0,g.jsxs)(`div`,{className:`space-y-1`,children:[(0,g.jsx)(p.Label,{className:`text-xs text-muted-foreground`,children:n}),(0,g.jsxs)(`div`,{className:`flex items-center gap-2 h-8`,children:[(0,g.jsx)(p.Checkbox,{checked:!!t,onCheckedChange:t=>ye(e.field,!!t)}),(0,g.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:D(`lookup.yes`)})]})]});default:return(0,g.jsxs)(`div`,{className:`space-y-1`,children:[(0,g.jsx)(p.Label,{className:`text-xs text-muted-foreground`,children:n}),(0,g.jsx)(p.Input,{className:`h-8 text-xs`,value:t??``,placeholder:D(`lookup.filterPlaceholder`,{label:n}),onChange:t=>ye(e.field,t.target.value)})]})}},[L,ye]),Ce=(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,g.jsx)(p.Dialog,{open:e,onOpenChange:t,children:(0,g.jsxs)(p.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,g.jsx)(p.DialogHeader,{children:(0,g.jsxs)(p.DialogTitle,{children:[n,r&&(0,g.jsx)(`span`,{className:`sr-only`,children:` (multiple selection)`})]})}),(0,g.jsxs)(`div`,{className:`relative rounded-md border bg-muted/30 mb-3`,children:[(0,g.jsx)(m.Search,{className:`absolute left-3 top-1/2 -translate-y-1/2 size-4 text-muted-foreground`}),(0,g.jsx)(p.Input,{placeholder:D(`table.search`),value:q,onChange:e=>ue(e.target.value),className:`pl-9 border-0 bg-transparent shadow-none focus-visible:ring-0`,"data-testid":`record-picker-search`}),W&&(0,g.jsx)(m.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`})]}),oe&&oe.length>0&&(0,g.jsx)(`div`,{className:`py-2`,children:T?(0,g.jsx)(`div`,{"data-testid":`record-picker-filter-bar`,children:T({filterColumns:oe,values:L,onChange:ye,onClear:be,activeCount:xe})}):(0,g.jsxs)(g.Fragment,{children:[(0,g.jsxs)(`div`,{className:`flex items-center gap-2`,"data-testid":`record-picker-filter-bar`,children:[(0,g.jsxs)(p.Button,{type:`button`,variant:xe>0?`secondary`:`outline`,size:`sm`,className:`gap-1.5 shrink-0`,onClick:()=>ee(e=>!e),children:[(0,g.jsx)(m.SlidersHorizontal,{className:`size-3.5`}),D(`lookup.filters`),xe>0&&(0,g.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:xe})]}),xe>0&&(0,g.jsxs)(p.Button,{type:`button`,variant:`ghost`,size:`sm`,className:`gap-1 text-xs`,onClick:be,children:[(0,g.jsx)(m.X,{className:`size-3`}),D(`lookup.clear`)]})]}),I&&(0,g.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:oe.map(e=>(0,g.jsx)(`div`,{children:Se(e)},e.field))})]})}),se&&(0,g.jsxs)(`div`,{className:`flex flex-col items-center gap-2 py-4`,role:`alert`,children:[(0,g.jsx)(m.AlertCircle,{className:`size-5 text-destructive`}),(0,g.jsx)(`p`,{className:`text-sm text-destructive`,children:se}),(0,g.jsx)(p.Button,{variant:`outline`,size:`sm`,onClick:()=>H.refetch(),type:`button`,children:D(`lookup.retry`)})]}),E?(0,g.jsx)(`div`,{className:`flex-1 min-h-0`,"data-testid":`record-picker-grid-slot`,children:E({columns:V,records:U,loading:W,totalCount:G,currentPage:ce,pageSize:h,sortField:J,sortDirection:Y,onSort:le,onPageChange:X,onRowClick:pe,isSelected:fe,multiple:r,idField:l,cellRenderer:S})}):(0,g.jsxs)(g.Fragment,{children:[W&&U.length===0&&!se&&(0,g.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,g.jsxs)(p.Table,{children:[(0,g.jsx)(p.TableHeader,{children:(0,g.jsxs)(p.TableRow,{className:`bg-muted/40`,children:[r&&(0,g.jsx)(p.TableHead,{className:`w-10`}),V.map(e=>(0,g.jsx)(p.TableHead,{children:(0,g.jsx)(p.Skeleton,{className:`h-4 w-20`})},e.field))]})}),(0,g.jsx)(p.TableBody,{children:Array.from({length:nn},(e,t)=>(0,g.jsxs)(p.TableRow,{children:[r&&(0,g.jsx)(p.TableCell,{className:`w-10`,children:(0,g.jsx)(p.Skeleton,{className:`size-4 rounded`})}),V.map(e=>(0,g.jsx)(p.TableCell,{children:(0,g.jsx)(p.Skeleton,{className:`h-4 w-full`})},e.field))]},t))})]})}),!W&&!se&&U.length===0&&(0,g.jsx)(`div`,{className:`py-8 text-center`,children:(0,g.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:D(`lookup.noRecords`)})}),!se&&U.length>0&&(0,g.jsxs)(`div`,{className:`relative flex-1 overflow-auto min-h-0 border rounded-md`,"aria-busy":W||void 0,"data-state":W?`loading`:`idle`,tabIndex:0,onKeyDown:Q,role:`grid`,"aria-label":`Records`,children:[W&&(0,g.jsx)(`div`,{className:`absolute inset-0 z-10 flex items-center justify-center bg-background/60`,"data-testid":`record-picker-loading-overlay`,children:(0,g.jsx)(m.Loader2,{className:`size-6 animate-spin text-muted-foreground`})}),(0,g.jsxs)(p.Table,{style:Object.keys(te).length>0?{tableLayout:`fixed`}:void 0,children:[(0,g.jsx)(p.TableHeader,{className:`sticky top-0 z-[5] bg-muted/50 [&_tr]:border-b`,"data-testid":`record-picker-sticky-header`,children:(0,g.jsxs)(p.TableRow,{children:[r&&(0,g.jsx)(p.TableHead,{className:`w-10`}),V.map(e=>{let t=te[e.field],n=t?{width:`${t}px`,minWidth:`${t}px`}:e.width?{width:e.width}:void 0;return(0,g.jsxs)(p.TableHead,{style:n,className:`cursor-pointer select-none relative group text-xs font-semibold uppercase tracking-wider`,onClick:()=>le(e.field),"aria-sort":J===e.field?Y===`asc`?`ascending`:`descending`:`none`,children:[(0,g.jsxs)(`span`,{className:`inline-flex items-center`,children:[e.label||Ut(e.field),$(e.field)]}),(0,g.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();ve(t,e.field,n?.width??100)},onClick:e=>e.stopPropagation(),"data-testid":`resize-handle-${e.field}`})]},e.field)})]})}),(0,g.jsx)(p.TableBody,{ref:F,children:U.map((e,t)=>{let n=de(e),i=fe(e),a=t===N;return(0,g.jsxs)(p.TableRow,{"data-row-index":t,className:(0,p.cn)(`cursor-pointer transition-colors`,Ce(i,t),a&&`ring-2 ring-primary ring-inset`),onClick:()=>pe(e),"data-testid":`record-row-${n}`,"aria-selected":i,children:[r&&(0,g.jsx)(p.TableCell,{className:`w-10`,children:i&&(0,g.jsx)(m.Check,{className:`size-4 text-primary`})}),V.map(t=>(0,g.jsx)(p.TableCell,{className:`py-2.5`,"data-lookup-cell":t.field,children:_e(e,t)},t.field))]},n??t)})})]})]}),!se&&G>0&&(0,g.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,g.jsxs)(`span`,{children:[G===1?D(`lookup.recordCountOne`):D(`lookup.recordCount`,{count:G}),K>1&&` · ${D(`lookup.pageOf`,{current:ce,total:K})}`]}),K>1&&(0,g.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,g.jsx)(p.Button,{variant:`outline`,size:`icon`,className:`size-7`,onClick:he,disabled:ce<=1,type:`button`,"aria-label":D(`lookup.prevPage`),children:(0,g.jsx)(m.ChevronLeft,{className:`size-4`})}),(0,g.jsx)(p.Input,{className:`h-7 w-12 text-center text-xs px-1`,placeholder:String(ce),value:ne,onChange:e=>re(e.target.value),onKeyDown:ge,"aria-label":D(`lookup.jumpToPage`),"data-testid":`record-picker-page-jump`}),(0,g.jsx)(p.Button,{variant:`outline`,size:`icon`,className:`size-7`,onClick:Z,disabled:ce>=K,type:`button`,"aria-label":D(`lookup.nextPage`),children:(0,g.jsx)(m.ChevronRight,{className:`size-4`})})]})]})]}),r&&(0,g.jsx)(p.DialogFooter,{children:(0,g.jsxs)(`div`,{className:`flex items-center gap-2 w-full justify-between`,children:[(0,g.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:D(`table.selected`,{count:A.size})}),(0,g.jsxs)(`div`,{className:`flex gap-2`,children:[(0,g.jsx)(p.Button,{variant:`outline`,type:`button`,onClick:()=>t(!1),children:D(`common.cancel`)}),(0,g.jsx)(p.Button,{type:`button`,onClick:me,children:D(`common.confirm`)})]})]})})]})})}var en,tn,nn,rn=o((()=>{qe(),Vt(),Jt(),en=10,tn=60,nn=5}));function an(e,t){if(!(!e||!t))return t.includes(`.`)?t.split(`.`).reduce((e,t)=>e==null?e:e[t],e):e[t]}function on(e,t=`name`){return e==null?``:String(typeof e==`object`?e[t]??e.name??e.username??e.label??``:e)}function sn(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 cn(e,t){return!e||!t||t.length===0?``:t.map(t=>an(e,t)).filter(e=>e!=null&&e!==``).map(e=>String(e)).join(` · `)}function ln(e,t=`image`){let n=e?an(e,t):void 0;return n?String(n):void 0}function un(e,t=`id`){return!e||typeof e!=`object`?e:e[t]??e.id??e._id}function dn(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 fn=o((()=>{}));function pn({text:e,query:t}){let n=t?dn(e,t):[];if(n.length===0)return(0,g.jsx)(g.Fragment,{children:e});let r=[],i=0;return n.forEach(([t,n],a)=>{t>i&&r.push(e.slice(i,t)),r.push((0,g.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,g.jsx)(g.Fragment,{children:r})}function mn({record:e,displayField:t=`name`,subtitleFields:n,avatarField:r=`image`,selected:i=!1,active:a=!1,highlightQuery:o,onSelect:s,className:c}){let l=on(e,t),d=cn(e,n),f=ln(e,r),h=sn(l),_=(0,u.useRef)(null);return(0,u.useEffect)(()=>{a&&_.current?.scrollIntoView?.({block:`nearest`})},[a]),(0,g.jsxs)(`button`,{ref:_,type:`button`,tabIndex:-1,onClick:()=>s?.(e),"aria-pressed":i,"data-testid":`person-row`,"data-active":a||void 0,className:(0,p.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`,i&&`bg-accent`,a&&`bg-accent ring-1 ring-inset ring-ring`,c),children:[(0,g.jsxs)(p.Avatar,{className:`size-9 shrink-0`,children:[f&&(0,g.jsx)(p.AvatarImage,{src:f,alt:l}),(0,g.jsx)(p.AvatarFallback,{className:`text-xs`,children:h})]}),(0,g.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,g.jsx)(`div`,{className:`truncate text-sm font-medium`,children:l?(0,g.jsx)(pn,{text:l,query:o}):`—`}),d&&(0,g.jsx)(`div`,{className:`truncate text-xs text-muted-foreground`,children:(0,g.jsx)(pn,{text:d,query:o})})]}),i&&(0,g.jsx)(m.Check,{className:`size-4 shrink-0 text-primary`,"aria-hidden":!0})]})}var hn=o((()=>{fn()}));function gn({records:e,onRemove:t,displayField:n=`name`,avatarField:r=`image`,idField:i=`id`,label:a,onClear:o,clearLabel:s,emptyText:c,className:l}){let u=!!a||!!o&&e.length>0;return(0,g.jsxs)(`div`,{className:(0,p.cn)(`flex flex-col gap-1.5`,l),"data-testid":`selection-tray`,children:[u&&(0,g.jsxs)(`div`,{className:`flex items-center justify-between`,children:[a&&(0,g.jsx)(`div`,{className:`text-xs font-medium text-muted-foreground`,children:a}),o&&e.length>0&&(0,g.jsx)(`button`,{type:`button`,onClick:o,className:`text-xs text-muted-foreground transition-colors hover:text-foreground`,"data-testid":`selection-clear`,children:s??`Clear all`})]}),e.length===0?(0,g.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:c??``}):(0,g.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:e.map(e=>{let a=un(e,i),o=on(e,n),s=ln(e,r),c=sn(o);return(0,g.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,g.jsxs)(p.Avatar,{className:`size-6 shrink-0`,children:[s&&(0,g.jsx)(p.AvatarImage,{src:s,alt:o}),(0,g.jsx)(p.AvatarFallback,{className:`text-[10px]`,children:c})]}),(0,g.jsx)(`span`,{className:`max-w-[10rem] truncate`,children:o||`—`}),(0,g.jsx)(`button`,{type:`button`,onClick:()=>t(a),"aria-label":`Remove ${o}`,className:`rounded-full p-0.5 text-muted-foreground transition-colors hover:bg-accent hover:text-foreground`,children:(0,g.jsx)(m.X,{className:`size-3.5`,"aria-hidden":!0})})]},String(a))})})]})}var _n=o((()=>{fn()}));function vn(){try{return typeof localStorage<`u`?localStorage:null}catch{return null}}function yn(e){let t=vn();if(!e||!t)return[];try{let n=t.getItem(xn+e);if(!n)return[];let r=JSON.parse(n);return Array.isArray(r)?r.slice(0,Sn):[]}catch{return[]}}function bn(e,t){let n=vn();if(!(!e||t==null||t===``||!n))try{let r=[t,...yn(e).filter(e=>e!==t)].slice(0,Sn);n.setItem(xn+e,JSON.stringify(r))}catch{}}var xn,Sn,Cn=o((()=>{xn=`objectui:lookup:recent:`,Sn=5}));function wn({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:h,pageSize:_=Tn,lookupFilters:v,baseFilter:y,value:b,onSelect:x,onSelectRecords:S,inline:C=!1,trigger:w}){let{t:T}=Ke(),E=(0,p.useIsMobile)(),D=(0,u.useMemo)(()=>{let e={...v?.length?Yt(v):{},...y??{}};return Object.keys(e).length>0?e:void 0},[v,y]),O=(0,u.useMemo)(()=>{if(f&&f.length)return f;let e=new Set;return(c??[]).forEach(t=>{t.includes(`.`)&&e.add(t.split(`.`)[0])}),e.size?Array.from(e):void 0},[f,c]),k=Bt({dataSource:i,objectName:a,enabled:e,pageSize:_,filter:D,expand:O,searchFields:h}),A=(0,u.useMemo)(()=>e?yn(a):[],[e,a]),j=(0,u.useMemo)(()=>r?Array.isArray(b)?b:[]:b!=null&&b!==``?[b]:[],[r,b]),M=Bt({dataSource:i,objectName:a,enabled:e&&j.length>0,pageSize:Math.max(1,j.length),filter:{[s]:{$in:j}},expand:O}),N=(0,u.useMemo)(()=>{let e={[s]:{$in:A}};return D?(0,d.mergeFilterNodes)(D,e):e},[D,s,A]),P=Bt({dataSource:i,objectName:a,enabled:e&&A.length>0,pageSize:Math.max(1,A.length),filter:N,expand:O}),F=(0,u.useMemo)(()=>{let e=new Map;for(let t of M.records)e.set(String(un(t,s)),t);return e},[M.records,s]),[I,ee]=(0,u.useState)([]),L=(0,u.useRef)(!1),R=(0,u.useRef)(!1);(0,u.useEffect)(()=>{e||(L.current=!1,R.current=!1,ee([]))},[e]),(0,u.useEffect)(()=>{if(!e||L.current)return;if(j.length===0){L.current=!0;return}if(M.loading){R.current=!0;return}if(!R.current)return;let t=j.map(e=>F.get(String(e))).filter(Boolean);ee(t),L.current=!0},[e,j,M.loading,F]);let te=(0,u.useMemo)(()=>new Set(I.map(e=>String(un(e,s)))),[I,s]),z=(0,u.useCallback)((e,n)=>{x(r?e:e[0]??null),S?.(n),e.forEach(e=>bn(a,e)),t(!1)},[r,a,x,S,t]),B=(0,u.useCallback)(e=>{x(e.map(e=>un(e,s))),S?.(e)},[x,S,s]),ne=(0,u.useCallback)(e=>{let t=un(e,s);if(!r){z([t],[e]);return}let n=String(t),i=I.some(e=>String(un(e,s))===n),o=i?I.filter(e=>String(un(e,s))!==n):[...I,e];ee(o),C&&(i||bn(a,t),B(o))},[r,s,z,I,C,a,B]),re=(0,u.useCallback)(e=>{let t=String(e),n=I.filter(e=>String(un(e,s))!==t);ee(n),C&&B(n)},[s,I,C,B]),V=(0,u.useCallback)(()=>{z(I.map(e=>un(e,s)),I)},[z,I,s]),ie=k.search.trim().length>0,ae=(0,u.useMemo)(()=>{if(ie)return[];let e=new Map(P.records.map(e=>[String(un(e,s)),e]));return A.map(t=>e.get(String(t))).filter(Boolean)},[ie,A,P.records,s]),oe=(0,u.useMemo)(()=>{if(ie)return k.records;let e=new Set(A.map(String));return k.records.filter(t=>!e.has(String(un(t,s))))},[ie,k.records,A,s]),H=(0,u.useMemo)(()=>[...ae,...oe],[ae,oe]),[U,W]=(0,u.useState)(-1),se=(0,u.useMemo)(()=>k.records.map(e=>String(un(e,s))).join(`\0`),[k.records,s]),G=`${k.search}\u0000${se}`,[K,q]=(0,u.useState)(G);K!==G&&(q(G),W(-1)),(0,u.useEffect)(()=>{W(e=>e>=H.length?H.length-1:e)},[H.length]);let ce=(0,u.useCallback)(e=>{e.key===`ArrowDown`?(e.preventDefault(),W(e=>H.length?Math.min(H.length-1,e+1):-1)):e.key===`ArrowUp`?(e.preventDefault(),W(e=>Math.max(0,e-1))):e.key===`Enter`?U>=0&&U<H.length&&(e.preventDefault(),ne(H[U])):e.key===`Backspace`&&k.search.length===0&&r&&I.length>0&&re(un(I[I.length-1],s))},[H,U,ne,k.search,r,I,re,s]),J=k.loading&&!k.error&&k.records.length===0&&ae.length===0,Y=k.loading&&!J,X=!k.loading&&!k.error&&oe.length===0&&ae.length===0,le=(e,t)=>{let n=un(e,s);return(0,g.jsx)(mn,{record:e,displayField:o,subtitleFields:c,avatarField:l,selected:te.has(String(n)),active:t===U,highlightQuery:k.search,onSelect:ne},String(n))},ue=n||T(`lookup.selectRecord`),de=(0,g.jsxs)(g.Fragment,{children:[(0,g.jsxs)(`div`,{className:`relative`,children:[(0,g.jsx)(m.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,g.jsx)(p.Input,{autoFocus:!E,value:k.search,onChange:e=>k.setSearch(e.target.value),onKeyDown:ce,placeholder:T(`table.search`),className:`px-8`,role:`combobox`,"aria-expanded":!0,"aria-controls":`people-picker-list`,"data-testid":`people-picker-search`}),k.loading&&(0,g.jsx)(m.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,g.jsx)(p.ScrollArea,{className:`min-h-0 flex-1`,"data-testid":`people-picker-list`,children:(0,g.jsx)(`div`,{id:`people-picker-list`,role:`listbox`,"aria-busy":k.loading,className:(0,p.cn)(`flex flex-col gap-0.5 pr-2 transition-opacity`,Y&&`opacity-70`),children:k.error?(0,g.jsxs)(`div`,{className:`flex flex-col items-center gap-2 py-8 text-center text-sm text-muted-foreground`,children:[(0,g.jsx)(m.AlertCircle,{className:`size-5 text-destructive`,"aria-hidden":!0}),(0,g.jsx)(`span`,{className:`max-w-xs`,children:k.error}),(0,g.jsx)(p.Button,{type:`button`,variant:`outline`,size:`sm`,onClick:k.refetch,children:T(`lookup.retry`)})]}):J?Array.from({length:En}).map((e,t)=>(0,g.jsxs)(`div`,{className:`flex items-center gap-3 px-2 py-1.5`,children:[(0,g.jsx)(p.Skeleton,{className:`size-9 shrink-0 rounded-full`}),(0,g.jsxs)(`div`,{className:`flex-1 space-y-1.5`,children:[(0,g.jsx)(p.Skeleton,{className:`h-3 w-1/3`}),(0,g.jsx)(p.Skeleton,{className:`h-2.5 w-1/2`})]})]},t)):(0,g.jsxs)(g.Fragment,{children:[ae.length>0&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(`div`,{className:`px-2 py-1 text-xs font-medium text-muted-foreground`,children:T(`lookup.recentlyUsed`)}),ae.map((e,t)=>le(e,t)),oe.length>0&&(0,g.jsxs)(`div`,{className:`mt-1 flex items-center gap-1.5 px-2 py-1 text-xs font-medium text-muted-foreground`,children:[(0,g.jsx)(`span`,{children:T(`lookup.allResults`)}),(0,g.jsxs)(`span`,{className:`font-normal opacity-70`,children:[`· `,k.total]})]})]}),oe.map((e,t)=>le(e,ae.length+t)),X&&(0,g.jsx)(`div`,{className:`py-8 text-center text-sm text-muted-foreground`,children:T(`lookup.noRecords`)})]})})}),r&&!C&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(gn,{records:I,onRemove:re,onClear:()=>ee([]),clearLabel:T(`lookup.clear`),displayField:o,avatarField:l,idField:s,label:T(`table.selected`,{count:I.length}),className:(0,p.cn)(`border-t pt-3`)}),(0,g.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,g.jsx)(p.Button,{type:`button`,variant:`outline`,onClick:()=>t(!1),children:T(`common.cancel`)}),(0,g.jsx)(p.Button,{type:`button`,onClick:V,children:T(`common.confirm`)})]})]})]});return C?E?(0,g.jsxs)(p.Sheet,{open:e,onOpenChange:t,children:[(0,g.jsx)(p.SheetTrigger,{asChild:!0,children:w}),(0,g.jsxs)(p.SheetContent,{side:`bottom`,className:`flex h-[85vh] flex-col gap-3`,"data-testid":`people-picker-sheet`,children:[(0,g.jsx)(p.SheetHeader,{className:`text-left`,children:(0,g.jsx)(p.SheetTitle,{children:ue})}),de]})]}):(0,g.jsxs)(p.Popover,{open:e,onOpenChange:t,children:[(0,g.jsx)(p.PopoverTrigger,{asChild:!0,children:w}),(0,g.jsx)(p.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:de})]}):E?(0,g.jsx)(p.Sheet,{open:e,onOpenChange:t,children:(0,g.jsxs)(p.SheetContent,{side:`bottom`,className:`flex h-[85vh] flex-col gap-3`,"data-testid":`people-picker-sheet`,children:[(0,g.jsx)(p.SheetHeader,{className:`text-left`,children:(0,g.jsx)(p.SheetTitle,{children:ue})}),de]})}):(0,g.jsx)(p.Dialog,{open:e,onOpenChange:t,children:(0,g.jsxs)(p.DialogContent,{className:`flex max-h-[80vh] flex-col gap-3 sm:max-w-lg`,"data-testid":`people-picker-dialog`,children:[(0,g.jsx)(p.DialogHeader,{children:(0,g.jsx)(p.DialogTitle,{children:ue})}),de]})})}var Tn,En,Dn=o((()=>{Vt(),rn(),fn(),hn(),_n(),Cn(),qe(),Tn=25,En=6}));function On(e){let t=new Set,n=[];for(let r of e)t.has(r)||(t.add(r),n.push(r));return n}function kn(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:On([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)||On([t,...Object.keys(r).filter(e=>{if(e===t)return!1;let n=i(e);return!((0,x.isSystemManagedField)(e,n)||n.hidden||n.type&&An.has(n.type))})]).slice(0,n).map(a)}var An,jn=o((()=>{An=new Set([`json`,`object`,`grid`,`html`,`richtext`,`markdown`,`code`,`image`,`file`,`avatar`,`vector`,`location`,`geometry`,`textarea`,`secret`,`password`,`encrypted`])})),Mn=s({LookupField:()=>Rn});function Nn(e){return!!e&&!Vn.test(e)&&!Hn.has(e)}function Pn(e,t){if(!e||typeof e!=`object`||!t)return null;let n=`[-\\u2013\\u2014|/·,:]`,r=!1,i=t.replace(/\{([^{}]+)\}/g,(t,n)=>{let i=e[n.trim()];return i!=null&&i!==``?(r=!0,String(i)):`\0`});return r&&i.replace(RegExp(`\\s*${n}\\s*`,`g`),``).replace(RegExp(`\\s*${n}\\s*`,`g`),``).replace(RegExp(`\0`,`g`),``).replace(/\s+/g,` `).trim()||null}function Fn(e,t,n,r,i,a){let o=e[n]??e.id??e._id??e.externalId,s=i?Pn(e,i):null,c;if(a){let t=(0,d.getRecordDisplayName)(a,e),n=e?.id??e?._id;t===`Untitled`||n!=null&&t===`Record #${n}`||(c=t)}let l=s??e[t]??c??e.label??e.name??e.full_name??e.title??e.subject??e.externalId??String(o),u=r?e[r]:void 0;return{value:o,label:String(l),description:u,...e}}function In(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 Ln(e){return{text:`text`,number:`number`,currency:`number`,percent:`number`,select:`select`,status:`select`,date:`date`,datetime:`date`,boolean:`boolean`}[e]}function Rn({value:e,onChange:t,field:n,readonly:r,error:i,...a}){let[o,s]=(0,u.useState)(!1),{t:c}=Ke(),{translateOptions:l}=(0,f.useSafeFieldLabel)(),_=(0,f.useDisplayLocale)(),v=u.default.useId(),[y,b]=(0,u.useState)(null),[x,S]=(0,u.useState)([]),[C,w]=(0,u.useState)(()=>new Set),[T,E]=(0,u.useState)(-1),D=(0,u.useRef)(null),O=n,k=O?.field,A=k&&typeof k==`object`&&(`reference_to`in k||`reference`in k||`type`in k)?k:O,j=A?.options||[],M=A?.multiple||!1,N=A?.display_field||A?.displayField||A?.reference_field||`name`,P=A?.description_field??A?.descriptionField,F=A?.id_field||`id`,I=A?.reference_to||A?.reference,ee=A?.allow_create??A?.allowCreate,L=ee==null?Nn(I):!!ee,R=A?.lookup_columns??A?.lookupColumns,te=A?.lookup_page_size??A?.lookupPageSize,z=A?.lookup_filters??A?.lookupFilters,B=A?.picker,ne=A?.subtitle,re=A?.avatar_field??A?.avatarField??`image`,V=(0,u.useMemo)(()=>{let e=A?.depends_on??A?.dependsOn;return e&&Array.isArray(e)?e.map(e=>typeof e==`string`?{field:e,param:e}:{field:e.field,param:e.param??e.field}):[]},[A?.depends_on,A?.dependsOn]),ie=a.dependsOnLabels,ae=(0,u.useMemo)(()=>V.map(e=>ie?.[e.field]||e.field).join(c(`validation.formInvalidJoiner`)),[V,ie,c]),oe=a.dependentValues,H=(0,u.useContext)(Bn),U=H?.dataSource??null,W=a.dataSource??O?.dataSource??A?.dataSource??U,se=(0,u.useMemo)(()=>oe||(H?.formValues??H?.data??{}),[oe,H?.formValues,H?.data]),G=(0,u.useMemo)(()=>V.length!==0&&V.some(({field:e})=>{let t=se[e];return t==null||t===``||Array.isArray(t)&&t.length===0}),[V,se]),K=W!=null&&typeof W.find==`function`&&!!I,[q,ce]=(0,u.useState)(null);(0,u.useEffect)(()=>{if(!W||!I)return;let e=W.getObjectSchema;if(typeof e!=`function`)return;let t=!0;return Promise.resolve(e.call(W,I)).then(e=>{t&&ce(e)}).catch(()=>{}),()=>{t=!1}},[W,I]);let J=(0,u.useMemo)(()=>{let e=q?.titleFormat;return typeof e==`string`?e:e&&typeof e==`object`&&typeof e.source==`string`?e.source:null},[q]),Y=(0,u.useMemo)(()=>{if(R&&R.length>0)return R;let e=kn(q,{displayField:N});return e.length>0?e:void 0},[R,q,N]),X=(0,u.useMemo)(()=>{if(P)return P;let e=Y?.find(e=>(typeof e==`string`?e:e.field)!==N);if(e)return typeof e==`string`?e:e.field},[P,Y,N]),le=(0,u.useMemo)(()=>{let e=[],t=new Set([N]);P&&(e.push({field:P}),t.add(P));for(let n of Y??[]){let r=Ht(n);t.has(r.field)||(t.add(r.field),e.push(r))}return e},[P,Y,N]),de=(0,u.useMemo)(()=>Gt(le,q?.fields,I??``,l),[le,q,I,l]),fe=(0,u.useMemo)(()=>{if(!Y)return;let e=[];for(let t of Y)if(typeof t==`object`&&t.type){let n=Ln(t.type);n&&e.push({field:t.field,label:t.label,type:n})}return e.length>0?e:void 0},[Y]),pe=a.onCreateNew??O?.onCreateNew,[me,he]=(0,u.useState)(!1),ge=(0,u.useMemo)(()=>{let e={};for(let{field:t,param:n}of V){let r=se[t];r!=null&&r!==``&&(e[n]=typeof r==`number`?r:String(r))}return Object.keys(e).length>0?e:void 0},[V,se]),Q=(0,u.useMemo)(()=>{let e={...z&&z.length>0?Yt(z):{},...ge??{}};return Object.keys(e).length>0?e:void 0},[ge,z]),_e=Bt({dataSource:W,objectName:I,enabled:o&&K&&!G,pageSize:zn,filter:Q}),$=_e.search,ve=_e.loading,ye=_e.total,be=_e.error??y,xe=(0,u.useMemo)(()=>_e.records.map(e=>Fn(e,N,F,X,J,q)),[_e.records,N,F,X,J,q]),Se=K?xe:j,Ce=(0,u.useMemo)(()=>{if(K||!$)return Se;let e=$.toLowerCase();return Se.filter(t=>t.label.toLowerCase().includes(e)||t.description&&t.description.toLowerCase().includes(e))},[K,Se,$]);(0,u.useEffect)(()=>{E(-1)},[Ce.length]),(0,u.useEffect)(()=>{o||E(-1)},[o]);let we=(0,u.useCallback)(e=>_e.setSearch(e),[_e.setSearch]);(0,u.useEffect)(()=>{if(!K||!W||!I)return;let t=(M?Array.isArray(e)?e:[]:e!=null&&e!==``?[e]:[]).filter(e=>e!=null&&e!==``&&typeof e!=`object`&&!In(e));if(!t.length)return;let n=t.filter(e=>!Te(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`&&F===`id`){let n=await W.findOne(I,t);n&&e.push(Fn(n,N,F,X,J,q))}else{let n=await W.find(I,{$filter:{[F]:t},$top:1}),r=n?.data??n??[];r[0]&&e.push(Fn(r[0],N,F,X,J,q))}}else{let t=[];for(let e=0;e<n.length;e+=zn)t.push(n.slice(e,e+zn));let r=await Promise.all(t.map(e=>W.find(I,{$filter:{[F]:{$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(Fn(t,N,F,X,J,q))}}!r&&e.length&&S(t=>{let n=new Map(t.map(e=>[e.value,e]));for(let t of e)n.set(t.value,t);return Array.from(n.values())})}catch{}finally{r||w(e=>{let t=new Set(e);for(let e of n)t.add(String(e));return t})}})(),()=>{r=!0}},[e,K,I,N,F,X,M]);let Te=(0,u.useCallback)(e=>j.find(t=>t.value===e)??xe.find(t=>t.value===e)??x.find(t=>t.value===e),[j,xe,x]),Ee=(0,u.useCallback)(e=>{let t=String(e);return j.find(e=>String(e.value)===t)??xe.find(e=>String(e.value)===t)??x.find(e=>String(e.value)===t)},[j,xe,x]),De=(0,u.useCallback)(e=>{let t=typeof e==`object`&&e?e:In(e);return t?t[F]??t.id??t._id??t.externalId:e},[F]),Oe=(0,u.useMemo)(()=>M?Array.isArray(e)?e.map(De):[]:De(e),[M,e,De]),ke=(0,u.useCallback)(e=>{if(e==null||e===``)return;let t=typeof e==`object`?e:In(e);return t?Fn(t,N,F,X,J,q):Te(e)??Ee(e)},[Te,Ee,N,F,X,J,q]),Ae=(0,u.useMemo)(()=>K?(M?Array.isArray(e)?e:[]:e!=null&&e!==``?[e]:[]).some(e=>e!=null&&e!==``&&typeof e!=`object`&&!In(e)&&!Te(e)&&!Ee(e)&&!C.has(String(e))):!1,[K,M,e,Te,Ee,C]),je=M?(Array.isArray(e)?e:[]).filter(e=>e!=null&&e!==``).length:+(e!=null&&e!==``),Me=M?(Array.isArray(e)?e:[]).map(ke).filter(Boolean):e?[ke(e)].filter(Boolean):[],Ne=a.onSelectRecord,Pe=(0,u.useCallback)(n=>{if(n&&n.value!=null&&S(e=>{let t=new Map(e.map(e=>[e.value,e]));return t.set(n.value,n),Array.from(t.values())}),M){let r=(Array.isArray(e)?e:[]).map(De);r.includes(n.value)?t(r.filter(e=>e!==n.value)):(I&&bn(I,n.value),t([...r,n.value]))}else I&&bn(I,n.value),Ne?Ne(n):t(n.value),s(!1)},[M,e,t,Ne,I,De]),Fe=n=>{t(M?(Array.isArray(e)?e:[]).map(De).filter(e=>e!==n):null)},Ie=(0,u.useCallback)(e=>{let t=e.map(e=>Fn(e,N,F,X,J,q));I&&t.forEach(e=>bn(I,e.value)),S(t)},[N,F,X,J,I]),[Le,Re]=(0,u.useState)([]);(0,u.useEffect)(()=>{if(!o||!K||!W||!I||$)return;if(G){Re([]);return}let e=yn(I);if(!e.length){Re([]);return}let t=!1;return(async()=>{try{let n={[F]:{$in:e}},r=await W.find(I,{$filter:Q?(0,d.mergeFilterNodes)(Q,n):n,$top:e.length}),i=r?.data??r??[],a=new Map;if(Array.isArray(i))for(let e of i){let t=e?.[F]??e?.id??e?._id;t!=null&&a.set(String(t),e)}let o=e.map(e=>a.get(String(e))).filter(Boolean).map(e=>Fn(e,N,F,X,J,q));t||Re(o)}catch{t||Re([])}})(),()=>{t=!0}},[o,K,I,$,G,Q,F]);let ze=!$&&K?Le.length:0,Be=(0,u.useMemo)(()=>{if($||!K||Le.length===0)return Ce;let e=new Set(Le.map(e=>e.value));return[...Le,...Ce.filter(t=>!e.has(t.value))]},[$,K,Le,Ce]);(0,u.useEffect)(()=>{E(-1)},[Be.length]);let[Ve,He]=(0,u.useState)(!1),{execute:Ue}=(0,h.useAction)(),We=(0,h.useHasActionProvider)(),Ge=!!pe||L&&(We||K),qe=(0,u.useCallback)(async e=>{let t=(e||``).trim();if(pe){pe(t),s(!1);return}if(!(!L||!I)){if(b(null),We){s(!1),await new Promise(e=>setTimeout(e,0));let e=await Ue({type:`modal`,modal:{objectName:I,mode:`create`}});if(e?.success&&e.data){let t=Fn(e.data,N,F,X,J,q);S(e=>[t,...e.filter(e=>e.value!==t.value)]),Pe(t);return}if(!(e?.success&&e.modal))return}if(!(!W||!t)){He(!0);try{let e=Fn(await W.create(I,{[N]:t}),N,F,X,J,q);S(t=>[e,...t.filter(t=>t.value!==e.value)]),Pe(e)}catch(e){b(e instanceof Error?e.message:String(e))}finally{He(!1)}}}},[pe,L,I,We,Ue,W,N,F,X,J,q,Pe]),Je=(0,u.useCallback)(e=>{let t=le.filter(t=>{let n=e[t.field];return n!=null&&n!==``});return t.length===0?null:t.map((t,n)=>(0,g.jsxs)(u.default.Fragment,{children:[n>0&&(0,g.jsx)(`span`,{"aria-hidden":`true`,className:`shrink-0 opacity-60`,children:`·`}),(0,g.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1 truncate`,children:[(0,g.jsx)(`span`,{className:`shrink-0 opacity-70`,children:`${t.label||Ut(t.field)}:`}),(0,g.jsx)(`span`,{className:`min-w-0 truncate`,"data-lookup-preview":t.field,children:Kt(e,t,{descriptors:de,cellRenderer:ue(),displayLocale:_})})]})]},t.field))},[le,de,_]),Ye=(0,u.useCallback)(e=>{e.key===`ArrowDown`?(e.preventDefault(),E(e=>e<Be.length-1?e+1:e)):e.key===`ArrowUp`?(e.preventDefault(),E(e=>e>0?e-1:0)):e.key===`Enter`&&(e.preventDefault(),T>=0&&T<Be.length&&Pe(Be[T]))},[Be,T,Pe]);if((0,u.useEffect)(()=>{T>=0&&D.current&&D.current.querySelector(`[data-lookup-index="${T}"]`)?.scrollIntoView({block:`nearest`})},[T]),r)return Me.length?M?(0,g.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:Me.map((e,t)=>(0,g.jsx)(p.Badge,{variant:`outline`,children:e?.label||e?.[N]},t))}):(0,g.jsx)(`span`,{className:`text-sm`,children:Me[0]?.label||Me[0]?.[N]}):Ae?(0,g.jsxs)(`span`,{className:`inline-flex items-center gap-1.5 text-sm text-muted-foreground`,"data-testid":`lookup-hydrating`,children:[(0,g.jsx)(m.Loader2,{className:`size-3.5 animate-spin`}),M?c(`table.selected`,{count:je}):c(`lookup.loading`)]}):(0,g.jsx)(p.EmptyValue,{});let Xe=!!a.compact,Ze=Me[0]?.label||Me[0]?.[N],{name:Qe,...$e}=Z(a),et=(0,g.jsxs)(p.Button,{...$e,variant:`outline`,className:(0,p.cn)(`min-w-0 max-w-full flex-1 justify-start text-left font-normal`,Xe&&`h-8 rounded-none border-0 bg-transparent px-2 shadow-none focus-visible:ring-1 focus-visible:ring-ring/60`),type:`button`,disabled:G||a.disabled,"data-testid":G?`lookup-trigger-gated`:a.name||O?.name?`lookup-trigger-${a.name||O.name}`:`lookup-trigger`,title:G?c(`lookup.selectFirst`,{fields:ae}):void 0,"aria-invalid":!!i,children:[Ae?(0,g.jsx)(m.Loader2,{className:(0,p.cn)(`size-4 shrink-0 animate-spin text-muted-foreground`,Xe?`mr-1.5`:`mr-2`),"data-testid":`lookup-hydrating`}):(0,g.jsx)(m.Search,{className:(0,p.cn)(`size-4 shrink-0 text-muted-foreground`,Xe?`mr-1.5`:`mr-2`)}),(0,g.jsx)(`span`,{className:(0,p.cn)(`truncate`,Xe&&Me.length===0&&`text-muted-foreground`),children:G?c(`lookup.selectFirst`,{fields:ae}):Ae?M?c(`table.selected`,{count:je}):c(`lookup.loading`):Xe&&!M&&Me.length>0?Ze:Me.length===0?O?.placeholder||c(`common.select`):M?c(`table.selected`,{count:Me.length}):c(`common.select`)})]});return(0,g.jsxs)(`div`,{className:Xe?``:`space-y-2`,children:[Me.length>0&&!Xe&&(0,g.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:Me.map((e,t)=>{let n=e?.label||e?.[N];if(B===`search`){let r=e?.[re]||e?.image;return(0,g.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,g.jsxs)(p.Avatar,{className:`size-6 shrink-0`,children:[r&&(0,g.jsx)(p.AvatarImage,{src:r,alt:String(n||``)}),(0,g.jsx)(p.AvatarFallback,{className:`text-[10px]`,children:sn(String(n||``))})]}),(0,g.jsx)(`span`,{className:`max-w-[10rem] truncate`,children:n}),(0,g.jsx)(`button`,{onClick:()=>Fe(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,g.jsx)(m.X,{className:`size-3`})})]},t)}return(0,g.jsxs)(p.Badge,{variant:`outline`,className:`gap-1`,children:[n,(0,g.jsx)(`button`,{onClick:()=>Fe(e?.value),className:`ml-1 hover:text-destructive`,type:`button`,"aria-label":c(`lookup.remove`,{label:n}),children:(0,g.jsx)(m.X,{className:`size-3`})})]},t)})}),B===`search`&&K&&W&&I?(0,g.jsx)(wn,{inline:!0,trigger:et,open:me,onOpenChange:he,title:O?.label||c(`common.select`),multiple:M,dataSource:W,objectName:I,displayField:N,idField:F,subtitleFields:ne,avatarField:re,pageSize:te,value:Oe,onSelect:t,onSelectRecords:Ie,lookupFilters:z,baseFilter:ge}):(0,g.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,g.jsxs)(p.Popover,{open:o,onOpenChange:e=>{G||s(e)},children:[(0,g.jsx)(p.PopoverTrigger,{asChild:!0,children:et}),(0,g.jsxs)(p.PopoverContent,{className:`w-[var(--radix-popover-trigger-width)] p-0`,align:`start`,children:[(0,g.jsx)(`div`,{className:`p-2`,children:(0,g.jsxs)(`div`,{className:`relative`,children:[(0,g.jsx)(m.Search,{className:`absolute left-3 top-1/2 -translate-y-1/2 size-4 text-muted-foreground`}),(0,g.jsx)(p.Input,{placeholder:c(`table.search`),value:$,onChange:e=>we(e.target.value),onKeyDown:Ye,className:`w-full pl-9 h-8 text-sm`,role:`combobox`,"aria-autocomplete":`list`,"aria-controls":v,"aria-expanded":o,"aria-activedescendant":T>=0?`${v}-opt-${T}`:void 0}),ve&&(0,g.jsx)(m.Loader2,{className:`absolute right-3 top-1/2 -translate-y-1/2 size-4 animate-spin text-muted-foreground`,"data-testid":`lookup-loading`})]})}),be&&(0,g.jsxs)(`div`,{className:`flex flex-col items-center gap-2 py-4 px-2`,role:`alert`,children:[(0,g.jsx)(m.AlertCircle,{className:`size-5 text-destructive`}),(0,g.jsx)(`p`,{className:`text-sm text-destructive`,children:be}),(0,g.jsx)(p.Button,{variant:`outline`,size:`sm`,onClick:()=>_e.refetch(),type:`button`,children:c(`lookup.retry`)})]}),ve&&Ce.length===0&&!be&&(0,g.jsxs)(`div`,{className:`flex flex-col items-center gap-2 py-6`,role:`status`,"aria-live":`polite`,children:[(0,g.jsx)(m.Loader2,{className:`size-6 animate-spin text-muted-foreground`}),(0,g.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:c(`lookup.loading`)})]}),!be&&!(ve&&Ce.length===0)&&(0,g.jsx)(`div`,{ref:D,className:`max-h-64 overflow-y-auto px-1 pb-1`,role:`listbox`,id:v,children:Be.length===0?(0,g.jsxs)(`div`,{className:`py-4 text-center`,children:[(0,g.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:c(`lookup.noOptions`)}),Ge&&(0,g.jsxs)(p.Button,{variant:`ghost`,size:`sm`,className:`mt-2 gap-1`,type:`button`,disabled:Ve,onClick:()=>qe($),children:[Ve?(0,g.jsx)(m.Loader2,{className:`size-4 animate-spin`}):(0,g.jsx)(m.Plus,{className:`size-4`}),$?c(`lookup.createNamed`,{name:$}):c(`lookup.createNew`)]})]}):(0,g.jsxs)(g.Fragment,{children:[Be.map((t,n)=>{let r=M?(Array.isArray(e)?e:[]).map(De).includes(t.value):De(e)===t.value,i=n===T,a=ze>0&&n===0,o=ze>0&&n===ze;return(0,g.jsxs)(u.default.Fragment,{children:[a&&(0,g.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,g.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,g.jsxs)(`button`,{id:`${v}-opt-${n}`,"data-lookup-index":n,role:`option`,"aria-selected":r,title:String(t.label??``),onClick:()=>Pe(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,g.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,g.jsx)(`span`,{className:`block truncate`,children:t.label}),(()=>{let e=Je(t);return e?(0,g.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,g.jsx)(p.Badge,{variant:`default`,className:`ml-2 shrink-0`,children:c(`lookup.selectedBadge`)})]})]},t.value)}),K&&ye>Ce.length&&(0,g.jsx)(`p`,{className:`text-xs text-muted-foreground text-center py-2`,children:c(`lookup.showingResults`,{shown:Ce.length,total:ye})}),K&&ye>Ce.length&&(0,g.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),he(!0)},"data-testid":`show-all-results`,children:[(0,g.jsx)(m.TableProperties,{className:`size-3.5`}),c(`lookup.showAllResults`,{count:ye})]}),Ge&&(0,g.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:Ve,onClick:()=>qe($),children:[Ve?(0,g.jsx)(m.Loader2,{className:`size-3.5 animate-spin`}):(0,g.jsx)(m.Plus,{className:`size-3.5`}),$?c(`lookup.createNamed`,{name:$}):c(`lookup.createNew`)]})]})})]})]}),K&&B!==`search`&&(0,g.jsx)(p.Button,{variant:`outline`,size:`icon`,className:`shrink-0`,type:`button`,disabled:G||a.disabled,onClick:()=>he(!0),"aria-label":c(`lookup.browseAll`),title:G?c(`lookup.selectFirst`,{fields:ae}):c(`lookup.browseAll`),"data-testid":`browse-all-records`,children:(0,g.jsx)(m.TableProperties,{className:`size-4`})})]}),K&&W&&I&&B!==`search`&&(0,g.jsx)($t,{open:me,onOpenChange:he,title:O?.label||c(`common.select`),multiple:M,dataSource:W,objectName:I,columns:Y,displayField:N,titleFormat:J,idField:F,pageSize:te,value:Oe,onSelect:t,onSelectRecords:Ie,lookupFilters:z,baseFilter:ge,cellRenderer:ue(),fieldsMeta:q?.fields,filterColumns:fe})]})}var zn,Bn,Vn,Hn,Un=o((()=>{Q(),rn(),Dn(),Vt(),jn(),Cn(),fn(),Jt(),qe(),zn=50,Bn=h.SchemaRendererContext,Vn=/^(sys_|cloud_|ai_)/,Hn=new Set([`user`,`users`])})),Wn=s({UserField:()=>Kn});function Gn(e){let t=Array.isArray(e)?e:[];return t.some(e=>e?.field===`banned`)?t:[...t,{field:`banned`,operator:`ne`,value:!0}]}function Kn(e){let t=e.field,n=t?.field&&typeof t.field==`object`&&(`reference`in t.field||`reference_to`in t.field||`type`in t.field),r=n?t.field:t,i={...r||{},reference:r?.reference||r?.reference_to||`sys_user`,display_field:r?.display_field||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`,lookup_filters:Gn(r?.lookup_filters??r?.lookupFilters)},a=n?{...t,field:i}:i;return(0,g.jsx)(Rn,{...e,field:a})}var qn=o((()=>{Un()})),Jn=s({ColorField:()=>Yn});function Yn({value:e,onChange:t,field:n,readonly:r,error:i,...a}){let o=n;return r?(0,g.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,g.jsx)(`div`,{className:`w-6 h-6 rounded border border-input`,style:{backgroundColor:e||`#000000`}}),(0,g.jsx)(`span`,{className:`text-sm`,children:e||(0,g.jsx)(p.EmptyValue,{})})]}):(0,g.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,g.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,g.jsx)(p.Input,{...Z(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 Xn=o((()=>{Q()})),Zn=s({AddressField:()=>Qn});function Qn({value:e,onChange:t,field:n,readonly:r,error:i,...a}){let o=e||{},{id:s,"aria-labelledby":c,...l}=Z(a),d=Pe(a,`instead-of-the-inputs`),m=Pe(a,`above-the-inputs`),h=(0,u.useId)(),_=e=>`${h}-${e}`,{t:v}=Ke(),y=(0,f.useDisplayLocale)(),b=w(o),x=(e,n)=>{let r={...o};delete r.zipCode,t({...r,...b?{postalCode:b}:null,[e]:n})};if(r){let e=D(o,y);return e?(0,g.jsx)(`span`,{...d,className:`text-sm`,children:e}):(0,g.jsx)(p.EmptyValue,{...d})}return(0,g.jsxs)(`div`,{className:`space-y-3`,...m,children:[(0,g.jsxs)(`div`,{children:[(0,g.jsx)(p.Label,{htmlFor:_(`street`),className:`text-xs`,children:v(`fields.address.street`)}),(0,g.jsx)(p.Input,{...l,id:_(`street`),type:`text`,value:o.street||``,onChange:e=>x(`street`,e.target.value),disabled:r||a.disabled,className:a.className,"aria-invalid":!!i})]}),(0,g.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,g.jsxs)(`div`,{children:[(0,g.jsx)(p.Label,{htmlFor:_(`city`),className:`text-xs`,children:v(`fields.address.city`)}),(0,g.jsx)(p.Input,{id:_(`city`),type:`text`,value:o.city||``,onChange:e=>x(`city`,e.target.value),disabled:r||a.disabled,"aria-invalid":!!i})]}),(0,g.jsxs)(`div`,{children:[(0,g.jsx)(p.Label,{htmlFor:_(`state`),className:`text-xs`,children:v(`fields.address.state`)}),(0,g.jsx)(p.Input,{id:_(`state`),type:`text`,value:o.state||``,onChange:e=>x(`state`,e.target.value),disabled:r||a.disabled,"aria-invalid":!!i})]})]}),(0,g.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,g.jsxs)(`div`,{children:[(0,g.jsx)(p.Label,{htmlFor:_(`postalCode`),className:`text-xs`,children:v(`fields.address.postalCode`)}),(0,g.jsx)(p.Input,{id:_(`postalCode`),type:`text`,value:b||``,onChange:e=>x(`postalCode`,e.target.value),disabled:r||a.disabled,"aria-invalid":!!i})]}),(0,g.jsxs)(`div`,{children:[(0,g.jsx)(p.Label,{htmlFor:_(`country`),className:`text-xs`,children:v(`fields.address.country`)}),(0,g.jsx)(p.Input,{id:_(`country`),type:`text`,value:o.country||``,onChange:e=>x(`country`,e.target.value),disabled:r||a.disabled,"aria-invalid":!!i})]})]})]})}var $n=o((()=>{Q(),Fe(),qe()})),er=s({LocationField:()=>tr});function tr({value:e,onChange:t,field:n,readonly:r,error:i,...a}){let o=n,s=e&&typeof e==`object`?`${e.latitude||0}, ${e.longitude||0}`:``;if(r)return(0,g.jsx)(`span`,{className:`text-sm`,children:s||(0,g.jsx)(p.EmptyValue,{})});let c=e=>{let n=e.target.value;if(!n.trim()){t(null);return}let r=n.split(`,`).map(e=>e.trim());if(r.length===2){let e=parseFloat(r[0]),n=parseFloat(r[1]);!isNaN(e)&&!isNaN(n)&&t({latitude:e,longitude:n})}};return(0,g.jsx)(p.Input,{...Z(a),type:`text`,value:s,onChange:c,placeholder:o?.placeholder||`latitude, longitude`,disabled:r||a.disabled,className:a.className,"aria-invalid":!!i})}var nr=o((()=>{Q()})),rr=s({GeolocationField:()=>ir});function ir({value:e,onChange:t,field:n,readonly:r,error:i,...a}){let[o,s]=u.default.useState(!1),c=e||{},{id:l,"aria-labelledby":d,...f}=Z(a),h=Pe(a,`instead-of-the-inputs`),_=Pe(a,`above-the-inputs`),v=(0,u.useId)(),y=e=>`${v}-${e}`,b=(e,n)=>{t({...c,[e]:n?Number(n):void 0})},x=()=>{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})},S=e=>!e.latitude||!e.longitude?``:`${e.latitude.toFixed(6)}, ${e.longitude.toFixed(6)}`,C=()=>{if(!c.latitude||!c.longitude)return;let e=`https://www.google.com/maps?q=${c.latitude},${c.longitude}`;window.open(e,`_blank`)};if(r){let e=S(c);return(0,g.jsxs)(`div`,{...h,className:`flex items-center gap-2`,children:[(0,g.jsx)(m.MapPin,{className:`w-4 h-4 text-muted-foreground`}),e?(0,g.jsx)(`span`,{className:`text-sm`,children:e}):(0,g.jsx)(p.EmptyValue,{}),c.latitude&&c.longitude&&(0,g.jsx)(p.Button,{type:`button`,variant:`link`,size:`sm`,onClick:C,className:`p-0 h-auto`,children:`View on map`})]})}return(0,g.jsxs)(`div`,{className:`space-y-3`,..._,children:[(0,g.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,g.jsxs)(p.Button,{type:`button`,variant:`outline`,size:`sm`,onClick:x,disabled:r||o,children:[(0,g.jsx)(m.Crosshair,{className:`w-4 h-4 mr-2`}),o?`Getting location...`:`Use Current Location`]}),c.latitude&&c.longitude&&(0,g.jsxs)(p.Button,{type:`button`,variant:`link`,size:`sm`,onClick:C,children:[(0,g.jsx)(m.MapPin,{className:`w-4 h-4 mr-2`}),`View on map`]})]}),(0,g.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,g.jsxs)(`div`,{children:[(0,g.jsx)(p.Label,{htmlFor:y(`latitude`),className:`text-xs`,children:`Latitude`}),(0,g.jsx)(p.Input,{...f,id:y(`latitude`),type:`number`,value:c.latitude??``,onChange:e=>b(`latitude`,e.target.value),placeholder:`37.7749`,disabled:r||a.disabled,step:`any`,className:a.className,"aria-invalid":!!i})]}),(0,g.jsxs)(`div`,{children:[(0,g.jsx)(p.Label,{htmlFor:y(`longitude`),className:`text-xs`,children:`Longitude`}),(0,g.jsx)(p.Input,{id:y(`longitude`),type:`number`,value:c.longitude??``,onChange:e=>b(`longitude`,e.target.value),placeholder:`-122.4194`,disabled:r||a.disabled,step:`any`,"aria-invalid":!!i})]})]}),c.accuracy&&(0,g.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`Accuracy: ±`,c.accuracy.toFixed(0),`m`]})]})}var ar=o((()=>{Q(),Fe()})),or=s({CodeField:()=>sr});function sr({value:e,onChange:t,field:n,readonly:r,error:i,...a}){let o=n,s=o?.language??`javascript`;return r?(0,g.jsx)(`pre`,{className:(0,p.cn)(`text-sm bg-muted p-2 rounded overflow-x-auto border`,a.className),children:(0,g.jsx)(`code`,{children:e||(0,g.jsx)(p.EmptyValue,{})})}):(0,g.jsx)(p.Textarea,{...Z(a),value:e||``,onChange:e=>t(e.target.value),placeholder:o?.placeholder||`// Write ${s} code here...`,disabled:r||a.disabled,className:(0,p.cn)(`font-mono text-sm`,a.className),rows:12,spellCheck:!1,"aria-invalid":!!i})}var cr=o((()=>{Q()})),lr=s({QRCodeField:()=>ur});function ur({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,g.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,g.jsx)(`span`,{className:`text-sm flex-1 truncate`,children:e||(0,g.jsx)(p.EmptyValue,{})}),e&&(0,g.jsxs)(p.Button,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>s(!o),children:[(0,g.jsx)(m.QrCode,{className:`w-4 h-4 mr-2`}),o?`Hide`:`Show`,` QR`]})]}):(0,g.jsxs)(`div`,{className:`space-y-3`,children:[(0,g.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,g.jsx)(p.Input,{...Z(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,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(p.Button,{type:`button`,variant:`outline`,size:`sm`,onClick:d,children:(0,g.jsx)(m.Copy,{className:`w-4 h-4`})}),(0,g.jsx)(p.Button,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>s(!o),children:(0,g.jsx)(m.QrCode,{className:`w-4 h-4`})})]})]}),o&&e&&(0,g.jsx)(`div`,{className:`border rounded p-4 bg-white flex justify-center`,children:(0,g.jsx)(`img`,{src:l(e),alt:`QR Code`,className:`w-48 h-48`})}),e&&(0,g.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`QR code contains: `,e.length,` characters`]})]})}var dr=o((()=>{Q()}));ve(),Ce(),Ee(),Ae(),Ne(),Re(),Ve(),We(),it(),et(),st(),ut(),pt(),Ct(),Et(),kt(),Mt(),Ft(),Rt(),Un(),qn(),Xn(),$n(),nr(),ar(),cr(),dr();var fr={text:$,textarea:Se,number:Te,currency:ke,percent:Me,slider:Le,progress:Le,rating:Be,boolean:Ue,toggle:Ue,select:nt,status:nt,multiselect:$e,radio:ot,checkboxes:lt,tags:ft,date:St,datetime:Tt,time:Ot,email:jt,phone:Pt,url:Lt,lookup:Rn,master_detail:Rn,user:Kn,color:Yn,address:Qn,location:tr,geolocation:ir,code:sr,qrcode:ur},pr=new Set([`formula`,`summary`,`auto_number`,`file`,`image`,`avatar`,`signature`,`markdown`,`html`,`richtext`,`password`,`secret`,`object`,`grid`,`vector`,`object-ref`,`filter-condition`,`recipient-picker`]),mr=new Set([`boolean`,`toggle`,`select`,`status`,`radio`,`rating`]);function hr(e){return e in fr||pr.has(e)?e:he(e).replace(/^field:/,``)}function gr(e){return!e||(0,d.isRetiredFieldType)(e)?!1:hr(e)in fr}function _r(e){return e?(0,d.isRetiredFieldType)(e)?!0:pr.has(hr(e)):!1}var vr=new Set([`lookup`,`master_detail`,`user`]);function yr({field:e,value:t,onChange:n,readonly:r,autoFocus:i}){if(e?.type&&(0,d.isRetiredFieldType)(e.type))return(0,d.reportRetiredFieldType)(e.type),null;let a=e?.type?hr(e.type):void 0,o=a?fr[a]:void 0;if(!o)return null;let s=a&&vr.has(a)?{compact:!0}:{};return(0,g.jsx)(o,{field:e,value:t,onChange:n,readonly:r,autoFocus:i,...s})}var br=s({PasswordField:()=>xr});function xr({value:e,onChange:t,field:n,readonly:r,className:i,...a}){let[o,s]=(0,u.useState)(!1),c=n;if(r)return(0,g.jsx)(`span`,{className:`text-sm`,children:`••••••••`});let l=Z(a);return(0,g.jsxs)(`div`,{className:`relative`,children:[(0,g.jsx)(p.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,g.jsx)(p.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,g.jsx)(m.EyeOff,{className:`size-4 text-gray-500`}):(0,g.jsx)(m.Eye,{className:`size-4 text-gray-500`})})]})}var Sr=o((()=>{Q()})),Cr=s({RichTextField:()=>Er});function wr({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,domProps:m,editorAria:h}){return(0,g.jsxs)(`div`,{className:(0,p.cn)(`space-y-2`,l&&`flex flex-col h-full`),children:[(0,g.jsxs)(`div`,{className:`flex items-center justify-between text-xs text-gray-500`,children:[(0,g.jsx)(`span`,{children:n}),(0,g.jsx)(`span`,{className:`italic`,children:r})]}),(0,g.jsxs)(`div`,{className:(0,p.cn)(`relative`,l&&`flex-1 min-h-0`),children:[(0,g.jsx)(p.Textarea,{autoFocus:u,"data-testid":d,...m,value:e||``,onChange:e=>t(e.target.value),placeholder:i,disabled:o,rows:l?void 0:a,className:(0,p.cn)(`font-mono`,l?`text-base h-full min-h-full resize-none`:`text-sm`,c),"aria-invalid":!!s,...h}),f]})]})}function Tr(e){let t=e?.type,n=typeof t==`string`?t:``;return n.startsWith(`field:`)?n.slice(6):n}function Er({value:e,onChange:t,field:n,readonly:r,error:i,...a}){let{t:o}=(0,h.useObjectTranslation)(),s=Tr(n),c=q(s);if(r){let t=ce(s);return t?(0,g.jsx)(t,{value:e,field:n}):(0,g.jsx)(`div`,{className:`text-sm whitespace-pre-wrap break-words`,children:e||(0,g.jsx)(p.EmptyValue,{})})}let l=n,u=l?.rows||8,d=c??``,f=!!l?.mobile_fullscreen,m=Z(a),_=!!m.disabled,v=o(`fields.richText.format`,{format:d,defaultValue:`Format: ${d}`}),y=o(`fields.richText.basicEditorHint`,{defaultValue:`Rich text editor (basic)`}),b=l?.placeholder||o(`fields.richText.placeholder`,{defaultValue:`Enter text…`});return(0,g.jsx)(wr,{value:e,onChange:t,formatLabel:v,hint:y,placeholder:b,rows:u,disabled:r||_,error:i,className:m.className,domProps:m,overlay:f&&(0,g.jsx)(ye,{value:e??``,onCommit:t,label:l?.label,testIdPrefix:`richtext`,disabled:_,error:i,children:(e,t,n,r)=>(0,g.jsx)(wr,{value:e,onChange:t,formatLabel:v,hint:y,placeholder:b,disabled:n,autoFocus:!0,fullHeight:!0,textareaTestId:`richtext-fullscreen-input`,editorAria:r})})})}var Dr=o((()=>{be(),Q()}));qe();function Or(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 kr=[`platform`,`org`,`other`],Ar=new Set([`manage_users`,`manage_org_users`,`manage_metadata`,`manage_platform_settings`,`setup_access`,`setup_write`,`studio_access`]);function jr({value:e,onChange:t,readonly:n,className:r,...i}){let{t:a}=Ke(),o=u.default.useContext(h.SchemaRendererContext),s=i.dataSource??o?.dataSource??null,c=i.disabled,[l,d]=u.default.useState(null),f=u.default.useMemo(()=>Or(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 m=u.default.useCallback(e=>t(JSON.stringify(e)),[t]),_=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]),v=e=>{let t=e.replace(/\./g,`_`);return Ar.has(t)?a(`capability.label.${t}`):_.get(e)?.label||e},y=u.default.useMemo(()=>{let e=new Map;for(let t of _.values()){let n=kr.includes(t.scope)?t.scope:`other`,r=e.get(n)??[];r.push(t),e.set(n,r)}return kr.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 f.length===0?(0,g.jsx)(p.EmptyValue,{}):(0,g.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:f.map(e=>(0,g.jsx)(p.Badge,{variant:`outline`,title:_.get(e)?.description,children:v(e)},e))});let b=e=>{let t=f.includes(e)?f.filter(t=>t!==e):[...f,e];m(t)};return(0,g.jsxs)(`div`,{className:(0,p.cn)(`flex flex-col gap-3`,r),children:[l===null&&y.length===0&&(0,g.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:`Loading capabilities…`}),y.map(e=>(0,g.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,g.jsx)(`div`,{className:`text-xs font-medium uppercase tracking-wide text-muted-foreground`,children:e.label}),(0,g.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:e.items.map(e=>{let t=f.includes(e.name);return(0,g.jsx)(`button`,{type:`button`,onClick:()=>b(e.name),disabled:c,"aria-pressed":t,title:e.description||void 0,className:(0,p.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:v(e.name)},e.name)})})]},e.scope))]})}var Mr=s({ObjectRefField:()=>Nr,default:()=>Nr});function Nr({value:e,onChange:t,readonly:n,className:r,error:i,...a}){let o=u.default.useContext(h.SchemaRendererContext),{t:s}=Ke(),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 m=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,g.jsx)(p.EmptyValue,{});let t=m.find(t=>t.value===e)?.label??e;return(0,g.jsx)(`span`,{className:r,children:t})}let{name:_,...v}=Z(a);return(0,g.jsx)(p.Combobox,{...v,options:m,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,p.cn)(`w-full`,r),"aria-invalid":!!i})}var Pr=o((()=>{Q(),qe()})),Fr=s({FILTER_CONDITION_EXTRA_OPERATORS:()=>Jr,FilterConditionField:()=>Kr,condToMongo:()=>zr,default:()=>Kr,isMatchAllCriteria:()=>Wr,kvToCondition:()=>Hr});function Ir(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&&Yr.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_to||t.reference})}return r}function Lr(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 Rr(e){return Array.isArray(e)?e:typeof e==`string`?e.split(`,`).map(e=>e.trim()).filter(Boolean):e==null?[]:[e]}function zr(e,t){let{field:n,operator:r,value:i}=e||{};if(!n)return null;let a=t(n),o=Lr(i,a);switch(r){case`equals`:return{[n]:o};case`notEquals`:return{[n]:{$ne:o}};case`contains`:return{[n]:{$contains:i}};case`containsCaseInsensitive`:return{[n]:{$icontains:i}};case`notContains`:return{[n]:{$notContains:i}};case`startsWith`:return{[n]:{$startsWith:i}};case`endsWith`:return{[n]:{$endsWith:i}};case`isEmpty`:return{[n]:{$in:[null,``]}};case`isNotEmpty`:return{[n]:{$nin:[null,``]}};case`isNull`:return{[n]:{$null:!0}};case`isNotNull`:return{[n]:{$null:!1}};case`exists`:return{[n]:{$exists:!0}};case`notExists`:return{[n]:{$exists:!1}};case`greaterThan`:case`after`:return{[n]:{$gt:o}};case`lessThan`:case`before`:return{[n]:{$lt:o}};case`greaterOrEqual`:return{[n]:{$gte:o}};case`lessOrEqual`:return{[n]:{$lte:o}};case`between`:{let[e,t]=Array.isArray(i)?i:[void 0,void 0];return{[n]:{$gte:Lr(e,a),$lte:Lr(t,a)}}}case`in`:return{[n]:{$in:Rr(i).map(e=>Lr(e,a))}};case`notIn`:return{[n]:{$nin:Rr(i).map(e=>Lr(e,a))}};default:return{[n]:o}}}function Br(e,t){let n=(e?.conditions??[]).map(e=>zr(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 Vr(e,t){return Array.isArray(e)&&e.length===t.length&&e.every((e,n)=>e===t[n])}function Hr(e,t,n){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:`notEquals`,value:a};case`$contains`:return{id:r,field:e,operator:`contains`,value:a};case`$icontains`:return{id:r,field:e,operator:`containsCaseInsensitive`,value:a};case`$notContains`:case`$ncontains`:return{id:r,field:e,operator:`notContains`,value:a};case`$gt`:return{id:r,field:e,operator:`greaterThan`,value:a};case`$lt`:return{id:r,field:e,operator:`lessThan`,value:a};case`$gte`:return{id:r,field:e,operator:`greaterOrEqual`,value:a};case`$lte`:return{id:r,field:e,operator:`lessOrEqual`,value:a};case`$startsWith`:return{id:r,field:e,operator:`startsWith`,value:a};case`$endsWith`:return{id:r,field:e,operator:`endsWith`,value:a};case`$null`:return{id:r,field:e,operator:a===!1?`isNotNull`:`isNull`,value:``};case`$exists`:return{id:r,field:e,operator:a===!1?`notExists`:`exists`,value:``};case`$in`:return Vr(a,[null,``])?{id:r,field:e,operator:`isEmpty`,value:``}:{id:r,field:e,operator:`in`,value:a};case`$nin`:return Vr(a,[null,``])?{id:r,field:e,operator:`isNotEmpty`,value:``}:{id:r,field:e,operator:`notIn`,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]}:null}function Ur(e){if(e==null)return{...qr,conditions:[]};if(typeof e!=`object`||Array.isArray(e))return null;let t=Object.entries(e);if(t.length===0)return{...qr,conditions:[]};if(t.length===1&&(e.$or||e.$and)){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];if(i.startsWith(`$`))return null;let a=Hr(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){if(e.startsWith(`$`))return null;let t=Hr(e,i,r++);if(!t)return null;n.push(t)}return{id:`root`,logic:`and`,conditions:n}}function Wr(e){if(e==null)return!0;if(Array.isArray(e))return e.every(Wr);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(Wr))continue;return!1}if(e===`$or`){if(!Array.isArray(n)||n.length===0||n.some(Wr))continue;return!1}return!1}return!0}function Gr(e){if(e==null||e===``)return``;if(typeof e==`string`)return e;try{return JSON.stringify(e)}catch{return``}}function Kr({value:e,onChange:t,readonly:n,className:r,error:i,...a}){let o=u.default.useContext(h.SchemaRendererContext),{t:s}=Ke(),c=a.dataSource??o?.dataSource??null,l=a.dependentValues??{},d=String(l.object_name??``),[f,m]=u.default.useState(null);u.default.useEffect(()=>{if(m(null),!c||!d||typeof c.getObjectSchema!=`function`)return;let e=!1;return(async()=>{try{let t=await c.getObjectSchema(d);e||m(Ir(t))}catch{e||m([])}})(),()=>{e=!0}},[c,d]);let _=u.default.useMemo(()=>Gr(e),[e]),v=u.default.useMemo(()=>{if(!_.trim())return{mongo:{},ok:!0};try{return{mongo:JSON.parse(_),ok:!0}}catch{return{mongo:null,ok:!1}}},[_]),y=u.default.useMemo(()=>v.ok?Ur(v.mongo):null,[v]),b=u.default.useMemo(()=>v.ok&&Wr(v.mongo),[v]),x=v.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]);return d?n?_.trim()?(0,g.jsx)(`pre`,{className:(0,p.cn)(`overflow-x-auto rounded bg-muted/40 p-2 text-xs`,r),children:_}):(0,g.jsx)(`span`,{className:(0,p.cn)(`text-sm text-destructive`,r),children:s(`fields.filterCondition.noCriteria`)}):(0,g.jsxs)(`div`,{className:(0,p.cn)(`flex flex-col gap-2`,r),children:[S?(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(`textarea`,{...Z(a),className:`min-h-[96px] w-full rounded border bg-background px-2 py-1 font-mono text-xs`,value:_,placeholder:`{ "type": "customer", "is_active": true }`,onChange:e=>t(e.target.value),"aria-invalid":!!i||!v.ok}),!v.ok&&(0,g.jsx)(`span`,{className:`text-xs text-destructive`,children:s(`fields.filterCondition.invalidJson`)})]}):(0,g.jsx)(p.FilterBuilder,{fields:f??[],value:y??qr,onChange:e=>{let n=Br(e,w);t(n==null?``:JSON.stringify(n))},extraOperators:Jr}),b&&(0,g.jsx)(`span`,{className:`text-xs text-destructive`,children:s(`fields.filterCondition.criteriaRequired`)}),(0,g.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,g.jsx)(`p`,{className:(0,p.cn)(`text-sm text-muted-foreground`,r),children:s(`fields.filterCondition.selectObjectFirst`)})}var qr,Jr,Yr,Xr=o((()=>{Q(),qe(),qr={id:`root`,logic:`and`,conditions:[]},Jr=[`containsCaseInsensitive`,`exists`,`notExists`],Yr=new Set([`object`,`vector`,`file`,`image`,`avatar`,`signature`,`richtext`,`html`,`markdown`,`location`,`grid`,`json`,`code`])})),Zr=s({RecipientPickerField:()=>Qr,default:()=>Qr});function Qr({value:e,onChange:t,readonly:n,className:r,error:i,...a}){let o=u.default.useContext(h.SchemaRendererContext),{t:s}=Ke(),c=a.dataSource??o?.dataSource??null,l=a.disabled,d=a.dependentValues??{},f=String(d.recipient_type??``),m=$r[f],[_,v]=u.default.useState(null),y=u.default.useRef(``);u.default.useEffect(()=>{y.current&&f&&y.current!==f&&e&&t(``),y.current=f},[f]),u.default.useEffect(()=>{if(v(null),!c||!m||typeof c.find!=`function`)return;let e=!1;return(async()=>{try{let t=await c.find(m.object,{$top:500,$orderby:{name:`asc`}}),n=t?.data??t?.records??(Array.isArray(t)?t:[]);e||v(Array.isArray(n)?n:[])}catch{e||v([])}})(),()=>{e=!0}},[c,m?.object]);let b=e=>{for(let t of m?.labelFields??[`name`])if(e?.[t])return String(e[t]);return String(e?.id??``)},x=e=>String(e?.[m?.storeField??`id`]??``),S=u.default.useMemo(()=>{let t=(_??[]).map(e=>({value:x(e),label:b(e)})).filter(e=>e.value);return e&&!t.some(t=>t.value===e)&&t.unshift({value:e,label:e}),t},[_,e,m]);if(!f)return(0,g.jsx)(`p`,{className:(0,p.cn)(`text-sm text-muted-foreground`,r),children:s(`fields.recipient.selectTypeFirst`)});if(!m)return(0,g.jsx)(`input`,{...Z(a),className:(0,p.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});if(n)return e?(0,g.jsx)(`span`,{className:r,children:S.find(t=>t.value===e)?.label??e}):(0,g.jsx)(p.EmptyValue,{});let{name:C,...w}=Z(a);return(0,g.jsx)(p.Combobox,{...w,options:S,value:e??``,onValueChange:e=>t(e),placeholder:s(_===null?`fields.recipient.loading`:m.placeholderKey??`fields.recipient.select`),searchPlaceholder:s(`fields.recipient.search`),emptyText:s(_===null?`fields.recipient.loading`:`fields.recipient.empty`),disabled:l,className:(0,p.cn)(`w-full`,r),"aria-invalid":!!i})}var $r,ei=o((()=>{Q(),qe(),$r={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`}}}));function ti(e,t){let n=(0,u.useRef)(t);n.current=t,(0,u.useEffect)(()=>{n.current?.(e)},[e])}var ni=o((()=>{}));function ri(e,t,n){if(!n||t.size<=n)return null;let r=(n/ii).toFixed(1);return e(`fields.file.exceedsMaxSize`,{defaultValue:`"${t.name}" exceeds max size (${r} MB)`,name:t.name,max:r})}var ii,ai=o((()=>{ii=1048576})),oi=s({FileCell:()=>li,FileField:()=>ci});function si(e){let{files:t,multiple:n,maxSize:r,onChange:i}=e,{upload:a}=(0,S.useUpload)(),{t:o}=(0,f.useObjectTranslation)(),[s,c]=(0,u.useState)([]),[l,d]=(0,u.useState)({}),[p,m]=(0,u.useState)(!1),[h,g]=(0,u.useState)({});return{processFiles:(0,u.useCallback)(async e=>{if(e.length===0)return;let s=[],l=e.filter(e=>{let t=ri(o,e,r);return!t||(s.push(t),!1)});if(c(s),l.length!==0){m(!0);try{let e=(await Promise.all(l.map(async e=>{try{return{result:await a(e,{onProgress:t=>d(n=>({...n,[e.name]:t}))}),originalName:e.name}}catch(t){return s.push(o(`fields.file.uploadFailed`,{defaultValue:`Failed to upload "${e.name}": ${t.message}`,name:e.name,error:t.message})),c([...s]),null}}))).filter(Boolean);if(e.length===0)return;let r={};for(let{result:t,originalName:n}of e){let e=R(t,n);e.id&&(r[e.id]=e)}Object.keys(r).length>0&&g(e=>({...e,...r}));let u=e.map(({result:e,originalName:t})=>L(e,t));i(n?[...t,...u]:u[0])}finally{m(!1),d({})}}},[t,n,i,r,a,o]),errors:s,uploading:p,uploadProgress:l,recent:h}}function ci({value:e,onChange:t,field:n,readonly:r,onUploadingChange:i,error:a,...o}){let{t:s}=(0,f.useObjectTranslation)(),c=(0,u.useRef)(null),l=(0,u.useRef)(null),d=n,h=d?.multiple||!1,_=d?.accept?d.accept.join(`,`):void 0,v=d?.maxSize,y=d?.capture??null,b=!_||_.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:A}=si({files:T,multiple:h,maxSize:v,onChange:t}),j=te(I(e,s(`fields.file.fileFallback`,{defaultValue:`File`})),A);ti(O,i);let M=(0,u.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),w(!0)},[]),N=(0,u.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),w(!1)},[]),P=(0,u.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),w(!1);let t=Array.from(e.dataTransfer.files);if(_){let e=_.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)},[_,E]);if(r){let t=Pe(o,`instead-of-the-inputs`);return e?(0,g.jsx)(`div`,{...t,className:`flex flex-wrap gap-2`,children:j.map((e,t)=>(0,g.jsx)(`span`,{className:`text-sm truncate max-w-xs`,children:e.name},t))}):(0,g.jsx)(p.EmptyValue,{...t})}let F=e=>{E(Array.from(e.target.files||[]))},L=e=>{if(h){let n=T.filter((t,n)=>n!==e);t(n.length>0?n:null)}else t(null)},{name:R,...z}=Z(o);return(0,g.jsxs)(`div`,{className:o.className,children:[(0,g.jsx)(`input`,{ref:c,type:`file`,multiple:h,accept:_,onChange:F,className:`hidden`}),S&&(0,g.jsx)(`input`,{ref:l,type:`file`,accept:`image/*`,capture:S,onChange:F,className:`hidden`,"aria-label":s(`fields.file.cameraCapture`,{defaultValue:`Camera capture`}),"data-testid":`file-field-camera-input`}),(0,g.jsxs)(`div`,{className:`space-y-2`,children:[(0,g.jsxs)(`div`,{...z,onDragOver:M,onDragLeave:N,onDrop:P,onClick:()=>c.current?.click(),className:`
2
2
  flex flex-col items-center justify-center gap-2 p-6
3
3
  border-2 border-dashed rounded-lg cursor-pointer
4
4
  transition-colors duration-200
5
5
  ${C?`border-primary bg-primary/5 text-primary`:`border-muted-foreground/25 hover:border-primary/50 text-muted-foreground hover:text-foreground`}
6
- `,role:`button`,tabIndex:0,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),c.current?.click())},"aria-invalid":!!a,children:[(0,g.jsx)(m.Upload,{className:`size-8 ${C?`text-primary`:`text-muted-foreground`}`}),(0,g.jsxs)(`div`,{className:`text-center`,children:[(0,g.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,g.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,g.jsxs)(p.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,g.jsx)(m.Camera,{className:`size-4 mr-2`}),S===`user`?s(`fields.file.takeSelfie`,{defaultValue:`Take selfie`}):s(`fields.file.takePhoto`,{defaultValue:`Take photo`})]}),O&&(0,g.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-muted-foreground`,"data-testid":`file-field-uploading`,children:[(0,g.jsx)(m.Loader2,{className:`size-3 animate-spin`}),(0,g.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,g.jsx)(`div`,{className:`space-y-0.5`,children:D.map((e,t)=>(0,g.jsx)(`p`,{className:`text-xs text-destructive`,children:e},t))}),j.length>0&&(0,g.jsx)(`div`,{className:`space-y-1`,children:j.map((e,t)=>(0,g.jsxs)(`div`,{className:`flex items-center justify-between gap-2 p-2 bg-muted/50 rounded-md border`,children:[(0,g.jsxs)(`div`,{className:`flex items-center gap-2 flex-1 min-w-0`,children:[F(e)&&e.url?(0,g.jsx)(`img`,{src:e.url,alt:e.name,className:`size-8 object-cover rounded shrink-0`}):F(e)?(0,g.jsx)(m.ImageIcon,{className:`size-4 text-muted-foreground shrink-0`}):(0,g.jsx)(m.File,{className:`size-4 text-muted-foreground shrink-0`}),(0,g.jsx)(`span`,{className:`text-sm truncate`,children:e.name}),e.size&&(0,g.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[`(`,(e.size/1024).toFixed(1),` KB)`]})]}),(0,g.jsx)(p.Button,{type:`button`,variant:`ghost`,size:`sm`,onClick:e=>{e.stopPropagation(),R(t)},className:`h-6 w-6 p-0`,children:(0,g.jsx)(m.X,{className:`size-3`})})]},t))})]})]})}function Yr({value:e,onChange:t,disabled:n,multiple:r,accept:i,maxSize:a,"aria-label":o,"data-cell":s}){let{t:c}=(0,f.useObjectTranslation)(),l=(0,u.useRef)(null),d=e?Array.isArray(e)?e:[e]:[],{processFiles:h,errors:_,uploading:v,recent:y}=qr({files:d,multiple:!!r,maxSize:a,onChange:t}),b=L(P(e,c(`fields.file.fileFallback`,{defaultValue:`File`})),y),x=e=>{if(r){let n=d.filter((t,n)=>n!==e);t(n.length>0?n:null)}else t(null)},S=!n&&!v&&(r||d.length===0);return(0,g.jsxs)(`div`,{className:`flex min-h-8 flex-wrap items-center gap-1 px-1 py-0.5`,children:[(0,g.jsx)(`input`,{ref:l,type:`file`,multiple:r,accept:i,onChange:e=>{h(Array.from(e.target.files||[])),e.target.value=``},className:`hidden`}),b.map((e,t)=>(0,g.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:[F(e)&&e.url?(0,g.jsx)(`img`,{src:e.url,alt:e.name,className:`size-5 shrink-0 rounded object-cover`}):(0,g.jsx)(m.File,{className:`size-3 shrink-0 text-muted-foreground`}),(0,g.jsx)(`span`,{className:`truncate`,children:e.name}),!n&&(0,g.jsx)(`button`,{type:`button`,className:`shrink-0 rounded p-0.5 text-muted-foreground hover:text-foreground`,"aria-label":c(`fields.file.remove`,{defaultValue:`Remove ${e.name}`,name:e.name}),onClick:()=>x(t),children:(0,g.jsx)(m.X,{className:`size-3`})})]},t)),v&&(0,g.jsx)(`span`,{className:`inline-flex items-center gap-1 text-xs text-muted-foreground`,"data-testid":`file-cell-uploading`,children:(0,g.jsx)(m.Loader2,{className:`size-3.5 animate-spin`})}),S&&(0,g.jsxs)(p.Button,{type:`button`,variant:`ghost`,size:`sm`,className:`h-7 gap-1 px-2 text-xs text-muted-foreground hover:text-foreground`,onClick:()=>l.current?.click(),"aria-label":o,"data-cell":s,disabled:n,children:[(0,g.jsx)(m.Upload,{className:`size-3.5`}),d.length===0&&c(`fields.file.upload`,{defaultValue:`Upload`})]}),_.length>0&&(0,g.jsx)(`span`,{className:`w-full truncate text-[11px] text-destructive`,title:_.join(`; `),children:_[0]})]})}var Xr=o((()=>{J(),Ne(),Hr(),Gr()})),Zr=s({ImageCropperDialog:()=>Qr}),Qr,$r=o((()=>{Qr=({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}),[h,_]=(0,u.useState)(null),[v,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(!v||!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)},[v,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;_({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(!h||!s.current||!o.current)return;let t=o.current.getBoundingClientRect(),n=s.current.naturalWidth/t.width,r=(e.clientX-t.left)*n-h.ox,i=(e.clientY-t.top)*n-h.oy,a=Math.max(0,Math.min(h.cx+r,s.current.naturalWidth-d.width)),c=Math.max(0,Math.min(h.cy+i,s.current.naturalHeight-d.height));f(e=>({...e,x:a,y:c}))},[h,d.width,d.height]),S=(0,u.useCallback)(()=>_(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,g.jsx)(p.Dialog,{open:e,onOpenChange:t,children:(0,g.jsxs)(p.DialogContent,{className:`max-w-xl`,children:[(0,g.jsxs)(p.DialogHeader,{children:[(0,g.jsx)(p.DialogTitle,{children:`Crop & rotate image`}),(0,g.jsx)(p.DialogDescription,{children:`Drag the highlighted box to reposition the crop. Use the rotate button to spin the image in 90° increments.`})]}),(0,g.jsxs)(`div`,{className:`flex flex-col items-center gap-3`,children:[v?(0,g.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,g.jsx)(`div`,{className:`flex h-[270px] w-full items-center justify-center text-sm text-muted-foreground`,children:`Loading image…`}),(0,g.jsxs)(`div`,{className:`flex w-full items-center justify-between text-xs text-muted-foreground`,children:[(0,g.jsxs)(`span`,{children:[`Crop: `,Math.round(d.width),` × `,Math.round(d.height),` px`]}),(0,g.jsxs)(`span`,{children:[`Rotation: `,c,`°`]})]})]}),(0,g.jsxs)(p.DialogFooter,{className:`flex justify-between sm:justify-between`,children:[(0,g.jsxs)(p.Button,{type:`button`,variant:`outline`,onClick:C,"data-testid":`image-cropper-rotate`,children:[(0,g.jsx)(m.RotateCw,{className:`size-4 mr-2`}),`Rotate 90°`]}),(0,g.jsxs)(`div`,{className:`flex gap-2`,children:[(0,g.jsx)(p.Button,{type:`button`,variant:`ghost`,onClick:()=>t(!1),children:`Cancel`}),(0,g.jsxs)(p.Button,{type:`button`,onClick:w,disabled:!v,"data-testid":`image-cropper-confirm`,children:[(0,g.jsx)(m.Crop,{className:`size-4 mr-2`}),`Apply crop`]})]})]})]})})}})),ei=s({ImageField:()=>ti});function ti({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/*`,h=c?.maxSize,_=c?.crop!==!1,[v,b]=(0,u.useState)(null),[x,S]=(0,u.useState)(null),{upload:C}=(0,y.useUpload)(),{t:w}=(0,f.useObjectTranslation)(),[T,E]=(0,u.useState)(!1),[D,k]=(0,u.useState)([]),[A,j]=(0,u.useState)({});Vr(T,i);let M=e?Array.isArray(e)?e:[e]:[],N=L(P(e,`Image`),A),F=(0,u.useCallback)((e,t)=>{let n=I(e,t);n.id&&j(e=>({...e,[n.id]:n}))},[]),R=(0,u.useCallback)(async(e,n)=>{if(!v)return;let r=Ur(w,{name:n,size:e.size},h);if(r){k([r]),b(null);return}k([]),E(!0);try{let r=await C(e);F(r,n);let i=ee(r,n);if(l){let e=[...M];e[v.index]=i,t(e)}else t(i)}finally{E(!1),b(null)}},[v,M,l,t,C,F,h,w]),z=(0,u.useCallback)(e=>{let t=N[e];t?.url&&b({index:e,src:t.url,name:t.name||`image-${e}.png`})},[N]),B=N.filter(e=>e.url).map(e=>({url:e.url,name:e.name}));if(r)return!e||B.length===0?(0,g.jsx)(p.EmptyValue,{}):(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:B.map((e,t)=>(0,g.jsxs)(`button`,{type:`button`,onClick:()=>S(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,g.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,g.jsx)(`span`,{className:`pointer-events-none absolute inset-0 bg-black/0 transition-colors group-hover:bg-black/10`})]},t))}),x!==null&&(0,g.jsx)(O,{images:B,index:x,open:!0,onOpenChange:e=>!e&&S(null),onIndexChange:S})]});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=Ur(w,e,h);return!t||(r.push(t),!1)});if(k(r),i.length!==0){E(!0);try{let e=await Promise.all(i.map(async e=>{let t=await C(e);return F(t,e.name),ee(t,e.name)}));t(l?[...M,...e]:e[0])}finally{E(!1)}}},ne=e=>{if(l){let n=M.filter((t,n)=>n!==e);t(n.length>0?n:null)}else t(null)};return(0,g.jsxs)(`div`,{className:o.className,children:[(0,g.jsx)(`input`,{ref:s,type:`file`,multiple:l,accept:d,onChange:te,className:`hidden`}),(0,g.jsxs)(`div`,{className:`space-y-2`,children:[N.length>0&&(0,g.jsx)(`div`,{className:`grid grid-cols-4 gap-2`,children:N.map((e,t)=>(0,g.jsxs)(`div`,{className:`relative group`,children:[(0,g.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,g.jsxs)(`div`,{className:`absolute top-1 right-1 flex gap-1 opacity-0 group-hover:opacity-100 transition-opacity`,children:[_&&(0,g.jsx)(p.Button,{type:`button`,variant:`secondary`,size:`sm`,onClick:()=>z(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,g.jsx)(m.Crop,{className:`size-3`})}),(0,g.jsx)(p.Button,{type:`button`,variant:`destructive`,size:`sm`,onClick:()=>ne(t),className:`h-6 w-6 p-0`,"aria-label":w(`fields.image.remove`,{index:t+1}),children:(0,g.jsx)(m.X,{className:`size-3`})})]})]},t))}),(0,g.jsxs)(p.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,g.jsx)(m.Loader2,{className:`size-4 mr-2 animate-spin`}):(0,g.jsx)(m.Image,{className:`size-4 mr-2`}),T?w(`fields.image.uploading`):M.length>0?w(`fields.image.addMore`):w(`fields.image.upload`)]}),D.length>0&&(0,g.jsx)(`div`,{className:`space-y-0.5`,children:D.map((e,t)=>(0,g.jsx)(`p`,{className:`text-xs text-destructive`,children:e},t))})]}),_&&v&&(0,g.jsx)(u.Suspense,{fallback:null,children:(0,g.jsx)(ni,{open:!0,onOpenChange:e=>!e&&b(null),src:v.src,outputName:v.name,onConfirm:R})})]})}var ni,ri=o((()=>{J(),Hr(),Gr(),z(),ni=(0,u.lazy)(()=>Promise.resolve().then(()=>($r(),Zr)).then(e=>({default:e.ImageCropperDialog})))})),ii=s({FormulaField:()=>ai});function ai({value:e,field:t,...n}){let r=(0,f.useDisplayLocale)(),i=t?.return_type||`text`;if(e==null)return(0,g.jsx)(p.EmptyValue,{className:n.className});let a;return a=i===`number`||i===`currency`?typeof e==`number`?e.toFixed(2):String(e):i===`boolean`?e?`Yes`:`No`:i===`date`?new Date(e).toLocaleDateString(r):String(e),(0,g.jsx)(`span`,{className:`text-sm font-mono text-gray-700 ${n.className||``}`,children:a})}var oi=o((()=>{})),si=s({SummaryField:()=>ci});function ci({value:e,field:t,...n}){let r=t?.summary_type||`count`;if(e==null)return(0,g.jsx)(p.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,g.jsx)(`span`,{className:`text-sm font-medium tabular-nums text-gray-700 ${n.className||``}`,children:i})}var li=o((()=>{})),ui=s({AutoNumberField:()=>di});function di({value:e,field:t,...n}){return e==null?(0,g.jsx)(p.EmptyValue,{className:n.className}):(0,g.jsx)(`span`,{className:`text-sm font-mono text-gray-700 ${n.className||``}`,children:String(e)})}var fi=o((()=>{})),pi=s({ObjectField:()=>mi});function mi({value:e,onChange:t,field:n,readonly:r,error:i,...a}){let o=n,[s,c]=(0,u.useState)(()=>e==null?``:JSON.stringify(e,null,2)),[l,d]=(0,u.useState)(null);if((0,u.useEffect)(()=>{try{if(e==null){c(``);return}let t=s?JSON.parse(s):null;JSON.stringify(t)!==JSON.stringify(e)&&c(JSON.stringify(e,null,2))}catch{c(JSON.stringify(e,null,2))}},[e,s]),r)return e?(0,g.jsx)(`pre`,{className:(0,p.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)}):(0,g.jsx)(p.EmptyValue,{});let f=e=>{let n=e.target.value;if(c(n),d(null),!n.trim()){t(null);return}try{t(JSON.parse(n))}catch{d(`Invalid JSON`)}};return(0,g.jsxs)(`div`,{className:`space-y-1`,children:[(0,g.jsx)(p.Textarea,{...q(a),value:s,onChange:f,placeholder:o?.placeholder||`{
6
+ `,role:`button`,tabIndex:0,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),c.current?.click())},"aria-invalid":!!a,children:[(0,g.jsx)(m.Upload,{className:`size-8 ${C?`text-primary`:`text-muted-foreground`}`}),(0,g.jsxs)(`div`,{className:`text-center`,children:[(0,g.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,g.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,g.jsxs)(p.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,g.jsx)(m.Camera,{className:`size-4 mr-2`}),S===`user`?s(`fields.file.takeSelfie`,{defaultValue:`Take selfie`}):s(`fields.file.takePhoto`,{defaultValue:`Take photo`})]}),O&&(0,g.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-muted-foreground`,"data-testid":`file-field-uploading`,children:[(0,g.jsx)(m.Loader2,{className:`size-3 animate-spin`}),(0,g.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,g.jsx)(`div`,{className:`space-y-0.5`,children:D.map((e,t)=>(0,g.jsx)(`p`,{className:`text-xs text-destructive`,children:e},t))}),j.length>0&&(0,g.jsx)(`div`,{className:`space-y-1`,children:j.map((e,t)=>(0,g.jsxs)(`div`,{className:`flex items-center justify-between gap-2 p-2 bg-muted/50 rounded-md border`,children:[(0,g.jsxs)(`div`,{className:`flex items-center gap-2 flex-1 min-w-0`,children:[ee(e)&&e.url?(0,g.jsx)(`img`,{src:e.url,alt:e.name,className:`size-8 object-cover rounded shrink-0`}):ee(e)?(0,g.jsx)(m.ImageIcon,{className:`size-4 text-muted-foreground shrink-0`}):(0,g.jsx)(m.File,{className:`size-4 text-muted-foreground shrink-0`}),(0,g.jsx)(`span`,{className:`text-sm truncate`,children:e.name}),e.size&&(0,g.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[`(`,(e.size/1024).toFixed(1),` KB)`]})]}),(0,g.jsx)(p.Button,{type:`button`,variant:`ghost`,size:`sm`,onClick:e=>{e.stopPropagation(),L(t)},className:`h-6 w-6 p-0`,children:(0,g.jsx)(m.X,{className:`size-3`})})]},t))})]})]})}function li({value:e,onChange:t,disabled:n,multiple:r,accept:i,maxSize:a,error:o,"aria-label":s,"data-cell":c}){let{t:l}=(0,f.useObjectTranslation)(),d=(0,u.useRef)(null),h=e?Array.isArray(e)?e:[e]:[],{processFiles:_,errors:v,uploading:y,recent:b}=si({files:h,multiple:!!r,maxSize:a,onChange:t}),x=te(I(e,l(`fields.file.fileFallback`,{defaultValue:`File`})),b),S=e=>{if(r){let n=h.filter((t,n)=>n!==e);t(n.length>0?n:null)}else t(null)},C=!n&&!y&&(r||h.length===0);return(0,g.jsxs)(`div`,{className:`flex min-h-8 flex-wrap items-center gap-1 px-1 py-0.5`,children:[(0,g.jsx)(`input`,{ref:d,type:`file`,multiple:r,accept:i,onChange:e=>{_(Array.from(e.target.files||[])),e.target.value=``},className:`hidden`}),x.map((e,t)=>(0,g.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:[ee(e)&&e.url?(0,g.jsx)(`img`,{src:e.url,alt:e.name,className:`size-5 shrink-0 rounded object-cover`}):(0,g.jsx)(m.File,{className:`size-3 shrink-0 text-muted-foreground`}),(0,g.jsx)(`span`,{className:`truncate`,children:e.name}),!n&&(0,g.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,g.jsx)(m.X,{className:`size-3`})})]},t)),y&&(0,g.jsx)(`span`,{className:`inline-flex items-center gap-1 text-xs text-muted-foreground`,"data-testid":`file-cell-uploading`,children:(0,g.jsx)(m.Loader2,{className:`size-3.5 animate-spin`})}),C&&(0,g.jsxs)(p.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,g.jsx)(m.Upload,{className:`size-3.5`}),h.length===0&&l(`fields.file.upload`,{defaultValue:`Upload`})]}),v.length>0&&(0,g.jsx)(`span`,{className:`w-full truncate text-[11px] text-destructive`,title:v.join(`; `),children:v[0]})]})}var ui=o((()=>{Q(),Fe(),ni(),ai()})),di=s({ImageCropperDialog:()=>fi}),fi,pi=o((()=>{fi=({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}),[h,_]=(0,u.useState)(null),[v,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(!v||!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)},[v,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;_({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(!h||!s.current||!o.current)return;let t=o.current.getBoundingClientRect(),n=s.current.naturalWidth/t.width,r=(e.clientX-t.left)*n-h.ox,i=(e.clientY-t.top)*n-h.oy,a=Math.max(0,Math.min(h.cx+r,s.current.naturalWidth-d.width)),c=Math.max(0,Math.min(h.cy+i,s.current.naturalHeight-d.height));f(e=>({...e,x:a,y:c}))},[h,d.width,d.height]),S=(0,u.useCallback)(()=>_(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,g.jsx)(p.Dialog,{open:e,onOpenChange:t,children:(0,g.jsxs)(p.DialogContent,{className:`max-w-xl`,children:[(0,g.jsxs)(p.DialogHeader,{children:[(0,g.jsx)(p.DialogTitle,{children:`Crop & rotate image`}),(0,g.jsx)(p.DialogDescription,{children:`Drag the highlighted box to reposition the crop. Use the rotate button to spin the image in 90° increments.`})]}),(0,g.jsxs)(`div`,{className:`flex flex-col items-center gap-3`,children:[v?(0,g.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,g.jsx)(`div`,{className:`flex h-[270px] w-full items-center justify-center text-sm text-muted-foreground`,children:`Loading image…`}),(0,g.jsxs)(`div`,{className:`flex w-full items-center justify-between text-xs text-muted-foreground`,children:[(0,g.jsxs)(`span`,{children:[`Crop: `,Math.round(d.width),` × `,Math.round(d.height),` px`]}),(0,g.jsxs)(`span`,{children:[`Rotation: `,c,`°`]})]})]}),(0,g.jsxs)(p.DialogFooter,{className:`flex justify-between sm:justify-between`,children:[(0,g.jsxs)(p.Button,{type:`button`,variant:`outline`,onClick:C,"data-testid":`image-cropper-rotate`,children:[(0,g.jsx)(m.RotateCw,{className:`size-4 mr-2`}),`Rotate 90°`]}),(0,g.jsxs)(`div`,{className:`flex gap-2`,children:[(0,g.jsx)(p.Button,{type:`button`,variant:`ghost`,onClick:()=>t(!1),children:`Cancel`}),(0,g.jsxs)(p.Button,{type:`button`,onClick:w,disabled:!v,"data-testid":`image-cropper-confirm`,children:[(0,g.jsx)(m.Crop,{className:`size-4 mr-2`}),`Apply crop`]})]})]})]})})}})),mi=s({ImageField:()=>hi});function hi({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/*`,h=c?.maxSize,_=c?.crop!==!1,[v,y]=(0,u.useState)(null),[b,x]=(0,u.useState)(null),{upload:C}=(0,S.useUpload)(),{t:w}=(0,f.useObjectTranslation)(),[T,E]=(0,u.useState)(!1),[D,O]=(0,u.useState)([]),[k,j]=(0,u.useState)({});ti(T,i);let M=e?Array.isArray(e)?e:[e]:[],N=te(I(e,`Image`),k),P=(0,u.useCallback)((e,t)=>{let n=R(e,t);n.id&&j(e=>({...e,[n.id]:n}))},[]),F=(0,u.useCallback)(async(e,n)=>{if(!v)return;let r=ri(w,{name:n,size:e.size},h);if(r){O([r]),y(null);return}O([]),E(!0);try{let r=await C(e);P(r,n);let i=L(r,n);if(l){let e=[...M];e[v.index]=i,t(e)}else t(i)}finally{E(!1),y(null)}},[v,M,l,t,C,P,h,w]),ee=(0,u.useCallback)(e=>{let t=N[e];t?.url&&y({index:e,src:t.url,name:t.name||`image-${e}.png`})},[N]),z=N.filter(e=>e.url).map(e=>({url:e.url,name:e.name}));if(r)return!e||z.length===0?(0,g.jsx)(p.EmptyValue,{}):(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:z.map((e,t)=>(0,g.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,g.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,g.jsx)(`span`,{className:`pointer-events-none absolute inset-0 bg-black/0 transition-colors group-hover:bg-black/10`})]},t))}),b!==null&&(0,g.jsx)(A,{images:z,index:b,open:!0,onOpenChange:e=>!e&&x(null),onIndexChange:x})]});let B=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=ri(w,e,h);return!t||(r.push(t),!1)});if(O(r),i.length!==0){E(!0);try{let e=await Promise.all(i.map(async e=>{let t=await C(e);return P(t,e.name),L(t,e.name)}));t(l?[...M,...e]:e[0])}finally{E(!1)}}},ne=e=>{if(l){let n=M.filter((t,n)=>n!==e);t(n.length>0?n:null)}else t(null)};return(0,g.jsxs)(`div`,{className:o.className,children:[(0,g.jsx)(`input`,{ref:s,type:`file`,multiple:l,accept:d,onChange:B,className:`hidden`}),(0,g.jsxs)(`div`,{className:`space-y-2`,children:[N.length>0&&(0,g.jsx)(`div`,{className:`grid grid-cols-4 gap-2`,children:N.map((e,t)=>(0,g.jsxs)(`div`,{className:`relative group`,children:[(0,g.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,g.jsxs)(`div`,{className:`absolute top-1 right-1 flex gap-1 opacity-0 group-hover:opacity-100 transition-opacity`,children:[_&&(0,g.jsx)(p.Button,{type:`button`,variant:`secondary`,size:`sm`,onClick:()=>ee(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,g.jsx)(m.Crop,{className:`size-3`})}),(0,g.jsx)(p.Button,{type:`button`,variant:`destructive`,size:`sm`,onClick:()=>ne(t),className:`h-6 w-6 p-0`,"aria-label":w(`fields.image.remove`,{index:t+1}),children:(0,g.jsx)(m.X,{className:`size-3`})})]})]},t))}),(0,g.jsxs)(p.Button,{...Z(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,g.jsx)(m.Loader2,{className:`size-4 mr-2 animate-spin`}):(0,g.jsx)(m.Image,{className:`size-4 mr-2`}),T?w(`fields.image.uploading`):M.length>0?w(`fields.image.addMore`):w(`fields.image.upload`)]}),D.length>0&&(0,g.jsx)(`div`,{className:`space-y-0.5`,children:D.map((e,t)=>(0,g.jsx)(`p`,{className:`text-xs text-destructive`,children:e},t))})]}),_&&v&&(0,g.jsx)(u.Suspense,{fallback:null,children:(0,g.jsx)(gi,{open:!0,onOpenChange:e=>!e&&y(null),src:v.src,outputName:v.name,onConfirm:F})})]})}var gi,_i=o((()=>{Q(),ni(),ai(),B(),gi=(0,u.lazy)(()=>Promise.resolve().then(()=>(pi(),di)).then(e=>({default:e.ImageCropperDialog})))})),vi=s({FormulaField:()=>yi});function yi({value:e,field:t,...n}){let r=(0,f.useDisplayLocale)(),i=t?.return_type||`text`;if(e==null)return(0,g.jsx)(p.EmptyValue,{className:n.className});let a;return a=i===`number`||i===`currency`?typeof e==`number`?e.toFixed(2):String(e):i===`boolean`?e?`Yes`:`No`:i===`date`?new Date(e).toLocaleDateString(r):String(e),(0,g.jsx)(`span`,{className:`text-sm font-mono text-gray-700 ${n.className||``}`,children:a})}var bi=o((()=>{})),xi=s({SummaryField:()=>Si});function Si({value:e,field:t,...n}){let r=t?.summary_type||`count`;if(e==null)return(0,g.jsx)(p.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,g.jsx)(`span`,{className:`text-sm font-medium tabular-nums text-gray-700 ${n.className||``}`,children:i})}var Ci=o((()=>{})),wi=s({AutoNumberField:()=>Ti});function Ti({value:e,field:t,...n}){return e==null?(0,g.jsx)(p.EmptyValue,{className:n.className}):(0,g.jsx)(`span`,{className:`text-sm font-mono text-gray-700 ${n.className||``}`,children:String(e)})}var Ei=o((()=>{})),Di=s({ObjectField:()=>Oi});function Oi({value:e,onChange:t,field:n,readonly:r,error:i,...a}){let o=n,[s,c]=(0,u.useState)(()=>e==null?``:JSON.stringify(e,null,2)),[l,d]=(0,u.useState)(null);if((0,u.useEffect)(()=>{try{if(e==null){c(``);return}let t=s?JSON.parse(s):null;JSON.stringify(t)!==JSON.stringify(e)&&c(JSON.stringify(e,null,2))}catch{c(JSON.stringify(e,null,2))}},[e,s]),r)return e?(0,g.jsx)(`pre`,{className:(0,p.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)}):(0,g.jsx)(p.EmptyValue,{});let f=e=>{let n=e.target.value;if(c(n),d(null),!n.trim()){t(null);return}try{t(JSON.parse(n))}catch{d(`Invalid JSON`)}};return(0,g.jsxs)(`div`,{className:`space-y-1`,children:[(0,g.jsx)(p.Textarea,{...Z(a),value:s,onChange:f,placeholder:o?.placeholder||`{
7
7
  "key": "value"
8
- }`,disabled:r||a.disabled,className:(0,p.cn)(`font-mono text-xs`,l?`border-red-500 focus-visible:ring-red-500`:``,a.className),rows:6,"aria-invalid":!!i||!!l}),l&&(0,g.jsx)(`p`,{className:`text-xs text-red-500`,children:l})]})}var hi=o((()=>{J()})),gi=s({VectorField:()=>_i});function _i({value:e,field:t,...n}){let r=t?.dimensions||(Array.isArray(e)?e.length:0);if(!e||!Array.isArray(e))return(0,g.jsx)(p.EmptyValue,{});let i=e.slice(0,3).map(e=>{let t=Number(e);return isNaN(t)?`0`:t.toFixed(4)}).join(`, `);return(0,g.jsxs)(`div`,{className:`text-sm ${n.className||``}`,children:[(0,g.jsxs)(`span`,{className:`font-mono text-gray-700`,children:[`[`,i,`...]`]}),(0,g.jsxs)(`span`,{className:`text-gray-500 ml-2`,children:[`(`,r,`D)`]})]})}var vi=o((()=>{})),yi=s({GridField:()=>Ai,LineItemsField:()=>Fi,computeRow:()=>Ti,evalArith:()=>Ci,lookupAutofillPatch:()=>wi,sumColumn:()=>ki});function bi(e){if(e.width)return{width:e.width,minWidth:e.width};if((e.type??`text`)===`text`)return{minWidth:180};let t=Mi[e.type??`text`]??132;return{width:t,minWidth:t}}function xi(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 Si(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 Ci(e,t){let n=xi(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=Si(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 wi(e,t,n){let r={[t.field]:n?.value??n?.id??n?._id};if(t.autofill!==!1&&n&&typeof n==`object`)for(let i of e){if(i.field===t.field||i.computed||i.type===`lookup`)continue;let e=n[i.field];e!=null&&e!==``&&(r[i.field]=e)}return r}function Ti(e,t){let n=e.filter(e=>e.computed&&e.expr);if(n.length===0)return t;let r={...t};for(let e of n){let t=Ci(e.expr,r);if(t===null){r[e.field]=null;continue}let n=e.scale??(e.type===`currency`?2:void 0);r[e.field]=n==null?t:Number(t.toFixed(n))}return r}function Ei(e,t,n){let r=String(t);if(e===`time`)return r;if(e===`date`){let e=lt(t);if(!e)return r;let[i,a,o]=e.split(`-`).map(Number);return new Date(i,a-1,o).toLocaleDateString(n)}let i=t instanceof Date?t:new Date(r);return Number.isNaN(i.getTime())?r:`${i.toLocaleDateString(n)} ${i.toLocaleTimeString(n)}`}function Di(e,t,n){if(t==null||t===``)return`—`;if(Pi(e.type))return Ei(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(ji(e.type)){let n=Number(t);if(Number.isFinite(n))return e.type===`currency`?`${e.prefix||`¥`}${n.toLocaleString()}`:n.toLocaleString()}return Array.isArray(t)?t.join(`, `):String(t)}function Oi(e,t){if(ji(e)){if(t===``||t==null)return null;let e=Number(t);return Number.isNaN(e)?t:e}return e===`datetime`?dt(t):t}function ki(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 Ai({value:e,onChange:t,field:n,readonly:r,disabled:i,className:a,onRowExpand:o,displayMode:s,onAdd:c,...l}){let h=n||{},_=h.columns||[],v=Array.isArray(e)?e:[],y=l.contextRecord,b=(0,f.useDisplayLocale)(),x=(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,y?{parent:y}:void 0);return{readonly:n.readonly,required:n.required}},[y]),S=s===`list`&&!r,[C,w]=u.default.useState(()=>new Set),T=_.filter(e=>e.defaultHidden&&!e.required),E=_.filter(e=>!e.defaultHidden||e.required||C.has(e.field)),D=(0,u.useCallback)(e=>{w(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),O=h.allow_add!==!1&&!r&&!i,k=h.allow_delete!==!1&&!r&&!i,A=h.allow_duplicate!==!1&&O,j=typeof o==`function`&&!r,M=h.show_line_numbers!==!1,N=h.min_rows??0,P=h.max_rows,F=h.total_field||h.amount_field||h.amountField,ee=h.sort_field,I=h.reorderable!==!1&&!r&&!i,L=(0,u.useCallback)(e=>{t?.(ee?e.map((e,t)=>({...e,[ee]:t})):e)},[t,ee]),R=(0,u.useCallback)(()=>{let e={};for(let t of E)e[t.field]=null;return e},[E]),z=(0,u.useCallback)((e,t)=>{if(e>=v.length){if(P!=null&&v.length>=P)return;L([...v,Ti(E,{...R(),...t})]);return}L(v.map((n,r)=>r===e?Ti(E,{...n,...t}):n))},[v,E,P,R,L]),B=(0,u.useCallback)((e,t,n)=>z(e,{[t]:n}),[z]),te=(0,u.useCallback)((e,t,n)=>{z(e,wi(E,t,n))},[E,z]),ne=(0,u.useCallback)((e,t,n)=>B(e,t,n),[B]),re=(0,u.useCallback)((e,t,n)=>{B(e,t.field,Oi(t.type,n))},[B]),V=(0,u.useCallback)(()=>{P!=null&&v.length>=P||L([...v,R()])},[v,R,P,L]),ie=(0,u.useRef)(null),H=(0,u.useCallback)((e,t)=>{let n=ie.current?.querySelector(`[data-cell="${e}-${t}"]`);n&&(n.focus(),n instanceof HTMLInputElement&&n.select())},[]),ae=(0,u.useCallback)((e,t,n)=>{e.key===`ArrowDown`||e.key===`Enter`?(e.preventDefault(),H(t+1,n)):e.key===`ArrowUp`&&(e.preventDefault(),t>0&&H(t-1,n))},[H]),U=(0,u.useCallback)(e=>{v.length<=N||L(v.filter((t,n)=>n!==e))},[v,N,L]),W=(0,u.useCallback)(e=>{if(P!=null&&v.length>=P)return;let t=v[e];if(!t)return;let{id:n,_id:r,recordId:i,...a}=t,o=[...v];o.splice(e+1,0,{...a}),L(o)},[v,P,L]),G=(0,u.useCallback)((e,t)=>{if(e===t||e<0||t<0||e>=v.length||t>=v.length)return;let n=[...v],[r]=n.splice(e,1);n.splice(t,0,r),L(n)},[v,L]),K=(0,u.useRef)(null),q=j||k||A,oe=(+!!j+ +!!A+ +!!k)*34+12,J=!!F,Y=J?ki(v,F):0,X=J?Math.max(0,E.findIndex(e=>e.field===F)):-1,se=T.length>0?(0,g.jsxs)(p.Popover,{children:[(0,g.jsx)(p.PopoverTrigger,{asChild:!0,children:(0,g.jsxs)(p.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,g.jsx)(m.SlidersHorizontal,{className:`h-3.5 w-3.5`}),`Columns`,C.size>0&&(0,g.jsxs)(`span`,{className:`rounded-full bg-primary/10 px-1.5 text-[10px] font-medium text-primary`,children:[`+`,C.size]})]})}),(0,g.jsxs)(p.PopoverContent,{align:`end`,className:`w-56 p-2`,children:[(0,g.jsx)(`div`,{className:`px-1 pb-1.5 text-xs font-medium text-muted-foreground`,children:`Optional columns`}),(0,g.jsx)(`div`,{className:`max-h-64 space-y-0.5 overflow-y-auto`,children:T.map(e=>{let t=`col-toggle-${e.field}`;return(0,g.jsxs)(p.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,g.jsx)(p.Checkbox,{id:t,checked:C.has(e.field),onCheckedChange:()=>D(e.field)}),(0,g.jsx)(`span`,{className:`truncate`,children:e.label||e.field})]},e.field)})})]})]}):null;if(r)return(0,g.jsxs)(`div`,{className:(0,p.cn)(`space-y-2`,a),children:[se&&(0,g.jsx)(`div`,{className:`flex justify-end`,children:se}),(0,g.jsx)(`div`,{className:`border border-border rounded-lg overflow-x-auto`,"data-testid":`line-items-readonly`,children:(0,g.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,g.jsx)(`thead`,{className:`bg-muted border-b border-border`,children:(0,g.jsxs)(`tr`,{children:[M&&(0,g.jsx)(`th`,{className:`w-10 px-2 py-2 text-right text-xs font-medium text-muted-foreground`,children:`#`}),E.map(e=>(0,g.jsx)(`th`,{style:{minWidth:Ni(e)},className:(0,p.cn)(`px-3 py-2 text-xs font-medium text-muted-foreground whitespace-nowrap`,ji(e.type)?`text-right`:`text-left`),children:e.label||e.field},e.field))]})}),(0,g.jsx)(`tbody`,{className:`divide-y divide-border`,children:v.length===0?(0,g.jsx)(`tr`,{children:(0,g.jsx)(`td`,{colSpan:Math.max(E.length+ +!!M,1),className:`px-3 py-6 text-center text-muted-foreground`,children:`No items`})}):v.map((e,t)=>(0,g.jsxs)(`tr`,{children:[M&&(0,g.jsx)(`td`,{className:`px-2 py-2 text-right text-muted-foreground tabular-nums`,children:t+1}),E.map(t=>(0,g.jsx)(`td`,{className:(0,p.cn)(`px-3 py-2 text-foreground`,ji(t.type)&&`text-right tabular-nums`),children:t.type===`lookup`&&e[t.field]!=null&&e[t.field]!==``?(0,g.jsx)(En,{value:e[t.field],onChange:()=>{},readonly:!0,field:{reference:t.reference,display_field:t.displayField,id_field:t.idField}}):t.type===`file`||Pi(t.type)?Di(t,e[t.field],b):e[t.field]!=null&&e[t.field]!==``?String(e[t.field]):`—`},t.field))]},t))}),J&&(0,g.jsx)(`tfoot`,{className:`border-t border-border bg-muted/40`,children:(0,g.jsxs)(`tr`,{children:[(0,g.jsx)(`td`,{colSpan:Math.max(+!!M+X,1),className:`px-3 py-2 text-right text-xs font-medium text-muted-foreground`,children:`Total`}),(0,g.jsx)(`td`,{className:`px-3 py-2 text-right font-semibold text-foreground tabular-nums`,children:Y.toLocaleString()}),E.length-X-1>0&&(0,g.jsx)(`td`,{colSpan:E.length-X-1})]})})]})})]});let Z=!S&&O&&(P==null||v.length<P),ce=Z?[...v,R()]:v,Q=(e,t,n,r)=>{let a=r?.[e.field],o=i||x(e,r).readonly;return S?e.type===`lookup`&&a!=null&&a!==``?(0,g.jsx)(En,{value:a,onChange:()=>{},readonly:!0,field:{reference:e.reference,display_field:e.displayField,id_field:e.idField}}):(0,g.jsx)(`span`,{className:(0,p.cn)(`px-2 text-sm text-foreground`,ji(e.type)&&`tabular-nums`,(a==null||a===``)&&`text-muted-foreground`),children:Di(e,a,b)}):e.computed?(0,g.jsx)(`span`,{className:(0,p.cn)(`block px-2 text-sm tabular-nums`,ji(e.type)?`text-right`:`text-left`,a==null||a===``?`text-muted-foreground`:`text-foreground`),title:`Computed`,"data-computed":e.field,children:Di(e,a,b)}):e.type===`lookup`?(0,g.jsx)(En,{value:a,onChange:t=>ne(n,e.field,t),onSelectRecord:t=>te(n,e,t),compact:!0,field:{reference:e.reference,display_field:e.displayField,id_field:e.idField,multiple:e.multiple,options:e.options,placeholder:`—`},disabled:o}):e.type===`file`?(0,g.jsx)(Yr,{value:a,onChange:t=>ne(n,e.field,t),multiple:e.multiple,accept:Array.isArray(e.accept)&&e.accept.length>0?e.accept.join(`,`):void 0,disabled:o,"aria-label":e.label||e.field,"data-cell":`${n}-${t}`}):e.type===`select`?(0,g.jsxs)(p.Select,{value:a==null?``:String(a),onValueChange:t=>re(n,e,t),disabled:o,children:[(0,g.jsx)(p.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.field,children:(0,g.jsx)(p.SelectValue,{placeholder:`—`})}),(0,g.jsx)(p.SelectContent,{children:(e.options||[]).map(e=>(0,g.jsx)(p.SelectItem,{value:e.value,children:e.label},e.value))})]}):(0,g.jsxs)(`div`,{className:`relative`,children:[e.type===`currency`&&(0,g.jsx)(`span`,{className:`pointer-events-none absolute left-2 top-1/2 -translate-y-1/2 text-xs text-muted-foreground`,children:e.prefix||`¥`}),(0,g.jsx)(p.Input,{"data-cell":`${n}-${t}`,onKeyDown:e=>ae(e,n,t),className:(0,p.cn)(`h-8 rounded-none border-0 bg-transparent px-2 shadow-none focus-visible:ring-1 focus-visible:ring-ring/60`,e.type===`currency`&&`pl-6`,ji(e.type)&&`text-right tabular-nums`),type:e.type===`date`?`date`:e.type===`datetime`?`datetime-local`:e.type===`time`?`time`:ji(e.type)?`number`:`text`,step:ji(e.type)?e.step??`any`:void 0,"aria-label":e.label||e.field,value:e.type===`date`?lt(a):e.type===`datetime`?ut(a):a==null?``:String(a),onChange:t=>re(n,e,t.target.value),disabled:o})]})};return(0,g.jsxs)(`div`,{className:(0,p.cn)(`space-y-2`,a),"data-testid":`line-items`,children:[se&&(0,g.jsx)(`div`,{className:`flex justify-end`,children:se}),(0,g.jsx)(`div`,{className:`border border-border rounded-lg overflow-x-auto`,children:(0,g.jsxs)(`table`,{ref:ie,className:`w-full text-sm`,children:[(0,g.jsx)(`thead`,{className:`bg-muted/60 border-b border-border`,children:(0,g.jsxs)(`tr`,{children:[M&&(0,g.jsx)(`th`,{className:(0,p.cn)(`px-2 py-2 text-right text-xs font-medium text-muted-foreground`,I?`w-14`:`w-10`),children:`#`}),E.map(e=>(0,g.jsxs)(`th`,{className:(0,p.cn)(`px-2 py-2 text-xs font-medium text-muted-foreground whitespace-nowrap`,ji(e.type)?`text-right`:`text-left`),style:bi(e),children:[e.label||e.field,e.required&&!e.computed&&(0,g.jsx)(`span`,{className:`text-destructive`,children:` *`})]},e.field)),q&&(0,g.jsx)(`th`,{style:{width:oe}})]})}),(0,g.jsx)(`tbody`,{className:`divide-y divide-border`,children:S&&v.length===0?(0,g.jsx)(`tr`,{children:(0,g.jsxs)(`td`,{colSpan:E.length+ +!!q+ +!!M,className:`px-3 py-6 text-center text-muted-foreground`,children:[`No items yet — click “`,h.add_label||`Add`,`” to begin.`]})}):ce.map((e,t)=>{let n=Z&&t===v.length,r=I&&!n&&!S;return(0,g.jsxs)(`tr`,{className:(0,p.cn)(`group`,!n&&`hover:bg-muted/30`),...I&&!n?{onDragOver:e=>{K.current!=null&&e.preventDefault()},onDrop:e=>{e.preventDefault(),K.current!=null&&(G(K.current,t),K.current=null)}}:{},children:[M&&(0,g.jsx)(`td`,{className:`px-1 py-1 text-right align-middle text-xs text-muted-foreground tabular-nums`,children:(0,g.jsxs)(`span`,{className:`inline-flex items-center justify-end gap-0.5`,children:[r&&(0,g.jsx)(`span`,{draggable:!0,onDragStart:()=>{K.current=t},onDragEnd:()=>{K.current=null},className:`cursor-grab text-muted-foreground/40 opacity-0 transition-opacity group-hover:opacity-100`,title:`Drag to reorder`,"aria-label":`Drag to reorder`,"data-testid":`line-items-drag-${t}`,children:(0,g.jsx)(m.GripVertical,{className:`h-3.5 w-3.5`})}),(0,g.jsx)(`span`,{className:(0,p.cn)(n&&`opacity-30`),children:t+1})]})}),E.map((r,i)=>{let a=x(r,e).required,o=!n&&!S&&a&&!r.computed&&(e[r.field]==null||e[r.field]===``);return(0,g.jsx)(`td`,{"aria-invalid":o||void 0,title:o?`${r.label||r.field} is required`:void 0,"data-testid":o?`line-items-invalid-${t}-${r.field}`:void 0,className:(0,p.cn)(`border-r border-border/40 px-1 py-0.5 align-middle last:border-r-0`,S&&`px-2 py-1.5`,o&&`bg-destructive/5 ring-1 ring-inset ring-destructive/50`),children:Q(r,i,t,e)},r.field)}),q&&(0,g.jsx)(`td`,{className:`px-1 py-0.5 align-middle whitespace-nowrap`,children:(0,g.jsxs)(`div`,{className:`flex items-center justify-center gap-0.5`,children:[!n&&j&&(0,g.jsx)(p.Button,{type:`button`,variant:`ghost`,size:`icon`,className:`h-8 w-8 text-muted-foreground hover:text-foreground`,"aria-label":`Open row`,title:`Open full form`,"data-testid":`line-items-expand-${t}`,onClick:()=>o(t),children:(0,g.jsx)(m.Maximize2,{className:`h-3.5 w-3.5`})}),!n&&A&&(0,g.jsx)(p.Button,{type:`button`,variant:`ghost`,size:`icon`,className:`h-8 w-8 text-muted-foreground hover:text-foreground`,"aria-label":`Duplicate row`,title:`Duplicate line`,"data-testid":`line-items-duplicate-${t}`,onClick:()=>W(t),disabled:i||P!=null&&v.length>=P,children:(0,g.jsx)(m.Copy,{className:`h-3.5 w-3.5`})}),!n&&k&&(0,g.jsx)(p.Button,{type:`button`,variant:`ghost`,size:`icon`,className:`h-8 w-8 text-muted-foreground hover:text-destructive`,"aria-label":`Remove row`,"data-testid":`line-items-remove-${t}`,onClick:()=>U(t),disabled:i||v.length<=N,children:(0,g.jsx)(m.Trash2,{className:`h-4 w-4`})})]})})]},t)})}),J&&(0,g.jsx)(`tfoot`,{className:`border-t border-border bg-muted/40`,children:(0,g.jsxs)(`tr`,{children:[(0,g.jsx)(`td`,{colSpan:Math.max(+!!M+X,1),className:`px-3 py-2 text-right text-xs font-medium text-muted-foreground`,children:`Total`}),(0,g.jsx)(`td`,{className:`px-3 py-2 text-right font-semibold text-foreground tabular-nums`,"data-testid":`line-items-total`,children:Y.toLocaleString()}),E.length-X-1+ +!!q>0&&(0,g.jsx)(`td`,{colSpan:E.length-X-1+ +!!q})]})})]})}),O&&(0,g.jsxs)(p.Button,{type:`button`,variant:`outline`,size:`sm`,onClick:S&&c?c:V,disabled:P!=null&&v.length>=P,"data-testid":`line-items-add`,children:[(0,g.jsx)(m.Plus,{className:`mr-1.5 h-4 w-4`}),h.add_label||`Add line`]})]})}var ji,Mi,Ni,Pi,Fi,Ii=o((()=>{jn(),Xr(),ft(),ji=e=>e===`number`||e===`currency`,Mi={text:160,select:132,lookup:168,number:104,currency:116,date:150,datetime:200,time:116,file:168},Ni=e=>e.width??Mi[e.type??`text`]??132,Pi=e=>e===`date`||e===`datetime`||e===`time`,Fi=Ai})),Li=s({AvatarField:()=>Ri});function Ri({value:e,onChange:t,field:n,readonly:r,error:i,...a}){let[o,s]=u.default.useState(!1),c=u.default.useRef(null),l=n,d=e=>{let n=e.target.files?.[0];if(!n)return;if(!n.type.startsWith(`image/`)){console.error(`Please select an image file`);return}if(n.size>5242880){console.error(`File size must be less than 5MB`);return}let r=new FileReader;r.onloadend=()=>{t(r.result)},r.readAsDataURL(n)},f=()=>{t(``)},h=()=>(l?.defaultName||l?.label||`User`).split(` `).map(e=>e[0]).join(``).toUpperCase().slice(0,2);return r?(0,g.jsxs)(p.Avatar,{className:`w-16 h-16`,children:[e&&(0,g.jsx)(p.AvatarImage,{src:e,alt:l?.label}),(0,g.jsx)(p.AvatarFallback,{children:h()})]}):(0,g.jsxs)(`div`,{className:`flex items-center gap-4`,children:[(0,g.jsxs)(`div`,{className:`relative`,onMouseEnter:()=>s(!0),onMouseLeave:()=>s(!1),children:[(0,g.jsxs)(p.Avatar,{className:`w-16 h-16`,children:[e&&(0,g.jsx)(p.AvatarImage,{src:e,alt:l?.label}),(0,g.jsx)(p.AvatarFallback,{children:h()})]}),!r&&o&&e&&(0,g.jsx)(`button`,{type:`button`,onClick:f,className:`absolute -top-1 -right-1 bg-destructive text-destructive-foreground rounded-full p-1 hover:bg-destructive/90`,children:(0,g.jsx)(m.X,{className:`w-3 h-3`})})]}),(0,g.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,g.jsx)(`input`,{ref:c,type:`file`,accept:`image/*`,onChange:d,className:`hidden`}),(0,g.jsxs)(p.Button,{...q(a),type:`button`,variant:`outline`,size:`sm`,onClick:()=>c.current?.click(),disabled:r||a.disabled,"aria-invalid":!!i,children:[(0,g.jsx)(m.Upload,{className:`w-4 h-4 mr-2`}),e?`Change`:`Upload`,` Avatar`]}),(0,g.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`PNG, JPG up to 5MB`})]})]})}var zi=o((()=>{J()})),Bi=s({SignatureField:()=>Vi});function Vi({value:e,onChange:t,readonly:n}){let r=(0,u.useRef)(null),[i,a]=u.default.useState(!1),[o,s]=u.default.useState(!e);(0,u.useEffect)(()=>{if(e&&r.current){let t=r.current.getContext(`2d`);if(t){let n=new Image;n.onload=()=>{t.drawImage(n,0,0),s(!1)},n.src=e}}},[e]);let c=e=>{if(n)return;a(!0),s(!1);let t=r.current;if(!t)return;let i=t.getContext(`2d`);if(!i)return;let o=t.getBoundingClientRect(),c=`touches`in e?e.touches[0].clientX-o.left:e.clientX-o.left,l=`touches`in e?e.touches[0].clientY-o.top:e.clientY-o.top;i.beginPath(),i.moveTo(c,l)},l=e=>{if(!i||n)return;let t=r.current;if(!t)return;let a=t.getContext(`2d`);if(!a)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;a.lineTo(s,c),a.strokeStyle=`#000`,a.lineWidth=2,a.lineCap=`round`,a.lineJoin=`round`,a.stroke()},d=()=>{if(!i)return;a(!1);let e=r.current;e&&t(e.toDataURL(`image/png`))};return n&&e?(0,g.jsx)(`div`,{className:`border rounded p-2 bg-white`,children:(0,g.jsx)(`img`,{src:e,alt:`Signature`,loading:`lazy`,className:`max-w-full h-auto`})}):n&&!e?(0,g.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:`No signature`}):(0,g.jsxs)(`div`,{className:`space-y-2`,children:[(0,g.jsx)(`div`,{className:`border rounded bg-white`,children:(0,g.jsx)(`canvas`,{ref:r,width:400,height:200,className:`w-full touch-none cursor-crosshair`,onMouseDown:c,onMouseMove:l,onMouseUp:d,onMouseLeave:d,onTouchStart:c,onTouchMove:l,onTouchEnd:d})}),(0,g.jsxs)(`div`,{className:`flex justify-between items-center`,children:[(0,g.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:o?`Sign above`:`Signature captured`}),(0,g.jsxs)(p.Button,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>{let e=r.current;if(!e)return;let n=e.getContext(`2d`);n&&(n.clearRect(0,0,e.width,e.height),s(!0),t(``))},disabled:n||o,children:[(0,g.jsx)(m.Eraser,{className:`w-4 h-4 mr-2`}),`Clear`]})]})]})}var Hi=o((()=>{}));$r();function Ui({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))},u=e=>{console.log(`View detail:`,e)};return r?(0,g.jsxs)(`div`,{className:(0,p.cn)(`space-y-2`,i),children:[o.length===0?(0,g.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:`No related records`}):o.map(e=>(0,g.jsxs)(`div`,{className:`flex items-center justify-between p-2 border rounded hover:bg-muted/50`,children:[(0,g.jsx)(`span`,{className:`text-sm`,children:e.label}),(0,g.jsx)(p.Button,{type:`button`,variant:`ghost`,size:`sm`,onClick:()=>u(e),children:(0,g.jsx)(m.ExternalLink,{className:`w-4 h-4`})})]},e.id)),(0,g.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[o.length,` `,o.length===1?`record`:`records`]})]}):(0,g.jsxs)(`div`,{className:(0,p.cn)(`space-y-3`,i),children:[(0,g.jsxs)(`div`,{className:`space-y-2`,children:[o.map(e=>(0,g.jsxs)(`div`,{className:`flex items-center justify-between gap-2 p-2 border rounded hover:bg-muted/50`,children:[(0,g.jsxs)(`div`,{className:`flex items-center gap-2 flex-1`,children:[(0,g.jsx)(p.Badge,{variant:`outline`,children:e.id}),(0,g.jsx)(`span`,{className:`text-sm flex-1`,children:e.label})]}),(0,g.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,g.jsx)(p.Button,{type:`button`,variant:`ghost`,size:`sm`,onClick:()=>u(e),children:(0,g.jsx)(m.ExternalLink,{className:`w-4 h-4`})}),(0,g.jsx)(p.Button,{type:`button`,variant:`ghost`,size:`sm`,onClick:()=>l(e.id),disabled:a.disabled,children:(0,g.jsx)(m.X,{className:`w-4 h-4`})})]})]},e.id)),o.length===0&&(0,g.jsx)(`div`,{className:`text-sm text-muted-foreground text-center py-4 border border-dashed rounded bg-muted/20`,children:`No related records`})]}),(0,g.jsxs)(p.Button,{type:`button`,variant:`outline`,className:`w-full`,onClick:c,disabled:a.disabled,children:[(0,g.jsx)(m.Plus,{className:`w-4 h-4 mr-2`}),`Add `,s?.label||`Record`]})]})}var Wi=s({default:()=>Gi});function Gi({value:e}){return(0,g.jsx)(`div`,{className:`prose prose-sm max-w-none dark:prose-invert break-words`,children:(0,g.jsx)(b.default,{remarkPlugins:[x.default],rehypePlugins:[S.default],children:e})})}var Ki=o((()=>{}));D(),k(),z(),ie(),W(),z(),se(),xe(),ze(),Xe(),ht(),vt(),xt(),wt(),Dt(),At(),Te(),Oe(),ur(),ve(),mr(),jn(),xr(),Ir(),Br(),Gt(),yn(),Xr(),ri(),Wn(),oi(),li(),fi(),Fn(),hi(),vi(),Ii(),Rn(),je(),Ie(),Xn(),zi(),Vn(),qn(),Hi(),$n(),Ke(),$e(),nt(),at(),J(),ft(),se(),ve(),xe(),Te(),Oe(),je(),Ie(),ze(),Ke(),Xe(),$e(),nt(),at(),ht(),vt(),xt(),wt(),Dt(),At(),Gt(),yn(),jn(),Fn(),Rn(),Vn(),Wn(),qn(),Xn(),$n(),ur(),mr(),xr(),Ir(),Br(),Xr(),ri(),oi(),li(),fi(),hi(),vi(),Ii(),zi(),Hi();var qi=new Map;function Ji(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 Yi=new Map;async function Xi(e,t){let n=()=>{let e=Yi.get(t);return e?.state===`ok`?e.schema:void 0},r=Yi.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=>{Yi.set(t,{state:`ok`,schema:e})}).catch(()=>{Yi.set(t,{state:`err`})});return Yi.set(t,{state:`pending`,promise:a}),await a,n()}function Zi(e){let t=u.default.useContext(h.SchemaRendererContext)?.dataSource,[,n]=u.default.useState(0),r=!!e&&!!t&&typeof t.getObjectSchema==`function`;if(u.default.useEffect(()=>{if(!r)return;let i=Yi.get(e);if(i&&i.state!==`pending`)return;let a=!0;return Xi(t,e).then(()=>{a&&n(e=>e+1)}),()=>{a=!1}},[r,e,t]),!r)return;let i=Yi.get(e);return i?.state===`ok`?i.schema:void 0}function Qi(e,t,n){if(!(!e||typeof e!=`object`)){if(t){let r=(0,d.getRecordDisplayName)(t,e,{titleField:n}),i=e.id??e._id;if(!(r===`Untitled`||i!=null&&r===`Record #${i}`)&&r)return r}return Ji(e,n)}}function $i(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 ea(e,t,n){let r=u.default.useContext(h.SchemaRendererContext)?.dataSource,[,i]=u.default.useState(0),a=!!e&&!!r&&typeof r.find==`function`&&(typeof t==`string`||typeof t==`number`)&&t!==``,o=a?`${e}:${String(t)}:${n??``}`:``;if(u.default.useEffect(()=>{if(!a)return;let s=qi.get(o);if(s&&s.state!==`pending`&&s.promise==null||s?.state===`pending`)return;let c=(async()=>{try{let i;if(typeof r.findOne==`function`)i=await r.findOne(e,t);else{let n=await r.find(e,{$filter:{id:t},options:{$top:1}});i=(Array.isArray(n)?n:n?.value||n?.data||[])[0]}let a=await Xi(r,e),s=Qi(i,a,n);qi.set(o,{state:`ok`,name:s})}catch{qi.set(o,{state:`err`})}i(e=>e+1)})();qi.set(o,{state:`pending`,promise:c})},[o,a,e,t,n,r]),!a)return;let s=qi.get(o);return s?.state===`ok`?s.name:void 0}function ta(){let{t:e}=(0,h.useObjectTranslation)();return(t,n)=>{let r=e(t);return!r||r===t?n:r}}function na(){let{t:e}=(0,h.useObjectTranslation)();return e}function ra(e){if(e==null||typeof e==`number`||typeof e==`boolean`)return e;if(typeof e==`string`){let t=e.trim();if(t.startsWith(`{`)&&t.endsWith(`}`)||t.startsWith(`[`)&&t.endsWith(`]`))try{return ra(JSON.parse(t))}catch{}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)}function ia(e,t,n){let r=Number.isFinite(e)&&e===Math.trunc(e)?0:t?B(t):2;if(!t)return oa(e,r,n);try{return(0,f.formatDisplayNumber)(e,{locale:n,currency:t,minimumFractionDigits:r,maximumFractionDigits:r})}catch{return`${t} ${e.toFixed(r)}`}}function aa(e,t,n){if(!t)try{return(0,f.formatDisplayNumber)(e,{locale:n,notation:`compact`,maximumFractionDigits:1}).replace(/\.0(?=[KMBT])/,``)}catch{return String(e)}try{return(0,f.formatDisplayNumber)(e,{locale:n,currency:t,notation:`compact`,maximumFractionDigits:1}).replace(/\.0(?=[KMBT])/,``)}catch{return`${t} ${e}`}}function oa(e,t=2,n){try{return(0,f.formatDisplayNumber)(e,{locale:n,minimumFractionDigits:t,maximumFractionDigits:t})}catch{return e.toFixed(t)}}function sa(e,t,n){try{return(0,f.formatDisplayNumber)(e,{locale:n,style:`percentPoints`,minimumFractionDigits:t,maximumFractionDigits:t})}catch{return`${e.toFixed(t)}%`}}function ca(e,t=0,n){return sa((0,d.percentDisplayValue)(e),t,n)}function la(e){return e.replace(/[_-]/g,` `).replace(/\b\w/g,e=>e.toUpperCase())}function ua(e,t){try{let n=new Intl.RelativeTimeFormat(t,{numeric:`auto`}).format(e,`day`);return n.charAt(0).toUpperCase()+n.slice(1)}catch{return e===0?`Today`:e===1?`Tomorrow`:e===-1?`Yesterday`:e>0?`In ${e} days`:`${Math.abs(e)} days ago`}}function da(e,t){if(e==null||e===``)return`—`;let n=e instanceof Date?e:new Date(e);if(!(n instanceof Date)||isNaN(n.getTime()))return`—`;let r=new Date,i=new Date(r.getFullYear(),r.getMonth(),r.getDate()),a=new Date(n.getFullYear(),n.getMonth(),n.getDate()).getTime()-i.getTime(),o=Math.round(a/864e5);if(o<-7||o>7)return fa(n,void 0,t);if(o<-1&&t?.dueLike){let e=Math.abs(o),n=`fields.relativeDate.overdue`,r=t.t?.(n,{count:e});return r&&r!==n?r:`Overdue ${e}d`}return ua(o,t?.locale)}function fa(e,t,n){if(e==null||e===``)return`—`;let r=e instanceof Date?e:new Date(e);if(!(r instanceof Date)||isNaN(r.getTime()))return`—`;if(t===`short`)return`${r.toLocaleDateString(n?.locale,{month:`short`})} ${r.getDate()}, '${String(r.getFullYear()).slice(-2)}`;if(t===`relative`)return da(r,n);let i=r.getFullYear()===new Date().getFullYear();return r.toLocaleDateString(n?.locale,{year:i?void 0:`numeric`,month:`short`,day:`numeric`})}function pa(e,t){if(e==null||e===``)return`—`;let n=e instanceof Date?e:new Date(e);return!(n instanceof Date)||isNaN(n.getTime())?`—`:n.toLocaleDateString(t?.locale,{year:`numeric`,month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`})}function ma({text:e,className:t}){return(0,g.jsx)(`span`,{className:(0,p.cn)(`block max-w-full truncate`,t),title:e,children:e})}function ha({value:e}){let t=ra(e);return t==null||t===``?(0,g.jsx)(p.EmptyValue,{}):(0,g.jsx)(ma,{text:String(t)})}function ga({value:e,field:t}){let n=(0,f.useDisplayLocale)();if(e==null)return(0,g.jsx)(p.EmptyValue,{});let r=ra(e),i=t,a=typeof i.scale==`number`?i.scale:void 0,o=Number(r),s=isNaN(o)?String(r):(0,f.formatDisplayNumber)(o,{locale:n,scale:a,minimumFractionDigits:a??0,maximumFractionDigits:a??20});return(0,g.jsx)(`span`,{className:`tabular-nums`,children:s})}function _a({value:e,field:t}){let{currency:n}=(0,f.useLocalization)(),r=(0,f.useDisplayLocale)();if(e==null)return(0,g.jsx)(p.EmptyValue,{});let i=ra(e),a=(0,f.resolveFieldCurrency)(t,n),o=Number(i),s=isNaN(o)?String(i):ia(o,a,r);return(0,g.jsx)(`span`,{className:`tabular-nums font-medium whitespace-nowrap`,children:s})}var va=/progress|completion/;function ya({value:e,field:t}){let n=(0,f.useDisplayLocale)();if(e==null)return(0,g.jsx)(p.EmptyValue,{});let r=ra(e),i=t.precision??0,a=Number(r);if(isNaN(a))return(0,g.jsx)(`span`,{className:`tabular-nums whitespace-nowrap`,children:String(r)});let o=va.test(t?.name?.toLowerCase()||``),s=o?a:a>-1&&a<1?a*100:a,c=o?sa(a,i,n):ca(a,i,n),l=Math.max(0,Math.min(100,s));return(0,g.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,g.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":l,"aria-valuemin":0,"aria-valuemax":100,children:(0,g.jsx)(`div`,{className:`h-full rounded-full bg-primary transition-all`,style:{width:`${l}%`}})}),(0,g.jsx)(`span`,{className:`shrink-0 tabular-nums whitespace-nowrap`,children:c})]})}var ba=new Set([`active`,`is_active`,`enabled`,`is_enabled`,`verified`,`is_verified`]);function xa({value:e,field:t}){if(e==null)return(0,g.jsx)(`span`,{className:`flex items-center justify-center`,children:(0,g.jsx)(p.EmptyValue,{})});let n=t?.name?.toLowerCase()||``;return n===`completed`||n===`is_completed`||n===`done`||n===`is_done`?(0,g.jsx)(`div`,{className:`flex items-center justify-center`,children:e?(0,g.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,g.jsx)(m.Check,{className:`size-3 text-white`})}):(0,g.jsx)(`div`,{className:`size-5 rounded-full border-2 border-muted-foreground/30`,role:`img`,"aria-label":`Not completed`,"data-testid":`completion-indicator`})}):ba.has(n)&&!e?(0,g.jsxs)(p.Badge,{variant:`destructive`,className:`text-xs`,"data-testid":`boolean-warning-badge`,children:[t?.label||la(n),` — Off`]}):(0,g.jsx)(`div`,{className:`flex items-center justify-start`,children:(0,g.jsx)(p.Checkbox,{checked:!!e,disabled:!0,className:`pointer-events-none`})})}function Sa({value:e,field:t}){let n=(0,f.useDisplayLocale)(),r=na();if(!e)return(0,g.jsx)(p.EmptyValue,{});let i=ra(e),a=t,o=a.format||`relative`,s=String(a?.name||a?.accessorKey||a?.key||``).toLowerCase(),c=a?.dueLike===!0||/(^|_)(due|deadline|expires?|expiry|expiration|expected_close|target_close|sla|return_by|renewal|next_action)(_|$)/.test(s),l=fa(i,o,{dueLike:c,locale:n,t:r}),u=i==null?null:new Date(i),d=u!==null&&!isNaN(u.getTime()),m=new Date;m.setHours(0,0,0,0);let h=c&&d&&u<m,_=d?u.toISOString():String(i);return(0,g.jsx)(`span`,{className:`tabular-nums${h?` text-red-600`:``}`,title:_,children:l})}function Ca({value:e}){let t=(0,f.useDisplayLocale)();if(!e)return(0,g.jsx)(p.EmptyValue,{});let n=ra(e),r=n==null?null:new Date(n);if(r===null||isNaN(r.getTime()))return(0,g.jsx)(p.EmptyValue,{});let i=r.toLocaleDateString(t,{month:`numeric`,day:`numeric`,year:`numeric`}),a=r.toLocaleTimeString(t,{hour:`numeric`,minute:`2-digit`,hour12:!0}).toLowerCase();return(0,g.jsxs)(`span`,{className:`tabular-nums text-sm whitespace-nowrap`,children:[(0,g.jsx)(`span`,{children:i}),(0,g.jsx)(`span`,{className:`ml-2 text-muted-foreground`,children:a})]})}var wa={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`},Ta={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`},Ea={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`},Da=[`blue`,`green`,`purple`,`orange`,`pink`,`indigo`,`yellow`,`red`];function Oa(e){let t=5381;for(let n=0;n<e.length;n++)t=(t<<5)+t^e.charCodeAt(n);return Da[Math.abs(t)%Da.length]}function ka(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 Aa(e){if(e){if(Ta[e])return e;if(e.charAt(0)===`#`)return ka(e)}}function ja(e,t){let n=Aa(e);if(n&&Ta[n])return Ta[n];if(t==null||t===``)return`bg-muted text-muted-foreground border-border`;let r=String(t).toLowerCase().replace(/[\s-]/g,`_`),i=wa[r];return i&&Ta[i]?Ta[i]:Ta[Oa(r)]}function Ma(e,t){let n=Aa(e);if(n&&Ta[n])return n;if(t==null||t===``)return;let r=String(t).toLowerCase().replace(/[\s-]/g,`_`);return wa[r]||Oa(r)}var Na={gray:`#6b7280`,red:`#ef4444`,orange:`#f97316`,yellow:`#eab308`,green:`#22c55e`,blue:`#3b82f6`,indigo:`#6366f1`,purple:`#a855f7`,pink:`#ec4899`};function Pa(e,t=`#3b82f6`){return e?Na[e]??t:t}function Fa({value:e,field:t}){let n=t,r=n.options||[],i=n.appearance===`dot`?`dot`:`badge`;if(e==null||e===``)return(0,g.jsx)(p.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||la(String(e));if(i===`dot`){let i=Ea[Aa(n?.color)||wa[String(e).toLowerCase().replace(/[\s-]/g,`_`)]||Oa(String(e).toLowerCase().replace(/[\s-]/g,`_`))]||Ea.gray;return(0,g.jsxs)(`span`,{className:`inline-flex max-w-full items-center gap-1.5 text-sm`,title:r,children:[(0,g.jsx)(`span`,{className:(0,p.cn)(`h-1.5 w-1.5 rounded-full shrink-0`,i),"aria-hidden":`true`}),(0,g.jsx)(`span`,{className:`min-w-0 truncate`,children:r})]},t)}let o=ja(n?.color,e);return(0,g.jsx)(p.Badge,{variant:`outline`,className:(0,p.cn)(`max-w-full min-w-0`,o),title:r,children:(0,g.jsx)(`span`,{className:`truncate`,children:r})},t)};return Array.isArray(e)?(0,g.jsx)(`div`,{className:(0,p.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 Ia({value:e}){let t=ta(),[n,r]=u.default.useState(!1);if(!e)return(0,g.jsx)(p.EmptyValue,{});let i=String(ra(e)??``);return(0,g.jsxs)(`span`,{className:`inline-flex items-center gap-1 group/email`,children:[(0,g.jsx)(p.Button,{variant:`link`,className:`p-0 h-auto font-normal text-blue-600 hover:text-blue-800`,asChild:!0,children:(0,g.jsx)(`a`,{href:`mailto:${i}`,onClick:e=>e.stopPropagation(),children:i})}),(0,g.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(i).then(()=>{r(!0),setTimeout(()=>r(!1),2e3)}).catch(()=>{})},"aria-label":t(`detail.copyEmail`,`Copy email`),children:n?(0,g.jsx)(m.Check,{className:`h-3 w-3 text-green-600`}):(0,g.jsx)(m.Copy,{className:`h-3 w-3 text-muted-foreground`})})]})}function La({value:e}){if(!e)return(0,g.jsx)(p.EmptyValue,{});let t=String(ra(e)??``);return(0,g.jsx)(p.Button,{variant:`link`,className:`p-0 h-auto font-normal text-blue-600 hover:text-blue-800`,asChild:!0,children:(0,g.jsx)(`a`,{href:t,target:`_blank`,rel:`noopener noreferrer`,onClick:e=>e.stopPropagation(),children:t})})}function Ra({value:e}){let t=ta(),[n,r]=u.default.useState(!1);if(!e)return(0,g.jsx)(p.EmptyValue,{});let i=String(ra(e)??``);return(0,g.jsxs)(`span`,{className:`inline-flex items-center gap-1 group/phone`,children:[(0,g.jsxs)(`a`,{href:`tel:${i}`,className:`inline-flex items-center gap-1 text-blue-600 hover:text-blue-800`,onClick:e=>e.stopPropagation(),children:[(0,g.jsx)(m.Phone,{className:`h-3 w-3`}),i]}),(0,g.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(i).then(()=>{r(!0),setTimeout(()=>r(!1),2e3)}).catch(()=>{})},"aria-label":t(`detail.copyPhone`,`Copy phone number`),children:n?(0,g.jsx)(m.Check,{className:`h-3 w-3 text-green-600`}):(0,g.jsx)(m.Copy,{className:`h-3 w-3 text-muted-foreground`})})]})}function za({value:e,field:t}){if(!e)return(0,g.jsx)(p.EmptyValue,{});if(t.multiple,Array.isArray(e)){let t=e.length;return(0,g.jsxs)(`span`,{className:`text-sm text-gray-600`,children:[t,` `,t===1?`file`:`files`]})}let n=e.name||e.original_name||`File`;return(0,g.jsx)(ma,{text:String(n),className:`text-sm`})}function Ba({value:e}){let{t}=(0,h.useObjectTranslation)(),[n,r]=u.default.useState(null),i=u.default.useMemo(()=>P(e,`Image`).filter(e=>e.url).map(e=>({url:e.url,name:e.name})),[e]);if(!e||i.length===0)return(0,g.jsx)(p.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,g.jsx)(O,{images:i,index:n,open:!0,onOpenChange:e=>!e&&r(null),onIndexChange:r});return s?(0,g.jsxs)(g.Fragment,{children:[(0,g.jsxs)(`div`,{className:`flex -space-x-2`,children:[i.slice(0,3).map((e,t)=>(0,g.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,g.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,g.jsxs)(g.Fragment,{children:[(0,g.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 Va(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 Ha({objectName:e,recordId:t,className:n,children:r}){let i=(0,h.useRelatedRecordActions)(),a=e&&t!=null&&t!==``&&i?.recordHref?i.recordHref(e,t):null;return a?(0,g.jsx)(`a`,{href:a,className:(0,p.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,g.jsx)(g.Fragment,{children:r})}function Ua({value:e,field:t}){let n=t.reference_to||t.reference,r=t.display_field||t.displayField||t.reference_field||void 0,i=Zi(n),a=(()=>{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})(),o=ea(n,a,r);if(e==null||e===``)return(0,g.jsx)(p.EmptyValue,{});if(typeof e==`string`){let t=e.trim();if(t.startsWith(`{`)&&t.endsWith(`}`)){let e=``,a;try{let n=JSON.parse(t);n&&typeof n==`object`&&(e=Qi(n,i,r)||String(n.externalId??n.id??n._id??``),a=Va(n))}catch{}if(e)return(0,g.jsx)(Ha,{objectName:n,recordId:a,children:(0,g.jsx)(ma,{text:e})})}}if(!Array.isArray(e)&&typeof e==`object`){let t=e,a=Qi(t,i,r)||String(t.id||t._id||``);if(a)return(0,g.jsx)(Ha,{objectName:n,recordId:Va(t),children:(0,g.jsx)(ma,{text:a})})}let s=t.options||[],c=e=>{if(s.length>0){let t=s.find(t=>String(t.value)===String(e));if(t)return{text:t.label,muted:!1}}return e===a&&o?{text:o,muted:!1}:$i(e)?{text:`—`,muted:!0}:{text:String(e),muted:!1}};if(Array.isArray(e))return(0,g.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:e.map((e,t)=>{let a,o=!1;if(typeof e==`object`&&e)a=Qi(e,i,r)||String(e.id||e._id||`[Object]`);else{let t=c(e);a=t.text,o=t.muted}return(0,g.jsx)(Ha,{objectName:n,recordId:Va(e),className:`text-inherit`,children:(0,g.jsx)(`span`,{className:(0,p.cn)(`inline-flex items-center px-2 py-0.5 rounded text-xs font-medium`,o?`bg-muted/40 text-muted-foreground`:`bg-gray-50 text-gray-700 dark:bg-gray-800/50 dark:text-gray-200`),children:a})},t)})});if(typeof e==`object`&&e){let t=Qi(e,i,r)||String(e.id||e._id||`[Object]`);return(0,g.jsx)(Ha,{objectName:n,recordId:Va(e),children:(0,g.jsx)(ma,{text:t})})}let{text:l,muted:u}=c(e);return(0,g.jsx)(Ha,{objectName:n,recordId:Va(e),children:(0,g.jsx)(ma,{text:l,className:u?`text-muted-foreground`:void 0})})}function Wa({value:e}){let t=ra(e);return t==null||t===``?(0,g.jsx)(p.EmptyValue,{}):(0,g.jsx)(`span`,{className:`text-gray-700 font-mono text-sm`,children:String(t)})}function Ga({value:e}){if(!e)return(0,g.jsx)(p.EmptyValue,{});if(typeof e!=`object`)return(0,g.jsx)(ma,{text:String(e)});if(Array.isArray(e))return(0,g.jsxs)(`div`,{className:`flex -space-x-2`,children:[e.slice(0,3).map((e,t)=>{if(typeof e!=`object`||!e)return(0,g.jsx)(ma,{text:String(e),className:`text-sm`},t);let n=e.name||e.username||`User`,r=n.split(` `).map(e=>e[0]).join(``).toUpperCase().slice(0,2);return(0,g.jsxs)(p.Avatar,{className:`size-8 border-2 border-white`,title:n,children:[e.image&&(0,g.jsx)(p.AvatarImage,{src:e.image,alt:n}),(0,g.jsx)(p.AvatarFallback,{className:`bg-blue-500 text-white text-xs`,children:r})]},t)}),e.length>3&&(0,g.jsx)(p.Avatar,{className:`size-8 border-2 border-white`,children:(0,g.jsxs)(p.AvatarFallback,{className:`bg-gray-200 text-gray-600 text-xs`,children:[`+`,e.length-3]})})]});let t=e.name||e.username||`User`,n=t.split(` `).map(e=>e[0]).join(``).toUpperCase().slice(0,2);return(0,g.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,g.jsxs)(p.Avatar,{className:`size-8`,children:[e.image&&(0,g.jsx)(p.AvatarImage,{src:e.image,alt:t}),(0,g.jsx)(p.AvatarFallback,{className:`bg-blue-500 text-white text-xs`,children:n})]}),(0,g.jsx)(ma,{text:String(t)})]})}var Ka=new Map;function qa(e,t){Ka.set(e,t)}var Ja={phone:`phone`,tel:`phone`,telephone:`phone`,email:`email`,url:`url`,uri:`url`,link:`url`,currency:`currency`,money:`currency`,percent:`percent`,percentage:`percent`},Ya=new Set([`text`,`textarea`,`string`,`longtext`,``]);function Xa(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&&Ja[r]&&Ya.has(t)?Ja[r]:e.type||`text`}function Za({value:e}){if(e==null||e===``)return(0,g.jsx)(p.EmptyValue,{});let t;if(typeof e==`object`)try{t=JSON.stringify(e)}catch{t=String(e)}else t=String(e);return(0,g.jsx)(ma,{text:t,className:`font-mono text-xs text-gray-600`})}function Qa({value:e}){if(e==null||e===``)return(0,g.jsx)(p.EmptyValue,{});let t=String(e);return(0,g.jsxs)(`span`,{className:`inline-flex items-center gap-1.5 text-sm`,children:[(0,g.jsx)(`span`,{className:`h-3.5 w-3.5 rounded border border-black/10 shrink-0`,style:{backgroundColor:t},"aria-hidden":`true`}),(0,g.jsx)(`span`,{className:`font-mono text-xs`,children:t})]})}var $a=u.default.lazy(()=>Promise.resolve().then(()=>(Ki(),Wi)));function eo({value:e}){return e==null||e===``?(0,g.jsx)(p.EmptyValue,{}):(0,g.jsx)(u.default.Suspense,{fallback:(0,g.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:String(e).slice(0,80)}),children:(0,g.jsx)($a,{value:String(e)})})}function to(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 no({value:e}){return e==null||e===``?(0,g.jsx)(p.EmptyValue,{}):(0,g.jsx)(`div`,{className:`prose prose-sm max-w-none dark:prose-invert break-words`,dangerouslySetInnerHTML:{__html:to(String(e))}})}function ro({value:e}){if(e==null||e===``)return(0,g.jsx)(p.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,g.jsxs)(`span`,{className:`inline-flex items-center gap-1 text-sm tabular-nums`,children:[(0,g.jsx)(m.MapPin,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground`,"aria-hidden":`true`}),t.toFixed(4),`, `,n.toFixed(4)]}):(0,g.jsx)(Za,{value:e,field:{}})}function io({value:e}){if(e==null||e===``)return(0,g.jsx)(p.EmptyValue,{});if(typeof e==`string`)return(0,g.jsx)(ma,{text:e,className:`text-sm`});if(typeof e==`object`&&!Array.isArray(e)){let t=E(e);if(t)return(0,g.jsx)(ma,{text:t,className:`text-sm`});if(Object.keys(e).length===0)return(0,g.jsx)(p.EmptyValue,{})}return(0,g.jsx)(Za,{value:e,field:{}})}function ao(e){return Ka.has(e)?Ka.get(e):{text:ha,textarea:ha,markdown:eo,html:no,richtext:eo,code:ha,qrcode:ha,number:ga,currency:_a,percent:ya,progress:ya,slider:ga,rating:ga,boolean:xa,toggle:xa,date:Sa,datetime:Ca,time:ha,select:Fa,status:Fa,multiselect:Fa,radio:Fa,checkboxes:Fa,tags:Fa,lookup:Ua,master_detail:Ua,tree:Ua,email:Ia,url:La,phone:Ra,file:za,video:za,audio:za,image:Ba,avatar:Ba,signature:Ba,formula:Wa,summary:Wa,auto_number:ha,user:Ga,owner:Ga,password:()=>(0,g.jsx)(`span`,{children:`••••••`}),secret:()=>(0,g.jsx)(`span`,{children:`••••••`}),location:ro,geolocation:ro,address:io,color:Qa,json:Za,object:Za,composite:Za,record:Za,repeater:({value:e})=>{let t=Array.isArray(e)?e.length:0;return t>0?(0,g.jsxs)(`span`,{className:`text-gray-500 italic`,children:[t,` 项`]}):(0,g.jsx)(p.EmptyValue,{})},vector:()=>(0,g.jsx)(`span`,{className:`text-gray-500 italic`,children:`[Vector]`}),grid:()=>(0,g.jsx)(`span`,{className:`text-gray-500 italic`,children:`[Grid]`})}[e]||ha}qa(`lookup`,Ua),qa(`master_detail`,Ua),qa(`select`,Fa),qa(`status`,Fa),qa(`user`,Ga),qa(`owner`,Ga),H(ao);function oo(e){if(e<0||!Number.isFinite(e)||e===0)return`0 B`;let t=[`B`,`KB`,`MB`,`GB`,`TB`],n=e,r=0;for(;n>=1024&&r<t.length-1;)n/=1024,r++;return`${n.toFixed(+(r>0))} ${t[r]}`}function so(e){let t={};e.required&&(t.required=typeof e.required_message!=`string`||e.required_message);let n=e.minLength??e.min_length;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??e.max_length;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.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),Object.keys(t).length>0?t:void 0}function co(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=>co(e,t)):e.or&&Array.isArray(e.or)?e.or.some(e=>co(e,t)):!0}var lo={text:()=>Promise.resolve().then(()=>(se(),Y)).then(e=>({default:e.TextField})),textarea:()=>Promise.resolve().then(()=>(ve(),ge)).then(e=>({default:e.TextAreaField})),number:()=>Promise.resolve().then(()=>(xe(),ye)).then(e=>({default:e.NumberField})),boolean:()=>Promise.resolve().then(()=>(ze(),Le)).then(e=>({default:e.BooleanField})),select:()=>Promise.resolve().then(()=>(Xe(),qe)).then(e=>({default:e.SelectField})),date:()=>Promise.resolve().then(()=>(ht(),pt)).then(e=>({default:e.DateField})),datetime:()=>Promise.resolve().then(()=>(vt(),gt)).then(e=>({default:e.DateTimeField})),time:()=>Promise.resolve().then(()=>(xt(),yt)).then(e=>({default:e.TimeField})),email:()=>Promise.resolve().then(()=>(wt(),St)).then(e=>({default:e.EmailField})),phone:()=>Promise.resolve().then(()=>(Dt(),Tt)).then(e=>({default:e.PhoneField})),url:()=>Promise.resolve().then(()=>(At(),Ot)).then(e=>({default:e.UrlField})),multiselect:()=>Promise.resolve().then(()=>(Ke(),We)).then(e=>({default:e.MultiSelectField})),radio:()=>Promise.resolve().then(()=>($e(),Ze)).then(e=>({default:e.RadioField})),checkboxes:()=>Promise.resolve().then(()=>(nt(),et)).then(e=>({default:e.CheckboxesField})),tags:()=>Promise.resolve().then(()=>(at(),rt)).then(e=>({default:e.TagsField})),currency:()=>Promise.resolve().then(()=>(Te(),Se)).then(e=>({default:e.CurrencyField})),percent:()=>Promise.resolve().then(()=>(Oe(),Ee)).then(e=>({default:e.PercentField})),password:()=>Promise.resolve().then(()=>(ur(),cr)).then(e=>({default:e.PasswordField})),markdown:()=>Promise.resolve().then(()=>(mr(),dr)).then(e=>({default:e.RichTextField})),html:()=>Promise.resolve().then(()=>(mr(),dr)).then(e=>({default:e.RichTextField})),richtext:()=>Promise.resolve().then(()=>(mr(),dr)).then(e=>({default:e.RichTextField})),lookup:()=>Promise.resolve().then(()=>(jn(),bn)).then(e=>({default:e.LookupField})),master_detail:()=>Promise.resolve().then(()=>(jn(),bn)).then(e=>({default:e.LookupField})),file:()=>Promise.resolve().then(()=>(Xr(),Kr)).then(e=>({default:e.FileField})),image:()=>Promise.resolve().then(()=>(ri(),ei)).then(e=>({default:e.ImageField})),location:()=>Promise.resolve().then(()=>(Wn(),Hn)).then(e=>({default:e.LocationField})),formula:()=>Promise.resolve().then(()=>(oi(),ii)).then(e=>({default:e.FormulaField})),summary:()=>Promise.resolve().then(()=>(li(),si)).then(e=>({default:e.SummaryField})),auto_number:()=>Promise.resolve().then(()=>(fi(),ui)).then(e=>({default:e.AutoNumberField})),user:()=>Promise.resolve().then(()=>(Fn(),Mn)).then(e=>({default:e.UserField})),owner:()=>Promise.resolve().then(()=>(Fn(),Mn)).then(e=>({default:e.UserField})),object:()=>Promise.resolve().then(()=>(hi(),pi)).then(e=>({default:e.ObjectField})),vector:()=>Promise.resolve().then(()=>(vi(),gi)).then(e=>({default:e.VectorField})),grid:()=>Promise.resolve().then(()=>(Ii(),yi)).then(e=>({default:e.GridField})),color:()=>Promise.resolve().then(()=>(Rn(),In)).then(e=>({default:e.ColorField})),slider:()=>Promise.resolve().then(()=>(je(),ke)).then(e=>({default:e.SliderField})),rating:()=>Promise.resolve().then(()=>(Ie(),Pe)).then(e=>({default:e.RatingField})),code:()=>Promise.resolve().then(()=>(Xn(),Jn)).then(e=>({default:e.CodeField})),avatar:()=>Promise.resolve().then(()=>(zi(),Li)).then(e=>({default:e.AvatarField})),address:()=>Promise.resolve().then(()=>(Vn(),zn)).then(e=>({default:e.AddressField})),geolocation:()=>Promise.resolve().then(()=>(qn(),Gn)).then(e=>({default:e.GeolocationField})),signature:()=>Promise.resolve().then(()=>(Hi(),Bi)).then(e=>({default:e.SignatureField})),qrcode:()=>Promise.resolve().then(()=>($n(),Zn)).then(e=>({default:e.QRCodeField})),"object-ref":()=>Promise.resolve().then(()=>(xr(),yr)).then(e=>({default:e.ObjectRefField})),"filter-condition":()=>Promise.resolve().then(()=>(Ir(),Sr)).then(e=>({default:e.FilterConditionField})),"recipient-picker":()=>Promise.resolve().then(()=>(Br(),Lr)).then(e=>({default:e.RecipientPickerField}))},uo=Object.freeze(Object.keys(lo));function fo(e){if(lo[e])return e;let t=K(e).replace(/^field:/,``);return lo[t]?t:`text`}var po=new Map;function mo(e){let t=fo(e),n=po.get(t);return n||(n=u.default.lazy(lo[t]),po.set(t,n)),n}var ho=new Set([`text`,`html`,`image`,`avatar`,`grid`,`textarea`,`select`,`email`,`password`,`slider`,`markdown`,`time`,`address`,`object-ref`,`filter-condition`,`recipient-picker`]),go=new Set([`address`,`geolocation`,`checkboxes`,`radio`,`rating`,`file`,`multiselect`]);function _o(e){let t=lo[e];if(!t){console.warn(`Unknown field type: ${e}`);return}let n=u.default.lazy(t);d.ComponentRegistry.register(e,C(n),{namespace:`field`,skipFallback:ho.has(e),...go.has(e)?{labelling:`group`}:null})}function vo(){Object.keys(lo).forEach(e=>{_o(e)})}vo(),exports.AddressCellRenderer=io,exports.AddressField=Bn,exports.AutoNumberField=di,exports.AvatarField=Ri,exports.BooleanCellRenderer=xa,exports.BooleanField=Re,exports.CapabilityMultiSelectField=vr,exports.CheckboxesField=tt,exports.CodeField=Yn,exports.ColorField=Ln,exports.ColorSwatchCellRenderer=Qa,exports.CurrencyCellRenderer=_a,exports.CurrencyField=we,exports.DISCRETE_EDIT_TYPES=nr,exports.DateCellRenderer=Sa,exports.DateField=mt,exports.DateTimeCellRenderer=Ca,exports.DateTimeField=_t,exports.EmailCellRenderer=Ia,exports.EmailField=Ct,exports.FILE_STORAGE_BASE_PATH=R,exports.FORM_FIELD_TYPES=uo,exports.FieldEditWidget=sr,exports.FileCell=Yr,exports.FileCellRenderer=za,exports.FileField=Jr,exports.FilterConditionField=Nr,exports.FormulaCellRenderer=Wa,exports.FormulaField=ai,exports.GeolocationField=Kn,exports.GridField=Ai,exports.HtmlCellRenderer=no,exports.INLINE_EXCLUDED_FIELD_TYPES=tr,exports.ImageCellRenderer=Ba,exports.ImageCropperDialog=Qr,exports.ImageField=ti,exports.JsonCellRenderer=Za,exports.LineItemsField=Fi,exports.LocationCellRenderer=ro,exports.LocationField=Un,exports.LookupCellRenderer=Ua,exports.LookupField=En,exports.MarkdownCellRenderer=eo,exports.MasterDetailField=Ui,exports.MultiSelectField=Ge,exports.NumberCellRenderer=ga,exports.NumberField=be,exports.ObjectField=mi,exports.ObjectRefField=br,exports.PasswordField=lr,exports.PercentCellRenderer=ya,exports.PercentField=De,exports.PhoneCellRenderer=Ra,exports.PhoneField=Et,exports.QRCodeField=Qn,exports.RadioField=Qe,exports.RatingField=Fe,exports.RecipientPickerField=Rr,exports.RecordPickerDialog=Vt,exports.RichTextField=pr,exports.SelectCellRenderer=Fa,exports.SelectField=Je,exports.SignatureField=Vi,exports.SliderField=Ae,exports.SummaryField=ci,exports.TagsField=it,exports.TextAreaField=_e,exports.TextCellRenderer=ha,exports.TextField=X,exports.TimeField=bt,exports.UrlCellRenderer=La,exports.UrlField=kt,exports.UserCellRenderer=Ga,exports.UserField=Pn,exports.VectorField=_i,exports.buildValidationRules=so,exports.coerceToSafeValue=ra,exports.computeRow=Ti,exports.condToMongo=Er,exports.deriveLookupColumns=_n,exports.evalArith=Ci,exports.evaluateCondition=co,exports.fileIdOf=A,exports.fileUrlFromId=j,exports.fileValueForSubmit=ee,exports.formatCompactCurrency=aa,exports.formatCurrency=ia,exports.formatDate=fa,exports.formatDateTime=pa,exports.formatFileSize=oo,exports.formatNumber=oa,exports.formatPercent=ca,exports.formatRelativeDate=da,exports.fromDateTimeInputValue=dt,exports.getBadgeColorClasses=ja,exports.getCellRenderer=ao,exports.getLazyFieldWidget=mo,exports.getSemanticColorName=Ma,exports.getSemanticHex=Pa,exports.hasFieldEditWidget=ir,exports.humanizeLabel=la,exports.isFileIdToken=_.isFileIdToken,exports.isImageValue=F,exports.isInlineExcludedFieldType=ar,exports.isLikelyOpaqueId=$i,exports.isMatchAllCriteria=jr,exports.kvToCondition=kr,exports.lookupAutofillPatch=wi,exports.lookupFiltersToRecord=It,exports.mapFieldTypeToFormType=K,exports.parseCapabilityNames=hr,exports.pickRecordDisplayName=Ji,exports.readFileValue=N,exports.readFileValues=P,exports.registerAllFields=vo,exports.registerField=_o,exports.registerFieldRenderer=qa,exports.resolveCellRendererType=Xa,Object.defineProperty(exports,"resolveFieldCurrency",{enumerable:!0,get:function(){return f.resolveFieldCurrency}}),exports.resolveFormWidgetType=fo,exports.sumColumn=ki,exports.toDateInputValue=lt,exports.toDateTimeInputValue=ut,exports.toDomProps=q,exports.uploadResultView=I,exports.withFieldCarrier=C,exports.withRecentUploads=L;
8
+ }`,disabled:r||a.disabled,className:(0,p.cn)(`font-mono text-xs`,l?`border-red-500 focus-visible:ring-red-500`:``,a.className),rows:6,"aria-invalid":!!i||!!l}),l&&(0,g.jsx)(`p`,{className:`text-xs text-red-500`,children:l})]})}var ki=o((()=>{Q()})),Ai=s({VectorField:()=>ji});function ji({value:e,field:t,...n}){let r=t?.dimensions||(Array.isArray(e)?e.length:0);if(!e||!Array.isArray(e))return(0,g.jsx)(p.EmptyValue,{});let i=e.slice(0,3).map(e=>{let t=Number(e);return isNaN(t)?`0`:t.toFixed(4)}).join(`, `);return(0,g.jsxs)(`div`,{className:`text-sm ${n.className||``}`,children:[(0,g.jsxs)(`span`,{className:`font-mono text-gray-700`,children:[`[`,i,`...]`]}),(0,g.jsxs)(`span`,{className:`text-gray-500 ml-2`,children:[`(`,r,`D)`]})]})}var Mi=o((()=>{})),Ni=s({GridField:()=>Wi,LineItemsField:()=>Yi,computeRow:()=>zi,evalArith:()=>Li,lookupAutofillPatch:()=>Ri,sumColumn:()=>Ui});function Pi(e){if(e.width)return{width:e.width,minWidth:e.width};if((e.type??`text`)===`text`)return{minWidth:180};let t=Ki[e.type??`text`]??132;return{width:t,minWidth:t}}function Fi(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 Ii(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 Li(e,t){let n=Fi(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=Ii(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 Ri(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 zi(e,t){let n=e.filter(e=>e.computed&&e.expr);if(n.length===0)return t;let r={...t};for(let e of n){let t=Li(e.expr,r);if(t===null){r[e.name]=null;continue}let n=e.scale??(e.type===`currency`?2:void 0);r[e.name]=n==null?t:Number(t.toFixed(n))}return r}function Bi(e,t,n){let r=String(t);if(e===`time`)return r;if(e===`date`){let e=_t(t);if(!e)return r;let[i,a,o]=e.split(`-`).map(Number);return new Date(i,a-1,o).toLocaleDateString(n)}let i=t instanceof Date?t:new Date(r);return Number.isNaN(i.getTime())?r:`${i.toLocaleDateString(n)} ${i.toLocaleTimeString(n)}`}function Vi(e,t,n){if(t==null||t===``)return`—`;if(Ji(e.type))return Bi(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(Gi(e.type)){let n=Number(t);if(Number.isFinite(n))return e.type===`currency`?`${e.prefix||`¥`}${n.toLocaleString()}`:n.toLocaleString()}return Array.isArray(t)?t.join(`, `):String(t)}function Hi(e,t){if(Gi(e)){if(t===``||t==null)return null;let e=Number(t);return Number.isNaN(e)?t:e}return e===`datetime`?yt(t):t}function Ui(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 Wi({value:e,onChange:t,field:n,readonly:r,disabled:i,className:a,error:o,onRowExpand:s,displayMode:c,onAdd:l,...h}){let _=n||{},v=_.columns||[],y=Array.isArray(e)?e:[],b=h.contextRecord,x=(0,f.useDisplayLocale)(),S=(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]),C=c===`list`&&!r,[w,T]=u.default.useState(()=>new Set),E=v.filter(e=>e.defaultHidden&&!e.required),D=v.filter(e=>!e.defaultHidden||e.required||w.has(e.name)),O=(0,u.useCallback)(e=>{T(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),k=_.allow_add!==!1&&!r&&!i,A=_.allow_delete!==!1&&!r&&!i,j=_.allow_duplicate!==!1&&k,M=typeof s==`function`&&!r,N=_.show_line_numbers!==!1,P=_.min_rows??0,F=_.max_rows,I=_.total_field||_.amount_field||_.amountField,ee=_.sort_field,L=_.reorderable!==!1&&!r&&!i,R=(0,u.useCallback)(e=>{t?.(ee?e.map((e,t)=>({...e,[ee]:t})):e)},[t,ee]),te=(0,u.useCallback)(()=>{let e={};for(let t of D)e[t.name]=null;return e},[D]),z=(0,u.useCallback)((e,t)=>{if(e>=y.length){if(F!=null&&y.length>=F)return;R([...y,zi(D,{...te(),...t})]);return}R(y.map((n,r)=>r===e?zi(D,{...n,...t}):n))},[y,D,F,te,R]),B=(0,u.useCallback)((e,t,n)=>z(e,{[t]:n}),[z]),ne=(0,u.useCallback)((e,t,n)=>{z(e,Ri(D,t,n))},[D,z]),re=(0,u.useCallback)((e,t,n)=>B(e,t,n),[B]),V=(0,u.useCallback)((e,t,n)=>{B(e,t.name,Hi(t.type,n))},[B]),ie=(0,u.useCallback)(()=>{F!=null&&y.length>=F||R([...y,te()])},[y,te,F,R]),ae=(0,u.useRef)(null),oe=(0,u.useCallback)((e,t)=>{let n=ae.current?.querySelector(`[data-cell="${e}-${t}"]`);n&&(n.focus(),n instanceof HTMLInputElement&&n.select())},[]),H=(0,u.useCallback)((e,t,n)=>{e.key===`ArrowDown`||e.key===`Enter`?(e.preventDefault(),oe(t+1,n)):e.key===`ArrowUp`&&(e.preventDefault(),t>0&&oe(t-1,n))},[oe]),U=(0,u.useCallback)(e=>{y.length<=P||R(y.filter((t,n)=>n!==e))},[y,P,R]),W=(0,u.useCallback)(e=>{if(F!=null&&y.length>=F)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}),R(o)},[y,F,R]),se=(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),R(n)},[y,R]),G=(0,u.useRef)(null),K=M||A||j,q=(+!!M+ +!!j+ +!!A)*34+12,ce=!!I,J=ce?Ui(y,I):0,Y=ce?Math.max(0,D.findIndex(e=>e.name===I)):-1,X=E.length>0?(0,g.jsxs)(p.Popover,{children:[(0,g.jsx)(p.PopoverTrigger,{asChild:!0,children:(0,g.jsxs)(p.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,g.jsx)(m.SlidersHorizontal,{className:`h-3.5 w-3.5`}),`Columns`,w.size>0&&(0,g.jsxs)(`span`,{className:`rounded-full bg-primary/10 px-1.5 text-[10px] font-medium text-primary`,children:[`+`,w.size]})]})}),(0,g.jsxs)(p.PopoverContent,{align:`end`,className:`w-56 p-2`,children:[(0,g.jsx)(`div`,{className:`px-1 pb-1.5 text-xs font-medium text-muted-foreground`,children:`Optional columns`}),(0,g.jsx)(`div`,{className:`max-h-64 space-y-0.5 overflow-y-auto`,children:E.map(e=>{let t=`col-toggle-${e.name}`;return(0,g.jsxs)(p.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,g.jsx)(p.Checkbox,{id:t,checked:w.has(e.name),onCheckedChange:()=>O(e.name)}),(0,g.jsx)(`span`,{className:`truncate`,children:e.label||e.name})]},e.name)})})]})]}):null;if(r)return(0,g.jsxs)(`div`,{...Pe(h,`instead-of-the-inputs`),className:(0,p.cn)(`space-y-2`,a),children:[X&&(0,g.jsx)(`div`,{className:`flex justify-end`,children:X}),(0,g.jsx)(`div`,{className:`border border-border rounded-lg overflow-x-auto`,"data-testid":`line-items-readonly`,children:(0,g.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,g.jsx)(`thead`,{className:`bg-muted border-b border-border`,children:(0,g.jsxs)(`tr`,{children:[N&&(0,g.jsx)(`th`,{className:`w-10 px-2 py-2 text-right text-xs font-medium text-muted-foreground`,children:`#`}),D.map(e=>(0,g.jsx)(`th`,{style:{minWidth:qi(e)},className:(0,p.cn)(`px-3 py-2 text-xs font-medium text-muted-foreground whitespace-nowrap`,Gi(e.type)?`text-right`:`text-left`),children:e.label||e.name},e.name))]})}),(0,g.jsx)(`tbody`,{className:`divide-y divide-border`,children:y.length===0?(0,g.jsx)(`tr`,{children:(0,g.jsx)(`td`,{colSpan:Math.max(D.length+ +!!N,1),className:`px-3 py-6 text-center text-muted-foreground`,children:`No items`})}):y.map((e,t)=>(0,g.jsxs)(`tr`,{children:[N&&(0,g.jsx)(`td`,{className:`px-2 py-2 text-right text-muted-foreground tabular-nums`,children:t+1}),D.map(t=>(0,g.jsx)(`td`,{className:(0,p.cn)(`px-3 py-2 text-foreground`,Gi(t.type)&&`text-right tabular-nums`),children:t.type===`lookup`&&e[t.name]!=null&&e[t.name]!==``?(0,g.jsx)(Rn,{value:e[t.name],onChange:()=>{},readonly:!0,field:{reference:t.reference,display_field:t.displayField,id_field:t.idField}}):t.type===`file`||Ji(t.type)?Vi(t,e[t.name],x):e[t.name]!=null&&e[t.name]!==``?String(e[t.name]):`—`},t.name))]},t))}),ce&&(0,g.jsx)(`tfoot`,{className:`border-t border-border bg-muted/40`,children:(0,g.jsxs)(`tr`,{children:[(0,g.jsx)(`td`,{colSpan:Math.max(+!!N+Y,1),className:`px-3 py-2 text-right text-xs font-medium text-muted-foreground`,children:`Total`}),(0,g.jsx)(`td`,{className:`px-3 py-2 text-right font-semibold text-foreground tabular-nums`,children:J.toLocaleString()}),D.length-Y-1>0&&(0,g.jsx)(`td`,{colSpan:D.length-Y-1})]})})]})})]});let le=!C&&k&&(F==null||y.length<F),ue=le?[...y,te()]:y,de=!!o&&y.length===0,fe=(e,t,n,r,a=!1)=>{let o=r?.[e.name],s=i||S(e,r).readonly;return C?e.type===`lookup`&&o!=null&&o!==``?(0,g.jsx)(Rn,{value:o,onChange:()=>{},readonly:!0,field:{reference:e.reference,display_field:e.displayField,id_field:e.idField}}):(0,g.jsx)(`span`,{className:(0,p.cn)(`px-2 text-sm text-foreground`,Gi(e.type)&&`tabular-nums`,(o==null||o===``)&&`text-muted-foreground`),children:Vi(e,o,x)}):e.computed?(0,g.jsx)(`span`,{className:(0,p.cn)(`block px-2 text-sm tabular-nums`,Gi(e.type)?`text-right`:`text-left`,o==null||o===``?`text-muted-foreground`:`text-foreground`),title:`Computed`,"data-computed":e.name,children:Vi(e,o,x)}):e.type===`lookup`?(0,g.jsx)(Rn,{value:o,onChange:t=>re(n,e.name,t),onSelectRecord:t=>ne(n,e,t),compact:!0,field:{reference:e.reference,display_field:e.displayField,id_field:e.idField,multiple:e.multiple,options:e.options,placeholder:`—`},disabled:s,error:a?`${e.label||e.name} is required`:void 0}):e.type===`file`?(0,g.jsx)(li,{value:o,onChange:t=>re(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?`${e.label||e.name} is required`:void 0}):e.type===`select`?(0,g.jsxs)(p.Select,{value:o==null?``:String(o),onValueChange:t=>V(n,e,t),disabled:s,children:[(0,g.jsx)(p.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,g.jsx)(p.SelectValue,{placeholder:`—`})}),(0,g.jsx)(p.SelectContent,{children:(e.options||[]).map(e=>(0,g.jsx)(p.SelectItem,{value:e.value,children:e.label},e.value))})]}):(0,g.jsxs)(`div`,{className:`relative`,children:[e.type===`currency`&&(0,g.jsx)(`span`,{className:`pointer-events-none absolute left-2 top-1/2 -translate-y-1/2 text-xs text-muted-foreground`,children:e.prefix||`¥`}),(0,g.jsx)(p.Input,{"data-cell":`${n}-${t}`,"aria-invalid":a||void 0,onKeyDown:e=>H(e,n,t),className:(0,p.cn)(`h-8 rounded-none border-0 bg-transparent px-2 shadow-none focus-visible:ring-1 focus-visible:ring-ring/60`,e.type===`currency`&&`pl-6`,Gi(e.type)&&`text-right tabular-nums`),type:e.type===`date`?`date`:e.type===`datetime`?`datetime-local`:e.type===`time`?`time`:Gi(e.type)?`number`:`text`,step:Gi(e.type)?e.step??`any`:void 0,"aria-label":e.label||e.name,value:e.type===`date`?_t(o):e.type===`datetime`?vt(o):o==null?``:String(o),onChange:t=>V(n,e,t.target.value),disabled:s})]})},{"aria-invalid":pe,name:me,...he}=Z(h),ge=he[`aria-labelledby`]!=null;return(0,g.jsxs)(`div`,{...he,role:ge?`group`:void 0,className:(0,p.cn)(`space-y-2`,a),"data-testid":`line-items`,children:[X&&(0,g.jsx)(`div`,{className:`flex justify-end`,children:X}),(0,g.jsx)(`div`,{className:`border border-border rounded-lg overflow-x-auto`,children:(0,g.jsxs)(`table`,{ref:ae,className:`w-full text-sm`,children:[(0,g.jsx)(`thead`,{className:`bg-muted/60 border-b border-border`,children:(0,g.jsxs)(`tr`,{children:[N&&(0,g.jsx)(`th`,{className:(0,p.cn)(`px-2 py-2 text-right text-xs font-medium text-muted-foreground`,L?`w-14`:`w-10`),children:`#`}),D.map(e=>(0,g.jsxs)(`th`,{className:(0,p.cn)(`px-2 py-2 text-xs font-medium text-muted-foreground whitespace-nowrap`,Gi(e.type)?`text-right`:`text-left`),style:Pi(e),children:[e.label||e.name,e.required&&!e.computed&&(0,g.jsx)(`span`,{className:`text-destructive`,children:` *`})]},e.name)),K&&(0,g.jsx)(`th`,{style:{width:q}})]})}),(0,g.jsx)(`tbody`,{className:`divide-y divide-border`,children:C&&y.length===0?(0,g.jsx)(`tr`,{children:(0,g.jsxs)(`td`,{colSpan:D.length+ +!!K+ +!!N,className:`px-3 py-6 text-center text-muted-foreground`,children:[`No items yet — click “`,_.add_label||`Add`,`” to begin.`]})}):ue.map((e,t)=>{let n=le&&t===y.length,r=L&&!n&&!C;return(0,g.jsxs)(`tr`,{className:(0,p.cn)(`group`,!n&&`hover:bg-muted/30`),...L&&!n?{onDragOver:e=>{G.current!=null&&e.preventDefault()},onDrop:e=>{e.preventDefault(),G.current!=null&&(se(G.current,t),G.current=null)}}:{},children:[N&&(0,g.jsx)(`td`,{className:`px-1 py-1 text-right align-middle text-xs text-muted-foreground tabular-nums`,children:(0,g.jsxs)(`span`,{className:`inline-flex items-center justify-end gap-0.5`,children:[r&&(0,g.jsx)(`span`,{draggable:!0,onDragStart:()=>{G.current=t},onDragEnd:()=>{G.current=null},className:`cursor-grab text-muted-foreground/40 opacity-0 transition-opacity group-hover:opacity-100`,title:`Drag to reorder`,"aria-label":`Drag to reorder`,"data-testid":`line-items-drag-${t}`,children:(0,g.jsx)(m.GripVertical,{className:`h-3.5 w-3.5`})}),(0,g.jsx)(`span`,{className:(0,p.cn)(n&&`opacity-30`),children:t+1})]})}),D.map((r,i)=>{let a=S(r,e).required,o=(!n||de)&&!C&&a&&!r.computed&&(e[r.name]==null||e[r.name]===``);return(0,g.jsx)(`td`,{title:o?`${r.label||r.name} is required`:void 0,"data-testid":o?`line-items-invalid-${t}-${r.name}`:void 0,className:(0,p.cn)(`border-r border-border/40 px-1 py-0.5 align-middle last:border-r-0`,C&&`px-2 py-1.5`,o&&`bg-destructive/5 ring-1 ring-inset ring-destructive/50`),children:fe(r,i,t,e,o)},r.name)}),K&&(0,g.jsx)(`td`,{className:`px-1 py-0.5 align-middle whitespace-nowrap`,children:(0,g.jsxs)(`div`,{className:`flex items-center justify-center gap-0.5`,children:[!n&&M&&(0,g.jsx)(p.Button,{type:`button`,variant:`ghost`,size:`icon`,className:`h-8 w-8 text-muted-foreground hover:text-foreground`,"aria-label":`Open row`,title:`Open full form`,"data-testid":`line-items-expand-${t}`,onClick:()=>s(t),children:(0,g.jsx)(m.Maximize2,{className:`h-3.5 w-3.5`})}),!n&&j&&(0,g.jsx)(p.Button,{type:`button`,variant:`ghost`,size:`icon`,className:`h-8 w-8 text-muted-foreground hover:text-foreground`,"aria-label":`Duplicate row`,title:`Duplicate line`,"data-testid":`line-items-duplicate-${t}`,onClick:()=>W(t),disabled:i||F!=null&&y.length>=F,children:(0,g.jsx)(m.Copy,{className:`h-3.5 w-3.5`})}),!n&&A&&(0,g.jsx)(p.Button,{type:`button`,variant:`ghost`,size:`icon`,className:`h-8 w-8 text-muted-foreground hover:text-destructive`,"aria-label":`Remove row`,"data-testid":`line-items-remove-${t}`,onClick:()=>U(t),disabled:i||y.length<=P,children:(0,g.jsx)(m.Trash2,{className:`h-4 w-4`})})]})})]},t)})}),ce&&(0,g.jsx)(`tfoot`,{className:`border-t border-border bg-muted/40`,children:(0,g.jsxs)(`tr`,{children:[(0,g.jsx)(`td`,{colSpan:Math.max(+!!N+Y,1),className:`px-3 py-2 text-right text-xs font-medium text-muted-foreground`,children:`Total`}),(0,g.jsx)(`td`,{className:`px-3 py-2 text-right font-semibold text-foreground tabular-nums`,"data-testid":`line-items-total`,children:J.toLocaleString()}),D.length-Y-1+ +!!K>0&&(0,g.jsx)(`td`,{colSpan:D.length-Y-1+ +!!K})]})})]})}),k&&(0,g.jsxs)(p.Button,{type:`button`,variant:`outline`,size:`sm`,onClick:C&&l?l:ie,disabled:F!=null&&y.length>=F,"data-testid":`line-items-add`,children:[(0,g.jsx)(m.Plus,{className:`mr-1.5 h-4 w-4`}),_.add_label||`Add line`]})]})}var Gi,Ki,qi,Ji,Yi,Xi=o((()=>{Un(),ui(),bt(),Q(),Fe(),Gi=e=>e===`number`||e===`currency`,Ki={text:160,select:132,lookup:168,number:104,currency:116,date:150,datetime:200,time:116,file:168},qi=e=>e.width??Ki[e.type??`text`]??132,Ji=e=>e===`date`||e===`datetime`||e===`time`,Yi=Wi})),Zi=s({AvatarField:()=>Qi});function Qi({value:e,onChange:t,field:n,readonly:r,error:i,...a}){let[o,s]=u.default.useState(!1),c=u.default.useRef(null),l=n,d=e=>{let n=e.target.files?.[0];if(!n)return;if(!n.type.startsWith(`image/`)){console.error(`Please select an image file`);return}if(n.size>5242880){console.error(`File size must be less than 5MB`);return}let r=new FileReader;r.onloadend=()=>{t(r.result)},r.readAsDataURL(n)},f=()=>{t(``)},h=()=>(l?.defaultName||l?.label||`User`).split(` `).map(e=>e[0]).join(``).toUpperCase().slice(0,2);return r?(0,g.jsxs)(p.Avatar,{className:`w-16 h-16`,children:[e&&(0,g.jsx)(p.AvatarImage,{src:e,alt:l?.label}),(0,g.jsx)(p.AvatarFallback,{children:h()})]}):(0,g.jsxs)(`div`,{className:`flex items-center gap-4`,children:[(0,g.jsxs)(`div`,{className:`relative`,onMouseEnter:()=>s(!0),onMouseLeave:()=>s(!1),children:[(0,g.jsxs)(p.Avatar,{className:`w-16 h-16`,children:[e&&(0,g.jsx)(p.AvatarImage,{src:e,alt:l?.label}),(0,g.jsx)(p.AvatarFallback,{children:h()})]}),!r&&o&&e&&(0,g.jsx)(`button`,{type:`button`,onClick:f,className:`absolute -top-1 -right-1 bg-destructive text-destructive-foreground rounded-full p-1 hover:bg-destructive/90`,children:(0,g.jsx)(m.X,{className:`w-3 h-3`})})]}),(0,g.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,g.jsx)(`input`,{ref:c,type:`file`,accept:`image/*`,onChange:d,className:`hidden`}),(0,g.jsxs)(p.Button,{...Z(a),type:`button`,variant:`outline`,size:`sm`,onClick:()=>c.current?.click(),disabled:r||a.disabled,"aria-invalid":!!i,children:[(0,g.jsx)(m.Upload,{className:`w-4 h-4 mr-2`}),e?`Change`:`Upload`,` Avatar`]}),(0,g.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`PNG, JPG up to 5MB`})]})]})}var $i=o((()=>{Q()})),ea=s({SignatureField:()=>ta});function ta({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`))},h=()=>{let e=i.current;if(!e)return;let n=e.getContext(`2d`);n&&(n.clearRect(0,0,e.width,e.height),c(!0),t(``))},_=Pe(r,`instead-of-the-inputs`);return n&&e?(0,g.jsx)(`div`,{..._,className:`border rounded p-2 bg-white`,children:(0,g.jsx)(`img`,{src:e,alt:`Signature`,loading:`lazy`,className:`max-w-full h-auto`})}):n&&!e?(0,g.jsx)(`span`,{..._,className:`text-sm text-muted-foreground`,children:`No signature`}):(0,g.jsxs)(`div`,{..._,className:`space-y-2`,children:[(0,g.jsx)(`div`,{className:`border rounded bg-white`,children:(0,g.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,g.jsxs)(`div`,{className:`flex justify-between items-center`,children:[(0,g.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:s?`Sign above`:`Signature captured`}),(0,g.jsxs)(p.Button,{type:`button`,variant:`outline`,size:`sm`,onClick:h,disabled:n||s,children:[(0,g.jsx)(m.Eraser,{className:`w-4 h-4 mr-2`}),`Clear`]})]})]})}var na=o((()=>{Fe()}));pi();function ra({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,g.jsxs)(`div`,{className:(0,p.cn)(`space-y-2`,i),children:[o.length===0?(0,g.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:`No related records`}):o.map(e=>(0,g.jsxs)(`div`,{className:`flex items-center justify-between p-2 border rounded hover:bg-muted/50`,children:[(0,g.jsx)(`span`,{className:`text-sm`,children:e.label}),(0,g.jsx)(p.Button,{type:`button`,variant:`ghost`,size:`sm`,onClick:()=>void 0,children:(0,g.jsx)(m.ExternalLink,{className:`w-4 h-4`})})]},e.id)),(0,g.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[o.length,` `,o.length===1?`record`:`records`]})]}):(0,g.jsxs)(`div`,{className:(0,p.cn)(`space-y-3`,i),children:[(0,g.jsxs)(`div`,{className:`space-y-2`,children:[o.map(e=>(0,g.jsxs)(`div`,{className:`flex items-center justify-between gap-2 p-2 border rounded hover:bg-muted/50`,children:[(0,g.jsxs)(`div`,{className:`flex items-center gap-2 flex-1`,children:[(0,g.jsx)(p.Badge,{variant:`outline`,children:e.id}),(0,g.jsx)(`span`,{className:`text-sm flex-1`,children:e.label})]}),(0,g.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,g.jsx)(p.Button,{type:`button`,variant:`ghost`,size:`sm`,onClick:()=>void 0,children:(0,g.jsx)(m.ExternalLink,{className:`w-4 h-4`})}),(0,g.jsx)(p.Button,{type:`button`,variant:`ghost`,size:`sm`,onClick:()=>l(e.id),disabled:a.disabled,children:(0,g.jsx)(m.X,{className:`w-4 h-4`})})]})]},e.id)),o.length===0&&(0,g.jsx)(`div`,{className:`text-sm text-muted-foreground text-center py-4 border border-dashed rounded bg-muted/20`,children:`No related records`})]}),(0,g.jsxs)(p.Button,{type:`button`,variant:`outline`,className:`w-full`,onClick:c,disabled:a.disabled,children:[(0,g.jsx)(m.Plus,{className:`w-4 h-4 mr-2`}),`Add `,s?.label||`Record`]})]})}k(),j(),B(),oe(),X(),fe(),B(),ve(),Ee(),We(),it(),Ct(),Et(),kt(),Mt(),Ft(),Rt(),Ae(),Ne(),Sr(),Ce(),Dr(),Un(),Pr(),Xr(),ei(),rn(),jn(),ui(),_i(),nr(),bi(),Ci(),Ei(),qn(),ki(),Mi(),Xi(),Xn(),Re(),Ve(),cr(),$i(),$n(),ar(),na(),dr(),et(),st(),ut(),pt(),Q(),bt(),ve(),Ce(),Ee(),Ae(),Ne(),Re(),Ve(),We(),et(),it(),st(),ut(),pt(),Ct(),Et(),kt(),Mt(),Ft(),Rt(),rn(),jn(),Un(),qn(),Xn(),$n(),nr(),ar(),cr(),dr(),Sr(),Dr(),Pr(),Xr(),ei(),ui(),_i(),bi(),Ci(),Ei(),ki(),Mi(),Xi(),$i(),na();var ia=new Map;function aa(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 oa=new Map;async function sa(e,t){let n=()=>{let e=oa.get(t);return e?.state===`ok`?e.schema:void 0},r=oa.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=>{oa.set(t,{state:`ok`,schema:e})}).catch(()=>{oa.set(t,{state:`err`})});return oa.set(t,{state:`pending`,promise:a}),await a,n()}function ca(e){let t=u.default.useContext(h.SchemaRendererContext)?.dataSource,[,n]=u.default.useState(0),r=!!e&&!!t&&typeof t.getObjectSchema==`function`;if(u.default.useEffect(()=>{if(!r)return;let i=oa.get(e);if(i&&i.state!==`pending`)return;let a=!0;return sa(t,e).then(()=>{a&&n(e=>e+1)}),()=>{a=!1}},[r,e,t]),!r)return;let i=oa.get(e);return i?.state===`ok`?i.schema:void 0}function la(e,t,n){if(!(!e||typeof e!=`object`)){if(t){let r=(0,d.getRecordDisplayName)(t,e,{titleField:n}),i=e.id??e._id;if(!(r===`Untitled`||i!=null&&r===`Record #${i}`)&&r)return r}return aa(e,n)}}function ua(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 da(e,t,n){let r=u.default.useContext(h.SchemaRendererContext)?.dataSource,[,i]=u.default.useState(0),a=!!e&&!!r&&typeof r.find==`function`&&(typeof t==`string`||typeof t==`number`)&&t!==``,o=a?`${e}:${String(t)}:${n??``}`:``;if(u.default.useEffect(()=>{if(!a)return;let s=ia.get(o);if(s&&s.state!==`pending`&&s.promise==null||s?.state===`pending`)return;let c=(async()=>{try{let i;if(typeof r.findOne==`function`)i=await r.findOne(e,t);else{let n=await r.find(e,{$filter:{id:t},$top:1});i=(Array.isArray(n)?n:n?.value||n?.data||[])[0]}let a=await sa(r,e),s=la(i,a,n);ia.set(o,{state:`ok`,name:s})}catch{ia.set(o,{state:`err`})}i(e=>e+1)})();ia.set(o,{state:`pending`,promise:c})},[o,a,e,t,n,r]),!a)return;let s=ia.get(o);return s?.state===`ok`?s.name:void 0}function fa(){let{t:e}=(0,h.useObjectTranslation)();return(t,n)=>{let r=e(t);return!r||r===t?n:r}}function pa(){let{t:e}=(0,h.useObjectTranslation)();return e}function ma(e){if(e==null||typeof e==`number`||typeof e==`boolean`)return e;if(typeof e==`string`){let t=e.trim();if(t.startsWith(`{`)&&t.endsWith(`}`)||t.startsWith(`[`)&&t.endsWith(`]`))try{return ma(JSON.parse(t))}catch{}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)}function ha(e,t,n){let r=Number.isFinite(e)&&e===Math.trunc(e)?0:t?ne(t):2;if(!t)return _a(e,r,n);try{return(0,f.formatDisplayNumber)(e,{locale:n,currency:t,minimumFractionDigits:r,maximumFractionDigits:r})}catch{return`${t} ${e.toFixed(r)}`}}function ga(e,t,n){if(!t)try{return(0,f.formatDisplayNumber)(e,{locale:n,notation:`compact`,maximumFractionDigits:1}).replace(/\.0(?=[KMBT])/,``)}catch{return String(e)}try{return(0,f.formatDisplayNumber)(e,{locale:n,currency:t,notation:`compact`,maximumFractionDigits:1}).replace(/\.0(?=[KMBT])/,``)}catch{return`${t} ${e}`}}function _a(e,t=2,n){try{return(0,f.formatDisplayNumber)(e,{locale:n,minimumFractionDigits:t,maximumFractionDigits:t})}catch{return e.toFixed(t)}}function va(e,t,n){try{return(0,f.formatDisplayNumber)(e,{locale:n,style:`percentPoints`,minimumFractionDigits:t,maximumFractionDigits:t})}catch{return`${e.toFixed(t)}%`}}function ya(e,t=0,n){return va((0,d.percentDisplayValue)(e),t,n)}function ba(e,t){try{let n=new Intl.RelativeTimeFormat(t,{numeric:`auto`}).format(e,`day`);return n.charAt(0).toUpperCase()+n.slice(1)}catch{return e===0?`Today`:e===1?`Tomorrow`:e===-1?`Yesterday`:e>0?`In ${e} days`:`${Math.abs(e)} days ago`}}function xa(e,t){if(e==null||e===``)return`—`;let n=e instanceof Date?e:new Date(e);if(!(n instanceof Date)||isNaN(n.getTime()))return`—`;let r=new Date,i=new Date(r.getFullYear(),r.getMonth(),r.getDate()),a=new Date(n.getFullYear(),n.getMonth(),n.getDate()).getTime()-i.getTime(),o=Math.round(a/864e5);if(o<-7||o>7)return Sa(n,void 0,t);if(o<-1&&t?.dueLike){let e=Math.abs(o),n=`fields.relativeDate.overdue`,r=t.t?.(n,{count:e});return r&&r!==n?r:`Overdue ${e}d`}return ba(o,t?.locale)}function Sa(e,t,n){if(e==null||e===``)return`—`;let r=e instanceof Date?e:new Date(e);if(!(r instanceof Date)||isNaN(r.getTime()))return`—`;if(t===`short`)return`${r.toLocaleDateString(n?.locale,{month:`short`})} ${r.getDate()}, '${String(r.getFullYear()).slice(-2)}`;if(t===`relative`)return xa(r,n);let i=r.getFullYear()===new Date().getFullYear();return r.toLocaleDateString(n?.locale,{year:i?void 0:`numeric`,month:`short`,day:`numeric`})}function Ca(e,t){if(e==null||e===``)return`—`;let n=e instanceof Date?e:new Date(e);return!(n instanceof Date)||isNaN(n.getTime())?`—`:n.toLocaleDateString(t?.locale,{year:`numeric`,month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`})}function wa({text:e,className:t}){return(0,g.jsx)(`span`,{className:(0,p.cn)(`block max-w-full truncate`,t),title:e,children:e})}function Ta({value:e}){let t=ma(e);return t==null||t===``?(0,g.jsx)(p.EmptyValue,{}):(0,g.jsx)(wa,{text:String(t)})}function Ea({value:e,field:t}){let n=(0,f.useDisplayLocale)();if(e==null)return(0,g.jsx)(p.EmptyValue,{});let r=ma(e),i=t,a=typeof i.scale==`number`?i.scale:void 0,o=Number(r),s=isNaN(o)?String(r):(0,f.formatDisplayNumber)(o,{locale:n,scale:a,minimumFractionDigits:a??0,maximumFractionDigits:a??20});return(0,g.jsx)(`span`,{className:`tabular-nums`,children:s})}function Da({value:e,field:t}){let{currency:n}=(0,f.useLocalization)(),r=(0,f.useDisplayLocale)();if(e==null)return(0,g.jsx)(p.EmptyValue,{});let i=ma(e),a=(0,f.resolveFieldCurrency)(t,n),o=Number(i),s=isNaN(o)?String(i):ha(o,a,r);return(0,g.jsx)(`span`,{className:`tabular-nums font-medium whitespace-nowrap`,children:s})}var Oa=/progress|completion/;function ka({value:e,field:t}){let n=(0,f.useDisplayLocale)();if(e==null)return(0,g.jsx)(p.EmptyValue,{});let r=ma(e),i=t.precision??0,a=Number(r);if(isNaN(a))return(0,g.jsx)(`span`,{className:`tabular-nums whitespace-nowrap`,children:String(r)});let o=Oa.test(t?.name?.toLowerCase()||``),s=o?a:a>-1&&a<1?a*100:a,c=o?va(a,i,n):ya(a,i,n),l=Math.max(0,Math.min(100,s));return(0,g.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,g.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":l,"aria-valuemin":0,"aria-valuemax":100,children:(0,g.jsx)(`div`,{className:`h-full rounded-full bg-primary transition-all`,style:{width:`${l}%`}})}),(0,g.jsx)(`span`,{className:`shrink-0 tabular-nums whitespace-nowrap`,children:c})]})}var Aa=new Set([`active`,`is_active`,`enabled`,`is_enabled`,`verified`,`is_verified`]);function ja({value:e,field:t}){if(e==null)return(0,g.jsx)(`span`,{className:`flex items-center justify-center`,children:(0,g.jsx)(p.EmptyValue,{})});let n=t?.name?.toLowerCase()||``;return n===`completed`||n===`is_completed`||n===`done`||n===`is_done`?(0,g.jsx)(`div`,{className:`flex items-center justify-center`,children:e?(0,g.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,g.jsx)(m.Check,{className:`size-3 text-white`})}):(0,g.jsx)(`div`,{className:`size-5 rounded-full border-2 border-muted-foreground/30`,role:`img`,"aria-label":`Not completed`,"data-testid":`completion-indicator`})}):Aa.has(n)&&!e?(0,g.jsxs)(p.Badge,{variant:`destructive`,className:`text-xs`,"data-testid":`boolean-warning-badge`,children:[t?.label||(0,d.humanizeLabel)(n),` — Off`]}):(0,g.jsx)(`div`,{className:`flex items-center justify-start`,children:(0,g.jsx)(p.Checkbox,{checked:!!e,disabled:!0,className:`pointer-events-none`})})}function Ma({value:e,field:t}){let n=(0,f.useDisplayLocale)(),r=pa();if(!e)return(0,g.jsx)(p.EmptyValue,{});let i=ma(e),a=t,o=a.format||`relative`,s=String(a?.name||a?.accessorKey||a?.key||``).toLowerCase(),c=a?.dueLike===!0||/(^|_)(due|deadline|expires?|expiry|expiration|expected_close|target_close|sla|return_by|renewal|next_action)(_|$)/.test(s),l=Sa(i,o,{dueLike:c,locale:n,t:r}),u=i==null?null:new Date(i),d=u!==null&&!isNaN(u.getTime()),m=new Date;m.setHours(0,0,0,0);let h=c&&d&&u<m,_=d?u.toISOString():String(i);return(0,g.jsx)(`span`,{className:`tabular-nums${h?` text-red-600`:``}`,title:_,children:l})}function Na({value:e}){let t=(0,f.useDisplayLocale)();if(!e)return(0,g.jsx)(p.EmptyValue,{});let n=ma(e),r=n==null?null:new Date(n);if(r===null||isNaN(r.getTime()))return(0,g.jsx)(p.EmptyValue,{});let i=r.toLocaleDateString(t,{month:`numeric`,day:`numeric`,year:`numeric`}),a=r.toLocaleTimeString(t,{hour:`numeric`,minute:`2-digit`,hour12:!0}).toLowerCase();return(0,g.jsxs)(`span`,{className:`tabular-nums text-sm whitespace-nowrap`,children:[(0,g.jsx)(`span`,{children:i}),(0,g.jsx)(`span`,{className:`ml-2 text-muted-foreground`,children:a})]})}var Pa={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`},Fa={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`},Ia={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`},La=[`blue`,`green`,`purple`,`orange`,`pink`,`indigo`,`yellow`,`red`];function Ra(e){let t=5381;for(let n=0;n<e.length;n++)t=(t<<5)+t^e.charCodeAt(n);return La[Math.abs(t)%La.length]}function za(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 Ba(e){if(e){if(Fa[e])return e;if(e.charAt(0)===`#`)return za(e)}}var Va=4.5,Ha=1.9,Ua={r:255,g:255,b:255},Wa={r:10,g:10,b:10},Ga=(e,t,n)=>Math.min(n,Math.max(t,e));function Ka(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 qa({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 Ja(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 Ya=({r:e,g:t,b:n})=>`#`+[e,t,n].map(e=>Ga(Math.round(e),0,255).toString(16).padStart(2,`0`)).join(``);function Xa({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 Za(e,t){let n=Xa(e),r=Xa(t);return(Math.max(n,r)+.05)/(Math.min(n,r)+.05)}function Qa(e,t,n,r,i){let a,o=1/0;for(let s=0;s<=100;s++){let c=s/100,l=Ja(e,t,c);if(Za(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 Za(s,r)>=Za(c,r)?s:c}function $a(e){let t=Ka(e);if(!t)return;let{h:n,s:r,l:i}=qa(t),a=Ga(r,.18,.92),o=.95-.32*(1-i),s=Ja(n,a*(.55+.25*(1-i)),o),c=Ja(n,a*.62,Ga(o-.14,0,1)),l=Qa(n,a,i,s,Va),u=.1+.3*i,d=Ja(n,a*.6,u),f=Ja(n,a*.55,Ga(u+.12,0,1)),p=Qa(n,a,i,d,Va);return{bg:Ya(s),fg:Ya(l),border:Ya(c),bgDark:Ya(d),fgDark:Ya(p),borderDark:Ya(f),dot:Ya(Qa(n,a,i,Ua,Ha)),dotDark:Ya(Qa(n,a,i,Wa,Ha))}}var eo=`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)]`,to=`bg-[color:var(--os-dot-bg)] dark:bg-[color:var(--os-dot-bg-dark)]`;function no(e){if(!e||e.charAt(0)!==`#`)return;let t=$a(e);if(t)return{className:eo,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 ro(e){if(!e||e.charAt(0)!==`#`)return;let t=$a(e);if(t)return{className:to,style:{"--os-dot-bg":t.dot,"--os-dot-bg-dark":t.dotDark}}}function io(e,t){let n=Ba(e);if(n&&Fa[n])return Fa[n];if(t==null||t===``)return`bg-muted text-muted-foreground border-border`;let r=String(t).toLowerCase().replace(/[\s-]/g,`_`),i=Pa[r];return i&&Fa[i]?Fa[i]:Fa[Ra(r)]}function ao(e,t){let n=Ba(e);if(n&&Fa[n])return n;if(t==null||t===``)return;let r=String(t).toLowerCase().replace(/[\s-]/g,`_`);return Pa[r]||Ra(r)}var oo={gray:`#6b7280`,red:`#ef4444`,orange:`#f97316`,yellow:`#eab308`,green:`#22c55e`,blue:`#3b82f6`,indigo:`#6366f1`,purple:`#a855f7`,pink:`#ec4899`};function so(e,t=`#3b82f6`){return e?oo[e]??t:t}function co({value:e,field:t}){let n=t,r=n.options||[],i=n.appearance===`dot`?`dot`:`badge`;if(e==null||e===``)return(0,g.jsx)(p.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||(0,d.humanizeLabel)(String(e));if(i===`dot`){let i=ro(n?.color),a=Ba(n?.color)||Pa[String(e).toLowerCase().replace(/[\s-]/g,`_`)]||Ra(String(e).toLowerCase().replace(/[\s-]/g,`_`)),o=i?i.className:Ia[a]||Ia.gray;return(0,g.jsxs)(`span`,{className:`inline-flex max-w-full items-center gap-1.5 text-sm`,title:r,children:[(0,g.jsx)(`span`,{className:(0,p.cn)(`h-1.5 w-1.5 rounded-full shrink-0`,o),style:i?.style,"aria-hidden":`true`}),(0,g.jsx)(`span`,{className:`min-w-0 truncate`,children:r})]},t)}let o=no(n?.color),s=o?o.className:io(n?.color,e);return(0,g.jsx)(p.Badge,{variant:`outline`,className:(0,p.cn)(`max-w-full min-w-0`,s),style:o?.style,title:r,children:(0,g.jsx)(`span`,{className:`truncate`,children:r})},t)};return Array.isArray(e)?(0,g.jsx)(`div`,{className:(0,p.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 lo({value:e}){let t=fa(),[n,r]=u.default.useState(!1);if(!e)return(0,g.jsx)(p.EmptyValue,{});let i=String(ma(e)??``);return(0,g.jsxs)(`span`,{className:`inline-flex items-center gap-1 group/email`,children:[(0,g.jsx)(p.Button,{variant:`link`,className:`p-0 h-auto font-normal text-blue-600 hover:text-blue-800`,asChild:!0,children:(0,g.jsx)(`a`,{href:`mailto:${i}`,onClick:e=>e.stopPropagation(),children:i})}),(0,g.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(i).then(()=>{r(!0),setTimeout(()=>r(!1),2e3)}).catch(()=>{})},"aria-label":t(`detail.copyEmail`,`Copy email`),children:n?(0,g.jsx)(m.Check,{className:`h-3 w-3 text-green-600`}):(0,g.jsx)(m.Copy,{className:`h-3 w-3 text-muted-foreground`})})]})}function uo({value:e}){if(!e)return(0,g.jsx)(p.EmptyValue,{});let t=String(ma(e)??``);return(0,g.jsx)(p.Button,{variant:`link`,className:`p-0 h-auto font-normal text-blue-600 hover:text-blue-800`,asChild:!0,children:(0,g.jsx)(`a`,{href:t,target:`_blank`,rel:`noopener noreferrer`,onClick:e=>e.stopPropagation(),children:t})})}function fo({value:e}){let t=fa(),[n,r]=u.default.useState(!1);if(!e)return(0,g.jsx)(p.EmptyValue,{});let i=String(ma(e)??``);return(0,g.jsxs)(`span`,{className:`inline-flex items-center gap-1 group/phone`,children:[(0,g.jsxs)(`a`,{href:`tel:${i}`,className:`inline-flex items-center gap-1 text-blue-600 hover:text-blue-800`,onClick:e=>e.stopPropagation(),children:[(0,g.jsx)(m.Phone,{className:`h-3 w-3`}),i]}),(0,g.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(i).then(()=>{r(!0),setTimeout(()=>r(!1),2e3)}).catch(()=>{})},"aria-label":t(`detail.copyPhone`,`Copy phone number`),children:n?(0,g.jsx)(m.Check,{className:`h-3 w-3 text-green-600`}):(0,g.jsx)(m.Copy,{className:`h-3 w-3 text-muted-foreground`})})]})}function po({value:e,field:t}){if(!e)return(0,g.jsx)(p.EmptyValue,{});if(t.multiple,Array.isArray(e)){let t=e.length;return(0,g.jsxs)(`span`,{className:`text-sm text-gray-600`,children:[t,` `,t===1?`file`:`files`]})}let n=e.name||e.original_name||`File`;return(0,g.jsx)(wa,{text:String(n),className:`text-sm`})}function mo({value:e}){let{t}=(0,h.useObjectTranslation)(),[n,r]=u.default.useState(null),i=u.default.useMemo(()=>I(e,`Image`).filter(e=>e.url).map(e=>({url:e.url,name:e.name})),[e]);if(!e||i.length===0)return(0,g.jsx)(p.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,g.jsx)(A,{images:i,index:n,open:!0,onOpenChange:e=>!e&&r(null),onIndexChange:r});return s?(0,g.jsxs)(g.Fragment,{children:[(0,g.jsxs)(`div`,{className:`flex -space-x-2`,children:[i.slice(0,3).map((e,t)=>(0,g.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,g.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,g.jsxs)(g.Fragment,{children:[(0,g.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 ho(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 go({objectName:e,recordId:t,className:n,children:r}){let i=(0,h.useRelatedRecordActions)(),a=e&&t!=null&&t!==``&&i?.recordHref?i.recordHref(e,t):null;return a?(0,g.jsx)(`a`,{href:a,className:(0,p.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,g.jsx)(g.Fragment,{children:r})}function _o({value:e,field:t}){let n=t.reference_to||t.reference,r=t.display_field||t.displayField||t.reference_field||void 0,i=ca(n),a=(()=>{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})(),o=da(n,a,r);if(e==null||e===``)return(0,g.jsx)(p.EmptyValue,{});if(typeof e==`string`){let t=e.trim();if(t.startsWith(`{`)&&t.endsWith(`}`)){let e=``,a;try{let n=JSON.parse(t);n&&typeof n==`object`&&(e=la(n,i,r)||String(n.externalId??n.id??n._id??``),a=ho(n))}catch{}if(e)return(0,g.jsx)(go,{objectName:n,recordId:a,children:(0,g.jsx)(wa,{text:e})})}}if(!Array.isArray(e)&&typeof e==`object`){let t=e,a=la(t,i,r)||String(t.id||t._id||``);if(a)return(0,g.jsx)(go,{objectName:n,recordId:ho(t),children:(0,g.jsx)(wa,{text:a})})}let s=t.options||[],c=e=>{if(s.length>0){let t=s.find(t=>String(t.value)===String(e));if(t)return{text:t.label,muted:!1}}return e===a&&o?{text:o,muted:!1}:ua(e)?{text:`—`,muted:!0}:{text:String(e),muted:!1}};if(Array.isArray(e))return(0,g.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:e.map((e,t)=>{let a,o=!1;if(typeof e==`object`&&e)a=la(e,i,r)||String(e.id||e._id||`[Object]`);else{let t=c(e);a=t.text,o=t.muted}return(0,g.jsx)(go,{objectName:n,recordId:ho(e),className:`text-inherit`,children:(0,g.jsx)(`span`,{className:(0,p.cn)(`inline-flex items-center px-2 py-0.5 rounded text-xs font-medium`,o?`bg-muted/40 text-muted-foreground`:`bg-gray-50 text-gray-700 dark:bg-gray-800/50 dark:text-gray-200`),children:a})},t)})});if(typeof e==`object`&&e){let t=la(e,i,r)||String(e.id||e._id||`[Object]`);return(0,g.jsx)(go,{objectName:n,recordId:ho(e),children:(0,g.jsx)(wa,{text:t})})}let{text:l,muted:u}=c(e);return(0,g.jsx)(go,{objectName:n,recordId:ho(e),children:(0,g.jsx)(wa,{text:l,className:u?`text-muted-foreground`:void 0})})}function vo({value:e}){let t=ma(e);return t==null||t===``?(0,g.jsx)(p.EmptyValue,{}):(0,g.jsx)(`span`,{className:`text-gray-700 font-mono text-sm`,children:String(t)})}function yo({value:e}){if(!e)return(0,g.jsx)(p.EmptyValue,{});if(typeof e!=`object`)return(0,g.jsx)(wa,{text:String(e)});if(Array.isArray(e))return(0,g.jsxs)(`div`,{className:`flex -space-x-2`,children:[e.slice(0,3).map((e,t)=>{if(typeof e!=`object`||!e)return(0,g.jsx)(wa,{text:String(e),className:`text-sm`},t);let n=e.name||e.username||`User`,r=n.split(` `).map(e=>e[0]).join(``).toUpperCase().slice(0,2);return(0,g.jsxs)(p.Avatar,{className:`size-8 border-2 border-white`,title:n,children:[e.image&&(0,g.jsx)(p.AvatarImage,{src:e.image,alt:n}),(0,g.jsx)(p.AvatarFallback,{className:`bg-blue-500 text-white text-xs`,children:r})]},t)}),e.length>3&&(0,g.jsx)(p.Avatar,{className:`size-8 border-2 border-white`,children:(0,g.jsxs)(p.AvatarFallback,{className:`bg-gray-200 text-gray-600 text-xs`,children:[`+`,e.length-3]})})]});let t=e.name||e.username||`User`,n=t.split(` `).map(e=>e[0]).join(``).toUpperCase().slice(0,2);return(0,g.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,g.jsxs)(p.Avatar,{className:`size-8`,children:[e.image&&(0,g.jsx)(p.AvatarImage,{src:e.image,alt:t}),(0,g.jsx)(p.AvatarFallback,{className:`bg-blue-500 text-white text-xs`,children:n})]}),(0,g.jsx)(wa,{text:String(t)})]})}var bo=new Map;function xo(e,t){bo.set(e,t)}var So={phone:`phone`,tel:`phone`,telephone:`phone`,email:`email`,url:`url`,uri:`url`,link:`url`,currency:`currency`,money:`currency`,percent:`percent`,percentage:`percent`},Co=new Set([`text`,`textarea`,`string`,`longtext`,``]);function wo(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&&So[r]&&Co.has(t)?So[r]:e.type||`text`}function To({value:e}){if(e==null||e===``)return(0,g.jsx)(p.EmptyValue,{});let t;if(typeof e==`object`)try{t=JSON.stringify(e)}catch{t=String(e)}else t=String(e);return(0,g.jsx)(wa,{text:t,className:`font-mono text-xs text-gray-600`})}function Eo({value:e}){if(e==null||e===``)return(0,g.jsx)(p.EmptyValue,{});let t=String(e);return(0,g.jsxs)(`span`,{className:`inline-flex items-center gap-1.5 text-sm`,children:[(0,g.jsx)(`span`,{className:`h-3.5 w-3.5 rounded border border-black/10 shrink-0`,style:{backgroundColor:t},"aria-hidden":`true`}),(0,g.jsx)(`span`,{className:`font-mono text-xs`,children:t})]})}function Do({value:e}){if(e==null||e===``)return(0,g.jsx)(p.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,g.jsxs)(`span`,{className:`inline-flex items-center gap-1 text-sm tabular-nums`,children:[(0,g.jsx)(m.MapPin,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground`,"aria-hidden":`true`}),t.toFixed(4),`, `,n.toFixed(4)]}):(0,g.jsx)(To,{value:e,field:{}})}function Oo({value:e}){let t=(0,f.useDisplayLocale)();if(e==null||e===``)return(0,g.jsx)(p.EmptyValue,{});if(typeof e==`string`)return(0,g.jsx)(wa,{text:e,className:`text-sm`});if(typeof e==`object`&&!Array.isArray(e)){let n=D(e,t);if(n)return(0,g.jsx)(wa,{text:n,className:`text-sm`});if(Object.keys(e).length===0)return(0,g.jsx)(p.EmptyValue,{})}return(0,g.jsx)(To,{value:e,field:{}})}function ko(e){return bo.has(e)?bo.get(e):((0,d.reportRetiredFieldType)(e),{text:Ta,textarea:Ta,...Y,code:Ta,qrcode:Ta,number:Ea,currency:Da,percent:ka,progress:ka,slider:Ea,rating:Ea,boolean:ja,toggle:ja,date:Ma,datetime:Na,time:Ta,select:co,status:co,multiselect:co,radio:co,checkboxes:co,tags:co,lookup:_o,master_detail:_o,tree:_o,email:lo,url:uo,phone:fo,file:po,video:po,audio:po,image:mo,avatar:mo,signature:mo,formula:vo,summary:vo,auto_number:Ta,user:yo,password:()=>(0,g.jsx)(`span`,{children:`••••••`}),secret:()=>(0,g.jsx)(`span`,{children:`••••••`}),location:Do,geolocation:Do,address:Oo,color:Eo,json:To,object:To,composite:To,record:To,repeater:({value:e})=>{let t=Array.isArray(e)?e.length:0;return t>0?(0,g.jsxs)(`span`,{className:`text-gray-500 italic`,children:[t,` 项`]}):(0,g.jsx)(p.EmptyValue,{})},vector:()=>(0,g.jsx)(`span`,{className:`text-gray-500 italic`,children:`[Vector]`}),grid:()=>(0,g.jsx)(`span`,{className:`text-gray-500 italic`,children:`[Grid]`})}[e]||Ta)}xo(`lookup`,_o),xo(`master_detail`,_o),xo(`select`,co),xo(`status`,co),xo(`user`,yo),le(ko);function Ao(e){if(e<0||!Number.isFinite(e)||e===0)return`0 B`;let t=[`B`,`KB`,`MB`,`GB`,`TB`],n=e,r=0;for(;n>=1024&&r<t.length-1;)n/=1024,r++;return`${n.toFixed(+(r>0))} ${t[r]}`}function jo(e){let t={};e.required&&(t.required=typeof e.required_message!=`string`||e.required_message);let n=e.minLength??e.min_length;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??e.max_length;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.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),Object.keys(t).length>0?t:void 0}function Mo(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=>Mo(e,t)):e.or&&Array.isArray(e.or)?e.or.some(e=>Mo(e,t)):!0}var No={text:()=>Promise.resolve().then(()=>(ve(),_e)).then(e=>({default:e.TextField})),textarea:()=>Promise.resolve().then(()=>(Ce(),xe)).then(e=>({default:e.TextAreaField})),number:()=>Promise.resolve().then(()=>(Ee(),we)).then(e=>({default:e.NumberField})),boolean:()=>Promise.resolve().then(()=>(We(),He)).then(e=>({default:e.BooleanField})),select:()=>Promise.resolve().then(()=>(it(),tt)).then(e=>({default:e.SelectField})),date:()=>Promise.resolve().then(()=>(Ct(),xt)).then(e=>({default:e.DateField})),datetime:()=>Promise.resolve().then(()=>(Et(),wt)).then(e=>({default:e.DateTimeField})),time:()=>Promise.resolve().then(()=>(kt(),Dt)).then(e=>({default:e.TimeField})),email:()=>Promise.resolve().then(()=>(Mt(),At)).then(e=>({default:e.EmailField})),phone:()=>Promise.resolve().then(()=>(Ft(),Nt)).then(e=>({default:e.PhoneField})),url:()=>Promise.resolve().then(()=>(Rt(),It)).then(e=>({default:e.UrlField})),multiselect:()=>Promise.resolve().then(()=>(et(),Qe)).then(e=>({default:e.MultiSelectField})),radio:()=>Promise.resolve().then(()=>(st(),at)).then(e=>({default:e.RadioField})),checkboxes:()=>Promise.resolve().then(()=>(ut(),ct)).then(e=>({default:e.CheckboxesField})),tags:()=>Promise.resolve().then(()=>(pt(),dt)).then(e=>({default:e.TagsField})),currency:()=>Promise.resolve().then(()=>(Ae(),De)).then(e=>({default:e.CurrencyField})),percent:()=>Promise.resolve().then(()=>(Ne(),je)).then(e=>({default:e.PercentField})),password:()=>Promise.resolve().then(()=>(Sr(),br)).then(e=>({default:e.PasswordField})),markdown:()=>Promise.resolve().then(()=>(Dr(),Cr)).then(e=>({default:e.RichTextField})),html:()=>Promise.resolve().then(()=>(Dr(),Cr)).then(e=>({default:e.RichTextField})),richtext:()=>Promise.resolve().then(()=>(Dr(),Cr)).then(e=>({default:e.RichTextField})),lookup:()=>Promise.resolve().then(()=>(Un(),Mn)).then(e=>({default:e.LookupField})),master_detail:()=>Promise.resolve().then(()=>(Un(),Mn)).then(e=>({default:e.LookupField})),file:()=>Promise.resolve().then(()=>(ui(),oi)).then(e=>({default:e.FileField})),image:()=>Promise.resolve().then(()=>(_i(),mi)).then(e=>({default:e.ImageField})),location:()=>Promise.resolve().then(()=>(nr(),er)).then(e=>({default:e.LocationField})),formula:()=>Promise.resolve().then(()=>(bi(),vi)).then(e=>({default:e.FormulaField})),summary:()=>Promise.resolve().then(()=>(Ci(),xi)).then(e=>({default:e.SummaryField})),auto_number:()=>Promise.resolve().then(()=>(Ei(),wi)).then(e=>({default:e.AutoNumberField})),user:()=>Promise.resolve().then(()=>(qn(),Wn)).then(e=>({default:e.UserField})),object:()=>Promise.resolve().then(()=>(ki(),Di)).then(e=>({default:e.ObjectField})),vector:()=>Promise.resolve().then(()=>(Mi(),Ai)).then(e=>({default:e.VectorField})),grid:()=>Promise.resolve().then(()=>(Xi(),Ni)).then(e=>({default:e.GridField})),color:()=>Promise.resolve().then(()=>(Xn(),Jn)).then(e=>({default:e.ColorField})),slider:()=>Promise.resolve().then(()=>(Re(),Ie)).then(e=>({default:e.SliderField})),rating:()=>Promise.resolve().then(()=>(Ve(),ze)).then(e=>({default:e.RatingField})),code:()=>Promise.resolve().then(()=>(cr(),or)).then(e=>({default:e.CodeField})),avatar:()=>Promise.resolve().then(()=>($i(),Zi)).then(e=>({default:e.AvatarField})),address:()=>Promise.resolve().then(()=>($n(),Zn)).then(e=>({default:e.AddressField})),geolocation:()=>Promise.resolve().then(()=>(ar(),rr)).then(e=>({default:e.GeolocationField})),signature:()=>Promise.resolve().then(()=>(na(),ea)).then(e=>({default:e.SignatureField})),qrcode:()=>Promise.resolve().then(()=>(dr(),lr)).then(e=>({default:e.QRCodeField})),"object-ref":()=>Promise.resolve().then(()=>(Pr(),Mr)).then(e=>({default:e.ObjectRefField})),"filter-condition":()=>Promise.resolve().then(()=>(Xr(),Fr)).then(e=>({default:e.FilterConditionField})),"recipient-picker":()=>Promise.resolve().then(()=>(ei(),Zr)).then(e=>({default:e.RecipientPickerField}))},Po=No,Fo=Object.freeze(Object.keys(No));function Io(e){if(Po[e]||d.RETIRED_FIELD_TYPES[e])return e;let t=he(e).replace(/^field:/,``);return Po[t]?t:`text`}var Lo=new Map;function Ro(e){let t=Io(e);if(d.RETIRED_FIELD_TYPES[t])return Ho;let n=Lo.get(t);return n||(n=u.default.lazy(Po[t]),Lo.set(t,n)),n}var zo=new Set([`text`,`html`,`image`,`avatar`,`grid`,`textarea`,`select`,`email`,`password`,`slider`,`markdown`,`time`,`address`,`object-ref`,`filter-condition`,`recipient-picker`]),Bo={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 Vo(e){let t=Po[e];if(!t){console.warn(`Unknown field type: ${e}`);return}let n=u.default.lazy(t),r=Bo[e];d.ComponentRegistry.register(e,C(n),{namespace:`field`,skipFallback:zo.has(e),...r===`control`?null:{labelling:r}})}var Ho=e=>{let t=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,g.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})};function Uo(){Object.keys(No).forEach(e=>{Vo(e)}),Object.keys(d.RETIRED_FIELD_TYPES).forEach(e=>{d.ComponentRegistry.register(e,Ho,{namespace:`field`,skipFallback:!0})})}Uo(),exports.AddressCellRenderer=Oo,exports.AddressField=Qn,exports.AutoNumberField=Ti,exports.AvatarField=Qi,exports.BooleanCellRenderer=ja,exports.BooleanField=Ue,Object.defineProperty(exports,"CASCADE_OPTION_WIDGET_TYPES",{enumerable:!0,get:function(){return d.CASCADE_OPTION_WIDGET_TYPES}}),exports.CapabilityMultiSelectField=jr,exports.CheckboxesField=lt,exports.CodeField=sr,exports.ColorField=Yn,exports.ColorSwatchCellRenderer=Eo,exports.CurrencyCellRenderer=Da,exports.CurrencyField=ke,exports.DISCRETE_EDIT_TYPES=mr,exports.DateCellRenderer=Ma,exports.DateField=St,exports.DateTimeCellRenderer=Na,exports.DateTimeField=Tt,exports.EmailCellRenderer=lo,exports.EmailField=jt,exports.FIELD_WIDGET_LABELLING=Bo,exports.FILE_STORAGE_BASE_PATH=z,exports.FILTER_CONDITION_EXTRA_OPERATORS=Jr,exports.FORM_FIELD_TYPES=Fo,exports.FieldEditWidget=yr,exports.FileCell=li,exports.FileCellRenderer=po,exports.FileField=ci,exports.FilterConditionField=Kr,exports.FormulaCellRenderer=vo,exports.FormulaField=yi,exports.GeolocationField=ir,exports.GridField=Wi,exports.HtmlCellRenderer=K,exports.INLINE_EXCLUDED_FIELD_TYPES=pr,exports.ImageCellRenderer=mo,exports.ImageCropperDialog=fi,exports.ImageField=hi,exports.JsonCellRenderer=To,exports.LineItemsField=Yi,exports.LocationCellRenderer=Do,exports.LocationField=tr,exports.LookupCellRenderer=_o,exports.LookupField=Rn,exports.MarkdownCellRenderer=se,exports.MasterDetailField=ra,exports.MultiSelectField=$e,exports.NumberCellRenderer=Ea,exports.NumberField=Te,exports.ObjectField=Oi,exports.ObjectRefField=Nr,exports.PasswordField=xr,exports.PercentCellRenderer=ka,exports.PercentField=Me,exports.PhoneCellRenderer=fo,exports.PhoneField=Pt,exports.QRCodeField=ur,Object.defineProperty(exports,"RETIRED_FIELD_TYPES",{enumerable:!0,get:function(){return d.RETIRED_FIELD_TYPES}}),exports.RadioField=ot,exports.RatingField=Be,exports.RecipientPickerField=Qr,exports.RecordPickerDialog=$t,exports.RetiredFieldTombstone=Ho,exports.RichTextField=Er,exports.SelectCellRenderer=co,exports.SelectField=nt,exports.SignatureField=ta,exports.SliderField=Le,exports.SummaryField=Si,exports.TagsField=ft,exports.TextAreaField=Se,exports.TextCellRenderer=Ta,exports.TextField=$,exports.TimeField=Ot,exports.UrlCellRenderer=uo,exports.UrlField=Lt,exports.UserCellRenderer=yo,exports.UserField=Kn,exports.VectorField=ji,exports.buildValidationRules=jo,exports.coerceToSafeValue=ma,exports.computeRow=zi,exports.condToMongo=zr,exports.deriveHexBadgePalette=$a,exports.deriveLookupColumns=kn,exports.evalArith=Li,exports.evaluateCondition=Mo,exports.fileIdOf=M,exports.fileUrlFromId=N,exports.fileValueForSubmit=L,exports.formatCompactCurrency=ga,exports.formatCurrency=ha,exports.formatDate=Sa,exports.formatDateTime=Ca,exports.formatFileSize=Ao,exports.formatNumber=_a,exports.formatPercent=ya,exports.formatRelativeDate=xa,exports.fromDateTimeInputValue=yt,exports.getBadgeColorClasses=io,exports.getBadgeHexAppearance=no,exports.getCellRenderer=ko,exports.getDotHexAppearance=ro,exports.getLazyFieldWidget=Ro,exports.getSemanticColorName=ao,exports.getSemanticHex=so,exports.hasFieldEditWidget=gr,exports.humanizeLabel=d.humanizeLabel,exports.isFileIdToken=_.isFileIdToken,exports.isImageValue=ee,exports.isInlineExcludedFieldType=_r,exports.isLikelyOpaqueId=ua,exports.isMatchAllCriteria=Wr,Object.defineProperty(exports,"isRetiredFieldType",{enumerable:!0,get:function(){return d.isRetiredFieldType}}),exports.kvToCondition=Hr,exports.lookupAutofillPatch=Ri,exports.lookupFiltersToRecord=Yt,exports.mapFieldTypeToFormType=he,exports.parseCapabilityNames=Or,exports.pickRecordDisplayName=aa,exports.readFileValue=F,exports.readFileValues=I,exports.registerAllFields=Uo,exports.registerField=Vo,exports.registerFieldRenderer=xo,Object.defineProperty(exports,"reportRetiredFieldType",{enumerable:!0,get:function(){return d.reportRetiredFieldType}}),Object.defineProperty(exports,"resetRetiredFieldTypeReports",{enumerable:!0,get:function(){return d.resetRetiredFieldTypeReports}}),exports.resolveCellRendererType=wo,Object.defineProperty(exports,"resolveFieldCurrency",{enumerable:!0,get:function(){return f.resolveFieldCurrency}}),exports.resolveFormWidgetType=Io,exports.sumColumn=Ui,exports.toDateInputValue=_t,exports.toDateTimeInputValue=vt,exports.toDomProps=Z,exports.uploadResultView=R,exports.withFieldCarrier=C,exports.withRecentUploads=te;