UNPKG

funda-ui

Version:

React components using pure Bootstrap 5+ which does not contain any external style and script libraries.

775 lines (770 loc) 27.8 kB
/*=================== Chatbox (Loading) =================*/ .custom-chatbox-loader-container { --custom-chatbox-loader-color: #b9caf7; --custom-chatbox-loader-color2: #0d6efd; width: 130px; text-align: start; } .custom-chatbox-loader-container .custom-chatbox-loader { height: 4px; width: 100%; --c: no-repeat linear-gradient(var(--custom-chatbox-loader-color2) 0 0); background: var(--c), var(--c), var(--custom-chatbox-loader-color); background-size: 60% 100%; animation: loader-move 3s infinite; } @keyframes loader-move { 0% { background-position: -150% 0, -150% 0; } 66% { background-position: 250% 0, -150% 0; } 100% { background-position: 250% 0, 250% 0; } } .custom-chatbox-mini-loader { --custom-chatbox-miniloader-color: rgba(0,0,0,.5); width: 15px; height: 15px; margin: 0.5rem; margin-bottom: 0; border: 3px dotted var(--custom-chatbox-miniloader-color); border-radius: 50%; display: inline-block; position: relative; box-sizing: border-box; animation: mini-loader-spin 1s linear infinite; } @keyframes mini-loader-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } /*=================== Chatbox (Core) =================*/ .custom-chatbox-circle { --custom-chatbox-circle-color: #5A5EB9; --custom-chatbox-circle-text: #fff; position: fixed; bottom: 30px; right: 30px; background: var(--custom-chatbox-circle-color); width: 50px; height: 50px; border-radius: 50%; color: var(--custom-chatbox-circle-text); cursor: pointer; box-shadow: 0px 3px 16px 0px rgba(0, 0, 0, 0.6), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); z-index: 1030; text-align: center; vertical-align: middle; transition: 0.1s ease-in-out; } .custom-chatbox-circle > span { display: inline-block; margin-top: 25%; } .custom-chatbox-circle:hover { transform: scale(1.2); } .custom-chatbox-circle svg { width: 30px; height: 30px; } .custom-chatbox-circle svg path { stroke: #fff; } .custom-chatbox-close { --custom-chatbox-close-color: #333; padding: 20px; position: fixed; bottom: calc(100vh - 55px); z-index: 1032; right: -15px; cursor: pointer; border: none; outline: none; background: none; transition-delay: 0.05s; /* Prevent real-time update of store displacement */ } .custom-chatbox-close path { fill: var(--custom-chatbox-close-color); } .custom-chatbox-close:hover { transform: scale(1.2); } .custom-chatbox-close:hover path { fill: #f00; } .custom-chatbox-container { --custom-chatbox-w: 600px; --custom-chatbox-h: 100vh; --custom-chatbox-bg: #fff; --custom-chatbox-input-bg: #fff; --custom-chatbox-default-txt-color: #333; --custom-chatbox-default-btn-color: #fff; --custom-chatbox-msg-bg: #eaeaea; --custom-chatbox-msg-bg2: #d1e6f8; --custom-chatbox-msg-border: #ddd; --custom-chatbox-primary-color: #5A5EB9; --custom-chatbox-gray-color: #adadad; --custom-chatbox-primary-text: #333; --custom-chatbox-disable-color: #ccc; --custom-chatbox-stop-color: #f00; --custom-chatbox-time-color: #96a2c1; --custom-chatbox-msg-dotted-loader-size: 15px; --custom-chatbox-content-w: calc(100% - 50px); --custom-chatbox-toolkit-btn-color: #f8f9fa; --custom-chatbox-toolkit-btn-border-color: #e9ecef; --custom-chatbox-toolkit-btn-active-color: #c2dfff; --custom-chatbox-newchat-btn-color: #f8f9fa; --custom-chatbox-newchat-btn-border-color: #e9ecef; --custom-chatbox-toolkit-opt-color: #f8f9fa; --custom-chatbox-toolkit-opt-border-color: #e9ecef; --custom-chatbox-toolkit-opt-active-color: #c2dfff; --custom-chatbox-toolkit-btn-radius: 20px; --custom-chatbox-questions-bg: #f5f5f5; --custom-chatbox-questions-hover-bg: #e9e9e9; --custom-chatbox-content-html-elem-border-color: #ddd; --custom-chatbox-content-html-elem-bg: rgba(0,0,0,.05); --custom-balloon-border-radius: 0.35rem; --custom-balloon-color: rgba(16, 16, 16, 0.95); --custom-balloon-text-color: #fff; --custom-balloon-font-size: 12px; --custom-balloon-move: 4px; --custom-toolkit-select-options-container-min-w: 135px; --custom-toolkit-select-options-container-max-h: 300px; min-width: var(--custom-chatbox-w); max-width: var(--custom-chatbox-w); margin: auto; background: var(--custom-chatbox-bg); border-radius: 8px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); padding: 20px; position: fixed; bottom: 0; right: 0; z-index: 1031; height: var(--custom-chatbox-h); /* disable popup */ /* message list */ /* dot loading */ /* control area */ /* loading */ /* new chat button */ /* toolkit buttons */ /* toolkit options */ /* default questions */ /* Tooltip */ } .custom-chatbox-container.popup-none { position: relative; bottom: auto; right: auto; box-shadow: none; } .custom-chatbox-container details { font-style: italic; margin: 0; padding: 0; font-size: 0.75rem; margin-bottom: 0.5rem; background: var(--custom-chatbox-msg-bg); padding: 0.5rem; } .custom-chatbox-container summary { cursor: pointer; font-weight: bold; color: var(--custom-chatbox-primary-color); outline: none; } .custom-chatbox-container details[open] summary { color: var(--custom-chatbox-primary-text); } .custom-chatbox-container h1 { font-size: 1.35rem; } .custom-chatbox-container h2 { font-size: 1.25rem; } .custom-chatbox-container h3 { font-size: 1.125rem; } .custom-chatbox-container h4 { font-size: 1rem; } .custom-chatbox-container h5 { font-size: 0.875rem; } .custom-chatbox-container h6 { font-size: 0.75rem; } .custom-chatbox-container .messages { height: calc(100% - 125px); overflow-y: auto; margin-bottom: 10px; font-size: 13px; margin-right: 0; /* copy button */ } .custom-chatbox-container .messages img, .custom-chatbox-container .messages svg, .custom-chatbox-container .messages video, .custom-chatbox-container .messages canvas, .custom-chatbox-container .messages audio, .custom-chatbox-container .messages iframe, .custom-chatbox-container .messages embed, .custom-chatbox-container .messages object { display: inline; } .custom-chatbox-container .messages::-webkit-scrollbar { width: 3px; } .custom-chatbox-container .messages::-webkit-scrollbar-thumb { background: rgba(0, 0, 0, 0.2); } .custom-chatbox-container .messages > div:not(.newchat-btn) { margin: 5px 0; padding: 3px 5px; border-radius: 0.35rem; position: relative; } .custom-chatbox-container .messages p { margin: 3px 0; } .custom-chatbox-container .messages .qa-timestamp { font-size: 0.75rem; color: var(--custom-chatbox-time-color); font-style: italic; font-weight: normal; display: block; text-align: right; } .custom-chatbox-container .messages .qa-name { font-weight: bold; color: var(--custom-chatbox-primary-color); } .custom-chatbox-container .messages .qa-name svg, .custom-chatbox-container .messages .qa-name img { max-height: 15px; } .custom-chatbox-container .messages .qa-content { background: var(--custom-chatbox-msg-bg); padding: 0.5rem; border-radius: 0.35rem; margin-top: 0.3rem; display: inline-block; text-align: start; /* Custom HTML Styles */ } .custom-chatbox-container .messages .qa-content .table-container { overflow-x: auto; margin-bottom: 0.5rem; } .custom-chatbox-container .messages .qa-content .table-container::-webkit-scrollbar { height: 10px; } .custom-chatbox-container .messages .qa-content .table-container::-webkit-scrollbar-thumb { background: rgba(0, 0, 0, 0.2); } .custom-chatbox-container .messages .qa-content .table-container table { width: 100%; border-collapse: collapse; border-radius: 0.35rem; } .custom-chatbox-container .messages .qa-content .table-container table thead { background: var(--custom-chatbox-content-html-elem-bg); } .custom-chatbox-container .messages .qa-content .table-container table thead tr { white-space: nowrap; } .custom-chatbox-container .messages .qa-content .table-container table th, .custom-chatbox-container .messages .qa-content .table-container table td { padding: 0.25rem; text-align: left; border: 1px solid var(--custom-chatbox-content-html-elem-border-color); } .custom-chatbox-container .messages .request { text-align: end; } .custom-chatbox-container .messages .request .qa-content { max-width: var(--custom-chatbox-content-w); background: var(--custom-chatbox-msg-bg2); } .custom-chatbox-container .messages .reply { text-align: start; } .custom-chatbox-container .messages .reply .qa-name { display: flex; } .custom-chatbox-container .messages .reply .qa-content { width: var(--custom-chatbox-content-w); background: transparent; padding-top: 0; } .custom-chatbox-container .messages .copy-btn { position: absolute; left: calc(var(--custom-chatbox-content-w) - 0.7rem); bottom: 0.5rem; z-index: 1; background: transparent; border: none; padding: 4px; cursor: pointer; opacity: 0.6; transition: opacity 0.2s; } .custom-chatbox-container .messages .copy-btn:hover { opacity: 1; } .custom-chatbox-container .msg-dotted-loader-container { font-weight: normal; transform: translateY(-5px); display: flex; align-items: center; margin-top: 0.4rem; margin-left: 0.3rem; color: var(--custom-chatbox-gray-color); } .custom-chatbox-container .msg-dotted-loader-text { transform: translateY(-10%); } .custom-chatbox-container .msg-dotted-loader { position: relative; text-align: center; display: inline-block; width: calc(var(--custom-chatbox-msg-dotted-loader-size) * 1.5); height: calc(var(--custom-chatbox-msg-dotted-loader-size) * 1.5); margin-right: 0.1rem; } .custom-chatbox-container .msg-dotted-loader::after, .custom-chatbox-container .msg-dotted-loader::before { content: ""; position: absolute; top: 0; left: 0; width: var(--custom-chatbox-msg-dotted-loader-size); height: var(--custom-chatbox-msg-dotted-loader-size); border-radius: 50%; border: 2px var(--custom-chatbox-gray-color); border-style: dotted solid dotted solid; animation: turn-left 1.5s linear infinite; } .custom-chatbox-container .msg-dotted-loader::before { left: calc(var(--custom-chatbox-msg-dotted-loader-size) / 2 / 2 * -1); top: calc(var(--custom-chatbox-msg-dotted-loader-size) / 2 / 2 * -1); width: calc(var(--custom-chatbox-msg-dotted-loader-size) + var(--custom-chatbox-msg-dotted-loader-size) / 2); height: calc(var(--custom-chatbox-msg-dotted-loader-size) + var(--custom-chatbox-msg-dotted-loader-size) / 2); border-style: dotted dotted solid solid; animation: msg-dotted-loader-anim--turn-right 1.5s linear infinite; } @keyframes msg-dotted-loader-anim--turn-right { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } @keyframes turn-left { 0% { transform: rotate(0deg); } 100% { transform: rotate(-360deg); } } .custom-chatbox-container .msgcontrol { display: flex; position: absolute; bottom: 10px; z-index: 1; width: calc(100% - 40px); border: 1px solid var(--custom-chatbox-gray-color); border-radius: 0.35rem; transition: all 0.3s ease; background: var(--custom-chatbox-input-bg); } .custom-chatbox-container .msgcontrol img, .custom-chatbox-container .msgcontrol svg, .custom-chatbox-container .msgcontrol video, .custom-chatbox-container .msgcontrol canvas, .custom-chatbox-container .msgcontrol audio, .custom-chatbox-container .msgcontrol iframe, .custom-chatbox-container .msgcontrol embed, .custom-chatbox-container .msgcontrol object { display: inline; } .custom-chatbox-container .msgcontrol.focus { border-color: var(--custom-chatbox-primary-color); } .custom-chatbox-container .msgcontrol .messageInput { width: 100%; border-radius: 4px; font-size: 0.875rem; border: none; outline: none; margin-bottom: 2.2rem; } .custom-chatbox-container .msgcontrol .messageInput:focus, .custom-chatbox-container .msgcontrol .messageInput:focus-visible { outline: none; box-shadow: none; } .custom-chatbox-container .msgcontrol .messageInput .messageInput-control { background: var(--custom-chatbox-input-bg); padding: 0.5rem; border-radius: 0.35rem; width: 100%; color: var(--custom-chatbox-default-txt-color); resize: none; max-height: 50vh; border: none; } .custom-chatbox-container .msgcontrol .messageInput .messageInput-control::-webkit-scrollbar { width: 3px; } .custom-chatbox-container .msgcontrol .messageInput .messageInput-control::-webkit-scrollbar-thumb { background: rgba(0, 0, 0, 0.2); } .custom-chatbox-container .msgcontrol .messageInput .messageInput-control:focus, .custom-chatbox-container .msgcontrol .messageInput .messageInput-control:focus-visible { border-color: transparent; outline: none; box-shadow: none; } .custom-chatbox-container .msgcontrol button { padding: 6px; border: none; position: absolute; background-color: var(--custom-chatbox-primary-color); color: var(--custom-chatbox-default-btn-color); border: 1px solid var(--custom-chatbox-primary-color); border-radius: 50%; cursor: pointer; margin-left: 0.5rem; min-width: 30px; font-size: 0.875rem; z-index: 2; right: 0.4rem; bottom: 0.3rem; width: 40px; height: 40px; padding: 0; } .custom-chatbox-container .msgcontrol button path { fill: var(--custom-chatbox-default-btn-color); } .custom-chatbox-container .msgcontrol button:hover { transform: scale(1.1); } .custom-chatbox-container .msgcontrol button:disabled { opacity: 0.7; } .custom-chatbox-container .msgcontrol button.is-suspended { background-color: var(--custom-chatbox-stop-color); border-color: var(--custom-chatbox-stop-color); } .custom-chatbox-container .loading { margin-top: 0; height: 5px; position: absolute; bottom: 5px; width: calc(100% - 40px); z-index: 1; } .custom-chatbox-container .newchat-btn { text-align: center; position: absolute; bottom: 115px; left: 50%; transform: translateX(-50%); z-index: 1; } .custom-chatbox-container .newchat-btn > button { padding: 3px 6px; background-color: var(--custom-chatbox-newchat-btn-color); border: 1px solid var(--custom-chatbox-newchat-btn-border-color); border-radius: 20px; cursor: pointer; transition: all 0.3s ease; font-size: 0.8125rem; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); } .custom-chatbox-container .newchat-btn > button img, .custom-chatbox-container .newchat-btn > button svg, .custom-chatbox-container .newchat-btn > button video, .custom-chatbox-container .newchat-btn > button canvas, .custom-chatbox-container .newchat-btn > button audio, .custom-chatbox-container .newchat-btn > button iframe, .custom-chatbox-container .newchat-btn > button embed, .custom-chatbox-container .newchat-btn > button object { display: inline; } .custom-chatbox-container .newchat-btn > button:hover { transform: translateY(-2px); } .custom-chatbox-container .toolkit-btns { display: flex; position: absolute; bottom: 15px; margin-left: 5px; z-index: 1; flex-wrap: wrap; gap: 8px; justify-content: center; } .custom-chatbox-container .toolkit-btns button { padding: 3px 6px; background-color: var(--custom-chatbox-toolkit-btn-color); border: 1px solid var(--custom-chatbox-toolkit-btn-border-color); border-radius: var(--custom-chatbox-toolkit-btn-radius); cursor: pointer; transition: all 0.3s ease; font-size: 0.75rem; } .custom-chatbox-container .toolkit-btns button img, .custom-chatbox-container .toolkit-btns button svg, .custom-chatbox-container .toolkit-btns button video, .custom-chatbox-container .toolkit-btns button canvas, .custom-chatbox-container .toolkit-btns button audio, .custom-chatbox-container .toolkit-btns button iframe, .custom-chatbox-container .toolkit-btns button embed, .custom-chatbox-container .toolkit-btns button object { display: inline; } .custom-chatbox-container .toolkit-btns button:hover { background-color: var(--custom-chatbox-toolkit-btn-border-color); transform: translateY(-2px); } .custom-chatbox-container .toolkit-btns button.opt-active, .custom-chatbox-container .toolkit-btns button.active { background-color: var(--custom-chatbox-toolkit-btn-active-color); } @keyframes dropupAnimation { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } } .custom-chatbox-container .toolkit-select-wrapper { position: relative; display: inline-block; } .custom-chatbox-container .toolkit-select-wrapper .toolkit-select-btn { display: flex; align-items: center; justify-content: space-between; border: 1px solid var(--custom-chatbox-gray-color); border-radius: var(--custom-chatbox-toolkit-btn-radius); cursor: pointer; } .custom-chatbox-container .toolkit-select-wrapper .toolkit-select-arrow { margin-left: 8px; font-size: 10px; transition: transform 0.2s ease; } .custom-chatbox-container .toolkit-select-wrapper .toolkit-select-arrow.active { transform: rotate(180deg); } .custom-chatbox-container .toolkit-select-wrapper .toolkit-select-options-container { z-index: 1000; width: 100%; min-width: var(--custom-toolkit-select-options-container-min-w); transform: translateY(-100%); } .custom-chatbox-container .toolkit-select-wrapper .toolkit-select-options { background-color: var(--custom-chatbox-toolkit-opt-color); border: 1px solid var(--custom-chatbox-toolkit-opt-border-color); border-radius: 4px; box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1); margin-bottom: 10px; max-height: var(--custom-toolkit-select-options-container-max-h); min-width: var(--custom-toolkit-select-options-container-min-w); overflow-y: auto; animation: dropupAnimation 0.2s ease; position: absolute; bottom: 1rem; left: 0; right: 0; display: none; z-index: 1000; } .custom-chatbox-container .toolkit-select-wrapper .toolkit-select-options.active { display: block; } .custom-chatbox-container .toolkit-select-wrapper .toolkit-select-options::-webkit-scrollbar { width: 3px; } .custom-chatbox-container .toolkit-select-wrapper .toolkit-select-options::-webkit-scrollbar-thumb { background: rgba(0, 0, 0, 0.2); } .custom-chatbox-container .toolkit-select-wrapper .toolkit-select-option { padding: 3px 6px; cursor: pointer; transition: background-color 0.2s ease; font-size: 0.75rem; } .custom-chatbox-container .toolkit-select-wrapper .toolkit-select-option.cancel { color: var(--custom-chatbox-gray-color); } .custom-chatbox-container .toolkit-select-wrapper .toolkit-select-option.selected:not(.cancel), .custom-chatbox-container .toolkit-select-wrapper .toolkit-select-option:hover { background-color: var(--custom-chatbox-toolkit-opt-active-color); } .custom-chatbox-container .default-questions-title { margin-bottom: 0.5rem; } .custom-chatbox-container .default-questions { padding: 15px; width: 100%; } .custom-chatbox-container .default-question-item { padding: 0.3rem 1rem; margin-bottom: 0.2rem; background-color: var(--custom-chatbox-questions-bg); border-radius: 0.35rem; cursor: pointer; transition: all 0.3s ease; } .custom-chatbox-container .default-question-item:hover { background-color: var(--custom-chatbox-questions-hover-bg); } .custom-chatbox-container .default-question-item:last-child { margin-bottom: 0; } .custom-chatbox-container button[aria-label][data-balloon-pos] { overflow: visible; } .custom-chatbox-container [aria-label][data-balloon-pos] { cursor: pointer; } .custom-chatbox-container [aria-label][data-balloon-pos]:after { opacity: 0; pointer-events: none; transition: all 0.18s ease-out 0.18s; text-indent: 0; font-weight: normal; font-style: normal; text-shadow: none; font-size: var(--custom-balloon-font-size); background: var(--custom-balloon-color); border-radius: 2px; color: var(--custom-balloon-text-color); border-radius: var(--custom-balloon-border-radius); content: attr(aria-label); padding: 0.5em 1em; position: absolute; white-space: nowrap; z-index: 10; } .custom-chatbox-container [aria-label][data-balloon-pos]:before { width: 0; height: 0; border: 5px solid transparent; border-top-color: var(--custom-balloon-color); opacity: 0; pointer-events: none; transition: all 0.18s ease-out 0.18s; content: ""; position: absolute; z-index: 10; } .custom-chatbox-container [aria-label][data-balloon-pos]:hover:before, .custom-chatbox-container [aria-label][data-balloon-pos]:hover:after, .custom-chatbox-container [aria-label][data-balloon-pos][data-balloon-visible]:before, .custom-chatbox-container [aria-label][data-balloon-pos][data-balloon-visible]:after, .custom-chatbox-container [aria-label][data-balloon-pos]:not([data-balloon-nofocus]):focus:before, .custom-chatbox-container [aria-label][data-balloon-pos]:not([data-balloon-nofocus]):focus:after { opacity: 1; pointer-events: none; } .custom-chatbox-container [aria-label][data-balloon-pos][data-balloon-break]:after { white-space: pre; } .custom-chatbox-container [aria-label][data-balloon-pos][data-balloon-break][data-balloon-length]:after { white-space: pre-line; word-break: break-word; } .custom-chatbox-container [aria-label][data-balloon-pos][data-balloon-blunt]:before, .custom-chatbox-container [aria-label][data-balloon-pos][data-balloon-blunt]:after { transition: none; } .custom-chatbox-container [aria-label][data-balloon-pos][data-balloon-pos=up]:hover:after, .custom-chatbox-container [aria-label][data-balloon-pos][data-balloon-pos=up][data-balloon-visible]:after, .custom-chatbox-container [aria-label][data-balloon-pos][data-balloon-pos=down]:hover:after, .custom-chatbox-container [aria-label][data-balloon-pos][data-balloon-pos=down][data-balloon-visible]:after { transform: translate(-50%, 0); } .custom-chatbox-container [aria-label][data-balloon-pos][data-balloon-pos=up]:hover:before, .custom-chatbox-container [aria-label][data-balloon-pos][data-balloon-pos=up][data-balloon-visible]:before, .custom-chatbox-container [aria-label][data-balloon-pos][data-balloon-pos=down]:hover:before, .custom-chatbox-container [aria-label][data-balloon-pos][data-balloon-pos=down][data-balloon-visible]:before { transform: translate(-50%, 0); } .custom-chatbox-container [aria-label][data-balloon-pos][data-balloon-pos*=-left]:after { left: 0; } .custom-chatbox-container [aria-label][data-balloon-pos][data-balloon-pos*=-left]:before { left: 5px; } .custom-chatbox-container [aria-label][data-balloon-pos][data-balloon-pos*=-right]:after { right: 0; } .custom-chatbox-container [aria-label][data-balloon-pos][data-balloon-pos*=-right]:before { right: 5px; } .custom-chatbox-container [aria-label][data-balloon-pos][data-balloon-po*=-left]:hover:after, .custom-chatbox-container [aria-label][data-balloon-pos][data-balloon-po*=-left][data-balloon-visible]:after, .custom-chatbox-container [aria-label][data-balloon-pos][data-balloon-pos*=-right]:hover:after, .custom-chatbox-container [aria-label][data-balloon-pos][data-balloon-pos*=-right][data-balloon-visible]:after { transform: translate(0, 0); } .custom-chatbox-container [aria-label][data-balloon-pos][data-balloon-po*=-left]:hover:before, .custom-chatbox-container [aria-label][data-balloon-pos][data-balloon-po*=-left][data-balloon-visible]:before, .custom-chatbox-container [aria-label][data-balloon-pos][data-balloon-pos*=-right]:hover:before, .custom-chatbox-container [aria-label][data-balloon-pos][data-balloon-pos*=-right][data-balloon-visible]:before { transform: translate(0, 0); } .custom-chatbox-container [aria-label][data-balloon-pos][data-balloon-pos^=up]:before, .custom-chatbox-container [aria-label][data-balloon-pos][data-balloon-pos^=up]:after { bottom: 100%; transform-origin: top; transform: translate(0, var(--custom-balloon-move)); } .custom-chatbox-container [aria-label][data-balloon-pos][data-balloon-pos^=up]:after { margin-bottom: 10px; } .custom-chatbox-container [aria-label][data-balloon-pos][data-balloon-pos=up]:before, .custom-chatbox-container [aria-label][data-balloon-pos][data-balloon-pos=up]:after { left: 50%; transform: translate(-50%, var(--custom-balloon-move)); } .custom-chatbox-container [aria-label][data-balloon-pos][data-balloon-pos^=down]:before, .custom-chatbox-container [aria-label][data-balloon-pos][data-balloon-pos^=down]:after { top: 100%; transform: translate(0, calc(var(--custom-balloon-move) * -1)); } .custom-chatbox-container [aria-label][data-balloon-pos][data-balloon-pos^=down]:after { margin-top: 10px; } .custom-chatbox-container [aria-label][data-balloon-pos][data-balloon-pos^=down]:before { width: 0; height: 0; border: 5px solid transparent; border-bottom-color: var(--custom-balloon-color); } .custom-chatbox-container [aria-label][data-balloon-pos][data-balloon-pos=down]:after, .custom-chatbox-container [aria-label][data-balloon-pos][data-balloon-pos=down]:before { left: 50%; transform: translate(-50%, calc(var(--custom-balloon-move) * -1)); } .custom-chatbox-container [aria-label][data-balloon-pos][data-balloon-pos=left]:hover:after, .custom-chatbox-container [aria-label][data-balloon-pos][data-balloon-pos=left][data-balloon-visible]:after, .custom-chatbox-container [aria-label][data-balloon-pos][data-balloon-pos=right]:hover:after, .custom-chatbox-container [aria-label][data-balloon-pos][data-balloon-pos=right][data-balloon-visible]:after { transform: translate(0, -50%); } .custom-chatbox-container [aria-label][data-balloon-pos][data-balloon-pos=left]:hover:before, .custom-chatbox-container [aria-label][data-balloon-pos][data-balloon-pos=left][data-balloon-visible]:before, .custom-chatbox-container [aria-label][data-balloon-pos][data-balloon-pos=right]:hover:before, .custom-chatbox-container [aria-label][data-balloon-pos][data-balloon-pos=right][data-balloon-visible]:before { transform: translate(0, -50%); } .custom-chatbox-container [aria-label][data-balloon-pos][data-balloon-pos=left]:after, .custom-chatbox-container [aria-label][data-balloon-pos][data-balloon-pos=left]:before { right: 100%; top: 50%; transform: translate(var(--custom-balloon-move), -50%); } .custom-chatbox-container [aria-label][data-balloon-pos][data-balloon-pos=left]:after { margin-right: 10px; } .custom-chatbox-container [aria-label][data-balloon-pos][data-balloon-pos=left]:before { width: 0; height: 0; border: 5px solid transparent; border-left-color: var(--custom-balloon-color); } .custom-chatbox-container [aria-label][data-balloon-pos][data-balloon-pos=right]:after, .custom-chatbox-container [aria-label][data-balloon-pos][data-balloon-pos=right]:before { left: 100%; top: 50%; transform: translate(calc(var(--custom-balloon-move) * -1), -50%); } .custom-chatbox-container [aria-label][data-balloon-pos][data-balloon-pos=right]:after { margin-left: 10px; } .custom-chatbox-container [aria-label][data-balloon-pos][data-balloon-pos=right]:before { width: 0; height: 0; border: 5px solid transparent; border-right-color: var(--custom-balloon-color); } .custom-chatbox-container [aria-label][data-balloon-pos][data-balloon-length]:after { white-space: normal; } .custom-chatbox-container [aria-label][data-balloon-pos][data-balloon-length=small]:after { width: 80px; } .custom-chatbox-container [aria-label][data-balloon-pos][data-balloon-length=medium]:after { width: 150px; } .custom-chatbox-container [aria-label][data-balloon-pos][data-balloon-length=large]:after { width: 260px; } .custom-chatbox-container [aria-label][data-balloon-pos][data-balloon-length=xlarge]:after { width: 380px; } @media screen and (max-width: 768px) { .custom-chatbox-container [aria-label][data-balloon-pos][data-balloon-length=xlarge]:after { width: 90vw; } } .custom-chatbox-container [aria-label][data-balloon-pos][data-balloon-length=fit]:after { width: 100%; }