@ticketlayer/elements 0.2.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/LICENSE +21 -0
- package/README.md +55 -0
- package/dist/cjs/index-DfzcrE9-.js +3598 -0
- package/dist/cjs/index.cjs.js +16 -0
- package/dist/cjs/loader.cjs.js +12 -0
- package/dist/cjs/order-summary-ZMkJ5bez.js +116 -0
- package/dist/cjs/sdk-connector-ClDF3013.js +108 -0
- package/dist/cjs/ticketlayer-elements.cjs.js +24 -0
- package/dist/cjs/tl-buy-modal.cjs.entry.js +127 -0
- package/dist/cjs/tl-buy-tickets-button.cjs.entry.js +131 -0
- package/dist/cjs/tl-buy-tickets-wrapper.cjs.entry.js +58 -0
- package/dist/cjs/tl-cart-badge.cjs.entry.js +109 -0
- package/dist/cjs/tl-cart-drawer.cjs.entry.js +67 -0
- package/dist/cjs/tl-cart.cjs.entry.js +148 -0
- package/dist/cjs/tl-checkout-wrapper.cjs.entry.js +57 -0
- package/dist/cjs/tl-event-card.cjs.entry.js +140 -0
- package/dist/cjs/tl-event-list.cjs.entry.js +80 -0
- package/dist/cjs/tl-login.cjs.entry.js +184 -0
- package/dist/cjs/tl-my-orders.cjs.entry.js +123 -0
- package/dist/cjs/tl-occurrence-selector_2.cjs.entry.js +754 -0
- package/dist/cjs/tl-order-confirmation.cjs.entry.js +146 -0
- package/dist/cjs/tl-order-tickets_2.cjs.entry.js +3198 -0
- package/dist/cjs/tl-promo-code.cjs.entry.js +75 -0
- package/dist/cjs/tl-seat-map.cjs.entry.js +147 -0
- package/dist/collection/collection-manifest.json +29 -0
- package/dist/collection/components/tl-buy-modal/tl-buy-modal.css +264 -0
- package/dist/collection/components/tl-buy-modal/tl-buy-modal.js +249 -0
- package/dist/collection/components/tl-buy-tickets-button/tl-buy-tickets-button.css +120 -0
- package/dist/collection/components/tl-buy-tickets-button/tl-buy-tickets-button.js +412 -0
- package/dist/collection/components/tl-buy-tickets-wrapper/tl-buy-tickets-wrapper.css +23 -0
- package/dist/collection/components/tl-buy-tickets-wrapper/tl-buy-tickets-wrapper.js +192 -0
- package/dist/collection/components/tl-cart/tl-cart.css +251 -0
- package/dist/collection/components/tl-cart/tl-cart.js +314 -0
- package/dist/collection/components/tl-cart-badge/tl-cart-badge.css +138 -0
- package/dist/collection/components/tl-cart-badge/tl-cart-badge.js +217 -0
- package/dist/collection/components/tl-cart-drawer/tl-cart-drawer.css +98 -0
- package/dist/collection/components/tl-cart-drawer/tl-cart-drawer.js +185 -0
- package/dist/collection/components/tl-checkout-wrapper/tl-checkout-wrapper.css +23 -0
- package/dist/collection/components/tl-checkout-wrapper/tl-checkout-wrapper.js +148 -0
- package/dist/collection/components/tl-event-card/event-card-adapter.js +23 -0
- package/dist/collection/components/tl-event-card/tl-event-card.css +175 -0
- package/dist/collection/components/tl-event-card/tl-event-card.js +205 -0
- package/dist/collection/components/tl-event-list/tl-event-list.css +134 -0
- package/dist/collection/components/tl-event-list/tl-event-list.js +171 -0
- package/dist/collection/components/tl-login/tl-login.css +133 -0
- package/dist/collection/components/tl-login/tl-login.js +309 -0
- package/dist/collection/components/tl-my-orders/tl-my-orders.css +204 -0
- package/dist/collection/components/tl-my-orders/tl-my-orders.js +221 -0
- package/dist/collection/components/tl-occurrence-selector/tl-occurrence-selector.css +658 -0
- package/dist/collection/components/tl-occurrence-selector/tl-occurrence-selector.js +707 -0
- package/dist/collection/components/tl-order-confirmation/tl-order-confirmation.css +176 -0
- package/dist/collection/components/tl-order-confirmation/tl-order-confirmation.js +298 -0
- package/dist/collection/components/tl-order-tickets/tl-order-tickets.css +30 -0
- package/dist/collection/components/tl-order-tickets/tl-order-tickets.js +122 -0
- package/dist/collection/components/tl-promo-code/tl-promo-code.css +106 -0
- package/dist/collection/components/tl-promo-code/tl-promo-code.js +181 -0
- package/dist/collection/components/tl-seat-map/tl-seat-map.css +85 -0
- package/dist/collection/components/tl-seat-map/tl-seat-map.js +366 -0
- package/dist/collection/components/tl-ticket/tl-ticket.css +90 -0
- package/dist/collection/components/tl-ticket/tl-ticket.js +129 -0
- package/dist/collection/components/tl-ticket-selector/tl-ticket-selector.css +205 -0
- package/dist/collection/components/tl-ticket-selector/tl-ticket-selector.js +332 -0
- package/dist/collection/index.js +10 -0
- package/dist/collection/utils/order-summary.js +101 -0
- package/dist/collection/utils/sdk-connector.js +100 -0
- package/dist/collection/utils/testing/mock-sdk.js +95 -0
- package/dist/components/index.d.ts +35 -0
- package/dist/components/index.js +1 -0
- package/dist/components/order-summary.js +1 -0
- package/dist/components/sdk-connector.js +1 -0
- package/dist/components/tl-buy-modal.d.ts +11 -0
- package/dist/components/tl-buy-modal.js +1 -0
- package/dist/components/tl-buy-tickets-button.d.ts +11 -0
- package/dist/components/tl-buy-tickets-button.js +1 -0
- package/dist/components/tl-buy-tickets-wrapper.d.ts +11 -0
- package/dist/components/tl-buy-tickets-wrapper.js +1 -0
- package/dist/components/tl-buy-tickets-wrapper2.js +1 -0
- package/dist/components/tl-cart-badge.d.ts +11 -0
- package/dist/components/tl-cart-badge.js +1 -0
- package/dist/components/tl-cart-drawer.d.ts +11 -0
- package/dist/components/tl-cart-drawer.js +1 -0
- package/dist/components/tl-cart.d.ts +11 -0
- package/dist/components/tl-cart.js +1 -0
- package/dist/components/tl-cart2.js +1 -0
- package/dist/components/tl-checkout-wrapper.d.ts +11 -0
- package/dist/components/tl-checkout-wrapper.js +1 -0
- package/dist/components/tl-checkout-wrapper2.js +1 -0
- package/dist/components/tl-event-card.d.ts +11 -0
- package/dist/components/tl-event-card.js +1 -0
- package/dist/components/tl-event-card2.js +1 -0
- package/dist/components/tl-event-list.d.ts +11 -0
- package/dist/components/tl-event-list.js +1 -0
- package/dist/components/tl-login.d.ts +11 -0
- package/dist/components/tl-login.js +1 -0
- package/dist/components/tl-login2.js +1 -0
- package/dist/components/tl-my-orders.d.ts +11 -0
- package/dist/components/tl-my-orders.js +1 -0
- package/dist/components/tl-occurrence-selector.d.ts +11 -0
- package/dist/components/tl-occurrence-selector.js +1 -0
- package/dist/components/tl-occurrence-selector2.js +1 -0
- package/dist/components/tl-order-confirmation.d.ts +11 -0
- package/dist/components/tl-order-confirmation.js +1 -0
- package/dist/components/tl-order-tickets.d.ts +11 -0
- package/dist/components/tl-order-tickets.js +1 -0
- package/dist/components/tl-order-tickets2.js +1 -0
- package/dist/components/tl-promo-code.d.ts +11 -0
- package/dist/components/tl-promo-code.js +1 -0
- package/dist/components/tl-seat-map.d.ts +11 -0
- package/dist/components/tl-seat-map.js +1 -0
- package/dist/components/tl-ticket-selector.d.ts +11 -0
- package/dist/components/tl-ticket-selector.js +1 -0
- package/dist/components/tl-ticket-selector2.js +1 -0
- package/dist/components/tl-ticket.d.ts +11 -0
- package/dist/components/tl-ticket.js +1 -0
- package/dist/components/tl-ticket2.js +1 -0
- package/dist/elements.docs.d.ts +454 -0
- package/dist/elements.docs.json +3008 -0
- package/dist/esm/index-Ba-RZTFI.js +3588 -0
- package/dist/esm/index.js +4 -0
- package/dist/esm/loader.js +10 -0
- package/dist/esm/order-summary-BGekdjN9.js +103 -0
- package/dist/esm/sdk-connector-CqhvfyKV.js +102 -0
- package/dist/esm/ticketlayer-elements.js +20 -0
- package/dist/esm/tl-buy-modal.entry.js +125 -0
- package/dist/esm/tl-buy-tickets-button.entry.js +129 -0
- package/dist/esm/tl-buy-tickets-wrapper.entry.js +56 -0
- package/dist/esm/tl-cart-badge.entry.js +107 -0
- package/dist/esm/tl-cart-drawer.entry.js +65 -0
- package/dist/esm/tl-cart.entry.js +146 -0
- package/dist/esm/tl-checkout-wrapper.entry.js +55 -0
- package/dist/esm/tl-event-card.entry.js +138 -0
- package/dist/esm/tl-event-list.entry.js +78 -0
- package/dist/esm/tl-login.entry.js +182 -0
- package/dist/esm/tl-my-orders.entry.js +121 -0
- package/dist/esm/tl-occurrence-selector_2.entry.js +751 -0
- package/dist/esm/tl-order-confirmation.entry.js +144 -0
- package/dist/esm/tl-order-tickets_2.entry.js +3195 -0
- package/dist/esm/tl-promo-code.entry.js +73 -0
- package/dist/esm/tl-seat-map.entry.js +145 -0
- package/dist/index.cjs.js +1 -0
- package/dist/index.js +1 -0
- package/dist/ticketlayer-elements/index.esm.js +1 -0
- package/dist/ticketlayer-elements/p-0291df4c.entry.js +1 -0
- package/dist/ticketlayer-elements/p-10f01a1f.entry.js +1 -0
- package/dist/ticketlayer-elements/p-11273f8f.entry.js +1 -0
- package/dist/ticketlayer-elements/p-340ab4f5.entry.js +1 -0
- package/dist/ticketlayer-elements/p-41d22d7c.entry.js +1 -0
- package/dist/ticketlayer-elements/p-82752e3b.entry.js +1 -0
- package/dist/ticketlayer-elements/p-976770f3.entry.js +1 -0
- package/dist/ticketlayer-elements/p-9a903ff6.entry.js +1 -0
- package/dist/ticketlayer-elements/p-9c9072c8.entry.js +1 -0
- package/dist/ticketlayer-elements/p-9d8163d6.entry.js +1 -0
- package/dist/ticketlayer-elements/p-BGekdjN9.js +1 -0
- package/dist/ticketlayer-elements/p-Ba-RZTFI.js +2 -0
- package/dist/ticketlayer-elements/p-CqhvfyKV.js +1 -0
- package/dist/ticketlayer-elements/p-a5c90b68.entry.js +1 -0
- package/dist/ticketlayer-elements/p-b6d479ad.entry.js +1 -0
- package/dist/ticketlayer-elements/p-dd43f015.entry.js +1 -0
- package/dist/ticketlayer-elements/p-eb640760.entry.js +1 -0
- package/dist/ticketlayer-elements/p-ee3aa227.entry.js +1 -0
- package/dist/ticketlayer-elements/p-fb9444c4.entry.js +1 -0
- package/dist/ticketlayer-elements/ticketlayer-elements.css +1 -0
- package/dist/ticketlayer-elements/ticketlayer-elements.esm.js +1 -0
- package/dist/types/components/tl-buy-modal/tl-buy-modal.d.ts +54 -0
- package/dist/types/components/tl-buy-tickets-button/tl-buy-tickets-button.d.ts +61 -0
- package/dist/types/components/tl-buy-tickets-wrapper/tl-buy-tickets-wrapper.d.ts +52 -0
- package/dist/types/components/tl-cart/tl-cart.d.ts +80 -0
- package/dist/types/components/tl-cart-badge/tl-cart-badge.d.ts +36 -0
- package/dist/types/components/tl-cart-drawer/tl-cart-drawer.d.ts +35 -0
- package/dist/types/components/tl-checkout-wrapper/tl-checkout-wrapper.d.ts +39 -0
- package/dist/types/components/tl-event-card/event-card-adapter.d.ts +23 -0
- package/dist/types/components/tl-event-card/tl-event-card.d.ts +55 -0
- package/dist/types/components/tl-event-list/tl-event-list.d.ts +30 -0
- package/dist/types/components/tl-login/tl-login.d.ts +59 -0
- package/dist/types/components/tl-my-orders/tl-my-orders.d.ts +39 -0
- package/dist/types/components/tl-occurrence-selector/tl-occurrence-selector.d.ts +208 -0
- package/dist/types/components/tl-order-confirmation/tl-order-confirmation.d.ts +54 -0
- package/dist/types/components/tl-order-tickets/tl-order-tickets.d.ts +21 -0
- package/dist/types/components/tl-promo-code/tl-promo-code.d.ts +39 -0
- package/dist/types/components/tl-seat-map/tl-seat-map.d.ts +68 -0
- package/dist/types/components/tl-ticket/tl-ticket.d.ts +28 -0
- package/dist/types/components/tl-ticket-selector/tl-ticket-selector.d.ts +78 -0
- package/dist/types/components.d.ts +1629 -0
- package/dist/types/index.d.ts +14 -0
- package/dist/types/stencil-public-runtime.d.ts +1839 -0
- package/dist/types/utils/order-summary.d.ts +67 -0
- package/dist/types/utils/sdk-connector.d.ts +113 -0
- package/dist/types/utils/testing/mock-sdk.d.ts +36 -0
- package/elements.catalogue.json +968 -0
- package/loader/cdn.js +1 -0
- package/loader/index.cjs.js +1 -0
- package/loader/index.d.ts +24 -0
- package/loader/index.es2017.js +1 -0
- package/loader/index.js +2 -0
- package/package.json +101 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const t=()=>{},e=":root{--tl-font-family:system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;--tl-font-family-mono:ui-monospace, SFMono-Regular, 'SF Mono', Menlo, monospace;--tl-primary:#6366f1;--tl-primary-foreground:#ffffff;--tl-secondary:#f3f4f6;--tl-secondary-foreground:#111827;--tl-background:#ffffff;--tl-foreground:#111827;--tl-muted:#f9fafb;--tl-muted-foreground:#6b7280;--tl-border:#e5e7eb;--tl-success:#10b981;--tl-success-foreground:#ffffff;--tl-warning:#f59e0b;--tl-warning-foreground:#ffffff;--tl-error:#ef4444;--tl-error-foreground:#ffffff;--tl-radius-sm:0.25rem;--tl-radius-md:0.5rem;--tl-radius-lg:0.75rem;--tl-spacing-1:0.25rem;--tl-spacing-2:0.5rem;--tl-spacing-3:0.75rem;--tl-spacing-4:1rem;--tl-spacing-6:1.5rem;--tl-spacing-8:2rem}";var n,s,i,r,o,l,f,c,u,a,h,p,d,v,m,g,b,w=Object.create,y=Object.defineProperty,$=Object.getOwnPropertyDescriptor,S=Object.getOwnPropertyNames,O=Object.getPrototypeOf,j=Object.prototype.hasOwnProperty,k=t=>{throw TypeError(t)},M=(t,e)=>function(){return e||(0,t[S(t)[0]])((e={exports:{}}).exports,e),e.exports},E=(t,e,n)=>e.has(t)||k("Cannot "+n),x=(t,e,n)=>(E(t,e,"read from private field"),n?n.call(t):e.get(t)),N=(t,e,n)=>e.has(t)?k("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,n),R=(t,e,n)=>(E(t,e,"write to private field"),e.set(t,n),n),P=(t,e,n)=>(E(t,e,"access private method"),n),C=M({"node_modules/balanced-match/index.js"(t,e){function n(t,e,n){t instanceof RegExp&&(t=s(t,n)),e instanceof RegExp&&(e=s(e,n));var r=i(t,e,n);return r&&{start:r[0],end:r[1],pre:n.slice(0,r[0]),body:n.slice(r[0]+t.length,r[1]),post:n.slice(r[1]+e.length)}}function s(t,e){var n=e.match(t);return n?n[0]:null}function i(t,e,n){var s,i,r,o,l,f=n.indexOf(t),c=n.indexOf(e,f+1),u=f;if(f>=0&&c>0){if(t===e)return[f,c];for(s=[],r=n.length;u>=0&&!l;)u==f?(s.push(u),f=n.indexOf(t,u+1)):1==s.length?l=[s.pop(),c]:((i=s.pop())<r&&(r=i,o=c),c=n.indexOf(e,u+1)),u=f<c&&f>=0?f:c;s.length&&(l=[r,o])}return l}e.exports=n,n.range=i}}),W=M({"node_modules/brace-expansion/index.js"(t,e){var n=C();e.exports=function(t){return t?("{}"===t.substr(0,2)&&(t="\\{\\}"+t.substr(2)),v(function(t){return t.split("\\\\").join(s).split("\\{").join(i).split("\\}").join(r).split("\\,").join(o).split("\\.").join(l)}(t),!0).map(c)):[]};var s="\0SLASH"+Math.random()+"\0",i="\0OPEN"+Math.random()+"\0",r="\0CLOSE"+Math.random()+"\0",o="\0COMMA"+Math.random()+"\0",l="\0PERIOD"+Math.random()+"\0";function f(t){return parseInt(t,10)==t?parseInt(t,10):t.charCodeAt(0)}function c(t){return t.split(s).join("\\").split(i).join("{").split(r).join("}").split(o).join(",").split(l).join(".")}function u(t){if(!t)return[""];var e=[],s=n("{","}",t);if(!s)return t.split(",");var i=s.body,r=s.post,o=s.pre.split(",");o[o.length-1]+="{"+i+"}";var l=u(r);return r.length&&(o[o.length-1]+=l.shift(),o.push.apply(o,l)),e.push.apply(e,o),e}function a(t){return"{"+t+"}"}function h(t){return/^-?0\d/.test(t)}function p(t,e){return t<=e}function d(t,e){return t>=e}function v(t,e){var s=[],i=n("{","}",t);if(!i)return[t];var o=i.pre,l=i.post.length?v(i.post,!1):[""];if(/\$$/.test(i.pre))for(var c=0;c<l.length;c++)s.push(W=o+"{"+i.body+"}"+l[c]);else{var m,g,b=/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(i.body),w=/^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(i.body),y=b||w,$=i.body.indexOf(",")>=0;if(!y&&!$)return i.post.match(/,(?!,).*\}/)?v(t=i.pre+"{"+i.body+r+i.post):[t];if(y)m=i.body.split(/\.\./);else if(1===(m=u(i.body)).length&&1===(m=v(m[0],!1).map(a)).length)return l.map((function(t){return i.pre+m[0]+t}));if(y){var S=f(m[0]),O=f(m[1]),j=Math.max(m[0].length,m[1].length),k=3==m.length?Math.abs(f(m[2])):1,M=p;O<S&&(k*=-1,M=d);var E=m.some(h);g=[];for(var x=S;M(x,O);x+=k){var N;if(w)"\\"===(N=String.fromCharCode(x))&&(N="");else if(N=x+"",E){var R=j-N.length;if(R>0){var P=Array(R+1).join("0");N=x<0?"-"+P+N.slice(1):P+N}}g.push(N)}}else{g=[];for(var C=0;C<m.length;C++)g.push.apply(g,v(m[C],!1))}for(C=0;C<g.length;C++)for(c=0;c<l.length;c++){var W=o+g[C]+l[c];(!e||y||W)&&s.push(W)}}return s}}}),A=(t,e)=>{var n;Object.entries(null!=(n=e.i.t)?n:{}).map((([n,[s]])=>{if(31&s||32&s){const s=t[n],i=function(t,e){for(;t;){const n=Object.getOwnPropertyDescriptor(t,e);if(null==n?void 0:n.get)return n;t=Object.getPrototypeOf(t)}}(Object.getPrototypeOf(t),n)||Object.getOwnPropertyDescriptor(t,n);i&&Object.defineProperty(t,n,{get(){return i.get.call(this)},set(t){i.set.call(this,t)},configurable:!0,enumerable:!0}),t[n]=e.o.has(n)?e.o.get(n):s}}))},L=t=>{if(t.__stencil__getHostRef)return t.__stencil__getHostRef()},T=(t,e)=>{e&&(t.__stencil__getHostRef=()=>e,e.l=t,512&e.i.u&&A(t,e))},z=(t,e)=>e in t,F=(t,e)=>(0,console.error)(t,e),_=new Map,D=new Map,I="slot-fb{display:contents}slot-fb[hidden]{display:none}",U="undefined"!=typeof window?window:{},B={u:0,h:"",jmp:t=>t(),raf:t=>requestAnimationFrame(t),ael:(t,e,n,s)=>t.addEventListener(e,n,s),rel:(t,e,n,s)=>t.removeEventListener(e,n,s),ce:(t,e)=>new CustomEvent(t,e)},G=t=>Promise.resolve(t),H=(()=>{try{return!!U.document.adoptedStyleSheets&&(new CSSStyleSheet,"function"==typeof(new CSSStyleSheet).replaceSync)}catch(t){}return!1})(),Z=!!H&&(()=>!!U.document&&Object.getOwnPropertyDescriptor(U.document.adoptedStyleSheets,"length").writable)(),V=!1,q=[],Y=[],J=(t,e)=>n=>{t.push(n),V||(V=!0,e&&4&B.u?X(Q):B.raf(Q))},K=t=>{for(let e=0;e<t.length;e++)try{t[e](performance.now())}catch(t){F(t)}t.length=0},Q=()=>{K(q),K(Y),(V=q.length>0)&&B.raf(Q)},X=t=>G().then(t),tt=J(Y,!0),et=t=>"object"==(t=typeof t)||"function"===t,nt=((t,e,n)=>(n=null!=t?w(O(t)):{},((t,e,n,s)=>{if(e&&"object"==typeof e||"function"==typeof e)for(let n of S(e))j.call(t,n)||undefined===n||y(t,n,{get:()=>e[n],enumerable:!(s=$(e,n))||s.enumerable});return t})(y(n,"default",{value:t,enumerable:!0}),t)))(W()),st=t=>{if("string"!=typeof t)throw new TypeError("invalid pattern");if(t.length>65536)throw new TypeError("pattern is too long")},it={"[:alnum:]":["\\p{L}\\p{Nl}\\p{Nd}",!0],"[:alpha:]":["\\p{L}\\p{Nl}",!0],"[:ascii:]":["\\x00-\\x7f",!1],"[:blank:]":["\\p{Zs}\\t",!0],"[:cntrl:]":["\\p{Cc}",!0],"[:digit:]":["\\p{Nd}",!0],"[:graph:]":["\\p{Z}\\p{C}",!0,!0],"[:lower:]":["\\p{Ll}",!0],"[:print:]":["\\p{C}",!0],"[:punct:]":["\\p{P}",!0],"[:space:]":["\\p{Z}\\t\\r\\n\\v\\f",!0],"[:upper:]":["\\p{Lu}",!0],"[:word:]":["\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}",!0],"[:xdigit:]":["A-Fa-f0-9",!1]},rt=t=>t.replace(/[[\]\\-]/g,"\\$&"),ot=t=>t.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),lt=t=>t.join(""),ft=(t,e)=>{const n=e;if("["!==t.charAt(n))throw Error("not in a brace expression");const s=[],i=[];let r=n+1,o=!1,l=!1,f=!1,c=!1,u=n,a="";t:for(;r<t.length;){const e=t.charAt(r);if("!"!==e&&"^"!==e||r!==n+1){if("]"===e&&o&&!f){u=r+1;break}if(o=!0,"\\"!==e||f){if("["===e&&!f)for(const[e,[o,f,c]]of Object.entries(it))if(t.startsWith(e,r)){if(a)return["$.",!1,t.length-n,!0];r+=e.length,c?i.push(o):s.push(o),l=l||f;continue t}f=!1,a?(e>a?s.push(rt(a)+"-"+rt(e)):e===a&&s.push(rt(e)),a="",r++):t.startsWith("-]",r+1)?(s.push(rt(e+"-")),r+=2):t.startsWith("-",r+1)?(a=e,r+=2):(s.push(rt(e)),r++)}else f=!0,r++}else c=!0,r++}if(u<r)return["",!1,0,!1];if(!s.length&&!i.length)return["$.",!1,t.length-n,!0];if(0===i.length&&1===s.length&&/^\\?.$/.test(s[0])&&!c){const t=2===s[0].length?s[0].slice(-1):s[0];return[ot(t),!1,u-n,!1]}const h="["+(c?"^":"")+lt(s)+"]",p="["+(c?"":"^")+lt(i)+"]";return[s.length&&i.length?"("+h+"|"+p+")":s.length?h:p,l,u-n,!0]},ct=(t,{windowsPathsNoEscape:e=!1}={})=>e?t.replace(/\[([^\/\\])\]/g,"$1"):t.replace(/((?!\\).|^)\[([^\/\\])\]/g,"$1$2").replace(/\\([^\/])/g,"$1"),ut=new Set(["!","?","+","*","@"]),at=t=>ut.has(t),ht="(?!\\.)",pt=new Set(["[","."]),dt=new Set(["..","."]),vt=new Set("().*{}+?[]^$\\!"),mt=t=>t.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),gt="[^/]",bt=gt+"*?",wt=gt+"+?",yt=class t{constructor(t,e,d={}){N(this,p),((t,e,n)=>{((t,e,n)=>{e in t?y(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n})(t,e+"",n)})(this,"type"),N(this,n),N(this,s),N(this,i,!1),N(this,r,[]),N(this,o),N(this,l),N(this,f),N(this,c,!1),N(this,u),N(this,a),N(this,h,!1),this.type=t,t&&R(this,s,!0),R(this,o,e),R(this,n,x(this,o)?x(x(this,o),n):this),R(this,u,x(this,n)===this?d:x(x(this,n),u)),R(this,f,x(this,n)===this?[]:x(x(this,n),f)),"!"!==t||x(x(this,n),c)||x(this,f).push(this),R(this,l,x(this,o)?x(x(this,o),r).length:0)}get hasMagic(){if(void 0!==x(this,s))return x(this,s);for(const t of x(this,r))if("string"!=typeof t&&(t.type||t.hasMagic))return R(this,s,!0);return x(this,s)}toString(){return void 0!==x(this,a)?x(this,a):R(this,a,this.type?this.type+"("+x(this,r).map((t=>t+"")).join("|")+")":x(this,r).map((t=>t+"")).join(""))}push(...e){for(const n of e)if(""!==n){if("string"!=typeof n&&!(n instanceof t&&x(n,o)===this))throw Error("invalid part: "+n);x(this,r).push(n)}}toJSON(){var t;const e=null===this.type?x(this,r).slice().map((t=>"string"==typeof t?t:t.toJSON())):[this.type,...x(this,r).map((t=>t.toJSON()))];return this.isStart()&&!this.type&&e.unshift([]),this.isEnd()&&(this===x(this,n)||x(x(this,n),c)&&"!"===(null==(t=x(this,o))?void 0:t.type))&&e.push({}),e}isStart(){var e;if(x(this,n)===this)return!0;if(!(null==(e=x(this,o))?void 0:e.isStart()))return!1;if(0===x(this,l))return!0;const s=x(this,o);for(let e=0;e<x(this,l);e++){const n=x(s,r)[e];if(!(n instanceof t&&"!"===n.type))return!1}return!0}isEnd(){var t,e,s;if(x(this,n)===this)return!0;if("!"===(null==(t=x(this,o))?void 0:t.type))return!0;if(!(null==(e=x(this,o))?void 0:e.isEnd()))return!1;if(!this.type)return null==(s=x(this,o))?void 0:s.isEnd();const i=x(this,o)?x(x(this,o),r).length:0;return x(this,l)===i-1}copyIn(t){this.push("string"==typeof t?t:t.clone(this))}clone(e){const n=new t(this.type,e);for(const t of x(this,r))n.copyIn(t);return n}static fromGlob(e,n={}){var s;const i=new t(null,void 0,n);return P(s=t,v,m).call(s,e,i,0,n),i}toMMPattern(){if(this!==x(this,n))return x(this,n).toMMPattern();const t=""+this,[e,i,r,o]=this.toRegExpSource();if(!(r||x(this,s)||x(this,u).nocase&&!x(this,u).nocaseMagicOnly&&t.toUpperCase()!==t.toLowerCase()))return i;const l=(x(this,u).nocase?"i":"")+(o?"u":"");return Object.assign(RegExp(`^${e}$`,l),{_src:e,_glob:t})}get options(){return x(this,u)}toRegExpSource(e){var l;const f=null!=e?e:!!x(this,u).dot;if(x(this,n)===this&&P(this,p,d).call(this),!this.type){const u=this.isStart()&&this.isEnd(),a=x(this,r).map((n=>{var r;const[o,l,f,c]="string"==typeof n?P(r=t,v,b).call(r,n,x(this,s),u):n.toRegExpSource(e);return R(this,s,x(this,s)||f),R(this,i,x(this,i)||c),o})).join("");let h="";if(this.isStart()&&"string"==typeof x(this,r)[0]&&(1!==x(this,r).length||!dt.has(x(this,r)[0]))){const t=pt,n=f&&t.has(a.charAt(0))||a.startsWith("\\.")&&t.has(a.charAt(2))||a.startsWith("\\.\\.")&&t.has(a.charAt(4)),s=!f&&!e&&t.has(a.charAt(0));h=n?"(?!(?:^|/)\\.\\.?(?:$|/))":s?ht:""}let p="";return this.isEnd()&&x(x(this,n),c)&&"!"===(null==(l=x(this,o))?void 0:l.type)&&(p="(?:$|\\/)"),[h+a+p,ct(a),R(this,s,!!x(this,s)),x(this,i)]}const a="*"===this.type||"+"===this.type,m="!"===this.type?"(?:(?!(?:":"(?:";let w=P(this,p,g).call(this,f);if(this.isStart()&&this.isEnd()&&!w&&"!"!==this.type){const t=""+this;return R(this,r,[t]),this.type=null,R(this,s,void 0),[t,ct(""+this),!1,!1]}let y=!a||e||f?"":P(this,p,g).call(this,!0);y===w&&(y=""),y&&(w=`(?:${w})(?:${y})*?`);let $="";return $="!"===this.type&&x(this,h)?(this.isStart()&&!f?ht:"")+wt:m+w+("!"===this.type?"))"+(!this.isStart()||f||e?"":ht)+bt+")":"@"===this.type?")":"?"===this.type?")?":"+"===this.type&&y?")":"*"===this.type&&y?")?":")"+this.type),[$,ct(w),R(this,s,!!x(this,s)),x(this,i)]}};n=new WeakMap,s=new WeakMap,i=new WeakMap,r=new WeakMap,o=new WeakMap,l=new WeakMap,f=new WeakMap,c=new WeakMap,u=new WeakMap,a=new WeakMap,h=new WeakMap,p=new WeakSet,d=function(){if(this!==x(this,n))throw Error("should only call on root");if(x(this,c))return this;let t;for(R(this,c,!0);t=x(this,f).pop();){if("!"!==t.type)continue;let e=t,n=x(e,o);for(;n;){for(let s=x(e,l)+1;!n.type&&s<x(n,r).length;s++)for(const e of x(t,r)){if("string"==typeof e)throw Error("string part in extglob AST??");e.copyIn(x(n,r)[s])}e=n,n=x(e,o)}}return this},v=new WeakSet,m=function(t,e,n,i){var o,l;let f=!1,c=!1,u=-1,a=!1;if(null===e.type){let s=n,r="";for(;s<t.length;){const n=t.charAt(s++);if(f||"\\"===n)f=!f,r+=n;else if(c)s===u+1?"^"!==n&&"!"!==n||(a=!0):"]"!==n||s===u+2&&a||(c=!1),r+=n;else if("["!==n)if(i.noext||!at(n)||"("!==t.charAt(s))r+=n;else{e.push(r),r="";const l=new yt(n,e);s=P(o=yt,v,m).call(o,t,l,s,i),e.push(l)}else c=!0,u=s,a=!1,r+=n}return e.push(r),s}let p=n+1,d=new yt(null,e);const g=[];let b="";for(;p<t.length;){const n=t.charAt(p++);if(f||"\\"===n)f=!f,b+=n;else if(c)p===u+1?"^"!==n&&"!"!==n||(a=!0):"]"!==n||p===u+2&&a||(c=!1),b+=n;else if("["!==n)if(at(n)&&"("===t.charAt(p)){d.push(b),b="";const e=new yt(n,d);d.push(e),p=P(l=yt,v,m).call(l,t,e,p,i)}else if("|"!==n){if(")"===n)return""===b&&0===x(e,r).length&&R(e,h,!0),d.push(b),b="",e.push(...g,d),p;b+=n}else d.push(b),b="",g.push(d),d=new yt(null,e);else c=!0,u=p,a=!1,b+=n}return e.type=null,R(e,s,void 0),R(e,r,[t.substring(n-1)]),p},g=function(t){return x(this,r).map((e=>{if("string"==typeof e)throw Error("string type in extglob ast??");const[n,s,r,o]=e.toRegExpSource(t);return R(this,i,x(this,i)||o),n})).filter((t=>!(this.isStart()&&this.isEnd()&&!t))).join("|")},b=function(t,e,n=!1){let s=!1,i="",r=!1;for(let o=0;o<t.length;o++){const l=t.charAt(o);if(s)s=!1,i+=(vt.has(l)?"\\":"")+l;else if("\\"!==l){if("["===l){const[n,s,l,f]=ft(t,o);if(l){i+=n,r=r||s,o+=l-1,e=e||f;continue}}"*"!==l?"?"!==l?i+=mt(l):(i+=gt,e=!0):(i+=n&&"*"===t?wt:bt,e=!0)}else o===t.length-1?i+="\\\\":s=!0}return[i,ct(t),!!e,r]},N(yt,v);var $t=yt,St=(t,e,n={})=>(st(e),!(!n.nocomment&&"#"===e.charAt(0))&&new qt(e,n).match(t)),Ot=/^\*+([^+@!?\*\[\(]*)$/,jt=t=>e=>!e.startsWith(".")&&e.endsWith(t),kt=t=>e=>e.endsWith(t),Mt=t=>(t=t.toLowerCase(),e=>!e.startsWith(".")&&e.toLowerCase().endsWith(t)),Et=t=>(t=t.toLowerCase(),e=>e.toLowerCase().endsWith(t)),xt=/^\*+\.\*+$/,Nt=t=>!t.startsWith(".")&&t.includes("."),Rt=t=>"."!==t&&".."!==t&&t.includes("."),Pt=/^\.\*+$/,Ct=t=>"."!==t&&".."!==t&&t.startsWith("."),Wt=/^\*+$/,At=t=>0!==t.length&&!t.startsWith("."),Lt=t=>0!==t.length&&"."!==t&&".."!==t,Tt=/^\?+([^+@!?\*\[\(]*)?$/,zt=([t,e=""])=>{const n=It([t]);return e?(e=e.toLowerCase(),t=>n(t)&&t.toLowerCase().endsWith(e)):n},Ft=([t,e=""])=>{const n=Ut([t]);return e?(e=e.toLowerCase(),t=>n(t)&&t.toLowerCase().endsWith(e)):n},_t=([t,e=""])=>{const n=Ut([t]);return e?t=>n(t)&&t.endsWith(e):n},Dt=([t,e=""])=>{const n=It([t]);return e?t=>n(t)&&t.endsWith(e):n},It=([t])=>{const e=t.length;return t=>t.length===e&&!t.startsWith(".")},Ut=([t])=>{const e=t.length;return t=>t.length===e&&"."!==t&&".."!==t},Bt="object"==typeof process&&process?"object"==typeof process.env&&process.env&&process.env.__MINIMATCH_TESTING_PLATFORM__||process.platform:"posix";St.sep="win32"===Bt?"\\":"/";var Gt=Symbol("globstar **");St.GLOBSTAR=Gt,St.filter=(t,e={})=>n=>St(n,t,e);var Ht=(t,e={})=>Object.assign({},t,e);St.defaults=t=>{if(!t||"object"!=typeof t||!Object.keys(t).length)return St;const e=St;return Object.assign(((n,s,i={})=>e(n,s,Ht(t,i))),{Minimatch:class extends e.Minimatch{constructor(e,n={}){super(e,Ht(t,n))}static defaults(n){return e.defaults(Ht(t,n)).Minimatch}},AST:class extends e.AST{constructor(e,n,s={}){super(e,n,Ht(t,s))}static fromGlob(n,s={}){return e.AST.fromGlob(n,Ht(t,s))}},unescape:(n,s={})=>e.unescape(n,Ht(t,s)),escape:(n,s={})=>e.escape(n,Ht(t,s)),filter:(n,s={})=>e.filter(n,Ht(t,s)),defaults:n=>e.defaults(Ht(t,n)),makeRe:(n,s={})=>e.makeRe(n,Ht(t,s)),braceExpand:(n,s={})=>e.braceExpand(n,Ht(t,s)),match:(n,s,i={})=>e.match(n,s,Ht(t,i)),sep:e.sep,GLOBSTAR:Gt})};var Zt=(t,e={})=>(st(t),e.nobrace||!/\{(?:(?!\{).)*\}/.test(t)?[t]:(0,nt.default)(t));St.braceExpand=Zt,St.makeRe=(t,e={})=>new qt(t,e).makeRe(),St.match=(t,e,n={})=>{const s=new qt(e,n);return t=t.filter((t=>s.match(t))),s.options.nonull&&!t.length&&t.push(e),t};var Vt=/[?*]|[+@!]\(.*?\)|\[|\]/,qt=class{options;set;pattern;windowsPathsNoEscape;nonegate;negate;comment;empty;preserveMultipleSlashes;partial;globSet;globParts;nocase;isWindows;platform;windowsNoMagicRoot;regexp;constructor(t,e={}){st(t),this.options=e=e||{},this.pattern=t,this.platform=e.platform||Bt,this.isWindows="win32"===this.platform,this.windowsPathsNoEscape=!!e.windowsPathsNoEscape||!1===e.allowWindowsEscape,this.windowsPathsNoEscape&&(this.pattern=this.pattern.replace(/\\/g,"/")),this.preserveMultipleSlashes=!!e.preserveMultipleSlashes,this.regexp=null,this.negate=!1,this.nonegate=!!e.nonegate,this.comment=!1,this.empty=!1,this.partial=!!e.partial,this.nocase=!!this.options.nocase,this.windowsNoMagicRoot=void 0!==e.windowsNoMagicRoot?e.windowsNoMagicRoot:!(!this.isWindows||!this.nocase),this.globSet=[],this.globParts=[],this.set=[],this.make()}hasMagic(){if(this.options.magicalBraces&&this.set.length>1)return!0;for(const t of this.set)for(const e of t)if("string"!=typeof e)return!0;return!1}debug(...t){}make(){const t=this.pattern,e=this.options;if(!e.nocomment&&"#"===t.charAt(0))return void(this.comment=!0);if(!t)return void(this.empty=!0);this.parseNegate(),this.globSet=[...new Set(this.braceExpand())],e.debug&&(this.debug=(...t)=>console.error(...t)),this.debug(this.pattern,this.globSet);const n=this.globSet.map((t=>this.slashSplit(t)));this.globParts=this.preprocess(n),this.debug(this.pattern,this.globParts);let s=this.globParts.map((t=>{if(this.isWindows&&this.windowsNoMagicRoot){const e=!(""!==t[0]||""!==t[1]||"?"!==t[2]&&Vt.test(t[2])||Vt.test(t[3])),n=/^[a-z]:/i.test(t[0]);if(e)return[...t.slice(0,4),...t.slice(4).map((t=>this.parse(t)))];if(n)return[t[0],...t.slice(1).map((t=>this.parse(t)))]}return t.map((t=>this.parse(t)))}));if(this.debug(this.pattern,s),this.set=s.filter((t=>-1===t.indexOf(!1))),this.isWindows)for(let t=0;t<this.set.length;t++){const e=this.set[t];""===e[0]&&""===e[1]&&"?"===this.globParts[t][2]&&"string"==typeof e[3]&&/^[a-z]:$/i.test(e[3])&&(e[2]="?")}this.debug(this.pattern,this.set)}preprocess(t){if(this.options.noglobstar)for(let e=0;e<t.length;e++)for(let n=0;n<t[e].length;n++)"**"===t[e][n]&&(t[e][n]="*");const{optimizationLevel:e=1}=this.options;return e>=2?(t=this.firstPhasePreProcess(t),t=this.secondPhasePreProcess(t)):t=e>=1?this.levelOneOptimize(t):this.adjascentGlobstarOptimize(t),t}adjascentGlobstarOptimize(t){return t.map((t=>{let e=-1;for(;-1!==(e=t.indexOf("**",e+1));){let n=e;for(;"**"===t[n+1];)n++;n!==e&&t.splice(e,n-e)}return t}))}levelOneOptimize(t){return t.map((t=>0===(t=t.reduce(((t,e)=>{const n=t[t.length-1];return"**"===e&&"**"===n?t:".."===e&&n&&".."!==n&&"."!==n&&"**"!==n?(t.pop(),t):(t.push(e),t)}),[])).length?[""]:t))}levelTwoFileOptimize(t){Array.isArray(t)||(t=this.slashSplit(t));let e=!1;do{if(e=!1,!this.preserveMultipleSlashes){for(let n=1;n<t.length-1;n++){const s=t[n];1===n&&""===s&&""===t[0]||"."!==s&&""!==s||(e=!0,t.splice(n,1),n--)}"."!==t[0]||2!==t.length||"."!==t[1]&&""!==t[1]||(e=!0,t.pop())}let n=0;for(;-1!==(n=t.indexOf("..",n+1));){const s=t[n-1];s&&"."!==s&&".."!==s&&"**"!==s&&(e=!0,t.splice(n-1,2),n-=2)}}while(e);return 0===t.length?[""]:t}firstPhasePreProcess(t){let e=!1;do{e=!1;for(let n of t){let s=-1;for(;-1!==(s=n.indexOf("**",s+1));){let i=s;for(;"**"===n[i+1];)i++;i>s&&n.splice(s+1,i-s);const r=n[s+2],o=n[s+3];if(".."!==n[s+1])continue;if(!r||"."===r||".."===r||!o||"."===o||".."===o)continue;e=!0,n.splice(s,1);const l=n.slice(0);l[s]="**",t.push(l),s--}if(!this.preserveMultipleSlashes){for(let t=1;t<n.length-1;t++){const s=n[t];1===t&&""===s&&""===n[0]||"."!==s&&""!==s||(e=!0,n.splice(t,1),t--)}"."!==n[0]||2!==n.length||"."!==n[1]&&""!==n[1]||(e=!0,n.pop())}let i=0;for(;-1!==(i=n.indexOf("..",i+1));){const t=n[i-1];t&&"."!==t&&".."!==t&&"**"!==t&&(e=!0,n.splice(i-1,2,...1===i&&"**"===n[i+1]?["."]:[]),0===n.length&&n.push(""),i-=2)}}}while(e);return t}secondPhasePreProcess(t){for(let e=0;e<t.length-1;e++)for(let n=e+1;n<t.length;n++){const s=this.partsMatch(t[e],t[n],!this.preserveMultipleSlashes);s&&(t[e]=s,t[n]=[])}return t.filter((t=>t.length))}partsMatch(t,e,n=!1){let s=0,i=0,r=[],o="";for(;s<t.length&&i<e.length;)if(t[s]===e[i])r.push("b"===o?e[i]:t[s]),s++,i++;else if(n&&"**"===t[s]&&e[i]===t[s+1])r.push(t[s]),s++;else if(n&&"**"===e[i]&&t[s]===e[i+1])r.push(e[i]),i++;else if("*"!==t[s]||!e[i]||!this.options.dot&&e[i].startsWith(".")||"**"===e[i]){if("*"!==e[i]||!t[s]||!this.options.dot&&t[s].startsWith(".")||"**"===t[s])return!1;if("a"===o)return!1;o="b",r.push(e[i]),s++,i++}else{if("b"===o)return!1;o="a",r.push(t[s]),s++,i++}return t.length===e.length&&r}parseNegate(){if(this.nonegate)return;const t=this.pattern;let e=!1,n=0;for(let s=0;s<t.length&&"!"===t.charAt(s);s++)e=!e,n++;n&&(this.pattern=t.slice(n)),this.negate=e}matchOne(t,e,n=!1){const s=this.options;if(this.isWindows){const n="string"==typeof t[0]&&/^[a-z]:$/i.test(t[0]),s=!n&&""===t[0]&&""===t[1]&&"?"===t[2]&&/^[a-z]:$/i.test(t[3]),i="string"==typeof e[0]&&/^[a-z]:$/i.test(e[0]),r=s?3:n?0:void 0,o=!i&&""===e[0]&&""===e[1]&&"?"===e[2]&&"string"==typeof e[3]&&/^[a-z]:$/i.test(e[3])?3:i?0:void 0;if("number"==typeof r&&"number"==typeof o){const[n,s]=[t[r],e[o]];n.toLowerCase()===s.toLowerCase()&&(e[o]=n,o>r?e=e.slice(o):r>o&&(t=t.slice(r)))}}const{optimizationLevel:i=1}=this.options;i>=2&&(t=this.levelTwoFileOptimize(t)),this.debug("matchOne",this,{file:t,pattern:e}),this.debug("matchOne",t.length,e.length);for(var r=0,o=0,l=t.length,f=e.length;r<l&&o<f;r++,o++){this.debug("matchOne loop");var c=e[o],u=t[r];if(this.debug(e,c,u),!1===c)return!1;if(c===Gt){this.debug("GLOBSTAR",[e,c,u]);var a=r,h=o+1;if(h===f){for(this.debug("** at the end");r<l;r++)if("."===t[r]||".."===t[r]||!s.dot&&"."===t[r].charAt(0))return!1;return!0}for(;a<l;){var p=t[a];if(this.debug("\nglobstar while",t,a,e,h,p),this.matchOne(t.slice(a),e.slice(h),n))return this.debug("globstar found match!",a,l,p),!0;if("."===p||".."===p||!s.dot&&"."===p.charAt(0)){this.debug("dot detected!",t,a,e,h);break}this.debug("globstar swallow a segment, and continue"),a++}return!(!n||(this.debug("\n>>> no match, partial?",t,a,e,h),a!==l))}let i;if("string"==typeof c?(i=u===c,this.debug("string match",c,u,i)):(i=c.test(u),this.debug("pattern match",c,u,i)),!i)return!1}if(r===l&&o===f)return!0;if(r===l)return n;if(o===f)return r===l-1&&""===t[r];throw Error("wtf?")}braceExpand(){return Zt(this.pattern,this.options)}parse(t){st(t);const e=this.options;if("**"===t)return Gt;if(""===t)return"";let n,s=null;(n=t.match(Wt))?s=e.dot?Lt:At:(n=t.match(Ot))?s=(e.nocase?e.dot?Et:Mt:e.dot?kt:jt)(n[1]):(n=t.match(Tt))?s=(e.nocase?e.dot?Ft:zt:e.dot?_t:Dt)(n):(n=t.match(xt))?s=e.dot?Rt:Nt:(n=t.match(Pt))&&(s=Ct);const i=$t.fromGlob(t,this.options).toMMPattern();return s&&"object"==typeof i&&Reflect.defineProperty(i,"test",{value:s}),i}makeRe(){if(this.regexp||!1===this.regexp)return this.regexp;const t=this.set;if(!t.length)return this.regexp=!1,this.regexp;const e=this.options,n=e.noglobstar?"[^/]*?":e.dot?"(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?":"(?:(?!(?:\\/|^)\\.).)*?",s=new Set(e.nocase?["i"]:[]);let i=t.map((t=>{const e=t.map((t=>{if(t instanceof RegExp)for(const e of t.flags.split(""))s.add(e);return"string"==typeof t?(t=>t.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"))(t):t===Gt?Gt:t._src}));return e.forEach(((t,s)=>{const i=e[s+1],r=e[s-1];t===Gt&&r!==Gt&&(void 0===r?void 0!==i&&i!==Gt?e[s+1]="(?:\\/|"+n+"\\/)?"+i:e[s]=n:void 0===i?e[s-1]=r+"(?:\\/|"+n+")?":i!==Gt&&(e[s-1]=r+"(?:\\/|\\/"+n+"\\/)"+i,e[s+1]=Gt))})),e.filter((t=>t!==Gt)).join("/")})).join("|");const[r,o]=t.length>1?["(?:",")"]:["",""];i="^"+r+i+o+"$",this.negate&&(i="^(?!"+i+").+$");try{this.regexp=RegExp(i,[...s].join(""))}catch(t){this.regexp=!1}return this.regexp}slashSplit(t){return this.preserveMultipleSlashes?t.split("/"):this.isWindows&&/^\/\/[^\/]+/.test(t)?["",...t.split(/\/+/)]:t.split(/\/+/)}match(t,e=this.partial){if(this.debug("match",t,this.pattern),this.comment)return!1;if(this.empty)return""===t;if("/"===t&&e)return!0;const n=this.options;this.isWindows&&(t=t.split("\\").join("/"));const s=this.slashSplit(t);this.debug(this.pattern,"split",s);const i=this.set;this.debug(this.pattern,"set",i);let r=s[s.length-1];if(!r)for(let t=s.length-2;!r&&t>=0;t--)r=s[t];for(let t=0;t<i.length;t++){const o=i[t];let l=s;if(n.matchBase&&1===o.length&&(l=[r]),this.matchOne(l,o,e))return!!n.flipNegate||!this.negate}return!n.flipNegate&&this.negate}static defaults(t){return St.defaults(t).Minimatch}};function Yt(t){var e,n,s;return null!=(s=null==(n=null==(e=t.head)?void 0:e.querySelector('meta[name="csp-nonce"]'))?void 0:n.getAttribute("content"))?s:void 0}St.AST=$t,St.Minimatch=qt,St.escape=(t,{windowsPathsNoEscape:e=!1}={})=>e?t.replace(/[?*()[\]]/g,"[$&]"):t.replace(/[?*()[\]\\]/g,"\\$&"),St.unescape=ct,((t,e)=>{for(var n in e)y(t,n,{get:e[n],enumerable:!0})})({},{err:()=>Kt,map:()=>Qt,ok:()=>Jt,unwrap:()=>te,unwrapErr:()=>ee});var Jt=t=>({isOk:!0,isErr:!1,value:t}),Kt=t=>({isOk:!1,isErr:!0,value:t});function Qt(t,e){if(t.isOk){const n=e(t.value);return n instanceof Promise?n.then((t=>Jt(t))):Jt(n)}if(t.isErr)return Kt(t.value);throw"should never get here"}var Xt,te=t=>{if(t.isOk)return t.value;throw t.value},ee=t=>{if(t.isErr)return t.value;throw t.value};function ne(){var t;const n=this.attachShadow({mode:"open"});if(void 0===Xt&&(Xt=null!=(t=function(t){if(!H)return;const e=new CSSStyleSheet;return e.replaceSync(t),e}(e))?t:null),Xt)Z?n.adoptedStyleSheets.push(Xt):n.adoptedStyleSheets=[...n.adoptedStyleSheets,Xt];else if(!H){const t=document.createElement("style");t.innerHTML=e,n.prepend(t)}}var se=t=>{const e=fe(t,"childNodes");t.tagName&&t.tagName.includes("-")&&t["s-cr"]&&"SLOT-FB"!==t.tagName&&ie(e,t.tagName).forEach((t=>{1===t.nodeType&&"SLOT-FB"===t.tagName&&(t.hidden=!!re(t,le(t),!1).length)}));let n=0;for(n=0;n<e.length;n++){const t=e[n];1===t.nodeType&&fe(t,"childNodes").length&&se(t)}};function ie(t,e,n){let s,i=0,r=[];for(;i<t.length;i++){if(s=t[i],s["s-sr"]&&(!e||s["s-hn"]===e)&&(void 0===n||le(s)===n)&&(r.push(s),void 0!==n))return r;r=[...r,...ie(s.childNodes,e,n)]}return r}var re=(t,e,n=!0)=>{const s=[];(n&&t["s-sr"]||!t["s-sr"])&&s.push(t);let i=t;for(;i=i.nextSibling;)le(i)!==e||!n&&i["s-sr"]||s.push(i);return s},oe=(t,e)=>1===t.nodeType?null===t.getAttribute("slot")&&""===e||t.getAttribute("slot")===e:t["s-sn"]===e||""===e,le=t=>"string"==typeof t["s-sn"]?t["s-sn"]:1===t.nodeType&&t.getAttribute("slot")||void 0;function fe(t,e){if("__"+e in t){const n=t["__"+e];return"function"!=typeof n?n:n.bind(t)}return"function"!=typeof t[e]?t[e]:t[e].bind(t)}var ce=new WeakMap,ue=t=>"sc-"+t.p,ae=(t,e,...n)=>{let s=null,i=null,r=null,o=!1,l=!1;const f=[],c=e=>{for(let n=0;n<e.length;n++)s=e[n],Array.isArray(s)?c(s):null!=s&&"boolean"!=typeof s&&((o="function"!=typeof t&&!et(s))&&(s+=""),o&&l?f[f.length-1].v+=s:f.push(o?he(null,s):s),l=o)};if(c(n),e){e.key&&(i=e.key),e.name&&(r=e.name);{const t=e.className||e.class;t&&(e.class="object"!=typeof t?t:Object.keys(t).filter((e=>t[e])).join(" "))}}const u=he(t,null);return u.m=e,f.length>0&&(u.$=f),u.S=i,u.O=r,u},he=(t,e)=>({u:0,j:t,v:e,k:null,$:null,m:null,S:null,O:null}),pe={},de=t=>{const e=(t=>t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"))(t);return RegExp(`(^|[^@]|@(?!supports\\s+selector\\s*\\([^{]*?${e}))(${e}\\b)`,"g")};de("::slotted"),de(":host"),de(":host-context");var ve,me,ge=(t,e)=>null==t||et(t)?t:4&e?"false"!==t&&(""===t||!!t):2&e?"string"==typeof t?parseFloat(t):"number"==typeof t?t:NaN:1&e?t+"":t,be=t=>{var e;return null==(e=L(t))?void 0:e.$hostElement$},we=(t,e)=>{const n=be(t);return{emit:t=>ye(n,e,{bubbles:!0,composed:!0,cancelable:!0,detail:t})}},ye=(t,e,n)=>{const s=B.ce(e,n);return t.dispatchEvent(s),s},$e=(t,e,n,s,i,r)=>{if(n===s)return;let o=z(t,e),l=e.toLowerCase();if("class"===e){const e=t.classList,i=Oe(n);let r=Oe(s);e.remove(...i.filter((t=>t&&!r.includes(t)))),e.add(...r.filter((t=>t&&!i.includes(t))))}else if("style"===e){for(const e in n)s&&null!=s[e]||(e.includes("-")?t.style.removeProperty(e):t.style[e]="");for(const e in s)n&&s[e]===n[e]||(e.includes("-")?t.style.setProperty(e,s[e]):t.style[e]=s[e])}else if("key"===e);else if("ref"===e)s&&s(t);else if(o||"o"!==e[0]||"n"!==e[1]){const l=et(s);if((o||l&&null!==s)&&!i)try{if(t.tagName.includes("-"))t[e]!==s&&(t[e]=s);else{const i=null==s?"":s;"list"===e?o=!1:null!=n&&t[e]==i||("function"==typeof t.__lookupSetter__(e)?t[e]=i:t.setAttribute(e,i))}}catch(t){}null==s||!1===s?!1===s&&""!==t.getAttribute(e)||t.removeAttribute(e):(!o||4&r||i)&&!l&&1===t.nodeType&&t.setAttribute(e,s=!0===s?"":s)}else if(e="-"===e[2]?e.slice(3):z(U,l)?l.slice(2):l[2]+e.slice(3),n||s){const i=e.endsWith(je);e=e.replace(ke,""),n&&B.rel(t,e,n,i),s&&B.ael(t,e,s,i)}},Se=/\s/,Oe=t=>("object"==typeof t&&t&&"baseVal"in t&&(t=t.baseVal),t&&"string"==typeof t?t.split(Se):[]),je="Capture",ke=RegExp(je+"$"),Me=(t,e,n)=>{const s=11===e.k.nodeType&&e.k.host?e.k.host:e.k,i=t&&t.m||{},r=e.m||{};for(const t of Ee(Object.keys(i)))t in r||$e(s,t,i[t],void 0,n,e.u);for(const t of Ee(Object.keys(r)))$e(s,t,i[t],r[t],n,e.u)};function Ee(t){return t.includes("ref")?[...t.filter((t=>"ref"!==t)),"ref"]:t}var xe=!1,Ne=!1,Re=!1,Pe=!1,Ce=(t,e,n)=>{var s;const i=e.$[n];let r,o,l,f=0;if(xe||(Re=!0,"slot"===i.j&&(i.u|=i.$?2:1)),null!==i.v)r=i.k=U.document.createTextNode(i.v);else if(1&i.u)r=i.k=U.document.createTextNode(""),Me(null,i,Pe);else{if(Pe||(Pe="svg"===i.j),!U.document)throw Error("You are trying to render a Stencil component in an environment that doesn't support the DOM. Make sure to populate the [`window`](https://developer.mozilla.org/en-US/docs/Web/API/Window/window) object before rendering a component.");if(r=i.k=U.document.createElementNS(Pe?"http://www.w3.org/2000/svg":"http://www.w3.org/1999/xhtml",!xe&&2&i.u?"slot-fb":i.j),Pe&&"foreignObject"===i.j&&(Pe=!1),Me(null,i,Pe),i.$){const e="template"===i.j?r.content:r;for(f=0;f<i.$.length;++f)o=Ce(t,i,f),o&&e.appendChild(o)}"svg"===i.j?Pe=!1:"foreignObject"===r.tagName&&(Pe=!0)}return r["s-hn"]=me,3&i.u&&(r["s-sr"]=!0,r["s-cr"]=ve,r["s-sn"]=i.O||"",r["s-rf"]=null==(s=i.m)?void 0:s.ref,function(t){if(t.assignedElements||t.assignedNodes||!t["s-sr"])return;const e=e=>function(t){const n=[],s=this["s-sn"];(null==t?void 0:t.flatten)&&console.error("\n Flattening is not supported for Stencil non-shadow slots.\n You can use `.childNodes` to nested slot fallback content.\n If you have a particular use case, please open an issue on the Stencil repo.\n ");const i=this["s-cr"].parentElement;return(i.__childNodes?i.childNodes:(t=>{const e=[];for(let n=0;n<t.length;n++){const s=t[n]["s-nr"]||void 0;s&&s.isConnected&&e.push(s)}return e})(i.childNodes)).forEach((t=>{s===le(t)&&n.push(t)})),e?n.filter((t=>1===t.nodeType)):n}.bind(t);t.assignedElements=e(!0),t.assignedNodes=e(!1)}(r),l=t&&t.$&&t.$[n],l&&l.j===i.j&&t.k&&We(t.k)),r},We=t=>{B.u|=1;const e=t.closest(me.toLowerCase());if(null!=e){const n=Array.from(e.__childNodes||e.childNodes).find((t=>t["s-cr"])),s=Array.from(t.__childNodes||t.childNodes);for(const t of n?s.reverse():s)null!=t["s-sh"]&&(Be(e,t,null!=n?n:null),t["s-sh"]=void 0,Re=!0)}B.u&=-2},Ae=(t,e)=>{B.u|=1;const n=Array.from(t.__childNodes||t.childNodes);if(t["s-sr"]){let e=t;for(;e=e.nextSibling;)e&&e["s-sn"]===t["s-sn"]&&e["s-sh"]===me&&n.push(e)}for(let t=n.length-1;t>=0;t--){const s=n[t];s["s-hn"]!==me&&s["s-ol"]&&(Be(Fe(s).parentNode,s,Fe(s)),s["s-ol"].remove(),s["s-ol"]=void 0,s["s-sh"]=void 0,Re=!0),e&&Ae(s,e)}B.u&=-2},Le=(t,e,n,s,i,r)=>{let o,l=t["s-cr"]&&t["s-cr"].parentNode||t;for(l.shadowRoot&&l.tagName===me&&(l=l.shadowRoot),"template"===n.j&&(l=l.content);i<=r;++i)s[i]&&(o=Ce(null,n,i),o&&(s[i].k=o,Be(l,o,Fe(e))))},Te=(t,e,n)=>{for(let s=e;s<=n;++s){const e=t[s];if(e){const t=e.k;Ue(e),t&&(Ne=!0,t["s-ol"]?t["s-ol"].remove():Ae(t,!0),t.remove())}}},ze=(t,e,n=!1)=>t.j===e.j&&("slot"===t.j?t.O===e.O:n?(n&&!t.S&&e.S&&(t.S=e.S),!0):t.S===e.S),Fe=t=>t&&t["s-ol"]||t,_e=(t,e,n=!1)=>{const s=e.k=t.k,i=t.$,r=e.$,o=e.j,l=e.v;let f;null===l?(Pe="svg"===o||"foreignObject"!==o&&Pe,"slot"!==o||xe||t.O!==e.O&&(e.k["s-sn"]=e.O||"",We(e.k.parentElement)),Me(t,e,Pe),null!==i&&null!==r?((t,e,n,s,i=!1)=>{let r,o,l=0,f=0,c=0,u=0,a=e.length-1,h=e[0],p=e[a],d=s.length-1,v=s[0],m=s[d];const g="template"===n.j?t.content:t;for(;l<=a&&f<=d;)if(null==h)h=e[++l];else if(null==p)p=e[--a];else if(null==v)v=s[++f];else if(null==m)m=s[--d];else if(ze(h,v,i))_e(h,v,i),h=e[++l],v=s[++f];else if(ze(p,m,i))_e(p,m,i),p=e[--a],m=s[--d];else if(ze(h,m,i))"slot"!==h.j&&"slot"!==m.j||Ae(h.k.parentNode,!1),_e(h,m,i),Be(g,h.k,p.k.nextSibling),h=e[++l],m=s[--d];else if(ze(p,v,i))"slot"!==h.j&&"slot"!==m.j||Ae(p.k.parentNode,!1),_e(p,v,i),Be(g,p.k,h.k),p=e[--a],v=s[++f];else{for(c=-1,u=l;u<=a;++u)if(e[u]&&null!==e[u].S&&e[u].S===v.S){c=u;break}c>=0?(o=e[c],o.j!==v.j?r=Ce(e&&e[f],n,c):(_e(o,v,i),e[c]=void 0,r=o.k),v=s[++f]):(r=Ce(e&&e[f],n,f),v=s[++f]),r&&Be(Fe(h.k).parentNode,r,Fe(h.k))}l>a?Le(t,null==s[d+1]?null:s[d+1].k,n,s,f,d):f>d&&Te(e,l,a)})(s,i,e,r,n):null!==r?(null!==t.v&&(s.textContent=""),Le(s,null,e,r,0,r.length-1)):!n&&null!==i&&Te(i,0,i.length-1),Pe&&"svg"===o&&(Pe=!1)):(f=s["s-cr"])?f.parentNode.textContent=l:t.v!==l&&(s.data=l)},De=[],Ie=t=>{let e,n,s;const i=t.__childNodes||t.childNodes;for(const t of i){if(t["s-sr"]&&(e=t["s-cr"])&&e.parentNode){n=e.parentNode.__childNodes||e.parentNode.childNodes;const i=t["s-sn"];for(s=n.length-1;s>=0;s--)if(e=n[s],!(e["s-cn"]||e["s-nr"]||e["s-hn"]===t["s-hn"]||e["s-sh"]&&e["s-sh"]===t["s-hn"]))if(oe(e,i)){let n=De.find((t=>t.M===e));Ne=!0,e["s-sn"]=e["s-sn"]||i,n?(n.M["s-sh"]=t["s-hn"],n.N=t):(e["s-sh"]=t["s-hn"],De.push({N:t,M:e})),e["s-sr"]&&De.map((t=>{oe(t.M,e["s-sn"])&&(n=De.find((t=>t.M===e)),n&&!t.N&&(t.N=n.N))}))}else De.some((t=>t.M===e))||De.push({M:e})}1===t.nodeType&&Ie(t)}},Ue=t=>{t.m&&t.m.ref&&t.m.ref(null),t.$&&t.$.map(Ue)},Be=(t,e,n,s)=>{if("string"==typeof e["s-sn"]){t.insertBefore(e,n);const{slotNode:i}=function(t,e){var n;if(!(e=e||(null==(n=t["s-ol"])?void 0:n.parentElement)))return{slotNode:null,slotName:""};const s=t["s-sn"]=le(t)||"";return{slotNode:ie(fe(e,"childNodes"),e.tagName,s)[0],slotName:s}}(e);return i&&!s&&function(t){t.dispatchEvent(new CustomEvent("slotchange",{bubbles:!1,cancelable:!1,composed:!1}))}(i),e}return t.__insertBefore?t.__insertBefore(e,n):null==t?void 0:t.insertBefore(e,n)},Ge=(t,e)=>{if(e&&!t.R&&e["s-p"]){const n=e["s-p"].push(new Promise((s=>t.R=()=>{e["s-p"].splice(n-1,1),s()})))}},He=(t,e)=>{if(t.u|=16,4&t.u)return void(t.u|=512);Ge(t,t.P);const n=()=>Ze(t,e);if(!e)return tt(n);queueMicrotask((()=>{n()}))},Ze=(t,e)=>{const n=t.$hostElement$,s=t.l;if(!s)throw Error(`Can't render component <${n.tagName.toLowerCase()} /> with invalid Stencil runtime! Make sure this imported component is compiled with a \`externalRuntime: true\` flag. For more information, please refer to https://stenciljs.com/docs/custom-elements#externalruntime`);let i;return e?(t.C&&(t.C=!1,Xe(s,"connectedCallback",void 0,n)),t.W.length&&t.W.forEach((t=>t(n))),i=Xe(s,"componentWillLoad",void 0,n)):i=Xe(s,"componentWillUpdate",void 0,n),i=Ve(i,(()=>Xe(s,"componentWillRender",void 0,n))),Ve(i,(()=>Ye(t,s,e)))},Ve=(t,e)=>qe(t)?t.then(e).catch((t=>{console.error(t),e()})):e(),qe=t=>t instanceof Promise||t&&t.then&&"function"==typeof t.then,Ye=async(t,e,n)=>{var s;const i=t.$hostElement$,r=i["s-rc"];n&&(t=>{const e=t.i,n=t.$hostElement$,s=e.u,i=((t,e)=>{var n,s,i;const r=ue(e),o=D.get(r);if(!U.document)return r;if(t=11===t.nodeType?t:U.document,o)if("string"==typeof o){let i,l=ce.get(t=t.head||t);if(l||ce.set(t,l=new Set),!l.has(r)){i=U.document.createElement("style"),i.innerHTML=o;const f=null!=(n=B.A)?n:Yt(U.document);if(null!=f&&i.setAttribute("nonce",f),!(1&e.u))if("HEAD"===t.nodeName){const e=t.querySelectorAll("link[rel=preconnect]"),n=e.length>0?e[e.length-1].nextSibling:t.querySelector("style");t.insertBefore(i,(null==n?void 0:n.parentNode)===t?n:null)}else if("host"in t)if(H){const e=new(null!=(s=t.defaultView)?s:t.ownerDocument.defaultView).CSSStyleSheet;e.replaceSync(o),Z?t.adoptedStyleSheets.unshift(e):t.adoptedStyleSheets=[e,...t.adoptedStyleSheets]}else{const e=t.querySelector("style");e?e.innerHTML=o+e.innerHTML:t.prepend(i)}else t.append(i);1&e.u&&t.insertBefore(i,null),4&e.u&&(i.innerHTML+=I),l&&l.add(r)}}else{let e=ce.get(t);if(e||ce.set(t,e=new Set),!e.has(r)){const n=null!=(i=t.defaultView)?i:t.ownerDocument.defaultView;let s;if(o.constructor===n.CSSStyleSheet)s=o;else{s=new n.CSSStyleSheet;for(let t=0;t<o.cssRules.length;t++)s.insertRule(o.cssRules[t].cssText,t)}Z?t.adoptedStyleSheets.push(s):t.adoptedStyleSheets=[...t.adoptedStyleSheets,s],e.add(r)}}return r})(n.shadowRoot?n.shadowRoot:n.getRootNode(),e);10&s&&(n["s-sc"]=i,n.classList.add(i+"-h"))})(t);Je(t,e,i,n),r&&(r.map((t=>t())),i["s-rc"]=void 0);{const e=null!=(s=i["s-p"])?s:[],n=()=>Ke(t);0===e.length?n():(Promise.all(e).then(n),t.u|=4,e.length=0)}},Je=(t,e,n,s)=>{try{e=e.render(),t.u&=-17,t.u|=2,((t,e,n=!1)=>{var s,i,r,o,l;const f=t.$hostElement$,c=t.i,u=t.L||he(null,null),a=(t=>t&&t.j===pe)(e)?e:ae(null,null,e);if(me=f.tagName,n&&a.m)for(const t of Object.keys(a.m))f.hasAttribute(t)&&!["key","ref","style","class"].includes(t)&&(a.m[t]=f[t]);if(a.j=null,a.u|=4,t.L=a,a.k=u.k=f.shadowRoot||f,xe=!(!(1&c.u)||128&c.u),ve=f["s-cr"],Ne=!1,_e(u,a,n),B.u|=1,Re){Ie(a.k);for(const t of De){const e=t.M;if(!e["s-ol"]&&U.document){const t=U.document.createTextNode("");t["s-nr"]=e,Be(e.parentNode,e["s-ol"]=t,e,n)}}for(const t of De){const e=t.M,l=t.N;if(1===e.nodeType&&n&&(e["s-ih"]=null!=(s=e.hidden)&&s),l){const t=l.parentNode;let s=l.nextSibling;if(s&&1===s.nodeType){let n=null==(i=e["s-ol"])?void 0:i.previousSibling;for(;n;){let i=null!=(r=n["s-nr"])?r:null;if(i&&i["s-sn"]===e["s-sn"]&&t===(i.__parentNode||i.parentNode)){for(i=i.nextSibling;i===e||(null==i?void 0:i["s-sr"]);)i=null==i?void 0:i.nextSibling;if(!i||!i["s-nr"]){s=i;break}}n=n.previousSibling}}if((!s&&t!==(e.__parentNode||e.parentNode)||(e.__nextSibling||e.nextSibling)!==s)&&e!==s){if(Be(t,e,s,n),8===e.nodeType&&e.nodeValue.startsWith("s-nt-")){const t=U.document.createTextNode(e.nodeValue.replace(/^s-nt-/,""));t["s-hn"]=e["s-hn"],t["s-sn"]=e["s-sn"],t["s-sh"]=e["s-sh"],t["s-sr"]=e["s-sr"],t["s-ol"]=e["s-ol"],t["s-ol"]["s-nr"]=t,Be(e.parentNode,t,e,n),e.parentNode.removeChild(e)}1===e.nodeType&&"SLOT-FB"!==e.tagName&&(e.hidden=null!=(o=e["s-ih"])&&o)}e&&"function"==typeof l["s-rf"]&&l["s-rf"](l)}else 1===e.nodeType&&(e.hidden=!0)}}if(Ne&&se(a.k),B.u&=-2,De.length=0,!xe&&!(1&c.u)&&f["s-cr"]){const t=a.k.__childNodes||a.k.childNodes;for(const e of t)if(e["s-hn"]!==me&&!e["s-sh"])if(n&&null==e["s-ih"]&&(e["s-ih"]=null!=(l=e.hidden)&&l),1===e.nodeType)e.hidden=!0;else if(3===e.nodeType&&e.nodeValue.trim()){const t=U.document.createComment("s-nt-"+e.nodeValue);t["s-sn"]=e["s-sn"],Be(e.parentNode,t,e,n),e.parentNode.removeChild(e)}}ve=void 0})(t,e,s)}catch(e){F(e,t.$hostElement$)}return null},Ke=t=>{const e=t.$hostElement$,n=t.l,s=t.P;Xe(n,"componentDidRender",void 0,e),64&t.u?Xe(n,"componentDidUpdate",void 0,e):(t.u|=64,tn(e),Xe(n,"componentDidLoad",void 0,e),t.T(e),s||Qe()),t.R&&(t.R(),t.R=void 0),512&t.u&&X((()=>He(t,!1))),t.u&=-517},Qe=()=>{X((()=>ye(U,"appload",{detail:{namespace:"ticketlayer-elements"}})))},Xe=(t,e,n,s)=>{if(t&&t[e])try{return t[e](n)}catch(t){F(t,s)}},tn=t=>t.classList.add("hydrated"),en=(t,e,n,s)=>{const i=L(t);if(!i)return;if(!i)throw Error(`Couldn't find host element for "${s.p}" as it is unknown to this Stencil runtime. This usually happens when integrating a 3rd party Stencil component with another Stencil component or application. Please reach out to the maintainers of the 3rd party Stencil component or report this on the Stencil Discord server (https://chat.stenciljs.com) or comment on this similar [GitHub issue](https://github.com/stenciljs/core/issues/5457).`);const r=i.$hostElement$,o=i.o.get(e),l=i.u,f=i.l;if(n=ge(n,s.t[e][0]),!(8&l&&void 0!==o||n===o||Number.isNaN(o)&&Number.isNaN(n))){if(i.o.set(e,n),s.F){const t=s.F[e];t&&t.map((t=>{try{const[[s,r]]=Object.entries(t);(128&l||1&r)&&(f?f[s](n,o,e):i.W.push((()=>{i.l[s](n,o,e)})))}catch(t){F(t,r)}}))}if(2==(18&l)){if(f.componentShouldUpdate&&!1===f.componentShouldUpdate(n,o,e))return;He(i,!1)}}},nn=(t,e,n)=>{var s,i;const r=t.prototype;{t.watchers&&!e.F&&(e.F=t.watchers),t.deserializers&&!e._&&(e._=t.deserializers),t.serializers&&!e.D&&(e.D=t.serializers);const o=Object.entries(null!=(s=e.t)?s:{});if(o.map((([t,[s]])=>{if(31&s||2&n&&32&s){const{get:i,set:o}=Object.getOwnPropertyDescriptor(r,t)||{};i&&(e.t[t][0]|=2048),o&&(e.t[t][0]|=4096),(1&n||!i)&&Object.defineProperty(r,t,{get(){{if(!(2048&e.t[t][0]))return((t,e)=>L(this).o.get(e))(0,t);const n=L(this),s=n?n.l:r;if(!s)return;return s[t]}},configurable:!0,enumerable:!0}),Object.defineProperty(r,t,{set(i){const r=L(this);if(r){if(o)return void 0===(32&s?this[t]:r.$hostElement$[t])&&r.o.get(t)&&(i=r.o.get(t)),o.call(this,ge(i,s)),void en(this,t,i=32&s?this[t]:r.$hostElement$[t],e);{if(!(1&n&&4096&e.t[t][0]))return en(this,t,i,e),void(1&n&&!r.l&&r.W.push((()=>{4096&e.t[t][0]&&r.l[t]!==r.o.get(t)&&(r.l[t]=i)})));const o=()=>{const n=r.l[t];!r.o.get(t)&&n&&r.o.set(t,n),r.l[t]=ge(i,s),en(this,t,r.l[t],e)};r.l?o():r.W.push((()=>{o()}))}}}})}})),1&n){const n=new Map;r.attributeChangedCallback=function(t,s,i){B.jmp((()=>{var l;const f=n.get(t),c=L(this);if(this.hasOwnProperty(f)&&(i=this[f],delete this[f]),r.hasOwnProperty(f)&&"number"==typeof this[f]&&this[f]==i)return;if(null==f){const n=null==c?void 0:c.u;if(c&&n&&!(8&n)&&i!==s){const r=c.l,o=null==(l=e.F)?void 0:l[t];null==o||o.forEach((e=>{const[[o,l]]=Object.entries(e);null!=r[o]&&(128&n||1&l)&&r[o].call(r,i,s,t)}))}return}const u=o.find((([t])=>t===f));u&&4&u[1][0]&&(i=null!==i&&"false"!==i);const a=Object.getOwnPropertyDescriptor(r,f);i==this[f]||a.get&&!a.set||(this[f]=i)}))},t.observedAttributes=Array.from(new Set([...Object.keys(null!=(i=e.F)?i:{}),...o.filter((([t,e])=>31&e[0])).map((([t,e])=>{const s=e[1]||t;return n.set(s,t),s}))]))}}return t},sn=(t,e)=>{Xe(t,"connectedCallback",void 0,e)},rn=(t,e)=>{Xe(t,"disconnectedCallback",void 0,e||t)},on=(t,e={})=>{var n;if(!U.document)return void console.warn("Stencil: No document found. Skipping bootstrapping lazy components.");const s=[],i=e.exclude||[],r=U.customElements,o=U.document.head,l=o.querySelector("meta[charset]"),f=U.document.createElement("style"),c=[];let u,a=!0;Object.assign(B,e),B.h=new URL(e.resourcesUrl||"./",U.document.baseURI).href;let h=!1;if(t.map((t=>{t[1].map((e=>{var n,o,l;const f={u:e[0],p:e[1],t:e[2],I:e[3]};4&f.u&&(h=!0),f.t=e[2],f.F=null!=(n=e[4])?n:{},f.D=null!=(o=e[5])?o:{},f._=null!=(l=e[6])?l:{};const p=f.p,d=class extends HTMLElement{"s-p";"s-rc";hasRegisteredEventListeners=!1;constructor(t){if(super(t),((t,e)=>{const n={u:0,$hostElement$:t,i:e,o:new Map,U:new Map};n.B=new Promise((t=>n.T=t)),t["s-p"]=[],t["s-rc"]=[],n.W=[];const s=n;t.__stencil__getHostRef=()=>s})(t=this,f),1&f.u)if(t.shadowRoot){if("open"!==t.shadowRoot.mode)throw Error(`Unable to re-use existing shadow root for ${f.p}! Mode is set to ${t.shadowRoot.mode} but Stencil only supports open shadow roots.`)}else ne.call(t,f)}connectedCallback(){L(this)&&(this.hasRegisteredEventListeners||(this.hasRegisteredEventListeners=!0),u&&(clearTimeout(u),u=null),a?c.push(this):B.jmp((()=>(t=>{if(!(1&B.u)){const e=L(t);if(!e)return;const n=e.i,s=()=>{};if(1&e.u)(null==e?void 0:e.l)?sn(e.l,t):(null==e?void 0:e.B)&&e.B.then((()=>sn(e.l,t)));else{e.u|=1,12&n.u&&(t=>{if(!U.document)return;const e=t["s-cr"]=U.document.createComment("");e["s-cn"]=!0,Be(t,e,t.firstChild)})(t);{let n=t;for(;n=n.parentNode||n.host;)if(n["s-p"]){Ge(e,e.P=n);break}}n.t&&Object.entries(n.t).map((([e,[n]])=>{if(31&n&&e in t&&t[e]!==Object.prototype[e]){const n=t[e];delete t[e],t[e]=n}})),(async(t,e,n)=>{let s;if(!(32&e.u)){if(e.u|=32,n.G){const i=((t,e)=>{const n=t.p.replace(/-/g,"_"),s=t.G;if(!s)return;const i=_.get(s);return i?i[n]:import(`./${s}.entry.js`).then((t=>(_.set(s,t),t[n])),(t=>{F(t,e.$hostElement$)}))
|
|
2
|
+
/*!__STENCIL_STATIC_IMPORT_SWITCH__*/})(n,e);if(i&&"then"in i){const t=()=>{};s=await i,t()}else s=i;if(!s)throw Error(`Constructor for "${n.p}#${e.H}" was not found`);s.isProxied||(n.F=s.watchers,n.D=s.serializers,n._=s.deserializers,nn(s,n,2),s.isProxied=!0);const r=()=>{};e.u|=8;try{new s(e)}catch(e){F(e,t)}e.u&=-9,e.u|=128,r(),4&n.u?e.C=!0:sn(e.l,t)}else s=t.constructor,customElements.whenDefined(t.localName).then((()=>e.u|=128));if(s&&s.style){let t;"string"==typeof s.style&&(t=s.style);const e=ue(n);if(!D.has(e)){const s=()=>{};((t,e,n)=>{let s=D.get(t);H&&n?(s=s||new CSSStyleSheet,"string"==typeof s?s=e:s.replaceSync(e)):s=e,D.set(t,s)})(e,t,!!(1&n.u)),s()}}}const i=e.P,r=()=>He(e,!0);i&&i["s-rc"]?i["s-rc"].push(r):r()})(t,e,n)}s()}})(this))))}disconnectedCallback(){B.jmp((()=>(async t=>{if(!(1&B.u)){const e=L(t);(null==e?void 0:e.l)?rn(e.l,t):(null==e?void 0:e.B)&&e.B.then((()=>rn(e.l,t)))}ce.has(t)&&ce.delete(t),t.shadowRoot&&ce.has(t.shadowRoot)&&ce.delete(t.shadowRoot)})(this))),B.raf((()=>{var t;const e=L(this);if(!e)return;const n=c.findIndex((t=>t===this));n>-1&&c.splice(n,1),(null==(t=null==e?void 0:e.L)?void 0:t.k)instanceof Node&&!e.L.k.isConnected&&delete e.L.k}))}componentOnReady(){var t;return null==(t=L(this))?void 0:t.B}};f.G=t[0],i.includes(p)||r.get(p)||(s.push(p),r.define(p,nn(d,f,1)))}))})),s.length>0&&(h&&(f.textContent+=I),f.textContent+=s.sort()+"{visibility:hidden}.hydrated{visibility:inherit}",f.innerHTML.length)){f.setAttribute("data-styles","");const t=null!=(n=B.A)?n:Yt(U.document);null!=t&&f.setAttribute("nonce",t),o.insertBefore(f,l?l.nextSibling:o.firstChild)}a=!1,c.length?c.map((t=>t.connectedCallback())):B.jmp((()=>u=setTimeout(Qe,30)))},ln=t=>B.A=t;export{pe as H,be as a,on as b,we as c,t as g,ae as h,G as p,T as r,ln as s}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e="ticketlayer:ready",n="__TICKETLAYER_SDK__";function t(){if("undefined"==typeof window)return null;const e=window,t=e.Ticketlayer;return(t?.getSDK?.()??t?.sdk??e[n])||null}function i(t){"undefined"!=typeof window&&(window[n]=t,window.dispatchEvent(new CustomEvent(e,{detail:t})))}function o(){const e=t();if(!e)throw new Error("[Ticketlayer Elements] SDK not ready. Create a Live client (createLiveClient) or await whenSDK() before using Elements.");return e}function r(){return null!==t()}function l(n=15e3){const i=t();return i?Promise.resolve(i):"undefined"==typeof window?Promise.reject(new Error("[Ticketlayer Elements] No window; SDK unavailable.")):new Promise(((i,o)=>{let r=!1;const l=()=>{const e=t();e&&!r&&(r=!0,w(),i(e))},w=()=>{window.removeEventListener(e,l),clearTimeout(u)},u=setTimeout((()=>{r||(r=!0,w(),o(new Error("[Ticketlayer Elements] SDK not initialized. Create a Live client before using Elements.")))}),n);window.addEventListener(e,l),l()}))}function w(e,n){let t=null,i=!1;return l().then((o=>{i||(t=o.on(e,n))})).catch((()=>{})),()=>{i=!0,t?.()}}export{o as g,r as h,w as o,i as s,l as w}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as i,c as t,h as s}from"./p-Ba-RZTFI.js";import{w as e}from"./p-CqhvfyKV.js";import{e as n}from"./p-BGekdjN9.js";const l=class{constructor(s){i(this,s),this.tlAuthChanged=t(this,"tlAuthChanged"),this.tlMagicLinkSent=t(this,"tlMagicLinkSent"),this.tlError=t(this,"tlError"),this.heading="Sign in",this.allowCodeEntry=!0,this.phase="email",this.email="",this.code="",this.busy=!1,this.error=null,this.notice=null,this.customer=null,this.auth=null,this.unsubscribes=[],this.urlCodeUsed=!1,this.handleEmailInput=i=>{this.email=i.target.value,this.error=null},this.handleCodeInput=i=>{this.code=i.target.value,this.error=null},this.handleEmailSubmit=i=>{i.preventDefault(),this.requestLink()},this.handleCodeSubmit=i=>{i.preventDefault(),this.exchange(this.code.trim())}}async componentWillLoad(){const i=await e().catch((()=>null));if(!i)return void(this.error="Sign-in is not available right now");if(this.auth=i.getAuthManager?.()??null,!this.auth)return void(this.error="Sign-in is not available with this SDK");this.syncFromSDK(),this.unsubscribes.push(i.on("auth:changed",(()=>this.syncFromSDK()))),this.unsubscribes.push(i.on("session:changed",(()=>this.syncFromSDK())));const t=this.codeFromUrl();t&&!this.auth.authenticated&&await this.exchange(t)}disconnectedCallback(){this.unsubscribes.forEach((i=>i())),this.unsubscribes=[]}codeFromUrl(){if("undefined"==typeof window||!window.location?.search||this.urlCodeUsed)return null;const i=new URLSearchParams(window.location.search).get("code");return i&&(this.urlCodeUsed=!0),i}syncFromSDK(){this.auth&&(this.auth.authenticated?(this.customer=this.auth.customer??null,this.phase="signed-in"):"signed-in"===this.phase&&(this.customer=null,this.phase="email"))}async requestLink(i=!1){const t=this.email.trim();if(t){if(this.auth){this.busy=!0,this.error=null,this.notice=null;try{await this.auth.requestMagicLink({email:t}),this.phase="sent",this.notice=i?"Sent again. Check your inbox.":null,this.tlMagicLinkSent.emit({email:t})}catch(i){console.error("[tl-login] Magic-link request failed:",i),this.error=n(i,"Could not send your sign-in link"),this.tlError.emit({message:this.error})}finally{this.busy=!1}}}else this.error="Enter your email address"}async exchange(i){if(!i)return void(this.error="Enter the code from your email");if(!this.auth)return;const t=this.phase;this.busy=!0,this.error=null,this.phase="verifying";try{const t=await this.auth.exchange(i);this.customer=this.auth.customer??t?.customer??null,this.phase="signed-in",this.code="",this.tlAuthChanged.emit({customer:this.customer,authenticated:!0})}catch(i){console.error("[tl-login] Code exchange failed:",i),this.phase="verifying"===t||"email"===t?"email":"code",this.error="That code did not work. Check it and try again, or request a new link.",this.tlError.emit({message:this.error})}finally{this.busy=!1}}async signOut(){if(this.auth){this.busy=!0;try{await this.auth.logout()}catch(i){console.error("[tl-login] Sign out failed:",i)}finally{this.busy=!1,this.customer=null,this.phase="email",this.tlAuthChanged.emit({customer:null,authenticated:!1})}}}renderError(){return this.error?s("p",{class:"error",role:"alert"},this.error):null}render(){return"signed-in"===this.phase?s("div",{class:"login signed-in"},s("p",{class:"signed-in-text"},"Signed in as ",s("strong",null,this.customer?.email??"your account")),s("button",{type:"button",class:"secondary",disabled:this.busy,onClick:()=>this.signOut()},"Sign out")):"verifying"===this.phase?s("div",{class:"login"},s("h2",{class:"title"},"Signing you in…"),s("p",{class:"lead"},"Just a moment.")):"sent"===this.phase?s("div",{class:"login"},s("h2",{class:"title"},"Check your inbox"),s("p",{class:"lead"},"We've sent a sign-in link to ",s("strong",null,this.email),". Open it on this device to continue."),this.notice&&s("p",{class:"notice"},this.notice),this.renderError(),s("div",{class:"actions"},s("button",{type:"button",class:"secondary",disabled:this.busy,onClick:()=>this.requestLink(!0)},this.busy?"Sending…":"Resend link"),this.allowCodeEntry&&s("button",{type:"button",class:"link",onClick:()=>this.phase="code"},"Enter the code instead"),s("button",{type:"button",class:"link",onClick:()=>this.phase="email"},"Use a different email"))):"code"===this.phase?s("form",{class:"login",onSubmit:this.handleCodeSubmit},s("h2",{class:"title"},"Enter your code"),s("p",{class:"lead"},"Type the 6-digit code from the email we sent to ",s("strong",null,this.email),"."),s("label",{class:"label",htmlFor:"tl-login-code"},"Code"),s("input",{id:"tl-login-code",class:"input code-input",type:"text",inputmode:"numeric",autocomplete:"one-time-code",placeholder:"123456",value:this.code,disabled:this.busy,onInput:this.handleCodeInput}),this.renderError(),s("button",{type:"submit",class:"primary",disabled:this.busy},this.busy?"Checking…":"Sign in"),s("div",{class:"actions"},s("button",{type:"button",class:"link",onClick:()=>this.requestLink(!0)},"Resend link"),s("button",{type:"button",class:"link",onClick:()=>this.phase="sent"},"Back"))):s("form",{class:"login",onSubmit:this.handleEmailSubmit},s("h2",{class:"title"},this.heading),s("p",{class:"lead"},"Enter your email and we'll send you a secure sign-in link. No password needed."),s("label",{class:"label",htmlFor:"tl-login-email"},"Email address"),s("input",{id:"tl-login-email",class:"input",type:"email",autocomplete:"email",placeholder:"you@example.com",required:!0,value:this.email,disabled:this.busy||!this.auth,onInput:this.handleEmailInput}),this.renderError(),s("button",{type:"submit",class:"primary",disabled:this.busy||!this.auth},this.busy?"Sending link…":"Email me a sign-in link"))}};l.style=":host{display:block;font-family:var(--tl-font-family, system-ui, sans-serif);color:var(--tl-foreground, #111827)}.login{display:flex;flex-direction:column;gap:var(--tl-spacing-3, 0.75rem);padding:var(--tl-spacing-6, 1.5rem);background:var(--tl-background, #ffffff);border:1px solid var(--tl-border, #e5e7eb);border-radius:var(--tl-radius-lg, 0.75rem)}.title{margin:0;font-size:1.25rem;font-weight:600}.lead{margin:0;font-size:0.875rem;color:var(--tl-muted-foreground, #6b7280)}.label{font-size:0.875rem;font-weight:500}.input{padding:var(--tl-spacing-3, 0.75rem);font:inherit;font-size:0.9375rem;color:var(--tl-foreground, #111827);background:var(--tl-background, #ffffff);border:1px solid var(--tl-border, #e5e7eb);border-radius:var(--tl-radius-md, 0.5rem)}.input:focus{outline:2px solid var(--tl-primary, #6366f1);outline-offset:1px}.code-input{font-family:var(--tl-font-family-mono, ui-monospace, monospace);font-size:1.25rem;letter-spacing:0.25em;text-align:center}.primary,.secondary{padding:var(--tl-spacing-3, 0.75rem) var(--tl-spacing-4, 1rem);font:inherit;font-size:0.9375rem;font-weight:600;border-radius:var(--tl-radius-md, 0.5rem);cursor:pointer}.primary{color:var(--tl-primary-foreground, #ffffff);background:var(--tl-primary, #6366f1);border:none}.primary:hover:not(:disabled){opacity:0.9}.secondary{color:var(--tl-foreground, #111827);background:var(--tl-secondary, #f3f4f6);border:1px solid var(--tl-border, #e5e7eb)}.primary:disabled,.secondary:disabled,.input:disabled{opacity:0.6;cursor:not-allowed}.link{padding:0;font:inherit;font-size:0.875rem;color:var(--tl-primary, #6366f1);background:none;border:none;cursor:pointer}.link:hover{text-decoration:underline}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--tl-spacing-4, 1rem)}.error{margin:0;font-size:0.8125rem;color:var(--tl-error, #ef4444)}.notice{margin:0;font-size:0.8125rem;color:var(--tl-success, #10b981)}.signed-in{flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap}.signed-in-text{margin:0;font-size:0.875rem;overflow-wrap:anywhere}";export{l as tl_login}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as t,c as r,h as e}from"./p-Ba-RZTFI.js";import{w as o,h as a,g as i}from"./p-CqhvfyKV.js";const s=class{constructor(e){t(this,e),this.tlCheckout=r(this,"tlCheckout"),this.tlItemRemoved=r(this,"tlItemRemoved"),this.tlCartUpdated=r(this,"tlCartUpdated"),this.tlError=r(this,"tlError"),this.showCheckoutButton=!0,this.checkoutLabel="Checkout",this.showRemoveButtons=!0,this.compact=!1,this.cart=null,this.loading=!0,this.error=null,this.removingItemId=null,this.handleCheckout=()=>{this.cart&&this.cart.items.length>0&&this.tlCheckout.emit({cart:this.cart})}}componentWillLoad(){this.loadCart()}componentDidLoad(){this.subscribeToCartUpdates()}disconnectedCallback(){this.unsubscribe&&this.unsubscribe()}async loadCart(){try{console.log("[tl-cart] Loading cart..."),this.loading=!0,this.error=null;const t=await o(),r=t.getCartManager?.();if(r){const t=await r.get();console.log("[tl-cart] Cart loaded:",t),this.cart=t}}catch(t){console.error("[tl-cart] Failed to load cart:",t),this.error=t instanceof Error?t.message:"Failed to load cart",this.tlError.emit({message:this.error})}finally{this.loading=!1}}async subscribeToCartUpdates(){const t=await o().catch((()=>null));if(!t)return;const r=t.getCartManager?.();r&&(this.unsubscribe=r.on?.("cart:updated",(t=>{console.log("[tl-cart] Cart updated:",t),this.cart=t,this.tlCartUpdated.emit({cart:t})})))}async handleRemoveItem(t){if(a()){this.removingItemId=t;try{const r=i(),e=r.getCartManager?.();e&&(await e.removeItem(t),console.log("[tl-cart] Item removed:",t),this.tlItemRemoved.emit({itemId:t}))}catch(t){console.error("[tl-cart] Failed to remove item:",t),this.error=t instanceof Error?t.message:"Failed to remove item",this.tlError.emit({message:this.error})}finally{this.removingItemId=null}}}formatPrice(t,r="GBP"){return new Intl.NumberFormat("en-GB",{style:"currency",currency:r}).format(t/100)}formatDate(t){return new Date(t).toLocaleDateString("en-GB",{weekday:"short",day:"numeric",month:"short",hour:"2-digit",minute:"2-digit"})}renderSkeleton(){return e("div",{class:"skeleton-container"},e("div",{class:"skeleton-item"}),e("div",{class:"skeleton-item"}),e("div",{class:"skeleton-totals"}))}renderEmptyCart(){return e("div",{class:"empty-cart"},e("svg",{class:"empty-icon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor"},e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"1.5",d:"M3 3h2l.4 2M7 13h10l4-8H5.4M7 13L5.4 5M7 13l-2.293 2.293c-.63.63-.184 1.707.707 1.707H17m0 0a2 2 0 100 4 2 2 0 000-4zm-8 2a2 2 0 11-4 0 2 2 0 014 0z"})),e("p",{class:"empty-title"},"Your cart is empty"),e("p",{class:"empty-message"},"Add tickets to get started"))}renderCartItem(t){const r=this.removingItemId===t.id;return e("div",{class:"cart-item "+(r?"removing":""),key:t.id},e("div",{class:"item-info"},e("p",{class:"item-name"},t.ticketTypeName),!this.compact&&e("p",{class:"item-event"},t.eventName),!this.compact&&t.occurrenceDate&&e("p",{class:"item-date"},this.formatDate(t.occurrenceDate)),e("p",{class:"item-quantity"},"Qty: ",t.quantity)),e("div",{class:"item-actions"},e("p",{class:"item-price"},this.formatPrice(t.totalPrice,t.currency)),this.showRemoveButtons&&e("button",{class:"remove-btn",onClick:()=>this.handleRemoveItem(t.id),disabled:r,"aria-label":"Remove item"},r?e("span",{class:"spinner"}):e("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor"},e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M6 18L18 6M6 6l12 12"})))))}render(){if(this.loading)return this.renderSkeleton();if(!this.cart||0===this.cart.items.length)return this.renderEmptyCart();const{items:t,subtotal:r,fees:o,total:a,currency:i}=this.cart;return e("div",{class:"cart "+(this.compact?"compact":"")},e("div",{class:"cart-items"},t.map((t=>this.renderCartItem(t)))),e("div",{class:"cart-totals"},!this.compact&&e("div",{class:"total-row subtotal"},e("span",null,"Subtotal"),e("span",null,this.formatPrice(r,i))),o>0&&!this.compact&&e("div",{class:"total-row fees"},e("span",null,"Fees"),e("span",null,this.formatPrice(o,i))),e("div",{class:"total-row total"},e("span",null,"Total"),e("span",null,this.formatPrice(a,i)))),this.showCheckoutButton&&e("button",{class:"checkout-btn",onClick:this.handleCheckout,disabled:0===t.length},this.checkoutLabel))}};s.style=":host{display:block;font-family:var(--tl-font-family, system-ui, sans-serif)}.skeleton-container{padding:var(--tl-spacing-4, 1rem)}.skeleton-item{height:70px;background:var(--tl-color-muted, #f3f4f6);border-radius:var(--tl-radius-md, 0.5rem);margin-bottom:var(--tl-spacing-3, 0.75rem);animation:pulse 1.5s ease-in-out infinite}.skeleton-totals{height:100px;background:var(--tl-color-muted, #f3f4f6);border-radius:var(--tl-radius-md, 0.5rem);animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.5}}.empty-cart{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--tl-spacing-8, 2rem);text-align:center}.empty-icon{width:48px;height:48px;color:var(--tl-color-muted-foreground, #9ca3af);margin-bottom:var(--tl-spacing-4, 1rem)}.empty-title{margin:0 0 var(--tl-spacing-2, 0.5rem);font-size:16px;font-weight:600;color:var(--tl-color-foreground, #111827)}.empty-message{margin:0;font-size:14px;color:var(--tl-color-muted-foreground, #6b7280)}.cart{background:var(--tl-color-background, #ffffff)}.cart.compact .cart-items{margin-bottom:var(--tl-spacing-2, 0.5rem)}.cart-items{margin-bottom:var(--tl-spacing-4, 1rem)}.cart-item{display:flex;justify-content:space-between;align-items:flex-start;padding:var(--tl-spacing-3, 0.75rem) 0;border-bottom:1px solid var(--tl-color-border, #e5e7eb);transition:opacity 0.2s}.cart-item:last-child{border-bottom:none}.cart-item.removing{opacity:0.5}.item-info{flex:1;min-width:0}.item-name{margin:0;font-weight:600;font-size:15px;color:var(--tl-color-foreground, #111827)}.item-event{margin:var(--tl-spacing-1, 0.25rem) 0 0;font-size:14px;color:var(--tl-color-muted-foreground, #6b7280)}.item-date{margin:var(--tl-spacing-1, 0.25rem) 0 0;font-size:13px;color:var(--tl-color-muted-foreground, #9ca3af)}.item-quantity{margin:var(--tl-spacing-1, 0.25rem) 0 0;font-size:13px;color:var(--tl-color-muted-foreground, #6b7280)}.item-actions{display:flex;align-items:center;gap:var(--tl-spacing-3, 0.75rem);margin-left:var(--tl-spacing-4, 1rem)}.item-price{margin:0;font-weight:600;font-size:15px;color:var(--tl-color-foreground, #111827);white-space:nowrap}.remove-btn{width:28px;height:28px;padding:0;border:none;background:transparent;border-radius:var(--tl-radius-sm, 0.25rem);color:var(--tl-color-muted-foreground, #9ca3af);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color 0.15s, color 0.15s}.remove-btn:hover:not(:disabled){background-color:var(--tl-color-destructive-bg, #fee2e2);color:var(--tl-color-destructive, #ef4444)}.remove-btn:disabled{cursor:not-allowed;opacity:0.5}.remove-btn svg{width:16px;height:16px}.spinner{width:14px;height:14px;border:2px solid var(--tl-color-border, #e5e7eb);border-top-color:var(--tl-color-primary, #6366f1);border-radius:50%;animation:spin 0.6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.cart-totals{padding:var(--tl-spacing-3, 0.75rem) 0;border-top:1px solid var(--tl-color-border, #e5e7eb)}.total-row{display:flex;justify-content:space-between;align-items:center;padding:var(--tl-spacing-1, 0.25rem) 0}.total-row.subtotal,.total-row.fees{font-size:14px;color:var(--tl-color-muted-foreground, #6b7280)}.total-row.total{font-size:16px;font-weight:700;color:var(--tl-color-foreground, #111827);padding-top:var(--tl-spacing-2, 0.5rem);border-top:1px solid var(--tl-color-border, #e5e7eb);margin-top:var(--tl-spacing-2, 0.5rem)}.checkout-btn{width:100%;margin-top:var(--tl-spacing-4, 1rem);padding:var(--tl-spacing-3, 0.75rem) var(--tl-spacing-4, 1rem);border-radius:var(--tl-radius-md, 0.5rem);border:none;background-color:var(--tl-color-primary, #6366f1);color:var(--tl-color-primary-foreground, #ffffff);font-weight:600;font-size:16px;cursor:pointer;transition:opacity 0.15s, transform 0.1s}.checkout-btn:hover:not(:disabled){opacity:0.9}.checkout-btn:active:not(:disabled){transform:scale(0.98)}.checkout-btn:disabled{background-color:var(--tl-color-muted, #d1d5db);color:var(--tl-color-muted-foreground, #6b7280);cursor:not-allowed}.cart.compact .item-info{flex-direction:row;align-items:center}.cart.compact .cart-totals{padding:var(--tl-spacing-2, 0.5rem) 0}.cart.compact .total-row.total{margin-top:0;border-top:none;padding-top:0}";export{s as tl_cart}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e,c as t,h as r,H as a}from"./p-Ba-RZTFI.js";import{o}from"./p-CqhvfyKV.js";const s=class{constructor(r){e(this,r),this.tlOpen=t(this,"tlOpen"),this.tlClose=t(this,"tlClose"),this.side="right",this.heading="Your cart",this.open=!1,this.visible=!1,this.onKey=e=>{"Escape"===e.key&&this.visible&&this.setOpen(!1)},this.close=()=>this.setOpen(!1)}connectedCallback(){this.visible=this.open,this.offCart=o("ui:cart-requested",(()=>this.setOpen(!0))),this.offClose=o("ui:modal-close-requested",(()=>this.setOpen(!1))),"undefined"!=typeof document&&document.addEventListener("keydown",this.onKey)}disconnectedCallback(){this.offCart?.(),this.offClose?.(),"undefined"!=typeof document&&document.removeEventListener("keydown",this.onKey)}onOpenProp(e){this.visible=e}setOpen(e){this.visible!==e&&(this.open=e,this.visible=e,e?this.tlOpen.emit():this.tlClose.emit())}render(){return r(a,{key:"5b4dbc69206ef19bcf3b0ba619a67728c8e35e68"},r("div",{key:"0312918752eb5eebb86206be7094c1024dbd3457",class:{overlay:!0,"is-open":this.visible},onClick:e=>{e.target===e.currentTarget&&this.close()}},r("aside",{key:"8c50e6b0cfacf3a881e4ec1ab272ef8da13cd796",class:{panel:!0,[`panel--${this.side}`]:!0,"is-open":this.visible},role:"dialog","aria-modal":"true","aria-label":this.heading,"aria-hidden":this.visible?"false":"true"},r("header",{key:"ee7efe3700ff05c921f6ace97f39f957ebf6670e",class:"drawer-header"},r("h2",{key:"07841a92eea5bca5db0ebf64df91a14eaa5ecffc",class:"drawer-title"},this.heading),r("button",{key:"c2099831dfaf89b44b7228c1ee5634d61c5af919",class:"close-btn",onClick:this.close,"aria-label":"Close cart"},r("svg",{key:"a2c8e0ecf42e4fe43ca1d6b6ccc6f4687e6af483",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},r("path",{key:"de07e2ce6b0b60a137d8b534826963a03421af7b",d:"M6 6l12 12M18 6L6 18","stroke-linecap":"round"})))),r("div",{key:"f67798d0e026cce074bf15b246cdd3b726be98f6",class:"drawer-body"},r("tl-cart",{key:"1b2a5a44e1862a3b4754bd36e17de063d012453e"})))))}static get watchers(){return{open:[{onOpenProp:0}]}}};s.style=":host{--_bg:var(--tl-background, #ffffff);--_fg:var(--tl-foreground, #111827);--_muted-fg:var(--tl-muted-foreground, #6b7280);--_muted:var(--tl-muted, #f3f4f6);--_border:var(--tl-border, #e5e7eb);--_font:var(--tl-font-family, system-ui, -apple-system, sans-serif);font-family:var(--_font)}.overlay{position:fixed;inset:0;z-index:2147483640;background:rgba(8, 8, 16, 0.6);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity 0.25s ease}.overlay.is-open{opacity:1;pointer-events:auto}.panel{position:fixed;top:0;bottom:0;width:min(420px, 100%);display:flex;flex-direction:column;background:var(--_bg);color:var(--_fg);box-shadow:0 0 48px rgba(0, 0, 0, 0.5);transition:transform 0.28s cubic-bezier(0.16, 1, 0.3, 1);will-change:transform}.panel--right{right:0;border-left:1px solid var(--_border);transform:translateX(100%)}.panel--left{left:0;border-right:1px solid var(--_border);transform:translateX(-100%)}.panel.is-open{transform:translateX(0)}.drawer-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--_border)}.drawer-title{margin:0;font-size:1.1rem;font-weight:700}.close-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:0;border-radius:999px;background:var(--_muted);color:var(--_muted-fg);cursor:pointer;transition:color 0.15s}.close-btn:hover{color:var(--_fg)}.close-btn svg{width:16px;height:16px}.drawer-body{flex:1;overflow-y:auto;padding:18px 20px}";export{s as tl_cart_drawer}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as t,c as r,h as e}from"./p-Ba-RZTFI.js";import{o as s,w as i}from"./p-CqhvfyKV.js";import{e as a,r as o,o as l,c as n,d as c,a as d,g as h}from"./p-BGekdjN9.js";const u=class{constructor(e){t(this,e),this.tlOrderLoaded=r(this,"tlOrderLoaded"),this.tlError=r(this,"tlError"),this.showTickets=!0,this.columns=2,this.order=null,this.resolvedOrderId=null,this.loading=!1,this.error=null,this.paymentFailed=!1,this.occurrence=null,this.signedInCustomer=null}watchOrderId(t){this.resolvedOrderId=t||this.orderIdFromUrl(),this.load()}async componentWillLoad(){const t=this.urlParams(),r=t?.get("redirect_status");this.paymentFailed=!!r&&"succeeded"!==r,this.resolvedOrderId=this.orderId||this.orderIdFromUrl(),this.resolvedOrderId&&!this.paymentFailed&&await this.load()}componentDidLoad(){this.unsubscribe=s("checkout:completed",(t=>{const r=t;r?.id&&(this.paymentFailed=!1,this.order=r,this.resolvedOrderId=r.id,this.tlOrderLoaded.emit({order:r}),this.load())}))}disconnectedCallback(){this.unsubscribe?.()}urlParams(){return"undefined"!=typeof window&&window.location?.search?new URLSearchParams(window.location.search):null}orderIdFromUrl(){return this.urlParams()?.get("orderId")||null}async load(){const t=this.resolvedOrderId;if(t)try{this.loading=!this.order,this.error=null;const r=await i(),e=r.getOrdersManager?.();if(!e)throw new Error("Orders are not available");const s=await e.get(t);if(!s)throw new Error("Order not found");this.order=s,this.signedInCustomer=r.getAuthManager?.()?.customer??null,this.tlOrderLoaded.emit({order:s}),this.resolveEvent(r,s)}catch(t){console.error("[tl-order-confirmation] Failed to load order:",t),this.error=a(t,"Failed to load your order"),this.tlError.emit({message:this.error})}finally{this.loading=!1}}async resolveEvent(t,r){const e=r.tickets?.find((t=>t.eventOccurrenceId))?.eventOccurrenceId;if(e)try{const s=await o(t,e);s&&this.order?.id===r.id&&(this.occurrence=s)}catch{}}renderRows(t){const r=this.customerEmail||c(t,this.signedInCustomer),s=this.occurrence?.eventName||l(t),i=this.occurrence?.startsAt;return e("dl",{class:"rows"},e("div",{class:"row"},e("dt",null,"Order reference"),e("dd",{class:"reference"},t.orderNumber)),r&&e("div",{class:"row"},e("dt",null,"Email"),e("dd",null,r)),s&&e("div",{class:"row"},e("dt",null,"Event"),e("dd",null,s)),i&&e("div",{class:"row"},e("dt",null,"Date"),e("dd",null,n(i))))}renderTotals(t){const r=t.currency||"GBP",s=Number(t.totalFees)||0,i=Number(t.totalTax)||0,a=Number(t.totalDiscounts)||0;return e("div",{class:"totals"},e("div",{class:"total-row"},e("span",null,"Subtotal"),e("span",null,d(t.subtotal,r))),s>0&&e("div",{class:"total-row"},e("span",null,"Fees"),e("span",null,d(t.totalFees,r))),i>0&&e("div",{class:"total-row"},e("span",null,"Tax"),e("span",null,d(t.totalTax,r))),a>0&&e("div",{class:"total-row discount"},e("span",null,"Discount"),e("span",null,"-",d(t.totalDiscounts,r))),e("div",{class:"total-row total"},e("span",null,"Total"),e("span",null,d(t.total,r))))}render(){if(this.paymentFailed)return e("div",{class:"confirmation"},e("h1",{class:"title"},"Payment not completed"),e("p",{class:"lead"},"Your payment wasn't completed. Your cart is still saved, so you can try again."));if(!this.resolvedOrderId&&!this.order)return null;if(this.loading)return e("div",{class:"confirmation"},e("div",{class:"skeleton-line short"}),e("div",{class:"skeleton-line long"}),e("div",{class:"skeleton-block"}));const t=this.order,r=t?.id||this.resolvedOrderId;return e("div",{class:"confirmation"},e("div",{class:"check","aria-hidden":"true"},e("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor"},e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M5 13l4 4L19 7"}))),e("h1",{class:"title"},"You're going!"),e("p",{class:"lead"},t?.orderNumber?`Order ${t.orderNumber} is confirmed. Your tickets are on their way to your email.`:"Your order is confirmed. Your tickets are on their way to your email."),this.error&&!t&&e("p",{class:"error"},"We couldn't load your order details yet. ",this.error),t&&Array.isArray(t.items)&&e("div",{class:"summary"},this.renderRows(t),e("ul",{class:"lines"},h(t).map(((r,s)=>e("li",{class:"line",key:s},e("span",{class:"line-name"},r.quantity," x ",r.name),e("span",{class:"line-price"},d(r.subtotal,t.currency)))))),this.renderTotals(t)),this.showTickets&&t&&e("div",{class:"tickets"},e("h2",{class:"subtitle"},"Your tickets"),e("tl-order-tickets",{orderId:r,columns:this.columns}),e("p",{class:"hint"},"Show these QR codes at the door for entry. Use Download PDF on a ticket to save it.")))}static get watchers(){return{orderId:[{watchOrderId:0}]}}};u.style=":host{display:block;font-family:var(--tl-font-family, system-ui, sans-serif);color:var(--tl-foreground, #111827)}.confirmation{text-align:center}.check{width:4rem;height:4rem;margin:0 auto var(--tl-spacing-4, 1rem);display:flex;align-items:center;justify-content:center;border-radius:9999px;background:var(--tl-success, #10b981);color:var(--tl-success-foreground, #ffffff)}.check svg{width:2rem;height:2rem}.title{margin:0 0 var(--tl-spacing-2, 0.5rem);font-size:1.875rem;font-weight:700;line-height:1.2}.lead{margin:0 0 var(--tl-spacing-6, 1.5rem);color:var(--tl-muted-foreground, #6b7280)}.error{margin:0 0 var(--tl-spacing-6, 1.5rem);font-size:0.875rem;color:var(--tl-error, #ef4444)}.summary{text-align:left;padding:var(--tl-spacing-6, 1.5rem);margin-bottom:var(--tl-spacing-6, 1.5rem);background:var(--tl-muted, #f9fafb);border:1px solid var(--tl-border, #e5e7eb);border-radius:var(--tl-radius-lg, 0.75rem)}.rows{display:grid;gap:var(--tl-spacing-2, 0.5rem);margin:0 0 var(--tl-spacing-4, 1rem);padding:0 0 var(--tl-spacing-4, 1rem);border-bottom:1px solid var(--tl-border, #e5e7eb)}.row{display:flex;justify-content:space-between;gap:var(--tl-spacing-4, 1rem);font-size:0.875rem}.row dt{color:var(--tl-muted-foreground, #6b7280)}.row dd{margin:0;text-align:right;overflow-wrap:anywhere}.reference{font-family:var(--tl-font-family-mono, ui-monospace, monospace);font-weight:600}.lines{list-style:none;margin:0;padding:0;display:grid;gap:var(--tl-spacing-2, 0.5rem)}.line{display:flex;justify-content:space-between;gap:var(--tl-spacing-4, 1rem);font-size:0.875rem}.totals{margin-top:var(--tl-spacing-3, 0.75rem);padding-top:var(--tl-spacing-3, 0.75rem);border-top:1px solid var(--tl-border, #e5e7eb);display:grid;gap:var(--tl-spacing-1, 0.25rem);font-size:0.875rem}.total-row{display:flex;justify-content:space-between;color:var(--tl-muted-foreground, #6b7280)}.total-row.discount{color:var(--tl-success, #10b981)}.total-row.total{margin-top:var(--tl-spacing-1, 0.25rem);font-size:1rem;font-weight:600;color:var(--tl-foreground, #111827)}.tickets{text-align:left}.subtitle{margin:0 0 var(--tl-spacing-4, 1rem);font-size:1.125rem;font-weight:600}.hint{margin:var(--tl-spacing-3, 0.75rem) 0 0;font-size:0.75rem;color:var(--tl-muted-foreground, #6b7280)}.skeleton-line,.skeleton-block{background:var(--tl-secondary, #f3f4f6);border-radius:var(--tl-radius-md, 0.5rem);animation:pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;margin:0 auto var(--tl-spacing-3, 0.75rem)}.skeleton-line{height:1rem}.skeleton-line.short{width:40%;height:1.75rem}.skeleton-line.long{width:70%}.skeleton-block{height:8rem}@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.5}}";export{u as tl_order_confirmation}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e,c as t,h as a,a as s}from"./p-Ba-RZTFI.js";import{h as i,g as r}from"./p-CqhvfyKV.js";const o=class{constructor(a){e(this,a),this.tlReady=t(this,"tlReady"),this.tlLoad=t(this,"tlLoad"),this.tlError=t(this,"tlError"),this.tlSeatAdded=t(this,"tlSeatAdded"),this.tlSeatRemoved=t(this,"tlSeatRemoved"),this.tlCartChange=t(this,"tlCartChange"),this.hboUrl="https://checkout.ticketlayer.com",this.apiUrl="https://api.ticketlayer.com",this.height="600px",this.width="100%",this.isReady=!1,this.isLoading=!0,this.error=null,this.seatsInCart=[],this.postToIframe=(e,t={})=>{this.iframeRef?.contentWindow&&this.iframeRef.contentWindow.postMessage({type:e,...t},"*")},this.handleMessage=e=>{if(e.data&&e.data.type)switch(e.data.type){case"seatmap:ready":this.isReady=!0,this.isLoading=!1,this.tlReady.emit(),this.postToIframe("seatmap:set-cart-seats",{seatIds:this.seatsInCart});break;case"seatmap:loaded":this.tlLoad.emit({seatMapId:e.data.seatMapId});break;case"seatmap:error":this.error=e.data.error,this.isLoading=!1,this.tlError.emit({error:e.data.error});break;case"seatmap:add-seat":this.handleAddSeat(e.data.seatId,e.data.ticketTypeId);break;case"seatmap:remove-seat":this.handleRemoveSeat(e.data.seatId)}},this.handleAddSeat=async(e,t)=>{if(!i())return console.warn("[tl-seat-map] SDK not available, cannot add seat"),void this.postToIframe("seatmap:add-seat-failed",{seatId:e,error:"SDK not available"});try{const a=r();await a.getCartManager().addSeat(e,t,this.occurrenceId),this.postToIframe("seatmap:add-seat-confirmed",{seatId:e}),this.seatsInCart=[...this.seatsInCart,e],this.tlSeatAdded.emit({seatId:e,ticketTypeId:t}),this.tlCartChange.emit({seatIds:this.seatsInCart})}catch(t){console.error("[tl-seat-map] Failed to add seat:",t),this.postToIframe("seatmap:add-seat-failed",{seatId:e,error:"Failed to add seat"})}},this.handleRemoveSeat=async e=>{if(!i())return console.warn("[tl-seat-map] SDK not available, cannot remove seat"),void this.postToIframe("seatmap:remove-seat-failed",{seatId:e,error:"SDK not available"});try{const t=r();await t.getCartManager().removeSeat(e,this.occurrenceId),this.postToIframe("seatmap:remove-seat-confirmed",{seatId:e}),this.seatsInCart=this.seatsInCart.filter((t=>t!==e)),this.tlSeatRemoved.emit({seatId:e}),this.tlCartChange.emit({seatIds:this.seatsInCart})}catch(t){console.error("[tl-seat-map] Failed to remove seat:",t),this.postToIframe("seatmap:remove-seat-failed",{seatId:e,error:"Failed to remove seat"})}}}componentWillLoad(){window.addEventListener("message",this.handleMessage)}disconnectedCallback(){window.removeEventListener("message",this.handleMessage)}watchOccurrenceId(){this.isReady=!1,this.isLoading=!0,this.error=null}getIframeSrc(){return`${this.hboUrl}/embed/seats?occurrenceId=${encodeURIComponent(this.occurrenceId)}&apiUrl=${encodeURIComponent(this.apiUrl)}`}render(){return a("div",{key:"f1efda6053825bdeb72aa277ad9fb5533fc56881",class:"seat-map-container",style:{width:this.width,height:this.height}},this.isLoading&&a("div",{key:"d6017235cb2e06fcc27184b382747dc8bcae5b6c",class:"loading"},a("div",{key:"63618e07b6f4a2822418283fc83ab08aaec054a2",class:"spinner"}),a("p",{key:"0de2e4f71f78c5e662b03f5c0217ae43a2c4c1df"},"Loading seat map...")),this.error&&a("div",{key:"a2b45dc5a66e18109cd4cf8677989e669117dcc0",class:"error"},a("p",{key:"c50b5527a2f6308b53e0389f94cacb2ebeef7262",class:"error-title"},"Error"),a("p",{key:"1625a73993cbac40bfefb7913e0b735c0082a23f",class:"error-message"},this.error)),a("iframe",{key:"c7fc0441b436086d4717a87723108b1471c941ad",ref:e=>this.iframeRef=e,src:this.getIframeSrc(),class:{"seat-map-iframe":!0,hidden:this.isLoading||!!this.error},title:"Ticketlayer Seat Map",allow:"fullscreen"}))}get el(){return s(this)}static get watchers(){return{occurrenceId:[{watchOccurrenceId:0}]}}};o.style=":host{display:block;font-family:var(--tl-font-family, system-ui, -apple-system, sans-serif)}.seat-map-container{position:relative;overflow:hidden;border-radius:var(--tl-radius-md, 0.5rem);background:var(--tl-color-background, #ffffff)}.seat-map-iframe{width:100%;height:100%;border:none}.seat-map-iframe.hidden{display:none}.loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--tl-color-background, #ffffff);color:var(--tl-color-foreground, #0f172a);gap:1rem}.loading p{margin:0;font-size:0.875rem;color:var(--tl-color-muted-foreground, #64748b)}.spinner{width:40px;height:40px;border:3px solid var(--tl-color-border, #e2e8f0);border-top-color:var(--tl-color-primary, #e64b12);border-radius:50%;animation:tl-seat-map-spin 1s linear infinite}@keyframes tl-seat-map-spin{to{transform:rotate(360deg)}}.error{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--tl-color-background, #ffffff);color:var(--tl-color-error, #ef4444);padding:1.5rem;text-align:center}.error-title{margin:0 0 0.5rem;font-size:1.125rem;font-weight:600}.error-message{margin:0;font-size:0.875rem;opacity:0.9}";export{o as tl_seat_map}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as t,c as e,h as r}from"./p-Ba-RZTFI.js";import{w as a}from"./p-CqhvfyKV.js";import{e as i}from"./p-BGekdjN9.js";const s=class{constructor(r){t(this,r),this.tlClick=e(this,"tlClick"),this.tlError=e(this,"tlError"),this.loadedEvent=null,this.loading=!1,this.error=null,this.handleClick=()=>{const t=this.current;t&&(console.log("[tl-event-card] Clicked:",t.id),this.tlClick.emit({eventId:t.id}))}}watchEventId(){this.loadEvent()}async componentWillLoad(){!this.event&&this.eventId&&await this.loadEvent()}async loadEvent(){if(!this.event&&this.eventId)try{this.loading=!0,this.error=null;const t=await a(),e=await t.getEventsManager().get(this.eventId);if(!e)throw new Error("Event not found");this.loadedEvent=function(t){const e=t.occurrences??[],r=e.map((t=>t.startsAt)).filter((t=>!!t)).sort(),a=Date.now(),i=r.find((t=>new Date(t).getTime()>=a))??r[0],s="sold_out"===t.status||e.length>0&&e.every((t=>"sold_out"===t.status));return{id:t.id,name:t.name,...t.shortDescription?{shortDescription:t.shortDescription}:{},...t.imageUrl?{imageUrl:t.imageUrl}:{},...t.venueName?{venue:{id:t.venueId??"",name:t.venueName,city:t.venueCity??""}}:{},...i?{nextOccurrence:{startsAt:i}}:{},availabilityStatus:s?"sold_out":"available"}}(e)}catch(t){console.error("[tl-event-card] Failed to load event:",t),this.error=i(t,"Failed to load event"),this.tlError.emit({message:this.error})}finally{this.loading=!1}}get current(){return this.event??this.loadedEvent}formatDate(t){return new Date(t).toLocaleDateString("en-GB",{weekday:"short",day:"numeric",month:"short",hour:"2-digit",minute:"2-digit"})}getStatusBadgeClass(){const t="status-badge";switch(this.current?.availabilityStatus){case"available":return`${t} status-available`;case"limited":return`${t} status-limited`;case"sold_out":return`${t} status-sold-out`;default:return t}}getStatusLabel(){switch(this.current?.availabilityStatus){case"available":return"Available";case"limited":return"Limited";case"sold_out":return"Sold Out";default:return""}}render(){if(this.loading)return r("div",{class:"event-card card-skeleton","aria-busy":"true"},r("div",{class:"image-container"}),r("div",{class:"content"},r("div",{class:"skeleton-line short"}),r("div",{class:"skeleton-line long"})));if(this.error)return r("div",{class:"event-card card-error"},this.error);const t=this.current;if(!t)return null;const e=t.thumbnailUrl||t.imageUrl;return r("div",{class:"event-card",onClick:this.handleClick},r("div",{class:"image-container"},e?r("img",{src:e,alt:t.name,class:"event-image"}):r("div",{class:"image-placeholder"},r("svg",{width:"48",height:"48",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor"},r("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"1.5",d:"M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z"}))),r("div",{class:"status-container"},r("span",{class:this.getStatusBadgeClass()},this.getStatusLabel()))),r("div",{class:"content"},t.category&&r("span",{class:"category"},t.category),r("h3",{class:"title"},t.name),t.nextOccurrence&&r("p",{class:"meta"},r("svg",{class:"icon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor"},r("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"})),this.formatDate(t.nextOccurrence.startsAt)),t.venue&&r("p",{class:"meta"},r("svg",{class:"icon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor"},r("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M17.657 16.657L13.414 20.9a1.998 1.998 0 01-2.827 0l-4.244-4.243a8 8 0 1111.314 0z"}),r("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 11a3 3 0 11-6 0 3 3 0 016 0z"})),t.venue.name,", ",t.venue.city),t.shortDescription&&r("p",{class:"description"},t.shortDescription)))}static get watchers(){return{eventId:[{watchEventId:0}]}}};s.style=":host{display:block;font-family:var(--tl-font-family, system-ui, sans-serif)}.event-card{background:var(--tl-secondary, #f3f4f6);border-radius:var(--tl-radius-lg, 0.75rem);overflow:hidden;box-shadow:0 1px 3px rgba(0, 0, 0, 0.1);cursor:pointer;transition:box-shadow 0.2s ease, transform 0.2s ease}.event-card:hover{box-shadow:0 4px 12px rgba(0, 0, 0, 0.15);transform:translateY(-2px)}.image-container{position:relative;aspect-ratio:16 / 9;overflow:hidden;background:var(--tl-muted, #f9fafb)}.event-image{width:100%;height:100%;object-fit:cover;transition:transform 0.3s ease}.event-card:hover .event-image{transform:scale(1.05)}.image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--tl-muted-foreground, #6b7280)}.status-container{position:absolute;top:0.5rem;right:0.5rem}.status-badge{display:inline-block;padding:0.25rem 0.5rem;font-size:0.75rem;font-weight:500;border-radius:var(--tl-radius-sm, 0.25rem)}.status-available{background:var(--tl-success, #10b981);color:var(--tl-success-foreground, #ffffff)}.status-limited{background:var(--tl-warning, #f59e0b);color:var(--tl-warning-foreground, #ffffff)}.status-sold-out{background:var(--tl-error, #ef4444);color:var(--tl-error-foreground, #ffffff)}.content{padding:var(--tl-spacing-4, 1rem)}.category{display:inline-block;font-size:0.75rem;font-weight:500;text-transform:uppercase;letter-spacing:0.05em;color:var(--tl-primary, #6366f1)}.title{margin:0.25rem 0 0;font-size:1.125rem;font-weight:600;color:var(--tl-foreground, #111827);line-height:1.3}.event-card:hover .title{color:var(--tl-primary, #6366f1)}.meta{display:flex;align-items:center;gap:0.5rem;margin:0.5rem 0 0;font-size:0.875rem;color:var(--tl-muted-foreground, #6b7280)}.meta:first-of-type{margin-top:0.75rem}.icon{width:1rem;height:1rem;flex-shrink:0}.description{margin:0.75rem 0 0;font-size:0.875rem;color:var(--tl-muted-foreground, #6b7280);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-skeleton{cursor:default;pointer-events:none}.card-skeleton .image-container{animation:pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite}.skeleton-line{height:0.875rem;margin-top:0.5rem;background:var(--tl-muted, #f9fafb);border-radius:var(--tl-radius-sm, 0.25rem);animation:pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite}.skeleton-line.short{width:40%}.skeleton-line.long{width:80%}.card-error{padding:var(--tl-spacing-4, 1rem);font-size:0.875rem;color:var(--tl-error, #ef4444);cursor:default}.card-error:hover{transform:none}@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.5}}";export{s as tl_event_card}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
:root{--tl-font-family:system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;--tl-font-family-mono:ui-monospace, SFMono-Regular, 'SF Mono', Menlo, monospace;--tl-primary:#6366f1;--tl-primary-foreground:#ffffff;--tl-secondary:#f3f4f6;--tl-secondary-foreground:#111827;--tl-background:#ffffff;--tl-foreground:#111827;--tl-muted:#f9fafb;--tl-muted-foreground:#6b7280;--tl-border:#e5e7eb;--tl-success:#10b981;--tl-success-foreground:#ffffff;--tl-warning:#f59e0b;--tl-warning-foreground:#ffffff;--tl-error:#ef4444;--tl-error-foreground:#ffffff;--tl-radius-sm:0.25rem;--tl-radius-md:0.5rem;--tl-radius-lg:0.75rem;--tl-spacing-1:0.25rem;--tl-spacing-2:0.5rem;--tl-spacing-3:0.75rem;--tl-spacing-4:1rem;--tl-spacing-6:1.5rem;--tl-spacing-8:2rem}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{p as e,g as r,b as t}from"./p-Ba-RZTFI.js";export{s as setNonce}from"./p-Ba-RZTFI.js";(()=>{const r=import.meta.url,t={};return""!==r&&(t.resourcesUrl=new URL(".",r).href),e(t)})().then((async e=>(await r(),t([["p-340ab4f5",[[1,"tl-my-orders",{emptyMessage:[1,"empty-message"],columns:[2],orders:[32],authenticated:[32],loading:[32],error:[32],expandedId:[32]}]]],["p-10f01a1f",[[1,"tl-buy-modal",{eventId:[1,"event-id"],occurrenceId:[1,"occurrence-id"],step:[32],eventName:[32],imageUrl:[32],venueLabel:[32],dateSummary:[32],selectedOccurrenceId:[32],occurrenceCount:[32],occurrenceLabel:[32],error:[32]}]]],["p-eb640760",[[1,"tl-order-confirmation",{orderId:[1,"order-id"],customerEmail:[1,"customer-email"],showTickets:[4,"show-tickets"],columns:[2],order:[32],resolvedOrderId:[32],loading:[32],error:[32],paymentFailed:[32],occurrence:[32],signedInCustomer:[32]},null,{orderId:[{watchOrderId:0}]}]]],["p-dd43f015",[[1,"tl-cart-drawer",{side:[1],heading:[1],open:[1028],visible:[32]},null,{open:[{onOpenProp:0}]}]]],["p-9a903ff6",[[1,"tl-event-list",{limit:[2],category:[1],columns:[2],events:[32],loading:[32],error:[32]},null,{limit:[{watchFiltersChange:0}],category:[{watchFiltersChange:0}]}]]],["p-11273f8f",[[1,"tl-buy-tickets-button",{eventId:[1,"event-id"],occurrenceId:[1,"occurrence-id"],state:[1],label:[1],variant:[1],size:[1],fullWidth:[4,"full-width"],price:[2],currency:[1],pricePrefix:[1,"price-prefix"],disabled:[4],isHovered:[32]}]]],["p-82752e3b",[[260,"tl-buy-tickets-wrapper",{eventId:[1,"event-id"],occurrenceId:[1,"occurrence-id"],disabled:[4]}]]],["p-9c9072c8",[[1,"tl-cart-badge",{showEmpty:[4,"show-empty"],icon:[1],size:[1],badgeOnly:[4,"badge-only"],itemCount:[32]}]]],["p-41d22d7c",[[260,"tl-checkout-wrapper",{disabled:[4]}]]],["p-0291df4c",[[1,"tl-promo-code",{placeholder:[1],buttonLabel:[1,"button-label"],code:[32],applying:[32],applied:[32],error:[32]}]]],["p-ee3aa227",[[1,"tl-seat-map",{occurrenceId:[1,"occurrence-id"],hboUrl:[1,"hbo-url"],apiUrl:[1,"api-url"],height:[1],width:[1],isReady:[32],isLoading:[32],error:[32],seatsInCart:[32]},null,{occurrenceId:[{watchOccurrenceId:0}]}]]],["p-b6d479ad",[[1,"tl-cart",{showCheckoutButton:[4,"show-checkout-button"],checkoutLabel:[1,"checkout-label"],showRemoveButtons:[4,"show-remove-buttons"],compact:[4],cart:[32],loading:[32],error:[32],removingItemId:[32]}]]],["p-fb9444c4",[[1,"tl-event-card",{event:[16],eventId:[1,"event-id"],loadedEvent:[32],loading:[32],error:[32]},null,{eventId:[{watchEventId:0}]}]]],["p-a5c90b68",[[1,"tl-login",{heading:[1],allowCodeEntry:[4,"allow-code-entry"],phase:[32],email:[32],code:[32],busy:[32],error:[32],notice:[32],customer:[32]}]]],["p-976770f3",[[1,"tl-occurrence-selector",{eventId:[1,"event-id"],displayMode:[1,"display-mode"],orientation:[1],theme:[16],loading:[32],error:[32],occurrences:[32],currentMonth:[32],selectedDate:[32],computedDisplayMode:[32],containerWidth:[32]},null,{eventId:[{onEventIdChange:0}]}],[1,"tl-ticket-selector",{eventId:[1,"event-id"],occurrenceId:[1,"occurrence-id"],showButton:[4,"show-button"],buttonLabel:[1,"button-label"],ticketTypes:[32],quantities:[32],loading:[32],error:[32],adding:[32],addSuccess:[32]},null,{eventId:[{watchPropsChange:0}],occurrenceId:[{watchPropsChange:0}]}]]],["p-9d8163d6",[[1,"tl-order-tickets",{orderId:[1,"order-id"],columns:[2],tickets:[32],loading:[32],error:[32]},null,{orderId:[{watchOrder:0}]}],[1,"tl-ticket",{ticket:[16],orderId:[1,"order-id"],qrSvg:[32],downloading:[32]},null,{ticket:[{generateQr:0}]}]]]],e))));
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { EventEmitter } from '../../stencil-public-runtime';
|
|
2
|
+
type Step = 'loading' | 'occurrence' | 'tickets' | 'done' | 'error';
|
|
3
|
+
/**
|
|
4
|
+
* @component tl-buy-modal
|
|
5
|
+
*
|
|
6
|
+
* The in-page buy-tickets funnel: occurrence → ticket selection → added.
|
|
7
|
+
* A NATIVE Elements overlay (no iframe) - it simply composes the existing
|
|
8
|
+
* `tl-occurrence-selector` and `tl-ticket-selector`, which already bind to the
|
|
9
|
+
* SDK and add to the cart. Because it's pure browse/cart (zero PCI surface), it
|
|
10
|
+
* renders in-page identically on HBO and on any third-party embed bound to
|
|
11
|
+
* `window.Ticketlayer`. Only the *checkout* step crosses into an iframe.
|
|
12
|
+
*
|
|
13
|
+
* It is not placed in markup by hosts: the SDK's buy-modal manager mounts it on
|
|
14
|
+
* demand when something emits `ui:event-modal-requested` (e.g. a
|
|
15
|
+
* `tl-buy-tickets-button` or a calendar date click), and removes it on close.
|
|
16
|
+
*
|
|
17
|
+
* @event tlClose - user dismissed the modal (keep browsing)
|
|
18
|
+
* @event tlCheckout - user chose to proceed to checkout (manager hands off to
|
|
19
|
+
* the checkout intent: iframe on embeds, /checkout on HBO)
|
|
20
|
+
* @event tlError - the event couldn't be loaded
|
|
21
|
+
*/
|
|
22
|
+
export declare class TlBuyModal {
|
|
23
|
+
/** Event to sell tickets for. */
|
|
24
|
+
eventId: string;
|
|
25
|
+
/** Optionally open straight to ticket selection for this occurrence. */
|
|
26
|
+
occurrenceId?: string;
|
|
27
|
+
step: Step;
|
|
28
|
+
eventName: string;
|
|
29
|
+
imageUrl: string;
|
|
30
|
+
venueLabel: string;
|
|
31
|
+
dateSummary: string;
|
|
32
|
+
selectedOccurrenceId: string | null;
|
|
33
|
+
occurrenceCount: number;
|
|
34
|
+
occurrenceLabel: string;
|
|
35
|
+
error: string | null;
|
|
36
|
+
tlClose: EventEmitter<void>;
|
|
37
|
+
tlCheckout: EventEmitter<void>;
|
|
38
|
+
tlError: EventEmitter<{
|
|
39
|
+
message: string;
|
|
40
|
+
}>;
|
|
41
|
+
componentWillLoad(): Promise<void>;
|
|
42
|
+
private fail;
|
|
43
|
+
/** A compact date line for the header: a single date, or a range across many. */
|
|
44
|
+
private summariseDates;
|
|
45
|
+
private labelFor;
|
|
46
|
+
private handleOccurrenceSelect;
|
|
47
|
+
private handleAdded;
|
|
48
|
+
private backToDates;
|
|
49
|
+
private close;
|
|
50
|
+
private goCheckout;
|
|
51
|
+
private stepKicker;
|
|
52
|
+
render(): any;
|
|
53
|
+
}
|
|
54
|
+
export {};
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TlBuyTicketsButton Stencil Component
|
|
3
|
+
*
|
|
4
|
+
* A pre-styled "Buy Tickets" button that opens the purchase modal.
|
|
5
|
+
*
|
|
6
|
+
* @element tl-buy-tickets-button
|
|
7
|
+
*
|
|
8
|
+
* Supports multiple states:
|
|
9
|
+
* - available: Default "Buy Tickets" with primary colour
|
|
10
|
+
* - soldOut: "Sold Out" with red colour
|
|
11
|
+
* - waitlist: "Join Waitlist" with blue colour
|
|
12
|
+
* - comingSoon: "On Sale Soon" with yellow colour
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* <tl-buy-tickets-button event-id="evt_xxx"></tl-buy-tickets-button>
|
|
16
|
+
* <tl-buy-tickets-button event-id="evt_xxx" state="soldOut"></tl-buy-tickets-button>
|
|
17
|
+
* <tl-buy-tickets-button event-id="evt_xxx" price="2500" currency="GBP"></tl-buy-tickets-button>
|
|
18
|
+
*/
|
|
19
|
+
import { EventEmitter } from '../../stencil-public-runtime';
|
|
20
|
+
export type ButtonState = 'available' | 'soldOut' | 'waitlist' | 'comingSoon';
|
|
21
|
+
export type ButtonVariant = 'primary' | 'secondary' | 'outline';
|
|
22
|
+
export type ButtonSize = 'sm' | 'md' | 'lg';
|
|
23
|
+
export declare class TlBuyTicketsButton {
|
|
24
|
+
/** Event ID to purchase tickets for */
|
|
25
|
+
eventId: string;
|
|
26
|
+
/** Optional pre-selected occurrence ID */
|
|
27
|
+
occurrenceId?: string;
|
|
28
|
+
/** Button state - determines colour, label, and icon */
|
|
29
|
+
state: ButtonState;
|
|
30
|
+
/** Button label override (default depends on state) */
|
|
31
|
+
label?: string;
|
|
32
|
+
/** Button variant */
|
|
33
|
+
variant: ButtonVariant;
|
|
34
|
+
/** Button size */
|
|
35
|
+
size: ButtonSize;
|
|
36
|
+
/** Full width button */
|
|
37
|
+
fullWidth: boolean;
|
|
38
|
+
/** Price to display (in minor units e.g. pence) */
|
|
39
|
+
price?: number;
|
|
40
|
+
/** Currency code for price formatting */
|
|
41
|
+
currency: string;
|
|
42
|
+
/** Show price prefix text */
|
|
43
|
+
pricePrefix: string;
|
|
44
|
+
/** Disabled state */
|
|
45
|
+
disabled: boolean;
|
|
46
|
+
isHovered: boolean;
|
|
47
|
+
/** Emitted when button is clicked (before modal opens) */
|
|
48
|
+
tlClick: EventEmitter<{
|
|
49
|
+
eventId: string;
|
|
50
|
+
occurrenceId?: string;
|
|
51
|
+
}>;
|
|
52
|
+
private handleClick;
|
|
53
|
+
private formatPrice;
|
|
54
|
+
private getStateConfig;
|
|
55
|
+
private isInteractive;
|
|
56
|
+
render(): any;
|
|
57
|
+
private renderTicketIcon;
|
|
58
|
+
private renderSoldOutIcon;
|
|
59
|
+
private renderWaitlistIcon;
|
|
60
|
+
private renderComingSoonIcon;
|
|
61
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { EventEmitter } from '../../stencil-public-runtime';
|
|
2
|
+
import { OrderResult } from '../../utils/sdk-connector';
|
|
3
|
+
/**
|
|
4
|
+
* @component tl-buy-tickets-wrapper
|
|
5
|
+
*
|
|
6
|
+
* Wraps any content and opens the Ticketlayer modal when clicked.
|
|
7
|
+
* Uses the SDK's modal manager which handles the iframe overlay.
|
|
8
|
+
*
|
|
9
|
+
* @slot - Content to display (typically a button)
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* <tl-buy-tickets-wrapper event-id="evt_001">
|
|
13
|
+
* <button>Buy Tickets</button>
|
|
14
|
+
* </tl-buy-tickets-wrapper>
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* <tl-buy-tickets-wrapper event-id="evt_001" occurrence-id="occ_001">
|
|
18
|
+
* <button>Get Tickets for Saturday</button>
|
|
19
|
+
* </tl-buy-tickets-wrapper>
|
|
20
|
+
*/
|
|
21
|
+
export declare class TlBuyTicketsWrapper {
|
|
22
|
+
el: HTMLElement;
|
|
23
|
+
/**
|
|
24
|
+
* The event ID to purchase tickets for
|
|
25
|
+
*/
|
|
26
|
+
eventId: string;
|
|
27
|
+
/**
|
|
28
|
+
* Optional specific occurrence ID (skips occurrence selector)
|
|
29
|
+
*/
|
|
30
|
+
occurrenceId?: string;
|
|
31
|
+
/**
|
|
32
|
+
* Whether the wrapper is disabled
|
|
33
|
+
*/
|
|
34
|
+
disabled: boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Emitted when purchase completes successfully
|
|
37
|
+
*/
|
|
38
|
+
tlComplete: EventEmitter<OrderResult>;
|
|
39
|
+
/**
|
|
40
|
+
* Emitted when an error occurs
|
|
41
|
+
*/
|
|
42
|
+
tlError: EventEmitter<{
|
|
43
|
+
message: string;
|
|
44
|
+
}>;
|
|
45
|
+
/**
|
|
46
|
+
* Emitted when the modal closes
|
|
47
|
+
*/
|
|
48
|
+
tlClose: EventEmitter<void>;
|
|
49
|
+
private handleClick;
|
|
50
|
+
private handleKeyDown;
|
|
51
|
+
render(): any;
|
|
52
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { EventEmitter } from '../../stencil-public-runtime';
|
|
2
|
+
export interface TlCartItem {
|
|
3
|
+
id: string;
|
|
4
|
+
ticketTypeId: string;
|
|
5
|
+
ticketTypeName: string;
|
|
6
|
+
eventName: string;
|
|
7
|
+
occurrenceDate: string;
|
|
8
|
+
quantity: number;
|
|
9
|
+
unitPrice: number;
|
|
10
|
+
totalPrice: number;
|
|
11
|
+
currency: string;
|
|
12
|
+
}
|
|
13
|
+
export interface TlCartData {
|
|
14
|
+
items: TlCartItem[];
|
|
15
|
+
subtotal: number;
|
|
16
|
+
fees: number;
|
|
17
|
+
total: number;
|
|
18
|
+
currency: string;
|
|
19
|
+
itemCount: number;
|
|
20
|
+
}
|
|
21
|
+
export declare class TlCart {
|
|
22
|
+
/**
|
|
23
|
+
* Show checkout button
|
|
24
|
+
*/
|
|
25
|
+
showCheckoutButton: boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Checkout button label
|
|
28
|
+
*/
|
|
29
|
+
checkoutLabel: string;
|
|
30
|
+
/**
|
|
31
|
+
* Show remove item buttons
|
|
32
|
+
*/
|
|
33
|
+
showRemoveButtons: boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Compact mode - hides some details
|
|
36
|
+
*/
|
|
37
|
+
compact: boolean;
|
|
38
|
+
cart: TlCartData | null;
|
|
39
|
+
loading: boolean;
|
|
40
|
+
error: string | null;
|
|
41
|
+
removingItemId: string | null;
|
|
42
|
+
private unsubscribe?;
|
|
43
|
+
/**
|
|
44
|
+
* Emitted when checkout is clicked
|
|
45
|
+
*/
|
|
46
|
+
tlCheckout: EventEmitter<{
|
|
47
|
+
cart: TlCartData;
|
|
48
|
+
}>;
|
|
49
|
+
/**
|
|
50
|
+
* Emitted when item is removed
|
|
51
|
+
*/
|
|
52
|
+
tlItemRemoved: EventEmitter<{
|
|
53
|
+
itemId: string;
|
|
54
|
+
}>;
|
|
55
|
+
/**
|
|
56
|
+
* Emitted when cart is updated
|
|
57
|
+
*/
|
|
58
|
+
tlCartUpdated: EventEmitter<{
|
|
59
|
+
cart: TlCartData;
|
|
60
|
+
}>;
|
|
61
|
+
/**
|
|
62
|
+
* Emitted on error
|
|
63
|
+
*/
|
|
64
|
+
tlError: EventEmitter<{
|
|
65
|
+
message: string;
|
|
66
|
+
}>;
|
|
67
|
+
componentWillLoad(): void;
|
|
68
|
+
componentDidLoad(): void;
|
|
69
|
+
disconnectedCallback(): void;
|
|
70
|
+
private loadCart;
|
|
71
|
+
private subscribeToCartUpdates;
|
|
72
|
+
private handleRemoveItem;
|
|
73
|
+
private handleCheckout;
|
|
74
|
+
private formatPrice;
|
|
75
|
+
private formatDate;
|
|
76
|
+
private renderSkeleton;
|
|
77
|
+
private renderEmptyCart;
|
|
78
|
+
private renderCartItem;
|
|
79
|
+
render(): any;
|
|
80
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { EventEmitter } from '../../stencil-public-runtime';
|
|
2
|
+
export declare class TlCartBadge {
|
|
3
|
+
/**
|
|
4
|
+
* Show the badge even when count is 0
|
|
5
|
+
*/
|
|
6
|
+
showEmpty: boolean;
|
|
7
|
+
/**
|
|
8
|
+
* Custom icon (emoji or text). If not provided, uses cart SVG
|
|
9
|
+
*/
|
|
10
|
+
icon?: string;
|
|
11
|
+
/**
|
|
12
|
+
* Size variant
|
|
13
|
+
*/
|
|
14
|
+
size: 'sm' | 'md' | 'lg';
|
|
15
|
+
/**
|
|
16
|
+
* Badge only mode - only shows the count bubble, no icon or button
|
|
17
|
+
*/
|
|
18
|
+
badgeOnly: boolean;
|
|
19
|
+
itemCount: number;
|
|
20
|
+
private unsubscribe?;
|
|
21
|
+
/**
|
|
22
|
+
* Emitted when the badge is clicked
|
|
23
|
+
*/
|
|
24
|
+
tlClick: EventEmitter<{
|
|
25
|
+
itemCount: number;
|
|
26
|
+
}>;
|
|
27
|
+
componentWillLoad(): void;
|
|
28
|
+
componentDidLoad(): void;
|
|
29
|
+
disconnectedCallback(): void;
|
|
30
|
+
private getPersistedCartCount;
|
|
31
|
+
private persistCartCount;
|
|
32
|
+
private subscribeToCartUpdates;
|
|
33
|
+
private handleClick;
|
|
34
|
+
private renderIcon;
|
|
35
|
+
render(): any;
|
|
36
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { EventEmitter } from '../../stencil-public-runtime';
|
|
2
|
+
/**
|
|
3
|
+
* @component tl-cart-drawer
|
|
4
|
+
*
|
|
5
|
+
* A slide-in cart panel (off-canvas) showing the current cart. It opens when
|
|
6
|
+
* anything raises the `ui:cart-requested` bus intent - e.g. wire a
|
|
7
|
+
* `tl-cart-badge`'s click to emit it - and closes on the backdrop, the close
|
|
8
|
+
* button, Escape, or `ui:modal-close-requested`. The panel embeds `<tl-cart>`,
|
|
9
|
+
* so the actual cart rendering / remove / checkout is shared with the inline
|
|
10
|
+
* cart; the drawer only adds the off-canvas chrome.
|
|
11
|
+
*
|
|
12
|
+
* @prop side - which edge the panel slides from (default 'right')
|
|
13
|
+
* @event tlOpen - the drawer opened
|
|
14
|
+
* @event tlClose - the drawer closed
|
|
15
|
+
*/
|
|
16
|
+
export declare class TlCartDrawer {
|
|
17
|
+
/** Edge the panel slides in from. */
|
|
18
|
+
side: 'right' | 'left';
|
|
19
|
+
/** Heading shown at the top of the panel. */
|
|
20
|
+
heading: string;
|
|
21
|
+
/** Controlled open state (also driven by the `ui:cart-requested` intent). */
|
|
22
|
+
open: boolean;
|
|
23
|
+
visible: boolean;
|
|
24
|
+
tlOpen: EventEmitter<void>;
|
|
25
|
+
tlClose: EventEmitter<void>;
|
|
26
|
+
private offCart?;
|
|
27
|
+
private offClose?;
|
|
28
|
+
connectedCallback(): void;
|
|
29
|
+
disconnectedCallback(): void;
|
|
30
|
+
onOpenProp(v: boolean): void;
|
|
31
|
+
private onKey;
|
|
32
|
+
private setOpen;
|
|
33
|
+
private close;
|
|
34
|
+
render(): any;
|
|
35
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { EventEmitter } from '../../stencil-public-runtime';
|
|
2
|
+
import { OrderResult } from '../../utils/sdk-connector';
|
|
3
|
+
/**
|
|
4
|
+
* @component tl-checkout-wrapper
|
|
5
|
+
*
|
|
6
|
+
* Wraps any content and opens the Ticketlayer checkout modal when clicked.
|
|
7
|
+
* Uses the SDK's modal manager which handles the iframe overlay.
|
|
8
|
+
*
|
|
9
|
+
* @slot - Content to display (typically a checkout button)
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* <tl-checkout-wrapper>
|
|
13
|
+
* <button>Proceed to Checkout</button>
|
|
14
|
+
* </tl-checkout-wrapper>
|
|
15
|
+
*/
|
|
16
|
+
export declare class TlCheckoutWrapper {
|
|
17
|
+
el: HTMLElement;
|
|
18
|
+
/**
|
|
19
|
+
* Whether the wrapper is disabled
|
|
20
|
+
*/
|
|
21
|
+
disabled: boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Emitted when checkout completes successfully
|
|
24
|
+
*/
|
|
25
|
+
tlComplete: EventEmitter<OrderResult>;
|
|
26
|
+
/**
|
|
27
|
+
* Emitted when an error occurs
|
|
28
|
+
*/
|
|
29
|
+
tlError: EventEmitter<{
|
|
30
|
+
message: string;
|
|
31
|
+
}>;
|
|
32
|
+
/**
|
|
33
|
+
* Emitted when the modal closes
|
|
34
|
+
*/
|
|
35
|
+
tlClose: EventEmitter<void>;
|
|
36
|
+
private handleClick;
|
|
37
|
+
private handleKeyDown;
|
|
38
|
+
render(): any;
|
|
39
|
+
}
|