From c622d55b55d32cfbf59815c1ae6c37e7ed3e6c17 Mon Sep 17 00:00:00 2001 From: "1152958806@qq.com" <1152958806@qq.com> Date: Tue, 19 Sep 2023 23:29:44 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=9C=AC=E5=9C=B0=E5=A4=9A?= =?UTF-8?q?=E4=BD=99=E8=B5=84=E6=BA=90=E6=96=87=E4=BB=B6=EF=BC=8CArtalk?= =?UTF-8?q?=E8=AF=84=E8=AE=BA=E8=B5=84=E6=BA=90=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- templates/assets/libs/artalk/Artalk.css | 1772 +++++ templates/assets/libs/artalk/Artalk.js | 7031 +++++++++++++++++ .../libs/color-thief/color-thief.umd.js | 1 - .../libs/fancybox/jquery.fancybox.min.css | 1 - .../libs/fancybox/jquery.fancybox.min.js | 4 - .../libs/instantpage/instantpage.min.js | 2 - .../assets/libs/lazyload/lazyload.iife.min.js | 1 - .../assets/libs/snackbar/snackbar.min.css | 1 - .../assets/libs/snackbar/snackbar.min.js | 16 - .../assets/libs/swiper/swiper-bundle.min.css | 1 - .../assets/libs/swiper/swiper-bundle.min.js | 1 - templates/modules/head.html | 4 +- 12 files changed, 8805 insertions(+), 30 deletions(-) create mode 100644 templates/assets/libs/artalk/Artalk.css create mode 100644 templates/assets/libs/artalk/Artalk.js delete mode 100644 templates/assets/libs/color-thief/color-thief.umd.js delete mode 100644 templates/assets/libs/fancybox/jquery.fancybox.min.css delete mode 100644 templates/assets/libs/fancybox/jquery.fancybox.min.js delete mode 100644 templates/assets/libs/instantpage/instantpage.min.js delete mode 100644 templates/assets/libs/lazyload/lazyload.iife.min.js delete mode 100644 templates/assets/libs/snackbar/snackbar.min.css delete mode 100644 templates/assets/libs/snackbar/snackbar.min.js delete mode 100644 templates/assets/libs/swiper/swiper-bundle.min.css delete mode 100644 templates/assets/libs/swiper/swiper-bundle.min.js diff --git a/templates/assets/libs/artalk/Artalk.css b/templates/assets/libs/artalk/Artalk.css new file mode 100644 index 00000000..b3511e97 --- /dev/null +++ b/templates/assets/libs/artalk/Artalk.css @@ -0,0 +1,1772 @@ +.artalk,.atk-layer-wrap,#owo-big { + --at-color-font: #2a2e2e; + --at-color-deep: #2a2e2e; + --at-color-sub: #757575; + --at-color-grey: #747474; + --at-color-meta: #697182; + --at-color-border: #eceff2; + --at-color-light: #4285f4; + --at-color-bg: #FFF; + --at-color-bg-transl: rgba(255, 255, 255, .94); + --at-color-bg-grey: #F4F4F4; + --at-color-bg-grey-transl: rgba(244, 244, 244, .75); + --at-color-bg-light: rgba(29, 161, 242, .1); + --at-color-main: #0083ff; + --at-color-red: #ff5652; + --at-color-pink: #fa5a57; + --at-color-yellow: #ff7c37; + --at-color-green: #4caf50; + --at-color-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0), rgba(255, 255, 255)); + --at-color-owo: rgba(255, 255, 255, .5) +} + +.artalk.atk-dark-mode,.atk-layer-wrap.atk-dark-mode,#owo-big.atk-dark-mode { + --at-color-font: rgba(238, 238, 238, .9); + --at-color-deep: rgba(231, 231, 231, .85); + --at-color-sub: rgba(231, 231, 231, .9); + --at-color-grey: rgba(238, 238, 238, .5); + --at-color-meta: #bfbfbfde; + --at-color-border: #2d3235; + --at-color-light: #687a86; + --at-color-bg: #1e2224; + --at-color-bg-transl: rgba(30, 34, 36, .95); + --at-color-bg-grey: #171718; + --at-color-bg-grey-transl: rgba(8, 8, 8, .95); + --at-color-bg-light: rgba(29, 161, 242, .1); + --at-color-main: #0083ff; + --at-color-red: #ff5652; + --at-color-pink: #fa5a57; + --at-color-yellow: #ff7c37; + --at-color-green: #4caf50; + --at-color-gradient: linear-gradient(180deg, rgba(30, 34, 36, 0), #1e2224); + --at-color-owo: rgba(74, 74, 74, .5) +} + +.atk-comment-wrap { + overflow: inherit; + position: relative; + border-bottom: none +} + +.atk-comment-wrap.atk-flash-once { + -webkit-animation: atkFlashOnce 1s ease-in-out 0s; + animation: atkFlashOnce 1s ease-in-out 0s +} + +@keyframes atkFlashOnce { + 0% { + background: rgba(0,131,255,.2) + } + + to { + background: transparent + } +} + +.atk-comment-wrap.atk-unread:before { + content: " "; + position: absolute; + left: 0; + top: 10%; + width: 3px; + height: 80%; + background: var(--at-color-main) +} + +.atk-comment-wrap.atk-openable { + cursor: pointer +} + +.atk-comment-wrap.atk-openable:hover { + background: var(--at-color-bg-grey) +} + +.atk-comment-wrap.atk-openable .atk-height-limit:after { + background: transparent!important +} + +.atk-comment-wrap:last-child { + border-bottom: none +} + +.atk-comment { + display: block; + padding: 12px 10px +} + +.atk-comment>.atk-avatar { + display: block; + padding: 2px 0; + float: left; + width: 48px; + height: 48px +} + +.atk-comment>.atk-avatar img { + width: 48px; + height: 48px; + border-radius: 50%; + transition: all .3s ease +} + +.atk-comment>.atk-avatar img.error:before { + width: 48px!important; + height: 48px!important; + border-radius: 3px +} + +.atk-comment>.atk-avatar img.error:after { + display: none +} + +.atk-comment>.atk-avatar img:hover { + transform: scale(1.2); + border-radius: 4px +} + +.atk-comment>.atk-main { + display: block; + margin-left: 63px +} + +.atk-comment>.atk-main>.atk-header { + line-height: 1.5; + font-size: 13px; + margin-bottom: .5em; + overflow: hidden; + position: relative; + display: flex; + flex-wrap: wrap; + align-items: center +} + +.atk-comment>.atk-main>.atk-header .atk-item { + display: flex; + align-items: center; + margin-top: 2px; + margin-bottom: 2px; + color: var(--at-color-meta) +} + +.atk-comment>.atk-main>.atk-header .atk-item:not(:last-child) { + margin-right: 6px +} + +.atk-comment>.atk-main>.atk-header .atk-item.atk-nick,.atk-comment>.atk-main>.atk-header .atk-item.atk-nick a { + font-size: 14px; + color: var(--at-color-main); + text-decoration: none; + font-weight: 700 +} + +.atk-comment>.atk-main>.atk-header .atk-item.atk-reply-at { + margin-left: 2px +} + +.atk-comment>.atk-main>.atk-header .atk-item.atk-reply-at>.atk-arrow:before { + content: ""; + vertical-align: middle; + transform: rotate(90deg); + border-bottom: 4px solid var(--at-color-grey); + border-left: 3px solid transparent; + border-right: 3px solid transparent; + display: inline-block; + margin-top: -1px +} + +.atk-comment>.atk-main>.atk-header .atk-item.atk-reply-at>.atk-nick { + color: var(--at-color-main); + cursor: pointer; + margin-left: 6px +} + +.atk-comment>.atk-main>.atk-header .atk-badge-wrap>*:last-child { + margin-right: 6px +} + +.atk-comment>.atk-main>.atk-header .atk-badge { + display: inline-block; + color: var(--at-color-meta); + background: var(--at-color-bg-grey); + padding: 0 6px; + line-height: 17px; + border-radius: 3px; + color: #fff +} + +.atk-comment>.atk-main>.atk-header .atk-badge:not(:last-child) { + margin-right: 6px +} + +.atk-comment>.atk-main>.atk-header .atk-pinned-badge { + display: inline-block; + color: var(--at-color-meta); + background: var(--at-color-bg-grey); + padding: 0 6px; + line-height: 17px; + border-radius: 3px; + color: #fff; + background: #f44336 +} + +.atk-comment>.atk-main>.atk-header .atk-pinned-badge:not(:last-child) { + margin-right: 6px +} + +.atk-comment>.atk-main>.atk-header .atk-ua { + display: inline-block; + color: var(--at-color-meta); + background: var(--at-color-bg-grey); + padding: 0 6px; + line-height: 17px; + border-radius: 3px +} + +.atk-comment>.atk-main>.atk-header .atk-ua:not(:last-child) { + margin-right: 6px +} + +@media only screen and (max-width: 768px) { + .atk-comment>.atk-main>.atk-header .atk-ua-wrap { + display:block; + margin-top: 5px + } +} + +.atk-comment>.atk-main>.atk-body { + display: block; + overflow: hidden; + position: relative +} + +.atk-comment>.atk-main>.atk-body img { + max-width: 100% +} + +.atk-comment>.atk-main>.atk-body>.atk-content { + word-break: break-all +} + +.atk-comment>.atk-main>.atk-body>.atk-content.atk-type-collapsed { + border: 3px solid var(--at-color-bg-grey); + border-bottom: 0; + padding: 5px 10px; + border-radius: 6px 6px 0 0; + margin-bottom: -5px +} + +.atk-comment>.atk-main>.atk-body>.atk-content>*:first-child { + margin-top: 0 +} + +.atk-comment>.atk-main>.atk-body>.atk-content>*:last-child { + margin-bottom: 0 +} + +.atk-comment>.atk-main>.atk-body>.atk-content .atk-height-limit-btn { + bottom: 5px +} + +.atk-comment>.atk-main>.atk-body>.atk-pending { + color: var(--at-color-meta); + margin: 3px 0; + font-size: 13px; + padding: 10px 18px; + display: block; + background: var(--at-color-bg-grey); + border-left: 4px solid #f44336 +} + +.atk-comment>.atk-main>.atk-body>.atk-reply-to { + padding: 5px 15px; + border-left: 3px solid var(--at-color-border); + margin-bottom: 10px; + position: relative; + margin-top: 10px +} + +.atk-comment>.atk-main>.atk-body>.atk-reply-to .atk-meta { + font-size: 15px +} + +.atk-comment>.atk-main>.atk-body>.atk-reply-to .atk-meta .atk-nick { + color: var(--at-color-main) +} + +.atk-comment>.atk-main>.atk-body>.atk-reply-to .atk-content { + margin-top: 5px +} + +.atk-comment>.atk-main>.atk-body>.atk-collapsed { + margin: 3px 0; + font-size: 13px; + padding: 10px 18px; + display: block; + background: var(--at-color-bg-grey); + border-radius: 6px +} + +.atk-comment>.atk-main>.atk-body>.atk-collapsed .atk-text { + color: var(--at-color-meta) +} + +.atk-comment>.atk-main>.atk-body>.atk-collapsed .atk-show-btn { + color: var(--at-color-main); + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + margin-left: 3px +} + +.atk-comment>.atk-main>.atk-body>.atk-collapsed .atk-show-btn:hover { + color: var(--at-color-main) +} + +.atk-comment>.atk-main>.atk-footer { + margin-top: 12px +} + +.atk-comment>.atk-main>.atk-footer .atk-actions { + display: flex; + flex-direction: row; + align-items: center; + flex-wrap: wrap; + margin-bottom: -15px +} + +.atk-comment>.atk-main>.atk-footer .atk-actions>span { + color: var(--at-color-meta); + font-size: 13px; + line-height: 15px; + display: inline-flex; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + margin-bottom: 15px +} + +.atk-comment>.atk-main>.atk-footer .atk-actions>span.atk-error,.atk-comment>.atk-main>.atk-footer .atk-actions>span.atk-error:hover { + color: var(--at-color-red) +} + +.atk-comment>.atk-main>.atk-footer .atk-actions>span:not(:last-child):not(.atk-hide) { + margin-right: 16px +} + +.atk-comment>.atk-main>.atk-footer .atk-actions>span:hover { + color: var(--at-color-deep) +} + +.atk-comment .atk-height-limit:after { + position: absolute; + z-index: 1; + display: block; + overflow: hidden; + width: 100%; + content: " "; + bottom: 0; + left: 0; + height: 80px; + background: var(--at-color-gradient) +} + +.atk-comment .atk-height-limit-btn { + z-index: 10; + position: absolute; + left: 50%; + bottom: 10px; + transform: translate(-50%); + cursor: pointer; + border: 1px solid var(--at-color-border); + border-radius: 6px; + background: var(--at-color-bg); + padding: 1px 20px; + font-size: 15px; + color: var(--at-color-meta); + -webkit-user-select: none; + -moz-user-select: none; + user-select: none +} + +.atk-comment .atk-height-limit-btn:hover { + background: var(--at-color-bg-grey) +} + +.atk-comment .atk-height-limit .atk-height-limit .atk-height-limit-btn { + display: none +} + +.atk-comment-children>.atk-comment-wrap { + margin-top: 10px; + border-left: 1px dashed transparent; + border-bottom-color: transparent +} + +.atk-comment-children>.atk-comment-wrap:not(:last-child) { + margin-bottom: 5px +} + +.atk-comment-children>.atk-comment-wrap>.atk-comment { + padding: 4px 0 +} + +.atk-comment-children>.atk-comment-wrap>.atk-comment>.atk-avatar img { + width: 36px; + height: 36px +} + +.atk-comment-children>.atk-comment-wrap>.atk-comment>.atk-main { + margin-left: 47px +} + +.artalk>.atk-list { + display: contents; + position: relative +} + +.artalk>.atk-list>.atk-list-header { + display: flex; + flex-direction: row; + padding: 10px 17px +} + +.artalk>.atk-list>.atk-list-header .atk-text { + display: inline-block +} + +.artalk>.atk-list>.atk-list-header .atk-dropdown-wrap { + position: relative; + cursor: pointer +} + +.artalk>.atk-list>.atk-list-header .atk-dropdown-wrap .atk-arrow-down-icon { + cursor: pointer; + vertical-align: middle; + border-top: 5px solid var(--at-color-grey); + border-left: 3px solid transparent; + border-right: 3px solid transparent; + margin-top: -1px; + margin-left: .8rem; + display: inline-block +} + +.artalk>.atk-list>.atk-list-header .atk-dropdown-wrap:hover .atk-dropdown { + display: block +} + +.artalk>.atk-list>.atk-list-header .atk-dropdown-wrap .atk-dropdown { + z-index: 888; + display: none; + height: auto!important; + max-height: calc(100vh - 2.7rem); + overflow-y: auto; + position: absolute; + top: 100%; + right: 0; + width: 100%; + background-color: var(--at-color-bg); + padding: .6rem 0; + border: 1px solid var(--at-color-border); + text-align: center; + border-radius: 6px; + white-space: nowrap; + margin: 0; + list-style: none +} + +.artalk>.atk-list>.atk-list-header .atk-dropdown-wrap .atk-dropdown-item span,.artalk>.atk-list>.atk-list-header .atk-dropdown-wrap .atk-dropdown-item a { + display: block; + line-height: 2rem; + position: relative; + border-bottom: none; + font-weight: 400; + padding: 0 1.5rem +} + +.artalk>.atk-list>.atk-list-header .atk-dropdown-wrap .atk-dropdown-item span:hover,.artalk>.atk-list>.atk-list-header .atk-dropdown-wrap .atk-dropdown-item a:hover { + color: var(--at-color-main) +} + +.artalk>.atk-list>.atk-list-header .atk-dropdown-wrap .atk-dropdown-item.active span,.artalk>.atk-list>.atk-list-header .atk-dropdown-wrap .atk-dropdown-item a { + color: var(--at-color-main) +} + +.artalk>.atk-list>.atk-list-header .atk-comment-count { + font-size: 15px +} + +.artalk>.atk-list>.atk-list-header .atk-comment-count .atk-comment-count-num { + font-size: 22px; + margin-right: 4px +} + +.artalk>.atk-list>.atk-list-header .atk-right-action { + display: flex; + flex: 1; + flex-direction: row; + align-items: center; + justify-content: flex-end +} + +.artalk>.atk-list>.atk-list-header .atk-right-action>span { + font-size: 14px; + color: var(--at-color-meta); + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + position: relative +} + +.artalk>.atk-list>.atk-list-header .atk-right-action>span.atk-on,.artalk>.atk-list>.atk-list-header .atk-right-action>span.atk-on * { + color: var(--at-color-main) +} + +.artalk>.atk-list>.atk-list-header .atk-right-action>span:not(:last-child):not(.atk-hide) { + margin-right: 10px; + padding-right: 10px +} + +.artalk>.atk-list>.atk-list-header .atk-right-action>span .atk-unread-badge { + position: absolute; + top: -5px; + left: -6px; + color: #fff; + background: var(--at-color-pink); + text-align: center; + min-width: 16px; + height: 16px; + padding: 0 3px; + border-radius: 8px; + line-height: 16px; + font-size: 12px +} + +.artalk>.atk-list>.atk-list-footer { + z-index: 1; + position: absolute; + bottom: 5px; + right: 0 +} + +@media only screen and (max-width: 768px) { + .artalk>.atk-list>.atk-list-footer { + position:relative; + margin-top: 10px; + text-align: center + } +} + +.artalk>.atk-list>.atk-list-footer .atk-copyright { + display: block; + font-size: 12px; + color: var(--at-color-meta); + padding-right: 15px; + margin-top: 5px +} + +.artalk>.atk-list>.atk-list-footer .atk-copyright a { + color: var(--at-color-main); + text-decoration: none +} + +.atk-list-no-comment { + text-align: center; + height: 150px; + line-height: 150px; + display: block; + font-size: 19px +} + +.atk-list-read-more { + border-top: 1px dashed var(--at-color-border); + margin-top: 28px; + padding-bottom: 25px +} + +@media only screen and (max-width: 768px) { + .atk-list-read-more { + padding-bottom:10px + } +} + +.atk-list-read-more.atk-err .atk-text { + color: var(--at-color-red)!important +} + +.atk-list-read-more .atk-list-read-more-inner { + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + padding: 0 15px; + font-size: 14px; + border-radius: 6px; + border: 1px solid transparent; + display: flex; + height: 30px; + flex-direction: row; + place-content: center; + align-items: center; + width: 120px; + margin: -15px auto 0; + background: var(--at-color-bg); + border-color: var(--at-color-border) +} + +.atk-list-read-more .atk-list-read-more-inner>.atk-loading-icon { + height: 15px; + width: 15px +} + +.atk-list-read-more .atk-list-read-more-inner>.atk-text { + color: var(--at-color-meta) +} + +.atk-list-read-more .atk-list-read-more-inner:hover { + background: var(--at-color-bg-grey) +} + +.atk-pagination { + display: flex; + flex-direction: row; + justify-content: center; + padding: 10px 0; + position: relative +} + +.atk-pagination>.atk-btn,.atk-pagination>.atk-input { + font-size: 15px; + height: 30px; + border: 1px solid var(--at-color-border); + border-radius: 3px; + padding: 0 5px; + text-align: center; + background: var(--at-color-bg) +} + +.atk-pagination>.atk-btn { + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + width: 70px; + cursor: pointer; + display: flex; + justify-content: center; + align-items: center +} + +.atk-pagination>.atk-btn:hover { + background: var(--at-color-bg-grey) +} + +.atk-pagination>.atk-btn.atk-disabled { + color: var(--at-color-sub) +} + +.atk-pagination>.atk-btn.atk-disabled:hover { + cursor: default; + background: initial +} + +.atk-pagination>.atk-input { + background: transparent; + color: var(--at-color-font); + font-size: 18px; + width: 60px; + outline: none +} + +.atk-pagination>.atk-input:focus { + border-color: var(--at-color-main) +} + +.atk-pagination>*:not(:last-child) { + margin-right: 10px +} + +.atk-main-editor { + z-index: 5; + position: relative; + background: var(--at-color-bg); + border: 1px solid var(--at-color-border); + border-radius: 6px; + margin-bottom: 10px +} + +@media only screen and (max-width: 768px) { + .atk-main-editor { + margin-bottom:7px + } +} + +.atk-main-editor>.atk-header { + display: flex; + flex-direction: row; + padding: 10px 14px 0 +} + +.atk-main-editor>.atk-header .label { + display: contents +} + +.atk-main-editor>.atk-header input { + flex: 1; + width: 100%; + font-size: 14px; + background: transparent; + border: 2px solid transparent; + border-radius: 3px; + padding: 6px 5px; + resize: none; + outline: none +} + +.atk-main-editor>.atk-header input:not(:last-child) { + margin-right: 2px +} + +.atk-main-editor>.atk-textarea-wrap { + position: relative +} + +.atk-main-editor>.atk-textarea-wrap>.atk-textarea { + display: block; + overflow: hidden; + color: var(--at-color-font); + font-size: 15px; + background-color: var(--at-color-bg); + border: 2px solid transparent; + border-radius: 3px; + width: 100%; + min-height: 120px; + margin-top: 2px; + padding: 10px 20px; + resize: none; + word-wrap: break-word; + outline: none +} + +.atk-main-editor>.atk-textarea-wrap>.atk-comment-closed { + pointer-events: none; + color: var(--at-color-meta); + font-size: 12px; + background-color: var(--at-color-bg); + border-top: 1px solid var(--at-color-border); + padding: 5px 15px; + margin-top: 10px +} + +.atk-main-editor>.atk-textarea-wrap>.atk-send-reply { + z-index: 2; + position: absolute; + right: 7px; + bottom: 2px; + max-width: calc(100% - 20px); + height: 30px; + line-height: 30px; + font-size: 14px; + background: var(--at-color-bg-grey-transl); + padding: 0 30px 0 10px; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + cursor: pointer; + border-radius: 3px +} + +@media screen and (max-width: 500px) { + .atk-main-editor>.atk-textarea-wrap>.atk-send-reply { + position:absolute; + right: 6px; + bottom: 6px + } +} + +.atk-main-editor>.atk-textarea-wrap>.atk-send-reply .atk-cancel { + position: absolute; + right: 0; + bottom: 0; + height: 30px; + text-align: center; + width: 30px; + line-height: 30px; + font-weight: 700 +} + +.atk-main-editor>.atk-textarea-wrap>.atk-send-reply .atk-cancel:hover { + color: var(--at-color-deep) +} + +.atk-main-editor>.atk-plug-panel-wrap { + overflow: hidden; + -webkit-animation: .3s both atkFadeIn; + animation: .3s both atkFadeIn; + transition: .2s height ease-in-out; + display: contents +} + +.atk-main-editor>.atk-bottom { + display: flex; + flex-direction: row; + justify-content: space-between; + padding: 5px +} + +.atk-main-editor>.atk-bottom>.atk-item { + display: flex; + flex-direction: row; + align-items: center +} + +.atk-main-editor>.atk-bottom .atk-plug-btn { + padding: 0 8px; + line-height: 24px; + cursor: pointer; + color: var(--at-color-grey); + font-size: 14px; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + border-radius: 3px; + display: inline-flex; + align-content: center; + justify-content: center +} + +.atk-main-editor>.atk-bottom .atk-plug-btn:not(:last-child) { + margin-right: 2px; + border-right: 1px solid var(--at-color-border) +} + +.atk-main-editor>.atk-bottom .atk-plug-btn:hover { + background: var(--at-color-bg-grey) +} + +.atk-main-editor>.atk-bottom .atk-plug-btn.active { + color: var(--at-color-main) +} + +.atk-main-editor>.atk-bottom .atk-plug-btn.active svg.markdown path { + fill: var(--at-color-main) +} + +.atk-main-editor>.atk-bottom .atk-plug-btn i { + color: var(--at-color-grey); + display: inline-flex; + vertical-align: sub; + margin-left: 4px +} + +.atk-main-editor>.atk-bottom .atk-plug-btn i svg.markdown path { + fill: var(--at-color-grey) +} + +.atk-main-editor>.atk-notify-wrap { + z-index: 9; + position: absolute; + right: -2px; + bottom: 40px; + width: 225px; + opacity: .83 +} + + + +.atk-main-editor>.atk-bottom .atk-send-btn { + background: var(--at-color-main); + color: #fff; + font-size: 14px; + border: none; + margin: 0; + height: 30px; + width: 8em; + cursor: pointer; + transition: opacity .3s ease-in-out; + outline: none; + border-radius: 3px +} + +.atk-main-editor>.atk-textarea-wrap .atk-send-btn:active { + opacity: .9 +} + +.atk-header input:focus-within { + border-bottom: 1px solid var(--at-color-border) +} + +.atk-sidebar-layer { + position: fixed; + z-index: 99999; + top: 10%; + left: 20%; + width: 60%; + height: 80%; + background: var(--at-color-bg); + transition: transform .45s cubic-bezier(.23,1,.32,1) 0ms; + transform: translateY(120%); + border-radius: 12px; + padding: 10px 0 +} + +@media only screen and (max-width: 600px) { + .atk-sidebar-layer { + width:100%; + height: 100%; + left: 0; + top: 0; + border-radius: 0 + } +} + +.atk-sidebar-layer .atk-sidebar-inner { + position: relative; + height: 100% +} + +.atk-sidebar-layer .atk-sidebar-header { + position: absolute; + top: 0; + right: 0; + display: flex; + flex-direction: row; + align-items: center; + z-index: 99999 +} + +.atk-sidebar-layer .atk-sidebar-header .atk-sidebar-close { + display: flex; + flex-direction: column; + width: 60px; + height: 60px; + align-items: center; + place-content: center; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + margin-left: 10px +} + +.atk-sidebar-layer .atk-sidebar-header .atk-sidebar-close:hover .atk-icon-close { + background-color: #e81123e6 +} + +.atk-sidebar-layer .atk-sidebar-iframe-wrap { + height: 100%; + position: relative +} + +.atk-sidebar-layer .atk-sidebar-iframe-wrap iframe { + border: 0; + width: 100%; + height: 100% +} + +.atk-sidebar-layer .atk-sidebar-iframe-wrap .atk-err-alert { + z-index: 9999; + top: 50%; + left: 50%; + transform: translate(-50%,-50%); + position: absolute; + background: var(--at-color-bg); + padding: 40px 30px; + width: 80%; + text-align: center; + border-radius: 4px +} + +.atk-sidebar-layer .atk-sidebar-iframe-wrap .atk-err-alert .atk-title { + font-size: 1.4em; + margin-bottom: 20px; + color: var(--at-color-font) +} + +.atk-sidebar-layer .atk-sidebar-iframe-wrap .atk-err-alert .atk-text { + color: var(--at-color-font) +} + +.atk-sidebar-layer .atk-sidebar-iframe-wrap .atk-err-alert .atk-text span { + cursor: pointer; + color: var(--at-color-main) +} + +.artalk { + position: relative; + width: 100%; + min-height: 200px +} + +.artalk,.atk-layer-wrap { + color: var(--at-color-font); + word-wrap: break-word; + word-break: break-all +} + +.artalk *,.atk-layer-wrap * { + box-sizing: border-box +} + +.artalk input,.artalk textarea,.artalk button,.artalk optgroup,.artalk select,.atk-layer-wrap input,.atk-layer-wrap textarea,.atk-layer-wrap button,.atk-layer-wrap optgroup,.atk-layer-wrap select { + font-family: inherit; + color: inherit; + font-size: inherit +} + +.artalk code,.atk-layer-wrap code { + font-family: source code pro,Consolas,Monaco,Menlo,sans-serif; + margin: 0 .05em; + padding: 0 .4em; + display: inline-block; + vertical-align: middle; + font-size: .9em; + background-color: var(--at-color-bg-grey); + color: var(--at-color-font); + border-radius: 2px +} + +.artalk pre,.atk-layer-wrap pre { + margin: 10px 0 0; + padding: 0; + line-height: 0 +} + +.artalk pre code,.atk-layer-wrap pre code { + line-height: 1.6em; + display: block; + padding: 10px 15px; + white-space: pre-wrap!important; + background-color: var(--at-color-bg-grey); + color: var(--at-color-font); + margin: 0 +} + +.artalk pre code *,.atk-layer-wrap pre code * { + font-family: source code pro,Consolas,Monaco,Menlo,sans-serif +} + +.artalk pre code:before,.atk-layer-wrap pre code:before { + position: absolute; + font-size: 13px; + padding: 4px 8px; + right: 0; + top: 0 +} + + +.artalk a,.atk-layer-wrap a { + color: var(--at-color-main); + text-decoration: none +} + +.artalk blockquote,.atk-layer-wrap blockquote { + position: static; + margin: 10px 0; + padding: 10px 20px; + background: var(--at-color-bg-grey); + border-left: 4px solid #687a86; + color: var(--at-color-font) +} + +.artalk p:first-child,.atk-layer-wrap p:first-child { + margin-top: 0 +} + +.artalk p:last-child,.atk-layer-wrap p:last-child { + margin-bottom: 0 +} + +.artalk img,.atk-layer-wrap img { + max-width: 100% +} + +.artalk table,.atk-layer-wrap table { + width: 100%; + border-collapse: collapse; + border-spacing: 0; + margin-bottom: 1.5em; + font-size: .96em +} + +.artalk td,.atk-layer-wrap td,.artalk th,.atk-layer-wrap th { + text-align: left; + padding: 4px 8px 4px 10px; + border: 1px solid var(--at-color-border) +} + +.artalk td,.atk-layer-wrap td { + vertical-align: top +} + +.artalk tr:nth-child(even),.atk-layer-wrap tr:nth-child(even) { + background-color: var(--at-color-bg-grey) +} + +.artalk ul,.atk-layer-wrap ul { + list-style: disc +} + +.artalk ol,.atk-layer-wrap ol { + list-style: decimal +} + +.artalk li+li,.atk-layer-wrap li+li { + margin-top: 8px +} + +.artalk li>ol,.atk-layer-wrap li>ol,.artalk li>ul,.atk-layer-wrap li>ul { + margin: 8px 0 0 +} + +.atk-hide { + display: none!important +} + +.atk-full-layer,.atk-loading,.atk-error-layer,.atk-layer-dialog-wrap { + width: 100%; + height: 100%; + position: absolute; + top: 0; + left: 0; + background: var(--at-color-bg); + z-index: 10; + align-items: center; + justify-content: center; + flex-flow: column; + display: flex +} + +.atk-loading { + z-index: 11 +} + +.atk-loading-spinner { + position: relative; + width: 50px; + height: 50px +} + +.atk-loading-spinner svg { + -webkit-animation: atkRotate 2s linear infinite; + animation: atkRotate 2s linear infinite; + transform-origin: center center; + width: 100%; + height: 100%; + position: absolute; + top: 0; + left: 0 +} + +.atk-loading-spinner svg circle { + stroke-dasharray: 1,200; + stroke-dashoffset: 0; + -webkit-animation: atkDash 1.5s ease-in-out infinite,atkColor 6s ease-in-out infinite; + animation: atkDash 1.5s ease-in-out infinite,atkColor 6s ease-in-out infinite; + stroke-linecap: round +} + +@-webkit-keyframes atkRotate { + to { + transform: rotate(360deg) + } +} + +@keyframes atkRotate { + to { + transform: rotate(360deg) + } +} + +@-webkit-keyframes atkDash { + 0% { + stroke-dasharray: 1,200; + stroke-dashoffset: 0 + } + + 50% { + stroke-dasharray: 89,200; + stroke-dashoffset: -35px + } + + to { + stroke-dasharray: 89,200; + stroke-dashoffset: -124px + } +} + +@keyframes atkDash { + 0% { + stroke-dasharray: 1,200; + stroke-dashoffset: 0 + } + + 50% { + stroke-dasharray: 89,200; + stroke-dashoffset: -35px + } + + to { + stroke-dasharray: 89,200; + stroke-dashoffset: -124px + } +} + +@-webkit-keyframes atkColor { + 0%,to { + stroke: #ff5652 + } + + 40% { + stroke: #2196f3 + } + + 66% { + stroke: #32c787 + } + + 80%,90% { + stroke: #ffc107 + } +} + +@keyframes atkColor { + 0%,to { + stroke: #ff5652 + } + + 40% { + stroke: #2196f3 + } + + 66% { + stroke: #32c787 + } + + 80%,90% { + stroke: #ffc107 + } +} + +@-webkit-keyframes atkLoadingIconRotate { + 0% { + transform: rotate(0) + } + + to { + transform: rotate(360deg) + } +} + +@keyframes atkLoadingIconRotate { + 0% { + transform: rotate(0) + } + + to { + transform: rotate(360deg) + } +} + +.atk-loading-icon { + width: 18px; + height: 18px; + box-sizing: border-box; + border: solid 1px transparent; + border-top-color: #29d; + border-left-color: #29d; + border-radius: 50%; + -webkit-animation: atkLoadingIconRotate .4s linear infinite; + animation: atkLoadingIconRotate .4s linear infinite +} + +.atk-fade-in { + -webkit-animation: atkFadeIn both .3s; + animation: atkFadeIn both .3s +} + +.atk-fade-out { + -webkit-animation: atkFadeOut both .2s; + animation: atkFadeOut both .2s +} + +.atk-rotate { + -webkit-animation: atkRotate 2s linear infinite; + animation: atkRotate 2s linear infinite +} + +@-webkit-keyframes atkFadeIn { + 0% { + opacity: 0 + } + + to { + opacity: 1 + } +} + +@keyframes atkFadeIn { + 0% { + opacity: 0 + } + + to { + opacity: 1 + } +} + +@-webkit-keyframes atkFadeOut { + to { + opacity: 0 + } +} + +@keyframes atkFadeOut { + to { + opacity: 0 + } +} + +@keyframes atkRotate { + 0% { + transform: rotate(0) + } + + to { + transform: rotate(360deg) + } +} + +i.atk-icon { + width: 20px; + height: 20px; + background-color: var(--at-color-deep); + background-size: contain; + background-repeat: no-repeat; + -webkit-mask-repeat: no-repeat; + mask-repeat: no-repeat; + -webkit-mask-position: center; + mask-position: center; + -webkit-mask-size: contain; + mask-size: contain +} + +.atk-icon-sync { + -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.99133 4.87635C2.22512 7.64257 2.22512 12.1275 4.99133 14.8937C6.04677 15.9491 7.3524 16.6019 8.71732 16.8519' stroke='%234E5969' stroke-width='2'/%3E%3Cpath d='M14.4179 15.4815L15.0072 14.8922C17.7734 12.126 17.7734 7.64107 15.0072 4.87486C13.9518 3.81942 12.6461 3.16668 11.2812 2.91664' stroke='%234E5969' stroke-width='2'/%3E%3Cpath d='M6.17106 4.99252L5.58181 4.40327L4.99255 3.81401H6.17106V4.99252Z' fill='%23C4C4C4' stroke='%234E5969' stroke-width='2'/%3E%3Cpath d='M13.8299 15.0084L14.4192 15.5976L15.0084 16.1869H13.8299V15.0084Z' fill='%23C4C4C4' stroke='%234E5969' stroke-width='2'/%3E%3C/svg%3E"); + mask-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.99133 4.87635C2.22512 7.64257 2.22512 12.1275 4.99133 14.8937C6.04677 15.9491 7.3524 16.6019 8.71732 16.8519' stroke='%234E5969' stroke-width='2'/%3E%3Cpath d='M14.4179 15.4815L15.0072 14.8922C17.7734 12.126 17.7734 7.64107 15.0072 4.87486C13.9518 3.81942 12.6461 3.16668 11.2812 2.91664' stroke='%234E5969' stroke-width='2'/%3E%3Cpath d='M6.17106 4.99252L5.58181 4.40327L4.99255 3.81401H6.17106V4.99252Z' fill='%23C4C4C4' stroke='%234E5969' stroke-width='2'/%3E%3Cpath d='M13.8299 15.0084L14.4192 15.5976L15.0084 16.1869H13.8299V15.0084Z' fill='%23C4C4C4' stroke='%234E5969' stroke-width='2'/%3E%3C/svg%3E") +} + +.atk-icon-del { + background-color: var(--at-color-red)!important; + -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='22' height='22' viewBox='0 0 22 22' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2.29167 5.04166L4.81251 5.04166M4.81251 5.04166L4.81251 18.3333C4.81251 18.5865 5.01771 18.7917 5.27084 18.7917L16.7292 18.7917C16.9823 18.7917 17.1875 18.5865 17.1875 18.3333V5.04166M4.81251 5.04166L7.33334 5.04166M17.1875 5.04166L19.7083 5.04166M17.1875 5.04166L14.6667 5.04166M7.33334 5.04166V3.20833L14.6667 3.20833V5.04166M7.33334 5.04166L14.6667 5.04166' stroke='%23D06565' stroke-width='2'/%3E%3Cpath d='M9.16667 8.25V15.125M12.8333 8.25V15.125' stroke='%23D06565' stroke-width='2'/%3E%3C/svg%3E"); + mask-image: url("data:image/svg+xml,%3Csvg width='22' height='22' viewBox='0 0 22 22' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2.29167 5.04166L4.81251 5.04166M4.81251 5.04166L4.81251 18.3333C4.81251 18.5865 5.01771 18.7917 5.27084 18.7917L16.7292 18.7917C16.9823 18.7917 17.1875 18.5865 17.1875 18.3333V5.04166M4.81251 5.04166L7.33334 5.04166M17.1875 5.04166L19.7083 5.04166M17.1875 5.04166L14.6667 5.04166M7.33334 5.04166V3.20833L14.6667 3.20833V5.04166M7.33334 5.04166L14.6667 5.04166' stroke='%23D06565' stroke-width='2'/%3E%3Cpath d='M9.16667 8.25V15.125M12.8333 8.25V15.125' stroke='%23D06565' stroke-width='2'/%3E%3C/svg%3E") +} + +.atk-icon-edit { + -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='16' height='17' viewBox='0 0 16 17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.70618 4.08515L12.6081 7.06376M1.00041 13.021L11.7376 2L14.6392 4.97861L3.90274 16H1L1.00041 13.021Z' stroke='%234E5969' stroke-width='1.5'/%3E%3C/svg%3E"); + mask-image: url("data:image/svg+xml,%3Csvg width='16' height='17' viewBox='0 0 16 17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.70618 4.08515L12.6081 7.06376M1.00041 13.021L11.7376 2L14.6392 4.97861L3.90274 16H1L1.00041 13.021Z' stroke='%234E5969' stroke-width='1.5'/%3E%3C/svg%3E") +} + +.atk-icon-no,.atk-icon-close { + -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='25' height='25' viewBox='0 0 25 25' fill='none'%3E%3Cpath d='M19.8657 5.13431L12.5 12.5L5.13431 19.8657' stroke='%234E5969'/%3E%3Cpath d='M5.13431 5.13432L12.5 12.5L19.8657 19.8657' stroke='%234E5969'/%3E%3C/svg%3E"); + mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='25' height='25' viewBox='0 0 25 25' fill='none'%3E%3Cpath d='M19.8657 5.13431L12.5 12.5L5.13431 19.8657' stroke='%234E5969'/%3E%3Cpath d='M5.13431 5.13432L12.5 12.5L19.8657 19.8657' stroke='%234E5969'/%3E%3C/svg%3E") +} + +.atk-icon-yes { + -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='25' height='25' viewBox='0 0 25 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21.7071 5.75533L9.92197 17.5404L3.29285 10.9113' stroke='%234E5969'/%3E%3C/svg%3E"); + mask-image: url("data:image/svg+xml,%3Csvg width='25' height='25' viewBox='0 0 25 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21.7071 5.75533L9.92197 17.5404L3.29285 10.9113' stroke='%234E5969'/%3E%3C/svg%3E") +} + +.atk-icon-plus { + -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2.08331 10H17.9166' stroke='%234E5969' stroke-width='2'/%3E%3Cpath d='M10 2.08334L10 17.9167' stroke='%234E5969' stroke-width='2'/%3E%3C/svg%3E"); + mask-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2.08331 10H17.9166' stroke='%234E5969' stroke-width='2'/%3E%3Cpath d='M10 2.08334L10 17.9167' stroke='%234E5969' stroke-width='2'/%3E%3C/svg%3E") +} + +.atk-error-layer { + background-color: var(--at-color-bg-transl) +} + +.atk-error-layer .atk-error-title { + color: var(--at-color-red) +} + +.atk-error-layer .atk-warn-title { + color: var(--at-color-yellow) +} + +.atk-error-layer .atk-error-title,.atk-error-layer .atk-warn-title { + display: inline-block; + padding: 0 15px; + margin-bottom: 20px; + font-size: 20px; + letter-spacing: -.5px +} + +.atk-error-layer .atk-error-text { + text-align: center; + padding: 0 20px +} + +.atk-error-layer .atk-error-text * { + color: var(--at-color-deep) +} + +.atk-error-layer .atk-error-text a { + color: var(--at-color-meta) +} + +.atk-layer-dialog-wrap { + background-color: var(--at-color-bg-transl) +} + +.atk-layer-dialog-wrap>.atk-layer-dialog { + width: 25% +} + +.atk-layer-dialog-wrap>.atk-layer-dialog>.atk-layer-dialog-content .atk-captcha-img { + cursor: pointer; + width: 170px; + height: auto; + margin-right: 10px; + padding-right: 10px; + border-right: 1px solid var(--at-color-border); + vertical-align: bottom +} + +.atk-layer-dialog-wrap>.atk-layer-dialog>.atk-layer-dialog-content input { + width: 100%; + line-height: 34px; + background-color: var(--at-color-bg); + border: 1px solid var(--at-color-border); + border-radius: 3px; + outline: none; + padding: 0 6px; + display: block; + margin-top: 10px; + margin-bottom: 5px; + text-align: center +} + +.atk-layer-dialog-wrap>.atk-layer-dialog>.atk-layer-dialog-actions { + display: flex; + flex-direction: row +} + +.atk-layer-dialog-wrap>.atk-layer-dialog>.atk-layer-dialog-actions button { + flex: 1; + display: block; + cursor: pointer; + border: 1px solid var(--at-color-main); + background: transparent; + color: var(--at-color-main); + border-radius: 3px; + padding: 0 15px; + line-height: 30px; + outline: none +} + +.atk-layer-dialog-wrap>.atk-layer-dialog>.atk-layer-dialog-actions button:active { + color: #fff; + background: var(--at-color-main) +} + +.atk-layer-dialog-wrap>.atk-layer-dialog>.atk-layer-dialog-actions button:not(:last-child) { + margin-right: 5px +} + +.atk-layer-dialog-wrap>.atk-layer-dialog>.atk-layer-dialog-actions button.error { + color: #fff; + background: #ff5652; + border-color: #ff5652 +} + +.atk-layer-dialog-wrap>.atk-layer-dialog .atk-checker-iframe-wrap { + position: fixed; + z-index: 999998; + left: 0; + top: 0; + height: 100vh; + width: 100vw +} + +.atk-layer-dialog-wrap>.atk-layer-dialog .atk-checker-iframe-wrap>iframe { + width: 100%; + height: 100%; + border: 0 +} + +.atk-layer-dialog-wrap>.atk-layer-dialog .atk-checker-iframe-wrap .atk-close-btn { + z-index: 999999; + position: fixed; + top: 20px; + right: 20px; + display: flex; + flex-direction: column; + width: 50px; + height: 50px; + align-items: center; + place-content: center; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + margin-left: 10px +} + +.atk-layer-dialog-wrap>.atk-layer-dialog .atk-checker-iframe-wrap .atk-close-btn:hover .atk-icon-close { + background-color: #e81123e6 +} + +@media only screen and (max-width: 768px) { + .atk-layer-dialog-wrap>.atk-layer-dialog { + width:90%!important + } +} + +.atk-notify { + display: block; + overflow: hidden; + background-color: #2c2c2c; + color: #fff; + border-radius: 3px; + cursor: pointer; + font-size: 14px; + padding: 5px 15px +} + +.atk-notify:not(:last-child) { + margin-bottom: 3px +} + +.atk-notify .atk-notify-content { + color: #fff +} + +.atk-layer-wrap .atk-layer-mask { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 99998; + background: rgba(0,0,0,.3); + -webkit-backdrop-filter: blur(10px); + backdrop-filter: blur(10px) +} + +.atk-layer-wrap .atk-layer-item { + position: fixed; + z-index: 99999; + top: 0; + right: 0; + width: 100%; + height: 100% +} + +.atk-common-action-btn.atk-btn-confirm,.atk-common-action-btn.atk-btn-warn { + color: var(--at-color-yellow)!important +} + +.atk-common-action-btn.atk-btn-error { + color: var(--at-color-red)!important +} + +.atk-common-action-btn.atk-btn-success { + color: var(--at-color-green)!important +} + +img[atk-emoticon] { + width: 3em; + height: auto; + vertical-align: middle; + max-height: 60px; + display: initial +} + +#owo-big { + position: fixed; + align-items: center; + background-color: var(--at-color-owo); + -webkit-backdrop-filter: saturate(200%) blur(6px); + backdrop-filter: saturate(200%) blur(6px); + border: 1px solid var(--at-color-bg-light); + border-radius: 12px; + box-shadow: 0 0 12px 4px #0000000d; + z-index: 9999; + display: none; + transform: translateY(-105%); + overflow: hidden; + -webkit-animation: owoIn .3s cubic-bezier(.42,0,.3,1.11); + animation: owoIn .3s cubic-bezier(.42,0,.3,1.11); + padding: 16px; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none +} + +#owo-big img { + width: 100%; + border-radius: 10px +} + +#owo-big p { + color: var(--at-color-meta); + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + text-align: center; + font-size: 12px; + margin: 0 +} + +#owo-big p { + margin-top: -14px!important; +} + +@-webkit-keyframes owoIn { + 0% { + transform: translateY(-95%); + opacity: 0 + } + + to { + transform: translateY(-105%); + opacity: 1 + } +} + +@keyframes owoIn { + 0% { + transform: translateY(-95%); + opacity: 0 + } + + to { + transform: translateY(-105%); + opacity: 1 + } +} + +.atk-editor-plug-emoticons { + position: absolute; + top: 98%; + left: 1rem; + border: 1px solid var(--at-color-border); + background-color: var(--at-color-bg); + border-radius: 12px; + box-shadow: 0 0 12px 4px #0000000d; + height: 232px; + width: 100%; + max-width: 468px +} + +@media screen and (max-width: 840px) { + .atk-editor-plug-emoticons { + max-width:100%; + left: 0 + } +} + +.atk-editor-plug-emoticons>.atk-grp-wrap { + overflow-y: scroll; + overflow-x: hidden; + width: 100%; + margin: 8px -5px !important; + max-height: 197px; +} + +.atk-editor-plug-emoticons>.atk-grp-wrap::-webkit-scrollbar { + width: 4px; + height: 4px; + background: transparent +} + +.atk-editor-plug-emoticons>.atk-grp-wrap::-webkit-scrollbar-thumb,.atk-editor-plug-emoticons>.atk-grp-wrap::-webkit-scrollbar-thumb:window-inactive { + background: rgba(86,86,86,.3) +} + +.atk-editor-plug-emoticons>.atk-grp-wrap::-webkit-scrollbar-thumb:vertical:hover { + background: rgba(65,74,82,.77) +} + +.atk-editor-plug-emoticons>.atk-grp-wrap::-webkit-scrollbar-thumb:vertical:active { + background: rgba(41,47,53,.77) +} + +.atk-editor-plug-emoticons>.atk-grp-wrap>.atk-grp { + display: flex; + flex-wrap: wrap; + flex-direction: row; + padding: 5px 10px 35px +} + +.atk-editor-plug-emoticons>.atk-grp-wrap>.atk-grp[data-type=image]>.atk-item { + height: 63px; + width: 63px +} + +.atk-editor-plug-emoticons>.atk-grp-wrap>.atk-grp>.atk-item { + display: flex; + align-items: center; + justify-content: center; + padding: 5px; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + border-radius: 3px; + font-size: 16px; + min-width: 35px +} + +.atk-editor-plug-emoticons>.atk-grp-wrap>.atk-grp>.atk-item>img { + max-height: 100%; + width: auto +} + +.atk-editor-plug-emoticons>.atk-grp-wrap>.atk-grp>.atk-item:hover { + background: var(--at-color-bg-grey) +} + +.atk-editor-plug-emoticons>.atk-grp-switcher { + position: absolute; + margin: 0; + padding: 0; + font-size: 0; + width: 100%; + background: var(--heo-background); + border-bottom-right-radius: 8px; + border-bottom-left-radius: 8px; +} + +.atk-editor-plug-emoticons>.atk-grp-switcher>span { + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + padding: 0 10px; + line-height: 30px; + float: left; + display: block; + cursor: pointer; + font-size: 14px; + border-bottom-right-radius: 10px; + border-bottom-left-radius: 10px +} + +.atk-editor-plug-emoticons>.atk-grp-switcher>span:hover,.atk-editor-plug-emoticons>.atk-grp-switcher>span.active { + background: var(--at-color-bg-grey) +} + +.atk-editor-plug-preview { + overflow-y: auto; + overflow-x: hidden; + height: 100%; + width: 100%; + padding: 10px 15px; + border-top: 1px solid var(--at-color-border); + border-bottom: 1px solid var(--at-color-border); + max-height: 200px; + display: inline-block; + margin-top: 5px +} diff --git a/templates/assets/libs/artalk/Artalk.js b/templates/assets/libs/artalk/Artalk.js new file mode 100644 index 00000000..a8277f64 --- /dev/null +++ b/templates/assets/libs/artalk/Artalk.js @@ -0,0 +1,7031 @@ +// Artalk v2.6.2 +var __defProp = Object.defineProperty + , __defProps = Object.defineProperties + , __getOwnPropDescs = Object.getOwnPropertyDescriptors + , __getOwnPropSymbols = Object.getOwnPropertySymbols + , __hasOwnProp = Object.prototype.hasOwnProperty + , __propIsEnum = Object.prototype.propertyIsEnumerable + , __defNormalProp = (e,t,n)=>t in e ? __defProp(e, t, { + enumerable: !0, + configurable: !0, + writable: !0, + value: n +}) : e[t] = n + , __spreadValues = (e,t)=>{ + for (var n in t || (t = {})) + __hasOwnProp.call(t, n) && __defNormalProp(e, n, t[n]); + if (__getOwnPropSymbols) + for (var n of __getOwnPropSymbols(t)) + __propIsEnum.call(t, n) && __defNormalProp(e, n, t[n]); + return e +} + , __spreadProps = (e,t)=>__defProps(e, __getOwnPropDescs(t)) + , __publicField = (e,t,n)=>(__defNormalProp(e, "symbol" != typeof t ? t + "" : t, n), + n) + , __accessCheck = (e,t,n)=>{ + if (!t.has(e)) + throw TypeError("Cannot " + n) +} + , __privateAdd = (e,t,n)=>{ + if (t.has(e)) + throw TypeError("Cannot add the same private member more than once"); + t instanceof WeakSet ? t.add(e) : t.set(e, n) +} + , __privateMethod = (e,t,n)=>(__accessCheck(e, t, "access private method"), + n) + , __async = (e,t,n)=>new Promise(((i,s)=>{ + var r = e=>{ + try { + o(n.next(e)) + } catch (t) { + s(t) + } + } + , a = e=>{ + try { + o(n.throw(e)) + } catch (t) { + s(t) + } + } + , o = e=>e.done ? i(e.value) : Promise.resolve(e.value).then(r, a); + o((n = n.apply(e, t)).next()) + } +)); +!function(e, t) { + "object" == typeof exports && "undefined" != typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define(t) : (e = "undefined" != typeof globalThis ? globalThis : e || self).Artalk = t() +}(this, (function() { + var e, t, n, i; + function s(e="") { + const t = document.createElement("div"); + return t.innerHTML = e.trim(), + t.firstElementChild || t + } + function r(e) { + return parseFloat(getComputedStyle(e, null).height.replace("px", "")) + } + function a(e) { + const t = RegExp(`[?&]${e}=([^&]*)`).exec(window.location.search); + return t && decodeURIComponent(t[1].replace(/\+/g, " ")) + } + function o(e) { + const t = e.getBoundingClientRect(); + return { + top: t.top + window.scrollY, + left: t.left + window.scrollX + } + } + function l(e, t) { + let n = e.toString(); + for (; n.length < t; ) + n = `0 ${n}`; + return n + } + function c(e, t) { + try { + const n = e.getTime() + , i = (new Date).getTime() - n + , s = Math.floor(i / 864e5); + if (0 === s) { + const e = i % 864e5 + , n = Math.floor(e / 36e5); + if (0 === n) { + const n = e % 36e5 + , i = Math.floor(n / 6e4); + if (0 === i) { + const e = n % 6e4 + , i = Math.round(e / 1e3); + return i < 10 ? t.$t("now") : `${i} ${t.$t("seconds")}` + } + return `${i} ${t.$t("minutes")}` + } + return `${n} ${t.$t("hours")}` + } + return s < 0 ? t.$t("now") : s < 8 ? `${s} ${t.$t("days")}` : function(e) { + const t = l(e.getDate(), 2) + , n = l(e.getMonth() + 1, 2); + return `${l(e.getFullYear(), 2)}-${n}-${t}` + }(e) + } catch (n) { + return console.error(n), + " - " + } + } + function d() { + return __async(this, null, (function*() { + const e = navigator.userAgent; + if (!navigator.userAgentData || !navigator.userAgentData.getHighEntropyValues) + return e; + const t = navigator.userAgentData; + let n = null; + try { + n = yield t.getHighEntropyValues(["platformVersion"]) + } catch (s) { + return console.error(s), + e + } + const i = Number(n.platformVersion.split(".")[0]); + return "Windows" === t.platform && i >= 13 ? e.replace(/Windows NT 10.0/, "Windows NT 11.0") : "macOS" === t.platform && i >= 11 ? e.replace(/(Mac OS X \d+_\d+_\d+|Mac OS X)/, `Mac OS X ${n.platformVersion.replace(/\./g, "_")}`) : e + } + )) + } + function h(e) { + let t; + try { + t = new URL(e) + } catch (n) { + return !1 + } + return "http:" === t.protocol || "https:" === t.protocol + } + function u(e, t) { + return function(e, t) { + return `${e.replace(/\/$/, "")}/${t.replace(/^\//, "")}` + }(e.conf.server, t) + } + function p(e, t) { + const n = e=>e && "object" == typeof e; + return n(e) && n(t) ? (Object.keys(t).forEach((i=>{ + const s = e[i] + , r = t[i]; + Array.isArray(s) && Array.isArray(r) ? e[i] = s.concat(r) : n(s) && n(r) ? e[i] = p(__spreadValues({}, s), r) : e[i] = r + } + )), + e) : t + } + class m { + constructor(e) { + __publicField(this, "$el"), + __publicField(this, "ctx"), + __publicField(this, "conf"), + this.ctx = e, + this.conf = e.conf + } + $t(e, t={}) { + return this.ctx.$t(e, t) + } + } + function g(e, t) { + let n = e.querySelector(":scope > .atk-loading"); + n || (n = s('
'), + (null == t ? void 0 : t.transparentBg) && (n.style.background = "transparent"), + e.appendChild(n)), + n.style.display = ""; + const i = n.querySelector(".atk-loading-spinner"); + i && (i.style.display = "none", + window.setTimeout((()=>{ + i.style.display = "" + } + ), 500)) + } + function f(e) { + const t = e.querySelector(":scope > .atk-loading"); + t && (t.style.display = "none") + } + function k(e, t=!0) { + const n = o(e).top + r(e) / 2 - document.documentElement.clientHeight / 2; + t ? window.scroll({ + top: n > 0 ? n : 0, + left: 0 + }) : window.scroll(0, n > 0 ? n : 0) + } + function y(e, t, n) { + const i = s(`' + (n ? e : U(e, !0)) + "
\n" : "" + (n ? e : U(e, !0)) + "
\n"
+ }
+ blockquote(e) {
+ return `\n ${e}\n` + } + html(e, t) { + return e + } + heading(e, t, n, i) { + if (this.options.headerIds) { + return `
${e}
\n` + } + table(e, t) { + return t && (t = `${t}`), + "${e}
`
+ }
+ br() {
+ return this.options.xhtml ? "An error occurred:
" + U(i.message + "", !0) + ""; + return t ? Promise.resolve(e) : n ? void n(null, e) : e + } + if (t) + return Promise.reject(i); + if (!n) + throw i; + n(i) + } + } + ; + const he = new class { + constructor(...i) { + __privateAdd(this, e), + __privateAdd(this, n), + __publicField(this, "defaults", { + async: !1, + baseUrl: null, + breaks: !1, + extensions: null, + gfm: !0, + headerIds: !1, + headerPrefix: "", + highlight: null, + hooks: null, + langPrefix: "language-", + mangle: !1, + pedantic: !1, + renderer: null, + sanitize: !1, + sanitizer: null, + silent: !1, + smartypants: !1, + tokenizer: null, + walkTokens: null, + xhtml: !1 + }), + __publicField(this, "options", this.setOptions), + __publicField(this, "parse", __privateMethod(this, e, t).call(this, re.lex, ce.parse)), + __publicField(this, "parseInline", __privateMethod(this, e, t).call(this, re.lexInline, ce.parseInline)), + __publicField(this, "Parser", ce), + __publicField(this, "parser", ce.parse), + __publicField(this, "Renderer", ae), + __publicField(this, "TextRenderer", oe), + __publicField(this, "Lexer", re), + __publicField(this, "lexer", re.lex), + __publicField(this, "Tokenizer", ee), + __publicField(this, "Slugger", le), + __publicField(this, "Hooks", de), + this.use(...i) + } + walkTokens(e, t) { + var n, i; + let s = []; + for (const r of e) + switch (s = s.concat(t.call(this, r)), + r.type) { + case "table": + { + const e = r; + for (const n of e.header) + s = s.concat(this.walkTokens(n.tokens, t)); + for (const n of e.rows) + for (const e of n) + s = s.concat(this.walkTokens(e.tokens, t)); + break + } + case "list": + { + const e = r; + s = s.concat(this.walkTokens(e.items, t)); + break + } + default: + { + const e = r; + (null == (i = null == (n = this.defaults.extensions) ? void 0 : n.childTokens) ? void 0 : i[e.type]) ? this.defaults.extensions.childTokens[e.type].forEach((n=>{ + s = s.concat(this.walkTokens(e[n], t)) + } + )) : e.tokens && (s = s.concat(this.walkTokens(e.tokens, t))) + } + } + return s + } + use(...e) { + const t = this.defaults.extensions || { + renderers: {}, + childTokens: {} + }; + return e.forEach((e=>{ + const n = __spreadValues({}, e); + if (n.async = this.defaults.async || n.async || !1, + e.extensions && (e.extensions.forEach((e=>{ + if (!e.name) + throw new Error("extension name required"); + if ("renderer"in e) { + const n = t.renderers[e.name]; + t.renderers[e.name] = n ? function(...t) { + let i = e.renderer.apply(this, t); + return !1 === i && (i = n.apply(this, t)), + i + } + : e.renderer + } + if ("tokenizer"in e) { + if (!e.level || "block" !== e.level && "inline" !== e.level) + throw new Error("extension level must be 'block' or 'inline'"); + const n = t[e.level]; + n ? n.unshift(e.tokenizer) : t[e.level] = [e.tokenizer], + e.start && ("block" === e.level ? t.startBlock ? t.startBlock.push(e.start) : t.startBlock = [e.start] : "inline" === e.level && (t.startInline ? t.startInline.push(e.start) : t.startInline = [e.start])) + } + "childTokens"in e && e.childTokens && (t.childTokens[e.name] = e.childTokens) + } + )), + n.extensions = t), + e.renderer) { + const t = this.defaults.renderer || new ae(this.defaults); + for (const n in e.renderer) { + const i = e.renderer[n] + , s = n + , r = t[s]; + t[s] = (...e)=>{ + let n = i.apply(t, e); + return !1 === n && (n = r.apply(t, e)), + n || "" + } + } + n.renderer = t + } + if (e.tokenizer) { + const t = this.defaults.tokenizer || new ee(this.defaults); + for (const n in e.tokenizer) { + const i = e.tokenizer[n] + , s = n + , r = t[s]; + t[s] = (...e)=>{ + let n = i.apply(t, e); + return !1 === n && (n = r.apply(t, e)), + n + } + } + n.tokenizer = t + } + if (e.hooks) { + const t = this.defaults.hooks || new de; + for (const n in e.hooks) { + const i = e.hooks[n] + , s = n + , r = t[s]; + de.passThroughHooks.has(n) ? t[s] = e=>{ + if (this.defaults.async) + return Promise.resolve(i.call(t, e)).then((e=>r.call(t, e))); + const n = i.call(t, e); + return r.call(t, n) + } + : t[s] = (...e)=>{ + let n = i.apply(t, e); + return !1 === n && (n = r.apply(t, e)), + n + } + } + n.hooks = t + } + if (e.walkTokens) { + const t = this.defaults.walkTokens + , i = e.walkTokens; + n.walkTokens = function(e) { + let n = []; + return n.push(i.call(this, e)), + t && (n = n.concat(t.call(this, e))), + n + } + } + this.defaults = __spreadValues(__spreadValues({}, this.defaults), n) + } + )), + this + } + setOptions(e) { + return this.defaults = __spreadValues(__spreadValues({}, this.defaults), e), + this + } + } + ; + function ue(e, t, n) { + return he.parse(e, t, n) + } + ue.options = ue.setOptions = function(e) { + return he.setOptions(e), + ue.defaults = he.defaults, + F(ue.defaults), + ue + } + , + ue.getDefaults = L, + ue.defaults = A, + ue.use = function(...e) { + return he.use(...e), + ue.defaults = he.defaults, + F(ue.defaults), + ue + } + , + ue.walkTokens = function(e, t) { + return he.walkTokens(e, t) + } + , + ue.parseInline = he.parseInline, + ue.Parser = ce, + ue.parser = ce.parse, + ue.Renderer = ae, + ue.TextRenderer = oe, + ue.Lexer = re, + ue.lexer = re.lex, + ue.Tokenizer = ee, + ue.Slugger = le, + ue.Hooks = de, + ue.parse = ue, + ue.options, + ue.setOptions, + ue.use, + ue.walkTokens, + ue.parseInline; + var pe = "undefined" != typeof globalThis ? globalThis : "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : {}; + function me(e) { + return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e + } + var ge = { + "&": "&", + "<": "<", + ">": ">", + '"': """, + "'": "'" + } + , fe = { + "&": "&", + "<": "<", + ">": ">", + """: '"', + "'": "'" + } + , ke = /(&|<|>|"|')/g + , ye = /[&<>"']/g; + function be(e) { + return ge[e] + } + function _e(e) { + return fe[e] + } + function $e(e) { + return null == e ? "" : String(e).replace(ye, be) + } + function xe(e) { + return null == e ? "" : String(e).replace(ke, _e) + } + $e.options = xe.options = {}; + var ve = { + encode: $e, + escape: $e, + decode: xe, + unescape: xe, + version: "1.0.0-browser" + }; + var we = function e(t) { + for (var n, i, s = Array.prototype.slice.call(arguments, 1); s.length; ) + for (i in n = s.shift()) + n.hasOwnProperty(i) && ("[object Object]" === Object.prototype.toString.call(t[i]) ? t[i] = e(t[i], n[i]) : t[i] = n[i]); + return t + } + , Ce = function(e) { + return "string" == typeof e ? e.toLowerCase() : e + }; + function Se(e, t) { + return e[t] = !0, + e + } + var Te = function(e) { + return e.reduce(Se, {}) + } + , Ee = { + uris: Te(["background", "base", "cite", "href", "longdesc", "src", "usemap"]) + } + , Le = { + voids: Te(["area", "br", "col", "hr", "img", "wbr", "input", "base", "basefont", "link", "meta"]) + } + , Ae = ve + , Fe = Ce + , Oe = Le + , Me = /^<\s*([\w:-]+)((?:\s+[\w:-]+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)\s*>/ + , Re = /^<\s*\/\s*([\w:-]+)[^>]*>/ + , Pe = /([\w:-]+)(?:\s*=\s*(?:(?:"((?:[^"])*)")|(?:'((?:[^'])*)')|([^>\s]+)))?/g + , Be = /^ + , Ie = /^<\s*\//; + var Ue = ve + , De = Ce + , qe = Ee + , ze = Le; + var je = we + , We = function(e, t) { + for (var n, i = function() { + var e = []; + return e.lastItem = function() { + return e[e.length - 1] + } + , + e + }(), s = e; e; ) + r(); + function r() { + n = !0, + function() { + "\x3c!--" === e.substr(0, 4) ? (i = e.indexOf("--\x3e")) >= 0 && (t.comment && t.comment(e.substring(4, i)), + e = e.substring(i + 3), + n = !1) : Ie.test(e) ? a(Re, l) : Be.test(e) && a(Me, o); + var i; + !function() { + if (!n) + return; + var i, s = e.indexOf("<"); + s >= 0 ? (i = e.substring(0, s), + e = e.substring(s)) : (i = e, + e = ""); + t.chars && t.chars(i) + }() + }(); + var i = e === s; + s = e, + i && (e = "") + } + function a(t, i) { + var s = e.match(t); + s && (e = e.substring(s[0].length), + s[0].replace(t, i), + n = !1) + } + function o(e, n, s, r) { + var a = {} + , o = Fe(n) + , l = Oe.voids[o] || !!r; + s.replace(Pe, (function(e, t, n, i, s) { + a[t] = void 0 === n && void 0 === i && void 0 === s ? void 0 : Ae.decode(n || i || s || "") + } + )), + l || i.push(o), + t.start && t.start(o, a, l) + } + function l(e, n) { + var s, r = 0, a = Fe(n); + if (a) + for (r = i.length - 1; r >= 0 && i[r] !== a; r--) + ; + if (r >= 0) { + for (s = i.length - 1; s >= r; s--) + t.end && t.end(i[s]); + i.length = r + } + } + l() + } + , Ne = function(e, t) { + var n, i = t || {}; + return o(), + { + start: function(e, t, a) { + var o = De(e); + if (n.ignoring) + return void r(o); + if (-1 === (i.allowedTags || []).indexOf(o)) + return void r(o); + if (i.filter && !i.filter({ + tag: o, + attrs: t + })) + return void r(o); + s("<"), + s(o), + Object.keys(t).forEach((function(e) { + var n = t[e] + , r = (i.allowedClasses || {})[o] || [] + , a = (i.allowedAttributes || {})[o] || [] + , l = De(e); + ("class" === l && -1 === a.indexOf(l) ? (n = n.split(" ").filter((function(e) { + return r && -1 !== r.indexOf(e) + } + )).join(" ").trim()).length : -1 !== a.indexOf(l) && (!0 !== qe.uris[l] || function(e) { + var t = e[0]; + if ("#" === t || "/" === t) + return !0; + var n = e.indexOf(":"); + if (-1 === n) + return !0; + var s = e.indexOf("?"); + if (-1 !== s && n > s) + return !0; + var r = e.indexOf("#"); + return -1 !== r && n > r || i.allowedSchemes.some(a); + function a(t) { + return 0 === e.indexOf(t + ":") + } + }(n))) && (s(" "), + s(e), + "string" == typeof n && (s('="'), + s(Ue.encode(n)), + s('"'))) + } + )), + s(a ? "/>" : ">") + }, + end: function(e) { + var t = De(e); + -1 !== (i.allowedTags || []).indexOf(t) && !1 === n.ignoring ? (s(""), + s(t), + s(">")) : a(t) + }, + chars: function(e) { + !1 === n.ignoring && s(i.transformText ? i.transformText(e) : e) + } + }; + function s(t) { + e.push(t) + } + function r(e) { + ze.voids[e] || (!1 === n.ignoring ? n = { + ignoring: e, + depth: 1 + } : n.ignoring === e && n.depth++) + } + function a(e) { + n.ignoring === e && --n.depth <= 0 && o() + } + function o() { + n = { + ignoring: !1, + depth: 0 + } + } + } + , He = { + allowedAttributes: { + a: ["href", "name", "target", "title", "aria-label"], + iframe: ["allowfullscreen", "frameborder", "src"], + img: ["src", "alt", "title", "aria-label"] + }, + allowedClasses: {}, + allowedSchemes: ["http", "https", "mailto"], + allowedTags: ["a", "abbr", "article", "b", "blockquote", "br", "caption", "code", "del", "details", "div", "em", "h1", "h2", "h3", "h4", "h5", "h6", "hr", "i", "img", "ins", "kbd", "li", "main", "mark", "ol", "p", "pre", "section", "span", "strike", "strong", "sub", "summary", "sup", "table", "tbody", "td", "th", "thead", "tr", "u", "ul"], + filter: null + }; + function Ve(e, t, n) { + var i = [] + , s = !0 === n ? t : je({}, He, t) + , r = Ne(i, s); + return We(e, r), + i.join("") + } + Ve.defaults = He; + const Qe = me(Ve); + var Ze = { + exports: {} + }; + Ze.exports = function() { + function e(e, t) { + return e(t = { + exports: {} + }, t.exports), + t.exports + } + var t = e((function(e) { + var t = e.exports = function() { + return new RegExp("(?:" + t.line().source + ")|(?:" + t.block().source + ")","gm") + } + ; + t.line = function() { + return /(?:^|\s)\/\/(.+?)$/gm + } + , + t.block = function() { + return /\/\*([\S\s]*?)\*\//gm + } + } + )) + , n = ["23AC69", "91C132", "F19726", "E8552D", "1AAB8E", "E1147F", "2980C1", "1BA1E6", "9FA0A0", "F19726", "E30B20", "E30B20", "A3338B"]; + function i(e) { + return '' + e + "" + } + return function(e, s) { + void 0 === s && (s = {}); + var r = s.colors; + void 0 === r && (r = n); + var a = 0 + , o = {} + , l = new RegExp("(" + /[\u4E00-\u9FFF\u3400-\u4dbf\uf900-\ufaff\u3040-\u309f\uac00-\ud7af\u0400-\u04FF]+|\w+/.source + "|" + /' + t + ""; + return a = ++a % r.length, + l + } + )) + } + }(); + const Ge = me(Ze.exports); + let Ke; + function Ye() { + return Ke + } + function Xe(e, t) { + var n; + let i = null == (n = Ye()) ? void 0 : n.parse(t); + i || (i = t.replace(/```\s*([^]+?.*?[^]+?[^]+?)```/g, ((e,t)=>`
${Ge(t)}
`)).replace(/!\[(.*?)\]\((.*?)\)/g, ((e,t,n)=>`\n${i.replace(/&/g, "&")}
\n
`
+ }
+ ;
+ const n = ue;
+ ue.setOptions({
+ renderer: e,
+ pedantic: !1,
+ gfm: !0,
+ breaks: !0,
+ smartLists: !0,
+ smartypants: !0,
+ xhtml: !1,
+ sanitize: !1,
+ silent: !0
+ }),
+ Ke = n
+ }()
+ },
+ user: e=>(lt.setContext(e),
+ lt),
+ api: e=>new en(e),
+ checkerLauncher: e=>new Gt(e),
+ editor(e) {
+ const t = new bn(e);
+ return e.$root.appendChild(t.$el),
+ t
+ },
+ list(e) {
+ const t = new Wt(e);
+ return e.$root.appendChild(t.$el),
+ t.fetchComments(0),
+ t
+ },
+ layer(e) {
+ x.BodyOrgOverflow = document.body.style.overflow,
+ x.BodyOrgPaddingRight = document.body.style.paddingRight
+ },
+ sidebarLayer: e=>new _n(e),
+ eventsDefault(e) {
+ window.addEventListener("hashchange", (()=>{
+ e.listHashGotoCheck()
+ }
+ )),
+ e.on("user-changed", (()=>{
+ e.checkAdminShowEl(),
+ e.listRefreshUI()
+ }
+ ))
+ },
+ darkMode(e) {
+ S(e),
+ e.on("conf-loaded", (()=>{
+ S(e)
+ }
+ ))
+ }
+ };
+ function xn(e) {
+ return __async(this, null, (function*() {
+ const t = e.ctx.conf.countEl;
+ t && document.querySelector(t) && vn(e, {
+ api: "page_comment",
+ countEl: t
+ });
+ const n = e.pvAdd ? yield e.ctx.getApi().page.pv() : void 0
+ , i = e.ctx.conf.pvEl;
+ i && document.querySelector(i) && vn(e, {
+ api: "page_pv",
+ countEl: i,
+ curtPageCount: n
+ })
+ }
+ ))
+ }
+ function vn(e, t) {
+ return __async(this, null, (function*() {
+ let n = {};
+ const i = e.ctx.conf.pageKey;
+ t.curtPageCount && (n[i] = t.curtPageCount);
+ let s = Array.from(document.querySelectorAll(t.countEl)).map((e=>e.getAttribute("data-page-key") || i)).filter((e=>void 0 === n[e]));
+ if (s = [...new Set(s)],
+ s.length > 0) {
+ const i = yield e.ctx.getApi().page.stat(t.api, s);
+ n = __spreadValues(__spreadValues({}, n), i)
+ }
+ document.querySelectorAll(t.countEl).forEach((e=>{
+ const t = e.getAttribute("data-page-key") || i;
+ e.innerHTML = `${Number(n[t] || 0)}`
+ }
+ ))
+ }
+ ))
+ }
+ const wn = class e {
+ constructor(t) {
+ __publicField(this, "conf"),
+ __publicField(this, "ctx"),
+ __publicField(this, "$root"),
+ e.instance && e.destroy(),
+ this.conf = qt(t),
+ this.conf.el instanceof HTMLElement && (this.$root = this.conf.el),
+ this.showOwoBig(this.conf.el),
+ this.ctx = new Nt(this.conf,this.$root),
+ Object.entries($n).forEach((([t,n])=>{
+ if (e.DisabledComponents.includes(t))
+ return;
+ const i = n(this.ctx);
+ i && this.ctx.inject(t, i)
+ }
+ )),
+ e.plugins.forEach((e=>{
+ "function" == typeof e && e(this.ctx)
+ }
+ ))
+ }
+ /** 表情包放大 */
+ showOwoBig(e) {
+ const t = 200
+ , i = document.querySelector("body");
+ let n = document.createElement("div");
+ document.querySelector("#owo-big") ? n = document.querySelector("#owo-big") : (n.id = "owo-big",
+ i.appendChild(n));
+ new MutationObserver((e=>{
+ var s, r, a, o, l, c, h, d;
+ for (let u = 0; u < e.length; u++) {
+ const p = e[u].addedNodes;
+ let m = 1
+ , g = 0;
+ ((null == (r = null == (s = p[0]) ? void 0 : s.classList) ? void 0 : r.contains("atk-grp")) || (null == (o = null == (a = p[0]) ? void 0 : a.classList) ? void 0 : o.contains("atk-comment-wrap")) || (null == (l = p[0]) ? void 0 : l.attributes) && (null == (c = p[0]) ? void 0 : c.attributes["atk-emoticon"]) || "function" == typeof (null == (h = p[0]) ? void 0 : h.querySelector) && (null == (d = p[0]) ? void 0 : d.querySelector("img[atk-emoticon]"))) && (p[0].onmouseover = e=>{
+ m && "IMG" === e.target.tagName && e.target.attributes["atk-emoticon"] && (m = 0,
+ g = setTimeout((()=>{
+ const s = "true" === e.target.getAttribute("notitle") ? "" : e.target.alt || ""
+ , r = e.target.clientHeight
+ , a = e.target.clientWidth;
+ if (r <= t && a <= t) {
+ const o = e.target.naturalHeight
+ , l = e.target.naturalWidth
+ , c = 2 * r
+ , h = 2 * a
+ , d = o > r ? c < o && o < t ? c : o : r
+ , u = l > a ? h < l && l < t ? h : l : a;
+ let p = 0
+ , m = 0;
+ u / d >= 1 ? u >= t ? (p = t,
+ m = d * t / u) : (p = u,
+ m = d) : d >= t ? (m = t,
+ p = u * t / d) : (p = u,
+ m = d);
+ const g = e.y - e.offsetY;
+ let f = e.x - e.offsetX - (p - e.target.clientWidth) / 2;
+ f + p > i.clientWidth && (f -= f + p - i.clientWidth + 10),
+ f < 0 && (f = 10),
+ "" !== s && (m += 10),
+ n.style.cssText = `display:block;height:${m + 34}px;width:${p + 34}px;left:${f}px;top:${g}px;`,
+ n.innerHTML = `${s}
` + } + } + ), 300)) + } + , + p[0].onmouseout = ()=>{ + m = 1, + n.style.display = "none", + clearTimeout(g) + } + ) + } + } + )).observe(e, { + subtree: !0, + childList: !0 + }) + } + static init(t) { + return this.instance && e.destroy(), + this.instance = new e(t), + this.instance + } + use(t) { + e.plugins.push(t), + "function" == typeof t && t(this.ctx) + } + update(t) { + if (!e.instance) + throw Error("cannot call `update` function before call `load`"); + return e.instance.ctx.updateConf(t), + e.instance + } + reload() { + this.ctx.listReload() + } + destroy() { + if (!e.instance) + throw Error("cannot call `destroy` function before call `load`"); + e.instance.$root.remove(), + delete e.instance + } + on(e, t) { + this.ctx.on(e, t, "external") + } + off(e, t) { + this.ctx.off(e, t, "external") + } + trigger(e, t) { + this.ctx.trigger(e, t, "external") + } + setDarkMode(e) { + this.ctx.setDarkMode(e) + } + static use(e) { + this.plugins.push(e), + this.instance && "function" == typeof e && e(this.instance.ctx) + } + static update(e) { + var t; + return null == (t = this.instance) ? void 0 : t.update(e) + } + static reload() { + var e; + null == (e = this.instance) || e.reload() + } + static destroy() { + var e; + null == (e = this.instance) || e.destroy() + } + static on(e, t) { + var n; + null == (n = this.instance) || n.on(e, t) + } + static off(e, t) { + var n; + null == (n = this.instance) || n.off(e, t) + } + static trigger(e, t) { + var n; + null == (n = this.instance) || n.trigger(e, t) + } + static setDarkMode(e) { + var t; + null == (t = this.instance) || t.setDarkMode(e) + } + static loadCountWidget(e) { + const t = new Nt(qt(e)); + t.inject("api", new en(t)), + xn({ + ctx: t, + pvAdd: !1 + }) + } + static LoadCountWidget(e) { + console.warn("The method `LoadCountWidget` is deprecated, please use `loadCountWidget` instead."), + this.loadCountWidget(e) + } + } + ; + return __publicField(wn, "instance"), + __publicField(wn, "ListLite", jt), + __publicField(wn, "defaults", Dt), + __publicField(wn, "plugins", [e=>{ + e.conf.useBackendConf ? e.on("list-loaded", (()=>{ + xn({ + ctx: e, + pvAdd: !0 + }) + } + )) : xn({ + ctx: e, + pvAdd: !0 + }) + } + ]), + __publicField(wn, "DisabledComponents", []), + wn + } +)); diff --git a/templates/assets/libs/color-thief/color-thief.umd.js b/templates/assets/libs/color-thief/color-thief.umd.js deleted file mode 100644 index 13ae4072..00000000 --- a/templates/assets/libs/color-thief/color-thief.umd.js +++ /dev/null @@ -1 +0,0 @@ -!function(t,r){"object"==typeof exports&&"undefined"!=typeof module?module.exports=r():"function"==typeof define&&define.amd?define(r):t.ColorThief=r()}(this,function(){if(!t)var t={map:function(t,r){var n={};return r?t.map(function(t,o){return n.index=o,r.call(n,t)}):t.slice()},naturalOrder:function(t,r){return t{{ERROR}}
r?"next":i=d.length&&(g=d.length-1),(c||o.initialSlide||0)===(u||0)&&a&&n.emit("beforeSlideChangeStart");var b,y=-d[g];if(n.updateProgress(y),o.normalizeSlideIndex)for(var w=0;w=i.length-s&&(t=-i.length+a+s,t+=s,e.slideTo(t,0,!1,!0)&&0!==d&&e.setTranslate((o?-e.translate:e.translate)-d)),e.allowSlidePrev=r,e.allowSlideNext=n,e.emit("loopFix")},loopDestroy:function(){var e=this,t=e.$wrapperEl,a=e.params,i=e.slides;t.children("."+a.slideClass+"."+a.slideDuplicateClass+",."+a.slideClass+"."+a.slideBlankClass).remove(),i.removeAttr("data-swiper-slide-index")}},grabCursor:{setGrabCursor:function(e){var t=this;if(!(t.support.touch||!t.params.simulateTouch||t.params.watchOverflow&&t.isLocked||t.params.cssMode)){var a=t.el;a.style.cursor="move",a.style.cursor=e?"-webkit-grabbing":"-webkit-grab",a.style.cursor=e?"-moz-grabbin":"-moz-grab",a.style.cursor=e?"grabbing":"grab"}},unsetGrabCursor:function(){var e=this;e.support.touch||e.params.watchOverflow&&e.isLocked||e.params.cssMode||(e.el.style.cursor="")}},manipulation:{appendSlide:function(e){var t=this,a=t.$wrapperEl,i=t.params;if(i.loop&&t.loopDestroy(),"object"==typeof e&&"length"in e)for(var s=0;s