@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.
- package/dist/cli.js +1 -1
- package/dist/modules/backend/design/client/backend-shell.d.mts.map +1 -1
- package/dist/modules/backend/design/client/backend-shell.mjs +1 -1
- package/dist/modules/backend/design/client/backend-shell.mjs.map +2 -2
- package/dist/modules/backend/design/client/ket-table.d.mts.map +1 -1
- package/dist/modules/backend/design/client/ket-table.mjs +1 -1
- package/dist/modules/backend/design/client/ket-table.mjs.map +2 -2
- package/dist/modules/backend/design/client/search-filter.d.mts.map +1 -1
- package/dist/modules/backend/design/client/search-filter.mjs +1 -1
- package/dist/modules/backend/design/client/search-filter.mjs.map +2 -2
- package/dist/modules/backend/design/content.css +5 -5
- package/dist/modules/backend/design/controls.css +10 -36
- package/dist/modules/backend/design/forms.css +2 -188
- package/dist/modules/backend/design/lists.css +1 -50
- package/dist/modules/crm_backend/client/crm-case-modal.d.mts +8 -8
- package/dist/modules/crm_backend/client/crm-case-modal.d.mts.map +1 -1
- package/dist/modules/crm_backend/client/crm-case-modal.mjs +1 -1
- package/dist/modules/crm_backend/client/crm-case-modal.mjs.map +3 -3
- package/dist/modules/crm_backend/client/crm-configuration-modal.d.mts +35 -35
- package/dist/modules/crm_backend/client/crm-configuration-modal.d.mts.map +1 -1
- package/dist/modules/crm_backend/client/crm-configuration-modal.mjs +1 -1
- package/dist/modules/crm_backend/client/crm-configuration-modal.mjs.map +3 -3
- package/dist/modules/product_backend/client/attribute-modal.d.mts +5 -5
- package/dist/modules/product_backend/client/attribute-modal.d.mts.map +1 -1
- package/dist/modules/product_backend/client/attribute-modal.mjs +1 -1
- package/dist/modules/product_backend/client/attribute-modal.mjs.map +3 -3
- package/dist/modules/product_backend/client/product-modal.d.mts +8 -8
- package/dist/modules/product_backend/client/product-modal.d.mts.map +1 -1
- package/dist/modules/product_backend/client/product-modal.mjs +1 -1
- package/dist/modules/product_backend/client/product-modal.mjs.map +3 -3
- package/dist/modules/product_backend/client/variant-editor.d.mts +2 -2
- package/dist/modules/product_backend/client/variant-editor.d.mts.map +1 -1
- package/dist/modules/product_backend/client/variant-editor.mjs +1 -1
- package/dist/modules/product_backend/client/variant-editor.mjs.map +2 -2
- package/dist/modules/purchase_backend/client/purchase-order-modal.d.mts +5 -5
- package/dist/modules/purchase_backend/client/purchase-order-modal.d.mts.map +1 -1
- package/dist/modules/purchase_backend/client/purchase-order-modal.mjs +1 -1
- package/dist/modules/purchase_backend/client/purchase-order-modal.mjs.map +3 -3
- package/dist/modules/purchase_backend/client/vendor-pricelist-modal.d.mts +4 -4
- package/dist/modules/purchase_backend/client/vendor-pricelist-modal.d.mts.map +1 -1
- package/dist/modules/purchase_backend/client/vendor-pricelist-modal.mjs +1 -1
- package/dist/modules/purchase_backend/client/vendor-pricelist-modal.mjs.map +3 -3
- package/dist/modules/sale_backend/client/invoicing-policy-modal.d.mts +4 -4
- package/dist/modules/sale_backend/client/invoicing-policy-modal.d.mts.map +1 -1
- package/dist/modules/sale_backend/client/invoicing-policy-modal.mjs +1 -1
- package/dist/modules/sale_backend/client/invoicing-policy-modal.mjs.map +3 -3
- package/dist/modules/sale_backend/client/sale-order-modal.d.mts +5 -5
- package/dist/modules/sale_backend/client/sale-order-modal.d.mts.map +1 -1
- package/dist/modules/sale_backend/client/sale-order-modal.mjs +1 -1
- package/dist/modules/sale_backend/client/sale-order-modal.mjs.map +3 -3
- package/dist/modules/stock_backend/client/inventory-count-modal.d.mts +4 -4
- package/dist/modules/stock_backend/client/inventory-count-modal.d.mts.map +1 -1
- package/dist/modules/stock_backend/client/inventory-count-modal.mjs +1 -1
- package/dist/modules/stock_backend/client/inventory-count-modal.mjs.map +3 -3
- package/dist/modules/stock_backend/client/stock-configuration-modal.d.mts +14 -14
- package/dist/modules/stock_backend/client/stock-configuration-modal.d.mts.map +1 -1
- package/dist/modules/stock_backend/client/stock-configuration-modal.mjs +1 -1
- package/dist/modules/stock_backend/client/stock-configuration-modal.mjs.map +3 -3
- package/dist/modules/stock_backend/client/stock-transfer-modal.d.mts +4 -4
- package/dist/modules/stock_backend/client/stock-transfer-modal.d.mts.map +1 -1
- package/dist/modules/stock_backend/client/stock-transfer-modal.mjs +1 -1
- package/dist/modules/stock_backend/client/stock-transfer-modal.mjs.map +3 -3
- package/dist/modules/user_backend/client/access-policy-modal.d.mts +4 -4
- package/dist/modules/user_backend/client/access-policy-modal.d.mts.map +1 -1
- package/dist/modules/user_backend/client/access-policy-modal.mjs +1 -1
- package/dist/modules/user_backend/client/access-policy-modal.mjs.map +3 -3
- package/dist/modules/user_backend/client/role-modal.d.mts +6 -6
- package/dist/modules/user_backend/client/role-modal.d.mts.map +1 -1
- package/dist/modules/user_backend/client/role-modal.mjs +1 -1
- package/dist/modules/user_backend/client/role-modal.mjs.map +3 -3
- package/dist/modules/user_backend/client/user-modal.d.mts +9 -9
- package/dist/modules/user_backend/client/user-modal.d.mts.map +1 -1
- package/dist/modules/user_backend/client/user-modal.mjs +1 -1
- package/dist/modules/user_backend/client/user-modal.mjs.map +3 -3
- package/dist/scaffold/index.js +1 -1
- package/dist/ui/client/record-modal-form.d.ts +10 -0
- package/dist/ui/client/record-modal-form.d.ts.map +1 -1
- package/dist/ui/client/record-modal-form.js +3 -1
- package/dist/ui/client/record-modal-form.js.map +1 -1
- package/dist/ui/client/record-modal.d.ts +9 -1
- package/dist/ui/client/record-modal.d.ts.map +1 -1
- package/dist/ui/client/record-modal.js +78 -17
- package/dist/ui/client/record-modal.js.map +1 -1
- package/dist/ui/index.d.ts +2 -2
- package/dist/ui/index.d.ts.map +1 -1
- package/dist/ui/index.js +2 -2
- package/dist/ui/index.js.map +1 -1
- package/dist/ui/record-modal.d.ts +3 -0
- package/dist/ui/record-modal.d.ts.map +1 -1
- package/dist/ui/record-modal.js +15 -1
- package/dist/ui/record-modal.js.map +1 -1
- package/package.json +4 -4
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
declare var
|
|
1
|
+
declare var xe: (e: any) => {
|
|
2
2
|
kind: any;
|
|
3
3
|
size: string;
|
|
4
4
|
labels: () => {
|
|
@@ -64,42 +64,42 @@ declare var he: (e: any) => {
|
|
|
64
64
|
confirm: (t: any) => any;
|
|
65
65
|
};
|
|
66
66
|
};
|
|
67
|
-
},
|
|
67
|
+
}, Df: () => {
|
|
68
68
|
view: () => any;
|
|
69
|
-
mount: ({ root:
|
|
69
|
+
mount: ({ root: o, lifetime: d }: {
|
|
70
70
|
lifetime: any;
|
|
71
71
|
root: any;
|
|
72
72
|
}) => void;
|
|
73
|
-
},
|
|
73
|
+
}, If: () => {
|
|
74
74
|
view: () => any;
|
|
75
|
-
mount: ({ root:
|
|
75
|
+
mount: ({ root: o, lifetime: d }: {
|
|
76
76
|
lifetime: any;
|
|
77
77
|
root: any;
|
|
78
78
|
}) => void;
|
|
79
|
-
},
|
|
79
|
+
}, Af: () => {
|
|
80
80
|
view: () => any;
|
|
81
|
-
mount: ({ root:
|
|
81
|
+
mount: ({ root: o, lifetime: d }: {
|
|
82
82
|
lifetime: any;
|
|
83
83
|
root: any;
|
|
84
84
|
}) => void;
|
|
85
|
-
},
|
|
85
|
+
}, $f: () => {
|
|
86
86
|
view: () => any;
|
|
87
|
-
mount: ({ root:
|
|
87
|
+
mount: ({ root: o, lifetime: d }: {
|
|
88
88
|
lifetime: any;
|
|
89
89
|
root: any;
|
|
90
90
|
}) => void;
|
|
91
|
-
},
|
|
91
|
+
}, Kf: () => {
|
|
92
92
|
view: () => any;
|
|
93
|
-
mount: ({ root:
|
|
93
|
+
mount: ({ root: o, lifetime: d }: {
|
|
94
94
|
lifetime: any;
|
|
95
95
|
root: any;
|
|
96
96
|
}) => void;
|
|
97
|
-
},
|
|
97
|
+
}, Bf: () => {
|
|
98
98
|
view: () => any;
|
|
99
|
-
mount: ({ root:
|
|
99
|
+
mount: ({ root: o, lifetime: d }: {
|
|
100
100
|
lifetime: any;
|
|
101
101
|
root: any;
|
|
102
102
|
}) => void;
|
|
103
103
|
};
|
|
104
|
-
export {
|
|
104
|
+
export { If as locationModal, $f as lotModal, Af as pickingTypeModal, Bf as replenishmentModal, xe as stockConfigurationDefinition, Kf as stockRouteModal, Df as warehouseModal };
|
|
105
105
|
//# sourceMappingURL=stock-configuration-modal.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stock-configuration-modal.d.mts","sourceRoot":"","sources":["../../../../../../../packages/ketsuite/src/modules/stock_backend/client/stock-configuration-modal.mjs"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"stock-configuration-modal.d.mts","sourceRoot":"","sources":["../../../../../../../packages/ketsuite/src/modules/stock_backend/client/stock-configuration-modal.mjs"],"names":[],"mappings":"AACyt0D,QAAA,IAAwlD,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAA4nF,EAAE;gBAAM,MAAM;;;;;CAAwD,EAAC,EAAE;;;;;;CAAoB,EAAC,EAAE;;;;;;CAAmB,EAAC,EAAE;;;;;;CAAuB,EAAC,EAAE;;;;;;CAAc,EAAC,EAAE;;;;;;CAAgB,EAAC,EAAE;;;;;;CAAwB,CAAC;AAAA,OAAM,EAAC,EAAE,IAAI,aAAa,EAAC,EAAE,IAAI,QAAQ,EAAC,EAAE,IAAI,gBAAgB,EAAC,EAAE,IAAI,kBAAkB,EAAC,EAAE,IAAI,4BAA4B,EAAC,EAAE,IAAI,eAAe,EAAC,EAAE,IAAI,cAAc,EAAC,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// @ts-nocheck Generated by tools/build-backend-client.mjs — do not edit.
|
|
2
|
-
import{each as nn}from"/_ket/view/index.js";import{Fragment as vt,jsx as j,jsxs as on}from"/_ket/view/jsx-runtime.js";var yt=["action","action-leading","action-label","action-spinner","action-group"],rn=e=>on(vt,{children:[e.loading===!0&&j("span",{"data-ui":"action-spinner","aria-hidden":"true"}),e.loading!==!0&&e.leading!==void 0&&j("span",{"data-ui":"action-leading","aria-hidden":"true",children:e.leading}),!e.iconOnly&&j("span",{"data-ui":"action-label",children:e.label})]}),w=e=>j("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:j(rn,{...e})});var ee=e=>j("div",{"data-ui":"action-group",role:"group","aria-label":e.label??null,children:nn(e.actions,(a,t)=>t,a=>j(vt,{children:a}))});import{jsx as ii,jsxs as ri}from"/_ket/view/jsx-runtime.js";var xt=["badge","tag","tag-remove","count-badge","avatar","code","text","media-label","media-label-image","media-label-copy"];import{each as ln}from"/_ket/view/index.js";import{Fragment as Oe,jsx as x,jsxs as G}from"/_ket/view/jsx-runtime.js";var kt=["notice","notice-mark","notice-copy","notice-title","notice-message","notice-actions","empty","empty-mark","empty-title","empty-message","empty-actions","loading","loading-label"],sn={info:()=>G(Oe,{children:[x("circle",{cx:"12",cy:"12",r:"10"}),x("path",{d:"M12 16v-4"}),x("path",{d:"M12 8h.01"})]}),positive:()=>G(Oe,{children:[x("circle",{cx:"12",cy:"12",r:"10"}),x("path",{d:"m9 12 2 2 4-4"})]}),warning:()=>G(Oe,{children:[x("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"}),x("path",{d:"M12 9v4"}),x("path",{d:"M12 17h.01"})]}),danger:()=>G(Oe,{children:[x("circle",{cx:"12",cy:"12",r:"10"}),x("path",{d:"M12 8v4"}),x("path",{d:"M12 16h.01"})]})},U=e=>G("aside",{"data-ui":"notice","data-pattern":"notice","data-tone":e.tone??"info",role:e.tone==="danger"?"alert":"status",children:[x("span",{"data-ui":"notice-mark","aria-hidden":"true",children:x("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:sn[e.tone??"info"]()})}),G("div",{"data-ui":"notice-copy",children:[x("p",{"data-ui":"notice-title",children:e.title}),x("p",{"data-ui":"notice-message",children:e.message})]}),e.actions!==void 0&&x("div",{"data-ui":"notice-actions",children:e.actions})]}),te=e=>G("div",{"data-ui":"empty",role:"status",children:[x("span",{"data-ui":"empty-mark","aria-hidden":"true",children:"\u25C7"}),x("p",{"data-ui":"empty-title",children:e.title}),x("p",{"data-ui":"empty-message",children:e.message}),e.actions!==void 0&&x("div",{"data-ui":"empty-actions",children:e.actions})]}),me=e=>G("div",{"data-ui":"loading",role:"status","aria-live":"polite",children:[x("span",{"data-ui":"loading-label",children:e.label}),x("div",{"data-ui":"skeleton","aria-hidden":"true",children:ln(Array.from({length:Math.max(1,e.lines??3)}),(a,t)=>t,(a,t)=>x("span",{"data-ui":"skeleton-line","data-line":String(t+1)}))})]});import{each as Qe}from"/_ket/view/index.js";import{each as fn}from"/_ket/view/index.js";import{jsx as K,jsxs as we}from"/_ket/view/jsx-runtime.js";var St=["modal-layer","modal-backdrop","modal-sheet","modal-head","modal-heading","modal-title-row","modal-title","modal-description","modal-close","modal-body","modal-actions"],ae=e=>{let a=e.mode==="client",t=e.mode==="embedded";return we("div",{"data-ui":"modal-layer","data-mode":e.mode??"overlay","data-route-modal":t||a?null:"true","data-client-modal":a?"true":null,"data-presentation":e.presentation??"sheet","data-unsaved-prompt":e.unsavedPrompt??null,children:[a?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})}),we("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":t?"false":"true"},"aria-labelledby":e.dialogSemantics==="parent"?null:`${e.id}-title`,"aria-describedby":e.dialogSemantics!=="parent"&&e.description?`${e.id}-description`:null,tabindex:t?null:"-1",children:[we("header",{"data-ui":"modal-head",children:[we("div",{"data-ui":"modal-heading",children:[we("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})]}),a?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 bi,jsx as gi,jsxs as fi}from"/_ket/view/jsx-runtime.js";import{Fragment as Si,jsx as xi,jsxs as ki}from"/_ket/view/jsx-runtime.js";var wt=["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 Rt,jsx as R,jsxs as ne}from"/_ket/view/jsx-runtime.js";var Ct=["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"],bn=e=>R(Rt,{children:fn(e.items,(a,t)=>t,a=>typeof a=="string"||typeof a=="number"?R("span",{children:a}):R(Rt,{children:a}))}),We=e=>R("div",{"data-ui":"stack","data-pattern":"stack","data-gap":e.gap??"default","data-divided":e.divided===!0?"true":null,children:R(bn,{items:e.items})});var Ze=e=>ne("div",{"data-ui":"surface","data-tone":e.tone??"default","data-padding":e.padding??"default","data-has-heading":e.title?"true":null,children:[e.title&&ne("header",{"data-ui":"surface-head",children:[e.description?ne("div",{"data-ui":"surface-heading",children:[R("h2",{"data-ui":"surface-title",children:e.title}),R("p",{"data-ui":"surface-description",children:e.description})]}):R("h2",{"data-ui":"surface-title",children:e.title}),e.actions!==void 0&&R("div",{"data-ui":"surface-actions",children:e.actions})]}),e.body]}),Ye=e=>ne("details",{"data-ui":"disclosure",open:e.open===!0?!0:void 0,children:[R("summary",{"data-ui":"disclosure-summary",children:e.summary}),R("div",{"data-ui":"disclosure-body",children:e.body})]}),Re=e=>ne("section",{"data-ui":"section",children:[ne("header",{"data-ui":"section-head",children:[ne("div",{children:[!!e.eyebrow&&R("p",{"data-ui":"section-eyebrow",children:e.eyebrow}),R("h2",{"data-ui":"section-title",children:e.title}),!!e.description&&R("p",{"data-ui":"section-description",children:e.description})]}),e.actions!==void 0&&R("div",{"data-ui":"section-actions",children:e.actions})]}),R("div",{"data-ui":"section-body",children:e.body})]});import{each as pn}from"/_ket/view/index.js";import{Fragment as hn,jsx as Ce}from"/_ket/view/jsx-runtime.js";var De=(e,a)=>e.control!==void 0?Ce(hn,{children:e.control}):e.type==="textarea"?Ce("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":a,children:String(e.value??"")}):e.type==="select"?Ce("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":a,children:pn(e.options??[],t=>t.value,t=>Ce("option",{value:t.value,selected:String(e.value??"")===t.value,disabled:t.disabled===!0,children:t.label}))}):Ce("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":a,autocomplete:e.autocomplete??"off",step:e.type==="decimal"?e.step??"any":e.step??null});import{jsx as T,jsxs as X}from"/_ket/view/jsx-runtime.js";var Lt=["field","field-label","field-required","field-control","field-options","field-option","field-option-input","field-help","field-error"],Pt=e=>!!e.error||(e.fields?.some(Pt)??!1),ie=e=>{let a=e.help?`${e.id}-help`:null,t=e.error?`${e.id}-error`:null,n=[a,t].filter(Boolean).join(" ")||null,c=X("span",{"data-ui":"field-label",children:[e.label,e.required&&T("span",{"data-ui":"field-required","aria-hidden":"true",children:" *"})]});return e.fields?X("div",{"data-ui":"field","data-kind":"group","data-span":"full","data-invalid":String(!!e.error),children:[T(Ye,{summary:e.label,open:e.open||Pt(e),body:T("div",{"data-ui":"form-grid",children:Qe(e.fields.map(m=>({...m,disabled:e.disabled||m.disabled,readOnly:e.readOnly||m.readOnly})),m=>m.id,m=>T(ie,{...m}))})}),!!e.help&&T("small",{"data-ui":"field-help",id:a??void 0,children:e.help}),!!e.error&&T("small",{"data-ui":"field-error",id:t??void 0,children:e.error})]}):e.type==="checkbox-group"?X("div",{"data-ui":"field","data-kind":"checkbox-group","data-span":e.span??"half","data-invalid":String(!!e.error),children:[X("span",{"data-ui":"field-label",id:`${e.id}-label`,children:[e.label,e.required&&T("span",{"data-ui":"field-required","aria-hidden":"true",children:" *"})]}),T("div",{"data-ui":"field-options","data-orientation":e.optionsOrientation==="vertical"?"vertical":null,role:"group","aria-labelledby":`${e.id}-label`,children:Qe(e.options??[],m=>m.name??m.value,m=>X("label",{"data-ui":"field-option",children:[T("input",{"data-ui":"field-option-input",type:"checkbox",name:m.name??`${e.name}[]`,value:m.value,checked:m.checked===!0,disabled:e.disabled===!0||m.disabled===!0,"aria-invalid":e.error?"true":null,"aria-describedby":n,autocomplete:"off"}),T("span",{children:m.label})]}))}),!!e.help&&T("small",{"data-ui":"field-help",id:a??void 0,children:e.help}),!!e.error&&T("small",{"data-ui":"field-error",id:t??void 0,children:e.error})]}):e.type==="radio"?X("div",{"data-ui":"field","data-kind":"radio","data-span":e.span??"half","data-invalid":String(!!e.error),children:[X("span",{"data-ui":"field-label",id:`${e.id}-label`,children:[e.label,e.required&&T("span",{"data-ui":"field-required","aria-hidden":"true",children:" *"})]}),T("div",{"data-ui":"field-options","data-orientation":e.optionsOrientation==="vertical"?"vertical":null,role:"radiogroup","aria-labelledby":`${e.id}-label`,children:Qe(e.options??[],m=>m.value,m=>X("label",{"data-ui":"field-option",children:[T("input",{"data-ui":"field-option-input",type:"radio",name:e.name,value:m.value,checked:String(e.value??"")===m.value,required:e.required===!0,disabled:e.disabled===!0||m.disabled===!0,"aria-invalid":e.error?"true":null,"aria-describedby":n,autocomplete:"off"}),T("span",{children:m.label})]}))}),!!e.help&&T("small",{"data-ui":"field-help",id:a??void 0,children:e.help}),!!e.error&&T("small",{"data-ui":"field-error",id:t??void 0,children:e.error})]}):X("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"&&De(e,n),c,e.type!=="checkbox"&&De(e,n),!!e.help&&T("small",{"data-ui":"field-help",id:a??void 0,children:e.help}),!!e.error&&T("small",{"data-ui":"field-error",id:t??void 0,children:e.error})]})};import{each as yn}from"/_ket/view/index.js";import{jsx as ge,jsxs as et}from"/_ket/view/jsx-runtime.js";var Mt=["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 Et=e=>et("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&&ge("span",{"data-ui":"tab-count",children:String(e.count)})]}),Ft=(e,a)=>`${e}-${a.replace(/[^a-zA-Z0-9_-]+/gu,"-")}-tab`,Ht=e=>et("nav",{"data-ui":"tabs","data-pattern":"tabs","aria-label":e.label,children:[yn(e.items,a=>a.id,a=>ge(Et,{...a,elementId:e.id?Ft(e.id,a.id):void 0,controls:e.panelId})),e.extension]}),Ot=e=>ge("section",{"data-ui":"tab-panel",id:e.id,"aria-labelledby":e.labelledBy,tabindex:"-1",children:e.body}),je=e=>{let a=`${e.id}-tabs`,t=`${e.id}-panel`,n=e.items.find(c=>c.active===!0);return et("div",{"data-ui":"tabbed-view",children:[e.context!==void 0&&e.context!==""?ge("div",{"data-ui":"tabbed-view-context",children:e.context}):"",ge(Ht,{id:a,label:e.label,items:e.items,extension:e.extension,panelId:t}),ge(Ot,{id:t,labelledBy:n?Ft(a,n.id):void 0,body:e.body})]})};import{jsx as zi,jsxs as Vi}from"/_ket/view/jsx-runtime.js";var Dt=["progress","progress-label","progress-value","progress-track","progress-bar"];import{each as _i}from"/_ket/view/index.js";import{Fragment as Qi,jsx as Zi,jsxs as Yi}from"/_ket/view/jsx-runtime.js";var It=["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 tr,jsxs as ar}from"/_ket/view/jsx-runtime.js";var At=["popover","popover-trigger","popover-panel","popover-close"];import{jsx as rr,jsxs as or}from"/_ket/view/jsx-runtime.js";var $t=["tooltip","tooltip-trigger","tooltip-content"];import{jsx as ur}from"/_ket/view/jsx-runtime.js";var Kt=["dialog","confirm-dialog-message"];import{each as fr}from"/_ket/view/index.js";import{jsx as pr,jsxs as hr}from"/_ket/view/jsx-runtime.js";var Bt=["toast-region","toast","toast-copy","toast-title","toast-message","toast-actions"];import{jsx as xr}from"/_ket/view/jsx-runtime.js";var qt=["spinner","visually-hidden"];import{each as Tr}from"/_ket/view/index.js";import{jsx as Rr}from"/_ket/view/jsx-runtime.js";var Nt=["skeleton","skeleton-line"];import{each as Pr,effect as Mr,signal as Er}from"/_ket/view/index.js";import{jsx as Or,jsxs as Hr}from"/_ket/view/jsx-runtime.js";var Jt=["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 Ar,signal as $r}from"/_ket/view/index.js";import{jsx as Br,jsxs as qr}from"/_ket/view/jsx-runtime.js";var Xt=["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 zr,signal as Vr}from"/_ket/view/index.js";import{Fragment as Wr,jsx as _r,jsxs as Ur}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 to,effect as ao,signal as no}from"/_ket/view/index.js";import{jsx as Qr}from"/_ket/view/jsx-runtime.js";var Vt=["formatted-date","formatted-number","formatted-money"];import{Fragment as so,jsx as co,jsxs as uo}from"/_ket/view/jsx-runtime.js";var _t=["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 Co=["a[href]","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])","summary",'[tabindex]:not([tabindex="-1"])'].join(",");var wn=['[data-ui="timeframe-menu"]','[data-ui="view-settings"]'],Lo=wn.map(e=>`${e}[open]`).join(", ");import{jsx as Eo,jsxs as Fo}from"/_ket/view/jsx-runtime.js";import{jsx as Ao,jsxs as $o}from"/_ket/view/jsx-runtime.js";var Wt=["switch-control","switch-track"];import{each as qo}from"/_ket/view/index.js";import{Fragment as Vo,jsx as Xo,jsxs as zo}from"/_ket/view/jsx-runtime.js";var Zt=["combobox","combobox-input-row","combobox-toggle","combobox-listbox","combobox-option","combobox-empty","tag-picker"];import{Fragment as tl,jsx as jo,jsxs as el}from"/_ket/view/jsx-runtime.js";var Yt=["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 rl,jsxs as ol}from"/_ket/view/jsx-runtime.js";var Qt=["file-upload","drop-zone","upload-status"];import{jsx as cl}from"/_ket/view/jsx-runtime.js";var jt=["relation-picker"];import{each as gl}from"/_ket/view/index.js";import{jsx as hl,jsxs as yl}from"/_ket/view/jsx-runtime.js";var ea=["search-bar","filter-bar","applied-filters","applied-filter","saved-views","saved-view","view-settings","view-settings-options"];import{jsx as Sl,jsxs as Tl}from"/_ket/view/jsx-runtime.js";var ta=["inline-edit","inline-edit-value","inline-edit-form","inline-edit-actions"];import{each as Al}from"/_ket/view/index.js";import{each as Pl}from"/_ket/view/index.js";import{Fragment as Ol,jsx as Fl,jsxs as Hl}from"/_ket/view/jsx-runtime.js";var aa=["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 ql,jsxs as Nl}from"/_ket/view/jsx-runtime.js";var na=["resource-list","resource-list-item","resource-list-select","resource-list-link"];import{each as zl}from"/_ket/view/index.js";import{jsx as Gl,jsxs as Ul}from"/_ket/view/jsx-runtime.js";var ia=["data-grid-scroll","data-grid","data-grid-cap","data-grid-cell"];import{each as Zl}from"/_ket/view/index.js";import{jsx as Ql,jsxs as jl}from"/_ket/view/jsx-runtime.js";var ra=["tree","tree-item","tree-link","tree-grid","tree-grid-row"];import{each as as}from"/_ket/view/index.js";import{jsx as is,jsxs as rs}from"/_ket/view/jsx-runtime.js";var oa=["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 ss}from"/_ket/view/index.js";import{jsx as cs,jsxs as us}from"/_ket/view/jsx-runtime.js";var la=["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 fs}from"/_ket/view/index.js";import{jsx as ps,jsxs as hs}from"/_ket/view/jsx-runtime.js";var sa=["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 Mn}from"/_ket/view/index.js";import{jsx as Ae,jsxs as En}from"/_ket/view/jsx-runtime.js";var da=["description-list","key-value","key-value-label","key-value-value","person","person-body","avatar-group","status"],ca=e=>En("div",{"data-ui":"key-value",children:[Ae("dt",{"data-ui":"key-value-label",children:e.label}),Ae("dd",{"data-ui":"key-value-value",children:e.value??e.emptyLabel??"\u2014"})]}),$e=e=>Ae("dl",{"data-ui":"description-list","aria-label":e.label,"data-columns":String(e.columns??2),"data-layout":e.layout==="strip"?"strip":null,children:Mn(e.items,a=>a.id,a=>Ae(ca,{...a}))});import{each as ws}from"/_ket/view/index.js";import{jsx as Ms,jsxs as Es}from"/_ket/view/jsx-runtime.js";var ma=["record-summary","record-summary-main","record-actions","record-rail"];import{each as Os}from"/_ket/view/index.js";import{jsx as $s,jsxs as Ks}from"/_ket/view/jsx-runtime.js";var ga=["activity-timeline","activity-item","activity-marker","audit-log","audit-item"];import{each as Ns}from"/_ket/view/index.js";import{jsx as zs,jsxs as Vs}from"/_ket/view/jsx-runtime.js";var fa=["attachments","attachment","media-gallery","media-item"];import{each as _s}from"/_ket/view/index.js";import{Fragment as Qs,jsx as Zs,jsxs as Ys}from"/_ket/view/jsx-runtime.js";var ba=["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 fe}from"/_ket/view/index.js";import{Fragment as ka,jsx as v,jsxs as _}from"/_ket/view/jsx-runtime.js";var pa=["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"],Hn=e=>e.shownColumns??e.columns.filter(a=>a.hidden!==!0).map(a=>a.key),On=e=>{let a=new Set(Hn(e));return e.columns.filter(t=>a.has(t.key))},ha=(e,a)=>a.length+(e.selection?1:0),Dn=(e,a)=>e.sort?.direction?e.sort.direction==="ascending"?a?.sortedAscending??"Sorted ascending":a?.sortedDescending??"Sorted descending":null,In=(e,a)=>v("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?_("a",{"data-ui":"sort-link",href:e.sort.href,"aria-label":e.sort.label??e.label,children:[v("span",{children:e.label}),!!e.sort.direction&&v("span",{"data-ui":"sort-icon","aria-hidden":"true",title:Dn(e,a)??void 0,children:e.sort.direction==="ascending"?"\u2191":"\u2193"})]}):e.label}),An=e=>e.selection?v("th",{"data-ui":"select-col",scope:"col",children:v("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,ya=(e,a)=>e.selected?.(a)===!0?!0:e.selection?.selectedIds?.includes(e.id(a))===!0,$n=(e,a,t)=>_(ka,{children:[e.selection&&v("td",{"data-ui":"select-cell",children:v("input",{"data-ui":"row-select",type:"checkbox",name:e.selection.name??"ids",form:e.selection.form,value:e.id(t),checked:ya(e,t),"aria-label":e.labels?.selectRow?.(t,e.id(t))??`Select row ${e.id(t)}`,disabled:e.selection.disabled===!0})}),fe(a,n=>n.key,n=>v("td",{"data-ui":"cell","data-col":n.key,"data-linked":e.rowHref&&n===a[0]?"true":null,"data-align":n.align??"start","data-kind":n.kind??"text","data-priority":n.priority??"secondary","data-label":e.responsive==="stack"?n.label:null,children:e.rowHref&&n===a[0]?v("a",{"data-ui":"row-link",href:e.rowHref(t),children:n.cell(t)}):n.cell(t)}))]}),va=(e,a,t)=>v("tr",{"data-ui":"row","data-row":e.id(t),"data-selected":ya(e,t)?"true":null,children:$n(e,a,t)}),Kn=(e,a,t)=>t?v("tr",{"data-ui":"group-pager",children:_("td",{colSpan:String(ha(e,a)),children:[v("span",{children:t.label}),_("span",{"data-ui":"group-pager-actions",children:[t.previousHref&&v("a",{href:t.previousHref,"aria-label":e.labels?.previousPage??"Previous page",children:"\u2039"}),t.nextHref&&v("a",{href:t.nextHref,"aria-label":e.labels?.nextPage??"Next page",children:"\u203A"})]})]})}):null,xa=(e,a,t,n)=>_(ka,{children:[v("tr",{"data-ui":"group-row","data-group":t.id,"data-depth":String(n),children:_("th",{"data-ui":"group-cell",colSpan:String(ha(e,a)),scope:"rowgroup",children:[v("span",{"data-ui":"group-indent",style:`--kv-group-depth: ${n}`,"aria-hidden":"true"}),t.href?v("a",{"data-ui":"group-link",href:t.href,children:t.label}):v("span",{"data-ui":"group-link",children:t.label}),t.count!==void 0&&v("span",{"data-ui":"group-count",children:String(t.count)})]})}),fe(t.rows??[],e.id,c=>va(e,a,c)),fe(t.children??[],c=>c.id,c=>xa(e,a,c,n+1)),Kn(e,a,t.pager)]}),Ke=e=>{let a=On(e),t=e.groups??[],c=e.rows.length>0||t.length>0?v("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:_("table",{"data-ui":"table","aria-label":e.caption?null:e.title??null,children:[!!e.caption&&v("caption",{"data-ui":"table-caption",children:e.caption}),v("thead",{children:_("tr",{children:[An(e),fe(a,m=>m.key,m=>In(m,e.labels))]})}),v("tbody",{children:t.length>0?fe(t,m=>m.id,m=>xa(e,a,m,0)):fe(e.rows,e.id,m=>va(e,a,m))})]})}):v(te,{title:e.emptyTitle??"No records",message:e.emptyMessage??"There is nothing to show yet.",actions:e.emptyActions});return e.title?v(Ze,{title:e.title,actions:e.actions,padding:"none",body:c}):c};import{Fragment as fd,jsx as gd,jsxs as bd}from"/_ket/view/jsx-runtime.js";var Sa=["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 vd,jsxs as xd}from"/_ket/view/jsx-runtime.js";var Ta=["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 wa=["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 Md,jsxs as Ed}from"/_ket/view/jsx-runtime.js";var Ra=["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 Ca=["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 Bd}from"/_ket/view/index.js";import{jsx as Nd,jsxs as Jd}from"/_ket/view/jsx-runtime.js";var La=["pipeline","pipeline-step","pipeline-arrow","pipeline-step-label","pipeline-step-value","pipeline-step-node"];import{each as Ud}from"/_ket/view/index.js";import{jsx as Yd,jsxs as Qd}from"/_ket/view/jsx-runtime.js";var Pa=["record-form","form-errors","form-grid","form-actions"];import{each as oc}from"/_ket/view/index.js";import{jsx as cc,jsxs as uc}from"/_ket/view/jsx-runtime.js";var Ma=["reorder-list","reorder-list-value","reorder-list-rows","reorder-list-row","reorder-list-content","reorder-list-controls"];var Ea={actions:yt,feedback:kt,fields:Lt,status:xt,navigation:Mt,progress:Dt,menu:It,reorderList:Ma,popover:At,tooltip:$t,dialog:Kt,toast:Bt,spinner:qt,skeleton:Nt,lightbox:Xt,relationSelect:Jt,searchFilter:zt,ketTable:_t,scalarFields:Wt,combobox:Zt,dateTime:Yt,upload:Qt,relationPicker:jt,listControls:ea,inlineEdit:ta,resourceList:na,dataGrid:ia,tree:ra,matrix:oa,barChart:la,timeframe:sa,recordDisplay:da,formattedValues:Vt,recordComposition:ma,activity:ga,media:fa,layouts:Ct,shell:wt,appNavigation:ba,table:pa,listChrome:aa,listPage:Sa,formPage:wa,recordPage:Ta,dashboardPage:Ra,boardPage:Ca,modal:St,pipeline:La,form:Pa},qn=[...new Set(Object.values(Ea).flat())].sort(),Nn=Object.freeze(Object.fromEntries(Object.entries(Ea).map(([e,a])=>[e,[...a]])));import{signal as P}from"/_ket/view/index.js";import{jsx as Xn}from"/_ket/view/jsx-runtime.js";var Be="record";var Jn=/^[a-z][a-z0-9_]*(?:\.[a-zA-Z][a-zA-Z0-9_]*)+$/u,Fa=e=>Jn.test(e),it=(e,a)=>{if(!Fa(a.kind))throw new TypeError(`invalid record kind "${a.kind}"`);let t=new URL(String(e),"http://ket.local");return t.searchParams.set(Be,`${a.kind}:${a.id}`),a.tab?t.searchParams.set("tab",a.tab):t.searchParams.delete("tab"),`${t.pathname}${t.search}`};var Ha=e=>{let a=new URL(String(e),"http://ket.local");return a.searchParams.delete(Be),a.searchParams.delete("tab"),`${a.pathname}${a.search}`},be=e=>{let a=new URL(String(e),"http://ket.local"),t=a.searchParams.get(Be)??"",n=t.indexOf(":");if(n<=0||n===t.length-1)return null;let c=t.slice(0,n);return Fa(c)?{kind:c,id:t.slice(n+1),tab:a.searchParams.get("tab")}:null},rt=e=>Xn("span",{"data-ui":"record-modal-host","data-record-kind":e,hidden:!0});import{jsx as re,jsxs as Oa}from"/_ket/view/jsx-runtime.js";var qe=e=>Oa("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?re("input",{type:"hidden",name:pe,value:e.command,autocomplete:"off"}):"",Object.entries(e.hidden??{}).map(([a,t])=>re("input",{type:"hidden",name:a,value:t,autocomplete:"off"})),re("div",{"data-ui":"form-grid",children:e.fields.map(a=>ie(a))}),e.body,e.actions?.length?re("div",{"data-ui":"form-actions",children:ee({actions:e.actions})}):""]});var Ne=e=>re("span",{"data-record-dialog":e.dialog,"data-record-param-id":e.id??null,children:e.children}),ot=e=>Oa("form",{"data-ui":"record-form","data-layout":"actions",method:"post",action:"","data-record-kind":e.kind,children:[re("input",{type:"hidden",name:pe,value:e.command,autocomplete:"off"}),Object.entries(e.hidden??{}).map(([a,t])=>re("input",{type:"hidden",name:a,value:t,autocomplete:"off"})),e.children]});import{Fragment as Le,jsx as vf,jsxs as Pe}from"/_ket/view/jsx-runtime.js";var Ia=e=>{let a=e??{};return(Array.isArray(a.errors)?a.errors:Array.isArray(a.issues)?a.issues:[]).map(n=>{let c=n??{},m=Array.isArray(c.path)?c.path.join("."):null;return{field:typeof c.field=="string"?c.field:m,code:String(c.code??"invalid"),message:typeof c.message=="string"?c.message:null,params:c.params&&typeof c.params=="object"?c.params:{}}})},Ja=async(e,a,t={})=>{let n=new URL(e,"https://record.invalid");if(n.origin!=="https://record.invalid"||!e.startsWith("/")||e.startsWith("//"))throw new Error("Record commands require a same-origin route");let c=await fetch(n.pathname+n.search,{method:"POST",credentials:"same-origin",headers:{"content-type":"application/json",...t.idempotencyKey?{"idempotency-key":t.idempotencyKey}:{}},body:JSON.stringify(a),signal:t.signal}),m=await c.json().catch(()=>({}));if(!c.ok||m.ok===!1)return{ok:!1,issues:Ia(m.error??m),message:c.status>=500?null:m.error?.message??m.message??null,status:c.status};let O=m.value;return O&&typeof O=="object"&&O.ok===!1?{ok:!1,issues:Ia(O),message:null,status:c.status}:{ok:!0,value:m.value}},Aa=(e,a,t={})=>Ja(`/_ket/fn/${encodeURIComponent(e)}`,a,t),zn=async(e,a)=>{let t=new URL(e,location.href);if(t.origin!==location.origin)throw new Error("Record context must stay same-origin");let n=await fetch(t.href,{credentials:"same-origin",signal:a,headers:{accept:"application/json"}});return n.ok?{ok:!0,value:await n.json()}:{ok:!1,issues:[],message:null,status:n.status}},Vn=30,Gn=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."}),Xe=(e,a)=>a.messages?.[e]??a.previous?.[e]??a.labels?.[e]??Gn[e]??(/^E_[A-Z_]+$/u.test(e)?Xe("recordModal.saveFailed",a):e),Un=(e,a)=>{let t=Xe(e,a);return t===e?Xe("recordModal.saveFailed",a):t},pe="__command",$a="data-record-dialog",Ka=(e,a={})=>e.replace(/\{([a-zA-Z0-9_]+)\}/gu,(t,n)=>n in a?String(a[n]??""):t),Xa=["a[href]","button:not(:disabled)",'input:not(:disabled):not([type="hidden"])',"select:not(:disabled)","textarea:not(:disabled)",'[tabindex]:not([tabindex="-1"])'].join(", "),Ba=e=>[...e.querySelectorAll(Xa)].filter(a=>!a.hidden&&a.getAttribute("aria-hidden")!=="true"&&!a.matches('[data-ui="modal-backdrop"]'));var _n=e=>{let a=[],t=e;for(;t&&t!==document.body;){let n=t.parentElement;if(!n)break;for(let c of n.children)c instanceof HTMLElement&&c!==t&&!c.matches("script, style, template")&&(a.push({element:c,inert:c.inert}),c.inert=!0);t=n}return()=>{for(let{element:n,inert:c}of a)n.inert=c}},qa=()=>typeof crypto<"u"&&"randomUUID"in crypto?crypto.randomUUID():`${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`,Wn=e=>Object.entries(e.values).some(([a,t])=>t!==e.initialValues[a])||Object.entries(e.checks).some(([a,t])=>t!==e.initialChecks[a]),M=()=>({values:{},checks:{},initialValues:{},initialChecks:{}}),Na=(e,a)=>`${e}\0${a}`,Je="__all:",lt=e=>e.after??"close",Zn=400,Yn=(e,a=Zn)=>{let t,n=()=>{clearTimeout(t),t=void 0};return{set:c=>{if(n(),!c){e(!1);return}t=setTimeout(()=>e(!0),a)},stop:n}},Qn='a, button, input, select, textarea, label, summary, details, [data-ui="select-cell"]',jn=e=>{let a=e?.closest("a[href]");return a?a.target&&a.target!=="_self"?null:a.href:e?.closest(Qn)?null:e?.closest("[data-row-href]")?.getAttribute("data-row-href")??null},oe=e=>()=>{let a=P(null),t=P("idle"),n=P(null),c=P(null),m=P([]),O=P(M()),E=P(M()),st=P(!1),dt=P(!1),ct=Yn(r=>dt.set(r)),ye=P(!1),ut=r=>{st.set(r),ct.set(r),r&&ye.set(!1)},F=P(null),ve=P(0),W=P({}),B=P(null),A=new Map,Ya=(r,d)=>{for(A.delete(r),A.set(r,d);A.size>Vn;)A.delete(A.keys().next().value)},L=null,Me=null,Ee=!1,ze=null,$=null,le=null,xe=null,Qa=()=>typeof e.labels=="function"?e.labels():e.labels??{},mt=()=>({messages:n()?.messages,previous:xe,labels:Qa()}),q=(r,d)=>Ka(Xe(r,mt()),d),gt=r=>r.message??Ka(Un(r.code,mt()),r.params),ft=r=>[...e.tabs??[],...e.extensionTabs?.(r)??[]].filter(d=>d.visible?.(r)??!0),Fe=(r,d,u="record")=>{let s=()=>u==="dialog"?E():O(),l={kind:e.kind,id:r.id,creating:r.id==="new",tab:r.tab,data:d,t:q,fieldError:b=>{let i=m().find(o=>o.field===b);return i?gt(i):null},draft:(b,i="")=>{let o=s();return o.initialValues[b]??=i,o.values[b]??i},draftChecked:(b,i="1",o=!1)=>{let g=s(),y=Na(b,i);return g.initialChecks[y]??=o,g.checks[y]??o},outcome:b=>{let i=B();return i?.command===b?i.value:null},busy:dt(),dialog:F(),href:b=>it(location.href,{kind:e.kind,id:r.id,tab:b}),state:(b,i="")=>W()[b]??i},p=ft(l);return p.length&&!p.some(b=>b.id===r.tab)&&(l.tab=p[0].id),l},Z=async(r,d=!1)=>{Me?.abort();let u=new AbortController;Me=u;let s=e.cache===!1?void 0:A.get(r);s&&(xe=s.messages??xe,n.set(s),t.set("ready"),d=!0),d||t.set("loading"),c.set(null);try{let l=r==="new",p="route"in e.context?await zn(e.context.route(r,l),u.signal):await Aa(e.context.fn,e.context.input?e.context.input(r,l):l?{}:{id:r},{signal:u.signal});if(u.signal.aborted)return;if(!p.ok||!p.value){c.set(p.ok?"recordModal.notFound":p.message??"recordModal.loadFailed"),t.set("error");return}xe=p.value.messages??xe,e.cache!==!1&&Ya(r,p.value),n.set(p.value),t.set("ready")}catch(l){if(u.signal.aborted||l?.name==="AbortError")return;c.set("recordModal.loadFailed"),t.set("error")}},He=()=>L?[...L.querySelectorAll('[data-ui="modal-layer"][data-client-modal="true"]')]:[],se=()=>He()[0]??null,Ve=()=>He().at(-1)??null,de=0,ce=()=>{if(e.fixedHeight||t()!=="ready")return;let r=se()?.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 u=d.querySelector('[data-ui="tab-panel"]'),s=u?.scrollTop??0;r.style.setProperty("height","auto","important"),r.style.setProperty("min-height","0"),d.style.setProperty("height","auto"),de=Math.max(de,Math.ceil(r.getBoundingClientRect().height)),d.style.removeProperty("height");let l=getComputedStyle(r).maxHeight;r.style.setProperty("min-height",l==="none"?`${de}px`:`min(${de}px, ${l})`),u&&(u.scrollTop=s)},Y=(r,d)=>{if(!r)return;let u=d==="dialog"?E():O(),s={values:{...u.values},checks:{...u.checks},initialValues:{...u.initialValues},initialChecks:{...u.initialChecks}};for(let l of r.querySelectorAll("input[name], select[name], textarea[name]"))if(!(l.disabled||l.name===pe)){if(l instanceof HTMLInputElement){if(l.type==="file"||l.type==="hidden")continue;if(l.type==="checkbox"||l.type==="radio"){let p=Na(l.name,l.value);s.initialChecks[p]??=l.defaultChecked,s.checks[p]=l.checked,l.type==="checkbox"?s.values[l.name]=l.checked?l.value:"":l.checked&&(s.values[l.name]=l.value),s.initialValues[l.name]=s.values[l.name]??"";continue}}s.initialValues[l.name]??=l instanceof HTMLSelectElement?[...l.options].find(p=>p.defaultSelected)?.value??l.options[0]?.value??"":l.defaultValue,s.values[l.name]=l.value}d==="dialog"?E.set(s):O.set(s)},Ge=()=>{let r=He();Y(r[0]??null,"record"),r.length>1&&Y(r.at(-1)??null,"dialog")},bt=r=>{if(!r)return!0;let d=F()&&r===Ve()?"dialog":"record";Y(r,d);let u=d==="dialog"?E():O(),s=[...r.querySelectorAll('input[type="file"]')].some(l=>!l.disabled&&!!l.files?.length);return!Wn(u)&&!s?!0:globalThis.confirm(q("recordModal.unsaved"))},ke=r=>{requestAnimationFrame(()=>{let d=He(),u=d[0],s=d.at(-1);if(!s)return;u&&(u.inert=d.length>1);let l=r?.();if(l?.isConnected&&s.contains(l)){l.focus();return}if(s.contains(document.activeElement))return;let p=s.querySelector('[data-ui="modal-sheet"]');(Ba(s).find(i=>!i.matches('[data-ui="modal-close"]'))??p)?.focus()})},z=(r,d,u,s)=>{let l=a(),p=l?.id===r,b=d??(p?l.tab:"");p||(de=0,ze=document.activeElement instanceof HTMLElement?document.activeElement:null,m.set([]),ye.set(!1),O.set(M()),E.set(M()),W.set({}),B.set(null),F.set(null),$=null,n.set(null),Z(r)),a.set({id:r,tab:b});let i=it(location.href,{kind:e.kind,id:r,tab:b||null});u==="push"?(history.replaceState({...history.state??{},__ketScroll:[window.scrollX,window.scrollY]},"",location.href),history.pushState({...history.state??{},__ketRecordModal:e.kind},"",i),Ee=!0):u==="replace"&&history.replaceState(history.state??{},"",i),L&&!le&&(le=_n(L)),ke(s)},Se=r=>{Me?.abort(),a.set(null),de=0,F.set(null),m.set([]),ye.set(!1),O.set(M()),E.set(M()),W.set({}),B.set(null),t.set("idle"),n.set(null),le?.(),le=null,r==="history"&&Ee?(Ee=!1,history.back()):r!=="none"&&(Ee=!1,history.replaceState(history.state??{},"",Ha(location.href)));let d=ze;ze=null,$=null,d?.isConnected&&requestAnimationFrame(()=>d.focus())},pt=()=>{if(F()){if(!bt(Ve()))return;let r=$;$=null,F.set(null),E.set(M()),m.set([]),B.set(null),ke(()=>r?.isConnected?r:null);return}bt(se())&&Se("history")},ja=async(r,d,u)=>{let s=e.commands?.[r],l=a(),p=n()?.data;if(!s||!l||p===void 0||st())return;let b=new FormData(d,u instanceof HTMLButtonElement?u:null),i=d.closest('[data-ui="modal-layer"][data-client-modal="true"]'),o=F()&&i===Ve()?"dialog":"record";Y(i,o);let g=Fe(l,p,o);if(s.confirm){let y=s.confirm(g);if(y&&!globalThis.confirm(y))return}ut(!0),m.set([]);try{let y={};for(let[f,D]of Object.entries(s.upload??{})){let I=b.get(f);if(!(I instanceof File)||I.size===0)continue;let ue=new FormData;for(let[Ue,an]of Object.entries(D(b,g)))ue.append(Ue,an);ue.append("file",I,I.name);let Te=await fetch("/files",{method:"POST",credentials:"same-origin",body:ue}),J=await Te.json().catch(()=>null);if(!Te.ok||!J?.id){m.set([{field:null,code:"recordModal.uploadFailed",message:typeof J?.message=="string"?J.message:null,params:{}}]);return}y[f]={id:String(J.id),name:typeof J.name=="string"?J.name:null}}let k=(f,D)=>Aa(f,D,{idempotencyKey:qa()}),h=s.route?await Ja(s.route,s.input(b,g,y),{idempotencyKey:qa()}):await k(s.fn,s.input(b,g,y));for(let f of h.ok?s.also??[]:[])if(!(f.when&&!f.when(g))&&(h=await k(f.fn,f.input(b,g,y)),!h.ok))break;if(!h.ok){B.set(null),m.set(h.issues.length?h.issues.map(f=>({...f,field:f.field&&s.issueField?s.issueField(f.field,b,g):f.field})):[{field:null,code:h.message??"recordModal.saveFailed",message:h.message,params:{}}]);return}if(s.preview){B.set({command:r,value:h.value}),ve.set(ve()+1);return}o==="dialog"?E.set(M()):O.set(M()),B.set(lt(s)==="stay"?{command:r,value:h.value}:null),d.reset();let N=h.value,V=lt(s)==="open"?s.created?.(h.value)??(N&&typeof N=="object"&&N.id!=null?String(N.id):null):null;A.delete(l.id),V&&A.delete(V);let Q=()=>{document.dispatchEvent(new CustomEvent("ket:records-changed",{detail:{kind:e.kind,ids:[V??l.id]}}))};if(s.navigate){let f=new URL(s.navigate(h.value,g),location.href);if(f.origin!==location.origin)throw new Error("Record navigation must stay same-origin");Se("none"),location.assign(f.href);return}let H=lt(s);if(H!=="close"&&ye.set(!0),H==="open"){F.set(null),E.set(M()),V?z(V,s.openTab??null,"replace"):Se("history"),Q();return}if(Q(),H==="close")Se("history");else if(H==="reload"){let f=$;$=null,F.set(null),E.set(M()),await Z(l.id),ke(()=>f?.isConnected?f:null)}else if(H==="refresh")await Z(l.id,!0);else if(H==="stay")ve.set(ve()+1);else if("tab"in H)$=null,F.set(null),E.set(M()),z(l.id,H.tab,"replace"),await Z(l.id);else{let f=H.dialog?null:$;$=H.dialog&&u instanceof HTMLElement?u:null,F.set(H.dialog?{name:H.dialog,params:{}}:null),E.set(M()),await Z(l.id,!0),ke(()=>f?.isConnected?f:null)}}catch{m.set([{field:null,code:"recordModal.saveFailed",message:null,params:{}}])}finally{ut(!1)}},ht=r=>{let d=m().filter(l=>!l.field),u=m().filter(l=>l.field&&!L?.querySelector(`[name="${CSS.escape(l.field)}"]`)),s=[...d,...u];return s.length?U({title:r.t("recordModal.errorTitle"),message:s.map(gt).join(" \xB7 "),tone:"danger"}):ye()?U({title:r.t("recordModal.savedTitle"),message:r.t("recordModal.saved"),tone:"positive"}):""},en=()=>{let r=a();if(!r)return"";if(t()==="error")return Pe(Le,{children:[U({title:q("recordModal.errorTitle"),message:q(c()??"recordModal.loadFailed"),tone:"danger"}),w({label:q("recordModal.retry"),variant:"secondary",name:"intent",value:"retry"})]});let d=n()?.data;if(t()!=="ready"||d===void 0)return me({label:q("recordModal.loading")});let u=Fe(r,d),s=ft(u),l=s.find(o=>o.id===u.tab),p=e.header?.(u)??"",b=ht(u),i=l?l.view(u):e.body?.(u)??"";return s.length?je({id:`record-view-${e.kind.replaceAll(".","-")}`,label:e.title(u),items:s.map(o=>({id:o.id,label:o.label(u),href:u.href(o.id),active:o.id===u.tab})),context:p!==""||b!==""?Pe(Le,{children:[p,b]}):void 0,body:i}):Pe(Le,{children:[p,b,i]})},tn=()=>{let r=a(),d=F(),u=n()?.data;if(!r||!d||u===void 0)return"";let s=e.dialogs?.[d.name];if(!s)return"";let l=Fe(r,u,"dialog");return ae({id:`record-dialog-${e.kind.replaceAll(".","-")}-${d.name}`,mode:"client",presentation:"dialog",size:s.size??"default",title:s.title(l),actions:s.actions?.(l),closeLabel:q("recordModal.close"),body:Pe(Le,{children:[ht(l),s.view(l)]})})};return{view:()=>{ve();let r=a();if(!r)return rt(e.kind);let d=n()?.data,u=d===void 0?null:Fe(r,d);return Pe(Le,{children:[rt(e.kind),ae({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:u?e.title(u):q("recordModal.loading"),description:u?e.description?.(u)??null:null,status:u?e.status?.(u):void 0,actions:u?e.actions?.(u):void 0,closeLabel:q("recordModal.close"),body:en()}),tn()]})},mount:({root:r,lifetime:d})=>{L=r,document.addEventListener("click",i=>{if(i.defaultPrevented||i.button!==0||i.metaKey||i.ctrlKey||i.shiftKey||i.altKey)return;let o=i.target instanceof Element?i.target:null,g=o?.closest('[data-ui="modal-layer"][data-client-modal="true"]');if(g&&L?.contains(g)){if(o?.closest('[data-ui="modal-close"], [data-ui="modal-backdrop"], [data-record-close]')){i.preventDefault(),pt();return}let f=o?.closest("button[data-record-state], a[data-record-state]");if(f){i.preventDefault(),Ge(),W.set({...W(),[f.getAttribute("data-record-state")??""]:f.getAttribute("data-record-value")??""});return}let D=o?.closest(`[${$a}]`);if(D){i.preventDefault(),Y(se(),"record");let I=document.activeElement;$=I instanceof HTMLElement&&D.contains(I)?I:D.querySelector(Xa),E.set(M());let ue={};for(let[Te,J]of Object.entries(D.dataset))Te.startsWith("recordParam")&&J!==void 0&&(ue[Te.slice(11).replace(/^./u,Ue=>Ue.toLowerCase())]=J);m.set([]),B.set(null),F.set({name:D.getAttribute($a)??"",params:ue}),ke();return}if(o?.closest('button[name="intent"][value="retry"]')){i.preventDefault();let I=a();I&&Z(I.id);return}}let y=jn(o);if(!y)return;let k=new URL(y,location.href);if(k.origin!==location.origin||k.pathname!==location.pathname)return;let h=be(k);if(!h||h.kind!==e.kind)return;i.preventDefault();let N=a(),V="route"in e.context?e.context.query??[]:[],Q=new URL(location.href);if(V.some(f=>Q.searchParams.get(f)!==k.searchParams.get(f))){Y(se(),"record");for(let f of V){let D=k.searchParams.get(f);D===null?Q.searchParams.delete(f):Q.searchParams.set(f,D)}history.replaceState(history.state??{},"",Q.href),N?.id===h.id&&Z(N.id)}if(N?.id===h.id){if((h.tab??"")===N.tab)return;Y(se(),"record"),m.set([]),B.set(null),z(h.id,h.tab??null,"replace",()=>se()?.querySelector('[data-ui="tab"][data-active="true"]')??null);return}z(h.id,h.tab??null,"push")},{signal:d,capture:!0}),document.addEventListener("keydown",i=>{if(i.defaultPrevented||i.key!=="Enter"&&i.key!==" ")return;let o=i.target instanceof Element?i.target:null;if(!o?.matches('[data-row-href][tabindex="0"]'))return;let g=o.getAttribute("data-row-href"),y=g?new URL(g,location.href):null;if(!y||y.origin!==location.origin||y.pathname!==location.pathname)return;let k=be(y);!k||k.kind!==e.kind||(i.preventDefault(),z(k.id,k.tab??null,"push"))},{signal:d,capture:!0}),document.addEventListener("submit",i=>{let o=i.target instanceof HTMLFormElement?i.target:null;if(!o||!L?.contains(o))return;i.preventDefault();let g=i.submitter??null,y=(g instanceof HTMLButtonElement&&g.name===pe?g.value:null)??String(new FormData(o).get(pe)??"");ja(y,o,g)},{signal:d}),document.addEventListener("keydown",i=>{if(!a())return;let o=L?.querySelectorAll('[data-ui="modal-layer"][data-client-modal="true"]'),g=o?.[o.length-1];if(!g)return;if(i.key==="Escape"){i.preventDefault(),pt();return}if(i.key!=="Tab")return;let y=Ba(g);if(!y.length){i.preventDefault(),g.querySelector('[data-ui="modal-sheet"]')?.focus();return}let k=y[0],h=y.at(-1);i.shiftKey&&(document.activeElement===k||!g.contains(document.activeElement))?(i.preventDefault(),h.focus()):!i.shiftKey&&(document.activeElement===h||!g.contains(document.activeElement))&&(i.preventDefault(),k.focus())},{signal:d}),document.addEventListener("change",i=>{let o=i.target instanceof Element?i.target:null;if(!o||!L?.contains(o))return;if(o instanceof HTMLInputElement&&o.type==="checkbox"&&o.form){let y=o.form;if(y.querySelector(`input[type="checkbox"][name^="${Je}"]`)){if(o.name.startsWith(Je)){let k=o.name.slice(Je.length);for(let h of y.querySelectorAll('input[type="checkbox"]'))!h.disabled&&!h.name.startsWith(Je)&&h.name.startsWith(k)&&(h.checked=o.checked)}Ge();return}}let g=o.getAttribute("data-record-state")??(["relation-native","reorder-list-value"].includes(o.getAttribute("data-ui")??"")?o.getAttribute("name"):null);if((o instanceof HTMLSelectElement||o instanceof HTMLInputElement)&&g){Ge(),W.set({...W(),[g]:o.value});return}o instanceof HTMLInputElement&&o.type==="file"&&o.hasAttribute("data-record-submit")&&o.files?.length&&o.form?.requestSubmit()},{signal:d});let u=i=>{let g=(i.target instanceof Element?i.target:null)?.closest("form[data-record-dropzone]")??null;return g&&L?.contains(g)?g:null};document.addEventListener("dragover",i=>{let o=u(i);o&&(i.preventDefault(),o.dataset.drag="1")},{signal:d}),document.addEventListener("dragleave",i=>{let o=u(i);if(!o)return;let g=i.relatedTarget;g instanceof Node&&o.contains(g)||delete o.dataset.drag},{signal:d}),document.addEventListener("drop",i=>{let o=u(i);if(!o)return;i.preventDefault(),delete o.dataset.drag;let g=i.dataTransfer?.files,y=o.querySelector('input[type="file"]');if(!y||!g?.length)return;let k=new DataTransfer;k.items.add(g[0]),y.files=k.files,o.requestSubmit()},{signal:d});let s="ket-island, div[data-ket-island]",l=i=>i instanceof Element&&(i.matches(s)||i.querySelector(s)!==null),p=new MutationObserver(i=>{ce();for(let o of i){for(let g of o.removedNodes)l(g)&&document.dispatchEvent(new CustomEvent("ket:islands-detach",{detail:{root:g}}));for(let g of o.addedNodes)l(g)&&g.isConnected&&document.dispatchEvent(new CustomEvent("ket:islands-attach",{detail:{root:g}}))}});p.observe(L,{childList:!0,subtree:!0,characterData:!0}),d.addEventListener("abort",()=>p.disconnect()),window.addEventListener("resize",ce,{signal:d}),L.addEventListener("load",ce,{capture:!0,signal:d}),L.addEventListener("toggle",ce,{capture:!0,signal:d}),document.fonts?.ready.then(()=>{d.aborted||ce()}),ce(),document.addEventListener("ket:records-changed",i=>{let o=i.detail;if(o?.kind===e.kind)if(!Array.isArray(o.ids)||!o.ids.length)A.clear();else for(let g of o.ids)A.delete(String(g))},{signal:d}),document.addEventListener("ket:popstate",i=>{let o=be(location.href),g=o?.kind===e.kind;!g&&!a()||(i.preventDefault(),g&&o?z(o.id,o.tab??null,"none"):Se("none"))},{signal:d}),document.addEventListener("ket:navigation-complete",()=>{let i=be(location.href);i?.kind===e.kind&&!a()&&z(i.id,i.tab??null,"none")},{signal:d});let b=be(location.href);b?.kind===e.kind&&z(b.id,b.tab??null,"none"),d.addEventListener("abort",()=>{Me?.abort(),ct.stop(),le?.(),le=null,L=null})}}};var za={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."}};var Va={warehouse:{kind:"stock.warehouse",title:"warehouse.create.title",read:"stock.listWarehouses",save:"stock.saveWarehouse",fields:[{name:"name",label:"warehouse.field.name",required:!0},{name:"code",label:"warehouse.field.code",required:!0},{name:"receptionSteps",label:"field.receptionSteps",defaultValue:"one_step",choices:["one_step","two_steps","three_steps"],choiceLabel:"receptionSteps"},{name:"deliverySteps",label:"field.deliverySteps",defaultValue:"ship_only",choices:["ship_only","pick_ship","pick_pack_ship"],choiceLabel:"deliverySteps"}]},location:{kind:"stock.location",title:"location.create.title",read:"stock.listLocations",save:"stock.saveLocation",fields:[{name:"name",label:"location.field.name",required:!0},{name:"usage",label:"field.usage",required:!0,defaultValue:"internal",choices:["internal","view","supplier","customer","inventory","production","transit"],choiceLabel:"usage"},{name:"parentId",label:"field.parentLocation",lookup:"locations"},{name:"warehouseId",label:"field.warehouse",lookup:"warehouses"}]},"picking-type":{kind:"stock.pickingType",title:"pickingType.create.title",read:"stock.listPickingTypes",save:"stock.savePickingType",fields:[{name:"name",label:"pickingType.field.name",required:!0},{name:"code",label:"pickingType.field.code",required:!0,defaultValue:"internal",choices:["incoming","outgoing","internal"],choiceLabel:"pickingType"},{name:"warehouseId",label:"field.warehouse",lookup:"warehouses"},{name:"defaultLocationSrcId",label:"field.sourceLocation",lookup:"locations"},{name:"defaultLocationDestId",label:"field.destinationLocation",lookup:"locations"},{name:"createBackorder",label:"field.backorder",defaultValue:"ask",choices:["ask","always","never"],choiceLabel:"backorder"}]},lot:{kind:"stock.lot",title:"lot.create.title",read:"stock.listLots",save:"stock.saveLot",fields:[{name:"productId",label:"lot.field.product",lookup:"products",required:!0},{name:"name",label:"field.lotSerial",required:!0},{name:"ref",label:"lot.field.reference"},{name:"note",label:"lot.field.description",type:"textarea"}]},route:{kind:"stock.route",title:"stockRoute.create.title",read:"stock.listRoutes",save:"stock.saveRoute",fields:[{name:"name",label:"stockRoute.field.name",required:!0},{name:"sequence",label:"field.sequence",type:"number",defaultValue:"10"}]},replenishment:{kind:"stock.replenishment",title:"replenishment.create.title",read:"stock.listOrderpoints",save:"stock.saveOrderpoint",fields:[{name:"productId",label:"field.product",lookup:"products",required:!0},{name:"warehouseId",label:"field.warehouse",lookup:"warehouses",required:!0},{name:"locationId",label:"field.location",lookup:"locations",required:!0},{name:"trigger",label:"field.trigger",choices:["auto","manual"],choiceLabel:"trigger",defaultValue:"manual"},{name:"minQuantity",label:"field.minQuantity",type:"decimal",defaultValue:"0",required:!0},{name:"maxQuantity",label:"field.maxQuantity",type:"decimal",defaultValue:"0",required:!0},{name:"replenishmentUomId",label:"field.replenishmentUom",lookup:"units"},{name:"routeId",label:"field.route",lookup:"routes"}]}};import{jsx as C}from"/_ket/view/jsx-runtime.js";var Ga=()=>typeof document<"u"&&document.documentElement.lang==="en"?"en":"vi",S=(e,a)=>e.t(`stock_backend.${a}`),Ua=[{name:"name",label:"stockRoute.rule.col.name",required:!0},{name:"action",label:"field.ruleAction",choices:["pull","push","pull_push"],choiceLabel:"ruleAction",defaultValue:"pull",required:!0},{name:"locationSrcId",label:"field.sourceLocation",lookup:"locations"},{name:"locationDestId",label:"field.destinationLocation",lookup:"locations",required:!0},{name:"pickingTypeId",label:"field.operationType",lookup:"pickingTypes",required:!0},{name:"sequence",label:"field.sequence",type:"number",defaultValue:"20"},{name:"procureMethod",label:"field.procureMethod",choices:["make_to_stock","make_to_order","mts_else_mto"],choiceLabel:"procureMethod",defaultValue:"make_to_stock"}],_a=(e,a,t)=>a.map(n=>({id:`${e.kind}-${e.dialog?.name??"record"}-${n.name}`,name:n.name,label:S(e,n.label),type:n.type,required:n.required,value:e.draft(n.name,String(t[n.name]??n.defaultValue??"")),error:e.fieldError(n.name),disabled:e.busy,...n.choices?{type:"select",options:n.choices.map(c=>({value:c,label:S(e,`${n.choiceLabel}.${c}`)}))}:{},...n.lookup?{type:"select",options:[{value:"",label:"\u2014"},...(e.data.choices[n.lookup]??[]).filter(c=>n.name!=="parentId"||c.id!==e.id).map(c=>({value:String(c.id),label:String(c.name)}))]}:{}})),Wa=(e,a)=>Object.fromEntries(a.flatMap(t=>{let n=String(e.get(t.name)??"");return t.type==="number"?n?[[t.name,Number(n)]]:[]:n||t.required?[[t.name,n]]:t.lookup?[[t.name,null]]:t.type==="textarea"||!t.type?[[t.name,""]]:[]})),Za=e=>e.data.rules.find(a=>a.id===e.dialog?.params.id),he=e=>{let a=Va[e];return{kind:a.kind,size:"large",labels:()=>za[Ga()],context:{route:(t,n)=>{let c=n?"new":encodeURIComponent(t);return`/admin/stock/record/${e}/${c}/context?lang=${Ga()}`},query:["company","branch"]},title:t=>t.creating?S(t,a.title):String(t.data.record.name??t.data.choices.products?.find(n=>n.id===t.data.record.productId)?.name??t.id),body:t=>C(We,{items:[t.data.save?C(qe,{kind:t.kind,command:"save",fields:_a(t,a.fields,t.data.record),actions:[C(w,{type:"submit",label:t.t("recordModal.save"),variant:"primary",disabled:t.busy})]}):C($e,{items:a.fields.map(n=>({id:n.name,label:S(t,n.label),value:n.choices?S(t,`${n.choiceLabel}.${t.data.record[n.name]}`):String((n.lookup?t.data.choices[n.lookup]?.find(c=>c.id===t.data.record[n.name])?.name:null)??t.data.record[n.name]??"\u2014")}))}),...e==="lot"&&!t.creating?[C(Re,{title:S(t,"lot.inventory.title"),body:C(Ke,{rows:t.data.quants??[],id:n=>String(n.id),responsive:"scroll",columns:[{key:"location",label:S(t,"lot.col.location"),cell:n=>String(t.data.choices.locations?.find(c=>c.id===n.locationId)?.name??n.locationId)},{key:"quantity",label:S(t,"lot.col.onHand"),cell:n=>String(n.quantity)},{key:"reserved",label:S(t,"lot.col.reserved"),cell:n=>String(n.reservedQuantity)},{key:"available",label:S(t,"lot.col.available"),cell:n=>String(Number(n.quantity)-Number(n.reservedQuantity))}]})})]:[],...e==="route"&&!t.creating?[C(Re,{title:S(t,"stockRoute.rule.col.name"),actions:t.data.rule?C(Ne,{dialog:"rule",children:C(w,{label:S(t,"stockRoute.rule.create.title")})}):null,body:C(Ke,{rows:t.data.rules,id:n=>String(n.id),responsive:"scroll",columns:[{key:"name",label:S(t,"stockRoute.rule.col.name"),cell:n=>String(n.name)},{key:"action",label:S(t,"field.ruleAction"),cell:n=>S(t,`ruleAction.${n.action}`)},{key:"sequence",label:S(t,"field.sequence"),cell:n=>String(n.sequence)},{key:"edit",label:S(t,"action.save"),cell:n=>t.data.rule?C(Ne,{dialog:"rule",id:String(n.id),children:C(w,{label:S(t,"modal.edit"),variant:"tertiary"})}):""}]})})]:[],...e==="replenishment"&&!t.creating&&t.data.run?[C(ot,{kind:t.kind,command:"run",children:C(w,{type:"submit",label:S(t,"action.run"),disabled:t.busy})})]:[]]}),dialogs:{rule:{title:t=>S(t,"stockRoute.rule.col.name"),view:t=>C(qe,{kind:t.kind,command:"rule",fields:_a(t,Ua,Za(t)??{}),actions:[C(w,{type:"submit",label:t.t("recordModal.save"),variant:"primary",disabled:t.busy})]})}},commands:{save:{fn:a.save,after:"open",input:(t,n)=>({id:n.creating?n.data.draftId:n.id,...Wa(t,a.fields)})},rule:{fn:"stock.saveRule",after:"reload",input:(t,n)=>({id:Za(n)?.id??n.data.draftId,routeId:n.id,...Wa(t,Ua)})},run:{fn:"stock.runOrderpoint",after:"reload",input:(t,n)=>({id:n.id,moveId:n.data.draftId}),confirm:t=>S(t,"modal.confirmRun")}}}},Mf=oe(he("warehouse")),Ef=oe(he("location")),Ff=oe(he("picking-type")),Hf=oe(he("lot")),Of=oe(he("route")),Df=oe(he("replenishment"));export{Ef as locationModal,Hf as lotModal,Ff as pickingTypeModal,Df as replenishmentModal,he as stockConfigurationDefinition,Of as stockRouteModal,Mf as warehouseModal};
|
|
2
|
+
import{each as sn}from"/_ket/view/index.js";import{Fragment as St,jsx as te,jsxs as cn}from"/_ket/view/jsx-runtime.js";var kt=["action","action-leading","action-label","action-spinner","action-group"],dn=e=>cn(St,{children:[e.loading===!0&&te("span",{"data-ui":"action-spinner","aria-hidden":"true"}),e.loading!==!0&&e.leading!==void 0&&te("span",{"data-ui":"action-leading","aria-hidden":"true",children:e.leading}),!e.iconOnly&&te("span",{"data-ui":"action-label",children:e.label})]}),C=e=>te("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:te(dn,{...e})});var ae=e=>te("div",{"data-ui":"action-group",role:"group","aria-label":e.label??null,children:sn(e.actions,(a,t)=>t,a=>te(St,{children:a}))});import{jsx as si,jsxs as di}from"/_ket/view/jsx-runtime.js";var Tt=["badge","tag","tag-remove","count-badge","avatar","code","text","media-label","media-label-image","media-label-copy"];import{each as un}from"/_ket/view/index.js";import{Fragment as Ke,jsx as x,jsxs as W}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"],mn={info:()=>W(Ke,{children:[x("circle",{cx:"12",cy:"12",r:"10"}),x("path",{d:"M12 16v-4"}),x("path",{d:"M12 8h.01"})]}),positive:()=>W(Ke,{children:[x("circle",{cx:"12",cy:"12",r:"10"}),x("path",{d:"m9 12 2 2 4-4"})]}),warning:()=>W(Ke,{children:[x("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"}),x("path",{d:"M12 9v4"}),x("path",{d:"M12 17h.01"})]}),danger:()=>W(Ke,{children:[x("circle",{cx:"12",cy:"12",r:"10"}),x("path",{d:"M12 8v4"}),x("path",{d:"M12 16h.01"})]})},Z=e=>W("aside",{"data-ui":"notice","data-pattern":"notice","data-tone":e.tone??"info",role:e.tone==="danger"?"alert":"status",children:[x("span",{"data-ui":"notice-mark","aria-hidden":"true",children:x("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:mn[e.tone??"info"]()})}),W("div",{"data-ui":"notice-copy",children:[x("p",{"data-ui":"notice-title",children:e.title}),x("p",{"data-ui":"notice-message",children:e.message})]}),e.actions!==void 0&&x("div",{"data-ui":"notice-actions",children:e.actions})]}),ne=e=>W("div",{"data-ui":"empty",role:"status",children:[x("span",{"data-ui":"empty-mark","aria-hidden":"true",children:"\u25C7"}),x("p",{"data-ui":"empty-title",children:e.title}),x("p",{"data-ui":"empty-message",children:e.message}),e.actions!==void 0&&x("div",{"data-ui":"empty-actions",children:e.actions})]}),be=e=>W("div",{"data-ui":"loading",role:"status","aria-live":"polite",children:[x("span",{"data-ui":"loading-label",children:e.label}),x("div",{"data-ui":"skeleton","aria-hidden":"true",children:un(Array.from({length:Math.max(1,e.lines??3)}),(a,t)=>t,(a,t)=>x("span",{"data-ui":"skeleton-line","data-line":String(t+1)}))})]});import{each as at}from"/_ket/view/index.js";import{each as yn}from"/_ket/view/index.js";import{jsx as q,jsxs as Ce}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 a=e.mode==="client",t=e.mode==="embedded";return Ce("div",{"data-ui":"modal-layer","data-mode":e.mode??"overlay","data-route-modal":t||a?null:"true","data-client-modal":a?"true":null,"data-presentation":e.presentation??"sheet","data-unsaved-prompt":e.unsavedPrompt??null,children:[a?q("button",{"data-ui":"modal-backdrop",type:"button","aria-hidden":"true",tabIndex:-1,children:q("span",{children:e.closeLabel})}):q("a",{"data-ui":"modal-backdrop",href:e.closeHref??"#","aria-label":e.closeLabel,children:q("span",{children:e.closeLabel})}),Ce("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":t?"false":"true"},"aria-labelledby":e.dialogSemantics==="parent"?null:`${e.id}-title`,"aria-describedby":e.dialogSemantics!=="parent"&&e.description?`${e.id}-description`:null,tabindex:t?null:"-1",children:[Ce("header",{"data-ui":"modal-head",children:[Ce("div",{"data-ui":"modal-heading",children:[Ce("div",{"data-ui":"modal-title-row",children:[q("h2",{"data-ui":"modal-title",id:`${e.id}-title`,children:e.title}),e.status!==void 0&&e.status]}),!!e.description&&q("p",{"data-ui":"modal-description",id:`${e.id}-description`,children:e.description})]}),a?q("button",{"data-ui":"modal-close",type:"button","aria-label":e.closeLabel,title:e.closeLabel,children:"\xD7"}):q("a",{"data-ui":"modal-close",href:e.closeHref??"#","aria-label":e.closeLabel,title:e.closeLabel,children:"\xD7"})]}),q("div",{"data-ui":"modal-body",children:e.body}),e.actions!==void 0&&q("footer",{"data-ui":"modal-actions",children:e.actions})]})]})};import{Fragment as vi,jsx as hi,jsxs as yi}from"/_ket/view/jsx-runtime.js";import{Fragment as Ci,jsx as wi,jsxs as Ri}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 L,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"],vn=e=>L(Pt,{children:yn(e.items,(a,t)=>t,a=>typeof a=="string"||typeof a=="number"?L("span",{children:a}):L(Pt,{children:a}))}),je=e=>L("div",{"data-ui":"stack","data-pattern":"stack","data-gap":e.gap??"default","data-divided":e.divided===!0?"true":null,children:L(vn,{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:[L("h2",{"data-ui":"surface-title",children:e.title}),L("p",{"data-ui":"surface-description",children:e.description})]}):L("h2",{"data-ui":"surface-title",children:e.title}),e.actions!==void 0&&L("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:[L("summary",{"data-ui":"disclosure-summary",children:e.summary}),L("div",{"data-ui":"disclosure-body",children:e.body})]}),Le=e=>re("section",{"data-ui":"section",children:[re("header",{"data-ui":"section-head",children:[re("div",{children:[!!e.eyebrow&&L("p",{"data-ui":"section-eyebrow",children:e.eyebrow}),L("h2",{"data-ui":"section-title",children:e.title}),!!e.description&&L("p",{"data-ui":"section-description",children:e.description})]}),e.actions!==void 0&&L("div",{"data-ui":"section-actions",children:e.actions})]}),L("div",{"data-ui":"section-body",children:e.body})]});import{each as xn}from"/_ket/view/index.js";import{Fragment as kn,jsx as Pe}from"/_ket/view/jsx-runtime.js";var Be=(e,a)=>e.control!==void 0?Pe(kn,{children:e.control}):e.type==="textarea"?Pe("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":a,children:String(e.value??"")}):e.type==="select"?Pe("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":a,children:xn(e.options??[],t=>t.value,t=>Pe("option",{value:t.value,selected:String(e.value??"")===t.value,disabled:t.disabled===!0,children:t.label}))}):Pe("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":a,autocomplete:e.autocomplete??"off",step:e.type==="decimal"?e.step??"any":e.step??null});import{jsx as T,jsxs as G}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 a=e.help?`${e.id}-help`:null,t=e.error?`${e.id}-error`:null,n=[a,t].filter(Boolean).join(" ")||null,c=G("span",{"data-ui":"field-label",children:[e.label,e.required&&T("span",{"data-ui":"field-required","aria-hidden":"true",children:" *"})]});return e.fields?G("div",{"data-ui":"field","data-kind":"group","data-span":"full","data-invalid":String(!!e.error),children:[T(tt,{summary:e.label,open:e.open||Ft(e),body:T("div",{"data-ui":"form-grid",children:at(e.fields.map(m=>({...m,disabled:e.disabled||m.disabled,readOnly:e.readOnly||m.readOnly})),m=>m.id,m=>T(oe,{...m}))})}),!!e.help&&T("small",{"data-ui":"field-help",id:a??void 0,children:e.help}),!!e.error&&T("small",{"data-ui":"field-error",id:t??void 0,children:e.error})]}):e.type==="checkbox-group"?G("div",{"data-ui":"field","data-kind":"checkbox-group","data-span":e.span??"half","data-invalid":String(!!e.error),children:[G("span",{"data-ui":"field-label",id:`${e.id}-label`,children:[e.label,e.required&&T("span",{"data-ui":"field-required","aria-hidden":"true",children:" *"})]}),T("div",{"data-ui":"field-options","data-orientation":e.optionsOrientation==="vertical"?"vertical":null,role:"group","aria-labelledby":`${e.id}-label`,children:at(e.options??[],m=>m.name??m.value,m=>G("label",{"data-ui":"field-option",children:[T("input",{"data-ui":"field-option-input",type:"checkbox",name:m.name??`${e.name}[]`,value:m.value,checked:m.checked===!0,disabled:e.disabled===!0||m.disabled===!0,"aria-invalid":e.error?"true":null,"aria-describedby":n,autocomplete:"off"}),T("span",{children:m.label})]}))}),!!e.help&&T("small",{"data-ui":"field-help",id:a??void 0,children:e.help}),!!e.error&&T("small",{"data-ui":"field-error",id:t??void 0,children:e.error})]}):e.type==="radio"?G("div",{"data-ui":"field","data-kind":"radio","data-span":e.span??"half","data-invalid":String(!!e.error),children:[G("span",{"data-ui":"field-label",id:`${e.id}-label`,children:[e.label,e.required&&T("span",{"data-ui":"field-required","aria-hidden":"true",children:" *"})]}),T("div",{"data-ui":"field-options","data-orientation":e.optionsOrientation==="vertical"?"vertical":null,role:"radiogroup","aria-labelledby":`${e.id}-label`,children:at(e.options??[],m=>m.value,m=>G("label",{"data-ui":"field-option",children:[T("input",{"data-ui":"field-option-input",type:"radio",name:e.name,value:m.value,checked:String(e.value??"")===m.value,required:e.required===!0,disabled:e.disabled===!0||m.disabled===!0,"aria-invalid":e.error?"true":null,"aria-describedby":n,autocomplete:"off"}),T("span",{children:m.label})]}))}),!!e.help&&T("small",{"data-ui":"field-help",id:a??void 0,children:e.help}),!!e.error&&T("small",{"data-ui":"field-error",id:t??void 0,children:e.error})]}):G("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"&&Be(e,n),c,e.type!=="checkbox"&&Be(e,n),!!e.help&&T("small",{"data-ui":"field-help",id:a??void 0,children:e.help}),!!e.error&&T("small",{"data-ui":"field-error",id:t??void 0,children:e.error})]})};import{each as Sn}from"/_ket/view/index.js";import{jsx as pe,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&&pe("span",{"data-ui":"tab-count",children:String(e.count)})]}),Dt=(e,a)=>`${e}-${a.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,a=>a.id,a=>pe(Ot,{...a,elementId:e.id?Dt(e.id,a.id):void 0,controls:e.panelId})),e.extension]}),At=e=>pe("section",{"data-ui":"tab-panel",id:e.id,"aria-labelledby":e.labelledBy,tabindex:"-1",children:e.body}),nt=e=>{let a=`${e.id}-tabs`,t=`${e.id}-panel`,n=e.items.find(c=>c.active===!0);return it("div",{"data-ui":"tabbed-view",children:[e.context!==void 0&&e.context!==""?pe("div",{"data-ui":"tabbed-view-context",children:e.context}):"",pe(It,{id:a,label:e.label,items:e.items,extension:e.extension,panelId:t}),pe(At,{id:t,labelledBy:n?Dt(a,n.id):void 0,body:e.body})]})};import{jsx as _i,jsxs as Wi}from"/_ket/view/jsx-runtime.js";var $t=["progress","progress-label","progress-value","progress-track","progress-bar"];import{each as Qi}from"/_ket/view/index.js";import{Fragment as ar,jsx as er,jsxs as tr}from"/_ket/view/jsx-runtime.js";var Kt=["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 rr,jsxs as or}from"/_ket/view/jsx-runtime.js";var Bt=["popover","popover-trigger","popover-panel","popover-close"];import{jsx as dr,jsxs as cr}from"/_ket/view/jsx-runtime.js";var qt=["tooltip","tooltip-trigger","tooltip-content"];import{jsx as br}from"/_ket/view/jsx-runtime.js";var Nt=["dialog","confirm-dialog-message"];import{each as yr}from"/_ket/view/index.js";import{jsx as xr,jsxs as kr}from"/_ket/view/jsx-runtime.js";var Jt=["toast-region","toast","toast-copy","toast-title","toast-message","toast-actions"];import{jsx as wr}from"/_ket/view/jsx-runtime.js";var Xt=["spinner","visually-hidden"];import{each as Lr}from"/_ket/view/index.js";import{jsx as Mr}from"/_ket/view/jsx-runtime.js";var zt=["skeleton","skeleton-line"];import{each as Hr,effect as Or,signal as Dr}from"/_ket/view/index.js";import{jsx as $r,jsxs as Ar}from"/_ket/view/jsx-runtime.js";var Vt=["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 qr,signal as Nr}from"/_ket/view/index.js";import{jsx as Xr,jsxs as zr}from"/_ket/view/jsx-runtime.js";var Gt=["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 _r,signal as Wr}from"/_ket/view/index.js";import{Fragment as jr,jsx as Qr,jsxs as Yr}from"/_ket/view/jsx-runtime.js";var Ut=["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 ro,effect as oo,signal as lo}from"/_ket/view/index.js";import{jsx as ao}from"/_ket/view/jsx-runtime.js";var _t=["formatted-date","formatted-number","formatted-money"];import{Fragment as go,jsx as fo,jsxs as bo}from"/_ket/view/jsx-runtime.js";var Yt=["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 Eo=["a[href]","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])","summary",'[tabindex]:not([tabindex="-1"])'].join(",");var Pn=['[data-ui="timeframe-menu"]','[data-ui="view-settings"]'],Fo=Pn.map(e=>`${e}[open]`).join(", ");import{jsx as Do,jsxs as Io}from"/_ket/view/jsx-runtime.js";import{jsx as qo,jsxs as No}from"/_ket/view/jsx-runtime.js";var Qt=["switch-control","switch-track"];import{each as zo}from"/_ket/view/index.js";import{Fragment as Wo,jsx as Uo,jsxs as _o}from"/_ket/view/jsx-runtime.js";var jt=["combobox","combobox-input-row","combobox-toggle","combobox-listbox","combobox-option","combobox-empty","tag-picker"];import{Fragment as rl,jsx as nl,jsxs as il}from"/_ket/view/jsx-runtime.js";var ea=["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 dl,jsxs as cl}from"/_ket/view/jsx-runtime.js";var ta=["file-upload","drop-zone","upload-status"];import{jsx as fl}from"/_ket/view/jsx-runtime.js";var aa=["relation-picker"];import{each as hl}from"/_ket/view/index.js";import{jsx as kl,jsxs as Sl}from"/_ket/view/jsx-runtime.js";var na=["search-bar","filter-bar","applied-filters","applied-filter","saved-views","saved-view","view-settings","view-settings-options"];import{jsx as Cl,jsxs as Ll}from"/_ket/view/jsx-runtime.js";var ia=["inline-edit","inline-edit-value","inline-edit-form","inline-edit-actions"];import{each as ql}from"/_ket/view/index.js";import{each as Hl}from"/_ket/view/index.js";import{Fragment as $l,jsx as Il,jsxs as Al}from"/_ket/view/jsx-runtime.js";var ra=["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 zl,jsxs as Vl}from"/_ket/view/jsx-runtime.js";var oa=["resource-list","resource-list-item","resource-list-select","resource-list-link"];import{each as _l}from"/_ket/view/index.js";import{jsx as Zl,jsxs as Yl}from"/_ket/view/jsx-runtime.js";var la=["data-grid-scroll","data-grid","data-grid-cap","data-grid-cell"];import{each as es}from"/_ket/view/index.js";import{jsx as as,jsxs as ns}from"/_ket/view/jsx-runtime.js";var sa=["tree","tree-item","tree-link","tree-grid","tree-grid-row"];import{each as os}from"/_ket/view/index.js";import{jsx as ss,jsxs as ds}from"/_ket/view/jsx-runtime.js";var da=["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 ms}from"/_ket/view/index.js";import{jsx as fs,jsxs as bs}from"/_ket/view/jsx-runtime.js";var ca=["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 ys}from"/_ket/view/index.js";import{jsx as xs,jsxs as ks}from"/_ket/view/jsx-runtime.js";var ua=["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 On}from"/_ket/view/index.js";import{jsx as Ne,jsxs as Dn}from"/_ket/view/jsx-runtime.js";var ma=["description-list","key-value","key-value-label","key-value-value","person","person-body","avatar-group","status"],ga=e=>Dn("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:On(e.items,a=>a.id,a=>Ne(ga,{...a}))});import{each as Ps}from"/_ket/view/index.js";import{jsx as Os,jsxs as Ds}from"/_ket/view/jsx-runtime.js";var ba=["record-summary","record-summary-main","record-actions","record-rail"];import{each as $s}from"/_ket/view/index.js";import{jsx as Ns,jsxs as Js}from"/_ket/view/jsx-runtime.js";var pa=["activity-timeline","activity-item","activity-marker","audit-log","audit-item"];import{each as Vs}from"/_ket/view/index.js";import{jsx as _s,jsxs as Ws}from"/_ket/view/jsx-runtime.js";var ha=["attachments","attachment","media-gallery","media-item"];import{each as Qs}from"/_ket/view/index.js";import{Fragment as ad,jsx as ed,jsxs as td}from"/_ket/view/jsx-runtime.js";var ya=["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 he}from"/_ket/view/index.js";import{Fragment as wa,jsx as v,jsxs as Y}from"/_ket/view/jsx-runtime.js";var va=["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"],An=e=>e.shownColumns??e.columns.filter(a=>a.hidden!==!0).map(a=>a.key),$n=e=>{let a=new Set(An(e));return e.columns.filter(t=>a.has(t.key))},xa=(e,a)=>a.length+(e.selection?1:0),Kn=(e,a)=>e.sort?.direction?e.sort.direction==="ascending"?a?.sortedAscending??"Sorted ascending":a?.sortedDescending??"Sorted descending":null,Bn=(e,a)=>v("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?Y("a",{"data-ui":"sort-link",href:e.sort.href,"aria-label":e.sort.label??e.label,children:[v("span",{children:e.label}),!!e.sort.direction&&v("span",{"data-ui":"sort-icon","aria-hidden":"true",title:Kn(e,a)??void 0,children:e.sort.direction==="ascending"?"\u2191":"\u2193"})]}):e.label}),qn=e=>e.selection?v("th",{"data-ui":"select-col",scope:"col",children:v("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,a)=>e.selected?.(a)===!0?!0:e.selection?.selectedIds?.includes(e.id(a))===!0,Nn=(e,a,t)=>Y(wa,{children:[e.selection&&v("td",{"data-ui":"select-cell",children:v("input",{"data-ui":"row-select",type:"checkbox",name:e.selection.name??"ids",form:e.selection.form,value:e.id(t),checked:ka(e,t),"aria-label":e.labels?.selectRow?.(t,e.id(t))??`Select row ${e.id(t)}`,disabled:e.selection.disabled===!0})}),he(a,n=>n.key,n=>v("td",{"data-ui":"cell","data-col":n.key,"data-linked":e.rowHref&&n===a[0]?"true":null,"data-align":n.align??"start","data-kind":n.kind??"text","data-priority":n.priority??"secondary","data-label":e.responsive==="stack"?n.label:null,children:e.rowHref&&n===a[0]?v("a",{"data-ui":"row-link",href:e.rowHref(t),children:n.cell(t)}):n.cell(t)}))]}),Sa=(e,a,t)=>v("tr",{"data-ui":"row","data-row":e.id(t),"data-selected":ka(e,t)?"true":null,children:Nn(e,a,t)}),Jn=(e,a,t)=>t?v("tr",{"data-ui":"group-pager",children:Y("td",{colSpan:String(xa(e,a)),children:[v("span",{children:t.label}),Y("span",{"data-ui":"group-pager-actions",children:[t.previousHref&&v("a",{href:t.previousHref,"aria-label":e.labels?.previousPage??"Previous page",children:"\u2039"}),t.nextHref&&v("a",{href:t.nextHref,"aria-label":e.labels?.nextPage??"Next page",children:"\u203A"})]})]})}):null,Ta=(e,a,t,n)=>Y(wa,{children:[v("tr",{"data-ui":"group-row","data-group":t.id,"data-depth":String(n),children:Y("th",{"data-ui":"group-cell",colSpan:String(xa(e,a)),scope:"rowgroup",children:[v("span",{"data-ui":"group-indent",style:`--kv-group-depth: ${n}`,"aria-hidden":"true"}),t.href?v("a",{"data-ui":"group-link",href:t.href,children:t.label}):v("span",{"data-ui":"group-link",children:t.label}),t.count!==void 0&&v("span",{"data-ui":"group-count",children:String(t.count)})]})}),he(t.rows??[],e.id,c=>Sa(e,a,c)),he(t.children??[],c=>c.id,c=>Ta(e,a,c,n+1)),Jn(e,a,t.pager)]}),Xe=e=>{let a=$n(e),t=e.groups??[],c=e.rows.length>0||t.length>0?v("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:Y("table",{"data-ui":"table","aria-label":e.caption?null:e.title??null,children:[!!e.caption&&v("caption",{"data-ui":"table-caption",children:e.caption}),v("thead",{children:Y("tr",{children:[qn(e),he(a,m=>m.key,m=>Bn(m,e.labels))]})}),v("tbody",{children:t.length>0?he(t,m=>m.id,m=>Ta(e,a,m,0)):he(e.rows,e.id,m=>Sa(e,a,m))})]})}):v(ne,{title:e.emptyTitle??"No records",message:e.emptyMessage??"There is nothing to show yet.",actions:e.emptyActions});return e.title?v(et,{title:e.title,actions:e.actions,padding:"none",body:c}):c};import{Fragment as yd,jsx as hd,jsxs as vd}from"/_ket/view/jsx-runtime.js";var Ra=["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 Td,jsxs as wd}from"/_ket/view/jsx-runtime.js";var Ca=["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 La=["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 Od,jsxs as Dd}from"/_ket/view/jsx-runtime.js";var Pa=["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 Ma=["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 Xd}from"/_ket/view/index.js";import{jsx as Vd,jsxs as Gd}from"/_ket/view/jsx-runtime.js";var Ea=["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 tc,jsxs as ac}from"/_ket/view/jsx-runtime.js";var Fa=["record-form","form-errors","form-grid","form-actions"];import{each as cc}from"/_ket/view/index.js";import{jsx as fc,jsxs as bc}from"/_ket/view/jsx-runtime.js";var Ha=["reorder-list","reorder-list-value","reorder-list-rows","reorder-list-row","reorder-list-content","reorder-list-controls"];var Oa={actions:kt,feedback:wt,fields:Et,status:Tt,navigation:Ht,progress:$t,menu:Kt,reorderList:Ha,popover:Bt,tooltip:qt,dialog:Nt,toast:Jt,spinner:Xt,skeleton:zt,lightbox:Gt,relationSelect:Vt,searchFilter:Ut,ketTable:Yt,scalarFields:Qt,combobox:jt,dateTime:ea,upload:ta,relationPicker:aa,listControls:na,inlineEdit:ia,resourceList:oa,dataGrid:la,tree:sa,matrix:da,barChart:ca,timeframe:ua,recordDisplay:ma,formattedValues:_t,recordComposition:ba,activity:pa,media:ha,layouts:Mt,shell:Lt,appNavigation:ya,table:va,listChrome:ra,listPage:Ra,formPage:La,recordPage:Ca,dashboardPage:Pa,boardPage:Ma,modal:Rt,pipeline:Ea,form:Fa},zn=[...new Set(Object.values(Oa).flat())].sort(),Vn=Object.freeze(Object.fromEntries(Object.entries(Oa).map(([e,a])=>[e,[...a]])));import{signal as F}from"/_ket/view/index.js";import{jsx as Un}from"/_ket/view/jsx-runtime.js";var ze="record";var Me="recordDialog";var Gn=/^[a-z][a-z0-9_]*(?:\.[a-zA-Z][a-zA-Z0-9_]*)+$/u,Da=e=>Gn.test(e),Ee=(e,a)=>{if(!Da(a.kind))throw new TypeError(`invalid record kind "${a.kind}"`);let t=new URL(String(e),"http://ket.local");return t.searchParams.set(ze,`${a.kind}:${a.id}`),a.tab?t.searchParams.set("tab",a.tab):t.searchParams.delete("tab"),a.dialog?t.searchParams.set(Me,a.dialog):t.searchParams.delete(Me),`${t.pathname}${t.search}`};var Ia=e=>{let a=new URL(String(e),"http://ket.local");return a.searchParams.delete(ze),a.searchParams.delete("tab"),a.searchParams.delete(Me),`${a.pathname}${a.search}`},ye=e=>{let a=new URL(String(e),"http://ket.local"),t=a.searchParams.get(ze)??"",n=t.indexOf(":");if(n<=0||n===t.length-1)return null;let c=t.slice(0,n);return Da(c)?{kind:c,id:t.slice(n+1),tab:a.searchParams.get("tab"),...a.searchParams.get(Me)?{dialog:a.searchParams.get(Me)}:{}}:null},st=e=>Un("span",{"data-ui":"record-modal-host","data-record-kind":e,hidden:!0});import{jsx as le,jsxs as Aa}from"/_ket/view/jsx-runtime.js";var Ve=e=>Aa("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?le("input",{type:"hidden",name:ve,value:e.command,autocomplete:"off"}):"",Object.entries(e.hidden??{}).map(([a,t])=>le("input",{type:"hidden",name:a,value:t,autocomplete:"off"})),e.fields.length?le("div",{"data-ui":"form-grid",children:e.fields.map(a=>oe(a))}):null,e.body,e.actions?.length?le("div",{"data-ui":"form-actions",children:ae({actions:e.actions})}):""]});var Ge=e=>le("span",{"data-record-dialog":e.dialog,"data-record-param-id":e.id??null,children:e.children});var dt=e=>Aa("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(([a,t])=>le("input",{type:"hidden",name:a,value:t,autocomplete:"off"})),e.children]});import{Fragment as Fe,jsx as wf,jsxs as He}from"/_ket/view/jsx-runtime.js";var Ka=e=>{let a=e??{};return(Array.isArray(a.errors)?a.errors:Array.isArray(a.issues)?a.issues:[]).map(n=>{let c=n??{},m=Array.isArray(c.path)?c.path.join("."):null;return{field:typeof c.field=="string"?c.field:m,code:String(c.code??"invalid"),message:typeof c.message=="string"?c.message:null,params:c.params&&typeof c.params=="object"?c.params:{}}})},Ga=async(e,a,t={})=>{let n=new URL(e,"https://record.invalid");if(n.origin!=="https://record.invalid"||!e.startsWith("/")||e.startsWith("//"))throw new Error("Record commands require a same-origin route");let c=await fetch(n.pathname+n.search,{method:"POST",credentials:"same-origin",headers:{"content-type":"application/json",...t.idempotencyKey?{"idempotency-key":t.idempotencyKey}:{}},body:JSON.stringify(a),signal:t.signal}),m=await c.json().catch(()=>({}));if(!c.ok||m.ok===!1)return{ok:!1,issues:Ka(m.error??m),message:c.status>=500?null:m.error?.message??m.message??null,status:c.status};let R=m.value;return R&&typeof R=="object"&&R.ok===!1?{ok:!1,issues:Ka(R),message:null,status:c.status}:{ok:!0,value:m.value}},Ba=(e,a,t={})=>Ga(`/_ket/fn/${encodeURIComponent(e)}`,a,t),_n=async(e,a)=>{let t=new URL(e,location.href);if(t.origin!==location.origin)throw new Error("Record context must stay same-origin");let n=await fetch(t.href,{credentials:"same-origin",signal:a,headers:{accept:"application/json"}});return n.ok?{ok:!0,value:await n.json()}:{ok:!1,issues:[],message:null,status:n.status}},Wn=30,Zn=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."}),_e=(e,a)=>a.messages?.[e]??a.previous?.[e]??a.labels?.[e]??Zn[e]??(/^E_[A-Z_]+$/u.test(e)?_e("recordModal.saveFailed",a):e),Yn=(e,a)=>{let t=_e(e,a);return t===e?_e("recordModal.saveFailed",a):t},ve="__command",qa="data-record-dialog",Na=(e,a={})=>e.replace(/\{([a-zA-Z0-9_]+)\}/gu,(t,n)=>n in a?String(a[n]??""):t),Ua=["a[href]","button:not(:disabled)",'input:not(:disabled):not([type="hidden"])',"select:not(:disabled)","textarea:not(:disabled)",'[tabindex]:not([tabindex="-1"])'].join(", "),Ja=e=>[...e.querySelectorAll(Ua)].filter(a=>!a.hidden&&a.getAttribute("aria-hidden")!=="true"&&!a.matches('[data-ui="modal-backdrop"]'));var Qn=e=>{let a=[],t=e;for(;t&&t!==document.body;){let n=t.parentElement;if(!n)break;for(let c of n.children)c instanceof HTMLElement&&c!==t&&!c.matches("script, style, template")&&(a.push({element:c,inert:c.inert}),c.inert=!0);t=n}return()=>{for(let{element:n,inert:c}of a)n.inert=c}},Xa=()=>typeof crypto<"u"&&"randomUUID"in crypto?crypto.randomUUID():`${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`,jn=e=>Object.entries(e.values).some(([a,t])=>t!==e.initialValues[a])||Object.entries(e.checks).some(([a,t])=>t!==e.initialChecks[a]),za=(e,a)=>{let t=n=>Object.fromEntries(Object.entries(n).filter(([c])=>!a.includes(c)));return{values:t(e.values),checks:t(e.checks),initialValues:t(e.initialValues),initialChecks:t(e.initialChecks)}},H=()=>({values:{},checks:{},initialValues:{},initialChecks:{}}),Va=(e,a)=>`${e}\0${a}`,Ue="__all:",ct=e=>e.after??"close",ei=400,ti=(e,a=ei)=>{let t,n=()=>{clearTimeout(t),t=void 0};return{set:c=>{if(n(),!c){e(!1);return}t=setTimeout(()=>e(!0),a)},stop:n}},ai='a, button, input, select, textarea, label, summary, details, [data-ui="select-cell"]',ni=e=>{let a=e?.closest("a[href]");return a?a.target&&a.target!=="_self"?null:a.href:e?.closest(ai)?null:e?.closest("[data-row-href]")?.getAttribute("data-row-href")??null},se=e=>()=>{let a=F(null),t=F("idle"),n=F(null),c=F(null),m=F([]),R=F(H()),M=F(H()),ut=F(!1),mt=F(!1),gt=ti(o=>mt.set(o)),de=F(!1),ft=o=>{ut.set(o),gt.set(o),o&&de.set(!1)},w=F(null),ke=F(0),Se=F({}),I=F({}),N=F(null),K=new Map,tn=(o,d)=>{for(K.delete(o),K.set(o,d);K.size>Wn;)K.delete(K.keys().next().value)},E=null,Oe=null,De=!1,We=null,B=null,ce=null,Te=null,an=()=>typeof e.labels=="function"?e.labels():e.labels??{},bt=()=>({messages:n()?.messages,previous:Te,labels:an()}),J=(o,d)=>Na(_e(o,bt()),d),pt=o=>o.message??Na(Yn(o.code,bt()),o.params),ht=o=>[...e.tabs??[],...e.extensionTabs?.(o)??[]].filter(d=>d.visible?.(o)??!0),Ie=(o,d,u="record")=>{let s=()=>u==="dialog"?M():R(),l={kind:e.kind,id:o.id,creating:o.id==="new",tab:o.tab,data:d,t:J,fieldError:f=>{let i=m().find(r=>r.field===f);return i?pt(i):null},draft:(f,i="")=>{let r=s();return r.initialValues[f]??=i,r.values[f]??i},recordDraft:(f,i="")=>R().values[f]??i,draftChecked:(f,i="1",r=!1)=>{let g=s(),p=Va(f,i);return g.initialChecks[p]??=r,g.checks[p]??r},outcome:f=>{let i=N();return i?.command===f?i.value:null},busy:mt(),dialog:w(),href:f=>Ee(location.href,{kind:e.kind,id:o.id,tab:f}),state:(f,i="")=>(u==="dialog"?I()[f]:void 0)??Se()[f]??i},y=ht(l);return y.length&&!y.some(f=>f.id===o.tab)&&(l.tab=y[0].id),l},we=null,Q=async(o,d=!1)=>{Oe?.abort();let u=new AbortController;Oe=u;let s=e.cache===!1?void 0:K.get(o);s&&(Te=s.messages??Te,n.set(s),t.set("ready"),d=!0),d||t.set("loading"),c.set(null);try{let l=o==="new",y="route"in e.context?await _n(e.context.route(o,l),u.signal):await Ba(e.context.fn,e.context.input?e.context.input(o,l):l?{}:{id:o},{signal:u.signal});if(u.signal.aborted)return;if(!y.ok||!y.value){c.set(y.ok?"recordModal.notFound":y.message??"recordModal.loadFailed"),t.set("error");return}Te=y.value.messages??Te,e.cache!==!1&&tn(o,y.value),n.set(y.value),t.set("ready"),we&&e.dialogs?.[we]&&(w.set({name:we,params:{}}),fe()),we=null}catch(l){if(u.signal.aborted||l?.name==="AbortError")return;c.set("recordModal.loadFailed"),t.set("error")}},Ae=()=>E?[...E.querySelectorAll('[data-ui="modal-layer"][data-client-modal="true"]')]:[],ue=()=>Ae()[0]??null,Ze=()=>Ae().at(-1)??null,me=0,ge=()=>{if(e.fixedHeight||t()!=="ready")return;let o=ue()?.querySelector('[data-ui="modal-sheet"][data-height="fixed"]');if(!o)return;if(window.matchMedia("(max-width: 47.9375rem)").matches){o.style.setProperty("height","100dvh","important"),o.style.removeProperty("min-height");return}let d=o.querySelector('[data-ui="tabbed-view"]');if(!d)return;let u=d.querySelector('[data-ui="tab-panel"]'),s=u?.scrollTop??0;o.style.setProperty("height","auto","important"),o.style.setProperty("min-height","0"),d.style.setProperty("height","auto"),me=Math.max(me,Math.ceil(o.getBoundingClientRect().height)),d.style.removeProperty("height");let l=getComputedStyle(o).maxHeight;o.style.setProperty("min-height",l==="none"?`${me}px`:`min(${me}px, ${l})`),u&&(u.scrollTop=s)},j=(o,d)=>{if(!o)return;let u=d==="dialog"?M():R(),s={values:{...u.values},checks:{...u.checks},initialValues:{...u.initialValues},initialChecks:{...u.initialChecks}};for(let l of o.querySelectorAll("input[name], select[name], textarea[name]"))if(!(l.disabled||l.name===ve)){if(l instanceof HTMLInputElement){if(l.type==="file"||l.type==="hidden")continue;if(l.type==="checkbox"||l.type==="radio"){let y=Va(l.name,l.value);s.initialChecks[y]??=l.defaultChecked,s.checks[y]=l.checked,l.type==="checkbox"?s.values[l.name]=l.checked?l.value:"":l.checked&&(s.values[l.name]=l.value),s.initialValues[l.name]=s.values[l.name]??"";continue}}s.initialValues[l.name]??=l instanceof HTMLSelectElement?[...l.options].find(y=>y.defaultSelected)?.value??l.options[0]?.value??"":l.defaultValue,s.values[l.name]=l.value}d==="dialog"?M.set(s):R.set(s)},$e=()=>{let o=Ae();j(o[0]??null,"record"),o.length>1&&j(o.at(-1)??null,"dialog")},yt=o=>{if(!o)return!0;let d=w()&&o===Ze()?"dialog":"record";j(o,d);let u=d==="dialog"?M():R(),s=[...o.querySelectorAll('input[type="file"]')].some(l=>!l.disabled&&!!l.files?.length);return!jn(u)&&!s?!0:globalThis.confirm(J("recordModal.unsaved"))},fe=o=>{requestAnimationFrame(()=>{let d=Ae(),u=d[0],s=d.at(-1);if(!s)return;u&&(u.inert=d.length>1);let l=o?.();if(l?.isConnected&&s.contains(l)){l.focus();return}if(s.contains(document.activeElement))return;let y=s.querySelector('[data-ui="modal-sheet"]');(Ja(s).find(i=>!i.matches('[data-ui="modal-close"]'))??y)?.focus()})},U=(o,d,u,s,l)=>{let y=a(),f=y?.id===o,i=d??(f?y.tab:"");f||(me=0,we=l??null,We=document.activeElement instanceof HTMLElement?document.activeElement:null,m.set([]),de.set(!1),R.set(H()),M.set(H()),I.set({}),Se.set({}),N.set(null),w.set(null),B=null,n.set(null),Q(o)),f&&l&&e.dialogs?.[l]&&($e(),M.set(H()),I.set({}),w.set({name:l,params:{}})),a.set({id:o,tab:i});let r=Ee(location.href,{kind:e.kind,id:o,tab:i||null,dialog:l});u==="push"?(history.replaceState({...history.state??{},__ketScroll:[window.scrollX,window.scrollY]},"",location.href),history.pushState({...history.state??{},__ketRecordModal:e.kind},"",r),De=!0):u==="replace"&&history.replaceState(history.state??{},"",r),E&&!ce&&(ce=Qn(E)),fe(s)},Re=o=>{Oe?.abort(),a.set(null),me=0,w.set(null),m.set([]),de.set(!1),R.set(H()),M.set(H()),I.set({}),Se.set({}),N.set(null),t.set("idle"),n.set(null),ce?.(),ce=null,o==="history"&&De?(De=!1,history.back()):o!=="none"&&(De=!1,history.replaceState(history.state??{},"",Ia(location.href)));let d=We;We=null,B=null,d?.isConnected&&requestAnimationFrame(()=>d.focus())},vt=()=>{if(w()){if(!yt(Ze()))return;let o=B;B=null,w.set(null);let d=a();d&&history.replaceState(history.state??{},"",Ee(location.href,{kind:e.kind,id:d.id,tab:d.tab})),M.set(H()),I.set({}),m.set([]),N.set(null),fe(()=>o?.isConnected?o:null);return}yt(ue())&&Re("history")},nn=async(o,d,u)=>{let s=e.commands?.[o],l=a(),y=n()?.data;if(!s||!l||y===void 0||ut())return;let f=new FormData(d,u instanceof HTMLButtonElement?u:null),i=d.closest('[data-ui="modal-layer"][data-client-modal="true"]'),r=w()&&i===Ze()?"dialog":"record";j(i,r);let g=Ie(l,y,r);if(s.confirm){let p=s.confirm(g);if(p&&!globalThis.confirm(p))return}ft(!0),m.set([]);try{let p={};for(let[b,$]of Object.entries(s.upload??{})){let O=f.get(b);if(!(O instanceof File)||O.size===0)continue;let z=new FormData;for(let[Ye,ln]of Object.entries($(f,g)))z.append(Ye,ln);z.append("file",O,O.name);let V=await fetch("/files",{method:"POST",credentials:"same-origin",body:z}),D=await V.json().catch(()=>null);if(!V.ok||!D?.id){m.set([{field:null,code:"recordModal.uploadFailed",message:typeof D?.message=="string"?D.message:null,params:{}}]);return}p[b]={id:String(D.id),name:typeof D.name=="string"?D.name:null}}let k=(b,$)=>Ba(b,$,{idempotencyKey:Xa()}),h=s.route?await Ga(s.route,s.input(f,g,p),{idempotencyKey:Xa()}):await k(s.fn,s.input(f,g,p));for(let b of h.ok?s.also??[]:[])if(!(b.when&&!b.when(g))&&(h=await k(b.fn,b.input(f,g,p)),!h.ok))break;if(!h.ok){N.set(null),m.set(h.issues.length?h.issues.map(b=>({...b,field:b.field&&s.issueField?s.issueField(b.field,f,g):b.field})):[{field:null,code:h.message??"recordModal.saveFailed",message:h.message,params:{}}]);return}if(s.preview){N.set({command:o,value:h.value}),ke.set(ke()+1);return}r==="dialog"?(M.set(H()),I.set({})):R.set(H()),s.clearRecordDrafts?.length&&R.set(za(R(),s.clearRecordDrafts)),N.set(ct(s)==="stay"?{command:o,value:h.value}:null),d.reset();let X=h.value,_=ct(s)==="open"?s.created?.(h.value)??(X&&typeof X=="object"&&X.id!=null?String(X.id):null):null;K.delete(l.id),_&&K.delete(_);let ee=()=>{document.dispatchEvent(new CustomEvent("ket:records-changed",{detail:{kind:e.kind,ids:[_??l.id]}}))};if(s.navigate){let b=new URL(s.navigate(h.value,g),location.href);if(b.origin!==location.origin)throw new Error("Record navigation must stay same-origin");Re("none"),location.assign(b.href);return}let A=ct(s);if(A!=="close"&&de.set(!0),A==="open"){w.set(null),M.set(H()),I.set({}),_?U(_,s.openTab??null,"replace"):Re("history"),ee();return}if(ee(),A==="close")Re("history");else if(A==="reload"){let b=B;B=null,w.set(null),M.set(H()),I.set({}),history.replaceState(history.state??{},"",Ee(location.href,{kind:e.kind,id:l.id,tab:l.tab})),await Q(l.id),fe(()=>b?.isConnected?b:null)}else if(A==="refresh")await Q(l.id,!0);else if(A==="stay")ke.set(ke()+1);else if("tab"in A)B=null,w.set(null),M.set(H()),I.set({}),U(l.id,A.tab,"replace"),await Q(l.id);else{let b=A.dialog?null:B;B=A.dialog&&u instanceof HTMLElement?u:null,w.set(A.dialog?{name:A.dialog,params:{}}:null),M.set(H()),I.set({}),await Q(l.id,!0),fe(()=>b?.isConnected?b:null)}}catch{m.set([{field:null,code:"recordModal.saveFailed",message:null,params:{}}])}finally{ft(!1)}},xt=o=>{let d=m().filter(l=>!l.field),u=m().filter(l=>l.field&&!E?.querySelector(`[name="${CSS.escape(l.field)}"]`)),s=[...d,...u];return s.length?Z({title:o.t("recordModal.errorTitle"),message:s.map(pt).join(" \xB7 "),tone:"danger"}):de()?Z({title:o.t("recordModal.savedTitle"),message:o.t("recordModal.saved"),tone:"positive"}):""},rn=()=>{let o=a();if(!o)return"";if(t()==="error")return He(Fe,{children:[Z({title:J("recordModal.errorTitle"),message:J(c()??"recordModal.loadFailed"),tone:"danger"}),C({label:J("recordModal.retry"),variant:"secondary",name:"intent",value:"retry"})]});let d=n()?.data;if(t()!=="ready"||d===void 0)return be({label:J("recordModal.loading")});let u=Ie(o,d),s=ht(u),l=s.find(r=>r.id===u.tab),y=e.header?.(u)??"",f=xt(u),i=l?l.view(u):e.body?.(u)??"";return s.length?nt({id:`record-view-${e.kind.replaceAll(".","-")}`,label:e.title(u),items:s.map(r=>({id:r.id,label:r.label(u),href:u.href(r.id),active:r.id===u.tab})),context:y!==""||f!==""?He(Fe,{children:[y,f]}):void 0,body:i}):He(Fe,{children:[y,f,i]})},on=()=>{let o=a(),d=w(),u=n()?.data;if(!o||!d||u===void 0)return"";let s=e.dialogs?.[d.name];if(!s)return"";let l=Ie(o,u,"dialog");return ie({id:`record-dialog-${e.kind.replaceAll(".","-")}-${d.name}`,mode:"client",presentation:"dialog",size:s.size??"default",title:s.title(l),description:s.description?.(l),actions:s.actions?.(l),closeLabel:J("recordModal.close"),body:He(Fe,{children:[xt(l),s.view(l)]})})};return{view:()=>{ke();let o=a();if(!o)return st(e.kind);let d=n()?.data,u=d===void 0?null:Ie(o,d);return He(Fe,{children:[st(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:u?e.title(u):J("recordModal.loading"),description:u?e.description?.(u)??null:null,status:u?e.status?.(u):void 0,actions:u?e.actions?.(u):void 0,closeLabel:J("recordModal.close"),body:rn()}),on()]})},mount:({root:o,lifetime:d})=>{E=o,document.addEventListener("click",i=>{if(i.defaultPrevented||i.button!==0||i.metaKey||i.ctrlKey||i.shiftKey||i.altKey)return;let r=i.target instanceof Element?i.target:null,g=r?.closest('[data-ui="modal-layer"][data-client-modal="true"]');if(g&&E?.contains(g)){if(r?.closest('[data-ui="modal-close"], [data-ui="modal-backdrop"], [data-record-close]')){i.preventDefault(),vt();return}let b=r?.closest("button[data-record-state], a[data-record-state], [data-record-state-trigger]");if(b){i.preventDefault(),$e();let O=b.getAttribute("data-record-reset-fields");if(O){let V=JSON.parse(O);if(Array.isArray(V)&&V.every(D=>typeof D=="string")){let D=w()?M:R;D.set(za(D(),V))}}let z=w()?I:Se;z.set({...z(),[b.getAttribute("data-record-state-trigger")??b.getAttribute("data-record-state")??""]:b.getAttribute("data-record-value")??""});return}let $=r?.closest(`[${qa}]`);if($){i.preventDefault(),j(ue(),"record");let O=document.activeElement;B=O instanceof HTMLElement&&$.contains(O)?O:$.querySelector(Ua),M.set(H()),I.set({});let z={};for(let[V,D]of Object.entries($.dataset))V.startsWith("recordParam")&&D!==void 0&&(z[V.slice(11).replace(/^./u,Ye=>Ye.toLowerCase())]=D);m.set([]),N.set(null),de.set(!1),w.set({name:$.getAttribute(qa)??"",params:z}),fe();return}if(r?.closest('button[name="intent"][value="retry"]')){i.preventDefault();let O=a();O&&Q(O.id);return}}let p=ni(r);if(!p)return;let k=new URL(p,location.href);if(k.origin!==location.origin||k.pathname!==location.pathname)return;let h=ye(k);if(!h||h.kind!==e.kind)return;i.preventDefault();let X=a(),_="route"in e.context?e.context.query??[]:[],ee=new URL(location.href);if(_.some(b=>ee.searchParams.get(b)!==k.searchParams.get(b))){j(ue(),"record");for(let b of _){let $=k.searchParams.get(b);$===null?ee.searchParams.delete(b):ee.searchParams.set(b,$)}history.replaceState(history.state??{},"",ee.href),X?.id===h.id&&Q(X.id)}if(X?.id===h.id){if((h.tab??"")===X.tab&&!h.dialog)return;j(ue(),"record"),m.set([]),N.set(null),U(h.id,h.tab??null,"replace",()=>ue()?.querySelector('[data-ui="tab"][data-active="true"]')??null);return}U(h.id,h.tab??null,"push",void 0,h.dialog)},{signal:d,capture:!0}),document.addEventListener("keydown",i=>{if(i.defaultPrevented||i.key!=="Enter"&&i.key!==" ")return;let r=i.target instanceof Element?i.target:null;if(!r?.matches('[data-row-href][tabindex="0"]'))return;let g=r.getAttribute("data-row-href"),p=g?new URL(g,location.href):null;if(!p||p.origin!==location.origin||p.pathname!==location.pathname)return;let k=ye(p);!k||k.kind!==e.kind||(i.preventDefault(),U(k.id,k.tab??null,"push",void 0,k.dialog))},{signal:d,capture:!0}),document.addEventListener("submit",i=>{let r=i.target instanceof HTMLFormElement?i.target:null;if(!r||!E?.contains(r))return;i.preventDefault();let g=i.submitter??null,p=(g instanceof HTMLButtonElement&&g.name===ve?g.value:null)??String(new FormData(r).get(ve)??"");nn(p,r,g)},{signal:d}),document.addEventListener("keydown",i=>{if(!a())return;let r=E?.querySelectorAll('[data-ui="modal-layer"][data-client-modal="true"]'),g=r?.[r.length-1];if(!g)return;if(i.key==="Escape"){i.preventDefault(),vt();return}if(i.key!=="Tab")return;let p=Ja(g);if(!p.length){i.preventDefault(),g.querySelector('[data-ui="modal-sheet"]')?.focus();return}let k=p[0],h=p.at(-1);i.shiftKey&&(document.activeElement===k||!g.contains(document.activeElement))?(i.preventDefault(),h.focus()):!i.shiftKey&&(document.activeElement===h||!g.contains(document.activeElement))&&(i.preventDefault(),k.focus())},{signal:d}),document.addEventListener("change",i=>{let r=i.target instanceof Element?i.target:null;if(!r||!E?.contains(r))return;if(r instanceof HTMLInputElement&&r.type==="checkbox"&&r.form){let p=r.form;if(p.querySelector(`input[type="checkbox"][name^="${Ue}"]`)){if(r.name.startsWith(Ue)){let k=r.name.slice(Ue.length);for(let h of p.querySelectorAll('input[type="checkbox"]'))!h.disabled&&!h.name.startsWith(Ue)&&h.name.startsWith(k)&&(h.checked=r.checked)}$e();return}}let g=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)&&g){$e();let p=w()?I:Se;p.set({...p(),[g]:r.value});return}r instanceof HTMLInputElement&&r.type==="file"&&(r.hasAttribute("data-record-submit")||r.form?.hasAttribute("data-record-dropzone"))&&r.files?.length&&r.form?.requestSubmit()},{signal:d});let u=i=>{let g=(i.target instanceof Element?i.target:null)?.closest("form[data-record-dropzone]")??null;return g&&E?.contains(g)?g:null};document.addEventListener("dragover",i=>{let r=u(i);r&&(i.preventDefault(),r.dataset.drag="1")},{signal:d}),document.addEventListener("dragleave",i=>{let r=u(i);if(!r)return;let g=i.relatedTarget;g instanceof Node&&r.contains(g)||delete r.dataset.drag},{signal:d}),document.addEventListener("drop",i=>{let r=u(i);if(!r)return;i.preventDefault(),delete r.dataset.drag;let g=i.dataTransfer?.files,p=r.querySelector('input[type="file"]');if(!p||!g?.length)return;let k=new DataTransfer;k.items.add(g[0]),p.files=k.files,r.requestSubmit()},{signal:d});let s="ket-island, div[data-ket-island]",l=i=>i instanceof Element&&(i.matches(s)||i.querySelector(s)!==null),y=new MutationObserver(i=>{ge();for(let r of i){for(let g of r.removedNodes)l(g)&&document.dispatchEvent(new CustomEvent("ket:islands-detach",{detail:{root:g}}));for(let g of r.addedNodes)l(g)&&g.isConnected&&document.dispatchEvent(new CustomEvent("ket:islands-attach",{detail:{root:g}}))}});y.observe(E,{childList:!0,subtree:!0,characterData:!0}),d.addEventListener("abort",()=>y.disconnect()),window.addEventListener("resize",ge,{signal:d}),E.addEventListener("load",ge,{capture:!0,signal:d}),E.addEventListener("toggle",ge,{capture:!0,signal:d}),document.fonts?.ready.then(()=>{d.aborted||ge()}),ge(),document.addEventListener("ket:records-changed",i=>{let r=i.detail;if(r?.kind===e.kind)if(!Array.isArray(r.ids)||!r.ids.length)K.clear();else for(let g of r.ids)K.delete(String(g))},{signal:d}),document.addEventListener("ket:popstate",i=>{let r=ye(location.href),g=r?.kind===e.kind;!g&&!a()||(i.preventDefault(),g&&r?U(r.id,r.tab??null,"none",void 0,r.dialog):Re("none"))},{signal:d}),document.addEventListener("ket:navigation-complete",()=>{let i=ye(location.href);i?.kind===e.kind&&!a()&&U(i.id,i.tab??null,"none",void 0,i.dialog)},{signal:d});let f=ye(location.href);f?.kind===e.kind&&U(f.id,f.tab??null,"none",void 0,f.dialog),d.addEventListener("abort",()=>{Oe?.abort(),gt.stop(),ce?.(),ce=null,E=null})}}};var _a={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."}};var Wa={warehouse:{kind:"stock.warehouse",title:"warehouse.create.title",read:"stock.listWarehouses",save:"stock.saveWarehouse",fields:[{name:"name",label:"warehouse.field.name",required:!0},{name:"code",label:"warehouse.field.code",required:!0},{name:"receptionSteps",label:"field.receptionSteps",defaultValue:"one_step",choices:["one_step","two_steps","three_steps"],choiceLabel:"receptionSteps"},{name:"deliverySteps",label:"field.deliverySteps",defaultValue:"ship_only",choices:["ship_only","pick_ship","pick_pack_ship"],choiceLabel:"deliverySteps"}]},location:{kind:"stock.location",title:"location.create.title",read:"stock.listLocations",save:"stock.saveLocation",fields:[{name:"name",label:"location.field.name",required:!0},{name:"usage",label:"field.usage",required:!0,defaultValue:"internal",choices:["internal","view","supplier","customer","inventory","production","transit"],choiceLabel:"usage"},{name:"parentId",label:"field.parentLocation",lookup:"locations"},{name:"warehouseId",label:"field.warehouse",lookup:"warehouses"}]},"picking-type":{kind:"stock.pickingType",title:"pickingType.create.title",read:"stock.listPickingTypes",save:"stock.savePickingType",fields:[{name:"name",label:"pickingType.field.name",required:!0},{name:"code",label:"pickingType.field.code",required:!0,defaultValue:"internal",choices:["incoming","outgoing","internal"],choiceLabel:"pickingType"},{name:"warehouseId",label:"field.warehouse",lookup:"warehouses"},{name:"defaultLocationSrcId",label:"field.sourceLocation",lookup:"locations"},{name:"defaultLocationDestId",label:"field.destinationLocation",lookup:"locations"},{name:"createBackorder",label:"field.backorder",defaultValue:"ask",choices:["ask","always","never"],choiceLabel:"backorder"}]},lot:{kind:"stock.lot",title:"lot.create.title",read:"stock.listLots",save:"stock.saveLot",fields:[{name:"productId",label:"lot.field.product",lookup:"products",required:!0},{name:"name",label:"field.lotSerial",required:!0},{name:"ref",label:"lot.field.reference"},{name:"note",label:"lot.field.description",type:"textarea"}]},route:{kind:"stock.route",title:"stockRoute.create.title",read:"stock.listRoutes",save:"stock.saveRoute",fields:[{name:"name",label:"stockRoute.field.name",required:!0},{name:"sequence",label:"field.sequence",type:"number",defaultValue:"10"}]},replenishment:{kind:"stock.replenishment",title:"replenishment.create.title",read:"stock.listOrderpoints",save:"stock.saveOrderpoint",fields:[{name:"productId",label:"field.product",lookup:"products",required:!0},{name:"warehouseId",label:"field.warehouse",lookup:"warehouses",required:!0},{name:"locationId",label:"field.location",lookup:"locations",required:!0},{name:"trigger",label:"field.trigger",choices:["auto","manual"],choiceLabel:"trigger",defaultValue:"manual"},{name:"minQuantity",label:"field.minQuantity",type:"decimal",defaultValue:"0",required:!0},{name:"maxQuantity",label:"field.maxQuantity",type:"decimal",defaultValue:"0",required:!0},{name:"replenishmentUomId",label:"field.replenishmentUom",lookup:"units"},{name:"routeId",label:"field.route",lookup:"routes"}]}};import{jsx as P}from"/_ket/view/jsx-runtime.js";var Za=()=>typeof document<"u"&&document.documentElement.lang==="en"?"en":"vi",S=(e,a)=>e.t(`stock_backend.${a}`),Ya=[{name:"name",label:"stockRoute.rule.col.name",required:!0},{name:"action",label:"field.ruleAction",choices:["pull","push","pull_push"],choiceLabel:"ruleAction",defaultValue:"pull",required:!0},{name:"locationSrcId",label:"field.sourceLocation",lookup:"locations"},{name:"locationDestId",label:"field.destinationLocation",lookup:"locations",required:!0},{name:"pickingTypeId",label:"field.operationType",lookup:"pickingTypes",required:!0},{name:"sequence",label:"field.sequence",type:"number",defaultValue:"20"},{name:"procureMethod",label:"field.procureMethod",choices:["make_to_stock","make_to_order","mts_else_mto"],choiceLabel:"procureMethod",defaultValue:"make_to_stock"}],Qa=(e,a,t)=>a.map(n=>({id:`${e.kind}-${e.dialog?.name??"record"}-${n.name}`,name:n.name,label:S(e,n.label),type:n.type,required:n.required,value:e.draft(n.name,String(t[n.name]??n.defaultValue??"")),error:e.fieldError(n.name),disabled:e.busy,...n.choices?{type:"select",options:n.choices.map(c=>({value:c,label:S(e,`${n.choiceLabel}.${c}`)}))}:{},...n.lookup?{type:"select",options:[{value:"",label:"\u2014"},...(e.data.choices[n.lookup]??[]).filter(c=>n.name!=="parentId"||c.id!==e.id).map(c=>({value:String(c.id),label:String(c.name)}))]}:{}})),ja=(e,a)=>Object.fromEntries(a.flatMap(t=>{let n=String(e.get(t.name)??"");return t.type==="number"?n?[[t.name,Number(n)]]:[]:n||t.required?[[t.name,n]]:t.lookup?[[t.name,null]]:t.type==="textarea"||!t.type?[[t.name,""]]:[]})),en=e=>e.data.rules.find(a=>a.id===e.dialog?.params.id),xe=e=>{let a=Wa[e];return{kind:a.kind,size:"large",labels:()=>_a[Za()],context:{route:(t,n)=>{let c=n?"new":encodeURIComponent(t);return`/admin/stock/record/${e}/${c}/context?lang=${Za()}`},query:["company","branch"]},title:t=>t.creating?S(t,a.title):String(t.data.record.name??t.data.choices.products?.find(n=>n.id===t.data.record.productId)?.name??t.id),body:t=>P(je,{items:[t.data.save?P(Ve,{kind:t.kind,command:"save",fields:Qa(t,a.fields,t.data.record),actions:[P(C,{type:"submit",label:t.t("recordModal.save"),variant:"primary",disabled:t.busy})]}):P(Je,{items:a.fields.map(n=>({id:n.name,label:S(t,n.label),value:n.choices?S(t,`${n.choiceLabel}.${t.data.record[n.name]}`):String((n.lookup?t.data.choices[n.lookup]?.find(c=>c.id===t.data.record[n.name])?.name:null)??t.data.record[n.name]??"\u2014")}))}),...e==="lot"&&!t.creating?[P(Le,{title:S(t,"lot.inventory.title"),body:P(Xe,{rows:t.data.quants??[],id:n=>String(n.id),responsive:"scroll",columns:[{key:"location",label:S(t,"lot.col.location"),cell:n=>String(t.data.choices.locations?.find(c=>c.id===n.locationId)?.name??n.locationId)},{key:"quantity",label:S(t,"lot.col.onHand"),cell:n=>String(n.quantity)},{key:"reserved",label:S(t,"lot.col.reserved"),cell:n=>String(n.reservedQuantity)},{key:"available",label:S(t,"lot.col.available"),cell:n=>String(Number(n.quantity)-Number(n.reservedQuantity))}]})})]:[],...e==="route"&&!t.creating?[P(Le,{title:S(t,"stockRoute.rule.col.name"),actions:t.data.rule?P(Ge,{dialog:"rule",children:P(C,{label:S(t,"stockRoute.rule.create.title")})}):null,body:P(Xe,{rows:t.data.rules,id:n=>String(n.id),responsive:"scroll",columns:[{key:"name",label:S(t,"stockRoute.rule.col.name"),cell:n=>String(n.name)},{key:"action",label:S(t,"field.ruleAction"),cell:n=>S(t,`ruleAction.${n.action}`)},{key:"sequence",label:S(t,"field.sequence"),cell:n=>String(n.sequence)},{key:"edit",label:S(t,"action.save"),cell:n=>t.data.rule?P(Ge,{dialog:"rule",id:String(n.id),children:P(C,{label:S(t,"modal.edit"),variant:"tertiary"})}):""}]})})]:[],...e==="replenishment"&&!t.creating&&t.data.run?[P(dt,{kind:t.kind,command:"run",children:P(C,{type:"submit",label:S(t,"action.run"),disabled:t.busy})})]:[]]}),dialogs:{rule:{title:t=>S(t,"stockRoute.rule.col.name"),view:t=>P(Ve,{kind:t.kind,command:"rule",fields:Qa(t,Ya,en(t)??{}),actions:[P(C,{type:"submit",label:t.t("recordModal.save"),variant:"primary",disabled:t.busy})]})}},commands:{save:{fn:a.save,after:"open",input:(t,n)=>({id:n.creating?n.data.draftId:n.id,...ja(t,a.fields)})},rule:{fn:"stock.saveRule",after:"reload",input:(t,n)=>({id:en(n)?.id??n.data.draftId,routeId:n.id,...ja(t,Ya)})},run:{fn:"stock.runOrderpoint",after:"reload",input:(t,n)=>({id:n.id,moveId:n.data.draftId}),confirm:t=>S(t,"modal.confirmRun")}}}},Df=se(xe("warehouse")),If=se(xe("location")),Af=se(xe("picking-type")),$f=se(xe("lot")),Kf=se(xe("route")),Bf=se(xe("replenishment"));export{If as locationModal,$f as lotModal,Af as pickingTypeModal,Bf as replenishmentModal,xe as stockConfigurationDefinition,Kf as stockRouteModal,Df as warehouseModal};
|