{
  "version": 3,
  "sources": ["/cdn/shop/t/60/assets/govee-mega-menu.js?cb=render-fallback-20260625-1550"],
  "sourcesContent": ["import { Component } from '@theme/component';\nimport { normalizeString } from '@theme/utilities';\n\n/**\n * @typedef {{\n *   title?: string;\n *   handle?: string;\n *   icon?: string;\n *   badge?: string;\n *   description?: string;\n *   view_all_label?: string;\n *   view_all_url?: string;\n *   featured_cards?: RawCard[];\n *   image_entries?: RawImageEntry[];\n * }} RawCategory\n *\n * @typedef {{\n *   title?: string;\n *   subtitle?: string;\n *   badge?: string;\n *   url?: string;\n *   image_url?: string;\n *   image_alt?: string;\n * }} RawCard\n *\n * @typedef {{\n *   title?: string;\n *   badge?: string;\n *   url?: string;\n *   image_url?: string;\n *   image_alt?: string;\n * }} RawImageEntry\n *\n * @typedef {{\n *   link?: { title?: string; handle?: string; url?: string };\n *   source?: string;\n *   panel?: {\n *     eyebrow?: string;\n *     category_heading?: string;\n *     room_heading?: string;\n *     view_all_label?: string;\n *     view_all_url?: string;\n *     room_view_all_label?: string;\n *     room_view_all_url?: string;\n *     empty_title?: string;\n *     empty_copy?: string;\n *     categories?: RawCategory[];\n *     room_entries?: RawImageEntry[];\n *   };\n * }} RawPanelData\n */\n\n/**\n * @typedef {{\n *   id: string;\n *   title: string;\n *   subtitle: string;\n *   badge: string;\n *   url: string;\n *   image: { src: string; alt: string };\n * }} ProductCard\n *\n * @typedef {{\n *   id: string;\n *   title: string;\n *   badge: string;\n *   url: string;\n *   image: { src: string; alt: string };\n * }} ImageEntryCard\n *\n * @typedef {{\n *   id: string;\n *   title: string;\n *   icon: string;\n *   badge: string;\n *   description: string;\n *   viewAllLabel: string;\n *   viewAllUrl: string;\n *   cards: ProductCard[];\n *   imageEntries: ImageEntryCard[];\n * }} Category\n *\n * @typedef {{\n *   state: 'ready' | 'empty' | 'error';\n *   id: string;\n *   title: string;\n *   eyebrow: string;\n *   categoryHeading: string;\n *   roomHeading: string;\n *   viewAllLabel: string;\n *   viewAllUrl: string;\n *   roomViewAllLabel: string;\n *   roomViewAllUrl: string;\n *   emptyTitle: string;\n *   emptyCopy: string;\n *   categories: Category[];\n *   roomEntries: ImageEntryCard[];\n * }} MegaMenuPanel\n */\n\nconst DEFAULT_EYEBROW = 'Curated Navigation';\nconst DEFAULT_CATEGORY_HEADING = 'Shop By Category';\nconst DEFAULT_ROOM_HEADING = 'Shop By Room';\nconst DEFAULT_VIEW_ALL = 'View All >';\nconst MEGA_TEXT_FIX_STYLE_ID = 'sibrille-govee-mega-text-fix-20260610';\nconst MEGA_TEXT_FIX_CSS = `\n@media screen and (min-width: 990px) {\n  body #header-component .header-menu[data-menu-variant='govee-mega'] .govee-mega-menu__surface,\n  body #header-component .header-menu[data-menu-variant='govee-mega'] .govee-mega-menu__state {\n    grid-template-columns: 244px minmax(560px, 620px) 300px !important;\n    gap: clamp(44px, 3.2vw, 52px) !important;\n  }\n\n  body #header-component .header-menu[data-menu-variant='govee-mega'] .govee-mega-menu__feature-rail {\n    max-width: 620px !important;\n  }\n\n  body #header-component .header-menu[data-menu-variant='govee-mega'] .govee-mega-menu__category-trigger {\n    overflow: visible !important;\n  }\n\n  body #header-component .header-menu[data-menu-variant='govee-mega'] .govee-mega-menu__category-content,\n  body #header-component .header-menu[data-menu-variant='govee-mega'] .govee-mega-menu__category-title-row {\n    width: 100% !important;\n    min-width: 0 !important;\n  }\n\n  body #header-component .header-menu[data-menu-variant='govee-mega'] .govee-mega-menu__category-title-row {\n    gap: 6px !important;\n  }\n\n  body #header-component .header-menu[data-menu-variant='govee-mega'] .govee-mega-menu__category-title {\n    flex: 1 1 auto !important;\n    min-width: 0 !important;\n    white-space: nowrap !important;\n  }\n\n  body #header-component .header-menu[data-menu-variant='govee-mega'] .govee-mega-menu__badge {\n    flex: 0 0 auto !important;\n    padding-inline: 8px !important;\n  }\n\n  body #header-component .header-menu[data-menu-variant='govee-mega'] .govee-mega-menu__cards-grid {\n    gap: 36px 36px !important;\n  }\n\n  body #header-component .header-menu[data-menu-variant='govee-mega'] .govee-product-card {\n    min-height: 96px !important;\n  }\n\n  body #header-component .header-menu[data-menu-variant='govee-mega'] .govee-product-card__body,\n  body #header-component .header-menu[data-menu-variant='govee-mega'] .govee-product-card__title-row,\n  body #header-component .header-menu[data-menu-variant='govee-mega'] .govee-product-card__title,\n  body #header-component .header-menu[data-menu-variant='govee-mega'] .govee-product-card__subtitle {\n    min-width: 0 !important;\n  }\n\n  body #header-component .header-menu[data-menu-variant='govee-mega'] .govee-product-card__title,\n  body #header-component .header-menu[data-menu-variant='govee-mega'] .govee-product-card__subtitle {\n    white-space: normal !important;\n    overflow-wrap: anywhere !important;\n    -webkit-line-clamp: 2 !important;\n  }\n\n  body #header-component .header-menu[data-menu-variant='govee-mega'] .govee-mega-menu__room-rail {\n    max-width: 300px !important;\n  }\n\n  body #header-component .header-menu[data-menu-variant='govee-mega'] .govee-room-card__visual,\n  body #header-component .header-menu[data-menu-variant='govee-mega'] .govee-mega-menu__feature-card,\n  body #header-component .header-menu[data-menu-variant='govee-mega'] .govee-mega-menu__feature-card-visual {\n    width: 300px !important;\n  }\n}`;\n\nfunction injectMegaTextFixStyles() {\n  if (typeof document === 'undefined' || document.getElementById(MEGA_TEXT_FIX_STYLE_ID)) return;\n\n  const style = document.createElement('style');\n  style.id = MEGA_TEXT_FIX_STYLE_ID;\n  style.textContent = MEGA_TEXT_FIX_CSS;\n  document.head.appendChild(style);\n}\n\nclass GoveeMegaMenuPanel extends Component {\n  /** @type {MegaMenuPanel | null} */\n  #panel = null;\n\n  /** @type {number | null} */\n  #renderTimer = null;\n\n  /** @type {string | null} */\n  #sourceSnapshot = null;\n\n  connectedCallback() {\n    super.connectedCallback();\n    injectMegaTextFixStyles();\n    this.#queueRender();\n  }\n\n  updatedCallback() {\n    super.updatedCallback();\n    const source = this.querySelector('[data-govee-mega-menu-source]');\n    const snapshot = source instanceof HTMLScriptElement ? source.textContent || '' : null;\n    const mount = this.refs.mount || this.querySelector('[ref=\"mount\"]');\n\n    if (\n      this.#panel &&\n      snapshot === this.#sourceSnapshot &&\n      mount instanceof HTMLElement &&\n      mount.innerHTML.trim() !== ''\n    ) {\n      return;\n    }\n\n    this.#queueRender();\n  }\n\n  disconnectedCallback() {\n    super.disconnectedCallback();\n\n    if (this.#renderTimer !== null) {\n      clearTimeout(this.#renderTimer);\n      this.#renderTimer = null;\n    }\n  }\n\n  renderNow() {\n    this.#queueRender();\n  }\n\n  #queueRender() {\n    if (this.#renderTimer !== null) {\n      clearTimeout(this.#renderTimer);\n    }\n\n    const mount = this.#getOrCreateMount();\n    const source = this.querySelector('[data-govee-mega-menu-source]');\n\n    if (mount instanceof HTMLElement && source instanceof HTMLScriptElement) {\n      this.#render();\n      return;\n    }\n\n    // Defer the initial render so refs and inline JSON are present after the\n    // custom element upgrades inside Shopify's server-rendered mega menu markup.\n    this.#renderTimer = window.setTimeout(() => {\n      this.#renderTimer = null;\n      this.#render();\n    }, 0);\n  }\n\n  #getOrCreateMount() {\n    let mount = this.refs.mount || this.querySelector('[ref=\"mount\"], .govee-mega-menu-panel__mount');\n\n    if (mount instanceof HTMLElement) {\n      if (!mount.hasAttribute('ref')) mount.setAttribute('ref', 'mount');\n      return mount;\n    }\n\n    mount = document.createElement('div');\n    mount.className = 'govee-mega-menu-panel__mount';\n    mount.setAttribute('ref', 'mount');\n\n    const source = this.querySelector('[data-govee-mega-menu-source]');\n    if (source instanceof HTMLScriptElement) {\n      source.insertAdjacentElement('afterend', mount);\n    } else {\n      this.appendChild(mount);\n    }\n\n    this.refs.mount = mount;\n    return mount;\n  }\n\n  #render() {\n    const mount = this.#getOrCreateMount();\n    const source = this.querySelector('[data-govee-mega-menu-source]');\n    if (!(mount instanceof HTMLElement) || !(source instanceof HTMLScriptElement)) return;\n    this.#sourceSnapshot = source.textContent || '';\n\n    try {\n      const raw = /** @type {RawPanelData} */ (JSON.parse(this.#sourceSnapshot || '{}'));\n      this.#panel = adaptMegaMenuPanel(raw);\n    } catch (error) {\n      console.error('Unable to parse mega menu payload', error);\n      this.#panel = {\n        state: 'error',\n        id: this.dataset.linkHandle || 'mega-menu',\n        title: this.dataset.linkTitle || 'Mega Menu',\n        eyebrow: DEFAULT_EYEBROW,\n        categoryHeading: DEFAULT_CATEGORY_HEADING,\n        roomHeading: DEFAULT_ROOM_HEADING,\n        viewAllLabel: DEFAULT_VIEW_ALL,\n        viewAllUrl: '#',\n        emptyTitle: 'This mega menu could not be rendered.',\n        emptyCopy: 'Check the linked Shopify navigation item and metaobject payload.',\n        categories: [],\n      };\n    }\n\n    mount.innerHTML = renderMegaMenuPanel(this.#panel);\n    this.#attachImageFallbacks(mount);\n    this.#bindCategorySwitching(mount);\n  }\n\n  /**\n   * @param {HTMLElement} mount\n   */\n  #attachImageFallbacks(mount) {\n    mount.querySelectorAll('[data-media-card]').forEach((card) => {\n      const image = card.querySelector('img');\n      if (!(image instanceof HTMLImageElement)) {\n        card.setAttribute('data-image-failed', 'true');\n        return;\n      }\n\n      const fail = () => {\n        card.setAttribute('data-image-failed', 'true');\n      };\n\n      if (!image.getAttribute('src')) {\n        fail();\n        return;\n      }\n\n      image.addEventListener('error', fail, { once: true });\n    });\n  }\n\n  /**\n   * @param {HTMLElement} mount\n   */\n  #bindCategorySwitching(mount) {\n    const root = mount.querySelector('[data-govee-panel-root]');\n    if (!(root instanceof HTMLElement)) return;\n\n    const buttons = [...root.querySelectorAll('[data-category-trigger]')];\n    const panels = [...root.querySelectorAll('[data-category-panel]')];\n\n    if (!buttons.length || !panels.length) return;\n\n    const setActive = (id) => {\n      buttons.forEach((button) => {\n        const isActive = button.getAttribute('data-category-trigger') === id;\n        button.setAttribute('aria-selected', String(isActive));\n        button.tabIndex = isActive ? 0 : -1;\n        button.toggleAttribute('data-active', isActive);\n      });\n\n      panels.forEach((panel) => {\n        const isActive = panel.getAttribute('data-category-panel') === id;\n        panel.classList.toggle('is-active', isActive);\n        panel.setAttribute('aria-hidden', String(!isActive));\n      });\n    };\n\n    buttons.forEach((button) => {\n      const activate = () => setActive(button.getAttribute('data-category-trigger') || '');\n      button.addEventListener('pointerenter', activate);\n      button.addEventListener('focus', activate);\n      button.addEventListener('click', activate);\n    });\n\n    const initial = buttons.find((button) => button.hasAttribute('data-active')) || buttons[0];\n    setActive(initial.getAttribute('data-category-trigger') || '');\n  }\n}\n\nif (!customElements.get('govee-mega-menu-panel')) {\n  customElements.define('govee-mega-menu-panel', GoveeMegaMenuPanel);\n}\n\nfunction hydrateGoveeMegaMenuPanels() {\n  injectMegaTextFixStyles();\n  document.querySelectorAll('govee-mega-menu-panel').forEach((panel) => {\n    if (typeof panel.renderNow === 'function') {\n      panel.renderNow();\n    }\n  });\n}\n\nfunction scheduleGoveeMegaMenuHydration() {\n  window.requestAnimationFrame(hydrateGoveeMegaMenuPanels);\n}\n\ncustomElements.whenDefined('govee-mega-menu-panel').then(() => {\n  scheduleGoveeMegaMenuHydration();\n\n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', scheduleGoveeMegaMenuHydration, { once: true });\n  }\n\n  document.addEventListener('shopify:section:load', scheduleGoveeMegaMenuHydration);\n});\n\n/**\n * @param {RawPanelData} raw\n * @returns {MegaMenuPanel}\n */\nfunction adaptMegaMenuPanel(raw) {\n  const link = raw?.link || {};\n  const rawPanel = raw?.panel || {};\n\n  const id = link.handle || normalizeString(link.title || 'mega-menu');\n  const categories = (rawPanel.categories || []).map(adaptCategory).filter(Boolean);\n\n  const panel = {\n    state: 'ready',\n    id,\n    title: link.title || 'Mega Menu',\n    eyebrow: rawPanel.eyebrow || DEFAULT_EYEBROW,\n    categoryHeading: rawPanel.category_heading || DEFAULT_CATEGORY_HEADING,\n    roomHeading: rawPanel.room_heading || DEFAULT_ROOM_HEADING,\n    viewAllLabel: rawPanel.view_all_label || DEFAULT_VIEW_ALL,\n    viewAllUrl: rawPanel.view_all_url || link.url || '#',\n    roomViewAllLabel: rawPanel.room_view_all_label || DEFAULT_VIEW_ALL,\n    roomViewAllUrl: rawPanel.room_view_all_url || link.url || '#',\n    emptyTitle: rawPanel.empty_title || `${link.title || 'Navigation'} is not configured yet.`,\n    emptyCopy:\n      rawPanel.empty_copy ||\n      'Add category content through Shopify navigation or linked metaobjects to populate this mega menu.',\n    categories,\n    roomEntries: (rawPanel.room_entries || []).map(adaptImageEntry).filter(Boolean),\n  };\n\n  if (!link.handle) {\n    return { ...panel, state: 'error', emptyTitle: 'Navigation link metadata is missing.' };\n  }\n\n  if (!categories.length) {\n    return { ...panel, state: 'empty' };\n  }\n\n  return panel;\n}\n\n/**\n * @param {RawCategory} rawCategory\n * @returns {Category | null}\n */\nfunction adaptCategory(rawCategory) {\n  if (!rawCategory) return null;\n\n  const title = (rawCategory.title || '').trim();\n  const id = rawCategory.handle || normalizeString(title);\n  if (!title || !id) return null;\n\n  return {\n    id,\n    title,\n    icon: (rawCategory.icon || '').trim(),\n    badge: (rawCategory.badge || '').trim(),\n    description: (rawCategory.description || '').trim(),\n    viewAllLabel: (rawCategory.view_all_label || DEFAULT_VIEW_ALL).trim(),\n    viewAllUrl: (rawCategory.view_all_url || '#').trim(),\n    cards: (rawCategory.featured_cards || []).map(adaptCard).filter(Boolean),\n    imageEntries: [],\n  };\n}\n\n/**\n * @param {RawCard} rawCard\n * @returns {ProductCard | null}\n */\nfunction adaptCard(rawCard) {\n  const title = (rawCard?.title || '').trim();\n  const url = (rawCard?.url || '#').trim();\n  if (!title) return null;\n\n  return {\n    id: `${normalizeString(title)}-${normalizeString(url)}`,\n    title,\n    subtitle: (rawCard?.subtitle || '').trim(),\n    badge: (rawCard?.badge || '').trim(),\n    url,\n    image: {\n      src: (rawCard?.image_url || '').trim(),\n      alt: (rawCard?.image_alt || title).trim(),\n    },\n  };\n}\n\n/**\n * @param {RawImageEntry} rawEntry\n * @returns {ImageEntryCard | null}\n */\nfunction adaptImageEntry(rawEntry) {\n  const title = (rawEntry?.title || '').trim();\n  const url = (rawEntry?.url || '#').trim();\n  if (!title) return null;\n\n  return {\n    id: `${normalizeString(title)}-${normalizeString(url)}`,\n    title,\n    badge: (rawEntry?.badge || '').trim(),\n    url,\n    image: {\n      src: (rawEntry?.image_url || '').trim(),\n      alt: (rawEntry?.image_alt || title).trim(),\n    },\n  };\n}\n\n/**\n * @param {MegaMenuPanel} panel\n * @returns {string}\n */\nfunction renderMegaMenuPanel(panel) {\n  if (panel.state === 'error') {\n    return renderState(panel.emptyTitle, panel.emptyCopy, 'error');\n  }\n\n  if (panel.state === 'empty') {\n    return renderState(panel.emptyTitle, panel.emptyCopy, 'empty');\n  }\n\n  const categories = panel.categories\n    .map((category, index) => renderCategoryTrigger(category, index === 0))\n    .join('');\n\n  const panels = panel.categories.map((category, index) => renderCategoryPanel(category, index === 0)).join('');\n\n  const roomRail = renderRoomRail(panel);\n\n  return `\n    <div class=\"govee-mega-menu\" data-govee-panel-root>\n      <div class=\"govee-mega-menu__surface\">\n        <aside class=\"govee-mega-menu__sidebar\">\n          <h3 class=\"govee-mega-menu__title\">${escapeHtml(panel.categoryHeading)}</h3>\n          <div class=\"govee-mega-menu__category-list\" role=\"tablist\" aria-label=\"${escapeAttribute(panel.categoryHeading)}\">\n            ${categories}\n          </div>\n          <a class=\"govee-mega-menu__view-all govee-mega-menu__view-all--sidebar\" href=\"${escapeAttribute(panel.viewAllUrl)}\">\n            ${escapeHtml(panel.viewAllLabel)}\n          </a>\n        </aside>\n        <div class=\"govee-mega-menu__content-stage\">\n          ${panels}\n        </div>\n        ${roomRail}\n      </div>\n    </div>\n  `;\n}\n\n/**\n * @param {Category} category\n * @param {boolean} active\n * @returns {string}\n */\nfunction renderCategoryTrigger(category, active) {\n  return `\n    <button\n      type=\"button\"\n      class=\"govee-mega-menu__category-trigger\"\n      data-category-trigger=\"${escapeAttribute(category.id)}\"\n      ${active ? 'data-active' : ''}\n      aria-selected=\"${active}\"\n      role=\"tab\"\n      tabindex=\"${active ? '0' : '-1'}\"\n    >\n      <span class=\"govee-mega-menu__category-content\">\n        <span class=\"govee-mega-menu__category-title-row\">\n          ${category.icon ? `<span class=\"govee-mega-menu__category-icon\">${escapeHtml(category.icon)}</span>` : ''}\n          <span class=\"govee-mega-menu__category-title\">${escapeHtml(category.title)}</span>\n          ${category.badge ? `<span class=\"govee-mega-menu__badge\">${escapeHtml(category.badge)}</span>` : ''}\n        </span>\n      </span>\n    </button>\n  `;\n}\n\n/**\n * @param {Category} category\n * @param {boolean} active\n * @returns {string}\n */\nfunction renderCategoryPanel(category, active) {\n  const cards = category.cards.slice(0, 4);\n\n  return `\n    <div\n      class=\"govee-mega-menu__content-panel ${active ? 'is-active' : ''}\"\n      data-category-panel=\"${escapeAttribute(category.id)}\"\n      aria-hidden=\"${!active}\"\n    >\n      <section class=\"govee-mega-menu__feature-rail\">\n        <p class=\"govee-mega-menu__section-label govee-mega-menu__section-label--subtle\">Recommended</p>\n        ${\n          cards.length\n            ? `<div class=\"govee-mega-menu__cards-grid\">${cards.map(renderProductCard).join('')}</div>`\n            : renderInlineEmpty('No featured cards yet', 'Add curated products or collection links for this category.')\n        }\n        <a class=\"govee-mega-menu__section-link govee-mega-menu__section-link--bottom\" href=\"${escapeAttribute(category.viewAllUrl)}\">\n          ${escapeHtml(category.viewAllLabel)}\n        </a>\n      </section>\n    </div>\n  `;\n}\n\n/**\n * @param {MegaMenuPanel} panel\n * @returns {string}\n */\nfunction renderRoomRail(panel) {\n  const imageEntries = panel.roomEntries.slice(0, 6);\n\n  return `\n    <section class=\"govee-mega-menu__room-rail\">\n      <div class=\"govee-mega-menu__section-header\">\n        <h4 class=\"govee-mega-menu__section-title\">${escapeHtml(panel.roomHeading)}</h4>\n      </div>\n      ${\n        imageEntries.length\n          ? `<div class=\"govee-mega-menu__image-grid\">${imageEntries.map(renderImageEntryCard).join('')}</div>`\n          : renderInlineEmpty('No visual entry cards yet', 'Bind a room panel object or add a linked rooms menu for this navigation item.')\n      }\n    </section>\n  `;\n}\n\n/**\n * @param {ProductCard} card\n * @returns {string}\n */\nfunction renderProductCard(card) {\n  return `\n    <a class=\"govee-product-card govee-media-card\" href=\"${escapeAttribute(card.url)}\" data-media-card>\n      <span class=\"govee-product-card__media\">\n        <span class=\"govee-product-card__media-frame\">\n          ${card.image.src ? `<img class=\"govee-media-card__image\" src=\"${escapeAttribute(card.image.src)}\" alt=\"${escapeAttribute(card.image.alt)}\" loading=\"lazy\">` : ''}\n          <span class=\"govee-media-card__fallback\">${escapeHtml(card.title)}</span>\n        </span>\n      </span>\n      <span class=\"govee-product-card__body\">\n        <span class=\"govee-product-card__title-row\">\n          ${card.badge ? `<span class=\"govee-mega-menu__badge govee-mega-menu__badge--inline\">${escapeHtml(card.badge)}</span>` : ''}\n          <span class=\"govee-product-card__title\">${escapeHtml(card.title)}</span>\n        </span>\n        ${card.subtitle ? `<span class=\"govee-product-card__subtitle\">${escapeHtml(card.subtitle)}</span>` : ''}\n      </span>\n    </a>\n  `;\n}\n\n/**\n * @param {ImageEntryCard} entry\n * @returns {string}\n */\nfunction renderImageEntryCard(entry) {\n  return `\n    <a class=\"govee-room-card govee-media-card\" href=\"${escapeAttribute(entry.url)}\" data-media-card>\n      <span class=\"govee-room-card__visual\">\n        ${entry.image.src ? `<img class=\"govee-media-card__image\" src=\"${escapeAttribute(entry.image.src)}\" alt=\"${escapeAttribute(entry.image.alt)}\" loading=\"lazy\">` : ''}\n        <span class=\"govee-media-card__fallback\">${escapeHtml(entry.title)}</span>\n        <span class=\"govee-room-card__overlay\"></span>\n      </span>\n      <span class=\"govee-room-card__caption\">\n        <span class=\"govee-room-card__title\">${escapeHtml(entry.title)}</span>\n      </span>\n    </a>\n  `;\n}\n\n/**\n * @param {string} title\n * @param {string} copy\n * @param {'empty' | 'error'} tone\n * @returns {string}\n */\nfunction renderState(title, copy, tone) {\n  return `\n    <div class=\"govee-mega-menu__state govee-mega-menu__state--${escapeAttribute(tone)}\">\n      <p class=\"govee-mega-menu__state-kicker\">${tone === 'error' ? 'Config error' : 'No data yet'}</p>\n      <h3 class=\"govee-mega-menu__state-title\">${escapeHtml(title)}</h3>\n      <p class=\"govee-mega-menu__state-copy\">${escapeHtml(copy)}</p>\n    </div>\n  `;\n}\n\n/**\n * @param {string} title\n * @param {string} copy\n * @returns {string}\n */\nfunction renderInlineEmpty(title, copy) {\n  return `\n    <div class=\"govee-mega-menu__inline-empty\">\n      <p class=\"govee-mega-menu__inline-empty-title\">${escapeHtml(title)}</p>\n      <p class=\"govee-mega-menu__inline-empty-copy\">${escapeHtml(copy)}</p>\n    </div>\n  `;\n}\n\n/**\n * @param {string} value\n * @returns {string}\n */\nfunction escapeHtml(value) {\n  return value\n    .replaceAll('&', '&amp;')\n    .replaceAll('<', '&lt;')\n    .replaceAll('>', '&gt;')\n    .replaceAll('\"', '&quot;')\n    .replaceAll(\"'\", '&#39;');\n}\n\n/**\n * @param {string} value\n * @returns {string}\n */\nfunction escapeAttribute(value) {\n  return escapeHtml(value || '');\n}\n"],
  "mappings": "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",
  "names": []
}
