@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
package/dist/cli.js CHANGED
@@ -2,7 +2,7 @@
2
2
  import { resolve } from 'node:path';
3
3
  import { scaffoldKetsuite } from './scaffold/index.js';
4
4
  import { watchKetsuite } from './cli-watch.js';
5
- const VERSION = '0.1.30';
5
+ const VERSION = '0.1.31';
6
6
  const DEFAULT_KETSUITE_DEPLOYMENT = 'commerce';
7
7
  const DEPLOYMENTS = ['commerce', 'hospitality', 'office', 'dev'];
8
8
  const CHOICES = DEPLOYMENTS.join(' | ');
@@ -1 +1 @@
1
- {"version":3,"file":"backend-shell.d.mts","sourceRoot":"","sources":["../../../../../../../../packages/ketsuite/src/modules/backend/design/client/backend-shell.mjs"],"names":[],"mappings":"AACgk8C,QAAA,IAAwkP,EAAE;;;gBAAqiB,CAAC;AAAA,OAAM,EAAC,EAAE,IAAI,YAAY,EAAC,CAAC"}
1
+ {"version":3,"file":"backend-shell.d.mts","sourceRoot":"","sources":["../../../../../../../../packages/ketsuite/src/modules/backend/design/client/backend-shell.mjs"],"names":[],"mappings":"AACwl8C,QAAA,IAAwkP,EAAE;;;gBAAqiB,CAAC;AAAA,OAAM,EAAC,EAAE,IAAI,YAAY,EAAC,CAAC"}
@@ -1,2 +1,2 @@
1
1
  // @ts-nocheck Generated by tools/build-backend-client.mjs — do not edit.
2
- var lt=(e,t)=>{let n=c=>c.nodeType===3?!!c.textContent?.trim():c instanceof Element?c.matches('[data-ui="bulk-form"]')?!c.hidden:c.matches('[data-ui="inline"], [data-ui="list-page-tools"]')?[...c.childNodes].some(n):!0:!1,a=()=>{if(t.aborted)return;let c=new Set;for(let f of e.querySelectorAll('form[data-ui="bulk-form"]')){let u=[...f.elements].some(L=>L instanceof HTMLInputElement&&!L.disabled&&(L.matches('[data-ui="row-select"], [data-ui="kt-row-select"]')&&L.checked||L.type==="hidden"&&L.parentElement?.matches('[data-ui="kt-select-persisted"]')&&L.value==="1"));if(f.hidden=!u,!u)for(let L of f.querySelectorAll('details[data-ui="bulk-actions"][open]'))L.open=!1;let P=f.closest('[data-ui="list-page-tools"]');P&&c.add(P);let H=f.closest('[data-ui="list-page-actions"]');H&&c.add(H)}for(let f of c)f.hidden=![...f.childNodes].some(n)},r=!1,o=()=>{r||t.aborted||(r=!0,queueMicrotask(()=>{r=!1,a()}))};e.addEventListener("change",o,{signal:t}),e.addEventListener("reset",o,{signal:t});let l=new MutationObserver(o);l.observe(e,{subtree:!0,childList:!0,attributes:!0,attributeFilter:["checked","disabled","form"]});let S=()=>l.disconnect();return t.addEventListener("abort",S,{once:!0}),a(),S};function st(e){let t,n,a=0;async function r(c){let f=c.querySelector("input[type=email]"),u=c.querySelector("[data-email-status]");if(!f||!u)return;t?.abort(),clearTimeout(n);let P=++a,H=f.value.trim(),L=c.querySelector('button[type="submit"][name="step"]'),E=c.querySelector("[data-email-retry]"),N=(x,C)=>{u.textContent=x,L&&(L.disabled=!C),f.setAttribute("aria-invalid",String(!C)),c.dataset.emailAvailable=C?"true":"false"};if(E&&(E.hidden=!0),!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(H)){N(H?"Email ch\u01B0a \u0111\xFAng \u0111\u1ECBnh d\u1EA1ng.":"Nh\u1EADp email \u0111\u1EC3 ki\u1EC3m tra.",!1);return}N("\u0110ang ki\u1EC3m tra email\u2026",!1),n=setTimeout(async()=>{t=new AbortController;try{let x=await fetch(c.dataset.emailCheck,{method:"POST",cache:"no-store",headers:{"content-type":"application/x-www-form-urlencoded"},body:new URLSearchParams({email:H}),signal:AbortSignal.any([t.signal,AbortSignal.timeout(1e4)])});if(!x.ok)throw new Error("email-check-failed");let C=await x.json();if(P!==a||!c.isConnected)return;if(!C.ok)throw new Error("email-check-failed");N(C.available?"Email c\xF3 th\u1EC3 s\u1EED d\u1EE5ng.":"Email \u0111\xE3 \u0111\u01B0\u1EE3c s\u1EED d\u1EE5ng. Nh\u1EADp email kh\xE1c.",C.available)}catch{if(P!==a||!c.isConnected)return;N("Ch\u01B0a ki\u1EC3m tra \u0111\u01B0\u1EE3c email. Vui l\xF2ng th\u1EED l\u1EA1i.",!1),E&&(E.hidden=!1)}},400)}function o(c,f=!1){let u=c.querySelector('select[name="companyId"]'),P=c.querySelector('select[name="branchId"]'),H=c.querySelector('select[name="scopeKind"]')?.value;if(P&&u){f&&(P.value="");for(let x of P.options)x.value&&(x.hidden=x.dataset.companyId!==u.value,x.disabled=x.hidden)}let L=H==="tenant"?"tenant":H==="branch"?`branch:${u?.value}:${P?.value}`:`company:${u?.value}`;for(let x of c.querySelectorAll("[data-assigned-scopes]")){let $=JSON.parse(x.dataset.assignedScopes??"[]").includes(L);x.disabled=x.dataset.roleDisabled==="true"||$;let W=x.closest("[data-role-option]"),A=W?.querySelector("[data-role-assigned]"),_=W?.querySelector("[data-role-description]");A&&(A.hidden=!$),_&&(_.hidden=$),x.disabled&&(x.checked=!1)}let E=u?.closest('[data-ui="form-field"]'),N=P?.closest('[data-ui="form-field"]');E&&(E.hidden=H==="tenant"),N&&(N.hidden=H==="tenant"||H==="company")}function l(){for(let c of document.querySelectorAll("form[data-user-workflow]"))c.dataset.initialized||(c.dataset.initialized="true",o(c),r(c))}document.addEventListener("input",c=>{let f=c.target,u=f.closest("form[data-user-workflow]");if(u&&(f.type==="email"&&r(u),f.matches("[data-role-search]"))){let P=0;for(let L of u.querySelectorAll("[data-role-option]"))L.hidden=!L.textContent?.toLocaleLowerCase("vi").includes(f.value.toLocaleLowerCase("vi")),L.hidden||P++;let H=u.querySelector("[data-role-empty]");H&&(H.hidden=P>0)}},{signal:e}),document.addEventListener("change",c=>{let f=c.target,u=f.closest("form[data-user-workflow]");u&&f.matches('select[name="companyId"],select[name="branchId"],select[name="scopeKind"]')&&o(u,f.matches('select[name="companyId"]'))},{signal:e}),document.addEventListener("click",c=>{let u=c.target.closest("[data-email-retry]");u&&r(u.closest("form"))},{signal:e}),document.addEventListener("submit",c=>{let f=c.target;f.matches("form[data-user-workflow]")&&f.querySelector("input[type=email]")&&f.dataset.emailAvailable!=="true"&&c.preventDefault()},{signal:e});let S=new MutationObserver(l);return S.observe(document.documentElement,{childList:!0,subtree:!0}),l(),()=>{t?.abort(),clearTimeout(n),S.disconnect()}}import{each as mi}from"/_ket/view/index.js";import{Fragment as bi,jsx as fi,jsxs as pi}from"/_ket/view/jsx-runtime.js";var dt=["action","action-leading","action-label","action-spinner","action-group"];import{jsx as vi,jsxs as xi}from"/_ket/view/jsx-runtime.js";var ct=["badge","tag","tag-remove","count-badge","avatar","code","text","media-label","media-label-image","media-label-copy"];import{each as wi}from"/_ket/view/index.js";import{Fragment as Li,jsx as Ri,jsxs as Ci}from"/_ket/view/jsx-runtime.js";var ut=["notice","notice-mark","notice-copy","notice-title","notice-message","notice-actions","empty","empty-mark","empty-title","empty-message","empty-actions","loading","loading-label"];import{each as un}from"/_ket/view/index.js";import{each as Wi}from"/_ket/view/index.js";import{jsx as Hi,jsxs as Mi}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"];import{Fragment as Ai,jsx as Di,jsxs as Ii}from"/_ket/view/jsx-runtime.js";import{Fragment as Xi,jsx as Ni,jsxs as Ji}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 Qi,jsx as Zi,jsxs as ji}from"/_ket/view/jsx-runtime.js";var bt=["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"];import{each as rn}from"/_ket/view/index.js";import{Fragment as ln,jsx as sn}from"/_ket/view/jsx-runtime.js";import{jsx as bn,jsxs as pn}from"/_ket/view/jsx-runtime.js";var pt=["field","field-label","field-required","field-control","field-options","field-option","field-option-input","field-help","field-error"];import{each as vn}from"/_ket/view/index.js";import{jsx as Sn,jsxs as Tn}from"/_ket/view/jsx-runtime.js";var ht=["breadcrumbs","breadcrumb","breadcrumb-overflow","breadcrumb-overflow-trigger","breadcrumb-overflow-list","nav-list","nav-item","nav-item-leading","nav-item-label","nav-item-count","tabs","tab","tab-count","tabbed-view","tabbed-view-context","tab-panel"];import{jsx as Rn,jsxs as Ln}from"/_ket/view/jsx-runtime.js";var yt=["progress","progress-label","progress-value","progress-track","progress-bar"];import{each as En}from"/_ket/view/index.js";import{Fragment as On,jsx as Mn,jsxs as Fn}from"/_ket/view/jsx-runtime.js";var vt=["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 An,jsxs as Bn}from"/_ket/view/jsx-runtime.js";var xt=["popover","popover-trigger","popover-panel","popover-close"];import{jsx as qn,jsxs as Nn}from"/_ket/view/jsx-runtime.js";var St=["tooltip","tooltip-trigger","tooltip-content"];import{jsx as Vn}from"/_ket/view/jsx-runtime.js";var Tt=["dialog","confirm-dialog-message"];import{each as _n}from"/_ket/view/index.js";import{jsx as Zn,jsxs as Qn}from"/_ket/view/jsx-runtime.js";var wt=["toast-region","toast","toast-copy","toast-title","toast-message","toast-actions"];import{jsx as tr}from"/_ket/view/jsx-runtime.js";var kt=["spinner","visually-hidden"];import{each as nr}from"/_ket/view/index.js";import{jsx as or}from"/_ket/view/jsx-runtime.js";var Rt=["skeleton","skeleton-line"];import{each as dr,effect as cr,signal as ur}from"/_ket/view/index.js";import{jsx as fr,jsxs as gr}from"/_ket/view/jsx-runtime.js";var Lt=["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 hr,signal as yr}from"/_ket/view/index.js";import{jsx as xr,jsxs as Sr}from"/_ket/view/jsx-runtime.js";var Ct=["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 Rr,signal as Lr}from"/_ket/view/index.js";import{Fragment as Hr,jsx as Er,jsxs as Pr}from"/_ket/view/jsx-runtime.js";var Pt=["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 Ar,effect as Br,signal as Kr}from"/_ket/view/index.js";import{jsx as Or}from"/_ket/view/jsx-runtime.js";var Et=["formatted-date","formatted-number","formatted-money"];import{Fragment as Xr,jsx as Gr,jsxs as zr}from"/_ket/view/jsx-runtime.js";var Ft=["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 q=e=>{if(!/^\d{4}-\d{2}-\d{2}$/.test(e))return null;let[t,n,a]=e.split("-").map(Number);if(t<1||t>9999)return null;let r=new Date(0);return r.setUTCFullYear(t,n-1,a),r.setUTCHours(0,0,0,0),r.getUTCFullYear()===t&&r.getUTCMonth()===n-1&&r.getUTCDate()===a?r:null},Oe=e=>[String(e.getUTCFullYear()).padStart(4,"0"),String(e.getUTCMonth()+1).padStart(2,"0"),String(e.getUTCDate()).padStart(2,"0")].join("-"),ie=(e,t)=>{let n=q(e);if(!n)return"";n.setUTCDate(n.getUTCDate()+t);let a=Oe(n);return q(a)?a:""},ee=(e,t)=>{let n=q(e);if(!n)return"";let a=n.getUTCDate();n.setUTCDate(1),n.setUTCMonth(n.getUTCMonth()+t);let r=new Date(n);r.setUTCMonth(r.getUTCMonth()+1,0),n.setUTCDate(Math.min(a,r.getUTCDate()));let o=Oe(n);return q(o)?o:""},ne=e=>`${e.slice(0,7)}-01`,fe=e=>{let t=q(e);return t?(t.setUTCMonth(t.getUTCMonth()+1,0),Oe(t)):""};var De=(e,t)=>{if(!q(t))return null;if(e==="today")return[t,t];if(e==="yesterday"){let r=ie(t,-1);return r?[r,r]:null}if(e==="thisMonth")return[ne(t),fe(t)];if(e==="lastMonth"){let r=ee(t,-1);return r?[ne(r),fe(r)]:null}let n={last7:7,last30:30,last90:90}[e],a=n?ie(t,1-n):"";return a?[a,t]:null},Ot=(e,t="",n="")=>!!q(e)&&(!q(t)||e>=t)&&(!q(n)||e<=n),ce=(e,t)=>e<=t?[e,t]:[t,e],Ie=(e,t)=>{if(!q(e)||!q(t))return"";let n=(a,r=!0)=>`${a.slice(8,10)}/${a.slice(5,7)}${r?`/${a.slice(0,4)}`:""}`;return`${n(e,e.slice(0,4)!==t.slice(0,4))} \u2013 ${n(t)}`};var U=e=>{let t=q(e);if(!t)throw new RangeError(`Invalid civil date: ${e}`);return t},X=(e,t)=>{if(!Ot(t,e.min,e.max))return!1;let n=Number(e.step||1);if(e.step==="any"||!Number.isFinite(n)||n<=0)return!0;let a=q(e.min)??q(e.getAttribute("value")??"")??U("1970-01-01");return Math.abs((U(t).getTime()-a.getTime())/864e5/n%1)<1e-6},Te=new WeakMap,Dt=0,Ae="",It="",Da=e=>{let t=[],n=e;for(;n.parentElement;){let r=n.parentElement;for(let o of r.children){if(!(o instanceof HTMLElement)||o===n)continue;let l=Te.get(o)??{users:0,prior:o.inert};l.users++,Te.set(o,l),o.inert=!0,t.push(o)}if(r===document.body)break;n=r}let a=document.documentElement.style;return Dt++===0&&(Ae=a.overflow,It=a.getPropertyPriority("overflow"),a.setProperty("overflow","hidden")),()=>{for(let r of t){let o=Te.get(r);o&&--o.users===0&&(r.inert=o.prior,Te.delete(r))}--Dt===0&&(Ae?a.setProperty("overflow",Ae,It):a.removeProperty("overflow"))}},Ia=e=>{let t=e.querySelector('[data-ui="date-calendar"]'),n=e.querySelector('[name="kv-date-open"]'),a=[...e.querySelectorAll('[data-ui="date-inputs"] input[type="date"], [data-ui="date-boundary"]')];if(!(t instanceof HTMLElement)||!(n instanceof HTMLButtonElement)||!a.length||!("showPopover"in t))return()=>{};let r=t,o=n,l=e.dataset.dateMode==="range",S=e.dataset.dateLocale==="en"?"en-GB":"vi-VN",c=Number(e.dataset.dateWeekStart??1),f=JSON.parse(e.dataset.dateLabels??"{}"),u=r.querySelector('[data-ui="date-calendar-months"]'),P=r.querySelector('[data-ui="date-calendar-status"]'),H=r.querySelector('[value="apply"]'),L=e.querySelector('[data-ui="date-range-error"]'),E=a[1],N=a.map(s=>s.value),x=e.querySelector('input[type="text"]'),C=e.querySelector("select"),$=x instanceof HTMLInputElement?x:E,W=$?.getAttribute("aria-invalid"),A=$?.getAttribute("aria-describedby"),_=o,re=()=>{let s=new Date,d=`${s.getFullYear()}-${String(s.getMonth()+1).padStart(2,"0")}-${String(s.getDate()).padStart(2,"0")}`;return q(e.dataset.dateToday??"")?e.dataset.dateToday??d:d},be=new Intl.DateTimeFormat(S,{day:"numeric",month:"long",year:"numeric",timeZone:"UTC"}),oe=new Intl.DateTimeFormat(S,{day:"2-digit",month:"2-digit",year:"numeric",timeZone:"UTC"}),i=new Intl.DateTimeFormat(S,{month:"long",year:"numeric",timeZone:"UTC"}),h=new Intl.DateTimeFormat(S,{weekday:"short",timeZone:"UTC"}),m=re(),p="",y="",k="",g=[],M=()=>r.matches(":popover-open"),O=()=>window.innerWidth<768,G=null,z=()=>{M()&&O()?(G??=Da(r),r.setAttribute("aria-modal","true")):(G?.(),G=null,r.removeAttribute("aria-modal"))},T=()=>l?O()?12:2:1,v=s=>{let d=ne(s);return l&&O()&&ee(d,-2)||d},B=()=>{let s=u.getBoundingClientRect().top,d=[...u.children].find(b=>b.getBoundingClientRect().bottom>s+1);return d instanceof HTMLElement?d.dataset.dateMonth??p:p},R=()=>{if(!l||!O())return;let s=u.querySelector(`[data-date-month="${ne(y)}"]`);s instanceof HTMLElement&&(u.scrollTop+=s.getBoundingClientRect().top-u.getBoundingClientRect().top-parseFloat(getComputedStyle(u).paddingTop))},D=s=>{if(!O())return;let d=s.getBoundingClientRect(),b=u.getBoundingClientRect();d.top<b.top?u.scrollTop+=d.top-b.top:d.bottom>b.bottom&&(u.scrollTop+=d.bottom-b.bottom)},Y=()=>a.every(s=>!s.disabled&&!s.readOnly),pe=()=>!!g[0]&&X(a[0],g[0])&&(!l||!!g[1]&&g[0]<=g[1]&&X(E,g[1])),le=()=>{if(!E||!$)return!0;let s=a[0].value,d=E.value,b=!s&&!d,F=!a[0].disabled&&!E.disabled&&(b?a.some(K=>K.required):!X(a[0],s)||!X(E,d)||s>d);if(x instanceof HTMLInputElement&&(x.value=Ie(s,d)),L instanceof HTMLElement&&(L.hidden=!F,$.setAttribute("aria-describedby",[A,F?L.id:""].filter(Boolean).join(" "))),F?$.setAttribute("aria-invalid","true"):W?$.setAttribute("aria-invalid",W):$.removeAttribute("aria-invalid"),C instanceof HTMLSelectElement){C.disabled=!Y();let K=[...C.options].filter(w=>{let I=De(w.value,m);return w.disabled=!!I&&(!X(a[0],I[0])||!X(E,I[1])),I&&I[0]===s&&I[1]===d});C.value=(K.find(w=>w.value===k)??K[0])?.value??"custom"}return!F},Ue=s=>{let d=a.filter((b,F)=>b.value!==s[F]);a.forEach((b,F)=>{b.value=s[F]}),le();for(let b of[...d,...d.length&&x instanceof HTMLInputElement?[x]:[]])b.dispatchEvent(new Event("input",{bubbles:!0})),b.dispatchEvent(new Event("change",{bubbles:!0}))},Ce=(s="")=>{let[d,b]=l&&g[0]&&!g[1]&&s?ce(g[0],s):[g[0],g[1]??g[0]];for(let F of u.querySelectorAll("button[data-date]")){let K=F,w=K.dataset.date??"",I=K.parentElement,J=w===g[0]||w===g[1];K.dataset.selected=String(J),I&&(I.dataset.inRange=String(l&&!!d&&!!b&&w>=d&&w<=b),I.setAttribute("aria-selected",String(J||l&&!!d&&!!b&&w>=d&&w<=b)))}},he=()=>{if(!M()||O())return;let s=o.getBoundingClientRect(),d=parseFloat(getComputedStyle(r).scrollMarginTop),b=d;r.style.setProperty("--kv-date-max-height",`${Math.max(0,window.innerHeight-d*2)}px`);let F=r.getBoundingClientRect(),K=Math.max(d,Math.min(s.left+F.width<=window.innerWidth-d?s.left:s.right-F.width,window.innerWidth-F.width-d)),w=s.bottom+b,I=w+F.height<=window.innerHeight-d?w:Math.max(d,s.top-F.height-b);r.style.setProperty("--kv-date-left",`${K}px`),r.style.setProperty("--kv-date-top",`${I}px`)},ue=(s=!1)=>{let d=u.scrollTop;u.replaceChildren(),r.dataset.months=String(T());for(let F=0;F<T();F++){let K=ee(p,F);if(!K)continue;let w=document.createElement("section");w.dataset.ui="date-month",w.dataset.dateMonth=K;let I=document.createElement("h4");I.dataset.ui="date-month-title",I.id=`${r.id}-month-${F}`,I.textContent=i.format(U(K)),O()||I.setAttribute("aria-live","polite"),w.append(I);let J=document.createElement("table");J.dataset.ui="date-grid",J.setAttribute("role","grid"),J.setAttribute("aria-labelledby",I.id),l&&J.setAttribute("aria-multiselectable","true");let Q=J.createTHead().insertRow();for(let te=0;te<7;te++){let se=document.createElement("th");se.dataset.ui="date-weekday",se.scope="col",se.textContent=h.format(U(ie("2026-09-06",(te+c)%7))),Q.append(se)}let me=J.createTBody(),rt=(U(K).getUTCDay()-c+7)%7,ot=U(fe(K)).getUTCDate(),xa=O()?Math.ceil((rt+ot)/7):6;for(let te=0;te<xa;te++){let se=me.insertRow();for(let Pe=0;Pe<7;Pe++){let Ee=se.insertCell();Ee.dataset.ui="date-cell";let ve=te*7+Pe-rt+1;if(ve<1||ve>ot){Ee.setAttribute("aria-hidden","true");continue}let de=ie(K,ve-1),V=document.createElement("button");if(V.type="button",V.dataset.ui="date-day",V.dataset.date=de,V.textContent=String(ve),V.setAttribute("aria-label",be.format(U(de))),de===m&&V.setAttribute("aria-current","date"),l&&g[0]&&!g[1]){let[Sa,Ta]=ce(g[0],de);V.disabled=!X(a[0],Sa)||!X(E,Ta)}else V.disabled=!X(a[0],de);V.tabIndex=de===y&&!V.disabled?0:-1,Ee.append(V)}}w.append(J),u.append(w)}u.scrollTop=d;let b=u.querySelector('button[tabindex="0"]')??u.querySelector("button:not(:disabled)");b instanceof HTMLButtonElement&&(b.tabIndex=0,y=b.dataset.date??y,s&&(b.focus({preventScroll:!0}),D(b)));for(let F of["previous","next"]){let K=r.querySelector(`[value="${F}"]`);K.disabled=!ee(l&&O()?ne(y):p,F==="previous"?-1:l&&O()?1:T())}H.disabled=!pe(),P.textContent=g[0]?l&&!g[1]?`${oe.format(U(g[0]))} \xB7 ${f.chooseEnd}`:`${oe.format(U(g[0]))}${l?` \u2014 ${oe.format(U(g[1]))}`:""}`:l?f.chooseStart:f.chooseDate,Ce(s&&l&&g[0]&&!g[1]?y:""),he()},ye=(s=o)=>{if(!Y())return;_=s,m=re(),g=a.map(b=>q(b.value)?b.value:""),y=g[0]||m,q(a[0].min)&&y<a[0].min&&(y=a[0].min),q(a[0].max)&&y>a[0].max&&(y=a[0].max),p=v(y),ue(),r.showPopover(),z(),o.setAttribute("aria-expanded","true"),he(),R();let d=u.querySelector('button[tabindex="0"]');if(d instanceof HTMLElement)d.focus({preventScroll:!0}),D(d);else{let b=r.querySelector('[value="cancel"]');b instanceof HTMLElement&&b.focus()}},Z=(s=!1)=>{M()&&r.hidePopover(),z(),o.setAttribute("aria-expanded","false"),s&&_.isConnected&&_.focus({preventScroll:!0})},We=s=>{if(s.target===x&&x instanceof HTMLElement){M()?Z(!0):ye(x);return}let d=s.target instanceof Element?s.target.closest("button"):null;if(!(!(d instanceof HTMLButtonElement)||d.disabled)){if(d===o){M()?Z(!0):ye();return}if(!(!r.contains(d)||!Y())){if(d.dataset.date){let b=d.dataset.date;k="",g=l?g[0]&&!g[1]?ce(g[0],b):[b,""]:[b],y=b,ue(!0)}else if(d.name==="kv-date-command"){if(d.value==="cancel")Z(!0);else if(d.value==="apply"&&pe()){let b=[...g];Z(!0),Ue(b)}else if(d.value==="previous"||d.value==="next"){let b=ee(l&&O()?B():p,d.value==="previous"?-1:1);if(!b)return;y=b,p=l&&O()?v(b):b,ue(),R()}}}}},_e=s=>{if(!M()&&s.target===x&&x instanceof HTMLElement&&["Enter"," ","ArrowDown"].includes(s.key)){s.preventDefault(),ye(x);return}if(!M())return;if(s.key==="Escape"){s.preventDefault(),s.stopImmediatePropagation(),Z(!0);return}if(s.key==="Tab"&&O()){let J=[...r.querySelectorAll('button:not(:disabled):not([tabindex="-1"]), select:not(:disabled)')],Q=J[0],me=J.at(-1);if(s.shiftKey&&document.activeElement===Q&&me instanceof HTMLElement){s.preventDefault(),me.focus();return}if(!s.shiftKey&&document.activeElement===me&&Q instanceof HTMLElement){s.preventDefault(),Q.focus();return}}let d=s.target;if(!(d instanceof HTMLButtonElement)||!d.dataset.date)return;let b=d.dataset.date,F=(U(b).getUTCDay()-c+7)%7,K={ArrowLeft:-1,ArrowRight:1,ArrowUp:-7,ArrowDown:7,Home:-F,End:6-F},w=s.key in K?ie(b,K[s.key]):s.key==="PageUp"||s.key==="PageDown"?ee(b,(s.key==="PageUp"?-1:1)*(s.shiftKey?12:1)):"";if(!w)return;s.preventDefault();for(let J=0;J<366&&w;J++){let Q=l&&g[0]&&!g[1]?ce(g[0],w):[w];if(X(a[0],Q[0])&&(!Q[1]||X(E,Q[1])))break;w=ie(w,w<b?-1:1)}let I=l&&g[0]&&!g[1]?ce(g[0],w):[w];!w||!X(a[0],I[0])||I[1]&&!X(E,I[1])||(y=w,(w<p||w>fe(ee(p,T()-1)))&&(p=ne(w)),ue(!0))},Ye=s=>{let d=s.target;l&&g[0]&&!g[1]&&d instanceof HTMLButtonElement&&!d.disabled&&Ce(d.dataset.date)},Ze=()=>Ce(),Qe=()=>{z(),o.setAttribute("aria-expanded",String(M())),M()||(g=[])},je=s=>{M()&&s.target instanceof Node&&!r.contains(s.target)&&s.target!==o&&Z()},et=O(),tt=()=>{if(M()){let s=et!==O();s&&(p=v(y)),z(),ue(u.contains(document.activeElement)),s&&R()}et=O()},at=s=>{if(s.target===C&&C instanceof HTMLSelectElement&&Y()){m=re();let d=De(C.value,m);d&&X(a[0],d[0])&&X(E,d[1])?(k=C.value,Z(!0),Ue(d)):(le(),ye(C))}else le()},it=s=>{!le()&&!a[0].form?.noValidate&&!(s.submitter instanceof HTMLButtonElement&&s.submitter.formNoValidate)&&(s.preventDefault(),$?.focus())},nt=()=>{Z(),setTimeout(()=>{l&&a.forEach((s,d)=>{s.value=N[d]}),k="",le()})};return e.dataset.dateEnhanced="true",le(),e.addEventListener("click",We),e.addEventListener("keydown",_e),e.addEventListener("change",at),r.addEventListener("toggle",Qe),u.addEventListener("pointerover",Ye),u.addEventListener("pointerleave",Ze),document.addEventListener("focusin",je),window.addEventListener("resize",tt),window.addEventListener("scroll",he,!0),a[0].form?.addEventListener("reset",nt),a[0].form?.addEventListener("submit",it),()=>{Z(),delete e.dataset.dateEnhanced,e.removeEventListener("click",We),e.removeEventListener("keydown",_e),e.removeEventListener("change",at),r.removeEventListener("toggle",Qe),u.removeEventListener("pointerover",Ye),u.removeEventListener("pointerleave",Ze),document.removeEventListener("focusin",je),window.removeEventListener("resize",tt),window.removeEventListener("scroll",he,!0),a[0].form?.removeEventListener("reset",nt),a[0].form?.removeEventListener("submit",it),C instanceof HTMLSelectElement&&(C.disabled=!0)}},Be=new WeakMap,Aa=e=>{let t=Be.get(e);t||(t={users:0,cleanup:Ia(e)},Be.set(e,t));let n=t;return n.users++,()=>{--n.users===0&&(n.cleanup(),Be.delete(e))}},At=e=>{if(typeof HTMLElement>"u"||typeof Node>"u")return()=>{};let t=new Map,n=()=>{for(let[o,l]of t)o!==e&&!e.contains(o)&&(l(),t.delete(o));let r=[...e.querySelectorAll("[data-date-mode]")];e instanceof HTMLElement&&e.matches("[data-date-mode]")&&r.unshift(e);for(let o of r)o instanceof HTMLElement&&!t.has(o)&&t.set(o,Aa(o))};n();let a=typeof MutationObserver>"u"?null:new MutationObserver(n);return e instanceof Node&&a?.observe(e,{childList:!0,subtree:!0}),()=>{a?.disconnect();for(let r of t.values())r();t.clear()}};var Ba=["a[href]","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])","summary",'[tabindex]:not([tabindex="-1"])'].join(","),we=e=>[...e.querySelectorAll(Ba)].filter(t=>t instanceof HTMLElement&&!t.hidden&&t.getAttribute("aria-hidden")!=="true"&&(typeof t.checkVisibility!="function"||t.checkVisibility())),Ka=['[data-ui="timeframe-menu"]','[data-ui="view-settings"]'],Bt=Ka.map(e=>`${e}[open]`).join(", "),$a=e=>{let t=[],n=[...e.querySelectorAll('[data-ui="global-search-trigger"]')],a=[];for(let o of n){let l=[...e.querySelectorAll('[data-ui="global-search-dialog"]')].find(A=>A.id===o.getAttribute("aria-controls"));if(!(o instanceof HTMLElement)||!(l instanceof HTMLDialogElement))continue;let S=l.querySelector('[data-ui="global-search-input"]'),c=l.querySelector('[data-ui="global-search"]'),f=l.querySelector("template");if(!(S instanceof HTMLInputElement)||!(c instanceof HTMLElement)||!(f instanceof HTMLTemplateElement))continue;let u=f.content.querySelector('[data-ui="modal-layer"]'),P=f.content.querySelector('[data-ui="modal-body"]');if(!u||!P)continue;let H=()=>{l.append(c),f.content.append(u)},L=o.querySelector('[data-ui="global-search-shortcut"]');L instanceof HTMLElement&&(L.textContent=/Mac|iPhone|iPad/.test(navigator.platform)?"\u2318 K":"Ctrl K",L.hidden=!1);let E=()=>{if(o.closest("[inert]"))return!1;if(!l.open){if(e.querySelector('dialog[open], [data-ui="modal-layer"][data-route-modal="true"]'))return!1;l.append(u),P.append(c),l.showModal()}return o.setAttribute("aria-expanded","true"),S.focus(),S.select(),!0};a.push(E);let N=()=>{H(),o.setAttribute("aria-expanded","false"),o.isConnected&&o.focus()},x=A=>{A.button!==0||A.metaKey||A.ctrlKey||A.shiftKey||A.altKey||E()&&A.preventDefault()},C=A=>{A.target instanceof Element&&A.target.closest('[data-ui="modal-close"], [data-ui="modal-backdrop"]')&&l.close()},$=A=>{A.preventDefault(),A.stopPropagation(),l.close()},W=()=>l.close();o.addEventListener("click",x),l.addEventListener("click",C),l.addEventListener("cancel",$),l.addEventListener("close",N),l.addEventListener("submit",W),t.push(()=>{o.removeEventListener("click",x),l.removeEventListener("click",C),l.removeEventListener("cancel",$),l.removeEventListener("close",N),l.removeEventListener("submit",W),l.open&&l.close(),H()})}let r=o=>{(o.ctrlKey||o.metaKey)&&o.key.toLowerCase()==="k"&&!o.altKey&&!o.defaultPrevented&&a.some(l=>l())&&o.preventDefault()};return document.addEventListener("keydown",r),()=>{document.removeEventListener("keydown",r);for(let o of t)o()}},Ke=(e=document)=>{let t=At(e),n=$a(e),a=document.activeElement instanceof HTMLElement?document.activeElement:null,r=e.querySelector('[data-ui="modal-layer"][data-route-modal="true"] [role="dialog"]'),o=e.querySelector('[data-ui="app-shell"], [data-ui="shell"]'),l=o instanceof HTMLElement?o.inert:!1;if(r instanceof HTMLElement){o instanceof HTMLElement&&!o.contains(r)&&(o.inert=!0);let i=we(r)[0];(i instanceof HTMLElement?i:r).focus()}let S=[...e.querySelectorAll('[data-ui="menu"]')].filter(i=>i instanceof HTMLDetailsElement),c=i=>{let h=i.querySelector('[data-ui="menu-trigger"]');h instanceof HTMLElement&&h.setAttribute("aria-expanded",String(i.open))},f=S.map(i=>{let h=()=>c(i);return i.addEventListener("toggle",h),c(i),()=>i.removeEventListener("toggle",h)}),u=window.matchMedia("(max-width: 48rem)"),P=document.documentElement,H=P.dataset.kvNavigationOpen,L=[...e.querySelectorAll('[data-ui="app-navigation"]')].filter(i=>i instanceof HTMLDetailsElement),E=new Map,N=i=>{let h=E.get(i);if(h?.targets){for(let{element:m,inert:p}of h.targets)m.inert=p;h.targets=null}},x=()=>{u.matches&&L.some(h=>h.open)?P.dataset.kvNavigationOpen="true":H===void 0?delete P.dataset.kvNavigationOpen:P.dataset.kvNavigationOpen=H},C=i=>{let h=i.querySelector('[data-ui="navigation-trigger"]'),m=i.querySelector('[data-ui="navigation-drawer"]');if(!(h instanceof HTMLElement)||!(m instanceof HTMLElement))return;let p=u.matches;h.dataset.open=String(p&&i.open);for(let k of e.querySelectorAll('[data-ui="navigation-toggle"]'))k.getAttribute("aria-controls")===m.id&&k.setAttribute("aria-expanded",String(p&&i.open));if(!p){m.removeAttribute("role"),m.removeAttribute("aria-modal"),m.removeAttribute("aria-label"),N(i),x();return}if(m.setAttribute("role","dialog"),m.setAttribute("aria-modal","true"),m.setAttribute("aria-label",m.dataset.navigationLabel??"Navigation"),!i.open){N(i),x();return}let y=E.get(i)??{};if(!y.targets){let k=i.closest('[data-ui="app-shell"], [data-ui="shell"]'),g=k?[...k.querySelectorAll(':scope > [data-ui="app-main"], :scope > [data-ui="main"], :scope > [data-ui="app-right-rail"], :scope > [data-ui="app-shell-topbar"]')].filter(M=>M instanceof HTMLElement).map(M=>({element:M,inert:M.inert})):[];y.returnFocus=document.activeElement instanceof HTMLElement?document.activeElement:h;for(let{element:M}of g)M.inert=!0;y.targets=g,E.set(i,y),queueMicrotask(()=>{if(!i.open||!u.matches)return;let M=m.querySelector('[data-ui="navigation-item"][aria-current="page"]'),O=we(m)[0],G=M instanceof HTMLElement?M:O;(G instanceof HTMLElement?G:m).focus()})}x()},$=(i,h=!0)=>{let m=E.get(i);i.open=!1,C(i),h&&m?.returnFocus instanceof HTMLElement&&m.returnFocus.isConnected&&m.returnFocus.focus(),E.delete(i)},W=L.map(i=>{let h=()=>C(i),m=p=>{let y=p.target;if(!(y instanceof Element))return;let g=y.closest('[data-ui="navigation-branch-trigger"]')?.closest('[data-ui="navigation-branch"]');if(g instanceof HTMLDetailsElement&&g.open){p.preventDefault();return}!u.matches||!i.open||(y.closest('[data-ui="navigation-close"]')||y.closest('[data-ui="navigation-backdrop"]')||y.closest('[data-ui="navigation-item"]'))&&$(i)};return i.addEventListener("toggle",h),i.addEventListener("click",m),C(i),()=>{i.removeEventListener("toggle",h),i.removeEventListener("click",m),N(i)}}),A=()=>{for(let i of L)i.open?$(i,!1):C(i)};u.addEventListener("change",A);for(let i of e.querySelectorAll('[data-ui="popover"][data-open="true"]')){let h=i.querySelector('[data-ui="popover-trigger"]'),m=i.querySelector('[data-ui="popover-panel"]');if(!(h instanceof HTMLElement)||!(m instanceof HTMLElement))continue;let p=h.getBoundingClientRect(),y=8,k=i.getAttribute("data-placement")??"bottom-start",g=k.startsWith("top"),M=k.endsWith("end"),O=p.top-m.offsetHeight-y,G=p.bottom+y,z=O>=8,T=G+m.offsetHeight<=window.innerHeight-8,v=g?z||!T:!T&&z,B=M?p.right-m.offsetWidth:p.left,R=Math.max(8,Math.min(B,window.innerWidth-m.offsetWidth-8)),D=Math.max(8,Math.min(v?O:G,window.innerHeight-m.offsetHeight-8));m.dataset.runtimePositioned="true",m.dataset.runtimePlacement=`${v?"top":"bottom"}-${M?"end":"start"}`,m.style.left=`${Math.round(R)}px`,m.style.top=`${Math.round(D)}px`,m.style.right="auto",m.style.bottom="auto"}let _=i=>{let h=L.find(T=>u.matches&&T.open);if(h instanceof HTMLDetailsElement){let T=h.querySelector('[data-ui="navigation-drawer"]');if(i.key==="Escape"){$(h),i.preventDefault();return}if(i.key==="Tab"&&T instanceof HTMLElement){let v=we(T),B=v[0],R=v.at(-1);if(!v.length){i.preventDefault(),T.focus();return}if(i.shiftKey&&(document.activeElement===B||document.activeElement===T)){i.preventDefault(),R instanceof HTMLElement&&R.focus();return}if(!i.shiftKey&&document.activeElement===R){i.preventDefault(),B instanceof HTMLElement&&B.focus();return}}}let m=document.activeElement?.closest('[data-ui="tree"] [role="treeitem"]');if(m instanceof HTMLElement){let T=m.closest('[data-ui="tree"]'),v=T?[...T.querySelectorAll('[role="treeitem"]')].filter(D=>D instanceof HTMLElement):[],B=v.indexOf(m),R=-1;if(i.key==="ArrowDown")R=Math.min(v.length-1,B+1);else if(i.key==="ArrowUp")R=Math.max(0,B-1);else if(i.key==="Home")R=0;else if(i.key==="End")R=v.length-1;else if(i.key==="ArrowRight"){let D=Number(m.getAttribute("aria-level"));m.getAttribute("aria-expanded")==="true"&&Number(v[B+1]?.getAttribute("aria-level"))>D&&(R=B+1)}else if(i.key==="ArrowLeft"){let D=Number(m.getAttribute("aria-level"));D>1&&(R=v.findLastIndex((Y,pe)=>pe<B&&Number(Y.getAttribute("aria-level"))<D))}if(R>=0&&v[R]){for(let D of v)D.tabIndex=-1;v[R].tabIndex=0,v[R].focus(),i.preventDefault();return}}let p=document.activeElement?.closest('[data-ui="tree-grid-row"]');if(p instanceof HTMLElement){let T=p.closest('[data-ui="tree-grid"]'),v=T?[...T.querySelectorAll('[data-ui="tree-grid-row"]')].filter(D=>D instanceof HTMLElement):[],B=v.indexOf(p),R=i.key==="ArrowDown"?Math.min(v.length-1,B+1):i.key==="ArrowUp"?Math.max(0,B-1):i.key==="Home"?0:i.key==="End"?v.length-1:-1;if(R>=0&&v[R]){for(let D of v)D.tabIndex=-1;v[R].tabIndex=0,v[R].focus(),i.preventDefault();return}}let y=document.activeElement?.closest('[data-ui="menu"]');if(y instanceof HTMLDetailsElement&&!y.open){let T=y.querySelector('[data-ui="menu-trigger"]');if(document.activeElement===T&&(i.key==="ArrowDown"||i.key==="ArrowUp")){y.open=!0;let v=[...y.querySelectorAll('[role="menuitem"], [role="menuitemcheckbox"], [role="menuitemradio"]')].filter(R=>R instanceof HTMLElement&&R.getAttribute("aria-disabled")!=="true"),B=i.key==="ArrowUp"?v.at(-1):v[0];B instanceof HTMLElement&&B.focus(),i.preventDefault();return}}let k=document.activeElement?.closest('[data-ui="menu"][open]');if(k instanceof HTMLDetailsElement){let T=k.querySelector('[data-ui="menu-trigger"]'),v=[...k.querySelectorAll('[role="menuitem"], [role="menuitemcheckbox"], [role="menuitemradio"]')].filter(Y=>Y instanceof HTMLElement&&Y.getAttribute("aria-disabled")!=="true"),B=document.activeElement,R=B instanceof HTMLElement?v.indexOf(B):-1,D=-1;if(i.key==="ArrowDown"?D=R<0?0:(R+1)%v.length:i.key==="ArrowUp"?D=R<0?v.length-1:(R-1+v.length)%v.length:i.key==="Home"?D=0:i.key==="End"&&(D=v.length-1),D>=0&&v[D]instanceof HTMLElement){v[D].focus(),i.preventDefault();return}if((i.key==="Enter"||i.key===" ")&&document.activeElement===T){v[0]instanceof HTMLElement&&v[0].focus(),i.preventDefault();return}}if(i.key==="Escape"&&k instanceof HTMLDetailsElement){k.open=!1;let T=k.querySelector('[data-ui="menu-trigger"]');T instanceof HTMLElement&&T.focus(),i.preventDefault();return}let g=[...e.querySelectorAll(Bt)].at(-1);if(i.key==="Escape"&&g instanceof HTMLDetailsElement){g.open=!1;let T=g.querySelector("summary");T instanceof HTMLElement&&T.focus(),i.preventDefault();return}let M=document.activeElement?.closest('[data-ui="popover"][data-open="true"]');if(i.key==="Escape"&&M instanceof HTMLElement){let T=M.querySelector('[data-ui="popover-close"]');T instanceof HTMLElement&&T.click(),i.preventDefault();return}if(!(r instanceof HTMLElement))return;if(i.key==="Escape"){let T=r.querySelector('[data-ui="modal-close"]');T instanceof HTMLElement&&T.click(),i.preventDefault();return}if(i.key!=="Tab")return;let O=we(r);if(!O.length){i.preventDefault(),r.focus();return}let G=O[0],z=O.at(-1);i.shiftKey&&(document.activeElement===G||document.activeElement===r)?(i.preventDefault(),z instanceof HTMLElement&&z.focus()):!i.shiftKey&&document.activeElement===z&&(i.preventDefault(),G instanceof HTMLElement&&G.focus())},re=i=>{let h=[...i.querySelectorAll('[data-ui="row-select"]')].filter(k=>k instanceof HTMLInputElement&&!k.disabled),m=h.filter(k=>k.checked),p=i.querySelector('[data-ui="select-all"]');p instanceof HTMLInputElement&&(p.checked=h.length>0&&m.length===h.length,p.indeterminate=m.length>0&&m.length<h.length);for(let k of h)k.closest('[data-ui="row"]')?.toggleAttribute("data-selected",k.checked);let y=h[0]?.getAttribute("form");if(y)for(let k of document.querySelectorAll(`[data-ui="bulk-actions"][data-form="${CSS.escape(y)}"]`)){m.length?k.setAttribute("data-has-selection","true"):k.removeAttribute("data-has-selection");for(let g of k.querySelectorAll('[data-ui="bulk-count"]'))g.textContent=String(m.length);for(let g of k.querySelectorAll('[data-ui="bulk-action-list"] button'))g instanceof HTMLButtonElement&&g.dataset.kvAlwaysDisabled!=="true"&&(g.disabled=m.length===0)}},be=i=>{let h=i.target;if(!(h instanceof HTMLInputElement))return;let m=h.getAttribute("data-ui");if(m!=="select-all"&&m!=="row-select")return;let p=h.closest('[data-ui="table"]');if(p){if(m==="select-all")for(let y of p.querySelectorAll('[data-ui="row-select"]'))y instanceof HTMLInputElement&&!y.disabled&&(y.checked=h.checked);re(p)}};for(let i of e.querySelectorAll('[data-ui="table"]'))i.querySelector('[data-ui="row-select"]')&&re(i);document.addEventListener("change",be);let oe=i=>{let h=i.target;if(!(h instanceof Node))return;let m=h instanceof Element?h.closest('[data-ui="navigation-toggle"]'):null;if(m instanceof HTMLElement&&u.matches){let p=L.find(y=>y.querySelector('[data-ui="navigation-drawer"]')?.id===m.getAttribute("aria-controls"));p&&(p.open?$(p):(p.open=!0,C(p)));return}for(let p of e.querySelectorAll('[data-ui="menu"][open]')){if(!(p instanceof HTMLDetailsElement))continue;let y=h instanceof Element?h.closest('[data-ui="menu-item"]'):null;(!p.contains(h)||y&&y.getAttribute("aria-disabled")!=="true")&&(p.open=!1)}for(let p of e.querySelectorAll(Bt))p instanceof HTMLDetailsElement&&!p.contains(h)&&(p.open=!1)};return document.addEventListener("keydown",_),document.addEventListener("click",oe),()=>{n(),t(),document.removeEventListener("keydown",_),document.removeEventListener("click",oe),document.removeEventListener("change",be);for(let i of f)i();u.removeEventListener("change",A);for(let i of W)i();H===void 0?delete P.dataset.kvNavigationOpen:P.dataset.kvNavigationOpen=H,o instanceof HTMLElement&&(o.inert=l),a?.isConnected&&a.focus()}};import{jsx as jr,jsxs as eo}from"/_ket/view/jsx-runtime.js";import{jsx as ro,jsxs as oo}from"/_ket/view/jsx-runtime.js";var Kt=["switch-control","switch-track"];import{each as co}from"/_ket/view/index.js";import{Fragment as bo,jsx as go,jsxs as fo}from"/_ket/view/jsx-runtime.js";var $t=["combobox","combobox-input-row","combobox-toggle","combobox-listbox","combobox-option","combobox-empty","tag-picker"];import{Fragment as Ro,jsx as wo,jsxs as ko}from"/_ket/view/jsx-runtime.js";var qt=["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 Eo,jsxs as Ho}from"/_ket/view/jsx-runtime.js";var Nt=["file-upload","drop-zone","upload-status"];import{jsx as Do}from"/_ket/view/jsx-runtime.js";var Jt=["relation-picker"];import{each as Bo}from"/_ket/view/index.js";import{jsx as No,jsxs as Jo}from"/_ket/view/jsx-runtime.js";var Xt=["search-bar","filter-bar","applied-filters","applied-filter","saved-views","saved-view","view-settings","view-settings-options"];import{jsx as Vo,jsxs as Uo}from"/_ket/view/jsx-runtime.js";var Gt=["inline-edit","inline-edit-value","inline-edit-form","inline-edit-actions"];import{each as ol}from"/_ket/view/index.js";import{each as Qo}from"/_ket/view/index.js";import{Fragment as il,jsx as tl,jsxs as al}from"/_ket/view/jsx-runtime.js";var zt=["list-chrome","list-chrome-row","list-search","list-search-label","list-search-input","list-search-submit","list-filter-menus","list-facets","list-facet","list-facet-count","list-view-switch","list-view","list-sort","list-sort-label","list-sort-select","list-status","list-actions","bulk-actions","bulk-summary","bulk-count","bulk-action-list","pager-bar","pager-summary","pager-pages","pager-page","pager-actions","pager-link"];import{jsx as cl,jsxs as ul}from"/_ket/view/jsx-runtime.js";var Vt=["resource-list","resource-list-item","resource-list-select","resource-list-link"];import{each as fl}from"/_ket/view/index.js";import{jsx as pl,jsxs as hl}from"/_ket/view/jsx-runtime.js";var Ut=["data-grid-scroll","data-grid","data-grid-cap","data-grid-cell"];import{each as xl}from"/_ket/view/index.js";import{jsx as Tl,jsxs as wl}from"/_ket/view/jsx-runtime.js";var Wt=["tree","tree-item","tree-link","tree-grid","tree-grid-row"];import{each as Ll}from"/_ket/view/index.js";import{jsx as Pl,jsxs as El}from"/_ket/view/jsx-runtime.js";var _t=["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 Fl}from"/_ket/view/index.js";import{jsx as Dl,jsxs as Il}from"/_ket/view/jsx-runtime.js";var Yt=["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 Kl}from"/_ket/view/index.js";import{jsx as ql,jsxs as Nl}from"/_ket/view/jsx-runtime.js";var Zt=["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 Gl}from"/_ket/view/index.js";import{jsx as Ul,jsxs as Wl}from"/_ket/view/jsx-runtime.js";var Qt=["description-list","key-value","key-value-label","key-value-value","person","person-body","avatar-group","status"];import{each as Zl}from"/_ket/view/index.js";import{jsx as as,jsxs as is}from"/_ket/view/jsx-runtime.js";var ea=["record-summary","record-summary-main","record-actions","record-rail"];import{each as os}from"/_ket/view/index.js";import{jsx as cs,jsxs as us}from"/_ket/view/jsx-runtime.js";var ta=["activity-timeline","activity-item","activity-marker","audit-log","audit-item"];import{each as fs}from"/_ket/view/index.js";import{jsx as hs,jsxs as ys}from"/_ket/view/jsx-runtime.js";var aa=["attachments","attachment","media-gallery","media-item"];import{each as Ss}from"/_ket/view/index.js";import{Fragment as Rs,jsx as ws,jsxs as ks}from"/_ket/view/jsx-runtime.js";var ia=["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 Hs}from"/_ket/view/index.js";import{Fragment as As,jsx as Ds,jsxs as Is}from"/_ket/view/jsx-runtime.js";var na=["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"];import{Fragment as zs,jsx as Gs,jsxs as Vs}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 Ys,jsxs as Zs}from"/_ket/view/jsx-runtime.js";var oa=["record-page","record-page-context","record-page-header","record-page-title-row","record-page-heading","record-page-title","record-page-subline","record-page-status","record-page-actions","record-page-meta","record-page-controller","record-page-navigation","record-page-layout","record-page-body","record-page-aside"];var la=["form-page","form-page-context","form-page-header","form-page-title-row","form-page-heading","form-page-title","form-page-subline","form-page-status","form-page-actions","form-page-meta","form-page-controller","form-page-navigation","form-page-layout","form-page-body","form-page-aside"];import{jsx as od,jsxs as ld}from"/_ket/view/jsx-runtime.js";var sa=["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 da=["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 pd}from"/_ket/view/index.js";import{jsx as yd,jsxs as vd}from"/_ket/view/jsx-runtime.js";var ca=["pipeline","pipeline-step","pipeline-arrow","pipeline-step-label","pipeline-step-value","pipeline-step-node"];import{each as kd}from"/_ket/view/index.js";import{jsx as Pd,jsxs as Ed}from"/_ket/view/jsx-runtime.js";var ua=["record-form","form-errors","form-grid","form-actions"];import{each as Bd}from"/_ket/view/index.js";import{jsx as Nd,jsxs as Jd}from"/_ket/view/jsx-runtime.js";var ma=["reorder-list","reorder-list-value","reorder-list-rows","reorder-list-row","reorder-list-content","reorder-list-controls"];var ga={actions:dt,feedback:ut,fields:pt,status:ct,navigation:ht,progress:yt,menu:vt,reorderList:ma,popover:xt,tooltip:St,dialog:Tt,toast:wt,spinner:kt,skeleton:Rt,lightbox:Ct,relationSelect:Lt,searchFilter:Pt,ketTable:Ft,scalarFields:Kt,combobox:$t,dateTime:qt,upload:Nt,relationPicker:Jt,listControls:Xt,inlineEdit:Gt,resourceList:Vt,dataGrid:Ut,tree:Wt,matrix:_t,barChart:Yt,timeframe:Zt,recordDisplay:Qt,formattedValues:Et,recordComposition:ea,activity:ta,media:aa,layouts:bt,shell:ft,appNavigation:ia,table:na,listChrome:zt,listPage:ra,formPage:la,recordPage:oa,dashboardPage:sa,boardPage:da,modal:mt,pipeline:ca,form:ua},_a=[...new Set(Object.values(ga).flat())].sort(),Ya=Object.freeze(Object.fromEntries(Object.entries(ga).map(([e,t])=>[e,[...t]])));var ze="ket.backend.theme",Ge=['[data-ui="search-menu"]','[data-ui="col-config"]','[data-ui="bulk-actions"]','[data-ui="viewer"]','[data-ui="record-more"]'].join(", "),ha=globalThis,j=e=>e.target instanceof Element?e.target:null,Le=e=>e==="light"||e==="dark"?e:null,Za=()=>{try{return Le(localStorage.getItem(ze))}catch{return null}},Qa=e=>{try{localStorage.setItem(ze,e)}catch{}},ya=()=>Le(document.documentElement.dataset.theme)??(matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),ke=()=>{let e=String(ya()==="dark");for(let t of document.querySelectorAll('[data-ui="sidebar-tools"] [data-ui="action"][name="theme"]'))t.setAttribute("aria-pressed",e)},ja=e=>{let t=Za();t&&(document.documentElement.dataset.theme=t),ke(),document.addEventListener("click",n=>{let a=j(n)?.closest('[data-ui="sidebar-tools"] [data-ui="action"][name="theme"]');if(!a||a.disabled)return;let r=ya()==="dark"?"light":"dark";document.documentElement.dataset.theme=r,Qa(r),ke()},{signal:e}),matchMedia("(prefers-color-scheme: dark)").addEventListener("change",()=>{Le(document.documentElement.dataset.theme)||ke()},{signal:e}),addEventListener("storage",n=>{if(n.key!==ze)return;let a=Le(n.newValue);a?document.documentElement.dataset.theme=a:delete document.documentElement.dataset.theme,ke()},{signal:e})},ei=e=>{let t=[...e.querySelectorAll(':is([data-ui="row-select"], [data-ui="kt-row-select"]):not(:disabled)')],n=t.filter(r=>r.checked).length,a=e.querySelector('[data-ui="select-all"], [data-ui="kt-select-all"]');a&&(a.checked=t.length>0&&n===t.length,a.indeterminate=n>0&&n<t.length)},ti=(e,t)=>{document.addEventListener("change",n=>{let a=j(n);if(!(a instanceof HTMLInputElement)||!a.matches('[data-ui="select-all"], [data-ui="row-select"], [data-ui="ket-table"][data-server="true"] input'))return;let r=a.closest('[data-ui="table"], [data-ui="ket-table"][data-server="true"] [data-ui="kt-grid"]');if(r){if(a.matches('[data-ui="select-all"], [data-ui="kt-select-all"]'))for(let o of r.querySelectorAll(':is([data-ui="row-select"], [data-ui="kt-row-select"]):not(:disabled)'))o.checked=a.checked;ei(r)}},{signal:e}),document.addEventListener("click",n=>{if(n.defaultPrevented||n.button!==0||n.metaKey||n.ctrlKey||n.shiftKey||n.altKey)return;let a=j(n);if(a?.closest('a, button, input, select, textarea, label, summary, details, [data-ui="select-cell"], [data-ui="kt-select-cell"]'))return;let o=a?.closest('[data-ui="row"][data-row-href], [data-ui="kt-row"][data-row-href]')?.getAttribute("data-row-href");o&&(n.preventDefault(),t.navigate(o))},{signal:e}),document.addEventListener("keydown",n=>{if(n.defaultPrevented||n.key!=="Enter"&&n.key!==" ")return;let a=j(n),o=(a?.matches(':is([data-ui="row"], [data-ui="kt-row"])[data-row-href][tabindex="0"]')?a:null)?.getAttribute("data-row-href");o&&(n.preventDefault(),Ve(o,t))},{signal:e})},fa=()=>[...document.querySelectorAll(Ge.split(", ").map(e=>`${e}[open]`).join(", "))],ai=e=>{document.addEventListener("click",t=>{let n=j(t)?.closest(Ge);for(let a of fa())a!==n&&!a.contains(n??null)&&a.removeAttribute("open")},{signal:e}),document.addEventListener("keydown",t=>{if(t.defaultPrevented||t.key!=="Escape")return;let n=fa();if(!n.length)return;let a=document.activeElement?.closest(Ge),r=a?.open?a:n.at(-1);r?.removeAttribute("open"),r?.querySelector("summary")?.focus(),t.preventDefault()},{signal:e})},ii=e=>{document.addEventListener("click",t=>{let n=j(t)?.closest('[data-ui="chrome-search-toggle"]'),a=n?.getAttribute("aria-controls");if(!n||!a)return;let r=document.getElementById(a);!(r instanceof HTMLDialogElement)||r.open||(r.showModal(),n.setAttribute("aria-expanded","true"),requestAnimationFrame(()=>r.querySelector('[data-presentation="modal"] [data-ui="chrome-search-input"]')?.focus()))},{signal:e}),document.addEventListener("cancel",t=>{j(t)?.matches('[data-ui="chrome-search-modal"]')&&t.preventDefault()},{capture:!0,signal:e}),document.addEventListener("close",t=>{let n=j(t);if(!(n instanceof HTMLDialogElement)||!n.matches('[data-ui="chrome-search-modal"]'))return;let a=document.querySelector(`[data-ui="chrome-search-toggle"][aria-controls="${CSS.escape(n.id)}"]`);a?.setAttribute("aria-expanded","false"),a?.focus()},{capture:!0,signal:e})},ni=["a[href]","button:not(:disabled)",'input:not(:disabled):not([type="hidden"])',"select:not(:disabled)","textarea:not(:disabled)",'[tabindex]:not([tabindex="-1"])'].join(", "),Re=()=>document.querySelector('[data-ui="modal-layer"][data-route-modal="true"]'),ba=e=>[...e.querySelectorAll(ni)].filter(t=>!t.hidden&&t.getAttribute("aria-hidden")!=="true"&&!t.matches('[data-ui="modal-backdrop"]')),Ve=(e,t)=>{t.navigate(e)},ri=(e,t)=>e.composedPath().some(n=>n instanceof HTMLElement&&n!==t&&n.matches('[data-ui="modal-layer"][data-presentation="dialog"]')),va=e=>{for(let t of e.querySelectorAll('input:not([type="hidden"])'))if(!t.disabled){if(t.type==="checkbox"||t.type==="radio"){if(t.checked!==t.defaultChecked)return!0}else if(t.value!==t.defaultValue)return!0}for(let t of e.querySelectorAll("textarea"))if(!t.disabled&&t.value!==t.defaultValue)return!0;for(let t of e.querySelectorAll("select"))if(!t.disabled){for(let n of t.options)if(n.selected!==n.defaultSelected)return!0}return!1},pa=e=>{if(!va(e))return!0;let t=e.getAttribute("data-unsaved-prompt");return t?ha.confirm(t):!0},oi=(e,t)=>{if(typeof EventSource!="function")return;let n=null,a=null,r=()=>{a?.close(),a=null,n=null},o=()=>{let S=document.querySelector('[data-ui="live-region"][data-stream]');if(S===n)return;r();let c=S instanceof HTMLElement?S.dataset.stream??"":"";if(!c)return;n=S,a=new EventSource(`/_ket/stream/${encodeURIComponent(c)}`);let f=()=>Ve(location.href,t);a.onmessage=f,a.addEventListener("done",()=>{r(),f()}),a.onerror=()=>{a?.readyState===EventSource.CLOSED&&r()}};o();let l=new MutationObserver(o);return l.observe(document.body,{childList:!0,subtree:!0}),addEventListener("pagehide",r,{signal:e}),()=>{l.disconnect(),r()}},li=(e,t)=>{let n=new WeakSet,a=()=>{let o=Re();!o||n.has(o)||(n.add(o),requestAnimationFrame(()=>{let l=o.querySelector('[data-ui="modal-sheet"]');(ba(o).find(c=>!c.matches('[data-ui="modal-close"]'))??l)?.focus()}))};a();let r=new MutationObserver(a);return r.observe(document.body,{childList:!0,subtree:!0}),document.addEventListener("click",o=>{let l=Re();if(!l)return;let S=o.composedPath().find(c=>c instanceof HTMLElement&&(c.matches('[data-ui="modal-close"], [data-ui="modal-backdrop"], a[data-ui="tab"]')||c.matches('a[data-ui="action"][href]')));!S||!l.contains(S)||pa(l)||(o.preventDefault(),o.stopPropagation())},{capture:!0,signal:e}),document.addEventListener("click",o=>{let l=document.querySelector("[data-save-before-navigation]"),S=l instanceof HTMLFormElement?l:l?.querySelector("form"),c=j(o)?.closest("a[href]");if(!l||!S||!c||Re()||!va(l)||(o.preventDefault(),o.stopPropagation(),!ha.confirm(l.dataset.saveBeforeNavigation)))return;let f=S.querySelector('input[name="returnTo"]');f||(f=document.createElement("input"),f.type="hidden",f.name="returnTo",S.append(f)),f.value=c.href,S.requestSubmit()},{capture:!0,signal:e}),document.addEventListener("keydown",o=>{let l=Re();if(!l||ri(o,l))return;if(o.key==="Escape"){let u=l.querySelector('[data-ui="modal-close"]');if(!u||(o.preventDefault(),!pa(l)))return;Ve(u.getAttribute("href")??u.href,t);return}if(o.key!=="Tab")return;let S=ba(l);if(!S.length)return;let c=S[0],f=S.at(-1);o.shiftKey&&document.activeElement===c?(o.preventDefault(),f.focus()):!o.shiftKey&&document.activeElement===f&&(o.preventDefault(),c.focus())},{signal:e}),()=>r.disconnect()},si=(e,t)=>{document.addEventListener("ket:records-changed",()=>{document.querySelector('[data-ket-slot="backend.content"]')&&t.navigate(location.href,{replace:!0})},{signal:e})},Xg=({navigation:e,lifetime:t})=>{document.addEventListener("ket:search-filter-navigate",S=>{let{id:c,href:f,signal:u,respondWith:P}=S.detail;P(e.navigate(f,{preserveContext:!0,fallback:"error",signal:u}).then(()=>{let H=matchMedia("(max-width: 640px)").matches?"search-filter-toggle":"search-filter-input";document.getElementById(c)?.querySelector(`[data-ui="${H}"]`)?.focus({preventScroll:!0})}))},{signal:t}),si(t,e);let n=Ke(document),a=st(t);ja(t),ti(t,e);let r=lt(document,t);ai(t),ii(t);let o=li(t,e),l=oi(t,e);return()=>{n(),r(),l?.(),o(),a()}};export{Xg as backendShell};
2
+ var lt=(e,t)=>{let n=c=>c.nodeType===3?!!c.textContent?.trim():c instanceof Element?c.matches('[data-ui="bulk-form"]')?!c.hidden:c.matches('[data-ui="inline"], [data-ui="list-page-tools"]')?[...c.childNodes].some(n):!0:!1,a=()=>{if(t.aborted)return;let c=new Set;for(let f of e.querySelectorAll('form[data-ui="bulk-form"]')){let u=[...f.elements].some(L=>L instanceof HTMLInputElement&&!L.disabled&&(L.matches('[data-ui="row-select"], [data-ui="kt-row-select"]')&&L.checked||L.type==="hidden"&&L.parentElement?.matches('[data-ui="kt-select-persisted"]')&&L.value==="1"));if(f.hidden=!u,!u)for(let L of f.querySelectorAll('details[data-ui="bulk-actions"][open]'))L.open=!1;let P=f.closest('[data-ui="list-page-tools"]');P&&c.add(P);let H=f.closest('[data-ui="list-page-actions"]');H&&c.add(H)}for(let f of c)f.hidden=![...f.childNodes].some(n)},r=!1,o=()=>{r||t.aborted||(r=!0,queueMicrotask(()=>{r=!1,a()}))};e.addEventListener("change",o,{signal:t}),e.addEventListener("reset",o,{signal:t});let l=new MutationObserver(o);l.observe(e,{subtree:!0,childList:!0,attributes:!0,attributeFilter:["checked","disabled","form"]});let S=()=>l.disconnect();return t.addEventListener("abort",S,{once:!0}),a(),S};function st(e){let t,n,a=0;async function r(c){let f=c.querySelector("input[type=email]"),u=c.querySelector("[data-email-status]");if(!f||!u)return;t?.abort(),clearTimeout(n);let P=++a,H=f.value.trim(),L=c.querySelector('button[type="submit"][name="step"]'),E=c.querySelector("[data-email-retry]"),N=(x,C)=>{u.textContent=x,L&&(L.disabled=!C),f.setAttribute("aria-invalid",String(!C)),c.dataset.emailAvailable=C?"true":"false"};if(E&&(E.hidden=!0),!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(H)){N(H?"Email ch\u01B0a \u0111\xFAng \u0111\u1ECBnh d\u1EA1ng.":"Nh\u1EADp email \u0111\u1EC3 ki\u1EC3m tra.",!1);return}N("\u0110ang ki\u1EC3m tra email\u2026",!1),n=setTimeout(async()=>{t=new AbortController;try{let x=await fetch(c.dataset.emailCheck,{method:"POST",cache:"no-store",headers:{"content-type":"application/x-www-form-urlencoded"},body:new URLSearchParams({email:H}),signal:AbortSignal.any([t.signal,AbortSignal.timeout(1e4)])});if(!x.ok)throw new Error("email-check-failed");let C=await x.json();if(P!==a||!c.isConnected)return;if(!C.ok)throw new Error("email-check-failed");N(C.available?"Email c\xF3 th\u1EC3 s\u1EED d\u1EE5ng.":"Email \u0111\xE3 \u0111\u01B0\u1EE3c s\u1EED d\u1EE5ng. Nh\u1EADp email kh\xE1c.",C.available)}catch{if(P!==a||!c.isConnected)return;N("Ch\u01B0a ki\u1EC3m tra \u0111\u01B0\u1EE3c email. Vui l\xF2ng th\u1EED l\u1EA1i.",!1),E&&(E.hidden=!1)}},400)}function o(c,f=!1){let u=c.querySelector('select[name="companyId"]'),P=c.querySelector('select[name="branchId"]'),H=c.querySelector('select[name="scopeKind"]')?.value;if(P&&u){f&&(P.value="");for(let x of P.options)x.value&&(x.hidden=x.dataset.companyId!==u.value,x.disabled=x.hidden)}let L=H==="tenant"?"tenant":H==="branch"?`branch:${u?.value}:${P?.value}`:`company:${u?.value}`;for(let x of c.querySelectorAll("[data-assigned-scopes]")){let $=JSON.parse(x.dataset.assignedScopes??"[]").includes(L);x.disabled=x.dataset.roleDisabled==="true"||$;let W=x.closest("[data-role-option]"),A=W?.querySelector("[data-role-assigned]"),_=W?.querySelector("[data-role-description]");A&&(A.hidden=!$),_&&(_.hidden=$),x.disabled&&(x.checked=!1)}let E=u?.closest('[data-ui="form-field"]'),N=P?.closest('[data-ui="form-field"]');E&&(E.hidden=H==="tenant"),N&&(N.hidden=H==="tenant"||H==="company")}function l(){for(let c of document.querySelectorAll("form[data-user-workflow]"))c.dataset.initialized||(c.dataset.initialized="true",o(c),r(c))}document.addEventListener("input",c=>{let f=c.target,u=f.closest("form[data-user-workflow]");if(u&&(f.type==="email"&&r(u),f.matches("[data-role-search]"))){let P=0;for(let L of u.querySelectorAll("[data-role-option]"))L.hidden=!L.textContent?.toLocaleLowerCase("vi").includes(f.value.toLocaleLowerCase("vi")),L.hidden||P++;let H=u.querySelector("[data-role-empty]");H&&(H.hidden=P>0)}},{signal:e}),document.addEventListener("change",c=>{let f=c.target,u=f.closest("form[data-user-workflow]");u&&f.matches('select[name="companyId"],select[name="branchId"],select[name="scopeKind"]')&&o(u,f.matches('select[name="companyId"]'))},{signal:e}),document.addEventListener("click",c=>{let u=c.target.closest("[data-email-retry]");u&&r(u.closest("form"))},{signal:e}),document.addEventListener("submit",c=>{let f=c.target;f.matches("form[data-user-workflow]")&&f.querySelector("input[type=email]")&&f.dataset.emailAvailable!=="true"&&c.preventDefault()},{signal:e});let S=new MutationObserver(l);return S.observe(document.documentElement,{childList:!0,subtree:!0}),l(),()=>{t?.abort(),clearTimeout(n),S.disconnect()}}import{each as mi}from"/_ket/view/index.js";import{Fragment as bi,jsx as fi,jsxs as pi}from"/_ket/view/jsx-runtime.js";var dt=["action","action-leading","action-label","action-spinner","action-group"];import{jsx as vi,jsxs as xi}from"/_ket/view/jsx-runtime.js";var ct=["badge","tag","tag-remove","count-badge","avatar","code","text","media-label","media-label-image","media-label-copy"];import{each as wi}from"/_ket/view/index.js";import{Fragment as Li,jsx as Ri,jsxs as Ci}from"/_ket/view/jsx-runtime.js";var ut=["notice","notice-mark","notice-copy","notice-title","notice-message","notice-actions","empty","empty-mark","empty-title","empty-message","empty-actions","loading","loading-label"];import{each as un}from"/_ket/view/index.js";import{each as Wi}from"/_ket/view/index.js";import{jsx as Hi,jsxs as Mi}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"];import{Fragment as Ai,jsx as Di,jsxs as Ii}from"/_ket/view/jsx-runtime.js";import{Fragment as Xi,jsx as Ni,jsxs as Ji}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 Qi,jsx as Zi,jsxs as ji}from"/_ket/view/jsx-runtime.js";var bt=["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"];import{each as rn}from"/_ket/view/index.js";import{Fragment as ln,jsx as sn}from"/_ket/view/jsx-runtime.js";import{jsx as bn,jsxs as pn}from"/_ket/view/jsx-runtime.js";var pt=["field","field-label","field-required","field-control","field-options","field-option","field-option-input","field-help","field-error"];import{each as vn}from"/_ket/view/index.js";import{jsx as Sn,jsxs as Tn}from"/_ket/view/jsx-runtime.js";var ht=["breadcrumbs","breadcrumb","breadcrumb-overflow","breadcrumb-overflow-trigger","breadcrumb-overflow-list","nav-list","nav-item","nav-item-leading","nav-item-label","nav-item-count","tabs","tab","tab-count","tabbed-view","tabbed-view-context","tab-panel"];import{jsx as Rn,jsxs as Ln}from"/_ket/view/jsx-runtime.js";var yt=["progress","progress-label","progress-value","progress-track","progress-bar"];import{each as En}from"/_ket/view/index.js";import{Fragment as On,jsx as Mn,jsxs as Fn}from"/_ket/view/jsx-runtime.js";var vt=["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 An,jsxs as Bn}from"/_ket/view/jsx-runtime.js";var xt=["popover","popover-trigger","popover-panel","popover-close"];import{jsx as qn,jsxs as Nn}from"/_ket/view/jsx-runtime.js";var St=["tooltip","tooltip-trigger","tooltip-content"];import{jsx as Vn}from"/_ket/view/jsx-runtime.js";var Tt=["dialog","confirm-dialog-message"];import{each as _n}from"/_ket/view/index.js";import{jsx as Zn,jsxs as Qn}from"/_ket/view/jsx-runtime.js";var wt=["toast-region","toast","toast-copy","toast-title","toast-message","toast-actions"];import{jsx as tr}from"/_ket/view/jsx-runtime.js";var kt=["spinner","visually-hidden"];import{each as nr}from"/_ket/view/index.js";import{jsx as or}from"/_ket/view/jsx-runtime.js";var Rt=["skeleton","skeleton-line"];import{each as dr,effect as cr,signal as ur}from"/_ket/view/index.js";import{jsx as fr,jsxs as gr}from"/_ket/view/jsx-runtime.js";var Lt=["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 hr,signal as yr}from"/_ket/view/index.js";import{jsx as xr,jsxs as Sr}from"/_ket/view/jsx-runtime.js";var Ct=["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 Rr,signal as Lr}from"/_ket/view/index.js";import{Fragment as Hr,jsx as Er,jsxs as Pr}from"/_ket/view/jsx-runtime.js";var Pt=["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 Ar,effect as Br,signal as Kr}from"/_ket/view/index.js";import{jsx as Or}from"/_ket/view/jsx-runtime.js";var Et=["formatted-date","formatted-number","formatted-money"];import{Fragment as Xr,jsx as Gr,jsxs as zr}from"/_ket/view/jsx-runtime.js";var Ft=["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 q=e=>{if(!/^\d{4}-\d{2}-\d{2}$/.test(e))return null;let[t,n,a]=e.split("-").map(Number);if(t<1||t>9999)return null;let r=new Date(0);return r.setUTCFullYear(t,n-1,a),r.setUTCHours(0,0,0,0),r.getUTCFullYear()===t&&r.getUTCMonth()===n-1&&r.getUTCDate()===a?r:null},Oe=e=>[String(e.getUTCFullYear()).padStart(4,"0"),String(e.getUTCMonth()+1).padStart(2,"0"),String(e.getUTCDate()).padStart(2,"0")].join("-"),ie=(e,t)=>{let n=q(e);if(!n)return"";n.setUTCDate(n.getUTCDate()+t);let a=Oe(n);return q(a)?a:""},ee=(e,t)=>{let n=q(e);if(!n)return"";let a=n.getUTCDate();n.setUTCDate(1),n.setUTCMonth(n.getUTCMonth()+t);let r=new Date(n);r.setUTCMonth(r.getUTCMonth()+1,0),n.setUTCDate(Math.min(a,r.getUTCDate()));let o=Oe(n);return q(o)?o:""},ne=e=>`${e.slice(0,7)}-01`,fe=e=>{let t=q(e);return t?(t.setUTCMonth(t.getUTCMonth()+1,0),Oe(t)):""};var De=(e,t)=>{if(!q(t))return null;if(e==="today")return[t,t];if(e==="yesterday"){let r=ie(t,-1);return r?[r,r]:null}if(e==="thisMonth")return[ne(t),fe(t)];if(e==="lastMonth"){let r=ee(t,-1);return r?[ne(r),fe(r)]:null}let n={last7:7,last30:30,last90:90}[e],a=n?ie(t,1-n):"";return a?[a,t]:null},Ot=(e,t="",n="")=>!!q(e)&&(!q(t)||e>=t)&&(!q(n)||e<=n),ce=(e,t)=>e<=t?[e,t]:[t,e],Ie=(e,t)=>{if(!q(e)||!q(t))return"";let n=(a,r=!0)=>`${a.slice(8,10)}/${a.slice(5,7)}${r?`/${a.slice(0,4)}`:""}`;return`${n(e,e.slice(0,4)!==t.slice(0,4))} \u2013 ${n(t)}`};var U=e=>{let t=q(e);if(!t)throw new RangeError(`Invalid civil date: ${e}`);return t},X=(e,t)=>{if(!Ot(t,e.min,e.max))return!1;let n=Number(e.step||1);if(e.step==="any"||!Number.isFinite(n)||n<=0)return!0;let a=q(e.min)??q(e.getAttribute("value")??"")??U("1970-01-01");return Math.abs((U(t).getTime()-a.getTime())/864e5/n%1)<1e-6},Te=new WeakMap,Dt=0,Ae="",It="",Da=e=>{let t=[],n=e;for(;n.parentElement;){let r=n.parentElement;for(let o of r.children){if(!(o instanceof HTMLElement)||o===n)continue;let l=Te.get(o)??{users:0,prior:o.inert};l.users++,Te.set(o,l),o.inert=!0,t.push(o)}if(r===document.body)break;n=r}let a=document.documentElement.style;return Dt++===0&&(Ae=a.overflow,It=a.getPropertyPriority("overflow"),a.setProperty("overflow","hidden")),()=>{for(let r of t){let o=Te.get(r);o&&--o.users===0&&(r.inert=o.prior,Te.delete(r))}--Dt===0&&(Ae?a.setProperty("overflow",Ae,It):a.removeProperty("overflow"))}},Ia=e=>{let t=e.querySelector('[data-ui="date-calendar"]'),n=e.querySelector('[name="kv-date-open"]'),a=[...e.querySelectorAll('[data-ui="date-inputs"] input[type="date"], [data-ui="date-boundary"]')];if(!(t instanceof HTMLElement)||!(n instanceof HTMLButtonElement)||!a.length||!("showPopover"in t))return()=>{};let r=t,o=n,l=e.dataset.dateMode==="range",S=e.dataset.dateLocale==="en"?"en-GB":"vi-VN",c=Number(e.dataset.dateWeekStart??1),f=JSON.parse(e.dataset.dateLabels??"{}"),u=r.querySelector('[data-ui="date-calendar-months"]'),P=r.querySelector('[data-ui="date-calendar-status"]'),H=r.querySelector('[value="apply"]'),L=e.querySelector('[data-ui="date-range-error"]'),E=a[1],N=a.map(s=>s.value),x=e.querySelector('input[type="text"]'),C=e.querySelector("select"),$=x instanceof HTMLInputElement?x:E,W=$?.getAttribute("aria-invalid"),A=$?.getAttribute("aria-describedby"),_=o,re=()=>{let s=new Date,d=`${s.getFullYear()}-${String(s.getMonth()+1).padStart(2,"0")}-${String(s.getDate()).padStart(2,"0")}`;return q(e.dataset.dateToday??"")?e.dataset.dateToday??d:d},be=new Intl.DateTimeFormat(S,{day:"numeric",month:"long",year:"numeric",timeZone:"UTC"}),oe=new Intl.DateTimeFormat(S,{day:"2-digit",month:"2-digit",year:"numeric",timeZone:"UTC"}),i=new Intl.DateTimeFormat(S,{month:"long",year:"numeric",timeZone:"UTC"}),h=new Intl.DateTimeFormat(S,{weekday:"short",timeZone:"UTC"}),m=re(),p="",y="",k="",g=[],M=()=>r.matches(":popover-open"),O=()=>window.innerWidth<768,G=null,z=()=>{M()&&O()?(G??=Da(r),r.setAttribute("aria-modal","true")):(G?.(),G=null,r.removeAttribute("aria-modal"))},T=()=>l?O()?12:2:1,v=s=>{let d=ne(s);return l&&O()&&ee(d,-2)||d},B=()=>{let s=u.getBoundingClientRect().top,d=[...u.children].find(b=>b.getBoundingClientRect().bottom>s+1);return d instanceof HTMLElement?d.dataset.dateMonth??p:p},R=()=>{if(!l||!O())return;let s=u.querySelector(`[data-date-month="${ne(y)}"]`);s instanceof HTMLElement&&(u.scrollTop+=s.getBoundingClientRect().top-u.getBoundingClientRect().top-parseFloat(getComputedStyle(u).paddingTop))},D=s=>{if(!O())return;let d=s.getBoundingClientRect(),b=u.getBoundingClientRect();d.top<b.top?u.scrollTop+=d.top-b.top:d.bottom>b.bottom&&(u.scrollTop+=d.bottom-b.bottom)},Y=()=>a.every(s=>!s.disabled&&!s.readOnly),pe=()=>!!g[0]&&X(a[0],g[0])&&(!l||!!g[1]&&g[0]<=g[1]&&X(E,g[1])),le=()=>{if(!E||!$)return!0;let s=a[0].value,d=E.value,b=!s&&!d,F=!a[0].disabled&&!E.disabled&&(b?a.some(K=>K.required):!X(a[0],s)||!X(E,d)||s>d);if(x instanceof HTMLInputElement&&(x.value=Ie(s,d)),L instanceof HTMLElement&&(L.hidden=!F,$.setAttribute("aria-describedby",[A,F?L.id:""].filter(Boolean).join(" "))),F?$.setAttribute("aria-invalid","true"):W?$.setAttribute("aria-invalid",W):$.removeAttribute("aria-invalid"),C instanceof HTMLSelectElement){C.disabled=!Y();let K=[...C.options].filter(w=>{let I=De(w.value,m);return w.disabled=!!I&&(!X(a[0],I[0])||!X(E,I[1])),I&&I[0]===s&&I[1]===d});C.value=(K.find(w=>w.value===k)??K[0])?.value??"custom"}return!F},Ue=s=>{let d=a.filter((b,F)=>b.value!==s[F]);a.forEach((b,F)=>{b.value=s[F]}),le();for(let b of[...d,...d.length&&x instanceof HTMLInputElement?[x]:[]])b.dispatchEvent(new Event("input",{bubbles:!0})),b.dispatchEvent(new Event("change",{bubbles:!0}))},Ce=(s="")=>{let[d,b]=l&&g[0]&&!g[1]&&s?ce(g[0],s):[g[0],g[1]??g[0]];for(let F of u.querySelectorAll("button[data-date]")){let K=F,w=K.dataset.date??"",I=K.parentElement,J=w===g[0]||w===g[1];K.dataset.selected=String(J),I&&(I.dataset.inRange=String(l&&!!d&&!!b&&w>=d&&w<=b),I.setAttribute("aria-selected",String(J||l&&!!d&&!!b&&w>=d&&w<=b)))}},he=()=>{if(!M()||O())return;let s=o.getBoundingClientRect(),d=parseFloat(getComputedStyle(r).scrollMarginTop),b=d;r.style.setProperty("--kv-date-max-height",`${Math.max(0,window.innerHeight-d*2)}px`);let F=r.getBoundingClientRect(),K=Math.max(d,Math.min(s.left+F.width<=window.innerWidth-d?s.left:s.right-F.width,window.innerWidth-F.width-d)),w=s.bottom+b,I=w+F.height<=window.innerHeight-d?w:Math.max(d,s.top-F.height-b);r.style.setProperty("--kv-date-left",`${K}px`),r.style.setProperty("--kv-date-top",`${I}px`)},ue=(s=!1)=>{let d=u.scrollTop;u.replaceChildren(),r.dataset.months=String(T());for(let F=0;F<T();F++){let K=ee(p,F);if(!K)continue;let w=document.createElement("section");w.dataset.ui="date-month",w.dataset.dateMonth=K;let I=document.createElement("h4");I.dataset.ui="date-month-title",I.id=`${r.id}-month-${F}`,I.textContent=i.format(U(K)),O()||I.setAttribute("aria-live","polite"),w.append(I);let J=document.createElement("table");J.dataset.ui="date-grid",J.setAttribute("role","grid"),J.setAttribute("aria-labelledby",I.id),l&&J.setAttribute("aria-multiselectable","true");let Q=J.createTHead().insertRow();for(let te=0;te<7;te++){let se=document.createElement("th");se.dataset.ui="date-weekday",se.scope="col",se.textContent=h.format(U(ie("2026-09-06",(te+c)%7))),Q.append(se)}let me=J.createTBody(),rt=(U(K).getUTCDay()-c+7)%7,ot=U(fe(K)).getUTCDate(),xa=O()?Math.ceil((rt+ot)/7):6;for(let te=0;te<xa;te++){let se=me.insertRow();for(let Pe=0;Pe<7;Pe++){let Ee=se.insertCell();Ee.dataset.ui="date-cell";let ve=te*7+Pe-rt+1;if(ve<1||ve>ot){Ee.setAttribute("aria-hidden","true");continue}let de=ie(K,ve-1),V=document.createElement("button");if(V.type="button",V.dataset.ui="date-day",V.dataset.date=de,V.textContent=String(ve),V.setAttribute("aria-label",be.format(U(de))),de===m&&V.setAttribute("aria-current","date"),l&&g[0]&&!g[1]){let[Sa,Ta]=ce(g[0],de);V.disabled=!X(a[0],Sa)||!X(E,Ta)}else V.disabled=!X(a[0],de);V.tabIndex=de===y&&!V.disabled?0:-1,Ee.append(V)}}w.append(J),u.append(w)}u.scrollTop=d;let b=u.querySelector('button[tabindex="0"]')??u.querySelector("button:not(:disabled)");b instanceof HTMLButtonElement&&(b.tabIndex=0,y=b.dataset.date??y,s&&(b.focus({preventScroll:!0}),D(b)));for(let F of["previous","next"]){let K=r.querySelector(`[value="${F}"]`);K.disabled=!ee(l&&O()?ne(y):p,F==="previous"?-1:l&&O()?1:T())}H.disabled=!pe(),P.textContent=g[0]?l&&!g[1]?`${oe.format(U(g[0]))} \xB7 ${f.chooseEnd}`:`${oe.format(U(g[0]))}${l?` \u2014 ${oe.format(U(g[1]))}`:""}`:l?f.chooseStart:f.chooseDate,Ce(s&&l&&g[0]&&!g[1]?y:""),he()},ye=(s=o)=>{if(!Y())return;_=s,m=re(),g=a.map(b=>q(b.value)?b.value:""),y=g[0]||m,q(a[0].min)&&y<a[0].min&&(y=a[0].min),q(a[0].max)&&y>a[0].max&&(y=a[0].max),p=v(y),ue(),r.showPopover(),z(),o.setAttribute("aria-expanded","true"),he(),R();let d=u.querySelector('button[tabindex="0"]');if(d instanceof HTMLElement)d.focus({preventScroll:!0}),D(d);else{let b=r.querySelector('[value="cancel"]');b instanceof HTMLElement&&b.focus()}},Z=(s=!1)=>{M()&&r.hidePopover(),z(),o.setAttribute("aria-expanded","false"),s&&_.isConnected&&_.focus({preventScroll:!0})},We=s=>{if(s.target===x&&x instanceof HTMLElement){M()?Z(!0):ye(x);return}let d=s.target instanceof Element?s.target.closest("button"):null;if(!(!(d instanceof HTMLButtonElement)||d.disabled)){if(d===o){M()?Z(!0):ye();return}if(!(!r.contains(d)||!Y())){if(d.dataset.date){let b=d.dataset.date;k="",g=l?g[0]&&!g[1]?ce(g[0],b):[b,""]:[b],y=b,ue(!0)}else if(d.name==="kv-date-command"){if(d.value==="cancel")Z(!0);else if(d.value==="apply"&&pe()){let b=[...g];Z(!0),Ue(b)}else if(d.value==="previous"||d.value==="next"){let b=ee(l&&O()?B():p,d.value==="previous"?-1:1);if(!b)return;y=b,p=l&&O()?v(b):b,ue(),R()}}}}},_e=s=>{if(!M()&&s.target===x&&x instanceof HTMLElement&&["Enter"," ","ArrowDown"].includes(s.key)){s.preventDefault(),ye(x);return}if(!M())return;if(s.key==="Escape"){s.preventDefault(),s.stopImmediatePropagation(),Z(!0);return}if(s.key==="Tab"&&O()){let J=[...r.querySelectorAll('button:not(:disabled):not([tabindex="-1"]), select:not(:disabled)')],Q=J[0],me=J.at(-1);if(s.shiftKey&&document.activeElement===Q&&me instanceof HTMLElement){s.preventDefault(),me.focus();return}if(!s.shiftKey&&document.activeElement===me&&Q instanceof HTMLElement){s.preventDefault(),Q.focus();return}}let d=s.target;if(!(d instanceof HTMLButtonElement)||!d.dataset.date)return;let b=d.dataset.date,F=(U(b).getUTCDay()-c+7)%7,K={ArrowLeft:-1,ArrowRight:1,ArrowUp:-7,ArrowDown:7,Home:-F,End:6-F},w=s.key in K?ie(b,K[s.key]):s.key==="PageUp"||s.key==="PageDown"?ee(b,(s.key==="PageUp"?-1:1)*(s.shiftKey?12:1)):"";if(!w)return;s.preventDefault();for(let J=0;J<366&&w;J++){let Q=l&&g[0]&&!g[1]?ce(g[0],w):[w];if(X(a[0],Q[0])&&(!Q[1]||X(E,Q[1])))break;w=ie(w,w<b?-1:1)}let I=l&&g[0]&&!g[1]?ce(g[0],w):[w];!w||!X(a[0],I[0])||I[1]&&!X(E,I[1])||(y=w,(w<p||w>fe(ee(p,T()-1)))&&(p=ne(w)),ue(!0))},Ye=s=>{let d=s.target;l&&g[0]&&!g[1]&&d instanceof HTMLButtonElement&&!d.disabled&&Ce(d.dataset.date)},Ze=()=>Ce(),Qe=()=>{z(),o.setAttribute("aria-expanded",String(M())),M()||(g=[])},je=s=>{M()&&s.target instanceof Node&&!r.contains(s.target)&&s.target!==o&&Z()},et=O(),tt=()=>{if(M()){let s=et!==O();s&&(p=v(y)),z(),ue(u.contains(document.activeElement)),s&&R()}et=O()},at=s=>{if(s.target===C&&C instanceof HTMLSelectElement&&Y()){m=re();let d=De(C.value,m);d&&X(a[0],d[0])&&X(E,d[1])?(k=C.value,Z(!0),Ue(d)):(le(),ye(C))}else le()},it=s=>{!le()&&!a[0].form?.noValidate&&!(s.submitter instanceof HTMLButtonElement&&s.submitter.formNoValidate)&&(s.preventDefault(),$?.focus())},nt=()=>{Z(),setTimeout(()=>{l&&a.forEach((s,d)=>{s.value=N[d]}),k="",le()})};return e.dataset.dateEnhanced="true",le(),e.addEventListener("click",We),e.addEventListener("keydown",_e),e.addEventListener("change",at),r.addEventListener("toggle",Qe),u.addEventListener("pointerover",Ye),u.addEventListener("pointerleave",Ze),document.addEventListener("focusin",je),window.addEventListener("resize",tt),window.addEventListener("scroll",he,!0),a[0].form?.addEventListener("reset",nt),a[0].form?.addEventListener("submit",it),()=>{Z(),delete e.dataset.dateEnhanced,e.removeEventListener("click",We),e.removeEventListener("keydown",_e),e.removeEventListener("change",at),r.removeEventListener("toggle",Qe),u.removeEventListener("pointerover",Ye),u.removeEventListener("pointerleave",Ze),document.removeEventListener("focusin",je),window.removeEventListener("resize",tt),window.removeEventListener("scroll",he,!0),a[0].form?.removeEventListener("reset",nt),a[0].form?.removeEventListener("submit",it),C instanceof HTMLSelectElement&&(C.disabled=!0)}},Be=new WeakMap,Aa=e=>{let t=Be.get(e);t||(t={users:0,cleanup:Ia(e)},Be.set(e,t));let n=t;return n.users++,()=>{--n.users===0&&(n.cleanup(),Be.delete(e))}},At=e=>{if(typeof HTMLElement>"u"||typeof Node>"u")return()=>{};let t=new Map,n=()=>{for(let[o,l]of t)o!==e&&!e.contains(o)&&(l(),t.delete(o));let r=[...e.querySelectorAll("[data-date-mode]")];e instanceof HTMLElement&&e.matches("[data-date-mode]")&&r.unshift(e);for(let o of r)o instanceof HTMLElement&&!t.has(o)&&t.set(o,Aa(o))};n();let a=typeof MutationObserver>"u"?null:new MutationObserver(n);return e instanceof Node&&a?.observe(e,{childList:!0,subtree:!0}),()=>{a?.disconnect();for(let r of t.values())r();t.clear()}};var Ba=["a[href]","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])","summary",'[tabindex]:not([tabindex="-1"])'].join(","),we=e=>[...e.querySelectorAll(Ba)].filter(t=>t instanceof HTMLElement&&!t.hidden&&t.getAttribute("aria-hidden")!=="true"&&(typeof t.checkVisibility!="function"||t.checkVisibility())),Ka=['[data-ui="timeframe-menu"]','[data-ui="view-settings"]'],Bt=Ka.map(e=>`${e}[open]`).join(", "),$a=e=>{let t=[],n=[...e.querySelectorAll('[data-ui="global-search-trigger"]')],a=[];for(let o of n){let l=[...e.querySelectorAll('[data-ui="global-search-dialog"]')].find(A=>A.id===o.getAttribute("aria-controls"));if(!(o instanceof HTMLElement)||!(l instanceof HTMLDialogElement))continue;let S=l.querySelector('[data-ui="global-search-input"]'),c=l.querySelector('[data-ui="global-search"]'),f=l.querySelector("template");if(!(S instanceof HTMLInputElement)||!(c instanceof HTMLElement)||!(f instanceof HTMLTemplateElement))continue;let u=f.content.querySelector('[data-ui="modal-layer"]'),P=f.content.querySelector('[data-ui="modal-body"]');if(!u||!P)continue;let H=()=>{l.append(c),f.content.append(u)},L=o.querySelector('[data-ui="global-search-shortcut"]');L instanceof HTMLElement&&(L.textContent=/Mac|iPhone|iPad/.test(navigator.platform)?"\u2318 K":"Ctrl K",L.hidden=!1);let E=()=>{if(o.closest("[inert]"))return!1;if(!l.open){if(e.querySelector('dialog[open], [data-ui="modal-layer"][data-route-modal="true"]'))return!1;l.append(u),P.append(c),l.showModal()}return o.setAttribute("aria-expanded","true"),S.focus(),S.select(),!0};a.push(E);let N=()=>{H(),o.setAttribute("aria-expanded","false"),o.isConnected&&o.focus()},x=A=>{A.button!==0||A.metaKey||A.ctrlKey||A.shiftKey||A.altKey||E()&&A.preventDefault()},C=A=>{A.target instanceof Element&&A.target.closest('[data-ui="modal-close"], [data-ui="modal-backdrop"]')&&l.close()},$=A=>{A.preventDefault(),A.stopPropagation(),l.close()},W=()=>l.close();o.addEventListener("click",x),l.addEventListener("click",C),l.addEventListener("cancel",$),l.addEventListener("close",N),l.addEventListener("submit",W),t.push(()=>{o.removeEventListener("click",x),l.removeEventListener("click",C),l.removeEventListener("cancel",$),l.removeEventListener("close",N),l.removeEventListener("submit",W),l.open&&l.close(),H()})}let r=o=>{(o.ctrlKey||o.metaKey)&&o.key.toLowerCase()==="k"&&!o.altKey&&!o.defaultPrevented&&a.some(l=>l())&&o.preventDefault()};return document.addEventListener("keydown",r),()=>{document.removeEventListener("keydown",r);for(let o of t)o()}},Ke=(e=document)=>{let t=At(e),n=$a(e),a=document.activeElement instanceof HTMLElement?document.activeElement:null,r=e.querySelector('[data-ui="modal-layer"][data-route-modal="true"] [role="dialog"]'),o=e.querySelector('[data-ui="app-shell"], [data-ui="shell"]'),l=o instanceof HTMLElement?o.inert:!1;if(r instanceof HTMLElement){o instanceof HTMLElement&&!o.contains(r)&&(o.inert=!0);let i=we(r)[0];(i instanceof HTMLElement?i:r).focus()}let S=[...e.querySelectorAll('[data-ui="menu"]')].filter(i=>i instanceof HTMLDetailsElement),c=i=>{let h=i.querySelector('[data-ui="menu-trigger"]');h instanceof HTMLElement&&h.setAttribute("aria-expanded",String(i.open))},f=S.map(i=>{let h=()=>c(i);return i.addEventListener("toggle",h),c(i),()=>i.removeEventListener("toggle",h)}),u=window.matchMedia("(max-width: 48rem)"),P=document.documentElement,H=P.dataset.kvNavigationOpen,L=[...e.querySelectorAll('[data-ui="app-navigation"]')].filter(i=>i instanceof HTMLDetailsElement),E=new Map,N=i=>{let h=E.get(i);if(h?.targets){for(let{element:m,inert:p}of h.targets)m.inert=p;h.targets=null}},x=()=>{u.matches&&L.some(h=>h.open)?P.dataset.kvNavigationOpen="true":H===void 0?delete P.dataset.kvNavigationOpen:P.dataset.kvNavigationOpen=H},C=i=>{let h=i.querySelector('[data-ui="navigation-trigger"]'),m=i.querySelector('[data-ui="navigation-drawer"]');if(!(h instanceof HTMLElement)||!(m instanceof HTMLElement))return;let p=u.matches;h.dataset.open=String(p&&i.open);for(let k of e.querySelectorAll('[data-ui="navigation-toggle"]'))k.getAttribute("aria-controls")===m.id&&k.setAttribute("aria-expanded",String(p&&i.open));if(!p){m.removeAttribute("role"),m.removeAttribute("aria-modal"),m.removeAttribute("aria-label"),N(i),x();return}if(m.setAttribute("role","dialog"),m.setAttribute("aria-modal","true"),m.setAttribute("aria-label",m.dataset.navigationLabel??"Navigation"),!i.open){N(i),x();return}let y=E.get(i)??{};if(!y.targets){let k=i.closest('[data-ui="app-shell"], [data-ui="shell"]'),g=k?[...k.querySelectorAll(':scope > [data-ui="app-main"], :scope > [data-ui="main"], :scope > [data-ui="app-right-rail"], :scope > [data-ui="app-shell-topbar"]')].filter(M=>M instanceof HTMLElement).map(M=>({element:M,inert:M.inert})):[];y.returnFocus=document.activeElement instanceof HTMLElement?document.activeElement:h;for(let{element:M}of g)M.inert=!0;y.targets=g,E.set(i,y),queueMicrotask(()=>{if(!i.open||!u.matches)return;let M=m.querySelector('[data-ui="navigation-item"][aria-current="page"]'),O=we(m)[0],G=M instanceof HTMLElement?M:O;(G instanceof HTMLElement?G:m).focus()})}x()},$=(i,h=!0)=>{let m=E.get(i);i.open=!1,C(i),h&&m?.returnFocus instanceof HTMLElement&&m.returnFocus.isConnected&&m.returnFocus.focus(),E.delete(i)},W=L.map(i=>{let h=()=>C(i),m=p=>{let y=p.target;if(!(y instanceof Element))return;let g=y.closest('[data-ui="navigation-branch-trigger"]')?.closest('[data-ui="navigation-branch"]');if(g instanceof HTMLDetailsElement&&g.open){p.preventDefault();return}!u.matches||!i.open||(y.closest('[data-ui="navigation-close"]')||y.closest('[data-ui="navigation-backdrop"]')||y.closest('[data-ui="navigation-item"]'))&&$(i)};return i.addEventListener("toggle",h),i.addEventListener("click",m),C(i),()=>{i.removeEventListener("toggle",h),i.removeEventListener("click",m),N(i)}}),A=()=>{for(let i of L)i.open?$(i,!1):C(i)};u.addEventListener("change",A);for(let i of e.querySelectorAll('[data-ui="popover"][data-open="true"]')){let h=i.querySelector('[data-ui="popover-trigger"]'),m=i.querySelector('[data-ui="popover-panel"]');if(!(h instanceof HTMLElement)||!(m instanceof HTMLElement))continue;let p=h.getBoundingClientRect(),y=8,k=i.getAttribute("data-placement")??"bottom-start",g=k.startsWith("top"),M=k.endsWith("end"),O=p.top-m.offsetHeight-y,G=p.bottom+y,z=O>=8,T=G+m.offsetHeight<=window.innerHeight-8,v=g?z||!T:!T&&z,B=M?p.right-m.offsetWidth:p.left,R=Math.max(8,Math.min(B,window.innerWidth-m.offsetWidth-8)),D=Math.max(8,Math.min(v?O:G,window.innerHeight-m.offsetHeight-8));m.dataset.runtimePositioned="true",m.dataset.runtimePlacement=`${v?"top":"bottom"}-${M?"end":"start"}`,m.style.left=`${Math.round(R)}px`,m.style.top=`${Math.round(D)}px`,m.style.right="auto",m.style.bottom="auto"}let _=i=>{let h=L.find(T=>u.matches&&T.open);if(h instanceof HTMLDetailsElement){let T=h.querySelector('[data-ui="navigation-drawer"]');if(i.key==="Escape"){$(h),i.preventDefault();return}if(i.key==="Tab"&&T instanceof HTMLElement){let v=we(T),B=v[0],R=v.at(-1);if(!v.length){i.preventDefault(),T.focus();return}if(i.shiftKey&&(document.activeElement===B||document.activeElement===T)){i.preventDefault(),R instanceof HTMLElement&&R.focus();return}if(!i.shiftKey&&document.activeElement===R){i.preventDefault(),B instanceof HTMLElement&&B.focus();return}}}let m=document.activeElement?.closest('[data-ui="tree"] [role="treeitem"]');if(m instanceof HTMLElement){let T=m.closest('[data-ui="tree"]'),v=T?[...T.querySelectorAll('[role="treeitem"]')].filter(D=>D instanceof HTMLElement):[],B=v.indexOf(m),R=-1;if(i.key==="ArrowDown")R=Math.min(v.length-1,B+1);else if(i.key==="ArrowUp")R=Math.max(0,B-1);else if(i.key==="Home")R=0;else if(i.key==="End")R=v.length-1;else if(i.key==="ArrowRight"){let D=Number(m.getAttribute("aria-level"));m.getAttribute("aria-expanded")==="true"&&Number(v[B+1]?.getAttribute("aria-level"))>D&&(R=B+1)}else if(i.key==="ArrowLeft"){let D=Number(m.getAttribute("aria-level"));D>1&&(R=v.findLastIndex((Y,pe)=>pe<B&&Number(Y.getAttribute("aria-level"))<D))}if(R>=0&&v[R]){for(let D of v)D.tabIndex=-1;v[R].tabIndex=0,v[R].focus(),i.preventDefault();return}}let p=document.activeElement?.closest('[data-ui="tree-grid-row"]');if(p instanceof HTMLElement){let T=p.closest('[data-ui="tree-grid"]'),v=T?[...T.querySelectorAll('[data-ui="tree-grid-row"]')].filter(D=>D instanceof HTMLElement):[],B=v.indexOf(p),R=i.key==="ArrowDown"?Math.min(v.length-1,B+1):i.key==="ArrowUp"?Math.max(0,B-1):i.key==="Home"?0:i.key==="End"?v.length-1:-1;if(R>=0&&v[R]){for(let D of v)D.tabIndex=-1;v[R].tabIndex=0,v[R].focus(),i.preventDefault();return}}let y=document.activeElement?.closest('[data-ui="menu"]');if(y instanceof HTMLDetailsElement&&!y.open){let T=y.querySelector('[data-ui="menu-trigger"]');if(document.activeElement===T&&(i.key==="ArrowDown"||i.key==="ArrowUp")){y.open=!0;let v=[...y.querySelectorAll('[role="menuitem"], [role="menuitemcheckbox"], [role="menuitemradio"]')].filter(R=>R instanceof HTMLElement&&R.getAttribute("aria-disabled")!=="true"),B=i.key==="ArrowUp"?v.at(-1):v[0];B instanceof HTMLElement&&B.focus(),i.preventDefault();return}}let k=document.activeElement?.closest('[data-ui="menu"][open]');if(k instanceof HTMLDetailsElement){let T=k.querySelector('[data-ui="menu-trigger"]'),v=[...k.querySelectorAll('[role="menuitem"], [role="menuitemcheckbox"], [role="menuitemradio"]')].filter(Y=>Y instanceof HTMLElement&&Y.getAttribute("aria-disabled")!=="true"),B=document.activeElement,R=B instanceof HTMLElement?v.indexOf(B):-1,D=-1;if(i.key==="ArrowDown"?D=R<0?0:(R+1)%v.length:i.key==="ArrowUp"?D=R<0?v.length-1:(R-1+v.length)%v.length:i.key==="Home"?D=0:i.key==="End"&&(D=v.length-1),D>=0&&v[D]instanceof HTMLElement){v[D].focus(),i.preventDefault();return}if((i.key==="Enter"||i.key===" ")&&document.activeElement===T){v[0]instanceof HTMLElement&&v[0].focus(),i.preventDefault();return}}if(i.key==="Escape"&&k instanceof HTMLDetailsElement){k.open=!1;let T=k.querySelector('[data-ui="menu-trigger"]');T instanceof HTMLElement&&T.focus(),i.preventDefault();return}let g=[...e.querySelectorAll(Bt)].at(-1);if(i.key==="Escape"&&g instanceof HTMLDetailsElement){g.open=!1;let T=g.querySelector("summary");T instanceof HTMLElement&&T.focus(),i.preventDefault();return}let M=document.activeElement?.closest('[data-ui="popover"][data-open="true"]');if(i.key==="Escape"&&M instanceof HTMLElement){let T=M.querySelector('[data-ui="popover-close"]');T instanceof HTMLElement&&T.click(),i.preventDefault();return}if(!(r instanceof HTMLElement))return;if(i.key==="Escape"){let T=r.querySelector('[data-ui="modal-close"]');T instanceof HTMLElement&&T.click(),i.preventDefault();return}if(i.key!=="Tab")return;let O=we(r);if(!O.length){i.preventDefault(),r.focus();return}let G=O[0],z=O.at(-1);i.shiftKey&&(document.activeElement===G||document.activeElement===r)?(i.preventDefault(),z instanceof HTMLElement&&z.focus()):!i.shiftKey&&document.activeElement===z&&(i.preventDefault(),G instanceof HTMLElement&&G.focus())},re=i=>{let h=[...i.querySelectorAll('[data-ui="row-select"]')].filter(k=>k instanceof HTMLInputElement&&!k.disabled),m=h.filter(k=>k.checked),p=i.querySelector('[data-ui="select-all"]');p instanceof HTMLInputElement&&(p.checked=h.length>0&&m.length===h.length,p.indeterminate=m.length>0&&m.length<h.length);for(let k of h)k.closest('[data-ui="row"]')?.toggleAttribute("data-selected",k.checked);let y=h[0]?.getAttribute("form");if(y)for(let k of document.querySelectorAll(`[data-ui="bulk-actions"][data-form="${CSS.escape(y)}"]`)){m.length?k.setAttribute("data-has-selection","true"):k.removeAttribute("data-has-selection");for(let g of k.querySelectorAll('[data-ui="bulk-count"]'))g.textContent=String(m.length);for(let g of k.querySelectorAll('[data-ui="bulk-action-list"] button'))g instanceof HTMLButtonElement&&g.dataset.kvAlwaysDisabled!=="true"&&(g.disabled=m.length===0)}},be=i=>{let h=i.target;if(!(h instanceof HTMLInputElement))return;let m=h.getAttribute("data-ui");if(m!=="select-all"&&m!=="row-select")return;let p=h.closest('[data-ui="table"]');if(p){if(m==="select-all")for(let y of p.querySelectorAll('[data-ui="row-select"]'))y instanceof HTMLInputElement&&!y.disabled&&(y.checked=h.checked);re(p)}};for(let i of e.querySelectorAll('[data-ui="table"]'))i.querySelector('[data-ui="row-select"]')&&re(i);document.addEventListener("change",be);let oe=i=>{let h=i.target;if(!(h instanceof Node))return;let m=h instanceof Element?h.closest('[data-ui="navigation-toggle"]'):null;if(m instanceof HTMLElement&&u.matches){let p=L.find(y=>y.querySelector('[data-ui="navigation-drawer"]')?.id===m.getAttribute("aria-controls"));p&&(p.open?$(p):(p.open=!0,C(p)));return}for(let p of e.querySelectorAll('[data-ui="menu"][open]')){if(!(p instanceof HTMLDetailsElement))continue;let y=h instanceof Element?h.closest('[data-ui="menu-item"]'):null;(!p.contains(h)||y&&y.getAttribute("aria-disabled")!=="true")&&(p.open=!1)}for(let p of e.querySelectorAll(Bt))p instanceof HTMLDetailsElement&&!p.contains(h)&&(p.open=!1)};return document.addEventListener("keydown",_),document.addEventListener("click",oe),()=>{n(),t(),document.removeEventListener("keydown",_),document.removeEventListener("click",oe),document.removeEventListener("change",be);for(let i of f)i();u.removeEventListener("change",A);for(let i of W)i();H===void 0?delete P.dataset.kvNavigationOpen:P.dataset.kvNavigationOpen=H,o instanceof HTMLElement&&(o.inert=l),a?.isConnected&&a.focus()}};import{jsx as jr,jsxs as eo}from"/_ket/view/jsx-runtime.js";import{jsx as ro,jsxs as oo}from"/_ket/view/jsx-runtime.js";var Kt=["switch-control","switch-track"];import{each as co}from"/_ket/view/index.js";import{Fragment as bo,jsx as go,jsxs as fo}from"/_ket/view/jsx-runtime.js";var $t=["combobox","combobox-input-row","combobox-toggle","combobox-listbox","combobox-option","combobox-empty","tag-picker"];import{Fragment as Ro,jsx as wo,jsxs as ko}from"/_ket/view/jsx-runtime.js";var qt=["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 Eo,jsxs as Ho}from"/_ket/view/jsx-runtime.js";var Nt=["file-upload","drop-zone","upload-status"];import{jsx as Do}from"/_ket/view/jsx-runtime.js";var Jt=["relation-picker"];import{each as Bo}from"/_ket/view/index.js";import{jsx as No,jsxs as Jo}from"/_ket/view/jsx-runtime.js";var Xt=["search-bar","filter-bar","applied-filters","applied-filter","saved-views","saved-view","view-settings","view-settings-options"];import{jsx as Vo,jsxs as Uo}from"/_ket/view/jsx-runtime.js";var Gt=["inline-edit","inline-edit-value","inline-edit-form","inline-edit-actions"];import{each as ol}from"/_ket/view/index.js";import{each as Qo}from"/_ket/view/index.js";import{Fragment as il,jsx as tl,jsxs as al}from"/_ket/view/jsx-runtime.js";var zt=["list-chrome","list-chrome-row","list-search","list-search-label","list-search-input","list-search-submit","list-filter-menus","list-facets","list-facet","list-facet-count","list-view-switch","list-view","list-sort","list-sort-label","list-sort-select","list-status","list-actions","bulk-actions","bulk-summary","bulk-count","bulk-action-list","pager-bar","pager-summary","pager-pages","pager-page","pager-actions","pager-link"];import{jsx as cl,jsxs as ul}from"/_ket/view/jsx-runtime.js";var Vt=["resource-list","resource-list-item","resource-list-select","resource-list-link"];import{each as fl}from"/_ket/view/index.js";import{jsx as pl,jsxs as hl}from"/_ket/view/jsx-runtime.js";var Ut=["data-grid-scroll","data-grid","data-grid-cap","data-grid-cell"];import{each as xl}from"/_ket/view/index.js";import{jsx as Tl,jsxs as wl}from"/_ket/view/jsx-runtime.js";var Wt=["tree","tree-item","tree-link","tree-grid","tree-grid-row"];import{each as Ll}from"/_ket/view/index.js";import{jsx as Pl,jsxs as El}from"/_ket/view/jsx-runtime.js";var _t=["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 Fl}from"/_ket/view/index.js";import{jsx as Dl,jsxs as Il}from"/_ket/view/jsx-runtime.js";var Yt=["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 Kl}from"/_ket/view/index.js";import{jsx as ql,jsxs as Nl}from"/_ket/view/jsx-runtime.js";var Zt=["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 Gl}from"/_ket/view/index.js";import{jsx as Ul,jsxs as Wl}from"/_ket/view/jsx-runtime.js";var Qt=["description-list","key-value","key-value-label","key-value-value","person","person-body","avatar-group","status"];import{each as Zl}from"/_ket/view/index.js";import{jsx as as,jsxs as is}from"/_ket/view/jsx-runtime.js";var ea=["record-summary","record-summary-main","record-actions","record-rail"];import{each as os}from"/_ket/view/index.js";import{jsx as cs,jsxs as us}from"/_ket/view/jsx-runtime.js";var ta=["activity-timeline","activity-item","activity-marker","audit-log","audit-item"];import{each as fs}from"/_ket/view/index.js";import{jsx as hs,jsxs as ys}from"/_ket/view/jsx-runtime.js";var aa=["attachments","attachment","media-gallery","media-item"];import{each as Ss}from"/_ket/view/index.js";import{Fragment as Rs,jsx as ws,jsxs as ks}from"/_ket/view/jsx-runtime.js";var ia=["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 Hs}from"/_ket/view/index.js";import{Fragment as As,jsx as Ds,jsxs as Is}from"/_ket/view/jsx-runtime.js";var na=["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"];import{Fragment as zs,jsx as Gs,jsxs as Vs}from"/_ket/view/jsx-runtime.js";var ra=["list-page","list-page-context","list-page-header","list-page-heading","list-page-title-row","list-page-eyebrow","list-page-title","list-page-description","list-page-actions","list-page-tools","list-page-toolbar","list-page-controls","list-page-status","list-page-body","list-page-footer"];import{jsx as Ys,jsxs as Zs}from"/_ket/view/jsx-runtime.js";var oa=["record-page","record-page-context","record-page-header","record-page-title-row","record-page-heading","record-page-title","record-page-subline","record-page-status","record-page-actions","record-page-meta","record-page-controller","record-page-navigation","record-page-layout","record-page-body","record-page-aside"];var la=["form-page","form-page-context","form-page-header","form-page-title-row","form-page-heading","form-page-title","form-page-subline","form-page-status","form-page-actions","form-page-meta","form-page-controller","form-page-navigation","form-page-layout","form-page-body","form-page-aside"];import{jsx as od,jsxs as ld}from"/_ket/view/jsx-runtime.js";var sa=["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 da=["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 pd}from"/_ket/view/index.js";import{jsx as yd,jsxs as vd}from"/_ket/view/jsx-runtime.js";var ca=["pipeline","pipeline-step","pipeline-arrow","pipeline-step-label","pipeline-step-value","pipeline-step-node"];import{each as kd}from"/_ket/view/index.js";import{jsx as Pd,jsxs as Ed}from"/_ket/view/jsx-runtime.js";var ua=["record-form","form-errors","form-grid","form-actions"];import{each as Bd}from"/_ket/view/index.js";import{jsx as Nd,jsxs as Jd}from"/_ket/view/jsx-runtime.js";var ma=["reorder-list","reorder-list-value","reorder-list-rows","reorder-list-row","reorder-list-content","reorder-list-controls"];var ga={actions:dt,feedback:ut,fields:pt,status:ct,navigation:ht,progress:yt,menu:vt,reorderList:ma,popover:xt,tooltip:St,dialog:Tt,toast:wt,spinner:kt,skeleton:Rt,lightbox:Ct,relationSelect:Lt,searchFilter:Pt,ketTable:Ft,scalarFields:Kt,combobox:$t,dateTime:qt,upload:Nt,relationPicker:Jt,listControls:Xt,inlineEdit:Gt,resourceList:Vt,dataGrid:Ut,tree:Wt,matrix:_t,barChart:Yt,timeframe:Zt,recordDisplay:Qt,formattedValues:Et,recordComposition:ea,activity:ta,media:aa,layouts:bt,shell:ft,appNavigation:ia,table:na,listChrome:zt,listPage:ra,formPage:la,recordPage:oa,dashboardPage:sa,boardPage:da,modal:mt,pipeline:ca,form:ua},_a=[...new Set(Object.values(ga).flat())].sort(),Ya=Object.freeze(Object.fromEntries(Object.entries(ga).map(([e,t])=>[e,[...t]])));var ze="ket.backend.theme",Ge=['[data-ui="search-menu"]','[data-ui="col-config"]','[data-ui="bulk-actions"]','[data-ui="viewer"]','[data-ui="record-more"]'].join(", "),ha=globalThis,j=e=>e.target instanceof Element?e.target:null,Le=e=>e==="light"||e==="dark"?e:null,Za=()=>{try{return Le(localStorage.getItem(ze))}catch{return null}},Qa=e=>{try{localStorage.setItem(ze,e)}catch{}},ya=()=>Le(document.documentElement.dataset.theme)??(matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),ke=()=>{let e=String(ya()==="dark");for(let t of document.querySelectorAll('[data-ui="sidebar-tools"] [data-ui="action"][name="theme"]'))t.setAttribute("aria-pressed",e)},ja=e=>{let t=Za();t&&(document.documentElement.dataset.theme=t),ke(),document.addEventListener("click",n=>{let a=j(n)?.closest('[data-ui="sidebar-tools"] [data-ui="action"][name="theme"]');if(!a||a.disabled)return;let r=ya()==="dark"?"light":"dark";document.documentElement.dataset.theme=r,Qa(r),ke()},{signal:e}),matchMedia("(prefers-color-scheme: dark)").addEventListener("change",()=>{Le(document.documentElement.dataset.theme)||ke()},{signal:e}),addEventListener("storage",n=>{if(n.key!==ze)return;let a=Le(n.newValue);a?document.documentElement.dataset.theme=a:delete document.documentElement.dataset.theme,ke()},{signal:e})},ei=e=>{let t=[...e.querySelectorAll(':is([data-ui="row-select"], [data-ui="kt-row-select"]):not(:disabled)')],n=t.filter(r=>r.checked).length,a=e.querySelector('[data-ui="select-all"], [data-ui="kt-select-all"]');a&&(a.checked=t.length>0&&n===t.length,a.indeterminate=n>0&&n<t.length)},ti=(e,t)=>{document.addEventListener("change",n=>{let a=j(n);if(!(a instanceof HTMLInputElement)||!a.matches('[data-ui="select-all"], [data-ui="row-select"], [data-ui="ket-table"][data-server="true"] input'))return;let r=a.closest('[data-ui="table"], [data-ui="ket-table"][data-server="true"] [data-ui="kt-grid"]');if(r){if(a.matches('[data-ui="select-all"], [data-ui="kt-select-all"]'))for(let o of r.querySelectorAll(':is([data-ui="row-select"], [data-ui="kt-row-select"]):not(:disabled)'))o.checked=a.checked;ei(r)}},{signal:e}),document.addEventListener("click",n=>{if(n.defaultPrevented||n.button!==0||n.metaKey||n.ctrlKey||n.shiftKey||n.altKey)return;let a=j(n);if(a?.closest('a, button, input, select, textarea, label, summary, details, [data-ui="select-cell"], [data-ui="kt-select-cell"]'))return;let o=a?.closest('[data-ui="row"][data-row-href], [data-ui="kt-row"][data-row-href]')?.getAttribute("data-row-href");o&&(n.preventDefault(),t.navigate(o))},{signal:e}),document.addEventListener("keydown",n=>{if(n.defaultPrevented||n.key!=="Enter"&&n.key!==" ")return;let a=j(n),o=(a?.matches(':is([data-ui="row"], [data-ui="kt-row"])[data-row-href][tabindex="0"]')?a:null)?.getAttribute("data-row-href");o&&(n.preventDefault(),Ve(o,t))},{signal:e})},fa=()=>[...document.querySelectorAll(Ge.split(", ").map(e=>`${e}[open]`).join(", "))],ai=e=>{document.addEventListener("click",t=>{let n=j(t)?.closest(Ge);for(let a of fa())a!==n&&!a.contains(n??null)&&a.removeAttribute("open")},{signal:e}),document.addEventListener("keydown",t=>{if(t.defaultPrevented||t.key!=="Escape")return;let n=fa();if(!n.length)return;let a=document.activeElement?.closest(Ge),r=a?.open?a:n.at(-1);r?.removeAttribute("open"),r?.querySelector("summary")?.focus(),t.preventDefault()},{signal:e})},ii=e=>{document.addEventListener("click",t=>{let n=j(t)?.closest('[data-ui="chrome-search-toggle"]'),a=n?.getAttribute("aria-controls");if(!n||!a)return;let r=document.getElementById(a);!(r instanceof HTMLDialogElement)||r.open||(r.showModal(),n.setAttribute("aria-expanded","true"),requestAnimationFrame(()=>r.querySelector('[data-presentation="modal"] [data-ui="chrome-search-input"]')?.focus()))},{signal:e}),document.addEventListener("cancel",t=>{j(t)?.matches('[data-ui="chrome-search-modal"]')&&t.preventDefault()},{capture:!0,signal:e}),document.addEventListener("close",t=>{let n=j(t);if(!(n instanceof HTMLDialogElement)||!n.matches('[data-ui="chrome-search-modal"]'))return;let a=document.querySelector(`[data-ui="chrome-search-toggle"][aria-controls="${CSS.escape(n.id)}"]`);a?.setAttribute("aria-expanded","false"),a?.focus()},{capture:!0,signal:e})},ni=["a[href]","button:not(:disabled)",'input:not(:disabled):not([type="hidden"])',"select:not(:disabled)","textarea:not(:disabled)",'[tabindex]:not([tabindex="-1"])'].join(", "),Re=()=>document.querySelector('[data-ui="modal-layer"][data-route-modal="true"]'),ba=e=>[...e.querySelectorAll(ni)].filter(t=>!t.hidden&&t.getAttribute("aria-hidden")!=="true"&&!t.matches('[data-ui="modal-backdrop"]')),Ve=(e,t)=>{t.navigate(e)},ri=(e,t)=>e.composedPath().some(n=>n instanceof HTMLElement&&n!==t&&n.matches('[data-ui="modal-layer"][data-presentation="dialog"]')),va=e=>{for(let t of e.querySelectorAll('input:not([type="hidden"])'))if(!t.disabled){if(t.type==="checkbox"||t.type==="radio"){if(t.checked!==t.defaultChecked)return!0}else if(t.value!==t.defaultValue)return!0}for(let t of e.querySelectorAll("textarea"))if(!t.disabled&&t.value!==t.defaultValue)return!0;for(let t of e.querySelectorAll("select"))if(!t.disabled){for(let n of t.options)if(n.selected!==n.defaultSelected)return!0}return!1},pa=e=>{if(!va(e))return!0;let t=e.getAttribute("data-unsaved-prompt");return t?ha.confirm(t):!0},oi=(e,t)=>{if(typeof EventSource!="function")return;let n=null,a=null,r=()=>{a?.close(),a=null,n=null},o=()=>{let S=document.querySelector('[data-ui="live-region"][data-stream]');if(S===n)return;r();let c=S instanceof HTMLElement?S.dataset.stream??"":"";if(!c)return;n=S,a=new EventSource(`/_ket/stream/${encodeURIComponent(c)}`);let f=()=>Ve(location.href,t);a.onmessage=f,a.addEventListener("done",()=>{r(),f()}),a.onerror=()=>{a?.readyState===EventSource.CLOSED&&r()}};o();let l=new MutationObserver(o);return l.observe(document.body,{childList:!0,subtree:!0}),addEventListener("pagehide",r,{signal:e}),()=>{l.disconnect(),r()}},li=(e,t)=>{let n=new WeakSet,a=()=>{let o=Re();!o||n.has(o)||(n.add(o),requestAnimationFrame(()=>{let l=o.querySelector('[data-ui="modal-sheet"]');(ba(o).find(c=>!c.matches('[data-ui="modal-close"]'))??l)?.focus()}))};a();let r=new MutationObserver(a);return r.observe(document.body,{childList:!0,subtree:!0}),document.addEventListener("click",o=>{let l=Re();if(!l)return;let S=o.composedPath().find(c=>c instanceof HTMLElement&&(c.matches('[data-ui="modal-close"], [data-ui="modal-backdrop"], a[data-ui="tab"]')||c.matches('a[data-ui="action"][href]')));!S||!l.contains(S)||pa(l)||(o.preventDefault(),o.stopPropagation())},{capture:!0,signal:e}),document.addEventListener("click",o=>{let l=document.querySelector("[data-save-before-navigation]"),S=l instanceof HTMLFormElement?l:l?.querySelector("form"),c=j(o)?.closest("a[href]");if(!l||!S||!c||Re()||!va(l)||(o.preventDefault(),o.stopPropagation(),!ha.confirm(l.dataset.saveBeforeNavigation)))return;let f=S.querySelector('input[name="returnTo"]');f||(f=document.createElement("input"),f.type="hidden",f.name="returnTo",S.append(f)),f.value=c.href,S.requestSubmit()},{capture:!0,signal:e}),document.addEventListener("keydown",o=>{let l=Re();if(!l||ri(o,l))return;if(o.key==="Escape"){let u=l.querySelector('[data-ui="modal-close"]');if(!u||(o.preventDefault(),!pa(l)))return;Ve(u.getAttribute("href")??u.href,t);return}if(o.key!=="Tab")return;let S=ba(l);if(!S.length)return;let c=S[0],f=S.at(-1);o.shiftKey&&document.activeElement===c?(o.preventDefault(),f.focus()):!o.shiftKey&&document.activeElement===f&&(o.preventDefault(),c.focus())},{signal:e}),()=>r.disconnect()},si=(e,t)=>{document.addEventListener("ket:records-changed",()=>{document.querySelector('[data-ket-slot="backend.content"]')&&t.navigate(location.href,{replace:!0})},{signal:e})},Xg=({navigation:e,lifetime:t})=>{document.addEventListener("ket:search-filter-navigate",S=>{let{id:c,href:f,signal:u,respondWith:P}=S.detail;P(e.navigate(f,{preserveContext:!0,fallback:"error",signal:u}).then(()=>{let H=matchMedia("(max-width: 640px)").matches?"search-filter-toggle":"search-filter-input";document.getElementById(c)?.querySelector(`[data-ui="${H}"]`)?.focus({preventScroll:!0})}))},{signal:t}),si(t,e);let n=Ke(document),a=st(t);ja(t),ti(t,e);let r=lt(document,t);ai(t),ii(t);let o=li(t,e),l=oi(t,e);return()=>{n(),r(),l?.(),o(),a()}};export{Xg as backendShell};