@seamly/web-ui 24.3.1 → 24.4.1

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.
@@ -1 +1 @@
1
- @keyframes cvco-loader{0%,75%,to{border-radius:50%;transform:scaleY(.45)}37.5%{border-radius:2.5px;transform:scaleY(1)}}@keyframes cvco-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes cvco-blink{0%,to{opacity:0}50%{opacity:1}}.cvco-app .cvco-chat{box-sizing:border-box}.cvco-app .cvco-chat *,.cvco-app .cvco-chat :after,.cvco-app .cvco-chat :before{box-sizing:border-box}.cvco-app .cvco-chat{color:#3d4166;display:flex;flex-direction:column;font-family:arial,helvetica,sans-serif;font-size:12px;outline:0;transform-origin:100% 100%;transition:margin .3s ease,height .3s ease,transform .3s ease,opacity .3s ease}.cvco-app .cvco-chat--layout-inline{background-color:transparent;background-color:initial;box-shadow:none;height:-moz-fit-content;height:fit-content}@media(min-width:641px){.cvco-app .cvco-chat--layout-inline{flex-direction:row}}.cvco-app .cvco-chat--layout-inline.cvco-chat--collapsed .cvco-chat-wrapper{height:auto}.cvco-app .cvco-chat--layout-window{max-height:calc(85vh - 40px);max-width:calc(100vw - 40px)}@media(min-width:641px){.cvco-app .cvco-chat--layout-window{max-height:calc(100vh - 40px)}@supports(-webkit-overflow-scrolling:touch){.cvco-app .cvco-chat--layout-window{max-height:calc(90vh - 40px)}}}@media(min-width:1025px){.cvco-app .cvco-chat--layout-window{bottom:20px;max-height:calc(100vh - 40px);right:20px}@supports(-webkit-overflow-scrolling:touch){.cvco-app .cvco-chat--layout-window{max-height:calc(90vh - 40px)}}}.cvco-app .cvco-chat--layout-window{bottom:20px;display:none;height:720px;max-width:calc(100% - 40px);opacity:0;position:fixed;right:20px;transform:scale(0);width:360px;z-index:1}.cvco-app .cvco-chat--layout-window.cvco-transition--visible{display:flex}.cvco-app .cvco-chat--layout-window.cvco-transition--in{opacity:1;transform:scale(1)}.cvco-app .cvco-chat--layout-app{bottom:0;height:100%;left:0;max-height:100%;max-width:100%;position:fixed;right:0;top:0;width:100%;z-index:1}.cvco-app .cvco-chat-wrapper{backface-visibility:hidden;background-color:#fff;border:1px solid #a3b4bf;border-radius:10px;box-shadow:0 0 20px 0 rgba(0,0,0,.1);display:flex;flex-direction:column;height:100%;overflow:hidden;position:relative;transform:translateZ(0);transition:flex .3s ease,width .3s ease,height .3s ease,border-radius .3s ease;width:100%;z-index:1}.cvco-app .cvco-chat--layout-inline .cvco-chat-wrapper{height:0;width:100%}@media(min-width:641px)and (max-width:1023px){.cvco-app .cvco-chat--layout-inline .cvco-chat-wrapper{flex:0 0 100%}.cvco-app .cvco-chat--layout-inline .cvco-chat-wrapper:not(:only-child){flex:0 0 50%;width:50%}}@media(min-width:1025px){.cvco-app .cvco-chat--layout-inline .cvco-chat-wrapper{flex:0 0 67%;width:67%}}.cvco-app .cvco-chat--layout-inline.cvco-transition--in .cvco-chat-wrapper{height:720px;max-height:90vh}.cvco-app .cvco-chat__container{display:flex;flex-grow:1;justify-content:center;position:relative}.cvco-app .cvco-chat__container__scroll-area{display:flex;flex-direction:column;height:100%;justify-content:space-between;overflow-y:auto;overscroll-behavior:contain;position:relative;width:100%;will-change:scroll-position}.cvco-app .cvco-chat__container__header{display:flex;position:sticky;top:0;z-index:1}.cvco-app .cvco-chat__body{display:flex;flex-grow:1;padding:0;position:relative}.cvco-app .cvco-chat__entry{border-top:1px solid #dee3e5;flex:0 0 auto;padding:10px;position:relative}.cvco-app .cvco-chat__entry .cvco-entry__body--hidden{display:none}.cvco-app .cvco-chat--layout-inline.cvco-chat--collapsed .cvco-chat__entry{border:0}.cvco-app .cvco-entry__body{align-items:flex-end;display:flex;gap:5px}.cvco-app p{margin:0}.cvco-app img{max-width:100%}.cvco-app .cvco-label{color:#4a48c1;display:block;font-size:14px;font-weight:700}.cvco-app .cvco-conversation__item--abort-transaction{padding-top:10px}.cvco-app .cvco-conversation__item--abort-transaction .cvco-abort-transaction__button{background-color:#fff;border:1px solid;border-radius:10px;padding:5px 10px}.cvco-app .cvco-avatar{border-radius:5px;display:block;flex-shrink:0;height:32px;overflow:hidden;position:relative;width:32px}.cvco-app .cvco-avatar>.cvco-icon{display:block}.cvco-app .cvco-avatar__graphic{display:block}.cvco-app .cvco-conversation__message+.cvco-avatar{align-self:flex-end;margin-left:10px}.cvco-app a:focus,.cvco-app button:focus,.cvco-app input:focus{outline:none}.cvco-app a:focus-visible,.cvco-app button:focus-visible,.cvco-app input:focus-visible{outline:1px dotted #212121;outline:1px auto -webkit-focus-ring-color}.cvco-app .cvco-button{align-items:center;background:none;border:0;cursor:pointer;display:inline-flex;font-size:14px;gap:10px;margin:0;padding:0;text-align:left}.cvco-app .cvco-button span{color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit}.cvco-app .cvco-button--primary{background-color:#4a48c1;border-radius:5px;color:#fff;font-weight:700;min-height:40px;padding:10px 15px}.cvco-app .cvco-button--secondary{color:#4a48c1;font-weight:700;padding:10px 15px}.cvco-app .cvco-button--tertiary{background-color:transparent;background-color:initial;border-radius:5px;color:#fff;font-size:12px;font-weight:700;padding:2px 5px}.cvco-app .cvco-button[aria-disabled=true]{color:#5e727b;cursor:auto}.cvco-app .cvco-button__state{background-color:#eff3f6;border-radius:5px;color:inherit;display:inline-block;margin:0;padding:2px 10px}.cvco-app .cvco-choice-prompt{display:flex;flex-direction:column;gap:5px;padding:0}.cvco-app .cvco-choice-prompt__item{display:block;width:100%}.cvco-app .cvco-choice-prompt__item .cvco-button{display:inline-block;white-space:normal}.cvco-app .cvco-choice-prompt__item--secondary .cvco-button{background-color:transparent;background-color:initial;color:#4a48c1;padding:5px 0}.cvco-app .cvco-button--choose-again{align-items:center;display:flex;gap:10px;line-height:1;margin:5px 0;padding:0;transition:margin .3s ease,color .3s ease}.cvco-app .cvco-button--choose-again[aria-expanded=true]{margin:20px 0 10px}.cvco-app .cvco-button--choose-again .cvco-icon{align-items:center;display:flex;flex:0 0 8px;height:8px;justify-content:center;margin:0;padding:0;transform-origin:50% 50%;transition:transform .3s ease;width:8px}.cvco-app .cvco-button--choose-again .cvco-icon path{fill:currentcolor}.cvco-app .cvco-button--choose-again[aria-expanded=true] .cvco-icon{transform:rotate(180deg)}.cvco-app .cvco-conversation__container{bottom:0;flex:1 1 100%;height:100%;left:0;max-height:100%;position:absolute;right:0;top:0}.cvco-app .cvco-conversation,.cvco-app .cvco-conversation__container{display:flex;flex-direction:column;gap:10px;justify-content:space-between}.cvco-app .cvco-conversation{list-style:none;margin:auto 0 0;padding:20px 20px 0;width:100%}.cvco-app .cvco-conversation:after{content:"";display:block;flex:0 0 20px;height:20px;width:100%}.cvco-app .cvco-chat--layout-inline .cvco-conversation{position:relative}.cvco-app .cvco-conversation__item{display:block;width:100%}.cvco-app .cvco-conversation__item--new-participant{margin-top:10px}.cvco-app .cvco-conversation__item--new-participant:first-child{margin-top:0}.cvco-app .cvco-divider{background:linear-gradient(180deg,#fff,#eff3f6);background-repeat:no-repeat;background-size:100% 40px;display:flex;justify-content:center;line-height:1.5;margin:20px -20px 0;overflow:hidden;padding:65px 30px 0;position:relative}.cvco-app .cvco-divider:before{background:radial-gradient(110px at 50% 300%,rgba(74,72,193,.5) 0,hsla(0,0%,100%,0) 99.99%,rgba(74,72,193,0) 100%);background-repeat:no-repeat;content:"";height:40px;left:50%;position:absolute;top:0;transform:translateX(-50%);width:100%}.cvco-app .cvco-conversation__item:first-child .cvco-divider{margin-top:0}.cvco-app .cvco-divider--type-time-indicator{padding-bottom:20px;padding-top:60px}.cvco-app .cvco-divider--type-time-indicator:before{display:none}.cvco-app .cvco-divider__graphic{background-color:#fff;border-radius:5px;height:32px;left:50%;position:absolute;top:40px;transform:translate(-50%,-60%);width:32px}.cvco-app .cvco-divider__graphic .cvco-avatar,.cvco-app .cvco-divider__graphic .cvco-icon,.cvco-app .cvco-divider__graphic .cvco-icon svg{height:100%;width:100%}.cvco-app .cvco-divider__body{align-items:center;display:flex;flex-direction:column;gap:5px;justify-content:center;max-width:300px;text-align:center}.cvco-app .cvco-divider__body .cvco-divider__title{font-size:12px;font-weight:700;line-height:1.25;margin:0}.cvco-app .cvco-divider__body .cvco-divider__description{font-size:12px;line-height:1.5}.cvco-app .cvco-divider__body .cvco-button{font-size:inherit;padding:0;width:-moz-fit-content;width:fit-content}.cvco-app .cvco-divider__time{align-items:center;display:flex;flex-direction:column;font-weight:400;gap:2.5px;justify-content:center;margin:0}.cvco-app .cvco-divider__time .cvco-divider__time--date,.cvco-app .cvco-divider__time .cvco-divider__time--time{display:block;line-height:1.25}.cvco-app .cvco-divider__time .cvco-divider__time--date{font-size:12px;font-weight:700}.cvco-app .cvco-divider__time .cvco-divider__time--time{font-size:16px}.cvco-app .cvco-loader{align-items:center;animation:cvco-fadeIn .3s linear;display:flex;flex-direction:row;gap:5px;height:20px;justify-content:flex-start;padding:2.5px 5px}.cvco-app .cvco-loader__part{animation-delay:.12s;animation-direction:normal;animation-duration:.6s;animation-fill-mode:forwards;animation-iteration-count:infinite;animation-name:cvco-loader;animation-timing-function:ease;background-color:currentcolor;border-radius:50%;display:inline-block;height:100%;transform:scaleY(.45);width:6.666px}.cvco-app .cvco-loader__part.cvco-one{animation-delay:.12s}.cvco-app .cvco-loader__part.cvco-two{animation-delay:.24s}.cvco-app .cvco-loader__part.cvco-three{animation-delay:.36s}.cvco-app .cvco-loader__part.cvco-four{animation-delay:.48s}.cvco-app .cvco-message{display:flex;flex-flow:row wrap;gap:5px;width:80%}.cvco-app .cvco-message.cvco-message--type-suggestions,.cvco-app .cvco-unstarted-wrapper--window .cvco-message{width:100%}.cvco-app .cvco-message+.cvco-message{margin-top:10px}.cvco-app .cvco-message--source-info.cvco-message{margin:0 auto;max-width:90%;width:90%}.cvco-app .cvco-message--source-info.cvco-message:after{border-top:2px solid #4a48c1;content:"";display:block;height:0;margin:0 auto;width:20px}.cvco-app .cvco-message--source-user{justify-content:flex-end;margin-left:auto}.cvco-app .cvco-message__author{align-items:center;display:none;flex-direction:row;font-weight:700;gap:5px;justify-content:flex-start;padding:0;width:100%}.cvco-app .cvco-message--source-user .cvco-message__author{justify-content:flex-end}.cvco-app .cvco-message__avatar{height:16px;width:16px}.cvco-app .cvco-message__avatar .cvco-avatar{display:block;height:100%;-o-object-fit:contain;object-fit:contain;width:100%}.cvco-app .cvco-conversation__item--new-participant .cvco-message__author{display:flex}.cvco-app .cvco-message--source-user .cvco-message__avatar{order:2}.cvco-app .cvco-message--source-user .cvco-message__author-name{order:1}.cvco-app .cvco-message__info{color:#6a7f8c;font-size:12px;line-height:1.35;margin-top:4px;width:100%}.cvco-app .cvco-message--source-user .cvco-message__info{text-align:right}.cvco-app .cvco-message__translation-info{width:100%}.cvco-app.cvco-app--collapsed .cvco-message__translation-info{display:none}.cvco-app .cvco-message__translation-label{font-size:12px;margin-right:5px}.cvco-app .cvco-button.cvco-message__translation-toggle{font-size:inherit;padding:0}.cvco-app .cvco-message--source-user .cvco-message__translation-info{text-align:right}.cvco-app .cvco-card__wrapper{display:flex;flex-direction:column;height:100%}.cvco-app .cvco-card__image{border-top-left-radius:10px;border-top-right-radius:10px;flex:0 0 auto;height:160px;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;overflow:hidden;width:100%}.cvco-app .cvco-card__content{display:flex;flex:1 1 auto;flex-direction:column;gap:10px;padding:10px 15px 15px}.cvco-app .cvco-card__title{font-size:16px;font-weight:700;margin:0;padding:0}.cvco-app .cvco-card__description,.cvco-app .cvco-card__title{display:block;height:-moz-fit-content;height:fit-content;width:100%}.cvco-app .cvco-card__content .cvco-button{display:block;font-weight:700;margin-top:auto;-webkit-text-decoration:none;text-decoration:none;width:100%}.cvco-app .cvco-carousel{position:relative}.cvco-app .cvco-carousel__slides-wrapper{display:block;overflow:hidden;width:100%}.cvco-app .cvco-carousel__slides{display:flex;flex-direction:row;list-style:none;padding:0;position:relative;transition:left .3s ease}.cvco-app .cvco-carousel__slide{display:block;list-style:none;padding:0;width:100%}.cvco-app .cvco-carousel-item{display:flex;flex-direction:column;height:100%;width:100%}.cvco-app .cvco-carousel-item .cvco-button{display:block;width:100%}.cvco-app .cvco-carousel-controls{align-items:center;border-top:1px solid #dee3e5;display:flex;gap:10px;height:-moz-fit-content;height:fit-content;justify-content:space-between;padding:0;position:relative;width:100%}.cvco-app .cvco-carousel-controls .cvco-button{align-items:center;background-color:transparent;background-color:initial;color:transparent;display:flex;flex:0 0 40px;font-size:0;height:40px;justify-content:center;width:40px}.cvco-app .cvco-carousel-controls .cvco-button--previous{left:0}.cvco-app .cvco-carousel-controls .cvco-button--next{right:0}.cvco-app .cvco-carousel__controls .cvco-button .cvco-icon{border:0;display:block;height:16px;padding:0;width:16px}.cvco-app .cvco-carousel__controls .cvco-button .cvco-icon svg path{fill:#4a48c1}.cvco-app .cvco-carousel__pagination{align-items:center;display:flex;justify-content:center;position:relative}.cvco-app .cvco-carousel-pagination__wrapper{display:flex;flex-direction:row;justify-content:center;position:relative}.cvco-app .cvco-carousel-pagination{display:flex;flex-flow:row wrap;justify-content:center;margin:0 auto;padding:0;position:relative;width:100%}.cvco-app .cvco-carousel-pagination__item{display:block;list-style:none}.cvco-app .cvco-carousel-pagination__button{background-color:transparent;background-color:initial;border:0;border-radius:0;display:block;height:24px;padding:0;position:relative;width:24px}.cvco-app .cvco-carousel-pagination__button:before{background-color:#a3b4bf;border-radius:50%;content:"";display:block;height:9.6px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transform-origin:50% 50%;width:9.6px}.cvco-app .cvco-is-active .cvco-carousel-pagination__button:before{background-color:#003a5d}.cvco-app .cvco-cta__content{color:#fff;font-size:14px;line-height:1.5}.cvco-app .cvco-cta__content p{color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit}.cvco-app .cvco-message--type-cta .cvco-button{line-height:2;-webkit-text-decoration:none;text-decoration:none}.cvco-app .cvco-icon{align-items:center;display:flex;height:32px;justify-content:center;line-height:1;width:32px}.cvco-app .cvco-icon svg{height:100%;width:100%}.cvco-app .cvco-form,.cvco-app .cvco-input{display:flex;flex:1 1 100%;height:100%;width:100%}.cvco-app .cvco-entry-form{align-items:flex-end;display:flex;gap:5px}.cvco-app .cvco-input--text__container{display:flex;flex:1 1 100%;height:100%;position:relative}.cvco-app .cvco-entry-form .cvco-form-control__wrapper{display:flex;flex-direction:column;gap:5px;width:100%}.cvco-app .cvco-input__text{-webkit-appearance:none;appearance:none;border:1px solid #dee3e5;border-radius:5px;color:#3d4166;flex-grow:4;font-size:16px;height:40px;overflow:hidden;padding:10px;resize:none;text-overflow:ellipsis;transition:padding .3s ease;white-space:nowrap}.cvco-app .cvco-input__text::input-placeholder{color:#a3b4bf;line-height:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cvco-app .cvco-input__text::placeholder{color:#a3b4bf;line-height:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cvco-app .cvco-input__text:input-placeholder{color:#a3b4bf;line-height:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cvco-app .cvco-input__text:placeholder{color:#a3b4bf;line-height:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cvco-app .cvco-input--text__container .cvco-input__text{margin-right:0;width:100%}.cvco-app .cvco-character-exceeded .cvco-input__text,.cvco-app .cvco-character-warning .cvco-input__text{padding-right:40px}.cvco-app .cvco-character-exceeded .cvco-input__text{border:1px solid #db1639}.cvco-app .cvco-input__submit{align-items:center;border-radius:5px;display:flex;flex:0 0 40px;height:40px;justify-content:center;padding:0;width:40px}.cvco-app .cvco-input__submit .cvco-icon path{transition:fill .3s ease;fill:#4a48c1}.cvco-app .cvco-input__submit[aria-disabled=true]{cursor:auto}.cvco-app .cvco-input__submit[aria-disabled=true] .cvco-icon path{fill:#a3b4bf}.cvco-app .cvco-interrupt{background:#fff;bottom:0;display:flex;left:0;position:absolute;right:0;top:0}.cvco-app.cvco-app--layout-inline.cvco-app--collapsed .cvco-interrupt{border-radius:10px;position:static;width:100%}@media(min-width:1025px){.cvco-app.cvco-app--layout-inline.cvco-app--collapsed .cvco-interrupt{width:67%}}.cvco-app .cvco-interrupt__body{align-items:left;display:flex;flex:1 1 auto;flex-direction:column;gap:10px;justify-content:center;padding:40px;text-align:left}.cvco-app .cvco-chat .cvco-interrupt__body{margin:10px}.cvco-app .cvco-interrupt__title{font-size:16px;font-weight:700;margin:0}.cvco-app .cvco-interrupt__message{font-size:16px}.cvco-app .cvco-interrupt__actions{margin-top:auto}.cvco-app .cvco-skip-link{background:#4a48c1;border:1px solid #fff;border-radius:5px;color:#fff;font-size:12px;left:50%;opacity:0;padding:10px 15px;position:absolute;top:20px;transform:translate(-50%,-5px) scale(0);transform-origin:50% 0;transition:transform .3s ease,opacity .3s ease;z-index:100}.cvco-app .cvco-skip-link:focus-visible{opacity:1;outline:none;transform:translate(-50%) scale(1)}.cvco-app .cvco-disclaimer{background-color:#eff3f6;display:flex;flex:0 0 auto;flex-direction:column;gap:5px;height:auto;padding:20px;width:100%}.cvco-app .cvco-chat--layout-window .cvco-disclaimer{padding-right:80px}.cvco-app .cvco-chat--layout-window .cvco-chat__container__header:has(.cvco-chat-status)~.cvco-chat__body .cvco-disclaimer{padding-right:20px}.cvco-app .cvco-disclaimer__title{font-size:12px;font-weight:700;line-height:1;margin:0}.cvco-app .cvco-disclaimer__message{font-size:12px;line-height:1.25}.cvco-app .cvco-idle{align-items:center;display:flex;flex-direction:column;gap:10px;justify-content:space-between;max-height:none;padding:10px}.cvco-app .cvco-idle__title{font-size:16px;font-weight:700;margin:0;text-align:center}.cvco-app .cvco-idle__count-container{display:block;font-size:12px;height:2.75em;width:100%}.cvco-app .cvco-idle__count-text,.cvco-app .cvco-idle__count-timer{display:block;font-size:inherit;text-align:center;white-space:nowrap;width:100%}.cvco-app .cvco-idle__options{display:flex;flex-wrap:wrap;gap:5px;justify-content:center;list-style-type:none;margin:0;padding:0;width:100%}.cvco-app .cvco-idle__options .cvco-button{text-align:center;white-space:normal}.cvco-app .cvco-prompt{align-items:center;display:flex;flex-direction:column;gap:10px;justify-content:space-between;max-height:none;padding:10px}.cvco-app .cvco-prompt__title{font-size:16px;font-weight:700;margin:0;text-align:center}.cvco-app .cvco-prompt__options{display:flex;flex-wrap:wrap;gap:5px;justify-content:center;list-style-type:none;margin:0;padding:0;width:100%}.cvco-app .cvco-prompt__options .cvco-button{text-align:center;white-space:normal}.cvco-app .cvco-chat__options{align-items:center;border-top:1px solid #dee3e5;display:flex;flex:0;gap:10px;justify-content:flex-end;padding:5px;position:relative;width:100%}.cvco-app .cvco-chat__options-item--left{margin-right:auto}.cvco-app .cvco-chat__options__button{align-items:center;border-radius:5px;display:flex;gap:5px;justify-content:flex-end;padding:5px 10px}.cvco-app .cvco-chat__options__button .cvco-icon{flex:0 0 16px;height:16px;width:16px}.cvco-app .cvco-chat__options__button .cvco-icon svg{height:100%;width:100%}.cvco-app .cvco-chat__options__button .cvco-icon path{fill:currentcolor}.cvco-app .cvco-options__menu{background-color:#fff;border:1px solid #dee3e5;border-radius:5px;bottom:calc(100% + 10px);box-shadow:0 0 20px 0 rgba(0,0,0,.1);display:none;flex-direction:column;gap:5px;list-style:none;margin:0;max-height:400px;max-width:300px;opacity:0;padding:10px;position:absolute;right:10px;transform:scaleY(0) translateY(100px);transform-origin:100% 100%;transition:transform .2s ease-in-out,opacity .2s ease}.cvco-app .cvco-options__menu.cvco-transition--visible{display:flex}.cvco-app .cvco-options__menu.cvco-transition--in{opacity:1;transform:scaleY(1) translateY(0)}.cvco-app .cvco-options__menu__item{opacity:0;transition:opacity .1s ease .1s}.cvco-app .cvco-options__menu__item:last-child{margin-bottom:0}.cvco-app .cvco-options__menu.cvco-transition--in .cvco-options__menu__item{opacity:1}.cvco-app .cvco-options__menu .cvco-button{align-items:center;border-radius:5px;display:flex;min-width:200px;width:100%}.cvco-app .cvco-options{background-color:#fff;border:1px solid #dee3e5;border-radius:5px;bottom:calc(100% + 10px);box-shadow:0 0 20px 0 rgba(0,0,0,.1);display:none;flex-direction:column;list-style:none;margin:0;max-width:300px;opacity:0;padding:0;position:absolute;right:10px;transition:transform .2s ease-in-out,opacity .2s ease;width:calc(100% - 20px);z-index:10}.cvco-app .cvco-options--left{left:10px;right:auto}.cvco-app .cvco-options--right{right:10px}.cvco-app .cvco-options--top{bottom:calc(100% + 10px);top:auto;transform:scaleY(0) translateY(100px);transform-origin:100% 100%}.cvco-app .cvco-options--bottom{bottom:auto;top:calc(100% + 10px);transform:scaleY(0) translateY(-100px);transform-origin:0 0}.cvco-app .cvco-options__dialog.cvco-transition--visible .cvco-options{display:flex}.cvco-app .cvco-options__dialog.cvco-transition--in .cvco-options{opacity:1;transform:scaleY(1) translateY(0)}.cvco-app .cvco-options__body{display:flex;flex-direction:column;gap:10px;max-height:320px;opacity:0;transition:opacity .1s ease .1s}.cvco-app .cvco-options__dialog.cvco-transition--in .cvco-options__body{opacity:1}.cvco-app .cvco-options__title{align-items:center;color:#223182;display:flex;flex:0 0 auto;font-size:16px;font-weight:700;margin:0;padding:20px 0 0 20px;width:calc(100% - 50px)}.cvco-app .cvco-options__close{align-items:center;color:#4a48c1;display:flex;font-size:0;gap:0;height:40px;justify-content:center;position:absolute;right:10px;top:10px;width:40px}.cvco-app .cvco-options__close .cvco-icon{flex:0 0 16px;height:16px;width:16px}.cvco-app .cvco-options__close .cvco-icon path{fill:currentcolor}.cvco-app .cvco-options__form{display:flex;flex:1 1 auto;flex-direction:column;gap:10px}.cvco-app .cvco-options__wrapper{align-items:flex-start;display:flex;flex:1 1 auto;flex-wrap:wrap;gap:10px;overflow:auto;padding:0 20px;width:100%}.cvco-app .cvco-options__wrapper:last-child:after{content:"";display:block;flex:0 0 10px;height:10px;width:100%}.cvco-app .cvco-options__wrapper h3{color:#223182;font-size:14px;font-weight:700;margin:0}.cvco-app .cvco-options__description{display:block;font-size:14px;padding:0 20px;width:100%}.cvco-app .cvco-transcript__input{border:1px solid #dee3e5;border-radius:5px;font-size:16px;min-height:40px;padding:10px;transition:padding .3s ease;width:100%}.cvco-app .cvco-transcript__input:focus-visible{border:1px solid #dee3e5}.cvco-app .cvco-transcript__input::input-placeholder{color:#a3b4bf;line-height:20px;overflow:visible}.cvco-app .cvco-transcript__input::placeholder{color:#a3b4bf;line-height:20px;overflow:visible}.cvco-app .cvco-transcript__input:input-placeholder{color:#a3b4bf;line-height:20px;overflow:visible}.cvco-app .cvco-transcript__input:placeholder{color:#a3b4bf;line-height:20px;overflow:visible}.cvco-app .cvco-options__actions{display:flex;flex:0 0 auto;justify-content:flex-end;padding:0;width:100%}.cvco-app .cvco-options__actions .cvco-button{width:100%}.cvco-app .cvco-chat-status{align-items:flex-start;background-color:#fff;border-radius:10px;box-shadow:0 5px 30px rgba(53,75,90,.15),0 3px 10px rgba(53,75,90,.2);display:flex;gap:10px;margin:20px;min-height:40px;padding:10px;width:100%}.cvco-app .cvco-chat-status--condensed{align-items:center;padding:5px 10px 5px 5px}.cvco-app .cvco-chat--layout-window .cvco-chat-status{margin-right:80px}.cvco-app .cvco-chat-status__body{align-items:center;display:flex;flex:1 1 auto;flex-wrap:wrap;gap:10px;justify-content:flex-start}.cvco-app .cvco-chat-status__title{color:#3d4166;display:flex;font-size:14px;font-weight:700;line-height:1.25;margin:0}.cvco-app .cvco-chat-status .cvco-icon{flex:0 0 16px;height:16px;width:16px}.cvco-app .cvco-chat-status__button{align-items:center;color:#fff;display:flex;justify-content:flex-end;min-height:32px;padding:5px 10px}.cvco-app .cvco-chat-status__button .cvco-icon svg{height:100%;width:100%}.cvco-app .cvco-chat-status__button .cvco-icon svg path{fill:#fff}.cvco-app .cvco-chat-status__close{color:#4a48c1;display:inline-flex;flex:0 0 auto;justify-content:center;min-height:22px;min-width:22px}.cvco-app .cvco-chat-status__close:has(.cvco-icon){flex:0 0 22px;padding:0;width:22px}.cvco-app .cvco-chat-status__close .cvco-icon{align-self:center}.cvco-app .cvco-upload-toggle-wrapper{height:100%;overflow:visible;transition:width .3s ease;width:0}.cvco-app .cvco-upload-toggle-wrapper.cvco-transition--in{width:40px}.cvco-app .cvco-upload-toggle{align-items:center;border-radius:5px;color:transparent;display:flex;flex:0 0 40px;flex-direction:column;font-size:0;height:40px;justify-content:center;line-height:1;opacity:0;padding:0;text-align:center;transform:translateX(-100%);transition:transform .3s ease,opacity .3s ease;width:40px}.cvco-app .cvco-upload-toggle-wrapper.cvco-transition--in .cvco-upload-toggle{opacity:1;transform:translateX(0)}.cvco-app .cvco-upload-toggle .cvco-icon{flex:0 0 24px;height:24px;width:24px}.cvco-app .cvco-upload-toggle .cvco-icon svg{height:100%;width:100%}.cvco-app .cvco-upload{padding:10px;width:100%}.cvco-app .cvco-upload-form,.cvco-app .cvco-upload__container{display:flex;flex-direction:column;gap:10px}.cvco-app .cvco-upload__container{width:100%}.cvco-app .cvco-upload__visible-label--text{display:block;font-size:16px;font-weight:700;width:100%}.cvco-app .cvco-upload__content-hint{display:block;font-size:12px;width:100%}.cvco-app .cvco-file-upload{border:1px solid #4a48c1;border-radius:5px;max-width:100%;width:100%}.cvco-app .cvco-file-upload.cvco-focus-within:has(.cvco-upload__input:focus-visible){outline:1px dotted #212121;outline:1px auto -webkit-focus-ring-color}.cvco-app .cvco-upload__input{height:1px;overflow:hidden;position:absolute;width:1px;clip:rect(1px,1px,1px,1px)}.cvco-app .cvco-upload__label{align-items:center;color:#4a48c1;display:flex;gap:10px;justify-content:flex-start;padding:10px;text-align:left;width:100%}.cvco-app .cvco-upload__label .cvco-icon{flex:0 0 32px;height:32px;width:32px}.cvco-app .cvco-upload__label .cvco-icon path{fill:currentcolor}.cvco-app .cvco-upload__label--text{color:inherit;display:block;flex:1 1 100%;font-size:14px;font-weight:700;max-width:100%}.cvco-app .cvco-upload__output{color:#003a5d;display:block;flex:1 1 100%;font-size:12px;max-width:100%;word-break:break-all}.cvco-app .cvco-upload .cvco-button--primary{text-align:center}.cvco-app .cvco-upload__button-container{display:flex;flex:0 0 100%;gap:5px;justify-content:flex-end}.cvco-app .cvco-upload__cancel{padding:10px}.cvco-app .cvco-progress_container{display:flex;flex-direction:column;gap:10px}.cvco-app .cvco-progress__text{align-items:flex-end;display:flex;gap:10px;justify-content:space-between}.cvco-app .cvco-progress__text--file-name{font-size:14px;font-weight:700;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cvco-app .cvco-progress__text--percentage{color:#6a7f8c;flex:0 0 auto;font-size:14px;line-height:1}.cvco-app .cvco-progress__bar{-webkit-appearance:none;appearance:none;background:#eff3f6;border-radius:5px;width:100%}.cvco-app .cvco-progress__bar::-webkit-progress-bar{background:#eff3f6;border-radius:5px}.cvco-app .cvco-progress__bar::-webkit-progress-value{background-color:#4a48c1;border-radius:5px}.cvco-app .cvco-progress__bar::-moz-progress-bar{background-color:#4a48c1}.cvco-app .cvco-error{display:block;margin:0;width:100%}.cvco-app .cvco-error:empty{display:none;margin:0}.cvco-app .cvco-error .cvco-icon{flex:0 0 16px;height:16px;width:16px}.cvco-app .cvco-error .cvco-error__message{align-items:flex-start;background-color:rgba(219,22,57,.1);color:#ad001f;display:flex;flex-direction:row;gap:5px}.cvco-app .cvco-error .cvco-error__message,.cvco-app .cvco-notification{border-radius:5px;font-size:12px;font-weight:700;padding:5px 10px;width:100%}.cvco-app .cvco-notification{background-color:rgba(74,72,193,.1);color:#223182;display:block;margin:0 0 10px}.cvco-app .cvco-notification:last-child{margin:0}.cvco-app .cvco-character-count{align-items:center;bottom:0;display:flex;font-size:12px;font-weight:700;height:40px;justify-content:right;line-height:1;opacity:0;padding:0 10px;pointer-events:none;position:absolute;right:0;text-align:right;transform:translateX(100%);transition:transform .3s ease,opacity .2s ease .2s}.cvco-app .cvco-character-count span{color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;text-align:right}.cvco-app .cvco-character-exceeded .cvco-character-count,.cvco-app .cvco-character-warning .cvco-character-count{opacity:1;transform:translateX(0)}.cvco-app .cvco-character-exceeded .cvco-character-count span{color:#db1639}.cvco-app .cvco-collapse-button{align-items:center;background-color:#fff;border:0;border-radius:50%;box-shadow:0 5px 30px rgba(53,75,90,.15),0 3px 10px rgba(53,75,90,.2);display:flex;height:40px;justify-content:center;padding:0;position:absolute;right:20px;top:20px;width:40px;z-index:1}.cvco-app .cvco-message__body{background-color:#eff3f6;border-radius:10px;color:#3d4166;display:block;max-width:100%;padding:10px 15px;position:relative}.cvco-app .cvco-message__body .cvco-icon svg path{fill:#3d4166}.cvco-app .cvco-message__body:last-child{margin-bottom:0}.cvco-app .cvco-unstarted-wrapper.cvco-unstarted-wrapper--window .cvco-message__body{background-color:#eff3f6;border:1px solid #fff;border-radius:10px;font-size:14px;margin-left:auto;padding:10px 15px}.cvco-app .cvco-conversation__item--source-info .cvco-message__body{background-color:transparent;background-color:initial;border-radius:0;flex:0 0 100%;padding:0 15px 10px;text-align:center;width:100%}.cvco-app .cvco-message--source-user .cvco-message__body{background-color:#223182;color:#fff}.cvco-app .cvco-message--source-user .cvco-message__body .cvco-icon svg path{fill:#fff}.cvco-app .cvco-message--type-splash .cvco-message__body{background-color:transparent;background-color:initial;border-radius:0;font-size:24px;font-weight:700;padding:0}.cvco-app .cvco-message--type-suggestions .cvco-message__body{background-color:transparent;background-color:initial;padding:0;width:100%}.cvco-app .cvco-message--type-splash .cvco-message__body ol,.cvco-app .cvco-message--type-splash .cvco-message__body p,.cvco-app .cvco-message--type-splash .cvco-message__body ul,.cvco-app .cvco-message--type-text .cvco-message__body ol,.cvco-app .cvco-message--type-text .cvco-message__body p,.cvco-app .cvco-message--type-text .cvco-message__body ul{margin:0 0 20px}.cvco-app .cvco-message--type-splash .cvco-message__body ol:last-child,.cvco-app .cvco-message--type-splash .cvco-message__body p:last-child,.cvco-app .cvco-message--type-splash .cvco-message__body ul:last-child,.cvco-app .cvco-message--type-text .cvco-message__body ol:last-child,.cvco-app .cvco-message--type-text .cvco-message__body p:last-child,.cvco-app .cvco-message--type-text .cvco-message__body ul:last-child{margin:0}.cvco-app .cvco-message--type-splash .cvco-message__body ol,.cvco-app .cvco-message--type-splash .cvco-message__body ul,.cvco-app .cvco-message--type-text .cvco-message__body ol,.cvco-app .cvco-message--type-text .cvco-message__body ul{padding-left:1.5em}.cvco-app .cvco-message--type-splash .cvco-message__body ul li,.cvco-app .cvco-message--type-text .cvco-message__body ul li{list-style-type:disc}.cvco-app .cvco-message--type-splash .cvco-message__body a,.cvco-app .cvco-message--type-text .cvco-message__body a{color:#4a48c1;word-wrap:break-word;hyphens:auto;word-break:break-word}.cvco-app .cvco-message--source-user .cvco-message__body a{color:#fff}.cvco-app .cvco-message--type-loading .cvco-message__body{align-self:flex-start}.cvco-app .cvco-message--type-choice-prompt .cvco-message__body{background-color:transparent;background-color:initial;padding:0;width:100%}.cvco-app .cvco-message--type-image .cvco-message__body{padding:0}.cvco-app .cvco-message--type-image img{border-radius:10px;display:block;height:auto;overflow:hidden;width:100%}.cvco-app .cvco-message--type-video .cvco-message__body{background-color:#000;padding:0;width:100%}.cvco-app .cvco-message--type-video iframe{aspect-ratio:6/4;border:0;border-radius:10px;display:block;width:100%}.cvco-app .cvco-message--type-upload .cvco-message__body{padding:0}.cvco-app .cvco-message--type-upload .cvco-download{align-items:center;border-radius:10px;color:inherit;display:flex;gap:10px;padding:10px 15px;text-align:left;word-break:break-all}.cvco-app .cvco-message--type-upload .cvco-download-link{cursor:pointer;font-size:12px;-webkit-text-decoration:underline;text-decoration:underline}.cvco-app .cvco-message--type-upload .cvco-download--preview{align-items:flex-end;flex-flow:column wrap;gap:0;padding:0}.cvco-app .cvco-message--type-upload .cvco-download--preview>img{border-top-left-radius:10px;border-top-right-radius:10px;height:auto;-o-object-fit:cover;object-fit:cover;width:100%}.cvco-app .cvco-message--type-upload .cvco-download--preview .cvco-file-download{display:flex;flex:0 0 auto;justify-content:flex-end;padding:10px 15px;width:100%}.cvco-app .cvco-message--type-upload .cvco-icon{flex:0 0 16px;height:16px;width:16px}.cvco-app .cvco-message--type-upload .cvco-icon svg{height:100%;width:100%}.cvco-app .cvco-conversation__item--source-agent .cvco-message--type-upload .cvco-download--preview .cvco-file-download{justify-content:flex-start}.cvco-app .cvco-conversation__item--source-agent .cvco-message--type-upload .cvco-icon path{fill:#4a48c1}.cvco-app .cvco-message .cvco-message__info{color:#6a7f8c;font-size:12px;line-height:1.35;margin-top:4px}.cvco-app .cvco-message--type-cta .cvco-message__body{background-color:#223182;display:flex;flex-direction:column;gap:10px;padding:15px;width:100%}.cvco-app .cvco-message--type-card .cvco-message__body{display:flex;flex-direction:column;padding:0;width:100%}.cvco-app .cvco-message--type-carousel .cvco-message__body{display:block;padding:0}.cvco-app .cvco-message-count{align-items:center;background-color:#db1639;border-radius:50%;color:#fff;display:none;font-size:12px;font-weight:700;height:25px;justify-content:center;line-height:1;opacity:0;position:absolute;right:-10px;top:-10px;transform:scale(0);transform-origin:50% 50%;transition:transform .3s ease,opacity .3s ease;width:25px;z-index:1}.cvco-app .cvco-message-count.cvco-transition--visible{display:flex}.cvco-app .cvco-message-count.cvco-transition--in{opacity:1;transform:scale(1)}.cvco-app .cvco-suggestions{height:-moz-fit-content;height:fit-content;overscroll-behavior:contain;width:100%}.cvco-app .cvco-suggestions--aside{flex-direction:column;gap:10px;max-height:320px;opacity:0;overflow:hidden;padding:20px;transition:max-height .3s ease,padding .3s ease,transform .3s ease,opacity .3s ease}.cvco-app .cvco-suggestions--aside.cvco-transition--visible{display:flex}.cvco-app .cvco-suggestions--aside.cvco-transition--in{opacity:1;transition:padding .3s ease .2s,transform .3s ease .2s,opacity .3s ease .2s}@media(min-width:641px){.cvco-app .cvco-suggestions--aside.cvco-transition--in{transform:translateX(0)}.cvco-app .cvco-suggestions--aside{flex:0 0 50%;height:720px;max-height:90vh;min-height:100%;transform:translateX(-100%);width:50%}}@media(min-width:1025px){.cvco-app .cvco-suggestions--aside{flex:0 0 33%;width:33%}}.cvco-app .cvco-suggestions__heading{color:#003a5d;flex:0 0 auto;font-size:18px;font-weight:700}.cvco-app .cvco-suggestions__list{align-items:flex-start;display:flex;flex-wrap:wrap;gap:5px;height:auto;list-style:none;margin:0;overscroll-behavior:contain;padding:0;width:100%}.cvco-app .cvco-suggestions--aside .cvco-suggestions__list{flex:1 1 100%;flex-flow:column nowrap;height:100%;max-height:100%;overflow-y:auto}.cvco-app .cvco-suggestions__item{display:block;flex:0 0 auto;max-width:100%}.cvco-app .cvco-suggestions--aside .cvco-suggestions__item{margin-right:0;width:100%}.cvco-app .cvco-suggestions__item .cvco-icon{display:none}.cvco-app .cvco-suggestions__footer.cvco-suggestions__footer{color:#003a5d;display:block;font-size:16px;font-weight:700;margin:5px 0 0;width:100%}.cvco-app .cvco-translation-options{display:flex;flex-direction:column;list-style:none;margin:0;padding:1px 0 0;width:100%}.cvco-app .cvco-translation-options__item--selected{margin-bottom:10px}.cvco-app .cvco-translation-options__item--selected:after{border-bottom:1px solid #dee3e5;bottom:-10px;content:"";display:block;flex:0 0 100%;height:1px;position:absolute;width:100%}.cvco-app .cvco-translation-options__item--selected+.cvco-translation-options__item{margin-top:10px}.cvco-app .cvco-translation-options__item{align-items:center;color:#4a48c1;cursor:pointer;display:flex;flex-flow:row wrap;font-size:12px;font-weight:700;gap:10px;padding:10px 0;position:relative;width:100%}.cvco-app .cvco-translation-options__item:focus-visible{outline:1px auto -webkit-focus-ring-color}.cvco-app .cvco-translation-options__item span{margin-left:-.5em}.cvco-app .cvco-translation-options__item .cvco-icon{display:flex;height:16px;opacity:0;width:16px}.cvco-app .cvco-translation-options__item[aria-selected=true] .cvco-icon{opacity:1}.cvco-app .cvco-window-open-button{background-color:#003a5d;border:1px solid #a3b4bf;border-radius:10px;bottom:20px;box-shadow:0 0 20px 0 rgba(0,0,0,.1);display:none;height:48px;opacity:0;padding:0;position:fixed;right:20px;transform:scale(0);transform-origin:100% 100%;transition:transform .3s ease;width:48px;z-index:1}.cvco-app .cvco-window-open-button.cvco-transition--visible{display:block}.cvco-app .cvco-window-open-button.cvco-transition--in{opacity:1;transform:scale(1);transition:transform .3s ease .2s}.cvco-app .cvco-window-open-button .cvco-avatar,.cvco-app .cvco-window-open-button .cvco-icon{align-items:center;border-radius:10px;display:flex;height:100%;justify-content:center;overflow:hidden;width:100%}.cvco-app .cvco-collapsed-chat-messages{flex-direction:column;gap:10px;list-style:none;margin:0;padding:0}.cvco-app .cvco-unstarted-wrapper .cvco-collapsed-chat-messages{display:none}.cvco-app .cvco-unstarted-wrapper.cvco-transition--visible .cvco-collapsed-chat-messages{display:flex}.cvco-app .cvco-unstarted-wrapper--inline .cvco-collapsed-chat-messages{opacity:0;transition:opacity .3s ease}.cvco-app .cvco-unstarted-wrapper--inline.cvco-transition--in .cvco-collapsed-chat-messages{opacity:1;transition:opacity .3s ease .2s}.cvco-app .cvco-unstarted-wrapper--window .cvco-collapsed-chat-messages{opacity:0;transform:scale(0);transform-origin:100% 100%;transition:transform .3s ease,opacity .3s ease}.cvco-app .cvco-unstarted-wrapper--window.cvco-transition--in .cvco-collapsed-chat-messages{opacity:1;transform:scale(1);transition:transform .3s ease .2s,opacity .3s ease .2s}.cvco-app .cvco-unstarted-wrapper:empty{display:none}.cvco-app .cvco-unstarted-wrapper--window{bottom:78px;max-width:calc(100% - 60px);position:fixed;right:30px;z-index:1}@media(min-width:641px){.cvco-app .cvco-unstarted-wrapper--window{max-width:280px}}.cvco-app .cvco-unstarted-wrapper--inline{display:none;max-height:0;overflow:hidden;transition:margin .3s ease,max-height .3s ease;width:100%}@media(min-width:1025px){.cvco-app .cvco-unstarted-wrapper--inline{width:67%}}.cvco-app .cvco-unstarted-wrapper--inline.cvco-transition--visible{display:block}.cvco-app .cvco-unstarted-wrapper--inline.cvco-transition--in{margin-bottom:20px;max-height:600px}.cvco-app .cvco-unread-messages{align-items:center;bottom:20px;display:none;justify-content:center;margin:0;opacity:0;position:absolute}.cvco-app .cvco-unread-messages.cvco-transition--visible{display:flex}.cvco-app .cvco-unread-messages.cvco-transition--in{opacity:1;transition:opacity .3s ease 1s}.cvco-app .cvco-unread-messages .cvco-button{align-items:center;display:flex;gap:10px}.cvco-app .cvco-unread-messages .cvco-icon{height:20px;width:20px}.cvco-app .cvco-unread-messages .cvco-icon svg path{fill:#fff}.cvco-app .cvco-visually-hidden,.cvco-app__live-container .cvco-visually-hidden{height:1px;overflow:hidden;position:absolute!important;width:1px;clip:rect(1px,1px,1px,1px)}.cvco-modal{box-sizing:border-box}.cvco-modal *,.cvco-modal :after,.cvco-modal :before{box-sizing:border-box}.cvco-modal{align-items:center;background-color:hsla(0,0%,100%,.8);bottom:0;display:flex;height:100%;justify-content:center;left:0;min-height:100%;min-width:100%;opacity:1;padding:20px;position:fixed;right:0;top:0;transform:scale(1);width:100%;z-index:99}.cvco-modal__float{background-color:#fff;border:1px solid #dee3e5;border-radius:10px;box-shadow:0 0 20px 0 rgba(0,0,0,.1);max-width:80rem;outline:0;padding:5px}.cvco-modal__float,.cvco-modal__inner{height:100%;position:relative;width:100%}.cvco-modal__inner{align-items:center;display:flex;justify-content:center;padding:10px}.cvco-modal__image{border:1px solid #dee3e5;display:block;flex:0 0 auto;max-height:100%;max-width:100%;width:auto}.cvco-modal__close{align-items:center;-webkit-appearance:none;appearance:none;background-color:#4a48c1;border:0;border-radius:5px;color:#fff;display:flex;font-weight:700;gap:10px;min-height:40px;padding:5px 15px;position:absolute;right:20px;top:20px}.cvco-modal__close .cvco-icon{flex:0 0 16px;height:16px;width:16px}.cvco-modal__close .cvco-icon svg{height:inherit;width:inherit}.cvco-modal__close .cvco-icon svg path{transition:fill .3s ease;fill:#fff}.cvco-modal__enlarge{align-items:center;-webkit-appearance:none;appearance:none;background-color:#fff;border:0;border-radius:50%;bottom:20px;color:transparent;display:flex;font-size:0;height:40px;justify-content:center;padding:0;position:absolute;right:20px;width:40px}.cvco-modal__enlarge .cvco-icon svg path{fill:#4a48c1}
1
+ @keyframes cvco-loader{0%,75%,to{border-radius:50%;transform:scaleY(.45)}37.5%{border-radius:2.5px;transform:scaleY(1)}}@keyframes cvco-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes cvco-blink{0%,to{opacity:0}50%{opacity:1}}.cvco-app .cvco-chat,.cvco-app .cvco-chat *,.cvco-app .cvco-chat :after,.cvco-app .cvco-chat :before{box-sizing:border-box}.cvco-app .cvco-chat{color:#3d4166;display:flex;flex-direction:column;font-family:arial,helvetica,sans-serif;font-size:12px;outline:0;transform-origin:100% 100%;transition:margin .3s ease,height .3s ease,transform .3s ease,opacity .3s ease}.cvco-app .cvco-chat--layout-inline{background-color:transparent;background-color:initial;box-shadow:none;height:-moz-fit-content;height:fit-content}@media(min-width:641px){.cvco-app .cvco-chat--layout-inline{flex-direction:row}}.cvco-app .cvco-chat--layout-inline.cvco-chat--collapsed .cvco-chat-wrapper{height:auto}.cvco-app .cvco-chat--layout-window{max-height:calc(85vh - 40px);max-width:calc(100vw - 40px)}@media(min-width:641px){.cvco-app .cvco-chat--layout-window{max-height:calc(100vh - 40px)}@supports(-webkit-overflow-scrolling:touch){.cvco-app .cvco-chat--layout-window{max-height:calc(90vh - 40px)}}}@media(min-width:1025px){.cvco-app .cvco-chat--layout-window{bottom:20px;max-height:calc(100vh - 40px);right:20px}@supports(-webkit-overflow-scrolling:touch){.cvco-app .cvco-chat--layout-window{max-height:calc(90vh - 40px)}}}.cvco-app .cvco-chat--layout-window{bottom:20px;display:none;height:720px;max-width:calc(100% - 40px);opacity:0;position:fixed;right:20px;transform:scale(0);width:360px;z-index:1}.cvco-app .cvco-chat--layout-window.cvco-transition--visible{display:flex}.cvco-app .cvco-chat--layout-window.cvco-transition--in{opacity:1;transform:scale(1)}.cvco-app .cvco-chat--layout-app{bottom:0;height:100%;left:0;max-height:100%;max-width:100%;position:fixed;right:0;top:0;width:100%;z-index:1}.cvco-app .cvco-chat-wrapper{backface-visibility:hidden;background-color:#fff;border:1px solid #a3b4bf;border-radius:10px;box-shadow:0 0 20px 0 rgba(0,0,0,.1);display:flex;flex-direction:column;height:100%;overflow:hidden;position:relative;transform:translateZ(0);transition:flex .3s ease,width .3s ease,height .3s ease,border-radius .3s ease;width:100%;z-index:1}.cvco-app .cvco-chat--layout-inline .cvco-chat-wrapper{height:0;width:100%}@media(min-width:641px)and (max-width:1023px){.cvco-app .cvco-chat--layout-inline .cvco-chat-wrapper{flex:0 0 100%}.cvco-app .cvco-chat--layout-inline .cvco-chat-wrapper:not(:only-child){flex:0 0 50%;width:50%}}@media(min-width:1025px){.cvco-app .cvco-chat--layout-inline .cvco-chat-wrapper{flex:0 0 67%;width:67%}}.cvco-app .cvco-chat--layout-inline.cvco-transition--in .cvco-chat-wrapper{height:720px;max-height:90vh}.cvco-app .cvco-chat__container{display:flex;flex-grow:1;justify-content:center;position:relative}.cvco-app .cvco-chat__container__scroll-area{display:flex;flex-direction:column;height:100%;justify-content:space-between;overflow-y:auto;overscroll-behavior:contain;position:relative;width:100%;will-change:scroll-position}.cvco-app .cvco-chat__container__header{display:flex;position:sticky;top:0;z-index:1}.cvco-app .cvco-chat__body{display:flex;flex-grow:1;padding:0;position:relative}.cvco-app .cvco-chat__entry{border-top:1px solid #dee3e5;flex:0 0 auto;padding:10px;position:relative}.cvco-app .cvco-chat__entry .cvco-entry__body--hidden{display:none}.cvco-app .cvco-chat--layout-inline.cvco-chat--collapsed .cvco-chat__entry{border:0}.cvco-app .cvco-entry__body{align-items:flex-end;display:flex;gap:5px}.cvco-app p{margin:0}.cvco-app img{max-width:100%}.cvco-app .cvco-label{color:#4a48c1;display:block;font-size:14px;font-weight:700}.cvco-app .cvco-conversation__item--abort-transaction{padding-top:10px}.cvco-app .cvco-conversation__item--abort-transaction .cvco-abort-transaction__button{background-color:#fff;border:1px solid;border-radius:10px;padding:5px 10px}.cvco-app .cvco-avatar{border-radius:5px;display:block;flex-shrink:0;height:32px;overflow:hidden;position:relative;width:32px}.cvco-app .cvco-avatar>.cvco-icon,.cvco-app .cvco-avatar__graphic{display:block}.cvco-app .cvco-conversation__message+.cvco-avatar{align-self:flex-end;margin-left:10px}.cvco-app a:focus,.cvco-app button:focus,.cvco-app input:focus{outline:none}.cvco-app a:focus-visible,.cvco-app button:focus-visible,.cvco-app input:focus-visible{outline:1px dotted #212121;outline:1px auto -webkit-focus-ring-color}.cvco-app .cvco-button{align-items:center;background:none;border:0;cursor:pointer;display:inline-flex;font-size:14px;gap:10px;margin:0;padding:0;text-align:left}.cvco-app .cvco-button span{color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit}.cvco-app .cvco-button--primary{background-color:#4a48c1;border-radius:5px;color:#fff;font-weight:700;min-height:40px;padding:10px 15px}.cvco-app .cvco-button--secondary{color:#4a48c1;font-weight:700;padding:10px 15px}.cvco-app .cvco-button--tertiary{background-color:transparent;background-color:initial;border-radius:5px;color:#fff;font-size:12px;font-weight:700;padding:2px 5px}.cvco-app .cvco-button[aria-disabled=true]{color:#5e727b;cursor:auto}.cvco-app .cvco-button__state{background-color:#eff3f6;border-radius:5px;color:inherit;display:inline-block;margin:0;padding:2px 10px}.cvco-app .cvco-choice-prompt{display:flex;flex-direction:column;gap:5px;padding:0}.cvco-app .cvco-choice-prompt__item{display:block;width:100%}.cvco-app .cvco-choice-prompt__item .cvco-button{display:inline-block;white-space:normal}.cvco-app .cvco-choice-prompt__item--secondary .cvco-button{background-color:transparent;background-color:initial;color:#4a48c1;padding:5px 0}.cvco-app .cvco-button--choose-again{align-items:center;display:flex;gap:10px;line-height:1;margin:5px 0;padding:0;transition:margin .3s ease,color .3s ease}.cvco-app .cvco-button--choose-again[aria-expanded=true]{margin:20px 0 10px}.cvco-app .cvco-button--choose-again .cvco-icon{align-items:center;display:flex;flex:0 0 8px;height:8px;justify-content:center;margin:0;padding:0;transform-origin:50% 50%;transition:transform .3s ease;width:8px}.cvco-app .cvco-button--choose-again .cvco-icon path{fill:currentcolor}.cvco-app .cvco-button--choose-again[aria-expanded=true] .cvco-icon{transform:rotate(180deg)}.cvco-app .cvco-conversation__container{bottom:0;flex:1 1 100%;height:100%;left:0;max-height:100%;position:absolute;right:0;top:0}.cvco-app .cvco-conversation,.cvco-app .cvco-conversation__container{display:flex;flex-direction:column;gap:10px;justify-content:space-between}.cvco-app .cvco-conversation{list-style:none;margin:auto 0 0;padding:20px 20px 0;width:100%}.cvco-app .cvco-conversation:after{content:"";display:block;flex:0 0 20px;height:20px;width:100%}.cvco-app .cvco-chat--layout-inline .cvco-conversation{position:relative}.cvco-app .cvco-conversation__item{display:block;width:100%}.cvco-app .cvco-conversation__item--new-participant{margin-top:10px}.cvco-app .cvco-conversation__item--new-participant:first-child{margin-top:0}.cvco-app .cvco-divider{background:linear-gradient(180deg,#fff,#eff3f6);background-repeat:no-repeat;background-size:100% 40px;display:flex;justify-content:center;line-height:1.5;margin:20px -20px 0;overflow:hidden;padding:65px 30px 0;position:relative}.cvco-app .cvco-divider:before{background:radial-gradient(110px at 50% 300%,rgba(74,72,193,.5) 0,hsla(0,0%,100%,0) 99.99%,rgba(74,72,193,0) 100%);background-repeat:no-repeat;content:"";height:40px;left:50%;position:absolute;top:0;transform:translateX(-50%);width:100%}.cvco-app .cvco-conversation__item:first-child .cvco-divider{margin-top:0}.cvco-app .cvco-divider--type-time-indicator{padding-bottom:20px;padding-top:60px}.cvco-app .cvco-divider--type-time-indicator:before{display:none}.cvco-app .cvco-divider__graphic{background-color:#fff;border-radius:5px;height:32px;left:50%;position:absolute;top:40px;transform:translate(-50%,-60%);width:32px}.cvco-app .cvco-divider__graphic .cvco-avatar,.cvco-app .cvco-divider__graphic .cvco-icon,.cvco-app .cvco-divider__graphic .cvco-icon svg{height:100%;width:100%}.cvco-app .cvco-divider__body{align-items:center;display:flex;flex-direction:column;gap:5px;justify-content:center;max-width:300px;text-align:center}.cvco-app .cvco-divider__body .cvco-divider__title{font-size:12px;font-weight:700;line-height:1.25;margin:0}.cvco-app .cvco-divider__body .cvco-divider__description{font-size:12px;line-height:1.5}.cvco-app .cvco-divider__body .cvco-button{font-size:inherit;padding:0;width:-moz-fit-content;width:fit-content}.cvco-app .cvco-divider__time{align-items:center;display:flex;flex-direction:column;font-weight:400;gap:2.5px;justify-content:center;margin:0}.cvco-app .cvco-divider__time .cvco-divider__time--date,.cvco-app .cvco-divider__time .cvco-divider__time--time{display:block;line-height:1.25}.cvco-app .cvco-divider__time .cvco-divider__time--date{font-size:12px;font-weight:700}.cvco-app .cvco-divider__time .cvco-divider__time--time{font-size:16px}.cvco-app .cvco-loader{align-items:center;animation:cvco-fadeIn .3s linear;display:flex;flex-direction:row;gap:5px;height:20px;justify-content:flex-start;padding:2.5px 5px}.cvco-app .cvco-loader__part{animation-delay:.12s;animation-direction:normal;animation-duration:.6s;animation-fill-mode:forwards;animation-iteration-count:infinite;animation-name:cvco-loader;animation-timing-function:ease;background-color:currentcolor;border-radius:50%;display:inline-block;height:100%;transform:scaleY(.45);width:6.666px}.cvco-app .cvco-loader__part.cvco-one{animation-delay:.12s}.cvco-app .cvco-loader__part.cvco-two{animation-delay:.24s}.cvco-app .cvco-loader__part.cvco-three{animation-delay:.36s}.cvco-app .cvco-loader__part.cvco-four{animation-delay:.48s}.cvco-app .cvco-message{display:flex;flex-flow:row wrap;gap:5px;width:80%}.cvco-app .cvco-message.cvco-message--type-suggestions,.cvco-app .cvco-unstarted-wrapper--window .cvco-message{width:100%}.cvco-app .cvco-message+.cvco-message{margin-top:10px}.cvco-app .cvco-message--source-info.cvco-message{margin:0 auto;max-width:90%;width:90%}.cvco-app .cvco-message--source-info.cvco-message:after{border-top:2px solid #4a48c1;content:"";display:block;height:0;margin:0 auto;width:20px}.cvco-app .cvco-message--source-user{justify-content:flex-end;margin-left:auto}.cvco-app .cvco-message__author{align-items:center;display:none;flex-direction:row;font-weight:700;gap:5px;justify-content:flex-start;padding:0;width:100%}.cvco-app .cvco-message--source-user .cvco-message__author{justify-content:flex-end}.cvco-app .cvco-message__avatar{height:16px;width:16px}.cvco-app .cvco-message__avatar .cvco-avatar{display:block;height:100%;-o-object-fit:contain;object-fit:contain;width:100%}.cvco-app .cvco-conversation__item--new-participant .cvco-message__author{display:flex}.cvco-app .cvco-message--source-user .cvco-message__avatar{order:2}.cvco-app .cvco-message--source-user .cvco-message__author-name{order:1}.cvco-app .cvco-message__info{color:#6a7f8c;font-size:12px;line-height:1.35;margin-top:4px;width:100%}.cvco-app .cvco-message--source-user .cvco-message__info{text-align:right}.cvco-app .cvco-message__translation-info{width:100%}.cvco-app.cvco-app--collapsed .cvco-message__translation-info{display:none}.cvco-app .cvco-message__translation-label{font-size:12px;margin-right:5px}.cvco-app .cvco-button.cvco-message__translation-toggle{font-size:inherit;padding:0}.cvco-app .cvco-message--source-user .cvco-message__translation-info{text-align:right}.cvco-app .cvco-card__wrapper{display:flex;flex-direction:column;height:100%}.cvco-app .cvco-card__image{border-top-left-radius:10px;border-top-right-radius:10px;flex:0 0 auto;height:160px;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;overflow:hidden;width:100%}.cvco-app .cvco-card__content{display:flex;flex:1 1 auto;flex-direction:column;gap:10px;padding:10px 15px 15px}.cvco-app .cvco-card__title{font-size:16px;font-weight:700;margin:0;padding:0}.cvco-app .cvco-card__description,.cvco-app .cvco-card__title{display:block;height:-moz-fit-content;height:fit-content;width:100%}.cvco-app .cvco-card__content .cvco-button{display:block;font-weight:700;margin-top:auto;-webkit-text-decoration:none;text-decoration:none;width:100%}.cvco-app .cvco-carousel{position:relative}.cvco-app .cvco-carousel__slides-wrapper{display:block;overflow:hidden;width:100%}.cvco-app .cvco-carousel__slides{display:flex;flex-direction:row;list-style:none;padding:0;position:relative;transition:left .3s ease}.cvco-app .cvco-carousel__slide{display:block;list-style:none;padding:0;width:100%}.cvco-app .cvco-carousel-item{display:flex;flex-direction:column;height:100%;width:100%}.cvco-app .cvco-carousel-item .cvco-button{display:block;width:100%}.cvco-app .cvco-carousel-controls{align-items:center;border-top:1px solid #dee3e5;display:flex;gap:10px;height:-moz-fit-content;height:fit-content;justify-content:space-between;padding:0;position:relative;width:100%}.cvco-app .cvco-carousel-controls .cvco-button{align-items:center;background-color:transparent;background-color:initial;color:transparent;display:flex;flex:0 0 40px;font-size:0;height:40px;justify-content:center;width:40px}.cvco-app .cvco-carousel-controls .cvco-button--previous{left:0}.cvco-app .cvco-carousel-controls .cvco-button--next{right:0}.cvco-app .cvco-carousel__controls .cvco-button .cvco-icon{border:0;display:block;height:16px;padding:0;width:16px}.cvco-app .cvco-carousel__controls .cvco-button .cvco-icon svg path{fill:#4a48c1}.cvco-app .cvco-carousel__pagination{align-items:center;display:flex;justify-content:center;position:relative}.cvco-app .cvco-carousel-pagination__wrapper{display:flex;flex-direction:row;justify-content:center;position:relative}.cvco-app .cvco-carousel-pagination{display:flex;flex-flow:row wrap;justify-content:center;margin:0 auto;padding:0;position:relative;width:100%}.cvco-app .cvco-carousel-pagination__item{display:block;list-style:none}.cvco-app .cvco-carousel-pagination__button{background-color:transparent;background-color:initial;border:0;border-radius:0;display:block;height:24px;padding:0;position:relative;width:24px}.cvco-app .cvco-carousel-pagination__button:before{background-color:#a3b4bf;border-radius:50%;content:"";display:block;height:9.6px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transform-origin:50% 50%;width:9.6px}.cvco-app .cvco-is-active .cvco-carousel-pagination__button:before{background-color:#003a5d}.cvco-app .cvco-cta__content{color:#fff;font-size:14px;line-height:1.5}.cvco-app .cvco-cta__content p{color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit}.cvco-app .cvco-message--type-cta .cvco-button{line-height:2;-webkit-text-decoration:none;text-decoration:none}.cvco-app .cvco-icon{align-items:center;display:flex;height:32px;justify-content:center;line-height:1;width:32px}.cvco-app .cvco-icon svg{height:100%;width:100%}.cvco-app .cvco-form,.cvco-app .cvco-input{display:flex;flex:1 1 100%;height:100%;width:100%}.cvco-app .cvco-entry-form{align-items:flex-end;display:flex;gap:5px}.cvco-app .cvco-input--text__container{display:flex;flex:1 1 100%;height:100%;position:relative}.cvco-app .cvco-entry-form .cvco-form-control__wrapper{display:flex;flex-direction:column;gap:5px;width:100%}.cvco-app .cvco-input__text{-webkit-appearance:none;appearance:none;border:1px solid #dee3e5;border-radius:5px;color:#3d4166;flex-grow:4;font-size:16px;height:40px;overflow:hidden;padding:10px;resize:none;text-overflow:ellipsis;transition:padding .3s ease;white-space:nowrap}.cvco-app .cvco-input__text::input-placeholder{color:#a3b4bf;line-height:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cvco-app .cvco-input__text::placeholder{color:#a3b4bf;line-height:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cvco-app .cvco-input__text:input-placeholder{color:#a3b4bf;line-height:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cvco-app .cvco-input__text:placeholder{color:#a3b4bf;line-height:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cvco-app .cvco-input--text__container .cvco-input__text{margin-right:0;width:100%}.cvco-app .cvco-character-exceeded .cvco-input__text,.cvco-app .cvco-character-warning .cvco-input__text{padding-right:40px}.cvco-app .cvco-character-exceeded .cvco-input__text{border:1px solid #db1639}.cvco-app .cvco-input__submit{align-items:center;border-radius:5px;display:flex;flex:0 0 40px;height:40px;justify-content:center;padding:0;width:40px}.cvco-app .cvco-input__submit .cvco-icon path{transition:fill .3s ease;fill:#4a48c1}.cvco-app .cvco-input__submit[aria-disabled=true]{cursor:auto}.cvco-app .cvco-input__submit[aria-disabled=true] .cvco-icon path{fill:#a3b4bf}.cvco-app .cvco-interrupt{background:#fff;bottom:0;display:flex;left:0;position:absolute;right:0;top:0}.cvco-app.cvco-app--layout-inline.cvco-app--collapsed .cvco-interrupt{border-radius:10px;position:static;width:100%}@media(min-width:1025px){.cvco-app.cvco-app--layout-inline.cvco-app--collapsed .cvco-interrupt{width:67%}}.cvco-app .cvco-interrupt__body{align-items:left;display:flex;flex:1 1 auto;flex-direction:column;gap:10px;justify-content:center;padding:40px;text-align:left}.cvco-app .cvco-chat .cvco-interrupt__body{margin:10px}.cvco-app .cvco-interrupt__title{font-size:16px;font-weight:700;margin:0}.cvco-app .cvco-interrupt__message{font-size:16px}.cvco-app .cvco-interrupt__actions{margin-top:auto}.cvco-app .cvco-skip-link{background:#4a48c1;border:1px solid #fff;border-radius:5px;color:#fff;font-size:12px;left:50%;opacity:0;padding:10px 15px;position:absolute;top:20px;transform:translate(-50%,-5px) scale(0);transform-origin:50% 0;transition:transform .3s ease,opacity .3s ease;z-index:100}.cvco-app .cvco-skip-link:focus-visible{opacity:1;outline:none;transform:translate(-50%) scale(1)}.cvco-app .cvco-disclaimer{background-color:#eff3f6;display:flex;flex:0 0 auto;flex-direction:column;gap:5px;height:auto;padding:20px;width:100%}.cvco-app .cvco-chat--layout-window .cvco-disclaimer{padding-right:80px}.cvco-app .cvco-chat--layout-window .cvco-chat__container__header:has(.cvco-chat-status)~.cvco-chat__body .cvco-disclaimer{padding-right:20px}.cvco-app .cvco-disclaimer__title{font-size:12px;font-weight:700;line-height:1;margin:0}.cvco-app .cvco-disclaimer__message{font-size:12px;line-height:1.25}.cvco-app .cvco-idle{align-items:center;display:flex;flex-direction:column;gap:10px;justify-content:space-between;max-height:none;padding:10px}.cvco-app .cvco-idle__title{font-size:16px;font-weight:700;margin:0;text-align:center}.cvco-app .cvco-idle__count-container{display:block;font-size:12px;height:2.75em;width:100%}.cvco-app .cvco-idle__count-text,.cvco-app .cvco-idle__count-timer{display:block;font-size:inherit;text-align:center;white-space:nowrap;width:100%}.cvco-app .cvco-idle__options{display:flex;flex-wrap:wrap;gap:5px;justify-content:center;list-style-type:none;margin:0;padding:0;width:100%}.cvco-app .cvco-idle__options .cvco-button{text-align:center;white-space:normal}.cvco-app .cvco-prompt{align-items:center;display:flex;flex-direction:column;gap:10px;justify-content:space-between;max-height:none;padding:10px}.cvco-app .cvco-prompt__title{font-size:16px;font-weight:700;margin:0;text-align:center}.cvco-app .cvco-prompt__options{display:flex;flex-wrap:wrap;gap:5px;justify-content:center;list-style-type:none;margin:0;padding:0;width:100%}.cvco-app .cvco-prompt__options .cvco-button{text-align:center;white-space:normal}.cvco-app .cvco-chat__options{align-items:center;border-top:1px solid #dee3e5;display:flex;flex:0;gap:10px;justify-content:flex-end;padding:5px;position:relative;width:100%}.cvco-app .cvco-chat__options-item--left{margin-right:auto}.cvco-app .cvco-chat__options__button{align-items:center;border-radius:5px;display:flex;gap:5px;justify-content:flex-end;padding:5px 10px}.cvco-app .cvco-chat__options__button .cvco-icon{flex:0 0 16px;height:16px;width:16px}.cvco-app .cvco-chat__options__button .cvco-icon svg{height:100%;width:100%}.cvco-app .cvco-chat__options__button .cvco-icon path{fill:currentcolor}.cvco-app .cvco-options__menu{background-color:#fff;border:1px solid #dee3e5;border-radius:5px;bottom:calc(100% + 10px);box-shadow:0 0 20px 0 rgba(0,0,0,.1);display:none;flex-direction:column;gap:5px;list-style:none;margin:0;max-height:400px;max-width:300px;opacity:0;padding:10px;position:absolute;right:10px;transform:scaleY(0) translateY(100px);transform-origin:100% 100%;transition:transform .2s ease-in-out,opacity .2s ease}.cvco-app .cvco-options__menu.cvco-transition--visible{display:flex}.cvco-app .cvco-options__menu.cvco-transition--in{opacity:1;transform:scaleY(1) translateY(0)}.cvco-app .cvco-options__menu__item{opacity:0;transition:opacity .1s ease .1s}.cvco-app .cvco-options__menu__item:last-child{margin-bottom:0}.cvco-app .cvco-options__menu.cvco-transition--in .cvco-options__menu__item{opacity:1}.cvco-app .cvco-options__menu .cvco-button{align-items:center;border-radius:5px;display:flex;min-width:200px;width:100%}.cvco-app .cvco-options{background-color:#fff;border:1px solid #dee3e5;border-radius:5px;bottom:calc(100% + 10px);box-shadow:0 0 20px 0 rgba(0,0,0,.1);display:none;flex-direction:column;list-style:none;margin:0;max-width:300px;opacity:0;padding:0;position:absolute;right:10px;transition:transform .2s ease-in-out,opacity .2s ease;width:calc(100% - 20px);z-index:10}.cvco-app .cvco-options--left{left:10px;right:auto}.cvco-app .cvco-options--right{right:10px}.cvco-app .cvco-options--top{bottom:calc(100% + 10px);top:auto;transform:scaleY(0) translateY(100px);transform-origin:100% 100%}.cvco-app .cvco-options--bottom{bottom:auto;top:calc(100% + 10px);transform:scaleY(0) translateY(-100px);transform-origin:0 0}.cvco-app .cvco-options__dialog.cvco-transition--visible .cvco-options{display:flex}.cvco-app .cvco-options__dialog.cvco-transition--in .cvco-options{opacity:1;transform:scaleY(1) translateY(0)}.cvco-app .cvco-options__body{display:flex;flex-direction:column;gap:10px;max-height:320px;opacity:0;transition:opacity .1s ease .1s}.cvco-app .cvco-options__dialog.cvco-transition--in .cvco-options__body{opacity:1}.cvco-app .cvco-options__title{align-items:center;color:#223182;display:flex;flex:0 0 auto;font-size:16px;font-weight:700;margin:0;padding:20px 0 0 20px;width:calc(100% - 50px)}.cvco-app .cvco-options__close{align-items:center;color:#4a48c1;display:flex;font-size:0;gap:0;height:40px;justify-content:center;position:absolute;right:10px;top:10px;width:40px}.cvco-app .cvco-options__close .cvco-icon{flex:0 0 16px;height:16px;width:16px}.cvco-app .cvco-options__close .cvco-icon path{fill:currentcolor}.cvco-app .cvco-options__form{display:flex;flex:1 1 auto;flex-direction:column;gap:10px}.cvco-app .cvco-options__wrapper{align-items:flex-start;display:flex;flex:1 1 auto;flex-wrap:wrap;gap:10px;overflow:auto;padding:0 20px;width:100%}.cvco-app .cvco-options__wrapper:last-child:after{content:"";display:block;flex:0 0 10px;height:10px;width:100%}.cvco-app .cvco-options__wrapper h3{color:#223182;font-size:14px;font-weight:700;margin:0}.cvco-app .cvco-options__description{display:block;font-size:14px;padding:0 20px;width:100%}.cvco-app .cvco-transcript__input{border:1px solid #dee3e5;border-radius:5px;font-size:16px;min-height:40px;padding:10px;transition:padding .3s ease;width:100%}.cvco-app .cvco-transcript__input:focus-visible{border:1px solid #dee3e5}.cvco-app .cvco-transcript__input::input-placeholder{color:#a3b4bf;line-height:20px;overflow:visible}.cvco-app .cvco-transcript__input::placeholder{color:#a3b4bf;line-height:20px;overflow:visible}.cvco-app .cvco-transcript__input:input-placeholder{color:#a3b4bf;line-height:20px;overflow:visible}.cvco-app .cvco-transcript__input:placeholder{color:#a3b4bf;line-height:20px;overflow:visible}.cvco-app .cvco-options__actions{display:flex;flex:0 0 auto;justify-content:flex-end;padding:0;width:100%}.cvco-app .cvco-options__actions .cvco-button{width:100%}.cvco-app .cvco-chat-status{align-items:flex-start;background-color:#fff;border-radius:10px;box-shadow:0 5px 30px rgba(53,75,90,.15),0 3px 10px rgba(53,75,90,.2);display:flex;gap:10px;margin:20px;min-height:40px;padding:10px;width:100%}.cvco-app .cvco-chat-status--condensed{align-items:center;padding:5px 10px 5px 5px}.cvco-app .cvco-chat--layout-window .cvco-chat-status{margin-right:80px}.cvco-app .cvco-chat-status__body{align-items:center;display:flex;flex:1 1 auto;flex-wrap:wrap;gap:10px;justify-content:flex-start}.cvco-app .cvco-chat-status__title{color:#3d4166;display:flex;font-size:14px;font-weight:700;line-height:1.25;margin:0}.cvco-app .cvco-chat-status .cvco-icon{flex:0 0 16px;height:16px;width:16px}.cvco-app .cvco-chat-status__button{align-items:center;color:#fff;display:flex;justify-content:flex-end;min-height:32px;padding:5px 10px}.cvco-app .cvco-chat-status__button .cvco-icon svg{height:100%;width:100%}.cvco-app .cvco-chat-status__button .cvco-icon svg path{fill:#fff}.cvco-app .cvco-chat-status__close{color:#4a48c1;display:inline-flex;flex:0 0 auto;justify-content:center;min-height:22px;min-width:22px}.cvco-app .cvco-chat-status__close:has(.cvco-icon){flex:0 0 22px;padding:0;width:22px}.cvco-app .cvco-chat-status__close .cvco-icon{align-self:center}.cvco-app .cvco-upload-toggle-wrapper{height:100%;overflow:visible;transition:width .3s ease;width:0}.cvco-app .cvco-upload-toggle-wrapper.cvco-transition--in{width:40px}.cvco-app .cvco-upload-toggle{align-items:center;border-radius:5px;color:transparent;display:flex;flex:0 0 40px;flex-direction:column;font-size:0;height:40px;justify-content:center;line-height:1;opacity:0;padding:0;text-align:center;transform:translateX(-100%);transition:transform .3s ease,opacity .3s ease;width:40px}.cvco-app .cvco-upload-toggle-wrapper.cvco-transition--in .cvco-upload-toggle{opacity:1;transform:translateX(0)}.cvco-app .cvco-upload-toggle .cvco-icon{flex:0 0 24px;height:24px;width:24px}.cvco-app .cvco-upload-toggle .cvco-icon svg{height:100%;width:100%}.cvco-app .cvco-upload{padding:10px;width:100%}.cvco-app .cvco-upload-form,.cvco-app .cvco-upload__container{display:flex;flex-direction:column;gap:10px}.cvco-app .cvco-upload__container{width:100%}.cvco-app .cvco-upload__visible-label--text{display:block;font-size:16px;font-weight:700;width:100%}.cvco-app .cvco-upload__content-hint{display:block;font-size:12px;width:100%}.cvco-app .cvco-file-upload{border:1px solid #4a48c1;border-radius:5px;max-width:100%;width:100%}.cvco-app .cvco-file-upload.cvco-focus-within:has(.cvco-upload__input:focus-visible){outline:1px dotted #212121;outline:1px auto -webkit-focus-ring-color}.cvco-app .cvco-upload__input{height:1px;overflow:hidden;position:absolute;width:1px;clip:rect(1px,1px,1px,1px)}.cvco-app .cvco-upload__label{align-items:center;color:#4a48c1;display:flex;gap:10px;justify-content:flex-start;padding:10px;text-align:left;width:100%}.cvco-app .cvco-upload__label .cvco-icon{flex:0 0 32px;height:32px;width:32px}.cvco-app .cvco-upload__label .cvco-icon path{fill:currentcolor}.cvco-app .cvco-upload__label--text{color:inherit;display:block;flex:1 1 100%;font-size:14px;font-weight:700;max-width:100%}.cvco-app .cvco-upload__output{color:#003a5d;display:block;flex:1 1 100%;font-size:12px;max-width:100%;word-break:break-all}.cvco-app .cvco-upload .cvco-button--primary{text-align:center}.cvco-app .cvco-upload__button-container{display:flex;flex:0 0 100%;gap:5px;justify-content:flex-end}.cvco-app .cvco-upload__cancel{padding:10px}.cvco-app .cvco-progress_container{display:flex;flex-direction:column;gap:10px}.cvco-app .cvco-progress__text{align-items:flex-end;display:flex;gap:10px;justify-content:space-between}.cvco-app .cvco-progress__text--file-name{font-size:14px;font-weight:700;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cvco-app .cvco-progress__text--percentage{color:#6a7f8c;flex:0 0 auto;font-size:14px;line-height:1}.cvco-app .cvco-progress__bar{-webkit-appearance:none;appearance:none;background:#eff3f6;border-radius:5px;width:100%}.cvco-app .cvco-progress__bar::-webkit-progress-bar{background:#eff3f6;border-radius:5px}.cvco-app .cvco-progress__bar::-webkit-progress-value{background-color:#4a48c1;border-radius:5px}.cvco-app .cvco-progress__bar::-moz-progress-bar{background-color:#4a48c1}.cvco-app .cvco-error{display:block;margin:0;width:100%}.cvco-app .cvco-error:empty{display:none;margin:0}.cvco-app .cvco-error .cvco-icon{flex:0 0 16px;height:16px;width:16px}.cvco-app .cvco-error .cvco-error__message{align-items:flex-start;background-color:rgba(219,22,57,.1);color:#ad001f;display:flex;flex-direction:row;gap:5px}.cvco-app .cvco-error .cvco-error__message,.cvco-app .cvco-notification{border-radius:5px;font-size:12px;font-weight:700;padding:5px 10px;width:100%}.cvco-app .cvco-notification{background-color:rgba(74,72,193,.1);color:#223182;display:block;margin:0 0 10px}.cvco-app .cvco-notification:last-child{margin:0}.cvco-app .cvco-character-count{align-items:center;bottom:0;display:flex;font-size:12px;font-weight:700;height:40px;justify-content:right;line-height:1;opacity:0;padding:0 10px;pointer-events:none;position:absolute;right:0;text-align:right;transform:translateX(100%);transition:transform .3s ease,opacity .2s ease .2s}.cvco-app .cvco-character-count span{color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;text-align:right}.cvco-app .cvco-character-exceeded .cvco-character-count,.cvco-app .cvco-character-warning .cvco-character-count{opacity:1;transform:translateX(0)}.cvco-app .cvco-character-exceeded .cvco-character-count span{color:#db1639}.cvco-app .cvco-collapse-button{align-items:center;background-color:#fff;border:0;border-radius:50%;box-shadow:0 5px 30px rgba(53,75,90,.15),0 3px 10px rgba(53,75,90,.2);display:flex;height:40px;justify-content:center;padding:0;position:absolute;right:20px;top:20px;width:40px;z-index:1}.cvco-app .cvco-message__body{background-color:#eff3f6;border-radius:10px;color:#3d4166;display:block;max-width:100%;padding:10px 15px;position:relative}.cvco-app .cvco-message__body .cvco-icon svg path{fill:#3d4166}.cvco-app .cvco-message__body:last-child{margin-bottom:0}.cvco-app .cvco-unstarted-wrapper.cvco-unstarted-wrapper--window .cvco-message__body{background-color:#eff3f6;border:1px solid #fff;border-radius:10px;font-size:14px;margin-left:auto;padding:10px 15px}.cvco-app .cvco-conversation__item--source-info .cvco-message__body{background-color:transparent;background-color:initial;border-radius:0;flex:0 0 100%;padding:0 15px 10px;text-align:center;width:100%}.cvco-app .cvco-message--source-user .cvco-message__body{background-color:#223182;color:#fff}.cvco-app .cvco-message--source-user .cvco-message__body .cvco-icon svg path{fill:#fff}.cvco-app .cvco-message--type-splash .cvco-message__body{background-color:transparent;background-color:initial;border-radius:0;font-size:24px;font-weight:700;padding:0}.cvco-app .cvco-message--type-suggestions .cvco-message__body{background-color:transparent;background-color:initial;padding:0;width:100%}.cvco-app .cvco-message--type-splash .cvco-message__body ol,.cvco-app .cvco-message--type-splash .cvco-message__body p,.cvco-app .cvco-message--type-splash .cvco-message__body ul,.cvco-app .cvco-message--type-text .cvco-message__body ol,.cvco-app .cvco-message--type-text .cvco-message__body p,.cvco-app .cvco-message--type-text .cvco-message__body ul{margin:0 0 20px}.cvco-app .cvco-message--type-splash .cvco-message__body ol:last-child,.cvco-app .cvco-message--type-splash .cvco-message__body p:last-child,.cvco-app .cvco-message--type-splash .cvco-message__body ul:last-child,.cvco-app .cvco-message--type-text .cvco-message__body ol:last-child,.cvco-app .cvco-message--type-text .cvco-message__body p:last-child,.cvco-app .cvco-message--type-text .cvco-message__body ul:last-child{margin:0}.cvco-app .cvco-message--type-splash .cvco-message__body ol,.cvco-app .cvco-message--type-splash .cvco-message__body ul,.cvco-app .cvco-message--type-text .cvco-message__body ol,.cvco-app .cvco-message--type-text .cvco-message__body ul{padding-left:1.5em}.cvco-app .cvco-message--type-splash .cvco-message__body ul li,.cvco-app .cvco-message--type-text .cvco-message__body ul li{list-style-type:disc}.cvco-app .cvco-message--type-splash .cvco-message__body a,.cvco-app .cvco-message--type-text .cvco-message__body a{color:#4a48c1;word-wrap:break-word;hyphens:auto;word-break:break-word}.cvco-app .cvco-message--source-user .cvco-message__body a{color:#fff}.cvco-app .cvco-message--type-loading .cvco-message__body{align-self:flex-start}.cvco-app .cvco-message--type-choice-prompt .cvco-message__body{background-color:transparent;background-color:initial;padding:0;width:100%}.cvco-app .cvco-message--type-image .cvco-message__body{padding:0}.cvco-app .cvco-message--type-image img{border-radius:10px;display:block;height:auto;overflow:hidden;width:100%}.cvco-app .cvco-message--type-video .cvco-message__body{background-color:#000;padding:0;width:100%}.cvco-app .cvco-message--type-video iframe{aspect-ratio:6/4;border:0;border-radius:10px;display:block;width:100%}.cvco-app .cvco-message--type-upload .cvco-message__body{padding:0}.cvco-app .cvco-message--type-upload .cvco-download{align-items:center;border-radius:10px;color:inherit;display:flex;gap:10px;padding:10px 15px;text-align:left;word-break:break-all}.cvco-app .cvco-message--type-upload .cvco-download-link{-webkit-appearance:none;appearance:none;border:0;cursor:pointer;font-size:12px;-webkit-text-decoration:underline;text-decoration:underline}.cvco-app .cvco-message--type-upload .cvco-download--preview{align-items:flex-end;flex-flow:column wrap;gap:0;padding:0}.cvco-app .cvco-message--type-upload .cvco-download--preview>img{border-top-left-radius:10px;border-top-right-radius:10px;height:auto;-o-object-fit:cover;object-fit:cover;width:100%}.cvco-app .cvco-message--type-upload .cvco-download--preview .cvco-file-download{display:flex;flex:0 0 auto;justify-content:flex-end;padding:10px 15px;width:100%}.cvco-app .cvco-message--type-upload .cvco-icon{flex:0 0 16px;height:16px;width:16px}.cvco-app .cvco-message--type-upload .cvco-icon svg{height:100%;width:100%}.cvco-app .cvco-conversation__item--source-agent .cvco-message--type-upload .cvco-download--preview .cvco-file-download{justify-content:flex-start}.cvco-app .cvco-conversation__item--source-agent .cvco-message--type-upload .cvco-icon path{fill:#4a48c1}.cvco-app .cvco-message .cvco-message__info{color:#6a7f8c;font-size:12px;line-height:1.35;margin-top:4px}.cvco-app .cvco-message--type-cta .cvco-message__body{background-color:#223182;display:flex;flex-direction:column;gap:10px;padding:15px;width:100%}.cvco-app .cvco-message--type-card .cvco-message__body{display:flex;flex-direction:column;padding:0;width:100%}.cvco-app .cvco-message--type-carousel .cvco-message__body{display:block;padding:0}.cvco-app .cvco-message-count{align-items:center;background-color:#db1639;border-radius:50%;color:#fff;display:none;font-size:12px;font-weight:700;height:25px;justify-content:center;line-height:1;opacity:0;position:absolute;right:-10px;top:-10px;transform:scale(0);transform-origin:50% 50%;transition:transform .3s ease,opacity .3s ease;width:25px;z-index:1}.cvco-app .cvco-message-count.cvco-transition--visible{display:flex}.cvco-app .cvco-message-count.cvco-transition--in{opacity:1;transform:scale(1)}.cvco-app .cvco-suggestions{height:-moz-fit-content;height:fit-content;overscroll-behavior:contain;width:100%}.cvco-app .cvco-suggestions--aside{flex-direction:column;gap:10px;max-height:320px;opacity:0;overflow:hidden;padding:20px;transition:max-height .3s ease,padding .3s ease,transform .3s ease,opacity .3s ease}.cvco-app .cvco-suggestions--aside.cvco-transition--visible{display:flex}.cvco-app .cvco-suggestions--aside.cvco-transition--in{opacity:1;transition:padding .3s ease .2s,transform .3s ease .2s,opacity .3s ease .2s}@media(min-width:641px){.cvco-app .cvco-suggestions--aside.cvco-transition--in{transform:translateX(0)}.cvco-app .cvco-suggestions--aside{flex:0 0 50%;height:720px;max-height:90vh;min-height:100%;transform:translateX(-100%);width:50%}}@media(min-width:1025px){.cvco-app .cvco-suggestions--aside{flex:0 0 33%;width:33%}}.cvco-app .cvco-suggestions__heading{color:#003a5d;flex:0 0 auto;font-size:18px;font-weight:700}.cvco-app .cvco-suggestions__list{align-items:flex-start;display:flex;flex-wrap:wrap;gap:5px;height:auto;list-style:none;margin:0;overscroll-behavior:contain;padding:0;width:100%}.cvco-app .cvco-suggestions--aside .cvco-suggestions__list{flex:1 1 100%;flex-flow:column nowrap;height:100%;max-height:100%;overflow-y:auto}.cvco-app .cvco-suggestions__item{display:block;flex:0 0 auto;max-width:100%}.cvco-app .cvco-suggestions--aside .cvco-suggestions__item{margin-right:0;width:100%}.cvco-app .cvco-suggestions__item .cvco-icon{display:none}.cvco-app .cvco-suggestions__footer.cvco-suggestions__footer{color:#003a5d;display:block;font-size:16px;font-weight:700;margin:5px 0 0;width:100%}.cvco-app .cvco-translation-options{display:flex;flex-direction:column;list-style:none;margin:0;padding:1px 0 0;width:100%}.cvco-app .cvco-translation-options__item--selected{margin-bottom:10px}.cvco-app .cvco-translation-options__item--selected:after{border-bottom:1px solid #dee3e5;bottom:-10px;content:"";display:block;flex:0 0 100%;height:1px;position:absolute;width:100%}.cvco-app .cvco-translation-options__item--selected+.cvco-translation-options__item{margin-top:10px}.cvco-app .cvco-translation-options__item{align-items:center;color:#4a48c1;cursor:pointer;display:flex;flex-flow:row wrap;font-size:12px;font-weight:700;gap:10px;padding:10px 0;position:relative;width:100%}.cvco-app .cvco-translation-options__item:focus-visible{outline:1px auto -webkit-focus-ring-color}.cvco-app .cvco-translation-options__item span{margin-left:-.5em}.cvco-app .cvco-translation-options__item .cvco-icon{display:flex;height:16px;opacity:0;width:16px}.cvco-app .cvco-translation-options__item[aria-selected=true] .cvco-icon{opacity:1}.cvco-app .cvco-window-open-button{background-color:#003a5d;border:1px solid #a3b4bf;border-radius:10px;bottom:20px;box-shadow:0 0 20px 0 rgba(0,0,0,.1);display:none;height:48px;opacity:0;padding:0;position:fixed;right:20px;transform:scale(0);transform-origin:100% 100%;transition:transform .3s ease;width:48px;z-index:1}.cvco-app .cvco-window-open-button.cvco-transition--visible{display:block}.cvco-app .cvco-window-open-button.cvco-transition--in{opacity:1;transform:scale(1);transition:transform .3s ease .2s}.cvco-app .cvco-window-open-button .cvco-avatar,.cvco-app .cvco-window-open-button .cvco-icon{align-items:center;border-radius:10px;display:flex;height:100%;justify-content:center;overflow:hidden;width:100%}.cvco-app .cvco-collapsed-chat-messages{flex-direction:column;gap:10px;list-style:none;margin:0;padding:0}.cvco-app .cvco-unstarted-wrapper .cvco-collapsed-chat-messages{display:none}.cvco-app .cvco-unstarted-wrapper.cvco-transition--visible .cvco-collapsed-chat-messages{display:flex}.cvco-app .cvco-unstarted-wrapper--inline .cvco-collapsed-chat-messages{opacity:0;transition:opacity .3s ease}.cvco-app .cvco-unstarted-wrapper--inline.cvco-transition--in .cvco-collapsed-chat-messages{opacity:1;transition:opacity .3s ease .2s}.cvco-app .cvco-unstarted-wrapper--window .cvco-collapsed-chat-messages{opacity:0;transform:scale(0);transform-origin:100% 100%;transition:transform .3s ease,opacity .3s ease}.cvco-app .cvco-unstarted-wrapper--window.cvco-transition--in .cvco-collapsed-chat-messages{opacity:1;transform:scale(1);transition:transform .3s ease .2s,opacity .3s ease .2s}.cvco-app .cvco-unstarted-wrapper:empty{display:none}.cvco-app .cvco-unstarted-wrapper--window{bottom:78px;max-width:calc(100% - 60px);position:fixed;right:30px;z-index:1}@media(min-width:641px){.cvco-app .cvco-unstarted-wrapper--window{max-width:280px}}.cvco-app .cvco-unstarted-wrapper--inline{display:none;max-height:0;overflow:hidden;transition:margin .3s ease,max-height .3s ease;width:100%}@media(min-width:1025px){.cvco-app .cvco-unstarted-wrapper--inline{width:67%}}.cvco-app .cvco-unstarted-wrapper--inline.cvco-transition--visible{display:block}.cvco-app .cvco-unstarted-wrapper--inline.cvco-transition--in{margin-bottom:20px;max-height:600px}.cvco-app .cvco-unread-messages{align-items:center;bottom:20px;display:none;justify-content:center;margin:0;opacity:0;position:absolute}.cvco-app .cvco-unread-messages.cvco-transition--visible{display:flex}.cvco-app .cvco-unread-messages.cvco-transition--in{opacity:1;transition:opacity .3s ease 1s}.cvco-app .cvco-unread-messages .cvco-button{align-items:center;display:flex;gap:10px}.cvco-app .cvco-unread-messages .cvco-icon{height:20px;width:20px}.cvco-app .cvco-unread-messages .cvco-icon svg path{fill:#fff}.cvco-app .cvco-visually-hidden,.cvco-app__live-container .cvco-visually-hidden{height:1px;overflow:hidden;position:absolute!important;width:1px;clip:rect(1px,1px,1px,1px)}.cvco-modal,.cvco-modal *,.cvco-modal :after,.cvco-modal :before{box-sizing:border-box}.cvco-modal{align-items:center;background-color:hsla(0,0%,100%,.8);bottom:0;display:flex;height:100%;justify-content:center;left:0;min-height:100%;min-width:100%;opacity:1;padding:20px;position:fixed;right:0;top:0;transform:scale(1);width:100%;z-index:99}.cvco-modal__float{background-color:#fff;border:1px solid #dee3e5;border-radius:10px;box-shadow:0 0 20px 0 rgba(0,0,0,.1);max-width:80rem;outline:0;padding:5px}.cvco-modal__float,.cvco-modal__inner{height:100%;position:relative;width:100%}.cvco-modal__inner{align-items:center;display:flex;justify-content:center;padding:10px}.cvco-modal__image{border:1px solid #dee3e5;display:block;flex:0 0 auto;max-height:100%;max-width:100%;width:auto}.cvco-modal__close{align-items:center;-webkit-appearance:none;appearance:none;background-color:#4a48c1;border:0;border-radius:5px;color:#fff;display:flex;font-weight:700;gap:10px;min-height:40px;padding:5px 15px;position:absolute;right:20px;top:20px}.cvco-modal__close .cvco-icon{flex:0 0 16px;height:16px;width:16px}.cvco-modal__close .cvco-icon svg{height:inherit;width:inherit}.cvco-modal__close .cvco-icon svg path{transition:fill .3s ease;fill:#fff}.cvco-modal__enlarge{align-items:center;-webkit-appearance:none;appearance:none;background-color:#fff;border:0;border-radius:50%;bottom:20px;color:transparent;display:flex;font-size:0;height:40px;justify-content:center;padding:0;position:absolute;right:20px;width:40px}.cvco-modal__enlarge .cvco-icon svg path{fill:#4a48c1}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seamly/web-ui",
3
- "version": "24.3.1",
3
+ "version": "24.4.1",
4
4
  "main": "build/dist/lib/index.js",
5
5
  "types": "build/src/javascripts/index.d.ts",
6
6
  "exports": {
@@ -35,8 +35,8 @@
35
35
  "@babel/core": "^7.26.10",
36
36
  "@babel/preset-env": "^7.26.9",
37
37
  "@babel/preset-react": "^7.26.3",
38
- "@babel/preset-typescript": "^7.26.0",
39
- "@playwright/test": "^1.51.0",
38
+ "@babel/preset-typescript": "^7.27.0",
39
+ "@playwright/test": "^1.51.1",
40
40
  "@seamly/doc-site": "^4.0.0",
41
41
  "@seamly/eslint-config": "^3.1.0",
42
42
  "@seamly/prettier-config": "^3.1.0",
@@ -45,23 +45,22 @@
45
45
  "@testing-library/preact": "^3.2.4",
46
46
  "@types/core-js": "^2.5.8",
47
47
  "@types/jest": "^29.5.12",
48
- "@typescript-eslint/eslint-plugin": "^8.26.1",
49
- "@typescript-eslint/parser": "^8.26.1",
48
+ "@typescript-eslint/eslint-plugin": "^8.29.0",
49
+ "@typescript-eslint/parser": "^8.29.0",
50
50
  "babel-jest": "^29.7.0",
51
- "babel-loader": "^9.2.1",
52
- "copy-webpack-plugin": "^12.0.2",
53
- "dd-trace": "^5.42.0",
51
+ "babel-loader": "^10.0.0",
52
+ "copy-webpack-plugin": "^13.0.0",
54
53
  "eslint": "^8.57.0",
55
54
  "eslint-config-prettier": "^9.1.0",
56
55
  "eslint-import-resolver-typescript": "^3.9.1",
57
56
  "eslint-plugin-filenames": "^1.3.2",
58
57
  "eslint-plugin-import": "^2.29.1",
59
58
  "eslint-plugin-jest": "^28.11.0",
60
- "eslint-plugin-prettier": "^5.2.3",
59
+ "eslint-plugin-prettier": "^5.2.6",
61
60
  "eslint-plugin-react": "^7.37.4",
62
61
  "eslint-plugin-react-hooks": "^4.6.2",
63
62
  "file-loader": "^6.2.0",
64
- "fork-ts-checker-webpack-plugin": "^9.0.2",
63
+ "fork-ts-checker-webpack-plugin": "^9.0.3",
65
64
  "husky": "^9.1.7",
66
65
  "jest": "^29.7.0",
67
66
  "jest-environment-jsdom": "^29.7.0",
@@ -74,12 +73,12 @@
74
73
  "prettier": "^3.5.3",
75
74
  "rimraf": "^6.0.1",
76
75
  "style-loader": "^4.0.0",
77
- "stylelint": "^16.16.0",
76
+ "stylelint": "^16.17.0",
78
77
  "typescript": "^5.8.2",
79
78
  "webpack": "^5.98.0",
80
79
  "webpack-bundle-analyzer": "^4.10.2",
81
80
  "webpack-cli": "^6.0.1",
82
- "webpack-dev-server": "^5.1.0",
81
+ "webpack-dev-server": "^5.2.1",
83
82
  "webpack-merge": "^6.0.1"
84
83
  },
85
84
  "resolutions": {
@@ -102,10 +102,15 @@ const participantReducer = (participantInfo: ParticipantInfo, action) => {
102
102
  }
103
103
  }
104
104
 
105
- const calculateNewEntryMeta = (
105
+ export const calculateNewEntryMeta = (
106
106
  entryMeta: StoreState['entryMeta'],
107
107
  channelEvent?: ChannelEvent,
108
108
  ): EntryMeta => {
109
+ // Events originating from the client should leave the entry meta as is
110
+ if (channelEvent?.payload?.fromClient === true) {
111
+ return entryMeta
112
+ }
113
+
109
114
  const entry =
110
115
  channelEvent?.type === 'message'
111
116
  ? channelEvent?.payload.translatedEntry || channelEvent?.payload.entry
@@ -366,7 +371,7 @@ export const storeSlice = createSlice({
366
371
  const lastParticipantEvent = messages.find(
367
372
  (m) => m.type === 'participant',
368
373
  )
369
- // @ts-ignore TypeScript incorrectly assumes that the payload can be any of info/message/participant
374
+ // @ts-expect-error TypeScript incorrectly assumes that the payload can be any of info/message/participant
370
375
  const lastParticipantId = lastParticipantEvent?.payload?.participant?.id
371
376
 
372
377
  const { entry } = service?.settings || {}
@@ -382,12 +387,29 @@ export const storeSlice = createSlice({
382
387
  events[events.length - 1],
383
388
  )
384
389
 
385
- const newFeatures = { ...state.options.features }
386
-
390
+ let newFeatures = { ...state.options.features }
391
+ // The first service message found is the 'last', as we receive them from newest to oldest.
392
+ const lastServiceMessage = messages.find(
393
+ (m) =>
394
+ !m.payload.fromClient && ['message', 'participant'].includes(m.type),
395
+ )
387
396
  const newFeaturesHasUpload = newFeatures.hasOwnProperty(
388
397
  featureKeys.uploads,
389
398
  )
390
399
 
400
+ // Check for upload enabled by entry type
401
+ if (newFeaturesHasUpload && lastServiceMessage?.type === 'message') {
402
+ // @ts-expect-error TypeScript incorrectly assumes that the payload can be any of info/message/participant
403
+ const entryType = lastServiceMessage.payload.entry?.type || ''
404
+ newFeatures = {
405
+ ...newFeatures,
406
+ uploads: {
407
+ enabled: newFeatures.uploads?.enabled || false,
408
+ enabledFromEntry: entryType === entryTypes.upload,
409
+ },
410
+ }
411
+ }
412
+
391
413
  state.unreadEvents = unreadMessageCount
392
414
  state.userHasResponded = userResponded
393
415
  state.events = events.filter(
@@ -7,6 +7,7 @@ import { className } from 'lib/css'
7
7
  import { randomId } from 'lib/id'
8
8
  import MessageContainer from 'ui/components/conversation/message-container'
9
9
  import Icon from 'ui/components/layout/icon'
10
+ import { useSeamlyHasConversation } from 'ui/hooks/seamly-api-hooks'
10
11
  import {
11
12
  useGeneratedId,
12
13
  useLastMessageEventId,
@@ -21,6 +22,7 @@ export const useChoicePrompt = (event: MessageChoicePrompt) => {
21
22
  const { payload } = event
22
23
  const [showOptions, setShowOptions] = useState(false)
23
24
  const { addMessageBubble, emitEvent, sendAction } = useSeamlyCommands()
25
+ const hasConversation = useSeamlyHasConversation()
24
26
  const { activeServiceSessionId } = useSeamlyServiceInfo()
25
27
  const lastEventId = useLastMessageEventId()
26
28
  const { body } = useTranslatedEventData(event)
@@ -52,6 +54,11 @@ export const useChoicePrompt = (event: MessageChoicePrompt) => {
52
54
  }, [payload, lastEventId])
53
55
 
54
56
  const onChoiceClickHandler = (choice) => {
57
+ // Do not allow interaction without a conversation
58
+ if (!hasConversation()) {
59
+ return
60
+ }
61
+
55
62
  const transactionId = randomId()
56
63
  const action = {
57
64
  type: actionTypes.pickChoice,
@@ -9,6 +9,7 @@ import { className } from 'lib/css'
9
9
  import { randomId } from 'lib/id'
10
10
  import MessageContainer from 'ui/components/conversation/message-container'
11
11
  import SuggestionsList from 'ui/components/suggestions/suggestions-list'
12
+ import { useSeamlyHasConversation } from 'ui/hooks/seamly-api-hooks'
12
13
  import { useEvents, useSeamlyCommands } from 'ui/hooks/seamly-hooks'
13
14
  import { actionTypes } from 'ui/utils/seamly-utils'
14
15
 
@@ -27,6 +28,7 @@ const ConversationSuggestions = ({ event, ...props }) => {
27
28
  const dispatch = useAppDispatch()
28
29
  const userHasResponded = useUserHasResponded()
29
30
  const { addMessageBubble, emitEvent, sendAction } = useSeamlyCommands()
31
+ const hasConversation = useSeamlyHasConversation()
30
32
  const { suggestions, payload } = useSuggestions(event)
31
33
  const { showSuggestions } = useConfig()
32
34
  const events = useEvents()
@@ -54,6 +56,11 @@ const ConversationSuggestions = ({ event, ...props }) => {
54
56
  id: string | number | undefined
55
57
  question?: string | undefined
56
58
  }) => {
59
+ // Do not allow interaction without a conversation
60
+ if (!hasConversation()) {
61
+ return
62
+ }
63
+
57
64
  setIsExpanded(false)
58
65
  dispatch(setHasResponded(true))
59
66
 
@@ -76,7 +83,14 @@ const ConversationSuggestions = ({ event, ...props }) => {
76
83
  addMessageBubble(question, transactionId)
77
84
  emitEvent(`action.${action.type}`, action)
78
85
  },
79
- [addMessageBubble, dispatch, emitEvent, payload.id, sendAction],
86
+ [
87
+ addMessageBubble,
88
+ dispatch,
89
+ emitEvent,
90
+ hasConversation,
91
+ payload.id,
92
+ sendAction,
93
+ ],
80
94
  )
81
95
 
82
96
  if (
@@ -55,8 +55,9 @@ const UploadContent = ({
55
55
  if (fileId && !isDeleted) {
56
56
  return (
57
57
  <button
58
+ type="button"
58
59
  onClick={onClickHandler}
59
- className={className(['button', 'download', 'download-link'])}
60
+ className={className(['download', 'download-link'])}
60
61
  >
61
62
  {children}
62
63
  </button>
@@ -34,9 +34,6 @@ const EntryContainer = () => {
34
34
  upload: Upload,
35
35
  })
36
36
  const [renderEntry, setRenderEntry] = useState(() => activeEntry)
37
- const [renderEntryOptions, setRenderEntryOptions] = useState(
38
- () => activeEntryOptions,
39
- )
40
37
  const config = useConfig()
41
38
  const { accountAllowsUploads } = useFileUploadMeta()
42
39
 
@@ -66,11 +63,10 @@ const EntryContainer = () => {
66
63
 
67
64
  useEffect(() => {
68
65
  setRenderEntry(activeEntry)
69
- setRenderEntryOptions(activeEntryOptions)
70
66
  // This focus action is required for auto entry changes. User driven
71
67
  // changes should be handled in the originating components.
72
68
  focusFn()
73
- }, [activeEntry, activeEntryOptions, focusFn, entryContainer])
69
+ }, [activeEntry, focusFn, entryContainer])
74
70
 
75
71
  // Check if the active element is inside this container and save it.
76
72
  containedFocus.current = !!(
@@ -81,7 +77,7 @@ const EntryContainer = () => {
81
77
  const EntryComponent = entryComponents[renderEntry]
82
78
  // Currently we do not have an actual ChoicePrompt entry component.
83
79
  // Once we do, this property should be moved to that component instead.
84
- const { allowManualInput = true } = renderEntryOptions
80
+ const { allowManualInput = true } = activeEntryOptions
85
81
 
86
82
  return (
87
83
  <div className={className('chat__entry')} ref={entryContainer}>
@@ -32,13 +32,15 @@ export function useCharacterLimit(controlName: 'textMessageEntry') {
32
32
 
33
33
  const [{ value }] = useFormControl(controlName)
34
34
  const remainingChars =
35
- limit && hasLimit && value ? limit - value.length : limit
35
+ typeof limit === 'number' && hasLimit && value
36
+ ? limit - value.length
37
+ : limit
36
38
  const reachedCharacterWarning =
37
39
  hasLimit && typeof remainingChars == 'number'
38
40
  ? remainingChars <= maxCharacterWarningLimit
39
41
  : false
40
42
  const reachedCharacterLimit =
41
- hasLimit && remainingChars ? remainingChars < 0 : false
43
+ hasLimit && typeof remainingChars === 'number' ? remainingChars < 0 : false
42
44
 
43
45
  useEffect(() => {
44
46
  validateLimit(reachedCharacterWarning, remainingChars)
@@ -100,6 +100,25 @@ const Upload = () => {
100
100
  t,
101
101
  ])
102
102
 
103
+ // Reset form when service no longer allows uploads
104
+ useEffect(() => {
105
+ // If we are currently uploading, don't clear the uploads as that
106
+ // may be confusing to the user.
107
+ // When the upload completes and the user clicks the submit button,
108
+ // there will be an error.
109
+ if (!serviceAllowsUploads && !isUploading) {
110
+ clearUploads()
111
+ cancelEntrySelection()
112
+ focusSkiplinkTarget()
113
+ }
114
+ }, [
115
+ serviceAllowsUploads,
116
+ isUploading,
117
+ clearUploads,
118
+ cancelEntrySelection,
119
+ focusSkiplinkTarget,
120
+ ])
121
+
103
122
  const handleSubmit = useCallback(
104
123
  ({ fileList }) => {
105
124
  uploadFile(fileList[0])
@@ -16,6 +16,7 @@ import InOutTransition, {
16
16
  } from 'ui/components/widgets/in-out-transition'
17
17
  import { useSkiplinkTargetFocusing } from 'ui/hooks/focus-helper-hooks'
18
18
  import { useLiveRegion } from 'ui/hooks/live-region-hooks'
19
+ import { useSeamlyHasConversation } from 'ui/hooks/seamly-api-hooks'
19
20
  import {
20
21
  useSeamlyLayoutMode,
21
22
  useSeamlyServiceData,
@@ -32,6 +33,7 @@ const Suggestions = ({ isAside = false }) => {
32
33
  const { isInline } = useSeamlyLayoutMode()
33
34
  const { t } = useI18n()
34
35
  const { addMessageBubble, emitEvent, sendAction } = useSeamlyCommands()
36
+ const hasConversation = useSeamlyHasConversation()
35
37
  const { isOpen, setVisibility } = useVisibility()
36
38
  const { showSuggestions } = useConfig()
37
39
  // a11y hooks
@@ -95,6 +97,11 @@ const Suggestions = ({ isAside = false }) => {
95
97
  id: string | number | undefined
96
98
  question?: string | undefined
97
99
  }) => {
100
+ // Do not allow interaction without a conversation
101
+ if (!hasConversation()) {
102
+ return
103
+ }
104
+
98
105
  if (hasCountdown) {
99
106
  endCountdown(true)
100
107
  }
@@ -133,6 +140,7 @@ const Suggestions = ({ isAside = false }) => {
133
140
  endCountdown,
134
141
  emitEvent,
135
142
  focusSkiplinkTarget,
143
+ hasConversation,
136
144
  hasCountdown,
137
145
  hasPrompt,
138
146
  isOpen,
@@ -153,6 +153,8 @@
153
153
  }
154
154
 
155
155
  .#{$n}-download-link {
156
+ appearance: none;
157
+ border: 0 none;
156
158
  font-size: $fontsize-small;
157
159
  text-decoration: underline;
158
160
  cursor: pointer;