@ketvietlab/ketsuite 0.1.30 → 0.1.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/dist/cli.js +1 -1
  2. package/dist/modules/backend/design/client/backend-shell.d.mts.map +1 -1
  3. package/dist/modules/backend/design/client/backend-shell.mjs +1 -1
  4. package/dist/modules/backend/design/client/backend-shell.mjs.map +2 -2
  5. package/dist/modules/backend/design/client/ket-table.d.mts.map +1 -1
  6. package/dist/modules/backend/design/client/ket-table.mjs +1 -1
  7. package/dist/modules/backend/design/client/ket-table.mjs.map +2 -2
  8. package/dist/modules/backend/design/client/search-filter.d.mts.map +1 -1
  9. package/dist/modules/backend/design/client/search-filter.mjs +1 -1
  10. package/dist/modules/backend/design/client/search-filter.mjs.map +2 -2
  11. package/dist/modules/backend/design/content.css +5 -5
  12. package/dist/modules/backend/design/controls.css +10 -36
  13. package/dist/modules/backend/design/forms.css +2 -188
  14. package/dist/modules/backend/design/lists.css +1 -50
  15. package/dist/modules/crm_backend/client/crm-case-modal.d.mts +8 -8
  16. package/dist/modules/crm_backend/client/crm-case-modal.d.mts.map +1 -1
  17. package/dist/modules/crm_backend/client/crm-case-modal.mjs +1 -1
  18. package/dist/modules/crm_backend/client/crm-case-modal.mjs.map +3 -3
  19. package/dist/modules/crm_backend/client/crm-configuration-modal.d.mts +35 -35
  20. package/dist/modules/crm_backend/client/crm-configuration-modal.d.mts.map +1 -1
  21. package/dist/modules/crm_backend/client/crm-configuration-modal.mjs +1 -1
  22. package/dist/modules/crm_backend/client/crm-configuration-modal.mjs.map +3 -3
  23. package/dist/modules/product_backend/client/attribute-modal.d.mts +5 -5
  24. package/dist/modules/product_backend/client/attribute-modal.d.mts.map +1 -1
  25. package/dist/modules/product_backend/client/attribute-modal.mjs +1 -1
  26. package/dist/modules/product_backend/client/attribute-modal.mjs.map +3 -3
  27. package/dist/modules/product_backend/client/product-modal.d.mts +8 -8
  28. package/dist/modules/product_backend/client/product-modal.d.mts.map +1 -1
  29. package/dist/modules/product_backend/client/product-modal.mjs +1 -1
  30. package/dist/modules/product_backend/client/product-modal.mjs.map +3 -3
  31. package/dist/modules/product_backend/client/variant-editor.d.mts +2 -2
  32. package/dist/modules/product_backend/client/variant-editor.d.mts.map +1 -1
  33. package/dist/modules/product_backend/client/variant-editor.mjs +1 -1
  34. package/dist/modules/product_backend/client/variant-editor.mjs.map +2 -2
  35. package/dist/modules/purchase_backend/client/purchase-order-modal.d.mts +5 -5
  36. package/dist/modules/purchase_backend/client/purchase-order-modal.d.mts.map +1 -1
  37. package/dist/modules/purchase_backend/client/purchase-order-modal.mjs +1 -1
  38. package/dist/modules/purchase_backend/client/purchase-order-modal.mjs.map +3 -3
  39. package/dist/modules/purchase_backend/client/vendor-pricelist-modal.d.mts +4 -4
  40. package/dist/modules/purchase_backend/client/vendor-pricelist-modal.d.mts.map +1 -1
  41. package/dist/modules/purchase_backend/client/vendor-pricelist-modal.mjs +1 -1
  42. package/dist/modules/purchase_backend/client/vendor-pricelist-modal.mjs.map +3 -3
  43. package/dist/modules/sale_backend/client/invoicing-policy-modal.d.mts +4 -4
  44. package/dist/modules/sale_backend/client/invoicing-policy-modal.d.mts.map +1 -1
  45. package/dist/modules/sale_backend/client/invoicing-policy-modal.mjs +1 -1
  46. package/dist/modules/sale_backend/client/invoicing-policy-modal.mjs.map +3 -3
  47. package/dist/modules/sale_backend/client/sale-order-modal.d.mts +5 -5
  48. package/dist/modules/sale_backend/client/sale-order-modal.d.mts.map +1 -1
  49. package/dist/modules/sale_backend/client/sale-order-modal.mjs +1 -1
  50. package/dist/modules/sale_backend/client/sale-order-modal.mjs.map +3 -3
  51. package/dist/modules/stock_backend/client/inventory-count-modal.d.mts +4 -4
  52. package/dist/modules/stock_backend/client/inventory-count-modal.d.mts.map +1 -1
  53. package/dist/modules/stock_backend/client/inventory-count-modal.mjs +1 -1
  54. package/dist/modules/stock_backend/client/inventory-count-modal.mjs.map +3 -3
  55. package/dist/modules/stock_backend/client/stock-configuration-modal.d.mts +14 -14
  56. package/dist/modules/stock_backend/client/stock-configuration-modal.d.mts.map +1 -1
  57. package/dist/modules/stock_backend/client/stock-configuration-modal.mjs +1 -1
  58. package/dist/modules/stock_backend/client/stock-configuration-modal.mjs.map +3 -3
  59. package/dist/modules/stock_backend/client/stock-transfer-modal.d.mts +4 -4
  60. package/dist/modules/stock_backend/client/stock-transfer-modal.d.mts.map +1 -1
  61. package/dist/modules/stock_backend/client/stock-transfer-modal.mjs +1 -1
  62. package/dist/modules/stock_backend/client/stock-transfer-modal.mjs.map +3 -3
  63. package/dist/modules/user_backend/client/access-policy-modal.d.mts +4 -4
  64. package/dist/modules/user_backend/client/access-policy-modal.d.mts.map +1 -1
  65. package/dist/modules/user_backend/client/access-policy-modal.mjs +1 -1
  66. package/dist/modules/user_backend/client/access-policy-modal.mjs.map +3 -3
  67. package/dist/modules/user_backend/client/role-modal.d.mts +6 -6
  68. package/dist/modules/user_backend/client/role-modal.d.mts.map +1 -1
  69. package/dist/modules/user_backend/client/role-modal.mjs +1 -1
  70. package/dist/modules/user_backend/client/role-modal.mjs.map +3 -3
  71. package/dist/modules/user_backend/client/user-modal.d.mts +9 -9
  72. package/dist/modules/user_backend/client/user-modal.d.mts.map +1 -1
  73. package/dist/modules/user_backend/client/user-modal.mjs +1 -1
  74. package/dist/modules/user_backend/client/user-modal.mjs.map +3 -3
  75. package/dist/scaffold/index.js +1 -1
  76. package/dist/ui/client/record-modal-form.d.ts +10 -0
  77. package/dist/ui/client/record-modal-form.d.ts.map +1 -1
  78. package/dist/ui/client/record-modal-form.js +3 -1
  79. package/dist/ui/client/record-modal-form.js.map +1 -1
  80. package/dist/ui/client/record-modal.d.ts +9 -1
  81. package/dist/ui/client/record-modal.d.ts.map +1 -1
  82. package/dist/ui/client/record-modal.js +78 -17
  83. package/dist/ui/client/record-modal.js.map +1 -1
  84. package/dist/ui/index.d.ts +2 -2
  85. package/dist/ui/index.d.ts.map +1 -1
  86. package/dist/ui/index.js +2 -2
  87. package/dist/ui/index.js.map +1 -1
  88. package/dist/ui/record-modal.d.ts +3 -0
  89. package/dist/ui/record-modal.d.ts.map +1 -1
  90. package/dist/ui/record-modal.js +15 -1
  91. package/dist/ui/record-modal.js.map +1 -1
  92. package/package.json +4 -4
@@ -1,4 +1,4 @@
1
- declare var mi: {
1
+ declare var pi: {
2
2
  kind: string;
3
3
  size: string;
4
4
  labels: () => {
@@ -112,12 +112,12 @@ declare var mi: {
112
112
  after: string;
113
113
  };
114
114
  };
115
- }, Xf: () => {
115
+ }, Uf: () => {
116
116
  view: () => any;
117
- mount: ({ root: i, lifetime: c }: {
117
+ mount: ({ root: o, lifetime: c }: {
118
118
  lifetime: any;
119
119
  root: any;
120
120
  }) => void;
121
121
  };
122
- export { Xf as accessPolicyModal, mi as accessPolicyModalDefinition };
122
+ export { Uf as accessPolicyModal, pi as accessPolicyModalDefinition };
123
123
  //# sourceMappingURL=access-policy-modal.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"access-policy-modal.d.mts","sourceRoot":"","sources":["../../../../../../../packages/ketsuite/src/modules/user_backend/client/access-policy-modal.mjs"],"names":[],"mappings":"AAC+quD,QAAA,IAA0rK,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAAiyD,EAAE;gBAAM,MAAM;gBAAuB,6BAA6B;gBAAiB,cAAc;;;;;;CAAyF,EAAC,EAAE;;;;;;CAAO,CAAC;AAAA,OAAM,EAAC,EAAE,IAAI,iBAAiB,EAAC,EAAE,IAAI,2BAA2B,EAAC,CAAC"}
1
+ {"version":3,"file":"access-policy-modal.d.mts","sourceRoot":"","sources":["../../../../../../../packages/ketsuite/src/modules/user_backend/client/access-policy-modal.mjs"],"names":[],"mappings":"AAC+pxD,QAAA,IAA4rK,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAAiyD,EAAE;gBAAM,MAAM;gBAAuB,6BAA6B;gBAAiB,cAAc;;;;;;CAAyF,EAAC,EAAE;;;;;;CAAO,CAAC;AAAA,OAAM,EAAC,EAAE,IAAI,iBAAiB,EAAC,EAAE,IAAI,2BAA2B,EAAC,CAAC"}
@@ -1,2 +1,2 @@
1
1
  // @ts-nocheck Generated by tools/build-backend-client.mjs — do not edit.
2
- import{each as on}from"/_ket/view/index.js";import{Fragment as Tt,jsx as ae,jsxs as sn}from"/_ket/view/jsx-runtime.js";var kt=["action","action-leading","action-label","action-spinner","action-group"],ln=e=>sn(Tt,{children:[e.loading===!0&&ae("span",{"data-ui":"action-spinner","aria-hidden":"true"}),e.loading!==!0&&e.leading!==void 0&&ae("span",{"data-ui":"action-leading","aria-hidden":"true",children:e.leading}),!e.iconOnly&&ae("span",{"data-ui":"action-label",children:e.label})]}),E=e=>ae("button",{"data-ui":"action","data-variant":e.variant??"secondary","data-size":e.size??"default",type:e.type??"button",name:e.name??null,value:e.value??null,form:e.form??null,disabled:e.disabled===!0||e.loading===!0,"aria-busy":e.loading===!0?"true":null,"aria-describedby":e.describedBy??null,"aria-expanded":e.expanded===void 0?null:String(e.expanded),"aria-controls":e.controls??null,children:ae(ln,{...e})});var ne=e=>ae("div",{"data-ui":"action-group",role:"group","aria-label":e.label??null,children:on(e.actions,(t,a)=>a,t=>ae(Tt,{children:t}))});import{jsx as dn,jsxs as hi}from"/_ket/view/jsx-runtime.js";var wt=["badge","tag","tag-remove","count-badge","avatar","code","text","media-label","media-label-image","media-label-copy"];var K=e=>dn("span",{"data-ui":"badge","data-pattern":"badge","data-tone":e.tone??"neutral","data-value":e.value??"",children:e.label});import{each as cn}from"/_ket/view/index.js";import{Fragment as Ke,jsx as k,jsxs as _}from"/_ket/view/jsx-runtime.js";var Rt=["notice","notice-mark","notice-copy","notice-title","notice-message","notice-actions","empty","empty-mark","empty-title","empty-message","empty-actions","loading","loading-label"],un={info:()=>_(Ke,{children:[k("circle",{cx:"12",cy:"12",r:"10"}),k("path",{d:"M12 16v-4"}),k("path",{d:"M12 8h.01"})]}),positive:()=>_(Ke,{children:[k("circle",{cx:"12",cy:"12",r:"10"}),k("path",{d:"m9 12 2 2 4-4"})]}),warning:()=>_(Ke,{children:[k("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"}),k("path",{d:"M12 9v4"}),k("path",{d:"M12 17h.01"})]}),danger:()=>_(Ke,{children:[k("circle",{cx:"12",cy:"12",r:"10"}),k("path",{d:"M12 8v4"}),k("path",{d:"M12 16h.01"})]})},M=e=>_("aside",{"data-ui":"notice","data-pattern":"notice","data-tone":e.tone??"info",role:e.tone==="danger"?"alert":"status",children:[k("span",{"data-ui":"notice-mark","aria-hidden":"true",children:k("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true",focusable:"false",children:un[e.tone??"info"]()})}),_("div",{"data-ui":"notice-copy",children:[k("p",{"data-ui":"notice-title",children:e.title}),k("p",{"data-ui":"notice-message",children:e.message})]}),e.actions!==void 0&&k("div",{"data-ui":"notice-actions",children:e.actions})]}),ie=e=>_("div",{"data-ui":"empty",role:"status",children:[k("span",{"data-ui":"empty-mark","aria-hidden":"true",children:"\u25C7"}),k("p",{"data-ui":"empty-title",children:e.title}),k("p",{"data-ui":"empty-message",children:e.message}),e.actions!==void 0&&k("div",{"data-ui":"empty-actions",children:e.actions})]}),pe=e=>_("div",{"data-ui":"loading",role:"status","aria-live":"polite",children:[k("span",{"data-ui":"loading-label",children:e.label}),k("div",{"data-ui":"skeleton","aria-hidden":"true",children:cn(Array.from({length:Math.max(1,e.lines??3)}),(t,a)=>a,(t,a)=>k("span",{"data-ui":"skeleton-line","data-line":String(a+1)}))})]});import{each as Qe}from"/_ket/view/index.js";import{each as hn}from"/_ket/view/index.js";import{jsx as q,jsxs as Me}from"/_ket/view/jsx-runtime.js";var Ct=["modal-layer","modal-backdrop","modal-sheet","modal-head","modal-heading","modal-title-row","modal-title","modal-description","modal-close","modal-body","modal-actions"],re=e=>{let t=e.mode==="client",a=e.mode==="embedded";return Me("div",{"data-ui":"modal-layer","data-mode":e.mode??"overlay","data-route-modal":a||t?null:"true","data-client-modal":t?"true":null,"data-presentation":e.presentation??"sheet","data-unsaved-prompt":e.unsavedPrompt??null,children:[t?q("button",{"data-ui":"modal-backdrop",type:"button","aria-hidden":"true",tabIndex:-1,children:q("span",{children:e.closeLabel})}):q("a",{"data-ui":"modal-backdrop",href:e.closeHref??"#","aria-label":e.closeLabel,children:q("span",{children:e.closeLabel})}),Me("section",{id:e.id,"data-ui":"modal-sheet","data-size":e.size??"default","data-height":e.height==="fixed"?"fixed":null,style:e.height==="fixed"&&e.fixedHeight?`height: ${e.fixedHeight} !important`:"",...e.dialogSemantics==="parent"?{}:{role:"dialog","aria-modal":a?"false":"true"},"aria-labelledby":e.dialogSemantics==="parent"?null:`${e.id}-title`,"aria-describedby":e.dialogSemantics!=="parent"&&e.description?`${e.id}-description`:null,tabindex:a?null:"-1",children:[Me("header",{"data-ui":"modal-head",children:[Me("div",{"data-ui":"modal-heading",children:[Me("div",{"data-ui":"modal-title-row",children:[q("h2",{"data-ui":"modal-title",id:`${e.id}-title`,children:e.title}),e.status!==void 0&&e.status]}),!!e.description&&q("p",{"data-ui":"modal-description",id:`${e.id}-description`,children:e.description})]}),t?q("button",{"data-ui":"modal-close",type:"button","aria-label":e.closeLabel,title:e.closeLabel,children:"\xD7"}):q("a",{"data-ui":"modal-close",href:e.closeHref??"#","aria-label":e.closeLabel,title:e.closeLabel,children:"\xD7"})]}),q("div",{"data-ui":"modal-body",children:e.body}),e.actions!==void 0&&q("footer",{"data-ui":"modal-actions",children:e.actions})]})]})};import{Fragment as Pi,jsx as Ri,jsxs as Ci}from"/_ket/view/jsx-runtime.js";import{Fragment as Di,jsx as Hi,jsxs as Oi}from"/_ket/view/jsx-runtime.js";var Lt=["app-shell","app-shell-topbar","app-topbar","app-location-bar","app-location-context","app-brand","app-topbar-brand","app-topbar-context","global-search-trigger","global-search-trigger-label","global-search-shortcut","global-search-dialog","global-search","global-search-input","global-search-submit","app-sidebar","app-main","app-right-rail","page","page-context","page-header","page-heading","page-eyebrow","page-title-row","page-title","page-subline","page-status","page-actions","page-meta","page-body","record-canvas","record-content","record-section","record-section-title"];import{Fragment as Mt,jsx as P,jsxs as oe}from"/_ket/view/jsx-runtime.js";var Et=["stack","inline","grid","card-grid","surface","surface-head","surface-heading","surface-title","surface-description","surface-actions","disclosure","disclosure-summary","disclosure-body","section","section-head","section-eyebrow","section-title","section-description","section-actions","section-body","content-card","card-media","card-head","card-leading","card-heading","card-eyebrow","card-title","card-summary","card-status","card-body","card-meta","card-actions","kanban","kanban-card","kanban-media","kanban-title","kanban-meta","kanban-note","kanban-actions","metric","metric-icon","metric-label","metric-value","metric-detail"],yn=e=>P(Mt,{children:hn(e.items,(t,a)=>a,t=>typeof t=="string"||typeof t=="number"?P("span",{children:t}):P(Mt,{children:t}))}),le=e=>P("div",{"data-ui":"stack","data-pattern":"stack","data-gap":e.gap??"default","data-divided":e.divided===!0?"true":null,children:P(yn,{items:e.items})});var je=e=>oe("div",{"data-ui":"surface","data-tone":e.tone??"default","data-padding":e.padding??"default","data-has-heading":e.title?"true":null,children:[e.title&&oe("header",{"data-ui":"surface-head",children:[e.description?oe("div",{"data-ui":"surface-heading",children:[P("h2",{"data-ui":"surface-title",children:e.title}),P("p",{"data-ui":"surface-description",children:e.description})]}):P("h2",{"data-ui":"surface-title",children:e.title}),e.actions!==void 0&&P("div",{"data-ui":"surface-actions",children:e.actions})]}),e.body]}),Ye=e=>oe("details",{"data-ui":"disclosure",open:e.open===!0?!0:void 0,children:[P("summary",{"data-ui":"disclosure-summary",children:e.summary}),P("div",{"data-ui":"disclosure-body",children:e.body})]}),W=e=>oe("section",{"data-ui":"section",children:[oe("header",{"data-ui":"section-head",children:[oe("div",{children:[!!e.eyebrow&&P("p",{"data-ui":"section-eyebrow",children:e.eyebrow}),P("h2",{"data-ui":"section-title",children:e.title}),!!e.description&&P("p",{"data-ui":"section-description",children:e.description})]}),e.actions!==void 0&&P("div",{"data-ui":"section-actions",children:e.actions})]}),P("div",{"data-ui":"section-body",children:e.body})]});import{each as vn}from"/_ket/view/index.js";import{Fragment as xn,jsx as Ee}from"/_ket/view/jsx-runtime.js";var $e=(e,t)=>e.control!==void 0?Ee(xn,{children:e.control}):e.type==="textarea"?Ee("textarea",{"data-ui":"field-control","data-appearance":e.appearance==="embedded"?"embedded":null,id:e.id,name:e.name,placeholder:e.placeholder??null,required:e.required===!0,disabled:e.disabled===!0,readonly:e.readOnly===!0,"aria-invalid":e.error?"true":null,"aria-describedby":t,children:String(e.value??"")}):e.type==="select"?Ee("select",{"data-ui":"field-control","data-appearance":e.appearance==="embedded"?"embedded":null,id:e.id,name:e.name,required:e.required===!0,disabled:e.disabled===!0,"aria-invalid":e.error?"true":null,"aria-describedby":t,children:vn(e.options??[],a=>a.value,a=>Ee("option",{value:a.value,selected:String(e.value??"")===a.value,disabled:a.disabled===!0,children:a.label}))}):Ee("input",{"data-ui":"field-control","data-appearance":e.appearance==="embedded"?"embedded":null,id:e.id,type:e.type==="decimal"?"number":e.type??"text",name:e.name,value:e.type==="checkbox"?"1":String(e.value??""),checked:e.type==="checkbox"&&(e.value===!0||e.value==="1"),placeholder:e.placeholder??null,required:e.required===!0,disabled:e.disabled===!0,readonly:e.readOnly===!0,min:e.min,max:e.max,"aria-invalid":e.error?"true":null,"aria-describedby":t,autocomplete:e.autocomplete??"off",step:e.type==="decimal"?e.step??"any":e.step??null});import{jsx as w,jsxs as V}from"/_ket/view/jsx-runtime.js";var Ft=["field","field-label","field-required","field-control","field-options","field-option","field-option-input","field-help","field-error"],Ht=e=>!!e.error||(e.fields?.some(Ht)??!1),se=e=>{let t=e.help?`${e.id}-help`:null,a=e.error?`${e.id}-error`:null,s=[t,a].filter(Boolean).join(" ")||null,o=V("span",{"data-ui":"field-label",children:[e.label,e.required&&w("span",{"data-ui":"field-required","aria-hidden":"true",children:" *"})]});return e.fields?V("div",{"data-ui":"field","data-kind":"group","data-span":"full","data-invalid":String(!!e.error),children:[w(Ye,{summary:e.label,open:e.open||Ht(e),body:w("div",{"data-ui":"form-grid",children:Qe(e.fields.map(u=>({...u,disabled:e.disabled||u.disabled,readOnly:e.readOnly||u.readOnly})),u=>u.id,u=>w(se,{...u}))})}),!!e.help&&w("small",{"data-ui":"field-help",id:t??void 0,children:e.help}),!!e.error&&w("small",{"data-ui":"field-error",id:a??void 0,children:e.error})]}):e.type==="checkbox-group"?V("div",{"data-ui":"field","data-kind":"checkbox-group","data-span":e.span??"half","data-invalid":String(!!e.error),children:[V("span",{"data-ui":"field-label",id:`${e.id}-label`,children:[e.label,e.required&&w("span",{"data-ui":"field-required","aria-hidden":"true",children:" *"})]}),w("div",{"data-ui":"field-options","data-orientation":e.optionsOrientation==="vertical"?"vertical":null,role:"group","aria-labelledby":`${e.id}-label`,children:Qe(e.options??[],u=>u.name??u.value,u=>V("label",{"data-ui":"field-option",children:[w("input",{"data-ui":"field-option-input",type:"checkbox",name:u.name??`${e.name}[]`,value:u.value,checked:u.checked===!0,disabled:e.disabled===!0||u.disabled===!0,"aria-invalid":e.error?"true":null,"aria-describedby":s,autocomplete:"off"}),w("span",{children:u.label})]}))}),!!e.help&&w("small",{"data-ui":"field-help",id:t??void 0,children:e.help}),!!e.error&&w("small",{"data-ui":"field-error",id:a??void 0,children:e.error})]}):e.type==="radio"?V("div",{"data-ui":"field","data-kind":"radio","data-span":e.span??"half","data-invalid":String(!!e.error),children:[V("span",{"data-ui":"field-label",id:`${e.id}-label`,children:[e.label,e.required&&w("span",{"data-ui":"field-required","aria-hidden":"true",children:" *"})]}),w("div",{"data-ui":"field-options","data-orientation":e.optionsOrientation==="vertical"?"vertical":null,role:"radiogroup","aria-labelledby":`${e.id}-label`,children:Qe(e.options??[],u=>u.value,u=>V("label",{"data-ui":"field-option",children:[w("input",{"data-ui":"field-option-input",type:"radio",name:e.name,value:u.value,checked:String(e.value??"")===u.value,required:e.required===!0,disabled:e.disabled===!0||u.disabled===!0,"aria-invalid":e.error?"true":null,"aria-describedby":s,autocomplete:"off"}),w("span",{children:u.label})]}))}),!!e.help&&w("small",{"data-ui":"field-help",id:t??void 0,children:e.help}),!!e.error&&w("small",{"data-ui":"field-error",id:a??void 0,children:e.error})]}):V("label",{"data-ui":"field","data-kind":e.type??"text","data-label-hidden":e.labelHidden?"true":null,"data-selection-hidden":e.selectionHidden?"true":null,"data-span":e.span??"half","data-invalid":String(!!e.error),for:e.id,children:[e.type==="checkbox"&&$e(e,s),o,e.type!=="checkbox"&&$e(e,s),!!e.help&&w("small",{"data-ui":"field-help",id:t??void 0,children:e.help}),!!e.error&&w("small",{"data-ui":"field-error",id:a??void 0,children:e.error})]})};import{each as Sn}from"/_ket/view/index.js";import{jsx as he,jsxs as tt}from"/_ket/view/jsx-runtime.js";var Ot=["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 Dt=e=>tt("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&&he("span",{"data-ui":"tab-count",children:String(e.count)})]}),At=(e,t)=>`${e}-${t.replace(/[^a-zA-Z0-9_-]+/gu,"-")}-tab`,It=e=>tt("nav",{"data-ui":"tabs","data-pattern":"tabs","aria-label":e.label,children:[Sn(e.items,t=>t.id,t=>he(Dt,{...t,elementId:e.id?At(e.id,t.id):void 0,controls:e.panelId})),e.extension]}),Kt=e=>he("section",{"data-ui":"tab-panel",id:e.id,"aria-labelledby":e.labelledBy,tabindex:"-1",children:e.body}),et=e=>{let t=`${e.id}-tabs`,a=`${e.id}-panel`,s=e.items.find(o=>o.active===!0);return tt("div",{"data-ui":"tabbed-view",children:[e.context!==void 0&&e.context!==""?he("div",{"data-ui":"tabbed-view-context",children:e.context}):"",he(It,{id:t,label:e.label,items:e.items,extension:e.extension,panelId:a}),he(Kt,{id:a,labelledBy:s?At(t,s.id):void 0,body:e.body})]})};import{jsx as ar,jsxs as nr}from"/_ket/view/jsx-runtime.js";var $t=["progress","progress-label","progress-value","progress-track","progress-bar"];import{each as or}from"/_ket/view/index.js";import{Fragment as cr,jsx as sr,jsxs as dr}from"/_ket/view/jsx-runtime.js";var Bt=["menu","menu-trigger","menu-trigger-count","menu-panel","menu-search","menu-search-input","menu-label","menu-separator","menu-item","menu-item-leading","menu-item-copy","menu-item-check","menu-item-shortcut"];import{jsx as gr,jsxs as fr}from"/_ket/view/jsx-runtime.js";var qt=["popover","popover-trigger","popover-panel","popover-close"];import{jsx as hr,jsxs as yr}from"/_ket/view/jsx-runtime.js";var Nt=["tooltip","tooltip-trigger","tooltip-content"];import{jsx as Tr}from"/_ket/view/jsx-runtime.js";var Jt=["dialog","confirm-dialog-message"];import{each as Cr}from"/_ket/view/index.js";import{jsx as Lr,jsxs as Mr}from"/_ket/view/jsx-runtime.js";var Xt=["toast-region","toast","toast-copy","toast-title","toast-message","toast-actions"];import{jsx as Hr}from"/_ket/view/jsx-runtime.js";var zt=["spinner","visually-hidden"];import{each as Ar}from"/_ket/view/index.js";import{jsx as Kr}from"/_ket/view/jsx-runtime.js";var Vt=["skeleton","skeleton-line"];import{each as qr,effect as Nr,signal as Jr}from"/_ket/view/index.js";import{jsx as Vr,jsxs as zr}from"/_ket/view/jsx-runtime.js";var Gt=["relation-select","relation-native","relation-trigger","relation-value","relation-caret","relation-chips","relation-chip","relation-chip-clear","relation-menu","relation-search","relation-options","relation-option","relation-footer","relation-empty","relation-editor","relation-dialog-toolbar","relation-search-field","relation-search-icon","relation-dialog-list","relation-dialog-row","relation-dialog-main","relation-dialog-meta","relation-dialog-actions"];import{each as _r,signal as Wr}from"/_ket/view/index.js";import{jsx as jr,jsxs as Yr}from"/_ket/view/jsx-runtime.js";var Ut=["lightbox","lightbox-thumbs","lightbox-thumb","lightbox-empty","lightbox-layer","lightbox-backdrop","lightbox-toolbar","lightbox-counter","lightbox-tool","lightbox-stage","lightbox-image","lightbox-nav","lightbox-caption"];import{each as ao,signal as no}from"/_ket/view/index.js";import{Fragment as lo,jsx as oo,jsxs as ro}from"/_ket/view/jsx-runtime.js";var _t=["search-filter","search-filter-bar","search-filter-section-toggle","search-filter-sheet","search-filter-clear","search-filter-icon","search-filter-field","search-filter-input","search-filter-facets","search-filter-facet","search-filter-facet-remove","search-filter-suggestions","search-filter-suggestion","search-filter-toggle","search-filter-columns","search-filter-column","search-filter-column-title","search-filter-empty","search-filter-grouping","search-filter-grouping-head","search-filter-grouping-list","search-filter-grouping-item","search-filter-grouping-order","search-filter-grouping-label","search-filter-grouping-actions","search-filter-grouping-action","search-filter-grouping-clear","search-filter-grouping-add-label","custom-filter","custom-filter-row","custom-filter-add","custom-group-by","favorite-list","favorite-item","favorite-item-default","favorite-item-remove","favorite-save","favorite-save-toggle","favorite-save-row"];import{each as fo,effect as bo,signal as po}from"/_ket/view/index.js";import{jsx as uo}from"/_ket/view/jsx-runtime.js";var Wt=["formatted-date","formatted-number","formatted-money"];import{Fragment as So,jsx as ko,jsxs as To}from"/_ket/view/jsx-runtime.js";var jt=["ket-table","kt-scroll","kt-selection-target","kt-grid","kt-select-col","kt-select-all","kt-col","kt-sort-button","kt-sort-icon","kt-row","kt-cell","kt-person","kt-select-cell","kt-row-select","kt-row-link","kt-group-row","kt-group-cell","kt-group-toggle","kt-group-indent","kt-group-count","kt-group-pager","kt-pager","kt-pager-label","kt-pager-button","kt-select-persisted","kt-caption","kt-tools"];var $o=["a[href]","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])","summary",'[tabindex]:not([tabindex="-1"])'].join(",");var Pn=['[data-ui="timeframe-menu"]','[data-ui="view-settings"]'],Bo=Pn.map(e=>`${e}[open]`).join(", ");import{jsx as Jo,jsxs as Xo}from"/_ket/view/jsx-runtime.js";import{jsx as _o,jsxs as Wo}from"/_ket/view/jsx-runtime.js";var Yt=["switch-control","switch-track"];import{each as Yo}from"/_ket/view/index.js";import{Fragment as nl,jsx as tl,jsxs as al}from"/_ket/view/jsx-runtime.js";var Qt=["combobox","combobox-input-row","combobox-toggle","combobox-listbox","combobox-option","combobox-empty","tag-picker"];import{Fragment as gl,jsx as ul,jsxs as ml}from"/_ket/view/jsx-runtime.js";var ea=["date-picker","date-range","date-inputs","date-control-row","date-tools","date-range-error","date-calendar","date-calendar-head","date-calendar-title","date-calendar-body","date-field-control","date-range-preset","date-boundary","date-calendar-months","date-month","date-month-title","date-grid","date-weekday","date-cell","date-day","date-calendar-footer","date-calendar-status"];import{jsx as hl,jsxs as yl}from"/_ket/view/jsx-runtime.js";var ta=["file-upload","drop-zone","upload-status"];import{jsx as kl}from"/_ket/view/jsx-runtime.js";var aa=["relation-picker"];import{each as Rl}from"/_ket/view/index.js";import{jsx as Ml,jsxs as El}from"/_ket/view/jsx-runtime.js";var na=["search-bar","filter-bar","applied-filters","applied-filter","saved-views","saved-view","view-settings","view-settings-options"];import{jsx as Dl,jsxs as Al}from"/_ket/view/jsx-runtime.js";var ia=["inline-edit","inline-edit-value","inline-edit-form","inline-edit-actions"];import{each as _l}from"/_ket/view/index.js";import{each as ql}from"/_ket/view/index.js";import{Fragment as Vl,jsx as Xl,jsxs as zl}from"/_ket/view/jsx-runtime.js";var ra=["list-chrome","list-chrome-row","list-search","list-search-label","list-search-input","list-search-submit","list-filter-menus","list-facets","list-facet","list-facet-count","list-view-switch","list-view","list-sort","list-sort-label","list-sort-select","list-status","list-actions","bulk-actions","bulk-summary","bulk-count","bulk-action-list","pager-bar","pager-summary","pager-pages","pager-page","pager-actions","pager-link"];import{jsx as Yl,jsxs as Ql}from"/_ket/view/jsx-runtime.js";var oa=["resource-list","resource-list-item","resource-list-select","resource-list-link"];import{each as as}from"/_ket/view/index.js";import{jsx as is,jsxs as rs}from"/_ket/view/jsx-runtime.js";var la=["data-grid-scroll","data-grid","data-grid-cap","data-grid-cell"];import{each as ss}from"/_ket/view/index.js";import{jsx as cs,jsxs as us}from"/_ket/view/jsx-runtime.js";var sa=["tree","tree-item","tree-link","tree-grid","tree-grid-row"];import{each as fs}from"/_ket/view/index.js";import{jsx as ps,jsxs as hs}from"/_ket/view/jsx-runtime.js";var da=["data-matrix","data-matrix-head","data-matrix-heading","data-matrix-eyebrow","data-matrix-title","data-matrix-description","data-matrix-summary","data-matrix-scroll","data-matrix-table","data-matrix-column","data-matrix-row-head","data-matrix-row-leading","data-matrix-row-title","data-matrix-row-description","data-matrix-row-status","data-matrix-row-actions","data-matrix-cell"];import{each as xs}from"/_ket/view/index.js";import{jsx as ks,jsxs as Ts}from"/_ket/view/jsx-runtime.js";var ca=["bar-chart","bar-chart-rows","bar-chart-row","bar-chart-label","bar-chart-caption","bar-chart-track","bar-chart-fill","bar-chart-segment","bar-chart-value","bar-chart-scale","bar-chart-legend","bar-chart-legend-item","bar-chart-legend-swatch","bar-chart-empty"];import{each as Cs}from"/_ket/view/index.js";import{jsx as Ls,jsxs as Ms}from"/_ket/view/jsx-runtime.js";var ua=["timeframe","timeframe-menu","timeframe-trigger","timeframe-label","timeframe-value","timeframe-content","timeframe-option","timeframe-option-label","timeframe-option-detail","timeframe-range","timeframe-asof","timeframe-note"];import{each as Hn}from"/_ket/view/index.js";import{jsx as qe,jsxs as On}from"/_ket/view/jsx-runtime.js";var ma=["description-list","key-value","key-value-label","key-value-value","person","person-body","avatar-group","status"],ga=e=>On("div",{"data-ui":"key-value",children:[qe("dt",{"data-ui":"key-value-label",children:e.label}),qe("dd",{"data-ui":"key-value-value",children:e.value??e.emptyLabel??"\u2014"})]}),ye=e=>qe("dl",{"data-ui":"description-list","aria-label":e.label,"data-columns":String(e.columns??2),"data-layout":e.layout==="strip"?"strip":null,children:Hn(e.items,t=>t.id,t=>qe(ga,{...t}))});import{each as Is}from"/_ket/view/index.js";import{jsx as Ns,jsxs as Js}from"/_ket/view/jsx-runtime.js";var ba=["record-summary","record-summary-main","record-actions","record-rail"];import{each as Vs}from"/_ket/view/index.js";import{jsx as Ws,jsxs as Zs}from"/_ket/view/jsx-runtime.js";var pa=["activity-timeline","activity-item","activity-marker","audit-log","audit-item"];import{each as Qs}from"/_ket/view/index.js";import{jsx as ad,jsxs as nd}from"/_ket/view/jsx-runtime.js";var ha=["attachments","attachment","media-gallery","media-item"];import{each as od}from"/_ket/view/index.js";import{Fragment as cd,jsx as sd,jsxs as dd}from"/_ket/view/jsx-runtime.js";var ya=["app-navigation","navigation-trigger","navigation-toggle","navigation-trigger-icon","navigation-trigger-identity","navigation-trigger-label","navigation-layer","navigation-backdrop","navigation-drawer","navigation-header","navigation-identity","navigation-context","navigation-close","navigation-groups","navigation-group","navigation-group-label","navigation-items","navigation-supplementary","navigation-item","navigation-branch","navigation-branch-trigger","navigation-children","navigation-item-leading","navigation-item-copy","navigation-item-label","navigation-item-description","navigation-item-count","navigation-footer"];import{each as ve}from"/_ket/view/index.js";import{Fragment as wa,jsx as S,jsxs as Z}from"/_ket/view/jsx-runtime.js";var va=["table-scroll","table","table-caption","select-col","select-all","col","sort-link","sort-icon","row","group-row","group-cell","group-link","group-indent","group-count","group-pager","group-pager-actions","cell","select-cell","row-select","row-link"],An=e=>e.shownColumns??e.columns.filter(t=>t.hidden!==!0).map(t=>t.key),In=e=>{let t=new Set(An(e));return e.columns.filter(a=>t.has(a.key))},xa=(e,t)=>t.length+(e.selection?1:0),Kn=(e,t)=>e.sort?.direction?e.sort.direction==="ascending"?t?.sortedAscending??"Sorted ascending":t?.sortedDescending??"Sorted descending":null,$n=(e,t)=>S("th",{"data-ui":"col","data-col":e.key,"data-align":e.align??"start","data-kind":e.kind??"text","data-width":e.width??null,"data-optional":e.optional===!0?"true":null,"data-sort":e.sort?.direction??null,"aria-sort":e.sort?.direction??null,scope:"col",children:e.sort?Z("a",{"data-ui":"sort-link",href:e.sort.href,"aria-label":e.sort.label??e.label,children:[S("span",{children:e.label}),!!e.sort.direction&&S("span",{"data-ui":"sort-icon","aria-hidden":"true",title:Kn(e,t)??void 0,children:e.sort.direction==="ascending"?"\u2191":"\u2193"})]}):e.label}),Bn=e=>e.selection?S("th",{"data-ui":"select-col",scope:"col",children:S("input",{"data-ui":"select-all",type:"checkbox",name:e.selection.selectAllName??"select-all","aria-label":e.labels?.selectAll??"Select all rows",disabled:e.selection.disabled===!0})}):null,Sa=(e,t)=>e.selected?.(t)===!0?!0:e.selection?.selectedIds?.includes(e.id(t))===!0,qn=(e,t,a)=>Z(wa,{children:[e.selection&&S("td",{"data-ui":"select-cell",children:S("input",{"data-ui":"row-select",type:"checkbox",name:e.selection.name??"ids",form:e.selection.form,value:e.id(a),checked:Sa(e,a),"aria-label":e.labels?.selectRow?.(a,e.id(a))??`Select row ${e.id(a)}`,disabled:e.selection.disabled===!0})}),ve(t,s=>s.key,s=>S("td",{"data-ui":"cell","data-col":s.key,"data-linked":e.rowHref&&s===t[0]?"true":null,"data-align":s.align??"start","data-kind":s.kind??"text","data-priority":s.priority??"secondary","data-label":e.responsive==="stack"?s.label:null,children:e.rowHref&&s===t[0]?S("a",{"data-ui":"row-link",href:e.rowHref(a),children:s.cell(a)}):s.cell(a)}))]}),ka=(e,t,a)=>S("tr",{"data-ui":"row","data-row":e.id(a),"data-selected":Sa(e,a)?"true":null,children:qn(e,t,a)}),Nn=(e,t,a)=>a?S("tr",{"data-ui":"group-pager",children:Z("td",{colSpan:String(xa(e,t)),children:[S("span",{children:a.label}),Z("span",{"data-ui":"group-pager-actions",children:[a.previousHref&&S("a",{href:a.previousHref,"aria-label":e.labels?.previousPage??"Previous page",children:"\u2039"}),a.nextHref&&S("a",{href:a.nextHref,"aria-label":e.labels?.nextPage??"Next page",children:"\u203A"})]})]})}):null,Ta=(e,t,a,s)=>Z(wa,{children:[S("tr",{"data-ui":"group-row","data-group":a.id,"data-depth":String(s),children:Z("th",{"data-ui":"group-cell",colSpan:String(xa(e,t)),scope:"rowgroup",children:[S("span",{"data-ui":"group-indent",style:`--kv-group-depth: ${s}`,"aria-hidden":"true"}),a.href?S("a",{"data-ui":"group-link",href:a.href,children:a.label}):S("span",{"data-ui":"group-link",children:a.label}),a.count!==void 0&&S("span",{"data-ui":"group-count",children:String(a.count)})]})}),ve(a.rows??[],e.id,o=>ka(e,t,o)),ve(a.children??[],o=>o.id,o=>Ta(e,t,o,s+1)),Nn(e,t,a.pager)]}),de=e=>{let t=In(e),a=e.groups??[],o=e.rows.length>0||a.length>0?S("div",{"data-ui":"table-scroll","data-pattern":"data-table","data-framed":e.title?"false":null,"data-responsive":e.responsive??"scroll","data-gutter":e.gutter==="compact"?"compact":null,children:Z("table",{"data-ui":"table","aria-label":e.caption?null:e.title??null,children:[!!e.caption&&S("caption",{"data-ui":"table-caption",children:e.caption}),S("thead",{children:Z("tr",{children:[Bn(e),ve(t,u=>u.key,u=>$n(u,e.labels))]})}),S("tbody",{children:a.length>0?ve(a,u=>u.id,u=>Ta(e,t,u,0)):ve(e.rows,e.id,u=>ka(e,t,u))})]})}):S(ie,{title:e.emptyTitle??"No records",message:e.emptyMessage??"There is nothing to show yet.",actions:e.emptyActions});return e.title?S(je,{title:e.title,actions:e.actions,padding:"none",body:o}):o};import{Fragment as Cd,jsx as Rd,jsxs as Pd}from"/_ket/view/jsx-runtime.js";var Ra=["list-page","list-page-context","list-page-header","list-page-heading","list-page-title-row","list-page-eyebrow","list-page-title","list-page-actions","list-page-tools","list-page-toolbar","list-page-controls","list-page-status","list-page-body","list-page-footer"];import{jsx as Fd,jsxs as Hd}from"/_ket/view/jsx-runtime.js";var Ca=["record-page","record-page-context","record-page-header","record-page-title-row","record-page-heading","record-page-title","record-page-subline","record-page-status","record-page-actions","record-page-meta","record-page-controller","record-page-navigation","record-page-layout","record-page-body","record-page-aside"];var Pa=["form-page","form-page-context","form-page-header","form-page-title-row","form-page-heading","form-page-title","form-page-subline","form-page-status","form-page-actions","form-page-meta","form-page-controller","form-page-navigation","form-page-layout","form-page-body","form-page-aside"];import{jsx as Nd,jsxs as Jd}from"/_ket/view/jsx-runtime.js";var La=["dashboard-page","dashboard-page-context","dashboard-page-header","dashboard-page-heading","dashboard-page-eyebrow","dashboard-page-title-row","dashboard-page-title","dashboard-page-subline","dashboard-page-status","dashboard-page-actions","dashboard-page-meta","dashboard-page-body"];var Ma=["board-page","board-page-context","board-page-header","board-page-heading","board-page-eyebrow","board-page-title-row","board-page-title","board-page-subline","board-page-status","board-page-actions","board-page-meta","board-page-toolbar","board-page-controls","board-page-body"];import{each as jd}from"/_ket/view/index.js";import{jsx as Qd,jsxs as ec}from"/_ket/view/jsx-runtime.js";var Ea=["pipeline","pipeline-step","pipeline-arrow","pipeline-step-label","pipeline-step-value","pipeline-step-node"];import{each as rc}from"/_ket/view/index.js";import{jsx as dc,jsxs as cc}from"/_ket/view/jsx-runtime.js";var Fa=["record-form","form-errors","form-grid","form-actions"];import{each as yc}from"/_ket/view/index.js";import{jsx as kc,jsxs as Tc}from"/_ket/view/jsx-runtime.js";var Ha=["reorder-list","reorder-list-value","reorder-list-rows","reorder-list-row","reorder-list-content","reorder-list-controls"];var Oa={actions:kt,feedback:Rt,fields:Ft,status:wt,navigation:Ot,progress:$t,menu:Bt,reorderList:Ha,popover:qt,tooltip:Nt,dialog:Jt,toast:Xt,spinner:zt,skeleton:Vt,lightbox:Ut,relationSelect:Gt,searchFilter:_t,ketTable:jt,scalarFields:Yt,combobox:Qt,dateTime:ea,upload:ta,relationPicker:aa,listControls:na,inlineEdit:ia,resourceList:oa,dataGrid:la,tree:sa,matrix:da,barChart:ca,timeframe:ua,recordDisplay:ma,formattedValues:Wt,recordComposition:ba,activity:pa,media:ha,layouts:Et,shell:Lt,appNavigation:ya,table:va,listChrome:ra,listPage:Ra,formPage:Pa,recordPage:Ca,dashboardPage:La,boardPage:Ma,modal:Ct,pipeline:Ea,form:Fa},Xn=[...new Set(Object.values(Oa).flat())].sort(),zn=Object.freeze(Object.fromEntries(Object.entries(Oa).map(([e,t])=>[e,[...t]])));import{signal as F}from"/_ket/view/index.js";import{jsx as Gn}from"/_ket/view/jsx-runtime.js";var Ne="record";var Vn=/^[a-z][a-z0-9_]*(?:\.[a-zA-Z][a-zA-Z0-9_]*)+$/u,Da=e=>Vn.test(e),rt=(e,t)=>{if(!Da(t.kind))throw new TypeError(`invalid record kind "${t.kind}"`);let a=new URL(String(e),"http://ket.local");return a.searchParams.set(Ne,`${t.kind}:${t.id}`),t.tab?a.searchParams.set("tab",t.tab):a.searchParams.delete("tab"),`${a.pathname}${a.search}`};var Aa=e=>{let t=new URL(String(e),"http://ket.local");return t.searchParams.delete(Ne),t.searchParams.delete("tab"),`${t.pathname}${t.search}`},xe=e=>{let t=new URL(String(e),"http://ket.local"),a=t.searchParams.get(Ne)??"",s=a.indexOf(":");if(s<=0||s===a.length-1)return null;let o=a.slice(0,s);return Da(o)?{kind:o,id:a.slice(s+1),tab:t.searchParams.get("tab")}:null},ot=e=>Gn("span",{"data-ui":"record-modal-host","data-record-kind":e,hidden:!0});import{jsx as Se,jsxs as Un}from"/_ket/view/jsx-runtime.js";var Je=e=>Un("form",{"data-ui":"record-form",method:"post",action:"","data-record-kind":e.kind,id:e.id,"data-record-dirty":e.dirty===!0?"true":null,children:[e.command?Se("input",{type:"hidden",name:j,value:e.command,autocomplete:"off"}):"",Object.entries(e.hidden??{}).map(([t,a])=>Se("input",{type:"hidden",name:t,value:a,autocomplete:"off"})),Se("div",{"data-ui":"form-grid",children:e.fields.map(t=>se(t))}),e.body,e.actions?.length?Se("div",{"data-ui":"form-actions",children:ne({actions:e.actions})}):""]}),lt=e=>Se("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=>Se("option",{value:t.value,selected:t.value===e.value,children:t.label}))});import{Fragment as Fe,jsx as Hf,jsxs as He}from"/_ket/view/jsx-runtime.js";var Ka=e=>{let t=e??{};return(Array.isArray(t.errors)?t.errors:Array.isArray(t.issues)?t.issues:[]).map(s=>{let o=s??{},u=Array.isArray(o.path)?o.path.join("."):null;return{field:typeof o.field=="string"?o.field:u,code:String(o.code??"invalid"),message:typeof o.message=="string"?o.message:null,params:o.params&&typeof o.params=="object"?o.params:{}}})},za=async(e,t,a={})=>{let s=new URL(e,"https://record.invalid");if(s.origin!=="https://record.invalid"||!e.startsWith("/")||e.startsWith("//"))throw new Error("Record commands require a same-origin route");let o=await fetch(s.pathname+s.search,{method:"POST",credentials:"same-origin",headers:{"content-type":"application/json",...a.idempotencyKey?{"idempotency-key":a.idempotencyKey}:{}},body:JSON.stringify(t),signal:a.signal}),u=await o.json().catch(()=>({}));if(!o.ok||u.ok===!1)return{ok:!1,issues:Ka(u.error??u),message:o.status>=500?null:u.error?.message??u.message??null,status:o.status};let R=u.value;return R&&typeof R=="object"&&R.ok===!1?{ok:!1,issues:Ka(R),message:null,status:o.status}:{ok:!0,value:u.value}},$a=(e,t,a={})=>za(`/_ket/fn/${encodeURIComponent(e)}`,t,a),_n=async(e,t)=>{let a=new URL(e,location.href);if(a.origin!==location.origin)throw new Error("Record context must stay same-origin");let s=await fetch(a.href,{credentials:"same-origin",signal:t,headers:{accept:"application/json"}});return s.ok?{ok:!0,value:await s.json()}:{ok:!1,issues:[],message:null,status:s.status}},Wn=30,Zn=Object.freeze({"recordModal.close":"Close","recordModal.loading":"Loading\u2026","recordModal.loadFailed":"The record could not be read.","recordModal.notFound":"The record is gone or you cannot see it.","recordModal.retry":"Retry","recordModal.errorTitle":"Not saved","recordModal.saveFailed":"That did not work. Try again.","recordModal.savedTitle":"Saved","recordModal.saved":"The change is in.","recordModal.unsaved":"Discard what you typed?","recordModal.uploadFailed":"The file could not be uploaded. Try again."}),ze=(e,t)=>t.messages?.[e]??t.previous?.[e]??t.labels?.[e]??Zn[e]??(/^E_[A-Z_]+$/u.test(e)?ze("recordModal.saveFailed",t):e),jn=(e,t)=>{let a=ze(e,t);return a===e?ze("recordModal.saveFailed",t):a},j="__command",Ba="data-record-dialog",qa=(e,t={})=>e.replace(/\{([a-zA-Z0-9_]+)\}/gu,(a,s)=>s in t?String(t[s]??""):a),Va=["a[href]","button:not(:disabled)",'input:not(:disabled):not([type="hidden"])',"select:not(:disabled)","textarea:not(:disabled)",'[tabindex]:not([tabindex="-1"])'].join(", "),Na=e=>[...e.querySelectorAll(Va)].filter(t=>!t.hidden&&t.getAttribute("aria-hidden")!=="true"&&!t.matches('[data-ui="modal-backdrop"]'));var Yn=e=>{let t=[],a=e;for(;a&&a!==document.body;){let s=a.parentElement;if(!s)break;for(let o of s.children)o instanceof HTMLElement&&o!==a&&!o.matches("script, style, template")&&(t.push({element:o,inert:o.inert}),o.inert=!0);a=s}return()=>{for(let{element:s,inert:o}of t)s.inert=o}},Ja=()=>typeof crypto<"u"&&"randomUUID"in crypto?crypto.randomUUID():`${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`,Qn=e=>Object.entries(e.values).some(([t,a])=>a!==e.initialValues[t])||Object.entries(e.checks).some(([t,a])=>a!==e.initialChecks[t]),H=()=>({values:{},checks:{},initialValues:{},initialChecks:{}}),Xa=(e,t)=>`${e}\0${t}`,Xe="__all:",st=e=>e.after??"close",ei=400,ti=(e,t=ei)=>{let a,s=()=>{clearTimeout(a),a=void 0};return{set:o=>{if(s(),!o){e(!1);return}a=setTimeout(()=>e(!0),t)},stop:s}},ai='a, button, input, select, textarea, label, summary, details, [data-ui="select-cell"]',ni=e=>{let t=e?.closest("a[href]");return t?t.target&&t.target!=="_self"?null:t.href:e?.closest(ai)?null:e?.closest("[data-row-href]")?.getAttribute("data-row-href")??null},Ga=e=>()=>{let t=F(null),a=F("idle"),s=F(null),o=F(null),u=F([]),R=F(H()),C=F(H()),x=F(!1),gt=F(!1),ft=ti(i=>gt.set(i)),Te=F(!1),bt=i=>{x.set(i),ft.set(i),i&&Te.set(!1)},O=F(null),we=F(0),Y=F({}),N=F(null),$=new Map,Qa=(i,c)=>{for($.delete(i),$.set(i,c);$.size>Wn;)$.delete($.keys().next().value)},L=null,Oe=null,De=!1,Ge=null,B=null,ue=null,Re=null,en=()=>typeof e.labels=="function"?e.labels():e.labels??{},pt=()=>({messages:s()?.messages,previous:Re,labels:en()}),J=(i,c)=>qa(ze(i,pt()),c),ht=i=>i.message??qa(jn(i.code,pt()),i.params),yt=i=>[...e.tabs??[],...e.extensionTabs?.(i)??[]].filter(c=>c.visible?.(i)??!0),Ae=(i,c,m="record")=>{let d=()=>m==="dialog"?C():R(),l={kind:e.kind,id:i.id,creating:i.id==="new",tab:i.tab,data:c,t:J,fieldError:p=>{let n=u().find(r=>r.field===p);return n?ht(n):null},draft:(p,n="")=>{let r=d();return r.initialValues[p]??=n,r.values[p]??n},draftChecked:(p,n="1",r=!1)=>{let g=d(),v=Xa(p,n);return g.initialChecks[v]??=r,g.checks[v]??r},outcome:p=>{let n=N();return n?.command===p?n.value:null},busy:gt(),dialog:O(),href:p=>rt(location.href,{kind:e.kind,id:i.id,tab:p}),state:(p,n="")=>Y()[p]??n},h=yt(l);return h.length&&!h.some(p=>p.id===i.tab)&&(l.tab=h[0].id),l},Q=async(i,c=!1)=>{Oe?.abort();let m=new AbortController;Oe=m;let d=e.cache===!1?void 0:$.get(i);d&&(Re=d.messages??Re,s.set(d),a.set("ready"),c=!0),c||a.set("loading"),o.set(null);try{let l=i==="new",h="route"in e.context?await _n(e.context.route(i,l),m.signal):await $a(e.context.fn,e.context.input?e.context.input(i,l):l?{}:{id:i},{signal:m.signal});if(m.signal.aborted)return;if(!h.ok||!h.value){o.set(h.ok?"recordModal.notFound":h.message??"recordModal.loadFailed"),a.set("error");return}Re=h.value.messages??Re,e.cache!==!1&&Qa(i,h.value),s.set(h.value),a.set("ready")}catch(l){if(m.signal.aborted||l?.name==="AbortError")return;o.set("recordModal.loadFailed"),a.set("error")}},Ie=()=>L?[...L.querySelectorAll('[data-ui="modal-layer"][data-client-modal="true"]')]:[],me=()=>Ie()[0]??null,Ue=()=>Ie().at(-1)??null,ge=0,fe=()=>{if(e.fixedHeight||a()!=="ready")return;let i=me()?.querySelector('[data-ui="modal-sheet"][data-height="fixed"]');if(!i)return;if(window.matchMedia("(max-width: 47.9375rem)").matches){i.style.setProperty("height","100dvh","important"),i.style.removeProperty("min-height");return}let c=i.querySelector('[data-ui="tabbed-view"]');if(!c)return;let m=c.querySelector('[data-ui="tab-panel"]'),d=m?.scrollTop??0;i.style.setProperty("height","auto","important"),i.style.setProperty("min-height","0"),c.style.setProperty("height","auto"),ge=Math.max(ge,Math.ceil(i.getBoundingClientRect().height)),c.style.removeProperty("height");let l=getComputedStyle(i).maxHeight;i.style.setProperty("min-height",l==="none"?`${ge}px`:`min(${ge}px, ${l})`),m&&(m.scrollTop=d)},ee=(i,c)=>{if(!i)return;let m=c==="dialog"?C():R(),d={values:{...m.values},checks:{...m.checks},initialValues:{...m.initialValues},initialChecks:{...m.initialChecks}};for(let l of i.querySelectorAll("input[name], select[name], textarea[name]"))if(!(l.disabled||l.name===j)){if(l instanceof HTMLInputElement){if(l.type==="file"||l.type==="hidden")continue;if(l.type==="checkbox"||l.type==="radio"){let h=Xa(l.name,l.value);d.initialChecks[h]??=l.defaultChecked,d.checks[h]=l.checked,l.type==="checkbox"?d.values[l.name]=l.checked?l.value:"":l.checked&&(d.values[l.name]=l.value),d.initialValues[l.name]=d.values[l.name]??"";continue}}d.initialValues[l.name]??=l instanceof HTMLSelectElement?[...l.options].find(h=>h.defaultSelected)?.value??l.options[0]?.value??"":l.defaultValue,d.values[l.name]=l.value}c==="dialog"?C.set(d):R.set(d)},_e=()=>{let i=Ie();ee(i[0]??null,"record"),i.length>1&&ee(i.at(-1)??null,"dialog")},vt=i=>{if(!i)return!0;let c=O()&&i===Ue()?"dialog":"record";ee(i,c);let m=c==="dialog"?C():R(),d=[...i.querySelectorAll('input[type="file"]')].some(l=>!l.disabled&&!!l.files?.length);return!Qn(m)&&!d?!0:globalThis.confirm(J("recordModal.unsaved"))},Ce=i=>{requestAnimationFrame(()=>{let c=Ie(),m=c[0],d=c.at(-1);if(!d)return;m&&(m.inert=c.length>1);let l=i?.();if(l?.isConnected&&d.contains(l)){l.focus();return}if(d.contains(document.activeElement))return;let h=d.querySelector('[data-ui="modal-sheet"]');(Na(d).find(n=>!n.matches('[data-ui="modal-close"]'))??h)?.focus()})},G=(i,c,m,d)=>{let l=t(),h=l?.id===i,p=c??(h?l.tab:"");h||(ge=0,Ge=document.activeElement instanceof HTMLElement?document.activeElement:null,u.set([]),Te.set(!1),R.set(H()),C.set(H()),Y.set({}),N.set(null),O.set(null),B=null,s.set(null),Q(i)),t.set({id:i,tab:p});let n=rt(location.href,{kind:e.kind,id:i,tab:p||null});m==="push"?(history.replaceState({...history.state??{},__ketScroll:[window.scrollX,window.scrollY]},"",location.href),history.pushState({...history.state??{},__ketRecordModal:e.kind},"",n),De=!0):m==="replace"&&history.replaceState(history.state??{},"",n),L&&!ue&&(ue=Yn(L)),Ce(d)},Pe=i=>{Oe?.abort(),t.set(null),ge=0,O.set(null),u.set([]),Te.set(!1),R.set(H()),C.set(H()),Y.set({}),N.set(null),a.set("idle"),s.set(null),ue?.(),ue=null,i==="history"&&De?(De=!1,history.back()):i!=="none"&&(De=!1,history.replaceState(history.state??{},"",Aa(location.href)));let c=Ge;Ge=null,B=null,c?.isConnected&&requestAnimationFrame(()=>c.focus())},xt=()=>{if(O()){if(!vt(Ue()))return;let i=B;B=null,O.set(null),C.set(H()),u.set([]),N.set(null),Ce(()=>i?.isConnected?i:null);return}vt(me())&&Pe("history")},tn=async(i,c,m)=>{let d=e.commands?.[i],l=t(),h=s()?.data;if(!d||!l||h===void 0||x())return;let p=new FormData(c,m instanceof HTMLButtonElement?m:null),n=c.closest('[data-ui="modal-layer"][data-client-modal="true"]'),r=O()&&n===Ue()?"dialog":"record";ee(n,r);let g=Ae(l,h,r);if(d.confirm){let v=d.confirm(g);if(v&&!globalThis.confirm(v))return}bt(!0),u.set([]);try{let v={};for(let[b,A]of Object.entries(d.upload??{})){let I=p.get(b);if(!(I instanceof File)||I.size===0)continue;let be=new FormData;for(let[We,rn]of Object.entries(A(p,g)))be.append(We,rn);be.append("file",I,I.name);let Le=await fetch("/files",{method:"POST",credentials:"same-origin",body:be}),z=await Le.json().catch(()=>null);if(!Le.ok||!z?.id){u.set([{field:null,code:"recordModal.uploadFailed",message:typeof z?.message=="string"?z.message:null,params:{}}]);return}v[b]={id:String(z.id),name:typeof z.name=="string"?z.name:null}}let T=(b,A)=>$a(b,A,{idempotencyKey:Ja()}),y=d.route?await za(d.route,d.input(p,g,v),{idempotencyKey:Ja()}):await T(d.fn,d.input(p,g,v));for(let b of y.ok?d.also??[]:[])if(!(b.when&&!b.when(g))&&(y=await T(b.fn,b.input(p,g,v)),!y.ok))break;if(!y.ok){N.set(null),u.set(y.issues.length?y.issues.map(b=>({...b,field:b.field&&d.issueField?d.issueField(b.field,p,g):b.field})):[{field:null,code:y.message??"recordModal.saveFailed",message:y.message,params:{}}]);return}if(d.preview){N.set({command:i,value:y.value}),we.set(we()+1);return}r==="dialog"?C.set(H()):R.set(H()),N.set(st(d)==="stay"?{command:i,value:y.value}:null),c.reset();let X=y.value,U=st(d)==="open"?d.created?.(y.value)??(X&&typeof X=="object"&&X.id!=null?String(X.id):null):null;$.delete(l.id),U&&$.delete(U);let te=()=>{document.dispatchEvent(new CustomEvent("ket:records-changed",{detail:{kind:e.kind,ids:[U??l.id]}}))};if(d.navigate){let b=new URL(d.navigate(y.value,g),location.href);if(b.origin!==location.origin)throw new Error("Record navigation must stay same-origin");Pe("none"),location.assign(b.href);return}let D=st(d);if(D!=="close"&&Te.set(!0),D==="open"){O.set(null),C.set(H()),U?G(U,d.openTab??null,"replace"):Pe("history"),te();return}if(te(),D==="close")Pe("history");else if(D==="reload"){let b=B;B=null,O.set(null),C.set(H()),await Q(l.id),Ce(()=>b?.isConnected?b:null)}else if(D==="refresh")await Q(l.id,!0);else if(D==="stay")we.set(we()+1);else if("tab"in D)B=null,O.set(null),C.set(H()),G(l.id,D.tab,"replace"),await Q(l.id);else{let b=D.dialog?null:B;B=D.dialog&&m instanceof HTMLElement?m:null,O.set(D.dialog?{name:D.dialog,params:{}}:null),C.set(H()),await Q(l.id,!0),Ce(()=>b?.isConnected?b:null)}}catch{u.set([{field:null,code:"recordModal.saveFailed",message:null,params:{}}])}finally{bt(!1)}},St=i=>{let c=u().filter(l=>!l.field),m=u().filter(l=>l.field&&!L?.querySelector(`[name="${CSS.escape(l.field)}"]`)),d=[...c,...m];return d.length?M({title:i.t("recordModal.errorTitle"),message:d.map(ht).join(" \xB7 "),tone:"danger"}):Te()?M({title:i.t("recordModal.savedTitle"),message:i.t("recordModal.saved"),tone:"positive"}):""},an=()=>{let i=t();if(!i)return"";if(a()==="error")return He(Fe,{children:[M({title:J("recordModal.errorTitle"),message:J(o()??"recordModal.loadFailed"),tone:"danger"}),E({label:J("recordModal.retry"),variant:"secondary",name:"intent",value:"retry"})]});let c=s()?.data;if(a()!=="ready"||c===void 0)return pe({label:J("recordModal.loading")});let m=Ae(i,c),d=yt(m),l=d.find(r=>r.id===m.tab),h=e.header?.(m)??"",p=St(m),n=l?l.view(m):e.body?.(m)??"";return d.length?et({id:`record-view-${e.kind.replaceAll(".","-")}`,label:e.title(m),items:d.map(r=>({id:r.id,label:r.label(m),href:m.href(r.id),active:r.id===m.tab})),context:h!==""||p!==""?He(Fe,{children:[h,p]}):void 0,body:n}):He(Fe,{children:[h,p,n]})},nn=()=>{let i=t(),c=O(),m=s()?.data;if(!i||!c||m===void 0)return"";let d=e.dialogs?.[c.name];if(!d)return"";let l=Ae(i,m,"dialog");return re({id:`record-dialog-${e.kind.replaceAll(".","-")}-${c.name}`,mode:"client",presentation:"dialog",size:d.size??"default",title:d.title(l),actions:d.actions?.(l),closeLabel:J("recordModal.close"),body:He(Fe,{children:[St(l),d.view(l)]})})};return{view:()=>{we();let i=t();if(!i)return ot(e.kind);let c=s()?.data,m=c===void 0?null:Ae(i,c);return He(Fe,{children:[ot(e.kind),re({id:`record-modal-${e.kind.replaceAll(".","-")}`,mode:"client",presentation:"dialog",size:e.size??"default",height:(e.tabs?.length??0)+(e.extensionTabs?1:0)>1?"fixed":"content",fixedHeight:e.fixedHeight??"auto",title: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:an()}),nn()]})},mount:({root:i,lifetime:c})=>{L=i,document.addEventListener("click",n=>{if(n.defaultPrevented||n.button!==0||n.metaKey||n.ctrlKey||n.shiftKey||n.altKey)return;let r=n.target instanceof Element?n.target:null,g=r?.closest('[data-ui="modal-layer"][data-client-modal="true"]');if(g&&L?.contains(g)){if(r?.closest('[data-ui="modal-close"], [data-ui="modal-backdrop"], [data-record-close]')){n.preventDefault(),xt();return}let b=r?.closest("button[data-record-state], a[data-record-state]");if(b){n.preventDefault(),_e(),Y.set({...Y(),[b.getAttribute("data-record-state")??""]:b.getAttribute("data-record-value")??""});return}let A=r?.closest(`[${Ba}]`);if(A){n.preventDefault(),ee(me(),"record");let I=document.activeElement;B=I instanceof HTMLElement&&A.contains(I)?I:A.querySelector(Va),C.set(H());let be={};for(let[Le,z]of Object.entries(A.dataset))Le.startsWith("recordParam")&&z!==void 0&&(be[Le.slice(11).replace(/^./u,We=>We.toLowerCase())]=z);u.set([]),N.set(null),O.set({name:A.getAttribute(Ba)??"",params:be}),Ce();return}if(r?.closest('button[name="intent"][value="retry"]')){n.preventDefault();let I=t();I&&Q(I.id);return}}let v=ni(r);if(!v)return;let T=new URL(v,location.href);if(T.origin!==location.origin||T.pathname!==location.pathname)return;let y=xe(T);if(!y||y.kind!==e.kind)return;n.preventDefault();let X=t(),U="route"in e.context?e.context.query??[]:[],te=new URL(location.href);if(U.some(b=>te.searchParams.get(b)!==T.searchParams.get(b))){ee(me(),"record");for(let b of U){let A=T.searchParams.get(b);A===null?te.searchParams.delete(b):te.searchParams.set(b,A)}history.replaceState(history.state??{},"",te.href),X?.id===y.id&&Q(X.id)}if(X?.id===y.id){if((y.tab??"")===X.tab)return;ee(me(),"record"),u.set([]),N.set(null),G(y.id,y.tab??null,"replace",()=>me()?.querySelector('[data-ui="tab"][data-active="true"]')??null);return}G(y.id,y.tab??null,"push")},{signal:c,capture:!0}),document.addEventListener("keydown",n=>{if(n.defaultPrevented||n.key!=="Enter"&&n.key!==" ")return;let r=n.target instanceof Element?n.target:null;if(!r?.matches('[data-row-href][tabindex="0"]'))return;let g=r.getAttribute("data-row-href"),v=g?new URL(g,location.href):null;if(!v||v.origin!==location.origin||v.pathname!==location.pathname)return;let T=xe(v);!T||T.kind!==e.kind||(n.preventDefault(),G(T.id,T.tab??null,"push"))},{signal:c,capture:!0}),document.addEventListener("submit",n=>{let r=n.target instanceof HTMLFormElement?n.target:null;if(!r||!L?.contains(r))return;n.preventDefault();let g=n.submitter??null,v=(g instanceof HTMLButtonElement&&g.name===j?g.value:null)??String(new FormData(r).get(j)??"");tn(v,r,g)},{signal:c}),document.addEventListener("keydown",n=>{if(!t())return;let r=L?.querySelectorAll('[data-ui="modal-layer"][data-client-modal="true"]'),g=r?.[r.length-1];if(!g)return;if(n.key==="Escape"){n.preventDefault(),xt();return}if(n.key!=="Tab")return;let v=Na(g);if(!v.length){n.preventDefault(),g.querySelector('[data-ui="modal-sheet"]')?.focus();return}let T=v[0],y=v.at(-1);n.shiftKey&&(document.activeElement===T||!g.contains(document.activeElement))?(n.preventDefault(),y.focus()):!n.shiftKey&&(document.activeElement===y||!g.contains(document.activeElement))&&(n.preventDefault(),T.focus())},{signal:c}),document.addEventListener("change",n=>{let r=n.target instanceof Element?n.target:null;if(!r||!L?.contains(r))return;if(r instanceof HTMLInputElement&&r.type==="checkbox"&&r.form){let v=r.form;if(v.querySelector(`input[type="checkbox"][name^="${Xe}"]`)){if(r.name.startsWith(Xe)){let T=r.name.slice(Xe.length);for(let y of v.querySelectorAll('input[type="checkbox"]'))!y.disabled&&!y.name.startsWith(Xe)&&y.name.startsWith(T)&&(y.checked=r.checked)}_e();return}}let g=r.getAttribute("data-record-state")??(["relation-native","reorder-list-value"].includes(r.getAttribute("data-ui")??"")?r.getAttribute("name"):null);if((r instanceof HTMLSelectElement||r instanceof HTMLInputElement)&&g){_e(),Y.set({...Y(),[g]:r.value});return}r instanceof HTMLInputElement&&r.type==="file"&&r.hasAttribute("data-record-submit")&&r.files?.length&&r.form?.requestSubmit()},{signal:c});let m=n=>{let g=(n.target instanceof Element?n.target:null)?.closest("form[data-record-dropzone]")??null;return g&&L?.contains(g)?g:null};document.addEventListener("dragover",n=>{let r=m(n);r&&(n.preventDefault(),r.dataset.drag="1")},{signal:c}),document.addEventListener("dragleave",n=>{let r=m(n);if(!r)return;let g=n.relatedTarget;g instanceof Node&&r.contains(g)||delete r.dataset.drag},{signal:c}),document.addEventListener("drop",n=>{let r=m(n);if(!r)return;n.preventDefault(),delete r.dataset.drag;let g=n.dataTransfer?.files,v=r.querySelector('input[type="file"]');if(!v||!g?.length)return;let T=new DataTransfer;T.items.add(g[0]),v.files=T.files,r.requestSubmit()},{signal:c});let d="ket-island, div[data-ket-island]",l=n=>n instanceof Element&&(n.matches(d)||n.querySelector(d)!==null),h=new MutationObserver(n=>{fe();for(let r of n){for(let g of r.removedNodes)l(g)&&document.dispatchEvent(new CustomEvent("ket:islands-detach",{detail:{root:g}}));for(let g of r.addedNodes)l(g)&&g.isConnected&&document.dispatchEvent(new CustomEvent("ket:islands-attach",{detail:{root:g}}))}});h.observe(L,{childList:!0,subtree:!0,characterData:!0}),c.addEventListener("abort",()=>h.disconnect()),window.addEventListener("resize",fe,{signal:c}),L.addEventListener("load",fe,{capture:!0,signal:c}),L.addEventListener("toggle",fe,{capture:!0,signal:c}),document.fonts?.ready.then(()=>{c.aborted||fe()}),fe(),document.addEventListener("ket:records-changed",n=>{let r=n.detail;if(r?.kind===e.kind)if(!Array.isArray(r.ids)||!r.ids.length)$.clear();else for(let g of r.ids)$.delete(String(g))},{signal:c}),document.addEventListener("ket:popstate",n=>{let r=xe(location.href),g=r?.kind===e.kind;!g&&!t()||(n.preventDefault(),g&&r?G(r.id,r.tab??null,"none"):Pe("none"))},{signal:c}),document.addEventListener("ket:navigation-complete",()=>{let n=xe(location.href);n?.kind===e.kind&&!t()&&G(n.id,n.tab??null,"none")},{signal:c});let p=xe(location.href);p?.kind===e.kind&&G(p.id,p.tab??null,"none"),c.addEventListener("abort",()=>{Oe?.abort(),ft.stop(),ue?.(),ue=null,L=null})}}};var Ua={vi:{"recordModal.close":"\u0110\xF3ng","recordModal.loading":"\u0110ang t\u1EA3i\u2026","recordModal.loadFailed":"Kh\xF4ng \u0111\u1ECDc \u0111\u01B0\u1EE3c d\u1EEF li\u1EC7u. H\xE3y th\u1EED l\u1EA1i.","recordModal.notFound":"M\u1EE5c n\xE0y kh\xF4ng c\xF2n t\u1ED3n t\u1EA1i ho\u1EB7c b\u1EA1n kh\xF4ng c\xF3 quy\u1EC1n xem.","recordModal.retry":"Th\u1EED l\u1EA1i","recordModal.errorTitle":"Ch\u01B0a l\u01B0u \u0111\u01B0\u1EE3c","recordModal.saveFailed":"Thao t\xE1c kh\xF4ng th\xE0nh c\xF4ng. H\xE3y th\u1EED l\u1EA1i.","recordModal.savedTitle":"\u0110\xE3 l\u01B0u","recordModal.saved":"Thay \u0111\u1ED5i \u0111\xE3 \u0111\u01B0\u1EE3c ghi nh\u1EADn.","recordModal.unsaved":"B\u1ECF c\xE1c thay \u0111\u1ED5i ch\u01B0a l\u01B0u?","recordModal.uploadFailed":"Kh\xF4ng t\u1EA3i \u0111\u01B0\u1EE3c t\u1EC7p l\xEAn. H\xE3y th\u1EED l\u1EA1i."},en:{"recordModal.close":"Close","recordModal.loading":"Loading\u2026","recordModal.loadFailed":"The record could not be read. Try again.","recordModal.notFound":"The record is gone or you cannot see it.","recordModal.retry":"Retry","recordModal.errorTitle":"Not saved","recordModal.saveFailed":"That did not work. Try again.","recordModal.savedTitle":"Saved","recordModal.saved":"The changes have been saved.","recordModal.unsaved":"Discard unsaved changes?","recordModal.uploadFailed":"The file could not be uploaded. Try again."}};var ii=e=>e==="full"?"positive":e==="partial"?"warning":"neutral",_a=e=>e.area?`${e.area} \xB7 ${e.label}`:e.label,ri=(e,t)=>t.missing.map(a=>`${a.label} (${e(`user_backend.surface.tier.${a.tier}`)})`).join(" \xB7 "),Wa=e=>{let{t}=e,a=e.surfaces.filter(o=>o.status==="partial"),s=e.surfaces.filter(o=>o.status==="full");return!a.length&&!s.length?M({tone:"info",title:e.empty.title,message:e.empty.message}):le({gap:"default",items:[ye({columns:2,items:[{id:"full",label:t("user_backend.surface.fullCount"),value:K({label:String(s.length),tone:"positive"})},{id:"partial",label:t("user_backend.surface.partialCount"),value:K({label:String(a.length),tone:a.length?"warning":"neutral"})}]}),...a.length?[W({title:t("user_backend.surface.partialTitle"),description:t("user_backend.surface.partialHint"),body:de({rows:a,id:o=>o.key,columns:[{key:"screen",label:t("user_backend.surface.screen"),priority:"primary",cell:o=>_a(o)},{key:"missing",label:t("user_backend.surface.missing"),cell:o=>ri(t,o)},{key:"fix",label:t("user_backend.surface.fix"),cell:o=>o.fixes.join(" \xB7 ")||t("user_backend.surface.noFix")}]})})]:[],...s.length?[W({title:t("user_backend.surface.fullTitle"),body:de({rows:s,id:o=>o.key,columns:[{key:"screen",label:t("user_backend.surface.screen"),priority:"primary",cell:o=>_a(o)},{key:"status",label:t("user_backend.field.state"),cell:o=>K({label:t(`user_backend.surface.status.${o.status}`),tone:ii(o.status)})},...e.showVia?[{key:"via",label:t("user_backend.surface.via"),cell:o=>o.via.join(" \xB7 ")||"\u2014"}]:[]]})})]:[]]})};var Ve=()=>typeof crypto<"u"&&"randomUUID"in crypto?crypto.randomUUID():`${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`,dt=()=>typeof document<"u"&&document.documentElement.lang==="en"?"en":"vi",f=(e,t)=>e.t(`user_backend.${t}`),ce=(e,t)=>String(e.get(t)??"").trim(),oi=(e,t)=>["1","on","true"].includes(String(e.get(t)??"")),ja=e=>e.creating?e.data.permissions.create===!0:e.data.permissions.save===!0,Ya=e=>`role_${e}`,ct=e=>String(e.tier??"")==="security",ke=(e,t)=>({...t,id:`user-policy-${t.name}`,value: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||!ja(e)}),ut=(e,t)=>{let a=ke(e,{name:t.name,label:t.label,type:"select",required:!0});return{...a,options:t.options,control:lt({id:a.id,name:t.name,state:t.name,value:t.value,options:t.options,required:!0,disabled:a.disabled===!0,invalid:!!a.error})}},li=e=>{let t=e.data.record,a=e.state("scopeKind",t.scopeKind),s=e.state("companyId",t.companyId??String(e.data.companies[0]?.id??"")),o=e.data.actor?.superuser===!0,u=e.state("matchKind",t.matchKind),R=[...e.data.matchOptions?.[u]??[]];t.matchKind===u&&t.matchValue&&!R.some(x=>x.value===t.matchValue)&&R.push({value:t.matchValue,label:t.matchValue});let C=e.draft("matchValue",t.matchKind===u?t.matchValue:"");return[ke(e,{name:"name",label:f(e,"field.name"),value:t.name,required:!0,span:"full"}),ut(e,{name:"matchKind",label:f(e,"policy.matchKind"),value:u,options:e.data.matchKinds.map(x=>({value:x,label:f(e,`policy.match.${x}`)}))}),{...ke(e,{name:"matchValue",label:f(e,`policy.match.${u}`),type:"select",required:!0,options:[{value:"",label:f(e,"policy.chooseValue")},...R],disabled:!R.length,help:R.length?null:f(e,"policy.noOptions")}),value:R.some(x=>x.value===C)?C:""},ut(e,{name:"scopeKind",label:f(e,"field.scope"),value:a,options:e.data.scopeKinds.map(x=>({value:x,label:f(e,`scope.choice.${x}`)}))}),...a==="tenant"?[]:[ut(e,{name:"companyId",label:f(e,"field.company"),value:s,options:e.data.companies.map(x=>({value:String(x.id),label:String(x.name)}))})],...a==="branch"?[ke(e,{name:"branchId",label:f(e,"field.branch"),type:"select",value:t.branchId??"",required:!0,options:e.data.branches.filter(x=>String(x.companyId)===s).map(x=>({value:String(x.id),label:String(x.name)}))})]:[],ke(e,{name:"roleIds",label:f(e,"field.jobRoles"),type:"checkbox-group",required:!0,span:"full",optionsOrientation:"vertical",help:e.data.roles.some(ct)&&!o?f(e,"access.securityTierHint"):null,options:e.data.roles.map(x=>({name:Ya(String(x.id)),value:"1",label:ct(x)?`${String(x.name)} \xB7 ${f(e,"role.tier.security")}`:String(x.name),checked:t.roleIds.includes(String(x.id)),disabled:ct(x)&&!o}))}),ke(e,{name:"description",label:f(e,"field.description"),type:"textarea",value:t.description,span:"full"})]},si=e=>{let t=e.outcome("previewSave");if(!t)return"";if(!t.ok)return M({tone:"warning",title:f(e,"preview.unavailable"),message:""});let a=t.changes??[],s=f(e,"policy.previewUnchanged").replace("{count}",String(t.unchanged??0));return a.length?le({gap:"compact",items:[M({tone:a.some(o=>o.removed.length)?"warning":"info",title:f(e,"policy.previewTitle").replace("{count}",String(a.length)),message:s}),de({rows:a,id:o=>o.userId,columns:[{key:"person",label:f(e,"users.title"),priority:"primary",cell:o=>o.name},{key:"added",label:f(e,"policy.gains"),cell:o=>o.added.join(", ")||"\u2014"},{key:"removed",label:f(e,"policy.loses"),cell:o=>o.removed.join(", ")||"\u2014"}]})]}):M({tone:"info",title:f(e,"preview.noChange"),message:s})},Za=(e,t)=>le({gap:"default",items:[Je({kind:e.kind,fields:li(e),actions:ja(e)?[E({label:f(e,"action.previewPolicy"),variant:"secondary",type:"submit",name:j,value:"previewSave"}),...e.outcome("previewSave")?[E({label:f(e,t==="create"?"action.createPolicy":"action.savePolicy"),variant:"primary",type:"submit",name:j,value:t})]:[]]:[]}),si(e)]}),di=e=>e.data.members.length?de({rows:e.data.members,id:t=>String(t.id),columns:[{key:"name",label:f(e,"users.title"),priority:"primary",cell:t=>`${String(t.name)} \xB7 ${String(t.login)}`},{key:"since",label:f(e,"policy.since"),cell:t=>String(t.since??"\u2014")},{key:"state",label:f(e,"field.state"),cell:t=>String(t.status)==="blocked"?K({label:f(e,"policy.memberBlocked"),tone:"warning"}):K({label:f(e,"policy.memberApplied"),tone:"positive"})}]}):M({tone:"info",title:f(e,"policy.noMembers"),message:f(e,"policy.noMembersHint")}),ci=e=>e.data.permissions.pause?W({title:e.data.record.active?f(e,"policy.pauseTitle"):f(e,"policy.resumeTitle"),description:e.data.record.active?f(e,"policy.pauseHint"):f(e,"policy.resumeHint"),body:Je({kind:e.kind,fields:[],command:"setActive",actions:[E({label:e.data.record.active?f(e,"action.pausePolicy"):f(e,"action.resumePolicy"),variant:e.data.record.active?"destructive":"primary",type:"submit"})]})}):"",ui=(e,t)=>t.data.roles.map(a=>String(a.id)).filter(a=>oi(e,Ya(a))),mt=(e,t,a)=>({id:a,name:ce(e,"name"),description:ce(e,"description")||null,matchKind:ce(e,"matchKind"),matchValue:ce(e,"matchValue"),scopeKind:ce(e,"scopeKind")||"company",companyId:ce(e,"companyId")||null,branchId:ce(e,"branchId")||null,roleIds:ui(e,t)}),mi={kind:"user.accessPolicy",size:"large",labels:()=>Ua[dt()],context:{fn:"user.accessPolicyModalContext",input:(e,t)=>t?{locale:dt()}:{id:e,locale:dt()}},title:e=>e.creating?f(e,"action.createPolicy"):e.data.record.name,description:e=>e.creating?f(e,"policy.createSubtitle"):e.data.record.description||null,status:e=>e.creating?void 0:K({label:f(e,e.data.record.active?"state.active":"policy.paused"),tone:e.data.record.active?"positive":"neutral"}),body:e=>e.creating?W({title:f(e,"policy.ruleTitle"),body:Za(e,"create")}):"",tabs:[{id:"rule",label:e=>f(e,"tab.policyRule"),visible:e=>!e.creating,view:e=>le({gap:"default",items:[ye({columns:2,items:[{id:"members",label:f(e,"policy.membersColumn"),value:String(e.data.members.length)},{id:"roles",label:f(e,"field.jobRoles"),value:String(e.data.record.roleIds.length)}]}),Za(e,"save"),ci(e)]})},{id:"screens",label:e=>f(e,"tab.screens"),visible:()=>!1,view:e=>Wa({t:(t,a)=>e.t(t,a),surfaces:e.data.surfaces??[],showVia:!0,empty:{title:f(e,"surface.emptyTitle"),message:f(e,"policy.screensEmptyHint")}})},{id:"members",label:e=>`${f(e,"tab.policyMembers")} ${String(e.data.members.length)}`,visible:e=>!e.creating,view:di}],commands:{previewSave:{fn:"user.previewAccessPolicy",input:(e,t)=>mt(e,t,t.creating?null:t.id),preview:!0},create:{fn:"user.saveAccessPolicy",input:(e,t)=>({...mt(e,t,Ve()),previewDigest:t.outcome("previewSave")?.previewDigest,expectedAuthorizationRevision:t.data.revision,idempotencyKey:Ve()}),after:"open",openTab:"members",created:e=>{let t=e??{};return typeof t.id=="string"?t.id:null}},save:{fn:"user.saveAccessPolicy",input:(e,t)=>({...mt(e,t,t.id),previewDigest:t.outcome("previewSave")?.previewDigest,expectedAuthorizationRevision:t.data.revision,idempotencyKey:Ve()}),after:"reload"},setActive:{fn:"user.setAccessPolicyActive",input:(e,t)=>({id:t.id,active:!t.data.record.active,expectedAuthorizationRevision:t.data.revision,idempotencyKey:Ve()}),confirm:e=>e.data.record.active?f(e,"policy.pauseConfirm"):null,after:"reload"}}},Xf=Ga(mi);export{Xf as accessPolicyModal,mi as accessPolicyModalDefinition};
2
+ import{each as cn}from"/_ket/view/index.js";import{Fragment as Ct,jsx as ie,jsxs as mn}from"/_ket/view/jsx-runtime.js";var Rt=["action","action-leading","action-label","action-spinner","action-group"],un=e=>mn(Ct,{children:[e.loading===!0&&ie("span",{"data-ui":"action-spinner","aria-hidden":"true"}),e.loading!==!0&&e.leading!==void 0&&ie("span",{"data-ui":"action-leading","aria-hidden":"true",children:e.leading}),!e.iconOnly&&ie("span",{"data-ui":"action-label",children:e.label})]}),A=e=>ie("button",{"data-ui":"action","data-variant":e.variant??"secondary","data-size":e.size??"default",type:e.type??"button",name:e.name??null,value:e.value??null,form:e.form??null,disabled:e.disabled===!0||e.loading===!0,"aria-busy":e.loading===!0?"true":null,"aria-describedby":e.describedBy??null,"aria-expanded":e.expanded===void 0?null:String(e.expanded),"aria-controls":e.controls??null,children:ie(un,{...e})});var re=e=>ie("div",{"data-ui":"action-group",role:"group","aria-label":e.label??null,children:cn(e.actions,(t,a)=>a,t=>ie(Ct,{children:t}))});import{jsx as gn,jsxs as Si}from"/_ket/view/jsx-runtime.js";var Pt=["badge","tag","tag-remove","count-badge","avatar","code","text","media-label","media-label-image","media-label-copy"];var B=e=>gn("span",{"data-ui":"badge","data-pattern":"badge","data-tone":e.tone??"neutral","data-value":e.value??"",children:e.label});import{each as fn}from"/_ket/view/index.js";import{Fragment as Je,jsx as T,jsxs as Z}from"/_ket/view/jsx-runtime.js";var Lt=["notice","notice-mark","notice-copy","notice-title","notice-message","notice-actions","empty","empty-mark","empty-title","empty-message","empty-actions","loading","loading-label"],bn={info:()=>Z(Je,{children:[T("circle",{cx:"12",cy:"12",r:"10"}),T("path",{d:"M12 16v-4"}),T("path",{d:"M12 8h.01"})]}),positive:()=>Z(Je,{children:[T("circle",{cx:"12",cy:"12",r:"10"}),T("path",{d:"m9 12 2 2 4-4"})]}),warning:()=>Z(Je,{children:[T("path",{d:"m21.73 18-8-14a2 2 0 0 0-3.46 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3"}),T("path",{d:"M12 9v4"}),T("path",{d:"M12 17h.01"})]}),danger:()=>Z(Je,{children:[T("circle",{cx:"12",cy:"12",r:"10"}),T("path",{d:"M12 8v4"}),T("path",{d:"M12 16h.01"})]})},E=e=>Z("aside",{"data-ui":"notice","data-pattern":"notice","data-tone":e.tone??"info",role:e.tone==="danger"?"alert":"status",children:[T("span",{"data-ui":"notice-mark","aria-hidden":"true",children:T("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true",focusable:"false",children:bn[e.tone??"info"]()})}),Z("div",{"data-ui":"notice-copy",children:[T("p",{"data-ui":"notice-title",children:e.title}),T("p",{"data-ui":"notice-message",children:e.message})]}),e.actions!==void 0&&T("div",{"data-ui":"notice-actions",children:e.actions})]}),oe=e=>Z("div",{"data-ui":"empty",role:"status",children:[T("span",{"data-ui":"empty-mark","aria-hidden":"true",children:"\u25C7"}),T("p",{"data-ui":"empty-title",children:e.title}),T("p",{"data-ui":"empty-message",children:e.message}),e.actions!==void 0&&T("div",{"data-ui":"empty-actions",children:e.actions})]}),ve=e=>Z("div",{"data-ui":"loading",role:"status","aria-live":"polite",children:[T("span",{"data-ui":"loading-label",children:e.label}),T("div",{"data-ui":"skeleton","aria-hidden":"true",children:fn(Array.from({length:Math.max(1,e.lines??3)}),(t,a)=>a,(t,a)=>T("span",{"data-ui":"skeleton-line","data-line":String(a+1)}))})]});import{each as nt}from"/_ket/view/index.js";import{each as Sn}from"/_ket/view/index.js";import{jsx as J,jsxs as Fe}from"/_ket/view/jsx-runtime.js";var Mt=["modal-layer","modal-backdrop","modal-sheet","modal-head","modal-heading","modal-title-row","modal-title","modal-description","modal-close","modal-body","modal-actions"],le=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?J("button",{"data-ui":"modal-backdrop",type:"button","aria-hidden":"true",tabIndex:-1,children:J("span",{children:e.closeLabel})}):J("a",{"data-ui":"modal-backdrop",href:e.closeHref??"#","aria-label":e.closeLabel,children:J("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?`--kv-modal-fixed-height: ${e.fixedHeight}`:"",...e.dialogSemantics==="parent"?{}:{role:"dialog","aria-modal":a?"false":"true"},"aria-labelledby":e.dialogSemantics==="parent"?null:`${e.id}-title`,"aria-describedby":e.dialogSemantics!=="parent"&&e.description?`${e.id}-description`:null,tabindex:a?null:"-1",children:[Fe("header",{"data-ui":"modal-head",children:[Fe("div",{"data-ui":"modal-heading",children:[Fe("div",{"data-ui":"modal-title-row",children:[J("h2",{"data-ui":"modal-title",id:`${e.id}-title`,children:e.title}),e.status!==void 0&&e.status]}),!!e.description&&J("p",{"data-ui":"modal-description",id:`${e.id}-description`,children:e.description})]}),t?J("button",{"data-ui":"modal-close",type:"button","aria-label":e.closeLabel,title:e.closeLabel,children:"\xD7"}):J("a",{"data-ui":"modal-close",href:e.closeHref??"#","aria-label":e.closeLabel,title:e.closeLabel,children:"\xD7"})]}),J("div",{"data-ui":"modal-body",children:e.body}),e.actions!==void 0&&J("footer",{"data-ui":"modal-actions",children:e.actions})]})]})};import{Fragment as Fi,jsx as Mi,jsxs as Ei}from"/_ket/view/jsx-runtime.js";import{Fragment as Ki,jsx as Ii,jsxs as $i}from"/_ket/view/jsx-runtime.js";var Ft=["app-shell","app-shell-topbar","app-topbar","app-location-bar","app-location-context","app-brand","app-topbar-brand","app-topbar-context","global-search-trigger","global-search-trigger-label","global-search-shortcut","global-search-dialog","global-search","global-search-input","global-search-submit","app-sidebar","app-main","app-right-rail","page","page-context","page-header","page-heading","page-eyebrow","page-title-row","page-title","page-subline","page-status","page-actions","page-meta","page-body","record-canvas","record-content","record-section","record-section-title"];import{Fragment as Ht,jsx as L,jsxs as se}from"/_ket/view/jsx-runtime.js";var Dt=["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"],kn=e=>L(Ht,{children:Sn(e.items,(t,a)=>a,t=>typeof t=="string"||typeof t=="number"?L("span",{children:t}):L(Ht,{children:t}))}),de=e=>L("div",{"data-ui":"stack","data-pattern":"stack","data-gap":e.gap??"default","data-divided":e.divided===!0?"true":null,children:L(kn,{items:e.items})});var tt=e=>se("div",{"data-ui":"surface","data-tone":e.tone??"default","data-padding":e.padding??"default","data-has-heading":e.title?"true":null,children:[e.title&&se("header",{"data-ui":"surface-head",children:[e.description?se("div",{"data-ui":"surface-heading",children:[L("h2",{"data-ui":"surface-title",children:e.title}),L("p",{"data-ui":"surface-description",children:e.description})]}):L("h2",{"data-ui":"surface-title",children:e.title}),e.actions!==void 0&&L("div",{"data-ui":"surface-actions",children:e.actions})]}),e.body]}),at=e=>se("details",{"data-ui":"disclosure",open:e.open===!0?!0:void 0,children:[L("summary",{"data-ui":"disclosure-summary",children:e.summary}),L("div",{"data-ui":"disclosure-body",children:e.body})]}),Y=e=>se("section",{"data-ui":"section",children:[se("header",{"data-ui":"section-head",children:[se("div",{children:[!!e.eyebrow&&L("p",{"data-ui":"section-eyebrow",children:e.eyebrow}),L("h2",{"data-ui":"section-title",children:e.title}),!!e.description&&L("p",{"data-ui":"section-description",children:e.description})]}),e.actions!==void 0&&L("div",{"data-ui":"section-actions",children:e.actions})]}),L("div",{"data-ui":"section-body",children:e.body})]});import{each as Tn}from"/_ket/view/index.js";import{Fragment as wn,jsx as He}from"/_ket/view/jsx-runtime.js";var Xe=(e,t)=>e.control!==void 0?He(wn,{children:e.control}):e.type==="textarea"?He("textarea",{"data-ui":"field-control","data-appearance":e.appearance==="embedded"?"embedded":null,id:e.id,name:e.name,placeholder:e.placeholder??null,required:e.required===!0,disabled:e.disabled===!0,readonly:e.readOnly===!0,"aria-invalid":e.error?"true":null,"aria-describedby":t,children:String(e.value??"")}):e.type==="select"?He("select",{"data-ui":"field-control","data-appearance":e.appearance==="embedded"?"embedded":null,id:e.id,name:e.name,required:e.required===!0,disabled:e.disabled===!0,"aria-invalid":e.error?"true":null,"aria-describedby":t,children:Tn(e.options??[],a=>a.value,a=>He("option",{value:a.value,selected:String(e.value??"")===a.value,disabled:a.disabled===!0,children:a.label}))}):He("input",{"data-ui":"field-control","data-appearance":e.appearance==="embedded"?"embedded":null,id:e.id,type:e.type==="decimal"?"number":e.type??"text",name:e.name,value:e.type==="checkbox"?"1":String(e.value??""),checked:e.type==="checkbox"&&(e.value===!0||e.value==="1"),placeholder:e.placeholder??null,required:e.required===!0,disabled:e.disabled===!0,readonly:e.readOnly===!0,min:e.min,max:e.max,"aria-invalid":e.error?"true":null,"aria-describedby":t,autocomplete:e.autocomplete??"off",step:e.type==="decimal"?e.step??"any":e.step??null});import{jsx as R,jsxs as U}from"/_ket/view/jsx-runtime.js";var Ot=["field","field-label","field-required","field-control","field-options","field-option","field-option-input","field-help","field-error"],At=e=>!!e.error||(e.fields?.some(At)??!1),ce=e=>{let t=e.help?`${e.id}-help`:null,a=e.error?`${e.id}-error`:null,s=[t,a].filter(Boolean).join(" ")||null,r=U("span",{"data-ui":"field-label",children:[e.label,e.required&&R("span",{"data-ui":"field-required","aria-hidden":"true",children:" *"})]});return e.fields?U("div",{"data-ui":"field","data-kind":"group","data-span":"full","data-invalid":String(!!e.error),children:[R(at,{summary:e.label,open:e.open||At(e),body:R("div",{"data-ui":"form-grid",children:nt(e.fields.map(u=>({...u,disabled:e.disabled||u.disabled,readOnly:e.readOnly||u.readOnly})),u=>u.id,u=>R(ce,{...u}))})}),!!e.help&&R("small",{"data-ui":"field-help",id:t??void 0,children:e.help}),!!e.error&&R("small",{"data-ui":"field-error",id:a??void 0,children:e.error})]}):e.type==="checkbox-group"?U("div",{"data-ui":"field","data-kind":"checkbox-group","data-span":e.span??"half","data-invalid":String(!!e.error),children:[U("span",{"data-ui":"field-label",id:`${e.id}-label`,children:[e.label,e.required&&R("span",{"data-ui":"field-required","aria-hidden":"true",children:" *"})]}),R("div",{"data-ui":"field-options","data-orientation":e.optionsOrientation==="vertical"?"vertical":null,role:"group","aria-labelledby":`${e.id}-label`,children:nt(e.options??[],u=>u.name??u.value,u=>U("label",{"data-ui":"field-option",children:[R("input",{"data-ui":"field-option-input",type:"checkbox",name:u.name??`${e.name}[]`,value:u.value,checked:u.checked===!0,disabled:e.disabled===!0||u.disabled===!0,"aria-invalid":e.error?"true":null,"aria-describedby":s,autocomplete:"off"}),R("span",{children:u.label})]}))}),!!e.help&&R("small",{"data-ui":"field-help",id:t??void 0,children:e.help}),!!e.error&&R("small",{"data-ui":"field-error",id:a??void 0,children:e.error})]}):e.type==="radio"?U("div",{"data-ui":"field","data-kind":"radio","data-span":e.span??"half","data-invalid":String(!!e.error),children:[U("span",{"data-ui":"field-label",id:`${e.id}-label`,children:[e.label,e.required&&R("span",{"data-ui":"field-required","aria-hidden":"true",children:" *"})]}),R("div",{"data-ui":"field-options","data-orientation":e.optionsOrientation==="vertical"?"vertical":null,role:"radiogroup","aria-labelledby":`${e.id}-label`,children:nt(e.options??[],u=>u.value,u=>U("label",{"data-ui":"field-option",children:[R("input",{"data-ui":"field-option-input",type:"radio",name:e.name,value:u.value,checked:String(e.value??"")===u.value,required:e.required===!0,disabled:e.disabled===!0||u.disabled===!0,"aria-invalid":e.error?"true":null,"aria-describedby":s,autocomplete:"off"}),R("span",{children:u.label})]}))}),!!e.help&&R("small",{"data-ui":"field-help",id:t??void 0,children:e.help}),!!e.error&&R("small",{"data-ui":"field-error",id:a??void 0,children:e.error})]}):U("label",{"data-ui":"field","data-kind":e.type??"text","data-label-hidden":e.labelHidden?"true":null,"data-selection-hidden":e.selectionHidden?"true":null,"data-span":e.span??"half","data-invalid":String(!!e.error),for:e.id,children:[e.type==="checkbox"&&Xe(e,s),r,e.type!=="checkbox"&&Xe(e,s),!!e.help&&R("small",{"data-ui":"field-help",id:t??void 0,children:e.help}),!!e.error&&R("small",{"data-ui":"field-error",id:a??void 0,children:e.error})]})};import{each as Rn}from"/_ket/view/index.js";import{jsx as xe,jsxs as rt}from"/_ket/view/jsx-runtime.js";var It=["breadcrumbs","breadcrumb","breadcrumb-overflow","breadcrumb-overflow-trigger","breadcrumb-overflow-list","nav-list","nav-item","nav-item-leading","nav-item-label","nav-item-count","tabs","tab","tab-count","tabbed-view","tabbed-view-context","tab-panel"];var $t=e=>rt("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&&xe("span",{"data-ui":"tab-count",children:String(e.count)})]}),Kt=(e,t)=>`${e}-${t.replace(/[^a-zA-Z0-9_-]+/gu,"-")}-tab`,Bt=e=>rt("nav",{"data-ui":"tabs","data-pattern":"tabs","aria-label":e.label,children:[Rn(e.items,t=>t.id,t=>xe($t,{...t,elementId:e.id?Kt(e.id,t.id):void 0,controls:e.panelId})),e.extension]}),qt=e=>xe("section",{"data-ui":"tab-panel",id:e.id,"aria-labelledby":e.labelledBy,tabindex:"-1",children:e.body}),it=e=>{let t=`${e.id}-tabs`,a=`${e.id}-panel`,s=e.items.find(r=>r.active===!0);return rt("div",{"data-ui":"tabbed-view",children:[e.context!==void 0&&e.context!==""?xe("div",{"data-ui":"tabbed-view-context",children:e.context}):"",xe(Bt,{id:t,label:e.label,items:e.items,extension:e.extension,panelId:a}),xe(qt,{id:a,labelledBy:s?Kt(t,s.id):void 0,body:e.body})]})};import{jsx as or,jsxs as lr}from"/_ket/view/jsx-runtime.js";var Nt=["progress","progress-label","progress-value","progress-track","progress-bar"];import{each as cr}from"/_ket/view/index.js";import{Fragment as fr,jsx as mr,jsxs as gr}from"/_ket/view/jsx-runtime.js";var Jt=["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 hr,jsxs as yr}from"/_ket/view/jsx-runtime.js";var Xt=["popover","popover-trigger","popover-panel","popover-close"];import{jsx as Sr,jsxs as kr}from"/_ket/view/jsx-runtime.js";var zt=["tooltip","tooltip-trigger","tooltip-content"];import{jsx as Pr}from"/_ket/view/jsx-runtime.js";var Vt=["dialog","confirm-dialog-message"];import{each as Er}from"/_ket/view/index.js";import{jsx as Hr,jsxs as Dr}from"/_ket/view/jsx-runtime.js";var Gt=["toast-region","toast","toast-copy","toast-title","toast-message","toast-actions"];import{jsx as Ir}from"/_ket/view/jsx-runtime.js";var _t=["spinner","visually-hidden"];import{each as Br}from"/_ket/view/index.js";import{jsx as Nr}from"/_ket/view/jsx-runtime.js";var Ut=["skeleton","skeleton-line"];import{each as zr,effect as Vr,signal as Gr}from"/_ket/view/index.js";import{jsx as Wr,jsxs as Ur}from"/_ket/view/jsx-runtime.js";var Wt=["relation-select","relation-native","relation-trigger","relation-value","relation-caret","relation-chips","relation-chip","relation-chip-clear","relation-menu","relation-search","relation-options","relation-option","relation-footer","relation-empty","relation-editor","relation-dialog-toolbar","relation-search-field","relation-search-icon","relation-dialog-list","relation-dialog-row","relation-dialog-main","relation-dialog-meta","relation-dialog-actions"];import{each as Yr,signal as Qr}from"/_ket/view/index.js";import{jsx as to,jsxs as ao}from"/_ket/view/jsx-runtime.js";var jt=["lightbox","lightbox-thumbs","lightbox-thumb","lightbox-empty","lightbox-layer","lightbox-backdrop","lightbox-toolbar","lightbox-counter","lightbox-tool","lightbox-stage","lightbox-image","lightbox-nav","lightbox-caption"];import{each as oo,signal as lo}from"/_ket/view/index.js";import{Fragment as mo,jsx as uo,jsxs as co}from"/_ket/view/jsx-runtime.js";var Zt=["search-filter","search-filter-bar","search-filter-section-toggle","search-filter-sheet","search-filter-clear","search-filter-icon","search-filter-field","search-filter-input","search-filter-facets","search-filter-facet","search-filter-facet-remove","search-filter-suggestions","search-filter-suggestion","search-filter-toggle","search-filter-columns","search-filter-column","search-filter-column-title","search-filter-empty","search-filter-grouping","search-filter-grouping-head","search-filter-grouping-list","search-filter-grouping-item","search-filter-grouping-order","search-filter-grouping-label","search-filter-grouping-actions","search-filter-grouping-action","search-filter-grouping-clear","search-filter-grouping-add-label","custom-filter","custom-filter-row","custom-filter-add","custom-group-by","favorite-list","favorite-item","favorite-item-default","favorite-item-remove","favorite-save","favorite-save-toggle","favorite-save-row"];import{each as yo,effect as vo,signal as xo}from"/_ket/view/index.js";import{jsx as bo}from"/_ket/view/jsx-runtime.js";var Yt=["formatted-date","formatted-number","formatted-money"];import{Fragment as Ro,jsx as Co,jsxs as Po}from"/_ket/view/jsx-runtime.js";var ea=["ket-table","kt-scroll","kt-selection-target","kt-grid","kt-select-col","kt-select-all","kt-col","kt-sort-button","kt-sort-icon","kt-row","kt-cell","kt-person","kt-select-cell","kt-row-select","kt-row-link","kt-group-row","kt-group-cell","kt-group-toggle","kt-group-indent","kt-group-count","kt-group-pager","kt-pager","kt-pager-label","kt-pager-button","kt-select-persisted","kt-caption","kt-tools"];var Jo=["a[href]","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])","summary",'[tabindex]:not([tabindex="-1"])'].join(",");var Fn=['[data-ui="timeframe-menu"]','[data-ui="view-settings"]'],Xo=Fn.map(e=>`${e}[open]`).join(", ");import{jsx as Go,jsxs as _o}from"/_ket/view/jsx-runtime.js";import{jsx as Yo,jsxs as Qo}from"/_ket/view/jsx-runtime.js";var ta=["switch-control","switch-track"];import{each as al}from"/_ket/view/index.js";import{Fragment as ll,jsx as rl,jsxs as ol}from"/_ket/view/jsx-runtime.js";var aa=["combobox","combobox-input-row","combobox-toggle","combobox-listbox","combobox-option","combobox-empty","tag-picker"];import{Fragment as hl,jsx as bl,jsxs as pl}from"/_ket/view/jsx-runtime.js";var na=["date-picker","date-range","date-inputs","date-control-row","date-tools","date-range-error","date-calendar","date-calendar-head","date-calendar-title","date-calendar-body","date-field-control","date-range-preset","date-boundary","date-calendar-months","date-month","date-month-title","date-grid","date-weekday","date-cell","date-day","date-calendar-footer","date-calendar-status"];import{jsx as Sl,jsxs as kl}from"/_ket/view/jsx-runtime.js";var ia=["file-upload","drop-zone","upload-status"];import{jsx as Cl}from"/_ket/view/jsx-runtime.js";var ra=["relation-picker"];import{each as Ml}from"/_ket/view/index.js";import{jsx as Dl,jsxs as Ol}from"/_ket/view/jsx-runtime.js";var oa=["search-bar","filter-bar","applied-filters","applied-filter","saved-views","saved-view","view-settings","view-settings-options"];import{jsx as Kl,jsxs as Bl}from"/_ket/view/jsx-runtime.js";var la=["inline-edit","inline-edit-value","inline-edit-form","inline-edit-actions"];import{each as Yl}from"/_ket/view/index.js";import{each as zl}from"/_ket/view/index.js";import{Fragment as Wl,jsx as _l,jsxs as Ul}from"/_ket/view/jsx-runtime.js";var sa=["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 as,jsxs as ns}from"/_ket/view/jsx-runtime.js";var da=["resource-list","resource-list-item","resource-list-select","resource-list-link"];import{each as os}from"/_ket/view/index.js";import{jsx as ss,jsxs as ds}from"/_ket/view/jsx-runtime.js";var ca=["data-grid-scroll","data-grid","data-grid-cap","data-grid-cell"];import{each as ms}from"/_ket/view/index.js";import{jsx as fs,jsxs as bs}from"/_ket/view/jsx-runtime.js";var ua=["tree","tree-item","tree-link","tree-grid","tree-grid-row"];import{each as ys}from"/_ket/view/index.js";import{jsx as xs,jsxs as Ss}from"/_ket/view/jsx-runtime.js";var ma=["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 ws}from"/_ket/view/index.js";import{jsx as Cs,jsxs as Ps}from"/_ket/view/jsx-runtime.js";var ga=["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 Es}from"/_ket/view/index.js";import{jsx as Hs,jsxs as Ds}from"/_ket/view/jsx-runtime.js";var fa=["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 In}from"/_ket/view/index.js";import{jsx as Ve,jsxs as $n}from"/_ket/view/jsx-runtime.js";var ba=["description-list","key-value","key-value-label","key-value-value","person","person-body","avatar-group","status"],pa=e=>$n("div",{"data-ui":"key-value",children:[Ve("dt",{"data-ui":"key-value-label",children:e.label}),Ve("dd",{"data-ui":"key-value-value",children:e.value??e.emptyLabel??"\u2014"})]}),Se=e=>Ve("dl",{"data-ui":"description-list","aria-label":e.label,"data-columns":String(e.columns??2),"data-layout":e.layout==="strip"?"strip":null,children:In(e.items,t=>t.id,t=>Ve(pa,{...t}))});import{each as qs}from"/_ket/view/index.js";import{jsx as Vs,jsxs as Gs}from"/_ket/view/jsx-runtime.js";var ya=["record-summary","record-summary-main","record-actions","record-rail"];import{each as Ws}from"/_ket/view/index.js";import{jsx as Qs,jsxs as ed}from"/_ket/view/jsx-runtime.js";var va=["activity-timeline","activity-item","activity-marker","audit-log","audit-item"];import{each as nd}from"/_ket/view/index.js";import{jsx as od,jsxs as ld}from"/_ket/view/jsx-runtime.js";var xa=["attachments","attachment","media-gallery","media-item"];import{each as cd}from"/_ket/view/index.js";import{Fragment as fd,jsx as md,jsxs as gd}from"/_ket/view/jsx-runtime.js";var Sa=["app-navigation","navigation-trigger","navigation-toggle","navigation-trigger-icon","navigation-trigger-identity","navigation-trigger-label","navigation-layer","navigation-backdrop","navigation-drawer","navigation-header","navigation-identity","navigation-context","navigation-close","navigation-groups","navigation-group","navigation-group-label","navigation-items","navigation-supplementary","navigation-item","navigation-branch","navigation-branch-trigger","navigation-children","navigation-item-leading","navigation-item-copy","navigation-item-label","navigation-item-description","navigation-item-count","navigation-footer"];import{each as ke}from"/_ket/view/index.js";import{Fragment as Pa,jsx as S,jsxs as Q}from"/_ket/view/jsx-runtime.js";var ka=["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"],Bn=e=>e.shownColumns??e.columns.filter(t=>t.hidden!==!0).map(t=>t.key),qn=e=>{let t=new Set(Bn(e));return e.columns.filter(a=>t.has(a.key))},Ta=(e,t)=>t.length+(e.selection?1:0),Nn=(e,t)=>e.sort?.direction?e.sort.direction==="ascending"?t?.sortedAscending??"Sorted ascending":t?.sortedDescending??"Sorted descending":null,Jn=(e,t)=>S("th",{"data-ui":"col","data-col":e.key,"data-align":e.align??"start","data-kind":e.kind??"text","data-width":e.width??null,"data-optional":e.optional===!0?"true":null,"data-sort":e.sort?.direction??null,"aria-sort":e.sort?.direction??null,scope:"col",children:e.sort?Q("a",{"data-ui":"sort-link",href:e.sort.href,"aria-label":e.sort.label??e.label,children:[S("span",{children:e.label}),!!e.sort.direction&&S("span",{"data-ui":"sort-icon","aria-hidden":"true",title:Nn(e,t)??void 0,children:e.sort.direction==="ascending"?"\u2191":"\u2193"})]}):e.label}),Xn=e=>e.selection?S("th",{"data-ui":"select-col",scope:"col",children:S("input",{"data-ui":"select-all",type:"checkbox",name:e.selection.selectAllName??"select-all","aria-label":e.labels?.selectAll??"Select all rows",disabled:e.selection.disabled===!0})}):null,wa=(e,t)=>e.selected?.(t)===!0?!0:e.selection?.selectedIds?.includes(e.id(t))===!0,zn=(e,t,a)=>Q(Pa,{children:[e.selection&&S("td",{"data-ui":"select-cell",children:S("input",{"data-ui":"row-select",type:"checkbox",name:e.selection.name??"ids",form:e.selection.form,value:e.id(a),checked:wa(e,a),"aria-label":e.labels?.selectRow?.(a,e.id(a))??`Select row ${e.id(a)}`,disabled:e.selection.disabled===!0})}),ke(t,s=>s.key,s=>S("td",{"data-ui":"cell","data-col":s.key,"data-linked":e.rowHref&&s===t[0]?"true":null,"data-align":s.align??"start","data-kind":s.kind??"text","data-priority":s.priority??"secondary","data-label":e.responsive==="stack"?s.label:null,children:e.rowHref&&s===t[0]?S("a",{"data-ui":"row-link",href:e.rowHref(a),children:s.cell(a)}):s.cell(a)}))]}),Ra=(e,t,a)=>S("tr",{"data-ui":"row","data-row":e.id(a),"data-selected":wa(e,a)?"true":null,children:zn(e,t,a)}),Vn=(e,t,a)=>a?S("tr",{"data-ui":"group-pager",children:Q("td",{colSpan:String(Ta(e,t)),children:[S("span",{children:a.label}),Q("span",{"data-ui":"group-pager-actions",children:[a.previousHref&&S("a",{href:a.previousHref,"aria-label":e.labels?.previousPage??"Previous page",children:"\u2039"}),a.nextHref&&S("a",{href:a.nextHref,"aria-label":e.labels?.nextPage??"Next page",children:"\u203A"})]})]})}):null,Ca=(e,t,a,s)=>Q(Pa,{children:[S("tr",{"data-ui":"group-row","data-group":a.id,"data-depth":String(s),children:Q("th",{"data-ui":"group-cell",colSpan:String(Ta(e,t)),scope:"rowgroup",children:[S("span",{"data-ui":"group-indent",style:`--kv-group-depth: ${s}`,"aria-hidden":"true"}),a.href?S("a",{"data-ui":"group-link",href:a.href,children:a.label}):S("span",{"data-ui":"group-link",children:a.label}),a.count!==void 0&&S("span",{"data-ui":"group-count",children:String(a.count)})]})}),ke(a.rows??[],e.id,r=>Ra(e,t,r)),ke(a.children??[],r=>r.id,r=>Ca(e,t,r,s+1)),Vn(e,t,a.pager)]}),ue=e=>{let t=qn(e),a=e.groups??[],r=e.rows.length>0||a.length>0?S("div",{"data-ui":"table-scroll","data-pattern":"data-table","data-framed":e.title?"false":null,"data-responsive":e.responsive??"scroll","data-gutter":e.gutter==="compact"?"compact":null,children:Q("table",{"data-ui":"table","aria-label":e.caption?null:e.title??null,children:[!!e.caption&&S("caption",{"data-ui":"table-caption",children:e.caption}),S("thead",{children:Q("tr",{children:[Xn(e),ke(t,u=>u.key,u=>Jn(u,e.labels))]})}),S("tbody",{children:a.length>0?ke(a,u=>u.id,u=>Ca(e,t,u,0)):ke(e.rows,e.id,u=>Ra(e,t,u))})]})}):S(oe,{title:e.emptyTitle??"No records",message:e.emptyMessage??"There is nothing to show yet.",actions:e.emptyActions});return e.title?S(tt,{title:e.title,actions:e.actions,padding:"none",body:r}):r};import{Fragment as Ed,jsx as Md,jsxs as Fd}from"/_ket/view/jsx-runtime.js";var La=["list-page","list-page-context","list-page-header","list-page-heading","list-page-title-row","list-page-eyebrow","list-page-title","list-page-description","list-page-actions","list-page-tools","list-page-toolbar","list-page-controls","list-page-status","list-page-body","list-page-footer"];import{jsx as Ad,jsxs as Id}from"/_ket/view/jsx-runtime.js";var Ma=["record-page","record-page-context","record-page-header","record-page-title-row","record-page-heading","record-page-title","record-page-subline","record-page-status","record-page-actions","record-page-meta","record-page-controller","record-page-navigation","record-page-layout","record-page-body","record-page-aside"];var Ea=["form-page","form-page-context","form-page-header","form-page-title-row","form-page-heading","form-page-title","form-page-subline","form-page-status","form-page-actions","form-page-meta","form-page-controller","form-page-navigation","form-page-layout","form-page-body","form-page-aside"];import{jsx as Vd,jsxs as Gd}from"/_ket/view/jsx-runtime.js";var Fa=["dashboard-page","dashboard-page-context","dashboard-page-header","dashboard-page-heading","dashboard-page-eyebrow","dashboard-page-title-row","dashboard-page-title","dashboard-page-subline","dashboard-page-status","dashboard-page-actions","dashboard-page-meta","dashboard-page-body"];var Ha=["board-page","board-page-context","board-page-header","board-page-heading","board-page-eyebrow","board-page-title-row","board-page-title","board-page-subline","board-page-status","board-page-actions","board-page-meta","board-page-toolbar","board-page-controls","board-page-body"];import{each as tc}from"/_ket/view/index.js";import{jsx as nc,jsxs as ic}from"/_ket/view/jsx-runtime.js";var Da=["pipeline","pipeline-step","pipeline-arrow","pipeline-step-label","pipeline-step-value","pipeline-step-node"];import{each as dc}from"/_ket/view/index.js";import{jsx as gc,jsxs as fc}from"/_ket/view/jsx-runtime.js";var Oa=["record-form","form-errors","form-grid","form-actions"];import{each as kc}from"/_ket/view/index.js";import{jsx as Cc,jsxs as Pc}from"/_ket/view/jsx-runtime.js";var Aa=["reorder-list","reorder-list-value","reorder-list-rows","reorder-list-row","reorder-list-content","reorder-list-controls"];var Ia={actions:Rt,feedback:Lt,fields:Ot,status:Pt,navigation:It,progress:Nt,menu:Jt,reorderList:Aa,popover:Xt,tooltip:zt,dialog:Vt,toast:Gt,spinner:_t,skeleton:Ut,lightbox:jt,relationSelect:Wt,searchFilter:Zt,ketTable:ea,scalarFields:ta,combobox:aa,dateTime:na,upload:ia,relationPicker:ra,listControls:oa,inlineEdit:la,resourceList:da,dataGrid:ca,tree:ua,matrix:ma,barChart:ga,timeframe:fa,recordDisplay:ba,formattedValues:Yt,recordComposition:ya,activity:va,media:xa,layouts:Dt,shell:Ft,appNavigation:Sa,table:ka,listChrome:sa,listPage:La,formPage:Ea,recordPage:Ma,dashboardPage:Fa,boardPage:Ha,modal:Mt,pipeline:Da,form:Oa},_n=[...new Set(Object.values(Ia).flat())].sort(),Un=Object.freeze(Object.fromEntries(Object.entries(Ia).map(([e,t])=>[e,[...t]])));import{signal as F}from"/_ket/view/index.js";import{jsx as jn}from"/_ket/view/jsx-runtime.js";var Ge="record";var De="recordDialog";var Wn=/^[a-z][a-z0-9_]*(?:\.[a-zA-Z][a-zA-Z0-9_]*)+$/u,$a=e=>Wn.test(e),Oe=(e,t)=>{if(!$a(t.kind))throw new TypeError(`invalid record kind "${t.kind}"`);let a=new URL(String(e),"http://ket.local");return a.searchParams.set(Ge,`${t.kind}:${t.id}`),t.tab?a.searchParams.set("tab",t.tab):a.searchParams.delete("tab"),t.dialog?a.searchParams.set(De,t.dialog):a.searchParams.delete(De),`${a.pathname}${a.search}`};var Ka=e=>{let t=new URL(String(e),"http://ket.local");return t.searchParams.delete(Ge),t.searchParams.delete("tab"),t.searchParams.delete(De),`${t.pathname}${t.search}`},Te=e=>{let t=new URL(String(e),"http://ket.local"),a=t.searchParams.get(Ge)??"",s=a.indexOf(":");if(s<=0||s===a.length-1)return null;let r=a.slice(0,s);return $a(r)?{kind:r,id:a.slice(s+1),tab:t.searchParams.get("tab"),...t.searchParams.get(De)?{dialog:t.searchParams.get(De)}:{}}:null},dt=e=>jn("span",{"data-ui":"record-modal-host","data-record-kind":e,hidden:!0});import{jsx as we,jsxs as Zn}from"/_ket/view/jsx-runtime.js";var _e=e=>Zn("form",{"data-ui":"record-form",method:"post",action:"","data-record-kind":e.kind,"data-record-dropzone":e.dropzone?"":null,id:e.id,"data-record-dirty":e.dirty===!0?"true":null,children:[e.command?we("input",{type:"hidden",name:ee,value:e.command,autocomplete:"off"}):"",Object.entries(e.hidden??{}).map(([t,a])=>we("input",{type:"hidden",name:t,value:a,autocomplete:"off"})),e.fields.length?we("div",{"data-ui":"form-grid",children:e.fields.map(t=>ce(t))}):null,e.body,e.actions?.length?we("div",{"data-ui":"form-actions",children:re({actions:e.actions})}):""]}),ct=e=>we("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=>we("option",{value:t.value,selected:t.value===e.value,children:t.label}))});import{Fragment as Ae,jsx as $f,jsxs as Ie}from"/_ket/view/jsx-runtime.js";var qa=e=>{let t=e??{};return(Array.isArray(t.errors)?t.errors:Array.isArray(t.issues)?t.issues:[]).map(s=>{let r=s??{},u=Array.isArray(r.path)?r.path.join("."):null;return{field:typeof r.field=="string"?r.field:u,code:String(r.code??"invalid"),message:typeof r.message=="string"?r.message:null,params:r.params&&typeof r.params=="object"?r.params:{}}})},Ua=async(e,t,a={})=>{let s=new URL(e,"https://record.invalid");if(s.origin!=="https://record.invalid"||!e.startsWith("/")||e.startsWith("//"))throw new Error("Record commands require a same-origin route");let r=await fetch(s.pathname+s.search,{method:"POST",credentials:"same-origin",headers:{"content-type":"application/json",...a.idempotencyKey?{"idempotency-key":a.idempotencyKey}:{}},body:JSON.stringify(t),signal:a.signal}),u=await r.json().catch(()=>({}));if(!r.ok||u.ok===!1)return{ok:!1,issues:qa(u.error??u),message:r.status>=500?null:u.error?.message??u.message??null,status:r.status};let k=u.value;return k&&typeof k=="object"&&k.ok===!1?{ok:!1,issues:qa(k),message:null,status:r.status}:{ok:!0,value:u.value}},Na=(e,t,a={})=>Ua(`/_ket/fn/${encodeURIComponent(e)}`,t,a),Yn=async(e,t)=>{let a=new URL(e,location.href);if(a.origin!==location.origin)throw new Error("Record context must stay same-origin");let s=await fetch(a.href,{credentials:"same-origin",signal:t,headers:{accept:"application/json"}});return s.ok?{ok:!0,value:await s.json()}:{ok:!1,issues:[],message:null,status:s.status}},Qn=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."}),We=(e,t)=>t.messages?.[e]??t.previous?.[e]??t.labels?.[e]??ei[e]??(/^E_[A-Z_]+$/u.test(e)?We("recordModal.saveFailed",t):e),ti=(e,t)=>{let a=We(e,t);return a===e?We("recordModal.saveFailed",t):a},ee="__command",Ja="data-record-dialog",Xa=(e,t={})=>e.replace(/\{([a-zA-Z0-9_]+)\}/gu,(a,s)=>s in t?String(t[s]??""):a),Wa=["a[href]","button:not(:disabled)",'input:not(:disabled):not([type="hidden"])',"select:not(:disabled)","textarea:not(:disabled)",'[tabindex]:not([tabindex="-1"])'].join(", "),za=e=>[...e.querySelectorAll(Wa)].filter(t=>!t.hidden&&t.getAttribute("aria-hidden")!=="true"&&!t.matches('[data-ui="modal-backdrop"]'));var ai=e=>{let t=[],a=e;for(;a&&a!==document.body;){let s=a.parentElement;if(!s)break;for(let r of s.children)r instanceof HTMLElement&&r!==a&&!r.matches("script, style, template")&&(t.push({element:r,inert:r.inert}),r.inert=!0);a=s}return()=>{for(let{element:s,inert:r}of t)s.inert=r}},Va=()=>typeof crypto<"u"&&"randomUUID"in crypto?crypto.randomUUID():`${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`,ni=e=>Object.entries(e.values).some(([t,a])=>a!==e.initialValues[t])||Object.entries(e.checks).some(([t,a])=>a!==e.initialChecks[t]),Ga=(e,t)=>{let a=s=>Object.fromEntries(Object.entries(s).filter(([r])=>!t.includes(r)));return{values:a(e.values),checks:a(e.checks),initialValues:a(e.initialValues),initialChecks:a(e.initialChecks)}},H=()=>({values:{},checks:{},initialValues:{},initialChecks:{}}),_a=(e,t)=>`${e}\0${t}`,Ue="__all:",ut=e=>e.after??"close",ii=400,ri=(e,t=ii)=>{let a,s=()=>{clearTimeout(a),a=void 0};return{set:r=>{if(s(),!r){e(!1);return}a=setTimeout(()=>e(!0),t)},stop:s}},oi='a, button, input, select, textarea, label, summary, details, [data-ui="select-cell"]',li=e=>{let t=e?.closest("a[href]");return t?t.target&&t.target!=="_self"?null:t.href:e?.closest(oi)?null:e?.closest("[data-row-href]")?.getAttribute("data-row-href")??null},ja=e=>()=>{let t=F(null),a=F("idle"),s=F(null),r=F(null),u=F([]),k=F(H()),C=F(H()),x=F(!1),pt=F(!1),ht=ri(o=>pt.set(o)),ge=F(!1),yt=o=>{x.set(o),ht.set(o),o&&ge.set(!1)},P=F(null),Ce=F(0),Pe=F({}),I=F({}),X=F(null),q=new Map,nn=(o,c)=>{for(q.delete(o),q.set(o,c);q.size>Qn;)q.delete(q.keys().next().value)},M=null,$e=null,Ke=!1,Ze=null,N=null,fe=null,Le=null,rn=()=>typeof e.labels=="function"?e.labels():e.labels??{},vt=()=>({messages:s()?.messages,previous:Le,labels:rn()}),z=(o,c)=>Xa(We(o,vt()),c),xt=o=>o.message??Xa(ti(o.code,vt()),o.params),St=o=>[...e.tabs??[],...e.extensionTabs?.(o)??[]].filter(c=>c.visible?.(o)??!0),Be=(o,c,m="record")=>{let d=()=>m==="dialog"?C():k(),l={kind:e.kind,id:o.id,creating:o.id==="new",tab:o.tab,data:c,t:z,fieldError:b=>{let n=u().find(i=>i.field===b);return n?xt(n):null},draft:(b,n="")=>{let i=d();return i.initialValues[b]??=n,i.values[b]??n},recordDraft:(b,n="")=>k().values[b]??n,draftChecked:(b,n="1",i=!1)=>{let g=d(),h=_a(b,n);return g.initialChecks[h]??=i,g.checks[h]??i},outcome:b=>{let n=X();return n?.command===b?n.value:null},busy:pt(),dialog:P(),href:b=>Oe(location.href,{kind:e.kind,id:o.id,tab:b}),state:(b,n="")=>(m==="dialog"?I()[b]:void 0)??Pe()[b]??n},v=St(l);return v.length&&!v.some(b=>b.id===o.tab)&&(l.tab=v[0].id),l},Me=null,te=async(o,c=!1)=>{$e?.abort();let m=new AbortController;$e=m;let d=e.cache===!1?void 0:q.get(o);d&&(Le=d.messages??Le,s.set(d),a.set("ready"),c=!0),c||a.set("loading"),r.set(null);try{let l=o==="new",v="route"in e.context?await Yn(e.context.route(o,l),m.signal):await Na(e.context.fn,e.context.input?e.context.input(o,l):l?{}:{id:o},{signal:m.signal});if(m.signal.aborted)return;if(!v.ok||!v.value){r.set(v.ok?"recordModal.notFound":v.message??"recordModal.loadFailed"),a.set("error");return}Le=v.value.messages??Le,e.cache!==!1&&nn(o,v.value),s.set(v.value),a.set("ready"),Me&&e.dialogs?.[Me]&&(P.set({name:Me,params:{}}),ye()),Me=null}catch(l){if(m.signal.aborted||l?.name==="AbortError")return;r.set("recordModal.loadFailed"),a.set("error")}},qe=()=>M?[...M.querySelectorAll('[data-ui="modal-layer"][data-client-modal="true"]')]:[],be=()=>qe()[0]??null,Ye=()=>qe().at(-1)??null,pe=0,he=()=>{if(e.fixedHeight||a()!=="ready")return;let o=be()?.querySelector('[data-ui="modal-sheet"][data-height="fixed"]');if(!o)return;if(window.matchMedia("(max-width: 47.9375rem)").matches){o.style.setProperty("height","100dvh","important"),o.style.removeProperty("min-height");return}let c=o.querySelector('[data-ui="tabbed-view"]');if(!c)return;let m=c.querySelector('[data-ui="tab-panel"]'),d=m?.scrollTop??0;o.style.setProperty("height","auto","important"),o.style.setProperty("min-height","0"),c.style.setProperty("height","auto"),pe=Math.max(pe,Math.ceil(o.getBoundingClientRect().height)),c.style.removeProperty("height");let l=getComputedStyle(o).maxHeight;o.style.setProperty("min-height",l==="none"?`${pe}px`:`min(${pe}px, ${l})`),m&&(m.scrollTop=d)},ae=(o,c)=>{if(!o)return;let m=c==="dialog"?C():k(),d={values:{...m.values},checks:{...m.checks},initialValues:{...m.initialValues},initialChecks:{...m.initialChecks}};for(let l of o.querySelectorAll("input[name], select[name], textarea[name]"))if(!(l.disabled||l.name===ee)){if(l instanceof HTMLInputElement){if(l.type==="file"||l.type==="hidden")continue;if(l.type==="checkbox"||l.type==="radio"){let v=_a(l.name,l.value);d.initialChecks[v]??=l.defaultChecked,d.checks[v]=l.checked,l.type==="checkbox"?d.values[l.name]=l.checked?l.value:"":l.checked&&(d.values[l.name]=l.value),d.initialValues[l.name]=d.values[l.name]??"";continue}}d.initialValues[l.name]??=l instanceof HTMLSelectElement?[...l.options].find(v=>v.defaultSelected)?.value??l.options[0]?.value??"":l.defaultValue,d.values[l.name]=l.value}c==="dialog"?C.set(d):k.set(d)},Ne=()=>{let o=qe();ae(o[0]??null,"record"),o.length>1&&ae(o.at(-1)??null,"dialog")},kt=o=>{if(!o)return!0;let c=P()&&o===Ye()?"dialog":"record";ae(o,c);let m=c==="dialog"?C():k(),d=[...o.querySelectorAll('input[type="file"]')].some(l=>!l.disabled&&!!l.files?.length);return!ni(m)&&!d?!0:globalThis.confirm(z("recordModal.unsaved"))},ye=o=>{requestAnimationFrame(()=>{let c=qe(),m=c[0],d=c.at(-1);if(!d)return;m&&(m.inert=c.length>1);let l=o?.();if(l?.isConnected&&d.contains(l)){l.focus();return}if(d.contains(document.activeElement))return;let v=d.querySelector('[data-ui="modal-sheet"]');(za(d).find(n=>!n.matches('[data-ui="modal-close"]'))??v)?.focus()})},W=(o,c,m,d,l)=>{let v=t(),b=v?.id===o,n=c??(b?v.tab:"");b||(pe=0,Me=l??null,Ze=document.activeElement instanceof HTMLElement?document.activeElement:null,u.set([]),ge.set(!1),k.set(H()),C.set(H()),I.set({}),Pe.set({}),X.set(null),P.set(null),N=null,s.set(null),te(o)),b&&l&&e.dialogs?.[l]&&(Ne(),C.set(H()),I.set({}),P.set({name:l,params:{}})),t.set({id:o,tab:n});let i=Oe(location.href,{kind:e.kind,id:o,tab:n||null,dialog:l});m==="push"?(history.replaceState({...history.state??{},__ketScroll:[window.scrollX,window.scrollY]},"",location.href),history.pushState({...history.state??{},__ketRecordModal:e.kind},"",i),Ke=!0):m==="replace"&&history.replaceState(history.state??{},"",i),M&&!fe&&(fe=ai(M)),ye(d)},Ee=o=>{$e?.abort(),t.set(null),pe=0,P.set(null),u.set([]),ge.set(!1),k.set(H()),C.set(H()),I.set({}),Pe.set({}),X.set(null),a.set("idle"),s.set(null),fe?.(),fe=null,o==="history"&&Ke?(Ke=!1,history.back()):o!=="none"&&(Ke=!1,history.replaceState(history.state??{},"",Ka(location.href)));let c=Ze;Ze=null,N=null,c?.isConnected&&requestAnimationFrame(()=>c.focus())},Tt=()=>{if(P()){if(!kt(Ye()))return;let o=N;N=null,P.set(null);let c=t();c&&history.replaceState(history.state??{},"",Oe(location.href,{kind:e.kind,id:c.id,tab:c.tab})),C.set(H()),I.set({}),u.set([]),X.set(null),ye(()=>o?.isConnected?o:null);return}kt(be())&&Ee("history")},on=async(o,c,m)=>{let d=e.commands?.[o],l=t(),v=s()?.data;if(!d||!l||v===void 0||x())return;let b=new FormData(c,m instanceof HTMLButtonElement?m:null),n=c.closest('[data-ui="modal-layer"][data-client-modal="true"]'),i=P()&&n===Ye()?"dialog":"record";ae(n,i);let g=Be(l,v,i);if(d.confirm){let h=d.confirm(g);if(h&&!globalThis.confirm(h))return}yt(!0),u.set([]);try{let h={};for(let[p,K]of Object.entries(d.upload??{})){let D=b.get(p);if(!(D instanceof File)||D.size===0)continue;let G=new FormData;for(let[Qe,dn]of Object.entries(K(b,g)))G.append(Qe,dn);G.append("file",D,D.name);let _=await fetch("/files",{method:"POST",credentials:"same-origin",body:G}),O=await _.json().catch(()=>null);if(!_.ok||!O?.id){u.set([{field:null,code:"recordModal.uploadFailed",message:typeof O?.message=="string"?O.message:null,params:{}}]);return}h[p]={id:String(O.id),name:typeof O.name=="string"?O.name:null}}let w=(p,K)=>Na(p,K,{idempotencyKey:Va()}),y=d.route?await Ua(d.route,d.input(b,g,h),{idempotencyKey:Va()}):await w(d.fn,d.input(b,g,h));for(let p of y.ok?d.also??[]:[])if(!(p.when&&!p.when(g))&&(y=await w(p.fn,p.input(b,g,h)),!y.ok))break;if(!y.ok){X.set(null),u.set(y.issues.length?y.issues.map(p=>({...p,field:p.field&&d.issueField?d.issueField(p.field,b,g):p.field})):[{field:null,code:y.message??"recordModal.saveFailed",message:y.message,params:{}}]);return}if(d.preview){X.set({command:o,value:y.value}),Ce.set(Ce()+1);return}i==="dialog"?(C.set(H()),I.set({})):k.set(H()),d.clearRecordDrafts?.length&&k.set(Ga(k(),d.clearRecordDrafts)),X.set(ut(d)==="stay"?{command:o,value:y.value}:null),c.reset();let V=y.value,j=ut(d)==="open"?d.created?.(y.value)??(V&&typeof V=="object"&&V.id!=null?String(V.id):null):null;q.delete(l.id),j&&q.delete(j);let ne=()=>{document.dispatchEvent(new CustomEvent("ket:records-changed",{detail:{kind:e.kind,ids:[j??l.id]}}))};if(d.navigate){let p=new URL(d.navigate(y.value,g),location.href);if(p.origin!==location.origin)throw new Error("Record navigation must stay same-origin");Ee("none"),location.assign(p.href);return}let $=ut(d);if($!=="close"&&ge.set(!0),$==="open"){P.set(null),C.set(H()),I.set({}),j?W(j,d.openTab??null,"replace"):Ee("history"),ne();return}if(ne(),$==="close")Ee("history");else if($==="reload"){let p=N;N=null,P.set(null),C.set(H()),I.set({}),history.replaceState(history.state??{},"",Oe(location.href,{kind:e.kind,id:l.id,tab:l.tab})),await te(l.id),ye(()=>p?.isConnected?p:null)}else if($==="refresh")await te(l.id,!0);else if($==="stay")Ce.set(Ce()+1);else if("tab"in $)N=null,P.set(null),C.set(H()),I.set({}),W(l.id,$.tab,"replace"),await te(l.id);else{let p=$.dialog?null:N;N=$.dialog&&m instanceof HTMLElement?m:null,P.set($.dialog?{name:$.dialog,params:{}}:null),C.set(H()),I.set({}),await te(l.id,!0),ye(()=>p?.isConnected?p:null)}}catch{u.set([{field:null,code:"recordModal.saveFailed",message:null,params:{}}])}finally{yt(!1)}},wt=o=>{let c=u().filter(l=>!l.field),m=u().filter(l=>l.field&&!M?.querySelector(`[name="${CSS.escape(l.field)}"]`)),d=[...c,...m];return d.length?E({title:o.t("recordModal.errorTitle"),message:d.map(xt).join(" \xB7 "),tone:"danger"}):ge()?E({title:o.t("recordModal.savedTitle"),message:o.t("recordModal.saved"),tone:"positive"}):""},ln=()=>{let o=t();if(!o)return"";if(a()==="error")return Ie(Ae,{children:[E({title:z("recordModal.errorTitle"),message:z(r()??"recordModal.loadFailed"),tone:"danger"}),A({label:z("recordModal.retry"),variant:"secondary",name:"intent",value:"retry"})]});let c=s()?.data;if(a()!=="ready"||c===void 0)return ve({label:z("recordModal.loading")});let m=Be(o,c),d=St(m),l=d.find(i=>i.id===m.tab),v=e.header?.(m)??"",b=wt(m),n=l?l.view(m):e.body?.(m)??"";return d.length?it({id:`record-view-${e.kind.replaceAll(".","-")}`,label:e.title(m),items:d.map(i=>({id:i.id,label:i.label(m),href:m.href(i.id),active:i.id===m.tab})),context:v!==""||b!==""?Ie(Ae,{children:[v,b]}):void 0,body:n}):Ie(Ae,{children:[v,b,n]})},sn=()=>{let o=t(),c=P(),m=s()?.data;if(!o||!c||m===void 0)return"";let d=e.dialogs?.[c.name];if(!d)return"";let l=Be(o,m,"dialog");return le({id:`record-dialog-${e.kind.replaceAll(".","-")}-${c.name}`,mode:"client",presentation:"dialog",size:d.size??"default",title:d.title(l),description:d.description?.(l),actions:d.actions?.(l),closeLabel:z("recordModal.close"),body:Ie(Ae,{children:[wt(l),d.view(l)]})})};return{view:()=>{Ce();let o=t();if(!o)return dt(e.kind);let c=s()?.data,m=c===void 0?null:Be(o,c);return Ie(Ae,{children:[dt(e.kind),le({id:`record-modal-${e.kind.replaceAll(".","-")}`,mode:"client",presentation:"dialog",size:e.size??"default",height:(e.tabs?.length??0)+(e.extensionTabs?1:0)>1?"fixed":"content",fixedHeight:e.fixedHeight??"auto",title:m?e.title(m):z("recordModal.loading"),description:m?e.description?.(m)??null:null,status:m?e.status?.(m):void 0,actions:m?e.actions?.(m):void 0,closeLabel:z("recordModal.close"),body:ln()}),sn()]})},mount:({root:o,lifetime:c})=>{M=o,document.addEventListener("click",n=>{if(n.defaultPrevented||n.button!==0||n.metaKey||n.ctrlKey||n.shiftKey||n.altKey)return;let i=n.target instanceof Element?n.target:null,g=i?.closest('[data-ui="modal-layer"][data-client-modal="true"]');if(g&&M?.contains(g)){if(i?.closest('[data-ui="modal-close"], [data-ui="modal-backdrop"], [data-record-close]')){n.preventDefault(),Tt();return}let p=i?.closest("button[data-record-state], a[data-record-state], [data-record-state-trigger]");if(p){n.preventDefault(),Ne();let D=p.getAttribute("data-record-reset-fields");if(D){let _=JSON.parse(D);if(Array.isArray(_)&&_.every(O=>typeof O=="string")){let O=P()?C:k;O.set(Ga(O(),_))}}let G=P()?I:Pe;G.set({...G(),[p.getAttribute("data-record-state-trigger")??p.getAttribute("data-record-state")??""]:p.getAttribute("data-record-value")??""});return}let K=i?.closest(`[${Ja}]`);if(K){n.preventDefault(),ae(be(),"record");let D=document.activeElement;N=D instanceof HTMLElement&&K.contains(D)?D:K.querySelector(Wa),C.set(H()),I.set({});let G={};for(let[_,O]of Object.entries(K.dataset))_.startsWith("recordParam")&&O!==void 0&&(G[_.slice(11).replace(/^./u,Qe=>Qe.toLowerCase())]=O);u.set([]),X.set(null),ge.set(!1),P.set({name:K.getAttribute(Ja)??"",params:G}),ye();return}if(i?.closest('button[name="intent"][value="retry"]')){n.preventDefault();let D=t();D&&te(D.id);return}}let h=li(i);if(!h)return;let w=new URL(h,location.href);if(w.origin!==location.origin||w.pathname!==location.pathname)return;let y=Te(w);if(!y||y.kind!==e.kind)return;n.preventDefault();let V=t(),j="route"in e.context?e.context.query??[]:[],ne=new URL(location.href);if(j.some(p=>ne.searchParams.get(p)!==w.searchParams.get(p))){ae(be(),"record");for(let p of j){let K=w.searchParams.get(p);K===null?ne.searchParams.delete(p):ne.searchParams.set(p,K)}history.replaceState(history.state??{},"",ne.href),V?.id===y.id&&te(V.id)}if(V?.id===y.id){if((y.tab??"")===V.tab&&!y.dialog)return;ae(be(),"record"),u.set([]),X.set(null),W(y.id,y.tab??null,"replace",()=>be()?.querySelector('[data-ui="tab"][data-active="true"]')??null);return}W(y.id,y.tab??null,"push",void 0,y.dialog)},{signal:c,capture:!0}),document.addEventListener("keydown",n=>{if(n.defaultPrevented||n.key!=="Enter"&&n.key!==" ")return;let i=n.target instanceof Element?n.target:null;if(!i?.matches('[data-row-href][tabindex="0"]'))return;let g=i.getAttribute("data-row-href"),h=g?new URL(g,location.href):null;if(!h||h.origin!==location.origin||h.pathname!==location.pathname)return;let w=Te(h);!w||w.kind!==e.kind||(n.preventDefault(),W(w.id,w.tab??null,"push",void 0,w.dialog))},{signal:c,capture:!0}),document.addEventListener("submit",n=>{let i=n.target instanceof HTMLFormElement?n.target:null;if(!i||!M?.contains(i))return;n.preventDefault();let g=n.submitter??null,h=(g instanceof HTMLButtonElement&&g.name===ee?g.value:null)??String(new FormData(i).get(ee)??"");on(h,i,g)},{signal:c}),document.addEventListener("keydown",n=>{if(!t())return;let i=M?.querySelectorAll('[data-ui="modal-layer"][data-client-modal="true"]'),g=i?.[i.length-1];if(!g)return;if(n.key==="Escape"){n.preventDefault(),Tt();return}if(n.key!=="Tab")return;let h=za(g);if(!h.length){n.preventDefault(),g.querySelector('[data-ui="modal-sheet"]')?.focus();return}let w=h[0],y=h.at(-1);n.shiftKey&&(document.activeElement===w||!g.contains(document.activeElement))?(n.preventDefault(),y.focus()):!n.shiftKey&&(document.activeElement===y||!g.contains(document.activeElement))&&(n.preventDefault(),w.focus())},{signal:c}),document.addEventListener("change",n=>{let i=n.target instanceof Element?n.target:null;if(!i||!M?.contains(i))return;if(i instanceof HTMLInputElement&&i.type==="checkbox"&&i.form){let h=i.form;if(h.querySelector(`input[type="checkbox"][name^="${Ue}"]`)){if(i.name.startsWith(Ue)){let w=i.name.slice(Ue.length);for(let y of h.querySelectorAll('input[type="checkbox"]'))!y.disabled&&!y.name.startsWith(Ue)&&y.name.startsWith(w)&&(y.checked=i.checked)}Ne();return}}let g=i.getAttribute("data-record-state")??(["relation-native","reorder-list-value"].includes(i.getAttribute("data-ui")??"")?i.getAttribute("name"):null);if((i instanceof HTMLSelectElement||i instanceof HTMLInputElement)&&g){Ne();let h=P()?I:Pe;h.set({...h(),[g]:i.value});return}i instanceof HTMLInputElement&&i.type==="file"&&(i.hasAttribute("data-record-submit")||i.form?.hasAttribute("data-record-dropzone"))&&i.files?.length&&i.form?.requestSubmit()},{signal:c});let m=n=>{let g=(n.target instanceof Element?n.target:null)?.closest("form[data-record-dropzone]")??null;return g&&M?.contains(g)?g:null};document.addEventListener("dragover",n=>{let i=m(n);i&&(n.preventDefault(),i.dataset.drag="1")},{signal:c}),document.addEventListener("dragleave",n=>{let i=m(n);if(!i)return;let g=n.relatedTarget;g instanceof Node&&i.contains(g)||delete i.dataset.drag},{signal:c}),document.addEventListener("drop",n=>{let i=m(n);if(!i)return;n.preventDefault(),delete i.dataset.drag;let g=n.dataTransfer?.files,h=i.querySelector('input[type="file"]');if(!h||!g?.length)return;let w=new DataTransfer;w.items.add(g[0]),h.files=w.files,i.requestSubmit()},{signal:c});let d="ket-island, div[data-ket-island]",l=n=>n instanceof Element&&(n.matches(d)||n.querySelector(d)!==null),v=new MutationObserver(n=>{he();for(let i of n){for(let g of i.removedNodes)l(g)&&document.dispatchEvent(new CustomEvent("ket:islands-detach",{detail:{root:g}}));for(let g of i.addedNodes)l(g)&&g.isConnected&&document.dispatchEvent(new CustomEvent("ket:islands-attach",{detail:{root:g}}))}});v.observe(M,{childList:!0,subtree:!0,characterData:!0}),c.addEventListener("abort",()=>v.disconnect()),window.addEventListener("resize",he,{signal:c}),M.addEventListener("load",he,{capture:!0,signal:c}),M.addEventListener("toggle",he,{capture:!0,signal:c}),document.fonts?.ready.then(()=>{c.aborted||he()}),he(),document.addEventListener("ket:records-changed",n=>{let i=n.detail;if(i?.kind===e.kind)if(!Array.isArray(i.ids)||!i.ids.length)q.clear();else for(let g of i.ids)q.delete(String(g))},{signal:c}),document.addEventListener("ket:popstate",n=>{let i=Te(location.href),g=i?.kind===e.kind;!g&&!t()||(n.preventDefault(),g&&i?W(i.id,i.tab??null,"none",void 0,i.dialog):Ee("none"))},{signal:c}),document.addEventListener("ket:navigation-complete",()=>{let n=Te(location.href);n?.kind===e.kind&&!t()&&W(n.id,n.tab??null,"none",void 0,n.dialog)},{signal:c});let b=Te(location.href);b?.kind===e.kind&&W(b.id,b.tab??null,"none",void 0,b.dialog),c.addEventListener("abort",()=>{$e?.abort(),ht.stop(),fe?.(),fe=null,M=null})}}};var Za={vi:{"recordModal.close":"\u0110\xF3ng","recordModal.loading":"\u0110ang t\u1EA3i\u2026","recordModal.loadFailed":"Kh\xF4ng \u0111\u1ECDc \u0111\u01B0\u1EE3c d\u1EEF li\u1EC7u. H\xE3y th\u1EED l\u1EA1i.","recordModal.notFound":"M\u1EE5c n\xE0y kh\xF4ng c\xF2n t\u1ED3n t\u1EA1i ho\u1EB7c b\u1EA1n kh\xF4ng c\xF3 quy\u1EC1n xem.","recordModal.retry":"Th\u1EED l\u1EA1i","recordModal.errorTitle":"Ch\u01B0a l\u01B0u \u0111\u01B0\u1EE3c","recordModal.saveFailed":"Thao t\xE1c kh\xF4ng th\xE0nh c\xF4ng. H\xE3y th\u1EED l\u1EA1i.","recordModal.savedTitle":"\u0110\xE3 l\u01B0u","recordModal.saved":"Thay \u0111\u1ED5i \u0111\xE3 \u0111\u01B0\u1EE3c ghi nh\u1EADn.","recordModal.unsaved":"B\u1ECF c\xE1c thay \u0111\u1ED5i ch\u01B0a l\u01B0u?","recordModal.uploadFailed":"Kh\xF4ng t\u1EA3i \u0111\u01B0\u1EE3c t\u1EC7p l\xEAn. H\xE3y th\u1EED l\u1EA1i."},en:{"recordModal.close":"Close","recordModal.loading":"Loading\u2026","recordModal.loadFailed":"The record could not be read. Try again.","recordModal.notFound":"The record is gone or you cannot see it.","recordModal.retry":"Retry","recordModal.errorTitle":"Not saved","recordModal.saveFailed":"That did not work. Try again.","recordModal.savedTitle":"Saved","recordModal.saved":"The changes have been saved.","recordModal.unsaved":"Discard unsaved changes?","recordModal.uploadFailed":"The file could not be uploaded. Try again."}};var si=e=>e==="full"?"positive":e==="partial"?"warning":"neutral",Ya=e=>e.area?`${e.area} \xB7 ${e.label}`:e.label,di=(e,t)=>t.missing.map(a=>`${a.label} (${e(`user_backend.surface.tier.${a.tier}`)})`).join(" \xB7 "),Qa=e=>{let{t}=e,a=e.surfaces.filter(r=>r.status==="partial"),s=e.surfaces.filter(r=>r.status==="full");return!a.length&&!s.length?E({tone:"info",title:e.empty.title,message:e.empty.message}):de({gap:"default",items:[Se({columns:2,items:[{id:"full",label:t("user_backend.surface.fullCount"),value:B({label:String(s.length),tone:"positive"})},{id:"partial",label:t("user_backend.surface.partialCount"),value:B({label:String(a.length),tone:a.length?"warning":"neutral"})}]}),...a.length?[Y({title:t("user_backend.surface.partialTitle"),description:t("user_backend.surface.partialHint"),body:ue({rows:a,id:r=>r.key,columns:[{key:"screen",label:t("user_backend.surface.screen"),priority:"primary",cell:r=>Ya(r)},{key:"missing",label:t("user_backend.surface.missing"),cell:r=>di(t,r)},{key:"fix",label:t("user_backend.surface.fix"),cell:r=>r.fixes.join(" \xB7 ")||t("user_backend.surface.noFix")}]})})]:[],...s.length?[Y({title:t("user_backend.surface.fullTitle"),body:ue({rows:s,id:r=>r.key,columns:[{key:"screen",label:t("user_backend.surface.screen"),priority:"primary",cell:r=>Ya(r)},{key:"status",label:t("user_backend.field.state"),cell:r=>B({label:t(`user_backend.surface.status.${r.status}`),tone:si(r.status)})},...e.showVia?[{key:"via",label:t("user_backend.surface.via"),cell:r=>r.via.join(" \xB7 ")||"\u2014"}]:[]]})})]:[]]})};var je=()=>typeof crypto<"u"&&"randomUUID"in crypto?crypto.randomUUID():`${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`,mt=()=>typeof document<"u"&&document.documentElement.lang==="en"?"en":"vi",f=(e,t)=>e.t(`user_backend.${t}`),me=(e,t)=>String(e.get(t)??"").trim(),ci=(e,t)=>["1","on","true"].includes(String(e.get(t)??"")),tn=e=>e.creating?e.data.permissions.create===!0:e.data.permissions.save===!0,an=e=>`role_${e}`,gt=e=>String(e.tier??"")==="security",Re=(e,t)=>({...t,id:`user-policy-${t.name}`,value: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||!tn(e)}),ft=(e,t)=>{let a=Re(e,{name:t.name,label:t.label,type:"select",required:!0});return{...a,options:t.options,control:ct({id:a.id,name:t.name,state:t.name,value:t.value,options:t.options,required:!0,disabled:a.disabled===!0,invalid:!!a.error})}},ui=e=>{let t=e.data.record,a=e.state("scopeKind",t.scopeKind),s=e.state("companyId",t.companyId??String(e.data.companies[0]?.id??"")),r=e.data.actor?.superuser===!0,u=e.state("matchKind",t.matchKind),k=[...e.data.matchOptions?.[u]??[]];t.matchKind===u&&t.matchValue&&!k.some(x=>x.value===t.matchValue)&&k.push({value:t.matchValue,label:t.matchValue});let C=e.draft("matchValue",t.matchKind===u?t.matchValue:"");return[Re(e,{name:"name",label:f(e,"field.name"),value:t.name,required:!0,span:"full"}),ft(e,{name:"matchKind",label:f(e,"policy.matchKind"),value:u,options:e.data.matchKinds.map(x=>({value:x,label:f(e,`policy.match.${x}`)}))}),{...Re(e,{name:"matchValue",label:f(e,`policy.match.${u}`),type:"select",required:!0,options:[{value:"",label:f(e,"policy.chooseValue")},...k],disabled:!k.length,help:k.length?null:f(e,"policy.noOptions")}),value:k.some(x=>x.value===C)?C:""},ft(e,{name:"scopeKind",label:f(e,"field.scope"),value:a,options:e.data.scopeKinds.map(x=>({value:x,label:f(e,`scope.choice.${x}`)}))}),...a==="tenant"?[]:[ft(e,{name:"companyId",label:f(e,"field.company"),value:s,options:e.data.companies.map(x=>({value:String(x.id),label:String(x.name)}))})],...a==="branch"?[Re(e,{name:"branchId",label:f(e,"field.branch"),type:"select",value:t.branchId??"",required:!0,options:e.data.branches.filter(x=>String(x.companyId)===s).map(x=>({value:String(x.id),label:String(x.name)}))})]:[],Re(e,{name:"roleIds",label:f(e,"field.jobRoles"),type:"checkbox-group",required:!0,span:"full",optionsOrientation:"vertical",help:e.data.roles.some(gt)&&!r?f(e,"access.securityTierHint"):null,options:e.data.roles.map(x=>({name:an(String(x.id)),value:"1",label:gt(x)?`${String(x.name)} \xB7 ${f(e,"role.tier.security")}`:String(x.name),checked:t.roleIds.includes(String(x.id)),disabled:gt(x)&&!r}))}),Re(e,{name:"description",label:f(e,"field.description"),type:"textarea",value:t.description,span:"full"})]},mi=e=>{let t=e.outcome("previewSave");if(!t)return"";if(!t.ok)return E({tone:"warning",title:f(e,"preview.unavailable"),message:""});let a=t.changes??[],s=f(e,"policy.previewUnchanged").replace("{count}",String(t.unchanged??0));return a.length?de({gap:"compact",items:[E({tone:a.some(r=>r.removed.length)?"warning":"info",title:f(e,"policy.previewTitle").replace("{count}",String(a.length)),message:s}),ue({rows:a,id:r=>r.userId,columns:[{key:"person",label:f(e,"users.title"),priority:"primary",cell:r=>r.name},{key:"added",label:f(e,"policy.gains"),cell:r=>r.added.join(", ")||"\u2014"},{key:"removed",label:f(e,"policy.loses"),cell:r=>r.removed.join(", ")||"\u2014"}]})]}):E({tone:"info",title:f(e,"preview.noChange"),message:s})},en=(e,t)=>de({gap:"default",items:[_e({kind:e.kind,fields:ui(e),actions:tn(e)?[A({label:f(e,"action.previewPolicy"),variant:"secondary",type:"submit",name:ee,value:"previewSave"}),...e.outcome("previewSave")?[A({label:f(e,t==="create"?"action.createPolicy":"action.savePolicy"),variant:"primary",type:"submit",name:ee,value:t})]:[]]:[]}),mi(e)]}),gi=e=>e.data.members.length?ue({rows:e.data.members,id:t=>String(t.id),columns:[{key:"name",label:f(e,"users.title"),priority:"primary",cell:t=>`${String(t.name)} \xB7 ${String(t.login)}`},{key:"since",label:f(e,"policy.since"),cell:t=>String(t.since??"\u2014")},{key:"state",label:f(e,"field.state"),cell:t=>String(t.status)==="blocked"?B({label:f(e,"policy.memberBlocked"),tone:"warning"}):B({label:f(e,"policy.memberApplied"),tone:"positive"})}]}):E({tone:"info",title:f(e,"policy.noMembers"),message:f(e,"policy.noMembersHint")}),fi=e=>e.data.permissions.pause?Y({title:e.data.record.active?f(e,"policy.pauseTitle"):f(e,"policy.resumeTitle"),description:e.data.record.active?f(e,"policy.pauseHint"):f(e,"policy.resumeHint"),body:_e({kind:e.kind,fields:[],command:"setActive",actions:[A({label:e.data.record.active?f(e,"action.pausePolicy"):f(e,"action.resumePolicy"),variant:e.data.record.active?"destructive":"primary",type:"submit"})]})}):"",bi=(e,t)=>t.data.roles.map(a=>String(a.id)).filter(a=>ci(e,an(a))),bt=(e,t,a)=>({id:a,name:me(e,"name"),description:me(e,"description")||null,matchKind:me(e,"matchKind"),matchValue:me(e,"matchValue"),scopeKind:me(e,"scopeKind")||"company",companyId:me(e,"companyId")||null,branchId:me(e,"branchId")||null,roleIds:bi(e,t)}),pi={kind:"user.accessPolicy",size:"large",labels:()=>Za[mt()],context:{fn:"user.accessPolicyModalContext",input:(e,t)=>t?{locale:mt()}:{id:e,locale:mt()}},title:e=>e.creating?f(e,"action.createPolicy"):e.data.record.name,description:e=>e.creating?f(e,"policy.createSubtitle"):e.data.record.description||null,status:e=>e.creating?void 0:B({label:f(e,e.data.record.active?"state.active":"policy.paused"),tone:e.data.record.active?"positive":"neutral"}),body:e=>e.creating?Y({title:f(e,"policy.ruleTitle"),body:en(e,"create")}):"",tabs:[{id:"rule",label:e=>f(e,"tab.policyRule"),visible:e=>!e.creating,view:e=>de({gap:"default",items:[Se({columns:2,items:[{id:"members",label:f(e,"policy.membersColumn"),value:String(e.data.members.length)},{id:"roles",label:f(e,"field.jobRoles"),value:String(e.data.record.roleIds.length)}]}),en(e,"save"),fi(e)]})},{id:"screens",label:e=>f(e,"tab.screens"),visible:()=>!1,view:e=>Qa({t:(t,a)=>e.t(t,a),surfaces:e.data.surfaces??[],showVia:!0,empty:{title:f(e,"surface.emptyTitle"),message:f(e,"policy.screensEmptyHint")}})},{id:"members",label:e=>`${f(e,"tab.policyMembers")} ${String(e.data.members.length)}`,visible:e=>!e.creating,view:gi}],commands:{previewSave:{fn:"user.previewAccessPolicy",input:(e,t)=>bt(e,t,t.creating?null:t.id),preview:!0},create:{fn:"user.saveAccessPolicy",input:(e,t)=>({...bt(e,t,je()),previewDigest:t.outcome("previewSave")?.previewDigest,expectedAuthorizationRevision:t.data.revision,idempotencyKey:je()}),after:"open",openTab:"members",created:e=>{let t=e??{};return typeof t.id=="string"?t.id:null}},save:{fn:"user.saveAccessPolicy",input:(e,t)=>({...bt(e,t,t.id),previewDigest:t.outcome("previewSave")?.previewDigest,expectedAuthorizationRevision:t.data.revision,idempotencyKey:je()}),after:"reload"},setActive:{fn:"user.setAccessPolicyActive",input:(e,t)=>({id:t.id,active:!t.data.record.active,expectedAuthorizationRevision:t.data.revision,idempotencyKey:je()}),confirm:e=>e.data.record.active?f(e,"policy.pauseConfirm"):null,after:"reload"}}},Uf=ja(pi);export{Uf as accessPolicyModal,pi as accessPolicyModalDefinition};