@textbus/xnote 0.0.1-alpha.20 → 0.0.1-alpha.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/bundles/index.css CHANGED
@@ -21,4 +21,4 @@
21
21
  Updated for @stackoverflow/stacks v0.64.0
22
22
  Code Blocks: /blob/v0.64.0/lib/css/components/_stacks-code-blocks.less
23
23
  Colors: /blob/v0.64.0/lib/css/exports/_stacks-constants-colors.less
24
- */}.xnote-source-code.stackoverflow-light pre code.hljs{display:block;overflow-x:auto;padding:1em}.xnote-source-code.stackoverflow-light code.hljs{padding:3px 5px}.xnote-source-code.stackoverflow-light .hljs{background:#f6f6f6;color:#2f3337}.xnote-source-code.stackoverflow-light .hljs-subst{color:#2f3337}.xnote-source-code.stackoverflow-light .hljs-comment{color:#656e77}.xnote-source-code.stackoverflow-light .hljs-attr,.xnote-source-code.stackoverflow-light .hljs-doctag,.xnote-source-code.stackoverflow-light .hljs-keyword,.xnote-source-code.stackoverflow-light .hljs-meta .hljs-keyword,.xnote-source-code.stackoverflow-light .hljs-section,.xnote-source-code.stackoverflow-light .hljs-selector-tag{color:#015692}.xnote-source-code.stackoverflow-light .hljs-attribute{color:#803378}.xnote-source-code.stackoverflow-light .hljs-name,.xnote-source-code.stackoverflow-light .hljs-number,.xnote-source-code.stackoverflow-light .hljs-quote,.xnote-source-code.stackoverflow-light .hljs-selector-id,.xnote-source-code.stackoverflow-light .hljs-template-tag,.xnote-source-code.stackoverflow-light .hljs-type{color:#b75501}.xnote-source-code.stackoverflow-light .hljs-selector-class{color:#015692}.xnote-source-code.stackoverflow-light .hljs-link,.xnote-source-code.stackoverflow-light .hljs-regexp,.xnote-source-code.stackoverflow-light .hljs-selector-attr,.xnote-source-code.stackoverflow-light .hljs-string,.xnote-source-code.stackoverflow-light .hljs-symbol,.xnote-source-code.stackoverflow-light .hljs-template-variable,.xnote-source-code.stackoverflow-light .hljs-variable{color:#54790d}.xnote-source-code.stackoverflow-light .hljs-meta,.xnote-source-code.stackoverflow-light .hljs-selector-pseudo{color:#015692}.xnote-source-code.stackoverflow-light .hljs-built_in,.xnote-source-code.stackoverflow-light .hljs-literal,.xnote-source-code.stackoverflow-light .hljs-title{color:#b75501}.xnote-source-code.stackoverflow-light .hljs-bullet,.xnote-source-code.stackoverflow-light .hljs-code{color:#535a60}.xnote-source-code.stackoverflow-light .hljs-meta .hljs-string{color:#54790d}.xnote-source-code.stackoverflow-light .hljs-deletion{color:#c02d2e}.xnote-source-code.stackoverflow-light .hljs-addition{color:#2f6f44}.xnote-source-code.stackoverflow-light .hljs-emphasis{font-style:italic}.xnote-source-code.stackoverflow-light .hljs-strong{font-weight:700}.xnote-source-code.vs2015 pre code.hljs{display:block;overflow-x:auto;padding:1em}.xnote-source-code.vs2015 code.hljs{padding:3px 5px}.xnote-source-code.vs2015 .hljs{background:#1e1e1e;color:#dcdcdc}.xnote-source-code.vs2015 .hljs-keyword,.xnote-source-code.vs2015 .hljs-literal,.xnote-source-code.vs2015 .hljs-name,.xnote-source-code.vs2015 .hljs-symbol{color:#569cd6}.xnote-source-code.vs2015 .hljs-link{color:#569cd6;text-decoration:underline}.xnote-source-code.vs2015 .hljs-built_in,.xnote-source-code.vs2015 .hljs-type{color:#4ec9b0}.xnote-source-code.vs2015 .hljs-class,.xnote-source-code.vs2015 .hljs-number{color:#b8d7a3}.xnote-source-code.vs2015 .hljs-meta .hljs-string,.xnote-source-code.vs2015 .hljs-string{color:#d69d85}.xnote-source-code.vs2015 .hljs-regexp,.xnote-source-code.vs2015 .hljs-template-tag{color:#9a5334}.xnote-source-code.vs2015 .hljs-formula,.xnote-source-code.vs2015 .hljs-function,.xnote-source-code.vs2015 .hljs-params,.xnote-source-code.vs2015 .hljs-subst,.xnote-source-code.vs2015 .hljs-title{color:#dcdcdc}.xnote-source-code.vs2015 .hljs-comment,.xnote-source-code.vs2015 .hljs-quote{color:#57a64a;font-style:italic}.xnote-source-code.vs2015 .hljs-doctag{color:#608b4e}.xnote-source-code.vs2015 .hljs-meta,.xnote-source-code.vs2015 .hljs-meta .hljs-keyword,.xnote-source-code.vs2015 .hljs-tag{color:#9b9b9b}.xnote-source-code.vs2015 .hljs-template-variable,.xnote-source-code.vs2015 .hljs-variable{color:#bd63c5}.xnote-source-code.vs2015 .hljs-attr,.xnote-source-code.vs2015 .hljs-attribute{color:#9cdcfe}.xnote-source-code.vs2015 .hljs-section{color:gold}.xnote-source-code.vs2015 .hljs-emphasis{font-style:italic}.xnote-source-code.vs2015 .hljs-strong{font-weight:700}.xnote-source-code.vs2015 .hljs-bullet,.xnote-source-code.vs2015 .hljs-selector-attr,.xnote-source-code.vs2015 .hljs-selector-class,.xnote-source-code.vs2015 .hljs-selector-id,.xnote-source-code.vs2015 .hljs-selector-pseudo,.xnote-source-code.vs2015 .hljs-selector-tag{color:#d7ba7d}.xnote-source-code.vs2015 .hljs-addition{background-color:#144212;display:inline-block;width:100%}.xnote-source-code.vs2015 .hljs-deletion{background-color:#600;display:inline-block;width:100%}.xnote-source-code.xcode .xnote-source-code-container{border:1px solid #eee}.xnote-source-code.xcode .xnote-source-code-line-number-bg{background-color:#fafafa}.xnote-source-code.xcode pre code.hljs{display:block;overflow-x:auto;padding:1em}.xnote-source-code.xcode code.hljs{padding:3px 5px}.xnote-source-code.xcode .hljs{background:#fff;color:#000}.xnote-source-code.xcode .xml .hljs-meta{color:silver}.xnote-source-code.xcode .hljs-comment,.xnote-source-code.xcode .hljs-quote{color:#007400}.xnote-source-code.xcode .hljs-attribute,.xnote-source-code.xcode .hljs-keyword,.xnote-source-code.xcode .hljs-literal,.xnote-source-code.xcode .hljs-name,.xnote-source-code.xcode .hljs-selector-tag,.xnote-source-code.xcode .hljs-tag{color:#aa0d91}.xnote-source-code.xcode .hljs-template-variable,.xnote-source-code.xcode .hljs-variable{color:#3f6e74}.xnote-source-code.xcode .hljs-code,.xnote-source-code.xcode .hljs-meta .hljs-string,.xnote-source-code.xcode .hljs-string{color:#c41a16}.xnote-source-code.xcode .hljs-link,.xnote-source-code.xcode .hljs-regexp{color:#0e0eff}.xnote-source-code.xcode .hljs-bullet,.xnote-source-code.xcode .hljs-number,.xnote-source-code.xcode .hljs-symbol,.xnote-source-code.xcode .hljs-title{color:#1c00cf}.xnote-source-code.xcode .hljs-meta,.xnote-source-code.xcode .hljs-section{color:#643820}.xnote-source-code.xcode .hljs-built_in,.xnote-source-code.xcode .hljs-class .hljs-title,.xnote-source-code.xcode .hljs-params,.xnote-source-code.xcode .hljs-title.class_,.xnote-source-code.xcode .hljs-type{color:#5c2699}.xnote-source-code.xcode .hljs-attr{color:#836c28}.xnote-source-code.xcode .hljs-subst{color:#000}.xnote-source-code.xcode .hljs-formula{background-color:#eee;font-style:italic}.xnote-source-code.xcode .hljs-addition{background-color:#baeeba}.xnote-source-code.xcode .hljs-deletion{background-color:#ffc8bd}.xnote-source-code.xcode .hljs-selector-class,.xnote-source-code.xcode .hljs-selector-id{color:#9b703f}.xnote-source-code.xcode .hljs-doctag,.xnote-source-code.xcode .hljs-strong{font-weight:700}.xnote-source-code.xcode .hljs-emphasis{font-style:italic}.xnote-source-code.xnote-dark pre code.hljs{display:block;overflow-x:auto;padding:1em}.xnote-source-code.xnote-dark code.hljs{padding:3px 5px}.xnote-source-code.xnote-dark .hljs{background:#182324;color:#a9aeb2}.xnote-source-code.xnote-dark .hljs-comment,.xnote-source-code.xnote-dark .hljs-quote{color:#5c6d6e;font-style:italic}.xnote-source-code.xnote-dark .hljs-doctag,.xnote-source-code.xnote-dark .hljs-formula,.xnote-source-code.xnote-dark .hljs-keyword{color:#71b155;font-weight:700}.xnote-source-code.xnote-dark .hljs-deletion,.xnote-source-code.xnote-dark .hljs-section,.xnote-source-code.xnote-dark .hljs-selector-tag{color:#e06c75}.xnote-source-code.xnote-dark .hljs-literal{color:#388138}.xnote-source-code.xnote-dark .hljs-addition,.xnote-source-code.xnote-dark .hljs-attribute,.xnote-source-code.xnote-dark .hljs-meta .hljs-string,.xnote-source-code.xnote-dark .hljs-regexp,.xnote-source-code.xnote-dark .hljs-string{color:#dd7600}.xnote-source-code.xnote-dark .hljs-number,.xnote-source-code.xnote-dark .hljs-selector-attr,.xnote-source-code.xnote-dark .hljs-selector-class,.xnote-source-code.xnote-dark .hljs-selector-pseudo,.xnote-source-code.xnote-dark .hljs-template-variable,.xnote-source-code.xnote-dark .hljs-type,.xnote-source-code.xnote-dark .hljs-variable{color:#388138}.xnote-source-code.xnote-dark .hljs-bullet,.xnote-source-code.xnote-dark .hljs-link,.xnote-source-code.xnote-dark .hljs-meta,.xnote-source-code.xnote-dark .hljs-name,.xnote-source-code.xnote-dark .hljs-selector-id,.xnote-source-code.xnote-dark .hljs-subst,.xnote-source-code.xnote-dark .hljs-symbol,.xnote-source-code.xnote-dark .hljs-title{color:#2e89c1}.xnote-source-code.xnote-dark .hljs-built_in,.xnote-source-code.xnote-dark .hljs-class .hljs-title,.xnote-source-code.xnote-dark .hljs-title.class_{color:#e6c07b}.xnote-source-code.xnote-dark .hljs-emphasis{font-style:italic}.xnote-source-code.xnote-dark .hljs-strong{font-weight:700}.xnote-source-code.xnote-dark .hljs-link{text-decoration:underline}.xnote-source-code.xnote-dark-blue pre code.hljs{display:block;overflow-x:auto;padding:1em}.xnote-source-code.xnote-dark-blue code.hljs{padding:3px 5px}.xnote-source-code.xnote-dark-blue .hljs{background:#1c222a;color:#a9aeb2}.xnote-source-code.xnote-dark-blue .hljs-comment,.xnote-source-code.xnote-dark-blue .hljs-quote{color:#5c6d6e;font-style:italic}.xnote-source-code.xnote-dark-blue .hljs-doctag,.xnote-source-code.xnote-dark-blue .hljs-formula,.xnote-source-code.xnote-dark-blue .hljs-keyword{color:#0086b3;font-weight:700}.xnote-source-code.xnote-dark-blue .hljs-deletion,.xnote-source-code.xnote-dark-blue .hljs-section,.xnote-source-code.xnote-dark-blue .hljs-selector-tag{color:#e06c75}.xnote-source-code.xnote-dark-blue .hljs-literal{color:#388138}.xnote-source-code.xnote-dark-blue .hljs-addition,.xnote-source-code.xnote-dark-blue .hljs-attribute,.xnote-source-code.xnote-dark-blue .hljs-meta .hljs-string,.xnote-source-code.xnote-dark-blue .hljs-regexp,.xnote-source-code.xnote-dark-blue .hljs-string{color:#ce5a70}.xnote-source-code.xnote-dark-blue .hljs-number,.xnote-source-code.xnote-dark-blue .hljs-selector-attr,.xnote-source-code.xnote-dark-blue .hljs-selector-class,.xnote-source-code.xnote-dark-blue .hljs-selector-pseudo,.xnote-source-code.xnote-dark-blue .hljs-template-variable,.xnote-source-code.xnote-dark-blue .hljs-type,.xnote-source-code.xnote-dark-blue .hljs-variable{color:#388138}.xnote-source-code.xnote-dark-blue .hljs-bullet,.xnote-source-code.xnote-dark-blue .hljs-link,.xnote-source-code.xnote-dark-blue .hljs-meta,.xnote-source-code.xnote-dark-blue .hljs-name,.xnote-source-code.xnote-dark-blue .hljs-selector-id,.xnote-source-code.xnote-dark-blue .hljs-subst,.xnote-source-code.xnote-dark-blue .hljs-symbol,.xnote-source-code.xnote-dark-blue .hljs-title{color:#2e89c1}.xnote-source-code.xnote-dark-blue .hljs-built_in,.xnote-source-code.xnote-dark-blue .hljs-class .hljs-title,.xnote-source-code.xnote-dark-blue .hljs-title.class_{color:#399fcf}.xnote-source-code.xnote-dark-blue .hljs-emphasis{font-style:italic}.xnote-source-code.xnote-dark-blue .hljs-strong{font-weight:700}.xnote-source-code.xnote-dark-blue .hljs-link{text-decoration:underline}.xnote-source-code code{background:none;border:none;border-radius:0;padding:0;vertical-align:inherit}.xnote-source-code{margin-bottom:16px;margin-top:16px;position:relative}.xnote-source-code-container{border-radius:5px;display:flex;line-height:1.418em;overflow:hidden;position:relative}.xnote-source-code-container.xnote-source-code-auto-break .xnote-source-code-line{word-wrap:break-word;white-space:pre-wrap;word-break:break-all}code,kbd,pre,samp{font-family:Microsoft YaHei Mono,Menlo,Monaco,Consolas,Courier New,monospace}.xnote-source-code-line-number-bg{background-color:inherit;display:none;position:relative;width:3em;z-index:2}.xnote-source-code.xnote-source-code-line-number .xnote-source-code-line-number-bg{display:block}.xnote-source-code.xnote-source-code-line-number .xnote-source-code-line{margin-left:-4em}.xnote-source-code-content{counter-reset:codeNum;flex:1;font-size:15px;margin:0;max-height:450px;overflow:auto;padding:15px 0;position:relative}.xnote-source-code-content:hover::-webkit-scrollbar-thumb{background-color:#80848f}.xnote-source-code-content::-webkit-scrollbar-thumb{border:0;border-radius:4px;height:50px;outline:0;outline-offset:0}.xnote-source-code-content::-webkit-scrollbar-thumb:hover{background-color:#495060;height:50px}.xnote-source-code-content::-webkit-scrollbar{border-radius:3px;height:6px;width:6px}.xnote-source-code-content-highlight .xnote-source-code-line{opacity:.36}.xnote-source-code-line{display:flex;margin:2px 0}.xnote-source-code-line-content{display:block;padding:0 20px}.xnote-source-code-line-number .xnote-source-code-line-content{padding:0 20px 0 10px}.xnote-source-code-line-number .xnote-source-code-line:before{box-sizing:border-box;content:counter(codeNum);counter-increment:codeNum;left:0;min-width:4em;opacity:.5;overflow:hidden;padding-right:10px;position:sticky;text-align:right;transform:translateX(-4em);white-space:nowrap;z-index:2}.xnote-source-code-content-highlight .xnote-source-code-line-emphasize{opacity:1}.xnote-source-code-lang{font-size:13px;opacity:.5;padding:4px 10px;pointer-events:none;position:absolute;right:0;top:0}.xnote-paragraph p{margin:8px 0}.xnote-blockquote{border-left:2px solid #296eff;margin:1em 0;padding:0 15px}.xnote-blockquote>:first-child{margin-top:0}.xnote-blockquote>:last-child{margin-bottom:0}.xnote-highlight-box{background:#fcf5ce;border:1px solid #f5c774;border-radius:4px;display:flex;margin:16px 0}.xnote-highlight-box-left{padding-top:.65em;text-align:center;width:40px}.xnote-highlight-box-content{flex:1}.xnote-highlight-box-icon button{background:none;border:none;border-radius:4px;cursor:pointer;font-size:1.2em;height:30px;padding:0;width:30px}.xnote-highlight-box-icon button:hover{background:rgba(0,0,0,.1)}.xnote-highlight-box-icons{text-align:left}.xnote-highlight-box-icons button{background:none;border:none;border-radius:4px;cursor:pointer;font-size:22px;height:30px;padding:0;width:30px}.xnote-highlight-box-icons button:hover{background:rgba(0,0,0,.1)}.xnote-highlight-box-content{padding:5px}.xnote-highlight-box-heading{font-size:14px;opacity:.8;padding:10px 0 10px 3px}.xnote-todolist{align-items:center;display:flex;margin:8px 0}.xnote-todolist-icon{color:#296eff;cursor:pointer;margin-right:6px}.xnote-todolist-content{min-width:2em}.xnote-todolist-content[style*=text-indent]{text-indent:0!important}.xnote-todolist-content[style*=text-align]{text-align:left!important}.xnote-list{margin:8px 0;padding:0}.xnote-list>li{display:flex}.xnote-list-content{min-width:2em}ul.xnote-list .xnote-list-type{font-family:initial;font-size:16px}.xnote-list-type{box-sizing:border-box;color:#296eff;flex-shrink:0;text-align:left;text-indent:0;white-space:nowrap;width:24px}.xnote-order-btn{padding-left:5px}.xnote-list-content[style*=text-indent]{text-indent:0!important}.xnote-list-content[style*=text-align]{text-align:left!important}.color-type[vf-1fbbdf]{font-size:13px;padding:5px 0}.text-colors[vf-1fbbdf]{font-size:14px;overflow:hidden}.text-colors div[vf-1fbbdf]{border:1px solid #eee;border-radius:4px;box-sizing:border-box;cursor:pointer;float:left;height:22px;line-height:20px;margin:4px 3px;text-align:center;width:22px}.text-colors div.active[vf-1fbbdf]{box-shadow:0 0 0 2px #296eff}.text-colors div[vf-1fbbdf]:hover{box-shadow:0 0 0 2px rgba(41,110,255,.188)}.background-colors[vf-1fbbdf]{font-size:14px;overflow:hidden}.background-colors div[vf-1fbbdf]{border-radius:4px;color:#fff;cursor:pointer;float:left;height:22px;line-height:22px;margin:4px 3px;text-align:center;width:22px}.background-colors div.active[vf-1fbbdf]{box-shadow:0 0 0 2px #296eff}.background-colors div[vf-1fbbdf]:hover{box-shadow:0 0 0 2px rgba(41,110,255,.188)}.background-colors .no-background[vf-1fbbdf]{border:1px solid #eee;box-sizing:border-box;overflow:hidden;position:relative}.background-colors .no-background[vf-1fbbdf]:before{background:#aaa;content:"";height:1px;left:-28px;position:absolute;top:0;transform:rotate(-45deg);width:100px}.background[vf-1fbbdf]{display:inline-block;height:1em;margin-right:6px;position:relative;text-align:center;width:1em}.background>span[vf-1fbbdf]{border-radius:4px;height:20px;left:-2px;line-height:20px;position:absolute;top:-2px;width:20px}.input-group[vf-269a0b]{display:flex;padding:5px 10px}.input-group input[vf-269a0b]{border:1px solid #ddd;border-radius:4px;margin-right:5px;padding:2px 6px}.input-group input[vf-269a0b]:focus{border-color:#296eff}.input-group button[vf-269a0b]{border:1px solid #ddd;border-radius:4px;font-size:14px}.btn-group[vf-cf8e1c]{font-size:15px;padding:5px 0;text-align:center}.btn-group button[vf-cf8e1c]{margin:2px 5px}.xnote-image{display:inline-block}.xnote-image,.xnote-image img,.xnote-video{max-width:100%}.xnote-video{display:inline-block}.xnote-video video{max-width:100%}@import "~katex/dist/katex.min.css";.katex,.katex-display,.katex-html,.xnote-katex{display:inline-block}.xnote-katex{margin-left:.5em;margin-right:.5em}.xnote-katex-input{inset:0;min-height:300px;position:absolute;width:590px}.xnote-katex-input .xnote-source-code{margin:0;overflow:hidden;user-select:text}.xnote-katex-input .xnote-source-code-container{border:0!important;height:100%}.xnote-katex-input .xnote-source-code-content{box-sizing:border-box;max-height:none;min-height:300px;overflow:hidden}.left-toolbar[vf-b05292]{font-size:15px;left:-10px;position:absolute;top:0;z-index:10}.left-toolbar-btn-wrap[vf-b05292]{position:absolute;transition:all .2s}.left-toolbar-btn[vf-b05292]{background:#fff;border:1px solid #ddd;border-radius:5px;cursor:pointer;height:26px}.left-toolbar-btn span[vf-b05292]{align-items:center;display:inline-flex}.btn-group[vf-b05292]{font-size:15px;padding:5px 0;text-align:center}.btn-group button[vf-b05292]{margin:2px 5px}.toolbar[vf-fee98b]{background:#fff;border:1px solid #dee0e3;border-radius:5px;box-shadow:0 4px 8px rgba(0,0,0,.08);box-sizing:border-box;display:flex;font-size:13px;height:36px;opacity:0;padding:0 6px;pointer-events:none;position:absolute;text-align:left;transform:translateX(-50%);transition-duration:.4s;transition-property:all;transition-timing-function:ease;z-index:3}.xnote-at{color:#296eff}.xnote-at-complete{background-color:#296eff;border-radius:1em;color:#fff;font-size:.9em;margin-left:2px;margin-right:2px;padding:2px 6px}.xnote-at-input{display:inline-block;min-width:2em}.xnote-at-member{border-radius:4px;cursor:pointer;display:flex;height:50px;margin:4px 0;overflow:hidden;padding:5px;transition:background-color .2s;width:100%}.xnote-at-member.selected,.xnote-at-member:hover{background:#eee}.xnote-at-member-avatar{align-items:center;display:flex;font-size:12px;text-align:center;width:40px}.xnote-at-member-avatar img,.xnote-at-member-avatar-bg{background:#eee;border-radius:50%;display:inline-block;font-size:.9em;height:36px;line-height:36px;overflow:hidden;width:36px}.xnote-at-member-info{flex:1;font-size:14px;padding-left:10px;width:156px}.xnote-at-member-desc,.xnote-at-member-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.xnote-at-member-desc{font-size:12px;opacity:.7}.xnote-root{color:#1f2329}.xnote-root * ::selection{background:rgba(20,99,252,.34)}.xnote-content{font-size:16px;line-height:1.65}.xnote-content:before{content:attr(data-placeholder);opacity:.5;position:absolute}.xnote-table{display:inline-block;margin-bottom:16px;margin-top:16px;max-width:100%;position:relative}.xnote-table-content{border-collapse:collapse;border-spacing:0;table-layout:fixed;width:0}.xnote-table-content.hide-selection * ::selection{background:none}.xnote-table-content td{border:1px solid #ddd;box-sizing:content-box;padding:0 10px}.xnote-table-container,.xnote-table-wrapper{position:relative}.xnote-table-delete-btn{background:#eee;border:none;border-radius:4px;color:#5c6370;cursor:pointer;height:30px;line-height:30px;width:24px}.xnote-table-delete-btn:hover{color:#333}.drag-line[vf-681de2]{border-color:transparent;border-style:solid;border-width:0 5px;bottom:0;box-sizing:content-box;cursor:col-resize;display:none;margin-left:-5px;position:absolute;top:0;width:2px}.drag-line[vf-681de2]:before{background:#296eff;content:"";inset:0;position:absolute}.top-bar[vf-39cb2c]{display:none;left:0;position:absolute;right:0;top:0}.top-bar.active[vf-39cb2c]{display:block}.top-delete-toolbar[vf-39cb2c]{height:0;position:relative;top:-10px}.toolbar-wrapper[vf-39cb2c]{height:60px;left:0;pointer-events:none;position:absolute;right:0;top:-60px}.insert-bar[vf-39cb2c]{box-sizing:content-box;height:30px;margin-left:-10px;margin-right:-10px;overflow:hidden;padding-left:10px;padding-right:10px;padding-top:30px}.insert-bar table[vf-39cb2c]{border-collapse:collapse;border-spacing:0;position:relative;table-layout:fixed;z-index:1}.insert-bar table td[vf-39cb2c]{border:1px solid transparent;box-sizing:border-box;height:18px;position:relative}.insert-bar table .tool-container[vf-39cb2c]{height:18px}.insert-bar table .tool-container>div[vf-39cb2c],.insert-bar table .tool-container>span[vf-39cb2c]{pointer-events:auto}.insert-bar table .insert-btn-wrap[vf-39cb2c]{cursor:pointer;height:21px;position:absolute;right:-11px;top:-2px;width:21px;z-index:1}.insert-bar table .insert-btn-wrap .insert-btn[vf-39cb2c]{background:#ccc;border:none;border-radius:50%;box-shadow:none;color:#fff;cursor:inherit;font-size:16px;height:100%;line-height:20px;padding:0;position:relative;text-align:center;transform:scale(.2);transition:transform .15s;width:100%}.insert-bar table .insert-btn-wrap .insert-btn[vf-39cb2c]:after{background:inherit;content:"";height:10px;left:5.5px;position:absolute;top:12px;transform:rotate(45deg);width:10px;z-index:-1}.insert-bar table .insert-btn-wrap:hover .insert-btn[vf-39cb2c]{background:#296eff;transform:scale(1)}.action-bar[vf-39cb2c]{margin-top:-12px;overflow:hidden;pointer-events:auto;position:relative;z-index:0}.action-bar.active[vf-39cb2c]{display:block}.action-bar table[vf-39cb2c]{border-collapse:collapse;border-radius:4px 4px 0 0;border-spacing:0;overflow:hidden;table-layout:fixed}.action-bar table td[vf-39cb2c]{background:#eee;border:1px solid #eee;box-sizing:border-box;cursor:pointer;height:12px;position:relative}.action-bar table td[vf-39cb2c]:hover{background:#dedede}.action-bar table td.active[vf-39cb2c]{background:#296eff;border-color:#2358c9}.action-bar table td.active[vf-39cb2c]:before{border-color:inherit;border-style:solid;border-width:0 0 0 1px;bottom:0;content:"";left:-1px;position:absolute;top:-1px}.scroll-container[vf-c3d159]{overflow-y:auto}.scroll-container[vf-c3d159]:hover::-webkit-scrollbar-thumb{background-color:#80848f}.scroll-container[vf-c3d159]::-webkit-scrollbar-thumb{border:0;border-radius:4px;height:50px;outline:0;outline-offset:0}.scroll-container[vf-c3d159]::-webkit-scrollbar-thumb:hover{background-color:#495060;height:50px}.scroll-container[vf-c3d159]::-webkit-scrollbar{border-radius:3px;height:6px;width:6px}.scroll-container[vf-c3d159]:before{background-image:linear-gradient(90deg,rgba(0,0,0,.1),transparent);border-left:1px solid #ddd;left:0}.scroll-container[vf-c3d159]:after,.scroll-container[vf-c3d159]:before{bottom:6px;content:"";pointer-events:none;position:absolute;top:0;width:12px}.scroll-container[vf-c3d159]:after{background:linear-gradient(90deg,transparent,rgba(0,0,0,.1));border-right:1px solid #ddd;right:0}.scroll-container.left-end[vf-c3d159]:before,.scroll-container.right-end[vf-c3d159]:after{display:none}.left-bar[vf-aaece0]{display:none;left:0;margin-left:-30px;position:absolute;top:0;width:30px}.left-bar.active[vf-aaece0]{display:flex}.toolbar-item[vf-aaece0]{align-items:center;display:flex;inset:0;position:absolute}.insert-bar[vf-aaece0]{width:18px}.insert-bar table[vf-aaece0]{border-collapse:collapse;border-spacing:0;table-layout:fixed}.insert-bar table td[vf-aaece0]{border:1px solid transparent;position:relative}.insert-bar table .insert-btn-wrap[vf-aaece0]{bottom:-8px;cursor:pointer;height:21px;left:0;position:absolute;width:21px;z-index:1}.insert-bar table .insert-btn-wrap .insert-btn[vf-aaece0]{background:#ccc;border:none;border-radius:50%;box-shadow:none;color:#fff;cursor:inherit;font-size:16px;height:100%;line-height:20px;padding:0;position:relative;text-align:center;transform:scale(.2);transition:transform .15s;width:100%}.insert-bar table .insert-btn-wrap .insert-btn[vf-aaece0]:after{background:inherit;content:"";height:10px;left:11px;position:absolute;top:5.5px;transform:rotate(45deg);width:10px;z-index:-1}.insert-bar table .insert-btn-wrap:hover .insert-btn[vf-aaece0]{background:#296eff;transform:scale(1)}.action-bar[vf-aaece0]{width:12px}.action-bar table[vf-aaece0]{border-collapse:collapse;border-radius:4px 0 0 4px;border-spacing:0;overflow:hidden;table-layout:fixed;width:13px}.action-bar table td[vf-aaece0]{background:#eee;border:1px solid #eee;box-sizing:border-box;cursor:pointer;height:12px;position:relative}.action-bar table td[vf-aaece0]:hover{background:#dedede}.action-bar table td.active[vf-aaece0]{background:#296eff;border-color:#2358c9}.action-bar table td.active[vf-aaece0]:before{border-color:inherit;border-style:solid;border-width:1px 0 0;content:"";left:-1px;position:absolute;right:-1px;top:-1px}.drag-line[vf-d4c4a9]{background:#296eff;contain:layout size style;height:2px;left:0;max-width:100%;position:absolute;right:0;z-index:1}.mask[vf-4a5ad1]{background:rgba(41,110,255,.063);border:1px solid #296eff;box-sizing:content-box;display:none;pointer-events:none;position:absolute}.mask.active[vf-4a5ad1]{display:block}@font-face{font-display:block;font-family:textbus;font-style:normal;font-weight:400;src:url(fonts/textbus.ttf?ckj6yl) format("truetype"),url(fonts/textbus.woff?ckj6yl) format("woff"),url(fonts/textbus.svg?ckj6yl#textbus) format("svg")}[class*=" xnote-icon-"],[class^=xnote-icon-]{speak:never;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:textbus!important;font-style:normal;font-variant:normal;font-weight:400;line-height:1;text-transform:none}.xnote-icon-hightlight-box:before{content:"\e90e"}.xnote-icon-arrow-left:before{content:"\e900"}.xnote-icon-arrow-right:before{content:"\e901"}.xnote-icon-arrow-top:before{content:"\e902"}.xnote-icon-arrow-bottom:before{content:"\e903"}.xnote-icon-source-code:before{content:"\e904"}.xnote-icon-insert-paragraph-after:before{content:"\e905"}.xnote-icon-insert-paragraph-before:before{content:"\e906"}.xnote-icon-table-border:before{content:"\e908"}.xnote-icon-table-remove:before{content:"\e909"}.xnote-icon-paint-bucket:before{content:"\e90b"}.xnote-icon-background-color:before{content:"\e90c"}.xnote-icon-color:before{content:"\e90d"}.xnote-icon-table-edit:before{content:"\e90f"}.xnote-icon-table-split-columns:before{content:"\e910"}.xnote-icon-image:before{content:"\e919"}.xnote-icon-music:before{content:"\e91b"}.xnote-icon-video:before{content:"\e91c"}.xnote-icon-unlink:before{content:"\e91d"}.xnote-icon-select:before{content:"\e91e"}.xnote-icon-tree:before{content:"\e91f"}.xnote-icon-more:before{content:"\e921"}.xnote-icon-checkmark:before{content:"\e922"}.xnote-icon-text-wrap:before{content:"\e924"}.xnote-icon-heading-h1:before{content:"\e925"}.xnote-icon-heading-h2:before{content:"\e926"}.xnote-icon-heading-h3:before{content:"\e927"}.xnote-icon-heading-h4:before{content:"\e928"}.xnote-icon-heading-h5:before{content:"\e929"}.xnote-icon-heading-h6:before{content:"\e92a"}.xnote-icon-heading:before{content:"\e92b"}.xnote-icon-copy:before{content:"\e92c"}.xnote-icon-paste:before{content:"\e92d"}.xnote-icon-history-back:before{content:"\e967"}.xnote-icon-history-forward:before{content:"\e968"}.xnote-icon-quotes-right:before{content:"\e978"}.xnote-icon-bin:before{content:"\e9ac"}.xnote-icon-list-numbered:before{content:"\e9b9"}.xnote-icon-list:before{content:"\e9bb"}.xnote-icon-link:before{content:"\e9cb"}.xnote-icon-command:before{content:"\ea4e"}.xnote-icon-shift:before{content:"\ea4f"}.xnote-icon-ctrl:before{content:"\ea50"}.xnote-icon-opt:before{content:"\ea51"}.xnote-icon-checkbox-checked:before{content:"\ea52"}.xnote-icon-checkbox-unchecked:before{content:"\ea53"}.xnote-icon-cut:before{content:"\ea5a"}.xnote-icon-line-height:before{content:"\ea5f"}.xnote-icon-letter-spacing:before{content:"\ea60"}.xnote-icon-font-size:before{content:"\ea61"}.xnote-icon-bold:before{content:"\ea62"}.xnote-icon-underline:before{content:"\ea63"}.xnote-icon-italic:before{content:"\ea64"}.xnote-icon-strikethrough:before{content:"\ea65"}.xnote-icon-superscript:before{content:"\ea69"}.xnote-icon-subscript:before{content:"\ea6a"}.xnote-icon-table:before{content:"\ea71"}.xnote-icon-pilcrow:before{content:"\ea73"}.xnote-icon-ltr:before{content:"\ea74"}.xnote-icon-rtl:before{content:"\ea75"}.xnote-icon-paragraph-left:before{content:"\ea77"}.xnote-icon-paragraph-center:before{content:"\ea78"}.xnote-icon-paragraph-right:before{content:"\ea79"}.xnote-icon-paragraph-justify:before{content:"\ea7a"}.xnote-icon-indent-increase:before{content:"\ea7b"}.xnote-icon-indent-decrease:before{content:"\ea7c"}.xnote-icon-code:before{content:"\ea80"}.xnote-icon-plus:before{content:"\e907"}.xnote-icon-function:before{content:"\e90a"}.xnote-h1{font-size:2.2em;font-weight:600}.xnote-h2{font-size:1.8em;font-weight:600}.xnote-h3{font-size:1.4em;font-weight:600}.xnote-h4{font-size:1em;font-weight:600}.xnote-h5{font-size:.9em;font-weight:600}.xnote-h6{font-size:.8em;font-weight:600}.xnote-code{border:1px solid rgba(0,0,0,.2);border-radius:4px;font-family:Microsoft YaHei Mono,Menlo,Monaco,Consolas,Courier New,monospace;margin:0 3px;padding:2px 3px}
24
+ */}.xnote-source-code.stackoverflow-light pre code.hljs{display:block;overflow-x:auto;padding:1em}.xnote-source-code.stackoverflow-light code.hljs{padding:3px 5px}.xnote-source-code.stackoverflow-light .hljs{background:#f6f6f6;color:#2f3337}.xnote-source-code.stackoverflow-light .hljs-subst{color:#2f3337}.xnote-source-code.stackoverflow-light .hljs-comment{color:#656e77}.xnote-source-code.stackoverflow-light .hljs-attr,.xnote-source-code.stackoverflow-light .hljs-doctag,.xnote-source-code.stackoverflow-light .hljs-keyword,.xnote-source-code.stackoverflow-light .hljs-meta .hljs-keyword,.xnote-source-code.stackoverflow-light .hljs-section,.xnote-source-code.stackoverflow-light .hljs-selector-tag{color:#015692}.xnote-source-code.stackoverflow-light .hljs-attribute{color:#803378}.xnote-source-code.stackoverflow-light .hljs-name,.xnote-source-code.stackoverflow-light .hljs-number,.xnote-source-code.stackoverflow-light .hljs-quote,.xnote-source-code.stackoverflow-light .hljs-selector-id,.xnote-source-code.stackoverflow-light .hljs-template-tag,.xnote-source-code.stackoverflow-light .hljs-type{color:#b75501}.xnote-source-code.stackoverflow-light .hljs-selector-class{color:#015692}.xnote-source-code.stackoverflow-light .hljs-link,.xnote-source-code.stackoverflow-light .hljs-regexp,.xnote-source-code.stackoverflow-light .hljs-selector-attr,.xnote-source-code.stackoverflow-light .hljs-string,.xnote-source-code.stackoverflow-light .hljs-symbol,.xnote-source-code.stackoverflow-light .hljs-template-variable,.xnote-source-code.stackoverflow-light .hljs-variable{color:#54790d}.xnote-source-code.stackoverflow-light .hljs-meta,.xnote-source-code.stackoverflow-light .hljs-selector-pseudo{color:#015692}.xnote-source-code.stackoverflow-light .hljs-built_in,.xnote-source-code.stackoverflow-light .hljs-literal,.xnote-source-code.stackoverflow-light .hljs-title{color:#b75501}.xnote-source-code.stackoverflow-light .hljs-bullet,.xnote-source-code.stackoverflow-light .hljs-code{color:#535a60}.xnote-source-code.stackoverflow-light .hljs-meta .hljs-string{color:#54790d}.xnote-source-code.stackoverflow-light .hljs-deletion{color:#c02d2e}.xnote-source-code.stackoverflow-light .hljs-addition{color:#2f6f44}.xnote-source-code.stackoverflow-light .hljs-emphasis{font-style:italic}.xnote-source-code.stackoverflow-light .hljs-strong{font-weight:700}.xnote-source-code.vs2015 pre code.hljs{display:block;overflow-x:auto;padding:1em}.xnote-source-code.vs2015 code.hljs{padding:3px 5px}.xnote-source-code.vs2015 .hljs{background:#1e1e1e;color:#dcdcdc}.xnote-source-code.vs2015 .hljs-keyword,.xnote-source-code.vs2015 .hljs-literal,.xnote-source-code.vs2015 .hljs-name,.xnote-source-code.vs2015 .hljs-symbol{color:#569cd6}.xnote-source-code.vs2015 .hljs-link{color:#569cd6;text-decoration:underline}.xnote-source-code.vs2015 .hljs-built_in,.xnote-source-code.vs2015 .hljs-type{color:#4ec9b0}.xnote-source-code.vs2015 .hljs-class,.xnote-source-code.vs2015 .hljs-number{color:#b8d7a3}.xnote-source-code.vs2015 .hljs-meta .hljs-string,.xnote-source-code.vs2015 .hljs-string{color:#d69d85}.xnote-source-code.vs2015 .hljs-regexp,.xnote-source-code.vs2015 .hljs-template-tag{color:#9a5334}.xnote-source-code.vs2015 .hljs-formula,.xnote-source-code.vs2015 .hljs-function,.xnote-source-code.vs2015 .hljs-params,.xnote-source-code.vs2015 .hljs-subst,.xnote-source-code.vs2015 .hljs-title{color:#dcdcdc}.xnote-source-code.vs2015 .hljs-comment,.xnote-source-code.vs2015 .hljs-quote{color:#57a64a;font-style:italic}.xnote-source-code.vs2015 .hljs-doctag{color:#608b4e}.xnote-source-code.vs2015 .hljs-meta,.xnote-source-code.vs2015 .hljs-meta .hljs-keyword,.xnote-source-code.vs2015 .hljs-tag{color:#9b9b9b}.xnote-source-code.vs2015 .hljs-template-variable,.xnote-source-code.vs2015 .hljs-variable{color:#bd63c5}.xnote-source-code.vs2015 .hljs-attr,.xnote-source-code.vs2015 .hljs-attribute{color:#9cdcfe}.xnote-source-code.vs2015 .hljs-section{color:gold}.xnote-source-code.vs2015 .hljs-emphasis{font-style:italic}.xnote-source-code.vs2015 .hljs-strong{font-weight:700}.xnote-source-code.vs2015 .hljs-bullet,.xnote-source-code.vs2015 .hljs-selector-attr,.xnote-source-code.vs2015 .hljs-selector-class,.xnote-source-code.vs2015 .hljs-selector-id,.xnote-source-code.vs2015 .hljs-selector-pseudo,.xnote-source-code.vs2015 .hljs-selector-tag{color:#d7ba7d}.xnote-source-code.vs2015 .hljs-addition{background-color:#144212;display:inline-block;width:100%}.xnote-source-code.vs2015 .hljs-deletion{background-color:#600;display:inline-block;width:100%}.xnote-source-code.xcode .xnote-source-code-container{border:1px solid #eee}.xnote-source-code.xcode .xnote-source-code-line-number-bg{background-color:#fafafa}.xnote-source-code.xcode pre code.hljs{display:block;overflow-x:auto;padding:1em}.xnote-source-code.xcode code.hljs{padding:3px 5px}.xnote-source-code.xcode .hljs{background:#fff;color:#000}.xnote-source-code.xcode .xml .hljs-meta{color:silver}.xnote-source-code.xcode .hljs-comment,.xnote-source-code.xcode .hljs-quote{color:#007400}.xnote-source-code.xcode .hljs-attribute,.xnote-source-code.xcode .hljs-keyword,.xnote-source-code.xcode .hljs-literal,.xnote-source-code.xcode .hljs-name,.xnote-source-code.xcode .hljs-selector-tag,.xnote-source-code.xcode .hljs-tag{color:#aa0d91}.xnote-source-code.xcode .hljs-template-variable,.xnote-source-code.xcode .hljs-variable{color:#3f6e74}.xnote-source-code.xcode .hljs-code,.xnote-source-code.xcode .hljs-meta .hljs-string,.xnote-source-code.xcode .hljs-string{color:#c41a16}.xnote-source-code.xcode .hljs-link,.xnote-source-code.xcode .hljs-regexp{color:#0e0eff}.xnote-source-code.xcode .hljs-bullet,.xnote-source-code.xcode .hljs-number,.xnote-source-code.xcode .hljs-symbol,.xnote-source-code.xcode .hljs-title{color:#1c00cf}.xnote-source-code.xcode .hljs-meta,.xnote-source-code.xcode .hljs-section{color:#643820}.xnote-source-code.xcode .hljs-built_in,.xnote-source-code.xcode .hljs-class .hljs-title,.xnote-source-code.xcode .hljs-params,.xnote-source-code.xcode .hljs-title.class_,.xnote-source-code.xcode .hljs-type{color:#5c2699}.xnote-source-code.xcode .hljs-attr{color:#836c28}.xnote-source-code.xcode .hljs-subst{color:#000}.xnote-source-code.xcode .hljs-formula{background-color:#eee;font-style:italic}.xnote-source-code.xcode .hljs-addition{background-color:#baeeba}.xnote-source-code.xcode .hljs-deletion{background-color:#ffc8bd}.xnote-source-code.xcode .hljs-selector-class,.xnote-source-code.xcode .hljs-selector-id{color:#9b703f}.xnote-source-code.xcode .hljs-doctag,.xnote-source-code.xcode .hljs-strong{font-weight:700}.xnote-source-code.xcode .hljs-emphasis{font-style:italic}.xnote-source-code.xnote-dark pre code.hljs{display:block;overflow-x:auto;padding:1em}.xnote-source-code.xnote-dark code.hljs{padding:3px 5px}.xnote-source-code.xnote-dark .hljs{background:#182324;color:#a9aeb2}.xnote-source-code.xnote-dark .hljs-comment,.xnote-source-code.xnote-dark .hljs-quote{color:#5c6d6e;font-style:italic}.xnote-source-code.xnote-dark .hljs-doctag,.xnote-source-code.xnote-dark .hljs-formula,.xnote-source-code.xnote-dark .hljs-keyword{color:#71b155;font-weight:700}.xnote-source-code.xnote-dark .hljs-deletion,.xnote-source-code.xnote-dark .hljs-section,.xnote-source-code.xnote-dark .hljs-selector-tag{color:#e06c75}.xnote-source-code.xnote-dark .hljs-literal{color:#388138}.xnote-source-code.xnote-dark .hljs-addition,.xnote-source-code.xnote-dark .hljs-attribute,.xnote-source-code.xnote-dark .hljs-meta .hljs-string,.xnote-source-code.xnote-dark .hljs-regexp,.xnote-source-code.xnote-dark .hljs-string{color:#dd7600}.xnote-source-code.xnote-dark .hljs-number,.xnote-source-code.xnote-dark .hljs-selector-attr,.xnote-source-code.xnote-dark .hljs-selector-class,.xnote-source-code.xnote-dark .hljs-selector-pseudo,.xnote-source-code.xnote-dark .hljs-template-variable,.xnote-source-code.xnote-dark .hljs-type,.xnote-source-code.xnote-dark .hljs-variable{color:#388138}.xnote-source-code.xnote-dark .hljs-bullet,.xnote-source-code.xnote-dark .hljs-link,.xnote-source-code.xnote-dark .hljs-meta,.xnote-source-code.xnote-dark .hljs-name,.xnote-source-code.xnote-dark .hljs-selector-id,.xnote-source-code.xnote-dark .hljs-subst,.xnote-source-code.xnote-dark .hljs-symbol,.xnote-source-code.xnote-dark .hljs-title{color:#2e89c1}.xnote-source-code.xnote-dark .hljs-built_in,.xnote-source-code.xnote-dark .hljs-class .hljs-title,.xnote-source-code.xnote-dark .hljs-title.class_{color:#e6c07b}.xnote-source-code.xnote-dark .hljs-emphasis{font-style:italic}.xnote-source-code.xnote-dark .hljs-strong{font-weight:700}.xnote-source-code.xnote-dark .hljs-link{text-decoration:underline}.xnote-source-code.xnote-dark-blue pre code.hljs{display:block;overflow-x:auto;padding:1em}.xnote-source-code.xnote-dark-blue code.hljs{padding:3px 5px}.xnote-source-code.xnote-dark-blue .hljs{background:#1c222a;color:#a9aeb2}.xnote-source-code.xnote-dark-blue .hljs-comment,.xnote-source-code.xnote-dark-blue .hljs-quote{color:#5c6d6e;font-style:italic}.xnote-source-code.xnote-dark-blue .hljs-doctag,.xnote-source-code.xnote-dark-blue .hljs-formula,.xnote-source-code.xnote-dark-blue .hljs-keyword{color:#0086b3;font-weight:700}.xnote-source-code.xnote-dark-blue .hljs-deletion,.xnote-source-code.xnote-dark-blue .hljs-section,.xnote-source-code.xnote-dark-blue .hljs-selector-tag{color:#e06c75}.xnote-source-code.xnote-dark-blue .hljs-literal{color:#388138}.xnote-source-code.xnote-dark-blue .hljs-addition,.xnote-source-code.xnote-dark-blue .hljs-attribute,.xnote-source-code.xnote-dark-blue .hljs-meta .hljs-string,.xnote-source-code.xnote-dark-blue .hljs-regexp,.xnote-source-code.xnote-dark-blue .hljs-string{color:#ce5a70}.xnote-source-code.xnote-dark-blue .hljs-number,.xnote-source-code.xnote-dark-blue .hljs-selector-attr,.xnote-source-code.xnote-dark-blue .hljs-selector-class,.xnote-source-code.xnote-dark-blue .hljs-selector-pseudo,.xnote-source-code.xnote-dark-blue .hljs-template-variable,.xnote-source-code.xnote-dark-blue .hljs-type,.xnote-source-code.xnote-dark-blue .hljs-variable{color:#388138}.xnote-source-code.xnote-dark-blue .hljs-bullet,.xnote-source-code.xnote-dark-blue .hljs-link,.xnote-source-code.xnote-dark-blue .hljs-meta,.xnote-source-code.xnote-dark-blue .hljs-name,.xnote-source-code.xnote-dark-blue .hljs-selector-id,.xnote-source-code.xnote-dark-blue .hljs-subst,.xnote-source-code.xnote-dark-blue .hljs-symbol,.xnote-source-code.xnote-dark-blue .hljs-title{color:#2e89c1}.xnote-source-code.xnote-dark-blue .hljs-built_in,.xnote-source-code.xnote-dark-blue .hljs-class .hljs-title,.xnote-source-code.xnote-dark-blue .hljs-title.class_{color:#399fcf}.xnote-source-code.xnote-dark-blue .hljs-emphasis{font-style:italic}.xnote-source-code.xnote-dark-blue .hljs-strong{font-weight:700}.xnote-source-code.xnote-dark-blue .hljs-link{text-decoration:underline}.xnote-source-code code{background:none;border:none;border-radius:0;padding:0;vertical-align:inherit}.xnote-source-code{margin-bottom:16px;margin-top:16px;position:relative}.xnote-source-code-container{border-radius:5px;display:flex;line-height:1.418em;overflow:hidden;position:relative}.xnote-source-code-container.xnote-source-code-auto-break .xnote-source-code-line{word-wrap:break-word;white-space:pre-wrap;word-break:break-all}code,kbd,pre,samp{font-family:Microsoft YaHei Mono,Menlo,Monaco,Consolas,Courier New,monospace}.xnote-source-code-line-number-bg{background-color:inherit;display:none;position:relative;width:3em;z-index:2}.xnote-source-code.xnote-source-code-line-number .xnote-source-code-line-number-bg{display:block}.xnote-source-code.xnote-source-code-line-number .xnote-source-code-line{margin-left:-4em}.xnote-source-code-content{counter-reset:codeNum;flex:1;font-size:15px;margin:0;max-height:450px;overflow:auto;padding:15px 0;position:relative}.xnote-source-code-content:hover::-webkit-scrollbar-thumb{background-color:#80848f}.xnote-source-code-content::-webkit-scrollbar-thumb{border:0;border-radius:4px;height:50px;outline:0;outline-offset:0}.xnote-source-code-content::-webkit-scrollbar-thumb:hover{background-color:#495060;height:50px}.xnote-source-code-content::-webkit-scrollbar{border-radius:3px;height:6px;width:6px}.xnote-source-code-content-highlight .xnote-source-code-line{opacity:.36}.xnote-source-code-line{display:flex;margin:2px 0}.xnote-source-code-line-content{display:block;padding:0 20px}.xnote-source-code-line-number .xnote-source-code-line-content{padding:0 20px 0 10px}.xnote-source-code-line-number .xnote-source-code-line:before{box-sizing:border-box;content:counter(codeNum);counter-increment:codeNum;left:0;min-width:4em;opacity:.5;overflow:hidden;padding-right:10px;position:sticky;text-align:right;transform:translateX(-4em);white-space:nowrap;z-index:2}.xnote-source-code-content-highlight .xnote-source-code-line-emphasize{opacity:1}.xnote-source-code-lang{font-size:13px;opacity:.5;padding:4px 10px;pointer-events:none;position:absolute;right:0;top:0}.xnote-paragraph p{margin:8px 0}.xnote-blockquote{border-left:2px solid #296eff;margin:1em 0;padding:0 15px}.xnote-blockquote>:first-child{margin-top:0}.xnote-blockquote>:last-child{margin-bottom:0}.xnote-highlight-box{background:#fcf5ce;border:1px solid #f5c774;border-radius:4px;display:flex;margin:16px 0}.xnote-highlight-box-left{padding-top:.65em;text-align:center;width:40px}.xnote-highlight-box-content{flex:1}.xnote-highlight-box-icon button{background:none;border:none;border-radius:4px;cursor:pointer;font-size:1.2em;height:30px;padding:0;width:30px}.xnote-highlight-box-icon button:hover{background:rgba(0,0,0,.1)}.xnote-highlight-box-icons{text-align:left}.xnote-highlight-box-icons button{background:none;border:none;border-radius:4px;cursor:pointer;font-size:22px;height:30px;padding:0;width:30px}.xnote-highlight-box-icons button:hover{background:rgba(0,0,0,.1)}.xnote-highlight-box-content{padding:5px}.xnote-highlight-box-heading{font-size:14px;opacity:.8;padding:10px 0 10px 3px}.xnote-todolist{align-items:center;display:flex;margin:8px 0}.xnote-todolist-icon{color:#296eff;cursor:pointer;margin-right:6px}.xnote-todolist-content{min-width:2em}.xnote-todolist-content[style*=text-indent]{text-indent:0!important}.xnote-todolist-content[style*=text-align]{text-align:left!important}.xnote-list{margin:8px 0;padding:0}.xnote-list>li{display:flex}.xnote-list-content{min-width:2em}ul.xnote-list .xnote-list-type{font-family:initial;font-size:16px}.xnote-list-type{box-sizing:border-box;color:#296eff;flex-shrink:0;text-align:left;text-indent:0;white-space:nowrap;width:24px}.xnote-order-btn{padding-left:5px}.xnote-list-content[style*=text-indent]{text-indent:0!important}.xnote-list-content[style*=text-align]{text-align:left!important}.color-type[vf-1fbbdf]{font-size:13px;padding:5px 0}.text-colors[vf-1fbbdf]{font-size:14px;overflow:hidden}.text-colors div[vf-1fbbdf]{border:1px solid #eee;border-radius:4px;box-sizing:border-box;cursor:pointer;float:left;height:22px;line-height:20px;margin:4px 3px;text-align:center;width:22px}.text-colors div.active[vf-1fbbdf]{box-shadow:0 0 0 2px #296eff}.text-colors div[vf-1fbbdf]:hover{box-shadow:0 0 0 2px rgba(41,110,255,.188)}.background-colors[vf-1fbbdf]{font-size:14px;overflow:hidden}.background-colors div[vf-1fbbdf]{border-radius:4px;color:#fff;cursor:pointer;float:left;height:22px;line-height:22px;margin:4px 3px;text-align:center;width:22px}.background-colors div.active[vf-1fbbdf]{box-shadow:0 0 0 2px #296eff}.background-colors div[vf-1fbbdf]:hover{box-shadow:0 0 0 2px rgba(41,110,255,.188)}.background-colors .no-background[vf-1fbbdf]{border:1px solid #eee;box-sizing:border-box;overflow:hidden;position:relative}.background-colors .no-background[vf-1fbbdf]:before{background:#aaa;content:"";height:1px;left:-28px;position:absolute;top:0;transform:rotate(-45deg);width:100px}.background[vf-1fbbdf]{display:inline-block;height:1em;margin-right:6px;position:relative;text-align:center;width:1em}.background>span[vf-1fbbdf]{border-radius:4px;height:20px;left:-2px;line-height:20px;position:absolute;top:-2px;width:20px}.input-group[vf-e74208]{display:flex;padding:5px 10px}.input-group input[vf-e74208]{border:1px solid #ddd;border-radius:4px;font-size:14px;margin-right:5px;outline:none;padding:2px 6px}.input-group input[vf-e74208]:focus{border-color:#296eff}.input-group button[vf-e74208]{border:1px solid #ddd;border-radius:4px;font-size:14px}.btn-group[vf-cf8e1c]{font-size:15px;padding:5px 0;text-align:center}.btn-group button[vf-cf8e1c]{margin:2px 5px}.xnote-image{display:inline-block}.xnote-image,.xnote-image img,.xnote-video{max-width:100%}.xnote-video{display:inline-block}.xnote-video video{max-width:100%}@import "~katex/dist/katex.min.css";.katex,.katex-display,.katex-html,.xnote-katex{display:inline-block}.xnote-katex{margin-left:.5em;margin-right:.5em}.xnote-katex-input{inset:0;min-height:300px;position:absolute;width:590px}.xnote-katex-input .xnote-source-code{margin:0;overflow:hidden;user-select:text}.xnote-katex-input .xnote-source-code-container{border:0!important;height:100%}.xnote-katex-input .xnote-source-code-content{box-sizing:border-box;max-height:none;min-height:300px;overflow:hidden}.left-toolbar[vf-b05292]{font-size:15px;left:-10px;position:absolute;top:0;z-index:10}.left-toolbar-btn-wrap[vf-b05292]{position:absolute;transition:all .2s}.left-toolbar-btn[vf-b05292]{background:#fff;border:1px solid #ddd;border-radius:5px;cursor:pointer;height:26px}.left-toolbar-btn span[vf-b05292]{align-items:center;display:inline-flex}.btn-group[vf-b05292]{font-size:15px;padding:5px 0;text-align:center}.btn-group button[vf-b05292]{margin:2px 5px}.link-jump-plugin[vf-3073ba]{background-color:#333;border-radius:3px;box-shadow:0 1px 2px rgba(0,0,0,.3);color:#ddd;font-size:12px;line-height:1em;margin-top:-30px;padding:6px 0;position:absolute;text-align:center;text-decoration:none;transform:translateX(-50%);width:66px}.link-jump-plugin a[vf-3073ba],.link-jump-plugin span[vf-3073ba]{color:inherit;cursor:pointer;margin-left:2px;margin-right:2px;text-decoration:none}.link-jump-plugin a[vf-3073ba]:hover,.link-jump-plugin span[vf-3073ba]:hover{color:#296eff}.link-jump-plugin[vf-3073ba]:after{border:6px solid transparent;border-top-color:#333;content:"";left:50%;margin-left:-6px;pointer-events:none;position:absolute;top:100%}.toolbar[vf-fee98b]{background:#fff;border:1px solid #dee0e3;border-radius:5px;box-shadow:0 4px 8px rgba(0,0,0,.08);box-sizing:border-box;display:flex;font-size:13px;height:36px;opacity:0;padding:0 6px;pointer-events:none;position:absolute;text-align:left;transform:translateX(-50%);transition-duration:.4s;transition-property:all;transition-timing-function:ease;z-index:3}.xnote-at{color:#296eff}.xnote-at-complete{background-color:#296eff;border-radius:1em;color:#fff;font-size:.9em;margin-left:2px;margin-right:2px;padding:2px 6px}.xnote-at-input{display:inline-block;min-width:2em}.xnote-at-member{border-radius:4px;cursor:pointer;display:flex;height:50px;margin:4px 0;overflow:hidden;padding:5px;transition:background-color .2s;width:100%}.xnote-at-member.selected,.xnote-at-member:hover{background:#eee}.xnote-at-member-avatar{align-items:center;display:flex;font-size:12px;text-align:center;width:40px}.xnote-at-member-avatar img,.xnote-at-member-avatar-bg{background:#eee;border-radius:50%;display:inline-block;font-size:.9em;height:36px;line-height:36px;overflow:hidden;width:36px}.xnote-at-member-info{flex:1;font-size:14px;padding-left:10px;width:156px}.xnote-at-member-desc,.xnote-at-member-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.xnote-at-member-desc{font-size:12px;opacity:.7}.xnote-root{color:#1f2329}.xnote-root * ::selection{background:rgba(20,99,252,.34)}.xnote-content{font-size:16px;line-height:1.65}.xnote-content:before{content:attr(data-placeholder);opacity:.5;position:absolute}.xnote-table{display:inline-block;margin-bottom:16px;margin-top:16px;max-width:100%;position:relative}.xnote-table-content{border-collapse:collapse;border-spacing:0;table-layout:fixed;width:0}.xnote-table-content.hide-selection * ::selection{background:none}.xnote-table-content td{border:1px solid #ddd;box-sizing:content-box;padding:0 10px}.xnote-table-container,.xnote-table-wrapper{position:relative}.xnote-table-delete-btn{background:#eee;border:none;border-radius:4px;color:#5c6370;cursor:pointer;height:30px;line-height:30px;width:24px}.xnote-table-delete-btn:hover{color:#333}.drag-line[vf-681de2]{border-color:transparent;border-style:solid;border-width:0 5px;bottom:0;box-sizing:content-box;cursor:col-resize;display:none;margin-left:-5px;position:absolute;top:0;width:2px}.drag-line[vf-681de2]:before{background:#296eff;content:"";inset:0;position:absolute}.top-bar[vf-39cb2c]{display:none;left:0;position:absolute;right:0;top:0}.top-bar.active[vf-39cb2c]{display:block}.top-delete-toolbar[vf-39cb2c]{height:0;position:relative;top:-10px}.toolbar-wrapper[vf-39cb2c]{height:60px;left:0;pointer-events:none;position:absolute;right:0;top:-60px}.insert-bar[vf-39cb2c]{box-sizing:content-box;height:30px;margin-left:-10px;margin-right:-10px;overflow:hidden;padding-left:10px;padding-right:10px;padding-top:30px}.insert-bar table[vf-39cb2c]{border-collapse:collapse;border-spacing:0;position:relative;table-layout:fixed;z-index:1}.insert-bar table td[vf-39cb2c]{border:1px solid transparent;box-sizing:border-box;height:18px;position:relative}.insert-bar table .tool-container[vf-39cb2c]{height:18px}.insert-bar table .tool-container>div[vf-39cb2c],.insert-bar table .tool-container>span[vf-39cb2c]{pointer-events:auto}.insert-bar table .insert-btn-wrap[vf-39cb2c]{cursor:pointer;height:21px;position:absolute;right:-11px;top:-2px;width:21px;z-index:1}.insert-bar table .insert-btn-wrap .insert-btn[vf-39cb2c]{background:#ccc;border:none;border-radius:50%;box-shadow:none;color:#fff;cursor:inherit;font-size:16px;height:100%;line-height:20px;padding:0;position:relative;text-align:center;transform:scale(.2);transition:transform .15s;width:100%}.insert-bar table .insert-btn-wrap .insert-btn[vf-39cb2c]:after{background:inherit;content:"";height:10px;left:5.5px;position:absolute;top:12px;transform:rotate(45deg);width:10px;z-index:-1}.insert-bar table .insert-btn-wrap:hover .insert-btn[vf-39cb2c]{background:#296eff;transform:scale(1)}.action-bar[vf-39cb2c]{margin-top:-12px;overflow:hidden;pointer-events:auto;position:relative;z-index:0}.action-bar.active[vf-39cb2c]{display:block}.action-bar table[vf-39cb2c]{border-collapse:collapse;border-radius:4px 4px 0 0;border-spacing:0;overflow:hidden;table-layout:fixed}.action-bar table td[vf-39cb2c]{background:#eee;border:1px solid #eee;box-sizing:border-box;cursor:pointer;height:12px;position:relative}.action-bar table td[vf-39cb2c]:hover{background:#dedede}.action-bar table td.active[vf-39cb2c]{background:#296eff;border-color:#2358c9}.action-bar table td.active[vf-39cb2c]:before{border-color:inherit;border-style:solid;border-width:0 0 0 1px;bottom:0;content:"";left:-1px;position:absolute;top:-1px}.scroll-container[vf-c3d159]{overflow-y:auto}.scroll-container[vf-c3d159]:hover::-webkit-scrollbar-thumb{background-color:#80848f}.scroll-container[vf-c3d159]::-webkit-scrollbar-thumb{border:0;border-radius:4px;height:50px;outline:0;outline-offset:0}.scroll-container[vf-c3d159]::-webkit-scrollbar-thumb:hover{background-color:#495060;height:50px}.scroll-container[vf-c3d159]::-webkit-scrollbar{border-radius:3px;height:6px;width:6px}.scroll-container[vf-c3d159]:before{background-image:linear-gradient(90deg,rgba(0,0,0,.1),transparent);border-left:1px solid #ddd;left:0}.scroll-container[vf-c3d159]:after,.scroll-container[vf-c3d159]:before{bottom:6px;content:"";pointer-events:none;position:absolute;top:0;width:12px}.scroll-container[vf-c3d159]:after{background:linear-gradient(90deg,transparent,rgba(0,0,0,.1));border-right:1px solid #ddd;right:0}.scroll-container.left-end[vf-c3d159]:before,.scroll-container.right-end[vf-c3d159]:after{display:none}.left-bar[vf-aaece0]{display:none;left:0;margin-left:-30px;position:absolute;top:0;width:30px}.left-bar.active[vf-aaece0]{display:flex}.toolbar-item[vf-aaece0]{align-items:center;display:flex;inset:0;position:absolute}.insert-bar[vf-aaece0]{width:18px}.insert-bar table[vf-aaece0]{border-collapse:collapse;border-spacing:0;table-layout:fixed}.insert-bar table td[vf-aaece0]{border:1px solid transparent;position:relative}.insert-bar table .insert-btn-wrap[vf-aaece0]{bottom:-8px;cursor:pointer;height:21px;left:0;position:absolute;width:21px;z-index:1}.insert-bar table .insert-btn-wrap .insert-btn[vf-aaece0]{background:#ccc;border:none;border-radius:50%;box-shadow:none;color:#fff;cursor:inherit;font-size:16px;height:100%;line-height:20px;padding:0;position:relative;text-align:center;transform:scale(.2);transition:transform .15s;width:100%}.insert-bar table .insert-btn-wrap .insert-btn[vf-aaece0]:after{background:inherit;content:"";height:10px;left:11px;position:absolute;top:5.5px;transform:rotate(45deg);width:10px;z-index:-1}.insert-bar table .insert-btn-wrap:hover .insert-btn[vf-aaece0]{background:#296eff;transform:scale(1)}.action-bar[vf-aaece0]{width:12px}.action-bar table[vf-aaece0]{border-collapse:collapse;border-radius:4px 0 0 4px;border-spacing:0;overflow:hidden;table-layout:fixed;width:13px}.action-bar table td[vf-aaece0]{background:#eee;border:1px solid #eee;box-sizing:border-box;cursor:pointer;height:12px;position:relative}.action-bar table td[vf-aaece0]:hover{background:#dedede}.action-bar table td.active[vf-aaece0]{background:#296eff;border-color:#2358c9}.action-bar table td.active[vf-aaece0]:before{border-color:inherit;border-style:solid;border-width:1px 0 0;content:"";left:-1px;position:absolute;right:-1px;top:-1px}.drag-line[vf-d4c4a9]{background:#296eff;contain:layout size style;height:2px;left:0;max-width:100%;position:absolute;right:0;z-index:1}.mask[vf-4a5ad1]{background:rgba(41,110,255,.063);border:1px solid #296eff;box-sizing:content-box;display:none;pointer-events:none;position:absolute}.mask.active[vf-4a5ad1]{display:block}@font-face{font-display:block;font-family:textbus;font-style:normal;font-weight:400;src:url(fonts/textbus.ttf?ckj6yl) format("truetype"),url(fonts/textbus.woff?ckj6yl) format("woff"),url(fonts/textbus.svg?ckj6yl#textbus) format("svg")}[class*=" xnote-icon-"],[class^=xnote-icon-]{speak:never;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:textbus!important;font-style:normal;font-variant:normal;font-weight:400;line-height:1;text-transform:none}.xnote-icon-hightlight-box:before{content:"\e90e"}.xnote-icon-arrow-left:before{content:"\e900"}.xnote-icon-arrow-right:before{content:"\e901"}.xnote-icon-arrow-top:before{content:"\e902"}.xnote-icon-arrow-bottom:before{content:"\e903"}.xnote-icon-source-code:before{content:"\e904"}.xnote-icon-insert-paragraph-after:before{content:"\e905"}.xnote-icon-insert-paragraph-before:before{content:"\e906"}.xnote-icon-table-border:before{content:"\e908"}.xnote-icon-table-remove:before{content:"\e909"}.xnote-icon-paint-bucket:before{content:"\e90b"}.xnote-icon-background-color:before{content:"\e90c"}.xnote-icon-color:before{content:"\e90d"}.xnote-icon-table-edit:before{content:"\e90f"}.xnote-icon-table-split-columns:before{content:"\e910"}.xnote-icon-image:before{content:"\e919"}.xnote-icon-music:before{content:"\e91b"}.xnote-icon-video:before{content:"\e91c"}.xnote-icon-unlink:before{content:"\e91d"}.xnote-icon-select:before{content:"\e91e"}.xnote-icon-tree:before{content:"\e91f"}.xnote-icon-more:before{content:"\e921"}.xnote-icon-checkmark:before{content:"\e922"}.xnote-icon-text-wrap:before{content:"\e924"}.xnote-icon-heading-h1:before{content:"\e925"}.xnote-icon-heading-h2:before{content:"\e926"}.xnote-icon-heading-h3:before{content:"\e927"}.xnote-icon-heading-h4:before{content:"\e928"}.xnote-icon-heading-h5:before{content:"\e929"}.xnote-icon-heading-h6:before{content:"\e92a"}.xnote-icon-heading:before{content:"\e92b"}.xnote-icon-copy:before{content:"\e92c"}.xnote-icon-paste:before{content:"\e92d"}.xnote-icon-history-back:before{content:"\e967"}.xnote-icon-history-forward:before{content:"\e968"}.xnote-icon-quotes-right:before{content:"\e978"}.xnote-icon-bin:before{content:"\e9ac"}.xnote-icon-list-numbered:before{content:"\e9b9"}.xnote-icon-list:before{content:"\e9bb"}.xnote-icon-link:before{content:"\e9cb"}.xnote-icon-command:before{content:"\ea4e"}.xnote-icon-shift:before{content:"\ea4f"}.xnote-icon-ctrl:before{content:"\ea50"}.xnote-icon-opt:before{content:"\ea51"}.xnote-icon-checkbox-checked:before{content:"\ea52"}.xnote-icon-checkbox-unchecked:before{content:"\ea53"}.xnote-icon-cut:before{content:"\ea5a"}.xnote-icon-line-height:before{content:"\ea5f"}.xnote-icon-letter-spacing:before{content:"\ea60"}.xnote-icon-font-size:before{content:"\ea61"}.xnote-icon-bold:before{content:"\ea62"}.xnote-icon-underline:before{content:"\ea63"}.xnote-icon-italic:before{content:"\ea64"}.xnote-icon-strikethrough:before{content:"\ea65"}.xnote-icon-superscript:before{content:"\ea69"}.xnote-icon-subscript:before{content:"\ea6a"}.xnote-icon-table:before{content:"\ea71"}.xnote-icon-pilcrow:before{content:"\ea73"}.xnote-icon-ltr:before{content:"\ea74"}.xnote-icon-rtl:before{content:"\ea75"}.xnote-icon-paragraph-left:before{content:"\ea77"}.xnote-icon-paragraph-center:before{content:"\ea78"}.xnote-icon-paragraph-right:before{content:"\ea79"}.xnote-icon-paragraph-justify:before{content:"\ea7a"}.xnote-icon-indent-increase:before{content:"\ea7b"}.xnote-icon-indent-decrease:before{content:"\ea7c"}.xnote-icon-code:before{content:"\ea80"}.xnote-icon-plus:before{content:"\e907"}.xnote-icon-function:before{content:"\e90a"}.xnote-h1{font-size:2.2em;font-weight:600}.xnote-h2{font-size:1.8em;font-weight:600}.xnote-h3{font-size:1.4em;font-weight:600}.xnote-h4{font-size:1em;font-weight:600}.xnote-h5{font-size:.9em;font-weight:600}.xnote-h6{font-size:.8em;font-weight:600}.xnote-code{border:1px solid rgba(0,0,0,.2);border-radius:4px;font-family:Microsoft YaHei Mono,Menlo,Monaco,Consolas,Courier New,monospace;margin:0 3px;padding:2px 3px}
@@ -21,4 +21,4 @@
21
21
  Updated for @stackoverflow/stacks v0.64.0
22
22
  Code Blocks: /blob/v0.64.0/lib/css/components/_stacks-code-blocks.less
23
23
  Colors: /blob/v0.64.0/lib/css/exports/_stacks-constants-colors.less
24
- */}.xnote-source-code.stackoverflow-light pre code.hljs{display:block;overflow-x:auto;padding:1em}.xnote-source-code.stackoverflow-light code.hljs{padding:3px 5px}.xnote-source-code.stackoverflow-light .hljs{background:#f6f6f6;color:#2f3337}.xnote-source-code.stackoverflow-light .hljs-subst{color:#2f3337}.xnote-source-code.stackoverflow-light .hljs-comment{color:#656e77}.xnote-source-code.stackoverflow-light .hljs-attr,.xnote-source-code.stackoverflow-light .hljs-doctag,.xnote-source-code.stackoverflow-light .hljs-keyword,.xnote-source-code.stackoverflow-light .hljs-meta .hljs-keyword,.xnote-source-code.stackoverflow-light .hljs-section,.xnote-source-code.stackoverflow-light .hljs-selector-tag{color:#015692}.xnote-source-code.stackoverflow-light .hljs-attribute{color:#803378}.xnote-source-code.stackoverflow-light .hljs-name,.xnote-source-code.stackoverflow-light .hljs-number,.xnote-source-code.stackoverflow-light .hljs-quote,.xnote-source-code.stackoverflow-light .hljs-selector-id,.xnote-source-code.stackoverflow-light .hljs-template-tag,.xnote-source-code.stackoverflow-light .hljs-type{color:#b75501}.xnote-source-code.stackoverflow-light .hljs-selector-class{color:#015692}.xnote-source-code.stackoverflow-light .hljs-link,.xnote-source-code.stackoverflow-light .hljs-regexp,.xnote-source-code.stackoverflow-light .hljs-selector-attr,.xnote-source-code.stackoverflow-light .hljs-string,.xnote-source-code.stackoverflow-light .hljs-symbol,.xnote-source-code.stackoverflow-light .hljs-template-variable,.xnote-source-code.stackoverflow-light .hljs-variable{color:#54790d}.xnote-source-code.stackoverflow-light .hljs-meta,.xnote-source-code.stackoverflow-light .hljs-selector-pseudo{color:#015692}.xnote-source-code.stackoverflow-light .hljs-built_in,.xnote-source-code.stackoverflow-light .hljs-literal,.xnote-source-code.stackoverflow-light .hljs-title{color:#b75501}.xnote-source-code.stackoverflow-light .hljs-bullet,.xnote-source-code.stackoverflow-light .hljs-code{color:#535a60}.xnote-source-code.stackoverflow-light .hljs-meta .hljs-string{color:#54790d}.xnote-source-code.stackoverflow-light .hljs-deletion{color:#c02d2e}.xnote-source-code.stackoverflow-light .hljs-addition{color:#2f6f44}.xnote-source-code.stackoverflow-light .hljs-emphasis{font-style:italic}.xnote-source-code.stackoverflow-light .hljs-strong{font-weight:700}.xnote-source-code.vs2015 pre code.hljs{display:block;overflow-x:auto;padding:1em}.xnote-source-code.vs2015 code.hljs{padding:3px 5px}.xnote-source-code.vs2015 .hljs{background:#1e1e1e;color:#dcdcdc}.xnote-source-code.vs2015 .hljs-keyword,.xnote-source-code.vs2015 .hljs-literal,.xnote-source-code.vs2015 .hljs-name,.xnote-source-code.vs2015 .hljs-symbol{color:#569cd6}.xnote-source-code.vs2015 .hljs-link{color:#569cd6;text-decoration:underline}.xnote-source-code.vs2015 .hljs-built_in,.xnote-source-code.vs2015 .hljs-type{color:#4ec9b0}.xnote-source-code.vs2015 .hljs-class,.xnote-source-code.vs2015 .hljs-number{color:#b8d7a3}.xnote-source-code.vs2015 .hljs-meta .hljs-string,.xnote-source-code.vs2015 .hljs-string{color:#d69d85}.xnote-source-code.vs2015 .hljs-regexp,.xnote-source-code.vs2015 .hljs-template-tag{color:#9a5334}.xnote-source-code.vs2015 .hljs-formula,.xnote-source-code.vs2015 .hljs-function,.xnote-source-code.vs2015 .hljs-params,.xnote-source-code.vs2015 .hljs-subst,.xnote-source-code.vs2015 .hljs-title{color:#dcdcdc}.xnote-source-code.vs2015 .hljs-comment,.xnote-source-code.vs2015 .hljs-quote{color:#57a64a;font-style:italic}.xnote-source-code.vs2015 .hljs-doctag{color:#608b4e}.xnote-source-code.vs2015 .hljs-meta,.xnote-source-code.vs2015 .hljs-meta .hljs-keyword,.xnote-source-code.vs2015 .hljs-tag{color:#9b9b9b}.xnote-source-code.vs2015 .hljs-template-variable,.xnote-source-code.vs2015 .hljs-variable{color:#bd63c5}.xnote-source-code.vs2015 .hljs-attr,.xnote-source-code.vs2015 .hljs-attribute{color:#9cdcfe}.xnote-source-code.vs2015 .hljs-section{color:gold}.xnote-source-code.vs2015 .hljs-emphasis{font-style:italic}.xnote-source-code.vs2015 .hljs-strong{font-weight:700}.xnote-source-code.vs2015 .hljs-bullet,.xnote-source-code.vs2015 .hljs-selector-attr,.xnote-source-code.vs2015 .hljs-selector-class,.xnote-source-code.vs2015 .hljs-selector-id,.xnote-source-code.vs2015 .hljs-selector-pseudo,.xnote-source-code.vs2015 .hljs-selector-tag{color:#d7ba7d}.xnote-source-code.vs2015 .hljs-addition{background-color:#144212;display:inline-block;width:100%}.xnote-source-code.vs2015 .hljs-deletion{background-color:#600;display:inline-block;width:100%}.xnote-source-code.xcode .xnote-source-code-container{border:1px solid #eee}.xnote-source-code.xcode .xnote-source-code-line-number-bg{background-color:#fafafa}.xnote-source-code.xcode pre code.hljs{display:block;overflow-x:auto;padding:1em}.xnote-source-code.xcode code.hljs{padding:3px 5px}.xnote-source-code.xcode .hljs{background:#fff;color:#000}.xnote-source-code.xcode .xml .hljs-meta{color:silver}.xnote-source-code.xcode .hljs-comment,.xnote-source-code.xcode .hljs-quote{color:#007400}.xnote-source-code.xcode .hljs-attribute,.xnote-source-code.xcode .hljs-keyword,.xnote-source-code.xcode .hljs-literal,.xnote-source-code.xcode .hljs-name,.xnote-source-code.xcode .hljs-selector-tag,.xnote-source-code.xcode .hljs-tag{color:#aa0d91}.xnote-source-code.xcode .hljs-template-variable,.xnote-source-code.xcode .hljs-variable{color:#3f6e74}.xnote-source-code.xcode .hljs-code,.xnote-source-code.xcode .hljs-meta .hljs-string,.xnote-source-code.xcode .hljs-string{color:#c41a16}.xnote-source-code.xcode .hljs-link,.xnote-source-code.xcode .hljs-regexp{color:#0e0eff}.xnote-source-code.xcode .hljs-bullet,.xnote-source-code.xcode .hljs-number,.xnote-source-code.xcode .hljs-symbol,.xnote-source-code.xcode .hljs-title{color:#1c00cf}.xnote-source-code.xcode .hljs-meta,.xnote-source-code.xcode .hljs-section{color:#643820}.xnote-source-code.xcode .hljs-built_in,.xnote-source-code.xcode .hljs-class .hljs-title,.xnote-source-code.xcode .hljs-params,.xnote-source-code.xcode .hljs-title.class_,.xnote-source-code.xcode .hljs-type{color:#5c2699}.xnote-source-code.xcode .hljs-attr{color:#836c28}.xnote-source-code.xcode .hljs-subst{color:#000}.xnote-source-code.xcode .hljs-formula{background-color:#eee;font-style:italic}.xnote-source-code.xcode .hljs-addition{background-color:#baeeba}.xnote-source-code.xcode .hljs-deletion{background-color:#ffc8bd}.xnote-source-code.xcode .hljs-selector-class,.xnote-source-code.xcode .hljs-selector-id{color:#9b703f}.xnote-source-code.xcode .hljs-doctag,.xnote-source-code.xcode .hljs-strong{font-weight:700}.xnote-source-code.xcode .hljs-emphasis{font-style:italic}.xnote-source-code.xnote-dark pre code.hljs{display:block;overflow-x:auto;padding:1em}.xnote-source-code.xnote-dark code.hljs{padding:3px 5px}.xnote-source-code.xnote-dark .hljs{background:#182324;color:#a9aeb2}.xnote-source-code.xnote-dark .hljs-comment,.xnote-source-code.xnote-dark .hljs-quote{color:#5c6d6e;font-style:italic}.xnote-source-code.xnote-dark .hljs-doctag,.xnote-source-code.xnote-dark .hljs-formula,.xnote-source-code.xnote-dark .hljs-keyword{color:#71b155;font-weight:700}.xnote-source-code.xnote-dark .hljs-deletion,.xnote-source-code.xnote-dark .hljs-section,.xnote-source-code.xnote-dark .hljs-selector-tag{color:#e06c75}.xnote-source-code.xnote-dark .hljs-literal{color:#388138}.xnote-source-code.xnote-dark .hljs-addition,.xnote-source-code.xnote-dark .hljs-attribute,.xnote-source-code.xnote-dark .hljs-meta .hljs-string,.xnote-source-code.xnote-dark .hljs-regexp,.xnote-source-code.xnote-dark .hljs-string{color:#dd7600}.xnote-source-code.xnote-dark .hljs-number,.xnote-source-code.xnote-dark .hljs-selector-attr,.xnote-source-code.xnote-dark .hljs-selector-class,.xnote-source-code.xnote-dark .hljs-selector-pseudo,.xnote-source-code.xnote-dark .hljs-template-variable,.xnote-source-code.xnote-dark .hljs-type,.xnote-source-code.xnote-dark .hljs-variable{color:#388138}.xnote-source-code.xnote-dark .hljs-bullet,.xnote-source-code.xnote-dark .hljs-link,.xnote-source-code.xnote-dark .hljs-meta,.xnote-source-code.xnote-dark .hljs-name,.xnote-source-code.xnote-dark .hljs-selector-id,.xnote-source-code.xnote-dark .hljs-subst,.xnote-source-code.xnote-dark .hljs-symbol,.xnote-source-code.xnote-dark .hljs-title{color:#2e89c1}.xnote-source-code.xnote-dark .hljs-built_in,.xnote-source-code.xnote-dark .hljs-class .hljs-title,.xnote-source-code.xnote-dark .hljs-title.class_{color:#e6c07b}.xnote-source-code.xnote-dark .hljs-emphasis{font-style:italic}.xnote-source-code.xnote-dark .hljs-strong{font-weight:700}.xnote-source-code.xnote-dark .hljs-link{text-decoration:underline}.xnote-source-code.xnote-dark-blue pre code.hljs{display:block;overflow-x:auto;padding:1em}.xnote-source-code.xnote-dark-blue code.hljs{padding:3px 5px}.xnote-source-code.xnote-dark-blue .hljs{background:#1c222a;color:#a9aeb2}.xnote-source-code.xnote-dark-blue .hljs-comment,.xnote-source-code.xnote-dark-blue .hljs-quote{color:#5c6d6e;font-style:italic}.xnote-source-code.xnote-dark-blue .hljs-doctag,.xnote-source-code.xnote-dark-blue .hljs-formula,.xnote-source-code.xnote-dark-blue .hljs-keyword{color:#0086b3;font-weight:700}.xnote-source-code.xnote-dark-blue .hljs-deletion,.xnote-source-code.xnote-dark-blue .hljs-section,.xnote-source-code.xnote-dark-blue .hljs-selector-tag{color:#e06c75}.xnote-source-code.xnote-dark-blue .hljs-literal{color:#388138}.xnote-source-code.xnote-dark-blue .hljs-addition,.xnote-source-code.xnote-dark-blue .hljs-attribute,.xnote-source-code.xnote-dark-blue .hljs-meta .hljs-string,.xnote-source-code.xnote-dark-blue .hljs-regexp,.xnote-source-code.xnote-dark-blue .hljs-string{color:#ce5a70}.xnote-source-code.xnote-dark-blue .hljs-number,.xnote-source-code.xnote-dark-blue .hljs-selector-attr,.xnote-source-code.xnote-dark-blue .hljs-selector-class,.xnote-source-code.xnote-dark-blue .hljs-selector-pseudo,.xnote-source-code.xnote-dark-blue .hljs-template-variable,.xnote-source-code.xnote-dark-blue .hljs-type,.xnote-source-code.xnote-dark-blue .hljs-variable{color:#388138}.xnote-source-code.xnote-dark-blue .hljs-bullet,.xnote-source-code.xnote-dark-blue .hljs-link,.xnote-source-code.xnote-dark-blue .hljs-meta,.xnote-source-code.xnote-dark-blue .hljs-name,.xnote-source-code.xnote-dark-blue .hljs-selector-id,.xnote-source-code.xnote-dark-blue .hljs-subst,.xnote-source-code.xnote-dark-blue .hljs-symbol,.xnote-source-code.xnote-dark-blue .hljs-title{color:#2e89c1}.xnote-source-code.xnote-dark-blue .hljs-built_in,.xnote-source-code.xnote-dark-blue .hljs-class .hljs-title,.xnote-source-code.xnote-dark-blue .hljs-title.class_{color:#399fcf}.xnote-source-code.xnote-dark-blue .hljs-emphasis{font-style:italic}.xnote-source-code.xnote-dark-blue .hljs-strong{font-weight:700}.xnote-source-code.xnote-dark-blue .hljs-link{text-decoration:underline}.xnote-source-code code{background:none;border:none;border-radius:0;padding:0;vertical-align:inherit}.xnote-source-code{margin-bottom:16px;margin-top:16px;position:relative}.xnote-source-code-container{border-radius:5px;display:flex;line-height:1.418em;overflow:hidden;position:relative}.xnote-source-code-container.xnote-source-code-auto-break .xnote-source-code-line{word-wrap:break-word;white-space:pre-wrap;word-break:break-all}code,kbd,pre,samp{font-family:Microsoft YaHei Mono,Menlo,Monaco,Consolas,Courier New,monospace}.xnote-source-code-line-number-bg{background-color:inherit;display:none;position:relative;width:3em;z-index:2}.xnote-source-code.xnote-source-code-line-number .xnote-source-code-line-number-bg{display:block}.xnote-source-code.xnote-source-code-line-number .xnote-source-code-line{margin-left:-4em}.xnote-source-code-content{counter-reset:codeNum;flex:1;font-size:15px;margin:0;max-height:450px;overflow:auto;padding:15px 0;position:relative}.xnote-source-code-content:hover::-webkit-scrollbar-thumb{background-color:#80848f}.xnote-source-code-content::-webkit-scrollbar-thumb{border:0;border-radius:4px;height:50px;outline:0;outline-offset:0}.xnote-source-code-content::-webkit-scrollbar-thumb:hover{background-color:#495060;height:50px}.xnote-source-code-content::-webkit-scrollbar{border-radius:3px;height:6px;width:6px}.xnote-source-code-content-highlight .xnote-source-code-line{opacity:.36}.xnote-source-code-line{display:flex;margin:2px 0}.xnote-source-code-line-content{display:block;padding:0 20px}.xnote-source-code-line-number .xnote-source-code-line-content{padding:0 20px 0 10px}.xnote-source-code-line-number .xnote-source-code-line:before{box-sizing:border-box;content:counter(codeNum);counter-increment:codeNum;left:0;min-width:4em;opacity:.5;overflow:hidden;padding-right:10px;position:sticky;text-align:right;transform:translateX(-4em);white-space:nowrap;z-index:2}.xnote-source-code-content-highlight .xnote-source-code-line-emphasize{opacity:1}.xnote-source-code-lang{font-size:13px;opacity:.5;padding:4px 10px;pointer-events:none;position:absolute;right:0;top:0}.xnote-paragraph p{margin:8px 0}.xnote-blockquote{border-left:2px solid #296eff;margin:1em 0;padding:0 15px}.xnote-blockquote>:first-child{margin-top:0}.xnote-blockquote>:last-child{margin-bottom:0}.xnote-highlight-box{background:#fcf5ce;border:1px solid #f5c774;border-radius:4px;display:flex;margin:16px 0}.xnote-highlight-box-left{padding-top:.65em;text-align:center;width:40px}.xnote-highlight-box-content{flex:1}.xnote-highlight-box-icon button{background:none;border:none;border-radius:4px;cursor:pointer;font-size:1.2em;height:30px;padding:0;width:30px}.xnote-highlight-box-icon button:hover{background:rgba(0,0,0,.1)}.xnote-highlight-box-icons{text-align:left}.xnote-highlight-box-icons button{background:none;border:none;border-radius:4px;cursor:pointer;font-size:22px;height:30px;padding:0;width:30px}.xnote-highlight-box-icons button:hover{background:rgba(0,0,0,.1)}.xnote-highlight-box-content{padding:5px}.xnote-highlight-box-heading{font-size:14px;opacity:.8;padding:10px 0 10px 3px}.xnote-todolist{align-items:center;display:flex;margin:8px 0}.xnote-todolist-icon{color:#296eff;cursor:pointer;margin-right:6px}.xnote-todolist-content{min-width:2em}.xnote-todolist-content[style*=text-indent]{text-indent:0!important}.xnote-todolist-content[style*=text-align]{text-align:left!important}.xnote-list{margin:8px 0;padding:0}.xnote-list>li{display:flex}.xnote-list-content{min-width:2em}ul.xnote-list .xnote-list-type{font-family:initial;font-size:16px}.xnote-list-type{box-sizing:border-box;color:#296eff;flex-shrink:0;text-align:left;text-indent:0;white-space:nowrap;width:24px}.xnote-order-btn{padding-left:5px}.xnote-list-content[style*=text-indent]{text-indent:0!important}.xnote-list-content[style*=text-align]{text-align:left!important}.color-type[vf-1fbbdf]{font-size:13px;padding:5px 0}.text-colors[vf-1fbbdf]{font-size:14px;overflow:hidden}.text-colors div[vf-1fbbdf]{border:1px solid #eee;border-radius:4px;box-sizing:border-box;cursor:pointer;float:left;height:22px;line-height:20px;margin:4px 3px;text-align:center;width:22px}.text-colors div.active[vf-1fbbdf]{box-shadow:0 0 0 2px #296eff}.text-colors div[vf-1fbbdf]:hover{box-shadow:0 0 0 2px rgba(41,110,255,.188)}.background-colors[vf-1fbbdf]{font-size:14px;overflow:hidden}.background-colors div[vf-1fbbdf]{border-radius:4px;color:#fff;cursor:pointer;float:left;height:22px;line-height:22px;margin:4px 3px;text-align:center;width:22px}.background-colors div.active[vf-1fbbdf]{box-shadow:0 0 0 2px #296eff}.background-colors div[vf-1fbbdf]:hover{box-shadow:0 0 0 2px rgba(41,110,255,.188)}.background-colors .no-background[vf-1fbbdf]{border:1px solid #eee;box-sizing:border-box;overflow:hidden;position:relative}.background-colors .no-background[vf-1fbbdf]:before{background:#aaa;content:"";height:1px;left:-28px;position:absolute;top:0;transform:rotate(-45deg);width:100px}.background[vf-1fbbdf]{display:inline-block;height:1em;margin-right:6px;position:relative;text-align:center;width:1em}.background>span[vf-1fbbdf]{border-radius:4px;height:20px;left:-2px;line-height:20px;position:absolute;top:-2px;width:20px}.input-group[vf-269a0b]{display:flex;padding:5px 10px}.input-group input[vf-269a0b]{border:1px solid #ddd;border-radius:4px;margin-right:5px;padding:2px 6px}.input-group input[vf-269a0b]:focus{border-color:#296eff}.input-group button[vf-269a0b]{border:1px solid #ddd;border-radius:4px;font-size:14px}.btn-group[vf-cf8e1c]{font-size:15px;padding:5px 0;text-align:center}.btn-group button[vf-cf8e1c]{margin:2px 5px}.xnote-image{display:inline-block}.xnote-image,.xnote-image img,.xnote-video{max-width:100%}.xnote-video{display:inline-block}.xnote-video video{max-width:100%}@import "~katex/dist/katex.min.css";.katex,.katex-display,.katex-html,.xnote-katex{display:inline-block}.xnote-katex{margin-left:.5em;margin-right:.5em}.xnote-katex-input{inset:0;min-height:300px;position:absolute;width:590px}.xnote-katex-input .xnote-source-code{margin:0;overflow:hidden;user-select:text}.xnote-katex-input .xnote-source-code-container{border:0!important;height:100%}.xnote-katex-input .xnote-source-code-content{box-sizing:border-box;max-height:none;min-height:300px;overflow:hidden}.left-toolbar[vf-b05292]{font-size:15px;left:-10px;position:absolute;top:0;z-index:10}.left-toolbar-btn-wrap[vf-b05292]{position:absolute;transition:all .2s}.left-toolbar-btn[vf-b05292]{background:#fff;border:1px solid #ddd;border-radius:5px;cursor:pointer;height:26px}.left-toolbar-btn span[vf-b05292]{align-items:center;display:inline-flex}.btn-group[vf-b05292]{font-size:15px;padding:5px 0;text-align:center}.btn-group button[vf-b05292]{margin:2px 5px}.toolbar[vf-fee98b]{background:#fff;border:1px solid #dee0e3;border-radius:5px;box-shadow:0 4px 8px rgba(0,0,0,.08);box-sizing:border-box;display:flex;font-size:13px;height:36px;opacity:0;padding:0 6px;pointer-events:none;position:absolute;text-align:left;transform:translateX(-50%);transition-duration:.4s;transition-property:all;transition-timing-function:ease;z-index:3}.xnote-at{color:#296eff}.xnote-at-complete{background-color:#296eff;border-radius:1em;color:#fff;font-size:.9em;margin-left:2px;margin-right:2px;padding:2px 6px}.xnote-at-input{display:inline-block;min-width:2em}.xnote-at-member{border-radius:4px;cursor:pointer;display:flex;height:50px;margin:4px 0;overflow:hidden;padding:5px;transition:background-color .2s;width:100%}.xnote-at-member.selected,.xnote-at-member:hover{background:#eee}.xnote-at-member-avatar{align-items:center;display:flex;font-size:12px;text-align:center;width:40px}.xnote-at-member-avatar img,.xnote-at-member-avatar-bg{background:#eee;border-radius:50%;display:inline-block;font-size:.9em;height:36px;line-height:36px;overflow:hidden;width:36px}.xnote-at-member-info{flex:1;font-size:14px;padding-left:10px;width:156px}.xnote-at-member-desc,.xnote-at-member-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.xnote-at-member-desc{font-size:12px;opacity:.7}.xnote-root{color:#1f2329}.xnote-root * ::selection{background:rgba(20,99,252,.34)}.xnote-content{font-size:16px;line-height:1.65}.xnote-content:before{content:attr(data-placeholder);opacity:.5;position:absolute}.xnote-table{display:inline-block;margin-bottom:16px;margin-top:16px;max-width:100%;position:relative}.xnote-table-content{border-collapse:collapse;border-spacing:0;table-layout:fixed;width:0}.xnote-table-content.hide-selection * ::selection{background:none}.xnote-table-content td{border:1px solid #ddd;box-sizing:content-box;padding:0 10px}.xnote-table-container,.xnote-table-wrapper{position:relative}.xnote-table-delete-btn{background:#eee;border:none;border-radius:4px;color:#5c6370;cursor:pointer;height:30px;line-height:30px;width:24px}.xnote-table-delete-btn:hover{color:#333}.drag-line[vf-681de2]{border-color:transparent;border-style:solid;border-width:0 5px;bottom:0;box-sizing:content-box;cursor:col-resize;display:none;margin-left:-5px;position:absolute;top:0;width:2px}.drag-line[vf-681de2]:before{background:#296eff;content:"";inset:0;position:absolute}.top-bar[vf-39cb2c]{display:none;left:0;position:absolute;right:0;top:0}.top-bar.active[vf-39cb2c]{display:block}.top-delete-toolbar[vf-39cb2c]{height:0;position:relative;top:-10px}.toolbar-wrapper[vf-39cb2c]{height:60px;left:0;pointer-events:none;position:absolute;right:0;top:-60px}.insert-bar[vf-39cb2c]{box-sizing:content-box;height:30px;margin-left:-10px;margin-right:-10px;overflow:hidden;padding-left:10px;padding-right:10px;padding-top:30px}.insert-bar table[vf-39cb2c]{border-collapse:collapse;border-spacing:0;position:relative;table-layout:fixed;z-index:1}.insert-bar table td[vf-39cb2c]{border:1px solid transparent;box-sizing:border-box;height:18px;position:relative}.insert-bar table .tool-container[vf-39cb2c]{height:18px}.insert-bar table .tool-container>div[vf-39cb2c],.insert-bar table .tool-container>span[vf-39cb2c]{pointer-events:auto}.insert-bar table .insert-btn-wrap[vf-39cb2c]{cursor:pointer;height:21px;position:absolute;right:-11px;top:-2px;width:21px;z-index:1}.insert-bar table .insert-btn-wrap .insert-btn[vf-39cb2c]{background:#ccc;border:none;border-radius:50%;box-shadow:none;color:#fff;cursor:inherit;font-size:16px;height:100%;line-height:20px;padding:0;position:relative;text-align:center;transform:scale(.2);transition:transform .15s;width:100%}.insert-bar table .insert-btn-wrap .insert-btn[vf-39cb2c]:after{background:inherit;content:"";height:10px;left:5.5px;position:absolute;top:12px;transform:rotate(45deg);width:10px;z-index:-1}.insert-bar table .insert-btn-wrap:hover .insert-btn[vf-39cb2c]{background:#296eff;transform:scale(1)}.action-bar[vf-39cb2c]{margin-top:-12px;overflow:hidden;pointer-events:auto;position:relative;z-index:0}.action-bar.active[vf-39cb2c]{display:block}.action-bar table[vf-39cb2c]{border-collapse:collapse;border-radius:4px 4px 0 0;border-spacing:0;overflow:hidden;table-layout:fixed}.action-bar table td[vf-39cb2c]{background:#eee;border:1px solid #eee;box-sizing:border-box;cursor:pointer;height:12px;position:relative}.action-bar table td[vf-39cb2c]:hover{background:#dedede}.action-bar table td.active[vf-39cb2c]{background:#296eff;border-color:#2358c9}.action-bar table td.active[vf-39cb2c]:before{border-color:inherit;border-style:solid;border-width:0 0 0 1px;bottom:0;content:"";left:-1px;position:absolute;top:-1px}.scroll-container[vf-c3d159]{overflow-y:auto}.scroll-container[vf-c3d159]:hover::-webkit-scrollbar-thumb{background-color:#80848f}.scroll-container[vf-c3d159]::-webkit-scrollbar-thumb{border:0;border-radius:4px;height:50px;outline:0;outline-offset:0}.scroll-container[vf-c3d159]::-webkit-scrollbar-thumb:hover{background-color:#495060;height:50px}.scroll-container[vf-c3d159]::-webkit-scrollbar{border-radius:3px;height:6px;width:6px}.scroll-container[vf-c3d159]:before{background-image:linear-gradient(90deg,rgba(0,0,0,.1),transparent);border-left:1px solid #ddd;left:0}.scroll-container[vf-c3d159]:after,.scroll-container[vf-c3d159]:before{bottom:6px;content:"";pointer-events:none;position:absolute;top:0;width:12px}.scroll-container[vf-c3d159]:after{background:linear-gradient(90deg,transparent,rgba(0,0,0,.1));border-right:1px solid #ddd;right:0}.scroll-container.left-end[vf-c3d159]:before,.scroll-container.right-end[vf-c3d159]:after{display:none}.left-bar[vf-aaece0]{display:none;left:0;margin-left:-30px;position:absolute;top:0;width:30px}.left-bar.active[vf-aaece0]{display:flex}.toolbar-item[vf-aaece0]{align-items:center;display:flex;inset:0;position:absolute}.insert-bar[vf-aaece0]{width:18px}.insert-bar table[vf-aaece0]{border-collapse:collapse;border-spacing:0;table-layout:fixed}.insert-bar table td[vf-aaece0]{border:1px solid transparent;position:relative}.insert-bar table .insert-btn-wrap[vf-aaece0]{bottom:-8px;cursor:pointer;height:21px;left:0;position:absolute;width:21px;z-index:1}.insert-bar table .insert-btn-wrap .insert-btn[vf-aaece0]{background:#ccc;border:none;border-radius:50%;box-shadow:none;color:#fff;cursor:inherit;font-size:16px;height:100%;line-height:20px;padding:0;position:relative;text-align:center;transform:scale(.2);transition:transform .15s;width:100%}.insert-bar table .insert-btn-wrap .insert-btn[vf-aaece0]:after{background:inherit;content:"";height:10px;left:11px;position:absolute;top:5.5px;transform:rotate(45deg);width:10px;z-index:-1}.insert-bar table .insert-btn-wrap:hover .insert-btn[vf-aaece0]{background:#296eff;transform:scale(1)}.action-bar[vf-aaece0]{width:12px}.action-bar table[vf-aaece0]{border-collapse:collapse;border-radius:4px 0 0 4px;border-spacing:0;overflow:hidden;table-layout:fixed;width:13px}.action-bar table td[vf-aaece0]{background:#eee;border:1px solid #eee;box-sizing:border-box;cursor:pointer;height:12px;position:relative}.action-bar table td[vf-aaece0]:hover{background:#dedede}.action-bar table td.active[vf-aaece0]{background:#296eff;border-color:#2358c9}.action-bar table td.active[vf-aaece0]:before{border-color:inherit;border-style:solid;border-width:1px 0 0;content:"";left:-1px;position:absolute;right:-1px;top:-1px}.drag-line[vf-d4c4a9]{background:#296eff;contain:layout size style;height:2px;left:0;max-width:100%;position:absolute;right:0;z-index:1}.mask[vf-4a5ad1]{background:rgba(41,110,255,.063);border:1px solid #296eff;box-sizing:content-box;display:none;pointer-events:none;position:absolute}.mask.active[vf-4a5ad1]{display:block}@font-face{font-display:block;font-family:textbus;font-style:normal;font-weight:400;src:url(fonts/textbus.ttf?ckj6yl) format("truetype"),url(fonts/textbus.woff?ckj6yl) format("woff"),url(fonts/textbus.svg?ckj6yl#textbus) format("svg")}[class*=" xnote-icon-"],[class^=xnote-icon-]{speak:never;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:textbus!important;font-style:normal;font-variant:normal;font-weight:400;line-height:1;text-transform:none}.xnote-icon-hightlight-box:before{content:"\e90e"}.xnote-icon-arrow-left:before{content:"\e900"}.xnote-icon-arrow-right:before{content:"\e901"}.xnote-icon-arrow-top:before{content:"\e902"}.xnote-icon-arrow-bottom:before{content:"\e903"}.xnote-icon-source-code:before{content:"\e904"}.xnote-icon-insert-paragraph-after:before{content:"\e905"}.xnote-icon-insert-paragraph-before:before{content:"\e906"}.xnote-icon-table-border:before{content:"\e908"}.xnote-icon-table-remove:before{content:"\e909"}.xnote-icon-paint-bucket:before{content:"\e90b"}.xnote-icon-background-color:before{content:"\e90c"}.xnote-icon-color:before{content:"\e90d"}.xnote-icon-table-edit:before{content:"\e90f"}.xnote-icon-table-split-columns:before{content:"\e910"}.xnote-icon-image:before{content:"\e919"}.xnote-icon-music:before{content:"\e91b"}.xnote-icon-video:before{content:"\e91c"}.xnote-icon-unlink:before{content:"\e91d"}.xnote-icon-select:before{content:"\e91e"}.xnote-icon-tree:before{content:"\e91f"}.xnote-icon-more:before{content:"\e921"}.xnote-icon-checkmark:before{content:"\e922"}.xnote-icon-text-wrap:before{content:"\e924"}.xnote-icon-heading-h1:before{content:"\e925"}.xnote-icon-heading-h2:before{content:"\e926"}.xnote-icon-heading-h3:before{content:"\e927"}.xnote-icon-heading-h4:before{content:"\e928"}.xnote-icon-heading-h5:before{content:"\e929"}.xnote-icon-heading-h6:before{content:"\e92a"}.xnote-icon-heading:before{content:"\e92b"}.xnote-icon-copy:before{content:"\e92c"}.xnote-icon-paste:before{content:"\e92d"}.xnote-icon-history-back:before{content:"\e967"}.xnote-icon-history-forward:before{content:"\e968"}.xnote-icon-quotes-right:before{content:"\e978"}.xnote-icon-bin:before{content:"\e9ac"}.xnote-icon-list-numbered:before{content:"\e9b9"}.xnote-icon-list:before{content:"\e9bb"}.xnote-icon-link:before{content:"\e9cb"}.xnote-icon-command:before{content:"\ea4e"}.xnote-icon-shift:before{content:"\ea4f"}.xnote-icon-ctrl:before{content:"\ea50"}.xnote-icon-opt:before{content:"\ea51"}.xnote-icon-checkbox-checked:before{content:"\ea52"}.xnote-icon-checkbox-unchecked:before{content:"\ea53"}.xnote-icon-cut:before{content:"\ea5a"}.xnote-icon-line-height:before{content:"\ea5f"}.xnote-icon-letter-spacing:before{content:"\ea60"}.xnote-icon-font-size:before{content:"\ea61"}.xnote-icon-bold:before{content:"\ea62"}.xnote-icon-underline:before{content:"\ea63"}.xnote-icon-italic:before{content:"\ea64"}.xnote-icon-strikethrough:before{content:"\ea65"}.xnote-icon-superscript:before{content:"\ea69"}.xnote-icon-subscript:before{content:"\ea6a"}.xnote-icon-table:before{content:"\ea71"}.xnote-icon-pilcrow:before{content:"\ea73"}.xnote-icon-ltr:before{content:"\ea74"}.xnote-icon-rtl:before{content:"\ea75"}.xnote-icon-paragraph-left:before{content:"\ea77"}.xnote-icon-paragraph-center:before{content:"\ea78"}.xnote-icon-paragraph-right:before{content:"\ea79"}.xnote-icon-paragraph-justify:before{content:"\ea7a"}.xnote-icon-indent-increase:before{content:"\ea7b"}.xnote-icon-indent-decrease:before{content:"\ea7c"}.xnote-icon-code:before{content:"\ea80"}.xnote-icon-plus:before{content:"\e907"}.xnote-icon-function:before{content:"\e90a"}.xnote-h1{font-size:2.2em;font-weight:600}.xnote-h2{font-size:1.8em;font-weight:600}.xnote-h3{font-size:1.4em;font-weight:600}.xnote-h4{font-size:1em;font-weight:600}.xnote-h5{font-size:.9em;font-weight:600}.xnote-h6{font-size:.8em;font-weight:600}.xnote-code{border:1px solid rgba(0,0,0,.2);border-radius:4px;font-family:Microsoft YaHei Mono,Menlo,Monaco,Consolas,Courier New,monospace;margin:0 3px;padding:2px 3px}
24
+ */}.xnote-source-code.stackoverflow-light pre code.hljs{display:block;overflow-x:auto;padding:1em}.xnote-source-code.stackoverflow-light code.hljs{padding:3px 5px}.xnote-source-code.stackoverflow-light .hljs{background:#f6f6f6;color:#2f3337}.xnote-source-code.stackoverflow-light .hljs-subst{color:#2f3337}.xnote-source-code.stackoverflow-light .hljs-comment{color:#656e77}.xnote-source-code.stackoverflow-light .hljs-attr,.xnote-source-code.stackoverflow-light .hljs-doctag,.xnote-source-code.stackoverflow-light .hljs-keyword,.xnote-source-code.stackoverflow-light .hljs-meta .hljs-keyword,.xnote-source-code.stackoverflow-light .hljs-section,.xnote-source-code.stackoverflow-light .hljs-selector-tag{color:#015692}.xnote-source-code.stackoverflow-light .hljs-attribute{color:#803378}.xnote-source-code.stackoverflow-light .hljs-name,.xnote-source-code.stackoverflow-light .hljs-number,.xnote-source-code.stackoverflow-light .hljs-quote,.xnote-source-code.stackoverflow-light .hljs-selector-id,.xnote-source-code.stackoverflow-light .hljs-template-tag,.xnote-source-code.stackoverflow-light .hljs-type{color:#b75501}.xnote-source-code.stackoverflow-light .hljs-selector-class{color:#015692}.xnote-source-code.stackoverflow-light .hljs-link,.xnote-source-code.stackoverflow-light .hljs-regexp,.xnote-source-code.stackoverflow-light .hljs-selector-attr,.xnote-source-code.stackoverflow-light .hljs-string,.xnote-source-code.stackoverflow-light .hljs-symbol,.xnote-source-code.stackoverflow-light .hljs-template-variable,.xnote-source-code.stackoverflow-light .hljs-variable{color:#54790d}.xnote-source-code.stackoverflow-light .hljs-meta,.xnote-source-code.stackoverflow-light .hljs-selector-pseudo{color:#015692}.xnote-source-code.stackoverflow-light .hljs-built_in,.xnote-source-code.stackoverflow-light .hljs-literal,.xnote-source-code.stackoverflow-light .hljs-title{color:#b75501}.xnote-source-code.stackoverflow-light .hljs-bullet,.xnote-source-code.stackoverflow-light .hljs-code{color:#535a60}.xnote-source-code.stackoverflow-light .hljs-meta .hljs-string{color:#54790d}.xnote-source-code.stackoverflow-light .hljs-deletion{color:#c02d2e}.xnote-source-code.stackoverflow-light .hljs-addition{color:#2f6f44}.xnote-source-code.stackoverflow-light .hljs-emphasis{font-style:italic}.xnote-source-code.stackoverflow-light .hljs-strong{font-weight:700}.xnote-source-code.vs2015 pre code.hljs{display:block;overflow-x:auto;padding:1em}.xnote-source-code.vs2015 code.hljs{padding:3px 5px}.xnote-source-code.vs2015 .hljs{background:#1e1e1e;color:#dcdcdc}.xnote-source-code.vs2015 .hljs-keyword,.xnote-source-code.vs2015 .hljs-literal,.xnote-source-code.vs2015 .hljs-name,.xnote-source-code.vs2015 .hljs-symbol{color:#569cd6}.xnote-source-code.vs2015 .hljs-link{color:#569cd6;text-decoration:underline}.xnote-source-code.vs2015 .hljs-built_in,.xnote-source-code.vs2015 .hljs-type{color:#4ec9b0}.xnote-source-code.vs2015 .hljs-class,.xnote-source-code.vs2015 .hljs-number{color:#b8d7a3}.xnote-source-code.vs2015 .hljs-meta .hljs-string,.xnote-source-code.vs2015 .hljs-string{color:#d69d85}.xnote-source-code.vs2015 .hljs-regexp,.xnote-source-code.vs2015 .hljs-template-tag{color:#9a5334}.xnote-source-code.vs2015 .hljs-formula,.xnote-source-code.vs2015 .hljs-function,.xnote-source-code.vs2015 .hljs-params,.xnote-source-code.vs2015 .hljs-subst,.xnote-source-code.vs2015 .hljs-title{color:#dcdcdc}.xnote-source-code.vs2015 .hljs-comment,.xnote-source-code.vs2015 .hljs-quote{color:#57a64a;font-style:italic}.xnote-source-code.vs2015 .hljs-doctag{color:#608b4e}.xnote-source-code.vs2015 .hljs-meta,.xnote-source-code.vs2015 .hljs-meta .hljs-keyword,.xnote-source-code.vs2015 .hljs-tag{color:#9b9b9b}.xnote-source-code.vs2015 .hljs-template-variable,.xnote-source-code.vs2015 .hljs-variable{color:#bd63c5}.xnote-source-code.vs2015 .hljs-attr,.xnote-source-code.vs2015 .hljs-attribute{color:#9cdcfe}.xnote-source-code.vs2015 .hljs-section{color:gold}.xnote-source-code.vs2015 .hljs-emphasis{font-style:italic}.xnote-source-code.vs2015 .hljs-strong{font-weight:700}.xnote-source-code.vs2015 .hljs-bullet,.xnote-source-code.vs2015 .hljs-selector-attr,.xnote-source-code.vs2015 .hljs-selector-class,.xnote-source-code.vs2015 .hljs-selector-id,.xnote-source-code.vs2015 .hljs-selector-pseudo,.xnote-source-code.vs2015 .hljs-selector-tag{color:#d7ba7d}.xnote-source-code.vs2015 .hljs-addition{background-color:#144212;display:inline-block;width:100%}.xnote-source-code.vs2015 .hljs-deletion{background-color:#600;display:inline-block;width:100%}.xnote-source-code.xcode .xnote-source-code-container{border:1px solid #eee}.xnote-source-code.xcode .xnote-source-code-line-number-bg{background-color:#fafafa}.xnote-source-code.xcode pre code.hljs{display:block;overflow-x:auto;padding:1em}.xnote-source-code.xcode code.hljs{padding:3px 5px}.xnote-source-code.xcode .hljs{background:#fff;color:#000}.xnote-source-code.xcode .xml .hljs-meta{color:silver}.xnote-source-code.xcode .hljs-comment,.xnote-source-code.xcode .hljs-quote{color:#007400}.xnote-source-code.xcode .hljs-attribute,.xnote-source-code.xcode .hljs-keyword,.xnote-source-code.xcode .hljs-literal,.xnote-source-code.xcode .hljs-name,.xnote-source-code.xcode .hljs-selector-tag,.xnote-source-code.xcode .hljs-tag{color:#aa0d91}.xnote-source-code.xcode .hljs-template-variable,.xnote-source-code.xcode .hljs-variable{color:#3f6e74}.xnote-source-code.xcode .hljs-code,.xnote-source-code.xcode .hljs-meta .hljs-string,.xnote-source-code.xcode .hljs-string{color:#c41a16}.xnote-source-code.xcode .hljs-link,.xnote-source-code.xcode .hljs-regexp{color:#0e0eff}.xnote-source-code.xcode .hljs-bullet,.xnote-source-code.xcode .hljs-number,.xnote-source-code.xcode .hljs-symbol,.xnote-source-code.xcode .hljs-title{color:#1c00cf}.xnote-source-code.xcode .hljs-meta,.xnote-source-code.xcode .hljs-section{color:#643820}.xnote-source-code.xcode .hljs-built_in,.xnote-source-code.xcode .hljs-class .hljs-title,.xnote-source-code.xcode .hljs-params,.xnote-source-code.xcode .hljs-title.class_,.xnote-source-code.xcode .hljs-type{color:#5c2699}.xnote-source-code.xcode .hljs-attr{color:#836c28}.xnote-source-code.xcode .hljs-subst{color:#000}.xnote-source-code.xcode .hljs-formula{background-color:#eee;font-style:italic}.xnote-source-code.xcode .hljs-addition{background-color:#baeeba}.xnote-source-code.xcode .hljs-deletion{background-color:#ffc8bd}.xnote-source-code.xcode .hljs-selector-class,.xnote-source-code.xcode .hljs-selector-id{color:#9b703f}.xnote-source-code.xcode .hljs-doctag,.xnote-source-code.xcode .hljs-strong{font-weight:700}.xnote-source-code.xcode .hljs-emphasis{font-style:italic}.xnote-source-code.xnote-dark pre code.hljs{display:block;overflow-x:auto;padding:1em}.xnote-source-code.xnote-dark code.hljs{padding:3px 5px}.xnote-source-code.xnote-dark .hljs{background:#182324;color:#a9aeb2}.xnote-source-code.xnote-dark .hljs-comment,.xnote-source-code.xnote-dark .hljs-quote{color:#5c6d6e;font-style:italic}.xnote-source-code.xnote-dark .hljs-doctag,.xnote-source-code.xnote-dark .hljs-formula,.xnote-source-code.xnote-dark .hljs-keyword{color:#71b155;font-weight:700}.xnote-source-code.xnote-dark .hljs-deletion,.xnote-source-code.xnote-dark .hljs-section,.xnote-source-code.xnote-dark .hljs-selector-tag{color:#e06c75}.xnote-source-code.xnote-dark .hljs-literal{color:#388138}.xnote-source-code.xnote-dark .hljs-addition,.xnote-source-code.xnote-dark .hljs-attribute,.xnote-source-code.xnote-dark .hljs-meta .hljs-string,.xnote-source-code.xnote-dark .hljs-regexp,.xnote-source-code.xnote-dark .hljs-string{color:#dd7600}.xnote-source-code.xnote-dark .hljs-number,.xnote-source-code.xnote-dark .hljs-selector-attr,.xnote-source-code.xnote-dark .hljs-selector-class,.xnote-source-code.xnote-dark .hljs-selector-pseudo,.xnote-source-code.xnote-dark .hljs-template-variable,.xnote-source-code.xnote-dark .hljs-type,.xnote-source-code.xnote-dark .hljs-variable{color:#388138}.xnote-source-code.xnote-dark .hljs-bullet,.xnote-source-code.xnote-dark .hljs-link,.xnote-source-code.xnote-dark .hljs-meta,.xnote-source-code.xnote-dark .hljs-name,.xnote-source-code.xnote-dark .hljs-selector-id,.xnote-source-code.xnote-dark .hljs-subst,.xnote-source-code.xnote-dark .hljs-symbol,.xnote-source-code.xnote-dark .hljs-title{color:#2e89c1}.xnote-source-code.xnote-dark .hljs-built_in,.xnote-source-code.xnote-dark .hljs-class .hljs-title,.xnote-source-code.xnote-dark .hljs-title.class_{color:#e6c07b}.xnote-source-code.xnote-dark .hljs-emphasis{font-style:italic}.xnote-source-code.xnote-dark .hljs-strong{font-weight:700}.xnote-source-code.xnote-dark .hljs-link{text-decoration:underline}.xnote-source-code.xnote-dark-blue pre code.hljs{display:block;overflow-x:auto;padding:1em}.xnote-source-code.xnote-dark-blue code.hljs{padding:3px 5px}.xnote-source-code.xnote-dark-blue .hljs{background:#1c222a;color:#a9aeb2}.xnote-source-code.xnote-dark-blue .hljs-comment,.xnote-source-code.xnote-dark-blue .hljs-quote{color:#5c6d6e;font-style:italic}.xnote-source-code.xnote-dark-blue .hljs-doctag,.xnote-source-code.xnote-dark-blue .hljs-formula,.xnote-source-code.xnote-dark-blue .hljs-keyword{color:#0086b3;font-weight:700}.xnote-source-code.xnote-dark-blue .hljs-deletion,.xnote-source-code.xnote-dark-blue .hljs-section,.xnote-source-code.xnote-dark-blue .hljs-selector-tag{color:#e06c75}.xnote-source-code.xnote-dark-blue .hljs-literal{color:#388138}.xnote-source-code.xnote-dark-blue .hljs-addition,.xnote-source-code.xnote-dark-blue .hljs-attribute,.xnote-source-code.xnote-dark-blue .hljs-meta .hljs-string,.xnote-source-code.xnote-dark-blue .hljs-regexp,.xnote-source-code.xnote-dark-blue .hljs-string{color:#ce5a70}.xnote-source-code.xnote-dark-blue .hljs-number,.xnote-source-code.xnote-dark-blue .hljs-selector-attr,.xnote-source-code.xnote-dark-blue .hljs-selector-class,.xnote-source-code.xnote-dark-blue .hljs-selector-pseudo,.xnote-source-code.xnote-dark-blue .hljs-template-variable,.xnote-source-code.xnote-dark-blue .hljs-type,.xnote-source-code.xnote-dark-blue .hljs-variable{color:#388138}.xnote-source-code.xnote-dark-blue .hljs-bullet,.xnote-source-code.xnote-dark-blue .hljs-link,.xnote-source-code.xnote-dark-blue .hljs-meta,.xnote-source-code.xnote-dark-blue .hljs-name,.xnote-source-code.xnote-dark-blue .hljs-selector-id,.xnote-source-code.xnote-dark-blue .hljs-subst,.xnote-source-code.xnote-dark-blue .hljs-symbol,.xnote-source-code.xnote-dark-blue .hljs-title{color:#2e89c1}.xnote-source-code.xnote-dark-blue .hljs-built_in,.xnote-source-code.xnote-dark-blue .hljs-class .hljs-title,.xnote-source-code.xnote-dark-blue .hljs-title.class_{color:#399fcf}.xnote-source-code.xnote-dark-blue .hljs-emphasis{font-style:italic}.xnote-source-code.xnote-dark-blue .hljs-strong{font-weight:700}.xnote-source-code.xnote-dark-blue .hljs-link{text-decoration:underline}.xnote-source-code code{background:none;border:none;border-radius:0;padding:0;vertical-align:inherit}.xnote-source-code{margin-bottom:16px;margin-top:16px;position:relative}.xnote-source-code-container{border-radius:5px;display:flex;line-height:1.418em;overflow:hidden;position:relative}.xnote-source-code-container.xnote-source-code-auto-break .xnote-source-code-line{word-wrap:break-word;white-space:pre-wrap;word-break:break-all}code,kbd,pre,samp{font-family:Microsoft YaHei Mono,Menlo,Monaco,Consolas,Courier New,monospace}.xnote-source-code-line-number-bg{background-color:inherit;display:none;position:relative;width:3em;z-index:2}.xnote-source-code.xnote-source-code-line-number .xnote-source-code-line-number-bg{display:block}.xnote-source-code.xnote-source-code-line-number .xnote-source-code-line{margin-left:-4em}.xnote-source-code-content{counter-reset:codeNum;flex:1;font-size:15px;margin:0;max-height:450px;overflow:auto;padding:15px 0;position:relative}.xnote-source-code-content:hover::-webkit-scrollbar-thumb{background-color:#80848f}.xnote-source-code-content::-webkit-scrollbar-thumb{border:0;border-radius:4px;height:50px;outline:0;outline-offset:0}.xnote-source-code-content::-webkit-scrollbar-thumb:hover{background-color:#495060;height:50px}.xnote-source-code-content::-webkit-scrollbar{border-radius:3px;height:6px;width:6px}.xnote-source-code-content-highlight .xnote-source-code-line{opacity:.36}.xnote-source-code-line{display:flex;margin:2px 0}.xnote-source-code-line-content{display:block;padding:0 20px}.xnote-source-code-line-number .xnote-source-code-line-content{padding:0 20px 0 10px}.xnote-source-code-line-number .xnote-source-code-line:before{box-sizing:border-box;content:counter(codeNum);counter-increment:codeNum;left:0;min-width:4em;opacity:.5;overflow:hidden;padding-right:10px;position:sticky;text-align:right;transform:translateX(-4em);white-space:nowrap;z-index:2}.xnote-source-code-content-highlight .xnote-source-code-line-emphasize{opacity:1}.xnote-source-code-lang{font-size:13px;opacity:.5;padding:4px 10px;pointer-events:none;position:absolute;right:0;top:0}.xnote-paragraph p{margin:8px 0}.xnote-blockquote{border-left:2px solid #296eff;margin:1em 0;padding:0 15px}.xnote-blockquote>:first-child{margin-top:0}.xnote-blockquote>:last-child{margin-bottom:0}.xnote-highlight-box{background:#fcf5ce;border:1px solid #f5c774;border-radius:4px;display:flex;margin:16px 0}.xnote-highlight-box-left{padding-top:.65em;text-align:center;width:40px}.xnote-highlight-box-content{flex:1}.xnote-highlight-box-icon button{background:none;border:none;border-radius:4px;cursor:pointer;font-size:1.2em;height:30px;padding:0;width:30px}.xnote-highlight-box-icon button:hover{background:rgba(0,0,0,.1)}.xnote-highlight-box-icons{text-align:left}.xnote-highlight-box-icons button{background:none;border:none;border-radius:4px;cursor:pointer;font-size:22px;height:30px;padding:0;width:30px}.xnote-highlight-box-icons button:hover{background:rgba(0,0,0,.1)}.xnote-highlight-box-content{padding:5px}.xnote-highlight-box-heading{font-size:14px;opacity:.8;padding:10px 0 10px 3px}.xnote-todolist{align-items:center;display:flex;margin:8px 0}.xnote-todolist-icon{color:#296eff;cursor:pointer;margin-right:6px}.xnote-todolist-content{min-width:2em}.xnote-todolist-content[style*=text-indent]{text-indent:0!important}.xnote-todolist-content[style*=text-align]{text-align:left!important}.xnote-list{margin:8px 0;padding:0}.xnote-list>li{display:flex}.xnote-list-content{min-width:2em}ul.xnote-list .xnote-list-type{font-family:initial;font-size:16px}.xnote-list-type{box-sizing:border-box;color:#296eff;flex-shrink:0;text-align:left;text-indent:0;white-space:nowrap;width:24px}.xnote-order-btn{padding-left:5px}.xnote-list-content[style*=text-indent]{text-indent:0!important}.xnote-list-content[style*=text-align]{text-align:left!important}.color-type[vf-1fbbdf]{font-size:13px;padding:5px 0}.text-colors[vf-1fbbdf]{font-size:14px;overflow:hidden}.text-colors div[vf-1fbbdf]{border:1px solid #eee;border-radius:4px;box-sizing:border-box;cursor:pointer;float:left;height:22px;line-height:20px;margin:4px 3px;text-align:center;width:22px}.text-colors div.active[vf-1fbbdf]{box-shadow:0 0 0 2px #296eff}.text-colors div[vf-1fbbdf]:hover{box-shadow:0 0 0 2px rgba(41,110,255,.188)}.background-colors[vf-1fbbdf]{font-size:14px;overflow:hidden}.background-colors div[vf-1fbbdf]{border-radius:4px;color:#fff;cursor:pointer;float:left;height:22px;line-height:22px;margin:4px 3px;text-align:center;width:22px}.background-colors div.active[vf-1fbbdf]{box-shadow:0 0 0 2px #296eff}.background-colors div[vf-1fbbdf]:hover{box-shadow:0 0 0 2px rgba(41,110,255,.188)}.background-colors .no-background[vf-1fbbdf]{border:1px solid #eee;box-sizing:border-box;overflow:hidden;position:relative}.background-colors .no-background[vf-1fbbdf]:before{background:#aaa;content:"";height:1px;left:-28px;position:absolute;top:0;transform:rotate(-45deg);width:100px}.background[vf-1fbbdf]{display:inline-block;height:1em;margin-right:6px;position:relative;text-align:center;width:1em}.background>span[vf-1fbbdf]{border-radius:4px;height:20px;left:-2px;line-height:20px;position:absolute;top:-2px;width:20px}.input-group[vf-e74208]{display:flex;padding:5px 10px}.input-group input[vf-e74208]{border:1px solid #ddd;border-radius:4px;font-size:14px;margin-right:5px;outline:none;padding:2px 6px}.input-group input[vf-e74208]:focus{border-color:#296eff}.input-group button[vf-e74208]{border:1px solid #ddd;border-radius:4px;font-size:14px}.btn-group[vf-cf8e1c]{font-size:15px;padding:5px 0;text-align:center}.btn-group button[vf-cf8e1c]{margin:2px 5px}.xnote-image{display:inline-block}.xnote-image,.xnote-image img,.xnote-video{max-width:100%}.xnote-video{display:inline-block}.xnote-video video{max-width:100%}@import "~katex/dist/katex.min.css";.katex,.katex-display,.katex-html,.xnote-katex{display:inline-block}.xnote-katex{margin-left:.5em;margin-right:.5em}.xnote-katex-input{inset:0;min-height:300px;position:absolute;width:590px}.xnote-katex-input .xnote-source-code{margin:0;overflow:hidden;user-select:text}.xnote-katex-input .xnote-source-code-container{border:0!important;height:100%}.xnote-katex-input .xnote-source-code-content{box-sizing:border-box;max-height:none;min-height:300px;overflow:hidden}.left-toolbar[vf-b05292]{font-size:15px;left:-10px;position:absolute;top:0;z-index:10}.left-toolbar-btn-wrap[vf-b05292]{position:absolute;transition:all .2s}.left-toolbar-btn[vf-b05292]{background:#fff;border:1px solid #ddd;border-radius:5px;cursor:pointer;height:26px}.left-toolbar-btn span[vf-b05292]{align-items:center;display:inline-flex}.btn-group[vf-b05292]{font-size:15px;padding:5px 0;text-align:center}.btn-group button[vf-b05292]{margin:2px 5px}.link-jump-plugin[vf-3073ba]{background-color:#333;border-radius:3px;box-shadow:0 1px 2px rgba(0,0,0,.3);color:#ddd;font-size:12px;line-height:1em;margin-top:-30px;padding:6px 0;position:absolute;text-align:center;text-decoration:none;transform:translateX(-50%);width:66px}.link-jump-plugin a[vf-3073ba],.link-jump-plugin span[vf-3073ba]{color:inherit;cursor:pointer;margin-left:2px;margin-right:2px;text-decoration:none}.link-jump-plugin a[vf-3073ba]:hover,.link-jump-plugin span[vf-3073ba]:hover{color:#296eff}.link-jump-plugin[vf-3073ba]:after{border:6px solid transparent;border-top-color:#333;content:"";left:50%;margin-left:-6px;pointer-events:none;position:absolute;top:100%}.toolbar[vf-fee98b]{background:#fff;border:1px solid #dee0e3;border-radius:5px;box-shadow:0 4px 8px rgba(0,0,0,.08);box-sizing:border-box;display:flex;font-size:13px;height:36px;opacity:0;padding:0 6px;pointer-events:none;position:absolute;text-align:left;transform:translateX(-50%);transition-duration:.4s;transition-property:all;transition-timing-function:ease;z-index:3}.xnote-at{color:#296eff}.xnote-at-complete{background-color:#296eff;border-radius:1em;color:#fff;font-size:.9em;margin-left:2px;margin-right:2px;padding:2px 6px}.xnote-at-input{display:inline-block;min-width:2em}.xnote-at-member{border-radius:4px;cursor:pointer;display:flex;height:50px;margin:4px 0;overflow:hidden;padding:5px;transition:background-color .2s;width:100%}.xnote-at-member.selected,.xnote-at-member:hover{background:#eee}.xnote-at-member-avatar{align-items:center;display:flex;font-size:12px;text-align:center;width:40px}.xnote-at-member-avatar img,.xnote-at-member-avatar-bg{background:#eee;border-radius:50%;display:inline-block;font-size:.9em;height:36px;line-height:36px;overflow:hidden;width:36px}.xnote-at-member-info{flex:1;font-size:14px;padding-left:10px;width:156px}.xnote-at-member-desc,.xnote-at-member-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.xnote-at-member-desc{font-size:12px;opacity:.7}.xnote-root{color:#1f2329}.xnote-root * ::selection{background:rgba(20,99,252,.34)}.xnote-content{font-size:16px;line-height:1.65}.xnote-content:before{content:attr(data-placeholder);opacity:.5;position:absolute}.xnote-table{display:inline-block;margin-bottom:16px;margin-top:16px;max-width:100%;position:relative}.xnote-table-content{border-collapse:collapse;border-spacing:0;table-layout:fixed;width:0}.xnote-table-content.hide-selection * ::selection{background:none}.xnote-table-content td{border:1px solid #ddd;box-sizing:content-box;padding:0 10px}.xnote-table-container,.xnote-table-wrapper{position:relative}.xnote-table-delete-btn{background:#eee;border:none;border-radius:4px;color:#5c6370;cursor:pointer;height:30px;line-height:30px;width:24px}.xnote-table-delete-btn:hover{color:#333}.drag-line[vf-681de2]{border-color:transparent;border-style:solid;border-width:0 5px;bottom:0;box-sizing:content-box;cursor:col-resize;display:none;margin-left:-5px;position:absolute;top:0;width:2px}.drag-line[vf-681de2]:before{background:#296eff;content:"";inset:0;position:absolute}.top-bar[vf-39cb2c]{display:none;left:0;position:absolute;right:0;top:0}.top-bar.active[vf-39cb2c]{display:block}.top-delete-toolbar[vf-39cb2c]{height:0;position:relative;top:-10px}.toolbar-wrapper[vf-39cb2c]{height:60px;left:0;pointer-events:none;position:absolute;right:0;top:-60px}.insert-bar[vf-39cb2c]{box-sizing:content-box;height:30px;margin-left:-10px;margin-right:-10px;overflow:hidden;padding-left:10px;padding-right:10px;padding-top:30px}.insert-bar table[vf-39cb2c]{border-collapse:collapse;border-spacing:0;position:relative;table-layout:fixed;z-index:1}.insert-bar table td[vf-39cb2c]{border:1px solid transparent;box-sizing:border-box;height:18px;position:relative}.insert-bar table .tool-container[vf-39cb2c]{height:18px}.insert-bar table .tool-container>div[vf-39cb2c],.insert-bar table .tool-container>span[vf-39cb2c]{pointer-events:auto}.insert-bar table .insert-btn-wrap[vf-39cb2c]{cursor:pointer;height:21px;position:absolute;right:-11px;top:-2px;width:21px;z-index:1}.insert-bar table .insert-btn-wrap .insert-btn[vf-39cb2c]{background:#ccc;border:none;border-radius:50%;box-shadow:none;color:#fff;cursor:inherit;font-size:16px;height:100%;line-height:20px;padding:0;position:relative;text-align:center;transform:scale(.2);transition:transform .15s;width:100%}.insert-bar table .insert-btn-wrap .insert-btn[vf-39cb2c]:after{background:inherit;content:"";height:10px;left:5.5px;position:absolute;top:12px;transform:rotate(45deg);width:10px;z-index:-1}.insert-bar table .insert-btn-wrap:hover .insert-btn[vf-39cb2c]{background:#296eff;transform:scale(1)}.action-bar[vf-39cb2c]{margin-top:-12px;overflow:hidden;pointer-events:auto;position:relative;z-index:0}.action-bar.active[vf-39cb2c]{display:block}.action-bar table[vf-39cb2c]{border-collapse:collapse;border-radius:4px 4px 0 0;border-spacing:0;overflow:hidden;table-layout:fixed}.action-bar table td[vf-39cb2c]{background:#eee;border:1px solid #eee;box-sizing:border-box;cursor:pointer;height:12px;position:relative}.action-bar table td[vf-39cb2c]:hover{background:#dedede}.action-bar table td.active[vf-39cb2c]{background:#296eff;border-color:#2358c9}.action-bar table td.active[vf-39cb2c]:before{border-color:inherit;border-style:solid;border-width:0 0 0 1px;bottom:0;content:"";left:-1px;position:absolute;top:-1px}.scroll-container[vf-c3d159]{overflow-y:auto}.scroll-container[vf-c3d159]:hover::-webkit-scrollbar-thumb{background-color:#80848f}.scroll-container[vf-c3d159]::-webkit-scrollbar-thumb{border:0;border-radius:4px;height:50px;outline:0;outline-offset:0}.scroll-container[vf-c3d159]::-webkit-scrollbar-thumb:hover{background-color:#495060;height:50px}.scroll-container[vf-c3d159]::-webkit-scrollbar{border-radius:3px;height:6px;width:6px}.scroll-container[vf-c3d159]:before{background-image:linear-gradient(90deg,rgba(0,0,0,.1),transparent);border-left:1px solid #ddd;left:0}.scroll-container[vf-c3d159]:after,.scroll-container[vf-c3d159]:before{bottom:6px;content:"";pointer-events:none;position:absolute;top:0;width:12px}.scroll-container[vf-c3d159]:after{background:linear-gradient(90deg,transparent,rgba(0,0,0,.1));border-right:1px solid #ddd;right:0}.scroll-container.left-end[vf-c3d159]:before,.scroll-container.right-end[vf-c3d159]:after{display:none}.left-bar[vf-aaece0]{display:none;left:0;margin-left:-30px;position:absolute;top:0;width:30px}.left-bar.active[vf-aaece0]{display:flex}.toolbar-item[vf-aaece0]{align-items:center;display:flex;inset:0;position:absolute}.insert-bar[vf-aaece0]{width:18px}.insert-bar table[vf-aaece0]{border-collapse:collapse;border-spacing:0;table-layout:fixed}.insert-bar table td[vf-aaece0]{border:1px solid transparent;position:relative}.insert-bar table .insert-btn-wrap[vf-aaece0]{bottom:-8px;cursor:pointer;height:21px;left:0;position:absolute;width:21px;z-index:1}.insert-bar table .insert-btn-wrap .insert-btn[vf-aaece0]{background:#ccc;border:none;border-radius:50%;box-shadow:none;color:#fff;cursor:inherit;font-size:16px;height:100%;line-height:20px;padding:0;position:relative;text-align:center;transform:scale(.2);transition:transform .15s;width:100%}.insert-bar table .insert-btn-wrap .insert-btn[vf-aaece0]:after{background:inherit;content:"";height:10px;left:11px;position:absolute;top:5.5px;transform:rotate(45deg);width:10px;z-index:-1}.insert-bar table .insert-btn-wrap:hover .insert-btn[vf-aaece0]{background:#296eff;transform:scale(1)}.action-bar[vf-aaece0]{width:12px}.action-bar table[vf-aaece0]{border-collapse:collapse;border-radius:4px 0 0 4px;border-spacing:0;overflow:hidden;table-layout:fixed;width:13px}.action-bar table td[vf-aaece0]{background:#eee;border:1px solid #eee;box-sizing:border-box;cursor:pointer;height:12px;position:relative}.action-bar table td[vf-aaece0]:hover{background:#dedede}.action-bar table td.active[vf-aaece0]{background:#296eff;border-color:#2358c9}.action-bar table td.active[vf-aaece0]:before{border-color:inherit;border-style:solid;border-width:1px 0 0;content:"";left:-1px;position:absolute;right:-1px;top:-1px}.drag-line[vf-d4c4a9]{background:#296eff;contain:layout size style;height:2px;left:0;max-width:100%;position:absolute;right:0;z-index:1}.mask[vf-4a5ad1]{background:rgba(41,110,255,.063);border:1px solid #296eff;box-sizing:content-box;display:none;pointer-events:none;position:absolute}.mask.active[vf-4a5ad1]{display:block}@font-face{font-display:block;font-family:textbus;font-style:normal;font-weight:400;src:url(fonts/textbus.ttf?ckj6yl) format("truetype"),url(fonts/textbus.woff?ckj6yl) format("woff"),url(fonts/textbus.svg?ckj6yl#textbus) format("svg")}[class*=" xnote-icon-"],[class^=xnote-icon-]{speak:never;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:textbus!important;font-style:normal;font-variant:normal;font-weight:400;line-height:1;text-transform:none}.xnote-icon-hightlight-box:before{content:"\e90e"}.xnote-icon-arrow-left:before{content:"\e900"}.xnote-icon-arrow-right:before{content:"\e901"}.xnote-icon-arrow-top:before{content:"\e902"}.xnote-icon-arrow-bottom:before{content:"\e903"}.xnote-icon-source-code:before{content:"\e904"}.xnote-icon-insert-paragraph-after:before{content:"\e905"}.xnote-icon-insert-paragraph-before:before{content:"\e906"}.xnote-icon-table-border:before{content:"\e908"}.xnote-icon-table-remove:before{content:"\e909"}.xnote-icon-paint-bucket:before{content:"\e90b"}.xnote-icon-background-color:before{content:"\e90c"}.xnote-icon-color:before{content:"\e90d"}.xnote-icon-table-edit:before{content:"\e90f"}.xnote-icon-table-split-columns:before{content:"\e910"}.xnote-icon-image:before{content:"\e919"}.xnote-icon-music:before{content:"\e91b"}.xnote-icon-video:before{content:"\e91c"}.xnote-icon-unlink:before{content:"\e91d"}.xnote-icon-select:before{content:"\e91e"}.xnote-icon-tree:before{content:"\e91f"}.xnote-icon-more:before{content:"\e921"}.xnote-icon-checkmark:before{content:"\e922"}.xnote-icon-text-wrap:before{content:"\e924"}.xnote-icon-heading-h1:before{content:"\e925"}.xnote-icon-heading-h2:before{content:"\e926"}.xnote-icon-heading-h3:before{content:"\e927"}.xnote-icon-heading-h4:before{content:"\e928"}.xnote-icon-heading-h5:before{content:"\e929"}.xnote-icon-heading-h6:before{content:"\e92a"}.xnote-icon-heading:before{content:"\e92b"}.xnote-icon-copy:before{content:"\e92c"}.xnote-icon-paste:before{content:"\e92d"}.xnote-icon-history-back:before{content:"\e967"}.xnote-icon-history-forward:before{content:"\e968"}.xnote-icon-quotes-right:before{content:"\e978"}.xnote-icon-bin:before{content:"\e9ac"}.xnote-icon-list-numbered:before{content:"\e9b9"}.xnote-icon-list:before{content:"\e9bb"}.xnote-icon-link:before{content:"\e9cb"}.xnote-icon-command:before{content:"\ea4e"}.xnote-icon-shift:before{content:"\ea4f"}.xnote-icon-ctrl:before{content:"\ea50"}.xnote-icon-opt:before{content:"\ea51"}.xnote-icon-checkbox-checked:before{content:"\ea52"}.xnote-icon-checkbox-unchecked:before{content:"\ea53"}.xnote-icon-cut:before{content:"\ea5a"}.xnote-icon-line-height:before{content:"\ea5f"}.xnote-icon-letter-spacing:before{content:"\ea60"}.xnote-icon-font-size:before{content:"\ea61"}.xnote-icon-bold:before{content:"\ea62"}.xnote-icon-underline:before{content:"\ea63"}.xnote-icon-italic:before{content:"\ea64"}.xnote-icon-strikethrough:before{content:"\ea65"}.xnote-icon-superscript:before{content:"\ea69"}.xnote-icon-subscript:before{content:"\ea6a"}.xnote-icon-table:before{content:"\ea71"}.xnote-icon-pilcrow:before{content:"\ea73"}.xnote-icon-ltr:before{content:"\ea74"}.xnote-icon-rtl:before{content:"\ea75"}.xnote-icon-paragraph-left:before{content:"\ea77"}.xnote-icon-paragraph-center:before{content:"\ea78"}.xnote-icon-paragraph-right:before{content:"\ea79"}.xnote-icon-paragraph-justify:before{content:"\ea7a"}.xnote-icon-indent-increase:before{content:"\ea7b"}.xnote-icon-indent-decrease:before{content:"\ea7c"}.xnote-icon-code:before{content:"\ea80"}.xnote-icon-plus:before{content:"\e907"}.xnote-icon-function:before{content:"\e90a"}.xnote-h1{font-size:2.2em;font-weight:600}.xnote-h2{font-size:1.8em;font-weight:600}.xnote-h3{font-size:1.4em;font-weight:600}.xnote-h4{font-size:1em;font-weight:600}.xnote-h5{font-size:.9em;font-weight:600}.xnote-h6{font-size:.8em;font-weight:600}.xnote-code{border:1px solid rgba(0,0,0,.2);border-radius:4px;font-family:Microsoft YaHei Mono,Menlo,Monaco,Consolas,Courier New,monospace;margin:0 3px;padding:2px 3px}
@@ -11,7 +11,7 @@ import { ViewflyAdapter, ViewflyVDomAdapter } from '@textbus/adapter-viewfly';
11
11
  import { any2Hsl, hsl2Rgb } from '@tanbo/color';
12
12
  import { CollaborateModule } from '@textbus/collaborate';
13
13
 
14
- var scopedId$m = "vf-3d0183";
14
+ var scopedId$n = "vf-3d0183";
15
15
 
16
16
  /******************************************************************************
17
17
  Copyright (c) Microsoft Corporation.
@@ -132,7 +132,7 @@ function Button(props) {
132
132
  subscription.unsubscribe();
133
133
  });
134
134
  }
135
- return withScopedCSS(scopedId$m, () => {
135
+ return withScopedCSS(scopedId$n, () => {
136
136
  return (jsxs("button", Object.assign({ type: "button" }, props, { class: [
137
137
  'btn',
138
138
  {
@@ -144,10 +144,10 @@ function Button(props) {
144
144
  });
145
145
  }
146
146
 
147
- var scopedId$l = "vf-ac7e8d";
147
+ var scopedId$m = "vf-ac7e8d";
148
148
 
149
149
  function ComponentToolbar(props) {
150
- return withScopedCSS(scopedId$l, () => {
150
+ return withScopedCSS(scopedId$m, () => {
151
151
  return (jsx("div", { class: "component-toolbar", style: props.style, children: jsx("div", { class: [
152
152
  'toolbar',
153
153
  {
@@ -157,15 +157,15 @@ function ComponentToolbar(props) {
157
157
  });
158
158
  }
159
159
 
160
- var scopedId$k = "vf-ede279";
160
+ var scopedId$l = "vf-ede279";
161
161
 
162
162
  function Divider() {
163
- return withScopedCSS(scopedId$k, () => {
163
+ return withScopedCSS(scopedId$l, () => {
164
164
  return jsx("div", { class: "divider" });
165
165
  });
166
166
  }
167
167
 
168
- var scopedId$j = "vf-4c1803";
168
+ var scopedId$k = "vf-4c1803";
169
169
 
170
170
  function DragResize(props) {
171
171
  const isShow = createSignal(false);
@@ -273,16 +273,16 @@ function DragResize(props) {
273
273
  unUp.unsubscribe();
274
274
  });
275
275
  }
276
- return withScopedCSS(scopedId$j, () => {
276
+ return withScopedCSS(scopedId$k, () => {
277
277
  return (jsxs("div", { class: "drag-resize", onClick: selectComponent, children: [jsx("div", { class: "container", ref: ref, children: props.children }), jsxs("div", { class: ['resize-tool', {
278
278
  active: isShow()
279
279
  }], children: [jsxs("div", { class: "mask", ref: mask, children: [component.state.width, "*", component.state.height] }), jsxs("div", { class: "btn-group", ref: btnGroup, onMousedown: drag, children: [jsx("button", { type: "button" }), jsx("button", { type: "button" }), jsx("button", { type: "button" }), jsx("button", { type: "button" }), jsx("button", { type: "button" }), jsx("button", { type: "button" }), jsx("button", { type: "button" }), jsx("button", { type: "button" })] })] })] }));
280
280
  });
281
281
  }
282
282
 
283
- var scopedId$i = "vf-a99c5e";
283
+ var scopedId$j = "vf-a99c5e";
284
284
 
285
- var scopedId$h = "vf-8a05e9";
285
+ var scopedId$i = "vf-8a05e9";
286
286
 
287
287
  const DropdownMenuPortal = withAnnotation({
288
288
  providers: [
@@ -377,7 +377,7 @@ const DropdownMenuPortal = withAnnotation({
377
377
  dropdownContextService.canHide = true;
378
378
  dropdownContextService.hide();
379
379
  }
380
- return createPortal(withScopedCSS(scopedId$h, () => {
380
+ return createPortal(withScopedCSS(scopedId$i, () => {
381
381
  return (jsx("div", { onMouseenter: onEnter, onMouseleave: onLeave, ref: menuRef, style: {
382
382
  width: props.width
383
383
  }, class: "dropdown-menu", children: jsx("div", { class: "dropdown-menu-content", style: {
@@ -445,7 +445,7 @@ const Dropdown = withAnnotation({
445
445
  dropdownContextService.hide(false);
446
446
  }
447
447
  },
448
- $render: withScopedCSS(scopedId$i, () => {
448
+ $render: withScopedCSS(scopedId$j, () => {
449
449
  return (jsxs("div", { class: ['dropdown', props.class], style: props.style, ref: dropdownRef, children: [jsxs("div", { class: "dropdown-btn", ref: triggerRef, children: [jsx("div", { class: "dropdown-btn-inner", children: props.children }), jsx("div", { class: "dropdown-btn-arrow" })] }), isShow() && jsx(DropdownMenuPortal, { toLeft: props.toLeft, padding: props.padding, noTrigger: props.trigger === 'none', width: props.width, abreast: props.abreast, triggerRef: triggerRef, children: Array.isArray(props.menu) ?
450
450
  props.menu.map(menu => {
451
451
  return (jsx("div", { class: "dropdown-menu-item", onClick: () => {
@@ -461,7 +461,7 @@ const Dropdown = withAnnotation({
461
461
  };
462
462
  });
463
463
 
464
- var scopedId$g = "vf-c32a7b";
464
+ var scopedId$h = "vf-c32a7b";
465
465
 
466
466
  function Keymap(props) {
467
467
  const arr = [];
@@ -492,20 +492,20 @@ function Keymap(props) {
492
492
  arr.push(jsx("span", { children: keymap.key }));
493
493
  }
494
494
  }
495
- return withScopedCSS(scopedId$g, () => {
495
+ return withScopedCSS(scopedId$h, () => {
496
496
  return (jsx("span", { class: "keymap", children: arr }));
497
497
  });
498
498
  }
499
499
 
500
- var scopedId$f = "vf-acaa5f";
500
+ var scopedId$g = "vf-acaa5f";
501
501
 
502
502
  function MenuHeading(props) {
503
- return withScopedCSS(scopedId$f, () => {
503
+ return withScopedCSS(scopedId$g, () => {
504
504
  return (jsx("div", { class: "menu-heading", children: props.children }));
505
505
  });
506
506
  }
507
507
 
508
- var scopedId$e = "vf-c3b9dc";
508
+ var scopedId$f = "vf-c3b9dc";
509
509
 
510
510
  function MenuItem(props) {
511
511
  const dropdownContextService = inject(DropdownContextService, null);
@@ -525,7 +525,7 @@ function MenuItem(props) {
525
525
  }
526
526
  (_a = props.onClick) === null || _a === void 0 ? void 0 : _a.call(props, props.value);
527
527
  }
528
- return withScopedCSS(scopedId$e, () => {
528
+ return withScopedCSS(scopedId$f, () => {
529
529
  return (jsxs("div", { class: ['menu-item', { disabled: props.disabled, active: props.arrow && isActive() }], onClick: click, children: [jsxs("div", { class: "menu-item-content", children: [jsxs("div", { children: [props.icon && jsx("span", { class: "menu-icon", children: props.icon }), props.children] }), jsx("div", { children: props.desc })] }), props.arrow ?
530
530
  jsx("div", { class: "arrow", children: jsx("span", { class: "xnote-icon-arrow-right" }) }) :
531
531
  jsx("div", { class: [
@@ -535,11 +535,11 @@ function MenuItem(props) {
535
535
  });
536
536
  }
537
537
 
538
- var scopedId$d = "vf-a23c47";
538
+ var scopedId$e = "vf-a23c47";
539
539
 
540
540
  function Popup(props) {
541
541
  const host = inject(VIEW_CONTAINER);
542
- return createPortal(withScopedCSS(scopedId$d, () => {
542
+ return createPortal(withScopedCSS(scopedId$e, () => {
543
543
  return (jsx("div", { class: "popup", style: {
544
544
  left: props.left + 'px',
545
545
  top: props.top + 'px'
@@ -547,15 +547,15 @@ function Popup(props) {
547
547
  }), host);
548
548
  }
549
549
 
550
- var scopedId$c = "vf-216815";
550
+ var scopedId$d = "vf-216815";
551
551
 
552
552
  function ToolbarItem(props) {
553
- return withScopedCSS(scopedId$c, () => {
553
+ return withScopedCSS(scopedId$d, () => {
554
554
  return (jsx("div", { class: "toolbar-item", children: props.children }));
555
555
  });
556
556
  }
557
557
 
558
- var scopedId$b = "vf-2a8a65";
558
+ var scopedId$c = "vf-2a8a65";
559
559
 
560
560
  let RefreshService = class RefreshService {
561
561
  constructor() {
@@ -1716,7 +1716,7 @@ function AttrTool(props) {
1716
1716
  break;
1717
1717
  }
1718
1718
  }
1719
- return withScopedCSS(scopedId$b, () => {
1719
+ return withScopedCSS(scopedId$c, () => {
1720
1720
  const states = checkStates();
1721
1721
  return (jsx(Dropdown, { width: 'auto', style: props.style, abreast: props.abreast, onCheck: updateAttr, trigger: 'hover', menu: [
1722
1722
  {
@@ -2300,7 +2300,7 @@ ListComponent.zenCoding = {
2300
2300
  match(content, textbus) {
2301
2301
  const selection = textbus.get(Selection);
2302
2302
  if (selection.commonAncestorComponent instanceof ParagraphComponent) {
2303
- return /^([1-9]\.|[+*])$/.test(content);
2303
+ return /^([1-9]\.|[+*-])$/.test(content);
2304
2304
  }
2305
2305
  return false;
2306
2306
  },
@@ -2689,7 +2689,7 @@ function useBlockTransform() {
2689
2689
  function BlockTool() {
2690
2690
  const checkStates = useActiveBlock();
2691
2691
  const transform = useBlockTransform();
2692
- return withScopedCSS(scopedId$b, () => {
2692
+ return withScopedCSS(scopedId$c, () => {
2693
2693
  const states = checkStates();
2694
2694
  const types = [
2695
2695
  [states.paragraph, 'xnote-icon-pilcrow'],
@@ -3141,7 +3141,7 @@ function CodeTool() {
3141
3141
  };
3142
3142
  }
3143
3143
 
3144
- var scopedId$a = "vf-1fbbdf";
3144
+ var scopedId$b = "vf-1fbbdf";
3145
3145
 
3146
3146
  function ColorTool(props) {
3147
3147
  const query = inject(Query);
@@ -3202,7 +3202,7 @@ function ColorTool(props) {
3202
3202
  '#90a0e5',
3203
3203
  '#c596e0',
3204
3204
  ];
3205
- return withScopedCSS(scopedId$a, () => {
3205
+ return withScopedCSS(scopedId$b, () => {
3206
3206
  const vm = viewModel();
3207
3207
  return (jsx(Dropdown, { style: props.style, width: '180px', abreast: props.abreast, trigger: 'hover', menu: jsxs("div", { children: [jsx("div", { class: "color-type", children: "\u6587\u5B57\u989C\u8272" }), jsxs("div", { class: "text-colors", children: [jsx("div", { class: {
3208
3208
  active: textColor() === ''
@@ -3413,12 +3413,24 @@ function ItalicTool() {
3413
3413
  };
3414
3414
  }
3415
3415
 
3416
- var scopedId$9 = "vf-269a0b";
3416
+ var scopedId$a = "vf-e74208";
3417
+
3418
+ let EditorService = class EditorService {
3419
+ constructor() {
3420
+ this.hideInlineToolbar = false;
3421
+ }
3422
+ };
3423
+ EditorService = __decorate([
3424
+ Injectable({
3425
+ provideIn: 'root'
3426
+ })
3427
+ ], EditorService);
3417
3428
 
3418
3429
  function LinkTool(props) {
3419
3430
  const selectionBridge = inject(SelectionBridge);
3420
3431
  const selection = inject(Selection);
3421
3432
  const commander = inject(Commander);
3433
+ const editorService = inject(EditorService);
3422
3434
  const container = inject(VIEW_CONTAINER);
3423
3435
  const isShow = createSignal(false);
3424
3436
  const inputRef = createRef();
@@ -3432,6 +3444,7 @@ function LinkTool(props) {
3432
3444
  });
3433
3445
  }
3434
3446
  isShow.set(false);
3447
+ editorService.hideInlineToolbar = false;
3435
3448
  }
3436
3449
  let isClickFromSelf = false;
3437
3450
  const sub = fromEvent(document, 'click').subscribe(() => {
@@ -3439,22 +3452,24 @@ function LinkTool(props) {
3439
3452
  isClickFromSelf = false;
3440
3453
  return;
3441
3454
  }
3455
+ editorService.hideInlineToolbar = false;
3442
3456
  isShow.set(false);
3443
3457
  });
3444
3458
  onUnmounted(() => {
3445
3459
  sub.unsubscribe();
3446
3460
  });
3447
- return withScopedCSS(scopedId$9, () => {
3461
+ return withScopedCSS(scopedId$a, () => {
3448
3462
  const containerRect = container.getBoundingClientRect();
3449
3463
  const rect = isShow() ? selectionBridge.getRect({
3450
3464
  slot: selection.focusSlot,
3451
3465
  offset: selection.focusOffset
3452
3466
  }) : {};
3453
3467
  return (jsxs("span", { children: [jsx(Button, { onClick: () => {
3468
+ var _a;
3454
3469
  isShow.set(true);
3455
3470
  isClickFromSelf = true;
3456
- setTimeout(() => { var _a; return (_a = props.hideToolbar) === null || _a === void 0 ? void 0 : _a.call(props); }, 10);
3457
- }, arrow: true, children: jsx("span", { class: "xnote-icon-link" }) }), isShow() &&
3471
+ (_a = props.hideToolbar) === null || _a === void 0 ? void 0 : _a.call(props);
3472
+ }, children: jsx("span", { class: "xnote-icon-link" }) }), isShow() &&
3458
3473
  jsx(Popup, { left: rect.left - containerRect.left, top: rect.top + rect.height - containerRect.top, children: jsxs("form", { onSubmit: setLink, onClick: () => {
3459
3474
  isClickFromSelf = true;
3460
3475
  }, class: "input-group", children: [jsx("input", { ref: inputRef, placeholder: "\u8BF7\u8F93\u5165\u94FE\u63A5\u5730\u5740", type: "text" }), jsx(Button, { type: "submit", children: "\u786E\u5B9A" })] }) })] }));
@@ -3513,7 +3528,7 @@ function UnderlineTool() {
3513
3528
  };
3514
3529
  }
3515
3530
 
3516
- var scopedId$8 = "vf-cf8e1c";
3531
+ var scopedId$9 = "vf-cf8e1c";
3517
3532
 
3518
3533
  class FileUploader {
3519
3534
  }
@@ -3888,12 +3903,12 @@ function InsertTool(props) {
3888
3903
  break;
3889
3904
  }
3890
3905
  }
3891
- return withScopedCSS(scopedId$8, () => {
3906
+ return withScopedCSS(scopedId$9, () => {
3892
3907
  return jsxs(Fragment, { children: [props.hideTitle ? null : jsx(MenuHeading, { children: props.replace ? '替换为' : '在下面添加' }), jsxs("div", { class: "btn-group", children: [jsx(Button, { ordinary: true, onClick: () => insert('paragraph'), children: jsx("span", { class: "xnote-icon-pilcrow" }) }), jsx(Button, { ordinary: true, onClick: () => insert('h1'), children: jsx("span", { class: "xnote-icon-heading-h1" }) }), jsx(Button, { ordinary: true, onClick: () => insert('h2'), children: jsx("span", { class: "xnote-icon-heading-h2" }) }), jsx(Button, { ordinary: true, onClick: () => insert('h3'), children: jsx("span", { class: "xnote-icon-heading-h3" }) }), jsx(Button, { ordinary: true, onClick: () => insert('h4'), children: jsx("span", { class: "xnote-icon-heading-h4" }) }), jsx(Button, { ordinary: true, onClick: () => insert('h5'), children: jsx("span", { class: "xnote-icon-heading-h5" }) }), jsx(Button, { ordinary: true, onClick: () => insert('h6'), children: jsx("span", { class: "xnote-icon-heading-h6" }) }), jsx(Button, { ordinary: true, onClick: () => insert('ol'), children: jsx("span", { class: "xnote-icon-list-numbered" }) }), jsx(Button, { ordinary: true, onClick: () => insert('ul'), children: jsx("span", { class: "xnote-icon-list" }) }), jsx(Button, { ordinary: true, onClick: () => insert('sourceCode'), children: jsx("span", { class: "xnote-icon-source-code" }) })] }), jsx(Divider, {}), jsx(MenuItem, { onClick: () => insert('table'), icon: jsx("span", { class: "xnote-icon-table" }), children: "\u8868\u683C" }), jsx(MenuItem, { onClick: () => insert('todolist'), icon: jsx("span", { class: "xnote-icon-checkbox-checked" }), children: "\u5F85\u529E\u5217\u8868" }), jsx(MenuItem, { onClick: () => insert('image'), icon: jsx("span", { class: "xnote-icon-image" }), children: "\u56FE\u7247" }), jsx(MenuItem, { onClick: () => insert('video'), icon: jsx("span", { class: "xnote-icon-video" }), children: "\u89C6\u9891" }), jsx(MenuItem, { onClick: () => insert('highlightBox'), icon: jsx("span", { class: "xnote-icon-hightlight-box" }), children: "\u9AD8\u4EAE\u5757" }), jsx(MenuItem, { onClick: () => insert('katex'), icon: jsx("span", { class: "xnote-icon-function" }), children: "\u6570\u5B66\u516C\u5F0F" })] });
3893
3908
  });
3894
3909
  }
3895
3910
 
3896
- var scopedId$7 = "vf-b05292";
3911
+ var scopedId$8 = "vf-b05292";
3897
3912
 
3898
3913
  const LeftToolbar = withAnnotation({
3899
3914
  providers: [RefreshService]
@@ -4048,7 +4063,7 @@ const LeftToolbar = withAnnotation({
4048
4063
  function changeIgnoreMove(b) {
4049
4064
  isIgnoreMove = b;
4050
4065
  }
4051
- return withScopedCSS(scopedId$7, () => {
4066
+ return withScopedCSS(scopedId$8, () => {
4052
4067
  var _a;
4053
4068
  const position = positionSignal();
4054
4069
  const slot = activeSlot();
@@ -4125,18 +4140,60 @@ class LeftToolbarPlugin {
4125
4140
  }
4126
4141
  }
4127
4142
 
4128
- var scopedId$6 = "vf-fee98b";
4143
+ var scopedId$7 = "vf-3073ba";
4129
4144
 
4130
- let EditorService = class EditorService {
4131
- constructor() {
4132
- this.hideInlineToolbar = false;
4145
+ function LinkJump() {
4146
+ const selection = inject(Selection);
4147
+ const query = inject(Query);
4148
+ const bridge = inject(SelectionBridge);
4149
+ const container = inject(VIEW_CONTAINER);
4150
+ const href = createSignal('');
4151
+ const ref = createRef();
4152
+ const isShow = createSignal(false);
4153
+ function onSelectionChange() {
4154
+ if (selection.isCollapsed) {
4155
+ const queryState = query.queryFormat(linkFormatter);
4156
+ if (queryState.state === QueryStateType.Enabled) {
4157
+ const rect = bridge.getRect({
4158
+ slot: selection.startSlot,
4159
+ offset: selection.startOffset
4160
+ });
4161
+ if (rect) {
4162
+ const offsetRect = container.getBoundingClientRect();
4163
+ Object.assign(ref.current.style, {
4164
+ left: rect.left - offsetRect.left + 'px',
4165
+ top: rect.top - offsetRect.top + 'px'
4166
+ });
4167
+ isShow.set(true);
4168
+ return;
4169
+ }
4170
+ }
4171
+ }
4172
+ isShow.set(false);
4133
4173
  }
4134
- };
4135
- EditorService = __decorate([
4136
- Injectable({
4137
- provideIn: 'root'
4138
- })
4139
- ], EditorService);
4174
+ selection.onChange.pipe(delay()).subscribe(() => {
4175
+ onSelectionChange();
4176
+ });
4177
+ function cleanLink() {
4178
+ const commonAncestorSlot = selection.commonAncestorSlot;
4179
+ const index = selection.focusOffset;
4180
+ const ranges = commonAncestorSlot.getFormatRangesByFormatter(linkFormatter, 0, commonAncestorSlot.length);
4181
+ ranges.forEach(range => {
4182
+ if (range.startIndex < index && range.endIndex >= index) {
4183
+ commonAncestorSlot.applyFormat(linkFormatter, {
4184
+ startIndex: range.startIndex,
4185
+ endIndex: range.endIndex,
4186
+ value: null
4187
+ });
4188
+ }
4189
+ });
4190
+ }
4191
+ return createPortal(withScopedCSS(scopedId$7, () => {
4192
+ return (jsxs("div", { ref: ref, class: "link-jump-plugin", style: { display: isShow() ? '' : 'none' }, children: [jsx("span", { onClick: cleanLink, children: "\u6E05\u9664" }), jsx("a", { target: "_blank", href: href(), children: "\u8DF3\u8F6C" })] }));
4193
+ }), container);
4194
+ }
4195
+
4196
+ var scopedId$6 = "vf-fee98b";
4140
4197
 
4141
4198
  const Toolbar = withAnnotation({
4142
4199
  providers: [RefreshService]
@@ -4226,10 +4283,10 @@ const Toolbar = withAnnotation({
4226
4283
  });
4227
4284
  bindMouseup();
4228
4285
  });
4286
+ const instance = getCurrentInstance();
4229
4287
  function hideToolbar() {
4230
- updateViewPosition(draft => {
4231
- draft.isHide = true;
4232
- });
4288
+ editorService.hideInlineToolbar = true;
4289
+ instance.markAsDirtied();
4233
4290
  }
4234
4291
  onUnmounted(() => {
4235
4292
  mousedownSubscription.unsubscribe();
@@ -5369,7 +5426,7 @@ class Editor extends Textbus {
5369
5426
  provide: OutputInjectionToken,
5370
5427
  useValue: false
5371
5428
  }]);
5372
- const app = createApp(root, {
5429
+ const app = createApp(jsxs(Fragment, { children: [root, jsx(LinkJump, {})] }), {
5373
5430
  context: appInjector
5374
5431
  }).mount(host);
5375
5432
  return () => {
@@ -5525,4 +5582,4 @@ class Editor extends Textbus {
5525
5582
  }
5526
5583
  }
5527
5584
 
5528
- export { AtComponent, AtComponentView, AttrTool, BlockTool, BlockquoteComponent, BlockquoteView, BoldTool, Button, CodeTool, ColorTool, ComponentToolbar, Divider, DragResize, Dropdown, DropdownContextService, DropdownMenuPortal, DropdownService, Editor, EditorService, FontFamilyTool, FontSizeTool, HighlightBoxComponent, HighlightBoxView, ImageComponent, ImageView, InsertTool, ItalicTool, KatexComponent, KatexComponentView, Keymap, LeftToolbar, LeftToolbarPlugin, LinkTool, ListComponent, ListComponentView, Matcher, MenuHeading, MenuItem, Organization, OutputInjectionToken, ParagraphComponent, ParagraphView, Popup, RefreshService, RootComponent, RootView, SourceCodeComponent, SourceCodeView, StrikeThroughTool, TableComponent, TableComponentView, TodolistComponent, TodolistView, Toolbar, ToolbarItem, ToolbarPlugin, UnderlineTool, VideoComponent, VideoView, atComponentLoader, autoComplete, backgroundColorFormatLoader, backgroundColorFormatter, blockquoteComponentLoader, boldFormatLoader, boldFormatter, codeFormatLoader, codeFormatter, colorFormatLoader, colorFormatter, deltaToBlock, fontFamilyFormatLoader, fontFamilyFormatter, fontSizeFormatLoader, fontSizeFormatter, headingAttr, headingAttrLoader, highlightBoxComponentLoader, imageComponentLoader, isSupportFont, italicFormatLoader, italicFormatter, katexComponentLoader, languageList, linkFormatLoader, linkFormatter, listComponentLoader, paragraphComponentLoader, registerAtShortcut, registerBlockquoteShortcut, registerBoldShortcut, registerCodeShortcut, registerHeadingShortcut, registerItalicShortcut, registerListShortcut, registerStrikeThroughShortcut, registerTextAlignShortcut, registerTextIndentShortcut, registerUnderlineShortcut, rootComponentLoader, sourceCodeComponentLoader, sourceCodeThemes, strikeThroughFormatLoader, strikeThroughFormatter, tableComponentLoader, textAlignAttr, textAlignAttrLoader, textIndentAttr, textIndentAttrLoader, toBlockquote, toList, todolistComponentLoader, toggleBold, toggleCode, toggleItalic, toggleStrikeThrough, toggleUnderline, underlineFormatLoader, underlineFormatter, useActiveBlock, useBlockContent, useBlockTransform, useOutput, useReadonly, videoComponentLoader };
5585
+ export { AtComponent, AtComponentView, AttrTool, BlockTool, BlockquoteComponent, BlockquoteView, BoldTool, Button, CodeTool, ColorTool, ComponentToolbar, Divider, DragResize, Dropdown, DropdownContextService, DropdownMenuPortal, DropdownService, Editor, EditorService, FontFamilyTool, FontSizeTool, HighlightBoxComponent, HighlightBoxView, ImageComponent, ImageView, InsertTool, ItalicTool, KatexComponent, KatexComponentView, Keymap, LeftToolbar, LeftToolbarPlugin, LinkJump, LinkTool, ListComponent, ListComponentView, Matcher, MenuHeading, MenuItem, Organization, OutputInjectionToken, ParagraphComponent, ParagraphView, Popup, RefreshService, RootComponent, RootView, SourceCodeComponent, SourceCodeView, StrikeThroughTool, TableComponent, TableComponentView, TodolistComponent, TodolistView, Toolbar, ToolbarItem, ToolbarPlugin, UnderlineTool, VideoComponent, VideoView, atComponentLoader, autoComplete, backgroundColorFormatLoader, backgroundColorFormatter, blockquoteComponentLoader, boldFormatLoader, boldFormatter, codeFormatLoader, codeFormatter, colorFormatLoader, colorFormatter, deltaToBlock, fontFamilyFormatLoader, fontFamilyFormatter, fontSizeFormatLoader, fontSizeFormatter, headingAttr, headingAttrLoader, highlightBoxComponentLoader, imageComponentLoader, isSupportFont, italicFormatLoader, italicFormatter, katexComponentLoader, languageList, linkFormatLoader, linkFormatter, listComponentLoader, paragraphComponentLoader, registerAtShortcut, registerBlockquoteShortcut, registerBoldShortcut, registerCodeShortcut, registerHeadingShortcut, registerItalicShortcut, registerListShortcut, registerStrikeThroughShortcut, registerTextAlignShortcut, registerTextIndentShortcut, registerUnderlineShortcut, rootComponentLoader, sourceCodeComponentLoader, sourceCodeThemes, strikeThroughFormatLoader, strikeThroughFormatter, tableComponentLoader, textAlignAttr, textAlignAttrLoader, textIndentAttr, textIndentAttrLoader, toBlockquote, toList, todolistComponentLoader, toggleBold, toggleCode, toggleItalic, toggleStrikeThrough, toggleUnderline, underlineFormatLoader, underlineFormatter, useActiveBlock, useBlockContent, useBlockTransform, useOutput, useReadonly, videoComponentLoader };
package/bundles/index.js CHANGED
@@ -13,7 +13,7 @@ var adapterViewfly = require('@textbus/adapter-viewfly');
13
13
  var color = require('@tanbo/color');
14
14
  var collaborate = require('@textbus/collaborate');
15
15
 
16
- var scopedId$m = "vf-3d0183";
16
+ var scopedId$n = "vf-3d0183";
17
17
 
18
18
  /******************************************************************************
19
19
  Copyright (c) Microsoft Corporation.
@@ -134,7 +134,7 @@ function Button(props) {
134
134
  subscription.unsubscribe();
135
135
  });
136
136
  }
137
- return scopedCss.withScopedCSS(scopedId$m, () => {
137
+ return scopedCss.withScopedCSS(scopedId$n, () => {
138
138
  return (jsxRuntime.jsxs("button", Object.assign({ type: "button" }, props, { class: [
139
139
  'btn',
140
140
  {
@@ -146,10 +146,10 @@ function Button(props) {
146
146
  });
147
147
  }
148
148
 
149
- var scopedId$l = "vf-ac7e8d";
149
+ var scopedId$m = "vf-ac7e8d";
150
150
 
151
151
  function ComponentToolbar(props) {
152
- return scopedCss.withScopedCSS(scopedId$l, () => {
152
+ return scopedCss.withScopedCSS(scopedId$m, () => {
153
153
  return (jsxRuntime.jsx("div", { class: "component-toolbar", style: props.style, children: jsxRuntime.jsx("div", { class: [
154
154
  'toolbar',
155
155
  {
@@ -159,15 +159,15 @@ function ComponentToolbar(props) {
159
159
  });
160
160
  }
161
161
 
162
- var scopedId$k = "vf-ede279";
162
+ var scopedId$l = "vf-ede279";
163
163
 
164
164
  function Divider() {
165
- return scopedCss.withScopedCSS(scopedId$k, () => {
165
+ return scopedCss.withScopedCSS(scopedId$l, () => {
166
166
  return jsxRuntime.jsx("div", { class: "divider" });
167
167
  });
168
168
  }
169
169
 
170
- var scopedId$j = "vf-4c1803";
170
+ var scopedId$k = "vf-4c1803";
171
171
 
172
172
  function DragResize(props) {
173
173
  const isShow = core.createSignal(false);
@@ -275,16 +275,16 @@ function DragResize(props) {
275
275
  unUp.unsubscribe();
276
276
  });
277
277
  }
278
- return scopedCss.withScopedCSS(scopedId$j, () => {
278
+ return scopedCss.withScopedCSS(scopedId$k, () => {
279
279
  return (jsxRuntime.jsxs("div", { class: "drag-resize", onClick: selectComponent, children: [jsxRuntime.jsx("div", { class: "container", ref: ref, children: props.children }), jsxRuntime.jsxs("div", { class: ['resize-tool', {
280
280
  active: isShow()
281
281
  }], children: [jsxRuntime.jsxs("div", { class: "mask", ref: mask, children: [component.state.width, "*", component.state.height] }), jsxRuntime.jsxs("div", { class: "btn-group", ref: btnGroup, onMousedown: drag, children: [jsxRuntime.jsx("button", { type: "button" }), jsxRuntime.jsx("button", { type: "button" }), jsxRuntime.jsx("button", { type: "button" }), jsxRuntime.jsx("button", { type: "button" }), jsxRuntime.jsx("button", { type: "button" }), jsxRuntime.jsx("button", { type: "button" }), jsxRuntime.jsx("button", { type: "button" }), jsxRuntime.jsx("button", { type: "button" })] })] })] }));
282
282
  });
283
283
  }
284
284
 
285
- var scopedId$i = "vf-a99c5e";
285
+ var scopedId$j = "vf-a99c5e";
286
286
 
287
- var scopedId$h = "vf-8a05e9";
287
+ var scopedId$i = "vf-8a05e9";
288
288
 
289
289
  const DropdownMenuPortal = core.withAnnotation({
290
290
  providers: [
@@ -379,7 +379,7 @@ const DropdownMenuPortal = core.withAnnotation({
379
379
  dropdownContextService.canHide = true;
380
380
  dropdownContextService.hide();
381
381
  }
382
- return platformBrowser$1.createPortal(scopedCss.withScopedCSS(scopedId$h, () => {
382
+ return platformBrowser$1.createPortal(scopedCss.withScopedCSS(scopedId$i, () => {
383
383
  return (jsxRuntime.jsx("div", { onMouseenter: onEnter, onMouseleave: onLeave, ref: menuRef, style: {
384
384
  width: props.width
385
385
  }, class: "dropdown-menu", children: jsxRuntime.jsx("div", { class: "dropdown-menu-content", style: {
@@ -447,7 +447,7 @@ const Dropdown = core.withAnnotation({
447
447
  dropdownContextService.hide(false);
448
448
  }
449
449
  },
450
- $render: scopedCss.withScopedCSS(scopedId$i, () => {
450
+ $render: scopedCss.withScopedCSS(scopedId$j, () => {
451
451
  return (jsxRuntime.jsxs("div", { class: ['dropdown', props.class], style: props.style, ref: dropdownRef, children: [jsxRuntime.jsxs("div", { class: "dropdown-btn", ref: triggerRef, children: [jsxRuntime.jsx("div", { class: "dropdown-btn-inner", children: props.children }), jsxRuntime.jsx("div", { class: "dropdown-btn-arrow" })] }), isShow() && jsxRuntime.jsx(DropdownMenuPortal, { toLeft: props.toLeft, padding: props.padding, noTrigger: props.trigger === 'none', width: props.width, abreast: props.abreast, triggerRef: triggerRef, children: Array.isArray(props.menu) ?
452
452
  props.menu.map(menu => {
453
453
  return (jsxRuntime.jsx("div", { class: "dropdown-menu-item", onClick: () => {
@@ -463,7 +463,7 @@ const Dropdown = core.withAnnotation({
463
463
  };
464
464
  });
465
465
 
466
- var scopedId$g = "vf-c32a7b";
466
+ var scopedId$h = "vf-c32a7b";
467
467
 
468
468
  function Keymap(props) {
469
469
  const arr = [];
@@ -494,20 +494,20 @@ function Keymap(props) {
494
494
  arr.push(jsxRuntime.jsx("span", { children: keymap.key }));
495
495
  }
496
496
  }
497
- return scopedCss.withScopedCSS(scopedId$g, () => {
497
+ return scopedCss.withScopedCSS(scopedId$h, () => {
498
498
  return (jsxRuntime.jsx("span", { class: "keymap", children: arr }));
499
499
  });
500
500
  }
501
501
 
502
- var scopedId$f = "vf-acaa5f";
502
+ var scopedId$g = "vf-acaa5f";
503
503
 
504
504
  function MenuHeading(props) {
505
- return scopedCss.withScopedCSS(scopedId$f, () => {
505
+ return scopedCss.withScopedCSS(scopedId$g, () => {
506
506
  return (jsxRuntime.jsx("div", { class: "menu-heading", children: props.children }));
507
507
  });
508
508
  }
509
509
 
510
- var scopedId$e = "vf-c3b9dc";
510
+ var scopedId$f = "vf-c3b9dc";
511
511
 
512
512
  function MenuItem(props) {
513
513
  const dropdownContextService = core.inject(exports.DropdownContextService, null);
@@ -527,7 +527,7 @@ function MenuItem(props) {
527
527
  }
528
528
  (_a = props.onClick) === null || _a === void 0 ? void 0 : _a.call(props, props.value);
529
529
  }
530
- return scopedCss.withScopedCSS(scopedId$e, () => {
530
+ return scopedCss.withScopedCSS(scopedId$f, () => {
531
531
  return (jsxRuntime.jsxs("div", { class: ['menu-item', { disabled: props.disabled, active: props.arrow && isActive() }], onClick: click, children: [jsxRuntime.jsxs("div", { class: "menu-item-content", children: [jsxRuntime.jsxs("div", { children: [props.icon && jsxRuntime.jsx("span", { class: "menu-icon", children: props.icon }), props.children] }), jsxRuntime.jsx("div", { children: props.desc })] }), props.arrow ?
532
532
  jsxRuntime.jsx("div", { class: "arrow", children: jsxRuntime.jsx("span", { class: "xnote-icon-arrow-right" }) }) :
533
533
  jsxRuntime.jsx("div", { class: [
@@ -537,11 +537,11 @@ function MenuItem(props) {
537
537
  });
538
538
  }
539
539
 
540
- var scopedId$d = "vf-a23c47";
540
+ var scopedId$e = "vf-a23c47";
541
541
 
542
542
  function Popup(props) {
543
543
  const host = core.inject(platformBrowser.VIEW_CONTAINER);
544
- return platformBrowser$1.createPortal(scopedCss.withScopedCSS(scopedId$d, () => {
544
+ return platformBrowser$1.createPortal(scopedCss.withScopedCSS(scopedId$e, () => {
545
545
  return (jsxRuntime.jsx("div", { class: "popup", style: {
546
546
  left: props.left + 'px',
547
547
  top: props.top + 'px'
@@ -549,15 +549,15 @@ function Popup(props) {
549
549
  }), host);
550
550
  }
551
551
 
552
- var scopedId$c = "vf-216815";
552
+ var scopedId$d = "vf-216815";
553
553
 
554
554
  function ToolbarItem(props) {
555
- return scopedCss.withScopedCSS(scopedId$c, () => {
555
+ return scopedCss.withScopedCSS(scopedId$d, () => {
556
556
  return (jsxRuntime.jsx("div", { class: "toolbar-item", children: props.children }));
557
557
  });
558
558
  }
559
559
 
560
- var scopedId$b = "vf-2a8a65";
560
+ var scopedId$c = "vf-2a8a65";
561
561
 
562
562
  exports.RefreshService = class RefreshService {
563
563
  constructor() {
@@ -1718,7 +1718,7 @@ function AttrTool(props) {
1718
1718
  break;
1719
1719
  }
1720
1720
  }
1721
- return scopedCss.withScopedCSS(scopedId$b, () => {
1721
+ return scopedCss.withScopedCSS(scopedId$c, () => {
1722
1722
  const states = checkStates();
1723
1723
  return (jsxRuntime.jsx(Dropdown, { width: 'auto', style: props.style, abreast: props.abreast, onCheck: updateAttr, trigger: 'hover', menu: [
1724
1724
  {
@@ -2302,7 +2302,7 @@ ListComponent.zenCoding = {
2302
2302
  match(content, textbus) {
2303
2303
  const selection = textbus.get(core$1.Selection);
2304
2304
  if (selection.commonAncestorComponent instanceof ParagraphComponent) {
2305
- return /^([1-9]\.|[+*])$/.test(content);
2305
+ return /^([1-9]\.|[+*-])$/.test(content);
2306
2306
  }
2307
2307
  return false;
2308
2308
  },
@@ -2691,7 +2691,7 @@ function useBlockTransform() {
2691
2691
  function BlockTool() {
2692
2692
  const checkStates = useActiveBlock();
2693
2693
  const transform = useBlockTransform();
2694
- return scopedCss.withScopedCSS(scopedId$b, () => {
2694
+ return scopedCss.withScopedCSS(scopedId$c, () => {
2695
2695
  const states = checkStates();
2696
2696
  const types = [
2697
2697
  [states.paragraph, 'xnote-icon-pilcrow'],
@@ -3143,7 +3143,7 @@ function CodeTool() {
3143
3143
  };
3144
3144
  }
3145
3145
 
3146
- var scopedId$a = "vf-1fbbdf";
3146
+ var scopedId$b = "vf-1fbbdf";
3147
3147
 
3148
3148
  function ColorTool(props) {
3149
3149
  const query = core.inject(core$1.Query);
@@ -3204,7 +3204,7 @@ function ColorTool(props) {
3204
3204
  '#90a0e5',
3205
3205
  '#c596e0',
3206
3206
  ];
3207
- return scopedCss.withScopedCSS(scopedId$a, () => {
3207
+ return scopedCss.withScopedCSS(scopedId$b, () => {
3208
3208
  const vm = viewModel();
3209
3209
  return (jsxRuntime.jsx(Dropdown, { style: props.style, width: '180px', abreast: props.abreast, trigger: 'hover', menu: jsxRuntime.jsxs("div", { children: [jsxRuntime.jsx("div", { class: "color-type", children: "\u6587\u5B57\u989C\u8272" }), jsxRuntime.jsxs("div", { class: "text-colors", children: [jsxRuntime.jsx("div", { class: {
3210
3210
  active: textColor() === ''
@@ -3415,12 +3415,24 @@ function ItalicTool() {
3415
3415
  };
3416
3416
  }
3417
3417
 
3418
- var scopedId$9 = "vf-269a0b";
3418
+ var scopedId$a = "vf-e74208";
3419
+
3420
+ exports.EditorService = class EditorService {
3421
+ constructor() {
3422
+ this.hideInlineToolbar = false;
3423
+ }
3424
+ };
3425
+ exports.EditorService = __decorate([
3426
+ core.Injectable({
3427
+ provideIn: 'root'
3428
+ })
3429
+ ], exports.EditorService);
3419
3430
 
3420
3431
  function LinkTool(props) {
3421
3432
  const selectionBridge = core.inject(platformBrowser.SelectionBridge);
3422
3433
  const selection = core.inject(core$1.Selection);
3423
3434
  const commander = core.inject(core$1.Commander);
3435
+ const editorService = core.inject(exports.EditorService);
3424
3436
  const container = core.inject(platformBrowser.VIEW_CONTAINER);
3425
3437
  const isShow = core.createSignal(false);
3426
3438
  const inputRef = core.createRef();
@@ -3434,6 +3446,7 @@ function LinkTool(props) {
3434
3446
  });
3435
3447
  }
3436
3448
  isShow.set(false);
3449
+ editorService.hideInlineToolbar = false;
3437
3450
  }
3438
3451
  let isClickFromSelf = false;
3439
3452
  const sub = core$1.fromEvent(document, 'click').subscribe(() => {
@@ -3441,22 +3454,24 @@ function LinkTool(props) {
3441
3454
  isClickFromSelf = false;
3442
3455
  return;
3443
3456
  }
3457
+ editorService.hideInlineToolbar = false;
3444
3458
  isShow.set(false);
3445
3459
  });
3446
3460
  core.onUnmounted(() => {
3447
3461
  sub.unsubscribe();
3448
3462
  });
3449
- return scopedCss.withScopedCSS(scopedId$9, () => {
3463
+ return scopedCss.withScopedCSS(scopedId$a, () => {
3450
3464
  const containerRect = container.getBoundingClientRect();
3451
3465
  const rect = isShow() ? selectionBridge.getRect({
3452
3466
  slot: selection.focusSlot,
3453
3467
  offset: selection.focusOffset
3454
3468
  }) : {};
3455
3469
  return (jsxRuntime.jsxs("span", { children: [jsxRuntime.jsx(Button, { onClick: () => {
3470
+ var _a;
3456
3471
  isShow.set(true);
3457
3472
  isClickFromSelf = true;
3458
- setTimeout(() => { var _a; return (_a = props.hideToolbar) === null || _a === void 0 ? void 0 : _a.call(props); }, 10);
3459
- }, arrow: true, children: jsxRuntime.jsx("span", { class: "xnote-icon-link" }) }), isShow() &&
3473
+ (_a = props.hideToolbar) === null || _a === void 0 ? void 0 : _a.call(props);
3474
+ }, children: jsxRuntime.jsx("span", { class: "xnote-icon-link" }) }), isShow() &&
3460
3475
  jsxRuntime.jsx(Popup, { left: rect.left - containerRect.left, top: rect.top + rect.height - containerRect.top, children: jsxRuntime.jsxs("form", { onSubmit: setLink, onClick: () => {
3461
3476
  isClickFromSelf = true;
3462
3477
  }, class: "input-group", children: [jsxRuntime.jsx("input", { ref: inputRef, placeholder: "\u8BF7\u8F93\u5165\u94FE\u63A5\u5730\u5740", type: "text" }), jsxRuntime.jsx(Button, { type: "submit", children: "\u786E\u5B9A" })] }) })] }));
@@ -3515,7 +3530,7 @@ function UnderlineTool() {
3515
3530
  };
3516
3531
  }
3517
3532
 
3518
- var scopedId$8 = "vf-cf8e1c";
3533
+ var scopedId$9 = "vf-cf8e1c";
3519
3534
 
3520
3535
  class FileUploader {
3521
3536
  }
@@ -3890,12 +3905,12 @@ function InsertTool(props) {
3890
3905
  break;
3891
3906
  }
3892
3907
  }
3893
- return scopedCss.withScopedCSS(scopedId$8, () => {
3908
+ return scopedCss.withScopedCSS(scopedId$9, () => {
3894
3909
  return jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [props.hideTitle ? null : jsxRuntime.jsx(MenuHeading, { children: props.replace ? '替换为' : '在下面添加' }), jsxRuntime.jsxs("div", { class: "btn-group", children: [jsxRuntime.jsx(Button, { ordinary: true, onClick: () => insert('paragraph'), children: jsxRuntime.jsx("span", { class: "xnote-icon-pilcrow" }) }), jsxRuntime.jsx(Button, { ordinary: true, onClick: () => insert('h1'), children: jsxRuntime.jsx("span", { class: "xnote-icon-heading-h1" }) }), jsxRuntime.jsx(Button, { ordinary: true, onClick: () => insert('h2'), children: jsxRuntime.jsx("span", { class: "xnote-icon-heading-h2" }) }), jsxRuntime.jsx(Button, { ordinary: true, onClick: () => insert('h3'), children: jsxRuntime.jsx("span", { class: "xnote-icon-heading-h3" }) }), jsxRuntime.jsx(Button, { ordinary: true, onClick: () => insert('h4'), children: jsxRuntime.jsx("span", { class: "xnote-icon-heading-h4" }) }), jsxRuntime.jsx(Button, { ordinary: true, onClick: () => insert('h5'), children: jsxRuntime.jsx("span", { class: "xnote-icon-heading-h5" }) }), jsxRuntime.jsx(Button, { ordinary: true, onClick: () => insert('h6'), children: jsxRuntime.jsx("span", { class: "xnote-icon-heading-h6" }) }), jsxRuntime.jsx(Button, { ordinary: true, onClick: () => insert('ol'), children: jsxRuntime.jsx("span", { class: "xnote-icon-list-numbered" }) }), jsxRuntime.jsx(Button, { ordinary: true, onClick: () => insert('ul'), children: jsxRuntime.jsx("span", { class: "xnote-icon-list" }) }), jsxRuntime.jsx(Button, { ordinary: true, onClick: () => insert('sourceCode'), children: jsxRuntime.jsx("span", { class: "xnote-icon-source-code" }) })] }), jsxRuntime.jsx(Divider, {}), jsxRuntime.jsx(MenuItem, { onClick: () => insert('table'), icon: jsxRuntime.jsx("span", { class: "xnote-icon-table" }), children: "\u8868\u683C" }), jsxRuntime.jsx(MenuItem, { onClick: () => insert('todolist'), icon: jsxRuntime.jsx("span", { class: "xnote-icon-checkbox-checked" }), children: "\u5F85\u529E\u5217\u8868" }), jsxRuntime.jsx(MenuItem, { onClick: () => insert('image'), icon: jsxRuntime.jsx("span", { class: "xnote-icon-image" }), children: "\u56FE\u7247" }), jsxRuntime.jsx(MenuItem, { onClick: () => insert('video'), icon: jsxRuntime.jsx("span", { class: "xnote-icon-video" }), children: "\u89C6\u9891" }), jsxRuntime.jsx(MenuItem, { onClick: () => insert('highlightBox'), icon: jsxRuntime.jsx("span", { class: "xnote-icon-hightlight-box" }), children: "\u9AD8\u4EAE\u5757" }), jsxRuntime.jsx(MenuItem, { onClick: () => insert('katex'), icon: jsxRuntime.jsx("span", { class: "xnote-icon-function" }), children: "\u6570\u5B66\u516C\u5F0F" })] });
3895
3910
  });
3896
3911
  }
3897
3912
 
3898
- var scopedId$7 = "vf-b05292";
3913
+ var scopedId$8 = "vf-b05292";
3899
3914
 
3900
3915
  const LeftToolbar = core.withAnnotation({
3901
3916
  providers: [exports.RefreshService]
@@ -4050,7 +4065,7 @@ const LeftToolbar = core.withAnnotation({
4050
4065
  function changeIgnoreMove(b) {
4051
4066
  isIgnoreMove = b;
4052
4067
  }
4053
- return scopedCss.withScopedCSS(scopedId$7, () => {
4068
+ return scopedCss.withScopedCSS(scopedId$8, () => {
4054
4069
  var _a;
4055
4070
  const position = positionSignal();
4056
4071
  const slot = activeSlot();
@@ -4127,18 +4142,60 @@ class LeftToolbarPlugin {
4127
4142
  }
4128
4143
  }
4129
4144
 
4130
- var scopedId$6 = "vf-fee98b";
4145
+ var scopedId$7 = "vf-3073ba";
4131
4146
 
4132
- exports.EditorService = class EditorService {
4133
- constructor() {
4134
- this.hideInlineToolbar = false;
4147
+ function LinkJump() {
4148
+ const selection = core.inject(core$1.Selection);
4149
+ const query = core.inject(core$1.Query);
4150
+ const bridge = core.inject(platformBrowser.SelectionBridge);
4151
+ const container = core.inject(platformBrowser.VIEW_CONTAINER);
4152
+ const href = core.createSignal('');
4153
+ const ref = core.createRef();
4154
+ const isShow = core.createSignal(false);
4155
+ function onSelectionChange() {
4156
+ if (selection.isCollapsed) {
4157
+ const queryState = query.queryFormat(linkFormatter);
4158
+ if (queryState.state === core$1.QueryStateType.Enabled) {
4159
+ const rect = bridge.getRect({
4160
+ slot: selection.startSlot,
4161
+ offset: selection.startOffset
4162
+ });
4163
+ if (rect) {
4164
+ const offsetRect = container.getBoundingClientRect();
4165
+ Object.assign(ref.current.style, {
4166
+ left: rect.left - offsetRect.left + 'px',
4167
+ top: rect.top - offsetRect.top + 'px'
4168
+ });
4169
+ isShow.set(true);
4170
+ return;
4171
+ }
4172
+ }
4173
+ }
4174
+ isShow.set(false);
4135
4175
  }
4136
- };
4137
- exports.EditorService = __decorate([
4138
- core.Injectable({
4139
- provideIn: 'root'
4140
- })
4141
- ], exports.EditorService);
4176
+ selection.onChange.pipe(core$1.delay()).subscribe(() => {
4177
+ onSelectionChange();
4178
+ });
4179
+ function cleanLink() {
4180
+ const commonAncestorSlot = selection.commonAncestorSlot;
4181
+ const index = selection.focusOffset;
4182
+ const ranges = commonAncestorSlot.getFormatRangesByFormatter(linkFormatter, 0, commonAncestorSlot.length);
4183
+ ranges.forEach(range => {
4184
+ if (range.startIndex < index && range.endIndex >= index) {
4185
+ commonAncestorSlot.applyFormat(linkFormatter, {
4186
+ startIndex: range.startIndex,
4187
+ endIndex: range.endIndex,
4188
+ value: null
4189
+ });
4190
+ }
4191
+ });
4192
+ }
4193
+ return platformBrowser$1.createPortal(scopedCss.withScopedCSS(scopedId$7, () => {
4194
+ return (jsxRuntime.jsxs("div", { ref: ref, class: "link-jump-plugin", style: { display: isShow() ? '' : 'none' }, children: [jsxRuntime.jsx("span", { onClick: cleanLink, children: "\u6E05\u9664" }), jsxRuntime.jsx("a", { target: "_blank", href: href(), children: "\u8DF3\u8F6C" })] }));
4195
+ }), container);
4196
+ }
4197
+
4198
+ var scopedId$6 = "vf-fee98b";
4142
4199
 
4143
4200
  const Toolbar = core.withAnnotation({
4144
4201
  providers: [exports.RefreshService]
@@ -4228,10 +4285,10 @@ const Toolbar = core.withAnnotation({
4228
4285
  });
4229
4286
  bindMouseup();
4230
4287
  });
4288
+ const instance = core.getCurrentInstance();
4231
4289
  function hideToolbar() {
4232
- updateViewPosition(draft => {
4233
- draft.isHide = true;
4234
- });
4290
+ editorService.hideInlineToolbar = true;
4291
+ instance.markAsDirtied();
4235
4292
  }
4236
4293
  core.onUnmounted(() => {
4237
4294
  mousedownSubscription.unsubscribe();
@@ -5371,7 +5428,7 @@ class Editor extends core$1.Textbus {
5371
5428
  provide: OutputInjectionToken,
5372
5429
  useValue: false
5373
5430
  }]);
5374
- const app = platformBrowser$1.createApp(root, {
5431
+ const app = platformBrowser$1.createApp(jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [root, jsxRuntime.jsx(LinkJump, {})] }), {
5375
5432
  context: appInjector
5376
5433
  }).mount(host);
5377
5434
  return () => {
@@ -5556,6 +5613,7 @@ exports.KatexComponentView = KatexComponentView;
5556
5613
  exports.Keymap = Keymap;
5557
5614
  exports.LeftToolbar = LeftToolbar;
5558
5615
  exports.LeftToolbarPlugin = LeftToolbarPlugin;
5616
+ exports.LinkJump = LinkJump;
5559
5617
  exports.LinkTool = LinkTool;
5560
5618
  exports.ListComponent = ListComponent;
5561
5619
  exports.ListComponentView = ListComponentView;
@@ -4,5 +4,6 @@ export * from './hooks/block-transform';
4
4
  export * from './left-toolbar/insert-tool';
5
5
  export * from './left-toolbar/left-toolbar.plugin';
6
6
  export * from './left-toolbar/left-toolbar';
7
+ export * from './link-jump/link-jump';
7
8
  export * from './toolbar/toolbar.plugin';
8
9
  export * from './toolbar/toolbar';
@@ -0,0 +1,4 @@
1
+ export declare function LinkJump(): {
2
+ $portalHost: HTMLElement;
3
+ $render: () => import("@viewfly/core").JSXNode<string | JSXInternal.ComponentSetup<any>>;
4
+ };
package/package.json CHANGED
@@ -1,10 +1,22 @@
1
1
  {
2
2
  "name": "@textbus/xnote",
3
- "version": "0.0.1-alpha.20",
4
- "description": "Viewfly project.",
3
+ "version": "0.0.1-alpha.22",
4
+ "description": "A high-performance rich text editor that supports multiplayer online collaboration.",
5
5
  "main": "./bundles/index.js",
6
6
  "module": "./bundles/index.esm.js",
7
7
  "types": "./bundles/public-api.d.ts",
8
+ "keywords": [
9
+ "textbus",
10
+ "xnote",
11
+ "富文本编辑器",
12
+ "wysiwyg",
13
+ "wysiwyg editor",
14
+ "rich text editor",
15
+ "editor",
16
+ "html editor",
17
+ "web editor",
18
+ "collaborate"
19
+ ],
8
20
  "scripts": {
9
21
  "start": "webpack-dev-server",
10
22
  "serve": "npx y-websocket HOST=localhost PORT=1234 ",
@@ -15,14 +27,14 @@
15
27
  },
16
28
  "dependencies": {
17
29
  "@tanbo/color": "^0.1.1",
18
- "@textbus/adapter-viewfly": "^4.0.0-alpha.55",
19
- "@textbus/collaborate": "^4.0.0-alpha.55",
20
- "@textbus/core": "^4.0.0-alpha.55",
21
- "@textbus/platform-browser": "^4.0.0-alpha.55",
22
- "@viewfly/core": "^1.0.0-alpha.6",
23
- "@viewfly/hooks": "^1.0.0-alpha.6",
24
- "@viewfly/platform-browser": "^1.0.0-alpha.6",
25
- "@viewfly/scoped-css": "^1.0.0-alpha.6",
30
+ "@textbus/adapter-viewfly": "^4.0.0-alpha.57",
31
+ "@textbus/collaborate": "^4.0.0-alpha.57",
32
+ "@textbus/core": "^4.0.0-alpha.57",
33
+ "@textbus/platform-browser": "^4.0.0-alpha.57",
34
+ "@viewfly/core": "^1.0.0-alpha.9",
35
+ "@viewfly/hooks": "^1.0.0-alpha.9",
36
+ "@viewfly/platform-browser": "^1.0.0-alpha.9",
37
+ "@viewfly/scoped-css": "^1.0.0-alpha.9",
26
38
  "highlight.js": "^11.9.0",
27
39
  "katex": "^0.16.10"
28
40
  },
@@ -66,5 +78,16 @@
66
78
  "webpack": "^5.65.0",
67
79
  "webpack-cli": "^4.10.0",
68
80
  "webpack-dev-server": "^4.7.1"
81
+ },
82
+ "author": {
83
+ "name": "Tanbo",
84
+ "email": "tanbohb@qq.com"
85
+ },
86
+ "bugs": {
87
+ "url": "https://github.com/textbus/xnote.git/issues"
88
+ },
89
+ "repository": {
90
+ "type": "git",
91
+ "url": "https://github.com/textbus/xnote.git"
69
92
  }
70
93
  }