@evelan/jexity-widget 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +162 -16
- package/dist/index.mjs +1046 -731
- package/dist/index.mjs.map +1 -1
- package/dist/react.mjs +20 -11
- package/dist/react.mjs.map +1 -1
- package/dist/types/entries/esm.d.ts +4 -0
- package/dist/types/entries/esm.d.ts.map +1 -0
- package/dist/types/{react.d.ts → entries/react.d.ts} +1 -1
- package/dist/types/entries/react.d.ts.map +1 -0
- package/dist/types/features/chat/components/BotMessage.d.ts +6 -0
- package/dist/types/features/chat/components/BotMessage.d.ts.map +1 -0
- package/dist/types/features/chat/components/ChatInput.d.ts +3 -0
- package/dist/types/features/chat/components/ChatInput.d.ts.map +1 -0
- package/dist/types/features/chat/components/ChatScreen.d.ts +8 -0
- package/dist/types/features/chat/components/ChatScreen.d.ts.map +1 -0
- package/dist/types/features/chat/components/MessageList.d.ts +3 -0
- package/dist/types/features/chat/components/MessageList.d.ts.map +1 -0
- package/dist/types/features/chat/components/TypingIndicator.d.ts +2 -0
- package/dist/types/features/chat/components/TypingIndicator.d.ts.map +1 -0
- package/dist/types/features/chat/components/UserMessage.d.ts +6 -0
- package/dist/types/features/chat/components/UserMessage.d.ts.map +1 -0
- package/dist/types/features/chat/lib/chat.d.ts +13 -0
- package/dist/types/features/chat/lib/chat.d.ts.map +1 -0
- package/dist/types/features/home/components/HomeScreen.d.ts +14 -0
- package/dist/types/features/home/components/HomeScreen.d.ts.map +1 -0
- package/dist/types/features/selection/components/SelectionScreen.d.ts +7 -0
- package/dist/types/features/selection/components/SelectionScreen.d.ts.map +1 -0
- package/dist/types/features/ticket/components/ConfirmationScreen.d.ts +7 -0
- package/dist/types/features/ticket/components/ConfirmationScreen.d.ts.map +1 -0
- package/dist/types/features/ticket/components/FormScreen.d.ts +3 -0
- package/dist/types/features/ticket/components/FormScreen.d.ts.map +1 -0
- package/dist/types/i18n/config.d.ts +10 -0
- package/dist/types/i18n/config.d.ts.map +1 -0
- package/dist/types/i18n/index.d.ts +6 -1
- package/dist/types/i18n/index.d.ts.map +1 -1
- package/dist/types/i18n/locales/de.d.ts.map +1 -1
- package/dist/types/i18n/locales/en.d.ts +19 -0
- package/dist/types/i18n/locales/en.d.ts.map +1 -1
- package/dist/types/i18n/resolve-widget-locale.d.ts +10 -7
- package/dist/types/i18n/resolve-widget-locale.d.ts.map +1 -1
- package/dist/types/module/screens/ScreenRouter.d.ts +8 -0
- package/dist/types/module/screens/ScreenRouter.d.ts.map +1 -0
- package/dist/types/module/screens/screens.state.d.ts +26 -0
- package/dist/types/module/screens/screens.state.d.ts.map +1 -0
- package/dist/types/module/shell/AppShell.d.ts +8 -0
- package/dist/types/module/shell/AppShell.d.ts.map +1 -0
- package/dist/types/module/shell/mount.d.ts +13 -0
- package/dist/types/module/shell/mount.d.ts.map +1 -0
- package/dist/types/module/shell/shell.state.d.ts +2 -0
- package/dist/types/module/shell/shell.state.d.ts.map +1 -0
- package/dist/types/module/visitor/visitor.state.d.ts +21 -0
- package/dist/types/module/visitor/visitor.state.d.ts.map +1 -0
- package/dist/types/shared/icons/BotIcon.d.ts +4 -0
- package/dist/types/shared/icons/BotIcon.d.ts.map +1 -0
- package/dist/types/shared/icons/CloseIcon.d.ts +4 -0
- package/dist/types/shared/icons/CloseIcon.d.ts.map +1 -0
- package/dist/types/shared/icons/MessageIcon.d.ts +4 -0
- package/dist/types/shared/icons/MessageIcon.d.ts.map +1 -0
- package/dist/types/shared/icons/SendIcon.d.ts +4 -0
- package/dist/types/shared/icons/SendIcon.d.ts.map +1 -0
- package/dist/types/shared/icons/SparklesIcon.d.ts +5 -0
- package/dist/types/shared/icons/SparklesIcon.d.ts.map +1 -0
- package/dist/types/shared/icons/ZapIcon.d.ts +4 -0
- package/dist/types/shared/icons/ZapIcon.d.ts.map +1 -0
- package/dist/types/shared/theme/build-theme.d.ts +5 -0
- package/dist/types/shared/theme/build-theme.d.ts.map +1 -0
- package/dist/types/shared/theme/inject-styles.d.ts +10 -0
- package/dist/types/shared/theme/inject-styles.d.ts.map +1 -0
- package/dist/types/shared/ui/ErrorScreen.d.ts +9 -0
- package/dist/types/shared/ui/ErrorScreen.d.ts.map +1 -0
- package/dist/types/shared/ui/FAB.d.ts +9 -0
- package/dist/types/shared/ui/FAB.d.ts.map +1 -0
- package/dist/types/shared/ui/Footer.d.ts +3 -0
- package/dist/types/shared/ui/Footer.d.ts.map +1 -0
- package/dist/types/shared/ui/Header.d.ts +7 -0
- package/dist/types/shared/ui/Header.d.ts.map +1 -0
- package/dist/types/shared/ui/LoadingScreen.d.ts +7 -0
- package/dist/types/shared/ui/LoadingScreen.d.ts.map +1 -0
- package/dist/types/types.d.ts +11 -1
- package/dist/types/types.d.ts.map +1 -1
- package/dist/widget.js +1 -2
- package/dist/widget.js.map +1 -1
- package/package.json +6 -4
- package/dist/types/app.d.ts +0 -6
- package/dist/types/app.d.ts.map +0 -1
- package/dist/types/index.d.ts +0 -4
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/react.d.ts.map +0 -1
- package/dist/types/widget-state.d.ts +0 -7
- package/dist/types/widget-state.d.ts.map +0 -1
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../node_modules/.pnpm/preact@10.27.2/node_modules/preact/dist/preact.module.js","../../../node_modules/.pnpm/preact@10.27.2/node_modules/preact/jsx-runtime/dist/jsxRuntime.module.js","../../../node_modules/.pnpm/preact@10.27.2/node_modules/preact/hooks/dist/hooks.module.js","../../../node_modules/.pnpm/lucide-preact@0.563.0_preact@10.27.2/node_modules/lucide-preact/dist/esm/shared/src/utils/mergeClasses.js","../../../node_modules/.pnpm/lucide-preact@0.563.0_preact@10.27.2/node_modules/lucide-preact/dist/esm/shared/src/utils/toKebabCase.js","../../../node_modules/.pnpm/lucide-preact@0.563.0_preact@10.27.2/node_modules/lucide-preact/dist/esm/shared/src/utils/toCamelCase.js","../../../node_modules/.pnpm/lucide-preact@0.563.0_preact@10.27.2/node_modules/lucide-preact/dist/esm/shared/src/utils/toPascalCase.js","../../../node_modules/.pnpm/lucide-preact@0.563.0_preact@10.27.2/node_modules/lucide-preact/dist/esm/defaultAttributes.js","../../../node_modules/.pnpm/lucide-preact@0.563.0_preact@10.27.2/node_modules/lucide-preact/dist/esm/shared/src/utils/hasA11yProp.js","../../../node_modules/.pnpm/lucide-preact@0.563.0_preact@10.27.2/node_modules/lucide-preact/dist/esm/Icon.js","../../../node_modules/.pnpm/lucide-preact@0.563.0_preact@10.27.2/node_modules/lucide-preact/dist/esm/createLucideIcon.js","../../../node_modules/.pnpm/lucide-preact@0.563.0_preact@10.27.2/node_modules/lucide-preact/dist/esm/icons/bot.js","../../../node_modules/.pnpm/lucide-preact@0.563.0_preact@10.27.2/node_modules/lucide-preact/dist/esm/icons/chevron-down.js","../../../node_modules/.pnpm/lucide-preact@0.563.0_preact@10.27.2/node_modules/lucide-preact/dist/esm/icons/message-circle.js","../../../node_modules/.pnpm/lucide-preact@0.563.0_preact@10.27.2/node_modules/lucide-preact/dist/esm/icons/send.js","../../../node_modules/.pnpm/lucide-preact@0.563.0_preact@10.27.2/node_modules/lucide-preact/dist/esm/icons/x.js","../../../node_modules/.pnpm/lucide-preact@0.563.0_preact@10.27.2/node_modules/lucide-preact/dist/esm/icons/zap.js","../../../node_modules/.pnpm/@preact+signals-core@1.13.0/node_modules/@preact/signals-core/dist/signals-core.module.js","../../../node_modules/.pnpm/@preact+signals@2.7.1_preact@10.27.2/node_modules/@preact/signals/dist/signals.module.js","../src/widget-state.ts","../src/i18n/resolve-widget-locale.ts","../src/i18n/locales/en.ts","../src/i18n/locales/de.ts","../src/i18n/index.ts","../src/app.tsx","../src/index.ts"],"sourcesContent":["var n,l,u,t,i,r,o,e,f,c,s,a,h,p={},v=[],y=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,w=Array.isArray;function d(n,l){for(var u in l)n[u]=l[u];return n}function g(n){n&&n.parentNode&&n.parentNode.removeChild(n)}function _(l,u,t){var i,r,o,e={};for(o in u)\"key\"==o?i=u[o]:\"ref\"==o?r=u[o]:e[o]=u[o];if(arguments.length>2&&(e.children=arguments.length>3?n.call(arguments,2):t),\"function\"==typeof l&&null!=l.defaultProps)for(o in l.defaultProps)void 0===e[o]&&(e[o]=l.defaultProps[o]);return m(l,e,i,r,null)}function m(n,t,i,r,o){var e={type:n,props:t,key:i,ref:r,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:null==o?++u:o,__i:-1,__u:0};return null==o&&null!=l.vnode&&l.vnode(e),e}function b(){return{current:null}}function k(n){return n.children}function x(n,l){this.props=n,this.context=l}function S(n,l){if(null==l)return n.__?S(n.__,n.__i+1):null;for(var u;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e)return u.__e;return\"function\"==typeof n.type?S(n):null}function C(n){var l,u;if(null!=(n=n.__)&&null!=n.__c){for(n.__e=n.__c.base=null,l=0;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e){n.__e=n.__c.base=u.__e;break}return C(n)}}function M(n){(!n.__d&&(n.__d=!0)&&i.push(n)&&!$.__r++||r!=l.debounceRendering)&&((r=l.debounceRendering)||o)($)}function $(){for(var n,u,t,r,o,f,c,s=1;i.length;)i.length>s&&i.sort(e),n=i.shift(),s=i.length,n.__d&&(t=void 0,r=void 0,o=(r=(u=n).__v).__e,f=[],c=[],u.__P&&((t=d({},r)).__v=r.__v+1,l.vnode&&l.vnode(t),O(u.__P,t,r,u.__n,u.__P.namespaceURI,32&r.__u?[o]:null,f,null==o?S(r):o,!!(32&r.__u),c),t.__v=r.__v,t.__.__k[t.__i]=t,N(f,t,c),r.__e=r.__=null,t.__e!=o&&C(t)));$.__r=0}function I(n,l,u,t,i,r,o,e,f,c,s){var a,h,y,w,d,g,_,m=t&&t.__k||v,b=l.length;for(f=P(u,l,m,f,b),a=0;a<b;a++)null!=(y=u.__k[a])&&(h=-1==y.__i?p:m[y.__i]||p,y.__i=a,g=O(n,y,h,i,r,o,e,f,c,s),w=y.__e,y.ref&&h.ref!=y.ref&&(h.ref&&B(h.ref,null,y),s.push(y.ref,y.__c||w,y)),null==d&&null!=w&&(d=w),(_=!!(4&y.__u))||h.__k===y.__k?f=A(y,f,n,_):\"function\"==typeof y.type&&void 0!==g?f=g:w&&(f=w.nextSibling),y.__u&=-7);return u.__e=d,f}function P(n,l,u,t,i){var r,o,e,f,c,s=u.length,a=s,h=0;for(n.__k=new Array(i),r=0;r<i;r++)null!=(o=l[r])&&\"boolean\"!=typeof o&&\"function\"!=typeof o?(f=r+h,(o=n.__k[r]=\"string\"==typeof o||\"number\"==typeof o||\"bigint\"==typeof o||o.constructor==String?m(null,o,null,null,null):w(o)?m(k,{children:o},null,null,null):null==o.constructor&&o.__b>0?m(o.type,o.props,o.key,o.ref?o.ref:null,o.__v):o).__=n,o.__b=n.__b+1,e=null,-1!=(c=o.__i=L(o,u,f,a))&&(a--,(e=u[c])&&(e.__u|=2)),null==e||null==e.__v?(-1==c&&(i>s?h--:i<s&&h++),\"function\"!=typeof o.type&&(o.__u|=4)):c!=f&&(c==f-1?h--:c==f+1?h++:(c>f?h--:h++,o.__u|=4))):n.__k[r]=null;if(a)for(r=0;r<s;r++)null!=(e=u[r])&&0==(2&e.__u)&&(e.__e==t&&(t=S(e)),D(e,e));return t}function A(n,l,u,t){var i,r;if(\"function\"==typeof n.type){for(i=n.__k,r=0;i&&r<i.length;r++)i[r]&&(i[r].__=n,l=A(i[r],l,u,t));return l}n.__e!=l&&(t&&(l&&n.type&&!l.parentNode&&(l=S(n)),u.insertBefore(n.__e,l||null)),l=n.__e);do{l=l&&l.nextSibling}while(null!=l&&8==l.nodeType);return l}function H(n,l){return l=l||[],null==n||\"boolean\"==typeof n||(w(n)?n.some(function(n){H(n,l)}):l.push(n)),l}function L(n,l,u,t){var i,r,o,e=n.key,f=n.type,c=l[u],s=null!=c&&0==(2&c.__u);if(null===c&&null==n.key||s&&e==c.key&&f==c.type)return u;if(t>(s?1:0))for(i=u-1,r=u+1;i>=0||r<l.length;)if(null!=(c=l[o=i>=0?i--:r++])&&0==(2&c.__u)&&e==c.key&&f==c.type)return o;return-1}function T(n,l,u){\"-\"==l[0]?n.setProperty(l,null==u?\"\":u):n[l]=null==u?\"\":\"number\"!=typeof u||y.test(l)?u:u+\"px\"}function j(n,l,u,t,i){var r,o;n:if(\"style\"==l)if(\"string\"==typeof u)n.style.cssText=u;else{if(\"string\"==typeof t&&(n.style.cssText=t=\"\"),t)for(l in t)u&&l in u||T(n.style,l,\"\");if(u)for(l in u)t&&u[l]==t[l]||T(n.style,l,u[l])}else if(\"o\"==l[0]&&\"n\"==l[1])r=l!=(l=l.replace(f,\"$1\")),o=l.toLowerCase(),l=o in n||\"onFocusOut\"==l||\"onFocusIn\"==l?o.slice(2):l.slice(2),n.l||(n.l={}),n.l[l+r]=u,u?t?u.u=t.u:(u.u=c,n.addEventListener(l,r?a:s,r)):n.removeEventListener(l,r?a:s,r);else{if(\"http://www.w3.org/2000/svg\"==i)l=l.replace(/xlink(H|:h)/,\"h\").replace(/sName$/,\"s\");else if(\"width\"!=l&&\"height\"!=l&&\"href\"!=l&&\"list\"!=l&&\"form\"!=l&&\"tabIndex\"!=l&&\"download\"!=l&&\"rowSpan\"!=l&&\"colSpan\"!=l&&\"role\"!=l&&\"popover\"!=l&&l in n)try{n[l]=null==u?\"\":u;break n}catch(n){}\"function\"==typeof u||(null==u||!1===u&&\"-\"!=l[4]?n.removeAttribute(l):n.setAttribute(l,\"popover\"==l&&1==u?\"\":u))}}function F(n){return function(u){if(this.l){var t=this.l[u.type+n];if(null==u.t)u.t=c++;else if(u.t<t.u)return;return t(l.event?l.event(u):u)}}}function O(n,u,t,i,r,o,e,f,c,s){var a,h,p,v,y,_,m,b,S,C,M,$,P,A,H,L,T,j=u.type;if(null!=u.constructor)return null;128&t.__u&&(c=!!(32&t.__u),o=[f=u.__e=t.__e]),(a=l.__b)&&a(u);n:if(\"function\"==typeof j)try{if(b=u.props,S=\"prototype\"in j&&j.prototype.render,C=(a=j.contextType)&&i[a.__c],M=a?C?C.props.value:a.__:i,t.__c?m=(h=u.__c=t.__c).__=h.__E:(S?u.__c=h=new j(b,M):(u.__c=h=new x(b,M),h.constructor=j,h.render=E),C&&C.sub(h),h.props=b,h.state||(h.state={}),h.context=M,h.__n=i,p=h.__d=!0,h.__h=[],h._sb=[]),S&&null==h.__s&&(h.__s=h.state),S&&null!=j.getDerivedStateFromProps&&(h.__s==h.state&&(h.__s=d({},h.__s)),d(h.__s,j.getDerivedStateFromProps(b,h.__s))),v=h.props,y=h.state,h.__v=u,p)S&&null==j.getDerivedStateFromProps&&null!=h.componentWillMount&&h.componentWillMount(),S&&null!=h.componentDidMount&&h.__h.push(h.componentDidMount);else{if(S&&null==j.getDerivedStateFromProps&&b!==v&&null!=h.componentWillReceiveProps&&h.componentWillReceiveProps(b,M),!h.__e&&null!=h.shouldComponentUpdate&&!1===h.shouldComponentUpdate(b,h.__s,M)||u.__v==t.__v){for(u.__v!=t.__v&&(h.props=b,h.state=h.__s,h.__d=!1),u.__e=t.__e,u.__k=t.__k,u.__k.some(function(n){n&&(n.__=u)}),$=0;$<h._sb.length;$++)h.__h.push(h._sb[$]);h._sb=[],h.__h.length&&e.push(h);break n}null!=h.componentWillUpdate&&h.componentWillUpdate(b,h.__s,M),S&&null!=h.componentDidUpdate&&h.__h.push(function(){h.componentDidUpdate(v,y,_)})}if(h.context=M,h.props=b,h.__P=n,h.__e=!1,P=l.__r,A=0,S){for(h.state=h.__s,h.__d=!1,P&&P(u),a=h.render(h.props,h.state,h.context),H=0;H<h._sb.length;H++)h.__h.push(h._sb[H]);h._sb=[]}else do{h.__d=!1,P&&P(u),a=h.render(h.props,h.state,h.context),h.state=h.__s}while(h.__d&&++A<25);h.state=h.__s,null!=h.getChildContext&&(i=d(d({},i),h.getChildContext())),S&&!p&&null!=h.getSnapshotBeforeUpdate&&(_=h.getSnapshotBeforeUpdate(v,y)),L=a,null!=a&&a.type===k&&null==a.key&&(L=V(a.props.children)),f=I(n,w(L)?L:[L],u,t,i,r,o,e,f,c,s),h.base=u.__e,u.__u&=-161,h.__h.length&&e.push(h),m&&(h.__E=h.__=null)}catch(n){if(u.__v=null,c||null!=o)if(n.then){for(u.__u|=c?160:128;f&&8==f.nodeType&&f.nextSibling;)f=f.nextSibling;o[o.indexOf(f)]=null,u.__e=f}else{for(T=o.length;T--;)g(o[T]);z(u)}else u.__e=t.__e,u.__k=t.__k,n.then||z(u);l.__e(n,u,t)}else null==o&&u.__v==t.__v?(u.__k=t.__k,u.__e=t.__e):f=u.__e=q(t.__e,u,t,i,r,o,e,c,s);return(a=l.diffed)&&a(u),128&u.__u?void 0:f}function z(n){n&&n.__c&&(n.__c.__e=!0),n&&n.__k&&n.__k.forEach(z)}function N(n,u,t){for(var i=0;i<t.length;i++)B(t[i],t[++i],t[++i]);l.__c&&l.__c(u,n),n.some(function(u){try{n=u.__h,u.__h=[],n.some(function(n){n.call(u)})}catch(n){l.__e(n,u.__v)}})}function V(n){return\"object\"!=typeof n||null==n||n.__b&&n.__b>0?n:w(n)?n.map(V):d({},n)}function q(u,t,i,r,o,e,f,c,s){var a,h,v,y,d,_,m,b=i.props,k=t.props,x=t.type;if(\"svg\"==x?o=\"http://www.w3.org/2000/svg\":\"math\"==x?o=\"http://www.w3.org/1998/Math/MathML\":o||(o=\"http://www.w3.org/1999/xhtml\"),null!=e)for(a=0;a<e.length;a++)if((d=e[a])&&\"setAttribute\"in d==!!x&&(x?d.localName==x:3==d.nodeType)){u=d,e[a]=null;break}if(null==u){if(null==x)return document.createTextNode(k);u=document.createElementNS(o,x,k.is&&k),c&&(l.__m&&l.__m(t,e),c=!1),e=null}if(null==x)b===k||c&&u.data==k||(u.data=k);else{if(e=e&&n.call(u.childNodes),b=i.props||p,!c&&null!=e)for(b={},a=0;a<u.attributes.length;a++)b[(d=u.attributes[a]).name]=d.value;for(a in b)if(d=b[a],\"children\"==a);else if(\"dangerouslySetInnerHTML\"==a)v=d;else if(!(a in k)){if(\"value\"==a&&\"defaultValue\"in k||\"checked\"==a&&\"defaultChecked\"in k)continue;j(u,a,null,d,o)}for(a in k)d=k[a],\"children\"==a?y=d:\"dangerouslySetInnerHTML\"==a?h=d:\"value\"==a?_=d:\"checked\"==a?m=d:c&&\"function\"!=typeof d||b[a]===d||j(u,a,d,b[a],o);if(h)c||v&&(h.__html==v.__html||h.__html==u.innerHTML)||(u.innerHTML=h.__html),t.__k=[];else if(v&&(u.innerHTML=\"\"),I(\"template\"==t.type?u.content:u,w(y)?y:[y],t,i,r,\"foreignObject\"==x?\"http://www.w3.org/1999/xhtml\":o,e,f,e?e[0]:i.__k&&S(i,0),c,s),null!=e)for(a=e.length;a--;)g(e[a]);c||(a=\"value\",\"progress\"==x&&null==_?u.removeAttribute(\"value\"):null!=_&&(_!==u[a]||\"progress\"==x&&!_||\"option\"==x&&_!=b[a])&&j(u,a,_,b[a],o),a=\"checked\",null!=m&&m!=u[a]&&j(u,a,m,b[a],o))}return u}function B(n,u,t){try{if(\"function\"==typeof n){var i=\"function\"==typeof n.__u;i&&n.__u(),i&&null==u||(n.__u=n(u))}else n.current=u}catch(n){l.__e(n,t)}}function D(n,u,t){var i,r;if(l.unmount&&l.unmount(n),(i=n.ref)&&(i.current&&i.current!=n.__e||B(i,null,u)),null!=(i=n.__c)){if(i.componentWillUnmount)try{i.componentWillUnmount()}catch(n){l.__e(n,u)}i.base=i.__P=null}if(i=n.__k)for(r=0;r<i.length;r++)i[r]&&D(i[r],u,t||\"function\"!=typeof n.type);t||g(n.__e),n.__c=n.__=n.__e=void 0}function E(n,l,u){return this.constructor(n,u)}function G(u,t,i){var r,o,e,f;t==document&&(t=document.documentElement),l.__&&l.__(u,t),o=(r=\"function\"==typeof i)?null:i&&i.__k||t.__k,e=[],f=[],O(t,u=(!r&&i||t).__k=_(k,null,[u]),o||p,p,t.namespaceURI,!r&&i?[i]:o?null:t.firstChild?n.call(t.childNodes):null,e,!r&&i?i:o?o.__e:t.firstChild,r,f),N(e,u,f)}function J(n,l){G(n,l,J)}function K(l,u,t){var i,r,o,e,f=d({},l.props);for(o in l.type&&l.type.defaultProps&&(e=l.type.defaultProps),u)\"key\"==o?i=u[o]:\"ref\"==o?r=u[o]:f[o]=void 0===u[o]&&null!=e?e[o]:u[o];return arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):t),m(l.type,f,i||l.key,r||l.ref,null)}function Q(n){function l(n){var u,t;return this.getChildContext||(u=new Set,(t={})[l.__c]=this,this.getChildContext=function(){return t},this.componentWillUnmount=function(){u=null},this.shouldComponentUpdate=function(n){this.props.value!=n.value&&u.forEach(function(n){n.__e=!0,M(n)})},this.sub=function(n){u.add(n);var l=n.componentWillUnmount;n.componentWillUnmount=function(){u&&u.delete(n),l&&l.call(n)}}),n.children}return l.__c=\"__cC\"+h++,l.__=n,l.Provider=l.__l=(l.Consumer=function(n,l){return n.children(l)}).contextType=l,l}n=v.slice,l={__e:function(n,l,u,t){for(var i,r,o;l=l.__;)if((i=l.__c)&&!i.__)try{if((r=i.constructor)&&null!=r.getDerivedStateFromError&&(i.setState(r.getDerivedStateFromError(n)),o=i.__d),null!=i.componentDidCatch&&(i.componentDidCatch(n,t||{}),o=i.__d),o)return i.__E=i}catch(l){n=l}throw n}},u=0,t=function(n){return null!=n&&null==n.constructor},x.prototype.setState=function(n,l){var u;u=null!=this.__s&&this.__s!=this.state?this.__s:this.__s=d({},this.state),\"function\"==typeof n&&(n=n(d({},u),this.props)),n&&d(u,n),null!=n&&this.__v&&(l&&this._sb.push(l),M(this))},x.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),M(this))},x.prototype.render=k,i=[],o=\"function\"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,e=function(n,l){return n.__v.__b-l.__v.__b},$.__r=0,f=/(PointerCapture)$|Capture$/i,c=0,s=F(!1),a=F(!0),h=0;export{x as Component,k as Fragment,K as cloneElement,Q as createContext,_ as createElement,b as createRef,_ as h,J as hydrate,t as isValidElement,l as options,G as render,H as toChildArray};\n//# sourceMappingURL=preact.module.js.map\n","import{options as r,Fragment as e}from\"preact\";export{Fragment}from\"preact\";var t=/[\"&<]/;function n(r){if(0===r.length||!1===t.test(r))return r;for(var e=0,n=0,o=\"\",f=\"\";n<r.length;n++){switch(r.charCodeAt(n)){case 34:f=\""\";break;case 38:f=\"&\";break;case 60:f=\"<\";break;default:continue}n!==e&&(o+=r.slice(e,n)),o+=f,e=n+1}return n!==e&&(o+=r.slice(e,n)),o}var o=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,f=0,i=Array.isArray;function u(e,t,n,o,i,u){t||(t={});var a,c,p=t;if(\"ref\"in p)for(c in p={},t)\"ref\"==c?a=t[c]:p[c]=t[c];var l={type:e,props:p,key:n,ref:a,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--f,__i:-1,__u:0,__source:i,__self:u};if(\"function\"==typeof e&&(a=e.defaultProps))for(c in a)void 0===p[c]&&(p[c]=a[c]);return r.vnode&&r.vnode(l),l}function a(r){var t=u(e,{tpl:r,exprs:[].slice.call(arguments,1)});return t.key=t.__v,t}var c={},p=/[A-Z]/g;function l(e,t){if(r.attr){var f=r.attr(e,t);if(\"string\"==typeof f)return f}if(t=function(r){return null!==r&&\"object\"==typeof r&&\"function\"==typeof r.valueOf?r.valueOf():r}(t),\"ref\"===e||\"key\"===e)return\"\";if(\"style\"===e&&\"object\"==typeof t){var i=\"\";for(var u in t){var a=t[u];if(null!=a&&\"\"!==a){var l=\"-\"==u[0]?u:c[u]||(c[u]=u.replace(p,\"-$&\").toLowerCase()),s=\";\";\"number\"!=typeof a||l.startsWith(\"--\")||o.test(l)||(s=\"px;\"),i=i+l+\":\"+a+s}}return e+'=\"'+n(i)+'\"'}return null==t||!1===t||\"function\"==typeof t||\"object\"==typeof t?\"\":!0===t?e:e+'=\"'+n(\"\"+t)+'\"'}function s(r){if(null==r||\"boolean\"==typeof r||\"function\"==typeof r)return null;if(\"object\"==typeof r){if(void 0===r.constructor)return r;if(i(r)){for(var e=0;e<r.length;e++)r[e]=s(r[e]);return r}}return n(\"\"+r)}export{u as jsx,l as jsxAttr,u as jsxDEV,s as jsxEscape,a as jsxTemplate,u as jsxs};\n//# sourceMappingURL=jsxRuntime.module.js.map\n","import{options as n}from\"preact\";var t,r,u,i,o=0,f=[],c=n,e=c.__b,a=c.__r,v=c.diffed,l=c.__c,m=c.unmount,s=c.__;function p(n,t){c.__h&&c.__h(r,n,o||t),o=0;var u=r.__H||(r.__H={__:[],__h:[]});return n>=u.__.length&&u.__.push({}),u.__[n]}function d(n){return o=1,h(D,n)}function h(n,u,i){var o=p(t++,2);if(o.t=n,!o.__c&&(o.__=[i?i(u):D(void 0,u),function(n){var t=o.__N?o.__N[0]:o.__[0],r=o.t(t,n);t!==r&&(o.__N=[r,o.__[1]],o.__c.setState({}))}],o.__c=r,!r.__f)){var f=function(n,t,r){if(!o.__c.__H)return!0;var u=o.__c.__H.__.filter(function(n){return!!n.__c});if(u.every(function(n){return!n.__N}))return!c||c.call(this,n,t,r);var i=o.__c.props!==n;return u.forEach(function(n){if(n.__N){var t=n.__[0];n.__=n.__N,n.__N=void 0,t!==n.__[0]&&(i=!0)}}),c&&c.call(this,n,t,r)||i};r.__f=!0;var c=r.shouldComponentUpdate,e=r.componentWillUpdate;r.componentWillUpdate=function(n,t,r){if(this.__e){var u=c;c=void 0,f(n,t,r),c=u}e&&e.call(this,n,t,r)},r.shouldComponentUpdate=f}return o.__N||o.__}function y(n,u){var i=p(t++,3);!c.__s&&C(i.__H,u)&&(i.__=n,i.u=u,r.__H.__h.push(i))}function _(n,u){var i=p(t++,4);!c.__s&&C(i.__H,u)&&(i.__=n,i.u=u,r.__h.push(i))}function A(n){return o=5,T(function(){return{current:n}},[])}function F(n,t,r){o=6,_(function(){if(\"function\"==typeof n){var r=n(t());return function(){n(null),r&&\"function\"==typeof r&&r()}}if(n)return n.current=t(),function(){return n.current=null}},null==r?r:r.concat(n))}function T(n,r){var u=p(t++,7);return C(u.__H,r)&&(u.__=n(),u.__H=r,u.__h=n),u.__}function q(n,t){return o=8,T(function(){return n},t)}function x(n){var u=r.context[n.__c],i=p(t++,9);return i.c=n,u?(null==i.__&&(i.__=!0,u.sub(r)),u.props.value):n.__}function P(n,t){c.useDebugValue&&c.useDebugValue(t?t(n):n)}function b(n){var u=p(t++,10),i=d();return u.__=n,r.componentDidCatch||(r.componentDidCatch=function(n,t){u.__&&u.__(n,t),i[1](n)}),[i[0],function(){i[1](void 0)}]}function g(){var n=p(t++,11);if(!n.__){for(var u=r.__v;null!==u&&!u.__m&&null!==u.__;)u=u.__;var i=u.__m||(u.__m=[0,0]);n.__=\"P\"+i[0]+\"-\"+i[1]++}return n.__}function j(){for(var n;n=f.shift();)if(n.__P&&n.__H)try{n.__H.__h.forEach(z),n.__H.__h.forEach(B),n.__H.__h=[]}catch(t){n.__H.__h=[],c.__e(t,n.__v)}}c.__b=function(n){r=null,e&&e(n)},c.__=function(n,t){n&&t.__k&&t.__k.__m&&(n.__m=t.__k.__m),s&&s(n,t)},c.__r=function(n){a&&a(n),t=0;var i=(r=n.__c).__H;i&&(u===r?(i.__h=[],r.__h=[],i.__.forEach(function(n){n.__N&&(n.__=n.__N),n.u=n.__N=void 0})):(i.__h.forEach(z),i.__h.forEach(B),i.__h=[],t=0)),u=r},c.diffed=function(n){v&&v(n);var t=n.__c;t&&t.__H&&(t.__H.__h.length&&(1!==f.push(t)&&i===c.requestAnimationFrame||((i=c.requestAnimationFrame)||w)(j)),t.__H.__.forEach(function(n){n.u&&(n.__H=n.u),n.u=void 0})),u=r=null},c.__c=function(n,t){t.some(function(n){try{n.__h.forEach(z),n.__h=n.__h.filter(function(n){return!n.__||B(n)})}catch(r){t.some(function(n){n.__h&&(n.__h=[])}),t=[],c.__e(r,n.__v)}}),l&&l(n,t)},c.unmount=function(n){m&&m(n);var t,r=n.__c;r&&r.__H&&(r.__H.__.forEach(function(n){try{z(n)}catch(n){t=n}}),r.__H=void 0,t&&c.__e(t,r.__v))};var k=\"function\"==typeof requestAnimationFrame;function w(n){var t,r=function(){clearTimeout(u),k&&cancelAnimationFrame(t),setTimeout(n)},u=setTimeout(r,35);k&&(t=requestAnimationFrame(r))}function z(n){var t=r,u=n.__c;\"function\"==typeof u&&(n.__c=void 0,u()),r=t}function B(n){var t=r;n.__c=n.__(),r=t}function C(n,t){return!n||n.length!==t.length||t.some(function(t,r){return t!==n[r]})}function D(n,t){return\"function\"==typeof t?t(n):t}export{q as useCallback,x as useContext,P as useDebugValue,y as useEffect,b as useErrorBoundary,g as useId,F as useImperativeHandle,_ as useLayoutEffect,T as useMemo,h as useReducer,A as useRef,d as useState};\n//# sourceMappingURL=hooks.module.js.map\n","/**\n * @license lucide-preact v0.563.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nconst mergeClasses = (...classes) => classes.filter((className, index, array) => {\n return Boolean(className) && className.trim() !== \"\" && array.indexOf(className) === index;\n}).join(\" \").trim();\n\nexport { mergeClasses };\n//# sourceMappingURL=mergeClasses.js.map\n","/**\n * @license lucide-preact v0.563.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nconst toKebabCase = (string) => string.replace(/([a-z0-9])([A-Z])/g, \"$1-$2\").toLowerCase();\n\nexport { toKebabCase };\n//# sourceMappingURL=toKebabCase.js.map\n","/**\n * @license lucide-preact v0.563.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nconst toCamelCase = (string) => string.replace(\n /^([A-Z])|[\\s-_]+(\\w)/g,\n (match, p1, p2) => p2 ? p2.toUpperCase() : p1.toLowerCase()\n);\n\nexport { toCamelCase };\n//# sourceMappingURL=toCamelCase.js.map\n","/**\n * @license lucide-preact v0.563.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport { toCamelCase } from './toCamelCase.js';\n\nconst toPascalCase = (string) => {\n const camelCase = toCamelCase(string);\n return camelCase.charAt(0).toUpperCase() + camelCase.slice(1);\n};\n\nexport { toPascalCase };\n//# sourceMappingURL=toPascalCase.js.map\n","/**\n * @license lucide-preact v0.563.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nvar defaultAttributes = {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n \"stroke-width\": \"2\",\n \"stroke-linecap\": \"round\",\n \"stroke-linejoin\": \"round\"\n};\n\nexport { defaultAttributes as default };\n//# sourceMappingURL=defaultAttributes.js.map\n","/**\n * @license lucide-preact v0.563.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nconst hasA11yProp = (props) => {\n for (const prop in props) {\n if (prop.startsWith(\"aria-\") || prop === \"role\" || prop === \"title\") {\n return true;\n }\n }\n return false;\n};\n\nexport { hasA11yProp };\n//# sourceMappingURL=hasA11yProp.js.map\n","/**\n * @license lucide-preact v0.563.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport { h, toChildArray } from 'preact';\nimport defaultAttributes from './defaultAttributes.js';\nimport { hasA11yProp } from './shared/src/utils/hasA11yProp.js';\n\nconst Icon = ({\n color = \"currentColor\",\n size = 24,\n strokeWidth = 2,\n absoluteStrokeWidth,\n children,\n iconNode,\n class: classes = \"\",\n ...rest\n}) => h(\n \"svg\",\n {\n ...defaultAttributes,\n width: String(size),\n height: size,\n stroke: color,\n [\"stroke-width\"]: absoluteStrokeWidth ? Number(strokeWidth) * 24 / Number(size) : strokeWidth,\n class: [\"lucide\", classes].join(\" \"),\n ...!children && !hasA11yProp(rest) && { \"aria-hidden\": \"true\" },\n ...rest\n },\n [...iconNode.map(([tag, attrs]) => h(tag, attrs)), ...toChildArray(children)]\n);\n\nexport { Icon as default };\n//# sourceMappingURL=Icon.js.map\n","/**\n * @license lucide-preact v0.563.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport { h } from 'preact';\nimport { mergeClasses } from './shared/src/utils/mergeClasses.js';\nimport { toKebabCase } from './shared/src/utils/toKebabCase.js';\nimport { toPascalCase } from './shared/src/utils/toPascalCase.js';\nimport Icon from './Icon.js';\n\nconst createLucideIcon = (iconName, iconNode) => {\n const Component = ({ class: classes = \"\", className = \"\", children, ...props }) => h(\n Icon,\n {\n ...props,\n iconNode,\n class: mergeClasses(\n `lucide-${toKebabCase(toPascalCase(iconName))}`,\n `lucide-${toKebabCase(iconName)}`,\n classes,\n className\n )\n },\n children\n );\n Component.displayName = toPascalCase(iconName);\n return Component;\n};\n\nexport { createLucideIcon as default };\n//# sourceMappingURL=createLucideIcon.js.map\n","/**\n * @license lucide-preact v0.563.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Bot = createLucideIcon(\"bot\", [\n [\"path\", { d: \"M12 8V4H8\", key: \"hb8ula\" }],\n [\"rect\", { width: \"16\", height: \"12\", x: \"4\", y: \"8\", rx: \"2\", key: \"enze0r\" }],\n [\"path\", { d: \"M2 14h2\", key: \"vft8re\" }],\n [\"path\", { d: \"M20 14h2\", key: \"4cs60a\" }],\n [\"path\", { d: \"M15 13v2\", key: \"1xurst\" }],\n [\"path\", { d: \"M9 13v2\", key: \"rq6x2g\" }]\n]);\n\nexport { Bot as default };\n//# sourceMappingURL=bot.js.map\n","/**\n * @license lucide-preact v0.563.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst ChevronDown = createLucideIcon(\"chevron-down\", [\n [\"path\", { d: \"m6 9 6 6 6-6\", key: \"qrunsl\" }]\n]);\n\nexport { ChevronDown as default };\n//# sourceMappingURL=chevron-down.js.map\n","/**\n * @license lucide-preact v0.563.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst MessageCircle = createLucideIcon(\"message-circle\", [\n [\n \"path\",\n {\n d: \"M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719\",\n key: \"1sd12s\"\n }\n ]\n]);\n\nexport { MessageCircle as default };\n//# sourceMappingURL=message-circle.js.map\n","/**\n * @license lucide-preact v0.563.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Send = createLucideIcon(\"send\", [\n [\n \"path\",\n {\n d: \"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z\",\n key: \"1ffxy3\"\n }\n ],\n [\"path\", { d: \"m21.854 2.147-10.94 10.939\", key: \"12cjpa\" }]\n]);\n\nexport { Send as default };\n//# sourceMappingURL=send.js.map\n","/**\n * @license lucide-preact v0.563.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst X = createLucideIcon(\"x\", [\n [\"path\", { d: \"M18 6 6 18\", key: \"1bl5f8\" }],\n [\"path\", { d: \"m6 6 12 12\", key: \"d8bk6v\" }]\n]);\n\nexport { X as default };\n//# sourceMappingURL=x.js.map\n","/**\n * @license lucide-preact v0.563.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Zap = createLucideIcon(\"zap\", [\n [\n \"path\",\n {\n d: \"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z\",\n key: \"1xq2db\"\n }\n ]\n]);\n\nexport { Zap as default };\n//# sourceMappingURL=zap.js.map\n","var i=Symbol.for(\"preact-signals\");function t(){if(!(s>1)){var i,t=!1;while(void 0!==h){var n=h;h=void 0;v++;while(void 0!==n){var r=n.o;n.o=void 0;n.f&=-3;if(!(8&n.f)&&a(n))try{n.c()}catch(n){if(!t){i=n;t=!0}}n=r}}v=0;s--;if(t)throw i}else s--}function n(i){if(s>0)return i();s++;try{return i()}finally{t()}}var r=void 0;function o(i){var t=r;r=void 0;try{return i()}finally{r=t}}var f,h=void 0,s=0,v=0,u=0;function e(i){if(void 0!==r){var t=i.n;if(void 0===t||t.t!==r){t={i:0,S:i,p:r.s,n:void 0,t:r,e:void 0,x:void 0,r:t};if(void 0!==r.s)r.s.n=t;r.s=t;i.n=t;if(32&r.f)i.S(t);return t}else if(-1===t.i){t.i=0;if(void 0!==t.n){t.n.p=t.p;if(void 0!==t.p)t.p.n=t.n;t.p=r.s;t.n=void 0;r.s.n=t;r.s=t}return t}}}function d(i,t){this.v=i;this.i=0;this.n=void 0;this.t=void 0;this.W=null==t?void 0:t.watched;this.Z=null==t?void 0:t.unwatched;this.name=null==t?void 0:t.name}d.prototype.brand=i;d.prototype.h=function(){return!0};d.prototype.S=function(i){var t=this,n=this.t;if(n!==i&&void 0===i.e){i.x=n;this.t=i;if(void 0!==n)n.e=i;else o(function(){var i;null==(i=t.W)||i.call(t)})}};d.prototype.U=function(i){var t=this;if(void 0!==this.t){var n=i.e,r=i.x;if(void 0!==n){n.x=r;i.e=void 0}if(void 0!==r){r.e=n;i.x=void 0}if(i===this.t){this.t=r;if(void 0===r)o(function(){var i;null==(i=t.Z)||i.call(t)})}}};d.prototype.subscribe=function(i){var t=this;return m(function(){var n=t.value,o=r;r=void 0;try{i(n)}finally{r=o}},{name:\"sub\"})};d.prototype.valueOf=function(){return this.value};d.prototype.toString=function(){return this.value+\"\"};d.prototype.toJSON=function(){return this.value};d.prototype.peek=function(){var i=r;r=void 0;try{return this.value}finally{r=i}};Object.defineProperty(d.prototype,\"value\",{get:function(){var i=e(this);if(void 0!==i)i.i=this.i;return this.v},set:function(i){if(i!==this.v){if(v>100)throw new Error(\"Cycle detected\");this.v=i;this.i++;u++;s++;try{for(var n=this.t;void 0!==n;n=n.x)n.t.N()}finally{t()}}}});function c(i,t){return new d(i,t)}function a(i){for(var t=i.s;void 0!==t;t=t.n)if(t.S.i!==t.i||!t.S.h()||t.S.i!==t.i)return!0;return!1}function l(i){for(var t=i.s;void 0!==t;t=t.n){var n=t.S.n;if(void 0!==n)t.r=n;t.S.n=t;t.i=-1;if(void 0===t.n){i.s=t;break}}}function y(i){var t=i.s,n=void 0;while(void 0!==t){var r=t.p;if(-1===t.i){t.S.U(t);if(void 0!==r)r.n=t.n;if(void 0!==t.n)t.n.p=r}else n=t;t.S.n=t.r;if(void 0!==t.r)t.r=void 0;t=r}i.s=n}function w(i,t){d.call(this,void 0);this.x=i;this.s=void 0;this.g=u-1;this.f=4;this.W=null==t?void 0:t.watched;this.Z=null==t?void 0:t.unwatched;this.name=null==t?void 0:t.name}w.prototype=new d;w.prototype.h=function(){this.f&=-3;if(1&this.f)return!1;if(32==(36&this.f))return!0;this.f&=-5;if(this.g===u)return!0;this.g=u;this.f|=1;if(this.i>0&&!a(this)){this.f&=-2;return!0}var i=r;try{l(this);r=this;var t=this.x();if(16&this.f||this.v!==t||0===this.i){this.v=t;this.f&=-17;this.i++}}catch(i){this.v=i;this.f|=16;this.i++}r=i;y(this);this.f&=-2;return!0};w.prototype.S=function(i){if(void 0===this.t){this.f|=36;for(var t=this.s;void 0!==t;t=t.n)t.S.S(t)}d.prototype.S.call(this,i)};w.prototype.U=function(i){if(void 0!==this.t){d.prototype.U.call(this,i);if(void 0===this.t){this.f&=-33;for(var t=this.s;void 0!==t;t=t.n)t.S.U(t)}}};w.prototype.N=function(){if(!(2&this.f)){this.f|=6;for(var i=this.t;void 0!==i;i=i.x)i.t.N()}};Object.defineProperty(w.prototype,\"value\",{get:function(){if(1&this.f)throw new Error(\"Cycle detected\");var i=e(this);this.h();if(void 0!==i)i.i=this.i;if(16&this.f)throw this.v;return this.v}});function b(i,t){return new w(i,t)}function _(i){var n=i.u;i.u=void 0;if(\"function\"==typeof n){s++;var o=r;r=void 0;try{n()}catch(t){i.f&=-2;i.f|=8;p(i);throw t}finally{r=o;t()}}}function p(i){for(var t=i.s;void 0!==t;t=t.n)t.S.U(t);i.x=void 0;i.s=void 0;_(i)}function g(i){if(r!==this)throw new Error(\"Out-of-order effect\");y(this);r=i;this.f&=-2;if(8&this.f)p(this);t()}function S(i,t){this.x=i;this.u=void 0;this.s=void 0;this.o=void 0;this.f=32;this.name=null==t?void 0:t.name;if(f)f.push(this)}S.prototype.c=function(){var i=this.S();try{if(8&this.f)return;if(void 0===this.x)return;var t=this.x();if(\"function\"==typeof t)this.u=t}finally{i()}};S.prototype.S=function(){if(1&this.f)throw new Error(\"Cycle detected\");this.f|=1;this.f&=-9;_(this);l(this);s++;var i=r;r=this;return g.bind(this,i)};S.prototype.N=function(){if(!(2&this.f)){this.f|=2;this.o=h;h=this}};S.prototype.d=function(){this.f|=8;if(!(1&this.f))p(this)};S.prototype.dispose=function(){this.d()};function m(i,t){var n=new S(i,t);try{n.c()}catch(i){n.d();throw i}var r=n.d.bind(n);r[Symbol.dispose]=r;return r}function E(i){return function(){var t=arguments,r=this;return n(function(){return o(function(){return i.apply(r,[].slice.call(t))})})}}function x(){var i=f;f=[];return function(){var t=f;if(f&&i)i=i.concat(f);f=i;return t}}function C(i){return function(){var t,n,r=x();try{n=i.apply(void 0,[].slice.call(arguments))}catch(i){f=void 0;throw i}finally{t=r()}for(var o in n)if(\"function\"==typeof n[o])n[o]=E(n[o]);n[Symbol.dispose]=E(function(){if(t)for(var i=0;i<t.length;i++)t[i].dispose();t=void 0});return n}}export{w as Computed,S as Effect,d as Signal,E as action,n as batch,b as computed,C as createModel,m as effect,c as signal,o as untracked};//# sourceMappingURL=signals-core.module.js.map\n","import{Component as i,options as n,isValidElement as t,Fragment as r}from\"preact\";import{useMemo as o,useRef as f,useEffect as e}from\"preact/hooks\";import{effect as u,Signal as a,computed as c,signal as v,batch as s}from\"@preact/signals-core\";export{Signal,action,batch,computed,createModel,effect,signal,untracked}from\"@preact/signals-core\";var l,h,d,p=\"undefined\"!=typeof window&&!!window.__PREACT_SIGNALS_DEVTOOLS__,m=[],_=[];u(function(){l=this.N})();function g(i,t){n[i]=t.bind(null,n[i]||function(){})}function b(i){if(d){var n=d;d=void 0;n()}d=i&&i.S()}function y(i){var n=this,r=i.data,f=useSignal(r);f.value=r;var e=o(function(){var i=n,r=n.__v;while(r=r.__)if(r.__c){r.__c.__$f|=4;break}var o=c(function(){var i=f.value.value;return 0===i?0:!0===i?\"\":i||\"\"}),e=c(function(){return!Array.isArray(o.value)&&!t(o.value)}),a=u(function(){this.N=F;if(e.value){var n=o.value;if(i.__v&&i.__v.__e&&3===i.__v.__e.nodeType)i.__v.__e.data=n}}),v=n.__$u.d;n.__$u.d=function(){a();v.call(this)};return[e,o]},[]),a=e[0],v=e[1];return a.value?v.peek():v.value}y.displayName=\"ReactiveTextNode\";Object.defineProperties(a.prototype,{constructor:{configurable:!0,value:void 0},type:{configurable:!0,value:y},props:{configurable:!0,get:function(){return{data:this}}},__b:{configurable:!0,value:1}});g(\"__b\",function(i,n){if(\"string\"==typeof n.type){var t,r=n.props;for(var o in r)if(\"children\"!==o){var f=r[o];if(f instanceof a){if(!t)n.__np=t={};t[o]=f;r[o]=f.peek()}}}i(n)});g(\"__r\",function(i,n){i(n);if(n.type!==r){b();var t,o=n.__c;if(o){o.__$f&=-2;if(void 0===(t=o.__$u))o.__$u=t=function(i,n){var t;u(function(){t=this},{name:n});t.c=i;return t}(function(){var i;if(p)null==(i=t.y)||i.call(t);o.__$f|=1;o.setState({})},\"function\"==typeof n.type?n.type.displayName||n.type.name:\"\")}h=o;b(t)}});g(\"__e\",function(i,n,t,r){b();h=void 0;i(n,t,r)});g(\"diffed\",function(i,n){b();h=void 0;var t;if(\"string\"==typeof n.type&&(t=n.__e)){var r=n.__np,o=n.props;if(r){var f=t.U;if(f)for(var e in f){var u=f[e];if(void 0!==u&&!(e in r)){u.d();f[e]=void 0}}else{f={};t.U=f}for(var a in r){var c=f[a],v=r[a];if(void 0===c){c=w(t,a,v,o);f[a]=c}else c.o(v,o)}}}i(n)});function w(i,n,t,r){var o=n in i&&void 0===i.ownerSVGElement,f=v(t);return{o:function(i,n){f.value=i;r=n},d:u(function(){this.N=F;var t=f.value.value;if(r[n]!==t){r[n]=t;if(o)i[n]=t;else if(null!=t&&(!1!==t||\"-\"===n[4]))i.setAttribute(n,t);else i.removeAttribute(n)}})}}g(\"unmount\",function(i,n){if(\"string\"==typeof n.type){var t=n.__e;if(t){var r=t.U;if(r){t.U=void 0;for(var o in r){var f=r[o];if(f)f.d()}}}}else{var e=n.__c;if(e){var u=e.__$u;if(u){e.__$u=void 0;u.d()}}}i(n)});g(\"__h\",function(i,n,t,r){if(r<3||9===r)n.__$f|=2;i(n,t,r)});i.prototype.shouldComponentUpdate=function(i,n){if(this.__R)return!0;var t=this.__$u,r=t&&void 0!==t.s;for(var o in n)return!0;if(this.__f||\"boolean\"==typeof this.u&&!0===this.u){var f=2&this.__$f;if(!(r||f||4&this.__$f))return!0;if(1&this.__$f)return!0}else{if(!(r||4&this.__$f))return!0;if(3&this.__$f)return!0}for(var e in i)if(\"__source\"!==e&&i[e]!==this.props[e])return!0;for(var u in this.props)if(!(u in i))return!0;return!1};function useSignal(i,n){return o(function(){return v(i,n)},[])}function useComputed(i,n){var t=f(i);t.current=i;h.__$f|=4;return o(function(){return c(function(){return t.current()},n)},[])}var k=\"undefined\"==typeof requestAnimationFrame?setTimeout:function(i){var n=function(){clearTimeout(t);cancelAnimationFrame(r);i()},t=setTimeout(n,35),r=requestAnimationFrame(n)},q=function(i){queueMicrotask(function(){queueMicrotask(i)})};function A(){s(function(){var i;while(i=m.shift())l.call(i)})}function T(){if(1===m.push(this))(n.requestAnimationFrame||k)(A)}function x(){s(function(){var i;while(i=_.shift())l.call(i)})}function F(){if(1===_.push(this))(n.requestAnimationFrame||q)(x)}function useSignalEffect(i,n){var t=f(i);t.current=i;e(function(){return u(function(){this.N=T;return t.current()},n)},[])}function M(i){var n=o(function(){return i()},[]);e(function(){return n[Symbol.dispose]},[n]);return n}export{useComputed,M as useModel,useSignal,useSignalEffect};//# sourceMappingURL=signals.module.js.map\n","import { signal } from '@preact/signals'\n\nexport const isOpen = signal(false)\n\n/**\n * Active locale for the widget UI.\n * Initialised to 'de' (default); overridden in App's useEffect via resolveWidgetLocale.\n */\nexport const locale = signal<'en' | 'de'>('de')\n","// Widget-local locale constants.\n// Keep in sync with packages/i18n/src/config.ts (do NOT import from there — see design doc).\nexport type WidgetLocale = 'en' | 'de'\nexport const WIDGET_LOCALES: WidgetLocale[] = ['en', 'de']\nexport const WIDGET_DEFAULT_LOCALE: WidgetLocale = 'de'\nexport const LOCALE_STORAGE_KEY = 'jex-locale'\n\n/** Normalise a raw locale string (e.g. \"en-US\") to a WidgetLocale, or null. */\nfunction parseLocale(raw: string | null | undefined): WidgetLocale | null {\n if (!raw) { return null }\n const base = (raw.split('-')[0] ?? '').toLowerCase()\n return (WIDGET_LOCALES as string[]).includes(base) ? (base as WidgetLocale) : null\n}\n\n/**\n * Resolve the active locale using the priority chain:\n * 1. localStorage['jex-locale'] (visitor's explicit override)\n * 2. navigator.language (browser auto-detect)\n * 3. configLocale (org dashboard setting)\n * 4. 'de' (hardcoded default)\n */\nexport function resolveWidgetLocale(configLocale?: string): WidgetLocale {\n // 1. Visitor's saved choice\n try {\n const saved = parseLocale(localStorage.getItem(LOCALE_STORAGE_KEY))\n if (saved) { return saved }\n } catch {\n // localStorage blocked (e.g. Safari private mode)\n }\n\n // 2. Browser language\n if (typeof navigator !== 'undefined') {\n const browser = parseLocale(navigator.language)\n if (browser) { return browser }\n }\n\n // 3. Org-configured locale\n const config = parseLocale(configLocale)\n if (config) { return config }\n\n // 4. Default\n return WIDGET_DEFAULT_LOCALE\n}\n","// Keep in sync with de.ts — both must export the same WidgetStrings shape.\nexport interface WidgetStrings {\n title: string\n statusOnline: string\n inputPlaceholder: string\n sendAriaLabel: string\n openChatAriaLabel: string\n closeChatAriaLabel: string\n errorNetwork: string\n errorQuota: string\n localeLabelDe: string\n localeLabelEn: string\n}\n\nexport const en: WidgetStrings = {\n title: 'Assistant',\n statusOnline: 'Online \\u00b7 Responds in seconds',\n inputPlaceholder: 'Type a message\\u2026',\n sendAriaLabel: 'Send message',\n openChatAriaLabel: 'Open chat',\n closeChatAriaLabel: 'Close chat',\n errorNetwork: 'Network error. Please try again.',\n errorQuota: 'Message limit reached. Please try again later.',\n localeLabelDe: 'DE',\n localeLabelEn: 'EN',\n}\n","import type { WidgetStrings } from './en'\n\nexport const de: WidgetStrings = {\n title: 'Assistent',\n statusOnline: 'Online \\u00b7 Antwortet in Sekunden',\n inputPlaceholder: 'Nachricht eingeben\\u2026',\n sendAriaLabel: 'Nachricht senden',\n openChatAriaLabel: 'Chat \\u00f6ffnen',\n closeChatAriaLabel: 'Chat schlie\\u00dfen',\n errorNetwork: 'Netzwerkfehler. Bitte versuche es erneut.',\n errorQuota: 'Nachrichtenlimit erreicht. Bitte versuche es sp\\u00e4ter erneut.',\n localeLabelDe: 'DE',\n localeLabelEn: 'EN',\n}\n","import { locale } from '../widget-state'\nimport { en, type WidgetStrings } from './locales/en'\nimport { de } from './locales/de'\n\nexport type { WidgetStrings }\nexport {\n type WidgetLocale,\n WIDGET_LOCALES,\n WIDGET_DEFAULT_LOCALE,\n LOCALE_STORAGE_KEY,\n} from './resolve-widget-locale'\n\nconst STRINGS: Record<string, WidgetStrings> = { en, de }\n\n/**\n * Returns the current locale's string dictionary.\n * Reactive — components that call this re-render when locale changes.\n *\n * Usage inside a Preact component:\n * const s = useLocale();\n * return <p>{s.inputPlaceholder}</p>;\n */\nexport function useLocale(): WidgetStrings {\n // Accessing locale.value inside render subscribes this component to changes.\n return STRINGS[locale.value] ?? en\n}\n\n/**\n * Switch the active locale and persist the visitor's choice to localStorage.\n * Call this from the footer toggle's onClick handler.\n */\nexport function setLocale(next: 'en' | 'de'): void {\n locale.value = next\n try {\n localStorage.setItem('jex-locale', next)\n } catch {\n // Storage blocked — still update the in-memory signal\n }\n}\n","import { useState, useEffect } from 'preact/hooks'\nimport { MessageCircle, Send, X, Bot, Zap, ChevronDown } from 'lucide-preact'\nimport { isOpen, locale } from './widget-state.ts'\nimport { resolveWidgetLocale } from './i18n/resolve-widget-locale.ts'\nimport { useLocale, setLocale } from './i18n/index.ts'\nimport type { JexityChatOptions } from './types.ts'\nimport './index.css'\n\n/** Maps JexityChatOptions theme fields → CSS custom properties on the widget root. */\nfunction buildThemeVars(options: JexityChatOptions): Record<string, string> | undefined {\n const vars: Record<string, string> = {}\n const { primaryColor, theme } = options\n\n // Shorthand: sets all brand-colored elements at once\n if (primaryColor) {\n vars['--jex-primary'] = primaryColor\n vars['--jex-bg-trigger'] = primaryColor\n vars['--jex-bg-header'] = primaryColor\n vars['--jex-bg-msg-user'] = primaryColor\n vars['--jex-bg-send-btn'] = primaryColor\n }\n\n // Granular overrides — take precedence over primaryColor shorthand\n if (theme?.bg) {\n const bg = theme.bg\n if (bg.trigger) { vars['--jex-bg-trigger'] = bg.trigger }\n if (bg.header) { vars['--jex-bg-header'] = bg.header }\n if (bg.msgUser) { vars['--jex-bg-msg-user'] = bg.msgUser }\n if (bg.msgBot) { vars['--jex-bg-msg-bot'] = bg.msgBot }\n if (bg.window) { vars['--jex-bg-window'] = bg.window }\n if (bg.sendBtn) { vars['--jex-bg-send-btn'] = bg.sendBtn }\n }\n if (theme?.text) {\n const text = theme.text\n if (text.header) { vars['--jex-text-header'] = text.header }\n if (text.msgUser) { vars['--jex-text-msg-user'] = text.msgUser }\n if (text.msgBot) { vars['--jex-text-msg-bot'] = text.msgBot }\n if (text.main) { vars['--jex-text-main'] = text.main }\n if (text.muted) { vars['--jex-text-muted'] = text.muted }\n }\n if (theme?.border) {\n const border = theme.border\n if (border.window) { vars['--jex-border-window'] = border.window }\n if (border.input) { vars['--jex-border-input'] = border.input }\n }\n\n return Object.keys(vars).length > 0 ? vars : undefined\n}\n\nfunction WidgetFooter() {\n return (\n <div className=\"jex-widget-footer\">\n <a\n href=\"https://jexity.com\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"jex-branding\"\n >\n <Zap size={14} className=\"jex-branding-icon\" />\n <span>\n Powered by <strong>Jexity</strong>\n </span>\n </a>\n\n <div className=\"jex-locale-select-wrapper\">\n <select\n className=\"jex-locale-select\"\n value={locale.value}\n onChange={(e) => setLocale(e.currentTarget.value as 'de' | 'en')}\n aria-label=\"Select language\"\n >\n <option value=\"de\">🇩🇪 Deutsch</option>\n <option value=\"en\">🇬🇧 English</option>\n </select>\n <ChevronDown size={14} className=\"jex-locale-chevron\" />\n </div>\n </div>\n )\n}\n\nexport function App({ options }: { options: JexityChatOptions }) {\n const s = useLocale()\n const [input, setInput] = useState('')\n const [messages, setMessages] = useState([\n {\n id: 1,\n text:\n options.greeting ??\n `Hi there! This is ${options.orgId} assistant. How can I help you today?`,\n sender: 'bot',\n },\n ])\n\n const posLeft = options.position === 'bottom-left'\n\n // Resolve locale from priority chain on widget mount.\n // options is treated as immutable after mount (widget factory pattern),\n // so we capture options.locale explicitly in the deps array to make this clear.\n const configLocale = options.locale\n useEffect(() => {\n locale.value = resolveWidgetLocale(configLocale)\n }, [configLocale])\n\n // Handle postMessage locale updates (dashboard preview)\n useEffect(() => {\n function handleMessage(e: MessageEvent): void {\n // Only accept messages from the configured parent origin.\n // Without parentOrigin, accept from same origin only (window.location.origin).\n const allowedOrigin = options.parentOrigin ?? window.location.origin\n if (e.origin !== allowedOrigin) { return }\n if (e.data?.type !== 'jexity:config') { return }\n\n const { locale: newLocale } = e.data.payload as { locale?: string }\n if (newLocale === 'en' || newLocale === 'de') {\n // Preview updates locale signal but do NOT write to localStorage.\n // The visitor's personal choice should not be overwritten by the preview.\n locale.value = newLocale\n }\n }\n window.addEventListener('message', handleMessage)\n return () => window.removeEventListener('message', handleMessage)\n }, [options.parentOrigin])\n\n const handleSend = () => {\n if (!input.trim()) { return }\n\n const userMsg = { id: Date.now(), text: input, sender: 'user' }\n setMessages([...messages, userMsg])\n setInput('')\n\n setTimeout(() => {\n setMessages((msgs) => [\n ...msgs,\n {\n id: Date.now() + 1,\n text: `You said: \"${input}\". This is a demo of the Jexity Chat Widget!`,\n sender: 'bot',\n },\n ])\n }, 1000)\n }\n\n const themeStyle = buildThemeVars(options)\n const scheme = options.colorScheme\n const colorSchemeClass = scheme === 'dark' || scheme === 'light' ? scheme : ''\n\n return (\n <div className={`jex-widget ${colorSchemeClass}`.trim()} style={themeStyle}>\n <div className={`jex-container${posLeft ? ' jex-pos-left' : ''}`}>\n {isOpen.value && (\n <div className=\"jex-chat-window\">\n <header className=\"jex-chat-header\">\n <Bot size={24} />\n <div className=\"jex-header-info\">\n <h3>{options.title ?? s.title}</h3>\n <p>{s.statusOnline}</p>\n </div>\n </header>\n\n <div className=\"jex-chat-messages\">\n {messages.map((msg) => (\n <div key={msg.id} className={`jex-message ${msg.sender}`}>\n {msg.text}\n </div>\n ))}\n </div>\n\n <div className=\"jex-chat-input\">\n <input\n type=\"text\"\n placeholder={s.inputPlaceholder}\n value={input}\n onInput={(e) => setInput(e.currentTarget.value)}\n onKeyDown={(e) => e.key === 'Enter' && handleSend()}\n />\n <button\n className=\"jex-send-btn\"\n onClick={handleSend}\n aria-label={s.sendAriaLabel}\n >\n <Send size={18} />\n </button>\n </div>\n\n <WidgetFooter />\n </div>\n )}\n\n <button\n className=\"jex-floating-button\"\n onClick={() => (isOpen.value = !isOpen.value)}\n aria-label={isOpen.value ? s.closeChatAriaLabel : s.openChatAriaLabel}\n >\n {isOpen.value ? <X size={28} /> : <MessageCircle size={28} />}\n </button>\n </div>\n </div>\n )\n}\n","import { render, type ComponentChild } from 'preact'\nimport { h } from 'preact'\nimport { App } from './app.tsx'\nimport { isOpen } from './widget-state.ts'\n\nexport type { JexityChatOptions, JexityChatInstance } from './types.ts'\nimport type { JexityChatOptions, JexityChatInstance } from './types.ts'\n\nlet activeInstance: JexityChatInstance | null = null\n\nexport function JexityChat(options: JexityChatOptions): JexityChatInstance {\n // Singleton: shut down previous instance if one exists\n if (activeInstance) {\n activeInstance.shutdown()\n }\n\n let mountEl: HTMLElement\n\n if (options.container) {\n mountEl =\n typeof options.container === 'string'\n ? document.querySelector<HTMLElement>(options.container)!\n : options.container\n } else {\n mountEl = document.createElement('div')\n mountEl.id = 'jexity-chat-widget'\n document.body.appendChild(mountEl)\n }\n\n render(h(App, { options }), mountEl)\n\n const listeners = new Set<(open: boolean) => void>()\n\n // Subscribe to the Preact signal for isOpen changes\n const disposeSignal = isOpen.subscribe((value: boolean) => {\n for (const cb of listeners) cb(value)\n })\n\n const instance: JexityChatInstance = {\n shutdown() {\n disposeSignal()\n listeners.clear()\n render(null as unknown as ComponentChild, mountEl)\n if (!options.container) mountEl.remove()\n if (activeInstance === instance) activeInstance = null\n },\n open() {\n isOpen.value = true\n },\n close() {\n isOpen.value = false\n },\n toggle() {\n isOpen.value = !isOpen.value\n },\n get isOpen() {\n return isOpen.value\n },\n subscribe(cb: (open: boolean) => void) {\n listeners.add(cb)\n return () => listeners.delete(cb)\n },\n }\n\n activeInstance = instance\n return instance\n}\n"],"names":["n","l","u","t","i","r","o","e","f","c","s","a","p","v","y","w","d","g","_","m","k","x","S","C","M","$","O","N","I","h","b","P","B","A","L","D","H","T","j","F","E","V","z","q","G","mergeClasses","classes","className","index","array","toKebabCase","string","toCamelCase","match","p1","p2","toPascalCase","camelCase","defaultAttributes","hasA11yProp","props","prop","Icon","color","size","strokeWidth","absoluteStrokeWidth","children","iconNode","rest","tag","attrs","toChildArray","createLucideIcon","iconName","Component","Bot","ChevronDown","MessageCircle","Send","X","Zap","useSignal","isOpen","signal","locale","WIDGET_LOCALES","WIDGET_DEFAULT_LOCALE","LOCALE_STORAGE_KEY","parseLocale","raw","base","resolveWidgetLocale","configLocale","saved","browser","config","en","de","STRINGS","useLocale","setLocale","next","buildThemeVars","options","vars","primaryColor","theme","bg","text","border","WidgetFooter","jsxs","jsx","App","input","setInput","useState","messages","setMessages","posLeft","useEffect","handleMessage","allowedOrigin","newLocale","handleSend","userMsg","msgs","themeStyle","scheme","msg","activeInstance","JexityChat","mountEl","render","listeners","disposeSignal","value","cb","instance"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18]}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../node_modules/.pnpm/preact@10.27.2/node_modules/preact/dist/preact.module.js","../../../node_modules/.pnpm/preact@10.27.2/node_modules/preact/jsx-runtime/dist/jsxRuntime.module.js","../../../node_modules/.pnpm/preact@10.27.2/node_modules/preact/hooks/dist/hooks.module.js","../../../node_modules/.pnpm/@preact+signals-core@1.13.0/node_modules/@preact/signals-core/dist/signals-core.module.js","../../../node_modules/.pnpm/@preact+signals@2.7.1_preact@10.27.2/node_modules/@preact/signals/dist/signals.module.js","../src/module/shell/shell.state.ts","../src/module/visitor/visitor.state.ts","../src/i18n/locales/en.ts","../src/i18n/locales/de.ts","../src/i18n/config.ts","../src/i18n/index.ts","../src/i18n/resolve-widget-locale.ts","../src/shared/theme/build-theme.ts","../src/module/screens/screens.state.ts","../src/shared/icons/BotIcon.tsx","../src/shared/ui/Header.tsx","../src/shared/icons/ZapIcon.tsx","../src/shared/ui/Footer.tsx","../src/shared/icons/MessageIcon.tsx","../src/shared/icons/CloseIcon.tsx","../src/shared/icons/SparklesIcon.tsx","../src/shared/ui/FAB.tsx","../src/features/chat/lib/chat.ts","../src/features/home/components/HomeScreen.tsx","../src/features/selection/components/SelectionScreen.tsx","../src/features/chat/components/BotMessage.tsx","../src/features/chat/components/UserMessage.tsx","../src/features/chat/components/TypingIndicator.tsx","../src/features/chat/components/MessageList.tsx","../src/shared/icons/SendIcon.tsx","../src/features/chat/components/ChatInput.tsx","../src/features/chat/components/ChatScreen.tsx","../src/features/ticket/components/FormScreen.tsx","../src/features/ticket/components/ConfirmationScreen.tsx","../src/shared/ui/LoadingScreen.tsx","../src/shared/ui/ErrorScreen.tsx","../src/module/screens/ScreenRouter.tsx","../src/module/shell/AppShell.tsx","../src/shared/theme/inject-styles.ts","../src/module/shell/mount.tsx","../src/entries/esm.ts"],"sourcesContent":["var n,l,u,t,i,r,o,e,f,c,s,a,h,p={},v=[],y=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,w=Array.isArray;function d(n,l){for(var u in l)n[u]=l[u];return n}function g(n){n&&n.parentNode&&n.parentNode.removeChild(n)}function _(l,u,t){var i,r,o,e={};for(o in u)\"key\"==o?i=u[o]:\"ref\"==o?r=u[o]:e[o]=u[o];if(arguments.length>2&&(e.children=arguments.length>3?n.call(arguments,2):t),\"function\"==typeof l&&null!=l.defaultProps)for(o in l.defaultProps)void 0===e[o]&&(e[o]=l.defaultProps[o]);return m(l,e,i,r,null)}function m(n,t,i,r,o){var e={type:n,props:t,key:i,ref:r,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:null==o?++u:o,__i:-1,__u:0};return null==o&&null!=l.vnode&&l.vnode(e),e}function b(){return{current:null}}function k(n){return n.children}function x(n,l){this.props=n,this.context=l}function S(n,l){if(null==l)return n.__?S(n.__,n.__i+1):null;for(var u;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e)return u.__e;return\"function\"==typeof n.type?S(n):null}function C(n){var l,u;if(null!=(n=n.__)&&null!=n.__c){for(n.__e=n.__c.base=null,l=0;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e){n.__e=n.__c.base=u.__e;break}return C(n)}}function M(n){(!n.__d&&(n.__d=!0)&&i.push(n)&&!$.__r++||r!=l.debounceRendering)&&((r=l.debounceRendering)||o)($)}function $(){for(var n,u,t,r,o,f,c,s=1;i.length;)i.length>s&&i.sort(e),n=i.shift(),s=i.length,n.__d&&(t=void 0,r=void 0,o=(r=(u=n).__v).__e,f=[],c=[],u.__P&&((t=d({},r)).__v=r.__v+1,l.vnode&&l.vnode(t),O(u.__P,t,r,u.__n,u.__P.namespaceURI,32&r.__u?[o]:null,f,null==o?S(r):o,!!(32&r.__u),c),t.__v=r.__v,t.__.__k[t.__i]=t,N(f,t,c),r.__e=r.__=null,t.__e!=o&&C(t)));$.__r=0}function I(n,l,u,t,i,r,o,e,f,c,s){var a,h,y,w,d,g,_,m=t&&t.__k||v,b=l.length;for(f=P(u,l,m,f,b),a=0;a<b;a++)null!=(y=u.__k[a])&&(h=-1==y.__i?p:m[y.__i]||p,y.__i=a,g=O(n,y,h,i,r,o,e,f,c,s),w=y.__e,y.ref&&h.ref!=y.ref&&(h.ref&&B(h.ref,null,y),s.push(y.ref,y.__c||w,y)),null==d&&null!=w&&(d=w),(_=!!(4&y.__u))||h.__k===y.__k?f=A(y,f,n,_):\"function\"==typeof y.type&&void 0!==g?f=g:w&&(f=w.nextSibling),y.__u&=-7);return u.__e=d,f}function P(n,l,u,t,i){var r,o,e,f,c,s=u.length,a=s,h=0;for(n.__k=new Array(i),r=0;r<i;r++)null!=(o=l[r])&&\"boolean\"!=typeof o&&\"function\"!=typeof o?(f=r+h,(o=n.__k[r]=\"string\"==typeof o||\"number\"==typeof o||\"bigint\"==typeof o||o.constructor==String?m(null,o,null,null,null):w(o)?m(k,{children:o},null,null,null):null==o.constructor&&o.__b>0?m(o.type,o.props,o.key,o.ref?o.ref:null,o.__v):o).__=n,o.__b=n.__b+1,e=null,-1!=(c=o.__i=L(o,u,f,a))&&(a--,(e=u[c])&&(e.__u|=2)),null==e||null==e.__v?(-1==c&&(i>s?h--:i<s&&h++),\"function\"!=typeof o.type&&(o.__u|=4)):c!=f&&(c==f-1?h--:c==f+1?h++:(c>f?h--:h++,o.__u|=4))):n.__k[r]=null;if(a)for(r=0;r<s;r++)null!=(e=u[r])&&0==(2&e.__u)&&(e.__e==t&&(t=S(e)),D(e,e));return t}function A(n,l,u,t){var i,r;if(\"function\"==typeof n.type){for(i=n.__k,r=0;i&&r<i.length;r++)i[r]&&(i[r].__=n,l=A(i[r],l,u,t));return l}n.__e!=l&&(t&&(l&&n.type&&!l.parentNode&&(l=S(n)),u.insertBefore(n.__e,l||null)),l=n.__e);do{l=l&&l.nextSibling}while(null!=l&&8==l.nodeType);return l}function H(n,l){return l=l||[],null==n||\"boolean\"==typeof n||(w(n)?n.some(function(n){H(n,l)}):l.push(n)),l}function L(n,l,u,t){var i,r,o,e=n.key,f=n.type,c=l[u],s=null!=c&&0==(2&c.__u);if(null===c&&null==n.key||s&&e==c.key&&f==c.type)return u;if(t>(s?1:0))for(i=u-1,r=u+1;i>=0||r<l.length;)if(null!=(c=l[o=i>=0?i--:r++])&&0==(2&c.__u)&&e==c.key&&f==c.type)return o;return-1}function T(n,l,u){\"-\"==l[0]?n.setProperty(l,null==u?\"\":u):n[l]=null==u?\"\":\"number\"!=typeof u||y.test(l)?u:u+\"px\"}function j(n,l,u,t,i){var r,o;n:if(\"style\"==l)if(\"string\"==typeof u)n.style.cssText=u;else{if(\"string\"==typeof t&&(n.style.cssText=t=\"\"),t)for(l in t)u&&l in u||T(n.style,l,\"\");if(u)for(l in u)t&&u[l]==t[l]||T(n.style,l,u[l])}else if(\"o\"==l[0]&&\"n\"==l[1])r=l!=(l=l.replace(f,\"$1\")),o=l.toLowerCase(),l=o in n||\"onFocusOut\"==l||\"onFocusIn\"==l?o.slice(2):l.slice(2),n.l||(n.l={}),n.l[l+r]=u,u?t?u.u=t.u:(u.u=c,n.addEventListener(l,r?a:s,r)):n.removeEventListener(l,r?a:s,r);else{if(\"http://www.w3.org/2000/svg\"==i)l=l.replace(/xlink(H|:h)/,\"h\").replace(/sName$/,\"s\");else if(\"width\"!=l&&\"height\"!=l&&\"href\"!=l&&\"list\"!=l&&\"form\"!=l&&\"tabIndex\"!=l&&\"download\"!=l&&\"rowSpan\"!=l&&\"colSpan\"!=l&&\"role\"!=l&&\"popover\"!=l&&l in n)try{n[l]=null==u?\"\":u;break n}catch(n){}\"function\"==typeof u||(null==u||!1===u&&\"-\"!=l[4]?n.removeAttribute(l):n.setAttribute(l,\"popover\"==l&&1==u?\"\":u))}}function F(n){return function(u){if(this.l){var t=this.l[u.type+n];if(null==u.t)u.t=c++;else if(u.t<t.u)return;return t(l.event?l.event(u):u)}}}function O(n,u,t,i,r,o,e,f,c,s){var a,h,p,v,y,_,m,b,S,C,M,$,P,A,H,L,T,j=u.type;if(null!=u.constructor)return null;128&t.__u&&(c=!!(32&t.__u),o=[f=u.__e=t.__e]),(a=l.__b)&&a(u);n:if(\"function\"==typeof j)try{if(b=u.props,S=\"prototype\"in j&&j.prototype.render,C=(a=j.contextType)&&i[a.__c],M=a?C?C.props.value:a.__:i,t.__c?m=(h=u.__c=t.__c).__=h.__E:(S?u.__c=h=new j(b,M):(u.__c=h=new x(b,M),h.constructor=j,h.render=E),C&&C.sub(h),h.props=b,h.state||(h.state={}),h.context=M,h.__n=i,p=h.__d=!0,h.__h=[],h._sb=[]),S&&null==h.__s&&(h.__s=h.state),S&&null!=j.getDerivedStateFromProps&&(h.__s==h.state&&(h.__s=d({},h.__s)),d(h.__s,j.getDerivedStateFromProps(b,h.__s))),v=h.props,y=h.state,h.__v=u,p)S&&null==j.getDerivedStateFromProps&&null!=h.componentWillMount&&h.componentWillMount(),S&&null!=h.componentDidMount&&h.__h.push(h.componentDidMount);else{if(S&&null==j.getDerivedStateFromProps&&b!==v&&null!=h.componentWillReceiveProps&&h.componentWillReceiveProps(b,M),!h.__e&&null!=h.shouldComponentUpdate&&!1===h.shouldComponentUpdate(b,h.__s,M)||u.__v==t.__v){for(u.__v!=t.__v&&(h.props=b,h.state=h.__s,h.__d=!1),u.__e=t.__e,u.__k=t.__k,u.__k.some(function(n){n&&(n.__=u)}),$=0;$<h._sb.length;$++)h.__h.push(h._sb[$]);h._sb=[],h.__h.length&&e.push(h);break n}null!=h.componentWillUpdate&&h.componentWillUpdate(b,h.__s,M),S&&null!=h.componentDidUpdate&&h.__h.push(function(){h.componentDidUpdate(v,y,_)})}if(h.context=M,h.props=b,h.__P=n,h.__e=!1,P=l.__r,A=0,S){for(h.state=h.__s,h.__d=!1,P&&P(u),a=h.render(h.props,h.state,h.context),H=0;H<h._sb.length;H++)h.__h.push(h._sb[H]);h._sb=[]}else do{h.__d=!1,P&&P(u),a=h.render(h.props,h.state,h.context),h.state=h.__s}while(h.__d&&++A<25);h.state=h.__s,null!=h.getChildContext&&(i=d(d({},i),h.getChildContext())),S&&!p&&null!=h.getSnapshotBeforeUpdate&&(_=h.getSnapshotBeforeUpdate(v,y)),L=a,null!=a&&a.type===k&&null==a.key&&(L=V(a.props.children)),f=I(n,w(L)?L:[L],u,t,i,r,o,e,f,c,s),h.base=u.__e,u.__u&=-161,h.__h.length&&e.push(h),m&&(h.__E=h.__=null)}catch(n){if(u.__v=null,c||null!=o)if(n.then){for(u.__u|=c?160:128;f&&8==f.nodeType&&f.nextSibling;)f=f.nextSibling;o[o.indexOf(f)]=null,u.__e=f}else{for(T=o.length;T--;)g(o[T]);z(u)}else u.__e=t.__e,u.__k=t.__k,n.then||z(u);l.__e(n,u,t)}else null==o&&u.__v==t.__v?(u.__k=t.__k,u.__e=t.__e):f=u.__e=q(t.__e,u,t,i,r,o,e,c,s);return(a=l.diffed)&&a(u),128&u.__u?void 0:f}function z(n){n&&n.__c&&(n.__c.__e=!0),n&&n.__k&&n.__k.forEach(z)}function N(n,u,t){for(var i=0;i<t.length;i++)B(t[i],t[++i],t[++i]);l.__c&&l.__c(u,n),n.some(function(u){try{n=u.__h,u.__h=[],n.some(function(n){n.call(u)})}catch(n){l.__e(n,u.__v)}})}function V(n){return\"object\"!=typeof n||null==n||n.__b&&n.__b>0?n:w(n)?n.map(V):d({},n)}function q(u,t,i,r,o,e,f,c,s){var a,h,v,y,d,_,m,b=i.props,k=t.props,x=t.type;if(\"svg\"==x?o=\"http://www.w3.org/2000/svg\":\"math\"==x?o=\"http://www.w3.org/1998/Math/MathML\":o||(o=\"http://www.w3.org/1999/xhtml\"),null!=e)for(a=0;a<e.length;a++)if((d=e[a])&&\"setAttribute\"in d==!!x&&(x?d.localName==x:3==d.nodeType)){u=d,e[a]=null;break}if(null==u){if(null==x)return document.createTextNode(k);u=document.createElementNS(o,x,k.is&&k),c&&(l.__m&&l.__m(t,e),c=!1),e=null}if(null==x)b===k||c&&u.data==k||(u.data=k);else{if(e=e&&n.call(u.childNodes),b=i.props||p,!c&&null!=e)for(b={},a=0;a<u.attributes.length;a++)b[(d=u.attributes[a]).name]=d.value;for(a in b)if(d=b[a],\"children\"==a);else if(\"dangerouslySetInnerHTML\"==a)v=d;else if(!(a in k)){if(\"value\"==a&&\"defaultValue\"in k||\"checked\"==a&&\"defaultChecked\"in k)continue;j(u,a,null,d,o)}for(a in k)d=k[a],\"children\"==a?y=d:\"dangerouslySetInnerHTML\"==a?h=d:\"value\"==a?_=d:\"checked\"==a?m=d:c&&\"function\"!=typeof d||b[a]===d||j(u,a,d,b[a],o);if(h)c||v&&(h.__html==v.__html||h.__html==u.innerHTML)||(u.innerHTML=h.__html),t.__k=[];else if(v&&(u.innerHTML=\"\"),I(\"template\"==t.type?u.content:u,w(y)?y:[y],t,i,r,\"foreignObject\"==x?\"http://www.w3.org/1999/xhtml\":o,e,f,e?e[0]:i.__k&&S(i,0),c,s),null!=e)for(a=e.length;a--;)g(e[a]);c||(a=\"value\",\"progress\"==x&&null==_?u.removeAttribute(\"value\"):null!=_&&(_!==u[a]||\"progress\"==x&&!_||\"option\"==x&&_!=b[a])&&j(u,a,_,b[a],o),a=\"checked\",null!=m&&m!=u[a]&&j(u,a,m,b[a],o))}return u}function B(n,u,t){try{if(\"function\"==typeof n){var i=\"function\"==typeof n.__u;i&&n.__u(),i&&null==u||(n.__u=n(u))}else n.current=u}catch(n){l.__e(n,t)}}function D(n,u,t){var i,r;if(l.unmount&&l.unmount(n),(i=n.ref)&&(i.current&&i.current!=n.__e||B(i,null,u)),null!=(i=n.__c)){if(i.componentWillUnmount)try{i.componentWillUnmount()}catch(n){l.__e(n,u)}i.base=i.__P=null}if(i=n.__k)for(r=0;r<i.length;r++)i[r]&&D(i[r],u,t||\"function\"!=typeof n.type);t||g(n.__e),n.__c=n.__=n.__e=void 0}function E(n,l,u){return this.constructor(n,u)}function G(u,t,i){var r,o,e,f;t==document&&(t=document.documentElement),l.__&&l.__(u,t),o=(r=\"function\"==typeof i)?null:i&&i.__k||t.__k,e=[],f=[],O(t,u=(!r&&i||t).__k=_(k,null,[u]),o||p,p,t.namespaceURI,!r&&i?[i]:o?null:t.firstChild?n.call(t.childNodes):null,e,!r&&i?i:o?o.__e:t.firstChild,r,f),N(e,u,f)}function J(n,l){G(n,l,J)}function K(l,u,t){var i,r,o,e,f=d({},l.props);for(o in l.type&&l.type.defaultProps&&(e=l.type.defaultProps),u)\"key\"==o?i=u[o]:\"ref\"==o?r=u[o]:f[o]=void 0===u[o]&&null!=e?e[o]:u[o];return arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):t),m(l.type,f,i||l.key,r||l.ref,null)}function Q(n){function l(n){var u,t;return this.getChildContext||(u=new Set,(t={})[l.__c]=this,this.getChildContext=function(){return t},this.componentWillUnmount=function(){u=null},this.shouldComponentUpdate=function(n){this.props.value!=n.value&&u.forEach(function(n){n.__e=!0,M(n)})},this.sub=function(n){u.add(n);var l=n.componentWillUnmount;n.componentWillUnmount=function(){u&&u.delete(n),l&&l.call(n)}}),n.children}return l.__c=\"__cC\"+h++,l.__=n,l.Provider=l.__l=(l.Consumer=function(n,l){return n.children(l)}).contextType=l,l}n=v.slice,l={__e:function(n,l,u,t){for(var i,r,o;l=l.__;)if((i=l.__c)&&!i.__)try{if((r=i.constructor)&&null!=r.getDerivedStateFromError&&(i.setState(r.getDerivedStateFromError(n)),o=i.__d),null!=i.componentDidCatch&&(i.componentDidCatch(n,t||{}),o=i.__d),o)return i.__E=i}catch(l){n=l}throw n}},u=0,t=function(n){return null!=n&&null==n.constructor},x.prototype.setState=function(n,l){var u;u=null!=this.__s&&this.__s!=this.state?this.__s:this.__s=d({},this.state),\"function\"==typeof n&&(n=n(d({},u),this.props)),n&&d(u,n),null!=n&&this.__v&&(l&&this._sb.push(l),M(this))},x.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),M(this))},x.prototype.render=k,i=[],o=\"function\"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,e=function(n,l){return n.__v.__b-l.__v.__b},$.__r=0,f=/(PointerCapture)$|Capture$/i,c=0,s=F(!1),a=F(!0),h=0;export{x as Component,k as Fragment,K as cloneElement,Q as createContext,_ as createElement,b as createRef,_ as h,J as hydrate,t as isValidElement,l as options,G as render,H as toChildArray};\n//# sourceMappingURL=preact.module.js.map\n","import{options as r,Fragment as e}from\"preact\";export{Fragment}from\"preact\";var t=/[\"&<]/;function n(r){if(0===r.length||!1===t.test(r))return r;for(var e=0,n=0,o=\"\",f=\"\";n<r.length;n++){switch(r.charCodeAt(n)){case 34:f=\""\";break;case 38:f=\"&\";break;case 60:f=\"<\";break;default:continue}n!==e&&(o+=r.slice(e,n)),o+=f,e=n+1}return n!==e&&(o+=r.slice(e,n)),o}var o=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,f=0,i=Array.isArray;function u(e,t,n,o,i,u){t||(t={});var a,c,p=t;if(\"ref\"in p)for(c in p={},t)\"ref\"==c?a=t[c]:p[c]=t[c];var l={type:e,props:p,key:n,ref:a,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--f,__i:-1,__u:0,__source:i,__self:u};if(\"function\"==typeof e&&(a=e.defaultProps))for(c in a)void 0===p[c]&&(p[c]=a[c]);return r.vnode&&r.vnode(l),l}function a(r){var t=u(e,{tpl:r,exprs:[].slice.call(arguments,1)});return t.key=t.__v,t}var c={},p=/[A-Z]/g;function l(e,t){if(r.attr){var f=r.attr(e,t);if(\"string\"==typeof f)return f}if(t=function(r){return null!==r&&\"object\"==typeof r&&\"function\"==typeof r.valueOf?r.valueOf():r}(t),\"ref\"===e||\"key\"===e)return\"\";if(\"style\"===e&&\"object\"==typeof t){var i=\"\";for(var u in t){var a=t[u];if(null!=a&&\"\"!==a){var l=\"-\"==u[0]?u:c[u]||(c[u]=u.replace(p,\"-$&\").toLowerCase()),s=\";\";\"number\"!=typeof a||l.startsWith(\"--\")||o.test(l)||(s=\"px;\"),i=i+l+\":\"+a+s}}return e+'=\"'+n(i)+'\"'}return null==t||!1===t||\"function\"==typeof t||\"object\"==typeof t?\"\":!0===t?e:e+'=\"'+n(\"\"+t)+'\"'}function s(r){if(null==r||\"boolean\"==typeof r||\"function\"==typeof r)return null;if(\"object\"==typeof r){if(void 0===r.constructor)return r;if(i(r)){for(var e=0;e<r.length;e++)r[e]=s(r[e]);return r}}return n(\"\"+r)}export{u as jsx,l as jsxAttr,u as jsxDEV,s as jsxEscape,a as jsxTemplate,u as jsxs};\n//# sourceMappingURL=jsxRuntime.module.js.map\n","import{options as n}from\"preact\";var t,r,u,i,o=0,f=[],c=n,e=c.__b,a=c.__r,v=c.diffed,l=c.__c,m=c.unmount,s=c.__;function p(n,t){c.__h&&c.__h(r,n,o||t),o=0;var u=r.__H||(r.__H={__:[],__h:[]});return n>=u.__.length&&u.__.push({}),u.__[n]}function d(n){return o=1,h(D,n)}function h(n,u,i){var o=p(t++,2);if(o.t=n,!o.__c&&(o.__=[i?i(u):D(void 0,u),function(n){var t=o.__N?o.__N[0]:o.__[0],r=o.t(t,n);t!==r&&(o.__N=[r,o.__[1]],o.__c.setState({}))}],o.__c=r,!r.__f)){var f=function(n,t,r){if(!o.__c.__H)return!0;var u=o.__c.__H.__.filter(function(n){return!!n.__c});if(u.every(function(n){return!n.__N}))return!c||c.call(this,n,t,r);var i=o.__c.props!==n;return u.forEach(function(n){if(n.__N){var t=n.__[0];n.__=n.__N,n.__N=void 0,t!==n.__[0]&&(i=!0)}}),c&&c.call(this,n,t,r)||i};r.__f=!0;var c=r.shouldComponentUpdate,e=r.componentWillUpdate;r.componentWillUpdate=function(n,t,r){if(this.__e){var u=c;c=void 0,f(n,t,r),c=u}e&&e.call(this,n,t,r)},r.shouldComponentUpdate=f}return o.__N||o.__}function y(n,u){var i=p(t++,3);!c.__s&&C(i.__H,u)&&(i.__=n,i.u=u,r.__H.__h.push(i))}function _(n,u){var i=p(t++,4);!c.__s&&C(i.__H,u)&&(i.__=n,i.u=u,r.__h.push(i))}function A(n){return o=5,T(function(){return{current:n}},[])}function F(n,t,r){o=6,_(function(){if(\"function\"==typeof n){var r=n(t());return function(){n(null),r&&\"function\"==typeof r&&r()}}if(n)return n.current=t(),function(){return n.current=null}},null==r?r:r.concat(n))}function T(n,r){var u=p(t++,7);return C(u.__H,r)&&(u.__=n(),u.__H=r,u.__h=n),u.__}function q(n,t){return o=8,T(function(){return n},t)}function x(n){var u=r.context[n.__c],i=p(t++,9);return i.c=n,u?(null==i.__&&(i.__=!0,u.sub(r)),u.props.value):n.__}function P(n,t){c.useDebugValue&&c.useDebugValue(t?t(n):n)}function b(n){var u=p(t++,10),i=d();return u.__=n,r.componentDidCatch||(r.componentDidCatch=function(n,t){u.__&&u.__(n,t),i[1](n)}),[i[0],function(){i[1](void 0)}]}function g(){var n=p(t++,11);if(!n.__){for(var u=r.__v;null!==u&&!u.__m&&null!==u.__;)u=u.__;var i=u.__m||(u.__m=[0,0]);n.__=\"P\"+i[0]+\"-\"+i[1]++}return n.__}function j(){for(var n;n=f.shift();)if(n.__P&&n.__H)try{n.__H.__h.forEach(z),n.__H.__h.forEach(B),n.__H.__h=[]}catch(t){n.__H.__h=[],c.__e(t,n.__v)}}c.__b=function(n){r=null,e&&e(n)},c.__=function(n,t){n&&t.__k&&t.__k.__m&&(n.__m=t.__k.__m),s&&s(n,t)},c.__r=function(n){a&&a(n),t=0;var i=(r=n.__c).__H;i&&(u===r?(i.__h=[],r.__h=[],i.__.forEach(function(n){n.__N&&(n.__=n.__N),n.u=n.__N=void 0})):(i.__h.forEach(z),i.__h.forEach(B),i.__h=[],t=0)),u=r},c.diffed=function(n){v&&v(n);var t=n.__c;t&&t.__H&&(t.__H.__h.length&&(1!==f.push(t)&&i===c.requestAnimationFrame||((i=c.requestAnimationFrame)||w)(j)),t.__H.__.forEach(function(n){n.u&&(n.__H=n.u),n.u=void 0})),u=r=null},c.__c=function(n,t){t.some(function(n){try{n.__h.forEach(z),n.__h=n.__h.filter(function(n){return!n.__||B(n)})}catch(r){t.some(function(n){n.__h&&(n.__h=[])}),t=[],c.__e(r,n.__v)}}),l&&l(n,t)},c.unmount=function(n){m&&m(n);var t,r=n.__c;r&&r.__H&&(r.__H.__.forEach(function(n){try{z(n)}catch(n){t=n}}),r.__H=void 0,t&&c.__e(t,r.__v))};var k=\"function\"==typeof requestAnimationFrame;function w(n){var t,r=function(){clearTimeout(u),k&&cancelAnimationFrame(t),setTimeout(n)},u=setTimeout(r,35);k&&(t=requestAnimationFrame(r))}function z(n){var t=r,u=n.__c;\"function\"==typeof u&&(n.__c=void 0,u()),r=t}function B(n){var t=r;n.__c=n.__(),r=t}function C(n,t){return!n||n.length!==t.length||t.some(function(t,r){return t!==n[r]})}function D(n,t){return\"function\"==typeof t?t(n):t}export{q as useCallback,x as useContext,P as useDebugValue,y as useEffect,b as useErrorBoundary,g as useId,F as useImperativeHandle,_ as useLayoutEffect,T as useMemo,h as useReducer,A as useRef,d as useState};\n//# sourceMappingURL=hooks.module.js.map\n","var i=Symbol.for(\"preact-signals\");function t(){if(!(s>1)){var i,t=!1;while(void 0!==h){var n=h;h=void 0;v++;while(void 0!==n){var r=n.o;n.o=void 0;n.f&=-3;if(!(8&n.f)&&a(n))try{n.c()}catch(n){if(!t){i=n;t=!0}}n=r}}v=0;s--;if(t)throw i}else s--}function n(i){if(s>0)return i();s++;try{return i()}finally{t()}}var r=void 0;function o(i){var t=r;r=void 0;try{return i()}finally{r=t}}var f,h=void 0,s=0,v=0,u=0;function e(i){if(void 0!==r){var t=i.n;if(void 0===t||t.t!==r){t={i:0,S:i,p:r.s,n:void 0,t:r,e:void 0,x:void 0,r:t};if(void 0!==r.s)r.s.n=t;r.s=t;i.n=t;if(32&r.f)i.S(t);return t}else if(-1===t.i){t.i=0;if(void 0!==t.n){t.n.p=t.p;if(void 0!==t.p)t.p.n=t.n;t.p=r.s;t.n=void 0;r.s.n=t;r.s=t}return t}}}function d(i,t){this.v=i;this.i=0;this.n=void 0;this.t=void 0;this.W=null==t?void 0:t.watched;this.Z=null==t?void 0:t.unwatched;this.name=null==t?void 0:t.name}d.prototype.brand=i;d.prototype.h=function(){return!0};d.prototype.S=function(i){var t=this,n=this.t;if(n!==i&&void 0===i.e){i.x=n;this.t=i;if(void 0!==n)n.e=i;else o(function(){var i;null==(i=t.W)||i.call(t)})}};d.prototype.U=function(i){var t=this;if(void 0!==this.t){var n=i.e,r=i.x;if(void 0!==n){n.x=r;i.e=void 0}if(void 0!==r){r.e=n;i.x=void 0}if(i===this.t){this.t=r;if(void 0===r)o(function(){var i;null==(i=t.Z)||i.call(t)})}}};d.prototype.subscribe=function(i){var t=this;return m(function(){var n=t.value,o=r;r=void 0;try{i(n)}finally{r=o}},{name:\"sub\"})};d.prototype.valueOf=function(){return this.value};d.prototype.toString=function(){return this.value+\"\"};d.prototype.toJSON=function(){return this.value};d.prototype.peek=function(){var i=r;r=void 0;try{return this.value}finally{r=i}};Object.defineProperty(d.prototype,\"value\",{get:function(){var i=e(this);if(void 0!==i)i.i=this.i;return this.v},set:function(i){if(i!==this.v){if(v>100)throw new Error(\"Cycle detected\");this.v=i;this.i++;u++;s++;try{for(var n=this.t;void 0!==n;n=n.x)n.t.N()}finally{t()}}}});function c(i,t){return new d(i,t)}function a(i){for(var t=i.s;void 0!==t;t=t.n)if(t.S.i!==t.i||!t.S.h()||t.S.i!==t.i)return!0;return!1}function l(i){for(var t=i.s;void 0!==t;t=t.n){var n=t.S.n;if(void 0!==n)t.r=n;t.S.n=t;t.i=-1;if(void 0===t.n){i.s=t;break}}}function y(i){var t=i.s,n=void 0;while(void 0!==t){var r=t.p;if(-1===t.i){t.S.U(t);if(void 0!==r)r.n=t.n;if(void 0!==t.n)t.n.p=r}else n=t;t.S.n=t.r;if(void 0!==t.r)t.r=void 0;t=r}i.s=n}function w(i,t){d.call(this,void 0);this.x=i;this.s=void 0;this.g=u-1;this.f=4;this.W=null==t?void 0:t.watched;this.Z=null==t?void 0:t.unwatched;this.name=null==t?void 0:t.name}w.prototype=new d;w.prototype.h=function(){this.f&=-3;if(1&this.f)return!1;if(32==(36&this.f))return!0;this.f&=-5;if(this.g===u)return!0;this.g=u;this.f|=1;if(this.i>0&&!a(this)){this.f&=-2;return!0}var i=r;try{l(this);r=this;var t=this.x();if(16&this.f||this.v!==t||0===this.i){this.v=t;this.f&=-17;this.i++}}catch(i){this.v=i;this.f|=16;this.i++}r=i;y(this);this.f&=-2;return!0};w.prototype.S=function(i){if(void 0===this.t){this.f|=36;for(var t=this.s;void 0!==t;t=t.n)t.S.S(t)}d.prototype.S.call(this,i)};w.prototype.U=function(i){if(void 0!==this.t){d.prototype.U.call(this,i);if(void 0===this.t){this.f&=-33;for(var t=this.s;void 0!==t;t=t.n)t.S.U(t)}}};w.prototype.N=function(){if(!(2&this.f)){this.f|=6;for(var i=this.t;void 0!==i;i=i.x)i.t.N()}};Object.defineProperty(w.prototype,\"value\",{get:function(){if(1&this.f)throw new Error(\"Cycle detected\");var i=e(this);this.h();if(void 0!==i)i.i=this.i;if(16&this.f)throw this.v;return this.v}});function b(i,t){return new w(i,t)}function _(i){var n=i.u;i.u=void 0;if(\"function\"==typeof n){s++;var o=r;r=void 0;try{n()}catch(t){i.f&=-2;i.f|=8;p(i);throw t}finally{r=o;t()}}}function p(i){for(var t=i.s;void 0!==t;t=t.n)t.S.U(t);i.x=void 0;i.s=void 0;_(i)}function g(i){if(r!==this)throw new Error(\"Out-of-order effect\");y(this);r=i;this.f&=-2;if(8&this.f)p(this);t()}function S(i,t){this.x=i;this.u=void 0;this.s=void 0;this.o=void 0;this.f=32;this.name=null==t?void 0:t.name;if(f)f.push(this)}S.prototype.c=function(){var i=this.S();try{if(8&this.f)return;if(void 0===this.x)return;var t=this.x();if(\"function\"==typeof t)this.u=t}finally{i()}};S.prototype.S=function(){if(1&this.f)throw new Error(\"Cycle detected\");this.f|=1;this.f&=-9;_(this);l(this);s++;var i=r;r=this;return g.bind(this,i)};S.prototype.N=function(){if(!(2&this.f)){this.f|=2;this.o=h;h=this}};S.prototype.d=function(){this.f|=8;if(!(1&this.f))p(this)};S.prototype.dispose=function(){this.d()};function m(i,t){var n=new S(i,t);try{n.c()}catch(i){n.d();throw i}var r=n.d.bind(n);r[Symbol.dispose]=r;return r}function E(i){return function(){var t=arguments,r=this;return n(function(){return o(function(){return i.apply(r,[].slice.call(t))})})}}function x(){var i=f;f=[];return function(){var t=f;if(f&&i)i=i.concat(f);f=i;return t}}function C(i){return function(){var t,n,r=x();try{n=i.apply(void 0,[].slice.call(arguments))}catch(i){f=void 0;throw i}finally{t=r()}for(var o in n)if(\"function\"==typeof n[o])n[o]=E(n[o]);n[Symbol.dispose]=E(function(){if(t)for(var i=0;i<t.length;i++)t[i].dispose();t=void 0});return n}}export{w as Computed,S as Effect,d as Signal,E as action,n as batch,b as computed,C as createModel,m as effect,c as signal,o as untracked};//# sourceMappingURL=signals-core.module.js.map\n","import{Component as i,options as n,isValidElement as t,Fragment as r}from\"preact\";import{useMemo as o,useRef as f,useEffect as e}from\"preact/hooks\";import{effect as u,Signal as a,computed as c,signal as v,batch as s}from\"@preact/signals-core\";export{Signal,action,batch,computed,createModel,effect,signal,untracked}from\"@preact/signals-core\";var l,h,d,p=\"undefined\"!=typeof window&&!!window.__PREACT_SIGNALS_DEVTOOLS__,m=[],_=[];u(function(){l=this.N})();function g(i,t){n[i]=t.bind(null,n[i]||function(){})}function b(i){if(d){var n=d;d=void 0;n()}d=i&&i.S()}function y(i){var n=this,r=i.data,f=useSignal(r);f.value=r;var e=o(function(){var i=n,r=n.__v;while(r=r.__)if(r.__c){r.__c.__$f|=4;break}var o=c(function(){var i=f.value.value;return 0===i?0:!0===i?\"\":i||\"\"}),e=c(function(){return!Array.isArray(o.value)&&!t(o.value)}),a=u(function(){this.N=F;if(e.value){var n=o.value;if(i.__v&&i.__v.__e&&3===i.__v.__e.nodeType)i.__v.__e.data=n}}),v=n.__$u.d;n.__$u.d=function(){a();v.call(this)};return[e,o]},[]),a=e[0],v=e[1];return a.value?v.peek():v.value}y.displayName=\"ReactiveTextNode\";Object.defineProperties(a.prototype,{constructor:{configurable:!0,value:void 0},type:{configurable:!0,value:y},props:{configurable:!0,get:function(){return{data:this}}},__b:{configurable:!0,value:1}});g(\"__b\",function(i,n){if(\"string\"==typeof n.type){var t,r=n.props;for(var o in r)if(\"children\"!==o){var f=r[o];if(f instanceof a){if(!t)n.__np=t={};t[o]=f;r[o]=f.peek()}}}i(n)});g(\"__r\",function(i,n){i(n);if(n.type!==r){b();var t,o=n.__c;if(o){o.__$f&=-2;if(void 0===(t=o.__$u))o.__$u=t=function(i,n){var t;u(function(){t=this},{name:n});t.c=i;return t}(function(){var i;if(p)null==(i=t.y)||i.call(t);o.__$f|=1;o.setState({})},\"function\"==typeof n.type?n.type.displayName||n.type.name:\"\")}h=o;b(t)}});g(\"__e\",function(i,n,t,r){b();h=void 0;i(n,t,r)});g(\"diffed\",function(i,n){b();h=void 0;var t;if(\"string\"==typeof n.type&&(t=n.__e)){var r=n.__np,o=n.props;if(r){var f=t.U;if(f)for(var e in f){var u=f[e];if(void 0!==u&&!(e in r)){u.d();f[e]=void 0}}else{f={};t.U=f}for(var a in r){var c=f[a],v=r[a];if(void 0===c){c=w(t,a,v,o);f[a]=c}else c.o(v,o)}}}i(n)});function w(i,n,t,r){var o=n in i&&void 0===i.ownerSVGElement,f=v(t);return{o:function(i,n){f.value=i;r=n},d:u(function(){this.N=F;var t=f.value.value;if(r[n]!==t){r[n]=t;if(o)i[n]=t;else if(null!=t&&(!1!==t||\"-\"===n[4]))i.setAttribute(n,t);else i.removeAttribute(n)}})}}g(\"unmount\",function(i,n){if(\"string\"==typeof n.type){var t=n.__e;if(t){var r=t.U;if(r){t.U=void 0;for(var o in r){var f=r[o];if(f)f.d()}}}}else{var e=n.__c;if(e){var u=e.__$u;if(u){e.__$u=void 0;u.d()}}}i(n)});g(\"__h\",function(i,n,t,r){if(r<3||9===r)n.__$f|=2;i(n,t,r)});i.prototype.shouldComponentUpdate=function(i,n){if(this.__R)return!0;var t=this.__$u,r=t&&void 0!==t.s;for(var o in n)return!0;if(this.__f||\"boolean\"==typeof this.u&&!0===this.u){var f=2&this.__$f;if(!(r||f||4&this.__$f))return!0;if(1&this.__$f)return!0}else{if(!(r||4&this.__$f))return!0;if(3&this.__$f)return!0}for(var e in i)if(\"__source\"!==e&&i[e]!==this.props[e])return!0;for(var u in this.props)if(!(u in i))return!0;return!1};function useSignal(i,n){return o(function(){return v(i,n)},[])}function useComputed(i,n){var t=f(i);t.current=i;h.__$f|=4;return o(function(){return c(function(){return t.current()},n)},[])}var k=\"undefined\"==typeof requestAnimationFrame?setTimeout:function(i){var n=function(){clearTimeout(t);cancelAnimationFrame(r);i()},t=setTimeout(n,35),r=requestAnimationFrame(n)},q=function(i){queueMicrotask(function(){queueMicrotask(i)})};function A(){s(function(){var i;while(i=m.shift())l.call(i)})}function T(){if(1===m.push(this))(n.requestAnimationFrame||k)(A)}function x(){s(function(){var i;while(i=_.shift())l.call(i)})}function F(){if(1===_.push(this))(n.requestAnimationFrame||q)(x)}function useSignalEffect(i,n){var t=f(i);t.current=i;e(function(){return u(function(){this.N=T;return t.current()},n)},[])}function M(i){var n=o(function(){return i()},[]);e(function(){return n[Symbol.dispose]},[n]);return n}export{useComputed,M as useModel,useSignal,useSignalEffect};//# sourceMappingURL=signals.module.js.map\n","import { signal } from '@preact/signals'\n\nexport const isOpen = signal(false)\n","import { signal } from '@preact/signals'\n\nconst SESSION_REF_KEY = 'jex-session-ref'\nconst SESSION_ACTIVE_KEY = 'jex-session-active'\n\n/** Short alphanumeric reference visible to the visitor (e.g. \"JEX-A3B7C2\"). */\nexport const sessionRef = signal<string | null>(null)\n\n/** True once the visitor has sent at least one message in any session. */\nexport const hasActiveSession = signal(false)\n\nfunction generateRef(): string {\n return 'JEX-' + Math.random().toString(36).slice(2, 8).toUpperCase()\n}\n\n/**\n * Load session state from sessionStorage on widget boot.\n * sessionStorage is cleared when the browser tab closes — GDPR safe.\n * Call once from WidgetShell on mount.\n */\nexport function initVisitor(): void {\n try {\n const stored = sessionStorage.getItem(SESSION_REF_KEY)\n const active = sessionStorage.getItem(SESSION_ACTIVE_KEY)\n sessionRef.value = stored ?? null\n hasActiveSession.value = stored !== null && active === 'true'\n } catch {\n sessionRef.value = null\n hasActiveSession.value = false\n }\n}\n\n/**\n * Create a fresh session ref and persist it.\n * Called when the visitor starts a new conversation.\n */\nexport function startNewSession(): string {\n const ref = generateRef()\n sessionRef.value = ref\n hasActiveSession.value = false\n try {\n sessionStorage.setItem(SESSION_REF_KEY, ref)\n sessionStorage.removeItem(SESSION_ACTIVE_KEY)\n } catch { /* storage blocked */ }\n return ref\n}\n\n/**\n * Mark the current session as active (first message sent).\n * Called from ChatInput on first send.\n */\nexport function markSessionActive(): void {\n if (!sessionRef.value) { return }\n hasActiveSession.value = true\n try {\n sessionStorage.setItem(SESSION_ACTIVE_KEY, 'true')\n } catch { /* storage blocked */ }\n}\n","// Keep in sync with de.ts — both must export the same WidgetStrings shape.\nexport interface WidgetStrings {\n title: string\n statusOnline: string\n inputPlaceholder: string\n sendAriaLabel: string\n openChatAriaLabel: string\n closeChatAriaLabel: string\n errorNetwork: string\n errorQuota: string\n localeLabelDe: string\n localeLabelEn: string\n resumeConversation: string\n startNewConversation: string\n chatWith: string\n haveReferenceNumber: string\n referencePlaceholder: string\n resume: string\n howCanWeHelp: string\n getInstantHelp: string\n submitTicket: string\n replyByEmail: string\n ticketSubmitted: string\n yourReferenceNumber: string\n sentToEmailHint: string\n done: string\n submittingTicket: string\n yourName: string\n yourEmail: string\n submit: string\n back: string\n}\n\nexport const en: WidgetStrings = {\n title: 'Assistant',\n statusOnline: 'Online \\u00b7 Responds in seconds',\n inputPlaceholder: 'Type a message\\u2026',\n sendAriaLabel: 'Send message',\n openChatAriaLabel: 'Open chat',\n closeChatAriaLabel: 'Close chat',\n errorNetwork: 'Network error. Please try again.',\n errorQuota: 'Message limit reached. Please try again later.',\n localeLabelDe: 'DE',\n localeLabelEn: 'EN',\n resumeConversation: 'Resume conversation',\n startNewConversation: 'Start new conversation',\n chatWith: 'Chat with {title}',\n haveReferenceNumber: 'Have a reference number?',\n referencePlaceholder: 'e.g. JEX-A3B7C2',\n resume: 'Resume',\n howCanWeHelp: 'How can we help?',\n getInstantHelp: 'Get instant help',\n submitTicket: 'Submit a ticket',\n replyByEmail: \"We'll reply by email\",\n ticketSubmitted: 'Ticket submitted',\n yourReferenceNumber: 'Your reference number:',\n sentToEmailHint: \"We've sent it to your email. Use this number to follow up.\",\n done: 'Done',\n submittingTicket: 'Submitting your ticket\\u2026',\n yourName: 'Your name',\n yourEmail: 'Your email',\n submit: 'Submit',\n back: 'Go back',\n}\n","import type { WidgetStrings } from './en'\n\nexport const de: WidgetStrings = {\n title: 'Assistent',\n statusOnline: 'Online \\u00b7 Antwortet in Sekunden',\n inputPlaceholder: 'Nachricht eingeben\\u2026',\n sendAriaLabel: 'Nachricht senden',\n openChatAriaLabel: 'Chat \\u00f6ffnen',\n closeChatAriaLabel: 'Chat schlie\\u00dfen',\n errorNetwork: 'Netzwerkfehler. Bitte versuche es erneut.',\n errorQuota: 'Nachrichtenlimit erreicht. Bitte versuche es sp\\u00e4ter erneut.',\n localeLabelDe: 'DE',\n localeLabelEn: 'EN',\n resumeConversation: 'Gespr\\u00e4ch fortsetzen',\n startNewConversation: 'Neues Gespr\\u00e4ch beginnen',\n chatWith: 'Chatte mit {title}',\n haveReferenceNumber: 'Hast du eine Referenznummer?',\n referencePlaceholder: 'z.B. JEX-A3B7C2',\n resume: 'Fortsetzen',\n howCanWeHelp: 'Wie k\\u00f6nnen wir helfen?',\n getInstantHelp: 'Soforthilfe erhalten',\n submitTicket: 'Ticket einreichen',\n replyByEmail: 'Wir antworten per E-Mail',\n ticketSubmitted: 'Ticket eingereicht',\n yourReferenceNumber: 'Deine Referenznummer:',\n sentToEmailHint: 'Wir haben sie an deine E-Mail gesendet. Verwende diese Nummer f\\u00fcr R\\u00fcckfragen.',\n done: 'Fertig',\n submittingTicket: 'Dein Ticket wird \\u00fcbermittelt\\u2026',\n yourName: 'Dein Name',\n yourEmail: 'Deine E-Mail',\n submit: 'Absenden',\n back: 'Zur\\u00fcck',\n}\n","export type WidgetLocale = 'en' | 'de'\n\nexport interface LocaleConfig {\n value: WidgetLocale\n label: string\n flag: string\n}\n\nexport const SUPPORTED_LOCALES: LocaleConfig[] = [\n { value: 'de', label: 'Deutsch', flag: '🇩🇪' },\n { value: 'en', label: 'English', flag: '🇬🇧' },\n]\n\nexport const WIDGET_DEFAULT_LOCALE: WidgetLocale = 'de'\nexport const LOCALE_STORAGE_KEY = 'jex-locale'\n","import { signal } from '@preact/signals'\nimport { en, type WidgetStrings } from './locales/en'\nimport { de } from './locales/de'\n\nexport type { WidgetStrings }\nexport {\n type WidgetLocale,\n SUPPORTED_LOCALES as WIDGET_LOCALES,\n WIDGET_DEFAULT_LOCALE,\n LOCALE_STORAGE_KEY,\n} from './config'\n\n/**\n * Active locale for the widget UI.\n * Initialised to 'de' (default); overridden in WidgetShell on mount via resolveWidgetLocale.\n */\nexport const locale = signal<'en' | 'de'>('de')\n\nconst STRINGS: Record<string, WidgetStrings> = { en, de }\n\n/**\n * Returns the current locale's string dictionary.\n * Reactive — components that call this re-render when locale changes.\n *\n * Usage inside a Preact component:\n * const s = useLocale();\n * return <p>{s.inputPlaceholder}</p>;\n */\nexport function useLocale(): WidgetStrings {\n // Accessing locale.value inside render subscribes this component to changes.\n return STRINGS[locale.value] ?? en\n}\n\n/**\n * Switch the active locale and persist the visitor's choice to localStorage.\n * Call this from the footer toggle's onClick handler.\n */\nexport function setLocale(next: 'en' | 'de'): void {\n locale.value = next\n try {\n localStorage.setItem('jex-locale', next)\n } catch {\n // Storage blocked — still update the in-memory signal\n }\n}\n","import { \n type WidgetLocale, \n SUPPORTED_LOCALES, \n WIDGET_DEFAULT_LOCALE, \n LOCALE_STORAGE_KEY \n} from './config'\n\n/** Normalise a raw locale string (e.g. \"en-US\") to a WidgetLocale, or null. */\nfunction parseLocale(raw: string | null | undefined): WidgetLocale | null {\n if (!raw) { return null }\n const base = (raw.split('-')[0] ?? '').toLowerCase()\n const isValid = SUPPORTED_LOCALES.some(l => l.value === base)\n return isValid ? (base as WidgetLocale) : null\n}\n\n/**\n * Resolve the active locale using the priority chain:\n * 1. configLocale (explicit prop/dashboard override — HIGHEST)\n * 2. localStorage['jex-locale'] (visitor's persistent choice)\n * 3. navigator.language (browser auto-detect)\n * 4. 'de' (hardcoded default)\n * \n * Priority Note:\n * Explicit configuration (configLocale) now outranks localStorage. \n * This ensures that changing the language in the Dashboard or Playground \n * instantly reflects in the preview, even if the user previously selected\n * a different language inside the widget's persistent session.\n */\nexport function resolveWidgetLocale(configLocale?: string): WidgetLocale {\n // 1. Explicit UI Configuration (Dashboard/Playground override)\n const config = parseLocale(configLocale)\n if (config) { return config }\n\n // 2. Visitor's persistent saved choice\n try {\n const saved = parseLocale(localStorage.getItem(LOCALE_STORAGE_KEY))\n if (saved) { return saved }\n } catch {\n // localStorage blocked (e.g. Safari private mode)\n }\n\n // 3. Browser language fallback\n if (typeof navigator !== 'undefined') {\n const browser = parseLocale(navigator.language)\n if (browser) { return browser }\n }\n\n // 4. Global default\n return WIDGET_DEFAULT_LOCALE\n}\n","import type { JSX } from 'preact'\nimport type { JexityChatOptions } from '../../types'\n\n/** Maps JexityChatOptions theme fields → CSS custom properties on the widget root. */\nexport function buildThemeStyle(options: JexityChatOptions): JSX.CSSProperties | undefined {\n const vars: Record<string, string> = {}\n const { primaryColor, theme } = options\n\n if (primaryColor) {\n vars['--jex-primary'] = primaryColor\n vars['--jex-bg-trigger'] = primaryColor\n vars['--jex-bg-header'] = primaryColor\n vars['--jex-bg-msg-user'] = primaryColor\n vars['--jex-bg-send-btn'] = primaryColor\n }\n \n if (options.accentColor) {\n vars['--jex-accent'] = options.accentColor\n }\n\n if (theme?.bg) {\n const bg = theme.bg\n if (bg.trigger) { vars['--jex-bg-trigger'] = bg.trigger }\n if (bg.header) { vars['--jex-bg-header'] = bg.header }\n if (bg.msgUser) { vars['--jex-bg-msg-user'] = bg.msgUser }\n if (bg.msgBot) { vars['--jex-bg-msg-bot'] = bg.msgBot }\n if (bg.window) { vars['--jex-bg-window'] = bg.window }\n if (bg.sendBtn) { vars['--jex-bg-send-btn'] = bg.sendBtn }\n }\n if (theme?.text) {\n const text = theme.text\n if (text.header) { vars['--jex-text-header'] = text.header }\n if (text.msgUser) { vars['--jex-text-msg-user'] = text.msgUser }\n if (text.msgBot) { vars['--jex-text-msg-bot'] = text.msgBot }\n if (text.main) { vars['--jex-text-main'] = text.main }\n if (text.muted) { vars['--jex-text-muted'] = text.muted }\n }\n if (theme?.border) {\n const border = theme.border\n if (border.window) { vars['--jex-border-window'] = border.window }\n if (border.input) { vars['--jex-border-input'] = border.input }\n }\n\n // Layout & Typography (from Extended Config)\n if (options.fontFamily) { vars['--jex-font-family'] = options.fontFamily }\n if (options.fontSize) { vars['--jex-font-size'] = `${options.fontSize}px` }\n if (options.borderRadius) { vars['--jex-radius'] = options.borderRadius }\n if (options.windowWidth) { vars['--jex-window-width'] = `${options.windowWidth}px` }\n if (options.windowHeight) { vars['--jex-window-height'] = `${options.windowHeight}px` }\n\n return Object.keys(vars).length > 0 ? (vars as JSX.CSSProperties) : undefined\n}\n","import { signal } from '@preact/signals'\n\nexport type ScreenState =\n | { id: 'home' }\n | { id: 'selection' }\n | { id: 'chat' }\n | { id: 'form' }\n | { id: 'confirmation'; ref: string }\n | { id: 'loading'; message?: string }\n | { id: 'error'; message: string }\n\nexport const screenStack = signal<ScreenState[]>([{ id: 'home' }])\n\n/** Push a new screen onto the stack. */\nexport function navigate(screen: ScreenState): void {\n screenStack.value = [...screenStack.value, screen]\n}\n\n/** Pop the top screen. No-op if already at root. */\nexport function back(): void {\n if (screenStack.value.length > 1) {\n screenStack.value = screenStack.value.slice(0, -1)\n }\n}\n\n/** Swap the top of the stack. Used for loading→result transitions. */\nexport function replace(screen: ScreenState): void {\n screenStack.value = [...screenStack.value.slice(0, -1), screen]\n}\n","export function BotIcon({ size = 24 }: { size?: number }) {\n return (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\">\n <path d=\"M12 8V4H8\" />\n <rect width=\"16\" height=\"12\" x=\"4\" y=\"8\" rx=\"2\" />\n <path d=\"M2 14h2\" />\n <path d=\"M20 14h2\" />\n <path d=\"M15 13v2\" />\n <path d=\"M9 13v2\" />\n </svg>\n )\n}\n","import { screenStack, back } from '../../module/screens/screens.state'\nimport { useLocale } from '../../i18n/index'\nimport { BotIcon } from '../icons/BotIcon'\n\ninterface HeaderProps {\n title: string\n}\n\n/** Chat window header bar — shows bot icon, title, and back button when on a nested screen. */\nexport function Header({ title }: HeaderProps) {\n const t = useLocale()\n const canGoBack = screenStack.value.length > 1\n\n return (\n <header class=\"jex-chat-header\">\n {canGoBack && (\n <button\n class=\"jex-header-back\"\n onClick={back}\n aria-label={t.back || 'Go back'}\n >\n {/* Chevron-left arrow */}\n <svg width={20} height={20} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\">\n <path d=\"m15 18-6-6 6-6\" />\n </svg>\n </button>\n )}\n {!canGoBack && <BotIcon size={24} />}\n <div class=\"jex-header-info\">\n <h3>{title}</h3>\n <p>{t.statusOnline}</p>\n </div>\n </header>\n )\n}\n","export function ZapIcon({ size = 14 }: { size?: number }) {\n return (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\">\n <path d=\"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z\" />\n </svg>\n )\n}\n","import { ZapIcon } from '../icons/ZapIcon'\n\n/** \"Powered by Jexity\" branding bar with locale switcher. */\nexport function Footer() {\n return (\n <div class=\"jex-widget-footer\">\n <a\n href=\"https://jexity.com\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n class=\"jex-branding\"\n >\n <ZapIcon size={14} />\n <span>\n Powered by <strong>Jexity</strong>\n </span>\n </a>\n </div>\n )\n}\n","export function MessageIcon({ size = 28 }: { size?: number }) {\n return (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\">\n <path d=\"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z\" />\n </svg>\n )\n}\n","export function CloseIcon({ size = 28 }: { size?: number }) {\n return (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\">\n <path d=\"M18 6 6 18\" />\n <path d=\"m6 6 12 12\" />\n </svg>\n )\n}\n","import type { JSX } from 'preact'\n\nexport function SparklesIcon({ size = 24, ...props }: JSX.SVGAttributes<SVGSVGElement> & { size?: number | string }) {\n return (\n <svg \n width={size} \n height={size} \n viewBox=\"0 0 24 24\" \n fill=\"none\" \n stroke=\"currentColor\" \n stroke-width=\"2\" \n stroke-linecap=\"round\" \n stroke-linejoin=\"round\"\n {...props}\n >\n <path d=\"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z\" />\n </svg>\n )\n}\n","import { isOpen } from '../../module/shell/shell.state'\nimport { useLocale } from '../../i18n/index'\nimport { MessageIcon } from '../icons/MessageIcon'\nimport { CloseIcon } from '../icons/CloseIcon'\nimport { BotIcon } from '../icons/BotIcon'\nimport { SparklesIcon } from '../icons/SparklesIcon'\n\ninterface FABProps {\n radius?: 'none' | 'sm' | 'md' | 'lg' | 'full'\n iconOption?: 'chat' | 'bot' | 'sparkles'\n label?: string\n}\n\nconst ICON_MAP: Record<NonNullable<FABProps['iconOption']>, import('preact').VNode> = {\n chat: <MessageIcon size={28} />,\n bot: <BotIcon size={28} />,\n sparkles: <SparklesIcon size={28} />,\n}\n\nconst RADIUS_MAP: Record<NonNullable<FABProps['radius']>, string> = {\n none: '0px',\n sm: '0.5rem',\n md: '0.75rem',\n lg: '1.25rem',\n full: '9999px',\n}\n\n/** Floating action button — the circular or pill-shaped trigger. */\nexport function FAB({ radius = 'full', iconOption = 'chat', label = 'Chatte mit uns' }: FABProps) {\n const s = useLocale()\n const hasLabel = label !== ''\n\n return (\n <button\n class={`jex-floating-button ${!isOpen.value && hasLabel ? 'jex-has-label' : ''}`}\n style={{ borderRadius: RADIUS_MAP[radius] ?? '9999px' }}\n onClick={() => { isOpen.value = !isOpen.value }}\n aria-label={isOpen.value ? s.closeChatAriaLabel : s.openChatAriaLabel}\n >\n {isOpen.value ? (\n <CloseIcon size={28} />\n ) : (\n <div class=\"jex-fab-inner\">\n {ICON_MAP[iconOption]}\n {hasLabel && <span class=\"jex-fab-label\">{label}</span>}\n </div>\n )}\n </button>\n )\n}\n","import { signal } from '@preact/signals'\n\nexport interface Message {\n id: number\n text: string\n sender: 'user' | 'bot'\n}\n\n/** Demo messages — replaced in Phase 2 with Convex subscription */\nexport const messages = signal<Message[]>([])\nexport const isTyping = signal(false)\n/** Convex session ID — populated in Phase 2 */\nexport const sessionId = signal<string | null>(null)\n\n/** Reset all chat state for a new conversation. */\nexport function clearChat(): void {\n messages.value = []\n isTyping.value = false\n sessionId.value = null\n}\n","import { useState } from 'preact/hooks'\nimport { navigate } from '../../../module/screens/screens.state'\nimport { sessionRef, startNewSession } from '../../../module/visitor/visitor.state'\nimport { clearChat } from '../../chat/lib/chat'\nimport { useLocale } from '../../../i18n/index'\n\ninterface HomeScreenProps {\n greeting: string\n title: string\n}\n\n/**\n * Home / greeting screen.\n *\n * Session resume (GDPR):\n * - sessionStorage ref exists (same tab) → show \"Resume\" link\n * - No ref (new tab / after close) → show \"Have a reference number?\" manual input\n */\nexport function HomeScreen({ greeting, title }: HomeScreenProps) {\n const t = useLocale()\n const ref = sessionRef.value\n const [showLookup, setShowLookup] = useState(false)\n const [lookupRef, setLookupRef] = useState('')\n\n function handleStartChat() {\n startNewSession()\n clearChat()\n navigate({ id: 'chat' })\n }\n\n function handleResumeSession() {\n navigate({ id: 'chat' })\n }\n\n function handleLookupSubmit(e: Event) {\n e.preventDefault()\n if (lookupRef.trim()) {\n // TODO: Phase 2 — validate ref against Convex and load session\n navigate({ id: 'chat' })\n }\n }\n\n return (\n <div class=\"jex-home\">\n <div class=\"jex-home-greeting\">{greeting}</div>\n\n {ref ? (\n // Same-tab session exists in sessionStorage\n <div class=\"jex-home-actions\">\n <button class=\"jex-home-start-btn\" onClick={handleResumeSession}>\n {t.resumeConversation}\n </button>\n <button class=\"jex-home-new-btn\" onClick={handleStartChat}>\n {t.startNewConversation}\n </button>\n </div>\n ) : (\n // Fresh session or tab was closed\n <div class=\"jex-home-actions\">\n <button class=\"jex-home-start-btn\" onClick={handleStartChat}>\n {t.chatWith.replace('{title}', title)}\n </button>\n {!showLookup && (\n <button\n class=\"jex-home-lookup-link\"\n onClick={() => { setShowLookup(true) }}\n >\n {t.haveReferenceNumber}\n </button>\n )}\n {showLookup && (\n <form class=\"jex-home-lookup\" onSubmit={handleLookupSubmit}>\n <input\n class=\"jex-home-lookup-input\"\n type=\"text\"\n placeholder={t.referencePlaceholder}\n value={lookupRef}\n autoFocus\n onInput={(e) => { setLookupRef(e.currentTarget.value) }}\n />\n <button class=\"jex-home-lookup-submit\" type=\"submit\">{t.resume}</button>\n </form>\n )}\n </div>\n )}\n </div>\n )\n}\n","import { navigate } from '../../../module/screens/screens.state'\nimport { useLocale } from '../../../i18n/index'\n\ninterface SelectionScreenProps {\n title: string\n}\n\n/** Contact method selection — chat vs. submit ticket. */\nexport function SelectionScreen({ title }: SelectionScreenProps) {\n const t = useLocale()\n return (\n <div class=\"jex-selection\">\n <h2 class=\"jex-selection-title\">{t.howCanWeHelp}</h2>\n <div class=\"jex-selection-options\">\n <button\n class=\"jex-selection-option\"\n onClick={() => navigate({ id: 'chat' })}\n >\n <span class=\"jex-selection-icon\">💬</span>\n <span class=\"jex-selection-label\">{t.chatWith.replace('{title}', title)}</span>\n <span class=\"jex-selection-sub\">{t.getInstantHelp}</span>\n </button>\n <button\n class=\"jex-selection-option\"\n onClick={() => navigate({ id: 'form' })}\n >\n <span class=\"jex-selection-icon\">📝</span>\n <span class=\"jex-selection-label\">{t.submitTicket}</span>\n <span class=\"jex-selection-sub\">{t.replyByEmail}</span>\n </button>\n </div>\n </div>\n )\n}\n","interface BotMessageProps {\n text: string\n}\n\nexport function BotMessage({ text }: BotMessageProps) {\n return <div class=\"jex-message bot\">{text}</div>\n}\n","interface UserMessageProps {\n text: string\n}\n\nexport function UserMessage({ text }: UserMessageProps) {\n return <div class=\"jex-message user\">{text}</div>\n}\n","export function TypingIndicator() {\n return (\n <div class=\"jex-typing\">\n <span />\n <span />\n <span />\n </div>\n )\n}\n","import { useEffect, useRef } from 'preact/hooks'\nimport { messages, isTyping } from '../lib/chat'\nimport { BotMessage } from './BotMessage'\nimport { UserMessage } from './UserMessage'\nimport { TypingIndicator } from './TypingIndicator'\n\n/** Scrollable message area — auto-scrolls to the latest message. */\nexport function MessageList() {\n const bottomRef = useRef<HTMLDivElement>(null)\n\n useEffect(() => {\n bottomRef.current?.scrollIntoView({ behavior: 'smooth' })\n }, [messages.value.length, isTyping.value])\n\n return (\n <div class=\"jex-chat-messages\">\n {messages.value.map((msg) =>\n msg.sender === 'bot'\n ? <BotMessage key={msg.id} text={msg.text} />\n : <UserMessage key={msg.id} text={msg.text} />\n )}\n {isTyping.value && <TypingIndicator />}\n <div ref={bottomRef} />\n </div>\n )\n}\n","export function SendIcon({ size = 18 }: { size?: number }) {\n return (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\">\n <path d=\"M22 2 11 13\" />\n <path d=\"M22 2 15 22 11 13 2 9l20-7z\" />\n </svg>\n )\n}\n","import { useSignal } from '@preact/signals'\nimport { messages, isTyping } from '../lib/chat'\nimport { markSessionActive } from '../../../module/visitor/visitor.state'\nimport { useLocale } from '../../../i18n/index'\nimport { SendIcon } from '../../../shared/icons/SendIcon'\n\n/** Text input + send button. Demo mode: echoes user messages with a 1s bot delay. */\nexport function ChatInput() {\n const s = useLocale()\n const input = useSignal('')\n\n function handleSend() {\n const text = input.value.trim()\n if (!text) { return }\n\n markSessionActive()\n\n messages.value = [\n ...messages.value,\n { id: Date.now(), text, sender: 'user' },\n ]\n input.value = ''\n isTyping.value = true\n\n // Demo echo — replaced in Phase 2 with Convex mutation\n setTimeout(() => {\n isTyping.value = false\n messages.value = [\n ...messages.value,\n {\n id: Date.now() + 1,\n text: `You said: \"${text}\". This is a demo of the Jexity Chat Widget!`,\n sender: 'bot',\n },\n ]\n }, 1000)\n }\n\n return (\n <div class=\"jex-chat-input\">\n <input\n type=\"text\"\n aria-label={s.inputPlaceholder}\n placeholder={s.inputPlaceholder}\n value={input.value}\n onInput={(e) => { input.value = e.currentTarget.value }}\n onKeyDown={(e) => { if (e.key === 'Enter') { handleSend() } }}\n />\n <button\n class=\"jex-send-btn\"\n onClick={handleSend}\n aria-label={s.sendAriaLabel}\n >\n <SendIcon size={18} />\n </button>\n </div>\n )\n}\n","import { useEffect } from 'preact/hooks'\nimport { messages } from '../lib/chat'\nimport { MessageList } from './MessageList'\nimport { ChatInput } from './ChatInput'\n\ninterface ChatScreenProps {\n /** Initial bot greeting — seeded once when chat is first opened. */\n greeting: string\n}\n\n/** Full chat conversation screen — orchestrates message list and input. */\nexport function ChatScreen({ greeting }: ChatScreenProps) {\n // Seed initial greeting message on first open (demo mode).\n // Phase 2: this becomes the first message from Convex subscription.\n useEffect(() => {\n if (messages.value.length === 0) {\n messages.value = [{ id: Date.now(), text: greeting, sender: 'bot' }]\n }\n }, [greeting])\n\n return (\n <>\n <MessageList />\n <ChatInput />\n </>\n )\n}\n","import { useState } from 'preact/hooks'\nimport { replace } from '../../../module/screens/screens.state'\nimport { useLocale } from '../../../i18n/index'\n\n/** Contact / ticket submission form. On submit: replace with loading, then confirmation/error. */\nexport function FormScreen() {\n const t = useLocale()\n const [name, setName] = useState('')\n const [email, setEmail] = useState('')\n const [message, setMessage] = useState('')\n\n async function handleSubmit(e: Event) {\n e.preventDefault()\n replace({ id: 'loading', message: t.submittingTicket })\n\n // TODO: Phase 2 — replace with Convex mutation\n await new Promise<void>(resolve => { setTimeout(resolve, 1200) })\n const ref = 'JEX-' + Math.random().toString(36).slice(2, 8).toUpperCase()\n replace({ id: 'confirmation', ref })\n }\n\n return (\n <div class=\"jex-form-screen\">\n <h2 class=\"jex-form-title\">{t.submitTicket}</h2>\n <form class=\"jex-form\" onSubmit={(e) => { void handleSubmit(e) }}>\n <input\n class=\"jex-form-input\"\n type=\"text\"\n placeholder={t.yourName}\n value={name}\n required\n onInput={(e) => { setName(e.currentTarget.value) }}\n />\n <input\n class=\"jex-form-input\"\n type=\"email\"\n placeholder={t.yourEmail}\n value={email}\n required\n onInput={(e) => { setEmail(e.currentTarget.value) }}\n />\n <textarea\n class=\"jex-form-textarea\"\n placeholder={t.howCanWeHelp}\n value={message}\n required\n onInput={(e) => { setMessage(e.currentTarget.value) }}\n />\n <button class=\"jex-form-submit\" type=\"submit\">{t.submit}</button>\n </form>\n </div>\n )\n}\n","import { isOpen } from '../../../module/shell/shell.state'\nimport { useLocale } from '../../../i18n/index'\n\ninterface ConfirmationScreenProps {\n ticketRef: string\n}\n\n/** Shown after async ticket submission. Displays ref# and closes widget on Done. */\nexport function ConfirmationScreen({ ticketRef }: ConfirmationScreenProps) {\n const t = useLocale()\n return (\n <div class=\"jex-confirmation\">\n <div class=\"jex-confirmation-icon\" aria-hidden=\"true\">✓</div>\n <h2 class=\"jex-confirmation-title\">{t.ticketSubmitted}</h2>\n <p class=\"jex-confirmation-body\">{t.yourReferenceNumber}</p>\n <div class=\"jex-confirmation-ref\">{ticketRef}</div>\n <p class=\"jex-confirmation-hint\">{t.sentToEmailHint}</p>\n <button\n class=\"jex-confirmation-done\"\n onClick={() => { isOpen.value = false }}\n >\n {t.done}\n </button>\n </div>\n )\n}\n","interface LoadingScreenProps {\n message?: string\n}\n\n/** Full-coverage overlay shown during async operations. */\nexport function LoadingScreen({ message }: LoadingScreenProps) {\n return (\n <div class=\"jex-overlay jex-loading\">\n <div class=\"jex-loading-spinner\" aria-hidden=\"true\" />\n {message && <p class=\"jex-loading-message\">{message}</p>}\n </div>\n )\n}\n","interface ErrorScreenProps {\n message: string\n onRetry?: () => void\n onBack?: () => void\n}\n\n/** Full-coverage overlay shown when an async operation fails. */\nexport function ErrorScreen({ message, onRetry, onBack }: ErrorScreenProps) {\n return (\n <div class=\"jex-overlay jex-error\">\n <p class=\"jex-error-message\">{message}</p>\n <div class=\"jex-error-actions\">\n {onRetry && (\n <button class=\"jex-error-retry\" onClick={onRetry}>\n Try again\n </button>\n )}\n {onBack && (\n <button class=\"jex-error-back\" onClick={onBack}>\n Go back\n </button>\n )}\n </div>\n </div>\n )\n}\n","import { screenStack } from './screens.state'\nimport type { ScreenState } from './screens.state'\nimport { back, replace } from './screens.state'\nimport { HomeScreen } from '../../features/home/components/HomeScreen'\nimport { SelectionScreen } from '../../features/selection/components/SelectionScreen'\nimport { ChatScreen } from '../../features/chat/components/ChatScreen'\nimport { FormScreen } from '../../features/ticket/components/FormScreen'\nimport { ConfirmationScreen } from '../../features/ticket/components/ConfirmationScreen'\nimport { LoadingScreen } from '../../shared/ui/LoadingScreen'\nimport { ErrorScreen } from '../../shared/ui/ErrorScreen'\n\ninterface ScreenRouterProps {\n greeting: string\n title: string\n}\n\n/** Renders only the active screen. No animation — add transitions later once routing is stable. */\nexport function ScreenRouter({ greeting, title }: ScreenRouterProps) {\n const stack = screenStack.value\n const currentScreen = stack[stack.length - 1] as ScreenState\n\n const confirmationState = stack.findLast(\n (s): s is Extract<ScreenState, { id: 'confirmation' }> => s.id === 'confirmation'\n )\n\n return (\n <div class=\"jex-screen-container\">\n {currentScreen.id === 'home' && (\n <HomeScreen greeting={greeting} title={title} />\n )}\n {currentScreen.id === 'selection' && (\n <SelectionScreen title={title} />\n )}\n {currentScreen.id === 'form' && (\n <FormScreen />\n )}\n {currentScreen.id === 'confirmation' && confirmationState && (\n <ConfirmationScreen ticketRef={confirmationState.ref} />\n )}\n {currentScreen.id === 'chat' && (\n <ChatScreen greeting={greeting} />\n )}\n {currentScreen.id === 'loading' && (\n <LoadingScreen message={currentScreen.message} />\n )}\n {currentScreen.id === 'error' && (\n <ErrorScreen\n message={currentScreen.message}\n onRetry={() => replace({ id: 'loading' })}\n onBack={back}\n />\n )}\n </div>\n )\n}\n","import { useEffect, useState } from 'preact/hooks'\nimport { isOpen } from './shell.state'\nimport { initVisitor } from '../visitor/visitor.state'\nimport { locale, WIDGET_LOCALES, type WidgetLocale } from '../../i18n/index'\nimport { resolveWidgetLocale } from '../../i18n/resolve-widget-locale'\nimport { buildThemeStyle } from '../../shared/theme/build-theme'\nimport { Header } from '../../shared/ui/Header'\nimport { Footer } from '../../shared/ui/Footer'\nimport { FAB } from '../../shared/ui/FAB'\nimport { ScreenRouter } from '../screens/ScreenRouter'\nimport type { JexityChatOptions } from '../../types'\n\ninterface AppShellProps {\n options: JexityChatOptions\n}\n\n// Shape of the public /widget/config endpoint response.\n// Uses Pick so field types stay in sync with JexityChatOptions automatically.\ntype RemoteConfig = Pick<JexityChatOptions,\n | 'position' | 'colorScheme' | 'hideBranding'\n | 'accentColor' | 'fontFamily' | 'fontSize'\n | 'borderRadius' | 'windowWidth' | 'windowHeight'\n | 'triggerIcon' | 'triggerRadius' | 'triggerLabel'\n> & {\n primaryColor: string // required in DB (always set)\n title: string // maps from widgetConfigs.name\n welcomeMessage: string // maps from widgetConfigs.welcomeMessage\n locale?: WidgetLocale\n}\n\n/** Inner Preact component tree — rendered inside the shadow root container. */\nexport function AppShell({ options }: AppShellProps) {\n const [remoteConfig, setRemoteConfig] = useState<RemoteConfig | null>(null)\n\n // Fetch widget config from Convex by orgSlug; aborts on re-run or unmount\n useEffect(() => {\n const siteUrl = import.meta.env.VITE_CONVEX_SITE_URL\n\n if (!siteUrl) { return }\n\n const controller = new AbortController()\n\n void fetch(`${siteUrl}/widget/config?orgSlug=${encodeURIComponent(options.orgSlug)}`, { signal: controller.signal })\n .then(r => r.ok ? (r.json() as Promise<RemoteConfig>) : null)\n .then(cfg => { if (cfg) { setRemoteConfig(cfg) } })\n .catch(err => {\n if ((err as Error).name !== 'AbortError') {\n /* silent fail — widget renders with passed-in options */\n }\n })\n return () => {\n controller.abort()\n }\n }, [options.orgSlug])\n\n // Merge: embed script options take precedence over Convex config\n const title = options.title ?? remoteConfig?.title ?? 'Assistant'\n const greeting = options.greeting ?? remoteConfig?.welcomeMessage ?? `Hi! I'm ${title}. How can I help?`\n const effectiveLocale = options.locale ?? remoteConfig?.locale\n const effectivePosition = options.position ?? remoteConfig?.position\n const effectiveColorScheme = options.colorScheme ?? remoteConfig?.colorScheme\n const effectiveHideBranding = options.hideBranding ?? remoteConfig?.hideBranding ?? false\n const mergedTriggerIcon = options.triggerIcon ?? remoteConfig?.triggerIcon ?? 'chat'\n const mergedTriggerRadius = options.triggerRadius ?? remoteConfig?.triggerRadius ?? 'full'\n const mergedTriggerLabel = options.triggerLabel ?? remoteConfig?.triggerLabel ?? 'Chatte mit uns'\n\n const posLeft = effectivePosition === 'bottom-left'\n const colorSchemeClass = effectiveColorScheme === 'dark' || effectiveColorScheme === 'light' ? effectiveColorScheme : ''\n\n // All theme fields merged — remote config fills gaps not set by embed script\n const themeStyle = buildThemeStyle({\n ...options,\n primaryColor: options.primaryColor ?? remoteConfig?.primaryColor,\n accentColor: options.accentColor ?? remoteConfig?.accentColor,\n fontFamily: options.fontFamily ?? remoteConfig?.fontFamily,\n fontSize: options.fontSize ?? remoteConfig?.fontSize,\n borderRadius: options.borderRadius ?? remoteConfig?.borderRadius,\n windowWidth: options.windowWidth ?? remoteConfig?.windowWidth,\n windowHeight: options.windowHeight ?? remoteConfig?.windowHeight,\n })\n\n // Boot visitor state (loads session ref + active flag from sessionStorage)\n useEffect(() => {\n initVisitor()\n }, [])\n\n // Resolve locale from config + browser on mount\n useEffect(() => {\n locale.value = resolveWidgetLocale(effectiveLocale)\n }, [effectiveLocale])\n\n // Handle postMessage locale updates (dashboard preview)\n useEffect(() => {\n function handleMessage(e: MessageEvent): void {\n const allowedOrigin = options.parentOrigin ?? window.location.origin\n\n if (e.origin !== allowedOrigin) { return }\n if (e.data?.type !== 'jexity:config') { return }\n\n const { locale: newLocale } = e.data.payload as { locale?: string }\n\n if (newLocale && WIDGET_LOCALES.some(l => l.value === newLocale)) {\n locale.value = newLocale as WidgetLocale\n }\n }\n\n window.addEventListener('message', handleMessage)\n return () => {\n window.removeEventListener('message', handleMessage)\n }\n }, [options.parentOrigin])\n\n return (\n <div\n class={`jex-widget ${colorSchemeClass}`.trim()}\n style={themeStyle}\n >\n <div class={`jex-container${posLeft ? ' jex-pos-left' : ''}`}>\n {isOpen.value && (\n <div class=\"jex-chat-window\">\n <Header title={title} />\n <ScreenRouter greeting={greeting} title={title} />\n {!effectiveHideBranding && <Footer />}\n </div>\n )}\n <FAB\n iconOption={mergedTriggerIcon}\n radius={mergedTriggerRadius}\n label={mergedTriggerLabel}\n />\n </div>\n </div>\n )\n}\n","import widgetCss from './widget.css?inline'\n\n/**\n * Injects the widget's CSS into the given shadow root.\n *\n * We use a <style> element rather than Constructable StyleSheets because:\n * - Works in all browsers (Safari < 16.4 lacks adoptedStyleSheets support)\n * - Vite's ?inline import gives us the processed CSS as a string\n * - No external requests — fully bundled in the JS output\n */\nexport function injectStyles(shadowRoot: ShadowRoot): void {\n const style = document.createElement('style')\n style.textContent = widgetCss\n shadowRoot.appendChild(style)\n}\n","import { render } from 'preact'\nimport { AppShell } from './AppShell'\nimport { isOpen } from './shell.state'\nimport { injectStyles } from '../../shared/theme/inject-styles'\nimport type { JexityChatOptions, JexityChatInstance } from '../../types'\n\n/**\n * Mounts the widget into a Shadow DOM on the given host element.\n * Reuses an existing shadow root on re-mount (avoids \"already has a shadow root\" error\n * when the dev playground re-mounts on options change).\n */\nexport function mountWidget(\n hostEl: HTMLElement,\n options: JexityChatOptions,\n): () => void {\n const shadow = hostEl.shadowRoot ?? hostEl.attachShadow({ mode: 'open' })\n\n // Clear previous content\n while (shadow.firstChild) {\n shadow.removeChild(shadow.firstChild)\n }\n\n injectStyles(shadow)\n\n const container = document.createElement('div')\n shadow.appendChild(container)\n\n render(<AppShell options={options} />, container)\n\n return function shutdown() {\n render(null, container)\n isOpen.value = false\n }\n}\n\n/**\n * Creates a JexityChatInstance wrapping mountWidget.\n * Used by entry points (iife.ts, esm.ts).\n */\nexport function createInstance(\n mountEl: HTMLElement,\n options: JexityChatOptions,\n onRemove?: () => void,\n): JexityChatInstance {\n const shutdown = mountWidget(mountEl, options)\n const listeners = new Set<(open: boolean) => void>()\n\n const disposeSignal = isOpen.subscribe((value) => {\n for (const cb of listeners) { cb(value) }\n })\n\n const instance: JexityChatInstance = {\n shutdown() {\n disposeSignal()\n listeners.clear()\n shutdown()\n if (onRemove) { onRemove() }\n },\n open() { isOpen.value = true },\n close() { isOpen.value = false },\n toggle() { isOpen.value = !isOpen.value },\n get isOpen() { return isOpen.value },\n subscribe(cb: (open: boolean) => void) {\n listeners.add(cb)\n return () => { listeners.delete(cb) }\n },\n }\n\n return instance\n}\n","import { createInstance } from '../module/shell/mount'\nimport type { JexityChatOptions, JexityChatInstance } from '../types'\n\nexport type { JexityChatOptions, JexityChatInstance }\n\nlet activeInstance: JexityChatInstance | null = null\n\nexport function JexityChat(options: JexityChatOptions): JexityChatInstance {\n // Singleton: shut down previous instance if one exists\n if (activeInstance) {\n activeInstance.shutdown()\n }\n\n let mountEl: HTMLElement\n\n if (options.container) {\n mountEl =\n typeof options.container === 'string'\n ? document.querySelector<HTMLElement>(options.container)!\n : options.container\n } else {\n mountEl = document.createElement('div')\n mountEl.id = 'jexity-chat-widget'\n document.body.appendChild(mountEl)\n }\n\n const instance = createInstance(mountEl, options, () => {\n if (!options.container) { mountEl.remove() }\n if (activeInstance === instance) { activeInstance = null }\n })\n\n activeInstance = instance\n return instance\n}\n"],"names":["n","l","u","t","i","r","o","e","f","c","s","a","p","v","y","w","d","g","_","m","k","x","S","C","M","$","O","N","I","h","b","P","B","A","L","D","T","j","F","H","E","V","z","q","G","useSignal","isOpen","signal","SESSION_REF_KEY","SESSION_ACTIVE_KEY","sessionRef","hasActiveSession","generateRef","initVisitor","stored","active","startNewSession","ref","markSessionActive","en","de","SUPPORTED_LOCALES","WIDGET_DEFAULT_LOCALE","LOCALE_STORAGE_KEY","locale","STRINGS","useLocale","parseLocale","raw","base","resolveWidgetLocale","configLocale","config","saved","browser","buildThemeStyle","options","vars","primaryColor","theme","bg","text","border","screenStack","navigate","screen","back","replace","BotIcon","size","jsx","Header","title","canGoBack","jsxs","ZapIcon","Footer","MessageIcon","CloseIcon","SparklesIcon","props","ICON_MAP","RADIUS_MAP","FAB","radius","iconOption","label","hasLabel","messages","isTyping","sessionId","clearChat","HomeScreen","greeting","showLookup","setShowLookup","useState","lookupRef","setLookupRef","handleStartChat","handleResumeSession","handleLookupSubmit","SelectionScreen","BotMessage","UserMessage","TypingIndicator","MessageList","bottomRef","useRef","useEffect","msg","SendIcon","ChatInput","input","handleSend","ChatScreen","Fragment","FormScreen","name","setName","email","setEmail","message","setMessage","handleSubmit","resolve","ConfirmationScreen","ticketRef","LoadingScreen","ErrorScreen","onRetry","onBack","ScreenRouter","stack","currentScreen","confirmationState","AppShell","remoteConfig","setRemoteConfig","effectiveLocale","effectivePosition","effectiveColorScheme","effectiveHideBranding","mergedTriggerIcon","mergedTriggerRadius","mergedTriggerLabel","posLeft","colorSchemeClass","themeStyle","handleMessage","allowedOrigin","newLocale","WIDGET_LOCALES","injectStyles","shadowRoot","style","widgetCss","mountWidget","hostEl","shadow","container","render","createInstance","mountEl","onRemove","shutdown","listeners","disposeSignal","value","cb","activeInstance","JexityChat","instance"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4]}
|