@session-services/web-elements 0.1.16 → 0.1.18

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 (27) hide show
  1. package/README.md +20 -2
  2. package/dist/cjs/loader.cjs.js +1 -1
  3. package/dist/cjs/session-services-elements.cjs.js +1 -1
  4. package/dist/cjs/session-services-formatted-text.cjs.entry.js +1759 -0
  5. package/dist/cjs/session-services-ticketing.cjs.entry.js +14167 -215
  6. package/dist/collection/collection-manifest.json +1 -0
  7. package/dist/collection/components/session-services-formatted-text/session-services-formatted-text.css +135 -0
  8. package/dist/collection/components/session-services-formatted-text/session-services-formatted-text.js +162 -0
  9. package/dist/collection/components/session-services-ticketing/session-services-ticketing.css +175 -3
  10. package/dist/collection/components/session-services-ticketing/session-services-ticketing.js +50 -9
  11. package/dist/collection/index.js +1 -11
  12. package/dist/components/session-services-formatted-text.d.ts +11 -0
  13. package/dist/components/session-services-formatted-text.js +1786 -0
  14. package/dist/components/session-services-ticketing.js +14189 -236
  15. package/dist/esm/loader.js +1 -1
  16. package/dist/esm/session-services-elements.js +1 -1
  17. package/dist/esm/session-services-formatted-text.entry.js +1757 -0
  18. package/dist/esm/session-services-ticketing.entry.js +14186 -234
  19. package/dist/session-services-elements/p-62a8e2cc.entry.js +1 -0
  20. package/dist/session-services-elements/p-a2404c46.entry.js +1 -0
  21. package/dist/session-services-elements/session-services-elements.esm.js +1 -1
  22. package/dist/types/components/session-services-formatted-text/session-services-formatted-text.d.ts +19 -0
  23. package/dist/types/components/session-services-ticketing/session-services-ticketing.d.ts +6 -0
  24. package/dist/types/components.d.ts +29 -0
  25. package/dist/types/index.d.ts +1 -0
  26. package/package.json +10 -5
  27. package/dist/session-services-elements/p-3090d137.entry.js +0 -1
@@ -0,0 +1 @@
1
+ import{r as e,h as a,H as t}from"./p-CeXOR4aK.js";var r=["aaa","aarp","abb","abbott","abbvie","abc","able","abogado","abudhabi","ac","academy","accenture","accountant","accountants","aco","actor","ad","ads","adult","ae","aeg","aero","aetna","af","afl","africa","ag","agakhan","agency","ai","aig","airbus","airforce","airtel","akdn","al","alibaba","alipay","allfinanz","allstate","ally","alsace","alstom","am","amazon","americanexpress","americanfamily","amex","amfam","amica","amsterdam","analytics","android","anquan","anz","ao","aol","apartments","app","apple","aq","aquarelle","ar","arab","aramco","archi","army","arpa","art","arte","as","asda","asia","associates","at","athleta","attorney","au","auction","audi","audible","audio","auspost","author","auto","autos","aw","aws","ax","axa","az","azure","ba","baby","baidu","banamex","band","bank","bar","barcelona","barclaycard","barclays","barefoot","bargains","baseball","basketball","bauhaus","bayern","bb","bbc","bbt","bbva","bcg","bcn","bd","be","beats","beauty","beer","berlin","best","bestbuy","bet","bf","bg","bh","bharti","bi","bible","bid","bike","bing","bingo","bio","biz","bj","black","blackfriday","blockbuster","blog","bloomberg","blue","bm","bms","bmw","bn","bnpparibas","bo","boats","boehringer","bofa","bom","bond","boo","book","booking","bosch","bostik","boston","bot","boutique","box","br","bradesco","bridgestone","broadway","broker","brother","brussels","bs","bt","build","builders","business","buy","buzz","bv","bw","by","bz","bzh","ca","cab","cafe","cal","call","calvinklein","cam","camera","camp","canon","capetown","capital","capitalone","car","caravan","cards","care","career","careers","cars","casa","case","cash","casino","cat","catering","catholic","cba","cbn","cbre","cc","cd","center","ceo","cern","cf","cfa","cfd","cg","ch","chanel","channel","charity","chase","chat","cheap","chintai","christmas","chrome","church","ci","cipriani","circle","cisco","citadel","citi","citic","city","ck","cl","claims","cleaning","click","clinic","clinique","clothing","cloud","club","clubmed","cm","cn","co","coach","codes","coffee","college","cologne","com","commbank","community","company","compare","computer","comsec","condos","construction","consulting","contact","contractors","cooking","cool","coop","corsica","country","coupon","coupons","courses","cpa","cr","credit","creditcard","creditunion","cricket","crown","crs","cruise","cruises","cu","cuisinella","cv","cw","cx","cy","cymru","cyou","cz","dad","dance","data","date","dating","datsun","day","dclk","dds","de","deal","dealer","deals","degree","delivery","dell","deloitte","delta","democrat","dental","dentist","desi","design","dev","dhl","diamonds","diet","digital","direct","directory","discount","discover","dish","diy","dj","dk","dm","dnp","do","docs","doctor","dog","domains","dot","download","drive","dtv","dubai","dupont","durban","dvag","dvr","dz","earth","eat","ec","eco","edeka","edu","education","ee","eg","email","emerck","energy","engineer","engineering","enterprises","epson","equipment","er","ericsson","erni","es","esq","estate","et","eu","eurovision","eus","events","exchange","expert","exposed","express","extraspace","fage","fail","fairwinds","faith","family","fan","fans","farm","farmers","fashion","fast","fedex","feedback","ferrari","ferrero","fi","fidelity","fido","film","final","finance","financial","fire","firestone","firmdale","fish","fishing","fit","fitness","fj","fk","flickr","flights","flir","florist","flowers","fly","fm","fo","foo","food","football","ford","forex","forsale","forum","foundation","fox","fr","free","fresenius","frl","frogans","frontier","ftr","fujitsu","fun","fund","furniture","futbol","fyi","ga","gal","gallery","gallo","gallup","game","games","gap","garden","gay","gb","gbiz","gd","gdn","ge","gea","gent","genting","george","gf","gg","ggee","gh","gi","gift","gifts","gives","giving","gl","glass","gle","global","globo","gm","gmail","gmbh","gmo","gmx","gn","godaddy","gold","goldpoint","golf","goo","goodyear","goog","google","gop","got","gov","gp","gq","gr","grainger","graphics","gratis","green","gripe","grocery","group","gs","gt","gu","gucci","guge","guide","guitars","guru","gw","gy","hair","hamburg","hangout","haus","hbo","hdfc","hdfcbank","health","healthcare","help","helsinki","here","hermes","hiphop","hisamitsu","hitachi","hiv","hk","hkt","hm","hn","hockey","holdings","holiday","homedepot","homegoods","homes","homesense","honda","horse","hospital","host","hosting","hot","hotels","hotmail","house","how","hr","hsbc","ht","hu","hughes","hyatt","hyundai","ibm","icbc","ice","icu","id","ie","ieee","ifm","ikano","il","im","imamat","imdb","immo","immobilien","in","inc","industries","infiniti","info","ing","ink","institute","insurance","insure","int","international","intuit","investments","io","ipiranga","iq","ir","irish","is","ismaili","ist","istanbul","it","itau","itv","jaguar","java","jcb","je","jeep","jetzt","jewelry","jio","jll","jm","jmp","jnj","jo","jobs","joburg","jot","joy","jp","jpmorgan","jprs","juegos","juniper","kaufen","kddi","ke","kerryhotels","kerryproperties","kfh","kg","kh","ki","kia","kids","kim","kindle","kitchen","kiwi","km","kn","koeln","komatsu","kosher","kp","kpmg","kpn","kr","krd","kred","kuokgroup","kw","ky","kyoto","kz","la","lacaixa","lamborghini","lamer","land","landrover","lanxess","lasalle","lat","latino","latrobe","law","lawyer","lb","lc","lds","lease","leclerc","lefrak","legal","lego","lexus","lgbt","li","lidl","life","lifeinsurance","lifestyle","lighting","like","lilly","limited","limo","lincoln","link","live","living","lk","llc","llp","loan","loans","locker","locus","lol","london","lotte","lotto","love","lpl","lplfinancial","lr","ls","lt","ltd","ltda","lu","lundbeck","luxe","luxury","lv","ly","ma","madrid","maif","maison","makeup","man","management","mango","map","market","marketing","markets","marriott","marshalls","mattel","mba","mc","mckinsey","md","me","med","media","meet","melbourne","meme","memorial","men","menu","merckmsd","mg","mh","miami","microsoft","mil","mini","mint","mit","mitsubishi","mk","ml","mlb","mls","mm","mma","mn","mo","mobi","mobile","moda","moe","moi","mom","monash","money","monster","mormon","mortgage","moscow","moto","motorcycles","mov","movie","mp","mq","mr","ms","msd","mt","mtn","mtr","mu","museum","music","mv","mw","mx","my","mz","na","nab","nagoya","name","navy","nba","nc","ne","nec","net","netbank","netflix","network","neustar","new","news","next","nextdirect","nexus","nf","nfl","ng","ngo","nhk","ni","nico","nike","nikon","ninja","nissan","nissay","nl","no","nokia","norton","now","nowruz","nowtv","np","nr","nra","nrw","ntt","nu","nyc","nz","obi","observer","office","okinawa","olayan","olayangroup","ollo","om","omega","one","ong","onl","online","ooo","open","oracle","orange","org","organic","origins","osaka","otsuka","ott","ovh","pa","page","panasonic","paris","pars","partners","parts","party","pay","pccw","pe","pet","pf","pfizer","pg","ph","pharmacy","phd","philips","phone","photo","photography","photos","physio","pics","pictet","pictures","pid","pin","ping","pink","pioneer","pizza","pk","pl","place","play","playstation","plumbing","plus","pm","pn","pnc","pohl","poker","politie","porn","post","pr","praxi","press","prime","pro","prod","productions","prof","progressive","promo","properties","property","protection","pru","prudential","ps","pt","pub","pw","pwc","py","qa","qpon","quebec","quest","racing","radio","re","read","realestate","realtor","realty","recipes","red","redumbrella","rehab","reise","reisen","reit","reliance","ren","rent","rentals","repair","report","republican","rest","restaurant","review","reviews","rexroth","rich","richardli","ricoh","ril","rio","rip","ro","rocks","rodeo","rogers","room","rs","rsvp","ru","rugby","ruhr","run","rw","rwe","ryukyu","sa","saarland","safe","safety","sakura","sale","salon","samsclub","samsung","sandvik","sandvikcoromant","sanofi","sap","sarl","sas","save","saxo","sb","sbi","sbs","sc","scb","schaeffler","schmidt","scholarships","school","schule","schwarz","science","scot","sd","se","search","seat","secure","security","seek","select","sener","services","seven","sew","sex","sexy","sfr","sg","sh","shangrila","sharp","shell","shia","shiksha","shoes","shop","shopping","shouji","show","si","silk","sina","singles","site","sj","sk","ski","skin","sky","skype","sl","sling","sm","smart","smile","sn","sncf","so","soccer","social","softbank","software","sohu","solar","solutions","song","sony","soy","spa","space","sport","spot","sr","srl","ss","st","stada","staples","star","statebank","statefarm","stc","stcgroup","stockholm","storage","store","stream","studio","study","style","su","sucks","supplies","supply","support","surf","surgery","suzuki","sv","swatch","swiss","sx","sy","sydney","systems","sz","tab","taipei","talk","taobao","target","tatamotors","tatar","tattoo","tax","taxi","tc","tci","td","tdk","team","tech","technology","tel","temasek","tennis","teva","tf","tg","th","thd","theater","theatre","tiaa","tickets","tienda","tips","tires","tirol","tj","tjmaxx","tjx","tk","tkmaxx","tl","tm","tmall","tn","to","today","tokyo","tools","top","toray","toshiba","total","tours","town","toyota","toys","tr","trade","trading","training","travel","travelers","travelersinsurance","trust","trv","tt","tube","tui","tunes","tushu","tv","tvs","tw","tz","ua","ubank","ubs","ug","uk","unicom","university","uno","uol","ups","us","uy","uz","va","vacations","vana","vanguard","vc","ve","vegas","ventures","verisign","vermögensberater","vermögensberatung","versicherung","vet","vg","vi","viajes","video","vig","viking","villas","vin","vip","virgin","visa","vision","viva","vivo","vlaanderen","vn","vodka","volvo","vote","voting","voto","voyage","vu","wales","walmart","walter","wang","wanggou","watch","watches","weather","weatherchannel","webcam","weber","website","wed","wedding","weibo","weir","wf","whoswho","wien","wiki","williamhill","win","windows","wine","winners","wme","wolterskluwer","woodside","work","works","world","wow","ws","wtc","wtf","xbox","xerox","xihuan","xin","xxx","xyz","yachts","yahoo","yamaxun","yandex","ye","yodobashi","yoga","yokohama","you","youtube","yt","yun","za","zappos","zara","zero","zip","zm","zone","zuerich","zw","ελ","ευ","бг","бел","дети","ею","католик","ком","мкд","мон","москва","онлайн","орг","рус","рф","сайт","срб","укр","қаз","հայ","ישראל","קום","ابوظبي","ارامكو","الاردن","البحرين","الجزائر","السعودية","العليان","المغرب","امارات","ایران","بارت","بازار","بيتك","بھارت","تونس","سودان","سورية","شبكة","عراق","عرب","عمان","فلسطين","قطر","كاثوليك","كوم","مصر","مليسيا","موريتانيا","موقع","همراه","پاکستان","ڀارت","कॉम","नेट","भारत","भारतम्","भारोत","संगठन","বাংলা","ভারত","ভাৰত","ਭਾਰਤ","ભારત","ଭାରତ","இந்தியா","இலங்கை","சிங்கப்பூர்","భారత్","ಭಾರತ","ഭാരതം","ලංකා","คอม","ไทย","ລາວ","გე","みんな","アマゾン","クラウド","グーグル","コム","ストア","セール","ファッション","ポイント","世界","中信","中国","中國","中文网","亚马逊","企业","佛山","信息","健康","八卦","公司","公益","台湾","台灣","商城","商店","商标","嘉里","嘉里大酒店","在线","大拿","天主教","娱乐","家電","广东","微博","慈善","我爱你","手机","招聘","政务","政府","新加坡","新闻","时尚","書籍","机构","淡马锡","游戏","澳門","点看","移动","组织机构","网址","网店","网站","网络","联通","谷歌","购物","通販","集团","電訊盈科","飞利浦","食品","餐厅","香格里拉","香港","닷넷","닷컴","삼성","한국"];const o=/https?:\/\/[^\s<>"]+/gi,n=/[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,}/gi,i=/(?<![a-z0-9._%+-])@([a-z0-9][a-z0-9._]{0,29})\b/gi,s=/https?:\/\/(?:www\.)?soundcloud\.com\/[a-z0-9_-]+(?:\/[^\s<>"]*)?/gi,l=/^[-=]{3,}$/gm;let c=null;function d(e){return e.replace(/[.,;:!?)]+$/,"")}function u(e){try{const a=new URL(e);return"soundcloud.com"===a.hostname||"www.soundcloud.com"===a.hostname}catch{return!1}}function m(e){if(!e)return[];const a=function(e){const a=[],t=[],l=e=>{var r,o;r=e.start,o=e.end,t.some((([e,a])=>r>=e&&r<a||o>e&&o<=a||r<=e&&o>=a))||(a.push(e),t.push([e.start,e.end]))};s.lastIndex=0;for(const a of e.matchAll(s)){const e=a.index??0,t=d(a[0]);l({type:"soundcloud",start:e,end:e+t.length,text:t,href:t})}o.lastIndex=0;for(const a of e.matchAll(o)){const e=a.index??0,t=d(a[0]);u(t)||l({type:"url",start:e,end:e+t.length,text:t,href:t})}n.lastIndex=0;for(const a of e.matchAll(n)){const e=a.index??0;l({type:"email",start:e,end:e+a[0].length,text:a[0],href:`mailto:${a[0]}`})}i.lastIndex=0;for(const a of e.matchAll(i)){const e=a.index??0;l({type:"instagram",start:e,end:e+a[0].length,text:a[0],href:`https://instagram.com/${a[1]}`})}if(e.length<=2048){const a=function(){if(!c){const e=r.join("|");c=new RegExp(`\\b(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+(?:${e})\\b(?:\\/[^\\s<>"]*)?`,"gi")}return c}();a.lastIndex=0;for(const t of e.matchAll(a)){const e=t.index??0,a=d(t[0]);l({type:"url",start:e,end:e+a.length,text:a,href:`https://${a}`})}}return a.sort(((e,a)=>e.start-a.start))}(e),t=function(e){const a=[];l.lastIndex=0;for(const t of e.matchAll(l)){const e=t.index??0;a.push({start:e,end:e+t[0].length})}return a}(e),m=[],h=[...a.map((e=>({type:"link",data:e,start:e.start,end:e.end}))),...t.map((e=>({type:"divider",start:e.start,end:e.end})))].sort(((e,a)=>e.start-a.start));let g=0,p=!1;for(const a of h)if(!(a.start<g)){if(a.start>g){let t=e.slice(g,a.start);p&&(t=t.replace(/^\n+/,"")),"divider"===a.type&&(t=t.replace(/\n+$/,"")),t&&m.push({type:"text",content:t})}if("link"===a.type){const e=a.data;m.push("soundcloud"===e.type?{type:"soundcloud",content:e.text,href:e.href}:{type:"link",content:e.text,href:e.href,linkType:e.type}),p=!1}else m.push({type:"divider",content:""}),p=!0;g=a.end}if(g<e.length){let a=e.slice(g);p&&(a=a.replace(/^\n+/,"")),a&&m.push({type:"text",content:a})}return m}const h=class{constructor(a){e(this,a)}text="";theme="system";currentTheme="light";segments=[];mediaQueryList;componentWillLoad(){this.setupTheme(),this.parseText()}textChanged(){this.parseText()}themeChanged(){this.setupTheme()}disconnectedCallback(){this.mediaQueryList&&this.mediaQueryList.removeEventListener("change",this.handleSystemThemeChange)}setupTheme(){this.mediaQueryList&&this.mediaQueryList.removeEventListener("change",this.handleSystemThemeChange),"system"===this.theme?"function"==typeof globalThis.matchMedia?(this.mediaQueryList=globalThis.matchMedia("(prefers-color-scheme: dark)"),this.currentTheme=this.mediaQueryList.matches?"dark":"light",this.mediaQueryList.addEventListener("change",this.handleSystemThemeChange)):this.currentTheme="light":this.currentTheme=this.theme}handleSystemThemeChange=e=>{"system"===this.theme&&(this.currentTheme=e.matches?"dark":"light")};parseText(){this.segments=m(this.text)}renderLink(e,t){const r="url"===e.linkType?function(e){try{const a=new URL(e);return a.hostname.replace(/^www\./,"")+("/"!==a.pathname?a.pathname:"")}catch{return e}}(e.href||""):e.content;return a("a",{key:t,href:e.href,target:"_blank",rel:"noopener noreferrer",class:"formatted-link"},r,a("span",{class:"sr-only"}," (opens in new tab)"))}renderSoundCloudEmbed(e,t,r){if(!u(e))return this.renderLink({type:"link",content:e,href:e,linkType:"url"},t);const o=`https://w.soundcloud.com/player/?url=${encodeURIComponent(e)}&color=%23ff5500&auto_play=false&hide_related=true&show_comments=false&show_user=true&show_reposts=false&show_teaser=false`,n=new URL(e).pathname.slice(1).replace(/-/g," ");return a("div",{key:t,class:"soundcloud-embed"},a("iframe",{width:"100%",height:"166",scrolling:"no",allow:"autoplay",sandbox:"allow-scripts allow-same-origin allow-popups",src:o,title:`SoundCloud: ${r||n||e}`,loading:"lazy"}))}renderSegment(e,t){switch(e.type){case"text":return a("span",{key:t},e.content);case"link":return this.renderLink(e,t);case"divider":return a("hr",{key:t,class:"formatted-divider"});case"soundcloud":return this.renderSoundCloudEmbed(e.href||"",t,e.content);default:return null}}render(){return a(t,{key:"1a7f36efb8cdbd1efdaa97c36b60593a13c99c4e","data-theme":this.currentTheme},a("div",{key:"fce1176ff0ef2ea5c3f1b282ab9a52554491f9bf",class:"formatted-text"},this.segments.map(((e,a)=>this.renderSegment(e,a)))))}static get watchers(){return{text:["textChanged"],theme:["themeChanged"]}}};h.style=':host{--foreground:oklch(0.145 0 0);--muted-foreground:oklch(0.556 0 0);--primary:oklch(0.42 0.24 264.376);--border:oklch(0.922 0 0);--ring:oklch(0.708 0 0);--radius:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--font-family:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,\n "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;--transition-fast:150ms cubic-bezier(0.4, 0, 0.2, 1);--internal-foreground:var(--foreground, oklch(0.145 0 0));--internal-muted-foreground:var(--muted-foreground, oklch(0.556 0 0));--internal-primary:var(--primary, oklch(0.42 0.24 264.376));--internal-border:var(--border, oklch(0.922 0 0));--internal-ring:var(--ring, oklch(0.708 0 0));--internal-radius:var(--radius, 0.5rem);--internal-spacing-md:var(--spacing-md, 1rem);--internal-spacing-lg:var(--spacing-lg, 1.5rem);--internal-font-family:var(\n --font-family,\n ui-sans-serif,\n system-ui,\n -apple-system,\n BlinkMacSystemFont,\n "Segoe UI",\n Roboto,\n "Helvetica Neue",\n Arial,\n "Noto Sans",\n sans-serif\n );--internal-transition-fast:var(\n --transition-fast,\n 150ms cubic-bezier(0.4, 0, 0.2, 1)\n );display:block;font-family:var(--internal-font-family);line-height:1.6;color:var(--internal-foreground)}:host([data-theme="dark"]){--foreground:oklch(0.96 0 0);--muted-foreground:oklch(0.78 0 0);--primary:oklch(0.623 0.214 259.815);--border:oklch(0.29 0 0);--ring:oklch(0.6 0 0)}*{box-sizing:border-box;margin:0;padding:0}*:focus:not(:focus-visible){outline:none}*:focus-visible{outline:2px solid var(--internal-ring);outline-offset:2px;border-radius:calc(var(--internal-radius) - 4px)}.formatted-text{color:var(--internal-foreground);white-space:pre-wrap;word-wrap:break-word}.formatted-link{color:var(--internal-primary);text-decoration:none;transition:color var(--internal-transition-fast)}.formatted-link:hover{color:oklch(from var(--internal-primary) calc(l + 0.1) c h);text-decoration:underline}.formatted-divider{height:0;border:none;border-top:1px solid var(--internal-border);margin:var(--internal-spacing-md) 0}.soundcloud-embed{margin:var(--internal-spacing-md) 0;border-radius:var(--internal-radius);overflow:hidden}.soundcloud-embed iframe{display:block;border:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}';export{h as session_services_formatted_text}
@@ -1 +1 @@
1
- import{p as e,b as t}from"./p-CeXOR4aK.js";export{s as setNonce}from"./p-CeXOR4aK.js";import{g as n}from"./p-DQuL1Twl.js";(()=>{const t=import.meta.url,n={};return""!==t&&(n.resourcesUrl=new URL(".",t).href),e(n)})().then((async e=>(await n(),t([["p-3090d137",[[769,"session-services-ticketing",{tenantId:[1,"tenant-id"],eventId:[1,"event-id"],apiUrl:[1,"api-url"],locale:[1],returnUrl:[1,"return-url"],theme:[1],enableAnalytics:[4,"enable-analytics"],debugAnalytics:[4,"debug-analytics"],event:[32],selectedItems:[32],quote:[32],loading:[32],error:[32],quoteLoading:[32],quoteError:[32],checkoutLoading:[32],currentTheme:[32]},null,{tenantId:["propsChanged"],eventId:["propsChanged"],apiUrl:["propsChanged"],theme:["themeChanged"]}]]]],e))));
1
+ import{p as e,b as t}from"./p-CeXOR4aK.js";export{s as setNonce}from"./p-CeXOR4aK.js";import{g as n}from"./p-DQuL1Twl.js";(()=>{const t=import.meta.url,n={};return""!==t&&(n.resourcesUrl=new URL(".",t).href),e(n)})().then((async e=>(await n(),t([["p-a2404c46",[[769,"session-services-formatted-text",{text:[1],theme:[1],currentTheme:[32],segments:[32]},null,{text:["textChanged"],theme:["themeChanged"]}]]],["p-62a8e2cc",[[769,"session-services-ticketing",{tenantId:[1,"tenant-id"],eventId:[1,"event-id"],apiUrl:[1,"api-url"],locale:[1],returnUrl:[1,"return-url"],theme:[1],enableAnalytics:[4,"enable-analytics"],debugAnalytics:[4,"debug-analytics"],event:[32],selectedItems:[32],quote:[32],loading:[32],error:[32],quoteLoading:[32],quoteError:[32],checkoutLoading:[32],currentTheme:[32],openModalAdmissionId:[32]},null,{tenantId:["propsChanged"],eventId:["propsChanged"],apiUrl:["propsChanged"],theme:["themeChanged"]}]]]],e))));
@@ -0,0 +1,19 @@
1
+ import { type ParsedSegment } from "@session-services/utils/formatting";
2
+ export declare class SessionServicesFormattedText {
3
+ text: string;
4
+ theme: "light" | "dark" | "system";
5
+ currentTheme: "light" | "dark";
6
+ segments: ParsedSegment[];
7
+ private mediaQueryList?;
8
+ componentWillLoad(): void;
9
+ textChanged(): void;
10
+ themeChanged(): void;
11
+ disconnectedCallback(): void;
12
+ private setupTheme;
13
+ private handleSystemThemeChange;
14
+ private parseText;
15
+ private renderLink;
16
+ private renderSoundCloudEmbed;
17
+ private renderSegment;
18
+ render(): any;
19
+ }
@@ -18,6 +18,7 @@ export declare class SessionsTicketing {
18
18
  quoteError: string | null;
19
19
  checkoutLoading: boolean;
20
20
  currentTheme: "light" | "dark";
21
+ openModalAdmissionId: string | null;
21
22
  checkoutInit: EventEmitter<{
22
23
  orderId: string;
23
24
  checkoutUrl: string;
@@ -47,6 +48,10 @@ export declare class SessionsTicketing {
47
48
  private formatPriceValue;
48
49
  private handleQuantityDecrease;
49
50
  private handleQuantityIncrease;
51
+ private openModal;
52
+ private closeModal;
53
+ private handleModalKeyDown;
54
+ private handleBackdropClick;
50
55
  private renderQuantityControls;
51
56
  private renderEventTimeAndLocation;
52
57
  private renderPriceAndControls;
@@ -60,6 +65,7 @@ export declare class SessionsTicketing {
60
65
  private isCheckoutDisabled;
61
66
  private getCheckoutButtonText;
62
67
  private renderOrderSummary;
68
+ private renderModal;
63
69
  private renderTicketSections;
64
70
  render(): any;
65
71
  }
@@ -8,6 +8,16 @@ import { HTMLStencilElement, JSXBase } from "./stencil-public-runtime";
8
8
  import { OrderQuote } from "@session-services/sdk/schemas";
9
9
  export { OrderQuote } from "@session-services/sdk/schemas";
10
10
  export namespace Components {
11
+ interface SessionServicesFormattedText {
12
+ /**
13
+ * @default ""
14
+ */
15
+ "text": string;
16
+ /**
17
+ * @default "system"
18
+ */
19
+ "theme": "light" | "dark" | "system";
20
+ }
11
21
  interface SessionServicesTicketing {
12
22
  /**
13
23
  * @default "https://api.session.services"
@@ -39,6 +49,12 @@ export interface SessionServicesTicketingCustomEvent<T> extends CustomEvent<T> {
39
49
  target: HTMLSessionServicesTicketingElement;
40
50
  }
41
51
  declare global {
52
+ interface HTMLSessionServicesFormattedTextElement extends Components.SessionServicesFormattedText, HTMLStencilElement {
53
+ }
54
+ var HTMLSessionServicesFormattedTextElement: {
55
+ prototype: HTMLSessionServicesFormattedTextElement;
56
+ new (): HTMLSessionServicesFormattedTextElement;
57
+ };
42
58
  interface HTMLSessionServicesTicketingElementEventMap {
43
59
  "checkoutInit": {
44
60
  orderId: string;
@@ -62,10 +78,21 @@ declare global {
62
78
  new (): HTMLSessionServicesTicketingElement;
63
79
  };
64
80
  interface HTMLElementTagNameMap {
81
+ "session-services-formatted-text": HTMLSessionServicesFormattedTextElement;
65
82
  "session-services-ticketing": HTMLSessionServicesTicketingElement;
66
83
  }
67
84
  }
68
85
  declare namespace LocalJSX {
86
+ interface SessionServicesFormattedText {
87
+ /**
88
+ * @default ""
89
+ */
90
+ "text"?: string;
91
+ /**
92
+ * @default "system"
93
+ */
94
+ "theme"?: "light" | "dark" | "system";
95
+ }
69
96
  interface SessionServicesTicketing {
70
97
  /**
71
98
  * @default "https://api.session.services"
@@ -98,6 +125,7 @@ declare namespace LocalJSX {
98
125
  "theme"?: "light" | "dark" | "system";
99
126
  }
100
127
  interface IntrinsicElements {
128
+ "session-services-formatted-text": SessionServicesFormattedText;
101
129
  "session-services-ticketing": SessionServicesTicketing;
102
130
  }
103
131
  }
@@ -105,6 +133,7 @@ export { LocalJSX as JSX };
105
133
  declare module "@stencil/core" {
106
134
  export namespace JSX {
107
135
  interface IntrinsicElements {
136
+ "session-services-formatted-text": LocalJSX.SessionServicesFormattedText & JSXBase.HTMLAttributes<HTMLSessionServicesFormattedTextElement>;
108
137
  "session-services-ticketing": LocalJSX.SessionServicesTicketing & JSXBase.HTMLAttributes<HTMLSessionServicesTicketingElement>;
109
138
  }
110
139
  }
@@ -7,3 +7,4 @@
7
7
  * DO NOT use this file to export your components. Instead, use the recommended approaches
8
8
  * to consume components of this package as outlined in the `README.md`.
9
9
  */
10
+ export {};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@session-services/web-elements",
3
3
  "private": false,
4
- "version": "0.1.16",
4
+ "version": "0.1.18",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.js",
7
7
  "types": "dist/types/components.d.ts",
@@ -70,7 +70,8 @@
70
70
  "access": "public"
71
71
  },
72
72
  "dependencies": {
73
- "@session-services/sdk": "0.1.16"
73
+ "@session-services/utils": "0.1.18",
74
+ "@session-services/sdk": "0.1.18"
74
75
  },
75
76
  "devDependencies": {
76
77
  "@stencil/core": "^4.27.1",
@@ -80,8 +81,9 @@
80
81
  "jest": "^29.7.0",
81
82
  "jest-cli": "^29.7.0",
82
83
  "puppeteer": "^24.3.0",
84
+ "rollup-plugin-esbuild": "^6.2.1",
83
85
  "typescript": "5.9.3",
84
- "zod": "^4.1.13",
86
+ "vitest": "4.0.15",
85
87
  "@session-services/tsconfig": "0.1.0"
86
88
  },
87
89
  "scripts": {
@@ -95,7 +97,10 @@
95
97
  "lint": "biome lint .",
96
98
  "lint:fix": "biome check --write .",
97
99
  "typecheck": "tsc --noEmit",
98
- "test": "stencil test --spec --e2e",
99
- "test:watch": "stencil test --spec --e2e --watchAll"
100
+ "test": "vitest run",
101
+ "test:watch": "vitest",
102
+ "test:e2e": "stencil test --e2e",
103
+ "test:e2e:watch": "stencil test --e2e --watchAll",
104
+ "knip": "knip --no-exit-code"
100
105
  }
101
106
  }