@bigz-app/booking-widget 0.1.24 → 0.1.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.esm.js CHANGED
@@ -6669,15 +6669,8 @@ ZodNullable.create;
6669
6669
 
6670
6670
  function n(){return n=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var r=arguments[n];for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(e[t]=r[t]);}return e},n.apply(this,arguments)}const r=["children","options"],o=["allowFullScreen","allowTransparency","autoComplete","autoFocus","autoPlay","cellPadding","cellSpacing","charSet","classId","colSpan","contentEditable","contextMenu","crossOrigin","encType","formAction","formEncType","formMethod","formNoValidate","formTarget","frameBorder","hrefLang","inputMode","keyParams","keyType","marginHeight","marginWidth","maxLength","mediaGroup","minLength","noValidate","radioGroup","readOnly","rowSpan","spellCheck","srcDoc","srcLang","srcSet","tabIndex","useMap"].reduce((e,n)=>(e[n.toLowerCase()]=n,e),{class:"className",for:"htmlFor"}),a={amp:"&",apos:"'",gt:">",lt:"<",nbsp:" ",quot:"“"},c=["style","script","pre"],i=["src","href","data","formAction","srcDoc","action"],u=/([-A-Z0-9_:]+)(?:\s*=\s*(?:(?:"((?:\\.|[^"])*)")|(?:'((?:\\.|[^'])*)')|(?:\{((?:\\.|{[^}]*?}|[^}])*)\})))?/gi,l=/mailto:/i,s=/\n{2,}$/,f=/^(\s*>[\s\S]*?)(?=\n\n|$)/,_=/^ *> ?/gm,d=/^(?:\[!([^\]]*)\]\n)?([\s\S]*)/,p=/^ {2,}\n/,y=/^(?:( *[-*_])){3,} *(?:\n *)+\n/,h=/^(?: {1,3})?(`{3,}|~{3,}) *(\S+)? *([^\n]*?)?\n([\s\S]*?)(?:\1\n?|$)/,g=/^(?: {4}[^\n]+\n*)+(?:\n *)+\n?/,m=/^(`+)((?:\\`|(?!\1)`|[^`])+)\1/,k=/^(?:\n *)*\n/,x=/\r\n?/g,v=/^\[\^([^\]]+)](:(.*)((\n+ {4,}.*)|(\n(?!\[\^).+))*)/,q=/^\[\^([^\]]+)]/,b=/\f/g,S=/^---[ \t]*\n(.|\n)*\n---[ \t]*\n/,$=/^\s*?\[(x|\s)\]/,z=/^ *(#{1,6}) *([^\n]+?)(?: +#*)?(?:\n *)*(?:\n|$)/,E=/^ *(#{1,6}) +([^\n]+?)(?: +#*)?(?:\n *)*(?:\n|$)/,A=/^([^\n]+)\n *(=|-){3,} *\n/,R=/^ *(?!<[a-z][^ >/]* ?\/>)<([a-z][^ >/]*) ?((?:[^>]*[^/])?)>\n?(\s*(?:<\1[^>]*?>[\s\S]*?<\/\1>|(?!<\1\b)[\s\S])*?)<\/\1>(?!<\/\1>)\n*/i,B=/&([a-z0-9]+|#[0-9]{1,6}|#x[0-9a-fA-F]{1,6});/gi,L=/^<!--[\s\S]*?(?:-->)/,O=/^(data|aria|x)-[a-z_][a-z\d_.-]*$/,j=/^ *<([a-z][a-z0-9:]*)(?:\s+((?:<.*?>|[^>])*))?\/?>(?!<\/\1>)(\s*\n)?/i,C=/^\{.*\}$/,I=/^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,T=/^<([^ >]+@[^ >]+)>/,M=/^<([^ >]+:\/[^ >]+)>/,w=/-([a-z])?/gi,D=/^(\|.*)\n(?: *(\|? *[-:]+ *\|[-| :]*)\n((?:.*\|.*\n)*))?\n?/,F=/^[^\n]+(?: \n|\n{2,})/,P=/^\[([^\]]*)\]:\s+<?([^\s>]+)>?\s*("([^"]*)")?/,Z=/^!\[([^\]]*)\] ?\[([^\]]*)\]/,N=/^\[([^\]]*)\] ?\[([^\]]*)\]/,G=/(\n|^[-*]\s|^#|^ {2,}|^-{2,}|^>\s)/,U=/\t/g,V=/(^ *\||\| *$)/g,H=/^ *:-+: *$/,Q=/^ *:-+ *$/,W=/^ *-+: *$/,J="((?:\\[.*?\\][([].*?[)\\]]|<.*?>(?:.*?<.*?>)?|`.*?`|\\\\\\1|[\\s\\S])+?)",K=RegExp(`^([*_])\\1${J}\\1\\1(?!\\1)`),X=RegExp(`^([*_])${J}\\1(?!\\1)`),Y=RegExp(`^(==)${J}\\1`),ee=RegExp(`^(~~)${J}\\1`),ne=/^(:[a-zA-Z0-9-_]+:)/,re=/^\\([^0-9A-Za-z\s])/,te=/\\([^0-9A-Za-z\s])/g,oe=/^[\s\S](?:(?! \n|[0-9]\.|http)[^=*_~\-\n:<`\\\[!])*/,ae=/^\n+/,ce=/^([ \t]*)/,ie=/(?:^|\n)( *)$/,ue="(?:\\d+\\.)",le="(?:[*+-])";function se(e){return "( *)("+(1===e?ue:le)+") +"}const fe=se(1),_e=se(2);function de(e){return RegExp("^"+(1===e?fe:_e))}const pe=de(1),ye=de(2);function he(e){return RegExp("^"+(1===e?fe:_e)+"[^\\n]*(?:\\n(?!\\1"+(1===e?ue:le)+" )[^\\n]*)*(\\n|$)","gm")}const ge=he(1),me=he(2);function ke(e){const n=1===e?ue:le;return RegExp("^( *)("+n+") [\\s\\S]+?(?:\\n{2,}(?! )(?!\\1"+n+" (?!"+n+" ))\\n*|\\s*\\n*$)")}const xe=ke(1),ve=ke(2);function qe(e,n){const r=1===n,t=r?xe:ve,o=r?ge:me,a=r?pe:ye;return {t:e=>a.test(e),o:je(function(e,n){const r=ie.exec(n.prevCapture);return r&&(n.list||!n.inline&&!n.simple)?t.exec(e=r[1]+e):null}),i:1,u(e,n,t){const c=r?+e[2]:void 0,i=e[0].replace(s,"\n").match(o);let u=false;return {items:i.map(function(e,r){const o=a.exec(e)[0].length,c=RegExp("^ {1,"+o+"}","gm"),l=e.replace(c,"").replace(a,""),s=r===i.length-1,f=-1!==l.indexOf("\n\n")||s&&u;u=f;const _=t.inline,d=t.list;let p;t.list=true,f?(t.inline=false,p=$e(l)+"\n\n"):(t.inline=true,p=$e(l));const y=n(p,t);return t.inline=_,t.list=d,y}),ordered:r,start:c}},l:(n,r,t)=>e(n.ordered?"ol":"ul",{key:t.key,start:"20"===n.type?n.start:void 0},n.items.map(function(n,o){return e("li",{key:o},r(n,t))}))}}const be=RegExp("^\\[((?:\\[[^\\[\\]]*(?:\\[[^\\[\\]]*\\][^\\[\\]]*)*\\]|[^\\[\\]])*)\\]\\(\\s*<?((?:\\([^)]*\\)|[^\\s\\\\]|\\\\.)*?)>?(?:\\s+['\"]([\\s\\S]*?)['\"])?\\s*\\)"),Se=/^!\[(.*?)\]\( *((?:\([^)]*\)|[^() ])*) *"?([^)"]*)?"?\)/;function $e(e){let n=e.length;for(;n>0&&e[n-1]<=" ";)n--;return e.slice(0,n)}function ze(e,n){return e.startsWith(n)}function Ee(e,n,r){if(Array.isArray(r)){for(let n=0;n<r.length;n++)if(ze(e,r[n]))return true;return false}return r(e,n)}function Ae(e){return e.replace(/[ÀÁÂÃÄÅàáâãä忯]/g,"a").replace(/[çÇ]/g,"c").replace(/[ðÐ]/g,"d").replace(/[ÈÉÊËéèêë]/g,"e").replace(/[ÏïÎîÍíÌì]/g,"i").replace(/[Ññ]/g,"n").replace(/[øØœŒÕõÔôÓóÒò]/g,"o").replace(/[ÜüÛûÚúÙù]/g,"u").replace(/[ŸÿÝý]/g,"y").replace(/[^a-z0-9- ]/gi,"").replace(/ /gi,"-").toLowerCase()}function Re(e){return W.test(e)?"right":H.test(e)?"center":Q.test(e)?"left":null}function Be(e,n,r,t){const o=r.inTable;r.inTable=true;let a=[[]],c="";function i(){if(!c)return;const e=a[a.length-1];e.push.apply(e,n(c,r)),c="";}return e.trim().split(/(`[^`]*`|\\\||\|)/).filter(Boolean).forEach((e,n,r)=>{"|"===e.trim()&&(i(),t)?0!==n&&n!==r.length-1&&a.push([]):c+=e;}),i(),r.inTable=o,a}function Le(e,n,r){r.inline=true;const t=e[2]?e[2].replace(V,"").split("|").map(Re):[],o=e[3]?function(e,n,r){return e.trim().split("\n").map(function(e){return Be(e,n,r,true)})}(e[3],n,r):[],a=Be(e[1],n,r,!!o.length);return r.inline=false,o.length?{align:t,cells:o,header:a,type:"25"}:{children:a,type:"21"}}function Oe(e,n){return null==e.align[n]?{}:{textAlign:e.align[n]}}function je(e){return e.inline=1,e}function Ce(e){return je(function(n,r){return r.inline?e.exec(n):null})}function Ie(e){return je(function(n,r){return r.inline||r.simple?e.exec(n):null})}function Te(e){return function(n,r){return r.inline||r.simple?null:e.exec(n)}}function Me(e){return je(function(n){return e.exec(n)})}const we=/(javascript|vbscript|data(?!:image)):/i;function De(e){try{const n=decodeURIComponent(e).replace(/[^A-Za-z0-9/:]/g,"");if(we.test(n))return null}catch(e){return null}return e}function Fe(e){return e?e.replace(te,"$1"):e}function Pe(e,n,r){const t=r.inline||false,o=r.simple||false;r.inline=true,r.simple=true;const a=e(n,r);return r.inline=t,r.simple=o,a}function Ze(e,n,r){const t=r.inline||false,o=r.simple||false;r.inline=false,r.simple=true;const a=e(n,r);return r.inline=t,r.simple=o,a}function Ne(e,n,r){const t=r.inline||false;r.inline=false;const o=e(n,r);return r.inline=t,o}const Ge=(e,n,r)=>({children:Pe(n,e[2],r)});function Ue(){return {}}function Ve(){return null}function He(...e){return e.filter(Boolean).join(" ")}function Qe(e,n,r){let t=e;const o=n.split(".");for(;o.length&&(t=t[o[0]],void 0!==t);)o.shift();return t||r}function We(r="",t={}){t.overrides=t.overrides||{},t.namedCodesToUnicode=t.namedCodesToUnicode?n({},a,t.namedCodesToUnicode):a;const s=t.slugify||Ae,V=t.sanitizer||De,H=t.createElement||React__default.createElement,Q=[f,h,g,t.enforceAtxHeadings?E:z,A,D,xe,ve],W=[...Q,F,R,L,j];function J(e,r,...o){const a=Qe(t.overrides,e+".props",{});return H(function(e,n){const r=Qe(n,e);return r?"function"==typeof r||"object"==typeof r&&"render"in r?r:Qe(n,e+".component",e):e}(e,t.overrides),n({},r,a,{className:He(null==r?void 0:r.className,a.className)||void 0}),...o)}function te(e){e=e.replace(S,"");let n=false;t.forceInline?n=true:t.forceBlock||(n=false===G.test(e));const r=_e(fe(n?e:$e(e).replace(ae,"")+"\n\n",{inline:n}));for(;"string"==typeof r[r.length-1]&&!r[r.length-1].trim();)r.pop();if(null===t.wrapper)return r;const o=t.wrapper||(n?"span":"div");let a;if(r.length>1||t.forceWrapper)a=r;else {if(1===r.length)return a=r[0],"string"==typeof a?J("span",{key:"outer"},a):a;a=null;}return H(o,{key:"outer"},a)}function ie(e,n){if(!n||!n.trim())return null;const r=n.match(u);return r?r.reduce(function(n,r){const t=r.indexOf("=");if(-1!==t){const a=function(e){return -1!==e.indexOf("-")&&null===e.match(O)&&(e=e.replace(w,function(e,n){return n.toUpperCase()})),e}(r.slice(0,t)).trim(),c=function(e){const n=e[0];return ('"'===n||"'"===n)&&e.length>=2&&e[e.length-1]===n?e.slice(1,-1):e}(r.slice(t+1).trim()),u=o[a]||a;if("ref"===u)return n;const l=n[u]=function(e,n,r,t){return "style"===n?function(e){const n=[];let r="",t=false,o=false,a="";if(!e)return n;for(let c=0;c<e.length;c++){const i=e[c];if('"'!==i&&"'"!==i||t||(o?i===a&&(o=false,a=""):(o=true,a=i)),"("===i&&r.endsWith("url")?t=true:")"===i&&t&&(t=false),";"!==i||o||t)r+=i;else {const e=r.trim();if(e){const r=e.indexOf(":");if(r>0){const t=e.slice(0,r).trim(),o=e.slice(r+1).trim();n.push([t,o]);}}r="";}}const c=r.trim();if(c){const e=c.indexOf(":");if(e>0){const r=c.slice(0,e).trim(),t=c.slice(e+1).trim();n.push([r,t]);}}return n}(r).reduce(function(n,[r,o]){return n[r.replace(/(-[a-z])/g,e=>e[1].toUpperCase())]=t(o,e,r),n},{}):-1!==i.indexOf(n)?t(Fe(r),e,n):(r.match(C)&&(r=Fe(r.slice(1,r.length-1))),"true"===r||"false"!==r&&r)}(e,a,c,V);"string"==typeof l&&(R.test(l)||j.test(l))&&(n[u]=te(l.trim()));}else "style"!==r&&(n[o[r]||r]=true);return n},{}):null}const ue=[],le={},se={0:{t:[">"],o:Te(f),i:1,u(e,n,r){const[,t,o]=e[0].replace(_,"").match(d);return {alert:t,children:n(o,r)}},l(e,n,r){const t={key:r.key};return e.alert&&(t.className="markdown-alert-"+s(e.alert.toLowerCase(),Ae),e.children.unshift({attrs:{},children:[{type:"27",text:e.alert}],noInnerParse:true,type:"11",tag:"header"})),J("blockquote",t,n(e.children,r))}},1:{o:Me(p),i:1,u:Ue,l:(e,n,r)=>J("br",{key:r.key})},2:{t:e=>{const n=e[0];return "-"===n||"*"===n||"_"===n},o:Te(y),i:1,u:Ue,l:(e,n,r)=>J("hr",{key:r.key})},3:{t:[" "],o:Te(g),i:0,u:e=>({lang:void 0,text:Fe($e(e[0].replace(/^ {4}/gm,"")))}),l:(e,r,t)=>J("pre",{key:t.key},J("code",n({},e.attrs,{className:e.lang?"lang-"+e.lang:""}),e.text))},4:{t:["```","~~~"],o:Te(h),i:0,u:e=>({attrs:ie("code",e[3]||""),lang:e[2]||void 0,text:e[4],type:"3"})},5:{t:["`"],o:Ie(m),i:3,u:e=>({text:Fe(e[2])}),l:(e,n,r)=>J("code",{key:r.key},e.text)},6:{t:["[^"],o:Te(v),i:0,u:e=>(ue.push({footnote:e[2],identifier:e[1]}),{}),l:Ve},7:{t:["[^"],o:Ce(q),i:1,u:e=>({target:"#"+s(e[1],Ae),text:e[1]}),l:(e,n,r)=>J("a",{key:r.key,href:V(e.target,"a","href")},J("sup",{key:r.key},e.text))},8:{t:["[ ]","[x]"],o:Ce($),i:1,u:e=>({completed:"x"===e[1].toLowerCase()}),l:(e,n,r)=>J("input",{checked:e.completed,key:r.key,readOnly:true,type:"checkbox"})},9:{t:["#"],o:Te(t.enforceAtxHeadings?E:z),i:1,u:(e,n,r)=>({children:Pe(n,e[2],r),id:s(e[2],Ae),level:e[1].length}),l:(e,n,r)=>J("h"+e.level,{id:e.id,key:r.key},n(e.children,r))},10:{o:Te(A),i:0,u:(e,n,r)=>({children:Pe(n,e[1],r),level:"="===e[2]?1:2,type:"9"})},11:{t:["<"],o:Me(R),i:1,u(e,n,r){const[,t]=e[3].match(ce),o=RegExp("^"+t,"gm"),a=e[3].replace(o,""),i=(u=a,W.some(e=>e.test(u))?Ne:Pe);var u;const l=e[1].toLowerCase(),s=-1!==c.indexOf(l),f=(s?l:e[1]).trim(),_={attrs:ie(f,e[2]),noInnerParse:s,tag:f};if(r.inAnchor=r.inAnchor||"a"===l,s)_.text=e[3];else {const e=r.inHTML;r.inHTML=true,_.children=i(n,a,r),r.inHTML=e;}return r.inAnchor=false,_},l:(e,r,t)=>J(e.tag,n({key:t.key},e.attrs),e.text||(e.children?r(e.children,t):""))},13:{t:["<"],o:Me(j),i:1,u(e){const n=e[1].trim();return {attrs:ie(n,e[2]||""),tag:n}},l:(e,r,t)=>J(e.tag,n({},e.attrs,{key:t.key}))},12:{t:["\x3c!--"],o:Me(L),i:1,u:()=>({}),l:Ve},14:{t:["!["],o:Ie(Se),i:1,u:e=>({alt:Fe(e[1]),target:Fe(e[2]),title:Fe(e[3])}),l:(e,n,r)=>J("img",{key:r.key,alt:e.alt||void 0,title:e.title||void 0,src:V(e.target,"img","src")})},15:{t:["["],o:Ce(be),i:3,u:(e,n,r)=>({children:Ze(n,e[1],r),target:Fe(e[2]),title:Fe(e[3])}),l:(e,n,r)=>J("a",{key:r.key,href:V(e.target,"a","href"),title:e.title},n(e.children,r))},16:{t:["<"],o:Ce(M),i:0,u:e=>({children:[{text:e[1],type:"27"}],target:e[1],type:"15"})},17:{t:(e,n)=>!n.inAnchor&&!t.disableAutoLink&&(ze(e,"http://")||ze(e,"https://")),o:Ce(I),i:0,u:e=>({children:[{text:e[1],type:"27"}],target:e[1],title:void 0,type:"15"})},18:{t:["<"],o:Ce(T),i:0,u(e){let n=e[1],r=e[1];return l.test(r)||(r="mailto:"+r),{children:[{text:n.replace("mailto:",""),type:"27"}],target:r,type:"15"}}},20:qe(J,1),33:qe(J,2),19:{o:Te(k),i:3,u:Ue,l:()=>"\n"},21:{o:je(function(e,n){if(n.inline||n.simple||n.inHTML&&-1===e.indexOf("\n\n")&&-1===n.prevCapture.indexOf("\n\n"))return null;let r="";e.split("\n").every(e=>(e+="\n",!Q.some(n=>n.test(e))&&(r+=e,!!e.trim())));const t=$e(r);return ""===t?null:[r,,t]}),i:3,u:Ge,l:(e,n,r)=>J("p",{key:r.key},n(e.children,r))},22:{t:["["],o:Ce(P),i:0,u:e=>(le[e[1]]={target:e[2],title:e[4]},{}),l:Ve},23:{t:["!["],o:Ie(Z),i:0,u:e=>({alt:e[1]?Fe(e[1]):void 0,ref:e[2]}),l:(e,n,r)=>le[e.ref]?J("img",{key:r.key,alt:e.alt,src:V(le[e.ref].target,"img","src"),title:le[e.ref].title}):null},24:{t:e=>"["===e[0]&&-1===e.indexOf("]("),o:Ce(N),i:0,u:(e,n,r)=>({children:n(e[1],r),fallbackChildren:e[0],ref:e[2]}),l:(e,n,r)=>le[e.ref]?J("a",{key:r.key,href:V(le[e.ref].target,"a","href"),title:le[e.ref].title},n(e.children,r)):J("span",{key:r.key},e.fallbackChildren)},25:{t:["|"],o:Te(D),i:1,u:Le,l(e,n,r){const t=e;return J("table",{key:r.key},J("thead",null,J("tr",null,t.header.map(function(e,o){return J("th",{key:o,style:Oe(t,o)},n(e,r))}))),J("tbody",null,t.cells.map(function(e,o){return J("tr",{key:o},e.map(function(e,o){return J("td",{key:o,style:Oe(t,o)},n(e,r))}))})))}},27:{o:je(function(e,n){let r;return ze(e,":")&&(r=ne.exec(e)),r||oe.exec(e)}),i:4,u(e){const n=e[0];return {text:-1===n.indexOf("&")?n:n.replace(B,(e,n)=>t.namedCodesToUnicode[n]||e)}},l:e=>e.text},28:{t:["**","__"],o:Ie(K),i:2,u:(e,n,r)=>({children:n(e[2],r)}),l:(e,n,r)=>J("strong",{key:r.key},n(e.children,r))},29:{t:e=>{const n=e[0];return ("*"===n||"_"===n)&&e[1]!==n},o:Ie(X),i:3,u:(e,n,r)=>({children:n(e[2],r)}),l:(e,n,r)=>J("em",{key:r.key},n(e.children,r))},30:{t:["\\"],o:Ie(re),i:1,u:e=>({text:e[1],type:"27"})},31:{t:["=="],o:Ie(Y),i:3,u:Ge,l:(e,n,r)=>J("mark",{key:r.key},n(e.children,r))},32:{t:["~~"],o:Ie(ee),i:3,u:Ge,l:(e,n,r)=>J("del",{key:r.key},n(e.children,r))}};true===t.disableParsingRawHTML&&(delete se[11],delete se[13]);const fe=function(e){var n=Object.keys(e);function r(t,o){var a=[];if(o.prevCapture=o.prevCapture||"",t.trim())for(;t;)for(var c=0;c<n.length;){var i=n[c],u=e[i];if(!u.t||Ee(t,o,u.t)){var l=u.o(t,o);if(l&&l[0]){t=t.substring(l[0].length);var s=u.u(l,r,o);o.prevCapture+=l[0],s.type||(s.type=i),a.push(s);break}c++;}else c++;}return o.prevCapture="",a}return n.sort(function(n,r){return e[n].i-e[r].i||(n<r?-1:1)}),function(e,n){return r(function(e){return e.replace(x,"\n").replace(b,"").replace(U," ")}(e),n)}}(se),_e=(de=function(e,n){return function(r,t,o){const a=e[r.type].l;return n?n(()=>a(r,t,o),r,t,o):a(r,t,o)}}(se,t.renderRule),function e(n,r={}){if(Array.isArray(n)){const t=r.key,o=[];let a=false;for(let t=0;t<n.length;t++){r.key=t;const c=e(n[t],r),i="string"==typeof c;i&&a?o[o.length-1]+=c:null!==c&&o.push(c),a=i;}return r.key=t,o}return de(n,e,r)});var de;const pe=te(r);return ue.length?J("div",null,pe,J("footer",{key:"footer"},ue.map(function(e){return J("div",{id:s(e.identifier,Ae),key:e.identifier},e.identifier,_e(fe(e.footnote,{inline:true})))}))):pe}var Markdown = n=>{let{children:t="",options:o}=n,a=function(e,n){if(null==e)return {};var r,t,o={},a=Object.keys(e);for(t=0;t<a.length;t++)n.indexOf(r=a[t])>=0||(o[r]=e[r]);return o}(n,r);return React__default.cloneElement(We(t,o),a)};
6671
6671
 
6672
- // Helper function to preprocess markdown for underline support
6673
- const preprocessMarkdown$1 = (markdown) => {
6674
- // Convert double underscores to HTML underline tags for React Markdown
6675
- return markdown.replace(/__([^_]+)__/g, "<u>$1</u>");
6676
- };
6677
- const IconCheck$1 = ({ size = 16, color = "#10b981" }) => (jsx("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", stroke: color, strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: jsx("polyline", { points: "20 6 9 17 4 12" }) }));
6678
- const IconWave$1 = ({ size = 20, color = "#0ea5e9" }) => (jsxs("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", stroke: color, strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [jsx("path", { d: "M2 18c2-2 6-2 8 0s6 2 8 0 6-2 8 0" }), jsx("path", { d: "M2 12c2-2 6-2 8 0s6 2 8 0 6-2 8 0" }), jsx("path", { d: "M2 6c2-2 6-2 8 0s6 2 8 0 6-2 8 0" })] }));
6679
6672
  // Portal component that renders dialog at document body level
6680
- function DialogPortal({ children, isOpen }) {
6673
+ function DialogPortal({ children, isOpen, zIndex = 999999, }) {
6681
6674
  const [portalRoot, setPortalRoot] = React__default__default.useState(null);
6682
6675
  React__default__default.useEffect(() => {
6683
6676
  if (!isOpen) {
@@ -6709,9 +6702,12 @@ function DialogPortal({ children, isOpen }) {
6709
6702
  "--bw-border-radius-small",
6710
6703
  "--bw-spacing",
6711
6704
  "--bw-spacing-large",
6705
+ "--bw-spacing-small",
6712
6706
  "--bw-font-family",
6713
6707
  "--bw-font-size",
6714
6708
  "--bw-font-size-large",
6709
+ "--bw-font-size-small",
6710
+ "--bw-font-size-xl",
6715
6711
  "--bw-shadow-lg",
6716
6712
  "--bw-shadow-md",
6717
6713
  "--bw-highlight-muted",
@@ -6739,7 +6735,7 @@ function DialogPortal({ children, isOpen }) {
6739
6735
  left: 0;
6740
6736
  width: 100%;
6741
6737
  height: 100%;
6742
- z-index: 999999;
6738
+ z-index: ${zIndex};
6743
6739
  pointer-events: none;
6744
6740
  ${cssProperties}
6745
6741
  `;
@@ -6760,7 +6756,7 @@ function DialogPortal({ children, isOpen }) {
6760
6756
  }
6761
6757
  document.body.style.overflow = "";
6762
6758
  };
6763
- }, [isOpen]);
6759
+ }, [isOpen, zIndex]);
6764
6760
  if (!isOpen || !portalRoot)
6765
6761
  return null;
6766
6762
  return createPortal(jsx("div", { style: {
@@ -6769,7 +6765,8 @@ function DialogPortal({ children, isOpen }) {
6769
6765
  height: "100%",
6770
6766
  }, children: children }), portalRoot);
6771
6767
  }
6772
- function EventTypeDetailsDialog({ isOpen, onClose, eventType, onEventTypeSelect, }) {
6768
+ // Shared dialog wrapper component
6769
+ function DialogWrapper({ isOpen, onClose, children, maxWidth = "700px", className, zIndex = 999999, }) {
6773
6770
  // Get fallback styles from the widget container for cases where CSS variables aren't available
6774
6771
  const [fallbackStyles, setFallbackStyles] = React__default__default.useState({});
6775
6772
  React__default__default.useEffect(() => {
@@ -6806,15 +6803,10 @@ function EventTypeDetailsDialog({ isOpen, onClose, eventType, onEventTypeSelect,
6806
6803
  return () => {
6807
6804
  document.removeEventListener("keydown", handleEscape);
6808
6805
  };
6809
- }, [isOpen]);
6810
- if (!isOpen || !eventType)
6806
+ }, [isOpen, onClose]);
6807
+ if (!isOpen)
6811
6808
  return null;
6812
- const isAvailable = eventType.hasAvailableInstances;
6813
- const handleBookingClick = () => {
6814
- onEventTypeSelect(eventType);
6815
- onClose();
6816
- };
6817
- return (jsx(DialogPortal, { isOpen: isOpen, children: jsx("div", { style: fallbackStyles, children: jsx("div", { style: {
6809
+ return (jsx(DialogPortal, { isOpen: isOpen, zIndex: zIndex, children: jsx("div", { style: fallbackStyles, className: className, children: jsx("div", { style: {
6818
6810
  position: "fixed",
6819
6811
  top: 0,
6820
6812
  left: 0,
@@ -6827,11 +6819,11 @@ function EventTypeDetailsDialog({ isOpen, onClose, eventType, onEventTypeSelect,
6827
6819
  alignItems: "center",
6828
6820
  justifyContent: "center",
6829
6821
  padding: "var(--bw-spacing)",
6830
- zIndex: 999999,
6822
+ zIndex: zIndex,
6831
6823
  }, onClick: onClose, children: jsxs("div", { style: {
6832
6824
  backgroundColor: "var(--bw-surface-color)",
6833
6825
  borderRadius: "var(--bw-border-radius)",
6834
- maxWidth: "700px",
6826
+ maxWidth,
6835
6827
  width: "100%",
6836
6828
  maxHeight: "90vh",
6837
6829
  overflow: "auto",
@@ -6859,181 +6851,199 @@ function EventTypeDetailsDialog({ isOpen, onClose, eventType, onEventTypeSelect,
6859
6851
  e.currentTarget.style.backgroundColor = "var(--bw-border-color)";
6860
6852
  }, onMouseLeave: (e) => {
6861
6853
  e.currentTarget.style.backgroundColor = "var(--bw-surface-color)";
6862
- }, children: "\u00D7" }), jsxs("div", { style: { padding: "var(--bw-spacing-large)" }, children: [jsxs("div", { style: {
6863
- marginBottom: "24px",
6864
- padding: "16px",
6865
- backgroundColor: "var(--bw-background-color)",
6866
- borderRadius: "var(--bw-border-radius)",
6867
- border: `1px solid var(--bw-border-color)`,
6868
- }, children: [jsxs("div", { children: [jsx("div", { style: {
6869
- fontSize: "14px",
6870
- fontWeight: "600",
6871
- color: "var(--bw-highlight-color)",
6872
- marginBottom: "8px",
6873
- fontFamily: "var(--bw-font-family)",
6874
- }, children: eventType.category.name }), jsx("h2", { style: {
6875
- fontSize: "28px",
6876
- fontWeight: "700",
6877
- color: "var(--bw-text-color)",
6878
- marginBottom: "16px",
6879
- lineHeight: "1.3",
6880
- fontFamily: "var(--bw-font-family)",
6881
- margin: "0 0 16px 0",
6882
- }, children: eventType.name })] }), eventType.highlights && eventType.highlights.length > 0 && (jsx("div", { style: { display: "flex", alignItems: "center", gap: "8px" }, children: jsx("div", { style: { marginBottom: "24px" }, children: jsx("ul", { style: {
6883
- listStyle: "none",
6884
- padding: "0",
6885
- margin: "0",
6886
- display: "flex",
6887
- flexDirection: "column",
6888
- gap: "3px",
6889
- }, children: eventType.highlights
6890
- .filter((highlight) => highlight.trim())
6891
- .map((highlight, index) => (jsxs("li", { style: {
6892
- display: "flex",
6893
- alignItems: "flex-start",
6894
- gap: "10px",
6895
- fontFamily: "var(--bw-font-family)",
6896
- fontSize: "16px",
6897
- lineHeight: "1.6",
6898
- color: "var(--bw-text-color)",
6899
- }, children: [jsx("div", { style: { marginTop: "4px", flexShrink: 0 }, children: jsx(IconCheck$1, { size: 16, color: "var(--bw-success-color)" }) }), jsx("span", { children: highlight.trim() })] }, index))) }) }) }))] }), eventType.description && (jsxs("div", { style: {
6900
- marginBottom: "24px",
6901
- color: "var(--bw-text-muted)",
6902
- fontSize: "16px",
6903
- lineHeight: "1.6",
6854
+ }, children: "\u00D7" }), children] }) }) }) }));
6855
+ }
6856
+
6857
+ // Helper function to preprocess markdown for underline support
6858
+ const preprocessMarkdown$1 = (markdown) => {
6859
+ // Convert double underscores to HTML underline tags for React Markdown
6860
+ return markdown.replace(/__([^_]+)__/g, "<u>$1</u>");
6861
+ };
6862
+ const IconCheck$1 = ({ size = 16, color = "#10b981" }) => (jsx("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", stroke: color, strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: jsx("polyline", { points: "20 6 9 17 4 12" }) }));
6863
+ const IconWave$1 = ({ size = 20, color = "#0ea5e9" }) => (jsxs("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", stroke: color, strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [jsx("path", { d: "M2 18c2-2 6-2 8 0s6 2 8 0 6-2 8 0" }), jsx("path", { d: "M2 12c2-2 6-2 8 0s6 2 8 0 6-2 8 0" }), jsx("path", { d: "M2 6c2-2 6-2 8 0s6 2 8 0 6-2 8 0" })] }));
6864
+ function EventTypeDetailsDialog({ isOpen, onClose, eventType, onEventTypeSelect, }) {
6865
+ if (!isOpen || !eventType)
6866
+ return null;
6867
+ const isAvailable = eventType.hasAvailableInstances;
6868
+ const handleBookingClick = () => {
6869
+ onEventTypeSelect(eventType);
6870
+ onClose();
6871
+ };
6872
+ return (jsx(DialogWrapper, { isOpen: isOpen, onClose: onClose, maxWidth: "700px", children: jsxs("div", { style: { padding: "var(--bw-spacing-large)" }, children: [jsxs("div", { style: {
6873
+ marginBottom: "24px",
6874
+ padding: "16px",
6875
+ backgroundColor: "var(--bw-background-color)",
6876
+ borderRadius: "var(--bw-border-radius)",
6877
+ border: `1px solid var(--bw-border-color)`,
6878
+ }, children: [jsxs("div", { children: [jsx("div", { style: {
6879
+ fontSize: "14px",
6880
+ fontWeight: "600",
6881
+ color: "var(--bw-highlight-color)",
6882
+ marginBottom: "8px",
6904
6883
  fontFamily: "var(--bw-font-family)",
6905
- padding: "0px 20px",
6906
- }, children: [jsx("style", { dangerouslySetInnerHTML: {
6907
- __html: `
6908
- .bw-markdown-content p {
6909
- margin: 0 0 12px 0 !important;
6910
- color: var(--bw-text-muted) !important;
6911
- font-family: var(--bw-font-family) !important;
6912
- line-height: 1.6 !important;
6913
- }
6914
- .bw-markdown-content p:last-child {
6915
- margin-bottom: 0 !important;
6916
- }
6917
- .bw-markdown-content h2 {
6918
- font-size: 20px !important;
6919
- font-weight: 700 !important;
6920
- color: var(--bw-text-color) !important;
6921
- margin: 20px 0 8px 0 !important;
6922
- line-height: 1.3 !important;
6923
- display: block !important;
6924
- }
6925
- .bw-markdown-content h3 {
6926
- font-size: 18px !important;
6927
- font-weight: 600 !important;
6928
- color: var(--bw-text-color) !important;
6929
- margin: 16px 0 8px 0 !important;
6930
- line-height: 1.3 !important;
6931
- display: block !important;
6932
- }
6933
- .bw-markdown-content strong {
6934
- font-weight: 700 !important;
6935
- color: var(--bw-text-color) !important;
6936
- }
6937
- .bw-markdown-content em {
6938
- font-style: italic !important;
6939
- }
6940
- .bw-markdown-content u {
6941
- text-decoration: underline !important;
6942
- }
6943
- .bw-markdown-content ul {
6944
- margin: 12px 0 !important;
6945
- padding-left: 24px !important;
6946
- list-style-type: disc !important;
6947
- display: block !important;
6948
- }
6949
- .bw-markdown-content ol {
6950
- margin: 12px 0 !important;
6951
- padding-left: 24px !important;
6952
- list-style-type: decimal !important;
6953
- display: block !important;
6954
- }
6955
- .bw-markdown-content li {
6956
- margin-bottom: 4px !important;
6957
- display: list-item !important;
6958
- color: var(--bw-text-muted) !important;
6959
- font-family: var(--bw-font-family) !important;
6960
- line-height: 1.6 !important;
6961
- }
6962
- .bw-markdown-content blockquote {
6963
- margin: 12px 0 !important;
6964
- padding-left: 16px !important;
6965
- border-left: 3px solid var(--bw-border-color) !important;
6966
- font-style: italic !important;
6967
- color: var(--bw-text-muted) !important;
6968
- display: block !important;
6969
- }
6970
- .bw-markdown-content a {
6971
- color: var(--bw-highlight-color) !important;
6972
- text-decoration: underline !important;
6973
- }
6974
- .bw-markdown-content a:hover {
6975
- text-decoration: none !important;
6976
- }
6977
- `,
6978
- } }), jsx("div", { className: "bw-markdown-content", children: Markdown({ children: preprocessMarkdown$1(eventType.description) }) })] })), jsxs("div", { style: {
6884
+ }, children: eventType.category.name }), jsx("h2", { style: {
6885
+ fontSize: "28px",
6886
+ fontWeight: "700",
6887
+ color: "var(--bw-text-color)",
6888
+ marginBottom: "16px",
6889
+ lineHeight: "1.3",
6890
+ fontFamily: "var(--bw-font-family)",
6891
+ margin: "0 0 16px 0",
6892
+ }, children: eventType.name })] }), eventType.highlights && eventType.highlights.length > 0 && (jsx("div", { style: { display: "flex", alignItems: "center", gap: "8px" }, children: jsx("div", { style: { marginBottom: "24px" }, children: jsx("ul", { style: {
6893
+ listStyle: "none",
6894
+ padding: "0",
6895
+ margin: "0",
6979
6896
  display: "flex",
6980
- justifyContent: "space-between",
6981
- alignItems: "center",
6982
- marginTop: "32px",
6983
- padding: "20px",
6984
- backgroundColor: "var(--bw-background-color)",
6985
- borderRadius: "var(--bw-border-radius)",
6986
- border: `1px solid var(--bw-border-color)`,
6987
- }, children: [jsxs("div", { children: [jsx("div", { className: "bw-event-type-price", style: {
6988
- fontWeight: "700",
6989
- color: "var(--bw-text-color)",
6990
- fontFamily: "var(--bw-font-family)",
6991
- textAlign: "left",
6992
- }, children: eventType.groupedDurations && jsx("span", { children: eventType.groupedDurations }) }), jsx("div", { className: "bw-event-type-price", style: {
6993
- fontSize: "clamp(1.72rem, 4vw, 32px)",
6994
- fontWeight: "700",
6995
- color: "var(--bw-text-color)",
6996
- fontFamily: "var(--bw-font-family)",
6997
- textAlign: "right",
6998
- }, children: jsxs("span", { children: ["ab ", formatCurrency(eventType.minPrice)] }) })] }), isAvailable && (jsxs("button", { onClick: handleBookingClick, style: {
6999
- backgroundColor: "var(--bw-highlight-color)",
7000
- color: "white",
7001
- padding: "14px 28px",
7002
- border: "none",
7003
- borderRadius: "var(--bw-border-radius)",
7004
- fontSize: "16px",
7005
- fontWeight: "600",
7006
- fontFamily: "var(--bw-font-family)",
7007
- display: "flex",
7008
- alignItems: "center",
7009
- gap: "8px",
7010
- cursor: "pointer",
7011
- transition: "all 0.2s ease",
7012
- }, onMouseEnter: (e) => {
7013
- e.currentTarget.style.opacity = "0.9";
7014
- e.currentTarget.style.transform = "translateY(-1px)";
7015
- }, onMouseLeave: (e) => {
7016
- e.currentTarget.style.opacity = "1";
7017
- e.currentTarget.style.transform = "translateY(0)";
7018
- }, children: [jsx(IconWave$1, { size: 20, color: "white" }), "Jetzt buchen"] }))] })] }), !isAvailable && (jsx("div", { style: {
7019
- position: "absolute",
7020
- inset: 0,
7021
- backgroundColor: "rgba(0, 0, 0, 0.3)",
7022
- backdropFilter: "blur(2px)",
6897
+ flexDirection: "column",
6898
+ gap: "3px",
6899
+ }, children: eventType.highlights
6900
+ .filter((highlight) => highlight.trim())
6901
+ .map((highlight, index) => (jsxs("li", { style: {
6902
+ display: "flex",
6903
+ alignItems: "flex-start",
6904
+ gap: "10px",
6905
+ fontFamily: "var(--bw-font-family)",
6906
+ fontSize: "16px",
6907
+ lineHeight: "1.6",
6908
+ color: "var(--bw-text-color)",
6909
+ }, children: [jsx("div", { style: { marginTop: "4px", flexShrink: 0 }, children: jsx(IconCheck$1, { size: 16, color: "var(--bw-success-color)" }) }), jsx("span", { children: highlight.trim() })] }, index))) }) }) }))] }), eventType.description && (jsxs("div", { style: {
6910
+ marginBottom: "24px",
6911
+ color: "var(--bw-text-muted)",
6912
+ fontSize: "16px",
6913
+ lineHeight: "1.6",
6914
+ fontFamily: "var(--bw-font-family)",
6915
+ padding: "0px 20px",
6916
+ }, children: [jsx("style", { dangerouslySetInnerHTML: {
6917
+ __html: `
6918
+ .bw-markdown-content p {
6919
+ margin: 0 0 12px 0 !important;
6920
+ color: var(--bw-text-muted) !important;
6921
+ font-family: var(--bw-font-family) !important;
6922
+ line-height: 1.6 !important;
6923
+ }
6924
+ .bw-markdown-content p:last-child {
6925
+ margin-bottom: 0 !important;
6926
+ }
6927
+ .bw-markdown-content h2 {
6928
+ font-size: 20px !important;
6929
+ font-weight: 700 !important;
6930
+ color: var(--bw-text-color) !important;
6931
+ margin: 20px 0 8px 0 !important;
6932
+ line-height: 1.3 !important;
6933
+ display: block !important;
6934
+ }
6935
+ .bw-markdown-content h3 {
6936
+ font-size: 18px !important;
6937
+ font-weight: 600 !important;
6938
+ color: var(--bw-text-color) !important;
6939
+ margin: 16px 0 8px 0 !important;
6940
+ line-height: 1.3 !important;
6941
+ display: block !important;
6942
+ }
6943
+ .bw-markdown-content strong {
6944
+ font-weight: 700 !important;
6945
+ color: var(--bw-text-color) !important;
6946
+ }
6947
+ .bw-markdown-content em {
6948
+ font-style: italic !important;
6949
+ }
6950
+ .bw-markdown-content u {
6951
+ text-decoration: underline !important;
6952
+ }
6953
+ .bw-markdown-content ul {
6954
+ margin: 12px 0 !important;
6955
+ padding-left: 24px !important;
6956
+ list-style-type: disc !important;
6957
+ display: block !important;
6958
+ }
6959
+ .bw-markdown-content ol {
6960
+ margin: 12px 0 !important;
6961
+ padding-left: 24px !important;
6962
+ list-style-type: decimal !important;
6963
+ display: block !important;
6964
+ }
6965
+ .bw-markdown-content li {
6966
+ margin-bottom: 4px !important;
6967
+ display: list-item !important;
6968
+ color: var(--bw-text-muted) !important;
6969
+ font-family: var(--bw-font-family) !important;
6970
+ line-height: 1.6 !important;
6971
+ }
6972
+ .bw-markdown-content blockquote {
6973
+ margin: 12px 0 !important;
6974
+ padding-left: 16px !important;
6975
+ border-left: 3px solid var(--bw-border-color) !important;
6976
+ font-style: italic !important;
6977
+ color: var(--bw-text-muted) !important;
6978
+ display: block !important;
6979
+ }
6980
+ .bw-markdown-content a {
6981
+ color: var(--bw-highlight-color) !important;
6982
+ text-decoration: underline !important;
6983
+ }
6984
+ .bw-markdown-content a:hover {
6985
+ text-decoration: none !important;
6986
+ }
6987
+ `,
6988
+ } }), jsx("div", { className: "bw-markdown-content", children: Markdown({ children: preprocessMarkdown$1(eventType.description) }) })] })), jsxs("div", { style: {
6989
+ display: "flex",
6990
+ justifyContent: "space-between",
6991
+ alignItems: "center",
6992
+ marginTop: "32px",
6993
+ padding: "20px",
6994
+ backgroundColor: "var(--bw-background-color)",
6995
+ borderRadius: "var(--bw-border-radius)",
6996
+ border: `1px solid var(--bw-border-color)`,
6997
+ }, children: [jsxs("div", { children: [jsx("div", { className: "bw-event-type-price", style: {
6998
+ fontWeight: "700",
6999
+ color: "var(--bw-text-color)",
7000
+ fontFamily: "var(--bw-font-family)",
7001
+ textAlign: "left",
7002
+ }, children: eventType.groupedDurations && jsx("span", { children: eventType.groupedDurations }) }), jsx("div", { className: "bw-event-type-price", style: {
7003
+ fontSize: "clamp(1.72rem, 4vw, 32px)",
7004
+ fontWeight: "700",
7005
+ color: "var(--bw-text-color)",
7006
+ fontFamily: "var(--bw-font-family)",
7007
+ textAlign: "right",
7008
+ }, children: jsxs("span", { children: ["ab ", formatCurrency(eventType.minPrice)] }) })] }), isAvailable && (jsxs("button", { onClick: handleBookingClick, style: {
7009
+ backgroundColor: "var(--bw-highlight-color)",
7010
+ color: "white",
7011
+ padding: "14px 28px",
7012
+ border: "none",
7013
+ borderRadius: "var(--bw-border-radius)",
7014
+ fontSize: "16px",
7015
+ fontWeight: "600",
7016
+ fontFamily: "var(--bw-font-family)",
7023
7017
  display: "flex",
7024
7018
  alignItems: "center",
7025
- justifyContent: "center",
7026
- borderRadius: "var(--bw-border-radius)",
7027
- }, children: jsx("div", { style: {
7028
- backgroundColor: "rgba(255, 255, 255, 0.9)",
7029
- padding: "16px 32px",
7030
- borderRadius: "var(--bw-border-radius)",
7031
- color: "var(--bw-text-color)",
7032
- fontWeight: "600",
7033
- fontSize: "18px",
7034
- fontFamily: "var(--bw-font-family)",
7035
- boxShadow: "var(--bw-shadow-md)",
7036
- }, children: "Ausgebucht" }) }))] }) }) }) }));
7019
+ gap: "8px",
7020
+ cursor: "pointer",
7021
+ transition: "all 0.2s ease",
7022
+ }, onMouseEnter: (e) => {
7023
+ e.currentTarget.style.opacity = "0.9";
7024
+ e.currentTarget.style.transform = "translateY(-1px)";
7025
+ }, onMouseLeave: (e) => {
7026
+ e.currentTarget.style.opacity = "1";
7027
+ e.currentTarget.style.transform = "translateY(0)";
7028
+ }, children: [jsx(IconWave$1, { size: 20, color: "white" }), "Jetzt buchen"] }))] }), !isAvailable && (jsx("div", { style: {
7029
+ position: "absolute",
7030
+ inset: 0,
7031
+ backgroundColor: "rgba(0, 0, 0, 0.3)",
7032
+ backdropFilter: "blur(2px)",
7033
+ display: "flex",
7034
+ alignItems: "center",
7035
+ justifyContent: "center",
7036
+ borderRadius: "var(--bw-border-radius)",
7037
+ }, children: jsx("div", { style: {
7038
+ backgroundColor: "rgba(255, 255, 255, 0.9)",
7039
+ padding: "16px 32px",
7040
+ borderRadius: "var(--bw-border-radius)",
7041
+ color: "var(--bw-text-color)",
7042
+ fontWeight: "600",
7043
+ fontSize: "18px",
7044
+ fontFamily: "var(--bw-font-family)",
7045
+ boxShadow: "var(--bw-shadow-md)",
7046
+ }, children: "Ausgebucht" }) }))] }) }));
7037
7047
  }
7038
7048
 
7039
7049
  // Carousel navigation icons
@@ -7085,7 +7095,7 @@ const ImageCarousel = ({ images, eventName }) => {
7085
7095
  if (images.length === 0) {
7086
7096
  return jsx(EventImagePlaceholder, {});
7087
7097
  }
7088
- return (jsxs("div", { style: { position: "relative", width: "100%", height: "100%", overflow: "hidden" }, children: [jsx("div", { style: {
7098
+ return (jsxs("div", { style: { position: "relative", width: "100%", height: "100%", overflow: "hidden", borderRadius: "inherit" }, children: [jsx("div", { style: {
7089
7099
  display: "flex",
7090
7100
  width: `${images.length * 100}%`,
7091
7101
  height: "100%",
@@ -7097,6 +7107,7 @@ const ImageCarousel = ({ images, eventName }) => {
7097
7107
  flexShrink: 0,
7098
7108
  overflow: "hidden",
7099
7109
  position: "relative",
7110
+ borderRadius: "inherit"
7100
7111
  }, children: jsx("img", { src: image, alt: `${eventName} - Bild ${index + 1}`, style: {
7101
7112
  width: "100%",
7102
7113
  height: "100%",
@@ -7105,6 +7116,7 @@ const ImageCarousel = ({ images, eventName }) => {
7105
7116
  position: "absolute",
7106
7117
  top: 0,
7107
7118
  left: 0,
7119
+ borderRadius: "inherit"
7108
7120
  } }) }, index))) }), images.length > 1 && (jsxs(Fragment, { children: [jsx("button", { onClick: prevImage, disabled: isTransitioning, style: {
7109
7121
  position: "absolute",
7110
7122
  left: "12px",
@@ -7581,6 +7593,7 @@ function EventTypeSelection({ eventTypes, onEventTypeSelect, isLoading = false,
7581
7593
  backgroundColor: "var(--bw-surface-color)",
7582
7594
  border: `1px solid var(--bw-border-color)`,
7583
7595
  borderRadius: "var(--bw-border-radius)",
7596
+ overflow: "hidden",
7584
7597
  transition: "all 0.3s ease",
7585
7598
  cursor: isAvailable ? "pointer" : "not-allowed",
7586
7599
  opacity: isAvailable ? 1 : 0.6,
@@ -9549,6 +9562,7 @@ function Sidebar({ isOpen, onClose, title, children, width = "400px" }) {
9549
9562
  position: "absolute",
9550
9563
  inset: 0,
9551
9564
  backgroundColor: "rgba(0, 0, 0, 0.5)",
9565
+ backdropFilter: "blur(10px)",
9552
9566
  opacity: isAnimating ? 1 : 0,
9553
9567
  transition: "opacity 0.25s ease-out",
9554
9568
  }, onClick: onClose }), jsxs("div", { style: {
@@ -9895,11 +9909,11 @@ function BookingForm({ config, eventDetails, stripePromise, onSuccess, onError,
9895
9909
  display: "flex",
9896
9910
  alignItems: "center",
9897
9911
  gap: "4px",
9898
- }, children: [jsx(IconMoney, { size: 20, color: "var(--bw-highlight-color)" }), " Preis:"] }), jsxs("span", { style: {
9912
+ }, children: [jsx(IconCalendar, { size: 20, color: "var(--bw-highlight-color)" }), " Uhrzeit:"] }), jsx("span", { style: {
9899
9913
  color: "var(--bw-text-color)",
9900
9914
  fontWeight: "500",
9901
9915
  fontFamily: "var(--bw-font-family)",
9902
- }, children: [formatCurrency(eventDetails.price), " pro Person"] })] }), jsxs("div", { style: { display: "flex", alignItems: "center", justifyContent: "space-between" }, children: [jsxs("span", { style: {
9916
+ }, children: formatTime(eventDetails.startTime, "Europe/Berlin", "de") })] }), jsxs("div", { style: { display: "flex", alignItems: "center", justifyContent: "space-between" }, children: [jsxs("span", { style: {
9903
9917
  color: "var(--bw-text-muted)",
9904
9918
  fontFamily: "var(--bw-font-family)",
9905
9919
  display: "flex",
@@ -9909,7 +9923,17 @@ function BookingForm({ config, eventDetails, stripePromise, onSuccess, onError,
9909
9923
  color: "var(--bw-text-color)",
9910
9924
  fontWeight: "500",
9911
9925
  fontFamily: "var(--bw-font-family)",
9912
- }, children: [eventDetails.durationDays, " Tag", eventDetails.durationDays > 1 ? "e" : ""] })] })] })] }), jsxs("div", { style: { display: "flex", flexDirection: "column", gap: "var(--bw-spacing-large)" }, children: [jsxs("form", { style: { display: "flex", flexDirection: "column", gap: "var(--bw-spacing-large)" }, children: [jsxs("div", { style: {
9926
+ }, children: [eventDetails.durationDays, " Tag", eventDetails.durationDays > 1 ? "e" : ""] })] }), jsxs("div", { style: { display: "flex", alignItems: "center", justifyContent: "space-between" }, children: [jsxs("span", { style: {
9927
+ color: "var(--bw-text-muted)",
9928
+ fontFamily: "var(--bw-font-family)",
9929
+ display: "flex",
9930
+ alignItems: "center",
9931
+ gap: "4px",
9932
+ }, children: [jsx(IconMoney, { size: 20, color: "var(--bw-highlight-color)" }), " Preis:"] }), jsxs("span", { style: {
9933
+ color: "var(--bw-text-color)",
9934
+ fontWeight: "500",
9935
+ fontFamily: "var(--bw-font-family)",
9936
+ }, children: [formatCurrency(eventDetails.price), " pro Person"] })] })] })] }), jsxs("div", { style: { display: "flex", flexDirection: "column", gap: "var(--bw-spacing-large)" }, children: [jsxs("form", { style: { display: "flex", flexDirection: "column", gap: "var(--bw-spacing-large)" }, children: [jsxs("div", { style: {
9913
9937
  backgroundColor: "var(--bw-surface-color)",
9914
9938
  border: `1px solid var(--bw-border-color)`,
9915
9939
  backdropFilter: "blur(4px)",
@@ -10066,9 +10090,10 @@ function BookingForm({ config, eventDetails, stripePromise, onSuccess, onError,
10066
10090
  height: "20px",
10067
10091
  border: "1px solid var(--bw-border-color)",
10068
10092
  accentColor: "var(--bw-highlight-color)",
10069
- backgroundColor: form.getValues("acceptTerms") === true
10070
- ? "var(--bw-highlight-color)"
10071
- : "var(--bw-surface-color)",
10093
+ cursor: "pointer",
10094
+ appearance: "checkbox",
10095
+ WebkitAppearance: "checkbox",
10096
+ MozAppearance: "checkbox",
10072
10097
  } }), jsxs("label", { htmlFor: "acceptTerms", style: {
10073
10098
  fontSize: "var(--bw-font-size)",
10074
10099
  color: "var(--bw-text-muted)",
@@ -10078,7 +10103,7 @@ function BookingForm({ config, eventDetails, stripePromise, onSuccess, onError,
10078
10103
  }, children: ["Ich akzeptiere die", " ", jsx("a", { href: eventDetails.agbUrl || "/terms", style: {
10079
10104
  color: "var(--bw-highlight-color)",
10080
10105
  textDecoration: "none",
10081
- }, target: "_blank", rel: "noopener noreferrer", children: "Allgemeinen Gesch\u00E4ftsbedingungen" }), "*"] })] }), form.formState.errors.acceptTerms && (jsx("p", { style: {
10106
+ }, target: "_blank", rel: "noopener noreferrer", children: "AGBs" }), "*"] })] }), form.formState.errors.acceptTerms && (jsx("p", { style: {
10082
10107
  color: "var(--bw-error-color)",
10083
10108
  fontSize: "var(--bw-font-size)",
10084
10109
  marginTop: "8px",
@@ -10231,6 +10256,164 @@ function BookingForm({ config, eventDetails, stripePromise, onSuccess, onError,
10231
10256
  ` })] }) }));
10232
10257
  }
10233
10258
 
10259
+ const BookingSuccessModal = ({ isOpen, onClose, bookingData, eventDetails, formData, config, }) => {
10260
+ if (!isOpen || !bookingData)
10261
+ return null;
10262
+ const booking = bookingData.booking;
10263
+ return (jsx(DialogWrapper, { isOpen: isOpen, onClose: onClose, maxWidth: "700px", children: jsxs("div", { style: { padding: "var(--bw-spacing-large)" }, children: [jsxs("div", { style: {
10264
+ textAlign: "center",
10265
+ marginBottom: "var(--bw-spacing-large)",
10266
+ }, children: [jsx("div", { style: {
10267
+ width: "64px",
10268
+ height: "64px",
10269
+ backgroundColor: "var(--bw-success-color, #10B981)",
10270
+ borderRadius: "50%",
10271
+ margin: "0 auto var(--bw-spacing)",
10272
+ display: "flex",
10273
+ alignItems: "center",
10274
+ justifyContent: "center",
10275
+ fontSize: "32px",
10276
+ color: "white",
10277
+ }, children: "\u2713" }), jsx("h2", { style: {
10278
+ fontSize: "var(--bw-font-size-xl)",
10279
+ fontWeight: "700",
10280
+ color: "var(--bw-text-color)",
10281
+ margin: "0 0 var(--bw-spacing-small) 0",
10282
+ fontFamily: "var(--bw-font-family)",
10283
+ }, children: "Buchung erfolgreich!" }), jsx("p", { style: {
10284
+ color: "var(--bw-text-muted)",
10285
+ fontFamily: "var(--bw-font-family)",
10286
+ margin: 0,
10287
+ }, children: "Deine Buchung wurde erfolgreich abgeschlossen." })] }), jsxs("div", { style: {
10288
+ backgroundColor: "var(--bw-surface-color)",
10289
+ border: `1px solid var(--bw-border-color)`,
10290
+ borderRadius: "var(--bw-border-radius)",
10291
+ padding: "var(--bw-spacing)",
10292
+ marginBottom: "var(--bw-spacing-large)",
10293
+ }, children: [jsx("h3", { style: {
10294
+ fontSize: "var(--bw-font-size-large)",
10295
+ fontWeight: "600",
10296
+ color: "var(--bw-text-color)",
10297
+ margin: "0 0 var(--bw-spacing) 0",
10298
+ fontFamily: "var(--bw-font-family)",
10299
+ }, children: "Buchungsdetails" }), jsxs("div", { style: { display: "flex", flexDirection: "column", gap: "var(--bw-spacing)" }, children: [booking.bookingHash && (jsxs("div", { style: { display: "flex", justifyContent: "space-between", alignItems: "center" }, children: [jsx("span", { style: { color: "var(--bw-text-muted)", fontFamily: "var(--bw-font-family)" }, children: "Buchungs-ID:" }), jsx("span", { style: {
10300
+ color: "var(--bw-text-color)",
10301
+ fontWeight: "500",
10302
+ fontFamily: "monospace",
10303
+ fontSize: "var(--bw-font-size-small)",
10304
+ backgroundColor: "var(--bw-background-color)",
10305
+ padding: "4px 8px",
10306
+ borderRadius: "var(--bw-border-radius-small)",
10307
+ }, children: booking.bookingHash })] })), jsxs("div", { style: { display: "flex", justifyContent: "space-between", alignItems: "center" }, children: [jsx("span", { style: { color: "var(--bw-text-muted)", fontFamily: "var(--bw-font-family)" }, children: "Event:" }), jsx("span", { style: {
10308
+ color: "var(--bw-text-color)",
10309
+ fontWeight: "500",
10310
+ fontFamily: "var(--bw-font-family)",
10311
+ textAlign: "right",
10312
+ maxWidth: "60%",
10313
+ }, children: eventDetails.name })] }), jsxs("div", { style: { display: "flex", justifyContent: "space-between", alignItems: "center" }, children: [jsx("span", { style: { color: "var(--bw-text-muted)", fontFamily: "var(--bw-font-family)" }, children: "Datum:" }), jsx("span", { style: {
10314
+ color: "var(--bw-text-color)",
10315
+ fontWeight: "500",
10316
+ fontFamily: "var(--bw-font-family)",
10317
+ textAlign: "right",
10318
+ maxWidth: "60%",
10319
+ }, children: formatEventDate(eventDetails.startTime) })] }), jsxs("div", { style: { display: "flex", justifyContent: "space-between", alignItems: "center" }, children: [jsx("span", { style: { color: "var(--bw-text-muted)", fontFamily: "var(--bw-font-family)" }, children: "Uhrzeit:" }), jsx("span", { style: {
10320
+ color: "var(--bw-text-color)",
10321
+ fontWeight: "500",
10322
+ fontFamily: "var(--bw-font-family)",
10323
+ textAlign: "right",
10324
+ maxWidth: "60%",
10325
+ }, children: formatTime(eventDetails.startTime, "Europe/Berlin", "de") })] }), jsxs("div", { style: { display: "flex", justifyContent: "space-between", alignItems: "center" }, children: [jsx("span", { style: { color: "var(--bw-text-muted)", fontFamily: "var(--bw-font-family)" }, children: "Teilnehmer:" }), jsx("span", { style: {
10326
+ color: "var(--bw-text-color)",
10327
+ fontWeight: "500",
10328
+ fontFamily: "var(--bw-font-family)",
10329
+ }, children: booking.participantCount })] }), jsxs("div", { style: {
10330
+ display: "flex",
10331
+ justifyContent: "space-between",
10332
+ alignItems: "center",
10333
+ borderTop: `1px solid var(--bw-border-color)`,
10334
+ paddingTop: "var(--bw-spacing)",
10335
+ marginTop: "var(--bw-spacing)",
10336
+ }, children: [jsx("span", { style: {
10337
+ color: "var(--bw-text-color)",
10338
+ fontWeight: "600",
10339
+ fontFamily: "var(--bw-font-family)",
10340
+ }, children: "Gesamtbetrag:" }), jsx("span", { style: {
10341
+ color: "var(--bw-text-color)",
10342
+ fontWeight: "600",
10343
+ fontSize: "var(--bw-font-size-large)",
10344
+ fontFamily: "var(--bw-font-family)",
10345
+ }, children: formatCurrency(booking.total) })] })] })] }), formData.participants && formData.participants.length > 0 && (jsxs("div", { style: {
10346
+ border: `1px solid var(--bw-border-color)`,
10347
+ borderRadius: "var(--bw-border-radius)",
10348
+ padding: "var(--bw-spacing)",
10349
+ marginBottom: "var(--bw-spacing-large)",
10350
+ }, children: [jsx("h3", { style: {
10351
+ fontSize: "var(--bw-font-size-large)",
10352
+ fontWeight: "600",
10353
+ color: "var(--bw-text-color)",
10354
+ margin: "0 0 var(--bw-spacing) 0",
10355
+ fontFamily: "var(--bw-font-family)",
10356
+ }, children: "Teilnehmer" }), jsx("div", { style: { display: "flex", flexDirection: "column", gap: "var(--bw-spacing-small)" }, children: formData.participants
10357
+ .filter((p) => p.name.trim())
10358
+ .map((participant, index) => (jsxs("div", { style: {
10359
+ display: "flex",
10360
+ justifyContent: "space-between",
10361
+ alignItems: "center",
10362
+ padding: "var(--bw-spacing-small)",
10363
+ borderRadius: "var(--bw-border-radius-small)",
10364
+ }, children: [jsx("span", { style: {
10365
+ color: "var(--bw-text-color)",
10366
+ fontFamily: "var(--bw-font-family)",
10367
+ }, children: participant.name }), participant.age && (jsxs("span", { style: {
10368
+ color: "var(--bw-text-muted)",
10369
+ fontSize: "var(--bw-font-size-small)",
10370
+ fontFamily: "var(--bw-font-family)",
10371
+ }, children: [participant.age, " Jahre"] }))] }, index))) })] })), jsxs("div", { style: {
10372
+ backgroundColor: "var(--bw-surface-color)",
10373
+ border: `1px solid var(--bw-border-color)`,
10374
+ borderRadius: "var(--bw-border-radius)",
10375
+ padding: "var(--bw-spacing)",
10376
+ marginBottom: "var(--bw-spacing-large)",
10377
+ }, children: [jsx("h3", { style: {
10378
+ fontSize: "var(--bw-font-size-large)",
10379
+ fontWeight: "600",
10380
+ color: "var(--bw-text-color)",
10381
+ margin: "0 0 var(--bw-spacing) 0",
10382
+ fontFamily: "var(--bw-font-family)",
10383
+ }, children: "Kontaktdaten" }), jsxs("div", { style: { display: "flex", flexDirection: "column", gap: "var(--bw-spacing-small)" }, children: [jsxs("div", { style: { display: "flex", justifyContent: "space-between", alignItems: "center" }, children: [jsx("span", { style: { color: "var(--bw-text-muted)", fontFamily: "var(--bw-font-family)" }, children: "Name:" }), jsx("span", { style: { color: "var(--bw-text-color)", fontFamily: "var(--bw-font-family)" }, children: formData.customerName })] }), jsxs("div", { style: { display: "flex", justifyContent: "space-between", alignItems: "center" }, children: [jsx("span", { style: { color: "var(--bw-text-muted)", fontFamily: "var(--bw-font-family)" }, children: "E-Mail:" }), jsx("span", { style: { color: "var(--bw-text-color)", fontFamily: "var(--bw-font-family)" }, children: formData.customerEmail })] }), formData.customerPhone && (jsxs("div", { style: { display: "flex", justifyContent: "space-between", alignItems: "center" }, children: [jsx("span", { style: { color: "var(--bw-text-muted)", fontFamily: "var(--bw-font-family)" }, children: "Telefon:" }), jsx("span", { style: { color: "var(--bw-text-color)", fontFamily: "var(--bw-font-family)" }, children: formData.customerPhone })] }))] })] }), jsxs("div", { style: {
10384
+ backgroundColor: "var(--bw-surface-muted-bg, rgba(59, 130, 246, 0.05))",
10385
+ border: `1px solid var(--bw-border-color)`,
10386
+ borderRadius: "var(--bw-border-radius)",
10387
+ padding: "var(--bw-spacing)",
10388
+ marginBottom: "var(--bw-spacing-large)",
10389
+ textAlign: "center",
10390
+ }, children: [jsx("div", { style: {
10391
+ color: "var(--bw-highlight-color)",
10392
+ fontSize: "24px",
10393
+ marginBottom: "var(--bw-spacing-small)",
10394
+ }, children: "\uD83D\uDCE7" }), jsxs("p", { style: {
10395
+ color: "var(--bw-text-muted)",
10396
+ margin: 0,
10397
+ fontFamily: "var(--bw-font-family)",
10398
+ fontSize: "var(--bw-font-size-small)",
10399
+ }, children: ["Eine Best\u00E4tigungs-E-Mail wird in K\u00FCrze an ", formData.customerEmail, " gesendet."] })] }), jsx("div", { style: { textAlign: "center" }, children: jsx("button", { onClick: onClose, style: {
10400
+ backgroundColor: "var(--bw-highlight-color)",
10401
+ color: "white",
10402
+ padding: "12px 32px",
10403
+ border: "none",
10404
+ borderRadius: "var(--bw-border-radius)",
10405
+ fontSize: "var(--bw-font-size)",
10406
+ fontWeight: "600",
10407
+ cursor: "pointer",
10408
+ fontFamily: "var(--bw-font-family)",
10409
+ transition: "all 0.2s ease",
10410
+ }, onMouseEnter: (e) => {
10411
+ e.currentTarget.style.opacity = "0.9";
10412
+ }, onMouseLeave: (e) => {
10413
+ e.currentTarget.style.opacity = "1";
10414
+ }, children: "Schlie\u00DFen" }) })] }) }));
10415
+ };
10416
+
10234
10417
  const months = [
10235
10418
  "Januar",
10236
10419
  "Februar",
@@ -11308,198 +11491,6 @@ function NextEventsPreview({ events, onEventSelect, onShowAll, showAllButtonText
11308
11491
  }
11309
11492
 
11310
11493
  // Predefined themes & Style Provider have been moved to ../styles/StyleProvider.tsx
11311
- // Success Modal Component
11312
- const BookingSuccessModal = ({ isOpen, onClose, bookingData, eventDetails, formData, config, }) => {
11313
- if (!isOpen || !bookingData)
11314
- return null;
11315
- const booking = bookingData.booking;
11316
- return (jsx("div", { style: {
11317
- position: "fixed",
11318
- top: 0,
11319
- left: 0,
11320
- right: 0,
11321
- bottom: 0,
11322
- backgroundColor: "rgba(0, 0, 0, 0.5)",
11323
- zIndex: 10000,
11324
- display: "flex",
11325
- alignItems: "center",
11326
- justifyContent: "center",
11327
- padding: "var(--bw-spacing)",
11328
- }, children: jsxs("div", { style: {
11329
- backgroundColor: "var(--bw-background-color)",
11330
- borderRadius: "var(--bw-border-radius)",
11331
- padding: "var(--bw-spacing-large)",
11332
- maxWidth: "500px",
11333
- width: "100%",
11334
- maxHeight: "90vh",
11335
- overflow: "auto",
11336
- position: "relative",
11337
- border: `1px solid var(--bw-border-color)`,
11338
- boxShadow: "0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)",
11339
- }, children: [jsx("button", { onClick: onClose, style: {
11340
- position: "absolute",
11341
- top: "var(--bw-spacing)",
11342
- right: "var(--bw-spacing)",
11343
- background: "none",
11344
- border: "none",
11345
- fontSize: "24px",
11346
- cursor: "pointer",
11347
- color: "var(--bw-text-muted)",
11348
- width: "32px",
11349
- height: "32px",
11350
- display: "flex",
11351
- alignItems: "center",
11352
- justifyContent: "center",
11353
- borderRadius: "var(--bw-border-radius-small)",
11354
- }, children: "\u00D7" }), jsxs("div", { style: {
11355
- textAlign: "center",
11356
- marginBottom: "var(--bw-spacing-large)",
11357
- }, children: [jsx("div", { style: {
11358
- width: "64px",
11359
- height: "64px",
11360
- backgroundColor: "var(--bw-success-color, #10B981)",
11361
- borderRadius: "50%",
11362
- margin: "0 auto var(--bw-spacing)",
11363
- display: "flex",
11364
- alignItems: "center",
11365
- justifyContent: "center",
11366
- fontSize: "32px",
11367
- color: "white",
11368
- }, children: "\u2713" }), jsx("h2", { style: {
11369
- fontSize: "var(--bw-font-size-xl)",
11370
- fontWeight: "700",
11371
- color: "var(--bw-text-color)",
11372
- margin: "0 0 var(--bw-spacing-small) 0",
11373
- fontFamily: "var(--bw-font-family)",
11374
- }, children: "Buchung erfolgreich!" }), jsx("p", { style: {
11375
- color: "var(--bw-text-muted)",
11376
- fontFamily: "var(--bw-font-family)",
11377
- margin: 0,
11378
- }, children: "Deine Buchung wurde erfolgreich abgeschlossen." })] }), jsxs("div", { style: {
11379
- backgroundColor: "var(--bw-surface-color)",
11380
- border: `1px solid var(--bw-border-color)`,
11381
- borderRadius: "var(--bw-border-radius)",
11382
- padding: "var(--bw-spacing)",
11383
- marginBottom: "var(--bw-spacing-large)",
11384
- }, children: [jsx("h3", { style: {
11385
- fontSize: "var(--bw-font-size-large)",
11386
- fontWeight: "600",
11387
- color: "var(--bw-text-color)",
11388
- margin: "0 0 var(--bw-spacing) 0",
11389
- fontFamily: "var(--bw-font-family)",
11390
- }, children: "Buchungsdetails" }), jsxs("div", { style: { display: "flex", flexDirection: "column", gap: "var(--bw-spacing)" }, children: [booking.bookingHash && (jsxs("div", { style: { display: "flex", justifyContent: "space-between", alignItems: "center" }, children: [jsx("span", { style: { color: "var(--bw-text-muted)", fontFamily: "var(--bw-font-family)" }, children: "Buchungs-ID:" }), jsx("span", { style: {
11391
- color: "var(--bw-text-color)",
11392
- fontWeight: "500",
11393
- fontFamily: "monospace",
11394
- fontSize: "var(--bw-font-size-small)",
11395
- backgroundColor: "var(--bw-background-color)",
11396
- padding: "4px 8px",
11397
- borderRadius: "var(--bw-border-radius-small)",
11398
- }, children: booking.bookingHash })] })), jsxs("div", { style: { display: "flex", justifyContent: "space-between", alignItems: "center" }, children: [jsx("span", { style: { color: "var(--bw-text-muted)", fontFamily: "var(--bw-font-family)" }, children: "Event:" }), jsx("span", { style: {
11399
- color: "var(--bw-text-color)",
11400
- fontWeight: "500",
11401
- fontFamily: "var(--bw-font-family)",
11402
- textAlign: "right",
11403
- maxWidth: "60%",
11404
- }, children: eventDetails.name })] }), jsxs("div", { style: { display: "flex", justifyContent: "space-between", alignItems: "center" }, children: [jsx("span", { style: { color: "var(--bw-text-muted)", fontFamily: "var(--bw-font-family)" }, children: "Datum:" }), jsx("span", { style: {
11405
- color: "var(--bw-text-color)",
11406
- fontWeight: "500",
11407
- fontFamily: "var(--bw-font-family)",
11408
- textAlign: "right",
11409
- maxWidth: "60%",
11410
- }, children: formatDate(eventDetails.startTime) })] }), jsxs("div", { style: { display: "flex", justifyContent: "space-between", alignItems: "center" }, children: [jsx("span", { style: { color: "var(--bw-text-muted)", fontFamily: "var(--bw-font-family)" }, children: "Teilnehmer:" }), jsx("span", { style: {
11411
- color: "var(--bw-text-color)",
11412
- fontWeight: "500",
11413
- fontFamily: "var(--bw-font-family)",
11414
- }, children: booking.participantCount })] }), jsxs("div", { style: {
11415
- display: "flex",
11416
- justifyContent: "space-between",
11417
- alignItems: "center",
11418
- borderTop: `1px solid var(--bw-border-color)`,
11419
- paddingTop: "var(--bw-spacing)",
11420
- marginTop: "var(--bw-spacing)",
11421
- }, children: [jsx("span", { style: {
11422
- color: "var(--bw-text-color)",
11423
- fontWeight: "600",
11424
- fontFamily: "var(--bw-font-family)",
11425
- }, children: "Gesamtbetrag:" }), jsx("span", { style: {
11426
- color: "var(--bw-text-color)",
11427
- fontWeight: "600",
11428
- fontSize: "var(--bw-font-size-large)",
11429
- fontFamily: "var(--bw-font-family)",
11430
- }, children: formatCurrency(booking.total) })] })] })] }), formData.participants && formData.participants.length > 0 && (jsxs("div", { style: {
11431
- backgroundColor: "var(--bw-surface-color)",
11432
- border: `1px solid var(--bw-border-color)`,
11433
- borderRadius: "var(--bw-border-radius)",
11434
- padding: "var(--bw-spacing)",
11435
- marginBottom: "var(--bw-spacing-large)",
11436
- }, children: [jsx("h3", { style: {
11437
- fontSize: "var(--bw-font-size-large)",
11438
- fontWeight: "600",
11439
- color: "var(--bw-text-color)",
11440
- margin: "0 0 var(--bw-spacing) 0",
11441
- fontFamily: "var(--bw-font-family)",
11442
- }, children: "Teilnehmer" }), jsx("div", { style: { display: "flex", flexDirection: "column", gap: "var(--bw-spacing-small)" }, children: formData.participants
11443
- .filter((p) => p.name.trim())
11444
- .map((participant, index) => (jsxs("div", { style: {
11445
- display: "flex",
11446
- justifyContent: "space-between",
11447
- alignItems: "center",
11448
- padding: "var(--bw-spacing-small)",
11449
- backgroundColor: "var(--bw-background-color)",
11450
- borderRadius: "var(--bw-border-radius-small)",
11451
- }, children: [jsx("span", { style: {
11452
- color: "var(--bw-text-color)",
11453
- fontFamily: "var(--bw-font-family)",
11454
- }, children: participant.name }), participant.age && (jsxs("span", { style: {
11455
- color: "var(--bw-text-muted)",
11456
- fontSize: "var(--bw-font-size-small)",
11457
- fontFamily: "var(--bw-font-family)",
11458
- }, children: [participant.age, " Jahre"] }))] }, index))) })] })), jsxs("div", { style: {
11459
- backgroundColor: "var(--bw-surface-color)",
11460
- border: `1px solid var(--bw-border-color)`,
11461
- borderRadius: "var(--bw-border-radius)",
11462
- padding: "var(--bw-spacing)",
11463
- marginBottom: "var(--bw-spacing-large)",
11464
- }, children: [jsx("h3", { style: {
11465
- fontSize: "var(--bw-font-size-large)",
11466
- fontWeight: "600",
11467
- color: "var(--bw-text-color)",
11468
- margin: "0 0 var(--bw-spacing) 0",
11469
- fontFamily: "var(--bw-font-family)",
11470
- }, children: "Kontaktdaten" }), jsxs("div", { style: { display: "flex", flexDirection: "column", gap: "var(--bw-spacing-small)" }, children: [jsxs("div", { style: { display: "flex", justifyContent: "space-between", alignItems: "center" }, children: [jsx("span", { style: { color: "var(--bw-text-muted)", fontFamily: "var(--bw-font-family)" }, children: "Name:" }), jsx("span", { style: { color: "var(--bw-text-color)", fontFamily: "var(--bw-font-family)" }, children: formData.customerName })] }), jsxs("div", { style: { display: "flex", justifyContent: "space-between", alignItems: "center" }, children: [jsx("span", { style: { color: "var(--bw-text-muted)", fontFamily: "var(--bw-font-family)" }, children: "E-Mail:" }), jsx("span", { style: { color: "var(--bw-text-color)", fontFamily: "var(--bw-font-family)" }, children: formData.customerEmail })] }), formData.customerPhone && (jsxs("div", { style: { display: "flex", justifyContent: "space-between", alignItems: "center" }, children: [jsx("span", { style: { color: "var(--bw-text-muted)", fontFamily: "var(--bw-font-family)" }, children: "Telefon:" }), jsx("span", { style: { color: "var(--bw-text-color)", fontFamily: "var(--bw-font-family)" }, children: formData.customerPhone })] }))] })] }), jsxs("div", { style: {
11471
- backgroundColor: "var(--bw-surface-muted-bg, rgba(59, 130, 246, 0.05))",
11472
- border: `1px solid var(--bw-border-color)`,
11473
- borderRadius: "var(--bw-border-radius)",
11474
- padding: "var(--bw-spacing)",
11475
- marginBottom: "var(--bw-spacing-large)",
11476
- textAlign: "center",
11477
- }, children: [jsx("div", { style: {
11478
- color: "var(--bw-highlight-color)",
11479
- fontSize: "24px",
11480
- marginBottom: "var(--bw-spacing-small)",
11481
- }, children: "\uD83D\uDCE7" }), jsxs("p", { style: {
11482
- color: "var(--bw-text-muted)",
11483
- margin: 0,
11484
- fontFamily: "var(--bw-font-family)",
11485
- fontSize: "var(--bw-font-size-small)",
11486
- }, children: ["Eine Best\u00E4tigungs-E-Mail wird in K\u00FCrze an ", formData.customerEmail, " gesendet."] })] }), jsx("div", { style: { textAlign: "center" }, children: jsx("button", { onClick: onClose, style: {
11487
- backgroundColor: "var(--bw-highlight-color)",
11488
- color: "white",
11489
- padding: "12px 32px",
11490
- border: "none",
11491
- borderRadius: "var(--bw-border-radius)",
11492
- fontSize: "var(--bw-font-size)",
11493
- fontWeight: "600",
11494
- cursor: "pointer",
11495
- fontFamily: "var(--bw-font-family)",
11496
- transition: "all 0.2s ease",
11497
- }, onMouseEnter: (e) => {
11498
- e.currentTarget.style.opacity = "0.9";
11499
- }, onMouseLeave: (e) => {
11500
- e.currentTarget.style.opacity = "1";
11501
- }, children: "Schlie\u00DFen" }) })] }) }));
11502
- };
11503
11494
  // Main widget component
11504
11495
  function UniversalBookingWidget({ config: baseConfig }) {
11505
11496
  // Apply URL parameter inference
@@ -11529,7 +11520,6 @@ function UniversalBookingWidget({ config: baseConfig }) {
11529
11520
  // Booking flow state
11530
11521
  const [eventDetails, setEventDetails] = useState(null);
11531
11522
  const [stripePromise, setStripePromise] = useState(null);
11532
- const [clientSecret, setClientSecret] = useState(null);
11533
11523
  // SEPARATED LOADING STATES
11534
11524
  const [isLoading, setIsLoading] = useState(true); // Only for initial widget load
11535
11525
  const [isLoadingEventInstances, setIsLoadingEventInstances] = useState(false); // For loading event instances in sidebar
@@ -11990,16 +11980,6 @@ function UniversalBookingWidget({ config: baseConfig }) {
11990
11980
  fontFamily: "var(--bw-font-family)",
11991
11981
  }, children: "Falls das Problem weiterhin besteht, kontaktiere bitte den Support." })] }) }) }));
11992
11982
  }
11993
- // Success state
11994
- if (isSuccess) {
11995
- return (jsx(StyleProvider, { config: config, children: jsx(BookingSuccessModal, { isOpen: isSuccess, onClose: () => {
11996
- setIsSuccess(false);
11997
- setCurrentStep("eventTypes");
11998
- // Reset lazy loading flags
11999
- setShouldRenderInstanceSelection(false);
12000
- setShouldRenderBookingForm(false);
12001
- }, bookingData: successData, eventDetails: eventDetails, formData: successData.formData, config: config }) }));
12002
- }
12003
11983
  // Main view based on view mode
12004
11984
  if (viewMode === "next-events" && showingPreview) {
12005
11985
  // Next events preview mode
@@ -12015,17 +11995,31 @@ function UniversalBookingWidget({ config: baseConfig }) {
12015
11995
  setCurrentStep("eventTypes");
12016
11996
  setShowingPreview(true);
12017
11997
  setEventDetails(null);
12018
- }, systemConfig: systemConfig }))] }));
11998
+ }, systemConfig: systemConfig })), jsx(BookingSuccessModal, { isOpen: isSuccess, onClose: () => {
11999
+ setIsSuccess(false);
12000
+ setCurrentStep("eventTypes");
12001
+ setShowingPreview(true);
12002
+ // Reset lazy loading flags
12003
+ setShouldRenderInstanceSelection(false);
12004
+ setShouldRenderBookingForm(false);
12005
+ }, bookingData: successData, eventDetails: eventDetails, formData: successData?.formData, config: config })] }));
12019
12006
  }
12020
12007
  if (viewMode === "next-events" && !showingPreview && currentStep === "eventInstances") {
12021
12008
  // Show all events for the single event type
12022
- return (jsx(StyleProvider, { config: config, children: shouldRenderInstanceSelection && (jsx(EventInstanceSelection, { eventInstances: eventInstances, selectedEventType: selectedEventType, onEventInstanceSelect: handleEventInstanceSelect, onBackToEventTypes: () => {
12023
- setShowingPreview(true);
12024
- setCurrentStep("eventTypes");
12025
- }, isOpen: currentStep === "eventInstances", onClose: () => {
12026
- setShowingPreview(true);
12027
- setCurrentStep("eventTypes");
12028
- }, isLoadingEventInstances: isLoadingEventInstances, isLoadingEventDetails: isLoadingEventDetails })) }));
12009
+ return (jsxs(StyleProvider, { config: config, children: [shouldRenderInstanceSelection && (jsx(EventInstanceSelection, { eventInstances: eventInstances, selectedEventType: selectedEventType, onEventInstanceSelect: handleEventInstanceSelect, onBackToEventTypes: () => {
12010
+ setShowingPreview(true);
12011
+ setCurrentStep("eventTypes");
12012
+ }, isOpen: currentStep === "eventInstances", onClose: () => {
12013
+ setShowingPreview(true);
12014
+ setCurrentStep("eventTypes");
12015
+ }, isLoadingEventInstances: isLoadingEventInstances, isLoadingEventDetails: isLoadingEventDetails })), jsx(BookingSuccessModal, { isOpen: isSuccess, onClose: () => {
12016
+ setIsSuccess(false);
12017
+ setCurrentStep("eventTypes");
12018
+ setShowingPreview(true);
12019
+ // Reset lazy loading flags
12020
+ setShouldRenderInstanceSelection(false);
12021
+ setShouldRenderBookingForm(false);
12022
+ }, bookingData: successData, eventDetails: eventDetails, formData: successData?.formData, config: config })] }));
12029
12023
  }
12030
12024
  if (viewMode === "button" && (isSingleEventTypeMode || isDirectInstanceMode)) {
12031
12025
  // Button mode - show button that opens sidebar/booking directly
@@ -12055,7 +12049,14 @@ function UniversalBookingWidget({ config: baseConfig }) {
12055
12049
  setShouldRenderInstanceSelection(true);
12056
12050
  }
12057
12051
  }, children: config.buttonText ||
12058
- (isDirectInstanceMode ? "Jetzt buchen" : "Jetzt Termin auswählen") }), shouldRenderInstanceSelection && (jsx(EventInstanceSelection, { eventInstances: eventInstances, selectedEventType: selectedEventType, onEventInstanceSelect: handleEventInstanceSelect, onBackToEventTypes: () => setSidebarOpen(false), isOpen: sidebarOpen, onClose: () => setSidebarOpen(false), isLoadingEventInstances: isLoadingEventInstances, isLoadingEventDetails: isLoadingEventDetails })), shouldRenderBookingForm && eventDetails && (jsx(BookingForm, { config: config, eventDetails: eventDetails, stripePromise: stripePromise, onSuccess: handleBookingSuccess, onError: handleBookingError, onBackToEventInstances: () => setCurrentStep(isDirectInstanceMode ? "eventTypes" : "eventInstances"), onBackToEventTypes: () => setSidebarOpen(false), selectedEventType: selectedEventType, selectedEventInstance: selectedEventInstance, isOpen: currentStep === "booking" && !!eventDetails, onClose: () => setCurrentStep(isDirectInstanceMode ? "eventTypes" : "eventInstances"), systemConfig: systemConfig }))] }) }));
12052
+ (isDirectInstanceMode ? "Jetzt buchen" : "Jetzt Termin auswählen") }), shouldRenderInstanceSelection && (jsx(EventInstanceSelection, { eventInstances: eventInstances, selectedEventType: selectedEventType, onEventInstanceSelect: handleEventInstanceSelect, onBackToEventTypes: () => setSidebarOpen(false), isOpen: sidebarOpen, onClose: () => setSidebarOpen(false), isLoadingEventInstances: isLoadingEventInstances, isLoadingEventDetails: isLoadingEventDetails })), shouldRenderBookingForm && eventDetails && (jsx(BookingForm, { config: config, eventDetails: eventDetails, stripePromise: stripePromise, onSuccess: handleBookingSuccess, onError: handleBookingError, onBackToEventInstances: () => setCurrentStep(isDirectInstanceMode ? "eventTypes" : "eventInstances"), onBackToEventTypes: () => setSidebarOpen(false), selectedEventType: selectedEventType, selectedEventInstance: selectedEventInstance, isOpen: currentStep === "booking" && !!eventDetails, onClose: () => setCurrentStep(isDirectInstanceMode ? "eventTypes" : "eventInstances"), systemConfig: systemConfig })), jsx(BookingSuccessModal, { isOpen: isSuccess, onClose: () => {
12053
+ setIsSuccess(false);
12054
+ setCurrentStep("eventTypes");
12055
+ setSidebarOpen(false);
12056
+ // Reset lazy loading flags
12057
+ setShouldRenderInstanceSelection(false);
12058
+ setShouldRenderBookingForm(false);
12059
+ }, bookingData: successData, eventDetails: eventDetails, formData: successData?.formData, config: config })] }) }));
12059
12060
  }
12060
12061
  // Cards mode (default) - show event type selection
12061
12062
  const cardsView = (jsx(EventTypeSelection, { eventTypes: eventTypes, onEventTypeSelect: handleEventTypeSelect, isLoading: isLoading, skeletonCount: getSkeletonCount() }));
@@ -12088,7 +12089,13 @@ function UniversalBookingWidget({ config: baseConfig }) {
12088
12089
  };
12089
12090
  };
12090
12091
  const backHandlers = getBackHandlers();
12091
- return (jsxs(StyleProvider, { config: config, children: [cardsView, shouldRenderInstanceSelection && (jsx(EventInstanceSelection, { eventInstances: eventInstances, selectedEventType: selectedEventType, onEventInstanceSelect: handleEventInstanceSelect, onBackToEventTypes: handleBackToEventTypes, isOpen: currentStep === "eventInstances", onClose: handleBackToEventTypes, isLoadingEventInstances: isLoadingEventInstances, isLoadingEventDetails: isLoadingEventDetails })), shouldRenderBookingForm && eventDetails && (jsx(BookingForm, { config: config, eventDetails: eventDetails, stripePromise: stripePromise, onSuccess: handleBookingSuccess, onError: handleBookingError, onBackToEventInstances: backHandlers.onBackToEventInstances, onBackToEventTypes: backHandlers.onBackToEventTypes, selectedEventType: selectedEventType, selectedEventInstance: selectedEventInstance, isOpen: currentStep === "booking" && !!eventDetails, onClose: backHandlers.onClose, systemConfig: systemConfig }))] }));
12092
+ return (jsxs(StyleProvider, { config: config, children: [cardsView, shouldRenderInstanceSelection && (jsx(EventInstanceSelection, { eventInstances: eventInstances, selectedEventType: selectedEventType, onEventInstanceSelect: handleEventInstanceSelect, onBackToEventTypes: handleBackToEventTypes, isOpen: currentStep === "eventInstances", onClose: handleBackToEventTypes, isLoadingEventInstances: isLoadingEventInstances, isLoadingEventDetails: isLoadingEventDetails })), shouldRenderBookingForm && eventDetails && (jsx(BookingForm, { config: config, eventDetails: eventDetails, stripePromise: stripePromise, onSuccess: handleBookingSuccess, onError: handleBookingError, onBackToEventInstances: backHandlers.onBackToEventInstances, onBackToEventTypes: backHandlers.onBackToEventTypes, selectedEventType: selectedEventType, selectedEventInstance: selectedEventInstance, isOpen: currentStep === "booking" && !!eventDetails, onClose: backHandlers.onClose, systemConfig: systemConfig })), jsx(BookingSuccessModal, { isOpen: isSuccess, onClose: () => {
12093
+ setIsSuccess(false);
12094
+ setCurrentStep("eventTypes");
12095
+ // Reset lazy loading flags
12096
+ setShouldRenderInstanceSelection(false);
12097
+ setShouldRenderBookingForm(false);
12098
+ }, bookingData: successData, eventDetails: eventDetails, formData: successData?.formData, config: config })] }));
12092
12099
  }
12093
12100
 
12094
12101
  // Export init function for vanilla JS usage