@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.
Files changed (195) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +55 -0
  3. package/dist/cjs/index-DfzcrE9-.js +3598 -0
  4. package/dist/cjs/index.cjs.js +16 -0
  5. package/dist/cjs/loader.cjs.js +12 -0
  6. package/dist/cjs/order-summary-ZMkJ5bez.js +116 -0
  7. package/dist/cjs/sdk-connector-ClDF3013.js +108 -0
  8. package/dist/cjs/ticketlayer-elements.cjs.js +24 -0
  9. package/dist/cjs/tl-buy-modal.cjs.entry.js +127 -0
  10. package/dist/cjs/tl-buy-tickets-button.cjs.entry.js +131 -0
  11. package/dist/cjs/tl-buy-tickets-wrapper.cjs.entry.js +58 -0
  12. package/dist/cjs/tl-cart-badge.cjs.entry.js +109 -0
  13. package/dist/cjs/tl-cart-drawer.cjs.entry.js +67 -0
  14. package/dist/cjs/tl-cart.cjs.entry.js +148 -0
  15. package/dist/cjs/tl-checkout-wrapper.cjs.entry.js +57 -0
  16. package/dist/cjs/tl-event-card.cjs.entry.js +140 -0
  17. package/dist/cjs/tl-event-list.cjs.entry.js +80 -0
  18. package/dist/cjs/tl-login.cjs.entry.js +184 -0
  19. package/dist/cjs/tl-my-orders.cjs.entry.js +123 -0
  20. package/dist/cjs/tl-occurrence-selector_2.cjs.entry.js +754 -0
  21. package/dist/cjs/tl-order-confirmation.cjs.entry.js +146 -0
  22. package/dist/cjs/tl-order-tickets_2.cjs.entry.js +3198 -0
  23. package/dist/cjs/tl-promo-code.cjs.entry.js +75 -0
  24. package/dist/cjs/tl-seat-map.cjs.entry.js +147 -0
  25. package/dist/collection/collection-manifest.json +29 -0
  26. package/dist/collection/components/tl-buy-modal/tl-buy-modal.css +264 -0
  27. package/dist/collection/components/tl-buy-modal/tl-buy-modal.js +249 -0
  28. package/dist/collection/components/tl-buy-tickets-button/tl-buy-tickets-button.css +120 -0
  29. package/dist/collection/components/tl-buy-tickets-button/tl-buy-tickets-button.js +412 -0
  30. package/dist/collection/components/tl-buy-tickets-wrapper/tl-buy-tickets-wrapper.css +23 -0
  31. package/dist/collection/components/tl-buy-tickets-wrapper/tl-buy-tickets-wrapper.js +192 -0
  32. package/dist/collection/components/tl-cart/tl-cart.css +251 -0
  33. package/dist/collection/components/tl-cart/tl-cart.js +314 -0
  34. package/dist/collection/components/tl-cart-badge/tl-cart-badge.css +138 -0
  35. package/dist/collection/components/tl-cart-badge/tl-cart-badge.js +217 -0
  36. package/dist/collection/components/tl-cart-drawer/tl-cart-drawer.css +98 -0
  37. package/dist/collection/components/tl-cart-drawer/tl-cart-drawer.js +185 -0
  38. package/dist/collection/components/tl-checkout-wrapper/tl-checkout-wrapper.css +23 -0
  39. package/dist/collection/components/tl-checkout-wrapper/tl-checkout-wrapper.js +148 -0
  40. package/dist/collection/components/tl-event-card/event-card-adapter.js +23 -0
  41. package/dist/collection/components/tl-event-card/tl-event-card.css +175 -0
  42. package/dist/collection/components/tl-event-card/tl-event-card.js +205 -0
  43. package/dist/collection/components/tl-event-list/tl-event-list.css +134 -0
  44. package/dist/collection/components/tl-event-list/tl-event-list.js +171 -0
  45. package/dist/collection/components/tl-login/tl-login.css +133 -0
  46. package/dist/collection/components/tl-login/tl-login.js +309 -0
  47. package/dist/collection/components/tl-my-orders/tl-my-orders.css +204 -0
  48. package/dist/collection/components/tl-my-orders/tl-my-orders.js +221 -0
  49. package/dist/collection/components/tl-occurrence-selector/tl-occurrence-selector.css +658 -0
  50. package/dist/collection/components/tl-occurrence-selector/tl-occurrence-selector.js +707 -0
  51. package/dist/collection/components/tl-order-confirmation/tl-order-confirmation.css +176 -0
  52. package/dist/collection/components/tl-order-confirmation/tl-order-confirmation.js +298 -0
  53. package/dist/collection/components/tl-order-tickets/tl-order-tickets.css +30 -0
  54. package/dist/collection/components/tl-order-tickets/tl-order-tickets.js +122 -0
  55. package/dist/collection/components/tl-promo-code/tl-promo-code.css +106 -0
  56. package/dist/collection/components/tl-promo-code/tl-promo-code.js +181 -0
  57. package/dist/collection/components/tl-seat-map/tl-seat-map.css +85 -0
  58. package/dist/collection/components/tl-seat-map/tl-seat-map.js +366 -0
  59. package/dist/collection/components/tl-ticket/tl-ticket.css +90 -0
  60. package/dist/collection/components/tl-ticket/tl-ticket.js +129 -0
  61. package/dist/collection/components/tl-ticket-selector/tl-ticket-selector.css +205 -0
  62. package/dist/collection/components/tl-ticket-selector/tl-ticket-selector.js +332 -0
  63. package/dist/collection/index.js +10 -0
  64. package/dist/collection/utils/order-summary.js +101 -0
  65. package/dist/collection/utils/sdk-connector.js +100 -0
  66. package/dist/collection/utils/testing/mock-sdk.js +95 -0
  67. package/dist/components/index.d.ts +35 -0
  68. package/dist/components/index.js +1 -0
  69. package/dist/components/order-summary.js +1 -0
  70. package/dist/components/sdk-connector.js +1 -0
  71. package/dist/components/tl-buy-modal.d.ts +11 -0
  72. package/dist/components/tl-buy-modal.js +1 -0
  73. package/dist/components/tl-buy-tickets-button.d.ts +11 -0
  74. package/dist/components/tl-buy-tickets-button.js +1 -0
  75. package/dist/components/tl-buy-tickets-wrapper.d.ts +11 -0
  76. package/dist/components/tl-buy-tickets-wrapper.js +1 -0
  77. package/dist/components/tl-buy-tickets-wrapper2.js +1 -0
  78. package/dist/components/tl-cart-badge.d.ts +11 -0
  79. package/dist/components/tl-cart-badge.js +1 -0
  80. package/dist/components/tl-cart-drawer.d.ts +11 -0
  81. package/dist/components/tl-cart-drawer.js +1 -0
  82. package/dist/components/tl-cart.d.ts +11 -0
  83. package/dist/components/tl-cart.js +1 -0
  84. package/dist/components/tl-cart2.js +1 -0
  85. package/dist/components/tl-checkout-wrapper.d.ts +11 -0
  86. package/dist/components/tl-checkout-wrapper.js +1 -0
  87. package/dist/components/tl-checkout-wrapper2.js +1 -0
  88. package/dist/components/tl-event-card.d.ts +11 -0
  89. package/dist/components/tl-event-card.js +1 -0
  90. package/dist/components/tl-event-card2.js +1 -0
  91. package/dist/components/tl-event-list.d.ts +11 -0
  92. package/dist/components/tl-event-list.js +1 -0
  93. package/dist/components/tl-login.d.ts +11 -0
  94. package/dist/components/tl-login.js +1 -0
  95. package/dist/components/tl-login2.js +1 -0
  96. package/dist/components/tl-my-orders.d.ts +11 -0
  97. package/dist/components/tl-my-orders.js +1 -0
  98. package/dist/components/tl-occurrence-selector.d.ts +11 -0
  99. package/dist/components/tl-occurrence-selector.js +1 -0
  100. package/dist/components/tl-occurrence-selector2.js +1 -0
  101. package/dist/components/tl-order-confirmation.d.ts +11 -0
  102. package/dist/components/tl-order-confirmation.js +1 -0
  103. package/dist/components/tl-order-tickets.d.ts +11 -0
  104. package/dist/components/tl-order-tickets.js +1 -0
  105. package/dist/components/tl-order-tickets2.js +1 -0
  106. package/dist/components/tl-promo-code.d.ts +11 -0
  107. package/dist/components/tl-promo-code.js +1 -0
  108. package/dist/components/tl-seat-map.d.ts +11 -0
  109. package/dist/components/tl-seat-map.js +1 -0
  110. package/dist/components/tl-ticket-selector.d.ts +11 -0
  111. package/dist/components/tl-ticket-selector.js +1 -0
  112. package/dist/components/tl-ticket-selector2.js +1 -0
  113. package/dist/components/tl-ticket.d.ts +11 -0
  114. package/dist/components/tl-ticket.js +1 -0
  115. package/dist/components/tl-ticket2.js +1 -0
  116. package/dist/elements.docs.d.ts +454 -0
  117. package/dist/elements.docs.json +3008 -0
  118. package/dist/esm/index-Ba-RZTFI.js +3588 -0
  119. package/dist/esm/index.js +4 -0
  120. package/dist/esm/loader.js +10 -0
  121. package/dist/esm/order-summary-BGekdjN9.js +103 -0
  122. package/dist/esm/sdk-connector-CqhvfyKV.js +102 -0
  123. package/dist/esm/ticketlayer-elements.js +20 -0
  124. package/dist/esm/tl-buy-modal.entry.js +125 -0
  125. package/dist/esm/tl-buy-tickets-button.entry.js +129 -0
  126. package/dist/esm/tl-buy-tickets-wrapper.entry.js +56 -0
  127. package/dist/esm/tl-cart-badge.entry.js +107 -0
  128. package/dist/esm/tl-cart-drawer.entry.js +65 -0
  129. package/dist/esm/tl-cart.entry.js +146 -0
  130. package/dist/esm/tl-checkout-wrapper.entry.js +55 -0
  131. package/dist/esm/tl-event-card.entry.js +138 -0
  132. package/dist/esm/tl-event-list.entry.js +78 -0
  133. package/dist/esm/tl-login.entry.js +182 -0
  134. package/dist/esm/tl-my-orders.entry.js +121 -0
  135. package/dist/esm/tl-occurrence-selector_2.entry.js +751 -0
  136. package/dist/esm/tl-order-confirmation.entry.js +144 -0
  137. package/dist/esm/tl-order-tickets_2.entry.js +3195 -0
  138. package/dist/esm/tl-promo-code.entry.js +73 -0
  139. package/dist/esm/tl-seat-map.entry.js +145 -0
  140. package/dist/index.cjs.js +1 -0
  141. package/dist/index.js +1 -0
  142. package/dist/ticketlayer-elements/index.esm.js +1 -0
  143. package/dist/ticketlayer-elements/p-0291df4c.entry.js +1 -0
  144. package/dist/ticketlayer-elements/p-10f01a1f.entry.js +1 -0
  145. package/dist/ticketlayer-elements/p-11273f8f.entry.js +1 -0
  146. package/dist/ticketlayer-elements/p-340ab4f5.entry.js +1 -0
  147. package/dist/ticketlayer-elements/p-41d22d7c.entry.js +1 -0
  148. package/dist/ticketlayer-elements/p-82752e3b.entry.js +1 -0
  149. package/dist/ticketlayer-elements/p-976770f3.entry.js +1 -0
  150. package/dist/ticketlayer-elements/p-9a903ff6.entry.js +1 -0
  151. package/dist/ticketlayer-elements/p-9c9072c8.entry.js +1 -0
  152. package/dist/ticketlayer-elements/p-9d8163d6.entry.js +1 -0
  153. package/dist/ticketlayer-elements/p-BGekdjN9.js +1 -0
  154. package/dist/ticketlayer-elements/p-Ba-RZTFI.js +2 -0
  155. package/dist/ticketlayer-elements/p-CqhvfyKV.js +1 -0
  156. package/dist/ticketlayer-elements/p-a5c90b68.entry.js +1 -0
  157. package/dist/ticketlayer-elements/p-b6d479ad.entry.js +1 -0
  158. package/dist/ticketlayer-elements/p-dd43f015.entry.js +1 -0
  159. package/dist/ticketlayer-elements/p-eb640760.entry.js +1 -0
  160. package/dist/ticketlayer-elements/p-ee3aa227.entry.js +1 -0
  161. package/dist/ticketlayer-elements/p-fb9444c4.entry.js +1 -0
  162. package/dist/ticketlayer-elements/ticketlayer-elements.css +1 -0
  163. package/dist/ticketlayer-elements/ticketlayer-elements.esm.js +1 -0
  164. package/dist/types/components/tl-buy-modal/tl-buy-modal.d.ts +54 -0
  165. package/dist/types/components/tl-buy-tickets-button/tl-buy-tickets-button.d.ts +61 -0
  166. package/dist/types/components/tl-buy-tickets-wrapper/tl-buy-tickets-wrapper.d.ts +52 -0
  167. package/dist/types/components/tl-cart/tl-cart.d.ts +80 -0
  168. package/dist/types/components/tl-cart-badge/tl-cart-badge.d.ts +36 -0
  169. package/dist/types/components/tl-cart-drawer/tl-cart-drawer.d.ts +35 -0
  170. package/dist/types/components/tl-checkout-wrapper/tl-checkout-wrapper.d.ts +39 -0
  171. package/dist/types/components/tl-event-card/event-card-adapter.d.ts +23 -0
  172. package/dist/types/components/tl-event-card/tl-event-card.d.ts +55 -0
  173. package/dist/types/components/tl-event-list/tl-event-list.d.ts +30 -0
  174. package/dist/types/components/tl-login/tl-login.d.ts +59 -0
  175. package/dist/types/components/tl-my-orders/tl-my-orders.d.ts +39 -0
  176. package/dist/types/components/tl-occurrence-selector/tl-occurrence-selector.d.ts +208 -0
  177. package/dist/types/components/tl-order-confirmation/tl-order-confirmation.d.ts +54 -0
  178. package/dist/types/components/tl-order-tickets/tl-order-tickets.d.ts +21 -0
  179. package/dist/types/components/tl-promo-code/tl-promo-code.d.ts +39 -0
  180. package/dist/types/components/tl-seat-map/tl-seat-map.d.ts +68 -0
  181. package/dist/types/components/tl-ticket/tl-ticket.d.ts +28 -0
  182. package/dist/types/components/tl-ticket-selector/tl-ticket-selector.d.ts +78 -0
  183. package/dist/types/components.d.ts +1629 -0
  184. package/dist/types/index.d.ts +14 -0
  185. package/dist/types/stencil-public-runtime.d.ts +1839 -0
  186. package/dist/types/utils/order-summary.d.ts +67 -0
  187. package/dist/types/utils/sdk-connector.d.ts +113 -0
  188. package/dist/types/utils/testing/mock-sdk.d.ts +36 -0
  189. package/elements.catalogue.json +968 -0
  190. package/loader/cdn.js +1 -0
  191. package/loader/index.cjs.js +1 -0
  192. package/loader/index.d.ts +24 -0
  193. package/loader/index.es2017.js +1 -0
  194. package/loader/index.js +2 -0
  195. 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
+ }