SYMBOL INDEX (833 symbols across 74 files) FILE: assets/accordion-custom.js class AccordionCustom (line 5) | class AccordionCustom extends HTMLElement { method details (line 7) | get details() { method summary (line 16) | get summary() { method #disableOnMobile (line 24) | get #disableOnMobile() { method #disableOnDesktop (line 28) | get #disableOnDesktop() { method #closeWithEscape (line 32) | get #closeWithEscape() { method connectedCallback (line 38) | connectedCallback() { method disconnectedCallback (line 51) | disconnectedCallback() { method #setDefaultOpenState (line 81) | #setDefaultOpenState() { method #handleKeyDown (line 94) | #handleKeyDown(event) { FILE: assets/anchored-popover.js class AnchoredPopoverComponent (line 29) | class AnchoredPopoverComponent extends Component { method connectedCallback (line 96) | connectedCallback() { method disconnectedCallback (line 124) | disconnectedCallback() { FILE: assets/announcement-bar.js class AnnouncementBar (line 15) | class AnnouncementBar extends Component { method connectedCallback (line 24) | connectedCallback() { method next (line 34) | next() { method previous (line 38) | previous() { method play (line 46) | play(interval = this.autoplayInterval) { method pause (line 61) | pause() { method paused (line 66) | get paused() { method paused (line 70) | set paused(paused) { method suspend (line 77) | suspend() { method resume (line 85) | resume() { method autoplay (line 92) | get autoplay() { method autoplayInterval (line 96) | get autoplayInterval() { method current (line 105) | get current() { method current (line 109) | set current(current) { FILE: assets/blog-posts-list.js class BlogPostsList (line 6) | class BlogPostsList extends PaginatedList {} FILE: assets/cart-discount.js class CartDiscount (line 19) | class CartDiscount extends Component { method #createAbortController (line 25) | #createAbortController() { method #handleDiscountError (line 176) | #handleDiscountError(type) { method #existingDiscounts (line 187) | #existingDiscounts() { FILE: assets/cart-drawer.js class CartDrawerComponent (line 13) | class CartDrawerComponent extends DialogComponent { method connectedCallback (line 20) | connectedCallback() { method disconnectedCallback (line 32) | disconnectedCallback() { method open (line 73) | open() { method close (line 86) | close() { method #updateStickyState (line 90) | #updateStickyState() { FILE: assets/cart-icon.js class CartIcon (line 15) | class CartIcon extends Component { method currentCartCount (line 19) | get currentCartCount() { method currentCartCount (line 23) | set currentCartCount(value) { method connectedCallback (line 27) | connectedCallback() { method disconnectedCallback (line 35) | disconnectedCallback() { FILE: assets/cart-note.js class CartNote (line 8) | class CartNote extends Component { FILE: assets/collection-links.js class CollectionLinks (line 18) | class CollectionLinks extends Component { method connectedCallback (line 24) | connectedCallback() { method disconnectedCallback (line 33) | disconnectedCallback() { method links (line 39) | get links() { method currentIndex (line 43) | get currentIndex() { method select (line 53) | select(targetIndex, event) { method #updateSelectedLink (line 64) | #updateSelectedLink(index) { method #handleKeydown (line 97) | #handleKeydown(event) { method #revealImage (line 164) | #revealImage(event) { FILE: assets/comparison-slider.js class ComparisonSliderComponent (line 16) | class ComparisonSliderComponent extends Component { method constructor (line 19) | constructor() { method connectedCallback (line 28) | connectedCallback() { method sync (line 46) | sync() { method disconnectedCallback (line 61) | disconnectedCallback() { method setValue (line 72) | setValue(value) { method animateSlider (line 83) | animateSlider() { method setupIntersectionObserver (line 118) | setupIntersectionObserver() { method handleIntersection (line 135) | handleIntersection(entries) { FILE: assets/component-cart-items.js class CartItemsComponent (line 32) | class CartItemsComponent extends Component { method connectedCallback (line 35) | connectedCallback() { method disconnectedCallback (line 43) | disconnectedCallback() { method #onQuantityChange (line 54) | #onQuantityChange(event) { method onLineItemRemove (line 83) | onLineItemRemove(line) { method updateQuantity (line 135) | updateQuantity(config) { method #disableCartItems (line 265) | #disableCartItems() { method #enableCartItems (line 272) | #enableCartItems() { method #updateQuantitySelectors (line 281) | #updateQuantitySelectors(updatedCart) { method #updateCartQuantitySelectorButtonStates (line 305) | #updateCartQuantitySelectorButtonStates() { method sectionId (line 315) | get sectionId() { method isDrawer (line 326) | get isDrawer() { FILE: assets/component-cart-quantity-selector.js class CartQuantitySelectorComponent (line 10) | class CartQuantitySelectorComponent extends QuantitySelectorComponent { method getEffectiveMax (line 16) | getEffectiveMax() { method updateButtonStates (line 25) | updateButtonStates() { FILE: assets/component-quantity-selector.js class QuantitySelectorComponent (line 22) | class QuantitySelectorComponent extends Component { method connectedCallback (line 28) | connectedCallback() { method disconnectedCallback (line 45) | disconnectedCallback() { method setCartQuantity (line 53) | setCartQuantity(cartQty) { method canAddToCart (line 62) | canAddToCart() { method getValue (line 79) | getValue() { method setValue (line 87) | setValue(value) { method updateConstraints (line 97) | updateConstraints(min, max, step) { method getCurrentValues (line 134) | getCurrentValues() { method getEffectiveMax (line 152) | getEffectiveMax() { method updateButtonStates (line 162) | updateButtonStates() { method updateQuantity (line 181) | updateQuantity(stepMultiplier) { method increaseQuantity (line 197) | increaseQuantity(event) { method decreaseQuantity (line 207) | decreaseQuantity(event) { method selectInputValue (line 217) | selectInputValue(event) { method setQuantity (line 229) | setQuantity(event) { method onQuantityChange (line 256) | onQuantityChange() { method updateCartQuantity (line 267) | updateCartQuantity() { method quantityInput (line 286) | get quantityInput() { FILE: assets/component.js class DeclarativeShadowElement (line 8) | class DeclarativeShadowElement extends HTMLElement { method connectedCallback (line 9) | connectedCallback() { class Component (line 39) | class Component extends DeclarativeShadowElement { method roots (line 59) | get roots() { method connectedCallback (line 68) | connectedCallback() { method updatedCallback (line 90) | updatedCallback() { method disconnectedCallback (line 100) | disconnectedCallback() { method #updateRefs (line 109) | #updateRefs() { function getAncestor (line 178) | function getAncestor(node) { function getClosestComponent (line 193) | function getClosestComponent(node) { function registerEventListeners (line 212) | function registerEventListeners() { function parseData (line 306) | function parseData(str) { function parseValue (line 327) | function parseValue(str) { class MissingRefError (line 340) | class MissingRefError extends Error { method constructor (line 345) | constructor(ref, component) { FILE: assets/copy-to-clipboard.js class CopyToClipboardComponent (line 8) | class CopyToClipboardComponent extends Component { method copyToClipboard (line 9) | copyToClipboard() { FILE: assets/dialog.js class DialogComponent (line 12) | class DialogComponent extends Component { method connectedCallback (line 15) | connectedCallback() { method disconnectedCallback (line 23) | disconnectedCallback() { method showDialog (line 46) | showDialog() { method #handleClick (line 121) | #handleClick(event) { method #handleKeyDown (line 134) | #handleKeyDown(event) { method minWidth (line 146) | get minWidth() { method maxWidth (line 155) | get maxWidth() { class DialogOpenEvent (line 162) | class DialogOpenEvent extends CustomEvent { method constructor (line 163) | constructor() { class DialogCloseEvent (line 170) | class DialogCloseEvent extends CustomEvent { method constructor (line 171) | constructor() { FILE: assets/drag-zoom-wrapper.js constant MIN_ZOOM (line 5) | const MIN_ZOOM = 1; constant MAX_ZOOM (line 6) | const MAX_ZOOM = 5; constant DEFAULT_ZOOM (line 7) | const DEFAULT_ZOOM = 1.5; constant DOUBLE_TAP_DELAY (line 8) | const DOUBLE_TAP_DELAY = 300; constant DOUBLE_TAP_DISTANCE (line 9) | const DOUBLE_TAP_DISTANCE = 50; constant DRAG_THRESHOLD (line 10) | const DRAG_THRESHOLD = 10; class DragZoomWrapper (line 18) | class DragZoomWrapper extends Component { method #image (line 50) | get #image() { method connectedCallback (line 54) | connectedCallback() { method #initResizeListener (line 67) | #initResizeListener() { method #initEventListeners (line 71) | #initEventListeners() { method disconnectedCallback (line 85) | disconnectedCallback() { method #startZoomGestureFromTouches (line 161) | #startZoomGestureFromTouches(touch1, touch2) { method #startDragGestureFromTouch (line 172) | #startDragGestureFromTouch(touch) { method #storeTapInfo (line 184) | #storeTapInfo(currentTime, touch) { method #handleDoubleTapFromTouch (line 193) | #handleDoubleTapFromTouch(touch) { method #processZoomGesture (line 270) | #processZoomGesture(touch1, touch2) { method #processDragGesture (line 309) | #processDragGesture(touch) { method #constrainTranslation (line 346) | #constrainTranslation() { method #cancelAnimationFrame (line 432) | #cancelAnimationFrame() { method destroy (line 473) | destroy() { function getDistance (line 485) | function getDistance(point1, point2) { FILE: assets/events.js class ThemeEvents (line 8) | class ThemeEvents { class VariantSelectedEvent (line 35) | class VariantSelectedEvent extends Event { method constructor (line 41) | constructor(resource) { class VariantUpdateEvent (line 53) | class VariantUpdateEvent extends Event { method constructor (line 73) | constructor(resource, sourceId, data) { class CartAddEvent (line 91) | class CartAddEvent extends Event { method constructor (line 104) | constructor(resource, sourceId, data) { class CartUpdateEvent (line 122) | class CartUpdateEvent extends Event { method constructor (line 135) | constructor(resource, sourceId, data) { class CartErrorEvent (line 151) | class CartErrorEvent extends Event { method constructor (line 159) | constructor(sourceId, message, description, errors) { class QuantitySelectorUpdateEvent (line 176) | class QuantitySelectorUpdateEvent extends Event { method constructor (line 182) | constructor(quantity, cartLine) { class DiscountUpdateEvent (line 195) | class DiscountUpdateEvent extends Event { method constructor (line 201) | constructor(resource, sourceId) { class MediaStartedPlayingEvent (line 214) | class MediaStartedPlayingEvent extends Event { method constructor (line 219) | constructor(resource) { class SlideshowSelectEvent (line 237) | class SlideshowSelectEvent extends Event { method constructor (line 239) | constructor(data) { class ZoomMediaSelectedEvent (line 254) | class ZoomMediaSelectedEvent extends Event { method constructor (line 259) | constructor(index) { class MegaMenuHoverEvent (line 271) | class MegaMenuHoverEvent extends Event { method constructor (line 272) | constructor() { class FilterUpdateEvent (line 278) | class FilterUpdateEvent extends Event { method constructor (line 280) | constructor(queryParams) { method shouldShowClearAll (line 287) | shouldShowClearAll() { FILE: assets/facets.js constant SEARCH_QUERY (line 10) | const SEARCH_QUERY = 'q'; class FacetsFormComponent (line 21) | class FacetsFormComponent extends Component { method createURLParameters (line 29) | createURLParameters(formData = new FormData(this.refs.facetsForm)) { method #getSearchQuery (line 47) | #getSearchQuery() { method sectionId (line 52) | get sectionId() { method #updateURLHash (line 61) | #updateURLHash() { method #updateSection (line 85) | #updateSection() { method updateFiltersByURL (line 99) | updateFiltersByURL(url) { class FacetInputsComponent (line 119) | class FacetInputsComponent extends Component { method sectionId (line 120) | get sectionId() { method updateFilters (line 129) | updateFilters() { method handleKeyDown (line 142) | handleKeyDown(event) { method #updateSelectedFacetSummary (line 191) | #updateSelectedFacetSummary() { class PriceFacetComponent (line 218) | class PriceFacetComponent extends Component { method connectedCallback (line 224) | connectedCallback() { method disconnectedCallback (line 231) | disconnectedCallback() { method #extractMoneyPlaceholder (line 241) | #extractMoneyPlaceholder(format) { method updatePriceFilterAndResults (line 260) | updatePriceFilterAndResults() { method #parseDisplayValue (line 281) | #parseDisplayValue(displayValue, currency) { method #adjustToValidValues (line 289) | #adjustToValidValues(input) { method #setMinAndMaxValues (line 310) | #setMinAndMaxValues() { method #updateSummary (line 322) | #updateSummary() { class FacetClearComponent (line 341) | class FacetClearComponent extends Component { method connectedCallback (line 344) | connectedCallback() { method disconnectedCallback (line 350) | disconnectedCallback() { method clearFilter (line 359) | clearFilter(event) { class FacetRemoveComponent (line 426) | class FacetRemoveComponent extends Component { method connectedCallback (line 427) | connectedCallback() { method disconnectedCallback (line 432) | disconnectedCallback() { method removeFilter (line 443) | removeFilter({ form }, event) { class SortingFilterComponent (line 490) | class SortingFilterComponent extends Component { method #moveFocus (line 560) | #moveFocus(options, newIndex) { method #selectOption (line 580) | #selectOption(option) { method #closeDropdown (line 600) | #closeDropdown() { method updateFilterAndSorting (line 628) | updateFilterAndSorting(event) { method updateFacetStatus (line 681) | updateFacetStatus(event) { class FacetStatusComponent (line 708) | class FacetStatusComponent extends Component { method updateListSummary (line 713) | updateListSummary(checkedInputElements) { method #updateSwatchSummary (line 726) | #updateSwatchSummary(checkedInputElements, checkedInputElementsCount) { method #updateBubbleSummary (line 754) | #updateBubbleSummary(checkedInputElements, checkedInputElementsCount) { method updatePriceSummary (line 779) | updatePriceSummary(minInput, maxInput) { method #parseCents (line 802) | #parseCents(value, fallback = '0', currency = '') { method #formatMoney (line 821) | #formatMoney(moneyValue) { method clearSummary (line 833) | clearSummary() { FILE: assets/floating-panel.js constant OFFSET (line 4) | const OFFSET = 40; class FloatingPanelComponent (line 9) | class FloatingPanelComponent extends Component { method connectedCallback (line 44) | connectedCallback() { method disconnectedCallback (line 54) | disconnectedCallback() { FILE: assets/fly-to-cart.js class FlyToCart (line 8) | class FlyToCart extends Component { method connectedCallback (line 18) | connectedCallback() { FILE: assets/focus.js function getFocusableElements (line 10) | function getFocusableElements(container) { function trapFocus (line 22) | function trapFocus(container) { function removeTrapFocus (line 78) | function removeTrapFocus() { function cycleFocus (line 89) | function cycleFocus(items, increment) { FILE: assets/gift-card-recipient-form.js class GiftCardRecipientForm (line 26) | class GiftCardRecipientForm extends Component { method #inputFields (line 56) | get #inputFields() { method connectedCallback (line 60) | connectedCallback() { method disconnectedCallback (line 75) | disconnectedCallback() { method #initializeForm (line 97) | #initializeForm() { method toggleRecipientForm (line 112) | toggleRecipientForm(mode, _event) { method #updateFormState (line 131) | #updateFormState() { method #updateButtonStates (line 178) | #updateButtonStates(mode) { method #clearRecipientFields (line 203) | #clearRecipientFields() { method #disableRecipientFields (line 215) | #disableRecipientFields() { method #enableRecipientFields (line 240) | #enableRecipientFields() { method #updateCharacterCount (line 271) | #updateCharacterCount() { method #setDateConstraints (line 289) | #setDateConstraints() { method #displayCartError (line 314) | #displayCartError(event) { method #displayErrorMessage (line 332) | #displayErrorMessage(title, body) { method #clearErrorMessages (line 381) | #clearErrorMessages() { method #handleCartAdd (line 408) | #handleCartAdd() { FILE: assets/global.d.ts type Shopify (line 4) | interface Shopify { type Theme (line 18) | interface Theme { type Window (line 38) | interface Window { type LoadCallback (line 45) | type LoadCallback = (error: Error | undefined) => void; type ShopifyFeature (line 48) | interface ShopifyFeature { type ModelViewer (line 55) | interface ModelViewer { type Navigator (line 70) | interface Navigator { FILE: assets/header-drawer.js class HeaderDrawer (line 14) | class HeaderDrawer extends Component { method connectedCallback (line 17) | connectedCallback() { method disconnectedCallback (line 24) | disconnectedCallback() { method isOpen (line 42) | get isOpen() { method #getDetailsElement (line 51) | #getDetailsElement(event) { method toggle (line 60) | toggle() { method open (line 69) | open(target, event) { method back (line 95) | back(event) { method close (line 102) | close() { method #close (line 111) | #close(details) { method #setupAnimatedElementListeners (line 144) | #setupAnimatedElementListeners() { method preventInitialAccordionAnimations (line 157) | preventInitialAccordionAnimations(details) { function reset (line 184) | function reset(element) { FILE: assets/header-menu.js class HeaderMenu (line 17) | class HeaderMenu extends Component { method connectedCallback (line 25) | connectedCallback() { method disconnectedCallback (line 33) | disconnectedCallback() { method overflowMenu (line 62) | get overflowMenu() { method overflowListHovered (line 70) | get overflowListHovered() { method headerComponent (line 74) | get headerComponent() { method deactivate (line 168) | deactivate(event) { method #getOverflowListLinksHeight (line 210) | #getOverflowListLinksHeight() { method #setFullOpenHeaderHeight (line 240) | #setFullOpenHeaderHeight(submenuHeight) { method #cleanupMutationObserver (line 264) | #cleanupMutationObserver() { function findMenuItem (line 279) | function findMenuItem(element) { function findSubmenu (line 295) | function findSubmenu(element) { FILE: assets/header.js class HeaderComponent (line 21) | class HeaderComponent extends Component { method #updateMenuVisibility (line 117) | #updateMenuVisibility(hideMenu) { method connectedCallback (line 185) | connectedCallback() { method disconnectedCallback (line 200) | disconnectedCallback() { FILE: assets/jumbo-text.js class JumboText (line 7) | class JumboText extends Component { method connectedCallback (line 8) | connectedCallback() { method disconnectedCallback (line 16) | disconnectedCallback() { method #setIntersectionObserver (line 29) | #setIntersectionObserver() { FILE: assets/layered-slideshow.js constant DRAG_THRESHOLD (line 23) | const DRAG_THRESHOLD = 5; constant MAX_DRAG_WIDTH_RATIO (line 24) | const MAX_DRAG_WIDTH_RATIO = 0.8; constant DRAG_COMPLETE_THRESHOLD (line 25) | const DRAG_COMPLETE_THRESHOLD = 0.5; constant INACTIVE_SIZE (line 26) | const INACTIVE_SIZE = 56; constant INACTIVE_MOBILE_SIZE (line 27) | const INACTIVE_MOBILE_SIZE = 44; constant FOCUSABLE_SELECTOR (line 28) | const FOCUSABLE_SELECTOR = class LayeredSlideshowComponent (line 32) | class LayeredSlideshowComponent extends Component { method #inactiveSize (line 48) | get #inactiveSize() { method connectedCallback (line 52) | connectedCallback() { method #setupEventListeners (line 90) | #setupEventListeners() { method #handleKeydown (line 111) | #handleKeydown(/** @type {KeyboardEvent} */ e) { method #handleTabClick (line 135) | #handleTabClick(/** @type {MouseEvent} */ e, /** @type {number} */ ind... method #handleTabFocus (line 140) | #handleTabFocus(/** @type {FocusEvent} */ e, /** @type {number} */ ind... method #setupPanelFocusManagement (line 150) | #setupPanelFocusManagement(opts) { method #handlePanelKeydown (line 163) | #handlePanelKeydown(event, index) { method #focusPanelEdge (line 199) | #focusPanelEdge(index, position = 'start') { method #getFocusableElements (line 213) | #getFocusableElements(panel) { method #preventClickDuringDrag (line 219) | #preventClickDuringDrag(/** @type {MouseEvent} */ e) { method disconnectedCallback (line 247) | disconnectedCallback() { method select (line 264) | select(index, { instant = false } = {}) { method #activate (line 272) | #activate(index, instant = false) { method #updateActiveTab (line 293) | #updateActiveTab() { method #updateGridSizes (line 319) | #updateGridSizes(containerSize) { method #startDrag (line 334) | #startDrag(event) { method #initializeDrag (line 358) | #initializeDrag(event, initialTarget) { method #handleDrag (line 388) | #handleDrag(event) { method #endDrag (line 440) | #endDrag(ac) { method #observeContentHeight (line 462) | #observeContentHeight() { method #syncHeight (line 493) | #syncHeight() { method #syncDesktopHeight (line 509) | #syncDesktopHeight(contentHeight, isAuto) { method #syncMobileHeight (line 539) | #syncMobileHeight(contentHeight, isAuto) { method #clearHeightStyles (line 564) | #clearHeightStyles() { method #getMaxContentHeight (line 572) | #getMaxContentHeight() { FILE: assets/local-pickup.js class LocalPickup (line 5) | class LocalPickup extends Component { method connectedCallback (line 9) | connectedCallback() { method #createAbortController (line 40) | #createAbortController() { FILE: assets/localization.js class LocalizationFormComponent (line 21) | class LocalizationFormComponent extends Component { method connectedCallback (line 22) | connectedCallback() { method disconnectedCallback (line 34) | disconnectedCallback() { method changeLanguage (line 107) | changeLanguage(event) { method resizeLanguageInput (line 118) | resizeLanguageInput() { method #findMatches (line 171) | #findMatches( method #highlightMatches (line 230) | #highlightMatches(text, searchValue) { method filterCountries (line 258) | filterCountries() { method #changeCountryFocus (line 315) | #changeCountryFocus(direction) { method resetCountriesFilter (line 342) | resetCountriesFilter(event) { method resetForm (line 369) | resetForm() { class DropdownLocalizationComponent (line 416) | class DropdownLocalizationComponent extends Component { method isHidden (line 417) | get isHidden() { method toggleSelector (line 424) | toggleSelector() { method showPanel (line 431) | showPanel() { method #updateWidth (line 474) | #updateWidth() { class DrawerLocalizationComponent (line 503) | class DrawerLocalizationComponent extends Component { method toggle (line 509) | toggle(event) { FILE: assets/marquee.js constant ANIMATION_OPTIONS (line 4) | const ANIMATION_OPTIONS = { class MarqueeComponent (line 18) | class MarqueeComponent extends Component { method connectedCallback (line 21) | async connectedCallback() { method disconnectedCallback (line 41) | disconnectedCallback() { method #speedUp (line 76) | #speedUp() { method clonedContent (line 97) | get clonedContent() { method #setSpeed (line 107) | #setSpeed(value) { method #queryNumberOfCopies (line 111) | async #queryNumberOfCopies() { method #calculateSpeed (line 148) | #calculateSpeed(numberOfCopies) { method #restartAnimation (line 176) | #restartAnimation() { method #duplicateContent (line 186) | #duplicateContent() { method #addRepeatedItems (line 200) | #addRepeatedItems(numberOfCopies) { method #removeRepeatedItems (line 214) | #removeRepeatedItems(numberOfCopies) { function animateValue (line 237) | function animateValue({ from, to, duration, onUpdate, easing = (t) => t ... FILE: assets/media-gallery.js class MediaGallery (line 14) | class MediaGallery extends Component { method connectedCallback (line 15) | connectedCallback() { method disconnectedCallback (line 29) | disconnectedCallback() { method zoom (line 65) | zoom(index, event) { method preloadImage (line 73) | preloadImage(index) { method slideshow (line 80) | get slideshow() { method media (line 84) | get media() { method presentation (line 88) | get presentation() { FILE: assets/media.js class DeferredMedia (line 13) | class DeferredMedia extends Component { method connectedCallback (line 19) | connectedCallback() { method disconnectedCallback (line 27) | disconnectedCallback() { method updatePlayPauseHint (line 36) | updatePlayPauseHint(isPlaying) { method loadContent (line 60) | loadContent(focus = true) { method toggleMedia (line 87) | toggleMedia() { method playMedia (line 95) | playMedia() { method pauseMedia (line 115) | pauseMedia() { class ProductModel (line 145) | class ProductModel extends DeferredMedia { method loadContent (line 148) | loadContent() { method disconnectedCallback (line 160) | disconnectedCallback() { method pauseMedia (line 165) | pauseMedia() { method playMedia (line 170) | playMedia() { method setupModelViewerUI (line 178) | async setupModelViewerUI(errors) { method #waitForModelViewerUI (line 233) | async #waitForModelViewerUI() { FILE: assets/money-formatting.js constant DEFAULT_CURRENCY_DECIMALS (line 12) | const DEFAULT_CURRENCY_DECIMALS = 2; constant CURRENCY_DECIMALS (line 18) | const CURRENCY_DECIMALS = { function convertMoneyToMinorUnits (line 73) | function convertMoneyToMinorUnits(value, currency) { function formatCents (line 133) | function formatCents(moneyValue, thousandsSeparator, decimalSeparator, p... function formatMoney (line 153) | function formatMoney(moneyValue, format, currency) { FILE: assets/morph.js constant HYDRATION_KEY_ATTRIBUTE (line 13) | const HYDRATION_KEY_ATTRIBUTE = 'data-hydration-key'; constant MORPH_OPTIONS (line 19) | const MORPH_OPTIONS = { method reject (line 22) | reject(oldNode, newNode) { method onBeforeUpdate (line 46) | onBeforeUpdate(oldNode, newNode) { method onAfterUpdate (line 82) | onAfterUpdate(node) { function morph (line 96) | function morph(oldTree, newTree, options = MORPH_OPTIONS) { function collectHydrationTargets (line 133) | function collectHydrationTargets(root) { function morphHydrationByKey (line 158) | function morphHydrationByKey(oldRoot, newRoot, options) { function walk (line 198) | function walk(newNode, oldNode, options) { function updateNode (line 245) | function updateNode(newNode, oldNode, options) { function getNodeKey (line 294) | function getNodeKey(node, options) { function updateAttribute (line 304) | function updateAttribute(newNode, oldNode, name) { function copyAttributes (line 320) | function copyAttributes(newNode, oldNode) { function updateInput (line 379) | function updateInput(newNode, oldNode) { function updateTextarea (line 416) | function updateTextarea(newNode, oldNode) { function recreateAppBlockScripts (line 436) | function recreateAppBlockScripts(container) { function updateChildren (line 464) | function updateChildren(newNode, oldNode, options) { function same (line 556) | function same(a, b, options) { FILE: assets/overflow-list.js class OverflowMinimumEvent (line 8) | class OverflowMinimumEvent extends Event { method constructor (line 13) | constructor(minimumReached) { class OverflowList (line 30) | class OverflowList extends DeclarativeShadowElement { method observedAttributes (line 31) | static get observedAttributes() { method attributeChangedCallback (line 40) | attributeChangedCallback(name, oldValue, newValue) { method connectedCallback (line 50) | async connectedCallback() { method #waitForStyles (line 60) | #waitForStyles() { method #initialize (line 77) | #initialize() { method disconnectedCallback (line 134) | disconnectedCallback() { method schedule (line 140) | get schedule() { method minimumItems (line 153) | get minimumItems() { method overflowSlot (line 158) | get overflowSlot() { method defaultSlot (line 163) | get defaultSlot() { method #moveItemsToDefaultSlot (line 202) | #moveItemsToDefaultSlot() { method #reset (line 215) | #reset() { method #updateMinimumReached (line 229) | #updateMinimumReached(visibleElements) { method showAll (line 246) | showAll() { method #observeChanges (line 346) | #observeChanges() { method #unobserveChanges (line 351) | #unobserveChanges() { FILE: assets/paginated-list-aspect-ratio.js class PaginatedListAspectRatioHelper (line 5) | class PaginatedListAspectRatioHelper { method constructor (line 23) | constructor({ templateCard }) { method processNewElements (line 31) | processNewElements() { method #storeImageRatioSettings (line 43) | #storeImageRatioSettings(templateCard) { method #fixAdaptiveAspectRatios (line 51) | #fixAdaptiveAspectRatios() { method #applyFixedAspectRatio (line 96) | #applyFixedAspectRatio() { method #getSafeImageAspectRatio (line 121) | #getSafeImageAspectRatio(width, height) { method #getAspectRatioValue (line 131) | #getAspectRatioValue(ratioSetting) { method #applyAspectRatioToGallery (line 140) | #applyAspectRatioToGallery(gallery, aspectRatio) { method #getUnprocessedGalleries (line 159) | #getUnprocessedGalleries() { method #markAsProcessed (line 167) | #markAsProcessed(gallery) { FILE: assets/paginated-list.js class PaginatedList (line 18) | class PaginatedList extends Component { method connectedCallback (line 36) | connectedCallback() { method disconnectedCallback (line 55) | disconnectedCallback() { method #observeViewMore (line 64) | #observeViewMore() { method #shouldUsePage (line 110) | #shouldUsePage(pageInfo) { method #fetchPage (line 124) | async #fetchPage(type) { method #fetchSpecificPage (line 152) | async #fetchSpecificPage(pageNumber, url = undefined) { method #renderNextPage (line 167) | async #renderNextPage() { method #renderPreviousPage (line 201) | async #renderPreviousPage() { method #getPage (line 254) | #getPage(type) { method #getGridForPage (line 281) | #getGridForPage(page) { method sectionId (line 292) | get sectionId() { FILE: assets/performance.js class ThemePerformance (line 1) | class ThemePerformance { method constructor (line 5) | constructor(metricPrefix) { method createStartingMarker (line 13) | createStartingMarker(benchmarkName) { method measureFromEvent (line 23) | measureFromEvent(benchmarkName, event) { method measureFromMarker (line 38) | measureFromMarker(startMarker) { method measure (line 50) | measure(benchmarkName, callback) { FILE: assets/popover-polyfill.js method constructor (line 14) | constructor(type, { oldState = '', newState = '', ...init } = {}) { function queuePopoverToggleEventTask (line 21) | function queuePopoverToggleEventTask(element, oldState, newState) { function getPopoverVisibilityState (line 44) | function getPopoverVisibilityState(popover) { function lastSetElement (line 48) | function lastSetElement(set) { function popoverTargetAttributeActivationBehavior (line 51) | function popoverTargetAttributeActivationBehavior(element) { function checkPopoverValidity (line 68) | function checkPopoverValidity(element, expectedToBeShowing) { function getStackPosition (line 85) | function getStackPosition(popover) { function topMostClickedPopover (line 97) | function topMostClickedPopover(target) { function topmostAutoOrHintPopover (line 105) | function topmostAutoOrHintPopover(document2) { function topMostPopoverInList (line 120) | function topMostPopoverInList(list) { function getRootNode (line 130) | function getRootNode(node) { function nearestInclusiveOpenPopover (line 137) | function nearestInclusiveOpenPopover(node) { function nearestInclusiveTargetPopoverForInvoker (line 147) | function nearestInclusiveTargetPopoverForInvoker(node) { function topMostPopoverAncestor (line 156) | function topMostPopoverAncestor(newPopover, list) { function isFocusable (line 190) | function isFocusable(focusTarget) { function focusDelegate (line 211) | function focusDelegate(focusTarget) { function popoverFocusingSteps (line 247) | function popoverFocusingSteps(subject) { function showPopover (line 252) | function showPopover(element) { function hidePopover (line 330) | function hidePopover(element, focusPreviousElement = false, fireEvents =... function closeAllOpenPopovers (line 376) | function closeAllOpenPopovers(document2, focusPreviousElement = false, f... function closeAllOpenPopoversInList (line 383) | function closeAllOpenPopoversInList(list, focusPreviousElement = false, ... function hidePopoverStackUntil (line 390) | function hidePopoverStackUntil(endpoint, set, focusPreviousElement, fire... function hideAllPopoversUntil (line 417) | function hideAllPopoversUntil(endpoint, focusPreviousElement, fireEvents) { function lightDismissOpenPopovers (line 438) | function lightDismissOpenPopovers(event) { function setInvokerAriaExpanded (line 457) | function setInvokerAriaExpanded(el, force = false) { function isSupported (line 477) | function isSupported() { function patchSelectorFn (line 484) | function patchSelectorFn(object, name, mapper) { function hasLayerSupport (line 493) | function hasLayerSupport() { function getStyles (line 496) | function getStyles() { function injectStyles (line 563) | function injectStyles(root) { function apply (line 585) | function apply() { FILE: assets/predictive-search.js class PredictiveSearchComponent (line 21) | class PredictiveSearchComponent extends Component { method dialog (line 37) | get dialog() { method connectedCallback (line 41) | connectedCallback() { method disconnectedCallback (line 85) | disconnectedCallback() { method #loadEmptyState (line 113) | #loadEmptyState() { method #allResultsItems (line 119) | get #allResultsItems() { method #currentIndex (line 146) | get #currentIndex() { method #currentIndex (line 150) | set #currentIndex(index) { method #currentItem (line 175) | get #currentItem() { method clearRecentlyViewedProducts (line 246) | clearRecentlyViewedProducts(event) { method #resetScrollPositions (line 302) | #resetScrollPositions() { method #getSearchResults (line 313) | async #getSearchResults(searchTerm) { method #getRecentlyViewedProductsMarkup (line 345) | async #getRecentlyViewedProductsMarkup() { method #hideResetButton (line 358) | #hideResetButton() { method #showResetButton (line 364) | #showResetButton() { method #createAbortController (line 370) | #createAbortController() { FILE: assets/price-per-item.js class PricePerItemComponent (line 17) | class PricePerItemComponent extends Component { method connectedCallback (line 22) | connectedCallback() { method disconnectedCallback (line 29) | disconnectedCallback() { method #parsePriceBreaks (line 37) | #parsePriceBreaks() { method #attachEventListeners (line 63) | #attachEventListeners() { method #getCurrentQuantity (line 94) | #getCurrentQuantity() { method updatePriceDisplay (line 110) | updatePriceDisplay() { FILE: assets/product-card.js class ProductCardLink (line 22) | class ProductCardLink extends Component { method productTransitionEnabled (line 23) | get productTransitionEnabled() { method featuredMediaUrl (line 27) | get featuredMediaUrl() { method handleViewTransition (line 35) | handleViewTransition(event) { method #setImageSrcset (line 68) | #setImageSrcset(image) { class ProductCard (line 105) | class ProductCard extends ProductCardLink { method productPageUrl (line 108) | get productPageUrl() { method getSelectedVariantId (line 116) | getSelectedVariantId() { method getProductCardLink (line 128) | getProductCardLink() { method connectedCallback (line 155) | connectedCallback() { method disconnectedCallback (line 177) | disconnectedCallback() { method #preloadNextPreviewImage (line 182) | #preloadNextPreviewImage() { method #updateOverflowList (line 244) | #updateOverflowList() { method updatePrice (line 266) | updatePrice(event) { method #updateProductUrl (line 279) | #updateProductUrl(event) { method #isUnavailableVariantSelected (line 310) | #isUnavailableVariantSelected(event) { method #toggleAddToCartButton (line 324) | #toggleAddToCartButton(enable) { method #updateVariantImages (line 335) | #updateVariantImages() { method allVariants (line 360) | get allVariants() { method variantPicker (line 368) | get variantPicker() { method previewVariant (line 388) | previewVariant(id) { method previewImage (line 401) | previewImage(event) { method resetImage (line 422) | resetImage(event) { class SwatchesVariantPickerComponent (line 536) | class SwatchesVariantPickerComponent extends VariantPicker { method connectedCallback (line 537) | connectedCallback() { method #handleCardVariantUrlUpdate (line 550) | #handleCardVariantUrlUpdate() { method variantChanged (line 563) | variantChanged(event) { method showAllSwatches (line 608) | showAllSwatches(event) { FILE: assets/product-custom-property.js class ProductCustomProperty (line 14) | class ProductCustomProperty extends Component { method handleInput (line 15) | handleInput() { method #updateCharacterCount (line 19) | #updateCharacterCount() { FILE: assets/product-form.js constant ERROR_MESSAGE_DISPLAY_DURATION (line 8) | const ERROR_MESSAGE_DISPLAY_DURATION = 10000; constant ERROR_BUTTON_REENABLE_DELAY (line 11) | const ERROR_BUTTON_REENABLE_DELAY = 1000; constant SUCCESS_MESSAGE_DISPLAY_DURATION (line 14) | const SUCCESS_MESSAGE_DISPLAY_DURATION = 5000; class AddToCartComponent (line 31) | class AddToCartComponent extends Component { method connectedCallback (line 37) | connectedCallback() { method disconnectedCallback (line 43) | disconnectedCallback() { method disable (line 55) | disable() { method enable (line 62) | enable() { method handleClick (line 70) | handleClick(event) { method #animateFlyToCart (line 104) | #animateFlyToCart() { class ProductFormComponent (line 191) | class ProductFormComponent extends Component { method connectedCallback (line 204) | connectedCallback() { method disconnectedCallback (line 216) | disconnectedCallback() { method #updateCartQuantityFromData (line 227) | #updateCartQuantityFromData(cart) { method #fetchAndUpdateCartQuantity (line 250) | async #fetchAndUpdateCartQuantity() { method handleSubmit (line 282) | handleSubmit(event) { method #getIntendedVariantId (line 301) | #getIntendedVariantId() { method #getQuantity (line 306) | #getQuantity() { method #processAddToCart (line 315) | #processAddToCart(overrideVariantId, overrideQuantity, event) { method #processBatchAddToCart (line 492) | #processBatchAddToCart(items) { method #updateQuantityLabel (line 594) | #updateQuantityLabel(cartQty) { method #setLiveRegionText (line 610) | #setLiveRegionText(text) { method #clearLiveRegionText (line 615) | #clearLiveRegionText() { method #morphOrUpdateElement (line 626) | #morphOrUpdateElement(currentElement, newElement, insertReferenceEleme... FILE: assets/product-hotspot.js class ProductHotspotComponent (line 16) | class ProductHotspotComponent extends Component { method connectedCallback (line 22) | connectedCallback() { method disconnectedCallback (line 32) | disconnectedCallback() { method #openQuickAddModal (line 44) | #openQuickAddModal() { method #setupDesktopListeners (line 55) | #setupDesktopListeners() { method #removeDesktopListeners (line 77) | #removeDesktopListeners() { method #calculateDialogPlacement (line 111) | #calculateDialogPlacement() { method getHotspotProductLink (line 253) | getHotspotProductLink() { FILE: assets/product-inventory.js class ProductInventory (line 5) | class ProductInventory extends Component { method connectedCallback (line 6) | connectedCallback() { method disconnectedCallback (line 12) | disconnectedCallback() { FILE: assets/product-price.js class ProductPrice (line 19) | class ProductPrice extends Component { method connectedCallback (line 20) | connectedCallback() { method disconnectedCallback (line 27) | disconnectedCallback() { FILE: assets/product-recommendations.js class ProductRecommendations (line 3) | class ProductRecommendations extends Component { method connectedCallback (line 58) | connectedCallback() { method disconnectedCallback (line 64) | disconnectedCallback() { method #loadRecommendations (line 73) | #loadRecommendations() { method #fetchCachedRecommendations (line 121) | async #fetchCachedRecommendations(productId, sectionId, intent) { method #handleError (line 150) | #handleError(error) { FILE: assets/product-sku.js class ProductSkuComponent (line 17) | class ProductSkuComponent extends Component { method connectedCallback (line 20) | connectedCallback() { method disconnectedCallback (line 27) | disconnectedCallback() { FILE: assets/product-title-truncation.js class ProductTitle (line 13) | class ProductTitle extends Component { method constructor (line 14) | constructor() { method connectedCallback (line 18) | connectedCallback() { method #initializeTruncation (line 26) | #initializeTruncation() { method #calculateTruncation (line 44) | #calculateTruncation() { method #handleResize (line 69) | #handleResize() { method disconnectedCallback (line 73) | disconnectedCallback() { FILE: assets/qr-code-generator.js function QR8bitByte (line 54) | function QR8bitByte(data) { function QRCodeModel (line 114) | function QRCodeModel(typeNumber, errorCorrectLevel) { function QRPolynomial (line 808) | function QRPolynomial(num, shift) { function QRRSBlock (line 872) | function QRRSBlock(totalCount, dataCount) { function QRBitBuffer (line 1083) | function QRBitBuffer() { function isSupportCanvas (line 1175) | function isSupportCanvas() { function makeSVG (line 1204) | function makeSVG(tag, attrs) { function onMakeImage (line 1322) | function onMakeImage() { function getTypeNumber (line 1484) | function getTypeNumber(sText, nCorrectLevel) { function getUTF8Length (line 1534) | function getUTF8Length(sText) { function QRCode (line 1620) | function QRCode(el, vOption) { FILE: assets/qr-code-image.js class QRCodeImage (line 8) | class QRCodeImage extends Component { method connectedCallback (line 16) | connectedCallback() { FILE: assets/quick-add.js class QuickAddComponent (line 8) | class QuickAddComponent extends Component { method productPageUrl (line 16) | get productPageUrl() { method #getSelectedVariantId (line 43) | #getSelectedVariantId() { method connectedCallback (line 48) | connectedCallback() { method disconnectedCallback (line 58) | disconnectedCallback() { method #updateVariantPicker (line 78) | #updateVariantPicker(newHtml) { method #resetScroll (line 120) | #resetScroll() { method #stayVisibleUntilDialogCloses (line 131) | #stayVisibleUntilDialogCloses(dialogComponent) { method fetchProductPage (line 166) | async fetchProductPage(productPageUrl) { method updateQuickAddModal (line 201) | async updateQuickAddModal(productGrid) { method #updateQuickAddButtonState (line 245) | #updateQuickAddButtonState(event) { method #syncVariantSelection (line 257) | #syncVariantSelection(modalContent) { class QuickAddDialog (line 277) | class QuickAddDialog extends DialogComponent { method connectedCallback (line 280) | connectedCallback() { method disconnectedCallback (line 289) | disconnectedCallback() { FILE: assets/quick-order-list.js class QuickOrderListComponent (line 21) | class QuickOrderListComponent extends Component { method currentPage (line 45) | get currentPage() { method cartVariantIds (line 59) | get cartVariantIds() { method connectedCallback (line 66) | connectedCallback() { method disconnectedCallback (line 78) | disconnectedCallback() { method #isQuantityInput (line 93) | #isQuantityInput(target) { method #scrollToCenter (line 147) | #scrollToCenter(element) { method onPaginationControlClick (line 159) | async onPaginationControlClick(data, event) { method onLineItemRemove (line 184) | async onLineItemRemove(variantId, event) { method onRemoveAll (line 201) | async onRemoveAll(event) { method #handleQuantityUpdate (line 272) | async #handleQuantityUpdate(event) { method #handleCartUpdate (line 368) | async #handleCartUpdate(event) { method #disableQuickOrderListItems (line 397) | #disableQuickOrderListItems() { method #enableQuickOrderListItems (line 401) | #enableQuickOrderListItems() { method showRemoveAllConfirmation (line 409) | showRemoveAllConfirmation(event) { method hideRemoveAllConfirmation (line 418) | hideRemoveAllConfirmation(event) { method #toggleConfirmationPanel (line 427) | #toggleConfirmationPanel(show) { method #showErrorMessage (line 436) | #showErrorMessage(message) { method #clearErrorMessage (line 444) | #clearErrorMessage() { method #showSuccessMessage (line 452) | #showSuccessMessage(quantityAdded) { method #clearSuccessMessage (line 464) | #clearSuccessMessage() { method #applyShimmerEffects (line 472) | #applyShimmerEffects(variantIds) { method #scrollToTopOfSection (line 489) | #scrollToTopOfSection() { method #updateSectionHTML (line 501) | #updateSectionHTML(data) { method #getSectionIds (line 514) | #getSectionIds() { FILE: assets/recently-viewed-products.js class RecentlyViewed (line 4) | class RecentlyViewed { method addProduct (line 14) | static addProduct(productId) { method clearProducts (line 24) | static clearProducts() { method getProducts (line 32) | static getProducts() { FILE: assets/results-list.js class ResultsList (line 7) | class ResultsList extends PaginatedList { method connectedCallback (line 8) | connectedCallback() { method disconnectedCallback (line 15) | disconnectedCallback() { method updateLayout (line 24) | updateLayout({ target }) { method #setLayout (line 53) | #setLayout(value) { FILE: assets/rte-formatter.js class RTEFormatter (line 6) | class RTEFormatter extends Component { method connectedCallback (line 7) | connectedCallback() { method #formatTable (line 16) | #formatTable(table) { FILE: assets/scrolling.js constant SCROLL_END_TIMEOUT (line 7) | const SCROLL_END_TIMEOUT = 50; class Scroller (line 14) | class Scroller { method constructor (line 84) | constructor(element, options) { method to (line 101) | async to(input, options) { method by (line 129) | by(value, options) { method #scroll (line 140) | #scroll(options) { method axis (line 170) | get axis() { method finished (line 179) | get finished() { method #edge (line 187) | get #edge() { method #setup (line 194) | #setup() { method snap (line 258) | set snap(value) { method destroy (line 267) | destroy() { function getScrollAxis (line 277) | function getScrollAxis(el) { function calculatePaddingStart (line 295) | function calculatePaddingStart(element, axis) { function scrollIntoView (line 311) | function scrollIntoView(element, { ancestor, behavior = 'smooth', block ... class ScrollHint (line 370) | class ScrollHint extends HTMLElement { method connectedCallback (line 374) | connectedCallback() { method disconnectedCallback (line 379) | disconnectedCallback() { FILE: assets/search-page-input.js class SearchPageInputComponent (line 11) | class SearchPageInputComponent extends Component { method #submitEmptySearch (line 28) | #submitEmptySearch() { FILE: assets/section-hydration.js function hydrateSection (line 11) | async function hydrateSection(sectionId, url) { function hydrate (line 31) | async function hydrate(sectionId, url) { FILE: assets/section-renderer.js class SectionRenderer (line 6) | class SectionRenderer { method constructor (line 25) | constructor() { method renderSection (line 38) | async renderSection(sectionId, options) { method #abortPendingMorph (line 61) | #abortPendingMorph(sectionId) { method getSectionHTML (line 75) | async getSectionHTML(sectionId, useCache = true, url = new URL(window.... method #cachePageSections (line 103) | #cachePageSections() { constant SECTION_ID_PREFIX (line 114) | const SECTION_ID_PREFIX = 'shopify-section-'; function buildSectionRenderingURL (line 122) | function buildSectionRenderingURL(sectionId, url = new URL(window.locati... function buildSectionSelector (line 134) | function buildSectionSelector(sectionId) { function normalizeSectionId (line 143) | function normalizeSectionId(sectionId) { function containsShadowRoot (line 152) | function containsShadowRoot(element) { function morphSection (line 167) | async function morphSection(sectionId, html, mode = 'full') { FILE: assets/show-more.js class ShowMoreComponent (line 17) | class ShowMoreComponent extends Component { method #currentBreakpoint (line 43) | get #currentBreakpoint() { method connectedCallback (line 57) | connectedCallback() { method #onAnimationFinish (line 127) | #onAnimationFinish() { FILE: assets/slideshow.js constant SLIDE_VISIBLITY_THRESHOLD (line 16) | const SLIDE_VISIBLITY_THRESHOLD = 0.7; class SlideshowViewportObserver (line 26) | class SlideshowViewportObserver { method getInstance (line 37) | static getInstance() { method observe (line 48) | observe(slideshow) { method unobserve (line 74) | unobserve(slideshow) { class Slideshow (line 95) | class Slideshow extends Component { method observedAttributes (line 96) | static get observedAttributes() { method attributeChangedCallback (line 105) | attributeChangedCallback(name, oldValue, newValue) { method connectedCallback (line 125) | async connectedCallback() { method disconnectedCallback (line 143) | disconnectedCallback() { method isNested (line 174) | get isNested() { method initialSlide (line 178) | get initialSlide() { method select (line 189) | async select(input, event, options = {}) { method next (line 323) | next(event, options) { method previous (line 334) | previous(event, options) { method play (line 343) | play(interval = this.autoplayInterval) { method pause (line 358) | pause() { method paused (line 363) | get paused() { method paused (line 367) | set paused(value) { method suspend (line 378) | suspend() { method resume (line 386) | resume() { method autoplay (line 393) | get autoplay() { method autoplayInterval (line 397) | get autoplayInterval() { method current (line 412) | get current() { method current (line 420) | set current(value) { method infinite (line 435) | get infinite() { method visibleSlides (line 439) | get visibleSlides() { method previousIndex (line 443) | get previousIndex() { method nextIndex (line 450) | get nextIndex() { method atStart (line 457) | get atStart() { method atEnd (line 463) | get atEnd() { method disabled (line 473) | set disabled(value) { method disabled (line 480) | get disabled() { method #setupSlideshowWithoutControls (line 525) | #setupSlideshowWithoutControls() { method #setupSlideshow (line 542) | #setupSlideshow() { method slides (line 819) | get slides() { method initialSlideIndex (line 827) | get initialSlideIndex() { method #updateControlsVisibility (line 839) | #updateControlsVisibility() { method #setupIntersectionObserver (line 852) | #setupIntersectionObserver() { method #centerSelectedThumbnail (line 904) | #centerSelectedThumbnail(index, behavior = 'smooth') { method #updateVisibleSlides (line 922) | #updateVisibleSlides() { FILE: assets/sticky-add-to-cart.js class StickyAddToCartComponent (line 41) | class StickyAddToCartComponent extends Component { method connectedCallback (line 71) | connectedCallback() { method disconnectedCallback (line 88) | disconnectedCallback() { method #setupIntersectionObserver (line 101) | #setupIntersectionObserver() { method #showStickyBar (line 296) | #showStickyBar() { method #hideStickyBar (line 305) | #hideStickyBar() { method #getProductForm (line 316) | #getProductForm() { method #getInitialQuantity (line 332) | #getInitialQuantity() { method #updateButtonText (line 340) | #updateButtonText() { FILE: assets/theme-editor.js function wasPageUnloading (line 174) | function wasPageUnloading() { function clearAllEditorStates (line 186) | function clearAllEditorStates() { function getEditorState (line 198) | function getEditorState(name) { function saveEditorState (line 208) | function saveEditorState(name, isOpen, instanceId) { method matches (line 217) | matches(el) { method matches (line 226) | matches(el) { method matches (line 236) | matches(el) { method matches (line 246) | matches(el) { method matches (line 256) | matches(el) { method matches (line 268) | matches(el) { method matches (line 282) | matches(el) { method matches (line 298) | matches(el) { method matches (line 317) | matches(el) { method matches (line 326) | matches(el) { FILE: assets/utilities.js function isLowPowerDevice (line 29) | function isLowPowerDevice() { function supportsViewTransitions (line 37) | function supportsViewTransitions() { function startViewTransition (line 92) | function startViewTransition(callback, types) { function fetchConfig (line 147) | function fetchConfig(type = 'json', config = {}) { function debounce (line 174) | function debounce(fn, wait) { function throttle (line 200) | function throttle(fn, delay) { function prefersReducedMotion (line 230) | function prefersReducedMotion() { function normalizeString (line 239) | function normalizeString(str) { function onDocumentLoaded (line 250) | function onDocumentLoaded(callback) { function onDocumentReady (line 263) | function onDocumentReady(callback) { function removeWillChangeOnAnimationEnd (line 276) | function removeWillChangeOnAnimationEnd(event) { function onAnimationEnd (line 291) | function onAnimationEnd(elements, callback, options = { subtree: true }) { function isClickedOutside (line 313) | function isClickedOutside(event, element) { function isPointWithinElement (line 328) | function isPointWithinElement(x, y, element) { function isMobileBreakpoint (line 344) | function isMobileBreakpoint() { function isDesktopBreakpoint (line 352) | function isDesktopBreakpoint() { function isTouchDevice (line 360) | function isTouchDevice() { function clamp (line 371) | function clamp(value, min, max) { function center (line 383) | function center(element, axis) { function start (line 401) | function start(element, axis) { function closest (line 416) | function closest(values, target) { function preventDefault (line 426) | function preventDefault(event) { function getVisibleElements (line 439) | function getVisibleElements(root, elements, ratio = 1, axis) { function getIOSVersion (line 484) | function getIOSVersion() { function getCardsToAnimate (line 510) | function getCardsToAnimate(grid, cards) { function preloadImage (line 563) | function preloadImage(src) { class TextComponent (line 568) | class TextComponent extends HTMLElement { method shimmer (line 569) | shimmer() { function resetShimmer (line 582) | function resetShimmer(container = document.body) { function changeMetaThemeColor (line 591) | function changeMetaThemeColor(color) { function getViewParameterValue (line 604) | function getViewParameterValue() { function parseIntOrDefault (line 616) | function parseIntOrDefault(value, defaultValue) { class Scheduler (line 624) | class Scheduler { function oncePerEditorSession (line 663) | function oncePerEditorSession(element, sessionKeyName, callback) { class ResizeNotifier (line 683) | class ResizeNotifier extends ResizeObserver { method constructor (line 689) | constructor(callback) { method disconnect (line 696) | disconnect() { function setHeaderMenuStyle (line 705) | function setHeaderMenuStyle() { function calculateHeaderGroupHeight (line 722) | function calculateHeaderGroupHeight( function updateTransparentHeaderOffset (line 748) | function updateTransparentHeaderOffset() { function updateHeaderHeights (line 766) | function updateHeaderHeights() { function updateAllHeaderCustomProperties (line 787) | function updateAllHeaderCustomProperties() { FILE: assets/variant-picker.js class VariantPicker (line 17) | class VariantPicker extends Component { method connectedCallback (line 32) | connectedCallback() { method disconnectedCallback (line 50) | disconnectedCallback() { method variantChanged (line 59) | variantChanged(event) { method #getFieldsetMeasurements (line 130) | #getFieldsetMeasurements(fieldsetIndex) { method #applyFieldsetMeasurements (line 153) | #applyFieldsetMeasurements({ fieldset, currentWidth, previousWidth, cu... method updateFieldsetCss (line 171) | updateFieldsetCss(fieldsetIndex) { method updateSelectedOption (line 184) | updateSelectedOption(target) { method buildRequestUrl (line 259) | buildRequestUrl(selectedOption, source = null, sourceSelectedOptionsVa... method fetchUpdatedSection (line 306) | fetchUpdatedSection(requestUrl, morphElementSelector) { method updateVariantPicker (line 363) | updateVariantPicker(newHtml) { method updateVariantPickerCss (line 399) | updateVariantPickerCss() { method updateElement (line 416) | updateElement(newHtml, elementSelector) { method updateMain (line 431) | updateMain(newHtml) { method selectedOption (line 446) | get selectedOption() { method selectedOptionId (line 460) | get selectedOptionId() { method selectedOptionsValues (line 476) | get selectedOptionsValues() { FILE: assets/video-background.js class VideoBackgroundComponent (line 12) | class VideoBackgroundComponent extends Component { method connectedCallback (line 15) | connectedCallback() { FILE: assets/view-transitions.js function shouldSkipViewTransition (line 93) | function shouldSkipViewTransition(viewTransition) { function isLowPowerDevice (line 100) | function isLowPowerDevice() { FILE: assets/volume-pricing-info.js class VolumePricingInfoComponent (line 13) | class VolumePricingInfoComponent extends Component { method connectedCallback (line 17) | connectedCallback() { method updatedCallback (line 38) | updatedCallback() { method updateActiveTier (line 50) | updateActiveTier(quantity) { FILE: assets/volume-pricing.js class VolumePricingComponent (line 9) | class VolumePricingComponent extends Component { method toggleExpanded (line 13) | toggleExpanded() { FILE: assets/zoom-dialog.js class ZoomDialog (line 24) | class ZoomDialog extends Component { method connectedCallback (line 29) | connectedCallback() { method disconnectedCallback (line 34) | disconnectedCallback() { method open (line 45) | async open(index, event) { method loadHighResolutionImage (line 89) | loadHighResolutionImage(mediaContainer) { method close (line 139) | async close() { method closeDialog (line 182) | closeDialog() { method handleKeyDown (line 193) | handleKeyDown(event) { method handleThumbnailClick (line 204) | async handleThumbnailClick(index) { method handleThumbnailPointerEnter (line 213) | async handleThumbnailPointerEnter(index) { method selectThumbnail (line 226) | async selectThumbnail(index, options = { behavior: 'smooth' }) { function getMostVisibleElement (line 270) | function getMostVisibleElement(elements) {