@vireo-ai/trellis-ui 0.1.52 → 0.1.53
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/package.json +1 -1
- package/packages/client/types/runtime/engine/navigation.d.ts +2 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/build-metadata.json +201 -201
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/motion.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/sortable.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-motion-CrezWE-8.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{capability-motion-DQitxnHn.js.map → capability-motion-CrezWE-8.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{capability-sortable-Dzv1zWaL.js → capability-sortable-C65CbsZn.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{capability-sortable-Dzv1zWaL.js.map → capability-sortable-C65CbsZn.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/core-D14VdwFn.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/core-D14VdwFn.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-DvvVMsQo.js → entry.generated-BSbzZ3xh.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-DvvVMsQo.js.map → entry.generated-BSbzZ3xh.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CSDZ4U92.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CSDZ4U92.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-Rx9NofFi.js → entry.generated-D07X7NjA.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-Rx9NofFi.js.map → entry.generated-D07X7NjA.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-DCLIvEtJ.js → entry.generated-DVIdOrvh.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-DCLIvEtJ.js.map → entry.generated-DVIdOrvh.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-oz1RCU1b.js → entry.generated-DrmfusOi.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-oz1RCU1b.js.map → entry.generated-DrmfusOi.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-D3w3QaSO.js → entry.generated-bEl9RRQt.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-D3w3QaSO.js.map → entry.generated-bEl9RRQt.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-payXlXhL.js → entry.generated-prmw8aRc.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-payXlXhL.js.map → entry.generated-prmw8aRc.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-DVQaci6w.js → entry.generated-xAXkL86X.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-DVQaci6w.js.map → entry.generated-xAXkL86X.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry2.generated-D1X0sDop.js → entry2.generated-CXnPh3K6.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry2.generated-D1X0sDop.js.map → entry2.generated-CXnPh3K6.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry2.generated-CpoK52gE.js → entry2.generated-CwzLpL1f.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry2.generated-CpoK52gE.js.map → entry2.generated-CwzLpL1f.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry2.generated-_UPpJlWp.js → entry2.generated-Dolv_r3b.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry2.generated-_UPpJlWp.js.map → entry2.generated-Dolv_r3b.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{motion-BDQdr83d.js → motion-ke2fZiWo.js} +3 -3
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{motion-BDQdr83d.js.map → motion-ke2fZiWo.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/ui-FNYDCNh6.js +4 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{ui-SdoiMWig.js.map → ui-FNYDCNh6.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/accordion.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/data-grid.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/date-picker.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/dropdown.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/index.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/modal.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/panels.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/select.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/sidebar.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/tabs.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/toast.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/tooltip.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/core.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/index.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/logical-entry-manifest.json +84 -84
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/trellis.js +8 -8
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/trellis.min.js +8 -8
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-motion-DQitxnHn.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/core-DMbnlSdM.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/core-DMbnlSdM.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CvcufWkj.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CvcufWkj.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/ui-SdoiMWig.js +0 -4
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{t as e}from"./bridge-B4S_D6hV.js";import{n as t,r as n}from"./morph-Cq3V_23_.js";import{n as r,o as i}from"./alpine-machine-BTDXpEr6.js";import{t as a}from"./dom-invalidation-Dw6clnS4.js";import{n as o}from"./fragment-Bl3Rq38L.js";var s=`single-child`,c=(e,t)=>{if(typeof t==`string`&&t)return t;let n=e.getAttribute(`data-ui-key`)||e.id;if(n)return n;let r=e.parentElement;if(r?.getAttribute(`data-ui-key-scope`)!==s)return null;let i=r.getAttribute(`data-ui-key`)||r.id;return i?`${i}:single-child`:null},l=`data-ui-motion-key`,u=`data-ui-motion-layout`,ee=e=>typeof e==`object`&&!!e&&Symbol.iterator in e,d=(e=document)=>typeof e==`string`?Array.from(document.querySelectorAll(e)):e instanceof Document||e instanceof Element?[e]:ee(e)?Array.from(e):[document],f=(e=document,t={})=>{let n=d(e).filter(e=>e instanceof Element),r=[],i=(e,t,n)=>{r.push({element:e,attr:t,previous:e.getAttribute(t)}),e.setAttribute(t,n)};return n.forEach(e=>{(t.layout??!0)&&i(e,u,``);let n=c(e,t.key);n&&!e.hasAttribute(`data-ui-motion-key`)&&i(e,l,n)}),()=>{r.reverse().forEach(({element:e,attr:t,previous:n})=>{if(n===null){e.removeAttribute(t);return}e.setAttribute(t,n)})}},p=(e,...t)=>{typeof console<`u`&&console.warn(e,...t)},m=new Set,h=!1,g=null,_=null,v=null,y=Promise.resolve(),b=0,te=e=>{for(let t of e)m.add(t);h||m.size===0||(h=!0,queueMicrotask(()=>{h=!1;let e=Array.from(m);m.clear(),e.forEach(e=>e.invalidateDom())}))},x=e=>{let t=document.createElement(`template`);return t.innerHTML=e,t},S=e=>Array.from(x(e).content.children).filter(e=>e instanceof HTMLElement),C=(e,t)=>{t.forEach(t=>e.initTree(t))},w=(e,t)=>t||e.getAttribute(`x-merge`)||`replace`,T=e=>{if(e.selector)return document.querySelector(e.selector);if(!e.target)return null;let t=e.target.startsWith(`#`)?e.target.slice(1):e.target;return document.getElementById(t)},ne=(e,t,i)=>{let s=w(t,i.mode);if(s===`remove`){t.remove();return}if(!i.html){p(`x-ui-stream: received patch with no html`);return}if(s===`morph`||s===`outer`){if(typeof e.morph==`function`){let o=new Set;e.morph(t,i.html,{key(e){return c(e)},updating(e,t,r,a){if(e instanceof Element&&_?.(i.requestId??null,e)){a?.();return}n(e,t)},updated(t){if(!(t instanceof Element))return;let n=r(e,t);n&&o.add(n),a(t).forEach(e=>{o.add(e)})}}),te(o);return}p(`x-ui-stream: morph mode requires an Alpine morph implementation; falling back to replace`)}if(s===`replace`||s===`morph`||s===`outer`){let[n]=S(i.html);if(!n){p(`x-ui-stream: replace mode produced no element`);return}t.replaceWith(n),e.initTree(n);return}if(s===`update`){o(e,t,i.html);return}let l=x(i.html),u=Array.from(l.content.children).filter(e=>e instanceof HTMLElement);if(s===`append`){t.append(l.content),C(e,u);return}if(s===`prepend`){t.prepend(l.content),C(e,u);return}if(s===`before`){t.before(l.content),C(e,u);return}s===`after`&&(t.after(l.content),C(e,u))},re=(e,t)=>{let n=T(t);if(n){ne(e,n,t),t.focus&&document.querySelector(t.focus)?.focus({preventScroll:!0});return}if(t.selector||t.target){p(`x-ui-stream: target not found`,t.selector??t.target);return}if(!t.html){p(`x-ui-stream: received patch with no html`);return}S(t.html).forEach(n=>{if(!n.id){p(`x-ui-stream: top-level element has no id, skipping`,n);return}let r=document.getElementById(n.id);r&&ne(e,r,{...t,html:n.outerHTML})}),t.focus&&document.querySelector(t.focus)?.focus({preventScroll:!0})},ie=(t,n)=>{let r=Array.isArray(n)?n:[n],i=()=>{r.forEach(e=>re(t,e))},a=()=>{let e=r.filter(e=>e.viewTransition===!0);if(e.length===0){i();return}v?v(t,e,i):i()},o=r.flatMap(e=>e.assets??[]);if(o.length===0&&b===0){a();return}b+=1;let s=async()=>{o.length>0&&await e(o,t),a()};y=y.then(s,s).catch(()=>void 0).finally(()=>{--b})},ae=e=>{v=e},oe=e=>{document.dispatchEvent(new CustomEvent(e.event,{detail:e.detail??{},bubbles:!0,composed:!0}))},E=e=>{let t=new Map;for(let n of e.data.split(`
|
|
2
|
+
`)){let e=n.indexOf(` `),r=e>0,i=r?n.slice(0,e):n;if(!r&&i!==`html`)return p(`x-ui-stream: invalid SSE command line`,i),null;let a=r?n.slice(e+1):``,o=t.get(i);o?o.push(a):t.set(i,[a])}return t},D=(e,t)=>{let n=e.get(t);if(n?.length)return n.length>1&&p(`x-ui-stream: duplicate SSE command, using last value`,t),n.at(-1)},se=(e,t)=>{let n=E(t);if(!n||n.size===0)return;let r=D(n,`request-id`);if(g&&!g(r??null))return;let i,a=D(n,`assets`);if(a)try{let e=JSON.parse(a);if(!Array.isArray(e))throw TypeError(`assets must be an array`);i=e}catch{p(`x-ui-stream: invalid patch assets JSON`,a);return}ie(e,{mode:D(n,`mode`)??`replace`,target:D(n,`target`)??null,selector:D(n,`selector`)??null,html:n.get(`html`)?.join(`
|
|
3
|
+
`)??null,requestId:r??null,viewTransition:D(n,`view-transition`)===`true`,focus:D(n,`focus`)??null,...i?{assets:i}:{}})},ce=e=>{let t=E(e);if(!t)return;let n=D(t,`request-id`);if(g&&!g(n??null))return;let r=D(t,`event`);if(!r){p(`x-ui-stream: dispatch SSE frame missing event`);return}let a=D(t,`detail`),o={};if(a)try{let e=JSON.parse(a);i(e)&&(o=e)}catch{p(`x-ui-stream: invalid dispatch detail JSON`,a);return}oe({event:r,detail:o})},le={"trellis-ui-patch":se,"trellis-ui-dispatch":(e,t)=>ce(t)},ue=`trellis-ui-`,de=(e,t)=>{let n=le[t.event];if(!n){t.event.startsWith(ue)&&p(`x-ui-stream: unsupported SSE event`,t.event);return}n(e,t)},fe=(e,t=``,n=``,r=``)=>{let i=new URL(e,document.baseURI),a=[...new Set(t.split(/\s+/).filter(Boolean))];return n&&i.searchParams.set(`client`,n),r&&i.searchParams.set(`lastEventId`,r),a.length>0&&(i.searchParams.delete(`channel`),a.forEach(e=>i.searchParams.append(`channel`,e))),/^[a-z][a-z\d+.-]*:/i.test(e)||e.startsWith(`//`)?i.href:`${i.pathname}${i.search}${i.hash}`},pe=(e,t,n=``,r=``,i={})=>{let a=new EventSource(fe(t,n,r,i.lastEventId)),o=!0,s=e=>{e.lastEventId&&i.eventId?.(e.lastEventId)};return Object.keys(le).forEach(t=>{a.addEventListener(t,t=>{!o||!(t instanceof MessageEvent)||(s(t),de(e,{event:t.type,data:String(t.data)}))})}),a.addEventListener(`stream-open`,()=>{o&&i.open?.()}),a.addEventListener(`stream-reset`,e=>{o&&(e instanceof MessageEvent&&s(e),i.reset?.(e instanceof MessageEvent?String(e.data):``))}),a.addEventListener(`stream-error`,e=>{o&&(o=!1,a.close(),i.error?.(e instanceof MessageEvent?String(e.data):``))}),a.addEventListener(`error`,()=>{o&&(o=!1,a.close(),i.disconnected?.())}),{abort(){o=!1,a.close()}}},O=new Map,me=new Set,he=e=>e instanceof HTMLElement&&e.id?e.id:e,ge=6e4,_e=1e3,ve=2e3,ye=1e3,be=3e4,k=(e,t,n={})=>{t!==`reset`&&(e.dataset.uiStreamState=t),e.dispatchEvent(new CustomEvent(`ui:stream:${t}`,{bubbles:!0,composed:!0,detail:{source:e,...n}}))},xe=(e,t)=>fe(t,e.dataset.uiStreamScopes,e.dataset.uiStreamClient),Se=e=>e.dataset.uiStreamOpenWhenHidden===`true`,A=(e,t)=>JSON.stringify({openWhenHidden:Se(e),url:xe(e,t)}),Ce=e=>{if(!(e instanceof CustomEvent))return null;let t=e.detail;return!t||typeof t.requestId!=`string`||typeof t.method!=`string`||!(t.controller instanceof AbortController)?null:t},we=(e,n,r)=>{let i=A(n,r),a=null,o,s=null,c,l,u=!1,ee=``,d=0,f=0,m=!1,h=!1,g=new Map,_=new Set,v=Se(n),y=()=>!m&&(v||document.visibilityState===`visible`),b=()=>{window.clearTimeout(c),c=void 0},te=()=>{n.dispatchEvent(new CustomEvent(`ui:stream:resumed`,{bubbles:!0,composed:!0}))},x=t=>{a?.abort(),b();let o=++d;i=A(n,r),k(n,`connecting`),a=pe(e,r,n.dataset.uiStreamScopes,t,{lastEventId:ee,open:()=>{if(o!==d)return;let e=u;u=!0,f=0,k(n,`open`),e&&te()},disconnected:()=>{if(o!==d||h||(a=null,D.controller=null,k(n,`disconnected`),!y()))return;let e=Math.min(ye*2**f,be);f+=1;let t=Math.floor(Math.random()*e);c=window.setTimeout(()=>{c=void 0,T()},t)},reset:e=>k(n,`reset`,{data:e}),eventId:e=>{o===d&&(ee=e)},error:e=>{o!==d||h||(m=!0,a=null,D.controller=null,b(),k(n,`error`,{data:e}))}}),D.controller=a,D.configuration=i,S()},S=()=>{if(window.clearTimeout(o),o=void 0,!y())return;let e=Number(n.dataset.uiStreamClientExpires);if(!Number.isFinite(e)||e<=0)return;let t=e-Date.now()-ge;if(t<=0){w();return}o=window.setTimeout(()=>void w(),t)},C=()=>{if(h)return Promise.resolve(null);if(s)return s;let e=n.dataset.uiStreamClientRefresh;return e?(s=fetch(e,{headers:{Accept:`application/json`,"X-Trellis-Client":n.dataset.uiStreamClient??``}}).then(async e=>{if(!e.ok)throw Error(`ClientSession refresh failed (${e.status})`);let t=await e.json();if(typeof t.token!=`string`||typeof t.expiresAt!=`number`)throw Error(`ClientSession refresh returned an invalid payload`);return h?null:(n.dataset.uiStreamClient=t.token,n.dataset.uiStreamClientExpires=String(t.expiresAt),t.token)}).catch(e=>{p(`x-ui-stream: could not refresh ClientSession`,e);let t=Number(n.dataset.uiStreamClientExpires);return!Number.isFinite(t)||t<=Date.now()?(k(n,`error`,{error:e}),null):(y()&&(o=window.setTimeout(()=>void w(),5e3)),n.dataset.uiStreamClient??null)}).finally(()=>{s=null}),s):(k(n,`error`,{reason:`missing-refresh-url`}),Promise.resolve(null))},w=async()=>{if(!y())return;let e=await C();e&&y()&&!h&&x(e)},T=async()=>{if(h||!y()||a)return;let e=Number(n.dataset.uiStreamClientExpires),t=n.dataset.uiStreamClient??``,r=Number.isFinite(e)&&e>0&&e-Date.now()<=ge?await C():t;r&&y()&&!h&&!a&&x(r)},ne=()=>{l=void 0,!(h||v||document.visibilityState!==`hidden`)&&(_.size>0||(g.forEach(e=>e.abort(`Document suspended`)),g.clear(),window.clearTimeout(o),o=void 0,b(),a?.abort(),a=null,k(n,`suspended`),D.controller=null))},re=e=>{window.clearTimeout(l),l=void 0,!(v||document.visibilityState!==`hidden`)&&(l=window.setTimeout(ne,e))},ie=()=>{m||w()},ae=e=>{let t=Ce(e);if(t){if(t.method===`GET`){g.set(t.requestId,t.controller);return}_.add(t.requestId),document.visibilityState===`hidden`&&!v&&(window.clearTimeout(l),l=void 0)}},oe=e=>{let t=Ce(e);if(t){if(t.method===`GET`){g.delete(t.requestId);return}_.delete(t.requestId),document.visibilityState===`hidden`&&!v&&_.size===0&&re(ve)}},E=()=>{if(!(v||m)){if(document.visibilityState===`hidden`){if(_.size>0)return;re(_e);return}window.clearTimeout(l),l=void 0,a||T()}},D={configuration:i,controller:null,element:n,dispose(){h||(h=!0,window.clearTimeout(o),window.clearTimeout(l),b(),n.removeEventListener(`ui:stream:refresh`,ie),document.removeEventListener(`visibilitychange`,E),document.removeEventListener(`ui:request:start`,ae),document.removeEventListener(`ui:request:finish`,oe),a?.abort())},rescheduleRefresh:S};return t(n,`data-ui-stream-state`),n.addEventListener(`ui:stream:refresh`,ie),document.addEventListener(`visibilitychange`,E),document.addEventListener(`ui:request:start`,ae),document.addEventListener(`ui:request:finish`,oe),y()?T():k(n,`suspended`),D},Te=e=>{typeof e.directive==`function`&&e.directive(`ui-stream`,(n,{expression:r},{cleanup:i})=>{if(!r)return;let a=n instanceof HTMLElement?n.dataset.uiStreamClient:``;if(!(n instanceof HTMLElement)||!a){p(`x-ui-stream: missing signed ClientSession capability`);return}let o=he(n),s=O.get(o),c=A(n,r);if(s?.configuration===c){n.dataset.uiStreamState=s.element.dataset.uiStreamState??`connecting`,t(n,`data-ui-stream-state`),queueMicrotask(()=>s.rescheduleRefresh());return}if(!n.isConnected&&typeof o==`string`){me.has(o)||(me.add(o),queueMicrotask(()=>{me.delete(o);let t=document.getElementById(o);if(!t)return;let n=O.get(o),i=A(t,r);if(n?.configuration===i){n.rescheduleRefresh();return}n?.dispose(),O.set(o,we(e,t,r))}));return}s?.dispose(),O.set(o,we(e,n,r)),i(()=>{let e=O.get(o);e?.element===n&&(e.dispose(),O.delete(o))})})},Ee=e=>{g=e},De=e=>{_=e},Oe=`X-Trellis-UI-Request`,ke=`X-Trellis-Client`,Ae=`X-Trellis-Request-ID`,je=`X-Trellis-Navigate`,Me=`X-Trellis-Navigate-History`,Ne=`[data-ui-stream][data-ui-stream-client]`,Pe=`ui:stream:open`,Fe=`ui:stream:error`,Ie=`ui:stream:disconnected`,Le=`ui:stream:refresh`,Re=`meta[name="csrf-token"]`,ze=`text/event-stream`,Be=`data-ui-request-pending`,Ve=`application/x-www-form-urlencoded`,He=`multipart/form-data`,Ue=new Set([`GET`]),We=null,Ge=null,Ke=e=>{let t=(e||`GET`).toUpperCase();return t===`POST`||t===`PUT`||t===`PATCH`||t===`DELETE`?t:`GET`},qe=(e,t,n)=>{if(e instanceof FormData){e.append(t,n);return}e.append(t,n instanceof File?n.name:String(n))},Je=(e,t,n)=>{if(Array.isArray(n)){n.forEach(n=>Je(e,t,n));return}n!=null&&qe(e,t,n instanceof Blob?n:String(n))},Ye=(e,t)=>{Object.entries(t).forEach(([t,n])=>Je(e,t,n))},Xe=(e,t)=>{if(t){if(t instanceof FormData||t instanceof URLSearchParams){for(let[n,r]of t.entries())qe(e,n,r);return}Ye(e,t)}},Ze=(e,t)=>{let n=new Headers(e);n.set(Oe,`true`);let r=document.querySelector(Re)?.content;return r&&n.set(`X-CSRFToken`,r),t instanceof URLSearchParams&&!n.has(`Content-Type`)&&n.set(`Content-Type`,Ve),n},Qe=(e,t,n)=>{if(e)return new URL(e,document.baseURI);if(t instanceof HTMLFormElement){let e=n?.getAttribute(`formaction`)||t.getAttribute(`action`)||window.location.href;return new URL(e,document.baseURI)}return t instanceof HTMLAnchorElement?new URL(t.href,document.baseURI):new URL(window.location.href)},$e=(e,t)=>t?.getAttribute(`formenctype`)||e.enctype||Ve,et=e=>{if(!(e instanceof HTMLButtonElement||e instanceof HTMLInputElement))return null;let t=e.getAttribute(`name`);return t?[t,e.value]:null},tt=(e,t)=>{let n=new FormData(e),r=et(t);return r&&n.append(...r),n},nt=e=>{let t=new URLSearchParams;for(let[n,r]of e.entries())r instanceof File?t.append(n,r.name):t.append(n,r);return t},rt=(e,t)=>{if(e===void 0)return{payload:t,explicit:!1};if(e instanceof HTMLFormElement)return{payload:new FormData(e),explicit:!0};if(e instanceof FormData||e instanceof URLSearchParams||typeof e==`string`||e instanceof Blob||e instanceof ArrayBuffer)return{payload:e,explicit:!0};let n=new URLSearchParams;return Ye(n,e),{payload:n,explicit:!0}},it=(e,t)=>{if(!t)return e;if(e instanceof FormData||e instanceof URLSearchParams)return Xe(e,t),e;let n=new URLSearchParams;return typeof e==`string`&&n.append(`data`,e),Xe(n,t),n},at=(e,t)=>e instanceof HTMLFormElement?{payload:tt(e,t),enctype:$e(e,t)}:{payload:new URLSearchParams,enctype:Ve},ot=(e,t,n)=>t?Ke(t):e instanceof HTMLFormElement?Ke(n?.getAttribute(`formmethod`)||e.getAttribute(`method`)):`GET`,st=(e,t={})=>{let n=t.source,r=t.submitter??null,i=ot(n,t.method,r),a=Qe(e,n,r),o=at(n,r),s=rt(t.data,o.payload),c=it(s.payload,t.extra),l={method:i,...t.cache?{cache:t.cache}:{}},u=null;return Ue.has(i)?c instanceof FormData||c instanceof URLSearchParams?nt(c).forEach((e,t)=>a.searchParams.append(t,e)):typeof c==`string`&&a.searchParams.append(`data`,c):u=c instanceof FormData&&(s.explicit||o.enctype===He)?c:c instanceof FormData?nt(c):c,l.headers=Ze(t.headers,u),u!=null&&(l.body=u),{url:a,method:i,init:l}},ct=e=>e?.isConnected?e:document,lt=(e,t,n={})=>new CustomEvent(e,{bubbles:!0,composed:!0,cancelable:n.cancelable??!1,detail:t}),j=(e,t,n,r)=>ct(t).dispatchEvent(lt(e,n,r)),M=new WeakMap,ut=e=>{if(!e)return;let t=M.get(e)??0;M.set(e,t+1),e.setAttribute(`aria-busy`,`true`),e.setAttribute(Be,`true`)},dt=e=>{if(!e)return;let t=(M.get(e)??1)-1;if(t>0){M.set(e,t);return}M.delete(e),e.removeAttribute(`aria-busy`),e.removeAttribute(Be)},ft=e=>e.headers.get(`Content-Type`)?.toLowerCase().includes(ze)??!1,pt=async e=>{let t=e.headers.get(je);if(t){let n=e.headers.get(Me)??`auto`;return n!==`auto`&&n!==`push`&&n!==`replace`?(p(`x-ui-request: invalid navigation history`,n),{response:e,type:`other`,url:e.url}):{response:e,type:`navigate`,url:e.url,navigation:{history:n,url:t}}}return e.status===204||e.body===null||e.headers.get(`X-Trellis-UI-Response`)===`empty`?{response:e,type:`empty`,url:e.url}:e.redirected&&!ft(e)?(window.location.assign(e.url),{response:e,type:`redirect`,url:e.url}):(p(`x-ui-request: expected an empty response`,e),{response:e,type:`other`,url:e.url})},mt=new WeakMap,N=e=>{let t=e.dataset.uiStreamClient,n=Number(e.dataset.uiStreamClientExpires);return!t||Number.isFinite(n)&&n>0&&n<=Date.now()?null:t},ht=()=>{let e=document.querySelector(Ne),t=e?N(e):null;return!e||!t||e.dataset.uiStreamState!==`open`?null:{token:t}},gt=e=>{let t=Number(e.dataset.uiStreamTimeout);return Number.isFinite(t)&&t>=0?t:5e3},_t=e=>{let t=document.querySelector(Ne),n=t?N(t):null;if(!t)return Promise.resolve(null);if(n&&t.dataset.uiStreamState===`open`)return Promise.resolve({token:n});if(t.dataset.uiStreamState===`error`||t.dataset.uiStreamState===`disconnected`||e.aborted)return Promise.resolve(null);let r=mt.get(t),i=r??new Promise(e=>{let n=n=>{window.clearTimeout(a),t.removeEventListener(Pe,r),t.removeEventListener(Fe,i),t.removeEventListener(Ie,i),e(n)},r=()=>{let e=N(t);n(e?{token:e}:null)},i=()=>n(null),a=window.setTimeout(i,gt(t));t.addEventListener(Pe,r,{once:!0}),t.addEventListener(Fe,i,{once:!0}),t.addEventListener(Ie,i,{once:!0})}).finally(()=>{mt.delete(t)});return r||mt.set(t,i),new Promise(t=>{let n=()=>t(null);e.addEventListener(`abort`,n,{once:!0}),i.then(r=>{e.removeEventListener(`abort`,n),t(r)})})},vt=async e=>{let t=ht();if(t)return t;let n=document.querySelector(Ne);if(!n)return null;if(!N(n)){n.dispatchEvent(new CustomEvent(Le));let e=ht();if(e)return e}return _t(e)},yt=(e,t)=>{if(!t)return{signal:e.signal,cleanup:()=>void 0};let n=()=>e.abort(t.reason);return t.aborted?n():t.addEventListener(`abort`,n,{once:!0}),{signal:e.signal,cleanup:()=>t.removeEventListener(`abort`,n)}},bt=(e,t)=>t.aborted||e instanceof DOMException&&e.name===`AbortError`||e instanceof Error&&e.name===`AbortError`,xt=async(e,t,n={})=>{let r=n.source,i=new AbortController,a=n.requestId??crypto.randomUUID(),o=st(t,n),s=yt(i,n.signal),c=s.signal;o.init.signal=c,o.init.headers.set(Ae,a);let l=ht()??await vt(c);if(c.aborted)return s.cleanup(),{requestId:a,response:null,type:`aborted`,url:o.url.toString()};if(!l)return s.cleanup(),{requestId:a,response:null,type:c.aborted?`aborted`:`unavailable`,url:o.url.toString()};o.init.headers.set(ke,l.token);let u={source:r??document,url:o.url.toString(),method:o.method,requestInit:o.init,requestId:a,controller:i,signal:c};if(!j(`ui:request:before`,r,u,{cancelable:!0}))return s.cleanup(),{requestId:a,response:null,type:`cancelled`,url:o.url.toString()};ut(r),j(`ui:request:start`,r,u);try{let e=await fetch(o.url.toString(),o.init),t=await pt(e);u.response=e,u.responseType=t.type,e.ok&&t.type!==`other`||t.type===`redirect`?j(`ui:request:success`,r,u):j(`ui:request:error`,r,u);let n={...t,requestId:a};return n.navigation&&Ge?.(n),n}catch(e){if(bt(e,c))return u.responseType=`aborted`,{requestId:a,response:null,type:`aborted`,url:o.url.toString()};throw u.error=e,j(`ui:request:error`,r,u),e}finally{s.cleanup(),dt(r),j(`ui:request:finish`,r,u)}},St=()=>{if(!We)throw Error(`Trellis request runtime has not been registered with Alpine.`);return We},P=(e,t={})=>xt(St(),e,t),Ct=(e,t={})=>P(e,{...t,method:`GET`}),wt=(e,t={})=>P(e,{...t,method:`POST`}),Tt=(e,t={})=>P(e,{...t,method:`PUT`}),Et=(e,t={})=>P(e,{...t,method:`DELETE`}),Dt=e=>{We=e},Ot=e=>{Ge=e},kt=`__trellis`,At=`[data-ui-scroll-restoration]`,jt=150,Mt=20,Nt=100,Pt=!1,F=null,I=0,L=``,Ft=!1,R=null,z=new Map,B=new Set,V=new Map,H=()=>crypto.randomUUID(),It=()=>({containers:{},window:{x:0,y:0}}),Lt=e=>e.getAttribute(`data-ui-scroll-restoration`)?.trim()||e.id||null,U=()=>{let e={};return document.querySelectorAll(At).forEach(t=>{let n=Lt(t);n&&(e[n]={x:t.scrollLeft,y:t.scrollTop})}),{containers:e,window:{x:window.scrollX,y:window.scrollY}}},Rt=(e,t)=>{if(e.window.x!==t.window.x||e.window.y!==t.window.y)return!1;let n=Object.keys(e.containers),r=Object.keys(t.containers);return n.length===r.length?n.every(n=>{let r=e.containers[n],i=t.containers[n];return!!(r&&i&&r.x===i.x&&r.y===i.y)}):!1},W=e=>{if(!i(e))return null;let t=e[kt];if(!i(t))return null;let n=t.navigate;return!i(n)||typeof n.id!=`string`||typeof n.index!=`number`||typeof n.url!=`string`||!i(n.scroll)?null:n},zt=e=>{let t=i(window.history.state)?window.history.state:{},n=i(t.__trellis)?t[kt]:{};return{...t,[kt]:{...n,navigate:e}}},G=(e,t=e.url)=>{window.history.replaceState(zt(e),``,t),L=new URL(t,document.baseURI).href},Bt=()=>{let e=W(window.history.state);if(!e)return;let t=U();z.set(e.id,t),!Rt(e.scroll,t)&&G({...e,scroll:t})},K=()=>{R!==null&&(window.clearTimeout(R),R=null),Bt()},Vt=()=>{let e=W(window.history.state);if(!e)return;let t=U();z.set(e.id,t),!Rt(e.scroll,t)&&(R!==null&&window.clearTimeout(R),R=window.setTimeout(()=>{R=null;let e=W(window.history.state);if(!e)return;let t=z.get(e.id);t&&!Rt(e.scroll,t)&&G({...e,scroll:t})},jt))},Ht=e=>{requestAnimationFrame(()=>{window.scrollTo({left:e.window.x,top:e.window.y,behavior:`instant`}),document.querySelectorAll(At).forEach(t=>{let n=Lt(t),r=n?e.containers[n]:void 0;t.scrollTo({left:r?.x??0,top:r?.y??0,behavior:`instant`})})})},q=(e,t,n=!1)=>{let r=t.source?.isConnected?t.source:document;return r.dispatchEvent(new CustomEvent(e,{bubbles:!0,cancelable:n,composed:!0,detail:{history:t.history,source:r,url:t.destination}}))},Ut=e=>{for(V.set(e.requestId,e);V.size>Mt;){let e=V.keys().next().value;if(!e)break;V.delete(e)}},Wt=e=>{for(B.add(e);B.size>Nt;){let e=B.values().next().value;if(!e)break;B.delete(e)}},Gt=()=>{F&&=(Wt(F.requestId),F.controller.abort(`Superseded by a newer Trellis navigation`),null)},J=()=>{Gt(),V.forEach(e=>Wt(e.requestId)),V.clear()},Y=e=>{window.location.assign(e.href)},X=e=>{let t=new URL(e,document.baseURI);return t.origin===window.location.origin?t:null},Kt=e=>{K();let t={id:H(),index:I+1,scroll:It(),url:e.destination.href};return I=t.index,window.history.pushState(zt(t),``,e.destination),L=e.destination.href,e.entryId=t.id,t},qt=e=>{let t={id:H(),index:I,scroll:It(),url:e.destination.href};return G(t,e.destination),e.entryId=t.id,t},Jt=e=>{if(e.disposition===`replace`)return!0;if(e.disposition===`push`)return!1;let t=new URL(window.location.href);return t.origin===e.destination.origin&&t.pathname===e.destination.pathname},Yt=(e,t)=>{t?.type===`aborted`||t?.type===`cancelled`||t?.type===`redirect`||Y(e.destination)},Xt=(e,t,n)=>{if(B.has(e.requestId))return;if(t.type!==`empty`){Yt(e,t);return}let r=n??(Jt(e)?qt(e):Kt(e));if(n&&e.destination.href!==n.url){let t={...n,url:e.destination.href};G(t,e.destination),e.entryId=t.id}Ht(r.scroll),q(`ui:navigated`,e)},Zt=(e,t,n)=>{let r={controller:new AbortController,destination:t,entryId:n.restoredState?.id??null,history:n.history,disposition:n.disposition??`auto`,requestId:H(),...n.requestOptions?{requestOptions:n.requestOptions}:{},...n.source?{source:n.source}:{}};if(n.preflight!==!1&&!q(`ui:navigate`,r,!0))return Promise.resolve();K(),J(),F=r,q(`ui:navigating`,r);let i=new Headers(r.requestOptions?.headers);i.set(`X-Trellis-Navigation`,r.history?`restore`:`navigate`);let a=!0,o=async()=>{let t=a?r.requestOptions:void 0,n=a?r.source:void 0;a=!1;let s=await xt(e,r.destination,{...t,headers:i,method:`GET`,requestId:r.requestId,signal:r.controller.signal,...n?{source:n}:{}});if(r.destination=new URL(s.url,document.baseURI),!s.navigation)return s;let c=X(s.navigation.url);return c?(r.destination=c,s.navigation.history!==`auto`&&(r.disposition=s.navigation.history),o()):(Y(new URL(s.navigation.url,document.baseURI)),{...s,type:`redirect`})};return o().then(e=>{F?.requestId!==r.requestId&&!V.has(r.requestId)||Xt(r,e,n.restoredState)}).catch(e=>{r.controller.signal.aborted||(p(`x-ui-request.navigate: restoration failed`,e),Yt(r))}).finally(()=>{F?.requestId===r.requestId&&(F=null),B.has(r.requestId)||Ut(r)})},Qt=()=>{let e=W(window.history.state);e?I=e.index:G({id:H(),index:0,scroll:U(),url:window.location.href}),L=window.location.href,`scrollRestoration`in window.history&&(window.history.scrollRestoration=`manual`)},$t=()=>{if(W(window.history.state)?.url===window.location.href)return;let e={id:H(),index:I+1,scroll:U(),url:window.location.href};I=e.index,G(e)},en=(e,t)=>e.origin===t.origin&&e.pathname===t.pathname&&e.search===t.search,tn=e=>{K(),L=e.href},nn=e=>{Pt||(Pt=!0,Qt(),Ee(e=>!e||!B.has(e)),De((e,t)=>t.matches(`[data-ui-stream]`)&&!!(e&&(F?.requestId===e||V.has(e)))),Ot(t=>{if(!t.navigation)return!1;if(B.has(t.requestId)||F?.requestId===t.requestId)return!0;let n=X(t.navigation.url);return n?(Zt(e,n,{history:!1,disposition:t.navigation.history}),!0):(Y(new URL(t.navigation.url,document.baseURI)),!0)}),window.addEventListener(`scroll`,Vt,{passive:!0}),document.addEventListener(`scroll`,e=>{e.target instanceof Element&&e.target.matches(`[data-ui-scroll-restoration]`)&&Vt()},{capture:!0,passive:!0}),window.addEventListener(`pagehide`,K),window.addEventListener(`hashchange`,$t),window.addEventListener(`popstate`,t=>{if(Ft){Ft=!1;return}let n=W(t.state);if(!n){$t();return}let r=z.get(n.id),i=r?{...n,scroll:r}:n,a=X(n.url),o=new URL(window.location.href);if(a&&a.href!==o.href&&en(a,o)){J(),$t();return}if(!a||a.href!==o.href){Y(o);return}let s=X(L);if(s&&s.href!==a.href&&en(s,a)){J(),I=n.index,L=a.href;return}let c=I;if(I=n.index,!q(`ui:navigate`,{controller:new AbortController,destination:a,entryId:n.id,history:!0,disposition:`replace`,requestId:H()},!0)){Ft=!0,window.history.go(c-n.index),I=c;return}L=a.href,Zt(e,a,{history:!0,preflight:!1,restoredState:i})}))},rn=(e,t,n,r)=>{let{history:i=`auto`,...a}=r??{};return Zt(e,new URL(t,document.baseURI),{history:!1,disposition:i,requestOptions:a,...n?{source:n}:{}})},Z={activeRequests:0},an=!1,on=!1,Q={},sn=null,cn=(e,t={})=>{let{history:n,navigate:r=!1,...i}=t;if(!r)return Ct(e,i);if(!sn)throw Error(`Trellis UI runtime has not been registered with Alpine.`);let{source:a,...o}=i;return rn(sn,e,a,{...o,...n?{history:n}:{}})},$=(e,t)=>(n,r={})=>{let{navigate:i=!1,...a}=r;return i&&p(`$ui.${e}: navigate is only supported for GET requests`),t(n,a)},ln={get:cn,post:$(`post`,wt),put:$(`put`,Tt),delete:$(`delete`,Et),get motion(){if(!Q.motion)throw Error(`Trellis Motion capability is not registered.`);return Q.motion},get sortable(){if(!Q.sortable)throw Error(`Trellis Sortable capability is not registered.`);return Q.sortable},get isFetching(){return Z.activeRequests>0}},un=()=>{on||(on=!0,document.addEventListener(`ui:request:start`,()=>{Z.activeRequests+=1}),document.addEventListener(`ui:request:finish`,()=>{Z.activeRequests=Math.max(0,Z.activeRequests-1)}))},dn=e=>{sn=e,an||=(Z=e.reactive(Z),!0),un(),e.magic(`ui`,()=>ln)},fn=e=>{Q.motion=e},pn=e=>{Q.sortable=e};export{rn as a,Dt as c,ae as d,p as f,c as g,f as h,ln as i,xt as l,u as m,fn as n,tn as o,l as p,pn as r,nn as s,dn as t,Te as u};
|
|
4
|
+
//# sourceMappingURL=ui-FNYDCNh6.js.map
|