tia-gpc-widget 1.0.7 → 1.0.9
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 +1092 -1092
- package/dist/tia-gpc-widget.standalone.css +1 -1
- package/dist/tia-gpc-widget.standalone.js +5 -5
- package/dist/tia-gpc-widget.standalone.js.map +1 -1
- package/dist/tia-gpc.cjs.js +3 -3
- package/dist/tia-gpc.cjs.js.map +1 -1
- package/dist/tia-gpc.css +1 -1
- package/dist/tia-gpc.es.js +91 -81
- package/dist/tia-gpc.es.js.map +1 -1
- package/package.json +84 -84
package/dist/tia-gpc.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.gpc-widget .gpc-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.gpc-widget .gpc-transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:root{--gpc-color-primary: #2563eb;--gpc-color-primary-dark: #1e40af;--gpc-color-primary-light: #60a5fa;--gpc-bg-primary: #ffffff;--gpc-bg-secondary: #f8fafc;--gpc-bg-tertiary: #f1f5f9;--gpc-bg-hover: #e2e8f0;--gpc-text-primary: #0f172a;--gpc-text-secondary: #475569;--gpc-text-tertiary: #94a3b8;--gpc-border-light: #e2e8f0;--gpc-border-medium: #cbd5e1;--gpc-border-dark: #94a3b8;--gpc-shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--gpc-shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1);--gpc-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--gpc-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--gpc-success: #10b981;--gpc-error: #ef4444;--gpc-warning: #f59e0b;--gpc-info: #3b82f6}.gpc-dark{--gpc-color-primary: #3b82f6;--gpc-color-primary-dark: #2563eb;--gpc-color-primary-light: #60a5fa;--gpc-bg-primary: #1e293b;--gpc-bg-secondary: #0f172a;--gpc-bg-tertiary: #334155;--gpc-bg-hover: #475569;--gpc-text-primary: #f8fafc;--gpc-text-secondary: #cbd5e1;--gpc-text-tertiary: #94a3b8;--gpc-border-light: #334155;--gpc-border-medium: #475569;--gpc-border-dark: #64748b;--gpc-shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .5);--gpc-shadow-md: 0 4px 6px -1px rgb(0 0 0 / .5);--gpc-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .5), 0 4px 6px -4px rgb(0 0 0 / .5);--gpc-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .5), 0 8px 10px -6px rgb(0 0 0 / .5)}.gpc-widget{margin:0!important;padding:0!important;border:none!important;background:none!important;color:inherit!important;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif!important;line-height:1.5!important;box-sizing:border-box!important}.gpc-widget *,.gpc-widget *:before,.gpc-widget *:after{box-sizing:border-box}.gpc-widget,.gpc-widget *{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5;margin:0;padding:0}.gpc-widget button,.gpc-widget input,.gpc-widget textarea{font-family:inherit;font-size:100%}.gpc-smooth-scroll{scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.gpc-scrollbar::-webkit-scrollbar{width:6px;height:6px}.gpc-scrollbar::-webkit-scrollbar-track{background:transparent}.gpc-scrollbar::-webkit-scrollbar-thumb{background:var(--gpc-border-medium);border-radius:3px}.gpc-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--gpc-border-dark)}@keyframes gpc-fade-in{0%{opacity:0}to{opacity:1}}@keyframes gpc-slide-up{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes gpc-pulse{0%,to{opacity:1}50%{opacity:.5}}.gpc-animate-fade-in{animation:gpc-fade-in .2s ease-in-out}.gpc-animate-slide-up{animation:gpc-slide-up .3s ease-out}.gpc-animate-pulse{animation:gpc-pulse 2s cubic-bezier(.4,0,.6,1) infinite}.gpc-focus-visible:focus-visible{outline:2px solid var(--gpc-color-primary);outline-offset:2px}.gpc-transition{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.gpc-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.gpc-widget-container{position:fixed!important;z-index:9999!important;display:flex;flex-direction:column;pointer-events:none}.gpc-widget-container>*{pointer-events:auto}.gpc-position-bottom-right{bottom:20px!important;right:20px!important}.gpc-position-bottom-left{bottom:20px!important;left:20px!important}.gpc-position-top-right{top:20px!important;right:20px!important}.gpc-position-top-left{top:20px!important;left:20px!important}.gpc-floating-button{width:60px;height:60px;border-radius:50%;background:var(--gpc-color-primary);color:#fff;border:none;cursor:pointer;box-shadow:var(--gpc-shadow-lg);display:flex;align-items:center;justify-content:center;transition:all .3s ease;position:relative;z-index:1}.gpc-floating-button:hover{background:var(--gpc-color-primary-dark);box-shadow:var(--gpc-shadow-xl);transform:scale(1.05)}.gpc-floating-button:active{transform:scale(.95)}.gpc-floating-icon{width:24px;height:24px}.gpc-chat-window{width:var(--gpc-widget-width, 400px);height:var(--gpc-widget-height, 600px);background:var(--gpc-bg-primary);border-radius:16px;box-shadow:var(--gpc-shadow-xl);display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--gpc-border-light)}.gpc-chat-header{background:var(--gpc-color-primary);color:#fff;padding:16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.1);flex-shrink:0}.gpc-header-content{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.gpc-header-logo{width:58px;height:58px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.gpc-company-logo{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;border-radius:10px}.gpc-header-text{flex:1;min-width:0;text-align:left}.gpc-header-title{font-size:16px;font-weight:600;color:#fff;margin:0;line-height:1.3;text-align:left}.gpc-header-subtitle{font-size:12px;color:#fff;opacity:.9;margin:0;line-height:1.2}.gpc-header-actions{display:flex;align-items:center;gap:8px}.gpc-header-button{padding:8px;border-radius:8px;border:none;background:transparent;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}.gpc-header-button:hover{background:#ffffff1a}.gpc-icon{width:20px;height:20px}.gpc-messages-container{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px;background:var(--gpc-bg-secondary)}.gpc-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;padding:16px}.gpc-empty-icon{width:64px;height:64px;color:var(--gpc-text-tertiary);margin-bottom:16px}.gpc-empty-title{font-size:18px;font-weight:600;color:var(--gpc-text-primary);margin-bottom:8px}.gpc-empty-text{font-size:14px;color:var(--gpc-text-secondary);margin:0}.gpc-message{width:85%;padding:12px 16px;border-radius:12px;animation:gpc-slide-up .3s ease-out}.gpc-message-user{align-self:center;background:var(--gpc-color-primary);color:#fff;border-bottom-right-radius:4px;padding:12px 20px}.gpc-message-assistant{align-self:center;background:var(--gpc-bg-primary);color:var(--gpc-text-primary);border:1px solid var(--gpc-border-light);border-bottom-left-radius:4px}.gpc-message-content{word-break:break-word;text-align:left}.gpc-message-user .gpc-message-content,.gpc-message-assistant .gpc-message-content{white-space:normal}.gpc-message-content h1,.gpc-message-content h2,.gpc-message-content h3{font-weight:600;margin-top:12px;margin-bottom:8px;line-height:1.3}.gpc-message-content h1{font-size:1.25em}.gpc-message-content h2{font-size:1.15em}.gpc-message-content h3{font-size:1.05em}.gpc-message-content h1:first-child,.gpc-message-content h2:first-child,.gpc-message-content h3:first-child{margin-top:0}.gpc-message-content p{margin:0 0 4px;line-height:1.5}.gpc-message-content p:last-child{margin-bottom:0}.gpc-message-content strong{font-weight:600}.gpc-message-content em{font-style:italic}.gpc-message-content ul,.gpc-message-content ol{margin:4px 0;padding-left:20px}.gpc-message-content li{margin:2px 0;line-height:1.4}.gpc-message-content code{background:#0000000d;padding:2px 6px;border-radius:3px;font-family:Courier New,monospace;font-size:.9em}.gpc-message-content pre{background:#0000000d;padding:12px;border-radius:6px;overflow-x:auto;margin:8px 0}.gpc-message-content pre code{background:none;padding:0}.gpc-message-timestamp{font-size:11px;color:var(--gpc-text-tertiary);margin-top:4px;text-align:right}.gpc-message-timestamp-user{color:#ffffffb3}.gpc-message-metadata{font-size:11px;color:var(--gpc-text-tertiary);margin-top:8px;padding-top:8px;border-top:1px solid var(--gpc-border-light)}.gpc-metadata-item{margin-bottom:4px}.gpc-metadata-item:last-child{margin-bottom:0}.gpc-input-container{padding:16px;background:var(--gpc-bg-primary);border-top:1px solid var(--gpc-border-light);display:flex;gap:8px;align-items:center}.gpc-input{flex:1;padding:12px 16px;border:1px solid var(--gpc-border-medium);border-radius:24px;background:var(--gpc-bg-secondary);color:var(--gpc-text-primary);font-size:14px;outline:none;transition:all .2s}.gpc-input:focus{border-color:var(--gpc-color-primary);background:var(--gpc-bg-primary)}.gpc-input:disabled{opacity:.5;cursor:not-allowed}.gpc-input::-moz-placeholder{color:var(--gpc-text-tertiary)}.gpc-input::placeholder{color:var(--gpc-text-tertiary)}.gpc-send-button{width:40px;height:40px;border-radius:50%;background:var(--gpc-color-primary);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.gpc-send-button:hover:not(:disabled){background:var(--gpc-color-primary-dark);transform:scale(1.05)}.gpc-send-button:disabled{opacity:.5;cursor:not-allowed}.gpc-typing-indicator{display:flex;gap:4px}.gpc-typing-dot{width:8px;height:8px;border-radius:50%;background:var(--gpc-text-tertiary);animation:gpc-pulse 1.5s ease-in-out infinite}.gpc-typing-dot:nth-child(2){animation-delay:.2s}.gpc-typing-dot:nth-child(3){animation-delay:.4s}.gpc-spinner{width:20px;height:20px;border:2px solid var(--gpc-border-light);border-top-color:var(--gpc-color-primary);border-radius:50%;animation:gpc-spin .8s linear infinite}@keyframes gpc-spin{to{transform:rotate(360deg)}}.gpc-notification-badge{position:absolute;top:-4px;right:-4px;width:20px;height:20px;border-radius:50%;background:var(--gpc-error);color:#fff;font-size:11px;display:flex;align-items:center;justify-content:center;font-weight:600}.gpc-validator-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;gap:16px;flex:1}.gpc-validator-header{text-align:center;margin-bottom:16px}.gpc-validator-title{font-size:18px;font-weight:600;color:var(--gpc-text-primary);margin-bottom:8px}.gpc-validator-subtitle{font-size:14px;color:var(--gpc-text-secondary);margin:0}.gpc-validator-loading{display:flex;flex-direction:column;align-items:center;gap:8px}.gpc-validator-text{font-size:14px;color:var(--gpc-text-secondary);margin:0}.gpc-validator-error{background:var(--gpc-bg-tertiary);border:1px solid var(--gpc-border-medium);border-radius:12px;padding:16px;display:flex;align-items:flex-start;gap:12px;max-width:400px}.gpc-dark .gpc-validator-error{background:var(--gpc-bg-tertiary);border-color:var(--gpc-border-medium)}.gpc-error-icon{width:20px;height:20px;color:var(--gpc-error);flex-shrink:0;margin-top:2px}.gpc-error-content{flex:1}.gpc-error-title{font-size:14px;font-weight:600;color:var(--gpc-error);margin-bottom:4px}.gpc-error-message{font-size:14px;color:var(--gpc-text-primary);margin-bottom:8px}.gpc-error-button{font-size:14px;font-weight:500;color:var(--gpc-error);background:none;border:none;cursor:pointer;text-decoration:underline;padding:0}.gpc-error-button:hover{opacity:.8}.gpc-button{display:inline-flex;align-items:center;justify-content:center;font-weight:500;border-radius:8px;border:none;cursor:pointer;transition:all .15s ease}.gpc-button:disabled{opacity:.5;cursor:not-allowed}.gpc-button:focus-visible{outline:2px solid var(--gpc-color-primary);outline-offset:2px}.gpc-button-primary{background:var(--gpc-color-primary);color:#fff}.gpc-button-primary:hover:not(:disabled){background:var(--gpc-color-primary-dark)}.gpc-button-primary:active:not(:disabled){transform:scale(.95)}.gpc-button-secondary{background:var(--gpc-bg-tertiary);color:var(--gpc-text-primary);border:1px solid var(--gpc-border-medium)}.gpc-button-secondary:hover:not(:disabled){background:var(--gpc-bg-hover)}.gpc-button-ghost{background:transparent;color:var(--gpc-text-secondary)}.gpc-button-ghost:hover:not(:disabled){background:var(--gpc-bg-hover)}.gpc-button-sm{padding:6px 12px;font-size:14px}.gpc-button-md{padding:8px 16px;font-size:16px}.gpc-button-lg{padding:12px 24px;font-size:18px}.gpc-button-spinner{margin-right:8px}.gpc-language-selector{position:relative}.gpc-language-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:var(--gpc-bg-primary);border:1px solid var(--gpc-border-medium);border-radius:8px;box-shadow:var(--gpc-shadow-lg);min-width:150px;z-index:1000;overflow:hidden;animation:gpc-slide-down .2s ease-out}.gpc-language-option{width:100%;padding:10px 12px;border:none;background:transparent;color:var(--gpc-text-primary);font-size:14px;text-align:left;cursor:pointer;display:flex;align-items:center;gap:8px;transition:background-color .2s}.gpc-language-option:hover{background:var(--gpc-bg-secondary)}.gpc-language-option-active{background:var(--gpc-bg-tertiary);font-weight:600}.gpc-language-flag{font-size:18px}.gpc-language-label{flex:1}@keyframes gpc-slide-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.gpc-welcome-logo{margin-bottom:24px}.gpc-welcome-company-logo{width:120px;height:120px;-o-object-fit:contain;object-fit:contain;border-radius:12px}.gpc-footer{padding:6px 12px;text-align:left;background:var(--gpc-bg-secondary);border-top:1px solid var(--gpc-border-light);flex-shrink:0}.gpc-footer-text{font-size:9px;color:var(--gpc-text-tertiary);opacity:.6;font-weight:400}@media(max-width:639px){.gpc-chat-window{position:fixed;inset:0;width:100vw!important;height:100vh!important;border-radius:0;max-width:none;max-height:none}.gpc-floating-button{width:56px;height:56px;bottom:16px;right:16px}.gpc-chat-window{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.gpc-messages-container{padding:12px}.gpc-message{max-width:85%}.gpc-input-container{padding:12px}.gpc-input{min-height:44px;font-size:16px}.gpc-send-button{min-width:44px;min-height:44px}.gpc-chat-header{padding:12px 16px}}@media(min-width:640px)and (max-width:1023px){.gpc-chat-window{width:380px;height:500px}.gpc-message{max-width:75%}}@media(min-width:1024px){.gpc-chat-window{width:400px;height:600px}.gpc-message-assistant:hover{box-shadow:var(--gpc-shadow-sm)}}@media(max-width:639px)and (orientation:landscape){.gpc-chat-window{max-height:100vh}.gpc-messages-container{flex:1;min-height:0}}@media(hover:none)and (pointer:coarse){.gpc-button,.gpc-icon-button{min-width:44px;min-height:44px}.gpc-message-assistant:hover{box-shadow:none}.gpc-messages-container{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}}@media(prefers-contrast:high){.gpc-widget{--gpc-border-light: currentColor;--gpc-border-medium: currentColor}.gpc-message{border:2px solid currentColor}}@media(prefers-reduced-motion:reduce){.gpc-widget *,.gpc-widget *:before,.gpc-widget *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media print{.gpc-widget{display:none!important}}
|
|
1
|
+
*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.gpc-widget .gpc-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.gpc-widget .gpc-transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:root{--gpc-color-primary: #2563eb;--gpc-color-primary-dark: #1e40af;--gpc-color-primary-light: #60a5fa;--gpc-bg-primary: #ffffff;--gpc-bg-secondary: #f8fafc;--gpc-bg-tertiary: #f1f5f9;--gpc-bg-hover: #e2e8f0;--gpc-text-primary: #0f172a;--gpc-text-secondary: #475569;--gpc-text-tertiary: #94a3b8;--gpc-border-light: #e2e8f0;--gpc-border-medium: #cbd5e1;--gpc-border-dark: #94a3b8;--gpc-shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--gpc-shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1);--gpc-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--gpc-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--gpc-success: #10b981;--gpc-error: #ef4444;--gpc-warning: #f59e0b;--gpc-info: #3b82f6}.gpc-dark{--gpc-color-primary: #3b82f6;--gpc-color-primary-dark: #2563eb;--gpc-color-primary-light: #60a5fa;--gpc-bg-primary: #1e293b;--gpc-bg-secondary: #0f172a;--gpc-bg-tertiary: #334155;--gpc-bg-hover: #475569;--gpc-text-primary: #f8fafc;--gpc-text-secondary: #cbd5e1;--gpc-text-tertiary: #94a3b8;--gpc-border-light: #334155;--gpc-border-medium: #475569;--gpc-border-dark: #64748b;--gpc-shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .5);--gpc-shadow-md: 0 4px 6px -1px rgb(0 0 0 / .5);--gpc-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .5), 0 4px 6px -4px rgb(0 0 0 / .5);--gpc-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .5), 0 8px 10px -6px rgb(0 0 0 / .5)}.gpc-widget{margin:0!important;padding:0!important;border:none!important;background:none!important;color:inherit!important;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif!important;line-height:1.5!important;box-sizing:border-box!important}.gpc-widget *,.gpc-widget *:before,.gpc-widget *:after{box-sizing:border-box}.gpc-widget,.gpc-widget *{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5;margin:0;padding:0}.gpc-widget button,.gpc-widget input,.gpc-widget textarea{font-family:inherit;font-size:100%}.gpc-smooth-scroll{scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.gpc-scrollbar::-webkit-scrollbar{width:6px;height:6px}.gpc-scrollbar::-webkit-scrollbar-track{background:transparent}.gpc-scrollbar::-webkit-scrollbar-thumb{background:var(--gpc-border-medium);border-radius:3px}.gpc-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--gpc-border-dark)}@keyframes gpc-fade-in{0%{opacity:0}to{opacity:1}}@keyframes gpc-slide-up{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes gpc-pulse{0%,to{opacity:1}50%{opacity:.5}}.gpc-animate-fade-in{animation:gpc-fade-in .2s ease-in-out}.gpc-animate-slide-up{animation:gpc-slide-up .3s ease-out}.gpc-animate-pulse{animation:gpc-pulse 2s cubic-bezier(.4,0,.6,1) infinite}.gpc-focus-visible:focus-visible{outline:2px solid var(--gpc-color-primary);outline-offset:2px}.gpc-transition{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.gpc-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.gpc-widget-container{position:fixed!important;z-index:9999!important;display:flex;flex-direction:column;pointer-events:none}.gpc-widget-container>*{pointer-events:auto}.gpc-position-bottom-right{bottom:20px!important;right:20px!important}.gpc-position-bottom-left{bottom:20px!important;left:20px!important}.gpc-position-top-right{top:20px!important;right:20px!important}.gpc-position-top-left{top:20px!important;left:20px!important}.gpc-floating-button{width:60px;height:60px;border-radius:50%;background:var(--gpc-color-primary);color:#fff;border:none;cursor:pointer;box-shadow:var(--gpc-shadow-lg);display:flex;align-items:center;justify-content:center;transition:all .3s ease;position:relative;z-index:1}.gpc-floating-button-with-text{width:auto;min-width:60px;height:60px;padding:0 20px;border-radius:30px;animation:gpc-bounce 2s ease-in-out infinite}.gpc-floating-content{display:flex;align-items:center;gap:12px}.gpc-floating-text{font-size:16px;font-weight:600;white-space:nowrap;animation:gpc-text-shimmer 3s ease-in-out infinite}.gpc-floating-button:hover{background:var(--gpc-color-primary-dark);box-shadow:var(--gpc-shadow-xl);transform:scale(1.05);animation:none}.gpc-floating-button:active{transform:scale(.95)}.gpc-floating-icon{width:24px;height:24px;flex-shrink:0}@keyframes gpc-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes gpc-text-shimmer{0%,to{opacity:1}50%{opacity:.7}}.gpc-chat-window{width:var(--gpc-widget-width, 400px);height:var(--gpc-widget-height, 600px);background:var(--gpc-bg-primary);border-radius:16px;box-shadow:var(--gpc-shadow-xl);display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--gpc-border-light)}.gpc-chat-header{background:var(--gpc-color-primary);color:#fff;padding:16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.1);flex-shrink:0}.gpc-header-content{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.gpc-header-logo{width:58px;height:58px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.gpc-company-logo{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;border-radius:10px}.gpc-header-text{flex:1;min-width:0;text-align:left}.gpc-header-title{font-size:16px;font-weight:600;color:#fff;margin:0;line-height:1.3;text-align:left}.gpc-header-subtitle{font-size:12px;color:#fff;opacity:.9;margin:0;line-height:1.2}.gpc-header-actions{display:flex;align-items:center;gap:8px}.gpc-header-button{padding:8px;border-radius:8px;border:none;background:transparent;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}.gpc-header-button:hover{background:#ffffff1a}.gpc-icon{width:20px;height:20px}.gpc-messages-container{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px;background:var(--gpc-bg-secondary)}.gpc-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;padding:16px}.gpc-empty-icon{width:64px;height:64px;color:var(--gpc-text-tertiary);margin-bottom:16px}.gpc-empty-title{font-size:18px;font-weight:600;color:var(--gpc-text-primary);margin-bottom:8px}.gpc-empty-text{font-size:14px;color:var(--gpc-text-secondary);margin:0}.gpc-message{width:85%;padding:12px 16px;border-radius:12px;animation:gpc-slide-up .3s ease-out}.gpc-message-user{align-self:center;background:var(--gpc-color-primary);color:#fff;border-bottom-right-radius:4px;padding:12px 20px}.gpc-message-assistant{align-self:center;background:var(--gpc-bg-primary);color:var(--gpc-text-primary);border:1px solid var(--gpc-border-light);border-bottom-left-radius:4px}.gpc-message-content{word-break:break-word;text-align:left}.gpc-message-user .gpc-message-content,.gpc-message-assistant .gpc-message-content{white-space:normal}.gpc-message-content h1,.gpc-message-content h2,.gpc-message-content h3{font-weight:600;margin-top:12px;margin-bottom:8px;line-height:1.3}.gpc-message-content h1{font-size:1.25em}.gpc-message-content h2{font-size:1.15em}.gpc-message-content h3{font-size:1.05em}.gpc-message-content h1:first-child,.gpc-message-content h2:first-child,.gpc-message-content h3:first-child{margin-top:0}.gpc-message-content p{margin:0 0 4px;line-height:1.5}.gpc-message-content p:last-child{margin-bottom:0}.gpc-message-content strong{font-weight:600}.gpc-message-content em{font-style:italic}.gpc-message-content ul,.gpc-message-content ol{margin:4px 0;padding-left:20px}.gpc-message-content li{margin:2px 0;line-height:1.4}.gpc-message-content code{background:#0000000d;padding:2px 6px;border-radius:3px;font-family:Courier New,monospace;font-size:.9em}.gpc-message-content pre{background:#0000000d;padding:12px;border-radius:6px;overflow-x:auto;margin:8px 0}.gpc-message-content pre code{background:none;padding:0}.gpc-message-timestamp{font-size:11px;color:var(--gpc-text-tertiary);margin-top:4px;text-align:right}.gpc-message-timestamp-user{color:#ffffffb3}.gpc-message-metadata{font-size:11px;color:var(--gpc-text-tertiary);margin-top:8px;padding-top:8px;border-top:1px solid var(--gpc-border-light)}.gpc-metadata-item{margin-bottom:4px}.gpc-metadata-item:last-child{margin-bottom:0}.gpc-input-container{padding:16px;background:var(--gpc-bg-primary);border-top:1px solid var(--gpc-border-light);display:flex;gap:8px;align-items:center}.gpc-input{flex:1;padding:12px 16px;border:1px solid var(--gpc-border-medium);border-radius:24px;background:var(--gpc-bg-secondary);color:var(--gpc-text-primary);font-size:14px;outline:none;transition:all .2s}.gpc-input:focus{border-color:var(--gpc-color-primary);background:var(--gpc-bg-primary)}.gpc-input:disabled{opacity:.5;cursor:not-allowed}.gpc-input::-moz-placeholder{color:var(--gpc-text-tertiary)}.gpc-input::placeholder{color:var(--gpc-text-tertiary)}.gpc-send-button{width:40px;height:40px;border-radius:50%;background:var(--gpc-color-primary);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.gpc-send-button:hover:not(:disabled){background:var(--gpc-color-primary-dark);transform:scale(1.05)}.gpc-send-button:disabled{opacity:.5;cursor:not-allowed}.gpc-typing-indicator{display:flex;gap:4px}.gpc-typing-dot{width:8px;height:8px;border-radius:50%;background:var(--gpc-text-tertiary);animation:gpc-pulse 1.5s ease-in-out infinite}.gpc-typing-dot:nth-child(2){animation-delay:.2s}.gpc-typing-dot:nth-child(3){animation-delay:.4s}.gpc-spinner{width:20px;height:20px;border:2px solid var(--gpc-border-light);border-top-color:var(--gpc-color-primary);border-radius:50%;animation:gpc-spin .8s linear infinite}@keyframes gpc-spin{to{transform:rotate(360deg)}}.gpc-notification-badge{position:absolute;top:-4px;right:-4px;width:20px;height:20px;border-radius:50%;background:var(--gpc-error);color:#fff;font-size:11px;display:flex;align-items:center;justify-content:center;font-weight:600}.gpc-validator-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;gap:16px;flex:1}.gpc-validator-header{text-align:center;margin-bottom:16px}.gpc-validator-title{font-size:18px;font-weight:600;color:var(--gpc-text-primary);margin-bottom:8px}.gpc-validator-subtitle{font-size:14px;color:var(--gpc-text-secondary);margin:0}.gpc-validator-loading{display:flex;flex-direction:column;align-items:center;gap:8px}.gpc-validator-text{font-size:14px;color:var(--gpc-text-secondary);margin:0}.gpc-validator-error{background:var(--gpc-bg-tertiary);border:1px solid var(--gpc-border-medium);border-radius:12px;padding:16px;display:flex;align-items:flex-start;gap:12px;max-width:400px}.gpc-dark .gpc-validator-error{background:var(--gpc-bg-tertiary);border-color:var(--gpc-border-medium)}.gpc-error-icon{width:20px;height:20px;color:var(--gpc-error);flex-shrink:0;margin-top:2px}.gpc-error-content{flex:1}.gpc-error-title{font-size:14px;font-weight:600;color:var(--gpc-error);margin-bottom:4px}.gpc-error-message{font-size:14px;color:var(--gpc-text-primary);margin-bottom:8px}.gpc-error-button{font-size:14px;font-weight:500;color:var(--gpc-error);background:none;border:none;cursor:pointer;text-decoration:underline;padding:0}.gpc-error-button:hover{opacity:.8}.gpc-button{display:inline-flex;align-items:center;justify-content:center;font-weight:500;border-radius:8px;border:none;cursor:pointer;transition:all .15s ease}.gpc-button:disabled{opacity:.5;cursor:not-allowed}.gpc-button:focus-visible{outline:2px solid var(--gpc-color-primary);outline-offset:2px}.gpc-button-primary{background:var(--gpc-color-primary);color:#fff}.gpc-button-primary:hover:not(:disabled){background:var(--gpc-color-primary-dark)}.gpc-button-primary:active:not(:disabled){transform:scale(.95)}.gpc-button-secondary{background:var(--gpc-bg-tertiary);color:var(--gpc-text-primary);border:1px solid var(--gpc-border-medium)}.gpc-button-secondary:hover:not(:disabled){background:var(--gpc-bg-hover)}.gpc-button-ghost{background:transparent;color:var(--gpc-text-secondary)}.gpc-button-ghost:hover:not(:disabled){background:var(--gpc-bg-hover)}.gpc-button-sm{padding:6px 12px;font-size:14px}.gpc-button-md{padding:8px 16px;font-size:16px}.gpc-button-lg{padding:12px 24px;font-size:18px}.gpc-button-spinner{margin-right:8px}.gpc-language-selector{position:relative}.gpc-language-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:var(--gpc-bg-primary);border:1px solid var(--gpc-border-medium);border-radius:8px;box-shadow:var(--gpc-shadow-lg);min-width:150px;z-index:1000;overflow:hidden;animation:gpc-slide-down .2s ease-out}.gpc-language-option{width:100%;padding:10px 12px;border:none;background:transparent;color:var(--gpc-text-primary);font-size:14px;text-align:left;cursor:pointer;display:flex;align-items:center;gap:8px;transition:background-color .2s}.gpc-language-option:hover{background:var(--gpc-bg-secondary)}.gpc-language-option-active{background:var(--gpc-bg-tertiary);font-weight:600}.gpc-language-flag{font-size:18px}.gpc-language-label{flex:1}@keyframes gpc-slide-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.gpc-welcome-logo{margin-bottom:24px}.gpc-welcome-company-logo{width:120px;height:120px;-o-object-fit:contain;object-fit:contain;border-radius:12px}.gpc-footer{padding:6px 12px;text-align:left;background:var(--gpc-bg-secondary);border-top:1px solid var(--gpc-border-light);flex-shrink:0}.gpc-footer-text{font-size:9px;color:var(--gpc-text-tertiary);opacity:.6;font-weight:400}@media(max-width:639px){.gpc-chat-window{position:fixed;inset:0;width:100vw!important;height:100vh!important;border-radius:0;max-width:none;max-height:none}.gpc-floating-button{width:56px;height:56px;bottom:16px;right:16px}.gpc-chat-window{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.gpc-messages-container{padding:12px}.gpc-message{max-width:85%}.gpc-input-container{padding:12px}.gpc-input{min-height:44px;font-size:16px}.gpc-send-button{min-width:44px;min-height:44px}.gpc-chat-header{padding:12px 16px}}@media(min-width:640px)and (max-width:1023px){.gpc-chat-window{width:380px;height:500px}.gpc-message{max-width:75%}}@media(min-width:1024px){.gpc-chat-window{width:400px;height:600px}.gpc-message-assistant:hover{box-shadow:var(--gpc-shadow-sm)}}@media(max-width:639px)and (orientation:landscape){.gpc-chat-window{max-height:100vh}.gpc-messages-container{flex:1;min-height:0}}@media(hover:none)and (pointer:coarse){.gpc-button,.gpc-icon-button{min-width:44px;min-height:44px}.gpc-message-assistant:hover{box-shadow:none}.gpc-messages-container{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}}@media(prefers-contrast:high){.gpc-widget{--gpc-border-light: currentColor;--gpc-border-medium: currentColor}.gpc-message{border:2px solid currentColor}}@media(prefers-reduced-motion:reduce){.gpc-widget *,.gpc-widget *:before,.gpc-widget *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media print{.gpc-widget{display:none!important}}
|
package/dist/tia-gpc.es.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { jsxs as
|
|
1
|
+
import { jsxs as V, jsx as I, Fragment as Bt } from "react/jsx-runtime";
|
|
2
2
|
import { useState as Q, useRef as Ve, useEffect as xe, useCallback as en, useMemo as zr } from "react";
|
|
3
3
|
import { useTranslation as fe, initReactI18next as Or, I18nextProvider as Rr } from "react-i18next";
|
|
4
4
|
import { MessageCircle as Dr, Moon as Mr, Sun as Fr, Globe as Br, ChevronDown as Ur, MessageSquare as jr, Send as Vr, AlertCircle as Hr } from "lucide-react";
|
|
@@ -7,17 +7,24 @@ import { Turnstile as $r } from "@marsidev/react-turnstile";
|
|
|
7
7
|
import Gr from "axios";
|
|
8
8
|
import nn from "i18next";
|
|
9
9
|
import Wr from "i18next-browser-languagedetector";
|
|
10
|
-
const Kr = ({ onClick: e, unreadCount: n = 0 }) => {
|
|
11
|
-
const { t } = fe();
|
|
12
|
-
return /* @__PURE__ */
|
|
10
|
+
const Kr = ({ onClick: e, unreadCount: n = 0, widgetConfig: t }) => {
|
|
11
|
+
const { t: r } = fe(), i = t?.company_name || r("widget.title");
|
|
12
|
+
return /* @__PURE__ */ V(
|
|
13
13
|
"button",
|
|
14
14
|
{
|
|
15
15
|
onClick: e,
|
|
16
|
-
className: "gpc-floating-button gpc-animate-fade-in",
|
|
17
|
-
"aria-label":
|
|
18
|
-
title:
|
|
16
|
+
className: "gpc-floating-button gpc-floating-button-with-text gpc-animate-fade-in",
|
|
17
|
+
"aria-label": r("chat.title"),
|
|
18
|
+
title: r("chat.title"),
|
|
19
19
|
children: [
|
|
20
|
-
/* @__PURE__ */
|
|
20
|
+
/* @__PURE__ */ V("div", { className: "gpc-floating-content", children: [
|
|
21
|
+
/* @__PURE__ */ I(Dr, { className: "gpc-floating-icon" }),
|
|
22
|
+
/* @__PURE__ */ V("span", { className: "gpc-floating-text", children: [
|
|
23
|
+
r("widget.questionsTo"),
|
|
24
|
+
" ",
|
|
25
|
+
i
|
|
26
|
+
] })
|
|
27
|
+
] }),
|
|
21
28
|
n > 0 && /* @__PURE__ */ I("span", { className: "gpc-notification-badge", children: n > 9 ? "9+" : n })
|
|
22
29
|
]
|
|
23
30
|
}
|
|
@@ -49,7 +56,7 @@ const Kr = ({ onClick: e, unreadCount: n = 0 }) => {
|
|
|
49
56
|
return n && document.addEventListener("mousedown", o), () => {
|
|
50
57
|
document.removeEventListener("mousedown", o);
|
|
51
58
|
};
|
|
52
|
-
}, [n]), /* @__PURE__ */
|
|
59
|
+
}, [n]), /* @__PURE__ */ V("div", { className: "gpc-language-selector", ref: r, children: [
|
|
53
60
|
/* @__PURE__ */ I(
|
|
54
61
|
"button",
|
|
55
62
|
{
|
|
@@ -60,7 +67,7 @@ const Kr = ({ onClick: e, unreadCount: n = 0 }) => {
|
|
|
60
67
|
children: /* @__PURE__ */ I(Br, { className: "gpc-icon" })
|
|
61
68
|
}
|
|
62
69
|
),
|
|
63
|
-
n && /* @__PURE__ */ I("div", { className: "gpc-language-dropdown", children: un.map((o) => /* @__PURE__ */
|
|
70
|
+
n && /* @__PURE__ */ I("div", { className: "gpc-language-dropdown", children: un.map((o) => /* @__PURE__ */ V(
|
|
64
71
|
"button",
|
|
65
72
|
{
|
|
66
73
|
onClick: () => l(o.code),
|
|
@@ -81,12 +88,12 @@ const Kr = ({ onClick: e, unreadCount: n = 0 }) => {
|
|
|
81
88
|
widgetConfig: i = null
|
|
82
89
|
}) => {
|
|
83
90
|
const { t: l } = fe(), o = i?.company_name || l("widget.title"), a = i?.company_logo_base64, c = a?.startsWith("data:") ? a : a ? `data:image/png;base64,${a}` : null;
|
|
84
|
-
return /* @__PURE__ */
|
|
85
|
-
/* @__PURE__ */
|
|
91
|
+
return /* @__PURE__ */ V("div", { className: "gpc-chat-header", children: [
|
|
92
|
+
/* @__PURE__ */ V("div", { className: "gpc-header-content", children: [
|
|
86
93
|
c && /* @__PURE__ */ I("div", { className: "gpc-header-logo", children: /* @__PURE__ */ I("img", { src: c, alt: o, className: "gpc-company-logo" }) }),
|
|
87
94
|
/* @__PURE__ */ I("div", { className: "gpc-header-text", children: /* @__PURE__ */ I("h2", { className: "gpc-header-title", children: o }) })
|
|
88
95
|
] }),
|
|
89
|
-
/* @__PURE__ */
|
|
96
|
+
/* @__PURE__ */ V("div", { className: "gpc-header-actions", children: [
|
|
90
97
|
/* @__PURE__ */ I(Xr, {}),
|
|
91
98
|
/* @__PURE__ */ I(Yr, { theme: n, onToggle: t }),
|
|
92
99
|
/* @__PURE__ */ I(
|
|
@@ -1309,7 +1316,7 @@ function mi() {
|
|
|
1309
1316
|
function D() {
|
|
1310
1317
|
var v = { line: y, column: E };
|
|
1311
1318
|
return function(P) {
|
|
1312
|
-
return P.position = new M(v),
|
|
1319
|
+
return P.position = new M(v), H(), P;
|
|
1313
1320
|
};
|
|
1314
1321
|
}
|
|
1315
1322
|
function M(v) {
|
|
@@ -1329,7 +1336,7 @@ function mi() {
|
|
|
1329
1336
|
return k(L), b = b.slice(L.length), P;
|
|
1330
1337
|
}
|
|
1331
1338
|
}
|
|
1332
|
-
function
|
|
1339
|
+
function H() {
|
|
1333
1340
|
O(t);
|
|
1334
1341
|
}
|
|
1335
1342
|
function B(v) {
|
|
@@ -1371,7 +1378,7 @@ function mi() {
|
|
|
1371
1378
|
P !== !1 && (v.push(P), B(v));
|
|
1372
1379
|
return v;
|
|
1373
1380
|
}
|
|
1374
|
-
return
|
|
1381
|
+
return H(), T();
|
|
1375
1382
|
};
|
|
1376
1383
|
function w(b) {
|
|
1377
1384
|
return b ? b.replace(a, h) : h;
|
|
@@ -2132,11 +2139,11 @@ function tl(e) {
|
|
|
2132
2139
|
)
|
|
2133
2140
|
return;
|
|
2134
2141
|
const O = n.events.length;
|
|
2135
|
-
let
|
|
2136
|
-
for (;
|
|
2137
|
-
if (n.events[
|
|
2142
|
+
let H = O, B, j;
|
|
2143
|
+
for (; H--; )
|
|
2144
|
+
if (n.events[H][0] === "exit" && n.events[H][1].type === "chunkFlow") {
|
|
2138
2145
|
if (B) {
|
|
2139
|
-
j = n.events[
|
|
2146
|
+
j = n.events[H][1].end;
|
|
2140
2147
|
break;
|
|
2141
2148
|
}
|
|
2142
2149
|
B = !0;
|
|
@@ -2145,7 +2152,7 @@ function tl(e) {
|
|
|
2145
2152
|
n.events[x][1].end = {
|
|
2146
2153
|
...j
|
|
2147
2154
|
}, x++;
|
|
2148
|
-
he(n.events,
|
|
2155
|
+
he(n.events, H + 1, 0, n.events.slice(O)), n.events.length = x;
|
|
2149
2156
|
}
|
|
2150
2157
|
}
|
|
2151
2158
|
function y(k) {
|
|
@@ -2441,7 +2448,7 @@ function dl(e, n, t) {
|
|
|
2441
2448
|
function D(x) {
|
|
2442
2449
|
return e.exit("codeFenced"), n(x);
|
|
2443
2450
|
}
|
|
2444
|
-
function M(x, O,
|
|
2451
|
+
function M(x, O, H) {
|
|
2445
2452
|
let B = 0;
|
|
2446
2453
|
return j;
|
|
2447
2454
|
function j(L) {
|
|
@@ -2451,13 +2458,13 @@ function dl(e, n, t) {
|
|
|
2451
2458
|
return x.enter("codeFencedFence"), U(L) ? G(x, T, "linePrefix", r.parser.constructs.disable.null.includes("codeIndented") ? void 0 : 4)(L) : T(L);
|
|
2452
2459
|
}
|
|
2453
2460
|
function T(L) {
|
|
2454
|
-
return L === a ? (x.enter("codeFencedFenceSequence"), v(L)) :
|
|
2461
|
+
return L === a ? (x.enter("codeFencedFenceSequence"), v(L)) : H(L);
|
|
2455
2462
|
}
|
|
2456
2463
|
function v(L) {
|
|
2457
|
-
return L === a ? (B++, x.consume(L), v) : B >= o ? (x.exit("codeFencedFenceSequence"), U(L) ? G(x, P, "whitespace")(L) : P(L)) :
|
|
2464
|
+
return L === a ? (B++, x.consume(L), v) : B >= o ? (x.exit("codeFencedFenceSequence"), U(L) ? G(x, P, "whitespace")(L) : P(L)) : H(L);
|
|
2458
2465
|
}
|
|
2459
2466
|
function P(L) {
|
|
2460
|
-
return L === null || _(L) ? (x.exit("codeFencedFence"), O(L)) :
|
|
2467
|
+
return L === null || _(L) ? (x.exit("codeFencedFence"), O(L)) : H(L);
|
|
2461
2468
|
}
|
|
2462
2469
|
}
|
|
2463
2470
|
}
|
|
@@ -3147,13 +3154,13 @@ function ql(e, n, t) {
|
|
|
3147
3154
|
return m === 61 ? (e.consume(m), x) : U(m) ? (e.consume(m), M) : k(m);
|
|
3148
3155
|
}
|
|
3149
3156
|
function x(m) {
|
|
3150
|
-
return m === null || m === 60 || m === 61 || m === 62 || m === 96 ? t(m) : m === 34 || m === 39 ? (e.consume(m), c = m, O) : U(m) ? (e.consume(m), x) :
|
|
3157
|
+
return m === null || m === 60 || m === 61 || m === 62 || m === 96 ? t(m) : m === 34 || m === 39 ? (e.consume(m), c = m, O) : U(m) ? (e.consume(m), x) : H(m);
|
|
3151
3158
|
}
|
|
3152
3159
|
function O(m) {
|
|
3153
3160
|
return m === c ? (e.consume(m), c = null, B) : m === null || _(m) ? t(m) : (e.consume(m), O);
|
|
3154
3161
|
}
|
|
3155
|
-
function
|
|
3156
|
-
return m === null || m === 34 || m === 39 || m === 47 || m === 60 || m === 61 || m === 62 || m === 96 || ee(m) ? M(m) : (e.consume(m),
|
|
3162
|
+
function H(m) {
|
|
3163
|
+
return m === null || m === 34 || m === 39 || m === 47 || m === 60 || m === 61 || m === 62 || m === 96 || ee(m) ? M(m) : (e.consume(m), H);
|
|
3157
3164
|
}
|
|
3158
3165
|
function B(m) {
|
|
3159
3166
|
return m === 47 || m === 62 || U(m) ? k(m) : t(m);
|
|
@@ -3230,7 +3237,7 @@ function Kl(e, n, t) {
|
|
|
3230
3237
|
return e.enter("htmlText"), e.enter("htmlTextData"), e.consume(d), c;
|
|
3231
3238
|
}
|
|
3232
3239
|
function c(d) {
|
|
3233
|
-
return d === 33 ? (e.consume(d), s) : d === 47 ? (e.consume(d), M) : d === 63 ? (e.consume(d), k) : pe(d) ? (e.consume(d),
|
|
3240
|
+
return d === 33 ? (e.consume(d), s) : d === 47 ? (e.consume(d), M) : d === 63 ? (e.consume(d), k) : pe(d) ? (e.consume(d), H) : t(d);
|
|
3234
3241
|
}
|
|
3235
3242
|
function s(d) {
|
|
3236
3243
|
return d === 45 ? (e.consume(d), u) : d === 91 ? (e.consume(d), l = 0, w) : pe(d) ? (e.consume(d), E) : t(d);
|
|
@@ -3278,8 +3285,8 @@ function Kl(e, n, t) {
|
|
|
3278
3285
|
function O(d) {
|
|
3279
3286
|
return _(d) ? (o = O, Y(d)) : U(d) ? (e.consume(d), O) : K(d);
|
|
3280
3287
|
}
|
|
3281
|
-
function
|
|
3282
|
-
return d === 45 || ie(d) ? (e.consume(d),
|
|
3288
|
+
function H(d) {
|
|
3289
|
+
return d === 45 || ie(d) ? (e.consume(d), H) : d === 47 || d === 62 || ee(d) ? B(d) : t(d);
|
|
3283
3290
|
}
|
|
3284
3291
|
function B(d) {
|
|
3285
3292
|
return d === 47 ? (e.consume(d), K) : d === 58 || d === 95 || pe(d) ? (e.consume(d), j) : _(d) ? (o = B, Y(d)) : U(d) ? (e.consume(d), B) : K(d);
|
|
@@ -3869,7 +3876,7 @@ function Do(e, n, t) {
|
|
|
3869
3876
|
let u = n.tokenize.call(s, c);
|
|
3870
3877
|
return n.resolveAll && l.push(n), s;
|
|
3871
3878
|
function h(N) {
|
|
3872
|
-
return o = le(o, N), A(), o[o.length - 1] !== null ? [] : (
|
|
3879
|
+
return o = le(o, N), A(), o[o.length - 1] !== null ? [] : (H(n, 0), s.events = jn(l, s.events, s), s.events);
|
|
3873
3880
|
}
|
|
3874
3881
|
function f(N, T) {
|
|
3875
3882
|
return Fo(p(N), T);
|
|
@@ -3925,7 +3932,7 @@ function Do(e, n, t) {
|
|
|
3925
3932
|
return T.end = w(), s.events.push(["exit", T, s]), T;
|
|
3926
3933
|
}
|
|
3927
3934
|
function M(N, T) {
|
|
3928
|
-
|
|
3935
|
+
H(N, T.from);
|
|
3929
3936
|
}
|
|
3930
3937
|
function x(N, T) {
|
|
3931
3938
|
T.restore();
|
|
@@ -3981,7 +3988,7 @@ function Do(e, n, t) {
|
|
|
3981
3988
|
}
|
|
3982
3989
|
}
|
|
3983
3990
|
}
|
|
3984
|
-
function
|
|
3991
|
+
function H(N, T) {
|
|
3985
3992
|
N.resolveAll && !l.includes(N) && l.push(N), N.resolve && he(s.events, T, s.events.length - T, N.resolve(s.events.slice(T), s)), N.resolveTo && (s.events = N.resolveTo(s.events, s));
|
|
3986
3993
|
}
|
|
3987
3994
|
function B() {
|
|
@@ -4224,7 +4231,7 @@ function Go(e) {
|
|
|
4224
4231
|
resourceDestinationString: d,
|
|
4225
4232
|
resourceTitleString: ae,
|
|
4226
4233
|
resource: me,
|
|
4227
|
-
setextHeading: c(
|
|
4234
|
+
setextHeading: c(H),
|
|
4228
4235
|
setextHeadingLineSequence: O,
|
|
4229
4236
|
setextHeadingText: x,
|
|
4230
4237
|
strong: c(),
|
|
@@ -4425,7 +4432,7 @@ function Go(e) {
|
|
|
4425
4432
|
const C = this.stack[this.stack.length - 1];
|
|
4426
4433
|
C.depth = this.sliceSerialize(g).codePointAt(0) === 61 ? 1 : 2;
|
|
4427
4434
|
}
|
|
4428
|
-
function
|
|
4435
|
+
function H() {
|
|
4429
4436
|
this.data.setextHeadingSlurpLineEnding = void 0;
|
|
4430
4437
|
}
|
|
4431
4438
|
function B(g) {
|
|
@@ -6820,7 +6827,7 @@ function ys(e, n) {
|
|
|
6820
6827
|
components: i,
|
|
6821
6828
|
ignoreInvalidStyle: !0,
|
|
6822
6829
|
jsx: I,
|
|
6823
|
-
jsxs:
|
|
6830
|
+
jsxs: V,
|
|
6824
6831
|
passKeys: !0,
|
|
6825
6832
|
passNode: !0
|
|
6826
6833
|
});
|
|
@@ -6901,7 +6908,7 @@ const Sr = "https://www.tiagpctest.softiabot.com", ks = "0x4AAAAAAB-BKyDZcYYqCbi
|
|
|
6901
6908
|
"aria-label": "Cargando",
|
|
6902
6909
|
children: /* @__PURE__ */ I("span", { className: "sr-only", children: "Cargando..." })
|
|
6903
6910
|
}
|
|
6904
|
-
), _s = () => /* @__PURE__ */
|
|
6911
|
+
), _s = () => /* @__PURE__ */ V("div", { className: "gpc-typing-indicator", role: "status", "aria-label": "Escribiendo", children: [
|
|
6905
6912
|
/* @__PURE__ */ I("span", { className: "gpc-typing-dot" }),
|
|
6906
6913
|
/* @__PURE__ */ I("span", { className: "gpc-typing-dot" }),
|
|
6907
6914
|
/* @__PURE__ */ I("span", { className: "gpc-typing-dot" })
|
|
@@ -6911,7 +6918,7 @@ const Sr = "https://www.tiagpctest.softiabot.com", ks = "0x4AAAAAAB-BKyDZcYYqCbi
|
|
|
6911
6918
|
messageRef: t = null
|
|
6912
6919
|
}) => {
|
|
6913
6920
|
const { t: r } = fe(), i = e.role === "user", l = !i && e.isStreaming && !e.content;
|
|
6914
|
-
return /* @__PURE__ */
|
|
6921
|
+
return /* @__PURE__ */ V(
|
|
6915
6922
|
"div",
|
|
6916
6923
|
{
|
|
6917
6924
|
ref: t,
|
|
@@ -6927,25 +6934,25 @@ const Sr = "https://www.tiagpctest.softiabot.com", ks = "0x4AAAAAAB-BKyDZcYYqCbi
|
|
|
6927
6934
|
children: Is(e.timestamp)
|
|
6928
6935
|
}
|
|
6929
6936
|
),
|
|
6930
|
-
!i && n && e.metadata && /* @__PURE__ */
|
|
6931
|
-
e.metadata.tokensUsed && /* @__PURE__ */
|
|
6932
|
-
/* @__PURE__ */
|
|
6937
|
+
!i && n && e.metadata && /* @__PURE__ */ V("div", { className: "gpc-message-metadata", children: [
|
|
6938
|
+
e.metadata.tokensUsed && /* @__PURE__ */ V("div", { className: "gpc-metadata-item", children: [
|
|
6939
|
+
/* @__PURE__ */ V("strong", { children: [
|
|
6933
6940
|
r("metadata.tokensUsed"),
|
|
6934
6941
|
":"
|
|
6935
6942
|
] }),
|
|
6936
6943
|
" ",
|
|
6937
6944
|
e.metadata.tokensUsed
|
|
6938
6945
|
] }),
|
|
6939
|
-
e.metadata.responseTimeMs && /* @__PURE__ */
|
|
6940
|
-
/* @__PURE__ */
|
|
6946
|
+
e.metadata.responseTimeMs && /* @__PURE__ */ V("div", { className: "gpc-metadata-item", children: [
|
|
6947
|
+
/* @__PURE__ */ V("strong", { children: [
|
|
6941
6948
|
r("metadata.responseTime"),
|
|
6942
6949
|
":"
|
|
6943
6950
|
] }),
|
|
6944
6951
|
" ",
|
|
6945
6952
|
vs(e.metadata.responseTimeMs)
|
|
6946
6953
|
] }),
|
|
6947
|
-
e.metadata.model && /* @__PURE__ */
|
|
6948
|
-
/* @__PURE__ */
|
|
6954
|
+
e.metadata.model && /* @__PURE__ */ V("div", { className: "gpc-metadata-item", children: [
|
|
6955
|
+
/* @__PURE__ */ V("strong", { children: [
|
|
6949
6956
|
r("metadata.model"),
|
|
6950
6957
|
":"
|
|
6951
6958
|
] }),
|
|
@@ -6973,7 +6980,7 @@ const Sr = "https://www.tiagpctest.softiabot.com", ks = "0x4AAAAAAB-BKyDZcYYqCbi
|
|
|
6973
6980
|
}, 100)), a.current = e.length;
|
|
6974
6981
|
}, [e]);
|
|
6975
6982
|
const c = r?.company_name || "TIA GPC", s = r?.company_logo_base64, u = s?.startsWith("data:") ? s : s ? `data:image/png;base64,${s}` : null;
|
|
6976
|
-
return e.length === 0 && !n ? /* @__PURE__ */ I("div", { className: "gpc-messages-container", children: /* @__PURE__ */
|
|
6983
|
+
return e.length === 0 && !n ? /* @__PURE__ */ I("div", { className: "gpc-messages-container", children: /* @__PURE__ */ V("div", { className: "gpc-empty-state", children: [
|
|
6977
6984
|
u ? /* @__PURE__ */ I("div", { className: "gpc-welcome-logo", children: /* @__PURE__ */ I(
|
|
6978
6985
|
"img",
|
|
6979
6986
|
{
|
|
@@ -6984,7 +6991,7 @@ const Sr = "https://www.tiagpctest.softiabot.com", ks = "0x4AAAAAAB-BKyDZcYYqCbi
|
|
|
6984
6991
|
) }) : /* @__PURE__ */ I(jr, { className: "gpc-empty-icon" }),
|
|
6985
6992
|
/* @__PURE__ */ I("h3", { className: "gpc-empty-title", children: i("chat.welcome", { companyName: c }) }),
|
|
6986
6993
|
/* @__PURE__ */ I("p", { className: "gpc-empty-text", children: i("chat.emptyState") })
|
|
6987
|
-
] }) }) : /* @__PURE__ */
|
|
6994
|
+
] }) }) : /* @__PURE__ */ V("div", { className: "gpc-messages-container gpc-scrollbar gpc-smooth-scroll", children: [
|
|
6988
6995
|
e.map((h, f) => /* @__PURE__ */ I(
|
|
6989
6996
|
Ls,
|
|
6990
6997
|
{
|
|
@@ -7013,7 +7020,7 @@ const Sr = "https://www.tiagpctest.softiabot.com", ks = "0x4AAAAAAB-BKyDZcYYqCbi
|
|
|
7013
7020
|
}, c = (u) => {
|
|
7014
7021
|
u.key === "Enter" && !u.shiftKey && (u.preventDefault(), a(u));
|
|
7015
7022
|
}, s = i.trim().length > 0 && !n && !t;
|
|
7016
|
-
return /* @__PURE__ */
|
|
7023
|
+
return /* @__PURE__ */ V("form", { onSubmit: a, className: "gpc-input-container", children: [
|
|
7017
7024
|
/* @__PURE__ */ I(
|
|
7018
7025
|
"input",
|
|
7019
7026
|
{
|
|
@@ -7041,7 +7048,7 @@ const Sr = "https://www.tiagpctest.softiabot.com", ks = "0x4AAAAAAB-BKyDZcYYqCbi
|
|
|
7041
7048
|
children: n ? /* @__PURE__ */ I("span", { className: "gpc-spinner" }) : /* @__PURE__ */ I(Vr, { className: "gpc-icon" })
|
|
7042
7049
|
}
|
|
7043
7050
|
),
|
|
7044
|
-
/* @__PURE__ */
|
|
7051
|
+
/* @__PURE__ */ V("span", { id: "chat-input-help", className: "gpc-sr-only", children: [
|
|
7045
7052
|
r("chat.placeholder"),
|
|
7046
7053
|
". Máximo ",
|
|
7047
7054
|
Ft.MAX_LENGTH,
|
|
@@ -7061,8 +7068,8 @@ const Sr = "https://www.tiagpctest.softiabot.com", ks = "0x4AAAAAAB-BKyDZcYYqCbi
|
|
|
7061
7068
|
}, s = (u) => {
|
|
7062
7069
|
console.error("Turnstile widget error:", u), a(r("turnstile.error")), t?.(new Error(r("turnstile.error")));
|
|
7063
7070
|
};
|
|
7064
|
-
return /* @__PURE__ */
|
|
7065
|
-
/* @__PURE__ */
|
|
7071
|
+
return /* @__PURE__ */ V("div", { className: "gpc-validator-container", children: [
|
|
7072
|
+
/* @__PURE__ */ V("div", { className: "gpc-validator-header", children: [
|
|
7066
7073
|
/* @__PURE__ */ I("h3", { className: "gpc-validator-title", children: r("chat.validation") }),
|
|
7067
7074
|
/* @__PURE__ */ I("p", { className: "gpc-validator-subtitle", children: r("turnstile.verifying") })
|
|
7068
7075
|
] }),
|
|
@@ -7078,13 +7085,13 @@ const Sr = "https://www.tiagpctest.softiabot.com", ks = "0x4AAAAAAB-BKyDZcYYqCbi
|
|
|
7078
7085
|
}
|
|
7079
7086
|
}
|
|
7080
7087
|
) }),
|
|
7081
|
-
i && /* @__PURE__ */
|
|
7088
|
+
i && /* @__PURE__ */ V("div", { className: "gpc-validator-loading", children: [
|
|
7082
7089
|
/* @__PURE__ */ I(Ns, { size: "md" }),
|
|
7083
7090
|
/* @__PURE__ */ I("p", { className: "gpc-validator-text", children: r("chat.validation") })
|
|
7084
7091
|
] }),
|
|
7085
|
-
o && /* @__PURE__ */
|
|
7092
|
+
o && /* @__PURE__ */ V("div", { className: "gpc-validator-error", children: [
|
|
7086
7093
|
/* @__PURE__ */ I(Hr, { className: "gpc-error-icon" }),
|
|
7087
|
-
/* @__PURE__ */
|
|
7094
|
+
/* @__PURE__ */ V("div", { className: "gpc-error-content", children: [
|
|
7088
7095
|
/* @__PURE__ */ I("p", { className: "gpc-error-title", children: r("errors.validation") }),
|
|
7089
7096
|
/* @__PURE__ */ I("p", { className: "gpc-error-message", children: o }),
|
|
7090
7097
|
/* @__PURE__ */ I(
|
|
@@ -7154,7 +7161,7 @@ const Sr = "https://www.tiagpctest.softiabot.com", ks = "0x4AAAAAAB-BKyDZcYYqCbi
|
|
|
7154
7161
|
)
|
|
7155
7162
|
);
|
|
7156
7163
|
} catch (y) {
|
|
7157
|
-
l((O) => O.filter((
|
|
7164
|
+
l((O) => O.filter((H) => H.id !== b));
|
|
7158
7165
|
let E;
|
|
7159
7166
|
try {
|
|
7160
7167
|
E = JSON.parse(y.message);
|
|
@@ -7257,13 +7264,13 @@ const Sr = "https://www.tiagpctest.softiabot.com", ks = "0x4AAAAAAB-BKyDZcYYqCbi
|
|
|
7257
7264
|
e && e.hasValidCachedSession() && (p(!0), h("CACHED_SESSION"));
|
|
7258
7265
|
}, [e]);
|
|
7259
7266
|
const D = (M) => {
|
|
7260
|
-
h(M), p(!0);
|
|
7267
|
+
h(M), p(!0), e && e.validateSession();
|
|
7261
7268
|
};
|
|
7262
7269
|
return xe(() => () => {
|
|
7263
7270
|
e && e.releaseSession().catch((M) => {
|
|
7264
7271
|
console.error("Failed to release session:", M);
|
|
7265
7272
|
});
|
|
7266
|
-
}, [e]), /* @__PURE__ */
|
|
7273
|
+
}, [e]), /* @__PURE__ */ V(
|
|
7267
7274
|
"div",
|
|
7268
7275
|
{
|
|
7269
7276
|
className: `gpc-chat-window gpc-animate-fade-in ${w === "dark" ? "gpc-dark" : ""}`,
|
|
@@ -7278,7 +7285,7 @@ const Sr = "https://www.tiagpctest.softiabot.com", ks = "0x4AAAAAAB-BKyDZcYYqCbi
|
|
|
7278
7285
|
widgetConfig: t
|
|
7279
7286
|
}
|
|
7280
7287
|
),
|
|
7281
|
-
f ? /* @__PURE__ */
|
|
7288
|
+
f ? /* @__PURE__ */ V(Bt, { children: [
|
|
7282
7289
|
/* @__PURE__ */ I(
|
|
7283
7290
|
zs,
|
|
7284
7291
|
{
|
|
@@ -7331,40 +7338,40 @@ class Cr {
|
|
|
7331
7338
|
try {
|
|
7332
7339
|
const i = localStorage.getItem(t);
|
|
7333
7340
|
if (i) {
|
|
7334
|
-
const { sessionToken: l, timestamp: o } = JSON.parse(i),
|
|
7335
|
-
if (a - o <
|
|
7341
|
+
const { sessionToken: l, timestamp: o, validated: a } = JSON.parse(i), c = Date.now(), s = 1440 * 60 * 1e3;
|
|
7342
|
+
if (a && c - o < s)
|
|
7336
7343
|
return l;
|
|
7337
7344
|
localStorage.removeItem(t);
|
|
7338
7345
|
}
|
|
7339
7346
|
} catch (i) {
|
|
7340
7347
|
console.warn("[TIA GPC] Error leyendo sesión de localStorage:", i);
|
|
7341
7348
|
}
|
|
7342
|
-
|
|
7343
|
-
return this._saveSessionToken(n, r), r;
|
|
7349
|
+
return this._generateSessionToken();
|
|
7344
7350
|
}
|
|
7345
7351
|
hasValidCachedSession() {
|
|
7346
7352
|
const n = this._getStorageKey(this.licenseToken);
|
|
7347
7353
|
try {
|
|
7348
7354
|
const t = localStorage.getItem(n);
|
|
7349
7355
|
if (t) {
|
|
7350
|
-
const { sessionToken: r, timestamp: i } = JSON.parse(t),
|
|
7351
|
-
return l - i <
|
|
7356
|
+
const { sessionToken: r, timestamp: i, validated: l } = JSON.parse(t), o = Date.now(), a = 1440 * 60 * 1e3;
|
|
7357
|
+
return l && o - i < a;
|
|
7352
7358
|
}
|
|
7353
7359
|
} catch (t) {
|
|
7354
7360
|
console.warn("[TIA GPC] Error verificando sesión:", t);
|
|
7355
7361
|
}
|
|
7356
7362
|
return !1;
|
|
7357
7363
|
}
|
|
7358
|
-
_saveSessionToken(n, t) {
|
|
7359
|
-
const
|
|
7364
|
+
_saveSessionToken(n, t, r = !1) {
|
|
7365
|
+
const i = this._getStorageKey(n);
|
|
7360
7366
|
try {
|
|
7361
|
-
const
|
|
7367
|
+
const l = {
|
|
7362
7368
|
sessionToken: t,
|
|
7363
|
-
timestamp: Date.now()
|
|
7369
|
+
timestamp: Date.now(),
|
|
7370
|
+
validated: r
|
|
7364
7371
|
};
|
|
7365
|
-
localStorage.setItem(
|
|
7366
|
-
} catch (
|
|
7367
|
-
console.warn("[TIA GPC] Error guardando sesión en localStorage:",
|
|
7372
|
+
localStorage.setItem(i, JSON.stringify(l));
|
|
7373
|
+
} catch (l) {
|
|
7374
|
+
console.warn("[TIA GPC] Error guardando sesión en localStorage:", l);
|
|
7368
7375
|
}
|
|
7369
7376
|
}
|
|
7370
7377
|
_clearSessionToken(n) {
|
|
@@ -7503,6 +7510,9 @@ class Cr {
|
|
|
7503
7510
|
const n = this._generateSessionToken();
|
|
7504
7511
|
this.sessionToken = n, this._saveSessionToken(this.licenseToken, n);
|
|
7505
7512
|
}
|
|
7513
|
+
validateSession() {
|
|
7514
|
+
this._saveSessionToken(this.licenseToken, this.sessionToken, !0);
|
|
7515
|
+
}
|
|
7506
7516
|
_handleError(n) {
|
|
7507
7517
|
if (n.response) {
|
|
7508
7518
|
const t = n.response.data, i = {
|
|
@@ -7530,21 +7540,21 @@ class Cr {
|
|
|
7530
7540
|
}
|
|
7531
7541
|
}
|
|
7532
7542
|
let Ze = null;
|
|
7533
|
-
const gu = (e, n) => ((!Ze || n && Ze.licenseToken !== n) && (Ze = new Cr(e, n)), Ze), Bs = { title: "TIA GPC", poweredBy: "Desarrollado por TIA GPC" }, Us = { title: "Asistente", placeholder: "Escribe tu pregunta...", send: "Enviar", close: "Cerrar", welcome: "¡Hola! Bienvenido a {{companyName}}. ¿En qué puedo ayudarte hoy?", emptyState: "Inicia una conversación escribiendo tu pregunta", validation: "Verificando seguridad...", retry: "Reintentar" }, js = { light: "Claro", dark: "Oscuro", toggle: "Cambiar tema" }, Vs = { unauthorized: "Autenticación fallida. Por favor, verifica tu token de licencia e intenta nuevamente.", validation: "Verificación anti-bot fallida. Por favor, recarga la página e intenta nuevamente.", network: "No se pudo conectar al servidor. Verifica tu conexión a internet.", rateLimit: "Has realizado demasiadas consultas o se alcanzó el límite de usuarios concurrentes. Por favor, espera un momento antes de continuar.", session: "Tu sesión ha expirado por inactividad. Por favor, recarga la página para continuar.", insufficientCredits: "Créditos insuficientes. Por favor, recarga créditos desde tu panel de administración para continuar usando TIA GPC.", generic: "Ha ocurrido un error inesperado. Por favor, intenta nuevamente.", aiServiceUnavailable: "El asistente está temporalmente no disponible. Por favor, intenta de nuevo en unos momentos.", serverError: "El servidor encontró un problema. Por favor, intenta de nuevo más tarde.", domainUnauthorized: "Este dominio no está autorizado para usar este widget. Por favor, contacta a tu administrador." }, Hs = { verifying: "Verificando que eres humano...", error: "No se pudo completar la verificación de seguridad. Por favor, recarga la página e intenta nuevamente." }, qs = { tokensUsed: "Tokens usados", responseTime: "Tiempo de respuesta", model: "Modelo" }, $s = {
|
|
7543
|
+
const gu = (e, n) => ((!Ze || n && Ze.licenseToken !== n) && (Ze = new Cr(e, n)), Ze), Bs = { title: "TIA GPC", poweredBy: "Desarrollado por TIA GPC", questionsTo: "Preguntas a" }, Us = { title: "Asistente", placeholder: "Escribe tu pregunta...", send: "Enviar", close: "Cerrar", welcome: "¡Hola! Bienvenido a {{companyName}}. ¿En qué puedo ayudarte hoy?", emptyState: "Inicia una conversación escribiendo tu pregunta", validation: "Verificando seguridad...", retry: "Reintentar" }, js = { light: "Claro", dark: "Oscuro", toggle: "Cambiar tema" }, Vs = { unauthorized: "Autenticación fallida. Por favor, verifica tu token de licencia e intenta nuevamente.", validation: "Verificación anti-bot fallida. Por favor, recarga la página e intenta nuevamente.", network: "No se pudo conectar al servidor. Verifica tu conexión a internet.", rateLimit: "Has realizado demasiadas consultas o se alcanzó el límite de usuarios concurrentes. Por favor, espera un momento antes de continuar.", session: "Tu sesión ha expirado por inactividad. Por favor, recarga la página para continuar.", insufficientCredits: "Créditos insuficientes. Por favor, recarga créditos desde tu panel de administración para continuar usando TIA GPC.", generic: "Ha ocurrido un error inesperado. Por favor, intenta nuevamente.", aiServiceUnavailable: "El asistente está temporalmente no disponible. Por favor, intenta de nuevo en unos momentos.", serverError: "El servidor encontró un problema. Por favor, intenta de nuevo más tarde.", domainUnauthorized: "Este dominio no está autorizado para usar este widget. Por favor, contacta a tu administrador." }, Hs = { verifying: "Verificando que eres humano...", error: "No se pudo completar la verificación de seguridad. Por favor, recarga la página e intenta nuevamente." }, qs = { tokensUsed: "Tokens usados", responseTime: "Tiempo de respuesta", model: "Modelo" }, $s = {
|
|
7534
7544
|
widget: Bs,
|
|
7535
7545
|
chat: Us,
|
|
7536
7546
|
theme: js,
|
|
7537
7547
|
errors: Vs,
|
|
7538
7548
|
turnstile: Hs,
|
|
7539
7549
|
metadata: qs
|
|
7540
|
-
}, Gs = { title: "TIA GPC", poweredBy: "Powered by TIA GPC" }, Ws = { title: "Assistant", placeholder: "Type your question...", send: "Send", close: "Close", welcome: "Hello! Welcome to {{companyName}}. How can I help you today?", emptyState: "Start a conversation by typing your question", validation: "Verifying security...", retry: "Retry" }, Ks = { light: "Light", dark: "Dark", toggle: "Toggle theme" }, Ys = { unauthorized: "Authentication failed. Please check your license token and try again.", validation: "Bot verification failed. Please reload the page and try again.", network: "Unable to connect to the server. Please check your internet connection.", rateLimit: "You've made too many requests or the concurrent user limit has been reached. Please wait a moment before continuing.", session: "Your session has expired due to inactivity. Please reload the page to continue.", insufficientCredits: "Insufficient credits. Please reload credits from your admin panel to continue using TIA GPC.", generic: "An unexpected error has occurred. Please try again.", aiServiceUnavailable: "The assistant is temporarily unavailable. Please try again in a few moments.", serverError: "The server encountered a problem. Please try again later.", domainUnauthorized: "This domain is not authorized to use this widget. Please contact your administrator." }, Xs = { verifying: "Verifying you're human...", error: "Security verification could not be completed. Please reload the page and try again." }, Js = { tokensUsed: "Tokens used", responseTime: "Response time", model: "Model" }, Qs = {
|
|
7550
|
+
}, Gs = { title: "TIA GPC", poweredBy: "Powered by TIA GPC", questionsTo: "Questions to" }, Ws = { title: "Assistant", placeholder: "Type your question...", send: "Send", close: "Close", welcome: "Hello! Welcome to {{companyName}}. How can I help you today?", emptyState: "Start a conversation by typing your question", validation: "Verifying security...", retry: "Retry" }, Ks = { light: "Light", dark: "Dark", toggle: "Toggle theme" }, Ys = { unauthorized: "Authentication failed. Please check your license token and try again.", validation: "Bot verification failed. Please reload the page and try again.", network: "Unable to connect to the server. Please check your internet connection.", rateLimit: "You've made too many requests or the concurrent user limit has been reached. Please wait a moment before continuing.", session: "Your session has expired due to inactivity. Please reload the page to continue.", insufficientCredits: "Insufficient credits. Please reload credits from your admin panel to continue using TIA GPC.", generic: "An unexpected error has occurred. Please try again.", aiServiceUnavailable: "The assistant is temporarily unavailable. Please try again in a few moments.", serverError: "The server encountered a problem. Please try again later.", domainUnauthorized: "This domain is not authorized to use this widget. Please contact your administrator." }, Xs = { verifying: "Verifying you're human...", error: "Security verification could not be completed. Please reload the page and try again." }, Js = { tokensUsed: "Tokens used", responseTime: "Response time", model: "Model" }, Qs = {
|
|
7541
7551
|
widget: Gs,
|
|
7542
7552
|
chat: Ws,
|
|
7543
7553
|
theme: Ks,
|
|
7544
7554
|
errors: Ys,
|
|
7545
7555
|
turnstile: Xs,
|
|
7546
7556
|
metadata: Js
|
|
7547
|
-
}, Zs = { title: "TIA GPC", poweredBy: "Propulsé par TIA GPC" }, eu = { title: "Assistant", placeholder: "Tapez votre question...", send: "Envoyer", close: "Fermer", welcome: "Bonjour ! Bienvenue à {{companyName}}. Comment puis-je vous aider aujourd'hui ?", emptyState: "Commencez une conversation en tapant votre question", validation: "Vérification de sécurité...", retry: "Réessayer" }, nu = { light: "Clair", dark: "Sombre", toggle: "Changer de thème" }, tu = { unauthorized: "Échec de l'authentification. Veuillez vérifier votre jeton de licence et réessayer.", validation: "La vérification anti-bot a échoué. Veuillez recharger la page et réessayer.", network: "Impossible de se connecter au serveur. Veuillez vérifier votre connexion internet.", rateLimit: "Vous avez fait trop de demandes ou la limite d'utilisateurs concurrents a été atteinte. Veuillez patienter un moment avant de continuer.", session: "Votre session a expiré en raison d'inactivité. Veuillez recharger la page pour continuer.", insufficientCredits: "Crédits insuffisants. Veuillez recharger des crédits depuis votre panneau d'administration pour continuer à utiliser TIA GPC.", generic: "Une erreur inattendue s'est produite. Veuillez réessayer.", aiServiceUnavailable: "L'assistant est temporairement indisponible. Veuillez réessayer dans quelques instants.", serverError: "Le serveur a rencontré un problème. Veuillez réessayer plus tard.", domainUnauthorized: "Ce domaine n'est pas autorisé à utiliser ce widget. Veuillez contacter votre administrateur." }, ru = { verifying: "Vérification que vous êtes humain...", error: "La vérification de sécurité n'a pas pu être complétée. Veuillez recharger la page et réessayer." }, iu = { tokensUsed: "Tokens utilisés", responseTime: "Temps de réponse", model: "Modèle" }, lu = {
|
|
7557
|
+
}, Zs = { title: "TIA GPC", poweredBy: "Propulsé par TIA GPC", questionsTo: "Questions à" }, eu = { title: "Assistant", placeholder: "Tapez votre question...", send: "Envoyer", close: "Fermer", welcome: "Bonjour ! Bienvenue à {{companyName}}. Comment puis-je vous aider aujourd'hui ?", emptyState: "Commencez une conversation en tapant votre question", validation: "Vérification de sécurité...", retry: "Réessayer" }, nu = { light: "Clair", dark: "Sombre", toggle: "Changer de thème" }, tu = { unauthorized: "Échec de l'authentification. Veuillez vérifier votre jeton de licence et réessayer.", validation: "La vérification anti-bot a échoué. Veuillez recharger la page et réessayer.", network: "Impossible de se connecter au serveur. Veuillez vérifier votre connexion internet.", rateLimit: "Vous avez fait trop de demandes ou la limite d'utilisateurs concurrents a été atteinte. Veuillez patienter un moment avant de continuer.", session: "Votre session a expiré en raison d'inactivité. Veuillez recharger la page pour continuer.", insufficientCredits: "Crédits insuffisants. Veuillez recharger des crédits depuis votre panneau d'administration pour continuer à utiliser TIA GPC.", generic: "Une erreur inattendue s'est produite. Veuillez réessayer.", aiServiceUnavailable: "L'assistant est temporairement indisponible. Veuillez réessayer dans quelques instants.", serverError: "Le serveur a rencontré un problème. Veuillez réessayer plus tard.", domainUnauthorized: "Ce domaine n'est pas autorisé à utiliser ce widget. Veuillez contacter votre administrateur." }, ru = { verifying: "Vérification que vous êtes humain...", error: "La vérification de sécurité n'a pas pu être complétée. Veuillez recharger la page et réessayer." }, iu = { tokensUsed: "Tokens utilisés", responseTime: "Temps de réponse", model: "Modèle" }, lu = {
|
|
7548
7558
|
widget: Zs,
|
|
7549
7559
|
chat: eu,
|
|
7550
7560
|
theme: nu,
|
|
@@ -7586,7 +7596,7 @@ const ou = ({
|
|
|
7586
7596
|
mobileFullscreen: w = we.mobileFullscreen,
|
|
7587
7597
|
...b
|
|
7588
7598
|
}) => {
|
|
7589
|
-
const [A, y] = Q(f), [E, k] = Q(!1), [D, M] = Q(null), [x, O] = Q(!0),
|
|
7599
|
+
const [A, y] = Q(f), [E, k] = Q(!1), [D, M] = Q(null), [x, O] = Q(!0), H = zr(() => new Cr(c, e), [c, e]);
|
|
7590
7600
|
if (xe(() => {
|
|
7591
7601
|
const T = () => {
|
|
7592
7602
|
k(Ts());
|
|
@@ -7601,7 +7611,7 @@ const ou = ({
|
|
|
7601
7611
|
return;
|
|
7602
7612
|
}
|
|
7603
7613
|
try {
|
|
7604
|
-
const v = await
|
|
7614
|
+
const v = await H.getInitConfig();
|
|
7605
7615
|
v.success && (M(v.data), s && s(v.data));
|
|
7606
7616
|
} catch (v) {
|
|
7607
7617
|
console.error("[TIA GPC Widget] Error loading config:", v), u && u(v);
|
|
@@ -7609,7 +7619,7 @@ const ou = ({
|
|
|
7609
7619
|
O(!1);
|
|
7610
7620
|
}
|
|
7611
7621
|
})();
|
|
7612
|
-
}, [e,
|
|
7622
|
+
}, [e, H, s, u]), !e)
|
|
7613
7623
|
return console.error('[TIA GPC Widget] Error: "token" prop is required'), null;
|
|
7614
7624
|
const B = () => {
|
|
7615
7625
|
y(!1), h?.();
|
|
@@ -7617,17 +7627,17 @@ const ou = ({
|
|
|
7617
7627
|
const T = {};
|
|
7618
7628
|
return l && (T["--gpc-color-primary"] = l), (!E || !w) && (o && (T["--gpc-widget-width"] = o), a && (T["--gpc-widget-height"] = a)), T;
|
|
7619
7629
|
};
|
|
7620
|
-
return /* @__PURE__ */ I(Rr, { i18n: nn, children: /* @__PURE__ */
|
|
7630
|
+
return /* @__PURE__ */ I(Rr, { i18n: nn, children: /* @__PURE__ */ V(
|
|
7621
7631
|
"div",
|
|
7622
7632
|
{
|
|
7623
7633
|
className: `gpc-widget gpc-widget-container ${j()} ${t === "dark" ? "gpc-dark" : ""}`,
|
|
7624
7634
|
style: N(),
|
|
7625
7635
|
children: [
|
|
7626
|
-
!A && /* @__PURE__ */ I(Kr, { onClick: () => y(!0) }),
|
|
7636
|
+
!A && /* @__PURE__ */ I(Kr, { onClick: () => y(!0), widgetConfig: D }),
|
|
7627
7637
|
A && !x && /* @__PURE__ */ I(
|
|
7628
7638
|
Fs,
|
|
7629
7639
|
{
|
|
7630
|
-
gpcService:
|
|
7640
|
+
gpcService: H,
|
|
7631
7641
|
licenseToken: e,
|
|
7632
7642
|
widgetConfig: D,
|
|
7633
7643
|
turnstileSiteKey: n,
|