SML.di("./C42E8rVVpA.js",import.meta.url,"C42E8rVVpA");SML.di("./CsxDAjmHZE.js",import.meta.url,"CsxDAjmHZE");SML.di("./DUzIBJc2in.js",import.meta.url,"DUzIBJc2in");
SML.dm("1i4g9fLWHY",["C42E8rVVpA","CsxDAjmHZE","DUzIBJc2in"],(async(e,a,t)=>{let r=class extends e.h4{constructor(){super(...arguments),this._fullscreenBlurEl=document.createElement("div"),this._appliedBlurFilter=null,this._blurElement=null,this.shouldContentScroll=!1,this.isFooterEmpty=!0,this.render=()=>{const t=a.x`
${a.d("This link leads to an external site. We cannot guarantee the security on the external site, nor verify its contents.")}
${e?.file?.name}
${a.d("Uploading...")}
${`${this.webViewPostTitle}`}
${this.showUiSimulator?r.x` ${"UI simulator"} `:r.A}(Lr(e)||Kr(e))&&!e.isInline()))){Lr(r)||t(211,n.constructor.name,n.getType());const i=sr(this);return r.splice(i,0,e),void o.selectEnd()}const i=function(e){const t=Qr();let n=null;for(let r=0;r0?r.getRangeAt(0):null;if(null!==e){let t;if(e instanceof Text){const n=document.createRange();n.selectNode(e),t=n.getBoundingClientRect()}else t=e.getBoundingClientRect();!function(e,t,n){const r=ii(n),o=li(r);if(null===r||null===o)return;let{top:i,bottom:s}=t,l=0,a=0,c=n;for(;null!==c;){const t=c===r.body;if(t)l=0,a=ai(e).innerHeight;else{const e=c.getBoundingClientRect();l=e.top,a=e.bottom}let n=0;if(i0||u>0;){if(a>0){t._dirtyLeaves=new Set;for(const e of l){const r=o.get(e);Tn(r)&&r.isAttached()&&r.isSimpleText()&&!r.isUnmergeable()&&ee(r),void 0!==r&&xr(r,i)&&Cr(t,r,s),n.add(e)}if(l=t._dirtyLeaves,a=l.size,a>0){fr++;continue}}t._dirtyLeaves=new Set,t._dirtyElements=new Map,c.delete("root")&&c.set("root",!0);for(const e of c){const n=e[0],l=e[1];if(r.set(n,l),!l)continue;const a=o.get(n);void 0!==a&&xr(a,i)&&Cr(t,a,s)}l=t._dirtyLeaves,a=l.size,c=t._dirtyElements,u=c.size,fr++}t._dirtyLeaves=n,t._dirtyElements=r}(c,e),Ar(e),function(e,t,n,r){const o=e._nodeMap,i=t._nodeMap,s=[];for(const[e]of r){const t=i.get(e);void 0!==t&&(t.isAttached()||(Lr(t)&&M(t,e,o,i,s,r),o.has(e)||r.delete(e),s.push(e)))}for(const e of s)i.delete(e);for(const e of n){const t=i.get(e);void 0===t||t.isAttached()||(o.has(e)||n.delete(e),i.delete(e))}}(a,c,e._dirtyLeaves,e._dirtyElements)),o!==e._compositionKey&&(c._flushSync=!0);const i=c._selection;if(Dn(i)){const e=c._nodeMap,n=i.anchor.key,r=i.focus.key;void 0!==e.get(n)&&void 0!==e.get(r)||t(19)}else Kn(i)&&0===i._nodes.size&&(c._selection=null)}catch(t){return t instanceof Error&&e._onError(t),e._pendingEditorState=a,e._dirtyType=2,e._cloneNotNeeded.clear(),e._dirtyLeaves=new Set,e._dirtyElements.clear(),void Nr(e)}finally{cr=d,dr=g,ur=f,e._updating=h,fr=0}const m=0!==e._dirtyType||e._deferred.length>0||function(e,t){const n=t.getEditorState()._selection,r=e._selection;if(null!==r){if(r.dirty||!r.is(n))return!0}else if(null!==n)return!0;return!1}(c,e);m?c._flushSync?(c._flushSync=!1,Nr(e)):u&&ao((()=>{Nr(e)})):(c._flushSync=!1,u&&(o.clear(),e._deferred=[],e._pendingEditorState=null))}function Or(e,t,n){ur===e&&void 0===n?t():Fr(e,t,n)}class Pr{element;before;after;constructor(e,t,n){this.element=e,this.before=t||null,this.after=n||null}withBefore(e){return new Pr(this.element,e,this.after)}withAfter(e){return new Pr(this.element,this.before,e)}withElement(e){return this.element===e?this:new Pr(e,this.before,this.after)}insertChild(e){const n=this.before||this.getManagedLineBreak();return null!==n&&n.parentElement!==this.element&&t(222),this.element.insertBefore(e,n),this}removeChild(e){return e.parentElement!==this.element&&t(223),this.element.removeChild(e),this}replaceChild(e,n){return n.parentElement!==this.element&&t(224),this.element.replaceChild(e,n),this}getFirstChild(){const e=this.after?this.after.nextSibling:this.element.firstChild;return e===this.before||e===this.getManagedLineBreak()?null:e}getManagedLineBreak(){return this.element.__lexicalLineBreak||null}setManagedLineBreak(e){if(null===e)this.removeManagedLineBreak();else{const t="decorator"===e&&(f||c||a);this.insertManagedLineBreak(t)}}removeManagedLineBreak(){const e=this.getManagedLineBreak();if(e){const t=this.element,n="IMG"===e.nodeName?e.nextSibling:null;n&&t.removeChild(n),t.removeChild(e),t.__lexicalLineBreak=void 0}}insertManagedLineBreak(e){const t=this.getManagedLineBreak();if(t){if(e===("IMG"===t.nodeName))return;this.removeManagedLineBreak()}const n=this.element,r=this.before,o=document.createElement("br");if(n.insertBefore(o,r),e){const e=document.createElement("img");e.setAttribute("data-lexical-linebreak","true"),e.style.cssText="display: inline !important; border: 0px !important; margin: 0px !important;",e.alt="",n.insertBefore(e,o),n.__lexicalLineBreak=e}else n.__lexicalLineBreak=o}getFirstChildOffset(){let e=0;for(let t=this.after;null!==t;t=t.previousSibling)e++;return e}resolveChildIndex(e,t,n,r){if(n===this.element){const t=this.getFirstChildOffset();return[e,Math.min(t+e.getChildrenSize(),Math.max(t,r))]}const o=Rr(t,n);o.push(r);const i=Rr(t,this.element);let s=e.getIndexWithinParent();for(let e=0;e
` elements. * * ```less * @import '@reddit/faceplate-ui/styles/elements/blockquote.less'; * * // To apply styles toelements within a scope (e.g. a shadow DOM) * blockquote { * .blockquote(); * } * * // To apply styles to a custom element directly * :host { * display: block; * .blockquote(); * } * ``` * * --- * * Faceplate includes these styles on the `` element by default. * * ```demo:html ** that happened to me once but instead of clapping it was eating doritos ** ``` * * @packageDocumentation */ /* Toggle Buttons */ .button-favorite { --button-color-background-focus: transparent; --button-color-background-hover: var(--color-button-plain-background-hover); --button-color-background-disabled: var(--color-button-plain-background-disabled); --button-color-background-activated: var(--color-button-plain-background-activated); --button-color-background-active: linear-gradient(var(--color-button-secondary-background-hover), var(--color-button-secondary-background-hover)); --button-color-text-default: var(--color-button-plain-text); --button-color-text-disabled: var(--color-button-plain-text-disabled); --button-color-text-activated: var(--color-button-plain-text-activated); --button-color-text-hover: var(--color-button-plain-text-hover); --button-border-color-default: transparent; --button-color-text-default: var(--color-neutral-content-weak); --button-color-background-default: transparent; --button-color-text-hover: var(--color-secondary-onBackground); } .button-favorite-toggled { --button-color-background-focus: transparent; --button-color-background-hover: var(--color-button-plain-background-hover); --button-color-background-disabled: var(--color-button-plain-background-disabled); --button-color-background-activated: var(--color-button-plain-background-activated); --button-color-background-active: linear-gradient(var(--color-button-secondary-background-hover), var(--color-button-secondary-background-hover)); --button-color-text-default: var(--color-button-plain-text); --button-color-text-disabled: var(--color-button-plain-text-disabled); --button-color-text-activated: var(--color-button-plain-text-activated); --button-color-text-hover: var(--color-button-plain-text-hover); --button-border-color-default: transparent; --button-color-background-default: transparent; --button-color-text-default: var(--color-button-favorite-text); --button-color-text-hover: var(--color-button-favorite-text); } .button-secondary-toggled { --button-color-background-default: var(--color-button-secondary-background); --button-color-background-focus: var(--color-button-secondary-background-focus); --button-color-background-hover: var(--color-button-secondary-background-hover); --button-color-background-active: linear-gradient(var(--color-button-secondary-background-hover), var(--color-button-secondary-background-hover)); --button-color-background-disabled: var(--color-button-secondary-background-disabled); --button-color-background-activated: var(--color-button-secondary-background-activated); --button-color-text-default: var(--color-button-secondary-text); --button-color-text-disabled: var(--color-button-secondary-text-disabled); --button-color-text-activated: var(--color-button-secondary-text-activated); --button-border-color-default: var(--color-button-secondary-border); --button-color-background-default: var(--color-button-secondary-background-activated); --button-border-color-default: var(--color-neutral-border); } .button-caution { --button-color-background-default: var(--color-button-caution-background); --button-color-background-hover: var(--color-button-caution-background-hover); --button-color-background-disabled: var(--color-button-caution-background-disabled); --button-color-text-default: var(--color-button-caution-text); } .rpl-vote-button-group { /* APPEARANCE AGNOSTIC STYLES */ /* PLAIN APPEARANCE */ /* SECONDARY APPEARANCE */ /* BORDERED APPEARANCE */ --vote-button-divider-color: var(--color-neutral-border-weak); /* MEDIA APPEARANCE */ } .rpl-vote-button-group:not([disabled]) .rpl-vote-button-group-label { color: var(--vote-button-label-color); } .rpl-vote-button-group:not([disabled]):hover.rpl-vote-button-group-label { color: var(--vote-button-label-color-hover); } .rpl-vote-button-group .rpl-vote-button-group-divider { background-color: var(--vote-button-divider-color); } .rpl-vote-button-group[disabled] button[rpl]:disabled { --button-color-background-disabled: transparent; } .rpl-vote-button-group.button-plain { --vote-button-label-color: var(--color-secondary-plain); --vote-button-label-color-hover: var(--color-secondary-plain); } .rpl-vote-button-group.button-plain button[rpl]:first-child { --button-color-text-hover: var(--color-upvote-plain-weaker); } .rpl-vote-button-group.button-plain button[rpl]:last-child { --button-color-text-hover: var(--color-downvote-plain-weaker); } .rpl-vote-button-group.button-plain.upvote { --vote-button-label-color: var(--color-upvote-plain); } .rpl-vote-button-group.button-plain.upvote button[rpl]:first-child { --button-color-text-default: var(--color-upvote-plain-weaker); --button-color-text-hover: var(--color-upvote-plain-weaker); --button-color-text-disabled: var(--color-upvote-plain-disabled); --button-color-text-activated: var(--color-upvote-plain-weaker); } .rpl-vote-button-group.button-plain.downvote { --vote-button-label-color: var(--color-downvote-plain); } .rpl-vote-button-group.button-plain.downvote button[rpl]:last-child { --button-color-text-default: var(--color-downvote-plain-weaker); --button-color-text-disabled: var(--color-downvote-plain-disabled); --button-color-text-activated: var(--color-downvote-plain-weaker); } .rpl-vote-button-group.button-secondary { --vote-button-label-color: var(--color-secondary-plain); --vote-button-label-color-hover: var(--color-secondary-plain); --vote-button-divider-color: var(--color-neutral-border); } .rpl-vote-button-group.button-secondary button[rpl]:first-child { --button-color-text-hover: var(--color-upvote-plain-weaker); } .rpl-vote-button-group.button-secondary button[rpl]:last-child { --button-color-text-hover: var(--color-downvote-plain-weaker); } .rpl-vote-button-group.button-secondary.upvote, .rpl-vote-button-group.button-secondary.upvote button[rpl] { --button-color-text-default: var(--color-upvote-onBackground); --button-color-text-hover: var(--color-upvote-onBackground); --button-color-text-disabled: var(--color-upvote-disabled); --button-color-text-activated: var(--color-upvote-onBackground); } .rpl-vote-button-group.button-secondary.upvote:not([disabled]), .rpl-vote-button-group.button-secondary.upvote button[rpl]:not([disabled]) { --button-color-background-default: var(--color-upvote-background); --button-color-background-hover: var(--color-upvote-background-hover); --button-color-background-active: var(--color-upvote-background-hover); --vote-button-divider-color: var(--color-upvote-onBackground); --vote-button-label-color: var(--color-media-onBackground); } .rpl-vote-button-group.button-secondary.downvote, .rpl-vote-button-group.button-secondary.downvote button[rpl] { --button-color-text-default: var(--color-downvote-onBackground); --button-color-text-hover: var(--color-downvote-onBackground); --button-color-text-disabled: var(--color-downvote-disabled); --button-color-text-activated: var(--color-downvote-onBackground); } .rpl-vote-button-group.button-secondary.downvote:not([disabled]), .rpl-vote-button-group.button-secondary.downvote button[rpl]:not([disabled]) { --button-color-background-default: var(--color-downvote-background); --button-color-background-hover: var(--color-downvote-background-hover); --button-color-background-active: var(--color-downvote-background-hover); --vote-button-divider-color: var(--color-upvote-onBackground); --vote-button-label-color: var(--color-media-onBackground); } .rpl-vote-button-group.button-bordered-cab { --vote-button-label-color: var(--color-secondary-plain); --vote-button-label-color-hover: var(--color-secondary-plain); } .rpl-vote-button-group.button-bordered-cab button[rpl]:first-child { --button-color-text-hover: var(--color-upvote-plain-weaker); } .rpl-vote-button-group.button-bordered-cab button[rpl]:last-child { --button-color-text-hover: var(--color-downvote-plain-weaker); } .rpl-vote-button-group.button-bordered-cab.upvote { --vote-button-label-color: var(--color-upvote-plain); } .rpl-vote-button-group.button-bordered-cab.upvote button[rpl]:first-child { --button-color-text-default: var(--color-upvote-plain-weaker); --button-color-text-hover: var(--color-upvote-plain-weaker); --button-color-text-disabled: var(--color-upvote-plain-disabled); --button-color-text-activated: var(--color-upvote-plain-weaker); } .rpl-vote-button-group.button-bordered-cab.downvote { --vote-button-label-color: var(--color-downvote-plain); } .rpl-vote-button-group.button-bordered-cab.downvote button[rpl]:last-child { --button-color-text-default: var(--color-downvote-plain-weaker); --button-color-text-hover: var(--color-downvote-plain-weaker); --button-color-text-disabled: var(--color-downvote-plain-disabled); --button-color-text-activated: var(--color-downvote-plain-weaker); } .rpl-vote-button-group.button-media-cab { --vote-button-label-color: var(--color-media-onBackground); --vote-button-label-color-hover: var(--color-media-onBackground); --vote-button-divider-color: var(--color-media-border-weak); } .rpl-vote-button-group.button-media-cab button[rpl]:first-child { --button-color-text-hover: var(--color-upvote-onStrongScrim-weaker); } .rpl-vote-button-group.button-media-cab button[rpl]:last-child { --button-color-text-hover: var(--color-downvote-onStrongScrim-weaker); } .rpl-vote-button-group.button-media-cab.upvote { --vote-button-label-color: var(--color-upvote-onStrongScrim); } .rpl-vote-button-group.button-media-cab.upvote button[rpl]:first-child { --button-color-text-default: var(--color-upvote-onStrongScrim-weaker); --button-color-text-activated: var(--color-upvote-onStrongScrim-weaker); --button-color-text-disabled: var(--color-upvote-onStrongScrim-disabled); } .rpl-vote-button-group.button-media-cab.downvote { --vote-button-label-color: var(--color-downvote-onStrongScrim); } .rpl-vote-button-group.button-media-cab.downvote button[rpl]:last-child { --button-color-text-default: var(--color-downvote-onStrongScrim-weaker); --button-color-text-activated: var(--color-downvote-onStrongScrim-weaker); --button-color-text-disabled: var(--color-downvote-onStrongScrim-disabled); } /** * The code style module * * This LESS module provides the default Faceplate styles for `` elements. * * ```less * @import '@reddit/faceplate-ui/styles/elements/code.less'; * * // To apply styles toelements within a scope (e.g. a shadow DOM) * code { * .code(); * } * * // To apply styles to a custom element directly * :host { * display: block; * .code(); * } * ``` * * --- * * Faceplate includes these styles on the following elements: * * - `` * - `` * - `` * - `` * * ```demo:html *This is some
* *inline code.* *This is some * preformatted * code *This is a sample element.
* *This is a keyboard element.
* ``` * * @packageDocumentation */ /** * The details style module * * This LESS module provides the default Faceplate styles for `` elements, and `` * elements nested in them. * * ```less * @import '@reddit/faceplate-ui/styles/elements/details.less'; * * // To apply styles to