@tundralibs/ui 0.10.1 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/ui.js +8 -8
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -16,8 +16,8 @@ that plug straight into `Application.initialize`.
|
|
|
16
16
|
<!-- x-release-please-start-version -->
|
|
17
17
|
|
|
18
18
|
```html
|
|
19
|
-
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@tundralibs/ui@0.
|
|
20
|
-
<script src="https://cdn.jsdelivr.net/npm/@tundralibs/ui@0.
|
|
19
|
+
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@tundralibs/ui@0.11.0/dist/ui.css">
|
|
20
|
+
<script src="https://cdn.jsdelivr.net/npm/@tundralibs/ui@0.11.0/dist/ui.js" defer></script>
|
|
21
21
|
```
|
|
22
22
|
|
|
23
23
|
<!-- x-release-please-end -->
|
package/dist/ui.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
/*! @tundralibs/ui — MIT — https://github.com/TundraSoft/ui */
|
|
2
|
-
(()=>{const E=new WeakMap;function m(u){const r=u.getAttribute("data-target");if(!r)return u;try{return document.querySelector(r)}catch{return null}}function f(u){if(!u||u.nodeType!==1)return;u.removeAttribute("aria-busy"),delete u.dataset.busy;const r=E.get(u);r&&clearTimeout(r)}function c(u){const r=m(u);!r||r.hasAttribute("data-load")||(r.setAttribute("aria-busy","true"),r.dataset.busy="",E.set(r,setTimeout(()=>f(r),15e3)))}document.addEventListener("click",u=>{if(u.button!==0||u.metaKey||u.ctrlKey||u.shiftKey||u.altKey)return;const r=u.target.closest?.("[data-action]");if(!r||r.tagName==="FORM")return;const o=u.target.closest("a[href]");o&&o!==r&&r.contains(o)||c(r)}),document.addEventListener("submit",u=>{const r=u.target;r?.matches?.("form[data-action]")&&c(r)}),document.addEventListener("rapid:swapped",u=>f(u.target)),document.addEventListener("rapid:error",u=>{f(u.target),document.querySelectorAll("[data-busy]").forEach(f)})})(),(()=>{const A="ui-sidebar-collapsed",E="menu__sublist--flyout",m=()=>document.querySelectorAll(`.${E}`);function f(r){r.classList.remove(E,"is-open"),r.hidden=!0,r.style.removeProperty("left"),r.style.removeProperty("top"),r.querySelector(".menu__flyout-title")?.remove(),document.querySelector(`[data-toggle="#${CSS.escape(r.id)}"]`)?.setAttribute("aria-expanded","false")}const c=()=>m().forEach(f);function u(r,o,l){if(m().forEach(y=>y!==r&&f(y)),!r.querySelector(".menu__flyout-title")){const y=document.createElement("li");y.className="menu__flyout-title",y.textContent=o.querySelector(".menu__link-label")?.textContent?.trim()??"",r.prepend(y)}r.classList.add(E);const s=o.getBoundingClientRect(),t=l.getBoundingClientRect();r.style.left=`${t.right+4}px`,r.style.top=`${s.top}px`;const d=r.offsetHeight;s.top+d>innerHeight-8&&(r.style.top=`${Math.max(8,innerHeight-8-d)}px`)}try{localStorage.getItem(A)==="1"&&document.querySelectorAll(".sidebar").forEach(r=>{r.classList.add("sidebar--collapsed")})}catch{}document.addEventListener("click",r=>{const o=r.target.closest?.(".sidebar--collapsed .menu__link[data-toggle]");if(o){const l=o.closest(".sidebar"),s=document.querySelector(o.getAttribute("data-toggle"));if(!s||!l)return;setTimeout(()=>{s.hidden?f(s):u(s,o,l)},0);return}r.target.closest?.(`.${E}`)||c()}),document.addEventListener("keydown",r=>{if(r.key!=="Escape"||r.defaultPrevented||!m().length)return;const o=[...m()];c(),document.querySelector(`[data-toggle="#${CSS.escape(o[0].id)}"]`)?.focus(),r.preventDefault()}),addEventListener("scroll",c,{capture:!0,passive:!0}),addEventListener("resize",c,{passive:!0});try{localStorage.getItem(A)==="1"&&document.querySelectorAll(".sidebar").forEach(r=>{r.classList.add("sidebar--collapsed")})}catch{}document.addEventListener("click",r=>{const o=r.target.closest?.("[data-collapse]");if(!o)return;const l=o.getAttribute("data-collapse");if(!l||l==="#")return;const s=document.querySelector(l);if(!s)return;c();const t=s.classList.toggle("sidebar--collapsed");o.setAttribute("aria-expanded",String(!t));try{localStorage.setItem(A,t?"1":"0")}catch{}})})(),document.addEventListener("click",A=>{const E=A.target.closest("[data-dismiss]");E&&E.closest("[data-dismissible]")?.remove()}),document.documentElement.classList.add("js"),(()=>{function A(m){const f=m.querySelector("table");return f?[...f.querySelectorAll("tbody tr")]:[...m.querySelectorAll("[data-filter-item]")]}function E(m){const c=(m.querySelector("[data-table-search]")?.value||"").trim().toLowerCase(),u=[...m.querySelectorAll("[data-table-filter]")].filter(l=>!(l.type==="radio"||l.type==="checkbox")||l.checked).map(l=>l.value).filter(Boolean).map(l=>l.toLowerCase());let r=0;A(m).forEach(l=>{const s=l.textContent.toLowerCase(),t=(!c||s.includes(c))&&u.every(d=>s.includes(d));l.hidden=!t,t&&r++});const o=m.querySelector("[data-filter-empty]");o&&(o.hidden=r>0)}document.addEventListener("input",m=>{if(!m.target.matches("[data-table-search]"))return;const f=m.target.closest("[data-filter-scope]");f&&E(f)}),document.addEventListener("change",m=>{if(!m.target.matches("[data-table-filter]"))return;const f=m.target.closest("[data-filter-scope]");f&&E(f)})})(),(()=>{const A="ui-theme",E=document.documentElement;try{const m=localStorage.getItem(A);(m==="dark"||m==="light")&&(E.dataset.theme=m)}catch{}document.addEventListener("click",m=>{if(!m.target.closest("[data-theme-toggle]"))return;const c=matchMedia("(prefers-color-scheme: dark)").matches,r=(E.dataset.theme==="dark"||E.dataset.theme!=="light"&&c?"dark":"light")==="dark"?"light":"dark";E.dataset.theme=r;try{localStorage.setItem(A,r)}catch{}})})(),(()=>{const A=m=>m.hasAttribute("data-toggle-class");document.addEventListener("click",m=>{const f=m.target.closest?.("[data-toggle]");if(!f)return;const c=f.getAttribute("data-toggle"),u=c&&c!=="#"&&document.querySelector(c);if(!u)return;const r=f.getAttribute("aria-expanded")==="true";f.setAttribute("aria-expanded",String(!r)),A(f)||u.toggleAttribute("hidden",r),u.classList.toggle("is-open",!r)}),document.addEventListener("click",m=>{const f=m.target.closest?.("[data-toggle-close]");if(!f)return;const c=f.getAttribute("data-toggle-close"),u=c?document.querySelector(c):f.closest("[data-toggle-panel]");u&&E(u)}),document.addEventListener("keydown",m=>{m.key!=="Escape"||m.defaultPrevented||document.querySelectorAll("[data-toggle-class][aria-expanded='true']").forEach(f=>{const c=document.querySelector(f.getAttribute("data-toggle")??"");c&&(E(c),f.focus(),m.preventDefault())})});function E(m){m.classList.remove("is-open"),document.querySelectorAll('[data-toggle][aria-expanded="true"]').forEach(f=>{const c=f.getAttribute("data-toggle");c&&document.querySelector(c)===m&&(f.setAttribute("aria-expanded","false"),A(f)||m.setAttribute("hidden",""))})}})(),document.addEventListener("change",A=>{const E=A.target.closest?.("[data-view-target]");if(!E||E.type==="radio"&&!E.checked)return;const m=document.querySelector(E.getAttribute("data-view-target")??"");m&&m.setAttribute("data-view",E.value)}),(()=>{const A=[["amex",/^3[47]/,"Amex"],["visa",/^4/,"Visa"],["mastercard",/^(5[1-5]|2[2-7])/,"Mastercard"],["discover",/^6(011|5)/,"Discover"],["diners",/^3(0[0-5]|[68])/,"Diners"],["jcb",/^35/,"JCB"]],E=o=>o.replace(/\D/g,"");function m(o,l){return l==="amex"?[o.slice(0,4),o.slice(4,10),o.slice(10,15)].filter(Boolean).join(" "):o.match(/.{1,4}/g)?.join(" ")??""}function f(o){let l=0,s=!1;for(let t=o.length-1;t>=0;t--){let d=Number(o[t]);s&&(d*=2,d>9&&(d-=9)),l+=d,s=!s}return l%10===0}function c(o){const l=o.closest("[data-card-fields]"),s=E(o.value).slice(0,19),t=A.find(([,y])=>y.test(s)),d=m(s,t?.[0]);if(o.value!==d){const y=o.selectionEnd===o.value.length;o.value=d,y||o.setSelectionRange(d.length,d.length)}if(l){l.dataset.brand=t?.[0]??"";const y=l.querySelector("[data-card-brand]");y&&(y.textContent=s.length>=2?t?.[2]??"":"");const e=l.querySelector("[data-card-cvc]");if(e){const p=t?.[0]==="amex"?4:3;e.setAttribute("maxlength",String(p)),e.setAttribute("pattern",`[0-9]{${p}}`)}const a=s.length>=13,n=l.hasAttribute("data-luhn")&&a&&!f(s);o.setCustomValidity(n?o.getAttribute("data-msg-luhn")||"Check the card number":"")}}function u(o){let l=E(o.value).slice(0,4);l.length===1&&Number(l)>1&&(l=`0${l}`);const s=l.length>2?`${l.slice(0,2)}/${l.slice(2)}`:l;o.value!==s&&!(o.value===`${l}/`&&l.length===2)&&(o.value=s);let t="";if(l.length===4){const d=Number(l.slice(0,2)),y=2e3+Number(l.slice(2)),e=new Date,a=y<e.getFullYear()||y===e.getFullYear()&&d<e.getMonth()+1;d<1||d>12?t=o.getAttribute("data-msg-pattern")||"Enter MM/YY":a&&(t=o.getAttribute("data-msg-expired")||"This card has expired")}o.setCustomValidity(t)}document.addEventListener("input",o=>{const l=o.target;l?.matches?.("[data-card-number]")?c(l):l?.matches?.("[data-card-expiry]")?u(l):l?.matches?.("[data-card-cvc]")&&(l.value=E(l.value).slice(0,Number(l.getAttribute("maxlength"))||4))},!0);function r(){document.querySelectorAll("[data-card-number]").forEach(o=>o.value&&c(o)),document.querySelectorAll("[data-card-expiry]").forEach(o=>o.value&&u(o))}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",r):r(),document.addEventListener("rapid:swapped",r)})(),(()=>{const A="[data-chart]",E=new Set,m=globalThis.matchMedia?.("(prefers-color-scheme: dark)");function f(){const s=document.documentElement.dataset.theme;return s==="dark"||s==="light"?s:m?.matches?"dark":"light"}function c(){const s=getComputedStyle(document.documentElement).getPropertyValue("--font-family-base").trim();return{theme:{mode:f(),tokens:!0},chart:s?{fontFamily:s,background:"transparent"}:{background:"transparent"}}}function u(s){if(s.dataset.chartInitialized||typeof globalThis.ApexCharts>"u")return;const t=JSON.parse(s.dataset.chart||"{}"),d=c(),y={...t,theme:{...d.theme,...t.theme||{}},chart:{...d.chart,...t.chart||{}}},e=new globalThis.ApexCharts(s,y);s.dataset.chartInitialized="true",s.chart=e,E.add(s),e.render()}function r(s){s.chart&&(s.chart.destroy(),delete s.chart,delete s.dataset.chartInitialized,E.delete(s))}function o(){for(const s of E){if(!s.isConnected){r(s);continue}s.chart.refreshTokens?.(),s.chart.updateOptions(c(),!1,!0)}}const l=()=>document.querySelectorAll(A).forEach(u);l(),addEventListener("load",l),document.addEventListener("rapid:swapped",l),new MutationObserver(s=>{for(const t of s){for(const d of t.addedNodes)d.nodeType===1&&(d.matches?.(A)&&u(d),d.querySelectorAll?.(A).forEach(u));for(const d of t.removedNodes)d.nodeType===1&&(d.matches?.(A)&&r(d),d.querySelectorAll?.(A).forEach(r))}}).observe(document.documentElement,{childList:!0,subtree:!0}),new MutationObserver(o).observe(document.documentElement,{attributes:!0,attributeFilter:["data-theme"]}),m?.addEventListener?.("change",o)})(),document.addEventListener("click",A=>{const E=A.target.closest("[data-toggle]");if(!E)return;const m=E.closest("[data-accordion-group]");m&&m.querySelectorAll('[data-toggle][aria-expanded="true"]').forEach(f=>{if(f===E)return;const c=f.getAttribute("data-toggle"),u=c&&document.querySelector(c);f.setAttribute("aria-expanded","false"),u?.setAttribute("hidden",""),u?.classList.remove("is-open")})}),(()=>{const A="data-active",E='<svg width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg>',m=n=>n.querySelector("input[role='combobox']"),f=n=>Array.from(n.querySelectorAll('[role="option"]')).filter(p=>!p.hidden);function c(n){return f(n).findIndex(p=>p.hasAttribute(A))}function u(n){n.querySelectorAll(`[${A}]`).forEach(p=>p.removeAttribute(A)),m(n)?.removeAttribute("aria-activedescendant")}function r(n,p){const b=f(n);if(!b.length)return;const S=(p+b.length)%b.length;u(n),b[S].setAttribute(A,"");const g=m(n);g&&b[S].id&&g.setAttribute("aria-activedescendant",b[S].id);const k=b[S].closest(".combobox__list");if(!k)return;const _=b[S].offsetTop;_<k.scrollTop&&(k.scrollTop=_);const i=_+b[S].offsetHeight;i>k.scrollTop+k.clientHeight&&(k.scrollTop=i-k.clientHeight)}const o=n=>n.classList.contains("combobox--open");function l(n,p){const b=n.querySelector(".combobox__list"),S=m(n);b&&(b.hidden=!p),S&&S.setAttribute("aria-expanded",p?"true":"false"),n.classList.toggle("combobox--open",!!p),p||u(n)}function s(n){const p=m(n),b=n.querySelector(".combobox__list");if(!p||!b)return;const S=p.value.trim().toLowerCase();let g=0;n.querySelectorAll('[role="option"]').forEach(i=>{const h=i.querySelector(".combobox__option-label")?.textContent??i.textContent,v=!S||h.toLowerCase().includes(S);i.hidden=!v,v&&g++}),u(n),n.querySelectorAll(".combobox__group").forEach(i=>{let h=i.nextElementSibling,v=!1;for(;h&&!h.classList.contains("combobox__group")&&!h.classList.contains("combobox__hints");){if(h.matches('[role="option"]')&&!h.hidden){v=!0;break}h=h.nextElementSibling}i.hidden=!v});const k=n.querySelector(".combobox__count");k&&(k.textContent=g===1?"1 match":`${g} matches`);let _=b.querySelector(".combobox__empty");_||(_=document.createElement("div"),_.className="combobox__empty",_.textContent="No matches.",b.insertBefore(_,b.querySelector(".combobox__hints"))),_.hidden=g>0}const t=new WeakMap;function d(n){const p=m(n),b=p?.getAttribute("data-combobox-action"),S=p?.getAttribute("data-combobox-target");if(b&&S&&globalThis.rapid?.swap){clearTimeout(t.get(n)),t.set(n,setTimeout(()=>{const g=`${b}${b.includes("?")?"&":"?"}q=${encodeURIComponent(p.value.trim())}`;globalThis.rapid.swap(g,S).then(()=>u(n))},150));return}s(n)}function y(n,p){const b=m(n),S=n.querySelector("[data-combobox-value]"),g=(p.querySelector(".combobox__option-label")?.textContent??p.textContent).trim();b&&(b.value=g),S&&(S.value=p.getAttribute("data-value")??g),n.querySelectorAll('[role="option"]').forEach(k=>k.setAttribute("aria-selected",String(k===p))),l(n,!1),n.dispatchEvent(new CustomEvent("combobox:pick",{bubbles:!0,detail:{value:S?.value??g,label:g}}))}function e(n,p){const b=n.querySelector(".combobox__field"),S=m(n),g=p.getAttribute("data-value")??"",k=(p.querySelector(".combobox__option-label")?.textContent??p.textContent).trim(),_=n.getAttribute("data-combobox-name")??"";if(!b||!S||Array.from(b.querySelectorAll(".combobox__token input")).some(w=>w.value===g))return;const i=document.createElement("span");i.className="combobox__token",i.append(k);const h=document.createElement("button");h.type="button",h.className="combobox__token-remove",h.setAttribute("aria-label",`Remove ${k}`),h.setAttribute("data-combobox-remove",g),h.innerHTML=E;const v=document.createElement("input");v.type="hidden",v.name=_,v.value=g,i.append(h,v),b.insertBefore(i,S),p.setAttribute("aria-selected","true"),S.value="",d(n),S.focus()}function a(n,p){n.querySelectorAll(".combobox__token").forEach(b=>{b.querySelector("input")?.value===p&&b.remove()}),n.querySelectorAll(`[role="option"][data-value="${CSS.escape(p)}"]`).forEach(b=>b.setAttribute("aria-selected","false"))}document.addEventListener("keydown",n=>{const p=n.target.closest?.("[data-combobox]");if(p){if(n.key==="ArrowDown"||n.key==="ArrowUp")n.preventDefault(),l(p,!0),r(p,c(p)+(n.key==="ArrowDown"?1:-1));else if(n.key==="Enter"){const b=c(p),S=f(p);b>=0&&S[b]&&(n.preventDefault(),S[b].click())}else if(n.key==="Escape"){if(!o(p))return;n.preventDefault(),n.stopPropagation(),l(p,!1)}else if(n.key==="Backspace"&&p.classList.contains("combobox--multi")&&n.target.matches("input[role='combobox']")&&!n.target.value){const b=p.querySelector(".combobox__field .combobox__token:last-of-type input");b&&a(p,b.value)}}}),document.addEventListener("input",n=>{const p=n.target.closest?.("[data-combobox]");if(!p||!n.target.matches("input[role='combobox']"))return;const b=p.querySelector("[data-combobox-value]");b&&(b.value=""),d(p),l(p,!0)}),document.addEventListener("focusin",n=>{const p=n.target.closest?.("[data-combobox]");p&&n.target.matches("input[role='combobox']")&&l(p,!0)}),document.addEventListener("click",n=>{const p=n.target.closest?.("[data-combobox] .combobox__field");if(p&&!n.target.closest("input, button")){const g=p.closest("[data-combobox]"),k=m(g);k&&!k.disabled&&(o(g)?l(g,!1):(k.focus(),l(g,!0)));return}const b=n.target.closest?.("[data-combobox] [role='option']");if(b){if(b.getAttribute("aria-disabled")==="true")return;const g=b.closest("[data-combobox]");g.classList.contains("combobox--multi")?e(g,b):y(g,b);return}const S=n.target.closest?.("[data-combobox-remove]");if(S){const g=S.closest("[data-combobox]");g&&a(g,S.getAttribute("data-combobox-remove")??"");return}document.querySelectorAll("[data-combobox].combobox--open").forEach(g=>{n.target.closest?.("[data-combobox]")!==g&&l(g,!1)})})})(),(()=>{const A="data-active",E=new WeakMap,m=a=>a.querySelector(".command__input"),f=a=>Array.from(a.querySelectorAll('[role="option"]')).filter(n=>!n.hidden);function c(a){return f(a).findIndex(n=>n.hasAttribute(A))}function u(a){a.querySelectorAll(`[${A}]`).forEach(n=>n.removeAttribute(A)),m(a)?.removeAttribute("aria-activedescendant")}function r(a,n){const p=f(a);if(!p.length)return;const b=(n+p.length)%p.length;u(a),p[b].setAttribute(A,"");const S=m(a);S&&p[b].id&&S.setAttribute("aria-activedescendant",p[b].id);const g=p[b].closest(".command__list");if(!g)return;const k=p[b].offsetTop;k<g.scrollTop&&(g.scrollTop=k);const _=k+p[b].offsetHeight;_>g.scrollTop+g.clientHeight&&(g.scrollTop=_-g.clientHeight)}function o(a){const n=m(a),p=a.querySelector(".command__list");if(!n||!p)return;const b=n.value.trim().toLowerCase();let S=0;a.querySelectorAll('[role="option"]').forEach(_=>{const i=_.querySelector(".command__item-label")?.textContent??_.textContent,h=!b||i.toLowerCase().includes(b);_.hidden=!h,h&&S++}),u(a),a.querySelectorAll(".command__group").forEach(_=>{let i=_.nextElementSibling,h=!1;for(;i&&!i.classList.contains("command__group");){if(i.matches('[role="option"]')&&!i.hidden){h=!0;break}i=i.nextElementSibling}_.hidden=!h});const g=a.querySelector(".command__count");g&&(g.textContent=S===1?"1 result":`${S} results`);let k=p.querySelector(".command__empty");k||(k=document.createElement("div"),k.className="command__empty",k.textContent="Nothing matches that.",p.append(k)),k.hidden=S>0,S&&r(a,0)}const l=new WeakMap;function s(a){const n=m(a),p=n?.getAttribute("data-command-action"),b=n?.getAttribute("data-command-target");if(p&&b&&globalThis.rapid?.swap){clearTimeout(l.get(a)),l.set(a,setTimeout(()=>{const S=`${p}${p.includes("?")?"&":"?"}q=${encodeURIComponent(n.value.trim())}`;globalThis.rapid.swap(S,b).then(()=>{u(a),f(a).length&&r(a,0)})},150));return}o(a)}const t=a=>!a.classList.contains("command--inline");function d(a){if(!t(a))return;a.hidden=!0;const n=E.get(a);E.delete(a),n?.isConnected&&n.focus()}function y(a){const n=m(a);n&&n.value?(n.value="",n.dispatchEvent(new Event("input",{bubbles:!0}))):d(a)}function e(a,n){E.set(a,n??document.activeElement),a.hidden=!1,m(a)?.focus()}document.addEventListener("keydown",a=>{if(a.key==="k"&&(a.metaKey||a.ctrlKey)){const p=document.querySelector("[data-command]:not(.command--inline)");if(!p)return;a.preventDefault(),e(p);return}const n=a.target.closest?.("[data-command]");if(n){if(a.key==="ArrowDown"||a.key==="ArrowUp")a.preventDefault(),r(n,c(n)+(a.key==="ArrowDown"?1:-1));else if(a.key==="Enter"){const p=c(n),b=f(n);p>=0&&b[p]&&(a.preventDefault(),b[p].click())}else if(a.key==="Escape"){if(!t(n)&&!m(n)?.value)return;a.preventDefault(),a.stopPropagation(),y(n)}else if(a.key==="Tab"&&t(n)){const p=Array.from(n.querySelectorAll("input, button, a[href], [tabindex]:not([tabindex='-1'])")).filter(g=>!g.hidden&&g.offsetParent!==null);if(!p.length)return;const b=p[0],S=p[p.length-1];a.shiftKey&&document.activeElement===b?(a.preventDefault(),S.focus()):!a.shiftKey&&document.activeElement===S&&(a.preventDefault(),b.focus())}}}),document.addEventListener("input",a=>{const n=a.target.closest?.("[data-command]");n&&a.target.matches(".command__input")&&s(n)}),document.addEventListener("click",a=>{const n=a.target.closest?.("[data-command-open]");if(n){const g=n.getAttribute("data-command-open"),k=g?document.querySelector(g):document.querySelector("[data-command]:not(.command--inline)");k&&(a.preventDefault(),e(k,n));return}const p=a.target.closest?.("[data-command-dismiss]");if(p){const g=p.closest("[data-command]");g&&y(g);return}const b=a.target.closest?.("[data-command] [role='option']");if(b){const g=b.closest("[data-command]");g&&t(g)&&d(g);return}const S=a.target.closest?.("[data-command]:not(.command--inline)");S&&!a.target.closest(".command__sheet")&&d(S)})})(),(()=>{const A=new Map;function E(t){if(!t.id)return;const d=new Set;t.querySelectorAll("[data-select-row]:checked").forEach(y=>d.add(y.value)),A.set(t.id,d)}function m(t){const d=t.id&&A.get(t.id);d?.size&&t.querySelectorAll("[data-select-row]").forEach(y=>{d.has(y.value)&&c(y,!0)})}function f(t){const d=t.querySelector("[data-bulk-bar]"),y=t.querySelectorAll("[data-select-row]"),e=t.querySelectorAll("[data-select-row]:checked").length;if(d){d.hidden=e===0;const n=d.querySelector("[data-bulk-count]");n&&(n.textContent=e===1?"1 row selected":`${e} rows selected`)}const a=t.querySelector("[data-select-all]");a&&(a.checked=e>0&&e===y.length,a.indeterminate=e>0&&e<y.length)}function c(t,d){t.checked=d,t.closest("tr")?.classList.toggle("data-table__row--selected",d)}document.addEventListener("change",t=>{const d=t.target.closest?.(".data-table");if(d){if(t.target.matches("[data-select-all]"))d.querySelectorAll("[data-select-row]").forEach(y=>c(y,t.target.checked));else if(t.target.matches("[data-select-row]"))c(t.target,t.target.checked);else return;f(d),E(d)}}),document.addEventListener("click",t=>{const d=t.target.closest?.("[data-bulk-clear]");if(!d)return;const y=d.closest(".data-table");y&&(y.querySelectorAll("[data-select-row]").forEach(e=>c(e,!1)),f(y),E(y))});const u=()=>document.querySelectorAll(".data-table__row-actions:not([hidden])"),r=t=>document.querySelector(`[data-row-actions="#${CSS.escape(t.id)}"]`);function o(t){t.classList.remove("is-closing"),t.hidden=!0,t.style.removeProperty("max-width")}function l(t,d){const y=r(t);y?.setAttribute("aria-expanded","false"),d&&y?.focus(),!(t.hidden||t.classList.contains("is-closing"))&&(t.classList.add("is-closing"),getComputedStyle(t).animationName==="none"?o(t):t.addEventListener("animationend",()=>o(t),{once:!0}))}document.addEventListener("click",t=>{const d=t.target.closest?.("[data-row-actions]"),y=t.target.closest?.("[data-row-actions-close]");if(y){const e=y.closest(".data-table__row-actions");e&&l(e,!0);return}if(d){const e=document.querySelector(d.getAttribute("data-row-actions"));if(!e)return;e.classList.contains("is-closing")&&o(e);const a=e.hidden;if(u().forEach(n=>l(n,!1)),a){const n=e.closest(".data-table__scroll");if(n){const p=n.getBoundingClientRect().left,b=[...e.closest("tr").querySelectorAll("td.data-table__select, td.data-table__cell--pinned")].map(S=>S.getBoundingClientRect().right-p);e.style.maxWidth=`${n.clientWidth-Math.max(0,...b)}px`}e.hidden=!1,d.setAttribute("aria-expanded","true"),e.querySelector("a, button")?.focus()}return}u().forEach(e=>{e.contains(t.target)||l(e,!1)})}),document.addEventListener("keydown",t=>{if(t.key!=="Escape"||t.defaultPrevented)return;const d=t.target.closest?.(".data-table__row-actions");d&&(l(d,!0),t.preventDefault(),t.stopPropagation())});function s(t){document.querySelectorAll(".data-table").forEach(d=>{t&&m(d),f(d),E(d)})}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",()=>s(!1)):s(!1),document.addEventListener("rapid:swapped",t=>{const d=String(t.detail?.method??"get").toLowerCase();s(d==="get")})})(),(()=>{const A=["January","February","March","April","May","June","July","August","September","October","November","December"],E=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],m=e=>String(e).padStart(2,"0"),f=(e,a,n)=>`${e}-${m(a+1)}-${m(n)}`,c=e=>{const a=/^(\d{4})-(\d{2})-(\d{2})$/.exec(e??"");return a?`${Number(a[3])} ${E[Number(a[2])-1]} ${a[1]}`:""},u=()=>{const e=new Date;return f(e.getFullYear(),e.getMonth(),e.getDate())};function r(e,a,n){const p=e.querySelector(".datepicker__panel"),b=e.querySelector("[data-datepicker-trigger]");p&&(p.hidden=!a),e.classList.toggle("datepicker--open",!!a),b&&(b.setAttribute("aria-expanded",a?"true":"false"),!a&&n&&b.focus())}function o(e){return{range:e.hasAttribute("data-datepicker-range"),min:e.getAttribute("data-datepicker-min")||"",max:e.getAttribute("data-datepicker-max")||"",today:e.getAttribute("data-datepicker-today")||u(),start:e.querySelector("[data-datepicker-start]")?.value||"",end:e.querySelector("[data-datepicker-end]")?.value||""}}function l(e,a,n){const p=o(e),b=e.querySelector(".datepicker__days"),S=e.querySelector(".datepicker__month");if(!b)return;b.replaceChildren(),S&&(S.textContent=`${A[n]} ${a}`),e.setAttribute("data-datepicker-view",`${a}-${n}`);const g=new Date(a,n+1,0).getDate(),k=(new Date(a,n,1).getDay()+6)%7,_=new Date(a,n,0).getDate(),i=Math.ceil((k+g)/7)*7;for(let h=0;h<i;h++){const v=h-k+1;let w=a,x=n,C=v;v<1?(x=n-1,C=_+v,x<0&&(x=11,w--)):v>g&&(x=n+1,C=v-g,x>11&&(x=0,w++));const L=f(w,x,C),q=document.createElement("button");q.type="button",q.className="datepicker__day",(v<1||v>g)&&q.classList.add("datepicker__day--outside"),L===p.today&&(q.classList.add("datepicker__day--today"),q.setAttribute("aria-current","date")),p.start&&p.end&&L>p.start&&L<p.end&&q.classList.add("datepicker__day--in-range"),L===p.start&&q.classList.add("datepicker__day--start"),L===p.end&&q.classList.add("datepicker__day--end"),(L===p.start||L===p.end)&&q.setAttribute("aria-pressed","true"),(p.min&&L<p.min||p.max&&L>p.max)&&(q.disabled=!0),q.setAttribute("data-day",L),q.setAttribute("aria-label",`${C} ${A[x]} ${w}`),q.textContent=String(C),b.append(q)}}function s(e,a,n){const p={"prev-year":[a-1,n],prev:n===0?[a-1,11]:[a,n-1],next:n===11?[a+1,0]:[a,n+1],"next-year":[a+1,n]};e.querySelectorAll("button[data-month][data-nav]").forEach(b=>{const S=p[b.getAttribute("data-nav")];S&&b.setAttribute("data-month",`${S[0]}-${S[1]}`)})}function t(e){const a=e.getAttribute("data-datepicker-view");if(a){const[b,S]=a.split("-").map(Number);return[b,S]}const n=o(e),p=n.start||n.today;return[Number(p.slice(0,4)),Number(p.slice(5,7))-1]}function d(e,a){const n=o(e),p=e.querySelector("[data-datepicker-start]"),b=e.querySelector("[data-datepicker-end]"),S=e.querySelector("[data-datepicker-label]");let g=a,k="";n.range&&n.start&&!n.end&&a>=n.start&&(g=n.start,k=a),p&&(p.value=g),b&&(b.value=k),S&&(S.textContent=n.range?`${c(g)||"Start date"} \u2013 ${c(k)||"End date"}`:c(g)),p?.dispatchEvent(new Event("change",{bubbles:!0}));const[_,i]=t(e);l(e,_,i),(!n.range||k)&&r(e,!1,!0)}document.addEventListener("click",e=>{const a=e.target.closest?.("[data-datepicker-trigger]");if(a){const p=a.closest("[data-datepicker]"),b=p?.querySelector(".datepicker__panel");b&&r(p,b.hidden);return}const n=e.target.closest?.("[data-datepicker]");if(n&&!n.hasAttribute("data-datepicker-server")){const p=e.target.closest("button[data-day]");if(p&&!p.disabled){d(n,p.getAttribute("data-day"));return}const b=e.target.closest("button[data-month]");if(b){const[S,g]=b.getAttribute("data-month").split("-").map(Number);l(n,S,g),s(n,S,g);return}}document.querySelectorAll("[data-datepicker]:not(.datepicker--inline) .datepicker__panel:not([hidden])").forEach(p=>{const b=p.closest("[data-datepicker]");b!==n&&r(b,!1)})}),document.addEventListener("datepicker:refresh",e=>{const a=e.target?.closest?.("[data-datepicker]");if(!a||a.hasAttribute("data-datepicker-server"))return;const n=e.detail?.value;if(typeof n=="string"){const S=a.querySelector("[data-datepicker-start]"),g=a.querySelector("[data-datepicker-label]");S&&(S.value=n),g&&(g.textContent=c(n)||"Pick a date"),a.removeAttribute("data-datepicker-view")}const[p,b]=t(a);l(a,p,b),s(a,p,b)});function y(){document.querySelectorAll("[data-datepicker]:not([data-datepicker-server]) input.datepicker__native").forEach(e=>{if(e.type==="hidden")return;const a=e.value;e.type="hidden",e.value=a})}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",y):y(),document.addEventListener("rapid:swapped",y),document.addEventListener("keydown",e=>{if(e.key!=="Escape"||e.defaultPrevented)return;const a=e.target.closest?.("[data-datepicker]"),n=a?.querySelector(".datepicker__panel");!n||n.hidden||a.classList.contains("datepicker--inline")||(e.preventDefault(),r(a,!1,!0))})})(),(()=>{const A=t=>String(t).padStart(2,"0");function E(t){const d=t.querySelector("[data-timepicker]");return{date:t.querySelector("[data-datepicker]"),dateInput:t.querySelector("[data-datepicker-start]"),time:d,timeValue:d?.querySelector("[data-timepicker-value]"),hour:d?.querySelector("[data-segment='hour']"),whole:t.querySelector("[data-datetime-value]")}}const m=t=>t.hasAttribute("data-datetimepicker-local");function f(t,d){const y=new Date(d||"");if(!(!d||Number.isNaN(y.getTime())))return m(t)?{date:`${y.getFullYear()}-${A(y.getMonth()+1)}-${A(y.getDate())}`,time:`${A(y.getHours())}:${A(y.getMinutes())}`}:{date:`${y.getUTCFullYear()}-${A(y.getUTCMonth()+1)}-${A(y.getUTCDate())}`,time:`${A(y.getUTCHours())}:${A(y.getUTCMinutes())}`}}function c(t,d,y){if(!d||!y)return"";const e=new Date(`${d}T${y}:00${m(t)?"":"Z"}`);return Number.isNaN(e.getTime())?"":`${e.toISOString().slice(0,16)}:00Z`}const u=(t,d,y)=>y?t.setAttribute(d,y):t.removeAttribute(d);function r(t){const d=E(t);if(!d.time||!d.whole)return;const y=d.dateInput?.value||"",e=d.timeValue?.value||"",a=f(t,t.getAttribute("data-datetimepicker-min")),n=f(t,t.getAttribute("data-datetimepicker-max"));u(d.time,"data-timepicker-min",a&&y===a.date?a.time:""),u(d.time,"data-timepicker-max",n&&y===n.date?n.time:"");const p=t.hasAttribute("data-datetimepicker-required");let b="";!y&&(e||p)?b=t.getAttribute("data-msg-date")||"Pick a date.":y&&!e&&!p&&(b=d.hour?.getAttribute("data-msg-required")||"Enter a time."),u(d.time,"data-timepicker-error",b),d.time.dispatchEvent(new CustomEvent("timepicker:refresh",{bubbles:!0}));const S=c(t,y,e);d.whole.value!==S&&(d.whole.value=S,d.whole.dispatchEvent(new Event("change",{bubbles:!0})))}function o(t,d){const y=E(t),e=f(t,d);e&&(y.date?.dispatchEvent(new CustomEvent("datepicker:refresh",{bubbles:!0,detail:{value:e.date}})),y.time?.dispatchEvent(new CustomEvent("timepicker:refresh",{bubbles:!0,detail:{value:e.time}})),r(t))}document.addEventListener("change",t=>{if(!t.target?.matches?.("[data-datepicker-start], [data-timepicker-value]"))return;const d=t.target.closest("[data-datetimepicker]");d&&r(d)}),document.addEventListener("click",t=>{const d=t.target?.closest?.("[data-datetime-preset]"),y=d?.closest("[data-datetimepicker]");!y||d.disabled||o(y,d.getAttribute("data-datetime-preset"))});function l(t){if(t.hasAttribute("data-datetimepicker-ready"))return;t.setAttribute("data-datetimepicker-ready","");const d=E(t);if(d.whole){if(d.whole.disabled=!!d.timeValue?.disabled,m(t)){const y=f(t,t.getAttribute("data-datetimepicker-min")),e=f(t,t.getAttribute("data-datetimepicker-max"));d.date&&(u(d.date,"data-datepicker-min",y?.date??""),u(d.date,"data-datepicker-max",e?.date??""));const a=t.querySelector(".timepicker__zone");if(a&&t.getAttribute("data-datetimepicker-zone")==="auto"){const n=d.whole.value?new Date(d.whole.value):new Date,p=new Intl.DateTimeFormat(void 0,{timeZoneName:"short"}).formatToParts(n).find(b=>b.type==="timeZoneName")?.value;p&&(a.textContent=p)}d.whole.value?o(t,d.whole.value):d.date?.dispatchEvent(new CustomEvent("datepicker:refresh",{bubbles:!0}))}r(t)}}const s=()=>queueMicrotask(()=>document.querySelectorAll("[data-datetimepicker]").forEach(l));document.readyState==="loading"?document.addEventListener("DOMContentLoaded",s):s(),document.addEventListener("rapid:swapped",s)})(),(()=>{const A=()=>document.querySelectorAll(".dropdown__panel.is-open"),E=o=>document.querySelector(`[data-toggle="#${CSS.escape(o.id)}"]`),m=".data-table__scroll, [data-dropdown-clip]";function f(o,l){if(!l?.closest(m))return;const s=l.getBoundingClientRect();o.classList.add("dropdown__panel--fixed");const t=o.offsetWidth;let y=o.classList.contains("dropdown__panel--end")?s.right-t:s.left;y=Math.max(8,Math.min(y,innerWidth-t-8));let e=s.bottom+4;e+o.offsetHeight>innerHeight-8&&(e=Math.max(8,s.top-o.offsetHeight-4)),o.style.left=`${y}px`,o.style.top=`${e}px`}function c(o,l){o.setAttribute("hidden",""),o.classList.remove("is-open","dropdown__panel--fixed"),o.style.removeProperty("left"),o.style.removeProperty("top"),l?.setAttribute("aria-expanded","false")}document.addEventListener("click",o=>{A().forEach(l=>{const s=E(l);if(s?.contains(o.target)){l.classList.contains("dropdown__panel--fixed")||f(l,s);return}if(l.contains(o.target)){const t=o.target.closest("a[href], button, [data-action]");if(!t||t.hasAttribute("data-toggle"))return}c(l,s)})}),document.addEventListener("keydown",o=>{if(o.key!=="Escape"||o.defaultPrevented)return;const l=o.target.closest?.(".dropdown"),s=l?l.querySelectorAll(".dropdown__panel.is-open"):A();let t=!1;s.forEach(d=>{const y=E(d);c(d,y),y?.focus(),t=!0}),t&&o.preventDefault()});const u=o=>{const l=o.closest(m)?.getBoundingClientRect(),s=o.getBoundingClientRect();return!l||s.bottom>l.top&&s.top<l.bottom&&s.right>l.left&&s.left<l.right},r=()=>{document.querySelectorAll(".dropdown__panel--fixed.is-open").forEach(o=>{const l=E(o);l&&u(l)?f(o,l):c(o,l)})};addEventListener("scroll",r,{capture:!0,passive:!0}),addEventListener("resize",r,{passive:!0})})(),(()=>{for(const c of["dragenter","dragover"])document.addEventListener(c,u=>{const r=u.target.closest?.(".dropzone__area");r&&(u.preventDefault(),r.classList.add("dropzone__area--over"))});for(const c of["dragleave","drop"])document.addEventListener(c,u=>{u.target.closest?.(".dropzone__area")?.classList.remove("dropzone__area--over")});document.addEventListener("click",c=>{const u=c.target.closest?.("[data-dropzone-remove]");u&&u.closest(".dropzone__file")?.remove()});const A=c=>c<1024?`${c} B`:c<1024*1024?`${Math.round(c/1024)} KB`:`${(c/(1024*1024)).toFixed(1)} MB`;function E(c){const u=document.createElement("div");u.className="dropzone__file dropzone__file--pending";const r=document.createElement("span");r.className="dropzone__file-icon",r.textContent=(c.name.split(".").pop()||"").slice(0,4).toLowerCase();const o=document.createElement("span");o.className="dropzone__file-body";const l=document.createElement("span");l.className="dropzone__file-row";const s=document.createElement("span");s.className="dropzone__file-name",s.textContent=c.name;const t=document.createElement("span");t.className="dropzone__file-size",t.textContent=A(c.size),l.append(s,t);const d=document.createElement("progress");return d.className="dropzone__bar",d.max=100,d.setAttribute("aria-label",`Uploading ${c.name}`),o.append(l,d),u.append(r,o),u}const m=new Map;document.addEventListener("submit",c=>{const u=c.target;if(!u?.matches?.("form[data-action]"))return;const r=u.querySelector("[data-dropzone]"),o=r?.querySelector("input[type=file]");if(!r||!o?.files?.length)return;let l=r.querySelector(".dropzone__files");l||(l=document.createElement("div"),l.className="dropzone__files",r.append(l));const s=[...o.files].map(t=>{const d=E(t);return l.append(d),d});m.set(u.getAttribute("data-action"),{zone:r,rows:s})}),document.addEventListener("rapid:progress",c=>{const u=m.get(c.detail?.url);if(!u)return;const{loaded:r,total:o}=c.detail;for(const l of u.rows){const s=l.querySelector("progress");s&&(o>0?s.value=Math.min(100,Math.round(r/o*100)):s.removeAttribute("value"))}});const f=(c,u)=>{const r=c.detail?.url,o=r?m.get(r):void 0;if(o&&(m.delete(r),!!u))for(const l of o.rows){if(!l.isConnected)continue;l.classList.remove("dropzone__file--pending"),l.classList.add("dropzone__file--error"),l.querySelector("progress")?.remove();const s=document.createElement("span");s.className="dropzone__file-error",s.textContent="Upload failed",l.querySelector(".dropzone__file-body")?.append(s)}};document.addEventListener("rapid:swapped",c=>f(c,!1)),document.addEventListener("rapid:error",c=>f(c,!0))})(),(()=>{const A={bold:["**","**"],italic:["_","_"],strike:["~~","~~"],code:["`","`"]},E={heading:"## ",quote:"> ",ul:"- ",ol:"1. "},m={heading:"h2",quote:"blockquote",code:"pre"},f={bold:"bold",italic:"italic",underline:"underline",strike:"strikeThrough"},c={ul:"insertUnorderedList",ol:"insertOrderedList"},u=g=>g.querySelector(".editor__source"),r=g=>g.querySelector("[data-editor-surface]"),o=g=>g.getAttribute("data-editor-mode")==="html";function l(g,k,_,i,h,v){g.value=g.value.slice(0,k)+i+g.value.slice(_),g.setSelectionRange(k+h,k+v),g.focus(),g.dispatchEvent(new Event("input",{bubbles:!0}))}function s(g){const k=g.value.lastIndexOf(`
|
|
3
|
-
`,g.selectionStart-1)+1,
|
|
2
|
+
(()=>{const E=new WeakMap;function p(u){const r=u.getAttribute("data-target");if(!r)return u;try{return document.querySelector(r)}catch{return null}}function f(u){if(!u||u.nodeType!==1)return;u.removeAttribute("aria-busy"),delete u.dataset.busy;const r=E.get(u);r&&clearTimeout(r)}function d(u){const r=p(u);!r||r.hasAttribute("data-load")||(r.setAttribute("aria-busy","true"),r.dataset.busy="",E.set(r,setTimeout(()=>f(r),15e3)))}document.addEventListener("click",u=>{if(u.button!==0||u.metaKey||u.ctrlKey||u.shiftKey||u.altKey)return;const r=u.target.closest?.("[data-action]");if(!r||r.tagName==="FORM")return;const o=u.target.closest("a[href]");o&&o!==r&&r.contains(o)||d(r)}),document.addEventListener("submit",u=>{const r=u.target;r?.matches?.("form[data-action]")&&d(r)}),document.addEventListener("rapid:swapped",u=>f(u.target)),document.addEventListener("rapid:error",u=>{f(u.target),document.querySelectorAll("[data-busy]").forEach(f)})})(),(()=>{const A="ui-sidebar-collapsed",E="menu__sublist--flyout",p=()=>document.querySelectorAll(`.${E}`);function f(r){r.classList.remove(E,"is-open"),r.hidden=!0,r.style.removeProperty("left"),r.style.removeProperty("top"),r.querySelector(".menu__flyout-title")?.remove(),document.querySelector(`[data-toggle="#${CSS.escape(r.id)}"]`)?.setAttribute("aria-expanded","false")}const d=()=>p().forEach(f);function u(r,o,c){if(p().forEach(y=>y!==r&&f(y)),!r.querySelector(".menu__flyout-title")){const y=document.createElement("li");y.className="menu__flyout-title",y.textContent=o.querySelector(".menu__link-label")?.textContent?.trim()??"",r.prepend(y)}r.classList.add(E);const s=o.getBoundingClientRect(),a=c.getBoundingClientRect();r.style.left=`${a.right+4}px`,r.style.top=`${s.top}px`;const l=r.offsetHeight;s.top+l>innerHeight-8&&(r.style.top=`${Math.max(8,innerHeight-8-l)}px`)}try{localStorage.getItem(A)==="1"&&document.querySelectorAll(".sidebar").forEach(r=>{r.classList.add("sidebar--collapsed")})}catch{}document.addEventListener("click",r=>{const o=r.target.closest?.(".sidebar--collapsed .menu__link[data-toggle]");if(o){const c=o.closest(".sidebar"),s=document.querySelector(o.getAttribute("data-toggle"));if(!s||!c)return;setTimeout(()=>{s.hidden?f(s):u(s,o,c)},0);return}r.target.closest?.(`.${E}`)||d()}),document.addEventListener("keydown",r=>{if(r.key!=="Escape"||r.defaultPrevented||!p().length)return;const o=[...p()];d(),document.querySelector(`[data-toggle="#${CSS.escape(o[0].id)}"]`)?.focus(),r.preventDefault()}),addEventListener("scroll",d,{capture:!0,passive:!0}),addEventListener("resize",d,{passive:!0});try{localStorage.getItem(A)==="1"&&document.querySelectorAll(".sidebar").forEach(r=>{r.classList.add("sidebar--collapsed")})}catch{}document.addEventListener("click",r=>{const o=r.target.closest?.("[data-collapse]");if(!o)return;const c=o.getAttribute("data-collapse");if(!c||c==="#")return;const s=document.querySelector(c);if(!s)return;d();const a=s.classList.toggle("sidebar--collapsed");o.setAttribute("aria-expanded",String(!a));try{localStorage.setItem(A,a?"1":"0")}catch{}})})(),document.addEventListener("click",A=>{const E=A.target.closest("[data-dismiss]");E&&E.closest("[data-dismissible]")?.remove()}),document.documentElement.classList.add("js"),(()=>{function A(p){const f=p.querySelector("table");return f?[...f.querySelectorAll("tbody tr")]:[...p.querySelectorAll("[data-filter-item]")]}function E(p){const d=(p.querySelector("[data-table-search]")?.value||"").trim().toLowerCase(),u=[...p.querySelectorAll("[data-table-filter]")].filter(c=>!(c.type==="radio"||c.type==="checkbox")||c.checked).map(c=>c.value).filter(Boolean).map(c=>c.toLowerCase());let r=0;A(p).forEach(c=>{const s=c.textContent.toLowerCase(),a=(!d||s.includes(d))&&u.every(l=>s.includes(l));c.hidden=!a,a&&r++});const o=p.querySelector("[data-filter-empty]");o&&(o.hidden=r>0)}document.addEventListener("input",p=>{if(!p.target.matches("[data-table-search]"))return;const f=p.target.closest("[data-filter-scope]");f&&E(f)}),document.addEventListener("change",p=>{if(!p.target.matches("[data-table-filter]"))return;const f=p.target.closest("[data-filter-scope]");f&&E(f)})})(),(()=>{const A="ui-theme",E=document.documentElement;try{const p=localStorage.getItem(A);(p==="dark"||p==="light")&&(E.dataset.theme=p)}catch{}document.addEventListener("click",p=>{if(!p.target.closest("[data-theme-toggle]"))return;const d=matchMedia("(prefers-color-scheme: dark)").matches,r=(E.dataset.theme==="dark"||E.dataset.theme!=="light"&&d?"dark":"light")==="dark"?"light":"dark";E.dataset.theme=r;try{localStorage.setItem(A,r)}catch{}})})(),(()=>{const A=p=>p.hasAttribute("data-toggle-class");document.addEventListener("click",p=>{const f=p.target.closest?.("[data-toggle]");if(!f)return;const d=f.getAttribute("data-toggle"),u=d&&d!=="#"&&document.querySelector(d);if(!u)return;const r=f.getAttribute("aria-expanded")==="true";f.setAttribute("aria-expanded",String(!r)),A(f)||u.toggleAttribute("hidden",r),u.classList.toggle("is-open",!r)}),document.addEventListener("click",p=>{const f=p.target.closest?.("[data-toggle-close]");if(!f)return;const d=f.getAttribute("data-toggle-close"),u=d?document.querySelector(d):f.closest("[data-toggle-panel]");u&&E(u)}),document.addEventListener("keydown",p=>{p.key!=="Escape"||p.defaultPrevented||document.querySelectorAll("[data-toggle-class][aria-expanded='true']").forEach(f=>{const d=document.querySelector(f.getAttribute("data-toggle")??"");d&&(E(d),f.focus(),p.preventDefault())})});function E(p){p.classList.remove("is-open"),document.querySelectorAll('[data-toggle][aria-expanded="true"]').forEach(f=>{const d=f.getAttribute("data-toggle");d&&document.querySelector(d)===p&&(f.setAttribute("aria-expanded","false"),A(f)||p.setAttribute("hidden",""))})}})(),document.addEventListener("change",A=>{const E=A.target.closest?.("[data-view-target]");if(!E||E.type==="radio"&&!E.checked)return;const p=document.querySelector(E.getAttribute("data-view-target")??"");p&&p.setAttribute("data-view",E.value)}),(()=>{const A=[["amex",/^3[47]/,"Amex"],["visa",/^4/,"Visa"],["mastercard",/^(5[1-5]|2[2-7])/,"Mastercard"],["discover",/^6(011|5)/,"Discover"],["diners",/^3(0[0-5]|[68])/,"Diners"],["jcb",/^35/,"JCB"]],E=o=>o.replace(/\D/g,"");function p(o,c){return c==="amex"?[o.slice(0,4),o.slice(4,10),o.slice(10,15)].filter(Boolean).join(" "):o.match(/.{1,4}/g)?.join(" ")??""}function f(o){let c=0,s=!1;for(let a=o.length-1;a>=0;a--){let l=Number(o[a]);s&&(l*=2,l>9&&(l-=9)),c+=l,s=!s}return c%10===0}function d(o){const c=o.closest("[data-card-fields]"),s=E(o.value).slice(0,19),a=A.find(([,y])=>y.test(s)),l=p(s,a?.[0]);if(o.value!==l){const y=o.selectionEnd===o.value.length;o.value=l,y||o.setSelectionRange(l.length,l.length)}if(c){c.dataset.brand=a?.[0]??"";const y=c.querySelector("[data-card-brand]");y&&(y.textContent=s.length>=2?a?.[2]??"":"");const e=c.querySelector("[data-card-cvc]");if(e){const m=a?.[0]==="amex"?4:3;e.setAttribute("maxlength",String(m)),e.setAttribute("pattern",`[0-9]{${m}}`)}const n=s.length>=13,t=c.hasAttribute("data-luhn")&&n&&!f(s);o.setCustomValidity(t?o.getAttribute("data-msg-luhn")||"Check the card number":"")}}function u(o){let c=E(o.value).slice(0,4);c.length===1&&Number(c)>1&&(c=`0${c}`);const s=c.length>2?`${c.slice(0,2)}/${c.slice(2)}`:c;o.value!==s&&!(o.value===`${c}/`&&c.length===2)&&(o.value=s);let a="";if(c.length===4){const l=Number(c.slice(0,2)),y=2e3+Number(c.slice(2)),e=new Date,n=y<e.getFullYear()||y===e.getFullYear()&&l<e.getMonth()+1;l<1||l>12?a=o.getAttribute("data-msg-pattern")||"Enter MM/YY":n&&(a=o.getAttribute("data-msg-expired")||"This card has expired")}o.setCustomValidity(a)}document.addEventListener("input",o=>{const c=o.target;c?.matches?.("[data-card-number]")?d(c):c?.matches?.("[data-card-expiry]")?u(c):c?.matches?.("[data-card-cvc]")&&(c.value=E(c.value).slice(0,Number(c.getAttribute("maxlength"))||4))},!0);function r(){document.querySelectorAll("[data-card-number]").forEach(o=>o.value&&d(o)),document.querySelectorAll("[data-card-expiry]").forEach(o=>o.value&&u(o))}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",r):r(),document.addEventListener("rapid:swapped",r)})(),(()=>{const A="[data-chart]",E=new Set,p=globalThis.matchMedia?.("(prefers-color-scheme: dark)");function f(){const s=document.documentElement.dataset.theme;return s==="dark"||s==="light"?s:p?.matches?"dark":"light"}function d(){const s=getComputedStyle(document.documentElement).getPropertyValue("--font-family-base").trim();return{theme:{mode:f(),tokens:!0},chart:s?{fontFamily:s,background:"transparent"}:{background:"transparent"}}}function u(s){if(s.dataset.chartInitialized||typeof globalThis.ApexCharts>"u")return;const a=JSON.parse(s.dataset.chart||"{}"),l=d(),y={...a,theme:{...l.theme,...a.theme||{}},chart:{...l.chart,...a.chart||{}}},e=new globalThis.ApexCharts(s,y);s.dataset.chartInitialized="true",s.chart=e,E.add(s),e.render()}function r(s){s.chart&&(s.chart.destroy(),delete s.chart,delete s.dataset.chartInitialized,E.delete(s))}function o(){for(const s of E){if(!s.isConnected){r(s);continue}s.chart.refreshTokens?.(),s.chart.updateOptions(d(),!1,!0)}}const c=()=>document.querySelectorAll(A).forEach(u);c(),addEventListener("load",c),document.addEventListener("rapid:swapped",c),new MutationObserver(s=>{for(const a of s){for(const l of a.addedNodes)l.nodeType===1&&(l.matches?.(A)&&u(l),l.querySelectorAll?.(A).forEach(u));for(const l of a.removedNodes)l.nodeType===1&&(l.matches?.(A)&&r(l),l.querySelectorAll?.(A).forEach(r))}}).observe(document.documentElement,{childList:!0,subtree:!0}),new MutationObserver(o).observe(document.documentElement,{attributes:!0,attributeFilter:["data-theme"]}),p?.addEventListener?.("change",o)})(),document.addEventListener("click",A=>{const E=A.target.closest("[data-toggle]");if(!E)return;const p=E.closest("[data-accordion-group]");p&&p.querySelectorAll('[data-toggle][aria-expanded="true"]').forEach(f=>{if(f===E)return;const d=f.getAttribute("data-toggle"),u=d&&document.querySelector(d);f.setAttribute("aria-expanded","false"),u?.setAttribute("hidden",""),u?.classList.remove("is-open")})}),(()=>{const A="data-active",E='<svg width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg>',p=t=>t.querySelector("input[role='combobox']"),f=t=>Array.from(t.querySelectorAll('[role="option"]')).filter(m=>!m.hidden);function d(t){return f(t).findIndex(m=>m.hasAttribute(A))}function u(t){t.querySelectorAll(`[${A}]`).forEach(m=>m.removeAttribute(A)),p(t)?.removeAttribute("aria-activedescendant")}function r(t,m){const b=f(t);if(!b.length)return;const _=(m+b.length)%b.length;u(t),b[_].setAttribute(A,"");const g=p(t);g&&b[_].id&&g.setAttribute("aria-activedescendant",b[_].id);const k=b[_].closest(".combobox__list");if(!k)return;const S=b[_].offsetTop;S<k.scrollTop&&(k.scrollTop=S);const i=S+b[_].offsetHeight;i>k.scrollTop+k.clientHeight&&(k.scrollTop=i-k.clientHeight)}const o=t=>t.classList.contains("combobox--open");function c(t,m){const b=t.querySelector(".combobox__list"),_=p(t);b&&(b.hidden=!m),_&&_.setAttribute("aria-expanded",m?"true":"false"),t.classList.toggle("combobox--open",!!m),m||u(t)}function s(t){const m=p(t),b=t.querySelector(".combobox__list");if(!m||!b)return;const _=m.value.trim().toLowerCase();let g=0;t.querySelectorAll('[role="option"]').forEach(i=>{const h=i.querySelector(".combobox__option-label")?.textContent??i.textContent,v=!_||h.toLowerCase().includes(_);i.hidden=!v,v&&g++}),u(t),t.querySelectorAll(".combobox__group").forEach(i=>{let h=i.nextElementSibling,v=!1;for(;h&&!h.classList.contains("combobox__group")&&!h.classList.contains("combobox__hints");){if(h.matches('[role="option"]')&&!h.hidden){v=!0;break}h=h.nextElementSibling}i.hidden=!v});const k=t.querySelector(".combobox__count");k&&(k.textContent=g===1?"1 match":`${g} matches`);let S=b.querySelector(".combobox__empty");S||(S=document.createElement("div"),S.className="combobox__empty",S.textContent="No matches.",b.insertBefore(S,b.querySelector(".combobox__hints"))),S.hidden=g>0}const a=new WeakMap;function l(t){const m=p(t),b=m?.getAttribute("data-combobox-action"),_=m?.getAttribute("data-combobox-target");if(b&&_&&globalThis.rapid?.swap){clearTimeout(a.get(t)),a.set(t,setTimeout(()=>{const g=`${b}${b.includes("?")?"&":"?"}q=${encodeURIComponent(m.value.trim())}`;globalThis.rapid.swap(g,_).then(()=>u(t))},150));return}s(t)}function y(t,m){const b=p(t),_=t.querySelector("[data-combobox-value]"),g=(m.querySelector(".combobox__option-label")?.textContent??m.textContent).trim();b&&(b.value=g),_&&(_.value=m.getAttribute("data-value")??g),t.querySelectorAll('[role="option"]').forEach(k=>k.setAttribute("aria-selected",String(k===m))),c(t,!1),t.dispatchEvent(new CustomEvent("combobox:pick",{bubbles:!0,detail:{value:_?.value??g,label:g}}))}function e(t,m){const b=t.querySelector(".combobox__field"),_=p(t),g=m.getAttribute("data-value")??"",k=(m.querySelector(".combobox__option-label")?.textContent??m.textContent).trim(),S=t.getAttribute("data-combobox-name")??"";if(!b||!_||Array.from(b.querySelectorAll(".combobox__token input")).some(w=>w.value===g))return;const i=document.createElement("span");i.className="combobox__token",i.append(k);const h=document.createElement("button");h.type="button",h.className="combobox__token-remove",h.setAttribute("aria-label",`Remove ${k}`),h.setAttribute("data-combobox-remove",g),h.innerHTML=E;const v=document.createElement("input");v.type="hidden",v.name=S,v.value=g,i.append(h,v),b.insertBefore(i,_),m.setAttribute("aria-selected","true"),_.value="",l(t),_.focus()}function n(t,m){t.querySelectorAll(".combobox__token").forEach(b=>{b.querySelector("input")?.value===m&&b.remove()}),t.querySelectorAll(`[role="option"][data-value="${CSS.escape(m)}"]`).forEach(b=>b.setAttribute("aria-selected","false"))}document.addEventListener("keydown",t=>{const m=t.target.closest?.("[data-combobox]");if(m){if(t.key==="ArrowDown"||t.key==="ArrowUp")t.preventDefault(),c(m,!0),r(m,d(m)+(t.key==="ArrowDown"?1:-1));else if(t.key==="Enter"){const b=d(m),_=f(m);b>=0&&_[b]&&(t.preventDefault(),_[b].click())}else if(t.key==="Escape"){if(!o(m))return;t.preventDefault(),t.stopPropagation(),c(m,!1)}else if(t.key==="Backspace"&&m.classList.contains("combobox--multi")&&t.target.matches("input[role='combobox']")&&!t.target.value){const b=m.querySelector(".combobox__field .combobox__token:last-of-type input");b&&n(m,b.value)}}}),document.addEventListener("input",t=>{const m=t.target.closest?.("[data-combobox]");if(!m||!t.target.matches("input[role='combobox']"))return;const b=m.querySelector("[data-combobox-value]");b&&(b.value=""),l(m),c(m,!0)}),document.addEventListener("focusin",t=>{const m=t.target.closest?.("[data-combobox]");m&&t.target.matches("input[role='combobox']")&&!t.target.readOnly&&c(m,!0)}),document.addEventListener("focusout",t=>{const m=t.target?.closest?.("[data-combobox]"),b=t.relatedTarget;!m||!b||m.contains(b)||b.contains(m)||o(m)&&c(m,!1)}),document.addEventListener("click",t=>{const m=t.target.closest?.("label");if(m&&!t.target.closest("[data-combobox]")&&m.control?.closest("[data-combobox]"))return;document.querySelectorAll("[data-combobox].combobox--open").forEach(S=>{t.target.closest?.("[data-combobox]")!==S&&c(S,!1)});const b=t.target.closest?.("[data-combobox] input[role='combobox']");if(b&&!b.disabled){const S=b.closest("[data-combobox]");c(S,b.readOnly?!o(S):!0);return}const _=t.target.closest?.("[data-combobox] .combobox__field");if(_&&!t.target.closest("input, button")){const S=_.closest("[data-combobox]"),i=p(S);i&&!i.disabled&&(o(S)?c(S,!1):(i.focus(),c(S,!0)));return}const g=t.target.closest?.("[data-combobox] [role='option']");if(g){if(g.getAttribute("aria-disabled")==="true")return;const S=g.closest("[data-combobox]");S.classList.contains("combobox--multi")?e(S,g):y(S,g);return}const k=t.target.closest?.("[data-combobox-remove]");if(k){const S=k.closest("[data-combobox]");S&&n(S,k.getAttribute("data-combobox-remove")??"")}})})(),(()=>{const A="data-active",E=new WeakMap,p=n=>n.querySelector(".command__input"),f=n=>Array.from(n.querySelectorAll('[role="option"]')).filter(t=>!t.hidden);function d(n){return f(n).findIndex(t=>t.hasAttribute(A))}function u(n){n.querySelectorAll(`[${A}]`).forEach(t=>t.removeAttribute(A)),p(n)?.removeAttribute("aria-activedescendant")}function r(n,t){const m=f(n);if(!m.length)return;const b=(t+m.length)%m.length;u(n),m[b].setAttribute(A,"");const _=p(n);_&&m[b].id&&_.setAttribute("aria-activedescendant",m[b].id);const g=m[b].closest(".command__list");if(!g)return;const k=m[b].offsetTop;k<g.scrollTop&&(g.scrollTop=k);const S=k+m[b].offsetHeight;S>g.scrollTop+g.clientHeight&&(g.scrollTop=S-g.clientHeight)}function o(n){const t=p(n),m=n.querySelector(".command__list");if(!t||!m)return;const b=t.value.trim().toLowerCase();let _=0;n.querySelectorAll('[role="option"]').forEach(S=>{const i=S.querySelector(".command__item-label")?.textContent??S.textContent,h=!b||i.toLowerCase().includes(b);S.hidden=!h,h&&_++}),u(n),n.querySelectorAll(".command__group").forEach(S=>{let i=S.nextElementSibling,h=!1;for(;i&&!i.classList.contains("command__group");){if(i.matches('[role="option"]')&&!i.hidden){h=!0;break}i=i.nextElementSibling}S.hidden=!h});const g=n.querySelector(".command__count");g&&(g.textContent=_===1?"1 result":`${_} results`);let k=m.querySelector(".command__empty");k||(k=document.createElement("div"),k.className="command__empty",k.textContent="Nothing matches that.",m.append(k)),k.hidden=_>0,_&&r(n,0)}const c=new WeakMap;function s(n){const t=p(n),m=t?.getAttribute("data-command-action"),b=t?.getAttribute("data-command-target");if(m&&b&&globalThis.rapid?.swap){clearTimeout(c.get(n)),c.set(n,setTimeout(()=>{const _=`${m}${m.includes("?")?"&":"?"}q=${encodeURIComponent(t.value.trim())}`;globalThis.rapid.swap(_,b).then(()=>{u(n),f(n).length&&r(n,0)})},150));return}o(n)}const a=n=>!n.classList.contains("command--inline");function l(n){if(!a(n))return;n.hidden=!0;const t=E.get(n);E.delete(n),t?.isConnected&&t.focus()}function y(n){const t=p(n);t&&t.value?(t.value="",t.dispatchEvent(new Event("input",{bubbles:!0}))):l(n)}function e(n,t){E.set(n,t??document.activeElement),n.hidden=!1,p(n)?.focus()}document.addEventListener("keydown",n=>{if(n.key==="k"&&(n.metaKey||n.ctrlKey)){const m=document.querySelector("[data-command]:not(.command--inline)");if(!m)return;n.preventDefault(),e(m);return}const t=n.target.closest?.("[data-command]");if(t){if(n.key==="ArrowDown"||n.key==="ArrowUp")n.preventDefault(),r(t,d(t)+(n.key==="ArrowDown"?1:-1));else if(n.key==="Enter"){const m=d(t),b=f(t);m>=0&&b[m]&&(n.preventDefault(),b[m].click())}else if(n.key==="Escape"){if(!a(t)&&!p(t)?.value)return;n.preventDefault(),n.stopPropagation(),y(t)}else if(n.key==="Tab"&&a(t)){const m=Array.from(t.querySelectorAll("input, button, a[href], [tabindex]:not([tabindex='-1'])")).filter(g=>!g.hidden&&g.offsetParent!==null);if(!m.length)return;const b=m[0],_=m[m.length-1];n.shiftKey&&document.activeElement===b?(n.preventDefault(),_.focus()):!n.shiftKey&&document.activeElement===_&&(n.preventDefault(),b.focus())}}}),document.addEventListener("input",n=>{const t=n.target.closest?.("[data-command]");t&&n.target.matches(".command__input")&&s(t)}),document.addEventListener("click",n=>{const t=n.target.closest?.("[data-command-open]");if(t){const g=t.getAttribute("data-command-open"),k=g?document.querySelector(g):document.querySelector("[data-command]:not(.command--inline)");k&&(n.preventDefault(),e(k,t));return}const m=n.target.closest?.("[data-command-dismiss]");if(m){const g=m.closest("[data-command]");g&&y(g);return}const b=n.target.closest?.("[data-command] [role='option']");if(b){const g=b.closest("[data-command]");g&&a(g)&&l(g);return}const _=n.target.closest?.("[data-command]:not(.command--inline)");_&&!n.target.closest(".command__sheet")&&l(_)})})(),(()=>{const A=new Map;function E(a){if(!a.id)return;const l=new Set;a.querySelectorAll("[data-select-row]:checked").forEach(y=>l.add(y.value)),A.set(a.id,l)}function p(a){const l=a.id&&A.get(a.id);l?.size&&a.querySelectorAll("[data-select-row]").forEach(y=>{l.has(y.value)&&d(y,!0)})}function f(a){const l=a.querySelector("[data-bulk-bar]"),y=a.querySelectorAll("[data-select-row]"),e=a.querySelectorAll("[data-select-row]:checked").length;if(l){l.hidden=e===0;const t=l.querySelector("[data-bulk-count]");t&&(t.textContent=e===1?"1 row selected":`${e} rows selected`)}const n=a.querySelector("[data-select-all]");n&&(n.checked=e>0&&e===y.length,n.indeterminate=e>0&&e<y.length)}function d(a,l){a.checked=l,a.closest("tr")?.classList.toggle("data-table__row--selected",l)}document.addEventListener("change",a=>{const l=a.target.closest?.(".data-table");if(l){if(a.target.matches("[data-select-all]"))l.querySelectorAll("[data-select-row]").forEach(y=>d(y,a.target.checked));else if(a.target.matches("[data-select-row]"))d(a.target,a.target.checked);else return;f(l),E(l)}}),document.addEventListener("click",a=>{const l=a.target.closest?.("[data-bulk-clear]");if(!l)return;const y=l.closest(".data-table");y&&(y.querySelectorAll("[data-select-row]").forEach(e=>d(e,!1)),f(y),E(y))});const u=()=>document.querySelectorAll(".data-table__row-actions:not([hidden])"),r=a=>document.querySelector(`[data-row-actions="#${CSS.escape(a.id)}"]`);function o(a){a.classList.remove("is-closing"),a.hidden=!0,a.style.removeProperty("max-width")}function c(a,l){const y=r(a);y?.setAttribute("aria-expanded","false"),l&&y?.focus(),!(a.hidden||a.classList.contains("is-closing"))&&(a.classList.add("is-closing"),getComputedStyle(a).animationName==="none"?o(a):a.addEventListener("animationend",()=>o(a),{once:!0}))}document.addEventListener("click",a=>{const l=a.target.closest?.("[data-row-actions]"),y=a.target.closest?.("[data-row-actions-close]");if(y){const e=y.closest(".data-table__row-actions");e&&c(e,!0);return}if(l){const e=document.querySelector(l.getAttribute("data-row-actions"));if(!e)return;e.classList.contains("is-closing")&&o(e);const n=e.hidden;if(u().forEach(t=>c(t,!1)),n){const t=e.closest(".data-table__scroll");if(t){const m=t.getBoundingClientRect().left,b=[...e.closest("tr").querySelectorAll("td.data-table__select, td.data-table__cell--pinned")].map(_=>_.getBoundingClientRect().right-m);e.style.maxWidth=`${t.clientWidth-Math.max(0,...b)}px`}e.hidden=!1,l.setAttribute("aria-expanded","true"),e.querySelector("a, button")?.focus()}return}u().forEach(e=>{e.contains(a.target)||c(e,!1)})}),document.addEventListener("keydown",a=>{if(a.key!=="Escape"||a.defaultPrevented)return;const l=a.target.closest?.(".data-table__row-actions");l&&(c(l,!0),a.preventDefault(),a.stopPropagation())});function s(a){document.querySelectorAll(".data-table").forEach(l=>{a&&p(l),f(l),E(l)})}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",()=>s(!1)):s(!1),document.addEventListener("rapid:swapped",a=>{const l=String(a.detail?.method??"get").toLowerCase();s(l==="get")})})(),(()=>{const A=["January","February","March","April","May","June","July","August","September","October","November","December"],E=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],p=e=>String(e).padStart(2,"0"),f=(e,n,t)=>`${e}-${p(n+1)}-${p(t)}`,d=e=>{const n=/^(\d{4})-(\d{2})-(\d{2})$/.exec(e??"");return n?`${Number(n[3])} ${E[Number(n[2])-1]} ${n[1]}`:""},u=()=>{const e=new Date;return f(e.getFullYear(),e.getMonth(),e.getDate())};function r(e,n,t){const m=e.querySelector(".datepicker__panel"),b=e.querySelector("[data-datepicker-trigger]");m&&(m.hidden=!n),e.classList.toggle("datepicker--open",!!n),b&&(b.setAttribute("aria-expanded",n?"true":"false"),!n&&t&&b.focus())}function o(e){return{range:e.hasAttribute("data-datepicker-range"),min:e.getAttribute("data-datepicker-min")||"",max:e.getAttribute("data-datepicker-max")||"",today:e.getAttribute("data-datepicker-today")||u(),start:e.querySelector("[data-datepicker-start]")?.value||"",end:e.querySelector("[data-datepicker-end]")?.value||""}}function c(e,n,t){const m=o(e),b=e.querySelector(".datepicker__days"),_=e.querySelector(".datepicker__month");if(!b)return;b.replaceChildren(),_&&(_.textContent=`${A[t]} ${n}`),e.setAttribute("data-datepicker-view",`${n}-${t}`);const g=new Date(n,t+1,0).getDate(),k=(new Date(n,t,1).getDay()+6)%7,S=new Date(n,t,0).getDate(),i=Math.ceil((k+g)/7)*7;for(let h=0;h<i;h++){const v=h-k+1;let w=n,x=t,C=v;v<1?(x=t-1,C=S+v,x<0&&(x=11,w--)):v>g&&(x=t+1,C=v-g,x>11&&(x=0,w++));const L=f(w,x,C),q=document.createElement("button");q.type="button",q.className="datepicker__day",(v<1||v>g)&&q.classList.add("datepicker__day--outside"),L===m.today&&(q.classList.add("datepicker__day--today"),q.setAttribute("aria-current","date")),m.start&&m.end&&L>m.start&&L<m.end&&q.classList.add("datepicker__day--in-range"),L===m.start&&q.classList.add("datepicker__day--start"),L===m.end&&q.classList.add("datepicker__day--end"),(L===m.start||L===m.end)&&q.setAttribute("aria-pressed","true"),(m.min&&L<m.min||m.max&&L>m.max)&&(q.disabled=!0),q.setAttribute("data-day",L),q.setAttribute("aria-label",`${C} ${A[x]} ${w}`),q.textContent=String(C),b.append(q)}}function s(e,n,t){const m={"prev-year":[n-1,t],prev:t===0?[n-1,11]:[n,t-1],next:t===11?[n+1,0]:[n,t+1],"next-year":[n+1,t]};e.querySelectorAll("button[data-month][data-nav]").forEach(b=>{const _=m[b.getAttribute("data-nav")];_&&b.setAttribute("data-month",`${_[0]}-${_[1]}`)})}function a(e){const n=e.getAttribute("data-datepicker-view");if(n){const[b,_]=n.split("-").map(Number);return[b,_]}const t=o(e),m=t.start||t.today;return[Number(m.slice(0,4)),Number(m.slice(5,7))-1]}function l(e,n){const t=o(e),m=e.querySelector("[data-datepicker-start]"),b=e.querySelector("[data-datepicker-end]"),_=e.querySelector("[data-datepicker-label]");let g=n,k="";t.range&&t.start&&!t.end&&n>=t.start&&(g=t.start,k=n),m&&(m.value=g),b&&(b.value=k),_&&(_.textContent=t.range?`${d(g)||"Start date"} \u2013 ${d(k)||"End date"}`:d(g)),m?.dispatchEvent(new Event("change",{bubbles:!0}));const[S,i]=a(e);c(e,S,i),(!t.range||k)&&r(e,!1,!0)}document.addEventListener("click",e=>{const n=e.target.closest?.("[data-datepicker-trigger]");if(n){const m=n.closest("[data-datepicker]"),b=m?.querySelector(".datepicker__panel");b&&r(m,b.hidden);return}const t=e.target.closest?.("[data-datepicker]");if(t&&!t.hasAttribute("data-datepicker-server")){const m=e.target.closest("button[data-day]");if(m&&!m.disabled){l(t,m.getAttribute("data-day"));return}const b=e.target.closest("button[data-month]");if(b){const[_,g]=b.getAttribute("data-month").split("-").map(Number);c(t,_,g),s(t,_,g);return}}document.querySelectorAll("[data-datepicker]:not(.datepicker--inline) .datepicker__panel:not([hidden])").forEach(m=>{const b=m.closest("[data-datepicker]");b!==t&&r(b,!1)})}),document.addEventListener("datepicker:refresh",e=>{const n=e.target?.closest?.("[data-datepicker]");if(!n||n.hasAttribute("data-datepicker-server"))return;const t=e.detail?.value;if(typeof t=="string"){const _=n.querySelector("[data-datepicker-start]"),g=n.querySelector("[data-datepicker-label]");_&&(_.value=t),g&&(g.textContent=d(t)||"Pick a date"),n.removeAttribute("data-datepicker-view")}const[m,b]=a(n);c(n,m,b),s(n,m,b)});function y(){document.querySelectorAll("[data-datepicker]:not([data-datepicker-server]) input.datepicker__native").forEach(e=>{if(e.type==="hidden")return;const n=e.value;e.type="hidden",e.value=n})}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",y):y(),document.addEventListener("rapid:swapped",y),document.addEventListener("focusout",e=>{const n=e.target?.closest?.("[data-datepicker]:not(.datepicker--inline)"),t=e.relatedTarget;!n||!t||n.contains(t)||t.contains(n)||n.classList.contains("datepicker--open")&&r(n,!1)}),document.addEventListener("keydown",e=>{if(e.key!=="Escape"||e.defaultPrevented)return;const n=e.target.closest?.("[data-datepicker]"),t=n?.querySelector(".datepicker__panel");!t||t.hidden||n.classList.contains("datepicker--inline")||(e.preventDefault(),r(n,!1,!0))})})(),(()=>{const A=a=>String(a).padStart(2,"0");function E(a){const l=a.querySelector("[data-timepicker]");return{date:a.querySelector("[data-datepicker]"),dateInput:a.querySelector("[data-datepicker-start]"),time:l,timeValue:l?.querySelector("[data-timepicker-value]"),hour:l?.querySelector("[data-segment='hour']"),whole:a.querySelector("[data-datetime-value]")}}const p=a=>a.hasAttribute("data-datetimepicker-local");function f(a,l){const y=new Date(l||"");if(!(!l||Number.isNaN(y.getTime())))return p(a)?{date:`${y.getFullYear()}-${A(y.getMonth()+1)}-${A(y.getDate())}`,time:`${A(y.getHours())}:${A(y.getMinutes())}`}:{date:`${y.getUTCFullYear()}-${A(y.getUTCMonth()+1)}-${A(y.getUTCDate())}`,time:`${A(y.getUTCHours())}:${A(y.getUTCMinutes())}`}}function d(a,l,y){if(!l||!y)return"";const e=new Date(`${l}T${y}:00${p(a)?"":"Z"}`);return Number.isNaN(e.getTime())?"":`${e.toISOString().slice(0,16)}:00Z`}const u=(a,l,y)=>y?a.setAttribute(l,y):a.removeAttribute(l);function r(a){const l=E(a);if(!l.time||!l.whole)return;const y=l.dateInput?.value||"",e=l.timeValue?.value||"",n=f(a,a.getAttribute("data-datetimepicker-min")),t=f(a,a.getAttribute("data-datetimepicker-max"));u(l.time,"data-timepicker-min",n&&y===n.date?n.time:""),u(l.time,"data-timepicker-max",t&&y===t.date?t.time:"");const m=a.hasAttribute("data-datetimepicker-required");let b="";!y&&(e||m)?b=a.getAttribute("data-msg-date")||"Pick a date.":y&&!e&&!m&&(b=l.hour?.getAttribute("data-msg-required")||"Enter a time."),u(l.time,"data-timepicker-error",b),l.time.dispatchEvent(new CustomEvent("timepicker:refresh",{bubbles:!0}));const _=d(a,y,e);l.whole.value!==_&&(l.whole.value=_,l.whole.dispatchEvent(new Event("change",{bubbles:!0})))}function o(a,l){const y=E(a),e=f(a,l);e&&(y.date?.dispatchEvent(new CustomEvent("datepicker:refresh",{bubbles:!0,detail:{value:e.date}})),y.time?.dispatchEvent(new CustomEvent("timepicker:refresh",{bubbles:!0,detail:{value:e.time}})),r(a))}document.addEventListener("change",a=>{if(!a.target?.matches?.("[data-datepicker-start], [data-timepicker-value]"))return;const l=a.target.closest("[data-datetimepicker]");l&&r(l)}),document.addEventListener("click",a=>{const l=a.target?.closest?.("[data-datetime-preset]"),y=l?.closest("[data-datetimepicker]");!y||l.disabled||o(y,l.getAttribute("data-datetime-preset"))});function c(a){if(a.hasAttribute("data-datetimepicker-ready"))return;a.setAttribute("data-datetimepicker-ready","");const l=E(a);if(l.whole){if(l.whole.disabled=!!l.timeValue?.disabled,p(a)){const y=f(a,a.getAttribute("data-datetimepicker-min")),e=f(a,a.getAttribute("data-datetimepicker-max"));l.date&&(u(l.date,"data-datepicker-min",y?.date??""),u(l.date,"data-datepicker-max",e?.date??""));const n=a.querySelector(".timepicker__zone");if(n&&a.getAttribute("data-datetimepicker-zone")==="auto"){const t=l.whole.value?new Date(l.whole.value):new Date,m=new Intl.DateTimeFormat(void 0,{timeZoneName:"short"}).formatToParts(t).find(b=>b.type==="timeZoneName")?.value;m&&(n.textContent=m)}l.whole.value?o(a,l.whole.value):l.date?.dispatchEvent(new CustomEvent("datepicker:refresh",{bubbles:!0}))}r(a)}}const s=()=>queueMicrotask(()=>document.querySelectorAll("[data-datetimepicker]").forEach(c));document.readyState==="loading"?document.addEventListener("DOMContentLoaded",s):s(),document.addEventListener("rapid:swapped",s)})(),(()=>{const A=()=>document.querySelectorAll(".dropdown__panel.is-open"),E=o=>document.querySelector(`[data-toggle="#${CSS.escape(o.id)}"]`),p=".data-table__scroll, [data-dropdown-clip]";function f(o,c){if(!c?.closest(p))return;const s=c.getBoundingClientRect();o.classList.add("dropdown__panel--fixed");const a=o.offsetWidth;let y=o.classList.contains("dropdown__panel--end")?s.right-a:s.left;y=Math.max(8,Math.min(y,innerWidth-a-8));let e=s.bottom+4;e+o.offsetHeight>innerHeight-8&&(e=Math.max(8,s.top-o.offsetHeight-4)),o.style.left=`${y}px`,o.style.top=`${e}px`}function d(o,c){o.setAttribute("hidden",""),o.classList.remove("is-open","dropdown__panel--fixed"),o.style.removeProperty("left"),o.style.removeProperty("top"),c?.setAttribute("aria-expanded","false")}document.addEventListener("click",o=>{A().forEach(c=>{const s=E(c);if(s?.contains(o.target)){c.classList.contains("dropdown__panel--fixed")||f(c,s);return}if(c.contains(o.target)){const a=o.target.closest("a[href], button, [data-action]");if(!a||a.hasAttribute("data-toggle"))return}d(c,s)})}),document.addEventListener("keydown",o=>{if(o.key!=="Escape"||o.defaultPrevented)return;const c=o.target.closest?.(".dropdown"),s=c?c.querySelectorAll(".dropdown__panel.is-open"):A();let a=!1;s.forEach(l=>{const y=E(l);d(l,y),y?.focus(),a=!0}),a&&o.preventDefault()});const u=o=>{const c=o.closest(p)?.getBoundingClientRect(),s=o.getBoundingClientRect();return!c||s.bottom>c.top&&s.top<c.bottom&&s.right>c.left&&s.left<c.right},r=()=>{document.querySelectorAll(".dropdown__panel--fixed.is-open").forEach(o=>{const c=E(o);c&&u(c)?f(o,c):d(o,c)})};addEventListener("scroll",r,{capture:!0,passive:!0}),addEventListener("resize",r,{passive:!0})})(),(()=>{for(const d of["dragenter","dragover"])document.addEventListener(d,u=>{const r=u.target.closest?.(".dropzone__area");r&&(u.preventDefault(),r.classList.add("dropzone__area--over"))});for(const d of["dragleave","drop"])document.addEventListener(d,u=>{u.target.closest?.(".dropzone__area")?.classList.remove("dropzone__area--over")});document.addEventListener("click",d=>{const u=d.target.closest?.("[data-dropzone-remove]");u&&u.closest(".dropzone__file")?.remove()});const A=d=>d<1024?`${d} B`:d<1024*1024?`${Math.round(d/1024)} KB`:`${(d/(1024*1024)).toFixed(1)} MB`;function E(d){const u=document.createElement("div");u.className="dropzone__file dropzone__file--pending";const r=document.createElement("span");r.className="dropzone__file-icon",r.textContent=(d.name.split(".").pop()||"").slice(0,4).toLowerCase();const o=document.createElement("span");o.className="dropzone__file-body";const c=document.createElement("span");c.className="dropzone__file-row";const s=document.createElement("span");s.className="dropzone__file-name",s.textContent=d.name;const a=document.createElement("span");a.className="dropzone__file-size",a.textContent=A(d.size),c.append(s,a);const l=document.createElement("progress");return l.className="dropzone__bar",l.max=100,l.setAttribute("aria-label",`Uploading ${d.name}`),o.append(c,l),u.append(r,o),u}const p=new Map;document.addEventListener("submit",d=>{const u=d.target;if(!u?.matches?.("form[data-action]"))return;const r=u.querySelector("[data-dropzone]"),o=r?.querySelector("input[type=file]");if(!r||!o?.files?.length)return;let c=r.querySelector(".dropzone__files");c||(c=document.createElement("div"),c.className="dropzone__files",r.append(c));const s=[...o.files].map(a=>{const l=E(a);return c.append(l),l});p.set(u.getAttribute("data-action"),{zone:r,rows:s})}),document.addEventListener("rapid:progress",d=>{const u=p.get(d.detail?.url);if(!u)return;const{loaded:r,total:o}=d.detail;for(const c of u.rows){const s=c.querySelector("progress");s&&(o>0?s.value=Math.min(100,Math.round(r/o*100)):s.removeAttribute("value"))}});const f=(d,u)=>{const r=d.detail?.url,o=r?p.get(r):void 0;if(o&&(p.delete(r),!!u))for(const c of o.rows){if(!c.isConnected)continue;c.classList.remove("dropzone__file--pending"),c.classList.add("dropzone__file--error"),c.querySelector("progress")?.remove();const s=document.createElement("span");s.className="dropzone__file-error",s.textContent="Upload failed",c.querySelector(".dropzone__file-body")?.append(s)}};document.addEventListener("rapid:swapped",d=>f(d,!1)),document.addEventListener("rapid:error",d=>f(d,!0))})(),(()=>{const A={bold:["**","**"],italic:["_","_"],strike:["~~","~~"],code:["`","`"]},E={heading:"## ",quote:"> ",ul:"- ",ol:"1. "},p={heading:"h2",quote:"blockquote",code:"pre"},f={bold:"bold",italic:"italic",underline:"underline",strike:"strikeThrough"},d={ul:"insertUnorderedList",ol:"insertOrderedList"},u=g=>g.querySelector(".editor__source"),r=g=>g.querySelector("[data-editor-surface]"),o=g=>g.getAttribute("data-editor-mode")==="html";function c(g,k,S,i,h,v){g.value=g.value.slice(0,k)+i+g.value.slice(S),g.setSelectionRange(k+h,k+v),g.focus(),g.dispatchEvent(new Event("input",{bubbles:!0}))}function s(g){const k=g.value.lastIndexOf(`
|
|
3
|
+
`,g.selectionStart-1)+1,S=g.value.indexOf(`
|
|
4
4
|
`,Math.max(g.selectionEnd,k)),i=g.selectionEnd>g.selectionStart&&g.value[g.selectionEnd-1]===`
|
|
5
|
-
`?g.selectionEnd-1:
|
|
6
|
-
`),T=N?"```\n":D,O=N?"\n```":M;if(h.startsWith(T)&&h.endsWith(O)&&h.length>=T.length+O.length){const z=h.slice(T.length,h.length-O.length);
|
|
5
|
+
`?g.selectionEnd-1:S===-1?g.value.length:S;return[k,i]}const a=/^(#{1,6} |> |- |\* |\d+\. )+/;function l(g,k){const S=g.selectionStart,i=g.selectionEnd,h=g.value.slice(S,i);if(A[k]){const[D,M]=A[k],N=k==="code"&&h.includes(`
|
|
6
|
+
`),T=N?"```\n":D,O=N?"\n```":M;if(h.startsWith(T)&&h.endsWith(O)&&h.length>=T.length+O.length){const z=h.slice(T.length,h.length-O.length);c(g,S,i,z,0,z.length);return}if(g.value.slice(S-T.length,S)===T&&g.value.slice(i,i+O.length)===O){c(g,S-T.length,i+O.length,h,0,h.length);return}const I=h||k;c(g,S,i,T+I+O,T.length,T.length+I.length);return}if(k==="link"||k==="image"){const M=`${k==="image"?"!":""}[${h||(k==="image"?"alt text":"text")}](url)`;c(g,S,i,M,M.length-4,M.length-1);return}if(k==="hr"){const M=`${S===0||g.value[S-1]===`
|
|
7
7
|
`?"":`
|
|
8
8
|
`}
|
|
9
9
|
---
|
|
10
10
|
|
|
11
|
-
`;
|
|
12
|
-
`);if(k==="clear"){const D=x.map(M=>M.replace(
|
|
13
|
-
`).replace(/!\[(.*?)\]\(\S+?\)/g,"$1").replace(/\[(.+?)\]\(\S+?\)/g,"$1").replace(/(\*\*|__|~~|`)(.+?)\1/g,"$2").replace(/(^|[^\w])_(.+?)_(?=[^\w]|$)/g,"$1$2");
|
|
14
|
-
`);l(g,v,w,$,0,$.length)}function y(g,k){const _=g.querySelector("[data-editor-preview-panel]"),i=u(g);if(g.querySelectorAll("[data-editor-view]").forEach(v=>{v.setAttribute("aria-pressed",String(v.getAttribute("data-editor-view")===(k?"preview":"write")))}),!k){g.removeAttribute("data-editor-view"),_&&(_.hidden=!0),i?.focus();return}if(g.setAttribute("data-editor-view","preview"),!_)return;_.hidden=!1;const h=g.getAttribute("data-editor-preview");if(h&&globalThis.rapid?.swap)_.setAttribute("aria-busy","true"),globalThis.rapid.swap(h,_,{method:"post",body:new URLSearchParams({text:i?.value??""}).toString()}).finally(()=>_.removeAttribute("aria-busy"));else{_.replaceChildren();const v=document.createElement("p");v.className="editor__preview-note",v.textContent="No preview route on this page \u2014 showing the Markdown source.";const w=document.createElement("pre");w.className="editor__preview-raw",w.textContent=i?.value??"",_.append(v,w)}}function e(g){const k=u(g),_=r(g);k&&_&&(k.value=_.innerHTML)}const a=()=>String(document.queryCommandValue("formatBlock")||"").toLowerCase().replace(/[<>]/g,"");function n(g,k){const _=r(g);if(!(!_||_.getAttribute("contenteditable")!=="true")){if(_.focus(),f[k])document.execCommand(f[k]);else if(c[k])document.execCommand(c[k]);else if(m[k])document.execCommand("formatBlock",!1,a()===m[k]?"<p>":`<${m[k]}>`);else if(k==="link"){const i=globalThis.prompt?.("Link URL","https://");i&&document.execCommand("createLink",!1,i)}else if(k==="image"){const i=globalThis.prompt?.("Image URL","https://");i&&document.execCommand("insertImage",!1,i)}else k==="hr"?document.execCommand("insertHorizontalRule"):k==="clear"&&(document.execCommand("removeFormat"),document.execCommand("unlink"),document.queryCommandState("insertUnorderedList")&&document.execCommand("insertUnorderedList"),document.queryCommandState("insertOrderedList")&&document.execCommand("insertOrderedList"),a()!=="p"&&a()!=="div"&&document.execCommand("formatBlock",!1,"<p>"));e(g),p(g)}}function p(g){if(!o(g))return;const k=a();g.querySelectorAll("[data-editor-cmd]").forEach(_=>{const i=_.getAttribute("data-editor-cmd");let h=!1;f[i]||c[i]?h=document.queryCommandState(f[i]??c[i]):m[i]&&(h=k===m[i]),_.setAttribute("aria-pressed",String(h))})}function b(g){if(g.dataset.editorReady)return;g.dataset.editorReady="true";const k=u(g),_=r(g);_&&k&&(_.innerHTML=k.value,_.setAttribute("contenteditable",k.disabled?"false":"true"),document.execCommand("defaultParagraphSeparator",!1,"p"))}const S=()=>document.querySelectorAll("[data-editor]").forEach(b);document.readyState==="loading"?document.addEventListener("DOMContentLoaded",S):S(),document.addEventListener("rapid:swapped",S),document.addEventListener("click",g=>{const k=g.target.closest?.("[data-editor-cmd]");if(k){const i=k.closest("[data-editor]"),h=k.getAttribute("data-editor-cmd");if(o(i))n(i,h);else{const v=u(i);v&&!v.disabled&&d(v,h)}return}const _=g.target.closest?.("[data-editor-view]");_&&y(_.closest("[data-editor]"),_.getAttribute("data-editor-view")==="preview")}),document.addEventListener("input",g=>{const k=g.target.closest?.("[data-editor-surface]");k&&e(k.closest("[data-editor]"))}),document.addEventListener("selectionchange",()=>{const g=document.activeElement?.closest?.("[data-editor]");g&&p(g)}),document.addEventListener("keydown",g=>{if(!(g.metaKey||g.ctrlKey)||g.altKey)return;const k=g.target.closest?.("[data-editor]");if(!k)return;const _={b:"bold",i:"italic",u:"underline",k:"link"}[g.key.toLowerCase()];!_||_==="underline"&&!o(k)||(g.preventDefault(),o(k)?n(k,_):d(u(k),_))})})(),(()=>{const A="input:not([type=hidden]):not([type=submit]):not([type=button]):not([type=reset]), textarea, select",E=[["valueMissing","required"],["typeMismatch","type"],["badInput","type"],["patternMismatch","pattern"],["tooShort","min-length"],["tooLong","max-length"],["rangeUnderflow","min"],["rangeOverflow","max"],["stepMismatch","step"]],m=e=>e.closest?.("form[data-validate]"),f=e=>e.type==="checkbox"||e.type==="radio"||e.offsetParent!==null;function c(e){const a=e.getAttribute("data-match");if(a){const p=document.querySelector(a),b=p&&e.value!==""&&e.value!==p.value;e.setCustomValidity(b?e.getAttribute("data-msg-match")||"Does not match":"")}const n=e.validity;if(n.valid)return"";if(n.customError)return e.validationMessage;for(const[p,b]of E)if(n[p])return e.getAttribute(`data-msg-${b}`)||e.getAttribute("data-msg")||e.validationMessage;return e.validationMessage}const u=e=>e.id?`${e.id}-error`:"";function r(e,a){const n=e.closest(".form-field")??e.parentElement,p=e.classList[0]||"input";let b=n.querySelector(":scope > .form-field__error");const S=n.querySelector(":scope > .form-field__help");if(a){b||(b=document.createElement("p"),b.className="form-field__error",b.setAttribute("role","alert"),u(e)&&(b.id=u(e)),(S??n).insertAdjacentElement(S?"beforebegin":"beforeend",b)),b.textContent=a,S&&(S.hidden=!0),e.setAttribute("aria-invalid","true"),e.classList.add(`${p}--invalid`);const g=(e.getAttribute("aria-describedby")||"").split(/\s+/).filter(Boolean);b.id&&!g.includes(b.id)&&e.setAttribute("aria-describedby",[...g,b.id].join(" ")),e.dataset.validated="invalid"}else{b?.remove(),S&&(S.hidden=!1),e.removeAttribute("aria-invalid"),e.classList.remove(`${p}--invalid`);const g=(e.getAttribute("aria-describedby")||"").split(/\s+/).filter(k=>k&&k!==u(e));g.length?e.setAttribute("aria-describedby",g.join(" ")):e.removeAttribute("aria-describedby"),e.dataset.validated="valid"}}const o=e=>{if(!f(e)||e.disabled||e.hasAttribute("data-validate-skip"))return!0;const a=c(e);return r(e,a),!a};document.addEventListener("focusout",e=>{const a=e.target;!a?.matches?.(A)||!m(a)||a.closest("[data-validate-group]")?.contains(e.relatedTarget)||(a.dataset.touched="",o(a))}),document.addEventListener("input",e=>{const a=e.target;if(!a?.matches?.(A))return;const n=m(a);n&&((a.dataset.touched!==void 0||a.dataset.validated||a.getAttribute("aria-invalid")==="true")&&(a.dataset.touched="",o(a)),a.id&&n.querySelectorAll(`[data-match="#${CSS.escape(a.id)}"]`).forEach(p=>{p.dataset.touched!==void 0&&o(p)}))}),document.addEventListener("change",e=>{const a=e.target;a?.matches?.(A)&&m(a)&&a.dataset.touched!==void 0&&o(a)});const l=new WeakMap,s=e=>{const a=document.cookie.match(new RegExp("(?:^|; )"+e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")+"=([^;]*)"));return a?decodeURIComponent(a[1]):void 0};async function t(e){const a=e.getAttribute("data-validate-action");if(!a||!e.value||!e.validity.valid)return;l.get(e)?.abort();const n=new AbortController;l.set(e,n),e.setAttribute("aria-busy","true");const p=document.body?.dataset??{},b={"content-type":"application/x-www-form-urlencoded",[p.swapHeader||"rapid-swap"]:"1"},S=s(p.csrfCookie||"csrf");S&&(b[p.csrfHeader||"x-csrf-token"]=S);const g=e.value;try{const k=await fetch(a,{method:"POST",headers:b,body:new URLSearchParams({[e.name||"value"]:g}).toString(),signal:n.signal,credentials:"same-origin"}),_=k.ok?await k.text():"",i=new DOMParser().parseFromString(_,"text/html").body.textContent.trim();if(e.value!==g)return;e.setCustomValidity(i),e.dataset.remoteValue=g,r(e,i)}catch{}finally{l.get(e)===n&&(l.delete(e),e.removeAttribute("aria-busy"))}}document.addEventListener("focusout",e=>{const a=e.target;a?.matches?.("[data-validate-action]")&&m(a)&&t(a)}),document.addEventListener("input",e=>{const a=e.target;a?.matches?.("[data-validate-action]")&&a.dataset.remoteValue!==void 0&&a.value!==a.dataset.remoteValue&&(delete a.dataset.remoteValue,a.setCustomValidity(""),a.dataset.touched!==void 0&&o(a))});const d=()=>document.querySelectorAll("form[data-guard][data-dirty]");for(const e of["input","change"])document.addEventListener(e,a=>{const n=a.target?.closest?.("form[data-guard]");n&&(n.dataset.dirty="")});document.addEventListener("reset",e=>{e.target?.matches?.("form[data-guard]")&&delete e.target.dataset.dirty}),addEventListener("beforeunload",e=>{d().length&&(e.preventDefault(),e.returnValue="")}),document.addEventListener("submit",e=>{const a=e.target;if(!a?.matches?.("form[data-validate]"))return;let n=null;for(const p of a.querySelectorAll(A))p.dataset.touched="",!o(p)&&!n&&(n=p);if(!n){delete a.dataset.dirty;return}e.preventDefault(),e.stopImmediatePropagation(),n.scrollIntoView({block:"center"}),n.focus()},!0),document.addEventListener("submit",e=>{const a=e.target;a?.matches?.("form[data-guard]:not([data-validate])")&&delete a.dataset.dirty},!0);function y(){document.querySelectorAll("form[data-validate]").forEach(e=>e.setAttribute("novalidate",""))}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",y):y(),document.addEventListener("rapid:swapped",y)})(),(()=>{const A=new Set(["password","password1","passw0rd","123456","1234567","12345678","123456789","1234567890","qwerty","qwerty123","abc123","111111","123123","000000","letmein","welcome","admin","iloveyou","monkey","dragon","login","princess","football","master","sunshine","shadow","superman","michael","baseball","trustno1"]),E=/(?:0123|1234|2345|3456|4567|5678|6789|abcd|bcde|cdef|defg|qwer|wert|asdf|sdfg|zxcv|xcvb)/i;function m(s,t){if(!s)return 0;const d=s.toLowerCase();if(A.has(d)||/^(.)\1+$/.test(s))return 1;const y=[/[a-z]/,/[A-Z]/,/[0-9]/,/[^A-Za-z0-9]/].filter(a=>a.test(s)).length;let e=0;return s.length>=t&&e++,s.length>=12&&e++,y>=3&&e++,(y===4||s.length>=16)&&e++,(E.test(d)||/(.)\1{2,}/.test(s))&&e--,Math.max(1,Math.min(4,e))}function f(s){const t=s.closest("[data-password]");if(!t)return;const d=t.querySelector("[data-password-strength]"),y=Number(s.getAttribute("minlength"))||8,e=m(s.value,y);if(t.dataset.strengthLevel=String(e),d){d.hidden=e===0;const n=d.querySelector("[data-password-label]");if(n){const p=(n.getAttribute("data-levels")||"Too weak|Weak|Good|Strong").split("|");n.textContent=e?p[e-1]:""}}const a=Number(s.getAttribute("data-strength-min"));if(a){const n=e>0&&e<a;s.setCustomValidity(n?s.getAttribute("data-msg-strength")||"Choose a stronger password":"")}}document.addEventListener("input",s=>{const t=s.target;t?.matches?.("[data-password] .password__input")&&f(t)},!0),document.addEventListener("click",s=>{const t=s.target.closest?.("[data-password-reveal]");if(!t)return;const d=document.getElementById(t.getAttribute("aria-controls"));if(!d)return;const y=d.type==="password";d.type=y?"text":"password",t.setAttribute("aria-pressed",String(y));const e=t.querySelector("[data-password-reveal-label]");e&&(e.textContent=y?t.getAttribute("data-label-hide")||"Hide":t.getAttribute("data-label-show")||"Show");const a=t.querySelector("[data-icon-show]"),n=t.querySelector("[data-icon-hide]");a&&(a.hidden=y),n&&(n.hidden=!y),d.focus()});const c=(s,t)=>{const d=s.closest("[data-password]")?.querySelector("[data-password-caps]");d&&(d.hidden=!t)};for(const s of["keydown","keyup"])document.addEventListener(s,t=>{const d=t.target;!d?.matches?.("[data-password] .password__input")||typeof t.getModifierState!="function"||c(d,t.getModifierState("CapsLock"))});document.addEventListener("focusout",s=>{s.target?.matches?.("[data-password] .password__input")&&c(s.target,!1)});function u(s){const t=s.id,d=t&&document.querySelector(`[data-counter-for="${CSS.escape(t)}"]`);if(!d)return;const y=Number(s.getAttribute("maxlength"))||0,e=s.value.length;d.textContent=`${e} / ${y}`,d.classList.toggle("input__counter--near",y>0&&e>=y*.9)}document.addEventListener("input",s=>{s.target?.matches?.("[data-counter]")&&u(s.target)});function r(s){const t=s.closest("[data-input-clear]")?.querySelector("[data-input-clear-button]");t&&(t.hidden=!s.value)}document.addEventListener("input",s=>{s.target?.closest?.("[data-input-clear]")&&r(s.target)}),document.addEventListener("click",s=>{const t=s.target.closest?.("[data-input-clear-button]");if(!t)return;const d=document.getElementById(t.getAttribute("aria-controls"))??t.closest("[data-input-clear]")?.querySelector("input");d&&(d.value="",d.dispatchEvent(new Event("input",{bubbles:!0})),d.focus())});function o(s){s.style.height="auto",s.style.height=`${s.scrollHeight}px`}document.addEventListener("input",s=>{s.target?.matches?.("[data-autosize]")&&o(s.target)});function l(){document.querySelectorAll("[data-password] .password__input").forEach(s=>{s.value&&f(s)}),document.querySelectorAll("[data-counter]").forEach(u),document.querySelectorAll("[data-input-clear] input").forEach(r),document.querySelectorAll("[data-autosize]").forEach(o)}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",l):l(),document.addEventListener("rapid:swapped",l)})(),(()=>{function A(){const E=location.href;let m=null;if(document.querySelectorAll(".menu__link[href]").forEach(c=>{if(!c.getAttribute("href")?.includes("#"))return;new URL(c.getAttribute("href"),location.href).href===E&&(m=c)}),!m)return;m.closest(".menu__list")?.querySelectorAll(".menu__link").forEach(c=>{c!==m&&c.getAttribute("href")?.includes("#")&&(c.classList.remove("menu__link--active"),c.removeAttribute("aria-current"))}),m.classList.add("menu__link--active"),m.setAttribute("aria-current","page");const f=m.closest(".menu__sublist");f&&(f.hidden=!1,f.classList.add("is-open"),document.querySelector(`[data-toggle="#${CSS.escape(f.id)}"]`)?.setAttribute("aria-expanded","true"))}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",A):A(),addEventListener("hashchange",A),document.addEventListener("rapid:swapped",A)})(),(()=>{let A=!1;document.addEventListener("pointerdown",E=>{A=E.target instanceof HTMLDialogElement&&E.target.open}),document.addEventListener("click",E=>{const m=E.target.closest?.("[data-modal-open]");if(m){const c=document.querySelector(m.getAttribute("data-modal-open")??"");c instanceof HTMLDialogElement&&!c.open&&c.showModal();return}const f=E.target.closest?.("[data-modal-close]");if(f){f.closest("dialog")?.close();return}A&&E.target instanceof HTMLDialogElement&&E.target.open&&E.target.close(),A=!1})})(),(()=>{const A=r=>Array.from(r.querySelectorAll(".otp__cell")),E=r=>r.querySelector(".otp__value");function m(r,o){const l=r.getAttribute("data-otp-mode")!=="alphanumeric";return(o||"").replace(l?/[^0-9]/g:/[^0-9a-zA-Z]/g,"")}function f(r,{fromCarrier:o=!1}={}){const l=A(r),s=E(r);if(!l.length||!s)return;if(o){const y=m(r,s.value).slice(0,l.length);l.forEach((e,a)=>e.value=y[a]??"")}const t=l.map(y=>y.value).join("");s.value=t,s.setAttribute("tabindex","-1"),s.setAttribute("aria-hidden","true"),l.forEach(y=>y.toggleAttribute("data-filled",y.value!==""));const d=l.findIndex(y=>!y.value);l.forEach((y,e)=>y.setAttribute("tabindex",e===(d<0?0:d)?"0":"-1")),t.length===l.length&&!r.hasAttribute("data-otp-completed")?(r.setAttribute("data-otp-completed",""),r.dispatchEvent(new CustomEvent("otp:complete",{bubbles:!0,detail:{value:t}})),r.hasAttribute("data-otp-submit")&&r.closest("form")?.requestSubmit()):t.length<l.length&&r.removeAttribute("data-otp-completed")}function c(r,o,l){const s=A(r),t=m(r,l);if(!t){s[o].value="",f(r);return}let d=o;for(const y of t){if(d>=s.length)break;s[d].value=y,d++}f(r),s[Math.min(d,s.length-1)].focus()}document.addEventListener("input",r=>{const o=r.target.closest?.(".otp__cell");if(!o)return;const l=o.closest("[data-otp]"),s=A(l);c(l,s.indexOf(o),o.value)}),document.addEventListener("paste",r=>{const o=r.target.closest?.(".otp__cell");if(!o)return;r.preventDefault();const l=o.closest("[data-otp]");c(l,A(l).indexOf(o),r.clipboardData?.getData("text")??"")}),document.addEventListener("keydown",r=>{const o=r.target.closest?.(".otp__cell");if(!o)return;const l=o.closest("[data-otp]"),s=A(l),t=s.indexOf(o);r.key==="Backspace"?(r.preventDefault(),o.value?o.value="":t>0&&(s[t-1].value="",s[t-1].focus()),f(l)):r.key==="Delete"?(r.preventDefault(),o.value="",f(l)):r.key==="ArrowLeft"&&t>0?(r.preventDefault(),s[t-1].focus()):r.key==="ArrowRight"&&t<s.length-1&&(r.preventDefault(),s[t+1].focus())}),document.addEventListener("focusin",r=>{const o=r.target.closest?.(".otp__cell");o&&o.select()});function u(){document.querySelectorAll("[data-otp]").forEach(r=>f(r,{fromCarrier:!0}))}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",u):u(),document.addEventListener("rapid:swapped",u)})(),(()=>{function A(m,f){const c=m.querySelector(".popover__panel"),u=m.querySelector("[data-popover-trigger]");c&&(c.hidden=!f),u&&u.setAttribute("aria-expanded",f?"true":"false")}const E=()=>document.querySelectorAll("[data-popover] .popover__panel:not([hidden])");document.addEventListener("click",m=>{const f=m.target.closest?.("[data-popover-trigger]");if(f){const u=f.closest("[data-popover]"),r=u?.querySelector(".popover__panel");r&&A(u,r.hidden);return}const c=m.target.closest?.("[data-popover]");E().forEach(u=>{const r=u.closest("[data-popover]");r!==c&&A(r,!1)})}),document.addEventListener("keydown",m=>{if(m.key!=="Escape"||m.defaultPrevented)return;const f=m.target.closest?.("[data-popover]"),c=f?[f]:Array.from(E()).map(r=>r.closest("[data-popover]"));let u=!1;c.forEach(r=>{const o=r.querySelector(".popover__panel");!o||o.hidden||(A(r,!1),r.querySelector("[data-popover-trigger]")?.focus(),u=!0)}),u&&m.preventDefault()})})(),(()=>{function A(m){const c=m.querySelector(".segmented__input:checked")?.nextElementSibling;if(!c){m.style.setProperty("--segmented-w","0px");return}const u=m.getBoundingClientRect(),r=c.getBoundingClientRect(),o=getComputedStyle(m).direction==="rtl",l=o?u.right-m.clientLeft-3-r.right:r.left-u.left-m.clientLeft-3;m.style.setProperty("--segmented-x",`${o?-l:l}px`),m.style.setProperty("--segmented-w",`${r.width}px`),m.setAttribute("data-segmented-ready","")}const E=()=>document.querySelectorAll("[data-segmented]").forEach(A);document.readyState==="loading"?document.addEventListener("DOMContentLoaded",E):E(),addEventListener("load",E),addEventListener("resize",E),document.addEventListener("rapid:swapped",E),document.addEventListener("change",m=>{const f=m.target.closest?.("[data-segmented]");f&&A(f)})})(),(()=>{function A(f){const c=f.querySelector("[data-select-ui]");return c?{root:c,input:c.querySelector("input[role='combobox']"),hidden:c.querySelector("[data-combobox-value]"),options:Array.from(c.querySelectorAll("[role='option']"))}:null}document.addEventListener("combobox:pick",f=>{const u=f.target.closest?.("[data-select]")?.querySelector(".select__native");if(!u)return;const r=f.detail?.value??"";u.value!==r&&(u.value=r,u.dispatchEvent(new Event("change",{bubbles:!0})),u.dispatchEvent(new Event("input",{bubbles:!0})))}),document.addEventListener("change",f=>{if(!f.target.matches?.(".select__native"))return;const c=f.target.closest("[data-select]"),u=A(c);if(!u)return;const r=f.target.value,o=u.options.find(t=>t.getAttribute("data-value")===r),l=o?(o.querySelector(".combobox__option-label")?.textContent??o.textContent).trim():"";u.hidden&&(u.hidden.value=r),u.input&&u.input.value!==l&&(u.input.value=l);const s=c.querySelector("[data-select-lead]");if(s){const t=o?.querySelector(".combobox__option-lead");s.replaceChildren(...t?[...t.cloneNode(!0).childNodes]:[])}u.options.forEach(t=>t.setAttribute("aria-selected",String(t===o)))});let E="",m=0;document.addEventListener("keydown",f=>{const c=f.target;if(!c.matches?.("[data-select-ui] input[role='combobox']")||f.key.length!==1||f.metaKey||f.ctrlKey||f.altKey)return;const u=Date.now();E=u-m>600?f.key:E+f.key,m=u;const r=c.closest("[data-select]"),l=A(r)?.options.find(s=>s.getAttribute("aria-disabled")!=="true"&&(s.querySelector(".combobox__option-label")?.textContent??s.textContent).trim().toLowerCase().startsWith(E.toLowerCase()));l&&l.click(),f.preventDefault()})})(),(()=>{function A(f){const c=f.closest("[data-slider]");if(!c)return null;const u=Number(f.min||0),r=Number(f.max||100),o=r===u?0:(Number(f.value)-u)/(r-u)*100;return c.style.setProperty("--slider-pct",`${o.toFixed(2)}%`),c}function E(f,c){const u=f.querySelector("[data-slider-output]");if(!u)return;const r=Number(c.value),o=f.getAttribute("data-slider-labels");if(o){const t=Number(c.step||1),d=Math.round((r-Number(c.min||0))/t);let y=[];try{y=JSON.parse(o)}catch{}u.textContent=y[d]??c.value,f.querySelectorAll(".slider__scale-item").forEach((e,a)=>{e.classList.toggle("slider__scale-item--active",a===d)});return}const l=f.getAttribute("data-slider-unit"),s=f.getAttribute("data-slider-unit-one")||l;u.textContent=l?`${c.value} ${r===1?s:l}`:c.value}function m(){document.querySelectorAll("[data-slider] .slider__input").forEach(A)}document.addEventListener("input",f=>{if(!f.target.matches?.("[data-slider] .slider__input"))return;const c=A(f.target);c&&E(c,f.target)}),document.readyState==="loading"?document.addEventListener("DOMContentLoaded",m):m(),document.addEventListener("rapid:swapped",m)})(),(()=>{document.addEventListener("click",m=>{const f=m.target.closest?.(".tabs__tab");f&&E(f)}),document.addEventListener("keydown",m=>{if(!["ArrowRight","ArrowLeft","Home","End"].includes(m.key))return;const c=m.target.closest?.(".tabs__tab");if(!c)return;const u=[...c.parentElement.querySelectorAll(".tabs__tab")],r=u.indexOf(c);let o;m.key==="Home"?o=u[0]:m.key==="End"?o=u[u.length-1]:m.key==="ArrowRight"?o=u[(r+1)%u.length]:o=u[(r-1+u.length)%u.length],m.preventDefault(),o.focus(),E(o)});function A(){if(location.hash.length<2)return;const m=document.querySelector(`.tabs__tab#${CSS.escape(location.hash.slice(1))}`);if(!m)return;E(m);const f=()=>{document.activeElement===m&&m.blur()};f(),setTimeout(f,50)}A(),addEventListener("load",A),addEventListener("hashchange",A),document.addEventListener("rapid:swapped",A);function E(m){const f=m.closest(".tabs");f&&(f.querySelectorAll(":scope > .tabs__list > .tabs__tab").forEach(c=>{const u=c===m;c.setAttribute("aria-selected",String(u)),c.setAttribute("tabindex",u?"0":"-1")}),f.querySelectorAll(":scope > .tabs__panel").forEach(c=>{c.toggleAttribute("hidden",c.id!==m.getAttribute("aria-controls"))}))}})(),(()=>{const A=i=>String(i).padStart(2,"0"),E=i=>{const h=/^([01]\d|2[0-3]):([0-5]\d)$/.exec(i||"");return h?Number(h[1])*60+Number(h[2]):void 0},m=i=>{const h=(i%1440+1440)%1440;return`${A(Math.floor(h/60))}:${A(h%60)}`};function f(i){return{hour:i.querySelector("[data-segment='hour']"),minute:i.querySelector("[data-segment='minute']"),carrier:i.querySelector("[data-timepicker-value]"),list:i.querySelector(".timepicker__list"),toggle:i.querySelector("[data-timepicker-toggle]")}}const c=i=>({lo:E(i.getAttribute("data-timepicker-min")),hi:E(i.getAttribute("data-timepicker-max"))});function u(i){const{hour:h,minute:v}=f(i);if(!h?.value||!v?.value)return;const w=Number(h.value),x=Number(v.value);return w<=23&&x<=59?w*60+x:void 0}function r(i){const{hour:h,minute:v}=f(i);if(!h)return;const w=u(i),{lo:x,hi:C}=c(i),L=($,D,M,N)=>(h.getAttribute(`data-msg-${$}`)||D).replace(M,N??"");let q="";!h.value&&!v.value?i.hasAttribute("data-timepicker-required")&&(q=L("required","Enter a time.")):w===void 0?q=L("incomplete","Enter hours and minutes."):x!==void 0&&w<x?q=L("min","Pick {min} or later.","{min}",m(x)):C!==void 0&&w>C&&(q=L("max","Pick {max} or earlier.","{max}",m(C))),h.setCustomValidity(i.getAttribute("data-timepicker-error")||q)}function o(i,h=!0){const{hour:v,minute:w,carrier:x,list:C}=f(i);if(!v||!w||!x)return;for(const $ of[v,w])$.value===""?$.removeAttribute("aria-valuenow"):$.setAttribute("aria-valuenow",String(Number($.value)));const L=u(i),q=L===void 0?"":m(L);C?.querySelectorAll("[role='option']").forEach($=>$.setAttribute("aria-selected",String($.getAttribute("data-value")===q))),r(i),x.value!==q&&(x.value=q,h&&x.dispatchEvent(new Event("change",{bubbles:!0})))}function l(i,h){const{hour:v,minute:w}=f(i),x=m(h);v.value=x.slice(0,2),w.value=x.slice(3),o(i)}function s(i){const{hour:h,minute:v}=f(i);let w=!1;for(const[x,C]of[[h,23],[v,59]])x&&x.value.length===1&&(x.value=A(Math.min(Number(x.value),C)),w=!0);w&&o(i)}function t(i){!i||i.disabled||(i.focus(),i.select())}const d=i=>Array.from(i.querySelectorAll(".timepicker__slot")).filter(h=>!h.hidden),y=i=>i.classList.contains("timepicker--open");function e(i,h){const{list:v}=f(i);if(i.querySelectorAll(".timepicker__slot[data-active]").forEach(x=>x.removeAttribute("data-active")),!h||!v){v?.removeAttribute("aria-activedescendant");return}h.setAttribute("data-active",""),v.setAttribute("aria-activedescendant",h.id);const w=h.offsetTop;w<v.scrollTop?v.scrollTop=w:w+h.offsetHeight>v.scrollTop+v.clientHeight&&(v.scrollTop=w+h.offsetHeight-v.clientHeight)}function a(i){const{list:h,toggle:v}=f(i);if(!h||v?.disabled)return;const{lo:w,hi:x}=c(i);i.querySelectorAll(".timepicker__slot").forEach($=>{const D=E($.getAttribute("data-value"));$.hidden=w!==void 0&&D<w||x!==void 0&&D>x}),h.hidden=!1,i.classList.add("timepicker--open"),v?.setAttribute("aria-expanded","true");const C=d(i),L=u(i),q=C.find($=>$.getAttribute("aria-selected")==="true")??(L===void 0?void 0:C.find($=>E($.getAttribute("data-value"))>=L))??C[0];h.focus({preventScroll:!0}),e(i,q),q&&(h.scrollTop=q.offsetTop-(h.clientHeight-q.offsetHeight)/2)}function n(i,h){const{list:v,toggle:w,hour:x}=f(i);v&&(v.hidden=!0,i.classList.remove("timepicker--open"),w?.setAttribute("aria-expanded","false"),e(i,null),h&&t(x))}function p(i,h){const v=E(h?.getAttribute("data-value"));v!==void 0&&(l(i,v),n(i,!0))}let b="",S=0;function g(i,h){const v=Date.now();b=v-S>800?h:b+h,S=v;const w=d(i),x=L=>L.getAttribute("data-value").replace(":",""),C=w.find(L=>x(L).startsWith(b))??w.find(L=>x(L).replace(/^0/,"").startsWith(b));C&&e(i,C)}document.addEventListener("input",i=>{const h=i.target;if(!h?.matches?.(".timepicker__segment"))return;const v=h.closest("[data-timepicker]"),{minute:w}=f(v),x=h.value.replace(/\D/g,"").slice(0,2);h.value!==x&&(h.value=x);const C=h.getAttribute("data-segment")==="hour";if(x){const L=Number(x);if((x.length===2||L>(C?2:5))&&(h.value=A(Math.min(L,C?23:59)),C)){o(v),t(w);return}}o(v)},!0),document.addEventListener("paste",i=>{const h=i.target;if(!h?.matches?.(".timepicker__segment"))return;const v=i.clipboardData?.getData("text")??"",w=/^\s*(\d{1,2})\s*[:.h]\s*(\d{2})\s*$/.exec(v)??/^\s*(\d{1,2})(\d{2})\s*$/.exec(v);if(!w)return;i.preventDefault();const x=h.closest("[data-timepicker]");l(x,Math.min(Number(w[1]),23)*60+Math.min(Number(w[2]),59)),t(f(x).minute)}),document.addEventListener("keydown",i=>{const h=i.target,v=h?.closest?.("[data-timepicker]");if(!v)return;const{hour:w,minute:x,list:C}=f(v);if(h===C){const $=d(v),D=v.querySelector(".timepicker__slot[data-active]"),M=$.indexOf(D);if(i.key==="ArrowDown"||i.key==="ArrowUp"){i.preventDefault();const N=M<0?0:M+(i.key==="ArrowDown"?1:-1);e(v,$[Math.max(0,Math.min($.length-1,N))])}else i.key==="Home"||i.key==="End"?(i.preventDefault(),e(v,i.key==="Home"?$[0]:$[$.length-1])):i.key==="Enter"||i.key===" "?(i.preventDefault(),D&&p(v,D)):i.key==="Escape"?(i.preventDefault(),i.stopPropagation(),n(v,!0)):i.key==="Tab"?n(v,!1):/^\d$/.test(i.key)&&(i.preventDefault(),g(v,i.key));return}if(!h.matches(".timepicker__segment"))return;const L=h===w,q=L?23:59;if(i.altKey&&i.key==="ArrowDown"||i.key==="F4")i.preventDefault(),a(v);else if(i.key==="ArrowUp"||i.key==="ArrowDown"){i.preventDefault();const $=i.key==="ArrowUp"?1:-1,{lo:D}=c(v),M=L?Math.floor((D??0)/60):0,N=h.value===""?M:(Number(h.value)+$+q+1)%(q+1);h.value=A(N),o(v),h.select()}else if(i.key==="PageUp"||i.key==="PageDown"){i.preventDefault();const $=Number(C?.getAttribute("data-step"))||15,D=(Number(w.value)||0)*60+(Number(x.value)||0);l(v,D+(i.key==="PageUp"?$:-$)),h.select()}else i.key==="Home"||i.key==="End"?(i.preventDefault(),h.value=i.key==="Home"?"00":A(q),o(v),h.select()):L&&(i.key===":"||i.key==="."||i.key===" "||i.key==="ArrowRight")?(i.preventDefault(),s(v),t(x)):!L&&i.key==="ArrowLeft"||!L&&i.key==="Backspace"&&h.value===""?(i.preventDefault(),t(w)):i.key==="Escape"&&y(v)&&(i.preventDefault(),i.stopPropagation(),n(v,!0))}),document.addEventListener("focusin",i=>{i.target?.matches?.(".timepicker__segment")&&i.target.select()}),document.addEventListener("focusout",i=>{const h=i.target?.closest?.("[data-timepicker]");if(!h||h.contains(i.relatedTarget))return;s(h),y(h)&&n(h,!1);const{hour:v}=f(h);v?.closest("form[data-validate]")&&(v.dataset.touched="",v.dispatchEvent(new Event("change",{bubbles:!0})))}),document.addEventListener("click",i=>{const h=i.target,v=h?.closest?.("[data-timepicker]");if(v){if(h.closest("[data-timepicker-toggle]")){y(v)?n(v,!0):a(v);return}const w=h.closest(".timepicker__slot");if(w){p(v,w);return}h.matches(".timepicker__segment")?h.select():h.closest(".timepicker__field")&&t(f(v).hour)}document.querySelectorAll("[data-timepicker].timepicker--open").forEach(w=>{w!==v&&n(w,!1)})}),document.addEventListener("timepicker:refresh",i=>{const h=i.target?.closest?.("[data-timepicker]");if(!h)return;const v=i.detail?.value;if(typeof v=="string"){const{hour:w,minute:x}=f(h),C=E(v);w.value=C===void 0?"":v.slice(0,2),x.value=C===void 0?"":v.slice(3)}o(h)});function k(i){const{carrier:h}=f(i);if(!h||h.type==="hidden")return;const v=h.value;h.type="hidden",h.value=v,h.removeAttribute("aria-invalid"),o(i,!1)}function _(){document.querySelectorAll("[data-timepicker]").forEach(k)}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",_):_(),document.addEventListener("rapid:swapped",_)})(),(()=>{const A=new WeakMap;function E(c){const u=Number(c.dataset.toastAutodismiss);!u||A.has(c)||A.set(c,setTimeout(()=>c.remove(),u))}function m(c){const u=Number(c.dataset.toastMax)||4,r=c.querySelectorAll(":scope > .toast");for(let o=0;o<r.length-u;o++)r[o].remove()}function f(c){c.querySelectorAll?.(".toast[data-toast-autodismiss]").forEach(E),c.matches?.(".toast[data-toast-autodismiss]")&&E(c),c.querySelectorAll?.(".toast-region").forEach(m),c.closest?.(".toast-region")&&m(c.closest(".toast-region"))}f(document),new MutationObserver(c=>{for(const u of c)for(const r of u.addedNodes)r.nodeType===1&&f(r)}).observe(document.documentElement,{childList:!0,subtree:!0}),document.addEventListener("click",c=>{const u=c.target.closest?.("[data-toast-open]");if(!u)return;const r=document.querySelector(u.getAttribute("data-toast-open")??""),o=document.querySelector(u.getAttribute("data-toast-region")??"#toast-region");!r?.content||!o||o.append(r.content.cloneNode(!0))})})();
|
|
11
|
+
`;c(g,S,i,M,M.length,M.length);return}const[v,w]=s(g),x=g.value.slice(v,w).split(`
|
|
12
|
+
`);if(k==="clear"){const D=x.map(M=>M.replace(a,"")).join(`
|
|
13
|
+
`).replace(/!\[(.*?)\]\(\S+?\)/g,"$1").replace(/\[(.+?)\]\(\S+?\)/g,"$1").replace(/(\*\*|__|~~|`)(.+?)\1/g,"$2").replace(/(^|[^\w])_(.+?)_(?=[^\w]|$)/g,"$1$2");c(g,v,w,D,0,D.length);return}const C=E[k];if(!C)return;const L=D=>k==="ol"?/^\d+\. /.test(D):D.startsWith(C),q=x.every(D=>D.trim()===""||L(D)),$=x.map((D,M)=>{const N=D.replace(a,"");return q?N:D.trim()===""?D:(k==="ol"?`${M+1}. `:C)+N}).join(`
|
|
14
|
+
`);c(g,v,w,$,0,$.length)}function y(g,k){const S=g.querySelector("[data-editor-preview-panel]"),i=u(g);if(g.querySelectorAll("[data-editor-view]").forEach(v=>{v.setAttribute("aria-pressed",String(v.getAttribute("data-editor-view")===(k?"preview":"write")))}),!k){g.removeAttribute("data-editor-view"),S&&(S.hidden=!0),i?.focus();return}if(g.setAttribute("data-editor-view","preview"),!S)return;S.hidden=!1;const h=g.getAttribute("data-editor-preview");if(h&&globalThis.rapid?.swap)S.setAttribute("aria-busy","true"),globalThis.rapid.swap(h,S,{method:"post",body:new URLSearchParams({text:i?.value??""}).toString()}).finally(()=>S.removeAttribute("aria-busy"));else{S.replaceChildren();const v=document.createElement("p");v.className="editor__preview-note",v.textContent="No preview route on this page \u2014 showing the Markdown source.";const w=document.createElement("pre");w.className="editor__preview-raw",w.textContent=i?.value??"",S.append(v,w)}}function e(g){const k=u(g),S=r(g);k&&S&&(k.value=S.innerHTML)}const n=()=>String(document.queryCommandValue("formatBlock")||"").toLowerCase().replace(/[<>]/g,"");function t(g,k){const S=r(g);if(!(!S||S.getAttribute("contenteditable")!=="true")){if(S.focus(),f[k])document.execCommand(f[k]);else if(d[k])document.execCommand(d[k]);else if(p[k])document.execCommand("formatBlock",!1,n()===p[k]?"<p>":`<${p[k]}>`);else if(k==="link"){const i=globalThis.prompt?.("Link URL","https://");i&&document.execCommand("createLink",!1,i)}else if(k==="image"){const i=globalThis.prompt?.("Image URL","https://");i&&document.execCommand("insertImage",!1,i)}else k==="hr"?document.execCommand("insertHorizontalRule"):k==="clear"&&(document.execCommand("removeFormat"),document.execCommand("unlink"),document.queryCommandState("insertUnorderedList")&&document.execCommand("insertUnorderedList"),document.queryCommandState("insertOrderedList")&&document.execCommand("insertOrderedList"),n()!=="p"&&n()!=="div"&&document.execCommand("formatBlock",!1,"<p>"));e(g),m(g)}}function m(g){if(!o(g))return;const k=n();g.querySelectorAll("[data-editor-cmd]").forEach(S=>{const i=S.getAttribute("data-editor-cmd");let h=!1;f[i]||d[i]?h=document.queryCommandState(f[i]??d[i]):p[i]&&(h=k===p[i]),S.setAttribute("aria-pressed",String(h))})}function b(g){if(g.dataset.editorReady)return;g.dataset.editorReady="true";const k=u(g),S=r(g);S&&k&&(S.innerHTML=k.value,S.setAttribute("contenteditable",k.disabled?"false":"true"),document.execCommand("defaultParagraphSeparator",!1,"p"))}const _=()=>document.querySelectorAll("[data-editor]").forEach(b);document.readyState==="loading"?document.addEventListener("DOMContentLoaded",_):_(),document.addEventListener("rapid:swapped",_),document.addEventListener("click",g=>{const k=g.target.closest?.("[data-editor-cmd]");if(k){const i=k.closest("[data-editor]"),h=k.getAttribute("data-editor-cmd");if(o(i))t(i,h);else{const v=u(i);v&&!v.disabled&&l(v,h)}return}const S=g.target.closest?.("[data-editor-view]");S&&y(S.closest("[data-editor]"),S.getAttribute("data-editor-view")==="preview")}),document.addEventListener("input",g=>{const k=g.target.closest?.("[data-editor-surface]");k&&e(k.closest("[data-editor]"))}),document.addEventListener("selectionchange",()=>{const g=document.activeElement?.closest?.("[data-editor]");g&&m(g)}),document.addEventListener("keydown",g=>{if(!(g.metaKey||g.ctrlKey)||g.altKey)return;const k=g.target.closest?.("[data-editor]");if(!k)return;const S={b:"bold",i:"italic",u:"underline",k:"link"}[g.key.toLowerCase()];!S||S==="underline"&&!o(k)||(g.preventDefault(),o(k)?t(k,S):l(u(k),S))})})(),(()=>{const A="input:not([type=hidden]):not([type=submit]):not([type=button]):not([type=reset]), textarea, select",E=[["valueMissing","required"],["typeMismatch","type"],["badInput","type"],["patternMismatch","pattern"],["tooShort","min-length"],["tooLong","max-length"],["rangeUnderflow","min"],["rangeOverflow","max"],["stepMismatch","step"]],p=e=>e.closest?.("form[data-validate]"),f=e=>e.type==="checkbox"||e.type==="radio"||e.offsetParent!==null;function d(e){const n=e.getAttribute("data-match");if(n){const m=document.querySelector(n),b=m&&e.value!==""&&e.value!==m.value;e.setCustomValidity(b?e.getAttribute("data-msg-match")||"Does not match":"")}const t=e.validity;if(t.valid)return"";if(t.customError)return e.validationMessage;for(const[m,b]of E)if(t[m])return e.getAttribute(`data-msg-${b}`)||e.getAttribute("data-msg")||e.validationMessage;return e.validationMessage}const u=e=>e.id?`${e.id}-error`:"";function r(e,n){const t=e.closest(".form-field")??e.parentElement,m=e.classList[0]||"input";let b=t.querySelector(":scope > .form-field__error");const _=t.querySelector(":scope > .form-field__help");if(n){b||(b=document.createElement("p"),b.className="form-field__error",b.setAttribute("role","alert"),u(e)&&(b.id=u(e)),(_??t).insertAdjacentElement(_?"beforebegin":"beforeend",b)),b.textContent=n,_&&(_.hidden=!0),e.setAttribute("aria-invalid","true"),e.classList.add(`${m}--invalid`);const g=(e.getAttribute("aria-describedby")||"").split(/\s+/).filter(Boolean);b.id&&!g.includes(b.id)&&e.setAttribute("aria-describedby",[...g,b.id].join(" ")),e.dataset.validated="invalid"}else{b?.remove(),_&&(_.hidden=!1),e.removeAttribute("aria-invalid"),e.classList.remove(`${m}--invalid`);const g=(e.getAttribute("aria-describedby")||"").split(/\s+/).filter(k=>k&&k!==u(e));g.length?e.setAttribute("aria-describedby",g.join(" ")):e.removeAttribute("aria-describedby"),e.dataset.validated="valid"}}const o=e=>{if(!f(e)||e.disabled||e.hasAttribute("data-validate-skip"))return!0;const n=d(e);return r(e,n),!n};document.addEventListener("focusout",e=>{const n=e.target;!n?.matches?.(A)||!p(n)||n.closest("[data-validate-group]")?.contains(e.relatedTarget)||(n.dataset.touched="",o(n))}),document.addEventListener("input",e=>{const n=e.target;if(!n?.matches?.(A))return;const t=p(n);t&&((n.dataset.touched!==void 0||n.dataset.validated||n.getAttribute("aria-invalid")==="true")&&(n.dataset.touched="",o(n)),n.id&&t.querySelectorAll(`[data-match="#${CSS.escape(n.id)}"]`).forEach(m=>{m.dataset.touched!==void 0&&o(m)}))}),document.addEventListener("change",e=>{const n=e.target;n?.matches?.(A)&&p(n)&&n.dataset.touched!==void 0&&o(n)});const c=new WeakMap,s=e=>{const n=document.cookie.match(new RegExp("(?:^|; )"+e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")+"=([^;]*)"));return n?decodeURIComponent(n[1]):void 0};async function a(e){const n=e.getAttribute("data-validate-action");if(!n||!e.value||!e.validity.valid)return;c.get(e)?.abort();const t=new AbortController;c.set(e,t),e.setAttribute("aria-busy","true");const m=document.body?.dataset??{},b={"content-type":"application/x-www-form-urlencoded",[m.swapHeader||"rapid-swap"]:"1"},_=s(m.csrfCookie||"csrf");_&&(b[m.csrfHeader||"x-csrf-token"]=_);const g=e.value;try{const k=await fetch(n,{method:"POST",headers:b,body:new URLSearchParams({[e.name||"value"]:g}).toString(),signal:t.signal,credentials:"same-origin"}),S=k.ok?await k.text():"",i=new DOMParser().parseFromString(S,"text/html").body.textContent.trim();if(e.value!==g)return;e.setCustomValidity(i),e.dataset.remoteValue=g,r(e,i)}catch{}finally{c.get(e)===t&&(c.delete(e),e.removeAttribute("aria-busy"))}}document.addEventListener("focusout",e=>{const n=e.target;n?.matches?.("[data-validate-action]")&&p(n)&&a(n)}),document.addEventListener("input",e=>{const n=e.target;n?.matches?.("[data-validate-action]")&&n.dataset.remoteValue!==void 0&&n.value!==n.dataset.remoteValue&&(delete n.dataset.remoteValue,n.setCustomValidity(""),n.dataset.touched!==void 0&&o(n))});const l=()=>document.querySelectorAll("form[data-guard][data-dirty]");for(const e of["input","change"])document.addEventListener(e,n=>{const t=n.target?.closest?.("form[data-guard]");t&&(t.dataset.dirty="")});document.addEventListener("reset",e=>{e.target?.matches?.("form[data-guard]")&&delete e.target.dataset.dirty}),addEventListener("beforeunload",e=>{l().length&&(e.preventDefault(),e.returnValue="")}),document.addEventListener("submit",e=>{const n=e.target;if(!n?.matches?.("form[data-validate]"))return;let t=null;for(const m of n.querySelectorAll(A))m.dataset.touched="",!o(m)&&!t&&(t=m);if(!t){delete n.dataset.dirty;return}e.preventDefault(),e.stopImmediatePropagation(),t.scrollIntoView({block:"center"}),t.focus()},!0),document.addEventListener("submit",e=>{const n=e.target;n?.matches?.("form[data-guard]:not([data-validate])")&&delete n.dataset.dirty},!0);function y(){document.querySelectorAll("form[data-validate]").forEach(e=>e.setAttribute("novalidate",""))}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",y):y(),document.addEventListener("rapid:swapped",y)})(),(()=>{const A=new Set(["password","password1","passw0rd","123456","1234567","12345678","123456789","1234567890","qwerty","qwerty123","abc123","111111","123123","000000","letmein","welcome","admin","iloveyou","monkey","dragon","login","princess","football","master","sunshine","shadow","superman","michael","baseball","trustno1"]),E=/(?:0123|1234|2345|3456|4567|5678|6789|abcd|bcde|cdef|defg|qwer|wert|asdf|sdfg|zxcv|xcvb)/i;function p(s,a){if(!s)return 0;const l=s.toLowerCase();if(A.has(l)||/^(.)\1+$/.test(s))return 1;const y=[/[a-z]/,/[A-Z]/,/[0-9]/,/[^A-Za-z0-9]/].filter(n=>n.test(s)).length;let e=0;return s.length>=a&&e++,s.length>=12&&e++,y>=3&&e++,(y===4||s.length>=16)&&e++,(E.test(l)||/(.)\1{2,}/.test(s))&&e--,Math.max(1,Math.min(4,e))}function f(s){const a=s.closest("[data-password]");if(!a)return;const l=a.querySelector("[data-password-strength]"),y=Number(s.getAttribute("minlength"))||8,e=p(s.value,y);if(a.dataset.strengthLevel=String(e),l){l.hidden=e===0;const t=l.querySelector("[data-password-label]");if(t){const m=(t.getAttribute("data-levels")||"Too weak|Weak|Good|Strong").split("|");t.textContent=e?m[e-1]:""}}const n=Number(s.getAttribute("data-strength-min"));if(n){const t=e>0&&e<n;s.setCustomValidity(t?s.getAttribute("data-msg-strength")||"Choose a stronger password":"")}}document.addEventListener("input",s=>{const a=s.target;a?.matches?.("[data-password] .password__input")&&f(a)},!0),document.addEventListener("click",s=>{const a=s.target.closest?.("[data-password-reveal]");if(!a)return;const l=document.getElementById(a.getAttribute("aria-controls"));if(!l)return;const y=l.type==="password";l.type=y?"text":"password",a.setAttribute("aria-pressed",String(y));const e=a.querySelector("[data-password-reveal-label]");e&&(e.textContent=y?a.getAttribute("data-label-hide")||"Hide":a.getAttribute("data-label-show")||"Show");const n=a.querySelector("[data-icon-show]"),t=a.querySelector("[data-icon-hide]");n&&(n.hidden=y),t&&(t.hidden=!y),l.focus()});const d=(s,a)=>{const l=s.closest("[data-password]")?.querySelector("[data-password-caps]");l&&(l.hidden=!a)};for(const s of["keydown","keyup"])document.addEventListener(s,a=>{const l=a.target;!l?.matches?.("[data-password] .password__input")||typeof a.getModifierState!="function"||d(l,a.getModifierState("CapsLock"))});document.addEventListener("focusout",s=>{s.target?.matches?.("[data-password] .password__input")&&d(s.target,!1)});function u(s){const a=s.id,l=a&&document.querySelector(`[data-counter-for="${CSS.escape(a)}"]`);if(!l)return;const y=Number(s.getAttribute("maxlength"))||0,e=s.value.length;l.textContent=`${e} / ${y}`,l.classList.toggle("input__counter--near",y>0&&e>=y*.9)}document.addEventListener("input",s=>{s.target?.matches?.("[data-counter]")&&u(s.target)});function r(s){const a=s.closest("[data-input-clear]")?.querySelector("[data-input-clear-button]");a&&(a.hidden=!s.value)}document.addEventListener("input",s=>{s.target?.closest?.("[data-input-clear]")&&r(s.target)}),document.addEventListener("click",s=>{const a=s.target.closest?.("[data-input-clear-button]");if(!a)return;const l=document.getElementById(a.getAttribute("aria-controls"))??a.closest("[data-input-clear]")?.querySelector("input");l&&(l.value="",l.dispatchEvent(new Event("input",{bubbles:!0})),l.focus())});function o(s){s.style.height="auto",s.style.height=`${s.scrollHeight}px`}document.addEventListener("input",s=>{s.target?.matches?.("[data-autosize]")&&o(s.target)});function c(){document.querySelectorAll("[data-password] .password__input").forEach(s=>{s.value&&f(s)}),document.querySelectorAll("[data-counter]").forEach(u),document.querySelectorAll("[data-input-clear] input").forEach(r),document.querySelectorAll("[data-autosize]").forEach(o)}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",c):c(),document.addEventListener("rapid:swapped",c)})(),(()=>{function A(){const E=location.href;let p=null;if(document.querySelectorAll(".menu__link[href]").forEach(d=>{if(!d.getAttribute("href")?.includes("#"))return;new URL(d.getAttribute("href"),location.href).href===E&&(p=d)}),!p)return;p.closest(".menu__list")?.querySelectorAll(".menu__link").forEach(d=>{d!==p&&d.getAttribute("href")?.includes("#")&&(d.classList.remove("menu__link--active"),d.removeAttribute("aria-current"))}),p.classList.add("menu__link--active"),p.setAttribute("aria-current","page");const f=p.closest(".menu__sublist");f&&(f.hidden=!1,f.classList.add("is-open"),document.querySelector(`[data-toggle="#${CSS.escape(f.id)}"]`)?.setAttribute("aria-expanded","true"))}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",A):A(),addEventListener("hashchange",A),document.addEventListener("rapid:swapped",A)})(),(()=>{let A=!1;document.addEventListener("pointerdown",E=>{A=E.target instanceof HTMLDialogElement&&E.target.open}),document.addEventListener("click",E=>{const p=E.target.closest?.("[data-modal-open]");if(p){const d=document.querySelector(p.getAttribute("data-modal-open")??"");d instanceof HTMLDialogElement&&!d.open&&d.showModal();return}const f=E.target.closest?.("[data-modal-close]");if(f){f.closest("dialog")?.close();return}A&&E.target instanceof HTMLDialogElement&&E.target.open&&E.target.close(),A=!1})})(),(()=>{const A=r=>Array.from(r.querySelectorAll(".otp__cell")),E=r=>r.querySelector(".otp__value");function p(r,o){const c=r.getAttribute("data-otp-mode")!=="alphanumeric";return(o||"").replace(c?/[^0-9]/g:/[^0-9a-zA-Z]/g,"")}function f(r,{fromCarrier:o=!1}={}){const c=A(r),s=E(r);if(!c.length||!s)return;if(o){const y=p(r,s.value).slice(0,c.length);c.forEach((e,n)=>e.value=y[n]??"")}const a=c.map(y=>y.value).join("");s.value=a,s.setAttribute("tabindex","-1"),s.setAttribute("aria-hidden","true"),c.forEach(y=>y.toggleAttribute("data-filled",y.value!==""));const l=c.findIndex(y=>!y.value);c.forEach((y,e)=>y.setAttribute("tabindex",e===(l<0?0:l)?"0":"-1")),a.length===c.length&&!r.hasAttribute("data-otp-completed")?(r.setAttribute("data-otp-completed",""),r.dispatchEvent(new CustomEvent("otp:complete",{bubbles:!0,detail:{value:a}})),r.hasAttribute("data-otp-submit")&&r.closest("form")?.requestSubmit()):a.length<c.length&&r.removeAttribute("data-otp-completed")}function d(r,o,c){const s=A(r),a=p(r,c);if(!a){s[o].value="",f(r);return}let l=o;for(const y of a){if(l>=s.length)break;s[l].value=y,l++}f(r),s[Math.min(l,s.length-1)].focus()}document.addEventListener("input",r=>{const o=r.target.closest?.(".otp__cell");if(!o)return;const c=o.closest("[data-otp]"),s=A(c);d(c,s.indexOf(o),o.value)}),document.addEventListener("paste",r=>{const o=r.target.closest?.(".otp__cell");if(!o)return;r.preventDefault();const c=o.closest("[data-otp]");d(c,A(c).indexOf(o),r.clipboardData?.getData("text")??"")}),document.addEventListener("keydown",r=>{const o=r.target.closest?.(".otp__cell");if(!o)return;const c=o.closest("[data-otp]"),s=A(c),a=s.indexOf(o);r.key==="Backspace"?(r.preventDefault(),o.value?o.value="":a>0&&(s[a-1].value="",s[a-1].focus()),f(c)):r.key==="Delete"?(r.preventDefault(),o.value="",f(c)):r.key==="ArrowLeft"&&a>0?(r.preventDefault(),s[a-1].focus()):r.key==="ArrowRight"&&a<s.length-1&&(r.preventDefault(),s[a+1].focus())}),document.addEventListener("focusin",r=>{const o=r.target.closest?.(".otp__cell");o&&o.select()});function u(){document.querySelectorAll("[data-otp]").forEach(r=>f(r,{fromCarrier:!0}))}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",u):u(),document.addEventListener("rapid:swapped",u)})(),(()=>{function A(p,f){const d=p.querySelector(".popover__panel"),u=p.querySelector("[data-popover-trigger]");d&&(d.hidden=!f),u&&u.setAttribute("aria-expanded",f?"true":"false")}const E=()=>document.querySelectorAll("[data-popover] .popover__panel:not([hidden])");document.addEventListener("click",p=>{const f=p.target.closest?.("[data-popover-trigger]");if(f){const u=f.closest("[data-popover]"),r=u?.querySelector(".popover__panel");r&&A(u,r.hidden);return}const d=p.target.closest?.("[data-popover]");E().forEach(u=>{const r=u.closest("[data-popover]");r!==d&&A(r,!1)})}),document.addEventListener("keydown",p=>{if(p.key!=="Escape"||p.defaultPrevented)return;const f=p.target.closest?.("[data-popover]"),d=f?[f]:Array.from(E()).map(r=>r.closest("[data-popover]"));let u=!1;d.forEach(r=>{const o=r.querySelector(".popover__panel");!o||o.hidden||(A(r,!1),r.querySelector("[data-popover-trigger]")?.focus(),u=!0)}),u&&p.preventDefault()})})(),(()=>{function A(p){const d=p.querySelector(".segmented__input:checked")?.nextElementSibling;if(!d){p.style.setProperty("--segmented-w","0px");return}const u=p.getBoundingClientRect(),r=d.getBoundingClientRect(),o=getComputedStyle(p).direction==="rtl",c=o?u.right-p.clientLeft-3-r.right:r.left-u.left-p.clientLeft-3;p.style.setProperty("--segmented-x",`${o?-c:c}px`),p.style.setProperty("--segmented-w",`${r.width}px`),p.setAttribute("data-segmented-ready","")}const E=()=>document.querySelectorAll("[data-segmented]").forEach(A);document.readyState==="loading"?document.addEventListener("DOMContentLoaded",E):E(),addEventListener("load",E),addEventListener("resize",E),document.addEventListener("rapid:swapped",E),document.addEventListener("change",p=>{const f=p.target.closest?.("[data-segmented]");f&&A(f)})})(),(()=>{function A(f){const d=f.querySelector("[data-select-ui]");return d?{root:d,input:d.querySelector("input[role='combobox']"),hidden:d.querySelector("[data-combobox-value]"),options:Array.from(d.querySelectorAll("[role='option']"))}:null}document.addEventListener("combobox:pick",f=>{const u=f.target.closest?.("[data-select]")?.querySelector(".select__native");if(!u)return;const r=f.detail?.value??"";u.value!==r&&(u.value=r,u.dispatchEvent(new Event("change",{bubbles:!0})),u.dispatchEvent(new Event("input",{bubbles:!0})))}),document.addEventListener("change",f=>{if(!f.target.matches?.(".select__native"))return;const d=f.target.closest("[data-select]"),u=A(d);if(!u)return;const r=f.target.value,o=u.options.find(a=>a.getAttribute("data-value")===r),c=o?(o.querySelector(".combobox__option-label")?.textContent??o.textContent).trim():"";u.hidden&&(u.hidden.value=r),u.input&&u.input.value!==c&&(u.input.value=c);const s=d.querySelector("[data-select-lead]");if(s){const a=o?.querySelector(".combobox__option-lead");s.replaceChildren(...a?[...a.cloneNode(!0).childNodes]:[])}u.options.forEach(a=>a.setAttribute("aria-selected",String(a===o)))});let E="",p=0;document.addEventListener("keydown",f=>{const d=f.target;if(!d.matches?.("[data-select-ui] input[role='combobox']")||f.key.length!==1||f.metaKey||f.ctrlKey||f.altKey)return;const u=Date.now();E=u-p>600?f.key:E+f.key,p=u;const r=d.closest("[data-select]"),c=A(r)?.options.find(s=>s.getAttribute("aria-disabled")!=="true"&&(s.querySelector(".combobox__option-label")?.textContent??s.textContent).trim().toLowerCase().startsWith(E.toLowerCase()));c&&c.click(),f.preventDefault()})})(),(()=>{function A(f){const d=f.closest("[data-slider]");if(!d)return null;const u=Number(f.min||0),r=Number(f.max||100),o=r===u?0:(Number(f.value)-u)/(r-u)*100;return d.style.setProperty("--slider-pct",`${o.toFixed(2)}%`),d}function E(f,d){const u=f.querySelector("[data-slider-output]");if(!u)return;const r=Number(d.value),o=f.getAttribute("data-slider-labels");if(o){const a=Number(d.step||1),l=Math.round((r-Number(d.min||0))/a);let y=[];try{y=JSON.parse(o)}catch{}u.textContent=y[l]??d.value,f.querySelectorAll(".slider__scale-item").forEach((e,n)=>{e.classList.toggle("slider__scale-item--active",n===l)});return}const c=f.getAttribute("data-slider-unit"),s=f.getAttribute("data-slider-unit-one")||c;u.textContent=c?`${d.value} ${r===1?s:c}`:d.value}function p(){document.querySelectorAll("[data-slider] .slider__input").forEach(A)}document.addEventListener("input",f=>{if(!f.target.matches?.("[data-slider] .slider__input"))return;const d=A(f.target);d&&E(d,f.target)}),document.readyState==="loading"?document.addEventListener("DOMContentLoaded",p):p(),document.addEventListener("rapid:swapped",p)})(),(()=>{document.addEventListener("click",p=>{const f=p.target.closest?.(".tabs__tab");f&&E(f)}),document.addEventListener("keydown",p=>{if(!["ArrowRight","ArrowLeft","Home","End"].includes(p.key))return;const d=p.target.closest?.(".tabs__tab");if(!d)return;const u=[...d.parentElement.querySelectorAll(".tabs__tab")],r=u.indexOf(d);let o;p.key==="Home"?o=u[0]:p.key==="End"?o=u[u.length-1]:p.key==="ArrowRight"?o=u[(r+1)%u.length]:o=u[(r-1+u.length)%u.length],p.preventDefault(),o.focus(),E(o)});function A(){if(location.hash.length<2)return;const p=document.querySelector(`.tabs__tab#${CSS.escape(location.hash.slice(1))}`);if(!p)return;E(p);const f=()=>{document.activeElement===p&&p.blur()};f(),setTimeout(f,50)}A(),addEventListener("load",A),addEventListener("hashchange",A),document.addEventListener("rapid:swapped",A);function E(p){const f=p.closest(".tabs");f&&(f.querySelectorAll(":scope > .tabs__list > .tabs__tab").forEach(d=>{const u=d===p;d.setAttribute("aria-selected",String(u)),d.setAttribute("tabindex",u?"0":"-1")}),f.querySelectorAll(":scope > .tabs__panel").forEach(d=>{d.toggleAttribute("hidden",d.id!==p.getAttribute("aria-controls"))}))}})(),(()=>{const A=i=>String(i).padStart(2,"0"),E=i=>{const h=/^([01]\d|2[0-3]):([0-5]\d)$/.exec(i||"");return h?Number(h[1])*60+Number(h[2]):void 0},p=i=>{const h=(i%1440+1440)%1440;return`${A(Math.floor(h/60))}:${A(h%60)}`};function f(i){return{hour:i.querySelector("[data-segment='hour']"),minute:i.querySelector("[data-segment='minute']"),carrier:i.querySelector("[data-timepicker-value]"),list:i.querySelector(".timepicker__list"),toggle:i.querySelector("[data-timepicker-toggle]")}}const d=i=>({lo:E(i.getAttribute("data-timepicker-min")),hi:E(i.getAttribute("data-timepicker-max"))});function u(i){const{hour:h,minute:v}=f(i);if(!h?.value||!v?.value)return;const w=Number(h.value),x=Number(v.value);return w<=23&&x<=59?w*60+x:void 0}function r(i){const{hour:h,minute:v}=f(i);if(!h)return;const w=u(i),{lo:x,hi:C}=d(i),L=($,D,M,N)=>(h.getAttribute(`data-msg-${$}`)||D).replace(M,N??"");let q="";!h.value&&!v.value?i.hasAttribute("data-timepicker-required")&&(q=L("required","Enter a time.")):w===void 0?q=L("incomplete","Enter hours and minutes."):x!==void 0&&w<x?q=L("min","Pick {min} or later.","{min}",p(x)):C!==void 0&&w>C&&(q=L("max","Pick {max} or earlier.","{max}",p(C))),h.setCustomValidity(i.getAttribute("data-timepicker-error")||q)}function o(i,h=!0){const{hour:v,minute:w,carrier:x,list:C}=f(i);if(!v||!w||!x)return;for(const $ of[v,w])$.value===""?$.removeAttribute("aria-valuenow"):$.setAttribute("aria-valuenow",String(Number($.value)));const L=u(i),q=L===void 0?"":p(L);C?.querySelectorAll("[role='option']").forEach($=>$.setAttribute("aria-selected",String($.getAttribute("data-value")===q))),r(i),x.value!==q&&(x.value=q,h&&x.dispatchEvent(new Event("change",{bubbles:!0})))}function c(i,h){const{hour:v,minute:w}=f(i),x=p(h);v.value=x.slice(0,2),w.value=x.slice(3),o(i)}function s(i){const{hour:h,minute:v}=f(i);let w=!1;for(const[x,C]of[[h,23],[v,59]])x&&x.value.length===1&&(x.value=A(Math.min(Number(x.value),C)),w=!0);w&&o(i)}function a(i){!i||i.disabled||(i.focus(),i.select())}const l=i=>Array.from(i.querySelectorAll(".timepicker__slot")).filter(h=>!h.hidden),y=i=>i.classList.contains("timepicker--open");function e(i,h){const{list:v}=f(i);if(i.querySelectorAll(".timepicker__slot[data-active]").forEach(x=>x.removeAttribute("data-active")),!h||!v){v?.removeAttribute("aria-activedescendant");return}h.setAttribute("data-active",""),v.setAttribute("aria-activedescendant",h.id);const w=h.offsetTop;w<v.scrollTop?v.scrollTop=w:w+h.offsetHeight>v.scrollTop+v.clientHeight&&(v.scrollTop=w+h.offsetHeight-v.clientHeight)}function n(i){const{list:h,toggle:v}=f(i);if(!h||v?.disabled)return;const{lo:w,hi:x}=d(i);i.querySelectorAll(".timepicker__slot").forEach($=>{const D=E($.getAttribute("data-value"));$.hidden=w!==void 0&&D<w||x!==void 0&&D>x}),h.hidden=!1,i.classList.add("timepicker--open"),v?.setAttribute("aria-expanded","true");const C=l(i),L=u(i),q=C.find($=>$.getAttribute("aria-selected")==="true")??(L===void 0?void 0:C.find($=>E($.getAttribute("data-value"))>=L))??C[0];h.focus({preventScroll:!0}),e(i,q),q&&(h.scrollTop=q.offsetTop-(h.clientHeight-q.offsetHeight)/2)}function t(i,h){const{list:v,toggle:w,hour:x}=f(i);v&&(v.hidden=!0,i.classList.remove("timepicker--open"),w?.setAttribute("aria-expanded","false"),e(i,null),h&&a(x))}function m(i,h){const v=E(h?.getAttribute("data-value"));v!==void 0&&(c(i,v),t(i,!0))}let b="",_=0;function g(i,h){const v=Date.now();b=v-_>800?h:b+h,_=v;const w=l(i),x=L=>L.getAttribute("data-value").replace(":",""),C=w.find(L=>x(L).startsWith(b))??w.find(L=>x(L).replace(/^0/,"").startsWith(b));C&&e(i,C)}document.addEventListener("input",i=>{const h=i.target;if(!h?.matches?.(".timepicker__segment"))return;const v=h.closest("[data-timepicker]"),{minute:w}=f(v),x=h.value.replace(/\D/g,"").slice(0,2);h.value!==x&&(h.value=x);const C=h.getAttribute("data-segment")==="hour";if(x){const L=Number(x);if((x.length===2||L>(C?2:5))&&(h.value=A(Math.min(L,C?23:59)),C)){o(v),a(w);return}}o(v)},!0),document.addEventListener("paste",i=>{const h=i.target;if(!h?.matches?.(".timepicker__segment"))return;const v=i.clipboardData?.getData("text")??"",w=/^\s*(\d{1,2})\s*[:.h]\s*(\d{2})\s*$/.exec(v)??/^\s*(\d{1,2})(\d{2})\s*$/.exec(v);if(!w)return;i.preventDefault();const x=h.closest("[data-timepicker]");c(x,Math.min(Number(w[1]),23)*60+Math.min(Number(w[2]),59)),a(f(x).minute)}),document.addEventListener("keydown",i=>{const h=i.target,v=h?.closest?.("[data-timepicker]");if(!v)return;const{hour:w,minute:x,list:C}=f(v);if(h===C){const $=l(v),D=v.querySelector(".timepicker__slot[data-active]"),M=$.indexOf(D);if(i.key==="ArrowDown"||i.key==="ArrowUp"){i.preventDefault();const N=M<0?0:M+(i.key==="ArrowDown"?1:-1);e(v,$[Math.max(0,Math.min($.length-1,N))])}else i.key==="Home"||i.key==="End"?(i.preventDefault(),e(v,i.key==="Home"?$[0]:$[$.length-1])):i.key==="Enter"||i.key===" "?(i.preventDefault(),D&&m(v,D)):i.key==="Escape"?(i.preventDefault(),i.stopPropagation(),t(v,!0)):i.key==="Tab"?t(v,!1):/^\d$/.test(i.key)&&(i.preventDefault(),g(v,i.key));return}if(!h.matches(".timepicker__segment"))return;const L=h===w,q=L?23:59;if(i.altKey&&i.key==="ArrowDown"||i.key==="F4")i.preventDefault(),n(v);else if(i.key==="ArrowUp"||i.key==="ArrowDown"){i.preventDefault();const $=i.key==="ArrowUp"?1:-1,{lo:D}=d(v),M=L?Math.floor((D??0)/60):0,N=h.value===""?M:(Number(h.value)+$+q+1)%(q+1);h.value=A(N),o(v),h.select()}else if(i.key==="PageUp"||i.key==="PageDown"){i.preventDefault();const $=Number(C?.getAttribute("data-step"))||15,D=(Number(w.value)||0)*60+(Number(x.value)||0);c(v,D+(i.key==="PageUp"?$:-$)),h.select()}else i.key==="Home"||i.key==="End"?(i.preventDefault(),h.value=i.key==="Home"?"00":A(q),o(v),h.select()):L&&(i.key===":"||i.key==="."||i.key===" "||i.key==="ArrowRight")?(i.preventDefault(),s(v),a(x)):!L&&i.key==="ArrowLeft"||!L&&i.key==="Backspace"&&h.value===""?(i.preventDefault(),a(w)):i.key==="Escape"&&y(v)&&(i.preventDefault(),i.stopPropagation(),t(v,!0))}),document.addEventListener("focusin",i=>{i.target?.matches?.(".timepicker__segment")&&i.target.select()}),document.addEventListener("focusout",i=>{const h=i.target?.closest?.("[data-timepicker]");if(!h||h.contains(i.relatedTarget))return;s(h),y(h)&&t(h,!1);const{hour:v}=f(h);v?.closest("form[data-validate]")&&(v.dataset.touched="",v.dispatchEvent(new Event("change",{bubbles:!0})))}),document.addEventListener("click",i=>{const h=i.target,v=h?.closest?.("[data-timepicker]");if(v){if(h.closest("[data-timepicker-toggle]")){y(v)?t(v,!0):n(v);return}const w=h.closest(".timepicker__slot");if(w){m(v,w);return}h.matches(".timepicker__segment")?h.select():h.closest(".timepicker__field")&&a(f(v).hour)}document.querySelectorAll("[data-timepicker].timepicker--open").forEach(w=>{w!==v&&t(w,!1)})}),document.addEventListener("timepicker:refresh",i=>{const h=i.target?.closest?.("[data-timepicker]");if(!h)return;const v=i.detail?.value;if(typeof v=="string"){const{hour:w,minute:x}=f(h),C=E(v);w.value=C===void 0?"":v.slice(0,2),x.value=C===void 0?"":v.slice(3)}o(h)});function k(i){const{carrier:h}=f(i);if(!h||h.type==="hidden")return;const v=h.value;h.type="hidden",h.value=v,h.removeAttribute("aria-invalid"),o(i,!1)}function S(){document.querySelectorAll("[data-timepicker]").forEach(k)}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",S):S(),document.addEventListener("rapid:swapped",S)})(),(()=>{const A=new WeakMap;function E(d){const u=Number(d.dataset.toastAutodismiss);!u||A.has(d)||A.set(d,setTimeout(()=>d.remove(),u))}function p(d){const u=Number(d.dataset.toastMax)||4,r=d.querySelectorAll(":scope > .toast");for(let o=0;o<r.length-u;o++)r[o].remove()}function f(d){d.querySelectorAll?.(".toast[data-toast-autodismiss]").forEach(E),d.matches?.(".toast[data-toast-autodismiss]")&&E(d),d.querySelectorAll?.(".toast-region").forEach(p),d.closest?.(".toast-region")&&p(d.closest(".toast-region"))}f(document),new MutationObserver(d=>{for(const u of d)for(const r of u.addedNodes)r.nodeType===1&&f(r)}).observe(document.documentElement,{childList:!0,subtree:!0}),document.addEventListener("click",d=>{const u=d.target.closest?.("[data-toast-open]");if(!u)return;const r=document.querySelector(u.getAttribute("data-toast-open")??""),o=document.querySelector(u.getAttribute("data-toast-region")??"#toast-region");!r?.content||!o||o.append(r.content.cloneNode(!0))})})();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tundralibs/ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.11.0",
|
|
4
4
|
"description": "HTML + CSS + JS component and layout library; first-class UI layer for rAPId. The npm package carries the compiled dist/ bundle (served by jsDelivr); the TypeScript templates are published to JSR.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ui",
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
},
|
|
65
65
|
"devDependencies": {
|
|
66
66
|
"@tundralibs/compat": "npm:@jsr/tundralibs__compat@^2.7.2",
|
|
67
|
-
"@tundralibs/rapid": "npm:@jsr/tundralibs__rapid@^0.8.
|
|
67
|
+
"@tundralibs/rapid": "npm:@jsr/tundralibs__rapid@^0.8.4",
|
|
68
68
|
"esbuild": "0.25.12",
|
|
69
69
|
"postcss": "^8.5.0",
|
|
70
70
|
"postcss-import": "^16.1.0",
|