markdown-text-editor 1.9.0 → 2.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +87 -5
- package/dist/markdown-text-editor.css +3 -0
- package/dist/markdown-text-editor.es.js +730 -786
- package/dist/markdown-text-editor.es.js.map +1 -1
- package/dist/markdown-text-editor.min.js +65 -64
- package/dist/markdown-text-editor.min.js.map +1 -1
- package/dist/markdown-text-editor.umd.js +65 -64
- package/dist/markdown-text-editor.umd.js.map +1 -1
- package/locale/ar.js +55 -0
- package/locale/az.js +55 -0
- package/locale/bg.js +55 -0
- package/locale/bn.js +55 -0
- package/locale/bs.js +55 -0
- package/locale/ca.js +55 -0
- package/locale/cs.js +55 -0
- package/locale/da.js +55 -0
- package/locale/de.js +55 -0
- package/locale/el.js +55 -0
- package/locale/es.js +55 -0
- package/locale/et.js +55 -0
- package/locale/fa.js +55 -0
- package/locale/fi.js +55 -0
- package/locale/fil.js +55 -0
- package/locale/fr.js +55 -0
- package/locale/ga.js +55 -0
- package/locale/he.js +55 -0
- package/locale/hi.js +55 -0
- package/locale/hr.js +55 -0
- package/locale/hu.js +55 -0
- package/locale/hy.js +55 -0
- package/locale/id.js +55 -0
- package/locale/is.js +55 -0
- package/locale/it.js +55 -0
- package/locale/ja.js +55 -0
- package/locale/kn.js +55 -0
- package/locale/ko.js +55 -0
- package/locale/locale.d.ts +10 -0
- package/locale/lt.js +55 -0
- package/locale/lv.js +55 -0
- package/locale/mk.js +55 -0
- package/locale/mr.js +55 -0
- package/locale/ms.js +55 -0
- package/locale/mt.js +55 -0
- package/locale/nl.js +55 -0
- package/locale/no.js +55 -0
- package/locale/pl.js +55 -0
- package/locale/pt.js +55 -0
- package/locale/ro.js +55 -0
- package/locale/ru.js +55 -0
- package/locale/sk.js +55 -0
- package/locale/sl.js +55 -0
- package/locale/sq.js +55 -0
- package/locale/sr.js +55 -0
- package/locale/sv.js +55 -0
- package/locale/sw.js +55 -0
- package/locale/ta.js +55 -0
- package/locale/te.js +55 -0
- package/locale/template.js +62 -0
- package/locale/th.js +55 -0
- package/locale/tr.js +55 -0
- package/locale/uk.js +55 -0
- package/locale/ur.js +55 -0
- package/locale/uz.js +55 -0
- package/locale/vi.js +55 -0
- package/locale/zh-hk.js +55 -0
- package/locale/zh.js +55 -0
- package/package.json +22 -9
- package/types/index.d.ts +35 -5
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
(function(){try{if(typeof document<`u`){var e=document.createElement(`style`);e.appendChild(document.createTextNode(`/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){.markdown-editor-wrapper *,.markdown-editor-wrapper :before,.markdown-editor-wrapper :after,.markdown-editor-wrapper ::backdrop{--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-content:""}}}:root,:host{--fj-spacing:.25rem;--fj-container-sm:24rem;--fj-text-xs:.75rem;--fj-text-xs--line-height:calc(1 / .75);--fj-font-weight-medium:500;--fj-font-weight-bold:700}.fj\\:me-modal{color:inherit;--radius-modal:calc(var(--border-radius) * 4);z-index:999;overscroll-behavior:contain;pointer-events:none;visibility:hidden;width:100%;max-width:none;height:100%;max-height:none;transition:visibility .2s ease allow-discrete, overlay .2s ease allow-discrete;background-color:#0000;border:none;place-items:center;margin:0;padding:.75rem;display:grid;position:fixed;inset:0;overflow:hidden}.fj\\:me-modal::backdrop{background-color:#000}@supports (color:color-mix(in lab, red, red)){.fj\\:me-modal::backdrop{background-color:var(--lightningcss-light,color-mix(in oklch, black 10%, var(--color-base-600) 40%))var(--lightningcss-dark,color-mix(in oklch, black 10%, var(--color-base-400) 40%))}}.fj\\:me-modal::backdrop{opacity:0;transition:opacity .2s ease-out}.fj\\:me-modal[open]{pointer-events:auto;visibility:visible}.fj\\:me-modal[open]::backdrop{opacity:1}@starting-style{.fj\\:me-modal[open]::backdrop{opacity:0}}.fj\\:me-modal[open]{--modal-content--translate:0 0;--modal-content--scale:1;--modal-content--opacity:1}.fj\\:me-btn{font:inherit;appearance:none;--radius-btn:calc(var(--border-radius) * 2);--color-btn:var(--color-base-soft);--color-on-btn:var(--color-on-base);--color-btn-active:var(--color-base-active);--btn-variant-text:var(--color-on-base);background-color:var(--color-btn);color:var(--color-on-btn,color-contrast(var(--color-btn) vs white, black));--btn--opacity:1;--btn--cursor:pointer;--btn--pointer-events:auto;--btn--border-width:0;--btn--border-style:solid;--btn--border-color:transparent;border-width:var(--btn--border-width);border-style:var(--btn--border-style);border-color:var(--btn--border-color)}.fj\\:me-btn:is(:disabled,[disabled]){--btn--opacity:.5;--btn--cursor:not-allowed;--btn--pointer-events:none}.fj\\:me-btn{opacity:var(--btn--opacity);cursor:pointer;pointer-events:var(--btn--pointer-events);-webkit-user-select:none;user-select:none;text-wrap:nowrap;text-decoration:none}@media (hover:hover){.fj\\:me-btn:hover{background-color:var(--color-btn-active);color:var(--color-on-btn);transition-duration:.22s}}.fj\\:me-btn{border-radius:var(--btn--radius,var(--radius-btn));display:var(--btn--display,inline-flex);padding-inline:var(--btn--shape-padding-inline,var(--btn--padding-inline,1.125rem));padding-block:var(--btn--shape-padding-block,var(--btn--padding-block,.625rem));font-size:var(--btn--font-size,1rem);line-height:calc(var(--btn--font-size,1rem) * var(--btn--line-height,1.5));width:var(--btn--width);max-width:var(--btn--max-width);vertical-align:middle;text-align:center;box-sizing:border-box;flex-wrap:nowrap;flex-shrink:0;justify-content:center;align-items:center;gap:.375rem;font-weight:500;transition:background-color .18s cubic-bezier(.4,0,.2,1),color .18s cubic-bezier(.4,0,.2,1),border-color .18s cubic-bezier(.4,0,.2,1),opacity .2s;position:relative}.fj\\:me-btn:is(input[type=checkbox],input[type=radio]){appearance:none}.fj\\:me-btn:is(input[type=checkbox],input[type=radio]):after{content:attr(aria-label)}.fj\\:me-btn:is(input[type=checkbox],input[type=radio]):checked{isolation:isolate;background-color:var(--color-btn-active)}.fj\\:me-btn:focus-visible{outline-width:2px;outline-style:solid;outline-color:var(--lightningcss-light,var(--color-base-950,currentColor))var(--lightningcss-dark,var(--color-base-50,currentColor));outline-offset:3px;isolation:isolate}.fj\\:me-input{font:inherit;--radius-input:calc(var(--border-radius) * 2);--color-input:var(--color-base-soft);--color-on-input:var(--color-on-base-soft);--color-input-soft:var(--color-base-soft);--color-input-active:var(--color-base-active);--color-on-input-active:var(--color-on-base);--input--inline:.75rem;--input--block:.625rem;--input--font-size:1rem;border-style:solid;border-width:1px;border-color:var(--color-input-active);background-color:#0000}.fj\\:me-input:not([type=file]){padding-inline:var(--input--inline);padding-block:var(--input--block)}.fj\\:me-input{font-size:var(--input--font-size);color:var(--color-on-base);appearance:none;border-radius:var(--radius-input);vertical-align:middle;white-space:nowrap;flex-shrink:0;align-self:flex-start;align-items:center;gap:.5rem;font-weight:500;transition:border-color .25s ease-in-out;display:inline-flex;position:relative}.fj\\:me-input::-moz-placeholder{font-size:var(--input--font-size);color:var(--input-disabled--color)}@supports (color:color-mix(in lab, red, red)){.fj\\:me-input::-moz-placeholder{color:color-mix(in oklab, var(--color-on-base) 30%, transparent)}}.fj\\:me-input::-moz-placeholder{font-weight:400}.fj\\:me-input::placeholder{font-size:var(--input--font-size);color:var(--input-disabled--color)}@supports (color:color-mix(in lab, red, red)){.fj\\:me-input::placeholder{color:color-mix(in oklab, var(--color-on-base) 30%, transparent)}}.fj\\:me-input::placeholder{font-weight:400}.fj\\:me-input::file-selector-button{font-size:var(--input--font-size);padding-inline:var(--input--inline);padding-block:var(--input--block);background-color:var(--color-input);border-inline-end-width:1px;border-style:solid;border-color:var(--color-input-active);font-weight:semibold;color:var(--color-on-input);border-start-start-radius:calc(var(--radius-input) / 2);border-end-start-radius:calc(var(--radius-input) / 2);align-items:center;margin-inline-end:1rem;transition:border-color .3s ease-in-out,background-color .3s ease-in-out,display .3s ease-in-out;display:inline-flex}@media (hover:hover){.fj\\:me-input::file-selector-button:hover{background-color:var(--color-input-active);color:var(--color-on-input-active)}}.fj\\:me-input:is(:disabled,[disabled],.fj\\:me-input-disabled){--input-disabled--cursor:not-allowed;--input-disabled--opacity:.6;--input-disabled--pointer-events:none;--input-disabled--user-select:none;--input-disabled--bg-color:var(--color-base-soft);--input-disabled--color:var(--lightningcss-light,var(--color-base-700))var(--lightningcss-dark,var(--color-base-400));--input-disabled--border-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.fj\\:me-input:is(:disabled,[disabled],.fj\\:me-input-disabled){--input-disabled--border-color:color-mix(in oklab, var(--input) 20%, transparent)}}.fj\\:me-input:is(:disabled,[disabled],.fj\\:me-input-disabled){cursor:var(--input-disabled--cursor);opacity:var(--input-disabled--opacity);pointer-events:var(--input-disabled--pointer-events);background-color:var(--input-disabled--bg-color);color:var(--input-disabled--color);-webkit-user-select:var(--input-disabled--user-select);-moz-user-select:var(--input-disabled--user-select);user-select:var(--input-disabled--user-select);border-color:var(--input-disabled--border-color)}.fj\\:me-input:focus,.fj\\:me-input:focus-within{border-color:var(--lightningcss-light,var(--color-base-800))var(--lightningcss-dark,var(--color-base-300))}@supports (color:color-mix(in lab, red, red)){.fj\\:me-input:focus,.fj\\:me-input:focus-within{border-color:var(--lightningcss-light,var(--color-base-800))var(--lightningcss-dark,color-mix(in oklab, var(--color-base-300) 80%, transparent))}}.fj\\:pointer-events-none{pointer-events:none}.fj\\:me-popover-content{inset:unset;color:inherit;border-radius:var(--radius-popover);visibility:var(--popover-hover--visibility,hidden);opacity:var(--popover-hover--opacity,0);z-index:100;position-anchor:var(--popover--anchor-name);position-area:var(--popover--position-area,block-end span-inline-end);position-try-fallbacks:var(--popover--position-try,none);background-color:var(--color-popover);outline-width:1px;outline-style:solid;outline-color:var(--color-popover-border);transition-behavior:allow-discrete;width:max-content;max-width:min(20rem,90vw);transition-property:opacity,visibility,transform;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-delay:var(--popover-hover--transition-delay,revert);border:none;margin:0;margin-block-start:var(--popover-placement--mt,0);margin-block-end:var(--popover-placement--mb,0);margin-inline-start:var(--popover-placement--ms,0);margin-inline-end:var(--popover-placement--me,0);padding:.6rem;position:fixed}.fj\\:me-popover-content:hover{--popover-hover--visibility:visible;--popover-hover--opacity:1}.fj\\:me-popover-content[popover]:popover-open{visibility:visible;opacity:1}@starting-style{.fj\\:me-popover-content[popover]:popover-open{visibility:hidden;opacity:0}}.fj\\:me-menu{--color-menu:var(--color-base-soft);--color-on-menu:var(--color-on-base-soft);--color-menu-active:var(--color-base-active);--radius-menu:calc(var(--border-radius) * 4);border-radius:var(--radius-menu);color:currentColor;flex-flow:column wrap;width:fit-content;margin:0;padding:0;font-size:.875rem;list-style:none;display:flex}.fj\\:me-menu :where(ul,li:not(:first-child)){margin-block-start:.375rem}.fj\\:me-menu :where(li ul){white-space:nowrap;color:currentColor;padding:0;margin-block:0;margin-inline-start:.1rem;padding-inline-start:1.4rem;font-size:.875rem;list-style:none;position:relative}.fj\\:me-menu :where(li ul):before{content:"";background-color:var(--color-on-menu);opacity:.1;width:1px;position:absolute;inset-block:.7rem 0;inset-inline-start:.7rem}.fj\\:me-menu :where(summary){margin-block:.375rem;margin-inline:.75rem}.fj\\:me-popover{--radius-popover:calc(var(--border-radius) * 2);--color-popover:var(--color-base);--color-popover-border:var(--color-base-soft);--popover--anchor-name:--popover-anchor;--popover--position-try:flip-block, flip-inline, flip-block flip-inline;anchor-scope:all;display:inline-block;position:relative}.fj\\:absolute{position:absolute}.fj\\:relative{position:relative}.fj\\:sticky{position:sticky}.fj\\:inset-0{inset:0}.fj\\:top-1{top:var(--fj-spacing)}.fj\\:-right-2{right:calc(var(--fj-spacing) * -2)}.fj\\:right-1{right:var(--fj-spacing)}.fj\\:z-0{z-index:0}.fj\\:z-10{z-index:10}.fj\\:z-20{z-index:20}.fj\\:me-modal-content{translate:var(--modal-content--translate,var(--modal-slide--translate,none));scale:var(--modal-content--scale,var(--modal-slide--scale,95%));opacity:var(--modal-content--opacity,0);overscroll-behavior:contain;background-color:var(--color-base);border-radius:var(--radius-modal);border:1px solid var(--color-base-soft);width:91.6667%;max-width:32rem;max-height:100vh;box-shadow:0 4px 6px -1px var(--lightningcss-light,var(--color-base-950))var(--lightningcss-dark,#00000073), 0 10px 32px -4px var(--lightningcss-light,var(--color-base-950))var(--lightningcss-dark,#0000008c);grid-row-start:1;grid-column-start:1;padding:1.5rem;overflow-y:auto}@supports (color:color-mix(in lab, red, red)){.fj\\:me-modal-content{box-shadow:0 4px 6px -1px var(--lightningcss-light,color-mix(in oklch, var(--color-base-950) 12%, transparent))var(--lightningcss-dark,oklch(0% none none/.45)), 0 10px 32px -4px var(--lightningcss-light,color-mix(in oklch, var(--color-base-950) 10%, transparent))var(--lightningcss-dark,oklch(0% none none/.55))}}.fj\\:me-modal-content{transition:translate .2s ease-out,scale .2s ease-out,opacity .2s ease-out,box-shadow .2s ease-out}@media (forced-colors:active){.fj\\:me-modal-content{outline:1px solid}}.fj\\:me-divider{--divider--margin:1rem 0;--color-divider:var(--color-base-soft);--divider-direction:right;--divider--flex-direction:row;--divider--width:100%;--divider--height:1px;--divider-dash-length:10px;--divider-gap-length:0px;flex-direction:var(--divider--flex-direction);width:var(--divider--width);height:var(--divider--height);justify-content:center;align-items:center;display:flex}.fj\\:me-divider:not(:empty){-moz-column-gap:.5rem;text-wrap:nowrap;column-gap:.5rem}.fj\\:me-divider:before,.fj\\:me-divider:after{content:"";margin:var(--divider--margin);width:var(--divider--width);height:var(--divider--height);background:repeating-linear-gradient(to var(--divider-direction), var(--color-divider) 0px, var(--color-divider) var(--divider-dash-length), transparent var(--divider-dash-length), transparent calc(var(--divider-dash-length) + var(--divider-gap-length)))}.fj\\:m-0{margin:0}.fj\\:my-1{margin-block:var(--fj-spacing)}.fj\\:mte-prose{color:var(--tw-prose-body);max-width:65ch}.fj\\:mte-prose :where(p):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.fj\\:mte-prose :where([class~=lead]):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){color:var(--tw-prose-lead);margin-top:1.2em;margin-bottom:1.2em;font-size:1.25em;line-height:1.6}.fj\\:mte-prose :where(a):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){color:var(--tw-prose-links);font-weight:500;text-decoration:underline}.fj\\:mte-prose :where(strong):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){color:var(--tw-prose-bold);font-weight:600}.fj\\:mte-prose :where(a strong):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)),.fj\\:mte-prose :where(blockquote strong):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)),.fj\\:mte-prose :where(thead th strong):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){color:inherit}.fj\\:mte-prose :where(ol):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:decimal}.fj\\:mte-prose :where(ol[type=A]):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){list-style-type:upper-alpha}.fj\\:mte-prose :where(ol[type=a]):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){list-style-type:lower-alpha}.fj\\:mte-prose :where(ol[type=A s]):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){list-style-type:upper-alpha}.fj\\:mte-prose :where(ol[type=a s]):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){list-style-type:lower-alpha}.fj\\:mte-prose :where(ol[type=I]):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){list-style-type:upper-roman}.fj\\:mte-prose :where(ol[type=i]):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){list-style-type:lower-roman}.fj\\:mte-prose :where(ol[type=I s]):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){list-style-type:upper-roman}.fj\\:mte-prose :where(ol[type=i s]):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){list-style-type:lower-roman}.fj\\:mte-prose :where(ol[type="1"]):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){list-style-type:decimal}.fj\\:mte-prose :where(ul):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:disc}.fj\\:mte-prose :where(ol>li):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.fj\\:mte-prose :where(ul>li):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *))::marker{color:var(--tw-prose-bullets)}.fj\\:mte-prose :where(dt):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){color:var(--tw-prose-headings);margin-top:1.25em;font-weight:600}.fj\\:mte-prose :where(hr):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.fj\\:mte-prose :where(blockquote):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em;font-style:italic;font-weight:500}.fj\\:mte-prose :where(blockquote p:first-of-type):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)):before{content:open-quote}.fj\\:mte-prose :where(blockquote p:last-of-type):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)):after{content:close-quote}.fj\\:mte-prose :where(h1):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){color:var(--tw-prose-headings);margin-top:0;margin-bottom:.888889em;font-size:2.25em;font-weight:800;line-height:1.11111}.fj\\:mte-prose :where(h1 strong):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){color:inherit;font-weight:900}.fj\\:mte-prose :where(h2):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){color:var(--tw-prose-headings);margin-top:2em;margin-bottom:1em;font-size:1.5em;font-weight:700;line-height:1.33333}.fj\\:mte-prose :where(h2 strong):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){color:inherit;font-weight:800}.fj\\:mte-prose :where(h3):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){color:var(--tw-prose-headings);margin-top:1.6em;margin-bottom:.6em;font-size:1.25em;font-weight:600;line-height:1.6}.fj\\:mte-prose :where(h3 strong):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){color:inherit;font-weight:700}.fj\\:mte-prose :where(h4):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){color:var(--tw-prose-headings);margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.5}.fj\\:mte-prose :where(h4 strong):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){color:inherit;font-weight:700}.fj\\:mte-prose :where(img):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-top:2em;margin-bottom:2em}.fj\\:mte-prose :where(picture):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-top:2em;margin-bottom:2em;display:block}.fj\\:mte-prose :where(video):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-top:2em;margin-bottom:2em}.fj\\:mte-prose :where(kbd):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows), 0 3px 0 var(--tw-prose-kbd-shadows);padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;border-radius:.3125rem;padding-inline-start:.375em;font-family:inherit;font-size:.875em;font-weight:500}.fj\\:mte-prose :where(code):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.fj\\:mte-prose :where(code):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)):before,.fj\\:mte-prose :where(code):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)):after{content:"\`"}.fj\\:mte-prose :where(a code):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)),.fj\\:mte-prose :where(h1 code):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){color:inherit}.fj\\:mte-prose :where(h2 code):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){color:inherit;font-size:.875em}.fj\\:mte-prose :where(h3 code):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){color:inherit;font-size:.9em}.fj\\:mte-prose :where(h4 code):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)),.fj\\:mte-prose :where(blockquote code):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)),.fj\\:mte-prose :where(thead th code):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){color:inherit}.fj\\:mte-prose :where(pre):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);padding-top:.857143em;padding-inline-end:1.14286em;padding-bottom:.857143em;border-radius:.375rem;margin-top:1.71429em;margin-bottom:1.71429em;padding-inline-start:1.14286em;font-size:.875em;font-weight:400;line-height:1.71429;overflow-x:auto}.fj\\:mte-prose :where(pre code):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;background-color:#0000;border-width:0;border-radius:0;padding:0}.fj\\:mte-prose :where(pre code):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)):before,.fj\\:mte-prose :where(pre code):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)):after{content:none}.fj\\:mte-prose :where(table):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){table-layout:auto;width:100%;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.71429}.fj\\:mte-prose :where(thead):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.fj\\:mte-prose :where(thead th):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){color:var(--tw-prose-headings);vertical-align:bottom;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em;font-weight:600}.fj\\:mte-prose :where(tbody tr):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.fj\\:mte-prose :where(tbody tr:last-child):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){border-bottom-width:0}.fj\\:mte-prose :where(tbody td):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){vertical-align:baseline}.fj\\:mte-prose :where(tfoot):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.fj\\:mte-prose :where(tfoot td):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){vertical-align:top}.fj\\:mte-prose :where(th,td):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){text-align:start}.fj\\:mte-prose :where(figure>*):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-top:0;margin-bottom:0}.fj\\:mte-prose :where(figcaption):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){color:var(--tw-prose-captions);margin-top:.857143em;font-size:.875em;line-height:1.42857}.fj\\:mte-prose{--tw-prose-body:oklch(37.3% .034 259.733);--tw-prose-headings:oklch(21% .034 264.665);--tw-prose-lead:oklch(44.6% .03 256.802);--tw-prose-links:oklch(21% .034 264.665);--tw-prose-bold:oklch(21% .034 264.665);--tw-prose-counters:oklch(55.1% .027 264.364);--tw-prose-bullets:oklch(87.2% .01 258.338);--tw-prose-hr:oklch(92.8% .006 264.531);--tw-prose-quotes:oklch(21% .034 264.665);--tw-prose-quote-borders:oklch(92.8% .006 264.531);--tw-prose-captions:oklch(55.1% .027 264.364);--tw-prose-kbd:oklch(21% .034 264.665);--tw-prose-kbd-shadows:oklab(21% -.00316127 -.0338527/.1);--tw-prose-code:oklch(21% .034 264.665);--tw-prose-pre-code:oklch(92.8% .006 264.531);--tw-prose-pre-bg:oklch(27.8% .033 256.848);--tw-prose-th-borders:oklch(87.2% .01 258.338);--tw-prose-td-borders:oklch(92.8% .006 264.531);--tw-prose-invert-body:oklch(87.2% .01 258.338);--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:oklch(70.7% .022 261.325);--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:oklch(70.7% .022 261.325);--tw-prose-invert-bullets:oklch(44.6% .03 256.802);--tw-prose-invert-hr:oklch(37.3% .034 259.733);--tw-prose-invert-quotes:oklch(96.7% .003 264.542);--tw-prose-invert-quote-borders:oklch(37.3% .034 259.733);--tw-prose-invert-captions:oklch(70.7% .022 261.325);--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:#ffffff1a;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:oklch(87.2% .01 258.338);--tw-prose-invert-pre-bg:#00000080;--tw-prose-invert-th-borders:oklch(44.6% .03 256.802);--tw-prose-invert-td-borders:oklch(37.3% .034 259.733);font-size:1rem;line-height:1.75}.fj\\:mte-prose :where(picture>img):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-top:0;margin-bottom:0}.fj\\:mte-prose :where(li):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-top:.5em;margin-bottom:.5em}.fj\\:mte-prose :where(ol>li):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)),.fj\\:mte-prose :where(ul>li):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){padding-inline-start:.375em}.fj\\:mte-prose :where(.fj\\:mte-prose>ul>li p):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-top:.75em;margin-bottom:.75em}.fj\\:mte-prose :where(.fj\\:mte-prose>ul>li>p:first-child):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-top:1.25em}.fj\\:mte-prose :where(.fj\\:mte-prose>ul>li>p:last-child):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-bottom:1.25em}.fj\\:mte-prose :where(.fj\\:mte-prose>ol>li>p:first-child):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-top:1.25em}.fj\\:mte-prose :where(.fj\\:mte-prose>ol>li>p:last-child):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-bottom:1.25em}.fj\\:mte-prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-top:.75em;margin-bottom:.75em}.fj\\:mte-prose :where(dl):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.fj\\:mte-prose :where(dd):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.fj\\:mte-prose :where(hr+*):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)),.fj\\:mte-prose :where(h2+*):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)),.fj\\:mte-prose :where(h3+*):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)),.fj\\:mte-prose :where(h4+*):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-top:0}.fj\\:mte-prose :where(thead th:first-child):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){padding-inline-start:0}.fj\\:mte-prose :where(thead th:last-child):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){padding-inline-end:0}.fj\\:mte-prose :where(tbody td,tfoot td):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){padding-top:.571429em;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em}.fj\\:mte-prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){padding-inline-start:0}.fj\\:mte-prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){padding-inline-end:0}.fj\\:mte-prose :where(figure):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-top:2em;margin-bottom:2em}.fj\\:mte-prose :where(.fj\\:mte-prose>:first-child):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-top:0}.fj\\:mte-prose :where(.fj\\:mte-prose>:last-child):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-bottom:0}.fj\\:mte-prose-sm{font-size:.875rem;line-height:1.71429}.fj\\:mte-prose-sm :where(p):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em}.fj\\:mte-prose-sm :where([class~=lead]):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-top:.888889em;margin-bottom:.888889em;font-size:1.28571em;line-height:1.55556}.fj\\:mte-prose-sm :where(blockquote):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-top:1.33333em;margin-bottom:1.33333em;padding-inline-start:1.11111em}.fj\\:mte-prose-sm :where(h1):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-top:0;margin-bottom:.8em;font-size:2.14286em;line-height:1.2}.fj\\:mte-prose-sm :where(h2):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-top:1.6em;margin-bottom:.8em;font-size:1.42857em;line-height:1.4}.fj\\:mte-prose-sm :where(h3):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-top:1.55556em;margin-bottom:.444444em;font-size:1.28571em;line-height:1.55556}.fj\\:mte-prose-sm :where(h4):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-top:1.42857em;margin-bottom:.571429em;line-height:1.42857}.fj\\:mte-prose-sm :where(img):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)),.fj\\:mte-prose-sm :where(picture):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.fj\\:mte-prose-sm :where(picture>img):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-top:0;margin-bottom:0}.fj\\:mte-prose-sm :where(video):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.fj\\:mte-prose-sm :where(kbd):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){padding-top:.142857em;padding-inline-end:.357143em;padding-bottom:.142857em;border-radius:.3125rem;padding-inline-start:.357143em;font-size:.857143em}.fj\\:mte-prose-sm :where(code):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){font-size:.857143em}.fj\\:mte-prose-sm :where(h2 code):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){font-size:.9em}.fj\\:mte-prose-sm :where(h3 code):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){font-size:.888889em}.fj\\:mte-prose-sm :where(pre):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){padding-top:.666667em;padding-inline-end:1em;padding-bottom:.666667em;border-radius:.25rem;margin-top:1.66667em;margin-bottom:1.66667em;padding-inline-start:1em;font-size:.857143em;line-height:1.66667}.fj\\:mte-prose-sm :where(ol):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)),.fj\\:mte-prose-sm :where(ul):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em;padding-inline-start:1.57143em}.fj\\:mte-prose-sm :where(li):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-top:.285714em;margin-bottom:.285714em}.fj\\:mte-prose-sm :where(ol>li):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)),.fj\\:mte-prose-sm :where(ul>li):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){padding-inline-start:.428571em}.fj\\:mte-prose-sm :where(.fj\\:mte-prose-sm>ul>li p):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-top:.571429em;margin-bottom:.571429em}.fj\\:mte-prose-sm :where(.fj\\:mte-prose-sm>ul>li>p:first-child):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-top:1.14286em}.fj\\:mte-prose-sm :where(.fj\\:mte-prose-sm>ul>li>p:last-child):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-bottom:1.14286em}.fj\\:mte-prose-sm :where(.fj\\:mte-prose-sm>ol>li>p:first-child):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-top:1.14286em}.fj\\:mte-prose-sm :where(.fj\\:mte-prose-sm>ol>li>p:last-child):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-bottom:1.14286em}.fj\\:mte-prose-sm :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-top:.571429em;margin-bottom:.571429em}.fj\\:mte-prose-sm :where(dl):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em}.fj\\:mte-prose-sm :where(dt):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-top:1.14286em}.fj\\:mte-prose-sm :where(dd):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-top:.285714em;padding-inline-start:1.57143em}.fj\\:mte-prose-sm :where(hr):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-top:2.85714em;margin-bottom:2.85714em}.fj\\:mte-prose-sm :where(hr+*):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)),.fj\\:mte-prose-sm :where(h2+*):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)),.fj\\:mte-prose-sm :where(h3+*):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)),.fj\\:mte-prose-sm :where(h4+*):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-top:0}.fj\\:mte-prose-sm :where(table):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){font-size:.857143em;line-height:1.5}.fj\\:mte-prose-sm :where(thead th):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){padding-inline-end:1em;padding-bottom:.666667em;padding-inline-start:1em}.fj\\:mte-prose-sm :where(thead th:first-child):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){padding-inline-start:0}.fj\\:mte-prose-sm :where(thead th:last-child):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){padding-inline-end:0}.fj\\:mte-prose-sm :where(tbody td,tfoot td):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){padding-top:.666667em;padding-inline-end:1em;padding-bottom:.666667em;padding-inline-start:1em}.fj\\:mte-prose-sm :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){padding-inline-start:0}.fj\\:mte-prose-sm :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){padding-inline-end:0}.fj\\:mte-prose-sm :where(figure):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.fj\\:mte-prose-sm :where(figure>*):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-top:0;margin-bottom:0}.fj\\:mte-prose-sm :where(figcaption):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-top:.666667em;font-size:.857143em;line-height:1.33333}.fj\\:mte-prose-sm :where(.fj\\:mte-prose-sm>:first-child):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-top:0}.fj\\:mte-prose-sm :where(.fj\\:mte-prose-sm>:last-child):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-bottom:0}.fj\\:mt-4{margin-top:calc(var(--fj-spacing) * 4)}.fj\\:mb-1{margin-bottom:var(--fj-spacing)}.fj\\:box-border{box-sizing:border-box}.fj\\:me-menu-item{font:inherit;color:currentColor;border-radius:calc(var(--radius-menu) / 2);text-align:start;text-wrap:balance;-webkit-user-select:none;user-select:none;appearance:none;cursor:pointer;width:100%;padding-block:.375rem;padding-inline:.75rem;background:0 0;border:none;grid-auto-columns:minmax(auto,max-content) auto max-content;grid-auto-flow:column;align-content:flex-start;align-items:center;gap:.5rem;padding-inline-end:var(--menu-horizontal--padding-inline-end,.75rem);font-size:.875rem;text-decoration:none;transition-property:color,background-color,box-shadow;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1);display:grid}@media (hover:hover){.fj\\:me-menu-item:hover{background-color:var(--color-menu);color:var(--color-on-menu)}}.fj\\:me-menu-item:focus-within{background-color:var(--color-menu);color:var(--color-on-menu);cursor:pointer;outline-style:none}@media (forced-colors:active){.fj\\:me-menu-item:focus-within{outline-offset:2px;outline:2px solid #0000}}.fj\\:me-menu-item :where(a,button):focus-visible{outline:2px solid #0000}@media (forced-colors:active){.fj\\:me-menu-item :where(a,button):focus-visible{outline-offset:2px;outline:2px solid #0000}}.fj\\:flex{display:flex}.fj\\:grid{display:grid}.fj\\:hidden{display:none}.fj\\:me-btn-circle{--btn--radius:9999px;--btn--shape-padding-inline:var(--btn-circle--padding-block,.625rem);--btn--shape-padding-block:var(--btn-circle--padding-block,.625rem);aspect-ratio:1}.fj\\:me-btn-square{--btn--shape-padding-inline:var(--btn-square--padding-block,.625rem);--btn--shape-padding-block:var(--btn-square--padding-block,.625rem);aspect-ratio:1}.fj\\:h-full{height:100%}.fj\\:h-full\\!{height:100%!important}.fj\\:min-h-0{min-height:0}.fj\\:w-36{width:calc(var(--fj-spacing) * 36)}.fj\\:w-full{width:100%}.fj\\:max-w-full{max-width:100%}.fj\\:max-w-sm{max-width:var(--fj-container-sm)}.fj\\:min-w-\\[3\\.5rem\\]{min-width:3.5rem}.fj\\:flex-1{flex:1}.fj\\:resize-none{resize:none}.fj\\:appearance-none{appearance:none}.fj\\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.fj\\:flex-col{flex-direction:column}.fj\\:items-center{align-items:center}.fj\\:me-modal-top{align-items:start}.fj\\:justify-between{justify-content:space-between}.fj\\:justify-center{justify-content:center}.fj\\:me-modal-center{justify-items:center}.fj\\:gap-1{gap:var(--fj-spacing)}.fj\\:gap-3{gap:calc(var(--fj-spacing) * 3)}.fj\\:gap-x-1{column-gap:var(--fj-spacing)}.fj\\:gap-y-4{row-gap:calc(var(--fj-spacing) * 4)}.fj\\:gap-y-4\\.5{row-gap:calc(var(--fj-spacing) * 4.5)}.fj\\:self-end{align-self:flex-end}.fj\\:overflow-hidden{overflow:hidden}.fj\\:overflow-x-auto{overflow-x:auto}.fj\\:overflow-y-auto{overflow-y:auto}.fj\\:me-surface-rounded{border-radius:calc(var(--border-radius) * 2)}.fj\\:me-surface-outline{border-style:solid;border-width:1px;border-color:var(--color-base-soft);background-color:#0000}.fj\\:border-0{border-style:var(--tw-border-style);border-width:0}.fj\\:border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.fj\\:border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.fj\\:border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.fj\\:border-base-soft{border-color:var(--color-base-soft)}.fj\\:me-surface{--surface--bg-color:var(--color-base);--surface--color:var(--color-on-base);background-color:var(--surface--bg-color);color:var(--surface--color);padding:var(--surface--padding)}.fj\\:me-btn-ghost{color:var(--btn-variant-text);--btn--border-width:0;background-color:#0000}.fj\\:bg-transparent{background-color:#0000}.fj\\:p-1\\.5{padding:calc(var(--fj-spacing) * 1.5)}.fj\\:p-2{padding:calc(var(--fj-spacing) * 2)}.fj\\:me-menu-title{color:var(--color-base-700);padding-inline:.75rem;padding-block:var(--menu-title--padding-block,.375rem);font-size:.875rem;font-weight:600}.fj\\:px-1\\.5{padding-inline:calc(var(--fj-spacing) * 1.5)}.fj\\:px-3{padding-inline:calc(var(--fj-spacing) * 3)}.fj\\:px-4{padding-inline:calc(var(--fj-spacing) * 4)}.fj\\:py-1{padding-block:var(--fj-spacing)}.fj\\:py-2{padding-block:calc(var(--fj-spacing) * 2)}.fj\\:text-center{text-align:center}.fj\\:me-heading-lg{--heading-size:1.125rem;color:var(--color-on-base);text-wrap-style:balance;font-weight:700;font-size:var(--heading-size);line-height:1.15}.fj\\:me-heading-md{color:var(--color-on-base);text-wrap-style:balance;font-weight:700;font-size:var(--heading-size);--heading-size:1rem;line-height:1.15}.fj\\:me-heading-sm{--heading-size:.875rem;color:var(--color-on-base);text-wrap-style:balance;font-weight:700;font-size:var(--heading-size);line-height:1.15}.fj\\:me-heading-xl{--heading-size:1.25rem;color:var(--color-on-base);text-wrap-style:balance;font-weight:700;font-size:var(--heading-size);line-height:1.15}.fj\\:me-heading-xs{--heading-size:.75rem;color:var(--color-on-base);text-wrap-style:balance;font-weight:700;font-size:var(--heading-size);line-height:1.15}.fj\\:text-xs{font-size:var(--fj-text-xs);line-height:var(--tw-leading,var(--fj-text-xs--line-height))}.fj\\:font-bold{--tw-font-weight:var(--fj-font-weight-bold);font-weight:var(--fj-font-weight-bold)}.fj\\:font-medium{--tw-font-weight:var(--fj-font-weight-medium);font-weight:var(--fj-font-weight-medium)}.fj\\:wrap-break-word{overflow-wrap:break-word}.fj\\:whitespace-nowrap{white-space:nowrap}.fj\\:whitespace-pre-wrap{white-space:pre-wrap}.fj\\:text-accent{color:var(--lightningcss-light,var(--color-accent-700))var(--lightningcss-dark,var(--color-accent-300))}.fj\\:text-primary{color:var(--lightningcss-light,var(--color-primary-700))var(--lightningcss-dark,var(--color-primary-300))}.fj\\:text-secondary{color:var(--lightningcss-light,var(--color-secondary-700))var(--lightningcss-dark,var(--color-secondary-300))}.fj\\:text-transparent{color:#0000}.fj\\:line-through{text-decoration-line:line-through}.fj\\:underline{text-decoration-line:underline}.fj\\:caret-primary{caret-color:var(--color-primary-500)}.fj\\:opacity-25{opacity:.25}.fj\\:opacity-30{opacity:.3}.fj\\:opacity-40{opacity:.4}.fj\\:opacity-50{opacity:.5}.fj\\:opacity-60{opacity:.6}.fj\\:opacity-70{opacity:.7}.fj\\:shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.fj\\:outline-0{outline-style:var(--tw-outline-style);outline-width:0}.fj\\:me-prose-frutjam{--tw-prose-body:var(--color-body);--tw-prose-headings:var(--color-on-base);--tw-prose-lead:var(--color-on-neutral);--tw-prose-bold:var(--color-on-base);--tw-prose-links:var(--color-primary);--tw-prose-counters:var(--color-neutral);--tw-prose-bullets:var(--color-neutral);--tw-prose-hr:var(--color-base-soft);--tw-prose-quotes:var(--color-on-base);--tw-prose-quote-borders:var(--color-primary);--tw-prose-code:var(--color-on-base);--tw-prose-pre-code:var(--color-on-base);--tw-prose-pre-bg:var(--color-base-soft);--tw-prose-th-borders:var(--color-base-soft);--tw-prose-td-borders:var(--color-base-soft);--tw-prose-captions:var(--color-on-neutral);--tw-prose-kbd:var(--color-body);--tw-prose-invert-body:var(--color-on-neutral);--tw-prose-invert-headings:var(--color-on-base);--tw-prose-invert-links:var(--color-primary)}.fj\\:me-btn-sm{--btn--padding-inline:1rem;--btn--padding-block:.5rem;--btn--font-size:.875rem;--btn--line-height:1.4;--btn-square--padding-block:.5rem;--btn-circle--padding-block:.5rem}.fj\\:me-btn-xs{--btn--padding-inline:.875rem;--btn--padding-block:.375rem;--btn--font-size:.75rem;--btn--line-height:1.3;--btn-square--padding-block:.375rem;--btn-circle--padding-block:.375rem}.fj\\:me-input-xs{--input--inline:.475rem;--input--block:.375rem;--input--font-size:.75rem;--input--square-size:2rem}.fj\\:outline-none{--tw-outline-style:none;outline-style:none}.fj\\:select-none{-webkit-user-select:none;user-select:none}.fj\\:me-btn-active{--color-btn:var(--color-btn-active)}.fj\\:me-popover-toggle{anchor-name:var(--popover--anchor-name)}.fj\\:empty\\:after\\:absolute:empty:after{content:var(--tw-content);position:absolute}.fj\\:empty\\:after\\:inset-0:empty:after{content:var(--tw-content);inset:0}.fj\\:empty\\:after\\:px-4:empty:after{content:var(--tw-content);padding-inline:calc(var(--fj-spacing) * 4)}.fj\\:empty\\:after\\:py-2:empty:after{content:var(--tw-content);padding-block:calc(var(--fj-spacing) * 2)}.fj\\:empty\\:after\\:text-\\[CanvasText\\]:empty:after{content:var(--tw-content);color:canvastext}.fj\\:empty\\:after\\:opacity-50:empty:after{content:var(--tw-content);opacity:.5}.fj\\:empty\\:after\\:content-\\[attr\\(data-placeholder\\)\\]:empty:after{--tw-content:attr(data-placeholder);content:var(--tw-content)}.fj\\:focus\\:ring-0:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.fj\\:focus\\:outline-0:focus{outline-style:var(--tw-outline-style);outline-width:0}@media (width>=48rem){.fj\\:md\\:pointer-events-auto{pointer-events:auto}.fj\\:md\\:mte-prose-base{font-size:1rem;line-height:1.75}.fj\\:md\\:mte-prose-base :where(p):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.fj\\:md\\:mte-prose-base :where([class~=lead]):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-top:1.2em;margin-bottom:1.2em;font-size:1.25em;line-height:1.6}.fj\\:md\\:mte-prose-base :where(blockquote):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em}.fj\\:md\\:mte-prose-base :where(h1):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-top:0;margin-bottom:.888889em;font-size:2.25em;line-height:1.11111}.fj\\:md\\:mte-prose-base :where(h2):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-top:2em;margin-bottom:1em;font-size:1.5em;line-height:1.33333}.fj\\:md\\:mte-prose-base :where(h3):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-top:1.6em;margin-bottom:.6em;font-size:1.25em;line-height:1.6}.fj\\:md\\:mte-prose-base :where(h4):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.fj\\:md\\:mte-prose-base :where(img):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)),.fj\\:md\\:mte-prose-base :where(picture):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-top:2em;margin-bottom:2em}.fj\\:md\\:mte-prose-base :where(picture>img):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-top:0;margin-bottom:0}.fj\\:md\\:mte-prose-base :where(video):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-top:2em;margin-bottom:2em}.fj\\:md\\:mte-prose-base :where(kbd):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;border-radius:.3125rem;padding-inline-start:.375em;font-size:.875em}.fj\\:md\\:mte-prose-base :where(code):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)),.fj\\:md\\:mte-prose-base :where(h2 code):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){font-size:.875em}.fj\\:md\\:mte-prose-base :where(h3 code):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){font-size:.9em}.fj\\:md\\:mte-prose-base :where(pre):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){padding-top:.857143em;padding-inline-end:1.14286em;padding-bottom:.857143em;border-radius:.375rem;margin-top:1.71429em;margin-bottom:1.71429em;padding-inline-start:1.14286em;font-size:.875em;line-height:1.71429}.fj\\:md\\:mte-prose-base :where(ol):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)),.fj\\:md\\:mte-prose-base :where(ul):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.fj\\:md\\:mte-prose-base :where(li):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-top:.5em;margin-bottom:.5em}.fj\\:md\\:mte-prose-base :where(ol>li):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)),.fj\\:md\\:mte-prose-base :where(ul>li):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){padding-inline-start:.375em}.fj\\:md\\:mte-prose-base :where(.fj\\:mte-prose-base>ul>li p):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-top:.75em;margin-bottom:.75em}.fj\\:md\\:mte-prose-base :where(.fj\\:mte-prose-base>ul>li>p:first-child):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-top:1.25em}.fj\\:md\\:mte-prose-base :where(.fj\\:mte-prose-base>ul>li>p:last-child):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-bottom:1.25em}.fj\\:md\\:mte-prose-base :where(.fj\\:mte-prose-base>ol>li>p:first-child):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-top:1.25em}.fj\\:md\\:mte-prose-base :where(.fj\\:mte-prose-base>ol>li>p:last-child):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-bottom:1.25em}.fj\\:md\\:mte-prose-base :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-top:.75em;margin-bottom:.75em}.fj\\:md\\:mte-prose-base :where(dl):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.fj\\:md\\:mte-prose-base :where(dt):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-top:1.25em}.fj\\:md\\:mte-prose-base :where(dd):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.fj\\:md\\:mte-prose-base :where(hr):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-top:3em;margin-bottom:3em}.fj\\:md\\:mte-prose-base :where(hr+*):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)),.fj\\:md\\:mte-prose-base :where(h2+*):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)),.fj\\:md\\:mte-prose-base :where(h3+*):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)),.fj\\:md\\:mte-prose-base :where(h4+*):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-top:0}.fj\\:md\\:mte-prose-base :where(table):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){font-size:.875em;line-height:1.71429}.fj\\:md\\:mte-prose-base :where(thead th):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em}.fj\\:md\\:mte-prose-base :where(thead th:first-child):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){padding-inline-start:0}.fj\\:md\\:mte-prose-base :where(thead th:last-child):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){padding-inline-end:0}.fj\\:md\\:mte-prose-base :where(tbody td,tfoot td):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){padding-top:.571429em;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em}.fj\\:md\\:mte-prose-base :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){padding-inline-start:0}.fj\\:md\\:mte-prose-base :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){padding-inline-end:0}.fj\\:md\\:mte-prose-base :where(figure):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-top:2em;margin-bottom:2em}.fj\\:md\\:mte-prose-base :where(figure>*):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-top:0;margin-bottom:0}.fj\\:md\\:mte-prose-base :where(figcaption):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-top:.857143em;font-size:.875em;line-height:1.42857}.fj\\:md\\:mte-prose-base :where(.fj\\:mte-prose-base>:first-child):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-top:0}.fj\\:md\\:mte-prose-base :where(.fj\\:mte-prose-base>:last-child):not(:where([class~=not-mte-prose],[class~=not-mte-prose] *)){margin-bottom:0}.fj\\:md\\:grid{display:grid}.fj\\:md\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.fj\\:md\\:opacity-100{opacity:1}}@media (width>=64rem){.fj\\:lg\\:me-modal-middle{align-items:center}}.markdown-editor-wrapper{--lightningcss-light:initial;--lightningcss-dark: ;resize:vertical}@media (prefers-color-scheme:dark){.markdown-editor-wrapper{--lightningcss-light: ;--lightningcss-dark:initial}}.markdown-editor-wrapper[data-theme=dark],[data-theme=dark] .markdown-editor-wrapper,.markdown-editor-wrapper[data-theme=darkberry],[data-theme=darkberry] .markdown-editor-wrapper{--lightningcss-light: ;--lightningcss-dark:initial}.markdown-editor-wrapper[data-theme=light],[data-theme=light] .markdown-editor-wrapper,.markdown-editor-wrapper[data-theme=snowberry],[data-theme=snowberry] .markdown-editor-wrapper{--lightningcss-light:initial;--lightningcss-dark: }.textarea-wrapper:has(.display-layer) .editor-textarea{scrollbar-gutter:stable}.display-layer{scrollbar-gutter:stable;scrollbar-color:transparent transparent}.display-layer::-webkit-scrollbar{background:0 0}.display-layer::-webkit-scrollbar-track{background:0 0}.display-layer::-webkit-scrollbar-thumb{background:0 0;border-color:#0000}.display-layer .faux-bold{text-shadow:0 0 .5px,0 0 .5px}.editor-textarea{font:inherit;box-sizing:border-box;scrollbar-gutter:stable}.textarea-wrapper:has(.display-layer) .editor-textarea::selection{background:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.textarea-wrapper:has(.display-layer) .editor-textarea::selection{background:color-mix(in oklch, var(--color-primary), transparent 80%)}}.textarea-wrapper:has(.display-layer) .editor-textarea::selection{color:#0000;caret-color:var(--color-primary)}.markdown-editor-wrapper.is-fullscreen{resize:none;height:100dvh;z-index:var(--mte-fullscreen-z-index,10000);top:0;border-radius:0;position:fixed;inset-inline:0}@layer base{@layer base{.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--palette-shade-light-color:white;--palette-shade-dark-color:black;--color-body:currentColor}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-body:color-mix(in oklch, currentColor 80%, transparent)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color-scheme:var(--scheme-color,light);color:var(--color-on-base);background-color:var(--color-base);--color-base-soft:var(--lightningcss-light,var(--color-on-base))var(--lightningcss-dark,var(--color-on-base))}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-base-soft:var(--lightningcss-light,color-mix(in oklch, var(--color-on-base) 8%, var(--color-base) 92%))var(--lightningcss-dark,color-mix(in oklch, var(--color-on-base) 16%, var(--color-base) 84%))}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-on-base-soft:var(--color-on-base);--color-base-active:var(--lightningcss-light,var(--color-on-base))var(--lightningcss-dark,var(--color-on-base))}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-base-active:var(--lightningcss-light,color-mix(in oklch, var(--color-on-base) 14%, var(--color-base) 86%))var(--lightningcss-dark,color-mix(in oklch, var(--color-on-base) 26%, var(--color-base) 74%))}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-base-50:var(--color-on-base)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-base-50:color-mix(in oklch, var(--color-on-base) 4%, var(--color-base) 96%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-base-100:var(--color-on-base)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-base-100:color-mix(in oklch, var(--color-on-base) 8%, var(--color-base) 92%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-base-200:var(--color-on-base)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-base-200:color-mix(in oklch, var(--color-on-base) 16%, var(--color-base) 84%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-base-300:var(--color-on-base)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-base-300:color-mix(in oklch, var(--color-on-base) 26%, var(--color-base) 74%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-base-400:var(--color-on-base)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-base-400:color-mix(in oklch, var(--color-on-base) 36%, var(--color-base) 64%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-base-500:var(--color-base);--color-base-600:var(--color-on-base)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-base-600:color-mix(in oklch, var(--color-on-base) 50%, var(--color-base) 50%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-base-700:var(--color-on-base)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-base-700:color-mix(in oklch, var(--color-on-base) 62%, var(--color-base) 38%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-base-800:var(--color-on-base)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-base-800:color-mix(in oklch, var(--color-on-base) 74%, var(--color-base) 26%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-base-900:var(--color-on-base)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-base-900:color-mix(in oklch, var(--color-on-base) 86%, var(--color-base) 14%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-base-950:var(--color-on-base)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-base-950:color-mix(in oklch, var(--color-on-base) 92%, var(--color-base) 8%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-neutral-soft:var(--lightningcss-light,var(--color-neutral-50))var(--lightningcss-dark,var(--color-neutral))}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-neutral-soft:var(--lightningcss-light,var(--color-neutral-50))var(--lightningcss-dark,color-mix(in srgb, var(--color-neutral) 20%, var(--color-base) 80%))}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-on-neutral-soft:var(--lightningcss-light,var(--color-neutral-700))var(--lightningcss-dark,var(--color-neutral-300));--color-neutral-active:var(--lightningcss-light,var(--palette-shade-dark-color))var(--lightningcss-dark,var(--palette-shade-light-color))}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-neutral-active:var(--lightningcss-light,color-mix(in oklch, var(--palette-shade-dark-color) 15%, var(--color-neutral) 85%))var(--lightningcss-dark,color-mix(in oklch, var(--palette-shade-light-color) 15%, var(--color-neutral) 85%))}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-neutral-50:var(--palette-shade-light-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-neutral-50:color-mix(in oklch, var(--palette-shade-light-color) 80%, var(--color-neutral) 20%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-neutral-100:var(--palette-shade-light-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-neutral-100:color-mix(in oklch, var(--palette-shade-light-color) 65%, var(--color-neutral) 35%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-neutral-200:var(--palette-shade-light-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-neutral-200:color-mix(in oklch, var(--palette-shade-light-color) 50%, var(--color-neutral) 50%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-neutral-300:var(--palette-shade-light-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-neutral-300:color-mix(in oklch, var(--palette-shade-light-color) 35%, var(--color-neutral) 65%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-neutral-400:var(--palette-shade-light-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-neutral-400:color-mix(in oklch, var(--palette-shade-light-color) 18%, var(--color-neutral) 82%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-neutral-500:var(--color-neutral);--color-neutral-600:var(--palette-shade-dark-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-neutral-600:color-mix(in oklch, var(--palette-shade-dark-color) 18%, var(--color-neutral) 82%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-neutral-700:var(--palette-shade-dark-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-neutral-700:color-mix(in oklch, var(--palette-shade-dark-color) 34%, var(--color-neutral) 66%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-neutral-800:var(--palette-shade-dark-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-neutral-800:color-mix(in oklch, var(--palette-shade-dark-color) 50%, var(--color-neutral) 50%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-neutral-900:var(--palette-shade-dark-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-neutral-900:color-mix(in oklch, var(--palette-shade-dark-color) 65%, var(--color-neutral) 35%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-neutral-950:var(--palette-shade-dark-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-neutral-950:color-mix(in oklch, var(--palette-shade-dark-color) 80%, var(--color-neutral) 20%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-primary-soft:var(--lightningcss-light,var(--color-primary-50))var(--lightningcss-dark,var(--color-primary))}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-primary-soft:var(--lightningcss-light,var(--color-primary-50))var(--lightningcss-dark,color-mix(in srgb, var(--color-primary) 20%, var(--color-base) 80%))}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-on-primary-soft:var(--lightningcss-light,var(--color-primary-700))var(--lightningcss-dark,var(--color-primary-300));--color-primary-active:var(--lightningcss-light,var(--palette-shade-dark-color))var(--lightningcss-dark,var(--palette-shade-light-color))}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-primary-active:var(--lightningcss-light,color-mix(in oklch, var(--palette-shade-dark-color) 15%, var(--color-primary) 85%))var(--lightningcss-dark,color-mix(in oklch, var(--palette-shade-light-color) 15%, var(--color-primary) 85%))}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-primary-50:var(--palette-shade-light-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-primary-50:color-mix(in oklch, var(--palette-shade-light-color) 80%, var(--color-primary) 20%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-primary-100:var(--palette-shade-light-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-primary-100:color-mix(in oklch, var(--palette-shade-light-color) 65%, var(--color-primary) 35%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-primary-200:var(--palette-shade-light-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-primary-200:color-mix(in oklch, var(--palette-shade-light-color) 50%, var(--color-primary) 50%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-primary-300:var(--palette-shade-light-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-primary-300:color-mix(in oklch, var(--palette-shade-light-color) 35%, var(--color-primary) 65%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-primary-400:var(--palette-shade-light-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-primary-400:color-mix(in oklch, var(--palette-shade-light-color) 18%, var(--color-primary) 82%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-primary-500:var(--color-primary);--color-primary-600:var(--palette-shade-dark-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-primary-600:color-mix(in oklch, var(--palette-shade-dark-color) 18%, var(--color-primary) 82%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-primary-700:var(--palette-shade-dark-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-primary-700:color-mix(in oklch, var(--palette-shade-dark-color) 34%, var(--color-primary) 66%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-primary-800:var(--palette-shade-dark-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-primary-800:color-mix(in oklch, var(--palette-shade-dark-color) 50%, var(--color-primary) 50%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-primary-900:var(--palette-shade-dark-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-primary-900:color-mix(in oklch, var(--palette-shade-dark-color) 65%, var(--color-primary) 35%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-primary-950:var(--palette-shade-dark-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-primary-950:color-mix(in oklch, var(--palette-shade-dark-color) 80%, var(--color-primary) 20%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-secondary-soft:var(--lightningcss-light,var(--color-secondary-50))var(--lightningcss-dark,var(--color-secondary))}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-secondary-soft:var(--lightningcss-light,var(--color-secondary-50))var(--lightningcss-dark,color-mix(in srgb, var(--color-secondary) 20%, var(--color-base) 80%))}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-on-secondary-soft:var(--lightningcss-light,var(--color-secondary-700))var(--lightningcss-dark,var(--color-secondary-300));--color-secondary-active:var(--lightningcss-light,var(--palette-shade-dark-color))var(--lightningcss-dark,var(--palette-shade-light-color))}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-secondary-active:var(--lightningcss-light,color-mix(in oklch, var(--palette-shade-dark-color) 15%, var(--color-secondary) 85%))var(--lightningcss-dark,color-mix(in oklch, var(--palette-shade-light-color) 15%, var(--color-secondary) 85%))}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-secondary-50:var(--palette-shade-light-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-secondary-50:color-mix(in oklch, var(--palette-shade-light-color) 80%, var(--color-secondary) 20%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-secondary-100:var(--palette-shade-light-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-secondary-100:color-mix(in oklch, var(--palette-shade-light-color) 65%, var(--color-secondary) 35%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-secondary-200:var(--palette-shade-light-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-secondary-200:color-mix(in oklch, var(--palette-shade-light-color) 50%, var(--color-secondary) 50%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-secondary-300:var(--palette-shade-light-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-secondary-300:color-mix(in oklch, var(--palette-shade-light-color) 35%, var(--color-secondary) 65%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-secondary-400:var(--palette-shade-light-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-secondary-400:color-mix(in oklch, var(--palette-shade-light-color) 18%, var(--color-secondary) 82%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-secondary-500:var(--color-secondary);--color-secondary-600:var(--palette-shade-dark-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-secondary-600:color-mix(in oklch, var(--palette-shade-dark-color) 18%, var(--color-secondary) 82%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-secondary-700:var(--palette-shade-dark-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-secondary-700:color-mix(in oklch, var(--palette-shade-dark-color) 34%, var(--color-secondary) 66%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-secondary-800:var(--palette-shade-dark-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-secondary-800:color-mix(in oklch, var(--palette-shade-dark-color) 50%, var(--color-secondary) 50%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-secondary-900:var(--palette-shade-dark-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-secondary-900:color-mix(in oklch, var(--palette-shade-dark-color) 65%, var(--color-secondary) 35%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-secondary-950:var(--palette-shade-dark-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-secondary-950:color-mix(in oklch, var(--palette-shade-dark-color) 80%, var(--color-secondary) 20%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-accent-soft:var(--lightningcss-light,var(--color-accent-50))var(--lightningcss-dark,var(--color-accent))}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-accent-soft:var(--lightningcss-light,var(--color-accent-50))var(--lightningcss-dark,color-mix(in srgb, var(--color-accent) 20%, var(--color-base) 80%))}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-on-accent-soft:var(--lightningcss-light,var(--color-accent-700))var(--lightningcss-dark,var(--color-accent-300));--color-accent-active:var(--lightningcss-light,var(--palette-shade-dark-color))var(--lightningcss-dark,var(--palette-shade-light-color))}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-accent-active:var(--lightningcss-light,color-mix(in oklch, var(--palette-shade-dark-color) 15%, var(--color-accent) 85%))var(--lightningcss-dark,color-mix(in oklch, var(--palette-shade-light-color) 15%, var(--color-accent) 85%))}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-accent-50:var(--palette-shade-light-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-accent-50:color-mix(in oklch, var(--palette-shade-light-color) 80%, var(--color-accent) 20%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-accent-100:var(--palette-shade-light-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-accent-100:color-mix(in oklch, var(--palette-shade-light-color) 65%, var(--color-accent) 35%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-accent-200:var(--palette-shade-light-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-accent-200:color-mix(in oklch, var(--palette-shade-light-color) 50%, var(--color-accent) 50%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-accent-300:var(--palette-shade-light-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-accent-300:color-mix(in oklch, var(--palette-shade-light-color) 35%, var(--color-accent) 65%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-accent-400:var(--palette-shade-light-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-accent-400:color-mix(in oklch, var(--palette-shade-light-color) 18%, var(--color-accent) 82%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-accent-500:var(--color-accent);--color-accent-600:var(--palette-shade-dark-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-accent-600:color-mix(in oklch, var(--palette-shade-dark-color) 18%, var(--color-accent) 82%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-accent-700:var(--palette-shade-dark-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-accent-700:color-mix(in oklch, var(--palette-shade-dark-color) 34%, var(--color-accent) 66%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-accent-800:var(--palette-shade-dark-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-accent-800:color-mix(in oklch, var(--palette-shade-dark-color) 50%, var(--color-accent) 50%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-accent-900:var(--palette-shade-dark-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-accent-900:color-mix(in oklch, var(--palette-shade-dark-color) 65%, var(--color-accent) 35%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-accent-950:var(--palette-shade-dark-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-accent-950:color-mix(in oklch, var(--palette-shade-dark-color) 80%, var(--color-accent) 20%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-info-soft:var(--lightningcss-light,var(--color-info-50))var(--lightningcss-dark,var(--color-info))}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-info-soft:var(--lightningcss-light,var(--color-info-50))var(--lightningcss-dark,color-mix(in srgb, var(--color-info) 20%, var(--color-base) 80%))}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-on-info-soft:var(--lightningcss-light,var(--color-info-700))var(--lightningcss-dark,var(--color-info-300));--color-info-active:var(--lightningcss-light,var(--palette-shade-dark-color))var(--lightningcss-dark,var(--palette-shade-light-color))}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-info-active:var(--lightningcss-light,color-mix(in oklch, var(--palette-shade-dark-color) 15%, var(--color-info) 85%))var(--lightningcss-dark,color-mix(in oklch, var(--palette-shade-light-color) 15%, var(--color-info) 85%))}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-info-50:var(--palette-shade-light-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-info-50:color-mix(in oklch, var(--palette-shade-light-color) 80%, var(--color-info) 20%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-info-100:var(--palette-shade-light-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-info-100:color-mix(in oklch, var(--palette-shade-light-color) 65%, var(--color-info) 35%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-info-200:var(--palette-shade-light-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-info-200:color-mix(in oklch, var(--palette-shade-light-color) 50%, var(--color-info) 50%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-info-300:var(--palette-shade-light-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-info-300:color-mix(in oklch, var(--palette-shade-light-color) 35%, var(--color-info) 65%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-info-400:var(--palette-shade-light-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-info-400:color-mix(in oklch, var(--palette-shade-light-color) 18%, var(--color-info) 82%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-info-500:var(--color-info);--color-info-600:var(--palette-shade-dark-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-info-600:color-mix(in oklch, var(--palette-shade-dark-color) 18%, var(--color-info) 82%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-info-700:var(--palette-shade-dark-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-info-700:color-mix(in oklch, var(--palette-shade-dark-color) 34%, var(--color-info) 66%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-info-800:var(--palette-shade-dark-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-info-800:color-mix(in oklch, var(--palette-shade-dark-color) 50%, var(--color-info) 50%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-info-900:var(--palette-shade-dark-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-info-900:color-mix(in oklch, var(--palette-shade-dark-color) 65%, var(--color-info) 35%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-info-950:var(--palette-shade-dark-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-info-950:color-mix(in oklch, var(--palette-shade-dark-color) 80%, var(--color-info) 20%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-success-soft:var(--lightningcss-light,var(--color-success-50))var(--lightningcss-dark,var(--color-success))}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-success-soft:var(--lightningcss-light,var(--color-success-50))var(--lightningcss-dark,color-mix(in srgb, var(--color-success) 20%, var(--color-base) 80%))}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-on-success-soft:var(--lightningcss-light,var(--color-success-700))var(--lightningcss-dark,var(--color-success-300));--color-success-active:var(--lightningcss-light,var(--palette-shade-dark-color))var(--lightningcss-dark,var(--palette-shade-light-color))}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-success-active:var(--lightningcss-light,color-mix(in oklch, var(--palette-shade-dark-color) 15%, var(--color-success) 85%))var(--lightningcss-dark,color-mix(in oklch, var(--palette-shade-light-color) 15%, var(--color-success) 85%))}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-success-50:var(--palette-shade-light-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-success-50:color-mix(in oklch, var(--palette-shade-light-color) 80%, var(--color-success) 20%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-success-100:var(--palette-shade-light-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-success-100:color-mix(in oklch, var(--palette-shade-light-color) 65%, var(--color-success) 35%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-success-200:var(--palette-shade-light-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-success-200:color-mix(in oklch, var(--palette-shade-light-color) 50%, var(--color-success) 50%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-success-300:var(--palette-shade-light-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-success-300:color-mix(in oklch, var(--palette-shade-light-color) 35%, var(--color-success) 65%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-success-400:var(--palette-shade-light-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-success-400:color-mix(in oklch, var(--palette-shade-light-color) 18%, var(--color-success) 82%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-success-500:var(--color-success);--color-success-600:var(--palette-shade-dark-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-success-600:color-mix(in oklch, var(--palette-shade-dark-color) 18%, var(--color-success) 82%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-success-700:var(--palette-shade-dark-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-success-700:color-mix(in oklch, var(--palette-shade-dark-color) 34%, var(--color-success) 66%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-success-800:var(--palette-shade-dark-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-success-800:color-mix(in oklch, var(--palette-shade-dark-color) 50%, var(--color-success) 50%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-success-900:var(--palette-shade-dark-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-success-900:color-mix(in oklch, var(--palette-shade-dark-color) 65%, var(--color-success) 35%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-success-950:var(--palette-shade-dark-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-success-950:color-mix(in oklch, var(--palette-shade-dark-color) 80%, var(--color-success) 20%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-warning-soft:var(--lightningcss-light,var(--color-warning-50))var(--lightningcss-dark,var(--color-warning))}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-warning-soft:var(--lightningcss-light,var(--color-warning-50))var(--lightningcss-dark,color-mix(in srgb, var(--color-warning) 20%, var(--color-base) 80%))}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-on-warning-soft:var(--lightningcss-light,var(--color-warning-800))var(--lightningcss-dark,var(--color-warning-300));--color-warning-active:var(--lightningcss-light,var(--palette-shade-dark-color))var(--lightningcss-dark,var(--palette-shade-light-color))}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-warning-active:var(--lightningcss-light,color-mix(in oklch, var(--palette-shade-dark-color) 15%, var(--color-warning) 85%))var(--lightningcss-dark,color-mix(in oklch, var(--palette-shade-light-color) 15%, var(--color-warning) 85%))}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-warning-50:var(--palette-shade-light-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-warning-50:color-mix(in oklch, var(--palette-shade-light-color) 80%, var(--color-warning) 20%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-warning-100:var(--palette-shade-light-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-warning-100:color-mix(in oklch, var(--palette-shade-light-color) 65%, var(--color-warning) 35%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-warning-200:var(--palette-shade-light-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-warning-200:color-mix(in oklch, var(--palette-shade-light-color) 50%, var(--color-warning) 50%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-warning-300:var(--palette-shade-light-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-warning-300:color-mix(in oklch, var(--palette-shade-light-color) 35%, var(--color-warning) 65%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-warning-400:var(--palette-shade-light-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-warning-400:color-mix(in oklch, var(--palette-shade-light-color) 18%, var(--color-warning) 82%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-warning-500:var(--color-warning);--color-warning-600:var(--palette-shade-dark-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-warning-600:color-mix(in oklch, var(--palette-shade-dark-color) 18%, var(--color-warning) 82%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-warning-700:var(--palette-shade-dark-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-warning-700:color-mix(in oklch, var(--palette-shade-dark-color) 34%, var(--color-warning) 66%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-warning-800:var(--palette-shade-dark-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-warning-800:color-mix(in oklch, var(--palette-shade-dark-color) 50%, var(--color-warning) 50%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-warning-900:var(--palette-shade-dark-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-warning-900:color-mix(in oklch, var(--palette-shade-dark-color) 65%, var(--color-warning) 35%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-warning-950:var(--palette-shade-dark-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-warning-950:color-mix(in oklch, var(--palette-shade-dark-color) 80%, var(--color-warning) 20%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-error-soft:var(--lightningcss-light,var(--color-error-50))var(--lightningcss-dark,var(--color-error))}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-error-soft:var(--lightningcss-light,var(--color-error-50))var(--lightningcss-dark,color-mix(in srgb, var(--color-error) 20%, var(--color-base) 80%))}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-on-error-soft:var(--lightningcss-light,var(--color-error-700))var(--lightningcss-dark,var(--color-error-300));--color-error-active:var(--lightningcss-light,var(--palette-shade-dark-color))var(--lightningcss-dark,var(--palette-shade-light-color))}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-error-active:var(--lightningcss-light,color-mix(in oklch, var(--palette-shade-dark-color) 15%, var(--color-error) 85%))var(--lightningcss-dark,color-mix(in oklch, var(--palette-shade-light-color) 15%, var(--color-error) 85%))}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-error-50:var(--palette-shade-light-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-error-50:color-mix(in oklch, var(--palette-shade-light-color) 80%, var(--color-error) 20%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-error-100:var(--palette-shade-light-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-error-100:color-mix(in oklch, var(--palette-shade-light-color) 65%, var(--color-error) 35%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-error-200:var(--palette-shade-light-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-error-200:color-mix(in oklch, var(--palette-shade-light-color) 50%, var(--color-error) 50%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-error-300:var(--palette-shade-light-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-error-300:color-mix(in oklch, var(--palette-shade-light-color) 35%, var(--color-error) 65%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-error-400:var(--palette-shade-light-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-error-400:color-mix(in oklch, var(--palette-shade-light-color) 18%, var(--color-error) 82%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-error-500:var(--color-error);--color-error-600:var(--palette-shade-dark-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-error-600:color-mix(in oklch, var(--palette-shade-dark-color) 18%, var(--color-error) 82%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-error-700:var(--palette-shade-dark-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-error-700:color-mix(in oklch, var(--palette-shade-dark-color) 34%, var(--color-error) 66%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-error-800:var(--palette-shade-dark-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-error-800:color-mix(in oklch, var(--palette-shade-dark-color) 50%, var(--color-error) 50%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-error-900:var(--palette-shade-dark-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-error-900:color-mix(in oklch, var(--palette-shade-dark-color) 65%, var(--color-error) 35%)}}.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-error-950:var(--palette-shade-dark-color)}@supports (color:color-mix(in lab, red, red)){.markdown-editor-wrapper,.markdown-editor-wrapper[data-theme],[data-theme] .markdown-editor-wrapper{--color-error-950:color-mix(in oklch, var(--palette-shade-dark-color) 80%, var(--color-error) 20%)}}}@layer theme{.markdown-editor-wrapper[data-theme=darkberry],[data-theme=darkberry] .markdown-editor-wrapper,.markdown-editor-wrapper[data-theme=dark],[data-theme=dark] .markdown-editor-wrapper{--scheme-color:dark;--border-radius:.25rem;--color-base:oklch(10.889% .00301 17.398);--color-on-base:oklch(98% .01 270);--color-neutral:oklch(85% 0 0);--color-on-neutral:oklch(20% 0 0);--color-primary:oklch(66.385% .18368 285.592);--color-on-primary:oklch(10% .01 270);--color-secondary:oklch(65% .18 220);--color-on-secondary:oklch(10% .01 220);--color-accent:oklch(75% .18 50);--color-on-accent:oklch(10% .01 50);--color-info:oklch(91.67% .077 205.04);--color-on-info:oklch(10% .01 250);--color-success:oklch(65% .18 140);--color-on-success:oklch(10% .01 140);--color-warning:oklch(75% .2 85);--color-on-warning:oklch(10% .01 85);--color-error:oklch(60% .22 30);--color-on-error:oklch(10% .01 30)}.markdown-editor-wrapper:not([data-theme]),.markdown-editor-wrapper[data-theme=snowberry],[data-theme=snowberry] .markdown-editor-wrapper,.markdown-editor-wrapper[data-theme=light],[data-theme=light] .markdown-editor-wrapper{--scheme-color:light;--border-radius:.25rem;--color-base:oklch(100% 0 0);--color-on-base:oklch(22% 0 0);--color-neutral:oklch(15% 0 0);--color-on-neutral:oklch(100% 0 0);--color-primary:oklch(51.1% .262 276.966);--color-on-primary:oklch(96.2% .018 272.314);--color-secondary:oklch(59.1% .293 322.896);--color-on-secondary:oklch(100% 0 0);--color-accent:oklch(54.1% .281 293.009);--color-on-accent:oklch(100% 0 0);--color-info:oklch(68.5% .169 237.323);--color-on-info:oklch(15% 0 0);--color-success:oklch(79.2% .209 151.711);--color-on-success:oklch(15% 0 0);--color-warning:oklch(85.2% .199 91.936);--color-on-warning:oklch(15% 0 0);--color-error:oklch(57.7% .245 27.325);--color-on-error:oklch(100% 0 0)}}@container countdown style(--digits:3){span:before{content:"000\\a 001\\a 002\\a 003\\a 004\\a 005\\a 006\\a 007\\a 008\\a 009\\a 010\\a 011\\a 012\\a 013\\a 014\\a 015\\a 016\\a 017\\a 018\\a 019\\a 020\\a 021\\a 022\\a 023\\a 024\\a 025\\a 026\\a 027\\a 028\\a 029\\a 030\\a 031\\a 032\\a 033\\a 034\\a 035\\a 036\\a 037\\a 038\\a 039\\a 040\\a 041\\a 042\\a 043\\a 044\\a 045\\a 046\\a 047\\a 048\\a 049\\a 050\\a 051\\a 052\\a 053\\a 054\\a 055\\a 056\\a 057\\a 058\\a 059\\a 060\\a 061\\a 062\\a 063\\a 064\\a 065\\a 066\\a 067\\a 068\\a 069\\a 070\\a 071\\a 072\\a 073\\a 074\\a 075\\a 076\\a 077\\a 078\\a 079\\a 080\\a 081\\a 082\\a 083\\a 084\\a 085\\a 086\\a 087\\a 088\\a 089\\a 090\\a 091\\a 092\\a 093\\a 094\\a 095\\a 096\\a 097\\a 098\\a 099\\a 100\\a 101\\a 102\\a 103\\a 104\\a 105\\a 106\\a 107\\a 108\\a 109\\a 110\\a 111\\a 112\\a 113\\a 114\\a 115\\a 116\\a 117\\a 118\\a 119\\a 120\\a 121\\a 122\\a 123\\a 124\\a 125\\a 126\\a 127\\a 128\\a 129\\a 130\\a 131\\a 132\\a 133\\a 134\\a 135\\a 136\\a 137\\a 138\\a 139\\a 140\\a 141\\a 142\\a 143\\a 144\\a 145\\a 146\\a 147\\a 148\\a 149\\a 150\\a 151\\a 152\\a 153\\a 154\\a 155\\a 156\\a 157\\a 158\\a 159\\a 160\\a 161\\a 162\\a 163\\a 164\\a 165\\a 166\\a 167\\a 168\\a 169\\a 170\\a 171\\a 172\\a 173\\a 174\\a 175\\a 176\\a 177\\a 178\\a 179\\a 180\\a 181\\a 182\\a 183\\a 184\\a 185\\a 186\\a 187\\a 188\\a 189\\a 190\\a 191\\a 192\\a 193\\a 194\\a 195\\a 196\\a 197\\a 198\\a 199\\a 200\\a 201\\a 202\\a 203\\a 204\\a 205\\a 206\\a 207\\a 208\\a 209\\a 210\\a 211\\a 212\\a 213\\a 214\\a 215\\a 216\\a 217\\a 218\\a 219\\a 220\\a 221\\a 222\\a 223\\a 224\\a 225\\a 226\\a 227\\a 228\\a 229\\a 230\\a 231\\a 232\\a 233\\a 234\\a 235\\a 236\\a 237\\a 238\\a 239\\a 240\\a 241\\a 242\\a 243\\a 244\\a 245\\a 246\\a 247\\a 248\\a 249\\a 250\\a 251\\a 252\\a 253\\a 254\\a 255\\a 256\\a 257\\a 258\\a 259\\a 260\\a 261\\a 262\\a 263\\a 264\\a 265\\a 266\\a 267\\a 268\\a 269\\a 270\\a 271\\a 272\\a 273\\a 274\\a 275\\a 276\\a 277\\a 278\\a 279\\a 280\\a 281\\a 282\\a 283\\a 284\\a 285\\a 286\\a 287\\a 288\\a 289\\a 290\\a 291\\a 292\\a 293\\a 294\\a 295\\a 296\\a 297\\a 298\\a 299\\a 300\\a 301\\a 302\\a 303\\a 304\\a 305\\a 306\\a 307\\a 308\\a 309\\a 310\\a 311\\a 312\\a 313\\a 314\\a 315\\a 316\\a 317\\a 318\\a 319\\a 320\\a 321\\a 322\\a 323\\a 324\\a 325\\a 326\\a 327\\a 328\\a 329\\a 330\\a 331\\a 332\\a 333\\a 334\\a 335\\a 336\\a 337\\a 338\\a 339\\a 340\\a 341\\a 342\\a 343\\a 344\\a 345\\a 346\\a 347\\a 348\\a 349\\a 350\\a 351\\a 352\\a 353\\a 354\\a 355\\a 356\\a 357\\a 358\\a 359\\a 360\\a 361\\a 362\\a 363\\a 364\\a 365\\a 366\\a 367\\a 368\\a 369\\a 370\\a 371\\a 372\\a 373\\a 374\\a 375\\a 376\\a 377\\a 378\\a 379\\a 380\\a 381\\a 382\\a 383\\a 384\\a 385\\a 386\\a 387\\a 388\\a 389\\a 390\\a 391\\a 392\\a 393\\a 394\\a 395\\a 396\\a 397\\a 398\\a 399\\a 400\\a 401\\a 402\\a 403\\a 404\\a 405\\a 406\\a 407\\a 408\\a 409\\a 410\\a 411\\a 412\\a 413\\a 414\\a 415\\a 416\\a 417\\a 418\\a 419\\a 420\\a 421\\a 422\\a 423\\a 424\\a 425\\a 426\\a 427\\a 428\\a 429\\a 430\\a 431\\a 432\\a 433\\a 434\\a 435\\a 436\\a 437\\a 438\\a 439\\a 440\\a 441\\a 442\\a 443\\a 444\\a 445\\a 446\\a 447\\a 448\\a 449\\a 450\\a 451\\a 452\\a 453\\a 454\\a 455\\a 456\\a 457\\a 458\\a 459\\a 460\\a 461\\a 462\\a 463\\a 464\\a 465\\a 466\\a 467\\a 468\\a 469\\a 470\\a 471\\a 472\\a 473\\a 474\\a 475\\a 476\\a 477\\a 478\\a 479\\a 480\\a 481\\a 482\\a 483\\a 484\\a 485\\a 486\\a 487\\a 488\\a 489\\a 490\\a 491\\a 492\\a 493\\a 494\\a 495\\a 496\\a 497\\a 498\\a 499\\a 500\\a 501\\a 502\\a 503\\a 504\\a 505\\a 506\\a 507\\a 508\\a 509\\a 510\\a 511\\a 512\\a 513\\a 514\\a 515\\a 516\\a 517\\a 518\\a 519\\a 520\\a 521\\a 522\\a 523\\a 524\\a 525\\a 526\\a 527\\a 528\\a 529\\a 530\\a 531\\a 532\\a 533\\a 534\\a 535\\a 536\\a 537\\a 538\\a 539\\a 540\\a 541\\a 542\\a 543\\a 544\\a 545\\a 546\\a 547\\a 548\\a 549\\a 550\\a 551\\a 552\\a 553\\a 554\\a 555\\a 556\\a 557\\a 558\\a 559\\a 560\\a 561\\a 562\\a 563\\a 564\\a 565\\a 566\\a 567\\a 568\\a 569\\a 570\\a 571\\a 572\\a 573\\a 574\\a 575\\a 576\\a 577\\a 578\\a 579\\a 580\\a 581\\a 582\\a 583\\a 584\\a 585\\a 586\\a 587\\a 588\\a 589\\a 590\\a 591\\a 592\\a 593\\a 594\\a 595\\a 596\\a 597\\a 598\\a 599\\a 600\\a 601\\a 602\\a 603\\a 604\\a 605\\a 606\\a 607\\a 608\\a 609\\a 610\\a 611\\a 612\\a 613\\a 614\\a 615\\a 616\\a 617\\a 618\\a 619\\a 620\\a 621\\a 622\\a 623\\a 624\\a 625\\a 626\\a 627\\a 628\\a 629\\a 630\\a 631\\a 632\\a 633\\a 634\\a 635\\a 636\\a 637\\a 638\\a 639\\a 640\\a 641\\a 642\\a 643\\a 644\\a 645\\a 646\\a 647\\a 648\\a 649\\a 650\\a 651\\a 652\\a 653\\a 654\\a 655\\a 656\\a 657\\a 658\\a 659\\a 660\\a 661\\a 662\\a 663\\a 664\\a 665\\a 666\\a 667\\a 668\\a 669\\a 670\\a 671\\a 672\\a 673\\a 674\\a 675\\a 676\\a 677\\a 678\\a 679\\a 680\\a 681\\a 682\\a 683\\a 684\\a 685\\a 686\\a 687\\a 688\\a 689\\a 690\\a 691\\a 692\\a 693\\a 694\\a 695\\a 696\\a 697\\a 698\\a 699\\a 700\\a 701\\a 702\\a 703\\a 704\\a 705\\a 706\\a 707\\a 708\\a 709\\a 710\\a 711\\a 712\\a 713\\a 714\\a 715\\a 716\\a 717\\a 718\\a 719\\a 720\\a 721\\a 722\\a 723\\a 724\\a 725\\a 726\\a 727\\a 728\\a 729\\a 730\\a 731\\a 732\\a 733\\a 734\\a 735\\a 736\\a 737\\a 738\\a 739\\a 740\\a 741\\a 742\\a 743\\a 744\\a 745\\a 746\\a 747\\a 748\\a 749\\a 750\\a 751\\a 752\\a 753\\a 754\\a 755\\a 756\\a 757\\a 758\\a 759\\a 760\\a 761\\a 762\\a 763\\a 764\\a 765\\a 766\\a 767\\a 768\\a 769\\a 770\\a 771\\a 772\\a 773\\a 774\\a 775\\a 776\\a 777\\a 778\\a 779\\a 780\\a 781\\a 782\\a 783\\a 784\\a 785\\a 786\\a 787\\a 788\\a 789\\a 790\\a 791\\a 792\\a 793\\a 794\\a 795\\a 796\\a 797\\a 798\\a 799\\a 800\\a 801\\a 802\\a 803\\a 804\\a 805\\a 806\\a 807\\a 808\\a 809\\a 810\\a 811\\a 812\\a 813\\a 814\\a 815\\a 816\\a 817\\a 818\\a 819\\a 820\\a 821\\a 822\\a 823\\a 824\\a 825\\a 826\\a 827\\a 828\\a 829\\a 830\\a 831\\a 832\\a 833\\a 834\\a 835\\a 836\\a 837\\a 838\\a 839\\a 840\\a 841\\a 842\\a 843\\a 844\\a 845\\a 846\\a 847\\a 848\\a 849\\a 850\\a 851\\a 852\\a 853\\a 854\\a 855\\a 856\\a 857\\a 858\\a 859\\a 860\\a 861\\a 862\\a 863\\a 864\\a 865\\a 866\\a 867\\a 868\\a 869\\a 870\\a 871\\a 872\\a 873\\a 874\\a 875\\a 876\\a 877\\a 878\\a 879\\a 880\\a 881\\a 882\\a 883\\a 884\\a 885\\a 886\\a 887\\a 888\\a 889\\a 890\\a 891\\a 892\\a 893\\a 894\\a 895\\a 896\\a 897\\a 898\\a 899\\a 900\\a 901\\a 902\\a 903\\a 904\\a 905\\a 906\\a 907\\a 908\\a 909\\a 910\\a 911\\a 912\\a 913\\a 914\\a 915\\a 916\\a 917\\a 918\\a 919\\a 920\\a 921\\a 922\\a 923\\a 924\\a 925\\a 926\\a 927\\a 928\\a 929\\a 930\\a 931\\a 932\\a 933\\a 934\\a 935\\a 936\\a 937\\a 938\\a 939\\a 940\\a 941\\a 942\\a 943\\a 944\\a 945\\a 946\\a 947\\a 948\\a 949\\a 950\\a 951\\a 952\\a 953\\a 954\\a 955\\a 956\\a 957\\a 958\\a 959\\a 960\\a 961\\a 962\\a 963\\a 964\\a 965\\a 966\\a 967\\a 968\\a 969\\a 970\\a 971\\a 972\\a 973\\a 974\\a 975\\a 976\\a 977\\a 978\\a 979\\a 980\\a 981\\a 982\\a 983\\a 984\\a 985\\a 986\\a 987\\a 988\\a 989\\a 990\\a 991\\a 992\\a 993\\a 994\\a 995\\a 996\\a 997\\a 998\\a 999"}}@keyframes loading-spin{to{transform:rotate(360deg)}}@keyframes loading-pulse{0%,80%,to{opacity:.5;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}@keyframes loading-bars{0%,to{transform:scaleY(.4)}50%{transform:scaleY(1)}}@keyframes marquee-scroll{0%{translate:0}to{translate:var(--marquee--axis)}}@keyframes progress{50%{background-position-x:-115%}}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}:where(.me-swap-rotate) :where(.me-swap-on),:where(.me-swap-rotate) :where(.me-swap-indeterminate){rotate:45deg}:where(.me-table-pin-cols) :where(tr th){background-color:var(--color-table);position:sticky;inset-inline:0}:where(.me-table-pin-rows) :where(thead tr){background-color:var(--color-table);z-index:1;position:sticky;inset-block-start:0}:where(.me-table-hover) :where(tbody tr){transition-property:background-color;transition-duration:.15s;transition-timing-function:linear}:where(.me-table-hover) :where(tbody tr):hover,:where(.me-table-zebra) :where(tbody tr:nth-child(2n)),:where(.me-table-zebra-cols) :where(tbody tr td:nth-child(2n)),:where(.me-table-zebra-rows) :where(tbody tr:nth-child(2n)){background-color:var(--color-table-soft)}:where(.me-table-lg) :where(:not(thead,tfoot) tr){font-size:1.125rem}:where(.me-table-lg) :where(th,td){padding-block:1rem;padding-inline:1.25rem}:where(.me-table-md) :where(:not(thead,tfoot) tr){font-size:.875rem}:where(.me-table-md) :where(th,td){padding-block:.75rem;padding-inline:1rem}:where(.me-table-sm) :where(:not(thead,tfoot) tr){font-size:.75rem}:where(.me-table-sm) :where(th,td){padding-block:.5rem;padding-inline:.75rem}:where(.me-table-xl) :where(:not(thead,tfoot) tr){font-size:1.375rem}:where(.me-table-xl) :where(th,td){padding-block:1.25rem;padding-inline:1.5rem}:where(.me-table-xs) :where(:not(thead,tfoot) tr){font-size:.6875rem}:where(.me-table-xs) :where(th,td){padding-block:.25rem;padding-inline:.5rem}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-content{syntax:"*";inherits:false;initial-value:""}/*$vite$:1*/`)),document.head.appendChild(e)}}catch(e){console.error(`vite-plugin-css-injected-by-js`,e)}})();
|
|
2
1
|
//#region node_modules/marked/lib/marked.esm.js
|
|
3
2
|
function e() {
|
|
4
3
|
return {
|
|
@@ -102,105 +101,105 @@ var o = ((e = "") => {
|
|
|
102
101
|
headingBeginRegex: i((e) => RegExp(`^ {0,${e}}#`)),
|
|
103
102
|
htmlBeginRegex: i((e) => RegExp(`^ {0,${e}}(?:</?(?:${y})(?: +|$|/?>)|<(?:script|pre|style|textarea|!--))`, "i")),
|
|
104
103
|
blockquoteBeginRegex: i((e) => RegExp(`^ {0,${e}}>`))
|
|
105
|
-
}, c = /^(?:[ \t]*(?:\n|$))+/, l = /^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/, u = /^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/, d = /^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/, f = /^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/, p = / {0,3}(?:[*+-]|\d{1,9}[.)])/, m = /^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |fences|blockquote|heading|hr|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,
|
|
106
|
-
blockquote: a(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",
|
|
104
|
+
}, c = /^(?:[ \t]*(?:\n|$))+/, l = /^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/, u = /^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/, d = /^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/, f = /^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/, p = / {0,3}(?:[*+-]|\d{1,9}[.)])/, m = /^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |fences|blockquote|heading|hr|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/, ee = a(m).replace(/bull/g, p).replace(/blockCode/g, /(?: {4}| {0,3}\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}(?:\s|$)/).replace(/hr/g, / {0,3}(?:(?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/).replace(/html/g, / {0,3}<[^\n>]+>\n/).replace(/\|table/g, "").getRegex(), h = a(m).replace(/bull/g, p).replace(/blockCode/g, /(?: {4}| {0,3}\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}(?:\s|$)/).replace(/hr/g, / {0,3}(?:(?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/).replace(/html/g, / {0,3}<[^\n>]+>\n/).replace(/table/g, / {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(), g = /^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table|[ \t]+\n)[^\n]+)*)/, _ = /^[^\n]+/, te = /(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/, v = a(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label", te).replace("title", /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(), ne = a(/^(bull)([ \t][^\n]*?)?(?:\n|$)/).replace(/bull/g, p).getRegex(), y = "address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul", re = /<!--(?:-?>|[\s\S]*?(?:-->|$))/, ie = a("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n*|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>[^\\n]*\\n*|$)|<![A-Z][\\s\\S]*?(?:>[^\\n]*\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>[^\\n]*\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][a-z0-9-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][a-z0-9-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))", "i").replace("comment", re).replace("tag", y).replace("attribute", / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(), b = (e) => a(g).replace("hr", d).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("|table", "").replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*(?:\\n|$))|~~~)[^\\n]*(?:\\n|$)").replace("list", e).replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", y).getRegex(), ae = b(/ {0,3}(?:[*+-]|1[.)])[ \t]+[^ \t\n]/), oe = b(/ {0,3}(?:[*+-]|\d{1,9}[.)])(?:[ \t]|\n|$)/), se = {
|
|
105
|
+
blockquote: a(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph", oe).getRegex(),
|
|
107
106
|
code: l,
|
|
108
|
-
def:
|
|
107
|
+
def: v,
|
|
109
108
|
fences: u,
|
|
110
109
|
heading: f,
|
|
111
110
|
hr: d,
|
|
112
|
-
html:
|
|
113
|
-
lheading:
|
|
111
|
+
html: ie,
|
|
112
|
+
lheading: ee,
|
|
114
113
|
list: ne,
|
|
115
114
|
newline: c,
|
|
116
|
-
paragraph:
|
|
115
|
+
paragraph: ae,
|
|
117
116
|
table: r,
|
|
118
|
-
text:
|
|
119
|
-
},
|
|
120
|
-
...
|
|
121
|
-
lheading:
|
|
122
|
-
table:
|
|
123
|
-
paragraph: a(
|
|
124
|
-
},
|
|
125
|
-
...
|
|
126
|
-
html: a("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\s[^'\"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",
|
|
117
|
+
text: _
|
|
118
|
+
}, ce = a("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr", d).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("blockquote", " {0,3}>").replace("code", "(?: {4}| {0,3} )[^\\n]").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*(?:\\n|$))|~~~)[^\\n]*(?:\\n|$)").replace("list", " {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", y).getRegex(), le = {
|
|
119
|
+
...se,
|
|
120
|
+
lheading: h,
|
|
121
|
+
table: ce,
|
|
122
|
+
paragraph: a(g).replace("hr", d).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("table", ce).replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*(?:\\n|$))|~~~)[^\\n]*(?:\\n|$)").replace("list", " {0,3}(?:[*+-]|1[.)])[ \\t]+[^ \\t\\n]").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", y).getRegex()
|
|
123
|
+
}, ue = {
|
|
124
|
+
...se,
|
|
125
|
+
html: a("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\s[^'\"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment", re).replace(/tag/g, "(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),
|
|
127
126
|
def: /^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,
|
|
128
127
|
heading: /^(#{1,6})(.*)(?:\n+|$)/,
|
|
129
128
|
fences: r,
|
|
130
129
|
lheading: /^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,
|
|
131
|
-
paragraph: a(
|
|
132
|
-
},
|
|
130
|
+
paragraph: a(g).replace("hr", d).replace("heading", " *#{1,6} *[^\n]").replace("lheading", ee).replace("|table", "").replace("blockquote", " {0,3}>").replace("|fences", "").replace("|list", "").replace("|html", "").replace("|tag", "").getRegex()
|
|
131
|
+
}, de = /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/, fe = /^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/, pe = /^( {2,}|\\)\n(?!\s*$)[ \t]*/, me = /^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/, x = /[\p{P}\p{S}]/u, he = /[\s\p{P}\p{S}]/u, ge = /[^\s\p{P}\p{S}]/u, _e = a(/^((?![*_])punctSpace)/, "u").replace(/punctSpace/g, he).getRegex(), S = /[\p{Pi}\p{Ps}"']/u, ve = /(?!~)[\p{P}\p{S}]/u, ye = /(?!~)[\s\p{P}\p{S}]/u, be = /(?:[^\s\p{P}\p{S}]|~)/u, xe = a(/link|precode-code|html/, "g").replace("link", /\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-", o ? "(?<!`)()" : "(^^|[^`])").replace("code", /(?<b>`+)[^`]+\k<b>(?!`)/).replace("html", /<(?! )[^<>]*?>/).getRegex(), Se = /^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/, Ce = a(Se, "u").replace(/punct/g, x).getRegex(), we = a(Se, "u").replace(/punct/g, ve).getRegex(), Te = a(/^(?:\*+(?:((?!\*)(?!openQuote)punct)|([^\s*]))?)|^_+(?:((?!_)(?!openQuote)punct)|([^\s_]))?/, "u").replace(/openQuote/g, S).replace(/punct/g, x).getRegex(), Ee = "^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)", C = a(Ee, "gu").replace(/notPunctSpace/g, ge).replace(/punctSpace/g, he).replace(/punct/g, x).getRegex(), De = a(Ee, "gu").replace(/notPunctSpace/g, be).replace(/punctSpace/g, ye).replace(/punct/g, ve).getRegex(), w = a("^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)[\\s](\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|(?:(?!\\*)punct|notPunctSpace)(\\*+)(?!\\*)(?=notPunctSpace)", "gu").replace(/notPunctSpace/g, ge).replace(/punctSpace/g, he).replace(/punct/g, x).getRegex(), Oe = a("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)", "gu").replace(/notPunctSpace/g, ge).replace(/punctSpace/g, he).replace(/punct/g, x).getRegex(), T = a("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)[\\s](_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)|(?:(?!_)punct|notPunctSpace)(_+)(?!_)(?=notPunctSpace)", "gu").replace(/notPunctSpace/g, ge).replace(/punctSpace/g, he).replace(/punct/g, x).getRegex(), ke = a(/^~~?(?:((?!~)punct)|[^\s~])/, "u").replace(/punct/g, x).getRegex(), Ae = a("^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)", "gu").replace(/notPunctSpace/g, ge).replace(/punctSpace/g, he).replace(/punct/g, x).getRegex(), E = a(/\\(punct)/, "gu").replace(/punct/g, x).getRegex(), je = a(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme", /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email", /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(), Me = a(re).replace("(?:-->|$)", "-->").getRegex(), Ne = a("^comment|^</[a-zA-Z][a-zA-Z0-9-]*\\s*>|^<[a-zA-Z][a-zA-Z0-9-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment", Me).replace("attribute", /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(), Pe = /\[(?:\\[\s\S]|[^\[\]\\])*\]/, D = a(/(?:\[(?:brackets|\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/).replace("brackets", Pe).getRegex(), Fe = a(/^!?\[(label)\]\([ \t\n]*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?[ \t\n]*\)/).replace("label", D).replace("href", /<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]+|(?=\))/).replace("title", /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(), O = a(/^!?\[(label)\]\[(ref)\]/).replace("label", D).replace("ref", te).getRegex(), Ie = a(/^!?\[(ref)\](?:\[\])?/).replace("ref", te).getRegex(), Le = /(?!\s*\])(?:\\[\s\S]|[^\[\]\\]){1,999}/, Re = a(/(?:[^\[\]\\`]*(?:\[(?:brackets|\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\]))){0,999}?[^\[\]\\`]*?/).replace("brackets", Pe).getRegex(), ze = a("reflink|nolink(?!\\()", "g").replace("reflink", a(/^!?\[(label)\]\[(ref)\]/).replace("label", Re).replace("ref", Le).getRegex()).replace("nolink", a(/^!?\[(ref)\](?:\[\])?/).replace("ref", Le).getRegex()).getRegex(), k = /[hH][tT][tT][pP][sS]?|[fF][tT][pP]/, Be = a(/(?:mailto:email|xmpp:email(?:\/[A-Za-z0-9@.]+)?)/).replace(/email/g, /[A-Za-z0-9._+-]+@[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![\w-])/).getRegex(), Ve = {
|
|
133
132
|
_backpedal: r,
|
|
134
|
-
anyPunctuation:
|
|
135
|
-
autolink:
|
|
136
|
-
blockSkip:
|
|
137
|
-
br:
|
|
138
|
-
code:
|
|
133
|
+
anyPunctuation: E,
|
|
134
|
+
autolink: je,
|
|
135
|
+
blockSkip: xe,
|
|
136
|
+
br: pe,
|
|
137
|
+
code: fe,
|
|
139
138
|
del: r,
|
|
140
139
|
delLDelim: r,
|
|
141
140
|
delRDelim: r,
|
|
142
|
-
emStrongLDelim:
|
|
143
|
-
emStrongRDelimAst:
|
|
144
|
-
emStrongRDelimUnd:
|
|
145
|
-
escape:
|
|
146
|
-
link:
|
|
141
|
+
emStrongLDelim: Ce,
|
|
142
|
+
emStrongRDelimAst: C,
|
|
143
|
+
emStrongRDelimUnd: Oe,
|
|
144
|
+
escape: de,
|
|
145
|
+
link: Fe,
|
|
147
146
|
nolink: Ie,
|
|
148
|
-
punctuation:
|
|
149
|
-
reflink:
|
|
147
|
+
punctuation: _e,
|
|
148
|
+
reflink: O,
|
|
150
149
|
reflinkSearch: ze,
|
|
151
|
-
tag:
|
|
152
|
-
text:
|
|
150
|
+
tag: Ne,
|
|
151
|
+
text: me,
|
|
153
152
|
url: r
|
|
153
|
+
}, He = {
|
|
154
|
+
...Ve,
|
|
155
|
+
emStrongLDelim: Te,
|
|
156
|
+
emStrongRDelimAst: w,
|
|
157
|
+
emStrongRDelimUnd: T,
|
|
158
|
+
link: a(/^!?\[(label)\]\((.*?)\)/).replace("label", D).getRegex(),
|
|
159
|
+
reflink: a(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label", D).getRegex()
|
|
154
160
|
}, Ue = {
|
|
155
|
-
...
|
|
161
|
+
...Ve,
|
|
162
|
+
emStrongRDelimAst: De,
|
|
156
163
|
emStrongLDelim: we,
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
reflink: a(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label", O).getRegex()
|
|
161
|
-
}, We = {
|
|
162
|
-
...He,
|
|
163
|
-
emStrongRDelimAst: Ee,
|
|
164
|
-
emStrongLDelim: Ce,
|
|
165
|
-
delLDelim: Oe,
|
|
166
|
-
delRDelim: ke,
|
|
167
|
-
url: a(/^emailProtocol|^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("emailProtocol", Ve).replace("protocol", Be).replace("email", /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![\w-])/).getRegex(),
|
|
164
|
+
delLDelim: ke,
|
|
165
|
+
delRDelim: Ae,
|
|
166
|
+
url: a(/^emailProtocol|^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("emailProtocol", Be).replace("protocol", k).replace("email", /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![\w-])/).getRegex(),
|
|
168
167
|
_backpedal: /(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,
|
|
169
168
|
del: /^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,
|
|
170
|
-
text: a(/^(?:[^a-zA-Z0-9](?=emailProtocol)|(`+|~+|[^`~])(?:(?=[`~])|(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9](?=emailProtocol)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@))))/).replace("protocol",
|
|
169
|
+
text: a(/^(?:[^a-zA-Z0-9](?=emailProtocol)|(`+|~+|[^`~])(?:(?=[`~])|(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9](?=emailProtocol)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@))))/).replace("protocol", k).replace(/emailProtocol/g, /(?:mailto|xmpp):/).getRegex()
|
|
170
|
+
}, We = {
|
|
171
|
+
...Ue,
|
|
172
|
+
br: a(pe).replace("{2,}", "*").getRegex(),
|
|
173
|
+
text: a(Ue.text).replace("\\b_", "\\b_| {2,}\\n").replace(/\{2,\}/g, "*").getRegex()
|
|
171
174
|
}, Ge = {
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
+
normal: se,
|
|
176
|
+
gfm: le,
|
|
177
|
+
pedantic: ue
|
|
178
|
+
}, A = {
|
|
179
|
+
normal: Ve,
|
|
180
|
+
gfm: Ue,
|
|
181
|
+
breaks: We,
|
|
182
|
+
pedantic: He
|
|
175
183
|
}, Ke = {
|
|
176
|
-
normal: oe,
|
|
177
|
-
gfm: ce,
|
|
178
|
-
pedantic: le
|
|
179
|
-
}, qe = {
|
|
180
|
-
normal: He,
|
|
181
|
-
gfm: We,
|
|
182
|
-
breaks: Ge,
|
|
183
|
-
pedantic: Ue
|
|
184
|
-
}, Je = {
|
|
185
184
|
"&": "&",
|
|
186
185
|
"<": "<",
|
|
187
186
|
">": ">",
|
|
188
187
|
"\"": """,
|
|
189
188
|
"'": "'"
|
|
190
|
-
},
|
|
191
|
-
function
|
|
189
|
+
}, j = (e) => Ke[e];
|
|
190
|
+
function M(e, t) {
|
|
192
191
|
if (t) {
|
|
193
|
-
if (s.escapeTest.test(e)) return e.replace(s.escapeReplace,
|
|
194
|
-
} else if (s.escapeTestNoEncode.test(e)) return e.replace(s.escapeReplaceNoEncode,
|
|
192
|
+
if (s.escapeTest.test(e)) return e.replace(s.escapeReplace, j);
|
|
193
|
+
} else if (s.escapeTestNoEncode.test(e)) return e.replace(s.escapeReplaceNoEncode, j);
|
|
195
194
|
return e;
|
|
196
195
|
}
|
|
197
|
-
function
|
|
196
|
+
function qe(e) {
|
|
198
197
|
return e.replace(s.numericCharacterReference, (e, t, n) => {
|
|
199
198
|
let r = t === void 0 ? Number.parseInt(n, 16) : Number.parseInt(t, 10);
|
|
200
199
|
return r === 0 || r > 1114111 || r >= 55296 && r <= 57343 ? "�" : String.fromCodePoint(r);
|
|
201
200
|
});
|
|
202
201
|
}
|
|
203
|
-
function
|
|
202
|
+
function Je(e) {
|
|
204
203
|
try {
|
|
205
204
|
e = encodeURI(e).replace(s.percentDecode, "%");
|
|
206
205
|
} catch {
|
|
@@ -208,7 +207,7 @@ function Ze(e) {
|
|
|
208
207
|
}
|
|
209
208
|
return e;
|
|
210
209
|
}
|
|
211
|
-
function
|
|
210
|
+
function Ye(e, t) {
|
|
212
211
|
let n = e.replace(s.findPipe, (e, t, n) => {
|
|
213
212
|
let r = !1, i = t;
|
|
214
213
|
for (; --i >= 0 && n[i] === "\\";) r = !r;
|
|
@@ -221,7 +220,7 @@ function Qe(e, t) {
|
|
|
221
220
|
for (; r < n.length; r++) n[r] = n[r].trim().replace(s.slashPipe, "|");
|
|
222
221
|
return n;
|
|
223
222
|
}
|
|
224
|
-
function
|
|
223
|
+
function N(e, t, n) {
|
|
225
224
|
let r = e.length;
|
|
226
225
|
if (r === 0) return "";
|
|
227
226
|
let i = 0;
|
|
@@ -233,23 +232,23 @@ function A(e, t, n) {
|
|
|
233
232
|
}
|
|
234
233
|
return e.slice(0, r - i);
|
|
235
234
|
}
|
|
236
|
-
function
|
|
235
|
+
function Xe(e) {
|
|
237
236
|
let t = e.split("\n"), n = t.length - 1;
|
|
238
237
|
for (; n >= 0 && s.blankLine.test(t[n]);) n--;
|
|
239
238
|
return t.length - n <= 2 ? e : t.slice(0, n + 1).join("\n");
|
|
240
239
|
}
|
|
241
|
-
function
|
|
240
|
+
function P(e) {
|
|
242
241
|
return e.trim().toLowerCase().toUpperCase().toLowerCase();
|
|
243
242
|
}
|
|
244
|
-
function
|
|
245
|
-
if (e.indexOf(t[1]) === -1) return -1;
|
|
243
|
+
function F(e, t) {
|
|
244
|
+
if (e.indexOf(t[0]) === -1 && e.indexOf(t[1]) === -1) return -1;
|
|
246
245
|
let n = 0;
|
|
247
246
|
for (let r = 0; r < e.length; r++) if (e[r] === "\\") r++;
|
|
248
247
|
else if (e[r] === t[0]) n++;
|
|
249
248
|
else if (e[r] === t[1] && (n--, n < 0)) return r;
|
|
250
249
|
return n > 0 ? -2 : -1;
|
|
251
250
|
}
|
|
252
|
-
function
|
|
251
|
+
function I(e, t = 0) {
|
|
253
252
|
let n = t, r = "";
|
|
254
253
|
for (let t of e) if (t === " ") {
|
|
255
254
|
let e = 4 - n % 4;
|
|
@@ -257,7 +256,7 @@ function N(e, t = 0) {
|
|
|
257
256
|
} else r += t, n++;
|
|
258
257
|
return r;
|
|
259
258
|
}
|
|
260
|
-
function
|
|
259
|
+
function Ze(e, t, n, r, i) {
|
|
261
260
|
let a = t.href, o = t.title || null, s = e[1].replace(i.other.outputLinkReplace, "$1"), c = e[0].charAt(0) === "!";
|
|
262
261
|
r.state.inLink = !0;
|
|
263
262
|
let l = r.state.linkEmitted, u = r.state.inRawBlock;
|
|
@@ -279,7 +278,7 @@ function et(e, t, n, r, i) {
|
|
|
279
278
|
tokens: d
|
|
280
279
|
};
|
|
281
280
|
}
|
|
282
|
-
function
|
|
281
|
+
function Qe(e, t, n) {
|
|
283
282
|
let r = e.match(n.other.indentCodeCompensation);
|
|
284
283
|
if (r === null) return t;
|
|
285
284
|
let i = r[1];
|
|
@@ -290,7 +289,7 @@ function tt(e, t, n) {
|
|
|
290
289
|
return e.slice(Math.min(r.length, i.length));
|
|
291
290
|
}).join("\n");
|
|
292
291
|
}
|
|
293
|
-
function
|
|
292
|
+
function $e(e, t, n, r) {
|
|
294
293
|
if (!t.includes("<")) return !1;
|
|
295
294
|
for (let i = 0; i < t.length; i++) {
|
|
296
295
|
if (t[i] === "\\") {
|
|
@@ -313,7 +312,7 @@ function nt(e, t, n, r) {
|
|
|
313
312
|
}
|
|
314
313
|
return !1;
|
|
315
314
|
}
|
|
316
|
-
var
|
|
315
|
+
var et = class {
|
|
317
316
|
options;
|
|
318
317
|
rules;
|
|
319
318
|
lexer;
|
|
@@ -330,7 +329,7 @@ var rt = class {
|
|
|
330
329
|
code(e) {
|
|
331
330
|
let t = this.rules.block.code.exec(e);
|
|
332
331
|
if (t) {
|
|
333
|
-
let e = this.options.pedantic ? t[0] :
|
|
332
|
+
let e = this.options.pedantic ? t[0] : Xe(t[0]);
|
|
334
333
|
return {
|
|
335
334
|
type: "code",
|
|
336
335
|
raw: e,
|
|
@@ -342,7 +341,7 @@ var rt = class {
|
|
|
342
341
|
fences(e) {
|
|
343
342
|
let t = this.rules.block.fences.exec(e);
|
|
344
343
|
if (t) {
|
|
345
|
-
let e = t[0], n =
|
|
344
|
+
let e = t[0], n = Qe(e, t[3] || "", this.rules);
|
|
346
345
|
return {
|
|
347
346
|
type: "code",
|
|
348
347
|
raw: e,
|
|
@@ -356,12 +355,12 @@ var rt = class {
|
|
|
356
355
|
if (t) {
|
|
357
356
|
let e = t[2].trim();
|
|
358
357
|
if (this.rules.other.endingHash.test(e)) {
|
|
359
|
-
let t =
|
|
358
|
+
let t = N(e, "#");
|
|
360
359
|
(this.options.pedantic || !t || this.rules.other.endingSpaceTabChar.test(t)) && (e = t.trim());
|
|
361
360
|
}
|
|
362
361
|
return {
|
|
363
362
|
type: "heading",
|
|
364
|
-
raw:
|
|
363
|
+
raw: N(t[0], "\n"),
|
|
365
364
|
depth: t[1].length,
|
|
366
365
|
text: e,
|
|
367
366
|
tokens: this.lexer.inline(e)
|
|
@@ -372,13 +371,13 @@ var rt = class {
|
|
|
372
371
|
let t = this.rules.block.hr.exec(e);
|
|
373
372
|
if (t) return {
|
|
374
373
|
type: "hr",
|
|
375
|
-
raw:
|
|
374
|
+
raw: N(t[0], "\n")
|
|
376
375
|
};
|
|
377
376
|
}
|
|
378
377
|
blockquote(e) {
|
|
379
378
|
let t = this.rules.block.blockquote.exec(e);
|
|
380
379
|
if (t) {
|
|
381
|
-
let e =
|
|
380
|
+
let e = N(t[0], "\n").split("\n"), n = "", r = "", i = [];
|
|
382
381
|
for (; e.length > 0;) {
|
|
383
382
|
let t = !1, a = [], o = 0;
|
|
384
383
|
for (; o < e.length; o++) if (this.rules.other.blockquoteStart.test(e[o])) a.push(e[o]), t = !0;
|
|
@@ -404,7 +403,6 @@ ${d.join("\n")}`), r = r.substring(0, r.length - t.text.length) + s.text;
|
|
|
404
403
|
if (u?.type === "list") {
|
|
405
404
|
let t = u, a = t.raw + "\n" + e.join("\n"), o = this.list(a);
|
|
406
405
|
i[i.length - 1] = o, n = n.substring(0, n.length - u.raw.length) + o.raw, r = r.substring(0, r.length - t.raw.length) + o.raw, e = a.substring(i.at(-1).raw.length).split("\n");
|
|
407
|
-
continue;
|
|
408
406
|
}
|
|
409
407
|
}
|
|
410
408
|
return {
|
|
@@ -432,7 +430,7 @@ ${d.join("\n")}`), r = r.substring(0, r.length - t.text.length) + s.text;
|
|
|
432
430
|
let n = !1, r = "", s = "";
|
|
433
431
|
if (!(t = a.exec(e)) || this.rules.block.hr.test(e)) break;
|
|
434
432
|
r = t[0], e = e.substring(r.length);
|
|
435
|
-
let c = t[2].split("\n", 1)[0], l = t[1].length, u = this.options.pedantic ?
|
|
433
|
+
let c = t[2].split("\n", 1)[0], l = t[1].length, u = this.options.pedantic ? I(c, l) : c.replace(this.rules.other.leadingSpaceTab, (e) => I(e, l)), d = e.split("\n", 1)[0], f = !u.trim(), p = 0;
|
|
436
434
|
if (this.options.pedantic ? (p = 2, s = u.trimStart()) : f ? p = l + 1 : (p = u.search(this.rules.other.nonSpaceChar), p = p > 4 ? 1 : p, s = u.slice(p), p += l), f && this.rules.other.blankLine.test(d) && (r += d + "\n", e = e.substring(d.length + 1), n = !0), !n) {
|
|
437
435
|
let t = this.rules.other.nextBulletRegex(p), n = this.rules.other.hrRegex(p), i = this.rules.other.fencesBeginRegex(p), a = this.rules.other.headingBeginRegex(p), o = this.rules.other.htmlBeginRegex(p), c = this.rules.other.blockquoteBeginRegex(p);
|
|
438
436
|
for (; e;) {
|
|
@@ -497,7 +495,7 @@ ${d.join("\n")}`), r = r.substring(0, r.length - t.text.length) + s.text;
|
|
|
497
495
|
html(e) {
|
|
498
496
|
let t = this.rules.block.html.exec(e);
|
|
499
497
|
if (t) {
|
|
500
|
-
let e =
|
|
498
|
+
let e = Xe(t[0]);
|
|
501
499
|
return {
|
|
502
500
|
type: "html",
|
|
503
501
|
block: !0,
|
|
@@ -510,11 +508,12 @@ ${d.join("\n")}`), r = r.substring(0, r.length - t.text.length) + s.text;
|
|
|
510
508
|
def(e) {
|
|
511
509
|
let t = this.rules.block.def.exec(e);
|
|
512
510
|
if (t) {
|
|
513
|
-
|
|
511
|
+
if (!this.rules.other.startAngleBracket.test(t[2]) && F(t[2], "()") !== -1) return;
|
|
512
|
+
let e = P(t[1]).replace(this.rules.other.multipleSpaceGlobal, " "), n = t[2] ? t[2].replace(this.rules.other.hrefBrackets, "$1").replace(this.rules.inline.anyPunctuation, "$1") : "", r = t[3] ? t[3].substring(1, t[3].length - 1).replace(this.rules.inline.anyPunctuation, "$1") : t[3];
|
|
514
513
|
return {
|
|
515
514
|
type: "def",
|
|
516
515
|
tag: e,
|
|
517
|
-
raw:
|
|
516
|
+
raw: N(t[0], "\n"),
|
|
518
517
|
href: n,
|
|
519
518
|
title: r
|
|
520
519
|
};
|
|
@@ -523,9 +522,9 @@ ${d.join("\n")}`), r = r.substring(0, r.length - t.text.length) + s.text;
|
|
|
523
522
|
table(e) {
|
|
524
523
|
let t = this.rules.block.table.exec(e);
|
|
525
524
|
if (!t || !this.rules.other.tableDelimiter.test(t[2])) return;
|
|
526
|
-
let n =
|
|
525
|
+
let n = Ye(t[1]), r = t[2].replace(this.rules.other.tableAlignChars, "").split("|"), i = t[3]?.trim() ? t[3].replace(this.rules.other.tableRowBlankLine, "").split("\n") : [], a = {
|
|
527
526
|
type: "table",
|
|
528
|
-
raw:
|
|
527
|
+
raw: N(t[0], "\n"),
|
|
529
528
|
header: [],
|
|
530
529
|
align: [],
|
|
531
530
|
rows: []
|
|
@@ -538,7 +537,7 @@ ${d.join("\n")}`), r = r.substring(0, r.length - t.text.length) + s.text;
|
|
|
538
537
|
header: !0,
|
|
539
538
|
align: a.align[e]
|
|
540
539
|
});
|
|
541
|
-
for (let e of i) a.rows.push(
|
|
540
|
+
for (let e of i) a.rows.push(Ye(e, a.header.length).map((e, t) => ({
|
|
542
541
|
text: e,
|
|
543
542
|
tokens: this.lexer.inline(e),
|
|
544
543
|
header: !1,
|
|
@@ -553,7 +552,7 @@ ${d.join("\n")}`), r = r.substring(0, r.length - t.text.length) + s.text;
|
|
|
553
552
|
let e = t[1].trim();
|
|
554
553
|
return {
|
|
555
554
|
type: "heading",
|
|
556
|
-
raw:
|
|
555
|
+
raw: N(t[0], "\n"),
|
|
557
556
|
depth: t[2].charAt(0) === "=" ? 1 : 2,
|
|
558
557
|
text: e,
|
|
559
558
|
tokens: this.lexer.inline(e)
|
|
@@ -601,17 +600,18 @@ ${d.join("\n")}`), r = r.substring(0, r.length - t.text.length) + s.text;
|
|
|
601
600
|
};
|
|
602
601
|
}
|
|
603
602
|
link(e) {
|
|
603
|
+
if (this.lexer.state.linkParenPossible === !1) return;
|
|
604
604
|
let t = this.rules.inline.link.exec(e);
|
|
605
605
|
if (t) {
|
|
606
606
|
let n = t[0].charAt(0) === "!" ? 2 : 1;
|
|
607
|
-
if (!this.options.pedantic &&
|
|
607
|
+
if (!this.options.pedantic && $e(e, t[1], n, this.rules)) return;
|
|
608
608
|
let r = t[2].trim();
|
|
609
609
|
if (!this.options.pedantic && this.rules.other.startAngleBracket.test(r)) {
|
|
610
610
|
if (!this.rules.other.endAngleBracket.test(r)) return;
|
|
611
|
-
let e =
|
|
611
|
+
let e = N(r.slice(0, -1), "\\");
|
|
612
612
|
if ((r.length - e.length) % 2 == 0) return;
|
|
613
613
|
} else {
|
|
614
|
-
let e =
|
|
614
|
+
let e = F(t[2], "()");
|
|
615
615
|
if (e === -2) return;
|
|
616
616
|
if (e > -1) {
|
|
617
617
|
let n = (t[0].indexOf("!") === 0 ? 5 : 4) + t[1].length + e;
|
|
@@ -623,7 +623,7 @@ ${d.join("\n")}`), r = r.substring(0, r.length - t.text.length) + s.text;
|
|
|
623
623
|
let e = this.rules.other.pedanticHrefTitle.exec(i);
|
|
624
624
|
e && (i = e[1], a = e[3]);
|
|
625
625
|
} else a = t[3] ? t[3].slice(1, -1) : "";
|
|
626
|
-
return i = i.trim(), this.rules.other.startAngleBracket.test(i) && (i = this.options.pedantic && !this.rules.other.endAngleBracket.test(r) ? i.slice(1) : i.slice(1, -1)),
|
|
626
|
+
return i = i.trim(), this.rules.other.startAngleBracket.test(i) && (i = this.options.pedantic && !this.rules.other.endAngleBracket.test(r) ? i.slice(1) : i.slice(1, -1)), Ze(t, {
|
|
627
627
|
href: i && i.replace(this.rules.inline.anyPunctuation, "$1"),
|
|
628
628
|
title: a && a.replace(this.rules.inline.anyPunctuation, "$1")
|
|
629
629
|
}, t[0], this.lexer, this.rules);
|
|
@@ -633,8 +633,8 @@ ${d.join("\n")}`), r = r.substring(0, r.length - t.text.length) + s.text;
|
|
|
633
633
|
let n;
|
|
634
634
|
if ((n = this.rules.inline.reflink.exec(e)) || (n = this.rules.inline.nolink.exec(e))) {
|
|
635
635
|
let r = n[0].charAt(0) === "!" ? 2 : 1;
|
|
636
|
-
if (!this.options.pedantic &&
|
|
637
|
-
let i = t[
|
|
636
|
+
if (!this.options.pedantic && $e(e, n[1], r, this.rules)) return;
|
|
637
|
+
let i = t[P((n[2] || n[1]).replace(this.rules.other.multipleSpaceGlobal, " "))];
|
|
638
638
|
if (!i) {
|
|
639
639
|
let e = n[0].charAt(0);
|
|
640
640
|
return {
|
|
@@ -643,7 +643,7 @@ ${d.join("\n")}`), r = r.substring(0, r.length - t.text.length) + s.text;
|
|
|
643
643
|
text: e
|
|
644
644
|
};
|
|
645
645
|
}
|
|
646
|
-
return
|
|
646
|
+
return Ze(n, i, n[0], this.lexer, this.rules);
|
|
647
647
|
}
|
|
648
648
|
}
|
|
649
649
|
emStrong(e, t, n = "") {
|
|
@@ -776,35 +776,36 @@ ${d.join("\n")}`), r = r.substring(0, r.length - t.text.length) + s.text;
|
|
|
776
776
|
return {
|
|
777
777
|
type: "text",
|
|
778
778
|
raw: t[0],
|
|
779
|
-
text: e ? t[0] :
|
|
779
|
+
text: e ? t[0] : qe(t[0]),
|
|
780
780
|
escaped: e
|
|
781
781
|
};
|
|
782
782
|
}
|
|
783
783
|
}
|
|
784
|
-
},
|
|
784
|
+
}, L = class e {
|
|
785
785
|
tokens;
|
|
786
786
|
options;
|
|
787
787
|
state;
|
|
788
788
|
inlineQueue;
|
|
789
789
|
tokenizer;
|
|
790
790
|
constructor(e) {
|
|
791
|
-
this.tokens = [], this.tokens.links = Object.create(null), this.options = e || t, this.options.tokenizer = this.options.tokenizer || new
|
|
791
|
+
this.tokens = [], this.tokens.links = Object.create(null), this.options = e || t, this.options.tokenizer = this.options.tokenizer || new et(), this.tokenizer = this.options.tokenizer, this.tokenizer.options = this.options, this.tokenizer.lexer = this, this.inlineQueue = [], this.state = {
|
|
792
792
|
inLink: !1,
|
|
793
793
|
inRawBlock: !1,
|
|
794
794
|
linkEmitted: !1,
|
|
795
|
+
linkParenPossible: !0,
|
|
795
796
|
top: !0
|
|
796
797
|
};
|
|
797
798
|
let n = {
|
|
798
799
|
other: s,
|
|
799
|
-
block:
|
|
800
|
-
inline:
|
|
800
|
+
block: Ge.normal,
|
|
801
|
+
inline: A.normal
|
|
801
802
|
};
|
|
802
|
-
this.options.pedantic ? (n.block =
|
|
803
|
+
this.options.pedantic ? (n.block = Ge.pedantic, n.inline = A.pedantic) : this.options.gfm && (n.block = Ge.gfm, n.inline = this.options.breaks ? A.breaks : A.gfm), this.tokenizer.rules = n;
|
|
803
804
|
}
|
|
804
805
|
static get rules() {
|
|
805
806
|
return {
|
|
806
|
-
block:
|
|
807
|
-
inline:
|
|
807
|
+
block: Ge,
|
|
808
|
+
inline: A
|
|
808
809
|
};
|
|
809
810
|
}
|
|
810
811
|
static lex(t, n) {
|
|
@@ -844,27 +845,7 @@ ${d.join("\n")}`), r = r.substring(0, r.length - t.text.length) + s.text;
|
|
|
844
845
|
n?.type === "paragraph" || n?.type === "text" ? (n.raw += (n.raw.endsWith("\n") ? "" : "\n") + i.raw, n.text += "\n" + i.text, this.inlineQueue.at(-1).src = n.text) : t.push(i);
|
|
845
846
|
continue;
|
|
846
847
|
}
|
|
847
|
-
if (i = this.tokenizer.fences(e)) {
|
|
848
|
-
e = e.substring(i.raw.length), t.push(i);
|
|
849
|
-
continue;
|
|
850
|
-
}
|
|
851
|
-
if (i = this.tokenizer.heading(e)) {
|
|
852
|
-
e = e.substring(i.raw.length), t.push(i);
|
|
853
|
-
continue;
|
|
854
|
-
}
|
|
855
|
-
if (i = this.tokenizer.hr(e)) {
|
|
856
|
-
e = e.substring(i.raw.length), t.push(i);
|
|
857
|
-
continue;
|
|
858
|
-
}
|
|
859
|
-
if (i = this.tokenizer.blockquote(e)) {
|
|
860
|
-
e = e.substring(i.raw.length), t.push(i);
|
|
861
|
-
continue;
|
|
862
|
-
}
|
|
863
|
-
if (i = this.tokenizer.list(e)) {
|
|
864
|
-
e = e.substring(i.raw.length), t.push(i);
|
|
865
|
-
continue;
|
|
866
|
-
}
|
|
867
|
-
if (i = this.tokenizer.html(e)) {
|
|
848
|
+
if ((i = this.tokenizer.fences(e)) || (i = this.tokenizer.heading(e)) || (i = this.tokenizer.hr(e)) || (i = this.tokenizer.blockquote(e)) || (i = this.tokenizer.list(e)) || (i = this.tokenizer.html(e))) {
|
|
868
849
|
e = e.substring(i.raw.length), t.push(i);
|
|
869
850
|
continue;
|
|
870
851
|
}
|
|
@@ -877,11 +858,7 @@ ${d.join("\n")}`), r = r.substring(0, r.length - t.text.length) + s.text;
|
|
|
877
858
|
}, t.push(i));
|
|
878
859
|
continue;
|
|
879
860
|
}
|
|
880
|
-
if (i = this.tokenizer.table(e)) {
|
|
881
|
-
e = e.substring(i.raw.length), t.push(i);
|
|
882
|
-
continue;
|
|
883
|
-
}
|
|
884
|
-
if (i = this.tokenizer.lheading(e)) {
|
|
861
|
+
if ((i = this.tokenizer.table(e)) || (i = this.tokenizer.lheading(e))) {
|
|
885
862
|
e = e.substring(i.raw.length), t.push(i);
|
|
886
863
|
continue;
|
|
887
864
|
}
|
|
@@ -895,15 +872,11 @@ ${d.join("\n")}`), r = r.substring(0, r.length - t.text.length) + s.text;
|
|
|
895
872
|
if (this.state.top && (i = this.tokenizer.paragraph(a))) {
|
|
896
873
|
let r = t.at(-1);
|
|
897
874
|
n && r?.type === "paragraph" ? (r.raw += (r.raw.endsWith("\n") ? "" : "\n") + i.raw, r.text += "\n" + i.text, this.inlineQueue.pop(), this.inlineQueue.at(-1).src = r.text) : t.push(i), n = a.length !== e.length, e = e.substring(i.raw.length);
|
|
898
|
-
|
|
899
|
-
}
|
|
900
|
-
if (i = this.tokenizer.text(e)) {
|
|
875
|
+
} else if (i = this.tokenizer.text(e)) {
|
|
901
876
|
e = e.substring(i.raw.length);
|
|
902
877
|
let n = t.at(-1);
|
|
903
878
|
n?.type === "text" ? (n.raw += (n.raw.endsWith("\n") ? "" : "\n") + i.raw, n.text += "\n" + i.text, this.inlineQueue.pop(), this.inlineQueue.at(-1).src = n.text) : t.push(i);
|
|
904
|
-
|
|
905
|
-
}
|
|
906
|
-
if (e) {
|
|
879
|
+
} else if (e) {
|
|
907
880
|
this.infiniteLoopError(e.charCodeAt(0));
|
|
908
881
|
break;
|
|
909
882
|
}
|
|
@@ -922,17 +895,26 @@ ${d.join("\n")}`), r = r.substring(0, r.length - t.text.length) + s.text;
|
|
|
922
895
|
for (let n of e.matchAll(this.tokenizer.rules.inline.blockSkip)) if (t.test(n[0]) && e.charAt(n.index - 1) !== "!") return !0;
|
|
923
896
|
for (let t of e.matchAll(this.tokenizer.rules.inline.reflinkSearch)) {
|
|
924
897
|
let e = t[0], n = e.lastIndexOf("[");
|
|
925
|
-
if (e.charAt(0) !== "!" && Object.hasOwn(this.tokens.links,
|
|
898
|
+
if (e.charAt(0) !== "!" && Object.hasOwn(this.tokens.links, P(e.slice(n + 1, -1))) && !(n > 1 && this.linkInText(e.slice(1, n - 1)))) return !0;
|
|
926
899
|
}
|
|
927
900
|
return !1;
|
|
928
901
|
}
|
|
929
902
|
inlineTokens(e, t = []) {
|
|
930
903
|
this.tokenizer.lexer = this;
|
|
904
|
+
let n = this.state.linkParenPossible;
|
|
905
|
+
this.state.linkParenPossible = n && e.includes(")");
|
|
906
|
+
try {
|
|
907
|
+
return this.#e(e, t);
|
|
908
|
+
} finally {
|
|
909
|
+
this.state.linkParenPossible = n;
|
|
910
|
+
}
|
|
911
|
+
}
|
|
912
|
+
#e(e, t) {
|
|
931
913
|
let n = e;
|
|
932
914
|
if (this.tokens.links && e.includes("[")) {
|
|
933
915
|
let e = this.tokenizer.rules.inline.reflinkSearch, t = (n) => {
|
|
934
916
|
let r = n.lastIndexOf("[");
|
|
935
|
-
if (!Object.hasOwn(this.tokens.links,
|
|
917
|
+
if (!Object.hasOwn(this.tokens.links, P(n.slice(r + 1, -1)))) return n;
|
|
936
918
|
if (r > 1 && n.charAt(0) !== "!") {
|
|
937
919
|
let i = n.slice(1, r - 1);
|
|
938
920
|
if (this.linkInText(i)) return "[" + i.replace(e, t) + "][" + "a".repeat(n.length - r - 2) + "]";
|
|
@@ -955,15 +937,7 @@ ${d.join("\n")}`), r = r.substring(0, r.length - t.text.length) + s.text;
|
|
|
955
937
|
r || (i = ""), r = !1;
|
|
956
938
|
let o;
|
|
957
939
|
if (this.options.extensions?.inline?.some((n) => (o = n.call({ lexer: this }, e, t)) ? (e = e.substring(o.raw.length), t.push(o), !0) : !1)) continue;
|
|
958
|
-
if (o = this.tokenizer.escape(e)) {
|
|
959
|
-
e = e.substring(o.raw.length), t.push(o);
|
|
960
|
-
continue;
|
|
961
|
-
}
|
|
962
|
-
if (o = this.tokenizer.tag(e)) {
|
|
963
|
-
e = e.substring(o.raw.length), t.push(o);
|
|
964
|
-
continue;
|
|
965
|
-
}
|
|
966
|
-
if (o = this.tokenizer.link(e)) {
|
|
940
|
+
if ((o = this.tokenizer.escape(e)) || (o = this.tokenizer.tag(e)) || (o = this.tokenizer.link(e))) {
|
|
967
941
|
e = e.substring(o.raw.length), t.push(o);
|
|
968
942
|
continue;
|
|
969
943
|
}
|
|
@@ -973,27 +947,7 @@ ${d.join("\n")}`), r = r.substring(0, r.length - t.text.length) + s.text;
|
|
|
973
947
|
o.type === "text" && n?.type === "text" ? (n.raw += o.raw, n.text += o.text) : t.push(o);
|
|
974
948
|
continue;
|
|
975
949
|
}
|
|
976
|
-
if (o = this.tokenizer.emStrong(e, n, i)) {
|
|
977
|
-
e = e.substring(o.raw.length), t.push(o);
|
|
978
|
-
continue;
|
|
979
|
-
}
|
|
980
|
-
if (o = this.tokenizer.codespan(e)) {
|
|
981
|
-
e = e.substring(o.raw.length), t.push(o);
|
|
982
|
-
continue;
|
|
983
|
-
}
|
|
984
|
-
if (o = this.tokenizer.br(e)) {
|
|
985
|
-
e = e.substring(o.raw.length), t.push(o);
|
|
986
|
-
continue;
|
|
987
|
-
}
|
|
988
|
-
if (o = this.tokenizer.del(e, n, i)) {
|
|
989
|
-
e = e.substring(o.raw.length), t.push(o);
|
|
990
|
-
continue;
|
|
991
|
-
}
|
|
992
|
-
if (o = this.tokenizer.autolink(e)) {
|
|
993
|
-
e = e.substring(o.raw.length), t.push(o);
|
|
994
|
-
continue;
|
|
995
|
-
}
|
|
996
|
-
if (!this.state.inLink && (o = this.tokenizer.url(e))) {
|
|
950
|
+
if ((o = this.tokenizer.emStrong(e, n, i)) || (o = this.tokenizer.codespan(e)) || (o = this.tokenizer.br(e)) || (o = this.tokenizer.del(e, n, i)) || (o = this.tokenizer.autolink(e)) || !this.state.inLink && (o = this.tokenizer.url(e))) {
|
|
997
951
|
e = e.substring(o.raw.length), t.push(o);
|
|
998
952
|
continue;
|
|
999
953
|
}
|
|
@@ -1008,9 +962,7 @@ ${d.join("\n")}`), r = r.substring(0, r.length - t.text.length) + s.text;
|
|
|
1008
962
|
e = e.substring(o.raw.length), o.raw.slice(-1) !== "_" && (i = o.raw.slice(-1)), r = !0;
|
|
1009
963
|
let n = t.at(-1);
|
|
1010
964
|
n?.type === "text" ? (n.raw += o.raw, n.text += o.text) : t.push(o);
|
|
1011
|
-
|
|
1012
|
-
}
|
|
1013
|
-
if (e) {
|
|
965
|
+
} else if (e) {
|
|
1014
966
|
this.infiniteLoopError(e.charCodeAt(0));
|
|
1015
967
|
break;
|
|
1016
968
|
}
|
|
@@ -1022,7 +974,7 @@ ${d.join("\n")}`), r = r.substring(0, r.length - t.text.length) + s.text;
|
|
|
1022
974
|
if (this.options.silent) console.error(t);
|
|
1023
975
|
else throw Error(t);
|
|
1024
976
|
}
|
|
1025
|
-
},
|
|
977
|
+
}, tt = class {
|
|
1026
978
|
options;
|
|
1027
979
|
parser;
|
|
1028
980
|
constructor(e) {
|
|
@@ -1033,7 +985,7 @@ ${d.join("\n")}`), r = r.substring(0, r.length - t.text.length) + s.text;
|
|
|
1033
985
|
}
|
|
1034
986
|
code({ text: e, lang: t, escaped: n }) {
|
|
1035
987
|
let r = (t || "").match(s.notSpaceStart)?.[0], i = e ? e.replace(s.endingNewline, "") + "\n" : "";
|
|
1036
|
-
return r ? "<pre><code class=\"language-" +
|
|
988
|
+
return r ? "<pre><code class=\"language-" + M(r) + "\">" + (n ? i : M(i, !0)) + "</code></pre>\n" : "<pre><code>" + (n ? i : M(i, !0)) + "</code></pre>\n";
|
|
1037
989
|
}
|
|
1038
990
|
blockquote({ tokens: e }) {
|
|
1039
991
|
return `<blockquote>
|
|
@@ -1103,7 +1055,7 @@ ${e}</tr>
|
|
|
1103
1055
|
return `<em>${this.parser.parseInline(e)}</em>`;
|
|
1104
1056
|
}
|
|
1105
1057
|
codespan({ text: e }) {
|
|
1106
|
-
return `<code>${
|
|
1058
|
+
return `<code>${M(e, !0)}</code>`;
|
|
1107
1059
|
}
|
|
1108
1060
|
br(e) {
|
|
1109
1061
|
return "<br>";
|
|
@@ -1112,24 +1064,24 @@ ${e}</tr>
|
|
|
1112
1064
|
return `<del>${this.parser.parseInline(e)}</del>`;
|
|
1113
1065
|
}
|
|
1114
1066
|
link({ href: e, title: t, text: n, tokens: r, autolink: i }) {
|
|
1115
|
-
let a = i ?
|
|
1067
|
+
let a = i ? M(n, !0) : this.parser.parseInline(r), o = Je(e);
|
|
1116
1068
|
if (o === null) return a;
|
|
1117
|
-
e =
|
|
1069
|
+
e = M(o, i);
|
|
1118
1070
|
let s = "<a href=\"" + e + "\"";
|
|
1119
|
-
return t && (s += " title=\"" +
|
|
1071
|
+
return t && (s += " title=\"" + M(t) + "\""), s += ">" + a + "</a>", s;
|
|
1120
1072
|
}
|
|
1121
1073
|
image({ href: e, title: t, text: n, tokens: r }) {
|
|
1122
1074
|
r && (n = this.parser.parseInline(r, this.parser.textRenderer));
|
|
1123
|
-
let i =
|
|
1124
|
-
if (i === null) return
|
|
1075
|
+
let i = Je(e);
|
|
1076
|
+
if (i === null) return M(n);
|
|
1125
1077
|
e = i;
|
|
1126
|
-
let a = `<img src="${
|
|
1127
|
-
return t && (a += ` title="${
|
|
1078
|
+
let a = `<img src="${M(e)}" alt="${M(n)}"`;
|
|
1079
|
+
return t && (a += ` title="${M(t)}"`), a += ">", a;
|
|
1128
1080
|
}
|
|
1129
1081
|
text(e) {
|
|
1130
|
-
return "tokens" in e && e.tokens ? this.parser.parseInline(e.tokens) : "escaped" in e && e.escaped ? e.text :
|
|
1082
|
+
return "tokens" in e && e.tokens ? this.parser.parseInline(e.tokens) : "escaped" in e && e.escaped ? e.text : M(e.text);
|
|
1131
1083
|
}
|
|
1132
|
-
},
|
|
1084
|
+
}, nt = class {
|
|
1133
1085
|
strong({ text: e }) {
|
|
1134
1086
|
return e;
|
|
1135
1087
|
}
|
|
@@ -1160,12 +1112,12 @@ ${e}</tr>
|
|
|
1160
1112
|
checkbox({ raw: e }) {
|
|
1161
1113
|
return e;
|
|
1162
1114
|
}
|
|
1163
|
-
},
|
|
1115
|
+
}, R = class e {
|
|
1164
1116
|
options;
|
|
1165
1117
|
renderer;
|
|
1166
1118
|
textRenderer;
|
|
1167
1119
|
constructor(e) {
|
|
1168
|
-
this.options = e || t, this.options.renderer = this.options.renderer || new
|
|
1120
|
+
this.options = e || t, this.options.renderer = this.options.renderer || new tt(), this.renderer = this.options.renderer, this.renderer.options = this.options, this.renderer.parser = this, this.textRenderer = new nt();
|
|
1169
1121
|
}
|
|
1170
1122
|
static parse(t, n) {
|
|
1171
1123
|
return new e(n).parse(t);
|
|
@@ -1313,7 +1265,7 @@ ${e}</tr>
|
|
|
1313
1265
|
}
|
|
1314
1266
|
return n;
|
|
1315
1267
|
}
|
|
1316
|
-
},
|
|
1268
|
+
}, z = class {
|
|
1317
1269
|
options;
|
|
1318
1270
|
block;
|
|
1319
1271
|
constructor(e) {
|
|
@@ -1343,22 +1295,22 @@ ${e}</tr>
|
|
|
1343
1295
|
return e;
|
|
1344
1296
|
}
|
|
1345
1297
|
provideLexer(e = this.block) {
|
|
1346
|
-
return e ?
|
|
1298
|
+
return e ? L.lex : L.lexInline;
|
|
1347
1299
|
}
|
|
1348
1300
|
provideParser(e = this.block) {
|
|
1349
|
-
return e ?
|
|
1301
|
+
return e ? R.parse : R.parseInline;
|
|
1350
1302
|
}
|
|
1351
|
-
},
|
|
1303
|
+
}, rt = class {
|
|
1352
1304
|
defaults = e();
|
|
1353
1305
|
options = this.setOptions;
|
|
1354
1306
|
parse = this.parseMarkdown(!0);
|
|
1355
1307
|
parseInline = this.parseMarkdown(!1);
|
|
1356
|
-
Parser =
|
|
1357
|
-
Renderer =
|
|
1358
|
-
TextRenderer =
|
|
1359
|
-
Lexer =
|
|
1360
|
-
Tokenizer =
|
|
1361
|
-
Hooks =
|
|
1308
|
+
Parser = R;
|
|
1309
|
+
Renderer = tt;
|
|
1310
|
+
TextRenderer = nt;
|
|
1311
|
+
Lexer = L;
|
|
1312
|
+
Tokenizer = et;
|
|
1313
|
+
Hooks = z;
|
|
1362
1314
|
constructor(...e) {
|
|
1363
1315
|
this.use(...e);
|
|
1364
1316
|
}
|
|
@@ -1409,7 +1361,7 @@ ${e}</tr>
|
|
|
1409
1361
|
}
|
|
1410
1362
|
"childTokens" in e && e.childTokens && (t.childTokens[e.name] = e.childTokens);
|
|
1411
1363
|
}), n.extensions = t), e.renderer) {
|
|
1412
|
-
let t = this.defaults.renderer || new
|
|
1364
|
+
let t = this.defaults.renderer || new tt(this.defaults);
|
|
1413
1365
|
for (let n in e.renderer) {
|
|
1414
1366
|
if (!(n in t)) throw Error(`renderer '${n}' does not exist`);
|
|
1415
1367
|
if (["options", "parser"].includes(n)) continue;
|
|
@@ -1422,7 +1374,7 @@ ${e}</tr>
|
|
|
1422
1374
|
n.renderer = t;
|
|
1423
1375
|
}
|
|
1424
1376
|
if (e.tokenizer) {
|
|
1425
|
-
let t = this.defaults.tokenizer || new
|
|
1377
|
+
let t = this.defaults.tokenizer || new et(this.defaults);
|
|
1426
1378
|
for (let n in e.tokenizer) {
|
|
1427
1379
|
if (!(n in t)) throw Error(`tokenizer '${n}' does not exist`);
|
|
1428
1380
|
if ([
|
|
@@ -1439,13 +1391,13 @@ ${e}</tr>
|
|
|
1439
1391
|
n.tokenizer = t;
|
|
1440
1392
|
}
|
|
1441
1393
|
if (e.hooks) {
|
|
1442
|
-
let t = this.defaults.hooks || new
|
|
1394
|
+
let t = this.defaults.hooks || new z();
|
|
1443
1395
|
for (let n in e.hooks) {
|
|
1444
1396
|
if (!(n in t)) throw Error(`hook '${n}' does not exist`);
|
|
1445
1397
|
if (["options", "block"].includes(n)) continue;
|
|
1446
1398
|
let r = n, i = e.hooks[r], a = t[r];
|
|
1447
|
-
t[r] =
|
|
1448
|
-
if (this.defaults.async &&
|
|
1399
|
+
t[r] = z.passThroughHooks.has(n) ? (e) => {
|
|
1400
|
+
if (this.defaults.async && z.passThroughHooksRespectAsync.has(n)) return (async () => {
|
|
1449
1401
|
let n = await i.call(t, e);
|
|
1450
1402
|
return a.call(t, n);
|
|
1451
1403
|
})();
|
|
@@ -1482,10 +1434,10 @@ ${e}</tr>
|
|
|
1482
1434
|
}, this;
|
|
1483
1435
|
}
|
|
1484
1436
|
lexer(e, t) {
|
|
1485
|
-
return
|
|
1437
|
+
return L.lex(e, t ?? this.defaults);
|
|
1486
1438
|
}
|
|
1487
1439
|
parser(e, t) {
|
|
1488
|
-
return
|
|
1440
|
+
return R.parse(e, t ?? this.defaults);
|
|
1489
1441
|
}
|
|
1490
1442
|
parseMarkdown(e) {
|
|
1491
1443
|
return (t, n) => {
|
|
@@ -1497,16 +1449,16 @@ ${e}</tr>
|
|
|
1497
1449
|
if (typeof t > "u" || t === null) return a(/* @__PURE__ */ Error("marked(): input parameter is undefined or null"));
|
|
1498
1450
|
if (typeof t != "string") return a(/* @__PURE__ */ Error("marked(): input parameter is of type " + Object.prototype.toString.call(t) + ", string expected"));
|
|
1499
1451
|
if (i.hooks && (i.hooks.options = i, i.hooks.block = e), i.async) return (async () => {
|
|
1500
|
-
let n = i.hooks ? await i.hooks.preprocess(t) : t, r = await (i.hooks ? await i.hooks.provideLexer(e) : e ?
|
|
1452
|
+
let n = i.hooks ? await i.hooks.preprocess(t) : t, r = await (i.hooks ? await i.hooks.provideLexer(e) : e ? L.lex : L.lexInline)(n, i), a = i.hooks ? await i.hooks.processAllTokens(r) : r;
|
|
1501
1453
|
i.walkTokens && await Promise.all(this.walkTokens(a, i.walkTokens));
|
|
1502
|
-
let o = await (i.hooks ? await i.hooks.provideParser(e) : e ?
|
|
1454
|
+
let o = await (i.hooks ? await i.hooks.provideParser(e) : e ? R.parse : R.parseInline)(a, i);
|
|
1503
1455
|
return i.hooks ? await i.hooks.postprocess(o) : o;
|
|
1504
1456
|
})().catch(a);
|
|
1505
1457
|
try {
|
|
1506
1458
|
i.hooks && (t = i.hooks.preprocess(t));
|
|
1507
|
-
let n = (i.hooks ? i.hooks.provideLexer(e) : e ?
|
|
1459
|
+
let n = (i.hooks ? i.hooks.provideLexer(e) : e ? L.lex : L.lexInline)(t, i);
|
|
1508
1460
|
i.hooks && (n = i.hooks.processAllTokens(n)), i.walkTokens && this.walkTokens(n, i.walkTokens);
|
|
1509
|
-
let r = (i.hooks ? i.hooks.provideParser(e) : e ?
|
|
1461
|
+
let r = (i.hooks ? i.hooks.provideParser(e) : e ? R.parse : R.parseInline)(n, i);
|
|
1510
1462
|
return i.hooks && (r = i.hooks.postprocess(r)), r;
|
|
1511
1463
|
} catch (e) {
|
|
1512
1464
|
return a(e);
|
|
@@ -1516,40 +1468,40 @@ ${e}</tr>
|
|
|
1516
1468
|
onError(e, t) {
|
|
1517
1469
|
return (n) => {
|
|
1518
1470
|
if (n.message += "\nPlease report this to https://github.com/markedjs/marked.", e) {
|
|
1519
|
-
let e = "<p>An error occurred:</p><pre>" +
|
|
1471
|
+
let e = "<p>An error occurred:</p><pre>" + M(n.message + "", !0) + "</pre>";
|
|
1520
1472
|
return t ? Promise.resolve(e) : e;
|
|
1521
1473
|
}
|
|
1522
1474
|
if (t) return Promise.reject(n);
|
|
1523
1475
|
throw n;
|
|
1524
1476
|
};
|
|
1525
1477
|
}
|
|
1526
|
-
},
|
|
1527
|
-
function
|
|
1528
|
-
return
|
|
1478
|
+
}, B = new rt();
|
|
1479
|
+
function V(e, t) {
|
|
1480
|
+
return B.parse(e, t);
|
|
1529
1481
|
}
|
|
1530
|
-
|
|
1531
|
-
return
|
|
1532
|
-
},
|
|
1533
|
-
function
|
|
1534
|
-
return
|
|
1482
|
+
V.options = V.setOptions = function(e) {
|
|
1483
|
+
return B.setOptions(e), V.defaults = B.defaults, n(V.defaults), V;
|
|
1484
|
+
}, V.getDefaults = e, V.defaults = t;
|
|
1485
|
+
function it(...e) {
|
|
1486
|
+
return B.use(...e), V.defaults = B.defaults, n(V.defaults), V;
|
|
1535
1487
|
}
|
|
1536
|
-
|
|
1537
|
-
return
|
|
1538
|
-
},
|
|
1488
|
+
V.use = it, V.walkTokens = function(e, t) {
|
|
1489
|
+
return B.walkTokens(e, t);
|
|
1490
|
+
}, V.parseInline = B.parseInline, V.Parser = R, V.parser = R.parse, V.Renderer = tt, V.TextRenderer = nt, V.Lexer = L, V.lexer = L.lex, V.Tokenizer = et, V.Hooks = z, V.parse = V, V.options, V.setOptions, V.walkTokens, V.parseInline, R.parse, L.lex;
|
|
1539
1491
|
//#endregion
|
|
1540
1492
|
//#region node_modules/dompurify/dist/purify.es.mjs
|
|
1541
|
-
function
|
|
1493
|
+
function at(e, t) {
|
|
1542
1494
|
this.v = e, this.k = t;
|
|
1543
1495
|
}
|
|
1544
|
-
function
|
|
1496
|
+
function ot(e, t) {
|
|
1545
1497
|
(t == null || t > e.length) && (t = e.length);
|
|
1546
1498
|
for (var n = 0, r = Array(t); n < t; n++) r[n] = e[n];
|
|
1547
1499
|
return r;
|
|
1548
1500
|
}
|
|
1549
|
-
function
|
|
1501
|
+
function st(e) {
|
|
1550
1502
|
if (Array.isArray(e)) return e;
|
|
1551
1503
|
}
|
|
1552
|
-
function
|
|
1504
|
+
function ct(e, t) {
|
|
1553
1505
|
var n = e == null ? null : typeof Symbol < "u" && e[Symbol.iterator] || e["@@iterator"];
|
|
1554
1506
|
if (n != null) {
|
|
1555
1507
|
var r, i, a, o, s = [], c = !0, l = !1;
|
|
@@ -1570,24 +1522,24 @@ function dt(e, t) {
|
|
|
1570
1522
|
return s;
|
|
1571
1523
|
}
|
|
1572
1524
|
}
|
|
1573
|
-
function
|
|
1525
|
+
function lt() {
|
|
1574
1526
|
throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
1575
1527
|
}
|
|
1576
|
-
function
|
|
1577
|
-
return
|
|
1528
|
+
function ut(e, t) {
|
|
1529
|
+
return st(e) || ct(e, t) || dt(e, t) || lt();
|
|
1578
1530
|
}
|
|
1579
|
-
function
|
|
1531
|
+
function dt(e, t) {
|
|
1580
1532
|
if (e) {
|
|
1581
|
-
if (typeof e == "string") return
|
|
1533
|
+
if (typeof e == "string") return ot(e, t);
|
|
1582
1534
|
var n = {}.toString.call(e).slice(8, -1);
|
|
1583
|
-
return n === "Object" && e.constructor && (n = e.constructor.name), n === "Map" || n === "Set" ? Array.from(e) : n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ?
|
|
1535
|
+
return n === "Object" && e.constructor && (n = e.constructor.name), n === "Map" || n === "Set" ? Array.from(e) : n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? ot(e, t) : void 0;
|
|
1584
1536
|
}
|
|
1585
1537
|
}
|
|
1586
|
-
function
|
|
1538
|
+
function ft(e) {
|
|
1587
1539
|
var t, n;
|
|
1588
1540
|
function r(t, n) {
|
|
1589
1541
|
try {
|
|
1590
|
-
var a = e[t](n), o = a.value, s = o instanceof
|
|
1542
|
+
var a = e[t](n), o = a.value, s = o instanceof at;
|
|
1591
1543
|
Promise.resolve(s ? o.v : o).then(function(n) {
|
|
1592
1544
|
if (s) {
|
|
1593
1545
|
var c = t === "return" && o.k ? t : "next";
|
|
@@ -1621,113 +1573,113 @@ function ht(e) {
|
|
|
1621
1573
|
});
|
|
1622
1574
|
}, typeof e.return != "function" && (this.return = void 0);
|
|
1623
1575
|
}
|
|
1624
|
-
|
|
1576
|
+
ft.prototype[typeof Symbol == "function" && Symbol.asyncIterator || "@@asyncIterator"] = function() {
|
|
1625
1577
|
return this;
|
|
1626
|
-
},
|
|
1578
|
+
}, ft.prototype.next = function(e) {
|
|
1627
1579
|
return this._invoke("next", e);
|
|
1628
|
-
},
|
|
1580
|
+
}, ft.prototype.throw = function(e) {
|
|
1629
1581
|
return this._invoke("throw", e);
|
|
1630
|
-
},
|
|
1582
|
+
}, ft.prototype.return = function(e) {
|
|
1631
1583
|
return this._invoke("return", e);
|
|
1632
1584
|
};
|
|
1633
|
-
var
|
|
1634
|
-
|
|
1585
|
+
var pt = Object.entries, H = Object.setPrototypeOf, mt = Object.isFrozen, ht = Object.getPrototypeOf, gt = Object.getOwnPropertyDescriptor, U = Object.freeze, W = Object.seal, _t = Object.create, vt = typeof Reflect < "u" && Reflect, yt = vt.apply, bt = vt.construct;
|
|
1586
|
+
U ||= function(e) {
|
|
1635
1587
|
return e;
|
|
1636
|
-
},
|
|
1588
|
+
}, W ||= function(e) {
|
|
1637
1589
|
return e;
|
|
1638
|
-
},
|
|
1590
|
+
}, yt ||= function(e, t) {
|
|
1639
1591
|
var n = [...arguments].slice(2);
|
|
1640
1592
|
return e.apply(t, n);
|
|
1641
|
-
},
|
|
1593
|
+
}, bt ||= function(e) {
|
|
1642
1594
|
return new e(...[...arguments].slice(1));
|
|
1643
1595
|
};
|
|
1644
|
-
var
|
|
1596
|
+
var xt = q(Array.prototype.forEach);
|
|
1645
1597
|
Array.prototype.indexOf;
|
|
1646
|
-
var
|
|
1598
|
+
var St = q(Array.prototype.lastIndexOf), Ct = q(Array.prototype.pop), wt = q(Array.prototype.push);
|
|
1647
1599
|
Array.prototype.slice;
|
|
1648
|
-
var
|
|
1649
|
-
function
|
|
1600
|
+
var Tt = q(Array.prototype.splice), Et = Array.isArray, Dt = q(String.prototype.toLowerCase), Ot = q(String.prototype.toString), kt = q(String.prototype.match), At = q(String.prototype.replace), jt = q(String.prototype.indexOf), Mt = q(String.prototype.trim), Nt = q(Number.prototype.toString), Pt = q(Boolean.prototype.toString), Ft = typeof BigInt > "u" ? null : q(BigInt.prototype.toString), It = typeof Symbol > "u" ? null : q(Symbol.prototype.toString), G = q(Object.prototype.hasOwnProperty), Lt = q(Object.prototype.toString), K = q(RegExp.prototype.test), Rt = zt(TypeError);
|
|
1601
|
+
function q(e) {
|
|
1650
1602
|
return function(t) {
|
|
1651
1603
|
t instanceof RegExp && (t.lastIndex = 0);
|
|
1652
1604
|
var n = [...arguments].slice(1);
|
|
1653
|
-
return
|
|
1605
|
+
return yt(e, t, n);
|
|
1654
1606
|
};
|
|
1655
1607
|
}
|
|
1656
|
-
function
|
|
1608
|
+
function zt(e) {
|
|
1657
1609
|
return function() {
|
|
1658
|
-
return
|
|
1610
|
+
return bt(e, [...arguments]);
|
|
1659
1611
|
};
|
|
1660
1612
|
}
|
|
1661
|
-
function
|
|
1662
|
-
let n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] :
|
|
1663
|
-
if (
|
|
1613
|
+
function J(e, t) {
|
|
1614
|
+
let n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : Dt;
|
|
1615
|
+
if (H && H(e, null), !Et(t)) return e;
|
|
1664
1616
|
let r = t.length;
|
|
1665
1617
|
for (; r--;) {
|
|
1666
1618
|
let i = t[r];
|
|
1667
1619
|
if (typeof i == "string") {
|
|
1668
1620
|
let e = n(i);
|
|
1669
|
-
e !== i && (
|
|
1621
|
+
e !== i && (mt(t) || (t[r] = e), i = e);
|
|
1670
1622
|
}
|
|
1671
1623
|
e[i] = !0;
|
|
1672
1624
|
}
|
|
1673
1625
|
return e;
|
|
1674
1626
|
}
|
|
1675
|
-
function
|
|
1676
|
-
for (let t = 0; t < e.length; t++)
|
|
1627
|
+
function Bt(e) {
|
|
1628
|
+
for (let t = 0; t < e.length; t++) G(e, t) || (e[t] = null);
|
|
1677
1629
|
return e;
|
|
1678
1630
|
}
|
|
1679
|
-
function
|
|
1680
|
-
let t =
|
|
1681
|
-
for (let r of
|
|
1682
|
-
var n =
|
|
1631
|
+
function Y(e) {
|
|
1632
|
+
let t = _t(null);
|
|
1633
|
+
for (let r of pt(e)) {
|
|
1634
|
+
var n = ut(r, 2);
|
|
1683
1635
|
let i = n[0], a = n[1];
|
|
1684
|
-
|
|
1636
|
+
G(e, i) && (t[i] = Et(a) ? Bt(a) : a && typeof a == "object" && a.constructor === Object ? Y(a) : a);
|
|
1685
1637
|
}
|
|
1686
1638
|
return t;
|
|
1687
1639
|
}
|
|
1688
|
-
function
|
|
1640
|
+
function Vt(e) {
|
|
1689
1641
|
switch (typeof e) {
|
|
1690
1642
|
case "string": return e;
|
|
1691
|
-
case "number": return
|
|
1692
|
-
case "boolean": return
|
|
1693
|
-
case "bigint": return
|
|
1694
|
-
case "symbol": return
|
|
1695
|
-
case "undefined": return
|
|
1643
|
+
case "number": return Nt(e);
|
|
1644
|
+
case "boolean": return Pt(e);
|
|
1645
|
+
case "bigint": return Ft ? Ft(e) : "0";
|
|
1646
|
+
case "symbol": return It ? It(e) : "Symbol()";
|
|
1647
|
+
case "undefined": return Lt(e);
|
|
1696
1648
|
case "function":
|
|
1697
1649
|
case "object": {
|
|
1698
|
-
if (e === null) return
|
|
1699
|
-
let t = e, n =
|
|
1650
|
+
if (e === null) return Lt(e);
|
|
1651
|
+
let t = e, n = X(t, "toString");
|
|
1700
1652
|
if (typeof n == "function") {
|
|
1701
1653
|
let e = n(t);
|
|
1702
|
-
return typeof e == "string" ? e :
|
|
1654
|
+
return typeof e == "string" ? e : Lt(e);
|
|
1703
1655
|
}
|
|
1704
|
-
return
|
|
1656
|
+
return Lt(e);
|
|
1705
1657
|
}
|
|
1706
|
-
default: return
|
|
1658
|
+
default: return Lt(e);
|
|
1707
1659
|
}
|
|
1708
1660
|
}
|
|
1709
|
-
function
|
|
1661
|
+
function X(e, t) {
|
|
1710
1662
|
for (; e !== null;) {
|
|
1711
|
-
let n =
|
|
1663
|
+
let n = gt(e, t);
|
|
1712
1664
|
if (n) {
|
|
1713
|
-
if (n.get) return
|
|
1714
|
-
if (typeof n.value == "function") return
|
|
1665
|
+
if (n.get) return q(n.get);
|
|
1666
|
+
if (typeof n.value == "function") return q(n.value);
|
|
1715
1667
|
}
|
|
1716
|
-
e =
|
|
1668
|
+
e = ht(e);
|
|
1717
1669
|
}
|
|
1718
1670
|
function n() {
|
|
1719
1671
|
return null;
|
|
1720
1672
|
}
|
|
1721
1673
|
return n;
|
|
1722
1674
|
}
|
|
1723
|
-
function
|
|
1675
|
+
function Ht(e) {
|
|
1724
1676
|
try {
|
|
1725
|
-
return
|
|
1677
|
+
return K(e, ""), !0;
|
|
1726
1678
|
} catch {
|
|
1727
1679
|
return !1;
|
|
1728
1680
|
}
|
|
1729
1681
|
}
|
|
1730
|
-
var
|
|
1682
|
+
var Ut = U(/* @__PURE__ */ "a.abbr.acronym.address.area.article.aside.audio.b.bdi.bdo.big.blink.blockquote.body.br.button.canvas.caption.center.cite.code.col.colgroup.content.data.datalist.dd.decorator.del.details.dfn.dialog.dir.div.dl.dt.element.em.fieldset.figcaption.figure.font.footer.form.h1.h2.h3.h4.h5.h6.head.header.hgroup.hr.html.i.img.input.ins.kbd.label.legend.li.main.map.mark.marquee.menu.menuitem.meter.nav.nobr.ol.optgroup.option.output.p.picture.pre.progress.q.rp.rt.ruby.s.samp.search.section.select.shadow.slot.small.source.spacer.span.strike.strong.style.sub.summary.sup.table.tbody.td.template.textarea.tfoot.th.thead.time.tr.track.tt.u.ul.var.video.wbr".split(".")), Wt = U(/* @__PURE__ */ "svg.a.altglyph.altglyphdef.altglyphitem.animatecolor.animatemotion.animatetransform.circle.clippath.defs.desc.ellipse.enterkeyhint.exportparts.filter.font.g.glyph.glyphref.hkern.image.inputmode.line.lineargradient.marker.mask.metadata.mpath.part.path.pattern.polygon.polyline.radialgradient.rect.stop.style.switch.symbol.text.textpath.title.tref.tspan.view.vkern".split(".")), Gt = U([
|
|
1731
1683
|
"feBlend",
|
|
1732
1684
|
"feColorMatrix",
|
|
1733
1685
|
"feComponentTransfer",
|
|
@@ -1753,7 +1705,7 @@ var Wt = B(/* @__PURE__ */ "a.abbr.acronym.address.area.article.aside.audio.b.bd
|
|
|
1753
1705
|
"feSpotLight",
|
|
1754
1706
|
"feTile",
|
|
1755
1707
|
"feTurbulence"
|
|
1756
|
-
]),
|
|
1708
|
+
]), Kt = U([
|
|
1757
1709
|
"animate",
|
|
1758
1710
|
"color-profile",
|
|
1759
1711
|
"cursor",
|
|
@@ -1776,7 +1728,7 @@ var Wt = B(/* @__PURE__ */ "a.abbr.acronym.address.area.article.aside.audio.b.bd
|
|
|
1776
1728
|
"solidcolor",
|
|
1777
1729
|
"unknown",
|
|
1778
1730
|
"use"
|
|
1779
|
-
]),
|
|
1731
|
+
]), qt = U(/* @__PURE__ */ "math.menclose.merror.mfenced.mfrac.mglyph.mi.mlabeledtr.mmultiscripts.mn.mo.mover.mpadded.mphantom.mroot.mrow.ms.mspace.msqrt.mstyle.msub.msup.msubsup.mtable.mtd.mtext.mtr.munder.munderover.mprescripts".split(".")), Jt = U([
|
|
1780
1732
|
"maction",
|
|
1781
1733
|
"maligngroup",
|
|
1782
1734
|
"malignmark",
|
|
@@ -1792,13 +1744,13 @@ var Wt = B(/* @__PURE__ */ "a.abbr.acronym.address.area.article.aside.audio.b.bd
|
|
|
1792
1744
|
"annotation-xml",
|
|
1793
1745
|
"mprescripts",
|
|
1794
1746
|
"none"
|
|
1795
|
-
]),
|
|
1747
|
+
]), Yt = U(["#text"]), Xt = U(/* @__PURE__ */ "accept.action.align.alt.autocapitalize.autocomplete.autopictureinpicture.autoplay.background.bgcolor.border.capture.cellpadding.cellspacing.checked.cite.class.clear.color.cols.colspan.command.commandfor.controls.controlslist.coords.crossorigin.datetime.decoding.default.dir.disabled.disablepictureinpicture.disableremoteplayback.download.draggable.enctype.enterkeyhint.exportparts.face.for.headers.height.hidden.high.href.hreflang.id.inert.inputmode.integrity.ismap.kind.label.lang.list.loading.loop.low.max.maxlength.media.method.min.minlength.multiple.muted.name.nonce.noshade.novalidate.nowrap.open.optimum.part.pattern.placeholder.playsinline.popover.popovertarget.popovertargetaction.poster.preload.pubdate.radiogroup.readonly.rel.required.rev.reversed.role.rows.rowspan.spellcheck.scope.selected.shape.size.sizes.slot.span.srclang.start.src.srcset.step.style.summary.tabindex.title.translate.type.usemap.valign.value.width.wrap.xmlns".split(".")), Zt = U(/* @__PURE__ */ "accent-height.accumulate.additive.alignment-baseline.amplitude.ascent.attributename.attributetype.azimuth.basefrequency.baseline-shift.begin.bias.by.class.clip.clippathunits.clip-path.clip-rule.color.color-interpolation.color-interpolation-filters.color-profile.color-rendering.cx.cy.d.dx.dy.diffuseconstant.direction.display.divisor.dominant-baseline.dur.edgemode.elevation.end.exponent.fill.fill-opacity.fill-rule.filter.filterunits.flood-color.flood-opacity.font-family.font-size.font-size-adjust.font-stretch.font-style.font-variant.font-weight.fx.fy.g1.g2.glyph-name.glyphref.gradientunits.gradienttransform.height.href.id.image-rendering.in.in2.intercept.k.k1.k2.k3.k4.kerning.keypoints.keysplines.keytimes.lang.lengthadjust.letter-spacing.kernelmatrix.kernelunitlength.lighting-color.local.marker-end.marker-mid.marker-start.markerheight.markerunits.markerwidth.maskcontentunits.maskunits.max.mask.mask-type.media.method.mode.min.name.numoctaves.offset.operator.opacity.order.orient.orientation.origin.overflow.paint-order.path.pathlength.patterncontentunits.patterntransform.patternunits.pointer-events.points.preservealpha.preserveaspectratio.primitiveunits.r.rx.ry.radius.refx.refy.repeatcount.repeatdur.restart.result.rotate.scale.seed.shape-rendering.slope.specularconstant.specularexponent.spreadmethod.startoffset.stddeviation.stitchtiles.stop-color.stop-opacity.stroke-dasharray.stroke-dashoffset.stroke-linecap.stroke-linejoin.stroke-miterlimit.stroke-opacity.stroke.stroke-width.style.surfacescale.systemlanguage.tabindex.tablevalues.targetx.targety.transform.transform-origin.text-anchor.text-decoration.text-orientation.text-rendering.textlength.type.u1.u2.unicode.values.vector-effect.viewbox.visibility.version.vert-adv-y.vert-origin-x.vert-origin-y.width.word-spacing.wrap.writing-mode.xchannelselector.ychannelselector.x.x1.x2.xmlns.y.y1.y2.z.zoomandpan".split(".")), Qt = U(/* @__PURE__ */ "accent.accentunder.align.bevelled.close.columnalign.columnlines.columnspacing.columnspan.denomalign.depth.dir.display.displaystyle.encoding.fence.frame.height.href.id.largeop.length.linethickness.lquote.lspace.mathbackground.mathcolor.mathsize.mathvariant.maxsize.minsize.movablelimits.notation.numalign.open.rowalign.rowlines.rowspacing.rowspan.rspace.rquote.scriptlevel.scriptminsize.scriptsizemultiplier.selection.separator.separators.stretchy.subscriptshift.supscriptshift.symmetric.voffset.width.xmlns".split(".")), $t = U([
|
|
1796
1748
|
"xlink:href",
|
|
1797
1749
|
"xml:id",
|
|
1798
1750
|
"xlink:title",
|
|
1799
1751
|
"xml:space",
|
|
1800
1752
|
"xmlns:xlink"
|
|
1801
|
-
]),
|
|
1753
|
+
]), en = W(/{{[\w\W]*|^[\w\W]*}}/g), tn = W(/<%[\w\W]*|^[\w\W]*%>/g), nn = W(/\${[\w\W]*/g), rn = W(/^data-[\-\w.\u00B7-\uFFFF]+$/), an = W(/^aria-[\-\w]+$/), on = W(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i), sn = W(/^(?:\w+script|data):/i), cn = W(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g), ln = W(/^html$/i), un = W(/^[a-z][.\w]*(-[.\w]+)+$/i), dn = W(/<[/\w!]/g), fn = W(/<[/\w]/g), pn = W(/<\/no(script|embed|frames)/i), mn = W(/\/>/i), Z = {
|
|
1802
1754
|
element: 1,
|
|
1803
1755
|
attribute: 2,
|
|
1804
1756
|
text: 3,
|
|
@@ -1811,7 +1763,7 @@ var Wt = B(/* @__PURE__ */ "a.abbr.acronym.address.area.article.aside.audio.b.bd
|
|
|
1811
1763
|
documentType: 10,
|
|
1812
1764
|
documentFragment: 11,
|
|
1813
1765
|
notation: 12
|
|
1814
|
-
},
|
|
1766
|
+
}, Q = [
|
|
1815
1767
|
"style",
|
|
1816
1768
|
"script",
|
|
1817
1769
|
"xmp",
|
|
@@ -1820,14 +1772,14 @@ var Wt = B(/* @__PURE__ */ "a.abbr.acronym.address.area.article.aside.audio.b.bd
|
|
|
1820
1772
|
"noframes",
|
|
1821
1773
|
"plaintext",
|
|
1822
1774
|
"noscript"
|
|
1823
|
-
],
|
|
1775
|
+
], hn = U(J({}, Q)), gn = function() {
|
|
1824
1776
|
let e = {};
|
|
1825
|
-
return
|
|
1826
|
-
e[t] =
|
|
1827
|
-
}),
|
|
1828
|
-
}(),
|
|
1777
|
+
return xt(Q, (t) => {
|
|
1778
|
+
e[t] = W(RegExp("</" + t + "(?=[\\t\\n\\f\\r />])", "i"));
|
|
1779
|
+
}), U(e);
|
|
1780
|
+
}(), _n = function() {
|
|
1829
1781
|
return typeof window > "u" ? null : window;
|
|
1830
|
-
},
|
|
1782
|
+
}, vn = function(e, t) {
|
|
1831
1783
|
if (typeof e != "object" || typeof e.createPolicy != "function") return null;
|
|
1832
1784
|
let n = null, r = "data-tt-policy-suffix";
|
|
1833
1785
|
t && t.hasAttribute(r) && (n = t.getAttribute(r));
|
|
@@ -1844,7 +1796,7 @@ var Wt = B(/* @__PURE__ */ "a.abbr.acronym.address.area.article.aside.audio.b.bd
|
|
|
1844
1796
|
} catch {
|
|
1845
1797
|
return console.warn("TrustedTypes policy " + i + " could not be created."), null;
|
|
1846
1798
|
}
|
|
1847
|
-
},
|
|
1799
|
+
}, yn = function() {
|
|
1848
1800
|
return {
|
|
1849
1801
|
afterSanitizeAttributes: [],
|
|
1850
1802
|
afterSanitizeElements: [],
|
|
@@ -1856,60 +1808,60 @@ var Wt = B(/* @__PURE__ */ "a.abbr.acronym.address.area.article.aside.audio.b.bd
|
|
|
1856
1808
|
uponSanitizeElement: [],
|
|
1857
1809
|
uponSanitizeShadowNode: []
|
|
1858
1810
|
};
|
|
1859
|
-
},
|
|
1860
|
-
return
|
|
1861
|
-
},
|
|
1862
|
-
let r =
|
|
1863
|
-
return r && typeof r == "object" ?
|
|
1811
|
+
}, bn = function(e, t, n, r) {
|
|
1812
|
+
return G(e, t) && Et(e[t]) ? J(r.base ? Y(r.base) : {}, e[t], r.transform) : n;
|
|
1813
|
+
}, xn = function(e, t, n) {
|
|
1814
|
+
let r = G(e, t) ? e[t] : void 0;
|
|
1815
|
+
return r && typeof r == "object" ? Y(r) : n();
|
|
1864
1816
|
};
|
|
1865
|
-
function
|
|
1866
|
-
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] :
|
|
1867
|
-
if (t.version = "3.4.16", t.removed = [], !e || !e.document || e.document.nodeType !==
|
|
1817
|
+
function Sn() {
|
|
1818
|
+
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : _n(), t = (e) => Sn(e);
|
|
1819
|
+
if (t.version = "3.4.16", t.removed = [], !e || !e.document || e.document.nodeType !== Z.document || !e.Element) return t.isSupported = !1, t;
|
|
1868
1820
|
let n = e.document, r = n, i = r.currentScript;
|
|
1869
1821
|
e.DocumentFragment;
|
|
1870
1822
|
let a = e.HTMLTemplateElement, o = e.Node, s = e.Element, c = e.NodeFilter;
|
|
1871
1823
|
e.NamedNodeMap === void 0 && (e.NamedNodeMap || e.MozNamedAttrMap), e.HTMLFormElement;
|
|
1872
|
-
let l = e.DOMParser, u = e.trustedTypes, d = s.prototype, f =
|
|
1873
|
-
return
|
|
1874
|
-
},
|
|
1824
|
+
let l = e.DOMParser, u = e.trustedTypes, d = s.prototype, f = X(d, "cloneNode"), p = X(d, "remove"), m = X(d, "removeAttributeNode"), ee = X(d, "nextSibling"), h = X(d, "childNodes"), g = X(d, "parentNode"), _ = X(d, "shadowRoot"), te = X(d, "attributes"), v = o && o.prototype ? X(o.prototype, "nodeType") : null, ne = o && o.prototype ? X(o.prototype, "nodeName") : null, y = o && o.prototype ? X(o.prototype, "ownerDocument") : null, re = function(e) {
|
|
1825
|
+
return v ? v(e) : e.nodeType;
|
|
1826
|
+
}, ie = function(e) {
|
|
1875
1827
|
return ne ? ne(e) : e.nodeName;
|
|
1876
1828
|
};
|
|
1877
1829
|
if (typeof a == "function") {
|
|
1878
1830
|
let e = n.createElement("template");
|
|
1879
1831
|
e.content && e.content.ownerDocument && (n = e.content.ownerDocument);
|
|
1880
1832
|
}
|
|
1881
|
-
let
|
|
1882
|
-
if (
|
|
1883
|
-
},
|
|
1884
|
-
|
|
1833
|
+
let b, ae = "", oe, se = !1, ce = 0, le = function() {
|
|
1834
|
+
if (ce > 0) throw Rt("A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the \"DOMPurify and Trusted Types\" section of the README.");
|
|
1835
|
+
}, ue = function(e) {
|
|
1836
|
+
le(), ce++;
|
|
1885
1837
|
try {
|
|
1886
|
-
return
|
|
1838
|
+
return b.createHTML(e);
|
|
1887
1839
|
} finally {
|
|
1888
|
-
|
|
1840
|
+
ce--;
|
|
1889
1841
|
}
|
|
1890
|
-
},
|
|
1891
|
-
|
|
1842
|
+
}, de = function(e) {
|
|
1843
|
+
le(), ce++;
|
|
1892
1844
|
try {
|
|
1893
|
-
return
|
|
1845
|
+
return b.createScriptURL(e);
|
|
1894
1846
|
} finally {
|
|
1895
|
-
|
|
1896
|
-
}
|
|
1897
|
-
},
|
|
1898
|
-
return
|
|
1899
|
-
},
|
|
1900
|
-
t.isSupported = typeof
|
|
1901
|
-
let
|
|
1847
|
+
ce--;
|
|
1848
|
+
}
|
|
1849
|
+
}, fe = function() {
|
|
1850
|
+
return se ||= (oe = vn(u, i), !0), oe;
|
|
1851
|
+
}, pe = n, me = pe.implementation, x = pe.createNodeIterator, he = pe.createDocumentFragment, ge = pe.getElementsByTagName, _e = r.importNode, S = yn();
|
|
1852
|
+
t.isSupported = typeof pt == "function" && typeof g == "function" && me && me.createHTMLDocument !== void 0;
|
|
1853
|
+
let ve = en, ye = tn, be = nn, xe = rn, Se = an, Ce = sn, we = cn, Te = un, Ee = on, C = null, De = J({}, [
|
|
1854
|
+
...Ut,
|
|
1902
1855
|
...Wt,
|
|
1903
1856
|
...Gt,
|
|
1904
|
-
...
|
|
1905
|
-
...
|
|
1906
|
-
|
|
1907
|
-
|
|
1857
|
+
...qt,
|
|
1858
|
+
...Yt
|
|
1859
|
+
]), w = null, Oe = J({}, [
|
|
1860
|
+
...Xt,
|
|
1908
1861
|
...Zt,
|
|
1909
1862
|
...Qt,
|
|
1910
|
-
...$t
|
|
1911
|
-
|
|
1912
|
-
]), E = Object.seal(bt(null, {
|
|
1863
|
+
...$t
|
|
1864
|
+
]), T = Object.seal(_t(null, {
|
|
1913
1865
|
tagNameCheck: {
|
|
1914
1866
|
writable: !0,
|
|
1915
1867
|
configurable: !1,
|
|
@@ -1928,7 +1880,7 @@ function Cn() {
|
|
|
1928
1880
|
enumerable: !0,
|
|
1929
1881
|
value: !1
|
|
1930
1882
|
}
|
|
1931
|
-
})),
|
|
1883
|
+
})), ke = null, Ae = null, E = Object.seal(_t(null, {
|
|
1932
1884
|
tagCheck: {
|
|
1933
1885
|
writable: !0,
|
|
1934
1886
|
configurable: !1,
|
|
@@ -1941,14 +1893,14 @@ function Cn() {
|
|
|
1941
1893
|
enumerable: !0,
|
|
1942
1894
|
value: null
|
|
1943
1895
|
}
|
|
1944
|
-
})),
|
|
1896
|
+
})), je = !0, Me = !0, Ne = !1, Pe = !0, D = !1, Fe = !0, O = !1, Ie = !1, Le = null, Re = null, ze = !1, k = !1, Be = !1, Ve = !1, He = !0, Ue = !1, We = "user-content-", Ge = !0, A = !1, Ke = {}, j = null, M = J({}, /* @__PURE__ */ "annotation-xml.audio.colgroup.desc.foreignobject.head.iframe.math.mi.mn.mo.ms.mtext.noembed.noframes.noscript.plaintext.script.selectedcontent.style.svg.template.thead.title.video.xmp".split(".")), qe = null, Je = J({}, [
|
|
1945
1897
|
"audio",
|
|
1946
1898
|
"video",
|
|
1947
1899
|
"img",
|
|
1948
1900
|
"source",
|
|
1949
1901
|
"image",
|
|
1950
1902
|
"track"
|
|
1951
|
-
]),
|
|
1903
|
+
]), Ye = null, N = J({}, [
|
|
1952
1904
|
"alt",
|
|
1953
1905
|
"class",
|
|
1954
1906
|
"for",
|
|
@@ -1963,77 +1915,77 @@ function Cn() {
|
|
|
1963
1915
|
"value",
|
|
1964
1916
|
"style",
|
|
1965
1917
|
"xmlns"
|
|
1966
|
-
]),
|
|
1967
|
-
|
|
1968
|
-
|
|
1969
|
-
|
|
1970
|
-
],
|
|
1918
|
+
]), Xe = "http://www.w3.org/1998/Math/MathML", P = "http://www.w3.org/2000/svg", F = "http://www.w3.org/1999/xhtml", I = F, Ze = !1, Qe = null, $e = J({}, [
|
|
1919
|
+
Xe,
|
|
1920
|
+
P,
|
|
1921
|
+
F
|
|
1922
|
+
], Ot), et = U([
|
|
1971
1923
|
"mi",
|
|
1972
1924
|
"mo",
|
|
1973
1925
|
"mn",
|
|
1974
1926
|
"ms",
|
|
1975
1927
|
"mtext"
|
|
1976
|
-
]),
|
|
1928
|
+
]), L = J({}, et), tt = U(["annotation-xml"]), nt = J({}, tt), R = J({}, [
|
|
1977
1929
|
"title",
|
|
1978
1930
|
"style",
|
|
1979
1931
|
"font",
|
|
1980
1932
|
"a",
|
|
1981
1933
|
"script"
|
|
1982
|
-
]),
|
|
1934
|
+
]), z = null, rt = ["application/xhtml+xml", "text/html"], B = null, V = null, it = n.createElement("form"), at = function(e) {
|
|
1983
1935
|
return e instanceof RegExp || e instanceof Function;
|
|
1984
|
-
},
|
|
1936
|
+
}, ot = function() {
|
|
1985
1937
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
1986
|
-
if (
|
|
1987
|
-
(!e || typeof e != "object") && (e = {}), e =
|
|
1988
|
-
transform:
|
|
1989
|
-
base:
|
|
1990
|
-
}),
|
|
1991
|
-
transform:
|
|
1992
|
-
base:
|
|
1993
|
-
}),
|
|
1994
|
-
let t =
|
|
1995
|
-
if (
|
|
1938
|
+
if (V && V === e) return;
|
|
1939
|
+
(!e || typeof e != "object") && (e = {}), e = Y(e), z = rt.indexOf(e.PARSER_MEDIA_TYPE) === -1 ? "text/html" : e.PARSER_MEDIA_TYPE, B = z === "application/xhtml+xml" ? Ot : Dt, C = bn(e, "ALLOWED_TAGS", De, { transform: B }), w = bn(e, "ALLOWED_ATTR", Oe, { transform: B }), Qe = bn(e, "ALLOWED_NAMESPACES", $e, { transform: Ot }), Ye = bn(e, "ADD_URI_SAFE_ATTR", N, {
|
|
1940
|
+
transform: B,
|
|
1941
|
+
base: N
|
|
1942
|
+
}), qe = bn(e, "ADD_DATA_URI_TAGS", Je, {
|
|
1943
|
+
transform: B,
|
|
1944
|
+
base: Je
|
|
1945
|
+
}), j = bn(e, "FORBID_CONTENTS", M, { transform: B }), ke = bn(e, "FORBID_TAGS", Y({}), { transform: B }), Ae = bn(e, "FORBID_ATTR", Y({}), { transform: B }), Ke = G(e, "USE_PROFILES") ? e.USE_PROFILES && typeof e.USE_PROFILES == "object" ? Y(e.USE_PROFILES) : e.USE_PROFILES : !1, je = e.ALLOW_ARIA_ATTR !== !1, Me = e.ALLOW_DATA_ATTR !== !1, Ne = e.ALLOW_UNKNOWN_PROTOCOLS || !1, Pe = e.ALLOW_SELF_CLOSE_IN_ATTR !== !1, D = e.SAFE_FOR_TEMPLATES || !1, Fe = e.SAFE_FOR_XML !== !1, O = e.WHOLE_DOCUMENT || !1, k = e.RETURN_DOM || !1, Be = e.RETURN_DOM_FRAGMENT || !1, Ve = e.RETURN_TRUSTED_TYPE || !1, ze = e.FORCE_BODY || !1, He = e.SANITIZE_DOM !== !1, Ue = e.SANITIZE_NAMED_PROPS || !1, Ge = e.KEEP_CONTENT !== !1, A = e.IN_PLACE || !1, Ee = Ht(e.ALLOWED_URI_REGEXP) ? e.ALLOWED_URI_REGEXP : on, I = typeof e.NAMESPACE == "string" ? e.NAMESPACE : F, L = xn(e, "MATHML_TEXT_INTEGRATION_POINTS", () => J({}, et)), nt = xn(e, "HTML_INTEGRATION_POINTS", () => J({}, tt));
|
|
1946
|
+
let t = xn(e, "CUSTOM_ELEMENT_HANDLING", () => _t(null));
|
|
1947
|
+
if (T = _t(null), G(t, "tagNameCheck") && at(t.tagNameCheck) && (T.tagNameCheck = t.tagNameCheck), G(t, "attributeNameCheck") && at(t.attributeNameCheck) && (T.attributeNameCheck = t.attributeNameCheck), G(t, "allowCustomizedBuiltInElements") && typeof t.allowCustomizedBuiltInElements == "boolean" && (T.allowCustomizedBuiltInElements = t.allowCustomizedBuiltInElements), W(T), D && (Me = !1), Be && (k = !0), Ke && (C = J({}, Yt), w = _t(null), Ke.html === !0 && (J(C, Ut), J(w, Xt)), Ke.svg === !0 && (J(C, Wt), J(w, Zt), J(w, $t)), Ke.svgFilters === !0 && (J(C, Gt), J(w, Zt), J(w, $t)), Ke.mathMl === !0 && (J(C, qt), J(w, Qt), J(w, $t))), E.tagCheck = null, E.attributeCheck = null, G(e, "ADD_TAGS") && (typeof e.ADD_TAGS == "function" ? E.tagCheck = e.ADD_TAGS : Et(e.ADD_TAGS) && (C === De && (C = Y(C)), J(C, e.ADD_TAGS, B))), G(e, "ADD_ATTR") && (typeof e.ADD_ATTR == "function" ? E.attributeCheck = e.ADD_ATTR : Et(e.ADD_ATTR) && (w === Oe && (w = Y(w)), J(w, e.ADD_ATTR, B))), G(e, "ADD_FORBID_CONTENTS") && Et(e.ADD_FORBID_CONTENTS) && (j === M && (j = Y(j)), J(j, e.ADD_FORBID_CONTENTS, B)), Ge && (C["#text"] = !0), O && J(C, [
|
|
1996
1948
|
"html",
|
|
1997
1949
|
"head",
|
|
1998
1950
|
"body"
|
|
1999
|
-
]),
|
|
2000
|
-
if (typeof e.TRUSTED_TYPES_POLICY.createHTML != "function") throw
|
|
2001
|
-
if (typeof e.TRUSTED_TYPES_POLICY.createScriptURL != "function") throw
|
|
2002
|
-
let t =
|
|
2003
|
-
|
|
1951
|
+
]), C.table && (J(C, ["tbody"]), delete ke.tbody), e.TRUSTED_TYPES_POLICY) {
|
|
1952
|
+
if (typeof e.TRUSTED_TYPES_POLICY.createHTML != "function") throw Rt("TRUSTED_TYPES_POLICY configuration option must provide a \"createHTML\" hook.");
|
|
1953
|
+
if (typeof e.TRUSTED_TYPES_POLICY.createScriptURL != "function") throw Rt("TRUSTED_TYPES_POLICY configuration option must provide a \"createScriptURL\" hook.");
|
|
1954
|
+
let t = b;
|
|
1955
|
+
b = e.TRUSTED_TYPES_POLICY;
|
|
2004
1956
|
try {
|
|
2005
|
-
|
|
1957
|
+
ae = ue("");
|
|
2006
1958
|
} catch (e) {
|
|
2007
|
-
throw
|
|
1959
|
+
throw b = t, e;
|
|
2008
1960
|
}
|
|
2009
|
-
} else e.TRUSTED_TYPES_POLICY === null ? (
|
|
2010
|
-
|
|
2011
|
-
},
|
|
1961
|
+
} else e.TRUSTED_TYPES_POLICY === null ? (b = void 0, ae = "") : (b === void 0 && (b = fe()), b && typeof ae == "string" && (ae = ue("")));
|
|
1962
|
+
U && U(e), V = e;
|
|
1963
|
+
}, st = J({}, [
|
|
1964
|
+
...Wt,
|
|
2012
1965
|
...Gt,
|
|
2013
|
-
...Kt
|
|
2014
|
-
|
|
2015
|
-
|
|
2016
|
-
|
|
2017
|
-
|
|
2018
|
-
|
|
2019
|
-
|
|
2020
|
-
|
|
2021
|
-
|
|
2022
|
-
let t = _(e);
|
|
1966
|
+
...Kt
|
|
1967
|
+
]), ct = J({}, [...qt, ...Jt]), lt = function(e, t, n) {
|
|
1968
|
+
return t.namespaceURI === F ? e === "svg" : t.namespaceURI === Xe ? e === "svg" && (n === "annotation-xml" || L[n]) : !!st[e];
|
|
1969
|
+
}, ut = function(e, t, n) {
|
|
1970
|
+
return t.namespaceURI === F ? e === "math" : t.namespaceURI === P ? e === "math" && nt[n] : !!ct[e];
|
|
1971
|
+
}, dt = function(e, t, n) {
|
|
1972
|
+
return t.namespaceURI === P && !nt[n] || t.namespaceURI === Xe && !L[n] ? !1 : !ct[e] && (R[e] || !st[e]);
|
|
1973
|
+
}, ft = function(e) {
|
|
1974
|
+
let t = g(e);
|
|
2023
1975
|
(!t || !t.tagName) && (t = {
|
|
2024
|
-
namespaceURI:
|
|
1976
|
+
namespaceURI: I,
|
|
2025
1977
|
tagName: "template"
|
|
2026
1978
|
});
|
|
2027
|
-
let n =
|
|
2028
|
-
return
|
|
2029
|
-
},
|
|
2030
|
-
|
|
1979
|
+
let n = Dt(e.tagName), r = Dt(t.tagName);
|
|
1980
|
+
return Qe[e.namespaceURI] ? e.namespaceURI === P ? lt(n, t, r) : e.namespaceURI === Xe ? ut(n, t, r) : e.namespaceURI === F ? dt(n, t, r) : !!(z === "application/xhtml+xml" && Qe[e.namespaceURI]) : !1;
|
|
1981
|
+
}, H = function(e) {
|
|
1982
|
+
wt(t.removed, { element: e });
|
|
2031
1983
|
try {
|
|
2032
|
-
|
|
1984
|
+
g(e).removeChild(e);
|
|
2033
1985
|
} catch {
|
|
2034
|
-
if (p(e), !
|
|
1986
|
+
if (p(e), !g(e)) throw Rt("a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place");
|
|
2035
1987
|
}
|
|
2036
|
-
},
|
|
1988
|
+
}, mt = function(e, t, n) {
|
|
2037
1989
|
try {
|
|
2038
1990
|
m(e, t);
|
|
2039
1991
|
} catch {
|
|
@@ -2041,31 +1993,31 @@ function Cn() {
|
|
|
2041
1993
|
e.removeAttribute(n);
|
|
2042
1994
|
} catch {}
|
|
2043
1995
|
}
|
|
2044
|
-
},
|
|
2045
|
-
|
|
2046
|
-
let t =
|
|
1996
|
+
}, ht = function(e) {
|
|
1997
|
+
yt(e);
|
|
1998
|
+
let t = h(e);
|
|
2047
1999
|
if (t) {
|
|
2048
2000
|
let e = [];
|
|
2049
|
-
|
|
2050
|
-
|
|
2051
|
-
}),
|
|
2001
|
+
xt(t, (t) => {
|
|
2002
|
+
wt(e, t);
|
|
2003
|
+
}), xt(e, (e) => {
|
|
2052
2004
|
try {
|
|
2053
2005
|
p(e);
|
|
2054
2006
|
} catch {}
|
|
2055
2007
|
});
|
|
2056
2008
|
}
|
|
2057
|
-
let n =
|
|
2009
|
+
let n = te(e);
|
|
2058
2010
|
if (n) for (let t = n.length - 1; t >= 0; --t) {
|
|
2059
2011
|
let r = n[t], i = r && r.name;
|
|
2060
|
-
typeof i == "string" &&
|
|
2012
|
+
typeof i == "string" && mt(e, r, i);
|
|
2061
2013
|
}
|
|
2062
|
-
},
|
|
2014
|
+
}, gt = function(e, n, r) {
|
|
2063
2015
|
if (!r) try {
|
|
2064
2016
|
r = n.getAttributeNode(e);
|
|
2065
2017
|
} catch {
|
|
2066
2018
|
r = null;
|
|
2067
2019
|
}
|
|
2068
|
-
|
|
2020
|
+
wt(t.removed, {
|
|
2069
2021
|
attribute: r || null,
|
|
2070
2022
|
from: n
|
|
2071
2023
|
});
|
|
@@ -2077,150 +2029,150 @@ function Cn() {
|
|
|
2077
2029
|
} catch {}
|
|
2078
2030
|
}
|
|
2079
2031
|
if (e === "is") {
|
|
2080
|
-
if (
|
|
2081
|
-
|
|
2032
|
+
if (k || Be) try {
|
|
2033
|
+
H(n);
|
|
2082
2034
|
} catch {}
|
|
2083
2035
|
else try {
|
|
2084
2036
|
n.setAttribute(e, "");
|
|
2085
2037
|
} catch {}
|
|
2086
2038
|
}
|
|
2087
|
-
},
|
|
2088
|
-
let t =
|
|
2039
|
+
}, vt = function(e) {
|
|
2040
|
+
let t = te(e);
|
|
2089
2041
|
if (t) for (let n = t.length - 1; n >= 0; --n) {
|
|
2090
2042
|
let r = t[n], i = r && r.name;
|
|
2091
|
-
typeof i != "string" ||
|
|
2043
|
+
typeof i != "string" || w[B(i)] || mt(e, r, i);
|
|
2092
2044
|
}
|
|
2093
|
-
},
|
|
2045
|
+
}, yt = function(e) {
|
|
2094
2046
|
let t = [e];
|
|
2095
2047
|
for (; t.length > 0;) {
|
|
2096
2048
|
let e = t.pop();
|
|
2097
|
-
|
|
2098
|
-
let n =
|
|
2049
|
+
re(e) === Z.element && vt(e);
|
|
2050
|
+
let n = h(e);
|
|
2099
2051
|
if (n) for (let e = n.length - 1; e >= 0; --e) t.push(n[e]);
|
|
2100
2052
|
}
|
|
2101
|
-
},
|
|
2102
|
-
return
|
|
2103
|
-
},
|
|
2104
|
-
if (!
|
|
2053
|
+
}, bt = function(e, t) {
|
|
2054
|
+
return Fe ? e === "patchsrc" || e === "for" && t !== "label" && t !== "output" : !1;
|
|
2055
|
+
}, Nt = function(e) {
|
|
2056
|
+
if (!Fe) return;
|
|
2105
2057
|
let t = [e];
|
|
2106
2058
|
for (; t.length > 0;) {
|
|
2107
|
-
let e = t.pop(), n =
|
|
2108
|
-
if (n ===
|
|
2059
|
+
let e = t.pop(), n = re(e);
|
|
2060
|
+
if (n === Z.processingInstruction || n === Z.comment && K(fn, e.data)) {
|
|
2109
2061
|
try {
|
|
2110
2062
|
p(e);
|
|
2111
2063
|
} catch {}
|
|
2112
2064
|
continue;
|
|
2113
2065
|
}
|
|
2114
|
-
if (n ===
|
|
2115
|
-
let t = e, n =
|
|
2066
|
+
if (n === Z.element) {
|
|
2067
|
+
let t = e, n = B(ie(e));
|
|
2116
2068
|
try {
|
|
2117
|
-
t.hasAttribute && t.hasAttribute("patchsrc") && t.removeAttribute("patchsrc"), t.hasAttribute && t.hasAttribute("for") &&
|
|
2069
|
+
t.hasAttribute && t.hasAttribute("patchsrc") && t.removeAttribute("patchsrc"), t.hasAttribute && t.hasAttribute("for") && bt("for", n) && t.removeAttribute("for");
|
|
2118
2070
|
} catch {}
|
|
2119
2071
|
}
|
|
2120
|
-
let r =
|
|
2072
|
+
let r = h(e);
|
|
2121
2073
|
if (r) for (let e = r.length - 1; e >= 0; --e) t.push(r[e]);
|
|
2122
2074
|
}
|
|
2123
|
-
},
|
|
2075
|
+
}, Pt = function(e) {
|
|
2124
2076
|
let t = null, r = null;
|
|
2125
2077
|
if (ze) e = "<remove></remove>" + e;
|
|
2126
2078
|
else {
|
|
2127
|
-
let t =
|
|
2079
|
+
let t = kt(e, /^[\r\n\t ]+/);
|
|
2128
2080
|
r = t && t[0];
|
|
2129
2081
|
}
|
|
2130
|
-
|
|
2131
|
-
let i =
|
|
2132
|
-
if (
|
|
2133
|
-
t = new l().parseFromString(i,
|
|
2082
|
+
z === "application/xhtml+xml" && I === F && (e = "<html xmlns=\"http://www.w3.org/1999/xhtml\"><head></head><body>" + e + "</body></html>");
|
|
2083
|
+
let i = b ? ue(e) : e;
|
|
2084
|
+
if (I === F) try {
|
|
2085
|
+
t = new l().parseFromString(i, z);
|
|
2134
2086
|
} catch {}
|
|
2135
2087
|
if (!t || !t.documentElement) {
|
|
2136
|
-
t =
|
|
2088
|
+
t = me.createDocument(I, "template", null);
|
|
2137
2089
|
try {
|
|
2138
|
-
t.documentElement.innerHTML =
|
|
2090
|
+
t.documentElement.innerHTML = Ze ? ae : i;
|
|
2139
2091
|
} catch {}
|
|
2140
2092
|
}
|
|
2141
2093
|
let a = t.body || t.documentElement;
|
|
2142
|
-
return e && r && a.insertBefore(n.createTextNode(r), a.childNodes[0] || null),
|
|
2143
|
-
},
|
|
2094
|
+
return e && r && a.insertBefore(n.createTextNode(r), a.childNodes[0] || null), I === F ? ge.call(t, O ? "html" : "body")[0] : O ? t.documentElement : a;
|
|
2095
|
+
}, Ft = function(e) {
|
|
2144
2096
|
let t = y ? y(e) : e.ownerDocument;
|
|
2145
|
-
return
|
|
2146
|
-
},
|
|
2147
|
-
return e =
|
|
2148
|
-
},
|
|
2097
|
+
return x.call(t || e, e, c.SHOW_ELEMENT | c.SHOW_COMMENT | c.SHOW_TEXT | c.SHOW_PROCESSING_INSTRUCTION | c.SHOW_CDATA_SECTION, null);
|
|
2098
|
+
}, It = function(e) {
|
|
2099
|
+
return e = At(e, ve, " "), e = At(e, ye, " "), e = At(e, be, " "), e;
|
|
2100
|
+
}, Lt = function(e) {
|
|
2149
2101
|
e.normalize();
|
|
2150
|
-
let t = y ? y(e) : e.ownerDocument, n =
|
|
2151
|
-
for (; r;) r.data =
|
|
2102
|
+
let t = y ? y(e) : e.ownerDocument, n = x.call(t || e, e, c.SHOW_TEXT | c.SHOW_COMMENT | c.SHOW_CDATA_SECTION | c.SHOW_PROCESSING_INSTRUCTION, null), r = n.nextNode();
|
|
2103
|
+
for (; r;) r.data = It(r.data), r = n.nextNode();
|
|
2152
2104
|
let i = e.querySelectorAll?.call(e, "template");
|
|
2153
|
-
i &&
|
|
2154
|
-
|
|
2105
|
+
i && xt(i, (e) => {
|
|
2106
|
+
zt(e.content) && Lt(e.content);
|
|
2155
2107
|
});
|
|
2156
|
-
},
|
|
2108
|
+
}, q = function(e) {
|
|
2157
2109
|
let t = ne ? ne(e) : null;
|
|
2158
|
-
return typeof t != "string" ||
|
|
2159
|
-
},
|
|
2160
|
-
if (!
|
|
2110
|
+
return typeof t != "string" || B(t) !== "form" ? !1 : typeof e.nodeName != "string" || typeof e.textContent != "string" || typeof e.removeChild != "function" || e.attributes !== te(e) || typeof e.removeAttribute != "function" || typeof e.removeAttributeNode != "function" || typeof e.getAttributeNode != "function" || typeof e.setAttribute != "function" || typeof e.namespaceURI != "string" || typeof e.insertBefore != "function" || typeof e.hasChildNodes != "function" || e.nodeType !== v(e) || e.childNodes !== h(e);
|
|
2111
|
+
}, zt = function(e) {
|
|
2112
|
+
if (!v || typeof e != "object" || !e) return !1;
|
|
2161
2113
|
try {
|
|
2162
|
-
return
|
|
2114
|
+
return v(e) === Z.documentFragment;
|
|
2163
2115
|
} catch {
|
|
2164
2116
|
return !1;
|
|
2165
2117
|
}
|
|
2166
|
-
},
|
|
2167
|
-
if (!
|
|
2118
|
+
}, Bt = function(e) {
|
|
2119
|
+
if (!v || typeof e != "object" || !e) return !1;
|
|
2168
2120
|
try {
|
|
2169
|
-
return typeof
|
|
2121
|
+
return typeof v(e) == "number";
|
|
2170
2122
|
} catch {
|
|
2171
2123
|
return !1;
|
|
2172
2124
|
}
|
|
2173
2125
|
};
|
|
2174
|
-
function
|
|
2175
|
-
e.length !== 0 &&
|
|
2176
|
-
e.call(t, n, r,
|
|
2126
|
+
function Q(e, n, r) {
|
|
2127
|
+
e.length !== 0 && xt(e, (e) => {
|
|
2128
|
+
e.call(t, n, r, V);
|
|
2177
2129
|
});
|
|
2178
2130
|
}
|
|
2179
|
-
let
|
|
2180
|
-
return !!(
|
|
2181
|
-
},
|
|
2182
|
-
return e instanceof RegExp ?
|
|
2183
|
-
},
|
|
2184
|
-
if (!
|
|
2185
|
-
if (
|
|
2186
|
-
let t =
|
|
2131
|
+
let Cn = function(e, t) {
|
|
2132
|
+
return !!(Fe && e.hasChildNodes() && !Bt(e.firstElementChild) && K(dn, e.textContent) && K(dn, e.innerHTML) || Fe && e.namespaceURI === F && hn[t] && (Bt(e.firstElementChild) || typeof e.textContent == "string" && K(gn[t], e.textContent)) || e.nodeType === Z.processingInstruction || Fe && e.nodeType === Z.comment && K(fn, e.data));
|
|
2133
|
+
}, $ = function(e, t) {
|
|
2134
|
+
return e instanceof RegExp ? K(e, t) : e instanceof Function && !!e(t, ...[...arguments].slice(2));
|
|
2135
|
+
}, wn = function(e, t, n) {
|
|
2136
|
+
if (!ke[t] && An(t) && $(T.tagNameCheck, t)) return !1;
|
|
2137
|
+
if (Ge && !j[t]) {
|
|
2138
|
+
let t = g(e), r = h(e);
|
|
2187
2139
|
if (r && t) {
|
|
2188
2140
|
let i = r.length;
|
|
2189
2141
|
for (let a = i - 1; a >= 0; --a) {
|
|
2190
2142
|
let i = e === n ? f(r[a], !0) : r[a];
|
|
2191
|
-
t.insertBefore(i,
|
|
2143
|
+
t.insertBefore(i, ee(e));
|
|
2192
2144
|
}
|
|
2193
2145
|
}
|
|
2194
2146
|
}
|
|
2195
|
-
return
|
|
2196
|
-
},
|
|
2197
|
-
return e.length === 0 ? t : t === n || t === r ?
|
|
2198
|
-
},
|
|
2199
|
-
return e === t ||
|
|
2200
|
-
},
|
|
2201
|
-
if (
|
|
2202
|
-
if (
|
|
2203
|
-
let r =
|
|
2204
|
-
if (
|
|
2147
|
+
return H(e), !0;
|
|
2148
|
+
}, Tn = function(e, t, n, r) {
|
|
2149
|
+
return e.length === 0 ? t : t === n || t === r ? Y(t) : t;
|
|
2150
|
+
}, En = function(e, t) {
|
|
2151
|
+
return e === t || g(e) !== null ? !1 : (A && yt(e), !0);
|
|
2152
|
+
}, Dn = function(e, n) {
|
|
2153
|
+
if (Q(S.beforeSanitizeElements, e, null), En(e, n)) return !0;
|
|
2154
|
+
if (q(e)) return H(e), !0;
|
|
2155
|
+
let r = B(ie(e));
|
|
2156
|
+
if (C = Tn(S.uponSanitizeElement, C, De, Le), Q(S.uponSanitizeElement, e, {
|
|
2205
2157
|
tagName: r,
|
|
2206
|
-
allowedTags:
|
|
2207
|
-
}),
|
|
2208
|
-
if (
|
|
2209
|
-
if (
|
|
2210
|
-
let t =
|
|
2211
|
-
return t === !1 && (
|
|
2212
|
-
}
|
|
2213
|
-
if (
|
|
2214
|
-
if (
|
|
2215
|
-
let n =
|
|
2216
|
-
e.textContent !== n && (
|
|
2217
|
-
}
|
|
2218
|
-
return
|
|
2219
|
-
},
|
|
2220
|
-
if (
|
|
2221
|
-
let i =
|
|
2222
|
-
return
|
|
2223
|
-
},
|
|
2158
|
+
allowedTags: C
|
|
2159
|
+
}), En(e, n)) return !0;
|
|
2160
|
+
if (Cn(e, r)) return H(e), !0;
|
|
2161
|
+
if (ke[r] || !(E.tagCheck instanceof Function && E.tagCheck(r)) && !C[r]) {
|
|
2162
|
+
let t = wn(e, r, n);
|
|
2163
|
+
return t === !1 && (Q(S.afterSanitizeElements, e, null), En(e, n)) ? !0 : t;
|
|
2164
|
+
}
|
|
2165
|
+
if (re(e) === Z.element && !ft(e) || (r === "noscript" || r === "noembed" || r === "noframes") && K(pn, e.innerHTML)) return H(e), !0;
|
|
2166
|
+
if (D && e.nodeType === Z.text) {
|
|
2167
|
+
let n = It(e.textContent);
|
|
2168
|
+
e.textContent !== n && (wt(t.removed, { element: e.cloneNode() }), e.textContent = n);
|
|
2169
|
+
}
|
|
2170
|
+
return Q(S.afterSanitizeElements, e, null), En(e, n);
|
|
2171
|
+
}, On = function(e, t, r) {
|
|
2172
|
+
if (Ae[t] || bt(t, e) || He && (t === "id" || t === "name") && (r in n || r in it)) return !1;
|
|
2173
|
+
let i = w[t] || E.attributeCheck instanceof Function && E.attributeCheck(t, e);
|
|
2174
|
+
return Me && K(xe, t) || je && K(Se, t) ? !0 : i ? Ye[t] || K(Ee, At(r, we, "")) || (t === "src" || t === "xlink:href" || t === "href") && e !== "script" && jt(r, "data:") === 0 && qe[e] || Ne && !K(Ce, At(r, we, "")) ? !0 : !r : An(e) && $(T.tagNameCheck, e) && $(T.attributeNameCheck, t, e) || t === "is" && T.allowCustomizedBuiltInElements && $(T.tagNameCheck, r);
|
|
2175
|
+
}, kn = J({}, [
|
|
2224
2176
|
"annotation-xml",
|
|
2225
2177
|
"color-profile",
|
|
2226
2178
|
"font-face",
|
|
@@ -2229,67 +2181,45 @@ function Cn() {
|
|
|
2229
2181
|
"font-face-src",
|
|
2230
2182
|
"font-face-uri",
|
|
2231
2183
|
"missing-glyph"
|
|
2232
|
-
]),
|
|
2233
|
-
return !
|
|
2234
|
-
},
|
|
2235
|
-
if (
|
|
2236
|
-
case "TrustedHTML": return
|
|
2237
|
-
case "TrustedScriptURL": return
|
|
2184
|
+
]), An = function(e) {
|
|
2185
|
+
return !kn[Dt(e)] && K(Te, e);
|
|
2186
|
+
}, jn = function(e, t, n, r) {
|
|
2187
|
+
if (b && typeof u == "object" && typeof u.getAttributeType == "function" && !n) switch (u.getAttributeType(e, t)) {
|
|
2188
|
+
case "TrustedHTML": return ue(r);
|
|
2189
|
+
case "TrustedScriptURL": return de(r);
|
|
2238
2190
|
}
|
|
2239
2191
|
return r;
|
|
2240
|
-
},
|
|
2192
|
+
}, Mn = function(e, t, n, r) {
|
|
2241
2193
|
try {
|
|
2242
|
-
return n ? e.setAttributeNS(n, t, r) : e.setAttribute(t, r), !
|
|
2194
|
+
return n ? e.setAttributeNS(n, t, r) : e.setAttribute(t, r), !q(e) || (H(e), !1);
|
|
2243
2195
|
} catch {
|
|
2244
|
-
return
|
|
2196
|
+
return gt(t, e), !1;
|
|
2245
2197
|
}
|
|
2246
|
-
},
|
|
2247
|
-
if (
|
|
2198
|
+
}, Nn = function(e, n) {
|
|
2199
|
+
if (Q(S.beforeSanitizeAttributes, e, null), En(e, n)) return;
|
|
2248
2200
|
let r = e.attributes;
|
|
2249
|
-
if (!r ||
|
|
2250
|
-
|
|
2201
|
+
if (!r || q(e)) return;
|
|
2202
|
+
w = Tn(S.uponSanitizeAttribute, w, Oe, Re);
|
|
2251
2203
|
let i = {
|
|
2252
2204
|
attrName: "",
|
|
2253
2205
|
attrValue: "",
|
|
2254
2206
|
keepAttr: !0,
|
|
2255
|
-
allowedAttributes:
|
|
2207
|
+
allowedAttributes: w,
|
|
2256
2208
|
forceKeepAttr: void 0
|
|
2257
|
-
}, a = r.length, o =
|
|
2209
|
+
}, a = r.length, o = B(e.nodeName);
|
|
2258
2210
|
for (; a--;) {
|
|
2259
|
-
let n = r[a], s = n.name, c = n.namespaceURI, l = n.value, u =
|
|
2260
|
-
|
|
2261
|
-
yt(s, e, n);
|
|
2262
|
-
continue;
|
|
2263
|
-
}
|
|
2264
|
-
if (u === "attributename" && Mt(f, "href")) {
|
|
2265
|
-
yt(s, e, n);
|
|
2266
|
-
continue;
|
|
2267
|
-
}
|
|
2268
|
-
if (!i.forceKeepAttr) {
|
|
2269
|
-
if (!i.keepAttr) {
|
|
2270
|
-
yt(s, e, n);
|
|
2271
|
-
continue;
|
|
2272
|
-
}
|
|
2273
|
-
if (!Ne && W(hn, f)) {
|
|
2274
|
-
yt(s, e, n);
|
|
2275
|
-
continue;
|
|
2276
|
-
}
|
|
2277
|
-
if (O && (f = zt(f)), !kn(o, u, f)) {
|
|
2278
|
-
yt(s, e, n);
|
|
2279
|
-
continue;
|
|
2280
|
-
}
|
|
2281
|
-
f = Mn(o, u, c, f), f !== d && Nn(e, s, c, f) && p && Et(t.removed);
|
|
2282
|
-
}
|
|
2211
|
+
let n = r[a], s = n.name, c = n.namespaceURI, l = n.value, u = B(s), d = l, f = s === "value" ? d : Mt(d), p = !1;
|
|
2212
|
+
i.attrName = u, i.attrValue = f, i.keepAttr = !0, i.forceKeepAttr = void 0, Q(S.uponSanitizeAttribute, e, i), f = i.attrValue, Ue && (u === "id" || u === "name") && jt(f, We) !== 0 && (gt(s, e, n), f = We + f, p = !0), Fe && K(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i, f) || u === "attributename" && kt(f, "href") ? gt(s, e, n) : i.forceKeepAttr || (i.keepAttr ? !Pe && K(mn, f) ? gt(s, e, n) : (D && (f = It(f)), On(o, u, f) ? (f = jn(o, u, c, f), f !== d && Mn(e, s, c, f) && p && Ct(t.removed)) : gt(s, e, n)) : gt(s, e, n));
|
|
2283
2213
|
}
|
|
2284
|
-
|
|
2285
|
-
},
|
|
2286
|
-
let t = null, n =
|
|
2287
|
-
for (
|
|
2288
|
-
let e =
|
|
2289
|
-
|
|
2214
|
+
Q(S.afterSanitizeAttributes, e, null), En(e, n);
|
|
2215
|
+
}, Pn = function(e) {
|
|
2216
|
+
let t = null, n = Ft(e);
|
|
2217
|
+
for (Q(S.beforeSanitizeShadowDOM, e, null); t = n.nextNode();) if (Q(S.uponSanitizeShadowNode, t, null), Dn(t, e), Nn(t, e), zt(t.content) && Pn(t.content), re(t) === Z.element) {
|
|
2218
|
+
let e = _(t);
|
|
2219
|
+
zt(e) && (Fn(e), Pn(e));
|
|
2290
2220
|
}
|
|
2291
|
-
|
|
2292
|
-
},
|
|
2221
|
+
Q(S.afterSanitizeShadowDOM, e, null);
|
|
2222
|
+
}, Fn = function(e) {
|
|
2293
2223
|
let t = [{
|
|
2294
2224
|
node: e,
|
|
2295
2225
|
shadow: null
|
|
@@ -2297,27 +2227,27 @@ function Cn() {
|
|
|
2297
2227
|
for (; t.length > 0;) {
|
|
2298
2228
|
let e = t.pop();
|
|
2299
2229
|
if (e.shadow) {
|
|
2300
|
-
|
|
2230
|
+
Pn(e.shadow);
|
|
2301
2231
|
continue;
|
|
2302
2232
|
}
|
|
2303
|
-
let n = e.node, r =
|
|
2233
|
+
let n = e.node, r = re(n) === Z.element, i = h(n);
|
|
2304
2234
|
if (i) for (let e = i.length - 1; e >= 0; --e) t.push({
|
|
2305
2235
|
node: i[e],
|
|
2306
2236
|
shadow: null
|
|
2307
2237
|
});
|
|
2308
2238
|
if (r) {
|
|
2309
2239
|
let e = ne ? ne(n) : null;
|
|
2310
|
-
if (typeof e == "string" &&
|
|
2240
|
+
if (typeof e == "string" && B(e) === "template") {
|
|
2311
2241
|
let e = n.content;
|
|
2312
|
-
|
|
2242
|
+
zt(e) && t.push({
|
|
2313
2243
|
node: e,
|
|
2314
2244
|
shadow: null
|
|
2315
2245
|
});
|
|
2316
2246
|
}
|
|
2317
2247
|
}
|
|
2318
2248
|
if (r) {
|
|
2319
|
-
let e =
|
|
2320
|
-
|
|
2249
|
+
let e = _(n);
|
|
2250
|
+
zt(e) && t.push({
|
|
2321
2251
|
node: null,
|
|
2322
2252
|
shadow: e
|
|
2323
2253
|
}, {
|
|
@@ -2329,78 +2259,78 @@ function Cn() {
|
|
|
2329
2259
|
};
|
|
2330
2260
|
return t.sanitize = function(e) {
|
|
2331
2261
|
let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, i = null, a = null, o = null, s = null;
|
|
2332
|
-
if (
|
|
2262
|
+
if (Ze = !e, Ze && (e = "<!-->"), typeof e != "string" && !Bt(e) && (e = Vt(e), typeof e != "string")) throw Rt("dirty is not a string, aborting");
|
|
2333
2263
|
if (!t.isSupported) return e;
|
|
2334
|
-
Ie ? (
|
|
2335
|
-
let c =
|
|
2264
|
+
Ie ? (C = Le, w = Re) : ot(n), (S.uponSanitizeElement.length > 0 || S.uponSanitizeAttribute.length > 0) && (C = Y(C)), S.uponSanitizeAttribute.length > 0 && (w = Y(w)), t.removed = [];
|
|
2265
|
+
let c = A && typeof e != "string" && Bt(e);
|
|
2336
2266
|
if (c) {
|
|
2337
|
-
|
|
2338
|
-
let t =
|
|
2267
|
+
Nt(e);
|
|
2268
|
+
let t = ie(e);
|
|
2339
2269
|
if (typeof t == "string") {
|
|
2340
|
-
let n =
|
|
2341
|
-
if (!
|
|
2270
|
+
let n = B(t);
|
|
2271
|
+
if (!C[n] || ke[n]) throw ht(e), Rt("root node is forbidden and cannot be sanitized in-place");
|
|
2342
2272
|
}
|
|
2343
|
-
if (
|
|
2273
|
+
if (q(e)) throw ht(e), Rt("root node is clobbered and cannot be sanitized in-place");
|
|
2344
2274
|
try {
|
|
2345
|
-
|
|
2275
|
+
Fn(e);
|
|
2346
2276
|
} catch (t) {
|
|
2347
|
-
throw
|
|
2277
|
+
throw ht(e), t;
|
|
2348
2278
|
}
|
|
2349
|
-
} else if (
|
|
2279
|
+
} else if (Bt(e)) i = Pt("<!---->"), a = i.ownerDocument.importNode(e, !0), a.nodeType === Z.element && a.nodeName === "BODY" || a.nodeName === "HTML" ? i = a : i.appendChild(a), Fn(i);
|
|
2350
2280
|
else {
|
|
2351
|
-
if (!
|
|
2352
|
-
if (i =
|
|
2281
|
+
if (!k && !D && !O && e.indexOf("<") === -1) return b && Ve ? ue(e) : e;
|
|
2282
|
+
if (i = Pt(e), !i) return k ? null : Ve ? ae : "";
|
|
2353
2283
|
}
|
|
2354
|
-
i && ze &&
|
|
2284
|
+
i && ze && H(i.firstChild);
|
|
2355
2285
|
let l = c ? e : i;
|
|
2356
2286
|
try {
|
|
2357
|
-
let e =
|
|
2358
|
-
for (; o = e.nextNode();)
|
|
2287
|
+
let e = Ft(l);
|
|
2288
|
+
for (; o = e.nextNode();) Dn(o, l), Nn(o, l), zt(o.content) && Pn(o.content);
|
|
2359
2289
|
} catch (n) {
|
|
2360
|
-
throw c && (
|
|
2361
|
-
e.element &&
|
|
2290
|
+
throw c && (ht(e), xt(t.removed, (e) => {
|
|
2291
|
+
e.element && yt(e.element);
|
|
2362
2292
|
})), n;
|
|
2363
2293
|
}
|
|
2364
2294
|
if (c) {
|
|
2365
2295
|
let n = !1;
|
|
2366
|
-
if (
|
|
2367
|
-
t.element && (t.element === e && (n = !0),
|
|
2368
|
-
}), n) throw
|
|
2369
|
-
return
|
|
2296
|
+
if (xt(t.removed, (t) => {
|
|
2297
|
+
t.element && (t.element === e && (n = !0), yt(t.element));
|
|
2298
|
+
}), n) throw Rt("a node selected for removal could not be safely returned; refusing to sanitize in place");
|
|
2299
|
+
return D && Lt(e), e;
|
|
2370
2300
|
}
|
|
2371
|
-
if (
|
|
2372
|
-
if (
|
|
2301
|
+
if (k) {
|
|
2302
|
+
if (D && Lt(i), Be) for (s = he.call(i.ownerDocument); i.firstChild;) s.appendChild(i.firstChild);
|
|
2373
2303
|
else s = i;
|
|
2374
|
-
return (
|
|
2304
|
+
return (w.shadowroot || w.shadowrootmode) && (s = _e.call(r, s, !0)), s;
|
|
2375
2305
|
}
|
|
2376
|
-
let u =
|
|
2377
|
-
return
|
|
2306
|
+
let u = O ? i.outerHTML : i.innerHTML;
|
|
2307
|
+
return O && C["!doctype"] && i.ownerDocument && i.ownerDocument.doctype && i.ownerDocument.doctype.name && K(ln, i.ownerDocument.doctype.name) && (u = "<!DOCTYPE " + i.ownerDocument.doctype.name + ">\n" + u), D && (u = It(u)), b && Ve ? ue(u) : u;
|
|
2378
2308
|
}, t.setConfig = function() {
|
|
2379
2309
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
2380
|
-
|
|
2310
|
+
ot(e), Ie = !0, Le = C, Re = w;
|
|
2381
2311
|
}, t.clearConfig = function() {
|
|
2382
|
-
|
|
2312
|
+
V = null, Ie = !1, Le = null, Re = null, b = oe, ae = "";
|
|
2383
2313
|
}, t.isValidAttribute = function(e, t, n) {
|
|
2384
|
-
|
|
2385
|
-
let r =
|
|
2386
|
-
return
|
|
2314
|
+
V || ot({});
|
|
2315
|
+
let r = B(e), i = B(t);
|
|
2316
|
+
return On(r, i, n);
|
|
2387
2317
|
}, t.addHook = function(e, t) {
|
|
2388
|
-
typeof t == "function" &&
|
|
2318
|
+
typeof t == "function" && G(S, e) && wt(S[e], t);
|
|
2389
2319
|
}, t.removeHook = function(e, t) {
|
|
2390
|
-
if (
|
|
2320
|
+
if (G(S, e)) {
|
|
2391
2321
|
if (t !== void 0) {
|
|
2392
|
-
let n =
|
|
2393
|
-
return n === -1 ? void 0 :
|
|
2322
|
+
let n = St(S[e], t);
|
|
2323
|
+
return n === -1 ? void 0 : Tt(S[e], n, 1)[0];
|
|
2394
2324
|
}
|
|
2395
|
-
return
|
|
2325
|
+
return Ct(S[e]);
|
|
2396
2326
|
}
|
|
2397
2327
|
}, t.removeHooks = function(e) {
|
|
2398
|
-
|
|
2328
|
+
G(S, e) && (S[e] = []);
|
|
2399
2329
|
}, t.removeAllHooks = function() {
|
|
2400
|
-
|
|
2330
|
+
S = yn();
|
|
2401
2331
|
}, t;
|
|
2402
2332
|
}
|
|
2403
|
-
var
|
|
2333
|
+
var Cn = Sn(), $ = class {
|
|
2404
2334
|
constructor(e, t) {
|
|
2405
2335
|
this.editor = e, this.defaultText = `${t} text`, this.button = this.createButton(), this.title = t;
|
|
2406
2336
|
}
|
|
@@ -2414,7 +2344,7 @@ var wn = Cn(), Q = class {
|
|
|
2414
2344
|
}
|
|
2415
2345
|
return t;
|
|
2416
2346
|
}
|
|
2417
|
-
},
|
|
2347
|
+
}, wn = class extends $ {
|
|
2418
2348
|
constructor(e) {
|
|
2419
2349
|
super(e, "Bold"), this.button = this.createButton("\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M7 5h6a3.5 3.5 0 0 1 0 7h-6l0 -7\" /><path d=\"M13 12h1a3.5 3.5 0 0 1 0 7h-7v-7\" /></svg>\n ");
|
|
2420
2350
|
}
|
|
@@ -2431,7 +2361,7 @@ var wn = Cn(), Q = class {
|
|
|
2431
2361
|
} else a = `**${i || "Bold text"}**`, i || (o = 2);
|
|
2432
2362
|
this.editor.insertText(a, o, o);
|
|
2433
2363
|
}
|
|
2434
|
-
},
|
|
2364
|
+
}, Tn = class extends $ {
|
|
2435
2365
|
constructor(e) {
|
|
2436
2366
|
super(e, "Italic"), this.button = this.createButton("\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M11 5l6 0\" /><path d=\"M7 19l6 0\" /><path d=\"M14 5l-4 14\" /></svg>\n ");
|
|
2437
2367
|
}
|
|
@@ -2448,7 +2378,7 @@ var wn = Cn(), Q = class {
|
|
|
2448
2378
|
} else a = `*${i || "Italic text"}*`, i || (o = 1);
|
|
2449
2379
|
this.editor.insertText(a, o, o);
|
|
2450
2380
|
}
|
|
2451
|
-
},
|
|
2381
|
+
}, En = class extends $ {
|
|
2452
2382
|
constructor(e) {
|
|
2453
2383
|
super(e, "Strikethrough"), this.button = this.createButton("\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M5 12l14 0\" /><path d=\"M16 6.5a4 2 0 0 0 -4 -1.5h-1a3.5 3.5 0 0 0 0 7h2a3.5 3.5 0 0 1 0 7h-1.5a4 2 0 0 1 -4 -1.5\" /></svg>\n ");
|
|
2454
2384
|
}
|
|
@@ -2461,7 +2391,7 @@ var wn = Cn(), Q = class {
|
|
|
2461
2391
|
} else a = `~~${i || "Strikethrough text"}~~`, o = 2;
|
|
2462
2392
|
this.editor.insertText(a, o, o);
|
|
2463
2393
|
}
|
|
2464
|
-
},
|
|
2394
|
+
}, Dn = class extends $ {
|
|
2465
2395
|
constructor(e) {
|
|
2466
2396
|
super(e, "Unordered list"), this.button = this.createButton("\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M9 6l11 0\" /><path d=\"M9 12l11 0\" /><path d=\"M9 18l11 0\" /><path d=\"M5 6l0 .01\" /><path d=\"M5 12l0 .01\" /><path d=\"M5 18l0 .01\" /></svg>\n ");
|
|
2467
2397
|
}
|
|
@@ -2474,7 +2404,7 @@ var wn = Cn(), Q = class {
|
|
|
2474
2404
|
} else a = `- ${i || "Unordered list"}`, o = 2;
|
|
2475
2405
|
this.editor.insertText(a, o);
|
|
2476
2406
|
}
|
|
2477
|
-
},
|
|
2407
|
+
}, On = class extends $ {
|
|
2478
2408
|
constructor(e) {
|
|
2479
2409
|
super(e, "Ordered list"), this.button = this.createButton("\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M11 6h9\" /><path d=\"M11 12h9\" /><path d=\"M12 18h8\" /><path d=\"M4 16a2 2 0 1 1 4 0c0 .591 -.5 1 -1 1.5l-3 2.5h4\" /><path d=\"M6 10v-6l-2 2\" /></svg>\n ");
|
|
2480
2410
|
}
|
|
@@ -2487,7 +2417,7 @@ var wn = Cn(), Q = class {
|
|
|
2487
2417
|
} else a = `1. ${i || "Ordered list"}`, o = 3;
|
|
2488
2418
|
this.editor.insertText(a, o);
|
|
2489
2419
|
}
|
|
2490
|
-
},
|
|
2420
|
+
}, kn = class extends $ {
|
|
2491
2421
|
constructor(e) {
|
|
2492
2422
|
super(e, "Preview"), this.preview = !0, this.button = this.createButton("\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M12 4v16\" /><path d=\"M3 5a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v14a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2v-14\" /><path d=\"M12 13l7.5 -7.5\" /><path d=\"M12 18l8 -8\" /><path d=\"M15 20l5 -5\" /><path d=\"M12 8l4 -4\" /></svg>\n ");
|
|
2493
2423
|
let t = this.button.querySelector("button");
|
|
@@ -2518,7 +2448,7 @@ var wn = Cn(), Q = class {
|
|
|
2518
2448
|
destroy() {
|
|
2519
2449
|
this.preview || (document.removeEventListener("keydown", this._escHandler), document.querySelector("body")?.classList.remove("fj:overflow-hidden"));
|
|
2520
2450
|
}
|
|
2521
|
-
},
|
|
2451
|
+
}, An = class extends $ {
|
|
2522
2452
|
constructor(e) {
|
|
2523
2453
|
super(e, "Check list"), this.button = this.createButton("\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M3.5 5.5l1.5 1.5l2.5 -2.5\" /><path d=\"M3.5 11.5l1.5 1.5l2.5 -2.5\" /><path d=\"M3.5 17.5l1.5 1.5l2.5 -2.5\" /><path d=\"M11 6l9 0\" /><path d=\"M11 12l9 0\" /><path d=\"M11 18l9 0\" /></svg>\n ");
|
|
2524
2454
|
}
|
|
@@ -2535,7 +2465,7 @@ var wn = Cn(), Q = class {
|
|
|
2535
2465
|
}
|
|
2536
2466
|
this.editor.insertText(s, c);
|
|
2537
2467
|
}
|
|
2538
|
-
},
|
|
2468
|
+
}, jn = class extends $ {
|
|
2539
2469
|
constructor(e) {
|
|
2540
2470
|
super(e, "Blockquote"), this.button = this.createButton("\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M10 11h-4a1 1 0 0 1 -1 -1v-3a1 1 0 0 1 1 -1h3a1 1 0 0 1 1 1v6c0 2.667 -1.333 4.333 -4 5\" /><path d=\"M19 11h-4a1 1 0 0 1 -1 -1v-3a1 1 0 0 1 1 -1h3a1 1 0 0 1 1 1v6c0 2.667 -1.333 4.333 -4 5\" /></svg>\n ");
|
|
2541
2471
|
}
|
|
@@ -2551,7 +2481,7 @@ var wn = Cn(), Q = class {
|
|
|
2551
2481
|
};
|
|
2552
2482
|
//#endregion
|
|
2553
2483
|
//#region src/components/modal.js
|
|
2554
|
-
function
|
|
2484
|
+
function Mn(e, t, n, r = "") {
|
|
2555
2485
|
let i = e.target.closest(".markdown-editor-wrapper");
|
|
2556
2486
|
i.querySelector(".markdown-modal") && i.querySelector(".markdown-modal").remove();
|
|
2557
2487
|
let a = `
|
|
@@ -2567,7 +2497,7 @@ function Nn(e, t, n, r = "") {
|
|
|
2567
2497
|
}
|
|
2568
2498
|
//#endregion
|
|
2569
2499
|
//#region src/components/toolbar/tools/LinkTool.js
|
|
2570
|
-
var
|
|
2500
|
+
var Nn = class extends $ {
|
|
2571
2501
|
constructor(e) {
|
|
2572
2502
|
super(e, "Link"), this.button = this.createButton("\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M9 15l6 -6\" /><path d=\"M11 6l.463 -.536a5 5 0 0 1 7.071 7.072l-.534 .464\" /><path d=\"M13 18l-.397 .534a5.068 5.068 0 0 1 -7.127 0a4.972 4.972 0 0 1 0 -7.071l.524 -.463\" /></svg>\n ");
|
|
2573
2503
|
}
|
|
@@ -2577,7 +2507,7 @@ var Pn = class extends Q {
|
|
|
2577
2507
|
let e = s.match(/^\]\(([^)]+)\)/);
|
|
2578
2508
|
e && (r = o.length - 1, i += e[0].length, n.setSelectionRange(r, i));
|
|
2579
2509
|
}
|
|
2580
|
-
let c = a.substring(r, i), l = c && c.match(/^\[([^\]]+)\]\(([^)]+)\)$/), u = l ? l[1] : c, d = l ? l[2] : "", f =
|
|
2510
|
+
let c = a.substring(r, i), l = c && c.match(/^\[([^\]]+)\]\(([^)]+)\)$/), u = l ? l[1] : c, d = l ? l[2] : "", f = Mn(e, "fj:max-w-sm", `
|
|
2581
2511
|
<div class="fj:flex fj:justify-between fj:items-center fj:gap-3">
|
|
2582
2512
|
<div class="fj:font-medium">${this.editor.label("Link")}</div>
|
|
2583
2513
|
<button type="button" class="modal-close-btn fj:me-btn fj:me-btn-ghost fj:me-btn-xs fj:me-btn-circle" aria-label="${this.editor.label("Close")}">
|
|
@@ -2602,9 +2532,23 @@ var Pn = class extends Q {
|
|
|
2602
2532
|
}
|
|
2603
2533
|
});
|
|
2604
2534
|
}
|
|
2605
|
-
},
|
|
2606
|
-
|
|
2607
|
-
|
|
2535
|
+
}, Pn = [
|
|
2536
|
+
1,
|
|
2537
|
+
2,
|
|
2538
|
+
3,
|
|
2539
|
+
4,
|
|
2540
|
+
5,
|
|
2541
|
+
6
|
|
2542
|
+
];
|
|
2543
|
+
function Fn(e) {
|
|
2544
|
+
if (e === void 0) return Pn;
|
|
2545
|
+
if (!Array.isArray(e)) return console.warn("[MarkdownEditor] heading levels must be an array of numbers 1-6. Using all six.", e), Pn;
|
|
2546
|
+
let t = [...new Set(e)].filter((e) => Number.isInteger(e) && e >= 1 && e <= 6).sort((e, t) => e - t);
|
|
2547
|
+
return t.length !== e.length && console.warn("[MarkdownEditor] Ignored heading levels outside 1-6, or repeated.", e), t.length ? t : (console.warn("[MarkdownEditor] No usable heading levels. Using all six.", e), Pn);
|
|
2548
|
+
}
|
|
2549
|
+
var In = class extends $ {
|
|
2550
|
+
constructor(e, t = {}) {
|
|
2551
|
+
super(e, "Heading"), this.levels = Fn(t?.levels), this.button = this.createButton("\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M7 12h10\" /><path d=\"M7 5v14\" /><path d=\"M17 5v14\" /><path d=\"M15 19h4\" /><path d=\"M15 5h4\" /><path d=\"M5 19h4\" /><path d=\"M5 5h4\" /></svg>\n ");
|
|
2608
2552
|
}
|
|
2609
2553
|
createButton(e) {
|
|
2610
2554
|
let t = `heading-popover-${Math.random().toString(36).slice(2, 7)}`, n = document.createElement("button");
|
|
@@ -2623,7 +2567,7 @@ var Pn = class extends Q {
|
|
|
2623
2567
|
"fj:me-heading-xs",
|
|
2624
2568
|
"fj:me-heading-xs"
|
|
2625
2569
|
];
|
|
2626
|
-
for (let e
|
|
2570
|
+
for (let e of this.levels ?? Pn) {
|
|
2627
2571
|
let t = document.createElement("li");
|
|
2628
2572
|
t.setAttribute("role", "none");
|
|
2629
2573
|
let n = document.createElement("button");
|
|
@@ -2645,7 +2589,7 @@ var Pn = class extends Q {
|
|
|
2645
2589
|
};
|
|
2646
2590
|
//#endregion
|
|
2647
2591
|
//#region src/utils/imageUpload.js
|
|
2648
|
-
async function
|
|
2592
|
+
async function Ln(e, { uploadUrl: t, params: n = {}, alt: r = "" } = {}) {
|
|
2649
2593
|
let i = new FormData();
|
|
2650
2594
|
i.append("image_file", e), i.append("image_alt", r);
|
|
2651
2595
|
for (let [e, t] of Object.entries(n)) i.append(e, t);
|
|
@@ -2663,7 +2607,7 @@ async function In(e, { uploadUrl: t, params: n = {}, alt: r = "" } = {}) {
|
|
|
2663
2607
|
}
|
|
2664
2608
|
//#endregion
|
|
2665
2609
|
//#region src/components/toolbar/tools/ImageTool.js
|
|
2666
|
-
var
|
|
2610
|
+
var Rn = class extends $ {
|
|
2667
2611
|
constructor(e, t = {}) {
|
|
2668
2612
|
super(e, "Image link"), this.config = t, this.fileInputConfig = t.fileInput || !1, this.altInputConfig = t.altInput === void 0 ? { required: !0 } : t.altInput, this.button = this.createButton("\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M15 8h.01\" /><path d=\"M12.5 21h-6.5a3 3 0 0 1 -3 -3v-12a3 3 0 0 1 3 -3h12a3 3 0 0 1 3 3v6.5\" /><path d=\"M3 16l5 -5c.928 -.893 2.072 -.893 3 0l4 4\" /><path d=\"M14 14l1 -1c.67 -.644 1.45 -.824 2.182 -.54\" /><path d=\"M16 19h6\" /><path d=\"M19 16v6\" /></svg>\n ");
|
|
2669
2613
|
}
|
|
@@ -2673,12 +2617,12 @@ var Ln = class extends Q {
|
|
|
2673
2617
|
let e = s.match(/^\]\(([^)]+)\)/);
|
|
2674
2618
|
e && (r = o.length - 2, i += e[0].length, n.setSelectionRange(r, i));
|
|
2675
2619
|
}
|
|
2676
|
-
let c = a.substring(r, i), l = this.fileInputConfig.accept ? this.fileInputConfig.accept.map((e) => `image/${e}`).join(",") : "image/*", u = typeof this.altInputConfig == "boolean" ? this.altInputConfig : this.altInputConfig.required !== !1, d = this.fileInputConfig.uploadUrl || null, f = this.fileInputConfig.params || {}, p = c && c.match(/^!\[([^\]]*)\]\(([^)]+)\)$/), m = p ? p[1] : c,
|
|
2677
|
-
this.fileInputConfig && (
|
|
2620
|
+
let c = a.substring(r, i), l = this.fileInputConfig.accept ? this.fileInputConfig.accept.map((e) => `image/${e}`).join(",") : "image/*", u = typeof this.altInputConfig == "boolean" ? this.altInputConfig : this.altInputConfig.required !== !1, d = this.fileInputConfig.uploadUrl || null, f = this.fileInputConfig.params || {}, p = c && c.match(/^!\[([^\]]*)\]\(([^)]+)\)$/), m = p ? p[1] : c, ee = p ? p[2] : "", h = "";
|
|
2621
|
+
this.fileInputConfig && (h = `
|
|
2678
2622
|
<input type="file" accept="${l}" class="img-file-input fj:me-input fj:w-full">
|
|
2679
2623
|
<div class="fj:me-divider fj:my-1">OR</div>
|
|
2680
2624
|
`);
|
|
2681
|
-
let
|
|
2625
|
+
let g = Mn(e, "fj:max-w-sm", `
|
|
2682
2626
|
<div class="fj:flex fj:justify-between fj:items-center fj:gap-3">
|
|
2683
2627
|
<div class="fj:font-medium">${t.label("Image")}</div>
|
|
2684
2628
|
<button type="button" class="modal-close-btn fj:me-btn fj:me-btn-ghost fj:me-btn-xs fj:me-btn-circle" aria-label="${t.label("Close")}">
|
|
@@ -2686,16 +2630,16 @@ var Ln = class extends Q {
|
|
|
2686
2630
|
</button>
|
|
2687
2631
|
</div>
|
|
2688
2632
|
<div class="fj:mt-4 fj:flex fj:flex-col fj:gap-y-4">
|
|
2689
|
-
${
|
|
2690
|
-
<input type="url" placeholder="${t.label("URL")}" class="img-link-input fj:me-input fj:w-full" value="${
|
|
2633
|
+
${h}
|
|
2634
|
+
<input type="url" placeholder="${t.label("URL")}" class="img-link-input fj:me-input fj:w-full" value="${ee}" required>
|
|
2691
2635
|
<input type="text" placeholder="${t.label("Alt text")}" class="img-link-alt-input fj:me-input fj:w-full" value="${m}" ${u ? "required" : ""}>
|
|
2692
2636
|
<button type="button" class="submit-img-link fj:me-btn fj:me-btn-sm fj:self-end">${t.label("Apply")}</button>
|
|
2693
2637
|
</div>`, "Image");
|
|
2694
|
-
|
|
2695
|
-
let
|
|
2696
|
-
|
|
2638
|
+
g.querySelector(".modal-close-btn").addEventListener("click", () => g.close());
|
|
2639
|
+
let _ = g.querySelector(".submit-img-link");
|
|
2640
|
+
_.addEventListener("click", async (e) => {
|
|
2697
2641
|
e.preventDefault();
|
|
2698
|
-
let n =
|
|
2642
|
+
let n = g.querySelector(".img-file-input"), r = g.querySelector(".img-link-input"), i = g.querySelector(".img-link-alt-input"), a = n?.files[0];
|
|
2699
2643
|
if (a && (r.required = !1), u && !i.validity.valid) {
|
|
2700
2644
|
i.reportValidity(), a && (r.required = !0);
|
|
2701
2645
|
return;
|
|
@@ -2706,25 +2650,25 @@ var Ln = class extends Q {
|
|
|
2706
2650
|
}
|
|
2707
2651
|
if (a && d) {
|
|
2708
2652
|
let e = n.files[0];
|
|
2709
|
-
|
|
2653
|
+
_.disabled = !0, _.textContent = t.label("Uploading...");
|
|
2710
2654
|
try {
|
|
2711
|
-
let { path: t, alt: n } = await
|
|
2655
|
+
let { path: t, alt: n } = await Ln(e, {
|
|
2712
2656
|
uploadUrl: d,
|
|
2713
2657
|
params: f,
|
|
2714
2658
|
alt: i.value
|
|
2715
2659
|
});
|
|
2716
2660
|
r.value = t, n && !i.value.trim() && (i.value = n);
|
|
2717
2661
|
} catch (e) {
|
|
2718
|
-
alert(e.message || "Upload failed."),
|
|
2662
|
+
alert(e.message || "Upload failed."), _.disabled = !1, _.textContent = t.label("Apply"), r.required = !0;
|
|
2719
2663
|
return;
|
|
2720
2664
|
}
|
|
2721
|
-
|
|
2665
|
+
_.disabled = !1, _.textContent = t.label("Apply");
|
|
2722
2666
|
}
|
|
2723
2667
|
let o = r.value, s = ``;
|
|
2724
|
-
t.insertText(s),
|
|
2668
|
+
t.insertText(s), g.close();
|
|
2725
2669
|
});
|
|
2726
2670
|
}
|
|
2727
|
-
},
|
|
2671
|
+
}, zn = class extends $ {
|
|
2728
2672
|
constructor(e) {
|
|
2729
2673
|
super(e, "Undo"), this.button = this.createButton("\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M9 14l-4 -4l4 -4\" /><path d=\"M5 10h11a4 4 0 1 1 0 8h-1\" /></svg>\n ");
|
|
2730
2674
|
}
|
|
@@ -2732,7 +2676,7 @@ var Ln = class extends Q {
|
|
|
2732
2676
|
let e = this.editor.undoRedoManager;
|
|
2733
2677
|
e && e.undo();
|
|
2734
2678
|
}
|
|
2735
|
-
},
|
|
2679
|
+
}, Bn = class extends $ {
|
|
2736
2680
|
constructor(e) {
|
|
2737
2681
|
super(e, "Redo"), this.button = this.createButton("\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M15 14l4 -4l-4 -4\" /><path d=\"M19 10h-11a4 4 0 1 0 0 8h1\" /></svg>\n ");
|
|
2738
2682
|
}
|
|
@@ -2740,7 +2684,7 @@ var Ln = class extends Q {
|
|
|
2740
2684
|
let e = this.editor.undoRedoManager;
|
|
2741
2685
|
e && e.redo();
|
|
2742
2686
|
}
|
|
2743
|
-
},
|
|
2687
|
+
}, Vn = class extends $ {
|
|
2744
2688
|
constructor(e) {
|
|
2745
2689
|
super(e, "Indent"), this.button = this.createButton("\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M20 6l-11 0\" /><path d=\"M20 12l-7 0\" /><path d=\"M20 18l-11 0\" /><path d=\"M4 8l4 4l-4 4\" /></svg>\n ");
|
|
2746
2690
|
}
|
|
@@ -2748,7 +2692,7 @@ var Ln = class extends Q {
|
|
|
2748
2692
|
let e = this.editor.indentManager;
|
|
2749
2693
|
e && (e.indent(), this.editor.render());
|
|
2750
2694
|
}
|
|
2751
|
-
},
|
|
2695
|
+
}, Hn = class extends $ {
|
|
2752
2696
|
constructor(e) {
|
|
2753
2697
|
super(e, "Outdent"), this.button = this.createButton("\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M20 6l-7 0\" /><path d=\"M20 12l-9 0\" /><path d=\"M20 18l-7 0\" /><path d=\"M8 8l-4 4l4 4\" /></svg>\n ");
|
|
2754
2698
|
}
|
|
@@ -2756,7 +2700,7 @@ var Ln = class extends Q {
|
|
|
2756
2700
|
let t = this.editor.indentManager;
|
|
2757
2701
|
t && (t.outdent(), this.editor.render());
|
|
2758
2702
|
}
|
|
2759
|
-
},
|
|
2703
|
+
}, Un = class extends $ {
|
|
2760
2704
|
constructor(e) {
|
|
2761
2705
|
super(e, "Code"), this.button = this.createButton("\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M7 8l-4 4l4 4\" /><path d=\"M17 8l4 4l-4 4\" /><path d=\"M14 4l-4 16\" /></svg>\n ");
|
|
2762
2706
|
}
|
|
@@ -2773,7 +2717,7 @@ var Ln = class extends Q {
|
|
|
2773
2717
|
let a = `\`${i || "code"}\``;
|
|
2774
2718
|
this.editor.insertText(a, 1, 1);
|
|
2775
2719
|
}
|
|
2776
|
-
},
|
|
2720
|
+
}, Wn = class extends $ {
|
|
2777
2721
|
constructor(e) {
|
|
2778
2722
|
super(e, "Code Block"), this.button = this.createButton("\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M8 9l3 3l-3 3\" /><path d=\"M13 15l3 0\" /><rect x=\"3\" y=\"4\" width=\"18\" height=\"16\" rx=\"2\" /></svg>\n ");
|
|
2779
2723
|
}
|
|
@@ -2787,7 +2731,7 @@ var Ln = class extends Q {
|
|
|
2787
2731
|
let i = `\`\`\`\n${r || "code"}\n\`\`\``;
|
|
2788
2732
|
this.editor.insertText(i, 4, 4);
|
|
2789
2733
|
}
|
|
2790
|
-
},
|
|
2734
|
+
}, Gn = class extends $ {
|
|
2791
2735
|
constructor(e) {
|
|
2792
2736
|
super(e, "Horizontal Rule"), this.button = this.createButton("\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M4 12l16 0\" stroke-width=\"3\"/><path d=\"M4 7l6 0\" /><path d=\"M4 17l6 0\" /><path d=\"M14 7l6 0\" /><path d=\"M14 17l6 0\" /></svg>\n ");
|
|
2793
2737
|
}
|
|
@@ -2795,7 +2739,7 @@ var Ln = class extends Q {
|
|
|
2795
2739
|
let e = this.editor.usertextarea, { selectionStart: t } = e, n = e.value, r = t === 0 || n[t - 1] === "\n" ? "---\n" : "\n\n---\n";
|
|
2796
2740
|
this.editor.insertText(r, r.length, 0);
|
|
2797
2741
|
}
|
|
2798
|
-
},
|
|
2742
|
+
}, Kn = class extends $ {
|
|
2799
2743
|
constructor(e) {
|
|
2800
2744
|
super(e, "Table"), this.button = this.createButton("\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M3 5a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v14a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2v-14z\" /><path d=\"M3 10h18\" /><path d=\"M10 3v18\" /></svg>\n ");
|
|
2801
2745
|
}
|
|
@@ -2806,26 +2750,26 @@ var Ln = class extends Q {
|
|
|
2806
2750
|
};
|
|
2807
2751
|
//#endregion
|
|
2808
2752
|
//#region src/utils/variables.js
|
|
2809
|
-
function
|
|
2753
|
+
function qn(e) {
|
|
2810
2754
|
let t = (e) => e && e.label && typeof e.value == "string", n = [];
|
|
2811
2755
|
for (let r of Array.isArray(e) ? e : []) r && (Array.isArray(r.items) ? n.push(...r.items.filter(t)) : t(r) && n.push(r));
|
|
2812
2756
|
return n;
|
|
2813
2757
|
}
|
|
2814
|
-
function
|
|
2815
|
-
let n =
|
|
2758
|
+
function Jn(e, t) {
|
|
2759
|
+
let n = qn(t).filter((e) => typeof e.sample == "string");
|
|
2816
2760
|
return n.length ? n.slice().sort((e, t) => t.value.length - e.value.length).reduce((e, t) => e.split(t.value).join(t.sample), e) : e;
|
|
2817
2761
|
}
|
|
2818
2762
|
//#endregion
|
|
2819
2763
|
//#region src/components/toolbar/tools/VariableTool.js
|
|
2820
|
-
var
|
|
2764
|
+
var Yn = "\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M7 4a2 2 0 0 0 -2 2v3a2 2 0 0 1 -2 2a2 2 0 0 1 2 2v3a2 2 0 0 0 2 2\" /><path d=\"M17 4a2 2 0 0 1 2 2v3a2 2 0 0 0 2 2a2 2 0 0 0 -2 2v3a2 2 0 0 1 -2 2\" /></svg>\n", Xn = class extends $ {
|
|
2821
2765
|
constructor(e) {
|
|
2822
2766
|
super(e, "Variables");
|
|
2823
2767
|
}
|
|
2824
2768
|
createButton() {
|
|
2825
2769
|
let e = this.editor.variables ?? [];
|
|
2826
|
-
if (!
|
|
2770
|
+
if (!qn(e).length) return null;
|
|
2827
2771
|
let t = `variable-popover-${Math.random().toString(36).slice(2, 7)}`, n = document.createElement("button");
|
|
2828
|
-
n.innerHTML =
|
|
2772
|
+
n.innerHTML = Yn, n.querySelector("svg")?.setAttribute("aria-hidden", "true"), n.type = "button", n.title = this.editor.label("Insert variable"), n.setAttribute("aria-label", this.editor.label("Insert variable")), n.setAttribute("aria-haspopup", "menu"), n.className = "markdown-btn variable-btn fj:me-btn fj:me-btn-xs fj:me-btn-square fj:me-btn-ghost fj:me-popover-toggle", n.setAttribute("popovertarget", t);
|
|
2829
2773
|
let r = document.createElement("div");
|
|
2830
2774
|
r.id = t, r.setAttribute("role", "menu"), r.setAttribute("aria-label", this.editor.label("Variables")), r.className = "fj:me-popover-content", r.setAttribute("popover", "");
|
|
2831
2775
|
let i = document.createElement("ul");
|
|
@@ -2856,14 +2800,14 @@ var Jn = "\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"
|
|
|
2856
2800
|
}), n.appendChild(r), n;
|
|
2857
2801
|
}
|
|
2858
2802
|
applySyntax() {}
|
|
2859
|
-
},
|
|
2803
|
+
}, Zn = class extends $ {
|
|
2860
2804
|
constructor(e, t = {}) {
|
|
2861
2805
|
super(e, t.title || "Custom"), this.action = t.action, this.button = typeof this.action == "function" ? this.createButton(t.icon || "") : null, this.shortcut = this.button ? t.shortcut : void 0, this.button || console.warn("[MarkdownEditor] A custom tool needs an action function. Skipping it.", t);
|
|
2862
2806
|
}
|
|
2863
2807
|
applySyntax(e) {
|
|
2864
2808
|
this.action(this.editor, e);
|
|
2865
2809
|
}
|
|
2866
|
-
},
|
|
2810
|
+
}, Qn = class {
|
|
2867
2811
|
constructor(e, t, { standalone: n = !1 } = {}) {
|
|
2868
2812
|
this.editor = e, this.options = t, this.standalone = n, this.tools = [], this.toolbar = document.createElement("div"), this.toolbar.className = n ? "toolbar not-prose fj:flex fj:items-center fj:gap-x-1" : "toolbar not-prose fj:me-surface fj:me-surface-outline fj:border-base-soft fj:border-0 fj:border-b fj:flex fj:items-center fj:gap-x-1 fj:p-1.5 fj:overflow-x-auto", this.toolbar.setAttribute("role", "toolbar"), this.toolbar.setAttribute("aria-label", e.label("Editor toolbar")), this.init();
|
|
2869
2813
|
}
|
|
@@ -2872,32 +2816,32 @@ var Jn = "\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"
|
|
|
2872
2816
|
}
|
|
2873
2817
|
init() {
|
|
2874
2818
|
let e = {
|
|
2875
|
-
heading:
|
|
2876
|
-
ul:
|
|
2877
|
-
ol:
|
|
2878
|
-
checklist:
|
|
2879
|
-
bold:
|
|
2880
|
-
italic:
|
|
2881
|
-
strikethrough:
|
|
2882
|
-
blockquote:
|
|
2883
|
-
code:
|
|
2884
|
-
codeblock:
|
|
2885
|
-
hr:
|
|
2886
|
-
table:
|
|
2887
|
-
link:
|
|
2888
|
-
image:
|
|
2889
|
-
undo:
|
|
2890
|
-
redo:
|
|
2891
|
-
indent:
|
|
2892
|
-
outdent:
|
|
2893
|
-
variables:
|
|
2819
|
+
heading: In,
|
|
2820
|
+
ul: Dn,
|
|
2821
|
+
ol: On,
|
|
2822
|
+
checklist: An,
|
|
2823
|
+
bold: wn,
|
|
2824
|
+
italic: Tn,
|
|
2825
|
+
strikethrough: En,
|
|
2826
|
+
blockquote: jn,
|
|
2827
|
+
code: Un,
|
|
2828
|
+
codeblock: Wn,
|
|
2829
|
+
hr: Gn,
|
|
2830
|
+
table: Kn,
|
|
2831
|
+
link: Nn,
|
|
2832
|
+
image: Rn,
|
|
2833
|
+
undo: zn,
|
|
2834
|
+
redo: Bn,
|
|
2835
|
+
indent: Vn,
|
|
2836
|
+
outdent: Hn,
|
|
2837
|
+
variables: Xn
|
|
2894
2838
|
};
|
|
2895
2839
|
if (this.options.forEach((t) => {
|
|
2896
2840
|
let n, r;
|
|
2897
2841
|
if (typeof t == "string") n = e[t];
|
|
2898
2842
|
else if (typeof t == "function") n = t;
|
|
2899
2843
|
else if (t && typeof t.tool == "function") n = t.tool, r = t.config;
|
|
2900
|
-
else if (t && t.custom) n =
|
|
2844
|
+
else if (t && t.custom) n = Zn, r = t.custom;
|
|
2901
2845
|
else if (typeof t == "object") {
|
|
2902
2846
|
let i = Object.keys(t)[0];
|
|
2903
2847
|
r = t[i], n = e[i];
|
|
@@ -2908,35 +2852,38 @@ var Jn = "\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"
|
|
|
2908
2852
|
}
|
|
2909
2853
|
}), !this.standalone) {
|
|
2910
2854
|
if (this.options.includes("preview")) {
|
|
2911
|
-
let e = new
|
|
2855
|
+
let e = new kn(this.editor);
|
|
2912
2856
|
this.editor.previewTool = e, this.toolbar.appendChild(e.button);
|
|
2913
2857
|
}
|
|
2914
2858
|
this.editor.editorContainer.insertBefore(this.toolbar, this.editor.markdownEditorDiv);
|
|
2915
2859
|
}
|
|
2916
2860
|
}
|
|
2917
|
-
},
|
|
2861
|
+
}, $n = class {
|
|
2918
2862
|
constructor(e) {
|
|
2919
2863
|
this.previewContainer = document.createElement("div"), this.previewContainer.className = "preview-wrapper fj:p-2 fj:hidden fj:me-surface fj:me-surface-outline fj:border-base-soft fj:border-0 fj:border-l", this.previewContainer.setAttribute("role", "region"), this.previewContainer.setAttribute("aria-label", "Preview"), this.previewContent = document.createElement("div"), this.previewContent.className = "preview-content fj:mte-prose fj:mte-prose-sm fj:md:mte-prose-base fj:me-prose-frutjam fj:p-1.5 fj:overflow-y-auto fj:h-full fj:max-w-full", this.previewContainer.appendChild(this.previewContent), e.appendChild(this.previewContainer);
|
|
2920
2864
|
}
|
|
2921
2865
|
getPreviewContent() {
|
|
2922
2866
|
return this.previewContent;
|
|
2923
2867
|
}
|
|
2924
|
-
},
|
|
2925
|
-
constructor(e, t = {}) {
|
|
2926
|
-
this.options = t, this.footer = document.createElement("div"), this.footer.className = "editor-footer not-prose fj:me-surface fj:me-surface-outline fj:border-base-soft fj:border-0 fj:border-t fj:flex fj:justify-between fj:items-center fj:px-3 fj:py-1 fj:text-xs fj:opacity-60 fj:select-none", this.footer.setAttribute("aria-hidden", "true"), this.positionEl = document.createElement("span"), this.charsEl = document.createElement("span"), this.wordsEl = document.createElement("span"), (this.options.line || this.options.col) && this.footer.appendChild(this.positionEl), this.options.chars && this.footer.appendChild(this.charsEl), this.options.words && this.footer.appendChild(this.wordsEl), e.appendChild(this.footer);
|
|
2868
|
+
}, er = class {
|
|
2869
|
+
constructor(e, t = {}, n = (e) => e) {
|
|
2870
|
+
this.options = t, this.label = n, this.footer = document.createElement("div"), this.footer.className = "editor-footer not-prose fj:me-surface fj:me-surface-outline fj:border-base-soft fj:border-0 fj:border-t fj:flex fj:justify-between fj:items-center fj:px-3 fj:py-1 fj:text-xs fj:opacity-60 fj:select-none", this.footer.setAttribute("aria-hidden", "true"), this.positionEl = document.createElement("span"), this.charsEl = document.createElement("span"), this.wordsEl = document.createElement("span"), (this.options.line || this.options.col) && this.footer.appendChild(this.positionEl), this.options.chars && this.footer.appendChild(this.charsEl), this.options.words && this.footer.appendChild(this.wordsEl), e.appendChild(this.footer);
|
|
2927
2871
|
}
|
|
2928
2872
|
update(e) {
|
|
2929
2873
|
let t = e.value, n = e.selectionStart ?? 0;
|
|
2930
2874
|
if (this.options.line || this.options.col) {
|
|
2931
2875
|
let e = t.substring(0, n).split("\n"), r = [];
|
|
2932
|
-
this.options.line && r.push(
|
|
2876
|
+
this.options.line && r.push(this._count("Ln {n}", e.length)), this.options.col && r.push(this._count("Col {n}", e[e.length - 1].length + 1)), this.positionEl.textContent = r.join(", ");
|
|
2933
2877
|
}
|
|
2934
|
-
if (this.options.chars && (this.charsEl.textContent =
|
|
2878
|
+
if (this.options.chars && (this.charsEl.textContent = this._count("{n} chars", t.length)), this.options.words) {
|
|
2935
2879
|
let e = t.trim() ? t.trim().split(/\s+/).length : 0;
|
|
2936
|
-
this.wordsEl.textContent =
|
|
2880
|
+
this.wordsEl.textContent = this._count("{n} words", e);
|
|
2937
2881
|
}
|
|
2938
2882
|
}
|
|
2939
|
-
|
|
2883
|
+
_count(e, t) {
|
|
2884
|
+
return this.label(e).replace("{n}", t.toLocaleString());
|
|
2885
|
+
}
|
|
2886
|
+
}, tr = class {
|
|
2940
2887
|
diff(e, t, n = {}) {
|
|
2941
2888
|
let r;
|
|
2942
2889
|
typeof n == "function" ? (r = n, n = {}) : "callback" in n && (r = n.callback);
|
|
@@ -2945,13 +2892,10 @@ var Jn = "\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"
|
|
|
2945
2892
|
}
|
|
2946
2893
|
diffWithOptionsObj(e, t, n, r) {
|
|
2947
2894
|
let i = (e) => {
|
|
2948
|
-
if (e = this.postProcess(e, n), r) {
|
|
2949
|
-
|
|
2950
|
-
|
|
2951
|
-
|
|
2952
|
-
return;
|
|
2953
|
-
}
|
|
2954
|
-
return e;
|
|
2895
|
+
if (e = this.postProcess(e, n), r) setTimeout(function() {
|
|
2896
|
+
r(e);
|
|
2897
|
+
}, 0);
|
|
2898
|
+
else return e;
|
|
2955
2899
|
}, a = t.length, o = e.length, s = 1, c = a + o;
|
|
2956
2900
|
n.maxEditLength != null && (c = Math.min(c, n.maxEditLength));
|
|
2957
2901
|
let l = n.timeout ?? Infinity, u = Date.now() + l, d = [{
|
|
@@ -2959,7 +2903,7 @@ var Jn = "\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"
|
|
|
2959
2903
|
lastComponent: void 0
|
|
2960
2904
|
}], f = this.extractCommon(d[0], t, e, 0, n);
|
|
2961
2905
|
if (d[0].oldPos + 1 >= o && f + 1 >= a) return i(this.buildValues(d[0].lastComponent, t, e));
|
|
2962
|
-
let p = -Infinity, m = Infinity,
|
|
2906
|
+
let p = -Infinity, m = Infinity, ee = () => {
|
|
2963
2907
|
for (let r = Math.max(p, -s); r <= Math.min(m, s); r += 2) {
|
|
2964
2908
|
let s, c = d[r - 1], l = d[r + 1];
|
|
2965
2909
|
c && (d[r - 1] = void 0);
|
|
@@ -2968,24 +2912,23 @@ var Jn = "\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"
|
|
|
2968
2912
|
let e = l.oldPos - r;
|
|
2969
2913
|
u = l && 0 <= e && e < a;
|
|
2970
2914
|
}
|
|
2971
|
-
let
|
|
2972
|
-
if (!u && !
|
|
2973
|
-
|
|
2974
|
-
|
|
2915
|
+
let ee = c && c.oldPos + 1 < o;
|
|
2916
|
+
if (!u && !ee) d[r] = void 0;
|
|
2917
|
+
else {
|
|
2918
|
+
if (s = !ee || u && c.oldPos < l.oldPos ? this.addToPath(l, !0, !1, 0, n) : this.addToPath(c, !1, !0, 1, n), f = this.extractCommon(s, t, e, r, n), s.oldPos + 1 >= o && f + 1 >= a) return i(this.buildValues(s.lastComponent, t, e)) || !0;
|
|
2919
|
+
d[r] = s, s.oldPos + 1 >= o && (m = Math.min(m, r - 1)), f + 1 >= a && (p = Math.max(p, r + 1));
|
|
2975
2920
|
}
|
|
2976
|
-
if (s = !h || u && c.oldPos < l.oldPos ? this.addToPath(l, !0, !1, 0, n) : this.addToPath(c, !1, !0, 1, n), f = this.extractCommon(s, t, e, r, n), s.oldPos + 1 >= o && f + 1 >= a) return i(this.buildValues(s.lastComponent, t, e)) || !0;
|
|
2977
|
-
d[r] = s, s.oldPos + 1 >= o && (m = Math.min(m, r - 1)), f + 1 >= a && (p = Math.max(p, r + 1));
|
|
2978
2921
|
}
|
|
2979
2922
|
s++;
|
|
2980
2923
|
};
|
|
2981
2924
|
if (r) (function e() {
|
|
2982
2925
|
setTimeout(function() {
|
|
2983
2926
|
if (s > c || Date.now() > u) return r(void 0);
|
|
2984
|
-
|
|
2927
|
+
ee() || e();
|
|
2985
2928
|
}, 0);
|
|
2986
2929
|
})();
|
|
2987
2930
|
else for (; s <= c && Date.now() <= u;) {
|
|
2988
|
-
let e =
|
|
2931
|
+
let e = ee();
|
|
2989
2932
|
if (e) return e;
|
|
2990
2933
|
}
|
|
2991
2934
|
}
|
|
@@ -3068,42 +3011,42 @@ var Jn = "\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"
|
|
|
3068
3011
|
}
|
|
3069
3012
|
return r;
|
|
3070
3013
|
}
|
|
3071
|
-
},
|
|
3072
|
-
function
|
|
3073
|
-
return
|
|
3014
|
+
}, nr = new class extends tr {}();
|
|
3015
|
+
function rr(e, t, n) {
|
|
3016
|
+
return nr.diff(e, t, n);
|
|
3074
3017
|
}
|
|
3075
3018
|
//#endregion
|
|
3076
3019
|
//#region node_modules/diff/libesm/util/string.js
|
|
3077
|
-
function
|
|
3020
|
+
function ir(e, t) {
|
|
3078
3021
|
let n = 0;
|
|
3079
3022
|
for (; n < e.length && n < t.length; n++) if (e[n] != t[n]) return e.slice(0, n);
|
|
3080
3023
|
return e.slice(0, n);
|
|
3081
3024
|
}
|
|
3082
|
-
function
|
|
3025
|
+
function ar(e, t) {
|
|
3083
3026
|
let n;
|
|
3084
3027
|
if (!e || !t || e[e.length - 1] != t[t.length - 1]) return "";
|
|
3085
3028
|
for (n = 0; n < e.length && n < t.length; n++) if (e[e.length - (n + 1)] != t[t.length - (n + 1)]) return e.slice(-n);
|
|
3086
3029
|
return e.slice(-n);
|
|
3087
3030
|
}
|
|
3088
|
-
function
|
|
3031
|
+
function or(e, t, n) {
|
|
3089
3032
|
if (e.slice(0, t.length) != t) throw Error(`string ${JSON.stringify(e)} doesn't start with prefix ${JSON.stringify(t)}; this is a bug`);
|
|
3090
3033
|
return n + e.slice(t.length);
|
|
3091
3034
|
}
|
|
3092
|
-
function
|
|
3035
|
+
function sr(e, t, n) {
|
|
3093
3036
|
if (!t) return e + n;
|
|
3094
3037
|
if (e.slice(-t.length) != t) throw Error(`string ${JSON.stringify(e)} doesn't end with suffix ${JSON.stringify(t)}; this is a bug`);
|
|
3095
3038
|
return e.slice(0, -t.length) + n;
|
|
3096
3039
|
}
|
|
3097
|
-
function or(e, t) {
|
|
3098
|
-
return ir(e, t, "");
|
|
3099
|
-
}
|
|
3100
|
-
function sr(e, t) {
|
|
3101
|
-
return ar(e, t, "");
|
|
3102
|
-
}
|
|
3103
3040
|
function cr(e, t) {
|
|
3104
|
-
return
|
|
3041
|
+
return or(e, t, "");
|
|
3105
3042
|
}
|
|
3106
3043
|
function lr(e, t) {
|
|
3044
|
+
return sr(e, t, "");
|
|
3045
|
+
}
|
|
3046
|
+
function ur(e, t) {
|
|
3047
|
+
return t.slice(0, dr(e, t));
|
|
3048
|
+
}
|
|
3049
|
+
function dr(e, t) {
|
|
3107
3050
|
let n = 0;
|
|
3108
3051
|
e.length > t.length && (n = e.length - t.length);
|
|
3109
3052
|
let r = t.length;
|
|
@@ -3121,7 +3064,7 @@ function lr(e, t) {
|
|
|
3121
3064
|
}
|
|
3122
3065
|
return a;
|
|
3123
3066
|
}
|
|
3124
|
-
function
|
|
3067
|
+
function fr(e, t) {
|
|
3125
3068
|
let n = [];
|
|
3126
3069
|
for (let r of Array.from(t.segment(e))) {
|
|
3127
3070
|
let e = r.segment;
|
|
@@ -3129,27 +3072,27 @@ function ur(e, t) {
|
|
|
3129
3072
|
}
|
|
3130
3073
|
return n;
|
|
3131
3074
|
}
|
|
3132
|
-
function
|
|
3133
|
-
if (t) return
|
|
3075
|
+
function pr(e, t) {
|
|
3076
|
+
if (t) return hr(e, t)[1];
|
|
3134
3077
|
let n;
|
|
3135
3078
|
for (n = e.length - 1; n >= 0 && e[n].match(/\s/); n--);
|
|
3136
3079
|
return e.substring(n + 1);
|
|
3137
3080
|
}
|
|
3138
|
-
function
|
|
3139
|
-
if (t) return
|
|
3081
|
+
function mr(e, t) {
|
|
3082
|
+
if (t) return hr(e, t)[0];
|
|
3140
3083
|
let n = e.match(/^\s*/);
|
|
3141
3084
|
return n ? n[0] : "";
|
|
3142
3085
|
}
|
|
3143
|
-
function
|
|
3144
|
-
if (!t) return [
|
|
3086
|
+
function hr(e, t) {
|
|
3087
|
+
if (!t) return [mr(e), pr(e)];
|
|
3145
3088
|
if (t.resolvedOptions().granularity != "word") throw Error("The segmenter passed must have a granularity of \"word\"");
|
|
3146
|
-
let n =
|
|
3089
|
+
let n = fr(e, t), r = n[0], i = n[n.length - 1];
|
|
3147
3090
|
return [/\s/.test(r) ? r : "", /\s/.test(i) ? i : ""];
|
|
3148
3091
|
}
|
|
3149
3092
|
//#endregion
|
|
3150
3093
|
//#region node_modules/diff/libesm/diff/word.js
|
|
3151
|
-
var
|
|
3152
|
-
new class extends
|
|
3094
|
+
var gr = "a-zA-Z0-9_\\u{AD}\\u{C0}-\\u{D6}\\u{D8}-\\u{F6}\\u{F8}-\\u{2C6}\\u{2C8}-\\u{2D7}\\u{2DE}-\\u{2FF}\\u{1E00}-\\u{1EFF}", _r = RegExp(`[${gr}]+|\\s+|[^${gr}]`, "ug");
|
|
3095
|
+
new class extends tr {
|
|
3153
3096
|
equals(e, t, n) {
|
|
3154
3097
|
return n.ignoreCase && (e = e.toLowerCase(), t = t.toLowerCase()), e.trim() === t.trim();
|
|
3155
3098
|
}
|
|
@@ -3158,8 +3101,8 @@ new class extends $ {
|
|
|
3158
3101
|
if (t.intlSegmenter) {
|
|
3159
3102
|
let r = t.intlSegmenter;
|
|
3160
3103
|
if (r.resolvedOptions().granularity != "word") throw Error("The segmenter passed must have a granularity of \"word\"");
|
|
3161
|
-
n =
|
|
3162
|
-
} else n = e.match(
|
|
3104
|
+
n = fr(e, r);
|
|
3105
|
+
} else n = e.match(_r) || [];
|
|
3163
3106
|
let r = [], i = null;
|
|
3164
3107
|
return n.forEach((e) => {
|
|
3165
3108
|
/\s/.test(e) ? i == null ? r.push(e) : r.push(r.pop() + e) : i != null && /\s/.test(i) ? r[r.length - 1] == i ? r.push(r.pop() + e) : r.push(i + e) : r.push(e), i = e;
|
|
@@ -3172,57 +3115,57 @@ new class extends $ {
|
|
|
3172
3115
|
if (!e || t.oneChangePerToken) return e;
|
|
3173
3116
|
let n = null, r = null, i = null;
|
|
3174
3117
|
return e.forEach((e) => {
|
|
3175
|
-
e.added ? r = e : e.removed ? i = e : ((r || i) &&
|
|
3176
|
-
}), (r || i) &&
|
|
3118
|
+
e.added ? r = e : e.removed ? i = e : ((r || i) && vr(n, i, r, e, t.intlSegmenter), n = e, r = null, i = null);
|
|
3119
|
+
}), (r || i) && vr(n, i, r, null, t.intlSegmenter), e;
|
|
3177
3120
|
}
|
|
3178
3121
|
}();
|
|
3179
|
-
function
|
|
3122
|
+
function vr(e, t, n, r, i) {
|
|
3180
3123
|
if (t && n) {
|
|
3181
|
-
let [a, o] =
|
|
3124
|
+
let [a, o] = hr(t.value, i), [s, c] = hr(n.value, i);
|
|
3182
3125
|
if (e) {
|
|
3183
|
-
let r =
|
|
3184
|
-
e.value =
|
|
3126
|
+
let r = ir(a, s);
|
|
3127
|
+
e.value = sr(e.value, s, r), t.value = cr(t.value, r), n.value = cr(n.value, r);
|
|
3185
3128
|
}
|
|
3186
3129
|
if (r) {
|
|
3187
|
-
let e =
|
|
3188
|
-
r.value =
|
|
3130
|
+
let e = ar(o, c);
|
|
3131
|
+
r.value = or(r.value, c, e), t.value = lr(t.value, e), n.value = lr(n.value, e);
|
|
3189
3132
|
}
|
|
3190
3133
|
} else if (n) {
|
|
3191
3134
|
if (e) {
|
|
3192
|
-
let e =
|
|
3135
|
+
let e = mr(n.value, i);
|
|
3193
3136
|
n.value = n.value.substring(e.length);
|
|
3194
3137
|
}
|
|
3195
3138
|
if (r) {
|
|
3196
|
-
let e =
|
|
3139
|
+
let e = mr(r.value, i);
|
|
3197
3140
|
r.value = r.value.substring(e.length);
|
|
3198
3141
|
}
|
|
3199
3142
|
} else if (e && r) {
|
|
3200
|
-
let n =
|
|
3201
|
-
t.value =
|
|
3202
|
-
let c =
|
|
3203
|
-
t.value =
|
|
3143
|
+
let n = mr(r.value, i), [a, o] = hr(t.value, i), s = ir(n, a);
|
|
3144
|
+
t.value = cr(t.value, s);
|
|
3145
|
+
let c = ar(cr(n, s), o);
|
|
3146
|
+
t.value = lr(t.value, c), r.value = or(r.value, n, c), e.value = sr(e.value, n, n.slice(0, n.length - c.length));
|
|
3204
3147
|
} else if (r) {
|
|
3205
|
-
let e =
|
|
3206
|
-
t.value =
|
|
3148
|
+
let e = mr(r.value, i), n = ur(pr(t.value, i), e);
|
|
3149
|
+
t.value = lr(t.value, n);
|
|
3207
3150
|
} else if (e) {
|
|
3208
|
-
let n =
|
|
3209
|
-
t.value =
|
|
3151
|
+
let n = ur(pr(e.value, i), mr(t.value, i));
|
|
3152
|
+
t.value = cr(t.value, n);
|
|
3210
3153
|
}
|
|
3211
3154
|
}
|
|
3212
|
-
new class extends
|
|
3155
|
+
new class extends tr {
|
|
3213
3156
|
tokenize(e) {
|
|
3214
|
-
let t = RegExp(`(\\r?\\n)|[${
|
|
3157
|
+
let t = RegExp(`(\\r?\\n)|[${gr}]+|[^\\S\\n\\r]+|[^${gr}]`, "ug");
|
|
3215
3158
|
return e.match(t) || [];
|
|
3216
3159
|
}
|
|
3217
|
-
}(), new class extends
|
|
3160
|
+
}(), new class extends tr {
|
|
3218
3161
|
constructor() {
|
|
3219
|
-
super(...arguments), this.tokenize =
|
|
3162
|
+
super(...arguments), this.tokenize = yr;
|
|
3220
3163
|
}
|
|
3221
3164
|
equals(e, t, n) {
|
|
3222
3165
|
return n.ignoreWhitespace ? ((!n.newlineIsToken || !e.includes("\n")) && (e = e.trim()), (!n.newlineIsToken || !t.includes("\n")) && (t = t.trim())) : n.ignoreNewlineAtEof && !n.newlineIsToken && (e.endsWith("\n") && (e = e.slice(0, -1)), t.endsWith("\n") && (t = t.slice(0, -1))), super.equals(e, t, n);
|
|
3223
3166
|
}
|
|
3224
3167
|
}();
|
|
3225
|
-
function
|
|
3168
|
+
function yr(e, t) {
|
|
3226
3169
|
t.stripTrailingCr && (e = e.replace(/\r\n/g, "\n"));
|
|
3227
3170
|
let n = [], r = e.split(/(\n|\r\n)/);
|
|
3228
3171
|
r[r.length - 1] || r.pop();
|
|
@@ -3234,10 +3177,10 @@ function _r(e, t) {
|
|
|
3234
3177
|
}
|
|
3235
3178
|
//#endregion
|
|
3236
3179
|
//#region node_modules/diff/libesm/diff/sentence.js
|
|
3237
|
-
function
|
|
3180
|
+
function br(e) {
|
|
3238
3181
|
return e == "." || e == "!" || e == "?";
|
|
3239
3182
|
}
|
|
3240
|
-
new class extends
|
|
3183
|
+
new class extends tr {
|
|
3241
3184
|
tokenize(e) {
|
|
3242
3185
|
let t = [], n = 0;
|
|
3243
3186
|
for (let r = 0; r < e.length; r++) {
|
|
@@ -3245,39 +3188,39 @@ new class extends $ {
|
|
|
3245
3188
|
t.push(e.slice(n));
|
|
3246
3189
|
break;
|
|
3247
3190
|
}
|
|
3248
|
-
if (
|
|
3191
|
+
if (br(e[r]) && e[r + 1].match(/\s/)) {
|
|
3249
3192
|
for (t.push(e.slice(n, r + 1)), r = n = r + 1; e[r + 1]?.match(/\s/);) r++;
|
|
3250
3193
|
t.push(e.slice(n, r + 1)), n = r + 1;
|
|
3251
3194
|
}
|
|
3252
3195
|
}
|
|
3253
3196
|
return t;
|
|
3254
3197
|
}
|
|
3255
|
-
}(), new class extends
|
|
3198
|
+
}(), new class extends tr {
|
|
3256
3199
|
tokenize(e) {
|
|
3257
3200
|
return e.split(/([{}:;,]|\s+)/);
|
|
3258
3201
|
}
|
|
3259
|
-
}(), new class extends
|
|
3202
|
+
}(), new class extends tr {
|
|
3260
3203
|
constructor() {
|
|
3261
|
-
super(...arguments), this.tokenize =
|
|
3204
|
+
super(...arguments), this.tokenize = yr;
|
|
3262
3205
|
}
|
|
3263
3206
|
get useLongestToken() {
|
|
3264
3207
|
return !0;
|
|
3265
3208
|
}
|
|
3266
3209
|
castInput(e, t) {
|
|
3267
3210
|
let { undefinedReplacement: n, stringifyReplacer: r = (e, t) => t === void 0 ? n : t } = t;
|
|
3268
|
-
return typeof e == "string" ? e : JSON.stringify(
|
|
3211
|
+
return typeof e == "string" ? e : JSON.stringify(xr(e, null, null, r), null, " ");
|
|
3269
3212
|
}
|
|
3270
3213
|
equals(e, t, n) {
|
|
3271
3214
|
return super.equals(e.replace(/,([\r\n])/g, "$1"), t.replace(/,([\r\n])/g, "$1"), n);
|
|
3272
3215
|
}
|
|
3273
3216
|
}();
|
|
3274
|
-
function
|
|
3217
|
+
function xr(e, t, n, r, i) {
|
|
3275
3218
|
t ||= [], n ||= [], r && (e = r(i === void 0 ? "" : i, e));
|
|
3276
3219
|
let a = 0;
|
|
3277
3220
|
for (; a < t.length; a += 1) if (t[a] === e) return n[a];
|
|
3278
3221
|
let o;
|
|
3279
3222
|
if (Object.prototype.toString.call(e) === "[object Array]") {
|
|
3280
|
-
for (t.push(e), o = Array(e.length), n.push(o), a = 0; a < e.length; a += 1) o[a] =
|
|
3223
|
+
for (t.push(e), o = Array(e.length), n.push(o), a = 0; a < e.length; a += 1) o[a] = xr(e[a], t, n, r, String(a));
|
|
3281
3224
|
return t.pop(), n.pop(), o;
|
|
3282
3225
|
}
|
|
3283
3226
|
if (e && e.toJSON && (e = e.toJSON()), typeof e == "object" && e) {
|
|
@@ -3286,12 +3229,12 @@ function yr(e, t, n, r, i) {
|
|
|
3286
3229
|
for (s in e)
|
|
3287
3230
|
/* istanbul ignore else */
|
|
3288
3231
|
Object.prototype.hasOwnProperty.call(e, s) && i.push(s);
|
|
3289
|
-
for (i.sort(), a = 0; a < i.length; a += 1) s = i[a], o[s] =
|
|
3232
|
+
for (i.sort(), a = 0; a < i.length; a += 1) s = i[a], o[s] = xr(e[s], t, n, r, s);
|
|
3290
3233
|
t.pop(), n.pop();
|
|
3291
3234
|
} else o = e;
|
|
3292
3235
|
return o;
|
|
3293
3236
|
}
|
|
3294
|
-
new class extends
|
|
3237
|
+
new class extends tr {
|
|
3295
3238
|
tokenize(e) {
|
|
3296
3239
|
return e.slice();
|
|
3297
3240
|
}
|
|
@@ -3304,7 +3247,7 @@ new class extends $ {
|
|
|
3304
3247
|
}();
|
|
3305
3248
|
//#endregion
|
|
3306
3249
|
//#region src/utils/UndoRedoManager.js
|
|
3307
|
-
var
|
|
3250
|
+
var Sr = class {
|
|
3308
3251
|
constructor(e) {
|
|
3309
3252
|
this.editor = e, this.textarea = e.usertextarea, this.undoStack = [], this.redoStack = [], this.lastValue = this.textarea.value, this.lastSelection = {
|
|
3310
3253
|
selectionStart: this.textarea.selectionStart,
|
|
@@ -3338,7 +3281,7 @@ var br = class {
|
|
|
3338
3281
|
let e = this.textarea.value || "";
|
|
3339
3282
|
if (e === this.lastValue) return;
|
|
3340
3283
|
clearTimeout(this._debounceTimer);
|
|
3341
|
-
let t =
|
|
3284
|
+
let t = rr(this.lastValue, e);
|
|
3342
3285
|
this.undoStack.push({
|
|
3343
3286
|
diff: t,
|
|
3344
3287
|
selection: { ...this.lastSelection }
|
|
@@ -3378,7 +3321,7 @@ var br = class {
|
|
|
3378
3321
|
_restoreState(e, t) {
|
|
3379
3322
|
this.textarea.value = e, this.textarea.setSelectionRange(t.selectionStart, t.selectionEnd), this.lastValue = e, this.lastSelection = { ...t }, this.editor.render && this.editor.render(), this.editor.notifyChange(), this.textarea.focus();
|
|
3380
3323
|
}
|
|
3381
|
-
},
|
|
3324
|
+
}, Cr = class {
|
|
3382
3325
|
constructor(e, t) {
|
|
3383
3326
|
this.editor = e, this.textarea = e.usertextarea, this.renderCallback = t, this.pairs = {
|
|
3384
3327
|
"{": "}",
|
|
@@ -3443,9 +3386,7 @@ var br = class {
|
|
|
3443
3386
|
t.value = r.substring(0, n) + i + r.substring(n);
|
|
3444
3387
|
let a = n + o.length + 1 + 1;
|
|
3445
3388
|
t.setSelectionRange(a, a), this._triggerUpdate();
|
|
3446
|
-
|
|
3447
|
-
}
|
|
3448
|
-
if (o.length > 0) {
|
|
3389
|
+
} else if (o.length > 0) {
|
|
3449
3390
|
e.preventDefault();
|
|
3450
3391
|
let i = "\n" + o;
|
|
3451
3392
|
t.value = r.substring(0, n) + i + r.substring(t.selectionEnd);
|
|
@@ -3471,7 +3412,7 @@ var br = class {
|
|
|
3471
3412
|
_applyChange(e, t, n) {
|
|
3472
3413
|
this.textarea.value = e, this.textarea.setSelectionRange(t, n);
|
|
3473
3414
|
}
|
|
3474
|
-
},
|
|
3415
|
+
}, wr = class {
|
|
3475
3416
|
constructor(e) {
|
|
3476
3417
|
this.editor = e, this.textarea = e.usertextarea, this._keydownHandler = (e) => {
|
|
3477
3418
|
e.key === "Enter" && this.handleEnter(e);
|
|
@@ -3497,12 +3438,12 @@ var br = class {
|
|
|
3497
3438
|
this.textarea.setSelectionRange(o, o), this.editor.render(), this.editor.notifyChange();
|
|
3498
3439
|
}
|
|
3499
3440
|
}
|
|
3500
|
-
},
|
|
3441
|
+
}, Tr = [
|
|
3501
3442
|
{
|
|
3502
3443
|
key: "b",
|
|
3503
3444
|
ctrl: !0,
|
|
3504
3445
|
shift: !1,
|
|
3505
|
-
ToolClass:
|
|
3446
|
+
ToolClass: wn,
|
|
3506
3447
|
label: "Ctrl+B",
|
|
3507
3448
|
btnClass: "bold-btn"
|
|
3508
3449
|
},
|
|
@@ -3510,7 +3451,7 @@ var br = class {
|
|
|
3510
3451
|
key: "i",
|
|
3511
3452
|
ctrl: !0,
|
|
3512
3453
|
shift: !1,
|
|
3513
|
-
ToolClass:
|
|
3454
|
+
ToolClass: Tn,
|
|
3514
3455
|
label: "Ctrl+I",
|
|
3515
3456
|
btnClass: "italic-btn"
|
|
3516
3457
|
},
|
|
@@ -3518,7 +3459,7 @@ var br = class {
|
|
|
3518
3459
|
key: "k",
|
|
3519
3460
|
ctrl: !0,
|
|
3520
3461
|
shift: !1,
|
|
3521
|
-
ToolClass:
|
|
3462
|
+
ToolClass: Nn,
|
|
3522
3463
|
label: "Ctrl+K",
|
|
3523
3464
|
btnClass: "link-btn"
|
|
3524
3465
|
},
|
|
@@ -3526,7 +3467,7 @@ var br = class {
|
|
|
3526
3467
|
key: "`",
|
|
3527
3468
|
ctrl: !0,
|
|
3528
3469
|
shift: !1,
|
|
3529
|
-
ToolClass:
|
|
3470
|
+
ToolClass: Un,
|
|
3530
3471
|
label: "Ctrl+`",
|
|
3531
3472
|
btnClass: "code-btn"
|
|
3532
3473
|
},
|
|
@@ -3534,7 +3475,7 @@ var br = class {
|
|
|
3534
3475
|
key: "s",
|
|
3535
3476
|
ctrl: !0,
|
|
3536
3477
|
shift: !0,
|
|
3537
|
-
ToolClass:
|
|
3478
|
+
ToolClass: En,
|
|
3538
3479
|
label: "Ctrl+Shift+S",
|
|
3539
3480
|
btnClass: "strikethrough-btn"
|
|
3540
3481
|
},
|
|
@@ -3542,12 +3483,12 @@ var br = class {
|
|
|
3542
3483
|
key: "l",
|
|
3543
3484
|
ctrl: !0,
|
|
3544
3485
|
shift: !1,
|
|
3545
|
-
ToolClass:
|
|
3486
|
+
ToolClass: Dn,
|
|
3546
3487
|
label: "Ctrl+L",
|
|
3547
3488
|
btnClass: "ul-btn"
|
|
3548
3489
|
}
|
|
3549
3490
|
];
|
|
3550
|
-
function
|
|
3491
|
+
function Er(e) {
|
|
3551
3492
|
let t = String(e).split("+").map((e) => e.trim().toLowerCase()), n = t.pop();
|
|
3552
3493
|
return n ? {
|
|
3553
3494
|
key: n,
|
|
@@ -3556,34 +3497,39 @@ function wr(e) {
|
|
|
3556
3497
|
alt: t.includes("alt")
|
|
3557
3498
|
} : null;
|
|
3558
3499
|
}
|
|
3559
|
-
var
|
|
3500
|
+
var Dr = class {
|
|
3560
3501
|
constructor(e) {
|
|
3561
3502
|
this.editor = e, this.toolShortcuts = (e.toolbarInstance?.tools ?? []).filter((e) => e.shortcut).map((e) => ({
|
|
3562
3503
|
tool: e,
|
|
3563
|
-
combo:
|
|
3564
|
-
})).filter((e) => e.combo)
|
|
3504
|
+
combo: Er(e.shortcut)
|
|
3505
|
+
})).filter((e) => e.combo);
|
|
3506
|
+
let t = (e.toolbarInstance?.tools ?? []).find((e) => e instanceof In);
|
|
3507
|
+
this.headingLevels = t?.levels ?? [
|
|
3508
|
+
1,
|
|
3509
|
+
2,
|
|
3510
|
+
3,
|
|
3511
|
+
4,
|
|
3512
|
+
5,
|
|
3513
|
+
6
|
|
3514
|
+
], this._handler = this._onKeyDown.bind(this), this._docHandler = this._onDocKeyDown.bind(this), e.usertextarea.addEventListener("keydown", this._handler), document.addEventListener("keydown", this._docHandler), this._updateTooltips();
|
|
3565
3515
|
}
|
|
3566
3516
|
_onKeyDown(e) {
|
|
3567
3517
|
let t = e.ctrlKey || e.metaKey, n = e.shiftKey, r = e.key.toLowerCase();
|
|
3568
|
-
if (t && n && r === "f")
|
|
3569
|
-
|
|
3570
|
-
return;
|
|
3571
|
-
}
|
|
3572
|
-
if (t && !n && [
|
|
3518
|
+
if (t && n && r === "f") e.preventDefault(), this.editor.editorContainer.querySelector(".preview-btn")?.click();
|
|
3519
|
+
else if (t && !n && [
|
|
3573
3520
|
"1",
|
|
3574
3521
|
"2",
|
|
3575
3522
|
"3"
|
|
3576
|
-
].includes(e.key))
|
|
3577
|
-
|
|
3578
|
-
|
|
3579
|
-
|
|
3580
|
-
|
|
3581
|
-
|
|
3582
|
-
|
|
3583
|
-
|
|
3584
|
-
|
|
3585
|
-
|
|
3586
|
-
return;
|
|
3523
|
+
].includes(e.key) && this.headingLevels.includes(parseInt(e.key))) e.preventDefault(), new In(this.editor).applyHeading(parseInt(e.key));
|
|
3524
|
+
else {
|
|
3525
|
+
for (let { tool: i, combo: a } of this.toolShortcuts) if (r === a.key && t === a.ctrl && n === a.shift && e.altKey === a.alt) {
|
|
3526
|
+
e.preventDefault(), i.applySyntax(e);
|
|
3527
|
+
return;
|
|
3528
|
+
}
|
|
3529
|
+
for (let i of Tr) if (r === i.key && t === i.ctrl && n === i.shift) {
|
|
3530
|
+
e.preventDefault(), new i.ToolClass(this.editor).applySyntax(e);
|
|
3531
|
+
return;
|
|
3532
|
+
}
|
|
3587
3533
|
}
|
|
3588
3534
|
}
|
|
3589
3535
|
_onDocKeyDown(e) {
|
|
@@ -3593,20 +3539,20 @@ var Tr = class {
|
|
|
3593
3539
|
}
|
|
3594
3540
|
}
|
|
3595
3541
|
_updateTooltips() {
|
|
3596
|
-
for (let { btnClass: e, label: t } of
|
|
3542
|
+
for (let { btnClass: e, label: t } of Tr) {
|
|
3597
3543
|
let n = this.editor.editorContainer.querySelector(`.${e}`);
|
|
3598
3544
|
n && (n.title += ` (${t})`);
|
|
3599
3545
|
}
|
|
3600
|
-
let e = this.editor.editorContainer.querySelector(".heading-btn");
|
|
3601
|
-
e && (e.title +=
|
|
3602
|
-
let
|
|
3603
|
-
|
|
3546
|
+
let e = this.editor.editorContainer.querySelector(".heading-btn"), t = this.headingLevels.filter((e) => e <= 3);
|
|
3547
|
+
e && t.length && (e.title += ` (Ctrl+${t.join("/")})`);
|
|
3548
|
+
let n = this.editor.editorContainer.querySelector(".preview-btn");
|
|
3549
|
+
n && (n.title += " (F11)");
|
|
3604
3550
|
for (let { tool: e } of this.toolShortcuts) e.button && (e.button.title += ` (${e.shortcut})`);
|
|
3605
3551
|
}
|
|
3606
3552
|
destroy() {
|
|
3607
3553
|
this.editor.usertextarea.removeEventListener("keydown", this._handler), document.removeEventListener("keydown", this._docHandler);
|
|
3608
3554
|
}
|
|
3609
|
-
},
|
|
3555
|
+
}, Or = class {
|
|
3610
3556
|
constructor(e) {
|
|
3611
3557
|
this.editor = e, this._matches = [], this._currentIndex = -1, this._caseSensitive = !1, this._panel = null, this._findInput = null, this._replaceInput = null, this._countEl = null, this._replaceRow = null, this._caseSensitiveBtn = null, this._highlightEl = null, this._scrollHandler = null, this._taHandler = this._onTextareaKeyDown.bind(this), e.usertextarea.addEventListener("keydown", this._taHandler);
|
|
3612
3558
|
}
|
|
@@ -3631,33 +3577,33 @@ var Tr = class {
|
|
|
3631
3577
|
}
|
|
3632
3578
|
_buildPanel() {
|
|
3633
3579
|
let e = document.createElement("div");
|
|
3634
|
-
e.className = "find-replace-panel fj:absolute fj:top-1 fj:right-1 fj:z-20 fj:me-surface fj:me-surface-outline fj:me-surface-rounded fj:p-1.5 fj:flex fj:flex-col fj:gap-1 fj:shadow-lg", e.setAttribute("role", "search"), e.setAttribute("aria-label", "Find and replace");
|
|
3580
|
+
e.className = "find-replace-panel fj:absolute fj:top-1 fj:right-1 fj:z-20 fj:me-surface fj:me-surface-outline fj:me-surface-rounded fj:p-1.5 fj:flex fj:flex-col fj:gap-1 fj:shadow-lg", e.setAttribute("role", "search"), e.setAttribute("aria-label", this.editor.label("Find and replace"));
|
|
3635
3581
|
let t = document.createElement("div");
|
|
3636
|
-
t.className = "fj:flex fj:items-center fj:gap-1", this._findInput = document.createElement("input"), this._findInput.type = "text", this._findInput.placeholder = "Find", this._findInput.className = "fj:me-input fj:me-input-xs fj:w-36", this._findInput.setAttribute("aria-label", "Find"), this._findInput.addEventListener("input", () => this._search()), this._findInput.addEventListener("keydown", (e) => {
|
|
3582
|
+
t.className = "fj:flex fj:items-center fj:gap-1", this._findInput = document.createElement("input"), this._findInput.type = "text", this._findInput.placeholder = this.editor.label("Find"), this._findInput.className = "fj:me-input fj:me-input-xs fj:w-36", this._findInput.setAttribute("aria-label", this.editor.label("Find")), this._findInput.addEventListener("input", () => this._search()), this._findInput.addEventListener("keydown", (e) => {
|
|
3637
3583
|
e.key === "Enter" && (e.shiftKey ? this._prev() : this._next()), e.key === "Escape" && (e.preventDefault(), this.close());
|
|
3638
3584
|
}), this._countEl = document.createElement("span"), this._countEl.className = "fj:text-xs fj:opacity-50 fj:whitespace-nowrap fj:min-w-[3.5rem] fj:text-center fj:select-none", this._countEl.setAttribute("aria-live", "polite");
|
|
3639
3585
|
let n = this._iconBtn("Previous match", "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"m18 15-6-6-6 6\"/></svg>");
|
|
3640
3586
|
n.addEventListener("click", () => this._prev());
|
|
3641
3587
|
let r = this._iconBtn("Next match", "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"m6 9 6 6 6-6\"/></svg>");
|
|
3642
|
-
r.addEventListener("click", () => this._next()), this._caseSensitiveBtn = document.createElement("button"), this._caseSensitiveBtn.type = "button", this._caseSensitiveBtn.className = "fj:me-btn fj:me-btn-xs fj:me-btn-square fj:me-btn-ghost fj:text-xs fj:font-bold", this._caseSensitiveBtn.textContent = "Aa", this._caseSensitiveBtn.setAttribute("aria-label", "Match case"), this._caseSensitiveBtn.setAttribute("aria-pressed", "false"), this._caseSensitiveBtn.title = "Match case", this._caseSensitiveBtn.addEventListener("click", () => {
|
|
3588
|
+
r.addEventListener("click", () => this._next()), this._caseSensitiveBtn = document.createElement("button"), this._caseSensitiveBtn.type = "button", this._caseSensitiveBtn.className = "fj:me-btn fj:me-btn-xs fj:me-btn-square fj:me-btn-ghost fj:text-xs fj:font-bold", this._caseSensitiveBtn.textContent = "Aa", this._caseSensitiveBtn.setAttribute("aria-label", this.editor.label("Match case")), this._caseSensitiveBtn.setAttribute("aria-pressed", "false"), this._caseSensitiveBtn.title = this.editor.label("Match case"), this._caseSensitiveBtn.addEventListener("click", () => {
|
|
3643
3589
|
this._caseSensitive = !this._caseSensitive, this._caseSensitiveBtn.setAttribute("aria-pressed", String(this._caseSensitive)), this._caseSensitiveBtn.classList.toggle("fj:me-btn-active", this._caseSensitive), this._search();
|
|
3644
3590
|
});
|
|
3645
3591
|
let i = document.createElement("button");
|
|
3646
|
-
i.type = "button", i.className = "fj:me-btn fj:me-btn-xs fj:me-btn-ghost fj:text-xs fj:px-1.5", i.textContent = "Replace", i.setAttribute("aria-label", "Toggle replace row"), i.addEventListener("click", () => {
|
|
3592
|
+
i.type = "button", i.className = "fj:me-btn fj:me-btn-xs fj:me-btn-ghost fj:text-xs fj:px-1.5", i.textContent = this.editor.label("Replace"), i.setAttribute("aria-label", this.editor.label("Toggle replace row")), i.addEventListener("click", () => {
|
|
3647
3593
|
this._replaceRow.hidden = !this._replaceRow.hidden, this._replaceRow.hidden || this._replaceInput.focus();
|
|
3648
3594
|
});
|
|
3649
3595
|
let a = this._iconBtn("Close", "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M18 6 6 18\"/><path d=\"m6 6 12 12\"/></svg>");
|
|
3650
|
-
a.addEventListener("click", () => this.close()), t.append(this._findInput, this._countEl, n, r, this._caseSensitiveBtn, i, a), this._replaceRow = document.createElement("div"), this._replaceRow.className = "fj:flex fj:items-center fj:gap-1", this._replaceRow.hidden = !0, this._replaceInput = document.createElement("input"), this._replaceInput.type = "text", this._replaceInput.placeholder = "Replace", this._replaceInput.className = "fj:me-input fj:me-input-xs fj:w-36", this._replaceInput.setAttribute("aria-label", "Replace with"), this._replaceInput.addEventListener("keydown", (e) => {
|
|
3596
|
+
a.addEventListener("click", () => this.close()), t.append(this._findInput, this._countEl, n, r, this._caseSensitiveBtn, i, a), this._replaceRow = document.createElement("div"), this._replaceRow.className = "fj:flex fj:items-center fj:gap-1", this._replaceRow.hidden = !0, this._replaceInput = document.createElement("input"), this._replaceInput.type = "text", this._replaceInput.placeholder = this.editor.label("Replace"), this._replaceInput.className = "fj:me-input fj:me-input-xs fj:w-36", this._replaceInput.setAttribute("aria-label", this.editor.label("Replace with")), this._replaceInput.addEventListener("keydown", (e) => {
|
|
3651
3597
|
e.key === "Enter" && this._replace(), e.key === "Escape" && (e.preventDefault(), this.close());
|
|
3652
3598
|
});
|
|
3653
3599
|
let o = document.createElement("button");
|
|
3654
|
-
o.type = "button", o.className = "fj:me-btn fj:me-btn-xs fj:me-btn-ghost fj:text-xs fj:px-1.5", o.textContent = "Replace", o.addEventListener("click", () => this._replace());
|
|
3600
|
+
o.type = "button", o.className = "fj:me-btn fj:me-btn-xs fj:me-btn-ghost fj:text-xs fj:px-1.5", o.textContent = this.editor.label("Replace"), o.addEventListener("click", () => this._replace());
|
|
3655
3601
|
let s = document.createElement("button");
|
|
3656
|
-
s.type = "button", s.className = "fj:me-btn fj:me-btn-xs fj:me-btn-ghost fj:text-xs fj:px-1.5", s.textContent = "All", s.setAttribute("aria-label", "Replace all"), s.addEventListener("click", () => this._replaceAll()), this._replaceRow.append(this._replaceInput, o, s), e.append(t, this._replaceRow), this.editor.markdownEditorDiv.appendChild(e), this._panel = e;
|
|
3602
|
+
s.type = "button", s.className = "fj:me-btn fj:me-btn-xs fj:me-btn-ghost fj:text-xs fj:px-1.5", s.textContent = this.editor.label("All"), s.setAttribute("aria-label", this.editor.label("Replace all")), s.addEventListener("click", () => this._replaceAll()), this._replaceRow.append(this._replaceInput, o, s), e.append(t, this._replaceRow), this.editor.markdownEditorDiv.appendChild(e), this._panel = e;
|
|
3657
3603
|
}
|
|
3658
3604
|
_iconBtn(e, t) {
|
|
3659
3605
|
let n = document.createElement("button");
|
|
3660
|
-
n.type = "button", n.className = "fj:me-btn fj:me-btn-xs fj:me-btn-square fj:me-btn-ghost", n.setAttribute("aria-label", e), n.innerHTML = t;
|
|
3606
|
+
n.type = "button", n.className = "fj:me-btn fj:me-btn-xs fj:me-btn-square fj:me-btn-ghost", n.setAttribute("aria-label", this.editor.label(e)), n.innerHTML = t;
|
|
3661
3607
|
let r = n.querySelector("svg");
|
|
3662
3608
|
return r && r.setAttribute("aria-hidden", "true"), n;
|
|
3663
3609
|
}
|
|
@@ -3758,7 +3704,7 @@ var Tr = class {
|
|
|
3758
3704
|
destroy() {
|
|
3759
3705
|
this.editor.usertextarea.removeEventListener("keydown", this._taHandler), this._scrollHandler && this.editor.usertextarea.removeEventListener("scroll", this._scrollHandler), this._clearMatchHighlight(), this._panel?.remove();
|
|
3760
3706
|
}
|
|
3761
|
-
},
|
|
3707
|
+
}, kr = /^https?:\/\/\S+$/i, Ar = class {
|
|
3762
3708
|
constructor(e) {
|
|
3763
3709
|
this.editor = e, this.textarea = e.usertextarea, this._pasteHandler = (e) => this._onPaste(e), this._dropHandler = (e) => this._onDrop(e), this._dragOverHandler = (e) => {
|
|
3764
3710
|
this._carriesFiles(e.dataTransfer) && e.preventDefault();
|
|
@@ -3784,7 +3730,7 @@ var Tr = class {
|
|
|
3784
3730
|
return;
|
|
3785
3731
|
}
|
|
3786
3732
|
let n = e.clipboardData?.getData("text/plain")?.trim(), { selectionStart: r, selectionEnd: i } = this.textarea;
|
|
3787
|
-
if (n && i > r &&
|
|
3733
|
+
if (n && i > r && kr.test(n)) {
|
|
3788
3734
|
e.preventDefault();
|
|
3789
3735
|
let t = `[${this.textarea.value.slice(r, i)}](${n})`;
|
|
3790
3736
|
this.editor.insertText(t, t.length, 0);
|
|
@@ -3794,20 +3740,14 @@ var Tr = class {
|
|
|
3794
3740
|
if (!this._carriesFiles(e.dataTransfer)) return;
|
|
3795
3741
|
e.preventDefault();
|
|
3796
3742
|
let t = this._imageFiles(e.dataTransfer);
|
|
3797
|
-
|
|
3798
|
-
if (!this.editor.imageUpload) {
|
|
3799
|
-
console.warn("[MarkdownEditor] An image was dropped but no upload endpoint is configured. Add { image: { fileInput: { uploadUrl: \"...\" } } } to the toolbar to enable it.");
|
|
3800
|
-
return;
|
|
3801
|
-
}
|
|
3802
|
-
this._uploadAll(t);
|
|
3803
|
-
}
|
|
3743
|
+
t.length && (this.editor.imageUpload ? this._uploadAll(t) : console.warn("[MarkdownEditor] An image was dropped but no upload endpoint is configured. Add { image: { fileInput: { uploadUrl: \"...\" } } } to the toolbar to enable it."));
|
|
3804
3744
|
}
|
|
3805
3745
|
async _uploadAll(e) {
|
|
3806
3746
|
for (let t of e) {
|
|
3807
3747
|
let e = `![${this.editor.label("Uploading...")}]()`;
|
|
3808
3748
|
this.editor.insertText(e, e.length, 0);
|
|
3809
3749
|
try {
|
|
3810
|
-
let { path: n, alt: r } = await
|
|
3750
|
+
let { path: n, alt: r } = await Ln(t, this.editor.imageUpload);
|
|
3811
3751
|
this._replace(e, ``);
|
|
3812
3752
|
} catch (t) {
|
|
3813
3753
|
this._replace(e, `![${this.editor.label("Upload failed")}]()`), console.error("[MarkdownEditor] Image upload failed.", t);
|
|
@@ -3821,12 +3761,19 @@ var Tr = class {
|
|
|
3821
3761
|
let i = r + t.length;
|
|
3822
3762
|
n.setSelectionRange(i, i), this.editor.render(), this.editor.notifyChange();
|
|
3823
3763
|
}
|
|
3824
|
-
},
|
|
3764
|
+
}, jr = new rt({ breaks: !0 }), Mr = class e {
|
|
3825
3765
|
constructor(e, t = {}) {
|
|
3826
|
-
this.usertextarea = typeof e == "string" ? document.querySelector(e) : e, this.options = t, this.mode = t.mode || "plain", this.preview = !this.options.toolbar || this.options.toolbar.includes("preview"), this.footerOptions = this._parseFooterOptions(t.footer), this.variables = this._parseVariables(t.toolbar), this.imageUpload = this._parseImageUpload(t.toolbar), this.previewTimer = null, this.init(), this.undoRedoManager = new
|
|
3766
|
+
this.usertextarea = typeof e == "string" ? document.querySelector(e) : e, this.options = t, this.mode = t.mode || "plain", this.preview = !this.options.toolbar || this.options.toolbar.includes("preview"), this.footerOptions = this._parseFooterOptions(t.footer), this.variables = this._parseVariables(t.toolbar), this.imageUpload = this._parseImageUpload(t.toolbar), this.previewTimer = null, this.init(), this.undoRedoManager = new Sr(this), this.listManager = new wr(this), this.indentManager = new Cr(this), this.shortcutManager = new Dr(this), this.findReplace = new Or(this), this.pasteManager = new Ar(this), this._warnIfStylesheetMissing(), this._warnIfLocaleIsACode();
|
|
3767
|
+
}
|
|
3768
|
+
_warnIfLocaleIsACode() {
|
|
3769
|
+
let e = this.options.locale;
|
|
3770
|
+
typeof e == "string" && console.error(`[MarkdownEditor] locale: '${e}' has no effect. It takes the strings, not a code:\n import ${/^[a-z]{2}$/i.test(e) ? e : "strings"} from 'markdown-text-editor/locale/${e}.js'\n new MarkdownEditor(el, { locale: ${/^[a-z]{2}$/i.test(e) ? e : "strings"} })`);
|
|
3771
|
+
}
|
|
3772
|
+
_warnIfStylesheetMissing() {
|
|
3773
|
+
e._cssWarned || this.editorContainer?.isConnected && (getComputedStyle(this.editorContainer).getPropertyValue("--mte-css").trim() || (e._cssWarned = !0, console.error("[MarkdownEditor] Stylesheet not loaded, so the editor will look unstyled.\n Bundlers: import 'markdown-text-editor/style.css'\n Browsers: <link rel=\"stylesheet\" href=\".../dist/markdown-text-editor.css\">")));
|
|
3827
3774
|
}
|
|
3828
3775
|
label(e) {
|
|
3829
|
-
return this.options.labels?.[e] ?? e;
|
|
3776
|
+
return (this.options.locale ?? this.options.labels)?.[e] ?? e;
|
|
3830
3777
|
}
|
|
3831
3778
|
_parseImageUpload(e) {
|
|
3832
3779
|
let t = (Array.isArray(e) ? e : []).find((e) => e && typeof e == "object" && e.image)?.image?.fileInput;
|
|
@@ -3868,7 +3815,7 @@ var Tr = class {
|
|
|
3868
3815
|
e.className = "\n textarea-wrapper\n not-prose\n fj:me-surface\n fj:h-full\n fj:min-h-0\n fj:relative\n fj:grid\n ", this.mode == "hybrid" && (this.displayLayer = document.createElement("div"), this.displayLayer.setAttribute("data-placeholder", this.usertextarea.placeholder), this.displayLayer.setAttribute("aria-hidden", !0), this.displayLayer.className = "\n display-layer\n fj:px-4\n fj:py-2\n fj:whitespace-pre-wrap fj:wrap-break-word\n fj:pointer-events-none\n fj:absolute\n fj:inset-0\n fj:m-0\n fj:box-border\n fj:z-0\n fj:overflow-y-auto\n fj:empty:after:content-[attr(data-placeholder)]\n fj:empty:after:absolute\n fj:empty:after:inset-0\n fj:empty:after:px-4\n fj:empty:after:py-2\n fj:empty:after:text-[CanvasText]\n fj:empty:after:opacity-50\n ", this.usertextarea.className += "\n fj:text-transparent\n fj:caret-primary\n fj:resize-none\n fj:outline-none\n fj:m-0\n fj:box-border\n fj:relative\n fj:z-10\n ", e.appendChild(this.displayLayer)), e.appendChild(this.usertextarea), this.markdownEditorDiv.appendChild(e);
|
|
3869
3816
|
}
|
|
3870
3817
|
addPreviewWrapper() {
|
|
3871
|
-
let e = new
|
|
3818
|
+
let e = new $n(this.markdownEditorDiv);
|
|
3872
3819
|
this.previewContent = e.getPreviewContent();
|
|
3873
3820
|
}
|
|
3874
3821
|
addInputListener() {
|
|
@@ -3902,10 +3849,10 @@ var Tr = class {
|
|
|
3902
3849
|
return n.usertextarea = e, n.scrollToView = () => {}, n.render = () => {}, n.notifyChange = () => {}, n.insertText = (t, n = 0, r = 0) => {
|
|
3903
3850
|
let { selectionStart: i, selectionEnd: a, value: o } = e;
|
|
3904
3851
|
e.value = o.slice(0, i) + t + o.slice(a), e.focus(), e.setSelectionRange(i + n, i + t.length - r);
|
|
3905
|
-
}, new
|
|
3852
|
+
}, new Qn(n, t, { standalone: !0 }).toolbar;
|
|
3906
3853
|
}
|
|
3907
3854
|
_renderMarkdown(e) {
|
|
3908
|
-
let t = this.options.renderer ?? ((e) =>
|
|
3855
|
+
let t = this.options.renderer ?? ((e) => jr.parse(e)), n = this.options.sanitizer ?? ((e) => Cn.sanitize(e)), r = Jn(e, this.variables), i = t(r);
|
|
3909
3856
|
return this.options.renderer && !this._taskListWarned && /^\s*[-*] \[[ xX]\] /m.test(r) && !/type=["']?checkbox/.test(i) && (this._taskListWarned = !0, console.warn("[MarkdownEditor] Task list syntax found, but the custom renderer emitted no checkboxes. Clickable checkboxes in the preview need a task-list plugin, e.g. markdown-it-task-lists.")), n(i);
|
|
3910
3857
|
}
|
|
3911
3858
|
wirePreviewCheckboxes() {
|
|
@@ -3927,10 +3874,10 @@ var Tr = class {
|
|
|
3927
3874
|
addFooter() {
|
|
3928
3875
|
if (!this.footerOptions) return;
|
|
3929
3876
|
let { line: e, col: t, chars: n, words: r } = this.footerOptions;
|
|
3930
|
-
(e || t || n || r) && (this.footer = new
|
|
3877
|
+
(e || t || n || r) && (this.footer = new er(this.editorContainer, this.footerOptions, (e) => this.label(e)), this.footer.update(this.usertextarea), this._footerUpdate = () => this.footer.update(this.usertextarea), this.usertextarea.addEventListener("input", this._footerUpdate), this.usertextarea.addEventListener("click", this._footerUpdate), this.usertextarea.addEventListener("keyup", this._footerUpdate), this.usertextarea.addEventListener("focus", this._footerUpdate));
|
|
3931
3878
|
}
|
|
3932
3879
|
addToolbar() {
|
|
3933
|
-
this.toolbarInstance = new
|
|
3880
|
+
this.toolbarInstance = new Qn(this, this.options.toolbar || [
|
|
3934
3881
|
"undo",
|
|
3935
3882
|
"redo",
|
|
3936
3883
|
"heading",
|
|
@@ -3970,14 +3917,11 @@ var Tr = class {
|
|
|
3970
3917
|
if (e === this._lastRaw) return;
|
|
3971
3918
|
this._lastRaw = e;
|
|
3972
3919
|
let t = this._highlight(e).split("\n"), n = this._lastLines;
|
|
3973
|
-
if (!n || n.length !== t.length) {
|
|
3974
|
-
|
|
3975
|
-
|
|
3976
|
-
|
|
3977
|
-
|
|
3978
|
-
return;
|
|
3979
|
-
}
|
|
3980
|
-
for (let e = 0; e < t.length; e++) t[e] !== n[e] && (this._lineNodes[e].innerHTML = t[e] + (e < t.length - 1 ? "\n" : ""), n[e] = t[e]);
|
|
3920
|
+
if (!n || n.length !== t.length) this.displayLayer.innerHTML = "", this._lineNodes = t.map((e, n) => {
|
|
3921
|
+
let r = document.createElement("span");
|
|
3922
|
+
return r.innerHTML = e + (n < t.length - 1 ? "\n" : ""), this.displayLayer.appendChild(r), r;
|
|
3923
|
+
}), this._lastLines = t.slice();
|
|
3924
|
+
else for (let e = 0; e < t.length; e++) t[e] !== n[e] && (this._lineNodes[e].innerHTML = t[e] + (e < t.length - 1 ? "\n" : ""), n[e] = t[e]);
|
|
3981
3925
|
}
|
|
3982
3926
|
_autoGrow() {
|
|
3983
3927
|
if (this.editorContainer.classList.contains("is-fullscreen")) return;
|
|
@@ -4023,8 +3967,8 @@ var Tr = class {
|
|
|
4023
3967
|
].forEach((e) => this.usertextarea.classList.remove(e)), this._addedAriaLabel && this.usertextarea.removeAttribute("aria-label"), this.usertextarea.style.height = "", e.insertBefore(this.usertextarea, this.editorContainer), this.editorContainer.remove());
|
|
4024
3968
|
}
|
|
4025
3969
|
};
|
|
4026
|
-
|
|
3970
|
+
Mr.Tool = $, Mr.modal = Mn;
|
|
4027
3971
|
//#endregion
|
|
4028
|
-
export {
|
|
3972
|
+
export { Mr as default };
|
|
4029
3973
|
|
|
4030
3974
|
//# sourceMappingURL=markdown-text-editor.es.js.map
|