From 9968f06e93ad43adfb3e97752e0990ea151c1903 Mon Sep 17 00:00:00 2001 From: Carson Date: Thu, 21 Aug 2025 10:32:16 -0500 Subject: [PATCH 01/10] fix: supply and retain default selectize.js plugins (for py-shiny) --- inst/www/shared/shiny.js | 33 +++++++++++++-- inst/www/shared/shiny.js.map | 4 +- inst/www/shared/shiny.min.js | 32 +++++++------- inst/www/shared/shiny.min.js.map | 6 +-- srcts/src/bindings/input/selectInput.ts | 55 ++++++++++++++++++++----- 5 files changed, 96 insertions(+), 34 deletions(-) diff --git a/inst/www/shared/shiny.js b/inst/www/shared/shiny.js index 86633929c..c34ad7915 100644 --- a/inst/www/shared/shiny.js +++ b/inst/www/shared/shiny.js @@ -2267,8 +2267,11 @@ } return (0, import_jquery19.default)(el).parent().parent().find('label[for="' + escapedId + '"]'); } + function getConfigScript(el) { + return (0, import_jquery19.default)(el).parent().find('script[data-for="' + $escape(el.id) + '"]'); + } function isSelectize(el) { - const config = (0, import_jquery19.default)(el).parent().find('script[data-for="' + $escape(el.id) + '"]'); + const config = getConfigScript(el); return config.length > 0; } var SelectInputBinding = class extends InputBinding { @@ -2331,7 +2334,13 @@ this._selectize(el); } if (hasDefinedProperty(data, "config")) { - $el.parent().find('script[data-for="' + $escape(el.id) + '"]').replaceWith(data.config); + const config = getConfigScript(el); + const plugins = config.attr("data-default-plugins"); + config.replaceWith(data.config); + const newConfig = getConfigScript(el); + if (plugins && !newConfig.attr("data-default-plugins")) { + newConfig.attr("data-default-plugins", plugins); + } this._selectize(el, true); } if (hasDefinedProperty(data, "url")) { @@ -2404,8 +2413,9 @@ _selectize(el, update = false) { if (!import_jquery19.default.fn.selectize) return void 0; const $el = (0, import_jquery19.default)(el); - const config = $el.parent().find('script[data-for="' + $escape(el.id) + '"]'); + const config = getConfigScript(el); if (config.length === 0) return void 0; + this._supplyDefaultPlugins(config); let options = import_jquery19.default.extend( { labelField: "label", @@ -2450,6 +2460,23 @@ } return control; } + // py-shiny may include a data-default-plugins attribute, requesting + // "default" plugins (i.e., plugins not specified by the user). + // If present, update the config (i.e., the \n * ```\n * @nocollapse\n * @category styles\n */\n static styles?: CSSResultGroup;\n\n /**\n * Returns a list of attributes corresponding to the registered properties.\n * @nocollapse\n * @category attributes\n */\n static get observedAttributes() {\n // Ensure we've created all properties\n this.finalize();\n // this.__attributeToPropertyMap is only undefined after finalize() in\n // ReactiveElement itself. ReactiveElement.observedAttributes is only\n // accessed with ReactiveElement as the receiver when a subclass or mixin\n // calls super.observedAttributes\n return (\n this.__attributeToPropertyMap && [...this.__attributeToPropertyMap.keys()]\n );\n }\n\n private __instanceProperties?: PropertyValues = undefined;\n\n /**\n * Creates a property accessor on the element prototype if one does not exist\n * and stores a {@linkcode PropertyDeclaration} for the property with the\n * given options. The property setter calls the property's `hasChanged`\n * property option or uses a strict identity check to determine whether or not\n * to request an update.\n *\n * This method may be overridden to customize properties; however,\n * when doing so, it's important to call `super.createProperty` to ensure\n * the property is setup correctly. This method calls\n * `getPropertyDescriptor` internally to get a descriptor to install.\n * To customize what properties do when they are get or set, override\n * `getPropertyDescriptor`. To customize the options for a property,\n * implement `createProperty` like this:\n *\n * ```ts\n * static createProperty(name, options) {\n * options = Object.assign(options, {myOption: true});\n * super.createProperty(name, options);\n * }\n * ```\n *\n * @nocollapse\n * @category properties\n */\n static createProperty(\n name: PropertyKey,\n options: PropertyDeclaration = defaultPropertyDeclaration\n ) {\n // If this is a state property, force the attribute to false.\n if (options.state) {\n (options as Mutable).attribute = false;\n }\n this.__prepare();\n // Whether this property is wrapping accessors.\n // Helps control the initial value change and reflection logic.\n if (this.prototype.hasOwnProperty(name)) {\n options = Object.create(options);\n options.wrapped = true;\n }\n this.elementProperties.set(name, options);\n if (!options.noAccessor) {\n const key = DEV_MODE\n ? // Use Symbol.for in dev mode to make it easier to maintain state\n // when doing HMR.\n Symbol.for(`${String(name)} (@property() cache)`)\n : Symbol();\n const descriptor = this.getPropertyDescriptor(name, key, options);\n if (descriptor !== undefined) {\n defineProperty(this.prototype, name, descriptor);\n }\n }\n }\n\n /**\n * Returns a property descriptor to be defined on the given named property.\n * If no descriptor is returned, the property will not become an accessor.\n * For example,\n *\n * ```ts\n * class MyElement extends LitElement {\n * static getPropertyDescriptor(name, key, options) {\n * const defaultDescriptor =\n * super.getPropertyDescriptor(name, key, options);\n * const setter = defaultDescriptor.set;\n * return {\n * get: defaultDescriptor.get,\n * set(value) {\n * setter.call(this, value);\n * // custom action.\n * },\n * configurable: true,\n * enumerable: true\n * }\n * }\n * }\n * ```\n *\n * @nocollapse\n * @category properties\n */\n protected static getPropertyDescriptor(\n name: PropertyKey,\n key: string | symbol,\n options: PropertyDeclaration\n ): PropertyDescriptor | undefined {\n const {get, set} = getOwnPropertyDescriptor(this.prototype, name) ?? {\n get(this: ReactiveElement) {\n return this[key as keyof typeof this];\n },\n set(this: ReactiveElement, v: unknown) {\n (this as unknown as Record)[key] = v;\n },\n };\n if (DEV_MODE && get == null) {\n if ('value' in (getOwnPropertyDescriptor(this.prototype, name) ?? {})) {\n throw new Error(\n `Field ${JSON.stringify(String(name))} on ` +\n `${this.name} was declared as a reactive property ` +\n `but it's actually declared as a value on the prototype. ` +\n `Usually this is due to using @property or @state on a method.`\n );\n }\n issueWarning(\n 'reactive-property-without-getter',\n `Field ${JSON.stringify(String(name))} on ` +\n `${this.name} was declared as a reactive property ` +\n `but it does not have a getter. This will be an error in a ` +\n `future version of Lit.`\n );\n }\n return {\n get,\n set(this: ReactiveElement, value: unknown) {\n const oldValue = get?.call(this);\n set?.call(this, value);\n this.requestUpdate(name, oldValue, options);\n },\n configurable: true,\n enumerable: true,\n };\n }\n\n /**\n * Returns the property options associated with the given property.\n * These options are defined with a `PropertyDeclaration` via the `properties`\n * object or the `@property` decorator and are registered in\n * `createProperty(...)`.\n *\n * Note, this method should be considered \"final\" and not overridden. To\n * customize the options for a given property, override\n * {@linkcode createProperty}.\n *\n * @nocollapse\n * @final\n * @category properties\n */\n static getPropertyOptions(name: PropertyKey) {\n return this.elementProperties.get(name) ?? defaultPropertyDeclaration;\n }\n\n // Temporary, until google3 is on TypeScript 5.2\n declare static [Symbol.metadata]: object & Record;\n\n /**\n * Initializes static own properties of the class used in bookkeeping\n * for element properties, initializers, etc.\n *\n * Can be called multiple times by code that needs to ensure these\n * properties exist before using them.\n *\n * This method ensures the superclass is finalized so that inherited\n * property metadata can be copied down.\n * @nocollapse\n */\n private static __prepare() {\n if (\n this.hasOwnProperty(JSCompiler_renameProperty('elementProperties', this))\n ) {\n // Already prepared\n return;\n }\n // Finalize any superclasses\n const superCtor = getPrototypeOf(this) as typeof ReactiveElement;\n superCtor.finalize();\n\n // Create own set of initializers for this class if any exist on the\n // superclass and copy them down. Note, for a small perf boost, avoid\n // creating initializers unless needed.\n if (superCtor._initializers !== undefined) {\n this._initializers = [...superCtor._initializers];\n }\n // Initialize elementProperties from the superclass\n this.elementProperties = new Map(superCtor.elementProperties);\n }\n\n /**\n * Finishes setting up the class so that it's ready to be registered\n * as a custom element and instantiated.\n *\n * This method is called by the ReactiveElement.observedAttributes getter.\n * If you override the observedAttributes getter, you must either call\n * super.observedAttributes to trigger finalization, or call finalize()\n * yourself.\n *\n * @nocollapse\n */\n protected static finalize() {\n if (this.hasOwnProperty(JSCompiler_renameProperty('finalized', this))) {\n return;\n }\n this.finalized = true;\n this.__prepare();\n\n // Create properties from the static properties block:\n if (this.hasOwnProperty(JSCompiler_renameProperty('properties', this))) {\n const props = this.properties;\n const propKeys = [\n ...getOwnPropertyNames(props),\n ...getOwnPropertySymbols(props),\n ] as Array;\n for (const p of propKeys) {\n this.createProperty(p, props[p]);\n }\n }\n\n // Create properties from standard decorator metadata:\n const metadata = this[Symbol.metadata];\n if (metadata !== null) {\n const properties = litPropertyMetadata.get(metadata);\n if (properties !== undefined) {\n for (const [p, options] of properties) {\n this.elementProperties.set(p, options);\n }\n }\n }\n\n // Create the attribute-to-property map\n this.__attributeToPropertyMap = new Map();\n for (const [p, options] of this.elementProperties) {\n const attr = this.__attributeNameForProperty(p, options);\n if (attr !== undefined) {\n this.__attributeToPropertyMap.set(attr, p);\n }\n }\n\n this.elementStyles = this.finalizeStyles(this.styles);\n\n if (DEV_MODE) {\n if (this.hasOwnProperty('createProperty')) {\n issueWarning(\n 'no-override-create-property',\n 'Overriding ReactiveElement.createProperty() is deprecated. ' +\n 'The override will not be called with standard decorators'\n );\n }\n if (this.hasOwnProperty('getPropertyDescriptor')) {\n issueWarning(\n 'no-override-get-property-descriptor',\n 'Overriding ReactiveElement.getPropertyDescriptor() is deprecated. ' +\n 'The override will not be called with standard decorators'\n );\n }\n }\n }\n\n /**\n * Options used when calling `attachShadow`. Set this property to customize\n * the options for the shadowRoot; for example, to create a closed\n * shadowRoot: `{mode: 'closed'}`.\n *\n * Note, these options are used in `createRenderRoot`. If this method\n * is customized, options should be respected if possible.\n * @nocollapse\n * @category rendering\n */\n static shadowRootOptions: ShadowRootInit = {mode: 'open'};\n\n /**\n * Takes the styles the user supplied via the `static styles` property and\n * returns the array of styles to apply to the element.\n * Override this method to integrate into a style management system.\n *\n * Styles are deduplicated preserving the _last_ instance in the list. This\n * is a performance optimization to avoid duplicated styles that can occur\n * especially when composing via subclassing. The last item is kept to try\n * to preserve the cascade order with the assumption that it's most important\n * that last added styles override previous styles.\n *\n * @nocollapse\n * @category styles\n */\n protected static finalizeStyles(\n styles?: CSSResultGroup\n ): Array {\n const elementStyles = [];\n if (Array.isArray(styles)) {\n // Dedupe the flattened array in reverse order to preserve the last items.\n // Casting to Array works around TS error that\n // appears to come from trying to flatten a type CSSResultArray.\n const set = new Set((styles as Array).flat(Infinity).reverse());\n // Then preserve original order by adding the set items in reverse order.\n for (const s of set) {\n elementStyles.unshift(getCompatibleStyle(s as CSSResultOrNative));\n }\n } else if (styles !== undefined) {\n elementStyles.push(getCompatibleStyle(styles));\n }\n return elementStyles;\n }\n\n /**\n * Node or ShadowRoot into which element DOM should be rendered. Defaults\n * to an open shadowRoot.\n * @category rendering\n */\n readonly renderRoot!: HTMLElement | DocumentFragment;\n\n /**\n * Returns the property name for the given attribute `name`.\n * @nocollapse\n */\n private static __attributeNameForProperty(\n name: PropertyKey,\n options: PropertyDeclaration\n ) {\n const attribute = options.attribute;\n return attribute === false\n ? undefined\n : typeof attribute === 'string'\n ? attribute\n : typeof name === 'string'\n ? name.toLowerCase()\n : undefined;\n }\n\n // Initialize to an unresolved Promise so we can make sure the element has\n // connected before first update.\n private __updatePromise!: Promise;\n\n /**\n * True if there is a pending update as a result of calling `requestUpdate()`.\n * Should only be read.\n * @category updates\n */\n isUpdatePending = false;\n\n /**\n * Is set to `true` after the first update. The element code cannot assume\n * that `renderRoot` exists before the element `hasUpdated`.\n * @category updates\n */\n hasUpdated = false;\n\n /**\n * Map with keys for any properties that have changed since the last\n * update cycle with previous values.\n *\n * @internal\n */\n _$changedProperties!: PropertyValues;\n\n /**\n * Records property default values when the\n * `useDefault` option is used.\n */\n private __defaultValues?: Map;\n\n /**\n * Properties that should be reflected when updated.\n */\n private __reflectingProperties?: Set;\n\n /**\n * Name of currently reflecting property\n */\n private __reflectingProperty: PropertyKey | null = null;\n\n /**\n * Set of controllers.\n */\n private __controllers?: Set;\n\n constructor() {\n super();\n this.__initialize();\n }\n\n /**\n * Internal only override point for customizing work done when elements\n * are constructed.\n */\n private __initialize() {\n this.__updatePromise = new Promise(\n (res) => (this.enableUpdating = res)\n );\n this._$changedProperties = new Map();\n // This enqueues a microtask that must run before the first update, so it\n // must be called before requestUpdate()\n this.__saveInstanceProperties();\n // ensures first update will be caught by an early access of\n // `updateComplete`\n this.requestUpdate();\n (this.constructor as typeof ReactiveElement)._initializers?.forEach((i) =>\n i(this)\n );\n }\n\n /**\n * Registers a `ReactiveController` to participate in the element's reactive\n * update cycle. The element automatically calls into any registered\n * controllers during its lifecycle callbacks.\n *\n * If the element is connected when `addController()` is called, the\n * controller's `hostConnected()` callback will be immediately called.\n * @category controllers\n */\n addController(controller: ReactiveController) {\n (this.__controllers ??= new Set()).add(controller);\n // If a controller is added after the element has been connected,\n // call hostConnected. Note, re-using existence of `renderRoot` here\n // (which is set in connectedCallback) to avoid the need to track a\n // first connected state.\n if (this.renderRoot !== undefined && this.isConnected) {\n controller.hostConnected?.();\n }\n }\n\n /**\n * Removes a `ReactiveController` from the element.\n * @category controllers\n */\n removeController(controller: ReactiveController) {\n this.__controllers?.delete(controller);\n }\n\n /**\n * Fixes any properties set on the instance before upgrade time.\n * Otherwise these would shadow the accessor and break these properties.\n * The properties are stored in a Map which is played back after the\n * constructor runs.\n */\n private __saveInstanceProperties() {\n const instanceProperties = new Map();\n const elementProperties = (this.constructor as typeof ReactiveElement)\n .elementProperties;\n for (const p of elementProperties.keys() as IterableIterator) {\n if (this.hasOwnProperty(p)) {\n instanceProperties.set(p, this[p]);\n delete this[p];\n }\n }\n if (instanceProperties.size > 0) {\n this.__instanceProperties = instanceProperties;\n }\n }\n\n /**\n * Returns the node into which the element should render and by default\n * creates and returns an open shadowRoot. Implement to customize where the\n * element's DOM is rendered. For example, to render into the element's\n * childNodes, return `this`.\n *\n * @return Returns a node into which to render.\n * @category rendering\n */\n protected createRenderRoot(): HTMLElement | DocumentFragment {\n const renderRoot =\n this.shadowRoot ??\n this.attachShadow(\n (this.constructor as typeof ReactiveElement).shadowRootOptions\n );\n adoptStyles(\n renderRoot,\n (this.constructor as typeof ReactiveElement).elementStyles\n );\n return renderRoot;\n }\n\n /**\n * On first connection, creates the element's renderRoot, sets up\n * element styling, and enables updating.\n * @category lifecycle\n */\n connectedCallback() {\n // Create renderRoot before controllers `hostConnected`\n (this as Mutable).renderRoot ??=\n this.createRenderRoot();\n this.enableUpdating(true);\n this.__controllers?.forEach((c) => c.hostConnected?.());\n }\n\n /**\n * Note, this method should be considered final and not overridden. It is\n * overridden on the element instance with a function that triggers the first\n * update.\n * @category updates\n */\n protected enableUpdating(_requestedUpdate: boolean) {}\n\n /**\n * Allows for `super.disconnectedCallback()` in extensions while\n * reserving the possibility of making non-breaking feature additions\n * when disconnecting at some point in the future.\n * @category lifecycle\n */\n disconnectedCallback() {\n this.__controllers?.forEach((c) => c.hostDisconnected?.());\n }\n\n /**\n * Synchronizes property values when attributes change.\n *\n * Specifically, when an attribute is set, the corresponding property is set.\n * You should rarely need to implement this callback. If this method is\n * overridden, `super.attributeChangedCallback(name, _old, value)` must be\n * called.\n *\n * See [responding to attribute changes](https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_custom_elements#responding_to_attribute_changes)\n * on MDN for more information about the `attributeChangedCallback`.\n * @category attributes\n */\n attributeChangedCallback(\n name: string,\n _old: string | null,\n value: string | null\n ) {\n this._$attributeToProperty(name, value);\n }\n\n private __propertyToAttribute(name: PropertyKey, value: unknown) {\n const elemProperties: PropertyDeclarationMap = (\n this.constructor as typeof ReactiveElement\n ).elementProperties;\n const options = elemProperties.get(name)!;\n const attr = (\n this.constructor as typeof ReactiveElement\n ).__attributeNameForProperty(name, options);\n if (attr !== undefined && options.reflect === true) {\n const converter =\n (options.converter as ComplexAttributeConverter)?.toAttribute !==\n undefined\n ? (options.converter as ComplexAttributeConverter)\n : defaultConverter;\n const attrValue = converter.toAttribute!(value, options.type);\n if (\n DEV_MODE &&\n (this.constructor as typeof ReactiveElement).enabledWarnings!.includes(\n 'migration'\n ) &&\n attrValue === undefined\n ) {\n issueWarning(\n 'undefined-attribute-value',\n `The attribute value for the ${name as string} property is ` +\n `undefined on element ${this.localName}. The attribute will be ` +\n `removed, but in the previous version of \\`ReactiveElement\\`, ` +\n `the attribute would not have changed.`\n );\n }\n // Track if the property is being reflected to avoid\n // setting the property again via `attributeChangedCallback`. Note:\n // 1. this takes advantage of the fact that the callback is synchronous.\n // 2. will behave incorrectly if multiple attributes are in the reaction\n // stack at time of calling. However, since we process attributes\n // in `update` this should not be possible (or an extreme corner case\n // that we'd like to discover).\n // mark state reflecting\n this.__reflectingProperty = name;\n if (attrValue == null) {\n this.removeAttribute(attr);\n } else {\n this.setAttribute(attr, attrValue as string);\n }\n // mark state not reflecting\n this.__reflectingProperty = null;\n }\n }\n\n /** @internal */\n _$attributeToProperty(name: string, value: string | null) {\n const ctor = this.constructor as typeof ReactiveElement;\n // Note, hint this as an `AttributeMap` so closure clearly understands\n // the type; it has issues with tracking types through statics\n const propName = (ctor.__attributeToPropertyMap as AttributeMap).get(name);\n // Use tracking info to avoid reflecting a property value to an attribute\n // if it was just set because the attribute changed.\n if (propName !== undefined && this.__reflectingProperty !== propName) {\n const options = ctor.getPropertyOptions(propName);\n const converter =\n typeof options.converter === 'function'\n ? {fromAttribute: options.converter}\n : options.converter?.fromAttribute !== undefined\n ? options.converter\n : defaultConverter;\n // mark state reflecting\n this.__reflectingProperty = propName;\n const convertedValue = converter.fromAttribute!(value, options.type);\n this[propName as keyof this] =\n convertedValue ??\n this.__defaultValues?.get(propName) ??\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (convertedValue as any);\n // mark state not reflecting\n this.__reflectingProperty = null;\n }\n }\n\n /**\n * Requests an update which is processed asynchronously. This should be called\n * when an element should update based on some state not triggered by setting\n * a reactive property. In this case, pass no arguments. It should also be\n * called when manually implementing a property setter. In this case, pass the\n * property `name` and `oldValue` to ensure that any configured property\n * options are honored.\n *\n * @param name name of requesting property\n * @param oldValue old value of requesting property\n * @param options property options to use instead of the previously\n * configured options\n * @category updates\n */\n requestUpdate(\n name?: PropertyKey,\n oldValue?: unknown,\n options?: PropertyDeclaration\n ): void {\n // If we have a property key, perform property update steps.\n if (name !== undefined) {\n if (DEV_MODE && (name as unknown) instanceof Event) {\n issueWarning(\n ``,\n `The requestUpdate() method was called with an Event as the property name. This is probably a mistake caused by binding this.requestUpdate as an event listener. Instead bind a function that will call it with no arguments: () => this.requestUpdate()`\n );\n }\n const ctor = this.constructor as typeof ReactiveElement;\n const newValue = this[name as keyof this];\n options ??= ctor.getPropertyOptions(name);\n const changed =\n (options.hasChanged ?? notEqual)(newValue, oldValue) ||\n // When there is no change, check a corner case that can occur when\n // 1. there's a initial value which was not reflected\n // 2. the property is subsequently set to this value.\n // For example, `prop: {useDefault: true, reflect: true}`\n // and el.prop = 'foo'. This should be considered a change if the\n // attribute is not set because we will now reflect the property to the attribute.\n (options.useDefault &&\n options.reflect &&\n newValue === this.__defaultValues?.get(name) &&\n !this.hasAttribute(ctor.__attributeNameForProperty(name, options)!));\n if (changed) {\n this._$changeProperty(name, oldValue, options);\n } else {\n // Abort the request if the property should not be considered changed.\n return;\n }\n }\n if (this.isUpdatePending === false) {\n this.__updatePromise = this.__enqueueUpdate();\n }\n }\n\n /**\n * @internal\n */\n _$changeProperty(\n name: PropertyKey,\n oldValue: unknown,\n {useDefault, reflect, wrapped}: PropertyDeclaration,\n initializeValue?: unknown\n ) {\n // Record default value when useDefault is used. This allows us to\n // restore this value when the attribute is removed.\n if (useDefault && !(this.__defaultValues ??= new Map()).has(name)) {\n this.__defaultValues.set(\n name,\n initializeValue ?? oldValue ?? this[name as keyof this]\n );\n // if this is not wrapping an accessor, it must be an initial setting\n // and in this case we do not want to record the change or reflect.\n if (wrapped !== true || initializeValue !== undefined) {\n return;\n }\n }\n // TODO (justinfagnani): Create a benchmark of Map.has() + Map.set(\n // vs just Map.set()\n if (!this._$changedProperties.has(name)) {\n // On the initial change, the old value should be `undefined`, except\n // with `useDefault`\n if (!this.hasUpdated && !useDefault) {\n oldValue = undefined;\n }\n this._$changedProperties.set(name, oldValue);\n }\n // Add to reflecting properties set.\n // Note, it's important that every change has a chance to add the\n // property to `__reflectingProperties`. This ensures setting\n // attribute + property reflects correctly.\n if (reflect === true && this.__reflectingProperty !== name) {\n (this.__reflectingProperties ??= new Set()).add(name);\n }\n }\n\n /**\n * Sets up the element to asynchronously update.\n */\n private async __enqueueUpdate() {\n this.isUpdatePending = true;\n try {\n // Ensure any previous update has resolved before updating.\n // This `await` also ensures that property changes are batched.\n await this.__updatePromise;\n } catch (e) {\n // Refire any previous errors async so they do not disrupt the update\n // cycle. Errors are refired so developers have a chance to observe\n // them, and this can be done by implementing\n // `window.onunhandledrejection`.\n Promise.reject(e);\n }\n const result = this.scheduleUpdate();\n // If `scheduleUpdate` returns a Promise, we await it. This is done to\n // enable coordinating updates with a scheduler. Note, the result is\n // checked to avoid delaying an additional microtask unless we need to.\n if (result != null) {\n await result;\n }\n return !this.isUpdatePending;\n }\n\n /**\n * Schedules an element update. You can override this method to change the\n * timing of updates by returning a Promise. The update will await the\n * returned Promise, and you should resolve the Promise to allow the update\n * to proceed. If this method is overridden, `super.scheduleUpdate()`\n * must be called.\n *\n * For instance, to schedule updates to occur just before the next frame:\n *\n * ```ts\n * override protected async scheduleUpdate(): Promise {\n * await new Promise((resolve) => requestAnimationFrame(() => resolve()));\n * super.scheduleUpdate();\n * }\n * ```\n * @category updates\n */\n protected scheduleUpdate(): void | Promise {\n const result = this.performUpdate();\n if (\n DEV_MODE &&\n (this.constructor as typeof ReactiveElement).enabledWarnings!.includes(\n 'async-perform-update'\n ) &&\n typeof (result as unknown as Promise | undefined)?.then ===\n 'function'\n ) {\n issueWarning(\n 'async-perform-update',\n `Element ${this.localName} returned a Promise from performUpdate(). ` +\n `This behavior is deprecated and will be removed in a future ` +\n `version of ReactiveElement.`\n );\n }\n return result;\n }\n\n /**\n * Performs an element update. Note, if an exception is thrown during the\n * update, `firstUpdated` and `updated` will not be called.\n *\n * Call `performUpdate()` to immediately process a pending update. This should\n * generally not be needed, but it can be done in rare cases when you need to\n * update synchronously.\n *\n * @category updates\n */\n protected performUpdate(): void {\n // Abort any update if one is not pending when this is called.\n // This can happen if `performUpdate` is called early to \"flush\"\n // the update.\n if (!this.isUpdatePending) {\n return;\n }\n debugLogEvent?.({kind: 'update'});\n if (!this.hasUpdated) {\n // Create renderRoot before first update. This occurs in `connectedCallback`\n // but is done here to support out of tree calls to `enableUpdating`/`performUpdate`.\n (this as Mutable).renderRoot ??=\n this.createRenderRoot();\n if (DEV_MODE) {\n // Produce warning if any reactive properties on the prototype are\n // shadowed by class fields. Instance fields set before upgrade are\n // deleted by this point, so any own property is caused by class field\n // initialization in the constructor.\n const ctor = this.constructor as typeof ReactiveElement;\n const shadowedProperties = [...ctor.elementProperties.keys()].filter(\n (p) => this.hasOwnProperty(p) && p in getPrototypeOf(this)\n );\n if (shadowedProperties.length) {\n throw new Error(\n `The following properties on element ${this.localName} will not ` +\n `trigger updates as expected because they are set using class ` +\n `fields: ${shadowedProperties.join(', ')}. ` +\n `Native class fields and some compiled output will overwrite ` +\n `accessors used for detecting changes. See ` +\n `https://lit.dev/msg/class-field-shadowing ` +\n `for more information.`\n );\n }\n }\n // Mixin instance properties once, if they exist.\n if (this.__instanceProperties) {\n // TODO (justinfagnani): should we use the stored value? Could a new value\n // have been set since we stored the own property value?\n for (const [p, value] of this.__instanceProperties) {\n this[p as keyof this] = value as this[keyof this];\n }\n this.__instanceProperties = undefined;\n }\n // Trigger initial value reflection and populate the initial\n // `changedProperties` map, but only for the case of properties created\n // via `createProperty` on accessors, which will not have already\n // populated the `changedProperties` map since they are not set.\n // We can't know if these accessors had initializers, so we just set\n // them anyway - a difference from experimental decorators on fields and\n // standard decorators on auto-accessors.\n // For context see:\n // https://github.com/lit/lit/pull/4183#issuecomment-1711959635\n const elementProperties = (this.constructor as typeof ReactiveElement)\n .elementProperties;\n if (elementProperties.size > 0) {\n for (const [p, options] of elementProperties) {\n const {wrapped} = options;\n const value = this[p as keyof this];\n if (\n wrapped === true &&\n !this._$changedProperties.has(p) &&\n value !== undefined\n ) {\n this._$changeProperty(p, undefined, options, value);\n }\n }\n }\n }\n let shouldUpdate = false;\n const changedProperties = this._$changedProperties;\n try {\n shouldUpdate = this.shouldUpdate(changedProperties);\n if (shouldUpdate) {\n this.willUpdate(changedProperties);\n this.__controllers?.forEach((c) => c.hostUpdate?.());\n this.update(changedProperties);\n } else {\n this.__markUpdated();\n }\n } catch (e) {\n // Prevent `firstUpdated` and `updated` from running when there's an\n // update exception.\n shouldUpdate = false;\n // Ensure element can accept additional updates after an exception.\n this.__markUpdated();\n throw e;\n }\n // The update is no longer considered pending and further updates are now allowed.\n if (shouldUpdate) {\n this._$didUpdate(changedProperties);\n }\n }\n\n /**\n * Invoked before `update()` to compute values needed during the update.\n *\n * Implement `willUpdate` to compute property values that depend on other\n * properties and are used in the rest of the update process.\n *\n * ```ts\n * willUpdate(changedProperties) {\n * // only need to check changed properties for an expensive computation.\n * if (changedProperties.has('firstName') || changedProperties.has('lastName')) {\n * this.sha = computeSHA(`${this.firstName} ${this.lastName}`);\n * }\n * }\n *\n * render() {\n * return html`SHA: ${this.sha}`;\n * }\n * ```\n *\n * @category updates\n */\n protected willUpdate(_changedProperties: PropertyValues): void {}\n\n // Note, this is an override point for polyfill-support.\n // @internal\n _$didUpdate(changedProperties: PropertyValues) {\n this.__controllers?.forEach((c) => c.hostUpdated?.());\n if (!this.hasUpdated) {\n this.hasUpdated = true;\n this.firstUpdated(changedProperties);\n }\n this.updated(changedProperties);\n if (\n DEV_MODE &&\n this.isUpdatePending &&\n (this.constructor as typeof ReactiveElement).enabledWarnings!.includes(\n 'change-in-update'\n )\n ) {\n issueWarning(\n 'change-in-update',\n `Element ${this.localName} scheduled an update ` +\n `(generally because a property was set) ` +\n `after an update completed, causing a new update to be scheduled. ` +\n `This is inefficient and should be avoided unless the next update ` +\n `can only be scheduled as a side effect of the previous update.`\n );\n }\n }\n\n private __markUpdated() {\n this._$changedProperties = new Map();\n this.isUpdatePending = false;\n }\n\n /**\n * Returns a Promise that resolves when the element has completed updating.\n * The Promise value is a boolean that is `true` if the element completed the\n * update without triggering another update. The Promise result is `false` if\n * a property was set inside `updated()`. If the Promise is rejected, an\n * exception was thrown during the update.\n *\n * To await additional asynchronous work, override the `getUpdateComplete`\n * method. For example, it is sometimes useful to await a rendered element\n * before fulfilling this Promise. To do this, first await\n * `super.getUpdateComplete()`, then any subsequent state.\n *\n * @return A promise of a boolean that resolves to true if the update completed\n * without triggering another update.\n * @category updates\n */\n get updateComplete(): Promise {\n return this.getUpdateComplete();\n }\n\n /**\n * Override point for the `updateComplete` promise.\n *\n * It is not safe to override the `updateComplete` getter directly due to a\n * limitation in TypeScript which means it is not possible to call a\n * superclass getter (e.g. `super.updateComplete.then(...)`) when the target\n * language is ES5 (https://github.com/microsoft/TypeScript/issues/338).\n * This method should be overridden instead. For example:\n *\n * ```ts\n * class MyElement extends LitElement {\n * override async getUpdateComplete() {\n * const result = await super.getUpdateComplete();\n * await this._myChild.updateComplete;\n * return result;\n * }\n * }\n * ```\n *\n * @return A promise of a boolean that resolves to true if the update completed\n * without triggering another update.\n * @category updates\n */\n protected getUpdateComplete(): Promise {\n return this.__updatePromise;\n }\n\n /**\n * Controls whether or not `update()` should be called when the element requests\n * an update. By default, this method always returns `true`, but this can be\n * customized to control when to update.\n *\n * @param _changedProperties Map of changed properties with old values\n * @category updates\n */\n protected shouldUpdate(_changedProperties: PropertyValues): boolean {\n return true;\n }\n\n /**\n * Updates the element. This method reflects property values to attributes.\n * It can be overridden to render and keep updated element DOM.\n * Setting properties inside this method will *not* trigger\n * another update.\n *\n * @param _changedProperties Map of changed properties with old values\n * @category updates\n */\n protected update(_changedProperties: PropertyValues) {\n // The forEach() expression will only run when __reflectingProperties is\n // defined, and it returns undefined, setting __reflectingProperties to\n // undefined\n this.__reflectingProperties &&= this.__reflectingProperties.forEach((p) =>\n this.__propertyToAttribute(p, this[p as keyof this])\n ) as undefined;\n this.__markUpdated();\n }\n\n /**\n * Invoked whenever the element is updated. Implement to perform\n * post-updating tasks via DOM APIs, for example, focusing an element.\n *\n * Setting properties inside this method will trigger the element to update\n * again after this update cycle completes.\n *\n * @param _changedProperties Map of changed properties with old values\n * @category updates\n */\n protected updated(_changedProperties: PropertyValues) {}\n\n /**\n * Invoked when the element is first updated. Implement to perform one time\n * work on the element after update.\n *\n * ```ts\n * firstUpdated() {\n * this.renderRoot.getElementById('my-text-area').focus();\n * }\n * ```\n *\n * Setting properties inside this method will trigger the element to update\n * again after this update cycle completes.\n *\n * @param _changedProperties Map of changed properties with old values\n * @category updates\n */\n protected firstUpdated(_changedProperties: PropertyValues) {}\n}\n// Assigned here to work around a jscompiler bug with static fields\n// when compiling to ES5.\n// https://github.com/google/closure-compiler/issues/3177\n(ReactiveElement as unknown as Record)[\n JSCompiler_renameProperty('elementProperties', ReactiveElement)\n] = new Map();\n(ReactiveElement as unknown as Record)[\n JSCompiler_renameProperty('finalized', ReactiveElement)\n] = new Map();\n\n// Apply polyfills if available\npolyfillSupport?.({ReactiveElement});\n\n// Dev mode warnings...\nif (DEV_MODE) {\n // Default warning set.\n ReactiveElement.enabledWarnings = [\n 'change-in-update',\n 'async-perform-update',\n ];\n const ensureOwnWarnings = function (ctor: typeof ReactiveElement) {\n if (\n !ctor.hasOwnProperty(JSCompiler_renameProperty('enabledWarnings', ctor))\n ) {\n ctor.enabledWarnings = ctor.enabledWarnings!.slice();\n }\n };\n ReactiveElement.enableWarning = function (\n this: typeof ReactiveElement,\n warning: WarningKind\n ) {\n ensureOwnWarnings(this);\n if (!this.enabledWarnings!.includes(warning)) {\n this.enabledWarnings!.push(warning);\n }\n };\n ReactiveElement.disableWarning = function (\n this: typeof ReactiveElement,\n warning: WarningKind\n ) {\n ensureOwnWarnings(this);\n const i = this.enabledWarnings!.indexOf(warning);\n if (i >= 0) {\n this.enabledWarnings!.splice(i, 1);\n }\n };\n}\n\n// IMPORTANT: do not change the property name or the assignment expression.\n// This line will be used in regexes to search for ReactiveElement usage.\n(global.reactiveElementVersions ??= []).push('2.1.1');\nif (DEV_MODE && global.reactiveElementVersions.length > 1) {\n queueMicrotask(() => {\n issueWarning!(\n 'multiple-versions',\n `Multiple versions of Lit loaded. Loading multiple versions ` +\n `is not recommended.`\n );\n });\n}\n", "/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\n// IMPORTANT: these imports must be type-only\nimport type {Directive, DirectiveResult, PartInfo} from './directive.js';\nimport type {TrustedHTML, TrustedTypesWindow} from 'trusted-types/lib/index.js';\n\nconst DEV_MODE = true;\nconst ENABLE_EXTRA_SECURITY_HOOKS = true;\nconst ENABLE_SHADYDOM_NOPATCH = true;\nconst NODE_MODE = false;\n\n// Allows minifiers to rename references to globalThis\nconst global = globalThis;\n\n/**\n * Contains types that are part of the unstable debug API.\n *\n * Everything in this API is not stable and may change or be removed in the future,\n * even on patch releases.\n */\n// eslint-disable-next-line @typescript-eslint/no-namespace\nexport namespace LitUnstable {\n /**\n * When Lit is running in dev mode and `window.emitLitDebugLogEvents` is true,\n * we will emit 'lit-debug' events to window, with live details about the update and render\n * lifecycle. These can be useful for writing debug tooling and visualizations.\n *\n * Please be aware that running with window.emitLitDebugLogEvents has performance overhead,\n * making certain operations that are normally very cheap (like a no-op render) much slower,\n * because we must copy data and dispatch events.\n */\n // eslint-disable-next-line @typescript-eslint/no-namespace\n export namespace DebugLog {\n export type Entry =\n | TemplatePrep\n | TemplateInstantiated\n | TemplateInstantiatedAndUpdated\n | TemplateUpdating\n | BeginRender\n | EndRender\n | CommitPartEntry\n | SetPartValue;\n export interface TemplatePrep {\n kind: 'template prep';\n template: Template;\n strings: TemplateStringsArray;\n clonableTemplate: HTMLTemplateElement;\n parts: TemplatePart[];\n }\n export interface BeginRender {\n kind: 'begin render';\n id: number;\n value: unknown;\n container: HTMLElement | DocumentFragment;\n options: RenderOptions | undefined;\n part: ChildPart | undefined;\n }\n export interface EndRender {\n kind: 'end render';\n id: number;\n value: unknown;\n container: HTMLElement | DocumentFragment;\n options: RenderOptions | undefined;\n part: ChildPart;\n }\n export interface TemplateInstantiated {\n kind: 'template instantiated';\n template: Template | CompiledTemplate;\n instance: TemplateInstance;\n options: RenderOptions | undefined;\n fragment: Node;\n parts: Array;\n values: unknown[];\n }\n export interface TemplateInstantiatedAndUpdated {\n kind: 'template instantiated and updated';\n template: Template | CompiledTemplate;\n instance: TemplateInstance;\n options: RenderOptions | undefined;\n fragment: Node;\n parts: Array;\n values: unknown[];\n }\n export interface TemplateUpdating {\n kind: 'template updating';\n template: Template | CompiledTemplate;\n instance: TemplateInstance;\n options: RenderOptions | undefined;\n parts: Array;\n values: unknown[];\n }\n export interface SetPartValue {\n kind: 'set part';\n part: Part;\n value: unknown;\n valueIndex: number;\n values: unknown[];\n templateInstance: TemplateInstance;\n }\n\n export type CommitPartEntry =\n | CommitNothingToChildEntry\n | CommitText\n | CommitNode\n | CommitAttribute\n | CommitProperty\n | CommitBooleanAttribute\n | CommitEventListener\n | CommitToElementBinding;\n\n export interface CommitNothingToChildEntry {\n kind: 'commit nothing to child';\n start: ChildNode;\n end: ChildNode | null;\n parent: Disconnectable | undefined;\n options: RenderOptions | undefined;\n }\n\n export interface CommitText {\n kind: 'commit text';\n node: Text;\n value: unknown;\n options: RenderOptions | undefined;\n }\n\n export interface CommitNode {\n kind: 'commit node';\n start: Node;\n parent: Disconnectable | undefined;\n value: Node;\n options: RenderOptions | undefined;\n }\n\n export interface CommitAttribute {\n kind: 'commit attribute';\n element: Element;\n name: string;\n value: unknown;\n options: RenderOptions | undefined;\n }\n\n export interface CommitProperty {\n kind: 'commit property';\n element: Element;\n name: string;\n value: unknown;\n options: RenderOptions | undefined;\n }\n\n export interface CommitBooleanAttribute {\n kind: 'commit boolean attribute';\n element: Element;\n name: string;\n value: boolean;\n options: RenderOptions | undefined;\n }\n\n export interface CommitEventListener {\n kind: 'commit event listener';\n element: Element;\n name: string;\n value: unknown;\n oldListener: unknown;\n options: RenderOptions | undefined;\n // True if we're removing the old event listener (e.g. because settings changed, or value is nothing)\n removeListener: boolean;\n // True if we're adding a new event listener (e.g. because first render, or settings changed)\n addListener: boolean;\n }\n\n export interface CommitToElementBinding {\n kind: 'commit to element binding';\n element: Element;\n value: unknown;\n options: RenderOptions | undefined;\n }\n }\n}\n\ninterface DebugLoggingWindow {\n // Even in dev mode, we generally don't want to emit these events, as that's\n // another level of cost, so only emit them when DEV_MODE is true _and_ when\n // window.emitLitDebugEvents is true.\n emitLitDebugLogEvents?: boolean;\n}\n\n/**\n * Useful for visualizing and logging insights into what the Lit template system is doing.\n *\n * Compiled out of prod mode builds.\n */\nconst debugLogEvent = DEV_MODE\n ? (event: LitUnstable.DebugLog.Entry) => {\n const shouldEmit = (global as unknown as DebugLoggingWindow)\n .emitLitDebugLogEvents;\n if (!shouldEmit) {\n return;\n }\n global.dispatchEvent(\n new CustomEvent('lit-debug', {\n detail: event,\n })\n );\n }\n : undefined;\n// Used for connecting beginRender and endRender events when there are nested\n// renders when errors are thrown preventing an endRender event from being\n// called.\nlet debugLogRenderId = 0;\n\nlet issueWarning: (code: string, warning: string) => void;\n\nif (DEV_MODE) {\n global.litIssuedWarnings ??= new Set();\n\n /**\n * Issue a warning if we haven't already, based either on `code` or `warning`.\n * Warnings are disabled automatically only by `warning`; disabling via `code`\n * can be done by users.\n */\n issueWarning = (code: string, warning: string) => {\n warning += code\n ? ` See https://lit.dev/msg/${code} for more information.`\n : '';\n if (\n !global.litIssuedWarnings!.has(warning) &&\n !global.litIssuedWarnings!.has(code)\n ) {\n console.warn(warning);\n global.litIssuedWarnings!.add(warning);\n }\n };\n\n queueMicrotask(() => {\n issueWarning(\n 'dev-mode',\n `Lit is in dev mode. Not recommended for production!`\n );\n });\n}\n\nconst wrap =\n ENABLE_SHADYDOM_NOPATCH &&\n global.ShadyDOM?.inUse &&\n global.ShadyDOM?.noPatch === true\n ? (global.ShadyDOM!.wrap as (node: T) => T)\n : (node: T) => node;\n\nconst trustedTypes = (global as unknown as TrustedTypesWindow).trustedTypes;\n\n/**\n * Our TrustedTypePolicy for HTML which is declared using the html template\n * tag function.\n *\n * That HTML is a developer-authored constant, and is parsed with innerHTML\n * before any untrusted expressions have been mixed in. Therefor it is\n * considered safe by construction.\n */\nconst policy = trustedTypes\n ? trustedTypes.createPolicy('lit-html', {\n createHTML: (s) => s,\n })\n : undefined;\n\n/**\n * Used to sanitize any value before it is written into the DOM. This can be\n * used to implement a security policy of allowed and disallowed values in\n * order to prevent XSS attacks.\n *\n * One way of using this callback would be to check attributes and properties\n * against a list of high risk fields, and require that values written to such\n * fields be instances of a class which is safe by construction. Closure's Safe\n * HTML Types is one implementation of this technique (\n * https://github.com/google/safe-html-types/blob/master/doc/safehtml-types.md).\n * The TrustedTypes polyfill in API-only mode could also be used as a basis\n * for this technique (https://github.com/WICG/trusted-types).\n *\n * @param node The HTML node (usually either a #text node or an Element) that\n * is being written to. Note that this is just an exemplar node, the write\n * may take place against another instance of the same class of node.\n * @param name The name of an attribute or property (for example, 'href').\n * @param type Indicates whether the write that's about to be performed will\n * be to a property or a node.\n * @return A function that will sanitize this class of writes.\n */\nexport type SanitizerFactory = (\n node: Node,\n name: string,\n type: 'property' | 'attribute'\n) => ValueSanitizer;\n\n/**\n * A function which can sanitize values that will be written to a specific kind\n * of DOM sink.\n *\n * See SanitizerFactory.\n *\n * @param value The value to sanitize. Will be the actual value passed into\n * the lit-html template literal, so this could be of any type.\n * @return The value to write to the DOM. Usually the same as the input value,\n * unless sanitization is needed.\n */\nexport type ValueSanitizer = (value: unknown) => unknown;\n\nconst identityFunction: ValueSanitizer = (value: unknown) => value;\nconst noopSanitizer: SanitizerFactory = (\n _node: Node,\n _name: string,\n _type: 'property' | 'attribute'\n) => identityFunction;\n\n/** Sets the global sanitizer factory. */\nconst setSanitizer = (newSanitizer: SanitizerFactory) => {\n if (!ENABLE_EXTRA_SECURITY_HOOKS) {\n return;\n }\n if (sanitizerFactoryInternal !== noopSanitizer) {\n throw new Error(\n `Attempted to overwrite existing lit-html security policy.` +\n ` setSanitizeDOMValueFactory should be called at most once.`\n );\n }\n sanitizerFactoryInternal = newSanitizer;\n};\n\n/**\n * Only used in internal tests, not a part of the public API.\n */\nconst _testOnlyClearSanitizerFactoryDoNotCallOrElse = () => {\n sanitizerFactoryInternal = noopSanitizer;\n};\n\nconst createSanitizer: SanitizerFactory = (node, name, type) => {\n return sanitizerFactoryInternal(node, name, type);\n};\n\n// Added to an attribute name to mark the attribute as bound so we can find\n// it easily.\nconst boundAttributeSuffix = '$lit$';\n\n// This marker is used in many syntactic positions in HTML, so it must be\n// a valid element name and attribute name. We don't support dynamic names (yet)\n// but this at least ensures that the parse tree is closer to the template\n// intention.\nconst marker = `lit$${Math.random().toFixed(9).slice(2)}$`;\n\n// String used to tell if a comment is a marker comment\nconst markerMatch = '?' + marker;\n\n// Text used to insert a comment marker node. We use processing instruction\n// syntax because it's slightly smaller, but parses as a comment node.\nconst nodeMarker = `<${markerMatch}>`;\n\nconst d =\n NODE_MODE && global.document === undefined\n ? ({\n createTreeWalker() {\n return {};\n },\n } as unknown as Document)\n : document;\n\n// Creates a dynamic marker. We never have to search for these in the DOM.\nconst createMarker = () => d.createComment('');\n\n// https://tc39.github.io/ecma262/#sec-typeof-operator\ntype Primitive = null | undefined | boolean | number | string | symbol | bigint;\nconst isPrimitive = (value: unknown): value is Primitive =>\n value === null || (typeof value != 'object' && typeof value != 'function');\nconst isArray = Array.isArray;\nconst isIterable = (value: unknown): value is Iterable =>\n isArray(value) ||\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n typeof (value as any)?.[Symbol.iterator] === 'function';\n\nconst SPACE_CHAR = `[ \\t\\n\\f\\r]`;\nconst ATTR_VALUE_CHAR = `[^ \\t\\n\\f\\r\"'\\`<>=]`;\nconst NAME_CHAR = `[^\\\\s\"'>=/]`;\n\n// These regexes represent the five parsing states that we care about in the\n// Template's HTML scanner. They match the *end* of the state they're named\n// after.\n// Depending on the match, we transition to a new state. If there's no match,\n// we stay in the same state.\n// Note that the regexes are stateful. We utilize lastIndex and sync it\n// across the multiple regexes used. In addition to the five regexes below\n// we also dynamically create a regex to find the matching end tags for raw\n// text elements.\n\n/**\n * End of text is: `<` followed by:\n * (comment start) or (tag) or (dynamic tag binding)\n */\nconst textEndRegex = /<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g;\nconst COMMENT_START = 1;\nconst TAG_NAME = 2;\nconst DYNAMIC_TAG_NAME = 3;\n\nconst commentEndRegex = /-->/g;\n/**\n * Comments not started with client message that moves outputs\n * from one state to another. If a node name is all caps, then the output should\n * be showing a busy state when visible (i.e., `binding.showProgress(true)`).\n *\n * A more polished SVG version of this diagram can be found here:\n * https://github.com/rstudio/shiny/blob/main/inst/diagrams/outputProgressStateMachine.svg\n *\n * +---------+ recalculating +---------+\n * | INITIAL +--------------->| RUNNING |<----------------+\n * +---------+ +---+-----+ |\n * +-----------/ | |\n * | recalculated |\n * | | |\n * | +--v---+---------------+ |\n * | +--+ IDLE +--+-------+ | |\n * | | +------+ | | | |\n * 1 | 2| 3| 4| | |\n * v v v v | |\n * +------------+ +------+ +-----+ +-----+ | |\n * | PERSISTENT | |cancel| |value| |error| | |\n * +-------+----+ +---+--+ +-+---+ +-+---+ | |\n * | 5| 5| | | |\n * 5| v v 5| | |\n * | +-------------+ | | |\n * +------>| INVALIDATED |<-----+ | |\n * +-----+-------+<-----------+ |\n * | |\n * | recalculating |\n * +-----------------------+\n *\n * 1. {progress: {type: \"binding\", message: {persistent: true}}}\n * 2. No message\n * 3. Value\n * 4. Error\n * 5. {progress: {type: \"binding\"}}\n */\n\n// The possible states of a given output.\nenum OutputStates {\n Initial = \"initial\",\n Running = \"running\",\n Idle = \"idle\",\n Value = \"value\",\n Error = \"error\",\n Cancel = \"cancel\",\n Persistent = \"persistent\",\n Invalidated = \"invalidated\",\n}\n\n// Server->client messages that have an impact on output progress state.\n// These derive from the Session's defineOutput() method.\ntype RecalculatingMessage = {\n recalculating: {\n name: string;\n status: \"recalculated\" | \"recalculating\";\n };\n};\n\ntype FlushMessage = {\n errors: { [key: string]: unknown };\n values: { [key: string]: unknown };\n inputMessages: [];\n};\n\ntype ProgressMessage = {\n progress: {\n type: \"binding\";\n message: {\n id: string;\n persistent: boolean;\n };\n };\n};\n\n// A generic server->client message type.\ntype Message = { [key: string]: unknown };\n\n// The state machine that tracks the progress of outputs in a Shiny app.\nclass OutputProgressReporter {\n private outputStates: Map = new Map();\n // A map of outputs that have changed their progress status since the last call to takeChanges().\n // The value is true if the output is recalculating, and false otherwise.\n private changedOutputs: Map = new Map();\n\n takeChanges(): Map {\n const result = this.changedOutputs;\n this.changedOutputs = new Map();\n return result;\n }\n\n // Returns whether the output is recalculating or not.\n isRecalculating(name: string): boolean {\n const state = this.#getState(name);\n\n // The blue nodes in the state machine diagram\n const recalculatingStates = [\n OutputStates.Initial,\n OutputStates.Running,\n OutputStates.Idle,\n OutputStates.Persistent,\n OutputStates.Invalidated,\n ];\n\n return recalculatingStates.includes(state);\n }\n\n // Update output state based on the message received from the server.\n // Note that any message can be passed to this method, but only the\n // messages that are relevant to output progress do anything to the state.\n updateStateFromMessage(message: Message): void {\n if (isRecalculatingMessage(message)) {\n // The \"1st level\" of the state machine diagram\n this.#updateStateFromRecalculating(message);\n }\n\n if (isFlushMessage(message)) {\n // The \"2nd level\" of the state machine diagram\n this.#updateStateFromFlush(message);\n }\n\n if (isProgressMessage(message)) {\n // The \"3rd level\" of the state machine diagram\n this.#updateStateFromProgress(message);\n }\n }\n\n #updateStateFromRecalculating(message: RecalculatingMessage): void {\n const { name, status } = message.recalculating;\n\n const state = this.#getState(name);\n\n if (status === \"recalculating\") {\n switch (state) {\n case OutputStates.Initial:\n case OutputStates.Invalidated:\n this.#setState(name, OutputStates.Running);\n break;\n default:\n throw new Error(\n `Shiny server sent a message that the output '${name}' is recalculating,\n but the output is in an unexpected state of: '${state}'.`,\n );\n }\n }\n\n if (status === \"recalculated\") {\n switch (state) {\n case OutputStates.Running:\n this.#setState(name, OutputStates.Idle);\n break;\n default:\n throw new Error(\n `Shiny server sent a message that the output '${name}' has been recalculated,\n but the output is in an unexpected state of: '${state}'.`,\n );\n }\n }\n }\n\n #updateStateFromFlush(message: FlushMessage): void {\n for (const name in message.values) {\n this.#updateStateFromValueOrError(name, OutputStates.Value);\n }\n\n for (const name in message.errors) {\n this.#updateStateFromValueOrError(name, OutputStates.Error);\n }\n\n // Since req(F, cancelOutput = TRUE) doesn't send a message, we need to identify\n // the situation by looking for outputs that are still idle and move them to cancel.\n for (const [name, state] of this.outputStates) {\n switch (state) {\n case OutputStates.Idle:\n this.#setState(name, OutputStates.Cancel);\n break;\n case OutputStates.Value:\n case OutputStates.Error:\n case OutputStates.Cancel:\n case OutputStates.Persistent:\n case OutputStates.Invalidated: // If the output is suspended\n break;\n default:\n throw new Error(\n `Shiny server sent a flush message, and after processing the values and errors,\n the output '${name}' has an unexpected ending state of: '${state}'.`,\n );\n }\n }\n }\n\n #updateStateFromProgress(message: ProgressMessage): void {\n const { id, persistent } = message.progress.message;\n const state = this.#getState(id);\n if (persistent) {\n switch (state) {\n case OutputStates.Running:\n this.#setState(id, OutputStates.Persistent);\n break;\n default:\n throw new Error(\n `Shiny server has sent a 'persistent progress' message for ${id},\n but the output is in an unexpected state of: ${state}`,\n );\n }\n } else {\n switch (state) {\n case OutputStates.Value:\n case OutputStates.Error:\n case OutputStates.Cancel:\n case OutputStates.Persistent:\n case OutputStates.Idle:\n this.#setState(id, OutputStates.Invalidated);\n break;\n default:\n throw new Error(\n `Shiny server has sent a progress message for ${id},\n but the output is in an unexpected state of: ${state}`,\n );\n }\n }\n }\n\n // When receiving values/errors as part of a flush message, outputs should generally\n // be moving from Idle to Value/Error state.\n #updateStateFromValueOrError(\n name: string,\n type: OutputStates.Error | OutputStates.Value,\n ): void {\n const state = this.#getState(name);\n switch (state) {\n case OutputStates.Idle:\n this.#setState(name, type);\n break;\n default:\n throw new Error(\n `Shiny server has sent a ${type} for the output '${name}',\n but the output is in an unexpected state of: '${state}'.`,\n );\n }\n }\n\n #getState(name: string): OutputStates {\n return this.outputStates.get(name) ?? OutputStates.Initial;\n }\n\n #setState(name: string, state: OutputStates): void {\n const oldRecalc = this.isRecalculating(name);\n this.outputStates.set(name, state);\n const newRecalc = this.isRecalculating(name);\n if (oldRecalc !== newRecalc) {\n this.changedOutputs.set(name, newRecalc);\n }\n }\n}\n\n// Type guards\nfunction isRecalculatingMessage(x: Message): x is RecalculatingMessage {\n const m = x as RecalculatingMessage;\n return m.recalculating !== undefined;\n}\n\nfunction isFlushMessage(x: Message): x is FlushMessage {\n const m = x as FlushMessage;\n return m.values !== undefined && m.errors !== undefined;\n}\n\nfunction isProgressMessage(x: Message): x is ProgressMessage {\n const m = x as ProgressMessage;\n return m.progress !== undefined && m.progress.type === \"binding\";\n}\n\nexport { OutputProgressReporter };\n", "import type { UserAgent } from \"../utils/userAgent\";\n\nfunction windowUserAgent(): UserAgent {\n return window.navigator.userAgent;\n}\n\nexport { windowUserAgent };\n", "import $ from \"jquery\";\nimport { shinyShinyApp } from \"./initedMethods\";\nimport { showNotification } from \"./notifications\";\nimport type { ShinyApp } from \"./shinyapp\";\n\n// We can use this method as `shinyShinyApp()` will throw if not initialized\nfunction shinyAppConfig() {\n return shinyShinyApp().config as NonNullable;\n}\n\nfunction initReactlog(): void {\n $(document).on(\"keydown\", function (e) {\n if (e.which !== 114 || (!e.ctrlKey && !e.metaKey) || e.shiftKey || e.altKey)\n return;\n const url =\n \"reactlog?w=\" +\n window.escape(shinyAppConfig().workerId) +\n \"&s=\" +\n window.escape(shinyAppConfig().sessionId);\n\n window.open(url);\n e.preventDefault();\n });\n\n $(document).on(\"keydown\", function (e) {\n if (\n // if not one of the key combos below\n !(\n // cmd/ctrl + fn + f4\n (\n (e.which === 115 &&\n (e.ctrlKey || e.metaKey) &&\n !e.shiftKey &&\n !e.altKey) ||\n // cmd/ctrl + shift + fn + f3\n (e.which === 114 &&\n (e.ctrlKey || e.metaKey) &&\n e.shiftKey &&\n !e.altKey)\n )\n )\n ) {\n return;\n }\n\n const url =\n \"reactlog/mark?w=\" +\n window.escape(shinyAppConfig().workerId) +\n \"&s=\" +\n window.escape(shinyAppConfig().sessionId);\n\n // send notification\n\n $.get(url, function (result: \"marked\" | void) {\n if (result !== \"marked\") return;\n\n const html =\n 'Marked time point in reactlog';\n\n /* eslint-disable-next-line @typescript-eslint/no-floating-promises */\n showNotification({\n html: html,\n closeButton: true,\n });\n }).fail(function () {\n // found returned error while marking, should open webpage\n window.open(url);\n });\n\n e.preventDefault();\n });\n}\n\nexport { initReactlog };\n", "import { determineBrowserInfo } from \"./browser\";\nimport { disableFormSubmission } from \"./disableForm\";\nimport { trackHistory } from \"./history\";\n\nimport { ShinyClass } from \"../shiny\";\nimport { setUserAgent } from \"../utils/userAgent\";\nimport { windowUserAgent } from \"../window/userAgent\";\n\nimport { initReactlog } from \"../shiny/reactlog\";\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nlet Shiny: ShinyClass;\n\nfunction init(): void {\n if (window.Shiny) {\n throw new Error(\"Trying to create window.Shiny, but it already exists!\");\n }\n Shiny = window.Shiny = new ShinyClass();\n setUserAgent(windowUserAgent()); // before determineBrowserInfo()\n\n determineBrowserInfo();\n trackHistory();\n\n disableFormSubmission();\n\n initReactlog();\n}\n\nexport { init, Shiny, type ShinyClass };\n", "import { init } from \"./initialize\";\nexport { Shiny, type ShinyClass } from \"./initialize\";\n\ninit();\n"], - "mappings": "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", + "sourcesContent": ["module.exports = window.jQuery", "import $ from \"jquery\";\n\nimport { isIE, setIEVersion, setIsIE, setIsQt } from \"../utils/browser\";\nimport { userAgent } from \"../utils/userAgent\";\n\nfunction getIEVersion() {\n const msie = userAgent.indexOf(\"MSIE \");\n\n if (isIE() && msie > 0) {\n // IE 10 or older => return version number\n return parseInt(\n userAgent.substring(msie + 5, userAgent.indexOf(\".\", msie)),\n 10,\n );\n }\n const trident = userAgent.indexOf(\"Trident/\");\n\n if (trident > 0) {\n // IE 11 => return version number\n const rv = userAgent.indexOf(\"rv:\");\n\n return parseInt(\n userAgent.substring(rv + 3, userAgent.indexOf(\".\", rv)),\n 10,\n );\n }\n return -1;\n}\n\nfunction determineBrowserInfo(): void {\n // For easy handling of Qt quirks using CSS\n\n if (/\\bQt\\//.test(userAgent)) {\n $(document.documentElement).addClass(\"qt\");\n setIsQt(true);\n } else {\n setIsQt(false);\n }\n\n // For Qt on Mac. Note that the target string as of RStudio 1.4.173\n // is \"QtWebEngine\" and does not have a trailing slash.\n if (/\\bQt/.test(userAgent) && /\\bMacintosh/.test(userAgent)) {\n $(document.documentElement).addClass(\"qtmac\");\n }\n\n // Enable special treatment for Qt 5 quirks on Linux\n if (/\\bQt\\/5/.test(userAgent) && /Linux/.test(userAgent)) {\n $(document.documentElement).addClass(\"qt5\");\n }\n\n // Detect IE and older (pre-Chromium) Edge\n setIsIE(/MSIE|Trident|Edge/.test(userAgent));\n\n setIEVersion(getIEVersion());\n}\n\nexport { determineBrowserInfo };\n", "let isQtVal = false;\nlet isIEVal = false;\nlet versionIE = -1;\n\nfunction setIsQt(isQt: boolean): void {\n isQtVal = isQt;\n}\nfunction setIsIE(isIE: boolean): void {\n isIEVal = isIE;\n}\nfunction setIEVersion(versionIE_: number): void {\n versionIE = versionIE_;\n}\n\nfunction isQt(): boolean {\n return isQtVal;\n}\nfunction isIE(): boolean {\n return isIEVal;\n}\n\n// (Name existed before TS conversion)\n// eslint-disable-next-line @typescript-eslint/naming-convention\nfunction IEVersion(): number {\n return versionIE;\n}\n\nexport { IEVersion, isIE, isQt, setIEVersion, setIsIE, setIsQt };\n", "type UserAgent = typeof window.navigator.userAgent;\n\nlet userAgent: UserAgent;\n\nfunction setUserAgent(userAgent_: UserAgent): void {\n userAgent = userAgent_;\n}\n\nexport { setUserAgent, userAgent };\nexport type { UserAgent };\n", "import $ from \"jquery\";\n\nfunction disableFormSubmission(): void {\n // disable form submissions\n $(document).on(\"submit\", \"form:not([action])\", function (e) {\n e.preventDefault();\n });\n}\n\nexport { disableFormSubmission };\n", "import $ from \"jquery\";\n\nfunction trackHistory(): void {\n const origPushState = window.history.pushState;\n\n window.history.pushState = function (...args) {\n const result = origPushState.apply(this, args);\n\n $(document).trigger(\"pushstate\");\n return result;\n };\n}\n\nexport { trackHistory };\n", "import $ from \"jquery\";\n\nimport { InputBinding, OutputBinding } from \"../bindings\";\nimport { initInputBindings } from \"../bindings/input\";\nimport { initOutputBindings } from \"../bindings/output\";\nimport type { BindingRegistry } from \"../bindings/registry\";\nimport { showErrorInClientConsole } from \"../components/errorConsole\";\nimport { resetBrush } from \"../imageutils/resetBrush\";\nimport type { InputPolicy } from \"../inputPolicies\";\nimport {\n InputBatchSender,\n InputDeferDecorator,\n InputEventDecorator,\n InputNoResendDecorator,\n InputRateDecorator,\n InputValidateDecorator,\n} from \"../inputPolicies\";\nimport type { InputPolicyOpts } from \"../inputPolicies/inputPolicy\";\nimport { addDefaultInputOpts } from \"../inputPolicies/inputValidateDecorator\";\nimport { debounce, Debouncer } from \"../time\";\nimport {\n $escape,\n compareVersion,\n getBoundingClientSizeBeforeZoom,\n getComputedLinkColor,\n getStyle,\n hasDefinedProperty,\n isShinyInDevMode,\n mapValues,\n pixelRatio,\n} from \"../utils\";\nimport { createInitStatus, type InitStatusPromise } from \"../utils/promise\";\nimport type { BindInputsCtx, BindScope } from \"./bind\";\nimport { _bindAll, bindAll, unbindAll } from \"./bind\";\nimport type {\n shinyBindAll,\n shinyForgetLastInputValue,\n shinyInitializeInputs,\n shinySetInputValue,\n shinyUnbindAll,\n} from \"./initedMethods\";\nimport { setFileInputBinding, setShinyObj } from \"./initedMethods\";\nimport { removeModal, showModal } from \"./modal\";\nimport { removeNotification, showNotification } from \"./notifications\";\nimport { hideReconnectDialog, showReconnectDialog } from \"./reconnectDialog\";\nimport {\n registerDependency,\n renderContent,\n renderContentAsync,\n renderDependencies,\n renderDependenciesAsync,\n renderHtml,\n renderHtmlAsync,\n} from \"./render\";\nimport { sendImageSizeFns } from \"./sendImageSize\";\nimport { addCustomMessageHandler, ShinyApp, type Handler } from \"./shinyapp\";\nimport { registerNames as singletonsRegisterNames } from \"./singletons\";\n\nclass ShinyClass {\n version: string;\n $escape: typeof $escape;\n compareVersion: typeof compareVersion;\n inputBindings: BindingRegistry;\n // eslint-disable-next-line @typescript-eslint/naming-convention\n InputBinding: typeof InputBinding;\n outputBindings: BindingRegistry;\n // eslint-disable-next-line @typescript-eslint/naming-convention\n OutputBinding: typeof OutputBinding;\n resetBrush: typeof resetBrush;\n notifications: {\n show: typeof showNotification;\n remove: typeof removeNotification;\n };\n modal: { show: typeof showModal; remove: typeof removeModal };\n showReconnectDialog: typeof showReconnectDialog;\n hideReconnectDialog: typeof hideReconnectDialog;\n renderDependenciesAsync: typeof renderDependenciesAsync;\n renderDependencies: typeof renderDependencies;\n renderContentAsync: typeof renderContentAsync;\n renderContent: typeof renderContent;\n renderHtmlAsync: typeof renderHtmlAsync;\n renderHtml: typeof renderHtml;\n addCustomMessageHandler: typeof addCustomMessageHandler;\n\n // The following are added in the initialization, by initShiny()\n createSocket?: () => WebSocket;\n user?: string;\n progressHandlers?: ShinyApp[\"progressHandlers\"];\n shinyapp?: ShinyApp;\n setInputValue?: typeof shinySetInputValue;\n onInputChange?: typeof shinySetInputValue;\n forgetLastInputValue?: typeof shinyForgetLastInputValue;\n bindAll?: typeof shinyBindAll;\n unbindAll?: typeof shinyUnbindAll;\n initializeInputs?: typeof shinyInitializeInputs;\n\n // Promise-like object that is resolved after initialization.\n initializedPromise: InitStatusPromise;\n\n // Eventually deprecate\n // For old-style custom messages - should deprecate and migrate to new\n oncustommessage?: Handler;\n\n constructor() {\n // `process.env.SHINY_VERSION` is overwritten to the Shiny version at build time.\n // During testing, the `Shiny.version` will be `\"development\"`\n this.version = process.env.SHINY_VERSION || \"development\";\n\n const { inputBindings, fileInputBinding } = initInputBindings();\n const { outputBindings } = initOutputBindings();\n\n setFileInputBinding(fileInputBinding);\n\n this.$escape = $escape;\n this.compareVersion = compareVersion;\n this.inputBindings = inputBindings;\n this.InputBinding = InputBinding;\n this.outputBindings = outputBindings;\n this.OutputBinding = OutputBinding;\n this.resetBrush = resetBrush;\n this.notifications = {\n show: showNotification,\n remove: removeNotification,\n };\n this.modal = { show: showModal, remove: removeModal };\n\n this.addCustomMessageHandler = addCustomMessageHandler;\n this.showReconnectDialog = showReconnectDialog;\n this.hideReconnectDialog = hideReconnectDialog;\n this.renderDependenciesAsync = renderDependenciesAsync;\n this.renderDependencies = renderDependencies;\n this.renderContentAsync = renderContentAsync;\n this.renderContent = renderContent;\n this.renderHtmlAsync = renderHtmlAsync;\n this.renderHtml = renderHtml;\n\n this.initializedPromise = createInitStatus();\n\n $(() => {\n // Init Shiny a little later than document ready, so user code can\n // run first (i.e. to register bindings)\n setTimeout(async () => {\n try {\n await this.initialize();\n } catch (e) {\n showErrorInClientConsole(e);\n throw e;\n }\n }, 1);\n });\n }\n\n /**\n * Method to check if Shiny is running in development mode. By packaging as a\n * method, we can we can avoid needing to look for the `__SHINY_DEV_MODE__`\n * variable in the global scope.\n * @returns `true` if Shiny is running in development mode, `false` otherwise.\n */\n inDevMode(): boolean {\n return isShinyInDevMode();\n }\n\n async initialize(): Promise {\n setShinyObj(this);\n this.shinyapp = new ShinyApp();\n const shinyapp = this.shinyapp;\n\n this.progressHandlers = shinyapp.progressHandlers;\n\n const inputBatchSender = new InputBatchSender(shinyapp);\n const inputsNoResend = new InputNoResendDecorator(inputBatchSender);\n const inputsEvent = new InputEventDecorator(inputsNoResend);\n const inputsRate = new InputRateDecorator(inputsEvent);\n const inputsDefer = new InputDeferDecorator(inputsEvent);\n\n let target: InputPolicy;\n\n if (document.querySelector(\".shiny-submit-button\")) {\n // If there is a submit button on the page, use defer decorator\n target = inputsDefer;\n\n document.querySelectorAll(\".shiny-submit-button\").forEach(function (x) {\n x.addEventListener(\"click\", function (event) {\n event.preventDefault();\n inputsDefer.submit();\n });\n });\n } else {\n // By default, use rate decorator\n target = inputsRate;\n }\n\n const inputs = new InputValidateDecorator(target);\n\n this.setInputValue = this.onInputChange = function (\n name: string,\n value: unknown,\n opts: Partial = {},\n ): void {\n const newOpts = addDefaultInputOpts(opts);\n\n inputs.setInput(name, value, newOpts);\n };\n\n // By default, Shiny deduplicates input value changes; that is, if\n // `setInputValue` is called with the same value as the input already\n // has, the call is ignored (unless opts.priority = \"event\"). Calling\n // `forgetLastInputValue` tells Shiny that the very next call to\n // `setInputValue` for this input id shouldn't be ignored, even if it\n // is a dupe of the existing value.\n this.forgetLastInputValue = function (name) {\n inputsNoResend.forget(name);\n };\n\n // MUST be called after `setShiny()`\n const inputBindings = this.inputBindings;\n const outputBindings = this.outputBindings;\n\n const shinyBindCtx = (): BindInputsCtx => {\n return {\n inputs,\n inputsRate,\n sendOutputHiddenState,\n maybeAddThemeObserver,\n inputBindings,\n outputBindings,\n initDeferredIframes,\n outputIsRecalculating: (id: string) =>\n this.shinyapp?.$outputProgress.isRecalculating(id) ?? false,\n };\n };\n\n this.bindAll = async function (scope: BindScope) {\n await bindAll(shinyBindCtx(), scope);\n };\n this.unbindAll = function (scope: BindScope, includeSelf = false) {\n unbindAll(shinyBindCtx(), scope, includeSelf);\n };\n\n // Calls .initialize() for all of the input objects in all input bindings,\n // in the given scope.\n function initializeInputs(scope: BindScope = document.documentElement) {\n const bindings = inputBindings.getBindings();\n\n // Iterate over all bindings\n for (let i = 0; i < bindings.length; i++) {\n const binding = bindings[i].binding;\n const inputObjects = binding.find(scope);\n\n if (inputObjects) {\n // Iterate over all input objects for this binding\n for (let j = 0; j < inputObjects.length; j++) {\n const $inputObjectJ = $(inputObjects[j]);\n\n if (!$inputObjectJ.data(\"_shiny_initialized\")) {\n $inputObjectJ.data(\"_shiny_initialized\", true);\n binding.initialize(inputObjects[j]);\n }\n }\n }\n }\n }\n this.initializeInputs = initializeInputs;\n\n function getIdFromEl(el: HTMLElement) {\n const $el = $(el);\n const bindingAdapter = $el.data(\"shiny-output-binding\");\n\n if (!bindingAdapter) return null;\n else return bindingAdapter.getId();\n }\n\n // Initialize all input objects in the document, before binding\n initializeInputs(document.documentElement);\n\n // The input values returned by _bindAll() each have a structure like this:\n // { value: 123, opts: { ... } }\n // We want to only keep the value. This is because when the initialValues is\n // passed to ShinyApp.connect(), the ShinyApp object stores the\n // initialValues object for the duration of the session, and the opts may\n // have a reference to the DOM element, which would prevent it from being\n // GC'd.\n const initialValues = mapValues(\n await _bindAll(shinyBindCtx(), document.documentElement),\n (x) => x.value,\n );\n\n // The server needs to know the size of each image and plot output element,\n // in case it is auto-sizing\n $(\".shiny-image-output, .shiny-plot-output, .shiny-report-size\").each(\n function () {\n const id = getIdFromEl(this),\n rect = getBoundingClientSizeBeforeZoom(this);\n\n if (rect.width !== 0 || rect.height !== 0) {\n initialValues[\".clientdata_output_\" + id + \"_width\"] = rect.width;\n initialValues[\".clientdata_output_\" + id + \"_height\"] = rect.height;\n }\n },\n );\n\n function getComputedBgColor(\n el: HTMLElement | null,\n ): string | null | undefined {\n if (!el) {\n // Top of document, can't recurse further\n return null;\n }\n\n const bgColor = getStyle(el, \"background-color\");\n\n if (!bgColor) return bgColor;\n const m = bgColor.match(\n /^rgba\\(\\s*([\\d.]+)\\s*,\\s*([\\d.]+)\\s*,\\s*([\\d.]+)\\s*,\\s*([\\d.]+)\\s*\\)$/,\n );\n\n if (bgColor === \"transparent\" || (m && parseFloat(m[4]) === 0)) {\n // No background color on this element. See if it has a background image.\n const bgImage = getStyle(el, \"background-image\");\n\n if (bgImage && bgImage !== \"none\") {\n // Failed to detect background color, since it has a background image\n return null;\n } else {\n // Recurse\n return getComputedBgColor(el.parentElement);\n }\n }\n return bgColor;\n }\n\n function getComputedFont(el: HTMLElement) {\n const fontFamily = getStyle(el, \"font-family\");\n const fontSize = getStyle(el, \"font-size\");\n\n return {\n families: fontFamily?.replace(/\"/g, \"\").split(\", \"),\n size: fontSize,\n };\n }\n\n $(\".shiny-image-output, .shiny-plot-output, .shiny-report-theme\").each(\n function () {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const el = this;\n const id = getIdFromEl(el);\n\n initialValues[\".clientdata_output_\" + id + \"_bg\"] =\n getComputedBgColor(el);\n initialValues[\".clientdata_output_\" + id + \"_fg\"] = getStyle(\n el,\n \"color\",\n );\n initialValues[\".clientdata_output_\" + id + \"_accent\"] =\n getComputedLinkColor(el);\n initialValues[\".clientdata_output_\" + id + \"_font\"] =\n getComputedFont(el);\n maybeAddThemeObserver(el);\n },\n );\n\n // Resend computed styles if *an output element's* class or style attribute changes.\n // This gives us some level of confidence that getCurrentOutputInfo() will be\n // properly invalidated if output container is mutated; but unfortunately,\n // we don't have a reasonable way to detect change in *inherited* styles\n // (other than session$setCurrentTheme())\n // https://github.com/rstudio/shiny/issues/3196\n // https://github.com/rstudio/shiny/issues/2998\n function maybeAddThemeObserver(el: HTMLElement): void {\n if (!window.MutationObserver) {\n return; // IE10 and lower\n }\n\n const cl = el.classList;\n const reportTheme =\n cl.contains(\"shiny-image-output\") ||\n cl.contains(\"shiny-plot-output\") ||\n cl.contains(\"shiny-report-theme\");\n\n if (!reportTheme) {\n return;\n }\n\n const $el = $(el);\n\n if ($el.data(\"shiny-theme-observer\")) {\n return; // i.e., observer is already observing\n }\n\n const observerCallback = new Debouncer(null, () => doSendTheme(el), 100);\n const observer = new MutationObserver(() =>\n observerCallback.normalCall(),\n );\n const config = { attributes: true, attributeFilter: [\"style\", \"class\"] };\n\n observer.observe(el, config);\n $el.data(\"shiny-theme-observer\", observer);\n }\n\n function doSendTheme(el: HTMLElement): void {\n // Sending theme info on error isn't necessary (it'd add an unnecessary additional round-trip)\n if (el.classList.contains(\"shiny-output-error\")) {\n return;\n }\n const id = getIdFromEl(el);\n\n inputs.setInput(\n \".clientdata_output_\" + id + \"_bg\",\n getComputedBgColor(el),\n );\n inputs.setInput(\n \".clientdata_output_\" + id + \"_fg\",\n getStyle(el, \"color\"),\n );\n inputs.setInput(\n \".clientdata_output_\" + id + \"_accent\",\n getComputedLinkColor(el),\n );\n inputs.setInput(\n \".clientdata_output_\" + id + \"_font\",\n getComputedFont(el),\n );\n }\n\n function doSendImageSize() {\n $(\".shiny-image-output, .shiny-plot-output, .shiny-report-size\").each(\n function () {\n const id = getIdFromEl(this),\n rect = getBoundingClientSizeBeforeZoom(this);\n\n if (rect.width !== 0 || rect.height !== 0) {\n inputs.setInput(\".clientdata_output_\" + id + \"_width\", rect.width);\n inputs.setInput(\n \".clientdata_output_\" + id + \"_height\",\n rect.height,\n );\n }\n },\n );\n\n $(\".shiny-image-output, .shiny-plot-output, .shiny-report-theme\").each(\n function () {\n doSendTheme(this);\n },\n );\n\n $(\".shiny-bound-output\").each(function () {\n const $this = $(this),\n binding = $this.data(\"shiny-output-binding\");\n\n $this.trigger({\n type: \"shiny:visualchange\",\n // @ts-expect-error; Can not remove info on a established, malformed Event object\n visible: !isHidden(this),\n binding: binding,\n });\n binding.onResize();\n });\n }\n\n sendImageSizeFns.setImageSend(inputBatchSender, doSendImageSize);\n\n // Return true if the object or one of its ancestors in the DOM tree has\n // style='display:none'; otherwise return false.\n function isHidden(obj: HTMLElement | null): boolean {\n // null means we've hit the top of the tree. If width or height is\n // non-zero, then we know that no ancestor has display:none.\n if (obj === null || obj.offsetWidth !== 0 || obj.offsetHeight !== 0) {\n return false;\n } else if (getStyle(obj, \"display\") === \"none\") {\n return true;\n } else {\n return isHidden(obj.parentNode as HTMLElement | null);\n }\n }\n let lastKnownVisibleOutputs: { [key: string]: boolean } = {};\n // Set initial state of outputs to hidden, if needed\n\n $(\".shiny-bound-output\").each(function () {\n const id = getIdFromEl(this);\n\n if (isHidden(this)) {\n initialValues[\".clientdata_output_\" + id + \"_hidden\"] = true;\n } else {\n lastKnownVisibleOutputs[id] = true;\n initialValues[\".clientdata_output_\" + id + \"_hidden\"] = false;\n }\n });\n // Send update when hidden state changes\n function doSendOutputHiddenState() {\n const visibleOutputs: { [key: string]: boolean } = {};\n\n $(\".shiny-bound-output\").each(function () {\n const id = getIdFromEl(this);\n\n delete lastKnownVisibleOutputs[id];\n // Assume that the object is hidden when width and height are 0\n const hidden = isHidden(this),\n evt = {\n type: \"shiny:visualchange\",\n visible: !hidden,\n };\n\n if (hidden) {\n inputs.setInput(\".clientdata_output_\" + id + \"_hidden\", true);\n } else {\n visibleOutputs[id] = true;\n inputs.setInput(\".clientdata_output_\" + id + \"_hidden\", false);\n }\n const $this = $(this);\n\n // @ts-expect-error; Can not remove info on a established, malformed Event object\n evt.binding = $this.data(\"shiny-output-binding\");\n // @ts-expect-error; Can not remove info on a established, malformed Event object\n $this.trigger(evt);\n });\n // Anything left in lastKnownVisibleOutputs is orphaned\n for (const name in lastKnownVisibleOutputs) {\n if (hasDefinedProperty(lastKnownVisibleOutputs, name))\n inputs.setInput(\".clientdata_output_\" + name + \"_hidden\", true);\n }\n // Update the visible outputs for next time\n lastKnownVisibleOutputs = visibleOutputs;\n }\n // sendOutputHiddenState gets called each time DOM elements are shown or\n // hidden. This can be in the hundreds or thousands of times at startup.\n // We'll debounce it, so that we do the actual work once per tick.\n const sendOutputHiddenStateDebouncer = new Debouncer(\n null,\n doSendOutputHiddenState,\n 0,\n );\n\n function sendOutputHiddenState() {\n sendOutputHiddenStateDebouncer.normalCall();\n }\n // We need to make sure doSendOutputHiddenState actually gets called before\n // the inputBatchSender sends data to the server. The lastChanceCallback\n // here does that - if the debouncer has a pending call, flush it.\n inputBatchSender.lastChanceCallback.push(function () {\n if (sendOutputHiddenStateDebouncer.isPending())\n sendOutputHiddenStateDebouncer.immediateCall();\n });\n\n // Given a namespace and a handler function, return a function that invokes\n // the handler only when e's namespace matches. For example, if the\n // namespace is \"bs\", it would match when e.namespace is \"bs\" or \"bs.tab\".\n // If the namespace is \"bs.tab\", it would match for \"bs.tab\", but not \"bs\".\n function filterEventsByNamespace(\n namespace: string,\n handler: (...handlerArgs: any[]) => void,\n ...args: any[]\n ) {\n const namespaceArr = namespace.split(\".\");\n\n return function (this: HTMLElement, e: JQuery.TriggeredEvent) {\n const eventNamespace = e.namespace?.split(\".\") ?? [];\n\n // If any of the namespace strings aren't present in this event, quit.\n for (let i = 0; i < namespaceArr.length; i++) {\n if (eventNamespace.indexOf(namespaceArr[i]) === -1) return;\n }\n\n handler.apply(this, [namespaceArr, handler, ...args]);\n };\n }\n\n // The size of each image may change either because the browser window was\n // resized, or because a tab was shown/hidden (hidden elements report size\n // of 0x0). It's OK to over-report sizes because the input pipeline will\n // filter out values that haven't changed.\n $(window).resize(debounce(500, sendImageSizeFns.regular));\n // Need to register callbacks for each Bootstrap 3 class.\n const bs3classes = [\n \"modal\",\n \"dropdown\",\n \"tab\",\n \"tooltip\",\n \"popover\",\n \"collapse\",\n ];\n\n $.each(bs3classes, function (idx, classname) {\n $(document.body).on(\n \"shown.bs.\" + classname + \".sendImageSize\",\n \"*\",\n filterEventsByNamespace(\"bs\", sendImageSizeFns.regular),\n );\n $(document.body).on(\n \"shown.bs.\" +\n classname +\n \".sendOutputHiddenState \" +\n \"hidden.bs.\" +\n classname +\n \".sendOutputHiddenState\",\n \"*\",\n filterEventsByNamespace(\"bs\", sendOutputHiddenState),\n );\n });\n\n // This is needed for Bootstrap 2 compatibility and for non-Bootstrap\n // related shown/hidden events (like conditionalPanel)\n $(document.body).on(\"shown.sendImageSize\", \"*\", sendImageSizeFns.regular);\n $(document.body).on(\n \"shown.sendOutputHiddenState hidden.sendOutputHiddenState\",\n \"*\",\n sendOutputHiddenState,\n );\n\n // Send initial pixel ratio, and update it if it changes\n initialValues[\".clientdata_pixelratio\"] = pixelRatio();\n $(window).resize(function () {\n inputs.setInput(\".clientdata_pixelratio\", pixelRatio());\n });\n\n // Send initial URL\n initialValues[\".clientdata_url_protocol\"] = window.location.protocol;\n initialValues[\".clientdata_url_hostname\"] = window.location.hostname;\n initialValues[\".clientdata_url_port\"] = window.location.port;\n initialValues[\".clientdata_url_pathname\"] = window.location.pathname;\n\n // Send initial URL search (query string) and update it if it changes\n initialValues[\".clientdata_url_search\"] = window.location.search;\n\n $(window).on(\"pushstate\", function (e) {\n inputs.setInput(\".clientdata_url_search\", window.location.search);\n return;\n e; // eslint-disable-line @typescript-eslint/no-unused-expressions\n });\n\n $(window).on(\"popstate\", function (e) {\n inputs.setInput(\".clientdata_url_search\", window.location.search);\n return;\n e; // eslint-disable-line @typescript-eslint/no-unused-expressions\n });\n\n // This is only the initial value of the hash. The hash can change, but\n // a reactive version of this isn't sent because watching for changes can\n // require polling on some browsers. The JQuery hashchange plugin can be\n // used if this capability is important.\n initialValues[\".clientdata_url_hash_initial\"] = window.location.hash;\n initialValues[\".clientdata_url_hash\"] = window.location.hash;\n\n $(window).on(\"hashchange\", function (e) {\n inputs.setInput(\".clientdata_url_hash\", window.location.hash);\n return;\n e; // eslint-disable-line @typescript-eslint/no-unused-expressions\n });\n\n // The server needs to know what singletons were rendered as part of\n // the page loading\n const singletonText = (initialValues[\".clientdata_singletons\"] = $(\n 'script[type=\"application/shiny-singletons\"]',\n ).text());\n\n singletonsRegisterNames(singletonText.split(/,/));\n\n const dependencyText = $(\n 'script[type=\"application/html-dependencies\"]',\n ).text();\n\n $.each(dependencyText.split(/;/), function (i, depStr) {\n const match = /\\s*^(.+)\\[(.+)\\]\\s*$/.exec(depStr);\n\n if (match) {\n registerDependency(match[1], match[2]);\n }\n });\n\n // We've collected all the initial values--start the server process!\n inputsNoResend.reset(initialValues);\n shinyapp.connect(initialValues);\n $(document).one(\"shiny:connected\", () => {\n initDeferredIframes();\n });\n\n $(document).one(\"shiny:sessioninitialized\", () => {\n this.initializedPromise.resolve();\n });\n }\n}\n\n// Give any deferred iframes a chance to load.\nfunction initDeferredIframes(): void {\n // TODO-barret; This method uses `window.Shiny`. Could be replaced with `fullShinyObj_.shinyapp?.isConnected()`,\n // but that would not use `window.Shiny`. Is it a problem???\n if (\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore; Do not want to define `window.Shiny` as a type to discourage usage of `window.Shiny`;\n // Can not expect error when combining with window available Shiny definition\n !window.Shiny ||\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore; Do not want to define `window.Shiny` as a type to discourage usage of `window.Shiny`;\n // Can not expect error when combining with window available Shiny definition\n !window.Shiny.shinyapp ||\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore; Do not want to define `window.Shiny` as a type to discourage usage of `window.Shiny`;\n // Can not expect error when combining with window available Shiny definition\n !window.Shiny.shinyapp.isConnected()\n ) {\n // If somehow we accidentally call this before the server connection is\n // established, just ignore the call. At the time of this writing it\n // doesn't happen, but it's easy to imagine a later refactoring putting\n // us in this situation and it'd be hard to notice with either manual\n // testing or automated tests, because the only effect is on HTTP request\n // timing. (Update: Actually Aron saw this being called without even\n // window.Shiny being defined, but it was hard to repro.)\n return;\n }\n\n $(\".shiny-frame-deferred\").each(function (i, el) {\n const $el = $(el);\n\n $el.removeClass(\"shiny-frame-deferred\");\n // @ts-expect-error; If it is undefined, set using the undefined value\n $el.attr(\"src\", $el.attr(\"data-deferred-src\"));\n $el.attr(\"data-deferred-src\", null);\n });\n}\n\nexport { ShinyClass };\n", "import $ from \"jquery\";\nimport type { HtmlDep } from \"../shiny/render\";\nimport { renderContent } from \"../shiny/render\";\nimport { windowDevicePixelRatio } from \"../window/pixelRatio\";\nimport type { MapValuesUnion, MapWithResult } from \"./extraTypes\";\nimport { asArray, hasDefinedProperty, hasOwnProperty } from \"./object\";\n\nfunction escapeHTML(str: string): string {\n /* eslint-disable @typescript-eslint/naming-convention */\n const escaped: { [key: string]: string } = {\n \"&\": \"&\",\n \"<\": \"<\",\n \">\": \">\",\n\n '\"': \""\",\n \"'\": \"'\",\n \"/\": \"/\",\n };\n /* eslint-enable @typescript-eslint/naming-convention */\n\n return str.replace(/[&<>'\"/]/g, function (m) {\n return escaped[m] as string;\n });\n}\n\nfunction randomId(): string {\n return Math.floor(0x100000000 + Math.random() * 0xf00000000).toString(16);\n}\n\nfunction strToBool(str: string): boolean | undefined {\n if (!str || !str.toLowerCase) return undefined;\n\n switch (str.toLowerCase()) {\n case \"true\":\n return true;\n case \"false\":\n return false;\n default:\n return undefined;\n }\n}\n\n// A wrapper for getComputedStyle that is compatible with older browsers.\n// This is significantly faster than jQuery's .css() function.\nfunction getStyle(el: Element, styleProp: string): string | undefined {\n let x = undefined;\n\n if (\"currentStyle\" in el) {\n // @ts-expect-error; Old, IE 5+ attribute only - https://developer.mozilla.org/en-US/docs/Web/API/Element/currentStyle\n x = el.currentStyle[styleProp];\n } else {\n // getComputedStyle can return null when we're inside a hidden iframe on\n // Firefox; don't attempt to retrieve style props in this case.\n // https://bugzilla.mozilla.org/show_bug.cgi?id=548397\n const style = document?.defaultView?.getComputedStyle(el, null);\n\n if (style) x = style.getPropertyValue(styleProp);\n }\n return x;\n}\n\n// Convert a number to a string with leading zeros\nfunction padZeros(n: number, digits: number): string {\n let str = n.toString();\n\n while (str.length < digits) str = \"0\" + str;\n return str;\n}\n\n// Round to a specified number of significant digits.\nfunction roundSignif(x: number, digits = 1): number {\n if (digits < 1) throw \"Significant digits must be at least 1.\";\n\n // This converts to a string and back to a number, which is inelegant, but\n // is less prone to FP rounding error than an alternate method which used\n // Math.round().\n return parseFloat(x.toPrecision(digits));\n}\n\n// Take a string with format \"YYYY-MM-DD\" and return a Date object.\n// IE8 and QTWebKit don't support YYYY-MM-DD, but they support YYYY/MM/DD\nfunction parseDate(dateString: string): Date {\n let date = new Date(dateString);\n\n if (date.toString() === \"Invalid Date\") {\n date = new Date(dateString.replace(/-/g, \"/\"));\n }\n return date;\n}\n\n// Given a Date object, return a string in yyyy-mm-dd format, using the\n// UTC date. This may be a day off from the date in the local time zone.\nfunction formatDateUTC(x: Date): string;\nfunction formatDateUTC(date: Date | null): string | null {\n if (date instanceof Date) {\n return (\n date.getUTCFullYear() +\n \"-\" +\n padZeros(date.getUTCMonth() + 1, 2) +\n \"-\" +\n padZeros(date.getUTCDate(), 2)\n );\n } else {\n return null;\n }\n}\n\n// Given an element and a function(width, height), returns a function(). When\n// the output function is called, it calls the input function with the offset\n// width and height of the input element--but only if the size of the element\n// is non-zero and the size is different than the last time the output\n// function was called.\n//\n// Basically we are trying to filter out extraneous calls to func, so that\n// when the window size changes or whatever, we don't run resize logic for\n// elements that haven't actually changed size or aren't visible anyway.\ntype LastSizeInterface = {\n w?: number;\n h?: number;\n};\nfunction makeResizeFilter(\n el: HTMLElement,\n func: (\n width: HTMLElement[\"offsetWidth\"],\n height: HTMLElement[\"offsetHeight\"],\n ) => void,\n): () => void {\n let lastSize: LastSizeInterface = {};\n\n return function () {\n const rect = el.getBoundingClientRect();\n const size = { w: rect.width, h: rect.height };\n\n if (size.w === 0 && size.h === 0) return;\n if (size.w === lastSize.w && size.h === lastSize.h) return;\n lastSize = size;\n func(size.w, size.h);\n };\n}\n\nfunction pixelRatio(): number {\n if (windowDevicePixelRatio()) {\n return Math.round(windowDevicePixelRatio() * 100) / 100;\n } else {\n return 1;\n }\n}\n\nfunction getBoundingClientSizeBeforeZoom(el: HTMLElement): {\n width: number;\n height: number;\n} {\n const rect = el.getBoundingClientRect();\n // Cast to any because currentCSSZoom isn't in the type def of HTMLElement\n // TODO: typescript >= 5.5.2 added this property to the type definition\n const zoom = (el as any).currentCSSZoom || 1;\n return {\n width: rect.width / zoom,\n height: rect.height / zoom,\n };\n}\n\n// Takes a string expression and returns a function that takes an argument.\n//\n// When the function is executed, it will evaluate that expression using\n// \"with\" on the argument value, and return the result.\nfunction scopeExprToFunc(expr: string): (scope: unknown) => unknown {\n /*jshint evil: true */\n const exprEscaped = expr\n .replace(/[\\\\\"']/g, \"\\\\$&\")\n // eslint-disable-next-line no-control-regex\n .replace(/\\u0000/g, \"\\\\0\")\n .replace(/\\n/g, \"\\\\n\")\n .replace(/\\r/g, \"\\\\r\")\n // \\b has a special meaning; need [\\b] to match backspace char.\n .replace(/[\\b]/g, \"\\\\b\");\n\n let func: () => unknown;\n\n try {\n // @ts-expect-error; Do not know how to type this _dangerous_ situation\n func = new Function(\n `with (this) {\n try {\n return (${expr});\n } catch (e) {\n console.error('Error evaluating expression: ${exprEscaped}');\n throw e;\n }\n }`,\n );\n } catch (e) {\n console.error(\"Error parsing expression: \" + expr);\n throw e;\n }\n\n return function (scope: unknown): unknown {\n return func.call(scope);\n };\n}\n\n// We need a stable sorting algorithm for ordering\n// bindings by priority and insertion order.\nfunction mergeSort(\n list: Item[],\n sortfunc: (a: Item, b: Item) => boolean | number,\n): Item[] {\n function merge(a: Item[], b: Item[]) {\n let ia = 0;\n let ib = 0;\n const sorted = [];\n\n while (ia < a.length && ib < b.length) {\n if (Number(sortfunc(a[ia], b[ib])) <= 0) {\n sorted.push(a[ia++]);\n } else {\n sorted.push(b[ib++]);\n }\n }\n while (ia < a.length) sorted.push(a[ia++]);\n while (ib < b.length) sorted.push(b[ib++]);\n return sorted;\n }\n\n // Don't mutate list argument\n list = list.slice(0);\n\n for (let chunkSize = 1; chunkSize < list.length; chunkSize *= 2) {\n for (let i = 0; i < list.length; i += chunkSize * 2) {\n const listA = list.slice(i, i + chunkSize);\n const listB = list.slice(i + chunkSize, i + chunkSize * 2);\n const merged = merge(listA, listB);\n const args = [i, merged.length] as [number, number];\n\n Array.prototype.push.apply(args, merged);\n Array.prototype.splice.apply(list, args);\n }\n }\n\n return list;\n}\n\n// Escape jQuery selector metacharacters: !\"#$%&'()*+,./:;<=>?@[\\]^`{|}~\nfunction $escape(val: undefined): undefined;\nfunction $escape(val: string): string;\nfunction $escape(val: string | undefined): string | undefined {\n if (typeof val === \"undefined\") return val;\n return val.replace(/([!\"#$%&'()*+,./:;<=>?@[\\\\\\]^`{|}~])/g, \"\\\\$1\");\n}\n\n// Maps a function over an object, preserving keys. Like the mapValues\n// function from lodash.\nfunction mapValues(\n obj: T,\n f: (value: MapValuesUnion, key: string, object: typeof obj) => R,\n): MapWithResult {\n const newObj = {} as MapWithResult;\n\n Object.keys(obj).forEach((key: keyof typeof obj) => {\n newObj[key] = f(obj[key], key as string, obj);\n });\n return newObj;\n}\n\n// This is does the same as Number.isNaN, but that function unfortunately does\n// not exist in any version of IE.\nfunction isnan(x: unknown): boolean {\n return typeof x === \"number\" && isNaN(x);\n}\n\n// Binary equality function used by the equal function.\n// (Name existed before TS conversion)\n// eslint-disable-next-line @typescript-eslint/naming-convention\nfunction _equal(x: unknown, y: unknown): boolean {\n if ($.type(x) === \"object\" && $.type(y) === \"object\") {\n const xo = x as { [key: string]: unknown };\n const yo = y as { [key: string]: unknown };\n\n if (Object.keys(xo).length !== Object.keys(yo).length) return false;\n for (const prop in xo) {\n if (!hasOwnProperty(yo, prop) || !_equal(xo[prop], yo[prop]))\n return false;\n }\n return true;\n } else if ($.type(x) === \"array\" && $.type(y) === \"array\") {\n const xa = x as unknown[];\n const ya = y as unknown[];\n\n if (xa.length !== ya.length) return false;\n for (let i = 0; i < xa.length; i++) if (!_equal(xa[i], ya[i])) return false;\n return true;\n } else {\n return x === y;\n }\n}\n\n// Structural or \"deep\" equality predicate. Tests two or more arguments for\n// equality, traversing arrays and objects (as determined by $.type) as\n// necessary.\n//\n// Objects other than objects and arrays are tested for equality using ===.\nfunction equal(...args: unknown[]): boolean {\n if (args.length < 2)\n throw new Error(\"equal requires at least two arguments.\");\n for (let i = 0; i < args.length - 1; i++) {\n if (!_equal(args[i], args[i + 1])) return false;\n }\n return true;\n}\n\n// Compare version strings like \"1.0.1\", \"1.4-2\". `op` must be a string like\n// \"==\" or \"<\".\nconst compareVersion = function (\n a: string,\n op: \"<\" | \"<=\" | \"==\" | \">\" | \">=\",\n b: string,\n): boolean {\n function versionParts(ver: string) {\n return (ver + \"\")\n .replace(/-/, \".\")\n .replace(/(\\.0)+[^.]*$/, \"\")\n .split(\".\");\n }\n\n function cmpVersion(a: string, b: string) {\n const aParts = versionParts(a);\n const bParts = versionParts(b);\n const len = Math.min(aParts.length, bParts.length);\n let cmp;\n\n for (let i = 0; i < len; i++) {\n cmp = parseInt(aParts[i], 10) - parseInt(bParts[i], 10);\n if (cmp !== 0) {\n return cmp;\n }\n }\n return aParts.length - bParts.length;\n }\n\n const diff = cmpVersion(a, b);\n\n if (op === \"==\") return diff === 0;\n else if (op === \">=\") return diff >= 0;\n else if (op === \">\") return diff > 0;\n else if (op === \"<=\") return diff <= 0;\n else if (op === \"<\") return diff < 0;\n else throw `Unknown operator: ${op}`;\n};\n\nasync function updateLabel(\n labelContent: string | { html: string; deps: HtmlDep[] } | undefined,\n labelNode: JQuery,\n): Promise {\n // Only update if label was specified in the update method\n if (typeof labelContent === \"undefined\") return;\n if (labelNode.length !== 1) {\n throw new Error(\"labelNode must be of length 1\");\n }\n\n if (typeof labelContent === \"string\") {\n labelContent = {\n html: labelContent,\n deps: [],\n };\n }\n\n if (labelContent.html === \"\") {\n labelNode.addClass(\"shiny-label-null\");\n } else {\n await renderContent(labelNode, labelContent);\n labelNode.removeClass(\"shiny-label-null\");\n }\n}\n\n// Compute the color property of an a tag, scoped within the element\nfunction getComputedLinkColor(el: HTMLElement): string {\n const a = document.createElement(\"a\");\n\n a.href = \"/\";\n const div = document.createElement(\"div\");\n\n div.style.setProperty(\"position\", \"absolute\", \"important\");\n div.style.setProperty(\"top\", \"-1000px\", \"important\");\n div.style.setProperty(\"left\", \"0\", \"important\");\n div.style.setProperty(\"width\", \"30px\", \"important\");\n div.style.setProperty(\"height\", \"10px\", \"important\");\n div.appendChild(a);\n el.appendChild(div);\n const linkColor = window.getComputedStyle(a).getPropertyValue(\"color\");\n\n el.removeChild(div);\n return linkColor;\n}\n\nfunction isBS3(): boolean {\n return !window.bootstrap;\n}\n\nfunction toLowerCase(str: T): Lowercase {\n return str.toLowerCase() as Lowercase;\n}\n\nfunction isShinyInDevMode(): boolean {\n if (\"__SHINY_DEV_MODE__\" in window) return Boolean(window.__SHINY_DEV_MODE__);\n return false;\n}\n\nexport {\n $escape,\n _equal,\n asArray,\n compareVersion,\n equal,\n escapeHTML,\n formatDateUTC,\n getBoundingClientSizeBeforeZoom,\n getComputedLinkColor,\n getStyle,\n hasDefinedProperty,\n hasOwnProperty,\n isBS3,\n isnan,\n isShinyInDevMode,\n makeResizeFilter,\n mapValues,\n mergeSort,\n padZeros,\n parseDate,\n pixelRatio,\n randomId,\n roundSignif,\n scopeExprToFunc,\n strToBool,\n toLowerCase,\n updateLabel,\n};\n", "import $ from \"jquery\";\nimport { isIE } from \"../utils/browser\";\nimport { asArray, hasDefinedProperty } from \"../utils/object\";\nimport type { BindScope } from \"./bind\";\nimport {\n shinyBindAll,\n shinyInitializeInputs,\n shinyUnbindAll,\n} from \"./initedMethods\";\nimport { sendImageSizeFns } from \"./sendImageSize\";\n\nimport type { WherePosition } from \"./singletons\";\nimport { renderHtml as singletonsRenderHtml } from \"./singletons\";\n\n// There are synchronous and asynchronous versions of the exported functions\n// renderContent(), renderHtml(), and renderDependencies(). This is because they\n// the original versions of these functions were synchronous, but we added\n// support for asynchronous rendering, to avoid the deprecated XMLHttpRequest\n// function (https://github.com/rstudio/shiny/pull/3666).\n//\n// At the bottom, there is the appendScriptTags(), which calls $.append(), which\n// in turn calls (synchronous) XMLHttpRequest(); and its counterpart\n// appendScriptTagsAsync(), which uses a different (asynchronous) method. The\n// sync and async versions of this function necessitate the sync and async\n// versions of the other functions.\n//\n// The async versions of these functions are used internally and should be used\n// for new external code when possible, but for backward compatibility for\n// external code that calls these functions, we'll keep the synchronous versions\n// around as well.\n\n// =============================================================================\n// renderContent\n// =============================================================================\n// Render HTML in a DOM element, add dependencies, and bind Shiny\n// inputs/outputs. `content` can be null, a string, or an object with\n// properties 'html' and 'deps'.\nasync function renderContentAsync(\n el: BindScope,\n content: string | { html: string; deps?: HtmlDep[] } | null,\n where: WherePosition = \"replace\",\n): Promise {\n if (where === \"replace\") {\n shinyUnbindAll(el);\n }\n\n let html = \"\";\n let dependencies: HtmlDep[] = [];\n\n if (content === null) {\n html = \"\";\n } else if (typeof content === \"string\") {\n html = content;\n } else if (typeof content === \"object\") {\n html = content.html;\n dependencies = content.deps || [];\n }\n\n await renderHtmlAsync(html, el, dependencies, where);\n\n let scope: BindScope = el;\n\n if (where === \"replace\") {\n shinyInitializeInputs(el);\n await shinyBindAll(el);\n } else {\n const $parent = $(el).parent();\n\n if ($parent.length > 0) {\n scope = $parent;\n if (where === \"beforeBegin\" || where === \"afterEnd\") {\n const $grandparent = $parent.parent();\n\n if ($grandparent.length > 0) scope = $grandparent;\n }\n }\n shinyInitializeInputs(scope);\n await shinyBindAll(scope);\n }\n}\n\nfunction renderContent(\n el: BindScope,\n content: string | { html: string; deps?: HtmlDep[] } | null,\n where: WherePosition = \"replace\",\n): Promise {\n if (where === \"replace\") {\n shinyUnbindAll(el);\n }\n\n let html = \"\";\n let dependencies: HtmlDep[] = [];\n\n if (content === null) {\n html = \"\";\n } else if (typeof content === \"string\") {\n html = content;\n } else if (typeof content === \"object\") {\n html = content.html;\n dependencies = content.deps || [];\n }\n\n renderHtml(html, el, dependencies, where);\n\n let scope: BindScope = el;\n\n if (where === \"replace\") {\n shinyInitializeInputs(el);\n return shinyBindAll(el);\n } else {\n const $parent = $(el).parent();\n\n if ($parent.length > 0) {\n scope = $parent;\n if (where === \"beforeBegin\" || where === \"afterEnd\") {\n const $grandparent = $parent.parent();\n\n if ($grandparent.length > 0) scope = $grandparent;\n }\n }\n shinyInitializeInputs(scope);\n return shinyBindAll(scope);\n }\n}\n\n// =============================================================================\n// renderHtml\n// =============================================================================\n// Render HTML in a DOM element, inserting singletons into head as needed\nasync function renderHtmlAsync(\n html: string,\n el: BindScope,\n dependencies: HtmlDep[],\n where: WherePosition = \"replace\",\n): Promise> {\n await renderDependenciesAsync(dependencies);\n return singletonsRenderHtml(html, el, where);\n}\n\n// Render HTML in a DOM element, inserting singletons into head as needed\nfunction renderHtml(\n html: string,\n el: BindScope,\n dependencies: HtmlDep[],\n where: WherePosition = \"replace\",\n): ReturnType {\n renderDependencies(dependencies);\n return singletonsRenderHtml(html, el, where);\n}\n\n// =============================================================================\n// renderDependencies\n// =============================================================================\nasync function renderDependenciesAsync(\n dependencies: HtmlDep[] | null,\n): Promise {\n if (dependencies) {\n for (const dep of dependencies) {\n await renderDependencyAsync(dep);\n }\n }\n}\n\nfunction renderDependencies(dependencies: HtmlDep[] | null): void {\n if (dependencies) {\n for (const dep of dependencies) {\n renderDependency(dep);\n }\n }\n}\n\n// =============================================================================\n// HTML dependency types\n// =============================================================================\ntype HtmlDepVersion = string;\n\ntype MetaItem = {\n name: string;\n content: string;\n [x: string]: string;\n};\n\ntype StylesheetItem = {\n href: string;\n rel?: string;\n type?: string;\n};\n\ntype ScriptItem = {\n src: string;\n [x: string]: string;\n};\n\ntype AttachmentItem = {\n key: string;\n href: string;\n [x: string]: string;\n};\n\n// This supports the older R htmltools HtmlDependency structure, and it also\n// encompasses the newer, consistent HTMLDependency structure.\ntype HtmlDep = {\n name: string;\n version: HtmlDepVersion;\n restyle?: boolean;\n src?: { href: string };\n meta?: MetaItem[] | { [x: string]: string };\n stylesheet?: string[] | StylesheetItem | StylesheetItem[] | string;\n script?: ScriptItem | ScriptItem[] | string[] | string;\n attachment?: AttachmentItem[] | string[] | string | { [key: string]: string };\n head?: string;\n};\n\n// This is the newer, consistent HTMLDependency structure.\ntype HtmlDepNormalized = {\n name: string;\n version: HtmlDepVersion;\n restyle?: boolean;\n meta: MetaItem[];\n stylesheet: StylesheetItem[];\n script: ScriptItem[];\n attachment: AttachmentItem[];\n head?: string;\n};\n\n// =============================================================================\n// renderDependency helper functions\n// =============================================================================\nconst htmlDependencies: { [key: string]: HtmlDepVersion } = {};\n\nfunction registerDependency(name: string, version: HtmlDepVersion): void {\n htmlDependencies[name] = version;\n}\n\n// Re-render stylesheet(s) if the dependency has specificially requested it\n// and it matches an existing dependency (name and version)\nfunction needsRestyle(dep: HtmlDepNormalized) {\n if (!dep.restyle) {\n return false;\n }\n const names = Object.keys(htmlDependencies);\n const idx = names.indexOf(dep.name);\n\n if (idx === -1) {\n return false;\n }\n return htmlDependencies[names[idx]] === dep.version;\n}\n\nfunction addStylesheetsAndRestyle(links: HTMLLinkElement[]): void {\n const $head = $(\"head\").first();\n\n // This inline