diff --git a/assets/creator-studio/build/index.asset.php b/assets/creator-studio/build/index.asset.php index e0dcd040..276c79f3 100644 --- a/assets/creator-studio/build/index.asset.php +++ b/assets/creator-studio/build/index.asset.php @@ -1 +1 @@ - array('react', 'wp-element', 'wp-i18n'), 'version' => '1f4dc4e2d488af6bd803'); + array('react', 'wp-element', 'wp-i18n'), 'version' => '5e199a1baccb9f8673e9'); diff --git a/assets/creator-studio/build/index.css b/assets/creator-studio/build/index.css index 23f87df6..c1eab2b4 100644 --- a/assets/creator-studio/build/index.css +++ b/assets/creator-studio/build/index.css @@ -1 +1 @@ -.jio-page-submit{background:#f6f6f6}body.jio-page-submit.has-static-nav,body.jio-page-submit.nav-fixed{padding-top:0!important}.jio-page-submit .float-btn,.jio-page-submit .footer,.jio-page-submit .footer-tabbar,.jio-page-submit .header,.jio-page-submit .jio-float-buttons{display:none!important}.jio-page-submit #main-content.container{max-width:none;padding:0}#jio-creator-studio.is-ready{display:block}.jio-creator{--jc-ink:#2b2b2b;--jc-ink-soft:#7d8683;--jc-paper:#f6f6f6;--jc-line:#e6e9e8;--jc-accent:#267665;--jc-accent-strong:#1d5f52;--jc-warn:#b4573f;--jc-bar:64px;-webkit-font-smoothing:antialiased;background:var(--jc-paper);color:var(--jc-ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif;min-height:100vh;min-height:100dvh;padding-top:var(--jc-bar)}.jio-creator *,.jio-creator :after,.jio-creator :before{box-sizing:border-box}.jio-creator button{color:inherit;font:inherit}.jio-creator__bar{align-items:center;background:rgba(250,251,250,.98);border-bottom:1px solid var(--jc-line);box-shadow:0 2px 8px rgba(27,46,39,.035);display:flex;gap:clamp(10px,1.7vw,24px);height:var(--jc-bar);left:0;padding:0 clamp(14px,2.4vw,30px);position:fixed;right:0;top:0;z-index:300}.jio-creator__bar-actions,.jio-creator__bar-left{align-items:center;display:flex;flex:0 0 auto;gap:9px;min-width:0}.jio-creator__bar-left{border-right:1px solid var(--jc-line);padding-right:clamp(10px,1.5vw,20px)}.jio-creator__bar-actions{gap:7px;margin-left:auto}.jio-creator__bar-brand{color:var(--jc-accent-strong);font-family:Songti SC,"Noto Serif SC","Source Han Serif SC",serif;font-size:17px;font-weight:700;letter-spacing:-.04em}.jio-creator__bar-divider{background:var(--jc-line);height:18px;width:1px}.jio-creator__bar-mode{color:var(--jc-ink-soft);font-size:13px;white-space:nowrap}.jio-creator__back{align-items:center;border-radius:7px;color:var(--jc-ink-soft);display:inline-flex;height:30px;justify-content:center;text-decoration:none;width:30px}.jio-creator__back:focus-visible,.jio-creator__back:hover{background:#edf3f0;color:var(--jc-accent);outline:0}.jio-creator__toolbar-tools{align-items:center;display:flex;flex:1 1 auto;gap:7px;min-width:0;overflow-x:auto;scrollbar-width:none}.jio-creator__toolbar-tools::-webkit-scrollbar{display:none}.jio-creator__toolbar-group{align-items:center;display:inline-flex;flex:0 0 auto;gap:2px}.jio-creator__toolbar-divider{background:var(--jc-line);flex:0 0 auto;height:22px;width:1px}.jio-creator__tool-btn{align-items:center;background:transparent;border:0;border-radius:6px;color:#5f6664;cursor:pointer;display:inline-flex;flex:0 0 auto;flex-direction:column;font-size:11px;gap:2px;height:46px;justify-content:center;line-height:1.2;min-width:40px;padding:5px 6px;width:auto}.jio-creator__tool-btn i{font-size:14px;line-height:1}.jio-creator__tool-btn:focus-visible:not(:disabled),.jio-creator__tool-btn:hover:not(:disabled){background:#f0f2f1;color:var(--jc-accent-strong);outline:0}.jio-creator__tool-btn:disabled{color:#c7d0cc;cursor:default}.jio-creator__tool-label{max-width:52px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jio-creator__format-field{align-items:center;border-radius:6px;cursor:pointer;display:inline-flex;flex:0 0 auto;flex-direction:column;gap:2px;height:46px;justify-content:center;min-width:48px;padding:5px 6px;position:relative;width:auto}.jio-creator__format-field i{font-size:14px;line-height:1}.jio-creator__format-field:focus-within,.jio-creator__format-field:hover{background:#f0f2f1;color:var(--jc-accent-strong)}.jio-creator__format-field:focus-within{outline:2px solid rgba(38,118,101,.35);outline-offset:-2px}.jio-creator__format-select{background:transparent;border:0;color:inherit;cursor:pointer;font:inherit;height:100%;inset:0;opacity:0;padding:0;position:absolute;width:100%}.jio-creator__format-select:disabled{cursor:default}.jio-creator__save-draft{align-items:center;background:#fff;border:1px solid var(--jc-line);border-radius:7px;color:var(--jc-ink-soft);cursor:pointer;display:inline-flex;flex:0 0 auto;font-size:13px;gap:7px;justify-content:center;min-height:34px;padding:0 10px;white-space:nowrap}.jio-creator__save-draft:focus-visible:not(:disabled),.jio-creator__save-draft:hover:not(:disabled){background:#f7faf8;border-color:#b7cdc3;color:var(--jc-accent-strong);outline:0}.jio-creator__save-draft:disabled{cursor:default;opacity:.55}.jio-creator__save{align-items:center;color:var(--jc-ink-soft);display:inline-flex;flex:0 0 auto;font-size:12px;gap:6px;white-space:nowrap}.jio-creator__save>i{color:var(--jc-line);font-size:7px}.jio-creator__save time{font-variant-numeric:tabular-nums;opacity:.7}.jio-creator__save.is-saved>i{color:var(--jc-accent)}.jio-creator__save.is-conflict,.jio-creator__save.is-conflict>i,.jio-creator__save.is-error,.jio-creator__save.is-error>i{color:var(--jc-warn)}.jio-creator__btn,.jio-creator__ghost,.jio-creator__primary{align-items:center;border:1px solid transparent;border-radius:7px;cursor:pointer;display:inline-flex;font-size:13px;justify-content:center;min-height:34px;padding:0 13px;transition:background .18s ease,border-color .18s ease,color .18s ease;white-space:nowrap}.jio-creator__ghost{background:transparent;border-color:var(--jc-line)}.jio-creator__ghost:focus-visible,.jio-creator__ghost:hover{border-color:var(--jc-accent);color:var(--jc-accent)}.jio-creator__primary{background:var(--jc-accent);color:#fff}.jio-creator__primary:focus-visible,.jio-creator__primary:hover{background:var(--jc-accent-strong)}.jio-creator__primary:disabled{cursor:not-allowed;opacity:.5}.jio-creator__notice{align-items:center;background:#f1f5f2;border-bottom:1px solid var(--jc-line);color:var(--jc-ink-soft);display:flex;font-size:13px;gap:12px;margin:0 auto;max-width:820px;padding:10px 16px}.jio-creator__notice>span{flex:1}.jio-creator__notice button{background:transparent;border:0;color:var(--jc-accent);cursor:pointer}.jio-creator__notice.is-error{background:#fdf2ee;color:var(--jc-warn)}.jio-creator__hint{color:var(--jc-ink-soft);font-size:13px;margin:18px auto 0;max-width:820px;padding:0 clamp(16px,4vw,40px)}.jio-creator__canvas{background:#fff;border-radius:4px;box-shadow:0 1px 2px rgba(24,39,34,.04),0 8px 28px rgba(24,39,34,.05);margin:40px auto 0;padding:clamp(30px,4vw,50px) clamp(28px,5vw,56px) clamp(36px,5vw,56px);width:min(900px,100% - clamp(24px,6vw,72px))}.jio-creator__title{display:block;margin-bottom:0}.jio-creator__title textarea{background:transparent;border:0;border-bottom:1px solid #eef0ef;color:#2b2b2b;font-family:inherit;font-size:clamp(26px,3vw,32px);font-weight:700;letter-spacing:.01em;line-height:1.35;min-height:46px;padding:0 0 16px;resize:none;width:100%}.jio-creator__title textarea:focus{border-bottom-color:#dfe3e1;outline:0}.jio-creator__title textarea::-moz-placeholder{color:#c3c7c5;font-weight:700}.jio-creator__title textarea::placeholder{color:#c3c7c5;font-weight:700}.jio-creator__editor{margin:22px 0 0;min-height:52vh;position:relative}.jio-creator__editor .mce-top-part,.jio-creator__editor .quicktags-toolbar,.jio-creator__editor .tox .tox-editor-header,.jio-creator__editor .tox .tox-statusbar,.jio-creator__editor .wp-editor-tabs,.jio-creator__editor .wp-media-buttons{display:none!important}.jio-creator__editor .wp-editor-container,.jio-creator__editor .wp-editor-wrap{background:transparent;border:0;box-shadow:none}.jio-creator__editor .mce-tinymce,.jio-creator__editor .tox-tinymce{background:transparent;border:0!important;box-shadow:none!important}.jio-creator__editor .mce-container-body,.jio-creator__editor .mce-edit-area,.jio-creator__editor .tox .tox-edit-area{background:transparent;border:0!important}.jio-creator__editor .mce-edit-area iframe,.jio-creator__editor .tox .tox-edit-area__iframe{min-height:52vh}.jio-creator__editor textarea{background:transparent;border:0;color:#2b2b2b;font:inherit;font-size:16px;line-height:1.8;min-height:52vh;padding:0;resize:vertical;width:100%}.jio-creator__editor textarea::-moz-placeholder{color:#b9bfbc}.jio-creator__editor textarea::placeholder{color:#b9bfbc}.jio-creator__settings{background:#fff;border-radius:4px;box-shadow:0 1px 2px rgba(24,39,34,.04),0 8px 28px rgba(24,39,34,.05);margin:20px auto clamp(48px,10vh,140px);padding:clamp(20px,3vw,28px) clamp(24px,4vw,40px);width:min(900px,100% - clamp(24px,6vw,72px))}.jio-creator__settings-title{color:#2b2b2b;font-size:15px;font-weight:600;margin:0 0 4px}.jio-creator__setting-row{align-items:center;border-bottom:1px solid #f2f4f3;display:flex;gap:20px;justify-content:space-between;padding:16px 0}.jio-creator__setting-row:last-of-type{border-bottom:0}.jio-creator__setting-copy{min-width:0}.jio-creator__setting-label{color:#2b2b2b;display:block;font-size:14px;font-weight:500}.jio-creator__setting-help{color:#9aa2a0;font-size:12px;line-height:1.6;margin:4px 0 0}.jio-creator__cover-control{align-items:center;display:flex;flex:0 0 auto;gap:8px;position:relative}.jio-creator__cover-input{height:1px;opacity:0;overflow:hidden;pointer-events:none;position:absolute;width:1px}.jio-creator__cover-add{align-items:center;background:transparent;border:1px dashed #d8dedb;border-radius:6px;color:#7c8683;cursor:pointer;display:inline-flex;font-size:13px;gap:7px;min-height:34px;padding:0 14px}.jio-creator__cover-add:focus-visible:not(:disabled),.jio-creator__cover-add:hover:not(:disabled){border-color:var(--jc-accent);color:var(--jc-accent-strong);outline:0}.jio-creator__cover-add:disabled{cursor:default;opacity:.6}.jio-creator__cover-preview{background:#eef1f0;border:0;border-radius:6px;cursor:pointer;display:block;height:63px;overflow:hidden;padding:0;width:112px}.jio-creator__cover-preview img{display:block;height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.jio-creator__cover-preview:focus-visible{outline:2px solid var(--jc-accent);outline-offset:2px}.jio-creator__cover-clear{align-items:center;background:transparent;border:0;border-radius:50%;color:#98a19e;cursor:pointer;display:inline-flex;height:26px;justify-content:center;width:26px}.jio-creator__cover-clear:focus-visible,.jio-creator__cover-clear:hover{background:#f3f5f4;color:var(--jc-warn);outline:0}.jio-creator__schedule{align-items:center;display:flex;flex-wrap:wrap;gap:12px;padding:4px 0 18px}.jio-creator__schedule label{align-items:center;color:#6f7875;display:inline-flex;font-size:13px;gap:10px}.jio-creator__schedule input[type=datetime-local]{background:#fff;border:1px solid #e3e7e5;border-radius:6px;color:#2b2b2b;font:inherit;font-size:13px;height:36px;padding:0 10px}.jio-creator__schedule .jio-creator-muted{flex:1 1 100%}.jio-creator-drawer{display:flex;inset:0;justify-content:flex-end;position:fixed;z-index:500}.jio-creator-drawer__backdrop{background:rgba(23,34,31,.32);border:0;cursor:default;inset:0;position:absolute}.jio-creator-drawer__panel{background:#fff;box-shadow:-20px 0 60px rgba(20,32,28,.16);display:flex;flex-direction:column;height:100%;position:relative;width:min(460px,100%)}.jio-creator-drawer__head{align-items:center;border-bottom:1px solid #e6e9e8;display:flex;justify-content:space-between;padding:20px 24px}.jio-creator-drawer__head h2{font-size:17px;font-weight:600;margin:0}.jio-creator-drawer__close{background:transparent;border:0;color:#7d8683;cursor:pointer}.jio-creator-drawer__body{flex:1;overflow-y:auto;padding:20px 24px 32px}.jio-creator-drawer__note{background:#f2f7f4;border-left:3px solid #267665;color:#7d8683;font-size:13px;line-height:1.6;margin:0 0 20px;padding:12px 14px}.jio-creator-drawer__foot{background:#fff;border-top:1px solid #e6e9e8;display:flex;flex-direction:column;gap:12px;padding:16px 24px calc(16px + env(safe-area-inset-bottom))}.jio-creator-drawer__foot .jio-creator-primary{flex:1}.jio-creator-drawer__actions{align-items:center;display:flex;gap:12px}.jio-creator-drawer__captcha{min-height:40px}.jio-creator-field{margin-bottom:26px}.jio-creator-field>h3{color:#2b2b2b;font-size:13px;font-weight:600;margin:0 0 10px}.jio-creator-muted{color:#7d8683;font-size:12px;line-height:1.6;margin:0}.jio-creator-error{color:#b4573f;font-size:12px;margin:8px 0 0}.jio-creator-chips{display:flex;flex-wrap:wrap;gap:8px}.jio-creator-chip{align-items:center;border:1px solid #e6e9e8;border-radius:999px;color:#7d8683;cursor:pointer;display:inline-flex;font-size:13px;gap:6px;padding:5px 12px}.jio-creator-chip input{clip:rect(0,0,0,0);height:1px;overflow:hidden;position:absolute;width:1px}.jio-creator-chip.is-active{background:#eef5f2;border-color:#267665;color:#1d5f52}.jio-creator-chip button{background:transparent;border:0;color:inherit;cursor:pointer}.jio-creator-inline{display:flex;gap:8px;margin-top:10px}.jio-creator-inline input:not([type]),.jio-creator-inline input[type=text]{border:1px solid #e6e9e8;border-radius:8px;flex:1;height:36px;min-width:0;padding:0 12px}.jio-creator-inline label{align-items:center;display:inline-flex;font-size:13px;gap:6px}.jio-creator-switch{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.jio-creator-switch h3{font-size:13px;margin:0 0 4px}.jio-creator-toggle{flex:0 0 auto;position:relative}.jio-creator-toggle input{height:1px;opacity:0;position:absolute;width:1px}.jio-creator-toggle span{background:#d6dfda;border-radius:999px;display:block;height:24px;transition:background .18s ease;width:42px}.jio-creator-toggle span:after{background:#fff;border-radius:50%;content:"";display:block;height:18px;margin:3px;transition:transform .18s ease;width:18px}.jio-creator-toggle input:checked+span{background:#267665}.jio-creator-toggle input:checked+span:after{transform:translateX(18px)}.jio-creator-toggle input:focus-visible+span{outline:2px solid #267665;outline-offset:2px}.jio-creator-pay{background:#fcfdfc;border:1px solid #e6e9e8;border-radius:10px;margin-top:16px;padding:16px}.jio-creator-input{align-items:center;display:flex;font-size:13px;gap:12px;justify-content:space-between;margin-top:12px}.jio-creator-input input{border:1px solid #e6e9e8;border-radius:8px;height:36px;padding:0 12px;text-align:right;width:140px}.jio-creator-cover{border-radius:10px;overflow:hidden;position:relative}.jio-creator-cover img{aspect-ratio:2/1;display:block;-o-object-fit:cover;object-fit:cover;width:100%}.jio-creator-cover button{background:rgba(0,0,0,.55);border:0;border-radius:50%;color:#fff;cursor:pointer;height:30px;position:absolute;right:8px;top:8px;width:30px}.jio-creator-cover-empty{align-items:center;background:#fafcfb;border:1px dashed #e6e9e8;border-radius:10px;color:#7d8683;cursor:pointer;display:flex;flex-direction:column;font-size:13px;gap:8px;justify-content:center;min-height:120px}.jio-creator-cover-empty input{height:1px;opacity:0;position:absolute;width:1px}.jio-creator-attachments{border-top:1px solid #e6e9e8;margin-top:18px;padding-top:16px}.jio-creator-attachments__head{align-items:center;display:flex;gap:12px;justify-content:space-between}.jio-creator-attachments__head h4{font-size:13px;margin:0}.jio-creator-upload{align-items:center;border:1px solid #e6e9e8;border-radius:8px;color:#1d5f52;cursor:pointer;display:inline-flex;font-size:12px;min-height:32px;padding:0 12px}.jio-creator-upload input{height:1px;opacity:0;position:absolute;width:1px}.jio-creator-files{list-style:none;margin:12px 0 0;padding:0}.jio-creator-files li{align-items:center;border-bottom:1px solid #f0f4f1;display:flex;font-size:13px;gap:10px;padding:8px 0}.jio-creator-files button{background:transparent;border:0;color:#7d8683;cursor:pointer;margin-left:auto}.jio-creator-files__name{align-items:center;display:inline-flex;gap:8px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jio-creator-files__name i{color:#267665}.jio-creator-reuse{font-size:13px;margin-top:14px}.jio-creator-reuse summary{color:#7d8683;cursor:pointer}.jio-creator-reuse ul{list-style:none;margin:10px 0 0;padding:0}.jio-creator-reuse li{align-items:center;display:flex;gap:10px;padding:6px 0}.jio-creator-reuse button{background:#fff;border:1px solid #e6e9e8;border-radius:6px;cursor:pointer;margin-left:auto}.jio-creator-link{background:transparent;border:0;color:var(--jc-ink-soft,#7d8683);cursor:pointer;font-size:13px;text-decoration:underline}@media(max-width:767px){.jio-creator{--jc-bar:60px}.jio-creator__bar{gap:7px;padding:0 8px}.jio-creator__bar-left{gap:5px;padding-right:7px}.jio-creator__bar-divider,.jio-creator__bar-mode{display:none}.jio-creator__bar-brand{font-size:15px}.jio-creator__bar-actions{gap:5px}.jio-creator__toolbar-tools{gap:4px}.jio-creator__toolbar-group{gap:0}.jio-creator__tool-btn{min-width:36px;padding:4px}.jio-creator__tool-btn i{font-size:13px}.jio-creator__tool-label{font-size:10px;max-width:42px}.jio-creator__format-field{min-width:42px;padding:4px}.jio-creator__bar-actions .jio-creator__save{display:none}.jio-creator__save-draft{font-size:0;min-width:34px;padding:0;width:34px}.jio-creator__save-draft i{font-size:13px}.jio-creator__preview{font-size:12px;min-height:32px;padding:0 8px}.jio-creator__primary{font-size:12px;min-height:32px;padding:0 10px}.jio-creator__ghost{padding:0 8px}.jio-creator__canvas{margin:14px auto 0;padding:22px 18px 28px;width:calc(100% - 20px)}.jio-creator__settings{margin:12px auto calc(40px + env(safe-area-inset-bottom));padding:18px;width:calc(100% - 20px)}.jio-creator__setting-row{gap:12px}.jio-creator__title textarea{font-size:24px}.jio-creator__editor .mce-edit-area iframe,.jio-creator__editor .tox .tox-edit-area__iframe{min-height:48vh}.jio-creator-drawer{display:block}.jio-creator-drawer__backdrop{display:none}.jio-creator-drawer__panel{border-radius:0;box-shadow:none;height:100dvh;width:100%}.jio-creator-drawer__foot{background:#fff;bottom:0;position:sticky}}@media(prefers-reduced-motion:reduce){.jio-creator *{animation:none!important;transition:none!important}} +.jio-page-submit{background:#f6f6f6}body.jio-page-submit.has-static-nav,body.jio-page-submit.nav-fixed{padding-top:0!important}.jio-page-submit .float-btn,.jio-page-submit .footer,.jio-page-submit .footer-tabbar,.jio-page-submit .header,.jio-page-submit .jio-float-buttons{display:none!important}.jio-page-submit #main-content.container{max-width:none;padding:0}#jio-creator-studio.is-ready{display:block}.jio-creator{--jc-ink:#2b2b2b;--jc-ink-soft:#7d8683;--jc-paper:#f6f6f6;--jc-line:#e6e9e8;--jc-accent:#267665;--jc-accent-strong:#1d5f52;--jc-warn:#b4573f;--jc-bar:64px;-webkit-font-smoothing:antialiased;background:var(--jc-paper);color:var(--jc-ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif;min-height:100vh;min-height:100dvh;padding-top:var(--jc-bar)}.jio-creator *,.jio-creator :after,.jio-creator :before{box-sizing:border-box}.jio-creator button{color:inherit;font:inherit}.jio-creator__bar{align-items:center;background:rgba(250,251,250,.98);border-bottom:1px solid var(--jc-line);box-shadow:0 2px 8px rgba(27,46,39,.035);display:flex;gap:clamp(10px,1.7vw,24px);height:var(--jc-bar);left:0;padding:0 clamp(14px,2.4vw,30px);position:fixed;right:0;top:0;z-index:300}.jio-creator__bar-actions,.jio-creator__bar-left{align-items:center;display:flex;flex:0 0 auto;gap:9px;min-width:0}.jio-creator__bar-left{border-right:1px solid var(--jc-line);padding-right:clamp(10px,1.5vw,20px)}.jio-creator__bar-actions{gap:7px;margin-left:auto}.jio-creator__bar-brand{color:var(--jc-accent-strong);font-family:Songti SC,"Noto Serif SC","Source Han Serif SC",serif;font-size:17px;font-weight:700;letter-spacing:-.04em}.jio-creator__bar-divider{background:var(--jc-line);height:18px;width:1px}.jio-creator__bar-mode{color:var(--jc-ink-soft);font-size:13px;white-space:nowrap}.jio-creator__back{align-items:center;border-radius:7px;color:var(--jc-ink-soft);display:inline-flex;height:30px;justify-content:center;text-decoration:none;width:30px}.jio-creator__back:focus-visible,.jio-creator__back:hover{background:#edf3f0;color:var(--jc-accent);outline:0}.jio-creator__toolbar-tools{align-items:center;display:flex;flex:1 1 auto;gap:7px;min-width:0;overflow-x:auto;scrollbar-width:none}.jio-creator__toolbar-tools::-webkit-scrollbar{display:none}.jio-creator__toolbar-group{align-items:center;display:inline-flex;flex:0 0 auto;gap:2px}.jio-creator__toolbar-divider{background:var(--jc-line);flex:0 0 auto;height:22px;width:1px}.jio-creator__tool-btn{align-items:center;background:transparent;border:0;border-radius:6px;color:#5f6664;cursor:pointer;display:inline-flex;flex:0 0 auto;flex-direction:column;font-size:11px;gap:2px;height:46px;justify-content:center;line-height:1.2;min-width:40px;padding:5px 6px;width:auto}.jio-creator__tool-btn i{font-size:14px;line-height:1}.jio-creator__tool-btn:focus-visible:not(:disabled),.jio-creator__tool-btn:hover:not(:disabled){background:#f0f2f1;color:var(--jc-accent-strong);outline:0}.jio-creator__tool-btn:disabled{color:#c7d0cc;cursor:default}.jio-creator__tool-label{max-width:52px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jio-creator__format-field{align-items:center;border-radius:6px;cursor:pointer;display:inline-flex;flex:0 0 auto;flex-direction:column;gap:2px;height:46px;justify-content:center;min-width:48px;padding:5px 6px;position:relative;width:auto}.jio-creator__format-field i{font-size:14px;line-height:1}.jio-creator__format-field:focus-within,.jio-creator__format-field:hover{background:#f0f2f1;color:var(--jc-accent-strong)}.jio-creator__format-field:focus-within{outline:2px solid rgba(38,118,101,.35);outline-offset:-2px}.jio-creator__format-select{background:transparent;border:0;color:inherit;cursor:pointer;font:inherit;height:100%;inset:0;opacity:0;padding:0;position:absolute;width:100%}.jio-creator__format-select:disabled{cursor:default}.jio-creator__save-draft{align-items:center;background:#fff;border:1px solid var(--jc-line);border-radius:7px;color:var(--jc-ink-soft);cursor:pointer;display:inline-flex;flex:0 0 auto;font-size:13px;gap:7px;justify-content:center;min-height:34px;padding:0 10px;white-space:nowrap}.jio-creator__save-draft:focus-visible:not(:disabled),.jio-creator__save-draft:hover:not(:disabled){background:#f7faf8;border-color:#b7cdc3;color:var(--jc-accent-strong);outline:0}.jio-creator__save-draft:disabled{cursor:default;opacity:.55}.jio-creator__save{align-items:center;color:var(--jc-ink-soft);display:inline-flex;flex:0 0 auto;font-size:12px;gap:6px;white-space:nowrap}.jio-creator__save>i{color:var(--jc-line);font-size:7px}.jio-creator__save time{font-variant-numeric:tabular-nums;opacity:.7}.jio-creator__save.is-saved>i{color:var(--jc-accent)}.jio-creator__save.is-conflict,.jio-creator__save.is-conflict>i,.jio-creator__save.is-error,.jio-creator__save.is-error>i{color:var(--jc-warn)}.jio-creator__btn,.jio-creator__ghost,.jio-creator__primary{align-items:center;border:1px solid transparent;border-radius:7px;cursor:pointer;display:inline-flex;font-size:13px;justify-content:center;min-height:34px;padding:0 13px;transition:background .18s ease,border-color .18s ease,color .18s ease;white-space:nowrap}.jio-creator__ghost{background:transparent;border-color:var(--jc-line)}.jio-creator__ghost:focus-visible,.jio-creator__ghost:hover{border-color:var(--jc-accent);color:var(--jc-accent)}.jio-creator__primary{background:var(--jc-accent);color:#fff}.jio-creator__primary:focus-visible,.jio-creator__primary:hover{background:var(--jc-accent-strong)}.jio-creator__primary:disabled{cursor:not-allowed;opacity:.5}.jio-creator__notice{align-items:center;background:#f1f5f2;border-bottom:1px solid var(--jc-line);color:var(--jc-ink-soft);display:flex;font-size:13px;gap:12px;margin:0 auto;max-width:820px;padding:10px 16px}.jio-creator__notice>span{flex:1}.jio-creator__notice button{background:transparent;border:0;color:var(--jc-accent);cursor:pointer}.jio-creator__notice.is-error{background:#fdf2ee;color:var(--jc-warn)}.jio-creator__hint{color:var(--jc-ink-soft);font-size:13px;margin:18px auto 0;max-width:820px;padding:0 clamp(16px,4vw,40px)}.jio-creator__canvas{background:#fff;border-radius:4px;box-shadow:0 1px 2px rgba(24,39,34,.04),0 8px 28px rgba(24,39,34,.05);margin:40px auto 0;padding:clamp(30px,4vw,50px) clamp(28px,5vw,56px) clamp(36px,5vw,56px);width:min(900px,100% - clamp(24px,6vw,72px))}.jio-creator__title{display:block;margin-bottom:0}.jio-creator__title textarea{background:transparent;border:0;border-bottom:1px solid #eef0ef;color:#2b2b2b;font-family:inherit;font-size:clamp(26px,3vw,32px);font-weight:700;letter-spacing:.01em;line-height:1.35;min-height:46px;padding:0 0 16px;resize:none;width:100%}.jio-creator__title textarea:focus{border-bottom-color:#dfe3e1;outline:0}.jio-creator__title textarea::-moz-placeholder{color:#c3c7c5;font-weight:700}.jio-creator__title textarea::placeholder{color:#c3c7c5;font-weight:700}.jio-creator__editor{margin:22px 0 0;min-height:52vh;position:relative}.jio-creator__editor .mce-top-part,.jio-creator__editor .quicktags-toolbar,.jio-creator__editor .tox .tox-editor-header,.jio-creator__editor .tox .tox-statusbar,.jio-creator__editor .wp-editor-tabs,.jio-creator__editor .wp-media-buttons{display:none!important}.jio-creator__editor .wp-editor-container,.jio-creator__editor .wp-editor-wrap{background:transparent;border:0;box-shadow:none}.jio-creator__editor .mce-tinymce,.jio-creator__editor .tox-tinymce{background:transparent;border:0!important;box-shadow:none!important}.jio-creator__editor .mce-container-body,.jio-creator__editor .mce-edit-area,.jio-creator__editor .tox .tox-edit-area{background:transparent;border:0!important}.jio-creator__editor .mce-edit-area iframe,.jio-creator__editor .tox .tox-edit-area__iframe{min-height:52vh}.jio-creator__editor textarea{background:transparent;border:0;color:#2b2b2b;font:inherit;font-size:16px;line-height:1.8;min-height:52vh;padding:0;resize:vertical;width:100%}.jio-creator__editor textarea::-moz-placeholder{color:#b9bfbc}.jio-creator__editor textarea::placeholder{color:#b9bfbc}.jio-creator__settings{background:#fff;border-radius:4px;box-shadow:0 1px 2px rgba(24,39,34,.04),0 8px 28px rgba(24,39,34,.05);margin:20px auto clamp(48px,10vh,140px);padding:clamp(20px,3vw,28px) clamp(24px,4vw,40px);width:min(900px,100% - clamp(24px,6vw,72px))}.jio-creator__settings-title{color:#2b2b2b;font-size:15px;font-weight:600;margin:0 0 4px}.jio-creator__setting-row{align-items:center;border-bottom:1px solid #f2f4f3;display:flex;gap:20px;justify-content:space-between;padding:16px 0}.jio-creator__setting-row:last-of-type{border-bottom:0}.jio-creator__setting-copy{min-width:0}.jio-creator__setting-label{color:#2b2b2b;display:block;font-size:14px;font-weight:500}.jio-creator__setting-help{color:#9aa2a0;font-size:12px;line-height:1.6;margin:4px 0 0}.jio-creator__cover-control{align-items:center;display:flex;flex:0 0 auto;gap:8px;position:relative}.jio-creator__cover-input{height:1px;opacity:0;overflow:hidden;pointer-events:none;position:absolute;width:1px}.jio-creator__cover-add{align-items:center;background:transparent;border:1px dashed #d8dedb;border-radius:6px;color:#7c8683;cursor:pointer;display:inline-flex;font-size:13px;gap:7px;min-height:34px;padding:0 14px}.jio-creator__cover-add:focus-visible:not(:disabled),.jio-creator__cover-add:hover:not(:disabled){border-color:var(--jc-accent);color:var(--jc-accent-strong);outline:0}.jio-creator__cover-add:disabled{cursor:default;opacity:.6}.jio-creator__cover-preview{background:#eef1f0;border:0;border-radius:6px;cursor:pointer;display:block;height:63px;overflow:hidden;padding:0;width:112px}.jio-creator__cover-preview img{display:block;height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.jio-creator__cover-preview:focus-visible{outline:2px solid var(--jc-accent);outline-offset:2px}.jio-creator__cover-clear{align-items:center;background:transparent;border:0;border-radius:50%;color:#98a19e;cursor:pointer;display:inline-flex;height:26px;justify-content:center;width:26px}.jio-creator__cover-clear:focus-visible,.jio-creator__cover-clear:hover{background:#f3f5f4;color:var(--jc-warn);outline:0}.jio-creator__schedule{align-items:center;display:flex;flex-wrap:wrap;gap:12px;padding:4px 0 18px}.jio-creator__schedule label{align-items:center;color:#6f7875;display:inline-flex;font-size:13px;gap:10px}.jio-creator__schedule input[type=datetime-local]{background:#fff;border:1px solid #e3e7e5;border-radius:6px;color:#2b2b2b;font:inherit;font-size:13px;height:36px;padding:0 10px}.jio-creator__schedule .jio-creator-muted{flex:1 1 100%}.jio-creator-drawer{display:flex;inset:0;justify-content:flex-end;position:fixed;z-index:500}.jio-creator-drawer__backdrop{background:rgba(23,34,31,.32);border:0;cursor:default;inset:0;position:absolute}.jio-creator-drawer__panel{background:#fff;box-shadow:-20px 0 60px rgba(20,32,28,.16);display:flex;flex-direction:column;height:100%;position:relative;width:min(460px,100%)}.jio-creator-drawer__head{align-items:center;border-bottom:1px solid #e6e9e8;display:flex;justify-content:space-between;padding:20px 24px}.jio-creator-drawer__head h2{font-size:17px;font-weight:600;margin:0}.jio-creator-drawer__close{background:transparent;border:0;color:#7d8683;cursor:pointer}.jio-creator-drawer__body{flex:1;overflow-y:auto;padding:20px 24px 32px}.jio-creator-drawer__note{background:#f2f7f4;border-left:3px solid #267665;color:#7d8683;font-size:13px;line-height:1.6;margin:0 0 20px;padding:12px 14px}.jio-creator-drawer__foot{background:#fff;border-top:1px solid #e6e9e8;display:flex;flex-direction:column;gap:12px;padding:16px 24px calc(16px + env(safe-area-inset-bottom))}.jio-creator-drawer__foot .jio-creator-primary{flex:1}.jio-creator-drawer__actions{align-items:center;display:flex;gap:12px}.jio-creator-drawer__captcha{min-height:40px}.jio-creator-field{margin-bottom:26px}.jio-creator-field>h3{color:#2b2b2b;font-size:13px;font-weight:600;margin:0 0 10px}.jio-creator-muted{color:#7d8683;font-size:12px;line-height:1.6;margin:0}.jio-creator-error{color:#b4573f;font-size:12px;margin:8px 0 0}.jio-creator-chips{display:flex;flex-wrap:wrap;gap:8px}.jio-creator-chip{align-items:center;border:1px solid #e6e9e8;border-radius:999px;color:#7d8683;cursor:pointer;display:inline-flex;font-size:13px;gap:6px;padding:5px 12px}.jio-creator-chip input{clip:rect(0,0,0,0);height:1px;overflow:hidden;position:absolute;width:1px}.jio-creator-chip.is-active{background:#eef5f2;border-color:#267665;color:#1d5f52}.jio-creator-chip button{background:transparent;border:0;color:inherit;cursor:pointer}.jio-creator-inline{display:flex;gap:8px;margin-top:10px}.jio-creator-inline input:not([type]),.jio-creator-inline input[type=text]{border:1px solid #e6e9e8;border-radius:8px;flex:1;height:36px;min-width:0;padding:0 12px}.jio-creator-inline label{align-items:center;display:inline-flex;font-size:13px;gap:6px}.jio-creator-switch{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.jio-creator-switch h3{font-size:13px;margin:0 0 4px}.jio-creator-toggle{flex:0 0 auto;position:relative}.jio-creator-toggle input{height:1px;opacity:0;position:absolute;width:1px}.jio-creator-toggle span{background:#d6dfda;border-radius:999px;display:block;height:24px;transition:background .18s ease;width:42px}.jio-creator-toggle span:after{background:#fff;border-radius:50%;content:"";display:block;height:18px;margin:3px;transition:transform .18s ease;width:18px}.jio-creator-toggle input:checked+span{background:#267665}.jio-creator-toggle input:checked+span:after{transform:translateX(18px)}.jio-creator-toggle input:focus-visible+span{outline:2px solid #267665;outline-offset:2px}.jio-creator-pay{background:#fcfdfc;border:1px solid #e6e9e8;border-radius:10px;margin-top:16px;padding:16px}.jio-creator-input{align-items:center;display:flex;font-size:13px;gap:12px;justify-content:space-between;margin-top:12px}.jio-creator-input input{border:1px solid #e6e9e8;border-radius:8px;height:36px;padding:0 12px;text-align:right;width:140px}.jio-creator-cover{border-radius:10px;overflow:hidden;position:relative}.jio-creator-cover img{aspect-ratio:2/1;display:block;-o-object-fit:cover;object-fit:cover;width:100%}.jio-creator-cover button{background:rgba(0,0,0,.55);border:0;border-radius:50%;color:#fff;cursor:pointer;height:30px;position:absolute;right:8px;top:8px;width:30px}.jio-creator-cover-empty{align-items:center;background:#fafcfb;border:1px dashed #e6e9e8;border-radius:10px;color:#7d8683;cursor:pointer;display:flex;flex-direction:column;font-size:13px;gap:8px;justify-content:center;min-height:120px}.jio-creator-cover-empty input{height:1px;opacity:0;position:absolute;width:1px}.jio-creator-attachments{border-top:1px solid #e6e9e8;margin-top:18px;padding-top:16px}.jio-creator-attachments__head{align-items:center;display:flex;gap:12px;justify-content:space-between}.jio-creator-attachments__head h4{font-size:13px;margin:0}.jio-creator-upload{align-items:center;border:1px solid #e6e9e8;border-radius:8px;color:#1d5f52;cursor:pointer;display:inline-flex;font-size:12px;min-height:32px;padding:0 12px}.jio-creator-upload input{height:1px;opacity:0;position:absolute;width:1px}.jio-creator-files{list-style:none;margin:12px 0 0;padding:0}.jio-creator-files li{align-items:center;border-bottom:1px solid #f0f4f1;display:flex;font-size:13px;gap:10px;padding:8px 0}.jio-creator-files button{background:transparent;border:0;color:#7d8683;cursor:pointer;margin-left:auto}.jio-creator-files__name{align-items:center;display:inline-flex;gap:8px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jio-creator-files__name i{color:#267665}.jio-creator-reuse{font-size:13px;margin-top:14px}.jio-creator-reuse summary{color:#7d8683;cursor:pointer}.jio-creator-reuse ul{list-style:none;margin:10px 0 0;padding:0}.jio-creator-reuse li{align-items:center;display:flex;gap:10px;padding:6px 0}.jio-creator-reuse button{background:#fff;border:1px solid #e6e9e8;border-radius:6px;cursor:pointer;margin-left:auto}.jio-creator-link{background:transparent;border:0;color:var(--jc-ink-soft,#7d8683);cursor:pointer;font-size:13px;text-decoration:underline}.jio-creator-dialog{align-items:center;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:560}.jio-creator-dialog__backdrop{background:rgba(23,34,31,.34);border:0;cursor:default;inset:0;position:absolute}.jio-creator-dialog__panel{background:#fff;border-radius:14px;box-shadow:0 24px 70px rgba(20,32,28,.22);display:flex;flex-direction:column;max-height:min(82vh,640px);overflow:hidden;position:relative;width:min(460px,100%)}.jio-creator-dialog__head{align-items:center;border-bottom:1px solid #eef1f0;display:flex;justify-content:space-between;padding:18px 20px 12px}.jio-creator-dialog__head h2{font-size:16px;font-weight:600;margin:0}.jio-creator-dialog__close{align-items:center;background:transparent;border:0;border-radius:50%;color:#7d8683;cursor:pointer;display:inline-flex;height:30px;justify-content:center;width:30px}.jio-creator-dialog__close:focus-visible,.jio-creator-dialog__close:hover{background:#f2f5f3;outline:0}.jio-creator-dialog__body{display:flex;flex:1;flex-direction:column;gap:14px;overflow-y:auto;padding:18px 20px 20px}.jio-creator-dialog__row{display:flex;gap:14px}.jio-creator-dialog__row label{flex:1}.jio-creator-dialog__field,.jio-creator-dialog__row label{display:flex;flex-direction:column;gap:6px}.jio-creator-dialog__field>span,.jio-creator-dialog__row label>span{color:#6f7875;font-size:12px}.jio-creator-dialog__field input,.jio-creator-dialog__field select,.jio-creator-dialog__row input{background:#fff;border:1px solid #e3e7e5;border-radius:8px;color:#2b2b2b;font:inherit;font-size:14px;height:38px;padding:0 10px}.jio-creator-dialog__field textarea{background:#fff;border:1px solid #e3e7e5;border-radius:8px;color:#2b2b2b;font:inherit;font-size:14px;line-height:1.7;padding:10px;resize:vertical;width:100%}.jio-creator-dialog__field textarea:focus{outline:2px solid rgba(38,118,101,.25);outline-offset:-1px}.jio-creator-dialog__check{align-items:center;color:#4f5957;cursor:pointer;display:inline-flex;font-size:13px;gap:8px}.jio-creator-dialog__check input{accent-color:var(--jc-accent);cursor:pointer;height:15px;width:15px}.jio-creator-dialog__foot{background:#fff;border-top:1px solid #eef1f0;display:flex;gap:10px;justify-content:flex-end;padding:14px 20px calc(14px + env(safe-area-inset-bottom))}.jio-creator-dialog__ghost,.jio-creator-dialog__primary{align-items:center;border-radius:8px;cursor:pointer;display:inline-flex;font-size:14px;justify-content:center;min-height:36px;padding:0 16px}.jio-creator-dialog__ghost{background:#fff;border:1px solid #e3e7e5;color:#5f6664}.jio-creator-dialog__ghost:focus-visible,.jio-creator-dialog__ghost:hover{border-color:#b7cdc3;outline:0}.jio-creator-dialog__primary{background:var(--jc-accent);border:1px solid transparent;color:#fff}.jio-creator-dialog__primary:focus-visible:not(:disabled),.jio-creator-dialog__primary:hover:not(:disabled){background:var(--jc-accent-strong);outline:0}.jio-creator-dialog__primary:disabled{cursor:not-allowed;opacity:.5}.jio-creator__quote{flex:0 0 auto;position:relative}.jio-creator__quote-menu{background:#fff;border-radius:10px;box-shadow:0 12px 34px rgba(20,32,28,.18);display:flex;flex-direction:column;left:50%;padding:6px;position:absolute;top:calc(100% + 6px);transform:translateX(-50%);width:148px;z-index:400}.jio-creator__quote-option{align-items:center;background:transparent;border:0;border-radius:7px;color:#4f5957;cursor:pointer;display:flex;font-size:13px;gap:8px;padding:8px 10px;text-align:left;white-space:nowrap}.jio-creator__quote-option:focus-visible,.jio-creator__quote-option:hover{background:#f2f5f3;outline:0}.jio-creator__quote-swatch{background:#6f7875;border-radius:50%;flex:0 0 auto;height:10px;width:10px}.is-red .jio-creator__quote-swatch{background:#dc3f3f}.is-blue .jio-creator__quote-swatch{background:#0092ff}.is-green .jio-creator__quote-swatch{background:#23790e}@media(max-width:767px){.jio-creator{--jc-bar:60px}.jio-creator__bar{gap:7px;padding:0 8px}.jio-creator__bar-left{gap:5px;padding-right:7px}.jio-creator__bar-divider,.jio-creator__bar-mode{display:none}.jio-creator__bar-brand{font-size:15px}.jio-creator__bar-actions{gap:5px}.jio-creator__toolbar-tools{gap:4px}.jio-creator__toolbar-group{gap:0}.jio-creator__tool-btn{min-width:36px;padding:4px}.jio-creator__tool-btn i{font-size:13px}.jio-creator__tool-label{font-size:10px;max-width:42px}.jio-creator__format-field{min-width:42px;padding:4px}.jio-creator__bar-actions .jio-creator__save{display:none}.jio-creator__save-draft{font-size:0;min-width:34px;padding:0;width:34px}.jio-creator__save-draft i{font-size:13px}.jio-creator__preview{font-size:12px;min-height:32px;padding:0 8px}.jio-creator__primary{font-size:12px;min-height:32px;padding:0 10px}.jio-creator__ghost{padding:0 8px}.jio-creator__canvas{margin:14px auto 0;padding:22px 18px 28px;width:calc(100% - 20px)}.jio-creator__settings{margin:12px auto calc(40px + env(safe-area-inset-bottom));padding:18px;width:calc(100% - 20px)}.jio-creator__setting-row{gap:12px}.jio-creator__title textarea{font-size:24px}.jio-creator__editor .mce-edit-area iframe,.jio-creator__editor .tox .tox-edit-area__iframe{min-height:48vh}.jio-creator-drawer{display:block}.jio-creator-drawer__backdrop{display:none}.jio-creator-drawer__panel{border-radius:0;box-shadow:none;height:100dvh;width:100%}.jio-creator-drawer__foot{background:#fff;bottom:0;position:sticky}}@media(prefers-reduced-motion:reduce){.jio-creator *{animation:none!important;transition:none!important}} diff --git a/assets/creator-studio/build/index.js b/assets/creator-studio/build/index.js index 76b6df7a..cfe61d62 100644 --- a/assets/creator-studio/build/index.js +++ b/assets/creator-studio/build/index.js @@ -1,3 +1,3 @@ -(()=>{"use strict";const e=window.React,t=window.wp.element,a=window.wp.i18n;function n(e,t){const a=e&&(e.message||e.error)||(401===t?"登录状态已失效,请刷新页面重新登录。":"请求失败,请稍后重试。"),n=new Error(String(a));return n.status=t,n.code=e&&e.code?String(e.code):"",n.data=e,n}async function r(e){try{return await e.json()}catch(e){return null}}async function o(e,t,a){const o=await fetch(e,{method:"POST",credentials:"same-origin",headers:{"Content-Type":"application/json","X-WP-Nonce":a},body:JSON.stringify(t)}),i=await r(o);if(!o.ok)throw n(i,o.status);return i}async function i(e,t,a,o={}){const i=new FormData;i.append("file",t),Object.entries(o).forEach(([e,t])=>i.append(e,t));const l=await fetch(e,{method:"POST",credentials:"same-origin",headers:{"X-WP-Nonce":a},body:i}),c=await r(l);if(!l.ok)throw n(c,l.status);return c}const l=window.jioCreatorStudio||{},c=l.nonce||"";function s(n){const{draft:r,setDraft:o,capabilities:s,limits:u,taxonomy:d,isPublishedEdit:m,onClose:p,onSaveDraft:_,onSubmit:f,privateStorage:b,privateUploads:g,saving:y,captcha:j}=n,[E,h]=(0,t.useState)(""),[v,N]=(0,t.useState)(""),[w,k]=(0,t.useState)(!1),C=(0,t.useRef)(null),S=(0,t.useRef)(null);(0,t.useEffect)(()=>{const e=S.current,t=document.getElementById("jio-creator-captcha");if(!e||!t)return;const a=t.parentElement;return e.appendChild(t),t.removeAttribute("hidden"),()=>{a&&(a.appendChild(t),t.setAttribute("hidden",""))}},[]);const I=(0,t.useMemo)(()=>(r.title||"").trim().length,[r.title])>=Number(u.titleMin||1),x=()=>{const e=E.trim();if(!e)return;const t=e.split(/[,,\n]+/u).map(e=>e.trim()).filter(Boolean);o({tags:Array.from(new Set([...r.tags,...t]))}),h("")};return(0,e.createElement)("div",{className:"jio-creator-drawer",role:"dialog","aria-modal":"true","aria-labelledby":"jio-creator-publish-title"},(0,e.createElement)("button",{type:"button",className:"jio-creator-drawer__backdrop","aria-label":(0,a.__)("关闭","jio"),onClick:p}),(0,e.createElement)("div",{className:"jio-creator-drawer__panel"},(0,e.createElement)("header",{className:"jio-creator-drawer__head"},(0,e.createElement)("h2",{id:"jio-creator-publish-title"},m?(0,a.__)("提交改稿","jio"):(0,a.__)("发布文章","jio")),(0,e.createElement)("button",{type:"button",className:"jio-creator-drawer__close",onClick:p,"aria-label":(0,a.__)("关闭","jio")},(0,e.createElement)("i",{className:"fa fas fa-times","aria-hidden":"true"}))),(0,e.createElement)("div",{className:"jio-creator-drawer__body"},m&&(0,e.createElement)("p",{className:"jio-creator-drawer__note"},(0,a.__)("审核通过前,读者看到的仍然是当前线上版本。","jio")),(0,e.createElement)("section",{className:"jio-creator-field"},(0,e.createElement)("h3",null,(0,a.__)("分类","jio")),(0,e.createElement)("div",{className:"jio-creator-chips"},0===d.categories.length&&(0,e.createElement)("span",{className:"jio-creator-muted"},(0,a.__)("暂无可选分类","jio")),d.categories.map(t=>(0,e.createElement)("label",{key:t.id,className:"jio-creator-chip"+(r.categories.includes(t.id)?" is-active":"")},(0,e.createElement)("input",{type:"checkbox",checked:r.categories.includes(t.id),onChange:()=>(e=>{const t=r.categories.includes(e);o({categories:t?r.categories.filter(t=>t!==e):[...r.categories,e]})})(t.id)}),(0,e.createElement)("span",null,t.name))))),d.tags&&(0,e.createElement)("section",{className:"jio-creator-field"},(0,e.createElement)("h3",null,(0,a.__)("标签","jio")),(0,e.createElement)("div",{className:"jio-creator-chips"},r.tags.map(t=>(0,e.createElement)("span",{key:t,className:"jio-creator-chip is-active"},(0,e.createElement)("span",null,t),(0,e.createElement)("button",{type:"button",onClick:()=>o({tags:r.tags.filter(e=>e!==t)}),"aria-label":(0,a.sprintf)((0,a.__)("移除标签 %s","jio"),t)},(0,e.createElement)("i",{className:"fa fas fa-times","aria-hidden":"true"}))))),(0,e.createElement)("div",{className:"jio-creator-inline"},(0,e.createElement)("input",{type:"text",value:E,placeholder:(0,a.__)("输入标签,逗号分隔","jio"),onChange:e=>h(e.target.value),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),x())}}),(0,e.createElement)("button",{type:"button",onClick:x},(0,a.__)("添加","jio")))),d.customDefs.map(t=>(0,e.createElement)("section",{className:"jio-creator-field",key:t.key},(0,e.createElement)("h3",null,t.name),(0,e.createElement)("div",{className:"jio-creator-chips"},t.values.map(a=>{const n=r.custom[t.key]||[],i=n.includes(a.key);return(0,e.createElement)("label",{key:a.key,className:"jio-creator-chip"+(i?" is-active":"")},(0,e.createElement)("input",{type:"checkbox",checked:i,onChange:()=>o({custom:{...r.custom,[t.key]:i?n.filter(e=>e!==a.key):[...n,a.key]}})}),(0,e.createElement)("span",null,a.name))})))),s.canPay&&(0,e.createElement)("section",{className:"jio-creator-field"},(0,e.createElement)("div",{className:"jio-creator-switch"},(0,e.createElement)("div",null,(0,e.createElement)("h3",null,(0,a.__)("付费内容","jio")),(0,e.createElement)("p",{className:"jio-creator-muted"},(0,a.__)("开启后,未购买读者只能看到免费部分。","jio"))),(0,e.createElement)("label",{className:"jio-creator-toggle"},(0,e.createElement)("input",{type:"checkbox",checked:r.pay.enabled,onChange:e=>o({pay:{...r.pay,enabled:e.target.checked}})}),(0,e.createElement)("span",{"aria-hidden":"true"}))),r.pay.enabled&&(0,e.createElement)("div",{className:"jio-creator-pay"},(0,e.createElement)("div",{className:"jio-creator-inline"},(0,e.createElement)("label",null,(0,e.createElement)("input",{type:"radio",checked:"cash"===r.pay.modo,onChange:()=>o({pay:{...r.pay,modo:"cash"}})}),(0,e.createElement)("span",null,(0,a.__)("现金","jio"))),(0,e.createElement)("label",null,(0,e.createElement)("input",{type:"radio",checked:"points"===r.pay.modo,onChange:()=>o({pay:{...r.pay,modo:"points"}})}),(0,e.createElement)("span",null,(0,a.__)("积分","jio")))),"cash"===r.pay.modo?(0,e.createElement)("label",{className:"jio-creator-input"},(0,e.createElement)("span",null,(0,a.__)("价格","jio")),(0,e.createElement)("input",{type:"number",min:Number(u.priceMin||0),step:"0.01",value:r.pay.price,onChange:e=>o({pay:{...r.pay,price:e.target.value}})})):(0,e.createElement)("label",{className:"jio-creator-input"},(0,e.createElement)("span",null,(0,a.__)("积分价格","jio")),(0,e.createElement)("input",{type:"number",min:0,step:"1",value:r.pay.points,onChange:e=>o({pay:{...r.pay,points:Number(e.target.value)||0}})})),s.canPayDownload&&(0,e.createElement)("div",{className:"jio-creator-attachments"},(0,e.createElement)("div",{className:"jio-creator-attachments__head"},(0,e.createElement)("h4",null,(0,a.__)("资料附件","jio")),b?(0,e.createElement)("label",{className:"jio-creator-upload"},(0,e.createElement)("input",{ref:C,type:"file",onChange:()=>{(async()=>{const e=C.current?.files?.[0];if(e){N(""),k(!0);try{const t=await i(l.creator.privateUrl,e,c,{post_id:String(r.postId||0)}),a={type:"protected",assetKey:String(t.asset_key||""),fileName:String(t.name||e.name),sizeBytes:Number(t.size||e.size),sizeLabel:String(t.size_label||""),label:""};o({pay:{...r.pay,enabled:!0,downloads:[...r.pay.downloads,a]}}),C.current&&(C.current.value="")}catch(e){N(String(e?.message||(0,a.__)("资料上传失败","jio")))}finally{k(!1)}}})()},disabled:w}),(0,e.createElement)("span",null,w?(0,a.__)("上传中…","jio"):(0,a.__)("添加 PDF / ZIP","jio"))):(0,e.createElement)("p",{className:"jio-creator-muted"},(0,a.__)("私有附件存储尚未配置,暂时不能上传付费资料。","jio"))),v&&(0,e.createElement)("p",{className:"jio-creator-error"},v),r.pay.downloads.length>0&&(0,e.createElement)("ul",{className:"jio-creator-files"},r.pay.downloads.map((t,n)=>(0,e.createElement)("li",{key:`${t.assetKey||t.url}-${n}`},(0,e.createElement)("span",{className:"jio-creator-files__name"},t.assetKey?(0,e.createElement)(e.Fragment,null,(0,e.createElement)("i",{className:"fa fas fa-lock","aria-hidden":"true"}),t.fileName||t.label||(0,a.__)("受保护资料","jio")):(0,e.createElement)(e.Fragment,null,(0,e.createElement)("i",{className:"fa fas fa-link","aria-hidden":"true"}),t.label||t.url)),t.sizeLabel&&(0,e.createElement)("span",{className:"jio-creator-muted"},t.sizeLabel),(0,e.createElement)("button",{type:"button",onClick:()=>(e=>{o({pay:{...r.pay,downloads:r.pay.downloads.filter((t,a)=>a!==e)}})})(n),"aria-label":(0,a.__)("移除","jio")},(0,e.createElement)("i",{className:"fa fas fa-times","aria-hidden":"true"}))))),g.length>0&&(0,e.createElement)("details",{className:"jio-creator-reuse"},(0,e.createElement)("summary",null,(0,a.__)("从已上传资料中选择","jio")),(0,e.createElement)("ul",null,g.filter(e=>!r.pay.downloads.some(t=>t.assetKey===e.assetKey)).map(t=>(0,e.createElement)("li",{key:t.assetKey},(0,e.createElement)("span",null,t.fileName),(0,e.createElement)("span",{className:"jio-creator-muted"},t.sizeLabel),(0,e.createElement)("button",{type:"button",onClick:()=>o({pay:{...r.pay,enabled:!0,downloads:[...r.pay.downloads,{...t,type:"protected"}]}})},(0,a.__)("使用","jio"))))))))),!s.canPay&&s.canSaveDraft&&(0,e.createElement)("p",{className:"jio-creator-muted"},(0,a.__)("当前账号不能设置付费内容。","jio"))),(0,e.createElement)("footer",{className:"jio-creator-drawer__foot"},j&&(0,e.createElement)("div",{className:"jio-creator-drawer__captcha",ref:S}),(0,e.createElement)("div",{className:"jio-creator-drawer__actions"},(0,e.createElement)("button",{type:"button",className:"jio-creator-ghost",onClick:_,disabled:y},(0,a.__)("保存草稿","jio")),(0,e.createElement)("button",{type:"button",className:"jio-creator-primary",onClick:()=>f(!1),disabled:y||!I},m?(0,a.__)("提交审核","jio"):s.canPublishNow?(0,a.__)("发布","jio"):(0,a.__)("提交审核","jio")),s.canPublishNow&&(0,e.createElement)("button",{type:"button",className:"jio-creator-link",onClick:()=>f(!0),disabled:y||!I},(0,a.__)("立即发布","jio"))))))}function u({label:t,icon:a,ready:n,onClick:r,title:o}){return(0,e.createElement)("button",{type:"button",className:"jio-creator__tool-btn",disabled:!n,onClick:r,title:o||t,"aria-label":o||t},(0,e.createElement)("i",{className:a,"aria-hidden":"true"}),(0,e.createElement)("span",{className:"jio-creator__tool-label"},t))}function d({ready:t,canUndo:n,canRedo:r,formatValue:o,onFormatChange:i,capabilities:l,onCommand:c,onRememberSelection:s,onOpenLink:d,onOpenMedia:m,onInsertBlock:p}){return(0,e.createElement)("div",{className:"jio-creator__toolbar-tools",role:"toolbar","aria-label":(0,a.__)("正文编辑工具","jio"),onMouseDown:e=>{s(),e.target.closest("button")&&e.preventDefault()}},(0,e.createElement)("div",{className:"jio-creator__toolbar-group",role:"group","aria-label":(0,a.__)("撤销和重做","jio")},(0,e.createElement)(u,{label:(0,a.__)("撤销","jio"),icon:"fa fas fa-undo",ready:n,onClick:()=>c("undo")}),(0,e.createElement)(u,{label:(0,a.__)("重做","jio"),icon:"fa fas fa-redo",ready:r,onClick:()=>c("redo")})),(0,e.createElement)("span",{className:"jio-creator__toolbar-divider","aria-hidden":"true"}),(0,e.createElement)("div",{className:"jio-creator__toolbar-group",role:"group","aria-label":(0,a.__)("段落样式","jio")},(0,e.createElement)("label",{className:"jio-creator__format-field"},(0,e.createElement)("select",{className:"jio-creator__format-select","aria-label":(0,a.__)("标题级别","jio"),value:"blockquote"===o?"p":o,disabled:!t,onFocus:s,onChange:e=>{i(e.target.value),c("format",e.target.value)}},(0,e.createElement)("option",{value:"p"},(0,a.__)("正文","jio")),(0,e.createElement)("option",{value:"h1"},(0,a.__)("标题 1","jio")),(0,e.createElement)("option",{value:"h2"},(0,a.__)("标题 2","jio")),(0,e.createElement)("option",{value:"h3"},(0,a.__)("标题 3","jio"))),(0,e.createElement)("i",{className:"fa fas fa-heading","aria-hidden":"true"}),(0,e.createElement)("span",{className:"jio-creator__tool-label"},(0,a.__)("标题","jio")))),(0,e.createElement)("span",{className:"jio-creator__toolbar-divider","aria-hidden":"true"}),(0,e.createElement)("div",{className:"jio-creator__toolbar-group",role:"group","aria-label":(0,a.__)("文字格式","jio")},(0,e.createElement)(u,{label:(0,a.__)("加粗","jio"),icon:"fa fas fa-bold",ready:t,onClick:()=>c("Bold")}),(0,e.createElement)(u,{label:(0,a.__)("斜体","jio"),icon:"fa fas fa-italic",ready:t,onClick:()=>c("Italic")}),(0,e.createElement)(u,{label:(0,a.__)("下划线","jio"),icon:"fa fas fa-underline",ready:t,onClick:()=>c("Underline")})),(0,e.createElement)("span",{className:"jio-creator__toolbar-divider","aria-hidden":"true"}),(0,e.createElement)("div",{className:"jio-creator__toolbar-group",role:"group","aria-label":(0,a.__)("段落块","jio")},(0,e.createElement)(u,{label:(0,a.__)("列表","jio"),icon:"fa fas fa-list-ul",ready:t,onClick:()=>p("list")}),(0,e.createElement)(u,{label:(0,a.__)("目录","jio"),icon:"fa fas fa-list-ol",ready:t,onClick:()=>p("toc")}),(0,e.createElement)(u,{label:(0,a.__)("引用","jio"),icon:"fa fas fa-quote-left",ready:t,onClick:()=>c("format","blockquote")}),(0,e.createElement)(u,{label:(0,a.__)("分割线","jio"),icon:"fa fas fa-minus",ready:t,onClick:()=>p("divider")}),(0,e.createElement)(u,{label:(0,a.__)("代码块","jio"),icon:"fa fas fa-code",ready:t,onClick:()=>p("code")}),(0,e.createElement)(u,{label:(0,a.__)("注释","jio"),icon:"fa fas fa-comment-dots",ready:t,onClick:()=>p("footnote")}),(0,e.createElement)(u,{label:(0,a.__)("公式","jio"),icon:"fa fas fa-square-root-alt",ready:t,onClick:()=>p("math")}),(0,e.createElement)(u,{label:(0,a.__)("表格","jio"),icon:"fa fas fa-table",ready:t,onClick:()=>p("table")})),(0,e.createElement)("span",{className:"jio-creator__toolbar-divider","aria-hidden":"true"}),(0,e.createElement)("div",{className:"jio-creator__toolbar-group",role:"group","aria-label":(0,a.__)("媒体和链接","jio")},l.canUploadImage&&(0,e.createElement)(u,{label:(0,a.__)("图片","jio"),icon:"fa far fa-image",ready:t,onClick:()=>m("image")}),(l.canUploadVideo||l.canEmbed)&&(0,e.createElement)(u,{label:(0,a.__)("视频","jio"),icon:"fa fas fa-video",ready:t,onClick:()=>m("video")}),(0,e.createElement)(u,{label:(0,a.__)("链接","jio"),icon:"fa fas fa-link",ready:t,onClick:d}),l.canUploadFile&&(0,e.createElement)(u,{label:(0,a.__)("附件","jio"),icon:"fa fas fa-paperclip",ready:t,onClick:()=>m("file")})))}const m=window.jioCreatorStudio||{},p=m.nonce||"",_=e=>String(e).padStart(2,"0");function f(e){return`${e.getFullYear()}-${_(e.getMonth()+1)}-${_(e.getDate())}T${_(e.getHours())}:${_(e.getMinutes())}`}function b({featured:n,canEditCover:r,canSchedule:o,scheduleEnabled:l,scheduleAt:c,onFeaturedChange:s,onScheduleChange:u}){const d=(0,t.useRef)(null),[_,b]=(0,t.useState)(!1),[g,y]=(0,t.useState)(""),j=(0,t.useMemo)(()=>f(new Date(Date.now()+3e5)),[]),E="string"==typeof n?.data?.url?n.data.url:"";return(0,e.createElement)("section",{className:"jio-creator__settings","aria-label":(0,a.__)("发布设置","jio")},(0,e.createElement)("h2",{className:"jio-creator__settings-title"},(0,a.__)("发布设置","jio")),r&&(0,e.createElement)("div",{className:"jio-creator__setting-row"},(0,e.createElement)("div",{className:"jio-creator__setting-copy"},(0,e.createElement)("span",{className:"jio-creator__setting-label"},(0,a.__)("添加封面","jio")),(0,e.createElement)("p",{className:"jio-creator__setting-help"},(0,a.__)("用于列表卡片、分享卡片;不设置时自动使用正文首图。","jio"))),(0,e.createElement)("div",{className:"jio-creator__cover-control"},E?(0,e.createElement)(e.Fragment,null,(0,e.createElement)("button",{type:"button",className:"jio-creator__cover-preview",onClick:()=>d.current?.click(),"aria-label":(0,a.__)("更换封面","jio")},(0,e.createElement)("img",{src:E,alt:""})),(0,e.createElement)("button",{type:"button",className:"jio-creator__cover-clear",onClick:()=>s({type:"",data:{}}),"aria-label":(0,a.__)("移除封面","jio")},(0,e.createElement)("i",{className:"fa fas fa-times","aria-hidden":"true"}))):(0,e.createElement)("button",{type:"button",className:"jio-creator__cover-add",onClick:()=>d.current?.click(),disabled:_},(0,e.createElement)("i",{className:"fa fas fa-plus","aria-hidden":"true"}),(0,e.createElement)("span",null,_?(0,a.__)("上传中…","jio"):(0,a.__)("添加封面","jio"))),(0,e.createElement)("input",{ref:d,type:"file",accept:"image/*",className:"jio-creator__cover-input",onChange:()=>{(async()=>{const e=d.current?.files?.[0],t=m.media?.uploadUrl?.image;if(e&&t){y(""),b(!0);try{const n=await i(t,e,p),r=Number(n.attachment_id||n.id||0),o=String(n.url||"");if(!r||!o)throw new Error((0,a.__)("上传后无法读取图片。","jio"));s({type:"image",mediaId:r,data:{id:r,url:o}})}catch(e){y(String(e?.message||(0,a.__)("上传失败","jio")))}finally{b(!1),d.current&&(d.current.value="")}}})()}}))),g&&(0,e.createElement)("p",{className:"jio-creator-error"},g),(0,e.createElement)("div",{className:"jio-creator__setting-row"},(0,e.createElement)("div",{className:"jio-creator__setting-copy"},(0,e.createElement)("span",{className:"jio-creator__setting-label"},(0,a.__)("定时发布","jio")),(0,e.createElement)("p",{className:"jio-creator__setting-help"},o?(0,a.__)("开启后到点自动发布,发布前不会出现在文章列表。","jio"):(0,a.__)("当前账号提交后需要审核,审核通过后才会发布。","jio"))),(0,e.createElement)("label",{className:"jio-creator-toggle"},(0,e.createElement)("input",{type:"checkbox",checked:l,disabled:!o,onChange:e=>u(e.target.checked,c||f(new Date(Date.now()+36e5)))}),(0,e.createElement)("span",{"aria-hidden":"true"}))),o&&l&&(0,e.createElement)("div",{className:"jio-creator__schedule"},(0,e.createElement)("label",null,(0,e.createElement)("span",null,(0,a.__)("发布时间","jio")),(0,e.createElement)("input",{type:"datetime-local",value:c,min:j,onChange:e=>u(!0,e.target.value)})),(0,e.createElement)("p",{className:"jio-creator-muted"},(0,a.sprintf)(/* translators: %s: site timezone */ /* translators: %s: site timezone */ -(0,a.__)("按站点时区(%s)发布,至少需要晚于当前时间 1 分钟。","jio"),String(m.timezone||"UTC")))))}const g={ready:(0,a.__)("尚未保存","jio"),saving:(0,a.__)("保存中…","jio"),saved:(0,a.__)("已保存","jio"),error:(0,a.__)("保存失败","jio"),conflict:(0,a.__)("内容已在别处更新","jio"),submitting:(0,a.__)("提交中…","jio"),submitted:(0,a.__)("已提交","jio")};function y({value:t}){return(0,e.createElement)("span",{className:`jio-creator__save is-${t.state}`,role:"status","aria-live":"polite"},(0,e.createElement)("i",{className:"fa fas fa-circle","aria-hidden":"true"}),(0,e.createElement)("span",null,g[t.state]||g.ready),"saved"===t.state&&t.at?(0,e.createElement)("time",null,t.at):null)}function j(e){const t=(e.downloads||[]).map(e=>{const t="string"==typeof e.assetKey?e.assetKey:"";if(t)return{type:"protected",asset_key:t,label:"string"==typeof e.label?e.label:""};const a="string"==typeof e.url?e.url.trim():"";return a?{type:"direct",url:a,label:"string"==typeof e.label?e.label:"",extract_code:"string"==typeof e.extractCode?e.extractCode:""}:null}).filter(Boolean);return{enabled:!!e.enabled,fields:{pay_type:e.enabled?t.length>0?"download":"reading":"no",pay_modo:"points"===e.modo?"points":"0",price:"points"===e.modo?"0.00":String(e.price||"0.00"),points_price:"points"===e.modo?Math.max(0,Number(e.points)||0):0,vip1_price:"points"===e.modo?"0.00":String(e.vip1Price||"0.00"),vip2_price:"points"===e.modo?"0.00":String(e.vip2Price||"0.00"),pay_limit:Number(e.payLimit)||0,downloads:t}}}const E=e=>e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""");function h(e){const t=e?"ol":"ul";return`<${t}>
${t}>`}function v(){const e=(e,t)=>`<${e}>${E(t)}${e}>`;return`'+E((0,a.__)("在此输入代码","jio"))+"",footnote:"[^1]
[^1]: "+E((0,a.__)("注释内容","jio"))+"
`+n+""}const k=(e,t,a)=>Math.min(a,Math.max(t,Number.isFinite(e)?Math.round(e):t)),N={table:(0,a.__)("插入表格","jio"),math:(0,a.__)("插入公式","jio"),footnote:(0,a.__)("插入注释","jio"),code:(0,a.__)("插入代码块","jio")};function w({kind:n,initialLanguage:r="generic",initialCode:o="",onSubmit:l,onClose:i}){const[c,s]=(0,t.useState)(3),[u,d]=(0,t.useState)(3),[m,p]=(0,t.useState)(!0),[_,b]=(0,t.useState)(!1),[f,g]=(0,t.useState)("a^2 + b^2 = c^2"),[h,j]=(0,t.useState)(!0),[E,v]=(0,t.useState)(""),[w,C]=(0,t.useState)(r),[S,x]=(0,t.useState)(o),M=(0,t.useRef)(null),q=(0,t.useRef)(null),L=(0,t.useRef)(null),$=(0,t.useRef)(null);(0,t.useEffect)(()=>{(q.current||L.current||$.current)?.focus();const e=e=>{"Escape"===e.key&&(e.preventDefault(),i())};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[i]);const I=(0,t.useMemo)(()=>"footnote"===n?""!==E.trim():"math"!==n||""!==f.trim(),[n,E,f]);return(0,e.createElement)("div",{className:"jio-creator-dialog",role:"dialog","aria-modal":"true","aria-labelledby":"jio-creator-dialog-title"},(0,e.createElement)("button",{type:"button",className:"jio-creator-dialog__backdrop","aria-label":(0,a.__)("关闭","jio"),onClick:i}),(0,e.createElement)("div",{className:"jio-creator-dialog__panel",ref:M},(0,e.createElement)("header",{className:"jio-creator-dialog__head"},(0,e.createElement)("h2",{id:"jio-creator-dialog-title"},N[n]),(0,e.createElement)("button",{type:"button",className:"jio-creator-dialog__close",onClick:i,"aria-label":(0,a.__)("关闭","jio")},(0,e.createElement)("i",{className:"fa fas fa-times","aria-hidden":"true"}))),(0,e.createElement)("div",{className:"jio-creator-dialog__body"},"table"===n&&(0,e.createElement)(e.Fragment,null,(0,e.createElement)("div",{className:"jio-creator-dialog__row"},(0,e.createElement)("label",null,(0,e.createElement)("span",null,(0,a.__)("行数","jio")),(0,e.createElement)("input",{ref:q,type:"number",min:1,max:20,value:c,onChange:e=>s(Number(e.target.value))})),(0,e.createElement)("label",null,(0,e.createElement)("span",null,(0,a.__)("列数","jio")),(0,e.createElement)("input",{type:"number",min:1,max:10,value:u,onChange:e=>d(Number(e.target.value))}))),(0,e.createElement)("label",{className:"jio-creator-dialog__check"},(0,e.createElement)("input",{type:"checkbox",checked:m,onChange:e=>p(e.target.checked)}),(0,e.createElement)("span",null,(0,a.__)("首行为表头","jio"))),(0,e.createElement)("label",{className:"jio-creator-dialog__check"},(0,e.createElement)("input",{type:"checkbox",checked:_,onChange:e=>b(e.target.checked)}),(0,e.createElement)("span",null,(0,a.__)("隔行变色","jio")))),"math"===n&&(0,e.createElement)(e.Fragment,null,(0,e.createElement)("label",{className:"jio-creator-dialog__field"},(0,e.createElement)("span",null,(0,a.__)("公式","jio")),(0,e.createElement)("textarea",{ref:L,rows:3,value:f,onChange:e=>g(e.target.value),placeholder:"a^2 + b^2 = c^2"})),(0,e.createElement)("p",{className:"jio-creator-muted"},(0,a.__)("支持上标 ^ 与下标 _,例如 x^2 与 a_n;暂不支持完整 LaTeX。","jio")),(0,e.createElement)("label",{className:"jio-creator-dialog__check"},(0,e.createElement)("input",{type:"checkbox",checked:h,onChange:e=>j(e.target.checked)}),(0,e.createElement)("span",null,(0,a.__)("独占一行显示","jio")))),"code"===n&&(0,e.createElement)(e.Fragment,null,(0,e.createElement)("label",{className:"jio-creator-dialog__field"},(0,e.createElement)("span",null,(0,a.__)("语言","jio")),(0,e.createElement)("select",{value:w,onChange:e=>C(e.target.value)},y.map(t=>(0,e.createElement)("option",{key:t.value,value:t.value},t.label)))),(0,e.createElement)("label",{className:"jio-creator-dialog__field"},(0,e.createElement)("span",null,(0,a.__)("代码(可留空,稍后在正文里填写)","jio")),(0,e.createElement)("textarea",{rows:6,value:S,onChange:e=>x(e.target.value),placeholder:"console.log('hello');"}))),"footnote"===n&&(0,e.createElement)("label",{className:"jio-creator-dialog__field"},(0,e.createElement)("span",null,(0,a.__)("注释内容","jio")),(0,e.createElement)("textarea",{ref:$,rows:4,value:E,onChange:e=>v(e.target.value),placeholder:(0,a.__)("填写要补充说明的内容","jio")}))),(0,e.createElement)("footer",{className:"jio-creator-dialog__foot"},(0,e.createElement)("button",{type:"button",className:"jio-creator-dialog__ghost",onClick:i},(0,a.__)("取消","jio")),(0,e.createElement)("button",{type:"button",className:"jio-creator-dialog__primary",onClick:()=>{I&&l("table"!==n?"math"!==n?"code"!==n?{kind:n,note:E.trim()}:{kind:n,language:w,code:S}:{kind:n,formula:f.trim(),display:h}:{kind:n,rows:k(c,1,20),cols:k(u,1,10),header:m,striped:_})},disabled:!I},(0,a.__)("插入","jio")))))}const C=window.jioCreatorStudio||{},S=C.nonce||"",x=`jio-studio-${C.sourceId||0}`,M="jio-creator-content";function q(){const e=C.pay||{},t=C.categories&&C.categories.selected||[],a=C.tags&&C.tags.items||[];return{postId:Number(C.sourceId||0),versionId:Number(C.versionId||0),rev:Number(C.versionRev||0),title:String(C.title||""),content:String(C.content||""),schedule:{enabled:!1,at:""},categories:t.map(Number),tags:a.slice(),custom:C.custom||{},featured:C.featured||{type:"",data:{}},pay:{enabled:!!e.enabled,modo:"points"===e.payModo?"points":"cash",price:String(e.price||"0.00"),points:Number(e.points||0),vip1Price:String(e.vip1Price||"0.00"),vip2Price:String(e.vip2Price||"0.00"),payLimit:Number(e.payLimit||0),downloads:Array.isArray(e.downloads)?e.downloads:[]}}}function L(e){return e.replace(/&/g,"&").replace(/"/g,""").replace(//g,">")}function $(e){const t=String(e||"").trim();if(!t)return"";try{const e=new URL(t,window.location.href);return"http:"===e.protocol||"https:"===e.protocol?e.href:""}catch(e){return""}}function I(){const[n,r]=(0,t.useState)(q),l=(0,t.useRef)(n);l.current=n;const i=(0,t.useRef)(null),c=(0,t.useRef)(null),u=(0,t.useRef)(null),m=(0,t.useRef)(!1),p=(0,t.useRef)(()=>{}),[_,b]=(0,t.useState)(!1),[g,y]=(0,t.useState)({canUndo:!1,canRedo:!1}),[k,N]=(0,t.useState)("p"),[I,R]=(0,t.useState)(()=>({state:C.sourceId||C.versionId||C.content?"saved":"ready",at:""})),[D,P]=(0,t.useState)(!1),[U,z]=(0,t.useState)(null),[F,T]=(0,t.useState)(null),A=(0,t.useRef)(null),[O,B]=(0,t.useState)(null),[K,J]=(0,t.useState)(null),H=(0,t.useRef)(!1),V=(0,t.useRef)(0),X=C.capabilities||{},Q={titleMin:Number(C.limits?.titleMin||1),titleMax:Number(C.limits?.titleMax||30),titlePlaceholder:String(C.limits?.titlePlaceholder||(0,a.__)("请输入标题","jio")),priceMin:Number(C.pay?.priceMin||0),priceMax:Number(C.pay?.priceMax||0),pointsMin:Number(C.pay?.pointsMin||0),pointsMax:Number(C.pay?.pointsMax||0)},Y=!!C.isPublished,W=(0,t.useCallback)(e=>{H.current=!0,V.current+=1;const t={...l.current,...e};l.current=t,r(t)},[]),G=(0,t.useCallback)(e=>{if(e===l.current.content)return;H.current=!0,V.current+=1;const t={...l.current,content:e};l.current=t,r(t)},[]),Z=(0,t.useCallback)(e=>{const t=e?.undoManager;t&&y({canUndo:"function"==typeof t.hasUndo&&t.hasUndo(),canRedo:"function"==typeof t.hasRedo&&t.hasRedo()})},[]),ee=(0,t.useCallback)(e=>{const t=e?.selection?.getNode(),a=t?e.dom.getParent(t,"p,h1,h2,h3,blockquote")||t:null,n=a?.nodeName?.toLowerCase()||"p";N(["h1","h2","h3","blockquote"].includes(n)?n:"p")},[]),te=(0,t.useCallback)((e={})=>{const t=l.current;return{post_id:t.postId,version_id:t.versionId,rev:t.rev,title:t.title,content:t.content,categories:t.categories,tags:t.tags,custom:t.custom,featured:t.featured,schedule:{enabled:!!t.schedule.enabled,at:t.schedule.enabled?t.schedule.at:""},pay:j(t.pay),...e}},[]),ae=(0,t.useCallback)(async(e=!1)=>{const t=i.current;t&&!t.removed&&G(t.getContent());const a=l.current;if(!H.current&&(a.postId>0||a.versionId>0))return!0;const n=V.current,c=""!==a.title.trim()||""!==function(e){const t=document.createElement("div");return t.innerHTML=e,(t.textContent||"").replace(/\s+/g,"")}(a.content).trim();if(e&&!c)return!0;R({state:"saving",at:""});try{const t=await o(C.creator.saveUrl,te({autosave:e}),S),a={...l.current,postId:Number(t.post_id||l.current.postId||0),versionId:Number(t.version_id||l.current.versionId||0),rev:Number(t.rev||t.versionRev||l.current.rev||0)};window.jioSubmitData&&(window.jioSubmitData.postId=a.postId);const i=V.current===n;return H.current=!i,l.current=a,r(a),R({state:i?"saved":"saving",at:i?(new Date).toLocaleTimeString():""}),i}catch(e){return R({state:409===e?.status?"conflict":"error",at:""}),!1}},[te]);p.current=()=>{ae(!1)};const ne=(0,t.useCallback)(async e=>{if(await ae(!1)){R({state:"submitting",at:""});try{let t="";const n=window.JioCaptcha;if(C.captcha?.enabled&&n&&"function"==typeof n.run){const e=await n.run("front_submit");if(null===e)return R({state:"ready",at:""}),void B({tone:"error",text:(0,a.__)("请先完成人机验证","jio")});t=String(e?.jio_captcha_proof||"")}const r=await o(C.creator.submitUrl,te({post_id:l.current.postId,version_id:l.current.versionId,rev:l.current.rev,publish_now:e,captcha_proof:t}),S);H.current=!1,R({state:"submitted",at:""}),B({tone:"ok",text:String(r.message||(0,a.__)("已提交","jio"))}),P(!1);const i=r.url||r.goto||C.urls?.center;i&&window.setTimeout(()=>{window.location.href=i},900)}catch(e){R({state:"error",at:""}),B({tone:"error",text:String(e?.message||(0,a.__)("提交失败","jio"))})}}else B({tone:"error",text:(0,a.__)("内容保存失败,请重试后再提交","jio")})},[te,ae]),re=(0,t.useCallback)(async()=>{if(await ae(!1))try{const e=await o(C.creator.previewUrl,{post_id:l.current.postId,version_id:l.current.versionId},S);e.url&&window.open(String(e.url),"_blank","noopener")}catch(e){B({tone:"error",text:String(e?.message||(0,a.__)("预览失败","jio"))})}},[ae]),{markLocalSaved:oe,clear:le}=function({key:e,snapshot:a,onFound:n}){const r=(0,t.useRef)(a);r.current=a;const o=(0,t.useRef)(!1);return(0,t.useEffect)(()=>{if(!o.current){o.current=!0;try{const t=window.localStorage.getItem(e);if(!t)return;const r=JSON.parse(t),o="string"==typeof r.at?Date.parse(r.at):NaN;if(!Number.isFinite(o)||Date.now()-o>6048e5)return void window.localStorage.removeItem(e);"string"==typeof r.content&&r.content!==a.content&&n(String(r.at))}catch(t){window.localStorage.removeItem(e)}}},[e,n,a.content]),{markLocalSaved:(0,t.useCallback)(()=>{try{window.localStorage.setItem(e,JSON.stringify(r.current))}catch(e){}},[e]),clear:(0,t.useCallback)(()=>{try{window.localStorage.removeItem(e)}catch(e){}},[e])}}({key:x,snapshot:{title:n.title,content:n.content,at:(new Date).toISOString()},onFound:e=>J({savedAt:e})}),ie=function({enabled:e,onSave:a,onLocal:n,remoteDelay:r=4e3,localDelay:o=1500}){const l=(0,t.useRef)(null),i=(0,t.useRef)(null),c=(0,t.useRef)(!1),s=(0,t.useRef)(a),u=(0,t.useRef)(n);s.current=a,u.current=n;const d=(0,t.useCallback)(()=>{l.current&&(window.clearTimeout(l.current),l.current=null),i.current&&(window.clearTimeout(i.current),i.current=null)},[]),m=(0,t.useCallback)(async()=>{if(!c.current){c.current=!0;try{await s.current()}finally{c.current=!1}}},[]),p=(0,t.useCallback)(()=>{d(),u.current(),e&&(i.current=window.setTimeout(()=>u.current(),o),l.current=window.setTimeout(()=>{m()},r))},[d,e,m,o,r]);return(0,t.useEffect)(()=>{if(!e)return;const t=()=>{"hidden"===document.visibilityState&&m()},a=()=>{m()};return document.addEventListener("visibilitychange",t),window.addEventListener("blur",a),()=>{document.removeEventListener("visibilitychange",t),window.removeEventListener("blur",a),d()}},[d,e,m]),(0,t.useMemo)(()=>({schedule:p,flush:m,cancel:d}),[d,m,p])}({enabled:!!X.isLoggedIn,onSave:async()=>{const e=await ae(!0);return e&&le(),e},onLocal:oe}).schedule;(0,t.useEffect)(()=>{H.current&&ie()},[n,ie]),(0,t.useEffect)(()=>{const e=e=>{H.current&&(e.preventDefault(),e.returnValue="")};return window.addEventListener("beforeunload",e),()=>window.removeEventListener("beforeunload",e)},[]),(0,t.useEffect)(()=>{const e=e=>{(e.metaKey||e.ctrlKey)&&"s"===e.key.toLowerCase()&&(e.preventDefault(),ae(!1))};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[ae]),(0,t.useEffect)(()=>{const e=window.wp?.editor;if(!e||"function"!=typeof e.initialize)return void B({tone:"error",text:(0,a.__)("TinyMCE 加载失败,请刷新页面后重试。","jio")});const t={quicktags:!1,tinymce:{menubar:!1,statusbar:!1,resize:!1,toolbar1:"",toolbar2:"",toolbar3:"",plugins:"paste,link,lists,wordpress,wplink",wpautop:!0,body_class:"jio-creator__tinymce",content_css:C.creator?.contentCss||"",content_style:'\nbody {\n\tmargin: 0;\n\tcolor: #2b2b2b;\n\tfont-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;\n\tfont-size: 16px;\n\tline-height: 1.8;\n\tletter-spacing: 0.01em;\n}\np { margin: 0 0 1.1em; }\nh1, h2, h3, h4, h5, h6 { margin: 1.5em 0 0.65em; line-height: 1.4; }\nimg, iframe { max-width: 100%; }\nimg { height: auto; }\n\n/* 代码块:右上角显示当前语言,点击即可更换(交互在父组件里接管)。 */\n.enlighter-pre {\n\tposition: relative;\n\tmargin: 0 0 1.1em;\n\tpadding: 40px 14px 14px;\n\toverflow: auto;\n\tborder-radius: 8px;\n\tbackground: #f2f4f5;\n\tcursor: pointer;\n}\n.enlighter-pre code.gl {\n\tdisplay: block;\n\tborder: 0;\n\tbackground: transparent;\n\tcolor: #2b2b2b;\n\tfont-family: Consolas, Monaco, monospace;\n\tfont-size: 13px;\n\tline-height: 1.5;\n\twhite-space: pre-wrap;\n}\n.enlighter-pre::before {\n\tposition: absolute;\n\ttop: 9px;\n\tright: 9px;\n\tpadding: 3px 10px;\n\tborder-radius: 4px;\n\tbackground: linear-gradient(135deg, #3dcabd 10%, #254bdd 100%);\n\tcolor: #fff;\n\tcontent: attr(data-enlighter-language);\n\tfont-size: 12px;\n\tline-height: 1.5;\n\tpointer-events: none;\n}\n\n/* 引用:与前台主题的 .quote_q 视觉一致。 */\n.quote_q {\n\tposition: relative;\n\tmargin: 10px 0 20px;\n\tpadding: 1.2em;\n\tborder-radius: 6px;\n\tcolor: var(--quote-color, #555);\n\tbackground: rgba(85, 85, 85, 0.04);\n}\n.quote_q.qe_wzk_c-red { --quote-color: #dc3f3f; background: rgba(220, 63, 63, 0.05); }\n.quote_q.qe_wzk_lan { --quote-color: #0092ff; background: rgba(0, 146, 255, 0.05); }\n.quote_q.qe_wzk_lv { --quote-color: #23790e; background: rgba(35, 121, 14, 0.05); }\n.quote_q::after {\n\tposition: absolute;\n\ttop: 18px;\n\tleft: 18px;\n\tcolor: var(--quote-color, #555);\n\tcontent: \'\\201C\';\n\tfont-size: 1.4em;\n\tline-height: 1;\n\topacity: 0.6;\n}\n.quote_q > div { padding-left: 2em; opacity: 0.85; }\n.quote_q > div > p:last-child { margin-bottom: 0; }\n\n/* 表格。 */\n.jio-content-table {\n\twidth: 100%;\n\tmargin: 0 0 1.1em;\n\tborder-collapse: collapse;\n\tfont-size: 14px;\n}\n.jio-content-table th,\n.jio-content-table td {\n\tpadding: 10px 12px;\n\tborder: 1px solid #e6e9e8;\n\tline-height: 1.6;\n}\n.jio-content-table thead th {\n\tbackground: #f6f8f7;\n\tfont-weight: 600;\n\ttext-align: left;\n}\n.jio-content-table.is-striped tbody tr:nth-child(odd) td { background: #f7f9f8; }\n\n/* 公式与目录占位。 */\n.jio-math { font-family: "Cambria Math", "Latin Modern Math", "Times New Roman", serif; }\n.jio-math--block { display: block; margin: 12px 0; text-align: center; }\n.jio-toc-placeholder {\n\theight: 40px;\n\tmargin: 0 0 1.1em;\n\tborder: 1px dashed #d3ded8;\n\tborder-radius: 8px;\n\tbackground: #f7faf9;\n\tcolor: #8c9a94;\n\tfont-size: 12px;\n\tline-height: 40px;\n\ttext-align: center;\n}\n.jio-toc-placeholder::after { content: \'目录将在发布后自动生成\'; }\n\n/* 附件链接。 */\n.jio-file-link {\n\tdisplay: inline-flex;\n\talign-items: center;\n\tgap: 6px;\n\tpadding: 6px 12px;\n\tborder: 1px solid #e6e9e8;\n\tborder-radius: 6px;\n\tbackground: #f7f8f8;\n\ttext-decoration: none;\n}\n',height:650,placeholder:String(C.limits?.contentPlaceholder||""),setup:e=>{i.current=e,e.on("init",()=>{m.current=!0,b(!0),null!==u.current&&(e.setContent(u.current),u.current=null),Z(e),ee(e)}),e.on("NodeChange",()=>ee(e)),e.on("click",t=>{const a=e.dom.getParent(t.target,"pre.enlighter-pre");if(!a)return;const n=a.getBoundingClientRect(),r=Number(t.clientY)-n.top,o=Number(t.clientX)-n.left;if(r>40||o${e}
`:"";return`${a}
`:a}(e)):"footnote"===e.kind?pe(function(e){const t=e.trim()||(0,a.__)("注释内容","jio");return`[^1]
[^1]: ${E(t)}
+ {__('支持上标 ^ 与下标 _,例如 x^2 与 a_n;暂不支持完整 LaTeX。', 'jio')} +
+ + > + )} + + {kind === 'code' && ( + <> + + + > + )} + + {kind === 'footnote' && ( + + )} +' +
- escapeHtml(__('在此输入代码', 'jio')) +
+ `` +
+ body +
'
'
);
}
-/**
- * 表格:3×3 带表头,方便作者直接在单元格里改写。
- */
-export function tableMarkup(): string {
- const cell = (tag: string, text: string): string => `<${tag}>${escapeHtml(text)}${tag}>`;
- const header = `${[1, 2, 3].map((i) => cell('th', `${__('列', 'jio')} ${i}`)).join('')} `;
- const rows = [1, 2]
- .map(() => `${[1, 2, 3].map(() => cell('td', '')).join('')} `)
- .join('');
- return `${header}${rows}
`;
+export type TableOptions = {
+ rows: number;
+ cols: number;
+ header: boolean;
+ striped: boolean;
+};
+
+/** 带尺寸参数的表格;首行可选表头,隔行变色写入 class。 */
+export function tableMarkup({ rows, cols, header, striped }: TableOptions): string {
+ const totalRows = Math.max(1, Math.min(20, rows));
+ const totalCols = Math.max(1, Math.min(10, cols));
+ const cellsFor = (tag: 'th' | 'td'): string =>
+ Array.from({ length: totalCols }, (_, column) =>
+ `<${tag}>${tag === 'th' ? escapeHtml(`${__('列', 'jio')} ${column + 1}`) : ''}${tag}>`
+ ).join('');
+
+ let body = '';
+ if (header) {
+ body += `${cellsFor('th')} `;
+ }
+ const bodyRows = Math.max(1, header ? totalRows - 1 : totalRows);
+ body += `${Array.from({ length: bodyRows }, () => `${cellsFor('td')} `).join('')}`;
+
+ const classes = ['jio-content-table'];
+ if (striped) {
+ classes.push('is-striped');
+ }
+ return `${body}
`;
}
/**
@@ -52,15 +96,35 @@ export function tableMarkup(): string {
* 因此这里只放一个占位标记,读者端不会看到裸露的标记文本。
*/
export function tocMarkup(): string {
- return ``;
+ return '';
}
-/** 注释:Markdown 脚注语法,前台由文章渲染流程转成编号脚注。 */
-export function footnoteMarkup(): string {
- return '[^1]
[^1]: ' + escapeHtml(__('注释内容', 'jio')) + '
';
+/** 注释:Markdown 脚注语法,前台渲染成编号脚注列表。 */
+export function footnoteMarkup(note: string): string {
+ const text = note.trim() || __('注释内容', 'jio');
+ return `[^1]
[^1]: ${escapeHtml(text)}
`;
}
-/** 公式:行内 LaTeX,包在主题可识别的公式容器里。 */
-export function mathMarkup(): string {
- return `E = mc^2`;
+export type MathOptions = { formula: string; display: boolean };
+
+/** 公式:行内或独占一行,数据保存在 .jio-math 容器里。 */
+export function mathMarkup({ formula, display }: MathOptions): string {
+ const className = display ? 'jio-math jio-math--block' : 'jio-math';
+ const body = `${escapeHtml(formula.trim())}`;
+ return display ? `${body}
` : body;
+}
+
+export type QuoteColor = '' | 'qe_wzk_c-red' | 'qe_wzk_lan' | 'qe_wzk_lv';
+
+/**
+ * 引用:沿用主题的 .quote_q 结构(.quote-mce 提供左侧引号标记),
+ * 颜色通过主题已有的 qe_wzk_* 类切换。
+ */
+export function quoteMarkup(content: string, color: QuoteColor): string {
+ const classes = ['quote_q', 'quote-mce'];
+ if (color) {
+ classes.push(color);
+ }
+ const inner = content.trim() !== '' ? `${content}
` : '';
+ return `${inner}`;
}
diff --git a/assets/css/build/single.css b/assets/css/build/single.css
index a358501e..9fb169c0 100644
--- a/assets/css/build/single.css
+++ b/assets/css/build/single.css
@@ -752,6 +752,56 @@ article.article.box-body,
margin: 20px 0;
}
+/* ---------- 正文表格:编辑器插入的 jio-content-table ---------- */
+
+.wp-posts-content .jio-content-table {
+ width: 100%;
+ margin: 0 0 20px;
+ border-collapse: separate;
+ border-spacing: 0;
+ overflow: hidden;
+ border: 1px solid var(--main-border-color, rgba(50, 50, 50, 0.08));
+ border-radius: var(--main-radius, 8px);
+ font-size: 14px;
+}
+
+.wp-posts-content .jio-content-table th,
+.wp-posts-content .jio-content-table td {
+ padding: 10px 14px;
+ border: 0;
+ border-bottom: 1px solid var(--main-border-color, rgba(50, 50, 50, 0.08));
+ line-height: 1.7;
+ text-align: left;
+ vertical-align: top;
+}
+
+.wp-posts-content .jio-content-table thead th {
+ background: var(--muted-bg-2-color, #f6f7f8);
+ color: var(--key-color, #333);
+ font-weight: 600;
+}
+
+.wp-posts-content .jio-content-table tbody tr:last-child td {
+ border-bottom: 0;
+}
+
+.wp-posts-content .jio-content-table tbody tr:hover td {
+ background: var(--main-shadow, rgba(116, 116, 116, 0.06));
+}
+
+.wp-posts-content .jio-content-table.is-striped tbody tr:nth-child(odd) td {
+ background: var(--muted-bg-2-color, #f6f7f8);
+}
+
+/* 窄屏下表格横向滚动,避免撑破正文。 */
+@media (max-width: 767px) {
+ .wp-posts-content .jio-content-table {
+ display: block;
+ overflow-x: auto;
+ white-space: nowrap;
+ }
+}
+
/* source: assets/css/frontend/single-post/author-actions.css */
/* ===== Content Footer ===== */
.article-footer {
diff --git a/assets/css/build/single.min.css b/assets/css/build/single.min.css
index dae77234..6654062e 100644
--- a/assets/css/build/single.min.css
+++ b/assets/css/build/single.min.css
@@ -1 +1 @@
-.relative{position:relative}.flex{display:flex}.flex.ac,.ac{align-items:center}.flex.jc,.jc{justify-content:center}.flex.jsb,.jsb{justify-content:space-between}.flex.at,.at{align-items:flex-start}.flex.ae,.ae{align-items:flex-end}.flex0{flex:0 0 auto}.flex1{flex:1 1 auto;min-width:0}.flex.column{flex-direction:column}.flex.wrap{flex-wrap:wrap}.flex.flex-row,.flex-row{flex-direction:row}.flex.jse,.jse{justify-content:space-evenly}.flex.jsa,.jsa{justify-content:space-around}.flex>.flex1,.flex .flex1{flex:1;overflow:hidden;min-width:0}.relative-h{position:relative;height:100%}.padding-10{padding:10px}.font-bold{font-weight:700}.mt6{margin-top:6px}.gutters-5{margin:-5px}.gutters-5>*{padding:5px}@media(max-width:767px){.flex.flex-row.flex-col-sm-2{flex-wrap:wrap}.flex.flex-row.flex-col-sm-2>*{flex-basis:50%}}.clearfix:before,.clearfix:after{content:"";display:table}.clearfix:after{clear:both}.abs-right{position:absolute;right:0;top:0}.abs-center{position:absolute;left:0;width:100%;top:50%;right:.7em;transform:translateY(-50%);z-index:1}.abs-center.left-top,.abs-center.right-top{transform:unset;top:0}.abs-center.right-top{left:auto;width:auto;text-align:right}.abs-center.left-top{text-align:left}.abs-center.conter-bottom,.abs-center.conter-conter{text-align:center}.abs-center.right-top,.abs-center.right-bottom,.abs-center.right-conter{text-align:right}.abs-center.conter-bottom,.abs-center.right-bottom,.abs-center.left-bottom{top:auto;transform:unset;bottom:0}.abs-center.left-bottom{left:0;right:auto;text-align:left}.abs-center.right-bottom,.abs-center.right-conter{left:auto;right:0;text-align:right}.graphic,.page-cover{text-shadow:0 0 5px rgba(0,0,0,.2);--main-color: #fff;color:#fff;position:relative;overflow:hidden;box-shadow:0 0 10px var(--main-shadow, rgba(116, 116, 116, .08));padding:0 0 70%;border-radius:var(--main-radius, var(--radius, 8px))}.graphic>.fit-cover,.graphic>img.fit-cover{position:absolute;width:100%;height:100%;object-fit:cover;inset:0}.fit-cover{object-fit:cover;max-width:100%}.title-h-left{position:relative;padding-bottom:8px}.title-h-left:before{transition:.4s;transform-origin:left;position:absolute;content:"";width:40px;height:3px;background:var(--theme-color, var(--focus-color, #f04494));left:0;bottom:3px;border-radius:5px;box-shadow:1px 1px 3px -1px var(--theme-color, var(--focus-color, #f04494))}.line-form-line,.line-form-line:before{position:absolute;bottom:0;left:0;height:1px;width:100%;transition:.8s;background:var(--main-border-color, rgba(50, 50, 50, .06))}.line-form-line:before{content:"";width:0;background:var(--focus-color, #f04494)}.avatar-img{position:relative;display:inline-block;flex-shrink:0;--this-size: 38px;width:var(--this-size);height:var(--this-size)}.avatar-img .avatar,.avatar-img img{width:100%;height:100%;border-radius:50%;object-fit:cover}.avatar-lg{--this-size: 80px}.avatar-md{--this-size: 55px}.avatar-mini{--this-size: 20px}.shrink0{flex-shrink:0}.opacity8{opacity:.8}.muted-color{color:var(--muted-color, var(--color-ink-3))}.muted-2-color{color:var(--muted-2-color, var(--color-ink-4))}.muted-3-color{color:var(--muted-3-color, #b1b1b1)}.muted-4-color{color:var(--muted-4-color, #d2d2d2)}.text-center{text-align:center}.em09{font-size:.9em}.em12{font-size:1.2em}.ml3{margin-left:3px}.ml6{margin-left:6px}.ml10{margin-left:10px}.mr3{margin-right:3px}.mr6{margin-right:6px}.mt10{margin-top:10px}.mt20{margin-top:20px}.mb10{margin-bottom:10px}.mb20{margin-bottom:20px}.text-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.text-ellipsis-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.main-bg{background-color:var(--main-bg-color, var(--surface-1))}.separator{position:relative;letter-spacing:.08em}.icon-circle+.icon-circle:before{content:"·";display:inline-block;margin:0 .45em;opacity:.55}.article-avatar name,.article-avatar .name,.user-name{display:inline-flex;align-items:center;gap:4px;min-width:0;max-width:100%}.pull-right{float:right}.pull-left{float:left}body.single main.container .content-layout{display:block;min-width:0}body.single main.container .content-layout>*{min-width:0;max-width:100%}body.single main.container .content-layout>.breadcrumb,body.single main.container .content-layout>ul.breadcrumb,body.single main.container .content-layout>.breadcrumb-nav,body.single main.container .content-layout>.breadcrumbs-wrap{position:relative;z-index:1;margin-top:0;margin-bottom:12px;padding-top:2px}body.single .sidebar .jio-panel,body.single .sidebar .widget{margin-bottom:15px}body.single main.container{box-sizing:border-box}.article,article.article.box-body,.article.main-bg.box-body{padding:0 30px;overflow:hidden}@media(max-width:767px){.article,article.article.box-body,.article.main-bg.box-body{padding:0 15px}.article-header .article-title{font-size:18px}}.entry-header,.article-header{margin-bottom:10px;padding-bottom:0;border-bottom:none;background:transparent;box-shadow:none;border-radius:0}.entry-title,.article-title{font-size:22px;font-weight:700;margin:0;line-height:1.4;letter-spacing:0;color:var(--key-color, var(--color-ink))}.article-title>a:hover{color:inherit}.article-header .article-title{font-size:22px;font-weight:700;color:var(--key-color, var(--color-ink));margin-top:15px}.article-header .article-avatar{margin-top:15px}.entry-meta{display:flex;flex-wrap:wrap;gap:10px 16px;font-size:.875rem;color:var(--color-ink-4)}.entry-meta a{color:var(--color-ink-3)}.entry-meta a:hover{color:var(--color-primary)}.entry-thumb{margin:0 0 28px;border-radius:var(--radius-btn);overflow:hidden}.entry-content,.wp-posts-content{font-size:16px;line-height:2;color:var(--main-color, var(--color-ink));overflow-wrap:break-word;word-wrap:break-word;min-height:90px}.wp-posts-content>h1:not([class]),.wp-posts-content>h2:not([class]),.wp-posts-content>h3:not([class]),.wp-posts-content>h4:not([class]),.wp-posts-content>h1.wp-block-heading,.wp-posts-content>h2.wp-block-heading,.wp-posts-content>h3.wp-block-heading,.wp-posts-content>h4.wp-block-heading{position:relative;padding-bottom:8px}.wp-posts-content>h1:not([class]):before,.wp-posts-content>h2:not([class]):before,.wp-posts-content>h3:not([class]):before,.wp-posts-content>h4:not([class]):before,.wp-posts-content>h1.wp-block-heading:before,.wp-posts-content>h2.wp-block-heading:before,.wp-posts-content>h3.wp-block-heading:before,.wp-posts-content>h4.wp-block-heading:before{content:"";position:absolute;left:0;bottom:0;width:40px;height:3px;background:var(--theme-color, var(--focus-color, #f04494));border-radius:5px}.wp-posts-content>h3:not([class]):before,.wp-posts-content>h4:not([class]):before,.wp-posts-content>h3.wp-block-heading:before,.wp-posts-content>h4.wp-block-heading:before{width:28px;height:2px}:is(.entry-content,.wp-posts-content)>*:first-child{margin-top:0}:is(.entry-content,.wp-posts-content) p{margin:0 0 1.5em}.wp-posts-content.p-indent p{text-indent:2em}:is(.entry-content,.wp-posts-content) h2{font-size:20px;font-weight:700;margin:28px 0 14px}:is(.entry-content,.wp-posts-content) h3{font-size:18px;font-weight:700;margin:24px 0 12px}:is(.entry-content,.wp-posts-content) h4{font-size:16px;font-weight:700;margin:22px 0 10px}:is(.entry-content,.wp-posts-content) blockquote{margin:0 0 24px;padding:18px 20px;border-left:4px solid var(--color-primary);background:var(--surface-4, rgba(0, 0, 0, .03));border-radius:0 var(--radius-lg) var(--radius-lg) 0;color:var(--color-ink-3)}:is(.entry-content,.wp-posts-content) img{margin:0 auto;display:block;max-width:100%;height:auto;border-radius:min(8px,var(--main-radius, 8px))}:is(.entry-content,.wp-posts-content) figure{max-width:100%;margin:1.5em auto}:is(.entry-content,.wp-posts-content) figcaption{margin-top:8px;color:var(--muted-color, #777);font-size:13px;line-height:1.6;text-align:center}:is(.entry-content,.wp-posts-content) iframe,:is(.entry-content,.wp-posts-content) .wp-block-embed iframe,:is(.entry-content,.wp-posts-content) video{max-width:100%;height:auto}:is(.entry-content,.wp-posts-content) .wp-block-embed{position:relative;width:100%;max-width:100%;overflow:hidden;margin:1.5em 0}:is(.entry-content,.wp-posts-content) code:not(pre code){font-family:var(--font-mono);font-size:.9em;color:#ff3c98;background:#fd999933;padding:2px 6px;border-radius:4px}:is(.entry-content,.wp-posts-content) ul,:is(.entry-content,.wp-posts-content) ol{padding-left:1.5em;margin:0 0 1.5em}:is(.entry-content,.wp-posts-content) ul li::marker{color:var(--color-primary)}.entry-footer{margin-top:40px;padding-top:24px;border-top:1px solid var(--color-line)}.post-tags{display:flex;flex-wrap:wrap;gap:8px}.post-tags a{padding:4px 10px;border-radius:50px;background:var(--muted-bg-color, #eee);border:1px solid var(--main-border-color, rgba(50, 50, 50, .06));font-size:13px;color:var(--muted-color, #777)}.post-tags a:hover{border-color:var(--color-primary);color:var(--color-primary)}.related-posts{margin-top:48px;padding:20px 0 0;border-top:1px solid var(--color-line-soft)}.related-posts__title{font-size:15px;font-weight:700;margin:0 0 10px;color:var(--key-color, #333)}.related-posts__title:before{content:"";display:inline-block;width:40px;height:3px;background:var(--theme-color, #f04494);border-radius:5px;vertical-align:middle;margin-right:8px}.related-posts__grid{display:flex;flex-direction:column;gap:0}.related-card{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--main-border-color, rgba(50, 50, 50, .06));transition:.15s}.related-card:last-child{border-bottom:none}.related-card a{display:flex;align-items:center;gap:12px;color:var(--key-color, #333);text-decoration:none;width:100%}.related-card:hover a{color:var(--focus-color, #f04494)}.related-card__thumb{width:96px;min-width:96px;height:64px;border-radius:var(--main-radius, 8px);overflow:hidden;flex-shrink:0}.related-card__thumb img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.related-card:hover .related-card__thumb img{transform:scale(1.05)}.related-card h4{font-size:14px;font-weight:600;margin:0;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.jio-math{display:inline-block;padding:0 2px;font-family:"Cambria Math","Latin Modern Math",Times New Roman,serif;font-size:1.02em;white-space:pre-wrap}.jio-math--block{display:block;margin:12px 0 18px;text-align:center}.jio-footnotes{margin-top:32px;padding-top:18px;border-top:1px solid var(--main-border-color, rgba(50, 50, 50, .06));font-size:13px}.jio-footnotes__title{margin:0 0 10px;color:var(--muted-color, #777);font-size:13px;font-weight:600}.jio-footnotes__list{margin:0;padding-left:20px;color:var(--muted-color, #777);line-height:1.8}.jio-footnotes__list li{margin-bottom:6px}.jio-footnote-ref a,.jio-footnote-back{color:var(--theme-color, #267665);text-decoration:none}.jio-footnote-ref a:hover,.jio-footnote-back:hover{text-decoration:underline}.wp-posts-content .jio-file-link{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--main-border-color, rgba(50, 50, 50, .08));border-radius:var(--mini-radius, 6px);background:var(--muted-bg-2-color, #f6f7f8);text-decoration:none}.wp-posts-content .jio-file-link i{color:var(--theme-color, #267665)}.wp-posts-content .posts-nav-box{margin:20px 0}.article-footer{margin-top:32px;padding-top:20px;border-top:1px solid var(--color-line)}.article-copyright{font-size:13px;color:var(--color-ink-4, var(--color-ink-4));margin-bottom:16px}.article-end-separator{text-align:center;margin:16px 0;position:relative}.article-end-separator:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:var(--color-line)}.article-end-separator span{position:relative;display:inline-block;padding:0 14px;background:var(--surface-page);font-size:11px;font-weight:600;color:var(--color-ink-4, var(--color-ink-4));letter-spacing:2px}.article-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.post-actions-wrap{position:relative;text-align:center;margin-bottom:16px}.post-actions-wrap>.post-actions{margin-bottom:0}.theme-dark .post-drop-meta__menu,html.dark .post-drop-meta__menu{background:var(--surface-1, #323335);border-color:var(--color-line);box-shadow:0 8px 24px #00000059}.theme-dark .post-drop-meta__item,html.dark .post-drop-meta__item{color:var(--color-ink-2, #ccc)}.theme-dark .post-drop-meta__item:hover,html.dark .post-drop-meta__item:hover{background:#ffffff0f;color:#fff}.single-metabox{display:flex;align-items:center;justify-content:flex-end;gap:8px}.post-drop-meta{position:relative}.post-drop-meta__menu{position:absolute;top:calc(100% + 8px);right:0;min-width:150px;padding:8px;border-radius:var(--radius, 8px);border:1px solid var(--color-line);background:var(--surface-page, #fff);box-shadow:var(--shadow-md, 0 8px 24px rgba(0, 0, 0, .12));display:none;z-index:20}.post-drop-meta.is-open .post-drop-meta__menu{display:grid;gap:4px}.article-header:has(.post-drop-meta.is-open){z-index:30}.post-drop-meta__item{width:100%;display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border:0;border-radius:6px;background:transparent;color:var(--color-ink-2, var(--color-ink));text-decoration:none;font-size:13px;text-align:left;cursor:pointer}.post-drop-meta__item:hover{background:var(--color-line, rgba(50, 50, 50, .06));color:var(--color-primary)}.post-drop-meta__item i{width:16px;text-align:center}.article-avatar .user-info{width:100%}.article-avatar .avatar-img{--this-size: 42px}.article-avatar .avatar-img img,.article-avatar .avatar{width:100%;height:100%;border-radius:50%;object-fit:cover}.article-avatar .display-name{font-weight:600;color:var(--key-color, #333)}.article-header .article-avatar .single-meta-row{margin-top:20px;position:relative;min-height:28px;display:flex;align-items:center;justify-content:flex-end}.article-header .article-avatar .single-meta-row>.line-form-line{bottom:50%}.article-header .article-avatar .single-meta-row>.single-metabox{position:relative;inset:auto;transform:none;z-index:1}.single-metabox{right:0;font-size:15px;--meta-color: var(--muted-color, #777)}.single-metabox .post-metas{background:var(--body-bg-color, #f5f5f5);right:0;padding:2px 6px;border-radius:100px;color:var(--meta-color);display:inline-flex;flex-wrap:wrap;align-items:center;gap:0}.single-metabox .post-metas item,.single-metabox .post-metas .item{margin:0 6px;font-size:13px;display:inline-flex;align-items:center;gap:4px}.single-metabox .post-drop-meta{position:relative;display:inline-block;--this-size: 1.73em;--this-color: var(--meta-color);--this-bg: var(--body-bg-color, #f5f5f5)}.article-avatar .line-form-line{display:block}.article-tags br{flex-basis:100%;width:100%;content:"";display:block;height:0}.article-tags .but.c-blue{color:#2196f3}.article-tags .but.c-yellow{color:#f0ad4e}.article-tags .but.c-green{color:#5cb85c}.article-tags .but.c-purple{color:#9c27b0}.article-tags .but.c-red{color:#f44336}
+.relative{position:relative}.flex{display:flex}.flex.ac,.ac{align-items:center}.flex.jc,.jc{justify-content:center}.flex.jsb,.jsb{justify-content:space-between}.flex.at,.at{align-items:flex-start}.flex.ae,.ae{align-items:flex-end}.flex0{flex:0 0 auto}.flex1{flex:1 1 auto;min-width:0}.flex.column{flex-direction:column}.flex.wrap{flex-wrap:wrap}.flex.flex-row,.flex-row{flex-direction:row}.flex.jse,.jse{justify-content:space-evenly}.flex.jsa,.jsa{justify-content:space-around}.flex>.flex1,.flex .flex1{flex:1;overflow:hidden;min-width:0}.relative-h{position:relative;height:100%}.padding-10{padding:10px}.font-bold{font-weight:700}.mt6{margin-top:6px}.gutters-5{margin:-5px}.gutters-5>*{padding:5px}@media(max-width:767px){.flex.flex-row.flex-col-sm-2{flex-wrap:wrap}.flex.flex-row.flex-col-sm-2>*{flex-basis:50%}}.clearfix:before,.clearfix:after{content:"";display:table}.clearfix:after{clear:both}.abs-right{position:absolute;right:0;top:0}.abs-center{position:absolute;left:0;width:100%;top:50%;right:.7em;transform:translateY(-50%);z-index:1}.abs-center.left-top,.abs-center.right-top{transform:unset;top:0}.abs-center.right-top{left:auto;width:auto;text-align:right}.abs-center.left-top{text-align:left}.abs-center.conter-bottom,.abs-center.conter-conter{text-align:center}.abs-center.right-top,.abs-center.right-bottom,.abs-center.right-conter{text-align:right}.abs-center.conter-bottom,.abs-center.right-bottom,.abs-center.left-bottom{top:auto;transform:unset;bottom:0}.abs-center.left-bottom{left:0;right:auto;text-align:left}.abs-center.right-bottom,.abs-center.right-conter{left:auto;right:0;text-align:right}.graphic,.page-cover{text-shadow:0 0 5px rgba(0,0,0,.2);--main-color: #fff;color:#fff;position:relative;overflow:hidden;box-shadow:0 0 10px var(--main-shadow, rgba(116, 116, 116, .08));padding:0 0 70%;border-radius:var(--main-radius, var(--radius, 8px))}.graphic>.fit-cover,.graphic>img.fit-cover{position:absolute;width:100%;height:100%;object-fit:cover;inset:0}.fit-cover{object-fit:cover;max-width:100%}.title-h-left{position:relative;padding-bottom:8px}.title-h-left:before{transition:.4s;transform-origin:left;position:absolute;content:"";width:40px;height:3px;background:var(--theme-color, var(--focus-color, #f04494));left:0;bottom:3px;border-radius:5px;box-shadow:1px 1px 3px -1px var(--theme-color, var(--focus-color, #f04494))}.line-form-line,.line-form-line:before{position:absolute;bottom:0;left:0;height:1px;width:100%;transition:.8s;background:var(--main-border-color, rgba(50, 50, 50, .06))}.line-form-line:before{content:"";width:0;background:var(--focus-color, #f04494)}.avatar-img{position:relative;display:inline-block;flex-shrink:0;--this-size: 38px;width:var(--this-size);height:var(--this-size)}.avatar-img .avatar,.avatar-img img{width:100%;height:100%;border-radius:50%;object-fit:cover}.avatar-lg{--this-size: 80px}.avatar-md{--this-size: 55px}.avatar-mini{--this-size: 20px}.shrink0{flex-shrink:0}.opacity8{opacity:.8}.muted-color{color:var(--muted-color, var(--color-ink-3))}.muted-2-color{color:var(--muted-2-color, var(--color-ink-4))}.muted-3-color{color:var(--muted-3-color, #b1b1b1)}.muted-4-color{color:var(--muted-4-color, #d2d2d2)}.text-center{text-align:center}.em09{font-size:.9em}.em12{font-size:1.2em}.ml3{margin-left:3px}.ml6{margin-left:6px}.ml10{margin-left:10px}.mr3{margin-right:3px}.mr6{margin-right:6px}.mt10{margin-top:10px}.mt20{margin-top:20px}.mb10{margin-bottom:10px}.mb20{margin-bottom:20px}.text-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.text-ellipsis-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.main-bg{background-color:var(--main-bg-color, var(--surface-1))}.separator{position:relative;letter-spacing:.08em}.icon-circle+.icon-circle:before{content:"·";display:inline-block;margin:0 .45em;opacity:.55}.article-avatar name,.article-avatar .name,.user-name{display:inline-flex;align-items:center;gap:4px;min-width:0;max-width:100%}.pull-right{float:right}.pull-left{float:left}body.single main.container .content-layout{display:block;min-width:0}body.single main.container .content-layout>*{min-width:0;max-width:100%}body.single main.container .content-layout>.breadcrumb,body.single main.container .content-layout>ul.breadcrumb,body.single main.container .content-layout>.breadcrumb-nav,body.single main.container .content-layout>.breadcrumbs-wrap{position:relative;z-index:1;margin-top:0;margin-bottom:12px;padding-top:2px}body.single .sidebar .jio-panel,body.single .sidebar .widget{margin-bottom:15px}body.single main.container{box-sizing:border-box}.article,article.article.box-body,.article.main-bg.box-body{padding:0 30px;overflow:hidden}@media(max-width:767px){.article,article.article.box-body,.article.main-bg.box-body{padding:0 15px}.article-header .article-title{font-size:18px}}.entry-header,.article-header{margin-bottom:10px;padding-bottom:0;border-bottom:none;background:transparent;box-shadow:none;border-radius:0}.entry-title,.article-title{font-size:22px;font-weight:700;margin:0;line-height:1.4;letter-spacing:0;color:var(--key-color, var(--color-ink))}.article-title>a:hover{color:inherit}.article-header .article-title{font-size:22px;font-weight:700;color:var(--key-color, var(--color-ink));margin-top:15px}.article-header .article-avatar{margin-top:15px}.entry-meta{display:flex;flex-wrap:wrap;gap:10px 16px;font-size:.875rem;color:var(--color-ink-4)}.entry-meta a{color:var(--color-ink-3)}.entry-meta a:hover{color:var(--color-primary)}.entry-thumb{margin:0 0 28px;border-radius:var(--radius-btn);overflow:hidden}.entry-content,.wp-posts-content{font-size:16px;line-height:2;color:var(--main-color, var(--color-ink));overflow-wrap:break-word;word-wrap:break-word;min-height:90px}.wp-posts-content>h1:not([class]),.wp-posts-content>h2:not([class]),.wp-posts-content>h3:not([class]),.wp-posts-content>h4:not([class]),.wp-posts-content>h1.wp-block-heading,.wp-posts-content>h2.wp-block-heading,.wp-posts-content>h3.wp-block-heading,.wp-posts-content>h4.wp-block-heading{position:relative;padding-bottom:8px}.wp-posts-content>h1:not([class]):before,.wp-posts-content>h2:not([class]):before,.wp-posts-content>h3:not([class]):before,.wp-posts-content>h4:not([class]):before,.wp-posts-content>h1.wp-block-heading:before,.wp-posts-content>h2.wp-block-heading:before,.wp-posts-content>h3.wp-block-heading:before,.wp-posts-content>h4.wp-block-heading:before{content:"";position:absolute;left:0;bottom:0;width:40px;height:3px;background:var(--theme-color, var(--focus-color, #f04494));border-radius:5px}.wp-posts-content>h3:not([class]):before,.wp-posts-content>h4:not([class]):before,.wp-posts-content>h3.wp-block-heading:before,.wp-posts-content>h4.wp-block-heading:before{width:28px;height:2px}:is(.entry-content,.wp-posts-content)>*:first-child{margin-top:0}:is(.entry-content,.wp-posts-content) p{margin:0 0 1.5em}.wp-posts-content.p-indent p{text-indent:2em}:is(.entry-content,.wp-posts-content) h2{font-size:20px;font-weight:700;margin:28px 0 14px}:is(.entry-content,.wp-posts-content) h3{font-size:18px;font-weight:700;margin:24px 0 12px}:is(.entry-content,.wp-posts-content) h4{font-size:16px;font-weight:700;margin:22px 0 10px}:is(.entry-content,.wp-posts-content) blockquote{margin:0 0 24px;padding:18px 20px;border-left:4px solid var(--color-primary);background:var(--surface-4, rgba(0, 0, 0, .03));border-radius:0 var(--radius-lg) var(--radius-lg) 0;color:var(--color-ink-3)}:is(.entry-content,.wp-posts-content) img{margin:0 auto;display:block;max-width:100%;height:auto;border-radius:min(8px,var(--main-radius, 8px))}:is(.entry-content,.wp-posts-content) figure{max-width:100%;margin:1.5em auto}:is(.entry-content,.wp-posts-content) figcaption{margin-top:8px;color:var(--muted-color, #777);font-size:13px;line-height:1.6;text-align:center}:is(.entry-content,.wp-posts-content) iframe,:is(.entry-content,.wp-posts-content) .wp-block-embed iframe,:is(.entry-content,.wp-posts-content) video{max-width:100%;height:auto}:is(.entry-content,.wp-posts-content) .wp-block-embed{position:relative;width:100%;max-width:100%;overflow:hidden;margin:1.5em 0}:is(.entry-content,.wp-posts-content) code:not(pre code){font-family:var(--font-mono);font-size:.9em;color:#ff3c98;background:#fd999933;padding:2px 6px;border-radius:4px}:is(.entry-content,.wp-posts-content) ul,:is(.entry-content,.wp-posts-content) ol{padding-left:1.5em;margin:0 0 1.5em}:is(.entry-content,.wp-posts-content) ul li::marker{color:var(--color-primary)}.entry-footer{margin-top:40px;padding-top:24px;border-top:1px solid var(--color-line)}.post-tags{display:flex;flex-wrap:wrap;gap:8px}.post-tags a{padding:4px 10px;border-radius:50px;background:var(--muted-bg-color, #eee);border:1px solid var(--main-border-color, rgba(50, 50, 50, .06));font-size:13px;color:var(--muted-color, #777)}.post-tags a:hover{border-color:var(--color-primary);color:var(--color-primary)}.related-posts{margin-top:48px;padding:20px 0 0;border-top:1px solid var(--color-line-soft)}.related-posts__title{font-size:15px;font-weight:700;margin:0 0 10px;color:var(--key-color, #333)}.related-posts__title:before{content:"";display:inline-block;width:40px;height:3px;background:var(--theme-color, #f04494);border-radius:5px;vertical-align:middle;margin-right:8px}.related-posts__grid{display:flex;flex-direction:column;gap:0}.related-card{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--main-border-color, rgba(50, 50, 50, .06));transition:.15s}.related-card:last-child{border-bottom:none}.related-card a{display:flex;align-items:center;gap:12px;color:var(--key-color, #333);text-decoration:none;width:100%}.related-card:hover a{color:var(--focus-color, #f04494)}.related-card__thumb{width:96px;min-width:96px;height:64px;border-radius:var(--main-radius, 8px);overflow:hidden;flex-shrink:0}.related-card__thumb img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.related-card:hover .related-card__thumb img{transform:scale(1.05)}.related-card h4{font-size:14px;font-weight:600;margin:0;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.jio-math{display:inline-block;padding:0 2px;font-family:"Cambria Math","Latin Modern Math",Times New Roman,serif;font-size:1.02em;white-space:pre-wrap}.jio-math--block{display:block;margin:12px 0 18px;text-align:center}.jio-footnotes{margin-top:32px;padding-top:18px;border-top:1px solid var(--main-border-color, rgba(50, 50, 50, .06));font-size:13px}.jio-footnotes__title{margin:0 0 10px;color:var(--muted-color, #777);font-size:13px;font-weight:600}.jio-footnotes__list{margin:0;padding-left:20px;color:var(--muted-color, #777);line-height:1.8}.jio-footnotes__list li{margin-bottom:6px}.jio-footnote-ref a,.jio-footnote-back{color:var(--theme-color, #267665);text-decoration:none}.jio-footnote-ref a:hover,.jio-footnote-back:hover{text-decoration:underline}.wp-posts-content .jio-file-link{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--main-border-color, rgba(50, 50, 50, .08));border-radius:var(--mini-radius, 6px);background:var(--muted-bg-2-color, #f6f7f8);text-decoration:none}.wp-posts-content .jio-file-link i{color:var(--theme-color, #267665)}.wp-posts-content .posts-nav-box{margin:20px 0}.wp-posts-content .jio-content-table{width:100%;margin:0 0 20px;border-collapse:separate;border-spacing:0;overflow:hidden;border:1px solid var(--main-border-color, rgba(50, 50, 50, .08));border-radius:var(--main-radius, 8px);font-size:14px}.wp-posts-content .jio-content-table th,.wp-posts-content .jio-content-table td{padding:10px 14px;border:0;border-bottom:1px solid var(--main-border-color, rgba(50, 50, 50, .08));line-height:1.7;text-align:left;vertical-align:top}.wp-posts-content .jio-content-table thead th{background:var(--muted-bg-2-color, #f6f7f8);color:var(--key-color, #333);font-weight:600}.wp-posts-content .jio-content-table tbody tr:last-child td{border-bottom:0}.wp-posts-content .jio-content-table tbody tr:hover td{background:var(--main-shadow, rgba(116, 116, 116, .06))}.wp-posts-content .jio-content-table.is-striped tbody tr:nth-child(odd) td{background:var(--muted-bg-2-color, #f6f7f8)}@media(max-width:767px){.wp-posts-content .jio-content-table{display:block;overflow-x:auto;white-space:nowrap}}.article-footer{margin-top:32px;padding-top:20px;border-top:1px solid var(--color-line)}.article-copyright{font-size:13px;color:var(--color-ink-4, var(--color-ink-4));margin-bottom:16px}.article-end-separator{text-align:center;margin:16px 0;position:relative}.article-end-separator:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:var(--color-line)}.article-end-separator span{position:relative;display:inline-block;padding:0 14px;background:var(--surface-page);font-size:11px;font-weight:600;color:var(--color-ink-4, var(--color-ink-4));letter-spacing:2px}.article-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.post-actions-wrap{position:relative;text-align:center;margin-bottom:16px}.post-actions-wrap>.post-actions{margin-bottom:0}.theme-dark .post-drop-meta__menu,html.dark .post-drop-meta__menu{background:var(--surface-1, #323335);border-color:var(--color-line);box-shadow:0 8px 24px #00000059}.theme-dark .post-drop-meta__item,html.dark .post-drop-meta__item{color:var(--color-ink-2, #ccc)}.theme-dark .post-drop-meta__item:hover,html.dark .post-drop-meta__item:hover{background:#ffffff0f;color:#fff}.single-metabox{display:flex;align-items:center;justify-content:flex-end;gap:8px}.post-drop-meta{position:relative}.post-drop-meta__menu{position:absolute;top:calc(100% + 8px);right:0;min-width:150px;padding:8px;border-radius:var(--radius, 8px);border:1px solid var(--color-line);background:var(--surface-page, #fff);box-shadow:var(--shadow-md, 0 8px 24px rgba(0, 0, 0, .12));display:none;z-index:20}.post-drop-meta.is-open .post-drop-meta__menu{display:grid;gap:4px}.article-header:has(.post-drop-meta.is-open){z-index:30}.post-drop-meta__item{width:100%;display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border:0;border-radius:6px;background:transparent;color:var(--color-ink-2, var(--color-ink));text-decoration:none;font-size:13px;text-align:left;cursor:pointer}.post-drop-meta__item:hover{background:var(--color-line, rgba(50, 50, 50, .06));color:var(--color-primary)}.post-drop-meta__item i{width:16px;text-align:center}.article-avatar .user-info{width:100%}.article-avatar .avatar-img{--this-size: 42px}.article-avatar .avatar-img img,.article-avatar .avatar{width:100%;height:100%;border-radius:50%;object-fit:cover}.article-avatar .display-name{font-weight:600;color:var(--key-color, #333)}.article-header .article-avatar .single-meta-row{margin-top:20px;position:relative;min-height:28px;display:flex;align-items:center;justify-content:flex-end}.article-header .article-avatar .single-meta-row>.line-form-line{bottom:50%}.article-header .article-avatar .single-meta-row>.single-metabox{position:relative;inset:auto;transform:none;z-index:1}.single-metabox{right:0;font-size:15px;--meta-color: var(--muted-color, #777)}.single-metabox .post-metas{background:var(--body-bg-color, #f5f5f5);right:0;padding:2px 6px;border-radius:100px;color:var(--meta-color);display:inline-flex;flex-wrap:wrap;align-items:center;gap:0}.single-metabox .post-metas item,.single-metabox .post-metas .item{margin:0 6px;font-size:13px;display:inline-flex;align-items:center;gap:4px}.single-metabox .post-drop-meta{position:relative;display:inline-block;--this-size: 1.73em;--this-color: var(--meta-color);--this-bg: var(--body-bg-color, #f5f5f5)}.article-avatar .line-form-line{display:block}.article-tags br{flex-basis:100%;width:100%;content:"";display:block;height:0}.article-tags .but.c-blue{color:#2196f3}.article-tags .but.c-yellow{color:#f0ad4e}.article-tags .but.c-green{color:#5cb85c}.article-tags .but.c-purple{color:#9c27b0}.article-tags .but.c-red{color:#f44336}
diff --git a/assets/css/frontend/single-post/content.css b/assets/css/frontend/single-post/content.css
index b874301c..2760237d 100644
--- a/assets/css/frontend/single-post/content.css
+++ b/assets/css/frontend/single-post/content.css
@@ -413,3 +413,53 @@ article.article.box-body,
.wp-posts-content .posts-nav-box {
margin: 20px 0;
}
+
+/* ---------- 正文表格:编辑器插入的 jio-content-table ---------- */
+
+.wp-posts-content .jio-content-table {
+ width: 100%;
+ margin: 0 0 20px;
+ border-collapse: separate;
+ border-spacing: 0;
+ overflow: hidden;
+ border: 1px solid var(--main-border-color, rgba(50, 50, 50, 0.08));
+ border-radius: var(--main-radius, 8px);
+ font-size: 14px;
+}
+
+.wp-posts-content .jio-content-table th,
+.wp-posts-content .jio-content-table td {
+ padding: 10px 14px;
+ border: 0;
+ border-bottom: 1px solid var(--main-border-color, rgba(50, 50, 50, 0.08));
+ line-height: 1.7;
+ text-align: left;
+ vertical-align: top;
+}
+
+.wp-posts-content .jio-content-table thead th {
+ background: var(--muted-bg-2-color, #f6f7f8);
+ color: var(--key-color, #333);
+ font-weight: 600;
+}
+
+.wp-posts-content .jio-content-table tbody tr:last-child td {
+ border-bottom: 0;
+}
+
+.wp-posts-content .jio-content-table tbody tr:hover td {
+ background: var(--main-shadow, rgba(116, 116, 116, 0.06));
+}
+
+.wp-posts-content .jio-content-table.is-striped tbody tr:nth-child(odd) td {
+ background: var(--muted-bg-2-color, #f6f7f8);
+}
+
+/* 窄屏下表格横向滚动,避免撑破正文。 */
+@media (max-width: 767px) {
+ .wp-posts-content .jio-content-table {
+ display: block;
+ overflow-x: auto;
+ white-space: nowrap;
+ }
+}
diff --git a/tests/widget-system/creator-studio-contract.test.cjs b/tests/widget-system/creator-studio-contract.test.cjs
index c8721fd6..600170e9 100644
--- a/tests/widget-system/creator-studio-contract.test.cjs
+++ b/tests/widget-system/creator-studio-contract.test.cjs
@@ -158,16 +158,29 @@ test('fixed top toolbar has TinyMCE formatting, media, and extension actions', (
assert.match(editorToolbar, /onOpenMedia\('image'\)/);
assert.match(editorToolbar, /onOpenMedia\('video'\)/);
assert.match(editorToolbar, /onClick=\{onOpenLink\}/);
- // 引用不再是标题下拉的一部分,而是独立按钮。
- assert.match(editorToolbar, /onCommand\('format', 'blockquote'\)/);
+ // 引用不再是标题下拉的一部分,而是独立按钮(带样式菜单)。
+ assert.match(editorToolbar, /onInsertQuote/);
assert.doesNotMatch(editorToolbar, /