@webority/ui-elements 0.59.1 → 0.59.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/helpers.js CHANGED
@@ -1 +1 @@
1
- import{a as e,c as t,d as n,f as r,h as i,i as a,l as o,m as s,n as c,o as l,p as u,r as d,s as f,t as p,u as m}from"./formatters-BAE__8ye.js";import{t as h}from"./iconGlyphs.g-CUm_mfze.js";import{o as g}from"./optionLabel-BBaur8Bs.js";import{n as _,t as v}from"./copyText-DM5HhXjf.js";import{t as y}from"./textMatch-wdY7XLIc.js";import{a as b,c as x,i as S,n as C,o as w,r as T,s as E,t as D}from"./notificationDays-pYmoU0g6.js";import{a as O,c as k,d as A,f as j,i as M,l as N,m as P,n as F,o as I,p as L,r as R,s as z,t as B,u as V}from"./shortcutKeys-BQiDpsTJ.js";import{$ as H,A as U,B as W,C as G,D as K,E as q,F as J,G as Y,H as X,I as Z,J as Q,K as $,L as ee,M as te,N as ne,O as re,P as ie,Q as ae,R as oe,S as se,T as ce,U as le,V as ue,W as de,X as fe,Y as pe,Z as me,_ as he,a as ge,b as _e,c as ve,d as ye,f as be,g as xe,h as Se,i as Ce,j as we,k as Te,l as Ee,m as De,n as Oe,o as ke,p as Ae,q as je,s as Me,t as Ne,u as Pe,v as Fe,w as Ie,x as Le,y as Re,z as ze}from"./themeTransition-C61cbmZ4.js";export{Y as AVATAR_ACCEPT,$ as AVATAR_MAX_SIZE_MB,je as AVATAR_OUTPUT_SIZE,Q as AVATAR_OUTPUT_TYPE,pe as AVATAR_PREVIEW_SIZES,fe as AVATAR_TEXT,v as COPY_FEEDBACK_MS,p as CURRENCIES,c as DATE_PATTERNS,ee as DEFAULT_IMAGE_ACCEPT,oe as DEFAULT_MAX_SIZE_MB,se as DEFAULT_PASSWORD_RULES,G as DEFAULT_REQUIREMENTS_TITLE,Ne as DEFAULT_THEME_EFFECT,Oe as DEFAULT_THEME_STORAGE_KEY,d as DURATION_UNITS,a as EMPTY_VALUE,e as FORMAT_STYLES,l as IST_TIME_ZONE,B as LIST_KEYS,K as MASK_INPUT_TYPES,re as MASK_NAMES,f as MONEY_UNITS,D as NOTIFICATION_COUNT_CAP,C as NOTIFICATION_TEXT,Re as SCROLL_EDGE_SELECTOR,F as SELECT_KEY,R as SHORTCUTS_OFF_ATTRIBUTE,M as SHORTCUT_EVENT,O as SHORTCUT_SCOPE_ATTRIBUTE,I as SHORTCUT_TEXT,Ce as THEME_CHANGE_EVENT,ge as THEME_EFFECTS,ke as THEME_EFFECT_DURATION,Me as THEME_LIVE_NAME,ve as THEME_MODES,Ee as THEME_SWITCHING_CLASS,ze as acceptLabel,Pe as applyTheme,z as ariaKeyShortcuts,Te as attachInputMask,_e as attachScrollEdges,me as avatarCropOptions,ae as avatarUnreadableMessage,Ie as buildPasswordRules,_ as copyTextToClipboard,ce as evaluatePassword,t as formatCompact,o as formatCurrency,m as formatDate,n as formatDuration,U as formatMasked,r as formatNumber,u as formatPercent,s as formatValue,h as glyphSvg,T as groupNotificationsByDay,k as inShortcutScope,we as initInputMasks,Le as initScrollEdges,H as isHeicFile,W as isImageFile,ue as isImageOnlyAccept,te as isMaskPattern,X as isPdfFile,N as isTypingTarget,ne as maskedPostValue,y as matchSegments,le as matchesAccept,V as moveFocus,ye as nextTheme,S as notificationCountText,b as notificationDayHeading,w as notificationTime,E as notificationTriggerLabel,x as notificationUnreadAnnouncement,q as passwordSatisfies,ie as postedMasked,J as rawMasked,be as readStoredTheme,Z as resolveMask,Ae as resolveTheme,A as runShortcut,j as shortcutKey,L as shortcutName,P as shortcutsOff,De as storeTheme,Se as themeBootScript,xe as themeKeyframes,i as toInstant,he as transitionTheme,de as validateFile,Fe as watchSystemTheme,g as withTrustedLabel};
1
+ import{a as e,c as t,d as n,f as r,h as i,i as a,l as o,m as s,n as c,o as l,p as u,r as d,s as f,t as p,u as m}from"./formatters-BAE__8ye.js";import{t as h}from"./iconGlyphs.g-CUm_mfze.js";import{o as g}from"./optionLabel-BBaur8Bs.js";import{n as _,t as v}from"./copyText-DM5HhXjf.js";import{t as y}from"./textMatch-wdY7XLIc.js";import{a as b,c as x,i as S,n as C,o as w,r as T,s as E,t as D}from"./notificationDays-pYmoU0g6.js";import{a as O,c as k,d as A,f as j,i as M,l as N,m as P,n as F,o as I,p as L,r as R,s as z,t as B,u as V}from"./shortcutKeys-BQiDpsTJ.js";import{$ as H,A as U,B as W,C as G,D as K,E as q,F as J,G as Y,H as X,I as Z,J as Q,K as $,L as ee,M as te,N as ne,O as re,P as ie,Q as ae,R as oe,S as se,T as ce,U as le,V as ue,W as de,X as fe,Y as pe,Z as me,_ as he,a as ge,b as _e,c as ve,d as ye,f as be,g as xe,h as Se,i as Ce,j as we,k as Te,l as Ee,m as De,n as Oe,o as ke,p as Ae,q as je,s as Me,t as Ne,u as Pe,v as Fe,w as Ie,x as Le,y as Re,z as ze}from"./themeTransition-DO95LPdz.js";export{Y as AVATAR_ACCEPT,$ as AVATAR_MAX_SIZE_MB,je as AVATAR_OUTPUT_SIZE,Q as AVATAR_OUTPUT_TYPE,pe as AVATAR_PREVIEW_SIZES,fe as AVATAR_TEXT,v as COPY_FEEDBACK_MS,p as CURRENCIES,c as DATE_PATTERNS,ee as DEFAULT_IMAGE_ACCEPT,oe as DEFAULT_MAX_SIZE_MB,se as DEFAULT_PASSWORD_RULES,G as DEFAULT_REQUIREMENTS_TITLE,Ne as DEFAULT_THEME_EFFECT,Oe as DEFAULT_THEME_STORAGE_KEY,d as DURATION_UNITS,a as EMPTY_VALUE,e as FORMAT_STYLES,l as IST_TIME_ZONE,B as LIST_KEYS,K as MASK_INPUT_TYPES,re as MASK_NAMES,f as MONEY_UNITS,D as NOTIFICATION_COUNT_CAP,C as NOTIFICATION_TEXT,Re as SCROLL_EDGE_SELECTOR,F as SELECT_KEY,R as SHORTCUTS_OFF_ATTRIBUTE,M as SHORTCUT_EVENT,O as SHORTCUT_SCOPE_ATTRIBUTE,I as SHORTCUT_TEXT,Ce as THEME_CHANGE_EVENT,ge as THEME_EFFECTS,ke as THEME_EFFECT_DURATION,Me as THEME_LIVE_NAME,ve as THEME_MODES,Ee as THEME_SWITCHING_CLASS,ze as acceptLabel,Pe as applyTheme,z as ariaKeyShortcuts,Te as attachInputMask,_e as attachScrollEdges,me as avatarCropOptions,ae as avatarUnreadableMessage,Ie as buildPasswordRules,_ as copyTextToClipboard,ce as evaluatePassword,t as formatCompact,o as formatCurrency,m as formatDate,n as formatDuration,U as formatMasked,r as formatNumber,u as formatPercent,s as formatValue,h as glyphSvg,T as groupNotificationsByDay,k as inShortcutScope,we as initInputMasks,Le as initScrollEdges,H as isHeicFile,W as isImageFile,ue as isImageOnlyAccept,te as isMaskPattern,X as isPdfFile,N as isTypingTarget,ne as maskedPostValue,y as matchSegments,le as matchesAccept,V as moveFocus,ye as nextTheme,S as notificationCountText,b as notificationDayHeading,w as notificationTime,E as notificationTriggerLabel,x as notificationUnreadAnnouncement,q as passwordSatisfies,ie as postedMasked,J as rawMasked,be as readStoredTheme,Z as resolveMask,Ae as resolveTheme,A as runShortcut,j as shortcutKey,L as shortcutName,P as shortcutsOff,De as storeTheme,Se as themeBootScript,xe as themeKeyframes,i as toInstant,he as transitionTheme,de as validateFile,Fe as watchSystemTheme,g as withTrustedLabel};
@@ -1 +1 @@
1
- var e=`image/jpeg,image/png,image/webp,image/heic,image/heif,.heic,.heif`,t=10,n=512,r=`image/webp`,i=[96,48],a={dialogTitle:`Edit photo`,dialogSubtitle:`Drag to position the photo, then zoom or rotate it.`,save:`Save photo`,cancel:`Cancel`,choose:`Upload photo`,change:`Change photo`,camera:`Take photo`,remove:`Remove photo`,unreadable:`That photo could not be opened. Choose a JPG, PNG or WebP image.`,heicUnreadable:`This browser cannot open HEIC photos. Choose a JPG, PNG or WebP image instead.`,cropFailed:`That photo could not be saved. Try again, or choose another one.`};function o(e){if(!e)return!1;let t=String(e.type||``).toLowerCase();return t===`image/heic`||t===`image/heif`||/\.hei[cf]$/i.test(String(e.name||``))}function s(e){return o(e)?a.heicUnreadable:a.unreadable}function c(e,t){let n=Number(t);return{name:e?.name||`photo`,type:r,size:Number.isInteger(n)&&n>0?n:512}}var l=`image/png,image/jpeg,image/webp`,u=5,d={"image/png":[`.png`],"image/jpeg":[`.jpg`,`.jpeg`],"image/webp":[`.webp`],"image/gif":[`.gif`],"image/svg+xml":[`.svg`],"image/heic":[`.heic`],"image/heif":[`.heif`],"application/pdf":[`.pdf`],"text/plain":[`.txt`]},f={"image/png":`PNG`,"image/jpeg":`JPG`,"image/webp":`WEBP`,"image/gif":`GIF`,"image/svg+xml":`SVG`,"image/heic":`HEIC`,"image/heif":`HEIC`,"application/pdf":`PDF`,"text/plain":`text file`,".png":`PNG`,".jpg":`JPG`,".jpeg":`JPG`,".webp":`WEBP`,".gif":`GIF`,".svg":`SVG`,".heic":`HEIC`,".heif":`HEIC`,".pdf":`PDF`,".txt":`text file`},p=e=>String(e||``).split(`,`).map(e=>e.trim().toLowerCase()).filter(Boolean),m=[`.png`,`.jpg`,`.jpeg`,`.webp`,`.gif`,`.svg`,`.bmp`,`.avif`,`.heic`,`.heif`];function h(e){if(!e)return!1;let t=typeof e==`object`&&e.type?String(e.type).toLowerCase():``;if(t)return t.startsWith(`image/`);let n=typeof e==`string`?e:e.name||e.url||``,r=String(n).toLowerCase();return m.some(e=>r.endsWith(e))}function g(e){if(!e)return!1;let t=typeof e==`object`&&e.type?String(e.type).toLowerCase():``;if(t)return t===`application/pdf`;let n=typeof e==`string`?e:e.name||e.url||``;return String(n).toLowerCase().split(/[?#]/)[0].endsWith(`.pdf`)}function _(e){let t=p(e);return t.length?t.every(e=>e.startsWith(`.`)?m.includes(e):e===`image/*`||e.startsWith(`image/`)):!1}function v(e){let t=[];for(let n of p(e)){let e=f[n]||(n.startsWith(`.`)?n.slice(1).toUpperCase():n.toUpperCase());t.includes(e)||t.push(e)}return t.length<=1?t[0]||`supported`:`${t.slice(0,-1).join(`, `)} or ${t[t.length-1]}`}function y(e,t){let n=p(t);if(!n.length)return!0;let r=(e.type||``).toLowerCase(),i=(e.name||``).toLowerCase();return n.some(e=>e.startsWith(`.`)?i.endsWith(e):e.endsWith(`/*`)?r.startsWith(e.slice(0,-1)):r&&r===e?!0:!r&&(d[e]||[]).some(e=>i.endsWith(e)))}function b(e,t={}){if(!e)return null;let n=t.accept===void 0?l:t.accept,r=t.maxSizeMb===void 0?5:t.maxSizeMb;if(!y(e,n)){let e=v(n);return`Choose a ${e.endsWith(` file`)?e:`${e} file`}.`}return r>0&&e.size>r*1024*1024?`Keep the file under ${r} MB.`:null}var x=/[0-9]/,S={9:x,A:/[A-Za-z]/,"*":/[0-9A-Za-z]/},C=/[9A*]/,w=new Set([`text`,`tel`,`search`,`url`,`password`]),T=e=>{let t=e.replace(/\D/g,``);return t.length===12&&t.startsWith(`91`)?t.slice(2):t.length===11&&t.startsWith(`0`)?t.slice(1):e},E=e=>{let t=Number(e.slice(0,2)),n=Number(e.slice(2,4)),r=Number(e.slice(4,8));if(r<1)return!1;let i=new Date(Date.UTC(r,n-1,t));return i.getUTCFullYear()===r&&i.getUTCMonth()===n-1&&i.getUTCDate()===t},D=e=>e.length<=3?e:`${e.slice(0,-3).replace(/\B(?=(\d{2})+(?!\d))/g,`,`)},${e.slice(-3)}`,O=e=>{let t=/^(\d{4})-(\d{2})-(\d{2})$/.exec(e.trim());return t?`${t[3]}-${t[2]}-${t[1]}`:e};function k(e,{upper:t=!1,normalize:n,valid:r,post:i=e=>e,message:a=`Enter the full value`}={}){let o=[...e].map(e=>S[e]?{re:S[e]}:{lit:e}),s=o.filter(e=>e.re).length;return{inputMode:o.every(e=>!e.re||e.re===x)?`numeric`:`text`,normalize:n,post:i,message:a,extract(e){let n=``,r=0;for(let i of e){for(;r<o.length&&o[r].lit!==void 0&&o[r].lit!==i;)r++;if(r>=o.length)break;let e=o[r];e.lit===void 0?e.re.test(i)&&(n+=t?i.toUpperCase():i,r++):r++}return n},layout(e){let t=``,n=[],r=0;for(let i=0;i<o.length&&r<e.length;i++)o[i].lit===void 0?(t+=e[r++],n.push(!0)):(t+=o[i].lit,n.push(!1));return{text:t,isRaw:n}},isValid:e=>e.length===s&&(!r||r(e))}}function A(){return{inputMode:`decimal`,post:e=>e,message:`Enter a valid amount`,extract(e){let t=``,n=!1,r=0;for(let i of e)x.test(i)?n?r<2&&(t+=i,r++):t+=i:i===`.`&&!n&&(n=!0,t+=i);return t.startsWith(`.`)&&(t=`0${t}`),t.replace(/^0+(?=\d)/,``)},layout(e){let[t,n]=e.split(`.`),r=D(t)+(e.includes(`.`)?`.${n}`:``);return{text:r,isRaw:[...r].map(e=>e!==`,`)}},isValid:e=>/^\d+(\.\d{1,2})?$/.test(e)}}var j={"phone-in":()=>k(`99999 99999`,{normalize:T,valid:e=>/^[6-9]/.test(e),message:`Enter a 10-digit mobile number`}),pan:()=>k(`AAAAA9999A`,{upper:!0,valid:e=>/^[A-Z]{5}\d{4}[A-Z]$/.test(e),message:`Enter a valid PAN`}),gstin:()=>k(`99AAAAA9999A***`,{upper:!0,valid:e=>/^\d{2}[A-Z]{5}\d{4}[A-Z][1-9A-Z]Z[0-9A-Z]$/.test(e),message:`Enter a valid GSTIN`}),aadhaar:()=>k(`9999 9999 9999`,{valid:e=>/^[2-9]/.test(e),message:`Enter a valid 12-digit Aadhaar number`}),ifsc:()=>k(`AAAA*******`,{upper:!0,valid:e=>/^[A-Z]{4}0[A-Z0-9]{6}$/.test(e),message:`Enter a valid IFSC`}),"pin-code":()=>k(`999999`,{valid:e=>/^[1-9]/.test(e),message:`Enter a valid 6-digit PIN code`}),date:()=>k(`99-99-9999`,{normalize:O,valid:E,post:(e,t)=>e.length===8&&E(e)?`${e.slice(4)}-${e.slice(2,4)}-${e.slice(0,2)}`:t,message:`Enter a valid date as DD-MM-YYYY`}),amount:A},M=Object.keys(j),N=e=>{let t=String(e).toLowerCase();return Object.hasOwn(j,t)?t:void 0},ee=e=>C.test(String(e))&&N(e)===void 0,P=new Map;function F(e){if(e==null||e===``)return null;let t=String(e);return P.has(t)||(ee(t)?P.set(t,k(t)):P.set(t,Object.hasOwn(j,t)?j[t]():null)),P.get(t)}var I=(e,t)=>e.normalize?e.normalize(t):t;function te(e,t){let n=F(e);return n?n.extract(I(n,String(t??``))):String(t??``)}function ne(e,t){let n=F(e);if(!n)return String(t??``);let r=n.extract(I(n,String(t??``)));return n.post(r,n.layout(r).text)}function re(e,t){let n=F(e);return n?n.layout(n.extract(I(n,String(t??``)))).text:String(t??``)}var ie=(e,t)=>{if(t<=0)return 0;let n=0;for(let r=0;r<e.length;r++)if(e[r]&&++n===t)return r+1;return e.length},L=new WeakMap,ae=e=>L.get(e)?.(),oe=new WeakMap;function se(e,t,n,r){let i=e.getAll(t),a=oe.get(e);a||oe.set(e,a=new Set);let o=i.findIndex((e,r)=>e===n&&!a.has(`${t}\u0000${r}`));if(!(o<0)){if(a.add(`${t}\u0000${o}`),i[o]=r,i.length===1){e.set(t,r);return}e.delete(t);for(let n of i)e.append(t,n)}}function ce(e){let t=null,n=null,r=!1,i=(t,n)=>n===null?e.removeAttribute(t):e.setAttribute(t,n),a,o,s=()=>{t?.remove(),t=null,n&&(n.hidden=!1),n=null,r&&e.classList.remove(`error`),r=!1,a!==void 0&&i(`aria-invalid`,a),o!==void 0&&i(`aria-describedby`,o),a=void 0,o=void 0};return i=>{if(!i){s();return}let c=e.closest(`.field`),l=c?.querySelector(`.field-error`);l&&l!==t&&l.textContent.trim()||(t||(r=!e.classList.contains(`error`),e.classList.add(`error`),a=e.getAttribute(`aria-invalid`),o=e.getAttribute(`aria-describedby`),c&&(t=document.createElement(`div`),t.className=`field-error`,e.id&&(t.id=`${e.id}-error`),n=c.querySelector(`.field-hint`),n&&(n.hidden=!0),c.insertBefore(t,[...c.children].find(e=>e.classList.contains(`field-count`))??null),t.id&&e.setAttribute(`aria-describedby`,t.id)),e.setAttribute(`aria-invalid`,`true`)),t&&(t.textContent=i))}}function le(e,{mask:t,postFormatted:n=!1,onChange:r,onInvalidChange:i}={}){let a=F(t);if(!a||!w.has(e.type))return()=>{};let o=Object.getPrototypeOf(e),s=Object.getOwnPropertyDescriptor(o,`value`).set,c=!e.hasAttribute(`inputmode`);c&&e.setAttribute(`inputmode`,a.inputMode);let l=i??ce(e),u=null,d=!1,f=!1,p=!1,m=``,h=``,g,_=()=>{let e=p?m:``;e!==h&&(h=e,l(h))},v=(t,n,i)=>{let o=a.extract(t.slice(0,n)).length,c=a.extract(t),{text:l,isRaw:d}=a.layout(c);if(e.value!==l&&(s.call(e,l),document.activeElement===e&&w.has(e.type))){let t=ie(d,o);e.setSelectionRange(t,t)}e.dataset.maskRaw=c,m=c&&!a.isValid(c)?a.message:``,e.setCustomValidity(m),_(),i&&c!==u&&r?.(c,l),u=c},y=Object.getOwnPropertyDescriptor(e,`value`),b=y??Object.getOwnPropertyDescriptor(o,`value`);Object.defineProperty(e,"value",{configurable:!0,enumerable:b.enumerable,get:()=>b.get.call(e),set:t=>{if(b.set.call(e,t),f)return;let n=I(a,e.value);v(n,n.length,!0)}});let x=()=>{d=!0,e.dispatchEvent(new Event(`input`,{bubbles:!0})),d=!1},S=t=>{if(d||f||t.isComposing)return;let n=t.inputType===`insertText`&&(t.data?.length??0)<=1||t.inputType?.startsWith(`delete`)?e.value:I(a,e.value);v(n,e.selectionStart??n.length,!0)},C=()=>{f=!0},T=()=>{f=!1;let t=I(a,e.value);v(t,e.selectionStart??t.length,!0),x()},E=t=>{let n=t.inputType===`deleteContentBackward`;if(!n&&t.inputType!==`deleteContentForward`||t.isComposing)return;let r=e.selectionStart;if(r==null||r!==e.selectionEnd)return;let{isRaw:i}=a.layout(a.extract(e.value)),o=n?r-1:r;for(;o>=0&&o<i.length&&!i[o];)o+=n?-1:1;o!==(n?r-1:r)&&(t.preventDefault(),!(o<0||o>=i.length)&&(v(e.value.slice(0,o)+e.value.slice(o+1),n?o:r,!0),x()))},D=t=>{if(e.readOnly||e.disabled)return;let n=t.clipboardData?.getData(`text`);if(n==null)return;t.preventDefault();let r=I(a,n),i=e.selectionStart??e.value.length,o=e.selectionEnd??i;v(e.value.slice(0,i)+r+e.value.slice(o),i+r.length,!0),x()},O=()=>{let t=a.extract(e.value);return a.post(t,a.layout(t).text)},k=()=>{p=!0,_()};e.addEventListener(`input`,S),e.addEventListener(`beforeinput`,E),e.addEventListener(`paste`,D),e.addEventListener(`compositionstart`,C),e.addEventListener(`compositionend`,T),e.addEventListener(`blur`,k),e.addEventListener(`invalid`,k);let A=e.form,j=t=>{e.name&&!e.disabled&&se(t.formData,e.name,e.value,O())},M=()=>{clearTimeout(g),g=setTimeout(()=>{p=!1,v(I(a,e.value),e.value.length,!0)},0)};n||(A?.addEventListener(`formdata`,j),L.set(e,O)),A?.addEventListener(`reset`,M),A?.addEventListener(`submit`,k);let N=I(a,e.value);return v(N,N.length,!1),()=>{clearTimeout(g),e.removeEventListener(`input`,S),e.removeEventListener(`beforeinput`,E),e.removeEventListener(`paste`,D),e.removeEventListener(`compositionstart`,C),e.removeEventListener(`compositionend`,T),e.removeEventListener(`blur`,k),e.removeEventListener(`invalid`,k),A?.removeEventListener(`formdata`,j),A?.removeEventListener(`reset`,M),A?.removeEventListener(`submit`,k),L.delete(e),y?Object.defineProperty(e,"value",y):delete e.value,p=!1,m=``,_(),e.setCustomValidity(``),delete e.dataset.maskRaw,c&&e.removeAttribute(`inputmode`)}}function ue(){let e=typeof window>`u`?void 0:window.jQuery?.validator?.prototype;if(!e||e.wuiMaskHook)return;let t=e.elementValue;e.elementValue=function(e){let n=ae(e);return n===void 0?t.call(this,e):n},e.wuiMaskHook=!0}var R=new WeakMap,z,de=e=>{R.has(e)||R.set(e,le(e,{mask:e.dataset.appMask,postFormatted:e.hasAttribute(`data-mask-post-formatted`)}))},B=e=>e.nodeType===1?[...e.matches(`input[data-app-mask]`)?[e]:[],...e.querySelectorAll(`input[data-app-mask]`)]:[];function fe(){z||typeof MutationObserver>`u`||(z=new MutationObserver(e=>{for(let t of e){for(let e of t.removedNodes)for(let t of B(e))R.get(t)?.(),R.delete(t);for(let e of t.addedNodes)for(let t of B(e))de(t)}}),z.observe(document.documentElement,{childList:!0,subtree:!0}))}function pe(e=document){ue();for(let t of e.querySelectorAll(`input[data-app-mask]`))de(t);e===document&&fe()}var V={minLength:10,uppercase:!0,lowercase:!0,digit:!0,special:!0,uniqueChars:0,customRules:[]},me=`Password requirements`;function he(e){return e===!0||e==null?{...V}:{...V,...e}}function H(e){let t=he(e),n=[];if(t.minLength>0&&n.push({key:`length`,label:`At least ${t.minLength} characters long`,test:e=>e.length>=t.minLength}),t.uppercase&&n.push({key:`uppercase`,label:`At least one uppercase letter`,test:e=>/[A-Z]/.test(e)}),t.lowercase&&n.push({key:`lowercase`,label:`At least one lowercase letter`,test:e=>/[a-z]/.test(e)}),t.digit&&n.push({key:`digit`,label:`At least one digit`,test:e=>/[0-9]/.test(e)}),t.special&&n.push({key:`special`,label:`At least one special character`,test:e=>/[^A-Za-z0-9]/.test(e)}),t.uniqueChars>0){let e=t.uniqueChars;n.push({key:`unique`,label:`At least ${e} unique character${e>1?`s`:``}`,test:t=>new Set(t).size>=e})}for(let[e,r]of(t.customRules??[]).entries()){let t=new RegExp(r.pattern);n.push({key:`custom-${e}`,label:r.label,test:e=>t.test(e)})}return n}function U(e,t){let n=e==null?``:String(e);return H(t).map(e=>({key:e.key,label:e.label,met:e.test(n)}))}function ge(e,t){return U(e,t).every(e=>e.met)}var W=`.table-wrap, .table-responsive, [class*="table-responsive-"]`,G=1;function _e(e){let t=()=>{let t=e.scrollWidth-e.clientWidth,n=Math.abs(e.scrollLeft);e.toggleAttribute(`data-wui-overflow-start`,t>G&&n>G),e.toggleAttribute(`data-wui-overflow-end`,t>G&&n<t-G),e.toggleAttribute(`data-wui-overflow-top`,e.scrollTop>G)};e.addEventListener(`scroll`,t,{passive:!0});let n=null;if(typeof ResizeObserver<`u`){n=new ResizeObserver(t),n.observe(e);for(let t of e.children)n.observe(t)}return t(),()=>{e.removeEventListener(`scroll`,t),n?.disconnect(),e.removeAttribute(`data-wui-overflow-start`),e.removeAttribute(`data-wui-overflow-end`),e.removeAttribute(`data-wui-overflow-top`)}}var K=new WeakMap,q,ve=e=>{K.has(e)||K.set(e,_e(e))},ye=e=>e.nodeType===1?[...e.matches(`.table-wrap, .table-responsive, [class*="table-responsive-"]`)?[e]:[],...e.querySelectorAll(W)]:[];function be(){q||typeof MutationObserver>`u`||(q=new MutationObserver(e=>{for(let t of e){for(let e of t.removedNodes)for(let t of ye(e))K.get(t)?.(),K.delete(t);for(let e of t.addedNodes)for(let t of ye(e))ve(t)}}),q.observe(document.documentElement,{childList:!0,subtree:!0}))}function xe(e=document){for(let t of e.querySelectorAll(W))ve(t);e===document&&be()}var Se=[`light`,`dark`,`auto`],Ce=[`wave`,`circle`,`slide`,`blinds`,`fade`,`none`],we=`wave`,J=`theme`,Y={wave:1100,circle:700,slide:600,blinds:900,fade:350,none:0},X=`wui-theme-switching`,Te=`wui:theme:change`,Ee=`wui-theme-toggle`,De=`(prefers-color-scheme: dark)`,Oe=e=>typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(e).matches,ke=e=>Se.includes(e);function Ae(e){return e===`dark`||e===`auto`&&Oe(De)?`dark`:`light`}function je(e=J){let t=null;try{t=window.localStorage.getItem(e)}catch{}return ke(t)?t:`auto`}function Me(e,t=J){try{window.localStorage.setItem(t,e)}catch{}}function Ne(e){let t=document.documentElement,n=Ae(e);t.setAttribute(`data-theme`,e),t.setAttribute(`data-bs-theme`,n),document.dispatchEvent(new CustomEvent(Te,{detail:{mode:n,preference:e}}))}var Pe=`(function(k){var m;try{m=localStorage.getItem(k)}catch{}if(m!=='light'&&m!=='dark')m='auto';var r=document.documentElement,q=window.matchMedia?window.matchMedia('(prefers-color-scheme: dark)'):null;function s(){var t=r.getAttribute('data-theme');r.setAttribute('data-bs-theme',t==='auto'?(q&&q.matches?'dark':'light'):t)}r.setAttribute('data-theme',m);s();if(q&&q.addEventListener)q.addEventListener('change',function(){if(r.getAttribute('data-theme')==='auto')s()})})(`;function Fe(e=J){return`${Pe}${JSON.stringify(String(e)).replace(/</g,`\\u003c`)})`}function Ie(e,{includeAuto:t=!1}={}){return e===`light`?`dark`:e===`dark`&&t?`auto`:`light`}function Le(e){if(typeof window>`u`||typeof window.matchMedia!=`function`)return()=>{};let t=window.matchMedia(De),n=()=>e(t.matches?`dark`:`light`);return t.addEventListener(`change`,n),()=>t.removeEventListener(`change`,n)}var Re=60,ze=e=>e<.5?4*e*e*e:1-(-2*e+2)**3/2,Z=e=>e.toFixed(1),Q=(e,t)=>`${Z(e)}px ${Z(t)}px`,Be={amplitude:22,segments:36,cycles:1.5,ripples:2},Ve=6,He=(e,t,n,r,i)=>{let{amplitude:a,segments:o,cycles:s}=Be,c=n*(t+2*a),l=i?t+a-c:c-a,u=i?t+2*a:-2*a,d=[Q(0,u)];for(let t=0;t<=o;t++){let n=e*t/o,i=l+a*Math.sin(2*Math.PI*s*t/o+r);d.push(Q(n,i))}return d.push(Q(e,u)),`polygon(${d.join(`, `)})`},Ue=(e,t,n,r)=>{let i=t/Ve,a=[];for(let t=0;t<Ve;t++){let o=t*i,s=i*n,c=r?o+i-s:o,l=r?o+i:o+s;a.push(Q(0,c),Q(e,c),Q(e,l),Q(0,l))}return`polygon(${a.join(`, `)})`};function $(e,{width:t,height:n,to:r=`dark`,origin:i}={}){let a=r===`dark`,o=[];for(let r=0;r<=Re;r++){let s=r/Re,c=ze(s);switch(e){case`circle`:{let e=i?.x??t/2,r=i?.y??n/2,a=Math.hypot(Math.max(e,t-e),Math.max(r,n-r));o.push({clipPath:`circle(${Z(a*c)}px at ${Z(e)}px ${Z(r)}px)`});break}case`slide`:{let e=n*(1-c);o.push({clipPath:a?`inset(${Z(e)}px 0px 0px 0px)`:`inset(0px 0px ${Z(e)}px 0px)`});break}case`blinds`:o.push({clipPath:Ue(t,n,c,a)});break;case`fade`:o.push({clipPath:`none`,opacity:c});break;case`none`:return[];default:o.push({clipPath:He(t,n,c,s*Be.ripples*2*Math.PI,a)})}}return o}function We(e,{effect:t=we,to:n,origin:r,duration:i,live:a}={}){let o=document.documentElement,s=n!==void 0&&o.getAttribute(`data-bs-theme`)===n;if(t===`none`||s||Oe(`(prefers-reduced-motion: reduce)`)||typeof document.startViewTransition!=`function`||typeof o.animate!=`function`)return e(),Promise.resolve(!1);o.classList.add(X);let c=a instanceof Element?a:null;c&&(c.style.viewTransitionName=Ee);let l=document.startViewTransition(e),u=i??Y[t]??Y.wave;return l.ready.then(()=>{let e=$(t,{width:window.innerWidth,height:window.innerHeight,to:n,origin:r});o.animate(e,{duration:u,easing:`linear`,fill:`both`,pseudoElement:`::view-transition-new(root)`})}).catch(()=>{}),l.finished.catch(()=>{}).then(()=>(o.classList.remove(X),c&&(c.style.viewTransitionName=``),!0))}export{o as $,re as A,h as B,me as C,w as D,ge as E,te as F,e as G,g as H,F as I,r as J,t as K,l as L,ee as M,ae as N,M as O,ne as P,s as Q,u as R,V as S,U as T,y as U,_ as V,b as W,a as X,i as Y,c as Z,We as _,Ce as a,_e as b,Se as c,Ie as d,je as f,$ as g,Fe as h,Te as i,pe as j,le as k,X as l,Me as m,J as n,Y as o,Ae as p,n as q,Pe as r,Ee as s,we as t,Ne as u,Le as v,H as w,xe as x,W as y,v as z};
1
+ var e=`image/jpeg,image/png,image/webp,image/heic,image/heif,.heic,.heif`,t=10,n=512,r=`image/webp`,i=[96,48],a={dialogTitle:`Edit photo`,dialogSubtitle:`Drag to position the photo, then zoom or rotate it.`,save:`Save photo`,cancel:`Cancel`,choose:`Upload photo`,change:`Change photo`,camera:`Take photo`,remove:`Remove photo`,unreadable:`That photo could not be opened. Choose a JPG, PNG or WebP image.`,heicUnreadable:`This browser cannot open HEIC photos. Choose a JPG, PNG or WebP image instead.`,cropFailed:`That photo could not be saved. Try again, or choose another one.`};function o(e){if(!e)return!1;let t=String(e.type||``).toLowerCase();return t===`image/heic`||t===`image/heif`||/\.hei[cf]$/i.test(String(e.name||``))}function s(e){return o(e)?a.heicUnreadable:a.unreadable}function c(e,t){let n=Number(t);return{name:e?.name||`photo`,type:r,size:Number.isInteger(n)&&n>0?n:512}}var l=`image/png,image/jpeg,image/webp`,u=5,d={"image/png":[`.png`],"image/jpeg":[`.jpg`,`.jpeg`],"image/webp":[`.webp`],"image/gif":[`.gif`],"image/svg+xml":[`.svg`],"image/heic":[`.heic`],"image/heif":[`.heif`],"application/pdf":[`.pdf`],"text/plain":[`.txt`]},f={"image/png":`PNG`,"image/jpeg":`JPG`,"image/webp":`WEBP`,"image/gif":`GIF`,"image/svg+xml":`SVG`,"image/heic":`HEIC`,"image/heif":`HEIC`,"application/pdf":`PDF`,"text/plain":`text file`,".png":`PNG`,".jpg":`JPG`,".jpeg":`JPG`,".webp":`WEBP`,".gif":`GIF`,".svg":`SVG`,".heic":`HEIC`,".heif":`HEIC`,".pdf":`PDF`,".txt":`text file`},p=e=>String(e||``).split(`,`).map(e=>e.trim().toLowerCase()).filter(Boolean),m=[`.png`,`.jpg`,`.jpeg`,`.webp`,`.gif`,`.svg`,`.bmp`,`.avif`,`.heic`,`.heif`];function h(e){if(!e)return!1;let t=typeof e==`object`&&e.type?String(e.type).toLowerCase():``;if(t)return t.startsWith(`image/`);let n=typeof e==`string`?e:e.name||e.url||``,r=String(n).toLowerCase();return m.some(e=>r.endsWith(e))}function g(e){if(!e)return!1;let t=typeof e==`object`&&e.type?String(e.type).toLowerCase():``;if(t)return t===`application/pdf`;let n=typeof e==`string`?e:e.name||e.url||``;return String(n).toLowerCase().split(/[?#]/)[0].endsWith(`.pdf`)}function _(e){let t=p(e);return t.length?t.every(e=>e.startsWith(`.`)?m.includes(e):e===`image/*`||e.startsWith(`image/`)):!1}function v(e){let t=[];for(let n of p(e)){let e=f[n]||(n.startsWith(`.`)?n.slice(1).toUpperCase():n.toUpperCase());t.includes(e)||t.push(e)}return t.length<=1?t[0]||`supported`:`${t.slice(0,-1).join(`, `)} or ${t[t.length-1]}`}function y(e,t){let n=p(t);if(!n.length)return!0;let r=(e.type||``).toLowerCase(),i=(e.name||``).toLowerCase();return n.some(e=>e.startsWith(`.`)?i.endsWith(e):e.endsWith(`/*`)?r.startsWith(e.slice(0,-1)):r&&r===e?!0:!r&&(d[e]||[]).some(e=>i.endsWith(e)))}function b(e,t={}){if(!e)return null;let n=t.accept===void 0?l:t.accept,r=t.maxSizeMb===void 0?5:t.maxSizeMb;if(!y(e,n)){let e=v(n);return`Choose a ${e.endsWith(` file`)?e:`${e} file`}.`}return r>0&&e.size>r*1024*1024?`Keep the file under ${r} MB.`:null}var x=/[0-9]/,S={9:x,A:/[A-Za-z]/,"*":/[0-9A-Za-z]/},C=/[9A*]/,w=new Set([`text`,`tel`,`search`,`url`,`password`]),T=e=>{let t=e.replace(/\D/g,``);return t.length===12&&t.startsWith(`91`)?t.slice(2):t.length===11&&t.startsWith(`0`)?t.slice(1):e},E=e=>{let t=Number(e.slice(0,2)),n=Number(e.slice(2,4)),r=Number(e.slice(4,8));if(r<1)return!1;let i=new Date(Date.UTC(r,n-1,t));return i.getUTCFullYear()===r&&i.getUTCMonth()===n-1&&i.getUTCDate()===t},D=e=>e.length<=3?e:`${e.slice(0,-3).replace(/\B(?=(\d{2})+(?!\d))/g,`,`)},${e.slice(-3)}`,O=e=>{let t=/^(\d{4})-(\d{2})-(\d{2})$/.exec(e.trim());return t?`${t[3]}-${t[2]}-${t[1]}`:e};function k(e,{upper:t=!1,normalize:n,valid:r,post:i=e=>e,message:a=`Enter the full value`}={}){let o=[...e].map(e=>S[e]?{re:S[e]}:{lit:e}),s=o.filter(e=>e.re).length;return{inputMode:o.every(e=>!e.re||e.re===x)?`numeric`:`text`,normalize:n,post:i,message:a,extract(e){let n=``,r=0;for(let i of e){for(;r<o.length&&o[r].lit!==void 0&&o[r].lit!==i;)r++;if(r>=o.length)break;let e=o[r];e.lit===void 0?e.re.test(i)&&(n+=t?i.toUpperCase():i,r++):r++}return n},layout(e){let t=``,n=[],r=0;for(let i=0;i<o.length&&r<e.length;i++)o[i].lit===void 0?(t+=e[r++],n.push(!0)):(t+=o[i].lit,n.push(!1));return{text:t,isRaw:n}},isValid:e=>e.length===s&&(!r||r(e))}}function A(){return{inputMode:`decimal`,post:e=>e,message:`Enter a valid amount`,extract(e){let t=``,n=!1,r=0;for(let i of e)x.test(i)?n?r<2&&(t+=i,r++):t+=i:i===`.`&&!n&&(n=!0,t+=i);return t.startsWith(`.`)&&(t=`0${t}`),t.replace(/^0+(?=\d)/,``)},layout(e){let[t,n]=e.split(`.`),r=D(t)+(e.includes(`.`)?`.${n}`:``);return{text:r,isRaw:[...r].map(e=>e!==`,`)}},isValid:e=>/^\d+(\.\d{1,2})?$/.test(e)}}var j={"phone-in":()=>k(`99999 99999`,{normalize:T,valid:e=>/^[6-9]/.test(e),message:`Enter a 10-digit mobile number`}),pan:()=>k(`AAAAA9999A`,{upper:!0,valid:e=>/^[A-Z]{5}\d{4}[A-Z]$/.test(e),message:`Enter a valid PAN`}),gstin:()=>k(`99AAAAA9999A***`,{upper:!0,valid:e=>/^\d{2}[A-Z]{5}\d{4}[A-Z][1-9A-Z]Z[0-9A-Z]$/.test(e),message:`Enter a valid GSTIN`}),aadhaar:()=>k(`9999 9999 9999`,{valid:e=>/^[2-9]/.test(e),message:`Enter a valid 12-digit Aadhaar number`}),ifsc:()=>k(`AAAA*******`,{upper:!0,valid:e=>/^[A-Z]{4}0[A-Z0-9]{6}$/.test(e),message:`Enter a valid IFSC`}),"pin-code":()=>k(`999999`,{valid:e=>/^[1-9]/.test(e),message:`Enter a valid 6-digit PIN code`}),date:()=>k(`99-99-9999`,{normalize:O,valid:E,post:(e,t)=>e.length===8&&E(e)?`${e.slice(4)}-${e.slice(2,4)}-${e.slice(0,2)}`:t,message:`Enter a valid date as DD-MM-YYYY`}),amount:A},M=Object.keys(j),N=e=>{let t=String(e).toLowerCase();return Object.hasOwn(j,t)?t:void 0},ee=e=>C.test(String(e))&&N(e)===void 0,P=new Map;function F(e){if(e==null||e===``)return null;let t=String(e);return P.has(t)||(ee(t)?P.set(t,k(t)):P.set(t,Object.hasOwn(j,t)?j[t]():null)),P.get(t)}var I=(e,t)=>e.normalize?e.normalize(t):t;function te(e,t){let n=F(e);return n?n.extract(I(n,String(t??``))):String(t??``)}function ne(e,t){let n=F(e);if(!n)return String(t??``);let r=n.extract(I(n,String(t??``)));return n.post(r,n.layout(r).text)}function re(e,t){let n=F(e);return n?n.layout(n.extract(I(n,String(t??``)))).text:String(t??``)}var ie=(e,t)=>{if(t<=0)return 0;let n=0;for(let r=0;r<e.length;r++)if(e[r]&&++n===t)return r+1;return e.length},L=new WeakMap,ae=e=>L.get(e)?.(),oe=new WeakMap;function se(e,t,n,r){let i=e.getAll(t),a=oe.get(e);a||oe.set(e,a=new Set);let o=i.findIndex((e,r)=>e===n&&!a.has(`${t}\u0000${r}`));if(!(o<0)){if(a.add(`${t}\u0000${o}`),i[o]=r,i.length===1){e.set(t,r);return}e.delete(t);for(let n of i)e.append(t,n)}}function ce(e){let t=null,n=null,r=!1,i=(t,n)=>n===null?e.removeAttribute(t):e.setAttribute(t,n),a,o,s=()=>{t?.remove(),t=null,n&&(n.hidden=!1),n=null,r&&e.classList.remove(`error`),r=!1,a!==void 0&&i(`aria-invalid`,a),o!==void 0&&i(`aria-describedby`,o),a=void 0,o=void 0};return i=>{if(!i){s();return}let c=e.closest(`.field`),l=c?.querySelector(`.field-error`);l&&l!==t&&l.textContent.trim()||(t||(r=!e.classList.contains(`error`),e.classList.add(`error`),a=e.getAttribute(`aria-invalid`),o=e.getAttribute(`aria-describedby`),c&&(t=document.createElement(`div`),t.className=`field-error`,e.id&&(t.id=`${e.id}-error`),n=c.querySelector(`.field-hint`),n&&(n.hidden=!0),c.insertBefore(t,[...c.children].find(e=>e.classList.contains(`field-count`))??null),t.id&&e.setAttribute(`aria-describedby`,t.id)),e.setAttribute(`aria-invalid`,`true`)),t&&(t.textContent=i))}}function le(e,{mask:t,postFormatted:n=!1,onChange:r,onInvalidChange:i}={}){let a=F(t);if(!a||!w.has(e.type))return()=>{};let o=Object.getPrototypeOf(e),s=Object.getOwnPropertyDescriptor(o,`value`).set,c=!e.hasAttribute(`inputmode`);c&&e.setAttribute(`inputmode`,a.inputMode);let l=i??ce(e),u=null,d=!1,f=!1,p=!1,m=``,h=``,g,_=()=>{let e=p?m:``;e!==h&&(h=e,l(h))},v=(t,n,i)=>{let o=a.extract(t.slice(0,n)).length,c=a.extract(t),{text:l,isRaw:d}=a.layout(c);if(e.value!==l&&(s.call(e,l),document.activeElement===e&&w.has(e.type))){let t=ie(d,o);e.setSelectionRange(t,t)}e.dataset.maskRaw=c,m=c&&!a.isValid(c)?a.message:``,e.setCustomValidity(m),_(),i&&c!==u&&r?.(c,l),u=c},y=Object.getOwnPropertyDescriptor(e,`value`),b=y??Object.getOwnPropertyDescriptor(o,`value`);Object.defineProperty(e,"value",{configurable:!0,enumerable:b.enumerable,get:()=>b.get.call(e),set:t=>{if(b.set.call(e,t),f)return;let n=I(a,e.value);v(n,n.length,!0)}});let x=()=>{d=!0,e.dispatchEvent(new Event(`input`,{bubbles:!0})),d=!1},S=t=>{if(d||f||t.isComposing)return;let n=t.inputType===`insertText`&&(t.data?.length??0)<=1||t.inputType?.startsWith(`delete`)?e.value:I(a,e.value);v(n,e.selectionStart??n.length,!0)},C=()=>{f=!0},T=()=>{f=!1;let t=I(a,e.value);v(t,e.selectionStart??t.length,!0),x()},E=t=>{let n=t.inputType===`deleteContentBackward`;if(!n&&t.inputType!==`deleteContentForward`||t.isComposing)return;let r=e.selectionStart;if(r==null||r!==e.selectionEnd)return;let{isRaw:i}=a.layout(a.extract(e.value)),o=n?r-1:r;for(;o>=0&&o<i.length&&!i[o];)o+=n?-1:1;o!==(n?r-1:r)&&(t.preventDefault(),!(o<0||o>=i.length)&&(v(e.value.slice(0,o)+e.value.slice(o+1),n?o:r,!0),x()))},D=t=>{if(e.readOnly||e.disabled)return;let n=t.clipboardData?.getData(`text`);if(n==null)return;t.preventDefault();let r=I(a,n),i=e.selectionStart??e.value.length,o=e.selectionEnd??i;v(e.value.slice(0,i)+r+e.value.slice(o),i+r.length,!0),x()},O=()=>{let t=a.extract(e.value);return a.post(t,a.layout(t).text)},k=()=>{p=!0,_()};e.addEventListener(`input`,S),e.addEventListener(`beforeinput`,E),e.addEventListener(`paste`,D),e.addEventListener(`compositionstart`,C),e.addEventListener(`compositionend`,T),e.addEventListener(`blur`,k),e.addEventListener(`invalid`,k);let A=e.form,j=t=>{e.name&&!e.disabled&&se(t.formData,e.name,e.value,O())},M=()=>{clearTimeout(g),g=setTimeout(()=>{p=!1,v(I(a,e.value),e.value.length,!0)},0)};n||(A?.addEventListener(`formdata`,j),L.set(e,O)),A?.addEventListener(`reset`,M),A?.addEventListener(`submit`,k);let N=I(a,e.value);return v(N,N.length,!1),()=>{clearTimeout(g),e.removeEventListener(`input`,S),e.removeEventListener(`beforeinput`,E),e.removeEventListener(`paste`,D),e.removeEventListener(`compositionstart`,C),e.removeEventListener(`compositionend`,T),e.removeEventListener(`blur`,k),e.removeEventListener(`invalid`,k),A?.removeEventListener(`formdata`,j),A?.removeEventListener(`reset`,M),A?.removeEventListener(`submit`,k),L.delete(e),y?Object.defineProperty(e,"value",y):delete e.value,p=!1,m=``,_(),e.setCustomValidity(``),delete e.dataset.maskRaw,c&&e.removeAttribute(`inputmode`)}}function ue(){let e=typeof window>`u`?void 0:window.jQuery?.validator?.prototype;if(!e||e.wuiMaskHook)return;let t=e.elementValue;e.elementValue=function(e){let n=ae(e);return n===void 0?t.call(this,e):n},e.wuiMaskHook=!0}var R=new WeakMap,z,de=e=>{R.has(e)||R.set(e,le(e,{mask:e.dataset.appMask,postFormatted:e.hasAttribute(`data-mask-post-formatted`)}))},B=e=>e.nodeType===1?[...e.matches(`input[data-app-mask]`)?[e]:[],...e.querySelectorAll(`input[data-app-mask]`)]:[];function fe(){z||typeof MutationObserver>`u`||(z=new MutationObserver(e=>{for(let t of e){for(let e of t.removedNodes)for(let t of B(e))R.get(t)?.(),R.delete(t);for(let e of t.addedNodes)for(let t of B(e))de(t)}}),z.observe(document.documentElement,{childList:!0,subtree:!0}))}function pe(e=document){ue();for(let t of e.querySelectorAll(`input[data-app-mask]`))de(t);e===document&&fe()}var V={minLength:10,uppercase:!0,lowercase:!0,digit:!0,special:!0,uniqueChars:0,customRules:[]},me=`Password requirements`;function he(e){return e===!0||e==null?{...V}:{...V,...e}}function H(e){let t=he(e),n=[];if(t.minLength>0&&n.push({key:`length`,label:`At least ${t.minLength} characters long`,test:e=>e.length>=t.minLength}),t.uppercase&&n.push({key:`uppercase`,label:`At least one uppercase letter`,test:e=>/[A-Z]/.test(e)}),t.lowercase&&n.push({key:`lowercase`,label:`At least one lowercase letter`,test:e=>/[a-z]/.test(e)}),t.digit&&n.push({key:`digit`,label:`At least one digit`,test:e=>/[0-9]/.test(e)}),t.special&&n.push({key:`special`,label:`At least one special character`,test:e=>/[^A-Za-z0-9]/.test(e)}),t.uniqueChars>0){let e=t.uniqueChars;n.push({key:`unique`,label:`At least ${e} unique character${e>1?`s`:``}`,test:t=>new Set(t).size>=e})}for(let[e,r]of(t.customRules??[]).entries()){let t=new RegExp(r.pattern);n.push({key:`custom-${e}`,label:r.label,test:e=>t.test(e)})}return n}function U(e,t){let n=e==null?``:String(e);return H(t).map(e=>({key:e.key,label:e.label,met:e.test(n)}))}function ge(e,t){return U(e,t).every(e=>e.met)}var W=`.table-wrap, .table-responsive, [class*="table-responsive-"]`,G=1;function _e(e){let t=()=>{let t=e.scrollWidth-e.clientWidth,n=Math.abs(e.scrollLeft);e.toggleAttribute(`data-wui-overflow-start`,t>G&&n>G),e.toggleAttribute(`data-wui-overflow-end`,t>G&&n<t-G),e.toggleAttribute(`data-wui-overflow-top`,e.scrollTop>G)},n=()=>{if(e.scrollWidth-e.clientWidth>G){let t=getComputedStyle(e);e.style.setProperty(`--wui-scroll-pad-start`,t.paddingInlineStart),e.style.setProperty(`--wui-scroll-pad-end`,t.paddingInlineEnd)}else e.style.getPropertyValue(`--wui-scroll-pad-end`)&&(e.style.removeProperty(`--wui-scroll-pad-start`),e.style.removeProperty(`--wui-scroll-pad-end`))},r=()=>{n(),t()};e.addEventListener(`scroll`,t,{passive:!0});let i=null;if(typeof ResizeObserver<`u`){i=new ResizeObserver(r),i.observe(e);for(let t of e.children)i.observe(t)}return r(),()=>{e.removeEventListener(`scroll`,t),i?.disconnect(),e.removeAttribute(`data-wui-overflow-start`),e.removeAttribute(`data-wui-overflow-end`),e.removeAttribute(`data-wui-overflow-top`),e.style.getPropertyValue(`--wui-scroll-pad-end`)&&(e.style.removeProperty(`--wui-scroll-pad-start`),e.style.removeProperty(`--wui-scroll-pad-end`))}}var K=new WeakMap,q,ve=e=>{K.has(e)||K.set(e,_e(e))},ye=e=>e.nodeType===1?[...e.matches(`.table-wrap, .table-responsive, [class*="table-responsive-"]`)?[e]:[],...e.querySelectorAll(W)]:[];function be(){q||typeof MutationObserver>`u`||(q=new MutationObserver(e=>{for(let t of e){for(let e of t.removedNodes)for(let t of ye(e))K.get(t)?.(),K.delete(t);for(let e of t.addedNodes)for(let t of ye(e))ve(t)}}),q.observe(document.documentElement,{childList:!0,subtree:!0}))}function xe(e=document){for(let t of e.querySelectorAll(W))ve(t);e===document&&be()}var Se=[`light`,`dark`,`auto`],Ce=[`wave`,`circle`,`slide`,`blinds`,`fade`,`none`],we=`wave`,J=`theme`,Y={wave:1100,circle:700,slide:600,blinds:900,fade:350,none:0},X=`wui-theme-switching`,Te=`wui:theme:change`,Ee=`wui-theme-toggle`,De=`(prefers-color-scheme: dark)`,Oe=e=>typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(e).matches,ke=e=>Se.includes(e);function Ae(e){return e===`dark`||e===`auto`&&Oe(De)?`dark`:`light`}function je(e=J){let t=null;try{t=window.localStorage.getItem(e)}catch{}return ke(t)?t:`auto`}function Me(e,t=J){try{window.localStorage.setItem(t,e)}catch{}}function Ne(e){let t=document.documentElement,n=Ae(e);t.setAttribute(`data-theme`,e),t.setAttribute(`data-bs-theme`,n),document.dispatchEvent(new CustomEvent(Te,{detail:{mode:n,preference:e}}))}var Pe=`(function(k){var m;try{m=localStorage.getItem(k)}catch{}if(m!=='light'&&m!=='dark')m='auto';var r=document.documentElement,q=window.matchMedia?window.matchMedia('(prefers-color-scheme: dark)'):null;function s(){var t=r.getAttribute('data-theme');r.setAttribute('data-bs-theme',t==='auto'?(q&&q.matches?'dark':'light'):t)}r.setAttribute('data-theme',m);s();if(q&&q.addEventListener)q.addEventListener('change',function(){if(r.getAttribute('data-theme')==='auto')s()})})(`;function Fe(e=J){return`${Pe}${JSON.stringify(String(e)).replace(/</g,`\\u003c`)})`}function Ie(e,{includeAuto:t=!1}={}){return e===`light`?`dark`:e===`dark`&&t?`auto`:`light`}function Le(e){if(typeof window>`u`||typeof window.matchMedia!=`function`)return()=>{};let t=window.matchMedia(De),n=()=>e(t.matches?`dark`:`light`);return t.addEventListener(`change`,n),()=>t.removeEventListener(`change`,n)}var Re=60,ze=e=>e<.5?4*e*e*e:1-(-2*e+2)**3/2,Z=e=>e.toFixed(1),Q=(e,t)=>`${Z(e)}px ${Z(t)}px`,Be={amplitude:22,segments:36,cycles:1.5,ripples:2},Ve=6,He=(e,t,n,r,i)=>{let{amplitude:a,segments:o,cycles:s}=Be,c=n*(t+2*a),l=i?t+a-c:c-a,u=i?t+2*a:-2*a,d=[Q(0,u)];for(let t=0;t<=o;t++){let n=e*t/o,i=l+a*Math.sin(2*Math.PI*s*t/o+r);d.push(Q(n,i))}return d.push(Q(e,u)),`polygon(${d.join(`, `)})`},Ue=(e,t,n,r)=>{let i=t/Ve,a=[];for(let t=0;t<Ve;t++){let o=t*i,s=i*n,c=r?o+i-s:o,l=r?o+i:o+s;a.push(Q(0,c),Q(e,c),Q(e,l),Q(0,l))}return`polygon(${a.join(`, `)})`};function $(e,{width:t,height:n,to:r=`dark`,origin:i}={}){let a=r===`dark`,o=[];for(let r=0;r<=Re;r++){let s=r/Re,c=ze(s);switch(e){case`circle`:{let e=i?.x??t/2,r=i?.y??n/2,a=Math.hypot(Math.max(e,t-e),Math.max(r,n-r));o.push({clipPath:`circle(${Z(a*c)}px at ${Z(e)}px ${Z(r)}px)`});break}case`slide`:{let e=n*(1-c);o.push({clipPath:a?`inset(${Z(e)}px 0px 0px 0px)`:`inset(0px 0px ${Z(e)}px 0px)`});break}case`blinds`:o.push({clipPath:Ue(t,n,c,a)});break;case`fade`:o.push({clipPath:`none`,opacity:c});break;case`none`:return[];default:o.push({clipPath:He(t,n,c,s*Be.ripples*2*Math.PI,a)})}}return o}function We(e,{effect:t=we,to:n,origin:r,duration:i,live:a}={}){let o=document.documentElement,s=n!==void 0&&o.getAttribute(`data-bs-theme`)===n;if(t===`none`||s||Oe(`(prefers-reduced-motion: reduce)`)||typeof document.startViewTransition!=`function`||typeof o.animate!=`function`)return e(),Promise.resolve(!1);o.classList.add(X);let c=a instanceof Element?a:null;c&&(c.style.viewTransitionName=Ee);let l=document.startViewTransition(e),u=i??Y[t]??Y.wave;return l.ready.then(()=>{let e=$(t,{width:window.innerWidth,height:window.innerHeight,to:n,origin:r});o.animate(e,{duration:u,easing:`linear`,fill:`both`,pseudoElement:`::view-transition-new(root)`})}).catch(()=>{}),l.finished.catch(()=>{}).then(()=>(o.classList.remove(X),c&&(c.style.viewTransitionName=``),!0))}export{o as $,re as A,h as B,me as C,w as D,ge as E,te as F,e as G,g as H,F as I,r as J,t as K,l as L,ee as M,ae as N,M as O,ne as P,s as Q,u as R,V as S,U as T,y as U,_ as V,b as W,a as X,i as Y,c as Z,We as _,Ce as a,_e as b,Se as c,Ie as d,je as f,$ as g,Fe as h,Te as i,pe as j,le as k,X as l,Me as m,J as n,Y as o,Ae as p,n as q,Pe as r,Ee as s,we as t,Ne as u,Le as v,H as w,xe as x,W as y,v as z};
@@ -905,4 +905,4 @@ ${Object.entries({"--wui-z-tour":`1550`,"--wui-radius-sm":`8px`,"--wui-radius-lg
905
905
  </div>
906
906
  </div>
907
907
  </div>
908
- <div class="visually-hidden" role="status" aria-live="polite"></div>`;let n=t;this._shadow=null,this.isolated&&(n=document.createElement(Sd),this._shadow=n.attachShadow({mode:`open`}),Fd(this._shadow),this._shadow.appendChild(t)),document.body.appendChild(n),document.documentElement.setAttribute(pr,``),this._outer=n,this._layer=t,this._spot=t.querySelector(`.wui-tour-spot`),this._card=t.querySelector(`.wui-tour-card`),this._live=t.querySelector(`[role=status]`),this._card.querySelector(`.wui-tour-skip`).addEventListener(`click`,()=>this._close(`skipped`,`button`)),this._card.querySelector(`.wui-tour-back`).addEventListener(`click`,()=>this._move(-1)),this._card.querySelector(`.wui-tour-next`).addEventListener(`click`,()=>this._move(1)),this._shadow&&this._card.removeAttribute(`aria-modal`),this._onKey=e=>this._key(e),this._onFocusIn=e=>{if(!this._layer||this._ending)return;let t=this._current,n=t?this._steps[t.index]:null;xu(this._layer,n,t?.target??null,e.target)||this._card.focus()},document.addEventListener(`keydown`,this._onKey,!0),this._shadow||document.addEventListener(`focusin`,this._onFocusIn),I(n,()=>this._follow())}_active(){return this._shadow?this._shadow.activeElement:document.activeElement}_show(e){this._current=e;let{index:t,target:n}=e,r=this._steps[t],i=this._card,a=this._progress.position(t),o=this._progress.total(),s=a===o&&!this._endDialogText(),c=yd(this,a,o);bd(i,{text:c,position:a,total:o}),gd(i,r,{pause:this._label(`mediaPause`),play:this._label(`mediaPlay`)});let l=yu(this,{layer:this._layer,spot:this._spot,card:i},r,n),u=i.querySelector(`.wui-tour-title`);u.textContent=r.title||``,u.hidden=!r.title,i.querySelector(`.wui-tour-text`).textContent=r.description||``,i.querySelector(`.wui-tour-skip`).textContent=this._label(`skip`),i.querySelector(`.wui-tour-back`).textContent=this._label(`back`),i.querySelector(`.wui-tour-back`).hidden=t<=this._firstIndex,i.querySelector(`.wui-tour-next`).textContent=this._label(s?`done`:`next`);let d=[c,r.title,r.description].filter(Boolean).join(`. `);this._live.textContent=l?[d,l].join(/[.!?]$/.test(d)?` `:`. `):d,Ku(i,n),this._spot.removeAttribute(wd),this._place(),Nu(i),this._unbindAdvance?.(),this._unbindAdvance=bu(r,n,()=>this._move(1));let f=this._active();(i.contains(f)?!f.hidden:this._shadow!==null&&Md(Nd()))||i.focus(),this.dispatchEvent(new CustomEvent(`wui-tour:step`,{bubbles:!0,detail:{step:r,index:t,position:a,total:o}}))}_place(){!this._current||!this._layer||qu(this._spot,this._card,this._current.target)}_follow(){if(!this._current||!this._layer||this._ending)return;let e=this._spot.style.cssText;this._place(),this._spot.style.cssText!==e&&this._spot.setAttribute(wd,``)}async _move(e){this._current&&await this._go(this._current.index+e,e)}async _go(e,t){if(!this._current||this._moving)return;this._moving=!0;let n=this._run;try{let r=await this._locate(e,t,n);if(n!==this._run)return;if(r){let e=Pu(this._card);if(e&&await e,n!==this._run)return;this._show(r)}else if(t>0){let e=this._endDialogText();if(e&&await this._showEnd(e),n!==this._run)return;await this._close(`finished`)}}finally{this._moving=!1}}_showEnd(e){return this._unbindAdvance?.(),this._unbindAdvance=null,yu(this,{layer:this._layer,spot:this._spot,card:this._card},null,null),this._spot.removeAttribute(wd),this._ending=new AbortController,this._seenMark=this._markSeen(`finished`),nd(this._layer,e,this._ending.signal)}_key(e){if(!(!this._layer||this._ending||e.altKey||e.ctrlKey||e.metaKey)){if(e.key===`Escape`)e.preventDefault(),e.stopPropagation(),this._close(`skipped`,`escape`);else if(e.key===`ArrowRight`||e.key===`ArrowLeft`){if(Md(e.composedPath?.()[0]??e.target))return;e.preventDefault(),e.key===`ArrowRight`?this._move(1):this._current.index>this._firstIndex&&this._move(-1)}else if(e.key===`Tab`&&!this._shadow){let{index:t,target:n}=this._current;Su(e,{card:this._card,active:this._active(),step:this._steps[t],target:n})}}}_teardown(){if(!this._layer)return;document.removeEventListener(`keydown`,this._onKey,!0),document.removeEventListener(`focusin`,this._onFocusIn);let e=!this._shadow||this._shadow.activeElement!==null||!document.activeElement||document.activeElement===document.body;this._unbindAdvance?.(),this._unbindAdvance=null,this._ending?.abort(),this._ending=null,this._seenMark=null,L(this._outer),Fu(this._outer),document.documentElement.removeAttribute(pr),this._outer=null,this._shadow=null,this._layer=null,this._current=null;let t=this._returnFocus;this._returnFocus=null,e&&t?.isConnected&&t.focus?.()}async _close(e,t=null){let n=this._run,r=this._current,i=r?{index:r.index,position:this._progress.position(r.index),total:this._progress.total()}:Od,a=this._seenMark;this._teardown();try{n===this._run&&await(a??this._markSeen(e))}finally{this._finish(e,i,t)}}_finish(e,t=Od,n=null){this._run++,this._running=!1,this.hasAttribute(`open`)&&this.removeAttribute(`open`),this.dispatchEvent(new CustomEvent(`wui-tour:close`,{bubbles:!0,detail:{reason:e,...t,via:n}}))}},Ld=[`none`,`single`,`multiple`],Rd=`parentId`,zd=`Loading`,Bd=`Could not load. Try again.`,Vd=`:scope > input[data-wui-mirror]`,Hd=[`nodes`,`selection`,`selected`,`values`,`loadChildren`,`loadUrl`,`name`],Ud=0;function Q(e,t,n){let r=document.createElement(e);t&&(r.className=t);for(let[e,t]of Object.entries(n??{}))t!=null&&r.setAttribute(e,String(t));return r}var Wd=class extends n{static get observedAttributes(){return[`selection`,`selected`,`name`,`aria-label`,`loading-text`,`error-text`]}constructor(){super(),this._uid=`wui-tree-${++Ud}`,this._seq=0,this._roots=[],this._byId=new Map,this._prev=null,this._staged=null,this._els=new Map,this._checked=new Set,this._selected=null,this._focusId=null,this._loader=null,this._list=null,this._live=null,this._ready=!1,this._nav=sn({getVisibleOptions:()=>this._visible().map(e=>this._els.get(e.id)?.row),getActive:()=>this._visible().findIndex(e=>e.id===this._focusId),setActive:e=>this._focusNode(this._visible()[e]),onEnter:()=>{let e=this._byId.get(this._focusId);e&&this._activate(e)}}),this._onKeyDown=e=>this._handleKeyDown(e),this._onClick=e=>this._handleClick(e),this._onFocusIn=e=>{let t=this._nodeFrom(e.target);t&&t.id!==this._focusId&&this._setRoving(t)}}connectedCallback(){let e={};for(let t of Hd)Object.hasOwn(this,t)&&(e[t]=this[t],delete this[t]);if(!this._ready){this._ready=!0;let e=this._readScript();this.replaceChildren(),this._list=Q(`ul`,`wui-tree`),this._list.setAttribute(`role`,`tree`),this._live=Q(`div`,`visually-hidden`,{role:`status`,"aria-live":`polite`}),this.append(this._list,this._live),e&&this._adoptAll(e)}for(let[t,n]of Object.entries(e))this[t]=n;this.addEventListener(`keydown`,this._onKeyDown),this.addEventListener(`click`,this._onClick),this.addEventListener(`focusin`,this._onFocusIn),this._render(),this._loadOpenNodes()}disconnectedCallback(){this.removeEventListener(`keydown`,this._onKeyDown),this.removeEventListener(`click`,this._onClick),this.removeEventListener(`focusin`,this._onFocusIn),this._nav.teardown()}attributeChangedCallback(e,t,n){e===`selected`&&(this._selected=n),this._ready&&this.isConnected&&this._render()}get nodes(){return this._roots.map(e=>e.raw)}set nodes(e){this._adoptAll(e??[]),this._render(),this._loadOpenNodes()}get selection(){let e=this.getAttribute(`selection`);return Ld.includes(e)?e:`none`}set selection(e){this.setAttribute(`selection`,String(e))}get selected(){return this._selected}set selected(e){this._selected=e==null?null:String(e),this._render()}get values(){let e=[],t=n=>{for(let r of n)this._state(r)===`checked`&&e.push(r.id),r.children&&t(r.children)};return t(this._roots),[...e,...[...this._checked].filter(e=>!this._byId.has(e))]}set values(e){this._checked.clear();for(let t of e??[]){let e=this._byId.get(String(t));e?this._setChecked(e,!0):this._checked.add(String(t))}this._render()}get loadChildren(){return this._loader}set loadChildren(e){this._loader=typeof e==`function`?e:null}get loadUrl(){return this.getAttribute(`load-url`)}set loadUrl(e){e==null?this.removeAttribute(`load-url`):this.setAttribute(`load-url`,String(e))}get name(){return this.getAttribute(`name`)}set name(e){e==null?this.removeAttribute(`name`):this.setAttribute(`name`,String(e))}get loadingText(){return this.getAttribute(`loading-text`)??zd}set loadingText(e){this.setAttribute(`loading-text`,String(e??``))}get errorText(){return this.getAttribute(`error-text`)??Bd}set errorText(e){this.setAttribute(`error-text`,String(e??``))}_readScript(){let e=this.querySelector(`:scope > script[type='application/json']`);if(!e)return null;try{return JSON.parse(e.textContent)}catch(e){return console.error(`[@webority/ui-elements] <wui-tree> could not read its JSON nodes:`,e?.message),null}}_adoptAll(e){let t=this._byId;this._prev=t,this._byId=new Map;let n;try{n=this._adoptStaged(e,null,1)}catch(e){throw this._byId=t,e}finally{this._prev=null}this._roots=n;for(let e of t.keys())this._byId.has(e)||this._checked.delete(e);for(let e of this._roots)this._passChecksDown(e);this._focusId&&!this._byId.has(this._focusId)&&(this._focusId=null)}_adoptStaged(e,t,n){let r=[],i=[];this._staged={ids:r,checks:i};try{let r=this._adopt(e,t,n);for(let e of i)this._checked.add(e);return r}catch(e){for(let e of r)this._byId.delete(e);throw e}finally{this._staged=null}}_adopt(e,t,n){if(!Array.isArray(e))throw Error(`<wui-tree> nodes must be an array.`);return e.map(e=>{let r=e?.id==null?``:String(e.id);if(!r)throw Error(`<wui-tree> every node needs an id.`);if(this._byId.has(r))throw Error(`<wui-tree> node id "${r}" is used twice.`);let i=this._prev?.get(r),a={id:r,raw:e,parent:t,level:n,seq:++this._seq,label:e.label==null?r:String(e.label),icon:e.icon||null,badge:e.badge==null||e.badge===``?null:String(e.badge),badgeTone:e.badgeTone||null,disabled:!!e.disabled,hasChildren:!!e.hasChildren,children:null,expanded:i?i.expanded:!!e.expanded,loading:!1,failed:!1};this._byId.set(r,a),this._staged.ids.push(r);let o=e.children??(e.hasChildren?i?.children?.map(e=>e.raw):void 0);return Array.isArray(o)&&(a.children=this._adopt(o,a,n+1)),a.loading=!!i?.loading&&a.children===null&&a.hasChildren,e.checked&&!i&&this._staged.checks.push(r),a})}_passChecksDown(e){e.children?.length&&this._checked.has(e.id)&&(this._checked.delete(e.id),this._setChecked(e,!0));for(let t of e.children??[])this._passChecksDown(t)}_loadOpenNodes(){queueMicrotask(()=>{if(this.isConnected)for(let e of[...this._byId.values()])e.expanded&&e.children===null&&e.hasChildren&&!e.loading&&this._load(e)})}_isBranch(e){return e.children?e.children.length>0:e.hasChildren}_visible(){let e=[],t=n=>{for(let r of n)e.push(r),r.expanded&&r.children&&t(r.children)};return t(this._roots),e}_state(e){if(e.children?.length){let t=0,n=0;for(let r of e.children){let e=this._state(r);e===`checked`?t++:e===`unchecked`&&n++}return t===e.children.length?`checked`:n===e.children.length?`unchecked`:`mixed`}return this._checked.has(e.id)?`checked`:`unchecked`}_setChecked(e,t){if(e.children?.length)for(let n of e.children)n.disabled||this._setChecked(n,t);else t?this._checked.add(e.id):this._checked.delete(e.id)}_nodeFrom(e){let t=e?.closest?.(`li.wui-tree-item`);if(!t)return null;for(let[e,n]of this._els)if(n.li===t)return this._byId.get(e)??null;return null}_emit(e,t){this.dispatchEvent(new CustomEvent(`wui-tree:${e}`,{detail:t,bubbles:!0,composed:!0}))}_announce(e){this._live&&(this._live.textContent=e)}_setRoving(e){let t=this._els.get(this._focusId);t&&(t.li.tabIndex=-1),this._focusId=e.id;let n=this._els.get(e.id);n&&(n.li.tabIndex=0)}_focusNode(e){e&&(this._setRoving(e),this._els.get(e.id)?.li.focus())}_activate(e){e.disabled||(this.selection===`single`&&(this._selected=e.id,this._render(),this._syncForm()),this._emit(`select`,{id:e.id,node:e.raw}))}_enabledLeaves(e){return e.disabled?[]:e.children?.length?e.children.flatMap(e=>this._enabledLeaves(e)):[e]}_toggleCheck(e){let t=this._enabledLeaves(e);if(!t.length)return;let n=!t.every(e=>this._checked.has(e.id));this._setChecked(e,n),this._render(),this._syncForm(),this._emit(`check`,{id:e.id,checked:n,values:this.values})}_toggleExpand(e){e.disabled||!this._isBranch(e)||(e.expanded?(e.expanded=!1,this._render()):this._expand(e))}_expand(e){e.expanded=!0,e.children===null?this._load(e):this._render()}async _load(e){if(e.loading)return;e.loading=!0,e.failed=!1,this._announce(this.loadingText),this._render();let t,n=null;try{t=await this._fetchChildren(e)}catch(e){n=e}let r=this._byId.get(e.id);if(!r){this._announce(``);return}if(r.loading){if(r.loading=!1,!n)try{r.children=this._adoptStaged(t,r,r.level+1),this._passChecksDown(r),this._announce(``)}catch(e){n=e}n&&(r.failed=!0,r.expanded=!1,this._announce(this.errorText),this._emit(`error`,{id:r.id,message:n?.message??String(n)})),this._render(),this._syncForm()}}async _fetchChildren(e){if(this._loader)return this._loader(e.raw);let t=this.getAttribute(`load-url`);if(!t)throw Error(`<wui-tree> has a node with children to load but no loadChildren or load-url.`);let n=new URL(t,window.location.href);n.searchParams.set(Rd,e.id);let r=await k(n.href,{headers:{Accept:`application/json`}});if(!r.ok)throw Error(`Loading children answered ${r.kind}.`);return JSON.parse(r.html)}_handleClick(e){let t=this._nodeFrom(e.target);!t||t.disabled||(this._focusNode(t),e.target.closest(`.wui-tree-toggle`)?this._toggleExpand(t):e.target.closest(`.wui-tree-check`)?(e.preventDefault(),this._toggleCheck(t)):this._activate(t))}_handleKeyDown(e){if(e.ctrlKey||e.metaKey||e.altKey)return;let t=this._nodeFrom(e.target);if(!(!t||e.target!==this._els.get(t.id)?.li))if(e.key===`ArrowRight`){if(e.preventDefault(),!this._isBranch(t)||t.disabled)return;t.expanded?t.children?.length&&this._focusNode(t.children[0]):this._expand(t)}else e.key===`ArrowLeft`?(e.preventDefault(),t.expanded&&this._isBranch(t)&&!t.disabled?this._toggleExpand(t):t.parent&&this._focusNode(t.parent)):e.key===` `?(e.preventDefault(),this.selection===`multiple`?this._toggleCheck(t):this.selection===`single`&&this._activate(t)):this._nav.handler(e)}_syncForm(){let e=this.selection;if(e===`multiple`)an(this,this.values);else if(e===`single`)R(this,this._selected??``);else for(let e of this.querySelectorAll(Vd))e.remove()}_render(){if(!this._list)return;let e=document.activeElement,t=!!e&&this._list.contains(e),n=this._visible();n.some(e=>e.id===this._focusId)||(this._focusId=(n.find(e=>e.id===this._selected)??n[0])?.id??null),this._els=new Map;let r=this.getAttribute(`aria-label`);r?this._list.setAttribute(`aria-label`,r):this._list.removeAttribute(`aria-label`),this._list.replaceChildren(...this._buildLevel(this._roots)),t&&this._focusId&&this._els.get(this._focusId)?.li.focus(),this._syncForm()}_buildLevel(e){return e.map((t,n)=>this._buildItem(t,n+1,e.length))}_buildItem(e,t,n){let r=this.selection,i=this._isBranch(e),a=this._state(e),o=Q(`li`,`wui-tree-item`,{role:`treeitem`,tabindex:e.id===this._focusId?0:-1,"aria-level":e.level,"aria-setsize":n,"aria-posinset":t,"aria-labelledby":`${this._uid}-${e.seq}`,"aria-describedby":e.badge?`${this._uid}-${e.seq}-badge`:null});i&&o.setAttribute(`aria-expanded`,String(e.expanded)),e.disabled&&o.setAttribute(`aria-disabled`,`true`),e.loading&&o.setAttribute(`aria-busy`,`true`),r===`single`&&o.setAttribute(`aria-selected`,String(e.id===this._selected)),r===`multiple`&&o.setAttribute(`aria-checked`,a===`mixed`?`mixed`:String(a===`checked`));let s=Q(`div`,`wui-tree-row`,{role:`presentation`});s.style.setProperty(`--wui-tree-level`,String(e.level-1)),r===`single`&&e.id===this._selected&&s.classList.add(`wui-tree-row-selected`),e.failed&&s.classList.add(`wui-tree-row-error`);let c=Q(`span`,i?`wui-tree-toggle`:`wui-tree-toggle wui-tree-toggle-leaf`,{"aria-hidden":`true`});if(i&&(c.innerHTML=z(`chevron-right`,{size:16})),s.append(c),r===`multiple`){let t=Q(`input`,`form-check-input wui-tree-check`,{type:`checkbox`,tabindex:-1,"aria-hidden":`true`});t.checked=a===`checked`,t.indeterminate=a===`mixed`,t.disabled=e.disabled,t.addEventListener(`mousedown`,e=>e.preventDefault()),s.append(t)}if(e.icon){let t=Q(`span`,`wui-tree-icon`,{"aria-hidden":`true`});t.innerHTML=z(e.icon,{size:16}),s.append(t)}let l=Q(`span`,`wui-tree-label`,{id:`${this._uid}-${e.seq}`});if(l.textContent=e.label,s.append(l),e.badge){let t=Q(`span`,`badge wui-tree-badge${e.badgeTone&&e.badgeTone!==`neutral`?` badge-${e.badgeTone}`:``}`,{id:`${this._uid}-${e.seq}-badge`});t.textContent=e.badge,s.append(t)}if(e.loading&&s.append(Q(`span`,`wui-tree-spinner`,{"aria-hidden":`true`})),o.append(s),e.expanded&&e.children?.length){let t=Q(`ul`,`wui-tree-group`,{role:`group`});t.append(...this._buildLevel(e.children)),o.append(t)}return this._els.set(e.id,{li:o,row:s}),o}},Gd=class extends n{constructor(){super(),this._measure=()=>this.measure(),this._resize=null,this._mutation=null,this._ownTabindex=!1}connectedCallback(){this.measure(),this.addEventListener(`mouseover`,this._measure),typeof ResizeObserver<`u`&&(this._resize=new ResizeObserver(this._measure),this._resize.observe(this)),this._mutation=new MutationObserver(this._measure),this._mutation.observe(this,{childList:!0,subtree:!0,characterData:!0})}disconnectedCallback(){this.removeEventListener(`mouseover`,this._measure),this._resize?.disconnect(),this._mutation?.disconnect(),this._resize=null,this._mutation=null}measure(){let e=this.querySelector(`.wui-truncate-text`);if(e){if(e.scrollWidth>e.clientWidth||e.scrollHeight>e.clientHeight){this.setAttribute(`data-wui-tip`,e.textContent.replace(/\s+/g,` `).trim()),this.hasAttribute(`tabindex`)||(this.setAttribute(`tabindex`,`0`),this._ownTabindex=!0);return}this.removeAttribute(`data-wui-tip`),this._ownTabindex&&=(this.removeAttribute(`tabindex`),!1)}}},Kd=`wui-whats-new-read`,qd=`wui-whats-new:`,Jd=`data-open`,Yd=`data-wui-unread`,Xd=0,Zd=class extends n{static get observedAttributes(){return[`storage-key`]}constructor(){super(),this._doc=null,this._seen=``,this._observer=null,this._onTriggerClick=()=>this.isOpen?this.close(!0):this.open(),this._onKeyDown=e=>{e.key===`Escape`&&this.isOpen&&(e.stopPropagation(),this.close(!0))},this._onPointerDown=e=>{this.isOpen&&!this.contains(e.target)&&this.close(!1)}}get isOpen(){return this.hasAttribute(Jd)}get _trigger(){return this.querySelector(`.wui-whats-new-trigger`)}get _panel(){return this.querySelector(`.wui-whats-new-panel`)}connectedCallback(){this._doc=this.ownerDocument;let e=this._panel,t=this._trigger;!e||!t||(e.id||=`wui-whats-new-${++Xd}`,t.setAttribute(`aria-controls`,e.id),t.setAttribute(`aria-expanded`,`false`),t.addEventListener(`click`,this._onTriggerClick),this.addEventListener(`keydown`,this._onKeyDown),this._seen=this._load(),this._refresh(),typeof MutationObserver<`u`&&(this._observer=new MutationObserver(()=>this._refresh()),this._observer.observe(e,{childList:!0,subtree:!0})))}disconnectedCallback(){this._observer?.disconnect(),this._observer=null,this._trigger?.removeEventListener(`click`,this._onTriggerClick),this.removeEventListener(`keydown`,this._onKeyDown),this._doc?.removeEventListener(`pointerdown`,this._onPointerDown,!0),L(this),this.removeAttribute(Jd),this._doc=null}attributeChangedCallback(e,t,n){t===n||!this._doc||(this._seen=this._load(),this._refresh())}open(){let e=this._panel;!e||this.isOpen||(this.setAttribute(Jd,``),this._trigger?.setAttribute(`aria-expanded`,`true`),this._place(),I(this,()=>this._place()),this._doc.addEventListener(`pointerdown`,this._onPointerDown,!0),e.focus({preventScroll:!0}),this._markRead())}close(e){this.isOpen&&(this.removeAttribute(Jd),this._trigger?.setAttribute(`aria-expanded`,`false`),this._doc.removeEventListener(`pointerdown`,this._onPointerDown,!0),L(this),this._refresh(),e&&this._trigger?.focus())}_place(){F(this._trigger,this._panel,{clampHeight:!0})}_entries(){return[...this.querySelectorAll(`.wui-whats-new-entry`)].map(e=>({entry:e,date:e.querySelector(`time[datetime]`)?.getAttribute(`datetime`)??``}))}_newest(){return this._entries().reduce((e,{date:t})=>t>e?t:e,``)}_refresh(){let e=this._entries(),t=0;for(let{entry:n,date:r}of e){let e=r>this._seen;e&&t++,!(this.isOpen&&n.hasAttribute(Yd))&&n.toggleAttribute(Yd,e)}this.toggleAttribute(Yd,t>0)}_markRead(){let e=this._newest();!e||e<=this._seen||(this._seen=e,this._save(e),this.toggleAttribute(Yd,!1),this.dispatchEvent(new CustomEvent(Kd,{bubbles:!0,detail:{through:e}})))}_storage(){let e=this.getAttribute(`storage-key`);if(!e)return null;try{return{store:this.ownerDocument.defaultView.localStorage,key:qd+e}}catch{return null}}_load(){let e=this._storage();return e?e.store.getItem(e.key)??``:this._seen}_save(e){let t=this._storage();t&&t.store.setItem(t.key,e)}},Qd=`wui-wizard-step`,$d=`:scope > [data-wui-glyphs]`,ef=class extends n{static get observedAttributes(){return[`active`,`variant`,`orientation`,`icon-size`,`non-linear`,`hide-stepper`,`hide-connectors`,`disabled`,`skippable`,`label`,`back-label`,`next-label`,`skip-label`,`finish-label`]}constructor(){super(),this._active=0,this._skipped=new Set,this._invalid=new Set,this._finished=!1,this._rendered=!1,this._reflecting=!1,this._beforeNext=null,this._header=null,this._footer=null,this._known=[],this._observer=null,this._glyphs=null,this._glyphObserver=null}get active(){return this._active}set active(e){let t=Number.parseInt(e,10);Number.isFinite(t)&&this._go(t,`set`)}get beforeNext(){return this._beforeNext}set beforeNext(e){this._beforeNext=typeof e==`function`?e:null}get _steps(){return[...this.querySelectorAll(`:scope > ${Qd}`)]}refresh(){this._rendered&&this._renderChrome()}connectedCallback(){if(this._rendered)this._wire(),this._onStepsMutated();else{let e=Number.parseInt(this.getAttribute(`active`),10);this._active=Number.isFinite(e)&&e>=0?e:0,this.render()}}disconnectedCallback(){this._teardown()}attributeChangedCallback(e,t,n){if(!(!this._rendered||this._reflecting)){if(e===`active`){let e=Number.parseInt(n,10);Number.isFinite(e)&&this._go(e,`set`);return}this._renderChrome()}}render(){let e=this._steps;this._header||(this._header=document.createElement(`nav`),this._header.className=`stepper wizard-stepper`,this._footer=document.createElement(`div`),this._footer.className=`form-actions wizard-footer form-actions-between`,e.length?(this.insertBefore(this._header,e[0]),e[e.length-1].after(this._footer)):(this.prepend(this._header),this.append(this._footer))),this._known=e,this._renderChrome(),this._rendered=!0,this._wire()}_renderChrome(){let e=this._reconcileSteps();this._placeChrome(e),this._clampActive(e),this._syncPanels(e),this._header.innerHTML=this._headerHtml(e),this._footer.innerHTML=this._footerHtml(e),this._header.hidden=this.hasAttribute(`hide-stepper`)}_clampActive(e){let t=Math.max(0,e.length-1);this._active>t&&(this._active=t),this._active<0&&(this._active=0)}_reconcileSteps(){let e=this._steps,t=this._known;if(this._known=e,tf(e,t))return e;let n=n=>new Set([...n].map(n=>e.indexOf(t[n])).filter(e=>e>=0));this._skipped=n(this._skipped),this._invalid=n(this._invalid);let r=t[this._active];if(!r)return e;let i=e.indexOf(r);if(i<0){let n=t=>e.includes(t),r=t.slice(this._active+1).find(n)??t.slice(0,this._active).reverse().find(n);i=r?e.indexOf(r):this._active}return i=Math.min(i,Math.max(0,e.length-1)),i!==this._active&&(this._active=i,this._reflectActive(i)),e}_placeChrome(e){if(!e.length)return;let t=e[e.length-1];this._header.nextElementSibling!==e[0]&&this.insertBefore(this._header,e[0]),this._footer.previousElementSibling!==t&&t.after(this._footer)}_onStepsMutated(){if(!this._rendered)return;let e=this._steps,t=!e.length||this._header.nextElementSibling===e[0]&&this._footer.previousElementSibling===e[e.length-1];this.querySelector($d)!==this._glyphs&&(this._watchGlyphs(),this._renderHeader()),!(t&&tf(e,this._known))&&(this._renderChrome(),this._observer?.takeRecords())}_syncPanels(e){e.forEach((e,t)=>{let n=t===this._active;e.classList.add(`wizard-panel`),e.hidden=!n,e.setAttribute(`role`,`tabpanel`),e.setAttribute(`aria-hidden`,n?`false`:`true`)})}_stepStatus(e,t){return e.getAttribute(`status`)||(this._invalid.has(t)?`error`:this._finished?`done`:t===this._active?`active`:t<this._active?this._skipped.has(t)?`skipped`:`done`:`pending`)}_headerHtml(e){let t=this.getAttribute(`variant`)===`journey`,n=this.getAttribute(`variant`)===`icons`,r=this.getAttribute(`orientation`)===`vertical`,i=!this.hasAttribute(`hide-connectors`);this._header.className=[`stepper`,`wizard-stepper`,t&&`stepper-journey`,n&&`stepper-icons`,r&&`stepper-vertical`,!i&&`wui-stepper-no-connectors`].filter(Boolean).join(` `),this._header.setAttribute(`aria-label`,this.getAttribute(`label`)||`Progress`);let a=this.hasAttribute(`non-linear`);return e.map((r,o)=>{let s=this._stepStatus(r,o),c=r.getAttribute(`label`)||``,l=r.getAttribute(`description`)||``,u=r.getAttribute(`icon`)||``,d=o+1,f;f=s===`done`?this._glyph(`check`):s===`error`?this._glyph(`alert-triangle`):s===`skipped`?this._glyph(`minus`):u?this._glyph(u):String(d);let p=s===`pending`?`step`:`step ${s}`,m=s===`active`?` aria-current="step"`:``,h=a||o<this._active,g=l?`<span class="step-desc">${nf(l)}</span>`:``,_;_=t?`<span class="step-circle">${f}</span><span class="step-text"><span class="step-index">Step ${d}</span><span class="step-label">${nf(c)}</span>${g}</span>`:n?`<span class="step-circle">${f}</span><span class="step-index">Step ${d}</span><span class="step-label">${nf(c)}</span>${g}`:`<span class="step-circle">${f}</span><span class="step-label">${nf(c)}</span>${g}`;let v=h?`<button type="button" class="${p}" data-step="${o}"${m}>${_}</button>`:`<div class="${p}"${m}>${_}</div>`;return t&&i&&o<e.length-1?`${v}<span class="step-line${s===`done`?` done`:``}" aria-hidden="true"></span>`:v}).join(``)}_footerHtml(e){let t=this._active,n=e.length-1,r=this.hasAttribute(`disabled`)?` disabled`:``,i=e[t]?.hasAttribute(`optional`)||this.hasAttribute(`skippable`),a=this.getAttribute(`back-label`)||`Back`,o=this.getAttribute(`next-label`)||`Next`,s=this.getAttribute(`skip-label`)||`Skip`,c=this.getAttribute(`finish-label`)||`Finish`;return`${t>0?`<button type="button" class="btn btn-secondary" data-nav="back"${r}>${z(`arrow-left`,{className:`me-2`})}${nf(a)}</button>`:`<span></span>`}<span class="wizard-footer-actions">${i&&t<n?`<button type="button" class="btn btn-subtle" data-nav="skip"${r}>${nf(s)}</button>`:``}${t<n?`<button type="button" class="btn btn-primary" data-nav="next"${r}>${nf(o)}${z(`arrow-right`,{className:`ms-2`})}</button>`:`<button type="button" class="btn btn-primary" data-nav="finish"${r}>${nf(c)}</button>`}</span>`}_wire(){this._teardown(),this._onHeaderClick=e=>{let t=e.target.closest(`[data-step]`);t&&this.contains(t)&&this._stepTo(Number.parseInt(t.dataset.step,10))},this._onFooterClick=e=>{let t=e.target.closest(`[data-nav]`);if(!t||!this.contains(t)||this.hasAttribute(`disabled`))return;let n=t.dataset.nav;n===`back`?this._back():n===`skip`?this._skip():(n===`next`||n===`finish`)&&this._next()},this._header.addEventListener(`click`,this._onHeaderClick),this._footer.addEventListener(`click`,this._onFooterClick),this._observer=new MutationObserver(()=>this._onStepsMutated()),this._observer.observe(this,{childList:!0}),this._watchGlyphs()}_glyph(e){let t=this.querySelector($d),n=t&&[...t.children].find(t=>t.getAttribute(`data-icon`)===e);if(n)return n.outerHTML;let r=Number.parseInt(this.getAttribute(`icon-size`),10);return z(e,r>0?{size:r}:void 0)}_watchGlyphs(){this._glyphObserver?.disconnect(),this._glyphObserver=null,this._glyphs=this.querySelector($d),this._glyphs&&(this._glyphObserver=new MutationObserver(()=>this._renderHeader()),this._glyphObserver.observe(this._glyphs,{childList:!0,subtree:!0,attributes:!0,characterData:!0}))}_renderHeader(){this._rendered&&(this._header.innerHTML=this._headerHtml(this._steps))}_teardown(){this._header&&this._onHeaderClick&&this._header.removeEventListener(`click`,this._onHeaderClick),this._footer&&this._onFooterClick&&this._footer.removeEventListener(`click`,this._onFooterClick),this._observer?.disconnect(),this._observer=null,this._glyphObserver?.disconnect(),this._glyphObserver=null}_stepTo(e){this.hasAttribute(`disabled`)||!this.hasAttribute(`non-linear`)&&e>=this._active||this._go(e,`step`)}_back(){this._active>0&&this._go(this._active-1,`back`)}async _next(){this._reconcileSteps();let e=this._active,t=this._steps,n=e>=t.length-1,r=t[e];if(!this.dispatchEvent(new CustomEvent(`wui-wizard:beforechange`,{detail:n?{index:e,next:e,reason:`finish`}:{index:e,next:e+1,reason:`next`},cancelable:!0})))return this._flagInvalid(e);if(this._beforeNext){let i;try{i=await this._beforeNext(e)}catch{i=!1}if(this._reconcileSteps(),t=this._steps,e=t.indexOf(r),e<0)return;if(n=e>=t.length-1,i===!1)return this._flagInvalid(e)}if(this._invalid.delete(e),this._skipped.delete(e),n)return this._finish();this._go(e+1,`next`)}_skip(){let e=this._active,t=this._steps;if(!(!t[e]?.hasAttribute(`optional`)&&!this.hasAttribute(`skippable`))){if(this._invalid.delete(e),this._skipped.add(e),this.dispatchEvent(new CustomEvent(`wui-wizard:skip`,{detail:{index:e}})),e>=t.length-1)return this._finish();this._go(e+1,`skip`)}}_flagInvalid(e){this._invalid.add(e),this._renderChrome(),this.dispatchEvent(new CustomEvent(`wui-wizard:invalid`,{detail:{index:e}}))}_finish(){this._invalid.delete(this._active),this._finished=!0,this._renderChrome(),this.dispatchEvent(new CustomEvent(`wui-wizard:finish`,{detail:{index:this._active}}))}_go(e,t){let n=this._reconcileSteps(),r=Math.max(0,n.length-1),i=Math.min(Math.max(e,0),r),a=this._active;this._finished=!1,this._invalid.delete(a),this._active=i,this._reflectActive(i),this._renderChrome(),t!==`silent`&&i!==a&&this.dispatchEvent(new CustomEvent(`wui-wizard:change`,{detail:{index:i,previous:a,reason:t}}))}_reflectActive(e){this._reflecting=!0,this.setAttribute(`active`,String(e)),this._reflecting=!1}},tf=(e,t)=>e.length===t.length&&e.every((e,n)=>e===t[n]),nf=e=>String(e??``).replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`),rf=class extends n{static get observedAttributes(){return[`label`,`description`,`optional`,`icon`,`status`]}attributeChangedCallback(){let e=this.closest(`wui-wizard`);e&&typeof e.refresh==`function`&&e.refresh()}},af=`image/jpeg,image/png,image/webp,image/heic,image/heif,.heic,.heif`,of=10,sf=512,cf=`image/webp`,lf=[96,48],uf={dialogTitle:`Edit photo`,dialogSubtitle:`Drag to position the photo, then zoom or rotate it.`,save:`Save photo`,cancel:`Cancel`,choose:`Upload photo`,change:`Change photo`,camera:`Take photo`,remove:`Remove photo`,unreadable:`That photo could not be opened. Choose a JPG, PNG or WebP image.`,heicUnreadable:`This browser cannot open HEIC photos. Choose a JPG, PNG or WebP image instead.`,cropFailed:`That photo could not be saved. Try again, or choose another one.`};function df(e){if(!e)return!1;let t=String(e.type||``).toLowerCase();return t===`image/heic`||t===`image/heif`||/\.hei[cf]$/i.test(String(e.name||``))}function ff(e){return df(e)?uf.heicUnreadable:uf.unreadable}function pf(e,t){let n=Number(t);return{name:e?.name||`photo`,type:cf,size:Number.isInteger(n)&&n>0?n:512}}var mf=`image/png,image/jpeg,image/webp`,hf=5,gf={"image/png":[`.png`],"image/jpeg":[`.jpg`,`.jpeg`],"image/webp":[`.webp`],"image/gif":[`.gif`],"image/svg+xml":[`.svg`],"image/heic":[`.heic`],"image/heif":[`.heif`],"application/pdf":[`.pdf`],"text/plain":[`.txt`]},_f={"image/png":`PNG`,"image/jpeg":`JPG`,"image/webp":`WEBP`,"image/gif":`GIF`,"image/svg+xml":`SVG`,"image/heic":`HEIC`,"image/heif":`HEIC`,"application/pdf":`PDF`,"text/plain":`text file`,".png":`PNG`,".jpg":`JPG`,".jpeg":`JPG`,".webp":`WEBP`,".gif":`GIF`,".svg":`SVG`,".heic":`HEIC`,".heif":`HEIC`,".pdf":`PDF`,".txt":`text file`},vf=e=>String(e||``).split(`,`).map(e=>e.trim().toLowerCase()).filter(Boolean),yf=[`.png`,`.jpg`,`.jpeg`,`.webp`,`.gif`,`.svg`,`.bmp`,`.avif`,`.heic`,`.heif`];function bf(e){if(!e)return!1;let t=typeof e==`object`&&e.type?String(e.type).toLowerCase():``;if(t)return t.startsWith(`image/`);let n=typeof e==`string`?e:e.name||e.url||``,r=String(n).toLowerCase();return yf.some(e=>r.endsWith(e))}function xf(e){if(!e)return!1;let t=typeof e==`object`&&e.type?String(e.type).toLowerCase():``;if(t)return t===`application/pdf`;let n=typeof e==`string`?e:e.name||e.url||``;return String(n).toLowerCase().split(/[?#]/)[0].endsWith(`.pdf`)}function Sf(e){let t=vf(e);return t.length?t.every(e=>e.startsWith(`.`)?yf.includes(e):e===`image/*`||e.startsWith(`image/`)):!1}function Cf(e){let t=[];for(let n of vf(e)){let e=_f[n]||(n.startsWith(`.`)?n.slice(1).toUpperCase():n.toUpperCase());t.includes(e)||t.push(e)}return t.length<=1?t[0]||`supported`:`${t.slice(0,-1).join(`, `)} or ${t[t.length-1]}`}function wf(e,t){let n=vf(t);if(!n.length)return!0;let r=(e.type||``).toLowerCase(),i=(e.name||``).toLowerCase();return n.some(e=>e.startsWith(`.`)?i.endsWith(e):e.endsWith(`/*`)?r.startsWith(e.slice(0,-1)):r&&r===e?!0:!r&&(gf[e]||[]).some(e=>i.endsWith(e)))}function Tf(e,t={}){if(!e)return null;let n=t.accept===void 0?mf:t.accept,r=t.maxSizeMb===void 0?5:t.maxSizeMb;if(!wf(e,n)){let e=Cf(n);return`Choose a ${e.endsWith(` file`)?e:`${e} file`}.`}return r>0&&e.size>r*1024*1024?`Keep the file under ${r} MB.`:null}var Ef=/[0-9]/,Df={9:Ef,A:/[A-Za-z]/,"*":/[0-9A-Za-z]/},Of=/[9A*]/,kf=new Set([`text`,`tel`,`search`,`url`,`password`]),Af=e=>{let t=e.replace(/\D/g,``);return t.length===12&&t.startsWith(`91`)?t.slice(2):t.length===11&&t.startsWith(`0`)?t.slice(1):e},jf=e=>{let t=Number(e.slice(0,2)),n=Number(e.slice(2,4)),r=Number(e.slice(4,8));if(r<1)return!1;let i=new Date(Date.UTC(r,n-1,t));return i.getUTCFullYear()===r&&i.getUTCMonth()===n-1&&i.getUTCDate()===t},Mf=e=>e.length<=3?e:`${e.slice(0,-3).replace(/\B(?=(\d{2})+(?!\d))/g,`,`)},${e.slice(-3)}`,Nf=e=>{let t=/^(\d{4})-(\d{2})-(\d{2})$/.exec(e.trim());return t?`${t[3]}-${t[2]}-${t[1]}`:e};function Pf(e,{upper:t=!1,normalize:n,valid:r,post:i=e=>e,message:a=`Enter the full value`}={}){let o=[...e].map(e=>Df[e]?{re:Df[e]}:{lit:e}),s=o.filter(e=>e.re).length;return{inputMode:o.every(e=>!e.re||e.re===Ef)?`numeric`:`text`,normalize:n,post:i,message:a,extract(e){let n=``,r=0;for(let i of e){for(;r<o.length&&o[r].lit!==void 0&&o[r].lit!==i;)r++;if(r>=o.length)break;let e=o[r];e.lit===void 0?e.re.test(i)&&(n+=t?i.toUpperCase():i,r++):r++}return n},layout(e){let t=``,n=[],r=0;for(let i=0;i<o.length&&r<e.length;i++)o[i].lit===void 0?(t+=e[r++],n.push(!0)):(t+=o[i].lit,n.push(!1));return{text:t,isRaw:n}},isValid:e=>e.length===s&&(!r||r(e))}}function Ff(){return{inputMode:`decimal`,post:e=>e,message:`Enter a valid amount`,extract(e){let t=``,n=!1,r=0;for(let i of e)Ef.test(i)?n?r<2&&(t+=i,r++):t+=i:i===`.`&&!n&&(n=!0,t+=i);return t.startsWith(`.`)&&(t=`0${t}`),t.replace(/^0+(?=\d)/,``)},layout(e){let[t,n]=e.split(`.`),r=Mf(t)+(e.includes(`.`)?`.${n}`:``);return{text:r,isRaw:[...r].map(e=>e!==`,`)}},isValid:e=>/^\d+(\.\d{1,2})?$/.test(e)}}var If={"phone-in":()=>Pf(`99999 99999`,{normalize:Af,valid:e=>/^[6-9]/.test(e),message:`Enter a 10-digit mobile number`}),pan:()=>Pf(`AAAAA9999A`,{upper:!0,valid:e=>/^[A-Z]{5}\d{4}[A-Z]$/.test(e),message:`Enter a valid PAN`}),gstin:()=>Pf(`99AAAAA9999A***`,{upper:!0,valid:e=>/^\d{2}[A-Z]{5}\d{4}[A-Z][1-9A-Z]Z[0-9A-Z]$/.test(e),message:`Enter a valid GSTIN`}),aadhaar:()=>Pf(`9999 9999 9999`,{valid:e=>/^[2-9]/.test(e),message:`Enter a valid 12-digit Aadhaar number`}),ifsc:()=>Pf(`AAAA*******`,{upper:!0,valid:e=>/^[A-Z]{4}0[A-Z0-9]{6}$/.test(e),message:`Enter a valid IFSC`}),"pin-code":()=>Pf(`999999`,{valid:e=>/^[1-9]/.test(e),message:`Enter a valid 6-digit PIN code`}),date:()=>Pf(`99-99-9999`,{normalize:Nf,valid:jf,post:(e,t)=>e.length===8&&jf(e)?`${e.slice(4)}-${e.slice(2,4)}-${e.slice(0,2)}`:t,message:`Enter a valid date as DD-MM-YYYY`}),amount:Ff},Lf=Object.keys(If),Rf=e=>{let t=String(e).toLowerCase();return Object.hasOwn(If,t)?t:void 0},zf=e=>Of.test(String(e))&&Rf(e)===void 0,Bf=new Map;function Vf(e){if(e==null||e===``)return null;let t=String(e);return Bf.has(t)||(zf(t)?Bf.set(t,Pf(t)):Bf.set(t,Object.hasOwn(If,t)?If[t]():null)),Bf.get(t)}var Hf=(e,t)=>e.normalize?e.normalize(t):t;function Uf(e,t){let n=Vf(e);return n?n.extract(Hf(n,String(t??``))):String(t??``)}function Wf(e,t){let n=Vf(e);if(!n)return String(t??``);let r=n.extract(Hf(n,String(t??``)));return n.post(r,n.layout(r).text)}function Gf(e,t){let n=Vf(e);return n?n.layout(n.extract(Hf(n,String(t??``)))).text:String(t??``)}var Kf=(e,t)=>{if(t<=0)return 0;let n=0;for(let r=0;r<e.length;r++)if(e[r]&&++n===t)return r+1;return e.length},qf=new WeakMap,Jf=e=>qf.get(e)?.(),Yf=new WeakMap;function Xf(e,t,n,r){let i=e.getAll(t),a=Yf.get(e);a||Yf.set(e,a=new Set);let o=i.findIndex((e,r)=>e===n&&!a.has(`${t}\u0000${r}`));if(!(o<0)){if(a.add(`${t}\u0000${o}`),i[o]=r,i.length===1){e.set(t,r);return}e.delete(t);for(let n of i)e.append(t,n)}}function Zf(e){let t=null,n=null,r=!1,i=(t,n)=>n===null?e.removeAttribute(t):e.setAttribute(t,n),a,o,s=()=>{t?.remove(),t=null,n&&(n.hidden=!1),n=null,r&&e.classList.remove(`error`),r=!1,a!==void 0&&i(`aria-invalid`,a),o!==void 0&&i(`aria-describedby`,o),a=void 0,o=void 0};return i=>{if(!i){s();return}let c=e.closest(`.field`),l=c?.querySelector(`.field-error`);l&&l!==t&&l.textContent.trim()||(t||(r=!e.classList.contains(`error`),e.classList.add(`error`),a=e.getAttribute(`aria-invalid`),o=e.getAttribute(`aria-describedby`),c&&(t=document.createElement(`div`),t.className=`field-error`,e.id&&(t.id=`${e.id}-error`),n=c.querySelector(`.field-hint`),n&&(n.hidden=!0),c.insertBefore(t,[...c.children].find(e=>e.classList.contains(`field-count`))??null),t.id&&e.setAttribute(`aria-describedby`,t.id)),e.setAttribute(`aria-invalid`,`true`)),t&&(t.textContent=i))}}function Qf(e,{mask:t,postFormatted:n=!1,onChange:r,onInvalidChange:i}={}){let a=Vf(t);if(!a||!kf.has(e.type))return()=>{};let o=Object.getPrototypeOf(e),s=Object.getOwnPropertyDescriptor(o,`value`).set,c=!e.hasAttribute(`inputmode`);c&&e.setAttribute(`inputmode`,a.inputMode);let l=i??Zf(e),u=null,d=!1,f=!1,p=!1,m=``,h=``,g,_=()=>{let e=p?m:``;e!==h&&(h=e,l(h))},v=(t,n,i)=>{let o=a.extract(t.slice(0,n)).length,c=a.extract(t),{text:l,isRaw:d}=a.layout(c);if(e.value!==l&&(s.call(e,l),document.activeElement===e&&kf.has(e.type))){let t=Kf(d,o);e.setSelectionRange(t,t)}e.dataset.maskRaw=c,m=c&&!a.isValid(c)?a.message:``,e.setCustomValidity(m),_(),i&&c!==u&&r?.(c,l),u=c},y=Object.getOwnPropertyDescriptor(e,`value`),b=y??Object.getOwnPropertyDescriptor(o,`value`);Object.defineProperty(e,"value",{configurable:!0,enumerable:b.enumerable,get:()=>b.get.call(e),set:t=>{if(b.set.call(e,t),f)return;let n=Hf(a,e.value);v(n,n.length,!0)}});let x=()=>{d=!0,e.dispatchEvent(new Event(`input`,{bubbles:!0})),d=!1},S=t=>{if(d||f||t.isComposing)return;let n=t.inputType===`insertText`&&(t.data?.length??0)<=1||t.inputType?.startsWith(`delete`)?e.value:Hf(a,e.value);v(n,e.selectionStart??n.length,!0)},C=()=>{f=!0},ee=()=>{f=!1;let t=Hf(a,e.value);v(t,e.selectionStart??t.length,!0),x()},w=t=>{let n=t.inputType===`deleteContentBackward`;if(!n&&t.inputType!==`deleteContentForward`||t.isComposing)return;let r=e.selectionStart;if(r==null||r!==e.selectionEnd)return;let{isRaw:i}=a.layout(a.extract(e.value)),o=n?r-1:r;for(;o>=0&&o<i.length&&!i[o];)o+=n?-1:1;o!==(n?r-1:r)&&(t.preventDefault(),!(o<0||o>=i.length)&&(v(e.value.slice(0,o)+e.value.slice(o+1),n?o:r,!0),x()))},T=t=>{if(e.readOnly||e.disabled)return;let n=t.clipboardData?.getData(`text`);if(n==null)return;t.preventDefault();let r=Hf(a,n),i=e.selectionStart??e.value.length,o=e.selectionEnd??i;v(e.value.slice(0,i)+r+e.value.slice(o),i+r.length,!0),x()},E=()=>{let t=a.extract(e.value);return a.post(t,a.layout(t).text)},te=()=>{p=!0,_()};e.addEventListener(`input`,S),e.addEventListener(`beforeinput`,w),e.addEventListener(`paste`,T),e.addEventListener(`compositionstart`,C),e.addEventListener(`compositionend`,ee),e.addEventListener(`blur`,te),e.addEventListener(`invalid`,te);let D=e.form,ne=t=>{e.name&&!e.disabled&&Xf(t.formData,e.name,e.value,E())},O=()=>{clearTimeout(g),g=setTimeout(()=>{p=!1,v(Hf(a,e.value),e.value.length,!0)},0)};n||(D?.addEventListener(`formdata`,ne),qf.set(e,E)),D?.addEventListener(`reset`,O),D?.addEventListener(`submit`,te);let re=Hf(a,e.value);return v(re,re.length,!1),()=>{clearTimeout(g),e.removeEventListener(`input`,S),e.removeEventListener(`beforeinput`,w),e.removeEventListener(`paste`,T),e.removeEventListener(`compositionstart`,C),e.removeEventListener(`compositionend`,ee),e.removeEventListener(`blur`,te),e.removeEventListener(`invalid`,te),D?.removeEventListener(`formdata`,ne),D?.removeEventListener(`reset`,O),D?.removeEventListener(`submit`,te),qf.delete(e),y?Object.defineProperty(e,"value",y):delete e.value,p=!1,m=``,_(),e.setCustomValidity(``),delete e.dataset.maskRaw,c&&e.removeAttribute(`inputmode`)}}function $f(){let e=typeof window>`u`?void 0:window.jQuery?.validator?.prototype;if(!e||e.wuiMaskHook)return;let t=e.elementValue;e.elementValue=function(e){let n=Jf(e);return n===void 0?t.call(this,e):n},e.wuiMaskHook=!0}var ep=new WeakMap,tp,np=e=>{ep.has(e)||ep.set(e,Qf(e,{mask:e.dataset.appMask,postFormatted:e.hasAttribute(`data-mask-post-formatted`)}))},rp=e=>e.nodeType===1?[...e.matches(`input[data-app-mask]`)?[e]:[],...e.querySelectorAll(`input[data-app-mask]`)]:[];function ip(){tp||typeof MutationObserver>`u`||(tp=new MutationObserver(e=>{for(let t of e){for(let e of t.removedNodes)for(let t of rp(e))ep.get(t)?.(),ep.delete(t);for(let e of t.addedNodes)for(let t of rp(e))np(t)}}),tp.observe(document.documentElement,{childList:!0,subtree:!0}))}function ap(e=document){$f();for(let t of e.querySelectorAll(`input[data-app-mask]`))np(t);e===document&&ip()}var op={minLength:10,uppercase:!0,lowercase:!0,digit:!0,special:!0,uniqueChars:0,customRules:[]},sp=`Password requirements`;function cp(e){return e===!0||e==null?{...op}:{...op,...e}}function lp(e){let t=cp(e),n=[];if(t.minLength>0&&n.push({key:`length`,label:`At least ${t.minLength} characters long`,test:e=>e.length>=t.minLength}),t.uppercase&&n.push({key:`uppercase`,label:`At least one uppercase letter`,test:e=>/[A-Z]/.test(e)}),t.lowercase&&n.push({key:`lowercase`,label:`At least one lowercase letter`,test:e=>/[a-z]/.test(e)}),t.digit&&n.push({key:`digit`,label:`At least one digit`,test:e=>/[0-9]/.test(e)}),t.special&&n.push({key:`special`,label:`At least one special character`,test:e=>/[^A-Za-z0-9]/.test(e)}),t.uniqueChars>0){let e=t.uniqueChars;n.push({key:`unique`,label:`At least ${e} unique character${e>1?`s`:``}`,test:t=>new Set(t).size>=e})}for(let[e,r]of(t.customRules??[]).entries()){let t=new RegExp(r.pattern);n.push({key:`custom-${e}`,label:r.label,test:e=>t.test(e)})}return n}function up(e,t){let n=e==null?``:String(e);return lp(t).map(e=>({key:e.key,label:e.label,met:e.test(n)}))}function dp(e,t){return up(e,t).every(e=>e.met)}var fp=`.table-wrap, .table-responsive, [class*="table-responsive-"]`,pp=1;function mp(e){let t=()=>{let t=e.scrollWidth-e.clientWidth,n=Math.abs(e.scrollLeft);e.toggleAttribute(`data-wui-overflow-start`,t>pp&&n>pp),e.toggleAttribute(`data-wui-overflow-end`,t>pp&&n<t-pp),e.toggleAttribute(`data-wui-overflow-top`,e.scrollTop>pp)};e.addEventListener(`scroll`,t,{passive:!0});let n=null;if(typeof ResizeObserver<`u`){n=new ResizeObserver(t),n.observe(e);for(let t of e.children)n.observe(t)}return t(),()=>{e.removeEventListener(`scroll`,t),n?.disconnect(),e.removeAttribute(`data-wui-overflow-start`),e.removeAttribute(`data-wui-overflow-end`),e.removeAttribute(`data-wui-overflow-top`)}}var hp=new WeakMap,gp,_p=e=>{hp.has(e)||hp.set(e,mp(e))},vp=e=>e.nodeType===1?[...e.matches(`.table-wrap, .table-responsive, [class*="table-responsive-"]`)?[e]:[],...e.querySelectorAll(fp)]:[];function yp(){gp||typeof MutationObserver>`u`||(gp=new MutationObserver(e=>{for(let t of e){for(let e of t.removedNodes)for(let t of vp(e))hp.get(t)?.(),hp.delete(t);for(let e of t.addedNodes)for(let t of vp(e))_p(t)}}),gp.observe(document.documentElement,{childList:!0,subtree:!0}))}function bp(e=document){for(let t of e.querySelectorAll(fp))_p(t);e===document&&yp()}var xp=`Select all rows`,Sp=`Select row`,$=`wui-select-cell`,Cp=(e,t)=>{let n=e.createElement(`input`);return n.type=`checkbox`,n.className=`wui-check`,n.setAttribute(`aria-label`,t),n};function wp(e=document){let t=e.createElement(`th`);return t.className=$,t.appendChild(Cp(e,xp)),t}function Tp(e=document){let t=e.createElement(`td`);return t.className=$,t.appendChild(Cp(e,Sp)),t}function Ep(e=document){let t=e.createElement(`td`);return t.className=$,t}var Dp=e=>e.firstElementChild?.classList.contains($),Op=e=>e.matches(`.wui-group-row, .wui-virtual-spacer`);function kp(e){for(let t of e)!Dp(t)&&!Op(t)&&t.insertBefore(Tp(t.ownerDocument),t.firstChild)}function Ap(e){let t=e.querySelector(`thead tr`);if(!t)return null;Dp(t)||t.insertBefore(wp(e.ownerDocument),t.firstChild),kp(e.querySelectorAll(`tbody tr`));for(let t of e.querySelectorAll(`tfoot tr`))Dp(t)||t.insertBefore(Ep(e.ownerDocument),t.firstChild);return t.querySelector(`.${$} .wui-check`)}function jp(e){let t=e.querySelector(`thead .${$} .wui-check`),n=[...e.querySelectorAll(`tbody tr .wui-check`)],r=n.length,i=n.filter(e=>e.checked).length;t&&(t.checked=r>0&&i===r,t.indeterminate=i>0&&i<r);for(let t of e.querySelectorAll(`tbody tr`))t.classList.toggle(`is-selected`,!!t.querySelector(`.wui-check`)?.checked);return{selected:i,total:r}}var Mp=`tbody .${$} .wui-check`;function Np(e,t){let n=null,r=e=>e instanceof Element&&e.matches(`.wui-select-cell .wui-check`)&&!!e.closest(`tbody`);e.addEventListener(`mousedown`,e=>{e.shiftKey&&r(e.target)&&e.preventDefault()}),e.addEventListener(`click`,i=>{let a=i.target;if(r(a)){if(i.shiftKey&&n?.isConnected&&n!==a){let r=[...e.querySelectorAll(Mp)],i=r.indexOf(n),o=r.indexOf(a);if(i>=0&&o>=0){let e=[];for(let t of r.slice(Math.min(i,o),Math.max(i,o)+1))t===a||t.checked===a.checked||(t.checked=a.checked,e.push(t));e.length&&t?.(e,a.checked)}}n=a}})}var Pp=Object.freeze([`page`,`pageSize`,`sortBy`,`sortOrder`]),Fp=`search`,Ip=Object.freeze({loading:`Loading rows`,error:`These rows did not load. Try again.`,network:`The connection dropped before the rows loaded. Check it and try again.`,forbidden:`You do not have access to these rows.`,retry:`Retry`,actionFailed:`That did not work. Try again.`,actionForbidden:`You do not have permission to do that.`,empty:`No rows`}),Lp=5,Rp=new WeakMap,zp=(e,t)=>{let n=Number(e);return Number.isInteger(n)?n:t},Bp=e=>({total:zp(e.dataset.total,0),page:zp(e.dataset.page,1),pageSize:zp(e.dataset.pageSize,0),sortBy:e.dataset.sortBy||``,sortOrder:e.dataset.sortOrder===`desc`?`desc`:`asc`}),Vp=(e,t)=>{e&&window.WUI?.toast?.(e,{variant:t})};function Hp(e=document){let t=e.querySelectorAll?[...e.querySelectorAll(`[data-wui-server]`)]:[];e instanceof Element&&e.matches(`[data-wui-server]`)&&t.unshift(e);for(let e of t)Rp.has(e)||Rp.set(e,Wp(e))}function Up(e){let t=e instanceof Element?e.closest(`[data-wui-server]`):null;return t&&Rp.get(t)||null}function Wp(e){let t=e.querySelector(`.table-wrap`),n=t?.querySelector(`:scope > table`),r=e.dataset.src;if(!n||!r)throw Error(`A server-paged table needs data-src and a .table-wrap > table: render it with <app-data-table src>.`);let i=t.querySelector(`:scope > [data-wui-table-state]`),a=e.querySelector(`[data-wui-table-pager]`),o=e.querySelector(`[data-wui-table-status]`),s={urlState:e.dataset.urlState!==`false`,refreshOnSuccess:e.dataset.refreshOnSuccess!==`false`,filtersForm:e.dataset.filtersForm||null,filtersRegion:e.dataset.filtersRegion||null,searchInput:e.dataset.searchInput||null,loadingText:e.dataset.loadingText||Ip.loading,errorText:e.dataset.errorText||Ip.error},c=new URL(r,window.location.href),l=new Set(c.searchParams.keys()),u=n.hasAttribute(`data-app-datatable-selectable`),d=new Set,f=!1,p=me(),m=new AbortController,h={signal:m.signal},g=n.querySelector(`:scope > tbody[data-wui-rows]`);if(!g)throw Error(`A server-paged table needs its rows in <app-table-rows> (tbody[data-wui-rows]).`);let _=Bp(g),v=null,y=null,b=e=>{let t=new URLSearchParams;for(let[n,r]of new URLSearchParams(e))l.has(n)||t.append(n,r);return t},x=e=>b(new URL(e,window.location.href).search),S=e=>{let t=e.toString();return`${window.location.pathname}${t?`?${t}`:``}${window.location.hash}`},C=e=>{let t=new URL(c.href);for(let[n,r]of e)l.has(n)||t.searchParams.append(n,r);return t.origin===window.location.origin?`${t.pathname}${t.search}`:t.href},ee=(e,t)=>{let n=new URLSearchParams(e);return n.has(`page`)&&n.set(`page`,String(t.page)),n.has(`pageSize`)&&n.set(`pageSize`,String(t.pageSize)),n.has(`sortBy`)?t.sortBy?(n.set(`sortBy`,t.sortBy),n.set(`sortOrder`,t.sortOrder)):(n.delete(`sortBy`),n.delete(`sortOrder`)):n.delete(`sortOrder`),n},w=ee(s.urlState?b(window.location.search):new URLSearchParams,_);s.urlState&&S(w)!==`${window.location.pathname}${window.location.search}${window.location.hash}`&&window.history.replaceState(window.history.state,``,S(w));let T=(e,n)=>t.dispatchEvent(new CustomEvent(e,{bubbles:!0,detail:n})),E=e=>{o&&(o.textContent=e)},te=e=>{if(e.total===0)return Ip.empty;let t=e.pageSize>0?Math.max(1,Math.ceil(e.total/e.pageSize)):1;return`Page ${e.page} of ${t}, ${e.total} ${e.total===1?`row`:`rows`}`},D=()=>[...n.querySelectorAll(`:scope > thead > tr:first-child > th`)],ne=e=>{if(u&&[...e.querySelectorAll(`:scope > tr`)].some(e=>!e.dataset.rowKey))throw Error(`A selectable server-paged table needs data-row-key on every row, so a selection can span pages.`)},O=t=>{let n=e.dataset.activeRowKey;if(n!==void 0)for(let e of t){let t=e.classList.contains(`wui-row-active`),r=n!==``&&e.dataset.rowKey===n;e.classList.toggle(`wui-row-active`,r),r?e.setAttribute(`aria-current`,`true`):t&&e.removeAttribute(`aria-current`)}},re=e=>{if(u){kp(e);for(let t of e){let e=t.querySelector(`.${$} .wui-check`);e&&(f&&d.add(t.dataset.rowKey),e.checked=d.has(t.dataset.rowKey))}jp(n)}O(e);let t=D();if(n.classList.contains(`wui-table-stack`))for(let n of e)[...n.cells].forEach((e,n)=>{let r=t[n]?.textContent.trim();r&&!e.hasAttribute(`data-label`)&&e.setAttribute(`data-label`,r)});t.forEach((t,n)=>{if(t.classList.contains(`wui-col-hidden`))for(let t of e)t.cells[n]?.classList.add(`wui-col-hidden`)})},ie=e=>re([...e.querySelectorAll(`:scope > tr`)]),ae=e=>{for(let t of e.querySelectorAll(`:scope > template[data-wui-pager], :scope > template[data-wui-empty], :scope > template[data-wui-filters]`))t.remove()},oe=e=>e?.dispatchEvent(new CustomEvent(`wui:teardown`,{bubbles:!0})),se=(e,t)=>{if(!i)return;let n=e.querySelector(`:scope > template[data-wui-empty]`);oe(i),t.total===0&&n?(i.replaceChildren(n.content.cloneNode(!0)),i.hidden=!1):(i.replaceChildren(),i.hidden=!0)},ce=e=>{let r=Bp(e),i=r.sortBy!==_.sortBy||r.sortOrder!==_.sortOrder?hi(g.rows):null;if(a){let t=e.querySelector(`:scope > template[data-wui-pager]`);oe(a),a.replaceChildren(...t?[t.content.cloneNode(!0)]:[]),a.hidden=!1}se(e,r);let o=e.querySelector(`:scope > template[data-wui-filters]`),c=s.filtersRegion&&o?document.querySelector(s.filtersRegion):null;c&&(oe(c),c.replaceChildren(o.content.cloneNode(!0))),ae(e),oe(g),n.replaceChild(e,g),g=e;let l=f&&r.total!==_.total;_=r,l&&(f=!1),t.removeAttribute(`data-wui-table-error`),ie(e),_e(),gi(e.rows,i),l&&ye()},le=e=>{let t=document.createElement(`template`);t.innerHTML=`<table>${e}</table>`;let n=t.content.querySelector(`tbody[data-wui-rows]`);return n&&ne(n),n?document.importNode(n,!0):null},ue=e=>{let t=document.createElement(`tr`);for(let n=0;n<e;n++){let e=document.createElement(`td`),r=document.createElement(`span`);r.className=`skeleton`,r.setAttribute(`aria-hidden`,`true`),r.style.cssText=`display:block;width:${n===0?70:50}%;height:12px;border-radius:6px`,e.append(r),t.append(e)}return t},de=()=>{if(g.querySelector(`:scope > tr:not([data-wui-skeleton])`))return;let e=Math.max(1,D().length);g.replaceChildren(...Array.from({length:Lp},()=>{let t=ue(e);return t.setAttribute(`data-wui-skeleton`,``),t})),t.removeAttribute(`data-wui-table-error`),i&&(i.hidden=!0)},fe=e=>{e?(t.setAttribute(`aria-busy`,`true`),de()):t.removeAttribute(`aria-busy`)},pe=e=>e===`forbidden`?Ip.forbidden:e===`network`?Ip.network:s.errorText,he=e=>{let n=pe(e);if(t.setAttribute(`data-wui-table-error`,e),a&&(a.hidden=!0),i){let t=document.createElement(`div`);t.className=`tbl-empty wui-table-error`,t.setAttribute(`role`,`alert`);let r=document.createElement(`span`);r.className=`tbl-empty-icon`,r.innerHTML=z(e===`forbidden`?`lock`:`alert-circle`,{size:24});let a=document.createElement(`div`);a.className=`tbl-empty-title`,a.textContent=n;let o=document.createElement(`div`);o.className=`tbl-empty-action`;let s=document.createElement(`button`);s.type=`button`,s.className=`btn btn-outline-primary btn-sm`,s.setAttribute(`data-wui-table-retry`,``),s.textContent=Ip.retry,o.append(s),t.append(r,a,o),oe(i),i.replaceChildren(t),i.hidden=!1}E(n)},A=async(e,t=`none`)=>{let n=new URLSearchParams(e);v={query:n,mode:t},fe(!0),E(s.loadingText),T(`wui:table:loading`,{query:n.toString()});let r=await p.run(C(n));if(r.kind===`aborted`||r.kind===`stale`||r.kind===`session`)return r;fe(!1);let i=null,a=r.ok?null:r.kind;if(r.ok){try{i=le(r.html)}catch(e){console.error(e)}i||(a=`server`)}return a?(he(a),T(`wui:table:error`,{status:r.status,kind:a,message:pe(a)}),r):(ce(i),w=ee(n,_),s.urlState&&t===`push`?window.history.pushState(window.history.state,``,S(w)):s.urlState&&t===`replace`&&window.history.replaceState(window.history.state,``,S(w)),E(te(_)),window.WUI?.refresh?.(),T(`wui:table:loaded`,{..._,query:w.toString()}),r)},ge=e=>(e.delete(`page`),e),j=()=>[...n.querySelectorAll(`:scope > thead th[data-sort-key]`)],_e=()=>{for(let e of j()){let t=e.dataset.sortKey===_.sortBy;e.setAttribute(`aria-sort`,t?_.sortOrder===`desc`?`descending`:`ascending`:`none`)}};for(let e of j())if(e.classList.add(`sortable`),e.tabIndex=0,!e.querySelector(`.sort-icon`)){let t=e.classList.contains(`num`)||e.classList.contains(`text-end`),n=document.createElement(`span`);n.className=t?`sort-icon wui-sort-lead`:`sort-icon`,n.innerHTML=z(`chevrons-up-down`,{size:14}),t?e.prepend(n):e.append(n)}let ve=e=>{let t=ge(new URLSearchParams(w)),n=_.sortBy===e&&_.sortOrder===`asc`?`desc`:`asc`;return t.set(`sortBy`,e),t.set(`sortOrder`,n),A(t,`push`)};n.addEventListener(`click`,e=>{let t=e.target.closest(`th[data-sort-key]`);t&&n.tHead?.contains(t)&&ve(t.dataset.sortKey)}),n.addEventListener(`keydown`,e=>{if(e.key!==`Enter`&&e.key!==` `)return;let t=e.target.closest?.(`th[data-sort-key]`);!t||!n.tHead?.contains(t)||(e.preventDefault(),ve(t.dataset.sortKey))});let ye=()=>{jp(n);let e=f?{selected:_.total,total:_.total,allMatching:f}:{selected:d.size,total:_.total};n.dispatchEvent(new CustomEvent(`selectionchange`,{bubbles:!0,detail:e}))};u&&(Np(n,(e,t)=>{for(let n of e){let e=n.closest(`tr`)?.dataset.rowKey;e&&(t?d.add(e):d.delete(e))}t||(f=!1)}),n.addEventListener(`change`,e=>{let t=e.target;if(t.matches?.(`.wui-select-cell .wui-check`)){if(t.checked||(f=!1),n.tHead?.contains(t))for(let e of g.querySelectorAll(`:scope > tr`)){let n=e.querySelector(`.${$} .wui-check`);n&&(n.checked=t.checked,t.checked?d.add(e.dataset.rowKey):d.delete(e.dataset.rowKey))}else{let e=t.closest(`tr`)?.dataset.rowKey;if(!e)return;t.checked?d.add(e):d.delete(e)}ye()}})),a&&(a.addEventListener(`click`,e=>{let t=e.target.closest(`a[href]`);!t||e.defaultPrevented||e.button!==0||e.ctrlKey||e.metaKey||e.shiftKey||e.altKey||(e.preventDefault(),A(x(t.getAttribute(`href`)),`push`))}),a.addEventListener(`change`,e=>{!e.target.classList?.contains(`tpg-select`)||!e.target.value||(e.stopPropagation(),A(x(e.target.value),`push`))}));let be=()=>{if(!s.searchInput)return null;let e=document.querySelector(s.searchInput);return e&&(e.matches(`input, textarea`)?e:e.querySelector(`input`))},xe=()=>e.isConnected?!0:(m.abort(),clearTimeout(y),!1),Se=(e,t)=>{let n=t?.name?new FormData(e,t):new FormData(e),r=new Set([...e.querySelectorAll(`[name]`)].map(e=>e.getAttribute(`name`))),i=new URLSearchParams;for(let[e,t]of w)e!==`page`&&(Pp.includes(e)||!r.has(e))&&i.append(e,t);for(let[e,t]of n)typeof t!=`string`||t===``||Pp.includes(e)||l.has(e)||i.append(e,t);let a=be();if(a){i.delete(Fp);let e=a.value.trim();e&&i.set(Fp,e)}return A(i,`push`)},Ce=e=>s.filtersForm&&e.closest?.(s.filtersForm)||s.filtersRegion&&e.closest?.(s.filtersRegion)||null;document.addEventListener(`submit`,e=>{!xe()||!s.filtersForm||!(e.target instanceof HTMLFormElement)||!e.target.matches(s.filtersForm)||(e.preventDefault(),Se(e.target,e.submitter))},h),document.addEventListener(`change`,e=>{if(!xe()||!s.filtersForm)return;let t=e.target.closest?.(s.filtersForm);!t||e.target===be()||Se(t)},h);let we=(e,t)=>{if(!e)return;let n=e=>t.get(e)??``;for(let r of e.querySelectorAll(`input[name]:not([type=hidden])`))if(r.type===`checkbox`)r.checked=t.getAll(r.name).includes(r.value);else if(r.type===`radio`){let e=n(r.name)===r.value;if(r.checked===e)continue;r.checked=e,e&&r.dispatchEvent(new Event(`change`))}else r.value!==n(r.name)&&(r.value=n(r.name),r.dispatchEvent(new Event(`input`,{bubbles:!0})));for(let r of e.querySelectorAll(`select[name]`))if(!r.multiple)r.value=n(r.name);else for(let e of r.options)e.selected=t.getAll(r.name).includes(e.value);for(let t of e.querySelectorAll(`wui-select[name]`))t.value=n(t.getAttribute(`name`));for(let n of e.querySelectorAll(`wui-multiselect[name]`))n.values=t.getAll(n.getAttribute(`name`));for(let t of e.querySelectorAll(`wui-date-range`)){let e=t.getAttribute(`start-name`)||t.getAttribute(`name`),r=t.getAttribute(`end-name`);t.value={start:e?n(e):``,end:r?n(r):``}}};document.addEventListener(`click`,e=>{if(!xe())return;let t=e.target.closest?.(`a[href]`);if(!t||!Ce(t)||e.defaultPrevented||e.button!==0||e.ctrlKey||e.metaKey||e.shiftKey||e.altKey)return;let n=new URL(t.getAttribute(`href`),window.location.href);if(n.origin!==window.location.origin||n.pathname!==window.location.pathname)return;e.preventDefault();let r=ge(x(n.href));we(t.closest(`form`),r),A(r,`push`)},h),document.addEventListener(`input`,e=>{if(!xe())return;let t=be();!t||e.target!==t||(clearTimeout(y),y=setTimeout(()=>{let e=ge(new URLSearchParams(w)),n=t.value.trim();n?e.set(Fp,n):e.delete(Fp),e.toString()!==w.toString()&&A(e,`replace`)},300))},h),s.urlState&&window.addEventListener(`popstate`,()=>{if(!xe())return;let e=b(window.location.search),t=be();t&&(t.value=e.get(`search`)??``),A(e,`none`)},h),document.addEventListener(`wui:modal:success`,()=>{xe()&&s.refreshOnSuccess&&A(w,`none`)},h),i?.addEventListener(`click`,e=>{e.target.closest(`[data-wui-table-retry]`)&&v&&A(v.query,v.mode)});let Te=e=>[...g.rows].find(t=>t.dataset.rowKey===e)??null,Ee=e=>{if(!e?.trim())return null;let t=document.createElement(`template`);if(t.innerHTML=`<table><tbody>${e}</tbody></table>`,t.content.querySelector(`tbody[data-wui-rows]`))return null;let n=[...t.content.querySelectorAll(`table > tbody > tr[data-row-key]`)];return n.length?n.map(e=>document.importNode(e,!0)):null},De=(e,t,n)=>{let r=n?e[0]:e.find(e=>e.dataset.rowKey===t.dataset.rowKey);if(!r)return null;let i=[];for(let n of e){let e=n===r?t:Te(n.dataset.rowKey);e&&(oe(e),e.replaceWith(n),i.push(n))}return re(i),window.WUI?.refresh?.(),r},Oe=e=>e.message||(e.kind===`forbidden`?Ip.actionForbidden:Ip.actionFailed),ke=e=>{e?.isConnected&&e.getAttribute(`data-wui-save-state`)===`saving`&&Ci(e,null)},Ae=e=>{if(e instanceof HTMLTableRowElement)return e;let t=document.createElement(`template`);t.innerHTML=`<table><tbody>${String(e)}</tbody></table>`;let n=t.content.querySelector(`table > tbody > tr`);if(!n)throw Error("saveRow's `row` is the row as it will read: a <tr> element or its HTML.");return document.importNode(n,!0)},je=async({url:e,method:n=`POST`,body:r,key:a,row:o}={})=>{if(!e)throw Error("saveRow needs `url`: the handler that saves the row.");let s=a==null,c=s?null:Te(String(a));if(!s&&!c)throw Error(`saveRow found no row with data-row-key="${a}" on this page.`);let l=D().filter(e=>!e.classList.contains($)).length,u=o?Ae(o):c??ue(Math.max(1,l));c&&u!==c?c.replaceWith(u):c||g.insertBefore(u,g.firstChild),u!==c&&re([u]),i&&!t.hasAttribute(`data-wui-table-error`)&&(i.hidden=!0),Ci(u,`saving`);let d=Si(u),f=await k(e,{method:n.toUpperCase(),body:r});if(f.kind===`session`)return!1;if(f.ok){let e=Ee(f.html),t=e&&u.isConnected?De(e,u,s):null;return t?E(W.saved(Si(t)||d)):(await A(w,`none`),ke(u)),Vp(f.message,f.toastVariant||`success`),T(`wui:table:saved`,{key:t?.dataset.rowKey??(s?null:String(a)),added:s,status:f.status}),!0}let p=Oe(f),m=u;return c&&u!==c&&u.isConnected?(u.replaceWith(c),m=c):s&&!o&&(u.remove(),m=null,i?.childElementCount&&!g.querySelector(`:scope > tr`)&&(i.hidden=!1)),m?.isConnected&&Ci(m,`error`,p),f.kind!==`aborted`&&Vp(p,`danger`),E(W.notSaved(d,p)),T(`wui:table:failed`,{key:s?null:String(a),added:s,status:f.status,kind:f.kind,message:p}),!1},Me=async e=>{let t=e.dataset.url;if(!t)throw Error(`A data-wui-row-action button needs data-url: the handler the action posts to.`);let n=e.closest(`tr`),r=n?.dataset.rowKey??null,i=e.dataset.wuiRowAction||``,a=n?Si(n):``;e.disabled=!0,e.setAttribute(`aria-busy`,`true`),n&&Ci(n,`saving`);let o=await k(t,{method:(e.dataset.method||`post`).toUpperCase()});if(e.disabled=!1,e.removeAttribute(`aria-busy`),o.kind===`session`||o.kind===`aborted`){ke(n);return}if(o.ok){Vp(o.message,o.toastVariant||`success`);let e=n?.isConnected?Ee(o.html):null,t=e?De(e,n,!1):null;t?E(W.saved(Si(t)||a)):(await A(w,`none`),ke(n))}else{let e=Oe(o);Vp(e,`danger`),n?.isConnected&&Ci(n,`error`,e),E(W.notSaved(a,e))}T(`wui:table:action`,{action:i,key:r,ok:o.ok,status:o.status})};return n.addEventListener(`click`,e=>{let t=e.target.closest(`[data-wui-row-action]`);!t||!g.contains(t)||t.disabled||(e.preventDefault(),Me(t))}),ne(g),ae(g),u&&Ap(n),ie(g),_e(),{el:e,reload:()=>A(w,`none`),query:()=>new URLSearchParams(w),setQuery:e=>{let t=new URLSearchParams(w);for(let[n,r]of Object.entries(e??{})){t.delete(n);for(let e of Array.isArray(r)?r:[r])e!=null&&e!==``&&t.append(n,String(e))}return(!e||!(`page`in e))&&t.delete(`page`),A(t,`push`)},saveRow:je,setActiveRow:t=>{e.dataset.activeRowKey=t==null?``:String(t),O([...g.querySelectorAll(`:scope > tr`)])},selection:{keys:()=>[...d],count:()=>f?_.total:d.size,allMatching:()=>f,selectAllMatching:()=>{f=!0;for(let e of g.querySelectorAll(`:scope > tr`)){let t=e.querySelector(`.${$} .wui-check`);t&&(t.checked=!0),e.dataset.rowKey&&d.add(e.dataset.rowKey)}ye()},clear:()=>{f=!1,d.clear();for(let e of g.querySelectorAll(`:scope > tr > .${$} .wui-check`))e.checked=!1;ye()}}}}var Gp=`wuiConfirm`,Kp=Object.freeze([`danger`]),qp=Object.freeze([`success`,`info`,`warning`,`danger`]),Jp=`wui.flash`,Yp=Object.freeze({confirmTitle:`Are you sure?`,confirmLabel:`Confirm`,cancelLabel:`Cancel`,failed:`That did not work. Try again.`,forbidden:`You do not have permission to do that.`,network:`Could not reach the server. Check your connection and try again.`}),Xp=new WeakSet,Zp=new WeakSet,Qp=null,$p=null,em=!1,tm=e=>{let t=document.createElement(`span`);return t.textContent=e??``,t.innerHTML},nm=(e,t)=>{e&&window.WUI?.toast?.(e,{variant:t})},rm=()=>{let e=window.bootstrap?.Modal;if(!e)throw Error(`data-wui-confirm: Bootstrap's bundle (window.bootstrap) is not loaded on this page.`);return e};function im(){let e=document.getElementById(Gp);return e||(e=document.createElement(`div`),e.id=Gp,e.className=`modal fade wui-modal-shell`,e.tabIndex=-1,e.setAttribute(`aria-hidden`,`true`),e.setAttribute(`role`,`dialog`),e.setAttribute(`aria-modal`,`true`),e.style.setProperty(`--wui-modal-max-width`,`${ge.md}px`),e.innerHTML=`<div class="modal-dialog modal-dialog-centered wui-rb-dialog"><div class="modal-content wui-modal wui-confirm"><div class="wui-modal-body"><div class="wui-confirm-content"><span class="wui-confirm-icon"><wui-status-icon tone="info" size="120"></wui-status-icon></span><h3 class="wui-confirm-title" tabindex="-1" data-autofocus></h3><p class="wui-confirm-msg"></p></div></div><div class="wui-modal-footer"><div class="wui-confirm-actions"><button type="button" class="btn btn-secondary" data-bs-dismiss="modal">${tm(Yp.cancelLabel)}</button><button type="button" class="btn btn-primary" data-app-confirm></button></div></div></div></div>`,document.body.appendChild(e),e)}function am(e,t){let n=e.getAttribute(`data-wui-confirm-tone`);if(n!==null&&!Kp.includes(n))throw TypeError(`data-wui-confirm-tone="${n}" is not supported. Use danger, or leave it off.`);om({title:e.getAttribute(`data-wui-confirm-title`),message:e.getAttribute(`data-wui-confirm`),label:e.getAttribute(`data-wui-confirm-label`),danger:n===`danger`},t)}function om({title:e,message:t,label:n,danger:r},i){let a=rm(),o=im(),s=o.querySelector(`.wui-confirm-title`),c=o.querySelector(`[data-app-confirm]`);if(!s||!c)throw Error(`#${Gp} is not a confirm dialog with a confirm button. Render <app-confirm-dialog id="${Gp}"> without confirm-href, or leave the dialog to the library.`);let l=o.querySelector(`.wui-confirm-msg`);l||(l=document.createElement(`p`),l.className=`wui-confirm-msg`,s.after(l)),s.textContent=e||Yp.confirmTitle,l.textContent=t,c.textContent=n||Yp.confirmLabel,c.classList.toggle(`btn-danger`,r),c.classList.toggle(`btn-primary`,!r),o.querySelector(`wui-status-icon`)?.setAttribute(`tone`,r?`delete`:`info`),o.setAttribute(`aria-label`,s.textContent),$p=i,em=!1,a.getOrCreateInstance(o).show()}var sm=(e,t)=>{Qp=e;try{t()}finally{Qp=null}};function cm(e,{title:t,message:n,label:r,tone:i},a){if(i!=null&&!Kp.includes(i))throw TypeError(`confirmAction: tone "${i}" is not supported. Use danger, or leave it off.`);xm(e.ownerDocument),om({title:t,message:n,label:r,danger:i===`danger`},()=>sm(e,a))}var lm=e=>e.disabled===!0||e.getAttribute(`aria-disabled`)===`true`;function um(e){let t=e.target.closest?.(`[data-wui-confirm]:not(form)`);!t||t===Qp||lm(t)||(e.preventDefault(),e.stopImmediatePropagation(),am(t,()=>sm(t,()=>t.click())))}function dm(e){let t=e.target;if(!(t instanceof HTMLFormElement)||!t.hasAttribute(`data-wui-confirm`)||t===Qp||e.submitter&&e.submitter===Qp)return;e.preventDefault(),e.stopImmediatePropagation();let n=e.submitter?.form===t?e.submitter:void 0;am(t,()=>sm(t,()=>t.requestSubmit(n)))}function fm(e){let t=e.target.closest?.(`#${Gp} [data-app-confirm]`);!t||t.disabled||!$p||(em=!0,rm().getOrCreateInstance(t.closest(`#${Gp}`)).hide())}function pm(e){if(e.target.id!==`wuiConfirm`)return;let t=em?$p:null;$p=null,em=!1,t?.()}var mm=(e,t)=>{e&&window.sessionStorage.setItem(Jp,JSON.stringify({message:e,variant:t}))},hm=e=>e===`forbidden`?Yp.forbidden:e===`network`?Yp.network:Yp.failed;function gm(){for(let e of document.querySelectorAll(`[data-wui-server]`))e.dataset.refreshOnSuccess!==`false`&&Up(e)?.reload()}async function _m(e){let t=e.getAttribute(`data-wui-post`);if(!t)throw Error(`A data-wui-post button needs the URL the action posts to.`);let n=e.getAttribute(`data-wui-post-reload`);if(n!==null&&n!==`page`)throw TypeError(`data-wui-post-reload="${n}" is not supported. Use page, or leave it off to reload the server tables.`);e.disabled=!0,e.setAttribute(`aria-busy`,`true`);let r=await k(t,{method:`POST`});if(r.kind===`session`||r.kind===`aborted`)return;let i=r.toastVariant||`success`;if(r.ok&&(r.redirect||n===`page`)){mm(r.message,i),r.redirect?window.location.assign(r.redirect):window.location.reload();return}if(e.disabled=!1,e.removeAttribute(`aria-busy`),r.ok){nm(r.message,i),gm();return}nm(r.message||hm(r.kind),`danger`)}function vm(e){let t=e.target.closest?.(`[data-wui-post]`);t&&(e.preventDefault(),!(lm(t)||t.getAttribute(`aria-busy`)===`true`)&&_m(t).catch(e=>console.error(e)))}function ym(){let e=window.sessionStorage.getItem(Jp);if(!e)return;window.sessionStorage.removeItem(Jp);let{message:t,variant:n}=JSON.parse(e);nm(t,n)}function bm(e){let t=e.querySelectorAll?[...e.querySelectorAll(`[data-wui-flash]`)]:[];e instanceof Element&&e.matches(`[data-wui-flash]`)&&t.unshift(e);for(let e of t){let t=e.getAttribute(`data-wui-flash-variant`)||`success`;if(!qp.includes(t))throw TypeError(`data-wui-flash-variant="${t}" is not supported. Use ${qp.join(`, `)}.`);let n=e.getAttribute(`data-wui-flash`)||e.textContent.trim();e.remove(),nm(n,t)}}function xm(e){Zp.has(e)||(Zp.add(e),e.addEventListener(`click`,fm),e.addEventListener(`hidden.bs.modal`,pm))}function Sm(e=document){let t=e.ownerDocument||e;Xp.has(t)||(Xp.add(t),t.addEventListener(`click`,um,!0),t.addEventListener(`submit`,dm,!0),xm(t),t.addEventListener(`click`,vm),ym()),bm(e)}var Cm=31536e3,wm=new WeakMap,Tm=e=>e>99?`99+`:String(e);function Em(e,t,n=document){n.cookie=`${e}=${t?`1`:`0`}; Path=/; Max-Age=${Cm}; SameSite=Lax`}var Dm=e=>{let t=document.createElement(`template`);return t.innerHTML=e,t.content},Om=(e,t)=>{let n=document.createElement(`div`);return n.className=e,n.textContent=t,n};function km(e,t){let n=e.querySelector(`.wui-bell-trigger`),r=e.querySelector(`.wui-bell-count`),i=e.querySelector(`[data-wui-bell-live]`),a=e.querySelector(`[data-wui-bell-list]`),o=e.querySelector(`.wui-bell-menu`),{src:s,readAction:c}=e.dataset,l=e.dataset.label||`Notifications`,u=e.dataset.emptyText||`You are all caught up.`,d=Number(e.dataset.pollSeconds??60),f=me(),p=Number(e.dataset.unread)||0,m=(t,a=!0)=>{let o=Math.max(0,Number(t)||0),s=o!==p;p=o,e.dataset.unread=String(o),r&&(r.textContent=Tm(o),r.hidden=o===0),n?.setAttribute(`aria-label`,o===0?l:`${l}, ${Tm(o)} unread`),a&&s&&i&&(i.textContent=o===0?`No unread notifications`:`${Tm(o)} unread notifications`)},h=()=>o?.classList.contains(`show`)??!1,g=()=>{let e=Om(`wui-bell-state`,`Could not load notifications. `),t=document.createElement(`button`);t.type=`button`,t.className=`btn btn-link btn-sm`,t.dataset.wuiBellRetry=``,t.textContent=`Retry`,e.append(t),a.replaceChildren(e)},_=async t=>{t&&(a.setAttribute(`aria-busy`,`true`),a.querySelector(`.wui-bell-item`)||a.replaceChildren(Om(`wui-bell-state`,`Loading…`)));let n=await f.run(s);if(n.kind===`aborted`||n.kind===`stale`||n.kind===`session`)return;if(a.removeAttribute(`aria-busy`),!n.ok){t&&g();return}let r=Dm(n.html),i=r.querySelector(`[data-wui-unread]`),o=i?Number(i.getAttribute(`data-wui-unread`)):p;m(o),(t||h())&&(r.querySelector(`.wui-bell-item`)?a.replaceChildren(r):a.replaceChildren(Om(`wui-bell-state`,u))),e.dispatchEvent(new CustomEvent(`wui:notifications:loaded`,{bubbles:!0,detail:{unread:o}}))};e.addEventListener(`show.bs.dropdown`,()=>_(!0)),e.addEventListener(`click`,async e=>{if(e.target.closest(`[data-wui-bell-retry]`)){_(!0);return}let t=e.target.closest(`[data-wui-bell-read]`);if(!t||!c)return;t.disabled=!0;let n=await k(c,{method:`POST`});t.disabled=!1,n.ok&&(m(0),_(!0))});let v=null,y=()=>{d>0&&v===null&&(v=setInterval(()=>_(h()),d*1e3))},b=()=>{v!==null&&clearInterval(v),v=null},x=()=>{document.hidden?b():(_(h()),y())};return d>0&&(document.addEventListener(`visibilitychange`,x),document.hidden||y()),t.push(()=>{b(),f.abort(),document.removeEventListener(`visibilitychange`,x)}),{setUnread:e=>m(e),refresh:()=>_(h())}}var Am=e=>!!e&&(e.isContentEditable||/^(INPUT|TEXTAREA|SELECT)$/.test(e.tagName)),jm=(e,t,n)=>`${e}${e.includes(`?`)?`&`:`?`}${encodeURIComponent(t)}=${encodeURIComponent(n)}`;function Mm(e,t){let n=e.querySelector(`input.search-input`),r=e.querySelector(`.wui-topsearch-results`),i=e.querySelector(`.wui-topsearch-open`),a=e.querySelector(`[data-wui-topsearch-live]`),{src:o,param:s=`q`,resultsHref:c}=e.dataset,l=Number(e.dataset.minChars??2),u=Number(e.dataset.debounceMs??250),d=me(),f=null,p=-1,m=()=>[...r.querySelectorAll(`.wui-topsearch-hit`)],h=e=>{let t=m();p=t.length===0?-1:(e+t.length)%t.length,t.forEach((e,t)=>{let n=t===p;e.classList.toggle(`is-active`,n),e.setAttribute(`aria-selected`,n?`true`:`false`)}),p>=0?(n.setAttribute(`aria-activedescendant`,t[p].id),t[p].scrollIntoView?.({block:`nearest`})):n.removeAttribute(`aria-activedescendant`)},g=()=>{r.hidden=!0,n.setAttribute(`aria-expanded`,`false`),n.removeAttribute(`aria-activedescendant`),p=-1},_=()=>{r.hidden=!1,n.setAttribute(`aria-expanded`,`true`)},v=t=>{e.classList.toggle(`is-open`,t),i?.setAttribute(`aria-expanded`,t?`true`:`false`)},y=t=>{let n=new CustomEvent(`wui:search:select`,{bubbles:!0,cancelable:!0,detail:{href:t}});e.dispatchEvent(n)&&window.location.assign(t)},b=async t=>{e.classList.add(`is-loading`);let n=await d.run(jm(o,s,t));if(!(n.kind===`aborted`||n.kind===`stale`||n.kind===`session`)){if(e.classList.remove(`is-loading`),n.ok){let e=Dm(n.html),t=e.querySelector(`[data-wui-count]`);r.replaceChildren(e),m().forEach((e,t)=>{e.id=`${r.id}-opt-${t}`});let i=t?Number(t.getAttribute(`data-wui-count`)):m().length;a&&(a.textContent=i===0?`No results`:`${i} ${i===1?`result`:`results`}`)}else r.replaceChildren(Om(`wui-topsearch-empty`,`Search is unavailable right now.`));p=-1,_()}};n.addEventListener(`input`,()=>{clearTimeout(f);let t=n.value.trim();if(t.length<l){d.abort(),e.classList.remove(`is-loading`),r.replaceChildren(),g();return}f=setTimeout(()=>b(t),u)}),n.addEventListener(`keydown`,t=>{if(t.key===`ArrowDown`||t.key===`ArrowUp`){if(r.hidden||m().length===0)return;t.preventDefault(),h(p+(t.key===`ArrowDown`?1:-1))}else if(t.key===`Enter`){let e=m();!r.hidden&&p>=0&&e[p]?(t.preventDefault(),y(e[p].getAttribute(`href`))):c&&n.value.trim()!==``&&(t.preventDefault(),y(jm(c,s,n.value.trim())))}else t.key===`Escape`&&(r.hidden?e.classList.contains(`is-open`)&&(t.preventDefault(),t.stopPropagation(),v(!1),i?.focus()):(t.preventDefault(),t.stopPropagation(),g()))}),r.addEventListener(`click`,e=>{let t=e.target.closest(`.wui-topsearch-hit`);!t||e.ctrlKey||e.metaKey||e.shiftKey||e.button===1||(e.preventDefault(),y(t.getAttribute(`href`)))}),i?.addEventListener(`click`,()=>{let t=!e.classList.contains(`is-open`);v(t),t&&n.focus()});let x=e=>{e.key!==`/`||e.ctrlKey||e.metaKey||e.altKey||Am(e.target)||(e.preventDefault(),v(!0),n.focus())},S=t=>{e.contains(t.target)||(g(),e.classList.contains(`is-open`)&&v(!1))};document.addEventListener(`keydown`,x),document.addEventListener(`pointerdown`,S),t.push(()=>{clearTimeout(f),d.abort(),document.removeEventListener(`keydown`,x),document.removeEventListener(`pointerdown`,S)})}function Nm(e){let t=[],n=e.dataset.wuiCollapsedCookie;n&&e.addEventListener(`wui:shell:collapse`,e=>Em(n,!!e.detail?.collapsed)),e.addEventListener(`click`,t=>{t.target.closest(`[data-wui-tabbar-more]`)&&e.querySelector(`[data-app-shell-menu]`)?.click()});let r=e.querySelector(`[data-wui-bell]`),i=r?km(r,t):null,a=e.querySelector(`[data-wui-topsearch]`);a&&Mm(a,t);let o={el:e,setUnread(e){if(!i)throw Error(`WUI.shell: this <app-shell> has no <app-shell-notifications>.`);i.setUnread(e)},refreshNotifications(){if(!i)throw Error(`WUI.shell: this <app-shell> has no <app-shell-notifications>.`);return i.refresh()},get collapsed(){return e.classList.contains(`collapsed`)},set collapsed(t){if(!!t===e.classList.contains(`collapsed`))return;let n=e.querySelector(`[data-app-shell-collapse]`);n?n.click():e.classList.toggle(`collapsed`,!!t)}};wm.set(e,o);let s=n=>{if(n.target===e||n.target.contains?.(e)){for(let e of t)e();wm.delete(e),delete e.dataset.wuiPartsWired,document.removeEventListener(`wui:teardown`,s)}};return document.addEventListener(`wui:teardown`,s),o}function Pm(e=document){let t=[];e instanceof Element&&e.matches(`[data-app-shell]`)&&t.push(e),t.push(...e.querySelectorAll(`[data-app-shell]`));for(let e of t)e.dataset.wuiPartsWired||(e.dataset.wuiPartsWired=`1`,Nm(e))}function Fm(e){let t=e?.closest?.(`[data-app-shell]`)??null;return t?(wm.has(t)||Pm(t),wm.get(t)??null):null}var Im=[`light`,`dark`,`auto`],Lm=[`wave`,`circle`,`slide`,`blinds`,`fade`,`none`],Rm=`wave`,zm=`theme`,Bm={wave:1100,circle:700,slide:600,blinds:900,fade:350,none:0},Vm=`wui-theme-switching`,Hm=`wui:theme:change`,Um=`wui-theme-toggle`,Wm=`(prefers-color-scheme: dark)`,Gm=e=>typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(e).matches,Km=e=>Im.includes(e);function qm(e){return e===`dark`||e===`auto`&&Gm(Wm)?`dark`:`light`}function Jm(e=zm){let t=null;try{t=window.localStorage.getItem(e)}catch{}return Km(t)?t:`auto`}function Ym(e,t=zm){try{window.localStorage.setItem(t,e)}catch{}}function Xm(e){let t=document.documentElement,n=qm(e);t.setAttribute(`data-theme`,e),t.setAttribute(`data-bs-theme`,n),document.dispatchEvent(new CustomEvent(Hm,{detail:{mode:n,preference:e}}))}var Zm=`(function(k){var m;try{m=localStorage.getItem(k)}catch{}if(m!=='light'&&m!=='dark')m='auto';var r=document.documentElement,q=window.matchMedia?window.matchMedia('(prefers-color-scheme: dark)'):null;function s(){var t=r.getAttribute('data-theme');r.setAttribute('data-bs-theme',t==='auto'?(q&&q.matches?'dark':'light'):t)}r.setAttribute('data-theme',m);s();if(q&&q.addEventListener)q.addEventListener('change',function(){if(r.getAttribute('data-theme')==='auto')s()})})(`;function Qm(e=zm){return`${Zm}${JSON.stringify(String(e)).replace(/</g,`\\u003c`)})`}function $m(e,{includeAuto:t=!1}={}){return e===`light`?`dark`:e===`dark`&&t?`auto`:`light`}function eh(e){if(typeof window>`u`||typeof window.matchMedia!=`function`)return()=>{};let t=window.matchMedia(Wm),n=()=>e(t.matches?`dark`:`light`);return t.addEventListener(`change`,n),()=>t.removeEventListener(`change`,n)}var th=60,nh=e=>e<.5?4*e*e*e:1-(-2*e+2)**3/2,rh=e=>e.toFixed(1),ih=(e,t)=>`${rh(e)}px ${rh(t)}px`,ah={amplitude:22,segments:36,cycles:1.5,ripples:2},oh=6,sh=(e,t,n,r,i)=>{let{amplitude:a,segments:o,cycles:s}=ah,c=n*(t+2*a),l=i?t+a-c:c-a,u=i?t+2*a:-2*a,d=[ih(0,u)];for(let t=0;t<=o;t++){let n=e*t/o,i=l+a*Math.sin(2*Math.PI*s*t/o+r);d.push(ih(n,i))}return d.push(ih(e,u)),`polygon(${d.join(`, `)})`},ch=(e,t,n,r)=>{let i=t/oh,a=[];for(let t=0;t<oh;t++){let o=t*i,s=i*n,c=r?o+i-s:o,l=r?o+i:o+s;a.push(ih(0,c),ih(e,c),ih(e,l),ih(0,l))}return`polygon(${a.join(`, `)})`};function lh(e,{width:t,height:n,to:r=`dark`,origin:i}={}){let a=r===`dark`,o=[];for(let r=0;r<=th;r++){let s=r/th,c=nh(s);switch(e){case`circle`:{let e=i?.x??t/2,r=i?.y??n/2,a=Math.hypot(Math.max(e,t-e),Math.max(r,n-r));o.push({clipPath:`circle(${rh(a*c)}px at ${rh(e)}px ${rh(r)}px)`});break}case`slide`:{let e=n*(1-c);o.push({clipPath:a?`inset(${rh(e)}px 0px 0px 0px)`:`inset(0px 0px ${rh(e)}px 0px)`});break}case`blinds`:o.push({clipPath:ch(t,n,c,a)});break;case`fade`:o.push({clipPath:`none`,opacity:c});break;case`none`:return[];default:o.push({clipPath:sh(t,n,c,s*ah.ripples*2*Math.PI,a)})}}return o}function uh(e,{effect:t=Rm,to:n,origin:r,duration:i,live:a}={}){let o=document.documentElement,s=n!==void 0&&o.getAttribute(`data-bs-theme`)===n;if(t===`none`||s||Gm(`(prefers-reduced-motion: reduce)`)||typeof document.startViewTransition!=`function`||typeof o.animate!=`function`)return e(),Promise.resolve(!1);o.classList.add(Vm);let c=a instanceof Element?a:null;c&&(c.style.viewTransitionName=Um);let l=document.startViewTransition(e),u=i??Bm[t]??Bm.wave;return l.ready.then(()=>{let e=lh(t,{width:window.innerWidth,height:window.innerHeight,to:n,origin:r});o.animate(e,{duration:u,easing:`linear`,fill:`both`,pseudoElement:`::view-transition-new(root)`})}).catch(()=>{}),l.finished.catch(()=>{}).then(()=>(o.classList.remove(Vm),c&&(c.style.viewTransitionName=``),!0))}var dh=Object.freeze({title:`Leave without saving?`,message:`Your changes on this page are not saved. If you leave now, they are lost.`,leaveLabel:`Leave`}),fh=`form[data-wui-unsaved]`,ph=`[aria-invalid="true"], .field-error:not(:empty), .field-validation-error, .validation-summary-errors, .wui-error-summary`,mh=`[download], [data-wui-modal], [data-wui-post], [data-bs-toggle]`,hh=new Set([`submit`,`button`,`reset`,`image`]),gh=new WeakMap,_h=new WeakSet,vh=e=>`${e.name}:${e.size}:${e.lastModified}`;function yh(e){let t=[];for(let n of e.elements)!n.name||n.disabled||hh.has(n.type)||(n.type===`checkbox`||n.type===`radio`?t.push([n.name,n.value,n.checked]):n.type===`file`?t.push([n.name,[...n.files||[]].map(vh)]):n.type===`select-multiple`?t.push([n.name,[...n.selectedOptions].map(e=>e.value)]):t.push([n.name,n.value]));return JSON.stringify(t)}var bh=e=>({saved:e.querySelector(ph)?null:yh(e),engaged:!1,discarded:!1});function xh(e){let t=gh.get(e);return!t||t.discarded||!e.isConnected?!1:t.saved===null||t.engaged&&yh(e)!==t.saved}var Sh=(e,t)=>[...e.querySelectorAll(fh)].filter(e=>e!==t&&xh(e)),Ch=()=>!!window.bootstrap?.Modal;function wh(e,t,n){let r=t.map(e=>e.getAttribute(`data-wui-unsaved`)).find(Boolean)||dh.message;cm(e,{title:dh.title,message:r,label:dh.leaveLabel,tone:`danger`},()=>{for(let e of t)gh.get(e).discarded=!0;n()})}function Th(e){if(e.matches(mh))return!1;let t=e.getAttribute(`target`);if(t&&t.toLowerCase()!==`_self`)return!1;let n=new URL(e.getAttribute(`href`),window.location.href);if(n.protocol!==`http:`&&n.protocol!==`https:`)return!1;let r=window.location;return!(n.hash&&n.origin===r.origin&&n.pathname===r.pathname&&n.search===r.search)}function Eh(e,t){if((t?.getAttribute(`formmethod`)||e.getAttribute(`method`)||`get`).toLowerCase()===`dialog`)return!1;let n=t?.getAttribute(`formtarget`)||e.getAttribute(`target`);return!n||n.toLowerCase()===`_self`}function Dh(e){if(e.defaultPrevented||e.button!==0||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey)return;let t=e.target.closest?.(`a[href]`);if(!t||!Th(t))return;let n=Sh(t.ownerDocument,null);!n.length||!Ch()||(e.preventDefault(),wh(t,n,()=>t.click()))}function Oh(e){let t=e.target;if(!(t instanceof HTMLFormElement)||e.defaultPrevented||!Eh(t,e.submitter))return;let n=Sh(t.ownerDocument,t);if(n.length&&Ch()){e.preventDefault();let r=e.submitter?.form===t?e.submitter:void 0;wh(t,n,()=>t.requestSubmit(r));return}let r=gh.get(t);r&&(r.saved=yh(t),r.discarded=!1)}function kh(e){Sh(document,null).length&&(e.preventDefault(),e.returnValue=``)}function Ah(e){let t=e.target.closest?.(fh),n=t&&gh.get(t);!n||n.engaged||(n.saved!==null&&(n.saved=yh(t)),n.engaged=!0)}function jh(e){let t=e.target.closest?.(fh),n=t&&gh.get(t);n&&(n.discarded=!1,e.isTrusted&&(n.engaged=!0))}function Mh(e){let t=e.detail?.handle?.el;if(t instanceof Element)for(let e of t.querySelectorAll(fh))Ph(e)}function Nh(e=document){let t=e.ownerDocument||e;if(!_h.has(t)){_h.add(t);for(let e of[`focusin`,`pointerdown`,`drop`])t.addEventListener(e,Ah,!0);for(let e of[`input`,`change`])t.addEventListener(e,jh,!0);t.addEventListener(`click`,Dh),t.addEventListener(`submit`,Oh),t.addEventListener(`wui:modal:success`,Mh),t.defaultView.addEventListener(`beforeunload`,kh)}let n=[...e.querySelectorAll?.(fh)||[]];e.matches?.(fh)&&n.unshift(e);for(let e of n)gh.has(e)||gh.set(e,bh(e))}function Ph(e){if(!(e instanceof HTMLFormElement)||!e.matches(fh))throw TypeError(`resetUnsavedChanges: ${String(e)} is not a <form data-wui-unsaved>.`);gh.set(e,{saved:yh(e),engaged:!1,discarded:!1})}function Fh(){t(`wui-select`,Br),t(`wui-country-select`,Wr),t(`wui-phone`,Tc),t(`wui-datepicker`,Vi),t(`wui-date-range`,Qi),t(`wui-dock`,$i),t(`wui-image-crop`,$a),t(`wui-kanban`,Ut),t(`wui-inline-edit`,mo),t(`wui-consent-banner`,Sr),t(`wui-slider`,Rl),t(`wui-sortable`,Yl),t(`wui-timepicker`,su),t(`wui-tour`,Id),t(`wui-tree`,Wd),t(`wui-autocomplete`,vn),t(`wui-command-palette`,tr),t(`wui-context-menu`,Lr),t(`wui-multiselect`,ss),t(`wui-taginput`,Ql),t(`wui-otp`,Js),t(`wui-status-icon`,qt),t(`wui-shortcuts`,Nl),t(`wui-record-pager`,Qc),t(`wui-carousel`,Sn),t(`wui-code-block`,Gn),t(`wui-data-table`,ji),t(`wui-drawer`,fa),t(`wui-hover-card`,ya),t(`wui-lightbox`,Oo),t(`wui-menubar`,es),t(`wui-navigation-menu`,bs),t(`wui-notification-center`,Rs),t(`wui-onboarding-checklist`,Gs),t(`wui-overflow`,rc),t(`wui-rating`,jc),t(`wui-relative-time`,dl),t(`wui-resizable`,kl),t(`wui-rolling-number`,Ml),t(`wui-show-more`,Ll),t(`wui-truncate`,Gd),t(`wui-whats-new`,Zd),t(`wui-mention-input`,Jo),t(`wui-comment-thread`,ur),t(`wui-wizard-step`,rf),t(`wui-wizard`,ef)}return Fh(),e.AVATAR_ACCEPT=af,e.AVATAR_MAX_SIZE_MB=of,e.AVATAR_OUTPUT_SIZE=sf,e.AVATAR_OUTPUT_TYPE=cf,e.AVATAR_PREVIEW_SIZES=lf,e.AVATAR_TEXT=uf,e.COLUMN_MAX_WIDTH=Kr,e.COLUMN_MIN_WIDTH=Gr,e.COMMENT_INTENTS=rr,e.COMMENT_REACTIONS=nr,e.COMMENT_TEXT=V,e.CONFIRM_DIALOG_ID=Gp,e.CONFIRM_TONES=Kp,e.COPY_FEEDBACK_MS=Un,e.CSRF_META_NAME=ie,e.CURRENCIES=i,e.DATA_TABLE_TEXT=W,e.DATE_PATTERNS=s,e.DEFAULT_CSRF_HEADER=ae,e.DEFAULT_IMAGE_ACCEPT=mf,e.DEFAULT_MAX_SIZE_MB=hf,e.DEFAULT_PASSWORD_RULES=op,e.DEFAULT_REQUIREMENTS_TITLE=sp,e.DEFAULT_THEME_EFFECT=Rm,e.DEFAULT_THEME_STORAGE_KEY=zm,e.DURATION_UNITS=o,e.EMPTY_VALUE=l,e.FLASH_STORAGE_KEY=Jp,e.FLASH_VARIANTS=qp,e.FORMAT_STYLES=r,e.HTTP_KINDS=ce,e.INLINE_EDIT_SAVED_MS=to,e.INLINE_EDIT_TEXT=no,e.INLINE_EDIT_TYPES=eo,e.IST_TIME_ZONE=c,e.KANBAN_DRAG_THRESHOLD_PX=pt,e.KANBAN_LONG_PRESS_MS=ft,e.KANBAN_PHONE_QUERY=dt,e.KANBAN_STORAGE_PREFIX=ut,e.KANBAN_SUMMARY_FORMATS=lt,e.KANBAN_TEXT=M,e.KANBAN_TONES=ct,e.LIST_KEYS=Ic,e.MASK_INPUT_TYPES=kf,e.MASK_NAMES=Lf,e.MENTION_ID_PATTERN=ko,e.MENTION_MAX_QUERY=zo,e.MENTION_MAX_RESULTS=Ro,e.MENTION_TEXT=Bo,e.MONEY_UNITS=a,e.NOTIFICATION_COUNT_CAP=xs,e.NOTIFICATION_TEXT=Cs,e.PIN_AT_VAR=oi,e.PIN_SIDES=Yr,e.RESIZE_STEP=qr,e.RESIZE_STEP_LARGE=Jr,e.ROW_HEIGHTS=Zr,e.ROW_MOVE_LIMIT=ui,e.ROW_MOVE_MS=di,e.ROW_SAVE_ATTR=yi,e.ROW_SAVE_ERROR_CLASS=bi,e.ROW_SAVE_STATES=vi,e.SCROLL_EDGE_SELECTOR=fp,e.SELECT_ALL_LABEL=xp,e.SELECT_CELL_CLASS=$,e.SELECT_KEY=Lc,e.SELECT_ROW_LABEL=Sp,e.SERVER_ACTION_TEXT=Yp,e.SHORTCUTS_OFF_ATTRIBUTE=Mc,e.SHORTCUT_EVENT=Pc,e.SHORTCUT_SCOPE_ATTRIBUTE=Nc,e.SHORTCUT_TEXT=Fc,e.STATUS_TONES=Kt,e.THEME_BOOT_SCRIPT_BODY=Zm,e.THEME_CHANGE_EVENT=Hm,e.THEME_EFFECTS=Lm,e.THEME_EFFECT_DURATION=Bm,e.THEME_LIVE_NAME=Um,e.THEME_MODES=Im,e.THEME_SWITCHING_CLASS=Vm,e.UNSAVED_TEXT=dh,e.VIRTUAL_OVERSCAN=Xr,e.WHATS_NEW_READ_EVENT=Kd,e.WUI_HEADERS=se,e.WuiAutocomplete=vn,e.WuiCarousel=Sn,e.WuiCodeBlock=Gn,e.WuiCommandPalette=tr,e.WuiCommentThread=ur,e.WuiConsentBanner=Sr,e.WuiContextMenu=Lr,e.WuiCountrySelect=Wr,e.WuiDataTable=ji,e.WuiDatePicker=Vi,e.WuiDateRange=Qi,e.WuiDock=$i,e.WuiDrawer=fa,e.WuiHoverCard=ya,e.WuiImageCrop=$a,e.WuiInlineEdit=mo,e.WuiKanban=Ut,e.WuiLightbox=Oo,e.WuiMentionInput=Jo,e.WuiMenubar=es,e.WuiMultiSelect=ss,e.WuiNavigationMenu=bs,e.WuiNotificationCenter=Rs,e.WuiOnboardingChecklist=Gs,e.WuiOtp=Js,e.WuiOverflow=rc,e.WuiPhone=Tc,e.WuiRating=jc,e.WuiRecordPager=Qc,e.WuiRelativeTime=dl,e.WuiResizable=kl,e.WuiRollingNumber=Ml,e.WuiSelect=Br,e.WuiShortcuts=Nl,e.WuiShowMore=Ll,e.WuiSlider=Rl,e.WuiSortable=Yl,e.WuiStatusIcon=qt,e.WuiTagInput=Ql,e.WuiTimePicker=su,e.WuiTour=Id,e.WuiTree=Wd,e.WuiTruncate=Gd,e.WuiWhatsNew=Zd,e.WuiWizard=ef,e.WuiWizardStep=rf,e.acceptLabel=Cf,e.addRowSelectCells=kp,e.addSelectColumn=Ap,e.applyTheme=Xm,e.ariaKeyShortcuts=Kc,e.attachInputMask=Qf,e.attachScrollEdges=mp,e.attachShiftRange=Np,e.avatarCropOptions=pf,e.avatarUnreadableMessage=ff,e.buildPasswordRules=lp,e.clampColumnWidth=$r,e.classifyStatus=fe,e.confirmAction=cm,e.copyTextToClipboard=Wn,e.createLocalSeenStore=Ad,e.createRequestQueue=me,e.createSelectHeaderCell=wp,e.createSelectRowCell=Tp,e.createSelectSpacerCell=Ep,e.defineWeborityElements=Fh,e.evaluatePassword=up,e.formatCompact=T,e.formatCurrency=ee,e.formatDate=O,e.formatDuration=te,e.formatMasked=Gf,e.formatNumber=C,e.formatPercent=E,e.formatRelativeTime=rl,e.formatValue=re,e.getServerTable=Up,e.getShell=Fm,e.glyphSvg=z,e.groupCount=Qr,e.groupItems=ei,e.groupNotificationsByDay=ks,e.identityCell=xi,e.inShortcutScope=Yc,e.initInputMasks=ap,e.initRemoteModals=ot,e.initScrollEdges=bp,e.initServerActions=Sm,e.initServerTables=Hp,e.initShellParts=Pm,e.initUnsavedChanges=Nh,e.inlineEditText=ro,e.isHeicFile=df,e.isImageFile=bf,e.isImageOnlyAccept=Sf,e.isMaskPattern=zf,e.isPdfFile=xf,e.isTypingTarget=qc,e.kanbanCardLabel=P,e.kanbanOverflow=It,e.kanbanStorageKey=Lt,e.kanbanSummaryFormat=Bt,e.kanbanVisibleLimit=Ft,e.loadRemoteModal=st,e.maskedPostValue=Jf,e.matchSegments=Kn,e.matchesAccept=wf,e.measureRows=hi,e.mentionLabel=Mo,e.mentionTextFromValue=Fo,e.mentionValueFromText=Io,e.mentionedIds=Lo,e.moveFocus=Zc,e.nextTheme=$m,e.notificationCountText=ws,e.notificationDayHeading=Os,e.notificationTime=Ds,e.notificationTriggerLabel=Ts,e.notificationUnreadAnnouncement=Es,e.parseMentionValue=Po,e.passwordSatisfies=dp,e.pinAtValue=si,e.pinClasses=li,e.pinOffsetVar=ai,e.planPins=ci,e.playRowMoves=gi,e.postedMasked=Wf,e.rawMasked=Uf,e.readColumnWidths=ri,e.readCsrf=ue,e.readKanbanCollapsed=Rt,e.readStoredTheme=Jm,e.relativeTimeTitle=il,e.resetUnsavedChanges=Ph,e.resolveMask=Vf,e.resolveTheme=qm,e.rowLabel=Si,e.rowOrderChanged=_i,e.runShortcut=Xc,e.saveOutcomeText=Ti,e.setRowSaveState=Ci,e.settledRows=wi,e.shortcutKey=Gc,e.shortcutName=Wc,e.shortcutsOff=Jc,e.storeTheme=Ym,e.sumKanbanValues=Vt,e.syncSelectAll=jp,e.themeBootScript=Qm,e.themeKeyframes=lh,e.toInstant=D,e.transitionTheme=uh,e.validateFile=Tf,e.virtualRange=ti,e.watchSystemTheme=eh,e.withTrustedLabel=un,e.writeColumnWidths=ii,e.writeKanbanCollapsed=zt,e.wuiFetch=k,e})({});
908
+ <div class="visually-hidden" role="status" aria-live="polite"></div>`;let n=t;this._shadow=null,this.isolated&&(n=document.createElement(Sd),this._shadow=n.attachShadow({mode:`open`}),Fd(this._shadow),this._shadow.appendChild(t)),document.body.appendChild(n),document.documentElement.setAttribute(pr,``),this._outer=n,this._layer=t,this._spot=t.querySelector(`.wui-tour-spot`),this._card=t.querySelector(`.wui-tour-card`),this._live=t.querySelector(`[role=status]`),this._card.querySelector(`.wui-tour-skip`).addEventListener(`click`,()=>this._close(`skipped`,`button`)),this._card.querySelector(`.wui-tour-back`).addEventListener(`click`,()=>this._move(-1)),this._card.querySelector(`.wui-tour-next`).addEventListener(`click`,()=>this._move(1)),this._shadow&&this._card.removeAttribute(`aria-modal`),this._onKey=e=>this._key(e),this._onFocusIn=e=>{if(!this._layer||this._ending)return;let t=this._current,n=t?this._steps[t.index]:null;xu(this._layer,n,t?.target??null,e.target)||this._card.focus()},document.addEventListener(`keydown`,this._onKey,!0),this._shadow||document.addEventListener(`focusin`,this._onFocusIn),I(n,()=>this._follow())}_active(){return this._shadow?this._shadow.activeElement:document.activeElement}_show(e){this._current=e;let{index:t,target:n}=e,r=this._steps[t],i=this._card,a=this._progress.position(t),o=this._progress.total(),s=a===o&&!this._endDialogText(),c=yd(this,a,o);bd(i,{text:c,position:a,total:o}),gd(i,r,{pause:this._label(`mediaPause`),play:this._label(`mediaPlay`)});let l=yu(this,{layer:this._layer,spot:this._spot,card:i},r,n),u=i.querySelector(`.wui-tour-title`);u.textContent=r.title||``,u.hidden=!r.title,i.querySelector(`.wui-tour-text`).textContent=r.description||``,i.querySelector(`.wui-tour-skip`).textContent=this._label(`skip`),i.querySelector(`.wui-tour-back`).textContent=this._label(`back`),i.querySelector(`.wui-tour-back`).hidden=t<=this._firstIndex,i.querySelector(`.wui-tour-next`).textContent=this._label(s?`done`:`next`);let d=[c,r.title,r.description].filter(Boolean).join(`. `);this._live.textContent=l?[d,l].join(/[.!?]$/.test(d)?` `:`. `):d,Ku(i,n),this._spot.removeAttribute(wd),this._place(),Nu(i),this._unbindAdvance?.(),this._unbindAdvance=bu(r,n,()=>this._move(1));let f=this._active();(i.contains(f)?!f.hidden:this._shadow!==null&&Md(Nd()))||i.focus(),this.dispatchEvent(new CustomEvent(`wui-tour:step`,{bubbles:!0,detail:{step:r,index:t,position:a,total:o}}))}_place(){!this._current||!this._layer||qu(this._spot,this._card,this._current.target)}_follow(){if(!this._current||!this._layer||this._ending)return;let e=this._spot.style.cssText;this._place(),this._spot.style.cssText!==e&&this._spot.setAttribute(wd,``)}async _move(e){this._current&&await this._go(this._current.index+e,e)}async _go(e,t){if(!this._current||this._moving)return;this._moving=!0;let n=this._run;try{let r=await this._locate(e,t,n);if(n!==this._run)return;if(r){let e=Pu(this._card);if(e&&await e,n!==this._run)return;this._show(r)}else if(t>0){let e=this._endDialogText();if(e&&await this._showEnd(e),n!==this._run)return;await this._close(`finished`)}}finally{this._moving=!1}}_showEnd(e){return this._unbindAdvance?.(),this._unbindAdvance=null,yu(this,{layer:this._layer,spot:this._spot,card:this._card},null,null),this._spot.removeAttribute(wd),this._ending=new AbortController,this._seenMark=this._markSeen(`finished`),nd(this._layer,e,this._ending.signal)}_key(e){if(!(!this._layer||this._ending||e.altKey||e.ctrlKey||e.metaKey)){if(e.key===`Escape`)e.preventDefault(),e.stopPropagation(),this._close(`skipped`,`escape`);else if(e.key===`ArrowRight`||e.key===`ArrowLeft`){if(Md(e.composedPath?.()[0]??e.target))return;e.preventDefault(),e.key===`ArrowRight`?this._move(1):this._current.index>this._firstIndex&&this._move(-1)}else if(e.key===`Tab`&&!this._shadow){let{index:t,target:n}=this._current;Su(e,{card:this._card,active:this._active(),step:this._steps[t],target:n})}}}_teardown(){if(!this._layer)return;document.removeEventListener(`keydown`,this._onKey,!0),document.removeEventListener(`focusin`,this._onFocusIn);let e=!this._shadow||this._shadow.activeElement!==null||!document.activeElement||document.activeElement===document.body;this._unbindAdvance?.(),this._unbindAdvance=null,this._ending?.abort(),this._ending=null,this._seenMark=null,L(this._outer),Fu(this._outer),document.documentElement.removeAttribute(pr),this._outer=null,this._shadow=null,this._layer=null,this._current=null;let t=this._returnFocus;this._returnFocus=null,e&&t?.isConnected&&t.focus?.()}async _close(e,t=null){let n=this._run,r=this._current,i=r?{index:r.index,position:this._progress.position(r.index),total:this._progress.total()}:Od,a=this._seenMark;this._teardown();try{n===this._run&&await(a??this._markSeen(e))}finally{this._finish(e,i,t)}}_finish(e,t=Od,n=null){this._run++,this._running=!1,this.hasAttribute(`open`)&&this.removeAttribute(`open`),this.dispatchEvent(new CustomEvent(`wui-tour:close`,{bubbles:!0,detail:{reason:e,...t,via:n}}))}},Ld=[`none`,`single`,`multiple`],Rd=`parentId`,zd=`Loading`,Bd=`Could not load. Try again.`,Vd=`:scope > input[data-wui-mirror]`,Hd=[`nodes`,`selection`,`selected`,`values`,`loadChildren`,`loadUrl`,`name`],Ud=0;function Q(e,t,n){let r=document.createElement(e);t&&(r.className=t);for(let[e,t]of Object.entries(n??{}))t!=null&&r.setAttribute(e,String(t));return r}var Wd=class extends n{static get observedAttributes(){return[`selection`,`selected`,`name`,`aria-label`,`loading-text`,`error-text`]}constructor(){super(),this._uid=`wui-tree-${++Ud}`,this._seq=0,this._roots=[],this._byId=new Map,this._prev=null,this._staged=null,this._els=new Map,this._checked=new Set,this._selected=null,this._focusId=null,this._loader=null,this._list=null,this._live=null,this._ready=!1,this._nav=sn({getVisibleOptions:()=>this._visible().map(e=>this._els.get(e.id)?.row),getActive:()=>this._visible().findIndex(e=>e.id===this._focusId),setActive:e=>this._focusNode(this._visible()[e]),onEnter:()=>{let e=this._byId.get(this._focusId);e&&this._activate(e)}}),this._onKeyDown=e=>this._handleKeyDown(e),this._onClick=e=>this._handleClick(e),this._onFocusIn=e=>{let t=this._nodeFrom(e.target);t&&t.id!==this._focusId&&this._setRoving(t)}}connectedCallback(){let e={};for(let t of Hd)Object.hasOwn(this,t)&&(e[t]=this[t],delete this[t]);if(!this._ready){this._ready=!0;let e=this._readScript();this.replaceChildren(),this._list=Q(`ul`,`wui-tree`),this._list.setAttribute(`role`,`tree`),this._live=Q(`div`,`visually-hidden`,{role:`status`,"aria-live":`polite`}),this.append(this._list,this._live),e&&this._adoptAll(e)}for(let[t,n]of Object.entries(e))this[t]=n;this.addEventListener(`keydown`,this._onKeyDown),this.addEventListener(`click`,this._onClick),this.addEventListener(`focusin`,this._onFocusIn),this._render(),this._loadOpenNodes()}disconnectedCallback(){this.removeEventListener(`keydown`,this._onKeyDown),this.removeEventListener(`click`,this._onClick),this.removeEventListener(`focusin`,this._onFocusIn),this._nav.teardown()}attributeChangedCallback(e,t,n){e===`selected`&&(this._selected=n),this._ready&&this.isConnected&&this._render()}get nodes(){return this._roots.map(e=>e.raw)}set nodes(e){this._adoptAll(e??[]),this._render(),this._loadOpenNodes()}get selection(){let e=this.getAttribute(`selection`);return Ld.includes(e)?e:`none`}set selection(e){this.setAttribute(`selection`,String(e))}get selected(){return this._selected}set selected(e){this._selected=e==null?null:String(e),this._render()}get values(){let e=[],t=n=>{for(let r of n)this._state(r)===`checked`&&e.push(r.id),r.children&&t(r.children)};return t(this._roots),[...e,...[...this._checked].filter(e=>!this._byId.has(e))]}set values(e){this._checked.clear();for(let t of e??[]){let e=this._byId.get(String(t));e?this._setChecked(e,!0):this._checked.add(String(t))}this._render()}get loadChildren(){return this._loader}set loadChildren(e){this._loader=typeof e==`function`?e:null}get loadUrl(){return this.getAttribute(`load-url`)}set loadUrl(e){e==null?this.removeAttribute(`load-url`):this.setAttribute(`load-url`,String(e))}get name(){return this.getAttribute(`name`)}set name(e){e==null?this.removeAttribute(`name`):this.setAttribute(`name`,String(e))}get loadingText(){return this.getAttribute(`loading-text`)??zd}set loadingText(e){this.setAttribute(`loading-text`,String(e??``))}get errorText(){return this.getAttribute(`error-text`)??Bd}set errorText(e){this.setAttribute(`error-text`,String(e??``))}_readScript(){let e=this.querySelector(`:scope > script[type='application/json']`);if(!e)return null;try{return JSON.parse(e.textContent)}catch(e){return console.error(`[@webority/ui-elements] <wui-tree> could not read its JSON nodes:`,e?.message),null}}_adoptAll(e){let t=this._byId;this._prev=t,this._byId=new Map;let n;try{n=this._adoptStaged(e,null,1)}catch(e){throw this._byId=t,e}finally{this._prev=null}this._roots=n;for(let e of t.keys())this._byId.has(e)||this._checked.delete(e);for(let e of this._roots)this._passChecksDown(e);this._focusId&&!this._byId.has(this._focusId)&&(this._focusId=null)}_adoptStaged(e,t,n){let r=[],i=[];this._staged={ids:r,checks:i};try{let r=this._adopt(e,t,n);for(let e of i)this._checked.add(e);return r}catch(e){for(let e of r)this._byId.delete(e);throw e}finally{this._staged=null}}_adopt(e,t,n){if(!Array.isArray(e))throw Error(`<wui-tree> nodes must be an array.`);return e.map(e=>{let r=e?.id==null?``:String(e.id);if(!r)throw Error(`<wui-tree> every node needs an id.`);if(this._byId.has(r))throw Error(`<wui-tree> node id "${r}" is used twice.`);let i=this._prev?.get(r),a={id:r,raw:e,parent:t,level:n,seq:++this._seq,label:e.label==null?r:String(e.label),icon:e.icon||null,badge:e.badge==null||e.badge===``?null:String(e.badge),badgeTone:e.badgeTone||null,disabled:!!e.disabled,hasChildren:!!e.hasChildren,children:null,expanded:i?i.expanded:!!e.expanded,loading:!1,failed:!1};this._byId.set(r,a),this._staged.ids.push(r);let o=e.children??(e.hasChildren?i?.children?.map(e=>e.raw):void 0);return Array.isArray(o)&&(a.children=this._adopt(o,a,n+1)),a.loading=!!i?.loading&&a.children===null&&a.hasChildren,e.checked&&!i&&this._staged.checks.push(r),a})}_passChecksDown(e){e.children?.length&&this._checked.has(e.id)&&(this._checked.delete(e.id),this._setChecked(e,!0));for(let t of e.children??[])this._passChecksDown(t)}_loadOpenNodes(){queueMicrotask(()=>{if(this.isConnected)for(let e of[...this._byId.values()])e.expanded&&e.children===null&&e.hasChildren&&!e.loading&&this._load(e)})}_isBranch(e){return e.children?e.children.length>0:e.hasChildren}_visible(){let e=[],t=n=>{for(let r of n)e.push(r),r.expanded&&r.children&&t(r.children)};return t(this._roots),e}_state(e){if(e.children?.length){let t=0,n=0;for(let r of e.children){let e=this._state(r);e===`checked`?t++:e===`unchecked`&&n++}return t===e.children.length?`checked`:n===e.children.length?`unchecked`:`mixed`}return this._checked.has(e.id)?`checked`:`unchecked`}_setChecked(e,t){if(e.children?.length)for(let n of e.children)n.disabled||this._setChecked(n,t);else t?this._checked.add(e.id):this._checked.delete(e.id)}_nodeFrom(e){let t=e?.closest?.(`li.wui-tree-item`);if(!t)return null;for(let[e,n]of this._els)if(n.li===t)return this._byId.get(e)??null;return null}_emit(e,t){this.dispatchEvent(new CustomEvent(`wui-tree:${e}`,{detail:t,bubbles:!0,composed:!0}))}_announce(e){this._live&&(this._live.textContent=e)}_setRoving(e){let t=this._els.get(this._focusId);t&&(t.li.tabIndex=-1),this._focusId=e.id;let n=this._els.get(e.id);n&&(n.li.tabIndex=0)}_focusNode(e){e&&(this._setRoving(e),this._els.get(e.id)?.li.focus())}_activate(e){e.disabled||(this.selection===`single`&&(this._selected=e.id,this._render(),this._syncForm()),this._emit(`select`,{id:e.id,node:e.raw}))}_enabledLeaves(e){return e.disabled?[]:e.children?.length?e.children.flatMap(e=>this._enabledLeaves(e)):[e]}_toggleCheck(e){let t=this._enabledLeaves(e);if(!t.length)return;let n=!t.every(e=>this._checked.has(e.id));this._setChecked(e,n),this._render(),this._syncForm(),this._emit(`check`,{id:e.id,checked:n,values:this.values})}_toggleExpand(e){e.disabled||!this._isBranch(e)||(e.expanded?(e.expanded=!1,this._render()):this._expand(e))}_expand(e){e.expanded=!0,e.children===null?this._load(e):this._render()}async _load(e){if(e.loading)return;e.loading=!0,e.failed=!1,this._announce(this.loadingText),this._render();let t,n=null;try{t=await this._fetchChildren(e)}catch(e){n=e}let r=this._byId.get(e.id);if(!r){this._announce(``);return}if(r.loading){if(r.loading=!1,!n)try{r.children=this._adoptStaged(t,r,r.level+1),this._passChecksDown(r),this._announce(``)}catch(e){n=e}n&&(r.failed=!0,r.expanded=!1,this._announce(this.errorText),this._emit(`error`,{id:r.id,message:n?.message??String(n)})),this._render(),this._syncForm()}}async _fetchChildren(e){if(this._loader)return this._loader(e.raw);let t=this.getAttribute(`load-url`);if(!t)throw Error(`<wui-tree> has a node with children to load but no loadChildren or load-url.`);let n=new URL(t,window.location.href);n.searchParams.set(Rd,e.id);let r=await k(n.href,{headers:{Accept:`application/json`}});if(!r.ok)throw Error(`Loading children answered ${r.kind}.`);return JSON.parse(r.html)}_handleClick(e){let t=this._nodeFrom(e.target);!t||t.disabled||(this._focusNode(t),e.target.closest(`.wui-tree-toggle`)?this._toggleExpand(t):e.target.closest(`.wui-tree-check`)?(e.preventDefault(),this._toggleCheck(t)):this._activate(t))}_handleKeyDown(e){if(e.ctrlKey||e.metaKey||e.altKey)return;let t=this._nodeFrom(e.target);if(!(!t||e.target!==this._els.get(t.id)?.li))if(e.key===`ArrowRight`){if(e.preventDefault(),!this._isBranch(t)||t.disabled)return;t.expanded?t.children?.length&&this._focusNode(t.children[0]):this._expand(t)}else e.key===`ArrowLeft`?(e.preventDefault(),t.expanded&&this._isBranch(t)&&!t.disabled?this._toggleExpand(t):t.parent&&this._focusNode(t.parent)):e.key===` `?(e.preventDefault(),this.selection===`multiple`?this._toggleCheck(t):this.selection===`single`&&this._activate(t)):this._nav.handler(e)}_syncForm(){let e=this.selection;if(e===`multiple`)an(this,this.values);else if(e===`single`)R(this,this._selected??``);else for(let e of this.querySelectorAll(Vd))e.remove()}_render(){if(!this._list)return;let e=document.activeElement,t=!!e&&this._list.contains(e),n=this._visible();n.some(e=>e.id===this._focusId)||(this._focusId=(n.find(e=>e.id===this._selected)??n[0])?.id??null),this._els=new Map;let r=this.getAttribute(`aria-label`);r?this._list.setAttribute(`aria-label`,r):this._list.removeAttribute(`aria-label`),this._list.replaceChildren(...this._buildLevel(this._roots)),t&&this._focusId&&this._els.get(this._focusId)?.li.focus(),this._syncForm()}_buildLevel(e){return e.map((t,n)=>this._buildItem(t,n+1,e.length))}_buildItem(e,t,n){let r=this.selection,i=this._isBranch(e),a=this._state(e),o=Q(`li`,`wui-tree-item`,{role:`treeitem`,tabindex:e.id===this._focusId?0:-1,"aria-level":e.level,"aria-setsize":n,"aria-posinset":t,"aria-labelledby":`${this._uid}-${e.seq}`,"aria-describedby":e.badge?`${this._uid}-${e.seq}-badge`:null});i&&o.setAttribute(`aria-expanded`,String(e.expanded)),e.disabled&&o.setAttribute(`aria-disabled`,`true`),e.loading&&o.setAttribute(`aria-busy`,`true`),r===`single`&&o.setAttribute(`aria-selected`,String(e.id===this._selected)),r===`multiple`&&o.setAttribute(`aria-checked`,a===`mixed`?`mixed`:String(a===`checked`));let s=Q(`div`,`wui-tree-row`,{role:`presentation`});s.style.setProperty(`--wui-tree-level`,String(e.level-1)),r===`single`&&e.id===this._selected&&s.classList.add(`wui-tree-row-selected`),e.failed&&s.classList.add(`wui-tree-row-error`);let c=Q(`span`,i?`wui-tree-toggle`:`wui-tree-toggle wui-tree-toggle-leaf`,{"aria-hidden":`true`});if(i&&(c.innerHTML=z(`chevron-right`,{size:16})),s.append(c),r===`multiple`){let t=Q(`input`,`form-check-input wui-tree-check`,{type:`checkbox`,tabindex:-1,"aria-hidden":`true`});t.checked=a===`checked`,t.indeterminate=a===`mixed`,t.disabled=e.disabled,t.addEventListener(`mousedown`,e=>e.preventDefault()),s.append(t)}if(e.icon){let t=Q(`span`,`wui-tree-icon`,{"aria-hidden":`true`});t.innerHTML=z(e.icon,{size:16}),s.append(t)}let l=Q(`span`,`wui-tree-label`,{id:`${this._uid}-${e.seq}`});if(l.textContent=e.label,s.append(l),e.badge){let t=Q(`span`,`badge wui-tree-badge${e.badgeTone&&e.badgeTone!==`neutral`?` badge-${e.badgeTone}`:``}`,{id:`${this._uid}-${e.seq}-badge`});t.textContent=e.badge,s.append(t)}if(e.loading&&s.append(Q(`span`,`wui-tree-spinner`,{"aria-hidden":`true`})),o.append(s),e.expanded&&e.children?.length){let t=Q(`ul`,`wui-tree-group`,{role:`group`});t.append(...this._buildLevel(e.children)),o.append(t)}return this._els.set(e.id,{li:o,row:s}),o}},Gd=class extends n{constructor(){super(),this._measure=()=>this.measure(),this._resize=null,this._mutation=null,this._ownTabindex=!1}connectedCallback(){this.measure(),this.addEventListener(`mouseover`,this._measure),typeof ResizeObserver<`u`&&(this._resize=new ResizeObserver(this._measure),this._resize.observe(this)),this._mutation=new MutationObserver(this._measure),this._mutation.observe(this,{childList:!0,subtree:!0,characterData:!0})}disconnectedCallback(){this.removeEventListener(`mouseover`,this._measure),this._resize?.disconnect(),this._mutation?.disconnect(),this._resize=null,this._mutation=null}measure(){let e=this.querySelector(`.wui-truncate-text`);if(e){if(e.scrollWidth>e.clientWidth||e.scrollHeight>e.clientHeight){this.setAttribute(`data-wui-tip`,e.textContent.replace(/\s+/g,` `).trim()),this.hasAttribute(`tabindex`)||(this.setAttribute(`tabindex`,`0`),this._ownTabindex=!0);return}this.removeAttribute(`data-wui-tip`),this._ownTabindex&&=(this.removeAttribute(`tabindex`),!1)}}},Kd=`wui-whats-new-read`,qd=`wui-whats-new:`,Jd=`data-open`,Yd=`data-wui-unread`,Xd=0,Zd=class extends n{static get observedAttributes(){return[`storage-key`]}constructor(){super(),this._doc=null,this._seen=``,this._observer=null,this._onTriggerClick=()=>this.isOpen?this.close(!0):this.open(),this._onKeyDown=e=>{e.key===`Escape`&&this.isOpen&&(e.stopPropagation(),this.close(!0))},this._onPointerDown=e=>{this.isOpen&&!this.contains(e.target)&&this.close(!1)}}get isOpen(){return this.hasAttribute(Jd)}get _trigger(){return this.querySelector(`.wui-whats-new-trigger`)}get _panel(){return this.querySelector(`.wui-whats-new-panel`)}connectedCallback(){this._doc=this.ownerDocument;let e=this._panel,t=this._trigger;!e||!t||(e.id||=`wui-whats-new-${++Xd}`,t.setAttribute(`aria-controls`,e.id),t.setAttribute(`aria-expanded`,`false`),t.addEventListener(`click`,this._onTriggerClick),this.addEventListener(`keydown`,this._onKeyDown),this._seen=this._load(),this._refresh(),typeof MutationObserver<`u`&&(this._observer=new MutationObserver(()=>this._refresh()),this._observer.observe(e,{childList:!0,subtree:!0})))}disconnectedCallback(){this._observer?.disconnect(),this._observer=null,this._trigger?.removeEventListener(`click`,this._onTriggerClick),this.removeEventListener(`keydown`,this._onKeyDown),this._doc?.removeEventListener(`pointerdown`,this._onPointerDown,!0),L(this),this.removeAttribute(Jd),this._doc=null}attributeChangedCallback(e,t,n){t===n||!this._doc||(this._seen=this._load(),this._refresh())}open(){let e=this._panel;!e||this.isOpen||(this.setAttribute(Jd,``),this._trigger?.setAttribute(`aria-expanded`,`true`),this._place(),I(this,()=>this._place()),this._doc.addEventListener(`pointerdown`,this._onPointerDown,!0),e.focus({preventScroll:!0}),this._markRead())}close(e){this.isOpen&&(this.removeAttribute(Jd),this._trigger?.setAttribute(`aria-expanded`,`false`),this._doc.removeEventListener(`pointerdown`,this._onPointerDown,!0),L(this),this._refresh(),e&&this._trigger?.focus())}_place(){F(this._trigger,this._panel,{clampHeight:!0})}_entries(){return[...this.querySelectorAll(`.wui-whats-new-entry`)].map(e=>({entry:e,date:e.querySelector(`time[datetime]`)?.getAttribute(`datetime`)??``}))}_newest(){return this._entries().reduce((e,{date:t})=>t>e?t:e,``)}_refresh(){let e=this._entries(),t=0;for(let{entry:n,date:r}of e){let e=r>this._seen;e&&t++,!(this.isOpen&&n.hasAttribute(Yd))&&n.toggleAttribute(Yd,e)}this.toggleAttribute(Yd,t>0)}_markRead(){let e=this._newest();!e||e<=this._seen||(this._seen=e,this._save(e),this.toggleAttribute(Yd,!1),this.dispatchEvent(new CustomEvent(Kd,{bubbles:!0,detail:{through:e}})))}_storage(){let e=this.getAttribute(`storage-key`);if(!e)return null;try{return{store:this.ownerDocument.defaultView.localStorage,key:qd+e}}catch{return null}}_load(){let e=this._storage();return e?e.store.getItem(e.key)??``:this._seen}_save(e){let t=this._storage();t&&t.store.setItem(t.key,e)}},Qd=`wui-wizard-step`,$d=`:scope > [data-wui-glyphs]`,ef=class extends n{static get observedAttributes(){return[`active`,`variant`,`orientation`,`icon-size`,`non-linear`,`hide-stepper`,`hide-connectors`,`disabled`,`skippable`,`label`,`back-label`,`next-label`,`skip-label`,`finish-label`]}constructor(){super(),this._active=0,this._skipped=new Set,this._invalid=new Set,this._finished=!1,this._rendered=!1,this._reflecting=!1,this._beforeNext=null,this._header=null,this._footer=null,this._known=[],this._observer=null,this._glyphs=null,this._glyphObserver=null}get active(){return this._active}set active(e){let t=Number.parseInt(e,10);Number.isFinite(t)&&this._go(t,`set`)}get beforeNext(){return this._beforeNext}set beforeNext(e){this._beforeNext=typeof e==`function`?e:null}get _steps(){return[...this.querySelectorAll(`:scope > ${Qd}`)]}refresh(){this._rendered&&this._renderChrome()}connectedCallback(){if(this._rendered)this._wire(),this._onStepsMutated();else{let e=Number.parseInt(this.getAttribute(`active`),10);this._active=Number.isFinite(e)&&e>=0?e:0,this.render()}}disconnectedCallback(){this._teardown()}attributeChangedCallback(e,t,n){if(!(!this._rendered||this._reflecting)){if(e===`active`){let e=Number.parseInt(n,10);Number.isFinite(e)&&this._go(e,`set`);return}this._renderChrome()}}render(){let e=this._steps;this._header||(this._header=document.createElement(`nav`),this._header.className=`stepper wizard-stepper`,this._footer=document.createElement(`div`),this._footer.className=`form-actions wizard-footer form-actions-between`,e.length?(this.insertBefore(this._header,e[0]),e[e.length-1].after(this._footer)):(this.prepend(this._header),this.append(this._footer))),this._known=e,this._renderChrome(),this._rendered=!0,this._wire()}_renderChrome(){let e=this._reconcileSteps();this._placeChrome(e),this._clampActive(e),this._syncPanels(e),this._header.innerHTML=this._headerHtml(e),this._footer.innerHTML=this._footerHtml(e),this._header.hidden=this.hasAttribute(`hide-stepper`)}_clampActive(e){let t=Math.max(0,e.length-1);this._active>t&&(this._active=t),this._active<0&&(this._active=0)}_reconcileSteps(){let e=this._steps,t=this._known;if(this._known=e,tf(e,t))return e;let n=n=>new Set([...n].map(n=>e.indexOf(t[n])).filter(e=>e>=0));this._skipped=n(this._skipped),this._invalid=n(this._invalid);let r=t[this._active];if(!r)return e;let i=e.indexOf(r);if(i<0){let n=t=>e.includes(t),r=t.slice(this._active+1).find(n)??t.slice(0,this._active).reverse().find(n);i=r?e.indexOf(r):this._active}return i=Math.min(i,Math.max(0,e.length-1)),i!==this._active&&(this._active=i,this._reflectActive(i)),e}_placeChrome(e){if(!e.length)return;let t=e[e.length-1];this._header.nextElementSibling!==e[0]&&this.insertBefore(this._header,e[0]),this._footer.previousElementSibling!==t&&t.after(this._footer)}_onStepsMutated(){if(!this._rendered)return;let e=this._steps,t=!e.length||this._header.nextElementSibling===e[0]&&this._footer.previousElementSibling===e[e.length-1];this.querySelector($d)!==this._glyphs&&(this._watchGlyphs(),this._renderHeader()),!(t&&tf(e,this._known))&&(this._renderChrome(),this._observer?.takeRecords())}_syncPanels(e){e.forEach((e,t)=>{let n=t===this._active;e.classList.add(`wizard-panel`),e.hidden=!n,e.setAttribute(`role`,`tabpanel`),e.setAttribute(`aria-hidden`,n?`false`:`true`)})}_stepStatus(e,t){return e.getAttribute(`status`)||(this._invalid.has(t)?`error`:this._finished?`done`:t===this._active?`active`:t<this._active?this._skipped.has(t)?`skipped`:`done`:`pending`)}_headerHtml(e){let t=this.getAttribute(`variant`)===`journey`,n=this.getAttribute(`variant`)===`icons`,r=this.getAttribute(`orientation`)===`vertical`,i=!this.hasAttribute(`hide-connectors`);this._header.className=[`stepper`,`wizard-stepper`,t&&`stepper-journey`,n&&`stepper-icons`,r&&`stepper-vertical`,!i&&`wui-stepper-no-connectors`].filter(Boolean).join(` `),this._header.setAttribute(`aria-label`,this.getAttribute(`label`)||`Progress`);let a=this.hasAttribute(`non-linear`);return e.map((r,o)=>{let s=this._stepStatus(r,o),c=r.getAttribute(`label`)||``,l=r.getAttribute(`description`)||``,u=r.getAttribute(`icon`)||``,d=o+1,f;f=s===`done`?this._glyph(`check`):s===`error`?this._glyph(`alert-triangle`):s===`skipped`?this._glyph(`minus`):u?this._glyph(u):String(d);let p=s===`pending`?`step`:`step ${s}`,m=s===`active`?` aria-current="step"`:``,h=a||o<this._active,g=l?`<span class="step-desc">${nf(l)}</span>`:``,_;_=t?`<span class="step-circle">${f}</span><span class="step-text"><span class="step-index">Step ${d}</span><span class="step-label">${nf(c)}</span>${g}</span>`:n?`<span class="step-circle">${f}</span><span class="step-index">Step ${d}</span><span class="step-label">${nf(c)}</span>${g}`:`<span class="step-circle">${f}</span><span class="step-label">${nf(c)}</span>${g}`;let v=h?`<button type="button" class="${p}" data-step="${o}"${m}>${_}</button>`:`<div class="${p}"${m}>${_}</div>`;return t&&i&&o<e.length-1?`${v}<span class="step-line${s===`done`?` done`:``}" aria-hidden="true"></span>`:v}).join(``)}_footerHtml(e){let t=this._active,n=e.length-1,r=this.hasAttribute(`disabled`)?` disabled`:``,i=e[t]?.hasAttribute(`optional`)||this.hasAttribute(`skippable`),a=this.getAttribute(`back-label`)||`Back`,o=this.getAttribute(`next-label`)||`Next`,s=this.getAttribute(`skip-label`)||`Skip`,c=this.getAttribute(`finish-label`)||`Finish`;return`${t>0?`<button type="button" class="btn btn-secondary" data-nav="back"${r}>${z(`arrow-left`,{className:`me-2`})}${nf(a)}</button>`:`<span></span>`}<span class="wizard-footer-actions">${i&&t<n?`<button type="button" class="btn btn-subtle" data-nav="skip"${r}>${nf(s)}</button>`:``}${t<n?`<button type="button" class="btn btn-primary" data-nav="next"${r}>${nf(o)}${z(`arrow-right`,{className:`ms-2`})}</button>`:`<button type="button" class="btn btn-primary" data-nav="finish"${r}>${nf(c)}</button>`}</span>`}_wire(){this._teardown(),this._onHeaderClick=e=>{let t=e.target.closest(`[data-step]`);t&&this.contains(t)&&this._stepTo(Number.parseInt(t.dataset.step,10))},this._onFooterClick=e=>{let t=e.target.closest(`[data-nav]`);if(!t||!this.contains(t)||this.hasAttribute(`disabled`))return;let n=t.dataset.nav;n===`back`?this._back():n===`skip`?this._skip():(n===`next`||n===`finish`)&&this._next()},this._header.addEventListener(`click`,this._onHeaderClick),this._footer.addEventListener(`click`,this._onFooterClick),this._observer=new MutationObserver(()=>this._onStepsMutated()),this._observer.observe(this,{childList:!0}),this._watchGlyphs()}_glyph(e){let t=this.querySelector($d),n=t&&[...t.children].find(t=>t.getAttribute(`data-icon`)===e);if(n)return n.outerHTML;let r=Number.parseInt(this.getAttribute(`icon-size`),10);return z(e,r>0?{size:r}:void 0)}_watchGlyphs(){this._glyphObserver?.disconnect(),this._glyphObserver=null,this._glyphs=this.querySelector($d),this._glyphs&&(this._glyphObserver=new MutationObserver(()=>this._renderHeader()),this._glyphObserver.observe(this._glyphs,{childList:!0,subtree:!0,attributes:!0,characterData:!0}))}_renderHeader(){this._rendered&&(this._header.innerHTML=this._headerHtml(this._steps))}_teardown(){this._header&&this._onHeaderClick&&this._header.removeEventListener(`click`,this._onHeaderClick),this._footer&&this._onFooterClick&&this._footer.removeEventListener(`click`,this._onFooterClick),this._observer?.disconnect(),this._observer=null,this._glyphObserver?.disconnect(),this._glyphObserver=null}_stepTo(e){this.hasAttribute(`disabled`)||!this.hasAttribute(`non-linear`)&&e>=this._active||this._go(e,`step`)}_back(){this._active>0&&this._go(this._active-1,`back`)}async _next(){this._reconcileSteps();let e=this._active,t=this._steps,n=e>=t.length-1,r=t[e];if(!this.dispatchEvent(new CustomEvent(`wui-wizard:beforechange`,{detail:n?{index:e,next:e,reason:`finish`}:{index:e,next:e+1,reason:`next`},cancelable:!0})))return this._flagInvalid(e);if(this._beforeNext){let i;try{i=await this._beforeNext(e)}catch{i=!1}if(this._reconcileSteps(),t=this._steps,e=t.indexOf(r),e<0)return;if(n=e>=t.length-1,i===!1)return this._flagInvalid(e)}if(this._invalid.delete(e),this._skipped.delete(e),n)return this._finish();this._go(e+1,`next`)}_skip(){let e=this._active,t=this._steps;if(!(!t[e]?.hasAttribute(`optional`)&&!this.hasAttribute(`skippable`))){if(this._invalid.delete(e),this._skipped.add(e),this.dispatchEvent(new CustomEvent(`wui-wizard:skip`,{detail:{index:e}})),e>=t.length-1)return this._finish();this._go(e+1,`skip`)}}_flagInvalid(e){this._invalid.add(e),this._renderChrome(),this.dispatchEvent(new CustomEvent(`wui-wizard:invalid`,{detail:{index:e}}))}_finish(){this._invalid.delete(this._active),this._finished=!0,this._renderChrome(),this.dispatchEvent(new CustomEvent(`wui-wizard:finish`,{detail:{index:this._active}}))}_go(e,t){let n=this._reconcileSteps(),r=Math.max(0,n.length-1),i=Math.min(Math.max(e,0),r),a=this._active;this._finished=!1,this._invalid.delete(a),this._active=i,this._reflectActive(i),this._renderChrome(),t!==`silent`&&i!==a&&this.dispatchEvent(new CustomEvent(`wui-wizard:change`,{detail:{index:i,previous:a,reason:t}}))}_reflectActive(e){this._reflecting=!0,this.setAttribute(`active`,String(e)),this._reflecting=!1}},tf=(e,t)=>e.length===t.length&&e.every((e,n)=>e===t[n]),nf=e=>String(e??``).replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`),rf=class extends n{static get observedAttributes(){return[`label`,`description`,`optional`,`icon`,`status`]}attributeChangedCallback(){let e=this.closest(`wui-wizard`);e&&typeof e.refresh==`function`&&e.refresh()}},af=`image/jpeg,image/png,image/webp,image/heic,image/heif,.heic,.heif`,of=10,sf=512,cf=`image/webp`,lf=[96,48],uf={dialogTitle:`Edit photo`,dialogSubtitle:`Drag to position the photo, then zoom or rotate it.`,save:`Save photo`,cancel:`Cancel`,choose:`Upload photo`,change:`Change photo`,camera:`Take photo`,remove:`Remove photo`,unreadable:`That photo could not be opened. Choose a JPG, PNG or WebP image.`,heicUnreadable:`This browser cannot open HEIC photos. Choose a JPG, PNG or WebP image instead.`,cropFailed:`That photo could not be saved. Try again, or choose another one.`};function df(e){if(!e)return!1;let t=String(e.type||``).toLowerCase();return t===`image/heic`||t===`image/heif`||/\.hei[cf]$/i.test(String(e.name||``))}function ff(e){return df(e)?uf.heicUnreadable:uf.unreadable}function pf(e,t){let n=Number(t);return{name:e?.name||`photo`,type:cf,size:Number.isInteger(n)&&n>0?n:512}}var mf=`image/png,image/jpeg,image/webp`,hf=5,gf={"image/png":[`.png`],"image/jpeg":[`.jpg`,`.jpeg`],"image/webp":[`.webp`],"image/gif":[`.gif`],"image/svg+xml":[`.svg`],"image/heic":[`.heic`],"image/heif":[`.heif`],"application/pdf":[`.pdf`],"text/plain":[`.txt`]},_f={"image/png":`PNG`,"image/jpeg":`JPG`,"image/webp":`WEBP`,"image/gif":`GIF`,"image/svg+xml":`SVG`,"image/heic":`HEIC`,"image/heif":`HEIC`,"application/pdf":`PDF`,"text/plain":`text file`,".png":`PNG`,".jpg":`JPG`,".jpeg":`JPG`,".webp":`WEBP`,".gif":`GIF`,".svg":`SVG`,".heic":`HEIC`,".heif":`HEIC`,".pdf":`PDF`,".txt":`text file`},vf=e=>String(e||``).split(`,`).map(e=>e.trim().toLowerCase()).filter(Boolean),yf=[`.png`,`.jpg`,`.jpeg`,`.webp`,`.gif`,`.svg`,`.bmp`,`.avif`,`.heic`,`.heif`];function bf(e){if(!e)return!1;let t=typeof e==`object`&&e.type?String(e.type).toLowerCase():``;if(t)return t.startsWith(`image/`);let n=typeof e==`string`?e:e.name||e.url||``,r=String(n).toLowerCase();return yf.some(e=>r.endsWith(e))}function xf(e){if(!e)return!1;let t=typeof e==`object`&&e.type?String(e.type).toLowerCase():``;if(t)return t===`application/pdf`;let n=typeof e==`string`?e:e.name||e.url||``;return String(n).toLowerCase().split(/[?#]/)[0].endsWith(`.pdf`)}function Sf(e){let t=vf(e);return t.length?t.every(e=>e.startsWith(`.`)?yf.includes(e):e===`image/*`||e.startsWith(`image/`)):!1}function Cf(e){let t=[];for(let n of vf(e)){let e=_f[n]||(n.startsWith(`.`)?n.slice(1).toUpperCase():n.toUpperCase());t.includes(e)||t.push(e)}return t.length<=1?t[0]||`supported`:`${t.slice(0,-1).join(`, `)} or ${t[t.length-1]}`}function wf(e,t){let n=vf(t);if(!n.length)return!0;let r=(e.type||``).toLowerCase(),i=(e.name||``).toLowerCase();return n.some(e=>e.startsWith(`.`)?i.endsWith(e):e.endsWith(`/*`)?r.startsWith(e.slice(0,-1)):r&&r===e?!0:!r&&(gf[e]||[]).some(e=>i.endsWith(e)))}function Tf(e,t={}){if(!e)return null;let n=t.accept===void 0?mf:t.accept,r=t.maxSizeMb===void 0?5:t.maxSizeMb;if(!wf(e,n)){let e=Cf(n);return`Choose a ${e.endsWith(` file`)?e:`${e} file`}.`}return r>0&&e.size>r*1024*1024?`Keep the file under ${r} MB.`:null}var Ef=/[0-9]/,Df={9:Ef,A:/[A-Za-z]/,"*":/[0-9A-Za-z]/},Of=/[9A*]/,kf=new Set([`text`,`tel`,`search`,`url`,`password`]),Af=e=>{let t=e.replace(/\D/g,``);return t.length===12&&t.startsWith(`91`)?t.slice(2):t.length===11&&t.startsWith(`0`)?t.slice(1):e},jf=e=>{let t=Number(e.slice(0,2)),n=Number(e.slice(2,4)),r=Number(e.slice(4,8));if(r<1)return!1;let i=new Date(Date.UTC(r,n-1,t));return i.getUTCFullYear()===r&&i.getUTCMonth()===n-1&&i.getUTCDate()===t},Mf=e=>e.length<=3?e:`${e.slice(0,-3).replace(/\B(?=(\d{2})+(?!\d))/g,`,`)},${e.slice(-3)}`,Nf=e=>{let t=/^(\d{4})-(\d{2})-(\d{2})$/.exec(e.trim());return t?`${t[3]}-${t[2]}-${t[1]}`:e};function Pf(e,{upper:t=!1,normalize:n,valid:r,post:i=e=>e,message:a=`Enter the full value`}={}){let o=[...e].map(e=>Df[e]?{re:Df[e]}:{lit:e}),s=o.filter(e=>e.re).length;return{inputMode:o.every(e=>!e.re||e.re===Ef)?`numeric`:`text`,normalize:n,post:i,message:a,extract(e){let n=``,r=0;for(let i of e){for(;r<o.length&&o[r].lit!==void 0&&o[r].lit!==i;)r++;if(r>=o.length)break;let e=o[r];e.lit===void 0?e.re.test(i)&&(n+=t?i.toUpperCase():i,r++):r++}return n},layout(e){let t=``,n=[],r=0;for(let i=0;i<o.length&&r<e.length;i++)o[i].lit===void 0?(t+=e[r++],n.push(!0)):(t+=o[i].lit,n.push(!1));return{text:t,isRaw:n}},isValid:e=>e.length===s&&(!r||r(e))}}function Ff(){return{inputMode:`decimal`,post:e=>e,message:`Enter a valid amount`,extract(e){let t=``,n=!1,r=0;for(let i of e)Ef.test(i)?n?r<2&&(t+=i,r++):t+=i:i===`.`&&!n&&(n=!0,t+=i);return t.startsWith(`.`)&&(t=`0${t}`),t.replace(/^0+(?=\d)/,``)},layout(e){let[t,n]=e.split(`.`),r=Mf(t)+(e.includes(`.`)?`.${n}`:``);return{text:r,isRaw:[...r].map(e=>e!==`,`)}},isValid:e=>/^\d+(\.\d{1,2})?$/.test(e)}}var If={"phone-in":()=>Pf(`99999 99999`,{normalize:Af,valid:e=>/^[6-9]/.test(e),message:`Enter a 10-digit mobile number`}),pan:()=>Pf(`AAAAA9999A`,{upper:!0,valid:e=>/^[A-Z]{5}\d{4}[A-Z]$/.test(e),message:`Enter a valid PAN`}),gstin:()=>Pf(`99AAAAA9999A***`,{upper:!0,valid:e=>/^\d{2}[A-Z]{5}\d{4}[A-Z][1-9A-Z]Z[0-9A-Z]$/.test(e),message:`Enter a valid GSTIN`}),aadhaar:()=>Pf(`9999 9999 9999`,{valid:e=>/^[2-9]/.test(e),message:`Enter a valid 12-digit Aadhaar number`}),ifsc:()=>Pf(`AAAA*******`,{upper:!0,valid:e=>/^[A-Z]{4}0[A-Z0-9]{6}$/.test(e),message:`Enter a valid IFSC`}),"pin-code":()=>Pf(`999999`,{valid:e=>/^[1-9]/.test(e),message:`Enter a valid 6-digit PIN code`}),date:()=>Pf(`99-99-9999`,{normalize:Nf,valid:jf,post:(e,t)=>e.length===8&&jf(e)?`${e.slice(4)}-${e.slice(2,4)}-${e.slice(0,2)}`:t,message:`Enter a valid date as DD-MM-YYYY`}),amount:Ff},Lf=Object.keys(If),Rf=e=>{let t=String(e).toLowerCase();return Object.hasOwn(If,t)?t:void 0},zf=e=>Of.test(String(e))&&Rf(e)===void 0,Bf=new Map;function Vf(e){if(e==null||e===``)return null;let t=String(e);return Bf.has(t)||(zf(t)?Bf.set(t,Pf(t)):Bf.set(t,Object.hasOwn(If,t)?If[t]():null)),Bf.get(t)}var Hf=(e,t)=>e.normalize?e.normalize(t):t;function Uf(e,t){let n=Vf(e);return n?n.extract(Hf(n,String(t??``))):String(t??``)}function Wf(e,t){let n=Vf(e);if(!n)return String(t??``);let r=n.extract(Hf(n,String(t??``)));return n.post(r,n.layout(r).text)}function Gf(e,t){let n=Vf(e);return n?n.layout(n.extract(Hf(n,String(t??``)))).text:String(t??``)}var Kf=(e,t)=>{if(t<=0)return 0;let n=0;for(let r=0;r<e.length;r++)if(e[r]&&++n===t)return r+1;return e.length},qf=new WeakMap,Jf=e=>qf.get(e)?.(),Yf=new WeakMap;function Xf(e,t,n,r){let i=e.getAll(t),a=Yf.get(e);a||Yf.set(e,a=new Set);let o=i.findIndex((e,r)=>e===n&&!a.has(`${t}\u0000${r}`));if(!(o<0)){if(a.add(`${t}\u0000${o}`),i[o]=r,i.length===1){e.set(t,r);return}e.delete(t);for(let n of i)e.append(t,n)}}function Zf(e){let t=null,n=null,r=!1,i=(t,n)=>n===null?e.removeAttribute(t):e.setAttribute(t,n),a,o,s=()=>{t?.remove(),t=null,n&&(n.hidden=!1),n=null,r&&e.classList.remove(`error`),r=!1,a!==void 0&&i(`aria-invalid`,a),o!==void 0&&i(`aria-describedby`,o),a=void 0,o=void 0};return i=>{if(!i){s();return}let c=e.closest(`.field`),l=c?.querySelector(`.field-error`);l&&l!==t&&l.textContent.trim()||(t||(r=!e.classList.contains(`error`),e.classList.add(`error`),a=e.getAttribute(`aria-invalid`),o=e.getAttribute(`aria-describedby`),c&&(t=document.createElement(`div`),t.className=`field-error`,e.id&&(t.id=`${e.id}-error`),n=c.querySelector(`.field-hint`),n&&(n.hidden=!0),c.insertBefore(t,[...c.children].find(e=>e.classList.contains(`field-count`))??null),t.id&&e.setAttribute(`aria-describedby`,t.id)),e.setAttribute(`aria-invalid`,`true`)),t&&(t.textContent=i))}}function Qf(e,{mask:t,postFormatted:n=!1,onChange:r,onInvalidChange:i}={}){let a=Vf(t);if(!a||!kf.has(e.type))return()=>{};let o=Object.getPrototypeOf(e),s=Object.getOwnPropertyDescriptor(o,`value`).set,c=!e.hasAttribute(`inputmode`);c&&e.setAttribute(`inputmode`,a.inputMode);let l=i??Zf(e),u=null,d=!1,f=!1,p=!1,m=``,h=``,g,_=()=>{let e=p?m:``;e!==h&&(h=e,l(h))},v=(t,n,i)=>{let o=a.extract(t.slice(0,n)).length,c=a.extract(t),{text:l,isRaw:d}=a.layout(c);if(e.value!==l&&(s.call(e,l),document.activeElement===e&&kf.has(e.type))){let t=Kf(d,o);e.setSelectionRange(t,t)}e.dataset.maskRaw=c,m=c&&!a.isValid(c)?a.message:``,e.setCustomValidity(m),_(),i&&c!==u&&r?.(c,l),u=c},y=Object.getOwnPropertyDescriptor(e,`value`),b=y??Object.getOwnPropertyDescriptor(o,`value`);Object.defineProperty(e,"value",{configurable:!0,enumerable:b.enumerable,get:()=>b.get.call(e),set:t=>{if(b.set.call(e,t),f)return;let n=Hf(a,e.value);v(n,n.length,!0)}});let x=()=>{d=!0,e.dispatchEvent(new Event(`input`,{bubbles:!0})),d=!1},S=t=>{if(d||f||t.isComposing)return;let n=t.inputType===`insertText`&&(t.data?.length??0)<=1||t.inputType?.startsWith(`delete`)?e.value:Hf(a,e.value);v(n,e.selectionStart??n.length,!0)},C=()=>{f=!0},ee=()=>{f=!1;let t=Hf(a,e.value);v(t,e.selectionStart??t.length,!0),x()},w=t=>{let n=t.inputType===`deleteContentBackward`;if(!n&&t.inputType!==`deleteContentForward`||t.isComposing)return;let r=e.selectionStart;if(r==null||r!==e.selectionEnd)return;let{isRaw:i}=a.layout(a.extract(e.value)),o=n?r-1:r;for(;o>=0&&o<i.length&&!i[o];)o+=n?-1:1;o!==(n?r-1:r)&&(t.preventDefault(),!(o<0||o>=i.length)&&(v(e.value.slice(0,o)+e.value.slice(o+1),n?o:r,!0),x()))},T=t=>{if(e.readOnly||e.disabled)return;let n=t.clipboardData?.getData(`text`);if(n==null)return;t.preventDefault();let r=Hf(a,n),i=e.selectionStart??e.value.length,o=e.selectionEnd??i;v(e.value.slice(0,i)+r+e.value.slice(o),i+r.length,!0),x()},E=()=>{let t=a.extract(e.value);return a.post(t,a.layout(t).text)},te=()=>{p=!0,_()};e.addEventListener(`input`,S),e.addEventListener(`beforeinput`,w),e.addEventListener(`paste`,T),e.addEventListener(`compositionstart`,C),e.addEventListener(`compositionend`,ee),e.addEventListener(`blur`,te),e.addEventListener(`invalid`,te);let D=e.form,ne=t=>{e.name&&!e.disabled&&Xf(t.formData,e.name,e.value,E())},O=()=>{clearTimeout(g),g=setTimeout(()=>{p=!1,v(Hf(a,e.value),e.value.length,!0)},0)};n||(D?.addEventListener(`formdata`,ne),qf.set(e,E)),D?.addEventListener(`reset`,O),D?.addEventListener(`submit`,te);let re=Hf(a,e.value);return v(re,re.length,!1),()=>{clearTimeout(g),e.removeEventListener(`input`,S),e.removeEventListener(`beforeinput`,w),e.removeEventListener(`paste`,T),e.removeEventListener(`compositionstart`,C),e.removeEventListener(`compositionend`,ee),e.removeEventListener(`blur`,te),e.removeEventListener(`invalid`,te),D?.removeEventListener(`formdata`,ne),D?.removeEventListener(`reset`,O),D?.removeEventListener(`submit`,te),qf.delete(e),y?Object.defineProperty(e,"value",y):delete e.value,p=!1,m=``,_(),e.setCustomValidity(``),delete e.dataset.maskRaw,c&&e.removeAttribute(`inputmode`)}}function $f(){let e=typeof window>`u`?void 0:window.jQuery?.validator?.prototype;if(!e||e.wuiMaskHook)return;let t=e.elementValue;e.elementValue=function(e){let n=Jf(e);return n===void 0?t.call(this,e):n},e.wuiMaskHook=!0}var ep=new WeakMap,tp,np=e=>{ep.has(e)||ep.set(e,Qf(e,{mask:e.dataset.appMask,postFormatted:e.hasAttribute(`data-mask-post-formatted`)}))},rp=e=>e.nodeType===1?[...e.matches(`input[data-app-mask]`)?[e]:[],...e.querySelectorAll(`input[data-app-mask]`)]:[];function ip(){tp||typeof MutationObserver>`u`||(tp=new MutationObserver(e=>{for(let t of e){for(let e of t.removedNodes)for(let t of rp(e))ep.get(t)?.(),ep.delete(t);for(let e of t.addedNodes)for(let t of rp(e))np(t)}}),tp.observe(document.documentElement,{childList:!0,subtree:!0}))}function ap(e=document){$f();for(let t of e.querySelectorAll(`input[data-app-mask]`))np(t);e===document&&ip()}var op={minLength:10,uppercase:!0,lowercase:!0,digit:!0,special:!0,uniqueChars:0,customRules:[]},sp=`Password requirements`;function cp(e){return e===!0||e==null?{...op}:{...op,...e}}function lp(e){let t=cp(e),n=[];if(t.minLength>0&&n.push({key:`length`,label:`At least ${t.minLength} characters long`,test:e=>e.length>=t.minLength}),t.uppercase&&n.push({key:`uppercase`,label:`At least one uppercase letter`,test:e=>/[A-Z]/.test(e)}),t.lowercase&&n.push({key:`lowercase`,label:`At least one lowercase letter`,test:e=>/[a-z]/.test(e)}),t.digit&&n.push({key:`digit`,label:`At least one digit`,test:e=>/[0-9]/.test(e)}),t.special&&n.push({key:`special`,label:`At least one special character`,test:e=>/[^A-Za-z0-9]/.test(e)}),t.uniqueChars>0){let e=t.uniqueChars;n.push({key:`unique`,label:`At least ${e} unique character${e>1?`s`:``}`,test:t=>new Set(t).size>=e})}for(let[e,r]of(t.customRules??[]).entries()){let t=new RegExp(r.pattern);n.push({key:`custom-${e}`,label:r.label,test:e=>t.test(e)})}return n}function up(e,t){let n=e==null?``:String(e);return lp(t).map(e=>({key:e.key,label:e.label,met:e.test(n)}))}function dp(e,t){return up(e,t).every(e=>e.met)}var fp=`.table-wrap, .table-responsive, [class*="table-responsive-"]`,pp=1;function mp(e){let t=()=>{let t=e.scrollWidth-e.clientWidth,n=Math.abs(e.scrollLeft);e.toggleAttribute(`data-wui-overflow-start`,t>pp&&n>pp),e.toggleAttribute(`data-wui-overflow-end`,t>pp&&n<t-pp),e.toggleAttribute(`data-wui-overflow-top`,e.scrollTop>pp)},n=()=>{if(e.scrollWidth-e.clientWidth>pp){let t=getComputedStyle(e);e.style.setProperty(`--wui-scroll-pad-start`,t.paddingInlineStart),e.style.setProperty(`--wui-scroll-pad-end`,t.paddingInlineEnd)}else e.style.getPropertyValue(`--wui-scroll-pad-end`)&&(e.style.removeProperty(`--wui-scroll-pad-start`),e.style.removeProperty(`--wui-scroll-pad-end`))},r=()=>{n(),t()};e.addEventListener(`scroll`,t,{passive:!0});let i=null;if(typeof ResizeObserver<`u`){i=new ResizeObserver(r),i.observe(e);for(let t of e.children)i.observe(t)}return r(),()=>{e.removeEventListener(`scroll`,t),i?.disconnect(),e.removeAttribute(`data-wui-overflow-start`),e.removeAttribute(`data-wui-overflow-end`),e.removeAttribute(`data-wui-overflow-top`),e.style.getPropertyValue(`--wui-scroll-pad-end`)&&(e.style.removeProperty(`--wui-scroll-pad-start`),e.style.removeProperty(`--wui-scroll-pad-end`))}}var hp=new WeakMap,gp,_p=e=>{hp.has(e)||hp.set(e,mp(e))},vp=e=>e.nodeType===1?[...e.matches(`.table-wrap, .table-responsive, [class*="table-responsive-"]`)?[e]:[],...e.querySelectorAll(fp)]:[];function yp(){gp||typeof MutationObserver>`u`||(gp=new MutationObserver(e=>{for(let t of e){for(let e of t.removedNodes)for(let t of vp(e))hp.get(t)?.(),hp.delete(t);for(let e of t.addedNodes)for(let t of vp(e))_p(t)}}),gp.observe(document.documentElement,{childList:!0,subtree:!0}))}function bp(e=document){for(let t of e.querySelectorAll(fp))_p(t);e===document&&yp()}var xp=`Select all rows`,Sp=`Select row`,$=`wui-select-cell`,Cp=(e,t)=>{let n=e.createElement(`input`);return n.type=`checkbox`,n.className=`wui-check`,n.setAttribute(`aria-label`,t),n};function wp(e=document){let t=e.createElement(`th`);return t.className=$,t.appendChild(Cp(e,xp)),t}function Tp(e=document){let t=e.createElement(`td`);return t.className=$,t.appendChild(Cp(e,Sp)),t}function Ep(e=document){let t=e.createElement(`td`);return t.className=$,t}var Dp=e=>e.firstElementChild?.classList.contains($),Op=e=>e.matches(`.wui-group-row, .wui-virtual-spacer`);function kp(e){for(let t of e)!Dp(t)&&!Op(t)&&t.insertBefore(Tp(t.ownerDocument),t.firstChild)}function Ap(e){let t=e.querySelector(`thead tr`);if(!t)return null;Dp(t)||t.insertBefore(wp(e.ownerDocument),t.firstChild),kp(e.querySelectorAll(`tbody tr`));for(let t of e.querySelectorAll(`tfoot tr`))Dp(t)||t.insertBefore(Ep(e.ownerDocument),t.firstChild);return t.querySelector(`.${$} .wui-check`)}function jp(e){let t=e.querySelector(`thead .${$} .wui-check`),n=[...e.querySelectorAll(`tbody tr .wui-check`)],r=n.length,i=n.filter(e=>e.checked).length;t&&(t.checked=r>0&&i===r,t.indeterminate=i>0&&i<r);for(let t of e.querySelectorAll(`tbody tr`))t.classList.toggle(`is-selected`,!!t.querySelector(`.wui-check`)?.checked);return{selected:i,total:r}}var Mp=`tbody .${$} .wui-check`;function Np(e,t){let n=null,r=e=>e instanceof Element&&e.matches(`.wui-select-cell .wui-check`)&&!!e.closest(`tbody`);e.addEventListener(`mousedown`,e=>{e.shiftKey&&r(e.target)&&e.preventDefault()}),e.addEventListener(`click`,i=>{let a=i.target;if(r(a)){if(i.shiftKey&&n?.isConnected&&n!==a){let r=[...e.querySelectorAll(Mp)],i=r.indexOf(n),o=r.indexOf(a);if(i>=0&&o>=0){let e=[];for(let t of r.slice(Math.min(i,o),Math.max(i,o)+1))t===a||t.checked===a.checked||(t.checked=a.checked,e.push(t));e.length&&t?.(e,a.checked)}}n=a}})}var Pp=Object.freeze([`page`,`pageSize`,`sortBy`,`sortOrder`]),Fp=`search`,Ip=Object.freeze({loading:`Loading rows`,error:`These rows did not load. Try again.`,network:`The connection dropped before the rows loaded. Check it and try again.`,forbidden:`You do not have access to these rows.`,retry:`Retry`,actionFailed:`That did not work. Try again.`,actionForbidden:`You do not have permission to do that.`,empty:`No rows`}),Lp=5,Rp=new WeakMap,zp=(e,t)=>{let n=Number(e);return Number.isInteger(n)?n:t},Bp=e=>({total:zp(e.dataset.total,0),page:zp(e.dataset.page,1),pageSize:zp(e.dataset.pageSize,0),sortBy:e.dataset.sortBy||``,sortOrder:e.dataset.sortOrder===`desc`?`desc`:`asc`}),Vp=(e,t)=>{e&&window.WUI?.toast?.(e,{variant:t})};function Hp(e=document){let t=e.querySelectorAll?[...e.querySelectorAll(`[data-wui-server]`)]:[];e instanceof Element&&e.matches(`[data-wui-server]`)&&t.unshift(e);for(let e of t)Rp.has(e)||Rp.set(e,Wp(e))}function Up(e){let t=e instanceof Element?e.closest(`[data-wui-server]`):null;return t&&Rp.get(t)||null}function Wp(e){let t=e.querySelector(`.table-wrap`),n=t?.querySelector(`:scope > table`),r=e.dataset.src;if(!n||!r)throw Error(`A server-paged table needs data-src and a .table-wrap > table: render it with <app-data-table src>.`);let i=t.querySelector(`:scope > [data-wui-table-state]`),a=e.querySelector(`[data-wui-table-pager]`),o=e.querySelector(`[data-wui-table-status]`),s={urlState:e.dataset.urlState!==`false`,refreshOnSuccess:e.dataset.refreshOnSuccess!==`false`,filtersForm:e.dataset.filtersForm||null,filtersRegion:e.dataset.filtersRegion||null,searchInput:e.dataset.searchInput||null,loadingText:e.dataset.loadingText||Ip.loading,errorText:e.dataset.errorText||Ip.error},c=new URL(r,window.location.href),l=new Set(c.searchParams.keys()),u=n.hasAttribute(`data-app-datatable-selectable`),d=new Set,f=!1,p=me(),m=new AbortController,h={signal:m.signal},g=n.querySelector(`:scope > tbody[data-wui-rows]`);if(!g)throw Error(`A server-paged table needs its rows in <app-table-rows> (tbody[data-wui-rows]).`);let _=Bp(g),v=null,y=null,b=e=>{let t=new URLSearchParams;for(let[n,r]of new URLSearchParams(e))l.has(n)||t.append(n,r);return t},x=e=>b(new URL(e,window.location.href).search),S=e=>{let t=e.toString();return`${window.location.pathname}${t?`?${t}`:``}${window.location.hash}`},C=e=>{let t=new URL(c.href);for(let[n,r]of e)l.has(n)||t.searchParams.append(n,r);return t.origin===window.location.origin?`${t.pathname}${t.search}`:t.href},ee=(e,t)=>{let n=new URLSearchParams(e);return n.has(`page`)&&n.set(`page`,String(t.page)),n.has(`pageSize`)&&n.set(`pageSize`,String(t.pageSize)),n.has(`sortBy`)?t.sortBy?(n.set(`sortBy`,t.sortBy),n.set(`sortOrder`,t.sortOrder)):(n.delete(`sortBy`),n.delete(`sortOrder`)):n.delete(`sortOrder`),n},w=ee(s.urlState?b(window.location.search):new URLSearchParams,_);s.urlState&&S(w)!==`${window.location.pathname}${window.location.search}${window.location.hash}`&&window.history.replaceState(window.history.state,``,S(w));let T=(e,n)=>t.dispatchEvent(new CustomEvent(e,{bubbles:!0,detail:n})),E=e=>{o&&(o.textContent=e)},te=e=>{if(e.total===0)return Ip.empty;let t=e.pageSize>0?Math.max(1,Math.ceil(e.total/e.pageSize)):1;return`Page ${e.page} of ${t}, ${e.total} ${e.total===1?`row`:`rows`}`},D=()=>[...n.querySelectorAll(`:scope > thead > tr:first-child > th`)],ne=e=>{if(u&&[...e.querySelectorAll(`:scope > tr`)].some(e=>!e.dataset.rowKey))throw Error(`A selectable server-paged table needs data-row-key on every row, so a selection can span pages.`)},O=t=>{let n=e.dataset.activeRowKey;if(n!==void 0)for(let e of t){let t=e.classList.contains(`wui-row-active`),r=n!==``&&e.dataset.rowKey===n;e.classList.toggle(`wui-row-active`,r),r?e.setAttribute(`aria-current`,`true`):t&&e.removeAttribute(`aria-current`)}},re=e=>{if(u){kp(e);for(let t of e){let e=t.querySelector(`.${$} .wui-check`);e&&(f&&d.add(t.dataset.rowKey),e.checked=d.has(t.dataset.rowKey))}jp(n)}O(e);let t=D();if(n.classList.contains(`wui-table-stack`))for(let n of e)[...n.cells].forEach((e,n)=>{let r=t[n]?.textContent.trim();r&&!e.hasAttribute(`data-label`)&&e.setAttribute(`data-label`,r)});t.forEach((t,n)=>{if(t.classList.contains(`wui-col-hidden`))for(let t of e)t.cells[n]?.classList.add(`wui-col-hidden`)})},ie=e=>re([...e.querySelectorAll(`:scope > tr`)]),ae=e=>{for(let t of e.querySelectorAll(`:scope > template[data-wui-pager], :scope > template[data-wui-empty], :scope > template[data-wui-filters]`))t.remove()},oe=e=>e?.dispatchEvent(new CustomEvent(`wui:teardown`,{bubbles:!0})),se=(e,t)=>{if(!i)return;let n=e.querySelector(`:scope > template[data-wui-empty]`);oe(i),t.total===0&&n?(i.replaceChildren(n.content.cloneNode(!0)),i.hidden=!1):(i.replaceChildren(),i.hidden=!0)},ce=e=>{let r=Bp(e),i=r.sortBy!==_.sortBy||r.sortOrder!==_.sortOrder?hi(g.rows):null;if(a){let t=e.querySelector(`:scope > template[data-wui-pager]`);oe(a),a.replaceChildren(...t?[t.content.cloneNode(!0)]:[]),a.hidden=!1}se(e,r);let o=e.querySelector(`:scope > template[data-wui-filters]`),c=s.filtersRegion&&o?document.querySelector(s.filtersRegion):null;c&&(oe(c),c.replaceChildren(o.content.cloneNode(!0))),ae(e),oe(g),n.replaceChild(e,g),g=e;let l=f&&r.total!==_.total;_=r,l&&(f=!1),t.removeAttribute(`data-wui-table-error`),ie(e),_e(),gi(e.rows,i),l&&ye()},le=e=>{let t=document.createElement(`template`);t.innerHTML=`<table>${e}</table>`;let n=t.content.querySelector(`tbody[data-wui-rows]`);return n&&ne(n),n?document.importNode(n,!0):null},ue=e=>{let t=document.createElement(`tr`);for(let n=0;n<e;n++){let e=document.createElement(`td`),r=document.createElement(`span`);r.className=`skeleton`,r.setAttribute(`aria-hidden`,`true`),r.style.cssText=`display:block;width:${n===0?70:50}%;height:12px;border-radius:6px`,e.append(r),t.append(e)}return t},de=()=>{if(g.querySelector(`:scope > tr:not([data-wui-skeleton])`))return;let e=Math.max(1,D().length);g.replaceChildren(...Array.from({length:Lp},()=>{let t=ue(e);return t.setAttribute(`data-wui-skeleton`,``),t})),t.removeAttribute(`data-wui-table-error`),i&&(i.hidden=!0)},fe=e=>{e?(t.setAttribute(`aria-busy`,`true`),de()):t.removeAttribute(`aria-busy`)},pe=e=>e===`forbidden`?Ip.forbidden:e===`network`?Ip.network:s.errorText,he=e=>{let n=pe(e);if(t.setAttribute(`data-wui-table-error`,e),a&&(a.hidden=!0),i){let t=document.createElement(`div`);t.className=`tbl-empty wui-table-error`,t.setAttribute(`role`,`alert`);let r=document.createElement(`span`);r.className=`tbl-empty-icon`,r.innerHTML=z(e===`forbidden`?`lock`:`alert-circle`,{size:24});let a=document.createElement(`div`);a.className=`tbl-empty-title`,a.textContent=n;let o=document.createElement(`div`);o.className=`tbl-empty-action`;let s=document.createElement(`button`);s.type=`button`,s.className=`btn btn-outline-primary btn-sm`,s.setAttribute(`data-wui-table-retry`,``),s.textContent=Ip.retry,o.append(s),t.append(r,a,o),oe(i),i.replaceChildren(t),i.hidden=!1}E(n)},A=async(e,t=`none`)=>{let n=new URLSearchParams(e);v={query:n,mode:t},fe(!0),E(s.loadingText),T(`wui:table:loading`,{query:n.toString()});let r=await p.run(C(n));if(r.kind===`aborted`||r.kind===`stale`||r.kind===`session`)return r;fe(!1);let i=null,a=r.ok?null:r.kind;if(r.ok){try{i=le(r.html)}catch(e){console.error(e)}i||(a=`server`)}return a?(he(a),T(`wui:table:error`,{status:r.status,kind:a,message:pe(a)}),r):(ce(i),w=ee(n,_),s.urlState&&t===`push`?window.history.pushState(window.history.state,``,S(w)):s.urlState&&t===`replace`&&window.history.replaceState(window.history.state,``,S(w)),E(te(_)),window.WUI?.refresh?.(),T(`wui:table:loaded`,{..._,query:w.toString()}),r)},ge=e=>(e.delete(`page`),e),j=()=>[...n.querySelectorAll(`:scope > thead th[data-sort-key]`)],_e=()=>{for(let e of j()){let t=e.dataset.sortKey===_.sortBy;e.setAttribute(`aria-sort`,t?_.sortOrder===`desc`?`descending`:`ascending`:`none`)}};for(let e of j())if(e.classList.add(`sortable`),e.tabIndex=0,!e.querySelector(`.sort-icon`)){let t=e.classList.contains(`num`)||e.classList.contains(`text-end`),n=document.createElement(`span`);n.className=t?`sort-icon wui-sort-lead`:`sort-icon`,n.innerHTML=z(`chevrons-up-down`,{size:14}),t?e.prepend(n):e.append(n)}let ve=e=>{let t=ge(new URLSearchParams(w)),n=_.sortBy===e&&_.sortOrder===`asc`?`desc`:`asc`;return t.set(`sortBy`,e),t.set(`sortOrder`,n),A(t,`push`)};n.addEventListener(`click`,e=>{let t=e.target.closest(`th[data-sort-key]`);t&&n.tHead?.contains(t)&&ve(t.dataset.sortKey)}),n.addEventListener(`keydown`,e=>{if(e.key!==`Enter`&&e.key!==` `)return;let t=e.target.closest?.(`th[data-sort-key]`);!t||!n.tHead?.contains(t)||(e.preventDefault(),ve(t.dataset.sortKey))});let ye=()=>{jp(n);let e=f?{selected:_.total,total:_.total,allMatching:f}:{selected:d.size,total:_.total};n.dispatchEvent(new CustomEvent(`selectionchange`,{bubbles:!0,detail:e}))};u&&(Np(n,(e,t)=>{for(let n of e){let e=n.closest(`tr`)?.dataset.rowKey;e&&(t?d.add(e):d.delete(e))}t||(f=!1)}),n.addEventListener(`change`,e=>{let t=e.target;if(t.matches?.(`.wui-select-cell .wui-check`)){if(t.checked||(f=!1),n.tHead?.contains(t))for(let e of g.querySelectorAll(`:scope > tr`)){let n=e.querySelector(`.${$} .wui-check`);n&&(n.checked=t.checked,t.checked?d.add(e.dataset.rowKey):d.delete(e.dataset.rowKey))}else{let e=t.closest(`tr`)?.dataset.rowKey;if(!e)return;t.checked?d.add(e):d.delete(e)}ye()}})),a&&(a.addEventListener(`click`,e=>{let t=e.target.closest(`a[href]`);!t||e.defaultPrevented||e.button!==0||e.ctrlKey||e.metaKey||e.shiftKey||e.altKey||(e.preventDefault(),A(x(t.getAttribute(`href`)),`push`))}),a.addEventListener(`change`,e=>{!e.target.classList?.contains(`tpg-select`)||!e.target.value||(e.stopPropagation(),A(x(e.target.value),`push`))}));let be=()=>{if(!s.searchInput)return null;let e=document.querySelector(s.searchInput);return e&&(e.matches(`input, textarea`)?e:e.querySelector(`input`))},xe=()=>e.isConnected?!0:(m.abort(),clearTimeout(y),!1),Se=(e,t)=>{let n=t?.name?new FormData(e,t):new FormData(e),r=new Set([...e.querySelectorAll(`[name]`)].map(e=>e.getAttribute(`name`))),i=new URLSearchParams;for(let[e,t]of w)e!==`page`&&(Pp.includes(e)||!r.has(e))&&i.append(e,t);for(let[e,t]of n)typeof t!=`string`||t===``||Pp.includes(e)||l.has(e)||i.append(e,t);let a=be();if(a){i.delete(Fp);let e=a.value.trim();e&&i.set(Fp,e)}return A(i,`push`)},Ce=e=>s.filtersForm&&e.closest?.(s.filtersForm)||s.filtersRegion&&e.closest?.(s.filtersRegion)||null;document.addEventListener(`submit`,e=>{!xe()||!s.filtersForm||!(e.target instanceof HTMLFormElement)||!e.target.matches(s.filtersForm)||(e.preventDefault(),Se(e.target,e.submitter))},h),document.addEventListener(`change`,e=>{if(!xe()||!s.filtersForm)return;let t=e.target.closest?.(s.filtersForm);!t||e.target===be()||Se(t)},h);let we=(e,t)=>{if(!e)return;let n=e=>t.get(e)??``;for(let r of e.querySelectorAll(`input[name]:not([type=hidden])`))if(r.type===`checkbox`)r.checked=t.getAll(r.name).includes(r.value);else if(r.type===`radio`){let e=n(r.name)===r.value;if(r.checked===e)continue;r.checked=e,e&&r.dispatchEvent(new Event(`change`))}else r.value!==n(r.name)&&(r.value=n(r.name),r.dispatchEvent(new Event(`input`,{bubbles:!0})));for(let r of e.querySelectorAll(`select[name]`))if(!r.multiple)r.value=n(r.name);else for(let e of r.options)e.selected=t.getAll(r.name).includes(e.value);for(let t of e.querySelectorAll(`wui-select[name]`))t.value=n(t.getAttribute(`name`));for(let n of e.querySelectorAll(`wui-multiselect[name]`))n.values=t.getAll(n.getAttribute(`name`));for(let t of e.querySelectorAll(`wui-date-range`)){let e=t.getAttribute(`start-name`)||t.getAttribute(`name`),r=t.getAttribute(`end-name`);t.value={start:e?n(e):``,end:r?n(r):``}}};document.addEventListener(`click`,e=>{if(!xe())return;let t=e.target.closest?.(`a[href]`);if(!t||!Ce(t)||e.defaultPrevented||e.button!==0||e.ctrlKey||e.metaKey||e.shiftKey||e.altKey)return;let n=new URL(t.getAttribute(`href`),window.location.href);if(n.origin!==window.location.origin||n.pathname!==window.location.pathname)return;e.preventDefault();let r=ge(x(n.href));we(t.closest(`form`),r),A(r,`push`)},h),document.addEventListener(`input`,e=>{if(!xe())return;let t=be();!t||e.target!==t||(clearTimeout(y),y=setTimeout(()=>{let e=ge(new URLSearchParams(w)),n=t.value.trim();n?e.set(Fp,n):e.delete(Fp),e.toString()!==w.toString()&&A(e,`replace`)},300))},h),s.urlState&&window.addEventListener(`popstate`,()=>{if(!xe())return;let e=b(window.location.search),t=be();t&&(t.value=e.get(`search`)??``),A(e,`none`)},h),document.addEventListener(`wui:modal:success`,()=>{xe()&&s.refreshOnSuccess&&A(w,`none`)},h),i?.addEventListener(`click`,e=>{e.target.closest(`[data-wui-table-retry]`)&&v&&A(v.query,v.mode)});let Te=e=>[...g.rows].find(t=>t.dataset.rowKey===e)??null,Ee=e=>{if(!e?.trim())return null;let t=document.createElement(`template`);if(t.innerHTML=`<table><tbody>${e}</tbody></table>`,t.content.querySelector(`tbody[data-wui-rows]`))return null;let n=[...t.content.querySelectorAll(`table > tbody > tr[data-row-key]`)];return n.length?n.map(e=>document.importNode(e,!0)):null},De=(e,t,n)=>{let r=n?e[0]:e.find(e=>e.dataset.rowKey===t.dataset.rowKey);if(!r)return null;let i=[];for(let n of e){let e=n===r?t:Te(n.dataset.rowKey);e&&(oe(e),e.replaceWith(n),i.push(n))}return re(i),window.WUI?.refresh?.(),r},Oe=e=>e.message||(e.kind===`forbidden`?Ip.actionForbidden:Ip.actionFailed),ke=e=>{e?.isConnected&&e.getAttribute(`data-wui-save-state`)===`saving`&&Ci(e,null)},Ae=e=>{if(e instanceof HTMLTableRowElement)return e;let t=document.createElement(`template`);t.innerHTML=`<table><tbody>${String(e)}</tbody></table>`;let n=t.content.querySelector(`table > tbody > tr`);if(!n)throw Error("saveRow's `row` is the row as it will read: a <tr> element or its HTML.");return document.importNode(n,!0)},je=async({url:e,method:n=`POST`,body:r,key:a,row:o}={})=>{if(!e)throw Error("saveRow needs `url`: the handler that saves the row.");let s=a==null,c=s?null:Te(String(a));if(!s&&!c)throw Error(`saveRow found no row with data-row-key="${a}" on this page.`);let l=D().filter(e=>!e.classList.contains($)).length,u=o?Ae(o):c??ue(Math.max(1,l));c&&u!==c?c.replaceWith(u):c||g.insertBefore(u,g.firstChild),u!==c&&re([u]),i&&!t.hasAttribute(`data-wui-table-error`)&&(i.hidden=!0),Ci(u,`saving`);let d=Si(u),f=await k(e,{method:n.toUpperCase(),body:r});if(f.kind===`session`)return!1;if(f.ok){let e=Ee(f.html),t=e&&u.isConnected?De(e,u,s):null;return t?E(W.saved(Si(t)||d)):(await A(w,`none`),ke(u)),Vp(f.message,f.toastVariant||`success`),T(`wui:table:saved`,{key:t?.dataset.rowKey??(s?null:String(a)),added:s,status:f.status}),!0}let p=Oe(f),m=u;return c&&u!==c&&u.isConnected?(u.replaceWith(c),m=c):s&&!o&&(u.remove(),m=null,i?.childElementCount&&!g.querySelector(`:scope > tr`)&&(i.hidden=!1)),m?.isConnected&&Ci(m,`error`,p),f.kind!==`aborted`&&Vp(p,`danger`),E(W.notSaved(d,p)),T(`wui:table:failed`,{key:s?null:String(a),added:s,status:f.status,kind:f.kind,message:p}),!1},Me=async e=>{let t=e.dataset.url;if(!t)throw Error(`A data-wui-row-action button needs data-url: the handler the action posts to.`);let n=e.closest(`tr`),r=n?.dataset.rowKey??null,i=e.dataset.wuiRowAction||``,a=n?Si(n):``;e.disabled=!0,e.setAttribute(`aria-busy`,`true`),n&&Ci(n,`saving`);let o=await k(t,{method:(e.dataset.method||`post`).toUpperCase()});if(e.disabled=!1,e.removeAttribute(`aria-busy`),o.kind===`session`||o.kind===`aborted`){ke(n);return}if(o.ok){Vp(o.message,o.toastVariant||`success`);let e=n?.isConnected?Ee(o.html):null,t=e?De(e,n,!1):null;t?E(W.saved(Si(t)||a)):(await A(w,`none`),ke(n))}else{let e=Oe(o);Vp(e,`danger`),n?.isConnected&&Ci(n,`error`,e),E(W.notSaved(a,e))}T(`wui:table:action`,{action:i,key:r,ok:o.ok,status:o.status})};return n.addEventListener(`click`,e=>{let t=e.target.closest(`[data-wui-row-action]`);!t||!g.contains(t)||t.disabled||(e.preventDefault(),Me(t))}),ne(g),ae(g),u&&Ap(n),ie(g),_e(),{el:e,reload:()=>A(w,`none`),query:()=>new URLSearchParams(w),setQuery:e=>{let t=new URLSearchParams(w);for(let[n,r]of Object.entries(e??{})){t.delete(n);for(let e of Array.isArray(r)?r:[r])e!=null&&e!==``&&t.append(n,String(e))}return(!e||!(`page`in e))&&t.delete(`page`),A(t,`push`)},saveRow:je,setActiveRow:t=>{e.dataset.activeRowKey=t==null?``:String(t),O([...g.querySelectorAll(`:scope > tr`)])},selection:{keys:()=>[...d],count:()=>f?_.total:d.size,allMatching:()=>f,selectAllMatching:()=>{f=!0;for(let e of g.querySelectorAll(`:scope > tr`)){let t=e.querySelector(`.${$} .wui-check`);t&&(t.checked=!0),e.dataset.rowKey&&d.add(e.dataset.rowKey)}ye()},clear:()=>{f=!1,d.clear();for(let e of g.querySelectorAll(`:scope > tr > .${$} .wui-check`))e.checked=!1;ye()}}}}var Gp=`wuiConfirm`,Kp=Object.freeze([`danger`]),qp=Object.freeze([`success`,`info`,`warning`,`danger`]),Jp=`wui.flash`,Yp=Object.freeze({confirmTitle:`Are you sure?`,confirmLabel:`Confirm`,cancelLabel:`Cancel`,failed:`That did not work. Try again.`,forbidden:`You do not have permission to do that.`,network:`Could not reach the server. Check your connection and try again.`}),Xp=new WeakSet,Zp=new WeakSet,Qp=null,$p=null,em=!1,tm=e=>{let t=document.createElement(`span`);return t.textContent=e??``,t.innerHTML},nm=(e,t)=>{e&&window.WUI?.toast?.(e,{variant:t})},rm=()=>{let e=window.bootstrap?.Modal;if(!e)throw Error(`data-wui-confirm: Bootstrap's bundle (window.bootstrap) is not loaded on this page.`);return e};function im(){let e=document.getElementById(Gp);return e||(e=document.createElement(`div`),e.id=Gp,e.className=`modal fade wui-modal-shell`,e.tabIndex=-1,e.setAttribute(`aria-hidden`,`true`),e.setAttribute(`role`,`dialog`),e.setAttribute(`aria-modal`,`true`),e.style.setProperty(`--wui-modal-max-width`,`${ge.md}px`),e.innerHTML=`<div class="modal-dialog modal-dialog-centered wui-rb-dialog"><div class="modal-content wui-modal wui-confirm"><div class="wui-modal-body"><div class="wui-confirm-content"><span class="wui-confirm-icon"><wui-status-icon tone="info" size="120"></wui-status-icon></span><h3 class="wui-confirm-title" tabindex="-1" data-autofocus></h3><p class="wui-confirm-msg"></p></div></div><div class="wui-modal-footer"><div class="wui-confirm-actions"><button type="button" class="btn btn-secondary" data-bs-dismiss="modal">${tm(Yp.cancelLabel)}</button><button type="button" class="btn btn-primary" data-app-confirm></button></div></div></div></div>`,document.body.appendChild(e),e)}function am(e,t){let n=e.getAttribute(`data-wui-confirm-tone`);if(n!==null&&!Kp.includes(n))throw TypeError(`data-wui-confirm-tone="${n}" is not supported. Use danger, or leave it off.`);om({title:e.getAttribute(`data-wui-confirm-title`),message:e.getAttribute(`data-wui-confirm`),label:e.getAttribute(`data-wui-confirm-label`),danger:n===`danger`},t)}function om({title:e,message:t,label:n,danger:r},i){let a=rm(),o=im(),s=o.querySelector(`.wui-confirm-title`),c=o.querySelector(`[data-app-confirm]`);if(!s||!c)throw Error(`#${Gp} is not a confirm dialog with a confirm button. Render <app-confirm-dialog id="${Gp}"> without confirm-href, or leave the dialog to the library.`);let l=o.querySelector(`.wui-confirm-msg`);l||(l=document.createElement(`p`),l.className=`wui-confirm-msg`,s.after(l)),s.textContent=e||Yp.confirmTitle,l.textContent=t,c.textContent=n||Yp.confirmLabel,c.classList.toggle(`btn-danger`,r),c.classList.toggle(`btn-primary`,!r),o.querySelector(`wui-status-icon`)?.setAttribute(`tone`,r?`delete`:`info`),o.setAttribute(`aria-label`,s.textContent),$p=i,em=!1,a.getOrCreateInstance(o).show()}var sm=(e,t)=>{Qp=e;try{t()}finally{Qp=null}};function cm(e,{title:t,message:n,label:r,tone:i},a){if(i!=null&&!Kp.includes(i))throw TypeError(`confirmAction: tone "${i}" is not supported. Use danger, or leave it off.`);xm(e.ownerDocument),om({title:t,message:n,label:r,danger:i===`danger`},()=>sm(e,a))}var lm=e=>e.disabled===!0||e.getAttribute(`aria-disabled`)===`true`;function um(e){let t=e.target.closest?.(`[data-wui-confirm]:not(form)`);!t||t===Qp||lm(t)||(e.preventDefault(),e.stopImmediatePropagation(),am(t,()=>sm(t,()=>t.click())))}function dm(e){let t=e.target;if(!(t instanceof HTMLFormElement)||!t.hasAttribute(`data-wui-confirm`)||t===Qp||e.submitter&&e.submitter===Qp)return;e.preventDefault(),e.stopImmediatePropagation();let n=e.submitter?.form===t?e.submitter:void 0;am(t,()=>sm(t,()=>t.requestSubmit(n)))}function fm(e){let t=e.target.closest?.(`#${Gp} [data-app-confirm]`);!t||t.disabled||!$p||(em=!0,rm().getOrCreateInstance(t.closest(`#${Gp}`)).hide())}function pm(e){if(e.target.id!==`wuiConfirm`)return;let t=em?$p:null;$p=null,em=!1,t?.()}var mm=(e,t)=>{e&&window.sessionStorage.setItem(Jp,JSON.stringify({message:e,variant:t}))},hm=e=>e===`forbidden`?Yp.forbidden:e===`network`?Yp.network:Yp.failed;function gm(){for(let e of document.querySelectorAll(`[data-wui-server]`))e.dataset.refreshOnSuccess!==`false`&&Up(e)?.reload()}async function _m(e){let t=e.getAttribute(`data-wui-post`);if(!t)throw Error(`A data-wui-post button needs the URL the action posts to.`);let n=e.getAttribute(`data-wui-post-reload`);if(n!==null&&n!==`page`)throw TypeError(`data-wui-post-reload="${n}" is not supported. Use page, or leave it off to reload the server tables.`);e.disabled=!0,e.setAttribute(`aria-busy`,`true`);let r=await k(t,{method:`POST`});if(r.kind===`session`||r.kind===`aborted`)return;let i=r.toastVariant||`success`;if(r.ok&&(r.redirect||n===`page`)){mm(r.message,i),r.redirect?window.location.assign(r.redirect):window.location.reload();return}if(e.disabled=!1,e.removeAttribute(`aria-busy`),r.ok){nm(r.message,i),gm();return}nm(r.message||hm(r.kind),`danger`)}function vm(e){let t=e.target.closest?.(`[data-wui-post]`);t&&(e.preventDefault(),!(lm(t)||t.getAttribute(`aria-busy`)===`true`)&&_m(t).catch(e=>console.error(e)))}function ym(){let e=window.sessionStorage.getItem(Jp);if(!e)return;window.sessionStorage.removeItem(Jp);let{message:t,variant:n}=JSON.parse(e);nm(t,n)}function bm(e){let t=e.querySelectorAll?[...e.querySelectorAll(`[data-wui-flash]`)]:[];e instanceof Element&&e.matches(`[data-wui-flash]`)&&t.unshift(e);for(let e of t){let t=e.getAttribute(`data-wui-flash-variant`)||`success`;if(!qp.includes(t))throw TypeError(`data-wui-flash-variant="${t}" is not supported. Use ${qp.join(`, `)}.`);let n=e.getAttribute(`data-wui-flash`)||e.textContent.trim();e.remove(),nm(n,t)}}function xm(e){Zp.has(e)||(Zp.add(e),e.addEventListener(`click`,fm),e.addEventListener(`hidden.bs.modal`,pm))}function Sm(e=document){let t=e.ownerDocument||e;Xp.has(t)||(Xp.add(t),t.addEventListener(`click`,um,!0),t.addEventListener(`submit`,dm,!0),xm(t),t.addEventListener(`click`,vm),ym()),bm(e)}var Cm=31536e3,wm=new WeakMap,Tm=e=>e>99?`99+`:String(e);function Em(e,t,n=document){n.cookie=`${e}=${t?`1`:`0`}; Path=/; Max-Age=${Cm}; SameSite=Lax`}var Dm=e=>{let t=document.createElement(`template`);return t.innerHTML=e,t.content},Om=(e,t)=>{let n=document.createElement(`div`);return n.className=e,n.textContent=t,n};function km(e,t){let n=e.querySelector(`.wui-bell-trigger`),r=e.querySelector(`.wui-bell-count`),i=e.querySelector(`[data-wui-bell-live]`),a=e.querySelector(`[data-wui-bell-list]`),o=e.querySelector(`.wui-bell-menu`),{src:s,readAction:c}=e.dataset,l=e.dataset.label||`Notifications`,u=e.dataset.emptyText||`You are all caught up.`,d=Number(e.dataset.pollSeconds??60),f=me(),p=Number(e.dataset.unread)||0,m=(t,a=!0)=>{let o=Math.max(0,Number(t)||0),s=o!==p;p=o,e.dataset.unread=String(o),r&&(r.textContent=Tm(o),r.hidden=o===0),n?.setAttribute(`aria-label`,o===0?l:`${l}, ${Tm(o)} unread`),a&&s&&i&&(i.textContent=o===0?`No unread notifications`:`${Tm(o)} unread notifications`)},h=()=>o?.classList.contains(`show`)??!1,g=()=>{let e=Om(`wui-bell-state`,`Could not load notifications. `),t=document.createElement(`button`);t.type=`button`,t.className=`btn btn-link btn-sm`,t.dataset.wuiBellRetry=``,t.textContent=`Retry`,e.append(t),a.replaceChildren(e)},_=async t=>{t&&(a.setAttribute(`aria-busy`,`true`),a.querySelector(`.wui-bell-item`)||a.replaceChildren(Om(`wui-bell-state`,`Loading…`)));let n=await f.run(s);if(n.kind===`aborted`||n.kind===`stale`||n.kind===`session`)return;if(a.removeAttribute(`aria-busy`),!n.ok){t&&g();return}let r=Dm(n.html),i=r.querySelector(`[data-wui-unread]`),o=i?Number(i.getAttribute(`data-wui-unread`)):p;m(o),(t||h())&&(r.querySelector(`.wui-bell-item`)?a.replaceChildren(r):a.replaceChildren(Om(`wui-bell-state`,u))),e.dispatchEvent(new CustomEvent(`wui:notifications:loaded`,{bubbles:!0,detail:{unread:o}}))};e.addEventListener(`show.bs.dropdown`,()=>_(!0)),e.addEventListener(`click`,async e=>{if(e.target.closest(`[data-wui-bell-retry]`)){_(!0);return}let t=e.target.closest(`[data-wui-bell-read]`);if(!t||!c)return;t.disabled=!0;let n=await k(c,{method:`POST`});t.disabled=!1,n.ok&&(m(0),_(!0))});let v=null,y=()=>{d>0&&v===null&&(v=setInterval(()=>_(h()),d*1e3))},b=()=>{v!==null&&clearInterval(v),v=null},x=()=>{document.hidden?b():(_(h()),y())};return d>0&&(document.addEventListener(`visibilitychange`,x),document.hidden||y()),t.push(()=>{b(),f.abort(),document.removeEventListener(`visibilitychange`,x)}),{setUnread:e=>m(e),refresh:()=>_(h())}}var Am=e=>!!e&&(e.isContentEditable||/^(INPUT|TEXTAREA|SELECT)$/.test(e.tagName)),jm=(e,t,n)=>`${e}${e.includes(`?`)?`&`:`?`}${encodeURIComponent(t)}=${encodeURIComponent(n)}`;function Mm(e,t){let n=e.querySelector(`input.search-input`),r=e.querySelector(`.wui-topsearch-results`),i=e.querySelector(`.wui-topsearch-open`),a=e.querySelector(`[data-wui-topsearch-live]`),{src:o,param:s=`q`,resultsHref:c}=e.dataset,l=Number(e.dataset.minChars??2),u=Number(e.dataset.debounceMs??250),d=me(),f=null,p=-1,m=()=>[...r.querySelectorAll(`.wui-topsearch-hit`)],h=e=>{let t=m();p=t.length===0?-1:(e+t.length)%t.length,t.forEach((e,t)=>{let n=t===p;e.classList.toggle(`is-active`,n),e.setAttribute(`aria-selected`,n?`true`:`false`)}),p>=0?(n.setAttribute(`aria-activedescendant`,t[p].id),t[p].scrollIntoView?.({block:`nearest`})):n.removeAttribute(`aria-activedescendant`)},g=()=>{r.hidden=!0,n.setAttribute(`aria-expanded`,`false`),n.removeAttribute(`aria-activedescendant`),p=-1},_=()=>{r.hidden=!1,n.setAttribute(`aria-expanded`,`true`)},v=t=>{e.classList.toggle(`is-open`,t),i?.setAttribute(`aria-expanded`,t?`true`:`false`)},y=t=>{let n=new CustomEvent(`wui:search:select`,{bubbles:!0,cancelable:!0,detail:{href:t}});e.dispatchEvent(n)&&window.location.assign(t)},b=async t=>{e.classList.add(`is-loading`);let n=await d.run(jm(o,s,t));if(!(n.kind===`aborted`||n.kind===`stale`||n.kind===`session`)){if(e.classList.remove(`is-loading`),n.ok){let e=Dm(n.html),t=e.querySelector(`[data-wui-count]`);r.replaceChildren(e),m().forEach((e,t)=>{e.id=`${r.id}-opt-${t}`});let i=t?Number(t.getAttribute(`data-wui-count`)):m().length;a&&(a.textContent=i===0?`No results`:`${i} ${i===1?`result`:`results`}`)}else r.replaceChildren(Om(`wui-topsearch-empty`,`Search is unavailable right now.`));p=-1,_()}};n.addEventListener(`input`,()=>{clearTimeout(f);let t=n.value.trim();if(t.length<l){d.abort(),e.classList.remove(`is-loading`),r.replaceChildren(),g();return}f=setTimeout(()=>b(t),u)}),n.addEventListener(`keydown`,t=>{if(t.key===`ArrowDown`||t.key===`ArrowUp`){if(r.hidden||m().length===0)return;t.preventDefault(),h(p+(t.key===`ArrowDown`?1:-1))}else if(t.key===`Enter`){let e=m();!r.hidden&&p>=0&&e[p]?(t.preventDefault(),y(e[p].getAttribute(`href`))):c&&n.value.trim()!==``&&(t.preventDefault(),y(jm(c,s,n.value.trim())))}else t.key===`Escape`&&(r.hidden?e.classList.contains(`is-open`)&&(t.preventDefault(),t.stopPropagation(),v(!1),i?.focus()):(t.preventDefault(),t.stopPropagation(),g()))}),r.addEventListener(`click`,e=>{let t=e.target.closest(`.wui-topsearch-hit`);!t||e.ctrlKey||e.metaKey||e.shiftKey||e.button===1||(e.preventDefault(),y(t.getAttribute(`href`)))}),i?.addEventListener(`click`,()=>{let t=!e.classList.contains(`is-open`);v(t),t&&n.focus()});let x=e=>{e.key!==`/`||e.ctrlKey||e.metaKey||e.altKey||Am(e.target)||(e.preventDefault(),v(!0),n.focus())},S=t=>{e.contains(t.target)||(g(),e.classList.contains(`is-open`)&&v(!1))};document.addEventListener(`keydown`,x),document.addEventListener(`pointerdown`,S),t.push(()=>{clearTimeout(f),d.abort(),document.removeEventListener(`keydown`,x),document.removeEventListener(`pointerdown`,S)})}function Nm(e){let t=[],n=e.dataset.wuiCollapsedCookie;n&&e.addEventListener(`wui:shell:collapse`,e=>Em(n,!!e.detail?.collapsed)),e.addEventListener(`click`,t=>{t.target.closest(`[data-wui-tabbar-more]`)&&e.querySelector(`[data-app-shell-menu]`)?.click()});let r=e.querySelector(`[data-wui-bell]`),i=r?km(r,t):null,a=e.querySelector(`[data-wui-topsearch]`);a&&Mm(a,t);let o={el:e,setUnread(e){if(!i)throw Error(`WUI.shell: this <app-shell> has no <app-shell-notifications>.`);i.setUnread(e)},refreshNotifications(){if(!i)throw Error(`WUI.shell: this <app-shell> has no <app-shell-notifications>.`);return i.refresh()},get collapsed(){return e.classList.contains(`collapsed`)},set collapsed(t){if(!!t===e.classList.contains(`collapsed`))return;let n=e.querySelector(`[data-app-shell-collapse]`);n?n.click():e.classList.toggle(`collapsed`,!!t)}};wm.set(e,o);let s=n=>{if(n.target===e||n.target.contains?.(e)){for(let e of t)e();wm.delete(e),delete e.dataset.wuiPartsWired,document.removeEventListener(`wui:teardown`,s)}};return document.addEventListener(`wui:teardown`,s),o}function Pm(e=document){let t=[];e instanceof Element&&e.matches(`[data-app-shell]`)&&t.push(e),t.push(...e.querySelectorAll(`[data-app-shell]`));for(let e of t)e.dataset.wuiPartsWired||(e.dataset.wuiPartsWired=`1`,Nm(e))}function Fm(e){let t=e?.closest?.(`[data-app-shell]`)??null;return t?(wm.has(t)||Pm(t),wm.get(t)??null):null}var Im=[`light`,`dark`,`auto`],Lm=[`wave`,`circle`,`slide`,`blinds`,`fade`,`none`],Rm=`wave`,zm=`theme`,Bm={wave:1100,circle:700,slide:600,blinds:900,fade:350,none:0},Vm=`wui-theme-switching`,Hm=`wui:theme:change`,Um=`wui-theme-toggle`,Wm=`(prefers-color-scheme: dark)`,Gm=e=>typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(e).matches,Km=e=>Im.includes(e);function qm(e){return e===`dark`||e===`auto`&&Gm(Wm)?`dark`:`light`}function Jm(e=zm){let t=null;try{t=window.localStorage.getItem(e)}catch{}return Km(t)?t:`auto`}function Ym(e,t=zm){try{window.localStorage.setItem(t,e)}catch{}}function Xm(e){let t=document.documentElement,n=qm(e);t.setAttribute(`data-theme`,e),t.setAttribute(`data-bs-theme`,n),document.dispatchEvent(new CustomEvent(Hm,{detail:{mode:n,preference:e}}))}var Zm=`(function(k){var m;try{m=localStorage.getItem(k)}catch{}if(m!=='light'&&m!=='dark')m='auto';var r=document.documentElement,q=window.matchMedia?window.matchMedia('(prefers-color-scheme: dark)'):null;function s(){var t=r.getAttribute('data-theme');r.setAttribute('data-bs-theme',t==='auto'?(q&&q.matches?'dark':'light'):t)}r.setAttribute('data-theme',m);s();if(q&&q.addEventListener)q.addEventListener('change',function(){if(r.getAttribute('data-theme')==='auto')s()})})(`;function Qm(e=zm){return`${Zm}${JSON.stringify(String(e)).replace(/</g,`\\u003c`)})`}function $m(e,{includeAuto:t=!1}={}){return e===`light`?`dark`:e===`dark`&&t?`auto`:`light`}function eh(e){if(typeof window>`u`||typeof window.matchMedia!=`function`)return()=>{};let t=window.matchMedia(Wm),n=()=>e(t.matches?`dark`:`light`);return t.addEventListener(`change`,n),()=>t.removeEventListener(`change`,n)}var th=60,nh=e=>e<.5?4*e*e*e:1-(-2*e+2)**3/2,rh=e=>e.toFixed(1),ih=(e,t)=>`${rh(e)}px ${rh(t)}px`,ah={amplitude:22,segments:36,cycles:1.5,ripples:2},oh=6,sh=(e,t,n,r,i)=>{let{amplitude:a,segments:o,cycles:s}=ah,c=n*(t+2*a),l=i?t+a-c:c-a,u=i?t+2*a:-2*a,d=[ih(0,u)];for(let t=0;t<=o;t++){let n=e*t/o,i=l+a*Math.sin(2*Math.PI*s*t/o+r);d.push(ih(n,i))}return d.push(ih(e,u)),`polygon(${d.join(`, `)})`},ch=(e,t,n,r)=>{let i=t/oh,a=[];for(let t=0;t<oh;t++){let o=t*i,s=i*n,c=r?o+i-s:o,l=r?o+i:o+s;a.push(ih(0,c),ih(e,c),ih(e,l),ih(0,l))}return`polygon(${a.join(`, `)})`};function lh(e,{width:t,height:n,to:r=`dark`,origin:i}={}){let a=r===`dark`,o=[];for(let r=0;r<=th;r++){let s=r/th,c=nh(s);switch(e){case`circle`:{let e=i?.x??t/2,r=i?.y??n/2,a=Math.hypot(Math.max(e,t-e),Math.max(r,n-r));o.push({clipPath:`circle(${rh(a*c)}px at ${rh(e)}px ${rh(r)}px)`});break}case`slide`:{let e=n*(1-c);o.push({clipPath:a?`inset(${rh(e)}px 0px 0px 0px)`:`inset(0px 0px ${rh(e)}px 0px)`});break}case`blinds`:o.push({clipPath:ch(t,n,c,a)});break;case`fade`:o.push({clipPath:`none`,opacity:c});break;case`none`:return[];default:o.push({clipPath:sh(t,n,c,s*ah.ripples*2*Math.PI,a)})}}return o}function uh(e,{effect:t=Rm,to:n,origin:r,duration:i,live:a}={}){let o=document.documentElement,s=n!==void 0&&o.getAttribute(`data-bs-theme`)===n;if(t===`none`||s||Gm(`(prefers-reduced-motion: reduce)`)||typeof document.startViewTransition!=`function`||typeof o.animate!=`function`)return e(),Promise.resolve(!1);o.classList.add(Vm);let c=a instanceof Element?a:null;c&&(c.style.viewTransitionName=Um);let l=document.startViewTransition(e),u=i??Bm[t]??Bm.wave;return l.ready.then(()=>{let e=lh(t,{width:window.innerWidth,height:window.innerHeight,to:n,origin:r});o.animate(e,{duration:u,easing:`linear`,fill:`both`,pseudoElement:`::view-transition-new(root)`})}).catch(()=>{}),l.finished.catch(()=>{}).then(()=>(o.classList.remove(Vm),c&&(c.style.viewTransitionName=``),!0))}var dh=Object.freeze({title:`Leave without saving?`,message:`Your changes on this page are not saved. If you leave now, they are lost.`,leaveLabel:`Leave`}),fh=`form[data-wui-unsaved]`,ph=`[aria-invalid="true"], .field-error:not(:empty), .field-validation-error, .validation-summary-errors, .wui-error-summary`,mh=`[download], [data-wui-modal], [data-wui-post], [data-bs-toggle]`,hh=new Set([`submit`,`button`,`reset`,`image`]),gh=new WeakMap,_h=new WeakSet,vh=e=>`${e.name}:${e.size}:${e.lastModified}`;function yh(e){let t=[];for(let n of e.elements)!n.name||n.disabled||hh.has(n.type)||(n.type===`checkbox`||n.type===`radio`?t.push([n.name,n.value,n.checked]):n.type===`file`?t.push([n.name,[...n.files||[]].map(vh)]):n.type===`select-multiple`?t.push([n.name,[...n.selectedOptions].map(e=>e.value)]):t.push([n.name,n.value]));return JSON.stringify(t)}var bh=e=>({saved:e.querySelector(ph)?null:yh(e),engaged:!1,discarded:!1});function xh(e){let t=gh.get(e);return!t||t.discarded||!e.isConnected?!1:t.saved===null||t.engaged&&yh(e)!==t.saved}var Sh=(e,t)=>[...e.querySelectorAll(fh)].filter(e=>e!==t&&xh(e)),Ch=()=>!!window.bootstrap?.Modal;function wh(e,t,n){let r=t.map(e=>e.getAttribute(`data-wui-unsaved`)).find(Boolean)||dh.message;cm(e,{title:dh.title,message:r,label:dh.leaveLabel,tone:`danger`},()=>{for(let e of t)gh.get(e).discarded=!0;n()})}function Th(e){if(e.matches(mh))return!1;let t=e.getAttribute(`target`);if(t&&t.toLowerCase()!==`_self`)return!1;let n=new URL(e.getAttribute(`href`),window.location.href);if(n.protocol!==`http:`&&n.protocol!==`https:`)return!1;let r=window.location;return!(n.hash&&n.origin===r.origin&&n.pathname===r.pathname&&n.search===r.search)}function Eh(e,t){if((t?.getAttribute(`formmethod`)||e.getAttribute(`method`)||`get`).toLowerCase()===`dialog`)return!1;let n=t?.getAttribute(`formtarget`)||e.getAttribute(`target`);return!n||n.toLowerCase()===`_self`}function Dh(e){if(e.defaultPrevented||e.button!==0||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey)return;let t=e.target.closest?.(`a[href]`);if(!t||!Th(t))return;let n=Sh(t.ownerDocument,null);!n.length||!Ch()||(e.preventDefault(),wh(t,n,()=>t.click()))}function Oh(e){let t=e.target;if(!(t instanceof HTMLFormElement)||e.defaultPrevented||!Eh(t,e.submitter))return;let n=Sh(t.ownerDocument,t);if(n.length&&Ch()){e.preventDefault();let r=e.submitter?.form===t?e.submitter:void 0;wh(t,n,()=>t.requestSubmit(r));return}let r=gh.get(t);r&&(r.saved=yh(t),r.discarded=!1)}function kh(e){Sh(document,null).length&&(e.preventDefault(),e.returnValue=``)}function Ah(e){let t=e.target.closest?.(fh),n=t&&gh.get(t);!n||n.engaged||(n.saved!==null&&(n.saved=yh(t)),n.engaged=!0)}function jh(e){let t=e.target.closest?.(fh),n=t&&gh.get(t);n&&(n.discarded=!1,e.isTrusted&&(n.engaged=!0))}function Mh(e){let t=e.detail?.handle?.el;if(t instanceof Element)for(let e of t.querySelectorAll(fh))Ph(e)}function Nh(e=document){let t=e.ownerDocument||e;if(!_h.has(t)){_h.add(t);for(let e of[`focusin`,`pointerdown`,`drop`])t.addEventListener(e,Ah,!0);for(let e of[`input`,`change`])t.addEventListener(e,jh,!0);t.addEventListener(`click`,Dh),t.addEventListener(`submit`,Oh),t.addEventListener(`wui:modal:success`,Mh),t.defaultView.addEventListener(`beforeunload`,kh)}let n=[...e.querySelectorAll?.(fh)||[]];e.matches?.(fh)&&n.unshift(e);for(let e of n)gh.has(e)||gh.set(e,bh(e))}function Ph(e){if(!(e instanceof HTMLFormElement)||!e.matches(fh))throw TypeError(`resetUnsavedChanges: ${String(e)} is not a <form data-wui-unsaved>.`);gh.set(e,{saved:yh(e),engaged:!1,discarded:!1})}function Fh(){t(`wui-select`,Br),t(`wui-country-select`,Wr),t(`wui-phone`,Tc),t(`wui-datepicker`,Vi),t(`wui-date-range`,Qi),t(`wui-dock`,$i),t(`wui-image-crop`,$a),t(`wui-kanban`,Ut),t(`wui-inline-edit`,mo),t(`wui-consent-banner`,Sr),t(`wui-slider`,Rl),t(`wui-sortable`,Yl),t(`wui-timepicker`,su),t(`wui-tour`,Id),t(`wui-tree`,Wd),t(`wui-autocomplete`,vn),t(`wui-command-palette`,tr),t(`wui-context-menu`,Lr),t(`wui-multiselect`,ss),t(`wui-taginput`,Ql),t(`wui-otp`,Js),t(`wui-status-icon`,qt),t(`wui-shortcuts`,Nl),t(`wui-record-pager`,Qc),t(`wui-carousel`,Sn),t(`wui-code-block`,Gn),t(`wui-data-table`,ji),t(`wui-drawer`,fa),t(`wui-hover-card`,ya),t(`wui-lightbox`,Oo),t(`wui-menubar`,es),t(`wui-navigation-menu`,bs),t(`wui-notification-center`,Rs),t(`wui-onboarding-checklist`,Gs),t(`wui-overflow`,rc),t(`wui-rating`,jc),t(`wui-relative-time`,dl),t(`wui-resizable`,kl),t(`wui-rolling-number`,Ml),t(`wui-show-more`,Ll),t(`wui-truncate`,Gd),t(`wui-whats-new`,Zd),t(`wui-mention-input`,Jo),t(`wui-comment-thread`,ur),t(`wui-wizard-step`,rf),t(`wui-wizard`,ef)}return Fh(),e.AVATAR_ACCEPT=af,e.AVATAR_MAX_SIZE_MB=of,e.AVATAR_OUTPUT_SIZE=sf,e.AVATAR_OUTPUT_TYPE=cf,e.AVATAR_PREVIEW_SIZES=lf,e.AVATAR_TEXT=uf,e.COLUMN_MAX_WIDTH=Kr,e.COLUMN_MIN_WIDTH=Gr,e.COMMENT_INTENTS=rr,e.COMMENT_REACTIONS=nr,e.COMMENT_TEXT=V,e.CONFIRM_DIALOG_ID=Gp,e.CONFIRM_TONES=Kp,e.COPY_FEEDBACK_MS=Un,e.CSRF_META_NAME=ie,e.CURRENCIES=i,e.DATA_TABLE_TEXT=W,e.DATE_PATTERNS=s,e.DEFAULT_CSRF_HEADER=ae,e.DEFAULT_IMAGE_ACCEPT=mf,e.DEFAULT_MAX_SIZE_MB=hf,e.DEFAULT_PASSWORD_RULES=op,e.DEFAULT_REQUIREMENTS_TITLE=sp,e.DEFAULT_THEME_EFFECT=Rm,e.DEFAULT_THEME_STORAGE_KEY=zm,e.DURATION_UNITS=o,e.EMPTY_VALUE=l,e.FLASH_STORAGE_KEY=Jp,e.FLASH_VARIANTS=qp,e.FORMAT_STYLES=r,e.HTTP_KINDS=ce,e.INLINE_EDIT_SAVED_MS=to,e.INLINE_EDIT_TEXT=no,e.INLINE_EDIT_TYPES=eo,e.IST_TIME_ZONE=c,e.KANBAN_DRAG_THRESHOLD_PX=pt,e.KANBAN_LONG_PRESS_MS=ft,e.KANBAN_PHONE_QUERY=dt,e.KANBAN_STORAGE_PREFIX=ut,e.KANBAN_SUMMARY_FORMATS=lt,e.KANBAN_TEXT=M,e.KANBAN_TONES=ct,e.LIST_KEYS=Ic,e.MASK_INPUT_TYPES=kf,e.MASK_NAMES=Lf,e.MENTION_ID_PATTERN=ko,e.MENTION_MAX_QUERY=zo,e.MENTION_MAX_RESULTS=Ro,e.MENTION_TEXT=Bo,e.MONEY_UNITS=a,e.NOTIFICATION_COUNT_CAP=xs,e.NOTIFICATION_TEXT=Cs,e.PIN_AT_VAR=oi,e.PIN_SIDES=Yr,e.RESIZE_STEP=qr,e.RESIZE_STEP_LARGE=Jr,e.ROW_HEIGHTS=Zr,e.ROW_MOVE_LIMIT=ui,e.ROW_MOVE_MS=di,e.ROW_SAVE_ATTR=yi,e.ROW_SAVE_ERROR_CLASS=bi,e.ROW_SAVE_STATES=vi,e.SCROLL_EDGE_SELECTOR=fp,e.SELECT_ALL_LABEL=xp,e.SELECT_CELL_CLASS=$,e.SELECT_KEY=Lc,e.SELECT_ROW_LABEL=Sp,e.SERVER_ACTION_TEXT=Yp,e.SHORTCUTS_OFF_ATTRIBUTE=Mc,e.SHORTCUT_EVENT=Pc,e.SHORTCUT_SCOPE_ATTRIBUTE=Nc,e.SHORTCUT_TEXT=Fc,e.STATUS_TONES=Kt,e.THEME_BOOT_SCRIPT_BODY=Zm,e.THEME_CHANGE_EVENT=Hm,e.THEME_EFFECTS=Lm,e.THEME_EFFECT_DURATION=Bm,e.THEME_LIVE_NAME=Um,e.THEME_MODES=Im,e.THEME_SWITCHING_CLASS=Vm,e.UNSAVED_TEXT=dh,e.VIRTUAL_OVERSCAN=Xr,e.WHATS_NEW_READ_EVENT=Kd,e.WUI_HEADERS=se,e.WuiAutocomplete=vn,e.WuiCarousel=Sn,e.WuiCodeBlock=Gn,e.WuiCommandPalette=tr,e.WuiCommentThread=ur,e.WuiConsentBanner=Sr,e.WuiContextMenu=Lr,e.WuiCountrySelect=Wr,e.WuiDataTable=ji,e.WuiDatePicker=Vi,e.WuiDateRange=Qi,e.WuiDock=$i,e.WuiDrawer=fa,e.WuiHoverCard=ya,e.WuiImageCrop=$a,e.WuiInlineEdit=mo,e.WuiKanban=Ut,e.WuiLightbox=Oo,e.WuiMentionInput=Jo,e.WuiMenubar=es,e.WuiMultiSelect=ss,e.WuiNavigationMenu=bs,e.WuiNotificationCenter=Rs,e.WuiOnboardingChecklist=Gs,e.WuiOtp=Js,e.WuiOverflow=rc,e.WuiPhone=Tc,e.WuiRating=jc,e.WuiRecordPager=Qc,e.WuiRelativeTime=dl,e.WuiResizable=kl,e.WuiRollingNumber=Ml,e.WuiSelect=Br,e.WuiShortcuts=Nl,e.WuiShowMore=Ll,e.WuiSlider=Rl,e.WuiSortable=Yl,e.WuiStatusIcon=qt,e.WuiTagInput=Ql,e.WuiTimePicker=su,e.WuiTour=Id,e.WuiTree=Wd,e.WuiTruncate=Gd,e.WuiWhatsNew=Zd,e.WuiWizard=ef,e.WuiWizardStep=rf,e.acceptLabel=Cf,e.addRowSelectCells=kp,e.addSelectColumn=Ap,e.applyTheme=Xm,e.ariaKeyShortcuts=Kc,e.attachInputMask=Qf,e.attachScrollEdges=mp,e.attachShiftRange=Np,e.avatarCropOptions=pf,e.avatarUnreadableMessage=ff,e.buildPasswordRules=lp,e.clampColumnWidth=$r,e.classifyStatus=fe,e.confirmAction=cm,e.copyTextToClipboard=Wn,e.createLocalSeenStore=Ad,e.createRequestQueue=me,e.createSelectHeaderCell=wp,e.createSelectRowCell=Tp,e.createSelectSpacerCell=Ep,e.defineWeborityElements=Fh,e.evaluatePassword=up,e.formatCompact=T,e.formatCurrency=ee,e.formatDate=O,e.formatDuration=te,e.formatMasked=Gf,e.formatNumber=C,e.formatPercent=E,e.formatRelativeTime=rl,e.formatValue=re,e.getServerTable=Up,e.getShell=Fm,e.glyphSvg=z,e.groupCount=Qr,e.groupItems=ei,e.groupNotificationsByDay=ks,e.identityCell=xi,e.inShortcutScope=Yc,e.initInputMasks=ap,e.initRemoteModals=ot,e.initScrollEdges=bp,e.initServerActions=Sm,e.initServerTables=Hp,e.initShellParts=Pm,e.initUnsavedChanges=Nh,e.inlineEditText=ro,e.isHeicFile=df,e.isImageFile=bf,e.isImageOnlyAccept=Sf,e.isMaskPattern=zf,e.isPdfFile=xf,e.isTypingTarget=qc,e.kanbanCardLabel=P,e.kanbanOverflow=It,e.kanbanStorageKey=Lt,e.kanbanSummaryFormat=Bt,e.kanbanVisibleLimit=Ft,e.loadRemoteModal=st,e.maskedPostValue=Jf,e.matchSegments=Kn,e.matchesAccept=wf,e.measureRows=hi,e.mentionLabel=Mo,e.mentionTextFromValue=Fo,e.mentionValueFromText=Io,e.mentionedIds=Lo,e.moveFocus=Zc,e.nextTheme=$m,e.notificationCountText=ws,e.notificationDayHeading=Os,e.notificationTime=Ds,e.notificationTriggerLabel=Ts,e.notificationUnreadAnnouncement=Es,e.parseMentionValue=Po,e.passwordSatisfies=dp,e.pinAtValue=si,e.pinClasses=li,e.pinOffsetVar=ai,e.planPins=ci,e.playRowMoves=gi,e.postedMasked=Wf,e.rawMasked=Uf,e.readColumnWidths=ri,e.readCsrf=ue,e.readKanbanCollapsed=Rt,e.readStoredTheme=Jm,e.relativeTimeTitle=il,e.resetUnsavedChanges=Ph,e.resolveMask=Vf,e.resolveTheme=qm,e.rowLabel=Si,e.rowOrderChanged=_i,e.runShortcut=Xc,e.saveOutcomeText=Ti,e.setRowSaveState=Ci,e.settledRows=wi,e.shortcutKey=Gc,e.shortcutName=Wc,e.shortcutsOff=Jc,e.storeTheme=Ym,e.sumKanbanValues=Vt,e.syncSelectAll=jp,e.themeBootScript=Qm,e.themeKeyframes=lh,e.toInstant=D,e.transitionTheme=uh,e.validateFile=Tf,e.virtualRange=ti,e.watchSystemTheme=eh,e.withTrustedLabel=un,e.writeColumnWidths=ii,e.writeKanbanCollapsed=zt,e.wuiFetch=k,e})({});
@@ -1 +1 @@
1
- import{n as e}from"./elementBase-BlsR4tqa.js";import{a as t,c as n,d as r,f as i,h as a,i as o,l as s,m as c,n as l,o as u,p as d,r as f,s as p,t as m,u as h}from"./formatters-BAE__8ye.js";import{a as g,c as _,i as v,n as y,o as ee,r as b,s as x,t as S}from"./wuiHttp-BC8co934.js";import{_ as C,a as te,c as w,d as T,f as E,g as D,h as ne,i as re,l as ie,m as ae,n as oe,o as se,p as ce,r as O,s as le,t as ue,u as de,v as fe,y as pe}from"./kanban-29Pv2HU9.js";import{n as k,t as me}from"./statusIcons-2X4iGkKL.js";import{t as he}from"./iconGlyphs.g-CUm_mfze.js";import{o as ge}from"./optionLabel-BBaur8Bs.js";import{t as A}from"./WuiAutocomplete-B2SKLPOV.js";import{t as j}from"./WuiCarousel-C33Z8FBt.js";import{t as _e}from"./WuiCodeBlock-BcLJhLBJ.js";import{n as ve,t as ye}from"./copyText-DM5HhXjf.js";import{t as M}from"./textMatch-wdY7XLIc.js";import{t as N}from"./WuiCommandPalette-CcmFOWNc.js";import{i as P,n as be,r as xe,t as Se}from"./WuiCommentThread-Bww7P_cu.js";import{t as F}from"./WuiConsentBanner-BM1kjiHj.js";import{t as I}from"./WuiContextMenu-CBy0O4HT.js";import{t as L}from"./WuiSelect-U5Owq3wT.js";import{t as R}from"./WuiCountrySelect-D-K0dm77.js";import{A as z,C as B,D as V,E as Ce,M as we,N as Te,O as Ee,S as De,T as Oe,_ as ke,a as Ae,b as je,c as Me,d as Ne,f as Pe,g as Fe,h as Ie,i as H,j as Le,k as Re,l as ze,m as Be,n as Ve,o as He,p as Ue,r as We,s as Ge,t as Ke,u as qe,v as Je,w as Ye,x as Xe,y as Ze}from"./WuiDataTable-tR8Lp4XZ.js";import{t as Qe}from"./WuiDatePicker-B4E_NvAh.js";import{t as $e}from"./WuiDateRange-BuVA1MK5.js";import{t as et}from"./WuiDock-BD2HgMmP.js";import{t as tt}from"./WuiDrawer-D6K2eRlW.js";import{t as nt}from"./WuiHoverCard-BsYAwmbA.js";import{t as rt}from"./WuiImageCrop-Cr3D2iPo.js";import{a as it,i as at,n as ot,r as st,t as ct}from"./WuiInlineEdit-CI-3C7yP.js";import{t as lt}from"./WuiLightbox-hluak_-q.js";import{a as ut,c as dt,i as ft,l as pt,n as mt,o as ht,r as gt,s as _t,t as vt,u as yt}from"./WuiMentionInput-DW7N1Zne.js";import{t as bt}from"./WuiMenubar-D2tb_3eU.js";import{t as xt}from"./WuiMultiSelect-BGZOG93I.js";import{t as St}from"./WuiNavigationMenu-BsLnvz2Y.js";import{a as Ct,c as wt,i as Tt,n as Et,o as Dt,r as Ot,s as kt,t as At}from"./notificationDays-pYmoU0g6.js";import{t as jt}from"./WuiNotificationCenter-BZwVMUSV.js";import{t as Mt}from"./WuiOnboardingChecklist-s2DG6PZ0.js";import{t as Nt}from"./WuiOtp-BbO_75RB.js";import{t as Pt}from"./WuiOverflow-CB3j6q6n.js";import{t as Ft}from"./WuiPhone-Dbb_9J8q.js";import{t as It}from"./WuiRating-BzeW6iDC.js";import{a as Lt,c as Rt,d as zt,f as Bt,i as Vt,l as Ht,m as Ut,n as Wt,o as Gt,p as Kt,r as qt,s as Jt,t as Yt,u as Xt}from"./shortcutKeys-BQiDpsTJ.js";import{t as Zt}from"./WuiRecordPager-yXv4g2ZR.js";import{n as Qt,r as $t,t as en}from"./WuiRelativeTime-Cfc8TMd8.js";import{t as tn}from"./WuiResizable-m2Ypa-zD.js";import{t as nn}from"./WuiRollingNumber-DBgi_3l7.js";import{t as rn}from"./WuiShortcuts-CMibF1XM.js";import{t as an}from"./WuiShowMore-Bu7IQcXS.js";import{t as on}from"./WuiSlider-Br6V2amU.js";import{t as sn}from"./WuiSortable-Bd7Fz5Ox.js";import{t as cn}from"./WuiTagInput-DzEZooIn.js";import{t as ln}from"./WuiTimePicker-UjvUcDrS.js";import{n as un,t as dn}from"./WuiTour-DW3kPaR9.js";import{t as fn}from"./WuiTree-SA0QU9AF.js";import{t as pn}from"./WuiTruncate-BLl2u3b-.js";import{n as mn,t as hn}from"./WuiWhatsNew-BO78119Z.js";import{n as gn,t as _n}from"./WuiWizardStep-DIHxrXn9.js";import{$ as vn,A as yn,B as bn,C as xn,D as Sn,E as Cn,F as wn,G as Tn,H as En,I as Dn,J as On,K as kn,L as An,M as jn,N as Mn,O as Nn,P as Pn,Q as Fn,R as In,S as Ln,T as Rn,U as zn,V as Bn,W as Vn,X as Hn,Y as Un,Z as Wn,_ as Gn,a as Kn,b as qn,c as Jn,d as Yn,f as Xn,g as Zn,h as Qn,i as $n,j as er,k as tr,l as nr,m as rr,n as ir,o as ar,p as or,q as sr,r as cr,s as lr,t as ur,u as dr,v as fr,w as pr,x as mr,y as hr,z as gr}from"./themeTransition-C61cbmZ4.js";var _r=`Select all rows`,vr=`Select row`,U=`wui-select-cell`,yr=(e,t)=>{let n=e.createElement(`input`);return n.type=`checkbox`,n.className=`wui-check`,n.setAttribute(`aria-label`,t),n};function br(e=document){let t=e.createElement(`th`);return t.className=U,t.appendChild(yr(e,_r)),t}function xr(e=document){let t=e.createElement(`td`);return t.className=U,t.appendChild(yr(e,vr)),t}function Sr(e=document){let t=e.createElement(`td`);return t.className=U,t}var Cr=e=>e.firstElementChild?.classList.contains(U),wr=e=>e.matches(`.wui-group-row, .wui-virtual-spacer`);function Tr(e){for(let t of e)!Cr(t)&&!wr(t)&&t.insertBefore(xr(t.ownerDocument),t.firstChild)}function Er(e){let t=e.querySelector(`thead tr`);if(!t)return null;Cr(t)||t.insertBefore(br(e.ownerDocument),t.firstChild),Tr(e.querySelectorAll(`tbody tr`));for(let t of e.querySelectorAll(`tfoot tr`))Cr(t)||t.insertBefore(Sr(e.ownerDocument),t.firstChild);return t.querySelector(`.${U} .wui-check`)}function Dr(e){let t=e.querySelector(`thead .${U} .wui-check`),n=[...e.querySelectorAll(`tbody tr .wui-check`)],r=n.length,i=n.filter(e=>e.checked).length;t&&(t.checked=r>0&&i===r,t.indeterminate=i>0&&i<r);for(let t of e.querySelectorAll(`tbody tr`))t.classList.toggle(`is-selected`,!!t.querySelector(`.wui-check`)?.checked);return{selected:i,total:r}}var Or=`tbody .${U} .wui-check`;function kr(e,t){let n=null,r=e=>e instanceof Element&&e.matches(`.wui-select-cell .wui-check`)&&!!e.closest(`tbody`);e.addEventListener(`mousedown`,e=>{e.shiftKey&&r(e.target)&&e.preventDefault()}),e.addEventListener(`click`,i=>{let a=i.target;if(r(a)){if(i.shiftKey&&n?.isConnected&&n!==a){let r=[...e.querySelectorAll(Or)],i=r.indexOf(n),o=r.indexOf(a);if(i>=0&&o>=0){let e=[];for(let t of r.slice(Math.min(i,o),Math.max(i,o)+1))t===a||t.checked===a.checked||(t.checked=a.checked,e.push(t));e.length&&t?.(e,a.checked)}}n=a}})}var Ar=Object.freeze([`page`,`pageSize`,`sortBy`,`sortOrder`]),W=`search`,G=Object.freeze({loading:`Loading rows`,error:`These rows did not load. Try again.`,network:`The connection dropped before the rows loaded. Check it and try again.`,forbidden:`You do not have access to these rows.`,retry:`Retry`,actionFailed:`That did not work. Try again.`,actionForbidden:`You do not have permission to do that.`,empty:`No rows`}),jr=5,Mr=new WeakMap,Nr=(e,t)=>{let n=Number(e);return Number.isInteger(n)?n:t},Pr=e=>({total:Nr(e.dataset.total,0),page:Nr(e.dataset.page,1),pageSize:Nr(e.dataset.pageSize,0),sortBy:e.dataset.sortBy||``,sortOrder:e.dataset.sortOrder===`desc`?`desc`:`asc`}),Fr=(e,t)=>{e&&window.WUI?.toast?.(e,{variant:t})};function Ir(e=document){let t=e.querySelectorAll?[...e.querySelectorAll(`[data-wui-server]`)]:[];e instanceof Element&&e.matches(`[data-wui-server]`)&&t.unshift(e);for(let e of t)Mr.has(e)||Mr.set(e,Rr(e))}function Lr(e){let t=e instanceof Element?e.closest(`[data-wui-server]`):null;return t&&Mr.get(t)||null}function Rr(e){let t=e.querySelector(`.table-wrap`),n=t?.querySelector(`:scope > table`),r=e.dataset.src;if(!n||!r)throw Error(`A server-paged table needs data-src and a .table-wrap > table: render it with <app-data-table src>.`);let i=t.querySelector(`:scope > [data-wui-table-state]`),a=e.querySelector(`[data-wui-table-pager]`),o=e.querySelector(`[data-wui-table-status]`),s={urlState:e.dataset.urlState!==`false`,refreshOnSuccess:e.dataset.refreshOnSuccess!==`false`,filtersForm:e.dataset.filtersForm||null,filtersRegion:e.dataset.filtersRegion||null,searchInput:e.dataset.searchInput||null,loadingText:e.dataset.loadingText||G.loading,errorText:e.dataset.errorText||G.error},c=new URL(r,window.location.href),l=new Set(c.searchParams.keys()),u=n.hasAttribute(`data-app-datatable-selectable`),d=new Set,f=!1,p=ee(),m=new AbortController,h={signal:m.signal},g=n.querySelector(`:scope > tbody[data-wui-rows]`);if(!g)throw Error(`A server-paged table needs its rows in <app-table-rows> (tbody[data-wui-rows]).`);let v=Pr(g),y=null,b=null,x=e=>{let t=new URLSearchParams;for(let[n,r]of new URLSearchParams(e))l.has(n)||t.append(n,r);return t},S=e=>x(new URL(e,window.location.href).search),C=e=>{let t=e.toString();return`${window.location.pathname}${t?`?${t}`:``}${window.location.hash}`},te=e=>{let t=new URL(c.href);for(let[n,r]of e)l.has(n)||t.searchParams.append(n,r);return t.origin===window.location.origin?`${t.pathname}${t.search}`:t.href},w=(e,t)=>{let n=new URLSearchParams(e);return n.has(`page`)&&n.set(`page`,String(t.page)),n.has(`pageSize`)&&n.set(`pageSize`,String(t.pageSize)),n.has(`sortBy`)?t.sortBy?(n.set(`sortBy`,t.sortBy),n.set(`sortOrder`,t.sortOrder)):(n.delete(`sortBy`),n.delete(`sortOrder`)):n.delete(`sortOrder`),n},T=w(s.urlState?x(window.location.search):new URLSearchParams,v);s.urlState&&C(T)!==`${window.location.pathname}${window.location.search}${window.location.hash}`&&window.history.replaceState(window.history.state,``,C(T));let E=(e,n)=>t.dispatchEvent(new CustomEvent(e,{bubbles:!0,detail:n})),D=e=>{o&&(o.textContent=e)},ne=e=>{if(e.total===0)return G.empty;let t=e.pageSize>0?Math.max(1,Math.ceil(e.total/e.pageSize)):1;return`Page ${e.page} of ${t}, ${e.total} ${e.total===1?`row`:`rows`}`},re=()=>[...n.querySelectorAll(`:scope > thead > tr:first-child > th`)],ie=e=>{if(u&&[...e.querySelectorAll(`:scope > tr`)].some(e=>!e.dataset.rowKey))throw Error(`A selectable server-paged table needs data-row-key on every row, so a selection can span pages.`)},ae=t=>{let n=e.dataset.activeRowKey;if(n!==void 0)for(let e of t){let t=e.classList.contains(`wui-row-active`),r=n!==``&&e.dataset.rowKey===n;e.classList.toggle(`wui-row-active`,r),r?e.setAttribute(`aria-current`,`true`):t&&e.removeAttribute(`aria-current`)}},oe=e=>{if(u){Tr(e);for(let t of e){let e=t.querySelector(`.${U} .wui-check`);e&&(f&&d.add(t.dataset.rowKey),e.checked=d.has(t.dataset.rowKey))}Dr(n)}ae(e);let t=re();if(n.classList.contains(`wui-table-stack`))for(let n of e)[...n.cells].forEach((e,n)=>{let r=t[n]?.textContent.trim();r&&!e.hasAttribute(`data-label`)&&e.setAttribute(`data-label`,r)});t.forEach((t,n)=>{if(t.classList.contains(`wui-col-hidden`))for(let t of e)t.cells[n]?.classList.add(`wui-col-hidden`)})},se=e=>oe([...e.querySelectorAll(`:scope > tr`)]),ce=e=>{for(let t of e.querySelectorAll(`:scope > template[data-wui-pager], :scope > template[data-wui-empty], :scope > template[data-wui-filters]`))t.remove()},O=e=>e?.dispatchEvent(new CustomEvent(`wui:teardown`,{bubbles:!0})),le=(e,t)=>{if(!i)return;let n=e.querySelector(`:scope > template[data-wui-empty]`);O(i),t.total===0&&n?(i.replaceChildren(n.content.cloneNode(!0)),i.hidden=!1):(i.replaceChildren(),i.hidden=!0)},ue=e=>{let r=Pr(e),i=r.sortBy!==v.sortBy||r.sortOrder!==v.sortOrder?je(g.rows):null;if(a){let t=e.querySelector(`:scope > template[data-wui-pager]`);O(a),a.replaceChildren(...t?[t.content.cloneNode(!0)]:[]),a.hidden=!1}le(e,r);let o=e.querySelector(`:scope > template[data-wui-filters]`),c=s.filtersRegion&&o?document.querySelector(s.filtersRegion):null;c&&(O(c),c.replaceChildren(o.content.cloneNode(!0))),ce(e),O(g),n.replaceChild(e,g),g=e;let l=f&&r.total!==v.total;v=r,l&&(f=!1),t.removeAttribute(`data-wui-table-error`),se(e),ve(),Oe(e.rows,i),l&&M()},de=e=>{let t=document.createElement(`template`);t.innerHTML=`<table>${e}</table>`;let n=t.content.querySelector(`tbody[data-wui-rows]`);return n&&ie(n),n?document.importNode(n,!0):null},fe=e=>{let t=document.createElement(`tr`);for(let n=0;n<e;n++){let e=document.createElement(`td`),r=document.createElement(`span`);r.className=`skeleton`,r.setAttribute(`aria-hidden`,`true`),r.style.cssText=`display:block;width:${n===0?70:50}%;height:12px;border-radius:6px`,e.append(r),t.append(e)}return t},pe=()=>{if(g.querySelector(`:scope > tr:not([data-wui-skeleton])`))return;let e=Math.max(1,re().length);g.replaceChildren(...Array.from({length:jr},()=>{let t=fe(e);return t.setAttribute(`data-wui-skeleton`,``),t})),t.removeAttribute(`data-wui-table-error`),i&&(i.hidden=!0)},k=e=>{e?(t.setAttribute(`aria-busy`,`true`),pe()):t.removeAttribute(`aria-busy`)},me=e=>e===`forbidden`?G.forbidden:e===`network`?G.network:s.errorText,ge=e=>{let n=me(e);if(t.setAttribute(`data-wui-table-error`,e),a&&(a.hidden=!0),i){let t=document.createElement(`div`);t.className=`tbl-empty wui-table-error`,t.setAttribute(`role`,`alert`);let r=document.createElement(`span`);r.className=`tbl-empty-icon`,r.innerHTML=he(e===`forbidden`?`lock`:`alert-circle`,{size:24});let a=document.createElement(`div`);a.className=`tbl-empty-title`,a.textContent=n;let o=document.createElement(`div`);o.className=`tbl-empty-action`;let s=document.createElement(`button`);s.type=`button`,s.className=`btn btn-outline-primary btn-sm`,s.setAttribute(`data-wui-table-retry`,``),s.textContent=G.retry,o.append(s),t.append(r,a,o),O(i),i.replaceChildren(t),i.hidden=!1}D(n)},A=async(e,t=`none`)=>{let n=new URLSearchParams(e);y={query:n,mode:t},k(!0),D(s.loadingText),E(`wui:table:loading`,{query:n.toString()});let r=await p.run(te(n));if(r.kind===`aborted`||r.kind===`stale`||r.kind===`session`)return r;k(!1);let i=null,a=r.ok?null:r.kind;if(r.ok){try{i=de(r.html)}catch(e){console.error(e)}i||(a=`server`)}return a?(ge(a),E(`wui:table:error`,{status:r.status,kind:a,message:me(a)}),r):(ue(i),T=w(n,v),s.urlState&&t===`push`?window.history.pushState(window.history.state,``,C(T)):s.urlState&&t===`replace`&&window.history.replaceState(window.history.state,``,C(T)),D(ne(v)),window.WUI?.refresh?.(),E(`wui:table:loaded`,{...v,query:T.toString()}),r)},j=e=>(e.delete(`page`),e),_e=()=>[...n.querySelectorAll(`:scope > thead th[data-sort-key]`)],ve=()=>{for(let e of _e()){let t=e.dataset.sortKey===v.sortBy;e.setAttribute(`aria-sort`,t?v.sortOrder===`desc`?`descending`:`ascending`:`none`)}};for(let e of _e())if(e.classList.add(`sortable`),e.tabIndex=0,!e.querySelector(`.sort-icon`)){let t=e.classList.contains(`num`)||e.classList.contains(`text-end`),n=document.createElement(`span`);n.className=t?`sort-icon wui-sort-lead`:`sort-icon`,n.innerHTML=he(`chevrons-up-down`,{size:14}),t?e.prepend(n):e.append(n)}let ye=e=>{let t=j(new URLSearchParams(T)),n=v.sortBy===e&&v.sortOrder===`asc`?`desc`:`asc`;return t.set(`sortBy`,e),t.set(`sortOrder`,n),A(t,`push`)};n.addEventListener(`click`,e=>{let t=e.target.closest(`th[data-sort-key]`);t&&n.tHead?.contains(t)&&ye(t.dataset.sortKey)}),n.addEventListener(`keydown`,e=>{if(e.key!==`Enter`&&e.key!==` `)return;let t=e.target.closest?.(`th[data-sort-key]`);!t||!n.tHead?.contains(t)||(e.preventDefault(),ye(t.dataset.sortKey))});let M=()=>{Dr(n);let e=f?{selected:v.total,total:v.total,allMatching:f}:{selected:d.size,total:v.total};n.dispatchEvent(new CustomEvent(`selectionchange`,{bubbles:!0,detail:e}))};u&&(kr(n,(e,t)=>{for(let n of e){let e=n.closest(`tr`)?.dataset.rowKey;e&&(t?d.add(e):d.delete(e))}t||(f=!1)}),n.addEventListener(`change`,e=>{let t=e.target;if(t.matches?.(`.wui-select-cell .wui-check`)){if(t.checked||(f=!1),n.tHead?.contains(t))for(let e of g.querySelectorAll(`:scope > tr`)){let n=e.querySelector(`.${U} .wui-check`);n&&(n.checked=t.checked,t.checked?d.add(e.dataset.rowKey):d.delete(e.dataset.rowKey))}else{let e=t.closest(`tr`)?.dataset.rowKey;if(!e)return;t.checked?d.add(e):d.delete(e)}M()}})),a&&(a.addEventListener(`click`,e=>{let t=e.target.closest(`a[href]`);!t||e.defaultPrevented||e.button!==0||e.ctrlKey||e.metaKey||e.shiftKey||e.altKey||(e.preventDefault(),A(S(t.getAttribute(`href`)),`push`))}),a.addEventListener(`change`,e=>{!e.target.classList?.contains(`tpg-select`)||!e.target.value||(e.stopPropagation(),A(S(e.target.value),`push`))}));let N=()=>{if(!s.searchInput)return null;let e=document.querySelector(s.searchInput);return e&&(e.matches(`input, textarea`)?e:e.querySelector(`input`))},P=()=>e.isConnected?!0:(m.abort(),clearTimeout(b),!1),be=(e,t)=>{let n=t?.name?new FormData(e,t):new FormData(e),r=new Set([...e.querySelectorAll(`[name]`)].map(e=>e.getAttribute(`name`))),i=new URLSearchParams;for(let[e,t]of T)e!==`page`&&(Ar.includes(e)||!r.has(e))&&i.append(e,t);for(let[e,t]of n)typeof t!=`string`||t===``||Ar.includes(e)||l.has(e)||i.append(e,t);let a=N();if(a){i.delete(W);let e=a.value.trim();e&&i.set(W,e)}return A(i,`push`)},xe=e=>s.filtersForm&&e.closest?.(s.filtersForm)||s.filtersRegion&&e.closest?.(s.filtersRegion)||null;document.addEventListener(`submit`,e=>{!P()||!s.filtersForm||!(e.target instanceof HTMLFormElement)||!e.target.matches(s.filtersForm)||(e.preventDefault(),be(e.target,e.submitter))},h),document.addEventListener(`change`,e=>{if(!P()||!s.filtersForm)return;let t=e.target.closest?.(s.filtersForm);!t||e.target===N()||be(t)},h);let Se=(e,t)=>{if(!e)return;let n=e=>t.get(e)??``;for(let r of e.querySelectorAll(`input[name]:not([type=hidden])`))if(r.type===`checkbox`)r.checked=t.getAll(r.name).includes(r.value);else if(r.type===`radio`){let e=n(r.name)===r.value;if(r.checked===e)continue;r.checked=e,e&&r.dispatchEvent(new Event(`change`))}else r.value!==n(r.name)&&(r.value=n(r.name),r.dispatchEvent(new Event(`input`,{bubbles:!0})));for(let r of e.querySelectorAll(`select[name]`))if(!r.multiple)r.value=n(r.name);else for(let e of r.options)e.selected=t.getAll(r.name).includes(e.value);for(let t of e.querySelectorAll(`wui-select[name]`))t.value=n(t.getAttribute(`name`));for(let n of e.querySelectorAll(`wui-multiselect[name]`))n.values=t.getAll(n.getAttribute(`name`));for(let t of e.querySelectorAll(`wui-date-range`)){let e=t.getAttribute(`start-name`)||t.getAttribute(`name`),r=t.getAttribute(`end-name`);t.value={start:e?n(e):``,end:r?n(r):``}}};document.addEventListener(`click`,e=>{if(!P())return;let t=e.target.closest?.(`a[href]`);if(!t||!xe(t)||e.defaultPrevented||e.button!==0||e.ctrlKey||e.metaKey||e.shiftKey||e.altKey)return;let n=new URL(t.getAttribute(`href`),window.location.href);if(n.origin!==window.location.origin||n.pathname!==window.location.pathname)return;e.preventDefault();let r=j(S(n.href));Se(t.closest(`form`),r),A(r,`push`)},h),document.addEventListener(`input`,e=>{if(!P())return;let t=N();!t||e.target!==t||(clearTimeout(b),b=setTimeout(()=>{let e=j(new URLSearchParams(T)),n=t.value.trim();n?e.set(W,n):e.delete(W),e.toString()!==T.toString()&&A(e,`replace`)},300))},h),s.urlState&&window.addEventListener(`popstate`,()=>{if(!P())return;let e=x(window.location.search),t=N();t&&(t.value=e.get(`search`)??``),A(e,`none`)},h),document.addEventListener(`wui:modal:success`,()=>{P()&&s.refreshOnSuccess&&A(T,`none`)},h),i?.addEventListener(`click`,e=>{e.target.closest(`[data-wui-table-retry]`)&&y&&A(y.query,y.mode)});let F=e=>[...g.rows].find(t=>t.dataset.rowKey===e)??null,I=e=>{if(!e?.trim())return null;let t=document.createElement(`template`);if(t.innerHTML=`<table><tbody>${e}</tbody></table>`,t.content.querySelector(`tbody[data-wui-rows]`))return null;let n=[...t.content.querySelectorAll(`table > tbody > tr[data-row-key]`)];return n.length?n.map(e=>document.importNode(e,!0)):null},L=(e,t,n)=>{let r=n?e[0]:e.find(e=>e.dataset.rowKey===t.dataset.rowKey);if(!r)return null;let i=[];for(let n of e){let e=n===r?t:F(n.dataset.rowKey);e&&(O(e),e.replaceWith(n),i.push(n))}return oe(i),window.WUI?.refresh?.(),r},R=e=>e.message||(e.kind===`forbidden`?G.actionForbidden:G.actionFailed),B=e=>{e?.isConnected&&e.getAttribute(`data-wui-save-state`)===`saving`&&z(e,null)},Ce=e=>{if(e instanceof HTMLTableRowElement)return e;let t=document.createElement(`template`);t.innerHTML=`<table><tbody>${String(e)}</tbody></table>`;let n=t.content.querySelector(`table > tbody > tr`);if(!n)throw Error("saveRow's `row` is the row as it will read: a <tr> element or its HTML.");return document.importNode(n,!0)},we=async({url:e,method:n=`POST`,body:r,key:a,row:o}={})=>{if(!e)throw Error("saveRow needs `url`: the handler that saves the row.");let s=a==null,c=s?null:F(String(a));if(!s&&!c)throw Error(`saveRow found no row with data-row-key="${a}" on this page.`);let l=re().filter(e=>!e.classList.contains(U)).length,u=o?Ce(o):c??fe(Math.max(1,l));c&&u!==c?c.replaceWith(u):c||g.insertBefore(u,g.firstChild),u!==c&&oe([u]),i&&!t.hasAttribute(`data-wui-table-error`)&&(i.hidden=!0),z(u,`saving`);let d=V(u),f=await _(e,{method:n.toUpperCase(),body:r});if(f.kind===`session`)return!1;if(f.ok){let e=I(f.html),t=e&&u.isConnected?L(e,u,s):null;return t?D(H.saved(V(t)||d)):(await A(T,`none`),B(u)),Fr(f.message,f.toastVariant||`success`),E(`wui:table:saved`,{key:t?.dataset.rowKey??(s?null:String(a)),added:s,status:f.status}),!0}let p=R(f),m=u;return c&&u!==c&&u.isConnected?(u.replaceWith(c),m=c):s&&!o&&(u.remove(),m=null,i?.childElementCount&&!g.querySelector(`:scope > tr`)&&(i.hidden=!1)),m?.isConnected&&z(m,`error`,p),f.kind!==`aborted`&&Fr(p,`danger`),D(H.notSaved(d,p)),E(`wui:table:failed`,{key:s?null:String(a),added:s,status:f.status,kind:f.kind,message:p}),!1},Te=async e=>{let t=e.dataset.url;if(!t)throw Error(`A data-wui-row-action button needs data-url: the handler the action posts to.`);let n=e.closest(`tr`),r=n?.dataset.rowKey??null,i=e.dataset.wuiRowAction||``,a=n?V(n):``;e.disabled=!0,e.setAttribute(`aria-busy`,`true`),n&&z(n,`saving`);let o=await _(t,{method:(e.dataset.method||`post`).toUpperCase()});if(e.disabled=!1,e.removeAttribute(`aria-busy`),o.kind===`session`||o.kind===`aborted`){B(n);return}if(o.ok){Fr(o.message,o.toastVariant||`success`);let e=n?.isConnected?I(o.html):null,t=e?L(e,n,!1):null;t?D(H.saved(V(t)||a)):(await A(T,`none`),B(n))}else{let e=R(o);Fr(e,`danger`),n?.isConnected&&z(n,`error`,e),D(H.notSaved(a,e))}E(`wui:table:action`,{action:i,key:r,ok:o.ok,status:o.status})};return n.addEventListener(`click`,e=>{let t=e.target.closest(`[data-wui-row-action]`);!t||!g.contains(t)||t.disabled||(e.preventDefault(),Te(t))}),ie(g),ce(g),u&&Er(n),se(g),ve(),{el:e,reload:()=>A(T,`none`),query:()=>new URLSearchParams(T),setQuery:e=>{let t=new URLSearchParams(T);for(let[n,r]of Object.entries(e??{})){t.delete(n);for(let e of Array.isArray(r)?r:[r])e!=null&&e!==``&&t.append(n,String(e))}return(!e||!(`page`in e))&&t.delete(`page`),A(t,`push`)},saveRow:we,setActiveRow:t=>{e.dataset.activeRowKey=t==null?``:String(t),ae([...g.querySelectorAll(`:scope > tr`)])},selection:{keys:()=>[...d],count:()=>f?v.total:d.size,allMatching:()=>f,selectAllMatching:()=>{f=!0;for(let e of g.querySelectorAll(`:scope > tr`)){let t=e.querySelector(`.${U} .wui-check`);t&&(t.checked=!0),e.dataset.rowKey&&d.add(e.dataset.rowKey)}M()},clear:()=>{f=!1,d.clear();for(let e of g.querySelectorAll(`:scope > tr > .${U} .wui-check`))e.checked=!1;M()}}}}var K=`wuiConfirm`,zr=Object.freeze([`danger`]),Br=Object.freeze([`success`,`info`,`warning`,`danger`]),Vr=`wui.flash`,q=Object.freeze({confirmTitle:`Are you sure?`,confirmLabel:`Confirm`,cancelLabel:`Cancel`,failed:`That did not work. Try again.`,forbidden:`You do not have permission to do that.`,network:`Could not reach the server. Check your connection and try again.`}),Hr=new WeakSet,Ur=new WeakSet,J=null,Wr=null,Gr=!1,Kr=e=>{let t=document.createElement(`span`);return t.textContent=e??``,t.innerHTML},qr=(e,t)=>{e&&window.WUI?.toast?.(e,{variant:t})},Jr=()=>{let e=window.bootstrap?.Modal;if(!e)throw Error(`data-wui-confirm: Bootstrap's bundle (window.bootstrap) is not loaded on this page.`);return e};function Yr(){let e=document.getElementById(K);return e||(e=document.createElement(`div`),e.id=K,e.className=`modal fade wui-modal-shell`,e.tabIndex=-1,e.setAttribute(`aria-hidden`,`true`),e.setAttribute(`role`,`dialog`),e.setAttribute(`aria-modal`,`true`),e.style.setProperty(`--wui-modal-max-width`,`${C.md}px`),e.innerHTML=`<div class="modal-dialog modal-dialog-centered wui-rb-dialog"><div class="modal-content wui-modal wui-confirm"><div class="wui-modal-body"><div class="wui-confirm-content"><span class="wui-confirm-icon"><wui-status-icon tone="info" size="120"></wui-status-icon></span><h3 class="wui-confirm-title" tabindex="-1" data-autofocus></h3><p class="wui-confirm-msg"></p></div></div><div class="wui-modal-footer"><div class="wui-confirm-actions"><button type="button" class="btn btn-secondary" data-bs-dismiss="modal">${Kr(q.cancelLabel)}</button><button type="button" class="btn btn-primary" data-app-confirm></button></div></div></div></div>`,document.body.appendChild(e),e)}function Xr(e,t){let n=e.getAttribute(`data-wui-confirm-tone`);if(n!==null&&!zr.includes(n))throw TypeError(`data-wui-confirm-tone="${n}" is not supported. Use danger, or leave it off.`);Zr({title:e.getAttribute(`data-wui-confirm-title`),message:e.getAttribute(`data-wui-confirm`),label:e.getAttribute(`data-wui-confirm-label`),danger:n===`danger`},t)}function Zr({title:e,message:t,label:n,danger:r},i){let a=Jr(),o=Yr(),s=o.querySelector(`.wui-confirm-title`),c=o.querySelector(`[data-app-confirm]`);if(!s||!c)throw Error(`#${K} is not a confirm dialog with a confirm button. Render <app-confirm-dialog id="${K}"> without confirm-href, or leave the dialog to the library.`);let l=o.querySelector(`.wui-confirm-msg`);l||(l=document.createElement(`p`),l.className=`wui-confirm-msg`,s.after(l)),s.textContent=e||q.confirmTitle,l.textContent=t,c.textContent=n||q.confirmLabel,c.classList.toggle(`btn-danger`,r),c.classList.toggle(`btn-primary`,!r),o.querySelector(`wui-status-icon`)?.setAttribute(`tone`,r?`delete`:`info`),o.setAttribute(`aria-label`,s.textContent),Wr=i,Gr=!1,a.getOrCreateInstance(o).show()}var Qr=(e,t)=>{J=e;try{t()}finally{J=null}};function $r(e,{title:t,message:n,label:r,tone:i},a){if(i!=null&&!zr.includes(i))throw TypeError(`confirmAction: tone "${i}" is not supported. Use danger, or leave it off.`);fi(e.ownerDocument),Zr({title:t,message:n,label:r,danger:i===`danger`},()=>Qr(e,a))}var ei=e=>e.disabled===!0||e.getAttribute(`aria-disabled`)===`true`;function ti(e){let t=e.target.closest?.(`[data-wui-confirm]:not(form)`);!t||t===J||ei(t)||(e.preventDefault(),e.stopImmediatePropagation(),Xr(t,()=>Qr(t,()=>t.click())))}function ni(e){let t=e.target;if(!(t instanceof HTMLFormElement)||!t.hasAttribute(`data-wui-confirm`)||t===J||e.submitter&&e.submitter===J)return;e.preventDefault(),e.stopImmediatePropagation();let n=e.submitter?.form===t?e.submitter:void 0;Xr(t,()=>Qr(t,()=>t.requestSubmit(n)))}function ri(e){let t=e.target.closest?.(`#${K} [data-app-confirm]`);!t||t.disabled||!Wr||(Gr=!0,Jr().getOrCreateInstance(t.closest(`#${K}`)).hide())}function ii(e){if(e.target.id!==`wuiConfirm`)return;let t=Gr?Wr:null;Wr=null,Gr=!1,t?.()}var ai=(e,t)=>{e&&window.sessionStorage.setItem(Vr,JSON.stringify({message:e,variant:t}))},oi=e=>e===`forbidden`?q.forbidden:e===`network`?q.network:q.failed;function si(){for(let e of document.querySelectorAll(`[data-wui-server]`))e.dataset.refreshOnSuccess!==`false`&&Lr(e)?.reload()}async function ci(e){let t=e.getAttribute(`data-wui-post`);if(!t)throw Error(`A data-wui-post button needs the URL the action posts to.`);let n=e.getAttribute(`data-wui-post-reload`);if(n!==null&&n!==`page`)throw TypeError(`data-wui-post-reload="${n}" is not supported. Use page, or leave it off to reload the server tables.`);e.disabled=!0,e.setAttribute(`aria-busy`,`true`);let r=await _(t,{method:`POST`});if(r.kind===`session`||r.kind===`aborted`)return;let i=r.toastVariant||`success`;if(r.ok&&(r.redirect||n===`page`)){ai(r.message,i),r.redirect?window.location.assign(r.redirect):window.location.reload();return}if(e.disabled=!1,e.removeAttribute(`aria-busy`),r.ok){qr(r.message,i),si();return}qr(r.message||oi(r.kind),`danger`)}function li(e){let t=e.target.closest?.(`[data-wui-post]`);t&&(e.preventDefault(),!(ei(t)||t.getAttribute(`aria-busy`)===`true`)&&ci(t).catch(e=>console.error(e)))}function ui(){let e=window.sessionStorage.getItem(Vr);if(!e)return;window.sessionStorage.removeItem(Vr);let{message:t,variant:n}=JSON.parse(e);qr(t,n)}function di(e){let t=e.querySelectorAll?[...e.querySelectorAll(`[data-wui-flash]`)]:[];e instanceof Element&&e.matches(`[data-wui-flash]`)&&t.unshift(e);for(let e of t){let t=e.getAttribute(`data-wui-flash-variant`)||`success`;if(!Br.includes(t))throw TypeError(`data-wui-flash-variant="${t}" is not supported. Use ${Br.join(`, `)}.`);let n=e.getAttribute(`data-wui-flash`)||e.textContent.trim();e.remove(),qr(n,t)}}function fi(e){Ur.has(e)||(Ur.add(e),e.addEventListener(`click`,ri),e.addEventListener(`hidden.bs.modal`,ii))}function pi(e=document){let t=e.ownerDocument||e;Hr.has(t)||(Hr.add(t),t.addEventListener(`click`,ti,!0),t.addEventListener(`submit`,ni,!0),fi(t),t.addEventListener(`click`,li),ui()),di(e)}var mi=31536e3,Y=new WeakMap,hi=e=>e>99?`99+`:String(e);function gi(e,t,n=document){n.cookie=`${e}=${t?`1`:`0`}; Path=/; Max-Age=${mi}; SameSite=Lax`}var _i=e=>{let t=document.createElement(`template`);return t.innerHTML=e,t.content},vi=(e,t)=>{let n=document.createElement(`div`);return n.className=e,n.textContent=t,n};function yi(e,t){let n=e.querySelector(`.wui-bell-trigger`),r=e.querySelector(`.wui-bell-count`),i=e.querySelector(`[data-wui-bell-live]`),a=e.querySelector(`[data-wui-bell-list]`),o=e.querySelector(`.wui-bell-menu`),{src:s,readAction:c}=e.dataset,l=e.dataset.label||`Notifications`,u=e.dataset.emptyText||`You are all caught up.`,d=Number(e.dataset.pollSeconds??60),f=ee(),p=Number(e.dataset.unread)||0,m=(t,a=!0)=>{let o=Math.max(0,Number(t)||0),s=o!==p;p=o,e.dataset.unread=String(o),r&&(r.textContent=hi(o),r.hidden=o===0),n?.setAttribute(`aria-label`,o===0?l:`${l}, ${hi(o)} unread`),a&&s&&i&&(i.textContent=o===0?`No unread notifications`:`${hi(o)} unread notifications`)},h=()=>o?.classList.contains(`show`)??!1,g=()=>{let e=vi(`wui-bell-state`,`Could not load notifications. `),t=document.createElement(`button`);t.type=`button`,t.className=`btn btn-link btn-sm`,t.dataset.wuiBellRetry=``,t.textContent=`Retry`,e.append(t),a.replaceChildren(e)},v=async t=>{t&&(a.setAttribute(`aria-busy`,`true`),a.querySelector(`.wui-bell-item`)||a.replaceChildren(vi(`wui-bell-state`,`Loading…`)));let n=await f.run(s);if(n.kind===`aborted`||n.kind===`stale`||n.kind===`session`)return;if(a.removeAttribute(`aria-busy`),!n.ok){t&&g();return}let r=_i(n.html),i=r.querySelector(`[data-wui-unread]`),o=i?Number(i.getAttribute(`data-wui-unread`)):p;m(o),(t||h())&&(r.querySelector(`.wui-bell-item`)?a.replaceChildren(r):a.replaceChildren(vi(`wui-bell-state`,u))),e.dispatchEvent(new CustomEvent(`wui:notifications:loaded`,{bubbles:!0,detail:{unread:o}}))};e.addEventListener(`show.bs.dropdown`,()=>v(!0)),e.addEventListener(`click`,async e=>{if(e.target.closest(`[data-wui-bell-retry]`)){v(!0);return}let t=e.target.closest(`[data-wui-bell-read]`);if(!t||!c)return;t.disabled=!0;let n=await _(c,{method:`POST`});t.disabled=!1,n.ok&&(m(0),v(!0))});let y=null,b=()=>{d>0&&y===null&&(y=setInterval(()=>v(h()),d*1e3))},x=()=>{y!==null&&clearInterval(y),y=null},S=()=>{document.hidden?x():(v(h()),b())};return d>0&&(document.addEventListener(`visibilitychange`,S),document.hidden||b()),t.push(()=>{x(),f.abort(),document.removeEventListener(`visibilitychange`,S)}),{setUnread:e=>m(e),refresh:()=>v(h())}}var bi=e=>!!e&&(e.isContentEditable||/^(INPUT|TEXTAREA|SELECT)$/.test(e.tagName)),xi=(e,t,n)=>`${e}${e.includes(`?`)?`&`:`?`}${encodeURIComponent(t)}=${encodeURIComponent(n)}`;function Si(e,t){let n=e.querySelector(`input.search-input`),r=e.querySelector(`.wui-topsearch-results`),i=e.querySelector(`.wui-topsearch-open`),a=e.querySelector(`[data-wui-topsearch-live]`),{src:o,param:s=`q`,resultsHref:c}=e.dataset,l=Number(e.dataset.minChars??2),u=Number(e.dataset.debounceMs??250),d=ee(),f=null,p=-1,m=()=>[...r.querySelectorAll(`.wui-topsearch-hit`)],h=e=>{let t=m();p=t.length===0?-1:(e+t.length)%t.length,t.forEach((e,t)=>{let n=t===p;e.classList.toggle(`is-active`,n),e.setAttribute(`aria-selected`,n?`true`:`false`)}),p>=0?(n.setAttribute(`aria-activedescendant`,t[p].id),t[p].scrollIntoView?.({block:`nearest`})):n.removeAttribute(`aria-activedescendant`)},g=()=>{r.hidden=!0,n.setAttribute(`aria-expanded`,`false`),n.removeAttribute(`aria-activedescendant`),p=-1},_=()=>{r.hidden=!1,n.setAttribute(`aria-expanded`,`true`)},v=t=>{e.classList.toggle(`is-open`,t),i?.setAttribute(`aria-expanded`,t?`true`:`false`)},y=t=>{let n=new CustomEvent(`wui:search:select`,{bubbles:!0,cancelable:!0,detail:{href:t}});e.dispatchEvent(n)&&window.location.assign(t)},b=async t=>{e.classList.add(`is-loading`);let n=await d.run(xi(o,s,t));if(!(n.kind===`aborted`||n.kind===`stale`||n.kind===`session`)){if(e.classList.remove(`is-loading`),n.ok){let e=_i(n.html),t=e.querySelector(`[data-wui-count]`);r.replaceChildren(e),m().forEach((e,t)=>{e.id=`${r.id}-opt-${t}`});let i=t?Number(t.getAttribute(`data-wui-count`)):m().length;a&&(a.textContent=i===0?`No results`:`${i} ${i===1?`result`:`results`}`)}else r.replaceChildren(vi(`wui-topsearch-empty`,`Search is unavailable right now.`));p=-1,_()}};n.addEventListener(`input`,()=>{clearTimeout(f);let t=n.value.trim();if(t.length<l){d.abort(),e.classList.remove(`is-loading`),r.replaceChildren(),g();return}f=setTimeout(()=>b(t),u)}),n.addEventListener(`keydown`,t=>{if(t.key===`ArrowDown`||t.key===`ArrowUp`){if(r.hidden||m().length===0)return;t.preventDefault(),h(p+(t.key===`ArrowDown`?1:-1))}else if(t.key===`Enter`){let e=m();!r.hidden&&p>=0&&e[p]?(t.preventDefault(),y(e[p].getAttribute(`href`))):c&&n.value.trim()!==``&&(t.preventDefault(),y(xi(c,s,n.value.trim())))}else t.key===`Escape`&&(r.hidden?e.classList.contains(`is-open`)&&(t.preventDefault(),t.stopPropagation(),v(!1),i?.focus()):(t.preventDefault(),t.stopPropagation(),g()))}),r.addEventListener(`click`,e=>{let t=e.target.closest(`.wui-topsearch-hit`);!t||e.ctrlKey||e.metaKey||e.shiftKey||e.button===1||(e.preventDefault(),y(t.getAttribute(`href`)))}),i?.addEventListener(`click`,()=>{let t=!e.classList.contains(`is-open`);v(t),t&&n.focus()});let x=e=>{e.key!==`/`||e.ctrlKey||e.metaKey||e.altKey||bi(e.target)||(e.preventDefault(),v(!0),n.focus())},S=t=>{e.contains(t.target)||(g(),e.classList.contains(`is-open`)&&v(!1))};document.addEventListener(`keydown`,x),document.addEventListener(`pointerdown`,S),t.push(()=>{clearTimeout(f),d.abort(),document.removeEventListener(`keydown`,x),document.removeEventListener(`pointerdown`,S)})}function Ci(e){let t=[],n=e.dataset.wuiCollapsedCookie;n&&e.addEventListener(`wui:shell:collapse`,e=>gi(n,!!e.detail?.collapsed)),e.addEventListener(`click`,t=>{t.target.closest(`[data-wui-tabbar-more]`)&&e.querySelector(`[data-app-shell-menu]`)?.click()});let r=e.querySelector(`[data-wui-bell]`),i=r?yi(r,t):null,a=e.querySelector(`[data-wui-topsearch]`);a&&Si(a,t);let o={el:e,setUnread(e){if(!i)throw Error(`WUI.shell: this <app-shell> has no <app-shell-notifications>.`);i.setUnread(e)},refreshNotifications(){if(!i)throw Error(`WUI.shell: this <app-shell> has no <app-shell-notifications>.`);return i.refresh()},get collapsed(){return e.classList.contains(`collapsed`)},set collapsed(t){if(!!t===e.classList.contains(`collapsed`))return;let n=e.querySelector(`[data-app-shell-collapse]`);n?n.click():e.classList.toggle(`collapsed`,!!t)}};Y.set(e,o);let s=n=>{if(n.target===e||n.target.contains?.(e)){for(let e of t)e();Y.delete(e),delete e.dataset.wuiPartsWired,document.removeEventListener(`wui:teardown`,s)}};return document.addEventListener(`wui:teardown`,s),o}function wi(e=document){let t=[];e instanceof Element&&e.matches(`[data-app-shell]`)&&t.push(e),t.push(...e.querySelectorAll(`[data-app-shell]`));for(let e of t)e.dataset.wuiPartsWired||(e.dataset.wuiPartsWired=`1`,Ci(e))}function Ti(e){let t=e?.closest?.(`[data-app-shell]`)??null;return t?(Y.has(t)||wi(t),Y.get(t)??null):null}var X=Object.freeze({title:`Leave without saving?`,message:`Your changes on this page are not saved. If you leave now, they are lost.`,leaveLabel:`Leave`}),Z=`form[data-wui-unsaved]`,Ei=`[aria-invalid="true"], .field-error:not(:empty), .field-validation-error, .validation-summary-errors, .wui-error-summary`,Di=`[download], [data-wui-modal], [data-wui-post], [data-bs-toggle]`,Oi=new Set([`submit`,`button`,`reset`,`image`]),Q=new WeakMap,ki=new WeakSet,Ai=e=>`${e.name}:${e.size}:${e.lastModified}`;function $(e){let t=[];for(let n of e.elements)!n.name||n.disabled||Oi.has(n.type)||(n.type===`checkbox`||n.type===`radio`?t.push([n.name,n.value,n.checked]):n.type===`file`?t.push([n.name,[...n.files||[]].map(Ai)]):n.type===`select-multiple`?t.push([n.name,[...n.selectedOptions].map(e=>e.value)]):t.push([n.name,n.value]));return JSON.stringify(t)}var ji=e=>({saved:e.querySelector(Ei)?null:$(e),engaged:!1,discarded:!1});function Mi(e){let t=Q.get(e);return!t||t.discarded||!e.isConnected?!1:t.saved===null||t.engaged&&$(e)!==t.saved}var Ni=(e,t)=>[...e.querySelectorAll(Z)].filter(e=>e!==t&&Mi(e)),Pi=()=>!!window.bootstrap?.Modal;function Fi(e,t,n){let r=t.map(e=>e.getAttribute(`data-wui-unsaved`)).find(Boolean)||X.message;$r(e,{title:X.title,message:r,label:X.leaveLabel,tone:`danger`},()=>{for(let e of t)Q.get(e).discarded=!0;n()})}function Ii(e){if(e.matches(Di))return!1;let t=e.getAttribute(`target`);if(t&&t.toLowerCase()!==`_self`)return!1;let n=new URL(e.getAttribute(`href`),window.location.href);if(n.protocol!==`http:`&&n.protocol!==`https:`)return!1;let r=window.location;return!(n.hash&&n.origin===r.origin&&n.pathname===r.pathname&&n.search===r.search)}function Li(e,t){if((t?.getAttribute(`formmethod`)||e.getAttribute(`method`)||`get`).toLowerCase()===`dialog`)return!1;let n=t?.getAttribute(`formtarget`)||e.getAttribute(`target`);return!n||n.toLowerCase()===`_self`}function Ri(e){if(e.defaultPrevented||e.button!==0||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey)return;let t=e.target.closest?.(`a[href]`);if(!t||!Ii(t))return;let n=Ni(t.ownerDocument,null);!n.length||!Pi()||(e.preventDefault(),Fi(t,n,()=>t.click()))}function zi(e){let t=e.target;if(!(t instanceof HTMLFormElement)||e.defaultPrevented||!Li(t,e.submitter))return;let n=Ni(t.ownerDocument,t);if(n.length&&Pi()){e.preventDefault();let r=e.submitter?.form===t?e.submitter:void 0;Fi(t,n,()=>t.requestSubmit(r));return}let r=Q.get(t);r&&(r.saved=$(t),r.discarded=!1)}function Bi(e){Ni(document,null).length&&(e.preventDefault(),e.returnValue=``)}function Vi(e){let t=e.target.closest?.(Z),n=t&&Q.get(t);!n||n.engaged||(n.saved!==null&&(n.saved=$(t)),n.engaged=!0)}function Hi(e){let t=e.target.closest?.(Z),n=t&&Q.get(t);n&&(n.discarded=!1,e.isTrusted&&(n.engaged=!0))}function Ui(e){let t=e.detail?.handle?.el;if(t instanceof Element)for(let e of t.querySelectorAll(Z))Gi(e)}function Wi(e=document){let t=e.ownerDocument||e;if(!ki.has(t)){ki.add(t);for(let e of[`focusin`,`pointerdown`,`drop`])t.addEventListener(e,Vi,!0);for(let e of[`input`,`change`])t.addEventListener(e,Hi,!0);t.addEventListener(`click`,Ri),t.addEventListener(`submit`,zi),t.addEventListener(`wui:modal:success`,Ui),t.defaultView.addEventListener(`beforeunload`,Bi)}let n=[...e.querySelectorAll?.(Z)||[]];e.matches?.(Z)&&n.unshift(e);for(let e of n)Q.has(e)||Q.set(e,ji(e))}function Gi(e){if(!(e instanceof HTMLFormElement)||!e.matches(Z))throw TypeError(`resetUnsavedChanges: ${String(e)} is not a <form data-wui-unsaved>.`);Q.set(e,{saved:$(e),engaged:!1,discarded:!1})}function Ki(){e(`wui-select`,L),e(`wui-country-select`,R),e(`wui-phone`,Ft),e(`wui-datepicker`,Qe),e(`wui-date-range`,$e),e(`wui-dock`,et),e(`wui-image-crop`,rt),e(`wui-kanban`,w),e(`wui-inline-edit`,at),e(`wui-consent-banner`,F),e(`wui-slider`,on),e(`wui-sortable`,sn),e(`wui-timepicker`,ln),e(`wui-tour`,dn),e(`wui-tree`,fn),e(`wui-autocomplete`,A),e(`wui-command-palette`,N),e(`wui-context-menu`,I),e(`wui-multiselect`,xt),e(`wui-taginput`,cn),e(`wui-otp`,Nt),e(`wui-status-icon`,k),e(`wui-shortcuts`,rn),e(`wui-record-pager`,Zt),e(`wui-carousel`,j),e(`wui-code-block`,_e),e(`wui-data-table`,Ke),e(`wui-drawer`,tt),e(`wui-hover-card`,nt),e(`wui-lightbox`,lt),e(`wui-menubar`,bt),e(`wui-navigation-menu`,St),e(`wui-notification-center`,jt),e(`wui-onboarding-checklist`,Mt),e(`wui-overflow`,Pt),e(`wui-rating`,It),e(`wui-relative-time`,en),e(`wui-resizable`,tn),e(`wui-rolling-number`,nn),e(`wui-show-more`,an),e(`wui-truncate`,pn),e(`wui-whats-new`,mn),e(`wui-mention-input`,ft),e(`wui-comment-thread`,P),e(`wui-wizard-step`,_n),e(`wui-wizard`,gn)}Ki();export{Tn as AVATAR_ACCEPT,kn as AVATAR_MAX_SIZE_MB,sr as AVATAR_OUTPUT_SIZE,On as AVATAR_OUTPUT_TYPE,Un as AVATAR_PREVIEW_SIZES,Hn as AVATAR_TEXT,Ve as COLUMN_MAX_WIDTH,We as COLUMN_MIN_WIDTH,Se as COMMENT_INTENTS,be as COMMENT_REACTIONS,xe as COMMENT_TEXT,K as CONFIRM_DIALOG_ID,zr as CONFIRM_TONES,ye as COPY_FEEDBACK_MS,S as CSRF_META_NAME,m as CURRENCIES,H as DATA_TABLE_TEXT,l as DATE_PATTERNS,y as DEFAULT_CSRF_HEADER,An as DEFAULT_IMAGE_ACCEPT,In as DEFAULT_MAX_SIZE_MB,Ln as DEFAULT_PASSWORD_RULES,xn as DEFAULT_REQUIREMENTS_TITLE,ur as DEFAULT_THEME_EFFECT,ir as DEFAULT_THEME_STORAGE_KEY,f as DURATION_UNITS,o as EMPTY_VALUE,Vr as FLASH_STORAGE_KEY,Br as FLASH_VARIANTS,t as FORMAT_STYLES,b as HTTP_KINDS,ct as INLINE_EDIT_SAVED_MS,ot as INLINE_EDIT_TEXT,st as INLINE_EDIT_TYPES,u as IST_TIME_ZONE,ue as KANBAN_DRAG_THRESHOLD_PX,oe as KANBAN_LONG_PRESS_MS,O as KANBAN_PHONE_QUERY,re as KANBAN_STORAGE_PREFIX,te as KANBAN_SUMMARY_FORMATS,se as KANBAN_TEXT,le as KANBAN_TONES,Yt as LIST_KEYS,Sn as MASK_INPUT_TYPES,Nn as MASK_NAMES,ut as MENTION_ID_PATTERN,vt as MENTION_MAX_QUERY,mt as MENTION_MAX_RESULTS,gt as MENTION_TEXT,p as MONEY_UNITS,At as NOTIFICATION_COUNT_CAP,Et as NOTIFICATION_TEXT,Ae as PIN_AT_VAR,He as PIN_SIDES,Ge as RESIZE_STEP,Me as RESIZE_STEP_LARGE,ze as ROW_HEIGHTS,qe as ROW_MOVE_LIMIT,Ne as ROW_MOVE_MS,Pe as ROW_SAVE_ATTR,Ue as ROW_SAVE_ERROR_CLASS,Be as ROW_SAVE_STATES,hr as SCROLL_EDGE_SELECTOR,_r as SELECT_ALL_LABEL,U as SELECT_CELL_CLASS,Wt as SELECT_KEY,vr as SELECT_ROW_LABEL,q as SERVER_ACTION_TEXT,qt as SHORTCUTS_OFF_ATTRIBUTE,Vt as SHORTCUT_EVENT,Lt as SHORTCUT_SCOPE_ATTRIBUTE,Gt as SHORTCUT_TEXT,me as STATUS_TONES,cr as THEME_BOOT_SCRIPT_BODY,$n as THEME_CHANGE_EVENT,Kn as THEME_EFFECTS,ar as THEME_EFFECT_DURATION,lr as THEME_LIVE_NAME,Jn as THEME_MODES,nr as THEME_SWITCHING_CLASS,X as UNSAVED_TEXT,Ie as VIRTUAL_OVERSCAN,hn as WHATS_NEW_READ_EVENT,v as WUI_HEADERS,A as WuiAutocomplete,j as WuiCarousel,_e as WuiCodeBlock,N as WuiCommandPalette,P as WuiCommentThread,F as WuiConsentBanner,I as WuiContextMenu,R as WuiCountrySelect,Ke as WuiDataTable,Qe as WuiDatePicker,$e as WuiDateRange,et as WuiDock,tt as WuiDrawer,nt as WuiHoverCard,rt as WuiImageCrop,at as WuiInlineEdit,w as WuiKanban,lt as WuiLightbox,ft as WuiMentionInput,bt as WuiMenubar,xt as WuiMultiSelect,St as WuiNavigationMenu,jt as WuiNotificationCenter,Mt as WuiOnboardingChecklist,Nt as WuiOtp,Pt as WuiOverflow,Ft as WuiPhone,It as WuiRating,Zt as WuiRecordPager,en as WuiRelativeTime,tn as WuiResizable,nn as WuiRollingNumber,L as WuiSelect,rn as WuiShortcuts,an as WuiShowMore,on as WuiSlider,sn as WuiSortable,k as WuiStatusIcon,cn as WuiTagInput,ln as WuiTimePicker,dn as WuiTour,fn as WuiTree,pn as WuiTruncate,mn as WuiWhatsNew,gn as WuiWizard,_n as WuiWizardStep,gr as acceptLabel,Tr as addRowSelectCells,Er as addSelectColumn,dr as applyTheme,Jt as ariaKeyShortcuts,tr as attachInputMask,qn as attachScrollEdges,kr as attachShiftRange,Wn as avatarCropOptions,Fn as avatarUnreadableMessage,pr as buildPasswordRules,Fe as clampColumnWidth,g as classifyStatus,$r as confirmAction,ve as copyTextToClipboard,un as createLocalSeenStore,ee as createRequestQueue,br as createSelectHeaderCell,xr as createSelectRowCell,Sr as createSelectSpacerCell,Ki as defineWeborityElements,Rn as evaluatePassword,n as formatCompact,s as formatCurrency,h as formatDate,r as formatDuration,yn as formatMasked,i as formatNumber,d as formatPercent,Qt as formatRelativeTime,c as formatValue,Lr as getServerTable,Ti as getShell,he as glyphSvg,ke as groupCount,Je as groupItems,Ot as groupNotificationsByDay,Ze as identityCell,Rt as inShortcutScope,er as initInputMasks,fe as initRemoteModals,mr as initScrollEdges,pi as initServerActions,Ir as initServerTables,wi as initShellParts,Wi as initUnsavedChanges,it as inlineEditText,vn as isHeicFile,bn as isImageFile,Bn as isImageOnlyAccept,jn as isMaskPattern,En as isPdfFile,Ht as isTypingTarget,ie as kanbanCardLabel,de as kanbanOverflow,T as kanbanStorageKey,E as kanbanSummaryFormat,ce as kanbanVisibleLimit,pe as loadRemoteModal,Mn as maskedPostValue,M as matchSegments,zn as matchesAccept,je as measureRows,ht as mentionLabel,_t as mentionTextFromValue,dt as mentionValueFromText,pt as mentionedIds,Xt as moveFocus,Yn as nextTheme,Tt as notificationCountText,Ct as notificationDayHeading,Dt as notificationTime,kt as notificationTriggerLabel,wt as notificationUnreadAnnouncement,yt as parseMentionValue,Cn as passwordSatisfies,Xe as pinAtValue,De as pinClasses,B as pinOffsetVar,Ye as planPins,Oe as playRowMoves,Pn as postedMasked,wn as rawMasked,Ce as readColumnWidths,x as readCsrf,ae as readKanbanCollapsed,Xn as readStoredTheme,$t as relativeTimeTitle,Gi as resetUnsavedChanges,Dn as resolveMask,or as resolveTheme,V as rowLabel,Ee as rowOrderChanged,zt as runShortcut,Re as saveOutcomeText,z as setRowSaveState,Le as settledRows,Bt as shortcutKey,Kt as shortcutName,Ut as shortcutsOff,rr as storeTheme,ne as sumKanbanValues,Dr as syncSelectAll,Qn as themeBootScript,Zn as themeKeyframes,a as toInstant,Gn as transitionTheme,Vn as validateFile,we as virtualRange,fr as watchSystemTheme,ge as withTrustedLabel,Te as writeColumnWidths,D as writeKanbanCollapsed,_ as wuiFetch};
1
+ import{n as e}from"./elementBase-BlsR4tqa.js";import{a as t,c as n,d as r,f as i,h as a,i as o,l as s,m as c,n as l,o as u,p as d,r as f,s as p,t as m,u as h}from"./formatters-BAE__8ye.js";import{a as g,c as _,i as v,n as y,o as ee,r as b,s as x,t as S}from"./wuiHttp-BC8co934.js";import{_ as C,a as te,c as w,d as T,f as E,g as D,h as ne,i as re,l as ie,m as ae,n as oe,o as se,p as ce,r as O,s as le,t as ue,u as de,v as fe,y as pe}from"./kanban-29Pv2HU9.js";import{n as k,t as me}from"./statusIcons-2X4iGkKL.js";import{t as he}from"./iconGlyphs.g-CUm_mfze.js";import{o as ge}from"./optionLabel-BBaur8Bs.js";import{t as A}from"./WuiAutocomplete-B2SKLPOV.js";import{t as j}from"./WuiCarousel-C33Z8FBt.js";import{t as _e}from"./WuiCodeBlock-BcLJhLBJ.js";import{n as ve,t as ye}from"./copyText-DM5HhXjf.js";import{t as M}from"./textMatch-wdY7XLIc.js";import{t as N}from"./WuiCommandPalette-CcmFOWNc.js";import{i as P,n as be,r as xe,t as Se}from"./WuiCommentThread-Bww7P_cu.js";import{t as F}from"./WuiConsentBanner-BM1kjiHj.js";import{t as I}from"./WuiContextMenu-CBy0O4HT.js";import{t as L}from"./WuiSelect-U5Owq3wT.js";import{t as R}from"./WuiCountrySelect-D-K0dm77.js";import{A as z,C as B,D as V,E as Ce,M as we,N as Te,O as Ee,S as De,T as Oe,_ as ke,a as Ae,b as je,c as Me,d as Ne,f as Pe,g as Fe,h as Ie,i as H,j as Le,k as Re,l as ze,m as Be,n as Ve,o as He,p as Ue,r as We,s as Ge,t as Ke,u as qe,v as Je,w as Ye,x as Xe,y as Ze}from"./WuiDataTable-tR8Lp4XZ.js";import{t as Qe}from"./WuiDatePicker-B4E_NvAh.js";import{t as $e}from"./WuiDateRange-BuVA1MK5.js";import{t as et}from"./WuiDock-BD2HgMmP.js";import{t as tt}from"./WuiDrawer-D6K2eRlW.js";import{t as nt}from"./WuiHoverCard-BsYAwmbA.js";import{t as rt}from"./WuiImageCrop-Cr3D2iPo.js";import{a as it,i as at,n as ot,r as st,t as ct}from"./WuiInlineEdit-CI-3C7yP.js";import{t as lt}from"./WuiLightbox-hluak_-q.js";import{a as ut,c as dt,i as ft,l as pt,n as mt,o as ht,r as gt,s as _t,t as vt,u as yt}from"./WuiMentionInput-DW7N1Zne.js";import{t as bt}from"./WuiMenubar-D2tb_3eU.js";import{t as xt}from"./WuiMultiSelect-BGZOG93I.js";import{t as St}from"./WuiNavigationMenu-BsLnvz2Y.js";import{a as Ct,c as wt,i as Tt,n as Et,o as Dt,r as Ot,s as kt,t as At}from"./notificationDays-pYmoU0g6.js";import{t as jt}from"./WuiNotificationCenter-BZwVMUSV.js";import{t as Mt}from"./WuiOnboardingChecklist-s2DG6PZ0.js";import{t as Nt}from"./WuiOtp-BbO_75RB.js";import{t as Pt}from"./WuiOverflow-CB3j6q6n.js";import{t as Ft}from"./WuiPhone-Dbb_9J8q.js";import{t as It}from"./WuiRating-BzeW6iDC.js";import{a as Lt,c as Rt,d as zt,f as Bt,i as Vt,l as Ht,m as Ut,n as Wt,o as Gt,p as Kt,r as qt,s as Jt,t as Yt,u as Xt}from"./shortcutKeys-BQiDpsTJ.js";import{t as Zt}from"./WuiRecordPager-yXv4g2ZR.js";import{n as Qt,r as $t,t as en}from"./WuiRelativeTime-Cfc8TMd8.js";import{t as tn}from"./WuiResizable-m2Ypa-zD.js";import{t as nn}from"./WuiRollingNumber-DBgi_3l7.js";import{t as rn}from"./WuiShortcuts-CMibF1XM.js";import{t as an}from"./WuiShowMore-Bu7IQcXS.js";import{t as on}from"./WuiSlider-Br6V2amU.js";import{t as sn}from"./WuiSortable-Bd7Fz5Ox.js";import{t as cn}from"./WuiTagInput-DzEZooIn.js";import{t as ln}from"./WuiTimePicker-UjvUcDrS.js";import{n as un,t as dn}from"./WuiTour-DW3kPaR9.js";import{t as fn}from"./WuiTree-SA0QU9AF.js";import{t as pn}from"./WuiTruncate-BLl2u3b-.js";import{n as mn,t as hn}from"./WuiWhatsNew-BO78119Z.js";import{n as gn,t as _n}from"./WuiWizardStep-DIHxrXn9.js";import{$ as vn,A as yn,B as bn,C as xn,D as Sn,E as Cn,F as wn,G as Tn,H as En,I as Dn,J as On,K as kn,L as An,M as jn,N as Mn,O as Nn,P as Pn,Q as Fn,R as In,S as Ln,T as Rn,U as zn,V as Bn,W as Vn,X as Hn,Y as Un,Z as Wn,_ as Gn,a as Kn,b as qn,c as Jn,d as Yn,f as Xn,g as Zn,h as Qn,i as $n,j as er,k as tr,l as nr,m as rr,n as ir,o as ar,p as or,q as sr,r as cr,s as lr,t as ur,u as dr,v as fr,w as pr,x as mr,y as hr,z as gr}from"./themeTransition-DO95LPdz.js";var _r=`Select all rows`,vr=`Select row`,U=`wui-select-cell`,yr=(e,t)=>{let n=e.createElement(`input`);return n.type=`checkbox`,n.className=`wui-check`,n.setAttribute(`aria-label`,t),n};function br(e=document){let t=e.createElement(`th`);return t.className=U,t.appendChild(yr(e,_r)),t}function xr(e=document){let t=e.createElement(`td`);return t.className=U,t.appendChild(yr(e,vr)),t}function Sr(e=document){let t=e.createElement(`td`);return t.className=U,t}var Cr=e=>e.firstElementChild?.classList.contains(U),wr=e=>e.matches(`.wui-group-row, .wui-virtual-spacer`);function Tr(e){for(let t of e)!Cr(t)&&!wr(t)&&t.insertBefore(xr(t.ownerDocument),t.firstChild)}function Er(e){let t=e.querySelector(`thead tr`);if(!t)return null;Cr(t)||t.insertBefore(br(e.ownerDocument),t.firstChild),Tr(e.querySelectorAll(`tbody tr`));for(let t of e.querySelectorAll(`tfoot tr`))Cr(t)||t.insertBefore(Sr(e.ownerDocument),t.firstChild);return t.querySelector(`.${U} .wui-check`)}function Dr(e){let t=e.querySelector(`thead .${U} .wui-check`),n=[...e.querySelectorAll(`tbody tr .wui-check`)],r=n.length,i=n.filter(e=>e.checked).length;t&&(t.checked=r>0&&i===r,t.indeterminate=i>0&&i<r);for(let t of e.querySelectorAll(`tbody tr`))t.classList.toggle(`is-selected`,!!t.querySelector(`.wui-check`)?.checked);return{selected:i,total:r}}var Or=`tbody .${U} .wui-check`;function kr(e,t){let n=null,r=e=>e instanceof Element&&e.matches(`.wui-select-cell .wui-check`)&&!!e.closest(`tbody`);e.addEventListener(`mousedown`,e=>{e.shiftKey&&r(e.target)&&e.preventDefault()}),e.addEventListener(`click`,i=>{let a=i.target;if(r(a)){if(i.shiftKey&&n?.isConnected&&n!==a){let r=[...e.querySelectorAll(Or)],i=r.indexOf(n),o=r.indexOf(a);if(i>=0&&o>=0){let e=[];for(let t of r.slice(Math.min(i,o),Math.max(i,o)+1))t===a||t.checked===a.checked||(t.checked=a.checked,e.push(t));e.length&&t?.(e,a.checked)}}n=a}})}var Ar=Object.freeze([`page`,`pageSize`,`sortBy`,`sortOrder`]),W=`search`,G=Object.freeze({loading:`Loading rows`,error:`These rows did not load. Try again.`,network:`The connection dropped before the rows loaded. Check it and try again.`,forbidden:`You do not have access to these rows.`,retry:`Retry`,actionFailed:`That did not work. Try again.`,actionForbidden:`You do not have permission to do that.`,empty:`No rows`}),jr=5,Mr=new WeakMap,Nr=(e,t)=>{let n=Number(e);return Number.isInteger(n)?n:t},Pr=e=>({total:Nr(e.dataset.total,0),page:Nr(e.dataset.page,1),pageSize:Nr(e.dataset.pageSize,0),sortBy:e.dataset.sortBy||``,sortOrder:e.dataset.sortOrder===`desc`?`desc`:`asc`}),Fr=(e,t)=>{e&&window.WUI?.toast?.(e,{variant:t})};function Ir(e=document){let t=e.querySelectorAll?[...e.querySelectorAll(`[data-wui-server]`)]:[];e instanceof Element&&e.matches(`[data-wui-server]`)&&t.unshift(e);for(let e of t)Mr.has(e)||Mr.set(e,Rr(e))}function Lr(e){let t=e instanceof Element?e.closest(`[data-wui-server]`):null;return t&&Mr.get(t)||null}function Rr(e){let t=e.querySelector(`.table-wrap`),n=t?.querySelector(`:scope > table`),r=e.dataset.src;if(!n||!r)throw Error(`A server-paged table needs data-src and a .table-wrap > table: render it with <app-data-table src>.`);let i=t.querySelector(`:scope > [data-wui-table-state]`),a=e.querySelector(`[data-wui-table-pager]`),o=e.querySelector(`[data-wui-table-status]`),s={urlState:e.dataset.urlState!==`false`,refreshOnSuccess:e.dataset.refreshOnSuccess!==`false`,filtersForm:e.dataset.filtersForm||null,filtersRegion:e.dataset.filtersRegion||null,searchInput:e.dataset.searchInput||null,loadingText:e.dataset.loadingText||G.loading,errorText:e.dataset.errorText||G.error},c=new URL(r,window.location.href),l=new Set(c.searchParams.keys()),u=n.hasAttribute(`data-app-datatable-selectable`),d=new Set,f=!1,p=ee(),m=new AbortController,h={signal:m.signal},g=n.querySelector(`:scope > tbody[data-wui-rows]`);if(!g)throw Error(`A server-paged table needs its rows in <app-table-rows> (tbody[data-wui-rows]).`);let v=Pr(g),y=null,b=null,x=e=>{let t=new URLSearchParams;for(let[n,r]of new URLSearchParams(e))l.has(n)||t.append(n,r);return t},S=e=>x(new URL(e,window.location.href).search),C=e=>{let t=e.toString();return`${window.location.pathname}${t?`?${t}`:``}${window.location.hash}`},te=e=>{let t=new URL(c.href);for(let[n,r]of e)l.has(n)||t.searchParams.append(n,r);return t.origin===window.location.origin?`${t.pathname}${t.search}`:t.href},w=(e,t)=>{let n=new URLSearchParams(e);return n.has(`page`)&&n.set(`page`,String(t.page)),n.has(`pageSize`)&&n.set(`pageSize`,String(t.pageSize)),n.has(`sortBy`)?t.sortBy?(n.set(`sortBy`,t.sortBy),n.set(`sortOrder`,t.sortOrder)):(n.delete(`sortBy`),n.delete(`sortOrder`)):n.delete(`sortOrder`),n},T=w(s.urlState?x(window.location.search):new URLSearchParams,v);s.urlState&&C(T)!==`${window.location.pathname}${window.location.search}${window.location.hash}`&&window.history.replaceState(window.history.state,``,C(T));let E=(e,n)=>t.dispatchEvent(new CustomEvent(e,{bubbles:!0,detail:n})),D=e=>{o&&(o.textContent=e)},ne=e=>{if(e.total===0)return G.empty;let t=e.pageSize>0?Math.max(1,Math.ceil(e.total/e.pageSize)):1;return`Page ${e.page} of ${t}, ${e.total} ${e.total===1?`row`:`rows`}`},re=()=>[...n.querySelectorAll(`:scope > thead > tr:first-child > th`)],ie=e=>{if(u&&[...e.querySelectorAll(`:scope > tr`)].some(e=>!e.dataset.rowKey))throw Error(`A selectable server-paged table needs data-row-key on every row, so a selection can span pages.`)},ae=t=>{let n=e.dataset.activeRowKey;if(n!==void 0)for(let e of t){let t=e.classList.contains(`wui-row-active`),r=n!==``&&e.dataset.rowKey===n;e.classList.toggle(`wui-row-active`,r),r?e.setAttribute(`aria-current`,`true`):t&&e.removeAttribute(`aria-current`)}},oe=e=>{if(u){Tr(e);for(let t of e){let e=t.querySelector(`.${U} .wui-check`);e&&(f&&d.add(t.dataset.rowKey),e.checked=d.has(t.dataset.rowKey))}Dr(n)}ae(e);let t=re();if(n.classList.contains(`wui-table-stack`))for(let n of e)[...n.cells].forEach((e,n)=>{let r=t[n]?.textContent.trim();r&&!e.hasAttribute(`data-label`)&&e.setAttribute(`data-label`,r)});t.forEach((t,n)=>{if(t.classList.contains(`wui-col-hidden`))for(let t of e)t.cells[n]?.classList.add(`wui-col-hidden`)})},se=e=>oe([...e.querySelectorAll(`:scope > tr`)]),ce=e=>{for(let t of e.querySelectorAll(`:scope > template[data-wui-pager], :scope > template[data-wui-empty], :scope > template[data-wui-filters]`))t.remove()},O=e=>e?.dispatchEvent(new CustomEvent(`wui:teardown`,{bubbles:!0})),le=(e,t)=>{if(!i)return;let n=e.querySelector(`:scope > template[data-wui-empty]`);O(i),t.total===0&&n?(i.replaceChildren(n.content.cloneNode(!0)),i.hidden=!1):(i.replaceChildren(),i.hidden=!0)},ue=e=>{let r=Pr(e),i=r.sortBy!==v.sortBy||r.sortOrder!==v.sortOrder?je(g.rows):null;if(a){let t=e.querySelector(`:scope > template[data-wui-pager]`);O(a),a.replaceChildren(...t?[t.content.cloneNode(!0)]:[]),a.hidden=!1}le(e,r);let o=e.querySelector(`:scope > template[data-wui-filters]`),c=s.filtersRegion&&o?document.querySelector(s.filtersRegion):null;c&&(O(c),c.replaceChildren(o.content.cloneNode(!0))),ce(e),O(g),n.replaceChild(e,g),g=e;let l=f&&r.total!==v.total;v=r,l&&(f=!1),t.removeAttribute(`data-wui-table-error`),se(e),ve(),Oe(e.rows,i),l&&M()},de=e=>{let t=document.createElement(`template`);t.innerHTML=`<table>${e}</table>`;let n=t.content.querySelector(`tbody[data-wui-rows]`);return n&&ie(n),n?document.importNode(n,!0):null},fe=e=>{let t=document.createElement(`tr`);for(let n=0;n<e;n++){let e=document.createElement(`td`),r=document.createElement(`span`);r.className=`skeleton`,r.setAttribute(`aria-hidden`,`true`),r.style.cssText=`display:block;width:${n===0?70:50}%;height:12px;border-radius:6px`,e.append(r),t.append(e)}return t},pe=()=>{if(g.querySelector(`:scope > tr:not([data-wui-skeleton])`))return;let e=Math.max(1,re().length);g.replaceChildren(...Array.from({length:jr},()=>{let t=fe(e);return t.setAttribute(`data-wui-skeleton`,``),t})),t.removeAttribute(`data-wui-table-error`),i&&(i.hidden=!0)},k=e=>{e?(t.setAttribute(`aria-busy`,`true`),pe()):t.removeAttribute(`aria-busy`)},me=e=>e===`forbidden`?G.forbidden:e===`network`?G.network:s.errorText,ge=e=>{let n=me(e);if(t.setAttribute(`data-wui-table-error`,e),a&&(a.hidden=!0),i){let t=document.createElement(`div`);t.className=`tbl-empty wui-table-error`,t.setAttribute(`role`,`alert`);let r=document.createElement(`span`);r.className=`tbl-empty-icon`,r.innerHTML=he(e===`forbidden`?`lock`:`alert-circle`,{size:24});let a=document.createElement(`div`);a.className=`tbl-empty-title`,a.textContent=n;let o=document.createElement(`div`);o.className=`tbl-empty-action`;let s=document.createElement(`button`);s.type=`button`,s.className=`btn btn-outline-primary btn-sm`,s.setAttribute(`data-wui-table-retry`,``),s.textContent=G.retry,o.append(s),t.append(r,a,o),O(i),i.replaceChildren(t),i.hidden=!1}D(n)},A=async(e,t=`none`)=>{let n=new URLSearchParams(e);y={query:n,mode:t},k(!0),D(s.loadingText),E(`wui:table:loading`,{query:n.toString()});let r=await p.run(te(n));if(r.kind===`aborted`||r.kind===`stale`||r.kind===`session`)return r;k(!1);let i=null,a=r.ok?null:r.kind;if(r.ok){try{i=de(r.html)}catch(e){console.error(e)}i||(a=`server`)}return a?(ge(a),E(`wui:table:error`,{status:r.status,kind:a,message:me(a)}),r):(ue(i),T=w(n,v),s.urlState&&t===`push`?window.history.pushState(window.history.state,``,C(T)):s.urlState&&t===`replace`&&window.history.replaceState(window.history.state,``,C(T)),D(ne(v)),window.WUI?.refresh?.(),E(`wui:table:loaded`,{...v,query:T.toString()}),r)},j=e=>(e.delete(`page`),e),_e=()=>[...n.querySelectorAll(`:scope > thead th[data-sort-key]`)],ve=()=>{for(let e of _e()){let t=e.dataset.sortKey===v.sortBy;e.setAttribute(`aria-sort`,t?v.sortOrder===`desc`?`descending`:`ascending`:`none`)}};for(let e of _e())if(e.classList.add(`sortable`),e.tabIndex=0,!e.querySelector(`.sort-icon`)){let t=e.classList.contains(`num`)||e.classList.contains(`text-end`),n=document.createElement(`span`);n.className=t?`sort-icon wui-sort-lead`:`sort-icon`,n.innerHTML=he(`chevrons-up-down`,{size:14}),t?e.prepend(n):e.append(n)}let ye=e=>{let t=j(new URLSearchParams(T)),n=v.sortBy===e&&v.sortOrder===`asc`?`desc`:`asc`;return t.set(`sortBy`,e),t.set(`sortOrder`,n),A(t,`push`)};n.addEventListener(`click`,e=>{let t=e.target.closest(`th[data-sort-key]`);t&&n.tHead?.contains(t)&&ye(t.dataset.sortKey)}),n.addEventListener(`keydown`,e=>{if(e.key!==`Enter`&&e.key!==` `)return;let t=e.target.closest?.(`th[data-sort-key]`);!t||!n.tHead?.contains(t)||(e.preventDefault(),ye(t.dataset.sortKey))});let M=()=>{Dr(n);let e=f?{selected:v.total,total:v.total,allMatching:f}:{selected:d.size,total:v.total};n.dispatchEvent(new CustomEvent(`selectionchange`,{bubbles:!0,detail:e}))};u&&(kr(n,(e,t)=>{for(let n of e){let e=n.closest(`tr`)?.dataset.rowKey;e&&(t?d.add(e):d.delete(e))}t||(f=!1)}),n.addEventListener(`change`,e=>{let t=e.target;if(t.matches?.(`.wui-select-cell .wui-check`)){if(t.checked||(f=!1),n.tHead?.contains(t))for(let e of g.querySelectorAll(`:scope > tr`)){let n=e.querySelector(`.${U} .wui-check`);n&&(n.checked=t.checked,t.checked?d.add(e.dataset.rowKey):d.delete(e.dataset.rowKey))}else{let e=t.closest(`tr`)?.dataset.rowKey;if(!e)return;t.checked?d.add(e):d.delete(e)}M()}})),a&&(a.addEventListener(`click`,e=>{let t=e.target.closest(`a[href]`);!t||e.defaultPrevented||e.button!==0||e.ctrlKey||e.metaKey||e.shiftKey||e.altKey||(e.preventDefault(),A(S(t.getAttribute(`href`)),`push`))}),a.addEventListener(`change`,e=>{!e.target.classList?.contains(`tpg-select`)||!e.target.value||(e.stopPropagation(),A(S(e.target.value),`push`))}));let N=()=>{if(!s.searchInput)return null;let e=document.querySelector(s.searchInput);return e&&(e.matches(`input, textarea`)?e:e.querySelector(`input`))},P=()=>e.isConnected?!0:(m.abort(),clearTimeout(b),!1),be=(e,t)=>{let n=t?.name?new FormData(e,t):new FormData(e),r=new Set([...e.querySelectorAll(`[name]`)].map(e=>e.getAttribute(`name`))),i=new URLSearchParams;for(let[e,t]of T)e!==`page`&&(Ar.includes(e)||!r.has(e))&&i.append(e,t);for(let[e,t]of n)typeof t!=`string`||t===``||Ar.includes(e)||l.has(e)||i.append(e,t);let a=N();if(a){i.delete(W);let e=a.value.trim();e&&i.set(W,e)}return A(i,`push`)},xe=e=>s.filtersForm&&e.closest?.(s.filtersForm)||s.filtersRegion&&e.closest?.(s.filtersRegion)||null;document.addEventListener(`submit`,e=>{!P()||!s.filtersForm||!(e.target instanceof HTMLFormElement)||!e.target.matches(s.filtersForm)||(e.preventDefault(),be(e.target,e.submitter))},h),document.addEventListener(`change`,e=>{if(!P()||!s.filtersForm)return;let t=e.target.closest?.(s.filtersForm);!t||e.target===N()||be(t)},h);let Se=(e,t)=>{if(!e)return;let n=e=>t.get(e)??``;for(let r of e.querySelectorAll(`input[name]:not([type=hidden])`))if(r.type===`checkbox`)r.checked=t.getAll(r.name).includes(r.value);else if(r.type===`radio`){let e=n(r.name)===r.value;if(r.checked===e)continue;r.checked=e,e&&r.dispatchEvent(new Event(`change`))}else r.value!==n(r.name)&&(r.value=n(r.name),r.dispatchEvent(new Event(`input`,{bubbles:!0})));for(let r of e.querySelectorAll(`select[name]`))if(!r.multiple)r.value=n(r.name);else for(let e of r.options)e.selected=t.getAll(r.name).includes(e.value);for(let t of e.querySelectorAll(`wui-select[name]`))t.value=n(t.getAttribute(`name`));for(let n of e.querySelectorAll(`wui-multiselect[name]`))n.values=t.getAll(n.getAttribute(`name`));for(let t of e.querySelectorAll(`wui-date-range`)){let e=t.getAttribute(`start-name`)||t.getAttribute(`name`),r=t.getAttribute(`end-name`);t.value={start:e?n(e):``,end:r?n(r):``}}};document.addEventListener(`click`,e=>{if(!P())return;let t=e.target.closest?.(`a[href]`);if(!t||!xe(t)||e.defaultPrevented||e.button!==0||e.ctrlKey||e.metaKey||e.shiftKey||e.altKey)return;let n=new URL(t.getAttribute(`href`),window.location.href);if(n.origin!==window.location.origin||n.pathname!==window.location.pathname)return;e.preventDefault();let r=j(S(n.href));Se(t.closest(`form`),r),A(r,`push`)},h),document.addEventListener(`input`,e=>{if(!P())return;let t=N();!t||e.target!==t||(clearTimeout(b),b=setTimeout(()=>{let e=j(new URLSearchParams(T)),n=t.value.trim();n?e.set(W,n):e.delete(W),e.toString()!==T.toString()&&A(e,`replace`)},300))},h),s.urlState&&window.addEventListener(`popstate`,()=>{if(!P())return;let e=x(window.location.search),t=N();t&&(t.value=e.get(`search`)??``),A(e,`none`)},h),document.addEventListener(`wui:modal:success`,()=>{P()&&s.refreshOnSuccess&&A(T,`none`)},h),i?.addEventListener(`click`,e=>{e.target.closest(`[data-wui-table-retry]`)&&y&&A(y.query,y.mode)});let F=e=>[...g.rows].find(t=>t.dataset.rowKey===e)??null,I=e=>{if(!e?.trim())return null;let t=document.createElement(`template`);if(t.innerHTML=`<table><tbody>${e}</tbody></table>`,t.content.querySelector(`tbody[data-wui-rows]`))return null;let n=[...t.content.querySelectorAll(`table > tbody > tr[data-row-key]`)];return n.length?n.map(e=>document.importNode(e,!0)):null},L=(e,t,n)=>{let r=n?e[0]:e.find(e=>e.dataset.rowKey===t.dataset.rowKey);if(!r)return null;let i=[];for(let n of e){let e=n===r?t:F(n.dataset.rowKey);e&&(O(e),e.replaceWith(n),i.push(n))}return oe(i),window.WUI?.refresh?.(),r},R=e=>e.message||(e.kind===`forbidden`?G.actionForbidden:G.actionFailed),B=e=>{e?.isConnected&&e.getAttribute(`data-wui-save-state`)===`saving`&&z(e,null)},Ce=e=>{if(e instanceof HTMLTableRowElement)return e;let t=document.createElement(`template`);t.innerHTML=`<table><tbody>${String(e)}</tbody></table>`;let n=t.content.querySelector(`table > tbody > tr`);if(!n)throw Error("saveRow's `row` is the row as it will read: a <tr> element or its HTML.");return document.importNode(n,!0)},we=async({url:e,method:n=`POST`,body:r,key:a,row:o}={})=>{if(!e)throw Error("saveRow needs `url`: the handler that saves the row.");let s=a==null,c=s?null:F(String(a));if(!s&&!c)throw Error(`saveRow found no row with data-row-key="${a}" on this page.`);let l=re().filter(e=>!e.classList.contains(U)).length,u=o?Ce(o):c??fe(Math.max(1,l));c&&u!==c?c.replaceWith(u):c||g.insertBefore(u,g.firstChild),u!==c&&oe([u]),i&&!t.hasAttribute(`data-wui-table-error`)&&(i.hidden=!0),z(u,`saving`);let d=V(u),f=await _(e,{method:n.toUpperCase(),body:r});if(f.kind===`session`)return!1;if(f.ok){let e=I(f.html),t=e&&u.isConnected?L(e,u,s):null;return t?D(H.saved(V(t)||d)):(await A(T,`none`),B(u)),Fr(f.message,f.toastVariant||`success`),E(`wui:table:saved`,{key:t?.dataset.rowKey??(s?null:String(a)),added:s,status:f.status}),!0}let p=R(f),m=u;return c&&u!==c&&u.isConnected?(u.replaceWith(c),m=c):s&&!o&&(u.remove(),m=null,i?.childElementCount&&!g.querySelector(`:scope > tr`)&&(i.hidden=!1)),m?.isConnected&&z(m,`error`,p),f.kind!==`aborted`&&Fr(p,`danger`),D(H.notSaved(d,p)),E(`wui:table:failed`,{key:s?null:String(a),added:s,status:f.status,kind:f.kind,message:p}),!1},Te=async e=>{let t=e.dataset.url;if(!t)throw Error(`A data-wui-row-action button needs data-url: the handler the action posts to.`);let n=e.closest(`tr`),r=n?.dataset.rowKey??null,i=e.dataset.wuiRowAction||``,a=n?V(n):``;e.disabled=!0,e.setAttribute(`aria-busy`,`true`),n&&z(n,`saving`);let o=await _(t,{method:(e.dataset.method||`post`).toUpperCase()});if(e.disabled=!1,e.removeAttribute(`aria-busy`),o.kind===`session`||o.kind===`aborted`){B(n);return}if(o.ok){Fr(o.message,o.toastVariant||`success`);let e=n?.isConnected?I(o.html):null,t=e?L(e,n,!1):null;t?D(H.saved(V(t)||a)):(await A(T,`none`),B(n))}else{let e=R(o);Fr(e,`danger`),n?.isConnected&&z(n,`error`,e),D(H.notSaved(a,e))}E(`wui:table:action`,{action:i,key:r,ok:o.ok,status:o.status})};return n.addEventListener(`click`,e=>{let t=e.target.closest(`[data-wui-row-action]`);!t||!g.contains(t)||t.disabled||(e.preventDefault(),Te(t))}),ie(g),ce(g),u&&Er(n),se(g),ve(),{el:e,reload:()=>A(T,`none`),query:()=>new URLSearchParams(T),setQuery:e=>{let t=new URLSearchParams(T);for(let[n,r]of Object.entries(e??{})){t.delete(n);for(let e of Array.isArray(r)?r:[r])e!=null&&e!==``&&t.append(n,String(e))}return(!e||!(`page`in e))&&t.delete(`page`),A(t,`push`)},saveRow:we,setActiveRow:t=>{e.dataset.activeRowKey=t==null?``:String(t),ae([...g.querySelectorAll(`:scope > tr`)])},selection:{keys:()=>[...d],count:()=>f?v.total:d.size,allMatching:()=>f,selectAllMatching:()=>{f=!0;for(let e of g.querySelectorAll(`:scope > tr`)){let t=e.querySelector(`.${U} .wui-check`);t&&(t.checked=!0),e.dataset.rowKey&&d.add(e.dataset.rowKey)}M()},clear:()=>{f=!1,d.clear();for(let e of g.querySelectorAll(`:scope > tr > .${U} .wui-check`))e.checked=!1;M()}}}}var K=`wuiConfirm`,zr=Object.freeze([`danger`]),Br=Object.freeze([`success`,`info`,`warning`,`danger`]),Vr=`wui.flash`,q=Object.freeze({confirmTitle:`Are you sure?`,confirmLabel:`Confirm`,cancelLabel:`Cancel`,failed:`That did not work. Try again.`,forbidden:`You do not have permission to do that.`,network:`Could not reach the server. Check your connection and try again.`}),Hr=new WeakSet,Ur=new WeakSet,J=null,Wr=null,Gr=!1,Kr=e=>{let t=document.createElement(`span`);return t.textContent=e??``,t.innerHTML},qr=(e,t)=>{e&&window.WUI?.toast?.(e,{variant:t})},Jr=()=>{let e=window.bootstrap?.Modal;if(!e)throw Error(`data-wui-confirm: Bootstrap's bundle (window.bootstrap) is not loaded on this page.`);return e};function Yr(){let e=document.getElementById(K);return e||(e=document.createElement(`div`),e.id=K,e.className=`modal fade wui-modal-shell`,e.tabIndex=-1,e.setAttribute(`aria-hidden`,`true`),e.setAttribute(`role`,`dialog`),e.setAttribute(`aria-modal`,`true`),e.style.setProperty(`--wui-modal-max-width`,`${C.md}px`),e.innerHTML=`<div class="modal-dialog modal-dialog-centered wui-rb-dialog"><div class="modal-content wui-modal wui-confirm"><div class="wui-modal-body"><div class="wui-confirm-content"><span class="wui-confirm-icon"><wui-status-icon tone="info" size="120"></wui-status-icon></span><h3 class="wui-confirm-title" tabindex="-1" data-autofocus></h3><p class="wui-confirm-msg"></p></div></div><div class="wui-modal-footer"><div class="wui-confirm-actions"><button type="button" class="btn btn-secondary" data-bs-dismiss="modal">${Kr(q.cancelLabel)}</button><button type="button" class="btn btn-primary" data-app-confirm></button></div></div></div></div>`,document.body.appendChild(e),e)}function Xr(e,t){let n=e.getAttribute(`data-wui-confirm-tone`);if(n!==null&&!zr.includes(n))throw TypeError(`data-wui-confirm-tone="${n}" is not supported. Use danger, or leave it off.`);Zr({title:e.getAttribute(`data-wui-confirm-title`),message:e.getAttribute(`data-wui-confirm`),label:e.getAttribute(`data-wui-confirm-label`),danger:n===`danger`},t)}function Zr({title:e,message:t,label:n,danger:r},i){let a=Jr(),o=Yr(),s=o.querySelector(`.wui-confirm-title`),c=o.querySelector(`[data-app-confirm]`);if(!s||!c)throw Error(`#${K} is not a confirm dialog with a confirm button. Render <app-confirm-dialog id="${K}"> without confirm-href, or leave the dialog to the library.`);let l=o.querySelector(`.wui-confirm-msg`);l||(l=document.createElement(`p`),l.className=`wui-confirm-msg`,s.after(l)),s.textContent=e||q.confirmTitle,l.textContent=t,c.textContent=n||q.confirmLabel,c.classList.toggle(`btn-danger`,r),c.classList.toggle(`btn-primary`,!r),o.querySelector(`wui-status-icon`)?.setAttribute(`tone`,r?`delete`:`info`),o.setAttribute(`aria-label`,s.textContent),Wr=i,Gr=!1,a.getOrCreateInstance(o).show()}var Qr=(e,t)=>{J=e;try{t()}finally{J=null}};function $r(e,{title:t,message:n,label:r,tone:i},a){if(i!=null&&!zr.includes(i))throw TypeError(`confirmAction: tone "${i}" is not supported. Use danger, or leave it off.`);fi(e.ownerDocument),Zr({title:t,message:n,label:r,danger:i===`danger`},()=>Qr(e,a))}var ei=e=>e.disabled===!0||e.getAttribute(`aria-disabled`)===`true`;function ti(e){let t=e.target.closest?.(`[data-wui-confirm]:not(form)`);!t||t===J||ei(t)||(e.preventDefault(),e.stopImmediatePropagation(),Xr(t,()=>Qr(t,()=>t.click())))}function ni(e){let t=e.target;if(!(t instanceof HTMLFormElement)||!t.hasAttribute(`data-wui-confirm`)||t===J||e.submitter&&e.submitter===J)return;e.preventDefault(),e.stopImmediatePropagation();let n=e.submitter?.form===t?e.submitter:void 0;Xr(t,()=>Qr(t,()=>t.requestSubmit(n)))}function ri(e){let t=e.target.closest?.(`#${K} [data-app-confirm]`);!t||t.disabled||!Wr||(Gr=!0,Jr().getOrCreateInstance(t.closest(`#${K}`)).hide())}function ii(e){if(e.target.id!==`wuiConfirm`)return;let t=Gr?Wr:null;Wr=null,Gr=!1,t?.()}var ai=(e,t)=>{e&&window.sessionStorage.setItem(Vr,JSON.stringify({message:e,variant:t}))},oi=e=>e===`forbidden`?q.forbidden:e===`network`?q.network:q.failed;function si(){for(let e of document.querySelectorAll(`[data-wui-server]`))e.dataset.refreshOnSuccess!==`false`&&Lr(e)?.reload()}async function ci(e){let t=e.getAttribute(`data-wui-post`);if(!t)throw Error(`A data-wui-post button needs the URL the action posts to.`);let n=e.getAttribute(`data-wui-post-reload`);if(n!==null&&n!==`page`)throw TypeError(`data-wui-post-reload="${n}" is not supported. Use page, or leave it off to reload the server tables.`);e.disabled=!0,e.setAttribute(`aria-busy`,`true`);let r=await _(t,{method:`POST`});if(r.kind===`session`||r.kind===`aborted`)return;let i=r.toastVariant||`success`;if(r.ok&&(r.redirect||n===`page`)){ai(r.message,i),r.redirect?window.location.assign(r.redirect):window.location.reload();return}if(e.disabled=!1,e.removeAttribute(`aria-busy`),r.ok){qr(r.message,i),si();return}qr(r.message||oi(r.kind),`danger`)}function li(e){let t=e.target.closest?.(`[data-wui-post]`);t&&(e.preventDefault(),!(ei(t)||t.getAttribute(`aria-busy`)===`true`)&&ci(t).catch(e=>console.error(e)))}function ui(){let e=window.sessionStorage.getItem(Vr);if(!e)return;window.sessionStorage.removeItem(Vr);let{message:t,variant:n}=JSON.parse(e);qr(t,n)}function di(e){let t=e.querySelectorAll?[...e.querySelectorAll(`[data-wui-flash]`)]:[];e instanceof Element&&e.matches(`[data-wui-flash]`)&&t.unshift(e);for(let e of t){let t=e.getAttribute(`data-wui-flash-variant`)||`success`;if(!Br.includes(t))throw TypeError(`data-wui-flash-variant="${t}" is not supported. Use ${Br.join(`, `)}.`);let n=e.getAttribute(`data-wui-flash`)||e.textContent.trim();e.remove(),qr(n,t)}}function fi(e){Ur.has(e)||(Ur.add(e),e.addEventListener(`click`,ri),e.addEventListener(`hidden.bs.modal`,ii))}function pi(e=document){let t=e.ownerDocument||e;Hr.has(t)||(Hr.add(t),t.addEventListener(`click`,ti,!0),t.addEventListener(`submit`,ni,!0),fi(t),t.addEventListener(`click`,li),ui()),di(e)}var mi=31536e3,Y=new WeakMap,hi=e=>e>99?`99+`:String(e);function gi(e,t,n=document){n.cookie=`${e}=${t?`1`:`0`}; Path=/; Max-Age=${mi}; SameSite=Lax`}var _i=e=>{let t=document.createElement(`template`);return t.innerHTML=e,t.content},vi=(e,t)=>{let n=document.createElement(`div`);return n.className=e,n.textContent=t,n};function yi(e,t){let n=e.querySelector(`.wui-bell-trigger`),r=e.querySelector(`.wui-bell-count`),i=e.querySelector(`[data-wui-bell-live]`),a=e.querySelector(`[data-wui-bell-list]`),o=e.querySelector(`.wui-bell-menu`),{src:s,readAction:c}=e.dataset,l=e.dataset.label||`Notifications`,u=e.dataset.emptyText||`You are all caught up.`,d=Number(e.dataset.pollSeconds??60),f=ee(),p=Number(e.dataset.unread)||0,m=(t,a=!0)=>{let o=Math.max(0,Number(t)||0),s=o!==p;p=o,e.dataset.unread=String(o),r&&(r.textContent=hi(o),r.hidden=o===0),n?.setAttribute(`aria-label`,o===0?l:`${l}, ${hi(o)} unread`),a&&s&&i&&(i.textContent=o===0?`No unread notifications`:`${hi(o)} unread notifications`)},h=()=>o?.classList.contains(`show`)??!1,g=()=>{let e=vi(`wui-bell-state`,`Could not load notifications. `),t=document.createElement(`button`);t.type=`button`,t.className=`btn btn-link btn-sm`,t.dataset.wuiBellRetry=``,t.textContent=`Retry`,e.append(t),a.replaceChildren(e)},v=async t=>{t&&(a.setAttribute(`aria-busy`,`true`),a.querySelector(`.wui-bell-item`)||a.replaceChildren(vi(`wui-bell-state`,`Loading…`)));let n=await f.run(s);if(n.kind===`aborted`||n.kind===`stale`||n.kind===`session`)return;if(a.removeAttribute(`aria-busy`),!n.ok){t&&g();return}let r=_i(n.html),i=r.querySelector(`[data-wui-unread]`),o=i?Number(i.getAttribute(`data-wui-unread`)):p;m(o),(t||h())&&(r.querySelector(`.wui-bell-item`)?a.replaceChildren(r):a.replaceChildren(vi(`wui-bell-state`,u))),e.dispatchEvent(new CustomEvent(`wui:notifications:loaded`,{bubbles:!0,detail:{unread:o}}))};e.addEventListener(`show.bs.dropdown`,()=>v(!0)),e.addEventListener(`click`,async e=>{if(e.target.closest(`[data-wui-bell-retry]`)){v(!0);return}let t=e.target.closest(`[data-wui-bell-read]`);if(!t||!c)return;t.disabled=!0;let n=await _(c,{method:`POST`});t.disabled=!1,n.ok&&(m(0),v(!0))});let y=null,b=()=>{d>0&&y===null&&(y=setInterval(()=>v(h()),d*1e3))},x=()=>{y!==null&&clearInterval(y),y=null},S=()=>{document.hidden?x():(v(h()),b())};return d>0&&(document.addEventListener(`visibilitychange`,S),document.hidden||b()),t.push(()=>{x(),f.abort(),document.removeEventListener(`visibilitychange`,S)}),{setUnread:e=>m(e),refresh:()=>v(h())}}var bi=e=>!!e&&(e.isContentEditable||/^(INPUT|TEXTAREA|SELECT)$/.test(e.tagName)),xi=(e,t,n)=>`${e}${e.includes(`?`)?`&`:`?`}${encodeURIComponent(t)}=${encodeURIComponent(n)}`;function Si(e,t){let n=e.querySelector(`input.search-input`),r=e.querySelector(`.wui-topsearch-results`),i=e.querySelector(`.wui-topsearch-open`),a=e.querySelector(`[data-wui-topsearch-live]`),{src:o,param:s=`q`,resultsHref:c}=e.dataset,l=Number(e.dataset.minChars??2),u=Number(e.dataset.debounceMs??250),d=ee(),f=null,p=-1,m=()=>[...r.querySelectorAll(`.wui-topsearch-hit`)],h=e=>{let t=m();p=t.length===0?-1:(e+t.length)%t.length,t.forEach((e,t)=>{let n=t===p;e.classList.toggle(`is-active`,n),e.setAttribute(`aria-selected`,n?`true`:`false`)}),p>=0?(n.setAttribute(`aria-activedescendant`,t[p].id),t[p].scrollIntoView?.({block:`nearest`})):n.removeAttribute(`aria-activedescendant`)},g=()=>{r.hidden=!0,n.setAttribute(`aria-expanded`,`false`),n.removeAttribute(`aria-activedescendant`),p=-1},_=()=>{r.hidden=!1,n.setAttribute(`aria-expanded`,`true`)},v=t=>{e.classList.toggle(`is-open`,t),i?.setAttribute(`aria-expanded`,t?`true`:`false`)},y=t=>{let n=new CustomEvent(`wui:search:select`,{bubbles:!0,cancelable:!0,detail:{href:t}});e.dispatchEvent(n)&&window.location.assign(t)},b=async t=>{e.classList.add(`is-loading`);let n=await d.run(xi(o,s,t));if(!(n.kind===`aborted`||n.kind===`stale`||n.kind===`session`)){if(e.classList.remove(`is-loading`),n.ok){let e=_i(n.html),t=e.querySelector(`[data-wui-count]`);r.replaceChildren(e),m().forEach((e,t)=>{e.id=`${r.id}-opt-${t}`});let i=t?Number(t.getAttribute(`data-wui-count`)):m().length;a&&(a.textContent=i===0?`No results`:`${i} ${i===1?`result`:`results`}`)}else r.replaceChildren(vi(`wui-topsearch-empty`,`Search is unavailable right now.`));p=-1,_()}};n.addEventListener(`input`,()=>{clearTimeout(f);let t=n.value.trim();if(t.length<l){d.abort(),e.classList.remove(`is-loading`),r.replaceChildren(),g();return}f=setTimeout(()=>b(t),u)}),n.addEventListener(`keydown`,t=>{if(t.key===`ArrowDown`||t.key===`ArrowUp`){if(r.hidden||m().length===0)return;t.preventDefault(),h(p+(t.key===`ArrowDown`?1:-1))}else if(t.key===`Enter`){let e=m();!r.hidden&&p>=0&&e[p]?(t.preventDefault(),y(e[p].getAttribute(`href`))):c&&n.value.trim()!==``&&(t.preventDefault(),y(xi(c,s,n.value.trim())))}else t.key===`Escape`&&(r.hidden?e.classList.contains(`is-open`)&&(t.preventDefault(),t.stopPropagation(),v(!1),i?.focus()):(t.preventDefault(),t.stopPropagation(),g()))}),r.addEventListener(`click`,e=>{let t=e.target.closest(`.wui-topsearch-hit`);!t||e.ctrlKey||e.metaKey||e.shiftKey||e.button===1||(e.preventDefault(),y(t.getAttribute(`href`)))}),i?.addEventListener(`click`,()=>{let t=!e.classList.contains(`is-open`);v(t),t&&n.focus()});let x=e=>{e.key!==`/`||e.ctrlKey||e.metaKey||e.altKey||bi(e.target)||(e.preventDefault(),v(!0),n.focus())},S=t=>{e.contains(t.target)||(g(),e.classList.contains(`is-open`)&&v(!1))};document.addEventListener(`keydown`,x),document.addEventListener(`pointerdown`,S),t.push(()=>{clearTimeout(f),d.abort(),document.removeEventListener(`keydown`,x),document.removeEventListener(`pointerdown`,S)})}function Ci(e){let t=[],n=e.dataset.wuiCollapsedCookie;n&&e.addEventListener(`wui:shell:collapse`,e=>gi(n,!!e.detail?.collapsed)),e.addEventListener(`click`,t=>{t.target.closest(`[data-wui-tabbar-more]`)&&e.querySelector(`[data-app-shell-menu]`)?.click()});let r=e.querySelector(`[data-wui-bell]`),i=r?yi(r,t):null,a=e.querySelector(`[data-wui-topsearch]`);a&&Si(a,t);let o={el:e,setUnread(e){if(!i)throw Error(`WUI.shell: this <app-shell> has no <app-shell-notifications>.`);i.setUnread(e)},refreshNotifications(){if(!i)throw Error(`WUI.shell: this <app-shell> has no <app-shell-notifications>.`);return i.refresh()},get collapsed(){return e.classList.contains(`collapsed`)},set collapsed(t){if(!!t===e.classList.contains(`collapsed`))return;let n=e.querySelector(`[data-app-shell-collapse]`);n?n.click():e.classList.toggle(`collapsed`,!!t)}};Y.set(e,o);let s=n=>{if(n.target===e||n.target.contains?.(e)){for(let e of t)e();Y.delete(e),delete e.dataset.wuiPartsWired,document.removeEventListener(`wui:teardown`,s)}};return document.addEventListener(`wui:teardown`,s),o}function wi(e=document){let t=[];e instanceof Element&&e.matches(`[data-app-shell]`)&&t.push(e),t.push(...e.querySelectorAll(`[data-app-shell]`));for(let e of t)e.dataset.wuiPartsWired||(e.dataset.wuiPartsWired=`1`,Ci(e))}function Ti(e){let t=e?.closest?.(`[data-app-shell]`)??null;return t?(Y.has(t)||wi(t),Y.get(t)??null):null}var X=Object.freeze({title:`Leave without saving?`,message:`Your changes on this page are not saved. If you leave now, they are lost.`,leaveLabel:`Leave`}),Z=`form[data-wui-unsaved]`,Ei=`[aria-invalid="true"], .field-error:not(:empty), .field-validation-error, .validation-summary-errors, .wui-error-summary`,Di=`[download], [data-wui-modal], [data-wui-post], [data-bs-toggle]`,Oi=new Set([`submit`,`button`,`reset`,`image`]),Q=new WeakMap,ki=new WeakSet,Ai=e=>`${e.name}:${e.size}:${e.lastModified}`;function $(e){let t=[];for(let n of e.elements)!n.name||n.disabled||Oi.has(n.type)||(n.type===`checkbox`||n.type===`radio`?t.push([n.name,n.value,n.checked]):n.type===`file`?t.push([n.name,[...n.files||[]].map(Ai)]):n.type===`select-multiple`?t.push([n.name,[...n.selectedOptions].map(e=>e.value)]):t.push([n.name,n.value]));return JSON.stringify(t)}var ji=e=>({saved:e.querySelector(Ei)?null:$(e),engaged:!1,discarded:!1});function Mi(e){let t=Q.get(e);return!t||t.discarded||!e.isConnected?!1:t.saved===null||t.engaged&&$(e)!==t.saved}var Ni=(e,t)=>[...e.querySelectorAll(Z)].filter(e=>e!==t&&Mi(e)),Pi=()=>!!window.bootstrap?.Modal;function Fi(e,t,n){let r=t.map(e=>e.getAttribute(`data-wui-unsaved`)).find(Boolean)||X.message;$r(e,{title:X.title,message:r,label:X.leaveLabel,tone:`danger`},()=>{for(let e of t)Q.get(e).discarded=!0;n()})}function Ii(e){if(e.matches(Di))return!1;let t=e.getAttribute(`target`);if(t&&t.toLowerCase()!==`_self`)return!1;let n=new URL(e.getAttribute(`href`),window.location.href);if(n.protocol!==`http:`&&n.protocol!==`https:`)return!1;let r=window.location;return!(n.hash&&n.origin===r.origin&&n.pathname===r.pathname&&n.search===r.search)}function Li(e,t){if((t?.getAttribute(`formmethod`)||e.getAttribute(`method`)||`get`).toLowerCase()===`dialog`)return!1;let n=t?.getAttribute(`formtarget`)||e.getAttribute(`target`);return!n||n.toLowerCase()===`_self`}function Ri(e){if(e.defaultPrevented||e.button!==0||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey)return;let t=e.target.closest?.(`a[href]`);if(!t||!Ii(t))return;let n=Ni(t.ownerDocument,null);!n.length||!Pi()||(e.preventDefault(),Fi(t,n,()=>t.click()))}function zi(e){let t=e.target;if(!(t instanceof HTMLFormElement)||e.defaultPrevented||!Li(t,e.submitter))return;let n=Ni(t.ownerDocument,t);if(n.length&&Pi()){e.preventDefault();let r=e.submitter?.form===t?e.submitter:void 0;Fi(t,n,()=>t.requestSubmit(r));return}let r=Q.get(t);r&&(r.saved=$(t),r.discarded=!1)}function Bi(e){Ni(document,null).length&&(e.preventDefault(),e.returnValue=``)}function Vi(e){let t=e.target.closest?.(Z),n=t&&Q.get(t);!n||n.engaged||(n.saved!==null&&(n.saved=$(t)),n.engaged=!0)}function Hi(e){let t=e.target.closest?.(Z),n=t&&Q.get(t);n&&(n.discarded=!1,e.isTrusted&&(n.engaged=!0))}function Ui(e){let t=e.detail?.handle?.el;if(t instanceof Element)for(let e of t.querySelectorAll(Z))Gi(e)}function Wi(e=document){let t=e.ownerDocument||e;if(!ki.has(t)){ki.add(t);for(let e of[`focusin`,`pointerdown`,`drop`])t.addEventListener(e,Vi,!0);for(let e of[`input`,`change`])t.addEventListener(e,Hi,!0);t.addEventListener(`click`,Ri),t.addEventListener(`submit`,zi),t.addEventListener(`wui:modal:success`,Ui),t.defaultView.addEventListener(`beforeunload`,Bi)}let n=[...e.querySelectorAll?.(Z)||[]];e.matches?.(Z)&&n.unshift(e);for(let e of n)Q.has(e)||Q.set(e,ji(e))}function Gi(e){if(!(e instanceof HTMLFormElement)||!e.matches(Z))throw TypeError(`resetUnsavedChanges: ${String(e)} is not a <form data-wui-unsaved>.`);Q.set(e,{saved:$(e),engaged:!1,discarded:!1})}function Ki(){e(`wui-select`,L),e(`wui-country-select`,R),e(`wui-phone`,Ft),e(`wui-datepicker`,Qe),e(`wui-date-range`,$e),e(`wui-dock`,et),e(`wui-image-crop`,rt),e(`wui-kanban`,w),e(`wui-inline-edit`,at),e(`wui-consent-banner`,F),e(`wui-slider`,on),e(`wui-sortable`,sn),e(`wui-timepicker`,ln),e(`wui-tour`,dn),e(`wui-tree`,fn),e(`wui-autocomplete`,A),e(`wui-command-palette`,N),e(`wui-context-menu`,I),e(`wui-multiselect`,xt),e(`wui-taginput`,cn),e(`wui-otp`,Nt),e(`wui-status-icon`,k),e(`wui-shortcuts`,rn),e(`wui-record-pager`,Zt),e(`wui-carousel`,j),e(`wui-code-block`,_e),e(`wui-data-table`,Ke),e(`wui-drawer`,tt),e(`wui-hover-card`,nt),e(`wui-lightbox`,lt),e(`wui-menubar`,bt),e(`wui-navigation-menu`,St),e(`wui-notification-center`,jt),e(`wui-onboarding-checklist`,Mt),e(`wui-overflow`,Pt),e(`wui-rating`,It),e(`wui-relative-time`,en),e(`wui-resizable`,tn),e(`wui-rolling-number`,nn),e(`wui-show-more`,an),e(`wui-truncate`,pn),e(`wui-whats-new`,mn),e(`wui-mention-input`,ft),e(`wui-comment-thread`,P),e(`wui-wizard-step`,_n),e(`wui-wizard`,gn)}Ki();export{Tn as AVATAR_ACCEPT,kn as AVATAR_MAX_SIZE_MB,sr as AVATAR_OUTPUT_SIZE,On as AVATAR_OUTPUT_TYPE,Un as AVATAR_PREVIEW_SIZES,Hn as AVATAR_TEXT,Ve as COLUMN_MAX_WIDTH,We as COLUMN_MIN_WIDTH,Se as COMMENT_INTENTS,be as COMMENT_REACTIONS,xe as COMMENT_TEXT,K as CONFIRM_DIALOG_ID,zr as CONFIRM_TONES,ye as COPY_FEEDBACK_MS,S as CSRF_META_NAME,m as CURRENCIES,H as DATA_TABLE_TEXT,l as DATE_PATTERNS,y as DEFAULT_CSRF_HEADER,An as DEFAULT_IMAGE_ACCEPT,In as DEFAULT_MAX_SIZE_MB,Ln as DEFAULT_PASSWORD_RULES,xn as DEFAULT_REQUIREMENTS_TITLE,ur as DEFAULT_THEME_EFFECT,ir as DEFAULT_THEME_STORAGE_KEY,f as DURATION_UNITS,o as EMPTY_VALUE,Vr as FLASH_STORAGE_KEY,Br as FLASH_VARIANTS,t as FORMAT_STYLES,b as HTTP_KINDS,ct as INLINE_EDIT_SAVED_MS,ot as INLINE_EDIT_TEXT,st as INLINE_EDIT_TYPES,u as IST_TIME_ZONE,ue as KANBAN_DRAG_THRESHOLD_PX,oe as KANBAN_LONG_PRESS_MS,O as KANBAN_PHONE_QUERY,re as KANBAN_STORAGE_PREFIX,te as KANBAN_SUMMARY_FORMATS,se as KANBAN_TEXT,le as KANBAN_TONES,Yt as LIST_KEYS,Sn as MASK_INPUT_TYPES,Nn as MASK_NAMES,ut as MENTION_ID_PATTERN,vt as MENTION_MAX_QUERY,mt as MENTION_MAX_RESULTS,gt as MENTION_TEXT,p as MONEY_UNITS,At as NOTIFICATION_COUNT_CAP,Et as NOTIFICATION_TEXT,Ae as PIN_AT_VAR,He as PIN_SIDES,Ge as RESIZE_STEP,Me as RESIZE_STEP_LARGE,ze as ROW_HEIGHTS,qe as ROW_MOVE_LIMIT,Ne as ROW_MOVE_MS,Pe as ROW_SAVE_ATTR,Ue as ROW_SAVE_ERROR_CLASS,Be as ROW_SAVE_STATES,hr as SCROLL_EDGE_SELECTOR,_r as SELECT_ALL_LABEL,U as SELECT_CELL_CLASS,Wt as SELECT_KEY,vr as SELECT_ROW_LABEL,q as SERVER_ACTION_TEXT,qt as SHORTCUTS_OFF_ATTRIBUTE,Vt as SHORTCUT_EVENT,Lt as SHORTCUT_SCOPE_ATTRIBUTE,Gt as SHORTCUT_TEXT,me as STATUS_TONES,cr as THEME_BOOT_SCRIPT_BODY,$n as THEME_CHANGE_EVENT,Kn as THEME_EFFECTS,ar as THEME_EFFECT_DURATION,lr as THEME_LIVE_NAME,Jn as THEME_MODES,nr as THEME_SWITCHING_CLASS,X as UNSAVED_TEXT,Ie as VIRTUAL_OVERSCAN,hn as WHATS_NEW_READ_EVENT,v as WUI_HEADERS,A as WuiAutocomplete,j as WuiCarousel,_e as WuiCodeBlock,N as WuiCommandPalette,P as WuiCommentThread,F as WuiConsentBanner,I as WuiContextMenu,R as WuiCountrySelect,Ke as WuiDataTable,Qe as WuiDatePicker,$e as WuiDateRange,et as WuiDock,tt as WuiDrawer,nt as WuiHoverCard,rt as WuiImageCrop,at as WuiInlineEdit,w as WuiKanban,lt as WuiLightbox,ft as WuiMentionInput,bt as WuiMenubar,xt as WuiMultiSelect,St as WuiNavigationMenu,jt as WuiNotificationCenter,Mt as WuiOnboardingChecklist,Nt as WuiOtp,Pt as WuiOverflow,Ft as WuiPhone,It as WuiRating,Zt as WuiRecordPager,en as WuiRelativeTime,tn as WuiResizable,nn as WuiRollingNumber,L as WuiSelect,rn as WuiShortcuts,an as WuiShowMore,on as WuiSlider,sn as WuiSortable,k as WuiStatusIcon,cn as WuiTagInput,ln as WuiTimePicker,dn as WuiTour,fn as WuiTree,pn as WuiTruncate,mn as WuiWhatsNew,gn as WuiWizard,_n as WuiWizardStep,gr as acceptLabel,Tr as addRowSelectCells,Er as addSelectColumn,dr as applyTheme,Jt as ariaKeyShortcuts,tr as attachInputMask,qn as attachScrollEdges,kr as attachShiftRange,Wn as avatarCropOptions,Fn as avatarUnreadableMessage,pr as buildPasswordRules,Fe as clampColumnWidth,g as classifyStatus,$r as confirmAction,ve as copyTextToClipboard,un as createLocalSeenStore,ee as createRequestQueue,br as createSelectHeaderCell,xr as createSelectRowCell,Sr as createSelectSpacerCell,Ki as defineWeborityElements,Rn as evaluatePassword,n as formatCompact,s as formatCurrency,h as formatDate,r as formatDuration,yn as formatMasked,i as formatNumber,d as formatPercent,Qt as formatRelativeTime,c as formatValue,Lr as getServerTable,Ti as getShell,he as glyphSvg,ke as groupCount,Je as groupItems,Ot as groupNotificationsByDay,Ze as identityCell,Rt as inShortcutScope,er as initInputMasks,fe as initRemoteModals,mr as initScrollEdges,pi as initServerActions,Ir as initServerTables,wi as initShellParts,Wi as initUnsavedChanges,it as inlineEditText,vn as isHeicFile,bn as isImageFile,Bn as isImageOnlyAccept,jn as isMaskPattern,En as isPdfFile,Ht as isTypingTarget,ie as kanbanCardLabel,de as kanbanOverflow,T as kanbanStorageKey,E as kanbanSummaryFormat,ce as kanbanVisibleLimit,pe as loadRemoteModal,Mn as maskedPostValue,M as matchSegments,zn as matchesAccept,je as measureRows,ht as mentionLabel,_t as mentionTextFromValue,dt as mentionValueFromText,pt as mentionedIds,Xt as moveFocus,Yn as nextTheme,Tt as notificationCountText,Ct as notificationDayHeading,Dt as notificationTime,kt as notificationTriggerLabel,wt as notificationUnreadAnnouncement,yt as parseMentionValue,Cn as passwordSatisfies,Xe as pinAtValue,De as pinClasses,B as pinOffsetVar,Ye as planPins,Oe as playRowMoves,Pn as postedMasked,wn as rawMasked,Ce as readColumnWidths,x as readCsrf,ae as readKanbanCollapsed,Xn as readStoredTheme,$t as relativeTimeTitle,Gi as resetUnsavedChanges,Dn as resolveMask,or as resolveTheme,V as rowLabel,Ee as rowOrderChanged,zt as runShortcut,Re as saveOutcomeText,z as setRowSaveState,Le as settledRows,Bt as shortcutKey,Kt as shortcutName,Ut as shortcutsOff,rr as storeTheme,ne as sumKanbanValues,Dr as syncSelectAll,Qn as themeBootScript,Zn as themeKeyframes,a as toInstant,Gn as transitionTheme,Vn as validateFile,we as virtualRange,fr as watchSystemTheme,ge as withTrustedLabel,Te as writeColumnWidths,D as writeKanbanCollapsed,_ as wuiFetch};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webority/ui-elements",
3
- "version": "0.59.1",
3
+ "version": "0.59.3",
4
4
  "description": "Webority framework-agnostic UI custom elements (<wui-*>) — the single implementation of the interactive components, styled by @webority/theme. Used natively in Razor and wrapped by @webority/ui-react.",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "type": "module",