@hachther/akilio-widget 0.6.5 → 0.6.6

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.
@@ -33,6 +33,6 @@ https://github.com/highlightjs/highlight.js/issues/2277`),C=A,ve=K),ge===void 0&
33
33
  `))+1))}const o="#".repeat(i),s=n.enter("headingAtx"),l=n.enter("phrasing");a.move(o+" ");let c=n.containerPhrasing(e,{before:"# ",after:`
34
34
  `,...a.current()});return/^[\t ]/.test(c)&&(c=Sn(c.charCodeAt(0))+c.slice(1)),c=c?o+" "+c:o,n.options.closeAtx&&(c+=" "+o),l(),s(),c}Ta.peek=Ng;function Ta(e){return e.value||""}function Ng(){return"<"}Aa.peek=Tg;function Aa(e,t,n,r){const i=ti(n),a=i==='"'?"Quote":"Apostrophe",o=n.enter("image");let s=n.enter("label");const l=n.createTracker(r);let c=l.move("![");return c+=l.move(n.safe(e.alt,{before:c,after:"]",...l.current()})),c+=l.move("]("),s(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(s=n.enter("destinationLiteral"),c+=l.move("<"),c+=l.move(n.safe(e.url,{before:c,after:">",...l.current()})),c+=l.move(">")):(s=n.enter("destinationRaw"),c+=l.move(n.safe(e.url,{before:c,after:e.title?" ":")",...l.current()}))),s(),e.title&&(s=n.enter(`title${a}`),c+=l.move(" "+i),c+=l.move(n.safe(e.title,{before:c,after:i,...l.current()})),c+=l.move(i),s()),c+=l.move(")"),o(),c}function Tg(){return"!"}Ca.peek=Ag;function Ca(e,t,n,r){const i=e.referenceType,a=n.enter("imageReference");let o=n.enter("label");const s=n.createTracker(r);let l=s.move("![");const c=n.safe(e.alt,{before:l,after:"]",...s.current()});l+=s.move(c+"]["),o();const d=n.stack;n.stack=[],o=n.enter("reference");const u=n.safe(n.associationId(e),{before:l,after:"]",...s.current()});return o(),n.stack=d,a(),i==="full"||!c||c!==u?l+=s.move(u+"]"):i==="shortcut"?l=l.slice(0,-1):l+=s.move("]"),l}function Ag(){return"!"}Ia.peek=Cg;function Ia(e,t,n){let r=e.value||"",i="`",a=-1;for(;new RegExp("(^|[^`])"+i+"([^`]|$)").test(r);)i+="`";for(/[^ \r\n]/.test(r)&&(/^[ \r\n]/.test(r)&&/[ \r\n]$/.test(r)||/^`|`$/.test(r))&&(r=" "+r+" ");++a<n.unsafe.length;){const o=n.unsafe[a],s=n.compilePattern(o);let l;if(o.atBreak)for(;l=s.exec(r);){let c=l.index;r.charCodeAt(c)===10&&r.charCodeAt(c-1)===13&&c--,r=r.slice(0,c)+" "+r.slice(l.index+1)}}return i+r+i}function Cg(){return"`"}function Oa(e,t){const n=xr(e);return!!(!t.options.resourceLink&&e.url&&!e.title&&e.children&&e.children.length===1&&e.children[0].type==="text"&&(n===e.url||"mailto:"+n===e.url)&&/^[a-z][a-z+.-]+:/i.test(e.url)&&!/[\0- <>\u007F]/.test(e.url))}Ma.peek=Ig;function Ma(e,t,n,r){const i=ti(n),a=i==='"'?"Quote":"Apostrophe",o=n.createTracker(r);let s,l;if(Oa(e,n)){const d=n.stack;n.stack=[],s=n.enter("autolink");let u=o.move("<");return u+=o.move(n.containerPhrasing(e,{before:u,after:">",...o.current()})),u+=o.move(">"),s(),n.stack=d,u}s=n.enter("link"),l=n.enter("label");let c=o.move("[");return c+=o.move(n.containerPhrasing(e,{before:c,after:"](",...o.current()})),c+=o.move("]("),l(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(l=n.enter("destinationLiteral"),c+=o.move("<"),c+=o.move(n.safe(e.url,{before:c,after:">",...o.current()})),c+=o.move(">")):(l=n.enter("destinationRaw"),c+=o.move(n.safe(e.url,{before:c,after:e.title?" ":")",...o.current()}))),l(),e.title&&(l=n.enter(`title${a}`),c+=o.move(" "+i),c+=o.move(n.safe(e.title,{before:c,after:i,...o.current()})),c+=o.move(i),l()),c+=o.move(")"),s(),c}function Ig(e,t,n){return Oa(e,n)?"<":"["}Ra.peek=Og;function Ra(e,t,n,r){const i=e.referenceType,a=n.enter("linkReference");let o=n.enter("label");const s=n.createTracker(r);let l=s.move("[");const c=n.containerPhrasing(e,{before:l,after:"]",...s.current()});l+=s.move(c+"]["),o();const d=n.stack;n.stack=[],o=n.enter("reference");const u=n.safe(n.associationId(e),{before:l,after:"]",...s.current()});return o(),n.stack=d,a(),i==="full"||!c||c!==u?l+=s.move(u+"]"):i==="shortcut"?l=l.slice(0,-1):l+=s.move("]"),l}function Og(){return"["}function ni(e){const t=e.options.bullet||"*";if(t!=="*"&&t!=="+"&&t!=="-")throw new Error("Cannot serialize items with `"+t+"` for `options.bullet`, expected `*`, `+`, or `-`");return t}function Mg(e){const t=ni(e),n=e.options.bulletOther;if(!n)return t==="*"?"-":"*";if(n!=="*"&&n!=="+"&&n!=="-")throw new Error("Cannot serialize items with `"+n+"` for `options.bulletOther`, expected `*`, `+`, or `-`");if(n===t)throw new Error("Expected `bullet` (`"+t+"`) and `bulletOther` (`"+n+"`) to be different");return n}function Rg(e){const t=e.options.bulletOrdered||".";if(t!=="."&&t!==")")throw new Error("Cannot serialize items with `"+t+"` for `options.bulletOrdered`, expected `.` or `)`");return t}function La(e){const t=e.options.rule||"*";if(t!=="*"&&t!=="-"&&t!=="_")throw new Error("Cannot serialize rules with `"+t+"` for `options.rule`, expected `*`, `-`, or `_`");return t}function Lg(e,t,n,r){const i=n.enter("list"),a=n.bulletCurrent;let o=e.ordered?Rg(n):ni(n);const s=e.ordered?o==="."?")":".":Mg(n);let l=t&&n.bulletLastUsed?o===n.bulletLastUsed:!1;if(!e.ordered){const d=e.children?e.children[0]:void 0;if((o==="*"||o==="-")&&d&&(!d.children||!d.children[0])&&n.stack[n.stack.length-1]==="list"&&n.stack[n.stack.length-2]==="listItem"&&n.stack[n.stack.length-3]==="list"&&n.stack[n.stack.length-4]==="listItem"&&n.indexStack[n.indexStack.length-1]===0&&n.indexStack[n.indexStack.length-2]===0&&n.indexStack[n.indexStack.length-3]===0&&(l=!0),La(n)===o&&d){let u=-1;for(;++u<e.children.length;){const f=e.children[u];if(f&&f.type==="listItem"&&f.children&&f.children[0]&&f.children[0].type==="thematicBreak"){l=!0;break}}}}l&&(o=s),n.bulletCurrent=o;const c=n.containerFlow(e,r);return n.bulletLastUsed=o,n.bulletCurrent=a,i(),c}function Dg(e){const t=e.options.listItemIndent||"one";if(t!=="tab"&&t!=="one"&&t!=="mixed")throw new Error("Cannot serialize items with `"+t+"` for `options.listItemIndent`, expected `tab`, `one`, or `mixed`");return t}function Pg(e,t,n,r){const i=Dg(n);let a=n.bulletCurrent||ni(n);t&&t.type==="list"&&t.ordered&&(a=(typeof t.start=="number"&&t.start>-1?t.start:1)+(n.options.incrementListMarker===!1?0:t.children.indexOf(e))+a);let o=a.length+1;(i==="tab"||i==="mixed"&&(t&&t.type==="list"&&t.spread||e.spread))&&(o=Math.ceil(o/4)*4);const s=n.createTracker(r);s.move(a+" ".repeat(o-a.length)),s.shift(o);const l=n.enter("listItem"),c=n.indentLines(n.containerFlow(e,s.current()),d);return l(),c;function d(u,f,p){return f?(p?"":" ".repeat(o))+u:(p?a:a+" ".repeat(o-a.length))+u}}function Bg(e,t,n,r){const i=n.enter("paragraph"),a=n.enter("phrasing"),o=n.containerPhrasing(e,r);return a(),i(),o}const Fg=xn(["break","delete","emphasis","footnote","footnoteReference","image","imageReference","inlineCode","inlineMath","link","linkReference","mdxJsxTextElement","mdxTextExpression","strong","text","textDirective"]);function zg(e,t,n,r){return(e.children.some(function(o){return Fg(o)})?n.containerPhrasing:n.containerFlow).call(n,e,r)}function Ug(e){const t=e.options.strong||"*";if(t!=="*"&&t!=="_")throw new Error("Cannot serialize strong with `"+t+"` for `options.strong`, expected `*`, or `_`");return t}Da.peek=qg;function Da(e,t,n,r){const i=Ug(n),a=n.enter("strong"),o=n.createTracker(r),s=o.move(i+i);let l=o.move(n.containerPhrasing(e,{after:i,before:s,...o.current()}));const c=l.charCodeAt(0),d=Jn(r.before.charCodeAt(r.before.length-1),c,i);d.inside&&(l=Sn(c)+l.slice(1));const u=l.charCodeAt(l.length-1),f=Jn(r.after.charCodeAt(0),u,i);f.inside&&(l=l.slice(0,-1)+Sn(u));const p=o.move(i+i);return a(),n.attentionEncodeSurroundingInfo={after:f.outside,before:d.outside},s+l+p}function qg(e,t,n){return n.options.strong||"*"}function $g(e,t,n,r){return n.safe(e.value,r)}function Hg(e){const t=e.options.ruleRepetition||3;if(t<3)throw new Error("Cannot serialize rules with repetition `"+t+"` for `options.ruleRepetition`, expected `3` or more");return t}function Gg(e,t,n){const r=(La(n)+(n.options.ruleSpaces?" ":"")).repeat(Hg(n));return n.options.ruleSpaces?r.slice(0,-1):r}const Pa={blockquote:fg,break:Sa,code:yg,definition:Eg,emphasis:Na,hardBreak:Sa,heading:Sg,html:Ta,image:Aa,imageReference:Ca,inlineCode:Ia,link:Ma,linkReference:Ra,list:Lg,listItem:Pg,paragraph:Bg,root:zg,strong:Da,text:$g,thematicBreak:Gg};function Wg(){return{enter:{table:Kg,tableData:Ba,tableHeader:Ba,tableRow:Yg},exit:{codeText:Zg,table:Vg,tableData:ri,tableHeader:ri,tableRow:ri}}}function Kg(e){const t=e._align;this.enter({type:"table",align:t.map(function(n){return n==="none"?null:n}),children:[]},e),this.data.inTable=!0}function Vg(e){this.exit(e),this.data.inTable=void 0}function Yg(e){this.enter({type:"tableRow",children:[]},e)}function ri(e){this.exit(e)}function Ba(e){this.enter({type:"tableCell",children:[]},e)}function Zg(e){let t=this.resume();this.data.inTable&&(t=t.replace(/\\([\\|])/g,Xg));const n=this.stack[this.stack.length-1];n.type,n.value=t,this.exit(e)}function Xg(e,t){return t==="|"?t:e}function Qg(e){const t=e||{},n=t.tableCellPadding,r=t.tablePipeAlign,i=t.stringLength,a=n?" ":"|";return{unsafe:[{character:"\r",inConstruct:"tableCell"},{character:`
35
35
  `,inConstruct:"tableCell"},{atBreak:!0,character:"|",after:"[ :-]"},{character:"|",inConstruct:"tableCell"},{atBreak:!0,character:":",after:"-"},{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{inlineCode:f,table:o,tableCell:l,tableRow:s}};function o(p,g,h,E){return c(d(p,h,E),p.align)}function s(p,g,h,E){const b=u(p,h,E),N=c([b]);return N.slice(0,N.indexOf(`
36
- `))}function l(p,g,h,E){const b=h.enter("tableCell"),N=h.enter("phrasing"),v=h.containerPhrasing(p,{...E,before:a,after:a});return N(),b(),v}function c(p,g){return dg(p,{align:g,alignDelimiters:r,padding:n,stringLength:i})}function d(p,g,h){const E=p.children;let b=-1;const N=[],v=g.enter("table");for(;++b<E.length;)N[b]=u(E[b],g,h);return v(),N}function u(p,g,h){const E=p.children;let b=-1;const N=[],v=g.enter("tableRow");for(;++b<E.length;)N[b]=l(E[b],p,g,h);return v(),N}function f(p,g,h){let E=Pa.inlineCode(p,g,h);return h.stack.includes("tableCell")&&(E=E.replace(/\|/g,"\\$&")),E}}function jg(){return{exit:{taskListCheckValueChecked:Fa,taskListCheckValueUnchecked:Fa,paragraph:eh}}}function Jg(){return{unsafe:[{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{listItem:th}}}function Fa(e){const t=this.stack[this.stack.length-2];t.type,t.checked=e.type==="taskListCheckValueChecked"}function eh(e){const t=this.stack[this.stack.length-2];if(t&&t.type==="listItem"&&typeof t.checked=="boolean"){const n=this.stack[this.stack.length-1];n.type;const r=n.children[0];if(r&&r.type==="text"){const i=t.children;let a=-1,o;for(;++a<i.length;){const s=i[a];if(s.type==="paragraph"){o=s;break}}o===n&&(r.value=r.value.slice(1),r.value.length===0?n.children.shift():n.position&&r.position&&typeof r.position.start.offset=="number"&&(r.position.start.column++,r.position.start.offset++,n.position.start=Object.assign({},r.position.start)))}}this.exit(e)}function th(e,t,n,r){const i=e.children[0],a=typeof e.checked=="boolean"&&i&&i.type==="paragraph",o="["+(e.checked?"x":" ")+"] ",s=n.createTracker(r);a&&s.move(o);let l=Pa.listItem(e,t,n,{...r,...s.current()});return a&&(l=l.replace(/^(?:[*+-]|\d+\.)([\r\n]| {1,3})/,c)),l;function c(d){return d+o}}function nh(){return[Lf(),tg(),og(),Wg(),jg()]}function rh(e){return{extensions:[Df(),ng(e),ag(),Qg(e),Jg()]}}const ih={tokenize:uh,partial:!0},za={tokenize:dh,partial:!0},Ua={tokenize:ph,partial:!0},qa={tokenize:fh,partial:!0},oh={tokenize:gh,partial:!0},$a={name:"wwwAutolink",tokenize:lh,previous:Ga},Ha={name:"protocolAutolink",tokenize:ch,previous:Wa},St={name:"emailAutolink",tokenize:sh,previous:Ka},Et={};function ah(){return{text:Et}}let Wt=48;for(;Wt<123;)Et[Wt]=St,Wt++,Wt===58?Wt=65:Wt===91&&(Wt=97);Et[43]=St,Et[45]=St,Et[46]=St,Et[95]=St,Et[72]=[St,Ha],Et[104]=[St,Ha],Et[87]=[St,$a],Et[119]=[St,$a];function sh(e,t,n){const r=this;let i,a;return o;function o(u){return!ii(u)||!Ka.call(r,r.previous)||oi(r.events)?n(u):(e.enter("literalAutolink"),e.enter("literalAutolinkEmail"),s(u))}function s(u){return ii(u)?(e.consume(u),s):u===64?(e.consume(u),l):n(u)}function l(u){return u===46?e.check(oh,d,c)(u):u===45||u===95||qe(u)?(a=!0,e.consume(u),l):d(u)}function c(u){return e.consume(u),i=!0,l}function d(u){return a&&i&&Ke(r.previous)?(e.exit("literalAutolinkEmail"),e.exit("literalAutolink"),t(u)):n(u)}}function lh(e,t,n){const r=this;return i;function i(o){return o!==87&&o!==119||!Ga.call(r,r.previous)||oi(r.events)?n(o):(e.enter("literalAutolink"),e.enter("literalAutolinkWww"),e.check(ih,e.attempt(za,e.attempt(Ua,a),n),n)(o))}function a(o){return e.exit("literalAutolinkWww"),e.exit("literalAutolink"),t(o)}}function ch(e,t,n){const r=this;let i="",a=!1;return o;function o(u){return(u===72||u===104)&&Wa.call(r,r.previous)&&!oi(r.events)?(e.enter("literalAutolink"),e.enter("literalAutolinkHttp"),i+=String.fromCodePoint(u),e.consume(u),s):n(u)}function s(u){if(Ke(u)&&i.length<5)return i+=String.fromCodePoint(u),e.consume(u),s;if(u===58){const f=i.toLowerCase();if(f==="http"||f==="https")return e.consume(u),l}return n(u)}function l(u){return u===47?(e.consume(u),a?c:(a=!0,l)):n(u)}function c(u){return u===null||Ln(u)||Ne(u)||$t(u)||Dn(u)?n(u):e.attempt(za,e.attempt(Ua,d),n)(u)}function d(u){return e.exit("literalAutolinkHttp"),e.exit("literalAutolink"),t(u)}}function uh(e,t,n){let r=0;return i;function i(o){return(o===87||o===119)&&r<3?(r++,e.consume(o),i):o===46&&r===3?(e.consume(o),a):n(o)}function a(o){return o===null?n(o):t(o)}}function dh(e,t,n){let r,i,a;return o;function o(c){return c===46||c===95?e.check(qa,l,s)(c):c===null||Ne(c)||$t(c)||c!==45&&Dn(c)?l(c):(a=!0,e.consume(c),o)}function s(c){return c===95?r=!0:(i=r,r=void 0),e.consume(c),o}function l(c){return i||r||!a?n(c):t(c)}}function ph(e,t){let n=0,r=0;return i;function i(o){return o===40?(n++,e.consume(o),i):o===41&&r<n?a(o):o===33||o===34||o===38||o===39||o===41||o===42||o===44||o===46||o===58||o===59||o===60||o===63||o===93||o===95||o===126?e.check(qa,t,a)(o):o===null||Ne(o)||$t(o)?t(o):(e.consume(o),i)}function a(o){return o===41&&r++,e.consume(o),i}}function fh(e,t,n){return r;function r(s){return s===33||s===34||s===39||s===41||s===42||s===44||s===46||s===58||s===59||s===63||s===95||s===126?(e.consume(s),r):s===38?(e.consume(s),a):s===93?(e.consume(s),i):s===60||s===null||Ne(s)||$t(s)?t(s):n(s)}function i(s){return s===null||s===40||s===91||Ne(s)||$t(s)?t(s):r(s)}function a(s){return Ke(s)?o(s):n(s)}function o(s){return s===59?(e.consume(s),r):Ke(s)?(e.consume(s),o):n(s)}}function gh(e,t,n){return r;function r(a){return e.consume(a),i}function i(a){return qe(a)?n(a):t(a)}}function Ga(e){return e===null||e===40||e===42||e===95||e===91||e===93||e===126||Ne(e)}function Wa(e){return!Ke(e)}function Ka(e){return!(e===47||ii(e))}function ii(e){return e===43||e===45||e===46||e===95||qe(e)}function oi(e){let t=e.length,n=!1;for(;t--;){const r=e[t][1];if((r.type==="labelLink"||r.type==="labelImage")&&!r._balanced){n=!0;break}if(r._gfmAutolinkLiteralWalkedInto){n=!1;break}}return e.length>0&&!n&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}const hh={tokenize:_h,partial:!0};function mh(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:wh,continuation:{tokenize:Eh},exit:xh}},text:{91:{name:"gfmFootnoteCall",tokenize:yh},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:bh,resolveTo:kh}}}}function bh(e,t,n){const r=this;let i=r.events.length;const a=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let o;for(;i--;){const l=r.events[i][1];if(l.type==="labelImage"){o=l;break}if(l.type==="gfmFootnoteCall"||l.type==="labelLink"||l.type==="label"||l.type==="image"||l.type==="link")break}return s;function s(l){if(!o||!o._balanced)return n(l);const c=gt(r.sliceSerialize({start:o.end,end:r.now()}));return c.codePointAt(0)!==94||!a.includes(c.slice(1))?n(l):(e.enter("gfmFootnoteCallLabelMarker"),e.consume(l),e.exit("gfmFootnoteCallLabelMarker"),t(l))}}function kh(e,t){let n=e.length;for(;n--;)if(e[n][1].type==="labelImage"&&e[n][0]==="enter"){e[n][1];break}e[n+1][1].type="data",e[n+3][1].type="gfmFootnoteCallLabelMarker";const r={type:"gfmFootnoteCall",start:Object.assign({},e[n+3][1].start),end:Object.assign({},e[e.length-1][1].end)},i={type:"gfmFootnoteCallMarker",start:Object.assign({},e[n+3][1].end),end:Object.assign({},e[n+3][1].end)};i.end.column++,i.end.offset++,i.end._bufferIndex++;const a={type:"gfmFootnoteCallString",start:Object.assign({},i.end),end:Object.assign({},e[e.length-1][1].start)},o={type:"chunkString",contentType:"string",start:Object.assign({},a.start),end:Object.assign({},a.end)},s=[e[n+1],e[n+2],["enter",r,t],e[n+3],e[n+4],["enter",i,t],["exit",i,t],["enter",a,t],["enter",o,t],["exit",o,t],["exit",a,t],e[e.length-2],e[e.length-1],["exit",r,t]];return e.splice(n,e.length-n+1,...s),e}function yh(e,t,n){const r=this,i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let a=0,o;return s;function s(u){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(u),e.exit("gfmFootnoteCallLabelMarker"),l}function l(u){return u!==94?n(u):(e.enter("gfmFootnoteCallMarker"),e.consume(u),e.exit("gfmFootnoteCallMarker"),e.enter("gfmFootnoteCallString"),e.enter("chunkString").contentType="string",c)}function c(u){if(a>999||u===93&&!o||u===null||u===91||Ne(u))return n(u);if(u===93){e.exit("chunkString");const f=e.exit("gfmFootnoteCallString");return i.includes(gt(r.sliceSerialize(f)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(u),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),t):n(u)}return Ne(u)||(o=!0),a++,e.consume(u),u===92?d:c}function d(u){return u===91||u===92||u===93?(e.consume(u),a++,c):c(u)}}function wh(e,t,n){const r=this,i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let a,o=0,s;return l;function l(g){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(g),e.exit("gfmFootnoteDefinitionLabelMarker"),c}function c(g){return g===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(g),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",d):n(g)}function d(g){if(o>999||g===93&&!s||g===null||g===91||Ne(g))return n(g);if(g===93){e.exit("chunkString");const h=e.exit("gfmFootnoteDefinitionLabelString");return a=gt(r.sliceSerialize(h)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(g),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),f}return Ne(g)||(s=!0),o++,e.consume(g),g===92?u:d}function u(g){return g===91||g===92||g===93?(e.consume(g),o++,d):d(g)}function f(g){return g===58?(e.enter("definitionMarker"),e.consume(g),e.exit("definitionMarker"),i.includes(a)||i.push(a),me(e,p,"gfmFootnoteDefinitionWhitespace")):n(g)}function p(g){return t(g)}}function Eh(e,t,n){return e.check(bn,t,e.attempt(hh,t,n))}function xh(e){e.exit("gfmFootnoteDefinition")}function _h(e,t,n){const r=this;return me(e,i,"gfmFootnoteDefinitionIndent",5);function i(a){const o=r.events[r.events.length-1];return o&&o[1].type==="gfmFootnoteDefinitionIndent"&&o[2].sliceSerialize(o[1],!0).length===4?t(a):n(a)}}function vh(e){let n=(e||{}).singleTilde;const r={name:"strikethrough",tokenize:a,resolveAll:i};return n==null&&(n=!0),{text:{126:r},insideSpan:{null:[r]},attentionMarkers:{null:[126]}};function i(o,s){let l=-1;for(;++l<o.length;)if(o[l][0]==="enter"&&o[l][1].type==="strikethroughSequenceTemporary"&&o[l][1]._close){let c=l;for(;c--;)if(o[c][0]==="exit"&&o[c][1].type==="strikethroughSequenceTemporary"&&o[c][1]._open&&o[l][1].end.offset-o[l][1].start.offset===o[c][1].end.offset-o[c][1].start.offset){o[l][1].type="strikethroughSequence",o[c][1].type="strikethroughSequence";const d={type:"strikethrough",start:Object.assign({},o[c][1].start),end:Object.assign({},o[l][1].end)},u={type:"strikethroughText",start:Object.assign({},o[c][1].end),end:Object.assign({},o[l][1].start)},f=[["enter",d,s],["enter",o[c][1],s],["exit",o[c][1],s],["enter",u,s]],p=s.parser.constructs.insideSpan.null;p&&ot(f,f.length,0,Pn(p,o.slice(c+1,l),s)),ot(f,f.length,0,[["exit",u,s],["enter",o[l][1],s],["exit",o[l][1],s],["exit",d,s]]),ot(o,c-1,l-c+3,f),l=c+f.length-2;break}}for(l=-1;++l<o.length;)o[l][1].type==="strikethroughSequenceTemporary"&&(o[l][1].type="data");return o}function a(o,s,l){const c=this.previous,d=this.events;let u=0;return f;function f(g){return c===126&&d[d.length-1][1].type!=="characterEscape"?l(g):(o.enter("strikethroughSequenceTemporary"),p(g))}function p(g){const h=Jt(c);if(g===126)return u>1?l(g):(o.consume(g),u++,p);if(u<2&&!n)return l(g);const E=o.exit("strikethroughSequenceTemporary"),b=Jt(g);return E._open=!b||b===2&&!!h,E._close=!h||h===2&&!!b,s(g)}}}class Sh{constructor(){this.map=[]}add(t,n,r){Nh(this,t,n,r)}consume(t){if(this.map.sort(function(a,o){return a[0]-o[0]}),this.map.length===0)return;let n=this.map.length;const r=[];for(;n>0;)n-=1,r.push(t.slice(this.map[n][0]+this.map[n][1]),this.map[n][2]),t.length=this.map[n][0];r.push(t.slice()),t.length=0;let i=r.pop();for(;i;){for(const a of i)t.push(a);i=r.pop()}this.map.length=0}}function Nh(e,t,n,r){let i=0;if(!(n===0&&r.length===0)){for(;i<e.map.length;){if(e.map[i][0]===t){e.map[i][1]+=n,e.map[i][2].push(...r);return}i+=1}e.map.push([t,n,r])}}function Th(e,t){let n=!1;const r=[];for(;t<e.length;){const i=e[t];if(n){if(i[0]==="enter")i[1].type==="tableContent"&&r.push(e[t+1][1].type==="tableDelimiterMarker"?"left":"none");else if(i[1].type==="tableContent"){if(e[t-1][1].type==="tableDelimiterMarker"){const a=r.length-1;r[a]=r[a]==="left"?"center":"right"}}else if(i[1].type==="tableDelimiterRow")break}else i[0]==="enter"&&i[1].type==="tableDelimiterRow"&&(n=!0);t+=1}return r}function Ah(){return{flow:{null:{name:"table",tokenize:Ch,resolveAll:Ih}}}}function Ch(e,t,n){const r=this;let i=0,a=0,o;return s;function s(_){let B=r.events.length-1;for(;B>-1;){const Z=r.events[B][1].type;if(Z==="lineEnding"||Z==="linePrefix")B--;else break}const P=B>-1?r.events[B][1].type:null,J=P==="tableHead"||P==="tableRow"?x:l;return J===x&&r.parser.lazy[r.now().line]?n(_):J(_)}function l(_){return e.enter("tableHead"),e.enter("tableRow"),c(_)}function c(_){return _===124||(o=!0,a+=1),d(_)}function d(_){return _===null?n(_):V(_)?a>1?(a=0,r.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(_),e.exit("lineEnding"),p):n(_):pe(_)?me(e,d,"whitespace")(_):(a+=1,o&&(o=!1,i+=1),_===124?(e.enter("tableCellDivider"),e.consume(_),e.exit("tableCellDivider"),o=!0,d):(e.enter("data"),u(_)))}function u(_){return _===null||_===124||Ne(_)?(e.exit("data"),d(_)):(e.consume(_),_===92?f:u)}function f(_){return _===92||_===124?(e.consume(_),u):u(_)}function p(_){return r.interrupt=!1,r.parser.lazy[r.now().line]?n(_):(e.enter("tableDelimiterRow"),o=!1,pe(_)?me(e,g,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(_):g(_))}function g(_){return _===45||_===58?E(_):_===124?(o=!0,e.enter("tableCellDivider"),e.consume(_),e.exit("tableCellDivider"),h):R(_)}function h(_){return pe(_)?me(e,E,"whitespace")(_):E(_)}function E(_){return _===58?(a+=1,o=!0,e.enter("tableDelimiterMarker"),e.consume(_),e.exit("tableDelimiterMarker"),b):_===45?(a+=1,b(_)):_===null||V(_)?O(_):R(_)}function b(_){return _===45?(e.enter("tableDelimiterFiller"),N(_)):R(_)}function N(_){return _===45?(e.consume(_),N):_===58?(o=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(_),e.exit("tableDelimiterMarker"),v):(e.exit("tableDelimiterFiller"),v(_))}function v(_){return pe(_)?me(e,O,"whitespace")(_):O(_)}function O(_){return _===124?g(_):_===null||V(_)?!o||i!==a?R(_):(e.exit("tableDelimiterRow"),e.exit("tableHead"),t(_)):R(_)}function R(_){return n(_)}function x(_){return e.enter("tableRow"),U(_)}function U(_){return _===124?(e.enter("tableCellDivider"),e.consume(_),e.exit("tableCellDivider"),U):_===null||V(_)?(e.exit("tableRow"),t(_)):pe(_)?me(e,U,"whitespace")(_):(e.enter("data"),G(_))}function G(_){return _===null||_===124||Ne(_)?(e.exit("data"),U(_)):(e.consume(_),_===92?H:G)}function H(_){return _===92||_===124?(e.consume(_),G):G(_)}}function Ih(e,t){let n=-1,r=!0,i=0,a=[0,0,0,0],o=[0,0,0,0],s=!1,l=0,c,d,u;const f=new Sh;for(;++n<e.length;){const p=e[n],g=p[1];p[0]==="enter"?g.type==="tableHead"?(s=!1,l!==0&&(Va(f,t,l,c,d),d=void 0,l=0),c={type:"table",start:Object.assign({},g.start),end:Object.assign({},g.end)},f.add(n,0,[["enter",c,t]])):g.type==="tableRow"||g.type==="tableDelimiterRow"?(r=!0,u=void 0,a=[0,0,0,0],o=[0,n+1,0,0],s&&(s=!1,d={type:"tableBody",start:Object.assign({},g.start),end:Object.assign({},g.end)},f.add(n,0,[["enter",d,t]])),i=g.type==="tableDelimiterRow"?2:d?3:1):i&&(g.type==="data"||g.type==="tableDelimiterMarker"||g.type==="tableDelimiterFiller")?(r=!1,o[2]===0&&(a[1]!==0&&(o[0]=o[1],u=er(f,t,a,i,void 0,u),a=[0,0,0,0]),o[2]=n)):g.type==="tableCellDivider"&&(r?r=!1:(a[1]!==0&&(o[0]=o[1],u=er(f,t,a,i,void 0,u)),a=o,o=[a[1],n,0,0])):g.type==="tableHead"?(s=!0,l=n):g.type==="tableRow"||g.type==="tableDelimiterRow"?(l=n,a[1]!==0?(o[0]=o[1],u=er(f,t,a,i,n,u)):o[1]!==0&&(u=er(f,t,o,i,n,u)),i=0):i&&(g.type==="data"||g.type==="tableDelimiterMarker"||g.type==="tableDelimiterFiller")&&(o[3]=n)}for(l!==0&&Va(f,t,l,c,d),f.consume(t.events),n=-1;++n<t.events.length;){const p=t.events[n];p[0]==="enter"&&p[1].type==="table"&&(p[1]._align=Th(t.events,n))}return e}function er(e,t,n,r,i,a){const o=r===1?"tableHeader":r===2?"tableDelimiter":"tableData",s="tableContent";n[0]!==0&&(a.end=Object.assign({},nn(t.events,n[0])),e.add(n[0],0,[["exit",a,t]]));const l=nn(t.events,n[1]);if(a={type:o,start:Object.assign({},l),end:Object.assign({},l)},e.add(n[1],0,[["enter",a,t]]),n[2]!==0){const c=nn(t.events,n[2]),d=nn(t.events,n[3]),u={type:s,start:Object.assign({},c),end:Object.assign({},d)};if(e.add(n[2],0,[["enter",u,t]]),r!==2){const f=t.events[n[2]],p=t.events[n[3]];if(f[1].end=Object.assign({},p[1].end),f[1].type="chunkText",f[1].contentType="text",n[3]>n[2]+1){const g=n[2]+1,h=n[3]-n[2]-1;e.add(g,h,[])}}e.add(n[3]+1,0,[["exit",u,t]])}return i!==void 0&&(a.end=Object.assign({},nn(t.events,i)),e.add(i,0,[["exit",a,t]]),a=void 0),a}function Va(e,t,n,r,i){const a=[],o=nn(t.events,n);i&&(i.end=Object.assign({},o),a.push(["exit",i,t])),r.end=Object.assign({},o),a.push(["exit",r,t]),e.add(n+1,0,a)}function nn(e,t){const n=e[t],r=n[0]==="enter"?"start":"end";return n[1][r]}const Oh={name:"tasklistCheck",tokenize:Rh};function Mh(){return{text:{91:Oh}}}function Rh(e,t,n){const r=this;return i;function i(l){return r.previous!==null||!r._gfmTasklistFirstContentOfListItem?n(l):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(l),e.exit("taskListCheckMarker"),a)}function a(l){return Ne(l)?(e.enter("taskListCheckValueUnchecked"),e.consume(l),e.exit("taskListCheckValueUnchecked"),o):l===88||l===120?(e.enter("taskListCheckValueChecked"),e.consume(l),e.exit("taskListCheckValueChecked"),o):n(l)}function o(l){return l===93?(e.enter("taskListCheckMarker"),e.consume(l),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),s):n(l)}function s(l){return V(l)?t(l):pe(l)?e.check({tokenize:Lh},t,n)(l):n(l)}}function Lh(e,t,n){return me(e,r,"whitespace");function r(i){return i===null?n(i):t(i)}}function Dh(e){return Vi([ah(),mh(),vh(e),Ah(),Mh()])}const Ph={};function Bh(e){const t=this,n=e||Ph,r=t.data(),i=r.micromarkExtensions||(r.micromarkExtensions=[]),a=r.fromMarkdownExtensions||(r.fromMarkdownExtensions=[]),o=r.toMarkdownExtensions||(r.toMarkdownExtensions=[]);i.push(Dh(n)),a.push(nh()),o.push(rh(n))}function Fh(e){const t=new RegExp(`(?<!]\\(|]\\(<|href=["']|src=["'])(https?:\\/\\/[^\\s<>"')]+)(?![^[]*\\]\\))`,"g");return e.replace(t,n=>{const r=n.replace(/[.,;:!?]+$/g,""),i=n.slice(r.length);return`[${r}](${r})${i}`})}function zh(e){return e.replace(/\[source\s+(\d+)\]/gi,(t,n)=>`[\`${n}\`](#source-${n})`)}function Uh(e){const t=Fh(e);return zh(t)}const qh=F.memo(function({content:t}){return w.jsx(Ld,{rehypePlugins:[Tf],remarkPlugins:[Bh],children:Uh(t)})});function $h(e){return e.variants?.find(t=>t.available)||e.variants?.[0]}function Ya(e,t,n){if(!e)return"";const r=Number(e);if(!Number.isFinite(r))return e;try{return new Intl.NumberFormat(n,{style:t?"currency":"decimal",currency:t||void 0,maximumFractionDigits:2}).format(r)}catch{return`${r.toFixed(2)}${t?` ${t}`:""}`}}function Hh({product:e,copy:t,locale:n,layout:r="vertical",onProductClick:i}){const a=$h(e),o=!!a?.available&&e.available!=="false",s=Ya(a?.price,a?.currency,n),l=Ya(a?.compare_at_price||void 0,a?.currency,n);return w.jsxs("article",{className:`akilio-product-card akilio-product-card--${r}`,role:"listitem",children:[w.jsxs("div",{className:"akilio-product-media",children:[e.image_url?w.jsx("img",{src:e.image_url,alt:"",loading:"lazy",decoding:"async"}):w.jsx("div",{className:"akilio-product-placeholder","aria-hidden":"true",children:"A"}),w.jsx("span",{className:o?"akilio-stock akilio-stock--available":"akilio-stock",children:o?t.inStock:t.outOfStock})]}),w.jsxs("div",{className:"akilio-product-body",children:[e.vendor&&w.jsx("span",{className:"akilio-product-vendor",children:e.vendor}),w.jsx("h4",{children:e.title}),a?.title&&a.title!==e.title&&w.jsx("span",{className:"akilio-product-variant",children:a.title}),w.jsxs("div",{className:"akilio-product-price",children:[s?w.jsx("strong",{children:s}):w.jsx("strong",{children:t.unavailable}),l&&l!==s&&w.jsx("del",{children:l})]}),e.url?w.jsx("a",{className:"akilio-product-action",href:e.url,target:"_blank",rel:"noopener noreferrer",onClick:()=>i?.(e,a),children:t.viewProduct}):w.jsx("button",{type:"button",className:"akilio-product-action",disabled:!o,onClick:()=>i?.(e,a),children:t.viewProduct})]})]},e.id)}const Gh=F.memo(function({commerce:t,copy:n,locale:r,onProductClick:i}){const a=F.useMemo(()=>Array.isArray(t.products)?t.products.filter(s=>s?.id&&s?.title):[],[t.products]);if(!a.length)return null;const o=a.length>3?"vertical":"horizontal";return w.jsxs("section",{className:"akilio-products","aria-label":n.products,children:[w.jsxs("div",{className:"akilio-products-heading",children:[w.jsx("strong",{children:n.products}),w.jsx("span",{children:a.length})]}),w.jsx("div",{className:`akilio-products-grid akilio-products-grid--${o}`,role:"list",children:a.map(s=>w.jsx(Hh,{product:s,copy:n,locale:r,layout:o,onProductClick:i}))})]})});function Wh(e){return Array.isArray(e)?e.filter(t=>t?.title||t?.url):[]}const Za=F.memo(function({message:t,copy:n,locale:r,onFeedback:i,onProductClick:a,onSuggestion:o,primaryColor:s}){const l=t.role==="user",c=Wh(t.sources);return w.jsx("div",{className:Ft("akilio-message-row",l?"akilio-message-row--user":"akilio-message-row--assistant"),children:w.jsxs("div",{className:Ft("akilio-bubble",l&&"akilio-bubble--user",t.error&&"akilio-bubble--error"),children:[!l&&!t.error&&w.jsxs("div",{className:"akilio-bubble-meta",children:[w.jsx(sr,{style:{width:"20px",height:"20px"},primaryColor:s}),w.jsx("span",{children:n.title})]}),w.jsx("div",{className:Ft("akilio-answer",l&&"akilio-answer--user"),children:l?w.jsx("p",{children:t.content}):w.jsx(qh,{content:t.content})}),!l&&t.commerce?.products?.length?w.jsx(Gh,{commerce:t.commerce,copy:n,locale:r,onProductClick:(d,u)=>a?.(t,d,u)}):null,!l&&!t.error&&t.suggestions?.length?w.jsx("div",{className:"akilio-response-suggestions","aria-label":"Suggested follow-up questions",children:t.suggestions.map(d=>w.jsx("button",{type:"button",onClick:()=>o?.(d),children:d},d))}):null,!l&&c.length>0&&w.jsxs("details",{className:"akilio-sources",children:[w.jsxs("summary",{children:[n.sources," · ",c.length]}),w.jsx("div",{className:"akilio-sources-list",children:c.map((d,u)=>w.jsxs("div",{className:"akilio-source-card",children:[w.jsx("strong",{children:d.title||"Untitled source"}),typeof d.section_path=="string"&&w.jsx("span",{children:d.section_path}),d.url&&w.jsx("a",{href:d.url,target:"_blank",rel:"noreferrer",children:d.url})]},`${d.url||d.title}-${u}`))})]}),!l&&!t.error&&t.backendMessageId&&w.jsxs("div",{className:"akilio-feedback",children:[w.jsx("span",{children:t.feedback?n.feedbackThanks:n.feedbackQuestion}),w.jsx("button",{type:"button",className:Ft(t.feedback==="up"&&"akilio-feedback-active"),onClick:()=>i?.(t,"up"),"aria-label":n.voteUp,children:w.jsx(gs,{})}),w.jsx("button",{type:"button",className:Ft(t.feedback==="down"&&"akilio-feedback-active"),onClick:()=>i?.(t,"down"),"aria-label":n.voteDown,children:w.jsx(hs,{})})]})]})})}),Kh=F.memo(function({messages:t,copy:n,locale:r,onFeedback:i,onProductClick:a,onSuggestion:o,primaryColor:s}){return w.jsx(w.Fragment,{children:t.map(l=>w.jsx(Za,{message:l,copy:n,locale:r,onFeedback:i,onProductClick:a,onSuggestion:o,primaryColor:s},l.id))})});function Vh({copy:e,label:t,primaryColor:n}){return w.jsxs("div",{className:"akilio-message-row akilio-message-row--assistant akilio-stream-activity",role:"status","aria-live":"polite","aria-atomic":"true",children:[w.jsx("span",{className:"akilio-stream-activity-icon","aria-hidden":"true",children:w.jsx(sr,{style:{width:"20px",height:"20px"},primaryColor:n})}),w.jsxs("div",{className:"akilio-stream-activity-content",children:[w.jsx("span",{className:"akilio-stream-activity-label",children:t||e.loading},t),w.jsx("span",{className:"akilio-stream-activity-pulse","aria-hidden":"true"})]})]})}const Yh=F.forwardRef(function(t,n){const{open:r,isDesktop:i,inline:a,colorMode:o,allowColorModeToggle:s,widgetAvailable:l,showBranding:c,showPoweredBy:d,copy:u,locale:f,messages:p,streamingMessage:g,loading:h,loadingLabel:E,consentDecision:b,consentGranted:N,requireConsent:v,privacyNotice:O,privacyNoticeUrl:R,onConsentDecision:x,onClose:U,onToggleColorMode:G,onClear:H,onSubmit:_,onDraftChange:B,onFeedback:P,onProductClick:J,onSuggestion:Z,primaryColor:q}=t,oe=F.useRef(null),ae=F.useRef(null);return F.useImperativeHandle(n,()=>({getDraft:()=>ae.current?.getDraft()||"",setDraft:(Q,ke)=>ae.current?.setDraft(Q,ke),clearDraft:()=>ae.current?.clearDraft(),focusDraft:()=>ae.current?.focus(),submitDraft:()=>ae.current?ae.current.submit():Promise.reject(new Error("NOT_READY"))}),[]),F.useEffect(()=>{r&&oe.current?.scrollTo({top:oe.current.scrollHeight,behavior:p.length>1?"auto":"smooth"})},[p.length,g?.content,h,r]),w.jsxs("aside",{className:Ft("akilio-panel",i&&"akilio-panel--desktop",a&&"akilio-panel--inline",r&&"akilio-panel--open"),"aria-hidden":!r,"aria-label":u.title,children:[w.jsx("div",{className:"akilio-panel-glow"}),w.jsxs("header",{className:"akilio-panel-header",children:[c&&w.jsx("div",{className:"akilio-logo",children:w.jsx(Rn,{variant:"mark",style:{width:40,height:40},primaryColor:q})}),w.jsxs("div",{className:"akilio-header-content",children:[w.jsxs("div",{className:"akilio-header-topline",children:[w.jsx("div",{className:"akilio-header-title",children:w.jsx("h2",{children:u.title})}),w.jsxs("div",{className:"akilio-header-actions",children:[s&&w.jsx("button",{type:"button",onClick:G,title:o==="dark"?u.switchToLightMode:u.switchToDarkMode,"aria-label":o==="dark"?u.switchToLightMode:u.switchToDarkMode,children:o==="dark"?w.jsx(ms,{}):w.jsx(bs,{})}),w.jsx("button",{type:"button",onClick:H,title:u.clearHistory,"aria-label":u.clearHistory,children:w.jsx(fs,{})}),!a&&w.jsx("button",{type:"button",onClick:U,title:u.close,"aria-label":u.close,children:w.jsx(ps,{})})]})]}),w.jsx("p",{className:"akilio-header-description",children:u.description})]})]}),w.jsxs("div",{ref:oe,className:"akilio-thread","aria-live":"polite","aria-relevant":"additions",children:[p.length===0&&!h?w.jsx(ys,{copy:u,onSuggestion:_,widgetAvailable:l,showBranding:c,primaryColor:q}):w.jsx(Kh,{messages:p,copy:u,locale:f,onFeedback:P,onProductClick:J,onSuggestion:Z,primaryColor:q}),g&&w.jsx(Za,{message:g,copy:u,locale:f,onFeedback:P,onProductClick:J,onSuggestion:Z,primaryColor:q}),h&&!g&&w.jsx(Vh,{copy:u,label:E,primaryColor:q})]}),(O||v)&&b==="pending"&&w.jsxs("section",{className:"akilio-privacy","aria-label":u.privacyTitle,children:[w.jsxs("div",{children:[w.jsx("strong",{children:u.privacyTitle}),w.jsxs("p",{children:[O||u.privacyDefaultNotice," ",R&&w.jsx("a",{href:R,target:"_blank",rel:"noreferrer",children:u.privacyTitle})]}),v&&w.jsx("p",{className:"akilio-privacy-consent-copy",children:u.privacyAccept})]}),w.jsxs("div",{className:"akilio-privacy-actions",children:[w.jsx("button",{type:"button",className:"akilio-privacy-decline",onClick:()=>x("rejected"),children:u.privacyDecline}),w.jsx("button",{type:"button",className:"akilio-privacy-accept",onClick:()=>x("accepted"),children:u.privacyAcceptAction})]})]}),w.jsx(ks,{ref:ae,loading:h,disabled:!l||v&&!N,disabledMessage:l?u.privacyRequired:u.widgetUnavailable,showPoweredBy:d,copy:u,onSubmit:_,onDraftChange:B,onReviewConsent:v&&b==="rejected"?()=>x("pending"):void 0})]})});function Zh({label:e,onClick:t,showBranding:n=!0,primaryColor:r}){return w.jsxs("button",{id:"akilio-launcher",type:"button",className:"akilio-launcher",onClick:t,children:[w.jsx("span",{children:n?w.jsx(Rn,{variant:"mark",className:"akilio-launcher-logo",primaryColor:r}):w.jsx(lr,{className:"akilio-launcher-logo"})}),w.jsx("strong",{children:e})]})}function Xh({title:e,message:t,actionLabel:n,dismissLabel:r,onDismiss:i,onOpen:a,primaryColor:o,showBranding:s}){return w.jsxs("section",{className:"akilio-coachmark",role:"status","aria-live":"polite","aria-label":e,children:[w.jsx("button",{type:"button",className:"akilio-coachmark-close",onClick:i,"aria-label":r,children:w.jsx("span",{"aria-hidden":"true",children:"×"})}),w.jsx("div",{className:"akilio-coachmark-icon","aria-hidden":"true",children:s?w.jsx(Rn,{variant:"mark",primaryColor:o}):w.jsx(lr,{})}),w.jsxs("div",{className:"akilio-coachmark-content",children:[w.jsx("strong",{children:e}),w.jsx("p",{children:t}),w.jsx("button",{type:"button",className:"akilio-coachmark-action",onClick:a,children:n})]})]})}const Qh="(min-width: 1280px)";function jh(e=Qh){const[t,n]=F.useState(!1);return F.useEffect(()=>{if(typeof window>"u")return;const r=window.matchMedia(e),i=()=>n(r.matches);return i(),r.addEventListener?.("change",i),()=>r.removeEventListener?.("change",i)},[e]),t}const rn=60;function Xa(e,t){if(!e)return t;try{return JSON.parse(e)}catch{return t}}function Jh(e){const t=F.useMemo(()=>`akilio:${e.projectKey}:${e.locale||"default"}:messages:v1`,[e.projectKey,e.locale]),[n,r]=F.useState([]),[i,a]=F.useState(!1);return F.useEffect(()=>{if(!e.enabled||typeof window>"u"){a(!0);return}const o=Xa(window.localStorage.getItem(t),[]);r(Array.isArray(o)?o.slice(-rn):[]),a(!0)},[e.enabled,t]),F.useEffect(()=>{!e.enabled||!i||typeof window>"u"||window.localStorage.setItem(t,JSON.stringify(n.slice(-rn)))},[n,e.enabled,t,i]),[n,r,t]}function on(e){const[t,n]=F.useState(e.initialValue||""),[r,i]=F.useState(!1);return F.useEffect(()=>{if(!e.enabled||typeof window>"u"){i(!0);return}n(window.localStorage.getItem(e.key)||e.initialValue||""),i(!0)},[e.enabled,e.initialValue,e.key]),F.useEffect(()=>{!e.enabled||!r||typeof window>"u"||(t?window.localStorage.setItem(e.key,t):window.localStorage.removeItem(e.key))},[e.enabled,r,e.key,t]),[t,n]}const em={version:"0.6.5"};function xt(e){const t=e.toLowerCase();return Array.from(document.scripts).some(n=>(n.src||"").toLowerCase().includes(t))}function tm(e){const t=e.toLowerCase();return Array.from(document.querySelectorAll("link[href]")).some(n=>n.href.toLowerCase().includes(t))}function nm(e,t){return Array.from(document.querySelectorAll(`meta[${e}]`)).some(n=>n.getAttribute(e)===t)}function rm(e){const t=e.toLowerCase();return Array.from(document.body?.classList??[]).some(n=>n.toLowerCase().includes(t))}function im(){const e=window.location.hostname.toLowerCase(),t=document.documentElement.innerHTML.toLowerCase(),n=[];if(window.Shopify&&n.push("window.Shopify"),xt("cdn.shopify.com")&&n.push("cdn.shopify.com script"),t.includes("shopify-section")&&n.push("shopify-section markup"),e.endsWith(".myshopify.com")&&n.push("myshopify.com hostname"),n.length>=2)return{integration:"shopify",confidence:"high",signals:n};if(n.length===1)return{integration:"shopify",confidence:"medium",signals:n};const r=[];if(window.wcSettings&&r.push("window.wcSettings"),xt("woocommerce")&&r.push("WooCommerce script"),rm("woocommerce")&&r.push("WooCommerce body class"),(t.includes("woocommerce-cart")||t.includes("woocommerce-checkout")||t.includes("wc-block-"))&&r.push("WooCommerce markup"),r.length>=2)return{integration:"woocommerce",confidence:"high",signals:r};if(r.length===1)return{integration:"woocommerce",confidence:"medium",signals:r};const i=[];if(tm("/wp-json/")&&i.push("WordPress REST API link"),(xt("/wp-content/")||xt("/wp-includes/"))&&i.push("WordPress asset path"),(t.includes("/wp-content/")||t.includes("/wp-includes/"))&&i.push("WordPress HTML asset path"),nm("name","generator")&&document.querySelector('meta[name="generator"]')?.content.toLowerCase()?.includes("wordpress")&&i.push("WordPress generator metadata"),i.length>=2)return{integration:"wordpress",confidence:"high",signals:i};if(i.length===1)return{integration:"wordpress",confidence:"medium",signals:i};const a=[];if((window.prestashop||window.PrestaShop)&&a.push("PrestaShop global"),xt("/modules/")&&t.includes("prestashop")&&a.push("PrestaShop module assets"),document.querySelector('meta[name="generator"]')?.content.toLowerCase()?.includes("prestashop")&&a.push("PrestaShop generator metadata"),a.length>=2)return{integration:"prestashop",confidence:"high",signals:a};if(a.length===1)return{integration:"prestashop",confidence:"medium",signals:a};const s=[];return window.requirejs&&xt("mage/")&&s.push("Magento RequireJS modules"),(xt("/static/frontend/")||t.includes("mage-init"))&&s.push("Magento frontend assets"),t.includes("data-mage-init")&&s.push("data-mage-init"),s.length>=2?{integration:"magento",confidence:"high",signals:s}:s.length===1?{integration:"magento",confidence:"medium",signals:s}:t.includes("wixstatic.com")||xt("wixstatic.com")?{integration:"wix",confidence:"high",signals:["Wix static assets"]}:document.documentElement.hasAttribute("data-wf-page")||xt("webflow")?{integration:"webflow",confidence:"high",signals:["Webflow page attributes or assets"]}:xt("static1.squarespace.com")||t.includes("squarespace")?{integration:"squarespace",confidence:"medium",signals:["Squarespace assets"]}:window.__NEXT_DATA__||document.getElementById("__next")?{integration:"nextjs",confidence:"high",signals:["Next.js runtime markers"]}:document.querySelector("[ng-version]")||window.angular?{integration:"angular",confidence:"high",signals:["Angular runtime markers"]}:window.__NUXT__||document.getElementById("__nuxt")?{integration:"vue",confidence:"medium",signals:["Nuxt/Vue runtime markers"]}:window.Vue?{integration:"vue",confidence:"medium",signals:["Vue global"]}:document.getElementById("root")||document.querySelector("[data-reactroot]")?{integration:"react",confidence:"low",signals:["Possible React root element"]}:{integration:"unknown",confidence:"low",signals:[]}}class ai extends Error{status;payload;constructor(t,n,r){super(t),this.name="AkilioHttpError",this.status=n,this.payload=r}}function Qa(e,t){return`${e.replace(/\/$/,"")}${t.startsWith("/")?t:`/${t}`}`}async function ja(e){const t=await e.text();let n={};try{n=t?JSON.parse(t):{}}catch{n={detail:t}}if(!e.ok){const r=n?.detail||n?.error||n?.message||`Request failed with status ${e.status}`;throw new ai(r,e.status,n)}return n}function si(e,t,n){const r=`${e.replace(/\/$/,"")}|${t}|${n||"anonymous"}`;let i=2166136261;for(let a=0;a<r.length;a+=1)i^=r.charCodeAt(a),i=Math.imul(i,16777619);return`akilio:widget-token:v1:${(i>>>0).toString(16)}`}function om(e){if(typeof window>"u")return null;try{const t=window.sessionStorage.getItem(e);return t?JSON.parse(t):null}catch{return null}}function Ja(e,t){if(!(typeof window>"u"))try{t?window.sessionStorage.setItem(e,JSON.stringify(t)):window.sessionStorage.removeItem(e)}catch{}}class es{apiBaseUrl;fetchImpl;auth;widgetToken=null;widgetTokenPromise=null;widgetTokenPromiseKey=null;mode;locale;constructor(t){this.apiBaseUrl=t.apiBaseUrl;const n=t.fetchImpl||globalThis.fetch;if(!n)throw new Error("Fetch API is not available in this environment");this.fetchImpl=n.bind(globalThis),this.auth=t.auth,this.mode=t.mode,this.locale=t.locale}hasHostManagedToken(){return!!(this.auth?.getAccessToken||this.auth?.accessToken)}async hostManagedToken(){return(this.auth?.getAccessToken?await this.auth.getAccessToken():this.auth?.accessToken)||null}tokenIsUsable(t,n,r){const i=Math.max(0,this.auth?.tokenRefreshLeewaySeconds??30);return t.projectKey===n&&t.subject===r&&t.expiresAt>Date.now()+i*1e3}clearWidgetToken(t,n){this.widgetToken=null,Ja(si(this.apiBaseUrl,t,n),null)}async issueWidgetToken(t,n){const r=await this.publicRequest(`/api/v1/projects/${encodeURIComponent(t)}/widget-token/`,{method:"POST",body:JSON.stringify(n?{subject:n}:{})}),i=Math.max(1,Number(r.expires_in)||1),a={token:r.token,tokenType:r.token_type||"Bearer",expiresAt:Date.now()+i*1e3,projectKey:t,subject:n};return this.widgetToken=a,Ja(si(this.apiBaseUrl,t,n),a),this.auth?.onWidgetToken?.({token:a.token,tokenType:a.tokenType,expiresAt:a.expiresAt}),a}async ensureWidgetToken(t,n,r=!1){if(!r&&this.widgetToken&&this.tokenIsUsable(this.widgetToken,t,n))return this.widgetToken;const i=si(this.apiBaseUrl,t,n);if(!r){const o=om(i);if(o&&this.tokenIsUsable(o,t,n))return this.widgetToken=o,o}r&&this.clearWidgetToken(t,n);const a=`${t}|${n||""}`;return(!this.widgetTokenPromise||this.widgetTokenPromiseKey!==a)&&(this.widgetTokenPromiseKey=a,this.widgetTokenPromise=this.issueWidgetToken(t,n).finally(()=>{this.widgetTokenPromiseKey===a&&(this.widgetTokenPromise=null,this.widgetTokenPromiseKey=null)})),this.widgetTokenPromise}async baseHeaders(t=!1){const n={Accept:"application/json",...this.auth?.headers||{}};return t&&(n["Content-Type"]="application/json"),this.auth?.apiKey&&(n[this.auth.apiKeyHeader||"X-Akilio-Key"]=this.auth.apiKey),n}async execute(t,n,r){const i=await this.fetchImpl(Qa(this.apiBaseUrl,t),{...n,credentials:this.auth?.credentials||"omit",headers:{...r,...n.headers||{}}});return ja(i)}async publicRequest(t,n={}){return this.execute(t,n,await this.baseHeaders(!!n.body))}async authenticatedRequest(t,n,r,i={}){const a=await this.baseHeaders(!!i.body),o=await this.hostManagedToken();if(o)return a.Authorization=`${this.auth?.tokenScheme||"Bearer"} ${o}`,this.execute(r,i,a);if(this.auth?.autoIssueWidgetToken===!1)throw new Error("No widget authentication token is available");let s=await this.ensureWidgetToken(t,n);a.Authorization=`${s.tokenType} ${s.token}`;try{return await this.execute(r,i,a)}catch(l){if(!(l instanceof ai)||l.status!==401)throw l;return s=await this.ensureWidgetToken(t,n,!0),a.Authorization=`${s.tokenType} ${s.token}`,this.execute(r,i,a)}}async authenticatedResponse(t,n,r,i={}){const a=await this.baseHeaders(!!i.body);a.Accept="text/event-stream";const o=await this.hostManagedToken();if(o)a.Authorization=`${this.auth?.tokenScheme||"Bearer"} ${o}`;else{if(this.auth?.autoIssueWidgetToken===!1)throw new Error("No widget authentication token is available");const c=await this.ensureWidgetToken(t,n);a.Authorization=`${c.tokenType} ${c.token}`}const s=()=>this.fetchImpl(Qa(this.apiBaseUrl,r),{...i,credentials:this.auth?.credentials||"omit",headers:{...a,...i.headers||{}}});let l=await s();if(l.status===401&&!o){await l.body?.cancel().catch(()=>{});const c=await this.ensureWidgetToken(t,n,!0);a.Authorization=`${c.tokenType} ${c.token}`,l=await s()}return l.ok||await ja(l),l}getProjectConfig(t){const n=im();return this.publicRequest(`/api/v1/projects/${encodeURIComponent(t)}/config/`,{method:"POST",body:JSON.stringify({widget:{version:em.version,mode:this.mode,locale:this.locale,integration:n},browser:{screen_width:window.innerWidth,viewport_width:window.innerWidth,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,referrer:document.referrer||void 0}})})}async prepareWidgetToken(t,n){this.hasHostManagedToken()||this.auth?.autoIssueWidgetToken===!1||await this.ensureWidgetToken(t,n)}sendMessage(t,n,r){return this.authenticatedRequest(t,n,"/api/v1/chat/",{method:"POST",body:JSON.stringify(r)})}async sendMessageStream(t,n,r,i={},a){let o;try{o=await this.authenticatedResponse(t,n,"/api/v1/chat/stream/",{method:"POST",body:JSON.stringify(r),signal:a})}catch(f){if(f instanceof ai&&[404,405,406,415,501].includes(f.status))return this.sendMessage(t,n,r);throw f}if(!o.body)throw new Error("Streaming response body is unavailable");const s=o.body.getReader(),l=new TextDecoder;let c="",d=null;const u=f=>{let p="message";const g=[];for(const E of f.split(/\r?\n/))!E||E.startsWith(":")||(E.startsWith("event:")&&(p=E.slice(6).trim()),E.startsWith("data:")&&g.push(E.slice(5).trimStart()));if(!g.length)return;let h;try{const E=JSON.parse(g.join(`
36
+ `))}function l(p,g,h,E){const b=h.enter("tableCell"),N=h.enter("phrasing"),v=h.containerPhrasing(p,{...E,before:a,after:a});return N(),b(),v}function c(p,g){return dg(p,{align:g,alignDelimiters:r,padding:n,stringLength:i})}function d(p,g,h){const E=p.children;let b=-1;const N=[],v=g.enter("table");for(;++b<E.length;)N[b]=u(E[b],g,h);return v(),N}function u(p,g,h){const E=p.children;let b=-1;const N=[],v=g.enter("tableRow");for(;++b<E.length;)N[b]=l(E[b],p,g,h);return v(),N}function f(p,g,h){let E=Pa.inlineCode(p,g,h);return h.stack.includes("tableCell")&&(E=E.replace(/\|/g,"\\$&")),E}}function jg(){return{exit:{taskListCheckValueChecked:Fa,taskListCheckValueUnchecked:Fa,paragraph:eh}}}function Jg(){return{unsafe:[{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{listItem:th}}}function Fa(e){const t=this.stack[this.stack.length-2];t.type,t.checked=e.type==="taskListCheckValueChecked"}function eh(e){const t=this.stack[this.stack.length-2];if(t&&t.type==="listItem"&&typeof t.checked=="boolean"){const n=this.stack[this.stack.length-1];n.type;const r=n.children[0];if(r&&r.type==="text"){const i=t.children;let a=-1,o;for(;++a<i.length;){const s=i[a];if(s.type==="paragraph"){o=s;break}}o===n&&(r.value=r.value.slice(1),r.value.length===0?n.children.shift():n.position&&r.position&&typeof r.position.start.offset=="number"&&(r.position.start.column++,r.position.start.offset++,n.position.start=Object.assign({},r.position.start)))}}this.exit(e)}function th(e,t,n,r){const i=e.children[0],a=typeof e.checked=="boolean"&&i&&i.type==="paragraph",o="["+(e.checked?"x":" ")+"] ",s=n.createTracker(r);a&&s.move(o);let l=Pa.listItem(e,t,n,{...r,...s.current()});return a&&(l=l.replace(/^(?:[*+-]|\d+\.)([\r\n]| {1,3})/,c)),l;function c(d){return d+o}}function nh(){return[Lf(),tg(),og(),Wg(),jg()]}function rh(e){return{extensions:[Df(),ng(e),ag(),Qg(e),Jg()]}}const ih={tokenize:uh,partial:!0},za={tokenize:dh,partial:!0},Ua={tokenize:ph,partial:!0},qa={tokenize:fh,partial:!0},oh={tokenize:gh,partial:!0},$a={name:"wwwAutolink",tokenize:lh,previous:Ga},Ha={name:"protocolAutolink",tokenize:ch,previous:Wa},St={name:"emailAutolink",tokenize:sh,previous:Ka},Et={};function ah(){return{text:Et}}let Wt=48;for(;Wt<123;)Et[Wt]=St,Wt++,Wt===58?Wt=65:Wt===91&&(Wt=97);Et[43]=St,Et[45]=St,Et[46]=St,Et[95]=St,Et[72]=[St,Ha],Et[104]=[St,Ha],Et[87]=[St,$a],Et[119]=[St,$a];function sh(e,t,n){const r=this;let i,a;return o;function o(u){return!ii(u)||!Ka.call(r,r.previous)||oi(r.events)?n(u):(e.enter("literalAutolink"),e.enter("literalAutolinkEmail"),s(u))}function s(u){return ii(u)?(e.consume(u),s):u===64?(e.consume(u),l):n(u)}function l(u){return u===46?e.check(oh,d,c)(u):u===45||u===95||qe(u)?(a=!0,e.consume(u),l):d(u)}function c(u){return e.consume(u),i=!0,l}function d(u){return a&&i&&Ke(r.previous)?(e.exit("literalAutolinkEmail"),e.exit("literalAutolink"),t(u)):n(u)}}function lh(e,t,n){const r=this;return i;function i(o){return o!==87&&o!==119||!Ga.call(r,r.previous)||oi(r.events)?n(o):(e.enter("literalAutolink"),e.enter("literalAutolinkWww"),e.check(ih,e.attempt(za,e.attempt(Ua,a),n),n)(o))}function a(o){return e.exit("literalAutolinkWww"),e.exit("literalAutolink"),t(o)}}function ch(e,t,n){const r=this;let i="",a=!1;return o;function o(u){return(u===72||u===104)&&Wa.call(r,r.previous)&&!oi(r.events)?(e.enter("literalAutolink"),e.enter("literalAutolinkHttp"),i+=String.fromCodePoint(u),e.consume(u),s):n(u)}function s(u){if(Ke(u)&&i.length<5)return i+=String.fromCodePoint(u),e.consume(u),s;if(u===58){const f=i.toLowerCase();if(f==="http"||f==="https")return e.consume(u),l}return n(u)}function l(u){return u===47?(e.consume(u),a?c:(a=!0,l)):n(u)}function c(u){return u===null||Ln(u)||Ne(u)||$t(u)||Dn(u)?n(u):e.attempt(za,e.attempt(Ua,d),n)(u)}function d(u){return e.exit("literalAutolinkHttp"),e.exit("literalAutolink"),t(u)}}function uh(e,t,n){let r=0;return i;function i(o){return(o===87||o===119)&&r<3?(r++,e.consume(o),i):o===46&&r===3?(e.consume(o),a):n(o)}function a(o){return o===null?n(o):t(o)}}function dh(e,t,n){let r,i,a;return o;function o(c){return c===46||c===95?e.check(qa,l,s)(c):c===null||Ne(c)||$t(c)||c!==45&&Dn(c)?l(c):(a=!0,e.consume(c),o)}function s(c){return c===95?r=!0:(i=r,r=void 0),e.consume(c),o}function l(c){return i||r||!a?n(c):t(c)}}function ph(e,t){let n=0,r=0;return i;function i(o){return o===40?(n++,e.consume(o),i):o===41&&r<n?a(o):o===33||o===34||o===38||o===39||o===41||o===42||o===44||o===46||o===58||o===59||o===60||o===63||o===93||o===95||o===126?e.check(qa,t,a)(o):o===null||Ne(o)||$t(o)?t(o):(e.consume(o),i)}function a(o){return o===41&&r++,e.consume(o),i}}function fh(e,t,n){return r;function r(s){return s===33||s===34||s===39||s===41||s===42||s===44||s===46||s===58||s===59||s===63||s===95||s===126?(e.consume(s),r):s===38?(e.consume(s),a):s===93?(e.consume(s),i):s===60||s===null||Ne(s)||$t(s)?t(s):n(s)}function i(s){return s===null||s===40||s===91||Ne(s)||$t(s)?t(s):r(s)}function a(s){return Ke(s)?o(s):n(s)}function o(s){return s===59?(e.consume(s),r):Ke(s)?(e.consume(s),o):n(s)}}function gh(e,t,n){return r;function r(a){return e.consume(a),i}function i(a){return qe(a)?n(a):t(a)}}function Ga(e){return e===null||e===40||e===42||e===95||e===91||e===93||e===126||Ne(e)}function Wa(e){return!Ke(e)}function Ka(e){return!(e===47||ii(e))}function ii(e){return e===43||e===45||e===46||e===95||qe(e)}function oi(e){let t=e.length,n=!1;for(;t--;){const r=e[t][1];if((r.type==="labelLink"||r.type==="labelImage")&&!r._balanced){n=!0;break}if(r._gfmAutolinkLiteralWalkedInto){n=!1;break}}return e.length>0&&!n&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}const hh={tokenize:_h,partial:!0};function mh(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:wh,continuation:{tokenize:Eh},exit:xh}},text:{91:{name:"gfmFootnoteCall",tokenize:yh},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:bh,resolveTo:kh}}}}function bh(e,t,n){const r=this;let i=r.events.length;const a=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let o;for(;i--;){const l=r.events[i][1];if(l.type==="labelImage"){o=l;break}if(l.type==="gfmFootnoteCall"||l.type==="labelLink"||l.type==="label"||l.type==="image"||l.type==="link")break}return s;function s(l){if(!o||!o._balanced)return n(l);const c=gt(r.sliceSerialize({start:o.end,end:r.now()}));return c.codePointAt(0)!==94||!a.includes(c.slice(1))?n(l):(e.enter("gfmFootnoteCallLabelMarker"),e.consume(l),e.exit("gfmFootnoteCallLabelMarker"),t(l))}}function kh(e,t){let n=e.length;for(;n--;)if(e[n][1].type==="labelImage"&&e[n][0]==="enter"){e[n][1];break}e[n+1][1].type="data",e[n+3][1].type="gfmFootnoteCallLabelMarker";const r={type:"gfmFootnoteCall",start:Object.assign({},e[n+3][1].start),end:Object.assign({},e[e.length-1][1].end)},i={type:"gfmFootnoteCallMarker",start:Object.assign({},e[n+3][1].end),end:Object.assign({},e[n+3][1].end)};i.end.column++,i.end.offset++,i.end._bufferIndex++;const a={type:"gfmFootnoteCallString",start:Object.assign({},i.end),end:Object.assign({},e[e.length-1][1].start)},o={type:"chunkString",contentType:"string",start:Object.assign({},a.start),end:Object.assign({},a.end)},s=[e[n+1],e[n+2],["enter",r,t],e[n+3],e[n+4],["enter",i,t],["exit",i,t],["enter",a,t],["enter",o,t],["exit",o,t],["exit",a,t],e[e.length-2],e[e.length-1],["exit",r,t]];return e.splice(n,e.length-n+1,...s),e}function yh(e,t,n){const r=this,i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let a=0,o;return s;function s(u){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(u),e.exit("gfmFootnoteCallLabelMarker"),l}function l(u){return u!==94?n(u):(e.enter("gfmFootnoteCallMarker"),e.consume(u),e.exit("gfmFootnoteCallMarker"),e.enter("gfmFootnoteCallString"),e.enter("chunkString").contentType="string",c)}function c(u){if(a>999||u===93&&!o||u===null||u===91||Ne(u))return n(u);if(u===93){e.exit("chunkString");const f=e.exit("gfmFootnoteCallString");return i.includes(gt(r.sliceSerialize(f)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(u),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),t):n(u)}return Ne(u)||(o=!0),a++,e.consume(u),u===92?d:c}function d(u){return u===91||u===92||u===93?(e.consume(u),a++,c):c(u)}}function wh(e,t,n){const r=this,i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let a,o=0,s;return l;function l(g){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(g),e.exit("gfmFootnoteDefinitionLabelMarker"),c}function c(g){return g===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(g),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",d):n(g)}function d(g){if(o>999||g===93&&!s||g===null||g===91||Ne(g))return n(g);if(g===93){e.exit("chunkString");const h=e.exit("gfmFootnoteDefinitionLabelString");return a=gt(r.sliceSerialize(h)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(g),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),f}return Ne(g)||(s=!0),o++,e.consume(g),g===92?u:d}function u(g){return g===91||g===92||g===93?(e.consume(g),o++,d):d(g)}function f(g){return g===58?(e.enter("definitionMarker"),e.consume(g),e.exit("definitionMarker"),i.includes(a)||i.push(a),me(e,p,"gfmFootnoteDefinitionWhitespace")):n(g)}function p(g){return t(g)}}function Eh(e,t,n){return e.check(bn,t,e.attempt(hh,t,n))}function xh(e){e.exit("gfmFootnoteDefinition")}function _h(e,t,n){const r=this;return me(e,i,"gfmFootnoteDefinitionIndent",5);function i(a){const o=r.events[r.events.length-1];return o&&o[1].type==="gfmFootnoteDefinitionIndent"&&o[2].sliceSerialize(o[1],!0).length===4?t(a):n(a)}}function vh(e){let n=(e||{}).singleTilde;const r={name:"strikethrough",tokenize:a,resolveAll:i};return n==null&&(n=!0),{text:{126:r},insideSpan:{null:[r]},attentionMarkers:{null:[126]}};function i(o,s){let l=-1;for(;++l<o.length;)if(o[l][0]==="enter"&&o[l][1].type==="strikethroughSequenceTemporary"&&o[l][1]._close){let c=l;for(;c--;)if(o[c][0]==="exit"&&o[c][1].type==="strikethroughSequenceTemporary"&&o[c][1]._open&&o[l][1].end.offset-o[l][1].start.offset===o[c][1].end.offset-o[c][1].start.offset){o[l][1].type="strikethroughSequence",o[c][1].type="strikethroughSequence";const d={type:"strikethrough",start:Object.assign({},o[c][1].start),end:Object.assign({},o[l][1].end)},u={type:"strikethroughText",start:Object.assign({},o[c][1].end),end:Object.assign({},o[l][1].start)},f=[["enter",d,s],["enter",o[c][1],s],["exit",o[c][1],s],["enter",u,s]],p=s.parser.constructs.insideSpan.null;p&&ot(f,f.length,0,Pn(p,o.slice(c+1,l),s)),ot(f,f.length,0,[["exit",u,s],["enter",o[l][1],s],["exit",o[l][1],s],["exit",d,s]]),ot(o,c-1,l-c+3,f),l=c+f.length-2;break}}for(l=-1;++l<o.length;)o[l][1].type==="strikethroughSequenceTemporary"&&(o[l][1].type="data");return o}function a(o,s,l){const c=this.previous,d=this.events;let u=0;return f;function f(g){return c===126&&d[d.length-1][1].type!=="characterEscape"?l(g):(o.enter("strikethroughSequenceTemporary"),p(g))}function p(g){const h=Jt(c);if(g===126)return u>1?l(g):(o.consume(g),u++,p);if(u<2&&!n)return l(g);const E=o.exit("strikethroughSequenceTemporary"),b=Jt(g);return E._open=!b||b===2&&!!h,E._close=!h||h===2&&!!b,s(g)}}}class Sh{constructor(){this.map=[]}add(t,n,r){Nh(this,t,n,r)}consume(t){if(this.map.sort(function(a,o){return a[0]-o[0]}),this.map.length===0)return;let n=this.map.length;const r=[];for(;n>0;)n-=1,r.push(t.slice(this.map[n][0]+this.map[n][1]),this.map[n][2]),t.length=this.map[n][0];r.push(t.slice()),t.length=0;let i=r.pop();for(;i;){for(const a of i)t.push(a);i=r.pop()}this.map.length=0}}function Nh(e,t,n,r){let i=0;if(!(n===0&&r.length===0)){for(;i<e.map.length;){if(e.map[i][0]===t){e.map[i][1]+=n,e.map[i][2].push(...r);return}i+=1}e.map.push([t,n,r])}}function Th(e,t){let n=!1;const r=[];for(;t<e.length;){const i=e[t];if(n){if(i[0]==="enter")i[1].type==="tableContent"&&r.push(e[t+1][1].type==="tableDelimiterMarker"?"left":"none");else if(i[1].type==="tableContent"){if(e[t-1][1].type==="tableDelimiterMarker"){const a=r.length-1;r[a]=r[a]==="left"?"center":"right"}}else if(i[1].type==="tableDelimiterRow")break}else i[0]==="enter"&&i[1].type==="tableDelimiterRow"&&(n=!0);t+=1}return r}function Ah(){return{flow:{null:{name:"table",tokenize:Ch,resolveAll:Ih}}}}function Ch(e,t,n){const r=this;let i=0,a=0,o;return s;function s(_){let B=r.events.length-1;for(;B>-1;){const Z=r.events[B][1].type;if(Z==="lineEnding"||Z==="linePrefix")B--;else break}const P=B>-1?r.events[B][1].type:null,J=P==="tableHead"||P==="tableRow"?x:l;return J===x&&r.parser.lazy[r.now().line]?n(_):J(_)}function l(_){return e.enter("tableHead"),e.enter("tableRow"),c(_)}function c(_){return _===124||(o=!0,a+=1),d(_)}function d(_){return _===null?n(_):V(_)?a>1?(a=0,r.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(_),e.exit("lineEnding"),p):n(_):pe(_)?me(e,d,"whitespace")(_):(a+=1,o&&(o=!1,i+=1),_===124?(e.enter("tableCellDivider"),e.consume(_),e.exit("tableCellDivider"),o=!0,d):(e.enter("data"),u(_)))}function u(_){return _===null||_===124||Ne(_)?(e.exit("data"),d(_)):(e.consume(_),_===92?f:u)}function f(_){return _===92||_===124?(e.consume(_),u):u(_)}function p(_){return r.interrupt=!1,r.parser.lazy[r.now().line]?n(_):(e.enter("tableDelimiterRow"),o=!1,pe(_)?me(e,g,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(_):g(_))}function g(_){return _===45||_===58?E(_):_===124?(o=!0,e.enter("tableCellDivider"),e.consume(_),e.exit("tableCellDivider"),h):R(_)}function h(_){return pe(_)?me(e,E,"whitespace")(_):E(_)}function E(_){return _===58?(a+=1,o=!0,e.enter("tableDelimiterMarker"),e.consume(_),e.exit("tableDelimiterMarker"),b):_===45?(a+=1,b(_)):_===null||V(_)?O(_):R(_)}function b(_){return _===45?(e.enter("tableDelimiterFiller"),N(_)):R(_)}function N(_){return _===45?(e.consume(_),N):_===58?(o=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(_),e.exit("tableDelimiterMarker"),v):(e.exit("tableDelimiterFiller"),v(_))}function v(_){return pe(_)?me(e,O,"whitespace")(_):O(_)}function O(_){return _===124?g(_):_===null||V(_)?!o||i!==a?R(_):(e.exit("tableDelimiterRow"),e.exit("tableHead"),t(_)):R(_)}function R(_){return n(_)}function x(_){return e.enter("tableRow"),U(_)}function U(_){return _===124?(e.enter("tableCellDivider"),e.consume(_),e.exit("tableCellDivider"),U):_===null||V(_)?(e.exit("tableRow"),t(_)):pe(_)?me(e,U,"whitespace")(_):(e.enter("data"),G(_))}function G(_){return _===null||_===124||Ne(_)?(e.exit("data"),U(_)):(e.consume(_),_===92?H:G)}function H(_){return _===92||_===124?(e.consume(_),G):G(_)}}function Ih(e,t){let n=-1,r=!0,i=0,a=[0,0,0,0],o=[0,0,0,0],s=!1,l=0,c,d,u;const f=new Sh;for(;++n<e.length;){const p=e[n],g=p[1];p[0]==="enter"?g.type==="tableHead"?(s=!1,l!==0&&(Va(f,t,l,c,d),d=void 0,l=0),c={type:"table",start:Object.assign({},g.start),end:Object.assign({},g.end)},f.add(n,0,[["enter",c,t]])):g.type==="tableRow"||g.type==="tableDelimiterRow"?(r=!0,u=void 0,a=[0,0,0,0],o=[0,n+1,0,0],s&&(s=!1,d={type:"tableBody",start:Object.assign({},g.start),end:Object.assign({},g.end)},f.add(n,0,[["enter",d,t]])),i=g.type==="tableDelimiterRow"?2:d?3:1):i&&(g.type==="data"||g.type==="tableDelimiterMarker"||g.type==="tableDelimiterFiller")?(r=!1,o[2]===0&&(a[1]!==0&&(o[0]=o[1],u=er(f,t,a,i,void 0,u),a=[0,0,0,0]),o[2]=n)):g.type==="tableCellDivider"&&(r?r=!1:(a[1]!==0&&(o[0]=o[1],u=er(f,t,a,i,void 0,u)),a=o,o=[a[1],n,0,0])):g.type==="tableHead"?(s=!0,l=n):g.type==="tableRow"||g.type==="tableDelimiterRow"?(l=n,a[1]!==0?(o[0]=o[1],u=er(f,t,a,i,n,u)):o[1]!==0&&(u=er(f,t,o,i,n,u)),i=0):i&&(g.type==="data"||g.type==="tableDelimiterMarker"||g.type==="tableDelimiterFiller")&&(o[3]=n)}for(l!==0&&Va(f,t,l,c,d),f.consume(t.events),n=-1;++n<t.events.length;){const p=t.events[n];p[0]==="enter"&&p[1].type==="table"&&(p[1]._align=Th(t.events,n))}return e}function er(e,t,n,r,i,a){const o=r===1?"tableHeader":r===2?"tableDelimiter":"tableData",s="tableContent";n[0]!==0&&(a.end=Object.assign({},nn(t.events,n[0])),e.add(n[0],0,[["exit",a,t]]));const l=nn(t.events,n[1]);if(a={type:o,start:Object.assign({},l),end:Object.assign({},l)},e.add(n[1],0,[["enter",a,t]]),n[2]!==0){const c=nn(t.events,n[2]),d=nn(t.events,n[3]),u={type:s,start:Object.assign({},c),end:Object.assign({},d)};if(e.add(n[2],0,[["enter",u,t]]),r!==2){const f=t.events[n[2]],p=t.events[n[3]];if(f[1].end=Object.assign({},p[1].end),f[1].type="chunkText",f[1].contentType="text",n[3]>n[2]+1){const g=n[2]+1,h=n[3]-n[2]-1;e.add(g,h,[])}}e.add(n[3]+1,0,[["exit",u,t]])}return i!==void 0&&(a.end=Object.assign({},nn(t.events,i)),e.add(i,0,[["exit",a,t]]),a=void 0),a}function Va(e,t,n,r,i){const a=[],o=nn(t.events,n);i&&(i.end=Object.assign({},o),a.push(["exit",i,t])),r.end=Object.assign({},o),a.push(["exit",r,t]),e.add(n+1,0,a)}function nn(e,t){const n=e[t],r=n[0]==="enter"?"start":"end";return n[1][r]}const Oh={name:"tasklistCheck",tokenize:Rh};function Mh(){return{text:{91:Oh}}}function Rh(e,t,n){const r=this;return i;function i(l){return r.previous!==null||!r._gfmTasklistFirstContentOfListItem?n(l):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(l),e.exit("taskListCheckMarker"),a)}function a(l){return Ne(l)?(e.enter("taskListCheckValueUnchecked"),e.consume(l),e.exit("taskListCheckValueUnchecked"),o):l===88||l===120?(e.enter("taskListCheckValueChecked"),e.consume(l),e.exit("taskListCheckValueChecked"),o):n(l)}function o(l){return l===93?(e.enter("taskListCheckMarker"),e.consume(l),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),s):n(l)}function s(l){return V(l)?t(l):pe(l)?e.check({tokenize:Lh},t,n)(l):n(l)}}function Lh(e,t,n){return me(e,r,"whitespace");function r(i){return i===null?n(i):t(i)}}function Dh(e){return Vi([ah(),mh(),vh(e),Ah(),Mh()])}const Ph={};function Bh(e){const t=this,n=e||Ph,r=t.data(),i=r.micromarkExtensions||(r.micromarkExtensions=[]),a=r.fromMarkdownExtensions||(r.fromMarkdownExtensions=[]),o=r.toMarkdownExtensions||(r.toMarkdownExtensions=[]);i.push(Dh(n)),a.push(nh()),o.push(rh(n))}function Fh(e){const t=new RegExp(`(?<!]\\(|]\\(<|href=["']|src=["'])(https?:\\/\\/[^\\s<>"')]+)(?![^[]*\\]\\))`,"g");return e.replace(t,n=>{const r=n.replace(/[.,;:!?]+$/g,""),i=n.slice(r.length);return`[${r}](${r})${i}`})}function zh(e){return e.replace(/\[source\s+(\d+)\]/gi,(t,n)=>`[\`${n}\`](#source-${n})`)}function Uh(e){const t=Fh(e);return zh(t)}const qh=F.memo(function({content:t}){return w.jsx(Ld,{rehypePlugins:[Tf],remarkPlugins:[Bh],children:Uh(t)})});function $h(e){return e.variants?.find(t=>t.available)||e.variants?.[0]}function Ya(e,t,n){if(!e)return"";const r=Number(e);if(!Number.isFinite(r))return e;try{return new Intl.NumberFormat(n,{style:t?"currency":"decimal",currency:t||void 0,maximumFractionDigits:2}).format(r)}catch{return`${r.toFixed(2)}${t?` ${t}`:""}`}}function Hh({product:e,copy:t,locale:n,layout:r="vertical",onProductClick:i}){const a=$h(e),o=!!a?.available&&e.available!=="false",s=Ya(a?.price,a?.currency,n),l=Ya(a?.compare_at_price||void 0,a?.currency,n);return w.jsxs("article",{className:`akilio-product-card akilio-product-card--${r}`,role:"listitem",children:[w.jsxs("div",{className:"akilio-product-media",children:[e.image_url?w.jsx("img",{src:e.image_url,alt:"",loading:"lazy",decoding:"async"}):w.jsx("div",{className:"akilio-product-placeholder","aria-hidden":"true",children:"A"}),w.jsx("span",{className:o?"akilio-stock akilio-stock--available":"akilio-stock",children:o?t.inStock:t.outOfStock})]}),w.jsxs("div",{className:"akilio-product-body",children:[e.vendor&&w.jsx("span",{className:"akilio-product-vendor",children:e.vendor}),w.jsx("h4",{children:e.title}),a?.title&&a.title!==e.title&&w.jsx("span",{className:"akilio-product-variant",children:a.title}),w.jsxs("div",{className:"akilio-product-price",children:[s?w.jsx("strong",{children:s}):w.jsx("strong",{children:t.unavailable}),l&&l!==s&&w.jsx("del",{children:l})]}),e.url?w.jsx("a",{className:"akilio-product-action",href:e.url,target:"_blank",rel:"noopener noreferrer",onClick:()=>i?.(e,a),children:t.viewProduct}):w.jsx("button",{type:"button",className:"akilio-product-action",disabled:!o,onClick:()=>i?.(e,a),children:t.viewProduct})]})]},e.id)}const Gh=F.memo(function({commerce:t,copy:n,locale:r,onProductClick:i}){const a=F.useMemo(()=>Array.isArray(t.products)?t.products.filter(s=>s?.id&&s?.title):[],[t.products]);if(!a.length)return null;const o=a.length>3?"vertical":"horizontal";return w.jsxs("section",{className:"akilio-products","aria-label":n.products,children:[w.jsxs("div",{className:"akilio-products-heading",children:[w.jsx("strong",{children:n.products}),w.jsx("span",{children:a.length})]}),w.jsx("div",{className:`akilio-products-grid akilio-products-grid--${o}`,role:"list",children:a.map(s=>w.jsx(Hh,{product:s,copy:n,locale:r,layout:o,onProductClick:i}))})]})});function Wh(e){return Array.isArray(e)?e.filter(t=>t?.title||t?.url):[]}const Za=F.memo(function({message:t,copy:n,locale:r,onFeedback:i,onProductClick:a,onSuggestion:o,primaryColor:s}){const l=t.role==="user",c=Wh(t.sources);return w.jsx("div",{className:Ft("akilio-message-row",l?"akilio-message-row--user":"akilio-message-row--assistant"),children:w.jsxs("div",{className:Ft("akilio-bubble",l&&"akilio-bubble--user",t.error&&"akilio-bubble--error"),children:[!l&&!t.error&&w.jsxs("div",{className:"akilio-bubble-meta",children:[w.jsx(sr,{style:{width:"20px",height:"20px"},primaryColor:s}),w.jsx("span",{children:n.title})]}),w.jsx("div",{className:Ft("akilio-answer",l&&"akilio-answer--user"),children:l?w.jsx("p",{children:t.content}):w.jsx(qh,{content:t.content})}),!l&&t.commerce?.products?.length?w.jsx(Gh,{commerce:t.commerce,copy:n,locale:r,onProductClick:(d,u)=>a?.(t,d,u)}):null,!l&&!t.error&&t.suggestions?.length?w.jsx("div",{className:"akilio-response-suggestions","aria-label":"Suggested follow-up questions",children:t.suggestions.map(d=>w.jsx("button",{type:"button",onClick:()=>o?.(d),children:d},d))}):null,!l&&c.length>0&&w.jsxs("details",{className:"akilio-sources",children:[w.jsxs("summary",{children:[n.sources," · ",c.length]}),w.jsx("div",{className:"akilio-sources-list",children:c.map((d,u)=>w.jsxs("div",{className:"akilio-source-card",children:[w.jsx("strong",{children:d.title||"Untitled source"}),typeof d.section_path=="string"&&w.jsx("span",{children:d.section_path}),d.url&&w.jsx("a",{href:d.url,target:"_blank",rel:"noreferrer",children:d.url})]},`${d.url||d.title}-${u}`))})]}),!l&&!t.error&&t.backendMessageId&&w.jsxs("div",{className:"akilio-feedback",children:[w.jsx("span",{children:t.feedback?n.feedbackThanks:n.feedbackQuestion}),w.jsx("button",{type:"button",className:Ft(t.feedback==="up"&&"akilio-feedback-active"),onClick:()=>i?.(t,"up"),"aria-label":n.voteUp,children:w.jsx(gs,{})}),w.jsx("button",{type:"button",className:Ft(t.feedback==="down"&&"akilio-feedback-active"),onClick:()=>i?.(t,"down"),"aria-label":n.voteDown,children:w.jsx(hs,{})})]})]})})}),Kh=F.memo(function({messages:t,copy:n,locale:r,onFeedback:i,onProductClick:a,onSuggestion:o,primaryColor:s}){return w.jsx(w.Fragment,{children:t.map(l=>w.jsx(Za,{message:l,copy:n,locale:r,onFeedback:i,onProductClick:a,onSuggestion:o,primaryColor:s},l.id))})});function Vh({copy:e,label:t,primaryColor:n}){return w.jsxs("div",{className:"akilio-message-row akilio-message-row--assistant akilio-stream-activity",role:"status","aria-live":"polite","aria-atomic":"true",children:[w.jsx("span",{className:"akilio-stream-activity-icon","aria-hidden":"true",children:w.jsx(sr,{style:{width:"20px",height:"20px"},primaryColor:n})}),w.jsxs("div",{className:"akilio-stream-activity-content",children:[w.jsx("span",{className:"akilio-stream-activity-label",children:t||e.loading},t),w.jsx("span",{className:"akilio-stream-activity-pulse","aria-hidden":"true"})]})]})}const Yh=F.forwardRef(function(t,n){const{open:r,isDesktop:i,inline:a,colorMode:o,allowColorModeToggle:s,widgetAvailable:l,showBranding:c,showPoweredBy:d,copy:u,locale:f,messages:p,streamingMessage:g,loading:h,loadingLabel:E,consentDecision:b,consentGranted:N,requireConsent:v,privacyNotice:O,privacyNoticeUrl:R,onConsentDecision:x,onClose:U,onToggleColorMode:G,onClear:H,onSubmit:_,onDraftChange:B,onFeedback:P,onProductClick:J,onSuggestion:Z,primaryColor:q}=t,oe=F.useRef(null),ae=F.useRef(null);return F.useImperativeHandle(n,()=>({getDraft:()=>ae.current?.getDraft()||"",setDraft:(Q,ke)=>ae.current?.setDraft(Q,ke),clearDraft:()=>ae.current?.clearDraft(),focusDraft:()=>ae.current?.focus(),submitDraft:()=>ae.current?ae.current.submit():Promise.reject(new Error("NOT_READY"))}),[]),F.useEffect(()=>{r&&oe.current?.scrollTo({top:oe.current.scrollHeight,behavior:p.length>1?"auto":"smooth"})},[p.length,g?.content,h,r]),w.jsxs("aside",{className:Ft("akilio-panel",i&&"akilio-panel--desktop",a&&"akilio-panel--inline",r&&"akilio-panel--open"),"aria-hidden":!r,"aria-label":u.title,children:[w.jsx("div",{className:"akilio-panel-glow"}),w.jsxs("header",{className:"akilio-panel-header",children:[c&&w.jsx("div",{className:"akilio-logo",children:w.jsx(Rn,{variant:"mark",style:{width:40,height:40},primaryColor:q})}),w.jsxs("div",{className:"akilio-header-content",children:[w.jsxs("div",{className:"akilio-header-topline",children:[w.jsx("div",{className:"akilio-header-title",children:w.jsx("h2",{children:u.title})}),w.jsxs("div",{className:"akilio-header-actions",children:[s&&w.jsx("button",{type:"button",onClick:G,title:o==="dark"?u.switchToLightMode:u.switchToDarkMode,"aria-label":o==="dark"?u.switchToLightMode:u.switchToDarkMode,children:o==="dark"?w.jsx(ms,{}):w.jsx(bs,{})}),w.jsx("button",{type:"button",onClick:H,title:u.clearHistory,"aria-label":u.clearHistory,children:w.jsx(fs,{})}),!a&&w.jsx("button",{type:"button",onClick:U,title:u.close,"aria-label":u.close,children:w.jsx(ps,{})})]})]}),w.jsx("p",{className:"akilio-header-description",children:u.description})]})]}),w.jsxs("div",{ref:oe,className:"akilio-thread","aria-live":"polite","aria-relevant":"additions",children:[p.length===0&&!h?w.jsx(ys,{copy:u,onSuggestion:_,widgetAvailable:l,showBranding:c,primaryColor:q}):w.jsx(Kh,{messages:p,copy:u,locale:f,onFeedback:P,onProductClick:J,onSuggestion:Z,primaryColor:q}),g&&w.jsx(Za,{message:g,copy:u,locale:f,onFeedback:P,onProductClick:J,onSuggestion:Z,primaryColor:q}),h&&!g&&w.jsx(Vh,{copy:u,label:E,primaryColor:q})]}),(O||v)&&b==="pending"&&w.jsxs("section",{className:"akilio-privacy","aria-label":u.privacyTitle,children:[w.jsxs("div",{children:[w.jsx("strong",{children:u.privacyTitle}),w.jsxs("p",{children:[O||u.privacyDefaultNotice," ",R&&w.jsx("a",{href:R,target:"_blank",rel:"noreferrer",children:u.privacyTitle})]}),v&&w.jsx("p",{className:"akilio-privacy-consent-copy",children:u.privacyAccept})]}),w.jsxs("div",{className:"akilio-privacy-actions",children:[w.jsx("button",{type:"button",className:"akilio-privacy-decline",onClick:()=>x("rejected"),children:u.privacyDecline}),w.jsx("button",{type:"button",className:"akilio-privacy-accept",onClick:()=>x("accepted"),children:u.privacyAcceptAction})]})]}),w.jsx(ks,{ref:ae,loading:h,disabled:!l||v&&!N,disabledMessage:l?u.privacyRequired:u.widgetUnavailable,showPoweredBy:d,copy:u,onSubmit:_,onDraftChange:B,onReviewConsent:v&&b==="rejected"?()=>x("pending"):void 0})]})});function Zh({label:e,onClick:t,showBranding:n=!0,primaryColor:r}){return w.jsxs("button",{id:"akilio-launcher",type:"button",className:"akilio-launcher",onClick:t,children:[w.jsx("span",{children:n?w.jsx(Rn,{variant:"mark",className:"akilio-launcher-logo",primaryColor:r}):w.jsx(lr,{className:"akilio-launcher-logo"})}),w.jsx("strong",{children:e})]})}function Xh({title:e,message:t,actionLabel:n,dismissLabel:r,onDismiss:i,onOpen:a,primaryColor:o,showBranding:s}){return w.jsxs("section",{className:"akilio-coachmark",role:"status","aria-live":"polite","aria-label":e,children:[w.jsx("button",{type:"button",className:"akilio-coachmark-close",onClick:i,"aria-label":r,children:w.jsx("span",{"aria-hidden":"true",children:"×"})}),w.jsx("div",{className:"akilio-coachmark-icon","aria-hidden":"true",children:s?w.jsx(Rn,{variant:"mark",primaryColor:o}):w.jsx(lr,{})}),w.jsxs("div",{className:"akilio-coachmark-content",children:[w.jsx("strong",{children:e}),w.jsx("p",{children:t}),w.jsx("button",{type:"button",className:"akilio-coachmark-action",onClick:a,children:n})]})]})}const Qh="(min-width: 1280px)";function jh(e=Qh){const[t,n]=F.useState(!1);return F.useEffect(()=>{if(typeof window>"u")return;const r=window.matchMedia(e),i=()=>n(r.matches);return i(),r.addEventListener?.("change",i),()=>r.removeEventListener?.("change",i)},[e]),t}const rn=60;function Xa(e,t){if(!e)return t;try{return JSON.parse(e)}catch{return t}}function Jh(e){const t=F.useMemo(()=>`akilio:${e.projectKey}:${e.locale||"default"}:messages:v1`,[e.projectKey,e.locale]),[n,r]=F.useState([]),[i,a]=F.useState(!1);return F.useEffect(()=>{if(!e.enabled||typeof window>"u"){a(!0);return}const o=Xa(window.localStorage.getItem(t),[]);r(Array.isArray(o)?o.slice(-rn):[]),a(!0)},[e.enabled,t]),F.useEffect(()=>{!e.enabled||!i||typeof window>"u"||window.localStorage.setItem(t,JSON.stringify(n.slice(-rn)))},[n,e.enabled,t,i]),[n,r,t]}function on(e){const[t,n]=F.useState(e.initialValue||""),[r,i]=F.useState(!1);return F.useEffect(()=>{if(!e.enabled||typeof window>"u"){i(!0);return}n(window.localStorage.getItem(e.key)||e.initialValue||""),i(!0)},[e.enabled,e.initialValue,e.key]),F.useEffect(()=>{!e.enabled||!r||typeof window>"u"||(t?window.localStorage.setItem(e.key,t):window.localStorage.removeItem(e.key))},[e.enabled,r,e.key,t]),[t,n]}const em={version:"0.6.6"};function xt(e){const t=e.toLowerCase();return Array.from(document.scripts).some(n=>(n.src||"").toLowerCase().includes(t))}function tm(e){const t=e.toLowerCase();return Array.from(document.querySelectorAll("link[href]")).some(n=>n.href.toLowerCase().includes(t))}function nm(e,t){return Array.from(document.querySelectorAll(`meta[${e}]`)).some(n=>n.getAttribute(e)===t)}function rm(e){const t=e.toLowerCase();return Array.from(document.body?.classList??[]).some(n=>n.toLowerCase().includes(t))}function im(){const e=window.location.hostname.toLowerCase(),t=document.documentElement.innerHTML.toLowerCase(),n=[];if(window.Shopify&&n.push("window.Shopify"),xt("cdn.shopify.com")&&n.push("cdn.shopify.com script"),t.includes("shopify-section")&&n.push("shopify-section markup"),e.endsWith(".myshopify.com")&&n.push("myshopify.com hostname"),n.length>=2)return{integration:"shopify",confidence:"high",signals:n};if(n.length===1)return{integration:"shopify",confidence:"medium",signals:n};const r=[];if(window.wcSettings&&r.push("window.wcSettings"),xt("woocommerce")&&r.push("WooCommerce script"),rm("woocommerce")&&r.push("WooCommerce body class"),(t.includes("woocommerce-cart")||t.includes("woocommerce-checkout")||t.includes("wc-block-"))&&r.push("WooCommerce markup"),r.length>=2)return{integration:"woocommerce",confidence:"high",signals:r};if(r.length===1)return{integration:"woocommerce",confidence:"medium",signals:r};const i=[];if(tm("/wp-json/")&&i.push("WordPress REST API link"),(xt("/wp-content/")||xt("/wp-includes/"))&&i.push("WordPress asset path"),(t.includes("/wp-content/")||t.includes("/wp-includes/"))&&i.push("WordPress HTML asset path"),nm("name","generator")&&document.querySelector('meta[name="generator"]')?.content.toLowerCase()?.includes("wordpress")&&i.push("WordPress generator metadata"),i.length>=2)return{integration:"wordpress",confidence:"high",signals:i};if(i.length===1)return{integration:"wordpress",confidence:"medium",signals:i};const a=[];if((window.prestashop||window.PrestaShop)&&a.push("PrestaShop global"),xt("/modules/")&&t.includes("prestashop")&&a.push("PrestaShop module assets"),document.querySelector('meta[name="generator"]')?.content.toLowerCase()?.includes("prestashop")&&a.push("PrestaShop generator metadata"),a.length>=2)return{integration:"prestashop",confidence:"high",signals:a};if(a.length===1)return{integration:"prestashop",confidence:"medium",signals:a};const s=[];return window.requirejs&&xt("mage/")&&s.push("Magento RequireJS modules"),(xt("/static/frontend/")||t.includes("mage-init"))&&s.push("Magento frontend assets"),t.includes("data-mage-init")&&s.push("data-mage-init"),s.length>=2?{integration:"magento",confidence:"high",signals:s}:s.length===1?{integration:"magento",confidence:"medium",signals:s}:t.includes("wixstatic.com")||xt("wixstatic.com")?{integration:"wix",confidence:"high",signals:["Wix static assets"]}:document.documentElement.hasAttribute("data-wf-page")||xt("webflow")?{integration:"webflow",confidence:"high",signals:["Webflow page attributes or assets"]}:xt("static1.squarespace.com")||t.includes("squarespace")?{integration:"squarespace",confidence:"medium",signals:["Squarespace assets"]}:window.__NEXT_DATA__||document.getElementById("__next")?{integration:"nextjs",confidence:"high",signals:["Next.js runtime markers"]}:document.querySelector("[ng-version]")||window.angular?{integration:"angular",confidence:"high",signals:["Angular runtime markers"]}:window.__NUXT__||document.getElementById("__nuxt")?{integration:"vue",confidence:"medium",signals:["Nuxt/Vue runtime markers"]}:window.Vue?{integration:"vue",confidence:"medium",signals:["Vue global"]}:document.getElementById("root")||document.querySelector("[data-reactroot]")?{integration:"react",confidence:"low",signals:["Possible React root element"]}:{integration:"unknown",confidence:"low",signals:[]}}class ai extends Error{status;payload;constructor(t,n,r){super(t),this.name="AkilioHttpError",this.status=n,this.payload=r}}function Qa(e,t){return`${e.replace(/\/$/,"")}${t.startsWith("/")?t:`/${t}`}`}async function ja(e){const t=await e.text();let n={};try{n=t?JSON.parse(t):{}}catch{n={detail:t}}if(!e.ok){const r=n?.detail||n?.error||n?.message||`Request failed with status ${e.status}`;throw new ai(r,e.status,n)}return n}function si(e,t,n){const r=`${e.replace(/\/$/,"")}|${t}|${n||"anonymous"}`;let i=2166136261;for(let a=0;a<r.length;a+=1)i^=r.charCodeAt(a),i=Math.imul(i,16777619);return`akilio:widget-token:v1:${(i>>>0).toString(16)}`}function om(e){if(typeof window>"u")return null;try{const t=window.sessionStorage.getItem(e);return t?JSON.parse(t):null}catch{return null}}function Ja(e,t){if(!(typeof window>"u"))try{t?window.sessionStorage.setItem(e,JSON.stringify(t)):window.sessionStorage.removeItem(e)}catch{}}class es{apiBaseUrl;fetchImpl;auth;widgetToken=null;widgetTokenPromise=null;widgetTokenPromiseKey=null;mode;locale;constructor(t){this.apiBaseUrl=t.apiBaseUrl;const n=t.fetchImpl||globalThis.fetch;if(!n)throw new Error("Fetch API is not available in this environment");this.fetchImpl=n.bind(globalThis),this.auth=t.auth,this.mode=t.mode,this.locale=t.locale}hasHostManagedToken(){return!!(this.auth?.getAccessToken||this.auth?.accessToken)}async hostManagedToken(){return(this.auth?.getAccessToken?await this.auth.getAccessToken():this.auth?.accessToken)||null}tokenIsUsable(t,n,r){const i=Math.max(0,this.auth?.tokenRefreshLeewaySeconds??30);return t.projectKey===n&&t.subject===r&&t.expiresAt>Date.now()+i*1e3}clearWidgetToken(t,n){this.widgetToken=null,Ja(si(this.apiBaseUrl,t,n),null)}async issueWidgetToken(t,n){const r=await this.publicRequest(`/projects/${encodeURIComponent(t)}/widget-token/`,{method:"POST",body:JSON.stringify(n?{subject:n}:{})}),i=Math.max(1,Number(r.expires_in)||1),a={token:r.token,tokenType:r.token_type||"Bearer",expiresAt:Date.now()+i*1e3,projectKey:t,subject:n};return this.widgetToken=a,Ja(si(this.apiBaseUrl,t,n),a),this.auth?.onWidgetToken?.({token:a.token,tokenType:a.tokenType,expiresAt:a.expiresAt}),a}async ensureWidgetToken(t,n,r=!1){if(!r&&this.widgetToken&&this.tokenIsUsable(this.widgetToken,t,n))return this.widgetToken;const i=si(this.apiBaseUrl,t,n);if(!r){const o=om(i);if(o&&this.tokenIsUsable(o,t,n))return this.widgetToken=o,o}r&&this.clearWidgetToken(t,n);const a=`${t}|${n||""}`;return(!this.widgetTokenPromise||this.widgetTokenPromiseKey!==a)&&(this.widgetTokenPromiseKey=a,this.widgetTokenPromise=this.issueWidgetToken(t,n).finally(()=>{this.widgetTokenPromiseKey===a&&(this.widgetTokenPromise=null,this.widgetTokenPromiseKey=null)})),this.widgetTokenPromise}async baseHeaders(t=!1){const n={Accept:"application/json",...this.auth?.headers||{}};return t&&(n["Content-Type"]="application/json"),this.auth?.apiKey&&(n[this.auth.apiKeyHeader||"X-Akilio-Key"]=this.auth.apiKey),n}async execute(t,n,r){const i=await this.fetchImpl(Qa(this.apiBaseUrl,t),{...n,credentials:this.auth?.credentials||"omit",headers:{...r,...n.headers||{}}});return ja(i)}async publicRequest(t,n={}){return this.execute(t,n,await this.baseHeaders(!!n.body))}async authenticatedRequest(t,n,r,i={}){const a=await this.baseHeaders(!!i.body),o=await this.hostManagedToken();if(o)return a.Authorization=`${this.auth?.tokenScheme||"Bearer"} ${o}`,this.execute(r,i,a);if(this.auth?.autoIssueWidgetToken===!1)throw new Error("No widget authentication token is available");let s=await this.ensureWidgetToken(t,n);a.Authorization=`${s.tokenType} ${s.token}`;try{return await this.execute(r,i,a)}catch(l){if(!(l instanceof ai)||l.status!==401)throw l;return s=await this.ensureWidgetToken(t,n,!0),a.Authorization=`${s.tokenType} ${s.token}`,this.execute(r,i,a)}}async authenticatedResponse(t,n,r,i={}){const a=await this.baseHeaders(!!i.body);a.Accept="text/event-stream";const o=await this.hostManagedToken();if(o)a.Authorization=`${this.auth?.tokenScheme||"Bearer"} ${o}`;else{if(this.auth?.autoIssueWidgetToken===!1)throw new Error("No widget authentication token is available");const c=await this.ensureWidgetToken(t,n);a.Authorization=`${c.tokenType} ${c.token}`}const s=()=>this.fetchImpl(Qa(this.apiBaseUrl,r),{...i,credentials:this.auth?.credentials||"omit",headers:{...a,...i.headers||{}}});let l=await s();if(l.status===401&&!o){await l.body?.cancel().catch(()=>{});const c=await this.ensureWidgetToken(t,n,!0);a.Authorization=`${c.tokenType} ${c.token}`,l=await s()}return l.ok||await ja(l),l}getProjectConfig(t){const n=im();return this.publicRequest(`/projects/${encodeURIComponent(t)}/config/`,{method:"POST",body:JSON.stringify({widget:{version:em.version,mode:this.mode,locale:this.locale,integration:n},browser:{screen_width:window.innerWidth,viewport_width:window.innerWidth,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,referrer:document.referrer||void 0}})})}async prepareWidgetToken(t,n){this.hasHostManagedToken()||this.auth?.autoIssueWidgetToken===!1||await this.ensureWidgetToken(t,n)}sendMessage(t,n,r){return this.authenticatedRequest(t,n,"/chat/",{method:"POST",body:JSON.stringify(r)})}async sendMessageStream(t,n,r,i={},a){let o;try{o=await this.authenticatedResponse(t,n,"/chat/stream/",{method:"POST",body:JSON.stringify(r),signal:a})}catch(f){if(f instanceof ai&&[404,405,406,415,501].includes(f.status))return this.sendMessage(t,n,r);throw f}if(!o.body)throw new Error("Streaming response body is unavailable");const s=o.body.getReader(),l=new TextDecoder;let c="",d=null;const u=f=>{let p="message";const g=[];for(const E of f.split(/\r?\n/))!E||E.startsWith(":")||(E.startsWith("event:")&&(p=E.slice(6).trim()),E.startsWith("data:")&&g.push(E.slice(5).trimStart()));if(!g.length)return;let h;try{const E=JSON.parse(g.join(`
37
37
  `));h=E&&typeof E=="object"?E:{value:E}}catch{h={detail:g.join(`
38
- `)}}if(i.onEvent?.({event:p,data:h}),p==="status")i.onStatus?.(String(h.stage||""),h);else if(p==="conversation"){const E=h.conversation_id||h.id;E&&i.onConversation?.(String(E))}else if(p==="answer.delta")typeof h.delta=="string"&&i.onDelta?.(h.delta);else if(p==="final")d=h;else if(p==="error")throw new Error(String(h.detail||h.error||h.message||"Streaming request failed"))};for(;;){const{value:f,done:p}=await s.read();c+=l.decode(f,{stream:!p});const g=c.split(/\r?\n\r?\n/);c=g.pop()||"";for(const h of g)u(h);if(p)break}if(c.trim()&&u(c),!d)throw new Error("The stream ended before a final response was received");return d}getConversation(t,n,r){const i=new URLSearchParams({project_key:t});return this.authenticatedRequest(t,n,`/api/v1/conversations/${encodeURIComponent(r)}/?${i}`)}deleteConversation(t,n,r){const i=new URLSearchParams({project_key:t});return this.authenticatedRequest(t,n,`/api/v1/conversations/${encodeURIComponent(r)}/?${i}`,{method:"DELETE"})}sendCommerceEvent(t,n,r){return this.authenticatedRequest(t,n,"/api/v1/commerce/events/",{method:"POST",body:JSON.stringify(r)})}sendFeedback(t){return this.authenticatedRequest(t.projectKey,t.subject,`/api/v1/messages/${encodeURIComponent(t.messageId)}/feedback/`,{method:"POST",body:JSON.stringify({project_key:t.projectKey,rating:t.rating,comment:t.comment||"",metadata:t.metadata||{}})})}}function am(e){const n=(e.locale||"").toLowerCase().startsWith("fr")?{launcher:"Demander à Akilio",title:"Demander à Akilio",description:"Propulsé par l'IA",placeholder:"Posez votre question...",helper:"Entrée pour envoyer. Maj + Entrée pour une nouvelle ligne.",submit:"Envoyer",loading:"Réflexion...",searching:"Recherche des informations pertinentes...",reviewingSources:"Consultation des sources...",checkingAnswer:"Vérification de la réponse...",preparingAnswer:"Préparation de la réponse...",emptyState:"Commencez avec une question ou choisissez une suggestion.",sources:"Sources",confidence:"Confiance",clearHistory:"Effacer",close:"Fermer",online:"Assistant IA",feedbackQuestion:"Cette réponse est-elle utile ?",feedbackThanks:"Merci pour votre retour.",voteUp:"Utile",voteDown:"Pas utile",requestFailed:"Impossible d’obtenir une réponse pour le moment.",configFailed:"Impossible de charger la configuration Akilio.",newChat:"Nouvelle conversation",privacyTitle:"Confidentialité",privacyAccept:"J’accepte que ma question et les données de conversation soient traitées pour fournir une réponse.",privacyAcceptAction:"Accepter",privacyDecline:"Refuser",privacyReview:"Revoir mon choix de confidentialité",privacyRequired:"Votre consentement est requis avant d’envoyer une question.",widgetUnavailable:"Cet assistant est temporairement indisponible.",poweredBy:"Propulsé par",aiContentWarning:"Le contenu généré par l’IA peut être inexact ou incomplet.",tourTitle:"Besoin d’aide ?",tourMessage:"Posez une question à l’assistant pour trouver rapidement une réponse.",tourAction:"Essayer",tourDismiss:"Fermer cette aide",privacyDefaultNotice:"Vos questions peuvent être enregistrées afin de fournir le service et améliorer sa qualité.",switchToLightMode:"Passer au thème clair",switchToDarkMode:"Passer au thème sombre",products:"Produits",viewProduct:"Voir le produit",fromPrice:"À partir de",unavailable:"Prix indisponible",inStock:"En stock",outOfStock:"Rupture de stock",suggestions:["Quels services offrez-vous ?","Comment puis-je vous contacter ?","Où trouver plus d’informations ?","Pouvez-vous résumer cette page ?"]}:{launcher:"Ask Akilio",title:"Ask Akilio",description:"Powered by AI",placeholder:"Ask your question...",helper:"Press Enter to send. Shift + Enter for a new line.",submit:"Send",loading:"Thinking...",searching:"Searching for relevant information...",reviewingSources:"Reviewing sources...",checkingAnswer:"Checking the answer...",preparingAnswer:"Preparing the answer...",emptyState:"Start with a question or choose a suggestion.",sources:"Sources",confidence:"Confidence",clearHistory:"Clear",close:"Close",online:"AI assistant",feedbackQuestion:"Was this answer useful?",feedbackThanks:"Thanks for your feedback.",voteUp:"Useful",voteDown:"Not useful",requestFailed:"Unable to get an answer right now.",configFailed:"Unable to load Akilio configuration.",newChat:"New chat",privacyTitle:"Privacy",privacyAccept:"I agree that my question and conversation data may be processed to provide an answer.",privacyAcceptAction:"Accept",privacyDecline:"Decline",privacyReview:"Review privacy choice",privacyRequired:"Consent is required before sending a question.",widgetUnavailable:"This assistant is temporarily unavailable.",poweredBy:"Powered by",aiContentWarning:"AI content may be inaccurate or incomplete.",tourTitle:"Need help?",tourMessage:"Ask the assistant a question to quickly find the information you need.",tourAction:"Try it",tourDismiss:"Dismiss this tip",privacyDefaultNotice:"Your questions may be stored to provide the service and improve its quality.",switchToLightMode:"Switch to light mode",switchToDarkMode:"Switch to dark mode",products:"Products",viewProduct:"View product",fromPrice:"From",unavailable:"Price unavailable",inStock:"In stock",outOfStock:"Out of stock",suggestions:["What services do you offer?","How can I contact you?","Where can I find more information?","Can you summarize this page?"]},r=e.projectConfig,i=e.overrides||{};return{...n,launcher:i.launcher||r?.theme_config?.launcher_label||n.launcher,title:i.title||r?.title||n.title,placeholder:i.placeholder||r?.placeholder||n.placeholder,suggestions:r?.starter_questions?.length?r.starter_questions:n.suggestions,...i}}const ts=':host,.akilio-root{--akilio-primary: #0f766e;--akilio-primary-hover: #115e59;--akilio-primary-foreground: #ffffff;--akilio-accent: #2563eb;--akilio-radius: 22px;--akilio-panel-width: 440px;--akilio-z-index: 2147483647}:host{all:initial;display:block;direction:ltr;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;text-align:left;color-scheme:light dark;pointer-events:none}.akilio-launcher,.akilio-overlay,.akilio-panel{pointer-events:auto}:host *,:host *:before,:host *:after,.akilio-root,.akilio-root *:before,.akilio-root *:after{box-sizing:border-box}.akilio-root button,.akilio-root input,.akilio-root textarea,.akilio-root select{font:inherit;color:inherit}.akilio-root,.akilio-root *{box-sizing:border-box}.akilio-root{color:#18181b;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.akilio-launcher{position:fixed;right:22px;bottom:22px;z-index:calc(var(--akilio-z-index) - 10);display:inline-flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:linear-gradient(135deg,var(--akilio-primary),color-mix(in srgb,var(--akilio-primary) 80%,transparent));color:#fff!important;padding:11px 16px 11px 12px;cursor:pointer;box-shadow:0 24px 60px #18181b40,0 0 0 1px #09090b14;transition:transform .26s ease,box-shadow .18s ease,background .18s ease}.akilio-launcher:hover{transform:translateY(-2px);box-shadow:0 28px 70px #0891b240,0 0 0 1px #09090b14}.akilio-launcher span{display:grid;width:30px;height:30px;place-items:center;overflow:hidden;border-radius:999px;background:#fff!important}.akilio-launcher-logo{display:block;width:22px;height:22px;object-fit:contain}.akilio-launcher strong{font-size:14px;font-weight:750;letter-spacing:-.01em}.akilio-overlay{position:fixed;inset:0;z-index:calc(var(--akilio-z-index) - 2);border:0;background:#09090b75;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);cursor:default}.akilio-panel{position:fixed;top:0;right:0;z-index:var(--akilio-z-index);display:flex;width:min(100vw,var(--akilio-panel-width));height:100dvh;transform:translate(103%);flex-direction:column;overflow:hidden;border-left:1px solid rgba(212,212,216,.9);background:#f8fafc;box-shadow:-30px 0 90px #0f172a3d;transition:transform .26s cubic-bezier(.2,.8,.2,1)}.akilio-panel--open{transform:translate(0)}.akilio-root[data-akilio-mode=floating] .akilio-panel{top:auto;right:22px;bottom:88px;width:min(400px,calc(100vw - 32px));height:min(650px,calc(100dvh - 116px));min-height:420px;transform:translateY(18px) scale(.98);transform-origin:right bottom;border:1px solid rgba(212,212,216,.9);border-radius:var(--akilio-radius);box-shadow:0 28px 80px #0f172a3d;opacity:0;visibility:hidden;pointer-events:none;transition:transform .22s cubic-bezier(.2,.8,.2,1),opacity .18s ease,visibility .18s ease}.akilio-root[data-akilio-mode=floating] .akilio-panel--open{transform:translateY(0) scale(1);opacity:1;visibility:visible;pointer-events:auto}.akilio-panel-glow{position:absolute;inset:0 0 auto;height:185px;pointer-events:none;background:radial-gradient(circle at 0% 0%,color-mix(in srgb,var(--akilio-primary) 35%,transparent),transparent 36%),radial-gradient(circle at 100% 0%,rgba(37,99,235,.22),transparent 34%)}.akilio-panel-header{position:relative;display:flex;align-items:flex-start;gap:12px;border-bottom:1px solid rgba(212,212,216,.82);background:#ffffffc7;padding:10px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.akilio-logo,.akilio-empty-icon{display:grid;flex-shrink:0;place-items:center}.akilio-logo img{display:block;width:100%;height:100%;object-fit:contain;object-position:left center}.akilio-empty-icon{width:64px;height:64px;border:1px solid rgba(124,58,237,.12);border-radius:calc(var(--akilio-radius) - 4px);background:#ffffffe0;box-shadow:0 18px 42px #6d28d929}.akilio-empty-icon img{display:block;width:42px;height:42px;object-fit:contain}.akilio-header-content{min-width:0;flex:1}.akilio-header-topline{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:10px}.akilio-header-title{display:flex;min-width:0;align-items:center;gap:8px}.akilio-header-title h2{overflow:hidden;margin:0;color:#09090b;font-size:14px;font-weight:800;letter-spacing:-.015em;text-overflow:ellipsis;white-space:nowrap}.akilio-online{display:inline-flex;align-items:center;gap:5px;border-radius:999px;background:#10b9811f;color:#047857;padding:3px 8px;font-size:10px;font-weight:800;white-space:nowrap}.akilio-online i{width:6px;height:6px;border-radius:999px;background:#10b981}.akilio-header-description{display:-webkit-box;margin:0;overflow:hidden;color:#71717a;font-size:12px;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:3}.akilio-header-actions{display:flex;flex-shrink:0;align-items:center;gap:4px}.akilio-header-actions button{display:grid;width:25px;height:25px;place-items:center;border:0;border-radius:999px;background:transparent;color:#71717a;cursor:pointer;transition:background .16s ease,color .16s ease}.akilio-header-actions button:hover{background:#f4f4f5;color:#09090b}.akilio-header-actions svg{width:18px;height:18px}.akilio-thread{position:relative;display:flex;flex:1;flex-direction:column;gap:14px;overflow-y:auto;padding:18px 16px 22px}.akilio-message-row{display:flex;width:100%}.akilio-message-row--user{justify-content:flex-end}.akilio-message-row--assistant{justify-content:flex-start}.akilio-stream-activity{align-items:center;gap:10px;min-height:38px;padding:2px 4px;color:#52525b}.akilio-stream-activity-icon{display:grid;width:28px;height:28px;flex:0 0 28px;place-items:center;border:1px solid color-mix(in srgb,var(--akilio-primary) 22%,#d4d4d8);border-radius:999px;background:color-mix(in srgb,var(--akilio-primary) 8%,#fff);color:var(--akilio-primary)}.akilio-stream-activity-content{display:flex;min-width:0;align-items:center;gap:8px}.akilio-stream-activity-label{font-size:13px;font-weight:550;line-height:1.4;animation:akilio-status-in .18s ease-out}.akilio-stream-activity-pulse{width:6px;height:6px;flex:0 0 6px;border-radius:999px;background:var(--akilio-primary);animation:akilio-status-pulse 1.2s ease-in-out infinite}@keyframes akilio-status-in{0%{transform:translateY(2px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes akilio-status-pulse{0%,to{transform:scale(.75);opacity:.35}50%{transform:scale(1);opacity:1}}.akilio-bubble{max-width:88%;overflow:hidden;border:1px solid rgba(212,212,216,.86);border-radius:26px 26px 26px 8px;background:#fffffff0;color:#27272a;padding:13px 15px;box-shadow:0 10px 28px #0f172a12}.akilio-bubble--user{border-color:#ffffff26;border-bottom-right-radius:8px;border-bottom-left-radius:26px;background:linear-gradient(135deg,var(--akilio-primary),color-mix(in srgb,var(--akilio-primary) 80%,transparent));color:#fff}.akilio-bubble--error{border-color:#f8717159;background:#fef2f2;color:#991b1b}.akilio-bubble-meta{display:flex;align-items:center;gap:7px;margin-bottom:8px;color:var(--akilio-primary);font-size:10px;font-weight:850;letter-spacing:.15em;text-transform:uppercase}.akilio-mini-icon{width:14px;height:14px}.akilio-confidence{margin-left:auto;border-radius:999px;background:color-mix(in srgb,var(--akilio-primary) 11%,transparent);padding:2px 7px;color:var(--akilio-primary);letter-spacing:0;text-transform:none}.akilio-answer{color:inherit;font-size:.8rem;line-height:1.7}.akilio-answer h2{font-size:1rem;font-weight:700;margin:0}.akilio-answer p{margin:.5rem 0}.akilio-answer p:first-child{margin-top:0}.akilio-answer p:last-child{margin-bottom:0}.akilio-answer ul,.akilio-answer ol{margin:.625rem 0 .625rem 1.25rem;padding-left:.75rem}.akilio-answer ul{list-style:disc}.akilio-answer ol{list-style:decimal}.akilio-answer li{margin:.25rem 0}.akilio-answer a{color:var(--akilio-primary);font-weight:700;text-decoration:underline;text-underline-offset:3px}.akilio-answer code{border-radius:7px;background:#0f172a14;padding:.12rem .35rem;font-size:.86em}.akilio-answer pre{margin:.75rem 0;overflow-x:auto;border:1px solid rgba(148,163,184,.2);border-radius:16px;background:#020617;padding:13px}.akilio-answer pre code{background:transparent;color:#e2e8f0;padding:0}.akilio-answer .hljs-keyword,.akilio-answer .hljs-selector-tag,.akilio-answer .hljs-built_in{color:#f0abfc}.akilio-answer .hljs-string,.akilio-answer .hljs-attr,.akilio-answer .hljs-symbol{color:#86efac}.akilio-answer .hljs-number,.akilio-answer .hljs-literal{color:#fcd34d}.akilio-answer .hljs-comment{color:#64748b;font-style:italic}.akilio-answer .hljs-title,.akilio-answer .hljs-function{color:#7dd3fc}.akilio-answer .hljs-variable{color:#fdba74}.akilio-answer--user{white-space:pre-wrap}.akilio-answer--user code{background:#ffffff29}.akilio-sources{margin-top:11px;overflow:hidden;border:1px solid rgba(212,212,216,.85);border-radius:16px;background:#f4f4f5c7}.akilio-sources summary{cursor:pointer;padding:9px 11px;color:#52525b;font-size:12px;font-weight:800}.akilio-sources-list{display:grid;gap:8px;border-top:1px solid rgba(212,212,216,.85);padding:8px}.akilio-source-card{display:grid;gap:3px;border:1px solid rgba(212,212,216,.82);border-radius:13px;background:#fff;padding:8px;font-size:12px}.akilio-source-card strong{color:#18181b}.akilio-source-card span{color:#71717a}.akilio-source-card a{overflow:hidden;color:var(--akilio-primary);text-overflow:ellipsis;white-space:nowrap}.akilio-feedback{display:flex;align-items:center;gap:7px;margin-top:11px;color:#71717a;font-size:11px}.akilio-feedback span{margin-right:auto}.akilio-feedback button{display:grid;width:28px;height:28px;place-items:center;border:1px solid rgba(212,212,216,.9);border-radius:999px;background:#fff;color:#71717a;cursor:pointer}.akilio-feedback button:hover,.akilio-feedback .akilio-feedback-active{border-color:color-mix(in srgb,var(--akilio-primary) 35%,#d4d4d8);color:var(--akilio-primary)}.akilio-feedback svg{width:14px;height:14px}.akilio-dots{display:flex;gap:6px;padding:2px 0}.akilio-dots span{width:8px;height:8px;border-radius:999px;background:var(--akilio-primary);animation:akilio-bounce .9s infinite ease-in-out}.akilio-dots span:nth-child(2){animation-delay:.1s}.akilio-dots span:nth-child(3){animation-delay:.2s}@keyframes akilio-bounce{0%,80%,to{transform:translateY(0);opacity:.45}40%{transform:translateY(-4px);opacity:1}}.akilio-empty{margin:auto;display:flex;max-width:340px;flex-direction:column;align-items:center;padding:34px 0;text-align:center}.akilio-empty-icon{width:58px;height:58px;margin-bottom:16px}.akilio-empty h3{margin:0;color:#09090b;font-size:17px;font-weight:850;letter-spacing:-.02em}.akilio-empty p{margin:8px 0 0;color:#71717a;font-size:14px;line-height:1.65}.akilio-suggestions{display:grid;width:100%;gap:9px;margin-top:18px}.akilio-suggestions button{border:1px solid rgba(212,212,216,.9);border-radius:16px;background:#fff;color:#3f3f46;cursor:pointer;padding:10px 12px;text-align:left;font-size:12px;font-weight:700;box-shadow:0 5px 14px #0f172a0a;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.akilio-suggestions button:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--akilio-primary) 35%,#d4d4d8);box-shadow:0 12px 22px #0f172a14}.akilio-composer{position:relative;border-top:1px solid rgba(212,212,216,.85);background:#ffffffdb;padding:8px 12px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.akilio-composer-box{display:flex;align-items:flex-end;gap:8px;border:1px solid rgba(212,212,216,.95);border-radius:24px;background:#f8fafc;padding:6px 12px;box-shadow:inset 0 1px 2px #0f172a0a;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.akilio-composer-box:focus-within{border-color:color-mix(in srgb,var(--akilio-primary) 55%,#d4d4d8);background:#fff;box-shadow:0 0 0 4px color-mix(in srgb,var(--akilio-primary) 13%,transparent),inset 0 1px 2px #0f172a08}.akilio-composer textarea{flex:1;min-height:36px;max-height:120px;height:36px;overflow-y:hidden;resize:none;border:0;outline:0;background:transparent;color:#09090b;padding:6px 0;font:inherit;font-size:14px;line-height:1.5}.akilio-online--unavailable{color:#a16207}.akilio-online--unavailable i{background:#f59e0b;box-shadow:0 0 0 3px #f59e0b29}.akilio-composer textarea::placeholder{color:#a1a1aa}.akilio-composer-submit{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:0;border-radius:999px;background:var(--akilio-primary);color:#fff;cursor:pointer;padding:0;transition:background .15s ease,opacity .15s ease,transform .15s ease}.akilio-composer-submit:hover:not(:disabled){background:var(--akilio-primary-hover);transform:scale(1.05)}.akilio-composer-submit:active:not(:disabled){transform:scale(.98)}.akilio-composer-submit:disabled{opacity:.45;cursor:not-allowed}.akilio-composer-submit svg{width:16px;height:16px}.akilio-composer-help{margin-top:6px;padding:0 12px;color:#71717a;font-size:11px;line-height:1.4;display:flex;align-items:center;gap:4px}.akilio-powered-by{margin-top:6px;padding:0 4px;color:#71717a;font-size:10px;font-weight:600;line-height:1.2;text-align:center}.akilio-coachmark{position:fixed;right:22px;bottom:94px;z-index:calc(var(--akilio-z-index) - 1);display:flex;width:min(320px,calc(100vw - 32px));gap:11px;border:1px solid color-mix(in srgb,var(--akilio-primary) 24%,#d4d4d8);border-radius:18px;background:#fffffffa;color:#17211f;padding:15px 38px 15px 15px;pointer-events:auto;box-shadow:0 24px 64px #042f2e2e,0 0 0 1px #0f766e0a;animation:akilio-coachmark-in .2s cubic-bezier(.2,.8,.2,1)}.akilio-coachmark:after{position:absolute;right:30px;bottom:-7px;width:13px;height:13px;transform:rotate(45deg);border-right:1px solid color-mix(in srgb,var(--akilio-primary) 24%,#d4d4d8);border-bottom:1px solid color-mix(in srgb,var(--akilio-primary) 24%,#d4d4d8);background:#fff;content:""}.akilio-coachmark-icon{display:grid;width:32px;height:32px;flex:0 0 32px;place-items:center;border-radius:999px;background:color-mix(in srgb,var(--akilio-primary) 11%,#fff);color:var(--akilio-primary)}.akilio-coachmark-icon svg{width:17px;height:17px}.akilio-coachmark-content{min-width:0}.akilio-coachmark-content strong{display:block;margin:0 0 3px;color:#17211f;font-size:14px;line-height:1.35}.akilio-coachmark-content p{margin:0;color:#52525b;font-size:12px;line-height:1.5}.akilio-coachmark-action{margin-top:9px;border:0;border-radius:999px;background:var(--akilio-primary);color:var(--akilio-primary-foreground);padding:7px 12px;cursor:pointer;font-size:11px;font-weight:750}.akilio-coachmark-close{position:absolute;top:8px;right:8px;display:grid;width:26px;height:26px;place-items:center;border:0;border-radius:999px;background:transparent;color:#71717a;cursor:pointer;font-size:20px;line-height:1}.akilio-coachmark-close:hover{background:#f4f4f5;color:#18181b}@keyframes akilio-coachmark-in{0%{transform:translateY(8px) scale(.98);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@media(max-width:640px){.akilio-launcher{right:16px;bottom:16px;padding:10px 12px}.akilio-coachmark{right:16px;bottom:82px}.akilio-launcher strong{display:none}.akilio-panel{width:100vw}.akilio-bubble{max-width:94%}.akilio-composer-help{display:none}}.akilio-root[data-akilio-mode=inline]{width:100%;height:100%;min-height:520px}.akilio-panel--inline{position:relative;inset:auto;width:100%;height:100%;min-height:520px;transform:none;border:1px solid rgba(212,212,216,.9);border-radius:var(--akilio-radius);box-shadow:0 18px 50px #0f172a1f}.akilio-privacy{display:grid;gap:8px;border-top:1px solid rgba(212,212,216,.82);background:#ffffffe6;padding:10px 14px;font-size:11px;line-height:1.45}.akilio-privacy strong{color:#18181b}.akilio-privacy p{margin:2px 0 0;color:#71717a}.akilio-privacy a{color:var(--akilio-primary);font-weight:700}.akilio-privacy label{display:flex;align-items:flex-start;gap:8px;color:#3f3f46;cursor:pointer}.akilio-privacy input{margin-top:2px;accent-color:var(--akilio-primary)}.akilio-composer textarea:disabled{cursor:not-allowed;opacity:.65}.akilio-root button:focus-visible,.akilio-root a:focus-visible,.akilio-root input:focus-visible{outline:3px solid color-mix(in srgb,var(--akilio-primary) 45%,transparent);outline-offset:2px}.akilio-root .akilio-composer textarea:focus,.akilio-root .akilio-composer textarea:focus-visible{border:0;outline:none;box-shadow:none}@media(prefers-reduced-motion:reduce){.akilio-root *,.akilio-root *:before,.akilio-root *:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.akilio-root[data-akilio-color-mode=dark]{color:#e4e4e7}.akilio-root[data-akilio-color-mode=dark] .akilio-panel,.akilio-root[data-akilio-color-mode=dark] .akilio-panel--inline{background:var(--akilio-surface, #09090b);border-color:#27272a}.akilio-root[data-akilio-color-mode=dark] .akilio-panel-header,.akilio-root[data-akilio-color-mode=dark] .akilio-privacy{background:#18181beb;border-color:#3f3f46}.akilio-root[data-akilio-color-mode=dark] .akilio-header-title h2,.akilio-root[data-akilio-color-mode=dark] .akilio-empty h3,.akilio-root[data-akilio-color-mode=dark] .akilio-privacy strong{color:var(--akilio-text, #fafafa)}.akilio-root[data-akilio-color-mode=dark] .akilio-header-description,.akilio-root[data-akilio-color-mode=dark] .akilio-empty p,.akilio-root[data-akilio-color-mode=dark] .akilio-privacy p,.akilio-root[data-akilio-color-mode=dark] .akilio-privacy label,.akilio-root[data-akilio-color-mode=dark] .akilio-stream-activity{color:var(--akilio-muted, #a1a1aa)}.akilio-root[data-akilio-color-mode=dark] .akilio-stream-activity-icon{border-color:color-mix(in srgb,var(--akilio-primary) 35%,#3f3f46);background:color-mix(in srgb,var(--akilio-primary) 15%,#18181b)}.akilio-root[data-akilio-color-mode=dark] .akilio-bubble{background:#18181b;border-color:#3f3f46;color:#e4e4e7;box-shadow:none}.akilio-root[data-akilio-color-mode=dark] .akilio-bubble--user{background:linear-gradient(135deg,var(--akilio-primary),var(--akilio-accent));color:var(--akilio-primary-foreground)}.akilio-root[data-akilio-color-mode=dark] .akilio-sources{background:#09090b;border-color:#3f3f46}.akilio-root[data-akilio-color-mode=dark] .akilio-sources-list{border-color:#3f3f46}.akilio-root[data-akilio-color-mode=dark] .akilio-source-card,.akilio-root[data-akilio-color-mode=dark] .akilio-feedback button,.akilio-root[data-akilio-color-mode=dark] .akilio-composer-box{background:#18181b;border-color:#3f3f46;color:#e4e4e7}.akilio-root[data-akilio-color-mode=dark] .akilio-source-card strong{color:#fafafa}.akilio-root[data-akilio-color-mode=dark] .akilio-source-card span,.akilio-root[data-akilio-color-mode=dark] .akilio-feedback{color:#a1a1aa}@media(prefers-color-scheme:dark){.akilio-root[data-akilio-color-mode=system] .akilio-panel,.akilio-root[data-akilio-color-mode=system] .akilio-panel--inline{background:#09090b;border-color:#27272a}.akilio-root[data-akilio-color-mode=system] .akilio-panel-header,.akilio-root[data-akilio-color-mode=system] .akilio-privacy{background:#18181beb;border-color:#3f3f46}.akilio-root[data-akilio-color-mode=system] .akilio-header-title h2,.akilio-root[data-akilio-color-mode=system] .akilio-empty h3,.akilio-root[data-akilio-color-mode=system] .akilio-privacy strong{color:#fafafa}.akilio-root[data-akilio-color-mode=system] .akilio-header-description,.akilio-root[data-akilio-color-mode=system] .akilio-empty p,.akilio-root[data-akilio-color-mode=system] .akilio-privacy p,.akilio-root[data-akilio-color-mode=system] .akilio-privacy label{color:#a1a1aa}.akilio-root[data-akilio-color-mode=system] .akilio-bubble{background:#18181b;border-color:#3f3f46;color:#e4e4e7;box-shadow:none}.akilio-root[data-akilio-color-mode=system] .akilio-bubble--user{background:linear-gradient(135deg,var(--akilio-primary),var(--akilio-accent));color:var(--akilio-primary-foreground)}.akilio-root[data-akilio-color-mode=system] .akilio-source-card,.akilio-root[data-akilio-color-mode=system] .akilio-feedback button,.akilio-root[data-akilio-color-mode=system] .akilio-composer-box{background:#18181b;border-color:#3f3f46;color:#e4e4e7}}@media(max-width:640px){.akilio-launcher{right:14px;bottom:max(14px,env(safe-area-inset-bottom));padding:10px}.akilio-launcher strong{display:none}.akilio-panel{width:100vw;height:100dvh;border-left:0}.akilio-root[data-akilio-mode=floating] .akilio-panel{right:14px;bottom:calc(76px + env(safe-area-inset-bottom));width:calc(100vw - 28px);height:min(640px,calc(100dvh - 104px - env(safe-area-inset-bottom)));min-height:min(420px,calc(100dvh - 104px));border:1px solid rgba(212,212,216,.9);border-radius:18px}.akilio-panel-header{padding-top:max(10px,env(safe-area-inset-top))}.akilio-thread{padding-inline:12px}.akilio-bubble{max-width:94%}.akilio-composer{padding-bottom:max(10px,env(safe-area-inset-bottom))}.akilio-root[data-akilio-mode=inline]{min-height:480px}.akilio-panel--inline{min-height:480px;border-radius:16px}}.akilio-root[data-akilio-color-mode=dark] .akilio-composer{background:#18181beb;border-color:#3f3f46}.akilio-root[data-akilio-color-mode=dark] .akilio-composer-box{background:#18181b;border-color:#3f3f46}.akilio-root[data-akilio-color-mode=dark] .akilio-composer textarea{color:var(--akilio-text, #fafafa);caret-color:var(--akilio-text, #fafafa);-webkit-text-fill-color:var(--akilio-text, #fafafa)}.akilio-root[data-akilio-color-mode=dark] .akilio-composer textarea::placeholder{color:var(--akilio-muted, #a1a1aa);-webkit-text-fill-color:var(--akilio-muted, #a1a1aa);opacity:1}.akilio-root[data-akilio-color-mode=dark] .akilio-composer-help,.akilio-root[data-akilio-color-mode=dark] .akilio-powered-by{color:var(--akilio-muted, #a1a1aa)}.akilio-root[data-akilio-color-mode=dark] .akilio-coachmark{border-color:color-mix(in srgb,var(--akilio-primary) 34%,#3f3f46);background:#18181bfa;color:#fafafa;box-shadow:0 24px 64px #0000006b}.akilio-root[data-akilio-color-mode=dark] .akilio-coachmark:after{border-color:color-mix(in srgb,var(--akilio-primary) 34%,#3f3f46);background:#18181b}.akilio-root[data-akilio-color-mode=dark] .akilio-coachmark-content strong{color:#fafafa}.akilio-root[data-akilio-color-mode=dark] .akilio-coachmark-content p,.akilio-root[data-akilio-color-mode=dark] .akilio-coachmark-close{color:#a1a1aa}.akilio-root[data-akilio-color-mode=dark] .akilio-coachmark-close:hover{background:#27272a;color:#fafafa}.akilio-root[data-akilio-color-mode=dark] .akilio-composer-box:focus-within{background:#18181b;border-color:color-mix(in srgb,var(--akilio-primary) 55%,#3f3f46)}.akilio-privacy-consent-copy{margin-top:6px!important}.akilio-privacy-actions{display:flex;justify-content:flex-end;gap:8px}.akilio-privacy-actions button{border:1px solid rgba(161,161,170,.65);border-radius:999px;padding:6px 12px;font:inherit;font-weight:700;cursor:pointer}.akilio-privacy-decline{background:transparent;color:#52525b}.akilio-privacy-accept{border-color:var(--akilio-primary)!important;background:var(--akilio-primary);color:#fff}.akilio-privacy-review{border:0;background:transparent;color:var(--akilio-primary);font:inherit;font-weight:700;text-decoration:underline;cursor:pointer;padding:0}.akilio-products{margin-top:14px;min-width:0}.akilio-products-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px;font-size:12px;color:#64748b}.akilio-products-heading span{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:#eef2ff;color:#4338ca;font-weight:700}.akilio-products-grid,.akilio-products-grid--vertical{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.akilio-products-grid--horizontal{display:flex;flex-direction:column;gap:10px}@media(max-width:640px){.akilio-products-grid--vertical{grid-template-columns:1fr}}@media(max-width:390px){.akilio-products-grid--vertical{grid-template-columns:1fr}.akilio-products-grid--horizontal{gap:8px}}.akilio-product-card{min-width:0;overflow:hidden;border:1px solid #e2e8f0;border-radius:16px;background:#fff;box-shadow:0 6px 20px #0f172a0f}.akilio-product-media{position:relative;aspect-ratio:4 / 3;overflow:hidden;background:#f1f5f9}.akilio-product-media img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .18s ease}.akilio-product-card:hover .akilio-product-media img{transform:scale(1.025)}.akilio-product-placeholder{width:100%;height:100%;display:grid;place-items:center;color:var(--akilio-primary);font-size:30px;font-weight:800;background:linear-gradient(145deg,#0891b21f,#2563eb14)}.akilio-stock{position:absolute;top:8px;right:8px;max-width:calc(100% - 16px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:4px 7px;border-radius:999px;background:#7f1d1de6;color:#fff;font-size:9px;font-weight:700}.akilio-stock--available{background:#065f46e6}.akilio-product-body{padding:11px}.akilio-product-vendor,.akilio-product-variant{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#64748b;font-size:10px}.akilio-product-card h4{margin:4px 0 8px;min-height:34px;overflow:hidden;color:#0f172a;font-size:13px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.akilio-product-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:5px}.akilio-product-price strong{color:#0f172a;font-size:14px}.akilio-product-price del{color:#94a3b8;font-size:10px}.akilio-product-action{width:auto;min-height:auto;display:inline-flex;align-items:center;justify-content:center;padding:6px 12px;border:0;border-radius:6px;background:transparent;color:var(--akilio-primary);font:inherit;font-size:11px;font-weight:700;text-decoration:underline;text-underline-offset:2px;cursor:pointer;transition:color .15s ease,background .15s ease}.akilio-product-action:hover{background:color-mix(in srgb,var(--akilio-primary) 8%,transparent);text-decoration:underline}.akilio-product-action:focus-visible{outline:3px solid color-mix(in srgb,var(--akilio-primary) 28%,transparent);outline-offset:2px}.akilio-product-action:disabled{opacity:.55;cursor:not-allowed}.akilio-root[data-akilio-color-mode=dark] .akilio-products-heading{color:#94a3b8}.akilio-root[data-akilio-color-mode=dark] .akilio-products-heading span{background:#312e81;color:#e0e7ff}.akilio-root[data-akilio-color-mode=dark] .akilio-product-card{background:#111827;border-color:#334155;box-shadow:none}.akilio-root[data-akilio-color-mode=dark] .akilio-product-media{background:#1e293b}.akilio-root[data-akilio-color-mode=dark] .akilio-product-card h4,.akilio-root[data-akilio-color-mode=dark] .akilio-product-price strong{color:#f8fafc}.akilio-root[data-akilio-color-mode=dark] .akilio-product-vendor,.akilio-root[data-akilio-color-mode=dark] .akilio-product-variant{color:#94a3b8}@media(max-width:390px){.akilio-products-grid{grid-template-columns:1fr}.akilio-product-media{aspect-ratio:16 / 9}}.akilio-response-suggestions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.akilio-response-suggestions button{appearance:none;border:1px solid color-mix(in srgb,var(--akilio-primary) 26%,#d4d4d8);border-radius:15px;background:color-mix(in srgb,var(--akilio-primary) 7%,#ffffff);color:color-mix(in srgb,var(--akilio-primary) 72%,#18181b);cursor:pointer;padding:8px 11px;text-align:left;font:inherit;font-size:12px;font-weight:700;line-height:1.35;transition:transform .15s ease,border-color .15s ease,background .15s ease}.akilio-response-suggestions button:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--akilio-primary) 52%,#d4d4d8);background:color-mix(in srgb,var(--akilio-primary) 12%,#ffffff)}.akilio-response-suggestions button:focus-visible{outline:3px solid color-mix(in srgb,var(--akilio-primary) 24%,transparent);outline-offset:2px}.akilio-root[data-akilio-color-mode=dark] .akilio-response-suggestions button{border-color:color-mix(in srgb,var(--akilio-primary) 34%,#3f3f46);background:color-mix(in srgb,var(--akilio-primary) 14%,#18181b);color:#f4f4f5}.akilio-product-card--vertical{display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid #e2e8f0;border-radius:16px;background:#fff;box-shadow:0 6px 20px #0f172a0f}.akilio-product-card--vertical .akilio-product-media{position:relative;aspect-ratio:4 / 3;overflow:hidden;background:#f1f5f9}.akilio-product-card--vertical .akilio-product-body{padding:11px;display:flex;flex-direction:column}.akilio-product-card--horizontal{display:flex;flex-direction:row;gap:12px;min-width:0;overflow:hidden;border:1px solid #e2e8f0;border-radius:16px;background:#fff;box-shadow:0 6px 20px #0f172a0f;align-items:stretch}.akilio-product-card--horizontal .akilio-product-media{flex:0 0 25%;min-width:80px;position:relative;aspect-ratio:1 / 1;overflow:hidden;background:#f1f5f9}.akilio-product-card--horizontal .akilio-product-body{flex:1;padding:11px;display:flex;flex-direction:column;justify-content:space-between;min-width:0}.akilio-product-card--horizontal .akilio-product-action{width:100%}.akilio-root[data-akilio-color-mode=dark] .akilio-product-card--vertical,.akilio-root[data-akilio-color-mode=dark] .akilio-product-card--horizontal{background:#111827;border-color:#334155;box-shadow:none}.akilio-root[data-akilio-color-mode=dark] .akilio-product-card--vertical .akilio-product-media,.akilio-root[data-akilio-color-mode=dark] .akilio-product-card--horizontal .akilio-product-media{background:#1e293b}@media(prefers-color-scheme:dark){.akilio-root[data-akilio-color-mode=system] .akilio-product-card--vertical,.akilio-root[data-akilio-color-mode=system] .akilio-product-card--horizontal{background:#111827;border-color:#334155;box-shadow:none}.akilio-root[data-akilio-color-mode=system] .akilio-product-card--vertical .akilio-product-media,.akilio-root[data-akilio-color-mode=system] .akilio-product-card--horizontal .akilio-product-media{background:#1e293b}}@media(max-width:480px){.akilio-product-card--horizontal{flex-direction:column;gap:0}.akilio-product-card--horizontal .akilio-product-media{flex:1;min-width:unset;aspect-ratio:4 / 3}}@media(max-width:390px){.akilio-product-card--vertical .akilio-product-media{aspect-ratio:16 / 9}.akilio-product-card--horizontal{flex-direction:column}.akilio-product-card--horizontal .akilio-product-media{aspect-ratio:16 / 9}}.source-ref{display:inline-flex;align-items:center;justify-content:center;margin-left:.3rem;padding:.1rem .45rem;border-radius:999px;font-size:.68rem;font-weight:600;letter-spacing:.01em;line-height:1.2;vertical-align:super;color:#334155;background:linear-gradient(180deg,#f8fafc,#eef2ff);border:1px solid #dbeafe;box-shadow:0 1px 2px #0f172a14;-webkit-user-select:none;user-select:none;white-space:nowrap}';class tr extends Error{code;constructor(t,n){super(n),this.name="AkilioPublicApiError",this.code=t}}function st(e,t){typeof window>"u"||window.dispatchEvent(new CustomEvent(`akilio:${e}`,{detail:t||{}}))}function $e(e,t){return new tr(e,t)}function an(){return typeof crypto<"u"&&crypto.randomUUID?crypto.randomUUID():`${Date.now()}-${Math.random().toString(16).slice(2)}`}function Nn(){return new Date().toISOString()}function ns(e){const t=typeof e=="function"?e():e||{};return typeof window>"u"?t:{url:t.url||window.location.href,title:t.title||document.title,...t}}function sm(e,t){const n={...e?.theme_config||{},...t||{}};return{"--akilio-primary":String(n.primary_color||"#0F766E"),"--akilio-primary-hover":String(n.primary_dark_color||"#115E59"),"--akilio-primary-foreground":String(n.primary_foreground_color||"#ffffff"),"--akilio-accent":String(n.accent_color||"#2563eb"),"--akilio-radius":String(n.radius||"22px"),"--akilio-panel-width":`${Number(n.panel_width||440)}px`,"--akilio-z-index":String(Number(n.z_index||2147483647)),"--akilio-surface":String(n.surface_color||""),"--akilio-text":String(n.text_color||""),"--akilio-muted":String(n.muted_color||"")}}function lm(e,t){F.useEffect(()=>{if(typeof document>"u")return;const n=document.documentElement;return n.classList.toggle("akilio-panel-open",e&&t),()=>n.classList.remove("akilio-panel-open")},[e,t])}function rs(e){return Array.isArray(e)?e.filter(t=>typeof t=="string").map(t=>t.trim()).filter(Boolean).slice(0,6):[]}function cm(e){if(typeof e.answer=="string"&&e.answer.trim())return e.answer;const t=e.content;if(t&&typeof t=="object")for(const n of["answer","text","message"]){const r=t[n];if(typeof r=="string"&&r.trim())return r}return""}function is(e){if(!e)return null;try{const t=JSON.parse(e);return t&&typeof t=="object"?t:null}catch{return null}}function um(e,t=!0){return{id:an(),role:"assistant",content:cm(e),backendMessageId:e.message_id,conversationId:e.conversation_id,confidence:e.confidence,sources:e.sources||[],provider:e.provider,model:e.model,commerce:t&&e.commerce||null,suggestions:rs(e.suggestions),createdAt:Nn()}}function os({apiBaseUrl:e="https://api.akilio-ai.com",projectKey:t,locale:n="en",mode:r="floating",colorMode:i="system",allowColorModeToggle:a=!0,showAkilioBranding:o=!0,streaming:s=!0,defaultOpen:l=!1,open:c,launcher:d="default",persistOpenState:u=!0,enableTour:f=!0,tourDelayMs:p=3e3,tourVersion:g="v1",enableLocalHistory:h=!0,enableServerHistorySync:E=!0,anonymousId:b,externalUserId:N,channel:v,audience:O,productArea:R,assistantMode:x,pageContext:U,auth:G,accessToken:H,privacyNotice:_,privacyNoticeUrl:B,requireConsent:P,consentNoticeVersion:J="v1",initialConsent:Z=!1,onConsentChange:q,copy:oe,theme:ae,className:Q,onOpenChange:ke,onMessage:m,onProductClick:Ee,onError:de}){const y=F.useRef(null),Te=F.useRef(null),et=F.useRef(0),fe=F.useRef({open:!1,busy:!1,conversationId:null}),lt=`akilio:${t}:config`,[tt,ht]=F.useState(null),He=F.useMemo(()=>({...G||{},accessToken:G?.accessToken||H}),[H,G]),Ie=F.useMemo(()=>new es({apiBaseUrl:e,auth:He,mode:r,locale:n}),[e,He,r,n]),Dt=jh(),[Ye,Kt]=F.useState(Xa(localStorage.getItem(lt),null)),[Nt,be]=F.useState(null),[nt,ct]=F.useState(!1),[Tt,At]=F.useState({stage:"",message:""}),[Tn,Ct]=F.useState(null),[_t,Re]=Jh({enabled:h,projectKey:t,locale:n}),[Be,S]=on({enabled:h,key:`akilio:${t}:${n}:conversation-id:v2`}),M=F.useMemo(()=>an(),[t]),[j]=on({enabled:!0,key:`akilio:${t}:widget-subject:v1`,initialValue:M}),[se,ye]=on({enabled:u,key:`akilio:${t}:panel-open:v2`,initialValue:l?"true":""}),[Ge,rt]=on({enabled:!0,key:`akilio:${t}:coachmark:${g||"v1"}`}),[Ze,ut]=F.useState(!1),[mt,De]=on({enabled:!0,key:`akilio:${t}:consent:${J}`,initialValue:Z?"true":""}),[bt,Xe]=F.useState(l),[Vt,An]=on({enabled:!0,key:`akilio:${t}:color-mode:v1`}),[li,nr]=F.useState("light"),Pe=r==="inline",k=r==="floating",T=r==="hybrid"||r==="side-panel",L=!Pe&&(r==="side-panel"||r==="hybrid"&&Dt),ee=!Pe&&!k&&(r==="drawer"||r==="hybrid"&&!Dt),we=Pe||(c??(u&&se==="true"||bt)),$=i||ae?.color_mode||Ye?.theme_config?.color_mode||"system",z=Vt==="light"||Vt==="dark"||Vt==="system"?Vt:$,Y=z==="system"?li:z,le=F.useMemo(()=>am({locale:n,projectConfig:Ye,overrides:oe}),[oe,n,Ye]),Ae=Ye?.widget_policy,kt=Ae?.available!==!1,dt=Ae?.commerce_enabled!==!1,sn=Ae?.assistant_mode||x,Cn=Ae?.branding==="akilio_required"||Ae?.branding!=="white_label"&&o,In=Ae?.branding==="akilio_required",ci=F.useMemo(()=>dt?_t:_t.map(C=>C.commerce?{...C,commerce:null}:C),[dt,_t]),ln=F.useMemo(()=>sm(Ye,ae),[Ye,ae]),On=P??Ye?.require_consent??!1,rr=_||Ye?.privacy_notice||"",cn=B||Ye?.privacy_notice_url,ir=mt==="true"||mt==="accepted"?"accepted":mt==="rejected"?"rejected":"pending",Yt=ir==="accepted",Qe=N||b||j||void 0,Le=F.useCallback(C=>{if(Pe)return;const X=fe.current.open!==C;fe.current.open=C,c===void 0&&(Xe(C),u&&ye(C?"true":"")),ke?.(C),X&&st(C?"open":"close")},[c,Pe,ke,u,ye]),Mn=F.useMemo(()=>({open:we,openChat:()=>Le(!0),closeChat:()=>Le(!1),toggleChat:()=>Le(!we)}),[we,Le]),It=F.useCallback(()=>{ut(!1),rt("seen")},[rt]),ui=F.useCallback(()=>{It(),Le(!0)},[It,Le]),di=F.useCallback(C=>{De(C==="pending"?"":C),C!=="pending"&&q?.(C==="accepted")},[q,De]);F.useEffect(()=>{if(typeof window>"u"||!window.matchMedia)return;const C=window.matchMedia("(prefers-color-scheme: dark)"),X=()=>nr(C.matches?"dark":"light");return X(),C.addEventListener?.("change",X),()=>C.removeEventListener?.("change",X)},[]);const pi=F.useCallback(()=>{An(Y==="dark"?"light":"dark")},[Y,An]);lm(we,L&&T),F.useEffect(()=>{if(!(f&&!Pe&&d==="default"&&kt&&!we)){ut(!1),we&&f&&rt("seen");return}const X=(ce=!1)=>{(ce||Ge!=="seen")&&ut(!0)},ne=window.setTimeout(()=>X(!1),Math.min(6e4,Math.max(0,Number(p)||0))),ie=()=>X(!0);return window.addEventListener("akilio:start-tour",ie),()=>{window.clearTimeout(ne),window.removeEventListener("akilio:start-tour",ie)}},[f,Pe,d,we,rt,p,Ge,kt]),F.useEffect(()=>{if(!Ze)return;const C=X=>{X.key==="Escape"&&It()};return window.addEventListener("keydown",C),()=>window.removeEventListener("keydown",C)},[Ze,It]),F.useEffect(()=>{let C=!1;return Ie.getProjectConfig(t).then(X=>{C||(window.localStorage.setItem(lt,JSON.stringify(X)),Kt(X),be(null))}).catch(X=>{C||(be(X.message),de?.(X))}),()=>{C=!0}},[Ie,de,t]),F.useEffect(()=>{Qe&&Ie.prepareWidgetToken(t,Qe).catch(C=>de?.(C))},[Ie,de,t,Qe]),F.useEffect(()=>{if(!E||!Qe||!Be||_t.length>0)return;let C=!1;return Ie.getConversation(t,Qe,Be).then(X=>{C||Re(X.messages.map(ne=>({id:ne.id,backendMessageId:ne.role==="assistant"?ne.id:void 0,conversationId:X.id,role:ne.role,content:ne.content,sources:ne.sources||[],confidence:ne.confidence,commerce:(()=>{const ie=ne.metadata&&typeof ne.metadata=="object"?ne.metadata:null,ce=is(ne.structured_content);return dt&&(ie?.commerce||ce?.commerce)||null})(),suggestions:(()=>{const ie=ne.metadata&&typeof ne.metadata=="object"?ne.metadata:null,ce=is(ne.structured_content);return rs(ie?.suggestions||ce?.suggestions)})(),createdAt:ne.created_at})).slice(-rn))}).catch(()=>S("")),()=>{C=!0}},[Ie,dt,Be,E,_t.length,t,S,Re,Qe]);const Pt=F.useCallback(()=>{Re([]),S("")},[S,Re]),or=F.useCallback(async C=>{if(!C)throw $e("INVALID_QUESTION","Question is empty");if(!kt)throw $e("INVALID_QUESTION","This widget is not currently available");if(nt)throw $e("BUSY","An answer is already in progress");if(On&&!Yt)throw $e("INVALID_QUESTION","Privacy consent is required");const X=ns(U),ne={id:an(),role:"user",content:C,createdAt:Nn(),conversationId:Be||void 0};Re(ce=>[...ce,ne].slice(-rn)),m?.(ne),st("question",{question:C}),ct(!0),fe.current.busy=!0,st("answer-start",{question:C}),At({stage:"",message:""}),Ct(null);const ie=an();try{const ce={project_key:t,conversation_id:Be||void 0,message:C,locale:n,channel:v||X.channel||"docs",audience:O||X.audience,product_area:R||X.productArea,assistant_mode:sn||void 0,page:{url:X.url,title:X.title,...X.metadata||{}},anonymous_id:b,external_user_id:N,consent:{granted:Yt,granted_at:Yt?Nn():void 0,notice_version:J}};let he="";const pt=s?await Ie.sendMessageStream(t,Qe,ce,{onStatus:(Fe,un)=>{const Zt=un.message||un.label;At({stage:Fe,message:typeof Zt=="string"?Zt:""})},onConversation:Fe=>{fe.current.conversationId=Fe,S(Fe)},onDelta:Fe=>{he+=Fe,st("answer-delta",{delta:Fe}),Ct({id:ie,role:"assistant",content:he,conversationId:Be||void 0,createdAt:Nn(),streaming:!0})}}):await Ie.sendMessage(t,Qe,ce);fe.current.conversationId=pt.conversation_id,S(pt.conversation_id);const Ot={...um(pt,dt),id:he?ie:an(),streaming:!1};return Ct(null),Re(Fe=>[...Fe,Ot].slice(-rn)),m?.(Ot),st("answer-complete",{response:pt}),pt}catch(ce){const he=ce instanceof Error?ce:new Error(le.requestFailed),pt={id:an(),role:"assistant",content:he.message||le.requestFailed,createdAt:Nn(),error:!0};throw Ct(null),Re(Ot=>[...Ot,pt].slice(-rn)),de?.(he),st("error",{code:ce instanceof tr?ce.code:"STREAM_FAILED",message:he.message||le.requestFailed}),he}finally{ct(!1),fe.current.busy=!1,At({stage:"",message:""})}},[b,O,v,Ie,dt,Yt,J,Be,le.requestFailed,On,sn,N,nt,n,de,m,U,R,t,S,Re,s,Qe,kt]),A=F.useCallback(()=>{const C=Te.current;C&&(Te.current=null,C.timer&&window.clearTimeout(C.timer),C.reject($e("TYPING_CANCELLED","Draft typing was cancelled")),st("typing-cancel",{draft:y.current?.getDraft()||""}))},[]),K=F.useCallback((C,X)=>{X&&Te.current&&A(),st("draft-change",{draft:C})},[A]);fe.current={open:we,busy:nt,conversationId:Be||null},F.useEffect(()=>{if(typeof window>"u"||window.AkilioWidget)return;const C=()=>{if(!y.current)throw $e("NOT_READY","The widget is not ready");return y.current},X=async(ie,ce={})=>{if(A(),typeof ie!="string")throw $e("INVALID_QUESTION","Draft must be a string");C().setDraft(ie,{focus:ce.focus,clearExisting:ce.clearExisting??!0}),await new Promise(he=>window.setTimeout(he,0))},ne=Object.freeze({open:async()=>{Le(!0),await new Promise(ie=>window.setTimeout(ie,0))},close:async()=>{Le(!1),await new Promise(ie=>window.setTimeout(ie,0))},setDraft:X,typeDraft:async(ie,ce={})=>{if(A(),typeof ie!="string"||!ie.length)throw $e("INVALID_QUESTION","Question must not be empty");const he=C(),pt=ce.clearExisting===!1?he.getDraft():"",Ot=Math.max(0,Number(ce.interval??35)),Fe=++et.current;return st("typing-start",{textLength:ie.length}),new Promise(async(un,Zt)=>{Te.current={id:Fe,reject:Zt};try{for(let Bt=1;Bt<=ie.length;Bt+=1){if(await new Promise(fi=>{const dn=window.setTimeout(fi,Ot);Te.current?.id===Fe&&(Te.current.timer=dn)}),Te.current?.id!==Fe)return;he.setDraft(`${pt}${ie.slice(0,Bt)}`,{clearExisting:!0,focus:ce.focus&&Bt===1})}if(Te.current?.id!==Fe)return;Te.current=null,st("typing-complete",{draft:he.getDraft()}),un()}catch(Bt){Te.current=null,Zt(Bt)}})},clearDraft:async()=>{A(),C().clearDraft()},cancelTyping:A,submit:async()=>{if(fe.current.busy)throw $e("BUSY","An answer is already in progress");const ie=C();if(!ie.getDraft().trim())throw $e("EMPTY_DRAFT","The draft is empty");try{return await ie.submitDraft()}catch(he){throw he instanceof tr?he:he instanceof Error&&he.message==="BUSY"?$e("BUSY","An answer is already in progress"):he instanceof Error&&he.message==="EMPTY_DRAFT"?$e("EMPTY_DRAFT","The draft is empty"):he instanceof Error&&he.message==="INVALID_QUESTION"?$e("INVALID_QUESTION","The question is invalid"):$e("STREAM_FAILED",he instanceof Error?he.message:"Streaming failed")}},ask:async(ie,ce)=>(await X(ie,ce),ne.submit()),reset:async()=>{try{if(A(),fe.current.busy)throw $e("BUSY","An answer is already in progress");Pt(),fe.current.conversationId=null,C().clearDraft(),Ct(null),st("reset")}catch(ie){throw ie instanceof tr?ie:$e("RESET_FAILED","The conversation could not be reset")}},getState:()=>({ready:!!y.current,open:fe.current.open,busy:fe.current.busy,typing:!!Te.current,draft:y.current?.getDraft()||"",conversationId:fe.current.conversationId})});return window.AkilioWidget=ne,st("ready"),()=>{A(),window.AkilioWidget===ne&&delete window.AkilioWidget}},[A,Pt,Le]);const ge=F.useCallback((C,X,ne)=>{dt&&(Ee?.(X,ne),Ie.sendCommerceEvent(t,Qe,{event_type:C.commerce?.capability==="product_search"?"search":"recommendation",product_id:X.id,variant_id:ne?.id||null,conversation_id:C.conversationId||Be||null,external_user_id:N||"",value:ne?.price||null,currency:ne?.currency||"",metadata:{source:"widget_product_card",capability:C.commerce?.capability,product_url:X.url||""}}).catch(ie=>de?.(ie)))},[Ie,dt,Be,N,de,Ee,t,Qe]),ve=F.useCallback(async(C,X)=>{if(C.backendMessageId){Re(ne=>ne.map(ie=>ie.id===C.id?{...ie,feedback:X}:ie));try{await Ie.sendFeedback({projectKey:t,subject:Qe,messageId:C.backendMessageId,rating:X,metadata:{conversation_id:C.conversationId||Be,locale:n,page:ns(U)}})}catch(ne){de?.(ne instanceof Error?ne:new Error("Feedback request failed"))}}},[Ie,Be,n,de,U,t,Re,Qe]);return w.jsxs("div",{ref:ht,className:Ft("akilio-root",Q),style:ln,"data-akilio-mode":Pe?"inline":k?"floating":L?"side-panel":"drawer","data-akilio-color-mode":Y,children:[!Pe&&d==="default"&&w.jsxs(w.Fragment,{children:[Ze&&w.jsx(Xh,{title:le.tourTitle,message:le.tourMessage,actionLabel:le.tourAction,dismissLabel:le.tourDismiss,onDismiss:It,onOpen:ui,primaryColor:ln["--akilio-primary"]||void 0,showBranding:o}),w.jsx(Zh,{label:Cn?le.launcher:le.title,onClick:()=>{It(),Mn.toggleChat()},showBranding:Cn,primaryColor:ln["--akilio-primary"]||void 0})]}),!Pe&&typeof d=="function"&&d(Mn),ee&&we&&w.jsx("button",{type:"button",className:"akilio-overlay","aria-label":le.close,onClick:()=>Le(!1)}),w.jsx(Yh,{ref:y,open:we,isDesktop:L,inline:Pe,colorMode:Y,allowColorModeToggle:a,widgetAvailable:kt,showBranding:Cn,showPoweredBy:In,locale:n,copy:{...le,description:Nt?`${le.description} ${le.configFailed}: ${Nt}`:le.description},messages:ci,streamingMessage:Tn,loading:nt,loadingLabel:Tt.message||(()=>{const C=Tt.stage.toLowerCase();return C.includes("retriev")||C.includes("search")?le.searching:C.includes("ground")||C.includes("source")?le.reviewingSources:C.includes("valid")||C.includes("check")||C.includes("safety")?le.checkingAnswer:C.includes("answer")||C.includes("generat")||C.includes("prepar")?le.preparingAnswer:le.loading})(),consentDecision:ir,consentGranted:Yt,requireConsent:On,privacyNotice:rr,privacyNoticeUrl:cn,onConsentDecision:di,onClose:()=>Le(!1),onToggleColorMode:pi,onClear:Pt,onSubmit:or,onDraftChange:K,onFeedback:ve,onProductClick:ge,onSuggestion:C=>{or(C).catch(()=>{})},primaryColor:ln["--akilio-primary"]||void 0})]})}function as(e){const t=e.styleIsolation??"shadow",n=(e.mode??"floating")!=="inline",r=F.useRef(null),[i,a]=F.useState(null);return F.useEffect(()=>{if(t!=="shadow"||!r.current){a(null);return}const o=r.current,s=o.shadowRoot??o.attachShadow({mode:"open"});if(n&&(o.style.position="fixed",o.style.inset="0",o.style.width="100vw",o.style.height="100dvh",o.style.margin="0",o.style.padding="0",o.style.border="0",o.style.background="transparent",o.style.pointerEvents="none",o.style.zIndex="2147483647",o.style.isolation="isolate",typeof o.showPopover=="function")){o.setAttribute("popover","manual");try{o.showPopover()}catch{o.removeAttribute("popover")}}let l=s.querySelector("style[data-akilio-styles]");l||(l=document.createElement("style"),l.setAttribute("data-akilio-styles",""),l.textContent=ts,s.appendChild(l));let c=s.querySelector("[data-akilio-shadow-mount]");return c||(c=document.createElement("div"),c.setAttribute("data-akilio-shadow-mount",""),s.appendChild(c)),a(c),()=>{if(typeof o.hidePopover=="function")try{o.hidePopover()}catch{}o.removeAttribute("popover"),o.removeAttribute("style")}},[t,n]),t==="shadow"?w.jsx("div",{ref:r,"data-akilio-shadow-host":"true",children:i&&cs.createPortal(w.jsx(os,{...e}),i)}):w.jsxs(w.Fragment,{children:[t==="scoped"&&w.jsx("style",{"data-akilio-styles":!0,children:ts}),w.jsx(os,{...e})]})}ft.AkilioClient=es,ft.AkilioWidget=as,ft.EjibuWidget=as,Object.defineProperty(ft,Symbol.toStringTag,{value:"Module"})}));
38
+ `)}}if(i.onEvent?.({event:p,data:h}),p==="status")i.onStatus?.(String(h.stage||""),h);else if(p==="conversation"){const E=h.conversation_id||h.id;E&&i.onConversation?.(String(E))}else if(p==="answer.delta")typeof h.delta=="string"&&i.onDelta?.(h.delta);else if(p==="final")d=h;else if(p==="error")throw new Error(String(h.detail||h.error||h.message||"Streaming request failed"))};for(;;){const{value:f,done:p}=await s.read();c+=l.decode(f,{stream:!p});const g=c.split(/\r?\n\r?\n/);c=g.pop()||"";for(const h of g)u(h);if(p)break}if(c.trim()&&u(c),!d)throw new Error("The stream ended before a final response was received");return d}getConversation(t,n,r){const i=new URLSearchParams({project_key:t});return this.authenticatedRequest(t,n,`/conversations/${encodeURIComponent(r)}/?${i}`)}deleteConversation(t,n,r){const i=new URLSearchParams({project_key:t});return this.authenticatedRequest(t,n,`/conversations/${encodeURIComponent(r)}/?${i}`,{method:"DELETE"})}sendCommerceEvent(t,n,r){return this.authenticatedRequest(t,n,"/commerce/events/",{method:"POST",body:JSON.stringify(r)})}sendFeedback(t){return this.authenticatedRequest(t.projectKey,t.subject,`/messages/${encodeURIComponent(t.messageId)}/feedback/`,{method:"POST",body:JSON.stringify({project_key:t.projectKey,rating:t.rating,comment:t.comment||"",metadata:t.metadata||{}})})}}function am(e){const n=(e.locale||"").toLowerCase().startsWith("fr")?{launcher:"Demander à Akilio",title:"Demander à Akilio",description:"Propulsé par l'IA",placeholder:"Posez votre question...",helper:"Entrée pour envoyer. Maj + Entrée pour une nouvelle ligne.",submit:"Envoyer",loading:"Réflexion...",searching:"Recherche des informations pertinentes...",reviewingSources:"Consultation des sources...",checkingAnswer:"Vérification de la réponse...",preparingAnswer:"Préparation de la réponse...",emptyState:"Commencez avec une question ou choisissez une suggestion.",sources:"Sources",confidence:"Confiance",clearHistory:"Effacer",close:"Fermer",online:"Assistant IA",feedbackQuestion:"Cette réponse est-elle utile ?",feedbackThanks:"Merci pour votre retour.",voteUp:"Utile",voteDown:"Pas utile",requestFailed:"Impossible d’obtenir une réponse pour le moment.",configFailed:"Impossible de charger la configuration Akilio.",newChat:"Nouvelle conversation",privacyTitle:"Confidentialité",privacyAccept:"J’accepte que ma question et les données de conversation soient traitées pour fournir une réponse.",privacyAcceptAction:"Accepter",privacyDecline:"Refuser",privacyReview:"Revoir mon choix de confidentialité",privacyRequired:"Votre consentement est requis avant d’envoyer une question.",widgetUnavailable:"Cet assistant est temporairement indisponible.",poweredBy:"Propulsé par",aiContentWarning:"Le contenu généré par l’IA peut être inexact ou incomplet.",tourTitle:"Besoin d’aide ?",tourMessage:"Posez une question à l’assistant pour trouver rapidement une réponse.",tourAction:"Essayer",tourDismiss:"Fermer cette aide",privacyDefaultNotice:"Vos questions peuvent être enregistrées afin de fournir le service et améliorer sa qualité.",switchToLightMode:"Passer au thème clair",switchToDarkMode:"Passer au thème sombre",products:"Produits",viewProduct:"Voir le produit",fromPrice:"À partir de",unavailable:"Prix indisponible",inStock:"En stock",outOfStock:"Rupture de stock",suggestions:["Quels services offrez-vous ?","Comment puis-je vous contacter ?","Où trouver plus d’informations ?","Pouvez-vous résumer cette page ?"]}:{launcher:"Ask Akilio",title:"Ask Akilio",description:"Powered by AI",placeholder:"Ask your question...",helper:"Press Enter to send. Shift + Enter for a new line.",submit:"Send",loading:"Thinking...",searching:"Searching for relevant information...",reviewingSources:"Reviewing sources...",checkingAnswer:"Checking the answer...",preparingAnswer:"Preparing the answer...",emptyState:"Start with a question or choose a suggestion.",sources:"Sources",confidence:"Confidence",clearHistory:"Clear",close:"Close",online:"AI assistant",feedbackQuestion:"Was this answer useful?",feedbackThanks:"Thanks for your feedback.",voteUp:"Useful",voteDown:"Not useful",requestFailed:"Unable to get an answer right now.",configFailed:"Unable to load Akilio configuration.",newChat:"New chat",privacyTitle:"Privacy",privacyAccept:"I agree that my question and conversation data may be processed to provide an answer.",privacyAcceptAction:"Accept",privacyDecline:"Decline",privacyReview:"Review privacy choice",privacyRequired:"Consent is required before sending a question.",widgetUnavailable:"This assistant is temporarily unavailable.",poweredBy:"Powered by",aiContentWarning:"AI content may be inaccurate or incomplete.",tourTitle:"Need help?",tourMessage:"Ask the assistant a question to quickly find the information you need.",tourAction:"Try it",tourDismiss:"Dismiss this tip",privacyDefaultNotice:"Your questions may be stored to provide the service and improve its quality.",switchToLightMode:"Switch to light mode",switchToDarkMode:"Switch to dark mode",products:"Products",viewProduct:"View product",fromPrice:"From",unavailable:"Price unavailable",inStock:"In stock",outOfStock:"Out of stock",suggestions:["What services do you offer?","How can I contact you?","Where can I find more information?","Can you summarize this page?"]},r=e.projectConfig,i=e.overrides||{};return{...n,launcher:i.launcher||r?.theme_config?.launcher_label||n.launcher,title:i.title||r?.title||n.title,placeholder:i.placeholder||r?.placeholder||n.placeholder,suggestions:r?.starter_questions?.length?r.starter_questions:n.suggestions,...i}}const ts=':host,.akilio-root{--akilio-primary: #0f766e;--akilio-primary-hover: #115e59;--akilio-primary-foreground: #ffffff;--akilio-accent: #2563eb;--akilio-radius: 22px;--akilio-panel-width: 440px;--akilio-z-index: 2147483647}:host{all:initial;display:block;direction:ltr;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;text-align:left;color-scheme:light dark;pointer-events:none}.akilio-launcher,.akilio-overlay,.akilio-panel{pointer-events:auto}:host *,:host *:before,:host *:after,.akilio-root,.akilio-root *:before,.akilio-root *:after{box-sizing:border-box}.akilio-root button,.akilio-root input,.akilio-root textarea,.akilio-root select{font:inherit;color:inherit}.akilio-root,.akilio-root *{box-sizing:border-box}.akilio-root{color:#18181b;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.akilio-launcher{position:fixed;right:22px;bottom:22px;z-index:calc(var(--akilio-z-index) - 10);display:inline-flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:linear-gradient(135deg,var(--akilio-primary),color-mix(in srgb,var(--akilio-primary) 80%,transparent));color:#fff!important;padding:11px 16px 11px 12px;cursor:pointer;box-shadow:0 24px 60px #18181b40,0 0 0 1px #09090b14;transition:transform .26s ease,box-shadow .18s ease,background .18s ease}.akilio-launcher:hover{transform:translateY(-2px);box-shadow:0 28px 70px #0891b240,0 0 0 1px #09090b14}.akilio-launcher span{display:grid;width:30px;height:30px;place-items:center;overflow:hidden;border-radius:999px;background:#fff!important}.akilio-launcher-logo{display:block;width:22px;height:22px;object-fit:contain}.akilio-launcher strong{font-size:14px;font-weight:750;letter-spacing:-.01em}.akilio-overlay{position:fixed;inset:0;z-index:calc(var(--akilio-z-index) - 2);border:0;background:#09090b75;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);cursor:default}.akilio-panel{position:fixed;top:0;right:0;z-index:var(--akilio-z-index);display:flex;width:min(100vw,var(--akilio-panel-width));height:100dvh;transform:translate(103%);flex-direction:column;overflow:hidden;border-left:1px solid rgba(212,212,216,.9);background:#f8fafc;box-shadow:-30px 0 90px #0f172a3d;transition:transform .26s cubic-bezier(.2,.8,.2,1)}.akilio-panel--open{transform:translate(0)}.akilio-root[data-akilio-mode=floating] .akilio-panel{top:auto;right:22px;bottom:88px;width:min(400px,calc(100vw - 32px));height:min(650px,calc(100dvh - 116px));min-height:420px;transform:translateY(18px) scale(.98);transform-origin:right bottom;border:1px solid rgba(212,212,216,.9);border-radius:var(--akilio-radius);box-shadow:0 28px 80px #0f172a3d;opacity:0;visibility:hidden;pointer-events:none;transition:transform .22s cubic-bezier(.2,.8,.2,1),opacity .18s ease,visibility .18s ease}.akilio-root[data-akilio-mode=floating] .akilio-panel--open{transform:translateY(0) scale(1);opacity:1;visibility:visible;pointer-events:auto}.akilio-panel-glow{position:absolute;inset:0 0 auto;height:185px;pointer-events:none;background:radial-gradient(circle at 0% 0%,color-mix(in srgb,var(--akilio-primary) 35%,transparent),transparent 36%),radial-gradient(circle at 100% 0%,rgba(37,99,235,.22),transparent 34%)}.akilio-panel-header{position:relative;display:flex;align-items:flex-start;gap:12px;border-bottom:1px solid rgba(212,212,216,.82);background:#ffffffc7;padding:10px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.akilio-logo,.akilio-empty-icon{display:grid;flex-shrink:0;place-items:center}.akilio-logo img{display:block;width:100%;height:100%;object-fit:contain;object-position:left center}.akilio-empty-icon{width:64px;height:64px;border:1px solid rgba(124,58,237,.12);border-radius:calc(var(--akilio-radius) - 4px);background:#ffffffe0;box-shadow:0 18px 42px #6d28d929}.akilio-empty-icon img{display:block;width:42px;height:42px;object-fit:contain}.akilio-header-content{min-width:0;flex:1}.akilio-header-topline{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:10px}.akilio-header-title{display:flex;min-width:0;align-items:center;gap:8px}.akilio-header-title h2{overflow:hidden;margin:0;color:#09090b;font-size:14px;font-weight:800;letter-spacing:-.015em;text-overflow:ellipsis;white-space:nowrap}.akilio-online{display:inline-flex;align-items:center;gap:5px;border-radius:999px;background:#10b9811f;color:#047857;padding:3px 8px;font-size:10px;font-weight:800;white-space:nowrap}.akilio-online i{width:6px;height:6px;border-radius:999px;background:#10b981}.akilio-header-description{display:-webkit-box;margin:0;overflow:hidden;color:#71717a;font-size:12px;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:3}.akilio-header-actions{display:flex;flex-shrink:0;align-items:center;gap:4px}.akilio-header-actions button{display:grid;width:25px;height:25px;place-items:center;border:0;border-radius:999px;background:transparent;color:#71717a;cursor:pointer;transition:background .16s ease,color .16s ease}.akilio-header-actions button:hover{background:#f4f4f5;color:#09090b}.akilio-header-actions svg{width:18px;height:18px}.akilio-thread{position:relative;display:flex;flex:1;flex-direction:column;gap:14px;overflow-y:auto;padding:18px 16px 22px}.akilio-message-row{display:flex;width:100%}.akilio-message-row--user{justify-content:flex-end}.akilio-message-row--assistant{justify-content:flex-start}.akilio-stream-activity{align-items:center;gap:10px;min-height:38px;padding:2px 4px;color:#52525b}.akilio-stream-activity-icon{display:grid;width:28px;height:28px;flex:0 0 28px;place-items:center;border:1px solid color-mix(in srgb,var(--akilio-primary) 22%,#d4d4d8);border-radius:999px;background:color-mix(in srgb,var(--akilio-primary) 8%,#fff);color:var(--akilio-primary)}.akilio-stream-activity-content{display:flex;min-width:0;align-items:center;gap:8px}.akilio-stream-activity-label{font-size:13px;font-weight:550;line-height:1.4;animation:akilio-status-in .18s ease-out}.akilio-stream-activity-pulse{width:6px;height:6px;flex:0 0 6px;border-radius:999px;background:var(--akilio-primary);animation:akilio-status-pulse 1.2s ease-in-out infinite}@keyframes akilio-status-in{0%{transform:translateY(2px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes akilio-status-pulse{0%,to{transform:scale(.75);opacity:.35}50%{transform:scale(1);opacity:1}}.akilio-bubble{max-width:88%;overflow:hidden;border:1px solid rgba(212,212,216,.86);border-radius:26px 26px 26px 8px;background:#fffffff0;color:#27272a;padding:13px 15px;box-shadow:0 10px 28px #0f172a12}.akilio-bubble--user{border-color:#ffffff26;border-bottom-right-radius:8px;border-bottom-left-radius:26px;background:linear-gradient(135deg,var(--akilio-primary),color-mix(in srgb,var(--akilio-primary) 80%,transparent));color:#fff}.akilio-bubble--error{border-color:#f8717159;background:#fef2f2;color:#991b1b}.akilio-bubble-meta{display:flex;align-items:center;gap:7px;margin-bottom:8px;color:var(--akilio-primary);font-size:10px;font-weight:850;letter-spacing:.15em;text-transform:uppercase}.akilio-mini-icon{width:14px;height:14px}.akilio-confidence{margin-left:auto;border-radius:999px;background:color-mix(in srgb,var(--akilio-primary) 11%,transparent);padding:2px 7px;color:var(--akilio-primary);letter-spacing:0;text-transform:none}.akilio-answer{color:inherit;font-size:13px;line-height:1.7}.akilio-answer h2{font-size:15px;font-weight:700;margin:0}.akilio-answer p{margin:.5rem 0}.akilio-answer p:first-child{margin-top:0}.akilio-answer p:last-child{margin-bottom:0}.akilio-answer ul,.akilio-answer ol{margin:.625rem 0 .625rem 1.25rem;padding-left:.75rem}.akilio-answer ul{list-style:disc}.akilio-answer ol{list-style:decimal}.akilio-answer li{margin:.25rem 0}.akilio-answer a{color:var(--akilio-primary);font-weight:700;text-decoration:underline;text-underline-offset:3px}.akilio-answer code{border-radius:7px;background:#0f172a14;padding:.12rem .35rem;font-size:.86em}.akilio-answer pre{margin:.75rem 0;overflow-x:auto;border:1px solid rgba(148,163,184,.2);border-radius:16px;background:#020617;padding:13px}.akilio-answer pre code{background:transparent;color:#e2e8f0;padding:0}.akilio-answer .hljs-keyword,.akilio-answer .hljs-selector-tag,.akilio-answer .hljs-built_in{color:#f0abfc}.akilio-answer .hljs-string,.akilio-answer .hljs-attr,.akilio-answer .hljs-symbol{color:#86efac}.akilio-answer .hljs-number,.akilio-answer .hljs-literal{color:#fcd34d}.akilio-answer .hljs-comment{color:#64748b;font-style:italic}.akilio-answer .hljs-title,.akilio-answer .hljs-function{color:#7dd3fc}.akilio-answer .hljs-variable{color:#fdba74}.akilio-answer--user{white-space:pre-wrap}.akilio-answer--user code{background:#ffffff29}.akilio-sources{margin-top:11px;overflow:hidden;border:1px solid rgba(212,212,216,.85);border-radius:16px;background:#f4f4f5c7}.akilio-sources summary{cursor:pointer;padding:9px 11px;color:#52525b;font-size:12px;font-weight:800}.akilio-sources-list{display:grid;gap:8px;border-top:1px solid rgba(212,212,216,.85);padding:8px}.akilio-source-card{display:grid;gap:3px;border:1px solid rgba(212,212,216,.82);border-radius:13px;background:#fff;padding:8px;font-size:12px}.akilio-source-card strong{color:#18181b}.akilio-source-card span{color:#71717a}.akilio-source-card a{overflow:hidden;color:var(--akilio-primary);text-overflow:ellipsis;white-space:nowrap}.akilio-feedback{display:flex;align-items:center;gap:7px;margin-top:11px;color:#71717a;font-size:11px}.akilio-feedback span{margin-right:auto}.akilio-feedback button{display:grid;width:28px;height:28px;place-items:center;border:1px solid rgba(212,212,216,.9);border-radius:999px;background:#fff;color:#71717a;cursor:pointer}.akilio-feedback button:hover,.akilio-feedback .akilio-feedback-active{border-color:color-mix(in srgb,var(--akilio-primary) 35%,#d4d4d8);color:var(--akilio-primary)}.akilio-feedback svg{width:14px;height:14px}.akilio-dots{display:flex;gap:6px;padding:2px 0}.akilio-dots span{width:8px;height:8px;border-radius:999px;background:var(--akilio-primary);animation:akilio-bounce .9s infinite ease-in-out}.akilio-dots span:nth-child(2){animation-delay:.1s}.akilio-dots span:nth-child(3){animation-delay:.2s}@keyframes akilio-bounce{0%,80%,to{transform:translateY(0);opacity:.45}40%{transform:translateY(-4px);opacity:1}}.akilio-empty{margin:auto;display:flex;max-width:340px;flex-direction:column;align-items:center;padding:34px 0;text-align:center}.akilio-empty-icon{width:58px;height:58px;margin-bottom:16px}.akilio-empty h3{margin:0;color:#09090b;font-size:17px;font-weight:850;letter-spacing:-.02em}.akilio-empty p{margin:8px 0 0;color:#71717a;font-size:14px;line-height:1.65}.akilio-suggestions{display:grid;width:100%;gap:9px;margin-top:18px}.akilio-suggestions button{border:1px solid rgba(212,212,216,.9);border-radius:16px;background:#fff;color:#3f3f46;cursor:pointer;padding:10px 12px;text-align:left;font-size:12px;font-weight:700;box-shadow:0 5px 14px #0f172a0a;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.akilio-suggestions button:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--akilio-primary) 35%,#d4d4d8);box-shadow:0 12px 22px #0f172a14}.akilio-composer{position:relative;border-top:1px solid rgba(212,212,216,.85);background:#ffffffdb;padding:8px 12px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.akilio-composer-box{display:flex;align-items:flex-end;gap:8px;border:1px solid rgba(212,212,216,.95);border-radius:24px;background:#f8fafc;padding:6px 12px;box-shadow:inset 0 1px 2px #0f172a0a;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.akilio-composer-box:focus-within{border-color:color-mix(in srgb,var(--akilio-primary) 55%,#d4d4d8);background:#fff;box-shadow:0 0 0 4px color-mix(in srgb,var(--akilio-primary) 13%,transparent),inset 0 1px 2px #0f172a08}.akilio-composer textarea{flex:1;min-height:36px;max-height:120px;height:36px;overflow-y:hidden;resize:none;border:0;outline:0;background:transparent;color:#09090b;padding:6px 0;font:inherit;font-size:14px;line-height:1.5}.akilio-online--unavailable{color:#a16207}.akilio-online--unavailable i{background:#f59e0b;box-shadow:0 0 0 3px #f59e0b29}.akilio-composer textarea::placeholder{color:#a1a1aa}.akilio-composer-submit{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:0;border-radius:999px;background:var(--akilio-primary);color:#fff;cursor:pointer;padding:0;transition:background .15s ease,opacity .15s ease,transform .15s ease}.akilio-composer-submit:hover:not(:disabled){background:var(--akilio-primary-hover);transform:scale(1.05)}.akilio-composer-submit:active:not(:disabled){transform:scale(.98)}.akilio-composer-submit:disabled{opacity:.45;cursor:not-allowed}.akilio-composer-submit svg{width:16px;height:16px}.akilio-composer-help{margin-top:6px;padding:0 12px;color:#71717a;font-size:11px;line-height:1.4;display:flex;align-items:center;gap:4px}.akilio-powered-by{margin-top:6px;padding:0 4px;color:#71717a;font-size:10px;font-weight:600;line-height:1.2;text-align:center}.akilio-coachmark{position:fixed;right:22px;bottom:94px;z-index:calc(var(--akilio-z-index) - 1);display:flex;width:min(320px,calc(100vw - 32px));gap:11px;border:1px solid color-mix(in srgb,var(--akilio-primary) 24%,#d4d4d8);border-radius:18px;background:#fffffffa;color:#17211f;padding:15px 38px 15px 15px;pointer-events:auto;box-shadow:0 24px 64px #042f2e2e,0 0 0 1px #0f766e0a;animation:akilio-coachmark-in .2s cubic-bezier(.2,.8,.2,1)}.akilio-coachmark:after{position:absolute;right:30px;bottom:-7px;width:13px;height:13px;transform:rotate(45deg);border-right:1px solid color-mix(in srgb,var(--akilio-primary) 24%,#d4d4d8);border-bottom:1px solid color-mix(in srgb,var(--akilio-primary) 24%,#d4d4d8);background:#fff;content:""}.akilio-coachmark-icon{display:grid;width:32px;height:32px;flex:0 0 32px;place-items:center;border-radius:999px;background:color-mix(in srgb,var(--akilio-primary) 11%,#fff);color:var(--akilio-primary)}.akilio-coachmark-icon svg{width:17px;height:17px}.akilio-coachmark-content{min-width:0}.akilio-coachmark-content strong{display:block;margin:0 0 3px;color:#17211f;font-size:14px;line-height:1.35}.akilio-coachmark-content p{margin:0;color:#52525b;font-size:12px;line-height:1.5}.akilio-coachmark-action{margin-top:9px;border:0;border-radius:999px;background:var(--akilio-primary);color:var(--akilio-primary-foreground);padding:7px 12px;cursor:pointer;font-size:11px;font-weight:750}.akilio-coachmark-close{position:absolute;top:8px;right:8px;display:grid;width:26px;height:26px;place-items:center;border:0;border-radius:999px;background:transparent;color:#71717a;cursor:pointer;font-size:20px;line-height:1}.akilio-coachmark-close:hover{background:#f4f4f5;color:#18181b}@keyframes akilio-coachmark-in{0%{transform:translateY(8px) scale(.98);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@media(max-width:640px){.akilio-launcher{right:16px;bottom:16px;padding:10px 12px}.akilio-coachmark{right:16px;bottom:82px}.akilio-launcher strong{display:none}.akilio-panel{width:100vw}.akilio-bubble{max-width:94%}.akilio-composer-help{display:none}}.akilio-root[data-akilio-mode=inline]{width:100%;height:100%;min-height:520px}.akilio-panel--inline{position:relative;inset:auto;width:100%;height:100%;min-height:520px;transform:none;border:1px solid rgba(212,212,216,.9);border-radius:var(--akilio-radius);box-shadow:0 18px 50px #0f172a1f}.akilio-privacy{display:grid;gap:8px;border-top:1px solid rgba(212,212,216,.82);background:#ffffffe6;padding:10px 14px;font-size:11px;line-height:1.45}.akilio-privacy strong{color:#18181b}.akilio-privacy p{margin:2px 0 0;color:#71717a}.akilio-privacy a{color:var(--akilio-primary);font-weight:700}.akilio-privacy label{display:flex;align-items:flex-start;gap:8px;color:#3f3f46;cursor:pointer}.akilio-privacy input{margin-top:2px;accent-color:var(--akilio-primary)}.akilio-composer textarea:disabled{cursor:not-allowed;opacity:.65}.akilio-root button:focus-visible,.akilio-root a:focus-visible,.akilio-root input:focus-visible{outline:3px solid color-mix(in srgb,var(--akilio-primary) 45%,transparent);outline-offset:2px}.akilio-root .akilio-composer textarea:focus,.akilio-root .akilio-composer textarea:focus-visible{border:0;outline:none;box-shadow:none}@media(prefers-reduced-motion:reduce){.akilio-root *,.akilio-root *:before,.akilio-root *:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.akilio-root[data-akilio-color-mode=dark]{color:#e4e4e7}.akilio-root[data-akilio-color-mode=dark] .akilio-panel,.akilio-root[data-akilio-color-mode=dark] .akilio-panel--inline{background:var(--akilio-surface, #09090b);border-color:#27272a}.akilio-root[data-akilio-color-mode=dark] .akilio-panel-header,.akilio-root[data-akilio-color-mode=dark] .akilio-privacy{background:#18181beb;border-color:#3f3f46}.akilio-root[data-akilio-color-mode=dark] .akilio-header-title h2,.akilio-root[data-akilio-color-mode=dark] .akilio-empty h3,.akilio-root[data-akilio-color-mode=dark] .akilio-privacy strong{color:var(--akilio-text, #fafafa)}.akilio-root[data-akilio-color-mode=dark] .akilio-header-description,.akilio-root[data-akilio-color-mode=dark] .akilio-empty p,.akilio-root[data-akilio-color-mode=dark] .akilio-privacy p,.akilio-root[data-akilio-color-mode=dark] .akilio-privacy label,.akilio-root[data-akilio-color-mode=dark] .akilio-stream-activity{color:var(--akilio-muted, #a1a1aa)}.akilio-root[data-akilio-color-mode=dark] .akilio-stream-activity-icon{border-color:color-mix(in srgb,var(--akilio-primary) 35%,#3f3f46);background:color-mix(in srgb,var(--akilio-primary) 15%,#18181b)}.akilio-root[data-akilio-color-mode=dark] .akilio-bubble{background:#18181b;border-color:#3f3f46;color:#e4e4e7;box-shadow:none}.akilio-root[data-akilio-color-mode=dark] .akilio-bubble--user{background:linear-gradient(135deg,var(--akilio-primary),var(--akilio-accent));color:var(--akilio-primary-foreground)}.akilio-root[data-akilio-color-mode=dark] .akilio-sources{background:#09090b;border-color:#3f3f46}.akilio-root[data-akilio-color-mode=dark] .akilio-sources-list{border-color:#3f3f46}.akilio-root[data-akilio-color-mode=dark] .akilio-source-card,.akilio-root[data-akilio-color-mode=dark] .akilio-feedback button,.akilio-root[data-akilio-color-mode=dark] .akilio-composer-box{background:#18181b;border-color:#3f3f46;color:#e4e4e7}.akilio-root[data-akilio-color-mode=dark] .akilio-source-card strong{color:#fafafa}.akilio-root[data-akilio-color-mode=dark] .akilio-source-card span,.akilio-root[data-akilio-color-mode=dark] .akilio-feedback{color:#a1a1aa}@media(prefers-color-scheme:dark){.akilio-root[data-akilio-color-mode=system] .akilio-panel,.akilio-root[data-akilio-color-mode=system] .akilio-panel--inline{background:#09090b;border-color:#27272a}.akilio-root[data-akilio-color-mode=system] .akilio-panel-header,.akilio-root[data-akilio-color-mode=system] .akilio-privacy{background:#18181beb;border-color:#3f3f46}.akilio-root[data-akilio-color-mode=system] .akilio-header-title h2,.akilio-root[data-akilio-color-mode=system] .akilio-empty h3,.akilio-root[data-akilio-color-mode=system] .akilio-privacy strong{color:#fafafa}.akilio-root[data-akilio-color-mode=system] .akilio-header-description,.akilio-root[data-akilio-color-mode=system] .akilio-empty p,.akilio-root[data-akilio-color-mode=system] .akilio-privacy p,.akilio-root[data-akilio-color-mode=system] .akilio-privacy label{color:#a1a1aa}.akilio-root[data-akilio-color-mode=system] .akilio-bubble{background:#18181b;border-color:#3f3f46;color:#e4e4e7;box-shadow:none}.akilio-root[data-akilio-color-mode=system] .akilio-bubble--user{background:linear-gradient(135deg,var(--akilio-primary),var(--akilio-accent));color:var(--akilio-primary-foreground)}.akilio-root[data-akilio-color-mode=system] .akilio-source-card,.akilio-root[data-akilio-color-mode=system] .akilio-feedback button,.akilio-root[data-akilio-color-mode=system] .akilio-composer-box{background:#18181b;border-color:#3f3f46;color:#e4e4e7}}@media(max-width:640px){.akilio-launcher{right:14px;bottom:max(14px,env(safe-area-inset-bottom));padding:10px}.akilio-launcher strong{display:none}.akilio-panel{width:100vw;height:100dvh;border-left:0}.akilio-root[data-akilio-mode=floating] .akilio-panel{right:14px;bottom:calc(76px + env(safe-area-inset-bottom));width:calc(100vw - 28px);height:min(640px,calc(100dvh - 104px - env(safe-area-inset-bottom)));min-height:min(420px,calc(100dvh - 104px));border:1px solid rgba(212,212,216,.9);border-radius:18px}.akilio-panel-header{padding-top:max(10px,env(safe-area-inset-top))}.akilio-thread{padding-inline:12px}.akilio-bubble{max-width:94%}.akilio-composer{padding-bottom:max(10px,env(safe-area-inset-bottom))}.akilio-root[data-akilio-mode=inline]{min-height:480px}.akilio-panel--inline{min-height:480px;border-radius:16px}}.akilio-root[data-akilio-color-mode=dark] .akilio-composer{background:#18181beb;border-color:#3f3f46}.akilio-root[data-akilio-color-mode=dark] .akilio-composer-box{background:#18181b;border-color:#3f3f46}.akilio-root[data-akilio-color-mode=dark] .akilio-composer textarea{color:var(--akilio-text, #fafafa);caret-color:var(--akilio-text, #fafafa);-webkit-text-fill-color:var(--akilio-text, #fafafa)}.akilio-root[data-akilio-color-mode=dark] .akilio-composer textarea::placeholder{color:var(--akilio-muted, #a1a1aa);-webkit-text-fill-color:var(--akilio-muted, #a1a1aa);opacity:1}.akilio-root[data-akilio-color-mode=dark] .akilio-composer-help,.akilio-root[data-akilio-color-mode=dark] .akilio-powered-by{color:var(--akilio-muted, #a1a1aa)}.akilio-root[data-akilio-color-mode=dark] .akilio-coachmark{border-color:color-mix(in srgb,var(--akilio-primary) 34%,#3f3f46);background:#18181bfa;color:#fafafa;box-shadow:0 24px 64px #0000006b}.akilio-root[data-akilio-color-mode=dark] .akilio-coachmark:after{border-color:color-mix(in srgb,var(--akilio-primary) 34%,#3f3f46);background:#18181b}.akilio-root[data-akilio-color-mode=dark] .akilio-coachmark-content strong{color:#fafafa}.akilio-root[data-akilio-color-mode=dark] .akilio-coachmark-content p,.akilio-root[data-akilio-color-mode=dark] .akilio-coachmark-close{color:#a1a1aa}.akilio-root[data-akilio-color-mode=dark] .akilio-coachmark-close:hover{background:#27272a;color:#fafafa}.akilio-root[data-akilio-color-mode=dark] .akilio-composer-box:focus-within{background:#18181b;border-color:color-mix(in srgb,var(--akilio-primary) 55%,#3f3f46)}.akilio-privacy-consent-copy{margin-top:6px!important}.akilio-privacy-actions{display:flex;justify-content:flex-end;gap:8px}.akilio-privacy-actions button{border:1px solid rgba(161,161,170,.65);border-radius:999px;padding:6px 12px;font:inherit;font-weight:700;cursor:pointer}.akilio-privacy-decline{background:transparent;color:#52525b}.akilio-privacy-accept{border-color:var(--akilio-primary)!important;background:var(--akilio-primary);color:#fff}.akilio-privacy-review{border:0;background:transparent;color:var(--akilio-primary);font:inherit;font-weight:700;text-decoration:underline;cursor:pointer;padding:0}.akilio-products{margin-top:14px;min-width:0}.akilio-products-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px;font-size:12px;color:#64748b}.akilio-products-heading span{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:#eef2ff;color:#4338ca;font-weight:700}.akilio-products-grid,.akilio-products-grid--vertical{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.akilio-products-grid--horizontal{display:flex;flex-direction:column;gap:10px}@media(max-width:640px){.akilio-products-grid--vertical{grid-template-columns:1fr}}@media(max-width:390px){.akilio-products-grid--vertical{grid-template-columns:1fr}.akilio-products-grid--horizontal{gap:8px}}.akilio-product-card{min-width:0;overflow:hidden;border:1px solid #e2e8f0;border-radius:16px;background:#fff;box-shadow:0 6px 20px #0f172a0f}.akilio-product-media{position:relative;aspect-ratio:4 / 3;overflow:hidden;background:#f1f5f9}.akilio-product-media img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .18s ease}.akilio-product-card:hover .akilio-product-media img{transform:scale(1.025)}.akilio-product-placeholder{width:100%;height:100%;display:grid;place-items:center;color:var(--akilio-primary);font-size:30px;font-weight:800;background:linear-gradient(145deg,#0891b21f,#2563eb14)}.akilio-stock{position:absolute;top:8px;right:8px;max-width:calc(100% - 16px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:4px 7px;border-radius:999px;background:#7f1d1de6;color:#fff;font-size:9px;font-weight:700}.akilio-stock--available{background:#065f46e6}.akilio-product-body{padding:11px}.akilio-product-vendor,.akilio-product-variant{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#64748b;font-size:10px}.akilio-product-card h4{margin:4px 0 8px;min-height:34px;overflow:hidden;color:#0f172a;font-size:13px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.akilio-product-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:5px}.akilio-product-price strong{color:#0f172a;font-size:14px}.akilio-product-price del{color:#94a3b8;font-size:10px}.akilio-product-action{width:auto;min-height:auto;display:inline-flex;align-items:center;justify-content:center;padding:6px 12px;border:0;border-radius:6px;background:transparent;color:var(--akilio-primary);font:inherit;font-size:11px;font-weight:700;text-decoration:underline;text-underline-offset:2px;cursor:pointer;transition:color .15s ease,background .15s ease}.akilio-product-action:hover{background:color-mix(in srgb,var(--akilio-primary) 8%,transparent);text-decoration:underline}.akilio-product-action:focus-visible{outline:3px solid color-mix(in srgb,var(--akilio-primary) 28%,transparent);outline-offset:2px}.akilio-product-action:disabled{opacity:.55;cursor:not-allowed}.akilio-root[data-akilio-color-mode=dark] .akilio-products-heading{color:#94a3b8}.akilio-root[data-akilio-color-mode=dark] .akilio-products-heading span{background:#312e81;color:#e0e7ff}.akilio-root[data-akilio-color-mode=dark] .akilio-product-card{background:#111827;border-color:#334155;box-shadow:none}.akilio-root[data-akilio-color-mode=dark] .akilio-product-media{background:#1e293b}.akilio-root[data-akilio-color-mode=dark] .akilio-product-card h4,.akilio-root[data-akilio-color-mode=dark] .akilio-product-price strong{color:#f8fafc}.akilio-root[data-akilio-color-mode=dark] .akilio-product-vendor,.akilio-root[data-akilio-color-mode=dark] .akilio-product-variant{color:#94a3b8}@media(max-width:390px){.akilio-products-grid{grid-template-columns:1fr}.akilio-product-media{aspect-ratio:16 / 9}}.akilio-response-suggestions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.akilio-response-suggestions button{appearance:none;border:1px solid color-mix(in srgb,var(--akilio-primary) 26%,#d4d4d8);border-radius:15px;background:color-mix(in srgb,var(--akilio-primary) 7%,#ffffff);color:color-mix(in srgb,var(--akilio-primary) 72%,#18181b);cursor:pointer;padding:8px 11px;text-align:left;font:inherit;font-size:12px;font-weight:700;line-height:1.35;transition:transform .15s ease,border-color .15s ease,background .15s ease}.akilio-response-suggestions button:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--akilio-primary) 52%,#d4d4d8);background:color-mix(in srgb,var(--akilio-primary) 12%,#ffffff)}.akilio-response-suggestions button:focus-visible{outline:3px solid color-mix(in srgb,var(--akilio-primary) 24%,transparent);outline-offset:2px}.akilio-root[data-akilio-color-mode=dark] .akilio-response-suggestions button{border-color:color-mix(in srgb,var(--akilio-primary) 34%,#3f3f46);background:color-mix(in srgb,var(--akilio-primary) 14%,#18181b);color:#f4f4f5}.akilio-product-card--vertical{display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid #e2e8f0;border-radius:16px;background:#fff;box-shadow:0 6px 20px #0f172a0f}.akilio-product-card--vertical .akilio-product-media{position:relative;aspect-ratio:4 / 3;overflow:hidden;background:#f1f5f9}.akilio-product-card--vertical .akilio-product-body{padding:11px;display:flex;flex-direction:column}.akilio-product-card--horizontal{display:flex;flex-direction:row;gap:12px;min-width:0;overflow:hidden;border:1px solid #e2e8f0;border-radius:16px;background:#fff;box-shadow:0 6px 20px #0f172a0f;align-items:stretch}.akilio-product-card--horizontal .akilio-product-media{flex:0 0 25%;min-width:80px;position:relative;aspect-ratio:1 / 1;overflow:hidden;background:#f1f5f9}.akilio-product-card--horizontal .akilio-product-body{flex:1;padding:11px;display:flex;flex-direction:column;justify-content:space-between;min-width:0}.akilio-product-card--horizontal .akilio-product-action{width:100%}.akilio-root[data-akilio-color-mode=dark] .akilio-product-card--vertical,.akilio-root[data-akilio-color-mode=dark] .akilio-product-card--horizontal{background:#111827;border-color:#334155;box-shadow:none}.akilio-root[data-akilio-color-mode=dark] .akilio-product-card--vertical .akilio-product-media,.akilio-root[data-akilio-color-mode=dark] .akilio-product-card--horizontal .akilio-product-media{background:#1e293b}@media(prefers-color-scheme:dark){.akilio-root[data-akilio-color-mode=system] .akilio-product-card--vertical,.akilio-root[data-akilio-color-mode=system] .akilio-product-card--horizontal{background:#111827;border-color:#334155;box-shadow:none}.akilio-root[data-akilio-color-mode=system] .akilio-product-card--vertical .akilio-product-media,.akilio-root[data-akilio-color-mode=system] .akilio-product-card--horizontal .akilio-product-media{background:#1e293b}}@media(max-width:480px){.akilio-product-card--horizontal{flex-direction:column;gap:0}.akilio-product-card--horizontal .akilio-product-media{flex:1;min-width:unset;aspect-ratio:4 / 3}}@media(max-width:390px){.akilio-product-card--vertical .akilio-product-media{aspect-ratio:16 / 9}.akilio-product-card--horizontal{flex-direction:column}.akilio-product-card--horizontal .akilio-product-media{aspect-ratio:16 / 9}}.source-ref{display:inline-flex;align-items:center;justify-content:center;margin-left:.3rem;padding:.1rem .45rem;border-radius:999px;font-size:.68rem;font-weight:600;letter-spacing:.01em;line-height:1.2;vertical-align:super;color:#334155;background:linear-gradient(180deg,#f8fafc,#eef2ff);border:1px solid #dbeafe;box-shadow:0 1px 2px #0f172a14;-webkit-user-select:none;user-select:none;white-space:nowrap}';class tr extends Error{code;constructor(t,n){super(n),this.name="AkilioPublicApiError",this.code=t}}function st(e,t){typeof window>"u"||window.dispatchEvent(new CustomEvent(`akilio:${e}`,{detail:t||{}}))}function $e(e,t){return new tr(e,t)}function an(){return typeof crypto<"u"&&crypto.randomUUID?crypto.randomUUID():`${Date.now()}-${Math.random().toString(16).slice(2)}`}function Nn(){return new Date().toISOString()}function ns(e){const t=typeof e=="function"?e():e||{};return typeof window>"u"?t:{url:t.url||window.location.href,title:t.title||document.title,...t}}function sm(e,t){const n={...e?.theme_config||{},...t||{}};return{"--akilio-primary":String(n.primary_color||"#0F766E"),"--akilio-primary-hover":String(n.primary_dark_color||"#115E59"),"--akilio-primary-foreground":String(n.primary_foreground_color||"#ffffff"),"--akilio-accent":String(n.accent_color||"#2563eb"),"--akilio-radius":String(n.radius||"22px"),"--akilio-panel-width":`${Number(n.panel_width||440)}px`,"--akilio-z-index":String(Number(n.z_index||2147483647)),"--akilio-surface":String(n.surface_color||""),"--akilio-text":String(n.text_color||""),"--akilio-muted":String(n.muted_color||"")}}function lm(e,t){F.useEffect(()=>{if(typeof document>"u")return;const n=document.documentElement;return n.classList.toggle("akilio-panel-open",e&&t),()=>n.classList.remove("akilio-panel-open")},[e,t])}function rs(e){return Array.isArray(e)?e.filter(t=>typeof t=="string").map(t=>t.trim()).filter(Boolean).slice(0,6):[]}function cm(e){if(typeof e.answer=="string"&&e.answer.trim())return e.answer;const t=e.content;if(t&&typeof t=="object")for(const n of["answer","text","message"]){const r=t[n];if(typeof r=="string"&&r.trim())return r}return""}function is(e){if(!e)return null;try{const t=JSON.parse(e);return t&&typeof t=="object"?t:null}catch{return null}}function um(e,t=!0){return{id:an(),role:"assistant",content:cm(e),backendMessageId:e.message_id,conversationId:e.conversation_id,confidence:e.confidence,sources:e.sources||[],provider:e.provider,model:e.model,commerce:t&&e.commerce||null,suggestions:rs(e.suggestions),createdAt:Nn()}}function os({apiBaseUrl:e="https://api.akilio-ai.com/v1",projectKey:t,locale:n="en",mode:r="floating",colorMode:i="system",allowColorModeToggle:a=!0,showAkilioBranding:o=!0,streaming:s=!0,defaultOpen:l=!1,open:c,launcher:d="default",persistOpenState:u=!0,enableTour:f=!0,tourDelayMs:p=3e3,tourVersion:g="v1",enableLocalHistory:h=!0,enableServerHistorySync:E=!0,anonymousId:b,externalUserId:N,channel:v,audience:O,productArea:R,assistantMode:x,pageContext:U,auth:G,accessToken:H,privacyNotice:_,privacyNoticeUrl:B,requireConsent:P,consentNoticeVersion:J="v1",initialConsent:Z=!1,onConsentChange:q,copy:oe,theme:ae,className:Q,onOpenChange:ke,onMessage:m,onProductClick:Ee,onError:de}){const y=F.useRef(null),Te=F.useRef(null),et=F.useRef(0),fe=F.useRef({open:!1,busy:!1,conversationId:null}),lt=`akilio:${t}:config`,[tt,ht]=F.useState(null),He=F.useMemo(()=>({...G||{},accessToken:G?.accessToken||H}),[H,G]),Ie=F.useMemo(()=>new es({apiBaseUrl:e,auth:He,mode:r,locale:n}),[e,He,r,n]),Dt=jh(),[Ye,Kt]=F.useState(Xa(localStorage.getItem(lt),null)),[Nt,be]=F.useState(null),[nt,ct]=F.useState(!1),[Tt,At]=F.useState({stage:"",message:""}),[Tn,Ct]=F.useState(null),[_t,Re]=Jh({enabled:h,projectKey:t,locale:n}),[Be,S]=on({enabled:h,key:`akilio:${t}:${n}:conversation-id:v2`}),M=F.useMemo(()=>an(),[t]),[j]=on({enabled:!0,key:`akilio:${t}:widget-subject:v1`,initialValue:M}),[se,ye]=on({enabled:u,key:`akilio:${t}:panel-open:v2`,initialValue:l?"true":""}),[Ge,rt]=on({enabled:!0,key:`akilio:${t}:coachmark:${g||"v1"}`}),[Ze,ut]=F.useState(!1),[mt,De]=on({enabled:!0,key:`akilio:${t}:consent:${J}`,initialValue:Z?"true":""}),[bt,Xe]=F.useState(l),[Vt,An]=on({enabled:!0,key:`akilio:${t}:color-mode:v1`}),[li,nr]=F.useState("light"),Pe=r==="inline",k=r==="floating",T=r==="hybrid"||r==="side-panel",L=!Pe&&(r==="side-panel"||r==="hybrid"&&Dt),ee=!Pe&&!k&&(r==="drawer"||r==="hybrid"&&!Dt),we=Pe||(c??(u&&se==="true"||bt)),$=i||ae?.color_mode||Ye?.theme_config?.color_mode||"system",z=Vt==="light"||Vt==="dark"||Vt==="system"?Vt:$,Y=z==="system"?li:z,le=F.useMemo(()=>am({locale:n,projectConfig:Ye,overrides:oe}),[oe,n,Ye]),Ae=Ye?.widget_policy,kt=Ae?.available!==!1,dt=Ae?.commerce_enabled!==!1,sn=Ae?.assistant_mode||x,Cn=Ae?.branding==="akilio_required"||Ae?.branding!=="white_label"&&o,In=Ae?.branding==="akilio_required",ci=F.useMemo(()=>dt?_t:_t.map(C=>C.commerce?{...C,commerce:null}:C),[dt,_t]),ln=F.useMemo(()=>sm(Ye,ae),[Ye,ae]),On=P??Ye?.require_consent??!1,rr=_||Ye?.privacy_notice||"",cn=B||Ye?.privacy_notice_url,ir=mt==="true"||mt==="accepted"?"accepted":mt==="rejected"?"rejected":"pending",Yt=ir==="accepted",Qe=N||b||j||void 0,Le=F.useCallback(C=>{if(Pe)return;const X=fe.current.open!==C;fe.current.open=C,c===void 0&&(Xe(C),u&&ye(C?"true":"")),ke?.(C),X&&st(C?"open":"close")},[c,Pe,ke,u,ye]),Mn=F.useMemo(()=>({open:we,openChat:()=>Le(!0),closeChat:()=>Le(!1),toggleChat:()=>Le(!we)}),[we,Le]),It=F.useCallback(()=>{ut(!1),rt("seen")},[rt]),ui=F.useCallback(()=>{It(),Le(!0)},[It,Le]),di=F.useCallback(C=>{De(C==="pending"?"":C),C!=="pending"&&q?.(C==="accepted")},[q,De]);F.useEffect(()=>{if(typeof window>"u"||!window.matchMedia)return;const C=window.matchMedia("(prefers-color-scheme: dark)"),X=()=>nr(C.matches?"dark":"light");return X(),C.addEventListener?.("change",X),()=>C.removeEventListener?.("change",X)},[]);const pi=F.useCallback(()=>{An(Y==="dark"?"light":"dark")},[Y,An]);lm(we,L&&T),F.useEffect(()=>{if(!(f&&!Pe&&d==="default"&&kt&&!we)){ut(!1),we&&f&&rt("seen");return}const X=(ce=!1)=>{(ce||Ge!=="seen")&&ut(!0)},ne=window.setTimeout(()=>X(!1),Math.min(6e4,Math.max(0,Number(p)||0))),ie=()=>X(!0);return window.addEventListener("akilio:start-tour",ie),()=>{window.clearTimeout(ne),window.removeEventListener("akilio:start-tour",ie)}},[f,Pe,d,we,rt,p,Ge,kt]),F.useEffect(()=>{if(!Ze)return;const C=X=>{X.key==="Escape"&&It()};return window.addEventListener("keydown",C),()=>window.removeEventListener("keydown",C)},[Ze,It]),F.useEffect(()=>{let C=!1;return Ie.getProjectConfig(t).then(X=>{C||(window.localStorage.setItem(lt,JSON.stringify(X)),Kt(X),be(null))}).catch(X=>{C||(be(X.message),de?.(X))}),()=>{C=!0}},[Ie,de,t]),F.useEffect(()=>{Qe&&Ie.prepareWidgetToken(t,Qe).catch(C=>de?.(C))},[Ie,de,t,Qe]),F.useEffect(()=>{if(!E||!Qe||!Be||_t.length>0)return;let C=!1;return Ie.getConversation(t,Qe,Be).then(X=>{C||Re(X.messages.map(ne=>({id:ne.id,backendMessageId:ne.role==="assistant"?ne.id:void 0,conversationId:X.id,role:ne.role,content:ne.content,sources:ne.sources||[],confidence:ne.confidence,commerce:(()=>{const ie=ne.metadata&&typeof ne.metadata=="object"?ne.metadata:null,ce=is(ne.structured_content);return dt&&(ie?.commerce||ce?.commerce)||null})(),suggestions:(()=>{const ie=ne.metadata&&typeof ne.metadata=="object"?ne.metadata:null,ce=is(ne.structured_content);return rs(ie?.suggestions||ce?.suggestions)})(),createdAt:ne.created_at})).slice(-rn))}).catch(()=>S("")),()=>{C=!0}},[Ie,dt,Be,E,_t.length,t,S,Re,Qe]);const Pt=F.useCallback(()=>{Re([]),S("")},[S,Re]),or=F.useCallback(async C=>{if(!C)throw $e("INVALID_QUESTION","Question is empty");if(!kt)throw $e("INVALID_QUESTION","This widget is not currently available");if(nt)throw $e("BUSY","An answer is already in progress");if(On&&!Yt)throw $e("INVALID_QUESTION","Privacy consent is required");const X=ns(U),ne={id:an(),role:"user",content:C,createdAt:Nn(),conversationId:Be||void 0};Re(ce=>[...ce,ne].slice(-rn)),m?.(ne),st("question",{question:C}),ct(!0),fe.current.busy=!0,st("answer-start",{question:C}),At({stage:"",message:""}),Ct(null);const ie=an();try{const ce={project_key:t,conversation_id:Be||void 0,message:C,locale:n,channel:v||X.channel||"docs",audience:O||X.audience,product_area:R||X.productArea,assistant_mode:sn||void 0,page:{url:X.url,title:X.title,...X.metadata||{}},anonymous_id:b,external_user_id:N,consent:{granted:Yt,granted_at:Yt?Nn():void 0,notice_version:J}};let he="";const pt=s?await Ie.sendMessageStream(t,Qe,ce,{onStatus:(Fe,un)=>{const Zt=un.message||un.label;At({stage:Fe,message:typeof Zt=="string"?Zt:""})},onConversation:Fe=>{fe.current.conversationId=Fe,S(Fe)},onDelta:Fe=>{he+=Fe,st("answer-delta",{delta:Fe}),Ct({id:ie,role:"assistant",content:he,conversationId:Be||void 0,createdAt:Nn(),streaming:!0})}}):await Ie.sendMessage(t,Qe,ce);fe.current.conversationId=pt.conversation_id,S(pt.conversation_id);const Ot={...um(pt,dt),id:he?ie:an(),streaming:!1};return Ct(null),Re(Fe=>[...Fe,Ot].slice(-rn)),m?.(Ot),st("answer-complete",{response:pt}),pt}catch(ce){const he=ce instanceof Error?ce:new Error(le.requestFailed),pt={id:an(),role:"assistant",content:he.message||le.requestFailed,createdAt:Nn(),error:!0};throw Ct(null),Re(Ot=>[...Ot,pt].slice(-rn)),de?.(he),st("error",{code:ce instanceof tr?ce.code:"STREAM_FAILED",message:he.message||le.requestFailed}),he}finally{ct(!1),fe.current.busy=!1,At({stage:"",message:""})}},[b,O,v,Ie,dt,Yt,J,Be,le.requestFailed,On,sn,N,nt,n,de,m,U,R,t,S,Re,s,Qe,kt]),A=F.useCallback(()=>{const C=Te.current;C&&(Te.current=null,C.timer&&window.clearTimeout(C.timer),C.reject($e("TYPING_CANCELLED","Draft typing was cancelled")),st("typing-cancel",{draft:y.current?.getDraft()||""}))},[]),K=F.useCallback((C,X)=>{X&&Te.current&&A(),st("draft-change",{draft:C})},[A]);fe.current={open:we,busy:nt,conversationId:Be||null},F.useEffect(()=>{if(typeof window>"u"||window.AkilioWidget)return;const C=()=>{if(!y.current)throw $e("NOT_READY","The widget is not ready");return y.current},X=async(ie,ce={})=>{if(A(),typeof ie!="string")throw $e("INVALID_QUESTION","Draft must be a string");C().setDraft(ie,{focus:ce.focus,clearExisting:ce.clearExisting??!0}),await new Promise(he=>window.setTimeout(he,0))},ne=Object.freeze({open:async()=>{Le(!0),await new Promise(ie=>window.setTimeout(ie,0))},close:async()=>{Le(!1),await new Promise(ie=>window.setTimeout(ie,0))},setDraft:X,typeDraft:async(ie,ce={})=>{if(A(),typeof ie!="string"||!ie.length)throw $e("INVALID_QUESTION","Question must not be empty");const he=C(),pt=ce.clearExisting===!1?he.getDraft():"",Ot=Math.max(0,Number(ce.interval??35)),Fe=++et.current;return st("typing-start",{textLength:ie.length}),new Promise(async(un,Zt)=>{Te.current={id:Fe,reject:Zt};try{for(let Bt=1;Bt<=ie.length;Bt+=1){if(await new Promise(fi=>{const dn=window.setTimeout(fi,Ot);Te.current?.id===Fe&&(Te.current.timer=dn)}),Te.current?.id!==Fe)return;he.setDraft(`${pt}${ie.slice(0,Bt)}`,{clearExisting:!0,focus:ce.focus&&Bt===1})}if(Te.current?.id!==Fe)return;Te.current=null,st("typing-complete",{draft:he.getDraft()}),un()}catch(Bt){Te.current=null,Zt(Bt)}})},clearDraft:async()=>{A(),C().clearDraft()},cancelTyping:A,submit:async()=>{if(fe.current.busy)throw $e("BUSY","An answer is already in progress");const ie=C();if(!ie.getDraft().trim())throw $e("EMPTY_DRAFT","The draft is empty");try{return await ie.submitDraft()}catch(he){throw he instanceof tr?he:he instanceof Error&&he.message==="BUSY"?$e("BUSY","An answer is already in progress"):he instanceof Error&&he.message==="EMPTY_DRAFT"?$e("EMPTY_DRAFT","The draft is empty"):he instanceof Error&&he.message==="INVALID_QUESTION"?$e("INVALID_QUESTION","The question is invalid"):$e("STREAM_FAILED",he instanceof Error?he.message:"Streaming failed")}},ask:async(ie,ce)=>(await X(ie,ce),ne.submit()),reset:async()=>{try{if(A(),fe.current.busy)throw $e("BUSY","An answer is already in progress");Pt(),fe.current.conversationId=null,C().clearDraft(),Ct(null),st("reset")}catch(ie){throw ie instanceof tr?ie:$e("RESET_FAILED","The conversation could not be reset")}},getState:()=>({ready:!!y.current,open:fe.current.open,busy:fe.current.busy,typing:!!Te.current,draft:y.current?.getDraft()||"",conversationId:fe.current.conversationId})});return window.AkilioWidget=ne,st("ready"),()=>{A(),window.AkilioWidget===ne&&delete window.AkilioWidget}},[A,Pt,Le]);const ge=F.useCallback((C,X,ne)=>{dt&&(Ee?.(X,ne),Ie.sendCommerceEvent(t,Qe,{event_type:C.commerce?.capability==="product_search"?"search":"recommendation",product_id:X.id,variant_id:ne?.id||null,conversation_id:C.conversationId||Be||null,external_user_id:N||"",value:ne?.price||null,currency:ne?.currency||"",metadata:{source:"widget_product_card",capability:C.commerce?.capability,product_url:X.url||""}}).catch(ie=>de?.(ie)))},[Ie,dt,Be,N,de,Ee,t,Qe]),ve=F.useCallback(async(C,X)=>{if(C.backendMessageId){Re(ne=>ne.map(ie=>ie.id===C.id?{...ie,feedback:X}:ie));try{await Ie.sendFeedback({projectKey:t,subject:Qe,messageId:C.backendMessageId,rating:X,metadata:{conversation_id:C.conversationId||Be,locale:n,page:ns(U)}})}catch(ne){de?.(ne instanceof Error?ne:new Error("Feedback request failed"))}}},[Ie,Be,n,de,U,t,Re,Qe]);return w.jsxs("div",{ref:ht,className:Ft("akilio-root",Q),style:ln,"data-akilio-mode":Pe?"inline":k?"floating":L?"side-panel":"drawer","data-akilio-color-mode":Y,children:[!Pe&&d==="default"&&w.jsxs(w.Fragment,{children:[Ze&&w.jsx(Xh,{title:le.tourTitle,message:le.tourMessage,actionLabel:le.tourAction,dismissLabel:le.tourDismiss,onDismiss:It,onOpen:ui,primaryColor:ln["--akilio-primary"]||void 0,showBranding:o}),w.jsx(Zh,{label:Cn?le.launcher:le.title,onClick:()=>{It(),Mn.toggleChat()},showBranding:Cn,primaryColor:ln["--akilio-primary"]||void 0})]}),!Pe&&typeof d=="function"&&d(Mn),ee&&we&&w.jsx("button",{type:"button",className:"akilio-overlay","aria-label":le.close,onClick:()=>Le(!1)}),w.jsx(Yh,{ref:y,open:we,isDesktop:L,inline:Pe,colorMode:Y,allowColorModeToggle:a,widgetAvailable:kt,showBranding:Cn,showPoweredBy:In,locale:n,copy:{...le,description:Nt?`${le.description} ${le.configFailed}: ${Nt}`:le.description},messages:ci,streamingMessage:Tn,loading:nt,loadingLabel:Tt.message||(()=>{const C=Tt.stage.toLowerCase();return C.includes("retriev")||C.includes("search")?le.searching:C.includes("ground")||C.includes("source")?le.reviewingSources:C.includes("valid")||C.includes("check")||C.includes("safety")?le.checkingAnswer:C.includes("answer")||C.includes("generat")||C.includes("prepar")?le.preparingAnswer:le.loading})(),consentDecision:ir,consentGranted:Yt,requireConsent:On,privacyNotice:rr,privacyNoticeUrl:cn,onConsentDecision:di,onClose:()=>Le(!1),onToggleColorMode:pi,onClear:Pt,onSubmit:or,onDraftChange:K,onFeedback:ve,onProductClick:ge,onSuggestion:C=>{or(C).catch(()=>{})},primaryColor:ln["--akilio-primary"]||void 0})]})}function as(e){const t=e.styleIsolation??"shadow",n=(e.mode??"floating")!=="inline",r=F.useRef(null),[i,a]=F.useState(null);return F.useEffect(()=>{if(t!=="shadow"||!r.current){a(null);return}const o=r.current,s=o.shadowRoot??o.attachShadow({mode:"open"});if(n&&(o.style.position="fixed",o.style.inset="0",o.style.width="100vw",o.style.height="100dvh",o.style.margin="0",o.style.padding="0",o.style.border="0",o.style.background="transparent",o.style.pointerEvents="none",o.style.zIndex="2147483647",o.style.isolation="isolate",typeof o.showPopover=="function")){o.setAttribute("popover","manual");try{o.showPopover()}catch{o.removeAttribute("popover")}}let l=s.querySelector("style[data-akilio-styles]");l||(l=document.createElement("style"),l.setAttribute("data-akilio-styles",""),l.textContent=ts,s.appendChild(l));let c=s.querySelector("[data-akilio-shadow-mount]");return c||(c=document.createElement("div"),c.setAttribute("data-akilio-shadow-mount",""),s.appendChild(c)),a(c),()=>{if(typeof o.hidePopover=="function")try{o.hidePopover()}catch{}o.removeAttribute("popover"),o.removeAttribute("style")}},[t,n]),t==="shadow"?w.jsx("div",{ref:r,"data-akilio-shadow-host":"true",children:i&&cs.createPortal(w.jsx(os,{...e}),i)}):w.jsxs(w.Fragment,{children:[t==="scoped"&&w.jsx("style",{"data-akilio-styles":!0,children:ts}),w.jsx(os,{...e})]})}ft.AkilioClient=es,ft.AkilioWidget=as,ft.EjibuWidget=as,Object.defineProperty(ft,Symbol.toStringTag,{value:"Module"})}));
package/dist/style.css CHANGED
@@ -483,12 +483,12 @@
483
483
 
484
484
  .akilio-answer {
485
485
  color: inherit;
486
- font-size: 0.8rem;
486
+ font-size: 13px;
487
487
  line-height: 1.7;
488
488
  }
489
489
 
490
490
  .akilio-answer h2 {
491
- font-size: 1rem;
491
+ font-size: 15px;
492
492
  font-weight: 700;
493
493
  margin: 0;
494
494
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hachther/akilio-widget",
3
- "version": "0.6.5",
3
+ "version": "0.6.6",
4
4
  "description": "Embeddable React AI assistant widget for Akilio backend.",
5
5
  "license": "UNLICENSED",
6
6
  "type": "module",