fernwell 0.4.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +27 -0
- package/README.md +47 -9
- package/dist/_position.d.cts +73 -0
- package/dist/_tokenData.d.cts +12 -0
- package/dist/_tokenData.d.ts +12 -0
- package/dist/combobox.d.cts +28 -0
- package/dist/css.d.cts +2 -0
- package/dist/css.d.ts +2 -0
- package/dist/fernwell.cjs +5 -3
- package/dist/fernwell.cjs.map +4 -4
- package/dist/fernwell.css +1 -1
- package/dist/fernwell.esm.js +5 -3
- package/dist/fernwell.esm.js.map +4 -4
- package/dist/fernwell.iife.js +5 -3
- package/dist/fernwell.iife.js.map +4 -4
- package/dist/fernwell.min.css +1 -1
- package/dist/fernwell.tokens.css +1 -1
- package/dist/icon.d.cts +16 -0
- package/dist/iife.d.cts +2 -0
- package/dist/iife.d.ts +2 -2
- package/dist/index.d.cts +58 -0
- package/dist/index.d.ts +27 -23
- package/dist/loading.d.cts +5 -0
- package/dist/menu.d.cts +49 -0
- package/dist/modal.d.cts +13 -0
- package/dist/nav.d.cts +3 -0
- package/dist/popover.d.cts +48 -0
- package/dist/popover.d.ts +1 -1
- package/dist/table.d.cts +40 -0
- package/dist/tabs.d.cts +43 -0
- package/dist/theme.d.cts +12 -0
- package/dist/theme.d.ts +2 -29
- package/dist/toast.d.cts +14 -0
- package/dist/tokens.d.cts +105 -0
- package/dist/tokens.d.ts +105 -0
- package/dist/tooltip.d.cts +51 -0
- package/dist/tooltip.d.ts +1 -1
- package/package.json +31 -9
package/dist/fernwell.iife.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
/*! fernwell v0.
|
|
2
|
-
"use strict";var Fernwell=(()=>{var he=Object.defineProperty;var Ft=Object.getOwnPropertyDescriptor;var Vt=Object.getOwnPropertyNames;var Kt=Object.prototype.hasOwnProperty;var T=(e,t)=>{for(var n in t)he(e,n,{get:t[n],enumerable:!0})},jt=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Vt(t))!Kt.call(e,i)&&i!==n&&he(e,i,{get:()=>t[i],enumerable:!(o=Ft(t,i))||o.enumerable});return e};var _t=e=>jt(he({},"__esModule",{value:!0}),e);var On={};T(On,{combobox:()=>Q,default:()=>G,icon:()=>Y,init:()=>qt,loading:()=>oe,menu:()=>ce,modal:()=>ee,nav:()=>ne,popover:()=>fe,table:()=>se,tabs:()=>Ee,theme:()=>J,toast:()=>ie,tooltip:()=>pe,version:()=>Bt});var J={};T(J,{get:()=>Le,getToken:()=>Jt,init:()=>be,resetTokens:()=>Xt,set:()=>X,setTokens:()=>Yt,toggle:()=>Qe});var Y={};T(Y,{init:()=>we,render:()=>z});var Zt={add:'<line x1="12" y1="5" x2="12" y2="19"/><line x1="5" y1="12" x2="19" y2="12"/>',close:'<line x1="6" y1="6" x2="18" y2="18"/><line x1="18" y1="6" x2="6" y2="18"/>',check:'<polyline points="5,13 10,18 19,7"/>',edit:'<path d="M16.8 3.5a2.1 2.1 0 0 1 3 3L8.5 17.8 4 19l1.2-4.5Z"/><line x1="14.5" y1="5.8" x2="17.7" y2="9"/>',trash:'<path d="M4 7h16"/><path d="M9 7V4.6a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1V7"/><path d="M6.5 7l.8 12.4A2 2 0 0 0 9.3 21h5.4a2 2 0 0 0 2-1.6L18 7"/><line x1="10" y1="11" x2="10" y2="17"/><line x1="14" y1="11" x2="14" y2="17"/>',save:'<path d="M5 4a1 1 0 0 1 1-1h9.2a1 1 0 0 1 .7.3l2.8 2.8a1 1 0 0 1 .3.7V20a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V4Z"/><path d="M8 3v5h7V3"/><path d="M8 21v-6h8v6"/>',search:'<circle cx="11" cy="11" r="7"/><line x1="21" y1="21" x2="16.6" y2="16.6"/>',settings:'<circle cx="12" cy="12" r="3"/><path d="M12 2v3M12 19v3M4.2 4.2l2.1 2.1M17.7 17.7l2.1 2.1M2 12h3M19 12h3M4.2 19.8l2.1-2.1M17.7 6.3l2.1-2.1"/>',download:'<line x1="12" y1="3" x2="12" y2="15"/><polyline points="7,10 12,15 17,10"/><line x1="5" y1="21" x2="19" y2="21"/>',upload:'<line x1="12" y1="15" x2="12" y2="3"/><polyline points="7,8 12,3 17,8"/><line x1="5" y1="21" x2="19" y2="21"/>',share:'<circle cx="6" cy="12" r="2.3"/><circle cx="18" cy="6" r="2.3"/><circle cx="18" cy="18" r="2.3"/><line x1="8.1" y1="10.8" x2="15.9" y2="7.2"/><line x1="8.1" y1="13.2" x2="15.9" y2="16.8"/>',copy:'<rect x="9" y="9" width="12" height="12" rx="2"/><path d="M5 15H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v1"/>',menu:'<line x1="4" y1="6" x2="20" y2="6"/><line x1="4" y1="12" x2="20" y2="12"/><line x1="4" y1="18" x2="20" y2="18"/>',more:'<circle cx="5" cy="12" r="1.4" fill="currentColor" stroke="none"/><circle cx="12" cy="12" r="1.4" fill="currentColor" stroke="none"/><circle cx="19" cy="12" r="1.4" fill="currentColor" stroke="none"/>',user:'<circle cx="12" cy="8" r="4"/><path d="M4 21c0-4.4 3.6-8 8-8s8 3.6 8 8"/>',bell:'<path d="M6 8a6 6 0 0 1 12 0c0 5 2 6 2 6H4s2-1 2-6"/><path d="M10 20a2 2 0 0 0 4 0"/>',heart:'<path d="M12 20s-7-4.4-9.5-8.5C.8 8 2 4.5 5.5 4.5c2 0 3.5 1 6.5 4 3-3 4.5-4 6.5-4 3.5 0 4.7 3.5 3 7-2.5 4.1-9.5 8.5-9.5 8.5Z"/>',star:'<polygon points="12,3 14.6,9.1 21.2,9.3 16,13.4 17.8,19.8 12,16.3 6.2,19.8 8,13.4 2.8,9.3 9.4,9.1"/>',calendar:'<rect x="3" y="5" width="18" height="16" rx="2"/><line x1="8" y1="3" x2="8" y2="7"/><line x1="16" y1="3" x2="16" y2="7"/><line x1="3" y1="10" x2="21" y2="10"/>',refresh:'<path d="M20 11A8 8 0 0 0 6.3 6.3L4 8.6"/><path d="M4 4v5h5"/><path d="M4 13a8 8 0 0 0 13.7 4.7L20 15.4"/><path d="M20 20v-5h-5"/>',filter:'<polygon points="4,4 20,4 14,12 14,19 10,21 10,12"/>',info:'<circle cx="12" cy="12" r="9"/><line x1="12" y1="11" x2="12" y2="16"/><circle cx="12" cy="8" r="1" fill="currentColor" stroke="none"/>',warning:'<path d="M12 3 22 20H2Z"/><line x1="12" y1="9.5" x2="12" y2="14.5"/><circle cx="12" cy="17.3" r="1" fill="currentColor" stroke="none"/>',lock:'<rect x="5" y="11" width="14" height="10" rx="2"/><path d="M8 11V7a4 4 0 0 1 8 0v4"/>',eye:'<path d="M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7-10-7-10-7Z"/><circle cx="12" cy="12" r="3"/>',"chevron-down":'<polyline points="6,9 12,15 18,9"/>',"arrow-left":'<line x1="19" y1="12" x2="5" y2="12"/><polyline points="12,5 5,12 12,19"/>',"arrow-right":'<line x1="5" y1="12" x2="19" y2="12"/><polyline points="12,5 19,12 12,19"/>',folder:'<path d="M3.5 6.5a1 1 0 0 1 1-1H10l2 2.2h7.5a1 1 0 0 1 1 1V18a1 1 0 0 1-1 1H4.5a1 1 0 0 1-1-1Z"/>',bookmark:'<path d="M6 3h12a1 1 0 0 1 1 1v17l-7-4-7 4V4a1 1 0 0 1 1-1Z"/>',home:'<path d="M4 11.5 12 4l8 7.5"/><path d="M6 10v10a1 1 0 0 0 1 1h3.5v-6h2.8v6H17a1 1 0 0 0 1-1V10"/>',logout:'<path d="M9 4H5.5a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1H9"/><line x1="14" y1="12" x2="21" y2="12"/><polyline points="17.5,8.5 21,12 17.5,15.5"/>',paperclip:'<path d="M21 11.5 12.4 20a4.3 4.3 0 0 1-6-6.1L15 5.3a2.9 2.9 0 0 1 4.1 4.1l-8.6 8.6a1.4 1.4 0 0 1-2-2l7.9-7.9"/>',envelope:'<rect x="3" y="5" width="18" height="14" rx="2"/><path d="M4 6.5 12 13l8-6.5"/>',"chevron-up":'<polyline points="6,15 12,9 18,15"/>',"chevron-left":'<polyline points="15,6 9,12 15,18"/>',"chevron-right":'<polyline points="9,6 15,12 9,18"/>',"arrow-up":'<line x1="12" y1="19" x2="12" y2="5"/><polyline points="5,12 12,5 19,12"/>',"arrow-down":'<line x1="12" y1="5" x2="12" y2="19"/><polyline points="5,12 12,19 19,12"/>',unlock:'<rect x="5" y="11" width="14" height="10" rx="2"/><path d="M8 11V7a4 4 0 0 1 7.8-1.3"/>',"thumbs-up":'<path d="M7 11v9H4.5a1 1 0 0 1-1-1v-7a1 1 0 0 1 1-1H7Z"/><path d="M7 11l4.3-7.3a1.4 1.4 0 0 1 2.6.8L13 9h5.6a2 2 0 0 1 1.9 2.6l-2 6.5A2 2 0 0 1 16.6 19.5H10a3 3 0 0 1-3-3"/>',"thumbs-down":'<path d="M7 13V4h2.5a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1H7Z"/><path d="M7 13l4.3 7.3a1.4 1.4 0 0 0 2.6-.8L13 15h5.6a2 2 0 0 0 1.9-2.6l-2-6.5A2 2 0 0 0 16.6 4.5H10a3 3 0 0 0-3 3"/>',"eye-closed":'<path d="M3.5 12S7 6 12 6s8.5 6 8.5 6-3.5 6-8.5 6-8.5-6-8.5-6Z"/><line x1="4" y1="19" x2="20" y2="5"/>',"help-circle":'<circle cx="12" cy="12" r="9"/><path d="M9.2 9.2a2.8 2.8 0 1 1 4.3 2.4c-.9.6-1.5 1.1-1.5 2.2"/><circle cx="12" cy="17" r="1" fill="currentColor" stroke="none"/>',chat:'<path d="M4 5.5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H9.5L5 20.5V16.5H5a1 1 0 0 1-1-1Z"/>',kebab:'<circle cx="12" cy="5" r="1.4" fill="currentColor" stroke="none"/><circle cx="12" cy="12" r="1.4" fill="currentColor" stroke="none"/><circle cx="12" cy="19" r="1.4" fill="currentColor" stroke="none"/>',sun:'<circle cx="12" cy="12" r="4"/><line x1="12" y1="2" x2="12" y2="4.5"/><line x1="12" y1="19.5" x2="12" y2="22"/><line x1="2" y1="12" x2="4.5" y2="12"/><line x1="19.5" y1="12" x2="22" y2="12"/><line x1="4.9" y1="4.9" x2="6.6" y2="6.6"/><line x1="17.4" y1="17.4" x2="19.1" y2="19.1"/><line x1="4.9" y1="19.1" x2="6.6" y2="17.4"/><line x1="17.4" y1="6.6" x2="19.1" y2="4.9"/>',moon:'<path d="M20.5 14.2A8.5 8.5 0 1 1 9.8 3.5a7 7 0 0 0 10.7 10.7Z"/>'};function z(e){let t=Zt[e];return t?`<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false">${t}</svg>`:""}function we(e=document){e.querySelectorAll("[data-fw-icon]").forEach(t=>{var i;if(t.dataset.fwBound)return;t.dataset.fwBound="1";let n=(i=t.dataset.fwIcon)!=null?i:"",o=z(n);o||console.warn(`fernwell: unknown icon "${n}"`),t.innerHTML=o,t.classList.add("fw-icon")})}var ye="fw-theme",Wt="fw:themechange",Ut="--fw-",ze="data-fw-tokens",Ye="data-fw-theme-init";function Te(){try{return window.localStorage}catch{return null}}function Le(){var t;let e=document.documentElement.getAttribute("data-theme");return e==="dark"||e==="light"?e:(t=window.matchMedia)!=null&&t.call(window,"(prefers-color-scheme: dark)").matches?"dark":"light"}function X(e,{persist:t=!0}={}){var n;document.documentElement.setAttribute("data-theme",e),t&&((n=Te())==null||n.setItem(ye,e)),document.querySelectorAll("[data-fw-theme-toggle]").forEach(o=>et(o,e)),document.dispatchEvent(new CustomEvent(Wt,{detail:e}))}function Qe(){let e=Le()==="dark"?"light":"dark";return X(e),e}function et(e,t){e.setAttribute("aria-pressed",String(t==="dark"));let n=t==="dark"?e.dataset.fwThemeIconDark:e.dataset.fwThemeIconLight,o=t==="dark"?e.dataset.fwThemeLabelDark:e.dataset.fwThemeLabelLight;if(n!==void 0){let i=`<span class="fw-icon" aria-hidden="true">${z(n)}</span>`;e.innerHTML=o!==void 0?`${i} ${o}`:i}else o!==void 0&&(e.textContent=o)}function Gt(e){let t=typeof requestAnimationFrame=="function"?requestAnimationFrame:n=>setTimeout(n,16);t(()=>t(e))}function be(e=document){var i,r,a,l;let t=(i=Te())==null?void 0:i.getItem(ye),n=t==="dark"||t==="light"?t:Le(),o=document.documentElement;o.setAttribute(Ye,""),X(n,{persist:!1}),Gt(()=>o.removeAttribute(Ye)),e.querySelectorAll("[data-fw-theme-toggle]").forEach(c=>{c.dataset.fwBound||(c.dataset.fwBound="1",et(c,n),c.addEventListener("click",()=>Qe()))}),(l=(r=window.matchMedia)==null?void 0:(a=r.call(window,"(prefers-color-scheme: dark)")).addEventListener)==null||l.call(a,"change",c=>{var d;(d=Te())!=null&&d.getItem(ye)||X(c.matches?"dark":"light",{persist:!1})})}var B=new Map;function tt(e){return e.startsWith("--")?e:`${Ut}${e}`}function zt(e){return Object.values(e).some(t=>t!==null&&typeof t=="object")}function Xe(e){return Object.entries(e).map(([t,n])=>`${tt(t)}:${n};`).join("")}function Je(e){let t=document.head.querySelector(`style[${ze}]`);if(t||!e)return t;let n=document.createElement("style");return n.setAttribute(ze,""),document.head.appendChild(n),n}function nt(){var t;if(B.size===0){(t=Je(!1))==null||t.remove();return}let e=[];B.forEach(({light:n,dark:o},i)=>{if(Object.keys(n).length&&e.push(`${i}{${Xe(n)}}`),Object.keys(o).length){let r=i===":root"?'[data-theme="dark"]':`[data-theme="dark"] ${i}, ${i}[data-theme="dark"]`;e.push(`${r}{${Xe(o)}}`)}}),Je(!0).textContent=e.join(`
|
|
3
|
-
`)}function Yt(e,t={}){var i,r;let n=(i=t.scope)!=null?i:":root",o=(r=B.get(n))!=null?r:{light:{},dark:{}};zt(e)?(Object.assign(o.light,e.light),Object.assign(o.dark,e.dark)):(Object.assign(o.light,e),Object.assign(o.dark,e)),B.set(n,o),nt()}function Xt(e){e?B.delete(e):B.clear(),nt()}function Jt(e,t=document.documentElement){return getComputedStyle(t).getPropertyValue(tt(e)).trim()}var Q={};T(Q,{combobox:()=>ot,init:()=>xe});var Qt=0;function K(e){return e.replace(/[&<>"']/g,t=>({"&":"&","<":"<",">":">",'"':""","'":"'"})[t])}function ot(e,t={}){var h,N,O,Ge;let n=(h=t.filter)!=null?h:((f,w)=>f.toLowerCase().includes(w)),o=(N=t.emptyText)!=null?N:"No matches",i=(O=t.options)!=null?O:en(e),r=[],a=-1,l=!1,c=e.getAttribute("list");c&&(e.dataset.fwList=c,e.removeAttribute("list"));let d=(Ge=e.closest(".fw-combobox"))!=null?Ge:tn(e),s=document.createElement("ul"),u=`fw-combobox-${++Qt}`;s.className="fw-combobox-list",s.id=u,s.setAttribute("role","listbox"),d.appendChild(s),e.setAttribute("role","combobox"),e.setAttribute("aria-autocomplete","list"),e.setAttribute("aria-expanded","false"),e.setAttribute("aria-controls",u),e.autocomplete="off";function E(f){r=f,a=-1;let w=e.value.trim().toLowerCase();if(f.length===0){s.innerHTML=`<li class="fw-combobox-empty">${K(o)}</li>`;return}s.innerHTML=f.map((H,F)=>{let V=w?H.toLowerCase().indexOf(w):-1,$t=V>-1?`${K(H.slice(0,V))}<b>${K(H.slice(V,V+w.length))}</b>${K(H.slice(V+w.length))}`:K(H);return`<li class="fw-combobox-option" role="option" id="${u}-${F}" data-index="${F}" aria-selected="false">${$t}</li>`}).join("")}function m(){let f=e.value.trim().toLowerCase();E(f?i.filter(w=>n(w,f)):i),s.classList.add("is-open"),e.setAttribute("aria-expanded","true")}function p(){s.classList.remove("is-open"),e.setAttribute("aria-expanded","false"),e.removeAttribute("aria-activedescendant"),a=-1}function v(f){let w=s.querySelectorAll(".fw-combobox-option");w.forEach(F=>{F.classList.remove("is-active"),F.setAttribute("aria-selected","false")});let H=w[f];H&&(H.classList.add("is-active"),H.setAttribute("aria-selected","true"),H.scrollIntoView({block:"nearest"}),e.setAttribute("aria-activedescendant",H.id)),a=f}function b(f){var w;e.value=f,p(),l=!0,e.focus(),e.dispatchEvent(new Event("input",{bubbles:!0})),e.dispatchEvent(new Event("change",{bubbles:!0})),l=!1,(w=t.onSelect)==null||w.call(t,f)}let M=()=>{l||m()},y=()=>{l||m()},g=f=>{f.key==="ArrowDown"?(f.preventDefault(),s.classList.contains("is-open")||m(),v(Math.min(a+1,r.length-1))):f.key==="ArrowUp"?(f.preventDefault(),v(Math.max(a-1,0))):f.key==="Enter"?a>-1&&r[a]!==void 0&&(f.preventDefault(),b(r[a])):f.key==="Escape"&&p()},S=f=>{let w=f.target.closest(".fw-combobox-option");w&&(f.preventDefault(),b(r[Number(w.dataset.index)]))},$=f=>{d.contains(f.target)||p()};return e.addEventListener("input",M),e.addEventListener("focus",y),e.addEventListener("keydown",g),s.addEventListener("mousedown",S),document.addEventListener("click",$),{open:m,close:p,setOptions(f){i=f,s.classList.contains("is-open")&&m()},destroy(){e.removeEventListener("input",M),e.removeEventListener("focus",y),e.removeEventListener("keydown",g),s.removeEventListener("mousedown",S),document.removeEventListener("click",$),s.remove(),e.dataset.fwList&&e.setAttribute("list",e.dataset.fwList),delete e.dataset.fwBound}}}function en(e){var o;let t=(o=e.getAttribute("list"))!=null?o:e.dataset.fwList,n=t?document.getElementById(t):null;return n?Array.from(n.querySelectorAll("option")).map(i=>i.value||i.textContent||""):[]}function tn(e){var n;let t=document.createElement("div");return t.className="fw-combobox",(n=e.parentNode)==null||n.insertBefore(t,e),t.appendChild(e),t}function xe(e=document){e.querySelectorAll("input[data-fw-combobox]").forEach(t=>{t.dataset.fwBound||(t.dataset.fwBound="1",ot(t))})}var ee={};T(ee,{bindOutsideClickToClose:()=>He,close:()=>C,init:()=>Se,open:()=>ge,toggle:()=>on});var D="is-open",rt="fw-scroll-lock",P=[],Me=new WeakMap,nn='a[href], button:not([disabled]), input:not([disabled]):not([type="hidden"]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])';function Ae(e){return typeof e=="string"?document.getElementById(e):e}function ke(e){if(e.classList.contains("fw-modal-overlay"))return e;let t=e.id?document.querySelector(`[data-fw-drawer-overlay="${e.id}"]`):null;if(t)return t;let n=e.previousElementSibling;return n instanceof HTMLElement&&n.classList.contains("fw-drawer-overlay")?n:null}function ge(e,t=(n=>(n=document.activeElement)!=null?n:null)()){var r;let o=Ae(e);if(!o||o.classList.contains(D))return;o.classList.add(D),(r=ke(o))==null||r.classList.add(D),Me.set(o,t),P.push(o),document.body.classList.add(rt),o.dispatchEvent(new CustomEvent("fw:open",{bubbles:!0}));let i=o.querySelector(nn);i?i.focus({preventScroll:!0}):(o.hasAttribute("tabindex")||o.setAttribute("tabindex","-1"),o.focus({preventScroll:!0}))}function C(e){var o,i,r;let t=Ae(e);if(!t||!t.classList.contains(D))return;t.classList.remove(D),(o=ke(t))==null||o.classList.remove(D);let n=P.indexOf(t);n>-1&&P.splice(n,1),P.length===0&&document.body.classList.remove(rt),t.dispatchEvent(new CustomEvent("fw:close",{bubbles:!0})),(r=(i=Me.get(t))==null?void 0:i.focus)==null||r.call(i,{preventScroll:!0}),Me.delete(t)}function on(e){let t=Ae(e);t&&(t.classList.contains(D)?C:ge)(t)}function He(e,t){let n=!1;e.addEventListener("mousedown",o=>{n=o.target===e}),e.addEventListener("click",o=>{o.target===e&&n&&t()})}var it=!1;function Se(e=document){e.querySelectorAll("[data-fw-open-modal], [data-fw-open-drawer]").forEach(t=>{var o,i;if(t.dataset.fwBound)return;t.dataset.fwBound="1";let n=(i=(o=t.dataset.fwOpenModal)!=null?o:t.dataset.fwOpenDrawer)!=null?i:"";t.addEventListener("click",()=>ge(n,t))}),e.querySelectorAll(".fw-modal-overlay").forEach(t=>{t.dataset.fwBound||(t.dataset.fwBound="1",He(t,()=>C(t)),t.querySelectorAll("[data-fw-close-modal]").forEach(n=>n.addEventListener("click",()=>C(t))))}),e.querySelectorAll(".fw-drawer").forEach(t=>{if(t.dataset.fwBound)return;t.dataset.fwBound="1";let n=ke(t);n&&He(n,()=>C(t)),t.querySelectorAll("[data-fw-close-drawer]").forEach(o=>o.addEventListener("click",()=>C(t)))}),it||(it=!0,document.addEventListener("keydown",t=>{t.key==="Escape"&&P.length&&C(P[P.length-1])}))}var ne={};T(ne,{close:()=>te,init:()=>De,open:()=>st});var Oe="is-open";function st(e){let t=Ce(e);t&&(t.classList.add(Oe),e.setAttribute("aria-expanded","true"))}function te(e){let t=Ce(e);t&&(t.classList.remove(Oe),e.setAttribute("aria-expanded","false"))}function Ce(e){let t=e.getAttribute("aria-controls");return t?document.getElementById(t):null}function De(e=document){e.querySelectorAll("[data-fw-nav-toggle]").forEach(t=>{var i,r;if(t.dataset.fwBound)return;t.dataset.fwBound="1";let n=Ce(t);if(!n)return;let o=(r=(i=t.closest(".fw-nav"))!=null?i:t.parentElement)!=null?r:t;t.addEventListener("click",a=>{a.stopPropagation(),(n.classList.contains(Oe)?te:st)(t)}),document.addEventListener("click",a=>{!o.contains(a.target)&&!n.contains(a.target)&&te(t)}),document.addEventListener("keydown",a=>{a.key==="Escape"&&te(t)})})}var oe={};T(oe,{init:()=>Pe,resetAll:()=>dt,resetButtonLoading:()=>ct,setButtonLoading:()=>lt});var j="fw-btn-loading";function lt(e,t){var o,i;if(!e||e.classList.contains(j))return;e.dataset.fwOriginalHtml=e.innerHTML,e.disabled=!0,e.setAttribute("aria-busy","true"),e.classList.add(j);let n=(i=(o=t!=null?t:e.dataset.fwLoadingText)!=null?o:e.textContent)!=null?i:"";e.innerHTML='<span class="fw-spinner fw-spinner-sm" aria-hidden="true"></span>',e.appendChild(document.createTextNode(n))}function ct(e){!e||!e.classList.contains(j)||(e.disabled=!1,e.removeAttribute("aria-busy"),e.classList.remove(j),e.dataset.fwOriginalHtml!==void 0&&(e.innerHTML=e.dataset.fwOriginalHtml,delete e.dataset.fwOriginalHtml))}function dt(e=document){e.querySelectorAll(`.${j}`).forEach(ct)}var at=!1;function Pe(e=document){e.querySelectorAll("form[data-fw-loading]").forEach(t=>{t.dataset.fwBound||(t.dataset.fwBound="1",t.addEventListener("submit",()=>{let n=t.querySelector('button[type="submit"], button:not([type])');lt(n)}))}),at||(at=!0,window.addEventListener("pageshow",t=>{t.persisted&&dt()}))}var ie={};T(ie,{hide:()=>ut,show:()=>sn});var L=null,q=null;function rn(){return L&&L.isConnected||(L=document.createElement("div"),L.className="fw-toast",L.setAttribute("role","status"),L.setAttribute("aria-live","polite"),L.innerHTML='<span class="fw-toast-dot" aria-hidden="true"></span><span class="fw-toast-text"></span>',document.body.appendChild(L)),L}function sn(e,{variant:t="success",duration:n=4e3}={}){let o=rn();return o.className=`fw-toast${t==="success"?"":` fw-toast-${t}`}`,o.querySelector(".fw-toast-text").textContent=e,q&&clearTimeout(q),o.classList.remove("is-show"),o.offsetWidth,o.classList.add("is-show"),n>0&&(q=setTimeout(ut,n)),o}function ut(){L==null||L.classList.remove("is-show"),q&&clearTimeout(q),q=null}var se={};T(se,{getSelected:()=>Re,init:()=>$e,selectAll:()=>Et,setRowSelected:()=>vt,sort:()=>Ie});var an="is-selected";function Ne(e,t,n){e.dispatchEvent(new CustomEvent(t,{bubbles:!0,detail:n}))}function ft(e,t){var o,i,r;let n=e.cells[t];return(r=(i=n==null?void 0:n.dataset.fwSortValue)!=null?i:(o=n==null?void 0:n.textContent)==null?void 0:o.trim())!=null?r:""}function ln(e,t){let n=Number(e),o=Number(t);return e!==""&&t!==""&&Number.isFinite(n)&&Number.isFinite(o)?n-o:e.localeCompare(t,void 0,{numeric:!0,sensitivity:"base"})}function pt(e){var t,n;return Array.from((n=(t=e.tHead)==null?void 0:t.querySelectorAll("th[data-fw-sort]"))!=null?n:[])}function mt(e){return e.getAttribute("aria-sort")==="ascending"?"descending":"ascending"}function Ie(e,t,n){let o=e.tBodies[0];if(!o)return;let i=Array.from(o.rows),r=i.filter(d=>d.cells.length>t),a=i.filter(d=>d.cells.length<=t),l=n==="ascending"?1:-1;r.sort((d,s)=>l*ln(ft(d,t),ft(s,t))),[...r,...a].forEach(d=>o.appendChild(d));let c=null;pt(e).forEach(d=>{let s=d.cellIndex===t;d.setAttribute("aria-sort",s?n:"none"),s&&(c=d)}),c&&Ne(e,"fw:sort",{column:t,direction:n,th:c})}function re(e){return Array.from(e.querySelectorAll("tbody input[data-fw-select-row]"))}function Be(e,t){e.classList.toggle(an,t),e.setAttribute("aria-selected",t?"true":"false")}function qe(e){let t=e.querySelector("[data-fw-select-all]");if(!t)return;let n=re(e),o=n.filter(i=>i.checked).length;t.checked=o>0&&o===n.length,t.indeterminate=o>0&&o<n.length}function Re(e){return re(e).filter(t=>t.checked).map(t=>t.closest("tr")).filter(t=>t!==null)}function vt(e,t){let n=e.querySelector("input[data-fw-select-row]");n&&(n.checked=t),Be(e,t);let o=e.closest("table");o&&(qe(o),Ne(o,"fw:select",{rows:Re(o),all:!1}))}function Et(e,t){re(e).forEach(n=>{n.checked=t;let o=n.closest("tr");o&&Be(o,t)}),qe(e),Ne(e,"fw:select",{rows:Re(e),all:!0})}function $e(e=document){e.querySelectorAll("table[data-fw-table]").forEach(t=>{t.dataset.fwBound||(t.dataset.fwBound="1",pt(t).forEach(n=>{n.hasAttribute("aria-sort")||n.setAttribute("aria-sort","none")}),t.addEventListener("click",n=>{let o=n.target.closest("th[data-fw-sort]");o&&t.contains(o)&&Ie(t,o.cellIndex,mt(o))}),t.addEventListener("keydown",n=>{if(n.key!=="Enter"&&n.key!==" ")return;let o=n.target;if(!o.matches("th[data-fw-sort], th[data-fw-sort] .fw-table-sort"))return;let i=o.closest("th[data-fw-sort]");i&&(n.preventDefault(),Ie(t,i.cellIndex,mt(i)))}),t.addEventListener("change",n=>{let o=n.target;if(o.matches("[data-fw-select-all]"))Et(t,o.checked);else if(o.matches("[data-fw-select-row]")){let i=o.closest("tr");i&&vt(i,o.checked)}}),re(t).forEach(n=>{let o=n.closest("tr");o&&n.checked&&Be(o,!0)}),qe(t))})}var ce={};T(ce,{close:()=>le,collapseAll:()=>mn,expandAll:()=>fn,init:()=>Fe,open:()=>ae,reveal:()=>yt,toggle:()=>un});var A=".fw-menu-group",wt=".fw-menu-link, .fw-menu-summary",cn="is-current";function dn(e,t){e.dispatchEvent(new CustomEvent("fw:toggle",{bubbles:!0,detail:t}))}function ae(e){e.open=!0}function le(e){e.open=!1}function un(e,t){e.open=t!=null?t:!e.open}function fn(e){e.querySelectorAll(A).forEach(ae)}function mn(e){e.querySelectorAll(A).forEach(le)}function yt(e){var n,o,i,r;let t=(o=(n=e.parentElement)==null?void 0:n.closest(A))!=null?o:null;for(;t;)ae(t),t=(r=(i=t.parentElement)==null?void 0:i.closest(A))!=null?r:null}function ht(e){e.querySelectorAll(A).forEach(t=>{let n=t.querySelector(":scope > .fw-menu-summary");if(!n)return;let o=!t.open&&t.querySelector("[aria-current]")!==null;n.classList.toggle(cn,o)})}function Tt(e){return e.matches(".fw-menu-summary")?e.closest(A):null}function Lt(e){var n,o,i;return(i=(o=((n=Tt(e))!=null?n:e).parentElement)==null?void 0:o.closest(A))!=null?i:null}function pn(e){var t,n;for(let o=Lt(e);o;o=(n=(t=o.parentElement)==null?void 0:t.closest(A))!=null?n:null)if(!o.open)return!1;return!0}function vn(e){return Array.from(e.querySelectorAll(wt)).filter(pn)}function I(e){return e?(e.focus(),!0):!1}function En(e){var n;let t=e.closest(".fw-menu-split");return(n=t==null?void 0:t.querySelector(":scope > .fw-menu-group > .fw-menu-summary"))!=null?n:null}function hn(e,t){var l;if(t.altKey||t.ctrlKey||t.metaKey||t.shiftKey)return;let n=t.target instanceof HTMLElement&&t.target.matches(wt)?t.target:null;if(!n||!e.contains(n))return;let o=vn(e),i=o.indexOf(n),r=Tt(n),a=!0;switch(t.key){case"ArrowDown":I(o[i+1]);break;case"ArrowUp":I(o[i-1]);break;case"Home":I(o[0]);break;case"End":I(o[o.length-1]);break;case"ArrowRight":r?r.open?r.contains((l=o[i+1])!=null?l:e)&&I(o[i+1]):ae(r):I(En(n));break;case"ArrowLeft":if(r!=null&&r.open)le(r);else{let c=Lt(n);I(c==null?void 0:c.querySelector(":scope > .fw-menu-summary"))}break;default:a=!1}a&&t.preventDefault()}function Fe(e=document){e.querySelectorAll("[data-fw-menu]").forEach(t=>{if(t.dataset.fwBound)return;t.dataset.fwBound="1";let n=t.hasAttribute("data-fw-menu-exclusive");t.addEventListener("toggle",o=>{let i=o.target;!(i instanceof HTMLDetailsElement)||!i.matches(A)||(n&&i.open&&i.parentElement&&Array.from(i.parentElement.children).forEach(r=>{r!==i&&r instanceof HTMLDetailsElement&&r.matches(A)&&le(r)}),ht(t),dn(i,{group:i,open:i.open}))},!0),t.addEventListener("keydown",o=>hn(t,o)),t.querySelectorAll("[aria-current]").forEach(yt),ht(t)})}var fe={};T(fe,{init:()=>Ke,popover:()=>Ht});var wn={top:"bottom",bottom:"top",left:"right",right:"left"},R=10;function yn(e){switch(e){case"top-left":return{side:"top",align:"end"};case"top-right":return{side:"top",align:"start"};case"bottom-left":return{side:"bottom",align:"end"};case"bottom-right":return{side:"bottom",align:"start"};default:return{side:e,align:"center"}}}var Tn={start:"right",end:"left"};function Ln(e,t){return t==="center"?e:`${e}-${Tn[t]}`}function Ve(e,t,n,o){switch(e){case"top":return t.top;case"bottom":return o-t.bottom;case"left":return t.left;case"right":return n-t.right}}function bt(e,t,n,o){switch(e){case"top":return t.top-o-n.height;case"bottom":return t.bottom+o;case"left":return t.left-o-n.width;case"right":return t.right+o}}function xt(e,t,n,o){switch(e){case"start":return t;case"end":return t+n-o;case"center":return t+n/2-o/2}}function de(e,t,n){return Math.min(Math.max(e,t),n>t?n:t)}function ue(e,t,n={}){var y,g,S;let o=(y=n.placement)!=null?y:"bottom",i=(g=n.offset)!=null?g:8,r=(S=n.padding)!=null?S:8,a=e.getBoundingClientRect(),l=t.getBoundingClientRect(),c=window.innerWidth,d=window.innerHeight,{side:s,align:u}=yn(o),E=wn[s],m=s==="top"||s==="bottom"?l.height:l.width,p=Ve(s,a,c,d)-i<m&&Ve(E,a,c,d)-i>Ve(s,a,c,d)-i?E:s,v,b,M;return p==="top"||p==="bottom"?(v=bt(p,a,l,i),b=de(xt(u,a.left,a.width,l.width),r,c-l.width-r),M=de(a.left+a.width/2-b,R,Math.max(l.width-R,R))):(b=bt(p,a,l,i),v=de(xt("center",a.top,a.height,l.height),r,d-l.height-r),M=de(a.top+a.height/2-v,R,Math.max(l.height-R,R))),{placement:Ln(p,u),top:v,left:b,arrowOffset:M}}function Mt(e,t){let n=a=>!e.some(l=>l.contains(a)),o=!1,i=a=>{o=n(a.target)},r=a=>{o&&n(a.target)&&t()};return document.addEventListener("mousedown",i,!0),document.addEventListener("click",r,!0),()=>{document.removeEventListener("mousedown",i,!0),document.removeEventListener("click",r,!0)}}var bn='a[href], button:not([disabled]), input:not([disabled]):not([type="hidden"]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])';function Ht(e,t,n={}){var S,$;let o=(S=n.placement)!=null?S:"bottom",i=($=n.offset)!=null?$:8;e.setAttribute("aria-haspopup","dialog"),e.setAttribute("aria-controls",t.id),e.setAttribute("aria-expanded","false"),t.setAttribute("role","dialog"),t.setAttribute("aria-modal","false"),t.classList.add("fw-popover");let r=t.parentNode,a=t.nextSibling,l=!1,c=null,d=0;function s(){let h=ue(e,t,{placement:o,offset:i});t.style.top=`${h.top}px`,t.style.left=`${h.left}px`,t.setAttribute("data-placement",h.placement)}function u(){cancelAnimationFrame(d),d=requestAnimationFrame(s)}function E(h){h.key==="Escape"&&(h.stopPropagation(),v())}function m(h){let N=h.relatedTarget;N&&(t.contains(N)||e.contains(N))||setTimeout(()=>{if(!l)return;let O=document.activeElement;O===document.body||O===null||t.contains(O)||e.contains(O)||v()},0)}function p(){if(l)return;l=!0,t.parentNode!==document.body&&document.body.appendChild(t),s(),t.classList.add("is-open"),e.setAttribute("aria-expanded","true");let h=t.querySelector(bn);h?h.focus({preventScroll:!0}):(t.hasAttribute("tabindex")||t.setAttribute("tabindex","-1"),t.focus({preventScroll:!0})),c=Mt([e,t],v),window.addEventListener("scroll",u,!0),window.addEventListener("resize",u),t.addEventListener("keydown",E),t.addEventListener("focusout",m),t.dispatchEvent(new CustomEvent("fw:open",{bubbles:!0}))}function v(){if(!l)return;l=!1,t.classList.remove("is-open"),e.setAttribute("aria-expanded","false"),c==null||c(),c=null,window.removeEventListener("scroll",u,!0),window.removeEventListener("resize",u),t.removeEventListener("keydown",E),t.removeEventListener("focusout",m),cancelAnimationFrame(d),a===null||a.parentNode===r?r.insertBefore(t,a):r.appendChild(t),t.dispatchEvent(new CustomEvent("fw:close",{bubbles:!0})),e.focus({preventScroll:!0})}function b(){(l?v:p)()}let M=()=>b(),y=Array.from(t.querySelectorAll("[data-fw-popover-close]")),g=()=>v();return e.addEventListener("click",M),y.forEach(h=>h.addEventListener("click",g)),{open:p,close:v,toggle:b,destroy(){l&&v(),e.removeEventListener("click",M),y.forEach(h=>h.removeEventListener("click",g)),delete e.dataset.fwBound}}}function Ke(e=document){e.querySelectorAll("[data-fw-popover-trigger]").forEach(t=>{var i;if(t.dataset.fwBound)return;let n=(i=t.dataset.fwPopoverTrigger)!=null?i:"",o=document.getElementById(n);if(!o){console.warn(`fernwell: popover trigger references missing panel #${n}`);return}t.dataset.fwBound="1",Ht(t,o,{placement:t.dataset.fwPopoverPlacement||void 0,offset:t.dataset.fwPopoverOffset?Number(t.dataset.fwPopoverOffset):void 0})})}var pe={};T(pe,{init:()=>Ze,tooltip:()=>Ct});var xn=400,Mn=300,Hn=100,Z=new WeakMap,x=null,k=null,W=0,U=0,_e=0,kt=0;function An(){if(x&&x.isConnected)return x;let e=document.createElement("div");return e.className="fw-tooltip",e.id="fw-tooltip",e.setAttribute("role","tooltip"),document.body.appendChild(e),e.addEventListener("mouseenter",gt),e.addEventListener("mouseleave",()=>Ot()),x=e,e}function gt(){clearTimeout(U)}function St(){if(!k||!x)return;let e=Z.get(k);if(!e)return;let t=ue(k,x,{placement:e.placement,offset:e.offset});x.style.top=`${t.top}px`,x.style.left=`${t.left}px`,x.style.setProperty("--fw-tooltip-arrow-pos",`${t.arrowOffset}px`),x.setAttribute("data-placement",t.placement)}function me(){cancelAnimationFrame(_e),_e=requestAnimationFrame(St)}function At(e){var o;if(clearTimeout(W),gt(),!Z.get(e))return;k=e;let n=An();n.textContent=(o=e.dataset.fwTooltipText)!=null?o:"",St(),n.classList.add("is-open"),window.addEventListener("scroll",me,!0),window.addEventListener("resize",me)}function _(){clearTimeout(W),clearTimeout(U),x&&x.classList.remove("is-open"),window.removeEventListener("scroll",me,!0),window.removeEventListener("resize",me),cancelAnimationFrame(_e),k&&(kt=performance.now()),k=null}function je(e,t){clearTimeout(U),clearTimeout(W);let n=Z.get(e);n&&(t||performance.now()-kt<Mn?At(e):W=window.setTimeout(()=>At(e),n.delay))}function Ot(){clearTimeout(W),clearTimeout(U),U=window.setTimeout(_,Hn)}function Ct(e,t={}){var d,s,u;let n={placement:(d=t.placement)!=null?d:"top",offset:(s=t.offset)!=null?s:6,delay:(u=t.delay)!=null?u:xn};Z.set(e,n);let o=e.getAttribute("title");o!==null&&(e.dataset.fwTooltipText=o,e.removeAttribute("title")),e.setAttribute("aria-describedby","fw-tooltip");let i=()=>je(e,!1),r=()=>Ot(),a=()=>je(e,!0),l=()=>{k===e&&_()},c=E=>{E.key==="Escape"&&k===e&&_()};return e.addEventListener("mouseenter",i),e.addEventListener("mouseleave",r),e.addEventListener("focus",a),e.addEventListener("blur",l),e.addEventListener("keydown",c),{show:()=>je(e,!0),hide:()=>{k===e&&_()},destroy(){k===e&&_(),e.removeEventListener("mouseenter",i),e.removeEventListener("mouseleave",r),e.removeEventListener("focus",a),e.removeEventListener("blur",l),e.removeEventListener("keydown",c),e.removeAttribute("aria-describedby"),e.dataset.fwTooltipText!==void 0&&(e.setAttribute("title",e.dataset.fwTooltipText),delete e.dataset.fwTooltipText),Z.delete(e),delete e.dataset.fwBound}}}function Ze(e=document){e.querySelectorAll("[data-fw-tooltip]").forEach(t=>{t.dataset.fwBound||(t.dataset.fwBound="1",Ct(t,{placement:t.dataset.fwTooltipPlacement||void 0,offset:t.dataset.fwTooltipOffset?Number(t.dataset.fwTooltipOffset):void 0,delay:t.dataset.fwTooltipDelay?Number(t.dataset.fwTooltipDelay):void 0}))})}var Ee={};T(Ee,{init:()=>Ue,tabs:()=>Nt});function kn(e,t){e.dispatchEvent(new CustomEvent("fw:tabs-change",{bubbles:!0,detail:t}))}function ve(e){return e.getAttribute("aria-disabled")==="true"}function We(e){let t=e.getAttribute("aria-controls");return t?document.getElementById(t):null}function Dt(e){return e instanceof Element?e.closest('[role="tab"]'):null}function Pt(e,t,n){for(let o=1;o<=e.length;o++){let i=((t+n*o)%e.length+e.length)%e.length;if(!ve(e[i]))return e[i]}}function It(e){return e.find(t=>!ve(t))}function gn(e){for(let t=e.length-1;t>=0;t--)if(!ve(e[t]))return e[t]}function Nt(e,t={}){var d;let n=(d=t.activation)!=null?d:"automatic";function o(){return Array.from(e.querySelectorAll('[role="tab"]'))}function i(s,u=!1){if(ve(s))return;o().forEach(m=>{let p=m===s;m.setAttribute("aria-selected",String(p)),m.tabIndex=p?0:-1;let v=We(m);v&&(v.hidden=!p)}),u&&s.focus();let E=We(s);E&&kn(e,{tab:s,panel:E})}function r(s){o().forEach(u=>{u.tabIndex=u===s?0:-1}),s.focus()}function a(){var E;let s=o(),u=(E=s.find(m=>m.getAttribute("aria-selected")==="true"))!=null?E:It(s);s.forEach(m=>{let p=m===u;m.setAttribute("aria-selected",String(p)),m.tabIndex=p?0:-1;let v=We(m);v&&(v.hidden=!p)})}function l(s){let u=Dt(s.target);u&&e.contains(u)&&i(u,!1)}function c(s){let u=Dt(s.target);if(!u)return;let E=o(),m=E.indexOf(u);if(m===-1)return;if(s.key===" "||s.key==="Enter"){n==="manual"&&(s.preventDefault(),i(u,!1));return}let p=e.getAttribute("aria-orientation")==="vertical",v=getComputedStyle(e).direction==="rtl",b=p?"ArrowDown":v?"ArrowLeft":"ArrowRight",M=p?"ArrowUp":v?"ArrowRight":"ArrowLeft",y;if(s.key===b)y=Pt(E,m,1);else if(s.key===M)y=Pt(E,m,-1);else if(s.key==="Home")y=It(E);else if(s.key==="End")y=gn(E);else return;y&&(s.preventDefault(),n==="manual"?r(y):i(y,!0))}return e.addEventListener("click",l),e.addEventListener("keydown",c),a(),{activate:i,destroy(){e.removeEventListener("click",l),e.removeEventListener("keydown",c),delete e.dataset.fwBound}}}function Ue(e=document){e.querySelectorAll('[role="tablist"][data-fw-tabs]').forEach(t=>{if(t.dataset.fwBound)return;t.dataset.fwBound="1";let n=t.dataset.fwTabsActivation==="manual"?"manual":"automatic";Nt(t,{activation:n})})}var Bt="0.4.0";function qt(e=document){be(e),xe(e),Se(e),De(e),Pe(e),$e(e),Fe(e),we(e),Ke(e),Ze(e),Ue(e)}var Sn={version:Bt,init:qt,theme:J,combobox:Q,modal:ee,nav:ne,loading:oe,toast:ie,table:se,menu:ce,icon:Y,popover:fe,tooltip:pe,tabs:Ee},G=Sn;var Rt=typeof document!="undefined"?document.currentScript:null;typeof document!="undefined"&&!(Rt&&Rt.hasAttribute("data-fw-no-init"))&&(document.readyState==="loading"?document.addEventListener("DOMContentLoaded",()=>G.init()):G.init());return _t(On);})();
|
|
1
|
+
/*! fernwell v0.5.0 | MIT | https://github.com/JacobKnaack/fernwell */
|
|
2
|
+
"use strict";var Fernwell=(()=>{var He=Object.defineProperty;var pn=Object.getOwnPropertyDescriptor;var vn=Object.getOwnPropertyNames;var hn=Object.prototype.hasOwnProperty;var b=(e,t)=>{for(var n in t)He(e,n,{get:t[n],enumerable:!0})},wn=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of vn(t))!hn.call(e,r)&&r!==n&&He(e,r,{get:()=>t[r],enumerable:!(o=pn(t,r))||o.enumerable});return e};var yn=e=>wn(He({},"__esModule",{value:!0}),e);var so={};b(so,{combobox:()=>ce,default:()=>X,icon:()=>ee,init:()=>un,loading:()=>me,menu:()=>Ee,modal:()=>de,nav:()=>fe,popover:()=>Te,table:()=>he,tabs:()=>ke,theme:()=>le,toast:()=>pe,tokens:()=>se,tooltip:()=>ge,version:()=>dn});var le={};b(le,{get:()=>$e,getToken:()=>Pe,init:()=>Fe,resetTokens:()=>Ne,set:()=>ae,setTokens:()=>W,toggle:()=>At});var ee={};b(ee,{init:()=>Ae,render:()=>Q});var En={add:'<line x1="12" y1="5" x2="12" y2="19"/><line x1="5" y1="12" x2="19" y2="12"/>',close:'<line x1="6" y1="6" x2="18" y2="18"/><line x1="18" y1="6" x2="6" y2="18"/>',check:'<polyline points="5,13 10,18 19,7"/>',edit:'<path d="M16.8 3.5a2.1 2.1 0 0 1 3 3L8.5 17.8 4 19l1.2-4.5Z"/><line x1="14.5" y1="5.8" x2="17.7" y2="9"/>',trash:'<path d="M4 7h16"/><path d="M9 7V4.6a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1V7"/><path d="M6.5 7l.8 12.4A2 2 0 0 0 9.3 21h5.4a2 2 0 0 0 2-1.6L18 7"/><line x1="10" y1="11" x2="10" y2="17"/><line x1="14" y1="11" x2="14" y2="17"/>',save:'<path d="M5 4a1 1 0 0 1 1-1h9.2a1 1 0 0 1 .7.3l2.8 2.8a1 1 0 0 1 .3.7V20a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V4Z"/><path d="M8 3v5h7V3"/><path d="M8 21v-6h8v6"/>',search:'<circle cx="11" cy="11" r="7"/><line x1="21" y1="21" x2="16.6" y2="16.6"/>',settings:'<circle cx="12" cy="12" r="3"/><path d="M12 2v3M12 19v3M4.2 4.2l2.1 2.1M17.7 17.7l2.1 2.1M2 12h3M19 12h3M4.2 19.8l2.1-2.1M17.7 6.3l2.1-2.1"/>',download:'<line x1="12" y1="3" x2="12" y2="15"/><polyline points="7,10 12,15 17,10"/><line x1="5" y1="21" x2="19" y2="21"/>',upload:'<line x1="12" y1="15" x2="12" y2="3"/><polyline points="7,8 12,3 17,8"/><line x1="5" y1="21" x2="19" y2="21"/>',share:'<circle cx="6" cy="12" r="2.3"/><circle cx="18" cy="6" r="2.3"/><circle cx="18" cy="18" r="2.3"/><line x1="8.1" y1="10.8" x2="15.9" y2="7.2"/><line x1="8.1" y1="13.2" x2="15.9" y2="16.8"/>',copy:'<rect x="9" y="9" width="12" height="12" rx="2"/><path d="M5 15H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v1"/>',menu:'<line x1="4" y1="6" x2="20" y2="6"/><line x1="4" y1="12" x2="20" y2="12"/><line x1="4" y1="18" x2="20" y2="18"/>',more:'<circle cx="5" cy="12" r="1.4" fill="currentColor" stroke="none"/><circle cx="12" cy="12" r="1.4" fill="currentColor" stroke="none"/><circle cx="19" cy="12" r="1.4" fill="currentColor" stroke="none"/>',user:'<circle cx="12" cy="8" r="4"/><path d="M4 21c0-4.4 3.6-8 8-8s8 3.6 8 8"/>',bell:'<path d="M6 8a6 6 0 0 1 12 0c0 5 2 6 2 6H4s2-1 2-6"/><path d="M10 20a2 2 0 0 0 4 0"/>',heart:'<path d="M12 20s-7-4.4-9.5-8.5C.8 8 2 4.5 5.5 4.5c2 0 3.5 1 6.5 4 3-3 4.5-4 6.5-4 3.5 0 4.7 3.5 3 7-2.5 4.1-9.5 8.5-9.5 8.5Z"/>',star:'<polygon points="12,3 14.6,9.1 21.2,9.3 16,13.4 17.8,19.8 12,16.3 6.2,19.8 8,13.4 2.8,9.3 9.4,9.1"/>',calendar:'<rect x="3" y="5" width="18" height="16" rx="2"/><line x1="8" y1="3" x2="8" y2="7"/><line x1="16" y1="3" x2="16" y2="7"/><line x1="3" y1="10" x2="21" y2="10"/>',refresh:'<path d="M20 11A8 8 0 0 0 6.3 6.3L4 8.6"/><path d="M4 4v5h5"/><path d="M4 13a8 8 0 0 0 13.7 4.7L20 15.4"/><path d="M20 20v-5h-5"/>',filter:'<polygon points="4,4 20,4 14,12 14,19 10,21 10,12"/>',info:'<circle cx="12" cy="12" r="9"/><line x1="12" y1="11" x2="12" y2="16"/><circle cx="12" cy="8" r="1" fill="currentColor" stroke="none"/>',warning:'<path d="M12 3 22 20H2Z"/><line x1="12" y1="9.5" x2="12" y2="14.5"/><circle cx="12" cy="17.3" r="1" fill="currentColor" stroke="none"/>',lock:'<rect x="5" y="11" width="14" height="10" rx="2"/><path d="M8 11V7a4 4 0 0 1 8 0v4"/>',eye:'<path d="M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7-10-7-10-7Z"/><circle cx="12" cy="12" r="3"/>',"chevron-down":'<polyline points="6,9 12,15 18,9"/>',"arrow-left":'<line x1="19" y1="12" x2="5" y2="12"/><polyline points="12,5 5,12 12,19"/>',"arrow-right":'<line x1="5" y1="12" x2="19" y2="12"/><polyline points="12,5 19,12 12,19"/>',folder:'<path d="M3.5 6.5a1 1 0 0 1 1-1H10l2 2.2h7.5a1 1 0 0 1 1 1V18a1 1 0 0 1-1 1H4.5a1 1 0 0 1-1-1Z"/>',bookmark:'<path d="M6 3h12a1 1 0 0 1 1 1v17l-7-4-7 4V4a1 1 0 0 1 1-1Z"/>',home:'<path d="M4 11.5 12 4l8 7.5"/><path d="M6 10v10a1 1 0 0 0 1 1h3.5v-6h2.8v6H17a1 1 0 0 0 1-1V10"/>',logout:'<path d="M9 4H5.5a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1H9"/><line x1="14" y1="12" x2="21" y2="12"/><polyline points="17.5,8.5 21,12 17.5,15.5"/>',paperclip:'<path d="M21 11.5 12.4 20a4.3 4.3 0 0 1-6-6.1L15 5.3a2.9 2.9 0 0 1 4.1 4.1l-8.6 8.6a1.4 1.4 0 0 1-2-2l7.9-7.9"/>',envelope:'<rect x="3" y="5" width="18" height="14" rx="2"/><path d="M4 6.5 12 13l8-6.5"/>',"chevron-up":'<polyline points="6,15 12,9 18,15"/>',"chevron-left":'<polyline points="15,6 9,12 15,18"/>',"chevron-right":'<polyline points="9,6 15,12 9,18"/>',"arrow-up":'<line x1="12" y1="19" x2="12" y2="5"/><polyline points="5,12 12,5 19,12"/>',"arrow-down":'<line x1="12" y1="5" x2="12" y2="19"/><polyline points="5,12 12,19 19,12"/>',unlock:'<rect x="5" y="11" width="14" height="10" rx="2"/><path d="M8 11V7a4 4 0 0 1 7.8-1.3"/>',"thumbs-up":'<path d="M7 11v9H4.5a1 1 0 0 1-1-1v-7a1 1 0 0 1 1-1H7Z"/><path d="M7 11l4.3-7.3a1.4 1.4 0 0 1 2.6.8L13 9h5.6a2 2 0 0 1 1.9 2.6l-2 6.5A2 2 0 0 1 16.6 19.5H10a3 3 0 0 1-3-3"/>',"thumbs-down":'<path d="M7 13V4h2.5a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1H7Z"/><path d="M7 13l4.3 7.3a1.4 1.4 0 0 0 2.6-.8L13 15h5.6a2 2 0 0 0 1.9-2.6l-2-6.5A2 2 0 0 0 16.6 4.5H10a3 3 0 0 0-3 3"/>',"eye-closed":'<path d="M3.5 12S7 6 12 6s8.5 6 8.5 6-3.5 6-8.5 6-8.5-6-8.5-6Z"/><line x1="4" y1="19" x2="20" y2="5"/>',"help-circle":'<circle cx="12" cy="12" r="9"/><path d="M9.2 9.2a2.8 2.8 0 1 1 4.3 2.4c-.9.6-1.5 1.1-1.5 2.2"/><circle cx="12" cy="17" r="1" fill="currentColor" stroke="none"/>',chat:'<path d="M4 5.5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H9.5L5 20.5V16.5H5a1 1 0 0 1-1-1Z"/>',kebab:'<circle cx="12" cy="5" r="1.4" fill="currentColor" stroke="none"/><circle cx="12" cy="12" r="1.4" fill="currentColor" stroke="none"/><circle cx="12" cy="19" r="1.4" fill="currentColor" stroke="none"/>',sun:'<circle cx="12" cy="12" r="4"/><line x1="12" y1="2" x2="12" y2="4.5"/><line x1="12" y1="19.5" x2="12" y2="22"/><line x1="2" y1="12" x2="4.5" y2="12"/><line x1="19.5" y1="12" x2="22" y2="12"/><line x1="4.9" y1="4.9" x2="6.6" y2="6.6"/><line x1="17.4" y1="17.4" x2="19.1" y2="19.1"/><line x1="4.9" y1="19.1" x2="6.6" y2="17.4"/><line x1="17.4" y1="6.6" x2="19.1" y2="4.9"/>',moon:'<path d="M20.5 14.2A8.5 8.5 0 1 1 9.8 3.5a7 7 0 0 0 10.7 10.7Z"/>'};function Q(e){let t=En[e];return t?`<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false">${t}</svg>`:""}function Ae(e=document){e.querySelectorAll("[data-fw-icon]").forEach(t=>{var r;if(t.dataset.fwBound)return;t.dataset.fwBound="1";let n=(r=t.dataset.fwIcon)!=null?r:"",o=Q(n);o||console.warn(`fernwell: unknown icon "${n}"`),t.innerHTML=o,t.classList.add("fw-icon")})}var se={};b(se,{getToken:()=>Pe,init:()=>Be,resetTokens:()=>Ne,restoreTokens:()=>kt,setTokens:()=>W});var mt=[{name:"primary-hover",light:"color-mix(in srgb, var(--fw-primary), var(--fw-text) 12%)",dark:"color-mix(in srgb, var(--fw-primary), var(--fw-text) 12%)",deps:["primary","text"]},{name:"primary-soft",light:"color-mix(in srgb, var(--fw-primary), white 35%)",dark:"color-mix(in srgb, var(--fw-primary), white 35%)",deps:["primary"]},{name:"secondary-hover",light:"color-mix(in srgb, var(--fw-secondary), var(--fw-text) 15%)",dark:"color-mix(in srgb, var(--fw-secondary), var(--fw-text) 15%)",deps:["secondary","text"]},{name:"secondary-bg",light:"color-mix(in srgb, var(--fw-secondary) 10%, var(--fw-surface))",dark:"color-mix(in srgb, var(--fw-secondary) 16%, transparent)",deps:["secondary","surface"]},{name:"success-bg",light:"color-mix(in srgb, var(--fw-success) 12%, var(--fw-surface))",dark:"color-mix(in srgb, var(--fw-success) 14%, transparent)",deps:["success","surface"]},{name:"warning-bg",light:"color-mix(in srgb, var(--fw-warning) 14%, var(--fw-surface))",dark:"color-mix(in srgb, var(--fw-warning) 16%, transparent)",deps:["warning","surface"]},{name:"danger-bg",light:"color-mix(in srgb, var(--fw-danger) 13%, var(--fw-surface))",dark:"color-mix(in srgb, var(--fw-danger) 14%, transparent)",deps:["danger","surface"]},{name:"info-bg",light:"color-mix(in srgb, var(--fw-info) 12%, var(--fw-surface))",dark:"color-mix(in srgb, var(--fw-info) 14%, transparent)",deps:["info","surface"]},{name:"on-secondary-soft",light:"color-mix(in srgb, var(--fw-on-secondary) 72%, transparent)",dark:"color-mix(in srgb, var(--fw-on-secondary) 72%, transparent)",deps:["on-secondary"]},{name:"on-secondary-fill",light:"color-mix(in srgb, var(--fw-on-secondary) 10%, transparent)",dark:"color-mix(in srgb, var(--fw-on-secondary) 10%, transparent)",deps:["on-secondary"]},{name:"on-secondary-line",light:"color-mix(in srgb, var(--fw-on-secondary) 16%, transparent)",dark:"color-mix(in srgb, var(--fw-on-secondary) 16%, transparent)",deps:["on-secondary"]},{name:"focus-ring",light:"0 0 0 4px color-mix(in srgb, var(--fw-primary) 25%, transparent)",dark:"0 0 0 4px color-mix(in srgb, var(--fw-primary) 25%, transparent)",deps:["primary"]},{name:"scrollbar-thumb",light:"var(--fw-text-soft)",dark:"var(--fw-text-soft)",deps:["text-soft"]},{name:"scrollbar-thumb-hover",light:"color-mix(in srgb, var(--fw-text-soft), var(--fw-text) 15%)",dark:"color-mix(in srgb, var(--fw-text-soft), var(--fw-text) 15%)",deps:["text-soft","text"]},{name:"shadow-primary",light:"0 6px 16px color-mix(in srgb, var(--fw-primary) 35%, transparent)",dark:"0 6px 16px color-mix(in srgb, var(--fw-primary) 22%, transparent)",deps:["primary"]},{name:"shadow-success",light:"0 6px 16px color-mix(in srgb, var(--fw-success) 28%, transparent)",dark:"0 6px 16px color-mix(in srgb, var(--fw-success) 22%, transparent)",deps:["success"]}];var K="--fw-",pt="data-fw-tokens",Se="fw-tokens",vt="fw-tokens-css",bn="fw:tokenschange",re=":root",k=new Map,te=new Map,ie=!1,xn=0,_=new Map,De=new WeakSet;function Lt(){try{return window.localStorage}catch{return null}}function gt(e){return e.startsWith("--")?e:`${K}${e}`}function Tn(e){return e.startsWith(K)?e.slice(K.length):e}function ne(e){console.warn(`fernwell: ${e}`)}function Mt(e){try{return document.querySelector(e),!0}catch{return!1}}function Ln(e){let t=0,n="";for(let o=0;o<e.length;o++){let r=e[o];if(r==="\\")o++;else if(n){if(r===n)n="";else if(r===`
|
|
3
|
+
`)return!1}else if(r==='"'||r==="'")n=r;else if(r==="(")t++;else if(r===")"&&--t<0)return!1}return t===0&&!n}function V(e){let t={};if(e===null||typeof e!="object")return t;for(let[n,o]of Object.entries(e))/^(--)?[\w-]+$/.test(n)?typeof o!="string"||/[{};]|\/\*/.test(o)||!Ln(o)?ne(`ignoring invalid value for token "${n}"`):t[gt(n)]=o.trim():ne(`ignoring token with invalid name "${n}"`);return t}function gn(e){return Object.values(e).some(t=>t!==null&&typeof t=="object")}function Mn(e){let t=[],n=0,o="",r=0;for(let s=0;s<e.length;s++){let i=e[s];i==="\\"?s++:o?i===o&&(o=""):i==='"'||i==="'"?o=i:i==="("||i==="["?n++:i===")"||i==="]"?n--:i===","&&n===0&&(t.push(e.slice(r,s).trim()),r=s+1)}return t.push(e.slice(r).trim()),t.filter(Boolean)}function kn(e){return e===re?'[data-theme="dark"]':Mn(e).map(t=>`[data-theme="dark"] ${t}, ${t}[data-theme="dark"]`).join(", ")}function ht(e){return Object.entries(e).map(([t,n])=>`${t}:${n};`).join("")}function wt(e,t){let n=new Set(Object.keys(e).map(Tn)),o=new Set(n),r={};for(let s=!0;s;){s=!1;for(let i of mt)n.has(i.name)||`${K}${i.name}`in r||i.deps.some(l=>o.has(l))&&(r[`${K}${i.name}`]=i[t],o.add(i.name),s=!0)}return r}function Oe(e){let t=[];return e.forEach(({light:n,dark:o},r)=>{let s=r===re,i=s?n:{...wt(n,"light"),...n},l=s?o:{...wt(o,"dark"),...o};Object.keys(i).length&&t.push(`${r}{${ht(i)}}`),Object.keys(l).length&&t.push(`${kn(r)}{${ht(l)}}`)}),t}function yt(e){let t=document.head.querySelector(`style[${pt}]`);if(t)return e&&t!==document.head.lastElementChild&&document.head.appendChild(t),t;if(!e)return null;let n=document.createElement("style");return n.setAttribute(pt,""),document.head.appendChild(n),n}function Ce(){let e=Lt();if(e)try{if(k.size===0){e.removeItem(Se),e.removeItem(vt);return}let t={};k.forEach((n,o)=>t[o]=n),e.setItem(Se,JSON.stringify({v:1,scopes:t})),e.setItem(vt,Oe(k).join(`
|
|
4
|
+
`))}catch{}}function oe(e){var n;let t=[...Oe(k),...Oe(te)];t.length===0?(n=yt(!1))==null||n.remove():yt(!0).textContent=t.join(`
|
|
5
|
+
`),document.dispatchEvent(new CustomEvent(bn,{detail:{scope:e}}))}function Et(e,t){let n=new Map(Object.keys(t).map(o=>[o,o in e?e[o]:void 0]));return Object.assign(e,t),()=>n.forEach((o,r)=>{e[r]===t[r]&&(o===void 0?delete e[r]:e[r]=o)})}function W(e,t={}){var a,u;let n=(a=t.scope)!=null?a:re;if(!Mt(n))return ne(`ignoring tokens for invalid scope "${n}"`),()=>{};ie||Ie();let o,r;gn(e)?(o=V(e.light),r=V(e.dark)):(o=V(e),r={...o});let s=t.persist?k:te,i=(u=s.get(n))!=null?u:{light:{},dark:{}},l=Et(i.light,o),c=Et(i.dark,r);s.set(n,i),t.persist&&Ce(),oe(n);let d=!1;return()=>{d||(d=!0,l(),c(),!Object.keys(i.light).length&&!Object.keys(i.dark).length&&s.get(n)===i&&s.delete(n),s===k&&Ce(),oe(n))}}function Ne(e){ie||Ie(),_.forEach((n,o)=>{(!e||n.scope===e)&&_.delete(o)});let t=e?k.delete(e):k.size>0;e?te.delete(e):(k.clear(),te.clear()),t&&Ce(),oe(e)}function kt(){Ie(),oe()}function Ie(){var n;ie=!0,k.clear();let e=null;try{let o=(n=Lt())==null?void 0:n.getItem(Se);o&&(e=JSON.parse(o))}catch{}let t=e==null?void 0:e.scopes;if((e==null?void 0:e.v)===1&&t&&typeof t=="object")for(let[o,r]of Object.entries(t)){if(!Mt(o))continue;let s=V(r==null?void 0:r.light),i=V(r==null?void 0:r.dark);(Object.keys(s).length||Object.keys(i).length)&&k.set(o,{light:s,dark:i})}}function Pe(e,t=document.documentElement){return getComputedStyle(t).getPropertyValue(gt(e)).trim()}function bt(e,t){try{let n=JSON.parse(e!=null?e:"");if(n!==null&&typeof n=="object"&&!Array.isArray(n))return n}catch{}return ne(`${t} must be a JSON object of tokens`),null}function Hn(){_.forEach((e,t)=>{t.isConnected||(_.delete(t),De.add(t),e.undo())})}function xt(e){return!!e.dataset.fwTokensBound&&!De.has(e)}function Tt(e,t,n){e.dataset.fwTokensBound="1",De.delete(e),e.isConnected&&_.set(e,{scope:t,undo:n})}function Be(e=document){ie||kt(),Hn(),e.querySelectorAll('script[type="application/json"][data-fw-theme-tokens]').forEach(t=>{var i;if(xt(t))return;let n=bt(t.textContent,"data-fw-theme-tokens");if(t.dataset.fwTokensBound="1",!n)return;let o=t.hasAttribute("data-fw-persist"),r=(i=t.dataset.fwScope)!=null?i:re,s=W(n,{scope:r,persist:o});o||Tt(t,r,s)}),e.querySelectorAll("[data-fw-theme-scope]").forEach(t=>{var s;if(xt(t))return;let n=bt(t.getAttribute("data-fw-theme-scope"),"data-fw-theme-scope");if(t.dataset.fwTokensBound="1",!n)return;let o=(s=t.getAttribute("data-fw-scope-id"))!=null?s:`fw-s${++xn}`;t.setAttribute("data-fw-scope-id",o);let r=`[data-fw-scope-id="${o}"]`;Tt(t,r,W(n,{scope:r}))})}var qe="fw-theme",An="fw:themechange",Ht="data-fw-theme-init";function Re(){try{return window.localStorage}catch{return null}}function $e(){var t;let e=document.documentElement.getAttribute("data-theme");return e==="dark"||e==="light"?e:(t=window.matchMedia)!=null&&t.call(window,"(prefers-color-scheme: dark)").matches?"dark":"light"}function ae(e,{persist:t=!0}={}){var n;document.documentElement.setAttribute("data-theme",e),t&&((n=Re())==null||n.setItem(qe,e)),document.querySelectorAll("[data-fw-theme-toggle]").forEach(o=>St(o,e)),document.dispatchEvent(new CustomEvent(An,{detail:e}))}function At(){let e=$e()==="dark"?"light":"dark";return ae(e),e}function St(e,t){e.setAttribute("aria-pressed",String(t==="dark"));let n=t==="dark"?e.dataset.fwThemeIconDark:e.dataset.fwThemeIconLight,o=t==="dark"?e.dataset.fwThemeLabelDark:e.dataset.fwThemeLabelLight;if(n!==void 0){let r=`<span class="fw-icon" aria-hidden="true">${Q(n)}</span>`;e.innerHTML=o!==void 0?`${r} ${o}`:r}else o!==void 0&&(e.textContent=o)}function Sn(e){let t=typeof requestAnimationFrame=="function"?requestAnimationFrame:n=>setTimeout(n,16);t(()=>t(e))}function Fe(e=document){var r,s,i,l;let t=(r=Re())==null?void 0:r.getItem(qe),n=t==="dark"||t==="light"?t:$e(),o=document.documentElement;o.setAttribute(Ht,""),ae(n,{persist:!1}),Sn(()=>o.removeAttribute(Ht)),e.querySelectorAll("[data-fw-theme-toggle]").forEach(c=>{c.dataset.fwBound||(c.dataset.fwBound="1",St(c,n),c.addEventListener("click",()=>At()))}),(l=(s=window.matchMedia)==null?void 0:(i=s.call(window,"(prefers-color-scheme: dark)")).addEventListener)==null||l.call(i,"change",c=>{var d;(d=Re())!=null&&d.getItem(qe)||ae(c.matches?"dark":"light",{persist:!1})})}var ce={};b(ce,{combobox:()=>Ot,init:()=>je});var On=0;function Z(e){return e.replace(/[&<>"']/g,t=>({"&":"&","<":"<",">":">",'"':""","'":"'"})[t])}function Ot(e,t={}){var w,B,C,ft;let n=(w=t.filter)!=null?w:((f,y)=>f.toLowerCase().includes(y)),o=(B=t.emptyText)!=null?B:"No matches",r=(C=t.options)!=null?C:Cn(e),s=[],i=-1,l=!1,c=e.getAttribute("list");c&&(e.dataset.fwList=c,e.removeAttribute("list"));let d=(ft=e.closest(".fw-combobox"))!=null?ft:Dn(e),a=document.createElement("ul"),u=`fw-combobox-${++On}`;a.className="fw-combobox-list",a.id=u,a.setAttribute("role","listbox"),d.appendChild(a),e.setAttribute("role","combobox"),e.setAttribute("aria-autocomplete","list"),e.setAttribute("aria-expanded","false"),e.setAttribute("aria-controls",u),e.autocomplete="off";function h(f){s=f,i=-1;let y=e.value.trim().toLowerCase();if(f.length===0){a.innerHTML=`<li class="fw-combobox-empty">${Z(o)}</li>`;return}a.innerHTML=f.map((M,F)=>{let j=y?M.toLowerCase().indexOf(y):-1,mn=j>-1?`${Z(M.slice(0,j))}<b>${Z(M.slice(j,j+y.length))}</b>${Z(M.slice(j+y.length))}`:Z(M);return`<li class="fw-combobox-option" role="option" id="${u}-${F}" data-index="${F}" aria-selected="false">${mn}</li>`}).join("")}function m(){let f=e.value.trim().toLowerCase();h(f?r.filter(y=>n(y,f)):r),a.classList.add("is-open"),e.setAttribute("aria-expanded","true")}function p(){a.classList.remove("is-open"),e.setAttribute("aria-expanded","false"),e.removeAttribute("aria-activedescendant"),i=-1}function v(f){let y=a.querySelectorAll(".fw-combobox-option");y.forEach(F=>{F.classList.remove("is-active"),F.setAttribute("aria-selected","false")});let M=y[f];M&&(M.classList.add("is-active"),M.setAttribute("aria-selected","true"),M.scrollIntoView({block:"nearest"}),e.setAttribute("aria-activedescendant",M.id)),i=f}function T(f){var y;e.value=f,p(),l=!0,e.focus(),e.dispatchEvent(new Event("input",{bubbles:!0})),e.dispatchEvent(new Event("change",{bubbles:!0})),l=!1,(y=t.onSelect)==null||y.call(t,f)}let g=()=>{l||m()},E=()=>{l||m()},S=f=>{f.key==="ArrowDown"?(f.preventDefault(),a.classList.contains("is-open")||m(),v(Math.min(i+1,s.length-1))):f.key==="ArrowUp"?(f.preventDefault(),v(Math.max(i-1,0))):f.key==="Enter"?i>-1&&s[i]!==void 0&&(f.preventDefault(),T(s[i])):f.key==="Escape"&&p()},O=f=>{let y=f.target.closest(".fw-combobox-option");y&&(f.preventDefault(),T(s[Number(y.dataset.index)]))},$=f=>{d.contains(f.target)||p()};return e.addEventListener("input",g),e.addEventListener("focus",E),e.addEventListener("keydown",S),a.addEventListener("mousedown",O),document.addEventListener("click",$),{open:m,close:p,setOptions(f){r=f,a.classList.contains("is-open")&&m()},destroy(){e.removeEventListener("input",g),e.removeEventListener("focus",E),e.removeEventListener("keydown",S),a.removeEventListener("mousedown",O),document.removeEventListener("click",$),a.remove(),e.dataset.fwList&&e.setAttribute("list",e.dataset.fwList),delete e.dataset.fwBound}}}function Cn(e){var o;let t=(o=e.getAttribute("list"))!=null?o:e.dataset.fwList,n=t?document.getElementById(t):null;return n?Array.from(n.querySelectorAll("option")).map(r=>r.value||r.textContent||""):[]}function Dn(e){var n;let t=document.createElement("div");return t.className="fw-combobox",(n=e.parentNode)==null||n.insertBefore(t,e),t.appendChild(e),t}function je(e=document){e.querySelectorAll("input[data-fw-combobox]").forEach(t=>{t.dataset.fwBound||(t.dataset.fwBound="1",Ot(t))})}var de={};b(de,{bindOutsideClickToClose:()=>Ke,close:()=>D,init:()=>Ue,open:()=>Ze,toggle:()=>In});var N="is-open",Dt="fw-scroll-lock",I=[],Ve=new WeakMap,Nn='a[href], button:not([disabled]), input:not([disabled]):not([type="hidden"]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])';function _e(e){return typeof e=="string"?document.getElementById(e):e}function We(e){if(e.classList.contains("fw-modal-overlay"))return e;let t=e.id?document.querySelector(`[data-fw-drawer-overlay="${e.id}"]`):null;if(t)return t;let n=e.previousElementSibling;return n instanceof HTMLElement&&n.classList.contains("fw-drawer-overlay")?n:null}function Ze(e,t=(n=>(n=document.activeElement)!=null?n:null)()){var s;let o=_e(e);if(!o||o.classList.contains(N))return;o.classList.add(N),(s=We(o))==null||s.classList.add(N),Ve.set(o,t),I.push(o),document.body.classList.add(Dt),o.dispatchEvent(new CustomEvent("fw:open",{bubbles:!0}));let r=o.querySelector(Nn);r?r.focus({preventScroll:!0}):(o.hasAttribute("tabindex")||o.setAttribute("tabindex","-1"),o.focus({preventScroll:!0}))}function D(e){var o,r,s;let t=_e(e);if(!t||!t.classList.contains(N))return;t.classList.remove(N),(o=We(t))==null||o.classList.remove(N);let n=I.indexOf(t);n>-1&&I.splice(n,1),I.length===0&&document.body.classList.remove(Dt),t.dispatchEvent(new CustomEvent("fw:close",{bubbles:!0})),(s=(r=Ve.get(t))==null?void 0:r.focus)==null||s.call(r,{preventScroll:!0}),Ve.delete(t)}function In(e){let t=_e(e);t&&(t.classList.contains(N)?D:Ze)(t)}function Ke(e,t){let n=!1;e.addEventListener("mousedown",o=>{n=o.target===e}),e.addEventListener("click",o=>{o.target===e&&n&&t()})}var Ct=!1;function Ue(e=document){e.querySelectorAll("[data-fw-open-modal], [data-fw-open-drawer]").forEach(t=>{var o,r;if(t.dataset.fwBound)return;t.dataset.fwBound="1";let n=(r=(o=t.dataset.fwOpenModal)!=null?o:t.dataset.fwOpenDrawer)!=null?r:"";t.addEventListener("click",()=>Ze(n,t))}),e.querySelectorAll(".fw-modal-overlay").forEach(t=>{t.dataset.fwBound||(t.dataset.fwBound="1",Ke(t,()=>D(t)),t.querySelectorAll("[data-fw-close-modal]").forEach(n=>n.addEventListener("click",()=>D(t))))}),e.querySelectorAll(".fw-drawer").forEach(t=>{if(t.dataset.fwBound)return;t.dataset.fwBound="1";let n=We(t);n&&Ke(n,()=>D(t)),t.querySelectorAll("[data-fw-close-drawer]").forEach(o=>o.addEventListener("click",()=>D(t)))}),Ct||(Ct=!0,document.addEventListener("keydown",t=>{t.key==="Escape"&&I.length&&D(I[I.length-1])}))}var fe={};b(fe,{close:()=>ue,init:()=>Je,open:()=>Nt});var Ge="is-open";function Nt(e){let t=ze(e);t&&(t.classList.add(Ge),e.setAttribute("aria-expanded","true"))}function ue(e){let t=ze(e);t&&(t.classList.remove(Ge),e.setAttribute("aria-expanded","false"))}function ze(e){let t=e.getAttribute("aria-controls");return t?document.getElementById(t):null}function Je(e=document){e.querySelectorAll("[data-fw-nav-toggle]").forEach(t=>{var r,s;if(t.dataset.fwBound)return;t.dataset.fwBound="1";let n=ze(t);if(!n)return;let o=(s=(r=t.closest(".fw-nav"))!=null?r:t.parentElement)!=null?s:t;t.addEventListener("click",i=>{i.stopPropagation(),(n.classList.contains(Ge)?ue:Nt)(t)}),document.addEventListener("click",i=>{!o.contains(i.target)&&!n.contains(i.target)&&ue(t)}),document.addEventListener("keydown",i=>{i.key==="Escape"&&ue(t)})})}var me={};b(me,{init:()=>Ye,resetAll:()=>qt,resetButtonLoading:()=>Bt,setButtonLoading:()=>Pt});var U="fw-btn-loading";function Pt(e,t){var o,r;if(!e||e.classList.contains(U))return;e.dataset.fwOriginalHtml=e.innerHTML,e.disabled=!0,e.setAttribute("aria-busy","true"),e.classList.add(U);let n=(r=(o=t!=null?t:e.dataset.fwLoadingText)!=null?o:e.textContent)!=null?r:"";e.innerHTML='<span class="fw-spinner fw-spinner-sm" aria-hidden="true"></span>',e.appendChild(document.createTextNode(n))}function Bt(e){!e||!e.classList.contains(U)||(e.disabled=!1,e.removeAttribute("aria-busy"),e.classList.remove(U),e.dataset.fwOriginalHtml!==void 0&&(e.innerHTML=e.dataset.fwOriginalHtml,delete e.dataset.fwOriginalHtml))}function qt(e=document){e.querySelectorAll(`.${U}`).forEach(Bt)}var It=!1;function Ye(e=document){e.querySelectorAll("form[data-fw-loading]").forEach(t=>{t.dataset.fwBound||(t.dataset.fwBound="1",t.addEventListener("submit",()=>{let n=t.querySelector('button[type="submit"], button:not([type])');Pt(n)}))}),It||(It=!0,window.addEventListener("pageshow",t=>{t.persisted&&qt()}))}var pe={};b(pe,{hide:()=>Rt,show:()=>Bn});var x=null,q=null;function Pn(){return x&&x.isConnected||(x=document.createElement("div"),x.className="fw-toast",x.setAttribute("role","status"),x.setAttribute("aria-live","polite"),x.innerHTML='<span class="fw-toast-dot" aria-hidden="true"></span><span class="fw-toast-text"></span>',document.body.appendChild(x)),x}function Bn(e,{variant:t="success",duration:n=4e3}={}){let o=Pn();return o.className=`fw-toast${t==="success"?"":` fw-toast-${t}`}`,o.querySelector(".fw-toast-text").textContent=e,q&&clearTimeout(q),o.classList.remove("is-show"),o.offsetWidth,o.classList.add("is-show"),n>0&&(q=setTimeout(Rt,n)),o}function Rt(){x==null||x.classList.remove("is-show"),q&&clearTimeout(q),q=null}var he={};b(he,{getSelected:()=>nt,init:()=>ot,selectAll:()=>Kt,setRowSelected:()=>Vt,sort:()=>Xe});var qn="is-selected";function Qe(e,t,n){e.dispatchEvent(new CustomEvent(t,{bubbles:!0,detail:n}))}function $t(e,t){var o,r,s;let n=e.cells[t];return(s=(r=n==null?void 0:n.dataset.fwSortValue)!=null?r:(o=n==null?void 0:n.textContent)==null?void 0:o.trim())!=null?s:""}function Rn(e,t){let n=Number(e),o=Number(t);return e!==""&&t!==""&&Number.isFinite(n)&&Number.isFinite(o)?n-o:e.localeCompare(t,void 0,{numeric:!0,sensitivity:"base"})}function jt(e){var t,n;return Array.from((n=(t=e.tHead)==null?void 0:t.querySelectorAll("th[data-fw-sort]"))!=null?n:[])}function Ft(e){return e.getAttribute("aria-sort")==="ascending"?"descending":"ascending"}function Xe(e,t,n){let o=e.tBodies[0];if(!o)return;let r=Array.from(o.rows),s=r.filter(d=>d.cells.length>t),i=r.filter(d=>d.cells.length<=t),l=n==="ascending"?1:-1;s.sort((d,a)=>l*Rn($t(d,t),$t(a,t))),[...s,...i].forEach(d=>o.appendChild(d));let c=null;jt(e).forEach(d=>{let a=d.cellIndex===t;d.setAttribute("aria-sort",a?n:"none"),a&&(c=d)}),c&&Qe(e,"fw:sort",{column:t,direction:n,th:c})}function ve(e){return Array.from(e.querySelectorAll("tbody input[data-fw-select-row]"))}function et(e,t){e.classList.toggle(qn,t),e.setAttribute("aria-selected",t?"true":"false")}function tt(e){let t=e.querySelector("[data-fw-select-all]");if(!t)return;let n=ve(e),o=n.filter(r=>r.checked).length;t.checked=o>0&&o===n.length,t.indeterminate=o>0&&o<n.length}function nt(e){return ve(e).filter(t=>t.checked).map(t=>t.closest("tr")).filter(t=>t!==null)}function Vt(e,t){let n=e.querySelector("input[data-fw-select-row]");n&&(n.checked=t),et(e,t);let o=e.closest("table");o&&(tt(o),Qe(o,"fw:select",{rows:nt(o),all:!1}))}function Kt(e,t){ve(e).forEach(n=>{n.checked=t;let o=n.closest("tr");o&&et(o,t)}),tt(e),Qe(e,"fw:select",{rows:nt(e),all:!0})}function ot(e=document){e.querySelectorAll("table[data-fw-table]").forEach(t=>{t.dataset.fwBound||(t.dataset.fwBound="1",jt(t).forEach(n=>{n.hasAttribute("aria-sort")||n.setAttribute("aria-sort","none")}),t.addEventListener("click",n=>{let o=n.target.closest("th[data-fw-sort]");o&&t.contains(o)&&Xe(t,o.cellIndex,Ft(o))}),t.addEventListener("keydown",n=>{if(n.key!=="Enter"&&n.key!==" ")return;let o=n.target;if(!o.matches("th[data-fw-sort], th[data-fw-sort] .fw-table-sort"))return;let r=o.closest("th[data-fw-sort]");r&&(n.preventDefault(),Xe(t,r.cellIndex,Ft(r)))}),t.addEventListener("change",n=>{let o=n.target;if(o.matches("[data-fw-select-all]"))Kt(t,o.checked);else if(o.matches("[data-fw-select-row]")){let r=o.closest("tr");r&&Vt(r,o.checked)}}),ve(t).forEach(n=>{let o=n.closest("tr");o&&n.checked&&et(o,!0)}),tt(t))})}var Ee={};b(Ee,{close:()=>ye,collapseAll:()=>Kn,expandAll:()=>Vn,init:()=>rt,open:()=>we,reveal:()=>Zt,toggle:()=>jn});var H=".fw-menu-group",Wt=".fw-menu-link, .fw-menu-summary",$n="is-current";function Fn(e,t){e.dispatchEvent(new CustomEvent("fw:toggle",{bubbles:!0,detail:t}))}function we(e){e.open=!0}function ye(e){e.open=!1}function jn(e,t){e.open=t!=null?t:!e.open}function Vn(e){e.querySelectorAll(H).forEach(we)}function Kn(e){e.querySelectorAll(H).forEach(ye)}function Zt(e){var n,o,r,s;let t=(o=(n=e.parentElement)==null?void 0:n.closest(H))!=null?o:null;for(;t;)we(t),t=(s=(r=t.parentElement)==null?void 0:r.closest(H))!=null?s:null}function _t(e){e.querySelectorAll(H).forEach(t=>{let n=t.querySelector(":scope > .fw-menu-summary");if(!n)return;let o=!t.open&&t.querySelector("[aria-current]")!==null;n.classList.toggle($n,o)})}function Ut(e){return e.matches(".fw-menu-summary")?e.closest(H):null}function Gt(e){var n,o,r;return(r=(o=((n=Ut(e))!=null?n:e).parentElement)==null?void 0:o.closest(H))!=null?r:null}function _n(e){var t,n;for(let o=Gt(e);o;o=(n=(t=o.parentElement)==null?void 0:t.closest(H))!=null?n:null)if(!o.open)return!1;return!0}function Wn(e){return Array.from(e.querySelectorAll(Wt)).filter(_n)}function P(e){return e?(e.focus(),!0):!1}function Zn(e){var n;let t=e.closest(".fw-menu-split");return(n=t==null?void 0:t.querySelector(":scope > .fw-menu-group > .fw-menu-summary"))!=null?n:null}function Un(e,t){var l;if(t.altKey||t.ctrlKey||t.metaKey||t.shiftKey)return;let n=t.target instanceof HTMLElement&&t.target.matches(Wt)?t.target:null;if(!n||!e.contains(n))return;let o=Wn(e),r=o.indexOf(n),s=Ut(n),i=!0;switch(t.key){case"ArrowDown":P(o[r+1]);break;case"ArrowUp":P(o[r-1]);break;case"Home":P(o[0]);break;case"End":P(o[o.length-1]);break;case"ArrowRight":s?s.open?s.contains((l=o[r+1])!=null?l:e)&&P(o[r+1]):we(s):P(Zn(n));break;case"ArrowLeft":if(s!=null&&s.open)ye(s);else{let c=Gt(n);P(c==null?void 0:c.querySelector(":scope > .fw-menu-summary"))}break;default:i=!1}i&&t.preventDefault()}function rt(e=document){e.querySelectorAll("[data-fw-menu]").forEach(t=>{if(t.dataset.fwBound)return;t.dataset.fwBound="1";let n=t.hasAttribute("data-fw-menu-exclusive");t.addEventListener("toggle",o=>{let r=o.target;!(r instanceof HTMLDetailsElement)||!r.matches(H)||(n&&r.open&&r.parentElement&&Array.from(r.parentElement.children).forEach(s=>{s!==r&&s instanceof HTMLDetailsElement&&s.matches(H)&&ye(s)}),_t(t),Fn(r,{group:r,open:r.open}))},!0),t.addEventListener("keydown",o=>Un(t,o)),t.querySelectorAll("[aria-current]").forEach(Zt),_t(t)})}var Te={};b(Te,{init:()=>st,popover:()=>Xt});var Gn={top:"bottom",bottom:"top",left:"right",right:"left"},R=10;function zn(e){switch(e){case"top-left":return{side:"top",align:"end"};case"top-right":return{side:"top",align:"start"};case"bottom-left":return{side:"bottom",align:"end"};case"bottom-right":return{side:"bottom",align:"start"};default:return{side:e,align:"center"}}}var Jn={start:"right",end:"left"};function Yn(e,t){return t==="center"?e:`${e}-${Jn[t]}`}function it(e,t,n,o){switch(e){case"top":return t.top;case"bottom":return o-t.bottom;case"left":return t.left;case"right":return n-t.right}}function zt(e,t,n,o){switch(e){case"top":return t.top-o-n.height;case"bottom":return t.bottom+o;case"left":return t.left-o-n.width;case"right":return t.right+o}}function Jt(e,t,n,o){switch(e){case"start":return t;case"end":return t+n-o;case"center":return t+n/2-o/2}}function be(e,t,n){return Math.min(Math.max(e,t),n>t?n:t)}function xe(e,t,n={}){var E,S,O;let o=(E=n.placement)!=null?E:"bottom",r=(S=n.offset)!=null?S:8,s=(O=n.padding)!=null?O:8,i=e.getBoundingClientRect(),l=t.getBoundingClientRect(),c=window.innerWidth,d=window.innerHeight,{side:a,align:u}=zn(o),h=Gn[a],m=a==="top"||a==="bottom"?l.height:l.width,p=it(a,i,c,d)-r<m&&it(h,i,c,d)-r>it(a,i,c,d)-r?h:a,v,T,g;return p==="top"||p==="bottom"?(v=zt(p,i,l,r),T=be(Jt(u,i.left,i.width,l.width),s,c-l.width-s),g=be(i.left+i.width/2-T,R,Math.max(l.width-R,R))):(T=zt(p,i,l,r),v=be(Jt("center",i.top,i.height,l.height),s,d-l.height-s),g=be(i.top+i.height/2-v,R,Math.max(l.height-R,R))),{placement:Yn(p,u),top:v,left:T,arrowOffset:g}}function Yt(e,t){let n=i=>!e.some(l=>l.contains(i)),o=!1,r=i=>{o=n(i.target)},s=i=>{o&&n(i.target)&&t()};return document.addEventListener("mousedown",r,!0),document.addEventListener("click",s,!0),()=>{document.removeEventListener("mousedown",r,!0),document.removeEventListener("click",s,!0)}}var Xn='a[href], button:not([disabled]), input:not([disabled]):not([type="hidden"]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])';function Xt(e,t,n={}){var O,$;let o=(O=n.placement)!=null?O:"bottom",r=($=n.offset)!=null?$:8;e.setAttribute("aria-haspopup","dialog"),e.setAttribute("aria-controls",t.id),e.setAttribute("aria-expanded","false"),t.setAttribute("role","dialog"),t.setAttribute("aria-modal","false"),t.classList.add("fw-popover");let s=t.parentNode,i=t.nextSibling,l=!1,c=null,d=0;function a(){let w=xe(e,t,{placement:o,offset:r});t.style.top=`${w.top}px`,t.style.left=`${w.left}px`,t.setAttribute("data-placement",w.placement)}function u(){cancelAnimationFrame(d),d=requestAnimationFrame(a)}function h(w){w.key==="Escape"&&(w.stopPropagation(),v())}function m(w){let B=w.relatedTarget;B&&(t.contains(B)||e.contains(B))||setTimeout(()=>{if(!l)return;let C=document.activeElement;C===document.body||C===null||t.contains(C)||e.contains(C)||v()},0)}function p(){if(l)return;l=!0,t.parentNode!==document.body&&document.body.appendChild(t),a(),t.classList.add("is-open"),e.setAttribute("aria-expanded","true");let w=t.querySelector(Xn);w?w.focus({preventScroll:!0}):(t.hasAttribute("tabindex")||t.setAttribute("tabindex","-1"),t.focus({preventScroll:!0})),c=Yt([e,t],v),window.addEventListener("scroll",u,!0),window.addEventListener("resize",u),t.addEventListener("keydown",h),t.addEventListener("focusout",m),t.dispatchEvent(new CustomEvent("fw:open",{bubbles:!0}))}function v(){if(!l)return;l=!1,t.classList.remove("is-open"),e.setAttribute("aria-expanded","false"),c==null||c(),c=null,window.removeEventListener("scroll",u,!0),window.removeEventListener("resize",u),t.removeEventListener("keydown",h),t.removeEventListener("focusout",m),cancelAnimationFrame(d),i===null||i.parentNode===s?s.insertBefore(t,i):s.appendChild(t),t.dispatchEvent(new CustomEvent("fw:close",{bubbles:!0})),e.focus({preventScroll:!0})}function T(){(l?v:p)()}let g=()=>T(),E=Array.from(t.querySelectorAll("[data-fw-popover-close]")),S=()=>v();return e.addEventListener("click",g),E.forEach(w=>w.addEventListener("click",S)),{open:p,close:v,toggle:T,destroy(){l&&v(),e.removeEventListener("click",g),E.forEach(w=>w.removeEventListener("click",S)),delete e.dataset.fwBound}}}function st(e=document){e.querySelectorAll("[data-fw-popover-trigger]").forEach(t=>{var r;if(t.dataset.fwBound)return;let n=(r=t.dataset.fwPopoverTrigger)!=null?r:"",o=document.getElementById(n);if(!o){console.warn(`fernwell: popover trigger references missing panel #${n}`);return}t.dataset.fwBound="1",Xt(t,o,{placement:t.dataset.fwPopoverPlacement||void 0,offset:t.dataset.fwPopoverOffset?Number(t.dataset.fwPopoverOffset):void 0})})}var ge={};b(ge,{init:()=>ct,tooltip:()=>rn});var Qn=400,eo=300,to=100,z=new WeakMap,L=null,A=null,J=0,Y=0,lt=0,en=0;function no(){if(L&&L.isConnected)return L;let e=document.createElement("div");return e.className="fw-tooltip",e.id="fw-tooltip",e.setAttribute("role","tooltip"),document.body.appendChild(e),e.addEventListener("mouseenter",tn),e.addEventListener("mouseleave",()=>on()),L=e,e}function tn(){clearTimeout(Y)}function nn(){if(!A||!L)return;let e=z.get(A);if(!e)return;let t=xe(A,L,{placement:e.placement,offset:e.offset});L.style.top=`${t.top}px`,L.style.left=`${t.left}px`,L.style.setProperty("--fw-tooltip-arrow-pos",`${t.arrowOffset}px`),L.setAttribute("data-placement",t.placement)}function Le(){cancelAnimationFrame(lt),lt=requestAnimationFrame(nn)}function Qt(e){var o;if(clearTimeout(J),tn(),!z.get(e))return;A=e;let n=no();n.textContent=(o=e.dataset.fwTooltipText)!=null?o:"",nn(),n.classList.add("is-open"),window.addEventListener("scroll",Le,!0),window.addEventListener("resize",Le)}function G(){clearTimeout(J),clearTimeout(Y),L&&L.classList.remove("is-open"),window.removeEventListener("scroll",Le,!0),window.removeEventListener("resize",Le),cancelAnimationFrame(lt),A&&(en=performance.now()),A=null}function at(e,t){clearTimeout(Y),clearTimeout(J);let n=z.get(e);n&&(t||performance.now()-en<eo?Qt(e):J=window.setTimeout(()=>Qt(e),n.delay))}function on(){clearTimeout(J),clearTimeout(Y),Y=window.setTimeout(G,to)}function rn(e,t={}){var d,a,u;let n={placement:(d=t.placement)!=null?d:"top",offset:(a=t.offset)!=null?a:6,delay:(u=t.delay)!=null?u:Qn};z.set(e,n);let o=e.getAttribute("title");o!==null&&(e.dataset.fwTooltipText=o,e.removeAttribute("title")),e.setAttribute("aria-describedby","fw-tooltip");let r=()=>at(e,!1),s=()=>on(),i=()=>at(e,!0),l=()=>{A===e&&G()},c=h=>{h.key==="Escape"&&A===e&&G()};return e.addEventListener("mouseenter",r),e.addEventListener("mouseleave",s),e.addEventListener("focus",i),e.addEventListener("blur",l),e.addEventListener("keydown",c),{show:()=>at(e,!0),hide:()=>{A===e&&G()},destroy(){A===e&&G(),e.removeEventListener("mouseenter",r),e.removeEventListener("mouseleave",s),e.removeEventListener("focus",i),e.removeEventListener("blur",l),e.removeEventListener("keydown",c),e.removeAttribute("aria-describedby"),e.dataset.fwTooltipText!==void 0&&(e.setAttribute("title",e.dataset.fwTooltipText),delete e.dataset.fwTooltipText),z.delete(e),delete e.dataset.fwBound}}}function ct(e=document){e.querySelectorAll("[data-fw-tooltip]").forEach(t=>{t.dataset.fwBound||(t.dataset.fwBound="1",rn(t,{placement:t.dataset.fwTooltipPlacement||void 0,offset:t.dataset.fwTooltipOffset?Number(t.dataset.fwTooltipOffset):void 0,delay:t.dataset.fwTooltipDelay?Number(t.dataset.fwTooltipDelay):void 0}))})}var ke={};b(ke,{init:()=>ut,tabs:()=>cn});function oo(e,t){e.dispatchEvent(new CustomEvent("fw:tabs-change",{bubbles:!0,detail:t}))}function Me(e){return e.getAttribute("aria-disabled")==="true"}function dt(e){let t=e.getAttribute("aria-controls");return t?document.getElementById(t):null}function sn(e){return e instanceof Element?e.closest('[role="tab"]'):null}function an(e,t,n){for(let o=1;o<=e.length;o++){let r=((t+n*o)%e.length+e.length)%e.length;if(!Me(e[r]))return e[r]}}function ln(e){return e.find(t=>!Me(t))}function ro(e){for(let t=e.length-1;t>=0;t--)if(!Me(e[t]))return e[t]}function cn(e,t={}){var d;let n=(d=t.activation)!=null?d:"automatic";function o(){return Array.from(e.querySelectorAll('[role="tab"]'))}function r(a,u=!1){if(Me(a))return;o().forEach(m=>{let p=m===a;m.setAttribute("aria-selected",String(p)),m.tabIndex=p?0:-1;let v=dt(m);v&&(v.hidden=!p)}),u&&a.focus();let h=dt(a);h&&oo(e,{tab:a,panel:h})}function s(a){o().forEach(u=>{u.tabIndex=u===a?0:-1}),a.focus()}function i(){var h;let a=o(),u=(h=a.find(m=>m.getAttribute("aria-selected")==="true"))!=null?h:ln(a);a.forEach(m=>{let p=m===u;m.setAttribute("aria-selected",String(p)),m.tabIndex=p?0:-1;let v=dt(m);v&&(v.hidden=!p)})}function l(a){let u=sn(a.target);u&&e.contains(u)&&r(u,!1)}function c(a){let u=sn(a.target);if(!u)return;let h=o(),m=h.indexOf(u);if(m===-1)return;if(a.key===" "||a.key==="Enter"){n==="manual"&&(a.preventDefault(),r(u,!1));return}let p=e.getAttribute("aria-orientation")==="vertical",v=getComputedStyle(e).direction==="rtl",T=p?"ArrowDown":v?"ArrowLeft":"ArrowRight",g=p?"ArrowUp":v?"ArrowRight":"ArrowLeft",E;if(a.key===T)E=an(h,m,1);else if(a.key===g)E=an(h,m,-1);else if(a.key==="Home")E=ln(h);else if(a.key==="End")E=ro(h);else return;E&&(a.preventDefault(),n==="manual"?s(E):r(E,!0))}return e.addEventListener("click",l),e.addEventListener("keydown",c),i(),{activate:r,destroy(){e.removeEventListener("click",l),e.removeEventListener("keydown",c),delete e.dataset.fwBound}}}function ut(e=document){e.querySelectorAll('[role="tablist"][data-fw-tabs]').forEach(t=>{if(t.dataset.fwBound)return;t.dataset.fwBound="1";let n=t.dataset.fwTabsActivation==="manual"?"manual":"automatic";cn(t,{activation:n})})}var dn="0.5.0";function un(e=document){Fe(e),Be(e),je(e),Ue(e),Je(e),Ye(e),ot(e),rt(e),Ae(e),st(e),ct(e),ut(e)}var io={version:dn,init:un,theme:le,tokens:se,combobox:ce,modal:de,nav:fe,loading:me,toast:pe,table:he,menu:Ee,icon:ee,popover:Te,tooltip:ge,tabs:ke},X=io;var fn=typeof document!="undefined"?document.currentScript:null;typeof document!="undefined"&&!(fn&&fn.hasAttribute("data-fw-no-init"))&&(document.readyState==="loading"?document.addEventListener("DOMContentLoaded",()=>X.init()):X.init());return yn(so);})();
|
|
4
6
|
Fernwell=Fernwell.default;
|
|
5
7
|
//# sourceMappingURL=fernwell.iife.js.map
|