@ketvietlab/ketsuite 0.1.24 → 0.1.25
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/crm_backend/client/crm-configuration-modal.d.mts +6 -6
- 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 +2 -2
- package/dist/modules/product/product-modal-context.d.ts.map +1 -1
- package/dist/modules/product/product-modal-context.js +2 -0
- package/dist/modules/product/product-modal-context.js.map +1 -1
- package/dist/modules/product/product-record-tabs.d.ts +14 -0
- package/dist/modules/product/product-record-tabs.d.ts.map +1 -0
- package/dist/modules/product/product-record-tabs.js +23 -0
- package/dist/modules/product/product-record-tabs.js.map +1 -0
- package/dist/modules/product_backend/client/product-modal.d.mts +8 -7
- 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/index.d.ts.map +1 -1
- package/dist/modules/product_backend/index.js +9 -0
- package/dist/modules/product_backend/index.js.map +1 -1
- package/dist/modules/product_backend/modal/product-modal-view.d.ts +6 -0
- package/dist/modules/product_backend/modal/product-modal-view.d.ts.map +1 -1
- package/dist/modules/product_backend/modal/product-modal-view.js +8 -1
- package/dist/modules/product_backend/modal/product-modal-view.js.map +1 -1
- 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 +2 -2
- package/dist/scaffold/index.js +1 -1
- package/dist/ui/client/record-modal.d.ts +6 -0
- package/dist/ui/client/record-modal.d.ts.map +1 -1
- package/dist/ui/client/record-modal.js +4 -2
- package/dist/ui/client/record-modal.js.map +1 -1
- package/package.json +4 -4
package/dist/cli.js
CHANGED
|
@@ -5,7 +5,7 @@ import { ketsuite } from './deployment.js';
|
|
|
5
5
|
import { ensureDevelopmentAdmin } from './development.js';
|
|
6
6
|
import { seedDemoData } from './demo/seed.js';
|
|
7
7
|
import { scaffoldKetsuite } from './scaffold/index.js';
|
|
8
|
-
const VERSION = '0.1.
|
|
8
|
+
const VERSION = '0.1.25';
|
|
9
9
|
const HELP = `KetSuite ${VERSION}
|
|
10
10
|
|
|
11
11
|
Usage:
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
declare var
|
|
1
|
+
declare var ke: () => {
|
|
2
2
|
"recordModal.close": string;
|
|
3
3
|
"recordModal.loading": string;
|
|
4
4
|
"recordModal.loadFailed": string;
|
|
@@ -35,7 +35,7 @@ declare var Te: () => {
|
|
|
35
35
|
locale: string;
|
|
36
36
|
};
|
|
37
37
|
};
|
|
38
|
-
labels: typeof
|
|
38
|
+
labels: typeof ke;
|
|
39
39
|
title: (e: any) => any;
|
|
40
40
|
description: (e: any) => any;
|
|
41
41
|
status: typeof we;
|
|
@@ -117,7 +117,7 @@ declare var Te: () => {
|
|
|
117
117
|
locale: string;
|
|
118
118
|
};
|
|
119
119
|
};
|
|
120
|
-
labels: typeof
|
|
120
|
+
labels: typeof ke;
|
|
121
121
|
title: (e: any) => any;
|
|
122
122
|
status: typeof we;
|
|
123
123
|
body: typeof Wi;
|
|
@@ -168,7 +168,7 @@ declare var Te: () => {
|
|
|
168
168
|
locale: string;
|
|
169
169
|
};
|
|
170
170
|
};
|
|
171
|
-
labels: typeof
|
|
171
|
+
labels: typeof ke;
|
|
172
172
|
title: (e: any) => any;
|
|
173
173
|
status: typeof we;
|
|
174
174
|
body: typeof Qi;
|
|
@@ -222,7 +222,7 @@ declare var Te: () => {
|
|
|
222
222
|
locale: string;
|
|
223
223
|
};
|
|
224
224
|
};
|
|
225
|
-
labels: typeof
|
|
225
|
+
labels: typeof ke;
|
|
226
226
|
title: (e: any) => any;
|
|
227
227
|
status: typeof we;
|
|
228
228
|
body: typeof en;
|
|
@@ -278,7 +278,7 @@ declare var Te: () => {
|
|
|
278
278
|
locale: string;
|
|
279
279
|
};
|
|
280
280
|
};
|
|
281
|
-
labels: typeof
|
|
281
|
+
labels: typeof ke;
|
|
282
282
|
title: (e: any) => any;
|
|
283
283
|
status: typeof we;
|
|
284
284
|
body: typeof nn;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crm-configuration-modal.d.mts","sourceRoot":"","sources":["../../../../../../../packages/ketsuite/src/modules/crm_backend/client/crm-configuration-modal.mjs"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"crm-configuration-modal.d.mts","sourceRoot":"","sources":["../../../../../../../packages/ketsuite/src/modules/crm_backend/client/crm-configuration-modal.mjs"],"names":[],"mappings":"AACuz6C,QAAA,IAAqS,EAAE;;;;;;;;;;;;;;;;;;;;;;;;CAAa,EAAy6C,EAAE,iBAA6I,EAA4lC,EAAE,iBAA8lB,EAAgH,EAAE,iBAAg/B,EAAgG,EAAE,iBAAw6B,EAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAA6pB,EAAE;gBAA2B,MAAM;gBAAM,MAAM;gBAAe,QAAQ;gBAAoB,QAAQ;gBAAqB,MAAM;gBAAgB,cAAc;;;;;CAAyB,EAAC,EAAE,iBAA4sB,EAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA6W,EAAC,EAAE,iBAAgM,EAAC,EAAE;;;;;;;;;;;;;;;;;;;;gBAAyK,EAAE;gBAAM,IAAI;gBAAa,KAAK;;;;;;;;gBAA8G,EAAE;gBAAM,IAAI;gBAAa,KAAK;;;;;;;gBAAoF,EAAE;;;;;;;;;;;;;;CAA6I,EAAC,EAAE,iBAAsE,EAAC,EAAE,iBAAg4B,EAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA8c,EAAC,EAAE;IAA4P,KAAK;IAAG,SAAS;IAAG,QAAQ;CAA2B,EAAC,EAAE,iBAAozB,EAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAwW,EAAC,EAAE;;;;;;CAAO,EAAC,EAAE;;;;;;CAAO,EAAC,EAAE;;;;;;CAAO,EAAC,EAAE;;;;;;CAAO,EAAC,EAAE;;;;;;CAAO,CAAC;AAAA,OAAM,EAAC,EAAE,IAAI,wBAAwB,EAAC,EAAE,IAAI,kBAAkB,EAAC,EAAE,IAAI,UAAU,EAAC,EAAE,IAAI,sBAAsB,EAAC,EAAE,IAAI,iBAAiB,EAAC,EAAE,IAAI,aAAa,EAAC,EAAE,IAAI,WAAW,EAAC,EAAE,IAAI,YAAY,EAAC,EAAE,IAAI,gBAAgB,EAAC,EAAE,IAAI,eAAe,EAAC,EAAE,IAAI,mBAAmB,EAAC,EAAE,IAAI,aAAa,EAAC,EAAE,IAAI,eAAe,EAAC,EAAE,IAAI,SAAS,EAAC,EAAE,IAAI,aAAa,EAAC,EAAE,IAAI,OAAO,EAAC,EAAE,IAAI,cAAc,EAAC,EAAE,IAAI,YAAY,EAAC,EAAE,IAAI,eAAe,EAAC,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// @ts-nocheck Generated by tools/build-backend-client.mjs — do not edit.
|
|
2
|
-
import{each as Qa}from"/_ket/view/index.js";import{Fragment as ht,jsx as W,jsxs as ja}from"/_ket/view/jsx-runtime.js";var pt=["action","action-leading","action-label","action-spinner","action-group"],Ya=e=>ja(ht,{children:[e.loading===!0&&W("span",{"data-ui":"action-spinner","aria-hidden":"true"}),e.loading!==!0&&e.leading!==void 0&&W("span",{"data-ui":"action-leading","aria-hidden":"true",children:e.leading}),!e.iconOnly&&W("span",{"data-ui":"action-label",children:e.label})]}),D=e=>W("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,children:W(Ya,{...e})});var te=e=>W("div",{"data-ui":"action-group",role:"group","aria-label":e.label??null,children:Qa(e.actions,(t,a)=>a,t=>W(ht,{children:t}))});import{jsx as ei,jsxs as cn}from"/_ket/view/jsx-runtime.js";var yt=["badge","tag","tag-remove","count-badge","avatar","code"],me=e=>ei("span",{"data-ui":"badge","data-pattern":"badge","data-tone":e.tone??"neutral","data-value":e.value??"",children:e.label});import{each as ti}from"/_ket/view/index.js";import{Fragment as Ae,jsx as x,jsxs as q}from"/_ket/view/jsx-runtime.js";var vt=["notice","notice-mark","notice-copy","notice-title","notice-message","notice-actions","empty","empty-mark","empty-title","empty-message","empty-actions","loading","loading-label"],ai={info:()=>q(Ae,{children:[x("circle",{cx:"12",cy:"12",r:"10"}),x("path",{d:"M12 16v-4"}),x("path",{d:"M12 8h.01"})]}),positive:()=>q(Ae,{children:[x("circle",{cx:"12",cy:"12",r:"10"}),x("path",{d:"m9 12 2 2 4-4"})]}),warning:()=>q(Ae,{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:()=>q(Ae,{children:[x("circle",{cx:"12",cy:"12",r:"10"}),x("path",{d:"M12 8v4"}),x("path",{d:"M12 16h.01"})]})},X=e=>q("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:ai[e.tone??"info"]()})}),q("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})]}),ae=e=>q("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})]}),ie=e=>q("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:ti(Array.from({length:Math.max(1,e.lines??3)}),(t,a)=>a,(t,a)=>x("span",{"data-ui":"skeleton-line","data-line":String(a+1)}))})]});import{each as Ue}from"/_ket/view/index.js";import{each as di}from"/_ket/view/index.js";import{Fragment as yn,jsx as pn,jsxs as hn}from"/_ket/view/jsx-runtime.js";import{jsx as Rn,jsxs as kn}from"/_ket/view/jsx-runtime.js";var St=["app-shell","app-sidebar","app-main","app-right-rail","page","page-context","page-header","page-heading","page-eyebrow","page-title-row","page-title","page-description","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 H,jsxs as Ie}from"/_ket/view/jsx-runtime.js";var kt=["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"],Tt=e=>H(Rt,{children:di(e.items,(t,a)=>a,t=>typeof t=="string"||typeof t=="number"?H("span",{children:t}):H(Rt,{children:t}))}),Fe=e=>H("div",{"data-ui":"stack","data-pattern":"stack","data-gap":e.gap??"default",children:H(Tt,{items:e.items})}),_e=e=>H("div",{"data-ui":"inline",children:H(Tt,{items:e.items})});var Ve=e=>Ie("div",{"data-ui":"surface","data-tone":e.tone??"default","data-padding":e.padding??"default","data-has-heading":e.title?"true":null,children:[e.title&&Ie("header",{"data-ui":"surface-head",children:[e.description?Ie("div",{"data-ui":"surface-heading",children:[H("h2",{"data-ui":"surface-title",children:e.title}),H("p",{"data-ui":"surface-description",children:e.description})]}):H("h2",{"data-ui":"surface-title",children:e.title}),e.actions!==void 0&&H("div",{"data-ui":"surface-actions",children:e.actions})]}),e.body]}),ze=e=>Ie("details",{"data-ui":"disclosure",open:e.open===!0?!0:void 0,children:[H("summary",{"data-ui":"disclosure-summary",children:e.summary}),H("div",{"data-ui":"disclosure-body",children:e.body})]});import{each as si}from"/_ket/view/index.js";import{Fragment as ci,jsx as ge}from"/_ket/view/jsx-runtime.js";var Ge=(e,t)=>e.control!==void 0?ge(ci,{children:e.control}):e.type==="textarea"?ge("textarea",{"data-ui":"field-control",id:e.id,name:e.name,placeholder:e.placeholder??null,required:e.required===!0,disabled:e.disabled===!0,readonly:e.readOnly===!0,"aria-invalid":e.error?"true":null,"aria-describedby":t,children:String(e.value??"")}):e.type==="select"?ge("select",{"data-ui":"field-control",id:e.id,name:e.name,required:e.required===!0,disabled:e.disabled===!0,"aria-invalid":e.error?"true":null,"aria-describedby":t,children:si(e.options??[],a=>a.value,a=>ge("option",{value:a.value,selected:String(e.value??"")===a.value,disabled:a.disabled===!0,children:a.label}))}):ge("input",{"data-ui":"field-control",id:e.id,type:e.type==="decimal"?"number":e.type??"text",name:e.name,value:e.type==="checkbox"?"1":String(e.value??""),checked:e.type==="checkbox"&&(e.value===!0||e.value==="1"),placeholder:e.placeholder??null,required:e.required===!0,disabled:e.disabled===!0,readonly:e.readOnly===!0,min:e.min,max:e.max,"aria-invalid":e.error?"true":null,"aria-describedby":t,autocomplete:e.autocomplete??"off",step:e.type==="decimal"?e.step??"any":e.step??null});import{jsx as k,jsxs as N}from"/_ket/view/jsx-runtime.js";var wt=["field","field-label","field-required","field-control","field-options","field-option","field-option-input","field-help","field-error"],Ct=e=>!!e.error||(e.fields?.some(Ct)??!1),Z=e=>{let t=e.help?`${e.id}-help`:null,a=e.error?`${e.id}-error`:null,r=[t,a].filter(Boolean).join(" ")||null,i=N("span",{"data-ui":"field-label",children:[e.label,e.required&&k("span",{"data-ui":"field-required","aria-hidden":"true",children:" *"})]});return e.fields?N("div",{"data-ui":"field","data-kind":"group","data-span":"full","data-invalid":String(!!e.error),children:[k(ze,{summary:e.label,open:e.open||Ct(e),body:k("div",{"data-ui":"form-grid",children:Ue(e.fields.map(o=>({...o,disabled:e.disabled||o.disabled,readOnly:e.readOnly||o.readOnly})),o=>o.id,o=>k(Z,{...o}))})}),!!e.help&&k("small",{"data-ui":"field-help",id:t??void 0,children:e.help}),!!e.error&&k("small",{"data-ui":"field-error",id:a??void 0,children:e.error})]}):e.type==="checkbox-group"?N("div",{"data-ui":"field","data-kind":"checkbox-group","data-span":e.span??"half","data-invalid":String(!!e.error),children:[N("span",{"data-ui":"field-label",id:`${e.id}-label`,children:[e.label,e.required&&k("span",{"data-ui":"field-required","aria-hidden":"true",children:" *"})]}),k("div",{"data-ui":"field-options","data-orientation":e.optionsOrientation==="vertical"?"vertical":null,role:"group","aria-labelledby":`${e.id}-label`,children:Ue(e.options??[],o=>o.name??o.value,o=>N("label",{"data-ui":"field-option",children:[k("input",{"data-ui":"field-option-input",type:"checkbox",name:o.name??`${e.name}[]`,value:o.value,checked:o.checked===!0,disabled:e.disabled===!0||o.disabled===!0,"aria-invalid":e.error?"true":null,"aria-describedby":r,autocomplete:"off"}),k("span",{children:o.label})]}))}),!!e.help&&k("small",{"data-ui":"field-help",id:t??void 0,children:e.help}),!!e.error&&k("small",{"data-ui":"field-error",id:a??void 0,children:e.error})]}):e.type==="radio"?N("div",{"data-ui":"field","data-kind":"radio","data-span":e.span??"half","data-invalid":String(!!e.error),children:[N("span",{"data-ui":"field-label",id:`${e.id}-label`,children:[e.label,e.required&&k("span",{"data-ui":"field-required","aria-hidden":"true",children:" *"})]}),k("div",{"data-ui":"field-options","data-orientation":e.optionsOrientation==="vertical"?"vertical":null,role:"radiogroup","aria-labelledby":`${e.id}-label`,children:Ue(e.options??[],o=>o.value,o=>N("label",{"data-ui":"field-option",children:[k("input",{"data-ui":"field-option-input",type:"radio",name:e.name,value:o.value,checked:String(e.value??"")===o.value,required:e.required===!0,disabled:e.disabled===!0||o.disabled===!0,"aria-invalid":e.error?"true":null,"aria-describedby":r,autocomplete:"off"}),k("span",{children:o.label})]}))}),!!e.help&&k("small",{"data-ui":"field-help",id:t??void 0,children:e.help}),!!e.error&&k("small",{"data-ui":"field-error",id:a??void 0,children:e.error})]}):N("label",{"data-ui":"field","data-kind":e.type??"text","data-span":e.span??"half","data-invalid":String(!!e.error),for:e.id,children:[e.type==="checkbox"&&Ge(e,r),i,e.type!=="checkbox"&&Ge(e,r),!!e.help&&k("small",{"data-ui":"field-help",id:t??void 0,children:e.help}),!!e.error&&k("small",{"data-ui":"field-error",id:a??void 0,children:e.error})]})};import{each as ui}from"/_ket/view/index.js";import{jsx as ne,jsxs as Ze}from"/_ket/view/jsx-runtime.js";var Pt=["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 Mt=e=>Ze("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&&ne("span",{"data-ui":"tab-count",children:String(e.count)})]}),Lt=(e,t)=>`${e}-${t.replace(/[^a-zA-Z0-9_-]+/gu,"-")}-tab`,Dt=e=>Ze("nav",{"data-ui":"tabs","data-pattern":"tabs","aria-label":e.label,children:[ui(e.items,t=>t.id,t=>ne(Mt,{...t,elementId:e.id?Lt(e.id,t.id):void 0,controls:e.panelId})),e.extension]}),Ht=e=>ne("section",{"data-ui":"tab-panel",id:e.id,"aria-labelledby":e.labelledBy,tabindex:"-1",children:e.body}),We=e=>{let t=`${e.id}-tabs`,a=`${e.id}-panel`,r=e.items.find(i=>i.active===!0);return Ze("div",{"data-ui":"tabbed-view",children:[e.context!==void 0&&e.context!==""?ne("div",{"data-ui":"tabbed-view-context",children:e.context}):"",ne(Dt,{id:t,label:e.label,items:e.items,extension:e.extension,panelId:a}),ne(Ht,{id:a,labelledBy:r?Lt(t,r.id):void 0,body:e.body})]})};import{jsx as Vn,jsxs as zn}from"/_ket/view/jsx-runtime.js";var Ot=["progress","progress-label","progress-value","progress-track","progress-bar"];import{each as Wn}from"/_ket/view/index.js";import{Fragment as jn,jsx as Qn,jsxs as Yn}from"/_ket/view/jsx-runtime.js";var Et=["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 ar,jsxs as ir}from"/_ket/view/jsx-runtime.js";var At=["popover","popover-trigger","popover-panel","popover-close"];import{jsx as or,jsxs as lr}from"/_ket/view/jsx-runtime.js";var It=["tooltip","tooltip-trigger","tooltip-content"];import{jsx as B,jsxs as fe}from"/_ket/view/jsx-runtime.js";var Ft=["modal-layer","modal-backdrop","modal-sheet","modal-head","modal-heading","modal-title-row","modal-title","modal-description","modal-close","modal-body","modal-actions"],be=e=>{let t=e.mode==="client",a=e.mode==="embedded";return fe("div",{"data-ui":"modal-layer","data-mode":e.mode??"overlay","data-route-modal":a||t?null:"true","data-client-modal":t?"true":null,"data-presentation":e.presentation??"sheet","data-unsaved-prompt":e.unsavedPrompt??null,children:[t?B("button",{"data-ui":"modal-backdrop",type:"button","aria-label":e.closeLabel,tabindex:"-1",children:B("span",{children:e.closeLabel})}):B("a",{"data-ui":"modal-backdrop",href:e.closeHref??"#","aria-label":e.closeLabel,children:B("span",{children:e.closeLabel})}),fe("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`:"",role:"dialog","aria-modal":a?"false":"true","aria-labelledby":`${e.id}-title`,"aria-describedby":e.description?`${e.id}-description`:null,tabindex:a?null:"-1",children:[fe("header",{"data-ui":"modal-head",children:[fe("div",{"data-ui":"modal-heading",children:[fe("div",{"data-ui":"modal-title-row",children:[B("h2",{"data-ui":"modal-title",id:`${e.id}-title`,children:e.title}),e.status!==void 0&&e.status]}),!!e.description&&B("p",{"data-ui":"modal-description",id:`${e.id}-description`,children:e.description})]}),t?B("button",{"data-ui":"modal-close",type:"button","aria-label":e.closeLabel,title:e.closeLabel,children:"\xD7"}):B("a",{"data-ui":"modal-close",href:e.closeHref??"#","aria-label":e.closeLabel,title:e.closeLabel,children:"\xD7"})]}),B("div",{"data-ui":"modal-body",children:e.body}),e.actions!==void 0&&B("footer",{"data-ui":"modal-actions",children:e.actions})]})]})};import{jsx as fr}from"/_ket/view/jsx-runtime.js";var Jt=["dialog","confirm-dialog-message"];import{each as hr}from"/_ket/view/index.js";import{jsx as vr,jsxs as xr}from"/_ket/view/jsx-runtime.js";var Xt=["toast-region","toast","toast-copy","toast-title","toast-message","toast-actions"];import{jsx as kr}from"/_ket/view/jsx-runtime.js";var Bt=["spinner","visually-hidden"];import{each as Cr}from"/_ket/view/index.js";import{jsx as Mr}from"/_ket/view/jsx-runtime.js";var Kt=["skeleton","skeleton-line"];var Dr=["a[href]","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])","summary",'[tabindex]:not([tabindex="-1"])'].join(",");var mi=['[data-ui="timeframe-menu"]','[data-ui="view-settings"]'],Hr=mi.map(e=>`${e}[open]`).join(", ");import{jsx as Ar,jsxs as Ir}from"/_ket/view/jsx-runtime.js";import{jsx as Kr,jsxs as Nr}from"/_ket/view/jsx-runtime.js";var qt=["switch-control","switch-track"];import{each as _r}from"/_ket/view/index.js";import{Fragment as Wr,jsx as Gr,jsxs as Ur}from"/_ket/view/jsx-runtime.js";var _t=["combobox","combobox-input-row","combobox-toggle","combobox-listbox","combobox-option","combobox-empty","tag-picker"];import{jsx as eo,jsxs as to}from"/_ket/view/jsx-runtime.js";var Vt=["date-range"];import{jsx as ro,jsxs as oo}from"/_ket/view/jsx-runtime.js";var zt=["file-upload","drop-zone","upload-status"];import{jsx as uo}from"/_ket/view/jsx-runtime.js";var Gt=["relation-picker"];import{each as fo}from"/_ket/view/index.js";import{jsx as yo,jsxs as vo}from"/_ket/view/jsx-runtime.js";var Ut=["search-bar","filter-bar","applied-filters","applied-filter","saved-views","saved-view","view-settings","view-settings-options"];import{jsx as ko,jsxs as To}from"/_ket/view/jsx-runtime.js";var Wt=["inline-edit","inline-edit-value","inline-edit-form","inline-edit-actions"];import{each as Jo}from"/_ket/view/index.js";import{each as Lo}from"/_ket/view/index.js";import{Fragment as Ao,jsx as Oo,jsxs as Eo}from"/_ket/view/jsx-runtime.js";var Zt=["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 No,jsxs as $o}from"/_ket/view/jsx-runtime.js";var Qt=["resource-list","resource-list-item","resource-list-select","resource-list-link"];import{each as Vo}from"/_ket/view/index.js";import{jsx as Go,jsxs as Uo}from"/_ket/view/jsx-runtime.js";var Yt=["data-grid-scroll","data-grid","data-grid-cap","data-grid-cell"];import{each as Qo}from"/_ket/view/index.js";import{jsx as jo,jsxs as el}from"/_ket/view/jsx-runtime.js";var jt=["tree","tree-item","tree-link","tree-grid","tree-grid-row"];import{each as il}from"/_ket/view/index.js";import{jsx as rl,jsxs as ol}from"/_ket/view/jsx-runtime.js";var ea=["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 sl}from"/_ket/view/index.js";import{jsx as ul,jsxs as ml}from"/_ket/view/jsx-runtime.js";var ta=["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 bl}from"/_ket/view/index.js";import{jsx as hl,jsxs as yl}from"/_ket/view/jsx-runtime.js";var aa=["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 Sl}from"/_ket/view/index.js";import{jsx as Tl,jsxs as wl}from"/_ket/view/jsx-runtime.js";var ia=["description-list","key-value","key-value-label","key-value-value","person","person-body","avatar-group","status"];import{jsx as Ml}from"/_ket/view/jsx-runtime.js";var na=["formatted-date","formatted-number","formatted-money"];import{each as Hl}from"/_ket/view/index.js";import{jsx as Fl,jsxs as Jl}from"/_ket/view/jsx-runtime.js";var oa=["record-summary","record-summary-main","record-actions","record-rail"];import{each as Kl}from"/_ket/view/index.js";import{jsx as _l,jsxs as Vl}from"/_ket/view/jsx-runtime.js";var la=["activity-timeline","activity-item","activity-marker","audit-log","audit-item"];import{each as Ul}from"/_ket/view/index.js";import{jsx as Ql,jsxs as Yl}from"/_ket/view/jsx-runtime.js";var da=["attachments","attachment","media-gallery","media-item"];import{each as td}from"/_ket/view/index.js";import{Fragment as rd,jsx as id,jsxs as nd}from"/_ket/view/jsx-runtime.js";var sa=["app-navigation","navigation-trigger","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 re}from"/_ket/view/index.js";import{Fragment as ba,jsx as p,jsxs as _}from"/_ket/view/jsx-runtime.js";var ca=["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"],xi=e=>e.shownColumns??e.columns.filter(t=>t.hidden!==!0).map(t=>t.key),Si=e=>{let t=new Set(xi(e));return e.columns.filter(a=>t.has(a.key))},ua=(e,t)=>t.length+(e.selection?1:0),Ri=(e,t)=>e.sort?.direction?e.sort.direction==="ascending"?t?.sortedAscending??"Sorted ascending":t?.sortedDescending??"Sorted descending":null,ki=(e,t)=>p("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:[p("span",{children:e.label}),!!e.sort.direction&&p("span",{"data-ui":"sort-icon","aria-hidden":"true",title:Ri(e,t)??void 0,children:e.sort.direction==="ascending"?"\u2191":"\u2193"})]}):e.label}),Ti=e=>e.selection?p("th",{"data-ui":"select-col",scope:"col",children:p("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,ma=(e,t)=>e.selected?.(t)===!0?!0:e.selection?.selectedIds?.includes(e.id(t))===!0,wi=(e,t,a)=>_(ba,{children:[e.selection&&p("td",{"data-ui":"select-cell",children:p("input",{"data-ui":"row-select",type:"checkbox",name:e.selection.name??"ids",form:e.selection.form,value:e.id(a),checked:ma(e,a),"aria-label":e.labels?.selectRow?.(a,e.id(a))??`Select row ${e.id(a)}`,disabled:e.selection.disabled===!0})}),re(t,r=>r.key,r=>p("td",{"data-ui":"cell","data-col":r.key,"data-linked":e.rowHref&&r===t[0]?"true":null,"data-align":r.align??"start","data-kind":r.kind??"text","data-priority":r.priority??"secondary","data-label":e.responsive==="stack"?r.label:null,children:e.rowHref&&r===t[0]?p("a",{"data-ui":"row-link",href:e.rowHref(a),children:r.cell(a)}):r.cell(a)}))]}),ga=(e,t,a)=>p("tr",{"data-ui":"row","data-row":e.id(a),"data-selected":ma(e,a)?"true":null,children:wi(e,t,a)}),Ci=(e,t,a)=>a?p("tr",{"data-ui":"group-pager",children:_("td",{colSpan:String(ua(e,t)),children:[p("span",{children:a.label}),_("span",{"data-ui":"group-pager-actions",children:[a.previousHref&&p("a",{href:a.previousHref,"aria-label":e.labels?.previousPage??"Previous page",children:"\u2039"}),a.nextHref&&p("a",{href:a.nextHref,"aria-label":e.labels?.nextPage??"Next page",children:"\u203A"})]})]})}):null,fa=(e,t,a,r)=>_(ba,{children:[p("tr",{"data-ui":"group-row","data-group":a.id,"data-depth":String(r),children:_("th",{"data-ui":"group-cell",colSpan:String(ua(e,t)),scope:"rowgroup",children:[p("span",{"data-ui":"group-indent",style:`--kv-group-depth: ${r}`,"aria-hidden":"true"}),a.href?p("a",{"data-ui":"group-link",href:a.href,children:a.label}):p("span",{"data-ui":"group-link",children:a.label}),a.count!==void 0&&p("span",{"data-ui":"group-count",children:String(a.count)})]})}),re(a.rows??[],e.id,i=>ga(e,t,i)),re(a.children??[],i=>i.id,i=>fa(e,t,i,r+1)),Ci(e,t,a.pager)]}),Ye=e=>{let t=Si(e),a=e.groups??[],i=e.rows.length>0||a.length>0?p("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&&p("caption",{"data-ui":"table-caption",children:e.caption}),p("thead",{children:_("tr",{children:[Ti(e),re(t,o=>o.key,o=>ki(o,e.labels))]})}),p("tbody",{children:a.length>0?re(a,o=>o.id,o=>fa(e,t,o,0)):re(e.rows,e.id,o=>ga(e,t,o))})]})}):p(ae,{title:e.emptyTitle??"No records",message:e.emptyMessage??"There is nothing to show yet.",actions:e.emptyActions});return e.title?p(Ve,{title:e.title,actions:e.actions,padding:"none",body:i}):i};import{jsx as xd,jsxs as Sd}from"/_ket/view/jsx-runtime.js";var pa=["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-toolbar","list-page-controls","list-page-status","list-page-body","list-page-footer"];import{jsx as wd,jsxs as Cd}from"/_ket/view/jsx-runtime.js";var ha=["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-description","record-page-actions","record-page-meta","record-page-controller","record-page-navigation","record-page-layout","record-page-body","record-page-aside"];var ya=["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-description","form-page-actions","form-page-meta","form-page-controller","form-page-navigation","form-page-layout","form-page-body","form-page-aside"];import{jsx as Id,jsxs as Fd}from"/_ket/view/jsx-runtime.js";var va=["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-description","dashboard-page-actions","dashboard-page-meta","dashboard-page-body"];var xa=["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-description","board-page-actions","board-page-meta","board-page-toolbar","board-page-controls","board-page-body"];import{each as Vd}from"/_ket/view/index.js";import{jsx as Gd,jsxs as Ud}from"/_ket/view/jsx-runtime.js";var Sa=["pipeline","pipeline-step","pipeline-arrow","pipeline-step-label","pipeline-step-value","pipeline-step-node"];import{each as jd}from"/_ket/view/index.js";import{jsx as is,jsxs as ns}from"/_ket/view/jsx-runtime.js";var Ra=["record-form","form-errors","form-grid","form-actions"];var ka={actions:pt,feedback:vt,fields:wt,status:yt,navigation:Pt,progress:Ot,menu:Et,popover:At,tooltip:It,dialog:Jt,toast:Xt,spinner:Bt,skeleton:Kt,scalarFields:qt,combobox:_t,dateTime:Vt,upload:zt,relationPicker:Gt,listControls:Ut,inlineEdit:Wt,resourceList:Qt,dataGrid:Yt,tree:jt,matrix:ea,barChart:ta,timeframe:aa,recordDisplay:ia,formattedValues:na,recordComposition:oa,activity:la,media:da,layouts:kt,shell:St,appNavigation:sa,table:ca,listChrome:Zt,listPage:pa,formPage:ya,recordPage:ha,dashboardPage:va,boardPage:xa,modal:Ft,pipeline:Sa,form:Ra},Mi=[...new Set(Object.values(ka).flat())].sort(),Li=Object.freeze(Object.fromEntries(Object.entries(ka).map(([e,t])=>[e,[...t]])));import{signal as O}from"/_ket/view/index.js";import{jsx as Hi}from"/_ket/view/jsx-runtime.js";var Xe="record";var Di=/^[a-z][a-z0-9_]*(?:\.[a-zA-Z][a-zA-Z0-9_]*)+$/u,Ta=e=>Di.test(e),je=(e,t)=>{if(!Ta(t.kind))throw new TypeError(`invalid record kind "${t.kind}"`);let a=new URL(String(e),"http://ket.local");return a.searchParams.set(Xe,`${t.kind}:${t.id}`),t.tab?a.searchParams.set("tab",t.tab):a.searchParams.delete("tab"),`${a.pathname}${a.search}`};var wa=e=>{let t=new URL(String(e),"http://ket.local");return t.searchParams.delete(Xe),t.searchParams.delete("tab"),`${t.pathname}${t.search}`},pe=e=>{let t=new URL(String(e),"http://ket.local"),a=t.searchParams.get(Xe)??"",r=a.indexOf(":");if(r<=0||r===a.length-1)return null;let i=a.slice(0,r);return Ta(i)?{kind:i,id:a.slice(r+1),tab:t.searchParams.get("tab")}:null},et=e=>Hi("span",{"data-ui":"record-modal-host","data-record-kind":e,hidden:!0});import{Fragment as he,jsx as Om,jsxs as ye}from"/_ket/view/jsx-runtime.js";var Pa=e=>{let t=e??{};return(Array.isArray(t.errors)?t.errors:Array.isArray(t.issues)?t.issues:[]).map(r=>{let i=r??{},o=Array.isArray(i.path)?i.path.join("."):null;return{field:typeof i.field=="string"?i.field:o,code:String(i.code??"invalid"),message:typeof i.message=="string"?i.message:null,params:i.params&&typeof i.params=="object"?i.params:{}}})},Ma=async(e,t,a={})=>{let r=await fetch(`/_ket/fn/${encodeURIComponent(e)}`,{method:"POST",credentials:"same-origin",headers:{"content-type":"application/json",...a.idempotencyKey?{"idempotency-key":a.idempotencyKey}:{}},body:JSON.stringify(t),signal:a.signal}),i=await r.json().catch(()=>({}));if(!r.ok||i.ok===!1)return{ok:!1,issues:Pa(i.error??i),message:i.error?.message??i.message??null,status:r.status};let o=i.value;return o&&typeof o=="object"&&o.ok===!1?{ok:!1,issues:Pa(o),message:null,status:r.status}:{ok:!0,value:i.value}},Oi=30,Ei=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."}),Ai=(e,t)=>t.messages?.[e]??t.previous?.[e]??t.labels?.[e]??Ei[e]??e,ve="__command",La="data-record-dialog",Ii=(e,t={})=>e.replace(/\{([a-zA-Z0-9_]+)\}/gu,(a,r)=>r in t?String(t[r]??""):a),Ea=["a[href]","button:not(:disabled)",'input:not(:disabled):not([type="hidden"])',"select:not(:disabled)","textarea:not(:disabled)",'[tabindex]:not([tabindex="-1"])'].join(", "),Da=e=>[...e.querySelectorAll(Ea)].filter(t=>!t.hidden&&t.getAttribute("aria-hidden")!=="true"&&!t.matches('[data-ui="modal-backdrop"]')),Fi=e=>{for(let t of e.querySelectorAll('input:not([type="hidden"])'))if(!t.disabled){if(t.type==="checkbox"||t.type==="radio"){if(t.checked!==t.defaultChecked)return!0}else if(t.value!==t.defaultValue)return!0}for(let t of e.querySelectorAll("textarea"))if(!t.disabled&&t.value!==t.defaultValue)return!0;for(let t of e.querySelectorAll("select"))if(!t.disabled){for(let a of t.options)if(a.selected!==a.defaultSelected)return!0}return!1},Ji=e=>{let t=[],a=e;for(;a&&a!==document.body;){let r=a.parentElement;if(!r)break;for(let i of r.children)i instanceof HTMLElement&&i!==a&&!i.matches("script, style, template")&&(t.push({element:i,inert:i.inert}),i.inert=!0);a=r}return()=>{for(let{element:r,inert:i}of t)r.inert=i}},Xi=()=>typeof crypto<"u"&&"randomUUID"in crypto?crypto.randomUUID():`${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`,M=()=>({values:{},checks:{}}),Ha=(e,t)=>`${e}\0${t}`,Oa=e=>e.after??"close",Bi=400,Ki=(e,t=Bi)=>{let a,r=()=>{clearTimeout(a),a=void 0};return{set:i=>{if(r(),!i){e(!1);return}a=setTimeout(()=>e(!0),t)},stop:r}},Ni='a, button, input, select, textarea, label, summary, details, [data-ui="select-cell"]',$i=e=>{let t=e?.closest("a[href]");return t?t.target&&t.target!=="_self"?null:t.href:e?.closest(Ni)?null:e?.closest("[data-row-href]")?.getAttribute("data-row-href")??null},oe=e=>()=>{let t=O(null),a=O("idle"),r=O(null),i=O(null),o=O([]),w=O(M()),E=O(M()),rt=O(!1),ot=O(!1),lt=Ki(s=>ot.set(s)),de=O(!1),dt=s=>{rt.set(s),lt.set(s),s&&de.set(!1)},A=O(null),Ke=O(0),V=O({}),I=new Map,_a=(s,u)=>{for(I.delete(s),I.set(s,u);I.size>Oi;)I.delete(I.keys().next().value)},L=null,Me=null,Le=!1,Ne=null,F=null,Q=null,se=null,Va=()=>typeof e.labels=="function"?e.labels():e.labels??{},J=(s,u)=>Ii(Ai(s,{messages:r()?.messages,previous:se,labels:Va()}),u),st=s=>(e.tabs??[]).filter(u=>u.visible?.(s)??!0),De=(s,u,m="record")=>{let g=()=>m==="dialog"?E():w(),c={kind:e.kind,id:s.id,creating:s.id==="new",tab:s.tab,data:u,t:J,fieldError:b=>{let n=o().find(l=>l.field===b);return n?n.message??J(n.code,n.params):null},draft:(b,n="")=>g().values[b]??n,draftChecked:(b,n="1",l=!1)=>g().checks[Ha(b,n)]??l,busy:ot(),dialog:A(),href:b=>je(location.href,{kind:e.kind,id:s.id,tab:b}),state:(b,n="")=>V()[b]??n},R=st(c);return R.length&&!R.some(b=>b.id===s.tab)&&(c.tab=R[0].id),c},Y=async(s,u=!1)=>{Me?.abort();let m=new AbortController;Me=m;let g=e.cache===!1?void 0:I.get(s);g&&(se=g.messages??se,r.set(g),a.set("ready"),u=!0),u||a.set("loading"),i.set(null);try{let c=s==="new",R=e.context.input?e.context.input(s,c):c?{}:{id:s},b=await Ma(e.context.fn,R,{signal:m.signal});if(m.signal.aborted)return;if(!b.ok||!b.value){i.set(b.ok?"recordModal.notFound":b.message??"recordModal.loadFailed"),a.set("error");return}se=b.value.messages??se,e.cache!==!1&&_a(s,b.value),r.set(b.value),a.set("ready")}catch(c){if(m.signal.aborted||c?.name==="AbortError")return;i.set("recordModal.loadFailed"),a.set("error")}},He=()=>L?[...L.querySelectorAll('[data-ui="modal-layer"][data-client-modal="true"]')]:[],$e=()=>He()[0]??null,ct=()=>He().at(-1)??null,Oe=(s,u)=>{if(!s)return;let m=u==="dialog"?E():w(),g={values:{...m.values},checks:{...m.checks}};for(let c of s.querySelectorAll("input[name], select[name], textarea[name]"))if(!(c.disabled||c.name===ve)){if(c instanceof HTMLInputElement){if(c.type==="file"||c.type==="hidden")continue;if(c.type==="checkbox"||c.type==="radio"){g.checks[Ha(c.name,c.value)]=c.checked,c.type==="checkbox"?g.values[c.name]=c.checked?c.value:"":c.checked&&(g.values[c.name]=c.value);continue}}g.values[c.name]=c.value}u==="dialog"?E.set(g):w.set(g)},ut=()=>{let s=He();Oe(s[0]??null,"record"),s.length>1&&Oe(s.at(-1)??null,"dialog")},mt=s=>!s||!Fi(s)?!0:globalThis.confirm(J("recordModal.unsaved")),ce=s=>{requestAnimationFrame(()=>{let u=He(),m=u[0],g=u.at(-1);if(!g)return;m&&(m.inert=u.length>1);let c=s?.();if(c?.isConnected&&g.contains(c)){c.focus();return}if(g.contains(document.activeElement))return;let R=g.querySelector('[data-ui="modal-sheet"]');(Da(g).find(n=>!n.matches('[data-ui="modal-close"]'))??R)?.focus()})},z=(s,u,m,g)=>{let c=t(),R=c?.id===s,b=u??(R?c.tab:"");R||(Ne=document.activeElement instanceof HTMLElement?document.activeElement:null,o.set([]),de.set(!1),w.set(M()),E.set(M()),V.set({}),A.set(null),F=null,r.set(null),Y(s)),t.set({id:s,tab:b});let n=je(location.href,{kind:e.kind,id:s,tab:b||null});m==="push"?(history.replaceState({...history.state??{},__ketScroll:[window.scrollX,window.scrollY]},"",location.href),history.pushState({...history.state??{},__ketRecordModal:e.kind},"",n),Le=!0):m==="replace"&&history.replaceState(history.state??{},"",n),L&&!Q&&(Q=Ji(L)),ce(g)},Ee=s=>{Me?.abort(),t.set(null),A.set(null),o.set([]),de.set(!1),w.set(M()),E.set(M()),V.set({}),a.set("idle"),r.set(null),Q?.(),Q=null,s==="history"&&Le?(Le=!1,history.back()):s!=="none"&&(Le=!1,history.replaceState(history.state??{},"",wa(location.href)));let u=Ne;Ne=null,F=null,u?.isConnected&&requestAnimationFrame(()=>u.focus())},gt=()=>{if(A()){if(!mt(ct()))return;let s=F;F=null,A.set(null),E.set(M()),o.set([]),ce(()=>s?.isConnected?s:null);return}mt($e())&&Ee("history")},za=async(s,u,m)=>{let g=e.commands?.[s],c=t(),R=r()?.data;if(!g||!c||R===void 0||rt())return;let b=new FormData(u,m instanceof HTMLButtonElement?m:null),n=u.closest('[data-ui="modal-layer"][data-client-modal="true"]'),l=A()&&n===ct()?"dialog":"record";Oe(n,l);let f=De(c,R,l);if(g.confirm){let v=g.confirm(f);if(v&&!globalThis.confirm(v))return}dt(!0),o.set([]);try{let v={};for(let[C,j]of Object.entries(g.upload??{})){let U=b.get(C);if(!(U instanceof File)||U.size===0)continue;let ue=new FormData;for(let[Wa,Za]of Object.entries(j(b,f)))ue.append(Wa,Za);ue.append("file",U,U.name);let bt=await fetch("/files",{method:"POST",credentials:"same-origin",body:ue}),ee=await bt.json().catch(()=>null);if(!bt.ok||!ee?.id){o.set([{field:null,code:"recordModal.uploadFailed",message:typeof ee?.message=="string"?ee.message:null,params:{}}]);return}v[C]={id:String(ee.id),name:typeof ee.name=="string"?ee.name:null}}let P=(C,j)=>Ma(C,j,{idempotencyKey:Xi()}),S=await P(g.fn,g.input(b,f,v));for(let C of S.ok?g.also??[]:[])if(!(C.when&&!C.when(f))&&(S=await P(C.fn,C.input(b,f,v)),!S.ok))break;if(!S.ok){o.set(S.issues.length?S.issues:[{field:null,code:S.message??"recordModal.saveFailed",message:S.message,params:{}}]);return}l==="dialog"?E.set(M()):w.set(M()),u.reset();let G=S.value,K=Oa(g)==="open"?g.created?.(S.value)??(G&&typeof G=="object"&&G.id!=null?String(G.id):null):null;I.delete(c.id),K&&I.delete(K);let $=()=>{document.dispatchEvent(new CustomEvent("ket:records-changed",{detail:{kind:e.kind,ids:[K??c.id]}}))},T=Oa(g);if(T!=="close"&&de.set(!0),T==="open"){A.set(null),E.set(M()),K?z(K,g.openTab??null,"replace"):Ee("history"),$();return}if($(),T==="close")Ee("history");else if(T==="reload"){let C=F;F=null,A.set(null),E.set(M()),await Y(c.id),ce(()=>C?.isConnected?C:null)}else if(T==="refresh")await Y(c.id,!0);else if(T==="stay")Ke.set(Ke()+1);else if("tab"in T)F=null,A.set(null),E.set(M()),z(c.id,T.tab,"replace"),await Y(c.id);else{let C=T.dialog?null:F;F=T.dialog&&m instanceof HTMLElement?m:null,A.set(T.dialog?{name:T.dialog,params:{}}:null),E.set(M()),await Y(c.id,!0),ce(()=>C?.isConnected?C:null)}}catch{o.set([{field:null,code:"recordModal.saveFailed",message:null,params:{}}])}finally{dt(!1)}},ft=s=>{let u=o().filter(c=>!c.field),m=o().filter(c=>c.field&&!L?.querySelector(`[name="${CSS.escape(c.field)}"]`)),g=[...u,...m];return g.length?X({title:s.t("recordModal.errorTitle"),message:g.map(c=>c.message??s.t(c.code,c.params)).join(" \xB7 "),tone:"danger"}):de()?X({title:s.t("recordModal.savedTitle"),message:s.t("recordModal.saved"),tone:"positive"}):""},Ga=()=>{let s=t();if(!s)return"";if(a()==="error")return ye(he,{children:[X({title:J("recordModal.errorTitle"),message:J(i()??"recordModal.loadFailed"),tone:"danger"}),D({label:J("recordModal.retry"),variant:"secondary",name:"intent",value:"retry"})]});let u=r()?.data;if(a()!=="ready"||u===void 0)return ie({label:J("recordModal.loading")});let m=De(s,u),g=st(m),c=g.find(l=>l.id===m.tab),R=e.header?.(m)??"",b=ft(m),n=c?c.view(m):e.body?.(m)??"";return g.length?We({id:`record-view-${e.kind.replaceAll(".","-")}`,label:e.title(m),items:g.map(l=>({id:l.id,label:l.label(m),href:m.href(l.id),active:l.id===m.tab})),context:R!==""||b!==""?ye(he,{children:[R,b]}):void 0,body:n}):ye(he,{children:[R,b,n]})},Ua=()=>{let s=t(),u=A(),m=r()?.data;if(!s||!u||m===void 0)return"";let g=e.dialogs?.[u.name];if(!g)return"";let c=De(s,m,"dialog");return be({id:`record-dialog-${e.kind.replaceAll(".","-")}-${u.name}`,mode:"client",presentation:"dialog",size:g.size??"default",title:g.title(c),closeLabel:J("recordModal.close"),body:ye(he,{children:[ft(c),g.view(c)]})})};return{view:()=>{Ke();let s=t();if(!s)return et(e.kind);let u=r()?.data,m=u===void 0?null:De(s,u);return ye(he,{children:[et(e.kind),be({id:`record-modal-${e.kind.replaceAll(".","-")}`,mode:"client",presentation:"dialog",size:e.size??"default",height:(e.tabs?.length??0)>1?"fixed":"content",fixedHeight:e.fixedHeight,title:m?e.title(m):J("recordModal.loading"),description:m?e.description?.(m)??null:null,status:m?e.status?.(m):void 0,actions:m?e.actions?.(m):void 0,closeLabel:J("recordModal.close"),body:Ga()}),Ua()]})},mount:({root:s,lifetime:u})=>{L=s,document.addEventListener("click",n=>{if(n.defaultPrevented||n.button!==0||n.metaKey||n.ctrlKey||n.shiftKey||n.altKey)return;let l=n.target instanceof Element?n.target:null,f=l?.closest('[data-ui="modal-layer"][data-client-modal="true"]');if(f&&L?.contains(f)){if(l?.closest('[data-ui="modal-close"], [data-ui="modal-backdrop"], [data-record-close]')){n.preventDefault(),gt();return}let K=l?.closest("button[data-record-state], a[data-record-state]");if(K){n.preventDefault(),ut(),V.set({...V(),[K.getAttribute("data-record-state")??""]:K.getAttribute("data-record-value")??""});return}let $=l?.closest(`[${La}]`);if($){n.preventDefault();let T=document.activeElement;F=T instanceof HTMLElement&&$.contains(T)?T:$.querySelector(Ea),E.set(M());let C={};for(let[j,U]of Object.entries($.dataset))j.startsWith("recordParam")&&U!==void 0&&(C[j.slice(11).replace(/^./u,ue=>ue.toLowerCase())]=U);o.set([]),A.set({name:$.getAttribute(La)??"",params:C}),ce();return}if(l?.closest('button[name="intent"][value="retry"]')){n.preventDefault();let T=t();T&&Y(T.id);return}}let v=$i(l);if(!v)return;let P=new URL(v,location.href);if(P.origin!==location.origin||P.pathname!==location.pathname)return;let S=pe(P);if(!S||S.kind!==e.kind)return;n.preventDefault();let G=t();if(G?.id===S.id){if((S.tab??"")===G.tab)return;Oe($e(),"record"),o.set([]),z(S.id,S.tab??null,"replace",()=>$e()?.querySelector('[data-ui="tab"][data-active="true"]')??null);return}z(S.id,S.tab??null,"push")},{signal:u,capture:!0}),document.addEventListener("keydown",n=>{if(n.defaultPrevented||n.key!=="Enter"&&n.key!==" ")return;let l=n.target instanceof Element?n.target:null;if(!l?.matches('[data-row-href][tabindex="0"]'))return;let f=l.getAttribute("data-row-href"),v=f?new URL(f,location.href):null;if(!v||v.origin!==location.origin||v.pathname!==location.pathname)return;let P=pe(v);!P||P.kind!==e.kind||(n.preventDefault(),z(P.id,P.tab??null,"push"))},{signal:u,capture:!0}),document.addEventListener("submit",n=>{let l=n.target instanceof HTMLFormElement?n.target:null;if(!l||!L?.contains(l))return;n.preventDefault();let f=n.submitter??null,v=(f instanceof HTMLButtonElement&&f.name===ve?f.value:null)??String(new FormData(l).get(ve)??"");za(v,l,f)},{signal:u}),document.addEventListener("keydown",n=>{if(!t())return;let l=L?.querySelectorAll('[data-ui="modal-layer"][data-client-modal="true"]'),f=l?.[l.length-1];if(!f)return;if(n.key==="Escape"){n.preventDefault(),gt();return}if(n.key!=="Tab")return;let v=Da(f);if(!v.length){n.preventDefault(),f.querySelector('[data-ui="modal-sheet"]')?.focus();return}let P=v[0],S=v.at(-1);n.shiftKey&&(document.activeElement===P||!f.contains(document.activeElement))?(n.preventDefault(),S.focus()):!n.shiftKey&&(document.activeElement===S||!f.contains(document.activeElement))&&(n.preventDefault(),P.focus())},{signal:u}),document.addEventListener("change",n=>{let l=n.target instanceof Element?n.target:null;if(!(!l||!L?.contains(l))){if((l instanceof HTMLSelectElement||l instanceof HTMLInputElement)&&l.hasAttribute("data-record-state")){ut(),V.set({...V(),[l.getAttribute("data-record-state")??""]:l.value});return}l instanceof HTMLInputElement&&l.type==="file"&&l.hasAttribute("data-record-submit")&&l.files?.length&&l.form?.requestSubmit()}},{signal:u});let m=n=>{let f=(n.target instanceof Element?n.target:null)?.closest("form[data-record-dropzone]")??null;return f&&L?.contains(f)?f:null};document.addEventListener("dragover",n=>{let l=m(n);l&&(n.preventDefault(),l.dataset.drag="1")},{signal:u}),document.addEventListener("dragleave",n=>{let l=m(n);if(!l)return;let f=n.relatedTarget;f instanceof Node&&l.contains(f)||delete l.dataset.drag},{signal:u}),document.addEventListener("drop",n=>{let l=m(n);if(!l)return;n.preventDefault(),delete l.dataset.drag;let f=n.dataTransfer?.files,v=l.querySelector('input[type="file"]');if(!v||!f?.length)return;let P=new DataTransfer;P.items.add(f[0]),v.files=P.files,l.requestSubmit()},{signal:u});let g="ket-island, div[data-ket-island]",c=n=>n instanceof Element&&(n.matches(g)||n.querySelector(g)!==null),R=new MutationObserver(n=>{for(let l of n){for(let f of l.removedNodes)c(f)&&document.dispatchEvent(new CustomEvent("ket:islands-detach",{detail:{root:f}}));for(let f of l.addedNodes)c(f)&&f.isConnected&&document.dispatchEvent(new CustomEvent("ket:islands-attach",{detail:{root:f}}))}});R.observe(L,{childList:!0,subtree:!0}),u.addEventListener("abort",()=>R.disconnect()),document.addEventListener("ket:records-changed",n=>{let l=n.detail;if(l?.kind===e.kind)if(!Array.isArray(l.ids)||!l.ids.length)I.clear();else for(let f of l.ids)I.delete(String(f))},{signal:u}),document.addEventListener("ket:popstate",n=>{let l=pe(location.href),f=l?.kind===e.kind;!f&&!t()||(n.preventDefault(),f&&l?z(l.id,l.tab??null,"none"):Ee("none"))},{signal:u});let b=pe(location.href);b?.kind===e.kind&&z(b.id,b.tab??null,"none"),u.addEventListener("abort",()=>{Me?.abort(),lt.stop(),Q?.(),Q=null,L=null})}}};import{jsx as le,jsxs as qi}from"/_ket/view/jsx-runtime.js";var tt=e=>qi("form",{"data-ui":"record-form",method:"post",action:"","data-record-kind":e.kind,id:e.id,children:[e.command?le("input",{type:"hidden",name:ve,value:e.command,autocomplete:"off"}):"",le("div",{"data-ui":"form-grid",children:e.fields.map(t=>Z(t))}),e.actions?.length?le("div",{"data-ui":"form-actions",children:te({actions:e.actions})}):""]}),Aa=e=>le("select",{"data-ui":"field-control","data-record-state":e.state,id:e.id,name:e.name,required:e.required===!0,disabled:e.disabled===!0,"aria-invalid":e.invalid?"true":null,children:e.options.map(t=>le("option",{value:t.value,selected:t.value===e.value,children:t.label}))}),Ia=e=>le("span",{"data-record-dialog":e.dialog,"data-record-param-id":e.id??null,children:e.children});var Fa={vi:{"recordModal.close":"\u0110\xF3ng","recordModal.loading":"\u0110ang t\u1EA3i\u2026","recordModal.loadFailed":"Kh\xF4ng \u0111\u1ECDc \u0111\u01B0\u1EE3c m\u1EE5c c\u1EA5u h\xECnh.","recordModal.notFound":"M\u1EE5c c\u1EA5u h\xECnh 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 n\u1ED9i dung v\u1EEBa nh\u1EADp?","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 configuration entry could not be read.","recordModal.notFound":"The configuration entry 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."}};var Ja="__command",Se=()=>typeof crypto<"u"&&"randomUUID"in crypto?crypto.randomUUID():`${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`,at=()=>typeof document<"u"&&document.documentElement.lang==="en"?"en":"vi",ke=e=>({fn:e,input:(t,a)=>a?{locale:at()}:{id:t,locale:at()}}),Te=()=>Fa[at()],d=(e,t,a)=>e.t(`crm_backend.${t}`,a),Ba=e=>e.data.permissions.save===!0,h=(e,t)=>String(e.get(t)??"").trim(),nt=(e,t)=>["1","on","true"].includes(String(e.get(t)??"")),Re=(e,t,a)=>{let r=h(e,t),i=Number(r);return r===""||Number.isNaN(i)?a:i},_i=(e,t)=>`crm-${e.kind.replace(".","-")}-${t}`,y=(e,t)=>({...t,id:_i(e,t.name),value:t.type==="checkbox"?e.draftChecked(t.name,"1",t.value===!0||t.value==="1"):t.type==="checkbox-group"?t.value:e.draft(t.name,String(t.value??"")),options:t.type==="checkbox-group"?t.options?.map(a=>({...a,checked:e.draftChecked(a.name??`${t.name}[]`,a.value,a.checked===!0)})):t.options,error:e.fieldError(t.name),disabled:t.disabled===!0||!Ba(e)}),it=(e,t)=>{let a=y(e,{name:t.name,label:t.label,type:"select",required:t.required});return{...a,options:t.options,control:Aa({id:a.id,name:t.name,state:t.state,value:t.value,options:t.options,required:t.required,disabled:a.disabled===!0,invalid:!!a.error})}},Ka=e=>{let t=Array.isArray(e.data.record.allowedKinds)?e.data.record.allowedKinds:[];return y(e,{name:"allowedKinds",label:d(e,"field.allowedKinds"),type:"checkbox-group",required:!0,span:"full",options:e.data.kinds.map(a=>({name:`kind_${a}`,value:"1",label:e.t(`crm.kind.${a}`),checked:t.includes(a)}))})},Na=(e,t)=>t.filter(a=>nt(e,`kind_${a}`)),$a=e=>e.data.teams.map(t=>({value:String(t.id),label:t.active===!1?d(e,"value.archivedTeam",{name:String(t.name)}):String(t.name)})),xe=e=>e.data.record.active!==!1,we=e=>e.creating?"":me({label:xe(e)?d(e,"state.active"):d(e,"state.archived"),tone:xe(e)?"positive":"neutral",value:xe(e)?"active":"archived"}),Ce=(e,t,a=!0)=>{let r=Ba(e),i=[];return r&&(i.push(D({type:"submit",name:Ja,value:e.creating?"create":"save",label:e.creating?d(e,"configuration.create"):d(e,"action.save"),variant:"primary",loading:e.busy})),!e.creating&&a&&(e.data.permissions.archive??!0)&&i.push(D({type:"submit",name:Ja,value:xe(e)?"archive":"restore",label:xe(e)?d(e,"action.archive"):d(e,"action.restore"),variant:"secondary",disabled:e.busy}))),Fe({gap:"compact",items:[r?"":X({title:d(e,"configuration.readOnlyTitle"),message:d(e,"configuration.readOnly")}),tt({kind:e.kind,fields:t,actions:i})]})},Be=(e,t)=>{let a=i=>({values:i,idempotencyKey:Se()}),r=i=>({...i.data.record,id:i.id,expectedVersion:i.data.record.version??null});return{create:{fn:e,input:(i,o)=>a({...t(i,o),id:Se()}),after:"open",created:i=>i?.id?String(i.id):null},save:{fn:e,input:(i,o)=>a({...t(i,o),id:o.id,expectedVersion:o.data.record.version??null}),after:"refresh"},archive:{fn:e,input:(i,o)=>a({...r(o),active:!1}),after:"refresh"},restore:{fn:e,input:(i,o)=>a({...r(o),active:!0}),after:"refresh"}}},Pe=(e,t)=>e.creating?d(e,t):String(e.data.record.name??e.id),Vi=e=>Ce(e,[y(e,{name:"name",label:d(e,"field.configName"),value:e.data.record.name,required:!0}),y(e,{name:"code",label:d(e,"field.code"),value:e.data.record.code,required:!0}),y(e,{name:"leaderUserId",label:d(e,"field.teamLeader"),type:"select",value:e.data.record.leaderUserId??"",options:[{value:"",label:d(e,"value.unset")},...e.data.people.map(t=>({value:String(t.id),label:String(t.name)}))]}),y(e,{name:"assignmentMode",label:d(e,"field.assignmentMode"),type:"select",value:e.data.record.assignmentMode??"manual",options:e.data.assignmentModes.map(t=>({value:t,label:d(e,`assignmentMode.${t}`)}))})]),Xa=(e,t,a)=>Ia({dialog:"member",id:t,children:D({label:e,variant:a,size:a==="tertiary"?"compact":"default"})}),zi=e=>{let t=e.data.permissions.members===!0,a=e.data.members,r=i=>me({label:i.active===!1?d(e,"state.archived"):d(e,"state.active"),tone:i.active===!1?"neutral":"positive"});return Fe({gap:"compact",items:[_e({items:[d(e,"configuration.team.membersHint"),t?Xa(d(e,"configuration.team.addMember"),null,"secondary"):""]}),a.length?Ye({rows:a,id:i=>String(i.id),responsive:"stack",columns:[{key:"name",label:d(e,"configuration.team.member"),priority:"primary",cell:i=>t?Xa(String(i.userName??i.userId),String(i.id),"tertiary"):String(i.userName??i.userId)},{key:"capacity",label:d(e,"field.capacity"),kind:"number",cell:i=>String(i.capacity??1)},{key:"sequence",label:d(e,"field.sequence"),kind:"number",cell:i=>String(i.sequence??10)},{key:"assigned",label:d(e,"configuration.team.assigned"),kind:"number",cell:i=>String(i.assignedCount??0)},{key:"active",label:d(e,"field.active"),kind:"status",cell:r}]}):X({title:d(e,"configuration.team.membersEmpty"),message:d(e,"configuration.team.membersEmptyHint")})]})},qa=e=>{let t=e.dialog?.params.id;return t?e.data.members.find(a=>String(a.id)===t)??null:null},Gi=e=>{let t=qa(e),a=new Set(e.data.members.filter(w=>w.id!==t?.id).map(w=>String(w.userId))),r=e.data.permissions.members===!0,i=e.data.people.filter(w=>!a.has(String(w.id))),o=w=>({...y(e,w),id:`crm-team-member-${w.name}`,disabled:!r});return tt({kind:e.kind,command:"memberSave",fields:[o({name:"userId",label:d(e,"configuration.team.member"),type:"select",required:!0,value:t?.userId??"",options:[{value:"",label:d(e,"value.unset")},...i.map(w=>({value:String(w.id),label:String(w.name)}))]}),o({name:"capacity",label:d(e,"field.capacity"),type:"number",min:1,value:String(t?.capacity??1),help:d(e,"field.capacityHint")}),o({name:"sequence",label:d(e,"field.sequence"),type:"number",value:String(t?.sequence??10)}),o({name:"active",label:d(e,"field.active"),type:"checkbox",value:t?t.active!==!1:!0})],actions:r?[D({type:"submit",label:t?d(e,"action.save"):d(e,"configuration.team.addMember"),variant:"primary",loading:e.busy})]:[]})},Ui={kind:"crm.team",size:"large",context:ke("crm.team.modalContext"),labels:Te,title:e=>Pe(e,"configuration.team.create"),description:e=>d(e,"configuration.team.subtitle"),status:we,tabs:[{id:"info",label:e=>d(e,"configuration.team.identity"),view:Vi},{id:"members",label:e=>d(e,"configuration.membersInTeam"),visible:e=>!e.creating,view:zi}],dialogs:{member:{title:e=>qa(e)?d(e,"configuration.team.editMember"):d(e,"configuration.team.addMember"),view:Gi}},commands:{...Be("crm.team.save",e=>({name:h(e,"name"),code:h(e,"code"),leaderUserId:h(e,"leaderUserId")||null,assignmentMode:h(e,"assignmentMode")||"manual"})),memberSave:{fn:"crm.team.member.save",input:(e,t)=>({id:t.dialog?.params.id||Se(),teamId:t.id,userId:h(e,"userId"),capacity:Re(e,"capacity",1),sequence:Re(e,"sequence",10),active:nt(e,"active"),idempotencyKey:Se()}),after:"reload"}}},Wi=e=>Ce(e,[y(e,{name:"name",label:d(e,"field.configName"),value:e.data.record.name,required:!0}),y(e,{name:"code",label:d(e,"field.code"),value:e.data.record.code,required:!0}),y(e,{name:"sequence",label:d(e,"field.sequence"),type:"number",value:e.data.record.sequence??10}),Ka(e),y(e,{name:"teamId",label:d(e,"field.team"),type:"select",value:e.data.record.teamId??"",options:[{value:"",label:d(e,"value.allTeams")},...$a(e)]}),y(e,{name:"terminalState",label:d(e,"field.terminalState"),type:"select",value:e.data.record.terminalState??"open",options:e.data.terminalStates.map(t=>({value:t,label:e.t(`crm.terminal.${t}`)}))}),y(e,{name:"fold",label:d(e,"field.fold"),type:"checkbox",value:e.data.record.fold===!0})]),Zi={kind:"crm.stage",size:"large",context:ke("crm.stage.modalContext"),labels:Te,title:e=>Pe(e,"configuration.stage.create"),status:we,body:Wi,commands:Be("crm.stage.save",(e,t)=>({name:h(e,"name"),code:h(e,"code"),sequence:Re(e,"sequence",10),allowedKinds:Na(e,t.data.kinds),teamId:h(e,"teamId")||null,terminalState:h(e,"terminalState")||"open",fold:nt(e,"fold")}))},Qi=e=>Ce(e,[y(e,{name:"name",label:d(e,"field.configName"),value:e.data.record.name,required:!0}),y(e,{name:"color",label:d(e,"field.color"),type:"color",value:e.data.record.color||"#64748b"})]),Yi={kind:"crm.tag",context:ke("crm.tag.modalContext"),labels:Te,title:e=>Pe(e,"configuration.tag.create"),status:we,body:Qi,commands:{create:{fn:"crm.tag.save",input:e=>({id:Se(),name:h(e,"name"),color:h(e,"color")||null}),after:"open",created:e=>e?.id?String(e.id):null},save:{fn:"crm.tag.save",input:(e,t)=>({id:t.id,name:h(e,"name"),color:h(e,"color")||null}),after:"refresh"},archive:{fn:"crm.tag.archive",input:(e,t)=>({id:t.id}),after:"refresh"},restore:{fn:"crm.tag.save",input:(e,t)=>({id:t.id,name:String(t.data.record.name??""),active:!0}),after:"refresh"}}},ji=e=>e.state("team",e.draft("teamId",String(e.data.record.teamId??""))),en=e=>{let t=ji(e),a=e.data.assignees[t]??[];return Ce(e,[y(e,{name:"name",label:d(e,"field.configName"),value:e.data.record.name,required:!0}),y(e,{name:"priority",label:d(e,"field.priority"),type:"number",value:e.data.record.priority??10,help:d(e,"field.priorityHint")}),Ka(e),it(e,{name:"teamId",label:d(e,"field.team"),state:"team",required:!0,value:t,options:[{value:"",label:d(e,"value.unset")},...$a(e)]}),y(e,{name:"assigneeUserId",label:d(e,"field.assignee"),type:"select",value:a.some(r=>String(r.id)===String(e.data.record.assigneeUserId))?String(e.data.record.assigneeUserId):"",options:[{value:"",label:d(e,"value.teamMode")},...a.map(r=>({value:String(r.id),label:String(r.name)}))]}),y(e,{name:"utmSource",label:d(e,"field.utmSource"),value:e.data.record.utmSource??""}),y(e,{name:"minimumScore",label:d(e,"field.minimumScore"),type:"number",value:e.data.record.minimumScore??""})])},tn={kind:"crm.assignmentRule",size:"large",context:ke("crm.assignmentRule.modalContext"),labels:Te,title:e=>Pe(e,"configuration.assignmentRule.create"),status:we,body:en,commands:Be("crm.assignmentRule.save",(e,t)=>({name:h(e,"name"),priority:Re(e,"priority",10),allowedKinds:Na(e,t.data.kinds),teamId:h(e,"teamId")||null,assigneeUserId:h(e,"assigneeUserId")||null,utmSource:h(e,"utmSource")||null,minimumScore:h(e,"minimumScore")===""?null:h(e,"minimumScore")}))},an=e=>{let t=Object.keys(e.data.operators),a=e.state("field",e.draft("field",String(e.data.record.field??t[0]??""))),r=t.includes(a)?a:t[0]??"",i=e.data.operators[r]??[],o=e.state("operator",e.draft("operator",String(e.data.record.operator??"")));return{field:r,operators:i,operator:i.includes(o)?o:i[0]??""}},nn=e=>{let t=an(e);return Ce(e,[y(e,{name:"name",label:d(e,"field.configName"),value:e.data.record.name,required:!0}),it(e,{name:"field",label:d(e,"field.ruleField"),state:"field",required:!0,value:t.field,options:Object.keys(e.data.operators).map(a=>({value:a,label:d(e,`scoreField.${a}`)}))}),it(e,{name:"operator",label:d(e,"field.operator"),state:"operator",required:!0,value:t.operator,options:t.operators.map(a=>({value:a,label:d(e,`operator.${a}`)}))}),...t.operator==="present"?[]:[y(e,{name:"value",label:d(e,"field.ruleValue"),type:t.field==="expectedRevenue"?"number":"text",value:e.data.record.value??"",required:!0})],y(e,{name:"points",label:d(e,"field.points"),type:"number",value:e.data.record.points??0}),y(e,{name:"sequence",label:d(e,"field.sequence"),type:"number",value:e.data.record.sequence??10})])},rn={kind:"crm.scoreRule",size:"large",context:ke("crm.scoreRule.modalContext"),labels:Te,title:e=>Pe(e,"configuration.scoreRule.create"),status:we,body:nn,commands:Be("crm.scoreRule.save",e=>{let t=h(e,"operator");return{name:h(e,"name"),field:h(e,"field"),operator:t,value:t==="present"?"":h(e,"value"),points:h(e,"points")||"0",sequence:Re(e,"sequence",10)}})},qm=oe(Ui),_m=oe(Zi),Vm=oe(Yi),zm=oe(tn),Gm=oe(rn);export{tn as assignmentRuleDefinition,en as assignmentRuleView,ji as chosenTeam,zm as crmAssignmentRuleModal,Gm as crmScoreRuleModal,_m as crmStageModal,Vm as crmTagModal,qm as crmTeamModal,Gi as memberDialogView,an as scoreRuleChoice,rn as scoreRuleDefinition,nn as scoreRuleView,Zi as stageDefinition,Wi as stageView,Yi as tagDefinition,Qi as tagView,Ui as teamDefinition,Vi as teamInfoView,zi as teamMembersView};
|
|
2
|
+
import{each as Qa}from"/_ket/view/index.js";import{Fragment as ht,jsx as W,jsxs as ja}from"/_ket/view/jsx-runtime.js";var pt=["action","action-leading","action-label","action-spinner","action-group"],Ya=e=>ja(ht,{children:[e.loading===!0&&W("span",{"data-ui":"action-spinner","aria-hidden":"true"}),e.loading!==!0&&e.leading!==void 0&&W("span",{"data-ui":"action-leading","aria-hidden":"true",children:e.leading}),!e.iconOnly&&W("span",{"data-ui":"action-label",children:e.label})]}),D=e=>W("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,children:W(Ya,{...e})});var te=e=>W("div",{"data-ui":"action-group",role:"group","aria-label":e.label??null,children:Qa(e.actions,(t,a)=>a,t=>W(ht,{children:t}))});import{jsx as ei,jsxs as cn}from"/_ket/view/jsx-runtime.js";var yt=["badge","tag","tag-remove","count-badge","avatar","code"],me=e=>ei("span",{"data-ui":"badge","data-pattern":"badge","data-tone":e.tone??"neutral","data-value":e.value??"",children:e.label});import{each as ti}from"/_ket/view/index.js";import{Fragment as Ae,jsx as x,jsxs as q}from"/_ket/view/jsx-runtime.js";var vt=["notice","notice-mark","notice-copy","notice-title","notice-message","notice-actions","empty","empty-mark","empty-title","empty-message","empty-actions","loading","loading-label"],ai={info:()=>q(Ae,{children:[x("circle",{cx:"12",cy:"12",r:"10"}),x("path",{d:"M12 16v-4"}),x("path",{d:"M12 8h.01"})]}),positive:()=>q(Ae,{children:[x("circle",{cx:"12",cy:"12",r:"10"}),x("path",{d:"m9 12 2 2 4-4"})]}),warning:()=>q(Ae,{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:()=>q(Ae,{children:[x("circle",{cx:"12",cy:"12",r:"10"}),x("path",{d:"M12 8v4"}),x("path",{d:"M12 16h.01"})]})},X=e=>q("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:ai[e.tone??"info"]()})}),q("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})]}),ae=e=>q("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})]}),ie=e=>q("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:ti(Array.from({length:Math.max(1,e.lines??3)}),(t,a)=>a,(t,a)=>x("span",{"data-ui":"skeleton-line","data-line":String(a+1)}))})]});import{each as Ue}from"/_ket/view/index.js";import{each as di}from"/_ket/view/index.js";import{Fragment as yn,jsx as pn,jsxs as hn}from"/_ket/view/jsx-runtime.js";import{jsx as Rn,jsxs as Tn}from"/_ket/view/jsx-runtime.js";var St=["app-shell","app-sidebar","app-main","app-right-rail","page","page-context","page-header","page-heading","page-eyebrow","page-title-row","page-title","page-description","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 H,jsxs as Ie}from"/_ket/view/jsx-runtime.js";var Tt=["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"],kt=e=>H(Rt,{children:di(e.items,(t,a)=>a,t=>typeof t=="string"||typeof t=="number"?H("span",{children:t}):H(Rt,{children:t}))}),Fe=e=>H("div",{"data-ui":"stack","data-pattern":"stack","data-gap":e.gap??"default",children:H(kt,{items:e.items})}),_e=e=>H("div",{"data-ui":"inline",children:H(kt,{items:e.items})});var Ve=e=>Ie("div",{"data-ui":"surface","data-tone":e.tone??"default","data-padding":e.padding??"default","data-has-heading":e.title?"true":null,children:[e.title&&Ie("header",{"data-ui":"surface-head",children:[e.description?Ie("div",{"data-ui":"surface-heading",children:[H("h2",{"data-ui":"surface-title",children:e.title}),H("p",{"data-ui":"surface-description",children:e.description})]}):H("h2",{"data-ui":"surface-title",children:e.title}),e.actions!==void 0&&H("div",{"data-ui":"surface-actions",children:e.actions})]}),e.body]}),ze=e=>Ie("details",{"data-ui":"disclosure",open:e.open===!0?!0:void 0,children:[H("summary",{"data-ui":"disclosure-summary",children:e.summary}),H("div",{"data-ui":"disclosure-body",children:e.body})]});import{each as si}from"/_ket/view/index.js";import{Fragment as ci,jsx as ge}from"/_ket/view/jsx-runtime.js";var Ge=(e,t)=>e.control!==void 0?ge(ci,{children:e.control}):e.type==="textarea"?ge("textarea",{"data-ui":"field-control",id:e.id,name:e.name,placeholder:e.placeholder??null,required:e.required===!0,disabled:e.disabled===!0,readonly:e.readOnly===!0,"aria-invalid":e.error?"true":null,"aria-describedby":t,children:String(e.value??"")}):e.type==="select"?ge("select",{"data-ui":"field-control",id:e.id,name:e.name,required:e.required===!0,disabled:e.disabled===!0,"aria-invalid":e.error?"true":null,"aria-describedby":t,children:si(e.options??[],a=>a.value,a=>ge("option",{value:a.value,selected:String(e.value??"")===a.value,disabled:a.disabled===!0,children:a.label}))}):ge("input",{"data-ui":"field-control",id:e.id,type:e.type==="decimal"?"number":e.type??"text",name:e.name,value:e.type==="checkbox"?"1":String(e.value??""),checked:e.type==="checkbox"&&(e.value===!0||e.value==="1"),placeholder:e.placeholder??null,required:e.required===!0,disabled:e.disabled===!0,readonly:e.readOnly===!0,min:e.min,max:e.max,"aria-invalid":e.error?"true":null,"aria-describedby":t,autocomplete:e.autocomplete??"off",step:e.type==="decimal"?e.step??"any":e.step??null});import{jsx as T,jsxs as N}from"/_ket/view/jsx-runtime.js";var wt=["field","field-label","field-required","field-control","field-options","field-option","field-option-input","field-help","field-error"],Ct=e=>!!e.error||(e.fields?.some(Ct)??!1),Z=e=>{let t=e.help?`${e.id}-help`:null,a=e.error?`${e.id}-error`:null,r=[t,a].filter(Boolean).join(" ")||null,i=N("span",{"data-ui":"field-label",children:[e.label,e.required&&T("span",{"data-ui":"field-required","aria-hidden":"true",children:" *"})]});return e.fields?N("div",{"data-ui":"field","data-kind":"group","data-span":"full","data-invalid":String(!!e.error),children:[T(ze,{summary:e.label,open:e.open||Ct(e),body:T("div",{"data-ui":"form-grid",children:Ue(e.fields.map(o=>({...o,disabled:e.disabled||o.disabled,readOnly:e.readOnly||o.readOnly})),o=>o.id,o=>T(Z,{...o}))})}),!!e.help&&T("small",{"data-ui":"field-help",id:t??void 0,children:e.help}),!!e.error&&T("small",{"data-ui":"field-error",id:a??void 0,children:e.error})]}):e.type==="checkbox-group"?N("div",{"data-ui":"field","data-kind":"checkbox-group","data-span":e.span??"half","data-invalid":String(!!e.error),children:[N("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:Ue(e.options??[],o=>o.name??o.value,o=>N("label",{"data-ui":"field-option",children:[T("input",{"data-ui":"field-option-input",type:"checkbox",name:o.name??`${e.name}[]`,value:o.value,checked:o.checked===!0,disabled:e.disabled===!0||o.disabled===!0,"aria-invalid":e.error?"true":null,"aria-describedby":r,autocomplete:"off"}),T("span",{children:o.label})]}))}),!!e.help&&T("small",{"data-ui":"field-help",id:t??void 0,children:e.help}),!!e.error&&T("small",{"data-ui":"field-error",id:a??void 0,children:e.error})]}):e.type==="radio"?N("div",{"data-ui":"field","data-kind":"radio","data-span":e.span??"half","data-invalid":String(!!e.error),children:[N("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:Ue(e.options??[],o=>o.value,o=>N("label",{"data-ui":"field-option",children:[T("input",{"data-ui":"field-option-input",type:"radio",name:e.name,value:o.value,checked:String(e.value??"")===o.value,required:e.required===!0,disabled:e.disabled===!0||o.disabled===!0,"aria-invalid":e.error?"true":null,"aria-describedby":r,autocomplete:"off"}),T("span",{children:o.label})]}))}),!!e.help&&T("small",{"data-ui":"field-help",id:t??void 0,children:e.help}),!!e.error&&T("small",{"data-ui":"field-error",id:a??void 0,children:e.error})]}):N("label",{"data-ui":"field","data-kind":e.type??"text","data-span":e.span??"half","data-invalid":String(!!e.error),for:e.id,children:[e.type==="checkbox"&&Ge(e,r),i,e.type!=="checkbox"&&Ge(e,r),!!e.help&&T("small",{"data-ui":"field-help",id:t??void 0,children:e.help}),!!e.error&&T("small",{"data-ui":"field-error",id:a??void 0,children:e.error})]})};import{each as ui}from"/_ket/view/index.js";import{jsx as ne,jsxs as Ze}from"/_ket/view/jsx-runtime.js";var Pt=["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 Mt=e=>Ze("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&&ne("span",{"data-ui":"tab-count",children:String(e.count)})]}),Lt=(e,t)=>`${e}-${t.replace(/[^a-zA-Z0-9_-]+/gu,"-")}-tab`,Dt=e=>Ze("nav",{"data-ui":"tabs","data-pattern":"tabs","aria-label":e.label,children:[ui(e.items,t=>t.id,t=>ne(Mt,{...t,elementId:e.id?Lt(e.id,t.id):void 0,controls:e.panelId})),e.extension]}),Ht=e=>ne("section",{"data-ui":"tab-panel",id:e.id,"aria-labelledby":e.labelledBy,tabindex:"-1",children:e.body}),We=e=>{let t=`${e.id}-tabs`,a=`${e.id}-panel`,r=e.items.find(i=>i.active===!0);return Ze("div",{"data-ui":"tabbed-view",children:[e.context!==void 0&&e.context!==""?ne("div",{"data-ui":"tabbed-view-context",children:e.context}):"",ne(Dt,{id:t,label:e.label,items:e.items,extension:e.extension,panelId:a}),ne(Ht,{id:a,labelledBy:r?Lt(t,r.id):void 0,body:e.body})]})};import{jsx as Vn,jsxs as zn}from"/_ket/view/jsx-runtime.js";var Ot=["progress","progress-label","progress-value","progress-track","progress-bar"];import{each as Wn}from"/_ket/view/index.js";import{Fragment as jn,jsx as Qn,jsxs as Yn}from"/_ket/view/jsx-runtime.js";var Et=["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 ar,jsxs as ir}from"/_ket/view/jsx-runtime.js";var At=["popover","popover-trigger","popover-panel","popover-close"];import{jsx as or,jsxs as lr}from"/_ket/view/jsx-runtime.js";var It=["tooltip","tooltip-trigger","tooltip-content"];import{jsx as B,jsxs as fe}from"/_ket/view/jsx-runtime.js";var Ft=["modal-layer","modal-backdrop","modal-sheet","modal-head","modal-heading","modal-title-row","modal-title","modal-description","modal-close","modal-body","modal-actions"],be=e=>{let t=e.mode==="client",a=e.mode==="embedded";return fe("div",{"data-ui":"modal-layer","data-mode":e.mode??"overlay","data-route-modal":a||t?null:"true","data-client-modal":t?"true":null,"data-presentation":e.presentation??"sheet","data-unsaved-prompt":e.unsavedPrompt??null,children:[t?B("button",{"data-ui":"modal-backdrop",type:"button","aria-label":e.closeLabel,tabindex:"-1",children:B("span",{children:e.closeLabel})}):B("a",{"data-ui":"modal-backdrop",href:e.closeHref??"#","aria-label":e.closeLabel,children:B("span",{children:e.closeLabel})}),fe("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`:"",role:"dialog","aria-modal":a?"false":"true","aria-labelledby":`${e.id}-title`,"aria-describedby":e.description?`${e.id}-description`:null,tabindex:a?null:"-1",children:[fe("header",{"data-ui":"modal-head",children:[fe("div",{"data-ui":"modal-heading",children:[fe("div",{"data-ui":"modal-title-row",children:[B("h2",{"data-ui":"modal-title",id:`${e.id}-title`,children:e.title}),e.status!==void 0&&e.status]}),!!e.description&&B("p",{"data-ui":"modal-description",id:`${e.id}-description`,children:e.description})]}),t?B("button",{"data-ui":"modal-close",type:"button","aria-label":e.closeLabel,title:e.closeLabel,children:"\xD7"}):B("a",{"data-ui":"modal-close",href:e.closeHref??"#","aria-label":e.closeLabel,title:e.closeLabel,children:"\xD7"})]}),B("div",{"data-ui":"modal-body",children:e.body}),e.actions!==void 0&&B("footer",{"data-ui":"modal-actions",children:e.actions})]})]})};import{jsx as fr}from"/_ket/view/jsx-runtime.js";var Jt=["dialog","confirm-dialog-message"];import{each as hr}from"/_ket/view/index.js";import{jsx as vr,jsxs as xr}from"/_ket/view/jsx-runtime.js";var Xt=["toast-region","toast","toast-copy","toast-title","toast-message","toast-actions"];import{jsx as Tr}from"/_ket/view/jsx-runtime.js";var Bt=["spinner","visually-hidden"];import{each as Cr}from"/_ket/view/index.js";import{jsx as Mr}from"/_ket/view/jsx-runtime.js";var Kt=["skeleton","skeleton-line"];var Dr=["a[href]","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])","summary",'[tabindex]:not([tabindex="-1"])'].join(",");var mi=['[data-ui="timeframe-menu"]','[data-ui="view-settings"]'],Hr=mi.map(e=>`${e}[open]`).join(", ");import{jsx as Ar,jsxs as Ir}from"/_ket/view/jsx-runtime.js";import{jsx as Kr,jsxs as Nr}from"/_ket/view/jsx-runtime.js";var qt=["switch-control","switch-track"];import{each as _r}from"/_ket/view/index.js";import{Fragment as Wr,jsx as Gr,jsxs as Ur}from"/_ket/view/jsx-runtime.js";var _t=["combobox","combobox-input-row","combobox-toggle","combobox-listbox","combobox-option","combobox-empty","tag-picker"];import{jsx as eo,jsxs as to}from"/_ket/view/jsx-runtime.js";var Vt=["date-range"];import{jsx as ro,jsxs as oo}from"/_ket/view/jsx-runtime.js";var zt=["file-upload","drop-zone","upload-status"];import{jsx as uo}from"/_ket/view/jsx-runtime.js";var Gt=["relation-picker"];import{each as fo}from"/_ket/view/index.js";import{jsx as yo,jsxs as vo}from"/_ket/view/jsx-runtime.js";var Ut=["search-bar","filter-bar","applied-filters","applied-filter","saved-views","saved-view","view-settings","view-settings-options"];import{jsx as To,jsxs as ko}from"/_ket/view/jsx-runtime.js";var Wt=["inline-edit","inline-edit-value","inline-edit-form","inline-edit-actions"];import{each as Jo}from"/_ket/view/index.js";import{each as Lo}from"/_ket/view/index.js";import{Fragment as Ao,jsx as Oo,jsxs as Eo}from"/_ket/view/jsx-runtime.js";var Zt=["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 No,jsxs as $o}from"/_ket/view/jsx-runtime.js";var Qt=["resource-list","resource-list-item","resource-list-select","resource-list-link"];import{each as Vo}from"/_ket/view/index.js";import{jsx as Go,jsxs as Uo}from"/_ket/view/jsx-runtime.js";var Yt=["data-grid-scroll","data-grid","data-grid-cap","data-grid-cell"];import{each as Qo}from"/_ket/view/index.js";import{jsx as jo,jsxs as el}from"/_ket/view/jsx-runtime.js";var jt=["tree","tree-item","tree-link","tree-grid","tree-grid-row"];import{each as il}from"/_ket/view/index.js";import{jsx as rl,jsxs as ol}from"/_ket/view/jsx-runtime.js";var ea=["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 sl}from"/_ket/view/index.js";import{jsx as ul,jsxs as ml}from"/_ket/view/jsx-runtime.js";var ta=["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 bl}from"/_ket/view/index.js";import{jsx as hl,jsxs as yl}from"/_ket/view/jsx-runtime.js";var aa=["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 Sl}from"/_ket/view/index.js";import{jsx as kl,jsxs as wl}from"/_ket/view/jsx-runtime.js";var ia=["description-list","key-value","key-value-label","key-value-value","person","person-body","avatar-group","status"];import{jsx as Ml}from"/_ket/view/jsx-runtime.js";var na=["formatted-date","formatted-number","formatted-money"];import{each as Hl}from"/_ket/view/index.js";import{jsx as Fl,jsxs as Jl}from"/_ket/view/jsx-runtime.js";var oa=["record-summary","record-summary-main","record-actions","record-rail"];import{each as Kl}from"/_ket/view/index.js";import{jsx as _l,jsxs as Vl}from"/_ket/view/jsx-runtime.js";var la=["activity-timeline","activity-item","activity-marker","audit-log","audit-item"];import{each as Ul}from"/_ket/view/index.js";import{jsx as Ql,jsxs as Yl}from"/_ket/view/jsx-runtime.js";var da=["attachments","attachment","media-gallery","media-item"];import{each as td}from"/_ket/view/index.js";import{Fragment as rd,jsx as id,jsxs as nd}from"/_ket/view/jsx-runtime.js";var sa=["app-navigation","navigation-trigger","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 re}from"/_ket/view/index.js";import{Fragment as ba,jsx as p,jsxs as _}from"/_ket/view/jsx-runtime.js";var ca=["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"],xi=e=>e.shownColumns??e.columns.filter(t=>t.hidden!==!0).map(t=>t.key),Si=e=>{let t=new Set(xi(e));return e.columns.filter(a=>t.has(a.key))},ua=(e,t)=>t.length+(e.selection?1:0),Ri=(e,t)=>e.sort?.direction?e.sort.direction==="ascending"?t?.sortedAscending??"Sorted ascending":t?.sortedDescending??"Sorted descending":null,Ti=(e,t)=>p("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:[p("span",{children:e.label}),!!e.sort.direction&&p("span",{"data-ui":"sort-icon","aria-hidden":"true",title:Ri(e,t)??void 0,children:e.sort.direction==="ascending"?"\u2191":"\u2193"})]}):e.label}),ki=e=>e.selection?p("th",{"data-ui":"select-col",scope:"col",children:p("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,ma=(e,t)=>e.selected?.(t)===!0?!0:e.selection?.selectedIds?.includes(e.id(t))===!0,wi=(e,t,a)=>_(ba,{children:[e.selection&&p("td",{"data-ui":"select-cell",children:p("input",{"data-ui":"row-select",type:"checkbox",name:e.selection.name??"ids",form:e.selection.form,value:e.id(a),checked:ma(e,a),"aria-label":e.labels?.selectRow?.(a,e.id(a))??`Select row ${e.id(a)}`,disabled:e.selection.disabled===!0})}),re(t,r=>r.key,r=>p("td",{"data-ui":"cell","data-col":r.key,"data-linked":e.rowHref&&r===t[0]?"true":null,"data-align":r.align??"start","data-kind":r.kind??"text","data-priority":r.priority??"secondary","data-label":e.responsive==="stack"?r.label:null,children:e.rowHref&&r===t[0]?p("a",{"data-ui":"row-link",href:e.rowHref(a),children:r.cell(a)}):r.cell(a)}))]}),ga=(e,t,a)=>p("tr",{"data-ui":"row","data-row":e.id(a),"data-selected":ma(e,a)?"true":null,children:wi(e,t,a)}),Ci=(e,t,a)=>a?p("tr",{"data-ui":"group-pager",children:_("td",{colSpan:String(ua(e,t)),children:[p("span",{children:a.label}),_("span",{"data-ui":"group-pager-actions",children:[a.previousHref&&p("a",{href:a.previousHref,"aria-label":e.labels?.previousPage??"Previous page",children:"\u2039"}),a.nextHref&&p("a",{href:a.nextHref,"aria-label":e.labels?.nextPage??"Next page",children:"\u203A"})]})]})}):null,fa=(e,t,a,r)=>_(ba,{children:[p("tr",{"data-ui":"group-row","data-group":a.id,"data-depth":String(r),children:_("th",{"data-ui":"group-cell",colSpan:String(ua(e,t)),scope:"rowgroup",children:[p("span",{"data-ui":"group-indent",style:`--kv-group-depth: ${r}`,"aria-hidden":"true"}),a.href?p("a",{"data-ui":"group-link",href:a.href,children:a.label}):p("span",{"data-ui":"group-link",children:a.label}),a.count!==void 0&&p("span",{"data-ui":"group-count",children:String(a.count)})]})}),re(a.rows??[],e.id,i=>ga(e,t,i)),re(a.children??[],i=>i.id,i=>fa(e,t,i,r+1)),Ci(e,t,a.pager)]}),Ye=e=>{let t=Si(e),a=e.groups??[],i=e.rows.length>0||a.length>0?p("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&&p("caption",{"data-ui":"table-caption",children:e.caption}),p("thead",{children:_("tr",{children:[ki(e),re(t,o=>o.key,o=>Ti(o,e.labels))]})}),p("tbody",{children:a.length>0?re(a,o=>o.id,o=>fa(e,t,o,0)):re(e.rows,e.id,o=>ga(e,t,o))})]})}):p(ae,{title:e.emptyTitle??"No records",message:e.emptyMessage??"There is nothing to show yet.",actions:e.emptyActions});return e.title?p(Ve,{title:e.title,actions:e.actions,padding:"none",body:i}):i};import{jsx as xd,jsxs as Sd}from"/_ket/view/jsx-runtime.js";var pa=["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-toolbar","list-page-controls","list-page-status","list-page-body","list-page-footer"];import{jsx as wd,jsxs as Cd}from"/_ket/view/jsx-runtime.js";var ha=["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-description","record-page-actions","record-page-meta","record-page-controller","record-page-navigation","record-page-layout","record-page-body","record-page-aside"];var ya=["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-description","form-page-actions","form-page-meta","form-page-controller","form-page-navigation","form-page-layout","form-page-body","form-page-aside"];import{jsx as Id,jsxs as Fd}from"/_ket/view/jsx-runtime.js";var va=["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-description","dashboard-page-actions","dashboard-page-meta","dashboard-page-body"];var xa=["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-description","board-page-actions","board-page-meta","board-page-toolbar","board-page-controls","board-page-body"];import{each as Vd}from"/_ket/view/index.js";import{jsx as Gd,jsxs as Ud}from"/_ket/view/jsx-runtime.js";var Sa=["pipeline","pipeline-step","pipeline-arrow","pipeline-step-label","pipeline-step-value","pipeline-step-node"];import{each as jd}from"/_ket/view/index.js";import{jsx as is,jsxs as ns}from"/_ket/view/jsx-runtime.js";var Ra=["record-form","form-errors","form-grid","form-actions"];var Ta={actions:pt,feedback:vt,fields:wt,status:yt,navigation:Pt,progress:Ot,menu:Et,popover:At,tooltip:It,dialog:Jt,toast:Xt,spinner:Bt,skeleton:Kt,scalarFields:qt,combobox:_t,dateTime:Vt,upload:zt,relationPicker:Gt,listControls:Ut,inlineEdit:Wt,resourceList:Qt,dataGrid:Yt,tree:jt,matrix:ea,barChart:ta,timeframe:aa,recordDisplay:ia,formattedValues:na,recordComposition:oa,activity:la,media:da,layouts:Tt,shell:St,appNavigation:sa,table:ca,listChrome:Zt,listPage:pa,formPage:ya,recordPage:ha,dashboardPage:va,boardPage:xa,modal:Ft,pipeline:Sa,form:Ra},Mi=[...new Set(Object.values(Ta).flat())].sort(),Li=Object.freeze(Object.fromEntries(Object.entries(Ta).map(([e,t])=>[e,[...t]])));import{signal as O}from"/_ket/view/index.js";import{jsx as Hi}from"/_ket/view/jsx-runtime.js";var Xe="record";var Di=/^[a-z][a-z0-9_]*(?:\.[a-zA-Z][a-zA-Z0-9_]*)+$/u,ka=e=>Di.test(e),je=(e,t)=>{if(!ka(t.kind))throw new TypeError(`invalid record kind "${t.kind}"`);let a=new URL(String(e),"http://ket.local");return a.searchParams.set(Xe,`${t.kind}:${t.id}`),t.tab?a.searchParams.set("tab",t.tab):a.searchParams.delete("tab"),`${a.pathname}${a.search}`};var wa=e=>{let t=new URL(String(e),"http://ket.local");return t.searchParams.delete(Xe),t.searchParams.delete("tab"),`${t.pathname}${t.search}`},pe=e=>{let t=new URL(String(e),"http://ket.local"),a=t.searchParams.get(Xe)??"",r=a.indexOf(":");if(r<=0||r===a.length-1)return null;let i=a.slice(0,r);return ka(i)?{kind:i,id:a.slice(r+1),tab:t.searchParams.get("tab")}:null},et=e=>Hi("span",{"data-ui":"record-modal-host","data-record-kind":e,hidden:!0});import{Fragment as he,jsx as Om,jsxs as ye}from"/_ket/view/jsx-runtime.js";var Pa=e=>{let t=e??{};return(Array.isArray(t.errors)?t.errors:Array.isArray(t.issues)?t.issues:[]).map(r=>{let i=r??{},o=Array.isArray(i.path)?i.path.join("."):null;return{field:typeof i.field=="string"?i.field:o,code:String(i.code??"invalid"),message:typeof i.message=="string"?i.message:null,params:i.params&&typeof i.params=="object"?i.params:{}}})},Ma=async(e,t,a={})=>{let r=await fetch(`/_ket/fn/${encodeURIComponent(e)}`,{method:"POST",credentials:"same-origin",headers:{"content-type":"application/json",...a.idempotencyKey?{"idempotency-key":a.idempotencyKey}:{}},body:JSON.stringify(t),signal:a.signal}),i=await r.json().catch(()=>({}));if(!r.ok||i.ok===!1)return{ok:!1,issues:Pa(i.error??i),message:i.error?.message??i.message??null,status:r.status};let o=i.value;return o&&typeof o=="object"&&o.ok===!1?{ok:!1,issues:Pa(o),message:null,status:r.status}:{ok:!0,value:i.value}},Oi=30,Ei=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."}),Ai=(e,t)=>t.messages?.[e]??t.previous?.[e]??t.labels?.[e]??Ei[e]??e,ve="__command",La="data-record-dialog",Ii=(e,t={})=>e.replace(/\{([a-zA-Z0-9_]+)\}/gu,(a,r)=>r in t?String(t[r]??""):a),Ea=["a[href]","button:not(:disabled)",'input:not(:disabled):not([type="hidden"])',"select:not(:disabled)","textarea:not(:disabled)",'[tabindex]:not([tabindex="-1"])'].join(", "),Da=e=>[...e.querySelectorAll(Ea)].filter(t=>!t.hidden&&t.getAttribute("aria-hidden")!=="true"&&!t.matches('[data-ui="modal-backdrop"]')),Fi=e=>{for(let t of e.querySelectorAll('input:not([type="hidden"])'))if(!t.disabled){if(t.type==="checkbox"||t.type==="radio"){if(t.checked!==t.defaultChecked)return!0}else if(t.value!==t.defaultValue)return!0}for(let t of e.querySelectorAll("textarea"))if(!t.disabled&&t.value!==t.defaultValue)return!0;for(let t of e.querySelectorAll("select"))if(!t.disabled){for(let a of t.options)if(a.selected!==a.defaultSelected)return!0}return!1},Ji=e=>{let t=[],a=e;for(;a&&a!==document.body;){let r=a.parentElement;if(!r)break;for(let i of r.children)i instanceof HTMLElement&&i!==a&&!i.matches("script, style, template")&&(t.push({element:i,inert:i.inert}),i.inert=!0);a=r}return()=>{for(let{element:r,inert:i}of t)r.inert=i}},Xi=()=>typeof crypto<"u"&&"randomUUID"in crypto?crypto.randomUUID():`${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`,M=()=>({values:{},checks:{}}),Ha=(e,t)=>`${e}\0${t}`,Oa=e=>e.after??"close",Bi=400,Ki=(e,t=Bi)=>{let a,r=()=>{clearTimeout(a),a=void 0};return{set:i=>{if(r(),!i){e(!1);return}a=setTimeout(()=>e(!0),t)},stop:r}},Ni='a, button, input, select, textarea, label, summary, details, [data-ui="select-cell"]',$i=e=>{let t=e?.closest("a[href]");return t?t.target&&t.target!=="_self"?null:t.href:e?.closest(Ni)?null:e?.closest("[data-row-href]")?.getAttribute("data-row-href")??null},oe=e=>()=>{let t=O(null),a=O("idle"),r=O(null),i=O(null),o=O([]),w=O(M()),E=O(M()),rt=O(!1),ot=O(!1),lt=Ki(s=>ot.set(s)),de=O(!1),dt=s=>{rt.set(s),lt.set(s),s&&de.set(!1)},A=O(null),Ke=O(0),V=O({}),I=new Map,_a=(s,u)=>{for(I.delete(s),I.set(s,u);I.size>Oi;)I.delete(I.keys().next().value)},L=null,Me=null,Le=!1,Ne=null,F=null,Q=null,se=null,Va=()=>typeof e.labels=="function"?e.labels():e.labels??{},J=(s,u)=>Ii(Ai(s,{messages:r()?.messages,previous:se,labels:Va()}),u),st=s=>[...e.tabs??[],...e.extensionTabs?.(s)??[]].filter(u=>u.visible?.(s)??!0),De=(s,u,m="record")=>{let g=()=>m==="dialog"?E():w(),c={kind:e.kind,id:s.id,creating:s.id==="new",tab:s.tab,data:u,t:J,fieldError:b=>{let n=o().find(l=>l.field===b);return n?n.message??J(n.code,n.params):null},draft:(b,n="")=>g().values[b]??n,draftChecked:(b,n="1",l=!1)=>g().checks[Ha(b,n)]??l,busy:ot(),dialog:A(),href:b=>je(location.href,{kind:e.kind,id:s.id,tab:b}),state:(b,n="")=>V()[b]??n},R=st(c);return R.length&&!R.some(b=>b.id===s.tab)&&(c.tab=R[0].id),c},Y=async(s,u=!1)=>{Me?.abort();let m=new AbortController;Me=m;let g=e.cache===!1?void 0:I.get(s);g&&(se=g.messages??se,r.set(g),a.set("ready"),u=!0),u||a.set("loading"),i.set(null);try{let c=s==="new",R=e.context.input?e.context.input(s,c):c?{}:{id:s},b=await Ma(e.context.fn,R,{signal:m.signal});if(m.signal.aborted)return;if(!b.ok||!b.value){i.set(b.ok?"recordModal.notFound":b.message??"recordModal.loadFailed"),a.set("error");return}se=b.value.messages??se,e.cache!==!1&&_a(s,b.value),r.set(b.value),a.set("ready")}catch(c){if(m.signal.aborted||c?.name==="AbortError")return;i.set("recordModal.loadFailed"),a.set("error")}},He=()=>L?[...L.querySelectorAll('[data-ui="modal-layer"][data-client-modal="true"]')]:[],$e=()=>He()[0]??null,ct=()=>He().at(-1)??null,Oe=(s,u)=>{if(!s)return;let m=u==="dialog"?E():w(),g={values:{...m.values},checks:{...m.checks}};for(let c of s.querySelectorAll("input[name], select[name], textarea[name]"))if(!(c.disabled||c.name===ve)){if(c instanceof HTMLInputElement){if(c.type==="file"||c.type==="hidden")continue;if(c.type==="checkbox"||c.type==="radio"){g.checks[Ha(c.name,c.value)]=c.checked,c.type==="checkbox"?g.values[c.name]=c.checked?c.value:"":c.checked&&(g.values[c.name]=c.value);continue}}g.values[c.name]=c.value}u==="dialog"?E.set(g):w.set(g)},ut=()=>{let s=He();Oe(s[0]??null,"record"),s.length>1&&Oe(s.at(-1)??null,"dialog")},mt=s=>!s||!Fi(s)?!0:globalThis.confirm(J("recordModal.unsaved")),ce=s=>{requestAnimationFrame(()=>{let u=He(),m=u[0],g=u.at(-1);if(!g)return;m&&(m.inert=u.length>1);let c=s?.();if(c?.isConnected&&g.contains(c)){c.focus();return}if(g.contains(document.activeElement))return;let R=g.querySelector('[data-ui="modal-sheet"]');(Da(g).find(n=>!n.matches('[data-ui="modal-close"]'))??R)?.focus()})},z=(s,u,m,g)=>{let c=t(),R=c?.id===s,b=u??(R?c.tab:"");R||(Ne=document.activeElement instanceof HTMLElement?document.activeElement:null,o.set([]),de.set(!1),w.set(M()),E.set(M()),V.set({}),A.set(null),F=null,r.set(null),Y(s)),t.set({id:s,tab:b});let n=je(location.href,{kind:e.kind,id:s,tab:b||null});m==="push"?(history.replaceState({...history.state??{},__ketScroll:[window.scrollX,window.scrollY]},"",location.href),history.pushState({...history.state??{},__ketRecordModal:e.kind},"",n),Le=!0):m==="replace"&&history.replaceState(history.state??{},"",n),L&&!Q&&(Q=Ji(L)),ce(g)},Ee=s=>{Me?.abort(),t.set(null),A.set(null),o.set([]),de.set(!1),w.set(M()),E.set(M()),V.set({}),a.set("idle"),r.set(null),Q?.(),Q=null,s==="history"&&Le?(Le=!1,history.back()):s!=="none"&&(Le=!1,history.replaceState(history.state??{},"",wa(location.href)));let u=Ne;Ne=null,F=null,u?.isConnected&&requestAnimationFrame(()=>u.focus())},gt=()=>{if(A()){if(!mt(ct()))return;let s=F;F=null,A.set(null),E.set(M()),o.set([]),ce(()=>s?.isConnected?s:null);return}mt($e())&&Ee("history")},za=async(s,u,m)=>{let g=e.commands?.[s],c=t(),R=r()?.data;if(!g||!c||R===void 0||rt())return;let b=new FormData(u,m instanceof HTMLButtonElement?m:null),n=u.closest('[data-ui="modal-layer"][data-client-modal="true"]'),l=A()&&n===ct()?"dialog":"record";Oe(n,l);let f=De(c,R,l);if(g.confirm){let v=g.confirm(f);if(v&&!globalThis.confirm(v))return}dt(!0),o.set([]);try{let v={};for(let[C,j]of Object.entries(g.upload??{})){let U=b.get(C);if(!(U instanceof File)||U.size===0)continue;let ue=new FormData;for(let[Wa,Za]of Object.entries(j(b,f)))ue.append(Wa,Za);ue.append("file",U,U.name);let bt=await fetch("/files",{method:"POST",credentials:"same-origin",body:ue}),ee=await bt.json().catch(()=>null);if(!bt.ok||!ee?.id){o.set([{field:null,code:"recordModal.uploadFailed",message:typeof ee?.message=="string"?ee.message:null,params:{}}]);return}v[C]={id:String(ee.id),name:typeof ee.name=="string"?ee.name:null}}let P=(C,j)=>Ma(C,j,{idempotencyKey:Xi()}),S=await P(g.fn,g.input(b,f,v));for(let C of S.ok?g.also??[]:[])if(!(C.when&&!C.when(f))&&(S=await P(C.fn,C.input(b,f,v)),!S.ok))break;if(!S.ok){o.set(S.issues.length?S.issues:[{field:null,code:S.message??"recordModal.saveFailed",message:S.message,params:{}}]);return}l==="dialog"?E.set(M()):w.set(M()),u.reset();let G=S.value,K=Oa(g)==="open"?g.created?.(S.value)??(G&&typeof G=="object"&&G.id!=null?String(G.id):null):null;I.delete(c.id),K&&I.delete(K);let $=()=>{document.dispatchEvent(new CustomEvent("ket:records-changed",{detail:{kind:e.kind,ids:[K??c.id]}}))},k=Oa(g);if(k!=="close"&&de.set(!0),k==="open"){A.set(null),E.set(M()),K?z(K,g.openTab??null,"replace"):Ee("history"),$();return}if($(),k==="close")Ee("history");else if(k==="reload"){let C=F;F=null,A.set(null),E.set(M()),await Y(c.id),ce(()=>C?.isConnected?C:null)}else if(k==="refresh")await Y(c.id,!0);else if(k==="stay")Ke.set(Ke()+1);else if("tab"in k)F=null,A.set(null),E.set(M()),z(c.id,k.tab,"replace"),await Y(c.id);else{let C=k.dialog?null:F;F=k.dialog&&m instanceof HTMLElement?m:null,A.set(k.dialog?{name:k.dialog,params:{}}:null),E.set(M()),await Y(c.id,!0),ce(()=>C?.isConnected?C:null)}}catch{o.set([{field:null,code:"recordModal.saveFailed",message:null,params:{}}])}finally{dt(!1)}},ft=s=>{let u=o().filter(c=>!c.field),m=o().filter(c=>c.field&&!L?.querySelector(`[name="${CSS.escape(c.field)}"]`)),g=[...u,...m];return g.length?X({title:s.t("recordModal.errorTitle"),message:g.map(c=>c.message??s.t(c.code,c.params)).join(" \xB7 "),tone:"danger"}):de()?X({title:s.t("recordModal.savedTitle"),message:s.t("recordModal.saved"),tone:"positive"}):""},Ga=()=>{let s=t();if(!s)return"";if(a()==="error")return ye(he,{children:[X({title:J("recordModal.errorTitle"),message:J(i()??"recordModal.loadFailed"),tone:"danger"}),D({label:J("recordModal.retry"),variant:"secondary",name:"intent",value:"retry"})]});let u=r()?.data;if(a()!=="ready"||u===void 0)return ie({label:J("recordModal.loading")});let m=De(s,u),g=st(m),c=g.find(l=>l.id===m.tab),R=e.header?.(m)??"",b=ft(m),n=c?c.view(m):e.body?.(m)??"";return g.length?We({id:`record-view-${e.kind.replaceAll(".","-")}`,label:e.title(m),items:g.map(l=>({id:l.id,label:l.label(m),href:m.href(l.id),active:l.id===m.tab})),context:R!==""||b!==""?ye(he,{children:[R,b]}):void 0,body:n}):ye(he,{children:[R,b,n]})},Ua=()=>{let s=t(),u=A(),m=r()?.data;if(!s||!u||m===void 0)return"";let g=e.dialogs?.[u.name];if(!g)return"";let c=De(s,m,"dialog");return be({id:`record-dialog-${e.kind.replaceAll(".","-")}-${u.name}`,mode:"client",presentation:"dialog",size:g.size??"default",title:g.title(c),closeLabel:J("recordModal.close"),body:ye(he,{children:[ft(c),g.view(c)]})})};return{view:()=>{Ke();let s=t();if(!s)return et(e.kind);let u=r()?.data,m=u===void 0?null:De(s,u);return ye(he,{children:[et(e.kind),be({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,title:m?e.title(m):J("recordModal.loading"),description:m?e.description?.(m)??null:null,status:m?e.status?.(m):void 0,actions:m?e.actions?.(m):void 0,closeLabel:J("recordModal.close"),body:Ga()}),Ua()]})},mount:({root:s,lifetime:u})=>{L=s,document.addEventListener("click",n=>{if(n.defaultPrevented||n.button!==0||n.metaKey||n.ctrlKey||n.shiftKey||n.altKey)return;let l=n.target instanceof Element?n.target:null,f=l?.closest('[data-ui="modal-layer"][data-client-modal="true"]');if(f&&L?.contains(f)){if(l?.closest('[data-ui="modal-close"], [data-ui="modal-backdrop"], [data-record-close]')){n.preventDefault(),gt();return}let K=l?.closest("button[data-record-state], a[data-record-state]");if(K){n.preventDefault(),ut(),V.set({...V(),[K.getAttribute("data-record-state")??""]:K.getAttribute("data-record-value")??""});return}let $=l?.closest(`[${La}]`);if($){n.preventDefault();let k=document.activeElement;F=k instanceof HTMLElement&&$.contains(k)?k:$.querySelector(Ea),E.set(M());let C={};for(let[j,U]of Object.entries($.dataset))j.startsWith("recordParam")&&U!==void 0&&(C[j.slice(11).replace(/^./u,ue=>ue.toLowerCase())]=U);o.set([]),A.set({name:$.getAttribute(La)??"",params:C}),ce();return}if(l?.closest('button[name="intent"][value="retry"]')){n.preventDefault();let k=t();k&&Y(k.id);return}}let v=$i(l);if(!v)return;let P=new URL(v,location.href);if(P.origin!==location.origin||P.pathname!==location.pathname)return;let S=pe(P);if(!S||S.kind!==e.kind)return;n.preventDefault();let G=t();if(G?.id===S.id){if((S.tab??"")===G.tab)return;Oe($e(),"record"),o.set([]),z(S.id,S.tab??null,"replace",()=>$e()?.querySelector('[data-ui="tab"][data-active="true"]')??null);return}z(S.id,S.tab??null,"push")},{signal:u,capture:!0}),document.addEventListener("keydown",n=>{if(n.defaultPrevented||n.key!=="Enter"&&n.key!==" ")return;let l=n.target instanceof Element?n.target:null;if(!l?.matches('[data-row-href][tabindex="0"]'))return;let f=l.getAttribute("data-row-href"),v=f?new URL(f,location.href):null;if(!v||v.origin!==location.origin||v.pathname!==location.pathname)return;let P=pe(v);!P||P.kind!==e.kind||(n.preventDefault(),z(P.id,P.tab??null,"push"))},{signal:u,capture:!0}),document.addEventListener("submit",n=>{let l=n.target instanceof HTMLFormElement?n.target:null;if(!l||!L?.contains(l))return;n.preventDefault();let f=n.submitter??null,v=(f instanceof HTMLButtonElement&&f.name===ve?f.value:null)??String(new FormData(l).get(ve)??"");za(v,l,f)},{signal:u}),document.addEventListener("keydown",n=>{if(!t())return;let l=L?.querySelectorAll('[data-ui="modal-layer"][data-client-modal="true"]'),f=l?.[l.length-1];if(!f)return;if(n.key==="Escape"){n.preventDefault(),gt();return}if(n.key!=="Tab")return;let v=Da(f);if(!v.length){n.preventDefault(),f.querySelector('[data-ui="modal-sheet"]')?.focus();return}let P=v[0],S=v.at(-1);n.shiftKey&&(document.activeElement===P||!f.contains(document.activeElement))?(n.preventDefault(),S.focus()):!n.shiftKey&&(document.activeElement===S||!f.contains(document.activeElement))&&(n.preventDefault(),P.focus())},{signal:u}),document.addEventListener("change",n=>{let l=n.target instanceof Element?n.target:null;if(!(!l||!L?.contains(l))){if((l instanceof HTMLSelectElement||l instanceof HTMLInputElement)&&l.hasAttribute("data-record-state")){ut(),V.set({...V(),[l.getAttribute("data-record-state")??""]:l.value});return}l instanceof HTMLInputElement&&l.type==="file"&&l.hasAttribute("data-record-submit")&&l.files?.length&&l.form?.requestSubmit()}},{signal:u});let m=n=>{let f=(n.target instanceof Element?n.target:null)?.closest("form[data-record-dropzone]")??null;return f&&L?.contains(f)?f:null};document.addEventListener("dragover",n=>{let l=m(n);l&&(n.preventDefault(),l.dataset.drag="1")},{signal:u}),document.addEventListener("dragleave",n=>{let l=m(n);if(!l)return;let f=n.relatedTarget;f instanceof Node&&l.contains(f)||delete l.dataset.drag},{signal:u}),document.addEventListener("drop",n=>{let l=m(n);if(!l)return;n.preventDefault(),delete l.dataset.drag;let f=n.dataTransfer?.files,v=l.querySelector('input[type="file"]');if(!v||!f?.length)return;let P=new DataTransfer;P.items.add(f[0]),v.files=P.files,l.requestSubmit()},{signal:u});let g="ket-island, div[data-ket-island]",c=n=>n instanceof Element&&(n.matches(g)||n.querySelector(g)!==null),R=new MutationObserver(n=>{for(let l of n){for(let f of l.removedNodes)c(f)&&document.dispatchEvent(new CustomEvent("ket:islands-detach",{detail:{root:f}}));for(let f of l.addedNodes)c(f)&&f.isConnected&&document.dispatchEvent(new CustomEvent("ket:islands-attach",{detail:{root:f}}))}});R.observe(L,{childList:!0,subtree:!0}),u.addEventListener("abort",()=>R.disconnect()),document.addEventListener("ket:records-changed",n=>{let l=n.detail;if(l?.kind===e.kind)if(!Array.isArray(l.ids)||!l.ids.length)I.clear();else for(let f of l.ids)I.delete(String(f))},{signal:u}),document.addEventListener("ket:popstate",n=>{let l=pe(location.href),f=l?.kind===e.kind;!f&&!t()||(n.preventDefault(),f&&l?z(l.id,l.tab??null,"none"):Ee("none"))},{signal:u});let b=pe(location.href);b?.kind===e.kind&&z(b.id,b.tab??null,"none"),u.addEventListener("abort",()=>{Me?.abort(),lt.stop(),Q?.(),Q=null,L=null})}}};import{jsx as le,jsxs as qi}from"/_ket/view/jsx-runtime.js";var tt=e=>qi("form",{"data-ui":"record-form",method:"post",action:"","data-record-kind":e.kind,id:e.id,children:[e.command?le("input",{type:"hidden",name:ve,value:e.command,autocomplete:"off"}):"",le("div",{"data-ui":"form-grid",children:e.fields.map(t=>Z(t))}),e.actions?.length?le("div",{"data-ui":"form-actions",children:te({actions:e.actions})}):""]}),Aa=e=>le("select",{"data-ui":"field-control","data-record-state":e.state,id:e.id,name:e.name,required:e.required===!0,disabled:e.disabled===!0,"aria-invalid":e.invalid?"true":null,children:e.options.map(t=>le("option",{value:t.value,selected:t.value===e.value,children:t.label}))}),Ia=e=>le("span",{"data-record-dialog":e.dialog,"data-record-param-id":e.id??null,children:e.children});var Fa={vi:{"recordModal.close":"\u0110\xF3ng","recordModal.loading":"\u0110ang t\u1EA3i\u2026","recordModal.loadFailed":"Kh\xF4ng \u0111\u1ECDc \u0111\u01B0\u1EE3c m\u1EE5c c\u1EA5u h\xECnh.","recordModal.notFound":"M\u1EE5c c\u1EA5u h\xECnh 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 n\u1ED9i dung v\u1EEBa nh\u1EADp?","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 configuration entry could not be read.","recordModal.notFound":"The configuration entry 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."}};var Ja="__command",Se=()=>typeof crypto<"u"&&"randomUUID"in crypto?crypto.randomUUID():`${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`,at=()=>typeof document<"u"&&document.documentElement.lang==="en"?"en":"vi",Te=e=>({fn:e,input:(t,a)=>a?{locale:at()}:{id:t,locale:at()}}),ke=()=>Fa[at()],d=(e,t,a)=>e.t(`crm_backend.${t}`,a),Ba=e=>e.data.permissions.save===!0,h=(e,t)=>String(e.get(t)??"").trim(),nt=(e,t)=>["1","on","true"].includes(String(e.get(t)??"")),Re=(e,t,a)=>{let r=h(e,t),i=Number(r);return r===""||Number.isNaN(i)?a:i},_i=(e,t)=>`crm-${e.kind.replace(".","-")}-${t}`,y=(e,t)=>({...t,id:_i(e,t.name),value:t.type==="checkbox"?e.draftChecked(t.name,"1",t.value===!0||t.value==="1"):t.type==="checkbox-group"?t.value:e.draft(t.name,String(t.value??"")),options:t.type==="checkbox-group"?t.options?.map(a=>({...a,checked:e.draftChecked(a.name??`${t.name}[]`,a.value,a.checked===!0)})):t.options,error:e.fieldError(t.name),disabled:t.disabled===!0||!Ba(e)}),it=(e,t)=>{let a=y(e,{name:t.name,label:t.label,type:"select",required:t.required});return{...a,options:t.options,control:Aa({id:a.id,name:t.name,state:t.state,value:t.value,options:t.options,required:t.required,disabled:a.disabled===!0,invalid:!!a.error})}},Ka=e=>{let t=Array.isArray(e.data.record.allowedKinds)?e.data.record.allowedKinds:[];return y(e,{name:"allowedKinds",label:d(e,"field.allowedKinds"),type:"checkbox-group",required:!0,span:"full",options:e.data.kinds.map(a=>({name:`kind_${a}`,value:"1",label:e.t(`crm.kind.${a}`),checked:t.includes(a)}))})},Na=(e,t)=>t.filter(a=>nt(e,`kind_${a}`)),$a=e=>e.data.teams.map(t=>({value:String(t.id),label:t.active===!1?d(e,"value.archivedTeam",{name:String(t.name)}):String(t.name)})),xe=e=>e.data.record.active!==!1,we=e=>e.creating?"":me({label:xe(e)?d(e,"state.active"):d(e,"state.archived"),tone:xe(e)?"positive":"neutral",value:xe(e)?"active":"archived"}),Ce=(e,t,a=!0)=>{let r=Ba(e),i=[];return r&&(i.push(D({type:"submit",name:Ja,value:e.creating?"create":"save",label:e.creating?d(e,"configuration.create"):d(e,"action.save"),variant:"primary",loading:e.busy})),!e.creating&&a&&(e.data.permissions.archive??!0)&&i.push(D({type:"submit",name:Ja,value:xe(e)?"archive":"restore",label:xe(e)?d(e,"action.archive"):d(e,"action.restore"),variant:"secondary",disabled:e.busy}))),Fe({gap:"compact",items:[r?"":X({title:d(e,"configuration.readOnlyTitle"),message:d(e,"configuration.readOnly")}),tt({kind:e.kind,fields:t,actions:i})]})},Be=(e,t)=>{let a=i=>({values:i,idempotencyKey:Se()}),r=i=>({...i.data.record,id:i.id,expectedVersion:i.data.record.version??null});return{create:{fn:e,input:(i,o)=>a({...t(i,o),id:Se()}),after:"open",created:i=>i?.id?String(i.id):null},save:{fn:e,input:(i,o)=>a({...t(i,o),id:o.id,expectedVersion:o.data.record.version??null}),after:"refresh"},archive:{fn:e,input:(i,o)=>a({...r(o),active:!1}),after:"refresh"},restore:{fn:e,input:(i,o)=>a({...r(o),active:!0}),after:"refresh"}}},Pe=(e,t)=>e.creating?d(e,t):String(e.data.record.name??e.id),Vi=e=>Ce(e,[y(e,{name:"name",label:d(e,"field.configName"),value:e.data.record.name,required:!0}),y(e,{name:"code",label:d(e,"field.code"),value:e.data.record.code,required:!0}),y(e,{name:"leaderUserId",label:d(e,"field.teamLeader"),type:"select",value:e.data.record.leaderUserId??"",options:[{value:"",label:d(e,"value.unset")},...e.data.people.map(t=>({value:String(t.id),label:String(t.name)}))]}),y(e,{name:"assignmentMode",label:d(e,"field.assignmentMode"),type:"select",value:e.data.record.assignmentMode??"manual",options:e.data.assignmentModes.map(t=>({value:t,label:d(e,`assignmentMode.${t}`)}))})]),Xa=(e,t,a)=>Ia({dialog:"member",id:t,children:D({label:e,variant:a,size:a==="tertiary"?"compact":"default"})}),zi=e=>{let t=e.data.permissions.members===!0,a=e.data.members,r=i=>me({label:i.active===!1?d(e,"state.archived"):d(e,"state.active"),tone:i.active===!1?"neutral":"positive"});return Fe({gap:"compact",items:[_e({items:[d(e,"configuration.team.membersHint"),t?Xa(d(e,"configuration.team.addMember"),null,"secondary"):""]}),a.length?Ye({rows:a,id:i=>String(i.id),responsive:"stack",columns:[{key:"name",label:d(e,"configuration.team.member"),priority:"primary",cell:i=>t?Xa(String(i.userName??i.userId),String(i.id),"tertiary"):String(i.userName??i.userId)},{key:"capacity",label:d(e,"field.capacity"),kind:"number",cell:i=>String(i.capacity??1)},{key:"sequence",label:d(e,"field.sequence"),kind:"number",cell:i=>String(i.sequence??10)},{key:"assigned",label:d(e,"configuration.team.assigned"),kind:"number",cell:i=>String(i.assignedCount??0)},{key:"active",label:d(e,"field.active"),kind:"status",cell:r}]}):X({title:d(e,"configuration.team.membersEmpty"),message:d(e,"configuration.team.membersEmptyHint")})]})},qa=e=>{let t=e.dialog?.params.id;return t?e.data.members.find(a=>String(a.id)===t)??null:null},Gi=e=>{let t=qa(e),a=new Set(e.data.members.filter(w=>w.id!==t?.id).map(w=>String(w.userId))),r=e.data.permissions.members===!0,i=e.data.people.filter(w=>!a.has(String(w.id))),o=w=>({...y(e,w),id:`crm-team-member-${w.name}`,disabled:!r});return tt({kind:e.kind,command:"memberSave",fields:[o({name:"userId",label:d(e,"configuration.team.member"),type:"select",required:!0,value:t?.userId??"",options:[{value:"",label:d(e,"value.unset")},...i.map(w=>({value:String(w.id),label:String(w.name)}))]}),o({name:"capacity",label:d(e,"field.capacity"),type:"number",min:1,value:String(t?.capacity??1),help:d(e,"field.capacityHint")}),o({name:"sequence",label:d(e,"field.sequence"),type:"number",value:String(t?.sequence??10)}),o({name:"active",label:d(e,"field.active"),type:"checkbox",value:t?t.active!==!1:!0})],actions:r?[D({type:"submit",label:t?d(e,"action.save"):d(e,"configuration.team.addMember"),variant:"primary",loading:e.busy})]:[]})},Ui={kind:"crm.team",size:"large",context:Te("crm.team.modalContext"),labels:ke,title:e=>Pe(e,"configuration.team.create"),description:e=>d(e,"configuration.team.subtitle"),status:we,tabs:[{id:"info",label:e=>d(e,"configuration.team.identity"),view:Vi},{id:"members",label:e=>d(e,"configuration.membersInTeam"),visible:e=>!e.creating,view:zi}],dialogs:{member:{title:e=>qa(e)?d(e,"configuration.team.editMember"):d(e,"configuration.team.addMember"),view:Gi}},commands:{...Be("crm.team.save",e=>({name:h(e,"name"),code:h(e,"code"),leaderUserId:h(e,"leaderUserId")||null,assignmentMode:h(e,"assignmentMode")||"manual"})),memberSave:{fn:"crm.team.member.save",input:(e,t)=>({id:t.dialog?.params.id||Se(),teamId:t.id,userId:h(e,"userId"),capacity:Re(e,"capacity",1),sequence:Re(e,"sequence",10),active:nt(e,"active"),idempotencyKey:Se()}),after:"reload"}}},Wi=e=>Ce(e,[y(e,{name:"name",label:d(e,"field.configName"),value:e.data.record.name,required:!0}),y(e,{name:"code",label:d(e,"field.code"),value:e.data.record.code,required:!0}),y(e,{name:"sequence",label:d(e,"field.sequence"),type:"number",value:e.data.record.sequence??10}),Ka(e),y(e,{name:"teamId",label:d(e,"field.team"),type:"select",value:e.data.record.teamId??"",options:[{value:"",label:d(e,"value.allTeams")},...$a(e)]}),y(e,{name:"terminalState",label:d(e,"field.terminalState"),type:"select",value:e.data.record.terminalState??"open",options:e.data.terminalStates.map(t=>({value:t,label:e.t(`crm.terminal.${t}`)}))}),y(e,{name:"fold",label:d(e,"field.fold"),type:"checkbox",value:e.data.record.fold===!0})]),Zi={kind:"crm.stage",size:"large",context:Te("crm.stage.modalContext"),labels:ke,title:e=>Pe(e,"configuration.stage.create"),status:we,body:Wi,commands:Be("crm.stage.save",(e,t)=>({name:h(e,"name"),code:h(e,"code"),sequence:Re(e,"sequence",10),allowedKinds:Na(e,t.data.kinds),teamId:h(e,"teamId")||null,terminalState:h(e,"terminalState")||"open",fold:nt(e,"fold")}))},Qi=e=>Ce(e,[y(e,{name:"name",label:d(e,"field.configName"),value:e.data.record.name,required:!0}),y(e,{name:"color",label:d(e,"field.color"),type:"color",value:e.data.record.color||"#64748b"})]),Yi={kind:"crm.tag",context:Te("crm.tag.modalContext"),labels:ke,title:e=>Pe(e,"configuration.tag.create"),status:we,body:Qi,commands:{create:{fn:"crm.tag.save",input:e=>({id:Se(),name:h(e,"name"),color:h(e,"color")||null}),after:"open",created:e=>e?.id?String(e.id):null},save:{fn:"crm.tag.save",input:(e,t)=>({id:t.id,name:h(e,"name"),color:h(e,"color")||null}),after:"refresh"},archive:{fn:"crm.tag.archive",input:(e,t)=>({id:t.id}),after:"refresh"},restore:{fn:"crm.tag.save",input:(e,t)=>({id:t.id,name:String(t.data.record.name??""),active:!0}),after:"refresh"}}},ji=e=>e.state("team",e.draft("teamId",String(e.data.record.teamId??""))),en=e=>{let t=ji(e),a=e.data.assignees[t]??[];return Ce(e,[y(e,{name:"name",label:d(e,"field.configName"),value:e.data.record.name,required:!0}),y(e,{name:"priority",label:d(e,"field.priority"),type:"number",value:e.data.record.priority??10,help:d(e,"field.priorityHint")}),Ka(e),it(e,{name:"teamId",label:d(e,"field.team"),state:"team",required:!0,value:t,options:[{value:"",label:d(e,"value.unset")},...$a(e)]}),y(e,{name:"assigneeUserId",label:d(e,"field.assignee"),type:"select",value:a.some(r=>String(r.id)===String(e.data.record.assigneeUserId))?String(e.data.record.assigneeUserId):"",options:[{value:"",label:d(e,"value.teamMode")},...a.map(r=>({value:String(r.id),label:String(r.name)}))]}),y(e,{name:"utmSource",label:d(e,"field.utmSource"),value:e.data.record.utmSource??""}),y(e,{name:"minimumScore",label:d(e,"field.minimumScore"),type:"number",value:e.data.record.minimumScore??""})])},tn={kind:"crm.assignmentRule",size:"large",context:Te("crm.assignmentRule.modalContext"),labels:ke,title:e=>Pe(e,"configuration.assignmentRule.create"),status:we,body:en,commands:Be("crm.assignmentRule.save",(e,t)=>({name:h(e,"name"),priority:Re(e,"priority",10),allowedKinds:Na(e,t.data.kinds),teamId:h(e,"teamId")||null,assigneeUserId:h(e,"assigneeUserId")||null,utmSource:h(e,"utmSource")||null,minimumScore:h(e,"minimumScore")===""?null:h(e,"minimumScore")}))},an=e=>{let t=Object.keys(e.data.operators),a=e.state("field",e.draft("field",String(e.data.record.field??t[0]??""))),r=t.includes(a)?a:t[0]??"",i=e.data.operators[r]??[],o=e.state("operator",e.draft("operator",String(e.data.record.operator??"")));return{field:r,operators:i,operator:i.includes(o)?o:i[0]??""}},nn=e=>{let t=an(e);return Ce(e,[y(e,{name:"name",label:d(e,"field.configName"),value:e.data.record.name,required:!0}),it(e,{name:"field",label:d(e,"field.ruleField"),state:"field",required:!0,value:t.field,options:Object.keys(e.data.operators).map(a=>({value:a,label:d(e,`scoreField.${a}`)}))}),it(e,{name:"operator",label:d(e,"field.operator"),state:"operator",required:!0,value:t.operator,options:t.operators.map(a=>({value:a,label:d(e,`operator.${a}`)}))}),...t.operator==="present"?[]:[y(e,{name:"value",label:d(e,"field.ruleValue"),type:t.field==="expectedRevenue"?"number":"text",value:e.data.record.value??"",required:!0})],y(e,{name:"points",label:d(e,"field.points"),type:"number",value:e.data.record.points??0}),y(e,{name:"sequence",label:d(e,"field.sequence"),type:"number",value:e.data.record.sequence??10})])},rn={kind:"crm.scoreRule",size:"large",context:Te("crm.scoreRule.modalContext"),labels:ke,title:e=>Pe(e,"configuration.scoreRule.create"),status:we,body:nn,commands:Be("crm.scoreRule.save",e=>{let t=h(e,"operator");return{name:h(e,"name"),field:h(e,"field"),operator:t,value:t==="present"?"":h(e,"value"),points:h(e,"points")||"0",sequence:Re(e,"sequence",10)}})},qm=oe(Ui),_m=oe(Zi),Vm=oe(Yi),zm=oe(tn),Gm=oe(rn);export{tn as assignmentRuleDefinition,en as assignmentRuleView,ji as chosenTeam,zm as crmAssignmentRuleModal,Gm as crmScoreRuleModal,_m as crmStageModal,Vm as crmTagModal,qm as crmTeamModal,Gi as memberDialogView,an as scoreRuleChoice,rn as scoreRuleDefinition,nn as scoreRuleView,Zi as stageDefinition,Wi as stageView,Yi as tagDefinition,Qi as tagView,Ui as teamDefinition,Vi as teamInfoView,zi as teamMembersView};
|