diff --git a/app/javascript/packs/sdk.js b/app/javascript/packs/sdk.js index 053c31ae9..1917aa83e 100755 --- a/app/javascript/packs/sdk.js +++ b/app/javascript/packs/sdk.js @@ -4,8 +4,6 @@ import { SDK_CSS } from '../widget/assets/scss/sdk'; /* eslint-disable no-param-reassign */ const bubbleImg = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAUVBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////8IN+deAAAAGnRSTlMAAwgJEBk0TVheY2R5eo+ut8jb5OXs8fX2+cjRDTIAAADsSURBVHgBldZbkoMgFIThRgQv8SKKgGf/C51UnJqaRI30/9zfe+NQUQ3TvG7bOk9DVeCmshmj/CuOTYnrdBfkUOg0zlOtl9OWVuEk4+QyZ3DIevmSt/ioTvK1VH/s5bY3YdM9SBZ/mUUyWgx+U06ycgp7D8msxSvtc4HXL9BLdj2elSEfhBJAI0QNgJEBI1BEBsQClVBVGDgwYOLAhJkDM1YOrNg4sLFAsLJgZsHEgoEFFQt0JAFGFjQsKAMJ0LFAexKgZYFyJIDxJIBNJEDNAtSJBLCeBDCOBFAPzwFA94ED+zmhwDO9358r8ANtIsMXi7qVAwAAAABJRU5ErkJggg=='; -const closeImg = - 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAAAP1BMVEUAAAD///////////////////////////////////////////////////////////////////////////////9Du/pqAAAAFHRSTlMACBstLi8wMVB+mcbT2err7O3w8n+sjtQAAAEuSURBVHgBtNLdcoMgGITh1SCGH9DId//X2mnTg7hYxj0oh8w8r+MqgDnmlsIE6UwhtRxnAHge9n2KV7wvP+h4AvPbm73W+359/aJjRjQTCuTNIrJJBfKW0UwqkLeGZJ8Ff2O/T28JwZQCewuYilJgX6buavdDv188br1RIE+jc2H5yy+9VwrXXij0nsflwth7YFRw7N3Y88BcYL+z7wubO/lt6AcFwQMLF9irP8r2eF8/ei8VLrxUkDzguMDejX03WK3dsGJB9lxgrxd0T8PTRxUL5OUCealQz76KXg/or/CvI36VXgcEAAAgCMP6t16IZVDg3zPuI+0rb5g2zlsoW2lbqlvrOyw7bTuuO+8LGIs4C1mLeQuai7oL2437LRytPC1drX0tnq2+Ld+r/wDPIIIJkfdlbQAAAABJRU5ErkJggg=='; const body = document.getElementsByTagName('body')[0]; const holder = document.createElement('div'); @@ -189,11 +187,8 @@ const IFrameHelper = { target: chatBubble, }); - const closeIcon = createBubbleIcon({ - className: 'woot-widget-bubble woot--close woot--hide', - src: closeImg, - target: closeBubble, - }); + const closeIcon = closeBubble; + closeIcon.className = 'woot-widget-bubble woot--close woot--hide'; chatIcon.style.background = widgetColor; closeIcon.style.background = widgetColor; diff --git a/app/javascript/widget/assets/scss/sdk.js b/app/javascript/widget/assets/scss/sdk.js index 72af3c0bd..bd9ad9054 100644 --- a/app/javascript/widget/assets/scss/sdk.js +++ b/app/javascript/widget/assets/scss/sdk.js @@ -1,44 +1,47 @@ -export const SDK_CSS = ` -.woot-widget-holder { - z-index: 2147483000!important; - position: fixed!important; - -moz-box-shadow: 0 5px 40px rgba(0,0,0,.16)!important; - -o-box-shadow: 0 5px 40px rgba(0,0,0,.16)!important; - -webkit-box-shadow: 0 5px 40px rgba(0,0,0,.16)!important; - box-shadow: 0 5px 40px rgba(0,0,0,.16)!important; - overflow: hidden!important; +export const SDK_CSS = ` .woot-widget-holder { + z-index: 2147483000 !important; + position: fixed !important; + -moz-box-shadow: 0 5px 40px rgba(0, 0, 0, .16) !important; + -o-box-shadow: 0 5px 40px rgba(0, 0, 0, .16) !important; + -webkit-box-shadow: 0 5px 40px rgba(0, 0, 0, .16) !important; + box-shadow: 0 5px 40px rgba(0, 0, 0, .16) !important; + overflow: hidden !important; opacity: 1; transition-property: opacity, bottom; transition-duration: 0.5s, 0.5s; } -.woot-widget-holder iframe { width: 100% !important; height: 100% !important; border: 0; } +.woot-widget-holder iframe { + width: 100% !important; + height: 100% !important; + border: 0; +} .woot-widget-bubble { - z-index: 2147483000!important; - -moz-box-shadow: 0 8px 24px rgba(0,0,0,.16)!important; - -o-box-shadow: 0 8px 24px rgba(0,0,0,.16)!important; - -webkit-box-shadow: 0 8px 24px rgba(0,0,0,.16)!important; - box-shadow: 0 8px 24px rgba(0,0,0,.16)!important; - -o-border-radius: 100px!important; - -moz-border-radius: 100px!important; - -webkit-border-radius: 100px!important; - border-radius: 100px!important; + z-index: 2147483000 !important; + -moz-box-shadow: 0 8px 24px rgba(0, 0, 0, .16) !important; + -o-box-shadow: 0 8px 24px rgba(0, 0, 0, .16) !important; + -webkit-box-shadow: 0 8px 24px rgba(0, 0, 0, .16) !important; + box-shadow: 0 8px 24px rgba(0, 0, 0, .16) !important; + -o-border-radius: 100px !important; + -moz-border-radius: 100px !important; + -webkit-border-radius: 100px !important; + border-radius: 100px !important; background: #1f93ff; position: fixed; cursor: pointer; right: 20px; bottom: 20px; - width: 64px!important; - height: 64px!important; + width: 64px !important; + height: 64px !important; } .woot-widget-bubble:hover { background: #1f93ff; - -moz-box-shadow: 0 8px 32px rgba(0,0,0,.4)!important; - -o-box-shadow: 0 8px 32px rgba(0,0,0,.4)!important; - -webkit-box-shadow: 0 8px 32px rgba(0,0,0,.4)!important; - box-shadow: 0 8px 32px rgba(0,0,0,.4)!important; + -moz-box-shadow: 0 8px 32px rgba(0, 0, 0, .4) !important; + -o-box-shadow: 0 8px 32px rgba(0, 0, 0, .4) !important; + -webkit-box-shadow: 0 8px 32px rgba(0, 0, 0, .4) !important; + box-shadow: 0 8px 32px rgba(0, 0, 0, .4) !important; } .woot-widget-bubble img { @@ -47,15 +50,29 @@ export const SDK_CSS = ` margin: 20px; } -.woot-widget-bubble.woot--close img { - width: 16px; - height: 16px; - margin: 24px; +.woot--close:hover { + opacity: 1; } +.woot--close:before, .woot--close:after { + position: absolute; + left: 30px; + top: 15px; + content: ' '; + height: 33px; + width: 2px; + background-color: white; +} +.woot--close:before { + transform: rotate(45deg); +} +.woot--close:after { + transform: rotate(-45deg); +} + .woot--hide { visibility: hidden !important; - z-index: -1!important; + z-index: -1 !important; opacity: 0; bottom: 60px; } @@ -69,12 +86,17 @@ export const SDK_CSS = ` } .woot-widget-bubble.woot--close { - top: 0; - right: 0; + top: 8px; + right: 8px; box-shadow: none !important; -moz-box-shadow: none !important; -o-box-shadow: none !important; -webkit-box-shadow: none !important; + background: transparent !important; + } + + .woot--close:before, .woot--close:after { + background-color: black; } } @@ -83,13 +105,13 @@ export const SDK_CSS = ` bottom: 104px; right: 20px; height: calc(85% - 64px - 20px); - width: 370px!important; - min-height: 250px!important; - max-height: 590px!important; - -o-border-radius: 8px!important; - -moz-border-radius: 8px!important; - -webkit-border-radius: 8px!important; - border-radius: 8px!important; + width: 400px !important; + min-height: 250px !important; + max-height: 590px !important; + -o-border-radius: 8px !important; + -moz-border-radius: 8px !important; + -webkit-border-radius: 8px !important; + border-radius: 8px !important; } } diff --git a/app/javascript/widget/components/Branding.vue b/app/javascript/widget/components/Branding.vue index 4814690f3..ae9587fe0 100644 --- a/app/javascript/widget/components/Branding.vue +++ b/app/javascript/widget/components/Branding.vue @@ -16,22 +16,26 @@ .branding { align-items: center; - color: $color-gray; + color: $color-light-gray; + opacity: 0.9; display: flex; filter: grayscale(1); - font-size: $font-size-default; + font-size: $font-size-small; justify-content: center; - padding: $space-one; text-align: center; text-decoration: none; + padding: $space-slab 0; + cursor: pointer; &:hover { filter: grayscale(0); + opacity: 1; + color: $color-gray; } img { - margin-right: $space-small; - max-width: $space-two; + margin-right: $space-smaller; + max-width: $space-slab; } } diff --git a/app/javascript/widget/components/ChatFooter.vue b/app/javascript/widget/components/ChatFooter.vue index 6d9bb4227..ec25a7d5e 100755 --- a/app/javascript/widget/components/ChatFooter.vue +++ b/app/javascript/widget/components/ChatFooter.vue @@ -12,8 +12,14 @@ export default { ChatInputWrap, }, props: { - msg: String, - onSendMessage: Function, + msg: { + type: String, + default: '', + }, + onSendMessage: { + type: Function, + default: () => {}, + }, }, }; @@ -24,11 +30,12 @@ export default { .footer { background: $color-white; - box-shadow: 0 -$space-micro 3px rgba(50, 50, 93, 0.04), - 0 -1px 2px rgba(0, 0, 0, 0.03); box-sizing: border-box; - padding: $space-small; + padding: $space-small $space-slab; width: 100%; + border-radius: 7px; + box-shadow: 0 20px 25px -10px rgba(0, 0, 0, 0.1), + 0 10px 10px -10px rgba(0, 0, 0, 0.04) !important; } .branding { diff --git a/app/javascript/widget/components/ChatHeaderExpanded.vue b/app/javascript/widget/components/ChatHeaderExpanded.vue index 0b1a447e9..7178c7556 100755 --- a/app/javascript/widget/components/ChatHeaderExpanded.vue +++ b/app/javascript/widget/components/ChatHeaderExpanded.vue @@ -1,6 +1,10 @@