@ketvietlab/ketsuite 0.1.30 → 0.1.31

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 (92) hide show
  1. package/dist/cli.js +1 -1
  2. package/dist/modules/backend/design/client/backend-shell.d.mts.map +1 -1
  3. package/dist/modules/backend/design/client/backend-shell.mjs +1 -1
  4. package/dist/modules/backend/design/client/backend-shell.mjs.map +2 -2
  5. package/dist/modules/backend/design/client/ket-table.d.mts.map +1 -1
  6. package/dist/modules/backend/design/client/ket-table.mjs +1 -1
  7. package/dist/modules/backend/design/client/ket-table.mjs.map +2 -2
  8. package/dist/modules/backend/design/client/search-filter.d.mts.map +1 -1
  9. package/dist/modules/backend/design/client/search-filter.mjs +1 -1
  10. package/dist/modules/backend/design/client/search-filter.mjs.map +2 -2
  11. package/dist/modules/backend/design/content.css +5 -5
  12. package/dist/modules/backend/design/controls.css +10 -36
  13. package/dist/modules/backend/design/forms.css +2 -188
  14. package/dist/modules/backend/design/lists.css +1 -50
  15. package/dist/modules/crm_backend/client/crm-case-modal.d.mts +8 -8
  16. package/dist/modules/crm_backend/client/crm-case-modal.d.mts.map +1 -1
  17. package/dist/modules/crm_backend/client/crm-case-modal.mjs +1 -1
  18. package/dist/modules/crm_backend/client/crm-case-modal.mjs.map +3 -3
  19. package/dist/modules/crm_backend/client/crm-configuration-modal.d.mts +35 -35
  20. package/dist/modules/crm_backend/client/crm-configuration-modal.d.mts.map +1 -1
  21. package/dist/modules/crm_backend/client/crm-configuration-modal.mjs +1 -1
  22. package/dist/modules/crm_backend/client/crm-configuration-modal.mjs.map +3 -3
  23. package/dist/modules/product_backend/client/attribute-modal.d.mts +5 -5
  24. package/dist/modules/product_backend/client/attribute-modal.d.mts.map +1 -1
  25. package/dist/modules/product_backend/client/attribute-modal.mjs +1 -1
  26. package/dist/modules/product_backend/client/attribute-modal.mjs.map +3 -3
  27. package/dist/modules/product_backend/client/product-modal.d.mts +8 -8
  28. package/dist/modules/product_backend/client/product-modal.d.mts.map +1 -1
  29. package/dist/modules/product_backend/client/product-modal.mjs +1 -1
  30. package/dist/modules/product_backend/client/product-modal.mjs.map +3 -3
  31. package/dist/modules/product_backend/client/variant-editor.d.mts +2 -2
  32. package/dist/modules/product_backend/client/variant-editor.d.mts.map +1 -1
  33. package/dist/modules/product_backend/client/variant-editor.mjs +1 -1
  34. package/dist/modules/product_backend/client/variant-editor.mjs.map +2 -2
  35. package/dist/modules/purchase_backend/client/purchase-order-modal.d.mts +5 -5
  36. package/dist/modules/purchase_backend/client/purchase-order-modal.d.mts.map +1 -1
  37. package/dist/modules/purchase_backend/client/purchase-order-modal.mjs +1 -1
  38. package/dist/modules/purchase_backend/client/purchase-order-modal.mjs.map +3 -3
  39. package/dist/modules/purchase_backend/client/vendor-pricelist-modal.d.mts +4 -4
  40. package/dist/modules/purchase_backend/client/vendor-pricelist-modal.d.mts.map +1 -1
  41. package/dist/modules/purchase_backend/client/vendor-pricelist-modal.mjs +1 -1
  42. package/dist/modules/purchase_backend/client/vendor-pricelist-modal.mjs.map +3 -3
  43. package/dist/modules/sale_backend/client/invoicing-policy-modal.d.mts +4 -4
  44. package/dist/modules/sale_backend/client/invoicing-policy-modal.d.mts.map +1 -1
  45. package/dist/modules/sale_backend/client/invoicing-policy-modal.mjs +1 -1
  46. package/dist/modules/sale_backend/client/invoicing-policy-modal.mjs.map +3 -3
  47. package/dist/modules/sale_backend/client/sale-order-modal.d.mts +5 -5
  48. package/dist/modules/sale_backend/client/sale-order-modal.d.mts.map +1 -1
  49. package/dist/modules/sale_backend/client/sale-order-modal.mjs +1 -1
  50. package/dist/modules/sale_backend/client/sale-order-modal.mjs.map +3 -3
  51. package/dist/modules/stock_backend/client/inventory-count-modal.d.mts +4 -4
  52. package/dist/modules/stock_backend/client/inventory-count-modal.d.mts.map +1 -1
  53. package/dist/modules/stock_backend/client/inventory-count-modal.mjs +1 -1
  54. package/dist/modules/stock_backend/client/inventory-count-modal.mjs.map +3 -3
  55. package/dist/modules/stock_backend/client/stock-configuration-modal.d.mts +14 -14
  56. package/dist/modules/stock_backend/client/stock-configuration-modal.d.mts.map +1 -1
  57. package/dist/modules/stock_backend/client/stock-configuration-modal.mjs +1 -1
  58. package/dist/modules/stock_backend/client/stock-configuration-modal.mjs.map +3 -3
  59. package/dist/modules/stock_backend/client/stock-transfer-modal.d.mts +4 -4
  60. package/dist/modules/stock_backend/client/stock-transfer-modal.d.mts.map +1 -1
  61. package/dist/modules/stock_backend/client/stock-transfer-modal.mjs +1 -1
  62. package/dist/modules/stock_backend/client/stock-transfer-modal.mjs.map +3 -3
  63. package/dist/modules/user_backend/client/access-policy-modal.d.mts +4 -4
  64. package/dist/modules/user_backend/client/access-policy-modal.d.mts.map +1 -1
  65. package/dist/modules/user_backend/client/access-policy-modal.mjs +1 -1
  66. package/dist/modules/user_backend/client/access-policy-modal.mjs.map +3 -3
  67. package/dist/modules/user_backend/client/role-modal.d.mts +6 -6
  68. package/dist/modules/user_backend/client/role-modal.d.mts.map +1 -1
  69. package/dist/modules/user_backend/client/role-modal.mjs +1 -1
  70. package/dist/modules/user_backend/client/role-modal.mjs.map +3 -3
  71. package/dist/modules/user_backend/client/user-modal.d.mts +9 -9
  72. package/dist/modules/user_backend/client/user-modal.d.mts.map +1 -1
  73. package/dist/modules/user_backend/client/user-modal.mjs +1 -1
  74. package/dist/modules/user_backend/client/user-modal.mjs.map +3 -3
  75. package/dist/scaffold/index.js +1 -1
  76. package/dist/ui/client/record-modal-form.d.ts +10 -0
  77. package/dist/ui/client/record-modal-form.d.ts.map +1 -1
  78. package/dist/ui/client/record-modal-form.js +3 -1
  79. package/dist/ui/client/record-modal-form.js.map +1 -1
  80. package/dist/ui/client/record-modal.d.ts +9 -1
  81. package/dist/ui/client/record-modal.d.ts.map +1 -1
  82. package/dist/ui/client/record-modal.js +78 -17
  83. package/dist/ui/client/record-modal.js.map +1 -1
  84. package/dist/ui/index.d.ts +2 -2
  85. package/dist/ui/index.d.ts.map +1 -1
  86. package/dist/ui/index.js +2 -2
  87. package/dist/ui/index.js.map +1 -1
  88. package/dist/ui/record-modal.d.ts +3 -0
  89. package/dist/ui/record-modal.d.ts.map +1 -1
  90. package/dist/ui/record-modal.js +15 -1
  91. package/dist/ui/record-modal.js.map +1 -1
  92. package/package.json +4 -4
@@ -1,4 +1,4 @@
1
- declare var Qa: (e: any) => any, ri: {
1
+ declare var tn: (e: any) => any, di: {
2
2
  kind: string;
3
3
  size: string;
4
4
  labels: () => {
@@ -37,7 +37,7 @@ declare var Qa: (e: any) => any, ri: {
37
37
  id: string;
38
38
  label: (e: any) => any;
39
39
  visible: (e: any) => boolean;
40
- view: typeof Qa;
40
+ view: typeof tn;
41
41
  }[];
42
42
  actions: (e: any) => any;
43
43
  dialogs: {
@@ -174,12 +174,12 @@ declare var Qa: (e: any) => any, ri: {
174
174
  after: string;
175
175
  };
176
176
  };
177
- }, Hf: () => {
177
+ }, $f: () => {
178
178
  view: () => any;
179
- mount: ({ root: i, lifetime: d }: {
179
+ mount: ({ root: r, lifetime: d }: {
180
180
  lifetime: any;
181
181
  root: any;
182
182
  }) => void;
183
183
  };
184
- export { Hf as purchaseOrderModal, ri as purchaseOrderModalDefinition };
184
+ export { $f as purchaseOrderModal, di as purchaseOrderModalDefinition };
185
185
  //# sourceMappingURL=purchase-order-modal.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"purchase-order-modal.d.mts","sourceRoot":"","sources":["../../../../../../../packages/ketsuite/src/modules/purchase_backend/client/purchase-order-modal.mjs"],"names":[],"mappings":"AACq2rD,QAAA,IAAw4D,EAAE,iBAAu7B,EAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAA09H,EAAE;;;;;;;;gBAAwH,EAAE;;;;;;;gBAA2E,EAAE;gBAAM,gBAAgB;;;;;;;;;;;;;;;;gBAA8P,EAAE;gBAAM,gBAAgB;;;;;;;gBAAmG,EAAE;;;;;;;gBAAwE,EAAE;;;;;;;gBAAkF,EAAE;gBAAM,SAAS;gBAA4B,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;gBAA8S,EAAE;;;;;;;;;;;;;;CAA8P,EAAC,EAAE;;;;;;CAAO,CAAC;AAAA,OAAM,EAAC,EAAE,IAAI,kBAAkB,EAAC,EAAE,IAAI,4BAA4B,EAAC,CAAC"}
1
+ {"version":3,"file":"purchase-order-modal.d.mts","sourceRoot":"","sources":["../../../../../../../packages/ketsuite/src/modules/purchase_backend/client/purchase-order-modal.mjs"],"names":[],"mappings":"AACo1uD,QAAA,IAAy4D,EAAE,iBAAu7B,EAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAAk+H,EAAE;;;;;;;;gBAAwH,EAAE;;;;;;;gBAA2E,EAAE;gBAAM,gBAAgB;;;;;;;;;;;;;;;;gBAA8P,EAAE;gBAAM,gBAAgB;;;;;;;gBAAmG,EAAE;;;;;;;gBAAwE,EAAE;;;;;;;gBAAkF,EAAE;gBAAM,SAAS;gBAA4B,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;gBAA8S,EAAE;;;;;;;;;;;;;;CAA8P,EAAC,EAAE;;;;;;CAAO,CAAC;AAAA,OAAM,EAAC,EAAE,IAAI,kBAAkB,EAAC,EAAE,IAAI,4BAA4B,EAAC,CAAC"}
@@ -1,2 +1,2 @@
1
1
  // @ts-nocheck Generated by tools/build-backend-client.mjs — do not edit.
2
- import{each as on}from"/_ket/view/index.js";import{Fragment as Tt,jsx as ae,jsxs as sn}from"/_ket/view/jsx-runtime.js";var St=["action","action-leading","action-label","action-spinner","action-group"],ln=e=>sn(Tt,{children:[e.loading===!0&&ae("span",{"data-ui":"action-spinner","aria-hidden":"true"}),e.loading!==!0&&e.leading!==void 0&&ae("span",{"data-ui":"action-leading","aria-hidden":"true",children:e.leading}),!e.iconOnly&&ae("span",{"data-ui":"action-label",children:e.label})]}),w=e=>ae("button",{"data-ui":"action","data-variant":e.variant??"secondary","data-size":e.size??"default",type:e.type??"button",name:e.name??null,value:e.value??null,form:e.form??null,disabled:e.disabled===!0||e.loading===!0,"aria-busy":e.loading===!0?"true":null,"aria-describedby":e.describedBy??null,"aria-expanded":e.expanded===void 0?null:String(e.expanded),"aria-controls":e.controls??null,children:ae(ln,{...e})});var z=e=>ae("div",{"data-ui":"action-group",role:"group","aria-label":e.label??null,children:on(e.actions,(t,a)=>a,t=>ae(Tt,{children:t}))});import{jsx as dn,jsxs as ci}from"/_ket/view/jsx-runtime.js";var kt=["badge","tag","tag-remove","count-badge","avatar","code","text","media-label","media-label-image","media-label-copy"];var Ce=e=>dn("span",{"data-ui":"badge","data-pattern":"badge","data-tone":e.tone??"neutral","data-value":e.value??"",children:e.label});import{each as cn}from"/_ket/view/index.js";import{Fragment as $e,jsx as T,jsxs as _}from"/_ket/view/jsx-runtime.js";var wt=["notice","notice-mark","notice-copy","notice-title","notice-message","notice-actions","empty","empty-mark","empty-title","empty-message","empty-actions","loading","loading-label"],un={info:()=>_($e,{children:[T("circle",{cx:"12",cy:"12",r:"10"}),T("path",{d:"M12 16v-4"}),T("path",{d:"M12 8h.01"})]}),positive:()=>_($e,{children:[T("circle",{cx:"12",cy:"12",r:"10"}),T("path",{d:"m9 12 2 2 4-4"})]}),warning:()=>_($e,{children:[T("path",{d:"m21.73 18-8-14a2 2 0 0 0-3.46 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3"}),T("path",{d:"M12 9v4"}),T("path",{d:"M12 17h.01"})]}),danger:()=>_($e,{children:[T("circle",{cx:"12",cy:"12",r:"10"}),T("path",{d:"M12 8v4"}),T("path",{d:"M12 16h.01"})]})},W=e=>_("aside",{"data-ui":"notice","data-pattern":"notice","data-tone":e.tone??"info",role:e.tone==="danger"?"alert":"status",children:[T("span",{"data-ui":"notice-mark","aria-hidden":"true",children:T("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true",focusable:"false",children:un[e.tone??"info"]()})}),_("div",{"data-ui":"notice-copy",children:[T("p",{"data-ui":"notice-title",children:e.title}),T("p",{"data-ui":"notice-message",children:e.message})]}),e.actions!==void 0&&T("div",{"data-ui":"notice-actions",children:e.actions})]}),ne=e=>_("div",{"data-ui":"empty",role:"status",children:[T("span",{"data-ui":"empty-mark","aria-hidden":"true",children:"\u25C7"}),T("p",{"data-ui":"empty-title",children:e.title}),T("p",{"data-ui":"empty-message",children:e.message}),e.actions!==void 0&&T("div",{"data-ui":"empty-actions",children:e.actions})]}),fe=e=>_("div",{"data-ui":"loading",role:"status","aria-live":"polite",children:[T("span",{"data-ui":"loading-label",children:e.label}),T("div",{"data-ui":"skeleton","aria-hidden":"true",children:cn(Array.from({length:Math.max(1,e.lines??3)}),(t,a)=>a,(t,a)=>T("span",{"data-ui":"skeleton-line","data-line":String(a+1)}))})]});import{each as at}from"/_ket/view/index.js";import{each as hn}from"/_ket/view/index.js";import{jsx as K,jsxs as Le}from"/_ket/view/jsx-runtime.js";var Rt=["modal-layer","modal-backdrop","modal-sheet","modal-head","modal-heading","modal-title-row","modal-title","modal-description","modal-close","modal-body","modal-actions"],ie=e=>{let t=e.mode==="client",a=e.mode==="embedded";return Le("div",{"data-ui":"modal-layer","data-mode":e.mode??"overlay","data-route-modal":a||t?null:"true","data-client-modal":t?"true":null,"data-presentation":e.presentation??"sheet","data-unsaved-prompt":e.unsavedPrompt??null,children:[t?K("button",{"data-ui":"modal-backdrop",type:"button","aria-hidden":"true",tabIndex:-1,children:K("span",{children:e.closeLabel})}):K("a",{"data-ui":"modal-backdrop",href:e.closeHref??"#","aria-label":e.closeLabel,children:K("span",{children:e.closeLabel})}),Le("section",{id:e.id,"data-ui":"modal-sheet","data-size":e.size??"default","data-height":e.height==="fixed"?"fixed":null,style:e.height==="fixed"&&e.fixedHeight?`height: ${e.fixedHeight} !important`:"",...e.dialogSemantics==="parent"?{}:{role:"dialog","aria-modal":a?"false":"true"},"aria-labelledby":e.dialogSemantics==="parent"?null:`${e.id}-title`,"aria-describedby":e.dialogSemantics!=="parent"&&e.description?`${e.id}-description`:null,tabindex:a?null:"-1",children:[Le("header",{"data-ui":"modal-head",children:[Le("div",{"data-ui":"modal-heading",children:[Le("div",{"data-ui":"modal-title-row",children:[K("h2",{"data-ui":"modal-title",id:`${e.id}-title`,children:e.title}),e.status!==void 0&&e.status]}),!!e.description&&K("p",{"data-ui":"modal-description",id:`${e.id}-description`,children:e.description})]}),t?K("button",{"data-ui":"modal-close",type:"button","aria-label":e.closeLabel,title:e.closeLabel,children:"\xD7"}):K("a",{"data-ui":"modal-close",href:e.closeHref??"#","aria-label":e.closeLabel,title:e.closeLabel,children:"\xD7"})]}),K("div",{"data-ui":"modal-body",children:e.body}),e.actions!==void 0&&K("footer",{"data-ui":"modal-actions",children:e.actions})]})]})};import{Fragment as xi,jsx as yi,jsxs as vi}from"/_ket/view/jsx-runtime.js";import{Fragment as Li,jsx as Ri,jsxs as Ci}from"/_ket/view/jsx-runtime.js";var Lt=["app-shell","app-shell-topbar","app-topbar","app-location-bar","app-location-context","app-brand","app-topbar-brand","app-topbar-context","global-search-trigger","global-search-trigger-label","global-search-shortcut","global-search-dialog","global-search","global-search-input","global-search-submit","app-sidebar","app-main","app-right-rail","page","page-context","page-header","page-heading","page-eyebrow","page-title-row","page-title","page-subline","page-status","page-actions","page-meta","page-body","record-canvas","record-content","record-section","record-section-title"];import{Fragment as Pt,jsx as C,jsxs as re}from"/_ket/view/jsx-runtime.js";var Mt=["stack","inline","grid","card-grid","surface","surface-head","surface-heading","surface-title","surface-description","surface-actions","disclosure","disclosure-summary","disclosure-body","section","section-head","section-eyebrow","section-title","section-description","section-actions","section-body","content-card","card-media","card-head","card-leading","card-heading","card-eyebrow","card-title","card-summary","card-status","card-body","card-meta","card-actions","kanban","kanban-card","kanban-media","kanban-title","kanban-meta","kanban-note","kanban-actions","metric","metric-icon","metric-label","metric-value","metric-detail"],yn=e=>C(Pt,{children:hn(e.items,(t,a)=>a,t=>typeof t=="string"||typeof t=="number"?C("span",{children:t}):C(Pt,{children:t}))}),Be=e=>C("div",{"data-ui":"stack","data-pattern":"stack","data-gap":e.gap??"default","data-divided":e.divided===!0?"true":null,children:C(yn,{items:e.items})});var et=e=>re("div",{"data-ui":"surface","data-tone":e.tone??"default","data-padding":e.padding??"default","data-has-heading":e.title?"true":null,children:[e.title&&re("header",{"data-ui":"surface-head",children:[e.description?re("div",{"data-ui":"surface-heading",children:[C("h2",{"data-ui":"surface-title",children:e.title}),C("p",{"data-ui":"surface-description",children:e.description})]}):C("h2",{"data-ui":"surface-title",children:e.title}),e.actions!==void 0&&C("div",{"data-ui":"surface-actions",children:e.actions})]}),e.body]}),tt=e=>re("details",{"data-ui":"disclosure",open:e.open===!0?!0:void 0,children:[C("summary",{"data-ui":"disclosure-summary",children:e.summary}),C("div",{"data-ui":"disclosure-body",children:e.body})]}),Pe=e=>re("section",{"data-ui":"section",children:[re("header",{"data-ui":"section-head",children:[re("div",{children:[!!e.eyebrow&&C("p",{"data-ui":"section-eyebrow",children:e.eyebrow}),C("h2",{"data-ui":"section-title",children:e.title}),!!e.description&&C("p",{"data-ui":"section-description",children:e.description})]}),e.actions!==void 0&&C("div",{"data-ui":"section-actions",children:e.actions})]}),C("div",{"data-ui":"section-body",children:e.body})]});import{each as vn}from"/_ket/view/index.js";import{Fragment as xn,jsx as Me}from"/_ket/view/jsx-runtime.js";var Ke=(e,t)=>e.control!==void 0?Me(xn,{children:e.control}):e.type==="textarea"?Me("textarea",{"data-ui":"field-control","data-appearance":e.appearance==="embedded"?"embedded":null,id:e.id,name:e.name,placeholder:e.placeholder??null,required:e.required===!0,disabled:e.disabled===!0,readonly:e.readOnly===!0,"aria-invalid":e.error?"true":null,"aria-describedby":t,children:String(e.value??"")}):e.type==="select"?Me("select",{"data-ui":"field-control","data-appearance":e.appearance==="embedded"?"embedded":null,id:e.id,name:e.name,required:e.required===!0,disabled:e.disabled===!0,"aria-invalid":e.error?"true":null,"aria-describedby":t,children:vn(e.options??[],a=>a.value,a=>Me("option",{value:a.value,selected:String(e.value??"")===a.value,disabled:a.disabled===!0,children:a.label}))}):Me("input",{"data-ui":"field-control","data-appearance":e.appearance==="embedded"?"embedded":null,id:e.id,type:e.type==="decimal"?"number":e.type??"text",name:e.name,value:e.type==="checkbox"?"1":String(e.value??""),checked:e.type==="checkbox"&&(e.value===!0||e.value==="1"),placeholder:e.placeholder??null,required:e.required===!0,disabled:e.disabled===!0,readonly:e.readOnly===!0,min:e.min,max:e.max,"aria-invalid":e.error?"true":null,"aria-describedby":t,autocomplete:e.autocomplete??"off",step:e.type==="decimal"?e.step??"any":e.step??null});import{jsx as R,jsxs as U}from"/_ket/view/jsx-runtime.js";var Et=["field","field-label","field-required","field-control","field-options","field-option","field-option-input","field-help","field-error"],Ft=e=>!!e.error||(e.fields?.some(Ft)??!1),oe=e=>{let t=e.help?`${e.id}-help`:null,a=e.error?`${e.id}-error`:null,l=[t,a].filter(Boolean).join(" ")||null,g=U("span",{"data-ui":"field-label",children:[e.label,e.required&&R("span",{"data-ui":"field-required","aria-hidden":"true",children:" *"})]});return e.fields?U("div",{"data-ui":"field","data-kind":"group","data-span":"full","data-invalid":String(!!e.error),children:[R(tt,{summary:e.label,open:e.open||Ft(e),body:R("div",{"data-ui":"form-grid",children:at(e.fields.map(u=>({...u,disabled:e.disabled||u.disabled,readOnly:e.readOnly||u.readOnly})),u=>u.id,u=>R(oe,{...u}))})}),!!e.help&&R("small",{"data-ui":"field-help",id:t??void 0,children:e.help}),!!e.error&&R("small",{"data-ui":"field-error",id:a??void 0,children:e.error})]}):e.type==="checkbox-group"?U("div",{"data-ui":"field","data-kind":"checkbox-group","data-span":e.span??"half","data-invalid":String(!!e.error),children:[U("span",{"data-ui":"field-label",id:`${e.id}-label`,children:[e.label,e.required&&R("span",{"data-ui":"field-required","aria-hidden":"true",children:" *"})]}),R("div",{"data-ui":"field-options","data-orientation":e.optionsOrientation==="vertical"?"vertical":null,role:"group","aria-labelledby":`${e.id}-label`,children:at(e.options??[],u=>u.name??u.value,u=>U("label",{"data-ui":"field-option",children:[R("input",{"data-ui":"field-option-input",type:"checkbox",name:u.name??`${e.name}[]`,value:u.value,checked:u.checked===!0,disabled:e.disabled===!0||u.disabled===!0,"aria-invalid":e.error?"true":null,"aria-describedby":l,autocomplete:"off"}),R("span",{children:u.label})]}))}),!!e.help&&R("small",{"data-ui":"field-help",id:t??void 0,children:e.help}),!!e.error&&R("small",{"data-ui":"field-error",id:a??void 0,children:e.error})]}):e.type==="radio"?U("div",{"data-ui":"field","data-kind":"radio","data-span":e.span??"half","data-invalid":String(!!e.error),children:[U("span",{"data-ui":"field-label",id:`${e.id}-label`,children:[e.label,e.required&&R("span",{"data-ui":"field-required","aria-hidden":"true",children:" *"})]}),R("div",{"data-ui":"field-options","data-orientation":e.optionsOrientation==="vertical"?"vertical":null,role:"radiogroup","aria-labelledby":`${e.id}-label`,children:at(e.options??[],u=>u.value,u=>U("label",{"data-ui":"field-option",children:[R("input",{"data-ui":"field-option-input",type:"radio",name:e.name,value:u.value,checked:String(e.value??"")===u.value,required:e.required===!0,disabled:e.disabled===!0||u.disabled===!0,"aria-invalid":e.error?"true":null,"aria-describedby":l,autocomplete:"off"}),R("span",{children:u.label})]}))}),!!e.help&&R("small",{"data-ui":"field-help",id:t??void 0,children:e.help}),!!e.error&&R("small",{"data-ui":"field-error",id:a??void 0,children:e.error})]}):U("label",{"data-ui":"field","data-kind":e.type??"text","data-label-hidden":e.labelHidden?"true":null,"data-selection-hidden":e.selectionHidden?"true":null,"data-span":e.span??"half","data-invalid":String(!!e.error),for:e.id,children:[e.type==="checkbox"&&Ke(e,l),g,e.type!=="checkbox"&&Ke(e,l),!!e.help&&R("small",{"data-ui":"field-help",id:t??void 0,children:e.help}),!!e.error&&R("small",{"data-ui":"field-error",id:a??void 0,children:e.error})]})};import{each as Sn}from"/_ket/view/index.js";import{jsx as be,jsxs as it}from"/_ket/view/jsx-runtime.js";var Ht=["breadcrumbs","breadcrumb","breadcrumb-overflow","breadcrumb-overflow-trigger","breadcrumb-overflow-list","nav-list","nav-item","nav-item-leading","nav-item-label","nav-item-count","tabs","tab","tab-count","tabbed-view","tabbed-view-context","tab-panel"];var Ot=e=>it("a",{"data-ui":"tab","data-active":e.active===!0?"true":null,id:e.elementId,href:e.href,"aria-current":e.active===!0?"page":null,"aria-controls":e.controls,children:[e.label,e.count!==void 0&&be("span",{"data-ui":"tab-count",children:String(e.count)})]}),Dt=(e,t)=>`${e}-${t.replace(/[^a-zA-Z0-9_-]+/gu,"-")}-tab`,It=e=>it("nav",{"data-ui":"tabs","data-pattern":"tabs","aria-label":e.label,children:[Sn(e.items,t=>t.id,t=>be(Ot,{...t,elementId:e.id?Dt(e.id,t.id):void 0,controls:e.panelId})),e.extension]}),At=e=>be("section",{"data-ui":"tab-panel",id:e.id,"aria-labelledby":e.labelledBy,tabindex:"-1",children:e.body}),nt=e=>{let t=`${e.id}-tabs`,a=`${e.id}-panel`,l=e.items.find(g=>g.active===!0);return it("div",{"data-ui":"tabbed-view",children:[e.context!==void 0&&e.context!==""?be("div",{"data-ui":"tabbed-view-context",children:e.context}):"",be(It,{id:t,label:e.label,items:e.items,extension:e.extension,panelId:a}),be(At,{id:a,labelledBy:l?Dt(t,l.id):void 0,body:e.body})]})};import{jsx as Wi,jsxs as Zi}from"/_ket/view/jsx-runtime.js";var $t=["progress","progress-label","progress-value","progress-track","progress-bar"];import{each as ji}from"/_ket/view/index.js";import{Fragment as nr,jsx as tr,jsxs as ar}from"/_ket/view/jsx-runtime.js";var Bt=["menu","menu-trigger","menu-trigger-count","menu-panel","menu-search","menu-search-input","menu-label","menu-separator","menu-item","menu-item-leading","menu-item-copy","menu-item-check","menu-item-shortcut"];import{jsx as or,jsxs as lr}from"/_ket/view/jsx-runtime.js";var Kt=["popover","popover-trigger","popover-panel","popover-close"];import{jsx as cr,jsxs as ur}from"/_ket/view/jsx-runtime.js";var qt=["tooltip","tooltip-trigger","tooltip-content"];import{jsx as pr}from"/_ket/view/jsx-runtime.js";var Nt=["dialog","confirm-dialog-message"];import{each as vr}from"/_ket/view/index.js";import{jsx as Sr,jsxs as Tr}from"/_ket/view/jsx-runtime.js";var Jt=["toast-region","toast","toast-copy","toast-title","toast-message","toast-actions"];import{jsx as Rr}from"/_ket/view/jsx-runtime.js";var Xt=["spinner","visually-hidden"];import{each as Pr}from"/_ket/view/index.js";import{jsx as Er}from"/_ket/view/jsx-runtime.js";var zt=["skeleton","skeleton-line"];import{each as Or,effect as Dr,signal as Ir}from"/_ket/view/index.js";import{jsx as Br,jsxs as $r}from"/_ket/view/jsx-runtime.js";var Ut=["relation-select","relation-native","relation-trigger","relation-value","relation-caret","relation-chips","relation-chip","relation-chip-clear","relation-menu","relation-search","relation-options","relation-option","relation-footer","relation-empty","relation-editor","relation-dialog-toolbar","relation-search-field","relation-search-icon","relation-dialog-list","relation-dialog-row","relation-dialog-main","relation-dialog-meta","relation-dialog-actions"];import{each as Nr,signal as Jr}from"/_ket/view/index.js";import{jsx as zr,jsxs as Ur}from"/_ket/view/jsx-runtime.js";var Vt=["lightbox","lightbox-thumbs","lightbox-thumb","lightbox-empty","lightbox-layer","lightbox-backdrop","lightbox-toolbar","lightbox-counter","lightbox-tool","lightbox-stage","lightbox-image","lightbox-nav","lightbox-caption"];import{each as Wr,signal as Zr}from"/_ket/view/index.js";import{Fragment as eo,jsx as jr,jsxs as Yr}from"/_ket/view/jsx-runtime.js";var Gt=["search-filter","search-filter-bar","search-filter-section-toggle","search-filter-sheet","search-filter-clear","search-filter-icon","search-filter-field","search-filter-input","search-filter-facets","search-filter-facet","search-filter-facet-remove","search-filter-suggestions","search-filter-suggestion","search-filter-toggle","search-filter-columns","search-filter-column","search-filter-column-title","search-filter-empty","search-filter-grouping","search-filter-grouping-head","search-filter-grouping-list","search-filter-grouping-item","search-filter-grouping-order","search-filter-grouping-label","search-filter-grouping-actions","search-filter-grouping-action","search-filter-grouping-clear","search-filter-grouping-add-label","custom-filter","custom-filter-row","custom-filter-add","custom-group-by","favorite-list","favorite-item","favorite-item-default","favorite-item-remove","favorite-save","favorite-save-toggle","favorite-save-row"];import{each as oo,effect as lo,signal as so}from"/_ket/view/index.js";import{jsx as no}from"/_ket/view/jsx-runtime.js";var _t=["formatted-date","formatted-number","formatted-money"];import{Fragment as fo,jsx as bo,jsxs as po}from"/_ket/view/jsx-runtime.js";var Zt=["ket-table","kt-scroll","kt-selection-target","kt-grid","kt-select-col","kt-select-all","kt-col","kt-sort-button","kt-sort-icon","kt-row","kt-cell","kt-person","kt-select-cell","kt-row-select","kt-row-link","kt-group-row","kt-group-cell","kt-group-toggle","kt-group-indent","kt-group-count","kt-group-pager","kt-pager","kt-pager-label","kt-pager-button","kt-select-persisted","kt-caption","kt-tools"];var Fo=["a[href]","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])","summary",'[tabindex]:not([tabindex="-1"])'].join(",");var Ln=['[data-ui="timeframe-menu"]','[data-ui="view-settings"]'],Ho=Ln.map(e=>`${e}[open]`).join(", ");import{jsx as Io,jsxs as Ao}from"/_ket/view/jsx-runtime.js";import{jsx as No,jsxs as Jo}from"/_ket/view/jsx-runtime.js";var Qt=["switch-control","switch-track"];import{each as Uo}from"/_ket/view/index.js";import{Fragment as Zo,jsx as _o,jsxs as Wo}from"/_ket/view/jsx-runtime.js";var Yt=["combobox","combobox-input-row","combobox-toggle","combobox-listbox","combobox-option","combobox-empty","tag-picker"];import{Fragment as ol,jsx as il,jsxs as rl}from"/_ket/view/jsx-runtime.js";var jt=["date-picker","date-range","date-inputs","date-control-row","date-tools","date-range-error","date-calendar","date-calendar-head","date-calendar-title","date-calendar-body","date-field-control","date-range-preset","date-boundary","date-calendar-months","date-month","date-month-title","date-grid","date-weekday","date-cell","date-day","date-calendar-footer","date-calendar-status"];import{jsx as cl,jsxs as ul}from"/_ket/view/jsx-runtime.js";var ea=["file-upload","drop-zone","upload-status"];import{jsx as bl}from"/_ket/view/jsx-runtime.js";var ta=["relation-picker"];import{each as yl}from"/_ket/view/index.js";import{jsx as Tl,jsxs as kl}from"/_ket/view/jsx-runtime.js";var aa=["search-bar","filter-bar","applied-filters","applied-filter","saved-views","saved-view","view-settings","view-settings-options"];import{jsx as Ll,jsxs as Pl}from"/_ket/view/jsx-runtime.js";var na=["inline-edit","inline-edit-value","inline-edit-form","inline-edit-actions"];import{each as Nl}from"/_ket/view/index.js";import{each as Ol}from"/_ket/view/index.js";import{Fragment as Bl,jsx as Al,jsxs as $l}from"/_ket/view/jsx-runtime.js";var ia=["list-chrome","list-chrome-row","list-search","list-search-label","list-search-input","list-search-submit","list-filter-menus","list-facets","list-facet","list-facet-count","list-view-switch","list-view","list-sort","list-sort-label","list-sort-select","list-status","list-actions","bulk-actions","bulk-summary","bulk-count","bulk-action-list","pager-bar","pager-summary","pager-pages","pager-page","pager-actions","pager-link"];import{jsx as Ul,jsxs as Vl}from"/_ket/view/jsx-runtime.js";var ra=["resource-list","resource-list-item","resource-list-select","resource-list-link"];import{each as Wl}from"/_ket/view/index.js";import{jsx as Ql,jsxs as Yl}from"/_ket/view/jsx-runtime.js";var oa=["data-grid-scroll","data-grid","data-grid-cap","data-grid-cell"];import{each as ts}from"/_ket/view/index.js";import{jsx as ns,jsxs as is}from"/_ket/view/jsx-runtime.js";var la=["tree","tree-item","tree-link","tree-grid","tree-grid-row"];import{each as ls}from"/_ket/view/index.js";import{jsx as ds,jsxs as cs}from"/_ket/view/jsx-runtime.js";var sa=["data-matrix","data-matrix-head","data-matrix-heading","data-matrix-eyebrow","data-matrix-title","data-matrix-description","data-matrix-summary","data-matrix-scroll","data-matrix-table","data-matrix-column","data-matrix-row-head","data-matrix-row-leading","data-matrix-row-title","data-matrix-row-description","data-matrix-row-status","data-matrix-row-actions","data-matrix-cell"];import{each as gs}from"/_ket/view/index.js";import{jsx as bs,jsxs as ps}from"/_ket/view/jsx-runtime.js";var da=["bar-chart","bar-chart-rows","bar-chart-row","bar-chart-label","bar-chart-caption","bar-chart-track","bar-chart-fill","bar-chart-segment","bar-chart-value","bar-chart-scale","bar-chart-legend","bar-chart-legend-item","bar-chart-legend-swatch","bar-chart-empty"];import{each as vs}from"/_ket/view/index.js";import{jsx as Ss,jsxs as Ts}from"/_ket/view/jsx-runtime.js";var ca=["timeframe","timeframe-menu","timeframe-trigger","timeframe-label","timeframe-value","timeframe-content","timeframe-option","timeframe-option-label","timeframe-option-detail","timeframe-range","timeframe-asof","timeframe-note"];import{each as Hn}from"/_ket/view/index.js";import{jsx as Ne,jsxs as On}from"/_ket/view/jsx-runtime.js";var ua=["description-list","key-value","key-value-label","key-value-value","person","person-body","avatar-group","status"],ma=e=>On("div",{"data-ui":"key-value",children:[Ne("dt",{"data-ui":"key-value-label",children:e.label}),Ne("dd",{"data-ui":"key-value-value",children:e.value??e.emptyLabel??"\u2014"})]}),Je=e=>Ne("dl",{"data-ui":"description-list","aria-label":e.label,"data-columns":String(e.columns??2),"data-layout":e.layout==="strip"?"strip":null,children:Hn(e.items,t=>t.id,t=>Ne(ma,{...t}))});import{each as Ms}from"/_ket/view/index.js";import{jsx as Ds,jsxs as Is}from"/_ket/view/jsx-runtime.js";var fa=["record-summary","record-summary-main","record-actions","record-rail"];import{each as Bs}from"/_ket/view/index.js";import{jsx as Js,jsxs as Xs}from"/_ket/view/jsx-runtime.js";var ba=["activity-timeline","activity-item","activity-marker","audit-log","audit-item"];import{each as Vs}from"/_ket/view/index.js";import{jsx as Ws,jsxs as Zs}from"/_ket/view/jsx-runtime.js";var pa=["attachments","attachment","media-gallery","media-item"];import{each as js}from"/_ket/view/index.js";import{Fragment as nd,jsx as td,jsxs as ad}from"/_ket/view/jsx-runtime.js";var ha=["app-navigation","navigation-trigger","navigation-toggle","navigation-trigger-icon","navigation-trigger-identity","navigation-trigger-label","navigation-layer","navigation-backdrop","navigation-drawer","navigation-header","navigation-identity","navigation-context","navigation-close","navigation-groups","navigation-group","navigation-group-label","navigation-items","navigation-supplementary","navigation-item","navigation-branch","navigation-branch-trigger","navigation-children","navigation-item-leading","navigation-item-copy","navigation-item-label","navigation-item-description","navigation-item-count","navigation-footer"];import{each as pe}from"/_ket/view/index.js";import{Fragment as ka,jsx as S,jsxs as Z}from"/_ket/view/jsx-runtime.js";var ya=["table-scroll","table","table-caption","select-col","select-all","col","sort-link","sort-icon","row","group-row","group-cell","group-link","group-indent","group-count","group-pager","group-pager-actions","cell","select-cell","row-select","row-link"],In=e=>e.shownColumns??e.columns.filter(t=>t.hidden!==!0).map(t=>t.key),An=e=>{let t=new Set(In(e));return e.columns.filter(a=>t.has(a.key))},va=(e,t)=>t.length+(e.selection?1:0),$n=(e,t)=>e.sort?.direction?e.sort.direction==="ascending"?t?.sortedAscending??"Sorted ascending":t?.sortedDescending??"Sorted descending":null,Bn=(e,t)=>S("th",{"data-ui":"col","data-col":e.key,"data-align":e.align??"start","data-kind":e.kind??"text","data-width":e.width??null,"data-optional":e.optional===!0?"true":null,"data-sort":e.sort?.direction??null,"aria-sort":e.sort?.direction??null,scope:"col",children:e.sort?Z("a",{"data-ui":"sort-link",href:e.sort.href,"aria-label":e.sort.label??e.label,children:[S("span",{children:e.label}),!!e.sort.direction&&S("span",{"data-ui":"sort-icon","aria-hidden":"true",title:$n(e,t)??void 0,children:e.sort.direction==="ascending"?"\u2191":"\u2193"})]}):e.label}),Kn=e=>e.selection?S("th",{"data-ui":"select-col",scope:"col",children:S("input",{"data-ui":"select-all",type:"checkbox",name:e.selection.selectAllName??"select-all","aria-label":e.labels?.selectAll??"Select all rows",disabled:e.selection.disabled===!0})}):null,xa=(e,t)=>e.selected?.(t)===!0?!0:e.selection?.selectedIds?.includes(e.id(t))===!0,qn=(e,t,a)=>Z(ka,{children:[e.selection&&S("td",{"data-ui":"select-cell",children:S("input",{"data-ui":"row-select",type:"checkbox",name:e.selection.name??"ids",form:e.selection.form,value:e.id(a),checked:xa(e,a),"aria-label":e.labels?.selectRow?.(a,e.id(a))??`Select row ${e.id(a)}`,disabled:e.selection.disabled===!0})}),pe(t,l=>l.key,l=>S("td",{"data-ui":"cell","data-col":l.key,"data-linked":e.rowHref&&l===t[0]?"true":null,"data-align":l.align??"start","data-kind":l.kind??"text","data-priority":l.priority??"secondary","data-label":e.responsive==="stack"?l.label:null,children:e.rowHref&&l===t[0]?S("a",{"data-ui":"row-link",href:e.rowHref(a),children:l.cell(a)}):l.cell(a)}))]}),Sa=(e,t,a)=>S("tr",{"data-ui":"row","data-row":e.id(a),"data-selected":xa(e,a)?"true":null,children:qn(e,t,a)}),Nn=(e,t,a)=>a?S("tr",{"data-ui":"group-pager",children:Z("td",{colSpan:String(va(e,t)),children:[S("span",{children:a.label}),Z("span",{"data-ui":"group-pager-actions",children:[a.previousHref&&S("a",{href:a.previousHref,"aria-label":e.labels?.previousPage??"Previous page",children:"\u2039"}),a.nextHref&&S("a",{href:a.nextHref,"aria-label":e.labels?.nextPage??"Next page",children:"\u203A"})]})]})}):null,Ta=(e,t,a,l)=>Z(ka,{children:[S("tr",{"data-ui":"group-row","data-group":a.id,"data-depth":String(l),children:Z("th",{"data-ui":"group-cell",colSpan:String(va(e,t)),scope:"rowgroup",children:[S("span",{"data-ui":"group-indent",style:`--kv-group-depth: ${l}`,"aria-hidden":"true"}),a.href?S("a",{"data-ui":"group-link",href:a.href,children:a.label}):S("span",{"data-ui":"group-link",children:a.label}),a.count!==void 0&&S("span",{"data-ui":"group-count",children:String(a.count)})]})}),pe(a.rows??[],e.id,g=>Sa(e,t,g)),pe(a.children??[],g=>g.id,g=>Ta(e,t,g,l+1)),Nn(e,t,a.pager)]}),Ee=e=>{let t=An(e),a=e.groups??[],g=e.rows.length>0||a.length>0?S("div",{"data-ui":"table-scroll","data-pattern":"data-table","data-framed":e.title?"false":null,"data-responsive":e.responsive??"scroll","data-gutter":e.gutter==="compact"?"compact":null,children:Z("table",{"data-ui":"table","aria-label":e.caption?null:e.title??null,children:[!!e.caption&&S("caption",{"data-ui":"table-caption",children:e.caption}),S("thead",{children:Z("tr",{children:[Kn(e),pe(t,u=>u.key,u=>Bn(u,e.labels))]})}),S("tbody",{children:a.length>0?pe(a,u=>u.id,u=>Ta(e,t,u,0)):pe(e.rows,e.id,u=>Sa(e,t,u))})]})}):S(ne,{title:e.emptyTitle??"No records",message:e.emptyMessage??"There is nothing to show yet.",actions:e.emptyActions});return e.title?S(et,{title:e.title,actions:e.actions,padding:"none",body:g}):g};import{Fragment as vd,jsx as yd,jsxs as xd}from"/_ket/view/jsx-runtime.js";var wa=["list-page","list-page-context","list-page-header","list-page-heading","list-page-title-row","list-page-eyebrow","list-page-title","list-page-actions","list-page-tools","list-page-toolbar","list-page-controls","list-page-status","list-page-body","list-page-footer"];import{jsx as wd,jsxs as Rd}from"/_ket/view/jsx-runtime.js";var Ra=["record-page","record-page-context","record-page-header","record-page-title-row","record-page-heading","record-page-title","record-page-subline","record-page-status","record-page-actions","record-page-meta","record-page-controller","record-page-navigation","record-page-layout","record-page-body","record-page-aside"];var Ca=["form-page","form-page-context","form-page-header","form-page-title-row","form-page-heading","form-page-title","form-page-subline","form-page-status","form-page-actions","form-page-meta","form-page-controller","form-page-navigation","form-page-layout","form-page-body","form-page-aside"];import{jsx as Dd,jsxs as Id}from"/_ket/view/jsx-runtime.js";var La=["dashboard-page","dashboard-page-context","dashboard-page-header","dashboard-page-heading","dashboard-page-eyebrow","dashboard-page-title-row","dashboard-page-title","dashboard-page-subline","dashboard-page-status","dashboard-page-actions","dashboard-page-meta","dashboard-page-body"];var Pa=["board-page","board-page-context","board-page-header","board-page-heading","board-page-eyebrow","board-page-title-row","board-page-title","board-page-subline","board-page-status","board-page-actions","board-page-meta","board-page-toolbar","board-page-controls","board-page-body"];import{each as zd}from"/_ket/view/index.js";import{jsx as Vd,jsxs as Gd}from"/_ket/view/jsx-runtime.js";var Ma=["pipeline","pipeline-step","pipeline-arrow","pipeline-step-label","pipeline-step-value","pipeline-step-node"];import{each as Yd}from"/_ket/view/index.js";import{jsx as ac,jsxs as nc}from"/_ket/view/jsx-runtime.js";var Ea=["record-form","form-errors","form-grid","form-actions"];import{each as uc}from"/_ket/view/index.js";import{jsx as bc,jsxs as pc}from"/_ket/view/jsx-runtime.js";var Fa=["reorder-list","reorder-list-value","reorder-list-rows","reorder-list-row","reorder-list-content","reorder-list-controls"];var Ha={actions:St,feedback:wt,fields:Et,status:kt,navigation:Ht,progress:$t,menu:Bt,reorderList:Fa,popover:Kt,tooltip:qt,dialog:Nt,toast:Jt,spinner:Xt,skeleton:zt,lightbox:Vt,relationSelect:Ut,searchFilter:Gt,ketTable:Zt,scalarFields:Qt,combobox:Yt,dateTime:jt,upload:ea,relationPicker:ta,listControls:aa,inlineEdit:na,resourceList:ra,dataGrid:oa,tree:la,matrix:sa,barChart:da,timeframe:ca,recordDisplay:ua,formattedValues:_t,recordComposition:fa,activity:ba,media:pa,layouts:Mt,shell:Lt,appNavigation:ha,table:ya,listChrome:ia,listPage:wa,formPage:Ca,recordPage:Ra,dashboardPage:La,boardPage:Pa,modal:Rt,pipeline:Ma,form:Ea},Xn=[...new Set(Object.values(Ha).flat())].sort(),zn=Object.freeze(Object.fromEntries(Object.entries(Ha).map(([e,t])=>[e,[...t]])));import{signal as M}from"/_ket/view/index.js";import{jsx as Vn}from"/_ket/view/jsx-runtime.js";var Xe="record";var Un=/^[a-z][a-z0-9_]*(?:\.[a-zA-Z][a-zA-Z0-9_]*)+$/u,Oa=e=>Un.test(e),st=(e,t)=>{if(!Oa(t.kind))throw new TypeError(`invalid record kind "${t.kind}"`);let a=new URL(String(e),"http://ket.local");return a.searchParams.set(Xe,`${t.kind}:${t.id}`),t.tab?a.searchParams.set("tab",t.tab):a.searchParams.delete("tab"),`${a.pathname}${a.search}`};var Da=e=>{let t=new URL(String(e),"http://ket.local");return t.searchParams.delete(Xe),t.searchParams.delete("tab"),`${t.pathname}${t.search}`},he=e=>{let t=new URL(String(e),"http://ket.local"),a=t.searchParams.get(Xe)??"",l=a.indexOf(":");if(l<=0||l===a.length-1)return null;let g=a.slice(0,l);return Oa(g)?{kind:g,id:a.slice(l+1),tab:t.searchParams.get("tab")}:null},dt=e=>Vn("span",{"data-ui":"record-modal-host","data-record-kind":e,hidden:!0});import{jsx as le,jsxs as Ia}from"/_ket/view/jsx-runtime.js";var ye=e=>Ia("form",{"data-ui":"record-form",method:"post",action:"","data-record-kind":e.kind,id:e.id,"data-record-dirty":e.dirty===!0?"true":null,children:[e.command?le("input",{type:"hidden",name:ve,value:e.command,autocomplete:"off"}):"",Object.entries(e.hidden??{}).map(([t,a])=>le("input",{type:"hidden",name:t,value:a,autocomplete:"off"})),le("div",{"data-ui":"form-grid",children:e.fields.map(t=>oe(t))}),e.body,e.actions?.length?le("div",{"data-ui":"form-actions",children:z({actions:e.actions})}):""]});var ze=e=>le("span",{"data-record-dialog":e.dialog,"data-record-param-id":e.id??null,children:e.children}),Ue=e=>Ia("form",{"data-ui":"record-form","data-layout":"actions",method:"post",action:"","data-record-kind":e.kind,children:[le("input",{type:"hidden",name:ve,value:e.command,autocomplete:"off"}),Object.entries(e.hidden??{}).map(([t,a])=>le("input",{type:"hidden",name:t,value:a,autocomplete:"off"})),e.children]});import{Fragment as Fe,jsx as wf,jsxs as He}from"/_ket/view/jsx-runtime.js";var $a=e=>{let t=e??{};return(Array.isArray(t.errors)?t.errors:Array.isArray(t.issues)?t.issues:[]).map(l=>{let g=l??{},u=Array.isArray(g.path)?g.path.join("."):null;return{field:typeof g.field=="string"?g.field:u,code:String(g.code??"invalid"),message:typeof g.message=="string"?g.message:null,params:g.params&&typeof g.params=="object"?g.params:{}}})},za=async(e,t,a={})=>{let l=new URL(e,"https://record.invalid");if(l.origin!=="https://record.invalid"||!e.startsWith("/")||e.startsWith("//"))throw new Error("Record commands require a same-origin route");let g=await fetch(l.pathname+l.search,{method:"POST",credentials:"same-origin",headers:{"content-type":"application/json",...a.idempotencyKey?{"idempotency-key":a.idempotencyKey}:{}},body:JSON.stringify(t),signal:a.signal}),u=await g.json().catch(()=>({}));if(!g.ok||u.ok===!1)return{ok:!1,issues:$a(u.error??u),message:g.status>=500?null:u.error?.message??u.message??null,status:g.status};let D=u.value;return D&&typeof D=="object"&&D.ok===!1?{ok:!1,issues:$a(D),message:null,status:g.status}:{ok:!0,value:u.value}},Ba=(e,t,a={})=>za(`/_ket/fn/${encodeURIComponent(e)}`,t,a),Gn=async(e,t)=>{let a=new URL(e,location.href);if(a.origin!==location.origin)throw new Error("Record context must stay same-origin");let l=await fetch(a.href,{credentials:"same-origin",signal:t,headers:{accept:"application/json"}});return l.ok?{ok:!0,value:await l.json()}:{ok:!1,issues:[],message:null,status:l.status}},_n=30,Wn=Object.freeze({"recordModal.close":"Close","recordModal.loading":"Loading\u2026","recordModal.loadFailed":"The record could not be read.","recordModal.notFound":"The record is gone or you cannot see it.","recordModal.retry":"Retry","recordModal.errorTitle":"Not saved","recordModal.saveFailed":"That did not work. Try again.","recordModal.savedTitle":"Saved","recordModal.saved":"The change is in.","recordModal.unsaved":"Discard what you typed?","recordModal.uploadFailed":"The file could not be uploaded. Try again."}),Ge=(e,t)=>t.messages?.[e]??t.previous?.[e]??t.labels?.[e]??Wn[e]??(/^E_[A-Z_]+$/u.test(e)?Ge("recordModal.saveFailed",t):e),Zn=(e,t)=>{let a=Ge(e,t);return a===e?Ge("recordModal.saveFailed",t):a},ve="__command",Ka="data-record-dialog",qa=(e,t={})=>e.replace(/\{([a-zA-Z0-9_]+)\}/gu,(a,l)=>l in t?String(t[l]??""):a),Ua=["a[href]","button:not(:disabled)",'input:not(:disabled):not([type="hidden"])',"select:not(:disabled)","textarea:not(:disabled)",'[tabindex]:not([tabindex="-1"])'].join(", "),Na=e=>[...e.querySelectorAll(Ua)].filter(t=>!t.hidden&&t.getAttribute("aria-hidden")!=="true"&&!t.matches('[data-ui="modal-backdrop"]'));var Qn=e=>{let t=[],a=e;for(;a&&a!==document.body;){let l=a.parentElement;if(!l)break;for(let g of l.children)g instanceof HTMLElement&&g!==a&&!g.matches("script, style, template")&&(t.push({element:g,inert:g.inert}),g.inert=!0);a=l}return()=>{for(let{element:l,inert:g}of t)l.inert=g}},Ja=()=>typeof crypto<"u"&&"randomUUID"in crypto?crypto.randomUUID():`${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`,Yn=e=>Object.entries(e.values).some(([t,a])=>a!==e.initialValues[t])||Object.entries(e.checks).some(([t,a])=>a!==e.initialChecks[t]),E=()=>({values:{},checks:{},initialValues:{},initialChecks:{}}),Xa=(e,t)=>`${e}\0${t}`,Ve="__all:",ct=e=>e.after??"close",jn=400,ei=(e,t=jn)=>{let a,l=()=>{clearTimeout(a),a=void 0};return{set:g=>{if(l(),!g){e(!1);return}a=setTimeout(()=>e(!0),t)},stop:l}},ti='a, button, input, select, textarea, label, summary, details, [data-ui="select-cell"]',ai=e=>{let t=e?.closest("a[href]");return t?t.target&&t.target!=="_self"?null:t.href:e?.closest(ti)?null:e?.closest("[data-row-href]")?.getAttribute("data-row-href")??null},Va=e=>()=>{let t=M(null),a=M("idle"),l=M(null),g=M(null),u=M([]),D=M(E()),F=M(E()),ut=M(!1),mt=M(!1),gt=ei(i=>mt.set(i)),xe=M(!1),ft=i=>{ut.set(i),gt.set(i),i&&xe.set(!1)},H=M(null),Se=M(0),Y=M({}),q=M(null),$=new Map,ja=(i,d)=>{for($.delete(i),$.set(i,d);$.size>_n;)$.delete($.keys().next().value)},L=null,Oe=null,De=!1,We=null,B=null,de=null,Te=null,en=()=>typeof e.labels=="function"?e.labels():e.labels??{},bt=()=>({messages:l()?.messages,previous:Te,labels:en()}),N=(i,d)=>qa(Ge(i,bt()),d),pt=i=>i.message??qa(Zn(i.code,bt()),i.params),ht=i=>[...e.tabs??[],...e.extensionTabs?.(i)??[]].filter(d=>d.visible?.(i)??!0),Ie=(i,d,c="record")=>{let s=()=>c==="dialog"?F():D(),o={kind:e.kind,id:i.id,creating:i.id==="new",tab:i.tab,data:d,t:N,fieldError:p=>{let n=u().find(r=>r.field===p);return n?pt(n):null},draft:(p,n="")=>{let r=s();return r.initialValues[p]??=n,r.values[p]??n},draftChecked:(p,n="1",r=!1)=>{let m=s(),v=Xa(p,n);return m.initialChecks[v]??=r,m.checks[v]??r},outcome:p=>{let n=q();return n?.command===p?n.value:null},busy:mt(),dialog:H(),href:p=>st(location.href,{kind:e.kind,id:i.id,tab:p}),state:(p,n="")=>Y()[p]??n},h=ht(o);return h.length&&!h.some(p=>p.id===i.tab)&&(o.tab=h[0].id),o},j=async(i,d=!1)=>{Oe?.abort();let c=new AbortController;Oe=c;let s=e.cache===!1?void 0:$.get(i);s&&(Te=s.messages??Te,l.set(s),a.set("ready"),d=!0),d||a.set("loading"),g.set(null);try{let o=i==="new",h="route"in e.context?await Gn(e.context.route(i,o),c.signal):await Ba(e.context.fn,e.context.input?e.context.input(i,o):o?{}:{id:i},{signal:c.signal});if(c.signal.aborted)return;if(!h.ok||!h.value){g.set(h.ok?"recordModal.notFound":h.message??"recordModal.loadFailed"),a.set("error");return}Te=h.value.messages??Te,e.cache!==!1&&ja(i,h.value),l.set(h.value),a.set("ready")}catch(o){if(c.signal.aborted||o?.name==="AbortError")return;g.set("recordModal.loadFailed"),a.set("error")}},Ae=()=>L?[...L.querySelectorAll('[data-ui="modal-layer"][data-client-modal="true"]')]:[],ce=()=>Ae()[0]??null,Ze=()=>Ae().at(-1)??null,ue=0,me=()=>{if(e.fixedHeight||a()!=="ready")return;let i=ce()?.querySelector('[data-ui="modal-sheet"][data-height="fixed"]');if(!i)return;if(window.matchMedia("(max-width: 47.9375rem)").matches){i.style.setProperty("height","100dvh","important"),i.style.removeProperty("min-height");return}let d=i.querySelector('[data-ui="tabbed-view"]');if(!d)return;let c=d.querySelector('[data-ui="tab-panel"]'),s=c?.scrollTop??0;i.style.setProperty("height","auto","important"),i.style.setProperty("min-height","0"),d.style.setProperty("height","auto"),ue=Math.max(ue,Math.ceil(i.getBoundingClientRect().height)),d.style.removeProperty("height");let o=getComputedStyle(i).maxHeight;i.style.setProperty("min-height",o==="none"?`${ue}px`:`min(${ue}px, ${o})`),c&&(c.scrollTop=s)},ee=(i,d)=>{if(!i)return;let c=d==="dialog"?F():D(),s={values:{...c.values},checks:{...c.checks},initialValues:{...c.initialValues},initialChecks:{...c.initialChecks}};for(let o of i.querySelectorAll("input[name], select[name], textarea[name]"))if(!(o.disabled||o.name===ve)){if(o instanceof HTMLInputElement){if(o.type==="file"||o.type==="hidden")continue;if(o.type==="checkbox"||o.type==="radio"){let h=Xa(o.name,o.value);s.initialChecks[h]??=o.defaultChecked,s.checks[h]=o.checked,o.type==="checkbox"?s.values[o.name]=o.checked?o.value:"":o.checked&&(s.values[o.name]=o.value),s.initialValues[o.name]=s.values[o.name]??"";continue}}s.initialValues[o.name]??=o instanceof HTMLSelectElement?[...o.options].find(h=>h.defaultSelected)?.value??o.options[0]?.value??"":o.defaultValue,s.values[o.name]=o.value}d==="dialog"?F.set(s):D.set(s)},Qe=()=>{let i=Ae();ee(i[0]??null,"record"),i.length>1&&ee(i.at(-1)??null,"dialog")},yt=i=>{if(!i)return!0;let d=H()&&i===Ze()?"dialog":"record";ee(i,d);let c=d==="dialog"?F():D(),s=[...i.querySelectorAll('input[type="file"]')].some(o=>!o.disabled&&!!o.files?.length);return!Yn(c)&&!s?!0:globalThis.confirm(N("recordModal.unsaved"))},ke=i=>{requestAnimationFrame(()=>{let d=Ae(),c=d[0],s=d.at(-1);if(!s)return;c&&(c.inert=d.length>1);let o=i?.();if(o?.isConnected&&s.contains(o)){o.focus();return}if(s.contains(document.activeElement))return;let h=s.querySelector('[data-ui="modal-sheet"]');(Na(s).find(n=>!n.matches('[data-ui="modal-close"]'))??h)?.focus()})},V=(i,d,c,s)=>{let o=t(),h=o?.id===i,p=d??(h?o.tab:"");h||(ue=0,We=document.activeElement instanceof HTMLElement?document.activeElement:null,u.set([]),xe.set(!1),D.set(E()),F.set(E()),Y.set({}),q.set(null),H.set(null),B=null,l.set(null),j(i)),t.set({id:i,tab:p});let n=st(location.href,{kind:e.kind,id:i,tab:p||null});c==="push"?(history.replaceState({...history.state??{},__ketScroll:[window.scrollX,window.scrollY]},"",location.href),history.pushState({...history.state??{},__ketRecordModal:e.kind},"",n),De=!0):c==="replace"&&history.replaceState(history.state??{},"",n),L&&!de&&(de=Qn(L)),ke(s)},we=i=>{Oe?.abort(),t.set(null),ue=0,H.set(null),u.set([]),xe.set(!1),D.set(E()),F.set(E()),Y.set({}),q.set(null),a.set("idle"),l.set(null),de?.(),de=null,i==="history"&&De?(De=!1,history.back()):i!=="none"&&(De=!1,history.replaceState(history.state??{},"",Da(location.href)));let d=We;We=null,B=null,d?.isConnected&&requestAnimationFrame(()=>d.focus())},vt=()=>{if(H()){if(!yt(Ze()))return;let i=B;B=null,H.set(null),F.set(E()),u.set([]),q.set(null),ke(()=>i?.isConnected?i:null);return}yt(ce())&&we("history")},tn=async(i,d,c)=>{let s=e.commands?.[i],o=t(),h=l()?.data;if(!s||!o||h===void 0||ut())return;let p=new FormData(d,c instanceof HTMLButtonElement?c:null),n=d.closest('[data-ui="modal-layer"][data-client-modal="true"]'),r=H()&&n===Ze()?"dialog":"record";ee(n,r);let m=Ie(o,h,r);if(s.confirm){let v=s.confirm(m);if(v&&!globalThis.confirm(v))return}ft(!0),u.set([]);try{let v={};for(let[b,I]of Object.entries(s.upload??{})){let A=p.get(b);if(!(A instanceof File)||A.size===0)continue;let ge=new FormData;for(let[Ye,rn]of Object.entries(I(p,m)))ge.append(Ye,rn);ge.append("file",A,A.name);let Re=await fetch("/files",{method:"POST",credentials:"same-origin",body:ge}),X=await Re.json().catch(()=>null);if(!Re.ok||!X?.id){u.set([{field:null,code:"recordModal.uploadFailed",message:typeof X?.message=="string"?X.message:null,params:{}}]);return}v[b]={id:String(X.id),name:typeof X.name=="string"?X.name:null}}let k=(b,I)=>Ba(b,I,{idempotencyKey:Ja()}),y=s.route?await za(s.route,s.input(p,m,v),{idempotencyKey:Ja()}):await k(s.fn,s.input(p,m,v));for(let b of y.ok?s.also??[]:[])if(!(b.when&&!b.when(m))&&(y=await k(b.fn,b.input(p,m,v)),!y.ok))break;if(!y.ok){q.set(null),u.set(y.issues.length?y.issues.map(b=>({...b,field:b.field&&s.issueField?s.issueField(b.field,p,m):b.field})):[{field:null,code:y.message??"recordModal.saveFailed",message:y.message,params:{}}]);return}if(s.preview){q.set({command:i,value:y.value}),Se.set(Se()+1);return}r==="dialog"?F.set(E()):D.set(E()),q.set(ct(s)==="stay"?{command:i,value:y.value}:null),d.reset();let J=y.value,G=ct(s)==="open"?s.created?.(y.value)??(J&&typeof J=="object"&&J.id!=null?String(J.id):null):null;$.delete(o.id),G&&$.delete(G);let te=()=>{document.dispatchEvent(new CustomEvent("ket:records-changed",{detail:{kind:e.kind,ids:[G??o.id]}}))};if(s.navigate){let b=new URL(s.navigate(y.value,m),location.href);if(b.origin!==location.origin)throw new Error("Record navigation must stay same-origin");we("none"),location.assign(b.href);return}let O=ct(s);if(O!=="close"&&xe.set(!0),O==="open"){H.set(null),F.set(E()),G?V(G,s.openTab??null,"replace"):we("history"),te();return}if(te(),O==="close")we("history");else if(O==="reload"){let b=B;B=null,H.set(null),F.set(E()),await j(o.id),ke(()=>b?.isConnected?b:null)}else if(O==="refresh")await j(o.id,!0);else if(O==="stay")Se.set(Se()+1);else if("tab"in O)B=null,H.set(null),F.set(E()),V(o.id,O.tab,"replace"),await j(o.id);else{let b=O.dialog?null:B;B=O.dialog&&c instanceof HTMLElement?c:null,H.set(O.dialog?{name:O.dialog,params:{}}:null),F.set(E()),await j(o.id,!0),ke(()=>b?.isConnected?b:null)}}catch{u.set([{field:null,code:"recordModal.saveFailed",message:null,params:{}}])}finally{ft(!1)}},xt=i=>{let d=u().filter(o=>!o.field),c=u().filter(o=>o.field&&!L?.querySelector(`[name="${CSS.escape(o.field)}"]`)),s=[...d,...c];return s.length?W({title:i.t("recordModal.errorTitle"),message:s.map(pt).join(" \xB7 "),tone:"danger"}):xe()?W({title:i.t("recordModal.savedTitle"),message:i.t("recordModal.saved"),tone:"positive"}):""},an=()=>{let i=t();if(!i)return"";if(a()==="error")return He(Fe,{children:[W({title:N("recordModal.errorTitle"),message:N(g()??"recordModal.loadFailed"),tone:"danger"}),w({label:N("recordModal.retry"),variant:"secondary",name:"intent",value:"retry"})]});let d=l()?.data;if(a()!=="ready"||d===void 0)return fe({label:N("recordModal.loading")});let c=Ie(i,d),s=ht(c),o=s.find(r=>r.id===c.tab),h=e.header?.(c)??"",p=xt(c),n=o?o.view(c):e.body?.(c)??"";return s.length?nt({id:`record-view-${e.kind.replaceAll(".","-")}`,label:e.title(c),items:s.map(r=>({id:r.id,label:r.label(c),href:c.href(r.id),active:r.id===c.tab})),context:h!==""||p!==""?He(Fe,{children:[h,p]}):void 0,body:n}):He(Fe,{children:[h,p,n]})},nn=()=>{let i=t(),d=H(),c=l()?.data;if(!i||!d||c===void 0)return"";let s=e.dialogs?.[d.name];if(!s)return"";let o=Ie(i,c,"dialog");return ie({id:`record-dialog-${e.kind.replaceAll(".","-")}-${d.name}`,mode:"client",presentation:"dialog",size:s.size??"default",title:s.title(o),actions:s.actions?.(o),closeLabel:N("recordModal.close"),body:He(Fe,{children:[xt(o),s.view(o)]})})};return{view:()=>{Se();let i=t();if(!i)return dt(e.kind);let d=l()?.data,c=d===void 0?null:Ie(i,d);return He(Fe,{children:[dt(e.kind),ie({id:`record-modal-${e.kind.replaceAll(".","-")}`,mode:"client",presentation:"dialog",size:e.size??"default",height:(e.tabs?.length??0)+(e.extensionTabs?1:0)>1?"fixed":"content",fixedHeight:e.fixedHeight??"auto",title:c?e.title(c):N("recordModal.loading"),description:c?e.description?.(c)??null:null,status:c?e.status?.(c):void 0,actions:c?e.actions?.(c):void 0,closeLabel:N("recordModal.close"),body:an()}),nn()]})},mount:({root:i,lifetime:d})=>{L=i,document.addEventListener("click",n=>{if(n.defaultPrevented||n.button!==0||n.metaKey||n.ctrlKey||n.shiftKey||n.altKey)return;let r=n.target instanceof Element?n.target:null,m=r?.closest('[data-ui="modal-layer"][data-client-modal="true"]');if(m&&L?.contains(m)){if(r?.closest('[data-ui="modal-close"], [data-ui="modal-backdrop"], [data-record-close]')){n.preventDefault(),vt();return}let b=r?.closest("button[data-record-state], a[data-record-state]");if(b){n.preventDefault(),Qe(),Y.set({...Y(),[b.getAttribute("data-record-state")??""]:b.getAttribute("data-record-value")??""});return}let I=r?.closest(`[${Ka}]`);if(I){n.preventDefault(),ee(ce(),"record");let A=document.activeElement;B=A instanceof HTMLElement&&I.contains(A)?A:I.querySelector(Ua),F.set(E());let ge={};for(let[Re,X]of Object.entries(I.dataset))Re.startsWith("recordParam")&&X!==void 0&&(ge[Re.slice(11).replace(/^./u,Ye=>Ye.toLowerCase())]=X);u.set([]),q.set(null),H.set({name:I.getAttribute(Ka)??"",params:ge}),ke();return}if(r?.closest('button[name="intent"][value="retry"]')){n.preventDefault();let A=t();A&&j(A.id);return}}let v=ai(r);if(!v)return;let k=new URL(v,location.href);if(k.origin!==location.origin||k.pathname!==location.pathname)return;let y=he(k);if(!y||y.kind!==e.kind)return;n.preventDefault();let J=t(),G="route"in e.context?e.context.query??[]:[],te=new URL(location.href);if(G.some(b=>te.searchParams.get(b)!==k.searchParams.get(b))){ee(ce(),"record");for(let b of G){let I=k.searchParams.get(b);I===null?te.searchParams.delete(b):te.searchParams.set(b,I)}history.replaceState(history.state??{},"",te.href),J?.id===y.id&&j(J.id)}if(J?.id===y.id){if((y.tab??"")===J.tab)return;ee(ce(),"record"),u.set([]),q.set(null),V(y.id,y.tab??null,"replace",()=>ce()?.querySelector('[data-ui="tab"][data-active="true"]')??null);return}V(y.id,y.tab??null,"push")},{signal:d,capture:!0}),document.addEventListener("keydown",n=>{if(n.defaultPrevented||n.key!=="Enter"&&n.key!==" ")return;let r=n.target instanceof Element?n.target:null;if(!r?.matches('[data-row-href][tabindex="0"]'))return;let m=r.getAttribute("data-row-href"),v=m?new URL(m,location.href):null;if(!v||v.origin!==location.origin||v.pathname!==location.pathname)return;let k=he(v);!k||k.kind!==e.kind||(n.preventDefault(),V(k.id,k.tab??null,"push"))},{signal:d,capture:!0}),document.addEventListener("submit",n=>{let r=n.target instanceof HTMLFormElement?n.target:null;if(!r||!L?.contains(r))return;n.preventDefault();let m=n.submitter??null,v=(m instanceof HTMLButtonElement&&m.name===ve?m.value:null)??String(new FormData(r).get(ve)??"");tn(v,r,m)},{signal:d}),document.addEventListener("keydown",n=>{if(!t())return;let r=L?.querySelectorAll('[data-ui="modal-layer"][data-client-modal="true"]'),m=r?.[r.length-1];if(!m)return;if(n.key==="Escape"){n.preventDefault(),vt();return}if(n.key!=="Tab")return;let v=Na(m);if(!v.length){n.preventDefault(),m.querySelector('[data-ui="modal-sheet"]')?.focus();return}let k=v[0],y=v.at(-1);n.shiftKey&&(document.activeElement===k||!m.contains(document.activeElement))?(n.preventDefault(),y.focus()):!n.shiftKey&&(document.activeElement===y||!m.contains(document.activeElement))&&(n.preventDefault(),k.focus())},{signal:d}),document.addEventListener("change",n=>{let r=n.target instanceof Element?n.target:null;if(!r||!L?.contains(r))return;if(r instanceof HTMLInputElement&&r.type==="checkbox"&&r.form){let v=r.form;if(v.querySelector(`input[type="checkbox"][name^="${Ve}"]`)){if(r.name.startsWith(Ve)){let k=r.name.slice(Ve.length);for(let y of v.querySelectorAll('input[type="checkbox"]'))!y.disabled&&!y.name.startsWith(Ve)&&y.name.startsWith(k)&&(y.checked=r.checked)}Qe();return}}let m=r.getAttribute("data-record-state")??(["relation-native","reorder-list-value"].includes(r.getAttribute("data-ui")??"")?r.getAttribute("name"):null);if((r instanceof HTMLSelectElement||r instanceof HTMLInputElement)&&m){Qe(),Y.set({...Y(),[m]:r.value});return}r instanceof HTMLInputElement&&r.type==="file"&&r.hasAttribute("data-record-submit")&&r.files?.length&&r.form?.requestSubmit()},{signal:d});let c=n=>{let m=(n.target instanceof Element?n.target:null)?.closest("form[data-record-dropzone]")??null;return m&&L?.contains(m)?m:null};document.addEventListener("dragover",n=>{let r=c(n);r&&(n.preventDefault(),r.dataset.drag="1")},{signal:d}),document.addEventListener("dragleave",n=>{let r=c(n);if(!r)return;let m=n.relatedTarget;m instanceof Node&&r.contains(m)||delete r.dataset.drag},{signal:d}),document.addEventListener("drop",n=>{let r=c(n);if(!r)return;n.preventDefault(),delete r.dataset.drag;let m=n.dataTransfer?.files,v=r.querySelector('input[type="file"]');if(!v||!m?.length)return;let k=new DataTransfer;k.items.add(m[0]),v.files=k.files,r.requestSubmit()},{signal:d});let s="ket-island, div[data-ket-island]",o=n=>n instanceof Element&&(n.matches(s)||n.querySelector(s)!==null),h=new MutationObserver(n=>{me();for(let r of n){for(let m of r.removedNodes)o(m)&&document.dispatchEvent(new CustomEvent("ket:islands-detach",{detail:{root:m}}));for(let m of r.addedNodes)o(m)&&m.isConnected&&document.dispatchEvent(new CustomEvent("ket:islands-attach",{detail:{root:m}}))}});h.observe(L,{childList:!0,subtree:!0,characterData:!0}),d.addEventListener("abort",()=>h.disconnect()),window.addEventListener("resize",me,{signal:d}),L.addEventListener("load",me,{capture:!0,signal:d}),L.addEventListener("toggle",me,{capture:!0,signal:d}),document.fonts?.ready.then(()=>{d.aborted||me()}),me(),document.addEventListener("ket:records-changed",n=>{let r=n.detail;if(r?.kind===e.kind)if(!Array.isArray(r.ids)||!r.ids.length)$.clear();else for(let m of r.ids)$.delete(String(m))},{signal:d}),document.addEventListener("ket:popstate",n=>{let r=he(location.href),m=r?.kind===e.kind;!m&&!t()||(n.preventDefault(),m&&r?V(r.id,r.tab??null,"none"):we("none"))},{signal:d}),document.addEventListener("ket:navigation-complete",()=>{let n=he(location.href);n?.kind===e.kind&&!t()&&V(n.id,n.tab??null,"none")},{signal:d});let p=he(location.href);p?.kind===e.kind&&V(p.id,p.tab??null,"none"),d.addEventListener("abort",()=>{Oe?.abort(),gt.stop(),de?.(),de=null,L=null})}}};var Ga={vi:{"recordModal.close":"\u0110\xF3ng","recordModal.loading":"\u0110ang t\u1EA3i\u2026","recordModal.loadFailed":"Kh\xF4ng \u0111\u1ECDc \u0111\u01B0\u1EE3c d\u1EEF li\u1EC7u. H\xE3y th\u1EED l\u1EA1i.","recordModal.notFound":"M\u1EE5c n\xE0y kh\xF4ng c\xF2n t\u1ED3n t\u1EA1i ho\u1EB7c b\u1EA1n kh\xF4ng c\xF3 quy\u1EC1n xem.","recordModal.retry":"Th\u1EED l\u1EA1i","recordModal.errorTitle":"Ch\u01B0a l\u01B0u \u0111\u01B0\u1EE3c","recordModal.saveFailed":"Thao t\xE1c kh\xF4ng th\xE0nh c\xF4ng. H\xE3y th\u1EED l\u1EA1i.","recordModal.savedTitle":"\u0110\xE3 l\u01B0u","recordModal.saved":"Thay \u0111\u1ED5i \u0111\xE3 \u0111\u01B0\u1EE3c ghi nh\u1EADn.","recordModal.unsaved":"B\u1ECF c\xE1c thay \u0111\u1ED5i ch\u01B0a l\u01B0u?","recordModal.uploadFailed":"Kh\xF4ng t\u1EA3i \u0111\u01B0\u1EE3c t\u1EC7p l\xEAn. H\xE3y th\u1EED l\u1EA1i."},en:{"recordModal.close":"Close","recordModal.loading":"Loading\u2026","recordModal.loadFailed":"The record could not be read. Try again.","recordModal.notFound":"The record is gone or you cannot see it.","recordModal.retry":"Retry","recordModal.errorTitle":"Not saved","recordModal.saveFailed":"That did not work. Try again.","recordModal.savedTitle":"Saved","recordModal.saved":"The changes have been saved.","recordModal.unsaved":"Discard unsaved changes?","recordModal.uploadFailed":"The file could not be uploaded. Try again."}};import{jsx as x}from"/_ket/view/jsx-runtime.js";var _a=()=>typeof document<"u"&&document.documentElement.lang==="en"?"en":"vi",f=(e,t)=>e.t(`purchase_backend.${t}`),Wa=e=>["draft","sent","to approve"].includes(String(e.data.record.state))&&!e.data.record.locked,se=(e,t)=>(e.data.choices[t]??[]).map(a=>({value:String(a.id),label:String(a.name)})),P=(e,t,a,l={})=>({id:`purchase-${e.dialog?.name??"record"}-${t}`,name:t,label:f(e,`field.${a}`),...l,value:e.draft(t,String(l.value??"")),error:e.fieldError(t),disabled:e.busy}),Q=(e,t,a,l=!1)=>x(Ue,{kind:e.kind,command:t,children:x(w,{type:"submit",label:f(e,`action.${a}`),variant:l?"primary":"secondary",disabled:e.busy})}),Ya=(e,t,a)=>x(ze,{dialog:t,children:x(w,{label:f(e,`action.${a}`),disabled:e.busy})}),_e=(e,t)=>Object.fromEntries(t.flatMap(a=>{let l=String(e.get(a)??"");return l?[[a,l]]:[]})),ni=e=>e.data.record.lines.find(t=>t.id===e.dialog?.params.id),Za=(e,t=!1)=>{let a=t?ni(e):void 0;return[...t?[]:[P(e,"productId","product",{type:"select",options:se(e,"variants"),required:!0}),P(e,"productUomId","uom",{type:"select",options:se(e,"units"),required:!0})],P(e,"productQty","productQty",{type:"decimal",value:String(a?.productQty??"1"),required:!0}),P(e,"priceUnit","priceUnit",{type:"decimal",value:String(a?.priceUnit??"")}),P(e,"discount","discount",{type:"decimal",value:String(a?.discount??"0")}),P(e,"taxId","tax",{type:"select",options:[{value:"",label:"\u2014"},...se(e,"taxes")],value:String(a?.taxId??"")})]},ii=e=>x(ye,{kind:e.kind,command:"create",fields:[P(e,"partnerId","vendor",{type:"select",options:se(e,"partners"),required:!0}),P(e,"pickingTypeId","pickingType",{type:"select",options:se(e,"pickingTypes"),required:!0}),P(e,"partnerRef","partnerRef"),P(e,"dateOrder","dateOrder",{type:"date"}),P(e,"datePlanned","datePlanned",{type:"date"}),P(e,"notes","notes",{type:"textarea",span:"full"})],actions:[x(w,{type:"submit",label:f(e,"action.createRfq"),variant:"primary",disabled:e.busy})]}),Qa=e=>x(Be,{items:[x(Je,{items:["partnerName","partnerRef","dateOrder","datePlanned","amountTotal","notes"].map(t=>({id:t,label:f(e,`field.${t==="partnerName"?"vendor":t}`),value:String(e.data.record.display?.[t]??e.data.record[t]??"\u2014")||"\u2014"}))}),x(Pe,{title:f(e,"modal.lines"),actions:Wa(e)&&e.data.permissions.addLine?Ya(e,"addLine","addLine"):null,body:x(Ee,{rows:e.data.record.lines,id:t=>String(t.id),responsive:"scroll",columns:[{key:"name",label:f(e,"field.product"),cell:t=>String(t.name)},{key:"productQty",label:f(e,"field.productQty"),cell:t=>String(t.productQty)},{key:"qtyReceived",label:f(e,"field.qtyReceived"),cell:t=>String(t.qtyReceived)},{key:"priceUnit",label:f(e,"field.priceUnit"),cell:t=>String(t.priceUnitLabel??t.priceUnit)},{key:"edit",label:f(e,"modal.edit"),cell:t=>Wa(e)&&e.data.permissions.updateLine?x(ze,{dialog:"editLine",id:String(t.id),children:x(w,{label:f(e,"modal.edit"),variant:"tertiary"})}):""}]})})]}),ri={kind:"purchase.order",size:"large",labels:()=>Ga[_a()],context:{route:(e,t)=>`/admin/purchase/record/${t?"new":encodeURIComponent(e)}/context?lang=${_a()}`,query:["company","branch"]},title:e=>e.creating?f(e,"action.createRfq"):String(e.data.record.name),status:e=>e.creating?null:x(Ce,{label:f(e,`state.${e.data.record.state}`)}),body:e=>e.creating?ii(e):Qa(e),tabs:[{id:"info",label:e=>f(e,"modal.info"),visible:e=>!e.creating,view:Qa},{id:"receipts",label:e=>f(e,"modal.receipts"),visible:e=>!e.creating,view:e=>x(Ee,{rows:e.data.record.pickings,id:t=>String(t.id),responsive:"scroll",columns:[{key:"name",label:f(e,"field.name"),cell:t=>String(t.name)},{key:"state",label:f(e,"field.state"),cell:t=>String(t.state)},{key:"receive",label:f(e,"modal.receive"),cell:t=>t.state!=="done"&&t.state!=="cancel"&&e.data.permissions.receiveOrderReceipt?x(Ue,{kind:e.kind,command:"receive",hidden:{receiptId:String(t.id)},children:x(w,{type:"submit",label:f(e,"modal.receive")})}):""}]})},{id:"bills",label:e=>f(e,"modal.bills"),visible:e=>!e.creating,view:e=>x(Pe,{title:f(e,"modal.bills"),actions:e.data.record.state==="purchase"&&e.data.permissions.createVendorBill?Ya(e,"bill","createBill"):null,body:x(Ee,{rows:e.data.record.bills,id:t=>String(t.id),responsive:"scroll",columns:[{key:"name",label:f(e,"field.name"),cell:t=>String(t.name)},{key:"state",label:f(e,"field.state"),cell:t=>String(t.state)}]})})},{id:"actions",label:e=>f(e,"modal.more"),visible:e=>!e.creating,view:e=>x(Be,{items:[...["sent","to approve"].includes(String(e.data.record.state))&&e.data.permissions.resetToDraft?[Q(e,"reset","resetToDraft")]:[],...e.data.record.state==="purchase"&&e.data.permissions.lockOrder?[Q(e,e.data.record.locked?"unlock":"lock",e.data.record.locked?"unlock":"lock")]:[],...e.data.record.state!=="cancel"&&!e.data.record.locked&&!e.data.record.moves?.some(t=>t.state==="done")&&e.data.permissions.cancelOrder?[Q(e,"cancel","cancel")]:[]]})}],actions:e=>e.creating?void 0:x(z,{actions:[...e.data.record.state==="draft"&&e.data.permissions.sendRfq?[Q(e,"send","send")]:[],...["draft","sent"].includes(String(e.data.record.state))&&e.data.permissions.confirmOrder?[Q(e,"confirm","confirm",!0),Q(e,"requestApproval","requestApproval")]:[],...e.data.record.state==="to approve"&&e.data.permissions.approveOrder?[Q(e,"approve","approve",!0)]:[],...e.data.record.state==="purchase"&&e.data.permissions.syncReceipts?[Q(e,"sync","syncReceipts")]:[]]}),dialogs:{addLine:{title:e=>f(e,"action.addLine"),view:e=>x(ye,{kind:e.kind,command:"addLine",fields:Za(e),actions:[x(w,{type:"submit",label:f(e,"action.addLine"),variant:"primary",disabled:e.busy})]})},editLine:{title:e=>f(e,"modal.edit"),view:e=>x(ye,{kind:e.kind,fields:Za(e,!0),actions:[x(w,{type:"submit",name:"__command",value:"updateLine",label:f(e,"action.updateLine"),variant:"primary",disabled:e.busy}),...e.data.permissions.removeLine?[x(w,{type:"submit",name:"__command",value:"removeLine",label:f(e,"action.removeLine"),variant:"destructive",disabled:e.busy})]:[]]})},bill:{title:e=>f(e,"action.createBill"),view:e=>x(ye,{kind:e.kind,command:"bill",fields:[P(e,"journalId","journal",{type:"select",options:se(e,"journals"),required:!0}),...["expenseAccountId","payableAccountId","taxAccountId"].map(t=>P(e,t,t.replace("Id",""),{type:"select",options:se(e,"accounts"),required:t!=="taxAccountId"})),P(e,"invoiceDate","invoiceDate",{type:"date"})],actions:[x(w,{type:"submit",label:f(e,"action.createBill"),variant:"primary",disabled:e.busy})]})}},commands:{create:{fn:"purchase.createOrder",input:(e,t)=>({id:t.data.draftId,..._e(e,["partnerId","pickingTypeId","partnerRef","dateOrder","datePlanned","notes"])}),after:"open"},addLine:{fn:"purchase.addLine",input:(e,t)=>({id:t.data.draftId,orderId:t.id,..._e(e,["productId","productUomId","productQty","priceUnit","discount","taxId"])}),after:"reload"},updateLine:{fn:"purchase.updateLine",input:(e,t)=>({id:t.dialog?.params.id,..._e(e,["productQty","priceUnit","discount","taxId"])}),after:"reload"},removeLine:{fn:"purchase.removeLine",input:(e,t)=>({id:t.dialog?.params.id}),after:"reload",confirm:e=>f(e,"modal.confirmRemove")},send:{fn:"purchase.sendRfq",input:(e,t)=>({id:t.id}),after:"reload"},confirm:{fn:"purchase.confirmOrder",input:(e,t)=>({id:t.id,expectedRevision:Number(t.data.record.revision)}),after:"reload"},requestApproval:{fn:"purchase.confirmOrder",input:(e,t)=>({id:t.id,requiresApproval:!0,expectedRevision:Number(t.data.record.revision)}),after:"reload"},approve:{fn:"purchase.approveOrder",input:(e,t)=>({id:t.id,expectedRevision:Number(t.data.record.revision)}),after:"reload"},reset:{fn:"purchase.resetToDraft",input:(e,t)=>({id:t.id}),after:"reload"},sync:{fn:"purchase.syncReceipts",input:(e,t)=>({id:t.id}),after:"reload"},receive:{fn:"purchase.receiveOrderReceipt",input:(e,t)=>({id:t.id,receiptId:String(e.get("receiptId")),expectedRevision:Number(t.data.record.revision)}),after:"reload",confirm:e=>f(e,"modal.confirmReceive")},lock:{fn:"purchase.lockOrder",input:(e,t)=>({id:t.id,locked:!0}),after:"reload"},unlock:{fn:"purchase.lockOrder",input:(e,t)=>({id:t.id,locked:!1}),after:"reload"},cancel:{fn:"purchase.cancelOrder",input:(e,t)=>({id:t.id}),after:"reload",confirm:e=>f(e,"modal.confirmCancel")},bill:{fn:"purchase.createVendorBill",input:(e,t)=>({id:t.data.draftId,orderId:t.id,..._e(e,["journalId","expenseAccountId","payableAccountId","taxAccountId","invoiceDate"])}),after:"reload"}}},Hf=Va(ri);export{Hf as purchaseOrderModal,ri as purchaseOrderModalDefinition};
2
+ import{each as cn}from"/_ket/view/index.js";import{Fragment as Rt,jsx as ie,jsxs as mn}from"/_ket/view/jsx-runtime.js";var wt=["action","action-leading","action-label","action-spinner","action-group"],un=e=>mn(Rt,{children:[e.loading===!0&&ie("span",{"data-ui":"action-spinner","aria-hidden":"true"}),e.loading!==!0&&e.leading!==void 0&&ie("span",{"data-ui":"action-leading","aria-hidden":"true",children:e.leading}),!e.iconOnly&&ie("span",{"data-ui":"action-label",children:e.label})]}),w=e=>ie("button",{"data-ui":"action","data-variant":e.variant??"secondary","data-size":e.size??"default",type:e.type??"button",name:e.name??null,value:e.value??null,form:e.form??null,disabled:e.disabled===!0||e.loading===!0,"aria-busy":e.loading===!0?"true":null,"aria-describedby":e.describedBy??null,"aria-expanded":e.expanded===void 0?null:String(e.expanded),"aria-controls":e.controls??null,children:ie(un,{...e})});var G=e=>ie("div",{"data-ui":"action-group",role:"group","aria-label":e.label??null,children:cn(e.actions,(t,a)=>a,t=>ie(Rt,{children:t}))});import{jsx as gn,jsxs as fi}from"/_ket/view/jsx-runtime.js";var Ct=["badge","tag","tag-remove","count-badge","avatar","code","text","media-label","media-label-image","media-label-copy"];var Pe=e=>gn("span",{"data-ui":"badge","data-pattern":"badge","data-tone":e.tone??"neutral","data-value":e.value??"",children:e.label});import{each as fn}from"/_ket/view/index.js";import{Fragment as Je,jsx as T,jsxs as Q}from"/_ket/view/jsx-runtime.js";var Lt=["notice","notice-mark","notice-copy","notice-title","notice-message","notice-actions","empty","empty-mark","empty-title","empty-message","empty-actions","loading","loading-label"],bn={info:()=>Q(Je,{children:[T("circle",{cx:"12",cy:"12",r:"10"}),T("path",{d:"M12 16v-4"}),T("path",{d:"M12 8h.01"})]}),positive:()=>Q(Je,{children:[T("circle",{cx:"12",cy:"12",r:"10"}),T("path",{d:"m9 12 2 2 4-4"})]}),warning:()=>Q(Je,{children:[T("path",{d:"m21.73 18-8-14a2 2 0 0 0-3.46 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3"}),T("path",{d:"M12 9v4"}),T("path",{d:"M12 17h.01"})]}),danger:()=>Q(Je,{children:[T("circle",{cx:"12",cy:"12",r:"10"}),T("path",{d:"M12 8v4"}),T("path",{d:"M12 16h.01"})]})},Y=e=>Q("aside",{"data-ui":"notice","data-pattern":"notice","data-tone":e.tone??"info",role:e.tone==="danger"?"alert":"status",children:[T("span",{"data-ui":"notice-mark","aria-hidden":"true",children:T("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true",focusable:"false",children:bn[e.tone??"info"]()})}),Q("div",{"data-ui":"notice-copy",children:[T("p",{"data-ui":"notice-title",children:e.title}),T("p",{"data-ui":"notice-message",children:e.message})]}),e.actions!==void 0&&T("div",{"data-ui":"notice-actions",children:e.actions})]}),re=e=>Q("div",{"data-ui":"empty",role:"status",children:[T("span",{"data-ui":"empty-mark","aria-hidden":"true",children:"\u25C7"}),T("p",{"data-ui":"empty-title",children:e.title}),T("p",{"data-ui":"empty-message",children:e.message}),e.actions!==void 0&&T("div",{"data-ui":"empty-actions",children:e.actions})]}),he=e=>Q("div",{"data-ui":"loading",role:"status","aria-live":"polite",children:[T("span",{"data-ui":"loading-label",children:e.label}),T("div",{"data-ui":"skeleton","aria-hidden":"true",children:fn(Array.from({length:Math.max(1,e.lines??3)}),(t,a)=>a,(t,a)=>T("span",{"data-ui":"skeleton-line","data-line":String(a+1)}))})]});import{each as ot}from"/_ket/view/index.js";import{each as Sn}from"/_ket/view/index.js";import{jsx as N,jsxs as Me}from"/_ket/view/jsx-runtime.js";var Pt=["modal-layer","modal-backdrop","modal-sheet","modal-head","modal-heading","modal-title-row","modal-title","modal-description","modal-close","modal-body","modal-actions"],oe=e=>{let t=e.mode==="client",a=e.mode==="embedded";return Me("div",{"data-ui":"modal-layer","data-mode":e.mode??"overlay","data-route-modal":a||t?null:"true","data-client-modal":t?"true":null,"data-presentation":e.presentation??"sheet","data-unsaved-prompt":e.unsavedPrompt??null,children:[t?N("button",{"data-ui":"modal-backdrop",type:"button","aria-hidden":"true",tabIndex:-1,children:N("span",{children:e.closeLabel})}):N("a",{"data-ui":"modal-backdrop",href:e.closeHref??"#","aria-label":e.closeLabel,children:N("span",{children:e.closeLabel})}),Me("section",{id:e.id,"data-ui":"modal-sheet","data-size":e.size??"default","data-height":e.height==="fixed"?"fixed":null,style:e.height==="fixed"&&e.fixedHeight?`--kv-modal-fixed-height: ${e.fixedHeight}`:"",...e.dialogSemantics==="parent"?{}:{role:"dialog","aria-modal":a?"false":"true"},"aria-labelledby":e.dialogSemantics==="parent"?null:`${e.id}-title`,"aria-describedby":e.dialogSemantics!=="parent"&&e.description?`${e.id}-description`:null,tabindex:a?null:"-1",children:[Me("header",{"data-ui":"modal-head",children:[Me("div",{"data-ui":"modal-heading",children:[Me("div",{"data-ui":"modal-title-row",children:[N("h2",{"data-ui":"modal-title",id:`${e.id}-title`,children:e.title}),e.status!==void 0&&e.status]}),!!e.description&&N("p",{"data-ui":"modal-description",id:`${e.id}-description`,children:e.description})]}),t?N("button",{"data-ui":"modal-close",type:"button","aria-label":e.closeLabel,title:e.closeLabel,children:"\xD7"}):N("a",{"data-ui":"modal-close",href:e.closeHref??"#","aria-label":e.closeLabel,title:e.closeLabel,children:"\xD7"})]}),N("div",{"data-ui":"modal-body",children:e.body}),e.actions!==void 0&&N("footer",{"data-ui":"modal-actions",children:e.actions})]})]})};import{Fragment as wi,jsx as Ti,jsxs as ki}from"/_ket/view/jsx-runtime.js";import{Fragment as Fi,jsx as Mi,jsxs as Ei}from"/_ket/view/jsx-runtime.js";var Et=["app-shell","app-shell-topbar","app-topbar","app-location-bar","app-location-context","app-brand","app-topbar-brand","app-topbar-context","global-search-trigger","global-search-trigger-label","global-search-shortcut","global-search-dialog","global-search","global-search-input","global-search-submit","app-sidebar","app-main","app-right-rail","page","page-context","page-header","page-heading","page-eyebrow","page-title-row","page-title","page-subline","page-status","page-actions","page-meta","page-body","record-canvas","record-content","record-section","record-section-title"];import{Fragment as Ft,jsx as P,jsxs as le}from"/_ket/view/jsx-runtime.js";var Ot=["stack","inline","grid","card-grid","surface","surface-head","surface-heading","surface-title","surface-description","surface-actions","disclosure","disclosure-summary","disclosure-body","section","section-head","section-eyebrow","section-title","section-description","section-actions","section-body","content-card","card-media","card-head","card-leading","card-heading","card-eyebrow","card-title","card-summary","card-status","card-body","card-meta","card-actions","kanban","kanban-card","kanban-media","kanban-title","kanban-meta","kanban-note","kanban-actions","metric","metric-icon","metric-label","metric-value","metric-detail"],Tn=e=>P(Ft,{children:Sn(e.items,(t,a)=>a,t=>typeof t=="string"||typeof t=="number"?P("span",{children:t}):P(Ft,{children:t}))}),Xe=e=>P("div",{"data-ui":"stack","data-pattern":"stack","data-gap":e.gap??"default","data-divided":e.divided===!0?"true":null,children:P(Tn,{items:e.items})});var it=e=>le("div",{"data-ui":"surface","data-tone":e.tone??"default","data-padding":e.padding??"default","data-has-heading":e.title?"true":null,children:[e.title&&le("header",{"data-ui":"surface-head",children:[e.description?le("div",{"data-ui":"surface-heading",children:[P("h2",{"data-ui":"surface-title",children:e.title}),P("p",{"data-ui":"surface-description",children:e.description})]}):P("h2",{"data-ui":"surface-title",children:e.title}),e.actions!==void 0&&P("div",{"data-ui":"surface-actions",children:e.actions})]}),e.body]}),rt=e=>le("details",{"data-ui":"disclosure",open:e.open===!0?!0:void 0,children:[P("summary",{"data-ui":"disclosure-summary",children:e.summary}),P("div",{"data-ui":"disclosure-body",children:e.body})]}),Ee=e=>le("section",{"data-ui":"section",children:[le("header",{"data-ui":"section-head",children:[le("div",{children:[!!e.eyebrow&&P("p",{"data-ui":"section-eyebrow",children:e.eyebrow}),P("h2",{"data-ui":"section-title",children:e.title}),!!e.description&&P("p",{"data-ui":"section-description",children:e.description})]}),e.actions!==void 0&&P("div",{"data-ui":"section-actions",children:e.actions})]}),P("div",{"data-ui":"section-body",children:e.body})]});import{each as kn}from"/_ket/view/index.js";import{Fragment as wn,jsx as Fe}from"/_ket/view/jsx-runtime.js";var ze=(e,t)=>e.control!==void 0?Fe(wn,{children:e.control}):e.type==="textarea"?Fe("textarea",{"data-ui":"field-control","data-appearance":e.appearance==="embedded"?"embedded":null,id:e.id,name:e.name,placeholder:e.placeholder??null,required:e.required===!0,disabled:e.disabled===!0,readonly:e.readOnly===!0,"aria-invalid":e.error?"true":null,"aria-describedby":t,children:String(e.value??"")}):e.type==="select"?Fe("select",{"data-ui":"field-control","data-appearance":e.appearance==="embedded"?"embedded":null,id:e.id,name:e.name,required:e.required===!0,disabled:e.disabled===!0,"aria-invalid":e.error?"true":null,"aria-describedby":t,children:kn(e.options??[],a=>a.value,a=>Fe("option",{value:a.value,selected:String(e.value??"")===a.value,disabled:a.disabled===!0,children:a.label}))}):Fe("input",{"data-ui":"field-control","data-appearance":e.appearance==="embedded"?"embedded":null,id:e.id,type:e.type==="decimal"?"number":e.type??"text",name:e.name,value:e.type==="checkbox"?"1":String(e.value??""),checked:e.type==="checkbox"&&(e.value===!0||e.value==="1"),placeholder:e.placeholder??null,required:e.required===!0,disabled:e.disabled===!0,readonly:e.readOnly===!0,min:e.min,max:e.max,"aria-invalid":e.error?"true":null,"aria-describedby":t,autocomplete:e.autocomplete??"off",step:e.type==="decimal"?e.step??"any":e.step??null});import{jsx as R,jsxs as _}from"/_ket/view/jsx-runtime.js";var Ht=["field","field-label","field-required","field-control","field-options","field-option","field-option-input","field-help","field-error"],Dt=e=>!!e.error||(e.fields?.some(Dt)??!1),se=e=>{let t=e.help?`${e.id}-help`:null,a=e.error?`${e.id}-error`:null,l=[t,a].filter(Boolean).join(" ")||null,g=_("span",{"data-ui":"field-label",children:[e.label,e.required&&R("span",{"data-ui":"field-required","aria-hidden":"true",children:" *"})]});return e.fields?_("div",{"data-ui":"field","data-kind":"group","data-span":"full","data-invalid":String(!!e.error),children:[R(rt,{summary:e.label,open:e.open||Dt(e),body:R("div",{"data-ui":"form-grid",children:ot(e.fields.map(u=>({...u,disabled:e.disabled||u.disabled,readOnly:e.readOnly||u.readOnly})),u=>u.id,u=>R(se,{...u}))})}),!!e.help&&R("small",{"data-ui":"field-help",id:t??void 0,children:e.help}),!!e.error&&R("small",{"data-ui":"field-error",id:a??void 0,children:e.error})]}):e.type==="checkbox-group"?_("div",{"data-ui":"field","data-kind":"checkbox-group","data-span":e.span??"half","data-invalid":String(!!e.error),children:[_("span",{"data-ui":"field-label",id:`${e.id}-label`,children:[e.label,e.required&&R("span",{"data-ui":"field-required","aria-hidden":"true",children:" *"})]}),R("div",{"data-ui":"field-options","data-orientation":e.optionsOrientation==="vertical"?"vertical":null,role:"group","aria-labelledby":`${e.id}-label`,children:ot(e.options??[],u=>u.name??u.value,u=>_("label",{"data-ui":"field-option",children:[R("input",{"data-ui":"field-option-input",type:"checkbox",name:u.name??`${e.name}[]`,value:u.value,checked:u.checked===!0,disabled:e.disabled===!0||u.disabled===!0,"aria-invalid":e.error?"true":null,"aria-describedby":l,autocomplete:"off"}),R("span",{children:u.label})]}))}),!!e.help&&R("small",{"data-ui":"field-help",id:t??void 0,children:e.help}),!!e.error&&R("small",{"data-ui":"field-error",id:a??void 0,children:e.error})]}):e.type==="radio"?_("div",{"data-ui":"field","data-kind":"radio","data-span":e.span??"half","data-invalid":String(!!e.error),children:[_("span",{"data-ui":"field-label",id:`${e.id}-label`,children:[e.label,e.required&&R("span",{"data-ui":"field-required","aria-hidden":"true",children:" *"})]}),R("div",{"data-ui":"field-options","data-orientation":e.optionsOrientation==="vertical"?"vertical":null,role:"radiogroup","aria-labelledby":`${e.id}-label`,children:ot(e.options??[],u=>u.value,u=>_("label",{"data-ui":"field-option",children:[R("input",{"data-ui":"field-option-input",type:"radio",name:e.name,value:u.value,checked:String(e.value??"")===u.value,required:e.required===!0,disabled:e.disabled===!0||u.disabled===!0,"aria-invalid":e.error?"true":null,"aria-describedby":l,autocomplete:"off"}),R("span",{children:u.label})]}))}),!!e.help&&R("small",{"data-ui":"field-help",id:t??void 0,children:e.help}),!!e.error&&R("small",{"data-ui":"field-error",id:a??void 0,children:e.error})]}):_("label",{"data-ui":"field","data-kind":e.type??"text","data-label-hidden":e.labelHidden?"true":null,"data-selection-hidden":e.selectionHidden?"true":null,"data-span":e.span??"half","data-invalid":String(!!e.error),for:e.id,children:[e.type==="checkbox"&&ze(e,l),g,e.type!=="checkbox"&&ze(e,l),!!e.help&&R("small",{"data-ui":"field-help",id:t??void 0,children:e.help}),!!e.error&&R("small",{"data-ui":"field-error",id:a??void 0,children:e.error})]})};import{each as Rn}from"/_ket/view/index.js";import{jsx as ye,jsxs as st}from"/_ket/view/jsx-runtime.js";var It=["breadcrumbs","breadcrumb","breadcrumb-overflow","breadcrumb-overflow-trigger","breadcrumb-overflow-list","nav-list","nav-item","nav-item-leading","nav-item-label","nav-item-count","tabs","tab","tab-count","tabbed-view","tabbed-view-context","tab-panel"];var At=e=>st("a",{"data-ui":"tab","data-active":e.active===!0?"true":null,id:e.elementId,href:e.href,"aria-current":e.active===!0?"page":null,"aria-controls":e.controls,children:[e.label,e.count!==void 0&&ye("span",{"data-ui":"tab-count",children:String(e.count)})]}),$t=(e,t)=>`${e}-${t.replace(/[^a-zA-Z0-9_-]+/gu,"-")}-tab`,Bt=e=>st("nav",{"data-ui":"tabs","data-pattern":"tabs","aria-label":e.label,children:[Rn(e.items,t=>t.id,t=>ye(At,{...t,elementId:e.id?$t(e.id,t.id):void 0,controls:e.panelId})),e.extension]}),Kt=e=>ye("section",{"data-ui":"tab-panel",id:e.id,"aria-labelledby":e.labelledBy,tabindex:"-1",children:e.body}),lt=e=>{let t=`${e.id}-tabs`,a=`${e.id}-panel`,l=e.items.find(g=>g.active===!0);return st("div",{"data-ui":"tabbed-view",children:[e.context!==void 0&&e.context!==""?ye("div",{"data-ui":"tabbed-view-context",children:e.context}):"",ye(Bt,{id:t,label:e.label,items:e.items,extension:e.extension,panelId:a}),ye(Kt,{id:a,labelledBy:l?$t(t,l.id):void 0,body:e.body})]})};import{jsx as ji,jsxs as er}from"/_ket/view/jsx-runtime.js";var qt=["progress","progress-label","progress-value","progress-track","progress-bar"];import{each as nr}from"/_ket/view/index.js";import{Fragment as lr,jsx as rr,jsxs as or}from"/_ket/view/jsx-runtime.js";var Nt=["menu","menu-trigger","menu-trigger-count","menu-panel","menu-search","menu-search-input","menu-label","menu-separator","menu-item","menu-item-leading","menu-item-copy","menu-item-check","menu-item-shortcut"];import{jsx as cr,jsxs as ur}from"/_ket/view/jsx-runtime.js";var Jt=["popover","popover-trigger","popover-panel","popover-close"];import{jsx as fr,jsxs as br}from"/_ket/view/jsx-runtime.js";var Xt=["tooltip","tooltip-trigger","tooltip-content"];import{jsx as xr}from"/_ket/view/jsx-runtime.js";var zt=["dialog","confirm-dialog-message"];import{each as kr}from"/_ket/view/index.js";import{jsx as Rr,jsxs as Cr}from"/_ket/view/jsx-runtime.js";var Vt=["toast-region","toast","toast-copy","toast-title","toast-message","toast-actions"];import{jsx as Mr}from"/_ket/view/jsx-runtime.js";var Ut=["spinner","visually-hidden"];import{each as Or}from"/_ket/view/index.js";import{jsx as Dr}from"/_ket/view/jsx-runtime.js";var Gt=["skeleton","skeleton-line"];import{each as $r,effect as Br,signal as Kr}from"/_ket/view/index.js";import{jsx as Jr,jsxs as Nr}from"/_ket/view/jsx-runtime.js";var _t=["relation-select","relation-native","relation-trigger","relation-value","relation-caret","relation-chips","relation-chip","relation-chip-clear","relation-menu","relation-search","relation-options","relation-option","relation-footer","relation-empty","relation-editor","relation-dialog-toolbar","relation-search-field","relation-search-icon","relation-dialog-list","relation-dialog-row","relation-dialog-main","relation-dialog-meta","relation-dialog-actions"];import{each as Vr,signal as Ur}from"/_ket/view/index.js";import{jsx as _r,jsxs as Wr}from"/_ket/view/jsx-runtime.js";var Wt=["lightbox","lightbox-thumbs","lightbox-thumb","lightbox-empty","lightbox-layer","lightbox-backdrop","lightbox-toolbar","lightbox-counter","lightbox-tool","lightbox-stage","lightbox-image","lightbox-nav","lightbox-caption"];import{each as jr,signal as eo}from"/_ket/view/index.js";import{Fragment as io,jsx as no,jsxs as ao}from"/_ket/view/jsx-runtime.js";var Zt=["search-filter","search-filter-bar","search-filter-section-toggle","search-filter-sheet","search-filter-clear","search-filter-icon","search-filter-field","search-filter-input","search-filter-facets","search-filter-facet","search-filter-facet-remove","search-filter-suggestions","search-filter-suggestion","search-filter-toggle","search-filter-columns","search-filter-column","search-filter-column-title","search-filter-empty","search-filter-grouping","search-filter-grouping-head","search-filter-grouping-list","search-filter-grouping-item","search-filter-grouping-order","search-filter-grouping-label","search-filter-grouping-actions","search-filter-grouping-action","search-filter-grouping-clear","search-filter-grouping-add-label","custom-filter","custom-filter-row","custom-filter-add","custom-group-by","favorite-list","favorite-item","favorite-item-default","favorite-item-remove","favorite-save","favorite-save-toggle","favorite-save-row"];import{each as uo,effect as mo,signal as go}from"/_ket/view/index.js";import{jsx as lo}from"/_ket/view/jsx-runtime.js";var Qt=["formatted-date","formatted-number","formatted-money"];import{Fragment as yo,jsx as vo,jsxs as xo}from"/_ket/view/jsx-runtime.js";var jt=["ket-table","kt-scroll","kt-selection-target","kt-grid","kt-select-col","kt-select-all","kt-col","kt-sort-button","kt-sort-icon","kt-row","kt-cell","kt-person","kt-select-cell","kt-row-select","kt-row-link","kt-group-row","kt-group-cell","kt-group-toggle","kt-group-indent","kt-group-count","kt-group-pager","kt-pager","kt-pager-label","kt-pager-button","kt-select-persisted","kt-caption","kt-tools"];var Io=["a[href]","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])","summary",'[tabindex]:not([tabindex="-1"])'].join(",");var Fn=['[data-ui="timeframe-menu"]','[data-ui="view-settings"]'],Ao=Fn.map(e=>`${e}[open]`).join(", ");import{jsx as Ko,jsxs as qo}from"/_ket/view/jsx-runtime.js";import{jsx as Vo,jsxs as Uo}from"/_ket/view/jsx-runtime.js";var ea=["switch-control","switch-track"];import{each as Wo}from"/_ket/view/index.js";import{Fragment as el,jsx as Yo,jsxs as jo}from"/_ket/view/jsx-runtime.js";var ta=["combobox","combobox-input-row","combobox-toggle","combobox-listbox","combobox-option","combobox-empty","tag-picker"];import{Fragment as cl,jsx as sl,jsxs as dl}from"/_ket/view/jsx-runtime.js";var aa=["date-picker","date-range","date-inputs","date-control-row","date-tools","date-range-error","date-calendar","date-calendar-head","date-calendar-title","date-calendar-body","date-field-control","date-range-preset","date-boundary","date-calendar-months","date-month","date-month-title","date-grid","date-weekday","date-cell","date-day","date-calendar-footer","date-calendar-status"];import{jsx as fl,jsxs as bl}from"/_ket/view/jsx-runtime.js";var na=["file-upload","drop-zone","upload-status"];import{jsx as vl}from"/_ket/view/jsx-runtime.js";var ia=["relation-picker"];import{each as Tl}from"/_ket/view/index.js";import{jsx as Cl,jsxs as Ll}from"/_ket/view/jsx-runtime.js";var ra=["search-bar","filter-bar","applied-filters","applied-filter","saved-views","saved-view","view-settings","view-settings-options"];import{jsx as Fl,jsxs as Ol}from"/_ket/view/jsx-runtime.js";var oa=["inline-edit","inline-edit-value","inline-edit-form","inline-edit-actions"];import{each as Vl}from"/_ket/view/index.js";import{each as $l}from"/_ket/view/index.js";import{Fragment as Jl,jsx as ql,jsxs as Nl}from"/_ket/view/jsx-runtime.js";var la=["list-chrome","list-chrome-row","list-search","list-search-label","list-search-input","list-search-submit","list-filter-menus","list-facets","list-facet","list-facet-count","list-view-switch","list-view","list-sort","list-sort-label","list-sort-select","list-status","list-actions","bulk-actions","bulk-summary","bulk-count","bulk-action-list","pager-bar","pager-summary","pager-pages","pager-page","pager-actions","pager-link"];import{jsx as Wl,jsxs as Zl}from"/_ket/view/jsx-runtime.js";var sa=["resource-list","resource-list-item","resource-list-select","resource-list-link"];import{each as jl}from"/_ket/view/index.js";import{jsx as ts,jsxs as as}from"/_ket/view/jsx-runtime.js";var da=["data-grid-scroll","data-grid","data-grid-cap","data-grid-cell"];import{each as rs}from"/_ket/view/index.js";import{jsx as ls,jsxs as ss}from"/_ket/view/jsx-runtime.js";var ca=["tree","tree-item","tree-link","tree-grid","tree-grid-row"];import{each as us}from"/_ket/view/index.js";import{jsx as gs,jsxs as fs}from"/_ket/view/jsx-runtime.js";var ua=["data-matrix","data-matrix-head","data-matrix-heading","data-matrix-eyebrow","data-matrix-title","data-matrix-description","data-matrix-summary","data-matrix-scroll","data-matrix-table","data-matrix-column","data-matrix-row-head","data-matrix-row-leading","data-matrix-row-title","data-matrix-row-description","data-matrix-row-status","data-matrix-row-actions","data-matrix-cell"];import{each as hs}from"/_ket/view/index.js";import{jsx as vs,jsxs as xs}from"/_ket/view/jsx-runtime.js";var ma=["bar-chart","bar-chart-rows","bar-chart-row","bar-chart-label","bar-chart-caption","bar-chart-track","bar-chart-fill","bar-chart-segment","bar-chart-value","bar-chart-scale","bar-chart-legend","bar-chart-legend-item","bar-chart-legend-swatch","bar-chart-empty"];import{each as ks}from"/_ket/view/index.js";import{jsx as Rs,jsxs as Cs}from"/_ket/view/jsx-runtime.js";var ga=["timeframe","timeframe-menu","timeframe-trigger","timeframe-label","timeframe-value","timeframe-content","timeframe-option","timeframe-option-label","timeframe-option-detail","timeframe-range","timeframe-asof","timeframe-note"];import{each as An}from"/_ket/view/index.js";import{jsx as Ue,jsxs as $n}from"/_ket/view/jsx-runtime.js";var fa=["description-list","key-value","key-value-label","key-value-value","person","person-body","avatar-group","status"],ba=e=>$n("div",{"data-ui":"key-value",children:[Ue("dt",{"data-ui":"key-value-label",children:e.label}),Ue("dd",{"data-ui":"key-value-value",children:e.value??e.emptyLabel??"\u2014"})]}),Ge=e=>Ue("dl",{"data-ui":"description-list","aria-label":e.label,"data-columns":String(e.columns??2),"data-layout":e.layout==="strip"?"strip":null,children:An(e.items,t=>t.id,t=>Ue(ba,{...t}))});import{each as Hs}from"/_ket/view/index.js";import{jsx as Bs,jsxs as Ks}from"/_ket/view/jsx-runtime.js";var ha=["record-summary","record-summary-main","record-actions","record-rail"];import{each as Js}from"/_ket/view/index.js";import{jsx as Us,jsxs as Gs}from"/_ket/view/jsx-runtime.js";var ya=["activity-timeline","activity-item","activity-marker","audit-log","audit-item"];import{each as Zs}from"/_ket/view/index.js";import{jsx as js,jsxs as ed}from"/_ket/view/jsx-runtime.js";var va=["attachments","attachment","media-gallery","media-item"];import{each as nd}from"/_ket/view/index.js";import{Fragment as ld,jsx as rd,jsxs as od}from"/_ket/view/jsx-runtime.js";var xa=["app-navigation","navigation-trigger","navigation-toggle","navigation-trigger-icon","navigation-trigger-identity","navigation-trigger-label","navigation-layer","navigation-backdrop","navigation-drawer","navigation-header","navigation-identity","navigation-context","navigation-close","navigation-groups","navigation-group","navigation-group-label","navigation-items","navigation-supplementary","navigation-item","navigation-branch","navigation-branch-trigger","navigation-children","navigation-item-leading","navigation-item-copy","navigation-item-label","navigation-item-description","navigation-item-count","navigation-footer"];import{each as ve}from"/_ket/view/index.js";import{Fragment as Ca,jsx as S,jsxs as j}from"/_ket/view/jsx-runtime.js";var Sa=["table-scroll","table","table-caption","select-col","select-all","col","sort-link","sort-icon","row","group-row","group-cell","group-link","group-indent","group-count","group-pager","group-pager-actions","cell","select-cell","row-select","row-link"],Kn=e=>e.shownColumns??e.columns.filter(t=>t.hidden!==!0).map(t=>t.key),qn=e=>{let t=new Set(Kn(e));return e.columns.filter(a=>t.has(a.key))},Ta=(e,t)=>t.length+(e.selection?1:0),Nn=(e,t)=>e.sort?.direction?e.sort.direction==="ascending"?t?.sortedAscending??"Sorted ascending":t?.sortedDescending??"Sorted descending":null,Jn=(e,t)=>S("th",{"data-ui":"col","data-col":e.key,"data-align":e.align??"start","data-kind":e.kind??"text","data-width":e.width??null,"data-optional":e.optional===!0?"true":null,"data-sort":e.sort?.direction??null,"aria-sort":e.sort?.direction??null,scope:"col",children:e.sort?j("a",{"data-ui":"sort-link",href:e.sort.href,"aria-label":e.sort.label??e.label,children:[S("span",{children:e.label}),!!e.sort.direction&&S("span",{"data-ui":"sort-icon","aria-hidden":"true",title:Nn(e,t)??void 0,children:e.sort.direction==="ascending"?"\u2191":"\u2193"})]}):e.label}),Xn=e=>e.selection?S("th",{"data-ui":"select-col",scope:"col",children:S("input",{"data-ui":"select-all",type:"checkbox",name:e.selection.selectAllName??"select-all","aria-label":e.labels?.selectAll??"Select all rows",disabled:e.selection.disabled===!0})}):null,ka=(e,t)=>e.selected?.(t)===!0?!0:e.selection?.selectedIds?.includes(e.id(t))===!0,zn=(e,t,a)=>j(Ca,{children:[e.selection&&S("td",{"data-ui":"select-cell",children:S("input",{"data-ui":"row-select",type:"checkbox",name:e.selection.name??"ids",form:e.selection.form,value:e.id(a),checked:ka(e,a),"aria-label":e.labels?.selectRow?.(a,e.id(a))??`Select row ${e.id(a)}`,disabled:e.selection.disabled===!0})}),ve(t,l=>l.key,l=>S("td",{"data-ui":"cell","data-col":l.key,"data-linked":e.rowHref&&l===t[0]?"true":null,"data-align":l.align??"start","data-kind":l.kind??"text","data-priority":l.priority??"secondary","data-label":e.responsive==="stack"?l.label:null,children:e.rowHref&&l===t[0]?S("a",{"data-ui":"row-link",href:e.rowHref(a),children:l.cell(a)}):l.cell(a)}))]}),wa=(e,t,a)=>S("tr",{"data-ui":"row","data-row":e.id(a),"data-selected":ka(e,a)?"true":null,children:zn(e,t,a)}),Vn=(e,t,a)=>a?S("tr",{"data-ui":"group-pager",children:j("td",{colSpan:String(Ta(e,t)),children:[S("span",{children:a.label}),j("span",{"data-ui":"group-pager-actions",children:[a.previousHref&&S("a",{href:a.previousHref,"aria-label":e.labels?.previousPage??"Previous page",children:"\u2039"}),a.nextHref&&S("a",{href:a.nextHref,"aria-label":e.labels?.nextPage??"Next page",children:"\u203A"})]})]})}):null,Ra=(e,t,a,l)=>j(Ca,{children:[S("tr",{"data-ui":"group-row","data-group":a.id,"data-depth":String(l),children:j("th",{"data-ui":"group-cell",colSpan:String(Ta(e,t)),scope:"rowgroup",children:[S("span",{"data-ui":"group-indent",style:`--kv-group-depth: ${l}`,"aria-hidden":"true"}),a.href?S("a",{"data-ui":"group-link",href:a.href,children:a.label}):S("span",{"data-ui":"group-link",children:a.label}),a.count!==void 0&&S("span",{"data-ui":"group-count",children:String(a.count)})]})}),ve(a.rows??[],e.id,g=>wa(e,t,g)),ve(a.children??[],g=>g.id,g=>Ra(e,t,g,l+1)),Vn(e,t,a.pager)]}),Oe=e=>{let t=qn(e),a=e.groups??[],g=e.rows.length>0||a.length>0?S("div",{"data-ui":"table-scroll","data-pattern":"data-table","data-framed":e.title?"false":null,"data-responsive":e.responsive??"scroll","data-gutter":e.gutter==="compact"?"compact":null,children:j("table",{"data-ui":"table","aria-label":e.caption?null:e.title??null,children:[!!e.caption&&S("caption",{"data-ui":"table-caption",children:e.caption}),S("thead",{children:j("tr",{children:[Xn(e),ve(t,u=>u.key,u=>Jn(u,e.labels))]})}),S("tbody",{children:a.length>0?ve(a,u=>u.id,u=>Ra(e,t,u,0)):ve(e.rows,e.id,u=>wa(e,t,u))})]})}):S(re,{title:e.emptyTitle??"No records",message:e.emptyMessage??"There is nothing to show yet.",actions:e.emptyActions});return e.title?S(it,{title:e.title,actions:e.actions,padding:"none",body:g}):g};import{Fragment as kd,jsx as Td,jsxs as wd}from"/_ket/view/jsx-runtime.js";var La=["list-page","list-page-context","list-page-header","list-page-heading","list-page-title-row","list-page-eyebrow","list-page-title","list-page-description","list-page-actions","list-page-tools","list-page-toolbar","list-page-controls","list-page-status","list-page-body","list-page-footer"];import{jsx as Pd,jsxs as Md}from"/_ket/view/jsx-runtime.js";var Pa=["record-page","record-page-context","record-page-header","record-page-title-row","record-page-heading","record-page-title","record-page-subline","record-page-status","record-page-actions","record-page-meta","record-page-controller","record-page-navigation","record-page-layout","record-page-body","record-page-aside"];var Ma=["form-page","form-page-context","form-page-header","form-page-title-row","form-page-heading","form-page-title","form-page-subline","form-page-status","form-page-actions","form-page-meta","form-page-controller","form-page-navigation","form-page-layout","form-page-body","form-page-aside"];import{jsx as Bd,jsxs as Kd}from"/_ket/view/jsx-runtime.js";var Ea=["dashboard-page","dashboard-page-context","dashboard-page-header","dashboard-page-heading","dashboard-page-eyebrow","dashboard-page-title-row","dashboard-page-title","dashboard-page-subline","dashboard-page-status","dashboard-page-actions","dashboard-page-meta","dashboard-page-body"];var Fa=["board-page","board-page-context","board-page-header","board-page-heading","board-page-eyebrow","board-page-title-row","board-page-title","board-page-subline","board-page-status","board-page-actions","board-page-meta","board-page-toolbar","board-page-controls","board-page-body"];import{each as _d}from"/_ket/view/index.js";import{jsx as Zd,jsxs as Qd}from"/_ket/view/jsx-runtime.js";var Oa=["pipeline","pipeline-step","pipeline-arrow","pipeline-step-label","pipeline-step-value","pipeline-step-node"];import{each as ac}from"/_ket/view/index.js";import{jsx as oc,jsxs as lc}from"/_ket/view/jsx-runtime.js";var Ha=["record-form","form-errors","form-grid","form-actions"];import{each as bc}from"/_ket/view/index.js";import{jsx as vc,jsxs as xc}from"/_ket/view/jsx-runtime.js";var Da=["reorder-list","reorder-list-value","reorder-list-rows","reorder-list-row","reorder-list-content","reorder-list-controls"];var Ia={actions:wt,feedback:Lt,fields:Ht,status:Ct,navigation:It,progress:qt,menu:Nt,reorderList:Da,popover:Jt,tooltip:Xt,dialog:zt,toast:Vt,spinner:Ut,skeleton:Gt,lightbox:Wt,relationSelect:_t,searchFilter:Zt,ketTable:jt,scalarFields:ea,combobox:ta,dateTime:aa,upload:na,relationPicker:ia,listControls:ra,inlineEdit:oa,resourceList:sa,dataGrid:da,tree:ca,matrix:ua,barChart:ma,timeframe:ga,recordDisplay:fa,formattedValues:Qt,recordComposition:ha,activity:ya,media:va,layouts:Ot,shell:Et,appNavigation:xa,table:Sa,listChrome:la,listPage:La,formPage:Ma,recordPage:Pa,dashboardPage:Ea,boardPage:Fa,modal:Pt,pipeline:Oa,form:Ha},Gn=[...new Set(Object.values(Ia).flat())].sort(),_n=Object.freeze(Object.fromEntries(Object.entries(Ia).map(([e,t])=>[e,[...t]])));import{signal as F}from"/_ket/view/index.js";import{jsx as Zn}from"/_ket/view/jsx-runtime.js";var _e="record";var He="recordDialog";var Wn=/^[a-z][a-z0-9_]*(?:\.[a-zA-Z][a-zA-Z0-9_]*)+$/u,Aa=e=>Wn.test(e),De=(e,t)=>{if(!Aa(t.kind))throw new TypeError(`invalid record kind "${t.kind}"`);let a=new URL(String(e),"http://ket.local");return a.searchParams.set(_e,`${t.kind}:${t.id}`),t.tab?a.searchParams.set("tab",t.tab):a.searchParams.delete("tab"),t.dialog?a.searchParams.set(He,t.dialog):a.searchParams.delete(He),`${a.pathname}${a.search}`};var $a=e=>{let t=new URL(String(e),"http://ket.local");return t.searchParams.delete(_e),t.searchParams.delete("tab"),t.searchParams.delete(He),`${t.pathname}${t.search}`},xe=e=>{let t=new URL(String(e),"http://ket.local"),a=t.searchParams.get(_e)??"",l=a.indexOf(":");if(l<=0||l===a.length-1)return null;let g=a.slice(0,l);return Aa(g)?{kind:g,id:a.slice(l+1),tab:t.searchParams.get("tab"),...t.searchParams.get(He)?{dialog:t.searchParams.get(He)}:{}}:null},mt=e=>Zn("span",{"data-ui":"record-modal-host","data-record-kind":e,hidden:!0});import{jsx as de,jsxs as Ba}from"/_ket/view/jsx-runtime.js";var Se=e=>Ba("form",{"data-ui":"record-form",method:"post",action:"","data-record-kind":e.kind,"data-record-dropzone":e.dropzone?"":null,id:e.id,"data-record-dirty":e.dirty===!0?"true":null,children:[e.command?de("input",{type:"hidden",name:Te,value:e.command,autocomplete:"off"}):"",Object.entries(e.hidden??{}).map(([t,a])=>de("input",{type:"hidden",name:t,value:a,autocomplete:"off"})),e.fields.length?de("div",{"data-ui":"form-grid",children:e.fields.map(t=>se(t))}):null,e.body,e.actions?.length?de("div",{"data-ui":"form-actions",children:G({actions:e.actions})}):""]});var We=e=>de("span",{"data-record-dialog":e.dialog,"data-record-param-id":e.id??null,children:e.children});var Ze=e=>Ba("form",{"data-ui":"record-form","data-layout":"actions",method:"post",action:"","data-record-kind":e.kind,children:[de("input",{type:"hidden",name:Te,value:e.command,autocomplete:"off"}),Object.entries(e.hidden??{}).map(([t,a])=>de("input",{type:"hidden",name:t,value:a,autocomplete:"off"})),e.children]});import{Fragment as Ie,jsx as Mf,jsxs as Ae}from"/_ket/view/jsx-runtime.js";var qa=e=>{let t=e??{};return(Array.isArray(t.errors)?t.errors:Array.isArray(t.issues)?t.issues:[]).map(l=>{let g=l??{},u=Array.isArray(g.path)?g.path.join("."):null;return{field:typeof g.field=="string"?g.field:u,code:String(g.code??"invalid"),message:typeof g.message=="string"?g.message:null,params:g.params&&typeof g.params=="object"?g.params:{}}})},_a=async(e,t,a={})=>{let l=new URL(e,"https://record.invalid");if(l.origin!=="https://record.invalid"||!e.startsWith("/")||e.startsWith("//"))throw new Error("Record commands require a same-origin route");let g=await fetch(l.pathname+l.search,{method:"POST",credentials:"same-origin",headers:{"content-type":"application/json",...a.idempotencyKey?{"idempotency-key":a.idempotencyKey}:{}},body:JSON.stringify(t),signal:a.signal}),u=await g.json().catch(()=>({}));if(!g.ok||u.ok===!1)return{ok:!1,issues:qa(u.error??u),message:g.status>=500?null:u.error?.message??u.message??null,status:g.status};let L=u.value;return L&&typeof L=="object"&&L.ok===!1?{ok:!1,issues:qa(L),message:null,status:g.status}:{ok:!0,value:u.value}},Na=(e,t,a={})=>_a(`/_ket/fn/${encodeURIComponent(e)}`,t,a),Qn=async(e,t)=>{let a=new URL(e,location.href);if(a.origin!==location.origin)throw new Error("Record context must stay same-origin");let l=await fetch(a.href,{credentials:"same-origin",signal:t,headers:{accept:"application/json"}});return l.ok?{ok:!0,value:await l.json()}:{ok:!1,issues:[],message:null,status:l.status}},Yn=30,jn=Object.freeze({"recordModal.close":"Close","recordModal.loading":"Loading\u2026","recordModal.loadFailed":"The record could not be read.","recordModal.notFound":"The record is gone or you cannot see it.","recordModal.retry":"Retry","recordModal.errorTitle":"Not saved","recordModal.saveFailed":"That did not work. Try again.","recordModal.savedTitle":"Saved","recordModal.saved":"The change is in.","recordModal.unsaved":"Discard what you typed?","recordModal.uploadFailed":"The file could not be uploaded. Try again."}),Ye=(e,t)=>t.messages?.[e]??t.previous?.[e]??t.labels?.[e]??jn[e]??(/^E_[A-Z_]+$/u.test(e)?Ye("recordModal.saveFailed",t):e),ei=(e,t)=>{let a=Ye(e,t);return a===e?Ye("recordModal.saveFailed",t):a},Te="__command",Ja="data-record-dialog",Xa=(e,t={})=>e.replace(/\{([a-zA-Z0-9_]+)\}/gu,(a,l)=>l in t?String(t[l]??""):a),Wa=["a[href]","button:not(:disabled)",'input:not(:disabled):not([type="hidden"])',"select:not(:disabled)","textarea:not(:disabled)",'[tabindex]:not([tabindex="-1"])'].join(", "),za=e=>[...e.querySelectorAll(Wa)].filter(t=>!t.hidden&&t.getAttribute("aria-hidden")!=="true"&&!t.matches('[data-ui="modal-backdrop"]'));var ti=e=>{let t=[],a=e;for(;a&&a!==document.body;){let l=a.parentElement;if(!l)break;for(let g of l.children)g instanceof HTMLElement&&g!==a&&!g.matches("script, style, template")&&(t.push({element:g,inert:g.inert}),g.inert=!0);a=l}return()=>{for(let{element:l,inert:g}of t)l.inert=g}},Va=()=>typeof crypto<"u"&&"randomUUID"in crypto?crypto.randomUUID():`${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`,ai=e=>Object.entries(e.values).some(([t,a])=>a!==e.initialValues[t])||Object.entries(e.checks).some(([t,a])=>a!==e.initialChecks[t]),Ua=(e,t)=>{let a=l=>Object.fromEntries(Object.entries(l).filter(([g])=>!t.includes(g)));return{values:a(e.values),checks:a(e.checks),initialValues:a(e.initialValues),initialChecks:a(e.initialChecks)}},O=()=>({values:{},checks:{},initialValues:{},initialChecks:{}}),Ga=(e,t)=>`${e}\0${t}`,Qe="__all:",gt=e=>e.after??"close",ni=400,ii=(e,t=ni)=>{let a,l=()=>{clearTimeout(a),a=void 0};return{set:g=>{if(l(),!g){e(!1);return}a=setTimeout(()=>e(!0),t)},stop:l}},ri='a, button, input, select, textarea, label, summary, details, [data-ui="select-cell"]',oi=e=>{let t=e?.closest("a[href]");return t?t.target&&t.target!=="_self"?null:t.href:e?.closest(ri)?null:e?.closest("[data-row-href]")?.getAttribute("data-row-href")??null},Za=e=>()=>{let t=F(null),a=F("idle"),l=F(null),g=F(null),u=F([]),L=F(O()),M=F(O()),ft=F(!1),bt=F(!1),pt=ii(r=>bt.set(r)),ue=F(!1),ht=r=>{ft.set(r),pt.set(r),r&&ue.set(!1)},C=F(null),ke=F(0),we=F({}),A=F({}),J=F(null),K=new Map,nn=(r,d)=>{for(K.delete(r),K.set(r,d);K.size>Yn;)K.delete(K.keys().next().value)},E=null,$e=null,Be=!1,et=null,q=null,me=null,Re=null,rn=()=>typeof e.labels=="function"?e.labels():e.labels??{},yt=()=>({messages:l()?.messages,previous:Re,labels:rn()}),X=(r,d)=>Xa(Ye(r,yt()),d),vt=r=>r.message??Xa(ei(r.code,yt()),r.params),xt=r=>[...e.tabs??[],...e.extensionTabs?.(r)??[]].filter(d=>d.visible?.(r)??!0),Ke=(r,d,c="record")=>{let s=()=>c==="dialog"?M():L(),o={kind:e.kind,id:r.id,creating:r.id==="new",tab:r.tab,data:d,t:X,fieldError:f=>{let n=u().find(i=>i.field===f);return n?vt(n):null},draft:(f,n="")=>{let i=s();return i.initialValues[f]??=n,i.values[f]??n},recordDraft:(f,n="")=>L().values[f]??n,draftChecked:(f,n="1",i=!1)=>{let m=s(),h=Ga(f,n);return m.initialChecks[h]??=i,m.checks[h]??i},outcome:f=>{let n=J();return n?.command===f?n.value:null},busy:bt(),dialog:C(),href:f=>De(location.href,{kind:e.kind,id:r.id,tab:f}),state:(f,n="")=>(c==="dialog"?A()[f]:void 0)??we()[f]??n},v=xt(o);return v.length&&!v.some(f=>f.id===r.tab)&&(o.tab=v[0].id),o},Ce=null,te=async(r,d=!1)=>{$e?.abort();let c=new AbortController;$e=c;let s=e.cache===!1?void 0:K.get(r);s&&(Re=s.messages??Re,l.set(s),a.set("ready"),d=!0),d||a.set("loading"),g.set(null);try{let o=r==="new",v="route"in e.context?await Qn(e.context.route(r,o),c.signal):await Na(e.context.fn,e.context.input?e.context.input(r,o):o?{}:{id:r},{signal:c.signal});if(c.signal.aborted)return;if(!v.ok||!v.value){g.set(v.ok?"recordModal.notFound":v.message??"recordModal.loadFailed"),a.set("error");return}Re=v.value.messages??Re,e.cache!==!1&&nn(r,v.value),l.set(v.value),a.set("ready"),Ce&&e.dialogs?.[Ce]&&(C.set({name:Ce,params:{}}),pe()),Ce=null}catch(o){if(c.signal.aborted||o?.name==="AbortError")return;g.set("recordModal.loadFailed"),a.set("error")}},qe=()=>E?[...E.querySelectorAll('[data-ui="modal-layer"][data-client-modal="true"]')]:[],ge=()=>qe()[0]??null,tt=()=>qe().at(-1)??null,fe=0,be=()=>{if(e.fixedHeight||a()!=="ready")return;let r=ge()?.querySelector('[data-ui="modal-sheet"][data-height="fixed"]');if(!r)return;if(window.matchMedia("(max-width: 47.9375rem)").matches){r.style.setProperty("height","100dvh","important"),r.style.removeProperty("min-height");return}let d=r.querySelector('[data-ui="tabbed-view"]');if(!d)return;let c=d.querySelector('[data-ui="tab-panel"]'),s=c?.scrollTop??0;r.style.setProperty("height","auto","important"),r.style.setProperty("min-height","0"),d.style.setProperty("height","auto"),fe=Math.max(fe,Math.ceil(r.getBoundingClientRect().height)),d.style.removeProperty("height");let o=getComputedStyle(r).maxHeight;r.style.setProperty("min-height",o==="none"?`${fe}px`:`min(${fe}px, ${o})`),c&&(c.scrollTop=s)},ae=(r,d)=>{if(!r)return;let c=d==="dialog"?M():L(),s={values:{...c.values},checks:{...c.checks},initialValues:{...c.initialValues},initialChecks:{...c.initialChecks}};for(let o of r.querySelectorAll("input[name], select[name], textarea[name]"))if(!(o.disabled||o.name===Te)){if(o instanceof HTMLInputElement){if(o.type==="file"||o.type==="hidden")continue;if(o.type==="checkbox"||o.type==="radio"){let v=Ga(o.name,o.value);s.initialChecks[v]??=o.defaultChecked,s.checks[v]=o.checked,o.type==="checkbox"?s.values[o.name]=o.checked?o.value:"":o.checked&&(s.values[o.name]=o.value),s.initialValues[o.name]=s.values[o.name]??"";continue}}s.initialValues[o.name]??=o instanceof HTMLSelectElement?[...o.options].find(v=>v.defaultSelected)?.value??o.options[0]?.value??"":o.defaultValue,s.values[o.name]=o.value}d==="dialog"?M.set(s):L.set(s)},Ne=()=>{let r=qe();ae(r[0]??null,"record"),r.length>1&&ae(r.at(-1)??null,"dialog")},St=r=>{if(!r)return!0;let d=C()&&r===tt()?"dialog":"record";ae(r,d);let c=d==="dialog"?M():L(),s=[...r.querySelectorAll('input[type="file"]')].some(o=>!o.disabled&&!!o.files?.length);return!ai(c)&&!s?!0:globalThis.confirm(X("recordModal.unsaved"))},pe=r=>{requestAnimationFrame(()=>{let d=qe(),c=d[0],s=d.at(-1);if(!s)return;c&&(c.inert=d.length>1);let o=r?.();if(o?.isConnected&&s.contains(o)){o.focus();return}if(s.contains(document.activeElement))return;let v=s.querySelector('[data-ui="modal-sheet"]');(za(s).find(n=>!n.matches('[data-ui="modal-close"]'))??v)?.focus()})},W=(r,d,c,s,o)=>{let v=t(),f=v?.id===r,n=d??(f?v.tab:"");f||(fe=0,Ce=o??null,et=document.activeElement instanceof HTMLElement?document.activeElement:null,u.set([]),ue.set(!1),L.set(O()),M.set(O()),A.set({}),we.set({}),J.set(null),C.set(null),q=null,l.set(null),te(r)),f&&o&&e.dialogs?.[o]&&(Ne(),M.set(O()),A.set({}),C.set({name:o,params:{}})),t.set({id:r,tab:n});let i=De(location.href,{kind:e.kind,id:r,tab:n||null,dialog:o});c==="push"?(history.replaceState({...history.state??{},__ketScroll:[window.scrollX,window.scrollY]},"",location.href),history.pushState({...history.state??{},__ketRecordModal:e.kind},"",i),Be=!0):c==="replace"&&history.replaceState(history.state??{},"",i),E&&!me&&(me=ti(E)),pe(s)},Le=r=>{$e?.abort(),t.set(null),fe=0,C.set(null),u.set([]),ue.set(!1),L.set(O()),M.set(O()),A.set({}),we.set({}),J.set(null),a.set("idle"),l.set(null),me?.(),me=null,r==="history"&&Be?(Be=!1,history.back()):r!=="none"&&(Be=!1,history.replaceState(history.state??{},"",$a(location.href)));let d=et;et=null,q=null,d?.isConnected&&requestAnimationFrame(()=>d.focus())},Tt=()=>{if(C()){if(!St(tt()))return;let r=q;q=null,C.set(null);let d=t();d&&history.replaceState(history.state??{},"",De(location.href,{kind:e.kind,id:d.id,tab:d.tab})),M.set(O()),A.set({}),u.set([]),J.set(null),pe(()=>r?.isConnected?r:null);return}St(ge())&&Le("history")},on=async(r,d,c)=>{let s=e.commands?.[r],o=t(),v=l()?.data;if(!s||!o||v===void 0||ft())return;let f=new FormData(d,c instanceof HTMLButtonElement?c:null),n=d.closest('[data-ui="modal-layer"][data-client-modal="true"]'),i=C()&&n===tt()?"dialog":"record";ae(n,i);let m=Ke(o,v,i);if(s.confirm){let h=s.confirm(m);if(h&&!globalThis.confirm(h))return}ht(!0),u.set([]);try{let h={};for(let[b,B]of Object.entries(s.upload??{})){let D=f.get(b);if(!(D instanceof File)||D.size===0)continue;let V=new FormData;for(let[at,dn]of Object.entries(B(f,m)))V.append(at,dn);V.append("file",D,D.name);let U=await fetch("/files",{method:"POST",credentials:"same-origin",body:V}),I=await U.json().catch(()=>null);if(!U.ok||!I?.id){u.set([{field:null,code:"recordModal.uploadFailed",message:typeof I?.message=="string"?I.message:null,params:{}}]);return}h[b]={id:String(I.id),name:typeof I.name=="string"?I.name:null}}let k=(b,B)=>Na(b,B,{idempotencyKey:Va()}),y=s.route?await _a(s.route,s.input(f,m,h),{idempotencyKey:Va()}):await k(s.fn,s.input(f,m,h));for(let b of y.ok?s.also??[]:[])if(!(b.when&&!b.when(m))&&(y=await k(b.fn,b.input(f,m,h)),!y.ok))break;if(!y.ok){J.set(null),u.set(y.issues.length?y.issues.map(b=>({...b,field:b.field&&s.issueField?s.issueField(b.field,f,m):b.field})):[{field:null,code:y.message??"recordModal.saveFailed",message:y.message,params:{}}]);return}if(s.preview){J.set({command:r,value:y.value}),ke.set(ke()+1);return}i==="dialog"?(M.set(O()),A.set({})):L.set(O()),s.clearRecordDrafts?.length&&L.set(Ua(L(),s.clearRecordDrafts)),J.set(gt(s)==="stay"?{command:r,value:y.value}:null),d.reset();let z=y.value,Z=gt(s)==="open"?s.created?.(y.value)??(z&&typeof z=="object"&&z.id!=null?String(z.id):null):null;K.delete(o.id),Z&&K.delete(Z);let ne=()=>{document.dispatchEvent(new CustomEvent("ket:records-changed",{detail:{kind:e.kind,ids:[Z??o.id]}}))};if(s.navigate){let b=new URL(s.navigate(y.value,m),location.href);if(b.origin!==location.origin)throw new Error("Record navigation must stay same-origin");Le("none"),location.assign(b.href);return}let $=gt(s);if($!=="close"&&ue.set(!0),$==="open"){C.set(null),M.set(O()),A.set({}),Z?W(Z,s.openTab??null,"replace"):Le("history"),ne();return}if(ne(),$==="close")Le("history");else if($==="reload"){let b=q;q=null,C.set(null),M.set(O()),A.set({}),history.replaceState(history.state??{},"",De(location.href,{kind:e.kind,id:o.id,tab:o.tab})),await te(o.id),pe(()=>b?.isConnected?b:null)}else if($==="refresh")await te(o.id,!0);else if($==="stay")ke.set(ke()+1);else if("tab"in $)q=null,C.set(null),M.set(O()),A.set({}),W(o.id,$.tab,"replace"),await te(o.id);else{let b=$.dialog?null:q;q=$.dialog&&c instanceof HTMLElement?c:null,C.set($.dialog?{name:$.dialog,params:{}}:null),M.set(O()),A.set({}),await te(o.id,!0),pe(()=>b?.isConnected?b:null)}}catch{u.set([{field:null,code:"recordModal.saveFailed",message:null,params:{}}])}finally{ht(!1)}},kt=r=>{let d=u().filter(o=>!o.field),c=u().filter(o=>o.field&&!E?.querySelector(`[name="${CSS.escape(o.field)}"]`)),s=[...d,...c];return s.length?Y({title:r.t("recordModal.errorTitle"),message:s.map(vt).join(" \xB7 "),tone:"danger"}):ue()?Y({title:r.t("recordModal.savedTitle"),message:r.t("recordModal.saved"),tone:"positive"}):""},ln=()=>{let r=t();if(!r)return"";if(a()==="error")return Ae(Ie,{children:[Y({title:X("recordModal.errorTitle"),message:X(g()??"recordModal.loadFailed"),tone:"danger"}),w({label:X("recordModal.retry"),variant:"secondary",name:"intent",value:"retry"})]});let d=l()?.data;if(a()!=="ready"||d===void 0)return he({label:X("recordModal.loading")});let c=Ke(r,d),s=xt(c),o=s.find(i=>i.id===c.tab),v=e.header?.(c)??"",f=kt(c),n=o?o.view(c):e.body?.(c)??"";return s.length?lt({id:`record-view-${e.kind.replaceAll(".","-")}`,label:e.title(c),items:s.map(i=>({id:i.id,label:i.label(c),href:c.href(i.id),active:i.id===c.tab})),context:v!==""||f!==""?Ae(Ie,{children:[v,f]}):void 0,body:n}):Ae(Ie,{children:[v,f,n]})},sn=()=>{let r=t(),d=C(),c=l()?.data;if(!r||!d||c===void 0)return"";let s=e.dialogs?.[d.name];if(!s)return"";let o=Ke(r,c,"dialog");return oe({id:`record-dialog-${e.kind.replaceAll(".","-")}-${d.name}`,mode:"client",presentation:"dialog",size:s.size??"default",title:s.title(o),description:s.description?.(o),actions:s.actions?.(o),closeLabel:X("recordModal.close"),body:Ae(Ie,{children:[kt(o),s.view(o)]})})};return{view:()=>{ke();let r=t();if(!r)return mt(e.kind);let d=l()?.data,c=d===void 0?null:Ke(r,d);return Ae(Ie,{children:[mt(e.kind),oe({id:`record-modal-${e.kind.replaceAll(".","-")}`,mode:"client",presentation:"dialog",size:e.size??"default",height:(e.tabs?.length??0)+(e.extensionTabs?1:0)>1?"fixed":"content",fixedHeight:e.fixedHeight??"auto",title:c?e.title(c):X("recordModal.loading"),description:c?e.description?.(c)??null:null,status:c?e.status?.(c):void 0,actions:c?e.actions?.(c):void 0,closeLabel:X("recordModal.close"),body:ln()}),sn()]})},mount:({root:r,lifetime:d})=>{E=r,document.addEventListener("click",n=>{if(n.defaultPrevented||n.button!==0||n.metaKey||n.ctrlKey||n.shiftKey||n.altKey)return;let i=n.target instanceof Element?n.target:null,m=i?.closest('[data-ui="modal-layer"][data-client-modal="true"]');if(m&&E?.contains(m)){if(i?.closest('[data-ui="modal-close"], [data-ui="modal-backdrop"], [data-record-close]')){n.preventDefault(),Tt();return}let b=i?.closest("button[data-record-state], a[data-record-state], [data-record-state-trigger]");if(b){n.preventDefault(),Ne();let D=b.getAttribute("data-record-reset-fields");if(D){let U=JSON.parse(D);if(Array.isArray(U)&&U.every(I=>typeof I=="string")){let I=C()?M:L;I.set(Ua(I(),U))}}let V=C()?A:we;V.set({...V(),[b.getAttribute("data-record-state-trigger")??b.getAttribute("data-record-state")??""]:b.getAttribute("data-record-value")??""});return}let B=i?.closest(`[${Ja}]`);if(B){n.preventDefault(),ae(ge(),"record");let D=document.activeElement;q=D instanceof HTMLElement&&B.contains(D)?D:B.querySelector(Wa),M.set(O()),A.set({});let V={};for(let[U,I]of Object.entries(B.dataset))U.startsWith("recordParam")&&I!==void 0&&(V[U.slice(11).replace(/^./u,at=>at.toLowerCase())]=I);u.set([]),J.set(null),ue.set(!1),C.set({name:B.getAttribute(Ja)??"",params:V}),pe();return}if(i?.closest('button[name="intent"][value="retry"]')){n.preventDefault();let D=t();D&&te(D.id);return}}let h=oi(i);if(!h)return;let k=new URL(h,location.href);if(k.origin!==location.origin||k.pathname!==location.pathname)return;let y=xe(k);if(!y||y.kind!==e.kind)return;n.preventDefault();let z=t(),Z="route"in e.context?e.context.query??[]:[],ne=new URL(location.href);if(Z.some(b=>ne.searchParams.get(b)!==k.searchParams.get(b))){ae(ge(),"record");for(let b of Z){let B=k.searchParams.get(b);B===null?ne.searchParams.delete(b):ne.searchParams.set(b,B)}history.replaceState(history.state??{},"",ne.href),z?.id===y.id&&te(z.id)}if(z?.id===y.id){if((y.tab??"")===z.tab&&!y.dialog)return;ae(ge(),"record"),u.set([]),J.set(null),W(y.id,y.tab??null,"replace",()=>ge()?.querySelector('[data-ui="tab"][data-active="true"]')??null);return}W(y.id,y.tab??null,"push",void 0,y.dialog)},{signal:d,capture:!0}),document.addEventListener("keydown",n=>{if(n.defaultPrevented||n.key!=="Enter"&&n.key!==" ")return;let i=n.target instanceof Element?n.target:null;if(!i?.matches('[data-row-href][tabindex="0"]'))return;let m=i.getAttribute("data-row-href"),h=m?new URL(m,location.href):null;if(!h||h.origin!==location.origin||h.pathname!==location.pathname)return;let k=xe(h);!k||k.kind!==e.kind||(n.preventDefault(),W(k.id,k.tab??null,"push",void 0,k.dialog))},{signal:d,capture:!0}),document.addEventListener("submit",n=>{let i=n.target instanceof HTMLFormElement?n.target:null;if(!i||!E?.contains(i))return;n.preventDefault();let m=n.submitter??null,h=(m instanceof HTMLButtonElement&&m.name===Te?m.value:null)??String(new FormData(i).get(Te)??"");on(h,i,m)},{signal:d}),document.addEventListener("keydown",n=>{if(!t())return;let i=E?.querySelectorAll('[data-ui="modal-layer"][data-client-modal="true"]'),m=i?.[i.length-1];if(!m)return;if(n.key==="Escape"){n.preventDefault(),Tt();return}if(n.key!=="Tab")return;let h=za(m);if(!h.length){n.preventDefault(),m.querySelector('[data-ui="modal-sheet"]')?.focus();return}let k=h[0],y=h.at(-1);n.shiftKey&&(document.activeElement===k||!m.contains(document.activeElement))?(n.preventDefault(),y.focus()):!n.shiftKey&&(document.activeElement===y||!m.contains(document.activeElement))&&(n.preventDefault(),k.focus())},{signal:d}),document.addEventListener("change",n=>{let i=n.target instanceof Element?n.target:null;if(!i||!E?.contains(i))return;if(i instanceof HTMLInputElement&&i.type==="checkbox"&&i.form){let h=i.form;if(h.querySelector(`input[type="checkbox"][name^="${Qe}"]`)){if(i.name.startsWith(Qe)){let k=i.name.slice(Qe.length);for(let y of h.querySelectorAll('input[type="checkbox"]'))!y.disabled&&!y.name.startsWith(Qe)&&y.name.startsWith(k)&&(y.checked=i.checked)}Ne();return}}let m=i.getAttribute("data-record-state")??(["relation-native","reorder-list-value"].includes(i.getAttribute("data-ui")??"")?i.getAttribute("name"):null);if((i instanceof HTMLSelectElement||i instanceof HTMLInputElement)&&m){Ne();let h=C()?A:we;h.set({...h(),[m]:i.value});return}i instanceof HTMLInputElement&&i.type==="file"&&(i.hasAttribute("data-record-submit")||i.form?.hasAttribute("data-record-dropzone"))&&i.files?.length&&i.form?.requestSubmit()},{signal:d});let c=n=>{let m=(n.target instanceof Element?n.target:null)?.closest("form[data-record-dropzone]")??null;return m&&E?.contains(m)?m:null};document.addEventListener("dragover",n=>{let i=c(n);i&&(n.preventDefault(),i.dataset.drag="1")},{signal:d}),document.addEventListener("dragleave",n=>{let i=c(n);if(!i)return;let m=n.relatedTarget;m instanceof Node&&i.contains(m)||delete i.dataset.drag},{signal:d}),document.addEventListener("drop",n=>{let i=c(n);if(!i)return;n.preventDefault(),delete i.dataset.drag;let m=n.dataTransfer?.files,h=i.querySelector('input[type="file"]');if(!h||!m?.length)return;let k=new DataTransfer;k.items.add(m[0]),h.files=k.files,i.requestSubmit()},{signal:d});let s="ket-island, div[data-ket-island]",o=n=>n instanceof Element&&(n.matches(s)||n.querySelector(s)!==null),v=new MutationObserver(n=>{be();for(let i of n){for(let m of i.removedNodes)o(m)&&document.dispatchEvent(new CustomEvent("ket:islands-detach",{detail:{root:m}}));for(let m of i.addedNodes)o(m)&&m.isConnected&&document.dispatchEvent(new CustomEvent("ket:islands-attach",{detail:{root:m}}))}});v.observe(E,{childList:!0,subtree:!0,characterData:!0}),d.addEventListener("abort",()=>v.disconnect()),window.addEventListener("resize",be,{signal:d}),E.addEventListener("load",be,{capture:!0,signal:d}),E.addEventListener("toggle",be,{capture:!0,signal:d}),document.fonts?.ready.then(()=>{d.aborted||be()}),be(),document.addEventListener("ket:records-changed",n=>{let i=n.detail;if(i?.kind===e.kind)if(!Array.isArray(i.ids)||!i.ids.length)K.clear();else for(let m of i.ids)K.delete(String(m))},{signal:d}),document.addEventListener("ket:popstate",n=>{let i=xe(location.href),m=i?.kind===e.kind;!m&&!t()||(n.preventDefault(),m&&i?W(i.id,i.tab??null,"none",void 0,i.dialog):Le("none"))},{signal:d}),document.addEventListener("ket:navigation-complete",()=>{let n=xe(location.href);n?.kind===e.kind&&!t()&&W(n.id,n.tab??null,"none",void 0,n.dialog)},{signal:d});let f=xe(location.href);f?.kind===e.kind&&W(f.id,f.tab??null,"none",void 0,f.dialog),d.addEventListener("abort",()=>{$e?.abort(),pt.stop(),me?.(),me=null,E=null})}}};var Qa={vi:{"recordModal.close":"\u0110\xF3ng","recordModal.loading":"\u0110ang t\u1EA3i\u2026","recordModal.loadFailed":"Kh\xF4ng \u0111\u1ECDc \u0111\u01B0\u1EE3c d\u1EEF li\u1EC7u. H\xE3y th\u1EED l\u1EA1i.","recordModal.notFound":"M\u1EE5c n\xE0y kh\xF4ng c\xF2n t\u1ED3n t\u1EA1i ho\u1EB7c b\u1EA1n kh\xF4ng c\xF3 quy\u1EC1n xem.","recordModal.retry":"Th\u1EED l\u1EA1i","recordModal.errorTitle":"Ch\u01B0a l\u01B0u \u0111\u01B0\u1EE3c","recordModal.saveFailed":"Thao t\xE1c kh\xF4ng th\xE0nh c\xF4ng. H\xE3y th\u1EED l\u1EA1i.","recordModal.savedTitle":"\u0110\xE3 l\u01B0u","recordModal.saved":"Thay \u0111\u1ED5i \u0111\xE3 \u0111\u01B0\u1EE3c ghi nh\u1EADn.","recordModal.unsaved":"B\u1ECF c\xE1c thay \u0111\u1ED5i ch\u01B0a l\u01B0u?","recordModal.uploadFailed":"Kh\xF4ng t\u1EA3i \u0111\u01B0\u1EE3c t\u1EC7p l\xEAn. H\xE3y th\u1EED l\u1EA1i."},en:{"recordModal.close":"Close","recordModal.loading":"Loading\u2026","recordModal.loadFailed":"The record could not be read. Try again.","recordModal.notFound":"The record is gone or you cannot see it.","recordModal.retry":"Retry","recordModal.errorTitle":"Not saved","recordModal.saveFailed":"That did not work. Try again.","recordModal.savedTitle":"Saved","recordModal.saved":"The changes have been saved.","recordModal.unsaved":"Discard unsaved changes?","recordModal.uploadFailed":"The file could not be uploaded. Try again."}};import{jsx as x}from"/_ket/view/jsx-runtime.js";var Ya=()=>typeof document<"u"&&document.documentElement.lang==="en"?"en":"vi",p=(e,t)=>e.t(`purchase_backend.${t}`),ja=e=>["draft","sent","to approve"].includes(String(e.data.record.state))&&!e.data.record.locked,ce=(e,t)=>(e.data.choices[t]??[]).map(a=>({value:String(a.id),label:String(a.name)})),H=(e,t,a,l={})=>({id:`purchase-${e.dialog?.name??"record"}-${t}`,name:t,label:p(e,`field.${a}`),...l,value:e.draft(t,String(l.value??"")),error:e.fieldError(t),disabled:e.busy}),ee=(e,t,a,l=!1)=>x(Ze,{kind:e.kind,command:t,children:x(w,{type:"submit",label:p(e,`action.${a}`),variant:l?"primary":"secondary",disabled:e.busy})}),an=(e,t,a)=>x(We,{dialog:t,children:x(w,{label:p(e,`action.${a}`),disabled:e.busy})}),je=(e,t)=>Object.fromEntries(t.flatMap(a=>{let l=String(e.get(a)??"");return l?[[a,l]]:[]})),li=e=>e.data.record.lines.find(t=>t.id===e.dialog?.params.id),en=(e,t=!1)=>{let a=t?li(e):void 0;return[...t?[]:[H(e,"productId","product",{type:"select",options:ce(e,"variants"),required:!0}),H(e,"productUomId","uom",{type:"select",options:ce(e,"units"),required:!0})],H(e,"productQty","productQty",{type:"decimal",value:String(a?.productQty??"1"),required:!0}),H(e,"priceUnit","priceUnit",{type:"decimal",value:String(a?.priceUnit??"")}),H(e,"discount","discount",{type:"decimal",value:String(a?.discount??"0")}),H(e,"taxId","tax",{type:"select",options:[{value:"",label:"\u2014"},...ce(e,"taxes")],value:String(a?.taxId??"")})]},si=e=>x(Se,{kind:e.kind,command:"create",fields:[H(e,"partnerId","vendor",{type:"select",options:ce(e,"partners"),required:!0}),H(e,"pickingTypeId","pickingType",{type:"select",options:ce(e,"pickingTypes"),required:!0}),H(e,"partnerRef","partnerRef"),H(e,"dateOrder","dateOrder",{type:"date"}),H(e,"datePlanned","datePlanned",{type:"date"}),H(e,"notes","notes",{type:"textarea",span:"full"})],actions:[x(w,{type:"submit",label:p(e,"action.createRfq"),variant:"primary",disabled:e.busy})]}),tn=e=>x(Xe,{items:[x(Ge,{items:["partnerName","partnerRef","dateOrder","datePlanned","amountTotal","notes"].map(t=>({id:t,label:p(e,`field.${t==="partnerName"?"vendor":t}`),value:String(e.data.record.display?.[t]??e.data.record[t]??"\u2014")||"\u2014"}))}),x(Ee,{title:p(e,"modal.lines"),actions:ja(e)&&e.data.permissions.addLine?an(e,"addLine","addLine"):null,body:x(Oe,{rows:e.data.record.lines,id:t=>String(t.id),responsive:"scroll",columns:[{key:"name",label:p(e,"field.product"),cell:t=>String(t.name)},{key:"productQty",label:p(e,"field.productQty"),cell:t=>String(t.productQty)},{key:"qtyReceived",label:p(e,"field.qtyReceived"),cell:t=>String(t.qtyReceived)},{key:"priceUnit",label:p(e,"field.priceUnit"),cell:t=>String(t.priceUnitLabel??t.priceUnit)},{key:"edit",label:p(e,"modal.edit"),cell:t=>ja(e)&&e.data.permissions.updateLine?x(We,{dialog:"editLine",id:String(t.id),children:x(w,{label:p(e,"modal.edit"),variant:"tertiary"})}):""}]})})]}),di={kind:"purchase.order",size:"large",labels:()=>Qa[Ya()],context:{route:(e,t)=>`/admin/purchase/record/${t?"new":encodeURIComponent(e)}/context?lang=${Ya()}`,query:["company","branch"]},title:e=>e.creating?p(e,"action.createRfq"):String(e.data.record.name),status:e=>e.creating?null:x(Pe,{label:p(e,`state.${e.data.record.state}`)}),body:e=>e.creating?si(e):tn(e),tabs:[{id:"info",label:e=>p(e,"modal.info"),visible:e=>!e.creating,view:tn},{id:"receipts",label:e=>p(e,"modal.receipts"),visible:e=>!e.creating,view:e=>x(Oe,{rows:e.data.record.pickings,id:t=>String(t.id),responsive:"scroll",columns:[{key:"name",label:p(e,"field.name"),cell:t=>String(t.name)},{key:"state",label:p(e,"field.state"),cell:t=>String(t.state)},{key:"receive",label:p(e,"modal.receive"),cell:t=>t.state!=="done"&&t.state!=="cancel"&&e.data.permissions.receiveOrderReceipt?x(Ze,{kind:e.kind,command:"receive",hidden:{receiptId:String(t.id)},children:x(w,{type:"submit",label:p(e,"modal.receive")})}):""}]})},{id:"bills",label:e=>p(e,"modal.bills"),visible:e=>!e.creating,view:e=>x(Ee,{title:p(e,"modal.bills"),actions:e.data.record.state==="purchase"&&e.data.permissions.createVendorBill?an(e,"bill","createBill"):null,body:x(Oe,{rows:e.data.record.bills,id:t=>String(t.id),responsive:"scroll",columns:[{key:"name",label:p(e,"field.name"),cell:t=>String(t.name)},{key:"state",label:p(e,"field.state"),cell:t=>String(t.state)}]})})},{id:"actions",label:e=>p(e,"modal.more"),visible:e=>!e.creating,view:e=>x(Xe,{items:[...["sent","to approve"].includes(String(e.data.record.state))&&e.data.permissions.resetToDraft?[ee(e,"reset","resetToDraft")]:[],...e.data.record.state==="purchase"&&e.data.permissions.lockOrder?[ee(e,e.data.record.locked?"unlock":"lock",e.data.record.locked?"unlock":"lock")]:[],...e.data.record.state!=="cancel"&&!e.data.record.locked&&!e.data.record.moves?.some(t=>t.state==="done")&&e.data.permissions.cancelOrder?[ee(e,"cancel","cancel")]:[]]})}],actions:e=>e.creating?void 0:x(G,{actions:[...e.data.record.state==="draft"&&e.data.permissions.sendRfq?[ee(e,"send","send")]:[],...["draft","sent"].includes(String(e.data.record.state))&&e.data.permissions.confirmOrder?[ee(e,"confirm","confirm",!0),ee(e,"requestApproval","requestApproval")]:[],...e.data.record.state==="to approve"&&e.data.permissions.approveOrder?[ee(e,"approve","approve",!0)]:[],...e.data.record.state==="purchase"&&e.data.permissions.syncReceipts?[ee(e,"sync","syncReceipts")]:[]]}),dialogs:{addLine:{title:e=>p(e,"action.addLine"),view:e=>x(Se,{kind:e.kind,command:"addLine",fields:en(e),actions:[x(w,{type:"submit",label:p(e,"action.addLine"),variant:"primary",disabled:e.busy})]})},editLine:{title:e=>p(e,"modal.edit"),view:e=>x(Se,{kind:e.kind,fields:en(e,!0),actions:[x(w,{type:"submit",name:"__command",value:"updateLine",label:p(e,"action.updateLine"),variant:"primary",disabled:e.busy}),...e.data.permissions.removeLine?[x(w,{type:"submit",name:"__command",value:"removeLine",label:p(e,"action.removeLine"),variant:"destructive",disabled:e.busy})]:[]]})},bill:{title:e=>p(e,"action.createBill"),view:e=>x(Se,{kind:e.kind,command:"bill",fields:[H(e,"journalId","journal",{type:"select",options:ce(e,"journals"),required:!0}),...["expenseAccountId","payableAccountId","taxAccountId"].map(t=>H(e,t,t.replace("Id",""),{type:"select",options:ce(e,"accounts"),required:t!=="taxAccountId"})),H(e,"invoiceDate","invoiceDate",{type:"date"})],actions:[x(w,{type:"submit",label:p(e,"action.createBill"),variant:"primary",disabled:e.busy})]})}},commands:{create:{fn:"purchase.createOrder",input:(e,t)=>({id:t.data.draftId,...je(e,["partnerId","pickingTypeId","partnerRef","dateOrder","datePlanned","notes"])}),after:"open"},addLine:{fn:"purchase.addLine",input:(e,t)=>({id:t.data.draftId,orderId:t.id,...je(e,["productId","productUomId","productQty","priceUnit","discount","taxId"])}),after:"reload"},updateLine:{fn:"purchase.updateLine",input:(e,t)=>({id:t.dialog?.params.id,...je(e,["productQty","priceUnit","discount","taxId"])}),after:"reload"},removeLine:{fn:"purchase.removeLine",input:(e,t)=>({id:t.dialog?.params.id}),after:"reload",confirm:e=>p(e,"modal.confirmRemove")},send:{fn:"purchase.sendRfq",input:(e,t)=>({id:t.id}),after:"reload"},confirm:{fn:"purchase.confirmOrder",input:(e,t)=>({id:t.id,expectedRevision:Number(t.data.record.revision)}),after:"reload"},requestApproval:{fn:"purchase.confirmOrder",input:(e,t)=>({id:t.id,requiresApproval:!0,expectedRevision:Number(t.data.record.revision)}),after:"reload"},approve:{fn:"purchase.approveOrder",input:(e,t)=>({id:t.id,expectedRevision:Number(t.data.record.revision)}),after:"reload"},reset:{fn:"purchase.resetToDraft",input:(e,t)=>({id:t.id}),after:"reload"},sync:{fn:"purchase.syncReceipts",input:(e,t)=>({id:t.id}),after:"reload"},receive:{fn:"purchase.receiveOrderReceipt",input:(e,t)=>({id:t.id,receiptId:String(e.get("receiptId")),expectedRevision:Number(t.data.record.revision)}),after:"reload",confirm:e=>p(e,"modal.confirmReceive")},lock:{fn:"purchase.lockOrder",input:(e,t)=>({id:t.id,locked:!0}),after:"reload"},unlock:{fn:"purchase.lockOrder",input:(e,t)=>({id:t.id,locked:!1}),after:"reload"},cancel:{fn:"purchase.cancelOrder",input:(e,t)=>({id:t.id}),after:"reload",confirm:e=>p(e,"modal.confirmCancel")},bill:{fn:"purchase.createVendorBill",input:(e,t)=>({id:t.data.draftId,orderId:t.id,...je(e,["journalId","expenseAccountId","payableAccountId","taxAccountId","invoiceDate"])}),after:"reload"}}},$f=Za(di);export{$f as purchaseOrderModal,di as purchaseOrderModalDefinition};